; LLVM IR from aws/s2n-tls :: tests/unit (s2n_crl_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_debug_info = type { ptr, ptr }
%struct.crl_lookup_data = type { [5 x ptr], [5 x ptr], 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_x509_trust_store = type { ptr, i8 }
%struct.s2n_stuffer = type { %struct.s2n_blob, i32, i32, i32, i8 }
%struct.s2n_blob = type { ptr, i32, i32, i8 }
%struct.s2n_result = type { i32 }
%struct.s2n_pkey = type { ptr, ptr, ptr, ptr, ptr, ptr }
%struct.s2n_test_io_pair = type { i32, i32 }
%struct.s2n_crl_lookup = type { i32, ptr, i16, ptr }
%struct.s2n_crl = type { ptr }

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

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

582:                                              ; preds = %2
  br label %583

583:                                              ; preds = %582
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %584 = load ptr, ptr @stdout, align 8, !tbaa !9
  %585 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %584, ptr noundef @.str, ptr noundef @.str.1) #10
  %586 = load ptr, ptr @stdout, align 8, !tbaa !9
  %587 = call i32 @fflush(ptr noundef %586)
  br label %588

588:                                              ; preds = %583
  %589 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext true)
  %590 = icmp eq i32 %589, -1
  br i1 %590, label %591, label %642

591:                                              ; preds = %588
  br label %592

592:                                              ; preds = %591
  br label %593

593:                                              ; preds = %592
  call void @llvm.lifetime.start.p0(i64 4, ptr %6) #10
  %594 = call ptr @__errno_location() #11
  %595 = load i32, ptr %594, align 4, !tbaa !5
  store i32 %595, ptr %6, align 4, !tbaa !5
  %596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %597 = call i32 @s2n_print_stacktrace(ptr noundef %596)
  %598 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %599 = trunc i8 %598 to i1
  br i1 %599, label %600, label %622

600:                                              ; preds = %593
  %601 = load ptr, ptr @stderr, align 8, !tbaa !9
  %602 = call i32 @fileno(ptr noundef %601) #10
  %603 = call i32 @isatty(i32 noundef %602) #10
  %604 = icmp ne i32 %603, 0
  br i1 %604, label %605, label %622

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

622:                                              ; preds = %600, %593
  %623 = load i32, ptr %6, align 4, !tbaa !5
  %624 = call ptr @__errno_location() #11
  store i32 %623, ptr %624, align 4, !tbaa !5
  %625 = load ptr, ptr @stderr, align 8, !tbaa !9
  %626 = load i32, ptr @test_count, align 4, !tbaa !5
  %627 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %628 = load i32, ptr %627, align 4, !tbaa !5
  %629 = call ptr @s2n_strerror(i32 noundef %628, ptr noundef @.str.4)
  %630 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %631 = load i32, ptr %630, align 4, !tbaa !5
  %632 = call ptr @s2n_strerror_debug(i32 noundef %631, ptr noundef @.str.4)
  %633 = call ptr @__errno_location() #11
  %634 = load i32, ptr %633, align 4, !tbaa !5
  %635 = call ptr @strerror(i32 noundef %634) #10
  %636 = call ptr @__errno_location() #11
  %637 = load i32, ptr %636, align 4, !tbaa !5
  %638 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %625, ptr noundef @.str.5, i32 noundef %626, ptr noundef @.str.3, ptr noundef @.str.1, i32 noundef 92, ptr noundef %629, ptr noundef %632, ptr noundef %635, i32 noundef %637) #10
  br label %639

639:                                              ; preds = %622, %605
  call void @llvm.lifetime.end.p0(i64 4, ptr %6) #10
  br label %640

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

641:                                              ; No predecessors!
  br label %642

642:                                              ; preds = %641, %588
  br label %643

643:                                              ; preds = %642
  br label %644

644:                                              ; preds = %643
  %645 = load i32, ptr @test_count, align 4, !tbaa !5
  %646 = add nsw i32 %645, 1
  store i32 %646, ptr @test_count, align 4, !tbaa !5
  %647 = call i32 @s2n_enable_atexit()
  %648 = icmp eq i32 %647, -1
  br i1 %648, label %649, label %700

649:                                              ; preds = %644
  br label %650

650:                                              ; preds = %649
  br label %651

651:                                              ; preds = %650
  call void @llvm.lifetime.start.p0(i64 4, ptr %7) #10
  %652 = call ptr @__errno_location() #11
  %653 = load i32, ptr %652, align 4, !tbaa !5
  store i32 %653, ptr %7, align 4, !tbaa !5
  %654 = load ptr, ptr @stderr, align 8, !tbaa !9
  %655 = call i32 @s2n_print_stacktrace(ptr noundef %654)
  %656 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %657 = trunc i8 %656 to i1
  br i1 %657, label %658, label %680

658:                                              ; preds = %651
  %659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %660 = call i32 @fileno(ptr noundef %659) #10
  %661 = call i32 @isatty(i32 noundef %660) #10
  %662 = icmp ne i32 %661, 0
  br i1 %662, label %663, label %680

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

680:                                              ; preds = %658, %651
  %681 = load i32, ptr %7, align 4, !tbaa !5
  %682 = call ptr @__errno_location() #11
  store i32 %681, ptr %682, align 4, !tbaa !5
  %683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %684 = load i32, ptr @test_count, align 4, !tbaa !5
  %685 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %686 = load i32, ptr %685, align 4, !tbaa !5
  %687 = call ptr @s2n_strerror(i32 noundef %686, ptr noundef @.str.4)
  %688 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %689 = load i32, ptr %688, align 4, !tbaa !5
  %690 = call ptr @s2n_strerror_debug(i32 noundef %689, ptr noundef @.str.4)
  %691 = call ptr @__errno_location() #11
  %692 = load i32, ptr %691, align 4, !tbaa !5
  %693 = call ptr @strerror(i32 noundef %692) #10
  %694 = call ptr @__errno_location() #11
  %695 = load i32, ptr %694, align 4, !tbaa !5
  %696 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %683, ptr noundef @.str.5, i32 noundef %684, ptr noundef @.str.6, ptr noundef @.str.1, i32 noundef 92, ptr noundef %687, ptr noundef %690, ptr noundef %693, i32 noundef %695) #10
  br label %697

697:                                              ; preds = %680, %663
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #10
  br label %698

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

699:                                              ; No predecessors!
  br label %700

700:                                              ; preds = %699, %644
  br label %701

701:                                              ; preds = %700
  br label %702

702:                                              ; preds = %701
  br label %703

703:                                              ; preds = %702
  %704 = call i32 @s2n_init()
  %705 = icmp eq i32 %704, -1
  br i1 %705, label %706, label %757

706:                                              ; preds = %703
  br label %707

707:                                              ; preds = %706
  br label %708

708:                                              ; preds = %707
  call void @llvm.lifetime.start.p0(i64 4, ptr %8) #10
  %709 = call ptr @__errno_location() #11
  %710 = load i32, ptr %709, align 4, !tbaa !5
  store i32 %710, ptr %8, align 4, !tbaa !5
  %711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %712 = call i32 @s2n_print_stacktrace(ptr noundef %711)
  %713 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %714 = trunc i8 %713 to i1
  br i1 %714, label %715, label %737

715:                                              ; preds = %708
  %716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %717 = call i32 @fileno(ptr noundef %716) #10
  %718 = call i32 @isatty(i32 noundef %717) #10
  %719 = icmp ne i32 %718, 0
  br i1 %719, label %720, label %737

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

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

754:                                              ; preds = %737, %720
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #10
  br label %755

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

756:                                              ; No predecessors!
  br label %757

757:                                              ; preds = %756, %703
  br label %758

758:                                              ; preds = %757
  br label %759

759:                                              ; preds = %758
  call void @llvm.lifetime.start.p0(i64 8, ptr %9) #10
  %760 = call ptr @s2n_crl_new()
  store ptr %760, ptr %9, align 8, !tbaa !9
  br label %761

761:                                              ; preds = %759
  %762 = load i32, ptr @test_count, align 4, !tbaa !5
  %763 = add nsw i32 %762, 1
  store i32 %763, ptr @test_count, align 4, !tbaa !5
  %764 = load ptr, ptr %9, align 8, !tbaa !9
  %765 = icmp eq ptr %764, null
  br i1 %765, label %766, label %819

766:                                              ; preds = %761
  br label %767

767:                                              ; preds = %766
  br label %768

768:                                              ; preds = %767
  call void @llvm.lifetime.start.p0(i64 4, ptr %10) #10
  %769 = call ptr @__errno_location() #11
  %770 = load i32, ptr %769, align 4, !tbaa !5
  store i32 %770, ptr %10, align 4, !tbaa !5
  %771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %772 = call i32 @s2n_print_stacktrace(ptr noundef %771)
  %773 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %774 = trunc i8 %773 to i1
  br i1 %774, label %775, label %797

775:                                              ; preds = %768
  %776 = load ptr, ptr @stderr, align 8, !tbaa !9
  %777 = call i32 @fileno(ptr noundef %776) #10
  %778 = call i32 @isatty(i32 noundef %777) #10
  %779 = icmp ne i32 %778, 0
  br i1 %779, label %780, label %797

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

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

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

815:                                              ; preds = %814
  br label %816

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

817:                                              ; No predecessors!
  br label %818

818:                                              ; preds = %817
  br label %819

819:                                              ; preds = %818, %761
  br label %820

820:                                              ; preds = %819
  br label %821

821:                                              ; preds = %820
  br label %822

822:                                              ; preds = %821
  %823 = load i32, ptr @test_count, align 4, !tbaa !5
  %824 = add nsw i32 %823, 1
  store i32 %824, ptr @test_count, align 4, !tbaa !5
  %825 = call i32 @s2n_crl_free(ptr noundef %9)
  %826 = icmp eq i32 %825, -1
  br i1 %826, label %827, label %880

827:                                              ; preds = %822
  br label %828

828:                                              ; preds = %827
  br label %829

829:                                              ; preds = %828
  call void @llvm.lifetime.start.p0(i64 4, ptr %11) #10
  %830 = call ptr @__errno_location() #11
  %831 = load i32, ptr %830, align 4, !tbaa !5
  store i32 %831, ptr %11, align 4, !tbaa !5
  %832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %833 = call i32 @s2n_print_stacktrace(ptr noundef %832)
  %834 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %835 = trunc i8 %834 to i1
  br i1 %835, label %836, label %858

836:                                              ; preds = %829
  %837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %838 = call i32 @fileno(ptr noundef %837) #10
  %839 = call i32 @isatty(i32 noundef %838) #10
  %840 = icmp ne i32 %839, 0
  br i1 %840, label %841, label %858

841:                                              ; preds = %836
  %842 = load i32, ptr %11, align 4, !tbaa !5
  %843 = call ptr @__errno_location() #11
  store i32 %842, ptr %843, align 4, !tbaa !5
  %844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %845 = load i32, ptr @test_count, align 4, !tbaa !5
  %846 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %847 = load i32, ptr %846, align 4, !tbaa !5
  %848 = call ptr @s2n_strerror(i32 noundef %847, ptr noundef @.str.4)
  %849 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %850 = load i32, ptr %849, align 4, !tbaa !5
  %851 = call ptr @s2n_strerror_debug(i32 noundef %850, ptr noundef @.str.4)
  %852 = call ptr @__errno_location() #11
  %853 = load i32, ptr %852, align 4, !tbaa !5
  %854 = call ptr @strerror(i32 noundef %853) #10
  %855 = call ptr @__errno_location() #11
  %856 = load i32, ptr %855, align 4, !tbaa !5
  %857 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %844, ptr noundef @.str.2, i32 noundef %845, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 99, ptr noundef %848, ptr noundef %851, ptr noundef %854, i32 noundef %856) #10
  br label %875

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

875:                                              ; preds = %858, %841
  call void @llvm.lifetime.end.p0(i64 4, ptr %11) #10
  br label %876

876:                                              ; preds = %875
  br label %877

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

878:                                              ; No predecessors!
  br label %879

879:                                              ; preds = %878
  br label %880

880:                                              ; preds = %879, %822
  br label %881

881:                                              ; preds = %880
  br label %882

882:                                              ; preds = %881
  br label %883

883:                                              ; preds = %882
  %884 = load i32, ptr @test_count, align 4, !tbaa !5
  %885 = add nsw i32 %884, 1
  store i32 %885, ptr @test_count, align 4, !tbaa !5
  %886 = load ptr, ptr %9, align 8, !tbaa !9
  %887 = icmp eq ptr %886, null
  br i1 %887, label %941, label %888

888:                                              ; preds = %883
  br label %889

889:                                              ; preds = %888
  br label %890

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

897:                                              ; preds = %890
  %898 = load ptr, ptr @stderr, align 8, !tbaa !9
  %899 = call i32 @fileno(ptr noundef %898) #10
  %900 = call i32 @isatty(i32 noundef %899) #10
  %901 = icmp ne i32 %900, 0
  br i1 %901, label %902, label %919

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

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

936:                                              ; preds = %919, %902
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #10
  br label %937

937:                                              ; preds = %936
  br label %938

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

939:                                              ; No predecessors!
  br label %940

940:                                              ; preds = %939
  br label %941

941:                                              ; preds = %940, %883
  br label %942

942:                                              ; preds = %941
  br label %943

943:                                              ; preds = %942
  br label %944

944:                                              ; preds = %943
  %945 = load i32, ptr @test_count, align 4, !tbaa !5
  %946 = add nsw i32 %945, 1
  store i32 %946, ptr @test_count, align 4, !tbaa !5
  %947 = call i32 @s2n_crl_free(ptr noundef %9)
  %948 = icmp eq i32 %947, -1
  br i1 %948, label %949, label %1002

949:                                              ; preds = %944
  br label %950

950:                                              ; preds = %949
  br label %951

951:                                              ; preds = %950
  call void @llvm.lifetime.start.p0(i64 4, ptr %13) #10
  %952 = call ptr @__errno_location() #11
  %953 = load i32, ptr %952, align 4, !tbaa !5
  store i32 %953, ptr %13, align 4, !tbaa !5
  %954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %955 = call i32 @s2n_print_stacktrace(ptr noundef %954)
  %956 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %957 = trunc i8 %956 to i1
  br i1 %957, label %958, label %980

958:                                              ; preds = %951
  %959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %960 = call i32 @fileno(ptr noundef %959) #10
  %961 = call i32 @isatty(i32 noundef %960) #10
  %962 = icmp ne i32 %961, 0
  br i1 %962, label %963, label %980

963:                                              ; preds = %958
  %964 = load i32, ptr %13, align 4, !tbaa !5
  %965 = call ptr @__errno_location() #11
  store i32 %964, ptr %965, align 4, !tbaa !5
  %966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %967 = load i32, ptr @test_count, align 4, !tbaa !5
  %968 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %969 = load i32, ptr %968, align 4, !tbaa !5
  %970 = call ptr @s2n_strerror(i32 noundef %969, ptr noundef @.str.4)
  %971 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %972 = load i32, ptr %971, align 4, !tbaa !5
  %973 = call ptr @s2n_strerror_debug(i32 noundef %972, ptr noundef @.str.4)
  %974 = call ptr @__errno_location() #11
  %975 = load i32, ptr %974, align 4, !tbaa !5
  %976 = call ptr @strerror(i32 noundef %975) #10
  %977 = call ptr @__errno_location() #11
  %978 = load i32, ptr %977, align 4, !tbaa !5
  %979 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %966, ptr noundef @.str.2, i32 noundef %967, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 103, ptr noundef %970, ptr noundef %973, ptr noundef %976, i32 noundef %978) #10
  br label %997

980:                                              ; preds = %958, %951
  %981 = load i32, ptr %13, align 4, !tbaa !5
  %982 = call ptr @__errno_location() #11
  store i32 %981, ptr %982, align 4, !tbaa !5
  %983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %984 = load i32, ptr @test_count, align 4, !tbaa !5
  %985 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %986 = load i32, ptr %985, align 4, !tbaa !5
  %987 = call ptr @s2n_strerror(i32 noundef %986, ptr noundef @.str.4)
  %988 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %989 = load i32, ptr %988, align 4, !tbaa !5
  %990 = call ptr @s2n_strerror_debug(i32 noundef %989, ptr noundef @.str.4)
  %991 = call ptr @__errno_location() #11
  %992 = load i32, ptr %991, align 4, !tbaa !5
  %993 = call ptr @strerror(i32 noundef %992) #10
  %994 = call ptr @__errno_location() #11
  %995 = load i32, ptr %994, align 4, !tbaa !5
  %996 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %983, ptr noundef @.str.5, i32 noundef %984, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 103, ptr noundef %987, ptr noundef %990, ptr noundef %993, i32 noundef %995) #10
  br label %997

997:                                              ; preds = %980, %963
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #10
  br label %998

998:                                              ; preds = %997
  br label %999

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

1000:                                             ; No predecessors!
  br label %1001

1001:                                             ; preds = %1000
  br label %1002

1002:                                             ; preds = %1001, %944
  br label %1003

1003:                                             ; preds = %1002
  br label %1004

1004:                                             ; preds = %1003
  br label %1005

1005:                                             ; preds = %1004
  %1006 = load i32, ptr @test_count, align 4, !tbaa !5
  %1007 = add nsw i32 %1006, 1
  store i32 %1007, ptr @test_count, align 4, !tbaa !5
  %1008 = load ptr, ptr %9, align 8, !tbaa !9
  %1009 = icmp eq ptr %1008, null
  br i1 %1009, label %1063, label %1010

1010:                                             ; preds = %1005
  br label %1011

1011:                                             ; preds = %1010
  br label %1012

1012:                                             ; preds = %1011
  call void @llvm.lifetime.start.p0(i64 4, ptr %14) #10
  %1013 = call ptr @__errno_location() #11
  %1014 = load i32, ptr %1013, align 4, !tbaa !5
  store i32 %1014, ptr %14, align 4, !tbaa !5
  %1015 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1016 = call i32 @s2n_print_stacktrace(ptr noundef %1015)
  %1017 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1018 = trunc i8 %1017 to i1
  br i1 %1018, label %1019, label %1041

1019:                                             ; preds = %1012
  %1020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1021 = call i32 @fileno(ptr noundef %1020) #10
  %1022 = call i32 @isatty(i32 noundef %1021) #10
  %1023 = icmp ne i32 %1022, 0
  br i1 %1023, label %1024, label %1041

1024:                                             ; preds = %1019
  %1025 = load i32, ptr %14, align 4, !tbaa !5
  %1026 = call ptr @__errno_location() #11
  store i32 %1025, ptr %1026, align 4, !tbaa !5
  %1027 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1028 = load i32, ptr @test_count, align 4, !tbaa !5
  %1029 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1030 = load i32, ptr %1029, align 4, !tbaa !5
  %1031 = call ptr @s2n_strerror(i32 noundef %1030, ptr noundef @.str.4)
  %1032 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1033 = load i32, ptr %1032, align 4, !tbaa !5
  %1034 = call ptr @s2n_strerror_debug(i32 noundef %1033, ptr noundef @.str.4)
  %1035 = call ptr @__errno_location() #11
  %1036 = load i32, ptr %1035, align 4, !tbaa !5
  %1037 = call ptr @strerror(i32 noundef %1036) #10
  %1038 = call ptr @__errno_location() #11
  %1039 = load i32, ptr %1038, align 4, !tbaa !5
  %1040 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1027, ptr noundef @.str.2, i32 noundef %1028, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 104, ptr noundef %1031, ptr noundef %1034, ptr noundef %1037, i32 noundef %1039) #10
  br label %1058

1041:                                             ; preds = %1019, %1012
  %1042 = load i32, ptr %14, align 4, !tbaa !5
  %1043 = call ptr @__errno_location() #11
  store i32 %1042, ptr %1043, align 4, !tbaa !5
  %1044 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1045 = load i32, ptr @test_count, align 4, !tbaa !5
  %1046 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1047 = load i32, ptr %1046, align 4, !tbaa !5
  %1048 = call ptr @s2n_strerror(i32 noundef %1047, ptr noundef @.str.4)
  %1049 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1050 = load i32, ptr %1049, align 4, !tbaa !5
  %1051 = call ptr @s2n_strerror_debug(i32 noundef %1050, ptr noundef @.str.4)
  %1052 = call ptr @__errno_location() #11
  %1053 = load i32, ptr %1052, align 4, !tbaa !5
  %1054 = call ptr @strerror(i32 noundef %1053) #10
  %1055 = call ptr @__errno_location() #11
  %1056 = load i32, ptr %1055, align 4, !tbaa !5
  %1057 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1044, ptr noundef @.str.5, i32 noundef %1045, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 104, ptr noundef %1048, ptr noundef %1051, ptr noundef %1054, i32 noundef %1056) #10
  br label %1058

1058:                                             ; preds = %1041, %1024
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #10
  br label %1059

1059:                                             ; preds = %1058
  br label %1060

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

1061:                                             ; No predecessors!
  br label %1062

1062:                                             ; preds = %1061
  br label %1063

1063:                                             ; preds = %1062, %1005
  br label %1064

1064:                                             ; preds = %1063
  br label %1065

1065:                                             ; preds = %1064
  call void @llvm.lifetime.end.p0(i64 8, ptr %9) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %15) #10
  %1066 = call ptr @load_test_crl(ptr noundef @.str.11)
  store ptr %1066, ptr %15, align 8, !tbaa !9
  br label %1067

1067:                                             ; preds = %1065
  %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 = load ptr, ptr %15, align 8, !tbaa !9
  %1071 = icmp eq ptr %1070, null
  br i1 %1071, label %1072, label %1125

1072:                                             ; preds = %1067
  br label %1073

1073:                                             ; preds = %1072
  br label %1074

1074:                                             ; preds = %1073
  call void @llvm.lifetime.start.p0(i64 4, ptr %16) #10
  %1075 = call ptr @__errno_location() #11
  %1076 = load i32, ptr %1075, align 4, !tbaa !5
  store i32 %1076, ptr %16, align 4, !tbaa !5
  %1077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1078 = call i32 @s2n_print_stacktrace(ptr noundef %1077)
  %1079 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1080 = trunc i8 %1079 to i1
  br i1 %1080, label %1081, label %1103

1081:                                             ; preds = %1074
  %1082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1083 = call i32 @fileno(ptr noundef %1082) #10
  %1084 = call i32 @isatty(i32 noundef %1083) #10
  %1085 = icmp ne i32 %1084, 0
  br i1 %1085, label %1086, label %1103

1086:                                             ; preds = %1081
  %1087 = load i32, ptr %16, align 4, !tbaa !5
  %1088 = call ptr @__errno_location() #11
  store i32 %1087, ptr %1088, align 4, !tbaa !5
  %1089 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1090 = load i32, ptr @test_count, align 4, !tbaa !5
  %1091 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1092 = load i32, ptr %1091, align 4, !tbaa !5
  %1093 = call ptr @s2n_strerror(i32 noundef %1092, ptr noundef @.str.4)
  %1094 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1095 = load i32, ptr %1094, align 4, !tbaa !5
  %1096 = call ptr @s2n_strerror_debug(i32 noundef %1095, ptr noundef @.str.4)
  %1097 = call ptr @__errno_location() #11
  %1098 = load i32, ptr %1097, align 4, !tbaa !5
  %1099 = call ptr @strerror(i32 noundef %1098) #10
  %1100 = call ptr @__errno_location() #11
  %1101 = load i32, ptr %1100, align 4, !tbaa !5
  %1102 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1089, ptr noundef @.str.2, i32 noundef %1090, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 110, ptr noundef %1093, ptr noundef %1096, ptr noundef %1099, i32 noundef %1101) #10
  br label %1120

1103:                                             ; preds = %1081, %1074
  %1104 = load i32, ptr %16, align 4, !tbaa !5
  %1105 = call ptr @__errno_location() #11
  store i32 %1104, ptr %1105, align 4, !tbaa !5
  %1106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1107 = load i32, ptr @test_count, align 4, !tbaa !5
  %1108 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1109 = load i32, ptr %1108, align 4, !tbaa !5
  %1110 = call ptr @s2n_strerror(i32 noundef %1109, ptr noundef @.str.4)
  %1111 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1112 = load i32, ptr %1111, align 4, !tbaa !5
  %1113 = call ptr @s2n_strerror_debug(i32 noundef %1112, ptr noundef @.str.4)
  %1114 = call ptr @__errno_location() #11
  %1115 = load i32, ptr %1114, align 4, !tbaa !5
  %1116 = call ptr @strerror(i32 noundef %1115) #10
  %1117 = call ptr @__errno_location() #11
  %1118 = load i32, ptr %1117, align 4, !tbaa !5
  %1119 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1106, ptr noundef @.str.5, i32 noundef %1107, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 110, ptr noundef %1110, ptr noundef %1113, ptr noundef %1116, i32 noundef %1118) #10
  br label %1120

1120:                                             ; preds = %1103, %1086
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #10
  br label %1121

1121:                                             ; preds = %1120
  br label %1122

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

1123:                                             ; No predecessors!
  br label %1124

1124:                                             ; preds = %1123
  br label %1125

1125:                                             ; preds = %1124, %1067
  br label %1126

1126:                                             ; preds = %1125
  br label %1127

1127:                                             ; preds = %1126
  br label %1128

1128:                                             ; preds = %1127
  %1129 = load i32, ptr @test_count, align 4, !tbaa !5
  %1130 = add nsw i32 %1129, 1
  store i32 %1130, ptr @test_count, align 4, !tbaa !5
  %1131 = load ptr, ptr %15, align 8, !tbaa !9
  %1132 = getelementptr inbounds %struct.s2n_crl, ptr %1131, i32 0, i32 0
  %1133 = load ptr, ptr %1132, align 8, !tbaa !15
  %1134 = icmp eq ptr %1133, null
  br i1 %1134, label %1135, label %1188

1135:                                             ; preds = %1128
  br label %1136

1136:                                             ; preds = %1135
  br label %1137

1137:                                             ; preds = %1136
  call void @llvm.lifetime.start.p0(i64 4, ptr %17) #10
  %1138 = call ptr @__errno_location() #11
  %1139 = load i32, ptr %1138, align 4, !tbaa !5
  store i32 %1139, ptr %17, align 4, !tbaa !5
  %1140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1141 = call i32 @s2n_print_stacktrace(ptr noundef %1140)
  %1142 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1143 = trunc i8 %1142 to i1
  br i1 %1143, label %1144, label %1166

1144:                                             ; preds = %1137
  %1145 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1146 = call i32 @fileno(ptr noundef %1145) #10
  %1147 = call i32 @isatty(i32 noundef %1146) #10
  %1148 = icmp ne i32 %1147, 0
  br i1 %1148, label %1149, label %1166

1149:                                             ; preds = %1144
  %1150 = load i32, ptr %17, align 4, !tbaa !5
  %1151 = call ptr @__errno_location() #11
  store i32 %1150, ptr %1151, align 4, !tbaa !5
  %1152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1153 = load i32, ptr @test_count, align 4, !tbaa !5
  %1154 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1155 = load i32, ptr %1154, align 4, !tbaa !5
  %1156 = call ptr @s2n_strerror(i32 noundef %1155, ptr noundef @.str.4)
  %1157 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1158 = load i32, ptr %1157, align 4, !tbaa !5
  %1159 = call ptr @s2n_strerror_debug(i32 noundef %1158, ptr noundef @.str.4)
  %1160 = call ptr @__errno_location() #11
  %1161 = load i32, ptr %1160, align 4, !tbaa !5
  %1162 = call ptr @strerror(i32 noundef %1161) #10
  %1163 = call ptr @__errno_location() #11
  %1164 = load i32, ptr %1163, align 4, !tbaa !5
  %1165 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1152, ptr noundef @.str.2, i32 noundef %1153, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 111, ptr noundef %1156, ptr noundef %1159, ptr noundef %1162, i32 noundef %1164) #10
  br label %1183

1166:                                             ; preds = %1144, %1137
  %1167 = load i32, ptr %17, align 4, !tbaa !5
  %1168 = call ptr @__errno_location() #11
  store i32 %1167, ptr %1168, align 4, !tbaa !5
  %1169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1170 = load i32, ptr @test_count, align 4, !tbaa !5
  %1171 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1172 = load i32, ptr %1171, align 4, !tbaa !5
  %1173 = call ptr @s2n_strerror(i32 noundef %1172, ptr noundef @.str.4)
  %1174 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1175 = load i32, ptr %1174, align 4, !tbaa !5
  %1176 = call ptr @s2n_strerror_debug(i32 noundef %1175, ptr noundef @.str.4)
  %1177 = call ptr @__errno_location() #11
  %1178 = load i32, ptr %1177, align 4, !tbaa !5
  %1179 = call ptr @strerror(i32 noundef %1178) #10
  %1180 = call ptr @__errno_location() #11
  %1181 = load i32, ptr %1180, align 4, !tbaa !5
  %1182 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1169, ptr noundef @.str.5, i32 noundef %1170, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 111, ptr noundef %1173, ptr noundef %1176, ptr noundef %1179, i32 noundef %1181) #10
  br label %1183

1183:                                             ; preds = %1166, %1149
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #10
  br label %1184

1184:                                             ; preds = %1183
  br label %1185

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

1186:                                             ; No predecessors!
  br label %1187

1187:                                             ; preds = %1186
  br label %1188

1188:                                             ; preds = %1187, %1128
  br label %1189

1189:                                             ; preds = %1188
  br label %1190

1190:                                             ; preds = %1189
  br label %1191

1191:                                             ; preds = %1190
  %1192 = load i32, ptr @test_count, align 4, !tbaa !5
  %1193 = add nsw i32 %1192, 1
  store i32 %1193, ptr @test_count, align 4, !tbaa !5
  %1194 = call i32 @s2n_crl_free(ptr noundef %15)
  %1195 = icmp eq i32 %1194, -1
  br i1 %1195, label %1196, label %1249

1196:                                             ; preds = %1191
  br label %1197

1197:                                             ; preds = %1196
  br label %1198

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

1205:                                             ; preds = %1198
  %1206 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1207 = call i32 @fileno(ptr noundef %1206) #10
  %1208 = call i32 @isatty(i32 noundef %1207) #10
  %1209 = icmp ne i32 %1208, 0
  br i1 %1209, label %1210, label %1227

1210:                                             ; preds = %1205
  %1211 = load i32, ptr %18, align 4, !tbaa !5
  %1212 = call ptr @__errno_location() #11
  store i32 %1211, ptr %1212, align 4, !tbaa !5
  %1213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1214 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %1216, ptr noundef @.str.4)
  %1218 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1219 = load i32, ptr %1218, align 4, !tbaa !5
  %1220 = call ptr @s2n_strerror_debug(i32 noundef %1219, ptr noundef @.str.4)
  %1221 = call ptr @__errno_location() #11
  %1222 = load i32, ptr %1221, align 4, !tbaa !5
  %1223 = call ptr @strerror(i32 noundef %1222) #10
  %1224 = call ptr @__errno_location() #11
  %1225 = load i32, ptr %1224, align 4, !tbaa !5
  %1226 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1213, ptr noundef @.str.2, i32 noundef %1214, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 113, ptr noundef %1217, ptr noundef %1220, ptr noundef %1223, i32 noundef %1225) #10
  br label %1244

1227:                                             ; preds = %1205, %1198
  %1228 = load i32, ptr %18, align 4, !tbaa !5
  %1229 = call ptr @__errno_location() #11
  store i32 %1228, ptr %1229, align 4, !tbaa !5
  %1230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1231 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %1233, ptr noundef @.str.4)
  %1235 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1236 = load i32, ptr %1235, align 4, !tbaa !5
  %1237 = call ptr @s2n_strerror_debug(i32 noundef %1236, ptr noundef @.str.4)
  %1238 = call ptr @__errno_location() #11
  %1239 = load i32, ptr %1238, align 4, !tbaa !5
  %1240 = call ptr @strerror(i32 noundef %1239) #10
  %1241 = call ptr @__errno_location() #11
  %1242 = load i32, ptr %1241, align 4, !tbaa !5
  %1243 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1230, ptr noundef @.str.5, i32 noundef %1231, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 113, ptr noundef %1234, ptr noundef %1237, ptr noundef %1240, i32 noundef %1242) #10
  br label %1244

1244:                                             ; preds = %1227, %1210
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #10
  br label %1245

1245:                                             ; preds = %1244
  br label %1246

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

1247:                                             ; No predecessors!
  br label %1248

1248:                                             ; preds = %1247
  br label %1249

1249:                                             ; preds = %1248, %1191
  br label %1250

1250:                                             ; preds = %1249
  br label %1251

1251:                                             ; preds = %1250
  br label %1252

1252:                                             ; preds = %1251
  %1253 = load i32, ptr @test_count, align 4, !tbaa !5
  %1254 = add nsw i32 %1253, 1
  store i32 %1254, ptr @test_count, align 4, !tbaa !5
  %1255 = load ptr, ptr %15, align 8, !tbaa !9
  %1256 = icmp eq ptr %1255, null
  br i1 %1256, label %1310, label %1257

1257:                                             ; preds = %1252
  br label %1258

1258:                                             ; preds = %1257
  br label %1259

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

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

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

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

1305:                                             ; preds = %1288, %1271
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #10
  br label %1306

1306:                                             ; preds = %1305
  br label %1307

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

1308:                                             ; No predecessors!
  br label %1309

1309:                                             ; preds = %1308
  br label %1310

1310:                                             ; preds = %1309, %1252
  br label %1311

1311:                                             ; preds = %1310
  br label %1312

1312:                                             ; preds = %1311
  br label %1313

1313:                                             ; preds = %1312
  %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 = call i32 @s2n_crl_free(ptr noundef %15)
  %1317 = icmp eq i32 %1316, -1
  br i1 %1317, label %1318, label %1371

1318:                                             ; preds = %1313
  br label %1319

1319:                                             ; preds = %1318
  br label %1320

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

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

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

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

1366:                                             ; preds = %1349, %1332
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #10
  br label %1367

1367:                                             ; preds = %1366
  br label %1368

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

1369:                                             ; No predecessors!
  br label %1370

1370:                                             ; preds = %1369
  br label %1371

1371:                                             ; preds = %1370, %1313
  br label %1372

1372:                                             ; preds = %1371
  br label %1373

1373:                                             ; preds = %1372
  br label %1374

1374:                                             ; preds = %1373
  %1375 = load i32, ptr @test_count, align 4, !tbaa !5
  %1376 = add nsw i32 %1375, 1
  store i32 %1376, ptr @test_count, align 4, !tbaa !5
  %1377 = load ptr, ptr %15, align 8, !tbaa !9
  %1378 = icmp eq ptr %1377, null
  br i1 %1378, label %1432, label %1379

1379:                                             ; preds = %1374
  br label %1380

1380:                                             ; preds = %1379
  br label %1381

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

1388:                                             ; preds = %1381
  %1389 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1390 = call i32 @fileno(ptr noundef %1389) #10
  %1391 = call i32 @isatty(i32 noundef %1390) #10
  %1392 = icmp ne i32 %1391, 0
  br i1 %1392, label %1393, label %1410

1393:                                             ; preds = %1388
  %1394 = load i32, ptr %21, align 4, !tbaa !5
  %1395 = call ptr @__errno_location() #11
  store i32 %1394, ptr %1395, align 4, !tbaa !5
  %1396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1397 = load i32, ptr @test_count, align 4, !tbaa !5
  %1398 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1399 = load i32, ptr %1398, align 4, !tbaa !5
  %1400 = call ptr @s2n_strerror(i32 noundef %1399, ptr noundef @.str.4)
  %1401 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1402 = load i32, ptr %1401, align 4, !tbaa !5
  %1403 = call ptr @s2n_strerror_debug(i32 noundef %1402, ptr noundef @.str.4)
  %1404 = call ptr @__errno_location() #11
  %1405 = load i32, ptr %1404, align 4, !tbaa !5
  %1406 = call ptr @strerror(i32 noundef %1405) #10
  %1407 = call ptr @__errno_location() #11
  %1408 = load i32, ptr %1407, align 4, !tbaa !5
  %1409 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1396, ptr noundef @.str.2, i32 noundef %1397, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 118, ptr noundef %1400, ptr noundef %1403, ptr noundef %1406, i32 noundef %1408) #10
  br label %1427

1410:                                             ; preds = %1388, %1381
  %1411 = load i32, ptr %21, align 4, !tbaa !5
  %1412 = call ptr @__errno_location() #11
  store i32 %1411, ptr %1412, align 4, !tbaa !5
  %1413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1414 = load i32, ptr @test_count, align 4, !tbaa !5
  %1415 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1416 = load i32, ptr %1415, align 4, !tbaa !5
  %1417 = call ptr @s2n_strerror(i32 noundef %1416, ptr noundef @.str.4)
  %1418 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1419 = load i32, ptr %1418, align 4, !tbaa !5
  %1420 = call ptr @s2n_strerror_debug(i32 noundef %1419, ptr noundef @.str.4)
  %1421 = call ptr @__errno_location() #11
  %1422 = load i32, ptr %1421, align 4, !tbaa !5
  %1423 = call ptr @strerror(i32 noundef %1422) #10
  %1424 = call ptr @__errno_location() #11
  %1425 = load i32, ptr %1424, align 4, !tbaa !5
  %1426 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1413, ptr noundef @.str.5, i32 noundef %1414, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 118, ptr noundef %1417, ptr noundef %1420, ptr noundef %1423, i32 noundef %1425) #10
  br label %1427

1427:                                             ; preds = %1410, %1393
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #10
  br label %1428

1428:                                             ; preds = %1427
  br label %1429

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

1430:                                             ; No predecessors!
  br label %1431

1431:                                             ; preds = %1430
  br label %1432

1432:                                             ; preds = %1431, %1374
  br label %1433

1433:                                             ; preds = %1432
  br label %1434

1434:                                             ; preds = %1433
  call void @llvm.lifetime.end.p0(i64 8, ptr %15) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %22) #10
  %1435 = call ptr @load_test_crl(ptr noundef @.str.11)
  store ptr %1435, ptr %22, align 8, !tbaa !9
  br label %1436

1436:                                             ; preds = %1434
  %1437 = load i32, ptr @test_count, align 4, !tbaa !5
  %1438 = add nsw i32 %1437, 1
  store i32 %1438, ptr @test_count, align 4, !tbaa !5
  %1439 = load ptr, ptr %22, align 8, !tbaa !9
  %1440 = icmp eq ptr %1439, null
  br i1 %1440, label %1441, label %1494

1441:                                             ; preds = %1436
  br label %1442

1442:                                             ; preds = %1441
  br label %1443

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

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

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

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

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

1490:                                             ; preds = %1489
  br label %1491

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

1492:                                             ; No predecessors!
  br label %1493

1493:                                             ; preds = %1492
  br label %1494

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

1495:                                             ; preds = %1494
  br label %1496

1496:                                             ; preds = %1495
  br label %1497

1497:                                             ; preds = %1496
  %1498 = load i32, ptr @test_count, align 4, !tbaa !5
  %1499 = add nsw i32 %1498, 1
  store i32 %1499, ptr @test_count, align 4, !tbaa !5
  %1500 = load ptr, ptr %22, align 8, !tbaa !9
  %1501 = getelementptr inbounds %struct.s2n_crl, ptr %1500, i32 0, i32 0
  %1502 = load ptr, ptr %1501, align 8, !tbaa !15
  %1503 = icmp eq ptr %1502, null
  br i1 %1503, label %1504, label %1557

1504:                                             ; preds = %1497
  br label %1505

1505:                                             ; preds = %1504
  br label %1506

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

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

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

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

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

1553:                                             ; preds = %1552
  br label %1554

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

1555:                                             ; No predecessors!
  br label %1556

1556:                                             ; preds = %1555
  br label %1557

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

1558:                                             ; preds = %1557
  br label %1559

1559:                                             ; preds = %1558
  call void @llvm.lifetime.start.p0(i64 8, ptr %25) #10
  %1560 = load ptr, ptr %22, align 8, !tbaa !9
  %1561 = getelementptr inbounds %struct.s2n_crl, ptr %1560, i32 0, i32 0
  %1562 = load ptr, ptr %1561, align 8, !tbaa !15
  %1563 = call ptr @X509_CRL_get_issuer(ptr noundef %1562)
  store ptr %1563, ptr %25, align 8, !tbaa !9
  br label %1564

1564:                                             ; preds = %1559
  %1565 = load ptr, ptr %25, align 8, !tbaa !9
  %1566 = icmp ne ptr %1565, null
  br i1 %1566, label %1600, label %1567

1567:                                             ; preds = %1564
  br label %1568

1568:                                             ; preds = %1567
  br label %1569

1569:                                             ; preds = %1568
  %1570 = call align 8 ptr @llvm.threadlocal.address.p0(ptr align 8 @_s2n_debug_info)
  %1571 = getelementptr inbounds %struct.s2n_debug_info, ptr %1570, i32 0, i32 0
  store ptr @.str.13, ptr %1571, align 8, !tbaa !17
  %1572 = call align 8 ptr @llvm.threadlocal.address.p0(ptr align 8 @_s2n_debug_info)
  %1573 = getelementptr inbounds %struct.s2n_debug_info, ptr %1572, i32 0, i32 0
  %1574 = load ptr, ptr %1573, align 8, !tbaa !17
  %1575 = getelementptr inbounds i8, ptr %1574, i64 21
  %1576 = call ptr @strrchr(ptr noundef %1575, i32 noundef 47) #13
  %1577 = icmp ne ptr %1576, null
  br i1 %1577, label %1578, label %1585

1578:                                             ; preds = %1569
  %1579 = call align 8 ptr @llvm.threadlocal.address.p0(ptr align 8 @_s2n_debug_info)
  %1580 = getelementptr inbounds %struct.s2n_debug_info, ptr %1579, i32 0, i32 0
  %1581 = load ptr, ptr %1580, align 8, !tbaa !17
  %1582 = getelementptr inbounds i8, ptr %1581, i64 21
  %1583 = call ptr @strrchr(ptr noundef %1582, i32 noundef 47) #13
  %1584 = getelementptr inbounds i8, ptr %1583, i64 1
  br label %1590

1585:                                             ; preds = %1569
  %1586 = call align 8 ptr @llvm.threadlocal.address.p0(ptr align 8 @_s2n_debug_info)
  %1587 = getelementptr inbounds %struct.s2n_debug_info, ptr %1586, i32 0, i32 0
  %1588 = load ptr, ptr %1587, align 8, !tbaa !17
  %1589 = getelementptr inbounds i8, ptr %1588, i64 21
  br label %1590

1590:                                             ; preds = %1585, %1578
  %1591 = phi ptr [ %1584, %1578 ], [ %1589, %1585 ]
  %1592 = call align 8 ptr @llvm.threadlocal.address.p0(ptr align 8 @_s2n_debug_info)
  %1593 = getelementptr inbounds %struct.s2n_debug_info, ptr %1592, i32 0, i32 1
  store ptr %1591, ptr %1593, align 8, !tbaa !19
  %1594 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 402653193, ptr %1594, align 4, !tbaa !5
  %1595 = call i32 @s2n_calculate_stacktrace()
  br label %1596

1596:                                             ; preds = %1590
  br label %1597

1597:                                             ; preds = %1596
  store i32 -1, ptr %3, align 4
  store i32 1, ptr %26, align 4
  br label %1603

1598:                                             ; No predecessors!
  br label %1599

1599:                                             ; preds = %1598
  br label %1600

1600:                                             ; preds = %1599, %1564
  br label %1601

1601:                                             ; preds = %1600
  br label %1602

1602:                                             ; preds = %1601
  store i32 0, ptr %26, align 4
  br label %1603

1603:                                             ; preds = %1602, %1597
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #10
  %1604 = call i32 @s2n_crl_free(ptr noundef %22)
  call void @llvm.lifetime.end.p0(i64 8, ptr %22) #10
  %1605 = load i32, ptr %26, align 4
  switch i32 %1605, label %21426 [
    i32 0, label %1606
    i32 1, label %21424
  ]

1606:                                             ; preds = %1603
  call void @llvm.lifetime.start.p0(i64 12000, ptr %27) #10
  call void @llvm.memset.p0.i64(ptr align 16 %27, i8 0, i64 12000, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %28) #10
  store i32 0, ptr %28, align 4, !tbaa !5
  br label %1607

1607:                                             ; preds = %1606
  %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 = getelementptr inbounds [12000 x i8], ptr %27, i64 0, i64 0
  %1611 = call i32 @s2n_read_test_pem_and_len(ptr noundef @.str.11, ptr noundef %1610, ptr noundef %28, i64 noundef 12000)
  %1612 = icmp eq i32 %1611, -1
  br i1 %1612, label %1613, label %1666

1613:                                             ; preds = %1607
  br label %1614

1614:                                             ; preds = %1613
  br label %1615

1615:                                             ; preds = %1614
  call void @llvm.lifetime.start.p0(i64 4, ptr %29) #10
  %1616 = call ptr @__errno_location() #11
  %1617 = load i32, ptr %1616, align 4, !tbaa !5
  store i32 %1617, ptr %29, align 4, !tbaa !5
  %1618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1619 = call i32 @s2n_print_stacktrace(ptr noundef %1618)
  %1620 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1621 = trunc i8 %1620 to i1
  br i1 %1621, label %1622, label %1644

1622:                                             ; preds = %1615
  %1623 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1624 = call i32 @fileno(ptr noundef %1623) #10
  %1625 = call i32 @isatty(i32 noundef %1624) #10
  %1626 = icmp ne i32 %1625, 0
  br i1 %1626, label %1627, label %1644

1627:                                             ; preds = %1622
  %1628 = load i32, ptr %29, align 4, !tbaa !5
  %1629 = call ptr @__errno_location() #11
  store i32 %1628, ptr %1629, align 4, !tbaa !5
  %1630 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1631 = load i32, ptr @test_count, align 4, !tbaa !5
  %1632 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1633 = load i32, ptr %1632, align 4, !tbaa !5
  %1634 = call ptr @s2n_strerror(i32 noundef %1633, ptr noundef @.str.4)
  %1635 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1636 = load i32, ptr %1635, align 4, !tbaa !5
  %1637 = call ptr @s2n_strerror_debug(i32 noundef %1636, ptr noundef @.str.4)
  %1638 = call ptr @__errno_location() #11
  %1639 = load i32, ptr %1638, align 4, !tbaa !5
  %1640 = call ptr @strerror(i32 noundef %1639) #10
  %1641 = call ptr @__errno_location() #11
  %1642 = load i32, ptr %1641, align 4, !tbaa !5
  %1643 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1630, ptr noundef @.str.2, i32 noundef %1631, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 136, ptr noundef %1634, ptr noundef %1637, ptr noundef %1640, i32 noundef %1642) #10
  br label %1661

1644:                                             ; preds = %1622, %1615
  %1645 = load i32, ptr %29, align 4, !tbaa !5
  %1646 = call ptr @__errno_location() #11
  store i32 %1645, ptr %1646, align 4, !tbaa !5
  %1647 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1648 = load i32, ptr @test_count, align 4, !tbaa !5
  %1649 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1650 = load i32, ptr %1649, align 4, !tbaa !5
  %1651 = call ptr @s2n_strerror(i32 noundef %1650, ptr noundef @.str.4)
  %1652 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1653 = load i32, ptr %1652, align 4, !tbaa !5
  %1654 = call ptr @s2n_strerror_debug(i32 noundef %1653, ptr noundef @.str.4)
  %1655 = call ptr @__errno_location() #11
  %1656 = load i32, ptr %1655, align 4, !tbaa !5
  %1657 = call ptr @strerror(i32 noundef %1656) #10
  %1658 = call ptr @__errno_location() #11
  %1659 = load i32, ptr %1658, align 4, !tbaa !5
  %1660 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1647, ptr noundef @.str.5, i32 noundef %1648, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 136, ptr noundef %1651, ptr noundef %1654, ptr noundef %1657, i32 noundef %1659) #10
  br label %1661

1661:                                             ; preds = %1644, %1627
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #10
  br label %1662

1662:                                             ; preds = %1661
  br label %1663

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

1664:                                             ; No predecessors!
  br label %1665

1665:                                             ; preds = %1664
  br label %1666

1666:                                             ; preds = %1665, %1607
  br label %1667

1667:                                             ; preds = %1666
  br label %1668

1668:                                             ; preds = %1667
  call void @llvm.lifetime.start.p0(i64 8, ptr %30) #10
  %1669 = call ptr @s2n_crl_new()
  store ptr %1669, ptr %30, align 8, !tbaa !9
  br label %1670

1670:                                             ; preds = %1668
  %1671 = load i32, ptr @test_count, align 4, !tbaa !5
  %1672 = add nsw i32 %1671, 1
  store i32 %1672, ptr @test_count, align 4, !tbaa !5
  %1673 = load ptr, ptr %30, align 8, !tbaa !9
  %1674 = icmp eq ptr %1673, null
  br i1 %1674, label %1675, label %1728

1675:                                             ; preds = %1670
  br label %1676

1676:                                             ; preds = %1675
  br label %1677

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

1684:                                             ; preds = %1677
  %1685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1686 = call i32 @fileno(ptr noundef %1685) #10
  %1687 = call i32 @isatty(i32 noundef %1686) #10
  %1688 = icmp ne i32 %1687, 0
  br i1 %1688, label %1689, label %1706

1689:                                             ; preds = %1684
  %1690 = load i32, ptr %31, align 4, !tbaa !5
  %1691 = call ptr @__errno_location() #11
  store i32 %1690, ptr %1691, align 4, !tbaa !5
  %1692 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1693 = load i32, ptr @test_count, align 4, !tbaa !5
  %1694 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1695 = load i32, ptr %1694, align 4, !tbaa !5
  %1696 = call ptr @s2n_strerror(i32 noundef %1695, ptr noundef @.str.4)
  %1697 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1698 = load i32, ptr %1697, align 4, !tbaa !5
  %1699 = call ptr @s2n_strerror_debug(i32 noundef %1698, ptr noundef @.str.4)
  %1700 = call ptr @__errno_location() #11
  %1701 = load i32, ptr %1700, align 4, !tbaa !5
  %1702 = call ptr @strerror(i32 noundef %1701) #10
  %1703 = call ptr @__errno_location() #11
  %1704 = load i32, ptr %1703, align 4, !tbaa !5
  %1705 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1692, ptr noundef @.str.2, i32 noundef %1693, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 138, ptr noundef %1696, ptr noundef %1699, ptr noundef %1702, i32 noundef %1704) #10
  br label %1723

1706:                                             ; preds = %1684, %1677
  %1707 = load i32, ptr %31, align 4, !tbaa !5
  %1708 = call ptr @__errno_location() #11
  store i32 %1707, ptr %1708, align 4, !tbaa !5
  %1709 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1710 = load i32, ptr @test_count, align 4, !tbaa !5
  %1711 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1712 = load i32, ptr %1711, align 4, !tbaa !5
  %1713 = call ptr @s2n_strerror(i32 noundef %1712, ptr noundef @.str.4)
  %1714 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1715 = load i32, ptr %1714, align 4, !tbaa !5
  %1716 = call ptr @s2n_strerror_debug(i32 noundef %1715, ptr noundef @.str.4)
  %1717 = call ptr @__errno_location() #11
  %1718 = load i32, ptr %1717, align 4, !tbaa !5
  %1719 = call ptr @strerror(i32 noundef %1718) #10
  %1720 = call ptr @__errno_location() #11
  %1721 = load i32, ptr %1720, align 4, !tbaa !5
  %1722 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1709, ptr noundef @.str.5, i32 noundef %1710, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 138, ptr noundef %1713, ptr noundef %1716, ptr noundef %1719, i32 noundef %1721) #10
  br label %1723

1723:                                             ; preds = %1706, %1689
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #10
  br label %1724

1724:                                             ; preds = %1723
  br label %1725

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

1726:                                             ; No predecessors!
  br label %1727

1727:                                             ; preds = %1726
  br label %1728

1728:                                             ; preds = %1727, %1670
  br label %1729

1729:                                             ; preds = %1728
  br label %1730

1730:                                             ; preds = %1729
  br label %1731

1731:                                             ; preds = %1730
  %1732 = load i32, ptr @test_count, align 4, !tbaa !5
  %1733 = add nsw i32 %1732, 1
  store i32 %1733, ptr @test_count, align 4, !tbaa !5
  %1734 = load ptr, ptr %30, align 8, !tbaa !9
  %1735 = getelementptr inbounds [12000 x i8], ptr %27, i64 0, i64 0
  %1736 = load i32, ptr %28, align 4, !tbaa !5
  %1737 = zext i32 %1736 to i64
  %1738 = call i32 @s2n_crl_load_pem(ptr noundef %1734, ptr noundef %1735, i64 noundef %1737)
  %1739 = icmp eq i32 %1738, -1
  br i1 %1739, label %1740, label %1793

1740:                                             ; preds = %1731
  br label %1741

1741:                                             ; preds = %1740
  br label %1742

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

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

1754:                                             ; preds = %1749
  %1755 = load i32, ptr %32, align 4, !tbaa !5
  %1756 = call ptr @__errno_location() #11
  store i32 %1755, ptr %1756, align 4, !tbaa !5
  %1757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1758 = load i32, ptr @test_count, align 4, !tbaa !5
  %1759 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1760 = load i32, ptr %1759, align 4, !tbaa !5
  %1761 = call ptr @s2n_strerror(i32 noundef %1760, ptr noundef @.str.4)
  %1762 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1763 = load i32, ptr %1762, align 4, !tbaa !5
  %1764 = call ptr @s2n_strerror_debug(i32 noundef %1763, ptr noundef @.str.4)
  %1765 = call ptr @__errno_location() #11
  %1766 = load i32, ptr %1765, align 4, !tbaa !5
  %1767 = call ptr @strerror(i32 noundef %1766) #10
  %1768 = call ptr @__errno_location() #11
  %1769 = load i32, ptr %1768, align 4, !tbaa !5
  %1770 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1757, ptr noundef @.str.2, i32 noundef %1758, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 139, ptr noundef %1761, ptr noundef %1764, ptr noundef %1767, i32 noundef %1769) #10
  br label %1788

1771:                                             ; preds = %1749, %1742
  %1772 = load i32, ptr %32, align 4, !tbaa !5
  %1773 = call ptr @__errno_location() #11
  store i32 %1772, ptr %1773, align 4, !tbaa !5
  %1774 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1775 = load i32, ptr @test_count, align 4, !tbaa !5
  %1776 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1777 = load i32, ptr %1776, align 4, !tbaa !5
  %1778 = call ptr @s2n_strerror(i32 noundef %1777, ptr noundef @.str.4)
  %1779 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1780 = load i32, ptr %1779, align 4, !tbaa !5
  %1781 = call ptr @s2n_strerror_debug(i32 noundef %1780, ptr noundef @.str.4)
  %1782 = call ptr @__errno_location() #11
  %1783 = load i32, ptr %1782, align 4, !tbaa !5
  %1784 = call ptr @strerror(i32 noundef %1783) #10
  %1785 = call ptr @__errno_location() #11
  %1786 = load i32, ptr %1785, align 4, !tbaa !5
  %1787 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1774, ptr noundef @.str.5, i32 noundef %1775, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 139, ptr noundef %1778, ptr noundef %1781, ptr noundef %1784, i32 noundef %1786) #10
  br label %1788

1788:                                             ; preds = %1771, %1754
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #10
  br label %1789

1789:                                             ; preds = %1788
  br label %1790

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

1791:                                             ; No predecessors!
  br label %1792

1792:                                             ; preds = %1791
  br label %1793

1793:                                             ; preds = %1792, %1731
  br label %1794

1794:                                             ; preds = %1793
  br label %1795

1795:                                             ; preds = %1794
  %1796 = getelementptr inbounds [12000 x i8], ptr %27, i64 0, i64 50
  store i8 1, ptr %1796, align 2, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 8, ptr %33) #10
  %1797 = call ptr @s2n_crl_new()
  store ptr %1797, ptr %33, align 8, !tbaa !9
  br label %1798

1798:                                             ; preds = %1795
  %1799 = load i32, ptr @test_count, align 4, !tbaa !5
  %1800 = add nsw i32 %1799, 1
  store i32 %1800, ptr @test_count, align 4, !tbaa !5
  %1801 = load ptr, ptr %33, align 8, !tbaa !9
  %1802 = icmp eq ptr %1801, null
  br i1 %1802, label %1803, label %1856

1803:                                             ; preds = %1798
  br label %1804

1804:                                             ; preds = %1803
  br label %1805

1805:                                             ; preds = %1804
  call void @llvm.lifetime.start.p0(i64 4, ptr %34) #10
  %1806 = call ptr @__errno_location() #11
  %1807 = load i32, ptr %1806, align 4, !tbaa !5
  store i32 %1807, ptr %34, align 4, !tbaa !5
  %1808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1809 = call i32 @s2n_print_stacktrace(ptr noundef %1808)
  %1810 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1811 = trunc i8 %1810 to i1
  br i1 %1811, label %1812, label %1834

1812:                                             ; preds = %1805
  %1813 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1814 = call i32 @fileno(ptr noundef %1813) #10
  %1815 = call i32 @isatty(i32 noundef %1814) #10
  %1816 = icmp ne i32 %1815, 0
  br i1 %1816, label %1817, label %1834

1817:                                             ; preds = %1812
  %1818 = load i32, ptr %34, align 4, !tbaa !5
  %1819 = call ptr @__errno_location() #11
  store i32 %1818, ptr %1819, align 4, !tbaa !5
  %1820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1821 = load i32, ptr @test_count, align 4, !tbaa !5
  %1822 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1823 = load i32, ptr %1822, align 4, !tbaa !5
  %1824 = call ptr @s2n_strerror(i32 noundef %1823, ptr noundef @.str.4)
  %1825 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1826 = load i32, ptr %1825, align 4, !tbaa !5
  %1827 = call ptr @s2n_strerror_debug(i32 noundef %1826, ptr noundef @.str.4)
  %1828 = call ptr @__errno_location() #11
  %1829 = load i32, ptr %1828, align 4, !tbaa !5
  %1830 = call ptr @strerror(i32 noundef %1829) #10
  %1831 = call ptr @__errno_location() #11
  %1832 = load i32, ptr %1831, align 4, !tbaa !5
  %1833 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1820, ptr noundef @.str.2, i32 noundef %1821, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 145, ptr noundef %1824, ptr noundef %1827, ptr noundef %1830, i32 noundef %1832) #10
  br label %1851

1834:                                             ; preds = %1812, %1805
  %1835 = load i32, ptr %34, align 4, !tbaa !5
  %1836 = call ptr @__errno_location() #11
  store i32 %1835, ptr %1836, align 4, !tbaa !5
  %1837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1838 = load i32, ptr @test_count, align 4, !tbaa !5
  %1839 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1840 = load i32, ptr %1839, align 4, !tbaa !5
  %1841 = call ptr @s2n_strerror(i32 noundef %1840, ptr noundef @.str.4)
  %1842 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1843 = load i32, ptr %1842, align 4, !tbaa !5
  %1844 = call ptr @s2n_strerror_debug(i32 noundef %1843, ptr noundef @.str.4)
  %1845 = call ptr @__errno_location() #11
  %1846 = load i32, ptr %1845, align 4, !tbaa !5
  %1847 = call ptr @strerror(i32 noundef %1846) #10
  %1848 = call ptr @__errno_location() #11
  %1849 = load i32, ptr %1848, align 4, !tbaa !5
  %1850 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1837, ptr noundef @.str.5, i32 noundef %1838, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 145, ptr noundef %1841, ptr noundef %1844, ptr noundef %1847, i32 noundef %1849) #10
  br label %1851

1851:                                             ; preds = %1834, %1817
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #10
  br label %1852

1852:                                             ; preds = %1851
  br label %1853

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

1854:                                             ; No predecessors!
  br label %1855

1855:                                             ; preds = %1854
  br label %1856

1856:                                             ; preds = %1855, %1798
  br label %1857

1857:                                             ; preds = %1856
  br label %1858

1858:                                             ; preds = %1857
  br label %1859

1859:                                             ; preds = %1858
  br label %1860

1860:                                             ; preds = %1859
  br label %1861

1861:                                             ; preds = %1860
  %1862 = load i32, ptr @test_count, align 4, !tbaa !5
  %1863 = add nsw i32 %1862, 1
  store i32 %1863, ptr @test_count, align 4, !tbaa !5
  %1864 = load ptr, ptr %33, align 8, !tbaa !9
  %1865 = getelementptr inbounds [12000 x i8], ptr %27, i64 0, i64 0
  %1866 = load i32, ptr %28, align 4, !tbaa !5
  %1867 = zext i32 %1866 to i64
  %1868 = call i32 @s2n_crl_load_pem(ptr noundef %1864, ptr noundef %1865, i64 noundef %1867)
  %1869 = icmp eq i32 %1868, -1
  br i1 %1869, label %1923, label %1870

1870:                                             ; preds = %1861
  br label %1871

1871:                                             ; preds = %1870
  br label %1872

1872:                                             ; preds = %1871
  call void @llvm.lifetime.start.p0(i64 4, ptr %35) #10
  %1873 = call ptr @__errno_location() #11
  %1874 = load i32, ptr %1873, align 4, !tbaa !5
  store i32 %1874, ptr %35, align 4, !tbaa !5
  %1875 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1876 = call i32 @s2n_print_stacktrace(ptr noundef %1875)
  %1877 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1878 = trunc i8 %1877 to i1
  br i1 %1878, label %1879, label %1901

1879:                                             ; preds = %1872
  %1880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1881 = call i32 @fileno(ptr noundef %1880) #10
  %1882 = call i32 @isatty(i32 noundef %1881) #10
  %1883 = icmp ne i32 %1882, 0
  br i1 %1883, label %1884, label %1901

1884:                                             ; preds = %1879
  %1885 = load i32, ptr %35, align 4, !tbaa !5
  %1886 = call ptr @__errno_location() #11
  store i32 %1885, ptr %1886, align 4, !tbaa !5
  %1887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1888 = load i32, ptr @test_count, align 4, !tbaa !5
  %1889 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1890 = load i32, ptr %1889, align 4, !tbaa !5
  %1891 = call ptr @s2n_strerror(i32 noundef %1890, ptr noundef @.str.4)
  %1892 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1893 = load i32, ptr %1892, align 4, !tbaa !5
  %1894 = call ptr @s2n_strerror_debug(i32 noundef %1893, ptr noundef @.str.4)
  %1895 = call ptr @__errno_location() #11
  %1896 = load i32, ptr %1895, align 4, !tbaa !5
  %1897 = call ptr @strerror(i32 noundef %1896) #10
  %1898 = call ptr @__errno_location() #11
  %1899 = load i32, ptr %1898, align 4, !tbaa !5
  %1900 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1887, ptr noundef @.str.2, i32 noundef %1888, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 147, ptr noundef %1891, ptr noundef %1894, ptr noundef %1897, i32 noundef %1899) #10
  br label %1918

1901:                                             ; preds = %1879, %1872
  %1902 = load i32, ptr %35, align 4, !tbaa !5
  %1903 = call ptr @__errno_location() #11
  store i32 %1902, ptr %1903, align 4, !tbaa !5
  %1904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1905 = load i32, ptr @test_count, align 4, !tbaa !5
  %1906 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1907 = load i32, ptr %1906, align 4, !tbaa !5
  %1908 = call ptr @s2n_strerror(i32 noundef %1907, ptr noundef @.str.4)
  %1909 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1910 = load i32, ptr %1909, align 4, !tbaa !5
  %1911 = call ptr @s2n_strerror_debug(i32 noundef %1910, ptr noundef @.str.4)
  %1912 = call ptr @__errno_location() #11
  %1913 = load i32, ptr %1912, align 4, !tbaa !5
  %1914 = call ptr @strerror(i32 noundef %1913) #10
  %1915 = call ptr @__errno_location() #11
  %1916 = load i32, ptr %1915, align 4, !tbaa !5
  %1917 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1904, ptr noundef @.str.5, i32 noundef %1905, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 147, ptr noundef %1908, ptr noundef %1911, ptr noundef %1914, i32 noundef %1916) #10
  br label %1918

1918:                                             ; preds = %1901, %1884
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #10
  br label %1919

1919:                                             ; preds = %1918
  br label %1920

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

1921:                                             ; No predecessors!
  br label %1922

1922:                                             ; preds = %1921
  br label %1923

1923:                                             ; preds = %1922, %1861
  br label %1924

1924:                                             ; preds = %1923
  br label %1925

1925:                                             ; preds = %1924
  br label %1926

1926:                                             ; preds = %1925
  %1927 = load i32, ptr @test_count, align 4, !tbaa !5
  %1928 = add nsw i32 %1927, 1
  store i32 %1928, ptr @test_count, align 4, !tbaa !5
  %1929 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1930 = load i32, ptr %1929, align 4, !tbaa !5
  %1931 = icmp eq i32 %1930, 469762057
  br i1 %1931, label %1985, label %1932

1932:                                             ; preds = %1926
  br label %1933

1933:                                             ; preds = %1932
  br label %1934

1934:                                             ; preds = %1933
  call void @llvm.lifetime.start.p0(i64 4, ptr %36) #10
  %1935 = call ptr @__errno_location() #11
  %1936 = load i32, ptr %1935, align 4, !tbaa !5
  store i32 %1936, ptr %36, align 4, !tbaa !5
  %1937 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1938 = call i32 @s2n_print_stacktrace(ptr noundef %1937)
  %1939 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1940 = trunc i8 %1939 to i1
  br i1 %1940, label %1941, label %1963

1941:                                             ; preds = %1934
  %1942 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1943 = call i32 @fileno(ptr noundef %1942) #10
  %1944 = call i32 @isatty(i32 noundef %1943) #10
  %1945 = icmp ne i32 %1944, 0
  br i1 %1945, label %1946, label %1963

1946:                                             ; preds = %1941
  %1947 = load i32, ptr %36, align 4, !tbaa !5
  %1948 = call ptr @__errno_location() #11
  store i32 %1947, ptr %1948, align 4, !tbaa !5
  %1949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1950 = load i32, ptr @test_count, align 4, !tbaa !5
  %1951 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1952 = load i32, ptr %1951, align 4, !tbaa !5
  %1953 = call ptr @s2n_strerror(i32 noundef %1952, ptr noundef @.str.4)
  %1954 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1955 = load i32, ptr %1954, align 4, !tbaa !5
  %1956 = call ptr @s2n_strerror_debug(i32 noundef %1955, ptr noundef @.str.4)
  %1957 = call ptr @__errno_location() #11
  %1958 = load i32, ptr %1957, align 4, !tbaa !5
  %1959 = call ptr @strerror(i32 noundef %1958) #10
  %1960 = call ptr @__errno_location() #11
  %1961 = load i32, ptr %1960, align 4, !tbaa !5
  %1962 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1949, ptr noundef @.str.2, i32 noundef %1950, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 147, ptr noundef %1953, ptr noundef %1956, ptr noundef %1959, i32 noundef %1961) #10
  br label %1980

1963:                                             ; preds = %1941, %1934
  %1964 = load i32, ptr %36, align 4, !tbaa !5
  %1965 = call ptr @__errno_location() #11
  store i32 %1964, ptr %1965, align 4, !tbaa !5
  %1966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1967 = load i32, ptr @test_count, align 4, !tbaa !5
  %1968 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1969 = load i32, ptr %1968, align 4, !tbaa !5
  %1970 = call ptr @s2n_strerror(i32 noundef %1969, ptr noundef @.str.4)
  %1971 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1972 = load i32, ptr %1971, align 4, !tbaa !5
  %1973 = call ptr @s2n_strerror_debug(i32 noundef %1972, ptr noundef @.str.4)
  %1974 = call ptr @__errno_location() #11
  %1975 = load i32, ptr %1974, align 4, !tbaa !5
  %1976 = call ptr @strerror(i32 noundef %1975) #10
  %1977 = call ptr @__errno_location() #11
  %1978 = load i32, ptr %1977, align 4, !tbaa !5
  %1979 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1966, ptr noundef @.str.5, i32 noundef %1967, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 147, ptr noundef %1970, ptr noundef %1973, ptr noundef %1976, i32 noundef %1978) #10
  br label %1980

1980:                                             ; preds = %1963, %1946
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #10
  br label %1981

1981:                                             ; preds = %1980
  br label %1982

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

1983:                                             ; No predecessors!
  br label %1984

1984:                                             ; preds = %1983
  br label %1985

1985:                                             ; preds = %1984, %1926
  br label %1986

1986:                                             ; preds = %1985
  br label %1987

1987:                                             ; preds = %1986
  br label %1988

1988:                                             ; preds = %1987
  %1989 = load i32, ptr @test_count, align 4, !tbaa !5
  %1990 = add nsw i32 %1989, 1
  store i32 %1990, ptr @test_count, align 4, !tbaa !5
  %1991 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1992 = load i32, ptr %1991, align 4, !tbaa !5
  %1993 = call ptr @s2n_strerror_debug(i32 noundef %1992, ptr noundef @.str.4)
  %1994 = icmp eq ptr %1993, null
  br i1 %1994, label %1995, label %2048

1995:                                             ; preds = %1988
  br label %1996

1996:                                             ; preds = %1995
  br label %1997

1997:                                             ; preds = %1996
  call void @llvm.lifetime.start.p0(i64 4, ptr %37) #10
  %1998 = call ptr @__errno_location() #11
  %1999 = load i32, ptr %1998, align 4, !tbaa !5
  store i32 %1999, ptr %37, align 4, !tbaa !5
  %2000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2001 = call i32 @s2n_print_stacktrace(ptr noundef %2000)
  %2002 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2003 = trunc i8 %2002 to i1
  br i1 %2003, label %2004, label %2026

2004:                                             ; preds = %1997
  %2005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2006 = call i32 @fileno(ptr noundef %2005) #10
  %2007 = call i32 @isatty(i32 noundef %2006) #10
  %2008 = icmp ne i32 %2007, 0
  br i1 %2008, label %2009, label %2026

2009:                                             ; preds = %2004
  %2010 = load i32, ptr %37, align 4, !tbaa !5
  %2011 = call ptr @__errno_location() #11
  store i32 %2010, ptr %2011, align 4, !tbaa !5
  %2012 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2013 = load i32, ptr @test_count, align 4, !tbaa !5
  %2014 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2015 = load i32, ptr %2014, align 4, !tbaa !5
  %2016 = call ptr @s2n_strerror(i32 noundef %2015, ptr noundef @.str.4)
  %2017 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2018 = load i32, ptr %2017, align 4, !tbaa !5
  %2019 = call ptr @s2n_strerror_debug(i32 noundef %2018, ptr noundef @.str.4)
  %2020 = call ptr @__errno_location() #11
  %2021 = load i32, ptr %2020, align 4, !tbaa !5
  %2022 = call ptr @strerror(i32 noundef %2021) #10
  %2023 = call ptr @__errno_location() #11
  %2024 = load i32, ptr %2023, align 4, !tbaa !5
  %2025 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2012, ptr noundef @.str.2, i32 noundef %2013, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 147, ptr noundef %2016, ptr noundef %2019, ptr noundef %2022, i32 noundef %2024) #10
  br label %2043

2026:                                             ; preds = %2004, %1997
  %2027 = load i32, ptr %37, align 4, !tbaa !5
  %2028 = call ptr @__errno_location() #11
  store i32 %2027, ptr %2028, align 4, !tbaa !5
  %2029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2030 = load i32, ptr @test_count, align 4, !tbaa !5
  %2031 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2032 = load i32, ptr %2031, align 4, !tbaa !5
  %2033 = call ptr @s2n_strerror(i32 noundef %2032, ptr noundef @.str.4)
  %2034 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2035 = load i32, ptr %2034, align 4, !tbaa !5
  %2036 = call ptr @s2n_strerror_debug(i32 noundef %2035, ptr noundef @.str.4)
  %2037 = call ptr @__errno_location() #11
  %2038 = load i32, ptr %2037, align 4, !tbaa !5
  %2039 = call ptr @strerror(i32 noundef %2038) #10
  %2040 = call ptr @__errno_location() #11
  %2041 = load i32, ptr %2040, align 4, !tbaa !5
  %2042 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2029, ptr noundef @.str.5, i32 noundef %2030, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 147, ptr noundef %2033, ptr noundef %2036, ptr noundef %2039, i32 noundef %2041) #10
  br label %2043

2043:                                             ; preds = %2026, %2009
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #10
  br label %2044

2044:                                             ; preds = %2043
  br label %2045

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

2046:                                             ; No predecessors!
  br label %2047

2047:                                             ; preds = %2046
  br label %2048

2048:                                             ; preds = %2047, %1988
  br label %2049

2049:                                             ; preds = %2048
  br label %2050

2050:                                             ; preds = %2049
  br label %2051

2051:                                             ; preds = %2050
  br label %2052

2052:                                             ; preds = %2051
  br label %2053

2053:                                             ; preds = %2052
  %2054 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %2054, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %2055 = call ptr @__errno_location() #11
  store i32 0, ptr %2055, align 4, !tbaa !5
  br label %2056

2056:                                             ; preds = %2053
  br label %2057

2057:                                             ; preds = %2056
  br label %2058

2058:                                             ; preds = %2057
  br label %2059

2059:                                             ; preds = %2058
  %2060 = call i32 @s2n_crl_free(ptr noundef %33)
  call void @llvm.lifetime.end.p0(i64 8, ptr %33) #10
  %2061 = call i32 @s2n_crl_free(ptr noundef %30)
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #10
  call void @llvm.lifetime.end.p0(i64 12000, ptr %27) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %38) #10
  %2062 = call ptr @load_test_crl(ptr noundef @.str.11)
  store ptr %2062, ptr %38, align 8, !tbaa !9
  br label %2063

2063:                                             ; preds = %2059
  %2064 = load i32, ptr @test_count, align 4, !tbaa !5
  %2065 = add nsw i32 %2064, 1
  store i32 %2065, ptr @test_count, align 4, !tbaa !5
  %2066 = load ptr, ptr %38, align 8, !tbaa !9
  %2067 = icmp eq ptr %2066, null
  br i1 %2067, label %2068, label %2121

2068:                                             ; preds = %2063
  br label %2069

2069:                                             ; preds = %2068
  br label %2070

2070:                                             ; preds = %2069
  call void @llvm.lifetime.start.p0(i64 4, ptr %39) #10
  %2071 = call ptr @__errno_location() #11
  %2072 = load i32, ptr %2071, align 4, !tbaa !5
  store i32 %2072, ptr %39, align 4, !tbaa !5
  %2073 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2074 = call i32 @s2n_print_stacktrace(ptr noundef %2073)
  %2075 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2076 = trunc i8 %2075 to i1
  br i1 %2076, label %2077, label %2099

2077:                                             ; preds = %2070
  %2078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2079 = call i32 @fileno(ptr noundef %2078) #10
  %2080 = call i32 @isatty(i32 noundef %2079) #10
  %2081 = icmp ne i32 %2080, 0
  br i1 %2081, label %2082, label %2099

2082:                                             ; preds = %2077
  %2083 = load i32, ptr %39, align 4, !tbaa !5
  %2084 = call ptr @__errno_location() #11
  store i32 %2083, ptr %2084, align 4, !tbaa !5
  %2085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2086 = load i32, 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(i32 noundef %2088, ptr noundef @.str.4)
  %2090 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2091 = load i32, ptr %2090, align 4, !tbaa !5
  %2092 = call ptr @s2n_strerror_debug(i32 noundef %2091, ptr noundef @.str.4)
  %2093 = call ptr @__errno_location() #11
  %2094 = load i32, ptr %2093, align 4, !tbaa !5
  %2095 = call ptr @strerror(i32 noundef %2094) #10
  %2096 = call ptr @__errno_location() #11
  %2097 = load i32, ptr %2096, align 4, !tbaa !5
  %2098 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2085, ptr noundef @.str.2, i32 noundef %2086, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 153, ptr noundef %2089, ptr noundef %2092, ptr noundef %2095, i32 noundef %2097) #10
  br label %2116

2099:                                             ; preds = %2077, %2070
  %2100 = load i32, ptr %39, align 4, !tbaa !5
  %2101 = call ptr @__errno_location() #11
  store i32 %2100, ptr %2101, align 4, !tbaa !5
  %2102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2103 = load i32, ptr @test_count, align 4, !tbaa !5
  %2104 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2105 = load i32, ptr %2104, align 4, !tbaa !5
  %2106 = call ptr @s2n_strerror(i32 noundef %2105, ptr noundef @.str.4)
  %2107 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2108 = load i32, ptr %2107, align 4, !tbaa !5
  %2109 = call ptr @s2n_strerror_debug(i32 noundef %2108, ptr noundef @.str.4)
  %2110 = call ptr @__errno_location() #11
  %2111 = load i32, ptr %2110, align 4, !tbaa !5
  %2112 = call ptr @strerror(i32 noundef %2111) #10
  %2113 = call ptr @__errno_location() #11
  %2114 = load i32, ptr %2113, align 4, !tbaa !5
  %2115 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2102, ptr noundef @.str.5, i32 noundef %2103, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 153, ptr noundef %2106, ptr noundef %2109, ptr noundef %2112, i32 noundef %2114) #10
  br label %2116

2116:                                             ; preds = %2099, %2082
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #10
  br label %2117

2117:                                             ; preds = %2116
  br label %2118

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

2119:                                             ; No predecessors!
  br label %2120

2120:                                             ; preds = %2119
  br label %2121

2121:                                             ; preds = %2120, %2063
  br label %2122

2122:                                             ; preds = %2121
  br label %2123

2123:                                             ; preds = %2122
  call void @llvm.lifetime.start.p0(i64 8, ptr %40) #10
  store i64 0, ptr %40, align 8, !tbaa !21
  br label %2124

2124:                                             ; preds = %2123
  %2125 = load i32, ptr @test_count, align 4, !tbaa !5
  %2126 = add nsw i32 %2125, 1
  store i32 %2126, ptr @test_count, align 4, !tbaa !5
  %2127 = load ptr, ptr %38, align 8, !tbaa !9
  %2128 = call i32 @s2n_crl_get_issuer_hash(ptr noundef %2127, ptr noundef %40)
  %2129 = icmp eq i32 %2128, -1
  br i1 %2129, label %2130, label %2183

2130:                                             ; preds = %2124
  br label %2131

2131:                                             ; preds = %2130
  br label %2132

2132:                                             ; preds = %2131
  call void @llvm.lifetime.start.p0(i64 4, ptr %41) #10
  %2133 = call ptr @__errno_location() #11
  %2134 = load i32, ptr %2133, align 4, !tbaa !5
  store i32 %2134, ptr %41, align 4, !tbaa !5
  %2135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2136 = call i32 @s2n_print_stacktrace(ptr noundef %2135)
  %2137 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2138 = trunc i8 %2137 to i1
  br i1 %2138, label %2139, label %2161

2139:                                             ; preds = %2132
  %2140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2141 = call i32 @fileno(ptr noundef %2140) #10
  %2142 = call i32 @isatty(i32 noundef %2141) #10
  %2143 = icmp ne i32 %2142, 0
  br i1 %2143, label %2144, label %2161

2144:                                             ; preds = %2139
  %2145 = load i32, ptr %41, align 4, !tbaa !5
  %2146 = call ptr @__errno_location() #11
  store i32 %2145, ptr %2146, align 4, !tbaa !5
  %2147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2148 = load i32, ptr @test_count, align 4, !tbaa !5
  %2149 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2150 = load i32, ptr %2149, align 4, !tbaa !5
  %2151 = call ptr @s2n_strerror(i32 noundef %2150, ptr noundef @.str.4)
  %2152 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2153 = load i32, ptr %2152, align 4, !tbaa !5
  %2154 = call ptr @s2n_strerror_debug(i32 noundef %2153, ptr noundef @.str.4)
  %2155 = call ptr @__errno_location() #11
  %2156 = load i32, ptr %2155, align 4, !tbaa !5
  %2157 = call ptr @strerror(i32 noundef %2156) #10
  %2158 = call ptr @__errno_location() #11
  %2159 = load i32, ptr %2158, align 4, !tbaa !5
  %2160 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2147, ptr noundef @.str.2, i32 noundef %2148, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 156, ptr noundef %2151, ptr noundef %2154, ptr noundef %2157, i32 noundef %2159) #10
  br label %2178

2161:                                             ; preds = %2139, %2132
  %2162 = load i32, ptr %41, align 4, !tbaa !5
  %2163 = call ptr @__errno_location() #11
  store i32 %2162, ptr %2163, align 4, !tbaa !5
  %2164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2165 = load i32, ptr @test_count, align 4, !tbaa !5
  %2166 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2167 = load i32, ptr %2166, align 4, !tbaa !5
  %2168 = call ptr @s2n_strerror(i32 noundef %2167, ptr noundef @.str.4)
  %2169 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2170 = load i32, ptr %2169, align 4, !tbaa !5
  %2171 = call ptr @s2n_strerror_debug(i32 noundef %2170, ptr noundef @.str.4)
  %2172 = call ptr @__errno_location() #11
  %2173 = load i32, ptr %2172, align 4, !tbaa !5
  %2174 = call ptr @strerror(i32 noundef %2173) #10
  %2175 = call ptr @__errno_location() #11
  %2176 = load i32, ptr %2175, align 4, !tbaa !5
  %2177 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2164, ptr noundef @.str.5, i32 noundef %2165, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 156, ptr noundef %2168, ptr noundef %2171, ptr noundef %2174, i32 noundef %2176) #10
  br label %2178

2178:                                             ; preds = %2161, %2144
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #10
  br label %2179

2179:                                             ; preds = %2178
  br label %2180

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

2181:                                             ; No predecessors!
  br label %2182

2182:                                             ; preds = %2181
  br label %2183

2183:                                             ; preds = %2182, %2124
  br label %2184

2184:                                             ; preds = %2183
  br label %2185

2185:                                             ; preds = %2184
  br label %2186

2186:                                             ; preds = %2185
  %2187 = load i32, ptr @test_count, align 4, !tbaa !5
  %2188 = add nsw i32 %2187, 1
  store i32 %2188, ptr @test_count, align 4, !tbaa !5
  %2189 = load i64, ptr %40, align 8, !tbaa !21
  %2190 = icmp ne i64 %2189, 0
  br i1 %2190, label %2244, label %2191

2191:                                             ; preds = %2186
  br label %2192

2192:                                             ; preds = %2191
  br label %2193

2193:                                             ; preds = %2192
  call void @llvm.lifetime.start.p0(i64 4, ptr %42) #10
  %2194 = call ptr @__errno_location() #11
  %2195 = load i32, ptr %2194, align 4, !tbaa !5
  store i32 %2195, ptr %42, align 4, !tbaa !5
  %2196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2197 = call i32 @s2n_print_stacktrace(ptr noundef %2196)
  %2198 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2199 = trunc i8 %2198 to i1
  br i1 %2199, label %2200, label %2222

2200:                                             ; preds = %2193
  %2201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2202 = call i32 @fileno(ptr noundef %2201) #10
  %2203 = call i32 @isatty(i32 noundef %2202) #10
  %2204 = icmp ne i32 %2203, 0
  br i1 %2204, label %2205, label %2222

2205:                                             ; preds = %2200
  %2206 = load i32, ptr %42, align 4, !tbaa !5
  %2207 = call ptr @__errno_location() #11
  store i32 %2206, ptr %2207, align 4, !tbaa !5
  %2208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2209 = load i32, ptr @test_count, align 4, !tbaa !5
  %2210 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2211 = load i32, ptr %2210, align 4, !tbaa !5
  %2212 = call ptr @s2n_strerror(i32 noundef %2211, ptr noundef @.str.4)
  %2213 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2214 = load i32, ptr %2213, align 4, !tbaa !5
  %2215 = call ptr @s2n_strerror_debug(i32 noundef %2214, ptr noundef @.str.4)
  %2216 = call ptr @__errno_location() #11
  %2217 = load i32, ptr %2216, align 4, !tbaa !5
  %2218 = call ptr @strerror(i32 noundef %2217) #10
  %2219 = call ptr @__errno_location() #11
  %2220 = load i32, ptr %2219, align 4, !tbaa !5
  %2221 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2208, ptr noundef @.str.2, i32 noundef %2209, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 157, ptr noundef %2212, ptr noundef %2215, ptr noundef %2218, i32 noundef %2220) #10
  br label %2239

2222:                                             ; preds = %2200, %2193
  %2223 = load i32, ptr %42, align 4, !tbaa !5
  %2224 = call ptr @__errno_location() #11
  store i32 %2223, ptr %2224, align 4, !tbaa !5
  %2225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2226 = load i32, ptr @test_count, align 4, !tbaa !5
  %2227 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2228 = load i32, ptr %2227, align 4, !tbaa !5
  %2229 = call ptr @s2n_strerror(i32 noundef %2228, ptr noundef @.str.4)
  %2230 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2231 = load i32, ptr %2230, align 4, !tbaa !5
  %2232 = call ptr @s2n_strerror_debug(i32 noundef %2231, ptr noundef @.str.4)
  %2233 = call ptr @__errno_location() #11
  %2234 = load i32, ptr %2233, align 4, !tbaa !5
  %2235 = call ptr @strerror(i32 noundef %2234) #10
  %2236 = call ptr @__errno_location() #11
  %2237 = load i32, ptr %2236, align 4, !tbaa !5
  %2238 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2225, ptr noundef @.str.5, i32 noundef %2226, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 157, ptr noundef %2229, ptr noundef %2232, ptr noundef %2235, i32 noundef %2237) #10
  br label %2239

2239:                                             ; preds = %2222, %2205
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #10
  br label %2240

2240:                                             ; preds = %2239
  br label %2241

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

2242:                                             ; No predecessors!
  br label %2243

2243:                                             ; preds = %2242
  br label %2244

2244:                                             ; preds = %2243, %2186
  br label %2245

2245:                                             ; preds = %2244
  br label %2246

2246:                                             ; preds = %2245
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #10
  %2247 = call i32 @s2n_crl_free(ptr noundef %38)
  call void @llvm.lifetime.end.p0(i64 8, ptr %38) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %43) #10
  %2248 = call ptr @load_test_crl(ptr noundef @.str.11)
  store ptr %2248, ptr %43, align 8, !tbaa !9
  br label %2249

2249:                                             ; preds = %2246
  %2250 = load i32, ptr @test_count, align 4, !tbaa !5
  %2251 = add nsw i32 %2250, 1
  store i32 %2251, ptr @test_count, align 4, !tbaa !5
  %2252 = load ptr, ptr %43, align 8, !tbaa !9
  %2253 = icmp eq ptr %2252, null
  br i1 %2253, label %2254, label %2307

2254:                                             ; preds = %2249
  br label %2255

2255:                                             ; preds = %2254
  br label %2256

2256:                                             ; preds = %2255
  call void @llvm.lifetime.start.p0(i64 4, ptr %44) #10
  %2257 = call ptr @__errno_location() #11
  %2258 = load i32, ptr %2257, align 4, !tbaa !5
  store i32 %2258, ptr %44, align 4, !tbaa !5
  %2259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2260 = call i32 @s2n_print_stacktrace(ptr noundef %2259)
  %2261 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2262 = trunc i8 %2261 to i1
  br i1 %2262, label %2263, label %2285

2263:                                             ; preds = %2256
  %2264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2265 = call i32 @fileno(ptr noundef %2264) #10
  %2266 = call i32 @isatty(i32 noundef %2265) #10
  %2267 = icmp ne i32 %2266, 0
  br i1 %2267, label %2268, label %2285

2268:                                             ; preds = %2263
  %2269 = load i32, ptr %44, align 4, !tbaa !5
  %2270 = call ptr @__errno_location() #11
  store i32 %2269, ptr %2270, align 4, !tbaa !5
  %2271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2272 = load i32, ptr @test_count, align 4, !tbaa !5
  %2273 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2274 = load i32, ptr %2273, align 4, !tbaa !5
  %2275 = call ptr @s2n_strerror(i32 noundef %2274, ptr noundef @.str.4)
  %2276 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2277 = load i32, ptr %2276, align 4, !tbaa !5
  %2278 = call ptr @s2n_strerror_debug(i32 noundef %2277, ptr noundef @.str.4)
  %2279 = call ptr @__errno_location() #11
  %2280 = load i32, ptr %2279, align 4, !tbaa !5
  %2281 = call ptr @strerror(i32 noundef %2280) #10
  %2282 = call ptr @__errno_location() #11
  %2283 = load i32, ptr %2282, align 4, !tbaa !5
  %2284 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2271, ptr noundef @.str.2, i32 noundef %2272, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 161, ptr noundef %2275, ptr noundef %2278, ptr noundef %2281, i32 noundef %2283) #10
  br label %2302

2285:                                             ; preds = %2263, %2256
  %2286 = load i32, ptr %44, align 4, !tbaa !5
  %2287 = call ptr @__errno_location() #11
  store i32 %2286, ptr %2287, align 4, !tbaa !5
  %2288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2289 = load i32, ptr @test_count, align 4, !tbaa !5
  %2290 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2291 = load i32, ptr %2290, align 4, !tbaa !5
  %2292 = call ptr @s2n_strerror(i32 noundef %2291, ptr noundef @.str.4)
  %2293 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2294 = load i32, ptr %2293, align 4, !tbaa !5
  %2295 = call ptr @s2n_strerror_debug(i32 noundef %2294, ptr noundef @.str.4)
  %2296 = call ptr @__errno_location() #11
  %2297 = load i32, ptr %2296, align 4, !tbaa !5
  %2298 = call ptr @strerror(i32 noundef %2297) #10
  %2299 = call ptr @__errno_location() #11
  %2300 = load i32, ptr %2299, align 4, !tbaa !5
  %2301 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2288, ptr noundef @.str.5, i32 noundef %2289, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 161, ptr noundef %2292, ptr noundef %2295, ptr noundef %2298, i32 noundef %2300) #10
  br label %2302

2302:                                             ; preds = %2285, %2268
  call void @llvm.lifetime.end.p0(i64 4, ptr %44) #10
  br label %2303

2303:                                             ; preds = %2302
  br label %2304

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

2305:                                             ; No predecessors!
  br label %2306

2306:                                             ; preds = %2305
  br label %2307

2307:                                             ; preds = %2306, %2249
  br label %2308

2308:                                             ; preds = %2307
  br label %2309

2309:                                             ; preds = %2308
  call void @llvm.lifetime.start.p0(i64 8, ptr %45) #10
  %2310 = call ptr @load_test_crl(ptr noundef @.str.23)
  store ptr %2310, ptr %45, align 8, !tbaa !9
  br label %2311

2311:                                             ; preds = %2309
  %2312 = load i32, ptr @test_count, align 4, !tbaa !5
  %2313 = add nsw i32 %2312, 1
  store i32 %2313, ptr @test_count, align 4, !tbaa !5
  %2314 = load ptr, ptr %45, align 8, !tbaa !9
  %2315 = icmp eq ptr %2314, null
  br i1 %2315, label %2316, label %2369

2316:                                             ; preds = %2311
  br label %2317

2317:                                             ; preds = %2316
  br label %2318

2318:                                             ; preds = %2317
  call void @llvm.lifetime.start.p0(i64 4, ptr %46) #10
  %2319 = call ptr @__errno_location() #11
  %2320 = load i32, ptr %2319, align 4, !tbaa !5
  store i32 %2320, ptr %46, align 4, !tbaa !5
  %2321 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2322 = call i32 @s2n_print_stacktrace(ptr noundef %2321)
  %2323 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2324 = trunc i8 %2323 to i1
  br i1 %2324, label %2325, label %2347

2325:                                             ; preds = %2318
  %2326 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2327 = call i32 @fileno(ptr noundef %2326) #10
  %2328 = call i32 @isatty(i32 noundef %2327) #10
  %2329 = icmp ne i32 %2328, 0
  br i1 %2329, label %2330, label %2347

2330:                                             ; preds = %2325
  %2331 = load i32, ptr %46, align 4, !tbaa !5
  %2332 = call ptr @__errno_location() #11
  store i32 %2331, ptr %2332, align 4, !tbaa !5
  %2333 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2334 = load i32, ptr @test_count, align 4, !tbaa !5
  %2335 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2336 = load i32, ptr %2335, align 4, !tbaa !5
  %2337 = call ptr @s2n_strerror(i32 noundef %2336, ptr noundef @.str.4)
  %2338 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2339 = load i32, ptr %2338, align 4, !tbaa !5
  %2340 = call ptr @s2n_strerror_debug(i32 noundef %2339, ptr noundef @.str.4)
  %2341 = call ptr @__errno_location() #11
  %2342 = load i32, ptr %2341, align 4, !tbaa !5
  %2343 = call ptr @strerror(i32 noundef %2342) #10
  %2344 = call ptr @__errno_location() #11
  %2345 = load i32, ptr %2344, align 4, !tbaa !5
  %2346 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2333, ptr noundef @.str.2, i32 noundef %2334, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 164, ptr noundef %2337, ptr noundef %2340, ptr noundef %2343, i32 noundef %2345) #10
  br label %2364

2347:                                             ; preds = %2325, %2318
  %2348 = load i32, ptr %46, align 4, !tbaa !5
  %2349 = call ptr @__errno_location() #11
  store i32 %2348, ptr %2349, align 4, !tbaa !5
  %2350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2351 = load i32, ptr @test_count, align 4, !tbaa !5
  %2352 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2353 = load i32, ptr %2352, align 4, !tbaa !5
  %2354 = call ptr @s2n_strerror(i32 noundef %2353, ptr noundef @.str.4)
  %2355 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2356 = load i32, ptr %2355, align 4, !tbaa !5
  %2357 = call ptr @s2n_strerror_debug(i32 noundef %2356, ptr noundef @.str.4)
  %2358 = call ptr @__errno_location() #11
  %2359 = load i32, ptr %2358, align 4, !tbaa !5
  %2360 = call ptr @strerror(i32 noundef %2359) #10
  %2361 = call ptr @__errno_location() #11
  %2362 = load i32, ptr %2361, align 4, !tbaa !5
  %2363 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2350, ptr noundef @.str.5, i32 noundef %2351, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 164, ptr noundef %2354, ptr noundef %2357, ptr noundef %2360, i32 noundef %2362) #10
  br label %2364

2364:                                             ; preds = %2347, %2330
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #10
  br label %2365

2365:                                             ; preds = %2364
  br label %2366

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

2367:                                             ; No predecessors!
  br label %2368

2368:                                             ; preds = %2367
  br label %2369

2369:                                             ; preds = %2368, %2311
  br label %2370

2370:                                             ; preds = %2369
  br label %2371

2371:                                             ; preds = %2370
  call void @llvm.lifetime.start.p0(i64 8, ptr %47) #10
  %2372 = call ptr @load_test_crl(ptr noundef @.str.25)
  store ptr %2372, ptr %47, align 8, !tbaa !9
  br label %2373

2373:                                             ; preds = %2371
  %2374 = load i32, ptr @test_count, align 4, !tbaa !5
  %2375 = add nsw i32 %2374, 1
  store i32 %2375, ptr @test_count, align 4, !tbaa !5
  %2376 = load ptr, ptr %47, align 8, !tbaa !9
  %2377 = icmp eq ptr %2376, null
  br i1 %2377, label %2378, label %2431

2378:                                             ; preds = %2373
  br label %2379

2379:                                             ; preds = %2378
  br label %2380

2380:                                             ; preds = %2379
  call void @llvm.lifetime.start.p0(i64 4, ptr %48) #10
  %2381 = call ptr @__errno_location() #11
  %2382 = load i32, ptr %2381, align 4, !tbaa !5
  store i32 %2382, ptr %48, align 4, !tbaa !5
  %2383 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2384 = call i32 @s2n_print_stacktrace(ptr noundef %2383)
  %2385 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2386 = trunc i8 %2385 to i1
  br i1 %2386, label %2387, label %2409

2387:                                             ; preds = %2380
  %2388 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2389 = call i32 @fileno(ptr noundef %2388) #10
  %2390 = call i32 @isatty(i32 noundef %2389) #10
  %2391 = icmp ne i32 %2390, 0
  br i1 %2391, label %2392, label %2409

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

2409:                                             ; preds = %2387, %2380
  %2410 = load i32, ptr %48, align 4, !tbaa !5
  %2411 = call ptr @__errno_location() #11
  store i32 %2410, ptr %2411, align 4, !tbaa !5
  %2412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2413 = load i32, ptr @test_count, align 4, !tbaa !5
  %2414 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2415 = load i32, ptr %2414, align 4, !tbaa !5
  %2416 = call ptr @s2n_strerror(i32 noundef %2415, ptr noundef @.str.4)
  %2417 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2418 = load i32, ptr %2417, align 4, !tbaa !5
  %2419 = call ptr @s2n_strerror_debug(i32 noundef %2418, ptr noundef @.str.4)
  %2420 = call ptr @__errno_location() #11
  %2421 = load i32, ptr %2420, align 4, !tbaa !5
  %2422 = call ptr @strerror(i32 noundef %2421) #10
  %2423 = call ptr @__errno_location() #11
  %2424 = load i32, ptr %2423, align 4, !tbaa !5
  %2425 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2412, ptr noundef @.str.5, i32 noundef %2413, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 167, ptr noundef %2416, ptr noundef %2419, ptr noundef %2422, i32 noundef %2424) #10
  br label %2426

2426:                                             ; preds = %2409, %2392
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #10
  br label %2427

2427:                                             ; preds = %2426
  br label %2428

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

2429:                                             ; No predecessors!
  br label %2430

2430:                                             ; preds = %2429
  br label %2431

2431:                                             ; preds = %2430, %2373
  br label %2432

2432:                                             ; preds = %2431
  br label %2433

2433:                                             ; preds = %2432
  call void @llvm.lifetime.start.p0(i64 8, ptr %49) #10
  %2434 = call ptr @load_test_crl(ptr noundef @.str.27)
  store ptr %2434, ptr %49, align 8, !tbaa !9
  br label %2435

2435:                                             ; preds = %2433
  %2436 = load i32, ptr @test_count, align 4, !tbaa !5
  %2437 = add nsw i32 %2436, 1
  store i32 %2437, ptr @test_count, align 4, !tbaa !5
  %2438 = load ptr, ptr %49, align 8, !tbaa !9
  %2439 = icmp eq ptr %2438, null
  br i1 %2439, label %2440, label %2493

2440:                                             ; preds = %2435
  br label %2441

2441:                                             ; preds = %2440
  br label %2442

2442:                                             ; preds = %2441
  call void @llvm.lifetime.start.p0(i64 4, ptr %50) #10
  %2443 = call ptr @__errno_location() #11
  %2444 = load i32, ptr %2443, align 4, !tbaa !5
  store i32 %2444, ptr %50, align 4, !tbaa !5
  %2445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2446 = call i32 @s2n_print_stacktrace(ptr noundef %2445)
  %2447 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2448 = trunc i8 %2447 to i1
  br i1 %2448, label %2449, label %2471

2449:                                             ; preds = %2442
  %2450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2451 = call i32 @fileno(ptr noundef %2450) #10
  %2452 = call i32 @isatty(i32 noundef %2451) #10
  %2453 = icmp ne i32 %2452, 0
  br i1 %2453, label %2454, label %2471

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

2471:                                             ; preds = %2449, %2442
  %2472 = load i32, ptr %50, align 4, !tbaa !5
  %2473 = call ptr @__errno_location() #11
  store i32 %2472, ptr %2473, align 4, !tbaa !5
  %2474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2475 = load i32, ptr @test_count, align 4, !tbaa !5
  %2476 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2477 = load i32, ptr %2476, align 4, !tbaa !5
  %2478 = call ptr @s2n_strerror(i32 noundef %2477, ptr noundef @.str.4)
  %2479 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2480 = load i32, ptr %2479, align 4, !tbaa !5
  %2481 = call ptr @s2n_strerror_debug(i32 noundef %2480, ptr noundef @.str.4)
  %2482 = call ptr @__errno_location() #11
  %2483 = load i32, ptr %2482, align 4, !tbaa !5
  %2484 = call ptr @strerror(i32 noundef %2483) #10
  %2485 = call ptr @__errno_location() #11
  %2486 = load i32, ptr %2485, align 4, !tbaa !5
  %2487 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2474, ptr noundef @.str.5, i32 noundef %2475, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 172, ptr noundef %2478, ptr noundef %2481, ptr noundef %2484, i32 noundef %2486) #10
  br label %2488

2488:                                             ; preds = %2471, %2454
  call void @llvm.lifetime.end.p0(i64 4, ptr %50) #10
  br label %2489

2489:                                             ; preds = %2488
  br label %2490

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

2491:                                             ; No predecessors!
  br label %2492

2492:                                             ; preds = %2491
  br label %2493

2493:                                             ; preds = %2492, %2435
  br label %2494

2494:                                             ; preds = %2493
  br label %2495

2495:                                             ; preds = %2494
  call void @llvm.lifetime.start.p0(i64 8, ptr %51) #10
  %2496 = call ptr @load_test_crl(ptr noundef @.str.29)
  store ptr %2496, ptr %51, align 8, !tbaa !9
  br label %2497

2497:                                             ; preds = %2495
  %2498 = load i32, ptr @test_count, align 4, !tbaa !5
  %2499 = add nsw i32 %2498, 1
  store i32 %2499, ptr @test_count, align 4, !tbaa !5
  %2500 = load ptr, ptr %51, align 8, !tbaa !9
  %2501 = icmp eq ptr %2500, null
  br i1 %2501, label %2502, label %2555

2502:                                             ; preds = %2497
  br label %2503

2503:                                             ; preds = %2502
  br label %2504

2504:                                             ; preds = %2503
  call void @llvm.lifetime.start.p0(i64 4, ptr %52) #10
  %2505 = call ptr @__errno_location() #11
  %2506 = load i32, ptr %2505, align 4, !tbaa !5
  store i32 %2506, ptr %52, align 4, !tbaa !5
  %2507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2508 = call i32 @s2n_print_stacktrace(ptr noundef %2507)
  %2509 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2510 = trunc i8 %2509 to i1
  br i1 %2510, label %2511, label %2533

2511:                                             ; preds = %2504
  %2512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2513 = call i32 @fileno(ptr noundef %2512) #10
  %2514 = call i32 @isatty(i32 noundef %2513) #10
  %2515 = icmp ne i32 %2514, 0
  br i1 %2515, label %2516, label %2533

2516:                                             ; preds = %2511
  %2517 = load i32, ptr %52, align 4, !tbaa !5
  %2518 = call ptr @__errno_location() #11
  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() #11
  %2528 = load i32, ptr %2527, align 4, !tbaa !5
  %2529 = call ptr @strerror(i32 noundef %2528) #10
  %2530 = call ptr @__errno_location() #11
  %2531 = load i32, ptr %2530, align 4, !tbaa !5
  %2532 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2519, ptr noundef @.str.2, i32 noundef %2520, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 177, ptr noundef %2523, ptr noundef %2526, ptr noundef %2529, i32 noundef %2531) #10
  br label %2550

2533:                                             ; preds = %2511, %2504
  %2534 = load i32, ptr %52, align 4, !tbaa !5
  %2535 = call ptr @__errno_location() #11
  store i32 %2534, ptr %2535, align 4, !tbaa !5
  %2536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2537 = load i32, ptr @test_count, align 4, !tbaa !5
  %2538 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2539 = load i32, ptr %2538, align 4, !tbaa !5
  %2540 = call ptr @s2n_strerror(i32 noundef %2539, ptr noundef @.str.4)
  %2541 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2542 = load i32, ptr %2541, align 4, !tbaa !5
  %2543 = call ptr @s2n_strerror_debug(i32 noundef %2542, ptr noundef @.str.4)
  %2544 = call ptr @__errno_location() #11
  %2545 = load i32, ptr %2544, align 4, !tbaa !5
  %2546 = call ptr @strerror(i32 noundef %2545) #10
  %2547 = call ptr @__errno_location() #11
  %2548 = load i32, ptr %2547, align 4, !tbaa !5
  %2549 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2536, ptr noundef @.str.5, i32 noundef %2537, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 177, ptr noundef %2540, ptr noundef %2543, ptr noundef %2546, i32 noundef %2548) #10
  br label %2550

2550:                                             ; preds = %2533, %2516
  call void @llvm.lifetime.end.p0(i64 4, ptr %52) #10
  br label %2551

2551:                                             ; preds = %2550
  br label %2552

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

2553:                                             ; No predecessors!
  br label %2554

2554:                                             ; preds = %2553
  br label %2555

2555:                                             ; preds = %2554, %2497
  br label %2556

2556:                                             ; preds = %2555
  br label %2557

2557:                                             ; preds = %2556
  call void @llvm.lifetime.start.p0(i64 88, ptr %53) #10
  call void @llvm.memset.p0.i64(ptr align 8 %53, i8 0, i64 88, i1 false)
  call void @llvm.lifetime.start.p0(i64 56, ptr %54) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %55) #10
  call void @llvm.memset.p0.i64(ptr align 8 %55, i8 0, i64 16, i1 false)
  call void @s2n_x509_trust_store_init_empty(ptr noundef %55)
  call void @llvm.lifetime.start.p0(i64 12000, ptr %56) #10
  call void @llvm.memset.p0.i64(ptr align 16 %56, i8 0, i64 12000, i1 false)
  br label %2558

2558:                                             ; preds = %2557
  %2559 = load i32, ptr @test_count, align 4, !tbaa !5
  %2560 = add nsw i32 %2559, 1
  store i32 %2560, ptr @test_count, align 4, !tbaa !5
  %2561 = getelementptr inbounds [12000 x i8], ptr %56, i64 0, i64 0
  %2562 = call i32 @s2n_read_test_pem(ptr noundef @.str.31, ptr noundef %2561, i64 noundef 12000)
  %2563 = icmp eq i32 %2562, -1
  br i1 %2563, label %2564, label %2617

2564:                                             ; preds = %2558
  br label %2565

2565:                                             ; preds = %2564
  br label %2566

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

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

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

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

2612:                                             ; preds = %2595, %2578
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #10
  br label %2613

2613:                                             ; preds = %2612
  br label %2614

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

2615:                                             ; No predecessors!
  br label %2616

2616:                                             ; preds = %2615
  br label %2617

2617:                                             ; preds = %2616, %2558
  br label %2618

2618:                                             ; preds = %2617
  br label %2619

2619:                                             ; preds = %2618
  br label %2620

2620:                                             ; preds = %2619
  %2621 = load i32, ptr @test_count, align 4, !tbaa !5
  %2622 = add nsw i32 %2621, 1
  store i32 %2622, ptr @test_count, align 4, !tbaa !5
  %2623 = getelementptr inbounds [12000 x i8], ptr %56, i64 0, i64 0
  %2624 = call i32 @s2n_x509_trust_store_add_pem(ptr noundef %55, ptr noundef %2623)
  %2625 = icmp eq i32 %2624, -1
  br i1 %2625, label %2626, label %2679

2626:                                             ; preds = %2620
  br label %2627

2627:                                             ; preds = %2626
  br label %2628

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

2635:                                             ; preds = %2628
  %2636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2637 = call i32 @fileno(ptr noundef %2636) #10
  %2638 = call i32 @isatty(i32 noundef %2637) #10
  %2639 = icmp ne i32 %2638, 0
  br i1 %2639, label %2640, label %2657

2640:                                             ; preds = %2635
  %2641 = load i32, ptr %58, align 4, !tbaa !5
  %2642 = call ptr @__errno_location() #11
  store i32 %2641, ptr %2642, align 4, !tbaa !5
  %2643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2644 = load i32, ptr @test_count, align 4, !tbaa !5
  %2645 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2646 = load i32, ptr %2645, align 4, !tbaa !5
  %2647 = call ptr @s2n_strerror(i32 noundef %2646, ptr noundef @.str.4)
  %2648 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2649 = load i32, ptr %2648, align 4, !tbaa !5
  %2650 = call ptr @s2n_strerror_debug(i32 noundef %2649, ptr noundef @.str.4)
  %2651 = call ptr @__errno_location() #11
  %2652 = load i32, ptr %2651, align 4, !tbaa !5
  %2653 = call ptr @strerror(i32 noundef %2652) #10
  %2654 = call ptr @__errno_location() #11
  %2655 = load i32, ptr %2654, align 4, !tbaa !5
  %2656 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2643, ptr noundef @.str.2, i32 noundef %2644, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 190, ptr noundef %2647, ptr noundef %2650, ptr noundef %2653, i32 noundef %2655) #10
  br label %2674

2657:                                             ; preds = %2635, %2628
  %2658 = load i32, ptr %58, align 4, !tbaa !5
  %2659 = call ptr @__errno_location() #11
  store i32 %2658, ptr %2659, align 4, !tbaa !5
  %2660 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2661 = load i32, ptr @test_count, align 4, !tbaa !5
  %2662 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2663 = load i32, ptr %2662, align 4, !tbaa !5
  %2664 = call ptr @s2n_strerror(i32 noundef %2663, ptr noundef @.str.4)
  %2665 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2666 = load i32, ptr %2665, align 4, !tbaa !5
  %2667 = call ptr @s2n_strerror_debug(i32 noundef %2666, ptr noundef @.str.4)
  %2668 = call ptr @__errno_location() #11
  %2669 = load i32, ptr %2668, align 4, !tbaa !5
  %2670 = call ptr @strerror(i32 noundef %2669) #10
  %2671 = call ptr @__errno_location() #11
  %2672 = load i32, ptr %2671, align 4, !tbaa !5
  %2673 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2660, ptr noundef @.str.5, i32 noundef %2661, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 190, ptr noundef %2664, ptr noundef %2667, ptr noundef %2670, i32 noundef %2672) #10
  br label %2674

2674:                                             ; preds = %2657, %2640
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #10
  br label %2675

2675:                                             ; preds = %2674
  br label %2676

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

2677:                                             ; No predecessors!
  br label %2678

2678:                                             ; preds = %2677
  br label %2679

2679:                                             ; preds = %2678, %2620
  br label %2680

2680:                                             ; preds = %2679
  br label %2681

2681:                                             ; preds = %2680
  br label %2682

2682:                                             ; preds = %2681
  %2683 = load i32, ptr @test_count, align 4, !tbaa !5
  %2684 = add nsw i32 %2683, 1
  store i32 %2684, ptr @test_count, align 4, !tbaa !5
  %2685 = call i32 @s2n_x509_validator_init(ptr noundef %54, ptr noundef %55, i8 noundef zeroext 0)
  %2686 = icmp eq i32 %2685, -1
  br i1 %2686, label %2687, label %2740

2687:                                             ; preds = %2682
  br label %2688

2688:                                             ; preds = %2687
  br label %2689

2689:                                             ; preds = %2688
  call void @llvm.lifetime.start.p0(i64 4, ptr %59) #10
  %2690 = call ptr @__errno_location() #11
  %2691 = load i32, ptr %2690, align 4, !tbaa !5
  store i32 %2691, ptr %59, align 4, !tbaa !5
  %2692 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2693 = call i32 @s2n_print_stacktrace(ptr noundef %2692)
  %2694 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2695 = trunc i8 %2694 to i1
  br i1 %2695, label %2696, label %2718

2696:                                             ; preds = %2689
  %2697 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2698 = call i32 @fileno(ptr noundef %2697) #10
  %2699 = call i32 @isatty(i32 noundef %2698) #10
  %2700 = icmp ne i32 %2699, 0
  br i1 %2700, label %2701, label %2718

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

2718:                                             ; preds = %2696, %2689
  %2719 = load i32, ptr %59, align 4, !tbaa !5
  %2720 = call ptr @__errno_location() #11
  store i32 %2719, ptr %2720, align 4, !tbaa !5
  %2721 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2722 = load i32, ptr @test_count, align 4, !tbaa !5
  %2723 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2724 = load i32, ptr %2723, align 4, !tbaa !5
  %2725 = call ptr @s2n_strerror(i32 noundef %2724, ptr noundef @.str.4)
  %2726 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2727 = load i32, ptr %2726, align 4, !tbaa !5
  %2728 = call ptr @s2n_strerror_debug(i32 noundef %2727, ptr noundef @.str.4)
  %2729 = call ptr @__errno_location() #11
  %2730 = load i32, ptr %2729, align 4, !tbaa !5
  %2731 = call ptr @strerror(i32 noundef %2730) #10
  %2732 = call ptr @__errno_location() #11
  %2733 = load i32, ptr %2732, align 4, !tbaa !5
  %2734 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2721, ptr noundef @.str.5, i32 noundef %2722, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 192, ptr noundef %2725, ptr noundef %2728, ptr noundef %2731, i32 noundef %2733) #10
  br label %2735

2735:                                             ; preds = %2718, %2701
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #10
  br label %2736

2736:                                             ; preds = %2735
  br label %2737

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

2738:                                             ; No predecessors!
  br label %2739

2739:                                             ; preds = %2738
  br label %2740

2740:                                             ; preds = %2739, %2682
  br label %2741

2741:                                             ; preds = %2740
  br label %2742

2742:                                             ; preds = %2741
  %2743 = load ptr, ptr %45, align 8, !tbaa !9
  %2744 = getelementptr inbounds %struct.crl_lookup_data, ptr %53, i32 0, i32 0
  %2745 = getelementptr inbounds [5 x ptr], ptr %2744, i64 0, i64 0
  store ptr %2743, ptr %2745, align 8, !tbaa !9
  %2746 = load ptr, ptr %43, align 8, !tbaa !9
  %2747 = getelementptr inbounds %struct.crl_lookup_data, ptr %53, i32 0, i32 0
  %2748 = getelementptr inbounds [5 x ptr], ptr %2747, i64 0, i64 1
  store ptr %2746, ptr %2748, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %60) #10
  %2749 = call ptr @s2n_config_new()
  store ptr %2749, ptr %60, align 8, !tbaa !9
  br label %2750

2750:                                             ; preds = %2742
  %2751 = load i32, ptr @test_count, align 4, !tbaa !5
  %2752 = add nsw i32 %2751, 1
  store i32 %2752, ptr @test_count, align 4, !tbaa !5
  %2753 = load ptr, ptr %60, align 8, !tbaa !9
  %2754 = icmp eq ptr %2753, null
  br i1 %2754, label %2755, label %2808

2755:                                             ; preds = %2750
  br label %2756

2756:                                             ; preds = %2755
  br label %2757

2757:                                             ; preds = %2756
  call void @llvm.lifetime.start.p0(i64 4, ptr %61) #10
  %2758 = call ptr @__errno_location() #11
  %2759 = load i32, ptr %2758, align 4, !tbaa !5
  store i32 %2759, ptr %61, align 4, !tbaa !5
  %2760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2761 = call i32 @s2n_print_stacktrace(ptr noundef %2760)
  %2762 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2763 = trunc i8 %2762 to i1
  br i1 %2763, label %2764, label %2786

2764:                                             ; preds = %2757
  %2765 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2766 = call i32 @fileno(ptr noundef %2765) #10
  %2767 = call i32 @isatty(i32 noundef %2766) #10
  %2768 = icmp ne i32 %2767, 0
  br i1 %2768, label %2769, label %2786

2769:                                             ; preds = %2764
  %2770 = load i32, ptr %61, align 4, !tbaa !5
  %2771 = call ptr @__errno_location() #11
  store i32 %2770, ptr %2771, align 4, !tbaa !5
  %2772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2773 = load i32, ptr @test_count, align 4, !tbaa !5
  %2774 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2775 = load i32, ptr %2774, align 4, !tbaa !5
  %2776 = call ptr @s2n_strerror(i32 noundef %2775, ptr noundef @.str.4)
  %2777 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2778 = load i32, ptr %2777, align 4, !tbaa !5
  %2779 = call ptr @s2n_strerror_debug(i32 noundef %2778, ptr noundef @.str.4)
  %2780 = call ptr @__errno_location() #11
  %2781 = load i32, ptr %2780, align 4, !tbaa !5
  %2782 = call ptr @strerror(i32 noundef %2781) #10
  %2783 = call ptr @__errno_location() #11
  %2784 = load i32, ptr %2783, align 4, !tbaa !5
  %2785 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2772, ptr noundef @.str.2, i32 noundef %2773, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 198, ptr noundef %2776, ptr noundef %2779, ptr noundef %2782, i32 noundef %2784) #10
  br label %2803

2786:                                             ; preds = %2764, %2757
  %2787 = load i32, ptr %61, align 4, !tbaa !5
  %2788 = call ptr @__errno_location() #11
  store i32 %2787, ptr %2788, align 4, !tbaa !5
  %2789 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2790 = load i32, ptr @test_count, align 4, !tbaa !5
  %2791 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2792 = load i32, ptr %2791, align 4, !tbaa !5
  %2793 = call ptr @s2n_strerror(i32 noundef %2792, ptr noundef @.str.4)
  %2794 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2795 = load i32, ptr %2794, align 4, !tbaa !5
  %2796 = call ptr @s2n_strerror_debug(i32 noundef %2795, ptr noundef @.str.4)
  %2797 = call ptr @__errno_location() #11
  %2798 = load i32, ptr %2797, align 4, !tbaa !5
  %2799 = call ptr @strerror(i32 noundef %2798) #10
  %2800 = call ptr @__errno_location() #11
  %2801 = load i32, ptr %2800, align 4, !tbaa !5
  %2802 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2789, ptr noundef @.str.5, i32 noundef %2790, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 198, ptr noundef %2793, ptr noundef %2796, ptr noundef %2799, i32 noundef %2801) #10
  br label %2803

2803:                                             ; preds = %2786, %2769
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #10
  br label %2804

2804:                                             ; preds = %2803
  br label %2805

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

2806:                                             ; No predecessors!
  br label %2807

2807:                                             ; preds = %2806
  br label %2808

2808:                                             ; preds = %2807, %2750
  br label %2809

2809:                                             ; preds = %2808
  br label %2810

2810:                                             ; preds = %2809
  br label %2811

2811:                                             ; preds = %2810
  %2812 = load i32, ptr @test_count, align 4, !tbaa !5
  %2813 = add nsw i32 %2812, 1
  store i32 %2813, ptr @test_count, align 4, !tbaa !5
  %2814 = load ptr, ptr %60, align 8, !tbaa !9
  %2815 = call i32 @s2n_config_set_crl_lookup_cb(ptr noundef %2814, ptr noundef @crl_lookup_test_callback, ptr noundef %53)
  %2816 = icmp eq i32 %2815, -1
  br i1 %2816, label %2817, label %2870

2817:                                             ; preds = %2811
  br label %2818

2818:                                             ; preds = %2817
  br label %2819

2819:                                             ; preds = %2818
  call void @llvm.lifetime.start.p0(i64 4, ptr %62) #10
  %2820 = call ptr @__errno_location() #11
  %2821 = load i32, ptr %2820, align 4, !tbaa !5
  store i32 %2821, ptr %62, align 4, !tbaa !5
  %2822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2823 = call i32 @s2n_print_stacktrace(ptr noundef %2822)
  %2824 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2825 = trunc i8 %2824 to i1
  br i1 %2825, label %2826, label %2848

2826:                                             ; preds = %2819
  %2827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2828 = call i32 @fileno(ptr noundef %2827) #10
  %2829 = call i32 @isatty(i32 noundef %2828) #10
  %2830 = icmp ne i32 %2829, 0
  br i1 %2830, label %2831, label %2848

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

2848:                                             ; preds = %2826, %2819
  %2849 = load i32, ptr %62, align 4, !tbaa !5
  %2850 = call ptr @__errno_location() #11
  store i32 %2849, ptr %2850, align 4, !tbaa !5
  %2851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2852 = load i32, ptr @test_count, align 4, !tbaa !5
  %2853 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2854 = load i32, ptr %2853, align 4, !tbaa !5
  %2855 = call ptr @s2n_strerror(i32 noundef %2854, ptr noundef @.str.4)
  %2856 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2857 = load i32, ptr %2856, align 4, !tbaa !5
  %2858 = call ptr @s2n_strerror_debug(i32 noundef %2857, ptr noundef @.str.4)
  %2859 = call ptr @__errno_location() #11
  %2860 = load i32, ptr %2859, align 4, !tbaa !5
  %2861 = call ptr @strerror(i32 noundef %2860) #10
  %2862 = call ptr @__errno_location() #11
  %2863 = load i32, ptr %2862, align 4, !tbaa !5
  %2864 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2851, ptr noundef @.str.5, i32 noundef %2852, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 199, ptr noundef %2855, ptr noundef %2858, ptr noundef %2861, i32 noundef %2863) #10
  br label %2865

2865:                                             ; preds = %2848, %2831
  call void @llvm.lifetime.end.p0(i64 4, ptr %62) #10
  br label %2866

2866:                                             ; preds = %2865
  br label %2867

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

2868:                                             ; No predecessors!
  br label %2869

2869:                                             ; preds = %2868
  br label %2870

2870:                                             ; preds = %2869, %2811
  br label %2871

2871:                                             ; preds = %2870
  br label %2872

2872:                                             ; preds = %2871
  call void @llvm.lifetime.start.p0(i64 8, ptr %63) #10
  %2873 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %2873, ptr %63, align 8, !tbaa !9
  br label %2874

2874:                                             ; preds = %2872
  %2875 = load i32, ptr @test_count, align 4, !tbaa !5
  %2876 = add nsw i32 %2875, 1
  store i32 %2876, ptr @test_count, align 4, !tbaa !5
  %2877 = load ptr, ptr %63, align 8, !tbaa !9
  %2878 = icmp eq ptr %2877, null
  br i1 %2878, label %2879, label %2932

2879:                                             ; preds = %2874
  br label %2880

2880:                                             ; preds = %2879
  br label %2881

2881:                                             ; preds = %2880
  call void @llvm.lifetime.start.p0(i64 4, ptr %64) #10
  %2882 = call ptr @__errno_location() #11
  %2883 = load i32, ptr %2882, align 4, !tbaa !5
  store i32 %2883, ptr %64, align 4, !tbaa !5
  %2884 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2885 = call i32 @s2n_print_stacktrace(ptr noundef %2884)
  %2886 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2887 = trunc i8 %2886 to i1
  br i1 %2887, label %2888, label %2910

2888:                                             ; preds = %2881
  %2889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2890 = call i32 @fileno(ptr noundef %2889) #10
  %2891 = call i32 @isatty(i32 noundef %2890) #10
  %2892 = icmp ne i32 %2891, 0
  br i1 %2892, label %2893, label %2910

2893:                                             ; preds = %2888
  %2894 = load i32, ptr %64, align 4, !tbaa !5
  %2895 = call ptr @__errno_location() #11
  store i32 %2894, ptr %2895, align 4, !tbaa !5
  %2896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2897 = load i32, ptr @test_count, align 4, !tbaa !5
  %2898 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2899 = load i32, ptr %2898, align 4, !tbaa !5
  %2900 = call ptr @s2n_strerror(i32 noundef %2899, ptr noundef @.str.4)
  %2901 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2902 = load i32, ptr %2901, align 4, !tbaa !5
  %2903 = call ptr @s2n_strerror_debug(i32 noundef %2902, ptr noundef @.str.4)
  %2904 = call ptr @__errno_location() #11
  %2905 = load i32, ptr %2904, align 4, !tbaa !5
  %2906 = call ptr @strerror(i32 noundef %2905) #10
  %2907 = call ptr @__errno_location() #11
  %2908 = load i32, ptr %2907, align 4, !tbaa !5
  %2909 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2896, ptr noundef @.str.2, i32 noundef %2897, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 202, ptr noundef %2900, ptr noundef %2903, ptr noundef %2906, i32 noundef %2908) #10
  br label %2927

2910:                                             ; preds = %2888, %2881
  %2911 = load i32, ptr %64, align 4, !tbaa !5
  %2912 = call ptr @__errno_location() #11
  store i32 %2911, ptr %2912, align 4, !tbaa !5
  %2913 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2914 = load i32, ptr @test_count, align 4, !tbaa !5
  %2915 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2916 = load i32, ptr %2915, align 4, !tbaa !5
  %2917 = call ptr @s2n_strerror(i32 noundef %2916, ptr noundef @.str.4)
  %2918 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2919 = load i32, ptr %2918, align 4, !tbaa !5
  %2920 = call ptr @s2n_strerror_debug(i32 noundef %2919, ptr noundef @.str.4)
  %2921 = call ptr @__errno_location() #11
  %2922 = load i32, ptr %2921, align 4, !tbaa !5
  %2923 = call ptr @strerror(i32 noundef %2922) #10
  %2924 = call ptr @__errno_location() #11
  %2925 = load i32, ptr %2924, align 4, !tbaa !5
  %2926 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2913, ptr noundef @.str.5, i32 noundef %2914, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 202, ptr noundef %2917, ptr noundef %2920, ptr noundef %2923, i32 noundef %2925) #10
  br label %2927

2927:                                             ; preds = %2910, %2893
  call void @llvm.lifetime.end.p0(i64 4, ptr %64) #10
  br label %2928

2928:                                             ; preds = %2927
  br label %2929

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

2930:                                             ; No predecessors!
  br label %2931

2931:                                             ; preds = %2930
  br label %2932

2932:                                             ; preds = %2931, %2874
  br label %2933

2933:                                             ; preds = %2932
  br label %2934

2934:                                             ; preds = %2933
  br label %2935

2935:                                             ; preds = %2934
  %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 ptr, ptr %63, align 8, !tbaa !9
  %2939 = load ptr, ptr %60, align 8, !tbaa !9
  %2940 = call i32 @s2n_connection_set_config(ptr noundef %2938, ptr noundef %2939)
  %2941 = icmp eq i32 %2940, -1
  br i1 %2941, label %2942, label %2995

2942:                                             ; preds = %2935
  br label %2943

2943:                                             ; preds = %2942
  br label %2944

2944:                                             ; preds = %2943
  call void @llvm.lifetime.start.p0(i64 4, ptr %65) #10
  %2945 = call ptr @__errno_location() #11
  %2946 = load i32, ptr %2945, align 4, !tbaa !5
  store i32 %2946, ptr %65, align 4, !tbaa !5
  %2947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2948 = call i32 @s2n_print_stacktrace(ptr noundef %2947)
  %2949 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2950 = trunc i8 %2949 to i1
  br i1 %2950, label %2951, label %2973

2951:                                             ; preds = %2944
  %2952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2953 = call i32 @fileno(ptr noundef %2952) #10
  %2954 = call i32 @isatty(i32 noundef %2953) #10
  %2955 = icmp ne i32 %2954, 0
  br i1 %2955, label %2956, label %2973

2956:                                             ; preds = %2951
  %2957 = load i32, ptr %65, align 4, !tbaa !5
  %2958 = call ptr @__errno_location() #11
  store i32 %2957, ptr %2958, align 4, !tbaa !5
  %2959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2960 = load i32, ptr @test_count, align 4, !tbaa !5
  %2961 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2962 = load i32, ptr %2961, align 4, !tbaa !5
  %2963 = call ptr @s2n_strerror(i32 noundef %2962, ptr noundef @.str.4)
  %2964 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2965 = load i32, ptr %2964, align 4, !tbaa !5
  %2966 = call ptr @s2n_strerror_debug(i32 noundef %2965, ptr noundef @.str.4)
  %2967 = call ptr @__errno_location() #11
  %2968 = load i32, ptr %2967, align 4, !tbaa !5
  %2969 = call ptr @strerror(i32 noundef %2968) #10
  %2970 = call ptr @__errno_location() #11
  %2971 = load i32, ptr %2970, align 4, !tbaa !5
  %2972 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2959, ptr noundef @.str.2, i32 noundef %2960, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 203, ptr noundef %2963, ptr noundef %2966, ptr noundef %2969, i32 noundef %2971) #10
  br label %2990

2973:                                             ; preds = %2951, %2944
  %2974 = load i32, ptr %65, align 4, !tbaa !5
  %2975 = call ptr @__errno_location() #11
  store i32 %2974, ptr %2975, align 4, !tbaa !5
  %2976 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2977 = load i32, ptr @test_count, align 4, !tbaa !5
  %2978 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2979 = load i32, ptr %2978, align 4, !tbaa !5
  %2980 = call ptr @s2n_strerror(i32 noundef %2979, ptr noundef @.str.4)
  %2981 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2982 = load i32, ptr %2981, align 4, !tbaa !5
  %2983 = call ptr @s2n_strerror_debug(i32 noundef %2982, ptr noundef @.str.4)
  %2984 = call ptr @__errno_location() #11
  %2985 = load i32, ptr %2984, align 4, !tbaa !5
  %2986 = call ptr @strerror(i32 noundef %2985) #10
  %2987 = call ptr @__errno_location() #11
  %2988 = load i32, ptr %2987, align 4, !tbaa !5
  %2989 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2976, ptr noundef @.str.5, i32 noundef %2977, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 203, ptr noundef %2980, ptr noundef %2983, ptr noundef %2986, i32 noundef %2988) #10
  br label %2990

2990:                                             ; preds = %2973, %2956
  call void @llvm.lifetime.end.p0(i64 4, ptr %65) #10
  br label %2991

2991:                                             ; preds = %2990
  br label %2992

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

2993:                                             ; No predecessors!
  br label %2994

2994:                                             ; preds = %2993
  br label %2995

2995:                                             ; preds = %2994, %2935
  br label %2996

2996:                                             ; preds = %2995
  br label %2997

2997:                                             ; preds = %2996
  br label %2998

2998:                                             ; preds = %2997
  %2999 = load i32, ptr @test_count, align 4, !tbaa !5
  %3000 = add nsw i32 %2999, 1
  store i32 %3000, ptr @test_count, align 4, !tbaa !5
  %3001 = load ptr, ptr %63, align 8, !tbaa !9
  %3002 = call i32 @s2n_set_server_name(ptr noundef %3001, ptr noundef @.str.39)
  %3003 = icmp eq i32 %3002, -1
  br i1 %3003, label %3004, label %3057

3004:                                             ; preds = %2998
  br label %3005

3005:                                             ; preds = %3004
  br label %3006

3006:                                             ; preds = %3005
  call void @llvm.lifetime.start.p0(i64 4, ptr %66) #10
  %3007 = call ptr @__errno_location() #11
  %3008 = load i32, ptr %3007, align 4, !tbaa !5
  store i32 %3008, ptr %66, align 4, !tbaa !5
  %3009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3010 = call i32 @s2n_print_stacktrace(ptr noundef %3009)
  %3011 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3012 = trunc i8 %3011 to i1
  br i1 %3012, label %3013, label %3035

3013:                                             ; preds = %3006
  %3014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3015 = call i32 @fileno(ptr noundef %3014) #10
  %3016 = call i32 @isatty(i32 noundef %3015) #10
  %3017 = icmp ne i32 %3016, 0
  br i1 %3017, label %3018, label %3035

3018:                                             ; preds = %3013
  %3019 = load i32, ptr %66, align 4, !tbaa !5
  %3020 = call ptr @__errno_location() #11
  store i32 %3019, ptr %3020, align 4, !tbaa !5
  %3021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3022 = load i32, ptr @test_count, align 4, !tbaa !5
  %3023 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3024 = load i32, ptr %3023, align 4, !tbaa !5
  %3025 = call ptr @s2n_strerror(i32 noundef %3024, ptr noundef @.str.4)
  %3026 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3027 = load i32, ptr %3026, align 4, !tbaa !5
  %3028 = call ptr @s2n_strerror_debug(i32 noundef %3027, ptr noundef @.str.4)
  %3029 = call ptr @__errno_location() #11
  %3030 = load i32, ptr %3029, align 4, !tbaa !5
  %3031 = call ptr @strerror(i32 noundef %3030) #10
  %3032 = call ptr @__errno_location() #11
  %3033 = load i32, ptr %3032, align 4, !tbaa !5
  %3034 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3021, ptr noundef @.str.2, i32 noundef %3022, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 204, ptr noundef %3025, ptr noundef %3028, ptr noundef %3031, i32 noundef %3033) #10
  br label %3052

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

3052:                                             ; preds = %3035, %3018
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #10
  br label %3053

3053:                                             ; preds = %3052
  br label %3054

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

3055:                                             ; No predecessors!
  br label %3056

3056:                                             ; preds = %3055
  br label %3057

3057:                                             ; preds = %3056, %2998
  br label %3058

3058:                                             ; preds = %3057
  br label %3059

3059:                                             ; preds = %3058
  call void @llvm.lifetime.start.p0(i64 40, ptr %67) #10
  call void @llvm.memset.p0.i64(ptr align 8 %67, i8 0, i64 40, i1 false)
  br label %3060

3060:                                             ; preds = %3059
  %3061 = load i32, ptr @test_count, align 4, !tbaa !5
  %3062 = add nsw i32 %3061, 1
  store i32 %3062, ptr @test_count, align 4, !tbaa !5
  %3063 = load ptr, ptr %63, align 8, !tbaa !9
  %3064 = call i32 @s2n_test_cert_chain_data_from_pem(ptr noundef %3063, ptr noundef @.str.41, ptr noundef %67)
  %3065 = getelementptr inbounds %struct.s2n_result, ptr %68, i32 0, i32 0
  store i32 %3064, ptr %3065, align 4
  %3066 = getelementptr inbounds %struct.s2n_result, ptr %68, i32 0, i32 0
  %3067 = load i32, ptr %3066, align 4
  %3068 = call zeroext i1 @s2n_result_is_ok(i32 %3067)
  br i1 %3068, label %3122, label %3069

3069:                                             ; preds = %3060
  br label %3070

3070:                                             ; preds = %3069
  br label %3071

3071:                                             ; preds = %3070
  call void @llvm.lifetime.start.p0(i64 4, ptr %69) #10
  %3072 = call ptr @__errno_location() #11
  %3073 = load i32, ptr %3072, align 4, !tbaa !5
  store i32 %3073, ptr %69, align 4, !tbaa !5
  %3074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3075 = call i32 @s2n_print_stacktrace(ptr noundef %3074)
  %3076 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3077 = trunc i8 %3076 to i1
  br i1 %3077, label %3078, label %3100

3078:                                             ; preds = %3071
  %3079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3080 = call i32 @fileno(ptr noundef %3079) #10
  %3081 = call i32 @isatty(i32 noundef %3080) #10
  %3082 = icmp ne i32 %3081, 0
  br i1 %3082, label %3083, label %3100

3083:                                             ; preds = %3078
  %3084 = load i32, ptr %69, align 4, !tbaa !5
  %3085 = call ptr @__errno_location() #11
  store i32 %3084, ptr %3085, align 4, !tbaa !5
  %3086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3087 = load i32, ptr @test_count, align 4, !tbaa !5
  %3088 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3089 = load i32, ptr %3088, align 4, !tbaa !5
  %3090 = call ptr @s2n_strerror(i32 noundef %3089, ptr noundef @.str.4)
  %3091 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3092 = load i32, ptr %3091, align 4, !tbaa !5
  %3093 = call ptr @s2n_strerror_debug(i32 noundef %3092, ptr noundef @.str.4)
  %3094 = call ptr @__errno_location() #11
  %3095 = load i32, ptr %3094, align 4, !tbaa !5
  %3096 = call ptr @strerror(i32 noundef %3095) #10
  %3097 = call ptr @__errno_location() #11
  %3098 = load i32, ptr %3097, align 4, !tbaa !5
  %3099 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3086, ptr noundef @.str.2, i32 noundef %3087, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 207, ptr noundef %3090, ptr noundef %3093, ptr noundef %3096, i32 noundef %3098) #10
  br label %3117

3100:                                             ; preds = %3078, %3071
  %3101 = load i32, ptr %69, align 4, !tbaa !5
  %3102 = call ptr @__errno_location() #11
  store i32 %3101, ptr %3102, align 4, !tbaa !5
  %3103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3104 = load i32, ptr @test_count, align 4, !tbaa !5
  %3105 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3106 = load i32, ptr %3105, align 4, !tbaa !5
  %3107 = call ptr @s2n_strerror(i32 noundef %3106, ptr noundef @.str.4)
  %3108 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3109 = load i32, ptr %3108, align 4, !tbaa !5
  %3110 = call ptr @s2n_strerror_debug(i32 noundef %3109, ptr noundef @.str.4)
  %3111 = call ptr @__errno_location() #11
  %3112 = load i32, ptr %3111, align 4, !tbaa !5
  %3113 = call ptr @strerror(i32 noundef %3112) #10
  %3114 = call ptr @__errno_location() #11
  %3115 = load i32, ptr %3114, align 4, !tbaa !5
  %3116 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3103, ptr noundef @.str.5, i32 noundef %3104, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 207, ptr noundef %3107, ptr noundef %3110, ptr noundef %3113, i32 noundef %3115) #10
  br label %3117

3117:                                             ; preds = %3100, %3083
  call void @llvm.lifetime.end.p0(i64 4, ptr %69) #10
  br label %3118

3118:                                             ; preds = %3117
  br label %3119

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

3120:                                             ; No predecessors!
  br label %3121

3121:                                             ; preds = %3120
  br label %3122

3122:                                             ; preds = %3121, %3060
  br label %3123

3123:                                             ; preds = %3122
  br label %3124

3124:                                             ; preds = %3123
  call void @llvm.lifetime.start.p0(i64 4, ptr %70) #10
  %3125 = getelementptr inbounds %struct.s2n_stuffer, ptr %67, i32 0, i32 2
  %3126 = load i32, ptr %3125, align 4, !tbaa !23
  %3127 = getelementptr inbounds %struct.s2n_stuffer, ptr %67, i32 0, i32 1
  %3128 = load i32, ptr %3127, align 8, !tbaa !26
  %3129 = sub i32 %3126, %3128
  store i32 %3129, ptr %70, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %71) #10
  %3130 = load i32, ptr %70, align 4, !tbaa !5
  %3131 = call ptr @s2n_stuffer_raw_read(ptr noundef %67, i32 noundef %3130)
  store ptr %3131, ptr %71, align 8, !tbaa !9
  br label %3132

3132:                                             ; preds = %3124
  %3133 = load i32, ptr @test_count, align 4, !tbaa !5
  %3134 = add nsw i32 %3133, 1
  store i32 %3134, ptr @test_count, align 4, !tbaa !5
  %3135 = load ptr, ptr %71, align 8, !tbaa !9
  %3136 = icmp eq ptr %3135, null
  br i1 %3136, label %3137, label %3190

3137:                                             ; preds = %3132
  br label %3138

3138:                                             ; preds = %3137
  br label %3139

3139:                                             ; preds = %3138
  call void @llvm.lifetime.start.p0(i64 4, ptr %72) #10
  %3140 = call ptr @__errno_location() #11
  %3141 = load i32, ptr %3140, align 4, !tbaa !5
  store i32 %3141, ptr %72, align 4, !tbaa !5
  %3142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3143 = call i32 @s2n_print_stacktrace(ptr noundef %3142)
  %3144 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3145 = trunc i8 %3144 to i1
  br i1 %3145, label %3146, label %3168

3146:                                             ; preds = %3139
  %3147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3148 = call i32 @fileno(ptr noundef %3147) #10
  %3149 = call i32 @isatty(i32 noundef %3148) #10
  %3150 = icmp ne i32 %3149, 0
  br i1 %3150, label %3151, label %3168

3151:                                             ; preds = %3146
  %3152 = load i32, ptr %72, align 4, !tbaa !5
  %3153 = call ptr @__errno_location() #11
  store i32 %3152, ptr %3153, align 4, !tbaa !5
  %3154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3155 = load i32, ptr @test_count, align 4, !tbaa !5
  %3156 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3157 = load i32, ptr %3156, align 4, !tbaa !5
  %3158 = call ptr @s2n_strerror(i32 noundef %3157, ptr noundef @.str.4)
  %3159 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3160 = load i32, ptr %3159, align 4, !tbaa !5
  %3161 = call ptr @s2n_strerror_debug(i32 noundef %3160, ptr noundef @.str.4)
  %3162 = call ptr @__errno_location() #11
  %3163 = load i32, ptr %3162, align 4, !tbaa !5
  %3164 = call ptr @strerror(i32 noundef %3163) #10
  %3165 = call ptr @__errno_location() #11
  %3166 = load i32, ptr %3165, align 4, !tbaa !5
  %3167 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3154, ptr noundef @.str.2, i32 noundef %3155, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 210, ptr noundef %3158, ptr noundef %3161, ptr noundef %3164, i32 noundef %3166) #10
  br label %3185

3168:                                             ; preds = %3146, %3139
  %3169 = load i32, ptr %72, align 4, !tbaa !5
  %3170 = call ptr @__errno_location() #11
  store i32 %3169, ptr %3170, align 4, !tbaa !5
  %3171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3172 = load i32, ptr @test_count, align 4, !tbaa !5
  %3173 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3174 = load i32, ptr %3173, align 4, !tbaa !5
  %3175 = call ptr @s2n_strerror(i32 noundef %3174, ptr noundef @.str.4)
  %3176 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3177 = load i32, ptr %3176, align 4, !tbaa !5
  %3178 = call ptr @s2n_strerror_debug(i32 noundef %3177, ptr noundef @.str.4)
  %3179 = call ptr @__errno_location() #11
  %3180 = load i32, ptr %3179, align 4, !tbaa !5
  %3181 = call ptr @strerror(i32 noundef %3180) #10
  %3182 = call ptr @__errno_location() #11
  %3183 = load i32, ptr %3182, align 4, !tbaa !5
  %3184 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3171, ptr noundef @.str.5, i32 noundef %3172, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 210, ptr noundef %3175, ptr noundef %3178, ptr noundef %3181, i32 noundef %3183) #10
  br label %3185

3185:                                             ; preds = %3168, %3151
  call void @llvm.lifetime.end.p0(i64 4, ptr %72) #10
  br label %3186

3186:                                             ; preds = %3185
  br label %3187

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

3188:                                             ; No predecessors!
  br label %3189

3189:                                             ; preds = %3188
  br label %3190

3190:                                             ; preds = %3189, %3132
  br label %3191

3191:                                             ; preds = %3190
  br label %3192

3192:                                             ; preds = %3191
  call void @llvm.lifetime.start.p0(i64 48, ptr %73) #10
  call void @llvm.memset.p0.i64(ptr align 8 %73, i8 0, i64 48, i1 false)
  br label %3193

3193:                                             ; preds = %3192
  %3194 = load i32, ptr @test_count, align 4, !tbaa !5
  %3195 = add nsw i32 %3194, 1
  store i32 %3195, ptr @test_count, align 4, !tbaa !5
  %3196 = call i32 @s2n_pkey_zero_init(ptr noundef %73)
  %3197 = icmp eq i32 %3196, -1
  br i1 %3197, label %3198, label %3251

3198:                                             ; preds = %3193
  br label %3199

3199:                                             ; preds = %3198
  br label %3200

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

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

3212:                                             ; preds = %3207
  %3213 = load i32, ptr %74, align 4, !tbaa !5
  %3214 = call ptr @__errno_location() #11
  store i32 %3213, ptr %3214, align 4, !tbaa !5
  %3215 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3216 = load i32, ptr @test_count, align 4, !tbaa !5
  %3217 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3218 = load i32, ptr %3217, align 4, !tbaa !5
  %3219 = call ptr @s2n_strerror(i32 noundef %3218, ptr noundef @.str.4)
  %3220 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3221 = load i32, ptr %3220, align 4, !tbaa !5
  %3222 = call ptr @s2n_strerror_debug(i32 noundef %3221, ptr noundef @.str.4)
  %3223 = call ptr @__errno_location() #11
  %3224 = load i32, ptr %3223, align 4, !tbaa !5
  %3225 = call ptr @strerror(i32 noundef %3224) #10
  %3226 = call ptr @__errno_location() #11
  %3227 = load i32, ptr %3226, align 4, !tbaa !5
  %3228 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3215, ptr noundef @.str.2, i32 noundef %3216, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 213, ptr noundef %3219, ptr noundef %3222, ptr noundef %3225, i32 noundef %3227) #10
  br label %3246

3229:                                             ; preds = %3207, %3200
  %3230 = load i32, ptr %74, align 4, !tbaa !5
  %3231 = call ptr @__errno_location() #11
  store i32 %3230, ptr %3231, align 4, !tbaa !5
  %3232 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3233 = load i32, ptr @test_count, align 4, !tbaa !5
  %3234 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3235 = load i32, ptr %3234, align 4, !tbaa !5
  %3236 = call ptr @s2n_strerror(i32 noundef %3235, ptr noundef @.str.4)
  %3237 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3238 = load i32, ptr %3237, align 4, !tbaa !5
  %3239 = call ptr @s2n_strerror_debug(i32 noundef %3238, ptr noundef @.str.4)
  %3240 = call ptr @__errno_location() #11
  %3241 = load i32, ptr %3240, align 4, !tbaa !5
  %3242 = call ptr @strerror(i32 noundef %3241) #10
  %3243 = call ptr @__errno_location() #11
  %3244 = load i32, ptr %3243, align 4, !tbaa !5
  %3245 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3232, ptr noundef @.str.5, i32 noundef %3233, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 213, ptr noundef %3236, ptr noundef %3239, ptr noundef %3242, i32 noundef %3244) #10
  br label %3246

3246:                                             ; preds = %3229, %3212
  call void @llvm.lifetime.end.p0(i64 4, ptr %74) #10
  br label %3247

3247:                                             ; preds = %3246
  br label %3248

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

3249:                                             ; No predecessors!
  br label %3250

3250:                                             ; preds = %3249
  br label %3251

3251:                                             ; preds = %3250, %3193
  br label %3252

3252:                                             ; preds = %3251
  br label %3253

3253:                                             ; preds = %3252
  call void @llvm.lifetime.start.p0(i64 4, ptr %75) #10
  store i32 -1, ptr %75, align 4, !tbaa !5
  br label %3254

3254:                                             ; preds = %3253
  %3255 = load i32, ptr @test_count, align 4, !tbaa !5
  %3256 = add nsw i32 %3255, 1
  store i32 %3256, ptr @test_count, align 4, !tbaa !5
  %3257 = load ptr, ptr %63, align 8, !tbaa !9
  %3258 = load ptr, ptr %71, align 8, !tbaa !9
  %3259 = load i32, ptr %70, align 4, !tbaa !5
  %3260 = call i32 @s2n_x509_validator_validate_cert_chain(ptr noundef %54, ptr noundef %3257, ptr noundef %3258, i32 noundef %3259, ptr noundef %75, ptr noundef %73)
  %3261 = getelementptr inbounds %struct.s2n_result, ptr %76, i32 0, i32 0
  store i32 %3260, ptr %3261, align 4
  %3262 = getelementptr inbounds %struct.s2n_result, ptr %76, i32 0, i32 0
  %3263 = load i32, ptr %3262, align 4
  %3264 = call zeroext i1 @s2n_result_is_ok(i32 %3263)
  br i1 %3264, label %3318, label %3265

3265:                                             ; preds = %3254
  br label %3266

3266:                                             ; preds = %3265
  br label %3267

3267:                                             ; preds = %3266
  call void @llvm.lifetime.start.p0(i64 4, ptr %77) #10
  %3268 = call ptr @__errno_location() #11
  %3269 = load i32, ptr %3268, align 4, !tbaa !5
  store i32 %3269, ptr %77, align 4, !tbaa !5
  %3270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3271 = call i32 @s2n_print_stacktrace(ptr noundef %3270)
  %3272 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3273 = trunc i8 %3272 to i1
  br i1 %3273, label %3274, label %3296

3274:                                             ; preds = %3267
  %3275 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3276 = call i32 @fileno(ptr noundef %3275) #10
  %3277 = call i32 @isatty(i32 noundef %3276) #10
  %3278 = icmp ne i32 %3277, 0
  br i1 %3278, label %3279, label %3296

3279:                                             ; preds = %3274
  %3280 = load i32, ptr %77, align 4, !tbaa !5
  %3281 = call ptr @__errno_location() #11
  store i32 %3280, ptr %3281, align 4, !tbaa !5
  %3282 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3283 = load i32, ptr @test_count, align 4, !tbaa !5
  %3284 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3285 = load i32, ptr %3284, align 4, !tbaa !5
  %3286 = call ptr @s2n_strerror(i32 noundef %3285, ptr noundef @.str.4)
  %3287 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3288 = load i32, ptr %3287, align 4, !tbaa !5
  %3289 = call ptr @s2n_strerror_debug(i32 noundef %3288, ptr noundef @.str.4)
  %3290 = call ptr @__errno_location() #11
  %3291 = load i32, ptr %3290, align 4, !tbaa !5
  %3292 = call ptr @strerror(i32 noundef %3291) #10
  %3293 = call ptr @__errno_location() #11
  %3294 = load i32, ptr %3293, align 4, !tbaa !5
  %3295 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3282, ptr noundef @.str.2, i32 noundef %3283, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 216, ptr noundef %3286, ptr noundef %3289, ptr noundef %3292, i32 noundef %3294) #10
  br label %3313

3296:                                             ; preds = %3274, %3267
  %3297 = load i32, ptr %77, align 4, !tbaa !5
  %3298 = call ptr @__errno_location() #11
  store i32 %3297, ptr %3298, align 4, !tbaa !5
  %3299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3300 = load i32, ptr @test_count, align 4, !tbaa !5
  %3301 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3302 = load i32, ptr %3301, align 4, !tbaa !5
  %3303 = call ptr @s2n_strerror(i32 noundef %3302, ptr noundef @.str.4)
  %3304 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3305 = load i32, ptr %3304, align 4, !tbaa !5
  %3306 = call ptr @s2n_strerror_debug(i32 noundef %3305, ptr noundef @.str.4)
  %3307 = call ptr @__errno_location() #11
  %3308 = load i32, ptr %3307, align 4, !tbaa !5
  %3309 = call ptr @strerror(i32 noundef %3308) #10
  %3310 = call ptr @__errno_location() #11
  %3311 = load i32, ptr %3310, align 4, !tbaa !5
  %3312 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3299, ptr noundef @.str.5, i32 noundef %3300, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 216, ptr noundef %3303, ptr noundef %3306, ptr noundef %3309, i32 noundef %3311) #10
  br label %3313

3313:                                             ; preds = %3296, %3279
  call void @llvm.lifetime.end.p0(i64 4, ptr %77) #10
  br label %3314

3314:                                             ; preds = %3313
  br label %3315

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

3316:                                             ; No predecessors!
  br label %3317

3317:                                             ; preds = %3316
  br label %3318

3318:                                             ; preds = %3317, %3254
  br label %3319

3319:                                             ; preds = %3318
  br label %3320

3320:                                             ; preds = %3319
  br label %3321

3321:                                             ; preds = %3320
  %3322 = load i32, ptr @test_count, align 4, !tbaa !5
  %3323 = add nsw i32 %3322, 1
  store i32 %3323, ptr @test_count, align 4, !tbaa !5
  %3324 = getelementptr inbounds %struct.crl_lookup_data, ptr %53, i32 0, i32 2
  %3325 = load i8, ptr %3324, align 8, !tbaa !27
  %3326 = zext i8 %3325 to i32
  %3327 = icmp eq i32 %3326, 2
  br i1 %3327, label %3381, label %3328

3328:                                             ; preds = %3321
  br label %3329

3329:                                             ; preds = %3328
  br label %3330

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

3337:                                             ; preds = %3330
  %3338 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3339 = call i32 @fileno(ptr noundef %3338) #10
  %3340 = call i32 @isatty(i32 noundef %3339) #10
  %3341 = icmp ne i32 %3340, 0
  br i1 %3341, label %3342, label %3359

3342:                                             ; preds = %3337
  %3343 = load i32, ptr %78, align 4, !tbaa !5
  %3344 = call ptr @__errno_location() #11
  store i32 %3343, ptr %3344, align 4, !tbaa !5
  %3345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3346 = load i32, ptr @test_count, align 4, !tbaa !5
  %3347 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3348 = load i32, ptr %3347, align 4, !tbaa !5
  %3349 = call ptr @s2n_strerror(i32 noundef %3348, ptr noundef @.str.4)
  %3350 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3351 = load i32, ptr %3350, align 4, !tbaa !5
  %3352 = call ptr @s2n_strerror_debug(i32 noundef %3351, ptr noundef @.str.4)
  %3353 = call ptr @__errno_location() #11
  %3354 = load i32, ptr %3353, align 4, !tbaa !5
  %3355 = call ptr @strerror(i32 noundef %3354) #10
  %3356 = call ptr @__errno_location() #11
  %3357 = load i32, ptr %3356, align 4, !tbaa !5
  %3358 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3345, ptr noundef @.str.2, i32 noundef %3346, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 217, ptr noundef %3349, ptr noundef %3352, ptr noundef %3355, i32 noundef %3357) #10
  br label %3376

3359:                                             ; preds = %3337, %3330
  %3360 = load i32, ptr %78, align 4, !tbaa !5
  %3361 = call ptr @__errno_location() #11
  store i32 %3360, ptr %3361, align 4, !tbaa !5
  %3362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3363 = load i32, ptr @test_count, align 4, !tbaa !5
  %3364 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3365 = load i32, ptr %3364, align 4, !tbaa !5
  %3366 = call ptr @s2n_strerror(i32 noundef %3365, ptr noundef @.str.4)
  %3367 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3368 = load i32, ptr %3367, align 4, !tbaa !5
  %3369 = call ptr @s2n_strerror_debug(i32 noundef %3368, ptr noundef @.str.4)
  %3370 = call ptr @__errno_location() #11
  %3371 = load i32, ptr %3370, align 4, !tbaa !5
  %3372 = call ptr @strerror(i32 noundef %3371) #10
  %3373 = call ptr @__errno_location() #11
  %3374 = load i32, ptr %3373, align 4, !tbaa !5
  %3375 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3362, ptr noundef @.str.5, i32 noundef %3363, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 217, ptr noundef %3366, ptr noundef %3369, ptr noundef %3372, i32 noundef %3374) #10
  br label %3376

3376:                                             ; preds = %3359, %3342
  call void @llvm.lifetime.end.p0(i64 4, ptr %78) #10
  br label %3377

3377:                                             ; preds = %3376
  br label %3378

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

3379:                                             ; No predecessors!
  br label %3380

3380:                                             ; preds = %3379
  br label %3381

3381:                                             ; preds = %3380, %3321
  br label %3382

3382:                                             ; preds = %3381
  br label %3383

3383:                                             ; preds = %3382
  call void @llvm.lifetime.start.p0(i64 4, ptr %79) #10
  store i32 0, ptr %79, align 4, !tbaa !5
  br label %3384

3384:                                             ; preds = %3454, %3383
  %3385 = load i32, ptr %79, align 4, !tbaa !5
  %3386 = icmp slt i32 %3385, 2
  br i1 %3386, label %3388, label %3387

3387:                                             ; preds = %3384
  store i32 282, ptr %26, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %79) #10
  br label %3457

3388:                                             ; preds = %3384
  br label %3389

3389:                                             ; preds = %3388
  %3390 = load i32, ptr @test_count, align 4, !tbaa !5
  %3391 = add nsw i32 %3390, 1
  store i32 %3391, ptr @test_count, align 4, !tbaa !5
  %3392 = getelementptr inbounds %struct.crl_lookup_data, ptr %53, i32 0, i32 1
  %3393 = load i32, ptr %79, align 4, !tbaa !5
  %3394 = sext i32 %3393 to i64
  %3395 = getelementptr inbounds [5 x ptr], ptr %3392, i64 0, i64 %3394
  %3396 = load ptr, ptr %3395, align 8, !tbaa !9
  %3397 = icmp eq ptr %3396, null
  br i1 %3397, label %3398, label %3451

3398:                                             ; preds = %3389
  br label %3399

3399:                                             ; preds = %3398
  br label %3400

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

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

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

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

3446:                                             ; preds = %3429, %3412
  call void @llvm.lifetime.end.p0(i64 4, ptr %80) #10
  br label %3447

3447:                                             ; preds = %3446
  br label %3448

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

3449:                                             ; No predecessors!
  br label %3450

3450:                                             ; preds = %3449
  br label %3451

3451:                                             ; preds = %3450, %3389
  br label %3452

3452:                                             ; preds = %3451
  br label %3453

3453:                                             ; preds = %3452
  br label %3454

3454:                                             ; preds = %3453
  %3455 = load i32, ptr %79, align 4, !tbaa !5
  %3456 = add nsw i32 %3455, 1
  store i32 %3456, ptr %79, align 4, !tbaa !5
  br label %3384, !llvm.loop !29

3457:                                             ; preds = %3387
  call void @llvm.lifetime.end.p0(i64 4, ptr %75) #10
  %3458 = call i32 @s2n_pkey_free(ptr noundef %73)
  call void @llvm.lifetime.end.p0(i64 48, ptr %73) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %71) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %70) #10
  %3459 = call i32 @s2n_stuffer_free(ptr noundef %67)
  call void @llvm.lifetime.end.p0(i64 40, ptr %67) #10
  %3460 = call i32 @s2n_connection_ptr_free(ptr noundef %63)
  %3461 = getelementptr inbounds %struct.s2n_result, ptr %81, i32 0, i32 0
  store i32 %3460, ptr %3461, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %63) #10
  %3462 = call i32 @s2n_config_ptr_free(ptr noundef %60)
  %3463 = getelementptr inbounds %struct.s2n_result, ptr %82, i32 0, i32 0
  store i32 %3462, ptr %3463, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %60) #10
  call void @llvm.lifetime.end.p0(i64 12000, ptr %56) #10
  call void @s2n_x509_trust_store_wipe(ptr noundef %55)
  call void @llvm.lifetime.end.p0(i64 16, ptr %55) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %83) #10
  call void @llvm.memset.p0.i64(ptr align 8 %83, i8 0, i64 16, i1 false)
  call void @s2n_x509_trust_store_init_empty(ptr noundef %83)
  call void @llvm.lifetime.start.p0(i64 12000, ptr %84) #10
  br label %3464

3464:                                             ; preds = %3457
  %3465 = load i32, ptr @test_count, align 4, !tbaa !5
  %3466 = add nsw i32 %3465, 1
  store i32 %3466, ptr @test_count, align 4, !tbaa !5
  %3467 = getelementptr inbounds [12000 x i8], ptr %84, i64 0, i64 0
  %3468 = call i32 @s2n_read_test_pem(ptr noundef @.str.31, ptr noundef %3467, i64 noundef 12000)
  %3469 = icmp eq i32 %3468, -1
  br i1 %3469, label %3470, label %3523

3470:                                             ; preds = %3464
  br label %3471

3471:                                             ; preds = %3470
  br label %3472

3472:                                             ; preds = %3471
  call void @llvm.lifetime.start.p0(i64 4, ptr %85) #10
  %3473 = call ptr @__errno_location() #11
  %3474 = load i32, ptr %3473, align 4, !tbaa !5
  store i32 %3474, ptr %85, align 4, !tbaa !5
  %3475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3476 = call i32 @s2n_print_stacktrace(ptr noundef %3475)
  %3477 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3478 = trunc i8 %3477 to i1
  br i1 %3478, label %3479, label %3501

3479:                                             ; preds = %3472
  %3480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3481 = call i32 @fileno(ptr noundef %3480) #10
  %3482 = call i32 @isatty(i32 noundef %3481) #10
  %3483 = icmp ne i32 %3482, 0
  br i1 %3483, label %3484, label %3501

3484:                                             ; preds = %3479
  %3485 = load i32, ptr %85, align 4, !tbaa !5
  %3486 = call ptr @__errno_location() #11
  store i32 %3485, ptr %3486, align 4, !tbaa !5
  %3487 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3488 = load i32, ptr @test_count, align 4, !tbaa !5
  %3489 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3490 = load i32, ptr %3489, align 4, !tbaa !5
  %3491 = call ptr @s2n_strerror(i32 noundef %3490, ptr noundef @.str.4)
  %3492 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3493 = load i32, ptr %3492, align 4, !tbaa !5
  %3494 = call ptr @s2n_strerror_debug(i32 noundef %3493, ptr noundef @.str.4)
  %3495 = call ptr @__errno_location() #11
  %3496 = load i32, ptr %3495, align 4, !tbaa !5
  %3497 = call ptr @strerror(i32 noundef %3496) #10
  %3498 = call ptr @__errno_location() #11
  %3499 = load i32, ptr %3498, align 4, !tbaa !5
  %3500 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3487, ptr noundef @.str.2, i32 noundef %3488, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 231, ptr noundef %3491, ptr noundef %3494, ptr noundef %3497, i32 noundef %3499) #10
  br label %3518

3501:                                             ; preds = %3479, %3472
  %3502 = load i32, ptr %85, align 4, !tbaa !5
  %3503 = call ptr @__errno_location() #11
  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() #11
  %3513 = load i32, ptr %3512, align 4, !tbaa !5
  %3514 = call ptr @strerror(i32 noundef %3513) #10
  %3515 = call ptr @__errno_location() #11
  %3516 = load i32, ptr %3515, align 4, !tbaa !5
  %3517 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3504, ptr noundef @.str.5, i32 noundef %3505, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 231, ptr noundef %3508, ptr noundef %3511, ptr noundef %3514, i32 noundef %3516) #10
  br label %3518

3518:                                             ; preds = %3501, %3484
  call void @llvm.lifetime.end.p0(i64 4, ptr %85) #10
  br label %3519

3519:                                             ; preds = %3518
  br label %3520

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

3521:                                             ; No predecessors!
  br label %3522

3522:                                             ; preds = %3521
  br label %3523

3523:                                             ; preds = %3522, %3464
  br label %3524

3524:                                             ; preds = %3523
  br label %3525

3525:                                             ; preds = %3524
  br label %3526

3526:                                             ; preds = %3525
  %3527 = load i32, ptr @test_count, align 4, !tbaa !5
  %3528 = add nsw i32 %3527, 1
  store i32 %3528, ptr @test_count, align 4, !tbaa !5
  %3529 = getelementptr inbounds [12000 x i8], ptr %84, i64 0, i64 0
  %3530 = call i32 @s2n_x509_trust_store_add_pem(ptr noundef %83, ptr noundef %3529)
  %3531 = icmp eq i32 %3530, -1
  br i1 %3531, label %3532, label %3585

3532:                                             ; preds = %3526
  br label %3533

3533:                                             ; preds = %3532
  br label %3534

3534:                                             ; preds = %3533
  call void @llvm.lifetime.start.p0(i64 4, ptr %86) #10
  %3535 = call ptr @__errno_location() #11
  %3536 = load i32, ptr %3535, align 4, !tbaa !5
  store i32 %3536, ptr %86, align 4, !tbaa !5
  %3537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3538 = call i32 @s2n_print_stacktrace(ptr noundef %3537)
  %3539 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3540 = trunc i8 %3539 to i1
  br i1 %3540, label %3541, label %3563

3541:                                             ; preds = %3534
  %3542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3543 = call i32 @fileno(ptr noundef %3542) #10
  %3544 = call i32 @isatty(i32 noundef %3543) #10
  %3545 = icmp ne i32 %3544, 0
  br i1 %3545, label %3546, label %3563

3546:                                             ; preds = %3541
  %3547 = load i32, ptr %86, align 4, !tbaa !5
  %3548 = call ptr @__errno_location() #11
  store i32 %3547, ptr %3548, align 4, !tbaa !5
  %3549 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3550 = load i32, ptr @test_count, align 4, !tbaa !5
  %3551 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3552 = load i32, ptr %3551, align 4, !tbaa !5
  %3553 = call ptr @s2n_strerror(i32 noundef %3552, ptr noundef @.str.4)
  %3554 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3555 = load i32, ptr %3554, align 4, !tbaa !5
  %3556 = call ptr @s2n_strerror_debug(i32 noundef %3555, ptr noundef @.str.4)
  %3557 = call ptr @__errno_location() #11
  %3558 = load i32, ptr %3557, align 4, !tbaa !5
  %3559 = call ptr @strerror(i32 noundef %3558) #10
  %3560 = call ptr @__errno_location() #11
  %3561 = load i32, ptr %3560, align 4, !tbaa !5
  %3562 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3549, ptr noundef @.str.2, i32 noundef %3550, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 232, ptr noundef %3553, ptr noundef %3556, ptr noundef %3559, i32 noundef %3561) #10
  br label %3580

3563:                                             ; preds = %3541, %3534
  %3564 = load i32, ptr %86, align 4, !tbaa !5
  %3565 = call ptr @__errno_location() #11
  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() #11
  %3575 = load i32, ptr %3574, align 4, !tbaa !5
  %3576 = call ptr @strerror(i32 noundef %3575) #10
  %3577 = call ptr @__errno_location() #11
  %3578 = load i32, ptr %3577, align 4, !tbaa !5
  %3579 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3566, ptr noundef @.str.5, i32 noundef %3567, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 232, ptr noundef %3570, ptr noundef %3573, ptr noundef %3576, i32 noundef %3578) #10
  br label %3580

3580:                                             ; preds = %3563, %3546
  call void @llvm.lifetime.end.p0(i64 4, ptr %86) #10
  br label %3581

3581:                                             ; preds = %3580
  br label %3582

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

3583:                                             ; No predecessors!
  br label %3584

3584:                                             ; preds = %3583
  br label %3585

3585:                                             ; preds = %3584, %3526
  br label %3586

3586:                                             ; preds = %3585
  br label %3587

3587:                                             ; preds = %3586
  call void @llvm.lifetime.start.p0(i64 56, ptr %87) #10
  br label %3588

3588:                                             ; preds = %3587
  %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 = call i32 @s2n_x509_validator_init(ptr noundef %87, ptr noundef %83, i8 noundef zeroext 0)
  %3592 = icmp eq i32 %3591, -1
  br i1 %3592, label %3593, label %3646

3593:                                             ; preds = %3588
  br label %3594

3594:                                             ; preds = %3593
  br label %3595

3595:                                             ; preds = %3594
  call void @llvm.lifetime.start.p0(i64 4, ptr %88) #10
  %3596 = call ptr @__errno_location() #11
  %3597 = load i32, ptr %3596, align 4, !tbaa !5
  store i32 %3597, ptr %88, align 4, !tbaa !5
  %3598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3599 = call i32 @s2n_print_stacktrace(ptr noundef %3598)
  %3600 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3601 = trunc i8 %3600 to i1
  br i1 %3601, label %3602, label %3624

3602:                                             ; preds = %3595
  %3603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3604 = call i32 @fileno(ptr noundef %3603) #10
  %3605 = call i32 @isatty(i32 noundef %3604) #10
  %3606 = icmp ne i32 %3605, 0
  br i1 %3606, label %3607, label %3624

3607:                                             ; preds = %3602
  %3608 = load i32, ptr %88, align 4, !tbaa !5
  %3609 = call ptr @__errno_location() #11
  store i32 %3608, ptr %3609, align 4, !tbaa !5
  %3610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3611 = load i32, ptr @test_count, align 4, !tbaa !5
  %3612 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3613 = load i32, ptr %3612, align 4, !tbaa !5
  %3614 = call ptr @s2n_strerror(i32 noundef %3613, ptr noundef @.str.4)
  %3615 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3616 = load i32, ptr %3615, align 4, !tbaa !5
  %3617 = call ptr @s2n_strerror_debug(i32 noundef %3616, ptr noundef @.str.4)
  %3618 = call ptr @__errno_location() #11
  %3619 = load i32, ptr %3618, align 4, !tbaa !5
  %3620 = call ptr @strerror(i32 noundef %3619) #10
  %3621 = call ptr @__errno_location() #11
  %3622 = load i32, ptr %3621, align 4, !tbaa !5
  %3623 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3610, ptr noundef @.str.2, i32 noundef %3611, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 235, ptr noundef %3614, ptr noundef %3617, ptr noundef %3620, i32 noundef %3622) #10
  br label %3641

3624:                                             ; preds = %3602, %3595
  %3625 = load i32, ptr %88, align 4, !tbaa !5
  %3626 = call ptr @__errno_location() #11
  store i32 %3625, ptr %3626, align 4, !tbaa !5
  %3627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3628 = load i32, ptr @test_count, align 4, !tbaa !5
  %3629 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3630 = load i32, ptr %3629, align 4, !tbaa !5
  %3631 = call ptr @s2n_strerror(i32 noundef %3630, ptr noundef @.str.4)
  %3632 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3633 = load i32, ptr %3632, align 4, !tbaa !5
  %3634 = call ptr @s2n_strerror_debug(i32 noundef %3633, ptr noundef @.str.4)
  %3635 = call ptr @__errno_location() #11
  %3636 = load i32, ptr %3635, align 4, !tbaa !5
  %3637 = call ptr @strerror(i32 noundef %3636) #10
  %3638 = call ptr @__errno_location() #11
  %3639 = load i32, ptr %3638, align 4, !tbaa !5
  %3640 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3627, ptr noundef @.str.5, i32 noundef %3628, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 235, ptr noundef %3631, ptr noundef %3634, ptr noundef %3637, i32 noundef %3639) #10
  br label %3641

3641:                                             ; preds = %3624, %3607
  call void @llvm.lifetime.end.p0(i64 4, ptr %88) #10
  br label %3642

3642:                                             ; preds = %3641
  br label %3643

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

3644:                                             ; No predecessors!
  br label %3645

3645:                                             ; preds = %3644
  br label %3646

3646:                                             ; preds = %3645, %3588
  br label %3647

3647:                                             ; preds = %3646
  br label %3648

3648:                                             ; preds = %3647
  call void @llvm.lifetime.start.p0(i64 88, ptr %89) #10
  call void @llvm.memset.p0.i64(ptr align 8 %89, i8 0, i64 88, i1 false)
  %3649 = load ptr, ptr %45, align 8, !tbaa !9
  %3650 = getelementptr inbounds %struct.crl_lookup_data, ptr %89, i32 0, i32 0
  %3651 = getelementptr inbounds [5 x ptr], ptr %3650, i64 0, i64 0
  store ptr %3649, ptr %3651, align 8, !tbaa !9
  %3652 = load ptr, ptr %43, align 8, !tbaa !9
  %3653 = getelementptr inbounds %struct.crl_lookup_data, ptr %89, i32 0, i32 0
  %3654 = getelementptr inbounds [5 x ptr], ptr %3653, i64 0, i64 1
  store ptr %3652, ptr %3654, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %90) #10
  %3655 = call ptr @s2n_config_new()
  store ptr %3655, ptr %90, align 8, !tbaa !9
  br label %3656

3656:                                             ; preds = %3648
  %3657 = load i32, ptr @test_count, align 4, !tbaa !5
  %3658 = add nsw i32 %3657, 1
  store i32 %3658, ptr @test_count, align 4, !tbaa !5
  %3659 = load ptr, ptr %90, align 8, !tbaa !9
  %3660 = icmp eq ptr %3659, null
  br i1 %3660, label %3661, label %3714

3661:                                             ; preds = %3656
  br label %3662

3662:                                             ; preds = %3661
  br label %3663

3663:                                             ; preds = %3662
  call void @llvm.lifetime.start.p0(i64 4, ptr %91) #10
  %3664 = call ptr @__errno_location() #11
  %3665 = load i32, ptr %3664, align 4, !tbaa !5
  store i32 %3665, ptr %91, align 4, !tbaa !5
  %3666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3667 = call i32 @s2n_print_stacktrace(ptr noundef %3666)
  %3668 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3669 = trunc i8 %3668 to i1
  br i1 %3669, label %3670, label %3692

3670:                                             ; preds = %3663
  %3671 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3672 = call i32 @fileno(ptr noundef %3671) #10
  %3673 = call i32 @isatty(i32 noundef %3672) #10
  %3674 = icmp ne i32 %3673, 0
  br i1 %3674, label %3675, label %3692

3675:                                             ; preds = %3670
  %3676 = load i32, ptr %91, align 4, !tbaa !5
  %3677 = call ptr @__errno_location() #11
  store i32 %3676, ptr %3677, align 4, !tbaa !5
  %3678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3679 = load i32, ptr @test_count, align 4, !tbaa !5
  %3680 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3681 = load i32, ptr %3680, align 4, !tbaa !5
  %3682 = call ptr @s2n_strerror(i32 noundef %3681, ptr noundef @.str.4)
  %3683 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3684 = load i32, ptr %3683, align 4, !tbaa !5
  %3685 = call ptr @s2n_strerror_debug(i32 noundef %3684, ptr noundef @.str.4)
  %3686 = call ptr @__errno_location() #11
  %3687 = load i32, ptr %3686, align 4, !tbaa !5
  %3688 = call ptr @strerror(i32 noundef %3687) #10
  %3689 = call ptr @__errno_location() #11
  %3690 = load i32, ptr %3689, align 4, !tbaa !5
  %3691 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3678, ptr noundef @.str.2, i32 noundef %3679, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 242, ptr noundef %3682, ptr noundef %3685, ptr noundef %3688, i32 noundef %3690) #10
  br label %3709

3692:                                             ; preds = %3670, %3663
  %3693 = load i32, ptr %91, align 4, !tbaa !5
  %3694 = call ptr @__errno_location() #11
  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() #11
  %3704 = load i32, ptr %3703, align 4, !tbaa !5
  %3705 = call ptr @strerror(i32 noundef %3704) #10
  %3706 = call ptr @__errno_location() #11
  %3707 = load i32, ptr %3706, align 4, !tbaa !5
  %3708 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3695, ptr noundef @.str.5, i32 noundef %3696, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 242, ptr noundef %3699, ptr noundef %3702, ptr noundef %3705, i32 noundef %3707) #10
  br label %3709

3709:                                             ; preds = %3692, %3675
  call void @llvm.lifetime.end.p0(i64 4, ptr %91) #10
  br label %3710

3710:                                             ; preds = %3709
  br label %3711

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

3712:                                             ; No predecessors!
  br label %3713

3713:                                             ; preds = %3712
  br label %3714

3714:                                             ; preds = %3713, %3656
  br label %3715

3715:                                             ; preds = %3714
  br label %3716

3716:                                             ; preds = %3715
  br label %3717

3717:                                             ; preds = %3716
  %3718 = load i32, ptr @test_count, align 4, !tbaa !5
  %3719 = add nsw i32 %3718, 1
  store i32 %3719, ptr @test_count, align 4, !tbaa !5
  %3720 = load ptr, ptr %90, align 8, !tbaa !9
  %3721 = call i32 @s2n_config_set_crl_lookup_cb(ptr noundef %3720, ptr noundef @crl_lookup_test_callback, ptr noundef %89)
  %3722 = icmp eq i32 %3721, -1
  br i1 %3722, label %3723, label %3776

3723:                                             ; preds = %3717
  br label %3724

3724:                                             ; preds = %3723
  br label %3725

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

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

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

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

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

3772:                                             ; preds = %3771
  br label %3773

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

3774:                                             ; No predecessors!
  br label %3775

3775:                                             ; preds = %3774
  br label %3776

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

3777:                                             ; preds = %3776
  br label %3778

3778:                                             ; preds = %3777
  call void @llvm.lifetime.start.p0(i64 8, ptr %93) #10
  %3779 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %3779, ptr %93, align 8, !tbaa !9
  br label %3780

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

3785:                                             ; preds = %3780
  br label %3786

3786:                                             ; preds = %3785
  br label %3787

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

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

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

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

3833:                                             ; preds = %3816, %3799
  call void @llvm.lifetime.end.p0(i64 4, ptr %94) #10
  br label %3834

3834:                                             ; preds = %3833
  br label %3835

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

3836:                                             ; No predecessors!
  br label %3837

3837:                                             ; preds = %3836
  br label %3838

3838:                                             ; preds = %3837, %3780
  br label %3839

3839:                                             ; preds = %3838
  br label %3840

3840:                                             ; preds = %3839
  br label %3841

3841:                                             ; preds = %3840
  %3842 = load i32, ptr @test_count, align 4, !tbaa !5
  %3843 = add nsw i32 %3842, 1
  store i32 %3843, ptr @test_count, align 4, !tbaa !5
  %3844 = load ptr, ptr %93, align 8, !tbaa !9
  %3845 = load ptr, ptr %90, align 8, !tbaa !9
  %3846 = call i32 @s2n_connection_set_config(ptr noundef %3844, ptr noundef %3845)
  %3847 = icmp eq i32 %3846, -1
  br i1 %3847, label %3848, label %3901

3848:                                             ; preds = %3841
  br label %3849

3849:                                             ; preds = %3848
  br label %3850

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

3857:                                             ; preds = %3850
  %3858 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3859 = call i32 @fileno(ptr noundef %3858) #10
  %3860 = call i32 @isatty(i32 noundef %3859) #10
  %3861 = icmp ne i32 %3860, 0
  br i1 %3861, label %3862, label %3879

3862:                                             ; preds = %3857
  %3863 = load i32, ptr %95, align 4, !tbaa !5
  %3864 = call ptr @__errno_location() #11
  store i32 %3863, ptr %3864, align 4, !tbaa !5
  %3865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3866 = load i32, ptr @test_count, align 4, !tbaa !5
  %3867 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3868 = load i32, ptr %3867, align 4, !tbaa !5
  %3869 = call ptr @s2n_strerror(i32 noundef %3868, ptr noundef @.str.4)
  %3870 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3871 = load i32, ptr %3870, align 4, !tbaa !5
  %3872 = call ptr @s2n_strerror_debug(i32 noundef %3871, ptr noundef @.str.4)
  %3873 = call ptr @__errno_location() #11
  %3874 = load i32, ptr %3873, align 4, !tbaa !5
  %3875 = call ptr @strerror(i32 noundef %3874) #10
  %3876 = call ptr @__errno_location() #11
  %3877 = load i32, ptr %3876, align 4, !tbaa !5
  %3878 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3865, ptr noundef @.str.2, i32 noundef %3866, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 247, ptr noundef %3869, ptr noundef %3872, ptr noundef %3875, i32 noundef %3877) #10
  br label %3896

3879:                                             ; preds = %3857, %3850
  %3880 = load i32, ptr %95, align 4, !tbaa !5
  %3881 = call ptr @__errno_location() #11
  store i32 %3880, ptr %3881, align 4, !tbaa !5
  %3882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3883 = load i32, ptr @test_count, align 4, !tbaa !5
  %3884 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3885 = load i32, ptr %3884, align 4, !tbaa !5
  %3886 = call ptr @s2n_strerror(i32 noundef %3885, ptr noundef @.str.4)
  %3887 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3888 = load i32, ptr %3887, align 4, !tbaa !5
  %3889 = call ptr @s2n_strerror_debug(i32 noundef %3888, ptr noundef @.str.4)
  %3890 = call ptr @__errno_location() #11
  %3891 = load i32, ptr %3890, align 4, !tbaa !5
  %3892 = call ptr @strerror(i32 noundef %3891) #10
  %3893 = call ptr @__errno_location() #11
  %3894 = load i32, ptr %3893, align 4, !tbaa !5
  %3895 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3882, ptr noundef @.str.5, i32 noundef %3883, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 247, ptr noundef %3886, ptr noundef %3889, ptr noundef %3892, i32 noundef %3894) #10
  br label %3896

3896:                                             ; preds = %3879, %3862
  call void @llvm.lifetime.end.p0(i64 4, ptr %95) #10
  br label %3897

3897:                                             ; preds = %3896
  br label %3898

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

3899:                                             ; No predecessors!
  br label %3900

3900:                                             ; preds = %3899
  br label %3901

3901:                                             ; preds = %3900, %3841
  br label %3902

3902:                                             ; preds = %3901
  br label %3903

3903:                                             ; preds = %3902
  br label %3904

3904:                                             ; preds = %3903
  %3905 = load i32, ptr @test_count, align 4, !tbaa !5
  %3906 = add nsw i32 %3905, 1
  store i32 %3906, ptr @test_count, align 4, !tbaa !5
  %3907 = load ptr, ptr %93, align 8, !tbaa !9
  %3908 = call i32 @s2n_set_server_name(ptr noundef %3907, ptr noundef @.str.39)
  %3909 = icmp eq i32 %3908, -1
  br i1 %3909, label %3910, label %3963

3910:                                             ; preds = %3904
  br label %3911

3911:                                             ; preds = %3910
  br label %3912

3912:                                             ; preds = %3911
  call void @llvm.lifetime.start.p0(i64 4, ptr %96) #10
  %3913 = call ptr @__errno_location() #11
  %3914 = load i32, ptr %3913, align 4, !tbaa !5
  store i32 %3914, ptr %96, align 4, !tbaa !5
  %3915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3916 = call i32 @s2n_print_stacktrace(ptr noundef %3915)
  %3917 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3918 = trunc i8 %3917 to i1
  br i1 %3918, label %3919, label %3941

3919:                                             ; preds = %3912
  %3920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3921 = call i32 @fileno(ptr noundef %3920) #10
  %3922 = call i32 @isatty(i32 noundef %3921) #10
  %3923 = icmp ne i32 %3922, 0
  br i1 %3923, label %3924, label %3941

3924:                                             ; preds = %3919
  %3925 = load i32, ptr %96, align 4, !tbaa !5
  %3926 = call ptr @__errno_location() #11
  store i32 %3925, ptr %3926, align 4, !tbaa !5
  %3927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3928 = load i32, ptr @test_count, align 4, !tbaa !5
  %3929 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3930 = load i32, ptr %3929, align 4, !tbaa !5
  %3931 = call ptr @s2n_strerror(i32 noundef %3930, ptr noundef @.str.4)
  %3932 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3933 = load i32, ptr %3932, align 4, !tbaa !5
  %3934 = call ptr @s2n_strerror_debug(i32 noundef %3933, ptr noundef @.str.4)
  %3935 = call ptr @__errno_location() #11
  %3936 = load i32, ptr %3935, align 4, !tbaa !5
  %3937 = call ptr @strerror(i32 noundef %3936) #10
  %3938 = call ptr @__errno_location() #11
  %3939 = load i32, ptr %3938, align 4, !tbaa !5
  %3940 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3927, ptr noundef @.str.2, i32 noundef %3928, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 248, ptr noundef %3931, ptr noundef %3934, ptr noundef %3937, i32 noundef %3939) #10
  br label %3958

3941:                                             ; preds = %3919, %3912
  %3942 = load i32, ptr %96, align 4, !tbaa !5
  %3943 = call ptr @__errno_location() #11
  store i32 %3942, ptr %3943, align 4, !tbaa !5
  %3944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3945 = load i32, ptr @test_count, align 4, !tbaa !5
  %3946 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3947 = load i32, ptr %3946, align 4, !tbaa !5
  %3948 = call ptr @s2n_strerror(i32 noundef %3947, ptr noundef @.str.4)
  %3949 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3950 = load i32, ptr %3949, align 4, !tbaa !5
  %3951 = call ptr @s2n_strerror_debug(i32 noundef %3950, ptr noundef @.str.4)
  %3952 = call ptr @__errno_location() #11
  %3953 = load i32, ptr %3952, align 4, !tbaa !5
  %3954 = call ptr @strerror(i32 noundef %3953) #10
  %3955 = call ptr @__errno_location() #11
  %3956 = load i32, ptr %3955, align 4, !tbaa !5
  %3957 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3944, ptr noundef @.str.5, i32 noundef %3945, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 248, ptr noundef %3948, ptr noundef %3951, ptr noundef %3954, i32 noundef %3956) #10
  br label %3958

3958:                                             ; preds = %3941, %3924
  call void @llvm.lifetime.end.p0(i64 4, ptr %96) #10
  br label %3959

3959:                                             ; preds = %3958
  br label %3960

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

3961:                                             ; No predecessors!
  br label %3962

3962:                                             ; preds = %3961
  br label %3963

3963:                                             ; preds = %3962, %3904
  br label %3964

3964:                                             ; preds = %3963
  br label %3965

3965:                                             ; preds = %3964
  call void @llvm.lifetime.start.p0(i64 40, ptr %97) #10
  call void @llvm.memset.p0.i64(ptr align 8 %97, i8 0, i64 40, i1 false)
  br label %3966

3966:                                             ; preds = %3965
  %3967 = load i32, ptr @test_count, align 4, !tbaa !5
  %3968 = add nsw i32 %3967, 1
  store i32 %3968, ptr @test_count, align 4, !tbaa !5
  %3969 = load ptr, ptr %93, align 8, !tbaa !9
  %3970 = call i32 @s2n_test_cert_chain_data_from_pem(ptr noundef %3969, ptr noundef @.str.50, ptr noundef %97)
  %3971 = getelementptr inbounds %struct.s2n_result, ptr %98, i32 0, i32 0
  store i32 %3970, ptr %3971, align 4
  %3972 = getelementptr inbounds %struct.s2n_result, ptr %98, i32 0, i32 0
  %3973 = load i32, ptr %3972, align 4
  %3974 = call zeroext i1 @s2n_result_is_ok(i32 %3973)
  br i1 %3974, label %4028, label %3975

3975:                                             ; preds = %3966
  br label %3976

3976:                                             ; preds = %3975
  br label %3977

3977:                                             ; preds = %3976
  call void @llvm.lifetime.start.p0(i64 4, ptr %99) #10
  %3978 = call ptr @__errno_location() #11
  %3979 = load i32, ptr %3978, align 4, !tbaa !5
  store i32 %3979, ptr %99, align 4, !tbaa !5
  %3980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3981 = call i32 @s2n_print_stacktrace(ptr noundef %3980)
  %3982 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3983 = trunc i8 %3982 to i1
  br i1 %3983, label %3984, label %4006

3984:                                             ; preds = %3977
  %3985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3986 = call i32 @fileno(ptr noundef %3985) #10
  %3987 = call i32 @isatty(i32 noundef %3986) #10
  %3988 = icmp ne i32 %3987, 0
  br i1 %3988, label %3989, label %4006

3989:                                             ; preds = %3984
  %3990 = load i32, ptr %99, align 4, !tbaa !5
  %3991 = call ptr @__errno_location() #11
  store i32 %3990, ptr %3991, align 4, !tbaa !5
  %3992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3993 = load i32, ptr @test_count, align 4, !tbaa !5
  %3994 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3995 = load i32, ptr %3994, align 4, !tbaa !5
  %3996 = call ptr @s2n_strerror(i32 noundef %3995, ptr noundef @.str.4)
  %3997 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3998 = load i32, ptr %3997, align 4, !tbaa !5
  %3999 = call ptr @s2n_strerror_debug(i32 noundef %3998, ptr noundef @.str.4)
  %4000 = call ptr @__errno_location() #11
  %4001 = load i32, ptr %4000, align 4, !tbaa !5
  %4002 = call ptr @strerror(i32 noundef %4001) #10
  %4003 = call ptr @__errno_location() #11
  %4004 = load i32, ptr %4003, align 4, !tbaa !5
  %4005 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3992, ptr noundef @.str.2, i32 noundef %3993, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 251, ptr noundef %3996, ptr noundef %3999, ptr noundef %4002, i32 noundef %4004) #10
  br label %4023

4006:                                             ; preds = %3984, %3977
  %4007 = load i32, ptr %99, align 4, !tbaa !5
  %4008 = call ptr @__errno_location() #11
  store i32 %4007, ptr %4008, align 4, !tbaa !5
  %4009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4010 = load i32, ptr @test_count, align 4, !tbaa !5
  %4011 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4012 = load i32, ptr %4011, align 4, !tbaa !5
  %4013 = call ptr @s2n_strerror(i32 noundef %4012, ptr noundef @.str.4)
  %4014 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4015 = load i32, ptr %4014, align 4, !tbaa !5
  %4016 = call ptr @s2n_strerror_debug(i32 noundef %4015, ptr noundef @.str.4)
  %4017 = call ptr @__errno_location() #11
  %4018 = load i32, ptr %4017, align 4, !tbaa !5
  %4019 = call ptr @strerror(i32 noundef %4018) #10
  %4020 = call ptr @__errno_location() #11
  %4021 = load i32, ptr %4020, align 4, !tbaa !5
  %4022 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4009, ptr noundef @.str.5, i32 noundef %4010, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 251, ptr noundef %4013, ptr noundef %4016, ptr noundef %4019, i32 noundef %4021) #10
  br label %4023

4023:                                             ; preds = %4006, %3989
  call void @llvm.lifetime.end.p0(i64 4, ptr %99) #10
  br label %4024

4024:                                             ; preds = %4023
  br label %4025

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

4026:                                             ; No predecessors!
  br label %4027

4027:                                             ; preds = %4026
  br label %4028

4028:                                             ; preds = %4027, %3966
  br label %4029

4029:                                             ; preds = %4028
  br label %4030

4030:                                             ; preds = %4029
  call void @llvm.lifetime.start.p0(i64 4, ptr %100) #10
  %4031 = getelementptr inbounds %struct.s2n_stuffer, ptr %97, i32 0, i32 2
  %4032 = load i32, ptr %4031, align 4, !tbaa !23
  %4033 = getelementptr inbounds %struct.s2n_stuffer, ptr %97, i32 0, i32 1
  %4034 = load i32, ptr %4033, align 8, !tbaa !26
  %4035 = sub i32 %4032, %4034
  store i32 %4035, ptr %100, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %101) #10
  %4036 = load i32, ptr %100, align 4, !tbaa !5
  %4037 = call ptr @s2n_stuffer_raw_read(ptr noundef %97, i32 noundef %4036)
  store ptr %4037, ptr %101, align 8, !tbaa !9
  br label %4038

4038:                                             ; preds = %4030
  %4039 = load i32, ptr @test_count, align 4, !tbaa !5
  %4040 = add nsw i32 %4039, 1
  store i32 %4040, ptr @test_count, align 4, !tbaa !5
  %4041 = load ptr, ptr %101, align 8, !tbaa !9
  %4042 = icmp eq ptr %4041, null
  br i1 %4042, label %4043, label %4096

4043:                                             ; preds = %4038
  br label %4044

4044:                                             ; preds = %4043
  br label %4045

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

4052:                                             ; preds = %4045
  %4053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4054 = call i32 @fileno(ptr noundef %4053) #10
  %4055 = call i32 @isatty(i32 noundef %4054) #10
  %4056 = icmp ne i32 %4055, 0
  br i1 %4056, label %4057, label %4074

4057:                                             ; preds = %4052
  %4058 = load i32, ptr %102, align 4, !tbaa !5
  %4059 = call ptr @__errno_location() #11
  store i32 %4058, ptr %4059, align 4, !tbaa !5
  %4060 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4061 = load i32, ptr @test_count, align 4, !tbaa !5
  %4062 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4063 = load i32, ptr %4062, align 4, !tbaa !5
  %4064 = call ptr @s2n_strerror(i32 noundef %4063, ptr noundef @.str.4)
  %4065 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4066 = load i32, ptr %4065, align 4, !tbaa !5
  %4067 = call ptr @s2n_strerror_debug(i32 noundef %4066, ptr noundef @.str.4)
  %4068 = call ptr @__errno_location() #11
  %4069 = load i32, ptr %4068, align 4, !tbaa !5
  %4070 = call ptr @strerror(i32 noundef %4069) #10
  %4071 = call ptr @__errno_location() #11
  %4072 = load i32, ptr %4071, align 4, !tbaa !5
  %4073 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4060, ptr noundef @.str.2, i32 noundef %4061, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 254, ptr noundef %4064, ptr noundef %4067, ptr noundef %4070, i32 noundef %4072) #10
  br label %4091

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

4091:                                             ; preds = %4074, %4057
  call void @llvm.lifetime.end.p0(i64 4, ptr %102) #10
  br label %4092

4092:                                             ; preds = %4091
  br label %4093

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

4094:                                             ; No predecessors!
  br label %4095

4095:                                             ; preds = %4094
  br label %4096

4096:                                             ; preds = %4095, %4038
  br label %4097

4097:                                             ; preds = %4096
  br label %4098

4098:                                             ; preds = %4097
  call void @llvm.lifetime.start.p0(i64 48, ptr %103) #10
  call void @llvm.memset.p0.i64(ptr align 8 %103, i8 0, i64 48, i1 false)
  br label %4099

4099:                                             ; preds = %4098
  %4100 = load i32, ptr @test_count, align 4, !tbaa !5
  %4101 = add nsw i32 %4100, 1
  store i32 %4101, ptr @test_count, align 4, !tbaa !5
  %4102 = call i32 @s2n_pkey_zero_init(ptr noundef %103)
  %4103 = icmp eq i32 %4102, -1
  br i1 %4103, label %4104, label %4157

4104:                                             ; preds = %4099
  br label %4105

4105:                                             ; preds = %4104
  br label %4106

4106:                                             ; preds = %4105
  call void @llvm.lifetime.start.p0(i64 4, ptr %104) #10
  %4107 = call ptr @__errno_location() #11
  %4108 = load i32, ptr %4107, align 4, !tbaa !5
  store i32 %4108, ptr %104, align 4, !tbaa !5
  %4109 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4110 = call i32 @s2n_print_stacktrace(ptr noundef %4109)
  %4111 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4112 = trunc i8 %4111 to i1
  br i1 %4112, label %4113, label %4135

4113:                                             ; preds = %4106
  %4114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4115 = call i32 @fileno(ptr noundef %4114) #10
  %4116 = call i32 @isatty(i32 noundef %4115) #10
  %4117 = icmp ne i32 %4116, 0
  br i1 %4117, label %4118, label %4135

4118:                                             ; preds = %4113
  %4119 = load i32, ptr %104, align 4, !tbaa !5
  %4120 = call ptr @__errno_location() #11
  store i32 %4119, ptr %4120, align 4, !tbaa !5
  %4121 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4122 = load i32, ptr @test_count, align 4, !tbaa !5
  %4123 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4124 = load i32, ptr %4123, align 4, !tbaa !5
  %4125 = call ptr @s2n_strerror(i32 noundef %4124, ptr noundef @.str.4)
  %4126 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4127 = load i32, ptr %4126, align 4, !tbaa !5
  %4128 = call ptr @s2n_strerror_debug(i32 noundef %4127, ptr noundef @.str.4)
  %4129 = call ptr @__errno_location() #11
  %4130 = load i32, ptr %4129, align 4, !tbaa !5
  %4131 = call ptr @strerror(i32 noundef %4130) #10
  %4132 = call ptr @__errno_location() #11
  %4133 = load i32, ptr %4132, align 4, !tbaa !5
  %4134 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4121, ptr noundef @.str.2, i32 noundef %4122, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 257, ptr noundef %4125, ptr noundef %4128, ptr noundef %4131, i32 noundef %4133) #10
  br label %4152

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

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

4153:                                             ; preds = %4152
  br label %4154

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

4155:                                             ; No predecessors!
  br label %4156

4156:                                             ; preds = %4155
  br label %4157

4157:                                             ; preds = %4156, %4099
  br label %4158

4158:                                             ; preds = %4157
  br label %4159

4159:                                             ; preds = %4158
  call void @llvm.lifetime.start.p0(i64 4, ptr %105) #10
  store i32 -1, ptr %105, align 4, !tbaa !5
  br label %4160

4160:                                             ; preds = %4159
  br label %4161

4161:                                             ; preds = %4160
  br label %4162

4162:                                             ; preds = %4161
  %4163 = load i32, ptr @test_count, align 4, !tbaa !5
  %4164 = add nsw i32 %4163, 1
  store i32 %4164, ptr @test_count, align 4, !tbaa !5
  %4165 = load ptr, ptr %93, align 8, !tbaa !9
  %4166 = load ptr, ptr %101, align 8, !tbaa !9
  %4167 = load i32, ptr %100, align 4, !tbaa !5
  %4168 = call i32 @s2n_x509_validator_validate_cert_chain(ptr noundef %87, ptr noundef %4165, ptr noundef %4166, i32 noundef %4167, ptr noundef %105, ptr noundef %103)
  %4169 = getelementptr inbounds %struct.s2n_result, ptr %106, i32 0, i32 0
  store i32 %4168, ptr %4169, align 4
  %4170 = getelementptr inbounds %struct.s2n_result, ptr %106, i32 0, i32 0
  %4171 = load i32, ptr %4170, align 4
  %4172 = call zeroext i1 @s2n_result_is_error(i32 %4171)
  br i1 %4172, label %4226, label %4173

4173:                                             ; preds = %4162
  br label %4174

4174:                                             ; preds = %4173
  br label %4175

4175:                                             ; preds = %4174
  call void @llvm.lifetime.start.p0(i64 4, ptr %107) #10
  %4176 = call ptr @__errno_location() #11
  %4177 = load i32, ptr %4176, align 4, !tbaa !5
  store i32 %4177, ptr %107, align 4, !tbaa !5
  %4178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4179 = call i32 @s2n_print_stacktrace(ptr noundef %4178)
  %4180 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4181 = trunc i8 %4180 to i1
  br i1 %4181, label %4182, label %4204

4182:                                             ; preds = %4175
  %4183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4184 = call i32 @fileno(ptr noundef %4183) #10
  %4185 = call i32 @isatty(i32 noundef %4184) #10
  %4186 = icmp ne i32 %4185, 0
  br i1 %4186, label %4187, label %4204

4187:                                             ; preds = %4182
  %4188 = load i32, ptr %107, align 4, !tbaa !5
  %4189 = call ptr @__errno_location() #11
  store i32 %4188, ptr %4189, align 4, !tbaa !5
  %4190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4191 = load i32, ptr @test_count, align 4, !tbaa !5
  %4192 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4193 = load i32, ptr %4192, align 4, !tbaa !5
  %4194 = call ptr @s2n_strerror(i32 noundef %4193, ptr noundef @.str.4)
  %4195 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4196 = load i32, ptr %4195, align 4, !tbaa !5
  %4197 = call ptr @s2n_strerror_debug(i32 noundef %4196, ptr noundef @.str.4)
  %4198 = call ptr @__errno_location() #11
  %4199 = load i32, ptr %4198, align 4, !tbaa !5
  %4200 = call ptr @strerror(i32 noundef %4199) #10
  %4201 = call ptr @__errno_location() #11
  %4202 = load i32, ptr %4201, align 4, !tbaa !5
  %4203 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4190, ptr noundef @.str.2, i32 noundef %4191, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 261, ptr noundef %4194, ptr noundef %4197, ptr noundef %4200, i32 noundef %4202) #10
  br label %4221

4204:                                             ; preds = %4182, %4175
  %4205 = load i32, ptr %107, align 4, !tbaa !5
  %4206 = call ptr @__errno_location() #11
  store i32 %4205, ptr %4206, align 4, !tbaa !5
  %4207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4208 = load i32, ptr @test_count, align 4, !tbaa !5
  %4209 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4210 = load i32, ptr %4209, align 4, !tbaa !5
  %4211 = call ptr @s2n_strerror(i32 noundef %4210, ptr noundef @.str.4)
  %4212 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4213 = load i32, ptr %4212, align 4, !tbaa !5
  %4214 = call ptr @s2n_strerror_debug(i32 noundef %4213, ptr noundef @.str.4)
  %4215 = call ptr @__errno_location() #11
  %4216 = load i32, ptr %4215, align 4, !tbaa !5
  %4217 = call ptr @strerror(i32 noundef %4216) #10
  %4218 = call ptr @__errno_location() #11
  %4219 = load i32, ptr %4218, align 4, !tbaa !5
  %4220 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4207, ptr noundef @.str.5, i32 noundef %4208, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 261, ptr noundef %4211, ptr noundef %4214, ptr noundef %4217, i32 noundef %4219) #10
  br label %4221

4221:                                             ; preds = %4204, %4187
  call void @llvm.lifetime.end.p0(i64 4, ptr %107) #10
  br label %4222

4222:                                             ; preds = %4221
  br label %4223

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

4224:                                             ; No predecessors!
  br label %4225

4225:                                             ; preds = %4224
  br label %4226

4226:                                             ; preds = %4225, %4162
  br label %4227

4227:                                             ; preds = %4226
  br label %4228

4228:                                             ; preds = %4227
  br label %4229

4229:                                             ; preds = %4228
  %4230 = load i32, ptr @test_count, align 4, !tbaa !5
  %4231 = add nsw i32 %4230, 1
  store i32 %4231, ptr @test_count, align 4, !tbaa !5
  %4232 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4233 = load i32, ptr %4232, align 4, !tbaa !5
  %4234 = icmp eq i32 %4233, 335544367
  br i1 %4234, label %4288, label %4235

4235:                                             ; preds = %4229
  br label %4236

4236:                                             ; preds = %4235
  br label %4237

4237:                                             ; preds = %4236
  call void @llvm.lifetime.start.p0(i64 4, ptr %108) #10
  %4238 = call ptr @__errno_location() #11
  %4239 = load i32, ptr %4238, align 4, !tbaa !5
  store i32 %4239, ptr %108, align 4, !tbaa !5
  %4240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4241 = call i32 @s2n_print_stacktrace(ptr noundef %4240)
  %4242 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4243 = trunc i8 %4242 to i1
  br i1 %4243, label %4244, label %4266

4244:                                             ; preds = %4237
  %4245 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4246 = call i32 @fileno(ptr noundef %4245) #10
  %4247 = call i32 @isatty(i32 noundef %4246) #10
  %4248 = icmp ne i32 %4247, 0
  br i1 %4248, label %4249, label %4266

4249:                                             ; preds = %4244
  %4250 = load i32, ptr %108, align 4, !tbaa !5
  %4251 = call ptr @__errno_location() #11
  store i32 %4250, ptr %4251, align 4, !tbaa !5
  %4252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4253 = load i32, ptr @test_count, align 4, !tbaa !5
  %4254 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4255 = load i32, ptr %4254, align 4, !tbaa !5
  %4256 = call ptr @s2n_strerror(i32 noundef %4255, ptr noundef @.str.4)
  %4257 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4258 = load i32, ptr %4257, align 4, !tbaa !5
  %4259 = call ptr @s2n_strerror_debug(i32 noundef %4258, ptr noundef @.str.4)
  %4260 = call ptr @__errno_location() #11
  %4261 = load i32, ptr %4260, align 4, !tbaa !5
  %4262 = call ptr @strerror(i32 noundef %4261) #10
  %4263 = call ptr @__errno_location() #11
  %4264 = load i32, ptr %4263, align 4, !tbaa !5
  %4265 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4252, ptr noundef @.str.2, i32 noundef %4253, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 261, ptr noundef %4256, ptr noundef %4259, ptr noundef %4262, i32 noundef %4264) #10
  br label %4283

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

4283:                                             ; preds = %4266, %4249
  call void @llvm.lifetime.end.p0(i64 4, ptr %108) #10
  br label %4284

4284:                                             ; preds = %4283
  br label %4285

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

4286:                                             ; No predecessors!
  br label %4287

4287:                                             ; preds = %4286
  br label %4288

4288:                                             ; preds = %4287, %4229
  br label %4289

4289:                                             ; preds = %4288
  br label %4290

4290:                                             ; preds = %4289
  br label %4291

4291:                                             ; preds = %4290
  %4292 = load i32, ptr @test_count, align 4, !tbaa !5
  %4293 = add nsw i32 %4292, 1
  store i32 %4293, 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_debug(i32 noundef %4295, ptr noundef @.str.4)
  %4297 = icmp eq ptr %4296, null
  br i1 %4297, label %4298, label %4351

4298:                                             ; preds = %4291
  br label %4299

4299:                                             ; preds = %4298
  br label %4300

4300:                                             ; preds = %4299
  call void @llvm.lifetime.start.p0(i64 4, ptr %109) #10
  %4301 = call ptr @__errno_location() #11
  %4302 = load i32, ptr %4301, align 4, !tbaa !5
  store i32 %4302, ptr %109, align 4, !tbaa !5
  %4303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4304 = call i32 @s2n_print_stacktrace(ptr noundef %4303)
  %4305 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4306 = trunc i8 %4305 to i1
  br i1 %4306, label %4307, label %4329

4307:                                             ; preds = %4300
  %4308 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4309 = call i32 @fileno(ptr noundef %4308) #10
  %4310 = call i32 @isatty(i32 noundef %4309) #10
  %4311 = icmp ne i32 %4310, 0
  br i1 %4311, label %4312, label %4329

4312:                                             ; preds = %4307
  %4313 = load i32, ptr %109, align 4, !tbaa !5
  %4314 = call ptr @__errno_location() #11
  store i32 %4313, ptr %4314, align 4, !tbaa !5
  %4315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4316 = load i32, 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 = call ptr @s2n_strerror(i32 noundef %4318, ptr noundef @.str.4)
  %4320 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4321 = load i32, ptr %4320, align 4, !tbaa !5
  %4322 = call ptr @s2n_strerror_debug(i32 noundef %4321, ptr noundef @.str.4)
  %4323 = call ptr @__errno_location() #11
  %4324 = load i32, ptr %4323, align 4, !tbaa !5
  %4325 = call ptr @strerror(i32 noundef %4324) #10
  %4326 = call ptr @__errno_location() #11
  %4327 = load i32, ptr %4326, align 4, !tbaa !5
  %4328 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4315, ptr noundef @.str.2, i32 noundef %4316, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 261, ptr noundef %4319, ptr noundef %4322, ptr noundef %4325, i32 noundef %4327) #10
  br label %4346

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

4346:                                             ; preds = %4329, %4312
  call void @llvm.lifetime.end.p0(i64 4, ptr %109) #10
  br label %4347

4347:                                             ; preds = %4346
  br label %4348

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

4349:                                             ; No predecessors!
  br label %4350

4350:                                             ; preds = %4349
  br label %4351

4351:                                             ; preds = %4350, %4291
  br label %4352

4352:                                             ; preds = %4351
  br label %4353

4353:                                             ; preds = %4352
  br label %4354

4354:                                             ; preds = %4353
  br label %4355

4355:                                             ; preds = %4354
  br label %4356

4356:                                             ; preds = %4355
  %4357 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %4357, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %4358 = call ptr @__errno_location() #11
  store i32 0, ptr %4358, align 4, !tbaa !5
  br label %4359

4359:                                             ; preds = %4356
  br label %4360

4360:                                             ; preds = %4359
  br label %4361

4361:                                             ; preds = %4360
  br label %4362

4362:                                             ; preds = %4361
  br label %4363

4363:                                             ; preds = %4362
  %4364 = load i32, ptr @test_count, align 4, !tbaa !5
  %4365 = add nsw i32 %4364, 1
  store i32 %4365, ptr @test_count, align 4, !tbaa !5
  %4366 = getelementptr inbounds %struct.crl_lookup_data, ptr %89, i32 0, i32 2
  %4367 = load i8, ptr %4366, align 8, !tbaa !27
  %4368 = zext i8 %4367 to i32
  %4369 = icmp eq i32 %4368, 2
  br i1 %4369, label %4423, label %4370

4370:                                             ; preds = %4363
  br label %4371

4371:                                             ; preds = %4370
  br label %4372

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

4379:                                             ; preds = %4372
  %4380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4381 = call i32 @fileno(ptr noundef %4380) #10
  %4382 = call i32 @isatty(i32 noundef %4381) #10
  %4383 = icmp ne i32 %4382, 0
  br i1 %4383, label %4384, label %4401

4384:                                             ; preds = %4379
  %4385 = load i32, ptr %110, align 4, !tbaa !5
  %4386 = call ptr @__errno_location() #11
  store i32 %4385, ptr %4386, align 4, !tbaa !5
  %4387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4388 = load i32, ptr @test_count, align 4, !tbaa !5
  %4389 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4390 = load i32, ptr %4389, align 4, !tbaa !5
  %4391 = call ptr @s2n_strerror(i32 noundef %4390, ptr noundef @.str.4)
  %4392 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4393 = load i32, ptr %4392, align 4, !tbaa !5
  %4394 = call ptr @s2n_strerror_debug(i32 noundef %4393, ptr noundef @.str.4)
  %4395 = call ptr @__errno_location() #11
  %4396 = load i32, ptr %4395, align 4, !tbaa !5
  %4397 = call ptr @strerror(i32 noundef %4396) #10
  %4398 = call ptr @__errno_location() #11
  %4399 = load i32, ptr %4398, align 4, !tbaa !5
  %4400 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4387, ptr noundef @.str.2, i32 noundef %4388, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 262, ptr noundef %4391, ptr noundef %4394, ptr noundef %4397, i32 noundef %4399) #10
  br label %4418

4401:                                             ; preds = %4379, %4372
  %4402 = load i32, ptr %110, align 4, !tbaa !5
  %4403 = call ptr @__errno_location() #11
  store i32 %4402, ptr %4403, align 4, !tbaa !5
  %4404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4405 = load i32, ptr @test_count, align 4, !tbaa !5
  %4406 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4407 = load i32, ptr %4406, align 4, !tbaa !5
  %4408 = call ptr @s2n_strerror(i32 noundef %4407, ptr noundef @.str.4)
  %4409 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4410 = load i32, ptr %4409, align 4, !tbaa !5
  %4411 = call ptr @s2n_strerror_debug(i32 noundef %4410, ptr noundef @.str.4)
  %4412 = call ptr @__errno_location() #11
  %4413 = load i32, ptr %4412, align 4, !tbaa !5
  %4414 = call ptr @strerror(i32 noundef %4413) #10
  %4415 = call ptr @__errno_location() #11
  %4416 = load i32, ptr %4415, align 4, !tbaa !5
  %4417 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4404, ptr noundef @.str.5, i32 noundef %4405, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 262, ptr noundef %4408, ptr noundef %4411, ptr noundef %4414, i32 noundef %4416) #10
  br label %4418

4418:                                             ; preds = %4401, %4384
  call void @llvm.lifetime.end.p0(i64 4, ptr %110) #10
  br label %4419

4419:                                             ; preds = %4418
  br label %4420

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

4421:                                             ; No predecessors!
  br label %4422

4422:                                             ; preds = %4421
  br label %4423

4423:                                             ; preds = %4422, %4363
  br label %4424

4424:                                             ; preds = %4423
  br label %4425

4425:                                             ; preds = %4424
  call void @llvm.lifetime.end.p0(i64 4, ptr %105) #10
  %4426 = call i32 @s2n_pkey_free(ptr noundef %103)
  call void @llvm.lifetime.end.p0(i64 48, ptr %103) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %101) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %100) #10
  %4427 = call i32 @s2n_stuffer_free(ptr noundef %97)
  call void @llvm.lifetime.end.p0(i64 40, ptr %97) #10
  %4428 = call i32 @s2n_connection_ptr_free(ptr noundef %93)
  %4429 = getelementptr inbounds %struct.s2n_result, ptr %111, i32 0, i32 0
  store i32 %4428, ptr %4429, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %93) #10
  %4430 = call i32 @s2n_config_ptr_free(ptr noundef %90)
  %4431 = getelementptr inbounds %struct.s2n_result, ptr %112, i32 0, i32 0
  store i32 %4430, ptr %4431, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %90) #10
  call void @llvm.lifetime.end.p0(i64 88, ptr %89) #10
  %4432 = call i32 @s2n_x509_validator_wipe(ptr noundef %87)
  call void @llvm.lifetime.end.p0(i64 56, ptr %87) #10
  call void @llvm.lifetime.end.p0(i64 12000, ptr %84) #10
  call void @s2n_x509_trust_store_wipe(ptr noundef %83)
  call void @llvm.lifetime.end.p0(i64 16, ptr %83) #10
  call void @llvm.lifetime.start.p0(i64 4, ptr %113) #10
  store i32 0, ptr %113, align 4, !tbaa !5
  br label %4433

4433:                                             ; preds = %5481, %4425
  %4434 = load i32, ptr %113, align 4, !tbaa !5
  %4435 = icmp slt i32 %4434, 2
  br i1 %4435, label %4437, label %4436

4436:                                             ; preds = %4433
  store i32 387, ptr %26, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %113) #10
  br label %5484

4437:                                             ; preds = %4433
  call void @llvm.lifetime.start.p0(i64 16, ptr %114) #10
  call void @llvm.memset.p0.i64(ptr align 8 %114, i8 0, i64 16, i1 false)
  call void @s2n_x509_trust_store_init_empty(ptr noundef %114)
  call void @llvm.lifetime.start.p0(i64 12000, ptr %115) #10
  br label %4438

4438:                                             ; preds = %4437
  %4439 = load i32, ptr @test_count, align 4, !tbaa !5
  %4440 = add nsw i32 %4439, 1
  store i32 %4440, ptr @test_count, align 4, !tbaa !5
  %4441 = getelementptr inbounds [12000 x i8], ptr %115, i64 0, i64 0
  %4442 = call i32 @s2n_read_test_pem(ptr noundef @.str.31, ptr noundef %4441, i64 noundef 12000)
  %4443 = icmp eq i32 %4442, -1
  br i1 %4443, label %4444, label %4497

4444:                                             ; preds = %4438
  br label %4445

4445:                                             ; preds = %4444
  br label %4446

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

4453:                                             ; preds = %4446
  %4454 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4455 = call i32 @fileno(ptr noundef %4454) #10
  %4456 = call i32 @isatty(i32 noundef %4455) #10
  %4457 = icmp ne i32 %4456, 0
  br i1 %4457, label %4458, label %4475

4458:                                             ; preds = %4453
  %4459 = load i32, ptr %116, align 4, !tbaa !5
  %4460 = call ptr @__errno_location() #11
  store i32 %4459, ptr %4460, align 4, !tbaa !5
  %4461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4462 = load i32, ptr @test_count, align 4, !tbaa !5
  %4463 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4464 = load i32, ptr %4463, align 4, !tbaa !5
  %4465 = call ptr @s2n_strerror(i32 noundef %4464, ptr noundef @.str.4)
  %4466 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4467 = load i32, ptr %4466, align 4, !tbaa !5
  %4468 = call ptr @s2n_strerror_debug(i32 noundef %4467, ptr noundef @.str.4)
  %4469 = call ptr @__errno_location() #11
  %4470 = load i32, ptr %4469, align 4, !tbaa !5
  %4471 = call ptr @strerror(i32 noundef %4470) #10
  %4472 = call ptr @__errno_location() #11
  %4473 = load i32, ptr %4472, align 4, !tbaa !5
  %4474 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4461, ptr noundef @.str.2, i32 noundef %4462, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 271, ptr noundef %4465, ptr noundef %4468, ptr noundef %4471, i32 noundef %4473) #10
  br label %4492

4475:                                             ; preds = %4453, %4446
  %4476 = load i32, ptr %116, align 4, !tbaa !5
  %4477 = call ptr @__errno_location() #11
  store i32 %4476, ptr %4477, align 4, !tbaa !5
  %4478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4479 = load i32, ptr @test_count, align 4, !tbaa !5
  %4480 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4481 = load i32, ptr %4480, align 4, !tbaa !5
  %4482 = call ptr @s2n_strerror(i32 noundef %4481, ptr noundef @.str.4)
  %4483 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4484 = load i32, ptr %4483, align 4, !tbaa !5
  %4485 = call ptr @s2n_strerror_debug(i32 noundef %4484, ptr noundef @.str.4)
  %4486 = call ptr @__errno_location() #11
  %4487 = load i32, ptr %4486, align 4, !tbaa !5
  %4488 = call ptr @strerror(i32 noundef %4487) #10
  %4489 = call ptr @__errno_location() #11
  %4490 = load i32, ptr %4489, align 4, !tbaa !5
  %4491 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4478, ptr noundef @.str.5, i32 noundef %4479, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 271, ptr noundef %4482, ptr noundef %4485, ptr noundef %4488, i32 noundef %4490) #10
  br label %4492

4492:                                             ; preds = %4475, %4458
  call void @llvm.lifetime.end.p0(i64 4, ptr %116) #10
  br label %4493

4493:                                             ; preds = %4492
  br label %4494

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

4495:                                             ; No predecessors!
  br label %4496

4496:                                             ; preds = %4495
  br label %4497

4497:                                             ; preds = %4496, %4438
  br label %4498

4498:                                             ; preds = %4497
  br label %4499

4499:                                             ; preds = %4498
  br label %4500

4500:                                             ; preds = %4499
  %4501 = load i32, ptr @test_count, align 4, !tbaa !5
  %4502 = add nsw i32 %4501, 1
  store i32 %4502, ptr @test_count, align 4, !tbaa !5
  %4503 = getelementptr inbounds [12000 x i8], ptr %115, i64 0, i64 0
  %4504 = call i32 @s2n_x509_trust_store_add_pem(ptr noundef %114, ptr noundef %4503)
  %4505 = icmp eq i32 %4504, -1
  br i1 %4505, label %4506, label %4559

4506:                                             ; preds = %4500
  br label %4507

4507:                                             ; preds = %4506
  br label %4508

4508:                                             ; preds = %4507
  call void @llvm.lifetime.start.p0(i64 4, ptr %117) #10
  %4509 = call ptr @__errno_location() #11
  %4510 = load i32, ptr %4509, align 4, !tbaa !5
  store i32 %4510, ptr %117, align 4, !tbaa !5
  %4511 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4512 = call i32 @s2n_print_stacktrace(ptr noundef %4511)
  %4513 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4514 = trunc i8 %4513 to i1
  br i1 %4514, label %4515, label %4537

4515:                                             ; preds = %4508
  %4516 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4517 = call i32 @fileno(ptr noundef %4516) #10
  %4518 = call i32 @isatty(i32 noundef %4517) #10
  %4519 = icmp ne i32 %4518, 0
  br i1 %4519, label %4520, label %4537

4520:                                             ; preds = %4515
  %4521 = load i32, ptr %117, align 4, !tbaa !5
  %4522 = call ptr @__errno_location() #11
  store i32 %4521, ptr %4522, align 4, !tbaa !5
  %4523 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4524 = load i32, ptr @test_count, align 4, !tbaa !5
  %4525 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4526 = load i32, ptr %4525, align 4, !tbaa !5
  %4527 = call ptr @s2n_strerror(i32 noundef %4526, ptr noundef @.str.4)
  %4528 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4529 = load i32, ptr %4528, align 4, !tbaa !5
  %4530 = call ptr @s2n_strerror_debug(i32 noundef %4529, ptr noundef @.str.4)
  %4531 = call ptr @__errno_location() #11
  %4532 = load i32, ptr %4531, align 4, !tbaa !5
  %4533 = call ptr @strerror(i32 noundef %4532) #10
  %4534 = call ptr @__errno_location() #11
  %4535 = load i32, ptr %4534, align 4, !tbaa !5
  %4536 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4523, ptr noundef @.str.2, i32 noundef %4524, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 272, ptr noundef %4527, ptr noundef %4530, ptr noundef %4533, i32 noundef %4535) #10
  br label %4554

4537:                                             ; preds = %4515, %4508
  %4538 = load i32, ptr %117, align 4, !tbaa !5
  %4539 = call ptr @__errno_location() #11
  store i32 %4538, ptr %4539, align 4, !tbaa !5
  %4540 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4541 = load i32, ptr @test_count, align 4, !tbaa !5
  %4542 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4543 = load i32, ptr %4542, align 4, !tbaa !5
  %4544 = call ptr @s2n_strerror(i32 noundef %4543, ptr noundef @.str.4)
  %4545 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4546 = load i32, ptr %4545, align 4, !tbaa !5
  %4547 = call ptr @s2n_strerror_debug(i32 noundef %4546, ptr noundef @.str.4)
  %4548 = call ptr @__errno_location() #11
  %4549 = load i32, ptr %4548, align 4, !tbaa !5
  %4550 = call ptr @strerror(i32 noundef %4549) #10
  %4551 = call ptr @__errno_location() #11
  %4552 = load i32, ptr %4551, align 4, !tbaa !5
  %4553 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4540, ptr noundef @.str.5, i32 noundef %4541, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 272, ptr noundef %4544, ptr noundef %4547, ptr noundef %4550, i32 noundef %4552) #10
  br label %4554

4554:                                             ; preds = %4537, %4520
  call void @llvm.lifetime.end.p0(i64 4, ptr %117) #10
  br label %4555

4555:                                             ; preds = %4554
  br label %4556

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

4557:                                             ; No predecessors!
  br label %4558

4558:                                             ; preds = %4557
  br label %4559

4559:                                             ; preds = %4558, %4500
  br label %4560

4560:                                             ; preds = %4559
  br label %4561

4561:                                             ; preds = %4560
  call void @llvm.lifetime.start.p0(i64 56, ptr %118) #10
  br label %4562

4562:                                             ; preds = %4561
  %4563 = load i32, ptr @test_count, align 4, !tbaa !5
  %4564 = add nsw i32 %4563, 1
  store i32 %4564, ptr @test_count, align 4, !tbaa !5
  %4565 = call i32 @s2n_x509_validator_init(ptr noundef %118, ptr noundef %114, i8 noundef zeroext 0)
  %4566 = icmp eq i32 %4565, -1
  br i1 %4566, label %4567, label %4620

4567:                                             ; preds = %4562
  br label %4568

4568:                                             ; preds = %4567
  br label %4569

4569:                                             ; preds = %4568
  call void @llvm.lifetime.start.p0(i64 4, ptr %119) #10
  %4570 = call ptr @__errno_location() #11
  %4571 = load i32, ptr %4570, align 4, !tbaa !5
  store i32 %4571, ptr %119, align 4, !tbaa !5
  %4572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4573 = call i32 @s2n_print_stacktrace(ptr noundef %4572)
  %4574 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4575 = trunc i8 %4574 to i1
  br i1 %4575, label %4576, label %4598

4576:                                             ; preds = %4569
  %4577 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4578 = call i32 @fileno(ptr noundef %4577) #10
  %4579 = call i32 @isatty(i32 noundef %4578) #10
  %4580 = icmp ne i32 %4579, 0
  br i1 %4580, label %4581, label %4598

4581:                                             ; preds = %4576
  %4582 = load i32, ptr %119, align 4, !tbaa !5
  %4583 = call ptr @__errno_location() #11
  store i32 %4582, ptr %4583, align 4, !tbaa !5
  %4584 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4585 = load i32, ptr @test_count, align 4, !tbaa !5
  %4586 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4587 = load i32, ptr %4586, align 4, !tbaa !5
  %4588 = call ptr @s2n_strerror(i32 noundef %4587, ptr noundef @.str.4)
  %4589 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4590 = load i32, ptr %4589, align 4, !tbaa !5
  %4591 = call ptr @s2n_strerror_debug(i32 noundef %4590, ptr noundef @.str.4)
  %4592 = call ptr @__errno_location() #11
  %4593 = load i32, ptr %4592, align 4, !tbaa !5
  %4594 = call ptr @strerror(i32 noundef %4593) #10
  %4595 = call ptr @__errno_location() #11
  %4596 = load i32, ptr %4595, align 4, !tbaa !5
  %4597 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4584, ptr noundef @.str.2, i32 noundef %4585, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 275, ptr noundef %4588, ptr noundef %4591, ptr noundef %4594, i32 noundef %4596) #10
  br label %4615

4598:                                             ; preds = %4576, %4569
  %4599 = load i32, ptr %119, align 4, !tbaa !5
  %4600 = call ptr @__errno_location() #11
  store i32 %4599, ptr %4600, align 4, !tbaa !5
  %4601 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4602 = load i32, ptr @test_count, align 4, !tbaa !5
  %4603 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4604 = load i32, ptr %4603, align 4, !tbaa !5
  %4605 = call ptr @s2n_strerror(i32 noundef %4604, ptr noundef @.str.4)
  %4606 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4607 = load i32, ptr %4606, align 4, !tbaa !5
  %4608 = call ptr @s2n_strerror_debug(i32 noundef %4607, ptr noundef @.str.4)
  %4609 = call ptr @__errno_location() #11
  %4610 = load i32, ptr %4609, align 4, !tbaa !5
  %4611 = call ptr @strerror(i32 noundef %4610) #10
  %4612 = call ptr @__errno_location() #11
  %4613 = load i32, ptr %4612, align 4, !tbaa !5
  %4614 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4601, ptr noundef @.str.5, i32 noundef %4602, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 275, ptr noundef %4605, ptr noundef %4608, ptr noundef %4611, i32 noundef %4613) #10
  br label %4615

4615:                                             ; preds = %4598, %4581
  call void @llvm.lifetime.end.p0(i64 4, ptr %119) #10
  br label %4616

4616:                                             ; preds = %4615
  br label %4617

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

4618:                                             ; No predecessors!
  br label %4619

4619:                                             ; preds = %4618
  br label %4620

4620:                                             ; preds = %4619, %4562
  br label %4621

4621:                                             ; preds = %4620
  br label %4622

4622:                                             ; preds = %4621
  call void @llvm.lifetime.start.p0(i64 88, ptr %120) #10
  call void @llvm.memset.p0.i64(ptr align 8 %120, i8 0, i64 88, i1 false)
  %4623 = load ptr, ptr %47, align 8, !tbaa !9
  %4624 = getelementptr inbounds %struct.crl_lookup_data, ptr %120, i32 0, i32 0
  %4625 = getelementptr inbounds [5 x ptr], ptr %4624, i64 0, i64 0
  store ptr %4623, ptr %4625, align 8, !tbaa !9
  %4626 = load ptr, ptr %43, align 8, !tbaa !9
  %4627 = getelementptr inbounds %struct.crl_lookup_data, ptr %120, i32 0, i32 0
  %4628 = getelementptr inbounds [5 x ptr], ptr %4627, i64 0, i64 1
  store ptr %4626, ptr %4628, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %121) #10
  %4629 = call ptr @s2n_config_new()
  store ptr %4629, ptr %121, align 8, !tbaa !9
  br label %4630

4630:                                             ; preds = %4622
  %4631 = load i32, ptr @test_count, align 4, !tbaa !5
  %4632 = add nsw i32 %4631, 1
  store i32 %4632, ptr @test_count, align 4, !tbaa !5
  %4633 = load ptr, ptr %121, align 8, !tbaa !9
  %4634 = icmp eq ptr %4633, null
  br i1 %4634, label %4635, label %4688

4635:                                             ; preds = %4630
  br label %4636

4636:                                             ; preds = %4635
  br label %4637

4637:                                             ; preds = %4636
  call void @llvm.lifetime.start.p0(i64 4, ptr %122) #10
  %4638 = call ptr @__errno_location() #11
  %4639 = load i32, ptr %4638, align 4, !tbaa !5
  store i32 %4639, ptr %122, align 4, !tbaa !5
  %4640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4641 = call i32 @s2n_print_stacktrace(ptr noundef %4640)
  %4642 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4643 = trunc i8 %4642 to i1
  br i1 %4643, label %4644, label %4666

4644:                                             ; preds = %4637
  %4645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4646 = call i32 @fileno(ptr noundef %4645) #10
  %4647 = call i32 @isatty(i32 noundef %4646) #10
  %4648 = icmp ne i32 %4647, 0
  br i1 %4648, label %4649, label %4666

4649:                                             ; preds = %4644
  %4650 = load i32, ptr %122, align 4, !tbaa !5
  %4651 = call ptr @__errno_location() #11
  store i32 %4650, ptr %4651, align 4, !tbaa !5
  %4652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4653 = load i32, ptr @test_count, align 4, !tbaa !5
  %4654 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4655 = load i32, ptr %4654, align 4, !tbaa !5
  %4656 = call ptr @s2n_strerror(i32 noundef %4655, ptr noundef @.str.4)
  %4657 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4658 = load i32, ptr %4657, align 4, !tbaa !5
  %4659 = call ptr @s2n_strerror_debug(i32 noundef %4658, ptr noundef @.str.4)
  %4660 = call ptr @__errno_location() #11
  %4661 = load i32, ptr %4660, align 4, !tbaa !5
  %4662 = call ptr @strerror(i32 noundef %4661) #10
  %4663 = call ptr @__errno_location() #11
  %4664 = load i32, ptr %4663, align 4, !tbaa !5
  %4665 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4652, ptr noundef @.str.2, i32 noundef %4653, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 282, ptr noundef %4656, ptr noundef %4659, ptr noundef %4662, i32 noundef %4664) #10
  br label %4683

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

4683:                                             ; preds = %4666, %4649
  call void @llvm.lifetime.end.p0(i64 4, ptr %122) #10
  br label %4684

4684:                                             ; preds = %4683
  br label %4685

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

4686:                                             ; No predecessors!
  br label %4687

4687:                                             ; preds = %4686
  br label %4688

4688:                                             ; preds = %4687, %4630
  br label %4689

4689:                                             ; preds = %4688
  br label %4690

4690:                                             ; preds = %4689
  br label %4691

4691:                                             ; preds = %4690
  %4692 = load i32, ptr @test_count, align 4, !tbaa !5
  %4693 = add nsw i32 %4692, 1
  store i32 %4693, ptr @test_count, align 4, !tbaa !5
  %4694 = load ptr, ptr %121, align 8, !tbaa !9
  %4695 = call i32 @s2n_config_set_crl_lookup_cb(ptr noundef %4694, ptr noundef @crl_lookup_test_callback, ptr noundef %120)
  %4696 = icmp eq i32 %4695, -1
  br i1 %4696, label %4697, label %4750

4697:                                             ; preds = %4691
  br label %4698

4698:                                             ; preds = %4697
  br label %4699

4699:                                             ; preds = %4698
  call void @llvm.lifetime.start.p0(i64 4, ptr %123) #10
  %4700 = call ptr @__errno_location() #11
  %4701 = load i32, ptr %4700, align 4, !tbaa !5
  store i32 %4701, ptr %123, align 4, !tbaa !5
  %4702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4703 = call i32 @s2n_print_stacktrace(ptr noundef %4702)
  %4704 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4705 = trunc i8 %4704 to i1
  br i1 %4705, label %4706, label %4728

4706:                                             ; preds = %4699
  %4707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4708 = call i32 @fileno(ptr noundef %4707) #10
  %4709 = call i32 @isatty(i32 noundef %4708) #10
  %4710 = icmp ne i32 %4709, 0
  br i1 %4710, label %4711, label %4728

4711:                                             ; preds = %4706
  %4712 = load i32, ptr %123, align 4, !tbaa !5
  %4713 = call ptr @__errno_location() #11
  store i32 %4712, ptr %4713, align 4, !tbaa !5
  %4714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4715 = load i32, ptr @test_count, align 4, !tbaa !5
  %4716 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4717 = load i32, ptr %4716, align 4, !tbaa !5
  %4718 = call ptr @s2n_strerror(i32 noundef %4717, ptr noundef @.str.4)
  %4719 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4720 = load i32, ptr %4719, align 4, !tbaa !5
  %4721 = call ptr @s2n_strerror_debug(i32 noundef %4720, ptr noundef @.str.4)
  %4722 = call ptr @__errno_location() #11
  %4723 = load i32, ptr %4722, align 4, !tbaa !5
  %4724 = call ptr @strerror(i32 noundef %4723) #10
  %4725 = call ptr @__errno_location() #11
  %4726 = load i32, ptr %4725, align 4, !tbaa !5
  %4727 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4714, ptr noundef @.str.2, i32 noundef %4715, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 283, ptr noundef %4718, ptr noundef %4721, ptr noundef %4724, i32 noundef %4726) #10
  br label %4745

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

4745:                                             ; preds = %4728, %4711
  call void @llvm.lifetime.end.p0(i64 4, ptr %123) #10
  br label %4746

4746:                                             ; preds = %4745
  br label %4747

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

4748:                                             ; No predecessors!
  br label %4749

4749:                                             ; preds = %4748
  br label %4750

4750:                                             ; preds = %4749, %4691
  br label %4751

4751:                                             ; preds = %4750
  br label %4752

4752:                                             ; preds = %4751
  call void @llvm.lifetime.start.p0(i64 8, ptr %124) #10
  %4753 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %4753, ptr %124, align 8, !tbaa !9
  br label %4754

4754:                                             ; preds = %4752
  %4755 = load i32, ptr @test_count, align 4, !tbaa !5
  %4756 = add nsw i32 %4755, 1
  store i32 %4756, ptr @test_count, align 4, !tbaa !5
  %4757 = load ptr, ptr %124, align 8, !tbaa !9
  %4758 = icmp eq ptr %4757, null
  br i1 %4758, label %4759, label %4812

4759:                                             ; preds = %4754
  br label %4760

4760:                                             ; preds = %4759
  br label %4761

4761:                                             ; preds = %4760
  call void @llvm.lifetime.start.p0(i64 4, ptr %125) #10
  %4762 = call ptr @__errno_location() #11
  %4763 = load i32, ptr %4762, align 4, !tbaa !5
  store i32 %4763, ptr %125, align 4, !tbaa !5
  %4764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4765 = call i32 @s2n_print_stacktrace(ptr noundef %4764)
  %4766 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4767 = trunc i8 %4766 to i1
  br i1 %4767, label %4768, label %4790

4768:                                             ; preds = %4761
  %4769 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4770 = call i32 @fileno(ptr noundef %4769) #10
  %4771 = call i32 @isatty(i32 noundef %4770) #10
  %4772 = icmp ne i32 %4771, 0
  br i1 %4772, label %4773, label %4790

4773:                                             ; preds = %4768
  %4774 = load i32, ptr %125, align 4, !tbaa !5
  %4775 = call ptr @__errno_location() #11
  store i32 %4774, ptr %4775, align 4, !tbaa !5
  %4776 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4777 = load i32, ptr @test_count, align 4, !tbaa !5
  %4778 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4779 = load i32, ptr %4778, align 4, !tbaa !5
  %4780 = call ptr @s2n_strerror(i32 noundef %4779, ptr noundef @.str.4)
  %4781 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4782 = load i32, ptr %4781, align 4, !tbaa !5
  %4783 = call ptr @s2n_strerror_debug(i32 noundef %4782, ptr noundef @.str.4)
  %4784 = call ptr @__errno_location() #11
  %4785 = load i32, ptr %4784, align 4, !tbaa !5
  %4786 = call ptr @strerror(i32 noundef %4785) #10
  %4787 = call ptr @__errno_location() #11
  %4788 = load i32, ptr %4787, align 4, !tbaa !5
  %4789 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4776, ptr noundef @.str.2, i32 noundef %4777, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 286, ptr noundef %4780, ptr noundef %4783, ptr noundef %4786, i32 noundef %4788) #10
  br label %4807

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

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

4808:                                             ; preds = %4807
  br label %4809

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

4810:                                             ; No predecessors!
  br label %4811

4811:                                             ; preds = %4810
  br label %4812

4812:                                             ; preds = %4811, %4754
  br label %4813

4813:                                             ; preds = %4812
  br label %4814

4814:                                             ; preds = %4813
  br label %4815

4815:                                             ; preds = %4814
  %4816 = load i32, ptr @test_count, align 4, !tbaa !5
  %4817 = add nsw i32 %4816, 1
  store i32 %4817, ptr @test_count, align 4, !tbaa !5
  %4818 = load ptr, ptr %124, align 8, !tbaa !9
  %4819 = load ptr, ptr %121, align 8, !tbaa !9
  %4820 = call i32 @s2n_connection_set_config(ptr noundef %4818, ptr noundef %4819)
  %4821 = icmp eq i32 %4820, -1
  br i1 %4821, label %4822, label %4875

4822:                                             ; preds = %4815
  br label %4823

4823:                                             ; preds = %4822
  br label %4824

4824:                                             ; preds = %4823
  call void @llvm.lifetime.start.p0(i64 4, ptr %126) #10
  %4825 = call ptr @__errno_location() #11
  %4826 = load i32, ptr %4825, align 4, !tbaa !5
  store i32 %4826, ptr %126, align 4, !tbaa !5
  %4827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4828 = call i32 @s2n_print_stacktrace(ptr noundef %4827)
  %4829 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4830 = trunc i8 %4829 to i1
  br i1 %4830, label %4831, label %4853

4831:                                             ; preds = %4824
  %4832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4833 = call i32 @fileno(ptr noundef %4832) #10
  %4834 = call i32 @isatty(i32 noundef %4833) #10
  %4835 = icmp ne i32 %4834, 0
  br i1 %4835, label %4836, label %4853

4836:                                             ; preds = %4831
  %4837 = load i32, ptr %126, align 4, !tbaa !5
  %4838 = call ptr @__errno_location() #11
  store i32 %4837, ptr %4838, align 4, !tbaa !5
  %4839 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4840 = load i32, ptr @test_count, align 4, !tbaa !5
  %4841 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4842 = load i32, ptr %4841, align 4, !tbaa !5
  %4843 = call ptr @s2n_strerror(i32 noundef %4842, ptr noundef @.str.4)
  %4844 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4845 = load i32, ptr %4844, align 4, !tbaa !5
  %4846 = call ptr @s2n_strerror_debug(i32 noundef %4845, ptr noundef @.str.4)
  %4847 = call ptr @__errno_location() #11
  %4848 = load i32, ptr %4847, align 4, !tbaa !5
  %4849 = call ptr @strerror(i32 noundef %4848) #10
  %4850 = call ptr @__errno_location() #11
  %4851 = load i32, ptr %4850, align 4, !tbaa !5
  %4852 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4839, ptr noundef @.str.2, i32 noundef %4840, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 287, ptr noundef %4843, ptr noundef %4846, ptr noundef %4849, i32 noundef %4851) #10
  br label %4870

4853:                                             ; preds = %4831, %4824
  %4854 = load i32, ptr %126, align 4, !tbaa !5
  %4855 = call ptr @__errno_location() #11
  store i32 %4854, ptr %4855, align 4, !tbaa !5
  %4856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4857 = load i32, ptr @test_count, align 4, !tbaa !5
  %4858 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4859 = load i32, ptr %4858, align 4, !tbaa !5
  %4860 = call ptr @s2n_strerror(i32 noundef %4859, ptr noundef @.str.4)
  %4861 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4862 = load i32, ptr %4861, align 4, !tbaa !5
  %4863 = call ptr @s2n_strerror_debug(i32 noundef %4862, ptr noundef @.str.4)
  %4864 = call ptr @__errno_location() #11
  %4865 = load i32, ptr %4864, align 4, !tbaa !5
  %4866 = call ptr @strerror(i32 noundef %4865) #10
  %4867 = call ptr @__errno_location() #11
  %4868 = load i32, ptr %4867, align 4, !tbaa !5
  %4869 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4856, ptr noundef @.str.5, i32 noundef %4857, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 287, ptr noundef %4860, ptr noundef %4863, ptr noundef %4866, i32 noundef %4868) #10
  br label %4870

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

4871:                                             ; preds = %4870
  br label %4872

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

4873:                                             ; No predecessors!
  br label %4874

4874:                                             ; preds = %4873
  br label %4875

4875:                                             ; preds = %4874, %4815
  br label %4876

4876:                                             ; preds = %4875
  br label %4877

4877:                                             ; preds = %4876
  br label %4878

4878:                                             ; preds = %4877
  %4879 = load i32, ptr @test_count, align 4, !tbaa !5
  %4880 = add nsw i32 %4879, 1
  store i32 %4880, ptr @test_count, align 4, !tbaa !5
  %4881 = load ptr, ptr %124, align 8, !tbaa !9
  %4882 = call i32 @s2n_set_server_name(ptr noundef %4881, ptr noundef @.str.39)
  %4883 = icmp eq i32 %4882, -1
  br i1 %4883, label %4884, label %4937

4884:                                             ; preds = %4878
  br label %4885

4885:                                             ; preds = %4884
  br label %4886

4886:                                             ; preds = %4885
  call void @llvm.lifetime.start.p0(i64 4, ptr %127) #10
  %4887 = call ptr @__errno_location() #11
  %4888 = load i32, ptr %4887, align 4, !tbaa !5
  store i32 %4888, ptr %127, align 4, !tbaa !5
  %4889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4890 = call i32 @s2n_print_stacktrace(ptr noundef %4889)
  %4891 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4892 = trunc i8 %4891 to i1
  br i1 %4892, label %4893, label %4915

4893:                                             ; preds = %4886
  %4894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4895 = call i32 @fileno(ptr noundef %4894) #10
  %4896 = call i32 @isatty(i32 noundef %4895) #10
  %4897 = icmp ne i32 %4896, 0
  br i1 %4897, label %4898, label %4915

4898:                                             ; preds = %4893
  %4899 = load i32, ptr %127, align 4, !tbaa !5
  %4900 = call ptr @__errno_location() #11
  store i32 %4899, ptr %4900, align 4, !tbaa !5
  %4901 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4902 = load i32, ptr @test_count, align 4, !tbaa !5
  %4903 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4904 = load i32, ptr %4903, align 4, !tbaa !5
  %4905 = call ptr @s2n_strerror(i32 noundef %4904, ptr noundef @.str.4)
  %4906 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4907 = load i32, ptr %4906, align 4, !tbaa !5
  %4908 = call ptr @s2n_strerror_debug(i32 noundef %4907, ptr noundef @.str.4)
  %4909 = call ptr @__errno_location() #11
  %4910 = load i32, ptr %4909, align 4, !tbaa !5
  %4911 = call ptr @strerror(i32 noundef %4910) #10
  %4912 = call ptr @__errno_location() #11
  %4913 = load i32, ptr %4912, align 4, !tbaa !5
  %4914 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4901, ptr noundef @.str.2, i32 noundef %4902, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 288, ptr noundef %4905, ptr noundef %4908, ptr noundef %4911, i32 noundef %4913) #10
  br label %4932

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

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

4933:                                             ; preds = %4932
  br label %4934

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

4935:                                             ; No predecessors!
  br label %4936

4936:                                             ; preds = %4935
  br label %4937

4937:                                             ; preds = %4936, %4878
  br label %4938

4938:                                             ; preds = %4937
  br label %4939

4939:                                             ; preds = %4938
  call void @llvm.lifetime.start.p0(i64 40, ptr %128) #10
  call void @llvm.memset.p0.i64(ptr align 8 %128, i8 0, i64 40, i1 false)
  %4940 = load i32, ptr %113, align 4, !tbaa !5
  %4941 = icmp eq i32 %4940, 0
  br i1 %4941, label %4942, label %5008

4942:                                             ; preds = %4939
  br label %4943

4943:                                             ; preds = %4942
  %4944 = load i32, ptr @test_count, align 4, !tbaa !5
  %4945 = add nsw i32 %4944, 1
  store i32 %4945, ptr @test_count, align 4, !tbaa !5
  %4946 = load ptr, ptr %124, align 8, !tbaa !9
  %4947 = call i32 @s2n_test_cert_chain_data_from_pem(ptr noundef %4946, ptr noundef @.str.55, ptr noundef %128)
  %4948 = getelementptr inbounds %struct.s2n_result, ptr %129, i32 0, i32 0
  store i32 %4947, ptr %4948, align 4
  %4949 = getelementptr inbounds %struct.s2n_result, ptr %129, i32 0, i32 0
  %4950 = load i32, ptr %4949, align 4
  %4951 = call zeroext i1 @s2n_result_is_ok(i32 %4950)
  br i1 %4951, label %5005, label %4952

4952:                                             ; preds = %4943
  br label %4953

4953:                                             ; preds = %4952
  br label %4954

4954:                                             ; preds = %4953
  call void @llvm.lifetime.start.p0(i64 4, ptr %130) #10
  %4955 = call ptr @__errno_location() #11
  %4956 = load i32, ptr %4955, align 4, !tbaa !5
  store i32 %4956, ptr %130, align 4, !tbaa !5
  %4957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4958 = call i32 @s2n_print_stacktrace(ptr noundef %4957)
  %4959 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4960 = trunc i8 %4959 to i1
  br i1 %4960, label %4961, label %4983

4961:                                             ; preds = %4954
  %4962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4963 = call i32 @fileno(ptr noundef %4962) #10
  %4964 = call i32 @isatty(i32 noundef %4963) #10
  %4965 = icmp ne i32 %4964, 0
  br i1 %4965, label %4966, label %4983

4966:                                             ; preds = %4961
  %4967 = load i32, ptr %130, align 4, !tbaa !5
  %4968 = call ptr @__errno_location() #11
  store i32 %4967, ptr %4968, align 4, !tbaa !5
  %4969 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4970 = load i32, ptr @test_count, align 4, !tbaa !5
  %4971 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4972 = load i32, ptr %4971, align 4, !tbaa !5
  %4973 = call ptr @s2n_strerror(i32 noundef %4972, ptr noundef @.str.4)
  %4974 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4975 = load i32, ptr %4974, align 4, !tbaa !5
  %4976 = call ptr @s2n_strerror_debug(i32 noundef %4975, ptr noundef @.str.4)
  %4977 = call ptr @__errno_location() #11
  %4978 = load i32, ptr %4977, align 4, !tbaa !5
  %4979 = call ptr @strerror(i32 noundef %4978) #10
  %4980 = call ptr @__errno_location() #11
  %4981 = load i32, ptr %4980, align 4, !tbaa !5
  %4982 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4969, ptr noundef @.str.2, i32 noundef %4970, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 293, ptr noundef %4973, ptr noundef %4976, ptr noundef %4979, i32 noundef %4981) #10
  br label %5000

4983:                                             ; preds = %4961, %4954
  %4984 = load i32, ptr %130, align 4, !tbaa !5
  %4985 = call ptr @__errno_location() #11
  store i32 %4984, ptr %4985, align 4, !tbaa !5
  %4986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4987 = load i32, ptr @test_count, align 4, !tbaa !5
  %4988 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4989 = load i32, ptr %4988, align 4, !tbaa !5
  %4990 = call ptr @s2n_strerror(i32 noundef %4989, ptr noundef @.str.4)
  %4991 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4992 = load i32, ptr %4991, align 4, !tbaa !5
  %4993 = call ptr @s2n_strerror_debug(i32 noundef %4992, ptr noundef @.str.4)
  %4994 = call ptr @__errno_location() #11
  %4995 = load i32, ptr %4994, align 4, !tbaa !5
  %4996 = call ptr @strerror(i32 noundef %4995) #10
  %4997 = call ptr @__errno_location() #11
  %4998 = load i32, ptr %4997, align 4, !tbaa !5
  %4999 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4986, ptr noundef @.str.5, i32 noundef %4987, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 293, ptr noundef %4990, ptr noundef %4993, ptr noundef %4996, i32 noundef %4998) #10
  br label %5000

5000:                                             ; preds = %4983, %4966
  call void @llvm.lifetime.end.p0(i64 4, ptr %130) #10
  br label %5001

5001:                                             ; preds = %5000
  br label %5002

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

5003:                                             ; No predecessors!
  br label %5004

5004:                                             ; preds = %5003
  br label %5005

5005:                                             ; preds = %5004, %4943
  br label %5006

5006:                                             ; preds = %5005
  br label %5007

5007:                                             ; preds = %5006
  br label %5078

5008:                                             ; preds = %4939
  %5009 = load i32, ptr %113, align 4, !tbaa !5
  %5010 = icmp eq i32 %5009, 1
  br i1 %5010, label %5011, label %5077

5011:                                             ; preds = %5008
  br label %5012

5012:                                             ; preds = %5011
  %5013 = load i32, ptr @test_count, align 4, !tbaa !5
  %5014 = add nsw i32 %5013, 1
  store i32 %5014, ptr @test_count, align 4, !tbaa !5
  %5015 = load ptr, ptr %124, align 8, !tbaa !9
  %5016 = call i32 @s2n_test_cert_chain_data_from_pem(ptr noundef %5015, ptr noundef @.str.57, ptr noundef %128)
  %5017 = getelementptr inbounds %struct.s2n_result, ptr %131, i32 0, i32 0
  store i32 %5016, ptr %5017, align 4
  %5018 = getelementptr inbounds %struct.s2n_result, ptr %131, i32 0, i32 0
  %5019 = load i32, ptr %5018, align 4
  %5020 = call zeroext i1 @s2n_result_is_ok(i32 %5019)
  br i1 %5020, label %5074, label %5021

5021:                                             ; preds = %5012
  br label %5022

5022:                                             ; preds = %5021
  br label %5023

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

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

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

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

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

5070:                                             ; preds = %5069
  br label %5071

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

5072:                                             ; No predecessors!
  br label %5073

5073:                                             ; preds = %5072
  br label %5074

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

5075:                                             ; preds = %5074
  br label %5076

5076:                                             ; preds = %5075
  br label %5077

5077:                                             ; preds = %5076, %5008
  br label %5078

5078:                                             ; preds = %5077, %5007
  call void @llvm.lifetime.start.p0(i64 4, ptr %133) #10
  %5079 = getelementptr inbounds %struct.s2n_stuffer, ptr %128, i32 0, i32 2
  %5080 = load i32, ptr %5079, align 4, !tbaa !23
  %5081 = getelementptr inbounds %struct.s2n_stuffer, ptr %128, i32 0, i32 1
  %5082 = load i32, ptr %5081, align 8, !tbaa !26
  %5083 = sub i32 %5080, %5082
  store i32 %5083, ptr %133, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %134) #10
  %5084 = load i32, ptr %133, align 4, !tbaa !5
  %5085 = call ptr @s2n_stuffer_raw_read(ptr noundef %128, i32 noundef %5084)
  store ptr %5085, ptr %134, align 8, !tbaa !9
  br label %5086

5086:                                             ; preds = %5078
  %5087 = load i32, ptr @test_count, align 4, !tbaa !5
  %5088 = add nsw i32 %5087, 1
  store i32 %5088, ptr @test_count, align 4, !tbaa !5
  %5089 = load ptr, ptr %134, align 8, !tbaa !9
  %5090 = icmp eq ptr %5089, null
  br i1 %5090, label %5091, label %5144

5091:                                             ; preds = %5086
  br label %5092

5092:                                             ; preds = %5091
  br label %5093

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

5100:                                             ; preds = %5093
  %5101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5102 = call i32 @fileno(ptr noundef %5101) #10
  %5103 = call i32 @isatty(i32 noundef %5102) #10
  %5104 = icmp ne i32 %5103, 0
  br i1 %5104, label %5105, label %5122

5105:                                             ; preds = %5100
  %5106 = load i32, ptr %135, align 4, !tbaa !5
  %5107 = call ptr @__errno_location() #11
  store i32 %5106, ptr %5107, align 4, !tbaa !5
  %5108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5109 = load i32, ptr @test_count, align 4, !tbaa !5
  %5110 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5111 = load i32, ptr %5110, align 4, !tbaa !5
  %5112 = call ptr @s2n_strerror(i32 noundef %5111, ptr noundef @.str.4)
  %5113 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5114 = load i32, ptr %5113, align 4, !tbaa !5
  %5115 = call ptr @s2n_strerror_debug(i32 noundef %5114, ptr noundef @.str.4)
  %5116 = call ptr @__errno_location() #11
  %5117 = load i32, ptr %5116, align 4, !tbaa !5
  %5118 = call ptr @strerror(i32 noundef %5117) #10
  %5119 = call ptr @__errno_location() #11
  %5120 = load i32, ptr %5119, align 4, !tbaa !5
  %5121 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5108, ptr noundef @.str.2, i32 noundef %5109, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 300, ptr noundef %5112, ptr noundef %5115, ptr noundef %5118, i32 noundef %5120) #10
  br label %5139

5122:                                             ; preds = %5100, %5093
  %5123 = load i32, ptr %135, align 4, !tbaa !5
  %5124 = call ptr @__errno_location() #11
  store i32 %5123, ptr %5124, align 4, !tbaa !5
  %5125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5126 = load i32, ptr @test_count, align 4, !tbaa !5
  %5127 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5128 = load i32, ptr %5127, align 4, !tbaa !5
  %5129 = call ptr @s2n_strerror(i32 noundef %5128, ptr noundef @.str.4)
  %5130 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5131 = load i32, ptr %5130, align 4, !tbaa !5
  %5132 = call ptr @s2n_strerror_debug(i32 noundef %5131, ptr noundef @.str.4)
  %5133 = call ptr @__errno_location() #11
  %5134 = load i32, ptr %5133, align 4, !tbaa !5
  %5135 = call ptr @strerror(i32 noundef %5134) #10
  %5136 = call ptr @__errno_location() #11
  %5137 = load i32, ptr %5136, align 4, !tbaa !5
  %5138 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5125, ptr noundef @.str.5, i32 noundef %5126, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 300, ptr noundef %5129, ptr noundef %5132, ptr noundef %5135, i32 noundef %5137) #10
  br label %5139

5139:                                             ; preds = %5122, %5105
  call void @llvm.lifetime.end.p0(i64 4, ptr %135) #10
  br label %5140

5140:                                             ; preds = %5139
  br label %5141

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

5142:                                             ; No predecessors!
  br label %5143

5143:                                             ; preds = %5142
  br label %5144

5144:                                             ; preds = %5143, %5086
  br label %5145

5145:                                             ; preds = %5144
  br label %5146

5146:                                             ; preds = %5145
  call void @llvm.lifetime.start.p0(i64 48, ptr %136) #10
  call void @llvm.memset.p0.i64(ptr align 8 %136, i8 0, i64 48, i1 false)
  br label %5147

5147:                                             ; preds = %5146
  %5148 = load i32, ptr @test_count, align 4, !tbaa !5
  %5149 = add nsw i32 %5148, 1
  store i32 %5149, ptr @test_count, align 4, !tbaa !5
  %5150 = call i32 @s2n_pkey_zero_init(ptr noundef %136)
  %5151 = icmp eq i32 %5150, -1
  br i1 %5151, label %5152, label %5205

5152:                                             ; preds = %5147
  br label %5153

5153:                                             ; preds = %5152
  br label %5154

5154:                                             ; preds = %5153
  call void @llvm.lifetime.start.p0(i64 4, ptr %137) #10
  %5155 = call ptr @__errno_location() #11
  %5156 = load i32, ptr %5155, align 4, !tbaa !5
  store i32 %5156, ptr %137, align 4, !tbaa !5
  %5157 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5158 = call i32 @s2n_print_stacktrace(ptr noundef %5157)
  %5159 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5160 = trunc i8 %5159 to i1
  br i1 %5160, label %5161, label %5183

5161:                                             ; preds = %5154
  %5162 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5163 = call i32 @fileno(ptr noundef %5162) #10
  %5164 = call i32 @isatty(i32 noundef %5163) #10
  %5165 = icmp ne i32 %5164, 0
  br i1 %5165, label %5166, label %5183

5166:                                             ; preds = %5161
  %5167 = load i32, ptr %137, align 4, !tbaa !5
  %5168 = call ptr @__errno_location() #11
  store i32 %5167, ptr %5168, align 4, !tbaa !5
  %5169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5170 = load i32, ptr @test_count, align 4, !tbaa !5
  %5171 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5172 = load i32, ptr %5171, align 4, !tbaa !5
  %5173 = call ptr @s2n_strerror(i32 noundef %5172, ptr noundef @.str.4)
  %5174 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5175 = load i32, ptr %5174, align 4, !tbaa !5
  %5176 = call ptr @s2n_strerror_debug(i32 noundef %5175, ptr noundef @.str.4)
  %5177 = call ptr @__errno_location() #11
  %5178 = load i32, ptr %5177, align 4, !tbaa !5
  %5179 = call ptr @strerror(i32 noundef %5178) #10
  %5180 = call ptr @__errno_location() #11
  %5181 = load i32, ptr %5180, align 4, !tbaa !5
  %5182 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5169, ptr noundef @.str.2, i32 noundef %5170, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 303, ptr noundef %5173, ptr noundef %5176, ptr noundef %5179, i32 noundef %5181) #10
  br label %5200

5183:                                             ; preds = %5161, %5154
  %5184 = load i32, ptr %137, align 4, !tbaa !5
  %5185 = call ptr @__errno_location() #11
  store i32 %5184, ptr %5185, align 4, !tbaa !5
  %5186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5187 = load i32, ptr @test_count, align 4, !tbaa !5
  %5188 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5189 = load i32, ptr %5188, align 4, !tbaa !5
  %5190 = call ptr @s2n_strerror(i32 noundef %5189, ptr noundef @.str.4)
  %5191 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5192 = load i32, ptr %5191, align 4, !tbaa !5
  %5193 = call ptr @s2n_strerror_debug(i32 noundef %5192, ptr noundef @.str.4)
  %5194 = call ptr @__errno_location() #11
  %5195 = load i32, ptr %5194, align 4, !tbaa !5
  %5196 = call ptr @strerror(i32 noundef %5195) #10
  %5197 = call ptr @__errno_location() #11
  %5198 = load i32, ptr %5197, align 4, !tbaa !5
  %5199 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5186, ptr noundef @.str.5, i32 noundef %5187, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 303, ptr noundef %5190, ptr noundef %5193, ptr noundef %5196, i32 noundef %5198) #10
  br label %5200

5200:                                             ; preds = %5183, %5166
  call void @llvm.lifetime.end.p0(i64 4, ptr %137) #10
  br label %5201

5201:                                             ; preds = %5200
  br label %5202

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

5203:                                             ; No predecessors!
  br label %5204

5204:                                             ; preds = %5203
  br label %5205

5205:                                             ; preds = %5204, %5147
  br label %5206

5206:                                             ; preds = %5205
  br label %5207

5207:                                             ; preds = %5206
  call void @llvm.lifetime.start.p0(i64 4, ptr %138) #10
  store i32 -1, ptr %138, align 4, !tbaa !5
  br label %5208

5208:                                             ; preds = %5207
  br label %5209

5209:                                             ; preds = %5208
  br label %5210

5210:                                             ; preds = %5209
  %5211 = load i32, ptr @test_count, align 4, !tbaa !5
  %5212 = add nsw i32 %5211, 1
  store i32 %5212, ptr @test_count, align 4, !tbaa !5
  %5213 = load ptr, ptr %124, align 8, !tbaa !9
  %5214 = load ptr, ptr %134, align 8, !tbaa !9
  %5215 = load i32, ptr %133, align 4, !tbaa !5
  %5216 = call i32 @s2n_x509_validator_validate_cert_chain(ptr noundef %118, ptr noundef %5213, ptr noundef %5214, i32 noundef %5215, ptr noundef %138, ptr noundef %136)
  %5217 = getelementptr inbounds %struct.s2n_result, ptr %139, i32 0, i32 0
  store i32 %5216, ptr %5217, align 4
  %5218 = getelementptr inbounds %struct.s2n_result, ptr %139, i32 0, i32 0
  %5219 = load i32, ptr %5218, align 4
  %5220 = call zeroext i1 @s2n_result_is_error(i32 %5219)
  br i1 %5220, label %5274, label %5221

5221:                                             ; preds = %5210
  br label %5222

5222:                                             ; preds = %5221
  br label %5223

5223:                                             ; preds = %5222
  call void @llvm.lifetime.start.p0(i64 4, ptr %140) #10
  %5224 = call ptr @__errno_location() #11
  %5225 = load i32, ptr %5224, align 4, !tbaa !5
  store i32 %5225, ptr %140, 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) #10
  %5233 = call i32 @isatty(i32 noundef %5232) #10
  %5234 = icmp ne i32 %5233, 0
  br i1 %5234, label %5235, label %5252

5235:                                             ; preds = %5230
  %5236 = load i32, ptr %140, align 4, !tbaa !5
  %5237 = call ptr @__errno_location() #11
  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() #11
  %5247 = load i32, ptr %5246, align 4, !tbaa !5
  %5248 = call ptr @strerror(i32 noundef %5247) #10
  %5249 = call ptr @__errno_location() #11
  %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.52, ptr noundef @.str.1, i32 noundef 307, ptr noundef %5242, ptr noundef %5245, ptr noundef %5248, i32 noundef %5250) #10
  br label %5269

5252:                                             ; preds = %5230, %5223
  %5253 = load i32, ptr %140, align 4, !tbaa !5
  %5254 = call ptr @__errno_location() #11
  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() #11
  %5264 = load i32, ptr %5263, align 4, !tbaa !5
  %5265 = call ptr @strerror(i32 noundef %5264) #10
  %5266 = call ptr @__errno_location() #11
  %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.52, ptr noundef @.str.1, i32 noundef 307, ptr noundef %5259, ptr noundef %5262, ptr noundef %5265, i32 noundef %5267) #10
  br label %5269

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

5270:                                             ; preds = %5269
  br label %5271

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

5272:                                             ; No predecessors!
  br label %5273

5273:                                             ; preds = %5272
  br label %5274

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

5275:                                             ; preds = %5274
  br label %5276

5276:                                             ; preds = %5275
  br label %5277

5277:                                             ; preds = %5276
  %5278 = load i32, ptr @test_count, align 4, !tbaa !5
  %5279 = add nsw i32 %5278, 1
  store i32 %5279, ptr @test_count, align 4, !tbaa !5
  %5280 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5281 = load i32, ptr %5280, align 4, !tbaa !5
  %5282 = icmp eq i32 %5281, 335544367
  br i1 %5282, label %5336, label %5283

5283:                                             ; preds = %5277
  br label %5284

5284:                                             ; preds = %5283
  br label %5285

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

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

5297:                                             ; preds = %5292
  %5298 = load i32, ptr %141, align 4, !tbaa !5
  %5299 = call ptr @__errno_location() #11
  store i32 %5298, ptr %5299, align 4, !tbaa !5
  %5300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5301 = load i32, ptr @test_count, align 4, !tbaa !5
  %5302 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5303 = load i32, ptr %5302, align 4, !tbaa !5
  %5304 = call ptr @s2n_strerror(i32 noundef %5303, ptr noundef @.str.4)
  %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_debug(i32 noundef %5306, ptr noundef @.str.4)
  %5308 = call ptr @__errno_location() #11
  %5309 = load i32, ptr %5308, align 4, !tbaa !5
  %5310 = call ptr @strerror(i32 noundef %5309) #10
  %5311 = call ptr @__errno_location() #11
  %5312 = load i32, ptr %5311, align 4, !tbaa !5
  %5313 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5300, ptr noundef @.str.2, i32 noundef %5301, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 307, ptr noundef %5304, ptr noundef %5307, ptr noundef %5310, i32 noundef %5312) #10
  br label %5331

5314:                                             ; preds = %5292, %5285
  %5315 = load i32, ptr %141, align 4, !tbaa !5
  %5316 = call ptr @__errno_location() #11
  store i32 %5315, ptr %5316, align 4, !tbaa !5
  %5317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5318 = load i32, ptr @test_count, align 4, !tbaa !5
  %5319 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5320 = load i32, ptr %5319, align 4, !tbaa !5
  %5321 = call ptr @s2n_strerror(i32 noundef %5320, ptr noundef @.str.4)
  %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_debug(i32 noundef %5323, ptr noundef @.str.4)
  %5325 = call ptr @__errno_location() #11
  %5326 = load i32, ptr %5325, align 4, !tbaa !5
  %5327 = call ptr @strerror(i32 noundef %5326) #10
  %5328 = call ptr @__errno_location() #11
  %5329 = load i32, ptr %5328, align 4, !tbaa !5
  %5330 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5317, ptr noundef @.str.5, i32 noundef %5318, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 307, ptr noundef %5321, ptr noundef %5324, ptr noundef %5327, i32 noundef %5329) #10
  br label %5331

5331:                                             ; preds = %5314, %5297
  call void @llvm.lifetime.end.p0(i64 4, ptr %141) #10
  br label %5332

5332:                                             ; preds = %5331
  br label %5333

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

5334:                                             ; No predecessors!
  br label %5335

5335:                                             ; preds = %5334
  br label %5336

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

5337:                                             ; preds = %5336
  br label %5338

5338:                                             ; preds = %5337
  br label %5339

5339:                                             ; preds = %5338
  %5340 = load i32, ptr @test_count, align 4, !tbaa !5
  %5341 = add nsw i32 %5340, 1
  store i32 %5341, ptr @test_count, align 4, !tbaa !5
  %5342 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5343 = load i32, ptr %5342, align 4, !tbaa !5
  %5344 = call ptr @s2n_strerror_debug(i32 noundef %5343, ptr noundef @.str.4)
  %5345 = icmp eq ptr %5344, null
  br i1 %5345, label %5346, label %5399

5346:                                             ; preds = %5339
  br label %5347

5347:                                             ; preds = %5346
  br label %5348

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

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

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

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

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

5395:                                             ; preds = %5394
  br label %5396

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

5397:                                             ; No predecessors!
  br label %5398

5398:                                             ; preds = %5397
  br label %5399

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

5400:                                             ; preds = %5399
  br label %5401

5401:                                             ; preds = %5400
  br label %5402

5402:                                             ; preds = %5401
  br label %5403

5403:                                             ; preds = %5402
  br label %5404

5404:                                             ; preds = %5403
  %5405 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %5405, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %5406 = call ptr @__errno_location() #11
  store i32 0, ptr %5406, align 4, !tbaa !5
  br label %5407

5407:                                             ; preds = %5404
  br label %5408

5408:                                             ; preds = %5407
  br label %5409

5409:                                             ; preds = %5408
  br label %5410

5410:                                             ; preds = %5409
  br label %5411

5411:                                             ; preds = %5410
  %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 = getelementptr inbounds %struct.crl_lookup_data, ptr %120, i32 0, i32 2
  %5415 = load i8, ptr %5414, align 8, !tbaa !27
  %5416 = zext i8 %5415 to i32
  %5417 = icmp eq i32 %5416, 2
  br i1 %5417, label %5471, label %5418

5418:                                             ; preds = %5411
  br label %5419

5419:                                             ; preds = %5418
  br label %5420

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

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

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

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

5466:                                             ; preds = %5449, %5432
  call void @llvm.lifetime.end.p0(i64 4, ptr %143) #10
  br label %5467

5467:                                             ; preds = %5466
  br label %5468

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

5469:                                             ; No predecessors!
  br label %5470

5470:                                             ; preds = %5469
  br label %5471

5471:                                             ; preds = %5470, %5411
  br label %5472

5472:                                             ; preds = %5471
  br label %5473

5473:                                             ; preds = %5472
  call void @llvm.lifetime.end.p0(i64 4, ptr %138) #10
  %5474 = call i32 @s2n_pkey_free(ptr noundef %136)
  call void @llvm.lifetime.end.p0(i64 48, ptr %136) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %134) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %133) #10
  %5475 = call i32 @s2n_stuffer_free(ptr noundef %128)
  call void @llvm.lifetime.end.p0(i64 40, ptr %128) #10
  %5476 = call i32 @s2n_connection_ptr_free(ptr noundef %124)
  %5477 = getelementptr inbounds %struct.s2n_result, ptr %144, i32 0, i32 0
  store i32 %5476, ptr %5477, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %124) #10
  %5478 = call i32 @s2n_config_ptr_free(ptr noundef %121)
  %5479 = getelementptr inbounds %struct.s2n_result, ptr %145, i32 0, i32 0
  store i32 %5478, ptr %5479, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %121) #10
  call void @llvm.lifetime.end.p0(i64 88, ptr %120) #10
  %5480 = call i32 @s2n_x509_validator_wipe(ptr noundef %118)
  call void @llvm.lifetime.end.p0(i64 56, ptr %118) #10
  call void @llvm.lifetime.end.p0(i64 12000, ptr %115) #10
  call void @s2n_x509_trust_store_wipe(ptr noundef %114)
  call void @llvm.lifetime.end.p0(i64 16, ptr %114) #10
  br label %5481

5481:                                             ; preds = %5473
  %5482 = load i32, ptr %113, align 4, !tbaa !5
  %5483 = add nsw i32 %5482, 1
  store i32 %5483, ptr %113, align 4, !tbaa !5
  br label %4433, !llvm.loop !31

5484:                                             ; preds = %4436
  call void @llvm.lifetime.start.p0(i64 16, ptr %146) #10
  call void @llvm.memset.p0.i64(ptr align 8 %146, i8 0, i64 16, i1 false)
  call void @s2n_x509_trust_store_init_empty(ptr noundef %146)
  call void @llvm.lifetime.start.p0(i64 12000, ptr %147) #10
  br label %5485

5485:                                             ; preds = %5484
  %5486 = load i32, ptr @test_count, align 4, !tbaa !5
  %5487 = add nsw i32 %5486, 1
  store i32 %5487, ptr @test_count, align 4, !tbaa !5
  %5488 = getelementptr inbounds [12000 x i8], ptr %147, i64 0, i64 0
  %5489 = call i32 @s2n_read_test_pem(ptr noundef @.str.31, ptr noundef %5488, i64 noundef 12000)
  %5490 = icmp eq i32 %5489, -1
  br i1 %5490, label %5491, label %5544

5491:                                             ; preds = %5485
  br label %5492

5492:                                             ; preds = %5491
  br label %5493

5493:                                             ; preds = %5492
  call void @llvm.lifetime.start.p0(i64 4, ptr %148) #10
  %5494 = call ptr @__errno_location() #11
  %5495 = load i32, ptr %5494, align 4, !tbaa !5
  store i32 %5495, ptr %148, align 4, !tbaa !5
  %5496 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5497 = call i32 @s2n_print_stacktrace(ptr noundef %5496)
  %5498 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5499 = trunc i8 %5498 to i1
  br i1 %5499, label %5500, label %5522

5500:                                             ; preds = %5493
  %5501 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5502 = call i32 @fileno(ptr noundef %5501) #10
  %5503 = call i32 @isatty(i32 noundef %5502) #10
  %5504 = icmp ne i32 %5503, 0
  br i1 %5504, label %5505, label %5522

5505:                                             ; preds = %5500
  %5506 = load i32, ptr %148, align 4, !tbaa !5
  %5507 = call ptr @__errno_location() #11
  store i32 %5506, ptr %5507, align 4, !tbaa !5
  %5508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5509 = load i32, ptr @test_count, align 4, !tbaa !5
  %5510 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5511 = load i32, ptr %5510, align 4, !tbaa !5
  %5512 = call ptr @s2n_strerror(i32 noundef %5511, ptr noundef @.str.4)
  %5513 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5514 = load i32, ptr %5513, align 4, !tbaa !5
  %5515 = call ptr @s2n_strerror_debug(i32 noundef %5514, ptr noundef @.str.4)
  %5516 = call ptr @__errno_location() #11
  %5517 = load i32, ptr %5516, align 4, !tbaa !5
  %5518 = call ptr @strerror(i32 noundef %5517) #10
  %5519 = call ptr @__errno_location() #11
  %5520 = load i32, ptr %5519, align 4, !tbaa !5
  %5521 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5508, ptr noundef @.str.2, i32 noundef %5509, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 317, ptr noundef %5512, ptr noundef %5515, ptr noundef %5518, i32 noundef %5520) #10
  br label %5539

5522:                                             ; preds = %5500, %5493
  %5523 = load i32, ptr %148, align 4, !tbaa !5
  %5524 = call ptr @__errno_location() #11
  store i32 %5523, ptr %5524, align 4, !tbaa !5
  %5525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5526 = load i32, ptr @test_count, align 4, !tbaa !5
  %5527 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5528 = load i32, ptr %5527, align 4, !tbaa !5
  %5529 = call ptr @s2n_strerror(i32 noundef %5528, ptr noundef @.str.4)
  %5530 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5531 = load i32, ptr %5530, align 4, !tbaa !5
  %5532 = call ptr @s2n_strerror_debug(i32 noundef %5531, ptr noundef @.str.4)
  %5533 = call ptr @__errno_location() #11
  %5534 = load i32, ptr %5533, align 4, !tbaa !5
  %5535 = call ptr @strerror(i32 noundef %5534) #10
  %5536 = call ptr @__errno_location() #11
  %5537 = load i32, ptr %5536, align 4, !tbaa !5
  %5538 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5525, ptr noundef @.str.5, i32 noundef %5526, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 317, ptr noundef %5529, ptr noundef %5532, ptr noundef %5535, i32 noundef %5537) #10
  br label %5539

5539:                                             ; preds = %5522, %5505
  call void @llvm.lifetime.end.p0(i64 4, ptr %148) #10
  br label %5540

5540:                                             ; preds = %5539
  br label %5541

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

5542:                                             ; No predecessors!
  br label %5543

5543:                                             ; preds = %5542
  br label %5544

5544:                                             ; preds = %5543, %5485
  br label %5545

5545:                                             ; preds = %5544
  br label %5546

5546:                                             ; preds = %5545
  br label %5547

5547:                                             ; preds = %5546
  %5548 = load i32, ptr @test_count, align 4, !tbaa !5
  %5549 = add nsw i32 %5548, 1
  store i32 %5549, ptr @test_count, align 4, !tbaa !5
  %5550 = getelementptr inbounds [12000 x i8], ptr %147, i64 0, i64 0
  %5551 = call i32 @s2n_x509_trust_store_add_pem(ptr noundef %146, ptr noundef %5550)
  %5552 = icmp eq i32 %5551, -1
  br i1 %5552, label %5553, label %5606

5553:                                             ; preds = %5547
  br label %5554

5554:                                             ; preds = %5553
  br label %5555

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

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

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

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

5601:                                             ; preds = %5584, %5567
  call void @llvm.lifetime.end.p0(i64 4, ptr %149) #10
  br label %5602

5602:                                             ; preds = %5601
  br label %5603

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

5604:                                             ; No predecessors!
  br label %5605

5605:                                             ; preds = %5604
  br label %5606

5606:                                             ; preds = %5605, %5547
  br label %5607

5607:                                             ; preds = %5606
  br label %5608

5608:                                             ; preds = %5607
  call void @llvm.lifetime.start.p0(i64 56, ptr %150) #10
  br label %5609

5609:                                             ; preds = %5608
  %5610 = load i32, ptr @test_count, align 4, !tbaa !5
  %5611 = add nsw i32 %5610, 1
  store i32 %5611, ptr @test_count, align 4, !tbaa !5
  %5612 = call i32 @s2n_x509_validator_init(ptr noundef %150, ptr noundef %146, i8 noundef zeroext 0)
  %5613 = icmp eq i32 %5612, -1
  br i1 %5613, label %5614, label %5667

5614:                                             ; preds = %5609
  br label %5615

5615:                                             ; preds = %5614
  br label %5616

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

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

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

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

5662:                                             ; preds = %5645, %5628
  call void @llvm.lifetime.end.p0(i64 4, ptr %151) #10
  br label %5663

5663:                                             ; preds = %5662
  br label %5664

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

5665:                                             ; No predecessors!
  br label %5666

5666:                                             ; preds = %5665
  br label %5667

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

5668:                                             ; preds = %5667
  br label %5669

5669:                                             ; preds = %5668
  call void @llvm.lifetime.start.p0(i64 88, ptr %152) #10
  call void @llvm.memset.p0.i64(ptr align 8 %152, i8 0, i64 88, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %153) #10
  %5670 = call ptr @s2n_config_new()
  store ptr %5670, ptr %153, align 8, !tbaa !9
  br label %5671

5671:                                             ; preds = %5669
  %5672 = load i32, ptr @test_count, align 4, !tbaa !5
  %5673 = add nsw i32 %5672, 1
  store i32 %5673, ptr @test_count, align 4, !tbaa !5
  %5674 = load ptr, ptr %153, align 8, !tbaa !9
  %5675 = icmp eq ptr %5674, null
  br i1 %5675, label %5676, label %5729

5676:                                             ; preds = %5671
  br label %5677

5677:                                             ; preds = %5676
  br label %5678

5678:                                             ; preds = %5677
  call void @llvm.lifetime.start.p0(i64 4, ptr %154) #10
  %5679 = call ptr @__errno_location() #11
  %5680 = load i32, ptr %5679, align 4, !tbaa !5
  store i32 %5680, ptr %154, align 4, !tbaa !5
  %5681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5682 = call i32 @s2n_print_stacktrace(ptr noundef %5681)
  %5683 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5684 = trunc i8 %5683 to i1
  br i1 %5684, label %5685, label %5707

5685:                                             ; preds = %5678
  %5686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5687 = call i32 @fileno(ptr noundef %5686) #10
  %5688 = call i32 @isatty(i32 noundef %5687) #10
  %5689 = icmp ne i32 %5688, 0
  br i1 %5689, label %5690, label %5707

5690:                                             ; preds = %5685
  %5691 = load i32, ptr %154, align 4, !tbaa !5
  %5692 = call ptr @__errno_location() #11
  store i32 %5691, ptr %5692, align 4, !tbaa !5
  %5693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5694 = load i32, ptr @test_count, align 4, !tbaa !5
  %5695 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5696 = load i32, ptr %5695, align 4, !tbaa !5
  %5697 = call ptr @s2n_strerror(i32 noundef %5696, ptr noundef @.str.4)
  %5698 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5699 = load i32, ptr %5698, align 4, !tbaa !5
  %5700 = call ptr @s2n_strerror_debug(i32 noundef %5699, ptr noundef @.str.4)
  %5701 = call ptr @__errno_location() #11
  %5702 = load i32, ptr %5701, align 4, !tbaa !5
  %5703 = call ptr @strerror(i32 noundef %5702) #10
  %5704 = call ptr @__errno_location() #11
  %5705 = load i32, ptr %5704, align 4, !tbaa !5
  %5706 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5693, ptr noundef @.str.2, i32 noundef %5694, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 326, ptr noundef %5697, ptr noundef %5700, ptr noundef %5703, i32 noundef %5705) #10
  br label %5724

5707:                                             ; preds = %5685, %5678
  %5708 = load i32, ptr %154, align 4, !tbaa !5
  %5709 = call ptr @__errno_location() #11
  store i32 %5708, ptr %5709, align 4, !tbaa !5
  %5710 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5711 = load i32, ptr @test_count, align 4, !tbaa !5
  %5712 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5713 = load i32, ptr %5712, align 4, !tbaa !5
  %5714 = call ptr @s2n_strerror(i32 noundef %5713, ptr noundef @.str.4)
  %5715 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5716 = load i32, ptr %5715, align 4, !tbaa !5
  %5717 = call ptr @s2n_strerror_debug(i32 noundef %5716, ptr noundef @.str.4)
  %5718 = call ptr @__errno_location() #11
  %5719 = load i32, ptr %5718, align 4, !tbaa !5
  %5720 = call ptr @strerror(i32 noundef %5719) #10
  %5721 = call ptr @__errno_location() #11
  %5722 = load i32, ptr %5721, align 4, !tbaa !5
  %5723 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5710, ptr noundef @.str.5, i32 noundef %5711, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 326, ptr noundef %5714, ptr noundef %5717, ptr noundef %5720, i32 noundef %5722) #10
  br label %5724

5724:                                             ; preds = %5707, %5690
  call void @llvm.lifetime.end.p0(i64 4, ptr %154) #10
  br label %5725

5725:                                             ; preds = %5724
  br label %5726

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

5727:                                             ; No predecessors!
  br label %5728

5728:                                             ; preds = %5727
  br label %5729

5729:                                             ; preds = %5728, %5671
  br label %5730

5730:                                             ; preds = %5729
  br label %5731

5731:                                             ; preds = %5730
  br label %5732

5732:                                             ; preds = %5731
  %5733 = load i32, ptr @test_count, align 4, !tbaa !5
  %5734 = add nsw i32 %5733, 1
  store i32 %5734, ptr @test_count, align 4, !tbaa !5
  %5735 = load ptr, ptr %153, align 8, !tbaa !9
  %5736 = call i32 @s2n_config_set_crl_lookup_cb(ptr noundef %5735, ptr noundef @crl_lookup_test_callback, ptr noundef %152)
  %5737 = icmp eq i32 %5736, -1
  br i1 %5737, label %5738, label %5791

5738:                                             ; preds = %5732
  br label %5739

5739:                                             ; preds = %5738
  br label %5740

5740:                                             ; preds = %5739
  call void @llvm.lifetime.start.p0(i64 4, ptr %155) #10
  %5741 = call ptr @__errno_location() #11
  %5742 = load i32, ptr %5741, align 4, !tbaa !5
  store i32 %5742, ptr %155, align 4, !tbaa !5
  %5743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5744 = call i32 @s2n_print_stacktrace(ptr noundef %5743)
  %5745 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5746 = trunc i8 %5745 to i1
  br i1 %5746, label %5747, label %5769

5747:                                             ; preds = %5740
  %5748 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5749 = call i32 @fileno(ptr noundef %5748) #10
  %5750 = call i32 @isatty(i32 noundef %5749) #10
  %5751 = icmp ne i32 %5750, 0
  br i1 %5751, label %5752, label %5769

5752:                                             ; preds = %5747
  %5753 = load i32, ptr %155, align 4, !tbaa !5
  %5754 = call ptr @__errno_location() #11
  store i32 %5753, ptr %5754, align 4, !tbaa !5
  %5755 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5756 = load i32, ptr @test_count, align 4, !tbaa !5
  %5757 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5758 = load i32, ptr %5757, align 4, !tbaa !5
  %5759 = call ptr @s2n_strerror(i32 noundef %5758, ptr noundef @.str.4)
  %5760 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5761 = load i32, ptr %5760, align 4, !tbaa !5
  %5762 = call ptr @s2n_strerror_debug(i32 noundef %5761, ptr noundef @.str.4)
  %5763 = call ptr @__errno_location() #11
  %5764 = load i32, ptr %5763, align 4, !tbaa !5
  %5765 = call ptr @strerror(i32 noundef %5764) #10
  %5766 = call ptr @__errno_location() #11
  %5767 = load i32, ptr %5766, align 4, !tbaa !5
  %5768 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5755, ptr noundef @.str.2, i32 noundef %5756, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 327, ptr noundef %5759, ptr noundef %5762, ptr noundef %5765, i32 noundef %5767) #10
  br label %5786

5769:                                             ; preds = %5747, %5740
  %5770 = load i32, ptr %155, align 4, !tbaa !5
  %5771 = call ptr @__errno_location() #11
  store i32 %5770, ptr %5771, align 4, !tbaa !5
  %5772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5773 = load i32, ptr @test_count, align 4, !tbaa !5
  %5774 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5775 = load i32, ptr %5774, align 4, !tbaa !5
  %5776 = call ptr @s2n_strerror(i32 noundef %5775, ptr noundef @.str.4)
  %5777 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5778 = load i32, ptr %5777, align 4, !tbaa !5
  %5779 = call ptr @s2n_strerror_debug(i32 noundef %5778, ptr noundef @.str.4)
  %5780 = call ptr @__errno_location() #11
  %5781 = load i32, ptr %5780, align 4, !tbaa !5
  %5782 = call ptr @strerror(i32 noundef %5781) #10
  %5783 = call ptr @__errno_location() #11
  %5784 = load i32, ptr %5783, align 4, !tbaa !5
  %5785 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5772, ptr noundef @.str.5, i32 noundef %5773, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 327, ptr noundef %5776, ptr noundef %5779, ptr noundef %5782, i32 noundef %5784) #10
  br label %5786

5786:                                             ; preds = %5769, %5752
  call void @llvm.lifetime.end.p0(i64 4, ptr %155) #10
  br label %5787

5787:                                             ; preds = %5786
  br label %5788

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

5789:                                             ; No predecessors!
  br label %5790

5790:                                             ; preds = %5789
  br label %5791

5791:                                             ; preds = %5790, %5732
  br label %5792

5792:                                             ; preds = %5791
  br label %5793

5793:                                             ; preds = %5792
  call void @llvm.lifetime.start.p0(i64 8, ptr %156) #10
  %5794 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %5794, ptr %156, align 8, !tbaa !9
  br label %5795

5795:                                             ; preds = %5793
  %5796 = load i32, ptr @test_count, align 4, !tbaa !5
  %5797 = add nsw i32 %5796, 1
  store i32 %5797, ptr @test_count, align 4, !tbaa !5
  %5798 = load ptr, ptr %156, align 8, !tbaa !9
  %5799 = icmp eq ptr %5798, null
  br i1 %5799, label %5800, label %5853

5800:                                             ; preds = %5795
  br label %5801

5801:                                             ; preds = %5800
  br label %5802

5802:                                             ; preds = %5801
  call void @llvm.lifetime.start.p0(i64 4, ptr %157) #10
  %5803 = call ptr @__errno_location() #11
  %5804 = load i32, ptr %5803, align 4, !tbaa !5
  store i32 %5804, ptr %157, align 4, !tbaa !5
  %5805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5806 = call i32 @s2n_print_stacktrace(ptr noundef %5805)
  %5807 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5808 = trunc i8 %5807 to i1
  br i1 %5808, label %5809, label %5831

5809:                                             ; preds = %5802
  %5810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5811 = call i32 @fileno(ptr noundef %5810) #10
  %5812 = call i32 @isatty(i32 noundef %5811) #10
  %5813 = icmp ne i32 %5812, 0
  br i1 %5813, label %5814, label %5831

5814:                                             ; preds = %5809
  %5815 = load i32, ptr %157, align 4, !tbaa !5
  %5816 = call ptr @__errno_location() #11
  store i32 %5815, ptr %5816, align 4, !tbaa !5
  %5817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5818 = load i32, ptr @test_count, align 4, !tbaa !5
  %5819 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5820 = load i32, ptr %5819, align 4, !tbaa !5
  %5821 = call ptr @s2n_strerror(i32 noundef %5820, ptr noundef @.str.4)
  %5822 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5823 = load i32, ptr %5822, align 4, !tbaa !5
  %5824 = call ptr @s2n_strerror_debug(i32 noundef %5823, ptr noundef @.str.4)
  %5825 = call ptr @__errno_location() #11
  %5826 = load i32, ptr %5825, align 4, !tbaa !5
  %5827 = call ptr @strerror(i32 noundef %5826) #10
  %5828 = call ptr @__errno_location() #11
  %5829 = load i32, ptr %5828, align 4, !tbaa !5
  %5830 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5817, ptr noundef @.str.2, i32 noundef %5818, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 330, ptr noundef %5821, ptr noundef %5824, ptr noundef %5827, i32 noundef %5829) #10
  br label %5848

5831:                                             ; preds = %5809, %5802
  %5832 = load i32, ptr %157, align 4, !tbaa !5
  %5833 = call ptr @__errno_location() #11
  store i32 %5832, ptr %5833, align 4, !tbaa !5
  %5834 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5835 = load i32, ptr @test_count, align 4, !tbaa !5
  %5836 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5837 = load i32, ptr %5836, align 4, !tbaa !5
  %5838 = call ptr @s2n_strerror(i32 noundef %5837, ptr noundef @.str.4)
  %5839 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5840 = load i32, ptr %5839, align 4, !tbaa !5
  %5841 = call ptr @s2n_strerror_debug(i32 noundef %5840, ptr noundef @.str.4)
  %5842 = call ptr @__errno_location() #11
  %5843 = load i32, ptr %5842, align 4, !tbaa !5
  %5844 = call ptr @strerror(i32 noundef %5843) #10
  %5845 = call ptr @__errno_location() #11
  %5846 = load i32, ptr %5845, align 4, !tbaa !5
  %5847 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5834, ptr noundef @.str.5, i32 noundef %5835, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 330, ptr noundef %5838, ptr noundef %5841, ptr noundef %5844, i32 noundef %5846) #10
  br label %5848

5848:                                             ; preds = %5831, %5814
  call void @llvm.lifetime.end.p0(i64 4, ptr %157) #10
  br label %5849

5849:                                             ; preds = %5848
  br label %5850

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

5851:                                             ; No predecessors!
  br label %5852

5852:                                             ; preds = %5851
  br label %5853

5853:                                             ; preds = %5852, %5795
  br label %5854

5854:                                             ; preds = %5853
  br label %5855

5855:                                             ; preds = %5854
  br label %5856

5856:                                             ; preds = %5855
  %5857 = load i32, ptr @test_count, align 4, !tbaa !5
  %5858 = add nsw i32 %5857, 1
  store i32 %5858, ptr @test_count, align 4, !tbaa !5
  %5859 = load ptr, ptr %156, align 8, !tbaa !9
  %5860 = load ptr, ptr %153, align 8, !tbaa !9
  %5861 = call i32 @s2n_connection_set_config(ptr noundef %5859, ptr noundef %5860)
  %5862 = icmp eq i32 %5861, -1
  br i1 %5862, label %5863, label %5916

5863:                                             ; preds = %5856
  br label %5864

5864:                                             ; preds = %5863
  br label %5865

5865:                                             ; preds = %5864
  call void @llvm.lifetime.start.p0(i64 4, ptr %158) #10
  %5866 = call ptr @__errno_location() #11
  %5867 = load i32, ptr %5866, align 4, !tbaa !5
  store i32 %5867, ptr %158, align 4, !tbaa !5
  %5868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5869 = call i32 @s2n_print_stacktrace(ptr noundef %5868)
  %5870 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5871 = trunc i8 %5870 to i1
  br i1 %5871, label %5872, label %5894

5872:                                             ; preds = %5865
  %5873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5874 = call i32 @fileno(ptr noundef %5873) #10
  %5875 = call i32 @isatty(i32 noundef %5874) #10
  %5876 = icmp ne i32 %5875, 0
  br i1 %5876, label %5877, label %5894

5877:                                             ; preds = %5872
  %5878 = load i32, ptr %158, align 4, !tbaa !5
  %5879 = call ptr @__errno_location() #11
  store i32 %5878, ptr %5879, align 4, !tbaa !5
  %5880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5881 = load i32, ptr @test_count, align 4, !tbaa !5
  %5882 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5883 = load i32, ptr %5882, align 4, !tbaa !5
  %5884 = call ptr @s2n_strerror(i32 noundef %5883, ptr noundef @.str.4)
  %5885 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5886 = load i32, ptr %5885, align 4, !tbaa !5
  %5887 = call ptr @s2n_strerror_debug(i32 noundef %5886, ptr noundef @.str.4)
  %5888 = call ptr @__errno_location() #11
  %5889 = load i32, ptr %5888, align 4, !tbaa !5
  %5890 = call ptr @strerror(i32 noundef %5889) #10
  %5891 = call ptr @__errno_location() #11
  %5892 = load i32, ptr %5891, align 4, !tbaa !5
  %5893 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5880, ptr noundef @.str.2, i32 noundef %5881, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 331, ptr noundef %5884, ptr noundef %5887, ptr noundef %5890, i32 noundef %5892) #10
  br label %5911

5894:                                             ; preds = %5872, %5865
  %5895 = load i32, ptr %158, align 4, !tbaa !5
  %5896 = call ptr @__errno_location() #11
  store i32 %5895, ptr %5896, align 4, !tbaa !5
  %5897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5898 = load i32, ptr @test_count, align 4, !tbaa !5
  %5899 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5900 = load i32, ptr %5899, align 4, !tbaa !5
  %5901 = call ptr @s2n_strerror(i32 noundef %5900, ptr noundef @.str.4)
  %5902 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5903 = load i32, ptr %5902, align 4, !tbaa !5
  %5904 = call ptr @s2n_strerror_debug(i32 noundef %5903, ptr noundef @.str.4)
  %5905 = call ptr @__errno_location() #11
  %5906 = load i32, ptr %5905, align 4, !tbaa !5
  %5907 = call ptr @strerror(i32 noundef %5906) #10
  %5908 = call ptr @__errno_location() #11
  %5909 = load i32, ptr %5908, align 4, !tbaa !5
  %5910 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5897, ptr noundef @.str.5, i32 noundef %5898, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 331, ptr noundef %5901, ptr noundef %5904, ptr noundef %5907, i32 noundef %5909) #10
  br label %5911

5911:                                             ; preds = %5894, %5877
  call void @llvm.lifetime.end.p0(i64 4, ptr %158) #10
  br label %5912

5912:                                             ; preds = %5911
  br label %5913

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

5914:                                             ; No predecessors!
  br label %5915

5915:                                             ; preds = %5914
  br label %5916

5916:                                             ; preds = %5915, %5856
  br label %5917

5917:                                             ; preds = %5916
  br label %5918

5918:                                             ; preds = %5917
  br label %5919

5919:                                             ; preds = %5918
  %5920 = load i32, ptr @test_count, align 4, !tbaa !5
  %5921 = add nsw i32 %5920, 1
  store i32 %5921, ptr @test_count, align 4, !tbaa !5
  %5922 = load ptr, ptr %156, align 8, !tbaa !9
  %5923 = call i32 @s2n_set_server_name(ptr noundef %5922, ptr noundef @.str.39)
  %5924 = icmp eq i32 %5923, -1
  br i1 %5924, label %5925, label %5978

5925:                                             ; preds = %5919
  br label %5926

5926:                                             ; preds = %5925
  br label %5927

5927:                                             ; preds = %5926
  call void @llvm.lifetime.start.p0(i64 4, ptr %159) #10
  %5928 = call ptr @__errno_location() #11
  %5929 = load i32, ptr %5928, align 4, !tbaa !5
  store i32 %5929, ptr %159, 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) #10
  %5937 = call i32 @isatty(i32 noundef %5936) #10
  %5938 = icmp ne i32 %5937, 0
  br i1 %5938, label %5939, label %5956

5939:                                             ; preds = %5934
  %5940 = load i32, ptr %159, align 4, !tbaa !5
  %5941 = call ptr @__errno_location() #11
  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() #11
  %5951 = load i32, ptr %5950, align 4, !tbaa !5
  %5952 = call ptr @strerror(i32 noundef %5951) #10
  %5953 = call ptr @__errno_location() #11
  %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.40, ptr noundef @.str.1, i32 noundef 332, ptr noundef %5946, ptr noundef %5949, ptr noundef %5952, i32 noundef %5954) #10
  br label %5973

5956:                                             ; preds = %5934, %5927
  %5957 = load i32, ptr %159, align 4, !tbaa !5
  %5958 = call ptr @__errno_location() #11
  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() #11
  %5968 = load i32, ptr %5967, align 4, !tbaa !5
  %5969 = call ptr @strerror(i32 noundef %5968) #10
  %5970 = call ptr @__errno_location() #11
  %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.40, ptr noundef @.str.1, i32 noundef 332, ptr noundef %5963, ptr noundef %5966, ptr noundef %5969, i32 noundef %5971) #10
  br label %5973

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

5974:                                             ; preds = %5973
  br label %5975

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

5976:                                             ; No predecessors!
  br label %5977

5977:                                             ; preds = %5976
  br label %5978

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

5979:                                             ; preds = %5978
  br label %5980

5980:                                             ; preds = %5979
  call void @llvm.lifetime.start.p0(i64 40, ptr %160) #10
  call void @llvm.memset.p0.i64(ptr align 8 %160, i8 0, i64 40, i1 false)
  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 = load ptr, ptr %156, align 8, !tbaa !9
  %5985 = call i32 @s2n_test_cert_chain_data_from_pem(ptr noundef %5984, ptr noundef @.str.41, ptr noundef %160)
  %5986 = getelementptr inbounds %struct.s2n_result, ptr %161, i32 0, i32 0
  store i32 %5985, ptr %5986, align 4
  %5987 = getelementptr inbounds %struct.s2n_result, ptr %161, i32 0, i32 0
  %5988 = load i32, ptr %5987, align 4
  %5989 = call zeroext i1 @s2n_result_is_ok(i32 %5988)
  br i1 %5989, label %6043, label %5990

5990:                                             ; preds = %5981
  br label %5991

5991:                                             ; preds = %5990
  br label %5992

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

5999:                                             ; preds = %5992
  %6000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6001 = call i32 @fileno(ptr noundef %6000) #10
  %6002 = call i32 @isatty(i32 noundef %6001) #10
  %6003 = icmp ne i32 %6002, 0
  br i1 %6003, label %6004, label %6021

6004:                                             ; preds = %5999
  %6005 = load i32, ptr %162, align 4, !tbaa !5
  %6006 = call ptr @__errno_location() #11
  store i32 %6005, ptr %6006, align 4, !tbaa !5
  %6007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6008 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %6010, ptr noundef @.str.4)
  %6012 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6013 = load i32, ptr %6012, align 4, !tbaa !5
  %6014 = call ptr @s2n_strerror_debug(i32 noundef %6013, ptr noundef @.str.4)
  %6015 = call ptr @__errno_location() #11
  %6016 = load i32, ptr %6015, align 4, !tbaa !5
  %6017 = call ptr @strerror(i32 noundef %6016) #10
  %6018 = call ptr @__errno_location() #11
  %6019 = load i32, ptr %6018, align 4, !tbaa !5
  %6020 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6007, ptr noundef @.str.2, i32 noundef %6008, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 335, ptr noundef %6011, ptr noundef %6014, ptr noundef %6017, i32 noundef %6019) #10
  br label %6038

6021:                                             ; preds = %5999, %5992
  %6022 = load i32, ptr %162, align 4, !tbaa !5
  %6023 = call ptr @__errno_location() #11
  store i32 %6022, ptr %6023, align 4, !tbaa !5
  %6024 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6025 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %6027, ptr noundef @.str.4)
  %6029 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6030 = load i32, ptr %6029, align 4, !tbaa !5
  %6031 = call ptr @s2n_strerror_debug(i32 noundef %6030, ptr noundef @.str.4)
  %6032 = call ptr @__errno_location() #11
  %6033 = load i32, ptr %6032, align 4, !tbaa !5
  %6034 = call ptr @strerror(i32 noundef %6033) #10
  %6035 = call ptr @__errno_location() #11
  %6036 = load i32, ptr %6035, align 4, !tbaa !5
  %6037 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6024, ptr noundef @.str.5, i32 noundef %6025, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 335, ptr noundef %6028, ptr noundef %6031, ptr noundef %6034, i32 noundef %6036) #10
  br label %6038

6038:                                             ; preds = %6021, %6004
  call void @llvm.lifetime.end.p0(i64 4, ptr %162) #10
  br label %6039

6039:                                             ; preds = %6038
  br label %6040

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

6041:                                             ; No predecessors!
  br label %6042

6042:                                             ; preds = %6041
  br label %6043

6043:                                             ; preds = %6042, %5981
  br label %6044

6044:                                             ; preds = %6043
  br label %6045

6045:                                             ; preds = %6044
  call void @llvm.lifetime.start.p0(i64 4, ptr %163) #10
  %6046 = getelementptr inbounds %struct.s2n_stuffer, ptr %160, i32 0, i32 2
  %6047 = load i32, ptr %6046, align 4, !tbaa !23
  %6048 = getelementptr inbounds %struct.s2n_stuffer, ptr %160, i32 0, i32 1
  %6049 = load i32, ptr %6048, align 8, !tbaa !26
  %6050 = sub i32 %6047, %6049
  store i32 %6050, ptr %163, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %164) #10
  %6051 = load i32, ptr %163, align 4, !tbaa !5
  %6052 = call ptr @s2n_stuffer_raw_read(ptr noundef %160, i32 noundef %6051)
  store ptr %6052, ptr %164, align 8, !tbaa !9
  br label %6053

6053:                                             ; preds = %6045
  %6054 = load i32, ptr @test_count, align 4, !tbaa !5
  %6055 = add nsw i32 %6054, 1
  store i32 %6055, ptr @test_count, align 4, !tbaa !5
  %6056 = load ptr, ptr %164, align 8, !tbaa !9
  %6057 = icmp eq ptr %6056, null
  br i1 %6057, label %6058, label %6111

6058:                                             ; preds = %6053
  br label %6059

6059:                                             ; preds = %6058
  br label %6060

6060:                                             ; preds = %6059
  call void @llvm.lifetime.start.p0(i64 4, ptr %165) #10
  %6061 = call ptr @__errno_location() #11
  %6062 = load i32, ptr %6061, align 4, !tbaa !5
  store i32 %6062, ptr %165, align 4, !tbaa !5
  %6063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6064 = call i32 @s2n_print_stacktrace(ptr noundef %6063)
  %6065 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6066 = trunc i8 %6065 to i1
  br i1 %6066, label %6067, label %6089

6067:                                             ; preds = %6060
  %6068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6069 = call i32 @fileno(ptr noundef %6068) #10
  %6070 = call i32 @isatty(i32 noundef %6069) #10
  %6071 = icmp ne i32 %6070, 0
  br i1 %6071, label %6072, label %6089

6072:                                             ; preds = %6067
  %6073 = load i32, ptr %165, align 4, !tbaa !5
  %6074 = call ptr @__errno_location() #11
  store i32 %6073, ptr %6074, align 4, !tbaa !5
  %6075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6076 = load i32, ptr @test_count, align 4, !tbaa !5
  %6077 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6078 = load i32, ptr %6077, align 4, !tbaa !5
  %6079 = call ptr @s2n_strerror(i32 noundef %6078, ptr noundef @.str.4)
  %6080 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6081 = load i32, ptr %6080, align 4, !tbaa !5
  %6082 = call ptr @s2n_strerror_debug(i32 noundef %6081, ptr noundef @.str.4)
  %6083 = call ptr @__errno_location() #11
  %6084 = load i32, ptr %6083, align 4, !tbaa !5
  %6085 = call ptr @strerror(i32 noundef %6084) #10
  %6086 = call ptr @__errno_location() #11
  %6087 = load i32, ptr %6086, align 4, !tbaa !5
  %6088 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6075, ptr noundef @.str.2, i32 noundef %6076, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 338, ptr noundef %6079, ptr noundef %6082, ptr noundef %6085, i32 noundef %6087) #10
  br label %6106

6089:                                             ; preds = %6067, %6060
  %6090 = load i32, ptr %165, align 4, !tbaa !5
  %6091 = call ptr @__errno_location() #11
  store i32 %6090, ptr %6091, align 4, !tbaa !5
  %6092 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6093 = load i32, ptr @test_count, align 4, !tbaa !5
  %6094 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6095 = load i32, ptr %6094, align 4, !tbaa !5
  %6096 = call ptr @s2n_strerror(i32 noundef %6095, ptr noundef @.str.4)
  %6097 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6098 = load i32, ptr %6097, align 4, !tbaa !5
  %6099 = call ptr @s2n_strerror_debug(i32 noundef %6098, ptr noundef @.str.4)
  %6100 = call ptr @__errno_location() #11
  %6101 = load i32, ptr %6100, align 4, !tbaa !5
  %6102 = call ptr @strerror(i32 noundef %6101) #10
  %6103 = call ptr @__errno_location() #11
  %6104 = load i32, ptr %6103, align 4, !tbaa !5
  %6105 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6092, ptr noundef @.str.5, i32 noundef %6093, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 338, ptr noundef %6096, ptr noundef %6099, ptr noundef %6102, i32 noundef %6104) #10
  br label %6106

6106:                                             ; preds = %6089, %6072
  call void @llvm.lifetime.end.p0(i64 4, ptr %165) #10
  br label %6107

6107:                                             ; preds = %6106
  br label %6108

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

6109:                                             ; No predecessors!
  br label %6110

6110:                                             ; preds = %6109
  br label %6111

6111:                                             ; preds = %6110, %6053
  br label %6112

6112:                                             ; preds = %6111
  br label %6113

6113:                                             ; preds = %6112
  call void @llvm.lifetime.start.p0(i64 48, ptr %166) #10
  call void @llvm.memset.p0.i64(ptr align 8 %166, i8 0, i64 48, i1 false)
  br label %6114

6114:                                             ; preds = %6113
  %6115 = load i32, ptr @test_count, align 4, !tbaa !5
  %6116 = add nsw i32 %6115, 1
  store i32 %6116, ptr @test_count, align 4, !tbaa !5
  %6117 = call i32 @s2n_pkey_zero_init(ptr noundef %166)
  %6118 = icmp eq i32 %6117, -1
  br i1 %6118, label %6119, label %6172

6119:                                             ; preds = %6114
  br label %6120

6120:                                             ; preds = %6119
  br label %6121

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

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

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

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

6167:                                             ; preds = %6150, %6133
  call void @llvm.lifetime.end.p0(i64 4, ptr %167) #10
  br label %6168

6168:                                             ; preds = %6167
  br label %6169

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

6170:                                             ; No predecessors!
  br label %6171

6171:                                             ; preds = %6170
  br label %6172

6172:                                             ; preds = %6171, %6114
  br label %6173

6173:                                             ; preds = %6172
  br label %6174

6174:                                             ; preds = %6173
  call void @llvm.lifetime.start.p0(i64 4, ptr %168) #10
  store i32 -1, ptr %168, align 4, !tbaa !5
  br label %6175

6175:                                             ; preds = %6174
  br label %6176

6176:                                             ; preds = %6175
  br label %6177

6177:                                             ; preds = %6176
  %6178 = load i32, ptr @test_count, align 4, !tbaa !5
  %6179 = add nsw i32 %6178, 1
  store i32 %6179, ptr @test_count, align 4, !tbaa !5
  %6180 = load ptr, ptr %156, align 8, !tbaa !9
  %6181 = load ptr, ptr %164, align 8, !tbaa !9
  %6182 = load i32, ptr %163, align 4, !tbaa !5
  %6183 = call i32 @s2n_x509_validator_validate_cert_chain(ptr noundef %150, ptr noundef %6180, ptr noundef %6181, i32 noundef %6182, ptr noundef %168, ptr noundef %166)
  %6184 = getelementptr inbounds %struct.s2n_result, ptr %169, i32 0, i32 0
  store i32 %6183, ptr %6184, align 4
  %6185 = getelementptr inbounds %struct.s2n_result, ptr %169, i32 0, i32 0
  %6186 = load i32, ptr %6185, align 4
  %6187 = call zeroext i1 @s2n_result_is_error(i32 %6186)
  br i1 %6187, label %6241, label %6188

6188:                                             ; preds = %6177
  br label %6189

6189:                                             ; preds = %6188
  br label %6190

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

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

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

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

6236:                                             ; preds = %6219, %6202
  call void @llvm.lifetime.end.p0(i64 4, ptr %170) #10
  br label %6237

6237:                                             ; preds = %6236
  br label %6238

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

6239:                                             ; No predecessors!
  br label %6240

6240:                                             ; preds = %6239
  br label %6241

6241:                                             ; preds = %6240, %6177
  br label %6242

6242:                                             ; preds = %6241
  br label %6243

6243:                                             ; preds = %6242
  br label %6244

6244:                                             ; preds = %6243
  %6245 = load i32, ptr @test_count, align 4, !tbaa !5
  %6246 = add nsw i32 %6245, 1
  store i32 %6246, ptr @test_count, align 4, !tbaa !5
  %6247 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6248 = load i32, ptr %6247, align 4, !tbaa !5
  %6249 = icmp eq i32 %6248, 335544374
  br i1 %6249, label %6303, label %6250

6250:                                             ; preds = %6244
  br label %6251

6251:                                             ; preds = %6250
  br label %6252

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

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

6264:                                             ; preds = %6259
  %6265 = load i32, ptr %171, align 4, !tbaa !5
  %6266 = call ptr @__errno_location() #11
  store i32 %6265, ptr %6266, align 4, !tbaa !5
  %6267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6268 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %6270, ptr noundef @.str.4)
  %6272 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6273 = load i32, ptr %6272, align 4, !tbaa !5
  %6274 = call ptr @s2n_strerror_debug(i32 noundef %6273, ptr noundef @.str.4)
  %6275 = call ptr @__errno_location() #11
  %6276 = load i32, ptr %6275, align 4, !tbaa !5
  %6277 = call ptr @strerror(i32 noundef %6276) #10
  %6278 = call ptr @__errno_location() #11
  %6279 = load i32, ptr %6278, align 4, !tbaa !5
  %6280 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6267, ptr noundef @.str.2, i32 noundef %6268, ptr noundef @.str.59, ptr noundef @.str.1, i32 noundef 345, ptr noundef %6271, ptr noundef %6274, ptr noundef %6277, i32 noundef %6279) #10
  br label %6298

6281:                                             ; preds = %6259, %6252
  %6282 = load i32, ptr %171, align 4, !tbaa !5
  %6283 = call ptr @__errno_location() #11
  store i32 %6282, ptr %6283, align 4, !tbaa !5
  %6284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6285 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %6287, ptr noundef @.str.4)
  %6289 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6290 = load i32, ptr %6289, align 4, !tbaa !5
  %6291 = call ptr @s2n_strerror_debug(i32 noundef %6290, ptr noundef @.str.4)
  %6292 = call ptr @__errno_location() #11
  %6293 = load i32, ptr %6292, align 4, !tbaa !5
  %6294 = call ptr @strerror(i32 noundef %6293) #10
  %6295 = call ptr @__errno_location() #11
  %6296 = load i32, ptr %6295, align 4, !tbaa !5
  %6297 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6284, ptr noundef @.str.5, i32 noundef %6285, ptr noundef @.str.59, ptr noundef @.str.1, i32 noundef 345, ptr noundef %6288, ptr noundef %6291, ptr noundef %6294, i32 noundef %6296) #10
  br label %6298

6298:                                             ; preds = %6281, %6264
  call void @llvm.lifetime.end.p0(i64 4, ptr %171) #10
  br label %6299

6299:                                             ; preds = %6298
  br label %6300

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

6301:                                             ; No predecessors!
  br label %6302

6302:                                             ; preds = %6301
  br label %6303

6303:                                             ; preds = %6302, %6244
  br label %6304

6304:                                             ; preds = %6303
  br label %6305

6305:                                             ; preds = %6304
  br label %6306

6306:                                             ; preds = %6305
  %6307 = load i32, ptr @test_count, align 4, !tbaa !5
  %6308 = add nsw i32 %6307, 1
  store i32 %6308, ptr @test_count, align 4, !tbaa !5
  %6309 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6310 = load i32, ptr %6309, align 4, !tbaa !5
  %6311 = call ptr @s2n_strerror_debug(i32 noundef %6310, ptr noundef @.str.4)
  %6312 = icmp eq ptr %6311, null
  br i1 %6312, label %6313, label %6366

6313:                                             ; preds = %6306
  br label %6314

6314:                                             ; preds = %6313
  br label %6315

6315:                                             ; preds = %6314
  call void @llvm.lifetime.start.p0(i64 4, ptr %172) #10
  %6316 = call ptr @__errno_location() #11
  %6317 = load i32, ptr %6316, align 4, !tbaa !5
  store i32 %6317, ptr %172, align 4, !tbaa !5
  %6318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6319 = call i32 @s2n_print_stacktrace(ptr noundef %6318)
  %6320 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6321 = trunc i8 %6320 to i1
  br i1 %6321, label %6322, label %6344

6322:                                             ; preds = %6315
  %6323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6324 = call i32 @fileno(ptr noundef %6323) #10
  %6325 = call i32 @isatty(i32 noundef %6324) #10
  %6326 = icmp ne i32 %6325, 0
  br i1 %6326, label %6327, label %6344

6327:                                             ; preds = %6322
  %6328 = load i32, ptr %172, align 4, !tbaa !5
  %6329 = call ptr @__errno_location() #11
  store i32 %6328, ptr %6329, align 4, !tbaa !5
  %6330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6331 = load i32, ptr @test_count, align 4, !tbaa !5
  %6332 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6333 = load i32, ptr %6332, align 4, !tbaa !5
  %6334 = call ptr @s2n_strerror(i32 noundef %6333, ptr noundef @.str.4)
  %6335 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6336 = load i32, ptr %6335, align 4, !tbaa !5
  %6337 = call ptr @s2n_strerror_debug(i32 noundef %6336, ptr noundef @.str.4)
  %6338 = call ptr @__errno_location() #11
  %6339 = load i32, ptr %6338, align 4, !tbaa !5
  %6340 = call ptr @strerror(i32 noundef %6339) #10
  %6341 = call ptr @__errno_location() #11
  %6342 = load i32, ptr %6341, align 4, !tbaa !5
  %6343 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6330, ptr noundef @.str.2, i32 noundef %6331, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 345, ptr noundef %6334, ptr noundef %6337, ptr noundef %6340, i32 noundef %6342) #10
  br label %6361

6344:                                             ; preds = %6322, %6315
  %6345 = load i32, ptr %172, align 4, !tbaa !5
  %6346 = call ptr @__errno_location() #11
  store i32 %6345, ptr %6346, align 4, !tbaa !5
  %6347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6348 = load i32, ptr @test_count, align 4, !tbaa !5
  %6349 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6350 = load i32, ptr %6349, align 4, !tbaa !5
  %6351 = call ptr @s2n_strerror(i32 noundef %6350, ptr noundef @.str.4)
  %6352 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6353 = load i32, ptr %6352, align 4, !tbaa !5
  %6354 = call ptr @s2n_strerror_debug(i32 noundef %6353, ptr noundef @.str.4)
  %6355 = call ptr @__errno_location() #11
  %6356 = load i32, ptr %6355, align 4, !tbaa !5
  %6357 = call ptr @strerror(i32 noundef %6356) #10
  %6358 = call ptr @__errno_location() #11
  %6359 = load i32, ptr %6358, align 4, !tbaa !5
  %6360 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6347, ptr noundef @.str.5, i32 noundef %6348, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 345, ptr noundef %6351, ptr noundef %6354, ptr noundef %6357, i32 noundef %6359) #10
  br label %6361

6361:                                             ; preds = %6344, %6327
  call void @llvm.lifetime.end.p0(i64 4, ptr %172) #10
  br label %6362

6362:                                             ; preds = %6361
  br label %6363

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

6364:                                             ; No predecessors!
  br label %6365

6365:                                             ; preds = %6364
  br label %6366

6366:                                             ; preds = %6365, %6306
  br label %6367

6367:                                             ; preds = %6366
  br label %6368

6368:                                             ; preds = %6367
  br label %6369

6369:                                             ; preds = %6368
  br label %6370

6370:                                             ; preds = %6369
  br label %6371

6371:                                             ; preds = %6370
  %6372 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %6372, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %6373 = call ptr @__errno_location() #11
  store i32 0, ptr %6373, align 4, !tbaa !5
  br label %6374

6374:                                             ; preds = %6371
  br label %6375

6375:                                             ; preds = %6374
  br label %6376

6376:                                             ; preds = %6375
  br label %6377

6377:                                             ; preds = %6376
  br label %6378

6378:                                             ; preds = %6377
  %6379 = load i32, ptr @test_count, align 4, !tbaa !5
  %6380 = add nsw i32 %6379, 1
  store i32 %6380, ptr @test_count, align 4, !tbaa !5
  %6381 = getelementptr inbounds %struct.crl_lookup_data, ptr %152, i32 0, i32 2
  %6382 = load i8, ptr %6381, align 8, !tbaa !27
  %6383 = zext i8 %6382 to i32
  %6384 = icmp eq i32 %6383, 2
  br i1 %6384, label %6438, label %6385

6385:                                             ; preds = %6378
  br label %6386

6386:                                             ; preds = %6385
  br label %6387

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

6394:                                             ; preds = %6387
  %6395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6396 = call i32 @fileno(ptr noundef %6395) #10
  %6397 = call i32 @isatty(i32 noundef %6396) #10
  %6398 = icmp ne i32 %6397, 0
  br i1 %6398, label %6399, label %6416

6399:                                             ; preds = %6394
  %6400 = load i32, ptr %173, align 4, !tbaa !5
  %6401 = call ptr @__errno_location() #11
  store i32 %6400, ptr %6401, align 4, !tbaa !5
  %6402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6403 = load i32, ptr @test_count, align 4, !tbaa !5
  %6404 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6405 = load i32, ptr %6404, align 4, !tbaa !5
  %6406 = call ptr @s2n_strerror(i32 noundef %6405, ptr noundef @.str.4)
  %6407 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6408 = load i32, ptr %6407, align 4, !tbaa !5
  %6409 = call ptr @s2n_strerror_debug(i32 noundef %6408, ptr noundef @.str.4)
  %6410 = call ptr @__errno_location() #11
  %6411 = load i32, ptr %6410, align 4, !tbaa !5
  %6412 = call ptr @strerror(i32 noundef %6411) #10
  %6413 = call ptr @__errno_location() #11
  %6414 = load i32, ptr %6413, align 4, !tbaa !5
  %6415 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6402, ptr noundef @.str.2, i32 noundef %6403, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 346, ptr noundef %6406, ptr noundef %6409, ptr noundef %6412, i32 noundef %6414) #10
  br label %6433

6416:                                             ; preds = %6394, %6387
  %6417 = load i32, ptr %173, align 4, !tbaa !5
  %6418 = call ptr @__errno_location() #11
  store i32 %6417, ptr %6418, align 4, !tbaa !5
  %6419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6420 = load i32, ptr @test_count, align 4, !tbaa !5
  %6421 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6422 = load i32, ptr %6421, align 4, !tbaa !5
  %6423 = call ptr @s2n_strerror(i32 noundef %6422, ptr noundef @.str.4)
  %6424 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6425 = load i32, ptr %6424, align 4, !tbaa !5
  %6426 = call ptr @s2n_strerror_debug(i32 noundef %6425, ptr noundef @.str.4)
  %6427 = call ptr @__errno_location() #11
  %6428 = load i32, ptr %6427, align 4, !tbaa !5
  %6429 = call ptr @strerror(i32 noundef %6428) #10
  %6430 = call ptr @__errno_location() #11
  %6431 = load i32, ptr %6430, align 4, !tbaa !5
  %6432 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6419, ptr noundef @.str.5, i32 noundef %6420, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 346, ptr noundef %6423, ptr noundef %6426, ptr noundef %6429, i32 noundef %6431) #10
  br label %6433

6433:                                             ; preds = %6416, %6399
  call void @llvm.lifetime.end.p0(i64 4, ptr %173) #10
  br label %6434

6434:                                             ; preds = %6433
  br label %6435

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

6436:                                             ; No predecessors!
  br label %6437

6437:                                             ; preds = %6436
  br label %6438

6438:                                             ; preds = %6437, %6378
  br label %6439

6439:                                             ; preds = %6438
  br label %6440

6440:                                             ; preds = %6439
  call void @llvm.lifetime.end.p0(i64 4, ptr %168) #10
  %6441 = call i32 @s2n_pkey_free(ptr noundef %166)
  call void @llvm.lifetime.end.p0(i64 48, ptr %166) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %164) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %163) #10
  %6442 = call i32 @s2n_stuffer_free(ptr noundef %160)
  call void @llvm.lifetime.end.p0(i64 40, ptr %160) #10
  %6443 = call i32 @s2n_connection_ptr_free(ptr noundef %156)
  %6444 = getelementptr inbounds %struct.s2n_result, ptr %174, i32 0, i32 0
  store i32 %6443, ptr %6444, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %156) #10
  %6445 = call i32 @s2n_config_ptr_free(ptr noundef %153)
  %6446 = getelementptr inbounds %struct.s2n_result, ptr %175, i32 0, i32 0
  store i32 %6445, ptr %6446, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %153) #10
  call void @llvm.lifetime.end.p0(i64 88, ptr %152) #10
  %6447 = call i32 @s2n_x509_validator_wipe(ptr noundef %150)
  call void @llvm.lifetime.end.p0(i64 56, ptr %150) #10
  call void @llvm.lifetime.end.p0(i64 12000, ptr %147) #10
  call void @s2n_x509_trust_store_wipe(ptr noundef %146)
  call void @llvm.lifetime.end.p0(i64 16, ptr %146) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %176) #10
  call void @llvm.memset.p0.i64(ptr align 8 %176, i8 0, i64 16, i1 false)
  call void @s2n_x509_trust_store_init_empty(ptr noundef %176)
  call void @llvm.lifetime.start.p0(i64 12000, ptr %177) #10
  call void @llvm.memset.p0.i64(ptr align 16 %177, i8 0, i64 12000, i1 false)
  br label %6448

6448:                                             ; preds = %6440
  %6449 = load i32, ptr @test_count, align 4, !tbaa !5
  %6450 = add nsw i32 %6449, 1
  store i32 %6450, ptr @test_count, align 4, !tbaa !5
  %6451 = getelementptr inbounds [12000 x i8], ptr %177, i64 0, i64 0
  %6452 = call i32 @s2n_read_test_pem(ptr noundef @.str.31, ptr noundef %6451, i64 noundef 12000)
  %6453 = icmp eq i32 %6452, -1
  br i1 %6453, label %6454, label %6507

6454:                                             ; preds = %6448
  br label %6455

6455:                                             ; preds = %6454
  br label %6456

6456:                                             ; preds = %6455
  call void @llvm.lifetime.start.p0(i64 4, ptr %178) #10
  %6457 = call ptr @__errno_location() #11
  %6458 = load i32, ptr %6457, align 4, !tbaa !5
  store i32 %6458, ptr %178, align 4, !tbaa !5
  %6459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6460 = call i32 @s2n_print_stacktrace(ptr noundef %6459)
  %6461 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6462 = trunc i8 %6461 to i1
  br i1 %6462, label %6463, label %6485

6463:                                             ; preds = %6456
  %6464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6465 = call i32 @fileno(ptr noundef %6464) #10
  %6466 = call i32 @isatty(i32 noundef %6465) #10
  %6467 = icmp ne i32 %6466, 0
  br i1 %6467, label %6468, label %6485

6468:                                             ; preds = %6463
  %6469 = load i32, ptr %178, align 4, !tbaa !5
  %6470 = call ptr @__errno_location() #11
  store i32 %6469, ptr %6470, align 4, !tbaa !5
  %6471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6472 = load i32, ptr @test_count, align 4, !tbaa !5
  %6473 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6474 = load i32, ptr %6473, align 4, !tbaa !5
  %6475 = call ptr @s2n_strerror(i32 noundef %6474, ptr noundef @.str.4)
  %6476 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6477 = load i32, ptr %6476, align 4, !tbaa !5
  %6478 = call ptr @s2n_strerror_debug(i32 noundef %6477, ptr noundef @.str.4)
  %6479 = call ptr @__errno_location() #11
  %6480 = load i32, ptr %6479, align 4, !tbaa !5
  %6481 = call ptr @strerror(i32 noundef %6480) #10
  %6482 = call ptr @__errno_location() #11
  %6483 = load i32, ptr %6482, align 4, !tbaa !5
  %6484 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6471, ptr noundef @.str.2, i32 noundef %6472, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 355, ptr noundef %6475, ptr noundef %6478, ptr noundef %6481, i32 noundef %6483) #10
  br label %6502

6485:                                             ; preds = %6463, %6456
  %6486 = load i32, ptr %178, align 4, !tbaa !5
  %6487 = call ptr @__errno_location() #11
  store i32 %6486, ptr %6487, align 4, !tbaa !5
  %6488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6489 = load i32, ptr @test_count, align 4, !tbaa !5
  %6490 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6491 = load i32, ptr %6490, align 4, !tbaa !5
  %6492 = call ptr @s2n_strerror(i32 noundef %6491, ptr noundef @.str.4)
  %6493 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6494 = load i32, ptr %6493, align 4, !tbaa !5
  %6495 = call ptr @s2n_strerror_debug(i32 noundef %6494, ptr noundef @.str.4)
  %6496 = call ptr @__errno_location() #11
  %6497 = load i32, ptr %6496, align 4, !tbaa !5
  %6498 = call ptr @strerror(i32 noundef %6497) #10
  %6499 = call ptr @__errno_location() #11
  %6500 = load i32, ptr %6499, align 4, !tbaa !5
  %6501 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6488, ptr noundef @.str.5, i32 noundef %6489, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 355, ptr noundef %6492, ptr noundef %6495, ptr noundef %6498, i32 noundef %6500) #10
  br label %6502

6502:                                             ; preds = %6485, %6468
  call void @llvm.lifetime.end.p0(i64 4, ptr %178) #10
  br label %6503

6503:                                             ; preds = %6502
  br label %6504

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

6505:                                             ; No predecessors!
  br label %6506

6506:                                             ; preds = %6505
  br label %6507

6507:                                             ; preds = %6506, %6448
  br label %6508

6508:                                             ; preds = %6507
  br label %6509

6509:                                             ; preds = %6508
  br label %6510

6510:                                             ; preds = %6509
  %6511 = load i32, ptr @test_count, align 4, !tbaa !5
  %6512 = add nsw i32 %6511, 1
  store i32 %6512, ptr @test_count, align 4, !tbaa !5
  %6513 = getelementptr inbounds [12000 x i8], ptr %177, i64 0, i64 0
  %6514 = call i32 @s2n_x509_trust_store_add_pem(ptr noundef %176, ptr noundef %6513)
  %6515 = icmp eq i32 %6514, -1
  br i1 %6515, label %6516, label %6569

6516:                                             ; preds = %6510
  br label %6517

6517:                                             ; preds = %6516
  br label %6518

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

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

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

6547:                                             ; preds = %6525, %6518
  %6548 = load i32, ptr %179, align 4, !tbaa !5
  %6549 = call ptr @__errno_location() #11
  store i32 %6548, ptr %6549, align 4, !tbaa !5
  %6550 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6551 = load i32, ptr @test_count, align 4, !tbaa !5
  %6552 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6553 = load i32, ptr %6552, align 4, !tbaa !5
  %6554 = call ptr @s2n_strerror(i32 noundef %6553, ptr noundef @.str.4)
  %6555 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6556 = load i32, ptr %6555, align 4, !tbaa !5
  %6557 = call ptr @s2n_strerror_debug(i32 noundef %6556, ptr noundef @.str.4)
  %6558 = call ptr @__errno_location() #11
  %6559 = load i32, ptr %6558, align 4, !tbaa !5
  %6560 = call ptr @strerror(i32 noundef %6559) #10
  %6561 = call ptr @__errno_location() #11
  %6562 = load i32, ptr %6561, align 4, !tbaa !5
  %6563 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6550, ptr noundef @.str.5, i32 noundef %6551, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 356, ptr noundef %6554, ptr noundef %6557, ptr noundef %6560, i32 noundef %6562) #10
  br label %6564

6564:                                             ; preds = %6547, %6530
  call void @llvm.lifetime.end.p0(i64 4, ptr %179) #10
  br label %6565

6565:                                             ; preds = %6564
  br label %6566

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

6567:                                             ; No predecessors!
  br label %6568

6568:                                             ; preds = %6567
  br label %6569

6569:                                             ; preds = %6568, %6510
  br label %6570

6570:                                             ; preds = %6569
  br label %6571

6571:                                             ; preds = %6570
  call void @llvm.lifetime.start.p0(i64 56, ptr %180) #10
  br label %6572

6572:                                             ; preds = %6571
  %6573 = load i32, ptr @test_count, align 4, !tbaa !5
  %6574 = add nsw i32 %6573, 1
  store i32 %6574, ptr @test_count, align 4, !tbaa !5
  %6575 = call i32 @s2n_x509_validator_init(ptr noundef %180, ptr noundef %176, i8 noundef zeroext 0)
  %6576 = icmp eq i32 %6575, -1
  br i1 %6576, label %6577, label %6630

6577:                                             ; preds = %6572
  br label %6578

6578:                                             ; preds = %6577
  br label %6579

6579:                                             ; preds = %6578
  call void @llvm.lifetime.start.p0(i64 4, ptr %181) #10
  %6580 = call ptr @__errno_location() #11
  %6581 = load i32, ptr %6580, align 4, !tbaa !5
  store i32 %6581, ptr %181, align 4, !tbaa !5
  %6582 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6583 = call i32 @s2n_print_stacktrace(ptr noundef %6582)
  %6584 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6585 = trunc i8 %6584 to i1
  br i1 %6585, label %6586, label %6608

6586:                                             ; preds = %6579
  %6587 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6588 = call i32 @fileno(ptr noundef %6587) #10
  %6589 = call i32 @isatty(i32 noundef %6588) #10
  %6590 = icmp ne i32 %6589, 0
  br i1 %6590, label %6591, label %6608

6591:                                             ; preds = %6586
  %6592 = load i32, ptr %181, align 4, !tbaa !5
  %6593 = call ptr @__errno_location() #11
  store i32 %6592, ptr %6593, align 4, !tbaa !5
  %6594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6595 = load i32, ptr @test_count, align 4, !tbaa !5
  %6596 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6597 = load i32, ptr %6596, align 4, !tbaa !5
  %6598 = call ptr @s2n_strerror(i32 noundef %6597, ptr noundef @.str.4)
  %6599 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6600 = load i32, ptr %6599, align 4, !tbaa !5
  %6601 = call ptr @s2n_strerror_debug(i32 noundef %6600, ptr noundef @.str.4)
  %6602 = call ptr @__errno_location() #11
  %6603 = load i32, ptr %6602, align 4, !tbaa !5
  %6604 = call ptr @strerror(i32 noundef %6603) #10
  %6605 = call ptr @__errno_location() #11
  %6606 = load i32, ptr %6605, align 4, !tbaa !5
  %6607 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6594, ptr noundef @.str.2, i32 noundef %6595, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 359, ptr noundef %6598, ptr noundef %6601, ptr noundef %6604, i32 noundef %6606) #10
  br label %6625

6608:                                             ; preds = %6586, %6579
  %6609 = load i32, ptr %181, align 4, !tbaa !5
  %6610 = call ptr @__errno_location() #11
  store i32 %6609, ptr %6610, align 4, !tbaa !5
  %6611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6612 = load i32, ptr @test_count, align 4, !tbaa !5
  %6613 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6614 = load i32, ptr %6613, align 4, !tbaa !5
  %6615 = call ptr @s2n_strerror(i32 noundef %6614, ptr noundef @.str.4)
  %6616 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6617 = load i32, ptr %6616, align 4, !tbaa !5
  %6618 = call ptr @s2n_strerror_debug(i32 noundef %6617, ptr noundef @.str.4)
  %6619 = call ptr @__errno_location() #11
  %6620 = load i32, ptr %6619, align 4, !tbaa !5
  %6621 = call ptr @strerror(i32 noundef %6620) #10
  %6622 = call ptr @__errno_location() #11
  %6623 = load i32, ptr %6622, align 4, !tbaa !5
  %6624 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6611, ptr noundef @.str.5, i32 noundef %6612, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 359, ptr noundef %6615, ptr noundef %6618, ptr noundef %6621, i32 noundef %6623) #10
  br label %6625

6625:                                             ; preds = %6608, %6591
  call void @llvm.lifetime.end.p0(i64 4, ptr %181) #10
  br label %6626

6626:                                             ; preds = %6625
  br label %6627

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

6628:                                             ; No predecessors!
  br label %6629

6629:                                             ; preds = %6628
  br label %6630

6630:                                             ; preds = %6629, %6572
  br label %6631

6631:                                             ; preds = %6630
  br label %6632

6632:                                             ; preds = %6631
  call void @llvm.lifetime.start.p0(i64 88, ptr %182) #10
  call void @llvm.memset.p0.i64(ptr align 8 %182, i8 0, i64 88, i1 false)
  %6633 = load ptr, ptr %45, align 8, !tbaa !9
  %6634 = getelementptr inbounds %struct.crl_lookup_data, ptr %182, i32 0, i32 0
  %6635 = getelementptr inbounds [5 x ptr], ptr %6634, i64 0, i64 0
  store ptr %6633, ptr %6635, align 8, !tbaa !9
  %6636 = load ptr, ptr %43, align 8, !tbaa !9
  %6637 = getelementptr inbounds %struct.crl_lookup_data, ptr %182, i32 0, i32 0
  %6638 = getelementptr inbounds [5 x ptr], ptr %6637, i64 0, i64 1
  store ptr %6636, ptr %6638, align 8, !tbaa !9
  %6639 = getelementptr inbounds %struct.crl_lookup_data, ptr %182, i32 0, i32 0
  %6640 = getelementptr inbounds [5 x ptr], ptr %6639, i64 0, i64 2
  store ptr null, ptr %6640, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %183) #10
  %6641 = call ptr @s2n_config_new()
  store ptr %6641, ptr %183, align 8, !tbaa !9
  br label %6642

6642:                                             ; preds = %6632
  %6643 = load i32, ptr @test_count, align 4, !tbaa !5
  %6644 = add nsw i32 %6643, 1
  store i32 %6644, ptr @test_count, align 4, !tbaa !5
  %6645 = load ptr, ptr %183, align 8, !tbaa !9
  %6646 = icmp eq ptr %6645, null
  br i1 %6646, label %6647, label %6700

6647:                                             ; preds = %6642
  br label %6648

6648:                                             ; preds = %6647
  br label %6649

6649:                                             ; preds = %6648
  call void @llvm.lifetime.start.p0(i64 4, ptr %184) #10
  %6650 = call ptr @__errno_location() #11
  %6651 = load i32, ptr %6650, align 4, !tbaa !5
  store i32 %6651, ptr %184, align 4, !tbaa !5
  %6652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6653 = call i32 @s2n_print_stacktrace(ptr noundef %6652)
  %6654 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6655 = trunc i8 %6654 to i1
  br i1 %6655, label %6656, label %6678

6656:                                             ; preds = %6649
  %6657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6658 = call i32 @fileno(ptr noundef %6657) #10
  %6659 = call i32 @isatty(i32 noundef %6658) #10
  %6660 = icmp ne i32 %6659, 0
  br i1 %6660, label %6661, label %6678

6661:                                             ; preds = %6656
  %6662 = load i32, ptr %184, align 4, !tbaa !5
  %6663 = call ptr @__errno_location() #11
  store i32 %6662, ptr %6663, align 4, !tbaa !5
  %6664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6665 = load i32, ptr @test_count, align 4, !tbaa !5
  %6666 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6667 = load i32, ptr %6666, align 4, !tbaa !5
  %6668 = call ptr @s2n_strerror(i32 noundef %6667, ptr noundef @.str.4)
  %6669 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6670 = load i32, ptr %6669, align 4, !tbaa !5
  %6671 = call ptr @s2n_strerror_debug(i32 noundef %6670, ptr noundef @.str.4)
  %6672 = call ptr @__errno_location() #11
  %6673 = load i32, ptr %6672, align 4, !tbaa !5
  %6674 = call ptr @strerror(i32 noundef %6673) #10
  %6675 = call ptr @__errno_location() #11
  %6676 = load i32, ptr %6675, align 4, !tbaa !5
  %6677 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6664, ptr noundef @.str.2, i32 noundef %6665, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 369, ptr noundef %6668, ptr noundef %6671, ptr noundef %6674, i32 noundef %6676) #10
  br label %6695

6678:                                             ; preds = %6656, %6649
  %6679 = load i32, ptr %184, align 4, !tbaa !5
  %6680 = call ptr @__errno_location() #11
  store i32 %6679, ptr %6680, align 4, !tbaa !5
  %6681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6682 = load i32, ptr @test_count, align 4, !tbaa !5
  %6683 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6684 = load i32, ptr %6683, align 4, !tbaa !5
  %6685 = call ptr @s2n_strerror(i32 noundef %6684, ptr noundef @.str.4)
  %6686 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6687 = load i32, ptr %6686, align 4, !tbaa !5
  %6688 = call ptr @s2n_strerror_debug(i32 noundef %6687, ptr noundef @.str.4)
  %6689 = call ptr @__errno_location() #11
  %6690 = load i32, ptr %6689, align 4, !tbaa !5
  %6691 = call ptr @strerror(i32 noundef %6690) #10
  %6692 = call ptr @__errno_location() #11
  %6693 = load i32, ptr %6692, align 4, !tbaa !5
  %6694 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6681, ptr noundef @.str.5, i32 noundef %6682, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 369, ptr noundef %6685, ptr noundef %6688, ptr noundef %6691, i32 noundef %6693) #10
  br label %6695

6695:                                             ; preds = %6678, %6661
  call void @llvm.lifetime.end.p0(i64 4, ptr %184) #10
  br label %6696

6696:                                             ; preds = %6695
  br label %6697

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

6698:                                             ; No predecessors!
  br label %6699

6699:                                             ; preds = %6698
  br label %6700

6700:                                             ; preds = %6699, %6642
  br label %6701

6701:                                             ; preds = %6700
  br label %6702

6702:                                             ; preds = %6701
  br label %6703

6703:                                             ; preds = %6702
  %6704 = load i32, ptr @test_count, align 4, !tbaa !5
  %6705 = add nsw i32 %6704, 1
  store i32 %6705, ptr @test_count, align 4, !tbaa !5
  %6706 = load ptr, ptr %183, align 8, !tbaa !9
  %6707 = call i32 @s2n_config_set_crl_lookup_cb(ptr noundef %6706, ptr noundef @crl_lookup_test_callback, ptr noundef %182)
  %6708 = icmp eq i32 %6707, -1
  br i1 %6708, label %6709, label %6762

6709:                                             ; preds = %6703
  br label %6710

6710:                                             ; preds = %6709
  br label %6711

6711:                                             ; preds = %6710
  call void @llvm.lifetime.start.p0(i64 4, ptr %185) #10
  %6712 = call ptr @__errno_location() #11
  %6713 = load i32, ptr %6712, align 4, !tbaa !5
  store i32 %6713, ptr %185, align 4, !tbaa !5
  %6714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6715 = call i32 @s2n_print_stacktrace(ptr noundef %6714)
  %6716 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6717 = trunc i8 %6716 to i1
  br i1 %6717, label %6718, label %6740

6718:                                             ; preds = %6711
  %6719 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6720 = call i32 @fileno(ptr noundef %6719) #10
  %6721 = call i32 @isatty(i32 noundef %6720) #10
  %6722 = icmp ne i32 %6721, 0
  br i1 %6722, label %6723, label %6740

6723:                                             ; preds = %6718
  %6724 = load i32, ptr %185, align 4, !tbaa !5
  %6725 = call ptr @__errno_location() #11
  store i32 %6724, ptr %6725, align 4, !tbaa !5
  %6726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6727 = load i32, ptr @test_count, align 4, !tbaa !5
  %6728 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6729 = load i32, ptr %6728, align 4, !tbaa !5
  %6730 = call ptr @s2n_strerror(i32 noundef %6729, ptr noundef @.str.4)
  %6731 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6732 = load i32, ptr %6731, align 4, !tbaa !5
  %6733 = call ptr @s2n_strerror_debug(i32 noundef %6732, ptr noundef @.str.4)
  %6734 = call ptr @__errno_location() #11
  %6735 = load i32, ptr %6734, align 4, !tbaa !5
  %6736 = call ptr @strerror(i32 noundef %6735) #10
  %6737 = call ptr @__errno_location() #11
  %6738 = load i32, ptr %6737, align 4, !tbaa !5
  %6739 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6726, ptr noundef @.str.2, i32 noundef %6727, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 370, ptr noundef %6730, ptr noundef %6733, ptr noundef %6736, i32 noundef %6738) #10
  br label %6757

6740:                                             ; preds = %6718, %6711
  %6741 = load i32, ptr %185, align 4, !tbaa !5
  %6742 = call ptr @__errno_location() #11
  store i32 %6741, ptr %6742, align 4, !tbaa !5
  %6743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6744 = load i32, ptr @test_count, align 4, !tbaa !5
  %6745 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6746 = load i32, ptr %6745, align 4, !tbaa !5
  %6747 = call ptr @s2n_strerror(i32 noundef %6746, ptr noundef @.str.4)
  %6748 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6749 = load i32, ptr %6748, align 4, !tbaa !5
  %6750 = call ptr @s2n_strerror_debug(i32 noundef %6749, ptr noundef @.str.4)
  %6751 = call ptr @__errno_location() #11
  %6752 = load i32, ptr %6751, align 4, !tbaa !5
  %6753 = call ptr @strerror(i32 noundef %6752) #10
  %6754 = call ptr @__errno_location() #11
  %6755 = load i32, ptr %6754, align 4, !tbaa !5
  %6756 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6743, ptr noundef @.str.5, i32 noundef %6744, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 370, ptr noundef %6747, ptr noundef %6750, ptr noundef %6753, i32 noundef %6755) #10
  br label %6757

6757:                                             ; preds = %6740, %6723
  call void @llvm.lifetime.end.p0(i64 4, ptr %185) #10
  br label %6758

6758:                                             ; preds = %6757
  br label %6759

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

6760:                                             ; No predecessors!
  br label %6761

6761:                                             ; preds = %6760
  br label %6762

6762:                                             ; preds = %6761, %6703
  br label %6763

6763:                                             ; preds = %6762
  br label %6764

6764:                                             ; preds = %6763
  call void @llvm.lifetime.start.p0(i64 8, ptr %186) #10
  %6765 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %6765, ptr %186, align 8, !tbaa !9
  br label %6766

6766:                                             ; preds = %6764
  %6767 = load i32, ptr @test_count, align 4, !tbaa !5
  %6768 = add nsw i32 %6767, 1
  store i32 %6768, ptr @test_count, align 4, !tbaa !5
  %6769 = load ptr, ptr %186, align 8, !tbaa !9
  %6770 = icmp eq ptr %6769, null
  br i1 %6770, label %6771, label %6824

6771:                                             ; preds = %6766
  br label %6772

6772:                                             ; preds = %6771
  br label %6773

6773:                                             ; preds = %6772
  call void @llvm.lifetime.start.p0(i64 4, ptr %187) #10
  %6774 = call ptr @__errno_location() #11
  %6775 = load i32, ptr %6774, align 4, !tbaa !5
  store i32 %6775, ptr %187, align 4, !tbaa !5
  %6776 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6777 = call i32 @s2n_print_stacktrace(ptr noundef %6776)
  %6778 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6779 = trunc i8 %6778 to i1
  br i1 %6779, label %6780, label %6802

6780:                                             ; preds = %6773
  %6781 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6782 = call i32 @fileno(ptr noundef %6781) #10
  %6783 = call i32 @isatty(i32 noundef %6782) #10
  %6784 = icmp ne i32 %6783, 0
  br i1 %6784, label %6785, label %6802

6785:                                             ; preds = %6780
  %6786 = load i32, ptr %187, align 4, !tbaa !5
  %6787 = call ptr @__errno_location() #11
  store i32 %6786, ptr %6787, align 4, !tbaa !5
  %6788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6789 = load i32, ptr @test_count, align 4, !tbaa !5
  %6790 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6791 = load i32, ptr %6790, align 4, !tbaa !5
  %6792 = call ptr @s2n_strerror(i32 noundef %6791, ptr noundef @.str.4)
  %6793 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6794 = load i32, ptr %6793, align 4, !tbaa !5
  %6795 = call ptr @s2n_strerror_debug(i32 noundef %6794, ptr noundef @.str.4)
  %6796 = call ptr @__errno_location() #11
  %6797 = load i32, ptr %6796, align 4, !tbaa !5
  %6798 = call ptr @strerror(i32 noundef %6797) #10
  %6799 = call ptr @__errno_location() #11
  %6800 = load i32, ptr %6799, align 4, !tbaa !5
  %6801 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6788, ptr noundef @.str.2, i32 noundef %6789, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 373, ptr noundef %6792, ptr noundef %6795, ptr noundef %6798, i32 noundef %6800) #10
  br label %6819

6802:                                             ; preds = %6780, %6773
  %6803 = load i32, ptr %187, align 4, !tbaa !5
  %6804 = call ptr @__errno_location() #11
  store i32 %6803, ptr %6804, align 4, !tbaa !5
  %6805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6806 = load i32, ptr @test_count, align 4, !tbaa !5
  %6807 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6808 = load i32, ptr %6807, align 4, !tbaa !5
  %6809 = call ptr @s2n_strerror(i32 noundef %6808, ptr noundef @.str.4)
  %6810 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6811 = load i32, ptr %6810, align 4, !tbaa !5
  %6812 = call ptr @s2n_strerror_debug(i32 noundef %6811, ptr noundef @.str.4)
  %6813 = call ptr @__errno_location() #11
  %6814 = load i32, ptr %6813, align 4, !tbaa !5
  %6815 = call ptr @strerror(i32 noundef %6814) #10
  %6816 = call ptr @__errno_location() #11
  %6817 = load i32, ptr %6816, align 4, !tbaa !5
  %6818 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6805, ptr noundef @.str.5, i32 noundef %6806, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 373, ptr noundef %6809, ptr noundef %6812, ptr noundef %6815, i32 noundef %6817) #10
  br label %6819

6819:                                             ; preds = %6802, %6785
  call void @llvm.lifetime.end.p0(i64 4, ptr %187) #10
  br label %6820

6820:                                             ; preds = %6819
  br label %6821

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

6822:                                             ; No predecessors!
  br label %6823

6823:                                             ; preds = %6822
  br label %6824

6824:                                             ; preds = %6823, %6766
  br label %6825

6825:                                             ; preds = %6824
  br label %6826

6826:                                             ; preds = %6825
  br label %6827

6827:                                             ; preds = %6826
  %6828 = load i32, ptr @test_count, align 4, !tbaa !5
  %6829 = add nsw i32 %6828, 1
  store i32 %6829, ptr @test_count, align 4, !tbaa !5
  %6830 = load ptr, ptr %186, align 8, !tbaa !9
  %6831 = load ptr, ptr %183, align 8, !tbaa !9
  %6832 = call i32 @s2n_connection_set_config(ptr noundef %6830, ptr noundef %6831)
  %6833 = icmp eq i32 %6832, -1
  br i1 %6833, label %6834, label %6887

6834:                                             ; preds = %6827
  br label %6835

6835:                                             ; preds = %6834
  br label %6836

6836:                                             ; preds = %6835
  call void @llvm.lifetime.start.p0(i64 4, ptr %188) #10
  %6837 = call ptr @__errno_location() #11
  %6838 = load i32, ptr %6837, align 4, !tbaa !5
  store i32 %6838, ptr %188, align 4, !tbaa !5
  %6839 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6840 = call i32 @s2n_print_stacktrace(ptr noundef %6839)
  %6841 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6842 = trunc i8 %6841 to i1
  br i1 %6842, label %6843, label %6865

6843:                                             ; preds = %6836
  %6844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6845 = call i32 @fileno(ptr noundef %6844) #10
  %6846 = call i32 @isatty(i32 noundef %6845) #10
  %6847 = icmp ne i32 %6846, 0
  br i1 %6847, label %6848, label %6865

6848:                                             ; preds = %6843
  %6849 = load i32, ptr %188, align 4, !tbaa !5
  %6850 = call ptr @__errno_location() #11
  store i32 %6849, ptr %6850, align 4, !tbaa !5
  %6851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6852 = load i32, ptr @test_count, align 4, !tbaa !5
  %6853 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6854 = load i32, ptr %6853, align 4, !tbaa !5
  %6855 = call ptr @s2n_strerror(i32 noundef %6854, ptr noundef @.str.4)
  %6856 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6857 = load i32, ptr %6856, align 4, !tbaa !5
  %6858 = call ptr @s2n_strerror_debug(i32 noundef %6857, ptr noundef @.str.4)
  %6859 = call ptr @__errno_location() #11
  %6860 = load i32, ptr %6859, align 4, !tbaa !5
  %6861 = call ptr @strerror(i32 noundef %6860) #10
  %6862 = call ptr @__errno_location() #11
  %6863 = load i32, ptr %6862, align 4, !tbaa !5
  %6864 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6851, ptr noundef @.str.2, i32 noundef %6852, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 374, ptr noundef %6855, ptr noundef %6858, ptr noundef %6861, i32 noundef %6863) #10
  br label %6882

6865:                                             ; preds = %6843, %6836
  %6866 = load i32, ptr %188, align 4, !tbaa !5
  %6867 = call ptr @__errno_location() #11
  store i32 %6866, ptr %6867, align 4, !tbaa !5
  %6868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6869 = load i32, ptr @test_count, align 4, !tbaa !5
  %6870 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6871 = load i32, ptr %6870, align 4, !tbaa !5
  %6872 = call ptr @s2n_strerror(i32 noundef %6871, ptr noundef @.str.4)
  %6873 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6874 = load i32, ptr %6873, align 4, !tbaa !5
  %6875 = call ptr @s2n_strerror_debug(i32 noundef %6874, ptr noundef @.str.4)
  %6876 = call ptr @__errno_location() #11
  %6877 = load i32, ptr %6876, align 4, !tbaa !5
  %6878 = call ptr @strerror(i32 noundef %6877) #10
  %6879 = call ptr @__errno_location() #11
  %6880 = load i32, ptr %6879, align 4, !tbaa !5
  %6881 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6868, ptr noundef @.str.5, i32 noundef %6869, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 374, ptr noundef %6872, ptr noundef %6875, ptr noundef %6878, i32 noundef %6880) #10
  br label %6882

6882:                                             ; preds = %6865, %6848
  call void @llvm.lifetime.end.p0(i64 4, ptr %188) #10
  br label %6883

6883:                                             ; preds = %6882
  br label %6884

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

6885:                                             ; No predecessors!
  br label %6886

6886:                                             ; preds = %6885
  br label %6887

6887:                                             ; preds = %6886, %6827
  br label %6888

6888:                                             ; preds = %6887
  br label %6889

6889:                                             ; preds = %6888
  br label %6890

6890:                                             ; preds = %6889
  %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 %186, align 8, !tbaa !9
  %6894 = call i32 @s2n_set_server_name(ptr noundef %6893, ptr noundef @.str.39)
  %6895 = icmp eq i32 %6894, -1
  br i1 %6895, label %6896, label %6949

6896:                                             ; preds = %6890
  br label %6897

6897:                                             ; preds = %6896
  br label %6898

6898:                                             ; preds = %6897
  call void @llvm.lifetime.start.p0(i64 4, ptr %189) #10
  %6899 = call ptr @__errno_location() #11
  %6900 = load i32, ptr %6899, align 4, !tbaa !5
  store i32 %6900, ptr %189, align 4, !tbaa !5
  %6901 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6902 = call i32 @s2n_print_stacktrace(ptr noundef %6901)
  %6903 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6904 = trunc i8 %6903 to i1
  br i1 %6904, label %6905, label %6927

6905:                                             ; preds = %6898
  %6906 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6907 = call i32 @fileno(ptr noundef %6906) #10
  %6908 = call i32 @isatty(i32 noundef %6907) #10
  %6909 = icmp ne i32 %6908, 0
  br i1 %6909, label %6910, label %6927

6910:                                             ; preds = %6905
  %6911 = load i32, ptr %189, align 4, !tbaa !5
  %6912 = call ptr @__errno_location() #11
  store i32 %6911, ptr %6912, align 4, !tbaa !5
  %6913 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6914 = load i32, ptr @test_count, align 4, !tbaa !5
  %6915 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6916 = load i32, ptr %6915, align 4, !tbaa !5
  %6917 = call ptr @s2n_strerror(i32 noundef %6916, ptr noundef @.str.4)
  %6918 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6919 = load i32, ptr %6918, align 4, !tbaa !5
  %6920 = call ptr @s2n_strerror_debug(i32 noundef %6919, ptr noundef @.str.4)
  %6921 = call ptr @__errno_location() #11
  %6922 = load i32, ptr %6921, align 4, !tbaa !5
  %6923 = call ptr @strerror(i32 noundef %6922) #10
  %6924 = call ptr @__errno_location() #11
  %6925 = load i32, ptr %6924, align 4, !tbaa !5
  %6926 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6913, ptr noundef @.str.2, i32 noundef %6914, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 375, ptr noundef %6917, ptr noundef %6920, ptr noundef %6923, i32 noundef %6925) #10
  br label %6944

6927:                                             ; preds = %6905, %6898
  %6928 = load i32, ptr %189, align 4, !tbaa !5
  %6929 = call ptr @__errno_location() #11
  store i32 %6928, ptr %6929, align 4, !tbaa !5
  %6930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6931 = load i32, ptr @test_count, align 4, !tbaa !5
  %6932 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6933 = load i32, ptr %6932, align 4, !tbaa !5
  %6934 = call ptr @s2n_strerror(i32 noundef %6933, ptr noundef @.str.4)
  %6935 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6936 = load i32, ptr %6935, align 4, !tbaa !5
  %6937 = call ptr @s2n_strerror_debug(i32 noundef %6936, ptr noundef @.str.4)
  %6938 = call ptr @__errno_location() #11
  %6939 = load i32, ptr %6938, align 4, !tbaa !5
  %6940 = call ptr @strerror(i32 noundef %6939) #10
  %6941 = call ptr @__errno_location() #11
  %6942 = load i32, ptr %6941, align 4, !tbaa !5
  %6943 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6930, ptr noundef @.str.5, i32 noundef %6931, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 375, ptr noundef %6934, ptr noundef %6937, ptr noundef %6940, i32 noundef %6942) #10
  br label %6944

6944:                                             ; preds = %6927, %6910
  call void @llvm.lifetime.end.p0(i64 4, ptr %189) #10
  br label %6945

6945:                                             ; preds = %6944
  br label %6946

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

6947:                                             ; No predecessors!
  br label %6948

6948:                                             ; preds = %6947
  br label %6949

6949:                                             ; preds = %6948, %6890
  br label %6950

6950:                                             ; preds = %6949
  br label %6951

6951:                                             ; preds = %6950
  call void @llvm.lifetime.start.p0(i64 24000, ptr %190) #10
  call void @llvm.lifetime.start.p0(i64 4, ptr %191) #10
  store i32 0, ptr %191, align 4, !tbaa !5
  br label %6952

6952:                                             ; preds = %6951
  %6953 = load i32, ptr @test_count, align 4, !tbaa !5
  %6954 = add nsw i32 %6953, 1
  store i32 %6954, ptr @test_count, align 4, !tbaa !5
  %6955 = getelementptr inbounds [24000 x i8], ptr %190, i64 0, i64 0
  %6956 = call i32 @s2n_read_test_pem_and_len(ptr noundef @.str.41, ptr noundef %6955, ptr noundef %191, i64 noundef 12000)
  %6957 = icmp eq i32 %6956, -1
  br i1 %6957, label %6958, label %7011

6958:                                             ; preds = %6952
  br label %6959

6959:                                             ; preds = %6958
  br label %6960

6960:                                             ; preds = %6959
  call void @llvm.lifetime.start.p0(i64 4, ptr %192) #10
  %6961 = call ptr @__errno_location() #11
  %6962 = load i32, ptr %6961, align 4, !tbaa !5
  store i32 %6962, ptr %192, align 4, !tbaa !5
  %6963 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6964 = call i32 @s2n_print_stacktrace(ptr noundef %6963)
  %6965 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6966 = trunc i8 %6965 to i1
  br i1 %6966, label %6967, label %6989

6967:                                             ; preds = %6960
  %6968 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6969 = call i32 @fileno(ptr noundef %6968) #10
  %6970 = call i32 @isatty(i32 noundef %6969) #10
  %6971 = icmp ne i32 %6970, 0
  br i1 %6971, label %6972, label %6989

6972:                                             ; preds = %6967
  %6973 = load i32, ptr %192, align 4, !tbaa !5
  %6974 = call ptr @__errno_location() #11
  store i32 %6973, ptr %6974, align 4, !tbaa !5
  %6975 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6976 = load i32, ptr @test_count, align 4, !tbaa !5
  %6977 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6978 = load i32, ptr %6977, align 4, !tbaa !5
  %6979 = call ptr @s2n_strerror(i32 noundef %6978, ptr noundef @.str.4)
  %6980 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6981 = load i32, ptr %6980, align 4, !tbaa !5
  %6982 = call ptr @s2n_strerror_debug(i32 noundef %6981, ptr noundef @.str.4)
  %6983 = call ptr @__errno_location() #11
  %6984 = load i32, ptr %6983, align 4, !tbaa !5
  %6985 = call ptr @strerror(i32 noundef %6984) #10
  %6986 = call ptr @__errno_location() #11
  %6987 = load i32, ptr %6986, align 4, !tbaa !5
  %6988 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6975, ptr noundef @.str.2, i32 noundef %6976, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 380, ptr noundef %6979, ptr noundef %6982, ptr noundef %6985, i32 noundef %6987) #10
  br label %7006

6989:                                             ; preds = %6967, %6960
  %6990 = load i32, ptr %192, align 4, !tbaa !5
  %6991 = call ptr @__errno_location() #11
  store i32 %6990, ptr %6991, align 4, !tbaa !5
  %6992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6993 = load i32, ptr @test_count, align 4, !tbaa !5
  %6994 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6995 = load i32, ptr %6994, align 4, !tbaa !5
  %6996 = call ptr @s2n_strerror(i32 noundef %6995, ptr noundef @.str.4)
  %6997 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6998 = load i32, ptr %6997, align 4, !tbaa !5
  %6999 = call ptr @s2n_strerror_debug(i32 noundef %6998, ptr noundef @.str.4)
  %7000 = call ptr @__errno_location() #11
  %7001 = load i32, ptr %7000, align 4, !tbaa !5
  %7002 = call ptr @strerror(i32 noundef %7001) #10
  %7003 = call ptr @__errno_location() #11
  %7004 = load i32, ptr %7003, align 4, !tbaa !5
  %7005 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6992, ptr noundef @.str.5, i32 noundef %6993, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 380, ptr noundef %6996, ptr noundef %6999, ptr noundef %7002, i32 noundef %7004) #10
  br label %7006

7006:                                             ; preds = %6989, %6972
  call void @llvm.lifetime.end.p0(i64 4, ptr %192) #10
  br label %7007

7007:                                             ; preds = %7006
  br label %7008

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

7009:                                             ; No predecessors!
  br label %7010

7010:                                             ; preds = %7009
  br label %7011

7011:                                             ; preds = %7010, %6952
  br label %7012

7012:                                             ; preds = %7011
  br label %7013

7013:                                             ; preds = %7012
  call void @llvm.lifetime.start.p0(i64 4, ptr %193) #10
  store i32 0, ptr %193, align 4, !tbaa !5
  br label %7014

7014:                                             ; preds = %7013
  %7015 = load i32, ptr @test_count, align 4, !tbaa !5
  %7016 = add nsw i32 %7015, 1
  store i32 %7016, ptr @test_count, align 4, !tbaa !5
  %7017 = getelementptr inbounds [24000 x i8], ptr %190, i64 0, i64 0
  %7018 = load i32, ptr %191, align 4, !tbaa !5
  %7019 = zext i32 %7018 to i64
  %7020 = getelementptr inbounds i8, ptr %7017, i64 %7019
  %7021 = call i32 @s2n_read_test_pem_and_len(ptr noundef @.str.61, ptr noundef %7020, ptr noundef %193, i64 noundef 12000)
  %7022 = icmp eq i32 %7021, -1
  br i1 %7022, label %7023, label %7076

7023:                                             ; preds = %7014
  br label %7024

7024:                                             ; preds = %7023
  br label %7025

7025:                                             ; preds = %7024
  call void @llvm.lifetime.start.p0(i64 4, ptr %194) #10
  %7026 = call ptr @__errno_location() #11
  %7027 = load i32, ptr %7026, align 4, !tbaa !5
  store i32 %7027, ptr %194, align 4, !tbaa !5
  %7028 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7029 = call i32 @s2n_print_stacktrace(ptr noundef %7028)
  %7030 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7031 = trunc i8 %7030 to i1
  br i1 %7031, label %7032, label %7054

7032:                                             ; preds = %7025
  %7033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7034 = call i32 @fileno(ptr noundef %7033) #10
  %7035 = call i32 @isatty(i32 noundef %7034) #10
  %7036 = icmp ne i32 %7035, 0
  br i1 %7036, label %7037, label %7054

7037:                                             ; preds = %7032
  %7038 = load i32, ptr %194, align 4, !tbaa !5
  %7039 = call ptr @__errno_location() #11
  store i32 %7038, ptr %7039, align 4, !tbaa !5
  %7040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7041 = load i32, ptr @test_count, align 4, !tbaa !5
  %7042 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7043 = load i32, ptr %7042, align 4, !tbaa !5
  %7044 = call ptr @s2n_strerror(i32 noundef %7043, ptr noundef @.str.4)
  %7045 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7046 = load i32, ptr %7045, align 4, !tbaa !5
  %7047 = call ptr @s2n_strerror_debug(i32 noundef %7046, ptr noundef @.str.4)
  %7048 = call ptr @__errno_location() #11
  %7049 = load i32, ptr %7048, align 4, !tbaa !5
  %7050 = call ptr @strerror(i32 noundef %7049) #10
  %7051 = call ptr @__errno_location() #11
  %7052 = load i32, ptr %7051, align 4, !tbaa !5
  %7053 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7040, ptr noundef @.str.2, i32 noundef %7041, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 385, ptr noundef %7044, ptr noundef %7047, ptr noundef %7050, i32 noundef %7052) #10
  br label %7071

7054:                                             ; preds = %7032, %7025
  %7055 = load i32, ptr %194, align 4, !tbaa !5
  %7056 = call ptr @__errno_location() #11
  store i32 %7055, ptr %7056, align 4, !tbaa !5
  %7057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7058 = load i32, ptr @test_count, align 4, !tbaa !5
  %7059 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7060 = load i32, ptr %7059, align 4, !tbaa !5
  %7061 = call ptr @s2n_strerror(i32 noundef %7060, ptr noundef @.str.4)
  %7062 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7063 = load i32, ptr %7062, align 4, !tbaa !5
  %7064 = call ptr @s2n_strerror_debug(i32 noundef %7063, ptr noundef @.str.4)
  %7065 = call ptr @__errno_location() #11
  %7066 = load i32, ptr %7065, align 4, !tbaa !5
  %7067 = call ptr @strerror(i32 noundef %7066) #10
  %7068 = call ptr @__errno_location() #11
  %7069 = load i32, ptr %7068, align 4, !tbaa !5
  %7070 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7057, ptr noundef @.str.5, i32 noundef %7058, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 385, ptr noundef %7061, ptr noundef %7064, ptr noundef %7067, i32 noundef %7069) #10
  br label %7071

7071:                                             ; preds = %7054, %7037
  call void @llvm.lifetime.end.p0(i64 4, ptr %194) #10
  br label %7072

7072:                                             ; preds = %7071
  br label %7073

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

7074:                                             ; No predecessors!
  br label %7075

7075:                                             ; preds = %7074
  br label %7076

7076:                                             ; preds = %7075, %7014
  br label %7077

7077:                                             ; preds = %7076
  br label %7078

7078:                                             ; preds = %7077
  call void @llvm.lifetime.start.p0(i64 4, ptr %195) #10
  %7079 = load i32, ptr %191, align 4, !tbaa !5
  %7080 = load i32, ptr %193, align 4, !tbaa !5
  %7081 = add i32 %7079, %7080
  store i32 %7081, ptr %195, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 40, ptr %196) #10
  call void @llvm.memset.p0.i64(ptr align 8 %196, i8 0, i64 40, i1 false)
  br label %7082

7082:                                             ; preds = %7078
  %7083 = load i32, ptr @test_count, align 4, !tbaa !5
  %7084 = add nsw i32 %7083, 1
  store i32 %7084, ptr @test_count, align 4, !tbaa !5
  %7085 = load ptr, ptr %186, align 8, !tbaa !9
  %7086 = getelementptr inbounds [24000 x i8], ptr %190, i64 0, i64 0
  %7087 = load i32, ptr %195, align 4, !tbaa !5
  %7088 = call i32 @s2n_test_cert_chain_data_from_pem_data(ptr noundef %7085, ptr noundef %7086, i32 noundef %7087, ptr noundef %196)
  %7089 = getelementptr inbounds %struct.s2n_result, ptr %197, i32 0, i32 0
  store i32 %7088, ptr %7089, align 4
  %7090 = getelementptr inbounds %struct.s2n_result, ptr %197, i32 0, i32 0
  %7091 = load i32, ptr %7090, align 4
  %7092 = call zeroext i1 @s2n_result_is_ok(i32 %7091)
  br i1 %7092, label %7146, label %7093

7093:                                             ; preds = %7082
  br label %7094

7094:                                             ; preds = %7093
  br label %7095

7095:                                             ; preds = %7094
  call void @llvm.lifetime.start.p0(i64 4, ptr %198) #10
  %7096 = call ptr @__errno_location() #11
  %7097 = load i32, ptr %7096, align 4, !tbaa !5
  store i32 %7097, ptr %198, align 4, !tbaa !5
  %7098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7099 = call i32 @s2n_print_stacktrace(ptr noundef %7098)
  %7100 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7101 = trunc i8 %7100 to i1
  br i1 %7101, label %7102, label %7124

7102:                                             ; preds = %7095
  %7103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7104 = call i32 @fileno(ptr noundef %7103) #10
  %7105 = call i32 @isatty(i32 noundef %7104) #10
  %7106 = icmp ne i32 %7105, 0
  br i1 %7106, label %7107, label %7124

7107:                                             ; preds = %7102
  %7108 = load i32, ptr %198, align 4, !tbaa !5
  %7109 = call ptr @__errno_location() #11
  store i32 %7108, ptr %7109, align 4, !tbaa !5
  %7110 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7111 = load i32, ptr @test_count, align 4, !tbaa !5
  %7112 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7113 = load i32, ptr %7112, align 4, !tbaa !5
  %7114 = call ptr @s2n_strerror(i32 noundef %7113, ptr noundef @.str.4)
  %7115 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7116 = load i32, ptr %7115, align 4, !tbaa !5
  %7117 = call ptr @s2n_strerror_debug(i32 noundef %7116, ptr noundef @.str.4)
  %7118 = call ptr @__errno_location() #11
  %7119 = load i32, ptr %7118, align 4, !tbaa !5
  %7120 = call ptr @strerror(i32 noundef %7119) #10
  %7121 = call ptr @__errno_location() #11
  %7122 = load i32, ptr %7121, align 4, !tbaa !5
  %7123 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7110, ptr noundef @.str.2, i32 noundef %7111, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 390, ptr noundef %7114, ptr noundef %7117, ptr noundef %7120, i32 noundef %7122) #10
  br label %7141

7124:                                             ; preds = %7102, %7095
  %7125 = load i32, ptr %198, align 4, !tbaa !5
  %7126 = call ptr @__errno_location() #11
  store i32 %7125, ptr %7126, align 4, !tbaa !5
  %7127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7128 = load i32, ptr @test_count, align 4, !tbaa !5
  %7129 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7130 = load i32, ptr %7129, align 4, !tbaa !5
  %7131 = call ptr @s2n_strerror(i32 noundef %7130, ptr noundef @.str.4)
  %7132 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7133 = load i32, ptr %7132, align 4, !tbaa !5
  %7134 = call ptr @s2n_strerror_debug(i32 noundef %7133, ptr noundef @.str.4)
  %7135 = call ptr @__errno_location() #11
  %7136 = load i32, ptr %7135, align 4, !tbaa !5
  %7137 = call ptr @strerror(i32 noundef %7136) #10
  %7138 = call ptr @__errno_location() #11
  %7139 = load i32, ptr %7138, align 4, !tbaa !5
  %7140 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7127, ptr noundef @.str.5, i32 noundef %7128, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 390, ptr noundef %7131, ptr noundef %7134, ptr noundef %7137, i32 noundef %7139) #10
  br label %7141

7141:                                             ; preds = %7124, %7107
  call void @llvm.lifetime.end.p0(i64 4, ptr %198) #10
  br label %7142

7142:                                             ; preds = %7141
  br label %7143

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

7144:                                             ; No predecessors!
  br label %7145

7145:                                             ; preds = %7144
  br label %7146

7146:                                             ; preds = %7145, %7082
  br label %7147

7147:                                             ; preds = %7146
  br label %7148

7148:                                             ; preds = %7147
  call void @llvm.lifetime.start.p0(i64 4, ptr %199) #10
  %7149 = getelementptr inbounds %struct.s2n_stuffer, ptr %196, i32 0, i32 2
  %7150 = load i32, ptr %7149, align 4, !tbaa !23
  %7151 = getelementptr inbounds %struct.s2n_stuffer, ptr %196, i32 0, i32 1
  %7152 = load i32, ptr %7151, align 8, !tbaa !26
  %7153 = sub i32 %7150, %7152
  store i32 %7153, ptr %199, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %200) #10
  %7154 = load i32, ptr %199, align 4, !tbaa !5
  %7155 = call ptr @s2n_stuffer_raw_read(ptr noundef %196, i32 noundef %7154)
  store ptr %7155, ptr %200, align 8, !tbaa !9
  br label %7156

7156:                                             ; preds = %7148
  %7157 = load i32, ptr @test_count, align 4, !tbaa !5
  %7158 = add nsw i32 %7157, 1
  store i32 %7158, ptr @test_count, align 4, !tbaa !5
  %7159 = load ptr, ptr %200, align 8, !tbaa !9
  %7160 = icmp eq ptr %7159, null
  br i1 %7160, label %7161, label %7214

7161:                                             ; preds = %7156
  br label %7162

7162:                                             ; preds = %7161
  br label %7163

7163:                                             ; preds = %7162
  call void @llvm.lifetime.start.p0(i64 4, ptr %201) #10
  %7164 = call ptr @__errno_location() #11
  %7165 = load i32, ptr %7164, align 4, !tbaa !5
  store i32 %7165, ptr %201, align 4, !tbaa !5
  %7166 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7167 = call i32 @s2n_print_stacktrace(ptr noundef %7166)
  %7168 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7169 = trunc i8 %7168 to i1
  br i1 %7169, label %7170, label %7192

7170:                                             ; preds = %7163
  %7171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7172 = call i32 @fileno(ptr noundef %7171) #10
  %7173 = call i32 @isatty(i32 noundef %7172) #10
  %7174 = icmp ne i32 %7173, 0
  br i1 %7174, label %7175, label %7192

7175:                                             ; preds = %7170
  %7176 = load i32, ptr %201, align 4, !tbaa !5
  %7177 = call ptr @__errno_location() #11
  store i32 %7176, ptr %7177, align 4, !tbaa !5
  %7178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7179 = load i32, ptr @test_count, align 4, !tbaa !5
  %7180 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7181 = load i32, ptr %7180, align 4, !tbaa !5
  %7182 = call ptr @s2n_strerror(i32 noundef %7181, ptr noundef @.str.4)
  %7183 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7184 = load i32, ptr %7183, align 4, !tbaa !5
  %7185 = call ptr @s2n_strerror_debug(i32 noundef %7184, ptr noundef @.str.4)
  %7186 = call ptr @__errno_location() #11
  %7187 = load i32, ptr %7186, align 4, !tbaa !5
  %7188 = call ptr @strerror(i32 noundef %7187) #10
  %7189 = call ptr @__errno_location() #11
  %7190 = load i32, ptr %7189, align 4, !tbaa !5
  %7191 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7178, ptr noundef @.str.2, i32 noundef %7179, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 393, ptr noundef %7182, ptr noundef %7185, ptr noundef %7188, i32 noundef %7190) #10
  br label %7209

7192:                                             ; preds = %7170, %7163
  %7193 = load i32, ptr %201, align 4, !tbaa !5
  %7194 = call ptr @__errno_location() #11
  store i32 %7193, ptr %7194, align 4, !tbaa !5
  %7195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7196 = load i32, ptr @test_count, align 4, !tbaa !5
  %7197 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7198 = load i32, ptr %7197, align 4, !tbaa !5
  %7199 = call ptr @s2n_strerror(i32 noundef %7198, ptr noundef @.str.4)
  %7200 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7201 = load i32, ptr %7200, align 4, !tbaa !5
  %7202 = call ptr @s2n_strerror_debug(i32 noundef %7201, ptr noundef @.str.4)
  %7203 = call ptr @__errno_location() #11
  %7204 = load i32, ptr %7203, align 4, !tbaa !5
  %7205 = call ptr @strerror(i32 noundef %7204) #10
  %7206 = call ptr @__errno_location() #11
  %7207 = load i32, ptr %7206, align 4, !tbaa !5
  %7208 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7195, ptr noundef @.str.5, i32 noundef %7196, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 393, ptr noundef %7199, ptr noundef %7202, ptr noundef %7205, i32 noundef %7207) #10
  br label %7209

7209:                                             ; preds = %7192, %7175
  call void @llvm.lifetime.end.p0(i64 4, ptr %201) #10
  br label %7210

7210:                                             ; preds = %7209
  br label %7211

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

7212:                                             ; No predecessors!
  br label %7213

7213:                                             ; preds = %7212
  br label %7214

7214:                                             ; preds = %7213, %7156
  br label %7215

7215:                                             ; preds = %7214
  br label %7216

7216:                                             ; preds = %7215
  call void @llvm.lifetime.start.p0(i64 48, ptr %202) #10
  call void @llvm.memset.p0.i64(ptr align 8 %202, i8 0, i64 48, i1 false)
  br label %7217

7217:                                             ; preds = %7216
  %7218 = load i32, ptr @test_count, align 4, !tbaa !5
  %7219 = add nsw i32 %7218, 1
  store i32 %7219, ptr @test_count, align 4, !tbaa !5
  %7220 = call i32 @s2n_pkey_zero_init(ptr noundef %202)
  %7221 = icmp eq i32 %7220, -1
  br i1 %7221, label %7222, label %7275

7222:                                             ; preds = %7217
  br label %7223

7223:                                             ; preds = %7222
  br label %7224

7224:                                             ; preds = %7223
  call void @llvm.lifetime.start.p0(i64 4, ptr %203) #10
  %7225 = call ptr @__errno_location() #11
  %7226 = load i32, ptr %7225, align 4, !tbaa !5
  store i32 %7226, ptr %203, align 4, !tbaa !5
  %7227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7228 = call i32 @s2n_print_stacktrace(ptr noundef %7227)
  %7229 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7230 = trunc i8 %7229 to i1
  br i1 %7230, label %7231, label %7253

7231:                                             ; preds = %7224
  %7232 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7233 = call i32 @fileno(ptr noundef %7232) #10
  %7234 = call i32 @isatty(i32 noundef %7233) #10
  %7235 = icmp ne i32 %7234, 0
  br i1 %7235, label %7236, label %7253

7236:                                             ; preds = %7231
  %7237 = load i32, ptr %203, align 4, !tbaa !5
  %7238 = call ptr @__errno_location() #11
  store i32 %7237, ptr %7238, align 4, !tbaa !5
  %7239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7240 = load i32, ptr @test_count, align 4, !tbaa !5
  %7241 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7242 = load i32, ptr %7241, align 4, !tbaa !5
  %7243 = call ptr @s2n_strerror(i32 noundef %7242, ptr noundef @.str.4)
  %7244 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7245 = load i32, ptr %7244, align 4, !tbaa !5
  %7246 = call ptr @s2n_strerror_debug(i32 noundef %7245, ptr noundef @.str.4)
  %7247 = call ptr @__errno_location() #11
  %7248 = load i32, ptr %7247, align 4, !tbaa !5
  %7249 = call ptr @strerror(i32 noundef %7248) #10
  %7250 = call ptr @__errno_location() #11
  %7251 = load i32, ptr %7250, align 4, !tbaa !5
  %7252 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7239, ptr noundef @.str.2, i32 noundef %7240, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 396, ptr noundef %7243, ptr noundef %7246, ptr noundef %7249, i32 noundef %7251) #10
  br label %7270

7253:                                             ; preds = %7231, %7224
  %7254 = load i32, ptr %203, align 4, !tbaa !5
  %7255 = call ptr @__errno_location() #11
  store i32 %7254, ptr %7255, align 4, !tbaa !5
  %7256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7257 = load i32, ptr @test_count, align 4, !tbaa !5
  %7258 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7259 = load i32, ptr %7258, align 4, !tbaa !5
  %7260 = call ptr @s2n_strerror(i32 noundef %7259, ptr noundef @.str.4)
  %7261 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7262 = load i32, ptr %7261, align 4, !tbaa !5
  %7263 = call ptr @s2n_strerror_debug(i32 noundef %7262, ptr noundef @.str.4)
  %7264 = call ptr @__errno_location() #11
  %7265 = load i32, ptr %7264, align 4, !tbaa !5
  %7266 = call ptr @strerror(i32 noundef %7265) #10
  %7267 = call ptr @__errno_location() #11
  %7268 = load i32, ptr %7267, align 4, !tbaa !5
  %7269 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7256, ptr noundef @.str.5, i32 noundef %7257, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 396, ptr noundef %7260, ptr noundef %7263, ptr noundef %7266, i32 noundef %7268) #10
  br label %7270

7270:                                             ; preds = %7253, %7236
  call void @llvm.lifetime.end.p0(i64 4, ptr %203) #10
  br label %7271

7271:                                             ; preds = %7270
  br label %7272

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

7273:                                             ; No predecessors!
  br label %7274

7274:                                             ; preds = %7273
  br label %7275

7275:                                             ; preds = %7274, %7217
  br label %7276

7276:                                             ; preds = %7275
  br label %7277

7277:                                             ; preds = %7276
  call void @llvm.lifetime.start.p0(i64 4, ptr %204) #10
  store i32 -1, ptr %204, align 4, !tbaa !5
  br label %7278

7278:                                             ; preds = %7277
  %7279 = load i32, ptr @test_count, align 4, !tbaa !5
  %7280 = add nsw i32 %7279, 1
  store i32 %7280, ptr @test_count, align 4, !tbaa !5
  %7281 = load ptr, ptr %186, align 8, !tbaa !9
  %7282 = load ptr, ptr %200, align 8, !tbaa !9
  %7283 = load i32, ptr %199, align 4, !tbaa !5
  %7284 = call i32 @s2n_x509_validator_validate_cert_chain(ptr noundef %180, ptr noundef %7281, ptr noundef %7282, i32 noundef %7283, ptr noundef %204, ptr noundef %202)
  %7285 = getelementptr inbounds %struct.s2n_result, ptr %205, i32 0, i32 0
  store i32 %7284, ptr %7285, align 4
  %7286 = getelementptr inbounds %struct.s2n_result, ptr %205, i32 0, i32 0
  %7287 = load i32, ptr %7286, align 4
  %7288 = call zeroext i1 @s2n_result_is_ok(i32 %7287)
  br i1 %7288, label %7342, label %7289

7289:                                             ; preds = %7278
  br label %7290

7290:                                             ; preds = %7289
  br label %7291

7291:                                             ; preds = %7290
  call void @llvm.lifetime.start.p0(i64 4, ptr %206) #10
  %7292 = call ptr @__errno_location() #11
  %7293 = load i32, ptr %7292, align 4, !tbaa !5
  store i32 %7293, ptr %206, align 4, !tbaa !5
  %7294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7295 = call i32 @s2n_print_stacktrace(ptr noundef %7294)
  %7296 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7297 = trunc i8 %7296 to i1
  br i1 %7297, label %7298, label %7320

7298:                                             ; preds = %7291
  %7299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7300 = call i32 @fileno(ptr noundef %7299) #10
  %7301 = call i32 @isatty(i32 noundef %7300) #10
  %7302 = icmp ne i32 %7301, 0
  br i1 %7302, label %7303, label %7320

7303:                                             ; preds = %7298
  %7304 = load i32, ptr %206, align 4, !tbaa !5
  %7305 = call ptr @__errno_location() #11
  store i32 %7304, ptr %7305, align 4, !tbaa !5
  %7306 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7307 = load i32, ptr @test_count, align 4, !tbaa !5
  %7308 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7309 = load i32, ptr %7308, align 4, !tbaa !5
  %7310 = call ptr @s2n_strerror(i32 noundef %7309, ptr noundef @.str.4)
  %7311 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7312 = load i32, ptr %7311, align 4, !tbaa !5
  %7313 = call ptr @s2n_strerror_debug(i32 noundef %7312, ptr noundef @.str.4)
  %7314 = call ptr @__errno_location() #11
  %7315 = load i32, ptr %7314, align 4, !tbaa !5
  %7316 = call ptr @strerror(i32 noundef %7315) #10
  %7317 = call ptr @__errno_location() #11
  %7318 = load i32, ptr %7317, align 4, !tbaa !5
  %7319 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7306, ptr noundef @.str.2, i32 noundef %7307, ptr noundef @.str.64, ptr noundef @.str.1, i32 noundef 399, ptr noundef %7310, ptr noundef %7313, ptr noundef %7316, i32 noundef %7318) #10
  br label %7337

7320:                                             ; preds = %7298, %7291
  %7321 = load i32, ptr %206, align 4, !tbaa !5
  %7322 = call ptr @__errno_location() #11
  store i32 %7321, ptr %7322, align 4, !tbaa !5
  %7323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7324 = load i32, ptr @test_count, align 4, !tbaa !5
  %7325 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7326 = load i32, ptr %7325, align 4, !tbaa !5
  %7327 = call ptr @s2n_strerror(i32 noundef %7326, ptr noundef @.str.4)
  %7328 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7329 = load i32, ptr %7328, align 4, !tbaa !5
  %7330 = call ptr @s2n_strerror_debug(i32 noundef %7329, ptr noundef @.str.4)
  %7331 = call ptr @__errno_location() #11
  %7332 = load i32, ptr %7331, align 4, !tbaa !5
  %7333 = call ptr @strerror(i32 noundef %7332) #10
  %7334 = call ptr @__errno_location() #11
  %7335 = load i32, ptr %7334, align 4, !tbaa !5
  %7336 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7323, ptr noundef @.str.5, i32 noundef %7324, ptr noundef @.str.64, ptr noundef @.str.1, i32 noundef 399, ptr noundef %7327, ptr noundef %7330, ptr noundef %7333, i32 noundef %7335) #10
  br label %7337

7337:                                             ; preds = %7320, %7303
  call void @llvm.lifetime.end.p0(i64 4, ptr %206) #10
  br label %7338

7338:                                             ; preds = %7337
  br label %7339

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

7340:                                             ; No predecessors!
  br label %7341

7341:                                             ; preds = %7340
  br label %7342

7342:                                             ; preds = %7341, %7278
  br label %7343

7343:                                             ; preds = %7342
  br label %7344

7344:                                             ; preds = %7343
  br label %7345

7345:                                             ; preds = %7344
  %7346 = load i32, ptr @test_count, align 4, !tbaa !5
  %7347 = add nsw i32 %7346, 1
  store i32 %7347, ptr @test_count, align 4, !tbaa !5
  %7348 = getelementptr inbounds %struct.crl_lookup_data, ptr %182, i32 0, i32 2
  %7349 = load i8, ptr %7348, align 8, !tbaa !27
  %7350 = zext i8 %7349 to i32
  %7351 = icmp eq i32 %7350, 3
  br i1 %7351, label %7405, label %7352

7352:                                             ; preds = %7345
  br label %7353

7353:                                             ; preds = %7352
  br label %7354

7354:                                             ; preds = %7353
  call void @llvm.lifetime.start.p0(i64 4, ptr %207) #10
  %7355 = call ptr @__errno_location() #11
  %7356 = load i32, ptr %7355, align 4, !tbaa !5
  store i32 %7356, ptr %207, align 4, !tbaa !5
  %7357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7358 = call i32 @s2n_print_stacktrace(ptr noundef %7357)
  %7359 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7360 = trunc i8 %7359 to i1
  br i1 %7360, label %7361, label %7383

7361:                                             ; preds = %7354
  %7362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7363 = call i32 @fileno(ptr noundef %7362) #10
  %7364 = call i32 @isatty(i32 noundef %7363) #10
  %7365 = icmp ne i32 %7364, 0
  br i1 %7365, label %7366, label %7383

7366:                                             ; preds = %7361
  %7367 = load i32, ptr %207, align 4, !tbaa !5
  %7368 = call ptr @__errno_location() #11
  store i32 %7367, ptr %7368, align 4, !tbaa !5
  %7369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7370 = load i32, ptr @test_count, align 4, !tbaa !5
  %7371 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7372 = load i32, ptr %7371, align 4, !tbaa !5
  %7373 = call ptr @s2n_strerror(i32 noundef %7372, ptr noundef @.str.4)
  %7374 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7375 = load i32, ptr %7374, align 4, !tbaa !5
  %7376 = call ptr @s2n_strerror_debug(i32 noundef %7375, ptr noundef @.str.4)
  %7377 = call ptr @__errno_location() #11
  %7378 = load i32, ptr %7377, align 4, !tbaa !5
  %7379 = call ptr @strerror(i32 noundef %7378) #10
  %7380 = call ptr @__errno_location() #11
  %7381 = load i32, ptr %7380, align 4, !tbaa !5
  %7382 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7369, ptr noundef @.str.2, i32 noundef %7370, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 400, ptr noundef %7373, ptr noundef %7376, ptr noundef %7379, i32 noundef %7381) #10
  br label %7400

7383:                                             ; preds = %7361, %7354
  %7384 = load i32, ptr %207, align 4, !tbaa !5
  %7385 = call ptr @__errno_location() #11
  store i32 %7384, ptr %7385, align 4, !tbaa !5
  %7386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7387 = load i32, ptr @test_count, align 4, !tbaa !5
  %7388 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7389 = load i32, ptr %7388, align 4, !tbaa !5
  %7390 = call ptr @s2n_strerror(i32 noundef %7389, ptr noundef @.str.4)
  %7391 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7392 = load i32, ptr %7391, align 4, !tbaa !5
  %7393 = call ptr @s2n_strerror_debug(i32 noundef %7392, ptr noundef @.str.4)
  %7394 = call ptr @__errno_location() #11
  %7395 = load i32, ptr %7394, align 4, !tbaa !5
  %7396 = call ptr @strerror(i32 noundef %7395) #10
  %7397 = call ptr @__errno_location() #11
  %7398 = load i32, ptr %7397, align 4, !tbaa !5
  %7399 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7386, ptr noundef @.str.5, i32 noundef %7387, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 400, ptr noundef %7390, ptr noundef %7393, ptr noundef %7396, i32 noundef %7398) #10
  br label %7400

7400:                                             ; preds = %7383, %7366
  call void @llvm.lifetime.end.p0(i64 4, ptr %207) #10
  br label %7401

7401:                                             ; preds = %7400
  br label %7402

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

7403:                                             ; No predecessors!
  br label %7404

7404:                                             ; preds = %7403
  br label %7405

7405:                                             ; preds = %7404, %7345
  br label %7406

7406:                                             ; preds = %7405
  br label %7407

7407:                                             ; preds = %7406
  call void @llvm.lifetime.end.p0(i64 4, ptr %204) #10
  %7408 = call i32 @s2n_pkey_free(ptr noundef %202)
  call void @llvm.lifetime.end.p0(i64 48, ptr %202) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %200) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %199) #10
  %7409 = call i32 @s2n_stuffer_free(ptr noundef %196)
  call void @llvm.lifetime.end.p0(i64 40, ptr %196) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %195) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %193) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %191) #10
  call void @llvm.lifetime.end.p0(i64 24000, ptr %190) #10
  %7410 = call i32 @s2n_connection_ptr_free(ptr noundef %186)
  %7411 = getelementptr inbounds %struct.s2n_result, ptr %208, i32 0, i32 0
  store i32 %7410, ptr %7411, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %186) #10
  %7412 = call i32 @s2n_config_ptr_free(ptr noundef %183)
  %7413 = getelementptr inbounds %struct.s2n_result, ptr %209, i32 0, i32 0
  store i32 %7412, ptr %7413, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %183) #10
  call void @llvm.lifetime.end.p0(i64 88, ptr %182) #10
  %7414 = call i32 @s2n_x509_validator_wipe(ptr noundef %180)
  call void @llvm.lifetime.end.p0(i64 56, ptr %180) #10
  call void @llvm.lifetime.end.p0(i64 12000, ptr %177) #10
  call void @s2n_x509_trust_store_wipe(ptr noundef %176)
  call void @llvm.lifetime.end.p0(i64 16, ptr %176) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %210) #10
  call void @llvm.memset.p0.i64(ptr align 8 %210, i8 0, i64 16, i1 false)
  call void @s2n_x509_trust_store_init_empty(ptr noundef %210)
  call void @llvm.lifetime.start.p0(i64 12000, ptr %211) #10
  br label %7415

7415:                                             ; preds = %7407
  %7416 = load i32, ptr @test_count, align 4, !tbaa !5
  %7417 = add nsw i32 %7416, 1
  store i32 %7417, ptr @test_count, align 4, !tbaa !5
  %7418 = getelementptr inbounds [12000 x i8], ptr %211, i64 0, i64 0
  %7419 = call i32 @s2n_read_test_pem(ptr noundef @.str.31, ptr noundef %7418, i64 noundef 12000)
  %7420 = icmp eq i32 %7419, -1
  br i1 %7420, label %7421, label %7474

7421:                                             ; preds = %7415
  br label %7422

7422:                                             ; preds = %7421
  br label %7423

7423:                                             ; preds = %7422
  call void @llvm.lifetime.start.p0(i64 4, ptr %212) #10
  %7424 = call ptr @__errno_location() #11
  %7425 = load i32, ptr %7424, align 4, !tbaa !5
  store i32 %7425, ptr %212, align 4, !tbaa !5
  %7426 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7427 = call i32 @s2n_print_stacktrace(ptr noundef %7426)
  %7428 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7429 = trunc i8 %7428 to i1
  br i1 %7429, label %7430, label %7452

7430:                                             ; preds = %7423
  %7431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7432 = call i32 @fileno(ptr noundef %7431) #10
  %7433 = call i32 @isatty(i32 noundef %7432) #10
  %7434 = icmp ne i32 %7433, 0
  br i1 %7434, label %7435, label %7452

7435:                                             ; preds = %7430
  %7436 = load i32, ptr %212, align 4, !tbaa !5
  %7437 = call ptr @__errno_location() #11
  store i32 %7436, ptr %7437, align 4, !tbaa !5
  %7438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7439 = load i32, ptr @test_count, align 4, !tbaa !5
  %7440 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7441 = load i32, ptr %7440, align 4, !tbaa !5
  %7442 = call ptr @s2n_strerror(i32 noundef %7441, ptr noundef @.str.4)
  %7443 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7444 = load i32, ptr %7443, align 4, !tbaa !5
  %7445 = call ptr @s2n_strerror_debug(i32 noundef %7444, ptr noundef @.str.4)
  %7446 = call ptr @__errno_location() #11
  %7447 = load i32, ptr %7446, align 4, !tbaa !5
  %7448 = call ptr @strerror(i32 noundef %7447) #10
  %7449 = call ptr @__errno_location() #11
  %7450 = load i32, ptr %7449, align 4, !tbaa !5
  %7451 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7438, ptr noundef @.str.2, i32 noundef %7439, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 409, ptr noundef %7442, ptr noundef %7445, ptr noundef %7448, i32 noundef %7450) #10
  br label %7469

7452:                                             ; preds = %7430, %7423
  %7453 = load i32, ptr %212, align 4, !tbaa !5
  %7454 = call ptr @__errno_location() #11
  store i32 %7453, ptr %7454, align 4, !tbaa !5
  %7455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7456 = load i32, ptr @test_count, align 4, !tbaa !5
  %7457 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7458 = load i32, ptr %7457, align 4, !tbaa !5
  %7459 = call ptr @s2n_strerror(i32 noundef %7458, ptr noundef @.str.4)
  %7460 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7461 = load i32, ptr %7460, align 4, !tbaa !5
  %7462 = call ptr @s2n_strerror_debug(i32 noundef %7461, ptr noundef @.str.4)
  %7463 = call ptr @__errno_location() #11
  %7464 = load i32, ptr %7463, align 4, !tbaa !5
  %7465 = call ptr @strerror(i32 noundef %7464) #10
  %7466 = call ptr @__errno_location() #11
  %7467 = load i32, ptr %7466, align 4, !tbaa !5
  %7468 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7455, ptr noundef @.str.5, i32 noundef %7456, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 409, ptr noundef %7459, ptr noundef %7462, ptr noundef %7465, i32 noundef %7467) #10
  br label %7469

7469:                                             ; preds = %7452, %7435
  call void @llvm.lifetime.end.p0(i64 4, ptr %212) #10
  br label %7470

7470:                                             ; preds = %7469
  br label %7471

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

7472:                                             ; No predecessors!
  br label %7473

7473:                                             ; preds = %7472
  br label %7474

7474:                                             ; preds = %7473, %7415
  br label %7475

7475:                                             ; preds = %7474
  br label %7476

7476:                                             ; preds = %7475
  br label %7477

7477:                                             ; preds = %7476
  %7478 = load i32, ptr @test_count, align 4, !tbaa !5
  %7479 = add nsw i32 %7478, 1
  store i32 %7479, ptr @test_count, align 4, !tbaa !5
  %7480 = getelementptr inbounds [12000 x i8], ptr %211, i64 0, i64 0
  %7481 = call i32 @s2n_x509_trust_store_add_pem(ptr noundef %210, ptr noundef %7480)
  %7482 = icmp eq i32 %7481, -1
  br i1 %7482, label %7483, label %7536

7483:                                             ; preds = %7477
  br label %7484

7484:                                             ; preds = %7483
  br label %7485

7485:                                             ; preds = %7484
  call void @llvm.lifetime.start.p0(i64 4, ptr %213) #10
  %7486 = call ptr @__errno_location() #11
  %7487 = load i32, ptr %7486, align 4, !tbaa !5
  store i32 %7487, ptr %213, align 4, !tbaa !5
  %7488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7489 = call i32 @s2n_print_stacktrace(ptr noundef %7488)
  %7490 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7491 = trunc i8 %7490 to i1
  br i1 %7491, label %7492, label %7514

7492:                                             ; preds = %7485
  %7493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7494 = call i32 @fileno(ptr noundef %7493) #10
  %7495 = call i32 @isatty(i32 noundef %7494) #10
  %7496 = icmp ne i32 %7495, 0
  br i1 %7496, label %7497, label %7514

7497:                                             ; preds = %7492
  %7498 = load i32, ptr %213, align 4, !tbaa !5
  %7499 = call ptr @__errno_location() #11
  store i32 %7498, ptr %7499, align 4, !tbaa !5
  %7500 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7501 = load i32, ptr @test_count, align 4, !tbaa !5
  %7502 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7503 = load i32, ptr %7502, align 4, !tbaa !5
  %7504 = call ptr @s2n_strerror(i32 noundef %7503, ptr noundef @.str.4)
  %7505 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7506 = load i32, ptr %7505, align 4, !tbaa !5
  %7507 = call ptr @s2n_strerror_debug(i32 noundef %7506, ptr noundef @.str.4)
  %7508 = call ptr @__errno_location() #11
  %7509 = load i32, ptr %7508, align 4, !tbaa !5
  %7510 = call ptr @strerror(i32 noundef %7509) #10
  %7511 = call ptr @__errno_location() #11
  %7512 = load i32, ptr %7511, align 4, !tbaa !5
  %7513 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7500, ptr noundef @.str.2, i32 noundef %7501, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 410, ptr noundef %7504, ptr noundef %7507, ptr noundef %7510, i32 noundef %7512) #10
  br label %7531

7514:                                             ; preds = %7492, %7485
  %7515 = load i32, ptr %213, align 4, !tbaa !5
  %7516 = call ptr @__errno_location() #11
  store i32 %7515, ptr %7516, align 4, !tbaa !5
  %7517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7518 = load i32, ptr @test_count, align 4, !tbaa !5
  %7519 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7520 = load i32, ptr %7519, align 4, !tbaa !5
  %7521 = call ptr @s2n_strerror(i32 noundef %7520, ptr noundef @.str.4)
  %7522 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7523 = load i32, ptr %7522, align 4, !tbaa !5
  %7524 = call ptr @s2n_strerror_debug(i32 noundef %7523, ptr noundef @.str.4)
  %7525 = call ptr @__errno_location() #11
  %7526 = load i32, ptr %7525, align 4, !tbaa !5
  %7527 = call ptr @strerror(i32 noundef %7526) #10
  %7528 = call ptr @__errno_location() #11
  %7529 = load i32, ptr %7528, align 4, !tbaa !5
  %7530 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7517, ptr noundef @.str.5, i32 noundef %7518, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 410, ptr noundef %7521, ptr noundef %7524, ptr noundef %7527, i32 noundef %7529) #10
  br label %7531

7531:                                             ; preds = %7514, %7497
  call void @llvm.lifetime.end.p0(i64 4, ptr %213) #10
  br label %7532

7532:                                             ; preds = %7531
  br label %7533

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

7534:                                             ; No predecessors!
  br label %7535

7535:                                             ; preds = %7534
  br label %7536

7536:                                             ; preds = %7535, %7477
  br label %7537

7537:                                             ; preds = %7536
  br label %7538

7538:                                             ; preds = %7537
  call void @llvm.lifetime.start.p0(i64 56, ptr %214) #10
  br label %7539

7539:                                             ; preds = %7538
  %7540 = load i32, ptr @test_count, align 4, !tbaa !5
  %7541 = add nsw i32 %7540, 1
  store i32 %7541, ptr @test_count, align 4, !tbaa !5
  %7542 = call i32 @s2n_x509_validator_init(ptr noundef %214, ptr noundef %210, i8 noundef zeroext 0)
  %7543 = icmp eq i32 %7542, -1
  br i1 %7543, label %7544, label %7597

7544:                                             ; preds = %7539
  br label %7545

7545:                                             ; preds = %7544
  br label %7546

7546:                                             ; preds = %7545
  call void @llvm.lifetime.start.p0(i64 4, ptr %215) #10
  %7547 = call ptr @__errno_location() #11
  %7548 = load i32, ptr %7547, align 4, !tbaa !5
  store i32 %7548, ptr %215, align 4, !tbaa !5
  %7549 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7550 = call i32 @s2n_print_stacktrace(ptr noundef %7549)
  %7551 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7552 = trunc i8 %7551 to i1
  br i1 %7552, label %7553, label %7575

7553:                                             ; preds = %7546
  %7554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7555 = call i32 @fileno(ptr noundef %7554) #10
  %7556 = call i32 @isatty(i32 noundef %7555) #10
  %7557 = icmp ne i32 %7556, 0
  br i1 %7557, label %7558, label %7575

7558:                                             ; preds = %7553
  %7559 = load i32, ptr %215, align 4, !tbaa !5
  %7560 = call ptr @__errno_location() #11
  store i32 %7559, ptr %7560, align 4, !tbaa !5
  %7561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7562 = load i32, ptr @test_count, align 4, !tbaa !5
  %7563 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7564 = load i32, ptr %7563, align 4, !tbaa !5
  %7565 = call ptr @s2n_strerror(i32 noundef %7564, ptr noundef @.str.4)
  %7566 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7567 = load i32, ptr %7566, align 4, !tbaa !5
  %7568 = call ptr @s2n_strerror_debug(i32 noundef %7567, ptr noundef @.str.4)
  %7569 = call ptr @__errno_location() #11
  %7570 = load i32, ptr %7569, align 4, !tbaa !5
  %7571 = call ptr @strerror(i32 noundef %7570) #10
  %7572 = call ptr @__errno_location() #11
  %7573 = load i32, ptr %7572, align 4, !tbaa !5
  %7574 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7561, ptr noundef @.str.2, i32 noundef %7562, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 413, ptr noundef %7565, ptr noundef %7568, ptr noundef %7571, i32 noundef %7573) #10
  br label %7592

7575:                                             ; preds = %7553, %7546
  %7576 = load i32, ptr %215, align 4, !tbaa !5
  %7577 = call ptr @__errno_location() #11
  store i32 %7576, ptr %7577, align 4, !tbaa !5
  %7578 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7579 = load i32, ptr @test_count, align 4, !tbaa !5
  %7580 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7581 = load i32, ptr %7580, align 4, !tbaa !5
  %7582 = call ptr @s2n_strerror(i32 noundef %7581, ptr noundef @.str.4)
  %7583 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7584 = load i32, ptr %7583, align 4, !tbaa !5
  %7585 = call ptr @s2n_strerror_debug(i32 noundef %7584, ptr noundef @.str.4)
  %7586 = call ptr @__errno_location() #11
  %7587 = load i32, ptr %7586, align 4, !tbaa !5
  %7588 = call ptr @strerror(i32 noundef %7587) #10
  %7589 = call ptr @__errno_location() #11
  %7590 = load i32, ptr %7589, align 4, !tbaa !5
  %7591 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7578, ptr noundef @.str.5, i32 noundef %7579, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 413, ptr noundef %7582, ptr noundef %7585, ptr noundef %7588, i32 noundef %7590) #10
  br label %7592

7592:                                             ; preds = %7575, %7558
  call void @llvm.lifetime.end.p0(i64 4, ptr %215) #10
  br label %7593

7593:                                             ; preds = %7592
  br label %7594

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

7595:                                             ; No predecessors!
  br label %7596

7596:                                             ; preds = %7595
  br label %7597

7597:                                             ; preds = %7596, %7539
  br label %7598

7598:                                             ; preds = %7597
  br label %7599

7599:                                             ; preds = %7598
  call void @llvm.lifetime.start.p0(i64 8, ptr %216) #10
  %7600 = call ptr @s2n_config_new()
  store ptr %7600, ptr %216, align 8, !tbaa !9
  br label %7601

7601:                                             ; preds = %7599
  %7602 = load i32, ptr @test_count, align 4, !tbaa !5
  %7603 = add nsw i32 %7602, 1
  store i32 %7603, ptr @test_count, align 4, !tbaa !5
  %7604 = load ptr, ptr %216, align 8, !tbaa !9
  %7605 = icmp eq ptr %7604, null
  br i1 %7605, label %7606, label %7659

7606:                                             ; preds = %7601
  br label %7607

7607:                                             ; preds = %7606
  br label %7608

7608:                                             ; preds = %7607
  call void @llvm.lifetime.start.p0(i64 4, ptr %217) #10
  %7609 = call ptr @__errno_location() #11
  %7610 = load i32, ptr %7609, align 4, !tbaa !5
  store i32 %7610, ptr %217, align 4, !tbaa !5
  %7611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7612 = call i32 @s2n_print_stacktrace(ptr noundef %7611)
  %7613 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7614 = trunc i8 %7613 to i1
  br i1 %7614, label %7615, label %7637

7615:                                             ; preds = %7608
  %7616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7617 = call i32 @fileno(ptr noundef %7616) #10
  %7618 = call i32 @isatty(i32 noundef %7617) #10
  %7619 = icmp ne i32 %7618, 0
  br i1 %7619, label %7620, label %7637

7620:                                             ; preds = %7615
  %7621 = load i32, ptr %217, align 4, !tbaa !5
  %7622 = call ptr @__errno_location() #11
  store i32 %7621, ptr %7622, align 4, !tbaa !5
  %7623 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7624 = load i32, ptr @test_count, align 4, !tbaa !5
  %7625 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7626 = load i32, ptr %7625, align 4, !tbaa !5
  %7627 = call ptr @s2n_strerror(i32 noundef %7626, ptr noundef @.str.4)
  %7628 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7629 = load i32, ptr %7628, align 4, !tbaa !5
  %7630 = call ptr @s2n_strerror_debug(i32 noundef %7629, ptr noundef @.str.4)
  %7631 = call ptr @__errno_location() #11
  %7632 = load i32, ptr %7631, align 4, !tbaa !5
  %7633 = call ptr @strerror(i32 noundef %7632) #10
  %7634 = call ptr @__errno_location() #11
  %7635 = load i32, ptr %7634, align 4, !tbaa !5
  %7636 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7623, ptr noundef @.str.2, i32 noundef %7624, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 416, ptr noundef %7627, ptr noundef %7630, ptr noundef %7633, i32 noundef %7635) #10
  br label %7654

7637:                                             ; preds = %7615, %7608
  %7638 = load i32, ptr %217, align 4, !tbaa !5
  %7639 = call ptr @__errno_location() #11
  store i32 %7638, ptr %7639, align 4, !tbaa !5
  %7640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7641 = load i32, ptr @test_count, align 4, !tbaa !5
  %7642 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7643 = load i32, ptr %7642, align 4, !tbaa !5
  %7644 = call ptr @s2n_strerror(i32 noundef %7643, ptr noundef @.str.4)
  %7645 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7646 = load i32, ptr %7645, align 4, !tbaa !5
  %7647 = call ptr @s2n_strerror_debug(i32 noundef %7646, ptr noundef @.str.4)
  %7648 = call ptr @__errno_location() #11
  %7649 = load i32, ptr %7648, align 4, !tbaa !5
  %7650 = call ptr @strerror(i32 noundef %7649) #10
  %7651 = call ptr @__errno_location() #11
  %7652 = load i32, ptr %7651, align 4, !tbaa !5
  %7653 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7640, ptr noundef @.str.5, i32 noundef %7641, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 416, ptr noundef %7644, ptr noundef %7647, ptr noundef %7650, i32 noundef %7652) #10
  br label %7654

7654:                                             ; preds = %7637, %7620
  call void @llvm.lifetime.end.p0(i64 4, ptr %217) #10
  br label %7655

7655:                                             ; preds = %7654
  br label %7656

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

7657:                                             ; No predecessors!
  br label %7658

7658:                                             ; preds = %7657
  br label %7659

7659:                                             ; preds = %7658, %7601
  br label %7660

7660:                                             ; preds = %7659
  br label %7661

7661:                                             ; preds = %7660
  br label %7662

7662:                                             ; preds = %7661
  %7663 = load i32, ptr @test_count, align 4, !tbaa !5
  %7664 = add nsw i32 %7663, 1
  store i32 %7664, ptr @test_count, align 4, !tbaa !5
  %7665 = load ptr, ptr %216, align 8, !tbaa !9
  %7666 = call i32 @s2n_config_set_crl_lookup_cb(ptr noundef %7665, ptr noundef @crl_lookup_noop, ptr noundef null)
  %7667 = icmp eq i32 %7666, -1
  br i1 %7667, label %7668, label %7721

7668:                                             ; preds = %7662
  br label %7669

7669:                                             ; preds = %7668
  br label %7670

7670:                                             ; preds = %7669
  call void @llvm.lifetime.start.p0(i64 4, ptr %218) #10
  %7671 = call ptr @__errno_location() #11
  %7672 = load i32, ptr %7671, align 4, !tbaa !5
  store i32 %7672, ptr %218, align 4, !tbaa !5
  %7673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7674 = call i32 @s2n_print_stacktrace(ptr noundef %7673)
  %7675 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7676 = trunc i8 %7675 to i1
  br i1 %7676, label %7677, label %7699

7677:                                             ; preds = %7670
  %7678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7679 = call i32 @fileno(ptr noundef %7678) #10
  %7680 = call i32 @isatty(i32 noundef %7679) #10
  %7681 = icmp ne i32 %7680, 0
  br i1 %7681, label %7682, label %7699

7682:                                             ; preds = %7677
  %7683 = load i32, ptr %218, align 4, !tbaa !5
  %7684 = call ptr @__errno_location() #11
  store i32 %7683, ptr %7684, align 4, !tbaa !5
  %7685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7686 = load i32, ptr @test_count, align 4, !tbaa !5
  %7687 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7688 = load i32, ptr %7687, align 4, !tbaa !5
  %7689 = call ptr @s2n_strerror(i32 noundef %7688, ptr noundef @.str.4)
  %7690 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7691 = load i32, ptr %7690, align 4, !tbaa !5
  %7692 = call ptr @s2n_strerror_debug(i32 noundef %7691, ptr noundef @.str.4)
  %7693 = call ptr @__errno_location() #11
  %7694 = load i32, ptr %7693, align 4, !tbaa !5
  %7695 = call ptr @strerror(i32 noundef %7694) #10
  %7696 = call ptr @__errno_location() #11
  %7697 = load i32, ptr %7696, align 4, !tbaa !5
  %7698 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7685, ptr noundef @.str.2, i32 noundef %7686, ptr noundef @.str.66, ptr noundef @.str.1, i32 noundef 417, ptr noundef %7689, ptr noundef %7692, ptr noundef %7695, i32 noundef %7697) #10
  br label %7716

7699:                                             ; preds = %7677, %7670
  %7700 = load i32, ptr %218, align 4, !tbaa !5
  %7701 = call ptr @__errno_location() #11
  store i32 %7700, ptr %7701, align 4, !tbaa !5
  %7702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7703 = load i32, ptr @test_count, align 4, !tbaa !5
  %7704 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7705 = load i32, ptr %7704, align 4, !tbaa !5
  %7706 = call ptr @s2n_strerror(i32 noundef %7705, ptr noundef @.str.4)
  %7707 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7708 = load i32, ptr %7707, align 4, !tbaa !5
  %7709 = call ptr @s2n_strerror_debug(i32 noundef %7708, ptr noundef @.str.4)
  %7710 = call ptr @__errno_location() #11
  %7711 = load i32, ptr %7710, align 4, !tbaa !5
  %7712 = call ptr @strerror(i32 noundef %7711) #10
  %7713 = call ptr @__errno_location() #11
  %7714 = load i32, ptr %7713, align 4, !tbaa !5
  %7715 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7702, ptr noundef @.str.5, i32 noundef %7703, ptr noundef @.str.66, ptr noundef @.str.1, i32 noundef 417, ptr noundef %7706, ptr noundef %7709, ptr noundef %7712, i32 noundef %7714) #10
  br label %7716

7716:                                             ; preds = %7699, %7682
  call void @llvm.lifetime.end.p0(i64 4, ptr %218) #10
  br label %7717

7717:                                             ; preds = %7716
  br label %7718

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

7719:                                             ; No predecessors!
  br label %7720

7720:                                             ; preds = %7719
  br label %7721

7721:                                             ; preds = %7720, %7662
  br label %7722

7722:                                             ; preds = %7721
  br label %7723

7723:                                             ; preds = %7722
  call void @llvm.lifetime.start.p0(i64 8, ptr %219) #10
  %7724 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %7724, ptr %219, align 8, !tbaa !9
  br label %7725

7725:                                             ; preds = %7723
  %7726 = load i32, ptr @test_count, align 4, !tbaa !5
  %7727 = add nsw i32 %7726, 1
  store i32 %7727, ptr @test_count, align 4, !tbaa !5
  %7728 = load ptr, ptr %219, align 8, !tbaa !9
  %7729 = icmp eq ptr %7728, null
  br i1 %7729, label %7730, label %7783

7730:                                             ; preds = %7725
  br label %7731

7731:                                             ; preds = %7730
  br label %7732

7732:                                             ; preds = %7731
  call void @llvm.lifetime.start.p0(i64 4, ptr %220) #10
  %7733 = call ptr @__errno_location() #11
  %7734 = load i32, ptr %7733, align 4, !tbaa !5
  store i32 %7734, ptr %220, align 4, !tbaa !5
  %7735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7736 = call i32 @s2n_print_stacktrace(ptr noundef %7735)
  %7737 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7738 = trunc i8 %7737 to i1
  br i1 %7738, label %7739, label %7761

7739:                                             ; preds = %7732
  %7740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7741 = call i32 @fileno(ptr noundef %7740) #10
  %7742 = call i32 @isatty(i32 noundef %7741) #10
  %7743 = icmp ne i32 %7742, 0
  br i1 %7743, label %7744, label %7761

7744:                                             ; preds = %7739
  %7745 = load i32, ptr %220, align 4, !tbaa !5
  %7746 = call ptr @__errno_location() #11
  store i32 %7745, ptr %7746, align 4, !tbaa !5
  %7747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7748 = load i32, ptr @test_count, align 4, !tbaa !5
  %7749 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7750 = load i32, ptr %7749, align 4, !tbaa !5
  %7751 = call ptr @s2n_strerror(i32 noundef %7750, ptr noundef @.str.4)
  %7752 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7753 = load i32, ptr %7752, align 4, !tbaa !5
  %7754 = call ptr @s2n_strerror_debug(i32 noundef %7753, ptr noundef @.str.4)
  %7755 = call ptr @__errno_location() #11
  %7756 = load i32, ptr %7755, align 4, !tbaa !5
  %7757 = call ptr @strerror(i32 noundef %7756) #10
  %7758 = call ptr @__errno_location() #11
  %7759 = load i32, ptr %7758, align 4, !tbaa !5
  %7760 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7747, ptr noundef @.str.2, i32 noundef %7748, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 420, ptr noundef %7751, ptr noundef %7754, ptr noundef %7757, i32 noundef %7759) #10
  br label %7778

7761:                                             ; preds = %7739, %7732
  %7762 = load i32, ptr %220, align 4, !tbaa !5
  %7763 = call ptr @__errno_location() #11
  store i32 %7762, ptr %7763, align 4, !tbaa !5
  %7764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7765 = load i32, ptr @test_count, align 4, !tbaa !5
  %7766 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7767 = load i32, ptr %7766, align 4, !tbaa !5
  %7768 = call ptr @s2n_strerror(i32 noundef %7767, ptr noundef @.str.4)
  %7769 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7770 = load i32, ptr %7769, align 4, !tbaa !5
  %7771 = call ptr @s2n_strerror_debug(i32 noundef %7770, ptr noundef @.str.4)
  %7772 = call ptr @__errno_location() #11
  %7773 = load i32, ptr %7772, align 4, !tbaa !5
  %7774 = call ptr @strerror(i32 noundef %7773) #10
  %7775 = call ptr @__errno_location() #11
  %7776 = load i32, ptr %7775, align 4, !tbaa !5
  %7777 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7764, ptr noundef @.str.5, i32 noundef %7765, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 420, ptr noundef %7768, ptr noundef %7771, ptr noundef %7774, i32 noundef %7776) #10
  br label %7778

7778:                                             ; preds = %7761, %7744
  call void @llvm.lifetime.end.p0(i64 4, ptr %220) #10
  br label %7779

7779:                                             ; preds = %7778
  br label %7780

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

7781:                                             ; No predecessors!
  br label %7782

7782:                                             ; preds = %7781
  br label %7783

7783:                                             ; preds = %7782, %7725
  br label %7784

7784:                                             ; preds = %7783
  br label %7785

7785:                                             ; preds = %7784
  br label %7786

7786:                                             ; preds = %7785
  %7787 = load i32, ptr @test_count, align 4, !tbaa !5
  %7788 = add nsw i32 %7787, 1
  store i32 %7788, ptr @test_count, align 4, !tbaa !5
  %7789 = load ptr, ptr %219, align 8, !tbaa !9
  %7790 = load ptr, ptr %216, align 8, !tbaa !9
  %7791 = call i32 @s2n_connection_set_config(ptr noundef %7789, ptr noundef %7790)
  %7792 = icmp eq i32 %7791, -1
  br i1 %7792, label %7793, label %7846

7793:                                             ; preds = %7786
  br label %7794

7794:                                             ; preds = %7793
  br label %7795

7795:                                             ; preds = %7794
  call void @llvm.lifetime.start.p0(i64 4, ptr %221) #10
  %7796 = call ptr @__errno_location() #11
  %7797 = load i32, ptr %7796, align 4, !tbaa !5
  store i32 %7797, ptr %221, align 4, !tbaa !5
  %7798 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7799 = call i32 @s2n_print_stacktrace(ptr noundef %7798)
  %7800 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7801 = trunc i8 %7800 to i1
  br i1 %7801, label %7802, label %7824

7802:                                             ; preds = %7795
  %7803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7804 = call i32 @fileno(ptr noundef %7803) #10
  %7805 = call i32 @isatty(i32 noundef %7804) #10
  %7806 = icmp ne i32 %7805, 0
  br i1 %7806, label %7807, label %7824

7807:                                             ; preds = %7802
  %7808 = load i32, ptr %221, align 4, !tbaa !5
  %7809 = call ptr @__errno_location() #11
  store i32 %7808, ptr %7809, align 4, !tbaa !5
  %7810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7811 = load i32, ptr @test_count, align 4, !tbaa !5
  %7812 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7813 = load i32, ptr %7812, align 4, !tbaa !5
  %7814 = call ptr @s2n_strerror(i32 noundef %7813, ptr noundef @.str.4)
  %7815 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7816 = load i32, ptr %7815, align 4, !tbaa !5
  %7817 = call ptr @s2n_strerror_debug(i32 noundef %7816, ptr noundef @.str.4)
  %7818 = call ptr @__errno_location() #11
  %7819 = load i32, ptr %7818, align 4, !tbaa !5
  %7820 = call ptr @strerror(i32 noundef %7819) #10
  %7821 = call ptr @__errno_location() #11
  %7822 = load i32, ptr %7821, align 4, !tbaa !5
  %7823 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7810, ptr noundef @.str.2, i32 noundef %7811, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 421, ptr noundef %7814, ptr noundef %7817, ptr noundef %7820, i32 noundef %7822) #10
  br label %7841

7824:                                             ; preds = %7802, %7795
  %7825 = load i32, ptr %221, align 4, !tbaa !5
  %7826 = call ptr @__errno_location() #11
  store i32 %7825, ptr %7826, align 4, !tbaa !5
  %7827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7828 = load i32, ptr @test_count, align 4, !tbaa !5
  %7829 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7830 = load i32, ptr %7829, align 4, !tbaa !5
  %7831 = call ptr @s2n_strerror(i32 noundef %7830, ptr noundef @.str.4)
  %7832 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7833 = load i32, ptr %7832, align 4, !tbaa !5
  %7834 = call ptr @s2n_strerror_debug(i32 noundef %7833, ptr noundef @.str.4)
  %7835 = call ptr @__errno_location() #11
  %7836 = load i32, ptr %7835, align 4, !tbaa !5
  %7837 = call ptr @strerror(i32 noundef %7836) #10
  %7838 = call ptr @__errno_location() #11
  %7839 = load i32, ptr %7838, align 4, !tbaa !5
  %7840 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7827, ptr noundef @.str.5, i32 noundef %7828, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 421, ptr noundef %7831, ptr noundef %7834, ptr noundef %7837, i32 noundef %7839) #10
  br label %7841

7841:                                             ; preds = %7824, %7807
  call void @llvm.lifetime.end.p0(i64 4, ptr %221) #10
  br label %7842

7842:                                             ; preds = %7841
  br label %7843

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

7844:                                             ; No predecessors!
  br label %7845

7845:                                             ; preds = %7844
  br label %7846

7846:                                             ; preds = %7845, %7786
  br label %7847

7847:                                             ; preds = %7846
  br label %7848

7848:                                             ; preds = %7847
  br label %7849

7849:                                             ; preds = %7848
  %7850 = load i32, ptr @test_count, align 4, !tbaa !5
  %7851 = add nsw i32 %7850, 1
  store i32 %7851, ptr @test_count, align 4, !tbaa !5
  %7852 = load ptr, ptr %219, align 8, !tbaa !9
  %7853 = call i32 @s2n_set_server_name(ptr noundef %7852, ptr noundef @.str.39)
  %7854 = icmp eq i32 %7853, -1
  br i1 %7854, label %7855, label %7908

7855:                                             ; preds = %7849
  br label %7856

7856:                                             ; preds = %7855
  br label %7857

7857:                                             ; preds = %7856
  call void @llvm.lifetime.start.p0(i64 4, ptr %222) #10
  %7858 = call ptr @__errno_location() #11
  %7859 = load i32, ptr %7858, align 4, !tbaa !5
  store i32 %7859, ptr %222, align 4, !tbaa !5
  %7860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7861 = call i32 @s2n_print_stacktrace(ptr noundef %7860)
  %7862 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7863 = trunc i8 %7862 to i1
  br i1 %7863, label %7864, label %7886

7864:                                             ; preds = %7857
  %7865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7866 = call i32 @fileno(ptr noundef %7865) #10
  %7867 = call i32 @isatty(i32 noundef %7866) #10
  %7868 = icmp ne i32 %7867, 0
  br i1 %7868, label %7869, label %7886

7869:                                             ; preds = %7864
  %7870 = load i32, ptr %222, align 4, !tbaa !5
  %7871 = call ptr @__errno_location() #11
  store i32 %7870, ptr %7871, align 4, !tbaa !5
  %7872 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7873 = load i32, ptr @test_count, align 4, !tbaa !5
  %7874 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7875 = load i32, ptr %7874, align 4, !tbaa !5
  %7876 = call ptr @s2n_strerror(i32 noundef %7875, ptr noundef @.str.4)
  %7877 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7878 = load i32, ptr %7877, align 4, !tbaa !5
  %7879 = call ptr @s2n_strerror_debug(i32 noundef %7878, ptr noundef @.str.4)
  %7880 = call ptr @__errno_location() #11
  %7881 = load i32, ptr %7880, align 4, !tbaa !5
  %7882 = call ptr @strerror(i32 noundef %7881) #10
  %7883 = call ptr @__errno_location() #11
  %7884 = load i32, ptr %7883, align 4, !tbaa !5
  %7885 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7872, ptr noundef @.str.2, i32 noundef %7873, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 422, ptr noundef %7876, ptr noundef %7879, ptr noundef %7882, i32 noundef %7884) #10
  br label %7903

7886:                                             ; preds = %7864, %7857
  %7887 = load i32, ptr %222, align 4, !tbaa !5
  %7888 = call ptr @__errno_location() #11
  store i32 %7887, ptr %7888, align 4, !tbaa !5
  %7889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7890 = load i32, ptr @test_count, align 4, !tbaa !5
  %7891 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7892 = load i32, ptr %7891, align 4, !tbaa !5
  %7893 = call ptr @s2n_strerror(i32 noundef %7892, ptr noundef @.str.4)
  %7894 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7895 = load i32, ptr %7894, align 4, !tbaa !5
  %7896 = call ptr @s2n_strerror_debug(i32 noundef %7895, ptr noundef @.str.4)
  %7897 = call ptr @__errno_location() #11
  %7898 = load i32, ptr %7897, align 4, !tbaa !5
  %7899 = call ptr @strerror(i32 noundef %7898) #10
  %7900 = call ptr @__errno_location() #11
  %7901 = load i32, ptr %7900, align 4, !tbaa !5
  %7902 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7889, ptr noundef @.str.5, i32 noundef %7890, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 422, ptr noundef %7893, ptr noundef %7896, ptr noundef %7899, i32 noundef %7901) #10
  br label %7903

7903:                                             ; preds = %7886, %7869
  call void @llvm.lifetime.end.p0(i64 4, ptr %222) #10
  br label %7904

7904:                                             ; preds = %7903
  br label %7905

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

7906:                                             ; No predecessors!
  br label %7907

7907:                                             ; preds = %7906
  br label %7908

7908:                                             ; preds = %7907, %7849
  br label %7909

7909:                                             ; preds = %7908
  br label %7910

7910:                                             ; preds = %7909
  call void @llvm.lifetime.start.p0(i64 40, ptr %223) #10
  call void @llvm.memset.p0.i64(ptr align 8 %223, i8 0, i64 40, i1 false)
  br label %7911

7911:                                             ; preds = %7910
  %7912 = load i32, ptr @test_count, align 4, !tbaa !5
  %7913 = add nsw i32 %7912, 1
  store i32 %7913, ptr @test_count, align 4, !tbaa !5
  %7914 = load ptr, ptr %219, align 8, !tbaa !9
  %7915 = call i32 @s2n_test_cert_chain_data_from_pem(ptr noundef %7914, ptr noundef @.str.41, ptr noundef %223)
  %7916 = getelementptr inbounds %struct.s2n_result, ptr %224, i32 0, i32 0
  store i32 %7915, ptr %7916, align 4
  %7917 = getelementptr inbounds %struct.s2n_result, ptr %224, i32 0, i32 0
  %7918 = load i32, ptr %7917, align 4
  %7919 = call zeroext i1 @s2n_result_is_ok(i32 %7918)
  br i1 %7919, label %7973, label %7920

7920:                                             ; preds = %7911
  br label %7921

7921:                                             ; preds = %7920
  br label %7922

7922:                                             ; preds = %7921
  call void @llvm.lifetime.start.p0(i64 4, ptr %225) #10
  %7923 = call ptr @__errno_location() #11
  %7924 = load i32, ptr %7923, align 4, !tbaa !5
  store i32 %7924, ptr %225, align 4, !tbaa !5
  %7925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7926 = call i32 @s2n_print_stacktrace(ptr noundef %7925)
  %7927 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7928 = trunc i8 %7927 to i1
  br i1 %7928, label %7929, label %7951

7929:                                             ; preds = %7922
  %7930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7931 = call i32 @fileno(ptr noundef %7930) #10
  %7932 = call i32 @isatty(i32 noundef %7931) #10
  %7933 = icmp ne i32 %7932, 0
  br i1 %7933, label %7934, label %7951

7934:                                             ; preds = %7929
  %7935 = load i32, ptr %225, align 4, !tbaa !5
  %7936 = call ptr @__errno_location() #11
  store i32 %7935, ptr %7936, align 4, !tbaa !5
  %7937 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7938 = load i32, ptr @test_count, align 4, !tbaa !5
  %7939 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7940 = load i32, ptr %7939, align 4, !tbaa !5
  %7941 = call ptr @s2n_strerror(i32 noundef %7940, ptr noundef @.str.4)
  %7942 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7943 = load i32, ptr %7942, align 4, !tbaa !5
  %7944 = call ptr @s2n_strerror_debug(i32 noundef %7943, ptr noundef @.str.4)
  %7945 = call ptr @__errno_location() #11
  %7946 = load i32, ptr %7945, align 4, !tbaa !5
  %7947 = call ptr @strerror(i32 noundef %7946) #10
  %7948 = call ptr @__errno_location() #11
  %7949 = load i32, ptr %7948, align 4, !tbaa !5
  %7950 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7937, ptr noundef @.str.2, i32 noundef %7938, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 425, ptr noundef %7941, ptr noundef %7944, ptr noundef %7947, i32 noundef %7949) #10
  br label %7968

7951:                                             ; preds = %7929, %7922
  %7952 = load i32, ptr %225, align 4, !tbaa !5
  %7953 = call ptr @__errno_location() #11
  store i32 %7952, ptr %7953, align 4, !tbaa !5
  %7954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7955 = load i32, ptr @test_count, align 4, !tbaa !5
  %7956 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7957 = load i32, ptr %7956, align 4, !tbaa !5
  %7958 = call ptr @s2n_strerror(i32 noundef %7957, ptr noundef @.str.4)
  %7959 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7960 = load i32, ptr %7959, align 4, !tbaa !5
  %7961 = call ptr @s2n_strerror_debug(i32 noundef %7960, ptr noundef @.str.4)
  %7962 = call ptr @__errno_location() #11
  %7963 = load i32, ptr %7962, align 4, !tbaa !5
  %7964 = call ptr @strerror(i32 noundef %7963) #10
  %7965 = call ptr @__errno_location() #11
  %7966 = load i32, ptr %7965, align 4, !tbaa !5
  %7967 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7954, ptr noundef @.str.5, i32 noundef %7955, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 425, ptr noundef %7958, ptr noundef %7961, ptr noundef %7964, i32 noundef %7966) #10
  br label %7968

7968:                                             ; preds = %7951, %7934
  call void @llvm.lifetime.end.p0(i64 4, ptr %225) #10
  br label %7969

7969:                                             ; preds = %7968
  br label %7970

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

7971:                                             ; No predecessors!
  br label %7972

7972:                                             ; preds = %7971
  br label %7973

7973:                                             ; preds = %7972, %7911
  br label %7974

7974:                                             ; preds = %7973
  br label %7975

7975:                                             ; preds = %7974
  call void @llvm.lifetime.start.p0(i64 4, ptr %226) #10
  %7976 = getelementptr inbounds %struct.s2n_stuffer, ptr %223, i32 0, i32 2
  %7977 = load i32, ptr %7976, align 4, !tbaa !23
  %7978 = getelementptr inbounds %struct.s2n_stuffer, ptr %223, i32 0, i32 1
  %7979 = load i32, ptr %7978, align 8, !tbaa !26
  %7980 = sub i32 %7977, %7979
  store i32 %7980, ptr %226, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %227) #10
  %7981 = load i32, ptr %226, align 4, !tbaa !5
  %7982 = call ptr @s2n_stuffer_raw_read(ptr noundef %223, i32 noundef %7981)
  store ptr %7982, ptr %227, align 8, !tbaa !9
  br label %7983

7983:                                             ; preds = %7975
  %7984 = load i32, ptr @test_count, align 4, !tbaa !5
  %7985 = add nsw i32 %7984, 1
  store i32 %7985, ptr @test_count, align 4, !tbaa !5
  %7986 = load ptr, ptr %227, align 8, !tbaa !9
  %7987 = icmp eq ptr %7986, null
  br i1 %7987, label %7988, label %8041

7988:                                             ; preds = %7983
  br label %7989

7989:                                             ; preds = %7988
  br label %7990

7990:                                             ; preds = %7989
  call void @llvm.lifetime.start.p0(i64 4, ptr %228) #10
  %7991 = call ptr @__errno_location() #11
  %7992 = load i32, ptr %7991, align 4, !tbaa !5
  store i32 %7992, ptr %228, align 4, !tbaa !5
  %7993 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7994 = call i32 @s2n_print_stacktrace(ptr noundef %7993)
  %7995 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7996 = trunc i8 %7995 to i1
  br i1 %7996, label %7997, label %8019

7997:                                             ; preds = %7990
  %7998 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7999 = call i32 @fileno(ptr noundef %7998) #10
  %8000 = call i32 @isatty(i32 noundef %7999) #10
  %8001 = icmp ne i32 %8000, 0
  br i1 %8001, label %8002, label %8019

8002:                                             ; preds = %7997
  %8003 = load i32, ptr %228, align 4, !tbaa !5
  %8004 = call ptr @__errno_location() #11
  store i32 %8003, ptr %8004, align 4, !tbaa !5
  %8005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8006 = load i32, ptr @test_count, align 4, !tbaa !5
  %8007 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8008 = load i32, ptr %8007, align 4, !tbaa !5
  %8009 = call ptr @s2n_strerror(i32 noundef %8008, ptr noundef @.str.4)
  %8010 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8011 = load i32, ptr %8010, align 4, !tbaa !5
  %8012 = call ptr @s2n_strerror_debug(i32 noundef %8011, ptr noundef @.str.4)
  %8013 = call ptr @__errno_location() #11
  %8014 = load i32, ptr %8013, align 4, !tbaa !5
  %8015 = call ptr @strerror(i32 noundef %8014) #10
  %8016 = call ptr @__errno_location() #11
  %8017 = load i32, ptr %8016, align 4, !tbaa !5
  %8018 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8005, ptr noundef @.str.2, i32 noundef %8006, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 428, ptr noundef %8009, ptr noundef %8012, ptr noundef %8015, i32 noundef %8017) #10
  br label %8036

8019:                                             ; preds = %7997, %7990
  %8020 = load i32, ptr %228, align 4, !tbaa !5
  %8021 = call ptr @__errno_location() #11
  store i32 %8020, ptr %8021, align 4, !tbaa !5
  %8022 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8023 = load i32, ptr @test_count, align 4, !tbaa !5
  %8024 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8025 = load i32, ptr %8024, align 4, !tbaa !5
  %8026 = call ptr @s2n_strerror(i32 noundef %8025, ptr noundef @.str.4)
  %8027 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8028 = load i32, ptr %8027, align 4, !tbaa !5
  %8029 = call ptr @s2n_strerror_debug(i32 noundef %8028, ptr noundef @.str.4)
  %8030 = call ptr @__errno_location() #11
  %8031 = load i32, ptr %8030, align 4, !tbaa !5
  %8032 = call ptr @strerror(i32 noundef %8031) #10
  %8033 = call ptr @__errno_location() #11
  %8034 = load i32, ptr %8033, align 4, !tbaa !5
  %8035 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8022, ptr noundef @.str.5, i32 noundef %8023, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 428, ptr noundef %8026, ptr noundef %8029, ptr noundef %8032, i32 noundef %8034) #10
  br label %8036

8036:                                             ; preds = %8019, %8002
  call void @llvm.lifetime.end.p0(i64 4, ptr %228) #10
  br label %8037

8037:                                             ; preds = %8036
  br label %8038

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

8039:                                             ; No predecessors!
  br label %8040

8040:                                             ; preds = %8039
  br label %8041

8041:                                             ; preds = %8040, %7983
  br label %8042

8042:                                             ; preds = %8041
  br label %8043

8043:                                             ; preds = %8042
  call void @llvm.lifetime.start.p0(i64 48, ptr %229) #10
  call void @llvm.memset.p0.i64(ptr align 8 %229, i8 0, i64 48, i1 false)
  br label %8044

8044:                                             ; preds = %8043
  %8045 = load i32, ptr @test_count, align 4, !tbaa !5
  %8046 = add nsw i32 %8045, 1
  store i32 %8046, ptr @test_count, align 4, !tbaa !5
  %8047 = call i32 @s2n_pkey_zero_init(ptr noundef %229)
  %8048 = icmp eq i32 %8047, -1
  br i1 %8048, label %8049, label %8102

8049:                                             ; preds = %8044
  br label %8050

8050:                                             ; preds = %8049
  br label %8051

8051:                                             ; preds = %8050
  call void @llvm.lifetime.start.p0(i64 4, ptr %230) #10
  %8052 = call ptr @__errno_location() #11
  %8053 = load i32, ptr %8052, align 4, !tbaa !5
  store i32 %8053, ptr %230, align 4, !tbaa !5
  %8054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8055 = call i32 @s2n_print_stacktrace(ptr noundef %8054)
  %8056 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8057 = trunc i8 %8056 to i1
  br i1 %8057, label %8058, label %8080

8058:                                             ; preds = %8051
  %8059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8060 = call i32 @fileno(ptr noundef %8059) #10
  %8061 = call i32 @isatty(i32 noundef %8060) #10
  %8062 = icmp ne i32 %8061, 0
  br i1 %8062, label %8063, label %8080

8063:                                             ; preds = %8058
  %8064 = load i32, ptr %230, align 4, !tbaa !5
  %8065 = call ptr @__errno_location() #11
  store i32 %8064, ptr %8065, align 4, !tbaa !5
  %8066 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8067 = load i32, ptr @test_count, align 4, !tbaa !5
  %8068 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8069 = load i32, ptr %8068, align 4, !tbaa !5
  %8070 = call ptr @s2n_strerror(i32 noundef %8069, ptr noundef @.str.4)
  %8071 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8072 = load i32, ptr %8071, align 4, !tbaa !5
  %8073 = call ptr @s2n_strerror_debug(i32 noundef %8072, ptr noundef @.str.4)
  %8074 = call ptr @__errno_location() #11
  %8075 = load i32, ptr %8074, align 4, !tbaa !5
  %8076 = call ptr @strerror(i32 noundef %8075) #10
  %8077 = call ptr @__errno_location() #11
  %8078 = load i32, ptr %8077, align 4, !tbaa !5
  %8079 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8066, ptr noundef @.str.2, i32 noundef %8067, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 431, ptr noundef %8070, ptr noundef %8073, ptr noundef %8076, i32 noundef %8078) #10
  br label %8097

8080:                                             ; preds = %8058, %8051
  %8081 = load i32, ptr %230, align 4, !tbaa !5
  %8082 = call ptr @__errno_location() #11
  store i32 %8081, ptr %8082, align 4, !tbaa !5
  %8083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8084 = load i32, ptr @test_count, align 4, !tbaa !5
  %8085 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8086 = load i32, ptr %8085, align 4, !tbaa !5
  %8087 = call ptr @s2n_strerror(i32 noundef %8086, ptr noundef @.str.4)
  %8088 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8089 = load i32, ptr %8088, align 4, !tbaa !5
  %8090 = call ptr @s2n_strerror_debug(i32 noundef %8089, ptr noundef @.str.4)
  %8091 = call ptr @__errno_location() #11
  %8092 = load i32, ptr %8091, align 4, !tbaa !5
  %8093 = call ptr @strerror(i32 noundef %8092) #10
  %8094 = call ptr @__errno_location() #11
  %8095 = load i32, ptr %8094, align 4, !tbaa !5
  %8096 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8083, ptr noundef @.str.5, i32 noundef %8084, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 431, ptr noundef %8087, ptr noundef %8090, ptr noundef %8093, i32 noundef %8095) #10
  br label %8097

8097:                                             ; preds = %8080, %8063
  call void @llvm.lifetime.end.p0(i64 4, ptr %230) #10
  br label %8098

8098:                                             ; preds = %8097
  br label %8099

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

8100:                                             ; No predecessors!
  br label %8101

8101:                                             ; preds = %8100
  br label %8102

8102:                                             ; preds = %8101, %8044
  br label %8103

8103:                                             ; preds = %8102
  br label %8104

8104:                                             ; preds = %8103
  call void @llvm.lifetime.start.p0(i64 4, ptr %231) #10
  store i32 -1, ptr %231, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %232) #10
  store i32 0, ptr %232, align 4, !tbaa !5
  br label %8105

8105:                                             ; preds = %8313, %8104
  %8106 = load i32, ptr %232, align 4, !tbaa !5
  %8107 = icmp slt i32 %8106, 10
  br i1 %8107, label %8109, label %8108

8108:                                             ; preds = %8105
  store i32 744, ptr %26, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %232) #10
  br label %8316

8109:                                             ; preds = %8105
  br label %8110

8110:                                             ; preds = %8109
  br label %8111

8111:                                             ; preds = %8110
  br label %8112

8112:                                             ; preds = %8111
  %8113 = load i32, ptr @test_count, align 4, !tbaa !5
  %8114 = add nsw i32 %8113, 1
  store i32 %8114, ptr @test_count, align 4, !tbaa !5
  %8115 = load ptr, ptr %219, align 8, !tbaa !9
  %8116 = load ptr, ptr %227, align 8, !tbaa !9
  %8117 = load i32, ptr %226, align 4, !tbaa !5
  %8118 = call i32 @s2n_x509_validator_validate_cert_chain(ptr noundef %214, ptr noundef %8115, ptr noundef %8116, i32 noundef %8117, ptr noundef %231, ptr noundef %229)
  %8119 = getelementptr inbounds %struct.s2n_result, ptr %233, i32 0, i32 0
  store i32 %8118, ptr %8119, align 4
  %8120 = getelementptr inbounds %struct.s2n_result, ptr %233, i32 0, i32 0
  %8121 = load i32, ptr %8120, align 4
  %8122 = call zeroext i1 @s2n_result_is_error(i32 %8121)
  br i1 %8122, label %8176, label %8123

8123:                                             ; preds = %8112
  br label %8124

8124:                                             ; preds = %8123
  br label %8125

8125:                                             ; preds = %8124
  call void @llvm.lifetime.start.p0(i64 4, ptr %234) #10
  %8126 = call ptr @__errno_location() #11
  %8127 = load i32, ptr %8126, align 4, !tbaa !5
  store i32 %8127, ptr %234, align 4, !tbaa !5
  %8128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8129 = call i32 @s2n_print_stacktrace(ptr noundef %8128)
  %8130 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8131 = trunc i8 %8130 to i1
  br i1 %8131, label %8132, label %8154

8132:                                             ; preds = %8125
  %8133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8134 = call i32 @fileno(ptr noundef %8133) #10
  %8135 = call i32 @isatty(i32 noundef %8134) #10
  %8136 = icmp ne i32 %8135, 0
  br i1 %8136, label %8137, label %8154

8137:                                             ; preds = %8132
  %8138 = load i32, ptr %234, align 4, !tbaa !5
  %8139 = call ptr @__errno_location() #11
  store i32 %8138, ptr %8139, align 4, !tbaa !5
  %8140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8141 = load i32, ptr @test_count, align 4, !tbaa !5
  %8142 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8143 = load i32, ptr %8142, align 4, !tbaa !5
  %8144 = call ptr @s2n_strerror(i32 noundef %8143, ptr noundef @.str.4)
  %8145 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8146 = load i32, ptr %8145, align 4, !tbaa !5
  %8147 = call ptr @s2n_strerror_debug(i32 noundef %8146, ptr noundef @.str.4)
  %8148 = call ptr @__errno_location() #11
  %8149 = load i32, ptr %8148, align 4, !tbaa !5
  %8150 = call ptr @strerror(i32 noundef %8149) #10
  %8151 = call ptr @__errno_location() #11
  %8152 = load i32, ptr %8151, align 4, !tbaa !5
  %8153 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8140, ptr noundef @.str.2, i32 noundef %8141, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 438, ptr noundef %8144, ptr noundef %8147, ptr noundef %8150, i32 noundef %8152) #10
  br label %8171

8154:                                             ; preds = %8132, %8125
  %8155 = load i32, ptr %234, align 4, !tbaa !5
  %8156 = call ptr @__errno_location() #11
  store i32 %8155, ptr %8156, align 4, !tbaa !5
  %8157 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8158 = load i32, ptr @test_count, align 4, !tbaa !5
  %8159 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8160 = load i32, ptr %8159, align 4, !tbaa !5
  %8161 = call ptr @s2n_strerror(i32 noundef %8160, ptr noundef @.str.4)
  %8162 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8163 = load i32, ptr %8162, align 4, !tbaa !5
  %8164 = call ptr @s2n_strerror_debug(i32 noundef %8163, ptr noundef @.str.4)
  %8165 = call ptr @__errno_location() #11
  %8166 = load i32, ptr %8165, align 4, !tbaa !5
  %8167 = call ptr @strerror(i32 noundef %8166) #10
  %8168 = call ptr @__errno_location() #11
  %8169 = load i32, ptr %8168, align 4, !tbaa !5
  %8170 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8157, ptr noundef @.str.5, i32 noundef %8158, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 438, ptr noundef %8161, ptr noundef %8164, ptr noundef %8167, i32 noundef %8169) #10
  br label %8171

8171:                                             ; preds = %8154, %8137
  call void @llvm.lifetime.end.p0(i64 4, ptr %234) #10
  br label %8172

8172:                                             ; preds = %8171
  br label %8173

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

8174:                                             ; No predecessors!
  br label %8175

8175:                                             ; preds = %8174
  br label %8176

8176:                                             ; preds = %8175, %8112
  br label %8177

8177:                                             ; preds = %8176
  br label %8178

8178:                                             ; preds = %8177
  br label %8179

8179:                                             ; preds = %8178
  %8180 = load i32, ptr @test_count, align 4, !tbaa !5
  %8181 = add nsw i32 %8180, 1
  store i32 %8181, ptr @test_count, align 4, !tbaa !5
  %8182 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8183 = load i32, ptr %8182, align 4, !tbaa !5
  %8184 = icmp eq i32 %8183, 201326593
  br i1 %8184, label %8238, label %8185

8185:                                             ; preds = %8179
  br label %8186

8186:                                             ; preds = %8185
  br label %8187

8187:                                             ; preds = %8186
  call void @llvm.lifetime.start.p0(i64 4, ptr %235) #10
  %8188 = call ptr @__errno_location() #11
  %8189 = load i32, ptr %8188, align 4, !tbaa !5
  store i32 %8189, ptr %235, align 4, !tbaa !5
  %8190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8191 = call i32 @s2n_print_stacktrace(ptr noundef %8190)
  %8192 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8193 = trunc i8 %8192 to i1
  br i1 %8193, label %8194, label %8216

8194:                                             ; preds = %8187
  %8195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8196 = call i32 @fileno(ptr noundef %8195) #10
  %8197 = call i32 @isatty(i32 noundef %8196) #10
  %8198 = icmp ne i32 %8197, 0
  br i1 %8198, label %8199, label %8216

8199:                                             ; preds = %8194
  %8200 = load i32, ptr %235, align 4, !tbaa !5
  %8201 = call ptr @__errno_location() #11
  store i32 %8200, ptr %8201, align 4, !tbaa !5
  %8202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8203 = load i32, ptr @test_count, align 4, !tbaa !5
  %8204 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8205 = load i32, ptr %8204, align 4, !tbaa !5
  %8206 = call ptr @s2n_strerror(i32 noundef %8205, ptr noundef @.str.4)
  %8207 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8208 = load i32, ptr %8207, align 4, !tbaa !5
  %8209 = call ptr @s2n_strerror_debug(i32 noundef %8208, ptr noundef @.str.4)
  %8210 = call ptr @__errno_location() #11
  %8211 = load i32, ptr %8210, align 4, !tbaa !5
  %8212 = call ptr @strerror(i32 noundef %8211) #10
  %8213 = call ptr @__errno_location() #11
  %8214 = load i32, ptr %8213, align 4, !tbaa !5
  %8215 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8202, ptr noundef @.str.2, i32 noundef %8203, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 438, ptr noundef %8206, ptr noundef %8209, ptr noundef %8212, i32 noundef %8214) #10
  br label %8233

8216:                                             ; preds = %8194, %8187
  %8217 = load i32, ptr %235, align 4, !tbaa !5
  %8218 = call ptr @__errno_location() #11
  store i32 %8217, ptr %8218, align 4, !tbaa !5
  %8219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8220 = load i32, ptr @test_count, align 4, !tbaa !5
  %8221 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8222 = load i32, ptr %8221, align 4, !tbaa !5
  %8223 = call ptr @s2n_strerror(i32 noundef %8222, ptr noundef @.str.4)
  %8224 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8225 = load i32, ptr %8224, align 4, !tbaa !5
  %8226 = call ptr @s2n_strerror_debug(i32 noundef %8225, ptr noundef @.str.4)
  %8227 = call ptr @__errno_location() #11
  %8228 = load i32, ptr %8227, align 4, !tbaa !5
  %8229 = call ptr @strerror(i32 noundef %8228) #10
  %8230 = call ptr @__errno_location() #11
  %8231 = load i32, ptr %8230, align 4, !tbaa !5
  %8232 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8219, ptr noundef @.str.5, i32 noundef %8220, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 438, ptr noundef %8223, ptr noundef %8226, ptr noundef %8229, i32 noundef %8231) #10
  br label %8233

8233:                                             ; preds = %8216, %8199
  call void @llvm.lifetime.end.p0(i64 4, ptr %235) #10
  br label %8234

8234:                                             ; preds = %8233
  br label %8235

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

8236:                                             ; No predecessors!
  br label %8237

8237:                                             ; preds = %8236
  br label %8238

8238:                                             ; preds = %8237, %8179
  br label %8239

8239:                                             ; preds = %8238
  br label %8240

8240:                                             ; preds = %8239
  br label %8241

8241:                                             ; preds = %8240
  %8242 = load i32, ptr @test_count, align 4, !tbaa !5
  %8243 = add nsw i32 %8242, 1
  store i32 %8243, ptr @test_count, align 4, !tbaa !5
  %8244 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8245 = load i32, ptr %8244, align 4, !tbaa !5
  %8246 = call ptr @s2n_strerror_debug(i32 noundef %8245, ptr noundef @.str.4)
  %8247 = icmp eq ptr %8246, null
  br i1 %8247, label %8248, label %8301

8248:                                             ; preds = %8241
  br label %8249

8249:                                             ; preds = %8248
  br label %8250

8250:                                             ; preds = %8249
  call void @llvm.lifetime.start.p0(i64 4, ptr %236) #10
  %8251 = call ptr @__errno_location() #11
  %8252 = load i32, ptr %8251, align 4, !tbaa !5
  store i32 %8252, ptr %236, align 4, !tbaa !5
  %8253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8254 = call i32 @s2n_print_stacktrace(ptr noundef %8253)
  %8255 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8256 = trunc i8 %8255 to i1
  br i1 %8256, label %8257, label %8279

8257:                                             ; preds = %8250
  %8258 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8259 = call i32 @fileno(ptr noundef %8258) #10
  %8260 = call i32 @isatty(i32 noundef %8259) #10
  %8261 = icmp ne i32 %8260, 0
  br i1 %8261, label %8262, label %8279

8262:                                             ; preds = %8257
  %8263 = load i32, ptr %236, align 4, !tbaa !5
  %8264 = call ptr @__errno_location() #11
  store i32 %8263, ptr %8264, align 4, !tbaa !5
  %8265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8266 = load i32, ptr @test_count, align 4, !tbaa !5
  %8267 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8268 = load i32, ptr %8267, align 4, !tbaa !5
  %8269 = call ptr @s2n_strerror(i32 noundef %8268, ptr noundef @.str.4)
  %8270 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8271 = load i32, ptr %8270, align 4, !tbaa !5
  %8272 = call ptr @s2n_strerror_debug(i32 noundef %8271, ptr noundef @.str.4)
  %8273 = call ptr @__errno_location() #11
  %8274 = load i32, ptr %8273, align 4, !tbaa !5
  %8275 = call ptr @strerror(i32 noundef %8274) #10
  %8276 = call ptr @__errno_location() #11
  %8277 = load i32, ptr %8276, align 4, !tbaa !5
  %8278 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8265, ptr noundef @.str.2, i32 noundef %8266, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 438, ptr noundef %8269, ptr noundef %8272, ptr noundef %8275, i32 noundef %8277) #10
  br label %8296

8279:                                             ; preds = %8257, %8250
  %8280 = load i32, ptr %236, align 4, !tbaa !5
  %8281 = call ptr @__errno_location() #11
  store i32 %8280, ptr %8281, align 4, !tbaa !5
  %8282 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8283 = load i32, ptr @test_count, align 4, !tbaa !5
  %8284 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8285 = load i32, ptr %8284, align 4, !tbaa !5
  %8286 = call ptr @s2n_strerror(i32 noundef %8285, ptr noundef @.str.4)
  %8287 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8288 = load i32, ptr %8287, align 4, !tbaa !5
  %8289 = call ptr @s2n_strerror_debug(i32 noundef %8288, ptr noundef @.str.4)
  %8290 = call ptr @__errno_location() #11
  %8291 = load i32, ptr %8290, align 4, !tbaa !5
  %8292 = call ptr @strerror(i32 noundef %8291) #10
  %8293 = call ptr @__errno_location() #11
  %8294 = load i32, ptr %8293, align 4, !tbaa !5
  %8295 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8282, ptr noundef @.str.5, i32 noundef %8283, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 438, ptr noundef %8286, ptr noundef %8289, ptr noundef %8292, i32 noundef %8294) #10
  br label %8296

8296:                                             ; preds = %8279, %8262
  call void @llvm.lifetime.end.p0(i64 4, ptr %236) #10
  br label %8297

8297:                                             ; preds = %8296
  br label %8298

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

8299:                                             ; No predecessors!
  br label %8300

8300:                                             ; preds = %8299
  br label %8301

8301:                                             ; preds = %8300, %8241
  br label %8302

8302:                                             ; preds = %8301
  br label %8303

8303:                                             ; preds = %8302
  br label %8304

8304:                                             ; preds = %8303
  br label %8305

8305:                                             ; preds = %8304
  br label %8306

8306:                                             ; preds = %8305
  %8307 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %8307, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %8308 = call ptr @__errno_location() #11
  store i32 0, ptr %8308, align 4, !tbaa !5
  br label %8309

8309:                                             ; preds = %8306
  br label %8310

8310:                                             ; preds = %8309
  br label %8311

8311:                                             ; preds = %8310
  br label %8312

8312:                                             ; preds = %8311
  br label %8313

8313:                                             ; preds = %8312
  %8314 = load i32, ptr %232, align 4, !tbaa !5
  %8315 = add nsw i32 %8314, 1
  store i32 %8315, ptr %232, align 4, !tbaa !5
  br label %8105, !llvm.loop !32

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

8317:                                             ; preds = %8316
  %8318 = load i32, ptr @test_count, align 4, !tbaa !5
  %8319 = add nsw i32 %8318, 1
  store i32 %8319, ptr @test_count, align 4, !tbaa !5
  %8320 = getelementptr inbounds %struct.s2n_x509_validator, ptr %214, i32 0, i32 7
  %8321 = load ptr, ptr %8320, align 8, !tbaa !33
  %8322 = call i32 @s2n_array_get(ptr noundef %8321, i32 noundef 0, ptr noundef %237)
  %8323 = getelementptr inbounds %struct.s2n_result, ptr %238, i32 0, i32 0
  store i32 %8322, ptr %8323, align 4
  %8324 = getelementptr inbounds %struct.s2n_result, ptr %238, i32 0, i32 0
  %8325 = load i32, ptr %8324, align 4
  %8326 = call zeroext i1 @s2n_result_is_ok(i32 %8325)
  br i1 %8326, label %8380, label %8327

8327:                                             ; preds = %8317
  br label %8328

8328:                                             ; preds = %8327
  br label %8329

8329:                                             ; preds = %8328
  call void @llvm.lifetime.start.p0(i64 4, ptr %239) #10
  %8330 = call ptr @__errno_location() #11
  %8331 = load i32, ptr %8330, align 4, !tbaa !5
  store i32 %8331, ptr %239, align 4, !tbaa !5
  %8332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8333 = call i32 @s2n_print_stacktrace(ptr noundef %8332)
  %8334 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8335 = trunc i8 %8334 to i1
  br i1 %8335, label %8336, label %8358

8336:                                             ; preds = %8329
  %8337 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8338 = call i32 @fileno(ptr noundef %8337) #10
  %8339 = call i32 @isatty(i32 noundef %8338) #10
  %8340 = icmp ne i32 %8339, 0
  br i1 %8340, label %8341, label %8358

8341:                                             ; preds = %8336
  %8342 = load i32, ptr %239, align 4, !tbaa !5
  %8343 = call ptr @__errno_location() #11
  store i32 %8342, ptr %8343, align 4, !tbaa !5
  %8344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8345 = load i32, ptr @test_count, align 4, !tbaa !5
  %8346 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8347 = load i32, ptr %8346, align 4, !tbaa !5
  %8348 = call ptr @s2n_strerror(i32 noundef %8347, ptr noundef @.str.4)
  %8349 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8350 = load i32, ptr %8349, align 4, !tbaa !5
  %8351 = call ptr @s2n_strerror_debug(i32 noundef %8350, ptr noundef @.str.4)
  %8352 = call ptr @__errno_location() #11
  %8353 = load i32, ptr %8352, align 4, !tbaa !5
  %8354 = call ptr @strerror(i32 noundef %8353) #10
  %8355 = call ptr @__errno_location() #11
  %8356 = load i32, ptr %8355, align 4, !tbaa !5
  %8357 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8344, ptr noundef @.str.2, i32 noundef %8345, ptr noundef @.str.68, ptr noundef @.str.1, i32 noundef 443, ptr noundef %8348, ptr noundef %8351, ptr noundef %8354, i32 noundef %8356) #10
  br label %8375

8358:                                             ; preds = %8336, %8329
  %8359 = load i32, ptr %239, align 4, !tbaa !5
  %8360 = call ptr @__errno_location() #11
  store i32 %8359, ptr %8360, align 4, !tbaa !5
  %8361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8362 = load i32, ptr @test_count, align 4, !tbaa !5
  %8363 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8364 = load i32, ptr %8363, align 4, !tbaa !5
  %8365 = call ptr @s2n_strerror(i32 noundef %8364, ptr noundef @.str.4)
  %8366 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8367 = load i32, ptr %8366, align 4, !tbaa !5
  %8368 = call ptr @s2n_strerror_debug(i32 noundef %8367, ptr noundef @.str.4)
  %8369 = call ptr @__errno_location() #11
  %8370 = load i32, ptr %8369, align 4, !tbaa !5
  %8371 = call ptr @strerror(i32 noundef %8370) #10
  %8372 = call ptr @__errno_location() #11
  %8373 = load i32, ptr %8372, align 4, !tbaa !5
  %8374 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8361, ptr noundef @.str.5, i32 noundef %8362, ptr noundef @.str.68, ptr noundef @.str.1, i32 noundef 443, ptr noundef %8365, ptr noundef %8368, ptr noundef %8371, i32 noundef %8373) #10
  br label %8375

8375:                                             ; preds = %8358, %8341
  call void @llvm.lifetime.end.p0(i64 4, ptr %239) #10
  br label %8376

8376:                                             ; preds = %8375
  br label %8377

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

8378:                                             ; No predecessors!
  br label %8379

8379:                                             ; preds = %8378
  br label %8380

8380:                                             ; preds = %8379, %8317
  br label %8381

8381:                                             ; preds = %8380
  br label %8382

8382:                                             ; preds = %8381
  br label %8383

8383:                                             ; preds = %8382
  %8384 = load i32, ptr @test_count, align 4, !tbaa !5
  %8385 = add nsw i32 %8384, 1
  store i32 %8385, ptr @test_count, align 4, !tbaa !5
  %8386 = load ptr, ptr %237, align 8, !tbaa !9
  %8387 = icmp eq ptr %8386, null
  br i1 %8387, label %8388, label %8441

8388:                                             ; preds = %8383
  br label %8389

8389:                                             ; preds = %8388
  br label %8390

8390:                                             ; preds = %8389
  call void @llvm.lifetime.start.p0(i64 4, ptr %240) #10
  %8391 = call ptr @__errno_location() #11
  %8392 = load i32, ptr %8391, align 4, !tbaa !5
  store i32 %8392, ptr %240, align 4, !tbaa !5
  %8393 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8394 = call i32 @s2n_print_stacktrace(ptr noundef %8393)
  %8395 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8396 = trunc i8 %8395 to i1
  br i1 %8396, label %8397, label %8419

8397:                                             ; preds = %8390
  %8398 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8399 = call i32 @fileno(ptr noundef %8398) #10
  %8400 = call i32 @isatty(i32 noundef %8399) #10
  %8401 = icmp ne i32 %8400, 0
  br i1 %8401, label %8402, label %8419

8402:                                             ; preds = %8397
  %8403 = load i32, ptr %240, align 4, !tbaa !5
  %8404 = call ptr @__errno_location() #11
  store i32 %8403, ptr %8404, align 4, !tbaa !5
  %8405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8406 = load i32, ptr @test_count, align 4, !tbaa !5
  %8407 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8408 = load i32, ptr %8407, align 4, !tbaa !5
  %8409 = call ptr @s2n_strerror(i32 noundef %8408, ptr noundef @.str.4)
  %8410 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8411 = load i32, ptr %8410, align 4, !tbaa !5
  %8412 = call ptr @s2n_strerror_debug(i32 noundef %8411, ptr noundef @.str.4)
  %8413 = call ptr @__errno_location() #11
  %8414 = load i32, ptr %8413, align 4, !tbaa !5
  %8415 = call ptr @strerror(i32 noundef %8414) #10
  %8416 = call ptr @__errno_location() #11
  %8417 = load i32, ptr %8416, align 4, !tbaa !5
  %8418 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8405, ptr noundef @.str.2, i32 noundef %8406, ptr noundef @.str.69, ptr noundef @.str.1, i32 noundef 444, ptr noundef %8409, ptr noundef %8412, ptr noundef %8415, i32 noundef %8417) #10
  br label %8436

8419:                                             ; preds = %8397, %8390
  %8420 = load i32, ptr %240, align 4, !tbaa !5
  %8421 = call ptr @__errno_location() #11
  store i32 %8420, ptr %8421, align 4, !tbaa !5
  %8422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8423 = load i32, ptr @test_count, align 4, !tbaa !5
  %8424 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8425 = load i32, ptr %8424, align 4, !tbaa !5
  %8426 = call ptr @s2n_strerror(i32 noundef %8425, ptr noundef @.str.4)
  %8427 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8428 = load i32, ptr %8427, align 4, !tbaa !5
  %8429 = call ptr @s2n_strerror_debug(i32 noundef %8428, ptr noundef @.str.4)
  %8430 = call ptr @__errno_location() #11
  %8431 = load i32, ptr %8430, align 4, !tbaa !5
  %8432 = call ptr @strerror(i32 noundef %8431) #10
  %8433 = call ptr @__errno_location() #11
  %8434 = load i32, ptr %8433, align 4, !tbaa !5
  %8435 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8422, ptr noundef @.str.5, i32 noundef %8423, ptr noundef @.str.69, ptr noundef @.str.1, i32 noundef 444, ptr noundef %8426, ptr noundef %8429, ptr noundef %8432, i32 noundef %8434) #10
  br label %8436

8436:                                             ; preds = %8419, %8402
  call void @llvm.lifetime.end.p0(i64 4, ptr %240) #10
  br label %8437

8437:                                             ; preds = %8436
  br label %8438

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

8439:                                             ; No predecessors!
  br label %8440

8440:                                             ; preds = %8439
  br label %8441

8441:                                             ; preds = %8440, %8383
  br label %8442

8442:                                             ; preds = %8441
  br label %8443

8443:                                             ; preds = %8442
  br label %8444

8444:                                             ; preds = %8443
  %8445 = load i32, ptr @test_count, align 4, !tbaa !5
  %8446 = add nsw i32 %8445, 1
  store i32 %8446, ptr @test_count, align 4, !tbaa !5
  %8447 = load ptr, ptr %237, align 8, !tbaa !9
  %8448 = load ptr, ptr %43, align 8, !tbaa !9
  %8449 = call i32 @s2n_crl_lookup_set(ptr noundef %8447, ptr noundef %8448)
  %8450 = icmp eq i32 %8449, -1
  br i1 %8450, label %8451, label %8504

8451:                                             ; preds = %8444
  br label %8452

8452:                                             ; preds = %8451
  br label %8453

8453:                                             ; preds = %8452
  call void @llvm.lifetime.start.p0(i64 4, ptr %241) #10
  %8454 = call ptr @__errno_location() #11
  %8455 = load i32, ptr %8454, align 4, !tbaa !5
  store i32 %8455, ptr %241, align 4, !tbaa !5
  %8456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8457 = call i32 @s2n_print_stacktrace(ptr noundef %8456)
  %8458 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8459 = trunc i8 %8458 to i1
  br i1 %8459, label %8460, label %8482

8460:                                             ; preds = %8453
  %8461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8462 = call i32 @fileno(ptr noundef %8461) #10
  %8463 = call i32 @isatty(i32 noundef %8462) #10
  %8464 = icmp ne i32 %8463, 0
  br i1 %8464, label %8465, label %8482

8465:                                             ; preds = %8460
  %8466 = load i32, ptr %241, align 4, !tbaa !5
  %8467 = call ptr @__errno_location() #11
  store i32 %8466, ptr %8467, align 4, !tbaa !5
  %8468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8469 = load i32, ptr @test_count, align 4, !tbaa !5
  %8470 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8471 = load i32, ptr %8470, align 4, !tbaa !5
  %8472 = call ptr @s2n_strerror(i32 noundef %8471, ptr noundef @.str.4)
  %8473 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8474 = load i32, ptr %8473, align 4, !tbaa !5
  %8475 = call ptr @s2n_strerror_debug(i32 noundef %8474, ptr noundef @.str.4)
  %8476 = call ptr @__errno_location() #11
  %8477 = load i32, ptr %8476, align 4, !tbaa !5
  %8478 = call ptr @strerror(i32 noundef %8477) #10
  %8479 = call ptr @__errno_location() #11
  %8480 = load i32, ptr %8479, align 4, !tbaa !5
  %8481 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8468, ptr noundef @.str.2, i32 noundef %8469, ptr noundef @.str.70, ptr noundef @.str.1, i32 noundef 445, ptr noundef %8472, ptr noundef %8475, ptr noundef %8478, i32 noundef %8480) #10
  br label %8499

8482:                                             ; preds = %8460, %8453
  %8483 = load i32, ptr %241, align 4, !tbaa !5
  %8484 = call ptr @__errno_location() #11
  store i32 %8483, ptr %8484, align 4, !tbaa !5
  %8485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8486 = load i32, ptr @test_count, align 4, !tbaa !5
  %8487 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8488 = load i32, ptr %8487, align 4, !tbaa !5
  %8489 = call ptr @s2n_strerror(i32 noundef %8488, ptr noundef @.str.4)
  %8490 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8491 = load i32, ptr %8490, align 4, !tbaa !5
  %8492 = call ptr @s2n_strerror_debug(i32 noundef %8491, ptr noundef @.str.4)
  %8493 = call ptr @__errno_location() #11
  %8494 = load i32, ptr %8493, align 4, !tbaa !5
  %8495 = call ptr @strerror(i32 noundef %8494) #10
  %8496 = call ptr @__errno_location() #11
  %8497 = load i32, ptr %8496, align 4, !tbaa !5
  %8498 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8485, ptr noundef @.str.5, i32 noundef %8486, ptr noundef @.str.70, ptr noundef @.str.1, i32 noundef 445, ptr noundef %8489, ptr noundef %8492, ptr noundef %8495, i32 noundef %8497) #10
  br label %8499

8499:                                             ; preds = %8482, %8465
  call void @llvm.lifetime.end.p0(i64 4, ptr %241) #10
  br label %8500

8500:                                             ; preds = %8499
  br label %8501

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

8502:                                             ; No predecessors!
  br label %8503

8503:                                             ; preds = %8502
  br label %8504

8504:                                             ; preds = %8503, %8444
  br label %8505

8505:                                             ; preds = %8504
  br label %8506

8506:                                             ; preds = %8505
  call void @llvm.lifetime.start.p0(i64 4, ptr %242) #10
  store i32 0, ptr %242, align 4, !tbaa !5
  br label %8507

8507:                                             ; preds = %8715, %8506
  %8508 = load i32, ptr %242, align 4, !tbaa !5
  %8509 = icmp slt i32 %8508, 10
  br i1 %8509, label %8511, label %8510

8510:                                             ; preds = %8507
  store i32 789, ptr %26, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %242) #10
  br label %8718

8511:                                             ; preds = %8507
  br label %8512

8512:                                             ; preds = %8511
  br label %8513

8513:                                             ; preds = %8512
  br label %8514

8514:                                             ; preds = %8513
  %8515 = load i32, ptr @test_count, align 4, !tbaa !5
  %8516 = add nsw i32 %8515, 1
  store i32 %8516, ptr @test_count, align 4, !tbaa !5
  %8517 = load ptr, ptr %219, align 8, !tbaa !9
  %8518 = load ptr, ptr %227, align 8, !tbaa !9
  %8519 = load i32, ptr %226, align 4, !tbaa !5
  %8520 = call i32 @s2n_x509_validator_validate_cert_chain(ptr noundef %214, ptr noundef %8517, ptr noundef %8518, i32 noundef %8519, ptr noundef %231, ptr noundef %229)
  %8521 = getelementptr inbounds %struct.s2n_result, ptr %243, i32 0, i32 0
  store i32 %8520, ptr %8521, align 4
  %8522 = getelementptr inbounds %struct.s2n_result, ptr %243, i32 0, i32 0
  %8523 = load i32, ptr %8522, align 4
  %8524 = call zeroext i1 @s2n_result_is_error(i32 %8523)
  br i1 %8524, label %8578, label %8525

8525:                                             ; preds = %8514
  br label %8526

8526:                                             ; preds = %8525
  br label %8527

8527:                                             ; preds = %8526
  call void @llvm.lifetime.start.p0(i64 4, ptr %244) #10
  %8528 = call ptr @__errno_location() #11
  %8529 = load i32, ptr %8528, align 4, !tbaa !5
  store i32 %8529, ptr %244, align 4, !tbaa !5
  %8530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8531 = call i32 @s2n_print_stacktrace(ptr noundef %8530)
  %8532 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8533 = trunc i8 %8532 to i1
  br i1 %8533, label %8534, label %8556

8534:                                             ; preds = %8527
  %8535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8536 = call i32 @fileno(ptr noundef %8535) #10
  %8537 = call i32 @isatty(i32 noundef %8536) #10
  %8538 = icmp ne i32 %8537, 0
  br i1 %8538, label %8539, label %8556

8539:                                             ; preds = %8534
  %8540 = load i32, ptr %244, align 4, !tbaa !5
  %8541 = call ptr @__errno_location() #11
  store i32 %8540, ptr %8541, align 4, !tbaa !5
  %8542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8543 = load i32, ptr @test_count, align 4, !tbaa !5
  %8544 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8545 = load i32, ptr %8544, align 4, !tbaa !5
  %8546 = call ptr @s2n_strerror(i32 noundef %8545, ptr noundef @.str.4)
  %8547 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8548 = load i32, ptr %8547, align 4, !tbaa !5
  %8549 = call ptr @s2n_strerror_debug(i32 noundef %8548, ptr noundef @.str.4)
  %8550 = call ptr @__errno_location() #11
  %8551 = load i32, ptr %8550, align 4, !tbaa !5
  %8552 = call ptr @strerror(i32 noundef %8551) #10
  %8553 = call ptr @__errno_location() #11
  %8554 = load i32, ptr %8553, align 4, !tbaa !5
  %8555 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8542, ptr noundef @.str.2, i32 noundef %8543, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 449, ptr noundef %8546, ptr noundef %8549, ptr noundef %8552, i32 noundef %8554) #10
  br label %8573

8556:                                             ; preds = %8534, %8527
  %8557 = load i32, ptr %244, align 4, !tbaa !5
  %8558 = call ptr @__errno_location() #11
  store i32 %8557, ptr %8558, align 4, !tbaa !5
  %8559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8560 = load i32, ptr @test_count, align 4, !tbaa !5
  %8561 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8562 = load i32, ptr %8561, align 4, !tbaa !5
  %8563 = call ptr @s2n_strerror(i32 noundef %8562, ptr noundef @.str.4)
  %8564 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8565 = load i32, ptr %8564, align 4, !tbaa !5
  %8566 = call ptr @s2n_strerror_debug(i32 noundef %8565, ptr noundef @.str.4)
  %8567 = call ptr @__errno_location() #11
  %8568 = load i32, ptr %8567, align 4, !tbaa !5
  %8569 = call ptr @strerror(i32 noundef %8568) #10
  %8570 = call ptr @__errno_location() #11
  %8571 = load i32, ptr %8570, align 4, !tbaa !5
  %8572 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8559, ptr noundef @.str.5, i32 noundef %8560, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 449, ptr noundef %8563, ptr noundef %8566, ptr noundef %8569, i32 noundef %8571) #10
  br label %8573

8573:                                             ; preds = %8556, %8539
  call void @llvm.lifetime.end.p0(i64 4, ptr %244) #10
  br label %8574

8574:                                             ; preds = %8573
  br label %8575

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

8576:                                             ; No predecessors!
  br label %8577

8577:                                             ; preds = %8576
  br label %8578

8578:                                             ; preds = %8577, %8514
  br label %8579

8579:                                             ; preds = %8578
  br label %8580

8580:                                             ; preds = %8579
  br label %8581

8581:                                             ; preds = %8580
  %8582 = load i32, ptr @test_count, align 4, !tbaa !5
  %8583 = add nsw i32 %8582, 1
  store i32 %8583, ptr @test_count, align 4, !tbaa !5
  %8584 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8585 = load i32, ptr %8584, align 4, !tbaa !5
  %8586 = icmp eq i32 %8585, 201326593
  br i1 %8586, label %8640, label %8587

8587:                                             ; preds = %8581
  br label %8588

8588:                                             ; preds = %8587
  br label %8589

8589:                                             ; preds = %8588
  call void @llvm.lifetime.start.p0(i64 4, ptr %245) #10
  %8590 = call ptr @__errno_location() #11
  %8591 = load i32, ptr %8590, align 4, !tbaa !5
  store i32 %8591, ptr %245, align 4, !tbaa !5
  %8592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8593 = call i32 @s2n_print_stacktrace(ptr noundef %8592)
  %8594 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8595 = trunc i8 %8594 to i1
  br i1 %8595, label %8596, label %8618

8596:                                             ; preds = %8589
  %8597 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8598 = call i32 @fileno(ptr noundef %8597) #10
  %8599 = call i32 @isatty(i32 noundef %8598) #10
  %8600 = icmp ne i32 %8599, 0
  br i1 %8600, label %8601, label %8618

8601:                                             ; preds = %8596
  %8602 = load i32, ptr %245, align 4, !tbaa !5
  %8603 = call ptr @__errno_location() #11
  store i32 %8602, ptr %8603, align 4, !tbaa !5
  %8604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8605 = load i32, ptr @test_count, align 4, !tbaa !5
  %8606 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8607 = load i32, ptr %8606, align 4, !tbaa !5
  %8608 = call ptr @s2n_strerror(i32 noundef %8607, ptr noundef @.str.4)
  %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_debug(i32 noundef %8610, ptr noundef @.str.4)
  %8612 = call ptr @__errno_location() #11
  %8613 = load i32, ptr %8612, align 4, !tbaa !5
  %8614 = call ptr @strerror(i32 noundef %8613) #10
  %8615 = call ptr @__errno_location() #11
  %8616 = load i32, ptr %8615, align 4, !tbaa !5
  %8617 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8604, ptr noundef @.str.2, i32 noundef %8605, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 449, ptr noundef %8608, ptr noundef %8611, ptr noundef %8614, i32 noundef %8616) #10
  br label %8635

8618:                                             ; preds = %8596, %8589
  %8619 = load i32, ptr %245, align 4, !tbaa !5
  %8620 = call ptr @__errno_location() #11
  store i32 %8619, ptr %8620, align 4, !tbaa !5
  %8621 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8622 = load i32, ptr @test_count, align 4, !tbaa !5
  %8623 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8624 = load i32, ptr %8623, align 4, !tbaa !5
  %8625 = call ptr @s2n_strerror(i32 noundef %8624, ptr noundef @.str.4)
  %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_debug(i32 noundef %8627, ptr noundef @.str.4)
  %8629 = call ptr @__errno_location() #11
  %8630 = load i32, ptr %8629, align 4, !tbaa !5
  %8631 = call ptr @strerror(i32 noundef %8630) #10
  %8632 = call ptr @__errno_location() #11
  %8633 = load i32, ptr %8632, align 4, !tbaa !5
  %8634 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8621, ptr noundef @.str.5, i32 noundef %8622, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 449, ptr noundef %8625, ptr noundef %8628, ptr noundef %8631, i32 noundef %8633) #10
  br label %8635

8635:                                             ; preds = %8618, %8601
  call void @llvm.lifetime.end.p0(i64 4, ptr %245) #10
  br label %8636

8636:                                             ; preds = %8635
  br label %8637

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

8638:                                             ; No predecessors!
  br label %8639

8639:                                             ; preds = %8638
  br label %8640

8640:                                             ; preds = %8639, %8581
  br label %8641

8641:                                             ; preds = %8640
  br label %8642

8642:                                             ; preds = %8641
  br label %8643

8643:                                             ; preds = %8642
  %8644 = load i32, ptr @test_count, align 4, !tbaa !5
  %8645 = add nsw i32 %8644, 1
  store i32 %8645, ptr @test_count, align 4, !tbaa !5
  %8646 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8647 = load i32, ptr %8646, align 4, !tbaa !5
  %8648 = call ptr @s2n_strerror_debug(i32 noundef %8647, ptr noundef @.str.4)
  %8649 = icmp eq ptr %8648, null
  br i1 %8649, label %8650, label %8703

8650:                                             ; preds = %8643
  br label %8651

8651:                                             ; preds = %8650
  br label %8652

8652:                                             ; preds = %8651
  call void @llvm.lifetime.start.p0(i64 4, ptr %246) #10
  %8653 = call ptr @__errno_location() #11
  %8654 = load i32, ptr %8653, align 4, !tbaa !5
  store i32 %8654, ptr %246, align 4, !tbaa !5
  %8655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8656 = call i32 @s2n_print_stacktrace(ptr noundef %8655)
  %8657 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8658 = trunc i8 %8657 to i1
  br i1 %8658, label %8659, label %8681

8659:                                             ; preds = %8652
  %8660 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8661 = call i32 @fileno(ptr noundef %8660) #10
  %8662 = call i32 @isatty(i32 noundef %8661) #10
  %8663 = icmp ne i32 %8662, 0
  br i1 %8663, label %8664, label %8681

8664:                                             ; preds = %8659
  %8665 = load i32, ptr %246, align 4, !tbaa !5
  %8666 = call ptr @__errno_location() #11
  store i32 %8665, ptr %8666, align 4, !tbaa !5
  %8667 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8668 = load i32, ptr @test_count, align 4, !tbaa !5
  %8669 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8670 = load i32, ptr %8669, align 4, !tbaa !5
  %8671 = call ptr @s2n_strerror(i32 noundef %8670, ptr noundef @.str.4)
  %8672 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8673 = load i32, ptr %8672, align 4, !tbaa !5
  %8674 = call ptr @s2n_strerror_debug(i32 noundef %8673, ptr noundef @.str.4)
  %8675 = call ptr @__errno_location() #11
  %8676 = load i32, ptr %8675, align 4, !tbaa !5
  %8677 = call ptr @strerror(i32 noundef %8676) #10
  %8678 = call ptr @__errno_location() #11
  %8679 = load i32, ptr %8678, align 4, !tbaa !5
  %8680 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8667, ptr noundef @.str.2, i32 noundef %8668, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 449, ptr noundef %8671, ptr noundef %8674, ptr noundef %8677, i32 noundef %8679) #10
  br label %8698

8681:                                             ; preds = %8659, %8652
  %8682 = load i32, ptr %246, align 4, !tbaa !5
  %8683 = call ptr @__errno_location() #11
  store i32 %8682, ptr %8683, align 4, !tbaa !5
  %8684 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8685 = load i32, ptr @test_count, align 4, !tbaa !5
  %8686 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8687 = load i32, ptr %8686, align 4, !tbaa !5
  %8688 = call ptr @s2n_strerror(i32 noundef %8687, ptr noundef @.str.4)
  %8689 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8690 = load i32, ptr %8689, align 4, !tbaa !5
  %8691 = call ptr @s2n_strerror_debug(i32 noundef %8690, ptr noundef @.str.4)
  %8692 = call ptr @__errno_location() #11
  %8693 = load i32, ptr %8692, align 4, !tbaa !5
  %8694 = call ptr @strerror(i32 noundef %8693) #10
  %8695 = call ptr @__errno_location() #11
  %8696 = load i32, ptr %8695, align 4, !tbaa !5
  %8697 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8684, ptr noundef @.str.5, i32 noundef %8685, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 449, ptr noundef %8688, ptr noundef %8691, ptr noundef %8694, i32 noundef %8696) #10
  br label %8698

8698:                                             ; preds = %8681, %8664
  call void @llvm.lifetime.end.p0(i64 4, ptr %246) #10
  br label %8699

8699:                                             ; preds = %8698
  br label %8700

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

8701:                                             ; No predecessors!
  br label %8702

8702:                                             ; preds = %8701
  br label %8703

8703:                                             ; preds = %8702, %8643
  br label %8704

8704:                                             ; preds = %8703
  br label %8705

8705:                                             ; preds = %8704
  br label %8706

8706:                                             ; preds = %8705
  br label %8707

8707:                                             ; preds = %8706
  br label %8708

8708:                                             ; preds = %8707
  %8709 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %8709, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %8710 = call ptr @__errno_location() #11
  store i32 0, ptr %8710, align 4, !tbaa !5
  br label %8711

8711:                                             ; preds = %8708
  br label %8712

8712:                                             ; preds = %8711
  br label %8713

8713:                                             ; preds = %8712
  br label %8714

8714:                                             ; preds = %8713
  br label %8715

8715:                                             ; preds = %8714
  %8716 = load i32, ptr %242, align 4, !tbaa !5
  %8717 = add nsw i32 %8716, 1
  store i32 %8717, ptr %242, align 4, !tbaa !5
  br label %8507, !llvm.loop !37

8718:                                             ; preds = %8510
  store ptr null, ptr %237, align 8, !tbaa !9
  br label %8719

8719:                                             ; preds = %8718
  %8720 = load i32, ptr @test_count, align 4, !tbaa !5
  %8721 = add nsw i32 %8720, 1
  store i32 %8721, ptr @test_count, align 4, !tbaa !5
  %8722 = getelementptr inbounds %struct.s2n_x509_validator, ptr %214, i32 0, i32 7
  %8723 = load ptr, ptr %8722, align 8, !tbaa !33
  %8724 = call i32 @s2n_array_get(ptr noundef %8723, i32 noundef 1, ptr noundef %237)
  %8725 = getelementptr inbounds %struct.s2n_result, ptr %247, i32 0, i32 0
  store i32 %8724, ptr %8725, align 4
  %8726 = getelementptr inbounds %struct.s2n_result, ptr %247, i32 0, i32 0
  %8727 = load i32, ptr %8726, align 4
  %8728 = call zeroext i1 @s2n_result_is_ok(i32 %8727)
  br i1 %8728, label %8782, label %8729

8729:                                             ; preds = %8719
  br label %8730

8730:                                             ; preds = %8729
  br label %8731

8731:                                             ; preds = %8730
  call void @llvm.lifetime.start.p0(i64 4, ptr %248) #10
  %8732 = call ptr @__errno_location() #11
  %8733 = load i32, ptr %8732, align 4, !tbaa !5
  store i32 %8733, ptr %248, align 4, !tbaa !5
  %8734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8735 = call i32 @s2n_print_stacktrace(ptr noundef %8734)
  %8736 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8737 = trunc i8 %8736 to i1
  br i1 %8737, label %8738, label %8760

8738:                                             ; preds = %8731
  %8739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8740 = call i32 @fileno(ptr noundef %8739) #10
  %8741 = call i32 @isatty(i32 noundef %8740) #10
  %8742 = icmp ne i32 %8741, 0
  br i1 %8742, label %8743, label %8760

8743:                                             ; preds = %8738
  %8744 = load i32, ptr %248, align 4, !tbaa !5
  %8745 = call ptr @__errno_location() #11
  store i32 %8744, ptr %8745, align 4, !tbaa !5
  %8746 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8747 = load i32, ptr @test_count, align 4, !tbaa !5
  %8748 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8749 = load i32, ptr %8748, align 4, !tbaa !5
  %8750 = call ptr @s2n_strerror(i32 noundef %8749, ptr noundef @.str.4)
  %8751 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8752 = load i32, ptr %8751, align 4, !tbaa !5
  %8753 = call ptr @s2n_strerror_debug(i32 noundef %8752, ptr noundef @.str.4)
  %8754 = call ptr @__errno_location() #11
  %8755 = load i32, ptr %8754, align 4, !tbaa !5
  %8756 = call ptr @strerror(i32 noundef %8755) #10
  %8757 = call ptr @__errno_location() #11
  %8758 = load i32, ptr %8757, align 4, !tbaa !5
  %8759 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8746, ptr noundef @.str.2, i32 noundef %8747, ptr noundef @.str.71, ptr noundef @.str.1, i32 noundef 454, ptr noundef %8750, ptr noundef %8753, ptr noundef %8756, i32 noundef %8758) #10
  br label %8777

8760:                                             ; preds = %8738, %8731
  %8761 = load i32, ptr %248, align 4, !tbaa !5
  %8762 = call ptr @__errno_location() #11
  store i32 %8761, ptr %8762, align 4, !tbaa !5
  %8763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8764 = load i32, ptr @test_count, align 4, !tbaa !5
  %8765 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8766 = load i32, ptr %8765, align 4, !tbaa !5
  %8767 = call ptr @s2n_strerror(i32 noundef %8766, ptr noundef @.str.4)
  %8768 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8769 = load i32, ptr %8768, align 4, !tbaa !5
  %8770 = call ptr @s2n_strerror_debug(i32 noundef %8769, ptr noundef @.str.4)
  %8771 = call ptr @__errno_location() #11
  %8772 = load i32, ptr %8771, align 4, !tbaa !5
  %8773 = call ptr @strerror(i32 noundef %8772) #10
  %8774 = call ptr @__errno_location() #11
  %8775 = load i32, ptr %8774, align 4, !tbaa !5
  %8776 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8763, ptr noundef @.str.5, i32 noundef %8764, ptr noundef @.str.71, ptr noundef @.str.1, i32 noundef 454, ptr noundef %8767, ptr noundef %8770, ptr noundef %8773, i32 noundef %8775) #10
  br label %8777

8777:                                             ; preds = %8760, %8743
  call void @llvm.lifetime.end.p0(i64 4, ptr %248) #10
  br label %8778

8778:                                             ; preds = %8777
  br label %8779

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

8780:                                             ; No predecessors!
  br label %8781

8781:                                             ; preds = %8780
  br label %8782

8782:                                             ; preds = %8781, %8719
  br label %8783

8783:                                             ; preds = %8782
  br label %8784

8784:                                             ; preds = %8783
  br label %8785

8785:                                             ; preds = %8784
  %8786 = load i32, ptr @test_count, align 4, !tbaa !5
  %8787 = add nsw i32 %8786, 1
  store i32 %8787, ptr @test_count, align 4, !tbaa !5
  %8788 = load ptr, ptr %237, align 8, !tbaa !9
  %8789 = icmp eq ptr %8788, null
  br i1 %8789, label %8790, label %8843

8790:                                             ; preds = %8785
  br label %8791

8791:                                             ; preds = %8790
  br label %8792

8792:                                             ; preds = %8791
  call void @llvm.lifetime.start.p0(i64 4, ptr %249) #10
  %8793 = call ptr @__errno_location() #11
  %8794 = load i32, ptr %8793, align 4, !tbaa !5
  store i32 %8794, ptr %249, align 4, !tbaa !5
  %8795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8796 = call i32 @s2n_print_stacktrace(ptr noundef %8795)
  %8797 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8798 = trunc i8 %8797 to i1
  br i1 %8798, label %8799, label %8821

8799:                                             ; preds = %8792
  %8800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8801 = call i32 @fileno(ptr noundef %8800) #10
  %8802 = call i32 @isatty(i32 noundef %8801) #10
  %8803 = icmp ne i32 %8802, 0
  br i1 %8803, label %8804, label %8821

8804:                                             ; preds = %8799
  %8805 = load i32, ptr %249, align 4, !tbaa !5
  %8806 = call ptr @__errno_location() #11
  store i32 %8805, ptr %8806, align 4, !tbaa !5
  %8807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8808 = load i32, ptr @test_count, align 4, !tbaa !5
  %8809 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8810 = load i32, ptr %8809, align 4, !tbaa !5
  %8811 = call ptr @s2n_strerror(i32 noundef %8810, ptr noundef @.str.4)
  %8812 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8813 = load i32, ptr %8812, align 4, !tbaa !5
  %8814 = call ptr @s2n_strerror_debug(i32 noundef %8813, ptr noundef @.str.4)
  %8815 = call ptr @__errno_location() #11
  %8816 = load i32, ptr %8815, align 4, !tbaa !5
  %8817 = call ptr @strerror(i32 noundef %8816) #10
  %8818 = call ptr @__errno_location() #11
  %8819 = load i32, ptr %8818, align 4, !tbaa !5
  %8820 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8807, ptr noundef @.str.2, i32 noundef %8808, ptr noundef @.str.69, ptr noundef @.str.1, i32 noundef 455, ptr noundef %8811, ptr noundef %8814, ptr noundef %8817, i32 noundef %8819) #10
  br label %8838

8821:                                             ; preds = %8799, %8792
  %8822 = load i32, ptr %249, align 4, !tbaa !5
  %8823 = call ptr @__errno_location() #11
  store i32 %8822, ptr %8823, align 4, !tbaa !5
  %8824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8825 = load i32, ptr @test_count, align 4, !tbaa !5
  %8826 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8827 = load i32, ptr %8826, align 4, !tbaa !5
  %8828 = call ptr @s2n_strerror(i32 noundef %8827, ptr noundef @.str.4)
  %8829 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8830 = load i32, ptr %8829, align 4, !tbaa !5
  %8831 = call ptr @s2n_strerror_debug(i32 noundef %8830, ptr noundef @.str.4)
  %8832 = call ptr @__errno_location() #11
  %8833 = load i32, ptr %8832, align 4, !tbaa !5
  %8834 = call ptr @strerror(i32 noundef %8833) #10
  %8835 = call ptr @__errno_location() #11
  %8836 = load i32, ptr %8835, align 4, !tbaa !5
  %8837 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8824, ptr noundef @.str.5, i32 noundef %8825, ptr noundef @.str.69, ptr noundef @.str.1, i32 noundef 455, ptr noundef %8828, ptr noundef %8831, ptr noundef %8834, i32 noundef %8836) #10
  br label %8838

8838:                                             ; preds = %8821, %8804
  call void @llvm.lifetime.end.p0(i64 4, ptr %249) #10
  br label %8839

8839:                                             ; preds = %8838
  br label %8840

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

8841:                                             ; No predecessors!
  br label %8842

8842:                                             ; preds = %8841
  br label %8843

8843:                                             ; preds = %8842, %8785
  br label %8844

8844:                                             ; preds = %8843
  br label %8845

8845:                                             ; preds = %8844
  br label %8846

8846:                                             ; preds = %8845
  %8847 = load i32, ptr @test_count, align 4, !tbaa !5
  %8848 = add nsw i32 %8847, 1
  store i32 %8848, ptr @test_count, align 4, !tbaa !5
  %8849 = load ptr, ptr %237, align 8, !tbaa !9
  %8850 = load ptr, ptr %45, align 8, !tbaa !9
  %8851 = call i32 @s2n_crl_lookup_set(ptr noundef %8849, ptr noundef %8850)
  %8852 = icmp eq i32 %8851, -1
  br i1 %8852, label %8853, label %8906

8853:                                             ; preds = %8846
  br label %8854

8854:                                             ; preds = %8853
  br label %8855

8855:                                             ; preds = %8854
  call void @llvm.lifetime.start.p0(i64 4, ptr %250) #10
  %8856 = call ptr @__errno_location() #11
  %8857 = load i32, ptr %8856, align 4, !tbaa !5
  store i32 %8857, ptr %250, align 4, !tbaa !5
  %8858 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8859 = call i32 @s2n_print_stacktrace(ptr noundef %8858)
  %8860 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8861 = trunc i8 %8860 to i1
  br i1 %8861, label %8862, label %8884

8862:                                             ; preds = %8855
  %8863 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8864 = call i32 @fileno(ptr noundef %8863) #10
  %8865 = call i32 @isatty(i32 noundef %8864) #10
  %8866 = icmp ne i32 %8865, 0
  br i1 %8866, label %8867, label %8884

8867:                                             ; preds = %8862
  %8868 = load i32, ptr %250, align 4, !tbaa !5
  %8869 = call ptr @__errno_location() #11
  store i32 %8868, ptr %8869, align 4, !tbaa !5
  %8870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8871 = load i32, ptr @test_count, align 4, !tbaa !5
  %8872 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8873 = load i32, ptr %8872, align 4, !tbaa !5
  %8874 = call ptr @s2n_strerror(i32 noundef %8873, ptr noundef @.str.4)
  %8875 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8876 = load i32, ptr %8875, align 4, !tbaa !5
  %8877 = call ptr @s2n_strerror_debug(i32 noundef %8876, ptr noundef @.str.4)
  %8878 = call ptr @__errno_location() #11
  %8879 = load i32, ptr %8878, align 4, !tbaa !5
  %8880 = call ptr @strerror(i32 noundef %8879) #10
  %8881 = call ptr @__errno_location() #11
  %8882 = load i32, ptr %8881, align 4, !tbaa !5
  %8883 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8870, ptr noundef @.str.2, i32 noundef %8871, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 456, ptr noundef %8874, ptr noundef %8877, ptr noundef %8880, i32 noundef %8882) #10
  br label %8901

8884:                                             ; preds = %8862, %8855
  %8885 = load i32, ptr %250, align 4, !tbaa !5
  %8886 = call ptr @__errno_location() #11
  store i32 %8885, ptr %8886, align 4, !tbaa !5
  %8887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8888 = load i32, ptr @test_count, align 4, !tbaa !5
  %8889 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8890 = load i32, ptr %8889, align 4, !tbaa !5
  %8891 = call ptr @s2n_strerror(i32 noundef %8890, ptr noundef @.str.4)
  %8892 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8893 = load i32, ptr %8892, align 4, !tbaa !5
  %8894 = call ptr @s2n_strerror_debug(i32 noundef %8893, ptr noundef @.str.4)
  %8895 = call ptr @__errno_location() #11
  %8896 = load i32, ptr %8895, align 4, !tbaa !5
  %8897 = call ptr @strerror(i32 noundef %8896) #10
  %8898 = call ptr @__errno_location() #11
  %8899 = load i32, ptr %8898, align 4, !tbaa !5
  %8900 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8887, ptr noundef @.str.5, i32 noundef %8888, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 456, ptr noundef %8891, ptr noundef %8894, ptr noundef %8897, i32 noundef %8899) #10
  br label %8901

8901:                                             ; preds = %8884, %8867
  call void @llvm.lifetime.end.p0(i64 4, ptr %250) #10
  br label %8902

8902:                                             ; preds = %8901
  br label %8903

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

8904:                                             ; No predecessors!
  br label %8905

8905:                                             ; preds = %8904
  br label %8906

8906:                                             ; preds = %8905, %8846
  br label %8907

8907:                                             ; preds = %8906
  br label %8908

8908:                                             ; preds = %8907
  br label %8909

8909:                                             ; preds = %8908
  %8910 = load i32, ptr @test_count, align 4, !tbaa !5
  %8911 = add nsw i32 %8910, 1
  store i32 %8911, ptr @test_count, align 4, !tbaa !5
  %8912 = load ptr, ptr %219, align 8, !tbaa !9
  %8913 = load ptr, ptr %227, align 8, !tbaa !9
  %8914 = load i32, ptr %226, align 4, !tbaa !5
  %8915 = call i32 @s2n_x509_validator_validate_cert_chain(ptr noundef %214, ptr noundef %8912, ptr noundef %8913, i32 noundef %8914, ptr noundef %231, ptr noundef %229)
  %8916 = getelementptr inbounds %struct.s2n_result, ptr %251, i32 0, i32 0
  store i32 %8915, ptr %8916, align 4
  %8917 = getelementptr inbounds %struct.s2n_result, ptr %251, i32 0, i32 0
  %8918 = load i32, ptr %8917, align 4
  %8919 = call zeroext i1 @s2n_result_is_ok(i32 %8918)
  br i1 %8919, label %8973, label %8920

8920:                                             ; preds = %8909
  br label %8921

8921:                                             ; preds = %8920
  br label %8922

8922:                                             ; preds = %8921
  call void @llvm.lifetime.start.p0(i64 4, ptr %252) #10
  %8923 = call ptr @__errno_location() #11
  %8924 = load i32, ptr %8923, align 4, !tbaa !5
  store i32 %8924, ptr %252, align 4, !tbaa !5
  %8925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8926 = call i32 @s2n_print_stacktrace(ptr noundef %8925)
  %8927 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8928 = trunc i8 %8927 to i1
  br i1 %8928, label %8929, label %8951

8929:                                             ; preds = %8922
  %8930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8931 = call i32 @fileno(ptr noundef %8930) #10
  %8932 = call i32 @isatty(i32 noundef %8931) #10
  %8933 = icmp ne i32 %8932, 0
  br i1 %8933, label %8934, label %8951

8934:                                             ; preds = %8929
  %8935 = load i32, ptr %252, align 4, !tbaa !5
  %8936 = call ptr @__errno_location() #11
  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() #11
  %8946 = load i32, ptr %8945, align 4, !tbaa !5
  %8947 = call ptr @strerror(i32 noundef %8946) #10
  %8948 = call ptr @__errno_location() #11
  %8949 = load i32, ptr %8948, align 4, !tbaa !5
  %8950 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8937, ptr noundef @.str.2, i32 noundef %8938, ptr noundef @.str.64, ptr noundef @.str.1, i32 noundef 458, ptr noundef %8941, ptr noundef %8944, ptr noundef %8947, i32 noundef %8949) #10
  br label %8968

8951:                                             ; preds = %8929, %8922
  %8952 = load i32, ptr %252, align 4, !tbaa !5
  %8953 = call ptr @__errno_location() #11
  store i32 %8952, ptr %8953, align 4, !tbaa !5
  %8954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8955 = load i32, ptr @test_count, align 4, !tbaa !5
  %8956 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8957 = load i32, ptr %8956, align 4, !tbaa !5
  %8958 = call ptr @s2n_strerror(i32 noundef %8957, ptr noundef @.str.4)
  %8959 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8960 = load i32, ptr %8959, align 4, !tbaa !5
  %8961 = call ptr @s2n_strerror_debug(i32 noundef %8960, ptr noundef @.str.4)
  %8962 = call ptr @__errno_location() #11
  %8963 = load i32, ptr %8962, align 4, !tbaa !5
  %8964 = call ptr @strerror(i32 noundef %8963) #10
  %8965 = call ptr @__errno_location() #11
  %8966 = load i32, ptr %8965, align 4, !tbaa !5
  %8967 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8954, ptr noundef @.str.5, i32 noundef %8955, ptr noundef @.str.64, ptr noundef @.str.1, i32 noundef 458, ptr noundef %8958, ptr noundef %8961, ptr noundef %8964, i32 noundef %8966) #10
  br label %8968

8968:                                             ; preds = %8951, %8934
  call void @llvm.lifetime.end.p0(i64 4, ptr %252) #10
  br label %8969

8969:                                             ; preds = %8968
  br label %8970

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

8971:                                             ; No predecessors!
  br label %8972

8972:                                             ; preds = %8971
  br label %8973

8973:                                             ; preds = %8972, %8909
  br label %8974

8974:                                             ; preds = %8973
  br label %8975

8975:                                             ; preds = %8974
  call void @llvm.lifetime.end.p0(i64 8, ptr %237) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %231) #10
  %8976 = call i32 @s2n_pkey_free(ptr noundef %229)
  call void @llvm.lifetime.end.p0(i64 48, ptr %229) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %227) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %226) #10
  %8977 = call i32 @s2n_stuffer_free(ptr noundef %223)
  call void @llvm.lifetime.end.p0(i64 40, ptr %223) #10
  %8978 = call i32 @s2n_connection_ptr_free(ptr noundef %219)
  %8979 = getelementptr inbounds %struct.s2n_result, ptr %253, i32 0, i32 0
  store i32 %8978, ptr %8979, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %219) #10
  %8980 = call i32 @s2n_config_ptr_free(ptr noundef %216)
  %8981 = getelementptr inbounds %struct.s2n_result, ptr %254, i32 0, i32 0
  store i32 %8980, ptr %8981, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %216) #10
  %8982 = call i32 @s2n_x509_validator_wipe(ptr noundef %214)
  call void @llvm.lifetime.end.p0(i64 56, ptr %214) #10
  call void @llvm.lifetime.end.p0(i64 12000, ptr %211) #10
  call void @s2n_x509_trust_store_wipe(ptr noundef %210)
  call void @llvm.lifetime.end.p0(i64 16, ptr %210) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %255) #10
  call void @llvm.memset.p0.i64(ptr align 8 %255, i8 0, i64 16, i1 false)
  call void @s2n_x509_trust_store_init_empty(ptr noundef %255)
  call void @llvm.lifetime.start.p0(i64 12000, ptr %256) #10
  br label %8983

8983:                                             ; preds = %8975
  %8984 = load i32, ptr @test_count, align 4, !tbaa !5
  %8985 = add nsw i32 %8984, 1
  store i32 %8985, ptr @test_count, align 4, !tbaa !5
  %8986 = getelementptr inbounds [12000 x i8], ptr %256, i64 0, i64 0
  %8987 = call i32 @s2n_read_test_pem(ptr noundef @.str.31, ptr noundef %8986, i64 noundef 12000)
  %8988 = icmp eq i32 %8987, -1
  br i1 %8988, label %8989, label %9042

8989:                                             ; preds = %8983
  br label %8990

8990:                                             ; preds = %8989
  br label %8991

8991:                                             ; preds = %8990
  call void @llvm.lifetime.start.p0(i64 4, ptr %257) #10
  %8992 = call ptr @__errno_location() #11
  %8993 = load i32, ptr %8992, align 4, !tbaa !5
  store i32 %8993, ptr %257, align 4, !tbaa !5
  %8994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8995 = call i32 @s2n_print_stacktrace(ptr noundef %8994)
  %8996 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8997 = trunc i8 %8996 to i1
  br i1 %8997, label %8998, label %9020

8998:                                             ; preds = %8991
  %8999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9000 = call i32 @fileno(ptr noundef %8999) #10
  %9001 = call i32 @isatty(i32 noundef %9000) #10
  %9002 = icmp ne i32 %9001, 0
  br i1 %9002, label %9003, label %9020

9003:                                             ; preds = %8998
  %9004 = load i32, ptr %257, align 4, !tbaa !5
  %9005 = call ptr @__errno_location() #11
  store i32 %9004, ptr %9005, align 4, !tbaa !5
  %9006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9007 = load i32, ptr @test_count, align 4, !tbaa !5
  %9008 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9009 = load i32, ptr %9008, align 4, !tbaa !5
  %9010 = call ptr @s2n_strerror(i32 noundef %9009, ptr noundef @.str.4)
  %9011 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9012 = load i32, ptr %9011, align 4, !tbaa !5
  %9013 = call ptr @s2n_strerror_debug(i32 noundef %9012, ptr noundef @.str.4)
  %9014 = call ptr @__errno_location() #11
  %9015 = load i32, ptr %9014, align 4, !tbaa !5
  %9016 = call ptr @strerror(i32 noundef %9015) #10
  %9017 = call ptr @__errno_location() #11
  %9018 = load i32, ptr %9017, align 4, !tbaa !5
  %9019 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9006, ptr noundef @.str.2, i32 noundef %9007, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 467, ptr noundef %9010, ptr noundef %9013, ptr noundef %9016, i32 noundef %9018) #10
  br label %9037

9020:                                             ; preds = %8998, %8991
  %9021 = load i32, ptr %257, align 4, !tbaa !5
  %9022 = call ptr @__errno_location() #11
  store i32 %9021, ptr %9022, align 4, !tbaa !5
  %9023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9024 = load i32, ptr @test_count, align 4, !tbaa !5
  %9025 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9026 = load i32, ptr %9025, align 4, !tbaa !5
  %9027 = call ptr @s2n_strerror(i32 noundef %9026, ptr noundef @.str.4)
  %9028 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9029 = load i32, ptr %9028, align 4, !tbaa !5
  %9030 = call ptr @s2n_strerror_debug(i32 noundef %9029, ptr noundef @.str.4)
  %9031 = call ptr @__errno_location() #11
  %9032 = load i32, ptr %9031, align 4, !tbaa !5
  %9033 = call ptr @strerror(i32 noundef %9032) #10
  %9034 = call ptr @__errno_location() #11
  %9035 = load i32, ptr %9034, align 4, !tbaa !5
  %9036 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9023, ptr noundef @.str.5, i32 noundef %9024, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 467, ptr noundef %9027, ptr noundef %9030, ptr noundef %9033, i32 noundef %9035) #10
  br label %9037

9037:                                             ; preds = %9020, %9003
  call void @llvm.lifetime.end.p0(i64 4, ptr %257) #10
  br label %9038

9038:                                             ; preds = %9037
  br label %9039

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

9040:                                             ; No predecessors!
  br label %9041

9041:                                             ; preds = %9040
  br label %9042

9042:                                             ; preds = %9041, %8983
  br label %9043

9043:                                             ; preds = %9042
  br label %9044

9044:                                             ; preds = %9043
  br label %9045

9045:                                             ; preds = %9044
  %9046 = load i32, ptr @test_count, align 4, !tbaa !5
  %9047 = add nsw i32 %9046, 1
  store i32 %9047, ptr @test_count, align 4, !tbaa !5
  %9048 = getelementptr inbounds [12000 x i8], ptr %256, i64 0, i64 0
  %9049 = call i32 @s2n_x509_trust_store_add_pem(ptr noundef %255, ptr noundef %9048)
  %9050 = icmp eq i32 %9049, -1
  br i1 %9050, label %9051, label %9104

9051:                                             ; preds = %9045
  br label %9052

9052:                                             ; preds = %9051
  br label %9053

9053:                                             ; preds = %9052
  call void @llvm.lifetime.start.p0(i64 4, ptr %258) #10
  %9054 = call ptr @__errno_location() #11
  %9055 = load i32, ptr %9054, align 4, !tbaa !5
  store i32 %9055, ptr %258, align 4, !tbaa !5
  %9056 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9057 = call i32 @s2n_print_stacktrace(ptr noundef %9056)
  %9058 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9059 = trunc i8 %9058 to i1
  br i1 %9059, label %9060, label %9082

9060:                                             ; preds = %9053
  %9061 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9062 = call i32 @fileno(ptr noundef %9061) #10
  %9063 = call i32 @isatty(i32 noundef %9062) #10
  %9064 = icmp ne i32 %9063, 0
  br i1 %9064, label %9065, label %9082

9065:                                             ; preds = %9060
  %9066 = load i32, ptr %258, align 4, !tbaa !5
  %9067 = call ptr @__errno_location() #11
  store i32 %9066, ptr %9067, align 4, !tbaa !5
  %9068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9069 = load i32, ptr @test_count, align 4, !tbaa !5
  %9070 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9071 = load i32, ptr %9070, align 4, !tbaa !5
  %9072 = call ptr @s2n_strerror(i32 noundef %9071, ptr noundef @.str.4)
  %9073 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9074 = load i32, ptr %9073, align 4, !tbaa !5
  %9075 = call ptr @s2n_strerror_debug(i32 noundef %9074, ptr noundef @.str.4)
  %9076 = call ptr @__errno_location() #11
  %9077 = load i32, ptr %9076, align 4, !tbaa !5
  %9078 = call ptr @strerror(i32 noundef %9077) #10
  %9079 = call ptr @__errno_location() #11
  %9080 = load i32, ptr %9079, align 4, !tbaa !5
  %9081 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9068, ptr noundef @.str.2, i32 noundef %9069, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 468, ptr noundef %9072, ptr noundef %9075, ptr noundef %9078, i32 noundef %9080) #10
  br label %9099

9082:                                             ; preds = %9060, %9053
  %9083 = load i32, ptr %258, align 4, !tbaa !5
  %9084 = call ptr @__errno_location() #11
  store i32 %9083, ptr %9084, align 4, !tbaa !5
  %9085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9086 = load i32, ptr @test_count, align 4, !tbaa !5
  %9087 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9088 = load i32, ptr %9087, align 4, !tbaa !5
  %9089 = call ptr @s2n_strerror(i32 noundef %9088, ptr noundef @.str.4)
  %9090 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9091 = load i32, ptr %9090, align 4, !tbaa !5
  %9092 = call ptr @s2n_strerror_debug(i32 noundef %9091, ptr noundef @.str.4)
  %9093 = call ptr @__errno_location() #11
  %9094 = load i32, ptr %9093, align 4, !tbaa !5
  %9095 = call ptr @strerror(i32 noundef %9094) #10
  %9096 = call ptr @__errno_location() #11
  %9097 = load i32, ptr %9096, align 4, !tbaa !5
  %9098 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9085, ptr noundef @.str.5, i32 noundef %9086, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 468, ptr noundef %9089, ptr noundef %9092, ptr noundef %9095, i32 noundef %9097) #10
  br label %9099

9099:                                             ; preds = %9082, %9065
  call void @llvm.lifetime.end.p0(i64 4, ptr %258) #10
  br label %9100

9100:                                             ; preds = %9099
  br label %9101

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

9102:                                             ; No predecessors!
  br label %9103

9103:                                             ; preds = %9102
  br label %9104

9104:                                             ; preds = %9103, %9045
  br label %9105

9105:                                             ; preds = %9104
  br label %9106

9106:                                             ; preds = %9105
  call void @llvm.lifetime.start.p0(i64 56, ptr %259) #10
  br label %9107

9107:                                             ; preds = %9106
  %9108 = load i32, ptr @test_count, align 4, !tbaa !5
  %9109 = add nsw i32 %9108, 1
  store i32 %9109, ptr @test_count, align 4, !tbaa !5
  %9110 = call i32 @s2n_x509_validator_init(ptr noundef %259, ptr noundef %255, i8 noundef zeroext 0)
  %9111 = icmp eq i32 %9110, -1
  br i1 %9111, label %9112, label %9165

9112:                                             ; preds = %9107
  br label %9113

9113:                                             ; preds = %9112
  br label %9114

9114:                                             ; preds = %9113
  call void @llvm.lifetime.start.p0(i64 4, ptr %260) #10
  %9115 = call ptr @__errno_location() #11
  %9116 = load i32, ptr %9115, align 4, !tbaa !5
  store i32 %9116, ptr %260, align 4, !tbaa !5
  %9117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9118 = call i32 @s2n_print_stacktrace(ptr noundef %9117)
  %9119 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9120 = trunc i8 %9119 to i1
  br i1 %9120, label %9121, label %9143

9121:                                             ; preds = %9114
  %9122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9123 = call i32 @fileno(ptr noundef %9122) #10
  %9124 = call i32 @isatty(i32 noundef %9123) #10
  %9125 = icmp ne i32 %9124, 0
  br i1 %9125, label %9126, label %9143

9126:                                             ; preds = %9121
  %9127 = load i32, ptr %260, align 4, !tbaa !5
  %9128 = call ptr @__errno_location() #11
  store i32 %9127, ptr %9128, align 4, !tbaa !5
  %9129 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9130 = load i32, ptr @test_count, align 4, !tbaa !5
  %9131 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9132 = load i32, ptr %9131, align 4, !tbaa !5
  %9133 = call ptr @s2n_strerror(i32 noundef %9132, ptr noundef @.str.4)
  %9134 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9135 = load i32, ptr %9134, align 4, !tbaa !5
  %9136 = call ptr @s2n_strerror_debug(i32 noundef %9135, ptr noundef @.str.4)
  %9137 = call ptr @__errno_location() #11
  %9138 = load i32, ptr %9137, align 4, !tbaa !5
  %9139 = call ptr @strerror(i32 noundef %9138) #10
  %9140 = call ptr @__errno_location() #11
  %9141 = load i32, ptr %9140, align 4, !tbaa !5
  %9142 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9129, ptr noundef @.str.2, i32 noundef %9130, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 471, ptr noundef %9133, ptr noundef %9136, ptr noundef %9139, i32 noundef %9141) #10
  br label %9160

9143:                                             ; preds = %9121, %9114
  %9144 = load i32, ptr %260, align 4, !tbaa !5
  %9145 = call ptr @__errno_location() #11
  store i32 %9144, ptr %9145, align 4, !tbaa !5
  %9146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9147 = load i32, ptr @test_count, align 4, !tbaa !5
  %9148 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9149 = load i32, ptr %9148, align 4, !tbaa !5
  %9150 = call ptr @s2n_strerror(i32 noundef %9149, ptr noundef @.str.4)
  %9151 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9152 = load i32, ptr %9151, align 4, !tbaa !5
  %9153 = call ptr @s2n_strerror_debug(i32 noundef %9152, ptr noundef @.str.4)
  %9154 = call ptr @__errno_location() #11
  %9155 = load i32, ptr %9154, align 4, !tbaa !5
  %9156 = call ptr @strerror(i32 noundef %9155) #10
  %9157 = call ptr @__errno_location() #11
  %9158 = load i32, ptr %9157, align 4, !tbaa !5
  %9159 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9146, ptr noundef @.str.5, i32 noundef %9147, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 471, ptr noundef %9150, ptr noundef %9153, ptr noundef %9156, i32 noundef %9158) #10
  br label %9160

9160:                                             ; preds = %9143, %9126
  call void @llvm.lifetime.end.p0(i64 4, ptr %260) #10
  br label %9161

9161:                                             ; preds = %9160
  br label %9162

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

9163:                                             ; No predecessors!
  br label %9164

9164:                                             ; preds = %9163
  br label %9165

9165:                                             ; preds = %9164, %9107
  br label %9166

9166:                                             ; preds = %9165
  br label %9167

9167:                                             ; preds = %9166
  call void @llvm.lifetime.start.p0(i64 8, ptr %261) #10
  %9168 = call ptr @s2n_config_new()
  store ptr %9168, ptr %261, align 8, !tbaa !9
  br label %9169

9169:                                             ; preds = %9167
  %9170 = load i32, ptr @test_count, align 4, !tbaa !5
  %9171 = add nsw i32 %9170, 1
  store i32 %9171, ptr @test_count, align 4, !tbaa !5
  %9172 = load ptr, ptr %261, align 8, !tbaa !9
  %9173 = icmp eq ptr %9172, null
  br i1 %9173, label %9174, label %9227

9174:                                             ; preds = %9169
  br label %9175

9175:                                             ; preds = %9174
  br label %9176

9176:                                             ; preds = %9175
  call void @llvm.lifetime.start.p0(i64 4, ptr %262) #10
  %9177 = call ptr @__errno_location() #11
  %9178 = load i32, ptr %9177, align 4, !tbaa !5
  store i32 %9178, ptr %262, align 4, !tbaa !5
  %9179 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9180 = call i32 @s2n_print_stacktrace(ptr noundef %9179)
  %9181 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9182 = trunc i8 %9181 to i1
  br i1 %9182, label %9183, label %9205

9183:                                             ; preds = %9176
  %9184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9185 = call i32 @fileno(ptr noundef %9184) #10
  %9186 = call i32 @isatty(i32 noundef %9185) #10
  %9187 = icmp ne i32 %9186, 0
  br i1 %9187, label %9188, label %9205

9188:                                             ; preds = %9183
  %9189 = load i32, ptr %262, align 4, !tbaa !5
  %9190 = call ptr @__errno_location() #11
  store i32 %9189, ptr %9190, align 4, !tbaa !5
  %9191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9192 = load i32, ptr @test_count, align 4, !tbaa !5
  %9193 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9194 = load i32, ptr %9193, align 4, !tbaa !5
  %9195 = call ptr @s2n_strerror(i32 noundef %9194, ptr noundef @.str.4)
  %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_debug(i32 noundef %9197, ptr noundef @.str.4)
  %9199 = call ptr @__errno_location() #11
  %9200 = load i32, ptr %9199, align 4, !tbaa !5
  %9201 = call ptr @strerror(i32 noundef %9200) #10
  %9202 = call ptr @__errno_location() #11
  %9203 = load i32, ptr %9202, align 4, !tbaa !5
  %9204 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9191, ptr noundef @.str.2, i32 noundef %9192, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 474, ptr noundef %9195, ptr noundef %9198, ptr noundef %9201, i32 noundef %9203) #10
  br label %9222

9205:                                             ; preds = %9183, %9176
  %9206 = load i32, ptr %262, align 4, !tbaa !5
  %9207 = call ptr @__errno_location() #11
  store i32 %9206, ptr %9207, align 4, !tbaa !5
  %9208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9209 = load i32, ptr @test_count, align 4, !tbaa !5
  %9210 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9211 = load i32, ptr %9210, align 4, !tbaa !5
  %9212 = call ptr @s2n_strerror(i32 noundef %9211, ptr noundef @.str.4)
  %9213 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9214 = load i32, ptr %9213, align 4, !tbaa !5
  %9215 = call ptr @s2n_strerror_debug(i32 noundef %9214, ptr noundef @.str.4)
  %9216 = call ptr @__errno_location() #11
  %9217 = load i32, ptr %9216, align 4, !tbaa !5
  %9218 = call ptr @strerror(i32 noundef %9217) #10
  %9219 = call ptr @__errno_location() #11
  %9220 = load i32, ptr %9219, align 4, !tbaa !5
  %9221 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9208, ptr noundef @.str.5, i32 noundef %9209, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 474, ptr noundef %9212, ptr noundef %9215, ptr noundef %9218, i32 noundef %9220) #10
  br label %9222

9222:                                             ; preds = %9205, %9188
  call void @llvm.lifetime.end.p0(i64 4, ptr %262) #10
  br label %9223

9223:                                             ; preds = %9222
  br label %9224

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

9225:                                             ; No predecessors!
  br label %9226

9226:                                             ; preds = %9225
  br label %9227

9227:                                             ; preds = %9226, %9169
  br label %9228

9228:                                             ; preds = %9227
  br label %9229

9229:                                             ; preds = %9228
  br label %9230

9230:                                             ; preds = %9229
  %9231 = load i32, ptr @test_count, align 4, !tbaa !5
  %9232 = add nsw i32 %9231, 1
  store i32 %9232, ptr @test_count, align 4, !tbaa !5
  %9233 = load ptr, ptr %261, align 8, !tbaa !9
  %9234 = call i32 @s2n_config_set_crl_lookup_cb(ptr noundef %9233, ptr noundef @crl_lookup_callback_fail, ptr noundef null)
  %9235 = icmp eq i32 %9234, -1
  br i1 %9235, label %9236, label %9289

9236:                                             ; preds = %9230
  br label %9237

9237:                                             ; preds = %9236
  br label %9238

9238:                                             ; preds = %9237
  call void @llvm.lifetime.start.p0(i64 4, ptr %263) #10
  %9239 = call ptr @__errno_location() #11
  %9240 = load i32, ptr %9239, align 4, !tbaa !5
  store i32 %9240, ptr %263, align 4, !tbaa !5
  %9241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9242 = call i32 @s2n_print_stacktrace(ptr noundef %9241)
  %9243 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9244 = trunc i8 %9243 to i1
  br i1 %9244, label %9245, label %9267

9245:                                             ; preds = %9238
  %9246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9247 = call i32 @fileno(ptr noundef %9246) #10
  %9248 = call i32 @isatty(i32 noundef %9247) #10
  %9249 = icmp ne i32 %9248, 0
  br i1 %9249, label %9250, label %9267

9250:                                             ; preds = %9245
  %9251 = load i32, ptr %263, align 4, !tbaa !5
  %9252 = call ptr @__errno_location() #11
  store i32 %9251, ptr %9252, align 4, !tbaa !5
  %9253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9254 = load i32, ptr @test_count, align 4, !tbaa !5
  %9255 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9256 = load i32, ptr %9255, align 4, !tbaa !5
  %9257 = call ptr @s2n_strerror(i32 noundef %9256, ptr noundef @.str.4)
  %9258 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9259 = load i32, ptr %9258, align 4, !tbaa !5
  %9260 = call ptr @s2n_strerror_debug(i32 noundef %9259, ptr noundef @.str.4)
  %9261 = call ptr @__errno_location() #11
  %9262 = load i32, ptr %9261, align 4, !tbaa !5
  %9263 = call ptr @strerror(i32 noundef %9262) #10
  %9264 = call ptr @__errno_location() #11
  %9265 = load i32, ptr %9264, align 4, !tbaa !5
  %9266 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9253, ptr noundef @.str.2, i32 noundef %9254, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 475, ptr noundef %9257, ptr noundef %9260, ptr noundef %9263, i32 noundef %9265) #10
  br label %9284

9267:                                             ; preds = %9245, %9238
  %9268 = load i32, ptr %263, align 4, !tbaa !5
  %9269 = call ptr @__errno_location() #11
  store i32 %9268, ptr %9269, align 4, !tbaa !5
  %9270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9271 = load i32, ptr @test_count, align 4, !tbaa !5
  %9272 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9273 = load i32, ptr %9272, align 4, !tbaa !5
  %9274 = call ptr @s2n_strerror(i32 noundef %9273, ptr noundef @.str.4)
  %9275 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9276 = load i32, ptr %9275, align 4, !tbaa !5
  %9277 = call ptr @s2n_strerror_debug(i32 noundef %9276, ptr noundef @.str.4)
  %9278 = call ptr @__errno_location() #11
  %9279 = load i32, ptr %9278, align 4, !tbaa !5
  %9280 = call ptr @strerror(i32 noundef %9279) #10
  %9281 = call ptr @__errno_location() #11
  %9282 = load i32, ptr %9281, align 4, !tbaa !5
  %9283 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9270, ptr noundef @.str.5, i32 noundef %9271, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 475, ptr noundef %9274, ptr noundef %9277, ptr noundef %9280, i32 noundef %9282) #10
  br label %9284

9284:                                             ; preds = %9267, %9250
  call void @llvm.lifetime.end.p0(i64 4, ptr %263) #10
  br label %9285

9285:                                             ; preds = %9284
  br label %9286

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

9287:                                             ; No predecessors!
  br label %9288

9288:                                             ; preds = %9287
  br label %9289

9289:                                             ; preds = %9288, %9230
  br label %9290

9290:                                             ; preds = %9289
  br label %9291

9291:                                             ; preds = %9290
  call void @llvm.lifetime.start.p0(i64 8, ptr %264) #10
  %9292 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %9292, ptr %264, align 8, !tbaa !9
  br label %9293

9293:                                             ; preds = %9291
  %9294 = load i32, ptr @test_count, align 4, !tbaa !5
  %9295 = add nsw i32 %9294, 1
  store i32 %9295, ptr @test_count, align 4, !tbaa !5
  %9296 = load ptr, ptr %264, align 8, !tbaa !9
  %9297 = icmp eq ptr %9296, null
  br i1 %9297, label %9298, label %9351

9298:                                             ; preds = %9293
  br label %9299

9299:                                             ; preds = %9298
  br label %9300

9300:                                             ; preds = %9299
  call void @llvm.lifetime.start.p0(i64 4, ptr %265) #10
  %9301 = call ptr @__errno_location() #11
  %9302 = load i32, ptr %9301, align 4, !tbaa !5
  store i32 %9302, ptr %265, align 4, !tbaa !5
  %9303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9304 = call i32 @s2n_print_stacktrace(ptr noundef %9303)
  %9305 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9306 = trunc i8 %9305 to i1
  br i1 %9306, label %9307, label %9329

9307:                                             ; preds = %9300
  %9308 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9309 = call i32 @fileno(ptr noundef %9308) #10
  %9310 = call i32 @isatty(i32 noundef %9309) #10
  %9311 = icmp ne i32 %9310, 0
  br i1 %9311, label %9312, label %9329

9312:                                             ; preds = %9307
  %9313 = load i32, ptr %265, align 4, !tbaa !5
  %9314 = call ptr @__errno_location() #11
  store i32 %9313, ptr %9314, align 4, !tbaa !5
  %9315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9316 = load i32, ptr @test_count, align 4, !tbaa !5
  %9317 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9318 = load i32, ptr %9317, align 4, !tbaa !5
  %9319 = call ptr @s2n_strerror(i32 noundef %9318, ptr noundef @.str.4)
  %9320 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9321 = load i32, ptr %9320, align 4, !tbaa !5
  %9322 = call ptr @s2n_strerror_debug(i32 noundef %9321, ptr noundef @.str.4)
  %9323 = call ptr @__errno_location() #11
  %9324 = load i32, ptr %9323, align 4, !tbaa !5
  %9325 = call ptr @strerror(i32 noundef %9324) #10
  %9326 = call ptr @__errno_location() #11
  %9327 = load i32, ptr %9326, align 4, !tbaa !5
  %9328 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9315, ptr noundef @.str.2, i32 noundef %9316, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 478, ptr noundef %9319, ptr noundef %9322, ptr noundef %9325, i32 noundef %9327) #10
  br label %9346

9329:                                             ; preds = %9307, %9300
  %9330 = load i32, ptr %265, align 4, !tbaa !5
  %9331 = call ptr @__errno_location() #11
  store i32 %9330, ptr %9331, align 4, !tbaa !5
  %9332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9333 = load i32, ptr @test_count, align 4, !tbaa !5
  %9334 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9335 = load i32, ptr %9334, align 4, !tbaa !5
  %9336 = call ptr @s2n_strerror(i32 noundef %9335, ptr noundef @.str.4)
  %9337 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9338 = load i32, ptr %9337, align 4, !tbaa !5
  %9339 = call ptr @s2n_strerror_debug(i32 noundef %9338, ptr noundef @.str.4)
  %9340 = call ptr @__errno_location() #11
  %9341 = load i32, ptr %9340, align 4, !tbaa !5
  %9342 = call ptr @strerror(i32 noundef %9341) #10
  %9343 = call ptr @__errno_location() #11
  %9344 = load i32, ptr %9343, align 4, !tbaa !5
  %9345 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9332, ptr noundef @.str.5, i32 noundef %9333, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 478, ptr noundef %9336, ptr noundef %9339, ptr noundef %9342, i32 noundef %9344) #10
  br label %9346

9346:                                             ; preds = %9329, %9312
  call void @llvm.lifetime.end.p0(i64 4, ptr %265) #10
  br label %9347

9347:                                             ; preds = %9346
  br label %9348

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

9349:                                             ; No predecessors!
  br label %9350

9350:                                             ; preds = %9349
  br label %9351

9351:                                             ; preds = %9350, %9293
  br label %9352

9352:                                             ; preds = %9351
  br label %9353

9353:                                             ; preds = %9352
  br label %9354

9354:                                             ; preds = %9353
  %9355 = load i32, ptr @test_count, align 4, !tbaa !5
  %9356 = add nsw i32 %9355, 1
  store i32 %9356, ptr @test_count, align 4, !tbaa !5
  %9357 = load ptr, ptr %264, align 8, !tbaa !9
  %9358 = load ptr, ptr %261, align 8, !tbaa !9
  %9359 = call i32 @s2n_connection_set_config(ptr noundef %9357, ptr noundef %9358)
  %9360 = icmp eq i32 %9359, -1
  br i1 %9360, label %9361, label %9414

9361:                                             ; preds = %9354
  br label %9362

9362:                                             ; preds = %9361
  br label %9363

9363:                                             ; preds = %9362
  call void @llvm.lifetime.start.p0(i64 4, ptr %266) #10
  %9364 = call ptr @__errno_location() #11
  %9365 = load i32, ptr %9364, align 4, !tbaa !5
  store i32 %9365, ptr %266, align 4, !tbaa !5
  %9366 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9367 = call i32 @s2n_print_stacktrace(ptr noundef %9366)
  %9368 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9369 = trunc i8 %9368 to i1
  br i1 %9369, label %9370, label %9392

9370:                                             ; preds = %9363
  %9371 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9372 = call i32 @fileno(ptr noundef %9371) #10
  %9373 = call i32 @isatty(i32 noundef %9372) #10
  %9374 = icmp ne i32 %9373, 0
  br i1 %9374, label %9375, label %9392

9375:                                             ; preds = %9370
  %9376 = load i32, ptr %266, align 4, !tbaa !5
  %9377 = call ptr @__errno_location() #11
  store i32 %9376, ptr %9377, align 4, !tbaa !5
  %9378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9379 = load i32, ptr @test_count, align 4, !tbaa !5
  %9380 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9381 = load i32, ptr %9380, align 4, !tbaa !5
  %9382 = call ptr @s2n_strerror(i32 noundef %9381, ptr noundef @.str.4)
  %9383 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9384 = load i32, ptr %9383, align 4, !tbaa !5
  %9385 = call ptr @s2n_strerror_debug(i32 noundef %9384, ptr noundef @.str.4)
  %9386 = call ptr @__errno_location() #11
  %9387 = load i32, ptr %9386, align 4, !tbaa !5
  %9388 = call ptr @strerror(i32 noundef %9387) #10
  %9389 = call ptr @__errno_location() #11
  %9390 = load i32, ptr %9389, align 4, !tbaa !5
  %9391 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9378, ptr noundef @.str.2, i32 noundef %9379, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 479, ptr noundef %9382, ptr noundef %9385, ptr noundef %9388, i32 noundef %9390) #10
  br label %9409

9392:                                             ; preds = %9370, %9363
  %9393 = load i32, ptr %266, align 4, !tbaa !5
  %9394 = call ptr @__errno_location() #11
  store i32 %9393, ptr %9394, align 4, !tbaa !5
  %9395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9396 = load i32, ptr @test_count, align 4, !tbaa !5
  %9397 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9398 = load i32, ptr %9397, align 4, !tbaa !5
  %9399 = call ptr @s2n_strerror(i32 noundef %9398, ptr noundef @.str.4)
  %9400 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9401 = load i32, ptr %9400, align 4, !tbaa !5
  %9402 = call ptr @s2n_strerror_debug(i32 noundef %9401, ptr noundef @.str.4)
  %9403 = call ptr @__errno_location() #11
  %9404 = load i32, ptr %9403, align 4, !tbaa !5
  %9405 = call ptr @strerror(i32 noundef %9404) #10
  %9406 = call ptr @__errno_location() #11
  %9407 = load i32, ptr %9406, align 4, !tbaa !5
  %9408 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9395, ptr noundef @.str.5, i32 noundef %9396, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 479, ptr noundef %9399, ptr noundef %9402, ptr noundef %9405, i32 noundef %9407) #10
  br label %9409

9409:                                             ; preds = %9392, %9375
  call void @llvm.lifetime.end.p0(i64 4, ptr %266) #10
  br label %9410

9410:                                             ; preds = %9409
  br label %9411

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

9412:                                             ; No predecessors!
  br label %9413

9413:                                             ; preds = %9412
  br label %9414

9414:                                             ; preds = %9413, %9354
  br label %9415

9415:                                             ; preds = %9414
  br label %9416

9416:                                             ; preds = %9415
  br label %9417

9417:                                             ; preds = %9416
  %9418 = load i32, ptr @test_count, align 4, !tbaa !5
  %9419 = add nsw i32 %9418, 1
  store i32 %9419, ptr @test_count, align 4, !tbaa !5
  %9420 = load ptr, ptr %264, align 8, !tbaa !9
  %9421 = call i32 @s2n_set_server_name(ptr noundef %9420, ptr noundef @.str.39)
  %9422 = icmp eq i32 %9421, -1
  br i1 %9422, label %9423, label %9476

9423:                                             ; preds = %9417
  br label %9424

9424:                                             ; preds = %9423
  br label %9425

9425:                                             ; preds = %9424
  call void @llvm.lifetime.start.p0(i64 4, ptr %267) #10
  %9426 = call ptr @__errno_location() #11
  %9427 = load i32, ptr %9426, align 4, !tbaa !5
  store i32 %9427, ptr %267, align 4, !tbaa !5
  %9428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9429 = call i32 @s2n_print_stacktrace(ptr noundef %9428)
  %9430 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9431 = trunc i8 %9430 to i1
  br i1 %9431, label %9432, label %9454

9432:                                             ; preds = %9425
  %9433 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9434 = call i32 @fileno(ptr noundef %9433) #10
  %9435 = call i32 @isatty(i32 noundef %9434) #10
  %9436 = icmp ne i32 %9435, 0
  br i1 %9436, label %9437, label %9454

9437:                                             ; preds = %9432
  %9438 = load i32, ptr %267, align 4, !tbaa !5
  %9439 = call ptr @__errno_location() #11
  store i32 %9438, ptr %9439, align 4, !tbaa !5
  %9440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9441 = load i32, ptr @test_count, align 4, !tbaa !5
  %9442 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9443 = load i32, ptr %9442, align 4, !tbaa !5
  %9444 = call ptr @s2n_strerror(i32 noundef %9443, ptr noundef @.str.4)
  %9445 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9446 = load i32, ptr %9445, align 4, !tbaa !5
  %9447 = call ptr @s2n_strerror_debug(i32 noundef %9446, ptr noundef @.str.4)
  %9448 = call ptr @__errno_location() #11
  %9449 = load i32, ptr %9448, align 4, !tbaa !5
  %9450 = call ptr @strerror(i32 noundef %9449) #10
  %9451 = call ptr @__errno_location() #11
  %9452 = load i32, ptr %9451, align 4, !tbaa !5
  %9453 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9440, ptr noundef @.str.2, i32 noundef %9441, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 480, ptr noundef %9444, ptr noundef %9447, ptr noundef %9450, i32 noundef %9452) #10
  br label %9471

9454:                                             ; preds = %9432, %9425
  %9455 = load i32, ptr %267, align 4, !tbaa !5
  %9456 = call ptr @__errno_location() #11
  store i32 %9455, ptr %9456, align 4, !tbaa !5
  %9457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9458 = load i32, ptr @test_count, align 4, !tbaa !5
  %9459 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9460 = load i32, ptr %9459, align 4, !tbaa !5
  %9461 = call ptr @s2n_strerror(i32 noundef %9460, ptr noundef @.str.4)
  %9462 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9463 = load i32, ptr %9462, align 4, !tbaa !5
  %9464 = call ptr @s2n_strerror_debug(i32 noundef %9463, ptr noundef @.str.4)
  %9465 = call ptr @__errno_location() #11
  %9466 = load i32, ptr %9465, align 4, !tbaa !5
  %9467 = call ptr @strerror(i32 noundef %9466) #10
  %9468 = call ptr @__errno_location() #11
  %9469 = load i32, ptr %9468, align 4, !tbaa !5
  %9470 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9457, ptr noundef @.str.5, i32 noundef %9458, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 480, ptr noundef %9461, ptr noundef %9464, ptr noundef %9467, i32 noundef %9469) #10
  br label %9471

9471:                                             ; preds = %9454, %9437
  call void @llvm.lifetime.end.p0(i64 4, ptr %267) #10
  br label %9472

9472:                                             ; preds = %9471
  br label %9473

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

9474:                                             ; No predecessors!
  br label %9475

9475:                                             ; preds = %9474
  br label %9476

9476:                                             ; preds = %9475, %9417
  br label %9477

9477:                                             ; preds = %9476
  br label %9478

9478:                                             ; preds = %9477
  call void @llvm.lifetime.start.p0(i64 40, ptr %268) #10
  call void @llvm.memset.p0.i64(ptr align 8 %268, i8 0, i64 40, i1 false)
  br label %9479

9479:                                             ; preds = %9478
  %9480 = load i32, ptr @test_count, align 4, !tbaa !5
  %9481 = add nsw i32 %9480, 1
  store i32 %9481, ptr @test_count, align 4, !tbaa !5
  %9482 = load ptr, ptr %264, align 8, !tbaa !9
  %9483 = call i32 @s2n_test_cert_chain_data_from_pem(ptr noundef %9482, ptr noundef @.str.41, ptr noundef %268)
  %9484 = getelementptr inbounds %struct.s2n_result, ptr %269, i32 0, i32 0
  store i32 %9483, ptr %9484, align 4
  %9485 = getelementptr inbounds %struct.s2n_result, ptr %269, i32 0, i32 0
  %9486 = load i32, ptr %9485, align 4
  %9487 = call zeroext i1 @s2n_result_is_ok(i32 %9486)
  br i1 %9487, label %9541, label %9488

9488:                                             ; preds = %9479
  br label %9489

9489:                                             ; preds = %9488
  br label %9490

9490:                                             ; preds = %9489
  call void @llvm.lifetime.start.p0(i64 4, ptr %270) #10
  %9491 = call ptr @__errno_location() #11
  %9492 = load i32, ptr %9491, align 4, !tbaa !5
  store i32 %9492, ptr %270, align 4, !tbaa !5
  %9493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9494 = call i32 @s2n_print_stacktrace(ptr noundef %9493)
  %9495 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9496 = trunc i8 %9495 to i1
  br i1 %9496, label %9497, label %9519

9497:                                             ; preds = %9490
  %9498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9499 = call i32 @fileno(ptr noundef %9498) #10
  %9500 = call i32 @isatty(i32 noundef %9499) #10
  %9501 = icmp ne i32 %9500, 0
  br i1 %9501, label %9502, label %9519

9502:                                             ; preds = %9497
  %9503 = load i32, ptr %270, align 4, !tbaa !5
  %9504 = call ptr @__errno_location() #11
  store i32 %9503, ptr %9504, align 4, !tbaa !5
  %9505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9506 = load i32, ptr @test_count, align 4, !tbaa !5
  %9507 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9508 = load i32, ptr %9507, align 4, !tbaa !5
  %9509 = call ptr @s2n_strerror(i32 noundef %9508, ptr noundef @.str.4)
  %9510 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9511 = load i32, ptr %9510, align 4, !tbaa !5
  %9512 = call ptr @s2n_strerror_debug(i32 noundef %9511, ptr noundef @.str.4)
  %9513 = call ptr @__errno_location() #11
  %9514 = load i32, ptr %9513, align 4, !tbaa !5
  %9515 = call ptr @strerror(i32 noundef %9514) #10
  %9516 = call ptr @__errno_location() #11
  %9517 = load i32, ptr %9516, align 4, !tbaa !5
  %9518 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9505, ptr noundef @.str.2, i32 noundef %9506, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 483, ptr noundef %9509, ptr noundef %9512, ptr noundef %9515, i32 noundef %9517) #10
  br label %9536

9519:                                             ; preds = %9497, %9490
  %9520 = load i32, ptr %270, align 4, !tbaa !5
  %9521 = call ptr @__errno_location() #11
  store i32 %9520, ptr %9521, align 4, !tbaa !5
  %9522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9523 = load i32, ptr @test_count, align 4, !tbaa !5
  %9524 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9525 = load i32, ptr %9524, align 4, !tbaa !5
  %9526 = call ptr @s2n_strerror(i32 noundef %9525, ptr noundef @.str.4)
  %9527 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9528 = load i32, ptr %9527, align 4, !tbaa !5
  %9529 = call ptr @s2n_strerror_debug(i32 noundef %9528, ptr noundef @.str.4)
  %9530 = call ptr @__errno_location() #11
  %9531 = load i32, ptr %9530, align 4, !tbaa !5
  %9532 = call ptr @strerror(i32 noundef %9531) #10
  %9533 = call ptr @__errno_location() #11
  %9534 = load i32, ptr %9533, align 4, !tbaa !5
  %9535 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9522, ptr noundef @.str.5, i32 noundef %9523, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 483, ptr noundef %9526, ptr noundef %9529, ptr noundef %9532, i32 noundef %9534) #10
  br label %9536

9536:                                             ; preds = %9519, %9502
  call void @llvm.lifetime.end.p0(i64 4, ptr %270) #10
  br label %9537

9537:                                             ; preds = %9536
  br label %9538

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

9539:                                             ; No predecessors!
  br label %9540

9540:                                             ; preds = %9539
  br label %9541

9541:                                             ; preds = %9540, %9479
  br label %9542

9542:                                             ; preds = %9541
  br label %9543

9543:                                             ; preds = %9542
  call void @llvm.lifetime.start.p0(i64 4, ptr %271) #10
  %9544 = getelementptr inbounds %struct.s2n_stuffer, ptr %268, i32 0, i32 2
  %9545 = load i32, ptr %9544, align 4, !tbaa !23
  %9546 = getelementptr inbounds %struct.s2n_stuffer, ptr %268, i32 0, i32 1
  %9547 = load i32, ptr %9546, align 8, !tbaa !26
  %9548 = sub i32 %9545, %9547
  store i32 %9548, ptr %271, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %272) #10
  %9549 = load i32, ptr %271, align 4, !tbaa !5
  %9550 = call ptr @s2n_stuffer_raw_read(ptr noundef %268, i32 noundef %9549)
  store ptr %9550, ptr %272, align 8, !tbaa !9
  br label %9551

9551:                                             ; preds = %9543
  %9552 = load i32, ptr @test_count, align 4, !tbaa !5
  %9553 = add nsw i32 %9552, 1
  store i32 %9553, ptr @test_count, align 4, !tbaa !5
  %9554 = load ptr, ptr %272, align 8, !tbaa !9
  %9555 = icmp eq ptr %9554, null
  br i1 %9555, label %9556, label %9609

9556:                                             ; preds = %9551
  br label %9557

9557:                                             ; preds = %9556
  br label %9558

9558:                                             ; preds = %9557
  call void @llvm.lifetime.start.p0(i64 4, ptr %273) #10
  %9559 = call ptr @__errno_location() #11
  %9560 = load i32, ptr %9559, align 4, !tbaa !5
  store i32 %9560, ptr %273, align 4, !tbaa !5
  %9561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9562 = call i32 @s2n_print_stacktrace(ptr noundef %9561)
  %9563 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9564 = trunc i8 %9563 to i1
  br i1 %9564, label %9565, label %9587

9565:                                             ; preds = %9558
  %9566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9567 = call i32 @fileno(ptr noundef %9566) #10
  %9568 = call i32 @isatty(i32 noundef %9567) #10
  %9569 = icmp ne i32 %9568, 0
  br i1 %9569, label %9570, label %9587

9570:                                             ; preds = %9565
  %9571 = load i32, ptr %273, align 4, !tbaa !5
  %9572 = call ptr @__errno_location() #11
  store i32 %9571, ptr %9572, align 4, !tbaa !5
  %9573 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9574 = load i32, ptr @test_count, align 4, !tbaa !5
  %9575 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9576 = load i32, ptr %9575, align 4, !tbaa !5
  %9577 = call ptr @s2n_strerror(i32 noundef %9576, ptr noundef @.str.4)
  %9578 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9579 = load i32, ptr %9578, align 4, !tbaa !5
  %9580 = call ptr @s2n_strerror_debug(i32 noundef %9579, ptr noundef @.str.4)
  %9581 = call ptr @__errno_location() #11
  %9582 = load i32, ptr %9581, align 4, !tbaa !5
  %9583 = call ptr @strerror(i32 noundef %9582) #10
  %9584 = call ptr @__errno_location() #11
  %9585 = load i32, ptr %9584, align 4, !tbaa !5
  %9586 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9573, ptr noundef @.str.2, i32 noundef %9574, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 486, ptr noundef %9577, ptr noundef %9580, ptr noundef %9583, i32 noundef %9585) #10
  br label %9604

9587:                                             ; preds = %9565, %9558
  %9588 = load i32, ptr %273, align 4, !tbaa !5
  %9589 = call ptr @__errno_location() #11
  store i32 %9588, ptr %9589, align 4, !tbaa !5
  %9590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9591 = load i32, ptr @test_count, align 4, !tbaa !5
  %9592 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9593 = load i32, ptr %9592, align 4, !tbaa !5
  %9594 = call ptr @s2n_strerror(i32 noundef %9593, ptr noundef @.str.4)
  %9595 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9596 = load i32, ptr %9595, align 4, !tbaa !5
  %9597 = call ptr @s2n_strerror_debug(i32 noundef %9596, ptr noundef @.str.4)
  %9598 = call ptr @__errno_location() #11
  %9599 = load i32, ptr %9598, align 4, !tbaa !5
  %9600 = call ptr @strerror(i32 noundef %9599) #10
  %9601 = call ptr @__errno_location() #11
  %9602 = load i32, ptr %9601, align 4, !tbaa !5
  %9603 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9590, ptr noundef @.str.5, i32 noundef %9591, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 486, ptr noundef %9594, ptr noundef %9597, ptr noundef %9600, i32 noundef %9602) #10
  br label %9604

9604:                                             ; preds = %9587, %9570
  call void @llvm.lifetime.end.p0(i64 4, ptr %273) #10
  br label %9605

9605:                                             ; preds = %9604
  br label %9606

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

9607:                                             ; No predecessors!
  br label %9608

9608:                                             ; preds = %9607
  br label %9609

9609:                                             ; preds = %9608, %9551
  br label %9610

9610:                                             ; preds = %9609
  br label %9611

9611:                                             ; preds = %9610
  call void @llvm.lifetime.start.p0(i64 48, ptr %274) #10
  call void @llvm.memset.p0.i64(ptr align 8 %274, i8 0, i64 48, i1 false)
  br label %9612

9612:                                             ; preds = %9611
  %9613 = load i32, ptr @test_count, align 4, !tbaa !5
  %9614 = add nsw i32 %9613, 1
  store i32 %9614, ptr @test_count, align 4, !tbaa !5
  %9615 = call i32 @s2n_pkey_zero_init(ptr noundef %274)
  %9616 = icmp eq i32 %9615, -1
  br i1 %9616, label %9617, label %9670

9617:                                             ; preds = %9612
  br label %9618

9618:                                             ; preds = %9617
  br label %9619

9619:                                             ; preds = %9618
  call void @llvm.lifetime.start.p0(i64 4, ptr %275) #10
  %9620 = call ptr @__errno_location() #11
  %9621 = load i32, ptr %9620, align 4, !tbaa !5
  store i32 %9621, ptr %275, align 4, !tbaa !5
  %9622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9623 = call i32 @s2n_print_stacktrace(ptr noundef %9622)
  %9624 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9625 = trunc i8 %9624 to i1
  br i1 %9625, label %9626, label %9648

9626:                                             ; preds = %9619
  %9627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9628 = call i32 @fileno(ptr noundef %9627) #10
  %9629 = call i32 @isatty(i32 noundef %9628) #10
  %9630 = icmp ne i32 %9629, 0
  br i1 %9630, label %9631, label %9648

9631:                                             ; preds = %9626
  %9632 = load i32, ptr %275, align 4, !tbaa !5
  %9633 = call ptr @__errno_location() #11
  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() #11
  %9643 = load i32, ptr %9642, align 4, !tbaa !5
  %9644 = call ptr @strerror(i32 noundef %9643) #10
  %9645 = call ptr @__errno_location() #11
  %9646 = load i32, ptr %9645, align 4, !tbaa !5
  %9647 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9634, ptr noundef @.str.2, i32 noundef %9635, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 489, ptr noundef %9638, ptr noundef %9641, ptr noundef %9644, i32 noundef %9646) #10
  br label %9665

9648:                                             ; preds = %9626, %9619
  %9649 = load i32, ptr %275, align 4, !tbaa !5
  %9650 = call ptr @__errno_location() #11
  store i32 %9649, ptr %9650, align 4, !tbaa !5
  %9651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9652 = load i32, ptr @test_count, align 4, !tbaa !5
  %9653 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9654 = load i32, ptr %9653, align 4, !tbaa !5
  %9655 = call ptr @s2n_strerror(i32 noundef %9654, ptr noundef @.str.4)
  %9656 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9657 = load i32, ptr %9656, align 4, !tbaa !5
  %9658 = call ptr @s2n_strerror_debug(i32 noundef %9657, ptr noundef @.str.4)
  %9659 = call ptr @__errno_location() #11
  %9660 = load i32, ptr %9659, align 4, !tbaa !5
  %9661 = call ptr @strerror(i32 noundef %9660) #10
  %9662 = call ptr @__errno_location() #11
  %9663 = load i32, ptr %9662, align 4, !tbaa !5
  %9664 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9651, ptr noundef @.str.5, i32 noundef %9652, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 489, ptr noundef %9655, ptr noundef %9658, ptr noundef %9661, i32 noundef %9663) #10
  br label %9665

9665:                                             ; preds = %9648, %9631
  call void @llvm.lifetime.end.p0(i64 4, ptr %275) #10
  br label %9666

9666:                                             ; preds = %9665
  br label %9667

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

9668:                                             ; No predecessors!
  br label %9669

9669:                                             ; preds = %9668
  br label %9670

9670:                                             ; preds = %9669, %9612
  br label %9671

9671:                                             ; preds = %9670
  br label %9672

9672:                                             ; preds = %9671
  call void @llvm.lifetime.start.p0(i64 4, ptr %276) #10
  store i32 -1, ptr %276, align 4, !tbaa !5
  br label %9673

9673:                                             ; preds = %9672
  br label %9674

9674:                                             ; preds = %9673
  br label %9675

9675:                                             ; preds = %9674
  %9676 = load i32, ptr @test_count, align 4, !tbaa !5
  %9677 = add nsw i32 %9676, 1
  store i32 %9677, ptr @test_count, align 4, !tbaa !5
  %9678 = load ptr, ptr %264, align 8, !tbaa !9
  %9679 = load ptr, ptr %272, align 8, !tbaa !9
  %9680 = load i32, ptr %271, align 4, !tbaa !5
  %9681 = call i32 @s2n_x509_validator_validate_cert_chain(ptr noundef %259, ptr noundef %9678, ptr noundef %9679, i32 noundef %9680, ptr noundef %276, ptr noundef %274)
  %9682 = getelementptr inbounds %struct.s2n_result, ptr %277, i32 0, i32 0
  store i32 %9681, ptr %9682, align 4
  %9683 = getelementptr inbounds %struct.s2n_result, ptr %277, i32 0, i32 0
  %9684 = load i32, ptr %9683, align 4
  %9685 = call zeroext i1 @s2n_result_is_error(i32 %9684)
  br i1 %9685, label %9739, label %9686

9686:                                             ; preds = %9675
  br label %9687

9687:                                             ; preds = %9686
  br label %9688

9688:                                             ; preds = %9687
  call void @llvm.lifetime.start.p0(i64 4, ptr %278) #10
  %9689 = call ptr @__errno_location() #11
  %9690 = load i32, ptr %9689, align 4, !tbaa !5
  store i32 %9690, ptr %278, align 4, !tbaa !5
  %9691 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9692 = call i32 @s2n_print_stacktrace(ptr noundef %9691)
  %9693 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9694 = trunc i8 %9693 to i1
  br i1 %9694, label %9695, label %9717

9695:                                             ; preds = %9688
  %9696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9697 = call i32 @fileno(ptr noundef %9696) #10
  %9698 = call i32 @isatty(i32 noundef %9697) #10
  %9699 = icmp ne i32 %9698, 0
  br i1 %9699, label %9700, label %9717

9700:                                             ; preds = %9695
  %9701 = load i32, ptr %278, align 4, !tbaa !5
  %9702 = call ptr @__errno_location() #11
  store i32 %9701, ptr %9702, align 4, !tbaa !5
  %9703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9704 = load i32, ptr @test_count, align 4, !tbaa !5
  %9705 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9706 = load i32, ptr %9705, align 4, !tbaa !5
  %9707 = call ptr @s2n_strerror(i32 noundef %9706, ptr noundef @.str.4)
  %9708 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9709 = load i32, ptr %9708, align 4, !tbaa !5
  %9710 = call ptr @s2n_strerror_debug(i32 noundef %9709, ptr noundef @.str.4)
  %9711 = call ptr @__errno_location() #11
  %9712 = load i32, ptr %9711, align 4, !tbaa !5
  %9713 = call ptr @strerror(i32 noundef %9712) #10
  %9714 = call ptr @__errno_location() #11
  %9715 = load i32, ptr %9714, align 4, !tbaa !5
  %9716 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9703, ptr noundef @.str.2, i32 noundef %9704, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 493, ptr noundef %9707, ptr noundef %9710, ptr noundef %9713, i32 noundef %9715) #10
  br label %9734

9717:                                             ; preds = %9695, %9688
  %9718 = load i32, ptr %278, align 4, !tbaa !5
  %9719 = call ptr @__errno_location() #11
  store i32 %9718, ptr %9719, align 4, !tbaa !5
  %9720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9721 = load i32, ptr @test_count, align 4, !tbaa !5
  %9722 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9723 = load i32, ptr %9722, align 4, !tbaa !5
  %9724 = call ptr @s2n_strerror(i32 noundef %9723, ptr noundef @.str.4)
  %9725 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9726 = load i32, ptr %9725, align 4, !tbaa !5
  %9727 = call ptr @s2n_strerror_debug(i32 noundef %9726, ptr noundef @.str.4)
  %9728 = call ptr @__errno_location() #11
  %9729 = load i32, ptr %9728, align 4, !tbaa !5
  %9730 = call ptr @strerror(i32 noundef %9729) #10
  %9731 = call ptr @__errno_location() #11
  %9732 = load i32, ptr %9731, align 4, !tbaa !5
  %9733 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9720, ptr noundef @.str.5, i32 noundef %9721, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 493, ptr noundef %9724, ptr noundef %9727, ptr noundef %9730, i32 noundef %9732) #10
  br label %9734

9734:                                             ; preds = %9717, %9700
  call void @llvm.lifetime.end.p0(i64 4, ptr %278) #10
  br label %9735

9735:                                             ; preds = %9734
  br label %9736

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

9737:                                             ; No predecessors!
  br label %9738

9738:                                             ; preds = %9737
  br label %9739

9739:                                             ; preds = %9738, %9675
  br label %9740

9740:                                             ; preds = %9739
  br label %9741

9741:                                             ; preds = %9740
  br label %9742

9742:                                             ; preds = %9741
  %9743 = load i32, ptr @test_count, align 4, !tbaa !5
  %9744 = add nsw i32 %9743, 1
  store i32 %9744, ptr @test_count, align 4, !tbaa !5
  %9745 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9746 = load i32, ptr %9745, align 4, !tbaa !5
  %9747 = icmp eq i32 %9746, 335544386
  br i1 %9747, label %9801, label %9748

9748:                                             ; preds = %9742
  br label %9749

9749:                                             ; preds = %9748
  br label %9750

9750:                                             ; preds = %9749
  call void @llvm.lifetime.start.p0(i64 4, ptr %279) #10
  %9751 = call ptr @__errno_location() #11
  %9752 = load i32, ptr %9751, align 4, !tbaa !5
  store i32 %9752, ptr %279, align 4, !tbaa !5
  %9753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9754 = call i32 @s2n_print_stacktrace(ptr noundef %9753)
  %9755 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9756 = trunc i8 %9755 to i1
  br i1 %9756, label %9757, label %9779

9757:                                             ; preds = %9750
  %9758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9759 = call i32 @fileno(ptr noundef %9758) #10
  %9760 = call i32 @isatty(i32 noundef %9759) #10
  %9761 = icmp ne i32 %9760, 0
  br i1 %9761, label %9762, label %9779

9762:                                             ; preds = %9757
  %9763 = load i32, ptr %279, align 4, !tbaa !5
  %9764 = call ptr @__errno_location() #11
  store i32 %9763, ptr %9764, align 4, !tbaa !5
  %9765 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9766 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %9768, ptr noundef @.str.4)
  %9770 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9771 = load i32, ptr %9770, align 4, !tbaa !5
  %9772 = call ptr @s2n_strerror_debug(i32 noundef %9771, ptr noundef @.str.4)
  %9773 = call ptr @__errno_location() #11
  %9774 = load i32, ptr %9773, align 4, !tbaa !5
  %9775 = call ptr @strerror(i32 noundef %9774) #10
  %9776 = call ptr @__errno_location() #11
  %9777 = load i32, ptr %9776, align 4, !tbaa !5
  %9778 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9765, ptr noundef @.str.2, i32 noundef %9766, ptr noundef @.str.74, ptr noundef @.str.1, i32 noundef 493, ptr noundef %9769, ptr noundef %9772, ptr noundef %9775, i32 noundef %9777) #10
  br label %9796

9779:                                             ; preds = %9757, %9750
  %9780 = load i32, ptr %279, align 4, !tbaa !5
  %9781 = call ptr @__errno_location() #11
  store i32 %9780, ptr %9781, align 4, !tbaa !5
  %9782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9783 = load i32, ptr @test_count, align 4, !tbaa !5
  %9784 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9785 = load i32, ptr %9784, align 4, !tbaa !5
  %9786 = call ptr @s2n_strerror(i32 noundef %9785, ptr noundef @.str.4)
  %9787 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9788 = load i32, ptr %9787, align 4, !tbaa !5
  %9789 = call ptr @s2n_strerror_debug(i32 noundef %9788, ptr noundef @.str.4)
  %9790 = call ptr @__errno_location() #11
  %9791 = load i32, ptr %9790, align 4, !tbaa !5
  %9792 = call ptr @strerror(i32 noundef %9791) #10
  %9793 = call ptr @__errno_location() #11
  %9794 = load i32, ptr %9793, align 4, !tbaa !5
  %9795 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9782, ptr noundef @.str.5, i32 noundef %9783, ptr noundef @.str.74, ptr noundef @.str.1, i32 noundef 493, ptr noundef %9786, ptr noundef %9789, ptr noundef %9792, i32 noundef %9794) #10
  br label %9796

9796:                                             ; preds = %9779, %9762
  call void @llvm.lifetime.end.p0(i64 4, ptr %279) #10
  br label %9797

9797:                                             ; preds = %9796
  br label %9798

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

9799:                                             ; No predecessors!
  br label %9800

9800:                                             ; preds = %9799
  br label %9801

9801:                                             ; preds = %9800, %9742
  br label %9802

9802:                                             ; preds = %9801
  br label %9803

9803:                                             ; preds = %9802
  br label %9804

9804:                                             ; preds = %9803
  %9805 = load i32, ptr @test_count, align 4, !tbaa !5
  %9806 = add nsw i32 %9805, 1
  store i32 %9806, ptr @test_count, align 4, !tbaa !5
  %9807 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9808 = load i32, ptr %9807, align 4, !tbaa !5
  %9809 = call ptr @s2n_strerror_debug(i32 noundef %9808, ptr noundef @.str.4)
  %9810 = icmp eq ptr %9809, null
  br i1 %9810, label %9811, label %9864

9811:                                             ; preds = %9804
  br label %9812

9812:                                             ; preds = %9811
  br label %9813

9813:                                             ; preds = %9812
  call void @llvm.lifetime.start.p0(i64 4, ptr %280) #10
  %9814 = call ptr @__errno_location() #11
  %9815 = load i32, ptr %9814, align 4, !tbaa !5
  store i32 %9815, ptr %280, align 4, !tbaa !5
  %9816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9817 = call i32 @s2n_print_stacktrace(ptr noundef %9816)
  %9818 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9819 = trunc i8 %9818 to i1
  br i1 %9819, label %9820, label %9842

9820:                                             ; preds = %9813
  %9821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9822 = call i32 @fileno(ptr noundef %9821) #10
  %9823 = call i32 @isatty(i32 noundef %9822) #10
  %9824 = icmp ne i32 %9823, 0
  br i1 %9824, label %9825, label %9842

9825:                                             ; preds = %9820
  %9826 = load i32, ptr %280, align 4, !tbaa !5
  %9827 = call ptr @__errno_location() #11
  store i32 %9826, ptr %9827, align 4, !tbaa !5
  %9828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9829 = load i32, ptr @test_count, align 4, !tbaa !5
  %9830 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9831 = load i32, ptr %9830, align 4, !tbaa !5
  %9832 = call ptr @s2n_strerror(i32 noundef %9831, ptr noundef @.str.4)
  %9833 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9834 = load i32, ptr %9833, align 4, !tbaa !5
  %9835 = call ptr @s2n_strerror_debug(i32 noundef %9834, ptr noundef @.str.4)
  %9836 = call ptr @__errno_location() #11
  %9837 = load i32, ptr %9836, align 4, !tbaa !5
  %9838 = call ptr @strerror(i32 noundef %9837) #10
  %9839 = call ptr @__errno_location() #11
  %9840 = load i32, ptr %9839, align 4, !tbaa !5
  %9841 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9828, ptr noundef @.str.2, i32 noundef %9829, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 493, ptr noundef %9832, ptr noundef %9835, ptr noundef %9838, i32 noundef %9840) #10
  br label %9859

9842:                                             ; preds = %9820, %9813
  %9843 = load i32, ptr %280, align 4, !tbaa !5
  %9844 = call ptr @__errno_location() #11
  store i32 %9843, ptr %9844, align 4, !tbaa !5
  %9845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9846 = load i32, ptr @test_count, align 4, !tbaa !5
  %9847 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9848 = load i32, ptr %9847, align 4, !tbaa !5
  %9849 = call ptr @s2n_strerror(i32 noundef %9848, ptr noundef @.str.4)
  %9850 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9851 = load i32, ptr %9850, align 4, !tbaa !5
  %9852 = call ptr @s2n_strerror_debug(i32 noundef %9851, ptr noundef @.str.4)
  %9853 = call ptr @__errno_location() #11
  %9854 = load i32, ptr %9853, align 4, !tbaa !5
  %9855 = call ptr @strerror(i32 noundef %9854) #10
  %9856 = call ptr @__errno_location() #11
  %9857 = load i32, ptr %9856, align 4, !tbaa !5
  %9858 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9845, ptr noundef @.str.5, i32 noundef %9846, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 493, ptr noundef %9849, ptr noundef %9852, ptr noundef %9855, i32 noundef %9857) #10
  br label %9859

9859:                                             ; preds = %9842, %9825
  call void @llvm.lifetime.end.p0(i64 4, ptr %280) #10
  br label %9860

9860:                                             ; preds = %9859
  br label %9861

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

9862:                                             ; No predecessors!
  br label %9863

9863:                                             ; preds = %9862
  br label %9864

9864:                                             ; preds = %9863, %9804
  br label %9865

9865:                                             ; preds = %9864
  br label %9866

9866:                                             ; preds = %9865
  br label %9867

9867:                                             ; preds = %9866
  br label %9868

9868:                                             ; preds = %9867
  br label %9869

9869:                                             ; preds = %9868
  %9870 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %9870, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %9871 = call ptr @__errno_location() #11
  store i32 0, ptr %9871, align 4, !tbaa !5
  br label %9872

9872:                                             ; preds = %9869
  br label %9873

9873:                                             ; preds = %9872
  br label %9874

9874:                                             ; preds = %9873
  br label %9875

9875:                                             ; preds = %9874
  call void @llvm.lifetime.end.p0(i64 4, ptr %276) #10
  %9876 = call i32 @s2n_pkey_free(ptr noundef %274)
  call void @llvm.lifetime.end.p0(i64 48, ptr %274) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %272) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %271) #10
  %9877 = call i32 @s2n_stuffer_free(ptr noundef %268)
  call void @llvm.lifetime.end.p0(i64 40, ptr %268) #10
  %9878 = call i32 @s2n_connection_ptr_free(ptr noundef %264)
  %9879 = getelementptr inbounds %struct.s2n_result, ptr %281, i32 0, i32 0
  store i32 %9878, ptr %9879, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %264) #10
  %9880 = call i32 @s2n_config_ptr_free(ptr noundef %261)
  %9881 = getelementptr inbounds %struct.s2n_result, ptr %282, i32 0, i32 0
  store i32 %9880, ptr %9881, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %261) #10
  %9882 = call i32 @s2n_x509_validator_wipe(ptr noundef %259)
  call void @llvm.lifetime.end.p0(i64 56, ptr %259) #10
  call void @llvm.lifetime.end.p0(i64 12000, ptr %256) #10
  call void @s2n_x509_trust_store_wipe(ptr noundef %255)
  call void @llvm.lifetime.end.p0(i64 16, ptr %255) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %283) #10
  call void @llvm.memset.p0.i64(ptr align 8 %283, i8 0, i64 16, i1 false)
  call void @s2n_x509_trust_store_init_empty(ptr noundef %283)
  call void @llvm.lifetime.start.p0(i64 12000, ptr %284) #10
  br label %9883

9883:                                             ; preds = %9875
  %9884 = load i32, ptr @test_count, align 4, !tbaa !5
  %9885 = add nsw i32 %9884, 1
  store i32 %9885, ptr @test_count, align 4, !tbaa !5
  %9886 = getelementptr inbounds [12000 x i8], ptr %284, i64 0, i64 0
  %9887 = call i32 @s2n_read_test_pem(ptr noundef @.str.31, ptr noundef %9886, i64 noundef 12000)
  %9888 = icmp eq i32 %9887, -1
  br i1 %9888, label %9889, label %9942

9889:                                             ; preds = %9883
  br label %9890

9890:                                             ; preds = %9889
  br label %9891

9891:                                             ; preds = %9890
  call void @llvm.lifetime.start.p0(i64 4, ptr %285) #10
  %9892 = call ptr @__errno_location() #11
  %9893 = load i32, ptr %9892, align 4, !tbaa !5
  store i32 %9893, ptr %285, align 4, !tbaa !5
  %9894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9895 = call i32 @s2n_print_stacktrace(ptr noundef %9894)
  %9896 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9897 = trunc i8 %9896 to i1
  br i1 %9897, label %9898, label %9920

9898:                                             ; preds = %9891
  %9899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9900 = call i32 @fileno(ptr noundef %9899) #10
  %9901 = call i32 @isatty(i32 noundef %9900) #10
  %9902 = icmp ne i32 %9901, 0
  br i1 %9902, label %9903, label %9920

9903:                                             ; preds = %9898
  %9904 = load i32, ptr %285, align 4, !tbaa !5
  %9905 = call ptr @__errno_location() #11
  store i32 %9904, ptr %9905, align 4, !tbaa !5
  %9906 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9907 = load i32, ptr @test_count, align 4, !tbaa !5
  %9908 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9909 = load i32, ptr %9908, align 4, !tbaa !5
  %9910 = call ptr @s2n_strerror(i32 noundef %9909, ptr noundef @.str.4)
  %9911 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9912 = load i32, ptr %9911, align 4, !tbaa !5
  %9913 = call ptr @s2n_strerror_debug(i32 noundef %9912, ptr noundef @.str.4)
  %9914 = call ptr @__errno_location() #11
  %9915 = load i32, ptr %9914, align 4, !tbaa !5
  %9916 = call ptr @strerror(i32 noundef %9915) #10
  %9917 = call ptr @__errno_location() #11
  %9918 = load i32, ptr %9917, align 4, !tbaa !5
  %9919 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9906, ptr noundef @.str.2, i32 noundef %9907, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 502, ptr noundef %9910, ptr noundef %9913, ptr noundef %9916, i32 noundef %9918) #10
  br label %9937

9920:                                             ; preds = %9898, %9891
  %9921 = load i32, ptr %285, align 4, !tbaa !5
  %9922 = call ptr @__errno_location() #11
  store i32 %9921, ptr %9922, align 4, !tbaa !5
  %9923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9924 = load i32, ptr @test_count, align 4, !tbaa !5
  %9925 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9926 = load i32, ptr %9925, align 4, !tbaa !5
  %9927 = call ptr @s2n_strerror(i32 noundef %9926, ptr noundef @.str.4)
  %9928 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9929 = load i32, ptr %9928, align 4, !tbaa !5
  %9930 = call ptr @s2n_strerror_debug(i32 noundef %9929, ptr noundef @.str.4)
  %9931 = call ptr @__errno_location() #11
  %9932 = load i32, ptr %9931, align 4, !tbaa !5
  %9933 = call ptr @strerror(i32 noundef %9932) #10
  %9934 = call ptr @__errno_location() #11
  %9935 = load i32, ptr %9934, align 4, !tbaa !5
  %9936 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9923, ptr noundef @.str.5, i32 noundef %9924, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 502, ptr noundef %9927, ptr noundef %9930, ptr noundef %9933, i32 noundef %9935) #10
  br label %9937

9937:                                             ; preds = %9920, %9903
  call void @llvm.lifetime.end.p0(i64 4, ptr %285) #10
  br label %9938

9938:                                             ; preds = %9937
  br label %9939

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

9940:                                             ; No predecessors!
  br label %9941

9941:                                             ; preds = %9940
  br label %9942

9942:                                             ; preds = %9941, %9883
  br label %9943

9943:                                             ; preds = %9942
  br label %9944

9944:                                             ; preds = %9943
  br label %9945

9945:                                             ; preds = %9944
  %9946 = load i32, ptr @test_count, align 4, !tbaa !5
  %9947 = add nsw i32 %9946, 1
  store i32 %9947, ptr @test_count, align 4, !tbaa !5
  %9948 = getelementptr inbounds [12000 x i8], ptr %284, i64 0, i64 0
  %9949 = call i32 @s2n_x509_trust_store_add_pem(ptr noundef %283, ptr noundef %9948)
  %9950 = icmp eq i32 %9949, -1
  br i1 %9950, label %9951, label %10004

9951:                                             ; preds = %9945
  br label %9952

9952:                                             ; preds = %9951
  br label %9953

9953:                                             ; preds = %9952
  call void @llvm.lifetime.start.p0(i64 4, ptr %286) #10
  %9954 = call ptr @__errno_location() #11
  %9955 = load i32, ptr %9954, align 4, !tbaa !5
  store i32 %9955, ptr %286, align 4, !tbaa !5
  %9956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9957 = call i32 @s2n_print_stacktrace(ptr noundef %9956)
  %9958 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9959 = trunc i8 %9958 to i1
  br i1 %9959, label %9960, label %9982

9960:                                             ; preds = %9953
  %9961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9962 = call i32 @fileno(ptr noundef %9961) #10
  %9963 = call i32 @isatty(i32 noundef %9962) #10
  %9964 = icmp ne i32 %9963, 0
  br i1 %9964, label %9965, label %9982

9965:                                             ; preds = %9960
  %9966 = load i32, ptr %286, align 4, !tbaa !5
  %9967 = call ptr @__errno_location() #11
  store i32 %9966, ptr %9967, align 4, !tbaa !5
  %9968 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9969 = load i32, ptr @test_count, align 4, !tbaa !5
  %9970 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9971 = load i32, ptr %9970, align 4, !tbaa !5
  %9972 = call ptr @s2n_strerror(i32 noundef %9971, ptr noundef @.str.4)
  %9973 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9974 = load i32, ptr %9973, align 4, !tbaa !5
  %9975 = call ptr @s2n_strerror_debug(i32 noundef %9974, ptr noundef @.str.4)
  %9976 = call ptr @__errno_location() #11
  %9977 = load i32, ptr %9976, align 4, !tbaa !5
  %9978 = call ptr @strerror(i32 noundef %9977) #10
  %9979 = call ptr @__errno_location() #11
  %9980 = load i32, ptr %9979, align 4, !tbaa !5
  %9981 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9968, ptr noundef @.str.2, i32 noundef %9969, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 503, ptr noundef %9972, ptr noundef %9975, ptr noundef %9978, i32 noundef %9980) #10
  br label %9999

9982:                                             ; preds = %9960, %9953
  %9983 = load i32, ptr %286, align 4, !tbaa !5
  %9984 = call ptr @__errno_location() #11
  store i32 %9983, ptr %9984, align 4, !tbaa !5
  %9985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9986 = load i32, ptr @test_count, align 4, !tbaa !5
  %9987 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9988 = load i32, ptr %9987, align 4, !tbaa !5
  %9989 = call ptr @s2n_strerror(i32 noundef %9988, ptr noundef @.str.4)
  %9990 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9991 = load i32, ptr %9990, align 4, !tbaa !5
  %9992 = call ptr @s2n_strerror_debug(i32 noundef %9991, ptr noundef @.str.4)
  %9993 = call ptr @__errno_location() #11
  %9994 = load i32, ptr %9993, align 4, !tbaa !5
  %9995 = call ptr @strerror(i32 noundef %9994) #10
  %9996 = call ptr @__errno_location() #11
  %9997 = load i32, ptr %9996, align 4, !tbaa !5
  %9998 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9985, ptr noundef @.str.5, i32 noundef %9986, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 503, ptr noundef %9989, ptr noundef %9992, ptr noundef %9995, i32 noundef %9997) #10
  br label %9999

9999:                                             ; preds = %9982, %9965
  call void @llvm.lifetime.end.p0(i64 4, ptr %286) #10
  br label %10000

10000:                                            ; preds = %9999
  br label %10001

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

10002:                                            ; No predecessors!
  br label %10003

10003:                                            ; preds = %10002
  br label %10004

10004:                                            ; preds = %10003, %9945
  br label %10005

10005:                                            ; preds = %10004
  br label %10006

10006:                                            ; preds = %10005
  call void @llvm.lifetime.start.p0(i64 56, ptr %287) #10
  br label %10007

10007:                                            ; preds = %10006
  %10008 = load i32, ptr @test_count, align 4, !tbaa !5
  %10009 = add nsw i32 %10008, 1
  store i32 %10009, ptr @test_count, align 4, !tbaa !5
  %10010 = call i32 @s2n_x509_validator_init(ptr noundef %287, ptr noundef %283, i8 noundef zeroext 0)
  %10011 = icmp eq i32 %10010, -1
  br i1 %10011, label %10012, label %10065

10012:                                            ; preds = %10007
  br label %10013

10013:                                            ; preds = %10012
  br label %10014

10014:                                            ; preds = %10013
  call void @llvm.lifetime.start.p0(i64 4, ptr %288) #10
  %10015 = call ptr @__errno_location() #11
  %10016 = load i32, ptr %10015, align 4, !tbaa !5
  store i32 %10016, ptr %288, align 4, !tbaa !5
  %10017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10018 = call i32 @s2n_print_stacktrace(ptr noundef %10017)
  %10019 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10020 = trunc i8 %10019 to i1
  br i1 %10020, label %10021, label %10043

10021:                                            ; preds = %10014
  %10022 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10023 = call i32 @fileno(ptr noundef %10022) #10
  %10024 = call i32 @isatty(i32 noundef %10023) #10
  %10025 = icmp ne i32 %10024, 0
  br i1 %10025, label %10026, label %10043

10026:                                            ; preds = %10021
  %10027 = load i32, ptr %288, align 4, !tbaa !5
  %10028 = call ptr @__errno_location() #11
  store i32 %10027, ptr %10028, align 4, !tbaa !5
  %10029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10030 = load i32, ptr @test_count, align 4, !tbaa !5
  %10031 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10032 = load i32, ptr %10031, align 4, !tbaa !5
  %10033 = call ptr @s2n_strerror(i32 noundef %10032, ptr noundef @.str.4)
  %10034 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10035 = load i32, ptr %10034, align 4, !tbaa !5
  %10036 = call ptr @s2n_strerror_debug(i32 noundef %10035, ptr noundef @.str.4)
  %10037 = call ptr @__errno_location() #11
  %10038 = load i32, ptr %10037, align 4, !tbaa !5
  %10039 = call ptr @strerror(i32 noundef %10038) #10
  %10040 = call ptr @__errno_location() #11
  %10041 = load i32, ptr %10040, align 4, !tbaa !5
  %10042 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10029, ptr noundef @.str.2, i32 noundef %10030, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 506, ptr noundef %10033, ptr noundef %10036, ptr noundef %10039, i32 noundef %10041) #10
  br label %10060

10043:                                            ; preds = %10021, %10014
  %10044 = load i32, ptr %288, align 4, !tbaa !5
  %10045 = call ptr @__errno_location() #11
  store i32 %10044, ptr %10045, align 4, !tbaa !5
  %10046 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10047 = load i32, ptr @test_count, align 4, !tbaa !5
  %10048 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10049 = load i32, ptr %10048, align 4, !tbaa !5
  %10050 = call ptr @s2n_strerror(i32 noundef %10049, ptr noundef @.str.4)
  %10051 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10052 = load i32, ptr %10051, align 4, !tbaa !5
  %10053 = call ptr @s2n_strerror_debug(i32 noundef %10052, ptr noundef @.str.4)
  %10054 = call ptr @__errno_location() #11
  %10055 = load i32, ptr %10054, align 4, !tbaa !5
  %10056 = call ptr @strerror(i32 noundef %10055) #10
  %10057 = call ptr @__errno_location() #11
  %10058 = load i32, ptr %10057, align 4, !tbaa !5
  %10059 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10046, ptr noundef @.str.5, i32 noundef %10047, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 506, ptr noundef %10050, ptr noundef %10053, ptr noundef %10056, i32 noundef %10058) #10
  br label %10060

10060:                                            ; preds = %10043, %10026
  call void @llvm.lifetime.end.p0(i64 4, ptr %288) #10
  br label %10061

10061:                                            ; preds = %10060
  br label %10062

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

10063:                                            ; No predecessors!
  br label %10064

10064:                                            ; preds = %10063
  br label %10065

10065:                                            ; preds = %10064, %10007
  br label %10066

10066:                                            ; preds = %10065
  br label %10067

10067:                                            ; preds = %10066
  call void @llvm.lifetime.start.p0(i64 88, ptr %289) #10
  call void @llvm.memset.p0.i64(ptr align 8 %289, i8 0, i64 88, i1 false)
  %10068 = load ptr, ptr %49, align 8, !tbaa !9
  %10069 = getelementptr inbounds %struct.crl_lookup_data, ptr %289, i32 0, i32 0
  %10070 = getelementptr inbounds [5 x ptr], ptr %10069, i64 0, i64 0
  store ptr %10068, ptr %10070, align 8, !tbaa !9
  %10071 = load ptr, ptr %43, align 8, !tbaa !9
  %10072 = getelementptr inbounds %struct.crl_lookup_data, ptr %289, i32 0, i32 0
  %10073 = getelementptr inbounds [5 x ptr], ptr %10072, i64 0, i64 1
  store ptr %10071, ptr %10073, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %290) #10
  %10074 = call ptr @s2n_config_new()
  store ptr %10074, ptr %290, align 8, !tbaa !9
  br label %10075

10075:                                            ; preds = %10067
  %10076 = load i32, ptr @test_count, align 4, !tbaa !5
  %10077 = add nsw i32 %10076, 1
  store i32 %10077, ptr @test_count, align 4, !tbaa !5
  %10078 = load ptr, ptr %290, align 8, !tbaa !9
  %10079 = icmp eq ptr %10078, null
  br i1 %10079, label %10080, label %10133

10080:                                            ; preds = %10075
  br label %10081

10081:                                            ; preds = %10080
  br label %10082

10082:                                            ; preds = %10081
  call void @llvm.lifetime.start.p0(i64 4, ptr %291) #10
  %10083 = call ptr @__errno_location() #11
  %10084 = load i32, ptr %10083, align 4, !tbaa !5
  store i32 %10084, ptr %291, align 4, !tbaa !5
  %10085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10086 = call i32 @s2n_print_stacktrace(ptr noundef %10085)
  %10087 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10088 = trunc i8 %10087 to i1
  br i1 %10088, label %10089, label %10111

10089:                                            ; preds = %10082
  %10090 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10091 = call i32 @fileno(ptr noundef %10090) #10
  %10092 = call i32 @isatty(i32 noundef %10091) #10
  %10093 = icmp ne i32 %10092, 0
  br i1 %10093, label %10094, label %10111

10094:                                            ; preds = %10089
  %10095 = load i32, ptr %291, align 4, !tbaa !5
  %10096 = call ptr @__errno_location() #11
  store i32 %10095, ptr %10096, align 4, !tbaa !5
  %10097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10098 = load i32, ptr @test_count, align 4, !tbaa !5
  %10099 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10100 = load i32, ptr %10099, align 4, !tbaa !5
  %10101 = call ptr @s2n_strerror(i32 noundef %10100, ptr noundef @.str.4)
  %10102 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10103 = load i32, ptr %10102, align 4, !tbaa !5
  %10104 = call ptr @s2n_strerror_debug(i32 noundef %10103, ptr noundef @.str.4)
  %10105 = call ptr @__errno_location() #11
  %10106 = load i32, ptr %10105, align 4, !tbaa !5
  %10107 = call ptr @strerror(i32 noundef %10106) #10
  %10108 = call ptr @__errno_location() #11
  %10109 = load i32, ptr %10108, align 4, !tbaa !5
  %10110 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10097, ptr noundef @.str.2, i32 noundef %10098, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 513, ptr noundef %10101, ptr noundef %10104, ptr noundef %10107, i32 noundef %10109) #10
  br label %10128

10111:                                            ; preds = %10089, %10082
  %10112 = load i32, ptr %291, align 4, !tbaa !5
  %10113 = call ptr @__errno_location() #11
  store i32 %10112, ptr %10113, align 4, !tbaa !5
  %10114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10115 = load i32, ptr @test_count, align 4, !tbaa !5
  %10116 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10117 = load i32, ptr %10116, align 4, !tbaa !5
  %10118 = call ptr @s2n_strerror(i32 noundef %10117, ptr noundef @.str.4)
  %10119 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10120 = load i32, ptr %10119, align 4, !tbaa !5
  %10121 = call ptr @s2n_strerror_debug(i32 noundef %10120, ptr noundef @.str.4)
  %10122 = call ptr @__errno_location() #11
  %10123 = load i32, ptr %10122, align 4, !tbaa !5
  %10124 = call ptr @strerror(i32 noundef %10123) #10
  %10125 = call ptr @__errno_location() #11
  %10126 = load i32, ptr %10125, align 4, !tbaa !5
  %10127 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10114, ptr noundef @.str.5, i32 noundef %10115, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 513, ptr noundef %10118, ptr noundef %10121, ptr noundef %10124, i32 noundef %10126) #10
  br label %10128

10128:                                            ; preds = %10111, %10094
  call void @llvm.lifetime.end.p0(i64 4, ptr %291) #10
  br label %10129

10129:                                            ; preds = %10128
  br label %10130

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

10131:                                            ; No predecessors!
  br label %10132

10132:                                            ; preds = %10131
  br label %10133

10133:                                            ; preds = %10132, %10075
  br label %10134

10134:                                            ; preds = %10133
  br label %10135

10135:                                            ; preds = %10134
  br label %10136

10136:                                            ; preds = %10135
  %10137 = load i32, ptr @test_count, align 4, !tbaa !5
  %10138 = add nsw i32 %10137, 1
  store i32 %10138, ptr @test_count, align 4, !tbaa !5
  %10139 = load ptr, ptr %290, align 8, !tbaa !9
  %10140 = call i32 @s2n_config_set_crl_lookup_cb(ptr noundef %10139, ptr noundef @crl_lookup_test_callback, ptr noundef %289)
  %10141 = icmp eq i32 %10140, -1
  br i1 %10141, label %10142, label %10195

10142:                                            ; preds = %10136
  br label %10143

10143:                                            ; preds = %10142
  br label %10144

10144:                                            ; preds = %10143
  call void @llvm.lifetime.start.p0(i64 4, ptr %292) #10
  %10145 = call ptr @__errno_location() #11
  %10146 = load i32, ptr %10145, align 4, !tbaa !5
  store i32 %10146, ptr %292, align 4, !tbaa !5
  %10147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10148 = call i32 @s2n_print_stacktrace(ptr noundef %10147)
  %10149 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10150 = trunc i8 %10149 to i1
  br i1 %10150, label %10151, label %10173

10151:                                            ; preds = %10144
  %10152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10153 = call i32 @fileno(ptr noundef %10152) #10
  %10154 = call i32 @isatty(i32 noundef %10153) #10
  %10155 = icmp ne i32 %10154, 0
  br i1 %10155, label %10156, label %10173

10156:                                            ; preds = %10151
  %10157 = load i32, ptr %292, align 4, !tbaa !5
  %10158 = call ptr @__errno_location() #11
  store i32 %10157, ptr %10158, align 4, !tbaa !5
  %10159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10160 = load i32, ptr @test_count, align 4, !tbaa !5
  %10161 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10162 = load i32, ptr %10161, align 4, !tbaa !5
  %10163 = call ptr @s2n_strerror(i32 noundef %10162, ptr noundef @.str.4)
  %10164 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10165 = load i32, ptr %10164, align 4, !tbaa !5
  %10166 = call ptr @s2n_strerror_debug(i32 noundef %10165, ptr noundef @.str.4)
  %10167 = call ptr @__errno_location() #11
  %10168 = load i32, ptr %10167, align 4, !tbaa !5
  %10169 = call ptr @strerror(i32 noundef %10168) #10
  %10170 = call ptr @__errno_location() #11
  %10171 = load i32, ptr %10170, align 4, !tbaa !5
  %10172 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10159, ptr noundef @.str.2, i32 noundef %10160, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 514, ptr noundef %10163, ptr noundef %10166, ptr noundef %10169, i32 noundef %10171) #10
  br label %10190

10173:                                            ; preds = %10151, %10144
  %10174 = load i32, ptr %292, align 4, !tbaa !5
  %10175 = call ptr @__errno_location() #11
  store i32 %10174, ptr %10175, align 4, !tbaa !5
  %10176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10177 = load i32, ptr @test_count, align 4, !tbaa !5
  %10178 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10179 = load i32, ptr %10178, align 4, !tbaa !5
  %10180 = call ptr @s2n_strerror(i32 noundef %10179, ptr noundef @.str.4)
  %10181 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10182 = load i32, ptr %10181, align 4, !tbaa !5
  %10183 = call ptr @s2n_strerror_debug(i32 noundef %10182, ptr noundef @.str.4)
  %10184 = call ptr @__errno_location() #11
  %10185 = load i32, ptr %10184, align 4, !tbaa !5
  %10186 = call ptr @strerror(i32 noundef %10185) #10
  %10187 = call ptr @__errno_location() #11
  %10188 = load i32, ptr %10187, align 4, !tbaa !5
  %10189 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10176, ptr noundef @.str.5, i32 noundef %10177, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 514, ptr noundef %10180, ptr noundef %10183, ptr noundef %10186, i32 noundef %10188) #10
  br label %10190

10190:                                            ; preds = %10173, %10156
  call void @llvm.lifetime.end.p0(i64 4, ptr %292) #10
  br label %10191

10191:                                            ; preds = %10190
  br label %10192

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

10193:                                            ; No predecessors!
  br label %10194

10194:                                            ; preds = %10193
  br label %10195

10195:                                            ; preds = %10194, %10136
  br label %10196

10196:                                            ; preds = %10195
  br label %10197

10197:                                            ; preds = %10196
  call void @llvm.lifetime.start.p0(i64 8, ptr %293) #10
  %10198 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %10198, ptr %293, align 8, !tbaa !9
  br label %10199

10199:                                            ; preds = %10197
  %10200 = load i32, ptr @test_count, align 4, !tbaa !5
  %10201 = add nsw i32 %10200, 1
  store i32 %10201, ptr @test_count, align 4, !tbaa !5
  %10202 = load ptr, ptr %293, align 8, !tbaa !9
  %10203 = icmp eq ptr %10202, null
  br i1 %10203, label %10204, label %10257

10204:                                            ; preds = %10199
  br label %10205

10205:                                            ; preds = %10204
  br label %10206

10206:                                            ; preds = %10205
  call void @llvm.lifetime.start.p0(i64 4, ptr %294) #10
  %10207 = call ptr @__errno_location() #11
  %10208 = load i32, ptr %10207, align 4, !tbaa !5
  store i32 %10208, ptr %294, align 4, !tbaa !5
  %10209 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10210 = call i32 @s2n_print_stacktrace(ptr noundef %10209)
  %10211 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10212 = trunc i8 %10211 to i1
  br i1 %10212, label %10213, label %10235

10213:                                            ; preds = %10206
  %10214 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10215 = call i32 @fileno(ptr noundef %10214) #10
  %10216 = call i32 @isatty(i32 noundef %10215) #10
  %10217 = icmp ne i32 %10216, 0
  br i1 %10217, label %10218, label %10235

10218:                                            ; preds = %10213
  %10219 = load i32, ptr %294, align 4, !tbaa !5
  %10220 = call ptr @__errno_location() #11
  store i32 %10219, ptr %10220, align 4, !tbaa !5
  %10221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10222 = load i32, ptr @test_count, align 4, !tbaa !5
  %10223 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10224 = load i32, ptr %10223, align 4, !tbaa !5
  %10225 = call ptr @s2n_strerror(i32 noundef %10224, ptr noundef @.str.4)
  %10226 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10227 = load i32, ptr %10226, align 4, !tbaa !5
  %10228 = call ptr @s2n_strerror_debug(i32 noundef %10227, ptr noundef @.str.4)
  %10229 = call ptr @__errno_location() #11
  %10230 = load i32, ptr %10229, align 4, !tbaa !5
  %10231 = call ptr @strerror(i32 noundef %10230) #10
  %10232 = call ptr @__errno_location() #11
  %10233 = load i32, ptr %10232, align 4, !tbaa !5
  %10234 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10221, ptr noundef @.str.2, i32 noundef %10222, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 517, ptr noundef %10225, ptr noundef %10228, ptr noundef %10231, i32 noundef %10233) #10
  br label %10252

10235:                                            ; preds = %10213, %10206
  %10236 = load i32, ptr %294, align 4, !tbaa !5
  %10237 = call ptr @__errno_location() #11
  store i32 %10236, ptr %10237, align 4, !tbaa !5
  %10238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10239 = load i32, ptr @test_count, align 4, !tbaa !5
  %10240 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10241 = load i32, ptr %10240, align 4, !tbaa !5
  %10242 = call ptr @s2n_strerror(i32 noundef %10241, ptr noundef @.str.4)
  %10243 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10244 = load i32, ptr %10243, align 4, !tbaa !5
  %10245 = call ptr @s2n_strerror_debug(i32 noundef %10244, ptr noundef @.str.4)
  %10246 = call ptr @__errno_location() #11
  %10247 = load i32, ptr %10246, align 4, !tbaa !5
  %10248 = call ptr @strerror(i32 noundef %10247) #10
  %10249 = call ptr @__errno_location() #11
  %10250 = load i32, ptr %10249, align 4, !tbaa !5
  %10251 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10238, ptr noundef @.str.5, i32 noundef %10239, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 517, ptr noundef %10242, ptr noundef %10245, ptr noundef %10248, i32 noundef %10250) #10
  br label %10252

10252:                                            ; preds = %10235, %10218
  call void @llvm.lifetime.end.p0(i64 4, ptr %294) #10
  br label %10253

10253:                                            ; preds = %10252
  br label %10254

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

10255:                                            ; No predecessors!
  br label %10256

10256:                                            ; preds = %10255
  br label %10257

10257:                                            ; preds = %10256, %10199
  br label %10258

10258:                                            ; preds = %10257
  br label %10259

10259:                                            ; preds = %10258
  br label %10260

10260:                                            ; preds = %10259
  %10261 = load i32, ptr @test_count, align 4, !tbaa !5
  %10262 = add nsw i32 %10261, 1
  store i32 %10262, ptr @test_count, align 4, !tbaa !5
  %10263 = load ptr, ptr %293, align 8, !tbaa !9
  %10264 = load ptr, ptr %290, align 8, !tbaa !9
  %10265 = call i32 @s2n_connection_set_config(ptr noundef %10263, ptr noundef %10264)
  %10266 = icmp eq i32 %10265, -1
  br i1 %10266, label %10267, label %10320

10267:                                            ; preds = %10260
  br label %10268

10268:                                            ; preds = %10267
  br label %10269

10269:                                            ; preds = %10268
  call void @llvm.lifetime.start.p0(i64 4, ptr %295) #10
  %10270 = call ptr @__errno_location() #11
  %10271 = load i32, ptr %10270, align 4, !tbaa !5
  store i32 %10271, ptr %295, align 4, !tbaa !5
  %10272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10273 = call i32 @s2n_print_stacktrace(ptr noundef %10272)
  %10274 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10275 = trunc i8 %10274 to i1
  br i1 %10275, label %10276, label %10298

10276:                                            ; preds = %10269
  %10277 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10278 = call i32 @fileno(ptr noundef %10277) #10
  %10279 = call i32 @isatty(i32 noundef %10278) #10
  %10280 = icmp ne i32 %10279, 0
  br i1 %10280, label %10281, label %10298

10281:                                            ; preds = %10276
  %10282 = load i32, ptr %295, align 4, !tbaa !5
  %10283 = call ptr @__errno_location() #11
  store i32 %10282, ptr %10283, align 4, !tbaa !5
  %10284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10285 = load i32, ptr @test_count, align 4, !tbaa !5
  %10286 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10287 = load i32, ptr %10286, align 4, !tbaa !5
  %10288 = call ptr @s2n_strerror(i32 noundef %10287, ptr noundef @.str.4)
  %10289 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10290 = load i32, ptr %10289, align 4, !tbaa !5
  %10291 = call ptr @s2n_strerror_debug(i32 noundef %10290, ptr noundef @.str.4)
  %10292 = call ptr @__errno_location() #11
  %10293 = load i32, ptr %10292, align 4, !tbaa !5
  %10294 = call ptr @strerror(i32 noundef %10293) #10
  %10295 = call ptr @__errno_location() #11
  %10296 = load i32, ptr %10295, align 4, !tbaa !5
  %10297 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10284, ptr noundef @.str.2, i32 noundef %10285, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 518, ptr noundef %10288, ptr noundef %10291, ptr noundef %10294, i32 noundef %10296) #10
  br label %10315

10298:                                            ; preds = %10276, %10269
  %10299 = load i32, ptr %295, align 4, !tbaa !5
  %10300 = call ptr @__errno_location() #11
  store i32 %10299, ptr %10300, align 4, !tbaa !5
  %10301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10302 = load i32, ptr @test_count, align 4, !tbaa !5
  %10303 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10304 = load i32, ptr %10303, align 4, !tbaa !5
  %10305 = call ptr @s2n_strerror(i32 noundef %10304, ptr noundef @.str.4)
  %10306 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10307 = load i32, ptr %10306, align 4, !tbaa !5
  %10308 = call ptr @s2n_strerror_debug(i32 noundef %10307, ptr noundef @.str.4)
  %10309 = call ptr @__errno_location() #11
  %10310 = load i32, ptr %10309, align 4, !tbaa !5
  %10311 = call ptr @strerror(i32 noundef %10310) #10
  %10312 = call ptr @__errno_location() #11
  %10313 = load i32, ptr %10312, align 4, !tbaa !5
  %10314 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10301, ptr noundef @.str.5, i32 noundef %10302, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 518, ptr noundef %10305, ptr noundef %10308, ptr noundef %10311, i32 noundef %10313) #10
  br label %10315

10315:                                            ; preds = %10298, %10281
  call void @llvm.lifetime.end.p0(i64 4, ptr %295) #10
  br label %10316

10316:                                            ; preds = %10315
  br label %10317

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

10318:                                            ; No predecessors!
  br label %10319

10319:                                            ; preds = %10318
  br label %10320

10320:                                            ; preds = %10319, %10260
  br label %10321

10321:                                            ; preds = %10320
  br label %10322

10322:                                            ; preds = %10321
  br label %10323

10323:                                            ; preds = %10322
  %10324 = load i32, ptr @test_count, align 4, !tbaa !5
  %10325 = add nsw i32 %10324, 1
  store i32 %10325, ptr @test_count, align 4, !tbaa !5
  %10326 = load ptr, ptr %293, align 8, !tbaa !9
  %10327 = call i32 @s2n_set_server_name(ptr noundef %10326, ptr noundef @.str.39)
  %10328 = icmp eq i32 %10327, -1
  br i1 %10328, label %10329, label %10382

10329:                                            ; preds = %10323
  br label %10330

10330:                                            ; preds = %10329
  br label %10331

10331:                                            ; preds = %10330
  call void @llvm.lifetime.start.p0(i64 4, ptr %296) #10
  %10332 = call ptr @__errno_location() #11
  %10333 = load i32, ptr %10332, align 4, !tbaa !5
  store i32 %10333, ptr %296, align 4, !tbaa !5
  %10334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10335 = call i32 @s2n_print_stacktrace(ptr noundef %10334)
  %10336 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10337 = trunc i8 %10336 to i1
  br i1 %10337, label %10338, label %10360

10338:                                            ; preds = %10331
  %10339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10340 = call i32 @fileno(ptr noundef %10339) #10
  %10341 = call i32 @isatty(i32 noundef %10340) #10
  %10342 = icmp ne i32 %10341, 0
  br i1 %10342, label %10343, label %10360

10343:                                            ; preds = %10338
  %10344 = load i32, ptr %296, align 4, !tbaa !5
  %10345 = call ptr @__errno_location() #11
  store i32 %10344, ptr %10345, align 4, !tbaa !5
  %10346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10347 = load i32, ptr @test_count, align 4, !tbaa !5
  %10348 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10349 = load i32, ptr %10348, align 4, !tbaa !5
  %10350 = call ptr @s2n_strerror(i32 noundef %10349, ptr noundef @.str.4)
  %10351 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10352 = load i32, ptr %10351, align 4, !tbaa !5
  %10353 = call ptr @s2n_strerror_debug(i32 noundef %10352, ptr noundef @.str.4)
  %10354 = call ptr @__errno_location() #11
  %10355 = load i32, ptr %10354, align 4, !tbaa !5
  %10356 = call ptr @strerror(i32 noundef %10355) #10
  %10357 = call ptr @__errno_location() #11
  %10358 = load i32, ptr %10357, align 4, !tbaa !5
  %10359 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10346, ptr noundef @.str.2, i32 noundef %10347, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 519, ptr noundef %10350, ptr noundef %10353, ptr noundef %10356, i32 noundef %10358) #10
  br label %10377

10360:                                            ; preds = %10338, %10331
  %10361 = load i32, ptr %296, align 4, !tbaa !5
  %10362 = call ptr @__errno_location() #11
  store i32 %10361, ptr %10362, align 4, !tbaa !5
  %10363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10364 = load i32, ptr @test_count, align 4, !tbaa !5
  %10365 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10366 = load i32, ptr %10365, align 4, !tbaa !5
  %10367 = call ptr @s2n_strerror(i32 noundef %10366, ptr noundef @.str.4)
  %10368 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10369 = load i32, ptr %10368, align 4, !tbaa !5
  %10370 = call ptr @s2n_strerror_debug(i32 noundef %10369, ptr noundef @.str.4)
  %10371 = call ptr @__errno_location() #11
  %10372 = load i32, ptr %10371, align 4, !tbaa !5
  %10373 = call ptr @strerror(i32 noundef %10372) #10
  %10374 = call ptr @__errno_location() #11
  %10375 = load i32, ptr %10374, align 4, !tbaa !5
  %10376 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10363, ptr noundef @.str.5, i32 noundef %10364, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 519, ptr noundef %10367, ptr noundef %10370, ptr noundef %10373, i32 noundef %10375) #10
  br label %10377

10377:                                            ; preds = %10360, %10343
  call void @llvm.lifetime.end.p0(i64 4, ptr %296) #10
  br label %10378

10378:                                            ; preds = %10377
  br label %10379

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

10380:                                            ; No predecessors!
  br label %10381

10381:                                            ; preds = %10380
  br label %10382

10382:                                            ; preds = %10381, %10323
  br label %10383

10383:                                            ; preds = %10382
  br label %10384

10384:                                            ; preds = %10383
  call void @llvm.lifetime.start.p0(i64 40, ptr %297) #10
  call void @llvm.memset.p0.i64(ptr align 8 %297, i8 0, i64 40, i1 false)
  br label %10385

10385:                                            ; preds = %10384
  %10386 = load i32, ptr @test_count, align 4, !tbaa !5
  %10387 = add nsw i32 %10386, 1
  store i32 %10387, ptr @test_count, align 4, !tbaa !5
  %10388 = load ptr, ptr %293, align 8, !tbaa !9
  %10389 = call i32 @s2n_test_cert_chain_data_from_pem(ptr noundef %10388, ptr noundef @.str.41, ptr noundef %297)
  %10390 = getelementptr inbounds %struct.s2n_result, ptr %298, i32 0, i32 0
  store i32 %10389, ptr %10390, align 4
  %10391 = getelementptr inbounds %struct.s2n_result, ptr %298, i32 0, i32 0
  %10392 = load i32, ptr %10391, align 4
  %10393 = call zeroext i1 @s2n_result_is_ok(i32 %10392)
  br i1 %10393, label %10447, label %10394

10394:                                            ; preds = %10385
  br label %10395

10395:                                            ; preds = %10394
  br label %10396

10396:                                            ; preds = %10395
  call void @llvm.lifetime.start.p0(i64 4, ptr %299) #10
  %10397 = call ptr @__errno_location() #11
  %10398 = load i32, ptr %10397, align 4, !tbaa !5
  store i32 %10398, ptr %299, align 4, !tbaa !5
  %10399 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10400 = call i32 @s2n_print_stacktrace(ptr noundef %10399)
  %10401 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10402 = trunc i8 %10401 to i1
  br i1 %10402, label %10403, label %10425

10403:                                            ; preds = %10396
  %10404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10405 = call i32 @fileno(ptr noundef %10404) #10
  %10406 = call i32 @isatty(i32 noundef %10405) #10
  %10407 = icmp ne i32 %10406, 0
  br i1 %10407, label %10408, label %10425

10408:                                            ; preds = %10403
  %10409 = load i32, ptr %299, align 4, !tbaa !5
  %10410 = call ptr @__errno_location() #11
  store i32 %10409, ptr %10410, align 4, !tbaa !5
  %10411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10412 = load i32, ptr @test_count, align 4, !tbaa !5
  %10413 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10414 = load i32, ptr %10413, align 4, !tbaa !5
  %10415 = call ptr @s2n_strerror(i32 noundef %10414, ptr noundef @.str.4)
  %10416 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10417 = load i32, ptr %10416, align 4, !tbaa !5
  %10418 = call ptr @s2n_strerror_debug(i32 noundef %10417, ptr noundef @.str.4)
  %10419 = call ptr @__errno_location() #11
  %10420 = load i32, ptr %10419, align 4, !tbaa !5
  %10421 = call ptr @strerror(i32 noundef %10420) #10
  %10422 = call ptr @__errno_location() #11
  %10423 = load i32, ptr %10422, align 4, !tbaa !5
  %10424 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10411, ptr noundef @.str.2, i32 noundef %10412, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 522, ptr noundef %10415, ptr noundef %10418, ptr noundef %10421, i32 noundef %10423) #10
  br label %10442

10425:                                            ; preds = %10403, %10396
  %10426 = load i32, ptr %299, align 4, !tbaa !5
  %10427 = call ptr @__errno_location() #11
  store i32 %10426, ptr %10427, align 4, !tbaa !5
  %10428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10429 = load i32, ptr @test_count, align 4, !tbaa !5
  %10430 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10431 = load i32, ptr %10430, align 4, !tbaa !5
  %10432 = call ptr @s2n_strerror(i32 noundef %10431, ptr noundef @.str.4)
  %10433 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10434 = load i32, ptr %10433, align 4, !tbaa !5
  %10435 = call ptr @s2n_strerror_debug(i32 noundef %10434, ptr noundef @.str.4)
  %10436 = call ptr @__errno_location() #11
  %10437 = load i32, ptr %10436, align 4, !tbaa !5
  %10438 = call ptr @strerror(i32 noundef %10437) #10
  %10439 = call ptr @__errno_location() #11
  %10440 = load i32, ptr %10439, align 4, !tbaa !5
  %10441 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10428, ptr noundef @.str.5, i32 noundef %10429, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 522, ptr noundef %10432, ptr noundef %10435, ptr noundef %10438, i32 noundef %10440) #10
  br label %10442

10442:                                            ; preds = %10425, %10408
  call void @llvm.lifetime.end.p0(i64 4, ptr %299) #10
  br label %10443

10443:                                            ; preds = %10442
  br label %10444

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

10445:                                            ; No predecessors!
  br label %10446

10446:                                            ; preds = %10445
  br label %10447

10447:                                            ; preds = %10446, %10385
  br label %10448

10448:                                            ; preds = %10447
  br label %10449

10449:                                            ; preds = %10448
  call void @llvm.lifetime.start.p0(i64 4, ptr %300) #10
  %10450 = getelementptr inbounds %struct.s2n_stuffer, ptr %297, i32 0, i32 2
  %10451 = load i32, ptr %10450, align 4, !tbaa !23
  %10452 = getelementptr inbounds %struct.s2n_stuffer, ptr %297, i32 0, i32 1
  %10453 = load i32, ptr %10452, align 8, !tbaa !26
  %10454 = sub i32 %10451, %10453
  store i32 %10454, ptr %300, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %301) #10
  %10455 = load i32, ptr %300, align 4, !tbaa !5
  %10456 = call ptr @s2n_stuffer_raw_read(ptr noundef %297, i32 noundef %10455)
  store ptr %10456, ptr %301, align 8, !tbaa !9
  br label %10457

10457:                                            ; preds = %10449
  %10458 = load i32, ptr @test_count, align 4, !tbaa !5
  %10459 = add nsw i32 %10458, 1
  store i32 %10459, ptr @test_count, align 4, !tbaa !5
  %10460 = load ptr, ptr %301, align 8, !tbaa !9
  %10461 = icmp eq ptr %10460, null
  br i1 %10461, label %10462, label %10515

10462:                                            ; preds = %10457
  br label %10463

10463:                                            ; preds = %10462
  br label %10464

10464:                                            ; preds = %10463
  call void @llvm.lifetime.start.p0(i64 4, ptr %302) #10
  %10465 = call ptr @__errno_location() #11
  %10466 = load i32, ptr %10465, align 4, !tbaa !5
  store i32 %10466, ptr %302, align 4, !tbaa !5
  %10467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10468 = call i32 @s2n_print_stacktrace(ptr noundef %10467)
  %10469 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10470 = trunc i8 %10469 to i1
  br i1 %10470, label %10471, label %10493

10471:                                            ; preds = %10464
  %10472 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10473 = call i32 @fileno(ptr noundef %10472) #10
  %10474 = call i32 @isatty(i32 noundef %10473) #10
  %10475 = icmp ne i32 %10474, 0
  br i1 %10475, label %10476, label %10493

10476:                                            ; preds = %10471
  %10477 = load i32, ptr %302, align 4, !tbaa !5
  %10478 = call ptr @__errno_location() #11
  store i32 %10477, ptr %10478, align 4, !tbaa !5
  %10479 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10480 = load i32, ptr @test_count, align 4, !tbaa !5
  %10481 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10482 = load i32, ptr %10481, align 4, !tbaa !5
  %10483 = call ptr @s2n_strerror(i32 noundef %10482, ptr noundef @.str.4)
  %10484 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10485 = load i32, ptr %10484, align 4, !tbaa !5
  %10486 = call ptr @s2n_strerror_debug(i32 noundef %10485, ptr noundef @.str.4)
  %10487 = call ptr @__errno_location() #11
  %10488 = load i32, ptr %10487, align 4, !tbaa !5
  %10489 = call ptr @strerror(i32 noundef %10488) #10
  %10490 = call ptr @__errno_location() #11
  %10491 = load i32, ptr %10490, align 4, !tbaa !5
  %10492 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10479, ptr noundef @.str.2, i32 noundef %10480, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 525, ptr noundef %10483, ptr noundef %10486, ptr noundef %10489, i32 noundef %10491) #10
  br label %10510

10493:                                            ; preds = %10471, %10464
  %10494 = load i32, ptr %302, align 4, !tbaa !5
  %10495 = call ptr @__errno_location() #11
  store i32 %10494, ptr %10495, align 4, !tbaa !5
  %10496 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10497 = load i32, ptr @test_count, align 4, !tbaa !5
  %10498 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10499 = load i32, ptr %10498, align 4, !tbaa !5
  %10500 = call ptr @s2n_strerror(i32 noundef %10499, ptr noundef @.str.4)
  %10501 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10502 = load i32, ptr %10501, align 4, !tbaa !5
  %10503 = call ptr @s2n_strerror_debug(i32 noundef %10502, ptr noundef @.str.4)
  %10504 = call ptr @__errno_location() #11
  %10505 = load i32, ptr %10504, align 4, !tbaa !5
  %10506 = call ptr @strerror(i32 noundef %10505) #10
  %10507 = call ptr @__errno_location() #11
  %10508 = load i32, ptr %10507, align 4, !tbaa !5
  %10509 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10496, ptr noundef @.str.5, i32 noundef %10497, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 525, ptr noundef %10500, ptr noundef %10503, ptr noundef %10506, i32 noundef %10508) #10
  br label %10510

10510:                                            ; preds = %10493, %10476
  call void @llvm.lifetime.end.p0(i64 4, ptr %302) #10
  br label %10511

10511:                                            ; preds = %10510
  br label %10512

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

10513:                                            ; No predecessors!
  br label %10514

10514:                                            ; preds = %10513
  br label %10515

10515:                                            ; preds = %10514, %10457
  br label %10516

10516:                                            ; preds = %10515
  br label %10517

10517:                                            ; preds = %10516
  call void @llvm.lifetime.start.p0(i64 48, ptr %303) #10
  call void @llvm.memset.p0.i64(ptr align 8 %303, i8 0, i64 48, i1 false)
  br label %10518

10518:                                            ; preds = %10517
  %10519 = load i32, ptr @test_count, align 4, !tbaa !5
  %10520 = add nsw i32 %10519, 1
  store i32 %10520, ptr @test_count, align 4, !tbaa !5
  %10521 = call i32 @s2n_pkey_zero_init(ptr noundef %303)
  %10522 = icmp eq i32 %10521, -1
  br i1 %10522, label %10523, label %10576

10523:                                            ; preds = %10518
  br label %10524

10524:                                            ; preds = %10523
  br label %10525

10525:                                            ; preds = %10524
  call void @llvm.lifetime.start.p0(i64 4, ptr %304) #10
  %10526 = call ptr @__errno_location() #11
  %10527 = load i32, ptr %10526, align 4, !tbaa !5
  store i32 %10527, ptr %304, align 4, !tbaa !5
  %10528 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10529 = call i32 @s2n_print_stacktrace(ptr noundef %10528)
  %10530 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10531 = trunc i8 %10530 to i1
  br i1 %10531, label %10532, label %10554

10532:                                            ; preds = %10525
  %10533 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10534 = call i32 @fileno(ptr noundef %10533) #10
  %10535 = call i32 @isatty(i32 noundef %10534) #10
  %10536 = icmp ne i32 %10535, 0
  br i1 %10536, label %10537, label %10554

10537:                                            ; preds = %10532
  %10538 = load i32, ptr %304, align 4, !tbaa !5
  %10539 = call ptr @__errno_location() #11
  store i32 %10538, ptr %10539, align 4, !tbaa !5
  %10540 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10541 = load i32, ptr @test_count, align 4, !tbaa !5
  %10542 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10543 = load i32, ptr %10542, align 4, !tbaa !5
  %10544 = call ptr @s2n_strerror(i32 noundef %10543, ptr noundef @.str.4)
  %10545 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10546 = load i32, ptr %10545, align 4, !tbaa !5
  %10547 = call ptr @s2n_strerror_debug(i32 noundef %10546, ptr noundef @.str.4)
  %10548 = call ptr @__errno_location() #11
  %10549 = load i32, ptr %10548, align 4, !tbaa !5
  %10550 = call ptr @strerror(i32 noundef %10549) #10
  %10551 = call ptr @__errno_location() #11
  %10552 = load i32, ptr %10551, align 4, !tbaa !5
  %10553 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10540, ptr noundef @.str.2, i32 noundef %10541, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 528, ptr noundef %10544, ptr noundef %10547, ptr noundef %10550, i32 noundef %10552) #10
  br label %10571

10554:                                            ; preds = %10532, %10525
  %10555 = load i32, ptr %304, align 4, !tbaa !5
  %10556 = call ptr @__errno_location() #11
  store i32 %10555, ptr %10556, align 4, !tbaa !5
  %10557 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10558 = load i32, ptr @test_count, align 4, !tbaa !5
  %10559 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10560 = load i32, ptr %10559, align 4, !tbaa !5
  %10561 = call ptr @s2n_strerror(i32 noundef %10560, ptr noundef @.str.4)
  %10562 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10563 = load i32, ptr %10562, align 4, !tbaa !5
  %10564 = call ptr @s2n_strerror_debug(i32 noundef %10563, ptr noundef @.str.4)
  %10565 = call ptr @__errno_location() #11
  %10566 = load i32, ptr %10565, align 4, !tbaa !5
  %10567 = call ptr @strerror(i32 noundef %10566) #10
  %10568 = call ptr @__errno_location() #11
  %10569 = load i32, ptr %10568, align 4, !tbaa !5
  %10570 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10557, ptr noundef @.str.5, i32 noundef %10558, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 528, ptr noundef %10561, ptr noundef %10564, ptr noundef %10567, i32 noundef %10569) #10
  br label %10571

10571:                                            ; preds = %10554, %10537
  call void @llvm.lifetime.end.p0(i64 4, ptr %304) #10
  br label %10572

10572:                                            ; preds = %10571
  br label %10573

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

10574:                                            ; No predecessors!
  br label %10575

10575:                                            ; preds = %10574
  br label %10576

10576:                                            ; preds = %10575, %10518
  br label %10577

10577:                                            ; preds = %10576
  br label %10578

10578:                                            ; preds = %10577
  call void @llvm.lifetime.start.p0(i64 4, ptr %305) #10
  store i32 -1, ptr %305, align 4, !tbaa !5
  br label %10579

10579:                                            ; preds = %10578
  %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 = load ptr, ptr %293, align 8, !tbaa !9
  %10583 = load ptr, ptr %301, align 8, !tbaa !9
  %10584 = load i32, ptr %300, align 4, !tbaa !5
  %10585 = call i32 @s2n_x509_validator_validate_cert_chain(ptr noundef %287, ptr noundef %10582, ptr noundef %10583, i32 noundef %10584, ptr noundef %305, ptr noundef %303)
  %10586 = getelementptr inbounds %struct.s2n_result, ptr %306, i32 0, i32 0
  store i32 %10585, ptr %10586, align 4
  %10587 = getelementptr inbounds %struct.s2n_result, ptr %306, i32 0, i32 0
  %10588 = load i32, ptr %10587, align 4
  %10589 = call zeroext i1 @s2n_result_is_ok(i32 %10588)
  br i1 %10589, label %10643, label %10590

10590:                                            ; preds = %10579
  br label %10591

10591:                                            ; preds = %10590
  br label %10592

10592:                                            ; preds = %10591
  call void @llvm.lifetime.start.p0(i64 4, ptr %307) #10
  %10593 = call ptr @__errno_location() #11
  %10594 = load i32, ptr %10593, align 4, !tbaa !5
  store i32 %10594, ptr %307, align 4, !tbaa !5
  %10595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10596 = call i32 @s2n_print_stacktrace(ptr noundef %10595)
  %10597 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10598 = trunc i8 %10597 to i1
  br i1 %10598, label %10599, label %10621

10599:                                            ; preds = %10592
  %10600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10601 = call i32 @fileno(ptr noundef %10600) #10
  %10602 = call i32 @isatty(i32 noundef %10601) #10
  %10603 = icmp ne i32 %10602, 0
  br i1 %10603, label %10604, label %10621

10604:                                            ; preds = %10599
  %10605 = load i32, ptr %307, align 4, !tbaa !5
  %10606 = call ptr @__errno_location() #11
  store i32 %10605, ptr %10606, align 4, !tbaa !5
  %10607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10608 = load i32, ptr @test_count, align 4, !tbaa !5
  %10609 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10610 = load i32, ptr %10609, align 4, !tbaa !5
  %10611 = call ptr @s2n_strerror(i32 noundef %10610, ptr noundef @.str.4)
  %10612 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10613 = load i32, ptr %10612, align 4, !tbaa !5
  %10614 = call ptr @s2n_strerror_debug(i32 noundef %10613, ptr noundef @.str.4)
  %10615 = call ptr @__errno_location() #11
  %10616 = load i32, ptr %10615, align 4, !tbaa !5
  %10617 = call ptr @strerror(i32 noundef %10616) #10
  %10618 = call ptr @__errno_location() #11
  %10619 = load i32, ptr %10618, align 4, !tbaa !5
  %10620 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10607, ptr noundef @.str.2, i32 noundef %10608, ptr noundef @.str.64, ptr noundef @.str.1, i32 noundef 531, ptr noundef %10611, ptr noundef %10614, ptr noundef %10617, i32 noundef %10619) #10
  br label %10638

10621:                                            ; preds = %10599, %10592
  %10622 = load i32, ptr %307, align 4, !tbaa !5
  %10623 = call ptr @__errno_location() #11
  store i32 %10622, ptr %10623, align 4, !tbaa !5
  %10624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10625 = load i32, ptr @test_count, align 4, !tbaa !5
  %10626 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10627 = load i32, ptr %10626, align 4, !tbaa !5
  %10628 = call ptr @s2n_strerror(i32 noundef %10627, ptr noundef @.str.4)
  %10629 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10630 = load i32, ptr %10629, align 4, !tbaa !5
  %10631 = call ptr @s2n_strerror_debug(i32 noundef %10630, ptr noundef @.str.4)
  %10632 = call ptr @__errno_location() #11
  %10633 = load i32, ptr %10632, align 4, !tbaa !5
  %10634 = call ptr @strerror(i32 noundef %10633) #10
  %10635 = call ptr @__errno_location() #11
  %10636 = load i32, ptr %10635, align 4, !tbaa !5
  %10637 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10624, ptr noundef @.str.5, i32 noundef %10625, ptr noundef @.str.64, ptr noundef @.str.1, i32 noundef 531, ptr noundef %10628, ptr noundef %10631, ptr noundef %10634, i32 noundef %10636) #10
  br label %10638

10638:                                            ; preds = %10621, %10604
  call void @llvm.lifetime.end.p0(i64 4, ptr %307) #10
  br label %10639

10639:                                            ; preds = %10638
  br label %10640

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

10641:                                            ; No predecessors!
  br label %10642

10642:                                            ; preds = %10641
  br label %10643

10643:                                            ; preds = %10642, %10579
  br label %10644

10644:                                            ; preds = %10643
  br label %10645

10645:                                            ; preds = %10644
  br label %10646

10646:                                            ; preds = %10645
  %10647 = load i32, ptr @test_count, align 4, !tbaa !5
  %10648 = add nsw i32 %10647, 1
  store i32 %10648, ptr @test_count, align 4, !tbaa !5
  %10649 = getelementptr inbounds %struct.crl_lookup_data, ptr %289, i32 0, i32 2
  %10650 = load i8, ptr %10649, align 8, !tbaa !27
  %10651 = zext i8 %10650 to i32
  %10652 = icmp eq i32 %10651, 2
  br i1 %10652, label %10706, label %10653

10653:                                            ; preds = %10646
  br label %10654

10654:                                            ; preds = %10653
  br label %10655

10655:                                            ; preds = %10654
  call void @llvm.lifetime.start.p0(i64 4, ptr %308) #10
  %10656 = call ptr @__errno_location() #11
  %10657 = load i32, ptr %10656, align 4, !tbaa !5
  store i32 %10657, ptr %308, align 4, !tbaa !5
  %10658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10659 = call i32 @s2n_print_stacktrace(ptr noundef %10658)
  %10660 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10661 = trunc i8 %10660 to i1
  br i1 %10661, label %10662, label %10684

10662:                                            ; preds = %10655
  %10663 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10664 = call i32 @fileno(ptr noundef %10663) #10
  %10665 = call i32 @isatty(i32 noundef %10664) #10
  %10666 = icmp ne i32 %10665, 0
  br i1 %10666, label %10667, label %10684

10667:                                            ; preds = %10662
  %10668 = load i32, ptr %308, align 4, !tbaa !5
  %10669 = call ptr @__errno_location() #11
  store i32 %10668, ptr %10669, align 4, !tbaa !5
  %10670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10671 = load i32, ptr @test_count, align 4, !tbaa !5
  %10672 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10673 = load i32, ptr %10672, align 4, !tbaa !5
  %10674 = call ptr @s2n_strerror(i32 noundef %10673, ptr noundef @.str.4)
  %10675 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10676 = load i32, ptr %10675, align 4, !tbaa !5
  %10677 = call ptr @s2n_strerror_debug(i32 noundef %10676, ptr noundef @.str.4)
  %10678 = call ptr @__errno_location() #11
  %10679 = load i32, ptr %10678, align 4, !tbaa !5
  %10680 = call ptr @strerror(i32 noundef %10679) #10
  %10681 = call ptr @__errno_location() #11
  %10682 = load i32, ptr %10681, align 4, !tbaa !5
  %10683 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10670, ptr noundef @.str.2, i32 noundef %10671, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 532, ptr noundef %10674, ptr noundef %10677, ptr noundef %10680, i32 noundef %10682) #10
  br label %10701

10684:                                            ; preds = %10662, %10655
  %10685 = load i32, ptr %308, align 4, !tbaa !5
  %10686 = call ptr @__errno_location() #11
  store i32 %10685, ptr %10686, align 4, !tbaa !5
  %10687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10688 = load i32, ptr @test_count, align 4, !tbaa !5
  %10689 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10690 = load i32, ptr %10689, align 4, !tbaa !5
  %10691 = call ptr @s2n_strerror(i32 noundef %10690, ptr noundef @.str.4)
  %10692 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10693 = load i32, ptr %10692, align 4, !tbaa !5
  %10694 = call ptr @s2n_strerror_debug(i32 noundef %10693, ptr noundef @.str.4)
  %10695 = call ptr @__errno_location() #11
  %10696 = load i32, ptr %10695, align 4, !tbaa !5
  %10697 = call ptr @strerror(i32 noundef %10696) #10
  %10698 = call ptr @__errno_location() #11
  %10699 = load i32, ptr %10698, align 4, !tbaa !5
  %10700 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10687, ptr noundef @.str.5, i32 noundef %10688, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 532, ptr noundef %10691, ptr noundef %10694, ptr noundef %10697, i32 noundef %10699) #10
  br label %10701

10701:                                            ; preds = %10684, %10667
  call void @llvm.lifetime.end.p0(i64 4, ptr %308) #10
  br label %10702

10702:                                            ; preds = %10701
  br label %10703

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

10704:                                            ; No predecessors!
  br label %10705

10705:                                            ; preds = %10704
  br label %10706

10706:                                            ; preds = %10705, %10646
  br label %10707

10707:                                            ; preds = %10706
  br label %10708

10708:                                            ; preds = %10707
  call void @llvm.lifetime.end.p0(i64 4, ptr %305) #10
  %10709 = call i32 @s2n_pkey_free(ptr noundef %303)
  call void @llvm.lifetime.end.p0(i64 48, ptr %303) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %301) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %300) #10
  %10710 = call i32 @s2n_stuffer_free(ptr noundef %297)
  call void @llvm.lifetime.end.p0(i64 40, ptr %297) #10
  %10711 = call i32 @s2n_connection_ptr_free(ptr noundef %293)
  %10712 = getelementptr inbounds %struct.s2n_result, ptr %309, i32 0, i32 0
  store i32 %10711, ptr %10712, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %293) #10
  %10713 = call i32 @s2n_config_ptr_free(ptr noundef %290)
  %10714 = getelementptr inbounds %struct.s2n_result, ptr %310, i32 0, i32 0
  store i32 %10713, ptr %10714, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %290) #10
  call void @llvm.lifetime.end.p0(i64 88, ptr %289) #10
  %10715 = call i32 @s2n_x509_validator_wipe(ptr noundef %287)
  call void @llvm.lifetime.end.p0(i64 56, ptr %287) #10
  call void @llvm.lifetime.end.p0(i64 12000, ptr %284) #10
  call void @s2n_x509_trust_store_wipe(ptr noundef %283)
  call void @llvm.lifetime.end.p0(i64 16, ptr %283) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %311) #10
  call void @llvm.memset.p0.i64(ptr align 8 %311, i8 0, i64 16, i1 false)
  call void @s2n_x509_trust_store_init_empty(ptr noundef %311)
  call void @llvm.lifetime.start.p0(i64 12000, ptr %312) #10
  br label %10716

10716:                                            ; preds = %10708
  %10717 = load i32, ptr @test_count, align 4, !tbaa !5
  %10718 = add nsw i32 %10717, 1
  store i32 %10718, ptr @test_count, align 4, !tbaa !5
  %10719 = getelementptr inbounds [12000 x i8], ptr %312, i64 0, i64 0
  %10720 = call i32 @s2n_read_test_pem(ptr noundef @.str.31, ptr noundef %10719, i64 noundef 12000)
  %10721 = icmp eq i32 %10720, -1
  br i1 %10721, label %10722, label %10775

10722:                                            ; preds = %10716
  br label %10723

10723:                                            ; preds = %10722
  br label %10724

10724:                                            ; preds = %10723
  call void @llvm.lifetime.start.p0(i64 4, ptr %313) #10
  %10725 = call ptr @__errno_location() #11
  %10726 = load i32, ptr %10725, align 4, !tbaa !5
  store i32 %10726, ptr %313, align 4, !tbaa !5
  %10727 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10728 = call i32 @s2n_print_stacktrace(ptr noundef %10727)
  %10729 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10730 = trunc i8 %10729 to i1
  br i1 %10730, label %10731, label %10753

10731:                                            ; preds = %10724
  %10732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10733 = call i32 @fileno(ptr noundef %10732) #10
  %10734 = call i32 @isatty(i32 noundef %10733) #10
  %10735 = icmp ne i32 %10734, 0
  br i1 %10735, label %10736, label %10753

10736:                                            ; preds = %10731
  %10737 = load i32, ptr %313, align 4, !tbaa !5
  %10738 = call ptr @__errno_location() #11
  store i32 %10737, ptr %10738, align 4, !tbaa !5
  %10739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10740 = load i32, ptr @test_count, align 4, !tbaa !5
  %10741 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10742 = load i32, ptr %10741, align 4, !tbaa !5
  %10743 = call ptr @s2n_strerror(i32 noundef %10742, ptr noundef @.str.4)
  %10744 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10745 = load i32, ptr %10744, align 4, !tbaa !5
  %10746 = call ptr @s2n_strerror_debug(i32 noundef %10745, ptr noundef @.str.4)
  %10747 = call ptr @__errno_location() #11
  %10748 = load i32, ptr %10747, align 4, !tbaa !5
  %10749 = call ptr @strerror(i32 noundef %10748) #10
  %10750 = call ptr @__errno_location() #11
  %10751 = load i32, ptr %10750, align 4, !tbaa !5
  %10752 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10739, ptr noundef @.str.2, i32 noundef %10740, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 541, ptr noundef %10743, ptr noundef %10746, ptr noundef %10749, i32 noundef %10751) #10
  br label %10770

10753:                                            ; preds = %10731, %10724
  %10754 = load i32, ptr %313, align 4, !tbaa !5
  %10755 = call ptr @__errno_location() #11
  store i32 %10754, ptr %10755, align 4, !tbaa !5
  %10756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10757 = load i32, ptr @test_count, align 4, !tbaa !5
  %10758 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10759 = load i32, ptr %10758, align 4, !tbaa !5
  %10760 = call ptr @s2n_strerror(i32 noundef %10759, ptr noundef @.str.4)
  %10761 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10762 = load i32, ptr %10761, align 4, !tbaa !5
  %10763 = call ptr @s2n_strerror_debug(i32 noundef %10762, ptr noundef @.str.4)
  %10764 = call ptr @__errno_location() #11
  %10765 = load i32, ptr %10764, align 4, !tbaa !5
  %10766 = call ptr @strerror(i32 noundef %10765) #10
  %10767 = call ptr @__errno_location() #11
  %10768 = load i32, ptr %10767, align 4, !tbaa !5
  %10769 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10756, ptr noundef @.str.5, i32 noundef %10757, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 541, ptr noundef %10760, ptr noundef %10763, ptr noundef %10766, i32 noundef %10768) #10
  br label %10770

10770:                                            ; preds = %10753, %10736
  call void @llvm.lifetime.end.p0(i64 4, ptr %313) #10
  br label %10771

10771:                                            ; preds = %10770
  br label %10772

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

10773:                                            ; No predecessors!
  br label %10774

10774:                                            ; preds = %10773
  br label %10775

10775:                                            ; preds = %10774, %10716
  br label %10776

10776:                                            ; preds = %10775
  br label %10777

10777:                                            ; preds = %10776
  br label %10778

10778:                                            ; preds = %10777
  %10779 = load i32, ptr @test_count, align 4, !tbaa !5
  %10780 = add nsw i32 %10779, 1
  store i32 %10780, ptr @test_count, align 4, !tbaa !5
  %10781 = getelementptr inbounds [12000 x i8], ptr %312, i64 0, i64 0
  %10782 = call i32 @s2n_x509_trust_store_add_pem(ptr noundef %311, ptr noundef %10781)
  %10783 = icmp eq i32 %10782, -1
  br i1 %10783, label %10784, label %10837

10784:                                            ; preds = %10778
  br label %10785

10785:                                            ; preds = %10784
  br label %10786

10786:                                            ; preds = %10785
  call void @llvm.lifetime.start.p0(i64 4, ptr %314) #10
  %10787 = call ptr @__errno_location() #11
  %10788 = load i32, ptr %10787, align 4, !tbaa !5
  store i32 %10788, ptr %314, align 4, !tbaa !5
  %10789 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10790 = call i32 @s2n_print_stacktrace(ptr noundef %10789)
  %10791 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10792 = trunc i8 %10791 to i1
  br i1 %10792, label %10793, label %10815

10793:                                            ; preds = %10786
  %10794 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10795 = call i32 @fileno(ptr noundef %10794) #10
  %10796 = call i32 @isatty(i32 noundef %10795) #10
  %10797 = icmp ne i32 %10796, 0
  br i1 %10797, label %10798, label %10815

10798:                                            ; preds = %10793
  %10799 = load i32, ptr %314, align 4, !tbaa !5
  %10800 = call ptr @__errno_location() #11
  store i32 %10799, ptr %10800, align 4, !tbaa !5
  %10801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10802 = load i32, ptr @test_count, align 4, !tbaa !5
  %10803 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10804 = load i32, ptr %10803, align 4, !tbaa !5
  %10805 = call ptr @s2n_strerror(i32 noundef %10804, ptr noundef @.str.4)
  %10806 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10807 = load i32, ptr %10806, align 4, !tbaa !5
  %10808 = call ptr @s2n_strerror_debug(i32 noundef %10807, ptr noundef @.str.4)
  %10809 = call ptr @__errno_location() #11
  %10810 = load i32, ptr %10809, align 4, !tbaa !5
  %10811 = call ptr @strerror(i32 noundef %10810) #10
  %10812 = call ptr @__errno_location() #11
  %10813 = load i32, ptr %10812, align 4, !tbaa !5
  %10814 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10801, ptr noundef @.str.2, i32 noundef %10802, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 542, ptr noundef %10805, ptr noundef %10808, ptr noundef %10811, i32 noundef %10813) #10
  br label %10832

10815:                                            ; preds = %10793, %10786
  %10816 = load i32, ptr %314, align 4, !tbaa !5
  %10817 = call ptr @__errno_location() #11
  store i32 %10816, ptr %10817, align 4, !tbaa !5
  %10818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10819 = load i32, ptr @test_count, align 4, !tbaa !5
  %10820 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10821 = load i32, ptr %10820, align 4, !tbaa !5
  %10822 = call ptr @s2n_strerror(i32 noundef %10821, ptr noundef @.str.4)
  %10823 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10824 = load i32, ptr %10823, align 4, !tbaa !5
  %10825 = call ptr @s2n_strerror_debug(i32 noundef %10824, ptr noundef @.str.4)
  %10826 = call ptr @__errno_location() #11
  %10827 = load i32, ptr %10826, align 4, !tbaa !5
  %10828 = call ptr @strerror(i32 noundef %10827) #10
  %10829 = call ptr @__errno_location() #11
  %10830 = load i32, ptr %10829, align 4, !tbaa !5
  %10831 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10818, ptr noundef @.str.5, i32 noundef %10819, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 542, ptr noundef %10822, ptr noundef %10825, ptr noundef %10828, i32 noundef %10830) #10
  br label %10832

10832:                                            ; preds = %10815, %10798
  call void @llvm.lifetime.end.p0(i64 4, ptr %314) #10
  br label %10833

10833:                                            ; preds = %10832
  br label %10834

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

10835:                                            ; No predecessors!
  br label %10836

10836:                                            ; preds = %10835
  br label %10837

10837:                                            ; preds = %10836, %10778
  br label %10838

10838:                                            ; preds = %10837
  br label %10839

10839:                                            ; preds = %10838
  call void @llvm.lifetime.start.p0(i64 56, ptr %315) #10
  br label %10840

10840:                                            ; preds = %10839
  %10841 = load i32, ptr @test_count, align 4, !tbaa !5
  %10842 = add nsw i32 %10841, 1
  store i32 %10842, ptr @test_count, align 4, !tbaa !5
  %10843 = call i32 @s2n_x509_validator_init(ptr noundef %315, ptr noundef %311, i8 noundef zeroext 0)
  %10844 = icmp eq i32 %10843, -1
  br i1 %10844, label %10845, label %10898

10845:                                            ; preds = %10840
  br label %10846

10846:                                            ; preds = %10845
  br label %10847

10847:                                            ; preds = %10846
  call void @llvm.lifetime.start.p0(i64 4, ptr %316) #10
  %10848 = call ptr @__errno_location() #11
  %10849 = load i32, ptr %10848, align 4, !tbaa !5
  store i32 %10849, ptr %316, align 4, !tbaa !5
  %10850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10851 = call i32 @s2n_print_stacktrace(ptr noundef %10850)
  %10852 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10853 = trunc i8 %10852 to i1
  br i1 %10853, label %10854, label %10876

10854:                                            ; preds = %10847
  %10855 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10856 = call i32 @fileno(ptr noundef %10855) #10
  %10857 = call i32 @isatty(i32 noundef %10856) #10
  %10858 = icmp ne i32 %10857, 0
  br i1 %10858, label %10859, label %10876

10859:                                            ; preds = %10854
  %10860 = load i32, ptr %316, align 4, !tbaa !5
  %10861 = call ptr @__errno_location() #11
  store i32 %10860, ptr %10861, align 4, !tbaa !5
  %10862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10863 = load i32, ptr @test_count, align 4, !tbaa !5
  %10864 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10865 = load i32, ptr %10864, align 4, !tbaa !5
  %10866 = call ptr @s2n_strerror(i32 noundef %10865, ptr noundef @.str.4)
  %10867 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10868 = load i32, ptr %10867, align 4, !tbaa !5
  %10869 = call ptr @s2n_strerror_debug(i32 noundef %10868, ptr noundef @.str.4)
  %10870 = call ptr @__errno_location() #11
  %10871 = load i32, ptr %10870, align 4, !tbaa !5
  %10872 = call ptr @strerror(i32 noundef %10871) #10
  %10873 = call ptr @__errno_location() #11
  %10874 = load i32, ptr %10873, align 4, !tbaa !5
  %10875 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10862, ptr noundef @.str.2, i32 noundef %10863, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 545, ptr noundef %10866, ptr noundef %10869, ptr noundef %10872, i32 noundef %10874) #10
  br label %10893

10876:                                            ; preds = %10854, %10847
  %10877 = load i32, ptr %316, align 4, !tbaa !5
  %10878 = call ptr @__errno_location() #11
  store i32 %10877, ptr %10878, align 4, !tbaa !5
  %10879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10880 = load i32, ptr @test_count, align 4, !tbaa !5
  %10881 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10882 = load i32, ptr %10881, align 4, !tbaa !5
  %10883 = call ptr @s2n_strerror(i32 noundef %10882, ptr noundef @.str.4)
  %10884 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10885 = load i32, ptr %10884, align 4, !tbaa !5
  %10886 = call ptr @s2n_strerror_debug(i32 noundef %10885, ptr noundef @.str.4)
  %10887 = call ptr @__errno_location() #11
  %10888 = load i32, ptr %10887, align 4, !tbaa !5
  %10889 = call ptr @strerror(i32 noundef %10888) #10
  %10890 = call ptr @__errno_location() #11
  %10891 = load i32, ptr %10890, align 4, !tbaa !5
  %10892 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10879, ptr noundef @.str.5, i32 noundef %10880, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 545, ptr noundef %10883, ptr noundef %10886, ptr noundef %10889, i32 noundef %10891) #10
  br label %10893

10893:                                            ; preds = %10876, %10859
  call void @llvm.lifetime.end.p0(i64 4, ptr %316) #10
  br label %10894

10894:                                            ; preds = %10893
  br label %10895

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

10896:                                            ; No predecessors!
  br label %10897

10897:                                            ; preds = %10896
  br label %10898

10898:                                            ; preds = %10897, %10840
  br label %10899

10899:                                            ; preds = %10898
  br label %10900

10900:                                            ; preds = %10899
  call void @llvm.lifetime.start.p0(i64 88, ptr %317) #10
  call void @llvm.memset.p0.i64(ptr align 8 %317, i8 0, i64 88, i1 false)
  %10901 = load ptr, ptr %49, align 8, !tbaa !9
  %10902 = getelementptr inbounds %struct.crl_lookup_data, ptr %317, i32 0, i32 0
  %10903 = getelementptr inbounds [5 x ptr], ptr %10902, i64 0, i64 0
  store ptr %10901, ptr %10903, align 8, !tbaa !9
  %10904 = load ptr, ptr %43, align 8, !tbaa !9
  %10905 = getelementptr inbounds %struct.crl_lookup_data, ptr %317, i32 0, i32 0
  %10906 = getelementptr inbounds [5 x ptr], ptr %10905, i64 0, i64 1
  store ptr %10904, ptr %10906, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %318) #10
  %10907 = call ptr @s2n_config_new()
  store ptr %10907, ptr %318, align 8, !tbaa !9
  br label %10908

10908:                                            ; preds = %10900
  %10909 = load i32, ptr @test_count, align 4, !tbaa !5
  %10910 = add nsw i32 %10909, 1
  store i32 %10910, ptr @test_count, align 4, !tbaa !5
  %10911 = load ptr, ptr %318, align 8, !tbaa !9
  %10912 = icmp eq ptr %10911, null
  br i1 %10912, label %10913, label %10966

10913:                                            ; preds = %10908
  br label %10914

10914:                                            ; preds = %10913
  br label %10915

10915:                                            ; preds = %10914
  call void @llvm.lifetime.start.p0(i64 4, ptr %319) #10
  %10916 = call ptr @__errno_location() #11
  %10917 = load i32, ptr %10916, align 4, !tbaa !5
  store i32 %10917, ptr %319, align 4, !tbaa !5
  %10918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10919 = call i32 @s2n_print_stacktrace(ptr noundef %10918)
  %10920 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10921 = trunc i8 %10920 to i1
  br i1 %10921, label %10922, label %10944

10922:                                            ; preds = %10915
  %10923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10924 = call i32 @fileno(ptr noundef %10923) #10
  %10925 = call i32 @isatty(i32 noundef %10924) #10
  %10926 = icmp ne i32 %10925, 0
  br i1 %10926, label %10927, label %10944

10927:                                            ; preds = %10922
  %10928 = load i32, ptr %319, align 4, !tbaa !5
  %10929 = call ptr @__errno_location() #11
  store i32 %10928, ptr %10929, align 4, !tbaa !5
  %10930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10931 = load i32, ptr @test_count, align 4, !tbaa !5
  %10932 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10933 = load i32, ptr %10932, align 4, !tbaa !5
  %10934 = call ptr @s2n_strerror(i32 noundef %10933, ptr noundef @.str.4)
  %10935 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10936 = load i32, ptr %10935, align 4, !tbaa !5
  %10937 = call ptr @s2n_strerror_debug(i32 noundef %10936, ptr noundef @.str.4)
  %10938 = call ptr @__errno_location() #11
  %10939 = load i32, ptr %10938, align 4, !tbaa !5
  %10940 = call ptr @strerror(i32 noundef %10939) #10
  %10941 = call ptr @__errno_location() #11
  %10942 = load i32, ptr %10941, align 4, !tbaa !5
  %10943 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10930, ptr noundef @.str.2, i32 noundef %10931, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 552, ptr noundef %10934, ptr noundef %10937, ptr noundef %10940, i32 noundef %10942) #10
  br label %10961

10944:                                            ; preds = %10922, %10915
  %10945 = load i32, ptr %319, align 4, !tbaa !5
  %10946 = call ptr @__errno_location() #11
  store i32 %10945, ptr %10946, align 4, !tbaa !5
  %10947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10948 = load i32, ptr @test_count, align 4, !tbaa !5
  %10949 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10950 = load i32, ptr %10949, align 4, !tbaa !5
  %10951 = call ptr @s2n_strerror(i32 noundef %10950, ptr noundef @.str.4)
  %10952 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10953 = load i32, ptr %10952, align 4, !tbaa !5
  %10954 = call ptr @s2n_strerror_debug(i32 noundef %10953, ptr noundef @.str.4)
  %10955 = call ptr @__errno_location() #11
  %10956 = load i32, ptr %10955, align 4, !tbaa !5
  %10957 = call ptr @strerror(i32 noundef %10956) #10
  %10958 = call ptr @__errno_location() #11
  %10959 = load i32, ptr %10958, align 4, !tbaa !5
  %10960 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10947, ptr noundef @.str.5, i32 noundef %10948, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 552, ptr noundef %10951, ptr noundef %10954, ptr noundef %10957, i32 noundef %10959) #10
  br label %10961

10961:                                            ; preds = %10944, %10927
  call void @llvm.lifetime.end.p0(i64 4, ptr %319) #10
  br label %10962

10962:                                            ; preds = %10961
  br label %10963

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

10964:                                            ; No predecessors!
  br label %10965

10965:                                            ; preds = %10964
  br label %10966

10966:                                            ; preds = %10965, %10908
  br label %10967

10967:                                            ; preds = %10966
  br label %10968

10968:                                            ; preds = %10967
  br label %10969

10969:                                            ; preds = %10968
  %10970 = load i32, ptr @test_count, align 4, !tbaa !5
  %10971 = add nsw i32 %10970, 1
  store i32 %10971, ptr @test_count, align 4, !tbaa !5
  %10972 = load ptr, ptr %318, align 8, !tbaa !9
  %10973 = call i32 @s2n_config_set_crl_lookup_cb(ptr noundef %10972, ptr noundef @crl_lookup_test_callback, ptr noundef %317)
  %10974 = icmp eq i32 %10973, -1
  br i1 %10974, label %10975, label %11028

10975:                                            ; preds = %10969
  br label %10976

10976:                                            ; preds = %10975
  br label %10977

10977:                                            ; preds = %10976
  call void @llvm.lifetime.start.p0(i64 4, ptr %320) #10
  %10978 = call ptr @__errno_location() #11
  %10979 = load i32, ptr %10978, align 4, !tbaa !5
  store i32 %10979, ptr %320, align 4, !tbaa !5
  %10980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10981 = call i32 @s2n_print_stacktrace(ptr noundef %10980)
  %10982 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10983 = trunc i8 %10982 to i1
  br i1 %10983, label %10984, label %11006

10984:                                            ; preds = %10977
  %10985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10986 = call i32 @fileno(ptr noundef %10985) #10
  %10987 = call i32 @isatty(i32 noundef %10986) #10
  %10988 = icmp ne i32 %10987, 0
  br i1 %10988, label %10989, label %11006

10989:                                            ; preds = %10984
  %10990 = load i32, ptr %320, align 4, !tbaa !5
  %10991 = call ptr @__errno_location() #11
  store i32 %10990, ptr %10991, align 4, !tbaa !5
  %10992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10993 = load i32, ptr @test_count, align 4, !tbaa !5
  %10994 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10995 = load i32, ptr %10994, align 4, !tbaa !5
  %10996 = call ptr @s2n_strerror(i32 noundef %10995, ptr noundef @.str.4)
  %10997 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10998 = load i32, ptr %10997, align 4, !tbaa !5
  %10999 = call ptr @s2n_strerror_debug(i32 noundef %10998, ptr noundef @.str.4)
  %11000 = call ptr @__errno_location() #11
  %11001 = load i32, ptr %11000, align 4, !tbaa !5
  %11002 = call ptr @strerror(i32 noundef %11001) #10
  %11003 = call ptr @__errno_location() #11
  %11004 = load i32, ptr %11003, align 4, !tbaa !5
  %11005 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10992, ptr noundef @.str.2, i32 noundef %10993, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 553, ptr noundef %10996, ptr noundef %10999, ptr noundef %11002, i32 noundef %11004) #10
  br label %11023

11006:                                            ; preds = %10984, %10977
  %11007 = load i32, ptr %320, align 4, !tbaa !5
  %11008 = call ptr @__errno_location() #11
  store i32 %11007, ptr %11008, align 4, !tbaa !5
  %11009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11010 = load i32, ptr @test_count, align 4, !tbaa !5
  %11011 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11012 = load i32, ptr %11011, align 4, !tbaa !5
  %11013 = call ptr @s2n_strerror(i32 noundef %11012, ptr noundef @.str.4)
  %11014 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11015 = load i32, ptr %11014, align 4, !tbaa !5
  %11016 = call ptr @s2n_strerror_debug(i32 noundef %11015, ptr noundef @.str.4)
  %11017 = call ptr @__errno_location() #11
  %11018 = load i32, ptr %11017, align 4, !tbaa !5
  %11019 = call ptr @strerror(i32 noundef %11018) #10
  %11020 = call ptr @__errno_location() #11
  %11021 = load i32, ptr %11020, align 4, !tbaa !5
  %11022 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11009, ptr noundef @.str.5, i32 noundef %11010, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 553, ptr noundef %11013, ptr noundef %11016, ptr noundef %11019, i32 noundef %11021) #10
  br label %11023

11023:                                            ; preds = %11006, %10989
  call void @llvm.lifetime.end.p0(i64 4, ptr %320) #10
  br label %11024

11024:                                            ; preds = %11023
  br label %11025

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

11026:                                            ; No predecessors!
  br label %11027

11027:                                            ; preds = %11026
  br label %11028

11028:                                            ; preds = %11027, %10969
  br label %11029

11029:                                            ; preds = %11028
  br label %11030

11030:                                            ; preds = %11029
  call void @llvm.lifetime.start.p0(i64 8, ptr %321) #10
  %11031 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %11031, ptr %321, align 8, !tbaa !9
  br label %11032

11032:                                            ; preds = %11030
  %11033 = load i32, ptr @test_count, align 4, !tbaa !5
  %11034 = add nsw i32 %11033, 1
  store i32 %11034, ptr @test_count, align 4, !tbaa !5
  %11035 = load ptr, ptr %321, align 8, !tbaa !9
  %11036 = icmp eq ptr %11035, null
  br i1 %11036, label %11037, label %11090

11037:                                            ; preds = %11032
  br label %11038

11038:                                            ; preds = %11037
  br label %11039

11039:                                            ; preds = %11038
  call void @llvm.lifetime.start.p0(i64 4, ptr %322) #10
  %11040 = call ptr @__errno_location() #11
  %11041 = load i32, ptr %11040, align 4, !tbaa !5
  store i32 %11041, ptr %322, align 4, !tbaa !5
  %11042 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11043 = call i32 @s2n_print_stacktrace(ptr noundef %11042)
  %11044 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11045 = trunc i8 %11044 to i1
  br i1 %11045, label %11046, label %11068

11046:                                            ; preds = %11039
  %11047 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11048 = call i32 @fileno(ptr noundef %11047) #10
  %11049 = call i32 @isatty(i32 noundef %11048) #10
  %11050 = icmp ne i32 %11049, 0
  br i1 %11050, label %11051, label %11068

11051:                                            ; preds = %11046
  %11052 = load i32, ptr %322, align 4, !tbaa !5
  %11053 = call ptr @__errno_location() #11
  store i32 %11052, ptr %11053, align 4, !tbaa !5
  %11054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11055 = load i32, ptr @test_count, align 4, !tbaa !5
  %11056 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11057 = load i32, ptr %11056, align 4, !tbaa !5
  %11058 = call ptr @s2n_strerror(i32 noundef %11057, ptr noundef @.str.4)
  %11059 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11060 = load i32, ptr %11059, align 4, !tbaa !5
  %11061 = call ptr @s2n_strerror_debug(i32 noundef %11060, ptr noundef @.str.4)
  %11062 = call ptr @__errno_location() #11
  %11063 = load i32, ptr %11062, align 4, !tbaa !5
  %11064 = call ptr @strerror(i32 noundef %11063) #10
  %11065 = call ptr @__errno_location() #11
  %11066 = load i32, ptr %11065, align 4, !tbaa !5
  %11067 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11054, ptr noundef @.str.2, i32 noundef %11055, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 556, ptr noundef %11058, ptr noundef %11061, ptr noundef %11064, i32 noundef %11066) #10
  br label %11085

11068:                                            ; preds = %11046, %11039
  %11069 = load i32, ptr %322, align 4, !tbaa !5
  %11070 = call ptr @__errno_location() #11
  store i32 %11069, ptr %11070, align 4, !tbaa !5
  %11071 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11072 = load i32, ptr @test_count, align 4, !tbaa !5
  %11073 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11074 = load i32, ptr %11073, align 4, !tbaa !5
  %11075 = call ptr @s2n_strerror(i32 noundef %11074, ptr noundef @.str.4)
  %11076 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11077 = load i32, ptr %11076, align 4, !tbaa !5
  %11078 = call ptr @s2n_strerror_debug(i32 noundef %11077, ptr noundef @.str.4)
  %11079 = call ptr @__errno_location() #11
  %11080 = load i32, ptr %11079, align 4, !tbaa !5
  %11081 = call ptr @strerror(i32 noundef %11080) #10
  %11082 = call ptr @__errno_location() #11
  %11083 = load i32, ptr %11082, align 4, !tbaa !5
  %11084 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11071, ptr noundef @.str.5, i32 noundef %11072, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 556, ptr noundef %11075, ptr noundef %11078, ptr noundef %11081, i32 noundef %11083) #10
  br label %11085

11085:                                            ; preds = %11068, %11051
  call void @llvm.lifetime.end.p0(i64 4, ptr %322) #10
  br label %11086

11086:                                            ; preds = %11085
  br label %11087

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

11088:                                            ; No predecessors!
  br label %11089

11089:                                            ; preds = %11088
  br label %11090

11090:                                            ; preds = %11089, %11032
  br label %11091

11091:                                            ; preds = %11090
  br label %11092

11092:                                            ; preds = %11091
  br label %11093

11093:                                            ; preds = %11092
  %11094 = load i32, ptr @test_count, align 4, !tbaa !5
  %11095 = add nsw i32 %11094, 1
  store i32 %11095, ptr @test_count, align 4, !tbaa !5
  %11096 = load ptr, ptr %321, align 8, !tbaa !9
  %11097 = load ptr, ptr %318, align 8, !tbaa !9
  %11098 = call i32 @s2n_connection_set_config(ptr noundef %11096, ptr noundef %11097)
  %11099 = icmp eq i32 %11098, -1
  br i1 %11099, label %11100, label %11153

11100:                                            ; preds = %11093
  br label %11101

11101:                                            ; preds = %11100
  br label %11102

11102:                                            ; preds = %11101
  call void @llvm.lifetime.start.p0(i64 4, ptr %323) #10
  %11103 = call ptr @__errno_location() #11
  %11104 = load i32, ptr %11103, align 4, !tbaa !5
  store i32 %11104, ptr %323, align 4, !tbaa !5
  %11105 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11106 = call i32 @s2n_print_stacktrace(ptr noundef %11105)
  %11107 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11108 = trunc i8 %11107 to i1
  br i1 %11108, label %11109, label %11131

11109:                                            ; preds = %11102
  %11110 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11111 = call i32 @fileno(ptr noundef %11110) #10
  %11112 = call i32 @isatty(i32 noundef %11111) #10
  %11113 = icmp ne i32 %11112, 0
  br i1 %11113, label %11114, label %11131

11114:                                            ; preds = %11109
  %11115 = load i32, ptr %323, align 4, !tbaa !5
  %11116 = call ptr @__errno_location() #11
  store i32 %11115, ptr %11116, align 4, !tbaa !5
  %11117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11118 = load i32, ptr @test_count, align 4, !tbaa !5
  %11119 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11120 = load i32, ptr %11119, align 4, !tbaa !5
  %11121 = call ptr @s2n_strerror(i32 noundef %11120, ptr noundef @.str.4)
  %11122 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11123 = load i32, ptr %11122, align 4, !tbaa !5
  %11124 = call ptr @s2n_strerror_debug(i32 noundef %11123, ptr noundef @.str.4)
  %11125 = call ptr @__errno_location() #11
  %11126 = load i32, ptr %11125, align 4, !tbaa !5
  %11127 = call ptr @strerror(i32 noundef %11126) #10
  %11128 = call ptr @__errno_location() #11
  %11129 = load i32, ptr %11128, align 4, !tbaa !5
  %11130 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11117, ptr noundef @.str.2, i32 noundef %11118, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 557, ptr noundef %11121, ptr noundef %11124, ptr noundef %11127, i32 noundef %11129) #10
  br label %11148

11131:                                            ; preds = %11109, %11102
  %11132 = load i32, ptr %323, align 4, !tbaa !5
  %11133 = call ptr @__errno_location() #11
  store i32 %11132, ptr %11133, align 4, !tbaa !5
  %11134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11135 = load i32, ptr @test_count, align 4, !tbaa !5
  %11136 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11137 = load i32, ptr %11136, align 4, !tbaa !5
  %11138 = call ptr @s2n_strerror(i32 noundef %11137, ptr noundef @.str.4)
  %11139 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11140 = load i32, ptr %11139, align 4, !tbaa !5
  %11141 = call ptr @s2n_strerror_debug(i32 noundef %11140, ptr noundef @.str.4)
  %11142 = call ptr @__errno_location() #11
  %11143 = load i32, ptr %11142, align 4, !tbaa !5
  %11144 = call ptr @strerror(i32 noundef %11143) #10
  %11145 = call ptr @__errno_location() #11
  %11146 = load i32, ptr %11145, align 4, !tbaa !5
  %11147 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11134, ptr noundef @.str.5, i32 noundef %11135, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 557, ptr noundef %11138, ptr noundef %11141, ptr noundef %11144, i32 noundef %11146) #10
  br label %11148

11148:                                            ; preds = %11131, %11114
  call void @llvm.lifetime.end.p0(i64 4, ptr %323) #10
  br label %11149

11149:                                            ; preds = %11148
  br label %11150

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

11151:                                            ; No predecessors!
  br label %11152

11152:                                            ; preds = %11151
  br label %11153

11153:                                            ; preds = %11152, %11093
  br label %11154

11154:                                            ; preds = %11153
  br label %11155

11155:                                            ; preds = %11154
  br label %11156

11156:                                            ; preds = %11155
  %11157 = load i32, ptr @test_count, align 4, !tbaa !5
  %11158 = add nsw i32 %11157, 1
  store i32 %11158, ptr @test_count, align 4, !tbaa !5
  %11159 = load ptr, ptr %321, align 8, !tbaa !9
  %11160 = call i32 @s2n_set_server_name(ptr noundef %11159, ptr noundef @.str.39)
  %11161 = icmp eq i32 %11160, -1
  br i1 %11161, label %11162, label %11215

11162:                                            ; preds = %11156
  br label %11163

11163:                                            ; preds = %11162
  br label %11164

11164:                                            ; preds = %11163
  call void @llvm.lifetime.start.p0(i64 4, ptr %324) #10
  %11165 = call ptr @__errno_location() #11
  %11166 = load i32, ptr %11165, align 4, !tbaa !5
  store i32 %11166, ptr %324, align 4, !tbaa !5
  %11167 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11168 = call i32 @s2n_print_stacktrace(ptr noundef %11167)
  %11169 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11170 = trunc i8 %11169 to i1
  br i1 %11170, label %11171, label %11193

11171:                                            ; preds = %11164
  %11172 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11173 = call i32 @fileno(ptr noundef %11172) #10
  %11174 = call i32 @isatty(i32 noundef %11173) #10
  %11175 = icmp ne i32 %11174, 0
  br i1 %11175, label %11176, label %11193

11176:                                            ; preds = %11171
  %11177 = load i32, ptr %324, align 4, !tbaa !5
  %11178 = call ptr @__errno_location() #11
  store i32 %11177, ptr %11178, align 4, !tbaa !5
  %11179 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11180 = load i32, ptr @test_count, align 4, !tbaa !5
  %11181 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11182 = load i32, ptr %11181, align 4, !tbaa !5
  %11183 = call ptr @s2n_strerror(i32 noundef %11182, ptr noundef @.str.4)
  %11184 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11185 = load i32, ptr %11184, align 4, !tbaa !5
  %11186 = call ptr @s2n_strerror_debug(i32 noundef %11185, ptr noundef @.str.4)
  %11187 = call ptr @__errno_location() #11
  %11188 = load i32, ptr %11187, align 4, !tbaa !5
  %11189 = call ptr @strerror(i32 noundef %11188) #10
  %11190 = call ptr @__errno_location() #11
  %11191 = load i32, ptr %11190, align 4, !tbaa !5
  %11192 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11179, ptr noundef @.str.2, i32 noundef %11180, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 558, ptr noundef %11183, ptr noundef %11186, ptr noundef %11189, i32 noundef %11191) #10
  br label %11210

11193:                                            ; preds = %11171, %11164
  %11194 = load i32, ptr %324, align 4, !tbaa !5
  %11195 = call ptr @__errno_location() #11
  store i32 %11194, ptr %11195, align 4, !tbaa !5
  %11196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11197 = load i32, ptr @test_count, align 4, !tbaa !5
  %11198 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11199 = load i32, ptr %11198, align 4, !tbaa !5
  %11200 = call ptr @s2n_strerror(i32 noundef %11199, ptr noundef @.str.4)
  %11201 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11202 = load i32, ptr %11201, align 4, !tbaa !5
  %11203 = call ptr @s2n_strerror_debug(i32 noundef %11202, ptr noundef @.str.4)
  %11204 = call ptr @__errno_location() #11
  %11205 = load i32, ptr %11204, align 4, !tbaa !5
  %11206 = call ptr @strerror(i32 noundef %11205) #10
  %11207 = call ptr @__errno_location() #11
  %11208 = load i32, ptr %11207, align 4, !tbaa !5
  %11209 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11196, ptr noundef @.str.5, i32 noundef %11197, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 558, ptr noundef %11200, ptr noundef %11203, ptr noundef %11206, i32 noundef %11208) #10
  br label %11210

11210:                                            ; preds = %11193, %11176
  call void @llvm.lifetime.end.p0(i64 4, ptr %324) #10
  br label %11211

11211:                                            ; preds = %11210
  br label %11212

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

11213:                                            ; No predecessors!
  br label %11214

11214:                                            ; preds = %11213
  br label %11215

11215:                                            ; preds = %11214, %11156
  br label %11216

11216:                                            ; preds = %11215
  br label %11217

11217:                                            ; preds = %11216
  call void @llvm.lifetime.start.p0(i64 40, ptr %325) #10
  call void @llvm.memset.p0.i64(ptr align 8 %325, i8 0, i64 40, i1 false)
  br label %11218

11218:                                            ; preds = %11217
  %11219 = load i32, ptr @test_count, align 4, !tbaa !5
  %11220 = add nsw i32 %11219, 1
  store i32 %11220, ptr @test_count, align 4, !tbaa !5
  %11221 = load ptr, ptr %321, align 8, !tbaa !9
  %11222 = call i32 @s2n_test_cert_chain_data_from_pem(ptr noundef %11221, ptr noundef @.str.50, ptr noundef %325)
  %11223 = getelementptr inbounds %struct.s2n_result, ptr %326, i32 0, i32 0
  store i32 %11222, ptr %11223, align 4
  %11224 = getelementptr inbounds %struct.s2n_result, ptr %326, i32 0, i32 0
  %11225 = load i32, ptr %11224, align 4
  %11226 = call zeroext i1 @s2n_result_is_ok(i32 %11225)
  br i1 %11226, label %11280, label %11227

11227:                                            ; preds = %11218
  br label %11228

11228:                                            ; preds = %11227
  br label %11229

11229:                                            ; preds = %11228
  call void @llvm.lifetime.start.p0(i64 4, ptr %327) #10
  %11230 = call ptr @__errno_location() #11
  %11231 = load i32, ptr %11230, align 4, !tbaa !5
  store i32 %11231, ptr %327, align 4, !tbaa !5
  %11232 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11233 = call i32 @s2n_print_stacktrace(ptr noundef %11232)
  %11234 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11235 = trunc i8 %11234 to i1
  br i1 %11235, label %11236, label %11258

11236:                                            ; preds = %11229
  %11237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11238 = call i32 @fileno(ptr noundef %11237) #10
  %11239 = call i32 @isatty(i32 noundef %11238) #10
  %11240 = icmp ne i32 %11239, 0
  br i1 %11240, label %11241, label %11258

11241:                                            ; preds = %11236
  %11242 = load i32, ptr %327, align 4, !tbaa !5
  %11243 = call ptr @__errno_location() #11
  store i32 %11242, ptr %11243, align 4, !tbaa !5
  %11244 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11245 = load i32, ptr @test_count, align 4, !tbaa !5
  %11246 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11247 = load i32, ptr %11246, align 4, !tbaa !5
  %11248 = call ptr @s2n_strerror(i32 noundef %11247, ptr noundef @.str.4)
  %11249 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11250 = load i32, ptr %11249, align 4, !tbaa !5
  %11251 = call ptr @s2n_strerror_debug(i32 noundef %11250, ptr noundef @.str.4)
  %11252 = call ptr @__errno_location() #11
  %11253 = load i32, ptr %11252, align 4, !tbaa !5
  %11254 = call ptr @strerror(i32 noundef %11253) #10
  %11255 = call ptr @__errno_location() #11
  %11256 = load i32, ptr %11255, align 4, !tbaa !5
  %11257 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11244, ptr noundef @.str.2, i32 noundef %11245, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 561, ptr noundef %11248, ptr noundef %11251, ptr noundef %11254, i32 noundef %11256) #10
  br label %11275

11258:                                            ; preds = %11236, %11229
  %11259 = load i32, ptr %327, align 4, !tbaa !5
  %11260 = call ptr @__errno_location() #11
  store i32 %11259, ptr %11260, align 4, !tbaa !5
  %11261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11262 = load i32, ptr @test_count, align 4, !tbaa !5
  %11263 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11264 = load i32, ptr %11263, align 4, !tbaa !5
  %11265 = call ptr @s2n_strerror(i32 noundef %11264, ptr noundef @.str.4)
  %11266 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11267 = load i32, ptr %11266, align 4, !tbaa !5
  %11268 = call ptr @s2n_strerror_debug(i32 noundef %11267, ptr noundef @.str.4)
  %11269 = call ptr @__errno_location() #11
  %11270 = load i32, ptr %11269, align 4, !tbaa !5
  %11271 = call ptr @strerror(i32 noundef %11270) #10
  %11272 = call ptr @__errno_location() #11
  %11273 = load i32, ptr %11272, align 4, !tbaa !5
  %11274 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11261, ptr noundef @.str.5, i32 noundef %11262, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 561, ptr noundef %11265, ptr noundef %11268, ptr noundef %11271, i32 noundef %11273) #10
  br label %11275

11275:                                            ; preds = %11258, %11241
  call void @llvm.lifetime.end.p0(i64 4, ptr %327) #10
  br label %11276

11276:                                            ; preds = %11275
  br label %11277

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

11278:                                            ; No predecessors!
  br label %11279

11279:                                            ; preds = %11278
  br label %11280

11280:                                            ; preds = %11279, %11218
  br label %11281

11281:                                            ; preds = %11280
  br label %11282

11282:                                            ; preds = %11281
  call void @llvm.lifetime.start.p0(i64 4, ptr %328) #10
  %11283 = getelementptr inbounds %struct.s2n_stuffer, ptr %325, i32 0, i32 2
  %11284 = load i32, ptr %11283, align 4, !tbaa !23
  %11285 = getelementptr inbounds %struct.s2n_stuffer, ptr %325, i32 0, i32 1
  %11286 = load i32, ptr %11285, align 8, !tbaa !26
  %11287 = sub i32 %11284, %11286
  store i32 %11287, ptr %328, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %329) #10
  %11288 = load i32, ptr %328, align 4, !tbaa !5
  %11289 = call ptr @s2n_stuffer_raw_read(ptr noundef %325, i32 noundef %11288)
  store ptr %11289, ptr %329, align 8, !tbaa !9
  br label %11290

11290:                                            ; preds = %11282
  %11291 = load i32, ptr @test_count, align 4, !tbaa !5
  %11292 = add nsw i32 %11291, 1
  store i32 %11292, ptr @test_count, align 4, !tbaa !5
  %11293 = load ptr, ptr %329, align 8, !tbaa !9
  %11294 = icmp eq ptr %11293, null
  br i1 %11294, label %11295, label %11348

11295:                                            ; preds = %11290
  br label %11296

11296:                                            ; preds = %11295
  br label %11297

11297:                                            ; preds = %11296
  call void @llvm.lifetime.start.p0(i64 4, ptr %330) #10
  %11298 = call ptr @__errno_location() #11
  %11299 = load i32, ptr %11298, align 4, !tbaa !5
  store i32 %11299, ptr %330, align 4, !tbaa !5
  %11300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11301 = call i32 @s2n_print_stacktrace(ptr noundef %11300)
  %11302 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11303 = trunc i8 %11302 to i1
  br i1 %11303, label %11304, label %11326

11304:                                            ; preds = %11297
  %11305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11306 = call i32 @fileno(ptr noundef %11305) #10
  %11307 = call i32 @isatty(i32 noundef %11306) #10
  %11308 = icmp ne i32 %11307, 0
  br i1 %11308, label %11309, label %11326

11309:                                            ; preds = %11304
  %11310 = load i32, ptr %330, align 4, !tbaa !5
  %11311 = call ptr @__errno_location() #11
  store i32 %11310, ptr %11311, align 4, !tbaa !5
  %11312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11313 = load i32, ptr @test_count, align 4, !tbaa !5
  %11314 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11315 = load i32, ptr %11314, align 4, !tbaa !5
  %11316 = call ptr @s2n_strerror(i32 noundef %11315, ptr noundef @.str.4)
  %11317 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11318 = load i32, ptr %11317, align 4, !tbaa !5
  %11319 = call ptr @s2n_strerror_debug(i32 noundef %11318, ptr noundef @.str.4)
  %11320 = call ptr @__errno_location() #11
  %11321 = load i32, ptr %11320, align 4, !tbaa !5
  %11322 = call ptr @strerror(i32 noundef %11321) #10
  %11323 = call ptr @__errno_location() #11
  %11324 = load i32, ptr %11323, align 4, !tbaa !5
  %11325 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11312, ptr noundef @.str.2, i32 noundef %11313, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 564, ptr noundef %11316, ptr noundef %11319, ptr noundef %11322, i32 noundef %11324) #10
  br label %11343

11326:                                            ; preds = %11304, %11297
  %11327 = load i32, ptr %330, align 4, !tbaa !5
  %11328 = call ptr @__errno_location() #11
  store i32 %11327, ptr %11328, align 4, !tbaa !5
  %11329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11330 = load i32, ptr @test_count, align 4, !tbaa !5
  %11331 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11332 = load i32, ptr %11331, align 4, !tbaa !5
  %11333 = call ptr @s2n_strerror(i32 noundef %11332, ptr noundef @.str.4)
  %11334 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11335 = load i32, ptr %11334, align 4, !tbaa !5
  %11336 = call ptr @s2n_strerror_debug(i32 noundef %11335, ptr noundef @.str.4)
  %11337 = call ptr @__errno_location() #11
  %11338 = load i32, ptr %11337, align 4, !tbaa !5
  %11339 = call ptr @strerror(i32 noundef %11338) #10
  %11340 = call ptr @__errno_location() #11
  %11341 = load i32, ptr %11340, align 4, !tbaa !5
  %11342 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11329, ptr noundef @.str.5, i32 noundef %11330, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 564, ptr noundef %11333, ptr noundef %11336, ptr noundef %11339, i32 noundef %11341) #10
  br label %11343

11343:                                            ; preds = %11326, %11309
  call void @llvm.lifetime.end.p0(i64 4, ptr %330) #10
  br label %11344

11344:                                            ; preds = %11343
  br label %11345

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

11346:                                            ; No predecessors!
  br label %11347

11347:                                            ; preds = %11346
  br label %11348

11348:                                            ; preds = %11347, %11290
  br label %11349

11349:                                            ; preds = %11348
  br label %11350

11350:                                            ; preds = %11349
  call void @llvm.lifetime.start.p0(i64 48, ptr %331) #10
  call void @llvm.memset.p0.i64(ptr align 8 %331, i8 0, i64 48, i1 false)
  br label %11351

11351:                                            ; preds = %11350
  %11352 = load i32, ptr @test_count, align 4, !tbaa !5
  %11353 = add nsw i32 %11352, 1
  store i32 %11353, ptr @test_count, align 4, !tbaa !5
  %11354 = call i32 @s2n_pkey_zero_init(ptr noundef %331)
  %11355 = icmp eq i32 %11354, -1
  br i1 %11355, label %11356, label %11409

11356:                                            ; preds = %11351
  br label %11357

11357:                                            ; preds = %11356
  br label %11358

11358:                                            ; preds = %11357
  call void @llvm.lifetime.start.p0(i64 4, ptr %332) #10
  %11359 = call ptr @__errno_location() #11
  %11360 = load i32, ptr %11359, align 4, !tbaa !5
  store i32 %11360, ptr %332, align 4, !tbaa !5
  %11361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11362 = call i32 @s2n_print_stacktrace(ptr noundef %11361)
  %11363 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11364 = trunc i8 %11363 to i1
  br i1 %11364, label %11365, label %11387

11365:                                            ; preds = %11358
  %11366 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11367 = call i32 @fileno(ptr noundef %11366) #10
  %11368 = call i32 @isatty(i32 noundef %11367) #10
  %11369 = icmp ne i32 %11368, 0
  br i1 %11369, label %11370, label %11387

11370:                                            ; preds = %11365
  %11371 = load i32, ptr %332, align 4, !tbaa !5
  %11372 = call ptr @__errno_location() #11
  store i32 %11371, ptr %11372, align 4, !tbaa !5
  %11373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11374 = load i32, ptr @test_count, align 4, !tbaa !5
  %11375 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11376 = load i32, ptr %11375, align 4, !tbaa !5
  %11377 = call ptr @s2n_strerror(i32 noundef %11376, ptr noundef @.str.4)
  %11378 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11379 = load i32, ptr %11378, align 4, !tbaa !5
  %11380 = call ptr @s2n_strerror_debug(i32 noundef %11379, ptr noundef @.str.4)
  %11381 = call ptr @__errno_location() #11
  %11382 = load i32, ptr %11381, align 4, !tbaa !5
  %11383 = call ptr @strerror(i32 noundef %11382) #10
  %11384 = call ptr @__errno_location() #11
  %11385 = load i32, ptr %11384, align 4, !tbaa !5
  %11386 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11373, ptr noundef @.str.2, i32 noundef %11374, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 567, ptr noundef %11377, ptr noundef %11380, ptr noundef %11383, i32 noundef %11385) #10
  br label %11404

11387:                                            ; preds = %11365, %11358
  %11388 = load i32, ptr %332, align 4, !tbaa !5
  %11389 = call ptr @__errno_location() #11
  store i32 %11388, ptr %11389, align 4, !tbaa !5
  %11390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11391 = load i32, ptr @test_count, align 4, !tbaa !5
  %11392 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11393 = load i32, ptr %11392, align 4, !tbaa !5
  %11394 = call ptr @s2n_strerror(i32 noundef %11393, ptr noundef @.str.4)
  %11395 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11396 = load i32, ptr %11395, align 4, !tbaa !5
  %11397 = call ptr @s2n_strerror_debug(i32 noundef %11396, ptr noundef @.str.4)
  %11398 = call ptr @__errno_location() #11
  %11399 = load i32, ptr %11398, align 4, !tbaa !5
  %11400 = call ptr @strerror(i32 noundef %11399) #10
  %11401 = call ptr @__errno_location() #11
  %11402 = load i32, ptr %11401, align 4, !tbaa !5
  %11403 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11390, ptr noundef @.str.5, i32 noundef %11391, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 567, ptr noundef %11394, ptr noundef %11397, ptr noundef %11400, i32 noundef %11402) #10
  br label %11404

11404:                                            ; preds = %11387, %11370
  call void @llvm.lifetime.end.p0(i64 4, ptr %332) #10
  br label %11405

11405:                                            ; preds = %11404
  br label %11406

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

11407:                                            ; No predecessors!
  br label %11408

11408:                                            ; preds = %11407
  br label %11409

11409:                                            ; preds = %11408, %11351
  br label %11410

11410:                                            ; preds = %11409
  br label %11411

11411:                                            ; preds = %11410
  call void @llvm.lifetime.start.p0(i64 4, ptr %333) #10
  store i32 -1, ptr %333, align 4, !tbaa !5
  br label %11412

11412:                                            ; preds = %11411
  br label %11413

11413:                                            ; preds = %11412
  br label %11414

11414:                                            ; preds = %11413
  %11415 = load i32, ptr @test_count, align 4, !tbaa !5
  %11416 = add nsw i32 %11415, 1
  store i32 %11416, ptr @test_count, align 4, !tbaa !5
  %11417 = load ptr, ptr %321, align 8, !tbaa !9
  %11418 = load ptr, ptr %329, align 8, !tbaa !9
  %11419 = load i32, ptr %328, align 4, !tbaa !5
  %11420 = call i32 @s2n_x509_validator_validate_cert_chain(ptr noundef %315, ptr noundef %11417, ptr noundef %11418, i32 noundef %11419, ptr noundef %333, ptr noundef %331)
  %11421 = getelementptr inbounds %struct.s2n_result, ptr %334, i32 0, i32 0
  store i32 %11420, ptr %11421, align 4
  %11422 = getelementptr inbounds %struct.s2n_result, ptr %334, i32 0, i32 0
  %11423 = load i32, ptr %11422, align 4
  %11424 = call zeroext i1 @s2n_result_is_error(i32 %11423)
  br i1 %11424, label %11478, label %11425

11425:                                            ; preds = %11414
  br label %11426

11426:                                            ; preds = %11425
  br label %11427

11427:                                            ; preds = %11426
  call void @llvm.lifetime.start.p0(i64 4, ptr %335) #10
  %11428 = call ptr @__errno_location() #11
  %11429 = load i32, ptr %11428, align 4, !tbaa !5
  store i32 %11429, ptr %335, align 4, !tbaa !5
  %11430 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11431 = call i32 @s2n_print_stacktrace(ptr noundef %11430)
  %11432 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11433 = trunc i8 %11432 to i1
  br i1 %11433, label %11434, label %11456

11434:                                            ; preds = %11427
  %11435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11436 = call i32 @fileno(ptr noundef %11435) #10
  %11437 = call i32 @isatty(i32 noundef %11436) #10
  %11438 = icmp ne i32 %11437, 0
  br i1 %11438, label %11439, label %11456

11439:                                            ; preds = %11434
  %11440 = load i32, ptr %335, align 4, !tbaa !5
  %11441 = call ptr @__errno_location() #11
  store i32 %11440, ptr %11441, align 4, !tbaa !5
  %11442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11443 = load i32, ptr @test_count, align 4, !tbaa !5
  %11444 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11445 = load i32, ptr %11444, align 4, !tbaa !5
  %11446 = call ptr @s2n_strerror(i32 noundef %11445, ptr noundef @.str.4)
  %11447 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11448 = load i32, ptr %11447, align 4, !tbaa !5
  %11449 = call ptr @s2n_strerror_debug(i32 noundef %11448, ptr noundef @.str.4)
  %11450 = call ptr @__errno_location() #11
  %11451 = load i32, ptr %11450, align 4, !tbaa !5
  %11452 = call ptr @strerror(i32 noundef %11451) #10
  %11453 = call ptr @__errno_location() #11
  %11454 = load i32, ptr %11453, align 4, !tbaa !5
  %11455 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11442, ptr noundef @.str.2, i32 noundef %11443, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 571, ptr noundef %11446, ptr noundef %11449, ptr noundef %11452, i32 noundef %11454) #10
  br label %11473

11456:                                            ; preds = %11434, %11427
  %11457 = load i32, ptr %335, align 4, !tbaa !5
  %11458 = call ptr @__errno_location() #11
  store i32 %11457, ptr %11458, align 4, !tbaa !5
  %11459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11460 = load i32, ptr @test_count, align 4, !tbaa !5
  %11461 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11462 = load i32, ptr %11461, align 4, !tbaa !5
  %11463 = call ptr @s2n_strerror(i32 noundef %11462, ptr noundef @.str.4)
  %11464 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11465 = load i32, ptr %11464, align 4, !tbaa !5
  %11466 = call ptr @s2n_strerror_debug(i32 noundef %11465, ptr noundef @.str.4)
  %11467 = call ptr @__errno_location() #11
  %11468 = load i32, ptr %11467, align 4, !tbaa !5
  %11469 = call ptr @strerror(i32 noundef %11468) #10
  %11470 = call ptr @__errno_location() #11
  %11471 = load i32, ptr %11470, align 4, !tbaa !5
  %11472 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11459, ptr noundef @.str.5, i32 noundef %11460, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 571, ptr noundef %11463, ptr noundef %11466, ptr noundef %11469, i32 noundef %11471) #10
  br label %11473

11473:                                            ; preds = %11456, %11439
  call void @llvm.lifetime.end.p0(i64 4, ptr %335) #10
  br label %11474

11474:                                            ; preds = %11473
  br label %11475

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

11476:                                            ; No predecessors!
  br label %11477

11477:                                            ; preds = %11476
  br label %11478

11478:                                            ; preds = %11477, %11414
  br label %11479

11479:                                            ; preds = %11478
  br label %11480

11480:                                            ; preds = %11479
  br label %11481

11481:                                            ; preds = %11480
  %11482 = load i32, ptr @test_count, align 4, !tbaa !5
  %11483 = add nsw i32 %11482, 1
  store i32 %11483, ptr @test_count, align 4, !tbaa !5
  %11484 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11485 = load i32, ptr %11484, align 4, !tbaa !5
  %11486 = icmp eq i32 %11485, 335544367
  br i1 %11486, label %11540, label %11487

11487:                                            ; preds = %11481
  br label %11488

11488:                                            ; preds = %11487
  br label %11489

11489:                                            ; preds = %11488
  call void @llvm.lifetime.start.p0(i64 4, ptr %336) #10
  %11490 = call ptr @__errno_location() #11
  %11491 = load i32, ptr %11490, align 4, !tbaa !5
  store i32 %11491, ptr %336, align 4, !tbaa !5
  %11492 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11493 = call i32 @s2n_print_stacktrace(ptr noundef %11492)
  %11494 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11495 = trunc i8 %11494 to i1
  br i1 %11495, label %11496, label %11518

11496:                                            ; preds = %11489
  %11497 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11498 = call i32 @fileno(ptr noundef %11497) #10
  %11499 = call i32 @isatty(i32 noundef %11498) #10
  %11500 = icmp ne i32 %11499, 0
  br i1 %11500, label %11501, label %11518

11501:                                            ; preds = %11496
  %11502 = load i32, ptr %336, align 4, !tbaa !5
  %11503 = call ptr @__errno_location() #11
  store i32 %11502, ptr %11503, align 4, !tbaa !5
  %11504 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11505 = load i32, ptr @test_count, align 4, !tbaa !5
  %11506 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11507 = load i32, ptr %11506, align 4, !tbaa !5
  %11508 = call ptr @s2n_strerror(i32 noundef %11507, ptr noundef @.str.4)
  %11509 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11510 = load i32, ptr %11509, align 4, !tbaa !5
  %11511 = call ptr @s2n_strerror_debug(i32 noundef %11510, ptr noundef @.str.4)
  %11512 = call ptr @__errno_location() #11
  %11513 = load i32, ptr %11512, align 4, !tbaa !5
  %11514 = call ptr @strerror(i32 noundef %11513) #10
  %11515 = call ptr @__errno_location() #11
  %11516 = load i32, ptr %11515, align 4, !tbaa !5
  %11517 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11504, ptr noundef @.str.2, i32 noundef %11505, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 571, ptr noundef %11508, ptr noundef %11511, ptr noundef %11514, i32 noundef %11516) #10
  br label %11535

11518:                                            ; preds = %11496, %11489
  %11519 = load i32, ptr %336, align 4, !tbaa !5
  %11520 = call ptr @__errno_location() #11
  store i32 %11519, ptr %11520, align 4, !tbaa !5
  %11521 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11522 = load i32, ptr @test_count, align 4, !tbaa !5
  %11523 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11524 = load i32, ptr %11523, align 4, !tbaa !5
  %11525 = call ptr @s2n_strerror(i32 noundef %11524, ptr noundef @.str.4)
  %11526 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11527 = load i32, ptr %11526, align 4, !tbaa !5
  %11528 = call ptr @s2n_strerror_debug(i32 noundef %11527, ptr noundef @.str.4)
  %11529 = call ptr @__errno_location() #11
  %11530 = load i32, ptr %11529, align 4, !tbaa !5
  %11531 = call ptr @strerror(i32 noundef %11530) #10
  %11532 = call ptr @__errno_location() #11
  %11533 = load i32, ptr %11532, align 4, !tbaa !5
  %11534 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11521, ptr noundef @.str.5, i32 noundef %11522, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 571, ptr noundef %11525, ptr noundef %11528, ptr noundef %11531, i32 noundef %11533) #10
  br label %11535

11535:                                            ; preds = %11518, %11501
  call void @llvm.lifetime.end.p0(i64 4, ptr %336) #10
  br label %11536

11536:                                            ; preds = %11535
  br label %11537

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

11538:                                            ; No predecessors!
  br label %11539

11539:                                            ; preds = %11538
  br label %11540

11540:                                            ; preds = %11539, %11481
  br label %11541

11541:                                            ; preds = %11540
  br label %11542

11542:                                            ; preds = %11541
  br label %11543

11543:                                            ; preds = %11542
  %11544 = load i32, ptr @test_count, align 4, !tbaa !5
  %11545 = add nsw i32 %11544, 1
  store i32 %11545, ptr @test_count, align 4, !tbaa !5
  %11546 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11547 = load i32, ptr %11546, align 4, !tbaa !5
  %11548 = call ptr @s2n_strerror_debug(i32 noundef %11547, ptr noundef @.str.4)
  %11549 = icmp eq ptr %11548, null
  br i1 %11549, label %11550, label %11603

11550:                                            ; preds = %11543
  br label %11551

11551:                                            ; preds = %11550
  br label %11552

11552:                                            ; preds = %11551
  call void @llvm.lifetime.start.p0(i64 4, ptr %337) #10
  %11553 = call ptr @__errno_location() #11
  %11554 = load i32, ptr %11553, align 4, !tbaa !5
  store i32 %11554, ptr %337, align 4, !tbaa !5
  %11555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11556 = call i32 @s2n_print_stacktrace(ptr noundef %11555)
  %11557 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11558 = trunc i8 %11557 to i1
  br i1 %11558, label %11559, label %11581

11559:                                            ; preds = %11552
  %11560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11561 = call i32 @fileno(ptr noundef %11560) #10
  %11562 = call i32 @isatty(i32 noundef %11561) #10
  %11563 = icmp ne i32 %11562, 0
  br i1 %11563, label %11564, label %11581

11564:                                            ; preds = %11559
  %11565 = load i32, ptr %337, align 4, !tbaa !5
  %11566 = call ptr @__errno_location() #11
  store i32 %11565, ptr %11566, align 4, !tbaa !5
  %11567 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11568 = load i32, ptr @test_count, align 4, !tbaa !5
  %11569 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11570 = load i32, ptr %11569, align 4, !tbaa !5
  %11571 = call ptr @s2n_strerror(i32 noundef %11570, ptr noundef @.str.4)
  %11572 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11573 = load i32, ptr %11572, align 4, !tbaa !5
  %11574 = call ptr @s2n_strerror_debug(i32 noundef %11573, ptr noundef @.str.4)
  %11575 = call ptr @__errno_location() #11
  %11576 = load i32, ptr %11575, align 4, !tbaa !5
  %11577 = call ptr @strerror(i32 noundef %11576) #10
  %11578 = call ptr @__errno_location() #11
  %11579 = load i32, ptr %11578, align 4, !tbaa !5
  %11580 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11567, ptr noundef @.str.2, i32 noundef %11568, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 571, ptr noundef %11571, ptr noundef %11574, ptr noundef %11577, i32 noundef %11579) #10
  br label %11598

11581:                                            ; preds = %11559, %11552
  %11582 = load i32, ptr %337, align 4, !tbaa !5
  %11583 = call ptr @__errno_location() #11
  store i32 %11582, ptr %11583, align 4, !tbaa !5
  %11584 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11585 = load i32, ptr @test_count, align 4, !tbaa !5
  %11586 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11587 = load i32, ptr %11586, align 4, !tbaa !5
  %11588 = call ptr @s2n_strerror(i32 noundef %11587, ptr noundef @.str.4)
  %11589 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11590 = load i32, ptr %11589, align 4, !tbaa !5
  %11591 = call ptr @s2n_strerror_debug(i32 noundef %11590, ptr noundef @.str.4)
  %11592 = call ptr @__errno_location() #11
  %11593 = load i32, ptr %11592, align 4, !tbaa !5
  %11594 = call ptr @strerror(i32 noundef %11593) #10
  %11595 = call ptr @__errno_location() #11
  %11596 = load i32, ptr %11595, align 4, !tbaa !5
  %11597 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11584, ptr noundef @.str.5, i32 noundef %11585, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 571, ptr noundef %11588, ptr noundef %11591, ptr noundef %11594, i32 noundef %11596) #10
  br label %11598

11598:                                            ; preds = %11581, %11564
  call void @llvm.lifetime.end.p0(i64 4, ptr %337) #10
  br label %11599

11599:                                            ; preds = %11598
  br label %11600

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

11601:                                            ; No predecessors!
  br label %11602

11602:                                            ; preds = %11601
  br label %11603

11603:                                            ; preds = %11602, %11543
  br label %11604

11604:                                            ; preds = %11603
  br label %11605

11605:                                            ; preds = %11604
  br label %11606

11606:                                            ; preds = %11605
  br label %11607

11607:                                            ; preds = %11606
  br label %11608

11608:                                            ; preds = %11607
  %11609 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %11609, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %11610 = call ptr @__errno_location() #11
  store i32 0, ptr %11610, align 4, !tbaa !5
  br label %11611

11611:                                            ; preds = %11608
  br label %11612

11612:                                            ; preds = %11611
  br label %11613

11613:                                            ; preds = %11612
  br label %11614

11614:                                            ; preds = %11613
  br label %11615

11615:                                            ; preds = %11614
  %11616 = load i32, ptr @test_count, align 4, !tbaa !5
  %11617 = add nsw i32 %11616, 1
  store i32 %11617, ptr @test_count, align 4, !tbaa !5
  %11618 = getelementptr inbounds %struct.crl_lookup_data, ptr %317, i32 0, i32 2
  %11619 = load i8, ptr %11618, align 8, !tbaa !27
  %11620 = zext i8 %11619 to i32
  %11621 = icmp eq i32 %11620, 2
  br i1 %11621, label %11675, label %11622

11622:                                            ; preds = %11615
  br label %11623

11623:                                            ; preds = %11622
  br label %11624

11624:                                            ; preds = %11623
  call void @llvm.lifetime.start.p0(i64 4, ptr %338) #10
  %11625 = call ptr @__errno_location() #11
  %11626 = load i32, ptr %11625, align 4, !tbaa !5
  store i32 %11626, ptr %338, align 4, !tbaa !5
  %11627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11628 = call i32 @s2n_print_stacktrace(ptr noundef %11627)
  %11629 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11630 = trunc i8 %11629 to i1
  br i1 %11630, label %11631, label %11653

11631:                                            ; preds = %11624
  %11632 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11633 = call i32 @fileno(ptr noundef %11632) #10
  %11634 = call i32 @isatty(i32 noundef %11633) #10
  %11635 = icmp ne i32 %11634, 0
  br i1 %11635, label %11636, label %11653

11636:                                            ; preds = %11631
  %11637 = load i32, ptr %338, align 4, !tbaa !5
  %11638 = call ptr @__errno_location() #11
  store i32 %11637, ptr %11638, align 4, !tbaa !5
  %11639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11640 = load i32, ptr @test_count, align 4, !tbaa !5
  %11641 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11642 = load i32, ptr %11641, align 4, !tbaa !5
  %11643 = call ptr @s2n_strerror(i32 noundef %11642, ptr noundef @.str.4)
  %11644 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11645 = load i32, ptr %11644, align 4, !tbaa !5
  %11646 = call ptr @s2n_strerror_debug(i32 noundef %11645, ptr noundef @.str.4)
  %11647 = call ptr @__errno_location() #11
  %11648 = load i32, ptr %11647, align 4, !tbaa !5
  %11649 = call ptr @strerror(i32 noundef %11648) #10
  %11650 = call ptr @__errno_location() #11
  %11651 = load i32, ptr %11650, align 4, !tbaa !5
  %11652 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11639, ptr noundef @.str.2, i32 noundef %11640, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 572, ptr noundef %11643, ptr noundef %11646, ptr noundef %11649, i32 noundef %11651) #10
  br label %11670

11653:                                            ; preds = %11631, %11624
  %11654 = load i32, ptr %338, align 4, !tbaa !5
  %11655 = call ptr @__errno_location() #11
  store i32 %11654, ptr %11655, align 4, !tbaa !5
  %11656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11657 = load i32, ptr @test_count, align 4, !tbaa !5
  %11658 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11659 = load i32, ptr %11658, align 4, !tbaa !5
  %11660 = call ptr @s2n_strerror(i32 noundef %11659, ptr noundef @.str.4)
  %11661 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11662 = load i32, ptr %11661, align 4, !tbaa !5
  %11663 = call ptr @s2n_strerror_debug(i32 noundef %11662, ptr noundef @.str.4)
  %11664 = call ptr @__errno_location() #11
  %11665 = load i32, ptr %11664, align 4, !tbaa !5
  %11666 = call ptr @strerror(i32 noundef %11665) #10
  %11667 = call ptr @__errno_location() #11
  %11668 = load i32, ptr %11667, align 4, !tbaa !5
  %11669 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11656, ptr noundef @.str.5, i32 noundef %11657, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 572, ptr noundef %11660, ptr noundef %11663, ptr noundef %11666, i32 noundef %11668) #10
  br label %11670

11670:                                            ; preds = %11653, %11636
  call void @llvm.lifetime.end.p0(i64 4, ptr %338) #10
  br label %11671

11671:                                            ; preds = %11670
  br label %11672

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

11673:                                            ; No predecessors!
  br label %11674

11674:                                            ; preds = %11673
  br label %11675

11675:                                            ; preds = %11674, %11615
  br label %11676

11676:                                            ; preds = %11675
  br label %11677

11677:                                            ; preds = %11676
  call void @llvm.lifetime.end.p0(i64 4, ptr %333) #10
  %11678 = call i32 @s2n_pkey_free(ptr noundef %331)
  call void @llvm.lifetime.end.p0(i64 48, ptr %331) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %329) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %328) #10
  %11679 = call i32 @s2n_stuffer_free(ptr noundef %325)
  call void @llvm.lifetime.end.p0(i64 40, ptr %325) #10
  %11680 = call i32 @s2n_connection_ptr_free(ptr noundef %321)
  %11681 = getelementptr inbounds %struct.s2n_result, ptr %339, i32 0, i32 0
  store i32 %11680, ptr %11681, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %321) #10
  %11682 = call i32 @s2n_config_ptr_free(ptr noundef %318)
  %11683 = getelementptr inbounds %struct.s2n_result, ptr %340, i32 0, i32 0
  store i32 %11682, ptr %11683, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %318) #10
  call void @llvm.lifetime.end.p0(i64 88, ptr %317) #10
  %11684 = call i32 @s2n_x509_validator_wipe(ptr noundef %315)
  call void @llvm.lifetime.end.p0(i64 56, ptr %315) #10
  call void @llvm.lifetime.end.p0(i64 12000, ptr %312) #10
  call void @s2n_x509_trust_store_wipe(ptr noundef %311)
  call void @llvm.lifetime.end.p0(i64 16, ptr %311) #10
  call void @llvm.lifetime.start.p0(i64 4, ptr %341) #10
  store i32 0, ptr %341, align 4, !tbaa !5
  br label %11685

11685:                                            ; preds = %12589, %11677
  %11686 = load i32, ptr %341, align 4, !tbaa !5
  %11687 = icmp sle i32 %11686, 1
  br i1 %11687, label %11689, label %11688

11688:                                            ; preds = %11685
  store i32 1104, ptr %26, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %341) #10
  br label %12592

11689:                                            ; preds = %11685
  call void @llvm.lifetime.start.p0(i64 16, ptr %342) #10
  call void @llvm.memset.p0.i64(ptr align 8 %342, i8 0, i64 16, i1 false)
  call void @s2n_x509_trust_store_init_empty(ptr noundef %342)
  call void @llvm.lifetime.start.p0(i64 12000, ptr %343) #10
  br label %11690

11690:                                            ; preds = %11689
  %11691 = load i32, ptr @test_count, align 4, !tbaa !5
  %11692 = add nsw i32 %11691, 1
  store i32 %11692, ptr @test_count, align 4, !tbaa !5
  %11693 = getelementptr inbounds [12000 x i8], ptr %343, i64 0, i64 0
  %11694 = call i32 @s2n_read_test_pem(ptr noundef @.str.31, ptr noundef %11693, i64 noundef 12000)
  %11695 = icmp eq i32 %11694, -1
  br i1 %11695, label %11696, label %11749

11696:                                            ; preds = %11690
  br label %11697

11697:                                            ; preds = %11696
  br label %11698

11698:                                            ; preds = %11697
  call void @llvm.lifetime.start.p0(i64 4, ptr %344) #10
  %11699 = call ptr @__errno_location() #11
  %11700 = load i32, ptr %11699, align 4, !tbaa !5
  store i32 %11700, ptr %344, align 4, !tbaa !5
  %11701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11702 = call i32 @s2n_print_stacktrace(ptr noundef %11701)
  %11703 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11704 = trunc i8 %11703 to i1
  br i1 %11704, label %11705, label %11727

11705:                                            ; preds = %11698
  %11706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11707 = call i32 @fileno(ptr noundef %11706) #10
  %11708 = call i32 @isatty(i32 noundef %11707) #10
  %11709 = icmp ne i32 %11708, 0
  br i1 %11709, label %11710, label %11727

11710:                                            ; preds = %11705
  %11711 = load i32, ptr %344, align 4, !tbaa !5
  %11712 = call ptr @__errno_location() #11
  store i32 %11711, ptr %11712, align 4, !tbaa !5
  %11713 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11714 = load i32, ptr @test_count, align 4, !tbaa !5
  %11715 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11716 = load i32, ptr %11715, align 4, !tbaa !5
  %11717 = call ptr @s2n_strerror(i32 noundef %11716, ptr noundef @.str.4)
  %11718 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11719 = load i32, ptr %11718, align 4, !tbaa !5
  %11720 = call ptr @s2n_strerror_debug(i32 noundef %11719, ptr noundef @.str.4)
  %11721 = call ptr @__errno_location() #11
  %11722 = load i32, ptr %11721, align 4, !tbaa !5
  %11723 = call ptr @strerror(i32 noundef %11722) #10
  %11724 = call ptr @__errno_location() #11
  %11725 = load i32, ptr %11724, align 4, !tbaa !5
  %11726 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11713, ptr noundef @.str.2, i32 noundef %11714, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 581, ptr noundef %11717, ptr noundef %11720, ptr noundef %11723, i32 noundef %11725) #10
  br label %11744

11727:                                            ; preds = %11705, %11698
  %11728 = load i32, ptr %344, align 4, !tbaa !5
  %11729 = call ptr @__errno_location() #11
  store i32 %11728, ptr %11729, align 4, !tbaa !5
  %11730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11731 = load i32, ptr @test_count, align 4, !tbaa !5
  %11732 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11733 = load i32, ptr %11732, align 4, !tbaa !5
  %11734 = call ptr @s2n_strerror(i32 noundef %11733, ptr noundef @.str.4)
  %11735 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11736 = load i32, ptr %11735, align 4, !tbaa !5
  %11737 = call ptr @s2n_strerror_debug(i32 noundef %11736, ptr noundef @.str.4)
  %11738 = call ptr @__errno_location() #11
  %11739 = load i32, ptr %11738, align 4, !tbaa !5
  %11740 = call ptr @strerror(i32 noundef %11739) #10
  %11741 = call ptr @__errno_location() #11
  %11742 = load i32, ptr %11741, align 4, !tbaa !5
  %11743 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11730, ptr noundef @.str.5, i32 noundef %11731, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 581, ptr noundef %11734, ptr noundef %11737, ptr noundef %11740, i32 noundef %11742) #10
  br label %11744

11744:                                            ; preds = %11727, %11710
  call void @llvm.lifetime.end.p0(i64 4, ptr %344) #10
  br label %11745

11745:                                            ; preds = %11744
  br label %11746

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

11747:                                            ; No predecessors!
  br label %11748

11748:                                            ; preds = %11747
  br label %11749

11749:                                            ; preds = %11748, %11690
  br label %11750

11750:                                            ; preds = %11749
  br label %11751

11751:                                            ; preds = %11750
  br label %11752

11752:                                            ; preds = %11751
  %11753 = load i32, ptr @test_count, align 4, !tbaa !5
  %11754 = add nsw i32 %11753, 1
  store i32 %11754, ptr @test_count, align 4, !tbaa !5
  %11755 = getelementptr inbounds [12000 x i8], ptr %343, i64 0, i64 0
  %11756 = call i32 @s2n_x509_trust_store_add_pem(ptr noundef %342, ptr noundef %11755)
  %11757 = icmp eq i32 %11756, -1
  br i1 %11757, label %11758, label %11811

11758:                                            ; preds = %11752
  br label %11759

11759:                                            ; preds = %11758
  br label %11760

11760:                                            ; preds = %11759
  call void @llvm.lifetime.start.p0(i64 4, ptr %345) #10
  %11761 = call ptr @__errno_location() #11
  %11762 = load i32, ptr %11761, align 4, !tbaa !5
  store i32 %11762, ptr %345, align 4, !tbaa !5
  %11763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11764 = call i32 @s2n_print_stacktrace(ptr noundef %11763)
  %11765 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11766 = trunc i8 %11765 to i1
  br i1 %11766, label %11767, label %11789

11767:                                            ; preds = %11760
  %11768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11769 = call i32 @fileno(ptr noundef %11768) #10
  %11770 = call i32 @isatty(i32 noundef %11769) #10
  %11771 = icmp ne i32 %11770, 0
  br i1 %11771, label %11772, label %11789

11772:                                            ; preds = %11767
  %11773 = load i32, ptr %345, align 4, !tbaa !5
  %11774 = call ptr @__errno_location() #11
  store i32 %11773, ptr %11774, align 4, !tbaa !5
  %11775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11776 = load i32, ptr @test_count, align 4, !tbaa !5
  %11777 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11778 = load i32, ptr %11777, align 4, !tbaa !5
  %11779 = call ptr @s2n_strerror(i32 noundef %11778, ptr noundef @.str.4)
  %11780 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11781 = load i32, ptr %11780, align 4, !tbaa !5
  %11782 = call ptr @s2n_strerror_debug(i32 noundef %11781, ptr noundef @.str.4)
  %11783 = call ptr @__errno_location() #11
  %11784 = load i32, ptr %11783, align 4, !tbaa !5
  %11785 = call ptr @strerror(i32 noundef %11784) #10
  %11786 = call ptr @__errno_location() #11
  %11787 = load i32, ptr %11786, align 4, !tbaa !5
  %11788 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11775, ptr noundef @.str.2, i32 noundef %11776, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 582, ptr noundef %11779, ptr noundef %11782, ptr noundef %11785, i32 noundef %11787) #10
  br label %11806

11789:                                            ; preds = %11767, %11760
  %11790 = load i32, ptr %345, align 4, !tbaa !5
  %11791 = call ptr @__errno_location() #11
  store i32 %11790, ptr %11791, align 4, !tbaa !5
  %11792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11793 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %11795, ptr noundef @.str.4)
  %11797 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11798 = load i32, ptr %11797, align 4, !tbaa !5
  %11799 = call ptr @s2n_strerror_debug(i32 noundef %11798, ptr noundef @.str.4)
  %11800 = call ptr @__errno_location() #11
  %11801 = load i32, ptr %11800, align 4, !tbaa !5
  %11802 = call ptr @strerror(i32 noundef %11801) #10
  %11803 = call ptr @__errno_location() #11
  %11804 = load i32, ptr %11803, align 4, !tbaa !5
  %11805 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11792, ptr noundef @.str.5, i32 noundef %11793, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 582, ptr noundef %11796, ptr noundef %11799, ptr noundef %11802, i32 noundef %11804) #10
  br label %11806

11806:                                            ; preds = %11789, %11772
  call void @llvm.lifetime.end.p0(i64 4, ptr %345) #10
  br label %11807

11807:                                            ; preds = %11806
  br label %11808

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

11809:                                            ; No predecessors!
  br label %11810

11810:                                            ; preds = %11809
  br label %11811

11811:                                            ; preds = %11810, %11752
  br label %11812

11812:                                            ; preds = %11811
  br label %11813

11813:                                            ; preds = %11812
  call void @llvm.lifetime.start.p0(i64 56, ptr %346) #10
  br label %11814

11814:                                            ; preds = %11813
  %11815 = load i32, ptr @test_count, align 4, !tbaa !5
  %11816 = add nsw i32 %11815, 1
  store i32 %11816, ptr @test_count, align 4, !tbaa !5
  %11817 = call i32 @s2n_x509_validator_init(ptr noundef %346, ptr noundef %342, i8 noundef zeroext 0)
  %11818 = icmp eq i32 %11817, -1
  br i1 %11818, label %11819, label %11872

11819:                                            ; preds = %11814
  br label %11820

11820:                                            ; preds = %11819
  br label %11821

11821:                                            ; preds = %11820
  call void @llvm.lifetime.start.p0(i64 4, ptr %347) #10
  %11822 = call ptr @__errno_location() #11
  %11823 = load i32, ptr %11822, align 4, !tbaa !5
  store i32 %11823, ptr %347, align 4, !tbaa !5
  %11824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11825 = call i32 @s2n_print_stacktrace(ptr noundef %11824)
  %11826 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11827 = trunc i8 %11826 to i1
  br i1 %11827, label %11828, label %11850

11828:                                            ; preds = %11821
  %11829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11830 = call i32 @fileno(ptr noundef %11829) #10
  %11831 = call i32 @isatty(i32 noundef %11830) #10
  %11832 = icmp ne i32 %11831, 0
  br i1 %11832, label %11833, label %11850

11833:                                            ; preds = %11828
  %11834 = load i32, ptr %347, align 4, !tbaa !5
  %11835 = call ptr @__errno_location() #11
  store i32 %11834, ptr %11835, align 4, !tbaa !5
  %11836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11837 = load i32, ptr @test_count, align 4, !tbaa !5
  %11838 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11839 = load i32, ptr %11838, align 4, !tbaa !5
  %11840 = call ptr @s2n_strerror(i32 noundef %11839, ptr noundef @.str.4)
  %11841 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11842 = load i32, ptr %11841, align 4, !tbaa !5
  %11843 = call ptr @s2n_strerror_debug(i32 noundef %11842, ptr noundef @.str.4)
  %11844 = call ptr @__errno_location() #11
  %11845 = load i32, ptr %11844, align 4, !tbaa !5
  %11846 = call ptr @strerror(i32 noundef %11845) #10
  %11847 = call ptr @__errno_location() #11
  %11848 = load i32, ptr %11847, align 4, !tbaa !5
  %11849 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11836, ptr noundef @.str.2, i32 noundef %11837, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 585, ptr noundef %11840, ptr noundef %11843, ptr noundef %11846, i32 noundef %11848) #10
  br label %11867

11850:                                            ; preds = %11828, %11821
  %11851 = load i32, ptr %347, align 4, !tbaa !5
  %11852 = call ptr @__errno_location() #11
  store i32 %11851, ptr %11852, align 4, !tbaa !5
  %11853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11854 = load i32, ptr @test_count, align 4, !tbaa !5
  %11855 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11856 = load i32, ptr %11855, align 4, !tbaa !5
  %11857 = call ptr @s2n_strerror(i32 noundef %11856, ptr noundef @.str.4)
  %11858 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11859 = load i32, ptr %11858, align 4, !tbaa !5
  %11860 = call ptr @s2n_strerror_debug(i32 noundef %11859, ptr noundef @.str.4)
  %11861 = call ptr @__errno_location() #11
  %11862 = load i32, ptr %11861, align 4, !tbaa !5
  %11863 = call ptr @strerror(i32 noundef %11862) #10
  %11864 = call ptr @__errno_location() #11
  %11865 = load i32, ptr %11864, align 4, !tbaa !5
  %11866 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11853, ptr noundef @.str.5, i32 noundef %11854, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 585, ptr noundef %11857, ptr noundef %11860, ptr noundef %11863, i32 noundef %11865) #10
  br label %11867

11867:                                            ; preds = %11850, %11833
  call void @llvm.lifetime.end.p0(i64 4, ptr %347) #10
  br label %11868

11868:                                            ; preds = %11867
  br label %11869

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

11870:                                            ; No predecessors!
  br label %11871

11871:                                            ; preds = %11870
  br label %11872

11872:                                            ; preds = %11871, %11814
  br label %11873

11873:                                            ; preds = %11872
  br label %11874

11874:                                            ; preds = %11873
  call void @llvm.lifetime.start.p0(i64 88, ptr %348) #10
  call void @llvm.memset.p0.i64(ptr align 8 %348, i8 0, i64 88, i1 false)
  %11875 = load ptr, ptr %51, align 8, !tbaa !9
  %11876 = getelementptr inbounds %struct.crl_lookup_data, ptr %348, i32 0, i32 0
  %11877 = getelementptr inbounds [5 x ptr], ptr %11876, i64 0, i64 0
  store ptr %11875, ptr %11877, align 8, !tbaa !9
  %11878 = load ptr, ptr %43, align 8, !tbaa !9
  %11879 = getelementptr inbounds %struct.crl_lookup_data, ptr %348, i32 0, i32 0
  %11880 = getelementptr inbounds [5 x ptr], ptr %11879, i64 0, i64 1
  store ptr %11878, ptr %11880, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %349) #10
  %11881 = call ptr @s2n_config_new()
  store ptr %11881, ptr %349, align 8, !tbaa !9
  br label %11882

11882:                                            ; preds = %11874
  %11883 = load i32, ptr @test_count, align 4, !tbaa !5
  %11884 = add nsw i32 %11883, 1
  store i32 %11884, ptr @test_count, align 4, !tbaa !5
  %11885 = load ptr, ptr %349, align 8, !tbaa !9
  %11886 = icmp eq ptr %11885, null
  br i1 %11886, label %11887, label %11940

11887:                                            ; preds = %11882
  br label %11888

11888:                                            ; preds = %11887
  br label %11889

11889:                                            ; preds = %11888
  call void @llvm.lifetime.start.p0(i64 4, ptr %350) #10
  %11890 = call ptr @__errno_location() #11
  %11891 = load i32, ptr %11890, align 4, !tbaa !5
  store i32 %11891, ptr %350, align 4, !tbaa !5
  %11892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11893 = call i32 @s2n_print_stacktrace(ptr noundef %11892)
  %11894 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11895 = trunc i8 %11894 to i1
  br i1 %11895, label %11896, label %11918

11896:                                            ; preds = %11889
  %11897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11898 = call i32 @fileno(ptr noundef %11897) #10
  %11899 = call i32 @isatty(i32 noundef %11898) #10
  %11900 = icmp ne i32 %11899, 0
  br i1 %11900, label %11901, label %11918

11901:                                            ; preds = %11896
  %11902 = load i32, ptr %350, align 4, !tbaa !5
  %11903 = call ptr @__errno_location() #11
  store i32 %11902, ptr %11903, align 4, !tbaa !5
  %11904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11905 = load i32, ptr @test_count, align 4, !tbaa !5
  %11906 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11907 = load i32, ptr %11906, align 4, !tbaa !5
  %11908 = call ptr @s2n_strerror(i32 noundef %11907, ptr noundef @.str.4)
  %11909 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11910 = load i32, ptr %11909, align 4, !tbaa !5
  %11911 = call ptr @s2n_strerror_debug(i32 noundef %11910, ptr noundef @.str.4)
  %11912 = call ptr @__errno_location() #11
  %11913 = load i32, ptr %11912, align 4, !tbaa !5
  %11914 = call ptr @strerror(i32 noundef %11913) #10
  %11915 = call ptr @__errno_location() #11
  %11916 = load i32, ptr %11915, align 4, !tbaa !5
  %11917 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11904, ptr noundef @.str.2, i32 noundef %11905, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 592, ptr noundef %11908, ptr noundef %11911, ptr noundef %11914, i32 noundef %11916) #10
  br label %11935

11918:                                            ; preds = %11896, %11889
  %11919 = load i32, ptr %350, align 4, !tbaa !5
  %11920 = call ptr @__errno_location() #11
  store i32 %11919, ptr %11920, align 4, !tbaa !5
  %11921 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11922 = load i32, ptr @test_count, align 4, !tbaa !5
  %11923 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11924 = load i32, ptr %11923, align 4, !tbaa !5
  %11925 = call ptr @s2n_strerror(i32 noundef %11924, ptr noundef @.str.4)
  %11926 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11927 = load i32, ptr %11926, align 4, !tbaa !5
  %11928 = call ptr @s2n_strerror_debug(i32 noundef %11927, ptr noundef @.str.4)
  %11929 = call ptr @__errno_location() #11
  %11930 = load i32, ptr %11929, align 4, !tbaa !5
  %11931 = call ptr @strerror(i32 noundef %11930) #10
  %11932 = call ptr @__errno_location() #11
  %11933 = load i32, ptr %11932, align 4, !tbaa !5
  %11934 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11921, ptr noundef @.str.5, i32 noundef %11922, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 592, ptr noundef %11925, ptr noundef %11928, ptr noundef %11931, i32 noundef %11933) #10
  br label %11935

11935:                                            ; preds = %11918, %11901
  call void @llvm.lifetime.end.p0(i64 4, ptr %350) #10
  br label %11936

11936:                                            ; preds = %11935
  br label %11937

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

11938:                                            ; No predecessors!
  br label %11939

11939:                                            ; preds = %11938
  br label %11940

11940:                                            ; preds = %11939, %11882
  br label %11941

11941:                                            ; preds = %11940
  br label %11942

11942:                                            ; preds = %11941
  br label %11943

11943:                                            ; preds = %11942
  %11944 = load i32, ptr @test_count, align 4, !tbaa !5
  %11945 = add nsw i32 %11944, 1
  store i32 %11945, ptr @test_count, align 4, !tbaa !5
  %11946 = load ptr, ptr %349, align 8, !tbaa !9
  %11947 = call i32 @s2n_config_set_crl_lookup_cb(ptr noundef %11946, ptr noundef @crl_lookup_test_callback, ptr noundef %348)
  %11948 = icmp eq i32 %11947, -1
  br i1 %11948, label %11949, label %12002

11949:                                            ; preds = %11943
  br label %11950

11950:                                            ; preds = %11949
  br label %11951

11951:                                            ; preds = %11950
  call void @llvm.lifetime.start.p0(i64 4, ptr %351) #10
  %11952 = call ptr @__errno_location() #11
  %11953 = load i32, ptr %11952, align 4, !tbaa !5
  store i32 %11953, ptr %351, align 4, !tbaa !5
  %11954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11955 = call i32 @s2n_print_stacktrace(ptr noundef %11954)
  %11956 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11957 = trunc i8 %11956 to i1
  br i1 %11957, label %11958, label %11980

11958:                                            ; preds = %11951
  %11959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11960 = call i32 @fileno(ptr noundef %11959) #10
  %11961 = call i32 @isatty(i32 noundef %11960) #10
  %11962 = icmp ne i32 %11961, 0
  br i1 %11962, label %11963, label %11980

11963:                                            ; preds = %11958
  %11964 = load i32, ptr %351, align 4, !tbaa !5
  %11965 = call ptr @__errno_location() #11
  store i32 %11964, ptr %11965, align 4, !tbaa !5
  %11966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11967 = load i32, ptr @test_count, align 4, !tbaa !5
  %11968 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11969 = load i32, ptr %11968, align 4, !tbaa !5
  %11970 = call ptr @s2n_strerror(i32 noundef %11969, ptr noundef @.str.4)
  %11971 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11972 = load i32, ptr %11971, align 4, !tbaa !5
  %11973 = call ptr @s2n_strerror_debug(i32 noundef %11972, ptr noundef @.str.4)
  %11974 = call ptr @__errno_location() #11
  %11975 = load i32, ptr %11974, align 4, !tbaa !5
  %11976 = call ptr @strerror(i32 noundef %11975) #10
  %11977 = call ptr @__errno_location() #11
  %11978 = load i32, ptr %11977, align 4, !tbaa !5
  %11979 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11966, ptr noundef @.str.2, i32 noundef %11967, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 593, ptr noundef %11970, ptr noundef %11973, ptr noundef %11976, i32 noundef %11978) #10
  br label %11997

11980:                                            ; preds = %11958, %11951
  %11981 = load i32, ptr %351, align 4, !tbaa !5
  %11982 = call ptr @__errno_location() #11
  store i32 %11981, ptr %11982, align 4, !tbaa !5
  %11983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11984 = load i32, ptr @test_count, align 4, !tbaa !5
  %11985 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11986 = load i32, ptr %11985, align 4, !tbaa !5
  %11987 = call ptr @s2n_strerror(i32 noundef %11986, ptr noundef @.str.4)
  %11988 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11989 = load i32, ptr %11988, align 4, !tbaa !5
  %11990 = call ptr @s2n_strerror_debug(i32 noundef %11989, ptr noundef @.str.4)
  %11991 = call ptr @__errno_location() #11
  %11992 = load i32, ptr %11991, align 4, !tbaa !5
  %11993 = call ptr @strerror(i32 noundef %11992) #10
  %11994 = call ptr @__errno_location() #11
  %11995 = load i32, ptr %11994, align 4, !tbaa !5
  %11996 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11983, ptr noundef @.str.5, i32 noundef %11984, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 593, ptr noundef %11987, ptr noundef %11990, ptr noundef %11993, i32 noundef %11995) #10
  br label %11997

11997:                                            ; preds = %11980, %11963
  call void @llvm.lifetime.end.p0(i64 4, ptr %351) #10
  br label %11998

11998:                                            ; preds = %11997
  br label %11999

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

12000:                                            ; No predecessors!
  br label %12001

12001:                                            ; preds = %12000
  br label %12002

12002:                                            ; preds = %12001, %11943
  br label %12003

12003:                                            ; preds = %12002
  br label %12004

12004:                                            ; preds = %12003
  %12005 = load i32, ptr %341, align 4, !tbaa !5
  %12006 = icmp ne i32 %12005, 0
  br i1 %12006, label %12007, label %12070

12007:                                            ; preds = %12004
  br label %12008

12008:                                            ; preds = %12007
  %12009 = load i32, ptr @test_count, align 4, !tbaa !5
  %12010 = add nsw i32 %12009, 1
  store i32 %12010, ptr @test_count, align 4, !tbaa !5
  %12011 = load ptr, ptr %349, align 8, !tbaa !9
  %12012 = call i32 @s2n_config_disable_x509_time_verification(ptr noundef %12011)
  %12013 = icmp eq i32 %12012, -1
  br i1 %12013, label %12014, label %12067

12014:                                            ; preds = %12008
  br label %12015

12015:                                            ; preds = %12014
  br label %12016

12016:                                            ; preds = %12015
  call void @llvm.lifetime.start.p0(i64 4, ptr %352) #10
  %12017 = call ptr @__errno_location() #11
  %12018 = load i32, ptr %12017, align 4, !tbaa !5
  store i32 %12018, ptr %352, align 4, !tbaa !5
  %12019 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12020 = call i32 @s2n_print_stacktrace(ptr noundef %12019)
  %12021 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12022 = trunc i8 %12021 to i1
  br i1 %12022, label %12023, label %12045

12023:                                            ; preds = %12016
  %12024 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12025 = call i32 @fileno(ptr noundef %12024) #10
  %12026 = call i32 @isatty(i32 noundef %12025) #10
  %12027 = icmp ne i32 %12026, 0
  br i1 %12027, label %12028, label %12045

12028:                                            ; preds = %12023
  %12029 = load i32, ptr %352, align 4, !tbaa !5
  %12030 = call ptr @__errno_location() #11
  store i32 %12029, ptr %12030, align 4, !tbaa !5
  %12031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12032 = load i32, ptr @test_count, align 4, !tbaa !5
  %12033 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12034 = load i32, ptr %12033, align 4, !tbaa !5
  %12035 = call ptr @s2n_strerror(i32 noundef %12034, ptr noundef @.str.4)
  %12036 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12037 = load i32, ptr %12036, align 4, !tbaa !5
  %12038 = call ptr @s2n_strerror_debug(i32 noundef %12037, ptr noundef @.str.4)
  %12039 = call ptr @__errno_location() #11
  %12040 = load i32, ptr %12039, align 4, !tbaa !5
  %12041 = call ptr @strerror(i32 noundef %12040) #10
  %12042 = call ptr @__errno_location() #11
  %12043 = load i32, ptr %12042, align 4, !tbaa !5
  %12044 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12031, ptr noundef @.str.2, i32 noundef %12032, ptr noundef @.str.75, ptr noundef @.str.1, i32 noundef 599, ptr noundef %12035, ptr noundef %12038, ptr noundef %12041, i32 noundef %12043) #10
  br label %12062

12045:                                            ; preds = %12023, %12016
  %12046 = load i32, ptr %352, align 4, !tbaa !5
  %12047 = call ptr @__errno_location() #11
  store i32 %12046, ptr %12047, align 4, !tbaa !5
  %12048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12049 = load i32, ptr @test_count, align 4, !tbaa !5
  %12050 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12051 = load i32, ptr %12050, align 4, !tbaa !5
  %12052 = call ptr @s2n_strerror(i32 noundef %12051, ptr noundef @.str.4)
  %12053 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12054 = load i32, ptr %12053, align 4, !tbaa !5
  %12055 = call ptr @s2n_strerror_debug(i32 noundef %12054, ptr noundef @.str.4)
  %12056 = call ptr @__errno_location() #11
  %12057 = load i32, ptr %12056, align 4, !tbaa !5
  %12058 = call ptr @strerror(i32 noundef %12057) #10
  %12059 = call ptr @__errno_location() #11
  %12060 = load i32, ptr %12059, align 4, !tbaa !5
  %12061 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12048, ptr noundef @.str.5, i32 noundef %12049, ptr noundef @.str.75, ptr noundef @.str.1, i32 noundef 599, ptr noundef %12052, ptr noundef %12055, ptr noundef %12058, i32 noundef %12060) #10
  br label %12062

12062:                                            ; preds = %12045, %12028
  call void @llvm.lifetime.end.p0(i64 4, ptr %352) #10
  br label %12063

12063:                                            ; preds = %12062
  br label %12064

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

12065:                                            ; No predecessors!
  br label %12066

12066:                                            ; preds = %12065
  br label %12067

12067:                                            ; preds = %12066, %12008
  br label %12068

12068:                                            ; preds = %12067
  br label %12069

12069:                                            ; preds = %12068
  br label %12070

12070:                                            ; preds = %12069, %12004
  call void @llvm.lifetime.start.p0(i64 8, ptr %353) #10
  %12071 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %12071, ptr %353, align 8, !tbaa !9
  br label %12072

12072:                                            ; preds = %12070
  %12073 = load i32, ptr @test_count, align 4, !tbaa !5
  %12074 = add nsw i32 %12073, 1
  store i32 %12074, ptr @test_count, align 4, !tbaa !5
  %12075 = load ptr, ptr %353, align 8, !tbaa !9
  %12076 = icmp eq ptr %12075, null
  br i1 %12076, label %12077, label %12130

12077:                                            ; preds = %12072
  br label %12078

12078:                                            ; preds = %12077
  br label %12079

12079:                                            ; preds = %12078
  call void @llvm.lifetime.start.p0(i64 4, ptr %354) #10
  %12080 = call ptr @__errno_location() #11
  %12081 = load i32, ptr %12080, align 4, !tbaa !5
  store i32 %12081, ptr %354, align 4, !tbaa !5
  %12082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12083 = call i32 @s2n_print_stacktrace(ptr noundef %12082)
  %12084 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12085 = trunc i8 %12084 to i1
  br i1 %12085, label %12086, label %12108

12086:                                            ; preds = %12079
  %12087 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12088 = call i32 @fileno(ptr noundef %12087) #10
  %12089 = call i32 @isatty(i32 noundef %12088) #10
  %12090 = icmp ne i32 %12089, 0
  br i1 %12090, label %12091, label %12108

12091:                                            ; preds = %12086
  %12092 = load i32, ptr %354, align 4, !tbaa !5
  %12093 = call ptr @__errno_location() #11
  store i32 %12092, ptr %12093, align 4, !tbaa !5
  %12094 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12095 = load i32, ptr @test_count, align 4, !tbaa !5
  %12096 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12097 = load i32, ptr %12096, align 4, !tbaa !5
  %12098 = call ptr @s2n_strerror(i32 noundef %12097, ptr noundef @.str.4)
  %12099 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12100 = load i32, ptr %12099, align 4, !tbaa !5
  %12101 = call ptr @s2n_strerror_debug(i32 noundef %12100, ptr noundef @.str.4)
  %12102 = call ptr @__errno_location() #11
  %12103 = load i32, ptr %12102, align 4, !tbaa !5
  %12104 = call ptr @strerror(i32 noundef %12103) #10
  %12105 = call ptr @__errno_location() #11
  %12106 = load i32, ptr %12105, align 4, !tbaa !5
  %12107 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12094, ptr noundef @.str.2, i32 noundef %12095, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 603, ptr noundef %12098, ptr noundef %12101, ptr noundef %12104, i32 noundef %12106) #10
  br label %12125

12108:                                            ; preds = %12086, %12079
  %12109 = load i32, ptr %354, align 4, !tbaa !5
  %12110 = call ptr @__errno_location() #11
  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() #11
  %12120 = load i32, ptr %12119, align 4, !tbaa !5
  %12121 = call ptr @strerror(i32 noundef %12120) #10
  %12122 = call ptr @__errno_location() #11
  %12123 = load i32, ptr %12122, align 4, !tbaa !5
  %12124 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12111, ptr noundef @.str.5, i32 noundef %12112, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 603, ptr noundef %12115, ptr noundef %12118, ptr noundef %12121, i32 noundef %12123) #10
  br label %12125

12125:                                            ; preds = %12108, %12091
  call void @llvm.lifetime.end.p0(i64 4, ptr %354) #10
  br label %12126

12126:                                            ; preds = %12125
  br label %12127

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

12128:                                            ; No predecessors!
  br label %12129

12129:                                            ; preds = %12128
  br label %12130

12130:                                            ; preds = %12129, %12072
  br label %12131

12131:                                            ; preds = %12130
  br label %12132

12132:                                            ; preds = %12131
  br label %12133

12133:                                            ; preds = %12132
  %12134 = load i32, ptr @test_count, align 4, !tbaa !5
  %12135 = add nsw i32 %12134, 1
  store i32 %12135, ptr @test_count, align 4, !tbaa !5
  %12136 = load ptr, ptr %353, align 8, !tbaa !9
  %12137 = load ptr, ptr %349, align 8, !tbaa !9
  %12138 = call i32 @s2n_connection_set_config(ptr noundef %12136, ptr noundef %12137)
  %12139 = icmp eq i32 %12138, -1
  br i1 %12139, label %12140, label %12193

12140:                                            ; preds = %12133
  br label %12141

12141:                                            ; preds = %12140
  br label %12142

12142:                                            ; preds = %12141
  call void @llvm.lifetime.start.p0(i64 4, ptr %355) #10
  %12143 = call ptr @__errno_location() #11
  %12144 = load i32, ptr %12143, align 4, !tbaa !5
  store i32 %12144, ptr %355, align 4, !tbaa !5
  %12145 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12146 = call i32 @s2n_print_stacktrace(ptr noundef %12145)
  %12147 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12148 = trunc i8 %12147 to i1
  br i1 %12148, label %12149, label %12171

12149:                                            ; preds = %12142
  %12150 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12151 = call i32 @fileno(ptr noundef %12150) #10
  %12152 = call i32 @isatty(i32 noundef %12151) #10
  %12153 = icmp ne i32 %12152, 0
  br i1 %12153, label %12154, label %12171

12154:                                            ; preds = %12149
  %12155 = load i32, ptr %355, align 4, !tbaa !5
  %12156 = call ptr @__errno_location() #11
  store i32 %12155, ptr %12156, align 4, !tbaa !5
  %12157 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12158 = load i32, ptr @test_count, align 4, !tbaa !5
  %12159 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12160 = load i32, ptr %12159, align 4, !tbaa !5
  %12161 = call ptr @s2n_strerror(i32 noundef %12160, ptr noundef @.str.4)
  %12162 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12163 = load i32, ptr %12162, align 4, !tbaa !5
  %12164 = call ptr @s2n_strerror_debug(i32 noundef %12163, ptr noundef @.str.4)
  %12165 = call ptr @__errno_location() #11
  %12166 = load i32, ptr %12165, align 4, !tbaa !5
  %12167 = call ptr @strerror(i32 noundef %12166) #10
  %12168 = call ptr @__errno_location() #11
  %12169 = load i32, ptr %12168, align 4, !tbaa !5
  %12170 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12157, ptr noundef @.str.2, i32 noundef %12158, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 604, ptr noundef %12161, ptr noundef %12164, ptr noundef %12167, i32 noundef %12169) #10
  br label %12188

12171:                                            ; preds = %12149, %12142
  %12172 = load i32, ptr %355, align 4, !tbaa !5
  %12173 = call ptr @__errno_location() #11
  store i32 %12172, ptr %12173, align 4, !tbaa !5
  %12174 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12175 = load i32, ptr @test_count, align 4, !tbaa !5
  %12176 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12177 = load i32, ptr %12176, align 4, !tbaa !5
  %12178 = call ptr @s2n_strerror(i32 noundef %12177, ptr noundef @.str.4)
  %12179 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12180 = load i32, ptr %12179, align 4, !tbaa !5
  %12181 = call ptr @s2n_strerror_debug(i32 noundef %12180, ptr noundef @.str.4)
  %12182 = call ptr @__errno_location() #11
  %12183 = load i32, ptr %12182, align 4, !tbaa !5
  %12184 = call ptr @strerror(i32 noundef %12183) #10
  %12185 = call ptr @__errno_location() #11
  %12186 = load i32, ptr %12185, align 4, !tbaa !5
  %12187 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12174, ptr noundef @.str.5, i32 noundef %12175, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 604, ptr noundef %12178, ptr noundef %12181, ptr noundef %12184, i32 noundef %12186) #10
  br label %12188

12188:                                            ; preds = %12171, %12154
  call void @llvm.lifetime.end.p0(i64 4, ptr %355) #10
  br label %12189

12189:                                            ; preds = %12188
  br label %12190

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

12191:                                            ; No predecessors!
  br label %12192

12192:                                            ; preds = %12191
  br label %12193

12193:                                            ; preds = %12192, %12133
  br label %12194

12194:                                            ; preds = %12193
  br label %12195

12195:                                            ; preds = %12194
  br label %12196

12196:                                            ; preds = %12195
  %12197 = load i32, ptr @test_count, align 4, !tbaa !5
  %12198 = add nsw i32 %12197, 1
  store i32 %12198, ptr @test_count, align 4, !tbaa !5
  %12199 = load ptr, ptr %353, align 8, !tbaa !9
  %12200 = call i32 @s2n_set_server_name(ptr noundef %12199, ptr noundef @.str.39)
  %12201 = icmp eq i32 %12200, -1
  br i1 %12201, label %12202, label %12255

12202:                                            ; preds = %12196
  br label %12203

12203:                                            ; preds = %12202
  br label %12204

12204:                                            ; preds = %12203
  call void @llvm.lifetime.start.p0(i64 4, ptr %356) #10
  %12205 = call ptr @__errno_location() #11
  %12206 = load i32, ptr %12205, align 4, !tbaa !5
  store i32 %12206, ptr %356, align 4, !tbaa !5
  %12207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12208 = call i32 @s2n_print_stacktrace(ptr noundef %12207)
  %12209 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12210 = trunc i8 %12209 to i1
  br i1 %12210, label %12211, label %12233

12211:                                            ; preds = %12204
  %12212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12213 = call i32 @fileno(ptr noundef %12212) #10
  %12214 = call i32 @isatty(i32 noundef %12213) #10
  %12215 = icmp ne i32 %12214, 0
  br i1 %12215, label %12216, label %12233

12216:                                            ; preds = %12211
  %12217 = load i32, ptr %356, align 4, !tbaa !5
  %12218 = call ptr @__errno_location() #11
  store i32 %12217, ptr %12218, align 4, !tbaa !5
  %12219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12220 = load i32, ptr @test_count, align 4, !tbaa !5
  %12221 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12222 = load i32, ptr %12221, align 4, !tbaa !5
  %12223 = call ptr @s2n_strerror(i32 noundef %12222, ptr noundef @.str.4)
  %12224 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12225 = load i32, ptr %12224, align 4, !tbaa !5
  %12226 = call ptr @s2n_strerror_debug(i32 noundef %12225, ptr noundef @.str.4)
  %12227 = call ptr @__errno_location() #11
  %12228 = load i32, ptr %12227, align 4, !tbaa !5
  %12229 = call ptr @strerror(i32 noundef %12228) #10
  %12230 = call ptr @__errno_location() #11
  %12231 = load i32, ptr %12230, align 4, !tbaa !5
  %12232 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12219, ptr noundef @.str.2, i32 noundef %12220, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 605, ptr noundef %12223, ptr noundef %12226, ptr noundef %12229, i32 noundef %12231) #10
  br label %12250

12233:                                            ; preds = %12211, %12204
  %12234 = load i32, ptr %356, align 4, !tbaa !5
  %12235 = call ptr @__errno_location() #11
  store i32 %12234, ptr %12235, align 4, !tbaa !5
  %12236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12237 = load i32, ptr @test_count, align 4, !tbaa !5
  %12238 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12239 = load i32, ptr %12238, align 4, !tbaa !5
  %12240 = call ptr @s2n_strerror(i32 noundef %12239, ptr noundef @.str.4)
  %12241 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12242 = load i32, ptr %12241, align 4, !tbaa !5
  %12243 = call ptr @s2n_strerror_debug(i32 noundef %12242, ptr noundef @.str.4)
  %12244 = call ptr @__errno_location() #11
  %12245 = load i32, ptr %12244, align 4, !tbaa !5
  %12246 = call ptr @strerror(i32 noundef %12245) #10
  %12247 = call ptr @__errno_location() #11
  %12248 = load i32, ptr %12247, align 4, !tbaa !5
  %12249 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12236, ptr noundef @.str.5, i32 noundef %12237, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 605, ptr noundef %12240, ptr noundef %12243, ptr noundef %12246, i32 noundef %12248) #10
  br label %12250

12250:                                            ; preds = %12233, %12216
  call void @llvm.lifetime.end.p0(i64 4, ptr %356) #10
  br label %12251

12251:                                            ; preds = %12250
  br label %12252

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

12253:                                            ; No predecessors!
  br label %12254

12254:                                            ; preds = %12253
  br label %12255

12255:                                            ; preds = %12254, %12196
  br label %12256

12256:                                            ; preds = %12255
  br label %12257

12257:                                            ; preds = %12256
  call void @llvm.lifetime.start.p0(i64 40, ptr %357) #10
  call void @llvm.memset.p0.i64(ptr align 8 %357, i8 0, i64 40, i1 false)
  br label %12258

12258:                                            ; preds = %12257
  %12259 = load i32, ptr @test_count, align 4, !tbaa !5
  %12260 = add nsw i32 %12259, 1
  store i32 %12260, ptr @test_count, align 4, !tbaa !5
  %12261 = load ptr, ptr %353, align 8, !tbaa !9
  %12262 = call i32 @s2n_test_cert_chain_data_from_pem(ptr noundef %12261, ptr noundef @.str.41, ptr noundef %357)
  %12263 = getelementptr inbounds %struct.s2n_result, ptr %358, i32 0, i32 0
  store i32 %12262, ptr %12263, align 4
  %12264 = getelementptr inbounds %struct.s2n_result, ptr %358, i32 0, i32 0
  %12265 = load i32, ptr %12264, align 4
  %12266 = call zeroext i1 @s2n_result_is_ok(i32 %12265)
  br i1 %12266, label %12320, label %12267

12267:                                            ; preds = %12258
  br label %12268

12268:                                            ; preds = %12267
  br label %12269

12269:                                            ; preds = %12268
  call void @llvm.lifetime.start.p0(i64 4, ptr %359) #10
  %12270 = call ptr @__errno_location() #11
  %12271 = load i32, ptr %12270, align 4, !tbaa !5
  store i32 %12271, ptr %359, align 4, !tbaa !5
  %12272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12273 = call i32 @s2n_print_stacktrace(ptr noundef %12272)
  %12274 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12275 = trunc i8 %12274 to i1
  br i1 %12275, label %12276, label %12298

12276:                                            ; preds = %12269
  %12277 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12278 = call i32 @fileno(ptr noundef %12277) #10
  %12279 = call i32 @isatty(i32 noundef %12278) #10
  %12280 = icmp ne i32 %12279, 0
  br i1 %12280, label %12281, label %12298

12281:                                            ; preds = %12276
  %12282 = load i32, ptr %359, align 4, !tbaa !5
  %12283 = call ptr @__errno_location() #11
  store i32 %12282, ptr %12283, align 4, !tbaa !5
  %12284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12285 = load i32, ptr @test_count, align 4, !tbaa !5
  %12286 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12287 = load i32, ptr %12286, align 4, !tbaa !5
  %12288 = call ptr @s2n_strerror(i32 noundef %12287, ptr noundef @.str.4)
  %12289 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12290 = load i32, ptr %12289, align 4, !tbaa !5
  %12291 = call ptr @s2n_strerror_debug(i32 noundef %12290, ptr noundef @.str.4)
  %12292 = call ptr @__errno_location() #11
  %12293 = load i32, ptr %12292, align 4, !tbaa !5
  %12294 = call ptr @strerror(i32 noundef %12293) #10
  %12295 = call ptr @__errno_location() #11
  %12296 = load i32, ptr %12295, align 4, !tbaa !5
  %12297 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12284, ptr noundef @.str.2, i32 noundef %12285, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 608, ptr noundef %12288, ptr noundef %12291, ptr noundef %12294, i32 noundef %12296) #10
  br label %12315

12298:                                            ; preds = %12276, %12269
  %12299 = load i32, ptr %359, align 4, !tbaa !5
  %12300 = call ptr @__errno_location() #11
  store i32 %12299, ptr %12300, align 4, !tbaa !5
  %12301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12302 = load i32, ptr @test_count, align 4, !tbaa !5
  %12303 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12304 = load i32, ptr %12303, align 4, !tbaa !5
  %12305 = call ptr @s2n_strerror(i32 noundef %12304, ptr noundef @.str.4)
  %12306 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12307 = load i32, ptr %12306, align 4, !tbaa !5
  %12308 = call ptr @s2n_strerror_debug(i32 noundef %12307, ptr noundef @.str.4)
  %12309 = call ptr @__errno_location() #11
  %12310 = load i32, ptr %12309, align 4, !tbaa !5
  %12311 = call ptr @strerror(i32 noundef %12310) #10
  %12312 = call ptr @__errno_location() #11
  %12313 = load i32, ptr %12312, align 4, !tbaa !5
  %12314 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12301, ptr noundef @.str.5, i32 noundef %12302, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 608, ptr noundef %12305, ptr noundef %12308, ptr noundef %12311, i32 noundef %12313) #10
  br label %12315

12315:                                            ; preds = %12298, %12281
  call void @llvm.lifetime.end.p0(i64 4, ptr %359) #10
  br label %12316

12316:                                            ; preds = %12315
  br label %12317

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

12318:                                            ; No predecessors!
  br label %12319

12319:                                            ; preds = %12318
  br label %12320

12320:                                            ; preds = %12319, %12258
  br label %12321

12321:                                            ; preds = %12320
  br label %12322

12322:                                            ; preds = %12321
  call void @llvm.lifetime.start.p0(i64 4, ptr %360) #10
  %12323 = getelementptr inbounds %struct.s2n_stuffer, ptr %357, i32 0, i32 2
  %12324 = load i32, ptr %12323, align 4, !tbaa !23
  %12325 = getelementptr inbounds %struct.s2n_stuffer, ptr %357, i32 0, i32 1
  %12326 = load i32, ptr %12325, align 8, !tbaa !26
  %12327 = sub i32 %12324, %12326
  store i32 %12327, ptr %360, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %361) #10
  %12328 = load i32, ptr %360, align 4, !tbaa !5
  %12329 = call ptr @s2n_stuffer_raw_read(ptr noundef %357, i32 noundef %12328)
  store ptr %12329, ptr %361, align 8, !tbaa !9
  br label %12330

12330:                                            ; preds = %12322
  %12331 = load i32, ptr @test_count, align 4, !tbaa !5
  %12332 = add nsw i32 %12331, 1
  store i32 %12332, ptr @test_count, align 4, !tbaa !5
  %12333 = load ptr, ptr %361, align 8, !tbaa !9
  %12334 = icmp eq ptr %12333, null
  br i1 %12334, label %12335, label %12388

12335:                                            ; preds = %12330
  br label %12336

12336:                                            ; preds = %12335
  br label %12337

12337:                                            ; preds = %12336
  call void @llvm.lifetime.start.p0(i64 4, ptr %362) #10
  %12338 = call ptr @__errno_location() #11
  %12339 = load i32, ptr %12338, align 4, !tbaa !5
  store i32 %12339, ptr %362, align 4, !tbaa !5
  %12340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12341 = call i32 @s2n_print_stacktrace(ptr noundef %12340)
  %12342 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12343 = trunc i8 %12342 to i1
  br i1 %12343, label %12344, label %12366

12344:                                            ; preds = %12337
  %12345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12346 = call i32 @fileno(ptr noundef %12345) #10
  %12347 = call i32 @isatty(i32 noundef %12346) #10
  %12348 = icmp ne i32 %12347, 0
  br i1 %12348, label %12349, label %12366

12349:                                            ; preds = %12344
  %12350 = load i32, ptr %362, align 4, !tbaa !5
  %12351 = call ptr @__errno_location() #11
  store i32 %12350, ptr %12351, align 4, !tbaa !5
  %12352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12353 = load i32, ptr @test_count, align 4, !tbaa !5
  %12354 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12355 = load i32, ptr %12354, align 4, !tbaa !5
  %12356 = call ptr @s2n_strerror(i32 noundef %12355, ptr noundef @.str.4)
  %12357 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12358 = load i32, ptr %12357, align 4, !tbaa !5
  %12359 = call ptr @s2n_strerror_debug(i32 noundef %12358, ptr noundef @.str.4)
  %12360 = call ptr @__errno_location() #11
  %12361 = load i32, ptr %12360, align 4, !tbaa !5
  %12362 = call ptr @strerror(i32 noundef %12361) #10
  %12363 = call ptr @__errno_location() #11
  %12364 = load i32, ptr %12363, align 4, !tbaa !5
  %12365 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12352, ptr noundef @.str.2, i32 noundef %12353, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 611, ptr noundef %12356, ptr noundef %12359, ptr noundef %12362, i32 noundef %12364) #10
  br label %12383

12366:                                            ; preds = %12344, %12337
  %12367 = load i32, ptr %362, align 4, !tbaa !5
  %12368 = call ptr @__errno_location() #11
  store i32 %12367, ptr %12368, align 4, !tbaa !5
  %12369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12370 = load i32, ptr @test_count, align 4, !tbaa !5
  %12371 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12372 = load i32, ptr %12371, align 4, !tbaa !5
  %12373 = call ptr @s2n_strerror(i32 noundef %12372, ptr noundef @.str.4)
  %12374 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12375 = load i32, ptr %12374, align 4, !tbaa !5
  %12376 = call ptr @s2n_strerror_debug(i32 noundef %12375, ptr noundef @.str.4)
  %12377 = call ptr @__errno_location() #11
  %12378 = load i32, ptr %12377, align 4, !tbaa !5
  %12379 = call ptr @strerror(i32 noundef %12378) #10
  %12380 = call ptr @__errno_location() #11
  %12381 = load i32, ptr %12380, align 4, !tbaa !5
  %12382 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12369, ptr noundef @.str.5, i32 noundef %12370, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 611, ptr noundef %12373, ptr noundef %12376, ptr noundef %12379, i32 noundef %12381) #10
  br label %12383

12383:                                            ; preds = %12366, %12349
  call void @llvm.lifetime.end.p0(i64 4, ptr %362) #10
  br label %12384

12384:                                            ; preds = %12383
  br label %12385

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

12386:                                            ; No predecessors!
  br label %12387

12387:                                            ; preds = %12386
  br label %12388

12388:                                            ; preds = %12387, %12330
  br label %12389

12389:                                            ; preds = %12388
  br label %12390

12390:                                            ; preds = %12389
  call void @llvm.lifetime.start.p0(i64 48, ptr %363) #10
  call void @llvm.memset.p0.i64(ptr align 8 %363, i8 0, i64 48, i1 false)
  br label %12391

12391:                                            ; preds = %12390
  %12392 = load i32, ptr @test_count, align 4, !tbaa !5
  %12393 = add nsw i32 %12392, 1
  store i32 %12393, ptr @test_count, align 4, !tbaa !5
  %12394 = call i32 @s2n_pkey_zero_init(ptr noundef %363)
  %12395 = icmp eq i32 %12394, -1
  br i1 %12395, label %12396, label %12449

12396:                                            ; preds = %12391
  br label %12397

12397:                                            ; preds = %12396
  br label %12398

12398:                                            ; preds = %12397
  call void @llvm.lifetime.start.p0(i64 4, ptr %364) #10
  %12399 = call ptr @__errno_location() #11
  %12400 = load i32, ptr %12399, align 4, !tbaa !5
  store i32 %12400, ptr %364, align 4, !tbaa !5
  %12401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12402 = call i32 @s2n_print_stacktrace(ptr noundef %12401)
  %12403 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12404 = trunc i8 %12403 to i1
  br i1 %12404, label %12405, label %12427

12405:                                            ; preds = %12398
  %12406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12407 = call i32 @fileno(ptr noundef %12406) #10
  %12408 = call i32 @isatty(i32 noundef %12407) #10
  %12409 = icmp ne i32 %12408, 0
  br i1 %12409, label %12410, label %12427

12410:                                            ; preds = %12405
  %12411 = load i32, ptr %364, align 4, !tbaa !5
  %12412 = call ptr @__errno_location() #11
  store i32 %12411, ptr %12412, align 4, !tbaa !5
  %12413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12414 = load i32, ptr @test_count, align 4, !tbaa !5
  %12415 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12416 = load i32, ptr %12415, align 4, !tbaa !5
  %12417 = call ptr @s2n_strerror(i32 noundef %12416, ptr noundef @.str.4)
  %12418 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12419 = load i32, ptr %12418, align 4, !tbaa !5
  %12420 = call ptr @s2n_strerror_debug(i32 noundef %12419, ptr noundef @.str.4)
  %12421 = call ptr @__errno_location() #11
  %12422 = load i32, ptr %12421, align 4, !tbaa !5
  %12423 = call ptr @strerror(i32 noundef %12422) #10
  %12424 = call ptr @__errno_location() #11
  %12425 = load i32, ptr %12424, align 4, !tbaa !5
  %12426 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12413, ptr noundef @.str.2, i32 noundef %12414, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 614, ptr noundef %12417, ptr noundef %12420, ptr noundef %12423, i32 noundef %12425) #10
  br label %12444

12427:                                            ; preds = %12405, %12398
  %12428 = load i32, ptr %364, align 4, !tbaa !5
  %12429 = call ptr @__errno_location() #11
  store i32 %12428, ptr %12429, align 4, !tbaa !5
  %12430 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12431 = load i32, ptr @test_count, align 4, !tbaa !5
  %12432 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12433 = load i32, ptr %12432, align 4, !tbaa !5
  %12434 = call ptr @s2n_strerror(i32 noundef %12433, ptr noundef @.str.4)
  %12435 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12436 = load i32, ptr %12435, align 4, !tbaa !5
  %12437 = call ptr @s2n_strerror_debug(i32 noundef %12436, ptr noundef @.str.4)
  %12438 = call ptr @__errno_location() #11
  %12439 = load i32, ptr %12438, align 4, !tbaa !5
  %12440 = call ptr @strerror(i32 noundef %12439) #10
  %12441 = call ptr @__errno_location() #11
  %12442 = load i32, ptr %12441, align 4, !tbaa !5
  %12443 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12430, ptr noundef @.str.5, i32 noundef %12431, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 614, ptr noundef %12434, ptr noundef %12437, ptr noundef %12440, i32 noundef %12442) #10
  br label %12444

12444:                                            ; preds = %12427, %12410
  call void @llvm.lifetime.end.p0(i64 4, ptr %364) #10
  br label %12445

12445:                                            ; preds = %12444
  br label %12446

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

12447:                                            ; No predecessors!
  br label %12448

12448:                                            ; preds = %12447
  br label %12449

12449:                                            ; preds = %12448, %12391
  br label %12450

12450:                                            ; preds = %12449
  br label %12451

12451:                                            ; preds = %12450
  call void @llvm.lifetime.start.p0(i64 4, ptr %365) #10
  store i32 -1, ptr %365, align 4, !tbaa !5
  br label %12452

12452:                                            ; preds = %12451
  %12453 = load i32, ptr @test_count, align 4, !tbaa !5
  %12454 = add nsw i32 %12453, 1
  store i32 %12454, ptr @test_count, align 4, !tbaa !5
  %12455 = load ptr, ptr %353, align 8, !tbaa !9
  %12456 = load ptr, ptr %361, align 8, !tbaa !9
  %12457 = load i32, ptr %360, align 4, !tbaa !5
  %12458 = call i32 @s2n_x509_validator_validate_cert_chain(ptr noundef %346, ptr noundef %12455, ptr noundef %12456, i32 noundef %12457, ptr noundef %365, ptr noundef %363)
  %12459 = getelementptr inbounds %struct.s2n_result, ptr %366, i32 0, i32 0
  store i32 %12458, ptr %12459, align 4
  %12460 = getelementptr inbounds %struct.s2n_result, ptr %366, i32 0, i32 0
  %12461 = load i32, ptr %12460, align 4
  %12462 = call zeroext i1 @s2n_result_is_ok(i32 %12461)
  br i1 %12462, label %12516, label %12463

12463:                                            ; preds = %12452
  br label %12464

12464:                                            ; preds = %12463
  br label %12465

12465:                                            ; preds = %12464
  call void @llvm.lifetime.start.p0(i64 4, ptr %367) #10
  %12466 = call ptr @__errno_location() #11
  %12467 = load i32, ptr %12466, align 4, !tbaa !5
  store i32 %12467, ptr %367, align 4, !tbaa !5
  %12468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12469 = call i32 @s2n_print_stacktrace(ptr noundef %12468)
  %12470 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12471 = trunc i8 %12470 to i1
  br i1 %12471, label %12472, label %12494

12472:                                            ; preds = %12465
  %12473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12474 = call i32 @fileno(ptr noundef %12473) #10
  %12475 = call i32 @isatty(i32 noundef %12474) #10
  %12476 = icmp ne i32 %12475, 0
  br i1 %12476, label %12477, label %12494

12477:                                            ; preds = %12472
  %12478 = load i32, ptr %367, align 4, !tbaa !5
  %12479 = call ptr @__errno_location() #11
  store i32 %12478, ptr %12479, align 4, !tbaa !5
  %12480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12481 = load i32, ptr @test_count, align 4, !tbaa !5
  %12482 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12483 = load i32, ptr %12482, align 4, !tbaa !5
  %12484 = call ptr @s2n_strerror(i32 noundef %12483, ptr noundef @.str.4)
  %12485 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12486 = load i32, ptr %12485, align 4, !tbaa !5
  %12487 = call ptr @s2n_strerror_debug(i32 noundef %12486, ptr noundef @.str.4)
  %12488 = call ptr @__errno_location() #11
  %12489 = load i32, ptr %12488, align 4, !tbaa !5
  %12490 = call ptr @strerror(i32 noundef %12489) #10
  %12491 = call ptr @__errno_location() #11
  %12492 = load i32, ptr %12491, align 4, !tbaa !5
  %12493 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12480, ptr noundef @.str.2, i32 noundef %12481, ptr noundef @.str.64, ptr noundef @.str.1, i32 noundef 617, ptr noundef %12484, ptr noundef %12487, ptr noundef %12490, i32 noundef %12492) #10
  br label %12511

12494:                                            ; preds = %12472, %12465
  %12495 = load i32, ptr %367, align 4, !tbaa !5
  %12496 = call ptr @__errno_location() #11
  store i32 %12495, ptr %12496, align 4, !tbaa !5
  %12497 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12498 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %12500, ptr noundef @.str.4)
  %12502 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12503 = load i32, ptr %12502, align 4, !tbaa !5
  %12504 = call ptr @s2n_strerror_debug(i32 noundef %12503, ptr noundef @.str.4)
  %12505 = call ptr @__errno_location() #11
  %12506 = load i32, ptr %12505, align 4, !tbaa !5
  %12507 = call ptr @strerror(i32 noundef %12506) #10
  %12508 = call ptr @__errno_location() #11
  %12509 = load i32, ptr %12508, align 4, !tbaa !5
  %12510 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12497, ptr noundef @.str.5, i32 noundef %12498, ptr noundef @.str.64, ptr noundef @.str.1, i32 noundef 617, ptr noundef %12501, ptr noundef %12504, ptr noundef %12507, i32 noundef %12509) #10
  br label %12511

12511:                                            ; preds = %12494, %12477
  call void @llvm.lifetime.end.p0(i64 4, ptr %367) #10
  br label %12512

12512:                                            ; preds = %12511
  br label %12513

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

12514:                                            ; No predecessors!
  br label %12515

12515:                                            ; preds = %12514
  br label %12516

12516:                                            ; preds = %12515, %12452
  br label %12517

12517:                                            ; preds = %12516
  br label %12518

12518:                                            ; preds = %12517
  br label %12519

12519:                                            ; preds = %12518
  %12520 = load i32, ptr @test_count, align 4, !tbaa !5
  %12521 = add nsw i32 %12520, 1
  store i32 %12521, ptr @test_count, align 4, !tbaa !5
  %12522 = getelementptr inbounds %struct.crl_lookup_data, ptr %348, i32 0, i32 2
  %12523 = load i8, ptr %12522, align 8, !tbaa !27
  %12524 = zext i8 %12523 to i32
  %12525 = icmp eq i32 %12524, 2
  br i1 %12525, label %12579, label %12526

12526:                                            ; preds = %12519
  br label %12527

12527:                                            ; preds = %12526
  br label %12528

12528:                                            ; preds = %12527
  call void @llvm.lifetime.start.p0(i64 4, ptr %368) #10
  %12529 = call ptr @__errno_location() #11
  %12530 = load i32, ptr %12529, align 4, !tbaa !5
  store i32 %12530, ptr %368, align 4, !tbaa !5
  %12531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12532 = call i32 @s2n_print_stacktrace(ptr noundef %12531)
  %12533 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12534 = trunc i8 %12533 to i1
  br i1 %12534, label %12535, label %12557

12535:                                            ; preds = %12528
  %12536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12537 = call i32 @fileno(ptr noundef %12536) #10
  %12538 = call i32 @isatty(i32 noundef %12537) #10
  %12539 = icmp ne i32 %12538, 0
  br i1 %12539, label %12540, label %12557

12540:                                            ; preds = %12535
  %12541 = load i32, ptr %368, align 4, !tbaa !5
  %12542 = call ptr @__errno_location() #11
  store i32 %12541, ptr %12542, align 4, !tbaa !5
  %12543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12544 = load i32, ptr @test_count, align 4, !tbaa !5
  %12545 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12546 = load i32, ptr %12545, align 4, !tbaa !5
  %12547 = call ptr @s2n_strerror(i32 noundef %12546, ptr noundef @.str.4)
  %12548 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12549 = load i32, ptr %12548, align 4, !tbaa !5
  %12550 = call ptr @s2n_strerror_debug(i32 noundef %12549, ptr noundef @.str.4)
  %12551 = call ptr @__errno_location() #11
  %12552 = load i32, ptr %12551, align 4, !tbaa !5
  %12553 = call ptr @strerror(i32 noundef %12552) #10
  %12554 = call ptr @__errno_location() #11
  %12555 = load i32, ptr %12554, align 4, !tbaa !5
  %12556 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12543, ptr noundef @.str.2, i32 noundef %12544, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 618, ptr noundef %12547, ptr noundef %12550, ptr noundef %12553, i32 noundef %12555) #10
  br label %12574

12557:                                            ; preds = %12535, %12528
  %12558 = load i32, ptr %368, align 4, !tbaa !5
  %12559 = call ptr @__errno_location() #11
  store i32 %12558, ptr %12559, align 4, !tbaa !5
  %12560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12561 = load i32, ptr @test_count, align 4, !tbaa !5
  %12562 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12563 = load i32, ptr %12562, align 4, !tbaa !5
  %12564 = call ptr @s2n_strerror(i32 noundef %12563, ptr noundef @.str.4)
  %12565 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12566 = load i32, ptr %12565, align 4, !tbaa !5
  %12567 = call ptr @s2n_strerror_debug(i32 noundef %12566, ptr noundef @.str.4)
  %12568 = call ptr @__errno_location() #11
  %12569 = load i32, ptr %12568, align 4, !tbaa !5
  %12570 = call ptr @strerror(i32 noundef %12569) #10
  %12571 = call ptr @__errno_location() #11
  %12572 = load i32, ptr %12571, align 4, !tbaa !5
  %12573 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12560, ptr noundef @.str.5, i32 noundef %12561, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 618, ptr noundef %12564, ptr noundef %12567, ptr noundef %12570, i32 noundef %12572) #10
  br label %12574

12574:                                            ; preds = %12557, %12540
  call void @llvm.lifetime.end.p0(i64 4, ptr %368) #10
  br label %12575

12575:                                            ; preds = %12574
  br label %12576

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

12577:                                            ; No predecessors!
  br label %12578

12578:                                            ; preds = %12577
  br label %12579

12579:                                            ; preds = %12578, %12519
  br label %12580

12580:                                            ; preds = %12579
  br label %12581

12581:                                            ; preds = %12580
  call void @llvm.lifetime.end.p0(i64 4, ptr %365) #10
  %12582 = call i32 @s2n_pkey_free(ptr noundef %363)
  call void @llvm.lifetime.end.p0(i64 48, ptr %363) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %361) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %360) #10
  %12583 = call i32 @s2n_stuffer_free(ptr noundef %357)
  call void @llvm.lifetime.end.p0(i64 40, ptr %357) #10
  %12584 = call i32 @s2n_connection_ptr_free(ptr noundef %353)
  %12585 = getelementptr inbounds %struct.s2n_result, ptr %369, i32 0, i32 0
  store i32 %12584, ptr %12585, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %353) #10
  %12586 = call i32 @s2n_config_ptr_free(ptr noundef %349)
  %12587 = getelementptr inbounds %struct.s2n_result, ptr %370, i32 0, i32 0
  store i32 %12586, ptr %12587, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %349) #10
  call void @llvm.lifetime.end.p0(i64 88, ptr %348) #10
  %12588 = call i32 @s2n_x509_validator_wipe(ptr noundef %346)
  call void @llvm.lifetime.end.p0(i64 56, ptr %346) #10
  call void @llvm.lifetime.end.p0(i64 12000, ptr %343) #10
  call void @s2n_x509_trust_store_wipe(ptr noundef %342)
  call void @llvm.lifetime.end.p0(i64 16, ptr %342) #10
  br label %12589

12589:                                            ; preds = %12581
  %12590 = load i32, ptr %341, align 4, !tbaa !5
  %12591 = add nsw i32 %12590, 1
  store i32 %12591, ptr %341, align 4, !tbaa !5
  br label %11685, !llvm.loop !38

12592:                                            ; preds = %11688
  call void @llvm.lifetime.start.p0(i64 16, ptr %371) #10
  call void @llvm.memset.p0.i64(ptr align 8 %371, i8 0, i64 16, i1 false)
  call void @s2n_x509_trust_store_init_empty(ptr noundef %371)
  call void @llvm.lifetime.start.p0(i64 12000, ptr %372) #10
  br label %12593

12593:                                            ; preds = %12592
  %12594 = load i32, ptr @test_count, align 4, !tbaa !5
  %12595 = add nsw i32 %12594, 1
  store i32 %12595, ptr @test_count, align 4, !tbaa !5
  %12596 = getelementptr inbounds [12000 x i8], ptr %372, i64 0, i64 0
  %12597 = call i32 @s2n_read_test_pem(ptr noundef @.str.31, ptr noundef %12596, i64 noundef 12000)
  %12598 = icmp eq i32 %12597, -1
  br i1 %12598, label %12599, label %12652

12599:                                            ; preds = %12593
  br label %12600

12600:                                            ; preds = %12599
  br label %12601

12601:                                            ; preds = %12600
  call void @llvm.lifetime.start.p0(i64 4, ptr %373) #10
  %12602 = call ptr @__errno_location() #11
  %12603 = load i32, ptr %12602, align 4, !tbaa !5
  store i32 %12603, ptr %373, align 4, !tbaa !5
  %12604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12605 = call i32 @s2n_print_stacktrace(ptr noundef %12604)
  %12606 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12607 = trunc i8 %12606 to i1
  br i1 %12607, label %12608, label %12630

12608:                                            ; preds = %12601
  %12609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12610 = call i32 @fileno(ptr noundef %12609) #10
  %12611 = call i32 @isatty(i32 noundef %12610) #10
  %12612 = icmp ne i32 %12611, 0
  br i1 %12612, label %12613, label %12630

12613:                                            ; preds = %12608
  %12614 = load i32, ptr %373, align 4, !tbaa !5
  %12615 = call ptr @__errno_location() #11
  store i32 %12614, ptr %12615, align 4, !tbaa !5
  %12616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12617 = load i32, ptr @test_count, align 4, !tbaa !5
  %12618 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12619 = load i32, ptr %12618, align 4, !tbaa !5
  %12620 = call ptr @s2n_strerror(i32 noundef %12619, ptr noundef @.str.4)
  %12621 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12622 = load i32, ptr %12621, align 4, !tbaa !5
  %12623 = call ptr @s2n_strerror_debug(i32 noundef %12622, ptr noundef @.str.4)
  %12624 = call ptr @__errno_location() #11
  %12625 = load i32, ptr %12624, align 4, !tbaa !5
  %12626 = call ptr @strerror(i32 noundef %12625) #10
  %12627 = call ptr @__errno_location() #11
  %12628 = load i32, ptr %12627, align 4, !tbaa !5
  %12629 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12616, ptr noundef @.str.2, i32 noundef %12617, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 627, ptr noundef %12620, ptr noundef %12623, ptr noundef %12626, i32 noundef %12628) #10
  br label %12647

12630:                                            ; preds = %12608, %12601
  %12631 = load i32, ptr %373, align 4, !tbaa !5
  %12632 = call ptr @__errno_location() #11
  store i32 %12631, ptr %12632, align 4, !tbaa !5
  %12633 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12634 = load i32, ptr @test_count, align 4, !tbaa !5
  %12635 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12636 = load i32, ptr %12635, align 4, !tbaa !5
  %12637 = call ptr @s2n_strerror(i32 noundef %12636, ptr noundef @.str.4)
  %12638 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12639 = load i32, ptr %12638, align 4, !tbaa !5
  %12640 = call ptr @s2n_strerror_debug(i32 noundef %12639, ptr noundef @.str.4)
  %12641 = call ptr @__errno_location() #11
  %12642 = load i32, ptr %12641, align 4, !tbaa !5
  %12643 = call ptr @strerror(i32 noundef %12642) #10
  %12644 = call ptr @__errno_location() #11
  %12645 = load i32, ptr %12644, align 4, !tbaa !5
  %12646 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12633, ptr noundef @.str.5, i32 noundef %12634, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 627, ptr noundef %12637, ptr noundef %12640, ptr noundef %12643, i32 noundef %12645) #10
  br label %12647

12647:                                            ; preds = %12630, %12613
  call void @llvm.lifetime.end.p0(i64 4, ptr %373) #10
  br label %12648

12648:                                            ; preds = %12647
  br label %12649

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

12650:                                            ; No predecessors!
  br label %12651

12651:                                            ; preds = %12650
  br label %12652

12652:                                            ; preds = %12651, %12593
  br label %12653

12653:                                            ; preds = %12652
  br label %12654

12654:                                            ; preds = %12653
  br label %12655

12655:                                            ; preds = %12654
  %12656 = load i32, ptr @test_count, align 4, !tbaa !5
  %12657 = add nsw i32 %12656, 1
  store i32 %12657, ptr @test_count, align 4, !tbaa !5
  %12658 = getelementptr inbounds [12000 x i8], ptr %372, i64 0, i64 0
  %12659 = call i32 @s2n_x509_trust_store_add_pem(ptr noundef %371, ptr noundef %12658)
  %12660 = icmp eq i32 %12659, -1
  br i1 %12660, label %12661, label %12714

12661:                                            ; preds = %12655
  br label %12662

12662:                                            ; preds = %12661
  br label %12663

12663:                                            ; preds = %12662
  call void @llvm.lifetime.start.p0(i64 4, ptr %374) #10
  %12664 = call ptr @__errno_location() #11
  %12665 = load i32, ptr %12664, align 4, !tbaa !5
  store i32 %12665, ptr %374, align 4, !tbaa !5
  %12666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12667 = call i32 @s2n_print_stacktrace(ptr noundef %12666)
  %12668 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12669 = trunc i8 %12668 to i1
  br i1 %12669, label %12670, label %12692

12670:                                            ; preds = %12663
  %12671 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12672 = call i32 @fileno(ptr noundef %12671) #10
  %12673 = call i32 @isatty(i32 noundef %12672) #10
  %12674 = icmp ne i32 %12673, 0
  br i1 %12674, label %12675, label %12692

12675:                                            ; preds = %12670
  %12676 = load i32, ptr %374, align 4, !tbaa !5
  %12677 = call ptr @__errno_location() #11
  store i32 %12676, ptr %12677, align 4, !tbaa !5
  %12678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12679 = load i32, ptr @test_count, align 4, !tbaa !5
  %12680 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12681 = load i32, ptr %12680, align 4, !tbaa !5
  %12682 = call ptr @s2n_strerror(i32 noundef %12681, ptr noundef @.str.4)
  %12683 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12684 = load i32, ptr %12683, align 4, !tbaa !5
  %12685 = call ptr @s2n_strerror_debug(i32 noundef %12684, ptr noundef @.str.4)
  %12686 = call ptr @__errno_location() #11
  %12687 = load i32, ptr %12686, align 4, !tbaa !5
  %12688 = call ptr @strerror(i32 noundef %12687) #10
  %12689 = call ptr @__errno_location() #11
  %12690 = load i32, ptr %12689, align 4, !tbaa !5
  %12691 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12678, ptr noundef @.str.2, i32 noundef %12679, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 628, ptr noundef %12682, ptr noundef %12685, ptr noundef %12688, i32 noundef %12690) #10
  br label %12709

12692:                                            ; preds = %12670, %12663
  %12693 = load i32, ptr %374, align 4, !tbaa !5
  %12694 = call ptr @__errno_location() #11
  store i32 %12693, ptr %12694, align 4, !tbaa !5
  %12695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12696 = load i32, ptr @test_count, align 4, !tbaa !5
  %12697 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12698 = load i32, ptr %12697, align 4, !tbaa !5
  %12699 = call ptr @s2n_strerror(i32 noundef %12698, ptr noundef @.str.4)
  %12700 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12701 = load i32, ptr %12700, align 4, !tbaa !5
  %12702 = call ptr @s2n_strerror_debug(i32 noundef %12701, ptr noundef @.str.4)
  %12703 = call ptr @__errno_location() #11
  %12704 = load i32, ptr %12703, align 4, !tbaa !5
  %12705 = call ptr @strerror(i32 noundef %12704) #10
  %12706 = call ptr @__errno_location() #11
  %12707 = load i32, ptr %12706, align 4, !tbaa !5
  %12708 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12695, ptr noundef @.str.5, i32 noundef %12696, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 628, ptr noundef %12699, ptr noundef %12702, ptr noundef %12705, i32 noundef %12707) #10
  br label %12709

12709:                                            ; preds = %12692, %12675
  call void @llvm.lifetime.end.p0(i64 4, ptr %374) #10
  br label %12710

12710:                                            ; preds = %12709
  br label %12711

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

12712:                                            ; No predecessors!
  br label %12713

12713:                                            ; preds = %12712
  br label %12714

12714:                                            ; preds = %12713, %12655
  br label %12715

12715:                                            ; preds = %12714
  br label %12716

12716:                                            ; preds = %12715
  call void @llvm.lifetime.start.p0(i64 56, ptr %375) #10
  br label %12717

12717:                                            ; preds = %12716
  %12718 = load i32, ptr @test_count, align 4, !tbaa !5
  %12719 = add nsw i32 %12718, 1
  store i32 %12719, ptr @test_count, align 4, !tbaa !5
  %12720 = call i32 @s2n_x509_validator_init(ptr noundef %375, ptr noundef %371, i8 noundef zeroext 0)
  %12721 = icmp eq i32 %12720, -1
  br i1 %12721, label %12722, label %12775

12722:                                            ; preds = %12717
  br label %12723

12723:                                            ; preds = %12722
  br label %12724

12724:                                            ; preds = %12723
  call void @llvm.lifetime.start.p0(i64 4, ptr %376) #10
  %12725 = call ptr @__errno_location() #11
  %12726 = load i32, ptr %12725, align 4, !tbaa !5
  store i32 %12726, ptr %376, align 4, !tbaa !5
  %12727 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12728 = call i32 @s2n_print_stacktrace(ptr noundef %12727)
  %12729 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12730 = trunc i8 %12729 to i1
  br i1 %12730, label %12731, label %12753

12731:                                            ; preds = %12724
  %12732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12733 = call i32 @fileno(ptr noundef %12732) #10
  %12734 = call i32 @isatty(i32 noundef %12733) #10
  %12735 = icmp ne i32 %12734, 0
  br i1 %12735, label %12736, label %12753

12736:                                            ; preds = %12731
  %12737 = load i32, ptr %376, align 4, !tbaa !5
  %12738 = call ptr @__errno_location() #11
  store i32 %12737, ptr %12738, align 4, !tbaa !5
  %12739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12740 = load i32, ptr @test_count, align 4, !tbaa !5
  %12741 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12742 = load i32, ptr %12741, align 4, !tbaa !5
  %12743 = call ptr @s2n_strerror(i32 noundef %12742, ptr noundef @.str.4)
  %12744 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12745 = load i32, ptr %12744, align 4, !tbaa !5
  %12746 = call ptr @s2n_strerror_debug(i32 noundef %12745, ptr noundef @.str.4)
  %12747 = call ptr @__errno_location() #11
  %12748 = load i32, ptr %12747, align 4, !tbaa !5
  %12749 = call ptr @strerror(i32 noundef %12748) #10
  %12750 = call ptr @__errno_location() #11
  %12751 = load i32, ptr %12750, align 4, !tbaa !5
  %12752 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12739, ptr noundef @.str.2, i32 noundef %12740, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 631, ptr noundef %12743, ptr noundef %12746, ptr noundef %12749, i32 noundef %12751) #10
  br label %12770

12753:                                            ; preds = %12731, %12724
  %12754 = load i32, ptr %376, align 4, !tbaa !5
  %12755 = call ptr @__errno_location() #11
  store i32 %12754, ptr %12755, align 4, !tbaa !5
  %12756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12757 = load i32, ptr @test_count, align 4, !tbaa !5
  %12758 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12759 = load i32, ptr %12758, align 4, !tbaa !5
  %12760 = call ptr @s2n_strerror(i32 noundef %12759, ptr noundef @.str.4)
  %12761 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12762 = load i32, ptr %12761, align 4, !tbaa !5
  %12763 = call ptr @s2n_strerror_debug(i32 noundef %12762, ptr noundef @.str.4)
  %12764 = call ptr @__errno_location() #11
  %12765 = load i32, ptr %12764, align 4, !tbaa !5
  %12766 = call ptr @strerror(i32 noundef %12765) #10
  %12767 = call ptr @__errno_location() #11
  %12768 = load i32, ptr %12767, align 4, !tbaa !5
  %12769 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12756, ptr noundef @.str.5, i32 noundef %12757, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 631, ptr noundef %12760, ptr noundef %12763, ptr noundef %12766, i32 noundef %12768) #10
  br label %12770

12770:                                            ; preds = %12753, %12736
  call void @llvm.lifetime.end.p0(i64 4, ptr %376) #10
  br label %12771

12771:                                            ; preds = %12770
  br label %12772

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

12773:                                            ; No predecessors!
  br label %12774

12774:                                            ; preds = %12773
  br label %12775

12775:                                            ; preds = %12774, %12717
  br label %12776

12776:                                            ; preds = %12775
  br label %12777

12777:                                            ; preds = %12776
  call void @llvm.lifetime.start.p0(i64 88, ptr %377) #10
  call void @llvm.memset.p0.i64(ptr align 8 %377, i8 0, i64 88, i1 false)
  %12778 = load ptr, ptr %51, align 8, !tbaa !9
  %12779 = getelementptr inbounds %struct.crl_lookup_data, ptr %377, i32 0, i32 0
  %12780 = getelementptr inbounds [5 x ptr], ptr %12779, i64 0, i64 0
  store ptr %12778, ptr %12780, align 8, !tbaa !9
  %12781 = load ptr, ptr %43, align 8, !tbaa !9
  %12782 = getelementptr inbounds %struct.crl_lookup_data, ptr %377, i32 0, i32 0
  %12783 = getelementptr inbounds [5 x ptr], ptr %12782, i64 0, i64 1
  store ptr %12781, ptr %12783, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %378) #10
  %12784 = call ptr @s2n_config_new()
  store ptr %12784, ptr %378, align 8, !tbaa !9
  br label %12785

12785:                                            ; preds = %12777
  %12786 = load i32, ptr @test_count, align 4, !tbaa !5
  %12787 = add nsw i32 %12786, 1
  store i32 %12787, ptr @test_count, align 4, !tbaa !5
  %12788 = load ptr, ptr %378, align 8, !tbaa !9
  %12789 = icmp eq ptr %12788, null
  br i1 %12789, label %12790, label %12843

12790:                                            ; preds = %12785
  br label %12791

12791:                                            ; preds = %12790
  br label %12792

12792:                                            ; preds = %12791
  call void @llvm.lifetime.start.p0(i64 4, ptr %379) #10
  %12793 = call ptr @__errno_location() #11
  %12794 = load i32, ptr %12793, align 4, !tbaa !5
  store i32 %12794, ptr %379, align 4, !tbaa !5
  %12795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12796 = call i32 @s2n_print_stacktrace(ptr noundef %12795)
  %12797 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12798 = trunc i8 %12797 to i1
  br i1 %12798, label %12799, label %12821

12799:                                            ; preds = %12792
  %12800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12801 = call i32 @fileno(ptr noundef %12800) #10
  %12802 = call i32 @isatty(i32 noundef %12801) #10
  %12803 = icmp ne i32 %12802, 0
  br i1 %12803, label %12804, label %12821

12804:                                            ; preds = %12799
  %12805 = load i32, ptr %379, align 4, !tbaa !5
  %12806 = call ptr @__errno_location() #11
  store i32 %12805, ptr %12806, align 4, !tbaa !5
  %12807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12808 = load i32, ptr @test_count, align 4, !tbaa !5
  %12809 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12810 = load i32, ptr %12809, align 4, !tbaa !5
  %12811 = call ptr @s2n_strerror(i32 noundef %12810, ptr noundef @.str.4)
  %12812 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12813 = load i32, ptr %12812, align 4, !tbaa !5
  %12814 = call ptr @s2n_strerror_debug(i32 noundef %12813, ptr noundef @.str.4)
  %12815 = call ptr @__errno_location() #11
  %12816 = load i32, ptr %12815, align 4, !tbaa !5
  %12817 = call ptr @strerror(i32 noundef %12816) #10
  %12818 = call ptr @__errno_location() #11
  %12819 = load i32, ptr %12818, align 4, !tbaa !5
  %12820 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12807, ptr noundef @.str.2, i32 noundef %12808, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 638, ptr noundef %12811, ptr noundef %12814, ptr noundef %12817, i32 noundef %12819) #10
  br label %12838

12821:                                            ; preds = %12799, %12792
  %12822 = load i32, ptr %379, align 4, !tbaa !5
  %12823 = call ptr @__errno_location() #11
  store i32 %12822, ptr %12823, align 4, !tbaa !5
  %12824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12825 = load i32, ptr @test_count, align 4, !tbaa !5
  %12826 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12827 = load i32, ptr %12826, align 4, !tbaa !5
  %12828 = call ptr @s2n_strerror(i32 noundef %12827, ptr noundef @.str.4)
  %12829 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12830 = load i32, ptr %12829, align 4, !tbaa !5
  %12831 = call ptr @s2n_strerror_debug(i32 noundef %12830, ptr noundef @.str.4)
  %12832 = call ptr @__errno_location() #11
  %12833 = load i32, ptr %12832, align 4, !tbaa !5
  %12834 = call ptr @strerror(i32 noundef %12833) #10
  %12835 = call ptr @__errno_location() #11
  %12836 = load i32, ptr %12835, align 4, !tbaa !5
  %12837 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12824, ptr noundef @.str.5, i32 noundef %12825, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 638, ptr noundef %12828, ptr noundef %12831, ptr noundef %12834, i32 noundef %12836) #10
  br label %12838

12838:                                            ; preds = %12821, %12804
  call void @llvm.lifetime.end.p0(i64 4, ptr %379) #10
  br label %12839

12839:                                            ; preds = %12838
  br label %12840

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

12841:                                            ; No predecessors!
  br label %12842

12842:                                            ; preds = %12841
  br label %12843

12843:                                            ; preds = %12842, %12785
  br label %12844

12844:                                            ; preds = %12843
  br label %12845

12845:                                            ; preds = %12844
  br label %12846

12846:                                            ; preds = %12845
  %12847 = load i32, ptr @test_count, align 4, !tbaa !5
  %12848 = add nsw i32 %12847, 1
  store i32 %12848, ptr @test_count, align 4, !tbaa !5
  %12849 = load ptr, ptr %378, align 8, !tbaa !9
  %12850 = call i32 @s2n_config_set_crl_lookup_cb(ptr noundef %12849, ptr noundef @crl_lookup_test_callback, ptr noundef %377)
  %12851 = icmp eq i32 %12850, -1
  br i1 %12851, label %12852, label %12905

12852:                                            ; preds = %12846
  br label %12853

12853:                                            ; preds = %12852
  br label %12854

12854:                                            ; preds = %12853
  call void @llvm.lifetime.start.p0(i64 4, ptr %380) #10
  %12855 = call ptr @__errno_location() #11
  %12856 = load i32, ptr %12855, align 4, !tbaa !5
  store i32 %12856, ptr %380, align 4, !tbaa !5
  %12857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12858 = call i32 @s2n_print_stacktrace(ptr noundef %12857)
  %12859 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12860 = trunc i8 %12859 to i1
  br i1 %12860, label %12861, label %12883

12861:                                            ; preds = %12854
  %12862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12863 = call i32 @fileno(ptr noundef %12862) #10
  %12864 = call i32 @isatty(i32 noundef %12863) #10
  %12865 = icmp ne i32 %12864, 0
  br i1 %12865, label %12866, label %12883

12866:                                            ; preds = %12861
  %12867 = load i32, ptr %380, align 4, !tbaa !5
  %12868 = call ptr @__errno_location() #11
  store i32 %12867, ptr %12868, align 4, !tbaa !5
  %12869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12870 = load i32, ptr @test_count, align 4, !tbaa !5
  %12871 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12872 = load i32, ptr %12871, align 4, !tbaa !5
  %12873 = call ptr @s2n_strerror(i32 noundef %12872, ptr noundef @.str.4)
  %12874 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12875 = load i32, ptr %12874, align 4, !tbaa !5
  %12876 = call ptr @s2n_strerror_debug(i32 noundef %12875, ptr noundef @.str.4)
  %12877 = call ptr @__errno_location() #11
  %12878 = load i32, ptr %12877, align 4, !tbaa !5
  %12879 = call ptr @strerror(i32 noundef %12878) #10
  %12880 = call ptr @__errno_location() #11
  %12881 = load i32, ptr %12880, align 4, !tbaa !5
  %12882 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12869, ptr noundef @.str.2, i32 noundef %12870, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 639, ptr noundef %12873, ptr noundef %12876, ptr noundef %12879, i32 noundef %12881) #10
  br label %12900

12883:                                            ; preds = %12861, %12854
  %12884 = load i32, ptr %380, align 4, !tbaa !5
  %12885 = call ptr @__errno_location() #11
  store i32 %12884, ptr %12885, align 4, !tbaa !5
  %12886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12887 = load i32, ptr @test_count, align 4, !tbaa !5
  %12888 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12889 = load i32, ptr %12888, align 4, !tbaa !5
  %12890 = call ptr @s2n_strerror(i32 noundef %12889, ptr noundef @.str.4)
  %12891 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12892 = load i32, ptr %12891, align 4, !tbaa !5
  %12893 = call ptr @s2n_strerror_debug(i32 noundef %12892, ptr noundef @.str.4)
  %12894 = call ptr @__errno_location() #11
  %12895 = load i32, ptr %12894, align 4, !tbaa !5
  %12896 = call ptr @strerror(i32 noundef %12895) #10
  %12897 = call ptr @__errno_location() #11
  %12898 = load i32, ptr %12897, align 4, !tbaa !5
  %12899 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12886, ptr noundef @.str.5, i32 noundef %12887, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 639, ptr noundef %12890, ptr noundef %12893, ptr noundef %12896, i32 noundef %12898) #10
  br label %12900

12900:                                            ; preds = %12883, %12866
  call void @llvm.lifetime.end.p0(i64 4, ptr %380) #10
  br label %12901

12901:                                            ; preds = %12900
  br label %12902

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

12903:                                            ; No predecessors!
  br label %12904

12904:                                            ; preds = %12903
  br label %12905

12905:                                            ; preds = %12904, %12846
  br label %12906

12906:                                            ; preds = %12905
  br label %12907

12907:                                            ; preds = %12906
  call void @llvm.lifetime.start.p0(i64 8, ptr %381) #10
  %12908 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %12908, ptr %381, align 8, !tbaa !9
  br label %12909

12909:                                            ; preds = %12907
  %12910 = load i32, ptr @test_count, align 4, !tbaa !5
  %12911 = add nsw i32 %12910, 1
  store i32 %12911, ptr @test_count, align 4, !tbaa !5
  %12912 = load ptr, ptr %381, align 8, !tbaa !9
  %12913 = icmp eq ptr %12912, null
  br i1 %12913, label %12914, label %12967

12914:                                            ; preds = %12909
  br label %12915

12915:                                            ; preds = %12914
  br label %12916

12916:                                            ; preds = %12915
  call void @llvm.lifetime.start.p0(i64 4, ptr %382) #10
  %12917 = call ptr @__errno_location() #11
  %12918 = load i32, ptr %12917, align 4, !tbaa !5
  store i32 %12918, ptr %382, align 4, !tbaa !5
  %12919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12920 = call i32 @s2n_print_stacktrace(ptr noundef %12919)
  %12921 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12922 = trunc i8 %12921 to i1
  br i1 %12922, label %12923, label %12945

12923:                                            ; preds = %12916
  %12924 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12925 = call i32 @fileno(ptr noundef %12924) #10
  %12926 = call i32 @isatty(i32 noundef %12925) #10
  %12927 = icmp ne i32 %12926, 0
  br i1 %12927, label %12928, label %12945

12928:                                            ; preds = %12923
  %12929 = load i32, ptr %382, align 4, !tbaa !5
  %12930 = call ptr @__errno_location() #11
  store i32 %12929, ptr %12930, align 4, !tbaa !5
  %12931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12932 = load i32, ptr @test_count, align 4, !tbaa !5
  %12933 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12934 = load i32, ptr %12933, align 4, !tbaa !5
  %12935 = call ptr @s2n_strerror(i32 noundef %12934, ptr noundef @.str.4)
  %12936 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12937 = load i32, ptr %12936, align 4, !tbaa !5
  %12938 = call ptr @s2n_strerror_debug(i32 noundef %12937, ptr noundef @.str.4)
  %12939 = call ptr @__errno_location() #11
  %12940 = load i32, ptr %12939, align 4, !tbaa !5
  %12941 = call ptr @strerror(i32 noundef %12940) #10
  %12942 = call ptr @__errno_location() #11
  %12943 = load i32, ptr %12942, align 4, !tbaa !5
  %12944 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12931, ptr noundef @.str.2, i32 noundef %12932, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 642, ptr noundef %12935, ptr noundef %12938, ptr noundef %12941, i32 noundef %12943) #10
  br label %12962

12945:                                            ; preds = %12923, %12916
  %12946 = load i32, ptr %382, align 4, !tbaa !5
  %12947 = call ptr @__errno_location() #11
  store i32 %12946, ptr %12947, align 4, !tbaa !5
  %12948 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12949 = load i32, ptr @test_count, align 4, !tbaa !5
  %12950 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12951 = load i32, ptr %12950, align 4, !tbaa !5
  %12952 = call ptr @s2n_strerror(i32 noundef %12951, ptr noundef @.str.4)
  %12953 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12954 = load i32, ptr %12953, align 4, !tbaa !5
  %12955 = call ptr @s2n_strerror_debug(i32 noundef %12954, ptr noundef @.str.4)
  %12956 = call ptr @__errno_location() #11
  %12957 = load i32, ptr %12956, align 4, !tbaa !5
  %12958 = call ptr @strerror(i32 noundef %12957) #10
  %12959 = call ptr @__errno_location() #11
  %12960 = load i32, ptr %12959, align 4, !tbaa !5
  %12961 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12948, ptr noundef @.str.5, i32 noundef %12949, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 642, ptr noundef %12952, ptr noundef %12955, ptr noundef %12958, i32 noundef %12960) #10
  br label %12962

12962:                                            ; preds = %12945, %12928
  call void @llvm.lifetime.end.p0(i64 4, ptr %382) #10
  br label %12963

12963:                                            ; preds = %12962
  br label %12964

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

12965:                                            ; No predecessors!
  br label %12966

12966:                                            ; preds = %12965
  br label %12967

12967:                                            ; preds = %12966, %12909
  br label %12968

12968:                                            ; preds = %12967
  br label %12969

12969:                                            ; preds = %12968
  br label %12970

12970:                                            ; preds = %12969
  %12971 = load i32, ptr @test_count, align 4, !tbaa !5
  %12972 = add nsw i32 %12971, 1
  store i32 %12972, ptr @test_count, align 4, !tbaa !5
  %12973 = load ptr, ptr %381, align 8, !tbaa !9
  %12974 = load ptr, ptr %378, align 8, !tbaa !9
  %12975 = call i32 @s2n_connection_set_config(ptr noundef %12973, ptr noundef %12974)
  %12976 = icmp eq i32 %12975, -1
  br i1 %12976, label %12977, label %13030

12977:                                            ; preds = %12970
  br label %12978

12978:                                            ; preds = %12977
  br label %12979

12979:                                            ; preds = %12978
  call void @llvm.lifetime.start.p0(i64 4, ptr %383) #10
  %12980 = call ptr @__errno_location() #11
  %12981 = load i32, ptr %12980, align 4, !tbaa !5
  store i32 %12981, ptr %383, align 4, !tbaa !5
  %12982 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12983 = call i32 @s2n_print_stacktrace(ptr noundef %12982)
  %12984 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12985 = trunc i8 %12984 to i1
  br i1 %12985, label %12986, label %13008

12986:                                            ; preds = %12979
  %12987 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12988 = call i32 @fileno(ptr noundef %12987) #10
  %12989 = call i32 @isatty(i32 noundef %12988) #10
  %12990 = icmp ne i32 %12989, 0
  br i1 %12990, label %12991, label %13008

12991:                                            ; preds = %12986
  %12992 = load i32, ptr %383, align 4, !tbaa !5
  %12993 = call ptr @__errno_location() #11
  store i32 %12992, ptr %12993, align 4, !tbaa !5
  %12994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12995 = load i32, ptr @test_count, align 4, !tbaa !5
  %12996 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12997 = load i32, ptr %12996, align 4, !tbaa !5
  %12998 = call ptr @s2n_strerror(i32 noundef %12997, ptr noundef @.str.4)
  %12999 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13000 = load i32, ptr %12999, align 4, !tbaa !5
  %13001 = call ptr @s2n_strerror_debug(i32 noundef %13000, ptr noundef @.str.4)
  %13002 = call ptr @__errno_location() #11
  %13003 = load i32, ptr %13002, align 4, !tbaa !5
  %13004 = call ptr @strerror(i32 noundef %13003) #10
  %13005 = call ptr @__errno_location() #11
  %13006 = load i32, ptr %13005, align 4, !tbaa !5
  %13007 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12994, ptr noundef @.str.2, i32 noundef %12995, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 643, ptr noundef %12998, ptr noundef %13001, ptr noundef %13004, i32 noundef %13006) #10
  br label %13025

13008:                                            ; preds = %12986, %12979
  %13009 = load i32, ptr %383, align 4, !tbaa !5
  %13010 = call ptr @__errno_location() #11
  store i32 %13009, ptr %13010, align 4, !tbaa !5
  %13011 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13012 = load i32, ptr @test_count, align 4, !tbaa !5
  %13013 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13014 = load i32, ptr %13013, align 4, !tbaa !5
  %13015 = call ptr @s2n_strerror(i32 noundef %13014, ptr noundef @.str.4)
  %13016 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13017 = load i32, ptr %13016, align 4, !tbaa !5
  %13018 = call ptr @s2n_strerror_debug(i32 noundef %13017, ptr noundef @.str.4)
  %13019 = call ptr @__errno_location() #11
  %13020 = load i32, ptr %13019, align 4, !tbaa !5
  %13021 = call ptr @strerror(i32 noundef %13020) #10
  %13022 = call ptr @__errno_location() #11
  %13023 = load i32, ptr %13022, align 4, !tbaa !5
  %13024 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13011, ptr noundef @.str.5, i32 noundef %13012, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 643, ptr noundef %13015, ptr noundef %13018, ptr noundef %13021, i32 noundef %13023) #10
  br label %13025

13025:                                            ; preds = %13008, %12991
  call void @llvm.lifetime.end.p0(i64 4, ptr %383) #10
  br label %13026

13026:                                            ; preds = %13025
  br label %13027

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

13028:                                            ; No predecessors!
  br label %13029

13029:                                            ; preds = %13028
  br label %13030

13030:                                            ; preds = %13029, %12970
  br label %13031

13031:                                            ; preds = %13030
  br label %13032

13032:                                            ; preds = %13031
  br label %13033

13033:                                            ; preds = %13032
  %13034 = load i32, ptr @test_count, align 4, !tbaa !5
  %13035 = add nsw i32 %13034, 1
  store i32 %13035, ptr @test_count, align 4, !tbaa !5
  %13036 = load ptr, ptr %381, align 8, !tbaa !9
  %13037 = call i32 @s2n_set_server_name(ptr noundef %13036, ptr noundef @.str.39)
  %13038 = icmp eq i32 %13037, -1
  br i1 %13038, label %13039, label %13092

13039:                                            ; preds = %13033
  br label %13040

13040:                                            ; preds = %13039
  br label %13041

13041:                                            ; preds = %13040
  call void @llvm.lifetime.start.p0(i64 4, ptr %384) #10
  %13042 = call ptr @__errno_location() #11
  %13043 = load i32, ptr %13042, align 4, !tbaa !5
  store i32 %13043, ptr %384, align 4, !tbaa !5
  %13044 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13045 = call i32 @s2n_print_stacktrace(ptr noundef %13044)
  %13046 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13047 = trunc i8 %13046 to i1
  br i1 %13047, label %13048, label %13070

13048:                                            ; preds = %13041
  %13049 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13050 = call i32 @fileno(ptr noundef %13049) #10
  %13051 = call i32 @isatty(i32 noundef %13050) #10
  %13052 = icmp ne i32 %13051, 0
  br i1 %13052, label %13053, label %13070

13053:                                            ; preds = %13048
  %13054 = load i32, ptr %384, align 4, !tbaa !5
  %13055 = call ptr @__errno_location() #11
  store i32 %13054, ptr %13055, align 4, !tbaa !5
  %13056 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13057 = load i32, ptr @test_count, align 4, !tbaa !5
  %13058 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13059 = load i32, ptr %13058, align 4, !tbaa !5
  %13060 = call ptr @s2n_strerror(i32 noundef %13059, ptr noundef @.str.4)
  %13061 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13062 = load i32, ptr %13061, align 4, !tbaa !5
  %13063 = call ptr @s2n_strerror_debug(i32 noundef %13062, ptr noundef @.str.4)
  %13064 = call ptr @__errno_location() #11
  %13065 = load i32, ptr %13064, align 4, !tbaa !5
  %13066 = call ptr @strerror(i32 noundef %13065) #10
  %13067 = call ptr @__errno_location() #11
  %13068 = load i32, ptr %13067, align 4, !tbaa !5
  %13069 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13056, ptr noundef @.str.2, i32 noundef %13057, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 644, ptr noundef %13060, ptr noundef %13063, ptr noundef %13066, i32 noundef %13068) #10
  br label %13087

13070:                                            ; preds = %13048, %13041
  %13071 = load i32, ptr %384, align 4, !tbaa !5
  %13072 = call ptr @__errno_location() #11
  store i32 %13071, ptr %13072, align 4, !tbaa !5
  %13073 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13074 = load i32, ptr @test_count, align 4, !tbaa !5
  %13075 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13076 = load i32, ptr %13075, align 4, !tbaa !5
  %13077 = call ptr @s2n_strerror(i32 noundef %13076, ptr noundef @.str.4)
  %13078 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13079 = load i32, ptr %13078, align 4, !tbaa !5
  %13080 = call ptr @s2n_strerror_debug(i32 noundef %13079, ptr noundef @.str.4)
  %13081 = call ptr @__errno_location() #11
  %13082 = load i32, ptr %13081, align 4, !tbaa !5
  %13083 = call ptr @strerror(i32 noundef %13082) #10
  %13084 = call ptr @__errno_location() #11
  %13085 = load i32, ptr %13084, align 4, !tbaa !5
  %13086 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13073, ptr noundef @.str.5, i32 noundef %13074, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 644, ptr noundef %13077, ptr noundef %13080, ptr noundef %13083, i32 noundef %13085) #10
  br label %13087

13087:                                            ; preds = %13070, %13053
  call void @llvm.lifetime.end.p0(i64 4, ptr %384) #10
  br label %13088

13088:                                            ; preds = %13087
  br label %13089

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

13090:                                            ; No predecessors!
  br label %13091

13091:                                            ; preds = %13090
  br label %13092

13092:                                            ; preds = %13091, %13033
  br label %13093

13093:                                            ; preds = %13092
  br label %13094

13094:                                            ; preds = %13093
  call void @llvm.lifetime.start.p0(i64 40, ptr %385) #10
  call void @llvm.memset.p0.i64(ptr align 8 %385, i8 0, i64 40, i1 false)
  br label %13095

13095:                                            ; preds = %13094
  %13096 = load i32, ptr @test_count, align 4, !tbaa !5
  %13097 = add nsw i32 %13096, 1
  store i32 %13097, ptr @test_count, align 4, !tbaa !5
  %13098 = load ptr, ptr %381, align 8, !tbaa !9
  %13099 = call i32 @s2n_test_cert_chain_data_from_pem(ptr noundef %13098, ptr noundef @.str.50, ptr noundef %385)
  %13100 = getelementptr inbounds %struct.s2n_result, ptr %386, i32 0, i32 0
  store i32 %13099, ptr %13100, align 4
  %13101 = getelementptr inbounds %struct.s2n_result, ptr %386, i32 0, i32 0
  %13102 = load i32, ptr %13101, align 4
  %13103 = call zeroext i1 @s2n_result_is_ok(i32 %13102)
  br i1 %13103, label %13157, label %13104

13104:                                            ; preds = %13095
  br label %13105

13105:                                            ; preds = %13104
  br label %13106

13106:                                            ; preds = %13105
  call void @llvm.lifetime.start.p0(i64 4, ptr %387) #10
  %13107 = call ptr @__errno_location() #11
  %13108 = load i32, ptr %13107, align 4, !tbaa !5
  store i32 %13108, ptr %387, align 4, !tbaa !5
  %13109 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13110 = call i32 @s2n_print_stacktrace(ptr noundef %13109)
  %13111 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13112 = trunc i8 %13111 to i1
  br i1 %13112, label %13113, label %13135

13113:                                            ; preds = %13106
  %13114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13115 = call i32 @fileno(ptr noundef %13114) #10
  %13116 = call i32 @isatty(i32 noundef %13115) #10
  %13117 = icmp ne i32 %13116, 0
  br i1 %13117, label %13118, label %13135

13118:                                            ; preds = %13113
  %13119 = load i32, ptr %387, align 4, !tbaa !5
  %13120 = call ptr @__errno_location() #11
  store i32 %13119, ptr %13120, align 4, !tbaa !5
  %13121 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13122 = load i32, ptr @test_count, align 4, !tbaa !5
  %13123 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13124 = load i32, ptr %13123, align 4, !tbaa !5
  %13125 = call ptr @s2n_strerror(i32 noundef %13124, ptr noundef @.str.4)
  %13126 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13127 = load i32, ptr %13126, align 4, !tbaa !5
  %13128 = call ptr @s2n_strerror_debug(i32 noundef %13127, ptr noundef @.str.4)
  %13129 = call ptr @__errno_location() #11
  %13130 = load i32, ptr %13129, align 4, !tbaa !5
  %13131 = call ptr @strerror(i32 noundef %13130) #10
  %13132 = call ptr @__errno_location() #11
  %13133 = load i32, ptr %13132, align 4, !tbaa !5
  %13134 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13121, ptr noundef @.str.2, i32 noundef %13122, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 647, ptr noundef %13125, ptr noundef %13128, ptr noundef %13131, i32 noundef %13133) #10
  br label %13152

13135:                                            ; preds = %13113, %13106
  %13136 = load i32, ptr %387, align 4, !tbaa !5
  %13137 = call ptr @__errno_location() #11
  store i32 %13136, ptr %13137, align 4, !tbaa !5
  %13138 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13139 = load i32, ptr @test_count, align 4, !tbaa !5
  %13140 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13141 = load i32, ptr %13140, align 4, !tbaa !5
  %13142 = call ptr @s2n_strerror(i32 noundef %13141, ptr noundef @.str.4)
  %13143 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13144 = load i32, ptr %13143, align 4, !tbaa !5
  %13145 = call ptr @s2n_strerror_debug(i32 noundef %13144, ptr noundef @.str.4)
  %13146 = call ptr @__errno_location() #11
  %13147 = load i32, ptr %13146, align 4, !tbaa !5
  %13148 = call ptr @strerror(i32 noundef %13147) #10
  %13149 = call ptr @__errno_location() #11
  %13150 = load i32, ptr %13149, align 4, !tbaa !5
  %13151 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13138, ptr noundef @.str.5, i32 noundef %13139, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 647, ptr noundef %13142, ptr noundef %13145, ptr noundef %13148, i32 noundef %13150) #10
  br label %13152

13152:                                            ; preds = %13135, %13118
  call void @llvm.lifetime.end.p0(i64 4, ptr %387) #10
  br label %13153

13153:                                            ; preds = %13152
  br label %13154

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

13155:                                            ; No predecessors!
  br label %13156

13156:                                            ; preds = %13155
  br label %13157

13157:                                            ; preds = %13156, %13095
  br label %13158

13158:                                            ; preds = %13157
  br label %13159

13159:                                            ; preds = %13158
  call void @llvm.lifetime.start.p0(i64 4, ptr %388) #10
  %13160 = getelementptr inbounds %struct.s2n_stuffer, ptr %385, i32 0, i32 2
  %13161 = load i32, ptr %13160, align 4, !tbaa !23
  %13162 = getelementptr inbounds %struct.s2n_stuffer, ptr %385, i32 0, i32 1
  %13163 = load i32, ptr %13162, align 8, !tbaa !26
  %13164 = sub i32 %13161, %13163
  store i32 %13164, ptr %388, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %389) #10
  %13165 = load i32, ptr %388, align 4, !tbaa !5
  %13166 = call ptr @s2n_stuffer_raw_read(ptr noundef %385, i32 noundef %13165)
  store ptr %13166, ptr %389, align 8, !tbaa !9
  br label %13167

13167:                                            ; preds = %13159
  %13168 = load i32, ptr @test_count, align 4, !tbaa !5
  %13169 = add nsw i32 %13168, 1
  store i32 %13169, ptr @test_count, align 4, !tbaa !5
  %13170 = load ptr, ptr %389, align 8, !tbaa !9
  %13171 = icmp eq ptr %13170, null
  br i1 %13171, label %13172, label %13225

13172:                                            ; preds = %13167
  br label %13173

13173:                                            ; preds = %13172
  br label %13174

13174:                                            ; preds = %13173
  call void @llvm.lifetime.start.p0(i64 4, ptr %390) #10
  %13175 = call ptr @__errno_location() #11
  %13176 = load i32, ptr %13175, align 4, !tbaa !5
  store i32 %13176, ptr %390, align 4, !tbaa !5
  %13177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13178 = call i32 @s2n_print_stacktrace(ptr noundef %13177)
  %13179 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13180 = trunc i8 %13179 to i1
  br i1 %13180, label %13181, label %13203

13181:                                            ; preds = %13174
  %13182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13183 = call i32 @fileno(ptr noundef %13182) #10
  %13184 = call i32 @isatty(i32 noundef %13183) #10
  %13185 = icmp ne i32 %13184, 0
  br i1 %13185, label %13186, label %13203

13186:                                            ; preds = %13181
  %13187 = load i32, ptr %390, align 4, !tbaa !5
  %13188 = call ptr @__errno_location() #11
  store i32 %13187, ptr %13188, align 4, !tbaa !5
  %13189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13190 = load i32, ptr @test_count, align 4, !tbaa !5
  %13191 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13192 = load i32, ptr %13191, align 4, !tbaa !5
  %13193 = call ptr @s2n_strerror(i32 noundef %13192, ptr noundef @.str.4)
  %13194 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13195 = load i32, ptr %13194, align 4, !tbaa !5
  %13196 = call ptr @s2n_strerror_debug(i32 noundef %13195, ptr noundef @.str.4)
  %13197 = call ptr @__errno_location() #11
  %13198 = load i32, ptr %13197, align 4, !tbaa !5
  %13199 = call ptr @strerror(i32 noundef %13198) #10
  %13200 = call ptr @__errno_location() #11
  %13201 = load i32, ptr %13200, align 4, !tbaa !5
  %13202 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13189, ptr noundef @.str.2, i32 noundef %13190, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 650, ptr noundef %13193, ptr noundef %13196, ptr noundef %13199, i32 noundef %13201) #10
  br label %13220

13203:                                            ; preds = %13181, %13174
  %13204 = load i32, ptr %390, align 4, !tbaa !5
  %13205 = call ptr @__errno_location() #11
  store i32 %13204, ptr %13205, align 4, !tbaa !5
  %13206 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13207 = load i32, ptr @test_count, align 4, !tbaa !5
  %13208 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13209 = load i32, ptr %13208, align 4, !tbaa !5
  %13210 = call ptr @s2n_strerror(i32 noundef %13209, ptr noundef @.str.4)
  %13211 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13212 = load i32, ptr %13211, align 4, !tbaa !5
  %13213 = call ptr @s2n_strerror_debug(i32 noundef %13212, ptr noundef @.str.4)
  %13214 = call ptr @__errno_location() #11
  %13215 = load i32, ptr %13214, align 4, !tbaa !5
  %13216 = call ptr @strerror(i32 noundef %13215) #10
  %13217 = call ptr @__errno_location() #11
  %13218 = load i32, ptr %13217, align 4, !tbaa !5
  %13219 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13206, ptr noundef @.str.5, i32 noundef %13207, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 650, ptr noundef %13210, ptr noundef %13213, ptr noundef %13216, i32 noundef %13218) #10
  br label %13220

13220:                                            ; preds = %13203, %13186
  call void @llvm.lifetime.end.p0(i64 4, ptr %390) #10
  br label %13221

13221:                                            ; preds = %13220
  br label %13222

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

13223:                                            ; No predecessors!
  br label %13224

13224:                                            ; preds = %13223
  br label %13225

13225:                                            ; preds = %13224, %13167
  br label %13226

13226:                                            ; preds = %13225
  br label %13227

13227:                                            ; preds = %13226
  call void @llvm.lifetime.start.p0(i64 48, ptr %391) #10
  call void @llvm.memset.p0.i64(ptr align 8 %391, i8 0, i64 48, i1 false)
  br label %13228

13228:                                            ; preds = %13227
  %13229 = load i32, ptr @test_count, align 4, !tbaa !5
  %13230 = add nsw i32 %13229, 1
  store i32 %13230, ptr @test_count, align 4, !tbaa !5
  %13231 = call i32 @s2n_pkey_zero_init(ptr noundef %391)
  %13232 = icmp eq i32 %13231, -1
  br i1 %13232, label %13233, label %13286

13233:                                            ; preds = %13228
  br label %13234

13234:                                            ; preds = %13233
  br label %13235

13235:                                            ; preds = %13234
  call void @llvm.lifetime.start.p0(i64 4, ptr %392) #10
  %13236 = call ptr @__errno_location() #11
  %13237 = load i32, ptr %13236, align 4, !tbaa !5
  store i32 %13237, ptr %392, align 4, !tbaa !5
  %13238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13239 = call i32 @s2n_print_stacktrace(ptr noundef %13238)
  %13240 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13241 = trunc i8 %13240 to i1
  br i1 %13241, label %13242, label %13264

13242:                                            ; preds = %13235
  %13243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13244 = call i32 @fileno(ptr noundef %13243) #10
  %13245 = call i32 @isatty(i32 noundef %13244) #10
  %13246 = icmp ne i32 %13245, 0
  br i1 %13246, label %13247, label %13264

13247:                                            ; preds = %13242
  %13248 = load i32, ptr %392, align 4, !tbaa !5
  %13249 = call ptr @__errno_location() #11
  store i32 %13248, ptr %13249, align 4, !tbaa !5
  %13250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13251 = load i32, ptr @test_count, align 4, !tbaa !5
  %13252 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13253 = load i32, ptr %13252, align 4, !tbaa !5
  %13254 = call ptr @s2n_strerror(i32 noundef %13253, ptr noundef @.str.4)
  %13255 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13256 = load i32, ptr %13255, align 4, !tbaa !5
  %13257 = call ptr @s2n_strerror_debug(i32 noundef %13256, ptr noundef @.str.4)
  %13258 = call ptr @__errno_location() #11
  %13259 = load i32, ptr %13258, align 4, !tbaa !5
  %13260 = call ptr @strerror(i32 noundef %13259) #10
  %13261 = call ptr @__errno_location() #11
  %13262 = load i32, ptr %13261, align 4, !tbaa !5
  %13263 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13250, ptr noundef @.str.2, i32 noundef %13251, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 653, ptr noundef %13254, ptr noundef %13257, ptr noundef %13260, i32 noundef %13262) #10
  br label %13281

13264:                                            ; preds = %13242, %13235
  %13265 = load i32, ptr %392, align 4, !tbaa !5
  %13266 = call ptr @__errno_location() #11
  store i32 %13265, ptr %13266, align 4, !tbaa !5
  %13267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13268 = load i32, ptr @test_count, align 4, !tbaa !5
  %13269 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13270 = load i32, ptr %13269, align 4, !tbaa !5
  %13271 = call ptr @s2n_strerror(i32 noundef %13270, ptr noundef @.str.4)
  %13272 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13273 = load i32, ptr %13272, align 4, !tbaa !5
  %13274 = call ptr @s2n_strerror_debug(i32 noundef %13273, ptr noundef @.str.4)
  %13275 = call ptr @__errno_location() #11
  %13276 = load i32, ptr %13275, align 4, !tbaa !5
  %13277 = call ptr @strerror(i32 noundef %13276) #10
  %13278 = call ptr @__errno_location() #11
  %13279 = load i32, ptr %13278, align 4, !tbaa !5
  %13280 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13267, ptr noundef @.str.5, i32 noundef %13268, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 653, ptr noundef %13271, ptr noundef %13274, ptr noundef %13277, i32 noundef %13279) #10
  br label %13281

13281:                                            ; preds = %13264, %13247
  call void @llvm.lifetime.end.p0(i64 4, ptr %392) #10
  br label %13282

13282:                                            ; preds = %13281
  br label %13283

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

13284:                                            ; No predecessors!
  br label %13285

13285:                                            ; preds = %13284
  br label %13286

13286:                                            ; preds = %13285, %13228
  br label %13287

13287:                                            ; preds = %13286
  br label %13288

13288:                                            ; preds = %13287
  call void @llvm.lifetime.start.p0(i64 4, ptr %393) #10
  store i32 -1, ptr %393, align 4, !tbaa !5
  br label %13289

13289:                                            ; preds = %13288
  br label %13290

13290:                                            ; preds = %13289
  br label %13291

13291:                                            ; preds = %13290
  %13292 = load i32, ptr @test_count, align 4, !tbaa !5
  %13293 = add nsw i32 %13292, 1
  store i32 %13293, ptr @test_count, align 4, !tbaa !5
  %13294 = load ptr, ptr %381, align 8, !tbaa !9
  %13295 = load ptr, ptr %389, align 8, !tbaa !9
  %13296 = load i32, ptr %388, align 4, !tbaa !5
  %13297 = call i32 @s2n_x509_validator_validate_cert_chain(ptr noundef %375, ptr noundef %13294, ptr noundef %13295, i32 noundef %13296, ptr noundef %393, ptr noundef %391)
  %13298 = getelementptr inbounds %struct.s2n_result, ptr %394, i32 0, i32 0
  store i32 %13297, ptr %13298, align 4
  %13299 = getelementptr inbounds %struct.s2n_result, ptr %394, i32 0, i32 0
  %13300 = load i32, ptr %13299, align 4
  %13301 = call zeroext i1 @s2n_result_is_error(i32 %13300)
  br i1 %13301, label %13355, label %13302

13302:                                            ; preds = %13291
  br label %13303

13303:                                            ; preds = %13302
  br label %13304

13304:                                            ; preds = %13303
  call void @llvm.lifetime.start.p0(i64 4, ptr %395) #10
  %13305 = call ptr @__errno_location() #11
  %13306 = load i32, ptr %13305, align 4, !tbaa !5
  store i32 %13306, ptr %395, align 4, !tbaa !5
  %13307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13308 = call i32 @s2n_print_stacktrace(ptr noundef %13307)
  %13309 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13310 = trunc i8 %13309 to i1
  br i1 %13310, label %13311, label %13333

13311:                                            ; preds = %13304
  %13312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13313 = call i32 @fileno(ptr noundef %13312) #10
  %13314 = call i32 @isatty(i32 noundef %13313) #10
  %13315 = icmp ne i32 %13314, 0
  br i1 %13315, label %13316, label %13333

13316:                                            ; preds = %13311
  %13317 = load i32, ptr %395, align 4, !tbaa !5
  %13318 = call ptr @__errno_location() #11
  store i32 %13317, ptr %13318, align 4, !tbaa !5
  %13319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13320 = load i32, ptr @test_count, align 4, !tbaa !5
  %13321 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13322 = load i32, ptr %13321, align 4, !tbaa !5
  %13323 = call ptr @s2n_strerror(i32 noundef %13322, ptr noundef @.str.4)
  %13324 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13325 = load i32, ptr %13324, align 4, !tbaa !5
  %13326 = call ptr @s2n_strerror_debug(i32 noundef %13325, ptr noundef @.str.4)
  %13327 = call ptr @__errno_location() #11
  %13328 = load i32, ptr %13327, align 4, !tbaa !5
  %13329 = call ptr @strerror(i32 noundef %13328) #10
  %13330 = call ptr @__errno_location() #11
  %13331 = load i32, ptr %13330, align 4, !tbaa !5
  %13332 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13319, ptr noundef @.str.2, i32 noundef %13320, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 657, ptr noundef %13323, ptr noundef %13326, ptr noundef %13329, i32 noundef %13331) #10
  br label %13350

13333:                                            ; preds = %13311, %13304
  %13334 = load i32, ptr %395, align 4, !tbaa !5
  %13335 = call ptr @__errno_location() #11
  store i32 %13334, ptr %13335, align 4, !tbaa !5
  %13336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13337 = load i32, ptr @test_count, align 4, !tbaa !5
  %13338 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13339 = load i32, ptr %13338, align 4, !tbaa !5
  %13340 = call ptr @s2n_strerror(i32 noundef %13339, ptr noundef @.str.4)
  %13341 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13342 = load i32, ptr %13341, align 4, !tbaa !5
  %13343 = call ptr @s2n_strerror_debug(i32 noundef %13342, ptr noundef @.str.4)
  %13344 = call ptr @__errno_location() #11
  %13345 = load i32, ptr %13344, align 4, !tbaa !5
  %13346 = call ptr @strerror(i32 noundef %13345) #10
  %13347 = call ptr @__errno_location() #11
  %13348 = load i32, ptr %13347, align 4, !tbaa !5
  %13349 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13336, ptr noundef @.str.5, i32 noundef %13337, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 657, ptr noundef %13340, ptr noundef %13343, ptr noundef %13346, i32 noundef %13348) #10
  br label %13350

13350:                                            ; preds = %13333, %13316
  call void @llvm.lifetime.end.p0(i64 4, ptr %395) #10
  br label %13351

13351:                                            ; preds = %13350
  br label %13352

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

13353:                                            ; No predecessors!
  br label %13354

13354:                                            ; preds = %13353
  br label %13355

13355:                                            ; preds = %13354, %13291
  br label %13356

13356:                                            ; preds = %13355
  br label %13357

13357:                                            ; preds = %13356
  br label %13358

13358:                                            ; preds = %13357
  %13359 = load i32, ptr @test_count, align 4, !tbaa !5
  %13360 = add nsw i32 %13359, 1
  store i32 %13360, ptr @test_count, align 4, !tbaa !5
  %13361 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13362 = load i32, ptr %13361, align 4, !tbaa !5
  %13363 = icmp eq i32 %13362, 335544367
  br i1 %13363, label %13417, label %13364

13364:                                            ; preds = %13358
  br label %13365

13365:                                            ; preds = %13364
  br label %13366

13366:                                            ; preds = %13365
  call void @llvm.lifetime.start.p0(i64 4, ptr %396) #10
  %13367 = call ptr @__errno_location() #11
  %13368 = load i32, ptr %13367, align 4, !tbaa !5
  store i32 %13368, ptr %396, align 4, !tbaa !5
  %13369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13370 = call i32 @s2n_print_stacktrace(ptr noundef %13369)
  %13371 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13372 = trunc i8 %13371 to i1
  br i1 %13372, label %13373, label %13395

13373:                                            ; preds = %13366
  %13374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13375 = call i32 @fileno(ptr noundef %13374) #10
  %13376 = call i32 @isatty(i32 noundef %13375) #10
  %13377 = icmp ne i32 %13376, 0
  br i1 %13377, label %13378, label %13395

13378:                                            ; preds = %13373
  %13379 = load i32, ptr %396, align 4, !tbaa !5
  %13380 = call ptr @__errno_location() #11
  store i32 %13379, ptr %13380, align 4, !tbaa !5
  %13381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13382 = load i32, ptr @test_count, align 4, !tbaa !5
  %13383 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13384 = load i32, ptr %13383, align 4, !tbaa !5
  %13385 = call ptr @s2n_strerror(i32 noundef %13384, ptr noundef @.str.4)
  %13386 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13387 = load i32, ptr %13386, align 4, !tbaa !5
  %13388 = call ptr @s2n_strerror_debug(i32 noundef %13387, ptr noundef @.str.4)
  %13389 = call ptr @__errno_location() #11
  %13390 = load i32, ptr %13389, align 4, !tbaa !5
  %13391 = call ptr @strerror(i32 noundef %13390) #10
  %13392 = call ptr @__errno_location() #11
  %13393 = load i32, ptr %13392, align 4, !tbaa !5
  %13394 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13381, ptr noundef @.str.2, i32 noundef %13382, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 657, ptr noundef %13385, ptr noundef %13388, ptr noundef %13391, i32 noundef %13393) #10
  br label %13412

13395:                                            ; preds = %13373, %13366
  %13396 = load i32, ptr %396, align 4, !tbaa !5
  %13397 = call ptr @__errno_location() #11
  store i32 %13396, ptr %13397, align 4, !tbaa !5
  %13398 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13399 = load i32, ptr @test_count, align 4, !tbaa !5
  %13400 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13401 = load i32, ptr %13400, align 4, !tbaa !5
  %13402 = call ptr @s2n_strerror(i32 noundef %13401, ptr noundef @.str.4)
  %13403 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13404 = load i32, ptr %13403, align 4, !tbaa !5
  %13405 = call ptr @s2n_strerror_debug(i32 noundef %13404, ptr noundef @.str.4)
  %13406 = call ptr @__errno_location() #11
  %13407 = load i32, ptr %13406, align 4, !tbaa !5
  %13408 = call ptr @strerror(i32 noundef %13407) #10
  %13409 = call ptr @__errno_location() #11
  %13410 = load i32, ptr %13409, align 4, !tbaa !5
  %13411 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13398, ptr noundef @.str.5, i32 noundef %13399, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 657, ptr noundef %13402, ptr noundef %13405, ptr noundef %13408, i32 noundef %13410) #10
  br label %13412

13412:                                            ; preds = %13395, %13378
  call void @llvm.lifetime.end.p0(i64 4, ptr %396) #10
  br label %13413

13413:                                            ; preds = %13412
  br label %13414

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

13415:                                            ; No predecessors!
  br label %13416

13416:                                            ; preds = %13415
  br label %13417

13417:                                            ; preds = %13416, %13358
  br label %13418

13418:                                            ; preds = %13417
  br label %13419

13419:                                            ; preds = %13418
  br label %13420

13420:                                            ; preds = %13419
  %13421 = load i32, ptr @test_count, align 4, !tbaa !5
  %13422 = add nsw i32 %13421, 1
  store i32 %13422, ptr @test_count, align 4, !tbaa !5
  %13423 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13424 = load i32, ptr %13423, align 4, !tbaa !5
  %13425 = call ptr @s2n_strerror_debug(i32 noundef %13424, ptr noundef @.str.4)
  %13426 = icmp eq ptr %13425, null
  br i1 %13426, label %13427, label %13480

13427:                                            ; preds = %13420
  br label %13428

13428:                                            ; preds = %13427
  br label %13429

13429:                                            ; preds = %13428
  call void @llvm.lifetime.start.p0(i64 4, ptr %397) #10
  %13430 = call ptr @__errno_location() #11
  %13431 = load i32, ptr %13430, align 4, !tbaa !5
  store i32 %13431, ptr %397, align 4, !tbaa !5
  %13432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13433 = call i32 @s2n_print_stacktrace(ptr noundef %13432)
  %13434 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13435 = trunc i8 %13434 to i1
  br i1 %13435, label %13436, label %13458

13436:                                            ; preds = %13429
  %13437 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13438 = call i32 @fileno(ptr noundef %13437) #10
  %13439 = call i32 @isatty(i32 noundef %13438) #10
  %13440 = icmp ne i32 %13439, 0
  br i1 %13440, label %13441, label %13458

13441:                                            ; preds = %13436
  %13442 = load i32, ptr %397, align 4, !tbaa !5
  %13443 = call ptr @__errno_location() #11
  store i32 %13442, ptr %13443, align 4, !tbaa !5
  %13444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13445 = load i32, ptr @test_count, align 4, !tbaa !5
  %13446 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13447 = load i32, ptr %13446, align 4, !tbaa !5
  %13448 = call ptr @s2n_strerror(i32 noundef %13447, ptr noundef @.str.4)
  %13449 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13450 = load i32, ptr %13449, align 4, !tbaa !5
  %13451 = call ptr @s2n_strerror_debug(i32 noundef %13450, ptr noundef @.str.4)
  %13452 = call ptr @__errno_location() #11
  %13453 = load i32, ptr %13452, align 4, !tbaa !5
  %13454 = call ptr @strerror(i32 noundef %13453) #10
  %13455 = call ptr @__errno_location() #11
  %13456 = load i32, ptr %13455, align 4, !tbaa !5
  %13457 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13444, ptr noundef @.str.2, i32 noundef %13445, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 657, ptr noundef %13448, ptr noundef %13451, ptr noundef %13454, i32 noundef %13456) #10
  br label %13475

13458:                                            ; preds = %13436, %13429
  %13459 = load i32, ptr %397, align 4, !tbaa !5
  %13460 = call ptr @__errno_location() #11
  store i32 %13459, ptr %13460, align 4, !tbaa !5
  %13461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13462 = load i32, ptr @test_count, align 4, !tbaa !5
  %13463 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13464 = load i32, ptr %13463, align 4, !tbaa !5
  %13465 = call ptr @s2n_strerror(i32 noundef %13464, ptr noundef @.str.4)
  %13466 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13467 = load i32, ptr %13466, align 4, !tbaa !5
  %13468 = call ptr @s2n_strerror_debug(i32 noundef %13467, ptr noundef @.str.4)
  %13469 = call ptr @__errno_location() #11
  %13470 = load i32, ptr %13469, align 4, !tbaa !5
  %13471 = call ptr @strerror(i32 noundef %13470) #10
  %13472 = call ptr @__errno_location() #11
  %13473 = load i32, ptr %13472, align 4, !tbaa !5
  %13474 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13461, ptr noundef @.str.5, i32 noundef %13462, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 657, ptr noundef %13465, ptr noundef %13468, ptr noundef %13471, i32 noundef %13473) #10
  br label %13475

13475:                                            ; preds = %13458, %13441
  call void @llvm.lifetime.end.p0(i64 4, ptr %397) #10
  br label %13476

13476:                                            ; preds = %13475
  br label %13477

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

13478:                                            ; No predecessors!
  br label %13479

13479:                                            ; preds = %13478
  br label %13480

13480:                                            ; preds = %13479, %13420
  br label %13481

13481:                                            ; preds = %13480
  br label %13482

13482:                                            ; preds = %13481
  br label %13483

13483:                                            ; preds = %13482
  br label %13484

13484:                                            ; preds = %13483
  br label %13485

13485:                                            ; preds = %13484
  %13486 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %13486, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %13487 = call ptr @__errno_location() #11
  store i32 0, ptr %13487, align 4, !tbaa !5
  br label %13488

13488:                                            ; preds = %13485
  br label %13489

13489:                                            ; preds = %13488
  br label %13490

13490:                                            ; preds = %13489
  br label %13491

13491:                                            ; preds = %13490
  br label %13492

13492:                                            ; preds = %13491
  %13493 = load i32, ptr @test_count, align 4, !tbaa !5
  %13494 = add nsw i32 %13493, 1
  store i32 %13494, ptr @test_count, align 4, !tbaa !5
  %13495 = getelementptr inbounds %struct.crl_lookup_data, ptr %377, i32 0, i32 2
  %13496 = load i8, ptr %13495, align 8, !tbaa !27
  %13497 = zext i8 %13496 to i32
  %13498 = icmp eq i32 %13497, 2
  br i1 %13498, label %13552, label %13499

13499:                                            ; preds = %13492
  br label %13500

13500:                                            ; preds = %13499
  br label %13501

13501:                                            ; preds = %13500
  call void @llvm.lifetime.start.p0(i64 4, ptr %398) #10
  %13502 = call ptr @__errno_location() #11
  %13503 = load i32, ptr %13502, align 4, !tbaa !5
  store i32 %13503, ptr %398, align 4, !tbaa !5
  %13504 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13505 = call i32 @s2n_print_stacktrace(ptr noundef %13504)
  %13506 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13507 = trunc i8 %13506 to i1
  br i1 %13507, label %13508, label %13530

13508:                                            ; preds = %13501
  %13509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13510 = call i32 @fileno(ptr noundef %13509) #10
  %13511 = call i32 @isatty(i32 noundef %13510) #10
  %13512 = icmp ne i32 %13511, 0
  br i1 %13512, label %13513, label %13530

13513:                                            ; preds = %13508
  %13514 = load i32, ptr %398, align 4, !tbaa !5
  %13515 = call ptr @__errno_location() #11
  store i32 %13514, ptr %13515, align 4, !tbaa !5
  %13516 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13517 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %13519, ptr noundef @.str.4)
  %13521 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13522 = load i32, ptr %13521, align 4, !tbaa !5
  %13523 = call ptr @s2n_strerror_debug(i32 noundef %13522, ptr noundef @.str.4)
  %13524 = call ptr @__errno_location() #11
  %13525 = load i32, ptr %13524, align 4, !tbaa !5
  %13526 = call ptr @strerror(i32 noundef %13525) #10
  %13527 = call ptr @__errno_location() #11
  %13528 = load i32, ptr %13527, align 4, !tbaa !5
  %13529 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13516, ptr noundef @.str.2, i32 noundef %13517, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 658, ptr noundef %13520, ptr noundef %13523, ptr noundef %13526, i32 noundef %13528) #10
  br label %13547

13530:                                            ; preds = %13508, %13501
  %13531 = load i32, ptr %398, align 4, !tbaa !5
  %13532 = call ptr @__errno_location() #11
  store i32 %13531, ptr %13532, align 4, !tbaa !5
  %13533 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13534 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %13536, ptr noundef @.str.4)
  %13538 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13539 = load i32, ptr %13538, align 4, !tbaa !5
  %13540 = call ptr @s2n_strerror_debug(i32 noundef %13539, ptr noundef @.str.4)
  %13541 = call ptr @__errno_location() #11
  %13542 = load i32, ptr %13541, align 4, !tbaa !5
  %13543 = call ptr @strerror(i32 noundef %13542) #10
  %13544 = call ptr @__errno_location() #11
  %13545 = load i32, ptr %13544, align 4, !tbaa !5
  %13546 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13533, ptr noundef @.str.5, i32 noundef %13534, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 658, ptr noundef %13537, ptr noundef %13540, ptr noundef %13543, i32 noundef %13545) #10
  br label %13547

13547:                                            ; preds = %13530, %13513
  call void @llvm.lifetime.end.p0(i64 4, ptr %398) #10
  br label %13548

13548:                                            ; preds = %13547
  br label %13549

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

13550:                                            ; No predecessors!
  br label %13551

13551:                                            ; preds = %13550
  br label %13552

13552:                                            ; preds = %13551, %13492
  br label %13553

13553:                                            ; preds = %13552
  br label %13554

13554:                                            ; preds = %13553
  call void @llvm.lifetime.end.p0(i64 4, ptr %393) #10
  %13555 = call i32 @s2n_pkey_free(ptr noundef %391)
  call void @llvm.lifetime.end.p0(i64 48, ptr %391) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %389) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %388) #10
  %13556 = call i32 @s2n_stuffer_free(ptr noundef %385)
  call void @llvm.lifetime.end.p0(i64 40, ptr %385) #10
  %13557 = call i32 @s2n_connection_ptr_free(ptr noundef %381)
  %13558 = getelementptr inbounds %struct.s2n_result, ptr %399, i32 0, i32 0
  store i32 %13557, ptr %13558, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %381) #10
  %13559 = call i32 @s2n_config_ptr_free(ptr noundef %378)
  %13560 = getelementptr inbounds %struct.s2n_result, ptr %400, i32 0, i32 0
  store i32 %13559, ptr %13560, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %378) #10
  call void @llvm.lifetime.end.p0(i64 88, ptr %377) #10
  %13561 = call i32 @s2n_x509_validator_wipe(ptr noundef %375)
  call void @llvm.lifetime.end.p0(i64 56, ptr %375) #10
  call void @llvm.lifetime.end.p0(i64 12000, ptr %372) #10
  call void @s2n_x509_trust_store_wipe(ptr noundef %371)
  call void @llvm.lifetime.end.p0(i64 16, ptr %371) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %401) #10
  store ptr null, ptr %401, align 8, !tbaa !9
  br label %13562

13562:                                            ; preds = %13554
  %13563 = load i32, ptr @test_count, align 4, !tbaa !5
  %13564 = add nsw i32 %13563, 1
  store i32 %13564, ptr @test_count, align 4, !tbaa !5
  %13565 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef %401, ptr noundef @.str.41, ptr noundef @.str.76)
  %13566 = icmp eq i32 %13565, -1
  br i1 %13566, label %13567, label %13620

13567:                                            ; preds = %13562
  br label %13568

13568:                                            ; preds = %13567
  br label %13569

13569:                                            ; preds = %13568
  call void @llvm.lifetime.start.p0(i64 4, ptr %402) #10
  %13570 = call ptr @__errno_location() #11
  %13571 = load i32, ptr %13570, align 4, !tbaa !5
  store i32 %13571, ptr %402, align 4, !tbaa !5
  %13572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13573 = call i32 @s2n_print_stacktrace(ptr noundef %13572)
  %13574 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13575 = trunc i8 %13574 to i1
  br i1 %13575, label %13576, label %13598

13576:                                            ; preds = %13569
  %13577 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13578 = call i32 @fileno(ptr noundef %13577) #10
  %13579 = call i32 @isatty(i32 noundef %13578) #10
  %13580 = icmp ne i32 %13579, 0
  br i1 %13580, label %13581, label %13598

13581:                                            ; preds = %13576
  %13582 = load i32, ptr %402, align 4, !tbaa !5
  %13583 = call ptr @__errno_location() #11
  store i32 %13582, ptr %13583, align 4, !tbaa !5
  %13584 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13585 = load i32, ptr @test_count, align 4, !tbaa !5
  %13586 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13587 = load i32, ptr %13586, align 4, !tbaa !5
  %13588 = call ptr @s2n_strerror(i32 noundef %13587, ptr noundef @.str.4)
  %13589 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13590 = load i32, ptr %13589, align 4, !tbaa !5
  %13591 = call ptr @s2n_strerror_debug(i32 noundef %13590, ptr noundef @.str.4)
  %13592 = call ptr @__errno_location() #11
  %13593 = load i32, ptr %13592, align 4, !tbaa !5
  %13594 = call ptr @strerror(i32 noundef %13593) #10
  %13595 = call ptr @__errno_location() #11
  %13596 = load i32, ptr %13595, align 4, !tbaa !5
  %13597 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13584, ptr noundef @.str.2, i32 noundef %13585, ptr noundef @.str.77, ptr noundef @.str.1, i32 noundef 665, ptr noundef %13588, ptr noundef %13591, ptr noundef %13594, i32 noundef %13596) #10
  br label %13615

13598:                                            ; preds = %13576, %13569
  %13599 = load i32, ptr %402, align 4, !tbaa !5
  %13600 = call ptr @__errno_location() #11
  store i32 %13599, ptr %13600, align 4, !tbaa !5
  %13601 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13602 = load i32, ptr @test_count, align 4, !tbaa !5
  %13603 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13604 = load i32, ptr %13603, align 4, !tbaa !5
  %13605 = call ptr @s2n_strerror(i32 noundef %13604, ptr noundef @.str.4)
  %13606 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13607 = load i32, ptr %13606, align 4, !tbaa !5
  %13608 = call ptr @s2n_strerror_debug(i32 noundef %13607, ptr noundef @.str.4)
  %13609 = call ptr @__errno_location() #11
  %13610 = load i32, ptr %13609, align 4, !tbaa !5
  %13611 = call ptr @strerror(i32 noundef %13610) #10
  %13612 = call ptr @__errno_location() #11
  %13613 = load i32, ptr %13612, align 4, !tbaa !5
  %13614 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13601, ptr noundef @.str.5, i32 noundef %13602, ptr noundef @.str.77, ptr noundef @.str.1, i32 noundef 665, ptr noundef %13605, ptr noundef %13608, ptr noundef %13611, i32 noundef %13613) #10
  br label %13615

13615:                                            ; preds = %13598, %13581
  call void @llvm.lifetime.end.p0(i64 4, ptr %402) #10
  br label %13616

13616:                                            ; preds = %13615
  br label %13617

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

13618:                                            ; No predecessors!
  br label %13619

13619:                                            ; preds = %13618
  br label %13620

13620:                                            ; preds = %13619, %13562
  br label %13621

13621:                                            ; preds = %13620
  br label %13622

13622:                                            ; preds = %13621
  call void @llvm.lifetime.start.p0(i64 8, ptr %403) #10
  %13623 = call ptr @s2n_config_new()
  store ptr %13623, ptr %403, align 8, !tbaa !9
  br label %13624

13624:                                            ; preds = %13622
  %13625 = load i32, ptr @test_count, align 4, !tbaa !5
  %13626 = add nsw i32 %13625, 1
  store i32 %13626, ptr @test_count, align 4, !tbaa !5
  %13627 = load ptr, ptr %403, align 8, !tbaa !9
  %13628 = icmp eq ptr %13627, null
  br i1 %13628, label %13629, label %13682

13629:                                            ; preds = %13624
  br label %13630

13630:                                            ; preds = %13629
  br label %13631

13631:                                            ; preds = %13630
  call void @llvm.lifetime.start.p0(i64 4, ptr %404) #10
  %13632 = call ptr @__errno_location() #11
  %13633 = load i32, ptr %13632, align 4, !tbaa !5
  store i32 %13633, ptr %404, align 4, !tbaa !5
  %13634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13635 = call i32 @s2n_print_stacktrace(ptr noundef %13634)
  %13636 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13637 = trunc i8 %13636 to i1
  br i1 %13637, label %13638, label %13660

13638:                                            ; preds = %13631
  %13639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13640 = call i32 @fileno(ptr noundef %13639) #10
  %13641 = call i32 @isatty(i32 noundef %13640) #10
  %13642 = icmp ne i32 %13641, 0
  br i1 %13642, label %13643, label %13660

13643:                                            ; preds = %13638
  %13644 = load i32, ptr %404, align 4, !tbaa !5
  %13645 = call ptr @__errno_location() #11
  store i32 %13644, ptr %13645, align 4, !tbaa !5
  %13646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13647 = load i32, ptr @test_count, align 4, !tbaa !5
  %13648 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13649 = load i32, ptr %13648, align 4, !tbaa !5
  %13650 = call ptr @s2n_strerror(i32 noundef %13649, ptr noundef @.str.4)
  %13651 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13652 = load i32, ptr %13651, align 4, !tbaa !5
  %13653 = call ptr @s2n_strerror_debug(i32 noundef %13652, ptr noundef @.str.4)
  %13654 = call ptr @__errno_location() #11
  %13655 = load i32, ptr %13654, align 4, !tbaa !5
  %13656 = call ptr @strerror(i32 noundef %13655) #10
  %13657 = call ptr @__errno_location() #11
  %13658 = load i32, ptr %13657, align 4, !tbaa !5
  %13659 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13646, ptr noundef @.str.2, i32 noundef %13647, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 668, ptr noundef %13650, ptr noundef %13653, ptr noundef %13656, i32 noundef %13658) #10
  br label %13677

13660:                                            ; preds = %13638, %13631
  %13661 = load i32, ptr %404, align 4, !tbaa !5
  %13662 = call ptr @__errno_location() #11
  store i32 %13661, ptr %13662, align 4, !tbaa !5
  %13663 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13664 = load i32, ptr @test_count, align 4, !tbaa !5
  %13665 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13666 = load i32, ptr %13665, align 4, !tbaa !5
  %13667 = call ptr @s2n_strerror(i32 noundef %13666, ptr noundef @.str.4)
  %13668 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13669 = load i32, ptr %13668, align 4, !tbaa !5
  %13670 = call ptr @s2n_strerror_debug(i32 noundef %13669, ptr noundef @.str.4)
  %13671 = call ptr @__errno_location() #11
  %13672 = load i32, ptr %13671, align 4, !tbaa !5
  %13673 = call ptr @strerror(i32 noundef %13672) #10
  %13674 = call ptr @__errno_location() #11
  %13675 = load i32, ptr %13674, align 4, !tbaa !5
  %13676 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13663, ptr noundef @.str.5, i32 noundef %13664, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 668, ptr noundef %13667, ptr noundef %13670, ptr noundef %13673, i32 noundef %13675) #10
  br label %13677

13677:                                            ; preds = %13660, %13643
  call void @llvm.lifetime.end.p0(i64 4, ptr %404) #10
  br label %13678

13678:                                            ; preds = %13677
  br label %13679

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

13680:                                            ; No predecessors!
  br label %13681

13681:                                            ; preds = %13680
  br label %13682

13682:                                            ; preds = %13681, %13624
  br label %13683

13683:                                            ; preds = %13682
  br label %13684

13684:                                            ; preds = %13683
  br label %13685

13685:                                            ; preds = %13684
  %13686 = load i32, ptr @test_count, align 4, !tbaa !5
  %13687 = add nsw i32 %13686, 1
  store i32 %13687, ptr @test_count, align 4, !tbaa !5
  %13688 = load ptr, ptr %403, align 8, !tbaa !9
  %13689 = load ptr, ptr %401, align 8, !tbaa !9
  %13690 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %13688, ptr noundef %13689)
  %13691 = icmp eq i32 %13690, -1
  br i1 %13691, label %13692, label %13745

13692:                                            ; preds = %13685
  br label %13693

13693:                                            ; preds = %13692
  br label %13694

13694:                                            ; preds = %13693
  call void @llvm.lifetime.start.p0(i64 4, ptr %405) #10
  %13695 = call ptr @__errno_location() #11
  %13696 = load i32, ptr %13695, align 4, !tbaa !5
  store i32 %13696, ptr %405, align 4, !tbaa !5
  %13697 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13698 = call i32 @s2n_print_stacktrace(ptr noundef %13697)
  %13699 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13700 = trunc i8 %13699 to i1
  br i1 %13700, label %13701, label %13723

13701:                                            ; preds = %13694
  %13702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13703 = call i32 @fileno(ptr noundef %13702) #10
  %13704 = call i32 @isatty(i32 noundef %13703) #10
  %13705 = icmp ne i32 %13704, 0
  br i1 %13705, label %13706, label %13723

13706:                                            ; preds = %13701
  %13707 = load i32, ptr %405, align 4, !tbaa !5
  %13708 = call ptr @__errno_location() #11
  store i32 %13707, ptr %13708, align 4, !tbaa !5
  %13709 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13710 = load i32, ptr @test_count, align 4, !tbaa !5
  %13711 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13712 = load i32, ptr %13711, align 4, !tbaa !5
  %13713 = call ptr @s2n_strerror(i32 noundef %13712, ptr noundef @.str.4)
  %13714 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13715 = load i32, ptr %13714, align 4, !tbaa !5
  %13716 = call ptr @s2n_strerror_debug(i32 noundef %13715, ptr noundef @.str.4)
  %13717 = call ptr @__errno_location() #11
  %13718 = load i32, ptr %13717, align 4, !tbaa !5
  %13719 = call ptr @strerror(i32 noundef %13718) #10
  %13720 = call ptr @__errno_location() #11
  %13721 = load i32, ptr %13720, align 4, !tbaa !5
  %13722 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13709, ptr noundef @.str.2, i32 noundef %13710, ptr noundef @.str.78, ptr noundef @.str.1, i32 noundef 669, ptr noundef %13713, ptr noundef %13716, ptr noundef %13719, i32 noundef %13721) #10
  br label %13740

13723:                                            ; preds = %13701, %13694
  %13724 = load i32, ptr %405, align 4, !tbaa !5
  %13725 = call ptr @__errno_location() #11
  store i32 %13724, ptr %13725, align 4, !tbaa !5
  %13726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13727 = load i32, ptr @test_count, align 4, !tbaa !5
  %13728 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13729 = load i32, ptr %13728, align 4, !tbaa !5
  %13730 = call ptr @s2n_strerror(i32 noundef %13729, ptr noundef @.str.4)
  %13731 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13732 = load i32, ptr %13731, align 4, !tbaa !5
  %13733 = call ptr @s2n_strerror_debug(i32 noundef %13732, ptr noundef @.str.4)
  %13734 = call ptr @__errno_location() #11
  %13735 = load i32, ptr %13734, align 4, !tbaa !5
  %13736 = call ptr @strerror(i32 noundef %13735) #10
  %13737 = call ptr @__errno_location() #11
  %13738 = load i32, ptr %13737, align 4, !tbaa !5
  %13739 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13726, ptr noundef @.str.5, i32 noundef %13727, ptr noundef @.str.78, ptr noundef @.str.1, i32 noundef 669, ptr noundef %13730, ptr noundef %13733, ptr noundef %13736, i32 noundef %13738) #10
  br label %13740

13740:                                            ; preds = %13723, %13706
  call void @llvm.lifetime.end.p0(i64 4, ptr %405) #10
  br label %13741

13741:                                            ; preds = %13740
  br label %13742

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

13743:                                            ; No predecessors!
  br label %13744

13744:                                            ; preds = %13743
  br label %13745

13745:                                            ; preds = %13744, %13685
  br label %13746

13746:                                            ; preds = %13745
  br label %13747

13747:                                            ; preds = %13746
  br label %13748

13748:                                            ; preds = %13747
  %13749 = load i32, ptr @test_count, align 4, !tbaa !5
  %13750 = add nsw i32 %13749, 1
  store i32 %13750, ptr @test_count, align 4, !tbaa !5
  %13751 = load ptr, ptr %403, align 8, !tbaa !9
  %13752 = call i32 @s2n_config_set_verification_ca_location(ptr noundef %13751, ptr noundef @.str.31, ptr noundef null)
  %13753 = icmp eq i32 %13752, -1
  br i1 %13753, label %13754, label %13807

13754:                                            ; preds = %13748
  br label %13755

13755:                                            ; preds = %13754
  br label %13756

13756:                                            ; preds = %13755
  call void @llvm.lifetime.start.p0(i64 4, ptr %406) #10
  %13757 = call ptr @__errno_location() #11
  %13758 = load i32, ptr %13757, align 4, !tbaa !5
  store i32 %13758, ptr %406, align 4, !tbaa !5
  %13759 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13760 = call i32 @s2n_print_stacktrace(ptr noundef %13759)
  %13761 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13762 = trunc i8 %13761 to i1
  br i1 %13762, label %13763, label %13785

13763:                                            ; preds = %13756
  %13764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13765 = call i32 @fileno(ptr noundef %13764) #10
  %13766 = call i32 @isatty(i32 noundef %13765) #10
  %13767 = icmp ne i32 %13766, 0
  br i1 %13767, label %13768, label %13785

13768:                                            ; preds = %13763
  %13769 = load i32, ptr %406, align 4, !tbaa !5
  %13770 = call ptr @__errno_location() #11
  store i32 %13769, ptr %13770, align 4, !tbaa !5
  %13771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13772 = load i32, ptr @test_count, align 4, !tbaa !5
  %13773 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13774 = load i32, ptr %13773, align 4, !tbaa !5
  %13775 = call ptr @s2n_strerror(i32 noundef %13774, ptr noundef @.str.4)
  %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_debug(i32 noundef %13777, ptr noundef @.str.4)
  %13779 = call ptr @__errno_location() #11
  %13780 = load i32, ptr %13779, align 4, !tbaa !5
  %13781 = call ptr @strerror(i32 noundef %13780) #10
  %13782 = call ptr @__errno_location() #11
  %13783 = load i32, ptr %13782, align 4, !tbaa !5
  %13784 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13771, ptr noundef @.str.2, i32 noundef %13772, ptr noundef @.str.79, ptr noundef @.str.1, i32 noundef 670, ptr noundef %13775, ptr noundef %13778, ptr noundef %13781, i32 noundef %13783) #10
  br label %13802

13785:                                            ; preds = %13763, %13756
  %13786 = load i32, ptr %406, align 4, !tbaa !5
  %13787 = call ptr @__errno_location() #11
  store i32 %13786, ptr %13787, align 4, !tbaa !5
  %13788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13789 = load i32, ptr @test_count, align 4, !tbaa !5
  %13790 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13791 = load i32, ptr %13790, align 4, !tbaa !5
  %13792 = call ptr @s2n_strerror(i32 noundef %13791, ptr noundef @.str.4)
  %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_debug(i32 noundef %13794, ptr noundef @.str.4)
  %13796 = call ptr @__errno_location() #11
  %13797 = load i32, ptr %13796, align 4, !tbaa !5
  %13798 = call ptr @strerror(i32 noundef %13797) #10
  %13799 = call ptr @__errno_location() #11
  %13800 = load i32, ptr %13799, align 4, !tbaa !5
  %13801 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13788, ptr noundef @.str.5, i32 noundef %13789, ptr noundef @.str.79, ptr noundef @.str.1, i32 noundef 670, ptr noundef %13792, ptr noundef %13795, ptr noundef %13798, i32 noundef %13800) #10
  br label %13802

13802:                                            ; preds = %13785, %13768
  call void @llvm.lifetime.end.p0(i64 4, ptr %406) #10
  br label %13803

13803:                                            ; preds = %13802
  br label %13804

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

13805:                                            ; No predecessors!
  br label %13806

13806:                                            ; preds = %13805
  br label %13807

13807:                                            ; preds = %13806, %13748
  br label %13808

13808:                                            ; preds = %13807
  br label %13809

13809:                                            ; preds = %13808
  br label %13810

13810:                                            ; preds = %13809
  %13811 = load i32, ptr @test_count, align 4, !tbaa !5
  %13812 = add nsw i32 %13811, 1
  store i32 %13812, ptr @test_count, align 4, !tbaa !5
  %13813 = load ptr, ptr %403, align 8, !tbaa !9
  %13814 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %13813, ptr noundef @.str.80)
  %13815 = icmp eq i32 %13814, -1
  br i1 %13815, label %13816, label %13869

13816:                                            ; preds = %13810
  br label %13817

13817:                                            ; preds = %13816
  br label %13818

13818:                                            ; preds = %13817
  call void @llvm.lifetime.start.p0(i64 4, ptr %407) #10
  %13819 = call ptr @__errno_location() #11
  %13820 = load i32, ptr %13819, align 4, !tbaa !5
  store i32 %13820, ptr %407, align 4, !tbaa !5
  %13821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13822 = call i32 @s2n_print_stacktrace(ptr noundef %13821)
  %13823 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13824 = trunc i8 %13823 to i1
  br i1 %13824, label %13825, label %13847

13825:                                            ; preds = %13818
  %13826 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13827 = call i32 @fileno(ptr noundef %13826) #10
  %13828 = call i32 @isatty(i32 noundef %13827) #10
  %13829 = icmp ne i32 %13828, 0
  br i1 %13829, label %13830, label %13847

13830:                                            ; preds = %13825
  %13831 = load i32, ptr %407, align 4, !tbaa !5
  %13832 = call ptr @__errno_location() #11
  store i32 %13831, ptr %13832, align 4, !tbaa !5
  %13833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13834 = load i32, ptr @test_count, align 4, !tbaa !5
  %13835 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13836 = load i32, ptr %13835, align 4, !tbaa !5
  %13837 = call ptr @s2n_strerror(i32 noundef %13836, ptr noundef @.str.4)
  %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_debug(i32 noundef %13839, ptr noundef @.str.4)
  %13841 = call ptr @__errno_location() #11
  %13842 = load i32, ptr %13841, align 4, !tbaa !5
  %13843 = call ptr @strerror(i32 noundef %13842) #10
  %13844 = call ptr @__errno_location() #11
  %13845 = load i32, ptr %13844, align 4, !tbaa !5
  %13846 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13833, ptr noundef @.str.2, i32 noundef %13834, ptr noundef @.str.81, ptr noundef @.str.1, i32 noundef 671, ptr noundef %13837, ptr noundef %13840, ptr noundef %13843, i32 noundef %13845) #10
  br label %13864

13847:                                            ; preds = %13825, %13818
  %13848 = load i32, ptr %407, align 4, !tbaa !5
  %13849 = call ptr @__errno_location() #11
  store i32 %13848, ptr %13849, align 4, !tbaa !5
  %13850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13851 = load i32, ptr @test_count, align 4, !tbaa !5
  %13852 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13853 = load i32, ptr %13852, align 4, !tbaa !5
  %13854 = call ptr @s2n_strerror(i32 noundef %13853, ptr noundef @.str.4)
  %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_debug(i32 noundef %13856, ptr noundef @.str.4)
  %13858 = call ptr @__errno_location() #11
  %13859 = load i32, ptr %13858, align 4, !tbaa !5
  %13860 = call ptr @strerror(i32 noundef %13859) #10
  %13861 = call ptr @__errno_location() #11
  %13862 = load i32, ptr %13861, align 4, !tbaa !5
  %13863 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13850, ptr noundef @.str.5, i32 noundef %13851, ptr noundef @.str.81, ptr noundef @.str.1, i32 noundef 671, ptr noundef %13854, ptr noundef %13857, ptr noundef %13860, i32 noundef %13862) #10
  br label %13864

13864:                                            ; preds = %13847, %13830
  call void @llvm.lifetime.end.p0(i64 4, ptr %407) #10
  br label %13865

13865:                                            ; preds = %13864
  br label %13866

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

13867:                                            ; No predecessors!
  br label %13868

13868:                                            ; preds = %13867
  br label %13869

13869:                                            ; preds = %13868, %13810
  br label %13870

13870:                                            ; preds = %13869
  br label %13871

13871:                                            ; preds = %13870
  call void @llvm.lifetime.start.p0(i64 88, ptr %408) #10
  call void @llvm.memset.p0.i64(ptr align 8 %408, i8 0, i64 88, i1 false)
  %13872 = load ptr, ptr %45, align 8, !tbaa !9
  %13873 = getelementptr inbounds %struct.crl_lookup_data, ptr %408, i32 0, i32 0
  %13874 = getelementptr inbounds [5 x ptr], ptr %13873, i64 0, i64 0
  store ptr %13872, ptr %13874, align 8, !tbaa !9
  %13875 = load ptr, ptr %43, align 8, !tbaa !9
  %13876 = getelementptr inbounds %struct.crl_lookup_data, ptr %408, i32 0, i32 0
  %13877 = getelementptr inbounds [5 x ptr], ptr %13876, i64 0, i64 1
  store ptr %13875, ptr %13877, align 8, !tbaa !9
  br label %13878

13878:                                            ; preds = %13871
  %13879 = load i32, ptr @test_count, align 4, !tbaa !5
  %13880 = add nsw i32 %13879, 1
  store i32 %13880, ptr @test_count, align 4, !tbaa !5
  %13881 = load ptr, ptr %403, align 8, !tbaa !9
  %13882 = call i32 @s2n_config_set_crl_lookup_cb(ptr noundef %13881, ptr noundef @crl_lookup_test_callback, ptr noundef %408)
  %13883 = icmp eq i32 %13882, -1
  br i1 %13883, label %13884, label %13937

13884:                                            ; preds = %13878
  br label %13885

13885:                                            ; preds = %13884
  br label %13886

13886:                                            ; preds = %13885
  call void @llvm.lifetime.start.p0(i64 4, ptr %409) #10
  %13887 = call ptr @__errno_location() #11
  %13888 = load i32, ptr %13887, align 4, !tbaa !5
  store i32 %13888, ptr %409, align 4, !tbaa !5
  %13889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13890 = call i32 @s2n_print_stacktrace(ptr noundef %13889)
  %13891 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13892 = trunc i8 %13891 to i1
  br i1 %13892, label %13893, label %13915

13893:                                            ; preds = %13886
  %13894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13895 = call i32 @fileno(ptr noundef %13894) #10
  %13896 = call i32 @isatty(i32 noundef %13895) #10
  %13897 = icmp ne i32 %13896, 0
  br i1 %13897, label %13898, label %13915

13898:                                            ; preds = %13893
  %13899 = load i32, ptr %409, align 4, !tbaa !5
  %13900 = call ptr @__errno_location() #11
  store i32 %13899, ptr %13900, align 4, !tbaa !5
  %13901 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13902 = load i32, ptr @test_count, align 4, !tbaa !5
  %13903 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13904 = load i32, ptr %13903, align 4, !tbaa !5
  %13905 = call ptr @s2n_strerror(i32 noundef %13904, ptr noundef @.str.4)
  %13906 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13907 = load i32, ptr %13906, align 4, !tbaa !5
  %13908 = call ptr @s2n_strerror_debug(i32 noundef %13907, ptr noundef @.str.4)
  %13909 = call ptr @__errno_location() #11
  %13910 = load i32, ptr %13909, align 4, !tbaa !5
  %13911 = call ptr @strerror(i32 noundef %13910) #10
  %13912 = call ptr @__errno_location() #11
  %13913 = load i32, ptr %13912, align 4, !tbaa !5
  %13914 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13901, ptr noundef @.str.2, i32 noundef %13902, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 676, ptr noundef %13905, ptr noundef %13908, ptr noundef %13911, i32 noundef %13913) #10
  br label %13932

13915:                                            ; preds = %13893, %13886
  %13916 = load i32, ptr %409, align 4, !tbaa !5
  %13917 = call ptr @__errno_location() #11
  store i32 %13916, ptr %13917, align 4, !tbaa !5
  %13918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13919 = load i32, ptr @test_count, align 4, !tbaa !5
  %13920 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13921 = load i32, ptr %13920, align 4, !tbaa !5
  %13922 = call ptr @s2n_strerror(i32 noundef %13921, ptr noundef @.str.4)
  %13923 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13924 = load i32, ptr %13923, align 4, !tbaa !5
  %13925 = call ptr @s2n_strerror_debug(i32 noundef %13924, ptr noundef @.str.4)
  %13926 = call ptr @__errno_location() #11
  %13927 = load i32, ptr %13926, align 4, !tbaa !5
  %13928 = call ptr @strerror(i32 noundef %13927) #10
  %13929 = call ptr @__errno_location() #11
  %13930 = load i32, ptr %13929, align 4, !tbaa !5
  %13931 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13918, ptr noundef @.str.5, i32 noundef %13919, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 676, ptr noundef %13922, ptr noundef %13925, ptr noundef %13928, i32 noundef %13930) #10
  br label %13932

13932:                                            ; preds = %13915, %13898
  call void @llvm.lifetime.end.p0(i64 4, ptr %409) #10
  br label %13933

13933:                                            ; preds = %13932
  br label %13934

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

13935:                                            ; No predecessors!
  br label %13936

13936:                                            ; preds = %13935
  br label %13937

13937:                                            ; preds = %13936, %13878
  br label %13938

13938:                                            ; preds = %13937
  br label %13939

13939:                                            ; preds = %13938
  call void @llvm.lifetime.start.p0(i64 8, ptr %410) #10
  %13940 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %13940, ptr %410, align 8, !tbaa !9
  br label %13941

13941:                                            ; preds = %13939
  %13942 = load i32, ptr @test_count, align 4, !tbaa !5
  %13943 = add nsw i32 %13942, 1
  store i32 %13943, ptr @test_count, align 4, !tbaa !5
  %13944 = load ptr, ptr %410, align 8, !tbaa !9
  %13945 = icmp eq ptr %13944, null
  br i1 %13945, label %13946, label %13999

13946:                                            ; preds = %13941
  br label %13947

13947:                                            ; preds = %13946
  br label %13948

13948:                                            ; preds = %13947
  call void @llvm.lifetime.start.p0(i64 4, ptr %411) #10
  %13949 = call ptr @__errno_location() #11
  %13950 = load i32, ptr %13949, align 4, !tbaa !5
  store i32 %13950, ptr %411, align 4, !tbaa !5
  %13951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13952 = call i32 @s2n_print_stacktrace(ptr noundef %13951)
  %13953 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13954 = trunc i8 %13953 to i1
  br i1 %13954, label %13955, label %13977

13955:                                            ; preds = %13948
  %13956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13957 = call i32 @fileno(ptr noundef %13956) #10
  %13958 = call i32 @isatty(i32 noundef %13957) #10
  %13959 = icmp ne i32 %13958, 0
  br i1 %13959, label %13960, label %13977

13960:                                            ; preds = %13955
  %13961 = load i32, ptr %411, align 4, !tbaa !5
  %13962 = call ptr @__errno_location() #11
  store i32 %13961, ptr %13962, align 4, !tbaa !5
  %13963 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13964 = load i32, ptr @test_count, align 4, !tbaa !5
  %13965 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13966 = load i32, ptr %13965, align 4, !tbaa !5
  %13967 = call ptr @s2n_strerror(i32 noundef %13966, ptr noundef @.str.4)
  %13968 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13969 = load i32, ptr %13968, align 4, !tbaa !5
  %13970 = call ptr @s2n_strerror_debug(i32 noundef %13969, ptr noundef @.str.4)
  %13971 = call ptr @__errno_location() #11
  %13972 = load i32, ptr %13971, align 4, !tbaa !5
  %13973 = call ptr @strerror(i32 noundef %13972) #10
  %13974 = call ptr @__errno_location() #11
  %13975 = load i32, ptr %13974, align 4, !tbaa !5
  %13976 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13963, ptr noundef @.str.2, i32 noundef %13964, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 679, ptr noundef %13967, ptr noundef %13970, ptr noundef %13973, i32 noundef %13975) #10
  br label %13994

13977:                                            ; preds = %13955, %13948
  %13978 = load i32, ptr %411, align 4, !tbaa !5
  %13979 = call ptr @__errno_location() #11
  store i32 %13978, ptr %13979, align 4, !tbaa !5
  %13980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13981 = load i32, ptr @test_count, align 4, !tbaa !5
  %13982 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13983 = load i32, ptr %13982, align 4, !tbaa !5
  %13984 = call ptr @s2n_strerror(i32 noundef %13983, ptr noundef @.str.4)
  %13985 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13986 = load i32, ptr %13985, align 4, !tbaa !5
  %13987 = call ptr @s2n_strerror_debug(i32 noundef %13986, ptr noundef @.str.4)
  %13988 = call ptr @__errno_location() #11
  %13989 = load i32, ptr %13988, align 4, !tbaa !5
  %13990 = call ptr @strerror(i32 noundef %13989) #10
  %13991 = call ptr @__errno_location() #11
  %13992 = load i32, ptr %13991, align 4, !tbaa !5
  %13993 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13980, ptr noundef @.str.5, i32 noundef %13981, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 679, ptr noundef %13984, ptr noundef %13987, ptr noundef %13990, i32 noundef %13992) #10
  br label %13994

13994:                                            ; preds = %13977, %13960
  call void @llvm.lifetime.end.p0(i64 4, ptr %411) #10
  br label %13995

13995:                                            ; preds = %13994
  br label %13996

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

13997:                                            ; No predecessors!
  br label %13998

13998:                                            ; preds = %13997
  br label %13999

13999:                                            ; preds = %13998, %13941
  br label %14000

14000:                                            ; preds = %13999
  br label %14001

14001:                                            ; preds = %14000
  br label %14002

14002:                                            ; preds = %14001
  %14003 = load i32, ptr @test_count, align 4, !tbaa !5
  %14004 = add nsw i32 %14003, 1
  store i32 %14004, ptr @test_count, align 4, !tbaa !5
  %14005 = load ptr, ptr %410, align 8, !tbaa !9
  %14006 = load ptr, ptr %403, align 8, !tbaa !9
  %14007 = call i32 @s2n_connection_set_config(ptr noundef %14005, ptr noundef %14006)
  %14008 = icmp eq i32 %14007, -1
  br i1 %14008, label %14009, label %14062

14009:                                            ; preds = %14002
  br label %14010

14010:                                            ; preds = %14009
  br label %14011

14011:                                            ; preds = %14010
  call void @llvm.lifetime.start.p0(i64 4, ptr %412) #10
  %14012 = call ptr @__errno_location() #11
  %14013 = load i32, ptr %14012, align 4, !tbaa !5
  store i32 %14013, ptr %412, align 4, !tbaa !5
  %14014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14015 = call i32 @s2n_print_stacktrace(ptr noundef %14014)
  %14016 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14017 = trunc i8 %14016 to i1
  br i1 %14017, label %14018, label %14040

14018:                                            ; preds = %14011
  %14019 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14020 = call i32 @fileno(ptr noundef %14019) #10
  %14021 = call i32 @isatty(i32 noundef %14020) #10
  %14022 = icmp ne i32 %14021, 0
  br i1 %14022, label %14023, label %14040

14023:                                            ; preds = %14018
  %14024 = load i32, ptr %412, align 4, !tbaa !5
  %14025 = call ptr @__errno_location() #11
  store i32 %14024, ptr %14025, align 4, !tbaa !5
  %14026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14027 = load i32, ptr @test_count, align 4, !tbaa !5
  %14028 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14029 = load i32, ptr %14028, align 4, !tbaa !5
  %14030 = call ptr @s2n_strerror(i32 noundef %14029, ptr noundef @.str.4)
  %14031 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14032 = load i32, ptr %14031, align 4, !tbaa !5
  %14033 = call ptr @s2n_strerror_debug(i32 noundef %14032, ptr noundef @.str.4)
  %14034 = call ptr @__errno_location() #11
  %14035 = load i32, ptr %14034, align 4, !tbaa !5
  %14036 = call ptr @strerror(i32 noundef %14035) #10
  %14037 = call ptr @__errno_location() #11
  %14038 = load i32, ptr %14037, align 4, !tbaa !5
  %14039 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14026, ptr noundef @.str.2, i32 noundef %14027, ptr noundef @.str.83, ptr noundef @.str.1, i32 noundef 680, ptr noundef %14030, ptr noundef %14033, ptr noundef %14036, i32 noundef %14038) #10
  br label %14057

14040:                                            ; preds = %14018, %14011
  %14041 = load i32, ptr %412, align 4, !tbaa !5
  %14042 = call ptr @__errno_location() #11
  store i32 %14041, ptr %14042, align 4, !tbaa !5
  %14043 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14044 = load i32, ptr @test_count, align 4, !tbaa !5
  %14045 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14046 = load i32, ptr %14045, align 4, !tbaa !5
  %14047 = call ptr @s2n_strerror(i32 noundef %14046, ptr noundef @.str.4)
  %14048 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14049 = load i32, ptr %14048, align 4, !tbaa !5
  %14050 = call ptr @s2n_strerror_debug(i32 noundef %14049, ptr noundef @.str.4)
  %14051 = call ptr @__errno_location() #11
  %14052 = load i32, ptr %14051, align 4, !tbaa !5
  %14053 = call ptr @strerror(i32 noundef %14052) #10
  %14054 = call ptr @__errno_location() #11
  %14055 = load i32, ptr %14054, align 4, !tbaa !5
  %14056 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14043, ptr noundef @.str.5, i32 noundef %14044, ptr noundef @.str.83, ptr noundef @.str.1, i32 noundef 680, ptr noundef %14047, ptr noundef %14050, ptr noundef %14053, i32 noundef %14055) #10
  br label %14057

14057:                                            ; preds = %14040, %14023
  call void @llvm.lifetime.end.p0(i64 4, ptr %412) #10
  br label %14058

14058:                                            ; preds = %14057
  br label %14059

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

14060:                                            ; No predecessors!
  br label %14061

14061:                                            ; preds = %14060
  br label %14062

14062:                                            ; preds = %14061, %14002
  br label %14063

14063:                                            ; preds = %14062
  br label %14064

14064:                                            ; preds = %14063
  call void @llvm.lifetime.start.p0(i64 8, ptr %413) #10
  %14065 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %14065, ptr %413, align 8, !tbaa !9
  br label %14066

14066:                                            ; preds = %14064
  %14067 = load i32, ptr @test_count, align 4, !tbaa !5
  %14068 = add nsw i32 %14067, 1
  store i32 %14068, ptr @test_count, align 4, !tbaa !5
  %14069 = load ptr, ptr %413, align 8, !tbaa !9
  %14070 = icmp eq ptr %14069, null
  br i1 %14070, label %14071, label %14124

14071:                                            ; preds = %14066
  br label %14072

14072:                                            ; preds = %14071
  br label %14073

14073:                                            ; preds = %14072
  call void @llvm.lifetime.start.p0(i64 4, ptr %414) #10
  %14074 = call ptr @__errno_location() #11
  %14075 = load i32, ptr %14074, align 4, !tbaa !5
  store i32 %14075, ptr %414, align 4, !tbaa !5
  %14076 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14077 = call i32 @s2n_print_stacktrace(ptr noundef %14076)
  %14078 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14079 = trunc i8 %14078 to i1
  br i1 %14079, label %14080, label %14102

14080:                                            ; preds = %14073
  %14081 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14082 = call i32 @fileno(ptr noundef %14081) #10
  %14083 = call i32 @isatty(i32 noundef %14082) #10
  %14084 = icmp ne i32 %14083, 0
  br i1 %14084, label %14085, label %14102

14085:                                            ; preds = %14080
  %14086 = load i32, ptr %414, align 4, !tbaa !5
  %14087 = call ptr @__errno_location() #11
  store i32 %14086, ptr %14087, align 4, !tbaa !5
  %14088 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14089 = load i32, ptr @test_count, align 4, !tbaa !5
  %14090 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14091 = load i32, ptr %14090, align 4, !tbaa !5
  %14092 = call ptr @s2n_strerror(i32 noundef %14091, ptr noundef @.str.4)
  %14093 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14094 = load i32, ptr %14093, align 4, !tbaa !5
  %14095 = call ptr @s2n_strerror_debug(i32 noundef %14094, ptr noundef @.str.4)
  %14096 = call ptr @__errno_location() #11
  %14097 = load i32, ptr %14096, align 4, !tbaa !5
  %14098 = call ptr @strerror(i32 noundef %14097) #10
  %14099 = call ptr @__errno_location() #11
  %14100 = load i32, ptr %14099, align 4, !tbaa !5
  %14101 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14088, ptr noundef @.str.2, i32 noundef %14089, ptr noundef @.str.84, ptr noundef @.str.1, i32 noundef 683, ptr noundef %14092, ptr noundef %14095, ptr noundef %14098, i32 noundef %14100) #10
  br label %14119

14102:                                            ; preds = %14080, %14073
  %14103 = load i32, ptr %414, align 4, !tbaa !5
  %14104 = call ptr @__errno_location() #11
  store i32 %14103, ptr %14104, align 4, !tbaa !5
  %14105 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14106 = load i32, ptr @test_count, align 4, !tbaa !5
  %14107 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14108 = load i32, ptr %14107, align 4, !tbaa !5
  %14109 = call ptr @s2n_strerror(i32 noundef %14108, ptr noundef @.str.4)
  %14110 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14111 = load i32, ptr %14110, align 4, !tbaa !5
  %14112 = call ptr @s2n_strerror_debug(i32 noundef %14111, ptr noundef @.str.4)
  %14113 = call ptr @__errno_location() #11
  %14114 = load i32, ptr %14113, align 4, !tbaa !5
  %14115 = call ptr @strerror(i32 noundef %14114) #10
  %14116 = call ptr @__errno_location() #11
  %14117 = load i32, ptr %14116, align 4, !tbaa !5
  %14118 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14105, ptr noundef @.str.5, i32 noundef %14106, ptr noundef @.str.84, ptr noundef @.str.1, i32 noundef 683, ptr noundef %14109, ptr noundef %14112, ptr noundef %14115, i32 noundef %14117) #10
  br label %14119

14119:                                            ; preds = %14102, %14085
  call void @llvm.lifetime.end.p0(i64 4, ptr %414) #10
  br label %14120

14120:                                            ; preds = %14119
  br label %14121

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

14122:                                            ; No predecessors!
  br label %14123

14123:                                            ; preds = %14122
  br label %14124

14124:                                            ; preds = %14123, %14066
  br label %14125

14125:                                            ; preds = %14124
  br label %14126

14126:                                            ; preds = %14125
  br label %14127

14127:                                            ; preds = %14126
  %14128 = load i32, ptr @test_count, align 4, !tbaa !5
  %14129 = add nsw i32 %14128, 1
  store i32 %14129, ptr @test_count, align 4, !tbaa !5
  %14130 = load ptr, ptr %413, align 8, !tbaa !9
  %14131 = load ptr, ptr %403, align 8, !tbaa !9
  %14132 = call i32 @s2n_connection_set_config(ptr noundef %14130, ptr noundef %14131)
  %14133 = icmp eq i32 %14132, -1
  br i1 %14133, label %14134, label %14187

14134:                                            ; preds = %14127
  br label %14135

14135:                                            ; preds = %14134
  br label %14136

14136:                                            ; preds = %14135
  call void @llvm.lifetime.start.p0(i64 4, ptr %415) #10
  %14137 = call ptr @__errno_location() #11
  %14138 = load i32, ptr %14137, align 4, !tbaa !5
  store i32 %14138, ptr %415, align 4, !tbaa !5
  %14139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14140 = call i32 @s2n_print_stacktrace(ptr noundef %14139)
  %14141 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14142 = trunc i8 %14141 to i1
  br i1 %14142, label %14143, label %14165

14143:                                            ; preds = %14136
  %14144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14145 = call i32 @fileno(ptr noundef %14144) #10
  %14146 = call i32 @isatty(i32 noundef %14145) #10
  %14147 = icmp ne i32 %14146, 0
  br i1 %14147, label %14148, label %14165

14148:                                            ; preds = %14143
  %14149 = load i32, ptr %415, align 4, !tbaa !5
  %14150 = call ptr @__errno_location() #11
  store i32 %14149, ptr %14150, align 4, !tbaa !5
  %14151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14152 = load i32, ptr @test_count, align 4, !tbaa !5
  %14153 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14154 = load i32, ptr %14153, align 4, !tbaa !5
  %14155 = call ptr @s2n_strerror(i32 noundef %14154, ptr noundef @.str.4)
  %14156 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14157 = load i32, ptr %14156, align 4, !tbaa !5
  %14158 = call ptr @s2n_strerror_debug(i32 noundef %14157, ptr noundef @.str.4)
  %14159 = call ptr @__errno_location() #11
  %14160 = load i32, ptr %14159, align 4, !tbaa !5
  %14161 = call ptr @strerror(i32 noundef %14160) #10
  %14162 = call ptr @__errno_location() #11
  %14163 = load i32, ptr %14162, align 4, !tbaa !5
  %14164 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14151, ptr noundef @.str.2, i32 noundef %14152, ptr noundef @.str.85, ptr noundef @.str.1, i32 noundef 684, ptr noundef %14155, ptr noundef %14158, ptr noundef %14161, i32 noundef %14163) #10
  br label %14182

14165:                                            ; preds = %14143, %14136
  %14166 = load i32, ptr %415, align 4, !tbaa !5
  %14167 = call ptr @__errno_location() #11
  store i32 %14166, ptr %14167, align 4, !tbaa !5
  %14168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14169 = load i32, ptr @test_count, align 4, !tbaa !5
  %14170 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14171 = load i32, ptr %14170, align 4, !tbaa !5
  %14172 = call ptr @s2n_strerror(i32 noundef %14171, ptr noundef @.str.4)
  %14173 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14174 = load i32, ptr %14173, align 4, !tbaa !5
  %14175 = call ptr @s2n_strerror_debug(i32 noundef %14174, ptr noundef @.str.4)
  %14176 = call ptr @__errno_location() #11
  %14177 = load i32, ptr %14176, align 4, !tbaa !5
  %14178 = call ptr @strerror(i32 noundef %14177) #10
  %14179 = call ptr @__errno_location() #11
  %14180 = load i32, ptr %14179, align 4, !tbaa !5
  %14181 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14168, ptr noundef @.str.5, i32 noundef %14169, ptr noundef @.str.85, ptr noundef @.str.1, i32 noundef 684, ptr noundef %14172, ptr noundef %14175, ptr noundef %14178, i32 noundef %14180) #10
  br label %14182

14182:                                            ; preds = %14165, %14148
  call void @llvm.lifetime.end.p0(i64 4, ptr %415) #10
  br label %14183

14183:                                            ; preds = %14182
  br label %14184

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

14185:                                            ; No predecessors!
  br label %14186

14186:                                            ; preds = %14185
  br label %14187

14187:                                            ; preds = %14186, %14127
  br label %14188

14188:                                            ; preds = %14187
  br label %14189

14189:                                            ; preds = %14188
  br label %14190

14190:                                            ; preds = %14189
  %14191 = load i32, ptr @test_count, align 4, !tbaa !5
  %14192 = add nsw i32 %14191, 1
  store i32 %14192, ptr @test_count, align 4, !tbaa !5
  %14193 = load ptr, ptr %413, align 8, !tbaa !9
  %14194 = call i32 @s2n_set_server_name(ptr noundef %14193, ptr noundef @.str.39)
  %14195 = icmp eq i32 %14194, -1
  br i1 %14195, label %14196, label %14249

14196:                                            ; preds = %14190
  br label %14197

14197:                                            ; preds = %14196
  br label %14198

14198:                                            ; preds = %14197
  call void @llvm.lifetime.start.p0(i64 4, ptr %416) #10
  %14199 = call ptr @__errno_location() #11
  %14200 = load i32, ptr %14199, align 4, !tbaa !5
  store i32 %14200, ptr %416, align 4, !tbaa !5
  %14201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14202 = call i32 @s2n_print_stacktrace(ptr noundef %14201)
  %14203 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14204 = trunc i8 %14203 to i1
  br i1 %14204, label %14205, label %14227

14205:                                            ; preds = %14198
  %14206 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14207 = call i32 @fileno(ptr noundef %14206) #10
  %14208 = call i32 @isatty(i32 noundef %14207) #10
  %14209 = icmp ne i32 %14208, 0
  br i1 %14209, label %14210, label %14227

14210:                                            ; preds = %14205
  %14211 = load i32, ptr %416, align 4, !tbaa !5
  %14212 = call ptr @__errno_location() #11
  store i32 %14211, ptr %14212, align 4, !tbaa !5
  %14213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14214 = load i32, ptr @test_count, align 4, !tbaa !5
  %14215 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14216 = load i32, ptr %14215, align 4, !tbaa !5
  %14217 = call ptr @s2n_strerror(i32 noundef %14216, ptr noundef @.str.4)
  %14218 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14219 = load i32, ptr %14218, align 4, !tbaa !5
  %14220 = call ptr @s2n_strerror_debug(i32 noundef %14219, ptr noundef @.str.4)
  %14221 = call ptr @__errno_location() #11
  %14222 = load i32, ptr %14221, align 4, !tbaa !5
  %14223 = call ptr @strerror(i32 noundef %14222) #10
  %14224 = call ptr @__errno_location() #11
  %14225 = load i32, ptr %14224, align 4, !tbaa !5
  %14226 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14213, ptr noundef @.str.2, i32 noundef %14214, ptr noundef @.str.86, ptr noundef @.str.1, i32 noundef 685, ptr noundef %14217, ptr noundef %14220, ptr noundef %14223, i32 noundef %14225) #10
  br label %14244

14227:                                            ; preds = %14205, %14198
  %14228 = load i32, ptr %416, align 4, !tbaa !5
  %14229 = call ptr @__errno_location() #11
  store i32 %14228, ptr %14229, align 4, !tbaa !5
  %14230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14231 = load i32, ptr @test_count, align 4, !tbaa !5
  %14232 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14233 = load i32, ptr %14232, align 4, !tbaa !5
  %14234 = call ptr @s2n_strerror(i32 noundef %14233, ptr noundef @.str.4)
  %14235 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14236 = load i32, ptr %14235, align 4, !tbaa !5
  %14237 = call ptr @s2n_strerror_debug(i32 noundef %14236, ptr noundef @.str.4)
  %14238 = call ptr @__errno_location() #11
  %14239 = load i32, ptr %14238, align 4, !tbaa !5
  %14240 = call ptr @strerror(i32 noundef %14239) #10
  %14241 = call ptr @__errno_location() #11
  %14242 = load i32, ptr %14241, align 4, !tbaa !5
  %14243 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14230, ptr noundef @.str.5, i32 noundef %14231, ptr noundef @.str.86, ptr noundef @.str.1, i32 noundef 685, ptr noundef %14234, ptr noundef %14237, ptr noundef %14240, i32 noundef %14242) #10
  br label %14244

14244:                                            ; preds = %14227, %14210
  call void @llvm.lifetime.end.p0(i64 4, ptr %416) #10
  br label %14245

14245:                                            ; preds = %14244
  br label %14246

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

14247:                                            ; No predecessors!
  br label %14248

14248:                                            ; preds = %14247
  br label %14249

14249:                                            ; preds = %14248, %14190
  br label %14250

14250:                                            ; preds = %14249
  br label %14251

14251:                                            ; preds = %14250
  call void @llvm.lifetime.start.p0(i64 8, ptr %417) #10
  call void @llvm.memset.p0.i64(ptr align 4 %417, i8 0, i64 8, i1 false)
  br label %14252

14252:                                            ; preds = %14251
  %14253 = load i32, ptr @test_count, align 4, !tbaa !5
  %14254 = add nsw i32 %14253, 1
  store i32 %14254, ptr @test_count, align 4, !tbaa !5
  %14255 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef %417)
  %14256 = icmp eq i32 %14255, -1
  br i1 %14256, label %14257, label %14310

14257:                                            ; preds = %14252
  br label %14258

14258:                                            ; preds = %14257
  br label %14259

14259:                                            ; preds = %14258
  call void @llvm.lifetime.start.p0(i64 4, ptr %418) #10
  %14260 = call ptr @__errno_location() #11
  %14261 = load i32, ptr %14260, align 4, !tbaa !5
  store i32 %14261, ptr %418, align 4, !tbaa !5
  %14262 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14263 = call i32 @s2n_print_stacktrace(ptr noundef %14262)
  %14264 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14265 = trunc i8 %14264 to i1
  br i1 %14265, label %14266, label %14288

14266:                                            ; preds = %14259
  %14267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14268 = call i32 @fileno(ptr noundef %14267) #10
  %14269 = call i32 @isatty(i32 noundef %14268) #10
  %14270 = icmp ne i32 %14269, 0
  br i1 %14270, label %14271, label %14288

14271:                                            ; preds = %14266
  %14272 = load i32, ptr %418, align 4, !tbaa !5
  %14273 = call ptr @__errno_location() #11
  store i32 %14272, ptr %14273, align 4, !tbaa !5
  %14274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14275 = load i32, ptr @test_count, align 4, !tbaa !5
  %14276 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14277 = load i32, ptr %14276, align 4, !tbaa !5
  %14278 = call ptr @s2n_strerror(i32 noundef %14277, ptr noundef @.str.4)
  %14279 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14280 = load i32, ptr %14279, align 4, !tbaa !5
  %14281 = call ptr @s2n_strerror_debug(i32 noundef %14280, ptr noundef @.str.4)
  %14282 = call ptr @__errno_location() #11
  %14283 = load i32, ptr %14282, align 4, !tbaa !5
  %14284 = call ptr @strerror(i32 noundef %14283) #10
  %14285 = call ptr @__errno_location() #11
  %14286 = load i32, ptr %14285, align 4, !tbaa !5
  %14287 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14274, ptr noundef @.str.2, i32 noundef %14275, ptr noundef @.str.87, ptr noundef @.str.1, i32 noundef 688, ptr noundef %14278, ptr noundef %14281, ptr noundef %14284, i32 noundef %14286) #10
  br label %14305

14288:                                            ; preds = %14266, %14259
  %14289 = load i32, ptr %418, align 4, !tbaa !5
  %14290 = call ptr @__errno_location() #11
  store i32 %14289, ptr %14290, align 4, !tbaa !5
  %14291 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14292 = load i32, ptr @test_count, align 4, !tbaa !5
  %14293 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14294 = load i32, ptr %14293, align 4, !tbaa !5
  %14295 = call ptr @s2n_strerror(i32 noundef %14294, ptr noundef @.str.4)
  %14296 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14297 = load i32, ptr %14296, align 4, !tbaa !5
  %14298 = call ptr @s2n_strerror_debug(i32 noundef %14297, ptr noundef @.str.4)
  %14299 = call ptr @__errno_location() #11
  %14300 = load i32, ptr %14299, align 4, !tbaa !5
  %14301 = call ptr @strerror(i32 noundef %14300) #10
  %14302 = call ptr @__errno_location() #11
  %14303 = load i32, ptr %14302, align 4, !tbaa !5
  %14304 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14291, ptr noundef @.str.5, i32 noundef %14292, ptr noundef @.str.87, ptr noundef @.str.1, i32 noundef 688, ptr noundef %14295, ptr noundef %14298, ptr noundef %14301, i32 noundef %14303) #10
  br label %14305

14305:                                            ; preds = %14288, %14271
  call void @llvm.lifetime.end.p0(i64 4, ptr %418) #10
  br label %14306

14306:                                            ; preds = %14305
  br label %14307

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

14308:                                            ; No predecessors!
  br label %14309

14309:                                            ; preds = %14308
  br label %14310

14310:                                            ; preds = %14309, %14252
  br label %14311

14311:                                            ; preds = %14310
  br label %14312

14312:                                            ; preds = %14311
  br label %14313

14313:                                            ; preds = %14312
  %14314 = load i32, ptr @test_count, align 4, !tbaa !5
  %14315 = add nsw i32 %14314, 1
  store i32 %14315, ptr @test_count, align 4, !tbaa !5
  %14316 = load ptr, ptr %413, align 8, !tbaa !9
  %14317 = call i32 @s2n_connection_set_io_pair(ptr noundef %14316, ptr noundef %417)
  %14318 = icmp eq i32 %14317, -1
  br i1 %14318, label %14319, label %14372

14319:                                            ; preds = %14313
  br label %14320

14320:                                            ; preds = %14319
  br label %14321

14321:                                            ; preds = %14320
  call void @llvm.lifetime.start.p0(i64 4, ptr %419) #10
  %14322 = call ptr @__errno_location() #11
  %14323 = load i32, ptr %14322, align 4, !tbaa !5
  store i32 %14323, ptr %419, align 4, !tbaa !5
  %14324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14325 = call i32 @s2n_print_stacktrace(ptr noundef %14324)
  %14326 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14327 = trunc i8 %14326 to i1
  br i1 %14327, label %14328, label %14350

14328:                                            ; preds = %14321
  %14329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14330 = call i32 @fileno(ptr noundef %14329) #10
  %14331 = call i32 @isatty(i32 noundef %14330) #10
  %14332 = icmp ne i32 %14331, 0
  br i1 %14332, label %14333, label %14350

14333:                                            ; preds = %14328
  %14334 = load i32, ptr %419, align 4, !tbaa !5
  %14335 = call ptr @__errno_location() #11
  store i32 %14334, ptr %14335, align 4, !tbaa !5
  %14336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14337 = load i32, ptr @test_count, align 4, !tbaa !5
  %14338 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14339 = load i32, ptr %14338, align 4, !tbaa !5
  %14340 = call ptr @s2n_strerror(i32 noundef %14339, ptr noundef @.str.4)
  %14341 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14342 = load i32, ptr %14341, align 4, !tbaa !5
  %14343 = call ptr @s2n_strerror_debug(i32 noundef %14342, ptr noundef @.str.4)
  %14344 = call ptr @__errno_location() #11
  %14345 = load i32, ptr %14344, align 4, !tbaa !5
  %14346 = call ptr @strerror(i32 noundef %14345) #10
  %14347 = call ptr @__errno_location() #11
  %14348 = load i32, ptr %14347, align 4, !tbaa !5
  %14349 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14336, ptr noundef @.str.2, i32 noundef %14337, ptr noundef @.str.88, ptr noundef @.str.1, i32 noundef 689, ptr noundef %14340, ptr noundef %14343, ptr noundef %14346, i32 noundef %14348) #10
  br label %14367

14350:                                            ; preds = %14328, %14321
  %14351 = load i32, ptr %419, align 4, !tbaa !5
  %14352 = call ptr @__errno_location() #11
  store i32 %14351, ptr %14352, align 4, !tbaa !5
  %14353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14354 = load i32, ptr @test_count, align 4, !tbaa !5
  %14355 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14356 = load i32, ptr %14355, align 4, !tbaa !5
  %14357 = call ptr @s2n_strerror(i32 noundef %14356, ptr noundef @.str.4)
  %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_debug(i32 noundef %14359, ptr noundef @.str.4)
  %14361 = call ptr @__errno_location() #11
  %14362 = load i32, ptr %14361, align 4, !tbaa !5
  %14363 = call ptr @strerror(i32 noundef %14362) #10
  %14364 = call ptr @__errno_location() #11
  %14365 = load i32, ptr %14364, align 4, !tbaa !5
  %14366 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14353, ptr noundef @.str.5, i32 noundef %14354, ptr noundef @.str.88, ptr noundef @.str.1, i32 noundef 689, ptr noundef %14357, ptr noundef %14360, ptr noundef %14363, i32 noundef %14365) #10
  br label %14367

14367:                                            ; preds = %14350, %14333
  call void @llvm.lifetime.end.p0(i64 4, ptr %419) #10
  br label %14368

14368:                                            ; preds = %14367
  br label %14369

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

14370:                                            ; No predecessors!
  br label %14371

14371:                                            ; preds = %14370
  br label %14372

14372:                                            ; preds = %14371, %14313
  br label %14373

14373:                                            ; preds = %14372
  br label %14374

14374:                                            ; preds = %14373
  br label %14375

14375:                                            ; preds = %14374
  %14376 = load i32, ptr @test_count, align 4, !tbaa !5
  %14377 = add nsw i32 %14376, 1
  store i32 %14377, ptr @test_count, align 4, !tbaa !5
  %14378 = load ptr, ptr %410, align 8, !tbaa !9
  %14379 = call i32 @s2n_connection_set_io_pair(ptr noundef %14378, ptr noundef %417)
  %14380 = icmp eq i32 %14379, -1
  br i1 %14380, label %14381, label %14434

14381:                                            ; preds = %14375
  br label %14382

14382:                                            ; preds = %14381
  br label %14383

14383:                                            ; preds = %14382
  call void @llvm.lifetime.start.p0(i64 4, ptr %420) #10
  %14384 = call ptr @__errno_location() #11
  %14385 = load i32, ptr %14384, align 4, !tbaa !5
  store i32 %14385, ptr %420, align 4, !tbaa !5
  %14386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14387 = call i32 @s2n_print_stacktrace(ptr noundef %14386)
  %14388 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14389 = trunc i8 %14388 to i1
  br i1 %14389, label %14390, label %14412

14390:                                            ; preds = %14383
  %14391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14392 = call i32 @fileno(ptr noundef %14391) #10
  %14393 = call i32 @isatty(i32 noundef %14392) #10
  %14394 = icmp ne i32 %14393, 0
  br i1 %14394, label %14395, label %14412

14395:                                            ; preds = %14390
  %14396 = load i32, ptr %420, align 4, !tbaa !5
  %14397 = call ptr @__errno_location() #11
  store i32 %14396, ptr %14397, align 4, !tbaa !5
  %14398 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14399 = load i32, ptr @test_count, align 4, !tbaa !5
  %14400 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14401 = load i32, ptr %14400, align 4, !tbaa !5
  %14402 = call ptr @s2n_strerror(i32 noundef %14401, ptr noundef @.str.4)
  %14403 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14404 = load i32, ptr %14403, align 4, !tbaa !5
  %14405 = call ptr @s2n_strerror_debug(i32 noundef %14404, ptr noundef @.str.4)
  %14406 = call ptr @__errno_location() #11
  %14407 = load i32, ptr %14406, align 4, !tbaa !5
  %14408 = call ptr @strerror(i32 noundef %14407) #10
  %14409 = call ptr @__errno_location() #11
  %14410 = load i32, ptr %14409, align 4, !tbaa !5
  %14411 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14398, ptr noundef @.str.2, i32 noundef %14399, ptr noundef @.str.89, ptr noundef @.str.1, i32 noundef 690, ptr noundef %14402, ptr noundef %14405, ptr noundef %14408, i32 noundef %14410) #10
  br label %14429

14412:                                            ; preds = %14390, %14383
  %14413 = load i32, ptr %420, align 4, !tbaa !5
  %14414 = call ptr @__errno_location() #11
  store i32 %14413, ptr %14414, align 4, !tbaa !5
  %14415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14416 = load i32, ptr @test_count, align 4, !tbaa !5
  %14417 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14418 = load i32, ptr %14417, align 4, !tbaa !5
  %14419 = call ptr @s2n_strerror(i32 noundef %14418, ptr noundef @.str.4)
  %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_debug(i32 noundef %14421, ptr noundef @.str.4)
  %14423 = call ptr @__errno_location() #11
  %14424 = load i32, ptr %14423, align 4, !tbaa !5
  %14425 = call ptr @strerror(i32 noundef %14424) #10
  %14426 = call ptr @__errno_location() #11
  %14427 = load i32, ptr %14426, align 4, !tbaa !5
  %14428 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14415, ptr noundef @.str.5, i32 noundef %14416, ptr noundef @.str.89, ptr noundef @.str.1, i32 noundef 690, ptr noundef %14419, ptr noundef %14422, ptr noundef %14425, i32 noundef %14427) #10
  br label %14429

14429:                                            ; preds = %14412, %14395
  call void @llvm.lifetime.end.p0(i64 4, ptr %420) #10
  br label %14430

14430:                                            ; preds = %14429
  br label %14431

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

14432:                                            ; No predecessors!
  br label %14433

14433:                                            ; preds = %14432
  br label %14434

14434:                                            ; preds = %14433, %14375
  br label %14435

14435:                                            ; preds = %14434
  br label %14436

14436:                                            ; preds = %14435
  br label %14437

14437:                                            ; preds = %14436
  %14438 = load i32, ptr @test_count, align 4, !tbaa !5
  %14439 = add nsw i32 %14438, 1
  store i32 %14439, ptr @test_count, align 4, !tbaa !5
  %14440 = load ptr, ptr %410, align 8, !tbaa !9
  %14441 = load ptr, ptr %413, align 8, !tbaa !9
  %14442 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %14440, ptr noundef %14441)
  %14443 = icmp eq i32 %14442, -1
  br i1 %14443, label %14444, label %14497

14444:                                            ; preds = %14437
  br label %14445

14445:                                            ; preds = %14444
  br label %14446

14446:                                            ; preds = %14445
  call void @llvm.lifetime.start.p0(i64 4, ptr %421) #10
  %14447 = call ptr @__errno_location() #11
  %14448 = load i32, ptr %14447, align 4, !tbaa !5
  store i32 %14448, ptr %421, align 4, !tbaa !5
  %14449 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14450 = call i32 @s2n_print_stacktrace(ptr noundef %14449)
  %14451 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14452 = trunc i8 %14451 to i1
  br i1 %14452, label %14453, label %14475

14453:                                            ; preds = %14446
  %14454 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14455 = call i32 @fileno(ptr noundef %14454) #10
  %14456 = call i32 @isatty(i32 noundef %14455) #10
  %14457 = icmp ne i32 %14456, 0
  br i1 %14457, label %14458, label %14475

14458:                                            ; preds = %14453
  %14459 = load i32, ptr %421, align 4, !tbaa !5
  %14460 = call ptr @__errno_location() #11
  store i32 %14459, ptr %14460, align 4, !tbaa !5
  %14461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14462 = load i32, ptr @test_count, align 4, !tbaa !5
  %14463 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14464 = load i32, ptr %14463, align 4, !tbaa !5
  %14465 = call ptr @s2n_strerror(i32 noundef %14464, ptr noundef @.str.4)
  %14466 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14467 = load i32, ptr %14466, align 4, !tbaa !5
  %14468 = call ptr @s2n_strerror_debug(i32 noundef %14467, ptr noundef @.str.4)
  %14469 = call ptr @__errno_location() #11
  %14470 = load i32, ptr %14469, align 4, !tbaa !5
  %14471 = call ptr @strerror(i32 noundef %14470) #10
  %14472 = call ptr @__errno_location() #11
  %14473 = load i32, ptr %14472, align 4, !tbaa !5
  %14474 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14461, ptr noundef @.str.2, i32 noundef %14462, ptr noundef @.str.90, ptr noundef @.str.1, i32 noundef 692, ptr noundef %14465, ptr noundef %14468, ptr noundef %14471, i32 noundef %14473) #10
  br label %14492

14475:                                            ; preds = %14453, %14446
  %14476 = load i32, ptr %421, align 4, !tbaa !5
  %14477 = call ptr @__errno_location() #11
  store i32 %14476, ptr %14477, align 4, !tbaa !5
  %14478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14479 = load i32, ptr @test_count, align 4, !tbaa !5
  %14480 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14481 = load i32, ptr %14480, align 4, !tbaa !5
  %14482 = call ptr @s2n_strerror(i32 noundef %14481, ptr noundef @.str.4)
  %14483 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14484 = load i32, ptr %14483, align 4, !tbaa !5
  %14485 = call ptr @s2n_strerror_debug(i32 noundef %14484, ptr noundef @.str.4)
  %14486 = call ptr @__errno_location() #11
  %14487 = load i32, ptr %14486, align 4, !tbaa !5
  %14488 = call ptr @strerror(i32 noundef %14487) #10
  %14489 = call ptr @__errno_location() #11
  %14490 = load i32, ptr %14489, align 4, !tbaa !5
  %14491 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14478, ptr noundef @.str.5, i32 noundef %14479, ptr noundef @.str.90, ptr noundef @.str.1, i32 noundef 692, ptr noundef %14482, ptr noundef %14485, ptr noundef %14488, i32 noundef %14490) #10
  br label %14492

14492:                                            ; preds = %14475, %14458
  call void @llvm.lifetime.end.p0(i64 4, ptr %421) #10
  br label %14493

14493:                                            ; preds = %14492
  br label %14494

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

14495:                                            ; No predecessors!
  br label %14496

14496:                                            ; preds = %14495
  br label %14497

14497:                                            ; preds = %14496, %14437
  br label %14498

14498:                                            ; preds = %14497
  br label %14499

14499:                                            ; preds = %14498
  br label %14500

14500:                                            ; preds = %14499
  %14501 = load i32, ptr @test_count, align 4, !tbaa !5
  %14502 = add nsw i32 %14501, 1
  store i32 %14502, ptr @test_count, align 4, !tbaa !5
  %14503 = getelementptr inbounds %struct.crl_lookup_data, ptr %408, i32 0, i32 2
  %14504 = load i8, ptr %14503, align 8, !tbaa !27
  %14505 = zext i8 %14504 to i32
  %14506 = icmp eq i32 %14505, 2
  br i1 %14506, label %14560, label %14507

14507:                                            ; preds = %14500
  br label %14508

14508:                                            ; preds = %14507
  br label %14509

14509:                                            ; preds = %14508
  call void @llvm.lifetime.start.p0(i64 4, ptr %422) #10
  %14510 = call ptr @__errno_location() #11
  %14511 = load i32, ptr %14510, align 4, !tbaa !5
  store i32 %14511, ptr %422, align 4, !tbaa !5
  %14512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14513 = call i32 @s2n_print_stacktrace(ptr noundef %14512)
  %14514 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14515 = trunc i8 %14514 to i1
  br i1 %14515, label %14516, label %14538

14516:                                            ; preds = %14509
  %14517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14518 = call i32 @fileno(ptr noundef %14517) #10
  %14519 = call i32 @isatty(i32 noundef %14518) #10
  %14520 = icmp ne i32 %14519, 0
  br i1 %14520, label %14521, label %14538

14521:                                            ; preds = %14516
  %14522 = load i32, ptr %422, align 4, !tbaa !5
  %14523 = call ptr @__errno_location() #11
  store i32 %14522, ptr %14523, align 4, !tbaa !5
  %14524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14525 = load i32, ptr @test_count, align 4, !tbaa !5
  %14526 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14527 = load i32, ptr %14526, align 4, !tbaa !5
  %14528 = call ptr @s2n_strerror(i32 noundef %14527, ptr noundef @.str.4)
  %14529 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14530 = load i32, ptr %14529, align 4, !tbaa !5
  %14531 = call ptr @s2n_strerror_debug(i32 noundef %14530, ptr noundef @.str.4)
  %14532 = call ptr @__errno_location() #11
  %14533 = load i32, ptr %14532, align 4, !tbaa !5
  %14534 = call ptr @strerror(i32 noundef %14533) #10
  %14535 = call ptr @__errno_location() #11
  %14536 = load i32, ptr %14535, align 4, !tbaa !5
  %14537 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14524, ptr noundef @.str.2, i32 noundef %14525, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 694, ptr noundef %14528, ptr noundef %14531, ptr noundef %14534, i32 noundef %14536) #10
  br label %14555

14538:                                            ; preds = %14516, %14509
  %14539 = load i32, ptr %422, align 4, !tbaa !5
  %14540 = call ptr @__errno_location() #11
  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() #11
  %14550 = load i32, ptr %14549, align 4, !tbaa !5
  %14551 = call ptr @strerror(i32 noundef %14550) #10
  %14552 = call ptr @__errno_location() #11
  %14553 = load i32, ptr %14552, align 4, !tbaa !5
  %14554 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14541, ptr noundef @.str.5, i32 noundef %14542, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 694, ptr noundef %14545, ptr noundef %14548, ptr noundef %14551, i32 noundef %14553) #10
  br label %14555

14555:                                            ; preds = %14538, %14521
  call void @llvm.lifetime.end.p0(i64 4, ptr %422) #10
  br label %14556

14556:                                            ; preds = %14555
  br label %14557

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

14558:                                            ; No predecessors!
  br label %14559

14559:                                            ; preds = %14558
  br label %14560

14560:                                            ; preds = %14559, %14500
  br label %14561

14561:                                            ; preds = %14560
  br label %14562

14562:                                            ; preds = %14561
  %14563 = call i32 @s2n_io_pair_close(ptr noundef %417)
  call void @llvm.lifetime.end.p0(i64 8, ptr %417) #10
  %14564 = call i32 @s2n_connection_ptr_free(ptr noundef %413)
  %14565 = getelementptr inbounds %struct.s2n_result, ptr %423, i32 0, i32 0
  store i32 %14564, ptr %14565, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %413) #10
  %14566 = call i32 @s2n_connection_ptr_free(ptr noundef %410)
  %14567 = getelementptr inbounds %struct.s2n_result, ptr %424, i32 0, i32 0
  store i32 %14566, ptr %14567, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %410) #10
  call void @llvm.lifetime.end.p0(i64 88, ptr %408) #10
  %14568 = call i32 @s2n_config_ptr_free(ptr noundef %403)
  %14569 = getelementptr inbounds %struct.s2n_result, ptr %425, i32 0, i32 0
  store i32 %14568, ptr %14569, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %403) #10
  %14570 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef %401)
  %14571 = getelementptr inbounds %struct.s2n_result, ptr %426, i32 0, i32 0
  store i32 %14570, ptr %14571, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %401) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %427) #10
  store ptr null, ptr %427, align 8, !tbaa !9
  br label %14572

14572:                                            ; preds = %14562
  %14573 = load i32, ptr @test_count, align 4, !tbaa !5
  %14574 = add nsw i32 %14573, 1
  store i32 %14574, ptr @test_count, align 4, !tbaa !5
  %14575 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef %427, ptr noundef @.str.50, ptr noundef @.str.91)
  %14576 = icmp eq i32 %14575, -1
  br i1 %14576, label %14577, label %14630

14577:                                            ; preds = %14572
  br label %14578

14578:                                            ; preds = %14577
  br label %14579

14579:                                            ; preds = %14578
  call void @llvm.lifetime.start.p0(i64 4, ptr %428) #10
  %14580 = call ptr @__errno_location() #11
  %14581 = load i32, ptr %14580, align 4, !tbaa !5
  store i32 %14581, ptr %428, align 4, !tbaa !5
  %14582 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14583 = call i32 @s2n_print_stacktrace(ptr noundef %14582)
  %14584 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14585 = trunc i8 %14584 to i1
  br i1 %14585, label %14586, label %14608

14586:                                            ; preds = %14579
  %14587 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14588 = call i32 @fileno(ptr noundef %14587) #10
  %14589 = call i32 @isatty(i32 noundef %14588) #10
  %14590 = icmp ne i32 %14589, 0
  br i1 %14590, label %14591, label %14608

14591:                                            ; preds = %14586
  %14592 = load i32, ptr %428, align 4, !tbaa !5
  %14593 = call ptr @__errno_location() #11
  store i32 %14592, ptr %14593, align 4, !tbaa !5
  %14594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14595 = load i32, ptr @test_count, align 4, !tbaa !5
  %14596 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14597 = load i32, ptr %14596, align 4, !tbaa !5
  %14598 = call ptr @s2n_strerror(i32 noundef %14597, ptr noundef @.str.4)
  %14599 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14600 = load i32, ptr %14599, align 4, !tbaa !5
  %14601 = call ptr @s2n_strerror_debug(i32 noundef %14600, ptr noundef @.str.4)
  %14602 = call ptr @__errno_location() #11
  %14603 = load i32, ptr %14602, align 4, !tbaa !5
  %14604 = call ptr @strerror(i32 noundef %14603) #10
  %14605 = call ptr @__errno_location() #11
  %14606 = load i32, ptr %14605, align 4, !tbaa !5
  %14607 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14594, ptr noundef @.str.2, i32 noundef %14595, ptr noundef @.str.92, ptr noundef @.str.1, i32 noundef 701, ptr noundef %14598, ptr noundef %14601, ptr noundef %14604, i32 noundef %14606) #10
  br label %14625

14608:                                            ; preds = %14586, %14579
  %14609 = load i32, ptr %428, align 4, !tbaa !5
  %14610 = call ptr @__errno_location() #11
  store i32 %14609, ptr %14610, align 4, !tbaa !5
  %14611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14612 = load i32, ptr @test_count, align 4, !tbaa !5
  %14613 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14614 = load i32, ptr %14613, align 4, !tbaa !5
  %14615 = call ptr @s2n_strerror(i32 noundef %14614, ptr noundef @.str.4)
  %14616 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14617 = load i32, ptr %14616, align 4, !tbaa !5
  %14618 = call ptr @s2n_strerror_debug(i32 noundef %14617, ptr noundef @.str.4)
  %14619 = call ptr @__errno_location() #11
  %14620 = load i32, ptr %14619, align 4, !tbaa !5
  %14621 = call ptr @strerror(i32 noundef %14620) #10
  %14622 = call ptr @__errno_location() #11
  %14623 = load i32, ptr %14622, align 4, !tbaa !5
  %14624 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14611, ptr noundef @.str.5, i32 noundef %14612, ptr noundef @.str.92, ptr noundef @.str.1, i32 noundef 701, ptr noundef %14615, ptr noundef %14618, ptr noundef %14621, i32 noundef %14623) #10
  br label %14625

14625:                                            ; preds = %14608, %14591
  call void @llvm.lifetime.end.p0(i64 4, ptr %428) #10
  br label %14626

14626:                                            ; preds = %14625
  br label %14627

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

14628:                                            ; No predecessors!
  br label %14629

14629:                                            ; preds = %14628
  br label %14630

14630:                                            ; preds = %14629, %14572
  br label %14631

14631:                                            ; preds = %14630
  br label %14632

14632:                                            ; preds = %14631
  call void @llvm.lifetime.start.p0(i64 8, ptr %429) #10
  %14633 = call ptr @s2n_config_new()
  store ptr %14633, ptr %429, align 8, !tbaa !9
  br label %14634

14634:                                            ; preds = %14632
  %14635 = load i32, ptr @test_count, align 4, !tbaa !5
  %14636 = add nsw i32 %14635, 1
  store i32 %14636, ptr @test_count, align 4, !tbaa !5
  %14637 = load ptr, ptr %429, align 8, !tbaa !9
  %14638 = icmp eq ptr %14637, null
  br i1 %14638, label %14639, label %14692

14639:                                            ; preds = %14634
  br label %14640

14640:                                            ; preds = %14639
  br label %14641

14641:                                            ; preds = %14640
  call void @llvm.lifetime.start.p0(i64 4, ptr %430) #10
  %14642 = call ptr @__errno_location() #11
  %14643 = load i32, ptr %14642, align 4, !tbaa !5
  store i32 %14643, ptr %430, align 4, !tbaa !5
  %14644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14645 = call i32 @s2n_print_stacktrace(ptr noundef %14644)
  %14646 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14647 = trunc i8 %14646 to i1
  br i1 %14647, label %14648, label %14670

14648:                                            ; preds = %14641
  %14649 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14650 = call i32 @fileno(ptr noundef %14649) #10
  %14651 = call i32 @isatty(i32 noundef %14650) #10
  %14652 = icmp ne i32 %14651, 0
  br i1 %14652, label %14653, label %14670

14653:                                            ; preds = %14648
  %14654 = load i32, ptr %430, align 4, !tbaa !5
  %14655 = call ptr @__errno_location() #11
  store i32 %14654, ptr %14655, align 4, !tbaa !5
  %14656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14657 = load i32, ptr @test_count, align 4, !tbaa !5
  %14658 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14659 = load i32, ptr %14658, align 4, !tbaa !5
  %14660 = call ptr @s2n_strerror(i32 noundef %14659, ptr noundef @.str.4)
  %14661 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14662 = load i32, ptr %14661, align 4, !tbaa !5
  %14663 = call ptr @s2n_strerror_debug(i32 noundef %14662, ptr noundef @.str.4)
  %14664 = call ptr @__errno_location() #11
  %14665 = load i32, ptr %14664, align 4, !tbaa !5
  %14666 = call ptr @strerror(i32 noundef %14665) #10
  %14667 = call ptr @__errno_location() #11
  %14668 = load i32, ptr %14667, align 4, !tbaa !5
  %14669 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14656, ptr noundef @.str.2, i32 noundef %14657, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 704, ptr noundef %14660, ptr noundef %14663, ptr noundef %14666, i32 noundef %14668) #10
  br label %14687

14670:                                            ; preds = %14648, %14641
  %14671 = load i32, ptr %430, align 4, !tbaa !5
  %14672 = call ptr @__errno_location() #11
  store i32 %14671, ptr %14672, align 4, !tbaa !5
  %14673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14674 = load i32, ptr @test_count, align 4, !tbaa !5
  %14675 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14676 = load i32, ptr %14675, align 4, !tbaa !5
  %14677 = call ptr @s2n_strerror(i32 noundef %14676, ptr noundef @.str.4)
  %14678 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14679 = load i32, ptr %14678, align 4, !tbaa !5
  %14680 = call ptr @s2n_strerror_debug(i32 noundef %14679, ptr noundef @.str.4)
  %14681 = call ptr @__errno_location() #11
  %14682 = load i32, ptr %14681, align 4, !tbaa !5
  %14683 = call ptr @strerror(i32 noundef %14682) #10
  %14684 = call ptr @__errno_location() #11
  %14685 = load i32, ptr %14684, align 4, !tbaa !5
  %14686 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14673, ptr noundef @.str.5, i32 noundef %14674, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 704, ptr noundef %14677, ptr noundef %14680, ptr noundef %14683, i32 noundef %14685) #10
  br label %14687

14687:                                            ; preds = %14670, %14653
  call void @llvm.lifetime.end.p0(i64 4, ptr %430) #10
  br label %14688

14688:                                            ; preds = %14687
  br label %14689

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

14690:                                            ; No predecessors!
  br label %14691

14691:                                            ; preds = %14690
  br label %14692

14692:                                            ; preds = %14691, %14634
  br label %14693

14693:                                            ; preds = %14692
  br label %14694

14694:                                            ; preds = %14693
  br label %14695

14695:                                            ; preds = %14694
  %14696 = load i32, ptr @test_count, align 4, !tbaa !5
  %14697 = add nsw i32 %14696, 1
  store i32 %14697, ptr @test_count, align 4, !tbaa !5
  %14698 = load ptr, ptr %429, align 8, !tbaa !9
  %14699 = load ptr, ptr %427, align 8, !tbaa !9
  %14700 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %14698, ptr noundef %14699)
  %14701 = icmp eq i32 %14700, -1
  br i1 %14701, label %14702, label %14755

14702:                                            ; preds = %14695
  br label %14703

14703:                                            ; preds = %14702
  br label %14704

14704:                                            ; preds = %14703
  call void @llvm.lifetime.start.p0(i64 4, ptr %431) #10
  %14705 = call ptr @__errno_location() #11
  %14706 = load i32, ptr %14705, align 4, !tbaa !5
  store i32 %14706, ptr %431, align 4, !tbaa !5
  %14707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14708 = call i32 @s2n_print_stacktrace(ptr noundef %14707)
  %14709 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14710 = trunc i8 %14709 to i1
  br i1 %14710, label %14711, label %14733

14711:                                            ; preds = %14704
  %14712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14713 = call i32 @fileno(ptr noundef %14712) #10
  %14714 = call i32 @isatty(i32 noundef %14713) #10
  %14715 = icmp ne i32 %14714, 0
  br i1 %14715, label %14716, label %14733

14716:                                            ; preds = %14711
  %14717 = load i32, ptr %431, align 4, !tbaa !5
  %14718 = call ptr @__errno_location() #11
  store i32 %14717, ptr %14718, align 4, !tbaa !5
  %14719 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14720 = load i32, ptr @test_count, align 4, !tbaa !5
  %14721 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14722 = load i32, ptr %14721, align 4, !tbaa !5
  %14723 = call ptr @s2n_strerror(i32 noundef %14722, ptr noundef @.str.4)
  %14724 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14725 = load i32, ptr %14724, align 4, !tbaa !5
  %14726 = call ptr @s2n_strerror_debug(i32 noundef %14725, ptr noundef @.str.4)
  %14727 = call ptr @__errno_location() #11
  %14728 = load i32, ptr %14727, align 4, !tbaa !5
  %14729 = call ptr @strerror(i32 noundef %14728) #10
  %14730 = call ptr @__errno_location() #11
  %14731 = load i32, ptr %14730, align 4, !tbaa !5
  %14732 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14719, ptr noundef @.str.2, i32 noundef %14720, ptr noundef @.str.78, ptr noundef @.str.1, i32 noundef 705, ptr noundef %14723, ptr noundef %14726, ptr noundef %14729, i32 noundef %14731) #10
  br label %14750

14733:                                            ; preds = %14711, %14704
  %14734 = load i32, ptr %431, align 4, !tbaa !5
  %14735 = call ptr @__errno_location() #11
  store i32 %14734, ptr %14735, align 4, !tbaa !5
  %14736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14737 = load i32, ptr @test_count, align 4, !tbaa !5
  %14738 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14739 = load i32, ptr %14738, align 4, !tbaa !5
  %14740 = call ptr @s2n_strerror(i32 noundef %14739, ptr noundef @.str.4)
  %14741 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14742 = load i32, ptr %14741, align 4, !tbaa !5
  %14743 = call ptr @s2n_strerror_debug(i32 noundef %14742, ptr noundef @.str.4)
  %14744 = call ptr @__errno_location() #11
  %14745 = load i32, ptr %14744, align 4, !tbaa !5
  %14746 = call ptr @strerror(i32 noundef %14745) #10
  %14747 = call ptr @__errno_location() #11
  %14748 = load i32, ptr %14747, align 4, !tbaa !5
  %14749 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14736, ptr noundef @.str.5, i32 noundef %14737, ptr noundef @.str.78, ptr noundef @.str.1, i32 noundef 705, ptr noundef %14740, ptr noundef %14743, ptr noundef %14746, i32 noundef %14748) #10
  br label %14750

14750:                                            ; preds = %14733, %14716
  call void @llvm.lifetime.end.p0(i64 4, ptr %431) #10
  br label %14751

14751:                                            ; preds = %14750
  br label %14752

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

14753:                                            ; No predecessors!
  br label %14754

14754:                                            ; preds = %14753
  br label %14755

14755:                                            ; preds = %14754, %14695
  br label %14756

14756:                                            ; preds = %14755
  br label %14757

14757:                                            ; preds = %14756
  br label %14758

14758:                                            ; preds = %14757
  %14759 = load i32, ptr @test_count, align 4, !tbaa !5
  %14760 = add nsw i32 %14759, 1
  store i32 %14760, ptr @test_count, align 4, !tbaa !5
  %14761 = load ptr, ptr %429, align 8, !tbaa !9
  %14762 = call i32 @s2n_config_set_verification_ca_location(ptr noundef %14761, ptr noundef @.str.31, ptr noundef null)
  %14763 = icmp eq i32 %14762, -1
  br i1 %14763, label %14764, label %14817

14764:                                            ; preds = %14758
  br label %14765

14765:                                            ; preds = %14764
  br label %14766

14766:                                            ; preds = %14765
  call void @llvm.lifetime.start.p0(i64 4, ptr %432) #10
  %14767 = call ptr @__errno_location() #11
  %14768 = load i32, ptr %14767, align 4, !tbaa !5
  store i32 %14768, ptr %432, align 4, !tbaa !5
  %14769 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14770 = call i32 @s2n_print_stacktrace(ptr noundef %14769)
  %14771 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14772 = trunc i8 %14771 to i1
  br i1 %14772, label %14773, label %14795

14773:                                            ; preds = %14766
  %14774 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14775 = call i32 @fileno(ptr noundef %14774) #10
  %14776 = call i32 @isatty(i32 noundef %14775) #10
  %14777 = icmp ne i32 %14776, 0
  br i1 %14777, label %14778, label %14795

14778:                                            ; preds = %14773
  %14779 = load i32, ptr %432, align 4, !tbaa !5
  %14780 = call ptr @__errno_location() #11
  store i32 %14779, ptr %14780, align 4, !tbaa !5
  %14781 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14782 = load i32, ptr @test_count, align 4, !tbaa !5
  %14783 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14784 = load i32, ptr %14783, align 4, !tbaa !5
  %14785 = call ptr @s2n_strerror(i32 noundef %14784, ptr noundef @.str.4)
  %14786 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14787 = load i32, ptr %14786, align 4, !tbaa !5
  %14788 = call ptr @s2n_strerror_debug(i32 noundef %14787, ptr noundef @.str.4)
  %14789 = call ptr @__errno_location() #11
  %14790 = load i32, ptr %14789, align 4, !tbaa !5
  %14791 = call ptr @strerror(i32 noundef %14790) #10
  %14792 = call ptr @__errno_location() #11
  %14793 = load i32, ptr %14792, align 4, !tbaa !5
  %14794 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14781, ptr noundef @.str.2, i32 noundef %14782, ptr noundef @.str.79, ptr noundef @.str.1, i32 noundef 706, ptr noundef %14785, ptr noundef %14788, ptr noundef %14791, i32 noundef %14793) #10
  br label %14812

14795:                                            ; preds = %14773, %14766
  %14796 = load i32, ptr %432, align 4, !tbaa !5
  %14797 = call ptr @__errno_location() #11
  store i32 %14796, ptr %14797, align 4, !tbaa !5
  %14798 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14799 = load i32, ptr @test_count, align 4, !tbaa !5
  %14800 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14801 = load i32, ptr %14800, align 4, !tbaa !5
  %14802 = call ptr @s2n_strerror(i32 noundef %14801, ptr noundef @.str.4)
  %14803 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14804 = load i32, ptr %14803, align 4, !tbaa !5
  %14805 = call ptr @s2n_strerror_debug(i32 noundef %14804, ptr noundef @.str.4)
  %14806 = call ptr @__errno_location() #11
  %14807 = load i32, ptr %14806, align 4, !tbaa !5
  %14808 = call ptr @strerror(i32 noundef %14807) #10
  %14809 = call ptr @__errno_location() #11
  %14810 = load i32, ptr %14809, align 4, !tbaa !5
  %14811 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14798, ptr noundef @.str.5, i32 noundef %14799, ptr noundef @.str.79, ptr noundef @.str.1, i32 noundef 706, ptr noundef %14802, ptr noundef %14805, ptr noundef %14808, i32 noundef %14810) #10
  br label %14812

14812:                                            ; preds = %14795, %14778
  call void @llvm.lifetime.end.p0(i64 4, ptr %432) #10
  br label %14813

14813:                                            ; preds = %14812
  br label %14814

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

14815:                                            ; No predecessors!
  br label %14816

14816:                                            ; preds = %14815
  br label %14817

14817:                                            ; preds = %14816, %14758
  br label %14818

14818:                                            ; preds = %14817
  br label %14819

14819:                                            ; preds = %14818
  br label %14820

14820:                                            ; preds = %14819
  %14821 = load i32, ptr @test_count, align 4, !tbaa !5
  %14822 = add nsw i32 %14821, 1
  store i32 %14822, ptr @test_count, align 4, !tbaa !5
  %14823 = load ptr, ptr %429, align 8, !tbaa !9
  %14824 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %14823, ptr noundef @.str.80)
  %14825 = icmp eq i32 %14824, -1
  br i1 %14825, label %14826, label %14879

14826:                                            ; preds = %14820
  br label %14827

14827:                                            ; preds = %14826
  br label %14828

14828:                                            ; preds = %14827
  call void @llvm.lifetime.start.p0(i64 4, ptr %433) #10
  %14829 = call ptr @__errno_location() #11
  %14830 = load i32, ptr %14829, align 4, !tbaa !5
  store i32 %14830, ptr %433, align 4, !tbaa !5
  %14831 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14832 = call i32 @s2n_print_stacktrace(ptr noundef %14831)
  %14833 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14834 = trunc i8 %14833 to i1
  br i1 %14834, label %14835, label %14857

14835:                                            ; preds = %14828
  %14836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14837 = call i32 @fileno(ptr noundef %14836) #10
  %14838 = call i32 @isatty(i32 noundef %14837) #10
  %14839 = icmp ne i32 %14838, 0
  br i1 %14839, label %14840, label %14857

14840:                                            ; preds = %14835
  %14841 = load i32, ptr %433, align 4, !tbaa !5
  %14842 = call ptr @__errno_location() #11
  store i32 %14841, ptr %14842, align 4, !tbaa !5
  %14843 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14844 = load i32, ptr @test_count, align 4, !tbaa !5
  %14845 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14846 = load i32, ptr %14845, align 4, !tbaa !5
  %14847 = call ptr @s2n_strerror(i32 noundef %14846, ptr noundef @.str.4)
  %14848 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14849 = load i32, ptr %14848, align 4, !tbaa !5
  %14850 = call ptr @s2n_strerror_debug(i32 noundef %14849, ptr noundef @.str.4)
  %14851 = call ptr @__errno_location() #11
  %14852 = load i32, ptr %14851, align 4, !tbaa !5
  %14853 = call ptr @strerror(i32 noundef %14852) #10
  %14854 = call ptr @__errno_location() #11
  %14855 = load i32, ptr %14854, align 4, !tbaa !5
  %14856 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14843, ptr noundef @.str.2, i32 noundef %14844, ptr noundef @.str.81, ptr noundef @.str.1, i32 noundef 707, ptr noundef %14847, ptr noundef %14850, ptr noundef %14853, i32 noundef %14855) #10
  br label %14874

14857:                                            ; preds = %14835, %14828
  %14858 = load i32, ptr %433, align 4, !tbaa !5
  %14859 = call ptr @__errno_location() #11
  store i32 %14858, ptr %14859, align 4, !tbaa !5
  %14860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14861 = load i32, ptr @test_count, align 4, !tbaa !5
  %14862 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14863 = load i32, ptr %14862, align 4, !tbaa !5
  %14864 = call ptr @s2n_strerror(i32 noundef %14863, ptr noundef @.str.4)
  %14865 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14866 = load i32, ptr %14865, align 4, !tbaa !5
  %14867 = call ptr @s2n_strerror_debug(i32 noundef %14866, ptr noundef @.str.4)
  %14868 = call ptr @__errno_location() #11
  %14869 = load i32, ptr %14868, align 4, !tbaa !5
  %14870 = call ptr @strerror(i32 noundef %14869) #10
  %14871 = call ptr @__errno_location() #11
  %14872 = load i32, ptr %14871, align 4, !tbaa !5
  %14873 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14860, ptr noundef @.str.5, i32 noundef %14861, ptr noundef @.str.81, ptr noundef @.str.1, i32 noundef 707, ptr noundef %14864, ptr noundef %14867, ptr noundef %14870, i32 noundef %14872) #10
  br label %14874

14874:                                            ; preds = %14857, %14840
  call void @llvm.lifetime.end.p0(i64 4, ptr %433) #10
  br label %14875

14875:                                            ; preds = %14874
  br label %14876

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

14877:                                            ; No predecessors!
  br label %14878

14878:                                            ; preds = %14877
  br label %14879

14879:                                            ; preds = %14878, %14820
  br label %14880

14880:                                            ; preds = %14879
  br label %14881

14881:                                            ; preds = %14880
  call void @llvm.lifetime.start.p0(i64 88, ptr %434) #10
  call void @llvm.memset.p0.i64(ptr align 8 %434, i8 0, i64 88, i1 false)
  %14882 = load ptr, ptr %45, align 8, !tbaa !9
  %14883 = getelementptr inbounds %struct.crl_lookup_data, ptr %434, i32 0, i32 0
  %14884 = getelementptr inbounds [5 x ptr], ptr %14883, i64 0, i64 0
  store ptr %14882, ptr %14884, align 8, !tbaa !9
  %14885 = load ptr, ptr %43, align 8, !tbaa !9
  %14886 = getelementptr inbounds %struct.crl_lookup_data, ptr %434, i32 0, i32 0
  %14887 = getelementptr inbounds [5 x ptr], ptr %14886, i64 0, i64 1
  store ptr %14885, ptr %14887, align 8, !tbaa !9
  br label %14888

14888:                                            ; preds = %14881
  %14889 = load i32, ptr @test_count, align 4, !tbaa !5
  %14890 = add nsw i32 %14889, 1
  store i32 %14890, ptr @test_count, align 4, !tbaa !5
  %14891 = load ptr, ptr %429, align 8, !tbaa !9
  %14892 = call i32 @s2n_config_set_crl_lookup_cb(ptr noundef %14891, ptr noundef @crl_lookup_test_callback, ptr noundef %434)
  %14893 = icmp eq i32 %14892, -1
  br i1 %14893, label %14894, label %14947

14894:                                            ; preds = %14888
  br label %14895

14895:                                            ; preds = %14894
  br label %14896

14896:                                            ; preds = %14895
  call void @llvm.lifetime.start.p0(i64 4, ptr %435) #10
  %14897 = call ptr @__errno_location() #11
  %14898 = load i32, ptr %14897, align 4, !tbaa !5
  store i32 %14898, ptr %435, align 4, !tbaa !5
  %14899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14900 = call i32 @s2n_print_stacktrace(ptr noundef %14899)
  %14901 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14902 = trunc i8 %14901 to i1
  br i1 %14902, label %14903, label %14925

14903:                                            ; preds = %14896
  %14904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14905 = call i32 @fileno(ptr noundef %14904) #10
  %14906 = call i32 @isatty(i32 noundef %14905) #10
  %14907 = icmp ne i32 %14906, 0
  br i1 %14907, label %14908, label %14925

14908:                                            ; preds = %14903
  %14909 = load i32, ptr %435, align 4, !tbaa !5
  %14910 = call ptr @__errno_location() #11
  store i32 %14909, ptr %14910, align 4, !tbaa !5
  %14911 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14912 = load i32, ptr @test_count, align 4, !tbaa !5
  %14913 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14914 = load i32, ptr %14913, align 4, !tbaa !5
  %14915 = call ptr @s2n_strerror(i32 noundef %14914, ptr noundef @.str.4)
  %14916 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14917 = load i32, ptr %14916, align 4, !tbaa !5
  %14918 = call ptr @s2n_strerror_debug(i32 noundef %14917, ptr noundef @.str.4)
  %14919 = call ptr @__errno_location() #11
  %14920 = load i32, ptr %14919, align 4, !tbaa !5
  %14921 = call ptr @strerror(i32 noundef %14920) #10
  %14922 = call ptr @__errno_location() #11
  %14923 = load i32, ptr %14922, align 4, !tbaa !5
  %14924 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14911, ptr noundef @.str.2, i32 noundef %14912, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 712, ptr noundef %14915, ptr noundef %14918, ptr noundef %14921, i32 noundef %14923) #10
  br label %14942

14925:                                            ; preds = %14903, %14896
  %14926 = load i32, ptr %435, align 4, !tbaa !5
  %14927 = call ptr @__errno_location() #11
  store i32 %14926, ptr %14927, align 4, !tbaa !5
  %14928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14929 = load i32, ptr @test_count, align 4, !tbaa !5
  %14930 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14931 = load i32, ptr %14930, align 4, !tbaa !5
  %14932 = call ptr @s2n_strerror(i32 noundef %14931, ptr noundef @.str.4)
  %14933 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14934 = load i32, ptr %14933, align 4, !tbaa !5
  %14935 = call ptr @s2n_strerror_debug(i32 noundef %14934, ptr noundef @.str.4)
  %14936 = call ptr @__errno_location() #11
  %14937 = load i32, ptr %14936, align 4, !tbaa !5
  %14938 = call ptr @strerror(i32 noundef %14937) #10
  %14939 = call ptr @__errno_location() #11
  %14940 = load i32, ptr %14939, align 4, !tbaa !5
  %14941 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14928, ptr noundef @.str.5, i32 noundef %14929, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 712, ptr noundef %14932, ptr noundef %14935, ptr noundef %14938, i32 noundef %14940) #10
  br label %14942

14942:                                            ; preds = %14925, %14908
  call void @llvm.lifetime.end.p0(i64 4, ptr %435) #10
  br label %14943

14943:                                            ; preds = %14942
  br label %14944

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

14945:                                            ; No predecessors!
  br label %14946

14946:                                            ; preds = %14945
  br label %14947

14947:                                            ; preds = %14946, %14888
  br label %14948

14948:                                            ; preds = %14947
  br label %14949

14949:                                            ; preds = %14948
  call void @llvm.lifetime.start.p0(i64 8, ptr %436) #10
  %14950 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %14950, ptr %436, align 8, !tbaa !9
  br label %14951

14951:                                            ; preds = %14949
  %14952 = load i32, ptr @test_count, align 4, !tbaa !5
  %14953 = add nsw i32 %14952, 1
  store i32 %14953, ptr @test_count, align 4, !tbaa !5
  %14954 = load ptr, ptr %436, align 8, !tbaa !9
  %14955 = icmp eq ptr %14954, null
  br i1 %14955, label %14956, label %15009

14956:                                            ; preds = %14951
  br label %14957

14957:                                            ; preds = %14956
  br label %14958

14958:                                            ; preds = %14957
  call void @llvm.lifetime.start.p0(i64 4, ptr %437) #10
  %14959 = call ptr @__errno_location() #11
  %14960 = load i32, ptr %14959, align 4, !tbaa !5
  store i32 %14960, ptr %437, align 4, !tbaa !5
  %14961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14962 = call i32 @s2n_print_stacktrace(ptr noundef %14961)
  %14963 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14964 = trunc i8 %14963 to i1
  br i1 %14964, label %14965, label %14987

14965:                                            ; preds = %14958
  %14966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14967 = call i32 @fileno(ptr noundef %14966) #10
  %14968 = call i32 @isatty(i32 noundef %14967) #10
  %14969 = icmp ne i32 %14968, 0
  br i1 %14969, label %14970, label %14987

14970:                                            ; preds = %14965
  %14971 = load i32, ptr %437, align 4, !tbaa !5
  %14972 = call ptr @__errno_location() #11
  store i32 %14971, ptr %14972, align 4, !tbaa !5
  %14973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14974 = load i32, ptr @test_count, align 4, !tbaa !5
  %14975 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14976 = load i32, ptr %14975, align 4, !tbaa !5
  %14977 = call ptr @s2n_strerror(i32 noundef %14976, ptr noundef @.str.4)
  %14978 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14979 = load i32, ptr %14978, align 4, !tbaa !5
  %14980 = call ptr @s2n_strerror_debug(i32 noundef %14979, ptr noundef @.str.4)
  %14981 = call ptr @__errno_location() #11
  %14982 = load i32, ptr %14981, align 4, !tbaa !5
  %14983 = call ptr @strerror(i32 noundef %14982) #10
  %14984 = call ptr @__errno_location() #11
  %14985 = load i32, ptr %14984, align 4, !tbaa !5
  %14986 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14973, ptr noundef @.str.2, i32 noundef %14974, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 715, ptr noundef %14977, ptr noundef %14980, ptr noundef %14983, i32 noundef %14985) #10
  br label %15004

14987:                                            ; preds = %14965, %14958
  %14988 = load i32, ptr %437, align 4, !tbaa !5
  %14989 = call ptr @__errno_location() #11
  store i32 %14988, ptr %14989, align 4, !tbaa !5
  %14990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14991 = load i32, ptr @test_count, align 4, !tbaa !5
  %14992 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14993 = load i32, ptr %14992, align 4, !tbaa !5
  %14994 = call ptr @s2n_strerror(i32 noundef %14993, ptr noundef @.str.4)
  %14995 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14996 = load i32, ptr %14995, align 4, !tbaa !5
  %14997 = call ptr @s2n_strerror_debug(i32 noundef %14996, ptr noundef @.str.4)
  %14998 = call ptr @__errno_location() #11
  %14999 = load i32, ptr %14998, align 4, !tbaa !5
  %15000 = call ptr @strerror(i32 noundef %14999) #10
  %15001 = call ptr @__errno_location() #11
  %15002 = load i32, ptr %15001, align 4, !tbaa !5
  %15003 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14990, ptr noundef @.str.5, i32 noundef %14991, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 715, ptr noundef %14994, ptr noundef %14997, ptr noundef %15000, i32 noundef %15002) #10
  br label %15004

15004:                                            ; preds = %14987, %14970
  call void @llvm.lifetime.end.p0(i64 4, ptr %437) #10
  br label %15005

15005:                                            ; preds = %15004
  br label %15006

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

15007:                                            ; No predecessors!
  br label %15008

15008:                                            ; preds = %15007
  br label %15009

15009:                                            ; preds = %15008, %14951
  br label %15010

15010:                                            ; preds = %15009
  br label %15011

15011:                                            ; preds = %15010
  br label %15012

15012:                                            ; preds = %15011
  %15013 = load i32, ptr @test_count, align 4, !tbaa !5
  %15014 = add nsw i32 %15013, 1
  store i32 %15014, ptr @test_count, align 4, !tbaa !5
  %15015 = load ptr, ptr %436, align 8, !tbaa !9
  %15016 = load ptr, ptr %429, align 8, !tbaa !9
  %15017 = call i32 @s2n_connection_set_config(ptr noundef %15015, ptr noundef %15016)
  %15018 = icmp eq i32 %15017, -1
  br i1 %15018, label %15019, label %15072

15019:                                            ; preds = %15012
  br label %15020

15020:                                            ; preds = %15019
  br label %15021

15021:                                            ; preds = %15020
  call void @llvm.lifetime.start.p0(i64 4, ptr %438) #10
  %15022 = call ptr @__errno_location() #11
  %15023 = load i32, ptr %15022, align 4, !tbaa !5
  store i32 %15023, ptr %438, align 4, !tbaa !5
  %15024 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15025 = call i32 @s2n_print_stacktrace(ptr noundef %15024)
  %15026 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15027 = trunc i8 %15026 to i1
  br i1 %15027, label %15028, label %15050

15028:                                            ; preds = %15021
  %15029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15030 = call i32 @fileno(ptr noundef %15029) #10
  %15031 = call i32 @isatty(i32 noundef %15030) #10
  %15032 = icmp ne i32 %15031, 0
  br i1 %15032, label %15033, label %15050

15033:                                            ; preds = %15028
  %15034 = load i32, ptr %438, align 4, !tbaa !5
  %15035 = call ptr @__errno_location() #11
  store i32 %15034, ptr %15035, align 4, !tbaa !5
  %15036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15037 = load i32, ptr @test_count, align 4, !tbaa !5
  %15038 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15039 = load i32, ptr %15038, align 4, !tbaa !5
  %15040 = call ptr @s2n_strerror(i32 noundef %15039, ptr noundef @.str.4)
  %15041 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15042 = load i32, ptr %15041, align 4, !tbaa !5
  %15043 = call ptr @s2n_strerror_debug(i32 noundef %15042, ptr noundef @.str.4)
  %15044 = call ptr @__errno_location() #11
  %15045 = load i32, ptr %15044, align 4, !tbaa !5
  %15046 = call ptr @strerror(i32 noundef %15045) #10
  %15047 = call ptr @__errno_location() #11
  %15048 = load i32, ptr %15047, align 4, !tbaa !5
  %15049 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15036, ptr noundef @.str.2, i32 noundef %15037, ptr noundef @.str.83, ptr noundef @.str.1, i32 noundef 716, ptr noundef %15040, ptr noundef %15043, ptr noundef %15046, i32 noundef %15048) #10
  br label %15067

15050:                                            ; preds = %15028, %15021
  %15051 = load i32, ptr %438, align 4, !tbaa !5
  %15052 = call ptr @__errno_location() #11
  store i32 %15051, ptr %15052, align 4, !tbaa !5
  %15053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15054 = load i32, ptr @test_count, align 4, !tbaa !5
  %15055 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15056 = load i32, ptr %15055, align 4, !tbaa !5
  %15057 = call ptr @s2n_strerror(i32 noundef %15056, ptr noundef @.str.4)
  %15058 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15059 = load i32, ptr %15058, align 4, !tbaa !5
  %15060 = call ptr @s2n_strerror_debug(i32 noundef %15059, ptr noundef @.str.4)
  %15061 = call ptr @__errno_location() #11
  %15062 = load i32, ptr %15061, align 4, !tbaa !5
  %15063 = call ptr @strerror(i32 noundef %15062) #10
  %15064 = call ptr @__errno_location() #11
  %15065 = load i32, ptr %15064, align 4, !tbaa !5
  %15066 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15053, ptr noundef @.str.5, i32 noundef %15054, ptr noundef @.str.83, ptr noundef @.str.1, i32 noundef 716, ptr noundef %15057, ptr noundef %15060, ptr noundef %15063, i32 noundef %15065) #10
  br label %15067

15067:                                            ; preds = %15050, %15033
  call void @llvm.lifetime.end.p0(i64 4, ptr %438) #10
  br label %15068

15068:                                            ; preds = %15067
  br label %15069

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

15070:                                            ; No predecessors!
  br label %15071

15071:                                            ; preds = %15070
  br label %15072

15072:                                            ; preds = %15071, %15012
  br label %15073

15073:                                            ; preds = %15072
  br label %15074

15074:                                            ; preds = %15073
  br label %15075

15075:                                            ; preds = %15074
  %15076 = load i32, ptr @test_count, align 4, !tbaa !5
  %15077 = add nsw i32 %15076, 1
  store i32 %15077, ptr @test_count, align 4, !tbaa !5
  %15078 = load ptr, ptr %436, align 8, !tbaa !9
  %15079 = call i32 @s2n_connection_set_blinding(ptr noundef %15078, i32 noundef 1)
  %15080 = icmp eq i32 %15079, -1
  br i1 %15080, label %15081, label %15134

15081:                                            ; preds = %15075
  br label %15082

15082:                                            ; preds = %15081
  br label %15083

15083:                                            ; preds = %15082
  call void @llvm.lifetime.start.p0(i64 4, ptr %439) #10
  %15084 = call ptr @__errno_location() #11
  %15085 = load i32, ptr %15084, align 4, !tbaa !5
  store i32 %15085, ptr %439, align 4, !tbaa !5
  %15086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15087 = call i32 @s2n_print_stacktrace(ptr noundef %15086)
  %15088 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15089 = trunc i8 %15088 to i1
  br i1 %15089, label %15090, label %15112

15090:                                            ; preds = %15083
  %15091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15092 = call i32 @fileno(ptr noundef %15091) #10
  %15093 = call i32 @isatty(i32 noundef %15092) #10
  %15094 = icmp ne i32 %15093, 0
  br i1 %15094, label %15095, label %15112

15095:                                            ; preds = %15090
  %15096 = load i32, ptr %439, align 4, !tbaa !5
  %15097 = call ptr @__errno_location() #11
  store i32 %15096, ptr %15097, align 4, !tbaa !5
  %15098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15099 = load i32, ptr @test_count, align 4, !tbaa !5
  %15100 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15101 = load i32, ptr %15100, align 4, !tbaa !5
  %15102 = call ptr @s2n_strerror(i32 noundef %15101, ptr noundef @.str.4)
  %15103 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15104 = load i32, ptr %15103, align 4, !tbaa !5
  %15105 = call ptr @s2n_strerror_debug(i32 noundef %15104, ptr noundef @.str.4)
  %15106 = call ptr @__errno_location() #11
  %15107 = load i32, ptr %15106, align 4, !tbaa !5
  %15108 = call ptr @strerror(i32 noundef %15107) #10
  %15109 = call ptr @__errno_location() #11
  %15110 = load i32, ptr %15109, align 4, !tbaa !5
  %15111 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15098, ptr noundef @.str.2, i32 noundef %15099, ptr noundef @.str.93, ptr noundef @.str.1, i32 noundef 717, ptr noundef %15102, ptr noundef %15105, ptr noundef %15108, i32 noundef %15110) #10
  br label %15129

15112:                                            ; preds = %15090, %15083
  %15113 = load i32, ptr %439, align 4, !tbaa !5
  %15114 = call ptr @__errno_location() #11
  store i32 %15113, ptr %15114, align 4, !tbaa !5
  %15115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15116 = load i32, ptr @test_count, align 4, !tbaa !5
  %15117 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15118 = load i32, ptr %15117, align 4, !tbaa !5
  %15119 = call ptr @s2n_strerror(i32 noundef %15118, ptr noundef @.str.4)
  %15120 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15121 = load i32, ptr %15120, align 4, !tbaa !5
  %15122 = call ptr @s2n_strerror_debug(i32 noundef %15121, ptr noundef @.str.4)
  %15123 = call ptr @__errno_location() #11
  %15124 = load i32, ptr %15123, align 4, !tbaa !5
  %15125 = call ptr @strerror(i32 noundef %15124) #10
  %15126 = call ptr @__errno_location() #11
  %15127 = load i32, ptr %15126, align 4, !tbaa !5
  %15128 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15115, ptr noundef @.str.5, i32 noundef %15116, ptr noundef @.str.93, ptr noundef @.str.1, i32 noundef 717, ptr noundef %15119, ptr noundef %15122, ptr noundef %15125, i32 noundef %15127) #10
  br label %15129

15129:                                            ; preds = %15112, %15095
  call void @llvm.lifetime.end.p0(i64 4, ptr %439) #10
  br label %15130

15130:                                            ; preds = %15129
  br label %15131

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

15132:                                            ; No predecessors!
  br label %15133

15133:                                            ; preds = %15132
  br label %15134

15134:                                            ; preds = %15133, %15075
  br label %15135

15135:                                            ; preds = %15134
  br label %15136

15136:                                            ; preds = %15135
  call void @llvm.lifetime.start.p0(i64 8, ptr %440) #10
  %15137 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %15137, ptr %440, align 8, !tbaa !9
  br label %15138

15138:                                            ; preds = %15136
  %15139 = load i32, ptr @test_count, align 4, !tbaa !5
  %15140 = add nsw i32 %15139, 1
  store i32 %15140, ptr @test_count, align 4, !tbaa !5
  %15141 = load ptr, ptr %440, align 8, !tbaa !9
  %15142 = icmp eq ptr %15141, null
  br i1 %15142, label %15143, label %15196

15143:                                            ; preds = %15138
  br label %15144

15144:                                            ; preds = %15143
  br label %15145

15145:                                            ; preds = %15144
  call void @llvm.lifetime.start.p0(i64 4, ptr %441) #10
  %15146 = call ptr @__errno_location() #11
  %15147 = load i32, ptr %15146, align 4, !tbaa !5
  store i32 %15147, ptr %441, align 4, !tbaa !5
  %15148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15149 = call i32 @s2n_print_stacktrace(ptr noundef %15148)
  %15150 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15151 = trunc i8 %15150 to i1
  br i1 %15151, label %15152, label %15174

15152:                                            ; preds = %15145
  %15153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15154 = call i32 @fileno(ptr noundef %15153) #10
  %15155 = call i32 @isatty(i32 noundef %15154) #10
  %15156 = icmp ne i32 %15155, 0
  br i1 %15156, label %15157, label %15174

15157:                                            ; preds = %15152
  %15158 = load i32, ptr %441, align 4, !tbaa !5
  %15159 = call ptr @__errno_location() #11
  store i32 %15158, ptr %15159, align 4, !tbaa !5
  %15160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15161 = load i32, ptr @test_count, align 4, !tbaa !5
  %15162 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15163 = load i32, ptr %15162, align 4, !tbaa !5
  %15164 = call ptr @s2n_strerror(i32 noundef %15163, ptr noundef @.str.4)
  %15165 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15166 = load i32, ptr %15165, align 4, !tbaa !5
  %15167 = call ptr @s2n_strerror_debug(i32 noundef %15166, ptr noundef @.str.4)
  %15168 = call ptr @__errno_location() #11
  %15169 = load i32, ptr %15168, align 4, !tbaa !5
  %15170 = call ptr @strerror(i32 noundef %15169) #10
  %15171 = call ptr @__errno_location() #11
  %15172 = load i32, ptr %15171, align 4, !tbaa !5
  %15173 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15160, ptr noundef @.str.2, i32 noundef %15161, ptr noundef @.str.84, ptr noundef @.str.1, i32 noundef 720, ptr noundef %15164, ptr noundef %15167, ptr noundef %15170, i32 noundef %15172) #10
  br label %15191

15174:                                            ; preds = %15152, %15145
  %15175 = load i32, ptr %441, align 4, !tbaa !5
  %15176 = call ptr @__errno_location() #11
  store i32 %15175, ptr %15176, align 4, !tbaa !5
  %15177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15178 = load i32, ptr @test_count, align 4, !tbaa !5
  %15179 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15180 = load i32, ptr %15179, align 4, !tbaa !5
  %15181 = call ptr @s2n_strerror(i32 noundef %15180, ptr noundef @.str.4)
  %15182 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15183 = load i32, ptr %15182, align 4, !tbaa !5
  %15184 = call ptr @s2n_strerror_debug(i32 noundef %15183, ptr noundef @.str.4)
  %15185 = call ptr @__errno_location() #11
  %15186 = load i32, ptr %15185, align 4, !tbaa !5
  %15187 = call ptr @strerror(i32 noundef %15186) #10
  %15188 = call ptr @__errno_location() #11
  %15189 = load i32, ptr %15188, align 4, !tbaa !5
  %15190 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15177, ptr noundef @.str.5, i32 noundef %15178, ptr noundef @.str.84, ptr noundef @.str.1, i32 noundef 720, ptr noundef %15181, ptr noundef %15184, ptr noundef %15187, i32 noundef %15189) #10
  br label %15191

15191:                                            ; preds = %15174, %15157
  call void @llvm.lifetime.end.p0(i64 4, ptr %441) #10
  br label %15192

15192:                                            ; preds = %15191
  br label %15193

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

15194:                                            ; No predecessors!
  br label %15195

15195:                                            ; preds = %15194
  br label %15196

15196:                                            ; preds = %15195, %15138
  br label %15197

15197:                                            ; preds = %15196
  br label %15198

15198:                                            ; preds = %15197
  br label %15199

15199:                                            ; preds = %15198
  %15200 = load i32, ptr @test_count, align 4, !tbaa !5
  %15201 = add nsw i32 %15200, 1
  store i32 %15201, ptr @test_count, align 4, !tbaa !5
  %15202 = load ptr, ptr %440, align 8, !tbaa !9
  %15203 = load ptr, ptr %429, align 8, !tbaa !9
  %15204 = call i32 @s2n_connection_set_config(ptr noundef %15202, ptr noundef %15203)
  %15205 = icmp eq i32 %15204, -1
  br i1 %15205, label %15206, label %15259

15206:                                            ; preds = %15199
  br label %15207

15207:                                            ; preds = %15206
  br label %15208

15208:                                            ; preds = %15207
  call void @llvm.lifetime.start.p0(i64 4, ptr %442) #10
  %15209 = call ptr @__errno_location() #11
  %15210 = load i32, ptr %15209, align 4, !tbaa !5
  store i32 %15210, ptr %442, align 4, !tbaa !5
  %15211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15212 = call i32 @s2n_print_stacktrace(ptr noundef %15211)
  %15213 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15214 = trunc i8 %15213 to i1
  br i1 %15214, label %15215, label %15237

15215:                                            ; preds = %15208
  %15216 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15217 = call i32 @fileno(ptr noundef %15216) #10
  %15218 = call i32 @isatty(i32 noundef %15217) #10
  %15219 = icmp ne i32 %15218, 0
  br i1 %15219, label %15220, label %15237

15220:                                            ; preds = %15215
  %15221 = load i32, ptr %442, align 4, !tbaa !5
  %15222 = call ptr @__errno_location() #11
  store i32 %15221, ptr %15222, align 4, !tbaa !5
  %15223 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15224 = load i32, ptr @test_count, align 4, !tbaa !5
  %15225 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15226 = load i32, ptr %15225, align 4, !tbaa !5
  %15227 = call ptr @s2n_strerror(i32 noundef %15226, ptr noundef @.str.4)
  %15228 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15229 = load i32, ptr %15228, align 4, !tbaa !5
  %15230 = call ptr @s2n_strerror_debug(i32 noundef %15229, ptr noundef @.str.4)
  %15231 = call ptr @__errno_location() #11
  %15232 = load i32, ptr %15231, align 4, !tbaa !5
  %15233 = call ptr @strerror(i32 noundef %15232) #10
  %15234 = call ptr @__errno_location() #11
  %15235 = load i32, ptr %15234, align 4, !tbaa !5
  %15236 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15223, ptr noundef @.str.2, i32 noundef %15224, ptr noundef @.str.85, ptr noundef @.str.1, i32 noundef 721, ptr noundef %15227, ptr noundef %15230, ptr noundef %15233, i32 noundef %15235) #10
  br label %15254

15237:                                            ; preds = %15215, %15208
  %15238 = load i32, ptr %442, align 4, !tbaa !5
  %15239 = call ptr @__errno_location() #11
  store i32 %15238, ptr %15239, align 4, !tbaa !5
  %15240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15241 = load i32, ptr @test_count, align 4, !tbaa !5
  %15242 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15243 = load i32, ptr %15242, align 4, !tbaa !5
  %15244 = call ptr @s2n_strerror(i32 noundef %15243, ptr noundef @.str.4)
  %15245 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15246 = load i32, ptr %15245, align 4, !tbaa !5
  %15247 = call ptr @s2n_strerror_debug(i32 noundef %15246, ptr noundef @.str.4)
  %15248 = call ptr @__errno_location() #11
  %15249 = load i32, ptr %15248, align 4, !tbaa !5
  %15250 = call ptr @strerror(i32 noundef %15249) #10
  %15251 = call ptr @__errno_location() #11
  %15252 = load i32, ptr %15251, align 4, !tbaa !5
  %15253 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15240, ptr noundef @.str.5, i32 noundef %15241, ptr noundef @.str.85, ptr noundef @.str.1, i32 noundef 721, ptr noundef %15244, ptr noundef %15247, ptr noundef %15250, i32 noundef %15252) #10
  br label %15254

15254:                                            ; preds = %15237, %15220
  call void @llvm.lifetime.end.p0(i64 4, ptr %442) #10
  br label %15255

15255:                                            ; preds = %15254
  br label %15256

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

15257:                                            ; No predecessors!
  br label %15258

15258:                                            ; preds = %15257
  br label %15259

15259:                                            ; preds = %15258, %15199
  br label %15260

15260:                                            ; preds = %15259
  br label %15261

15261:                                            ; preds = %15260
  br label %15262

15262:                                            ; preds = %15261
  %15263 = load i32, ptr @test_count, align 4, !tbaa !5
  %15264 = add nsw i32 %15263, 1
  store i32 %15264, ptr @test_count, align 4, !tbaa !5
  %15265 = load ptr, ptr %440, align 8, !tbaa !9
  %15266 = call i32 @s2n_set_server_name(ptr noundef %15265, ptr noundef @.str.39)
  %15267 = icmp eq i32 %15266, -1
  br i1 %15267, label %15268, label %15321

15268:                                            ; preds = %15262
  br label %15269

15269:                                            ; preds = %15268
  br label %15270

15270:                                            ; preds = %15269
  call void @llvm.lifetime.start.p0(i64 4, ptr %443) #10
  %15271 = call ptr @__errno_location() #11
  %15272 = load i32, ptr %15271, align 4, !tbaa !5
  store i32 %15272, ptr %443, align 4, !tbaa !5
  %15273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15274 = call i32 @s2n_print_stacktrace(ptr noundef %15273)
  %15275 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15276 = trunc i8 %15275 to i1
  br i1 %15276, label %15277, label %15299

15277:                                            ; preds = %15270
  %15278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15279 = call i32 @fileno(ptr noundef %15278) #10
  %15280 = call i32 @isatty(i32 noundef %15279) #10
  %15281 = icmp ne i32 %15280, 0
  br i1 %15281, label %15282, label %15299

15282:                                            ; preds = %15277
  %15283 = load i32, ptr %443, align 4, !tbaa !5
  %15284 = call ptr @__errno_location() #11
  store i32 %15283, ptr %15284, align 4, !tbaa !5
  %15285 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15286 = load i32, ptr @test_count, align 4, !tbaa !5
  %15287 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15288 = load i32, ptr %15287, align 4, !tbaa !5
  %15289 = call ptr @s2n_strerror(i32 noundef %15288, ptr noundef @.str.4)
  %15290 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15291 = load i32, ptr %15290, align 4, !tbaa !5
  %15292 = call ptr @s2n_strerror_debug(i32 noundef %15291, ptr noundef @.str.4)
  %15293 = call ptr @__errno_location() #11
  %15294 = load i32, ptr %15293, align 4, !tbaa !5
  %15295 = call ptr @strerror(i32 noundef %15294) #10
  %15296 = call ptr @__errno_location() #11
  %15297 = load i32, ptr %15296, align 4, !tbaa !5
  %15298 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15285, ptr noundef @.str.2, i32 noundef %15286, ptr noundef @.str.86, ptr noundef @.str.1, i32 noundef 722, ptr noundef %15289, ptr noundef %15292, ptr noundef %15295, i32 noundef %15297) #10
  br label %15316

15299:                                            ; preds = %15277, %15270
  %15300 = load i32, ptr %443, align 4, !tbaa !5
  %15301 = call ptr @__errno_location() #11
  store i32 %15300, ptr %15301, align 4, !tbaa !5
  %15302 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15303 = load i32, ptr @test_count, align 4, !tbaa !5
  %15304 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15305 = load i32, ptr %15304, align 4, !tbaa !5
  %15306 = call ptr @s2n_strerror(i32 noundef %15305, ptr noundef @.str.4)
  %15307 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15308 = load i32, ptr %15307, align 4, !tbaa !5
  %15309 = call ptr @s2n_strerror_debug(i32 noundef %15308, ptr noundef @.str.4)
  %15310 = call ptr @__errno_location() #11
  %15311 = load i32, ptr %15310, align 4, !tbaa !5
  %15312 = call ptr @strerror(i32 noundef %15311) #10
  %15313 = call ptr @__errno_location() #11
  %15314 = load i32, ptr %15313, align 4, !tbaa !5
  %15315 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15302, ptr noundef @.str.5, i32 noundef %15303, ptr noundef @.str.86, ptr noundef @.str.1, i32 noundef 722, ptr noundef %15306, ptr noundef %15309, ptr noundef %15312, i32 noundef %15314) #10
  br label %15316

15316:                                            ; preds = %15299, %15282
  call void @llvm.lifetime.end.p0(i64 4, ptr %443) #10
  br label %15317

15317:                                            ; preds = %15316
  br label %15318

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

15319:                                            ; No predecessors!
  br label %15320

15320:                                            ; preds = %15319
  br label %15321

15321:                                            ; preds = %15320, %15262
  br label %15322

15322:                                            ; preds = %15321
  br label %15323

15323:                                            ; preds = %15322
  br label %15324

15324:                                            ; preds = %15323
  %15325 = load i32, ptr @test_count, align 4, !tbaa !5
  %15326 = add nsw i32 %15325, 1
  store i32 %15326, ptr @test_count, align 4, !tbaa !5
  %15327 = load ptr, ptr %440, align 8, !tbaa !9
  %15328 = call i32 @s2n_connection_set_blinding(ptr noundef %15327, i32 noundef 1)
  %15329 = icmp eq i32 %15328, -1
  br i1 %15329, label %15330, label %15383

15330:                                            ; preds = %15324
  br label %15331

15331:                                            ; preds = %15330
  br label %15332

15332:                                            ; preds = %15331
  call void @llvm.lifetime.start.p0(i64 4, ptr %444) #10
  %15333 = call ptr @__errno_location() #11
  %15334 = load i32, ptr %15333, align 4, !tbaa !5
  store i32 %15334, ptr %444, align 4, !tbaa !5
  %15335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15336 = call i32 @s2n_print_stacktrace(ptr noundef %15335)
  %15337 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15338 = trunc i8 %15337 to i1
  br i1 %15338, label %15339, label %15361

15339:                                            ; preds = %15332
  %15340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15341 = call i32 @fileno(ptr noundef %15340) #10
  %15342 = call i32 @isatty(i32 noundef %15341) #10
  %15343 = icmp ne i32 %15342, 0
  br i1 %15343, label %15344, label %15361

15344:                                            ; preds = %15339
  %15345 = load i32, ptr %444, align 4, !tbaa !5
  %15346 = call ptr @__errno_location() #11
  store i32 %15345, ptr %15346, align 4, !tbaa !5
  %15347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15348 = load i32, ptr @test_count, align 4, !tbaa !5
  %15349 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15350 = load i32, ptr %15349, align 4, !tbaa !5
  %15351 = call ptr @s2n_strerror(i32 noundef %15350, ptr noundef @.str.4)
  %15352 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15353 = load i32, ptr %15352, align 4, !tbaa !5
  %15354 = call ptr @s2n_strerror_debug(i32 noundef %15353, ptr noundef @.str.4)
  %15355 = call ptr @__errno_location() #11
  %15356 = load i32, ptr %15355, align 4, !tbaa !5
  %15357 = call ptr @strerror(i32 noundef %15356) #10
  %15358 = call ptr @__errno_location() #11
  %15359 = load i32, ptr %15358, align 4, !tbaa !5
  %15360 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15347, ptr noundef @.str.2, i32 noundef %15348, ptr noundef @.str.94, ptr noundef @.str.1, i32 noundef 723, ptr noundef %15351, ptr noundef %15354, ptr noundef %15357, i32 noundef %15359) #10
  br label %15378

15361:                                            ; preds = %15339, %15332
  %15362 = load i32, ptr %444, align 4, !tbaa !5
  %15363 = call ptr @__errno_location() #11
  store i32 %15362, ptr %15363, align 4, !tbaa !5
  %15364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15365 = load i32, ptr @test_count, align 4, !tbaa !5
  %15366 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15367 = load i32, ptr %15366, align 4, !tbaa !5
  %15368 = call ptr @s2n_strerror(i32 noundef %15367, ptr noundef @.str.4)
  %15369 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15370 = load i32, ptr %15369, align 4, !tbaa !5
  %15371 = call ptr @s2n_strerror_debug(i32 noundef %15370, ptr noundef @.str.4)
  %15372 = call ptr @__errno_location() #11
  %15373 = load i32, ptr %15372, align 4, !tbaa !5
  %15374 = call ptr @strerror(i32 noundef %15373) #10
  %15375 = call ptr @__errno_location() #11
  %15376 = load i32, ptr %15375, align 4, !tbaa !5
  %15377 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15364, ptr noundef @.str.5, i32 noundef %15365, ptr noundef @.str.94, ptr noundef @.str.1, i32 noundef 723, ptr noundef %15368, ptr noundef %15371, ptr noundef %15374, i32 noundef %15376) #10
  br label %15378

15378:                                            ; preds = %15361, %15344
  call void @llvm.lifetime.end.p0(i64 4, ptr %444) #10
  br label %15379

15379:                                            ; preds = %15378
  br label %15380

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

15381:                                            ; No predecessors!
  br label %15382

15382:                                            ; preds = %15381
  br label %15383

15383:                                            ; preds = %15382, %15324
  br label %15384

15384:                                            ; preds = %15383
  br label %15385

15385:                                            ; preds = %15384
  call void @llvm.lifetime.start.p0(i64 8, ptr %445) #10
  call void @llvm.memset.p0.i64(ptr align 4 %445, i8 0, i64 8, i1 false)
  br label %15386

15386:                                            ; preds = %15385
  %15387 = load i32, ptr @test_count, align 4, !tbaa !5
  %15388 = add nsw i32 %15387, 1
  store i32 %15388, ptr @test_count, align 4, !tbaa !5
  %15389 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef %445)
  %15390 = icmp eq i32 %15389, -1
  br i1 %15390, label %15391, label %15444

15391:                                            ; preds = %15386
  br label %15392

15392:                                            ; preds = %15391
  br label %15393

15393:                                            ; preds = %15392
  call void @llvm.lifetime.start.p0(i64 4, ptr %446) #10
  %15394 = call ptr @__errno_location() #11
  %15395 = load i32, ptr %15394, align 4, !tbaa !5
  store i32 %15395, ptr %446, align 4, !tbaa !5
  %15396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15397 = call i32 @s2n_print_stacktrace(ptr noundef %15396)
  %15398 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15399 = trunc i8 %15398 to i1
  br i1 %15399, label %15400, label %15422

15400:                                            ; preds = %15393
  %15401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15402 = call i32 @fileno(ptr noundef %15401) #10
  %15403 = call i32 @isatty(i32 noundef %15402) #10
  %15404 = icmp ne i32 %15403, 0
  br i1 %15404, label %15405, label %15422

15405:                                            ; preds = %15400
  %15406 = load i32, ptr %446, align 4, !tbaa !5
  %15407 = call ptr @__errno_location() #11
  store i32 %15406, ptr %15407, align 4, !tbaa !5
  %15408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15409 = load i32, ptr @test_count, align 4, !tbaa !5
  %15410 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15411 = load i32, ptr %15410, align 4, !tbaa !5
  %15412 = call ptr @s2n_strerror(i32 noundef %15411, ptr noundef @.str.4)
  %15413 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15414 = load i32, ptr %15413, align 4, !tbaa !5
  %15415 = call ptr @s2n_strerror_debug(i32 noundef %15414, ptr noundef @.str.4)
  %15416 = call ptr @__errno_location() #11
  %15417 = load i32, ptr %15416, align 4, !tbaa !5
  %15418 = call ptr @strerror(i32 noundef %15417) #10
  %15419 = call ptr @__errno_location() #11
  %15420 = load i32, ptr %15419, align 4, !tbaa !5
  %15421 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15408, ptr noundef @.str.2, i32 noundef %15409, ptr noundef @.str.87, ptr noundef @.str.1, i32 noundef 726, ptr noundef %15412, ptr noundef %15415, ptr noundef %15418, i32 noundef %15420) #10
  br label %15439

15422:                                            ; preds = %15400, %15393
  %15423 = load i32, ptr %446, align 4, !tbaa !5
  %15424 = call ptr @__errno_location() #11
  store i32 %15423, ptr %15424, align 4, !tbaa !5
  %15425 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15426 = load i32, ptr @test_count, align 4, !tbaa !5
  %15427 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15428 = load i32, ptr %15427, align 4, !tbaa !5
  %15429 = call ptr @s2n_strerror(i32 noundef %15428, ptr noundef @.str.4)
  %15430 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15431 = load i32, ptr %15430, align 4, !tbaa !5
  %15432 = call ptr @s2n_strerror_debug(i32 noundef %15431, ptr noundef @.str.4)
  %15433 = call ptr @__errno_location() #11
  %15434 = load i32, ptr %15433, align 4, !tbaa !5
  %15435 = call ptr @strerror(i32 noundef %15434) #10
  %15436 = call ptr @__errno_location() #11
  %15437 = load i32, ptr %15436, align 4, !tbaa !5
  %15438 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15425, ptr noundef @.str.5, i32 noundef %15426, ptr noundef @.str.87, ptr noundef @.str.1, i32 noundef 726, ptr noundef %15429, ptr noundef %15432, ptr noundef %15435, i32 noundef %15437) #10
  br label %15439

15439:                                            ; preds = %15422, %15405
  call void @llvm.lifetime.end.p0(i64 4, ptr %446) #10
  br label %15440

15440:                                            ; preds = %15439
  br label %15441

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

15442:                                            ; No predecessors!
  br label %15443

15443:                                            ; preds = %15442
  br label %15444

15444:                                            ; preds = %15443, %15386
  br label %15445

15445:                                            ; preds = %15444
  br label %15446

15446:                                            ; preds = %15445
  br label %15447

15447:                                            ; preds = %15446
  %15448 = load i32, ptr @test_count, align 4, !tbaa !5
  %15449 = add nsw i32 %15448, 1
  store i32 %15449, ptr @test_count, align 4, !tbaa !5
  %15450 = load ptr, ptr %440, align 8, !tbaa !9
  %15451 = call i32 @s2n_connection_set_io_pair(ptr noundef %15450, ptr noundef %445)
  %15452 = icmp eq i32 %15451, -1
  br i1 %15452, label %15453, label %15506

15453:                                            ; preds = %15447
  br label %15454

15454:                                            ; preds = %15453
  br label %15455

15455:                                            ; preds = %15454
  call void @llvm.lifetime.start.p0(i64 4, ptr %447) #10
  %15456 = call ptr @__errno_location() #11
  %15457 = load i32, ptr %15456, align 4, !tbaa !5
  store i32 %15457, ptr %447, align 4, !tbaa !5
  %15458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15459 = call i32 @s2n_print_stacktrace(ptr noundef %15458)
  %15460 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15461 = trunc i8 %15460 to i1
  br i1 %15461, label %15462, label %15484

15462:                                            ; preds = %15455
  %15463 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15464 = call i32 @fileno(ptr noundef %15463) #10
  %15465 = call i32 @isatty(i32 noundef %15464) #10
  %15466 = icmp ne i32 %15465, 0
  br i1 %15466, label %15467, label %15484

15467:                                            ; preds = %15462
  %15468 = load i32, ptr %447, align 4, !tbaa !5
  %15469 = call ptr @__errno_location() #11
  store i32 %15468, ptr %15469, align 4, !tbaa !5
  %15470 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15471 = load i32, ptr @test_count, align 4, !tbaa !5
  %15472 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15473 = load i32, ptr %15472, align 4, !tbaa !5
  %15474 = call ptr @s2n_strerror(i32 noundef %15473, ptr noundef @.str.4)
  %15475 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15476 = load i32, ptr %15475, align 4, !tbaa !5
  %15477 = call ptr @s2n_strerror_debug(i32 noundef %15476, ptr noundef @.str.4)
  %15478 = call ptr @__errno_location() #11
  %15479 = load i32, ptr %15478, align 4, !tbaa !5
  %15480 = call ptr @strerror(i32 noundef %15479) #10
  %15481 = call ptr @__errno_location() #11
  %15482 = load i32, ptr %15481, align 4, !tbaa !5
  %15483 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15470, ptr noundef @.str.2, i32 noundef %15471, ptr noundef @.str.88, ptr noundef @.str.1, i32 noundef 727, ptr noundef %15474, ptr noundef %15477, ptr noundef %15480, i32 noundef %15482) #10
  br label %15501

15484:                                            ; preds = %15462, %15455
  %15485 = load i32, ptr %447, align 4, !tbaa !5
  %15486 = call ptr @__errno_location() #11
  store i32 %15485, ptr %15486, align 4, !tbaa !5
  %15487 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15488 = load i32, ptr @test_count, align 4, !tbaa !5
  %15489 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15490 = load i32, ptr %15489, align 4, !tbaa !5
  %15491 = call ptr @s2n_strerror(i32 noundef %15490, ptr noundef @.str.4)
  %15492 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15493 = load i32, ptr %15492, align 4, !tbaa !5
  %15494 = call ptr @s2n_strerror_debug(i32 noundef %15493, ptr noundef @.str.4)
  %15495 = call ptr @__errno_location() #11
  %15496 = load i32, ptr %15495, align 4, !tbaa !5
  %15497 = call ptr @strerror(i32 noundef %15496) #10
  %15498 = call ptr @__errno_location() #11
  %15499 = load i32, ptr %15498, align 4, !tbaa !5
  %15500 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15487, ptr noundef @.str.5, i32 noundef %15488, ptr noundef @.str.88, ptr noundef @.str.1, i32 noundef 727, ptr noundef %15491, ptr noundef %15494, ptr noundef %15497, i32 noundef %15499) #10
  br label %15501

15501:                                            ; preds = %15484, %15467
  call void @llvm.lifetime.end.p0(i64 4, ptr %447) #10
  br label %15502

15502:                                            ; preds = %15501
  br label %15503

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

15504:                                            ; No predecessors!
  br label %15505

15505:                                            ; preds = %15504
  br label %15506

15506:                                            ; preds = %15505, %15447
  br label %15507

15507:                                            ; preds = %15506
  br label %15508

15508:                                            ; preds = %15507
  br label %15509

15509:                                            ; preds = %15508
  %15510 = load i32, ptr @test_count, align 4, !tbaa !5
  %15511 = add nsw i32 %15510, 1
  store i32 %15511, ptr @test_count, align 4, !tbaa !5
  %15512 = load ptr, ptr %436, align 8, !tbaa !9
  %15513 = call i32 @s2n_connection_set_io_pair(ptr noundef %15512, ptr noundef %445)
  %15514 = icmp eq i32 %15513, -1
  br i1 %15514, label %15515, label %15568

15515:                                            ; preds = %15509
  br label %15516

15516:                                            ; preds = %15515
  br label %15517

15517:                                            ; preds = %15516
  call void @llvm.lifetime.start.p0(i64 4, ptr %448) #10
  %15518 = call ptr @__errno_location() #11
  %15519 = load i32, ptr %15518, align 4, !tbaa !5
  store i32 %15519, ptr %448, align 4, !tbaa !5
  %15520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15521 = call i32 @s2n_print_stacktrace(ptr noundef %15520)
  %15522 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15523 = trunc i8 %15522 to i1
  br i1 %15523, label %15524, label %15546

15524:                                            ; preds = %15517
  %15525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15526 = call i32 @fileno(ptr noundef %15525) #10
  %15527 = call i32 @isatty(i32 noundef %15526) #10
  %15528 = icmp ne i32 %15527, 0
  br i1 %15528, label %15529, label %15546

15529:                                            ; preds = %15524
  %15530 = load i32, ptr %448, align 4, !tbaa !5
  %15531 = call ptr @__errno_location() #11
  store i32 %15530, ptr %15531, align 4, !tbaa !5
  %15532 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15533 = load i32, ptr @test_count, align 4, !tbaa !5
  %15534 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15535 = load i32, ptr %15534, align 4, !tbaa !5
  %15536 = call ptr @s2n_strerror(i32 noundef %15535, ptr noundef @.str.4)
  %15537 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15538 = load i32, ptr %15537, align 4, !tbaa !5
  %15539 = call ptr @s2n_strerror_debug(i32 noundef %15538, ptr noundef @.str.4)
  %15540 = call ptr @__errno_location() #11
  %15541 = load i32, ptr %15540, align 4, !tbaa !5
  %15542 = call ptr @strerror(i32 noundef %15541) #10
  %15543 = call ptr @__errno_location() #11
  %15544 = load i32, ptr %15543, align 4, !tbaa !5
  %15545 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15532, ptr noundef @.str.2, i32 noundef %15533, ptr noundef @.str.89, ptr noundef @.str.1, i32 noundef 728, ptr noundef %15536, ptr noundef %15539, ptr noundef %15542, i32 noundef %15544) #10
  br label %15563

15546:                                            ; preds = %15524, %15517
  %15547 = load i32, ptr %448, align 4, !tbaa !5
  %15548 = call ptr @__errno_location() #11
  store i32 %15547, ptr %15548, align 4, !tbaa !5
  %15549 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15550 = load i32, ptr @test_count, align 4, !tbaa !5
  %15551 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15552 = load i32, ptr %15551, align 4, !tbaa !5
  %15553 = call ptr @s2n_strerror(i32 noundef %15552, ptr noundef @.str.4)
  %15554 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15555 = load i32, ptr %15554, align 4, !tbaa !5
  %15556 = call ptr @s2n_strerror_debug(i32 noundef %15555, ptr noundef @.str.4)
  %15557 = call ptr @__errno_location() #11
  %15558 = load i32, ptr %15557, align 4, !tbaa !5
  %15559 = call ptr @strerror(i32 noundef %15558) #10
  %15560 = call ptr @__errno_location() #11
  %15561 = load i32, ptr %15560, align 4, !tbaa !5
  %15562 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15549, ptr noundef @.str.5, i32 noundef %15550, ptr noundef @.str.89, ptr noundef @.str.1, i32 noundef 728, ptr noundef %15553, ptr noundef %15556, ptr noundef %15559, i32 noundef %15561) #10
  br label %15563

15563:                                            ; preds = %15546, %15529
  call void @llvm.lifetime.end.p0(i64 4, ptr %448) #10
  br label %15564

15564:                                            ; preds = %15563
  br label %15565

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

15566:                                            ; No predecessors!
  br label %15567

15567:                                            ; preds = %15566
  br label %15568

15568:                                            ; preds = %15567, %15509
  br label %15569

15569:                                            ; preds = %15568
  br label %15570

15570:                                            ; preds = %15569
  br label %15571

15571:                                            ; preds = %15570
  br label %15572

15572:                                            ; preds = %15571
  br label %15573

15573:                                            ; preds = %15572
  %15574 = load i32, ptr @test_count, align 4, !tbaa !5
  %15575 = add nsw i32 %15574, 1
  store i32 %15575, ptr @test_count, align 4, !tbaa !5
  %15576 = load ptr, ptr %436, align 8, !tbaa !9
  %15577 = load ptr, ptr %440, align 8, !tbaa !9
  %15578 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %15576, ptr noundef %15577)
  %15579 = icmp eq i32 %15578, -1
  br i1 %15579, label %15633, label %15580

15580:                                            ; preds = %15573
  br label %15581

15581:                                            ; preds = %15580
  br label %15582

15582:                                            ; preds = %15581
  call void @llvm.lifetime.start.p0(i64 4, ptr %449) #10
  %15583 = call ptr @__errno_location() #11
  %15584 = load i32, ptr %15583, align 4, !tbaa !5
  store i32 %15584, ptr %449, align 4, !tbaa !5
  %15585 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15586 = call i32 @s2n_print_stacktrace(ptr noundef %15585)
  %15587 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15588 = trunc i8 %15587 to i1
  br i1 %15588, label %15589, label %15611

15589:                                            ; preds = %15582
  %15590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15591 = call i32 @fileno(ptr noundef %15590) #10
  %15592 = call i32 @isatty(i32 noundef %15591) #10
  %15593 = icmp ne i32 %15592, 0
  br i1 %15593, label %15594, label %15611

15594:                                            ; preds = %15589
  %15595 = load i32, ptr %449, align 4, !tbaa !5
  %15596 = call ptr @__errno_location() #11
  store i32 %15595, ptr %15596, align 4, !tbaa !5
  %15597 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15598 = load i32, ptr @test_count, align 4, !tbaa !5
  %15599 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15600 = load i32, ptr %15599, align 4, !tbaa !5
  %15601 = call ptr @s2n_strerror(i32 noundef %15600, ptr noundef @.str.4)
  %15602 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15603 = load i32, ptr %15602, align 4, !tbaa !5
  %15604 = call ptr @s2n_strerror_debug(i32 noundef %15603, ptr noundef @.str.4)
  %15605 = call ptr @__errno_location() #11
  %15606 = load i32, ptr %15605, align 4, !tbaa !5
  %15607 = call ptr @strerror(i32 noundef %15606) #10
  %15608 = call ptr @__errno_location() #11
  %15609 = load i32, ptr %15608, align 4, !tbaa !5
  %15610 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15597, ptr noundef @.str.2, i32 noundef %15598, ptr noundef @.str.95, ptr noundef @.str.1, i32 noundef 731, ptr noundef %15601, ptr noundef %15604, ptr noundef %15607, i32 noundef %15609) #10
  br label %15628

15611:                                            ; preds = %15589, %15582
  %15612 = load i32, ptr %449, align 4, !tbaa !5
  %15613 = call ptr @__errno_location() #11
  store i32 %15612, ptr %15613, align 4, !tbaa !5
  %15614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15615 = load i32, ptr @test_count, align 4, !tbaa !5
  %15616 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15617 = load i32, ptr %15616, align 4, !tbaa !5
  %15618 = call ptr @s2n_strerror(i32 noundef %15617, ptr noundef @.str.4)
  %15619 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15620 = load i32, ptr %15619, align 4, !tbaa !5
  %15621 = call ptr @s2n_strerror_debug(i32 noundef %15620, ptr noundef @.str.4)
  %15622 = call ptr @__errno_location() #11
  %15623 = load i32, ptr %15622, align 4, !tbaa !5
  %15624 = call ptr @strerror(i32 noundef %15623) #10
  %15625 = call ptr @__errno_location() #11
  %15626 = load i32, ptr %15625, align 4, !tbaa !5
  %15627 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15614, ptr noundef @.str.5, i32 noundef %15615, ptr noundef @.str.95, ptr noundef @.str.1, i32 noundef 731, ptr noundef %15618, ptr noundef %15621, ptr noundef %15624, i32 noundef %15626) #10
  br label %15628

15628:                                            ; preds = %15611, %15594
  call void @llvm.lifetime.end.p0(i64 4, ptr %449) #10
  br label %15629

15629:                                            ; preds = %15628
  br label %15630

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

15631:                                            ; No predecessors!
  br label %15632

15632:                                            ; preds = %15631
  br label %15633

15633:                                            ; preds = %15632, %15573
  br label %15634

15634:                                            ; preds = %15633
  br label %15635

15635:                                            ; preds = %15634
  br label %15636

15636:                                            ; preds = %15635
  %15637 = load i32, ptr @test_count, align 4, !tbaa !5
  %15638 = add nsw i32 %15637, 1
  store i32 %15638, ptr @test_count, align 4, !tbaa !5
  %15639 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15640 = load i32, ptr %15639, align 4, !tbaa !5
  %15641 = icmp eq i32 %15640, 335544367
  br i1 %15641, label %15695, label %15642

15642:                                            ; preds = %15636
  br label %15643

15643:                                            ; preds = %15642
  br label %15644

15644:                                            ; preds = %15643
  call void @llvm.lifetime.start.p0(i64 4, ptr %450) #10
  %15645 = call ptr @__errno_location() #11
  %15646 = load i32, ptr %15645, align 4, !tbaa !5
  store i32 %15646, ptr %450, align 4, !tbaa !5
  %15647 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15648 = call i32 @s2n_print_stacktrace(ptr noundef %15647)
  %15649 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15650 = trunc i8 %15649 to i1
  br i1 %15650, label %15651, label %15673

15651:                                            ; preds = %15644
  %15652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15653 = call i32 @fileno(ptr noundef %15652) #10
  %15654 = call i32 @isatty(i32 noundef %15653) #10
  %15655 = icmp ne i32 %15654, 0
  br i1 %15655, label %15656, label %15673

15656:                                            ; preds = %15651
  %15657 = load i32, ptr %450, align 4, !tbaa !5
  %15658 = call ptr @__errno_location() #11
  store i32 %15657, ptr %15658, align 4, !tbaa !5
  %15659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15660 = load i32, ptr @test_count, align 4, !tbaa !5
  %15661 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15662 = load i32, ptr %15661, align 4, !tbaa !5
  %15663 = call ptr @s2n_strerror(i32 noundef %15662, ptr noundef @.str.4)
  %15664 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15665 = load i32, ptr %15664, align 4, !tbaa !5
  %15666 = call ptr @s2n_strerror_debug(i32 noundef %15665, ptr noundef @.str.4)
  %15667 = call ptr @__errno_location() #11
  %15668 = load i32, ptr %15667, align 4, !tbaa !5
  %15669 = call ptr @strerror(i32 noundef %15668) #10
  %15670 = call ptr @__errno_location() #11
  %15671 = load i32, ptr %15670, align 4, !tbaa !5
  %15672 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15659, ptr noundef @.str.2, i32 noundef %15660, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 731, ptr noundef %15663, ptr noundef %15666, ptr noundef %15669, i32 noundef %15671) #10
  br label %15690

15673:                                            ; preds = %15651, %15644
  %15674 = load i32, ptr %450, align 4, !tbaa !5
  %15675 = call ptr @__errno_location() #11
  store i32 %15674, ptr %15675, align 4, !tbaa !5
  %15676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15677 = load i32, ptr @test_count, align 4, !tbaa !5
  %15678 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15679 = load i32, ptr %15678, align 4, !tbaa !5
  %15680 = call ptr @s2n_strerror(i32 noundef %15679, ptr noundef @.str.4)
  %15681 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15682 = load i32, ptr %15681, align 4, !tbaa !5
  %15683 = call ptr @s2n_strerror_debug(i32 noundef %15682, ptr noundef @.str.4)
  %15684 = call ptr @__errno_location() #11
  %15685 = load i32, ptr %15684, align 4, !tbaa !5
  %15686 = call ptr @strerror(i32 noundef %15685) #10
  %15687 = call ptr @__errno_location() #11
  %15688 = load i32, ptr %15687, align 4, !tbaa !5
  %15689 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15676, ptr noundef @.str.5, i32 noundef %15677, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 731, ptr noundef %15680, ptr noundef %15683, ptr noundef %15686, i32 noundef %15688) #10
  br label %15690

15690:                                            ; preds = %15673, %15656
  call void @llvm.lifetime.end.p0(i64 4, ptr %450) #10
  br label %15691

15691:                                            ; preds = %15690
  br label %15692

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

15693:                                            ; No predecessors!
  br label %15694

15694:                                            ; preds = %15693
  br label %15695

15695:                                            ; preds = %15694, %15636
  br label %15696

15696:                                            ; preds = %15695
  br label %15697

15697:                                            ; preds = %15696
  br label %15698

15698:                                            ; preds = %15697
  %15699 = load i32, ptr @test_count, align 4, !tbaa !5
  %15700 = add nsw i32 %15699, 1
  store i32 %15700, ptr @test_count, align 4, !tbaa !5
  %15701 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15702 = load i32, ptr %15701, align 4, !tbaa !5
  %15703 = call ptr @s2n_strerror_debug(i32 noundef %15702, ptr noundef @.str.4)
  %15704 = icmp eq ptr %15703, null
  br i1 %15704, label %15705, label %15758

15705:                                            ; preds = %15698
  br label %15706

15706:                                            ; preds = %15705
  br label %15707

15707:                                            ; preds = %15706
  call void @llvm.lifetime.start.p0(i64 4, ptr %451) #10
  %15708 = call ptr @__errno_location() #11
  %15709 = load i32, ptr %15708, align 4, !tbaa !5
  store i32 %15709, ptr %451, align 4, !tbaa !5
  %15710 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15711 = call i32 @s2n_print_stacktrace(ptr noundef %15710)
  %15712 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15713 = trunc i8 %15712 to i1
  br i1 %15713, label %15714, label %15736

15714:                                            ; preds = %15707
  %15715 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15716 = call i32 @fileno(ptr noundef %15715) #10
  %15717 = call i32 @isatty(i32 noundef %15716) #10
  %15718 = icmp ne i32 %15717, 0
  br i1 %15718, label %15719, label %15736

15719:                                            ; preds = %15714
  %15720 = load i32, ptr %451, align 4, !tbaa !5
  %15721 = call ptr @__errno_location() #11
  store i32 %15720, ptr %15721, align 4, !tbaa !5
  %15722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15723 = load i32, ptr @test_count, align 4, !tbaa !5
  %15724 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15725 = load i32, ptr %15724, align 4, !tbaa !5
  %15726 = call ptr @s2n_strerror(i32 noundef %15725, ptr noundef @.str.4)
  %15727 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15728 = load i32, ptr %15727, align 4, !tbaa !5
  %15729 = call ptr @s2n_strerror_debug(i32 noundef %15728, ptr noundef @.str.4)
  %15730 = call ptr @__errno_location() #11
  %15731 = load i32, ptr %15730, align 4, !tbaa !5
  %15732 = call ptr @strerror(i32 noundef %15731) #10
  %15733 = call ptr @__errno_location() #11
  %15734 = load i32, ptr %15733, align 4, !tbaa !5
  %15735 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15722, ptr noundef @.str.2, i32 noundef %15723, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 731, ptr noundef %15726, ptr noundef %15729, ptr noundef %15732, i32 noundef %15734) #10
  br label %15753

15736:                                            ; preds = %15714, %15707
  %15737 = load i32, ptr %451, align 4, !tbaa !5
  %15738 = call ptr @__errno_location() #11
  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() #11
  %15748 = load i32, ptr %15747, align 4, !tbaa !5
  %15749 = call ptr @strerror(i32 noundef %15748) #10
  %15750 = call ptr @__errno_location() #11
  %15751 = load i32, ptr %15750, align 4, !tbaa !5
  %15752 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15739, ptr noundef @.str.5, i32 noundef %15740, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 731, ptr noundef %15743, ptr noundef %15746, ptr noundef %15749, i32 noundef %15751) #10
  br label %15753

15753:                                            ; preds = %15736, %15719
  call void @llvm.lifetime.end.p0(i64 4, ptr %451) #10
  br label %15754

15754:                                            ; preds = %15753
  br label %15755

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

15756:                                            ; No predecessors!
  br label %15757

15757:                                            ; preds = %15756
  br label %15758

15758:                                            ; preds = %15757, %15698
  br label %15759

15759:                                            ; preds = %15758
  br label %15760

15760:                                            ; preds = %15759
  br label %15761

15761:                                            ; preds = %15760
  br label %15762

15762:                                            ; preds = %15761
  br label %15763

15763:                                            ; preds = %15762
  %15764 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %15764, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %15765 = call ptr @__errno_location() #11
  store i32 0, ptr %15765, align 4, !tbaa !5
  br label %15766

15766:                                            ; preds = %15763
  br label %15767

15767:                                            ; preds = %15766
  br label %15768

15768:                                            ; preds = %15767
  br label %15769

15769:                                            ; preds = %15768
  br label %15770

15770:                                            ; preds = %15769
  %15771 = load i32, ptr @test_count, align 4, !tbaa !5
  %15772 = add nsw i32 %15771, 1
  store i32 %15772, ptr @test_count, align 4, !tbaa !5
  %15773 = getelementptr inbounds %struct.crl_lookup_data, ptr %434, i32 0, i32 2
  %15774 = load i8, ptr %15773, align 8, !tbaa !27
  %15775 = zext i8 %15774 to i32
  %15776 = icmp eq i32 %15775, 2
  br i1 %15776, label %15830, label %15777

15777:                                            ; preds = %15770
  br label %15778

15778:                                            ; preds = %15777
  br label %15779

15779:                                            ; preds = %15778
  call void @llvm.lifetime.start.p0(i64 4, ptr %452) #10
  %15780 = call ptr @__errno_location() #11
  %15781 = load i32, ptr %15780, align 4, !tbaa !5
  store i32 %15781, ptr %452, align 4, !tbaa !5
  %15782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15783 = call i32 @s2n_print_stacktrace(ptr noundef %15782)
  %15784 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15785 = trunc i8 %15784 to i1
  br i1 %15785, label %15786, label %15808

15786:                                            ; preds = %15779
  %15787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15788 = call i32 @fileno(ptr noundef %15787) #10
  %15789 = call i32 @isatty(i32 noundef %15788) #10
  %15790 = icmp ne i32 %15789, 0
  br i1 %15790, label %15791, label %15808

15791:                                            ; preds = %15786
  %15792 = load i32, ptr %452, align 4, !tbaa !5
  %15793 = call ptr @__errno_location() #11
  store i32 %15792, ptr %15793, align 4, !tbaa !5
  %15794 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15795 = load i32, ptr @test_count, align 4, !tbaa !5
  %15796 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15797 = load i32, ptr %15796, align 4, !tbaa !5
  %15798 = call ptr @s2n_strerror(i32 noundef %15797, ptr noundef @.str.4)
  %15799 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15800 = load i32, ptr %15799, align 4, !tbaa !5
  %15801 = call ptr @s2n_strerror_debug(i32 noundef %15800, ptr noundef @.str.4)
  %15802 = call ptr @__errno_location() #11
  %15803 = load i32, ptr %15802, align 4, !tbaa !5
  %15804 = call ptr @strerror(i32 noundef %15803) #10
  %15805 = call ptr @__errno_location() #11
  %15806 = load i32, ptr %15805, align 4, !tbaa !5
  %15807 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15794, ptr noundef @.str.2, i32 noundef %15795, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 733, ptr noundef %15798, ptr noundef %15801, ptr noundef %15804, i32 noundef %15806) #10
  br label %15825

15808:                                            ; preds = %15786, %15779
  %15809 = load i32, ptr %452, align 4, !tbaa !5
  %15810 = call ptr @__errno_location() #11
  store i32 %15809, ptr %15810, align 4, !tbaa !5
  %15811 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15812 = load i32, ptr @test_count, align 4, !tbaa !5
  %15813 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15814 = load i32, ptr %15813, align 4, !tbaa !5
  %15815 = call ptr @s2n_strerror(i32 noundef %15814, ptr noundef @.str.4)
  %15816 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15817 = load i32, ptr %15816, align 4, !tbaa !5
  %15818 = call ptr @s2n_strerror_debug(i32 noundef %15817, ptr noundef @.str.4)
  %15819 = call ptr @__errno_location() #11
  %15820 = load i32, ptr %15819, align 4, !tbaa !5
  %15821 = call ptr @strerror(i32 noundef %15820) #10
  %15822 = call ptr @__errno_location() #11
  %15823 = load i32, ptr %15822, align 4, !tbaa !5
  %15824 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15811, ptr noundef @.str.5, i32 noundef %15812, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 733, ptr noundef %15815, ptr noundef %15818, ptr noundef %15821, i32 noundef %15823) #10
  br label %15825

15825:                                            ; preds = %15808, %15791
  call void @llvm.lifetime.end.p0(i64 4, ptr %452) #10
  br label %15826

15826:                                            ; preds = %15825
  br label %15827

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

15828:                                            ; No predecessors!
  br label %15829

15829:                                            ; preds = %15828
  br label %15830

15830:                                            ; preds = %15829, %15770
  br label %15831

15831:                                            ; preds = %15830
  br label %15832

15832:                                            ; preds = %15831
  %15833 = call i32 @s2n_io_pair_close(ptr noundef %445)
  call void @llvm.lifetime.end.p0(i64 8, ptr %445) #10
  %15834 = call i32 @s2n_connection_ptr_free(ptr noundef %440)
  %15835 = getelementptr inbounds %struct.s2n_result, ptr %453, i32 0, i32 0
  store i32 %15834, ptr %15835, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %440) #10
  %15836 = call i32 @s2n_connection_ptr_free(ptr noundef %436)
  %15837 = getelementptr inbounds %struct.s2n_result, ptr %454, i32 0, i32 0
  store i32 %15836, ptr %15837, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %436) #10
  call void @llvm.lifetime.end.p0(i64 88, ptr %434) #10
  %15838 = call i32 @s2n_config_ptr_free(ptr noundef %429)
  %15839 = getelementptr inbounds %struct.s2n_result, ptr %455, i32 0, i32 0
  store i32 %15838, ptr %15839, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %429) #10
  %15840 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef %427)
  %15841 = getelementptr inbounds %struct.s2n_result, ptr %456, i32 0, i32 0
  store i32 %15840, ptr %15841, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %427) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %457) #10
  store ptr null, ptr %457, align 8, !tbaa !9
  br label %15842

15842:                                            ; preds = %15832
  %15843 = load i32, ptr @test_count, align 4, !tbaa !5
  %15844 = add nsw i32 %15843, 1
  store i32 %15844, ptr @test_count, align 4, !tbaa !5
  %15845 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef %457, ptr noundef @.str.96, ptr noundef @.str.97)
  %15846 = icmp eq i32 %15845, -1
  br i1 %15846, label %15847, label %15900

15847:                                            ; preds = %15842
  br label %15848

15848:                                            ; preds = %15847
  br label %15849

15849:                                            ; preds = %15848
  call void @llvm.lifetime.start.p0(i64 4, ptr %458) #10
  %15850 = call ptr @__errno_location() #11
  %15851 = load i32, ptr %15850, align 4, !tbaa !5
  store i32 %15851, ptr %458, align 4, !tbaa !5
  %15852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15853 = call i32 @s2n_print_stacktrace(ptr noundef %15852)
  %15854 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15855 = trunc i8 %15854 to i1
  br i1 %15855, label %15856, label %15878

15856:                                            ; preds = %15849
  %15857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15858 = call i32 @fileno(ptr noundef %15857) #10
  %15859 = call i32 @isatty(i32 noundef %15858) #10
  %15860 = icmp ne i32 %15859, 0
  br i1 %15860, label %15861, label %15878

15861:                                            ; preds = %15856
  %15862 = load i32, ptr %458, align 4, !tbaa !5
  %15863 = call ptr @__errno_location() #11
  store i32 %15862, ptr %15863, align 4, !tbaa !5
  %15864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15865 = load i32, ptr @test_count, align 4, !tbaa !5
  %15866 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15867 = load i32, ptr %15866, align 4, !tbaa !5
  %15868 = call ptr @s2n_strerror(i32 noundef %15867, ptr noundef @.str.4)
  %15869 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15870 = load i32, ptr %15869, align 4, !tbaa !5
  %15871 = call ptr @s2n_strerror_debug(i32 noundef %15870, ptr noundef @.str.4)
  %15872 = call ptr @__errno_location() #11
  %15873 = load i32, ptr %15872, align 4, !tbaa !5
  %15874 = call ptr @strerror(i32 noundef %15873) #10
  %15875 = call ptr @__errno_location() #11
  %15876 = load i32, ptr %15875, align 4, !tbaa !5
  %15877 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15864, ptr noundef @.str.2, i32 noundef %15865, ptr noundef @.str.98, ptr noundef @.str.1, i32 noundef 740, ptr noundef %15868, ptr noundef %15871, ptr noundef %15874, i32 noundef %15876) #10
  br label %15895

15878:                                            ; preds = %15856, %15849
  %15879 = load i32, ptr %458, align 4, !tbaa !5
  %15880 = call ptr @__errno_location() #11
  store i32 %15879, ptr %15880, align 4, !tbaa !5
  %15881 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15882 = load i32, ptr @test_count, align 4, !tbaa !5
  %15883 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15884 = load i32, ptr %15883, align 4, !tbaa !5
  %15885 = call ptr @s2n_strerror(i32 noundef %15884, ptr noundef @.str.4)
  %15886 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15887 = load i32, ptr %15886, align 4, !tbaa !5
  %15888 = call ptr @s2n_strerror_debug(i32 noundef %15887, ptr noundef @.str.4)
  %15889 = call ptr @__errno_location() #11
  %15890 = load i32, ptr %15889, align 4, !tbaa !5
  %15891 = call ptr @strerror(i32 noundef %15890) #10
  %15892 = call ptr @__errno_location() #11
  %15893 = load i32, ptr %15892, align 4, !tbaa !5
  %15894 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15881, ptr noundef @.str.5, i32 noundef %15882, ptr noundef @.str.98, ptr noundef @.str.1, i32 noundef 740, ptr noundef %15885, ptr noundef %15888, ptr noundef %15891, i32 noundef %15893) #10
  br label %15895

15895:                                            ; preds = %15878, %15861
  call void @llvm.lifetime.end.p0(i64 4, ptr %458) #10
  br label %15896

15896:                                            ; preds = %15895
  br label %15897

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

15898:                                            ; No predecessors!
  br label %15899

15899:                                            ; preds = %15898
  br label %15900

15900:                                            ; preds = %15899, %15842
  br label %15901

15901:                                            ; preds = %15900
  br label %15902

15902:                                            ; preds = %15901
  call void @llvm.lifetime.start.p0(i64 8, ptr %459) #10
  %15903 = call ptr @s2n_config_new()
  store ptr %15903, ptr %459, align 8, !tbaa !9
  br label %15904

15904:                                            ; preds = %15902
  %15905 = load i32, ptr @test_count, align 4, !tbaa !5
  %15906 = add nsw i32 %15905, 1
  store i32 %15906, ptr @test_count, align 4, !tbaa !5
  %15907 = load ptr, ptr %459, align 8, !tbaa !9
  %15908 = icmp eq ptr %15907, null
  br i1 %15908, label %15909, label %15962

15909:                                            ; preds = %15904
  br label %15910

15910:                                            ; preds = %15909
  br label %15911

15911:                                            ; preds = %15910
  call void @llvm.lifetime.start.p0(i64 4, ptr %460) #10
  %15912 = call ptr @__errno_location() #11
  %15913 = load i32, ptr %15912, align 4, !tbaa !5
  store i32 %15913, ptr %460, align 4, !tbaa !5
  %15914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15915 = call i32 @s2n_print_stacktrace(ptr noundef %15914)
  %15916 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15917 = trunc i8 %15916 to i1
  br i1 %15917, label %15918, label %15940

15918:                                            ; preds = %15911
  %15919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15920 = call i32 @fileno(ptr noundef %15919) #10
  %15921 = call i32 @isatty(i32 noundef %15920) #10
  %15922 = icmp ne i32 %15921, 0
  br i1 %15922, label %15923, label %15940

15923:                                            ; preds = %15918
  %15924 = load i32, ptr %460, align 4, !tbaa !5
  %15925 = call ptr @__errno_location() #11
  store i32 %15924, ptr %15925, align 4, !tbaa !5
  %15926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15927 = load i32, ptr @test_count, align 4, !tbaa !5
  %15928 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15929 = load i32, ptr %15928, align 4, !tbaa !5
  %15930 = call ptr @s2n_strerror(i32 noundef %15929, ptr noundef @.str.4)
  %15931 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15932 = load i32, ptr %15931, align 4, !tbaa !5
  %15933 = call ptr @s2n_strerror_debug(i32 noundef %15932, ptr noundef @.str.4)
  %15934 = call ptr @__errno_location() #11
  %15935 = load i32, ptr %15934, align 4, !tbaa !5
  %15936 = call ptr @strerror(i32 noundef %15935) #10
  %15937 = call ptr @__errno_location() #11
  %15938 = load i32, ptr %15937, align 4, !tbaa !5
  %15939 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15926, ptr noundef @.str.2, i32 noundef %15927, ptr noundef @.str.99, ptr noundef @.str.1, i32 noundef 743, ptr noundef %15930, ptr noundef %15933, ptr noundef %15936, i32 noundef %15938) #10
  br label %15957

15940:                                            ; preds = %15918, %15911
  %15941 = load i32, ptr %460, align 4, !tbaa !5
  %15942 = call ptr @__errno_location() #11
  store i32 %15941, ptr %15942, align 4, !tbaa !5
  %15943 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15944 = load i32, ptr @test_count, align 4, !tbaa !5
  %15945 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15946 = load i32, ptr %15945, align 4, !tbaa !5
  %15947 = call ptr @s2n_strerror(i32 noundef %15946, ptr noundef @.str.4)
  %15948 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15949 = load i32, ptr %15948, align 4, !tbaa !5
  %15950 = call ptr @s2n_strerror_debug(i32 noundef %15949, ptr noundef @.str.4)
  %15951 = call ptr @__errno_location() #11
  %15952 = load i32, ptr %15951, align 4, !tbaa !5
  %15953 = call ptr @strerror(i32 noundef %15952) #10
  %15954 = call ptr @__errno_location() #11
  %15955 = load i32, ptr %15954, align 4, !tbaa !5
  %15956 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15943, ptr noundef @.str.5, i32 noundef %15944, ptr noundef @.str.99, ptr noundef @.str.1, i32 noundef 743, ptr noundef %15947, ptr noundef %15950, ptr noundef %15953, i32 noundef %15955) #10
  br label %15957

15957:                                            ; preds = %15940, %15923
  call void @llvm.lifetime.end.p0(i64 4, ptr %460) #10
  br label %15958

15958:                                            ; preds = %15957
  br label %15959

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

15960:                                            ; No predecessors!
  br label %15961

15961:                                            ; preds = %15960
  br label %15962

15962:                                            ; preds = %15961, %15904
  br label %15963

15963:                                            ; preds = %15962
  br label %15964

15964:                                            ; preds = %15963
  br label %15965

15965:                                            ; preds = %15964
  %15966 = load i32, ptr @test_count, align 4, !tbaa !5
  %15967 = add nsw i32 %15966, 1
  store i32 %15967, ptr @test_count, align 4, !tbaa !5
  %15968 = load ptr, ptr %459, align 8, !tbaa !9
  %15969 = load ptr, ptr %457, align 8, !tbaa !9
  %15970 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %15968, ptr noundef %15969)
  %15971 = icmp eq i32 %15970, -1
  br i1 %15971, label %15972, label %16025

15972:                                            ; preds = %15965
  br label %15973

15973:                                            ; preds = %15972
  br label %15974

15974:                                            ; preds = %15973
  call void @llvm.lifetime.start.p0(i64 4, ptr %461) #10
  %15975 = call ptr @__errno_location() #11
  %15976 = load i32, ptr %15975, align 4, !tbaa !5
  store i32 %15976, ptr %461, align 4, !tbaa !5
  %15977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15978 = call i32 @s2n_print_stacktrace(ptr noundef %15977)
  %15979 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15980 = trunc i8 %15979 to i1
  br i1 %15980, label %15981, label %16003

15981:                                            ; preds = %15974
  %15982 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15983 = call i32 @fileno(ptr noundef %15982) #10
  %15984 = call i32 @isatty(i32 noundef %15983) #10
  %15985 = icmp ne i32 %15984, 0
  br i1 %15985, label %15986, label %16003

15986:                                            ; preds = %15981
  %15987 = load i32, ptr %461, align 4, !tbaa !5
  %15988 = call ptr @__errno_location() #11
  store i32 %15987, ptr %15988, align 4, !tbaa !5
  %15989 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15990 = load i32, ptr @test_count, align 4, !tbaa !5
  %15991 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15992 = load i32, ptr %15991, align 4, !tbaa !5
  %15993 = call ptr @s2n_strerror(i32 noundef %15992, ptr noundef @.str.4)
  %15994 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15995 = load i32, ptr %15994, align 4, !tbaa !5
  %15996 = call ptr @s2n_strerror_debug(i32 noundef %15995, ptr noundef @.str.4)
  %15997 = call ptr @__errno_location() #11
  %15998 = load i32, ptr %15997, align 4, !tbaa !5
  %15999 = call ptr @strerror(i32 noundef %15998) #10
  %16000 = call ptr @__errno_location() #11
  %16001 = load i32, ptr %16000, align 4, !tbaa !5
  %16002 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15989, ptr noundef @.str.2, i32 noundef %15990, ptr noundef @.str.100, ptr noundef @.str.1, i32 noundef 744, ptr noundef %15993, ptr noundef %15996, ptr noundef %15999, i32 noundef %16001) #10
  br label %16020

16003:                                            ; preds = %15981, %15974
  %16004 = load i32, ptr %461, align 4, !tbaa !5
  %16005 = call ptr @__errno_location() #11
  store i32 %16004, ptr %16005, align 4, !tbaa !5
  %16006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16007 = load i32, ptr @test_count, align 4, !tbaa !5
  %16008 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16009 = load i32, ptr %16008, align 4, !tbaa !5
  %16010 = call ptr @s2n_strerror(i32 noundef %16009, ptr noundef @.str.4)
  %16011 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16012 = load i32, ptr %16011, align 4, !tbaa !5
  %16013 = call ptr @s2n_strerror_debug(i32 noundef %16012, ptr noundef @.str.4)
  %16014 = call ptr @__errno_location() #11
  %16015 = load i32, ptr %16014, align 4, !tbaa !5
  %16016 = call ptr @strerror(i32 noundef %16015) #10
  %16017 = call ptr @__errno_location() #11
  %16018 = load i32, ptr %16017, align 4, !tbaa !5
  %16019 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16006, ptr noundef @.str.5, i32 noundef %16007, ptr noundef @.str.100, ptr noundef @.str.1, i32 noundef 744, ptr noundef %16010, ptr noundef %16013, ptr noundef %16016, i32 noundef %16018) #10
  br label %16020

16020:                                            ; preds = %16003, %15986
  call void @llvm.lifetime.end.p0(i64 4, ptr %461) #10
  br label %16021

16021:                                            ; preds = %16020
  br label %16022

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

16023:                                            ; No predecessors!
  br label %16024

16024:                                            ; preds = %16023
  br label %16025

16025:                                            ; preds = %16024, %15965
  br label %16026

16026:                                            ; preds = %16025
  br label %16027

16027:                                            ; preds = %16026
  br label %16028

16028:                                            ; preds = %16027
  %16029 = load i32, ptr @test_count, align 4, !tbaa !5
  %16030 = add nsw i32 %16029, 1
  store i32 %16030, ptr @test_count, align 4, !tbaa !5
  %16031 = load ptr, ptr %459, align 8, !tbaa !9
  %16032 = call i32 @s2n_config_set_verification_ca_location(ptr noundef %16031, ptr noundef @.str.31, ptr noundef null)
  %16033 = icmp eq i32 %16032, -1
  br i1 %16033, label %16034, label %16087

16034:                                            ; preds = %16028
  br label %16035

16035:                                            ; preds = %16034
  br label %16036

16036:                                            ; preds = %16035
  call void @llvm.lifetime.start.p0(i64 4, ptr %462) #10
  %16037 = call ptr @__errno_location() #11
  %16038 = load i32, ptr %16037, align 4, !tbaa !5
  store i32 %16038, ptr %462, align 4, !tbaa !5
  %16039 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16040 = call i32 @s2n_print_stacktrace(ptr noundef %16039)
  %16041 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16042 = trunc i8 %16041 to i1
  br i1 %16042, label %16043, label %16065

16043:                                            ; preds = %16036
  %16044 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16045 = call i32 @fileno(ptr noundef %16044) #10
  %16046 = call i32 @isatty(i32 noundef %16045) #10
  %16047 = icmp ne i32 %16046, 0
  br i1 %16047, label %16048, label %16065

16048:                                            ; preds = %16043
  %16049 = load i32, ptr %462, align 4, !tbaa !5
  %16050 = call ptr @__errno_location() #11
  store i32 %16049, ptr %16050, align 4, !tbaa !5
  %16051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16052 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %16054, ptr noundef @.str.4)
  %16056 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16057 = load i32, ptr %16056, align 4, !tbaa !5
  %16058 = call ptr @s2n_strerror_debug(i32 noundef %16057, ptr noundef @.str.4)
  %16059 = call ptr @__errno_location() #11
  %16060 = load i32, ptr %16059, align 4, !tbaa !5
  %16061 = call ptr @strerror(i32 noundef %16060) #10
  %16062 = call ptr @__errno_location() #11
  %16063 = load i32, ptr %16062, align 4, !tbaa !5
  %16064 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16051, ptr noundef @.str.2, i32 noundef %16052, ptr noundef @.str.101, ptr noundef @.str.1, i32 noundef 745, ptr noundef %16055, ptr noundef %16058, ptr noundef %16061, i32 noundef %16063) #10
  br label %16082

16065:                                            ; preds = %16043, %16036
  %16066 = load i32, ptr %462, align 4, !tbaa !5
  %16067 = call ptr @__errno_location() #11
  store i32 %16066, ptr %16067, align 4, !tbaa !5
  %16068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16069 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %16071, ptr noundef @.str.4)
  %16073 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16074 = load i32, ptr %16073, align 4, !tbaa !5
  %16075 = call ptr @s2n_strerror_debug(i32 noundef %16074, ptr noundef @.str.4)
  %16076 = call ptr @__errno_location() #11
  %16077 = load i32, ptr %16076, align 4, !tbaa !5
  %16078 = call ptr @strerror(i32 noundef %16077) #10
  %16079 = call ptr @__errno_location() #11
  %16080 = load i32, ptr %16079, align 4, !tbaa !5
  %16081 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16068, ptr noundef @.str.5, i32 noundef %16069, ptr noundef @.str.101, ptr noundef @.str.1, i32 noundef 745, ptr noundef %16072, ptr noundef %16075, ptr noundef %16078, i32 noundef %16080) #10
  br label %16082

16082:                                            ; preds = %16065, %16048
  call void @llvm.lifetime.end.p0(i64 4, ptr %462) #10
  br label %16083

16083:                                            ; preds = %16082
  br label %16084

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

16085:                                            ; No predecessors!
  br label %16086

16086:                                            ; preds = %16085
  br label %16087

16087:                                            ; preds = %16086, %16028
  br label %16088

16088:                                            ; preds = %16087
  br label %16089

16089:                                            ; preds = %16088
  br label %16090

16090:                                            ; preds = %16089
  %16091 = load i32, ptr @test_count, align 4, !tbaa !5
  %16092 = add nsw i32 %16091, 1
  store i32 %16092, ptr @test_count, align 4, !tbaa !5
  %16093 = load ptr, ptr %459, align 8, !tbaa !9
  %16094 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %16093, ptr noundef @.str.80)
  %16095 = icmp eq i32 %16094, -1
  br i1 %16095, label %16096, label %16149

16096:                                            ; preds = %16090
  br label %16097

16097:                                            ; preds = %16096
  br label %16098

16098:                                            ; preds = %16097
  call void @llvm.lifetime.start.p0(i64 4, ptr %463) #10
  %16099 = call ptr @__errno_location() #11
  %16100 = load i32, ptr %16099, align 4, !tbaa !5
  store i32 %16100, ptr %463, align 4, !tbaa !5
  %16101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16102 = call i32 @s2n_print_stacktrace(ptr noundef %16101)
  %16103 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16104 = trunc i8 %16103 to i1
  br i1 %16104, label %16105, label %16127

16105:                                            ; preds = %16098
  %16106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16107 = call i32 @fileno(ptr noundef %16106) #10
  %16108 = call i32 @isatty(i32 noundef %16107) #10
  %16109 = icmp ne i32 %16108, 0
  br i1 %16109, label %16110, label %16127

16110:                                            ; preds = %16105
  %16111 = load i32, ptr %463, align 4, !tbaa !5
  %16112 = call ptr @__errno_location() #11
  store i32 %16111, ptr %16112, align 4, !tbaa !5
  %16113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16114 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %16116, ptr noundef @.str.4)
  %16118 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16119 = load i32, ptr %16118, align 4, !tbaa !5
  %16120 = call ptr @s2n_strerror_debug(i32 noundef %16119, ptr noundef @.str.4)
  %16121 = call ptr @__errno_location() #11
  %16122 = load i32, ptr %16121, align 4, !tbaa !5
  %16123 = call ptr @strerror(i32 noundef %16122) #10
  %16124 = call ptr @__errno_location() #11
  %16125 = load i32, ptr %16124, align 4, !tbaa !5
  %16126 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16113, ptr noundef @.str.2, i32 noundef %16114, ptr noundef @.str.102, ptr noundef @.str.1, i32 noundef 746, ptr noundef %16117, ptr noundef %16120, ptr noundef %16123, i32 noundef %16125) #10
  br label %16144

16127:                                            ; preds = %16105, %16098
  %16128 = load i32, ptr %463, align 4, !tbaa !5
  %16129 = call ptr @__errno_location() #11
  store i32 %16128, ptr %16129, align 4, !tbaa !5
  %16130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16131 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %16133, ptr noundef @.str.4)
  %16135 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16136 = load i32, ptr %16135, align 4, !tbaa !5
  %16137 = call ptr @s2n_strerror_debug(i32 noundef %16136, ptr noundef @.str.4)
  %16138 = call ptr @__errno_location() #11
  %16139 = load i32, ptr %16138, align 4, !tbaa !5
  %16140 = call ptr @strerror(i32 noundef %16139) #10
  %16141 = call ptr @__errno_location() #11
  %16142 = load i32, ptr %16141, align 4, !tbaa !5
  %16143 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16130, ptr noundef @.str.5, i32 noundef %16131, ptr noundef @.str.102, ptr noundef @.str.1, i32 noundef 746, ptr noundef %16134, ptr noundef %16137, ptr noundef %16140, i32 noundef %16142) #10
  br label %16144

16144:                                            ; preds = %16127, %16110
  call void @llvm.lifetime.end.p0(i64 4, ptr %463) #10
  br label %16145

16145:                                            ; preds = %16144
  br label %16146

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

16147:                                            ; No predecessors!
  br label %16148

16148:                                            ; preds = %16147
  br label %16149

16149:                                            ; preds = %16148, %16090
  br label %16150

16150:                                            ; preds = %16149
  br label %16151

16151:                                            ; preds = %16150
  br label %16152

16152:                                            ; preds = %16151
  %16153 = load i32, ptr @test_count, align 4, !tbaa !5
  %16154 = add nsw i32 %16153, 1
  store i32 %16154, ptr @test_count, align 4, !tbaa !5
  %16155 = load ptr, ptr %459, align 8, !tbaa !9
  %16156 = call i32 @s2n_config_set_client_auth_type(ptr noundef %16155, i32 noundef 1)
  %16157 = icmp eq i32 %16156, -1
  br i1 %16157, label %16158, label %16211

16158:                                            ; preds = %16152
  br label %16159

16159:                                            ; preds = %16158
  br label %16160

16160:                                            ; preds = %16159
  call void @llvm.lifetime.start.p0(i64 4, ptr %464) #10
  %16161 = call ptr @__errno_location() #11
  %16162 = load i32, ptr %16161, align 4, !tbaa !5
  store i32 %16162, ptr %464, align 4, !tbaa !5
  %16163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16164 = call i32 @s2n_print_stacktrace(ptr noundef %16163)
  %16165 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16166 = trunc i8 %16165 to i1
  br i1 %16166, label %16167, label %16189

16167:                                            ; preds = %16160
  %16168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16169 = call i32 @fileno(ptr noundef %16168) #10
  %16170 = call i32 @isatty(i32 noundef %16169) #10
  %16171 = icmp ne i32 %16170, 0
  br i1 %16171, label %16172, label %16189

16172:                                            ; preds = %16167
  %16173 = load i32, ptr %464, align 4, !tbaa !5
  %16174 = call ptr @__errno_location() #11
  store i32 %16173, ptr %16174, align 4, !tbaa !5
  %16175 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16176 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %16178, ptr noundef @.str.4)
  %16180 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16181 = load i32, ptr %16180, align 4, !tbaa !5
  %16182 = call ptr @s2n_strerror_debug(i32 noundef %16181, ptr noundef @.str.4)
  %16183 = call ptr @__errno_location() #11
  %16184 = load i32, ptr %16183, align 4, !tbaa !5
  %16185 = call ptr @strerror(i32 noundef %16184) #10
  %16186 = call ptr @__errno_location() #11
  %16187 = load i32, ptr %16186, align 4, !tbaa !5
  %16188 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16175, ptr noundef @.str.2, i32 noundef %16176, ptr noundef @.str.103, ptr noundef @.str.1, i32 noundef 747, ptr noundef %16179, ptr noundef %16182, ptr noundef %16185, i32 noundef %16187) #10
  br label %16206

16189:                                            ; preds = %16167, %16160
  %16190 = load i32, ptr %464, align 4, !tbaa !5
  %16191 = call ptr @__errno_location() #11
  store i32 %16190, ptr %16191, align 4, !tbaa !5
  %16192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16193 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %16195, ptr noundef @.str.4)
  %16197 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16198 = load i32, ptr %16197, align 4, !tbaa !5
  %16199 = call ptr @s2n_strerror_debug(i32 noundef %16198, ptr noundef @.str.4)
  %16200 = call ptr @__errno_location() #11
  %16201 = load i32, ptr %16200, align 4, !tbaa !5
  %16202 = call ptr @strerror(i32 noundef %16201) #10
  %16203 = call ptr @__errno_location() #11
  %16204 = load i32, ptr %16203, align 4, !tbaa !5
  %16205 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16192, ptr noundef @.str.5, i32 noundef %16193, ptr noundef @.str.103, ptr noundef @.str.1, i32 noundef 747, ptr noundef %16196, ptr noundef %16199, ptr noundef %16202, i32 noundef %16204) #10
  br label %16206

16206:                                            ; preds = %16189, %16172
  call void @llvm.lifetime.end.p0(i64 4, ptr %464) #10
  br label %16207

16207:                                            ; preds = %16206
  br label %16208

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

16209:                                            ; No predecessors!
  br label %16210

16210:                                            ; preds = %16209
  br label %16211

16211:                                            ; preds = %16210, %16152
  br label %16212

16212:                                            ; preds = %16211
  br label %16213

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

16214:                                            ; preds = %16213
  %16215 = load i32, ptr @test_count, align 4, !tbaa !5
  %16216 = add nsw i32 %16215, 1
  store i32 %16216, ptr @test_count, align 4, !tbaa !5
  %16217 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef %465, ptr noundef @.str.41, ptr noundef @.str.76)
  %16218 = icmp eq i32 %16217, -1
  br i1 %16218, label %16219, label %16272

16219:                                            ; preds = %16214
  br label %16220

16220:                                            ; preds = %16219
  br label %16221

16221:                                            ; preds = %16220
  call void @llvm.lifetime.start.p0(i64 4, ptr %466) #10
  %16222 = call ptr @__errno_location() #11
  %16223 = load i32, ptr %16222, align 4, !tbaa !5
  store i32 %16223, ptr %466, align 4, !tbaa !5
  %16224 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16225 = call i32 @s2n_print_stacktrace(ptr noundef %16224)
  %16226 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16227 = trunc i8 %16226 to i1
  br i1 %16227, label %16228, label %16250

16228:                                            ; preds = %16221
  %16229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16230 = call i32 @fileno(ptr noundef %16229) #10
  %16231 = call i32 @isatty(i32 noundef %16230) #10
  %16232 = icmp ne i32 %16231, 0
  br i1 %16232, label %16233, label %16250

16233:                                            ; preds = %16228
  %16234 = load i32, ptr %466, align 4, !tbaa !5
  %16235 = call ptr @__errno_location() #11
  store i32 %16234, ptr %16235, align 4, !tbaa !5
  %16236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16237 = load i32, ptr @test_count, align 4, !tbaa !5
  %16238 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16239 = load i32, ptr %16238, align 4, !tbaa !5
  %16240 = call ptr @s2n_strerror(i32 noundef %16239, ptr noundef @.str.4)
  %16241 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16242 = load i32, ptr %16241, align 4, !tbaa !5
  %16243 = call ptr @s2n_strerror_debug(i32 noundef %16242, ptr noundef @.str.4)
  %16244 = call ptr @__errno_location() #11
  %16245 = load i32, ptr %16244, align 4, !tbaa !5
  %16246 = call ptr @strerror(i32 noundef %16245) #10
  %16247 = call ptr @__errno_location() #11
  %16248 = load i32, ptr %16247, align 4, !tbaa !5
  %16249 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16236, ptr noundef @.str.2, i32 noundef %16237, ptr noundef @.str.104, ptr noundef @.str.1, i32 noundef 751, ptr noundef %16240, ptr noundef %16243, ptr noundef %16246, i32 noundef %16248) #10
  br label %16267

16250:                                            ; preds = %16228, %16221
  %16251 = load i32, ptr %466, align 4, !tbaa !5
  %16252 = call ptr @__errno_location() #11
  store i32 %16251, ptr %16252, align 4, !tbaa !5
  %16253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16254 = load i32, ptr @test_count, align 4, !tbaa !5
  %16255 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16256 = load i32, ptr %16255, align 4, !tbaa !5
  %16257 = call ptr @s2n_strerror(i32 noundef %16256, ptr noundef @.str.4)
  %16258 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16259 = load i32, ptr %16258, align 4, !tbaa !5
  %16260 = call ptr @s2n_strerror_debug(i32 noundef %16259, ptr noundef @.str.4)
  %16261 = call ptr @__errno_location() #11
  %16262 = load i32, ptr %16261, align 4, !tbaa !5
  %16263 = call ptr @strerror(i32 noundef %16262) #10
  %16264 = call ptr @__errno_location() #11
  %16265 = load i32, ptr %16264, align 4, !tbaa !5
  %16266 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16253, ptr noundef @.str.5, i32 noundef %16254, ptr noundef @.str.104, ptr noundef @.str.1, i32 noundef 751, ptr noundef %16257, ptr noundef %16260, ptr noundef %16263, i32 noundef %16265) #10
  br label %16267

16267:                                            ; preds = %16250, %16233
  call void @llvm.lifetime.end.p0(i64 4, ptr %466) #10
  br label %16268

16268:                                            ; preds = %16267
  br label %16269

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

16270:                                            ; No predecessors!
  br label %16271

16271:                                            ; preds = %16270
  br label %16272

16272:                                            ; preds = %16271, %16214
  br label %16273

16273:                                            ; preds = %16272
  br label %16274

16274:                                            ; preds = %16273
  call void @llvm.lifetime.start.p0(i64 8, ptr %467) #10
  %16275 = call ptr @s2n_config_new()
  store ptr %16275, ptr %467, align 8, !tbaa !9
  br label %16276

16276:                                            ; preds = %16274
  %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 %467, align 8, !tbaa !9
  %16280 = icmp eq ptr %16279, null
  br i1 %16280, label %16281, label %16334

16281:                                            ; preds = %16276
  br label %16282

16282:                                            ; preds = %16281
  br label %16283

16283:                                            ; preds = %16282
  call void @llvm.lifetime.start.p0(i64 4, ptr %468) #10
  %16284 = call ptr @__errno_location() #11
  %16285 = load i32, ptr %16284, align 4, !tbaa !5
  store i32 %16285, ptr %468, align 4, !tbaa !5
  %16286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16287 = call i32 @s2n_print_stacktrace(ptr noundef %16286)
  %16288 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16289 = trunc i8 %16288 to i1
  br i1 %16289, label %16290, label %16312

16290:                                            ; preds = %16283
  %16291 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16292 = call i32 @fileno(ptr noundef %16291) #10
  %16293 = call i32 @isatty(i32 noundef %16292) #10
  %16294 = icmp ne i32 %16293, 0
  br i1 %16294, label %16295, label %16312

16295:                                            ; preds = %16290
  %16296 = load i32, ptr %468, align 4, !tbaa !5
  %16297 = call ptr @__errno_location() #11
  store i32 %16296, ptr %16297, align 4, !tbaa !5
  %16298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16299 = load i32, ptr @test_count, align 4, !tbaa !5
  %16300 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16301 = load i32, ptr %16300, align 4, !tbaa !5
  %16302 = call ptr @s2n_strerror(i32 noundef %16301, ptr noundef @.str.4)
  %16303 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16304 = load i32, ptr %16303, align 4, !tbaa !5
  %16305 = call ptr @s2n_strerror_debug(i32 noundef %16304, ptr noundef @.str.4)
  %16306 = call ptr @__errno_location() #11
  %16307 = load i32, ptr %16306, align 4, !tbaa !5
  %16308 = call ptr @strerror(i32 noundef %16307) #10
  %16309 = call ptr @__errno_location() #11
  %16310 = load i32, ptr %16309, align 4, !tbaa !5
  %16311 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16298, ptr noundef @.str.2, i32 noundef %16299, ptr noundef @.str.105, ptr noundef @.str.1, i32 noundef 754, ptr noundef %16302, ptr noundef %16305, ptr noundef %16308, i32 noundef %16310) #10
  br label %16329

16312:                                            ; preds = %16290, %16283
  %16313 = load i32, ptr %468, align 4, !tbaa !5
  %16314 = call ptr @__errno_location() #11
  store i32 %16313, ptr %16314, align 4, !tbaa !5
  %16315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16316 = load i32, ptr @test_count, align 4, !tbaa !5
  %16317 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16318 = load i32, ptr %16317, align 4, !tbaa !5
  %16319 = call ptr @s2n_strerror(i32 noundef %16318, ptr noundef @.str.4)
  %16320 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16321 = load i32, ptr %16320, align 4, !tbaa !5
  %16322 = call ptr @s2n_strerror_debug(i32 noundef %16321, ptr noundef @.str.4)
  %16323 = call ptr @__errno_location() #11
  %16324 = load i32, ptr %16323, align 4, !tbaa !5
  %16325 = call ptr @strerror(i32 noundef %16324) #10
  %16326 = call ptr @__errno_location() #11
  %16327 = load i32, ptr %16326, align 4, !tbaa !5
  %16328 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16315, ptr noundef @.str.5, i32 noundef %16316, ptr noundef @.str.105, ptr noundef @.str.1, i32 noundef 754, ptr noundef %16319, ptr noundef %16322, ptr noundef %16325, i32 noundef %16327) #10
  br label %16329

16329:                                            ; preds = %16312, %16295
  call void @llvm.lifetime.end.p0(i64 4, ptr %468) #10
  br label %16330

16330:                                            ; preds = %16329
  br label %16331

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

16332:                                            ; No predecessors!
  br label %16333

16333:                                            ; preds = %16332
  br label %16334

16334:                                            ; preds = %16333, %16276
  br label %16335

16335:                                            ; preds = %16334
  br label %16336

16336:                                            ; preds = %16335
  br label %16337

16337:                                            ; preds = %16336
  %16338 = load i32, ptr @test_count, align 4, !tbaa !5
  %16339 = add nsw i32 %16338, 1
  store i32 %16339, ptr @test_count, align 4, !tbaa !5
  %16340 = load ptr, ptr %467, align 8, !tbaa !9
  %16341 = load ptr, ptr %465, align 8, !tbaa !9
  %16342 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %16340, ptr noundef %16341)
  %16343 = icmp eq i32 %16342, -1
  br i1 %16343, label %16344, label %16397

16344:                                            ; preds = %16337
  br label %16345

16345:                                            ; preds = %16344
  br label %16346

16346:                                            ; preds = %16345
  call void @llvm.lifetime.start.p0(i64 4, ptr %469) #10
  %16347 = call ptr @__errno_location() #11
  %16348 = load i32, ptr %16347, align 4, !tbaa !5
  store i32 %16348, ptr %469, align 4, !tbaa !5
  %16349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16350 = call i32 @s2n_print_stacktrace(ptr noundef %16349)
  %16351 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16352 = trunc i8 %16351 to i1
  br i1 %16352, label %16353, label %16375

16353:                                            ; preds = %16346
  %16354 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16355 = call i32 @fileno(ptr noundef %16354) #10
  %16356 = call i32 @isatty(i32 noundef %16355) #10
  %16357 = icmp ne i32 %16356, 0
  br i1 %16357, label %16358, label %16375

16358:                                            ; preds = %16353
  %16359 = load i32, ptr %469, align 4, !tbaa !5
  %16360 = call ptr @__errno_location() #11
  store i32 %16359, ptr %16360, align 4, !tbaa !5
  %16361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16362 = load i32, ptr @test_count, align 4, !tbaa !5
  %16363 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16364 = load i32, ptr %16363, align 4, !tbaa !5
  %16365 = call ptr @s2n_strerror(i32 noundef %16364, ptr noundef @.str.4)
  %16366 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16367 = load i32, ptr %16366, align 4, !tbaa !5
  %16368 = call ptr @s2n_strerror_debug(i32 noundef %16367, ptr noundef @.str.4)
  %16369 = call ptr @__errno_location() #11
  %16370 = load i32, ptr %16369, align 4, !tbaa !5
  %16371 = call ptr @strerror(i32 noundef %16370) #10
  %16372 = call ptr @__errno_location() #11
  %16373 = load i32, ptr %16372, align 4, !tbaa !5
  %16374 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16361, ptr noundef @.str.2, i32 noundef %16362, ptr noundef @.str.106, ptr noundef @.str.1, i32 noundef 755, ptr noundef %16365, ptr noundef %16368, ptr noundef %16371, i32 noundef %16373) #10
  br label %16392

16375:                                            ; preds = %16353, %16346
  %16376 = load i32, ptr %469, align 4, !tbaa !5
  %16377 = call ptr @__errno_location() #11
  store i32 %16376, ptr %16377, align 4, !tbaa !5
  %16378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16379 = load i32, ptr @test_count, align 4, !tbaa !5
  %16380 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16381 = load i32, ptr %16380, align 4, !tbaa !5
  %16382 = call ptr @s2n_strerror(i32 noundef %16381, ptr noundef @.str.4)
  %16383 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16384 = load i32, ptr %16383, align 4, !tbaa !5
  %16385 = call ptr @s2n_strerror_debug(i32 noundef %16384, ptr noundef @.str.4)
  %16386 = call ptr @__errno_location() #11
  %16387 = load i32, ptr %16386, align 4, !tbaa !5
  %16388 = call ptr @strerror(i32 noundef %16387) #10
  %16389 = call ptr @__errno_location() #11
  %16390 = load i32, ptr %16389, align 4, !tbaa !5
  %16391 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16378, ptr noundef @.str.5, i32 noundef %16379, ptr noundef @.str.106, ptr noundef @.str.1, i32 noundef 755, ptr noundef %16382, ptr noundef %16385, ptr noundef %16388, i32 noundef %16390) #10
  br label %16392

16392:                                            ; preds = %16375, %16358
  call void @llvm.lifetime.end.p0(i64 4, ptr %469) #10
  br label %16393

16393:                                            ; preds = %16392
  br label %16394

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

16395:                                            ; No predecessors!
  br label %16396

16396:                                            ; preds = %16395
  br label %16397

16397:                                            ; preds = %16396, %16337
  br label %16398

16398:                                            ; preds = %16397
  br label %16399

16399:                                            ; preds = %16398
  br label %16400

16400:                                            ; preds = %16399
  %16401 = load i32, ptr @test_count, align 4, !tbaa !5
  %16402 = add nsw i32 %16401, 1
  store i32 %16402, ptr @test_count, align 4, !tbaa !5
  %16403 = load ptr, ptr %467, align 8, !tbaa !9
  %16404 = call i32 @s2n_config_set_verification_ca_location(ptr noundef %16403, ptr noundef @.str.96, ptr noundef null)
  %16405 = icmp eq i32 %16404, -1
  br i1 %16405, label %16406, label %16459

16406:                                            ; preds = %16400
  br label %16407

16407:                                            ; preds = %16406
  br label %16408

16408:                                            ; preds = %16407
  call void @llvm.lifetime.start.p0(i64 4, ptr %470) #10
  %16409 = call ptr @__errno_location() #11
  %16410 = load i32, ptr %16409, align 4, !tbaa !5
  store i32 %16410, ptr %470, align 4, !tbaa !5
  %16411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16412 = call i32 @s2n_print_stacktrace(ptr noundef %16411)
  %16413 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16414 = trunc i8 %16413 to i1
  br i1 %16414, label %16415, label %16437

16415:                                            ; preds = %16408
  %16416 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16417 = call i32 @fileno(ptr noundef %16416) #10
  %16418 = call i32 @isatty(i32 noundef %16417) #10
  %16419 = icmp ne i32 %16418, 0
  br i1 %16419, label %16420, label %16437

16420:                                            ; preds = %16415
  %16421 = load i32, ptr %470, align 4, !tbaa !5
  %16422 = call ptr @__errno_location() #11
  store i32 %16421, ptr %16422, align 4, !tbaa !5
  %16423 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16424 = load i32, ptr @test_count, align 4, !tbaa !5
  %16425 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16426 = load i32, ptr %16425, align 4, !tbaa !5
  %16427 = call ptr @s2n_strerror(i32 noundef %16426, ptr noundef @.str.4)
  %16428 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16429 = load i32, ptr %16428, align 4, !tbaa !5
  %16430 = call ptr @s2n_strerror_debug(i32 noundef %16429, ptr noundef @.str.4)
  %16431 = call ptr @__errno_location() #11
  %16432 = load i32, ptr %16431, align 4, !tbaa !5
  %16433 = call ptr @strerror(i32 noundef %16432) #10
  %16434 = call ptr @__errno_location() #11
  %16435 = load i32, ptr %16434, align 4, !tbaa !5
  %16436 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16423, ptr noundef @.str.2, i32 noundef %16424, ptr noundef @.str.107, ptr noundef @.str.1, i32 noundef 756, ptr noundef %16427, ptr noundef %16430, ptr noundef %16433, i32 noundef %16435) #10
  br label %16454

16437:                                            ; preds = %16415, %16408
  %16438 = load i32, ptr %470, align 4, !tbaa !5
  %16439 = call ptr @__errno_location() #11
  store i32 %16438, ptr %16439, align 4, !tbaa !5
  %16440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16441 = load i32, ptr @test_count, align 4, !tbaa !5
  %16442 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16443 = load i32, ptr %16442, align 4, !tbaa !5
  %16444 = call ptr @s2n_strerror(i32 noundef %16443, ptr noundef @.str.4)
  %16445 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16446 = load i32, ptr %16445, align 4, !tbaa !5
  %16447 = call ptr @s2n_strerror_debug(i32 noundef %16446, ptr noundef @.str.4)
  %16448 = call ptr @__errno_location() #11
  %16449 = load i32, ptr %16448, align 4, !tbaa !5
  %16450 = call ptr @strerror(i32 noundef %16449) #10
  %16451 = call ptr @__errno_location() #11
  %16452 = load i32, ptr %16451, align 4, !tbaa !5
  %16453 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16440, ptr noundef @.str.5, i32 noundef %16441, ptr noundef @.str.107, ptr noundef @.str.1, i32 noundef 756, ptr noundef %16444, ptr noundef %16447, ptr noundef %16450, i32 noundef %16452) #10
  br label %16454

16454:                                            ; preds = %16437, %16420
  call void @llvm.lifetime.end.p0(i64 4, ptr %470) #10
  br label %16455

16455:                                            ; preds = %16454
  br label %16456

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

16457:                                            ; No predecessors!
  br label %16458

16458:                                            ; preds = %16457
  br label %16459

16459:                                            ; preds = %16458, %16400
  br label %16460

16460:                                            ; preds = %16459
  br label %16461

16461:                                            ; preds = %16460
  br label %16462

16462:                                            ; preds = %16461
  %16463 = load i32, ptr @test_count, align 4, !tbaa !5
  %16464 = add nsw i32 %16463, 1
  store i32 %16464, ptr @test_count, align 4, !tbaa !5
  %16465 = load ptr, ptr %467, align 8, !tbaa !9
  %16466 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %16465, ptr noundef @.str.80)
  %16467 = icmp eq i32 %16466, -1
  br i1 %16467, label %16468, label %16521

16468:                                            ; preds = %16462
  br label %16469

16469:                                            ; preds = %16468
  br label %16470

16470:                                            ; preds = %16469
  call void @llvm.lifetime.start.p0(i64 4, ptr %471) #10
  %16471 = call ptr @__errno_location() #11
  %16472 = load i32, ptr %16471, align 4, !tbaa !5
  store i32 %16472, ptr %471, align 4, !tbaa !5
  %16473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16474 = call i32 @s2n_print_stacktrace(ptr noundef %16473)
  %16475 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16476 = trunc i8 %16475 to i1
  br i1 %16476, label %16477, label %16499

16477:                                            ; preds = %16470
  %16478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16479 = call i32 @fileno(ptr noundef %16478) #10
  %16480 = call i32 @isatty(i32 noundef %16479) #10
  %16481 = icmp ne i32 %16480, 0
  br i1 %16481, label %16482, label %16499

16482:                                            ; preds = %16477
  %16483 = load i32, ptr %471, align 4, !tbaa !5
  %16484 = call ptr @__errno_location() #11
  store i32 %16483, ptr %16484, align 4, !tbaa !5
  %16485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16486 = load i32, ptr @test_count, align 4, !tbaa !5
  %16487 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16488 = load i32, ptr %16487, align 4, !tbaa !5
  %16489 = call ptr @s2n_strerror(i32 noundef %16488, ptr noundef @.str.4)
  %16490 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16491 = load i32, ptr %16490, align 4, !tbaa !5
  %16492 = call ptr @s2n_strerror_debug(i32 noundef %16491, ptr noundef @.str.4)
  %16493 = call ptr @__errno_location() #11
  %16494 = load i32, ptr %16493, align 4, !tbaa !5
  %16495 = call ptr @strerror(i32 noundef %16494) #10
  %16496 = call ptr @__errno_location() #11
  %16497 = load i32, ptr %16496, align 4, !tbaa !5
  %16498 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16485, ptr noundef @.str.2, i32 noundef %16486, ptr noundef @.str.108, ptr noundef @.str.1, i32 noundef 757, ptr noundef %16489, ptr noundef %16492, ptr noundef %16495, i32 noundef %16497) #10
  br label %16516

16499:                                            ; preds = %16477, %16470
  %16500 = load i32, ptr %471, align 4, !tbaa !5
  %16501 = call ptr @__errno_location() #11
  store i32 %16500, ptr %16501, align 4, !tbaa !5
  %16502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16503 = load i32, ptr @test_count, align 4, !tbaa !5
  %16504 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16505 = load i32, ptr %16504, align 4, !tbaa !5
  %16506 = call ptr @s2n_strerror(i32 noundef %16505, ptr noundef @.str.4)
  %16507 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16508 = load i32, ptr %16507, align 4, !tbaa !5
  %16509 = call ptr @s2n_strerror_debug(i32 noundef %16508, ptr noundef @.str.4)
  %16510 = call ptr @__errno_location() #11
  %16511 = load i32, ptr %16510, align 4, !tbaa !5
  %16512 = call ptr @strerror(i32 noundef %16511) #10
  %16513 = call ptr @__errno_location() #11
  %16514 = load i32, ptr %16513, align 4, !tbaa !5
  %16515 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16502, ptr noundef @.str.5, i32 noundef %16503, ptr noundef @.str.108, ptr noundef @.str.1, i32 noundef 757, ptr noundef %16506, ptr noundef %16509, ptr noundef %16512, i32 noundef %16514) #10
  br label %16516

16516:                                            ; preds = %16499, %16482
  call void @llvm.lifetime.end.p0(i64 4, ptr %471) #10
  br label %16517

16517:                                            ; preds = %16516
  br label %16518

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

16519:                                            ; No predecessors!
  br label %16520

16520:                                            ; preds = %16519
  br label %16521

16521:                                            ; preds = %16520, %16462
  br label %16522

16522:                                            ; preds = %16521
  br label %16523

16523:                                            ; preds = %16522
  br label %16524

16524:                                            ; preds = %16523
  %16525 = load i32, ptr @test_count, align 4, !tbaa !5
  %16526 = add nsw i32 %16525, 1
  store i32 %16526, ptr @test_count, align 4, !tbaa !5
  %16527 = load ptr, ptr %467, align 8, !tbaa !9
  %16528 = call i32 @s2n_config_set_client_auth_type(ptr noundef %16527, i32 noundef 1)
  %16529 = icmp eq i32 %16528, -1
  br i1 %16529, label %16530, label %16583

16530:                                            ; preds = %16524
  br label %16531

16531:                                            ; preds = %16530
  br label %16532

16532:                                            ; preds = %16531
  call void @llvm.lifetime.start.p0(i64 4, ptr %472) #10
  %16533 = call ptr @__errno_location() #11
  %16534 = load i32, ptr %16533, align 4, !tbaa !5
  store i32 %16534, ptr %472, align 4, !tbaa !5
  %16535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16536 = call i32 @s2n_print_stacktrace(ptr noundef %16535)
  %16537 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16538 = trunc i8 %16537 to i1
  br i1 %16538, label %16539, label %16561

16539:                                            ; preds = %16532
  %16540 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16541 = call i32 @fileno(ptr noundef %16540) #10
  %16542 = call i32 @isatty(i32 noundef %16541) #10
  %16543 = icmp ne i32 %16542, 0
  br i1 %16543, label %16544, label %16561

16544:                                            ; preds = %16539
  %16545 = load i32, ptr %472, align 4, !tbaa !5
  %16546 = call ptr @__errno_location() #11
  store i32 %16545, ptr %16546, align 4, !tbaa !5
  %16547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16548 = load i32, ptr @test_count, align 4, !tbaa !5
  %16549 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16550 = load i32, ptr %16549, align 4, !tbaa !5
  %16551 = call ptr @s2n_strerror(i32 noundef %16550, ptr noundef @.str.4)
  %16552 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16553 = load i32, ptr %16552, align 4, !tbaa !5
  %16554 = call ptr @s2n_strerror_debug(i32 noundef %16553, ptr noundef @.str.4)
  %16555 = call ptr @__errno_location() #11
  %16556 = load i32, ptr %16555, align 4, !tbaa !5
  %16557 = call ptr @strerror(i32 noundef %16556) #10
  %16558 = call ptr @__errno_location() #11
  %16559 = load i32, ptr %16558, align 4, !tbaa !5
  %16560 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16547, ptr noundef @.str.2, i32 noundef %16548, ptr noundef @.str.109, ptr noundef @.str.1, i32 noundef 758, ptr noundef %16551, ptr noundef %16554, ptr noundef %16557, i32 noundef %16559) #10
  br label %16578

16561:                                            ; preds = %16539, %16532
  %16562 = load i32, ptr %472, align 4, !tbaa !5
  %16563 = call ptr @__errno_location() #11
  store i32 %16562, ptr %16563, align 4, !tbaa !5
  %16564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16565 = load i32, ptr @test_count, align 4, !tbaa !5
  %16566 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16567 = load i32, ptr %16566, align 4, !tbaa !5
  %16568 = call ptr @s2n_strerror(i32 noundef %16567, ptr noundef @.str.4)
  %16569 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16570 = load i32, ptr %16569, align 4, !tbaa !5
  %16571 = call ptr @s2n_strerror_debug(i32 noundef %16570, ptr noundef @.str.4)
  %16572 = call ptr @__errno_location() #11
  %16573 = load i32, ptr %16572, align 4, !tbaa !5
  %16574 = call ptr @strerror(i32 noundef %16573) #10
  %16575 = call ptr @__errno_location() #11
  %16576 = load i32, ptr %16575, align 4, !tbaa !5
  %16577 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16564, ptr noundef @.str.5, i32 noundef %16565, ptr noundef @.str.109, ptr noundef @.str.1, i32 noundef 758, ptr noundef %16568, ptr noundef %16571, ptr noundef %16574, i32 noundef %16576) #10
  br label %16578

16578:                                            ; preds = %16561, %16544
  call void @llvm.lifetime.end.p0(i64 4, ptr %472) #10
  br label %16579

16579:                                            ; preds = %16578
  br label %16580

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

16581:                                            ; No predecessors!
  br label %16582

16582:                                            ; preds = %16581
  br label %16583

16583:                                            ; preds = %16582, %16524
  br label %16584

16584:                                            ; preds = %16583
  br label %16585

16585:                                            ; preds = %16584
  call void @llvm.lifetime.start.p0(i64 88, ptr %473) #10
  call void @llvm.memset.p0.i64(ptr align 8 %473, i8 0, i64 88, i1 false)
  %16586 = load ptr, ptr %45, align 8, !tbaa !9
  %16587 = getelementptr inbounds %struct.crl_lookup_data, ptr %473, i32 0, i32 0
  %16588 = getelementptr inbounds [5 x ptr], ptr %16587, i64 0, i64 0
  store ptr %16586, ptr %16588, align 8, !tbaa !9
  %16589 = load ptr, ptr %43, align 8, !tbaa !9
  %16590 = getelementptr inbounds %struct.crl_lookup_data, ptr %473, i32 0, i32 0
  %16591 = getelementptr inbounds [5 x ptr], ptr %16590, i64 0, i64 1
  store ptr %16589, ptr %16591, align 8, !tbaa !9
  br label %16592

16592:                                            ; preds = %16585
  %16593 = load i32, ptr @test_count, align 4, !tbaa !5
  %16594 = add nsw i32 %16593, 1
  store i32 %16594, ptr @test_count, align 4, !tbaa !5
  %16595 = load ptr, ptr %459, align 8, !tbaa !9
  %16596 = call i32 @s2n_config_set_crl_lookup_cb(ptr noundef %16595, ptr noundef @crl_lookup_test_callback, ptr noundef %473)
  %16597 = icmp eq i32 %16596, -1
  br i1 %16597, label %16598, label %16651

16598:                                            ; preds = %16592
  br label %16599

16599:                                            ; preds = %16598
  br label %16600

16600:                                            ; preds = %16599
  call void @llvm.lifetime.start.p0(i64 4, ptr %474) #10
  %16601 = call ptr @__errno_location() #11
  %16602 = load i32, ptr %16601, align 4, !tbaa !5
  store i32 %16602, ptr %474, align 4, !tbaa !5
  %16603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16604 = call i32 @s2n_print_stacktrace(ptr noundef %16603)
  %16605 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16606 = trunc i8 %16605 to i1
  br i1 %16606, label %16607, label %16629

16607:                                            ; preds = %16600
  %16608 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16609 = call i32 @fileno(ptr noundef %16608) #10
  %16610 = call i32 @isatty(i32 noundef %16609) #10
  %16611 = icmp ne i32 %16610, 0
  br i1 %16611, label %16612, label %16629

16612:                                            ; preds = %16607
  %16613 = load i32, ptr %474, align 4, !tbaa !5
  %16614 = call ptr @__errno_location() #11
  store i32 %16613, ptr %16614, align 4, !tbaa !5
  %16615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16616 = load i32, ptr @test_count, align 4, !tbaa !5
  %16617 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16618 = load i32, ptr %16617, align 4, !tbaa !5
  %16619 = call ptr @s2n_strerror(i32 noundef %16618, ptr noundef @.str.4)
  %16620 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16621 = load i32, ptr %16620, align 4, !tbaa !5
  %16622 = call ptr @s2n_strerror_debug(i32 noundef %16621, ptr noundef @.str.4)
  %16623 = call ptr @__errno_location() #11
  %16624 = load i32, ptr %16623, align 4, !tbaa !5
  %16625 = call ptr @strerror(i32 noundef %16624) #10
  %16626 = call ptr @__errno_location() #11
  %16627 = load i32, ptr %16626, align 4, !tbaa !5
  %16628 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16615, ptr noundef @.str.2, i32 noundef %16616, ptr noundef @.str.110, ptr noundef @.str.1, i32 noundef 763, ptr noundef %16619, ptr noundef %16622, ptr noundef %16625, i32 noundef %16627) #10
  br label %16646

16629:                                            ; preds = %16607, %16600
  %16630 = load i32, ptr %474, align 4, !tbaa !5
  %16631 = call ptr @__errno_location() #11
  store i32 %16630, ptr %16631, align 4, !tbaa !5
  %16632 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16633 = load i32, ptr @test_count, align 4, !tbaa !5
  %16634 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16635 = load i32, ptr %16634, align 4, !tbaa !5
  %16636 = call ptr @s2n_strerror(i32 noundef %16635, ptr noundef @.str.4)
  %16637 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16638 = load i32, ptr %16637, align 4, !tbaa !5
  %16639 = call ptr @s2n_strerror_debug(i32 noundef %16638, ptr noundef @.str.4)
  %16640 = call ptr @__errno_location() #11
  %16641 = load i32, ptr %16640, align 4, !tbaa !5
  %16642 = call ptr @strerror(i32 noundef %16641) #10
  %16643 = call ptr @__errno_location() #11
  %16644 = load i32, ptr %16643, align 4, !tbaa !5
  %16645 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16632, ptr noundef @.str.5, i32 noundef %16633, ptr noundef @.str.110, ptr noundef @.str.1, i32 noundef 763, ptr noundef %16636, ptr noundef %16639, ptr noundef %16642, i32 noundef %16644) #10
  br label %16646

16646:                                            ; preds = %16629, %16612
  call void @llvm.lifetime.end.p0(i64 4, ptr %474) #10
  br label %16647

16647:                                            ; preds = %16646
  br label %16648

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

16649:                                            ; No predecessors!
  br label %16650

16650:                                            ; preds = %16649
  br label %16651

16651:                                            ; preds = %16650, %16592
  br label %16652

16652:                                            ; preds = %16651
  br label %16653

16653:                                            ; preds = %16652
  call void @llvm.lifetime.start.p0(i64 8, ptr %475) #10
  %16654 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %16654, ptr %475, align 8, !tbaa !9
  br label %16655

16655:                                            ; preds = %16653
  %16656 = load i32, ptr @test_count, align 4, !tbaa !5
  %16657 = add nsw i32 %16656, 1
  store i32 %16657, ptr @test_count, align 4, !tbaa !5
  %16658 = load ptr, ptr %475, align 8, !tbaa !9
  %16659 = icmp eq ptr %16658, null
  br i1 %16659, label %16660, label %16713

16660:                                            ; preds = %16655
  br label %16661

16661:                                            ; preds = %16660
  br label %16662

16662:                                            ; preds = %16661
  call void @llvm.lifetime.start.p0(i64 4, ptr %476) #10
  %16663 = call ptr @__errno_location() #11
  %16664 = load i32, ptr %16663, align 4, !tbaa !5
  store i32 %16664, ptr %476, align 4, !tbaa !5
  %16665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16666 = call i32 @s2n_print_stacktrace(ptr noundef %16665)
  %16667 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16668 = trunc i8 %16667 to i1
  br i1 %16668, label %16669, label %16691

16669:                                            ; preds = %16662
  %16670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16671 = call i32 @fileno(ptr noundef %16670) #10
  %16672 = call i32 @isatty(i32 noundef %16671) #10
  %16673 = icmp ne i32 %16672, 0
  br i1 %16673, label %16674, label %16691

16674:                                            ; preds = %16669
  %16675 = load i32, ptr %476, align 4, !tbaa !5
  %16676 = call ptr @__errno_location() #11
  store i32 %16675, ptr %16676, align 4, !tbaa !5
  %16677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16678 = load i32, ptr @test_count, align 4, !tbaa !5
  %16679 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16680 = load i32, ptr %16679, align 4, !tbaa !5
  %16681 = call ptr @s2n_strerror(i32 noundef %16680, ptr noundef @.str.4)
  %16682 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16683 = load i32, ptr %16682, align 4, !tbaa !5
  %16684 = call ptr @s2n_strerror_debug(i32 noundef %16683, ptr noundef @.str.4)
  %16685 = call ptr @__errno_location() #11
  %16686 = load i32, ptr %16685, align 4, !tbaa !5
  %16687 = call ptr @strerror(i32 noundef %16686) #10
  %16688 = call ptr @__errno_location() #11
  %16689 = load i32, ptr %16688, align 4, !tbaa !5
  %16690 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16677, ptr noundef @.str.2, i32 noundef %16678, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 766, ptr noundef %16681, ptr noundef %16684, ptr noundef %16687, i32 noundef %16689) #10
  br label %16708

16691:                                            ; preds = %16669, %16662
  %16692 = load i32, ptr %476, align 4, !tbaa !5
  %16693 = call ptr @__errno_location() #11
  store i32 %16692, ptr %16693, align 4, !tbaa !5
  %16694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16695 = load i32, ptr @test_count, align 4, !tbaa !5
  %16696 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16697 = load i32, ptr %16696, align 4, !tbaa !5
  %16698 = call ptr @s2n_strerror(i32 noundef %16697, ptr noundef @.str.4)
  %16699 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16700 = load i32, ptr %16699, align 4, !tbaa !5
  %16701 = call ptr @s2n_strerror_debug(i32 noundef %16700, ptr noundef @.str.4)
  %16702 = call ptr @__errno_location() #11
  %16703 = load i32, ptr %16702, align 4, !tbaa !5
  %16704 = call ptr @strerror(i32 noundef %16703) #10
  %16705 = call ptr @__errno_location() #11
  %16706 = load i32, ptr %16705, align 4, !tbaa !5
  %16707 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16694, ptr noundef @.str.5, i32 noundef %16695, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 766, ptr noundef %16698, ptr noundef %16701, ptr noundef %16704, i32 noundef %16706) #10
  br label %16708

16708:                                            ; preds = %16691, %16674
  call void @llvm.lifetime.end.p0(i64 4, ptr %476) #10
  br label %16709

16709:                                            ; preds = %16708
  br label %16710

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

16711:                                            ; No predecessors!
  br label %16712

16712:                                            ; preds = %16711
  br label %16713

16713:                                            ; preds = %16712, %16655
  br label %16714

16714:                                            ; preds = %16713
  br label %16715

16715:                                            ; preds = %16714
  br label %16716

16716:                                            ; preds = %16715
  %16717 = load i32, ptr @test_count, align 4, !tbaa !5
  %16718 = add nsw i32 %16717, 1
  store i32 %16718, ptr @test_count, align 4, !tbaa !5
  %16719 = load ptr, ptr %475, align 8, !tbaa !9
  %16720 = load ptr, ptr %459, align 8, !tbaa !9
  %16721 = call i32 @s2n_connection_set_config(ptr noundef %16719, ptr noundef %16720)
  %16722 = icmp eq i32 %16721, -1
  br i1 %16722, label %16723, label %16776

16723:                                            ; preds = %16716
  br label %16724

16724:                                            ; preds = %16723
  br label %16725

16725:                                            ; preds = %16724
  call void @llvm.lifetime.start.p0(i64 4, ptr %477) #10
  %16726 = call ptr @__errno_location() #11
  %16727 = load i32, ptr %16726, align 4, !tbaa !5
  store i32 %16727, ptr %477, align 4, !tbaa !5
  %16728 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16729 = call i32 @s2n_print_stacktrace(ptr noundef %16728)
  %16730 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16731 = trunc i8 %16730 to i1
  br i1 %16731, label %16732, label %16754

16732:                                            ; preds = %16725
  %16733 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16734 = call i32 @fileno(ptr noundef %16733) #10
  %16735 = call i32 @isatty(i32 noundef %16734) #10
  %16736 = icmp ne i32 %16735, 0
  br i1 %16736, label %16737, label %16754

16737:                                            ; preds = %16732
  %16738 = load i32, ptr %477, align 4, !tbaa !5
  %16739 = call ptr @__errno_location() #11
  store i32 %16738, ptr %16739, align 4, !tbaa !5
  %16740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16741 = load i32, ptr @test_count, align 4, !tbaa !5
  %16742 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16743 = load i32, ptr %16742, align 4, !tbaa !5
  %16744 = call ptr @s2n_strerror(i32 noundef %16743, ptr noundef @.str.4)
  %16745 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16746 = load i32, ptr %16745, align 4, !tbaa !5
  %16747 = call ptr @s2n_strerror_debug(i32 noundef %16746, ptr noundef @.str.4)
  %16748 = call ptr @__errno_location() #11
  %16749 = load i32, ptr %16748, align 4, !tbaa !5
  %16750 = call ptr @strerror(i32 noundef %16749) #10
  %16751 = call ptr @__errno_location() #11
  %16752 = load i32, ptr %16751, align 4, !tbaa !5
  %16753 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16740, ptr noundef @.str.2, i32 noundef %16741, ptr noundef @.str.111, ptr noundef @.str.1, i32 noundef 767, ptr noundef %16744, ptr noundef %16747, ptr noundef %16750, i32 noundef %16752) #10
  br label %16771

16754:                                            ; preds = %16732, %16725
  %16755 = load i32, ptr %477, align 4, !tbaa !5
  %16756 = call ptr @__errno_location() #11
  store i32 %16755, ptr %16756, align 4, !tbaa !5
  %16757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16758 = load i32, ptr @test_count, align 4, !tbaa !5
  %16759 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16760 = load i32, ptr %16759, align 4, !tbaa !5
  %16761 = call ptr @s2n_strerror(i32 noundef %16760, ptr noundef @.str.4)
  %16762 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16763 = load i32, ptr %16762, align 4, !tbaa !5
  %16764 = call ptr @s2n_strerror_debug(i32 noundef %16763, ptr noundef @.str.4)
  %16765 = call ptr @__errno_location() #11
  %16766 = load i32, ptr %16765, align 4, !tbaa !5
  %16767 = call ptr @strerror(i32 noundef %16766) #10
  %16768 = call ptr @__errno_location() #11
  %16769 = load i32, ptr %16768, align 4, !tbaa !5
  %16770 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16757, ptr noundef @.str.5, i32 noundef %16758, ptr noundef @.str.111, ptr noundef @.str.1, i32 noundef 767, ptr noundef %16761, ptr noundef %16764, ptr noundef %16767, i32 noundef %16769) #10
  br label %16771

16771:                                            ; preds = %16754, %16737
  call void @llvm.lifetime.end.p0(i64 4, ptr %477) #10
  br label %16772

16772:                                            ; preds = %16771
  br label %16773

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

16774:                                            ; No predecessors!
  br label %16775

16775:                                            ; preds = %16774
  br label %16776

16776:                                            ; preds = %16775, %16716
  br label %16777

16777:                                            ; preds = %16776
  br label %16778

16778:                                            ; preds = %16777
  br label %16779

16779:                                            ; preds = %16778
  %16780 = load i32, ptr @test_count, align 4, !tbaa !5
  %16781 = add nsw i32 %16780, 1
  store i32 %16781, ptr @test_count, align 4, !tbaa !5
  %16782 = load ptr, ptr %475, align 8, !tbaa !9
  %16783 = call i32 @s2n_connection_set_verify_host_callback(ptr noundef %16782, ptr noundef @verify_host_always_allow, ptr noundef null)
  %16784 = icmp eq i32 %16783, -1
  br i1 %16784, label %16785, label %16838

16785:                                            ; preds = %16779
  br label %16786

16786:                                            ; preds = %16785
  br label %16787

16787:                                            ; preds = %16786
  call void @llvm.lifetime.start.p0(i64 4, ptr %478) #10
  %16788 = call ptr @__errno_location() #11
  %16789 = load i32, ptr %16788, align 4, !tbaa !5
  store i32 %16789, ptr %478, align 4, !tbaa !5
  %16790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16791 = call i32 @s2n_print_stacktrace(ptr noundef %16790)
  %16792 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16793 = trunc i8 %16792 to i1
  br i1 %16793, label %16794, label %16816

16794:                                            ; preds = %16787
  %16795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16796 = call i32 @fileno(ptr noundef %16795) #10
  %16797 = call i32 @isatty(i32 noundef %16796) #10
  %16798 = icmp ne i32 %16797, 0
  br i1 %16798, label %16799, label %16816

16799:                                            ; preds = %16794
  %16800 = load i32, ptr %478, align 4, !tbaa !5
  %16801 = call ptr @__errno_location() #11
  store i32 %16800, ptr %16801, align 4, !tbaa !5
  %16802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16803 = load i32, ptr @test_count, align 4, !tbaa !5
  %16804 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16805 = load i32, ptr %16804, align 4, !tbaa !5
  %16806 = call ptr @s2n_strerror(i32 noundef %16805, ptr noundef @.str.4)
  %16807 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16808 = load i32, ptr %16807, align 4, !tbaa !5
  %16809 = call ptr @s2n_strerror_debug(i32 noundef %16808, ptr noundef @.str.4)
  %16810 = call ptr @__errno_location() #11
  %16811 = load i32, ptr %16810, align 4, !tbaa !5
  %16812 = call ptr @strerror(i32 noundef %16811) #10
  %16813 = call ptr @__errno_location() #11
  %16814 = load i32, ptr %16813, align 4, !tbaa !5
  %16815 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16802, ptr noundef @.str.2, i32 noundef %16803, ptr noundef @.str.112, ptr noundef @.str.1, i32 noundef 768, ptr noundef %16806, ptr noundef %16809, ptr noundef %16812, i32 noundef %16814) #10
  br label %16833

16816:                                            ; preds = %16794, %16787
  %16817 = load i32, ptr %478, align 4, !tbaa !5
  %16818 = call ptr @__errno_location() #11
  store i32 %16817, ptr %16818, align 4, !tbaa !5
  %16819 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16820 = load i32, ptr @test_count, align 4, !tbaa !5
  %16821 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16822 = load i32, ptr %16821, align 4, !tbaa !5
  %16823 = call ptr @s2n_strerror(i32 noundef %16822, ptr noundef @.str.4)
  %16824 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16825 = load i32, ptr %16824, align 4, !tbaa !5
  %16826 = call ptr @s2n_strerror_debug(i32 noundef %16825, ptr noundef @.str.4)
  %16827 = call ptr @__errno_location() #11
  %16828 = load i32, ptr %16827, align 4, !tbaa !5
  %16829 = call ptr @strerror(i32 noundef %16828) #10
  %16830 = call ptr @__errno_location() #11
  %16831 = load i32, ptr %16830, align 4, !tbaa !5
  %16832 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16819, ptr noundef @.str.5, i32 noundef %16820, ptr noundef @.str.112, ptr noundef @.str.1, i32 noundef 768, ptr noundef %16823, ptr noundef %16826, ptr noundef %16829, i32 noundef %16831) #10
  br label %16833

16833:                                            ; preds = %16816, %16799
  call void @llvm.lifetime.end.p0(i64 4, ptr %478) #10
  br label %16834

16834:                                            ; preds = %16833
  br label %16835

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

16836:                                            ; No predecessors!
  br label %16837

16837:                                            ; preds = %16836
  br label %16838

16838:                                            ; preds = %16837, %16779
  br label %16839

16839:                                            ; preds = %16838
  br label %16840

16840:                                            ; preds = %16839
  br label %16841

16841:                                            ; preds = %16840
  %16842 = load i32, ptr @test_count, align 4, !tbaa !5
  %16843 = add nsw i32 %16842, 1
  store i32 %16843, ptr @test_count, align 4, !tbaa !5
  %16844 = load ptr, ptr %475, align 8, !tbaa !9
  %16845 = call i32 @s2n_connection_set_blinding(ptr noundef %16844, i32 noundef 1)
  %16846 = icmp eq i32 %16845, -1
  br i1 %16846, label %16847, label %16900

16847:                                            ; preds = %16841
  br label %16848

16848:                                            ; preds = %16847
  br label %16849

16849:                                            ; preds = %16848
  call void @llvm.lifetime.start.p0(i64 4, ptr %479) #10
  %16850 = call ptr @__errno_location() #11
  %16851 = load i32, ptr %16850, align 4, !tbaa !5
  store i32 %16851, ptr %479, align 4, !tbaa !5
  %16852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16853 = call i32 @s2n_print_stacktrace(ptr noundef %16852)
  %16854 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16855 = trunc i8 %16854 to i1
  br i1 %16855, label %16856, label %16878

16856:                                            ; preds = %16849
  %16857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16858 = call i32 @fileno(ptr noundef %16857) #10
  %16859 = call i32 @isatty(i32 noundef %16858) #10
  %16860 = icmp ne i32 %16859, 0
  br i1 %16860, label %16861, label %16878

16861:                                            ; preds = %16856
  %16862 = load i32, ptr %479, align 4, !tbaa !5
  %16863 = call ptr @__errno_location() #11
  store i32 %16862, ptr %16863, align 4, !tbaa !5
  %16864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16865 = load i32, ptr @test_count, align 4, !tbaa !5
  %16866 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16867 = load i32, ptr %16866, align 4, !tbaa !5
  %16868 = call ptr @s2n_strerror(i32 noundef %16867, ptr noundef @.str.4)
  %16869 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16870 = load i32, ptr %16869, align 4, !tbaa !5
  %16871 = call ptr @s2n_strerror_debug(i32 noundef %16870, ptr noundef @.str.4)
  %16872 = call ptr @__errno_location() #11
  %16873 = load i32, ptr %16872, align 4, !tbaa !5
  %16874 = call ptr @strerror(i32 noundef %16873) #10
  %16875 = call ptr @__errno_location() #11
  %16876 = load i32, ptr %16875, align 4, !tbaa !5
  %16877 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16864, ptr noundef @.str.2, i32 noundef %16865, ptr noundef @.str.93, ptr noundef @.str.1, i32 noundef 769, ptr noundef %16868, ptr noundef %16871, ptr noundef %16874, i32 noundef %16876) #10
  br label %16895

16878:                                            ; preds = %16856, %16849
  %16879 = load i32, ptr %479, align 4, !tbaa !5
  %16880 = call ptr @__errno_location() #11
  store i32 %16879, ptr %16880, align 4, !tbaa !5
  %16881 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16882 = load i32, ptr @test_count, align 4, !tbaa !5
  %16883 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16884 = load i32, ptr %16883, align 4, !tbaa !5
  %16885 = call ptr @s2n_strerror(i32 noundef %16884, ptr noundef @.str.4)
  %16886 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16887 = load i32, ptr %16886, align 4, !tbaa !5
  %16888 = call ptr @s2n_strerror_debug(i32 noundef %16887, ptr noundef @.str.4)
  %16889 = call ptr @__errno_location() #11
  %16890 = load i32, ptr %16889, align 4, !tbaa !5
  %16891 = call ptr @strerror(i32 noundef %16890) #10
  %16892 = call ptr @__errno_location() #11
  %16893 = load i32, ptr %16892, align 4, !tbaa !5
  %16894 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16881, ptr noundef @.str.5, i32 noundef %16882, ptr noundef @.str.93, ptr noundef @.str.1, i32 noundef 769, ptr noundef %16885, ptr noundef %16888, ptr noundef %16891, i32 noundef %16893) #10
  br label %16895

16895:                                            ; preds = %16878, %16861
  call void @llvm.lifetime.end.p0(i64 4, ptr %479) #10
  br label %16896

16896:                                            ; preds = %16895
  br label %16897

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

16898:                                            ; No predecessors!
  br label %16899

16899:                                            ; preds = %16898
  br label %16900

16900:                                            ; preds = %16899, %16841
  br label %16901

16901:                                            ; preds = %16900
  br label %16902

16902:                                            ; preds = %16901
  call void @llvm.lifetime.start.p0(i64 8, ptr %480) #10
  %16903 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %16903, ptr %480, align 8, !tbaa !9
  br label %16904

16904:                                            ; preds = %16902
  %16905 = load i32, ptr @test_count, align 4, !tbaa !5
  %16906 = add nsw i32 %16905, 1
  store i32 %16906, ptr @test_count, align 4, !tbaa !5
  %16907 = load ptr, ptr %480, align 8, !tbaa !9
  %16908 = icmp eq ptr %16907, null
  br i1 %16908, label %16909, label %16962

16909:                                            ; preds = %16904
  br label %16910

16910:                                            ; preds = %16909
  br label %16911

16911:                                            ; preds = %16910
  call void @llvm.lifetime.start.p0(i64 4, ptr %481) #10
  %16912 = call ptr @__errno_location() #11
  %16913 = load i32, ptr %16912, align 4, !tbaa !5
  store i32 %16913, ptr %481, align 4, !tbaa !5
  %16914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16915 = call i32 @s2n_print_stacktrace(ptr noundef %16914)
  %16916 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16917 = trunc i8 %16916 to i1
  br i1 %16917, label %16918, label %16940

16918:                                            ; preds = %16911
  %16919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16920 = call i32 @fileno(ptr noundef %16919) #10
  %16921 = call i32 @isatty(i32 noundef %16920) #10
  %16922 = icmp ne i32 %16921, 0
  br i1 %16922, label %16923, label %16940

16923:                                            ; preds = %16918
  %16924 = load i32, ptr %481, align 4, !tbaa !5
  %16925 = call ptr @__errno_location() #11
  store i32 %16924, ptr %16925, align 4, !tbaa !5
  %16926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16927 = load i32, ptr @test_count, align 4, !tbaa !5
  %16928 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16929 = load i32, ptr %16928, align 4, !tbaa !5
  %16930 = call ptr @s2n_strerror(i32 noundef %16929, ptr noundef @.str.4)
  %16931 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16932 = load i32, ptr %16931, align 4, !tbaa !5
  %16933 = call ptr @s2n_strerror_debug(i32 noundef %16932, ptr noundef @.str.4)
  %16934 = call ptr @__errno_location() #11
  %16935 = load i32, ptr %16934, align 4, !tbaa !5
  %16936 = call ptr @strerror(i32 noundef %16935) #10
  %16937 = call ptr @__errno_location() #11
  %16938 = load i32, ptr %16937, align 4, !tbaa !5
  %16939 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16926, ptr noundef @.str.2, i32 noundef %16927, ptr noundef @.str.84, ptr noundef @.str.1, i32 noundef 772, ptr noundef %16930, ptr noundef %16933, ptr noundef %16936, i32 noundef %16938) #10
  br label %16957

16940:                                            ; preds = %16918, %16911
  %16941 = load i32, ptr %481, align 4, !tbaa !5
  %16942 = call ptr @__errno_location() #11
  store i32 %16941, ptr %16942, align 4, !tbaa !5
  %16943 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16944 = load i32, ptr @test_count, align 4, !tbaa !5
  %16945 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16946 = load i32, ptr %16945, align 4, !tbaa !5
  %16947 = call ptr @s2n_strerror(i32 noundef %16946, ptr noundef @.str.4)
  %16948 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16949 = load i32, ptr %16948, align 4, !tbaa !5
  %16950 = call ptr @s2n_strerror_debug(i32 noundef %16949, ptr noundef @.str.4)
  %16951 = call ptr @__errno_location() #11
  %16952 = load i32, ptr %16951, align 4, !tbaa !5
  %16953 = call ptr @strerror(i32 noundef %16952) #10
  %16954 = call ptr @__errno_location() #11
  %16955 = load i32, ptr %16954, align 4, !tbaa !5
  %16956 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16943, ptr noundef @.str.5, i32 noundef %16944, ptr noundef @.str.84, ptr noundef @.str.1, i32 noundef 772, ptr noundef %16947, ptr noundef %16950, ptr noundef %16953, i32 noundef %16955) #10
  br label %16957

16957:                                            ; preds = %16940, %16923
  call void @llvm.lifetime.end.p0(i64 4, ptr %481) #10
  br label %16958

16958:                                            ; preds = %16957
  br label %16959

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

16960:                                            ; No predecessors!
  br label %16961

16961:                                            ; preds = %16960
  br label %16962

16962:                                            ; preds = %16961, %16904
  br label %16963

16963:                                            ; preds = %16962
  br label %16964

16964:                                            ; preds = %16963
  br label %16965

16965:                                            ; preds = %16964
  %16966 = load i32, ptr @test_count, align 4, !tbaa !5
  %16967 = add nsw i32 %16966, 1
  store i32 %16967, ptr @test_count, align 4, !tbaa !5
  %16968 = load ptr, ptr %480, align 8, !tbaa !9
  %16969 = load ptr, ptr %467, align 8, !tbaa !9
  %16970 = call i32 @s2n_connection_set_config(ptr noundef %16968, ptr noundef %16969)
  %16971 = icmp eq i32 %16970, -1
  br i1 %16971, label %16972, label %17025

16972:                                            ; preds = %16965
  br label %16973

16973:                                            ; preds = %16972
  br label %16974

16974:                                            ; preds = %16973
  call void @llvm.lifetime.start.p0(i64 4, ptr %482) #10
  %16975 = call ptr @__errno_location() #11
  %16976 = load i32, ptr %16975, align 4, !tbaa !5
  store i32 %16976, ptr %482, align 4, !tbaa !5
  %16977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16978 = call i32 @s2n_print_stacktrace(ptr noundef %16977)
  %16979 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16980 = trunc i8 %16979 to i1
  br i1 %16980, label %16981, label %17003

16981:                                            ; preds = %16974
  %16982 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16983 = call i32 @fileno(ptr noundef %16982) #10
  %16984 = call i32 @isatty(i32 noundef %16983) #10
  %16985 = icmp ne i32 %16984, 0
  br i1 %16985, label %16986, label %17003

16986:                                            ; preds = %16981
  %16987 = load i32, ptr %482, align 4, !tbaa !5
  %16988 = call ptr @__errno_location() #11
  store i32 %16987, ptr %16988, align 4, !tbaa !5
  %16989 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16990 = load i32, ptr @test_count, align 4, !tbaa !5
  %16991 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16992 = load i32, ptr %16991, align 4, !tbaa !5
  %16993 = call ptr @s2n_strerror(i32 noundef %16992, ptr noundef @.str.4)
  %16994 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16995 = load i32, ptr %16994, align 4, !tbaa !5
  %16996 = call ptr @s2n_strerror_debug(i32 noundef %16995, ptr noundef @.str.4)
  %16997 = call ptr @__errno_location() #11
  %16998 = load i32, ptr %16997, align 4, !tbaa !5
  %16999 = call ptr @strerror(i32 noundef %16998) #10
  %17000 = call ptr @__errno_location() #11
  %17001 = load i32, ptr %17000, align 4, !tbaa !5
  %17002 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16989, ptr noundef @.str.2, i32 noundef %16990, ptr noundef @.str.113, ptr noundef @.str.1, i32 noundef 773, ptr noundef %16993, ptr noundef %16996, ptr noundef %16999, i32 noundef %17001) #10
  br label %17020

17003:                                            ; preds = %16981, %16974
  %17004 = load i32, ptr %482, align 4, !tbaa !5
  %17005 = call ptr @__errno_location() #11
  store i32 %17004, ptr %17005, align 4, !tbaa !5
  %17006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17007 = load i32, ptr @test_count, align 4, !tbaa !5
  %17008 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17009 = load i32, ptr %17008, align 4, !tbaa !5
  %17010 = call ptr @s2n_strerror(i32 noundef %17009, ptr noundef @.str.4)
  %17011 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17012 = load i32, ptr %17011, align 4, !tbaa !5
  %17013 = call ptr @s2n_strerror_debug(i32 noundef %17012, ptr noundef @.str.4)
  %17014 = call ptr @__errno_location() #11
  %17015 = load i32, ptr %17014, align 4, !tbaa !5
  %17016 = call ptr @strerror(i32 noundef %17015) #10
  %17017 = call ptr @__errno_location() #11
  %17018 = load i32, ptr %17017, align 4, !tbaa !5
  %17019 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17006, ptr noundef @.str.5, i32 noundef %17007, ptr noundef @.str.113, ptr noundef @.str.1, i32 noundef 773, ptr noundef %17010, ptr noundef %17013, ptr noundef %17016, i32 noundef %17018) #10
  br label %17020

17020:                                            ; preds = %17003, %16986
  call void @llvm.lifetime.end.p0(i64 4, ptr %482) #10
  br label %17021

17021:                                            ; preds = %17020
  br label %17022

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

17023:                                            ; No predecessors!
  br label %17024

17024:                                            ; preds = %17023
  br label %17025

17025:                                            ; preds = %17024, %16965
  br label %17026

17026:                                            ; preds = %17025
  br label %17027

17027:                                            ; preds = %17026
  br label %17028

17028:                                            ; preds = %17027
  %17029 = load i32, ptr @test_count, align 4, !tbaa !5
  %17030 = add nsw i32 %17029, 1
  store i32 %17030, ptr @test_count, align 4, !tbaa !5
  %17031 = load ptr, ptr %480, align 8, !tbaa !9
  %17032 = call i32 @s2n_set_server_name(ptr noundef %17031, ptr noundef @.str.39)
  %17033 = icmp eq i32 %17032, -1
  br i1 %17033, label %17034, label %17087

17034:                                            ; preds = %17028
  br label %17035

17035:                                            ; preds = %17034
  br label %17036

17036:                                            ; preds = %17035
  call void @llvm.lifetime.start.p0(i64 4, ptr %483) #10
  %17037 = call ptr @__errno_location() #11
  %17038 = load i32, ptr %17037, align 4, !tbaa !5
  store i32 %17038, ptr %483, align 4, !tbaa !5
  %17039 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17040 = call i32 @s2n_print_stacktrace(ptr noundef %17039)
  %17041 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17042 = trunc i8 %17041 to i1
  br i1 %17042, label %17043, label %17065

17043:                                            ; preds = %17036
  %17044 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17045 = call i32 @fileno(ptr noundef %17044) #10
  %17046 = call i32 @isatty(i32 noundef %17045) #10
  %17047 = icmp ne i32 %17046, 0
  br i1 %17047, label %17048, label %17065

17048:                                            ; preds = %17043
  %17049 = load i32, ptr %483, align 4, !tbaa !5
  %17050 = call ptr @__errno_location() #11
  store i32 %17049, ptr %17050, align 4, !tbaa !5
  %17051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17052 = load i32, ptr @test_count, align 4, !tbaa !5
  %17053 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17054 = load i32, ptr %17053, align 4, !tbaa !5
  %17055 = call ptr @s2n_strerror(i32 noundef %17054, ptr noundef @.str.4)
  %17056 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17057 = load i32, ptr %17056, align 4, !tbaa !5
  %17058 = call ptr @s2n_strerror_debug(i32 noundef %17057, ptr noundef @.str.4)
  %17059 = call ptr @__errno_location() #11
  %17060 = load i32, ptr %17059, align 4, !tbaa !5
  %17061 = call ptr @strerror(i32 noundef %17060) #10
  %17062 = call ptr @__errno_location() #11
  %17063 = load i32, ptr %17062, align 4, !tbaa !5
  %17064 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17051, ptr noundef @.str.2, i32 noundef %17052, ptr noundef @.str.86, ptr noundef @.str.1, i32 noundef 774, ptr noundef %17055, ptr noundef %17058, ptr noundef %17061, i32 noundef %17063) #10
  br label %17082

17065:                                            ; preds = %17043, %17036
  %17066 = load i32, ptr %483, align 4, !tbaa !5
  %17067 = call ptr @__errno_location() #11
  store i32 %17066, ptr %17067, align 4, !tbaa !5
  %17068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17069 = load i32, ptr @test_count, align 4, !tbaa !5
  %17070 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17071 = load i32, ptr %17070, align 4, !tbaa !5
  %17072 = call ptr @s2n_strerror(i32 noundef %17071, ptr noundef @.str.4)
  %17073 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17074 = load i32, ptr %17073, align 4, !tbaa !5
  %17075 = call ptr @s2n_strerror_debug(i32 noundef %17074, ptr noundef @.str.4)
  %17076 = call ptr @__errno_location() #11
  %17077 = load i32, ptr %17076, align 4, !tbaa !5
  %17078 = call ptr @strerror(i32 noundef %17077) #10
  %17079 = call ptr @__errno_location() #11
  %17080 = load i32, ptr %17079, align 4, !tbaa !5
  %17081 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17068, ptr noundef @.str.5, i32 noundef %17069, ptr noundef @.str.86, ptr noundef @.str.1, i32 noundef 774, ptr noundef %17072, ptr noundef %17075, ptr noundef %17078, i32 noundef %17080) #10
  br label %17082

17082:                                            ; preds = %17065, %17048
  call void @llvm.lifetime.end.p0(i64 4, ptr %483) #10
  br label %17083

17083:                                            ; preds = %17082
  br label %17084

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

17085:                                            ; No predecessors!
  br label %17086

17086:                                            ; preds = %17085
  br label %17087

17087:                                            ; preds = %17086, %17028
  br label %17088

17088:                                            ; preds = %17087
  br label %17089

17089:                                            ; preds = %17088
  br label %17090

17090:                                            ; preds = %17089
  %17091 = load i32, ptr @test_count, align 4, !tbaa !5
  %17092 = add nsw i32 %17091, 1
  store i32 %17092, ptr @test_count, align 4, !tbaa !5
  %17093 = load ptr, ptr %480, align 8, !tbaa !9
  %17094 = call i32 @s2n_connection_set_blinding(ptr noundef %17093, i32 noundef 1)
  %17095 = icmp eq i32 %17094, -1
  br i1 %17095, label %17096, label %17149

17096:                                            ; preds = %17090
  br label %17097

17097:                                            ; preds = %17096
  br label %17098

17098:                                            ; preds = %17097
  call void @llvm.lifetime.start.p0(i64 4, ptr %484) #10
  %17099 = call ptr @__errno_location() #11
  %17100 = load i32, ptr %17099, align 4, !tbaa !5
  store i32 %17100, ptr %484, align 4, !tbaa !5
  %17101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17102 = call i32 @s2n_print_stacktrace(ptr noundef %17101)
  %17103 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17104 = trunc i8 %17103 to i1
  br i1 %17104, label %17105, label %17127

17105:                                            ; preds = %17098
  %17106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17107 = call i32 @fileno(ptr noundef %17106) #10
  %17108 = call i32 @isatty(i32 noundef %17107) #10
  %17109 = icmp ne i32 %17108, 0
  br i1 %17109, label %17110, label %17127

17110:                                            ; preds = %17105
  %17111 = load i32, ptr %484, align 4, !tbaa !5
  %17112 = call ptr @__errno_location() #11
  store i32 %17111, ptr %17112, align 4, !tbaa !5
  %17113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17114 = load i32, ptr @test_count, align 4, !tbaa !5
  %17115 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17116 = load i32, ptr %17115, align 4, !tbaa !5
  %17117 = call ptr @s2n_strerror(i32 noundef %17116, ptr noundef @.str.4)
  %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_debug(i32 noundef %17119, ptr noundef @.str.4)
  %17121 = call ptr @__errno_location() #11
  %17122 = load i32, ptr %17121, align 4, !tbaa !5
  %17123 = call ptr @strerror(i32 noundef %17122) #10
  %17124 = call ptr @__errno_location() #11
  %17125 = load i32, ptr %17124, align 4, !tbaa !5
  %17126 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17113, ptr noundef @.str.2, i32 noundef %17114, ptr noundef @.str.94, ptr noundef @.str.1, i32 noundef 775, ptr noundef %17117, ptr noundef %17120, ptr noundef %17123, i32 noundef %17125) #10
  br label %17144

17127:                                            ; preds = %17105, %17098
  %17128 = load i32, ptr %484, align 4, !tbaa !5
  %17129 = call ptr @__errno_location() #11
  store i32 %17128, ptr %17129, align 4, !tbaa !5
  %17130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17131 = load i32, ptr @test_count, align 4, !tbaa !5
  %17132 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17133 = load i32, ptr %17132, align 4, !tbaa !5
  %17134 = call ptr @s2n_strerror(i32 noundef %17133, ptr noundef @.str.4)
  %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_debug(i32 noundef %17136, ptr noundef @.str.4)
  %17138 = call ptr @__errno_location() #11
  %17139 = load i32, ptr %17138, align 4, !tbaa !5
  %17140 = call ptr @strerror(i32 noundef %17139) #10
  %17141 = call ptr @__errno_location() #11
  %17142 = load i32, ptr %17141, align 4, !tbaa !5
  %17143 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17130, ptr noundef @.str.5, i32 noundef %17131, ptr noundef @.str.94, ptr noundef @.str.1, i32 noundef 775, ptr noundef %17134, ptr noundef %17137, ptr noundef %17140, i32 noundef %17142) #10
  br label %17144

17144:                                            ; preds = %17127, %17110
  call void @llvm.lifetime.end.p0(i64 4, ptr %484) #10
  br label %17145

17145:                                            ; preds = %17144
  br label %17146

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

17147:                                            ; No predecessors!
  br label %17148

17148:                                            ; preds = %17147
  br label %17149

17149:                                            ; preds = %17148, %17090
  br label %17150

17150:                                            ; preds = %17149
  br label %17151

17151:                                            ; preds = %17150
  call void @llvm.lifetime.start.p0(i64 8, ptr %485) #10
  call void @llvm.memset.p0.i64(ptr align 4 %485, i8 0, i64 8, i1 false)
  br label %17152

17152:                                            ; preds = %17151
  %17153 = load i32, ptr @test_count, align 4, !tbaa !5
  %17154 = add nsw i32 %17153, 1
  store i32 %17154, ptr @test_count, align 4, !tbaa !5
  %17155 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef %485)
  %17156 = icmp eq i32 %17155, -1
  br i1 %17156, label %17157, label %17210

17157:                                            ; preds = %17152
  br label %17158

17158:                                            ; preds = %17157
  br label %17159

17159:                                            ; preds = %17158
  call void @llvm.lifetime.start.p0(i64 4, ptr %486) #10
  %17160 = call ptr @__errno_location() #11
  %17161 = load i32, ptr %17160, align 4, !tbaa !5
  store i32 %17161, ptr %486, align 4, !tbaa !5
  %17162 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17163 = call i32 @s2n_print_stacktrace(ptr noundef %17162)
  %17164 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17165 = trunc i8 %17164 to i1
  br i1 %17165, label %17166, label %17188

17166:                                            ; preds = %17159
  %17167 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17168 = call i32 @fileno(ptr noundef %17167) #10
  %17169 = call i32 @isatty(i32 noundef %17168) #10
  %17170 = icmp ne i32 %17169, 0
  br i1 %17170, label %17171, label %17188

17171:                                            ; preds = %17166
  %17172 = load i32, ptr %486, align 4, !tbaa !5
  %17173 = call ptr @__errno_location() #11
  store i32 %17172, ptr %17173, align 4, !tbaa !5
  %17174 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17175 = load i32, ptr @test_count, align 4, !tbaa !5
  %17176 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17177 = load i32, ptr %17176, align 4, !tbaa !5
  %17178 = call ptr @s2n_strerror(i32 noundef %17177, ptr noundef @.str.4)
  %17179 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17180 = load i32, ptr %17179, align 4, !tbaa !5
  %17181 = call ptr @s2n_strerror_debug(i32 noundef %17180, ptr noundef @.str.4)
  %17182 = call ptr @__errno_location() #11
  %17183 = load i32, ptr %17182, align 4, !tbaa !5
  %17184 = call ptr @strerror(i32 noundef %17183) #10
  %17185 = call ptr @__errno_location() #11
  %17186 = load i32, ptr %17185, align 4, !tbaa !5
  %17187 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17174, ptr noundef @.str.2, i32 noundef %17175, ptr noundef @.str.87, ptr noundef @.str.1, i32 noundef 778, ptr noundef %17178, ptr noundef %17181, ptr noundef %17184, i32 noundef %17186) #10
  br label %17205

17188:                                            ; preds = %17166, %17159
  %17189 = load i32, ptr %486, align 4, !tbaa !5
  %17190 = call ptr @__errno_location() #11
  store i32 %17189, ptr %17190, align 4, !tbaa !5
  %17191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17192 = load i32, ptr @test_count, align 4, !tbaa !5
  %17193 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17194 = load i32, ptr %17193, align 4, !tbaa !5
  %17195 = call ptr @s2n_strerror(i32 noundef %17194, ptr noundef @.str.4)
  %17196 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17197 = load i32, ptr %17196, align 4, !tbaa !5
  %17198 = call ptr @s2n_strerror_debug(i32 noundef %17197, ptr noundef @.str.4)
  %17199 = call ptr @__errno_location() #11
  %17200 = load i32, ptr %17199, align 4, !tbaa !5
  %17201 = call ptr @strerror(i32 noundef %17200) #10
  %17202 = call ptr @__errno_location() #11
  %17203 = load i32, ptr %17202, align 4, !tbaa !5
  %17204 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17191, ptr noundef @.str.5, i32 noundef %17192, ptr noundef @.str.87, ptr noundef @.str.1, i32 noundef 778, ptr noundef %17195, ptr noundef %17198, ptr noundef %17201, i32 noundef %17203) #10
  br label %17205

17205:                                            ; preds = %17188, %17171
  call void @llvm.lifetime.end.p0(i64 4, ptr %486) #10
  br label %17206

17206:                                            ; preds = %17205
  br label %17207

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

17208:                                            ; No predecessors!
  br label %17209

17209:                                            ; preds = %17208
  br label %17210

17210:                                            ; preds = %17209, %17152
  br label %17211

17211:                                            ; preds = %17210
  br label %17212

17212:                                            ; preds = %17211
  br label %17213

17213:                                            ; preds = %17212
  %17214 = load i32, ptr @test_count, align 4, !tbaa !5
  %17215 = add nsw i32 %17214, 1
  store i32 %17215, ptr @test_count, align 4, !tbaa !5
  %17216 = load ptr, ptr %480, align 8, !tbaa !9
  %17217 = call i32 @s2n_connection_set_io_pair(ptr noundef %17216, ptr noundef %485)
  %17218 = icmp eq i32 %17217, -1
  br i1 %17218, label %17219, label %17272

17219:                                            ; preds = %17213
  br label %17220

17220:                                            ; preds = %17219
  br label %17221

17221:                                            ; preds = %17220
  call void @llvm.lifetime.start.p0(i64 4, ptr %487) #10
  %17222 = call ptr @__errno_location() #11
  %17223 = load i32, ptr %17222, align 4, !tbaa !5
  store i32 %17223, ptr %487, align 4, !tbaa !5
  %17224 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17225 = call i32 @s2n_print_stacktrace(ptr noundef %17224)
  %17226 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17227 = trunc i8 %17226 to i1
  br i1 %17227, label %17228, label %17250

17228:                                            ; preds = %17221
  %17229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17230 = call i32 @fileno(ptr noundef %17229) #10
  %17231 = call i32 @isatty(i32 noundef %17230) #10
  %17232 = icmp ne i32 %17231, 0
  br i1 %17232, label %17233, label %17250

17233:                                            ; preds = %17228
  %17234 = load i32, ptr %487, align 4, !tbaa !5
  %17235 = call ptr @__errno_location() #11
  store i32 %17234, ptr %17235, align 4, !tbaa !5
  %17236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17237 = load i32, ptr @test_count, align 4, !tbaa !5
  %17238 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17239 = load i32, ptr %17238, align 4, !tbaa !5
  %17240 = call ptr @s2n_strerror(i32 noundef %17239, ptr noundef @.str.4)
  %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_debug(i32 noundef %17242, ptr noundef @.str.4)
  %17244 = call ptr @__errno_location() #11
  %17245 = load i32, ptr %17244, align 4, !tbaa !5
  %17246 = call ptr @strerror(i32 noundef %17245) #10
  %17247 = call ptr @__errno_location() #11
  %17248 = load i32, ptr %17247, align 4, !tbaa !5
  %17249 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17236, ptr noundef @.str.2, i32 noundef %17237, ptr noundef @.str.88, ptr noundef @.str.1, i32 noundef 779, ptr noundef %17240, ptr noundef %17243, ptr noundef %17246, i32 noundef %17248) #10
  br label %17267

17250:                                            ; preds = %17228, %17221
  %17251 = load i32, ptr %487, align 4, !tbaa !5
  %17252 = call ptr @__errno_location() #11
  store i32 %17251, ptr %17252, align 4, !tbaa !5
  %17253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17254 = load i32, ptr @test_count, align 4, !tbaa !5
  %17255 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17256 = load i32, ptr %17255, align 4, !tbaa !5
  %17257 = call ptr @s2n_strerror(i32 noundef %17256, ptr noundef @.str.4)
  %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_debug(i32 noundef %17259, ptr noundef @.str.4)
  %17261 = call ptr @__errno_location() #11
  %17262 = load i32, ptr %17261, align 4, !tbaa !5
  %17263 = call ptr @strerror(i32 noundef %17262) #10
  %17264 = call ptr @__errno_location() #11
  %17265 = load i32, ptr %17264, align 4, !tbaa !5
  %17266 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17253, ptr noundef @.str.5, i32 noundef %17254, ptr noundef @.str.88, ptr noundef @.str.1, i32 noundef 779, ptr noundef %17257, ptr noundef %17260, ptr noundef %17263, i32 noundef %17265) #10
  br label %17267

17267:                                            ; preds = %17250, %17233
  call void @llvm.lifetime.end.p0(i64 4, ptr %487) #10
  br label %17268

17268:                                            ; preds = %17267
  br label %17269

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

17270:                                            ; No predecessors!
  br label %17271

17271:                                            ; preds = %17270
  br label %17272

17272:                                            ; preds = %17271, %17213
  br label %17273

17273:                                            ; preds = %17272
  br label %17274

17274:                                            ; preds = %17273
  br label %17275

17275:                                            ; preds = %17274
  %17276 = load i32, ptr @test_count, align 4, !tbaa !5
  %17277 = add nsw i32 %17276, 1
  store i32 %17277, ptr @test_count, align 4, !tbaa !5
  %17278 = load ptr, ptr %475, align 8, !tbaa !9
  %17279 = call i32 @s2n_connection_set_io_pair(ptr noundef %17278, ptr noundef %485)
  %17280 = icmp eq i32 %17279, -1
  br i1 %17280, label %17281, label %17334

17281:                                            ; preds = %17275
  br label %17282

17282:                                            ; preds = %17281
  br label %17283

17283:                                            ; preds = %17282
  call void @llvm.lifetime.start.p0(i64 4, ptr %488) #10
  %17284 = call ptr @__errno_location() #11
  %17285 = load i32, ptr %17284, align 4, !tbaa !5
  store i32 %17285, ptr %488, align 4, !tbaa !5
  %17286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17287 = call i32 @s2n_print_stacktrace(ptr noundef %17286)
  %17288 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17289 = trunc i8 %17288 to i1
  br i1 %17289, label %17290, label %17312

17290:                                            ; preds = %17283
  %17291 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17292 = call i32 @fileno(ptr noundef %17291) #10
  %17293 = call i32 @isatty(i32 noundef %17292) #10
  %17294 = icmp ne i32 %17293, 0
  br i1 %17294, label %17295, label %17312

17295:                                            ; preds = %17290
  %17296 = load i32, ptr %488, align 4, !tbaa !5
  %17297 = call ptr @__errno_location() #11
  store i32 %17296, ptr %17297, align 4, !tbaa !5
  %17298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17299 = load i32, ptr @test_count, align 4, !tbaa !5
  %17300 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17301 = load i32, ptr %17300, align 4, !tbaa !5
  %17302 = call ptr @s2n_strerror(i32 noundef %17301, ptr noundef @.str.4)
  %17303 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17304 = load i32, ptr %17303, align 4, !tbaa !5
  %17305 = call ptr @s2n_strerror_debug(i32 noundef %17304, ptr noundef @.str.4)
  %17306 = call ptr @__errno_location() #11
  %17307 = load i32, ptr %17306, align 4, !tbaa !5
  %17308 = call ptr @strerror(i32 noundef %17307) #10
  %17309 = call ptr @__errno_location() #11
  %17310 = load i32, ptr %17309, align 4, !tbaa !5
  %17311 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17298, ptr noundef @.str.2, i32 noundef %17299, ptr noundef @.str.89, ptr noundef @.str.1, i32 noundef 780, ptr noundef %17302, ptr noundef %17305, ptr noundef %17308, i32 noundef %17310) #10
  br label %17329

17312:                                            ; preds = %17290, %17283
  %17313 = load i32, ptr %488, align 4, !tbaa !5
  %17314 = call ptr @__errno_location() #11
  store i32 %17313, ptr %17314, align 4, !tbaa !5
  %17315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17316 = load i32, ptr @test_count, align 4, !tbaa !5
  %17317 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17318 = load i32, ptr %17317, align 4, !tbaa !5
  %17319 = call ptr @s2n_strerror(i32 noundef %17318, ptr noundef @.str.4)
  %17320 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17321 = load i32, ptr %17320, align 4, !tbaa !5
  %17322 = call ptr @s2n_strerror_debug(i32 noundef %17321, ptr noundef @.str.4)
  %17323 = call ptr @__errno_location() #11
  %17324 = load i32, ptr %17323, align 4, !tbaa !5
  %17325 = call ptr @strerror(i32 noundef %17324) #10
  %17326 = call ptr @__errno_location() #11
  %17327 = load i32, ptr %17326, align 4, !tbaa !5
  %17328 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17315, ptr noundef @.str.5, i32 noundef %17316, ptr noundef @.str.89, ptr noundef @.str.1, i32 noundef 780, ptr noundef %17319, ptr noundef %17322, ptr noundef %17325, i32 noundef %17327) #10
  br label %17329

17329:                                            ; preds = %17312, %17295
  call void @llvm.lifetime.end.p0(i64 4, ptr %488) #10
  br label %17330

17330:                                            ; preds = %17329
  br label %17331

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

17332:                                            ; No predecessors!
  br label %17333

17333:                                            ; preds = %17332
  br label %17334

17334:                                            ; preds = %17333, %17275
  br label %17335

17335:                                            ; preds = %17334
  br label %17336

17336:                                            ; preds = %17335
  br label %17337

17337:                                            ; preds = %17336
  %17338 = load i32, ptr @test_count, align 4, !tbaa !5
  %17339 = add nsw i32 %17338, 1
  store i32 %17339, ptr @test_count, align 4, !tbaa !5
  %17340 = load ptr, ptr %475, align 8, !tbaa !9
  %17341 = load ptr, ptr %480, align 8, !tbaa !9
  %17342 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %17340, ptr noundef %17341)
  %17343 = icmp eq i32 %17342, -1
  br i1 %17343, label %17344, label %17397

17344:                                            ; preds = %17337
  br label %17345

17345:                                            ; preds = %17344
  br label %17346

17346:                                            ; preds = %17345
  call void @llvm.lifetime.start.p0(i64 4, ptr %489) #10
  %17347 = call ptr @__errno_location() #11
  %17348 = load i32, ptr %17347, align 4, !tbaa !5
  store i32 %17348, ptr %489, align 4, !tbaa !5
  %17349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17350 = call i32 @s2n_print_stacktrace(ptr noundef %17349)
  %17351 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17352 = trunc i8 %17351 to i1
  br i1 %17352, label %17353, label %17375

17353:                                            ; preds = %17346
  %17354 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17355 = call i32 @fileno(ptr noundef %17354) #10
  %17356 = call i32 @isatty(i32 noundef %17355) #10
  %17357 = icmp ne i32 %17356, 0
  br i1 %17357, label %17358, label %17375

17358:                                            ; preds = %17353
  %17359 = load i32, ptr %489, align 4, !tbaa !5
  %17360 = call ptr @__errno_location() #11
  store i32 %17359, ptr %17360, align 4, !tbaa !5
  %17361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17362 = load i32, ptr @test_count, align 4, !tbaa !5
  %17363 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17364 = load i32, ptr %17363, align 4, !tbaa !5
  %17365 = call ptr @s2n_strerror(i32 noundef %17364, ptr noundef @.str.4)
  %17366 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17367 = load i32, ptr %17366, align 4, !tbaa !5
  %17368 = call ptr @s2n_strerror_debug(i32 noundef %17367, ptr noundef @.str.4)
  %17369 = call ptr @__errno_location() #11
  %17370 = load i32, ptr %17369, align 4, !tbaa !5
  %17371 = call ptr @strerror(i32 noundef %17370) #10
  %17372 = call ptr @__errno_location() #11
  %17373 = load i32, ptr %17372, align 4, !tbaa !5
  %17374 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17361, ptr noundef @.str.2, i32 noundef %17362, ptr noundef @.str.90, ptr noundef @.str.1, i32 noundef 782, ptr noundef %17365, ptr noundef %17368, ptr noundef %17371, i32 noundef %17373) #10
  br label %17392

17375:                                            ; preds = %17353, %17346
  %17376 = load i32, ptr %489, align 4, !tbaa !5
  %17377 = call ptr @__errno_location() #11
  store i32 %17376, ptr %17377, align 4, !tbaa !5
  %17378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17379 = load i32, ptr @test_count, align 4, !tbaa !5
  %17380 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17381 = load i32, ptr %17380, align 4, !tbaa !5
  %17382 = call ptr @s2n_strerror(i32 noundef %17381, ptr noundef @.str.4)
  %17383 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17384 = load i32, ptr %17383, align 4, !tbaa !5
  %17385 = call ptr @s2n_strerror_debug(i32 noundef %17384, ptr noundef @.str.4)
  %17386 = call ptr @__errno_location() #11
  %17387 = load i32, ptr %17386, align 4, !tbaa !5
  %17388 = call ptr @strerror(i32 noundef %17387) #10
  %17389 = call ptr @__errno_location() #11
  %17390 = load i32, ptr %17389, align 4, !tbaa !5
  %17391 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17378, ptr noundef @.str.5, i32 noundef %17379, ptr noundef @.str.90, ptr noundef @.str.1, i32 noundef 782, ptr noundef %17382, ptr noundef %17385, ptr noundef %17388, i32 noundef %17390) #10
  br label %17392

17392:                                            ; preds = %17375, %17358
  call void @llvm.lifetime.end.p0(i64 4, ptr %489) #10
  br label %17393

17393:                                            ; preds = %17392
  br label %17394

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

17395:                                            ; No predecessors!
  br label %17396

17396:                                            ; preds = %17395
  br label %17397

17397:                                            ; preds = %17396, %17337
  br label %17398

17398:                                            ; preds = %17397
  br label %17399

17399:                                            ; preds = %17398
  br label %17400

17400:                                            ; preds = %17399
  %17401 = load i32, ptr @test_count, align 4, !tbaa !5
  %17402 = add nsw i32 %17401, 1
  store i32 %17402, ptr @test_count, align 4, !tbaa !5
  %17403 = getelementptr inbounds %struct.crl_lookup_data, ptr %473, i32 0, i32 2
  %17404 = load i8, ptr %17403, align 8, !tbaa !27
  %17405 = zext i8 %17404 to i32
  %17406 = icmp eq i32 %17405, 2
  br i1 %17406, label %17460, label %17407

17407:                                            ; preds = %17400
  br label %17408

17408:                                            ; preds = %17407
  br label %17409

17409:                                            ; preds = %17408
  call void @llvm.lifetime.start.p0(i64 4, ptr %490) #10
  %17410 = call ptr @__errno_location() #11
  %17411 = load i32, ptr %17410, align 4, !tbaa !5
  store i32 %17411, ptr %490, align 4, !tbaa !5
  %17412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17413 = call i32 @s2n_print_stacktrace(ptr noundef %17412)
  %17414 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17415 = trunc i8 %17414 to i1
  br i1 %17415, label %17416, label %17438

17416:                                            ; preds = %17409
  %17417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17418 = call i32 @fileno(ptr noundef %17417) #10
  %17419 = call i32 @isatty(i32 noundef %17418) #10
  %17420 = icmp ne i32 %17419, 0
  br i1 %17420, label %17421, label %17438

17421:                                            ; preds = %17416
  %17422 = load i32, ptr %490, align 4, !tbaa !5
  %17423 = call ptr @__errno_location() #11
  store i32 %17422, ptr %17423, align 4, !tbaa !5
  %17424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17425 = load i32, ptr @test_count, align 4, !tbaa !5
  %17426 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17427 = load i32, ptr %17426, align 4, !tbaa !5
  %17428 = call ptr @s2n_strerror(i32 noundef %17427, ptr noundef @.str.4)
  %17429 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17430 = load i32, ptr %17429, align 4, !tbaa !5
  %17431 = call ptr @s2n_strerror_debug(i32 noundef %17430, ptr noundef @.str.4)
  %17432 = call ptr @__errno_location() #11
  %17433 = load i32, ptr %17432, align 4, !tbaa !5
  %17434 = call ptr @strerror(i32 noundef %17433) #10
  %17435 = call ptr @__errno_location() #11
  %17436 = load i32, ptr %17435, align 4, !tbaa !5
  %17437 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17424, ptr noundef @.str.2, i32 noundef %17425, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 784, ptr noundef %17428, ptr noundef %17431, ptr noundef %17434, i32 noundef %17436) #10
  br label %17455

17438:                                            ; preds = %17416, %17409
  %17439 = load i32, ptr %490, align 4, !tbaa !5
  %17440 = call ptr @__errno_location() #11
  store i32 %17439, ptr %17440, align 4, !tbaa !5
  %17441 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17442 = load i32, ptr @test_count, align 4, !tbaa !5
  %17443 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17444 = load i32, ptr %17443, align 4, !tbaa !5
  %17445 = call ptr @s2n_strerror(i32 noundef %17444, ptr noundef @.str.4)
  %17446 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17447 = load i32, ptr %17446, align 4, !tbaa !5
  %17448 = call ptr @s2n_strerror_debug(i32 noundef %17447, ptr noundef @.str.4)
  %17449 = call ptr @__errno_location() #11
  %17450 = load i32, ptr %17449, align 4, !tbaa !5
  %17451 = call ptr @strerror(i32 noundef %17450) #10
  %17452 = call ptr @__errno_location() #11
  %17453 = load i32, ptr %17452, align 4, !tbaa !5
  %17454 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17441, ptr noundef @.str.5, i32 noundef %17442, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 784, ptr noundef %17445, ptr noundef %17448, ptr noundef %17451, i32 noundef %17453) #10
  br label %17455

17455:                                            ; preds = %17438, %17421
  call void @llvm.lifetime.end.p0(i64 4, ptr %490) #10
  br label %17456

17456:                                            ; preds = %17455
  br label %17457

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

17458:                                            ; No predecessors!
  br label %17459

17459:                                            ; preds = %17458
  br label %17460

17460:                                            ; preds = %17459, %17400
  br label %17461

17461:                                            ; preds = %17460
  br label %17462

17462:                                            ; preds = %17461
  %17463 = call i32 @s2n_io_pair_close(ptr noundef %485)
  call void @llvm.lifetime.end.p0(i64 8, ptr %485) #10
  %17464 = call i32 @s2n_connection_ptr_free(ptr noundef %480)
  %17465 = getelementptr inbounds %struct.s2n_result, ptr %491, i32 0, i32 0
  store i32 %17464, ptr %17465, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %480) #10
  %17466 = call i32 @s2n_connection_ptr_free(ptr noundef %475)
  %17467 = getelementptr inbounds %struct.s2n_result, ptr %492, i32 0, i32 0
  store i32 %17466, ptr %17467, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %475) #10
  call void @llvm.lifetime.end.p0(i64 88, ptr %473) #10
  %17468 = call i32 @s2n_config_ptr_free(ptr noundef %467)
  %17469 = getelementptr inbounds %struct.s2n_result, ptr %493, i32 0, i32 0
  store i32 %17468, ptr %17469, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %467) #10
  %17470 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef %465)
  %17471 = getelementptr inbounds %struct.s2n_result, ptr %494, i32 0, i32 0
  store i32 %17470, ptr %17471, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %465) #10
  %17472 = call i32 @s2n_config_ptr_free(ptr noundef %459)
  %17473 = getelementptr inbounds %struct.s2n_result, ptr %495, i32 0, i32 0
  store i32 %17472, ptr %17473, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %459) #10
  %17474 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef %457)
  %17475 = getelementptr inbounds %struct.s2n_result, ptr %496, i32 0, i32 0
  store i32 %17474, ptr %17475, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %457) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %497) #10
  store ptr null, ptr %497, align 8, !tbaa !9
  br label %17476

17476:                                            ; preds = %17462
  %17477 = load i32, ptr @test_count, align 4, !tbaa !5
  %17478 = add nsw i32 %17477, 1
  store i32 %17478, ptr @test_count, align 4, !tbaa !5
  %17479 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef %497, ptr noundef @.str.96, ptr noundef @.str.97)
  %17480 = icmp eq i32 %17479, -1
  br i1 %17480, label %17481, label %17534

17481:                                            ; preds = %17476
  br label %17482

17482:                                            ; preds = %17481
  br label %17483

17483:                                            ; preds = %17482
  call void @llvm.lifetime.start.p0(i64 4, ptr %498) #10
  %17484 = call ptr @__errno_location() #11
  %17485 = load i32, ptr %17484, align 4, !tbaa !5
  store i32 %17485, ptr %498, align 4, !tbaa !5
  %17486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17487 = call i32 @s2n_print_stacktrace(ptr noundef %17486)
  %17488 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17489 = trunc i8 %17488 to i1
  br i1 %17489, label %17490, label %17512

17490:                                            ; preds = %17483
  %17491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17492 = call i32 @fileno(ptr noundef %17491) #10
  %17493 = call i32 @isatty(i32 noundef %17492) #10
  %17494 = icmp ne i32 %17493, 0
  br i1 %17494, label %17495, label %17512

17495:                                            ; preds = %17490
  %17496 = load i32, ptr %498, align 4, !tbaa !5
  %17497 = call ptr @__errno_location() #11
  store i32 %17496, ptr %17497, align 4, !tbaa !5
  %17498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17499 = load i32, ptr @test_count, align 4, !tbaa !5
  %17500 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17501 = load i32, ptr %17500, align 4, !tbaa !5
  %17502 = call ptr @s2n_strerror(i32 noundef %17501, ptr noundef @.str.4)
  %17503 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17504 = load i32, ptr %17503, align 4, !tbaa !5
  %17505 = call ptr @s2n_strerror_debug(i32 noundef %17504, ptr noundef @.str.4)
  %17506 = call ptr @__errno_location() #11
  %17507 = load i32, ptr %17506, align 4, !tbaa !5
  %17508 = call ptr @strerror(i32 noundef %17507) #10
  %17509 = call ptr @__errno_location() #11
  %17510 = load i32, ptr %17509, align 4, !tbaa !5
  %17511 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17498, ptr noundef @.str.2, i32 noundef %17499, ptr noundef @.str.98, ptr noundef @.str.1, i32 noundef 791, ptr noundef %17502, ptr noundef %17505, ptr noundef %17508, i32 noundef %17510) #10
  br label %17529

17512:                                            ; preds = %17490, %17483
  %17513 = load i32, ptr %498, align 4, !tbaa !5
  %17514 = call ptr @__errno_location() #11
  store i32 %17513, ptr %17514, align 4, !tbaa !5
  %17515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17516 = load i32, ptr @test_count, align 4, !tbaa !5
  %17517 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17518 = load i32, ptr %17517, align 4, !tbaa !5
  %17519 = call ptr @s2n_strerror(i32 noundef %17518, ptr noundef @.str.4)
  %17520 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17521 = load i32, ptr %17520, align 4, !tbaa !5
  %17522 = call ptr @s2n_strerror_debug(i32 noundef %17521, ptr noundef @.str.4)
  %17523 = call ptr @__errno_location() #11
  %17524 = load i32, ptr %17523, align 4, !tbaa !5
  %17525 = call ptr @strerror(i32 noundef %17524) #10
  %17526 = call ptr @__errno_location() #11
  %17527 = load i32, ptr %17526, align 4, !tbaa !5
  %17528 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17515, ptr noundef @.str.5, i32 noundef %17516, ptr noundef @.str.98, ptr noundef @.str.1, i32 noundef 791, ptr noundef %17519, ptr noundef %17522, ptr noundef %17525, i32 noundef %17527) #10
  br label %17529

17529:                                            ; preds = %17512, %17495
  call void @llvm.lifetime.end.p0(i64 4, ptr %498) #10
  br label %17530

17530:                                            ; preds = %17529
  br label %17531

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

17532:                                            ; No predecessors!
  br label %17533

17533:                                            ; preds = %17532
  br label %17534

17534:                                            ; preds = %17533, %17476
  br label %17535

17535:                                            ; preds = %17534
  br label %17536

17536:                                            ; preds = %17535
  call void @llvm.lifetime.start.p0(i64 8, ptr %499) #10
  %17537 = call ptr @s2n_config_new()
  store ptr %17537, ptr %499, align 8, !tbaa !9
  br label %17538

17538:                                            ; preds = %17536
  %17539 = load i32, ptr @test_count, align 4, !tbaa !5
  %17540 = add nsw i32 %17539, 1
  store i32 %17540, ptr @test_count, align 4, !tbaa !5
  %17541 = load ptr, ptr %499, align 8, !tbaa !9
  %17542 = icmp eq ptr %17541, null
  br i1 %17542, label %17543, label %17596

17543:                                            ; preds = %17538
  br label %17544

17544:                                            ; preds = %17543
  br label %17545

17545:                                            ; preds = %17544
  call void @llvm.lifetime.start.p0(i64 4, ptr %500) #10
  %17546 = call ptr @__errno_location() #11
  %17547 = load i32, ptr %17546, align 4, !tbaa !5
  store i32 %17547, ptr %500, align 4, !tbaa !5
  %17548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17549 = call i32 @s2n_print_stacktrace(ptr noundef %17548)
  %17550 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17551 = trunc i8 %17550 to i1
  br i1 %17551, label %17552, label %17574

17552:                                            ; preds = %17545
  %17553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17554 = call i32 @fileno(ptr noundef %17553) #10
  %17555 = call i32 @isatty(i32 noundef %17554) #10
  %17556 = icmp ne i32 %17555, 0
  br i1 %17556, label %17557, label %17574

17557:                                            ; preds = %17552
  %17558 = load i32, ptr %500, align 4, !tbaa !5
  %17559 = call ptr @__errno_location() #11
  store i32 %17558, ptr %17559, align 4, !tbaa !5
  %17560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17561 = load i32, ptr @test_count, align 4, !tbaa !5
  %17562 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17563 = load i32, ptr %17562, align 4, !tbaa !5
  %17564 = call ptr @s2n_strerror(i32 noundef %17563, ptr noundef @.str.4)
  %17565 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17566 = load i32, ptr %17565, align 4, !tbaa !5
  %17567 = call ptr @s2n_strerror_debug(i32 noundef %17566, ptr noundef @.str.4)
  %17568 = call ptr @__errno_location() #11
  %17569 = load i32, ptr %17568, align 4, !tbaa !5
  %17570 = call ptr @strerror(i32 noundef %17569) #10
  %17571 = call ptr @__errno_location() #11
  %17572 = load i32, ptr %17571, align 4, !tbaa !5
  %17573 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17560, ptr noundef @.str.2, i32 noundef %17561, ptr noundef @.str.99, ptr noundef @.str.1, i32 noundef 794, ptr noundef %17564, ptr noundef %17567, ptr noundef %17570, i32 noundef %17572) #10
  br label %17591

17574:                                            ; preds = %17552, %17545
  %17575 = load i32, ptr %500, align 4, !tbaa !5
  %17576 = call ptr @__errno_location() #11
  store i32 %17575, ptr %17576, align 4, !tbaa !5
  %17577 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17578 = load i32, ptr @test_count, align 4, !tbaa !5
  %17579 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17580 = load i32, ptr %17579, align 4, !tbaa !5
  %17581 = call ptr @s2n_strerror(i32 noundef %17580, ptr noundef @.str.4)
  %17582 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17583 = load i32, ptr %17582, align 4, !tbaa !5
  %17584 = call ptr @s2n_strerror_debug(i32 noundef %17583, ptr noundef @.str.4)
  %17585 = call ptr @__errno_location() #11
  %17586 = load i32, ptr %17585, align 4, !tbaa !5
  %17587 = call ptr @strerror(i32 noundef %17586) #10
  %17588 = call ptr @__errno_location() #11
  %17589 = load i32, ptr %17588, align 4, !tbaa !5
  %17590 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17577, ptr noundef @.str.5, i32 noundef %17578, ptr noundef @.str.99, ptr noundef @.str.1, i32 noundef 794, ptr noundef %17581, ptr noundef %17584, ptr noundef %17587, i32 noundef %17589) #10
  br label %17591

17591:                                            ; preds = %17574, %17557
  call void @llvm.lifetime.end.p0(i64 4, ptr %500) #10
  br label %17592

17592:                                            ; preds = %17591
  br label %17593

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

17594:                                            ; No predecessors!
  br label %17595

17595:                                            ; preds = %17594
  br label %17596

17596:                                            ; preds = %17595, %17538
  br label %17597

17597:                                            ; preds = %17596
  br label %17598

17598:                                            ; preds = %17597
  br label %17599

17599:                                            ; preds = %17598
  %17600 = load i32, ptr @test_count, align 4, !tbaa !5
  %17601 = add nsw i32 %17600, 1
  store i32 %17601, ptr @test_count, align 4, !tbaa !5
  %17602 = load ptr, ptr %499, align 8, !tbaa !9
  %17603 = load ptr, ptr %497, align 8, !tbaa !9
  %17604 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %17602, ptr noundef %17603)
  %17605 = icmp eq i32 %17604, -1
  br i1 %17605, label %17606, label %17659

17606:                                            ; preds = %17599
  br label %17607

17607:                                            ; preds = %17606
  br label %17608

17608:                                            ; preds = %17607
  call void @llvm.lifetime.start.p0(i64 4, ptr %501) #10
  %17609 = call ptr @__errno_location() #11
  %17610 = load i32, ptr %17609, align 4, !tbaa !5
  store i32 %17610, ptr %501, align 4, !tbaa !5
  %17611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17612 = call i32 @s2n_print_stacktrace(ptr noundef %17611)
  %17613 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17614 = trunc i8 %17613 to i1
  br i1 %17614, label %17615, label %17637

17615:                                            ; preds = %17608
  %17616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17617 = call i32 @fileno(ptr noundef %17616) #10
  %17618 = call i32 @isatty(i32 noundef %17617) #10
  %17619 = icmp ne i32 %17618, 0
  br i1 %17619, label %17620, label %17637

17620:                                            ; preds = %17615
  %17621 = load i32, ptr %501, align 4, !tbaa !5
  %17622 = call ptr @__errno_location() #11
  store i32 %17621, ptr %17622, align 4, !tbaa !5
  %17623 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17624 = load i32, ptr @test_count, align 4, !tbaa !5
  %17625 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17626 = load i32, ptr %17625, align 4, !tbaa !5
  %17627 = call ptr @s2n_strerror(i32 noundef %17626, ptr noundef @.str.4)
  %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_debug(i32 noundef %17629, ptr noundef @.str.4)
  %17631 = call ptr @__errno_location() #11
  %17632 = load i32, ptr %17631, align 4, !tbaa !5
  %17633 = call ptr @strerror(i32 noundef %17632) #10
  %17634 = call ptr @__errno_location() #11
  %17635 = load i32, ptr %17634, align 4, !tbaa !5
  %17636 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17623, ptr noundef @.str.2, i32 noundef %17624, ptr noundef @.str.100, ptr noundef @.str.1, i32 noundef 795, ptr noundef %17627, ptr noundef %17630, ptr noundef %17633, i32 noundef %17635) #10
  br label %17654

17637:                                            ; preds = %17615, %17608
  %17638 = load i32, ptr %501, align 4, !tbaa !5
  %17639 = call ptr @__errno_location() #11
  store i32 %17638, ptr %17639, align 4, !tbaa !5
  %17640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17641 = load i32, ptr @test_count, align 4, !tbaa !5
  %17642 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17643 = load i32, ptr %17642, align 4, !tbaa !5
  %17644 = call ptr @s2n_strerror(i32 noundef %17643, ptr noundef @.str.4)
  %17645 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17646 = load i32, ptr %17645, align 4, !tbaa !5
  %17647 = call ptr @s2n_strerror_debug(i32 noundef %17646, ptr noundef @.str.4)
  %17648 = call ptr @__errno_location() #11
  %17649 = load i32, ptr %17648, align 4, !tbaa !5
  %17650 = call ptr @strerror(i32 noundef %17649) #10
  %17651 = call ptr @__errno_location() #11
  %17652 = load i32, ptr %17651, align 4, !tbaa !5
  %17653 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17640, ptr noundef @.str.5, i32 noundef %17641, ptr noundef @.str.100, ptr noundef @.str.1, i32 noundef 795, ptr noundef %17644, ptr noundef %17647, ptr noundef %17650, i32 noundef %17652) #10
  br label %17654

17654:                                            ; preds = %17637, %17620
  call void @llvm.lifetime.end.p0(i64 4, ptr %501) #10
  br label %17655

17655:                                            ; preds = %17654
  br label %17656

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

17657:                                            ; No predecessors!
  br label %17658

17658:                                            ; preds = %17657
  br label %17659

17659:                                            ; preds = %17658, %17599
  br label %17660

17660:                                            ; preds = %17659
  br label %17661

17661:                                            ; preds = %17660
  br label %17662

17662:                                            ; preds = %17661
  %17663 = load i32, ptr @test_count, align 4, !tbaa !5
  %17664 = add nsw i32 %17663, 1
  store i32 %17664, ptr @test_count, align 4, !tbaa !5
  %17665 = load ptr, ptr %499, align 8, !tbaa !9
  %17666 = call i32 @s2n_config_set_verification_ca_location(ptr noundef %17665, ptr noundef @.str.31, ptr noundef null)
  %17667 = icmp eq i32 %17666, -1
  br i1 %17667, label %17668, label %17721

17668:                                            ; preds = %17662
  br label %17669

17669:                                            ; preds = %17668
  br label %17670

17670:                                            ; preds = %17669
  call void @llvm.lifetime.start.p0(i64 4, ptr %502) #10
  %17671 = call ptr @__errno_location() #11
  %17672 = load i32, ptr %17671, align 4, !tbaa !5
  store i32 %17672, ptr %502, align 4, !tbaa !5
  %17673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17674 = call i32 @s2n_print_stacktrace(ptr noundef %17673)
  %17675 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17676 = trunc i8 %17675 to i1
  br i1 %17676, label %17677, label %17699

17677:                                            ; preds = %17670
  %17678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17679 = call i32 @fileno(ptr noundef %17678) #10
  %17680 = call i32 @isatty(i32 noundef %17679) #10
  %17681 = icmp ne i32 %17680, 0
  br i1 %17681, label %17682, label %17699

17682:                                            ; preds = %17677
  %17683 = load i32, ptr %502, align 4, !tbaa !5
  %17684 = call ptr @__errno_location() #11
  store i32 %17683, ptr %17684, align 4, !tbaa !5
  %17685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17686 = load i32, ptr @test_count, align 4, !tbaa !5
  %17687 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17688 = load i32, ptr %17687, align 4, !tbaa !5
  %17689 = call ptr @s2n_strerror(i32 noundef %17688, ptr noundef @.str.4)
  %17690 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17691 = load i32, ptr %17690, align 4, !tbaa !5
  %17692 = call ptr @s2n_strerror_debug(i32 noundef %17691, ptr noundef @.str.4)
  %17693 = call ptr @__errno_location() #11
  %17694 = load i32, ptr %17693, align 4, !tbaa !5
  %17695 = call ptr @strerror(i32 noundef %17694) #10
  %17696 = call ptr @__errno_location() #11
  %17697 = load i32, ptr %17696, align 4, !tbaa !5
  %17698 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17685, ptr noundef @.str.2, i32 noundef %17686, ptr noundef @.str.101, ptr noundef @.str.1, i32 noundef 796, ptr noundef %17689, ptr noundef %17692, ptr noundef %17695, i32 noundef %17697) #10
  br label %17716

17699:                                            ; preds = %17677, %17670
  %17700 = load i32, ptr %502, align 4, !tbaa !5
  %17701 = call ptr @__errno_location() #11
  store i32 %17700, ptr %17701, align 4, !tbaa !5
  %17702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17703 = load i32, ptr @test_count, align 4, !tbaa !5
  %17704 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17705 = load i32, ptr %17704, align 4, !tbaa !5
  %17706 = call ptr @s2n_strerror(i32 noundef %17705, ptr noundef @.str.4)
  %17707 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17708 = load i32, ptr %17707, align 4, !tbaa !5
  %17709 = call ptr @s2n_strerror_debug(i32 noundef %17708, ptr noundef @.str.4)
  %17710 = call ptr @__errno_location() #11
  %17711 = load i32, ptr %17710, align 4, !tbaa !5
  %17712 = call ptr @strerror(i32 noundef %17711) #10
  %17713 = call ptr @__errno_location() #11
  %17714 = load i32, ptr %17713, align 4, !tbaa !5
  %17715 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17702, ptr noundef @.str.5, i32 noundef %17703, ptr noundef @.str.101, ptr noundef @.str.1, i32 noundef 796, ptr noundef %17706, ptr noundef %17709, ptr noundef %17712, i32 noundef %17714) #10
  br label %17716

17716:                                            ; preds = %17699, %17682
  call void @llvm.lifetime.end.p0(i64 4, ptr %502) #10
  br label %17717

17717:                                            ; preds = %17716
  br label %17718

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

17719:                                            ; No predecessors!
  br label %17720

17720:                                            ; preds = %17719
  br label %17721

17721:                                            ; preds = %17720, %17662
  br label %17722

17722:                                            ; preds = %17721
  br label %17723

17723:                                            ; preds = %17722
  br label %17724

17724:                                            ; preds = %17723
  %17725 = load i32, ptr @test_count, align 4, !tbaa !5
  %17726 = add nsw i32 %17725, 1
  store i32 %17726, ptr @test_count, align 4, !tbaa !5
  %17727 = load ptr, ptr %499, align 8, !tbaa !9
  %17728 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %17727, ptr noundef @.str.80)
  %17729 = icmp eq i32 %17728, -1
  br i1 %17729, label %17730, label %17783

17730:                                            ; preds = %17724
  br label %17731

17731:                                            ; preds = %17730
  br label %17732

17732:                                            ; preds = %17731
  call void @llvm.lifetime.start.p0(i64 4, ptr %503) #10
  %17733 = call ptr @__errno_location() #11
  %17734 = load i32, ptr %17733, align 4, !tbaa !5
  store i32 %17734, ptr %503, align 4, !tbaa !5
  %17735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17736 = call i32 @s2n_print_stacktrace(ptr noundef %17735)
  %17737 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17738 = trunc i8 %17737 to i1
  br i1 %17738, label %17739, label %17761

17739:                                            ; preds = %17732
  %17740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17741 = call i32 @fileno(ptr noundef %17740) #10
  %17742 = call i32 @isatty(i32 noundef %17741) #10
  %17743 = icmp ne i32 %17742, 0
  br i1 %17743, label %17744, label %17761

17744:                                            ; preds = %17739
  %17745 = load i32, ptr %503, align 4, !tbaa !5
  %17746 = call ptr @__errno_location() #11
  store i32 %17745, ptr %17746, align 4, !tbaa !5
  %17747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17748 = load i32, ptr @test_count, align 4, !tbaa !5
  %17749 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17750 = load i32, ptr %17749, align 4, !tbaa !5
  %17751 = call ptr @s2n_strerror(i32 noundef %17750, ptr noundef @.str.4)
  %17752 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17753 = load i32, ptr %17752, align 4, !tbaa !5
  %17754 = call ptr @s2n_strerror_debug(i32 noundef %17753, ptr noundef @.str.4)
  %17755 = call ptr @__errno_location() #11
  %17756 = load i32, ptr %17755, align 4, !tbaa !5
  %17757 = call ptr @strerror(i32 noundef %17756) #10
  %17758 = call ptr @__errno_location() #11
  %17759 = load i32, ptr %17758, align 4, !tbaa !5
  %17760 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17747, ptr noundef @.str.2, i32 noundef %17748, ptr noundef @.str.102, ptr noundef @.str.1, i32 noundef 797, ptr noundef %17751, ptr noundef %17754, ptr noundef %17757, i32 noundef %17759) #10
  br label %17778

17761:                                            ; preds = %17739, %17732
  %17762 = load i32, ptr %503, align 4, !tbaa !5
  %17763 = call ptr @__errno_location() #11
  store i32 %17762, ptr %17763, align 4, !tbaa !5
  %17764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17765 = load i32, ptr @test_count, align 4, !tbaa !5
  %17766 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17767 = load i32, ptr %17766, align 4, !tbaa !5
  %17768 = call ptr @s2n_strerror(i32 noundef %17767, ptr noundef @.str.4)
  %17769 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17770 = load i32, ptr %17769, align 4, !tbaa !5
  %17771 = call ptr @s2n_strerror_debug(i32 noundef %17770, ptr noundef @.str.4)
  %17772 = call ptr @__errno_location() #11
  %17773 = load i32, ptr %17772, align 4, !tbaa !5
  %17774 = call ptr @strerror(i32 noundef %17773) #10
  %17775 = call ptr @__errno_location() #11
  %17776 = load i32, ptr %17775, align 4, !tbaa !5
  %17777 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17764, ptr noundef @.str.5, i32 noundef %17765, ptr noundef @.str.102, ptr noundef @.str.1, i32 noundef 797, ptr noundef %17768, ptr noundef %17771, ptr noundef %17774, i32 noundef %17776) #10
  br label %17778

17778:                                            ; preds = %17761, %17744
  call void @llvm.lifetime.end.p0(i64 4, ptr %503) #10
  br label %17779

17779:                                            ; preds = %17778
  br label %17780

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

17781:                                            ; No predecessors!
  br label %17782

17782:                                            ; preds = %17781
  br label %17783

17783:                                            ; preds = %17782, %17724
  br label %17784

17784:                                            ; preds = %17783
  br label %17785

17785:                                            ; preds = %17784
  br label %17786

17786:                                            ; preds = %17785
  %17787 = load i32, ptr @test_count, align 4, !tbaa !5
  %17788 = add nsw i32 %17787, 1
  store i32 %17788, ptr @test_count, align 4, !tbaa !5
  %17789 = load ptr, ptr %499, align 8, !tbaa !9
  %17790 = call i32 @s2n_config_set_client_auth_type(ptr noundef %17789, i32 noundef 1)
  %17791 = icmp eq i32 %17790, -1
  br i1 %17791, label %17792, label %17845

17792:                                            ; preds = %17786
  br label %17793

17793:                                            ; preds = %17792
  br label %17794

17794:                                            ; preds = %17793
  call void @llvm.lifetime.start.p0(i64 4, ptr %504) #10
  %17795 = call ptr @__errno_location() #11
  %17796 = load i32, ptr %17795, align 4, !tbaa !5
  store i32 %17796, ptr %504, align 4, !tbaa !5
  %17797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17798 = call i32 @s2n_print_stacktrace(ptr noundef %17797)
  %17799 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17800 = trunc i8 %17799 to i1
  br i1 %17800, label %17801, label %17823

17801:                                            ; preds = %17794
  %17802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17803 = call i32 @fileno(ptr noundef %17802) #10
  %17804 = call i32 @isatty(i32 noundef %17803) #10
  %17805 = icmp ne i32 %17804, 0
  br i1 %17805, label %17806, label %17823

17806:                                            ; preds = %17801
  %17807 = load i32, ptr %504, align 4, !tbaa !5
  %17808 = call ptr @__errno_location() #11
  store i32 %17807, ptr %17808, align 4, !tbaa !5
  %17809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17810 = load i32, ptr @test_count, align 4, !tbaa !5
  %17811 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17812 = load i32, ptr %17811, align 4, !tbaa !5
  %17813 = call ptr @s2n_strerror(i32 noundef %17812, ptr noundef @.str.4)
  %17814 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17815 = load i32, ptr %17814, align 4, !tbaa !5
  %17816 = call ptr @s2n_strerror_debug(i32 noundef %17815, ptr noundef @.str.4)
  %17817 = call ptr @__errno_location() #11
  %17818 = load i32, ptr %17817, align 4, !tbaa !5
  %17819 = call ptr @strerror(i32 noundef %17818) #10
  %17820 = call ptr @__errno_location() #11
  %17821 = load i32, ptr %17820, align 4, !tbaa !5
  %17822 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17809, ptr noundef @.str.2, i32 noundef %17810, ptr noundef @.str.103, ptr noundef @.str.1, i32 noundef 798, ptr noundef %17813, ptr noundef %17816, ptr noundef %17819, i32 noundef %17821) #10
  br label %17840

17823:                                            ; preds = %17801, %17794
  %17824 = load i32, ptr %504, align 4, !tbaa !5
  %17825 = call ptr @__errno_location() #11
  store i32 %17824, ptr %17825, align 4, !tbaa !5
  %17826 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17827 = load i32, ptr @test_count, align 4, !tbaa !5
  %17828 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17829 = load i32, ptr %17828, align 4, !tbaa !5
  %17830 = call ptr @s2n_strerror(i32 noundef %17829, ptr noundef @.str.4)
  %17831 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17832 = load i32, ptr %17831, align 4, !tbaa !5
  %17833 = call ptr @s2n_strerror_debug(i32 noundef %17832, ptr noundef @.str.4)
  %17834 = call ptr @__errno_location() #11
  %17835 = load i32, ptr %17834, align 4, !tbaa !5
  %17836 = call ptr @strerror(i32 noundef %17835) #10
  %17837 = call ptr @__errno_location() #11
  %17838 = load i32, ptr %17837, align 4, !tbaa !5
  %17839 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17826, ptr noundef @.str.5, i32 noundef %17827, ptr noundef @.str.103, ptr noundef @.str.1, i32 noundef 798, ptr noundef %17830, ptr noundef %17833, ptr noundef %17836, i32 noundef %17838) #10
  br label %17840

17840:                                            ; preds = %17823, %17806
  call void @llvm.lifetime.end.p0(i64 4, ptr %504) #10
  br label %17841

17841:                                            ; preds = %17840
  br label %17842

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

17843:                                            ; No predecessors!
  br label %17844

17844:                                            ; preds = %17843
  br label %17845

17845:                                            ; preds = %17844, %17786
  br label %17846

17846:                                            ; preds = %17845
  br label %17847

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

17848:                                            ; preds = %17847
  %17849 = load i32, ptr @test_count, align 4, !tbaa !5
  %17850 = add nsw i32 %17849, 1
  store i32 %17850, ptr @test_count, align 4, !tbaa !5
  %17851 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef %505, ptr noundef @.str.50, ptr noundef @.str.91)
  %17852 = icmp eq i32 %17851, -1
  br i1 %17852, label %17853, label %17906

17853:                                            ; preds = %17848
  br label %17854

17854:                                            ; preds = %17853
  br label %17855

17855:                                            ; preds = %17854
  call void @llvm.lifetime.start.p0(i64 4, ptr %506) #10
  %17856 = call ptr @__errno_location() #11
  %17857 = load i32, ptr %17856, align 4, !tbaa !5
  store i32 %17857, ptr %506, align 4, !tbaa !5
  %17858 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17859 = call i32 @s2n_print_stacktrace(ptr noundef %17858)
  %17860 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17861 = trunc i8 %17860 to i1
  br i1 %17861, label %17862, label %17884

17862:                                            ; preds = %17855
  %17863 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17864 = call i32 @fileno(ptr noundef %17863) #10
  %17865 = call i32 @isatty(i32 noundef %17864) #10
  %17866 = icmp ne i32 %17865, 0
  br i1 %17866, label %17867, label %17884

17867:                                            ; preds = %17862
  %17868 = load i32, ptr %506, align 4, !tbaa !5
  %17869 = call ptr @__errno_location() #11
  store i32 %17868, ptr %17869, align 4, !tbaa !5
  %17870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17871 = load i32, ptr @test_count, align 4, !tbaa !5
  %17872 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17873 = load i32, ptr %17872, align 4, !tbaa !5
  %17874 = call ptr @s2n_strerror(i32 noundef %17873, ptr noundef @.str.4)
  %17875 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17876 = load i32, ptr %17875, align 4, !tbaa !5
  %17877 = call ptr @s2n_strerror_debug(i32 noundef %17876, ptr noundef @.str.4)
  %17878 = call ptr @__errno_location() #11
  %17879 = load i32, ptr %17878, align 4, !tbaa !5
  %17880 = call ptr @strerror(i32 noundef %17879) #10
  %17881 = call ptr @__errno_location() #11
  %17882 = load i32, ptr %17881, align 4, !tbaa !5
  %17883 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17870, ptr noundef @.str.2, i32 noundef %17871, ptr noundef @.str.114, ptr noundef @.str.1, i32 noundef 802, ptr noundef %17874, ptr noundef %17877, ptr noundef %17880, i32 noundef %17882) #10
  br label %17901

17884:                                            ; preds = %17862, %17855
  %17885 = load i32, ptr %506, align 4, !tbaa !5
  %17886 = call ptr @__errno_location() #11
  store i32 %17885, ptr %17886, align 4, !tbaa !5
  %17887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17888 = load i32, ptr @test_count, align 4, !tbaa !5
  %17889 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17890 = load i32, ptr %17889, align 4, !tbaa !5
  %17891 = call ptr @s2n_strerror(i32 noundef %17890, ptr noundef @.str.4)
  %17892 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17893 = load i32, ptr %17892, align 4, !tbaa !5
  %17894 = call ptr @s2n_strerror_debug(i32 noundef %17893, ptr noundef @.str.4)
  %17895 = call ptr @__errno_location() #11
  %17896 = load i32, ptr %17895, align 4, !tbaa !5
  %17897 = call ptr @strerror(i32 noundef %17896) #10
  %17898 = call ptr @__errno_location() #11
  %17899 = load i32, ptr %17898, align 4, !tbaa !5
  %17900 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17887, ptr noundef @.str.5, i32 noundef %17888, ptr noundef @.str.114, ptr noundef @.str.1, i32 noundef 802, ptr noundef %17891, ptr noundef %17894, ptr noundef %17897, i32 noundef %17899) #10
  br label %17901

17901:                                            ; preds = %17884, %17867
  call void @llvm.lifetime.end.p0(i64 4, ptr %506) #10
  br label %17902

17902:                                            ; preds = %17901
  br label %17903

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

17904:                                            ; No predecessors!
  br label %17905

17905:                                            ; preds = %17904
  br label %17906

17906:                                            ; preds = %17905, %17848
  br label %17907

17907:                                            ; preds = %17906
  br label %17908

17908:                                            ; preds = %17907
  call void @llvm.lifetime.start.p0(i64 8, ptr %507) #10
  %17909 = call ptr @s2n_config_new()
  store ptr %17909, ptr %507, align 8, !tbaa !9
  br label %17910

17910:                                            ; preds = %17908
  %17911 = load i32, ptr @test_count, align 4, !tbaa !5
  %17912 = add nsw i32 %17911, 1
  store i32 %17912, ptr @test_count, align 4, !tbaa !5
  %17913 = load ptr, ptr %507, align 8, !tbaa !9
  %17914 = icmp eq ptr %17913, null
  br i1 %17914, label %17915, label %17968

17915:                                            ; preds = %17910
  br label %17916

17916:                                            ; preds = %17915
  br label %17917

17917:                                            ; preds = %17916
  call void @llvm.lifetime.start.p0(i64 4, ptr %508) #10
  %17918 = call ptr @__errno_location() #11
  %17919 = load i32, ptr %17918, align 4, !tbaa !5
  store i32 %17919, ptr %508, align 4, !tbaa !5
  %17920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17921 = call i32 @s2n_print_stacktrace(ptr noundef %17920)
  %17922 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17923 = trunc i8 %17922 to i1
  br i1 %17923, label %17924, label %17946

17924:                                            ; preds = %17917
  %17925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17926 = call i32 @fileno(ptr noundef %17925) #10
  %17927 = call i32 @isatty(i32 noundef %17926) #10
  %17928 = icmp ne i32 %17927, 0
  br i1 %17928, label %17929, label %17946

17929:                                            ; preds = %17924
  %17930 = load i32, ptr %508, align 4, !tbaa !5
  %17931 = call ptr @__errno_location() #11
  store i32 %17930, ptr %17931, align 4, !tbaa !5
  %17932 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17933 = load i32, ptr @test_count, align 4, !tbaa !5
  %17934 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17935 = load i32, ptr %17934, align 4, !tbaa !5
  %17936 = call ptr @s2n_strerror(i32 noundef %17935, ptr noundef @.str.4)
  %17937 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17938 = load i32, ptr %17937, align 4, !tbaa !5
  %17939 = call ptr @s2n_strerror_debug(i32 noundef %17938, ptr noundef @.str.4)
  %17940 = call ptr @__errno_location() #11
  %17941 = load i32, ptr %17940, align 4, !tbaa !5
  %17942 = call ptr @strerror(i32 noundef %17941) #10
  %17943 = call ptr @__errno_location() #11
  %17944 = load i32, ptr %17943, align 4, !tbaa !5
  %17945 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17932, ptr noundef @.str.2, i32 noundef %17933, ptr noundef @.str.105, ptr noundef @.str.1, i32 noundef 805, ptr noundef %17936, ptr noundef %17939, ptr noundef %17942, i32 noundef %17944) #10
  br label %17963

17946:                                            ; preds = %17924, %17917
  %17947 = load i32, ptr %508, align 4, !tbaa !5
  %17948 = call ptr @__errno_location() #11
  store i32 %17947, ptr %17948, align 4, !tbaa !5
  %17949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17950 = load i32, ptr @test_count, align 4, !tbaa !5
  %17951 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17952 = load i32, ptr %17951, align 4, !tbaa !5
  %17953 = call ptr @s2n_strerror(i32 noundef %17952, ptr noundef @.str.4)
  %17954 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17955 = load i32, ptr %17954, align 4, !tbaa !5
  %17956 = call ptr @s2n_strerror_debug(i32 noundef %17955, ptr noundef @.str.4)
  %17957 = call ptr @__errno_location() #11
  %17958 = load i32, ptr %17957, align 4, !tbaa !5
  %17959 = call ptr @strerror(i32 noundef %17958) #10
  %17960 = call ptr @__errno_location() #11
  %17961 = load i32, ptr %17960, align 4, !tbaa !5
  %17962 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17949, ptr noundef @.str.5, i32 noundef %17950, ptr noundef @.str.105, ptr noundef @.str.1, i32 noundef 805, ptr noundef %17953, ptr noundef %17956, ptr noundef %17959, i32 noundef %17961) #10
  br label %17963

17963:                                            ; preds = %17946, %17929
  call void @llvm.lifetime.end.p0(i64 4, ptr %508) #10
  br label %17964

17964:                                            ; preds = %17963
  br label %17965

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

17966:                                            ; No predecessors!
  br label %17967

17967:                                            ; preds = %17966
  br label %17968

17968:                                            ; preds = %17967, %17910
  br label %17969

17969:                                            ; preds = %17968
  br label %17970

17970:                                            ; preds = %17969
  br label %17971

17971:                                            ; preds = %17970
  %17972 = load i32, ptr @test_count, align 4, !tbaa !5
  %17973 = add nsw i32 %17972, 1
  store i32 %17973, ptr @test_count, align 4, !tbaa !5
  %17974 = load ptr, ptr %507, align 8, !tbaa !9
  %17975 = load ptr, ptr %505, align 8, !tbaa !9
  %17976 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %17974, ptr noundef %17975)
  %17977 = icmp eq i32 %17976, -1
  br i1 %17977, label %17978, label %18031

17978:                                            ; preds = %17971
  br label %17979

17979:                                            ; preds = %17978
  br label %17980

17980:                                            ; preds = %17979
  call void @llvm.lifetime.start.p0(i64 4, ptr %509) #10
  %17981 = call ptr @__errno_location() #11
  %17982 = load i32, ptr %17981, align 4, !tbaa !5
  store i32 %17982, ptr %509, align 4, !tbaa !5
  %17983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17984 = call i32 @s2n_print_stacktrace(ptr noundef %17983)
  %17985 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17986 = trunc i8 %17985 to i1
  br i1 %17986, label %17987, label %18009

17987:                                            ; preds = %17980
  %17988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17989 = call i32 @fileno(ptr noundef %17988) #10
  %17990 = call i32 @isatty(i32 noundef %17989) #10
  %17991 = icmp ne i32 %17990, 0
  br i1 %17991, label %17992, label %18009

17992:                                            ; preds = %17987
  %17993 = load i32, ptr %509, align 4, !tbaa !5
  %17994 = call ptr @__errno_location() #11
  store i32 %17993, ptr %17994, align 4, !tbaa !5
  %17995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17996 = load i32, ptr @test_count, align 4, !tbaa !5
  %17997 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17998 = load i32, ptr %17997, align 4, !tbaa !5
  %17999 = call ptr @s2n_strerror(i32 noundef %17998, ptr noundef @.str.4)
  %18000 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18001 = load i32, ptr %18000, align 4, !tbaa !5
  %18002 = call ptr @s2n_strerror_debug(i32 noundef %18001, ptr noundef @.str.4)
  %18003 = call ptr @__errno_location() #11
  %18004 = load i32, ptr %18003, align 4, !tbaa !5
  %18005 = call ptr @strerror(i32 noundef %18004) #10
  %18006 = call ptr @__errno_location() #11
  %18007 = load i32, ptr %18006, align 4, !tbaa !5
  %18008 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17995, ptr noundef @.str.2, i32 noundef %17996, ptr noundef @.str.106, ptr noundef @.str.1, i32 noundef 806, ptr noundef %17999, ptr noundef %18002, ptr noundef %18005, i32 noundef %18007) #10
  br label %18026

18009:                                            ; preds = %17987, %17980
  %18010 = load i32, ptr %509, align 4, !tbaa !5
  %18011 = call ptr @__errno_location() #11
  store i32 %18010, ptr %18011, align 4, !tbaa !5
  %18012 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18013 = load i32, ptr @test_count, align 4, !tbaa !5
  %18014 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18015 = load i32, ptr %18014, align 4, !tbaa !5
  %18016 = call ptr @s2n_strerror(i32 noundef %18015, ptr noundef @.str.4)
  %18017 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18018 = load i32, ptr %18017, align 4, !tbaa !5
  %18019 = call ptr @s2n_strerror_debug(i32 noundef %18018, ptr noundef @.str.4)
  %18020 = call ptr @__errno_location() #11
  %18021 = load i32, ptr %18020, align 4, !tbaa !5
  %18022 = call ptr @strerror(i32 noundef %18021) #10
  %18023 = call ptr @__errno_location() #11
  %18024 = load i32, ptr %18023, align 4, !tbaa !5
  %18025 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18012, ptr noundef @.str.5, i32 noundef %18013, ptr noundef @.str.106, ptr noundef @.str.1, i32 noundef 806, ptr noundef %18016, ptr noundef %18019, ptr noundef %18022, i32 noundef %18024) #10
  br label %18026

18026:                                            ; preds = %18009, %17992
  call void @llvm.lifetime.end.p0(i64 4, ptr %509) #10
  br label %18027

18027:                                            ; preds = %18026
  br label %18028

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

18029:                                            ; No predecessors!
  br label %18030

18030:                                            ; preds = %18029
  br label %18031

18031:                                            ; preds = %18030, %17971
  br label %18032

18032:                                            ; preds = %18031
  br label %18033

18033:                                            ; preds = %18032
  br label %18034

18034:                                            ; preds = %18033
  %18035 = load i32, ptr @test_count, align 4, !tbaa !5
  %18036 = add nsw i32 %18035, 1
  store i32 %18036, ptr @test_count, align 4, !tbaa !5
  %18037 = load ptr, ptr %507, align 8, !tbaa !9
  %18038 = call i32 @s2n_config_set_verification_ca_location(ptr noundef %18037, ptr noundef @.str.96, ptr noundef null)
  %18039 = icmp eq i32 %18038, -1
  br i1 %18039, label %18040, label %18093

18040:                                            ; preds = %18034
  br label %18041

18041:                                            ; preds = %18040
  br label %18042

18042:                                            ; preds = %18041
  call void @llvm.lifetime.start.p0(i64 4, ptr %510) #10
  %18043 = call ptr @__errno_location() #11
  %18044 = load i32, ptr %18043, align 4, !tbaa !5
  store i32 %18044, ptr %510, align 4, !tbaa !5
  %18045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18046 = call i32 @s2n_print_stacktrace(ptr noundef %18045)
  %18047 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18048 = trunc i8 %18047 to i1
  br i1 %18048, label %18049, label %18071

18049:                                            ; preds = %18042
  %18050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18051 = call i32 @fileno(ptr noundef %18050) #10
  %18052 = call i32 @isatty(i32 noundef %18051) #10
  %18053 = icmp ne i32 %18052, 0
  br i1 %18053, label %18054, label %18071

18054:                                            ; preds = %18049
  %18055 = load i32, ptr %510, align 4, !tbaa !5
  %18056 = call ptr @__errno_location() #11
  store i32 %18055, ptr %18056, align 4, !tbaa !5
  %18057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18058 = load i32, ptr @test_count, align 4, !tbaa !5
  %18059 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18060 = load i32, ptr %18059, align 4, !tbaa !5
  %18061 = call ptr @s2n_strerror(i32 noundef %18060, ptr noundef @.str.4)
  %18062 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18063 = load i32, ptr %18062, align 4, !tbaa !5
  %18064 = call ptr @s2n_strerror_debug(i32 noundef %18063, ptr noundef @.str.4)
  %18065 = call ptr @__errno_location() #11
  %18066 = load i32, ptr %18065, align 4, !tbaa !5
  %18067 = call ptr @strerror(i32 noundef %18066) #10
  %18068 = call ptr @__errno_location() #11
  %18069 = load i32, ptr %18068, align 4, !tbaa !5
  %18070 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18057, ptr noundef @.str.2, i32 noundef %18058, ptr noundef @.str.107, ptr noundef @.str.1, i32 noundef 807, ptr noundef %18061, ptr noundef %18064, ptr noundef %18067, i32 noundef %18069) #10
  br label %18088

18071:                                            ; preds = %18049, %18042
  %18072 = load i32, ptr %510, align 4, !tbaa !5
  %18073 = call ptr @__errno_location() #11
  store i32 %18072, ptr %18073, align 4, !tbaa !5
  %18074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18075 = load i32, ptr @test_count, align 4, !tbaa !5
  %18076 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18077 = load i32, ptr %18076, align 4, !tbaa !5
  %18078 = call ptr @s2n_strerror(i32 noundef %18077, ptr noundef @.str.4)
  %18079 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18080 = load i32, ptr %18079, align 4, !tbaa !5
  %18081 = call ptr @s2n_strerror_debug(i32 noundef %18080, ptr noundef @.str.4)
  %18082 = call ptr @__errno_location() #11
  %18083 = load i32, ptr %18082, align 4, !tbaa !5
  %18084 = call ptr @strerror(i32 noundef %18083) #10
  %18085 = call ptr @__errno_location() #11
  %18086 = load i32, ptr %18085, align 4, !tbaa !5
  %18087 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18074, ptr noundef @.str.5, i32 noundef %18075, ptr noundef @.str.107, ptr noundef @.str.1, i32 noundef 807, ptr noundef %18078, ptr noundef %18081, ptr noundef %18084, i32 noundef %18086) #10
  br label %18088

18088:                                            ; preds = %18071, %18054
  call void @llvm.lifetime.end.p0(i64 4, ptr %510) #10
  br label %18089

18089:                                            ; preds = %18088
  br label %18090

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

18091:                                            ; No predecessors!
  br label %18092

18092:                                            ; preds = %18091
  br label %18093

18093:                                            ; preds = %18092, %18034
  br label %18094

18094:                                            ; preds = %18093
  br label %18095

18095:                                            ; preds = %18094
  br label %18096

18096:                                            ; preds = %18095
  %18097 = load i32, ptr @test_count, align 4, !tbaa !5
  %18098 = add nsw i32 %18097, 1
  store i32 %18098, ptr @test_count, align 4, !tbaa !5
  %18099 = load ptr, ptr %507, align 8, !tbaa !9
  %18100 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %18099, ptr noundef @.str.80)
  %18101 = icmp eq i32 %18100, -1
  br i1 %18101, label %18102, label %18155

18102:                                            ; preds = %18096
  br label %18103

18103:                                            ; preds = %18102
  br label %18104

18104:                                            ; preds = %18103
  call void @llvm.lifetime.start.p0(i64 4, ptr %511) #10
  %18105 = call ptr @__errno_location() #11
  %18106 = load i32, ptr %18105, align 4, !tbaa !5
  store i32 %18106, ptr %511, align 4, !tbaa !5
  %18107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18108 = call i32 @s2n_print_stacktrace(ptr noundef %18107)
  %18109 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18110 = trunc i8 %18109 to i1
  br i1 %18110, label %18111, label %18133

18111:                                            ; preds = %18104
  %18112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18113 = call i32 @fileno(ptr noundef %18112) #10
  %18114 = call i32 @isatty(i32 noundef %18113) #10
  %18115 = icmp ne i32 %18114, 0
  br i1 %18115, label %18116, label %18133

18116:                                            ; preds = %18111
  %18117 = load i32, ptr %511, align 4, !tbaa !5
  %18118 = call ptr @__errno_location() #11
  store i32 %18117, ptr %18118, align 4, !tbaa !5
  %18119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18120 = load i32, ptr @test_count, align 4, !tbaa !5
  %18121 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18122 = load i32, ptr %18121, align 4, !tbaa !5
  %18123 = call ptr @s2n_strerror(i32 noundef %18122, ptr noundef @.str.4)
  %18124 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18125 = load i32, ptr %18124, align 4, !tbaa !5
  %18126 = call ptr @s2n_strerror_debug(i32 noundef %18125, ptr noundef @.str.4)
  %18127 = call ptr @__errno_location() #11
  %18128 = load i32, ptr %18127, align 4, !tbaa !5
  %18129 = call ptr @strerror(i32 noundef %18128) #10
  %18130 = call ptr @__errno_location() #11
  %18131 = load i32, ptr %18130, align 4, !tbaa !5
  %18132 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18119, ptr noundef @.str.2, i32 noundef %18120, ptr noundef @.str.108, ptr noundef @.str.1, i32 noundef 808, ptr noundef %18123, ptr noundef %18126, ptr noundef %18129, i32 noundef %18131) #10
  br label %18150

18133:                                            ; preds = %18111, %18104
  %18134 = load i32, ptr %511, align 4, !tbaa !5
  %18135 = call ptr @__errno_location() #11
  store i32 %18134, ptr %18135, align 4, !tbaa !5
  %18136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18137 = load i32, ptr @test_count, align 4, !tbaa !5
  %18138 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18139 = load i32, ptr %18138, align 4, !tbaa !5
  %18140 = call ptr @s2n_strerror(i32 noundef %18139, ptr noundef @.str.4)
  %18141 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18142 = load i32, ptr %18141, align 4, !tbaa !5
  %18143 = call ptr @s2n_strerror_debug(i32 noundef %18142, ptr noundef @.str.4)
  %18144 = call ptr @__errno_location() #11
  %18145 = load i32, ptr %18144, align 4, !tbaa !5
  %18146 = call ptr @strerror(i32 noundef %18145) #10
  %18147 = call ptr @__errno_location() #11
  %18148 = load i32, ptr %18147, align 4, !tbaa !5
  %18149 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18136, ptr noundef @.str.5, i32 noundef %18137, ptr noundef @.str.108, ptr noundef @.str.1, i32 noundef 808, ptr noundef %18140, ptr noundef %18143, ptr noundef %18146, i32 noundef %18148) #10
  br label %18150

18150:                                            ; preds = %18133, %18116
  call void @llvm.lifetime.end.p0(i64 4, ptr %511) #10
  br label %18151

18151:                                            ; preds = %18150
  br label %18152

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

18153:                                            ; No predecessors!
  br label %18154

18154:                                            ; preds = %18153
  br label %18155

18155:                                            ; preds = %18154, %18096
  br label %18156

18156:                                            ; preds = %18155
  br label %18157

18157:                                            ; preds = %18156
  br label %18158

18158:                                            ; preds = %18157
  %18159 = load i32, ptr @test_count, align 4, !tbaa !5
  %18160 = add nsw i32 %18159, 1
  store i32 %18160, ptr @test_count, align 4, !tbaa !5
  %18161 = load ptr, ptr %507, align 8, !tbaa !9
  %18162 = call i32 @s2n_config_set_client_auth_type(ptr noundef %18161, i32 noundef 1)
  %18163 = icmp eq i32 %18162, -1
  br i1 %18163, label %18164, label %18217

18164:                                            ; preds = %18158
  br label %18165

18165:                                            ; preds = %18164
  br label %18166

18166:                                            ; preds = %18165
  call void @llvm.lifetime.start.p0(i64 4, ptr %512) #10
  %18167 = call ptr @__errno_location() #11
  %18168 = load i32, ptr %18167, align 4, !tbaa !5
  store i32 %18168, ptr %512, align 4, !tbaa !5
  %18169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18170 = call i32 @s2n_print_stacktrace(ptr noundef %18169)
  %18171 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18172 = trunc i8 %18171 to i1
  br i1 %18172, label %18173, label %18195

18173:                                            ; preds = %18166
  %18174 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18175 = call i32 @fileno(ptr noundef %18174) #10
  %18176 = call i32 @isatty(i32 noundef %18175) #10
  %18177 = icmp ne i32 %18176, 0
  br i1 %18177, label %18178, label %18195

18178:                                            ; preds = %18173
  %18179 = load i32, ptr %512, align 4, !tbaa !5
  %18180 = call ptr @__errno_location() #11
  store i32 %18179, ptr %18180, align 4, !tbaa !5
  %18181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18182 = load i32, ptr @test_count, align 4, !tbaa !5
  %18183 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18184 = load i32, ptr %18183, align 4, !tbaa !5
  %18185 = call ptr @s2n_strerror(i32 noundef %18184, ptr noundef @.str.4)
  %18186 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18187 = load i32, ptr %18186, align 4, !tbaa !5
  %18188 = call ptr @s2n_strerror_debug(i32 noundef %18187, ptr noundef @.str.4)
  %18189 = call ptr @__errno_location() #11
  %18190 = load i32, ptr %18189, align 4, !tbaa !5
  %18191 = call ptr @strerror(i32 noundef %18190) #10
  %18192 = call ptr @__errno_location() #11
  %18193 = load i32, ptr %18192, align 4, !tbaa !5
  %18194 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18181, ptr noundef @.str.2, i32 noundef %18182, ptr noundef @.str.109, ptr noundef @.str.1, i32 noundef 809, ptr noundef %18185, ptr noundef %18188, ptr noundef %18191, i32 noundef %18193) #10
  br label %18212

18195:                                            ; preds = %18173, %18166
  %18196 = load i32, ptr %512, align 4, !tbaa !5
  %18197 = call ptr @__errno_location() #11
  store i32 %18196, ptr %18197, align 4, !tbaa !5
  %18198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18199 = load i32, ptr @test_count, align 4, !tbaa !5
  %18200 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18201 = load i32, ptr %18200, align 4, !tbaa !5
  %18202 = call ptr @s2n_strerror(i32 noundef %18201, ptr noundef @.str.4)
  %18203 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18204 = load i32, ptr %18203, align 4, !tbaa !5
  %18205 = call ptr @s2n_strerror_debug(i32 noundef %18204, ptr noundef @.str.4)
  %18206 = call ptr @__errno_location() #11
  %18207 = load i32, ptr %18206, align 4, !tbaa !5
  %18208 = call ptr @strerror(i32 noundef %18207) #10
  %18209 = call ptr @__errno_location() #11
  %18210 = load i32, ptr %18209, align 4, !tbaa !5
  %18211 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18198, ptr noundef @.str.5, i32 noundef %18199, ptr noundef @.str.109, ptr noundef @.str.1, i32 noundef 809, ptr noundef %18202, ptr noundef %18205, ptr noundef %18208, i32 noundef %18210) #10
  br label %18212

18212:                                            ; preds = %18195, %18178
  call void @llvm.lifetime.end.p0(i64 4, ptr %512) #10
  br label %18213

18213:                                            ; preds = %18212
  br label %18214

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

18215:                                            ; No predecessors!
  br label %18216

18216:                                            ; preds = %18215
  br label %18217

18217:                                            ; preds = %18216, %18158
  br label %18218

18218:                                            ; preds = %18217
  br label %18219

18219:                                            ; preds = %18218
  call void @llvm.lifetime.start.p0(i64 88, ptr %513) #10
  call void @llvm.memset.p0.i64(ptr align 8 %513, i8 0, i64 88, i1 false)
  %18220 = load ptr, ptr %45, align 8, !tbaa !9
  %18221 = getelementptr inbounds %struct.crl_lookup_data, ptr %513, i32 0, i32 0
  %18222 = getelementptr inbounds [5 x ptr], ptr %18221, i64 0, i64 0
  store ptr %18220, ptr %18222, align 8, !tbaa !9
  %18223 = load ptr, ptr %43, align 8, !tbaa !9
  %18224 = getelementptr inbounds %struct.crl_lookup_data, ptr %513, i32 0, i32 0
  %18225 = getelementptr inbounds [5 x ptr], ptr %18224, i64 0, i64 1
  store ptr %18223, ptr %18225, align 8, !tbaa !9
  br label %18226

18226:                                            ; preds = %18219
  %18227 = load i32, ptr @test_count, align 4, !tbaa !5
  %18228 = add nsw i32 %18227, 1
  store i32 %18228, ptr @test_count, align 4, !tbaa !5
  %18229 = load ptr, ptr %499, align 8, !tbaa !9
  %18230 = call i32 @s2n_config_set_crl_lookup_cb(ptr noundef %18229, ptr noundef @crl_lookup_test_callback, ptr noundef %513)
  %18231 = icmp eq i32 %18230, -1
  br i1 %18231, label %18232, label %18285

18232:                                            ; preds = %18226
  br label %18233

18233:                                            ; preds = %18232
  br label %18234

18234:                                            ; preds = %18233
  call void @llvm.lifetime.start.p0(i64 4, ptr %514) #10
  %18235 = call ptr @__errno_location() #11
  %18236 = load i32, ptr %18235, align 4, !tbaa !5
  store i32 %18236, ptr %514, align 4, !tbaa !5
  %18237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18238 = call i32 @s2n_print_stacktrace(ptr noundef %18237)
  %18239 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18240 = trunc i8 %18239 to i1
  br i1 %18240, label %18241, label %18263

18241:                                            ; preds = %18234
  %18242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18243 = call i32 @fileno(ptr noundef %18242) #10
  %18244 = call i32 @isatty(i32 noundef %18243) #10
  %18245 = icmp ne i32 %18244, 0
  br i1 %18245, label %18246, label %18263

18246:                                            ; preds = %18241
  %18247 = load i32, ptr %514, align 4, !tbaa !5
  %18248 = call ptr @__errno_location() #11
  store i32 %18247, ptr %18248, align 4, !tbaa !5
  %18249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18250 = load i32, ptr @test_count, align 4, !tbaa !5
  %18251 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18252 = load i32, ptr %18251, align 4, !tbaa !5
  %18253 = call ptr @s2n_strerror(i32 noundef %18252, ptr noundef @.str.4)
  %18254 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18255 = load i32, ptr %18254, align 4, !tbaa !5
  %18256 = call ptr @s2n_strerror_debug(i32 noundef %18255, ptr noundef @.str.4)
  %18257 = call ptr @__errno_location() #11
  %18258 = load i32, ptr %18257, align 4, !tbaa !5
  %18259 = call ptr @strerror(i32 noundef %18258) #10
  %18260 = call ptr @__errno_location() #11
  %18261 = load i32, ptr %18260, align 4, !tbaa !5
  %18262 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18249, ptr noundef @.str.2, i32 noundef %18250, ptr noundef @.str.110, ptr noundef @.str.1, i32 noundef 814, ptr noundef %18253, ptr noundef %18256, ptr noundef %18259, i32 noundef %18261) #10
  br label %18280

18263:                                            ; preds = %18241, %18234
  %18264 = load i32, ptr %514, align 4, !tbaa !5
  %18265 = call ptr @__errno_location() #11
  store i32 %18264, ptr %18265, align 4, !tbaa !5
  %18266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18267 = load i32, ptr @test_count, align 4, !tbaa !5
  %18268 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18269 = load i32, ptr %18268, align 4, !tbaa !5
  %18270 = call ptr @s2n_strerror(i32 noundef %18269, ptr noundef @.str.4)
  %18271 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18272 = load i32, ptr %18271, align 4, !tbaa !5
  %18273 = call ptr @s2n_strerror_debug(i32 noundef %18272, ptr noundef @.str.4)
  %18274 = call ptr @__errno_location() #11
  %18275 = load i32, ptr %18274, align 4, !tbaa !5
  %18276 = call ptr @strerror(i32 noundef %18275) #10
  %18277 = call ptr @__errno_location() #11
  %18278 = load i32, ptr %18277, align 4, !tbaa !5
  %18279 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18266, ptr noundef @.str.5, i32 noundef %18267, ptr noundef @.str.110, ptr noundef @.str.1, i32 noundef 814, ptr noundef %18270, ptr noundef %18273, ptr noundef %18276, i32 noundef %18278) #10
  br label %18280

18280:                                            ; preds = %18263, %18246
  call void @llvm.lifetime.end.p0(i64 4, ptr %514) #10
  br label %18281

18281:                                            ; preds = %18280
  br label %18282

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

18283:                                            ; No predecessors!
  br label %18284

18284:                                            ; preds = %18283
  br label %18285

18285:                                            ; preds = %18284, %18226
  br label %18286

18286:                                            ; preds = %18285
  br label %18287

18287:                                            ; preds = %18286
  call void @llvm.lifetime.start.p0(i64 8, ptr %515) #10
  %18288 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %18288, ptr %515, align 8, !tbaa !9
  br label %18289

18289:                                            ; preds = %18287
  %18290 = load i32, ptr @test_count, align 4, !tbaa !5
  %18291 = add nsw i32 %18290, 1
  store i32 %18291, ptr @test_count, align 4, !tbaa !5
  %18292 = load ptr, ptr %515, align 8, !tbaa !9
  %18293 = icmp eq ptr %18292, null
  br i1 %18293, label %18294, label %18347

18294:                                            ; preds = %18289
  br label %18295

18295:                                            ; preds = %18294
  br label %18296

18296:                                            ; preds = %18295
  call void @llvm.lifetime.start.p0(i64 4, ptr %516) #10
  %18297 = call ptr @__errno_location() #11
  %18298 = load i32, ptr %18297, align 4, !tbaa !5
  store i32 %18298, ptr %516, align 4, !tbaa !5
  %18299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18300 = call i32 @s2n_print_stacktrace(ptr noundef %18299)
  %18301 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18302 = trunc i8 %18301 to i1
  br i1 %18302, label %18303, label %18325

18303:                                            ; preds = %18296
  %18304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18305 = call i32 @fileno(ptr noundef %18304) #10
  %18306 = call i32 @isatty(i32 noundef %18305) #10
  %18307 = icmp ne i32 %18306, 0
  br i1 %18307, label %18308, label %18325

18308:                                            ; preds = %18303
  %18309 = load i32, ptr %516, align 4, !tbaa !5
  %18310 = call ptr @__errno_location() #11
  store i32 %18309, ptr %18310, align 4, !tbaa !5
  %18311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18312 = load i32, ptr @test_count, align 4, !tbaa !5
  %18313 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18314 = load i32, ptr %18313, align 4, !tbaa !5
  %18315 = call ptr @s2n_strerror(i32 noundef %18314, ptr noundef @.str.4)
  %18316 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18317 = load i32, ptr %18316, align 4, !tbaa !5
  %18318 = call ptr @s2n_strerror_debug(i32 noundef %18317, ptr noundef @.str.4)
  %18319 = call ptr @__errno_location() #11
  %18320 = load i32, ptr %18319, align 4, !tbaa !5
  %18321 = call ptr @strerror(i32 noundef %18320) #10
  %18322 = call ptr @__errno_location() #11
  %18323 = load i32, ptr %18322, align 4, !tbaa !5
  %18324 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18311, ptr noundef @.str.2, i32 noundef %18312, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 817, ptr noundef %18315, ptr noundef %18318, ptr noundef %18321, i32 noundef %18323) #10
  br label %18342

18325:                                            ; preds = %18303, %18296
  %18326 = load i32, ptr %516, align 4, !tbaa !5
  %18327 = call ptr @__errno_location() #11
  store i32 %18326, ptr %18327, align 4, !tbaa !5
  %18328 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18329 = load i32, ptr @test_count, align 4, !tbaa !5
  %18330 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18331 = load i32, ptr %18330, align 4, !tbaa !5
  %18332 = call ptr @s2n_strerror(i32 noundef %18331, ptr noundef @.str.4)
  %18333 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18334 = load i32, ptr %18333, align 4, !tbaa !5
  %18335 = call ptr @s2n_strerror_debug(i32 noundef %18334, ptr noundef @.str.4)
  %18336 = call ptr @__errno_location() #11
  %18337 = load i32, ptr %18336, align 4, !tbaa !5
  %18338 = call ptr @strerror(i32 noundef %18337) #10
  %18339 = call ptr @__errno_location() #11
  %18340 = load i32, ptr %18339, align 4, !tbaa !5
  %18341 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18328, ptr noundef @.str.5, i32 noundef %18329, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 817, ptr noundef %18332, ptr noundef %18335, ptr noundef %18338, i32 noundef %18340) #10
  br label %18342

18342:                                            ; preds = %18325, %18308
  call void @llvm.lifetime.end.p0(i64 4, ptr %516) #10
  br label %18343

18343:                                            ; preds = %18342
  br label %18344

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

18345:                                            ; No predecessors!
  br label %18346

18346:                                            ; preds = %18345
  br label %18347

18347:                                            ; preds = %18346, %18289
  br label %18348

18348:                                            ; preds = %18347
  br label %18349

18349:                                            ; preds = %18348
  br label %18350

18350:                                            ; preds = %18349
  %18351 = load i32, ptr @test_count, align 4, !tbaa !5
  %18352 = add nsw i32 %18351, 1
  store i32 %18352, ptr @test_count, align 4, !tbaa !5
  %18353 = load ptr, ptr %515, align 8, !tbaa !9
  %18354 = load ptr, ptr %499, align 8, !tbaa !9
  %18355 = call i32 @s2n_connection_set_config(ptr noundef %18353, ptr noundef %18354)
  %18356 = icmp eq i32 %18355, -1
  br i1 %18356, label %18357, label %18410

18357:                                            ; preds = %18350
  br label %18358

18358:                                            ; preds = %18357
  br label %18359

18359:                                            ; preds = %18358
  call void @llvm.lifetime.start.p0(i64 4, ptr %517) #10
  %18360 = call ptr @__errno_location() #11
  %18361 = load i32, ptr %18360, align 4, !tbaa !5
  store i32 %18361, ptr %517, align 4, !tbaa !5
  %18362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18363 = call i32 @s2n_print_stacktrace(ptr noundef %18362)
  %18364 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18365 = trunc i8 %18364 to i1
  br i1 %18365, label %18366, label %18388

18366:                                            ; preds = %18359
  %18367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18368 = call i32 @fileno(ptr noundef %18367) #10
  %18369 = call i32 @isatty(i32 noundef %18368) #10
  %18370 = icmp ne i32 %18369, 0
  br i1 %18370, label %18371, label %18388

18371:                                            ; preds = %18366
  %18372 = load i32, ptr %517, align 4, !tbaa !5
  %18373 = call ptr @__errno_location() #11
  store i32 %18372, ptr %18373, align 4, !tbaa !5
  %18374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18375 = load i32, ptr @test_count, align 4, !tbaa !5
  %18376 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18377 = load i32, ptr %18376, align 4, !tbaa !5
  %18378 = call ptr @s2n_strerror(i32 noundef %18377, ptr noundef @.str.4)
  %18379 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18380 = load i32, ptr %18379, align 4, !tbaa !5
  %18381 = call ptr @s2n_strerror_debug(i32 noundef %18380, ptr noundef @.str.4)
  %18382 = call ptr @__errno_location() #11
  %18383 = load i32, ptr %18382, align 4, !tbaa !5
  %18384 = call ptr @strerror(i32 noundef %18383) #10
  %18385 = call ptr @__errno_location() #11
  %18386 = load i32, ptr %18385, align 4, !tbaa !5
  %18387 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18374, ptr noundef @.str.2, i32 noundef %18375, ptr noundef @.str.111, ptr noundef @.str.1, i32 noundef 818, ptr noundef %18378, ptr noundef %18381, ptr noundef %18384, i32 noundef %18386) #10
  br label %18405

18388:                                            ; preds = %18366, %18359
  %18389 = load i32, ptr %517, align 4, !tbaa !5
  %18390 = call ptr @__errno_location() #11
  store i32 %18389, ptr %18390, align 4, !tbaa !5
  %18391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18392 = load i32, ptr @test_count, align 4, !tbaa !5
  %18393 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18394 = load i32, ptr %18393, align 4, !tbaa !5
  %18395 = call ptr @s2n_strerror(i32 noundef %18394, ptr noundef @.str.4)
  %18396 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18397 = load i32, ptr %18396, align 4, !tbaa !5
  %18398 = call ptr @s2n_strerror_debug(i32 noundef %18397, ptr noundef @.str.4)
  %18399 = call ptr @__errno_location() #11
  %18400 = load i32, ptr %18399, align 4, !tbaa !5
  %18401 = call ptr @strerror(i32 noundef %18400) #10
  %18402 = call ptr @__errno_location() #11
  %18403 = load i32, ptr %18402, align 4, !tbaa !5
  %18404 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18391, ptr noundef @.str.5, i32 noundef %18392, ptr noundef @.str.111, ptr noundef @.str.1, i32 noundef 818, ptr noundef %18395, ptr noundef %18398, ptr noundef %18401, i32 noundef %18403) #10
  br label %18405

18405:                                            ; preds = %18388, %18371
  call void @llvm.lifetime.end.p0(i64 4, ptr %517) #10
  br label %18406

18406:                                            ; preds = %18405
  br label %18407

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

18408:                                            ; No predecessors!
  br label %18409

18409:                                            ; preds = %18408
  br label %18410

18410:                                            ; preds = %18409, %18350
  br label %18411

18411:                                            ; preds = %18410
  br label %18412

18412:                                            ; preds = %18411
  br label %18413

18413:                                            ; preds = %18412
  %18414 = load i32, ptr @test_count, align 4, !tbaa !5
  %18415 = add nsw i32 %18414, 1
  store i32 %18415, ptr @test_count, align 4, !tbaa !5
  %18416 = load ptr, ptr %515, align 8, !tbaa !9
  %18417 = call i32 @s2n_connection_set_verify_host_callback(ptr noundef %18416, ptr noundef @verify_host_always_allow, ptr noundef null)
  %18418 = icmp eq i32 %18417, -1
  br i1 %18418, label %18419, label %18472

18419:                                            ; preds = %18413
  br label %18420

18420:                                            ; preds = %18419
  br label %18421

18421:                                            ; preds = %18420
  call void @llvm.lifetime.start.p0(i64 4, ptr %518) #10
  %18422 = call ptr @__errno_location() #11
  %18423 = load i32, ptr %18422, align 4, !tbaa !5
  store i32 %18423, ptr %518, align 4, !tbaa !5
  %18424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18425 = call i32 @s2n_print_stacktrace(ptr noundef %18424)
  %18426 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18427 = trunc i8 %18426 to i1
  br i1 %18427, label %18428, label %18450

18428:                                            ; preds = %18421
  %18429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18430 = call i32 @fileno(ptr noundef %18429) #10
  %18431 = call i32 @isatty(i32 noundef %18430) #10
  %18432 = icmp ne i32 %18431, 0
  br i1 %18432, label %18433, label %18450

18433:                                            ; preds = %18428
  %18434 = load i32, ptr %518, align 4, !tbaa !5
  %18435 = call ptr @__errno_location() #11
  store i32 %18434, ptr %18435, align 4, !tbaa !5
  %18436 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18437 = load i32, ptr @test_count, align 4, !tbaa !5
  %18438 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18439 = load i32, ptr %18438, align 4, !tbaa !5
  %18440 = call ptr @s2n_strerror(i32 noundef %18439, ptr noundef @.str.4)
  %18441 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18442 = load i32, ptr %18441, align 4, !tbaa !5
  %18443 = call ptr @s2n_strerror_debug(i32 noundef %18442, ptr noundef @.str.4)
  %18444 = call ptr @__errno_location() #11
  %18445 = load i32, ptr %18444, align 4, !tbaa !5
  %18446 = call ptr @strerror(i32 noundef %18445) #10
  %18447 = call ptr @__errno_location() #11
  %18448 = load i32, ptr %18447, align 4, !tbaa !5
  %18449 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18436, ptr noundef @.str.2, i32 noundef %18437, ptr noundef @.str.112, ptr noundef @.str.1, i32 noundef 819, ptr noundef %18440, ptr noundef %18443, ptr noundef %18446, i32 noundef %18448) #10
  br label %18467

18450:                                            ; preds = %18428, %18421
  %18451 = load i32, ptr %518, align 4, !tbaa !5
  %18452 = call ptr @__errno_location() #11
  store i32 %18451, ptr %18452, align 4, !tbaa !5
  %18453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18454 = load i32, ptr @test_count, align 4, !tbaa !5
  %18455 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18456 = load i32, ptr %18455, align 4, !tbaa !5
  %18457 = call ptr @s2n_strerror(i32 noundef %18456, ptr noundef @.str.4)
  %18458 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18459 = load i32, ptr %18458, align 4, !tbaa !5
  %18460 = call ptr @s2n_strerror_debug(i32 noundef %18459, ptr noundef @.str.4)
  %18461 = call ptr @__errno_location() #11
  %18462 = load i32, ptr %18461, align 4, !tbaa !5
  %18463 = call ptr @strerror(i32 noundef %18462) #10
  %18464 = call ptr @__errno_location() #11
  %18465 = load i32, ptr %18464, align 4, !tbaa !5
  %18466 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18453, ptr noundef @.str.5, i32 noundef %18454, ptr noundef @.str.112, ptr noundef @.str.1, i32 noundef 819, ptr noundef %18457, ptr noundef %18460, ptr noundef %18463, i32 noundef %18465) #10
  br label %18467

18467:                                            ; preds = %18450, %18433
  call void @llvm.lifetime.end.p0(i64 4, ptr %518) #10
  br label %18468

18468:                                            ; preds = %18467
  br label %18469

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

18470:                                            ; No predecessors!
  br label %18471

18471:                                            ; preds = %18470
  br label %18472

18472:                                            ; preds = %18471, %18413
  br label %18473

18473:                                            ; preds = %18472
  br label %18474

18474:                                            ; preds = %18473
  br label %18475

18475:                                            ; preds = %18474
  %18476 = load i32, ptr @test_count, align 4, !tbaa !5
  %18477 = add nsw i32 %18476, 1
  store i32 %18477, ptr @test_count, align 4, !tbaa !5
  %18478 = load ptr, ptr %515, align 8, !tbaa !9
  %18479 = call i32 @s2n_connection_set_blinding(ptr noundef %18478, i32 noundef 1)
  %18480 = icmp eq i32 %18479, -1
  br i1 %18480, label %18481, label %18534

18481:                                            ; preds = %18475
  br label %18482

18482:                                            ; preds = %18481
  br label %18483

18483:                                            ; preds = %18482
  call void @llvm.lifetime.start.p0(i64 4, ptr %519) #10
  %18484 = call ptr @__errno_location() #11
  %18485 = load i32, ptr %18484, align 4, !tbaa !5
  store i32 %18485, ptr %519, align 4, !tbaa !5
  %18486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18487 = call i32 @s2n_print_stacktrace(ptr noundef %18486)
  %18488 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18489 = trunc i8 %18488 to i1
  br i1 %18489, label %18490, label %18512

18490:                                            ; preds = %18483
  %18491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18492 = call i32 @fileno(ptr noundef %18491) #10
  %18493 = call i32 @isatty(i32 noundef %18492) #10
  %18494 = icmp ne i32 %18493, 0
  br i1 %18494, label %18495, label %18512

18495:                                            ; preds = %18490
  %18496 = load i32, ptr %519, align 4, !tbaa !5
  %18497 = call ptr @__errno_location() #11
  store i32 %18496, ptr %18497, align 4, !tbaa !5
  %18498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18499 = load i32, ptr @test_count, align 4, !tbaa !5
  %18500 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18501 = load i32, ptr %18500, align 4, !tbaa !5
  %18502 = call ptr @s2n_strerror(i32 noundef %18501, ptr noundef @.str.4)
  %18503 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18504 = load i32, ptr %18503, align 4, !tbaa !5
  %18505 = call ptr @s2n_strerror_debug(i32 noundef %18504, ptr noundef @.str.4)
  %18506 = call ptr @__errno_location() #11
  %18507 = load i32, ptr %18506, align 4, !tbaa !5
  %18508 = call ptr @strerror(i32 noundef %18507) #10
  %18509 = call ptr @__errno_location() #11
  %18510 = load i32, ptr %18509, align 4, !tbaa !5
  %18511 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18498, ptr noundef @.str.2, i32 noundef %18499, ptr noundef @.str.93, ptr noundef @.str.1, i32 noundef 820, ptr noundef %18502, ptr noundef %18505, ptr noundef %18508, i32 noundef %18510) #10
  br label %18529

18512:                                            ; preds = %18490, %18483
  %18513 = load i32, ptr %519, align 4, !tbaa !5
  %18514 = call ptr @__errno_location() #11
  store i32 %18513, ptr %18514, align 4, !tbaa !5
  %18515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18516 = load i32, ptr @test_count, align 4, !tbaa !5
  %18517 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18518 = load i32, ptr %18517, align 4, !tbaa !5
  %18519 = call ptr @s2n_strerror(i32 noundef %18518, ptr noundef @.str.4)
  %18520 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18521 = load i32, ptr %18520, align 4, !tbaa !5
  %18522 = call ptr @s2n_strerror_debug(i32 noundef %18521, ptr noundef @.str.4)
  %18523 = call ptr @__errno_location() #11
  %18524 = load i32, ptr %18523, align 4, !tbaa !5
  %18525 = call ptr @strerror(i32 noundef %18524) #10
  %18526 = call ptr @__errno_location() #11
  %18527 = load i32, ptr %18526, align 4, !tbaa !5
  %18528 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18515, ptr noundef @.str.5, i32 noundef %18516, ptr noundef @.str.93, ptr noundef @.str.1, i32 noundef 820, ptr noundef %18519, ptr noundef %18522, ptr noundef %18525, i32 noundef %18527) #10
  br label %18529

18529:                                            ; preds = %18512, %18495
  call void @llvm.lifetime.end.p0(i64 4, ptr %519) #10
  br label %18530

18530:                                            ; preds = %18529
  br label %18531

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

18532:                                            ; No predecessors!
  br label %18533

18533:                                            ; preds = %18532
  br label %18534

18534:                                            ; preds = %18533, %18475
  br label %18535

18535:                                            ; preds = %18534
  br label %18536

18536:                                            ; preds = %18535
  call void @llvm.lifetime.start.p0(i64 8, ptr %520) #10
  %18537 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %18537, ptr %520, align 8, !tbaa !9
  br label %18538

18538:                                            ; preds = %18536
  %18539 = load i32, ptr @test_count, align 4, !tbaa !5
  %18540 = add nsw i32 %18539, 1
  store i32 %18540, ptr @test_count, align 4, !tbaa !5
  %18541 = load ptr, ptr %520, align 8, !tbaa !9
  %18542 = icmp eq ptr %18541, null
  br i1 %18542, label %18543, label %18596

18543:                                            ; preds = %18538
  br label %18544

18544:                                            ; preds = %18543
  br label %18545

18545:                                            ; preds = %18544
  call void @llvm.lifetime.start.p0(i64 4, ptr %521) #10
  %18546 = call ptr @__errno_location() #11
  %18547 = load i32, ptr %18546, align 4, !tbaa !5
  store i32 %18547, ptr %521, align 4, !tbaa !5
  %18548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18549 = call i32 @s2n_print_stacktrace(ptr noundef %18548)
  %18550 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18551 = trunc i8 %18550 to i1
  br i1 %18551, label %18552, label %18574

18552:                                            ; preds = %18545
  %18553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18554 = call i32 @fileno(ptr noundef %18553) #10
  %18555 = call i32 @isatty(i32 noundef %18554) #10
  %18556 = icmp ne i32 %18555, 0
  br i1 %18556, label %18557, label %18574

18557:                                            ; preds = %18552
  %18558 = load i32, ptr %521, align 4, !tbaa !5
  %18559 = call ptr @__errno_location() #11
  store i32 %18558, ptr %18559, align 4, !tbaa !5
  %18560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18561 = load i32, ptr @test_count, align 4, !tbaa !5
  %18562 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18563 = load i32, ptr %18562, align 4, !tbaa !5
  %18564 = call ptr @s2n_strerror(i32 noundef %18563, ptr noundef @.str.4)
  %18565 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18566 = load i32, ptr %18565, align 4, !tbaa !5
  %18567 = call ptr @s2n_strerror_debug(i32 noundef %18566, ptr noundef @.str.4)
  %18568 = call ptr @__errno_location() #11
  %18569 = load i32, ptr %18568, align 4, !tbaa !5
  %18570 = call ptr @strerror(i32 noundef %18569) #10
  %18571 = call ptr @__errno_location() #11
  %18572 = load i32, ptr %18571, align 4, !tbaa !5
  %18573 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18560, ptr noundef @.str.2, i32 noundef %18561, ptr noundef @.str.84, ptr noundef @.str.1, i32 noundef 823, ptr noundef %18564, ptr noundef %18567, ptr noundef %18570, i32 noundef %18572) #10
  br label %18591

18574:                                            ; preds = %18552, %18545
  %18575 = load i32, ptr %521, align 4, !tbaa !5
  %18576 = call ptr @__errno_location() #11
  store i32 %18575, ptr %18576, align 4, !tbaa !5
  %18577 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18578 = load i32, ptr @test_count, align 4, !tbaa !5
  %18579 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18580 = load i32, ptr %18579, align 4, !tbaa !5
  %18581 = call ptr @s2n_strerror(i32 noundef %18580, ptr noundef @.str.4)
  %18582 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18583 = load i32, ptr %18582, align 4, !tbaa !5
  %18584 = call ptr @s2n_strerror_debug(i32 noundef %18583, ptr noundef @.str.4)
  %18585 = call ptr @__errno_location() #11
  %18586 = load i32, ptr %18585, align 4, !tbaa !5
  %18587 = call ptr @strerror(i32 noundef %18586) #10
  %18588 = call ptr @__errno_location() #11
  %18589 = load i32, ptr %18588, align 4, !tbaa !5
  %18590 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18577, ptr noundef @.str.5, i32 noundef %18578, ptr noundef @.str.84, ptr noundef @.str.1, i32 noundef 823, ptr noundef %18581, ptr noundef %18584, ptr noundef %18587, i32 noundef %18589) #10
  br label %18591

18591:                                            ; preds = %18574, %18557
  call void @llvm.lifetime.end.p0(i64 4, ptr %521) #10
  br label %18592

18592:                                            ; preds = %18591
  br label %18593

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

18594:                                            ; No predecessors!
  br label %18595

18595:                                            ; preds = %18594
  br label %18596

18596:                                            ; preds = %18595, %18538
  br label %18597

18597:                                            ; preds = %18596
  br label %18598

18598:                                            ; preds = %18597
  br label %18599

18599:                                            ; preds = %18598
  %18600 = load i32, ptr @test_count, align 4, !tbaa !5
  %18601 = add nsw i32 %18600, 1
  store i32 %18601, ptr @test_count, align 4, !tbaa !5
  %18602 = load ptr, ptr %520, align 8, !tbaa !9
  %18603 = load ptr, ptr %507, align 8, !tbaa !9
  %18604 = call i32 @s2n_connection_set_config(ptr noundef %18602, ptr noundef %18603)
  %18605 = icmp eq i32 %18604, -1
  br i1 %18605, label %18606, label %18659

18606:                                            ; preds = %18599
  br label %18607

18607:                                            ; preds = %18606
  br label %18608

18608:                                            ; preds = %18607
  call void @llvm.lifetime.start.p0(i64 4, ptr %522) #10
  %18609 = call ptr @__errno_location() #11
  %18610 = load i32, ptr %18609, align 4, !tbaa !5
  store i32 %18610, ptr %522, align 4, !tbaa !5
  %18611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18612 = call i32 @s2n_print_stacktrace(ptr noundef %18611)
  %18613 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18614 = trunc i8 %18613 to i1
  br i1 %18614, label %18615, label %18637

18615:                                            ; preds = %18608
  %18616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18617 = call i32 @fileno(ptr noundef %18616) #10
  %18618 = call i32 @isatty(i32 noundef %18617) #10
  %18619 = icmp ne i32 %18618, 0
  br i1 %18619, label %18620, label %18637

18620:                                            ; preds = %18615
  %18621 = load i32, ptr %522, align 4, !tbaa !5
  %18622 = call ptr @__errno_location() #11
  store i32 %18621, ptr %18622, align 4, !tbaa !5
  %18623 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18624 = load i32, ptr @test_count, align 4, !tbaa !5
  %18625 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18626 = load i32, ptr %18625, align 4, !tbaa !5
  %18627 = call ptr @s2n_strerror(i32 noundef %18626, ptr noundef @.str.4)
  %18628 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18629 = load i32, ptr %18628, align 4, !tbaa !5
  %18630 = call ptr @s2n_strerror_debug(i32 noundef %18629, ptr noundef @.str.4)
  %18631 = call ptr @__errno_location() #11
  %18632 = load i32, ptr %18631, align 4, !tbaa !5
  %18633 = call ptr @strerror(i32 noundef %18632) #10
  %18634 = call ptr @__errno_location() #11
  %18635 = load i32, ptr %18634, align 4, !tbaa !5
  %18636 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18623, ptr noundef @.str.2, i32 noundef %18624, ptr noundef @.str.113, ptr noundef @.str.1, i32 noundef 824, ptr noundef %18627, ptr noundef %18630, ptr noundef %18633, i32 noundef %18635) #10
  br label %18654

18637:                                            ; preds = %18615, %18608
  %18638 = load i32, ptr %522, align 4, !tbaa !5
  %18639 = call ptr @__errno_location() #11
  store i32 %18638, ptr %18639, align 4, !tbaa !5
  %18640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18641 = load i32, ptr @test_count, align 4, !tbaa !5
  %18642 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18643 = load i32, ptr %18642, align 4, !tbaa !5
  %18644 = call ptr @s2n_strerror(i32 noundef %18643, ptr noundef @.str.4)
  %18645 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18646 = load i32, ptr %18645, align 4, !tbaa !5
  %18647 = call ptr @s2n_strerror_debug(i32 noundef %18646, ptr noundef @.str.4)
  %18648 = call ptr @__errno_location() #11
  %18649 = load i32, ptr %18648, align 4, !tbaa !5
  %18650 = call ptr @strerror(i32 noundef %18649) #10
  %18651 = call ptr @__errno_location() #11
  %18652 = load i32, ptr %18651, align 4, !tbaa !5
  %18653 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18640, ptr noundef @.str.5, i32 noundef %18641, ptr noundef @.str.113, ptr noundef @.str.1, i32 noundef 824, ptr noundef %18644, ptr noundef %18647, ptr noundef %18650, i32 noundef %18652) #10
  br label %18654

18654:                                            ; preds = %18637, %18620
  call void @llvm.lifetime.end.p0(i64 4, ptr %522) #10
  br label %18655

18655:                                            ; preds = %18654
  br label %18656

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

18657:                                            ; No predecessors!
  br label %18658

18658:                                            ; preds = %18657
  br label %18659

18659:                                            ; preds = %18658, %18599
  br label %18660

18660:                                            ; preds = %18659
  br label %18661

18661:                                            ; preds = %18660
  br label %18662

18662:                                            ; preds = %18661
  %18663 = load i32, ptr @test_count, align 4, !tbaa !5
  %18664 = add nsw i32 %18663, 1
  store i32 %18664, ptr @test_count, align 4, !tbaa !5
  %18665 = load ptr, ptr %520, align 8, !tbaa !9
  %18666 = call i32 @s2n_set_server_name(ptr noundef %18665, ptr noundef @.str.39)
  %18667 = icmp eq i32 %18666, -1
  br i1 %18667, label %18668, label %18721

18668:                                            ; preds = %18662
  br label %18669

18669:                                            ; preds = %18668
  br label %18670

18670:                                            ; preds = %18669
  call void @llvm.lifetime.start.p0(i64 4, ptr %523) #10
  %18671 = call ptr @__errno_location() #11
  %18672 = load i32, ptr %18671, align 4, !tbaa !5
  store i32 %18672, ptr %523, align 4, !tbaa !5
  %18673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18674 = call i32 @s2n_print_stacktrace(ptr noundef %18673)
  %18675 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18676 = trunc i8 %18675 to i1
  br i1 %18676, label %18677, label %18699

18677:                                            ; preds = %18670
  %18678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18679 = call i32 @fileno(ptr noundef %18678) #10
  %18680 = call i32 @isatty(i32 noundef %18679) #10
  %18681 = icmp ne i32 %18680, 0
  br i1 %18681, label %18682, label %18699

18682:                                            ; preds = %18677
  %18683 = load i32, ptr %523, align 4, !tbaa !5
  %18684 = call ptr @__errno_location() #11
  store i32 %18683, ptr %18684, align 4, !tbaa !5
  %18685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18686 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %18688, ptr noundef @.str.4)
  %18690 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18691 = load i32, ptr %18690, align 4, !tbaa !5
  %18692 = call ptr @s2n_strerror_debug(i32 noundef %18691, ptr noundef @.str.4)
  %18693 = call ptr @__errno_location() #11
  %18694 = load i32, ptr %18693, align 4, !tbaa !5
  %18695 = call ptr @strerror(i32 noundef %18694) #10
  %18696 = call ptr @__errno_location() #11
  %18697 = load i32, ptr %18696, align 4, !tbaa !5
  %18698 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18685, ptr noundef @.str.2, i32 noundef %18686, ptr noundef @.str.86, ptr noundef @.str.1, i32 noundef 825, ptr noundef %18689, ptr noundef %18692, ptr noundef %18695, i32 noundef %18697) #10
  br label %18716

18699:                                            ; preds = %18677, %18670
  %18700 = load i32, ptr %523, align 4, !tbaa !5
  %18701 = call ptr @__errno_location() #11
  store i32 %18700, ptr %18701, align 4, !tbaa !5
  %18702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18703 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %18705, ptr noundef @.str.4)
  %18707 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18708 = load i32, ptr %18707, align 4, !tbaa !5
  %18709 = call ptr @s2n_strerror_debug(i32 noundef %18708, ptr noundef @.str.4)
  %18710 = call ptr @__errno_location() #11
  %18711 = load i32, ptr %18710, align 4, !tbaa !5
  %18712 = call ptr @strerror(i32 noundef %18711) #10
  %18713 = call ptr @__errno_location() #11
  %18714 = load i32, ptr %18713, align 4, !tbaa !5
  %18715 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18702, ptr noundef @.str.5, i32 noundef %18703, ptr noundef @.str.86, ptr noundef @.str.1, i32 noundef 825, ptr noundef %18706, ptr noundef %18709, ptr noundef %18712, i32 noundef %18714) #10
  br label %18716

18716:                                            ; preds = %18699, %18682
  call void @llvm.lifetime.end.p0(i64 4, ptr %523) #10
  br label %18717

18717:                                            ; preds = %18716
  br label %18718

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

18719:                                            ; No predecessors!
  br label %18720

18720:                                            ; preds = %18719
  br label %18721

18721:                                            ; preds = %18720, %18662
  br label %18722

18722:                                            ; preds = %18721
  br label %18723

18723:                                            ; preds = %18722
  br label %18724

18724:                                            ; preds = %18723
  %18725 = load i32, ptr @test_count, align 4, !tbaa !5
  %18726 = add nsw i32 %18725, 1
  store i32 %18726, ptr @test_count, align 4, !tbaa !5
  %18727 = load ptr, ptr %520, align 8, !tbaa !9
  %18728 = call i32 @s2n_connection_set_blinding(ptr noundef %18727, i32 noundef 1)
  %18729 = icmp eq i32 %18728, -1
  br i1 %18729, label %18730, label %18783

18730:                                            ; preds = %18724
  br label %18731

18731:                                            ; preds = %18730
  br label %18732

18732:                                            ; preds = %18731
  call void @llvm.lifetime.start.p0(i64 4, ptr %524) #10
  %18733 = call ptr @__errno_location() #11
  %18734 = load i32, ptr %18733, align 4, !tbaa !5
  store i32 %18734, ptr %524, 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) #10
  %18742 = call i32 @isatty(i32 noundef %18741) #10
  %18743 = icmp ne i32 %18742, 0
  br i1 %18743, label %18744, label %18761

18744:                                            ; preds = %18739
  %18745 = load i32, ptr %524, align 4, !tbaa !5
  %18746 = call ptr @__errno_location() #11
  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() #11
  %18756 = load i32, ptr %18755, align 4, !tbaa !5
  %18757 = call ptr @strerror(i32 noundef %18756) #10
  %18758 = call ptr @__errno_location() #11
  %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.94, ptr noundef @.str.1, i32 noundef 826, ptr noundef %18751, ptr noundef %18754, ptr noundef %18757, i32 noundef %18759) #10
  br label %18778

18761:                                            ; preds = %18739, %18732
  %18762 = load i32, ptr %524, align 4, !tbaa !5
  %18763 = call ptr @__errno_location() #11
  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() #11
  %18773 = load i32, ptr %18772, align 4, !tbaa !5
  %18774 = call ptr @strerror(i32 noundef %18773) #10
  %18775 = call ptr @__errno_location() #11
  %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.94, ptr noundef @.str.1, i32 noundef 826, ptr noundef %18768, ptr noundef %18771, ptr noundef %18774, i32 noundef %18776) #10
  br label %18778

18778:                                            ; preds = %18761, %18744
  call void @llvm.lifetime.end.p0(i64 4, ptr %524) #10
  br label %18779

18779:                                            ; preds = %18778
  br label %18780

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

18781:                                            ; No predecessors!
  br label %18782

18782:                                            ; preds = %18781
  br label %18783

18783:                                            ; preds = %18782, %18724
  br label %18784

18784:                                            ; preds = %18783
  br label %18785

18785:                                            ; preds = %18784
  call void @llvm.lifetime.start.p0(i64 8, ptr %525) #10
  call void @llvm.memset.p0.i64(ptr align 4 %525, i8 0, i64 8, i1 false)
  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 i32 @s2n_io_pair_init_non_blocking(ptr noundef %525)
  %18790 = icmp eq i32 %18789, -1
  br i1 %18790, label %18791, label %18844

18791:                                            ; preds = %18786
  br label %18792

18792:                                            ; preds = %18791
  br label %18793

18793:                                            ; preds = %18792
  call void @llvm.lifetime.start.p0(i64 4, ptr %526) #10
  %18794 = call ptr @__errno_location() #11
  %18795 = load i32, ptr %18794, align 4, !tbaa !5
  store i32 %18795, ptr %526, align 4, !tbaa !5
  %18796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18797 = call i32 @s2n_print_stacktrace(ptr noundef %18796)
  %18798 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18799 = trunc i8 %18798 to i1
  br i1 %18799, label %18800, label %18822

18800:                                            ; preds = %18793
  %18801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18802 = call i32 @fileno(ptr noundef %18801) #10
  %18803 = call i32 @isatty(i32 noundef %18802) #10
  %18804 = icmp ne i32 %18803, 0
  br i1 %18804, label %18805, label %18822

18805:                                            ; preds = %18800
  %18806 = load i32, ptr %526, align 4, !tbaa !5
  %18807 = call ptr @__errno_location() #11
  store i32 %18806, ptr %18807, align 4, !tbaa !5
  %18808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18809 = load i32, ptr @test_count, align 4, !tbaa !5
  %18810 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18811 = load i32, ptr %18810, align 4, !tbaa !5
  %18812 = call ptr @s2n_strerror(i32 noundef %18811, ptr noundef @.str.4)
  %18813 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18814 = load i32, ptr %18813, align 4, !tbaa !5
  %18815 = call ptr @s2n_strerror_debug(i32 noundef %18814, ptr noundef @.str.4)
  %18816 = call ptr @__errno_location() #11
  %18817 = load i32, ptr %18816, align 4, !tbaa !5
  %18818 = call ptr @strerror(i32 noundef %18817) #10
  %18819 = call ptr @__errno_location() #11
  %18820 = load i32, ptr %18819, align 4, !tbaa !5
  %18821 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18808, ptr noundef @.str.2, i32 noundef %18809, ptr noundef @.str.87, ptr noundef @.str.1, i32 noundef 829, ptr noundef %18812, ptr noundef %18815, ptr noundef %18818, i32 noundef %18820) #10
  br label %18839

18822:                                            ; preds = %18800, %18793
  %18823 = load i32, ptr %526, align 4, !tbaa !5
  %18824 = call ptr @__errno_location() #11
  store i32 %18823, ptr %18824, align 4, !tbaa !5
  %18825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18826 = load i32, ptr @test_count, align 4, !tbaa !5
  %18827 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18828 = load i32, ptr %18827, align 4, !tbaa !5
  %18829 = call ptr @s2n_strerror(i32 noundef %18828, ptr noundef @.str.4)
  %18830 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18831 = load i32, ptr %18830, align 4, !tbaa !5
  %18832 = call ptr @s2n_strerror_debug(i32 noundef %18831, ptr noundef @.str.4)
  %18833 = call ptr @__errno_location() #11
  %18834 = load i32, ptr %18833, align 4, !tbaa !5
  %18835 = call ptr @strerror(i32 noundef %18834) #10
  %18836 = call ptr @__errno_location() #11
  %18837 = load i32, ptr %18836, align 4, !tbaa !5
  %18838 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18825, ptr noundef @.str.5, i32 noundef %18826, ptr noundef @.str.87, ptr noundef @.str.1, i32 noundef 829, ptr noundef %18829, ptr noundef %18832, ptr noundef %18835, i32 noundef %18837) #10
  br label %18839

18839:                                            ; preds = %18822, %18805
  call void @llvm.lifetime.end.p0(i64 4, ptr %526) #10
  br label %18840

18840:                                            ; preds = %18839
  br label %18841

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

18842:                                            ; No predecessors!
  br label %18843

18843:                                            ; preds = %18842
  br label %18844

18844:                                            ; preds = %18843, %18786
  br label %18845

18845:                                            ; preds = %18844
  br label %18846

18846:                                            ; preds = %18845
  br label %18847

18847:                                            ; preds = %18846
  %18848 = load i32, ptr @test_count, align 4, !tbaa !5
  %18849 = add nsw i32 %18848, 1
  store i32 %18849, ptr @test_count, align 4, !tbaa !5
  %18850 = load ptr, ptr %520, align 8, !tbaa !9
  %18851 = call i32 @s2n_connection_set_io_pair(ptr noundef %18850, ptr noundef %525)
  %18852 = icmp eq i32 %18851, -1
  br i1 %18852, label %18853, label %18906

18853:                                            ; preds = %18847
  br label %18854

18854:                                            ; preds = %18853
  br label %18855

18855:                                            ; preds = %18854
  call void @llvm.lifetime.start.p0(i64 4, ptr %527) #10
  %18856 = call ptr @__errno_location() #11
  %18857 = load i32, ptr %18856, align 4, !tbaa !5
  store i32 %18857, ptr %527, align 4, !tbaa !5
  %18858 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18859 = call i32 @s2n_print_stacktrace(ptr noundef %18858)
  %18860 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18861 = trunc i8 %18860 to i1
  br i1 %18861, label %18862, label %18884

18862:                                            ; preds = %18855
  %18863 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18864 = call i32 @fileno(ptr noundef %18863) #10
  %18865 = call i32 @isatty(i32 noundef %18864) #10
  %18866 = icmp ne i32 %18865, 0
  br i1 %18866, label %18867, label %18884

18867:                                            ; preds = %18862
  %18868 = load i32, ptr %527, align 4, !tbaa !5
  %18869 = call ptr @__errno_location() #11
  store i32 %18868, ptr %18869, align 4, !tbaa !5
  %18870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18871 = load i32, ptr @test_count, align 4, !tbaa !5
  %18872 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18873 = load i32, ptr %18872, align 4, !tbaa !5
  %18874 = call ptr @s2n_strerror(i32 noundef %18873, ptr noundef @.str.4)
  %18875 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18876 = load i32, ptr %18875, align 4, !tbaa !5
  %18877 = call ptr @s2n_strerror_debug(i32 noundef %18876, ptr noundef @.str.4)
  %18878 = call ptr @__errno_location() #11
  %18879 = load i32, ptr %18878, align 4, !tbaa !5
  %18880 = call ptr @strerror(i32 noundef %18879) #10
  %18881 = call ptr @__errno_location() #11
  %18882 = load i32, ptr %18881, align 4, !tbaa !5
  %18883 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18870, ptr noundef @.str.2, i32 noundef %18871, ptr noundef @.str.88, ptr noundef @.str.1, i32 noundef 830, ptr noundef %18874, ptr noundef %18877, ptr noundef %18880, i32 noundef %18882) #10
  br label %18901

18884:                                            ; preds = %18862, %18855
  %18885 = load i32, ptr %527, align 4, !tbaa !5
  %18886 = call ptr @__errno_location() #11
  store i32 %18885, ptr %18886, align 4, !tbaa !5
  %18887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18888 = load i32, ptr @test_count, align 4, !tbaa !5
  %18889 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18890 = load i32, ptr %18889, align 4, !tbaa !5
  %18891 = call ptr @s2n_strerror(i32 noundef %18890, ptr noundef @.str.4)
  %18892 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18893 = load i32, ptr %18892, align 4, !tbaa !5
  %18894 = call ptr @s2n_strerror_debug(i32 noundef %18893, ptr noundef @.str.4)
  %18895 = call ptr @__errno_location() #11
  %18896 = load i32, ptr %18895, align 4, !tbaa !5
  %18897 = call ptr @strerror(i32 noundef %18896) #10
  %18898 = call ptr @__errno_location() #11
  %18899 = load i32, ptr %18898, align 4, !tbaa !5
  %18900 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18887, ptr noundef @.str.5, i32 noundef %18888, ptr noundef @.str.88, ptr noundef @.str.1, i32 noundef 830, ptr noundef %18891, ptr noundef %18894, ptr noundef %18897, i32 noundef %18899) #10
  br label %18901

18901:                                            ; preds = %18884, %18867
  call void @llvm.lifetime.end.p0(i64 4, ptr %527) #10
  br label %18902

18902:                                            ; preds = %18901
  br label %18903

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

18904:                                            ; No predecessors!
  br label %18905

18905:                                            ; preds = %18904
  br label %18906

18906:                                            ; preds = %18905, %18847
  br label %18907

18907:                                            ; preds = %18906
  br label %18908

18908:                                            ; preds = %18907
  br label %18909

18909:                                            ; preds = %18908
  %18910 = load i32, ptr @test_count, align 4, !tbaa !5
  %18911 = add nsw i32 %18910, 1
  store i32 %18911, ptr @test_count, align 4, !tbaa !5
  %18912 = load ptr, ptr %515, align 8, !tbaa !9
  %18913 = call i32 @s2n_connection_set_io_pair(ptr noundef %18912, ptr noundef %525)
  %18914 = icmp eq i32 %18913, -1
  br i1 %18914, label %18915, label %18968

18915:                                            ; preds = %18909
  br label %18916

18916:                                            ; preds = %18915
  br label %18917

18917:                                            ; preds = %18916
  call void @llvm.lifetime.start.p0(i64 4, ptr %528) #10
  %18918 = call ptr @__errno_location() #11
  %18919 = load i32, ptr %18918, align 4, !tbaa !5
  store i32 %18919, ptr %528, align 4, !tbaa !5
  %18920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18921 = call i32 @s2n_print_stacktrace(ptr noundef %18920)
  %18922 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18923 = trunc i8 %18922 to i1
  br i1 %18923, label %18924, label %18946

18924:                                            ; preds = %18917
  %18925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18926 = call i32 @fileno(ptr noundef %18925) #10
  %18927 = call i32 @isatty(i32 noundef %18926) #10
  %18928 = icmp ne i32 %18927, 0
  br i1 %18928, label %18929, label %18946

18929:                                            ; preds = %18924
  %18930 = load i32, ptr %528, align 4, !tbaa !5
  %18931 = call ptr @__errno_location() #11
  store i32 %18930, ptr %18931, align 4, !tbaa !5
  %18932 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18933 = load i32, ptr @test_count, align 4, !tbaa !5
  %18934 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18935 = load i32, ptr %18934, align 4, !tbaa !5
  %18936 = call ptr @s2n_strerror(i32 noundef %18935, ptr noundef @.str.4)
  %18937 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18938 = load i32, ptr %18937, align 4, !tbaa !5
  %18939 = call ptr @s2n_strerror_debug(i32 noundef %18938, ptr noundef @.str.4)
  %18940 = call ptr @__errno_location() #11
  %18941 = load i32, ptr %18940, align 4, !tbaa !5
  %18942 = call ptr @strerror(i32 noundef %18941) #10
  %18943 = call ptr @__errno_location() #11
  %18944 = load i32, ptr %18943, align 4, !tbaa !5
  %18945 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18932, ptr noundef @.str.2, i32 noundef %18933, ptr noundef @.str.89, ptr noundef @.str.1, i32 noundef 831, ptr noundef %18936, ptr noundef %18939, ptr noundef %18942, i32 noundef %18944) #10
  br label %18963

18946:                                            ; preds = %18924, %18917
  %18947 = load i32, ptr %528, align 4, !tbaa !5
  %18948 = call ptr @__errno_location() #11
  store i32 %18947, ptr %18948, align 4, !tbaa !5
  %18949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18950 = load i32, ptr @test_count, align 4, !tbaa !5
  %18951 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18952 = load i32, ptr %18951, align 4, !tbaa !5
  %18953 = call ptr @s2n_strerror(i32 noundef %18952, ptr noundef @.str.4)
  %18954 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18955 = load i32, ptr %18954, align 4, !tbaa !5
  %18956 = call ptr @s2n_strerror_debug(i32 noundef %18955, ptr noundef @.str.4)
  %18957 = call ptr @__errno_location() #11
  %18958 = load i32, ptr %18957, align 4, !tbaa !5
  %18959 = call ptr @strerror(i32 noundef %18958) #10
  %18960 = call ptr @__errno_location() #11
  %18961 = load i32, ptr %18960, align 4, !tbaa !5
  %18962 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18949, ptr noundef @.str.5, i32 noundef %18950, ptr noundef @.str.89, ptr noundef @.str.1, i32 noundef 831, ptr noundef %18953, ptr noundef %18956, ptr noundef %18959, i32 noundef %18961) #10
  br label %18963

18963:                                            ; preds = %18946, %18929
  call void @llvm.lifetime.end.p0(i64 4, ptr %528) #10
  br label %18964

18964:                                            ; preds = %18963
  br label %18965

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

18966:                                            ; No predecessors!
  br label %18967

18967:                                            ; preds = %18966
  br label %18968

18968:                                            ; preds = %18967, %18909
  br label %18969

18969:                                            ; preds = %18968
  br label %18970

18970:                                            ; preds = %18969
  br label %18971

18971:                                            ; preds = %18970
  br label %18972

18972:                                            ; preds = %18971
  br label %18973

18973:                                            ; preds = %18972
  %18974 = load i32, ptr @test_count, align 4, !tbaa !5
  %18975 = add nsw i32 %18974, 1
  store i32 %18975, ptr @test_count, align 4, !tbaa !5
  %18976 = load ptr, ptr %515, align 8, !tbaa !9
  %18977 = load ptr, ptr %520, align 8, !tbaa !9
  %18978 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %18976, ptr noundef %18977)
  %18979 = icmp eq i32 %18978, -1
  br i1 %18979, label %19033, label %18980

18980:                                            ; preds = %18973
  br label %18981

18981:                                            ; preds = %18980
  br label %18982

18982:                                            ; preds = %18981
  call void @llvm.lifetime.start.p0(i64 4, ptr %529) #10
  %18983 = call ptr @__errno_location() #11
  %18984 = load i32, ptr %18983, align 4, !tbaa !5
  store i32 %18984, ptr %529, align 4, !tbaa !5
  %18985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18986 = call i32 @s2n_print_stacktrace(ptr noundef %18985)
  %18987 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18988 = trunc i8 %18987 to i1
  br i1 %18988, label %18989, label %19011

18989:                                            ; preds = %18982
  %18990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18991 = call i32 @fileno(ptr noundef %18990) #10
  %18992 = call i32 @isatty(i32 noundef %18991) #10
  %18993 = icmp ne i32 %18992, 0
  br i1 %18993, label %18994, label %19011

18994:                                            ; preds = %18989
  %18995 = load i32, ptr %529, align 4, !tbaa !5
  %18996 = call ptr @__errno_location() #11
  store i32 %18995, ptr %18996, align 4, !tbaa !5
  %18997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18998 = load i32, ptr @test_count, align 4, !tbaa !5
  %18999 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19000 = load i32, ptr %18999, align 4, !tbaa !5
  %19001 = call ptr @s2n_strerror(i32 noundef %19000, ptr noundef @.str.4)
  %19002 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19003 = load i32, ptr %19002, align 4, !tbaa !5
  %19004 = call ptr @s2n_strerror_debug(i32 noundef %19003, ptr noundef @.str.4)
  %19005 = call ptr @__errno_location() #11
  %19006 = load i32, ptr %19005, align 4, !tbaa !5
  %19007 = call ptr @strerror(i32 noundef %19006) #10
  %19008 = call ptr @__errno_location() #11
  %19009 = load i32, ptr %19008, align 4, !tbaa !5
  %19010 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18997, ptr noundef @.str.2, i32 noundef %18998, ptr noundef @.str.95, ptr noundef @.str.1, i32 noundef 834, ptr noundef %19001, ptr noundef %19004, ptr noundef %19007, i32 noundef %19009) #10
  br label %19028

19011:                                            ; preds = %18989, %18982
  %19012 = load i32, ptr %529, align 4, !tbaa !5
  %19013 = call ptr @__errno_location() #11
  store i32 %19012, ptr %19013, align 4, !tbaa !5
  %19014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19015 = load i32, ptr @test_count, align 4, !tbaa !5
  %19016 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19017 = load i32, ptr %19016, align 4, !tbaa !5
  %19018 = call ptr @s2n_strerror(i32 noundef %19017, ptr noundef @.str.4)
  %19019 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19020 = load i32, ptr %19019, align 4, !tbaa !5
  %19021 = call ptr @s2n_strerror_debug(i32 noundef %19020, ptr noundef @.str.4)
  %19022 = call ptr @__errno_location() #11
  %19023 = load i32, ptr %19022, align 4, !tbaa !5
  %19024 = call ptr @strerror(i32 noundef %19023) #10
  %19025 = call ptr @__errno_location() #11
  %19026 = load i32, ptr %19025, align 4, !tbaa !5
  %19027 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19014, ptr noundef @.str.5, i32 noundef %19015, ptr noundef @.str.95, ptr noundef @.str.1, i32 noundef 834, ptr noundef %19018, ptr noundef %19021, ptr noundef %19024, i32 noundef %19026) #10
  br label %19028

19028:                                            ; preds = %19011, %18994
  call void @llvm.lifetime.end.p0(i64 4, ptr %529) #10
  br label %19029

19029:                                            ; preds = %19028
  br label %19030

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

19031:                                            ; No predecessors!
  br label %19032

19032:                                            ; preds = %19031
  br label %19033

19033:                                            ; preds = %19032, %18973
  br label %19034

19034:                                            ; preds = %19033
  br label %19035

19035:                                            ; preds = %19034
  br label %19036

19036:                                            ; preds = %19035
  %19037 = load i32, ptr @test_count, align 4, !tbaa !5
  %19038 = add nsw i32 %19037, 1
  store i32 %19038, ptr @test_count, align 4, !tbaa !5
  %19039 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19040 = load i32, ptr %19039, align 4, !tbaa !5
  %19041 = icmp eq i32 %19040, 335544367
  br i1 %19041, label %19095, label %19042

19042:                                            ; preds = %19036
  br label %19043

19043:                                            ; preds = %19042
  br label %19044

19044:                                            ; preds = %19043
  call void @llvm.lifetime.start.p0(i64 4, ptr %530) #10
  %19045 = call ptr @__errno_location() #11
  %19046 = load i32, ptr %19045, align 4, !tbaa !5
  store i32 %19046, ptr %530, align 4, !tbaa !5
  %19047 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19048 = call i32 @s2n_print_stacktrace(ptr noundef %19047)
  %19049 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19050 = trunc i8 %19049 to i1
  br i1 %19050, label %19051, label %19073

19051:                                            ; preds = %19044
  %19052 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19053 = call i32 @fileno(ptr noundef %19052) #10
  %19054 = call i32 @isatty(i32 noundef %19053) #10
  %19055 = icmp ne i32 %19054, 0
  br i1 %19055, label %19056, label %19073

19056:                                            ; preds = %19051
  %19057 = load i32, ptr %530, align 4, !tbaa !5
  %19058 = call ptr @__errno_location() #11
  store i32 %19057, ptr %19058, align 4, !tbaa !5
  %19059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19060 = load i32, ptr @test_count, align 4, !tbaa !5
  %19061 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19062 = load i32, ptr %19061, align 4, !tbaa !5
  %19063 = call ptr @s2n_strerror(i32 noundef %19062, ptr noundef @.str.4)
  %19064 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19065 = load i32, ptr %19064, align 4, !tbaa !5
  %19066 = call ptr @s2n_strerror_debug(i32 noundef %19065, ptr noundef @.str.4)
  %19067 = call ptr @__errno_location() #11
  %19068 = load i32, ptr %19067, align 4, !tbaa !5
  %19069 = call ptr @strerror(i32 noundef %19068) #10
  %19070 = call ptr @__errno_location() #11
  %19071 = load i32, ptr %19070, align 4, !tbaa !5
  %19072 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19059, ptr noundef @.str.2, i32 noundef %19060, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 834, ptr noundef %19063, ptr noundef %19066, ptr noundef %19069, i32 noundef %19071) #10
  br label %19090

19073:                                            ; preds = %19051, %19044
  %19074 = load i32, ptr %530, align 4, !tbaa !5
  %19075 = call ptr @__errno_location() #11
  store i32 %19074, ptr %19075, align 4, !tbaa !5
  %19076 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19077 = load i32, ptr @test_count, align 4, !tbaa !5
  %19078 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19079 = load i32, ptr %19078, align 4, !tbaa !5
  %19080 = call ptr @s2n_strerror(i32 noundef %19079, ptr noundef @.str.4)
  %19081 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19082 = load i32, ptr %19081, align 4, !tbaa !5
  %19083 = call ptr @s2n_strerror_debug(i32 noundef %19082, ptr noundef @.str.4)
  %19084 = call ptr @__errno_location() #11
  %19085 = load i32, ptr %19084, align 4, !tbaa !5
  %19086 = call ptr @strerror(i32 noundef %19085) #10
  %19087 = call ptr @__errno_location() #11
  %19088 = load i32, ptr %19087, align 4, !tbaa !5
  %19089 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19076, ptr noundef @.str.5, i32 noundef %19077, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 834, ptr noundef %19080, ptr noundef %19083, ptr noundef %19086, i32 noundef %19088) #10
  br label %19090

19090:                                            ; preds = %19073, %19056
  call void @llvm.lifetime.end.p0(i64 4, ptr %530) #10
  br label %19091

19091:                                            ; preds = %19090
  br label %19092

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

19093:                                            ; No predecessors!
  br label %19094

19094:                                            ; preds = %19093
  br label %19095

19095:                                            ; preds = %19094, %19036
  br label %19096

19096:                                            ; preds = %19095
  br label %19097

19097:                                            ; preds = %19096
  br label %19098

19098:                                            ; preds = %19097
  %19099 = load i32, ptr @test_count, align 4, !tbaa !5
  %19100 = add nsw i32 %19099, 1
  store i32 %19100, ptr @test_count, align 4, !tbaa !5
  %19101 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19102 = load i32, ptr %19101, align 4, !tbaa !5
  %19103 = call ptr @s2n_strerror_debug(i32 noundef %19102, ptr noundef @.str.4)
  %19104 = icmp eq ptr %19103, null
  br i1 %19104, label %19105, label %19158

19105:                                            ; preds = %19098
  br label %19106

19106:                                            ; preds = %19105
  br label %19107

19107:                                            ; preds = %19106
  call void @llvm.lifetime.start.p0(i64 4, ptr %531) #10
  %19108 = call ptr @__errno_location() #11
  %19109 = load i32, ptr %19108, align 4, !tbaa !5
  store i32 %19109, ptr %531, align 4, !tbaa !5
  %19110 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19111 = call i32 @s2n_print_stacktrace(ptr noundef %19110)
  %19112 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19113 = trunc i8 %19112 to i1
  br i1 %19113, label %19114, label %19136

19114:                                            ; preds = %19107
  %19115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19116 = call i32 @fileno(ptr noundef %19115) #10
  %19117 = call i32 @isatty(i32 noundef %19116) #10
  %19118 = icmp ne i32 %19117, 0
  br i1 %19118, label %19119, label %19136

19119:                                            ; preds = %19114
  %19120 = load i32, ptr %531, align 4, !tbaa !5
  %19121 = call ptr @__errno_location() #11
  store i32 %19120, ptr %19121, align 4, !tbaa !5
  %19122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19123 = load i32, ptr @test_count, align 4, !tbaa !5
  %19124 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19125 = load i32, ptr %19124, align 4, !tbaa !5
  %19126 = call ptr @s2n_strerror(i32 noundef %19125, ptr noundef @.str.4)
  %19127 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19128 = load i32, ptr %19127, align 4, !tbaa !5
  %19129 = call ptr @s2n_strerror_debug(i32 noundef %19128, ptr noundef @.str.4)
  %19130 = call ptr @__errno_location() #11
  %19131 = load i32, ptr %19130, align 4, !tbaa !5
  %19132 = call ptr @strerror(i32 noundef %19131) #10
  %19133 = call ptr @__errno_location() #11
  %19134 = load i32, ptr %19133, align 4, !tbaa !5
  %19135 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19122, ptr noundef @.str.2, i32 noundef %19123, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 834, ptr noundef %19126, ptr noundef %19129, ptr noundef %19132, i32 noundef %19134) #10
  br label %19153

19136:                                            ; preds = %19114, %19107
  %19137 = load i32, ptr %531, align 4, !tbaa !5
  %19138 = call ptr @__errno_location() #11
  store i32 %19137, ptr %19138, align 4, !tbaa !5
  %19139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19140 = load i32, ptr @test_count, align 4, !tbaa !5
  %19141 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19142 = load i32, ptr %19141, align 4, !tbaa !5
  %19143 = call ptr @s2n_strerror(i32 noundef %19142, ptr noundef @.str.4)
  %19144 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19145 = load i32, ptr %19144, align 4, !tbaa !5
  %19146 = call ptr @s2n_strerror_debug(i32 noundef %19145, ptr noundef @.str.4)
  %19147 = call ptr @__errno_location() #11
  %19148 = load i32, ptr %19147, align 4, !tbaa !5
  %19149 = call ptr @strerror(i32 noundef %19148) #10
  %19150 = call ptr @__errno_location() #11
  %19151 = load i32, ptr %19150, align 4, !tbaa !5
  %19152 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19139, ptr noundef @.str.5, i32 noundef %19140, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 834, ptr noundef %19143, ptr noundef %19146, ptr noundef %19149, i32 noundef %19151) #10
  br label %19153

19153:                                            ; preds = %19136, %19119
  call void @llvm.lifetime.end.p0(i64 4, ptr %531) #10
  br label %19154

19154:                                            ; preds = %19153
  br label %19155

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

19156:                                            ; No predecessors!
  br label %19157

19157:                                            ; preds = %19156
  br label %19158

19158:                                            ; preds = %19157, %19098
  br label %19159

19159:                                            ; preds = %19158
  br label %19160

19160:                                            ; preds = %19159
  br label %19161

19161:                                            ; preds = %19160
  br label %19162

19162:                                            ; preds = %19161
  br label %19163

19163:                                            ; preds = %19162
  %19164 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %19164, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %19165 = call ptr @__errno_location() #11
  store i32 0, ptr %19165, align 4, !tbaa !5
  br label %19166

19166:                                            ; preds = %19163
  br label %19167

19167:                                            ; preds = %19166
  br label %19168

19168:                                            ; preds = %19167
  br label %19169

19169:                                            ; preds = %19168
  br label %19170

19170:                                            ; preds = %19169
  %19171 = load i32, ptr @test_count, align 4, !tbaa !5
  %19172 = add nsw i32 %19171, 1
  store i32 %19172, ptr @test_count, align 4, !tbaa !5
  %19173 = getelementptr inbounds %struct.crl_lookup_data, ptr %513, i32 0, i32 2
  %19174 = load i8, ptr %19173, align 8, !tbaa !27
  %19175 = zext i8 %19174 to i32
  %19176 = icmp eq i32 %19175, 2
  br i1 %19176, label %19230, label %19177

19177:                                            ; preds = %19170
  br label %19178

19178:                                            ; preds = %19177
  br label %19179

19179:                                            ; preds = %19178
  call void @llvm.lifetime.start.p0(i64 4, ptr %532) #10
  %19180 = call ptr @__errno_location() #11
  %19181 = load i32, ptr %19180, align 4, !tbaa !5
  store i32 %19181, ptr %532, align 4, !tbaa !5
  %19182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19183 = call i32 @s2n_print_stacktrace(ptr noundef %19182)
  %19184 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19185 = trunc i8 %19184 to i1
  br i1 %19185, label %19186, label %19208

19186:                                            ; preds = %19179
  %19187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19188 = call i32 @fileno(ptr noundef %19187) #10
  %19189 = call i32 @isatty(i32 noundef %19188) #10
  %19190 = icmp ne i32 %19189, 0
  br i1 %19190, label %19191, label %19208

19191:                                            ; preds = %19186
  %19192 = load i32, ptr %532, align 4, !tbaa !5
  %19193 = call ptr @__errno_location() #11
  store i32 %19192, ptr %19193, align 4, !tbaa !5
  %19194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19195 = load i32, ptr @test_count, align 4, !tbaa !5
  %19196 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19197 = load i32, ptr %19196, align 4, !tbaa !5
  %19198 = call ptr @s2n_strerror(i32 noundef %19197, ptr noundef @.str.4)
  %19199 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19200 = load i32, ptr %19199, align 4, !tbaa !5
  %19201 = call ptr @s2n_strerror_debug(i32 noundef %19200, ptr noundef @.str.4)
  %19202 = call ptr @__errno_location() #11
  %19203 = load i32, ptr %19202, align 4, !tbaa !5
  %19204 = call ptr @strerror(i32 noundef %19203) #10
  %19205 = call ptr @__errno_location() #11
  %19206 = load i32, ptr %19205, align 4, !tbaa !5
  %19207 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19194, ptr noundef @.str.2, i32 noundef %19195, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 836, ptr noundef %19198, ptr noundef %19201, ptr noundef %19204, i32 noundef %19206) #10
  br label %19225

19208:                                            ; preds = %19186, %19179
  %19209 = load i32, ptr %532, align 4, !tbaa !5
  %19210 = call ptr @__errno_location() #11
  store i32 %19209, ptr %19210, align 4, !tbaa !5
  %19211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19212 = load i32, ptr @test_count, align 4, !tbaa !5
  %19213 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19214 = load i32, ptr %19213, align 4, !tbaa !5
  %19215 = call ptr @s2n_strerror(i32 noundef %19214, ptr noundef @.str.4)
  %19216 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19217 = load i32, ptr %19216, align 4, !tbaa !5
  %19218 = call ptr @s2n_strerror_debug(i32 noundef %19217, ptr noundef @.str.4)
  %19219 = call ptr @__errno_location() #11
  %19220 = load i32, ptr %19219, align 4, !tbaa !5
  %19221 = call ptr @strerror(i32 noundef %19220) #10
  %19222 = call ptr @__errno_location() #11
  %19223 = load i32, ptr %19222, align 4, !tbaa !5
  %19224 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19211, ptr noundef @.str.5, i32 noundef %19212, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 836, ptr noundef %19215, ptr noundef %19218, ptr noundef %19221, i32 noundef %19223) #10
  br label %19225

19225:                                            ; preds = %19208, %19191
  call void @llvm.lifetime.end.p0(i64 4, ptr %532) #10
  br label %19226

19226:                                            ; preds = %19225
  br label %19227

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

19228:                                            ; No predecessors!
  br label %19229

19229:                                            ; preds = %19228
  br label %19230

19230:                                            ; preds = %19229, %19170
  br label %19231

19231:                                            ; preds = %19230
  br label %19232

19232:                                            ; preds = %19231
  %19233 = call i32 @s2n_io_pair_close(ptr noundef %525)
  call void @llvm.lifetime.end.p0(i64 8, ptr %525) #10
  %19234 = call i32 @s2n_connection_ptr_free(ptr noundef %520)
  %19235 = getelementptr inbounds %struct.s2n_result, ptr %533, i32 0, i32 0
  store i32 %19234, ptr %19235, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %520) #10
  %19236 = call i32 @s2n_connection_ptr_free(ptr noundef %515)
  %19237 = getelementptr inbounds %struct.s2n_result, ptr %534, i32 0, i32 0
  store i32 %19236, ptr %19237, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %515) #10
  call void @llvm.lifetime.end.p0(i64 88, ptr %513) #10
  %19238 = call i32 @s2n_config_ptr_free(ptr noundef %507)
  %19239 = getelementptr inbounds %struct.s2n_result, ptr %535, i32 0, i32 0
  store i32 %19238, ptr %19239, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %507) #10
  %19240 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef %505)
  %19241 = getelementptr inbounds %struct.s2n_result, ptr %536, i32 0, i32 0
  store i32 %19240, ptr %19241, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %505) #10
  %19242 = call i32 @s2n_config_ptr_free(ptr noundef %499)
  %19243 = getelementptr inbounds %struct.s2n_result, ptr %537, i32 0, i32 0
  store i32 %19242, ptr %19243, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %499) #10
  %19244 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef %497)
  %19245 = getelementptr inbounds %struct.s2n_result, ptr %538, i32 0, i32 0
  store i32 %19244, ptr %19245, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %497) #10
  call void @llvm.lifetime.start.p0(i64 32, ptr %539) #10
  call void @llvm.memset.p0.i64(ptr align 8 %539, i8 0, i64 32, i1 false)
  %19246 = getelementptr inbounds %struct.s2n_crl_lookup, ptr %539, i32 0, i32 0
  store i32 0, ptr %19246, align 8, !tbaa !39
  br label %19247

19247:                                            ; preds = %19232
  %19248 = load i32, ptr @test_count, align 4, !tbaa !5
  %19249 = add nsw i32 %19248, 1
  store i32 %19249, ptr @test_count, align 4, !tbaa !5
  %19250 = load ptr, ptr %43, align 8, !tbaa !9
  %19251 = call i32 @s2n_crl_lookup_set(ptr noundef %539, ptr noundef %19250)
  %19252 = icmp eq i32 %19251, -1
  br i1 %19252, label %19253, label %19306

19253:                                            ; preds = %19247
  br label %19254

19254:                                            ; preds = %19253
  br label %19255

19255:                                            ; preds = %19254
  call void @llvm.lifetime.start.p0(i64 4, ptr %540) #10
  %19256 = call ptr @__errno_location() #11
  %19257 = load i32, ptr %19256, align 4, !tbaa !5
  store i32 %19257, ptr %540, align 4, !tbaa !5
  %19258 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19259 = call i32 @s2n_print_stacktrace(ptr noundef %19258)
  %19260 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19261 = trunc i8 %19260 to i1
  br i1 %19261, label %19262, label %19284

19262:                                            ; preds = %19255
  %19263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19264 = call i32 @fileno(ptr noundef %19263) #10
  %19265 = call i32 @isatty(i32 noundef %19264) #10
  %19266 = icmp ne i32 %19265, 0
  br i1 %19266, label %19267, label %19284

19267:                                            ; preds = %19262
  %19268 = load i32, ptr %540, align 4, !tbaa !5
  %19269 = call ptr @__errno_location() #11
  store i32 %19268, ptr %19269, align 4, !tbaa !5
  %19270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19271 = load i32, ptr @test_count, align 4, !tbaa !5
  %19272 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19273 = load i32, ptr %19272, align 4, !tbaa !5
  %19274 = call ptr @s2n_strerror(i32 noundef %19273, ptr noundef @.str.4)
  %19275 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19276 = load i32, ptr %19275, align 4, !tbaa !5
  %19277 = call ptr @s2n_strerror_debug(i32 noundef %19276, ptr noundef @.str.4)
  %19278 = call ptr @__errno_location() #11
  %19279 = load i32, ptr %19278, align 4, !tbaa !5
  %19280 = call ptr @strerror(i32 noundef %19279) #10
  %19281 = call ptr @__errno_location() #11
  %19282 = load i32, ptr %19281, align 4, !tbaa !5
  %19283 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19270, ptr noundef @.str.2, i32 noundef %19271, ptr noundef @.str.115, ptr noundef @.str.1, i32 noundef 844, ptr noundef %19274, ptr noundef %19277, ptr noundef %19280, i32 noundef %19282) #10
  br label %19301

19284:                                            ; preds = %19262, %19255
  %19285 = load i32, ptr %540, align 4, !tbaa !5
  %19286 = call ptr @__errno_location() #11
  store i32 %19285, ptr %19286, align 4, !tbaa !5
  %19287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19288 = load i32, ptr @test_count, align 4, !tbaa !5
  %19289 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19290 = load i32, ptr %19289, align 4, !tbaa !5
  %19291 = call ptr @s2n_strerror(i32 noundef %19290, ptr noundef @.str.4)
  %19292 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19293 = load i32, ptr %19292, align 4, !tbaa !5
  %19294 = call ptr @s2n_strerror_debug(i32 noundef %19293, ptr noundef @.str.4)
  %19295 = call ptr @__errno_location() #11
  %19296 = load i32, ptr %19295, align 4, !tbaa !5
  %19297 = call ptr @strerror(i32 noundef %19296) #10
  %19298 = call ptr @__errno_location() #11
  %19299 = load i32, ptr %19298, align 4, !tbaa !5
  %19300 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19287, ptr noundef @.str.5, i32 noundef %19288, ptr noundef @.str.115, ptr noundef @.str.1, i32 noundef 844, ptr noundef %19291, ptr noundef %19294, ptr noundef %19297, i32 noundef %19299) #10
  br label %19301

19301:                                            ; preds = %19284, %19267
  call void @llvm.lifetime.end.p0(i64 4, ptr %540) #10
  br label %19302

19302:                                            ; preds = %19301
  br label %19303

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

19304:                                            ; No predecessors!
  br label %19305

19305:                                            ; preds = %19304
  br label %19306

19306:                                            ; preds = %19305, %19247
  br label %19307

19307:                                            ; preds = %19306
  br label %19308

19308:                                            ; preds = %19307
  br label %19309

19309:                                            ; preds = %19308
  %19310 = load i32, ptr @test_count, align 4, !tbaa !5
  %19311 = add nsw i32 %19310, 1
  store i32 %19311, ptr @test_count, align 4, !tbaa !5
  %19312 = getelementptr inbounds %struct.s2n_crl_lookup, ptr %539, i32 0, i32 0
  %19313 = load i32, ptr %19312, align 8, !tbaa !39
  %19314 = icmp eq i32 %19313, 1
  br i1 %19314, label %19368, label %19315

19315:                                            ; preds = %19309
  br label %19316

19316:                                            ; preds = %19315
  br label %19317

19317:                                            ; preds = %19316
  call void @llvm.lifetime.start.p0(i64 4, ptr %541) #10
  %19318 = call ptr @__errno_location() #11
  %19319 = load i32, ptr %19318, align 4, !tbaa !5
  store i32 %19319, ptr %541, align 4, !tbaa !5
  %19320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19321 = call i32 @s2n_print_stacktrace(ptr noundef %19320)
  %19322 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19323 = trunc i8 %19322 to i1
  br i1 %19323, label %19324, label %19346

19324:                                            ; preds = %19317
  %19325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19326 = call i32 @fileno(ptr noundef %19325) #10
  %19327 = call i32 @isatty(i32 noundef %19326) #10
  %19328 = icmp ne i32 %19327, 0
  br i1 %19328, label %19329, label %19346

19329:                                            ; preds = %19324
  %19330 = load i32, ptr %541, align 4, !tbaa !5
  %19331 = call ptr @__errno_location() #11
  store i32 %19330, ptr %19331, align 4, !tbaa !5
  %19332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19333 = load i32, ptr @test_count, align 4, !tbaa !5
  %19334 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19335 = load i32, ptr %19334, align 4, !tbaa !5
  %19336 = call ptr @s2n_strerror(i32 noundef %19335, ptr noundef @.str.4)
  %19337 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19338 = load i32, ptr %19337, align 4, !tbaa !5
  %19339 = call ptr @s2n_strerror_debug(i32 noundef %19338, ptr noundef @.str.4)
  %19340 = call ptr @__errno_location() #11
  %19341 = load i32, ptr %19340, align 4, !tbaa !5
  %19342 = call ptr @strerror(i32 noundef %19341) #10
  %19343 = call ptr @__errno_location() #11
  %19344 = load i32, ptr %19343, align 4, !tbaa !5
  %19345 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19332, ptr noundef @.str.2, i32 noundef %19333, ptr noundef @.str.116, ptr noundef @.str.1, i32 noundef 845, ptr noundef %19336, ptr noundef %19339, ptr noundef %19342, i32 noundef %19344) #10
  br label %19363

19346:                                            ; preds = %19324, %19317
  %19347 = load i32, ptr %541, align 4, !tbaa !5
  %19348 = call ptr @__errno_location() #11
  store i32 %19347, ptr %19348, align 4, !tbaa !5
  %19349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19350 = load i32, ptr @test_count, align 4, !tbaa !5
  %19351 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19352 = load i32, ptr %19351, align 4, !tbaa !5
  %19353 = call ptr @s2n_strerror(i32 noundef %19352, ptr noundef @.str.4)
  %19354 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19355 = load i32, ptr %19354, align 4, !tbaa !5
  %19356 = call ptr @s2n_strerror_debug(i32 noundef %19355, ptr noundef @.str.4)
  %19357 = call ptr @__errno_location() #11
  %19358 = load i32, ptr %19357, align 4, !tbaa !5
  %19359 = call ptr @strerror(i32 noundef %19358) #10
  %19360 = call ptr @__errno_location() #11
  %19361 = load i32, ptr %19360, align 4, !tbaa !5
  %19362 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19349, ptr noundef @.str.5, i32 noundef %19350, ptr noundef @.str.116, ptr noundef @.str.1, i32 noundef 845, ptr noundef %19353, ptr noundef %19356, ptr noundef %19359, i32 noundef %19361) #10
  br label %19363

19363:                                            ; preds = %19346, %19329
  call void @llvm.lifetime.end.p0(i64 4, ptr %541) #10
  br label %19364

19364:                                            ; preds = %19363
  br label %19365

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

19366:                                            ; No predecessors!
  br label %19367

19367:                                            ; preds = %19366
  br label %19368

19368:                                            ; preds = %19367, %19309
  br label %19369

19369:                                            ; preds = %19368
  br label %19370

19370:                                            ; preds = %19369
  br label %19371

19371:                                            ; preds = %19370
  %19372 = load i32, ptr @test_count, align 4, !tbaa !5
  %19373 = add nsw i32 %19372, 1
  store i32 %19373, ptr @test_count, align 4, !tbaa !5
  %19374 = getelementptr inbounds %struct.s2n_crl_lookup, ptr %539, i32 0, i32 3
  %19375 = load ptr, ptr %19374, align 8, !tbaa !41
  %19376 = icmp eq ptr %19375, null
  br i1 %19376, label %19377, label %19430

19377:                                            ; preds = %19371
  br label %19378

19378:                                            ; preds = %19377
  br label %19379

19379:                                            ; preds = %19378
  call void @llvm.lifetime.start.p0(i64 4, ptr %542) #10
  %19380 = call ptr @__errno_location() #11
  %19381 = load i32, ptr %19380, align 4, !tbaa !5
  store i32 %19381, ptr %542, align 4, !tbaa !5
  %19382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19383 = call i32 @s2n_print_stacktrace(ptr noundef %19382)
  %19384 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19385 = trunc i8 %19384 to i1
  br i1 %19385, label %19386, label %19408

19386:                                            ; preds = %19379
  %19387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19388 = call i32 @fileno(ptr noundef %19387) #10
  %19389 = call i32 @isatty(i32 noundef %19388) #10
  %19390 = icmp ne i32 %19389, 0
  br i1 %19390, label %19391, label %19408

19391:                                            ; preds = %19386
  %19392 = load i32, ptr %542, align 4, !tbaa !5
  %19393 = call ptr @__errno_location() #11
  store i32 %19392, ptr %19393, align 4, !tbaa !5
  %19394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19395 = load i32, ptr @test_count, align 4, !tbaa !5
  %19396 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19397 = load i32, ptr %19396, align 4, !tbaa !5
  %19398 = call ptr @s2n_strerror(i32 noundef %19397, ptr noundef @.str.4)
  %19399 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19400 = load i32, ptr %19399, align 4, !tbaa !5
  %19401 = call ptr @s2n_strerror_debug(i32 noundef %19400, ptr noundef @.str.4)
  %19402 = call ptr @__errno_location() #11
  %19403 = load i32, ptr %19402, align 4, !tbaa !5
  %19404 = call ptr @strerror(i32 noundef %19403) #10
  %19405 = call ptr @__errno_location() #11
  %19406 = load i32, ptr %19405, align 4, !tbaa !5
  %19407 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19394, ptr noundef @.str.2, i32 noundef %19395, ptr noundef @.str.117, ptr noundef @.str.1, i32 noundef 846, ptr noundef %19398, ptr noundef %19401, ptr noundef %19404, i32 noundef %19406) #10
  br label %19425

19408:                                            ; preds = %19386, %19379
  %19409 = load i32, ptr %542, align 4, !tbaa !5
  %19410 = call ptr @__errno_location() #11
  store i32 %19409, ptr %19410, align 4, !tbaa !5
  %19411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19412 = load i32, ptr @test_count, align 4, !tbaa !5
  %19413 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19414 = load i32, ptr %19413, align 4, !tbaa !5
  %19415 = call ptr @s2n_strerror(i32 noundef %19414, ptr noundef @.str.4)
  %19416 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19417 = load i32, ptr %19416, align 4, !tbaa !5
  %19418 = call ptr @s2n_strerror_debug(i32 noundef %19417, ptr noundef @.str.4)
  %19419 = call ptr @__errno_location() #11
  %19420 = load i32, ptr %19419, align 4, !tbaa !5
  %19421 = call ptr @strerror(i32 noundef %19420) #10
  %19422 = call ptr @__errno_location() #11
  %19423 = load i32, ptr %19422, align 4, !tbaa !5
  %19424 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19411, ptr noundef @.str.5, i32 noundef %19412, ptr noundef @.str.117, ptr noundef @.str.1, i32 noundef 846, ptr noundef %19415, ptr noundef %19418, ptr noundef %19421, i32 noundef %19423) #10
  br label %19425

19425:                                            ; preds = %19408, %19391
  call void @llvm.lifetime.end.p0(i64 4, ptr %542) #10
  br label %19426

19426:                                            ; preds = %19425
  br label %19427

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

19428:                                            ; No predecessors!
  br label %19429

19429:                                            ; preds = %19428
  br label %19430

19430:                                            ; preds = %19429, %19371
  br label %19431

19431:                                            ; preds = %19430
  br label %19432

19432:                                            ; preds = %19431
  %19433 = getelementptr inbounds %struct.s2n_crl_lookup, ptr %539, i32 0, i32 0
  store i32 0, ptr %19433, align 8, !tbaa !39
  br label %19434

19434:                                            ; preds = %19432
  %19435 = load i32, ptr @test_count, align 4, !tbaa !5
  %19436 = add nsw i32 %19435, 1
  store i32 %19436, ptr @test_count, align 4, !tbaa !5
  %19437 = call i32 @s2n_crl_lookup_ignore(ptr noundef %539)
  %19438 = icmp eq i32 %19437, -1
  br i1 %19438, label %19439, label %19492

19439:                                            ; preds = %19434
  br label %19440

19440:                                            ; preds = %19439
  br label %19441

19441:                                            ; preds = %19440
  call void @llvm.lifetime.start.p0(i64 4, ptr %543) #10
  %19442 = call ptr @__errno_location() #11
  %19443 = load i32, ptr %19442, align 4, !tbaa !5
  store i32 %19443, ptr %543, align 4, !tbaa !5
  %19444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19445 = call i32 @s2n_print_stacktrace(ptr noundef %19444)
  %19446 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19447 = trunc i8 %19446 to i1
  br i1 %19447, label %19448, label %19470

19448:                                            ; preds = %19441
  %19449 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19450 = call i32 @fileno(ptr noundef %19449) #10
  %19451 = call i32 @isatty(i32 noundef %19450) #10
  %19452 = icmp ne i32 %19451, 0
  br i1 %19452, label %19453, label %19470

19453:                                            ; preds = %19448
  %19454 = load i32, ptr %543, align 4, !tbaa !5
  %19455 = call ptr @__errno_location() #11
  store i32 %19454, ptr %19455, align 4, !tbaa !5
  %19456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19457 = load i32, ptr @test_count, align 4, !tbaa !5
  %19458 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19459 = load i32, ptr %19458, align 4, !tbaa !5
  %19460 = call ptr @s2n_strerror(i32 noundef %19459, ptr noundef @.str.4)
  %19461 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19462 = load i32, ptr %19461, align 4, !tbaa !5
  %19463 = call ptr @s2n_strerror_debug(i32 noundef %19462, ptr noundef @.str.4)
  %19464 = call ptr @__errno_location() #11
  %19465 = load i32, ptr %19464, align 4, !tbaa !5
  %19466 = call ptr @strerror(i32 noundef %19465) #10
  %19467 = call ptr @__errno_location() #11
  %19468 = load i32, ptr %19467, align 4, !tbaa !5
  %19469 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19456, ptr noundef @.str.2, i32 noundef %19457, ptr noundef @.str.118, ptr noundef @.str.1, i32 noundef 849, ptr noundef %19460, ptr noundef %19463, ptr noundef %19466, i32 noundef %19468) #10
  br label %19487

19470:                                            ; preds = %19448, %19441
  %19471 = load i32, ptr %543, align 4, !tbaa !5
  %19472 = call ptr @__errno_location() #11
  store i32 %19471, ptr %19472, align 4, !tbaa !5
  %19473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19474 = load i32, ptr @test_count, align 4, !tbaa !5
  %19475 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19476 = load i32, ptr %19475, align 4, !tbaa !5
  %19477 = call ptr @s2n_strerror(i32 noundef %19476, ptr noundef @.str.4)
  %19478 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19479 = load i32, ptr %19478, align 4, !tbaa !5
  %19480 = call ptr @s2n_strerror_debug(i32 noundef %19479, ptr noundef @.str.4)
  %19481 = call ptr @__errno_location() #11
  %19482 = load i32, ptr %19481, align 4, !tbaa !5
  %19483 = call ptr @strerror(i32 noundef %19482) #10
  %19484 = call ptr @__errno_location() #11
  %19485 = load i32, ptr %19484, align 4, !tbaa !5
  %19486 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19473, ptr noundef @.str.5, i32 noundef %19474, ptr noundef @.str.118, ptr noundef @.str.1, i32 noundef 849, ptr noundef %19477, ptr noundef %19480, ptr noundef %19483, i32 noundef %19485) #10
  br label %19487

19487:                                            ; preds = %19470, %19453
  call void @llvm.lifetime.end.p0(i64 4, ptr %543) #10
  br label %19488

19488:                                            ; preds = %19487
  br label %19489

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

19490:                                            ; No predecessors!
  br label %19491

19491:                                            ; preds = %19490
  br label %19492

19492:                                            ; preds = %19491, %19434
  br label %19493

19493:                                            ; preds = %19492
  br label %19494

19494:                                            ; preds = %19493
  br label %19495

19495:                                            ; preds = %19494
  %19496 = load i32, ptr @test_count, align 4, !tbaa !5
  %19497 = add nsw i32 %19496, 1
  store i32 %19497, ptr @test_count, align 4, !tbaa !5
  %19498 = getelementptr inbounds %struct.s2n_crl_lookup, ptr %539, i32 0, i32 0
  %19499 = load i32, ptr %19498, align 8, !tbaa !39
  %19500 = icmp eq i32 %19499, 1
  br i1 %19500, label %19554, label %19501

19501:                                            ; preds = %19495
  br label %19502

19502:                                            ; preds = %19501
  br label %19503

19503:                                            ; preds = %19502
  call void @llvm.lifetime.start.p0(i64 4, ptr %544) #10
  %19504 = call ptr @__errno_location() #11
  %19505 = load i32, ptr %19504, align 4, !tbaa !5
  store i32 %19505, ptr %544, align 4, !tbaa !5
  %19506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19507 = call i32 @s2n_print_stacktrace(ptr noundef %19506)
  %19508 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19509 = trunc i8 %19508 to i1
  br i1 %19509, label %19510, label %19532

19510:                                            ; preds = %19503
  %19511 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19512 = call i32 @fileno(ptr noundef %19511) #10
  %19513 = call i32 @isatty(i32 noundef %19512) #10
  %19514 = icmp ne i32 %19513, 0
  br i1 %19514, label %19515, label %19532

19515:                                            ; preds = %19510
  %19516 = load i32, ptr %544, align 4, !tbaa !5
  %19517 = call ptr @__errno_location() #11
  store i32 %19516, ptr %19517, align 4, !tbaa !5
  %19518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19519 = load i32, ptr @test_count, align 4, !tbaa !5
  %19520 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19521 = load i32, ptr %19520, align 4, !tbaa !5
  %19522 = call ptr @s2n_strerror(i32 noundef %19521, ptr noundef @.str.4)
  %19523 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19524 = load i32, ptr %19523, align 4, !tbaa !5
  %19525 = call ptr @s2n_strerror_debug(i32 noundef %19524, ptr noundef @.str.4)
  %19526 = call ptr @__errno_location() #11
  %19527 = load i32, ptr %19526, align 4, !tbaa !5
  %19528 = call ptr @strerror(i32 noundef %19527) #10
  %19529 = call ptr @__errno_location() #11
  %19530 = load i32, ptr %19529, align 4, !tbaa !5
  %19531 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19518, ptr noundef @.str.2, i32 noundef %19519, ptr noundef @.str.116, ptr noundef @.str.1, i32 noundef 850, ptr noundef %19522, ptr noundef %19525, ptr noundef %19528, i32 noundef %19530) #10
  br label %19549

19532:                                            ; preds = %19510, %19503
  %19533 = load i32, ptr %544, align 4, !tbaa !5
  %19534 = call ptr @__errno_location() #11
  store i32 %19533, ptr %19534, align 4, !tbaa !5
  %19535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19536 = load i32, ptr @test_count, align 4, !tbaa !5
  %19537 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19538 = load i32, ptr %19537, align 4, !tbaa !5
  %19539 = call ptr @s2n_strerror(i32 noundef %19538, ptr noundef @.str.4)
  %19540 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19541 = load i32, ptr %19540, align 4, !tbaa !5
  %19542 = call ptr @s2n_strerror_debug(i32 noundef %19541, ptr noundef @.str.4)
  %19543 = call ptr @__errno_location() #11
  %19544 = load i32, ptr %19543, align 4, !tbaa !5
  %19545 = call ptr @strerror(i32 noundef %19544) #10
  %19546 = call ptr @__errno_location() #11
  %19547 = load i32, ptr %19546, align 4, !tbaa !5
  %19548 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19535, ptr noundef @.str.5, i32 noundef %19536, ptr noundef @.str.116, ptr noundef @.str.1, i32 noundef 850, ptr noundef %19539, ptr noundef %19542, ptr noundef %19545, i32 noundef %19547) #10
  br label %19549

19549:                                            ; preds = %19532, %19515
  call void @llvm.lifetime.end.p0(i64 4, ptr %544) #10
  br label %19550

19550:                                            ; preds = %19549
  br label %19551

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

19552:                                            ; No predecessors!
  br label %19553

19553:                                            ; preds = %19552
  br label %19554

19554:                                            ; preds = %19553, %19495
  br label %19555

19555:                                            ; preds = %19554
  br label %19556

19556:                                            ; preds = %19555
  br label %19557

19557:                                            ; preds = %19556
  %19558 = load i32, ptr @test_count, align 4, !tbaa !5
  %19559 = add nsw i32 %19558, 1
  store i32 %19559, ptr @test_count, align 4, !tbaa !5
  %19560 = getelementptr inbounds %struct.s2n_crl_lookup, ptr %539, i32 0, i32 3
  %19561 = load ptr, ptr %19560, align 8, !tbaa !41
  %19562 = icmp eq ptr %19561, null
  br i1 %19562, label %19616, label %19563

19563:                                            ; preds = %19557
  br label %19564

19564:                                            ; preds = %19563
  br label %19565

19565:                                            ; preds = %19564
  call void @llvm.lifetime.start.p0(i64 4, ptr %545) #10
  %19566 = call ptr @__errno_location() #11
  %19567 = load i32, ptr %19566, align 4, !tbaa !5
  store i32 %19567, ptr %545, align 4, !tbaa !5
  %19568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19569 = call i32 @s2n_print_stacktrace(ptr noundef %19568)
  %19570 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19571 = trunc i8 %19570 to i1
  br i1 %19571, label %19572, label %19594

19572:                                            ; preds = %19565
  %19573 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19574 = call i32 @fileno(ptr noundef %19573) #10
  %19575 = call i32 @isatty(i32 noundef %19574) #10
  %19576 = icmp ne i32 %19575, 0
  br i1 %19576, label %19577, label %19594

19577:                                            ; preds = %19572
  %19578 = load i32, ptr %545, align 4, !tbaa !5
  %19579 = call ptr @__errno_location() #11
  store i32 %19578, ptr %19579, align 4, !tbaa !5
  %19580 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19581 = load i32, ptr @test_count, align 4, !tbaa !5
  %19582 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19583 = load i32, ptr %19582, align 4, !tbaa !5
  %19584 = call ptr @s2n_strerror(i32 noundef %19583, ptr noundef @.str.4)
  %19585 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19586 = load i32, ptr %19585, align 4, !tbaa !5
  %19587 = call ptr @s2n_strerror_debug(i32 noundef %19586, ptr noundef @.str.4)
  %19588 = call ptr @__errno_location() #11
  %19589 = load i32, ptr %19588, align 4, !tbaa !5
  %19590 = call ptr @strerror(i32 noundef %19589) #10
  %19591 = call ptr @__errno_location() #11
  %19592 = load i32, ptr %19591, align 4, !tbaa !5
  %19593 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19580, ptr noundef @.str.2, i32 noundef %19581, ptr noundef @.str.119, ptr noundef @.str.1, i32 noundef 851, ptr noundef %19584, ptr noundef %19587, ptr noundef %19590, i32 noundef %19592) #10
  br label %19611

19594:                                            ; preds = %19572, %19565
  %19595 = load i32, ptr %545, align 4, !tbaa !5
  %19596 = call ptr @__errno_location() #11
  store i32 %19595, ptr %19596, align 4, !tbaa !5
  %19597 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19598 = load i32, ptr @test_count, align 4, !tbaa !5
  %19599 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19600 = load i32, ptr %19599, align 4, !tbaa !5
  %19601 = call ptr @s2n_strerror(i32 noundef %19600, ptr noundef @.str.4)
  %19602 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19603 = load i32, ptr %19602, align 4, !tbaa !5
  %19604 = call ptr @s2n_strerror_debug(i32 noundef %19603, ptr noundef @.str.4)
  %19605 = call ptr @__errno_location() #11
  %19606 = load i32, ptr %19605, align 4, !tbaa !5
  %19607 = call ptr @strerror(i32 noundef %19606) #10
  %19608 = call ptr @__errno_location() #11
  %19609 = load i32, ptr %19608, align 4, !tbaa !5
  %19610 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19597, ptr noundef @.str.5, i32 noundef %19598, ptr noundef @.str.119, ptr noundef @.str.1, i32 noundef 851, ptr noundef %19601, ptr noundef %19604, ptr noundef %19607, i32 noundef %19609) #10
  br label %19611

19611:                                            ; preds = %19594, %19577
  call void @llvm.lifetime.end.p0(i64 4, ptr %545) #10
  br label %19612

19612:                                            ; preds = %19611
  br label %19613

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

19614:                                            ; No predecessors!
  br label %19615

19615:                                            ; preds = %19614
  br label %19616

19616:                                            ; preds = %19615, %19557
  br label %19617

19617:                                            ; preds = %19616
  br label %19618

19618:                                            ; preds = %19617
  call void @llvm.lifetime.end.p0(i64 32, ptr %539) #10
  call void @llvm.lifetime.start.p0(i64 32, ptr %546) #10
  call void @llvm.memset.p0.i64(ptr align 8 %546, i8 0, i64 32, i1 false)
  br label %19619

19619:                                            ; preds = %19618
  %19620 = load i32, ptr @test_count, align 4, !tbaa !5
  %19621 = add nsw i32 %19620, 1
  store i32 %19621, ptr @test_count, align 4, !tbaa !5
  %19622 = getelementptr inbounds %struct.crl_lookup_data, ptr %53, i32 0, i32 1
  %19623 = getelementptr inbounds [5 x ptr], ptr %19622, i64 0, i64 0
  %19624 = load ptr, ptr %19623, align 8, !tbaa !9
  %19625 = icmp eq ptr %19624, null
  br i1 %19625, label %19626, label %19679

19626:                                            ; preds = %19619
  br label %19627

19627:                                            ; preds = %19626
  br label %19628

19628:                                            ; preds = %19627
  call void @llvm.lifetime.start.p0(i64 4, ptr %547) #10
  %19629 = call ptr @__errno_location() #11
  %19630 = load i32, ptr %19629, align 4, !tbaa !5
  store i32 %19630, ptr %547, align 4, !tbaa !5
  %19631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19632 = call i32 @s2n_print_stacktrace(ptr noundef %19631)
  %19633 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19634 = trunc i8 %19633 to i1
  br i1 %19634, label %19635, label %19657

19635:                                            ; preds = %19628
  %19636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19637 = call i32 @fileno(ptr noundef %19636) #10
  %19638 = call i32 @isatty(i32 noundef %19637) #10
  %19639 = icmp ne i32 %19638, 0
  br i1 %19639, label %19640, label %19657

19640:                                            ; preds = %19635
  %19641 = load i32, ptr %547, align 4, !tbaa !5
  %19642 = call ptr @__errno_location() #11
  store i32 %19641, ptr %19642, align 4, !tbaa !5
  %19643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19644 = load i32, ptr @test_count, align 4, !tbaa !5
  %19645 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19646 = load i32, ptr %19645, align 4, !tbaa !5
  %19647 = call ptr @s2n_strerror(i32 noundef %19646, ptr noundef @.str.4)
  %19648 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19649 = load i32, ptr %19648, align 4, !tbaa !5
  %19650 = call ptr @s2n_strerror_debug(i32 noundef %19649, ptr noundef @.str.4)
  %19651 = call ptr @__errno_location() #11
  %19652 = load i32, ptr %19651, align 4, !tbaa !5
  %19653 = call ptr @strerror(i32 noundef %19652) #10
  %19654 = call ptr @__errno_location() #11
  %19655 = load i32, ptr %19654, align 4, !tbaa !5
  %19656 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19643, ptr noundef @.str.2, i32 noundef %19644, ptr noundef @.str.120, ptr noundef @.str.1, i32 noundef 857, ptr noundef %19647, ptr noundef %19650, ptr noundef %19653, i32 noundef %19655) #10
  br label %19674

19657:                                            ; preds = %19635, %19628
  %19658 = load i32, ptr %547, align 4, !tbaa !5
  %19659 = call ptr @__errno_location() #11
  store i32 %19658, ptr %19659, align 4, !tbaa !5
  %19660 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19661 = load i32, ptr @test_count, align 4, !tbaa !5
  %19662 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19663 = load i32, ptr %19662, align 4, !tbaa !5
  %19664 = call ptr @s2n_strerror(i32 noundef %19663, ptr noundef @.str.4)
  %19665 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19666 = load i32, ptr %19665, align 4, !tbaa !5
  %19667 = call ptr @s2n_strerror_debug(i32 noundef %19666, ptr noundef @.str.4)
  %19668 = call ptr @__errno_location() #11
  %19669 = load i32, ptr %19668, align 4, !tbaa !5
  %19670 = call ptr @strerror(i32 noundef %19669) #10
  %19671 = call ptr @__errno_location() #11
  %19672 = load i32, ptr %19671, align 4, !tbaa !5
  %19673 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19660, ptr noundef @.str.5, i32 noundef %19661, ptr noundef @.str.120, ptr noundef @.str.1, i32 noundef 857, ptr noundef %19664, ptr noundef %19667, ptr noundef %19670, i32 noundef %19672) #10
  br label %19674

19674:                                            ; preds = %19657, %19640
  call void @llvm.lifetime.end.p0(i64 4, ptr %547) #10
  br label %19675

19675:                                            ; preds = %19674
  br label %19676

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

19677:                                            ; No predecessors!
  br label %19678

19678:                                            ; preds = %19677
  br label %19679

19679:                                            ; preds = %19678, %19619
  br label %19680

19680:                                            ; preds = %19679
  br label %19681

19681:                                            ; preds = %19680
  %19682 = getelementptr inbounds %struct.crl_lookup_data, ptr %53, i32 0, i32 1
  %19683 = getelementptr inbounds [5 x ptr], ptr %19682, i64 0, i64 0
  %19684 = load ptr, ptr %19683, align 8, !tbaa !9
  %19685 = getelementptr inbounds %struct.s2n_crl_lookup, ptr %546, i32 0, i32 1
  store ptr %19684, ptr %19685, align 8, !tbaa !42
  call void @llvm.lifetime.start.p0(i64 8, ptr %548) #10
  store i64 0, ptr %548, align 8, !tbaa !21
  br label %19686

19686:                                            ; preds = %19681
  %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 = call i32 @s2n_crl_lookup_get_cert_issuer_hash(ptr noundef %546, ptr noundef %548)
  %19690 = icmp eq i32 %19689, -1
  br i1 %19690, label %19691, label %19744

19691:                                            ; preds = %19686
  br label %19692

19692:                                            ; preds = %19691
  br label %19693

19693:                                            ; preds = %19692
  call void @llvm.lifetime.start.p0(i64 4, ptr %549) #10
  %19694 = call ptr @__errno_location() #11
  %19695 = load i32, ptr %19694, align 4, !tbaa !5
  store i32 %19695, ptr %549, 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) #10
  %19703 = call i32 @isatty(i32 noundef %19702) #10
  %19704 = icmp ne i32 %19703, 0
  br i1 %19704, label %19705, label %19722

19705:                                            ; preds = %19700
  %19706 = load i32, ptr %549, align 4, !tbaa !5
  %19707 = call ptr @__errno_location() #11
  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() #11
  %19717 = load i32, ptr %19716, align 4, !tbaa !5
  %19718 = call ptr @strerror(i32 noundef %19717) #10
  %19719 = call ptr @__errno_location() #11
  %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.121, ptr noundef @.str.1, i32 noundef 861, ptr noundef %19712, ptr noundef %19715, ptr noundef %19718, i32 noundef %19720) #10
  br label %19739

19722:                                            ; preds = %19700, %19693
  %19723 = load i32, ptr %549, align 4, !tbaa !5
  %19724 = call ptr @__errno_location() #11
  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() #11
  %19734 = load i32, ptr %19733, align 4, !tbaa !5
  %19735 = call ptr @strerror(i32 noundef %19734) #10
  %19736 = call ptr @__errno_location() #11
  %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.121, ptr noundef @.str.1, i32 noundef 861, ptr noundef %19729, ptr noundef %19732, ptr noundef %19735, i32 noundef %19737) #10
  br label %19739

19739:                                            ; preds = %19722, %19705
  call void @llvm.lifetime.end.p0(i64 4, ptr %549) #10
  br label %19740

19740:                                            ; preds = %19739
  br label %19741

19741:                                            ; preds = %19740
  call void @exit(i32 noundef 1) #12
  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 i64, ptr %548, align 8, !tbaa !21
  %19751 = icmp ne i64 %19750, 0
  br i1 %19751, label %19805, label %19752

19752:                                            ; preds = %19747
  br label %19753

19753:                                            ; preds = %19752
  br label %19754

19754:                                            ; preds = %19753
  call void @llvm.lifetime.start.p0(i64 4, ptr %550) #10
  %19755 = call ptr @__errno_location() #11
  %19756 = load i32, ptr %19755, align 4, !tbaa !5
  store i32 %19756, ptr %550, align 4, !tbaa !5
  %19757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19758 = call i32 @s2n_print_stacktrace(ptr noundef %19757)
  %19759 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19760 = trunc i8 %19759 to i1
  br i1 %19760, label %19761, label %19783

19761:                                            ; preds = %19754
  %19762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19763 = call i32 @fileno(ptr noundef %19762) #10
  %19764 = call i32 @isatty(i32 noundef %19763) #10
  %19765 = icmp ne i32 %19764, 0
  br i1 %19765, label %19766, label %19783

19766:                                            ; preds = %19761
  %19767 = load i32, ptr %550, align 4, !tbaa !5
  %19768 = call ptr @__errno_location() #11
  store i32 %19767, ptr %19768, align 4, !tbaa !5
  %19769 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19770 = load i32, ptr @test_count, align 4, !tbaa !5
  %19771 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19772 = load i32, ptr %19771, align 4, !tbaa !5
  %19773 = call ptr @s2n_strerror(i32 noundef %19772, ptr noundef @.str.4)
  %19774 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19775 = load i32, ptr %19774, align 4, !tbaa !5
  %19776 = call ptr @s2n_strerror_debug(i32 noundef %19775, ptr noundef @.str.4)
  %19777 = call ptr @__errno_location() #11
  %19778 = load i32, ptr %19777, align 4, !tbaa !5
  %19779 = call ptr @strerror(i32 noundef %19778) #10
  %19780 = call ptr @__errno_location() #11
  %19781 = load i32, ptr %19780, align 4, !tbaa !5
  %19782 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19769, ptr noundef @.str.2, i32 noundef %19770, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 862, ptr noundef %19773, ptr noundef %19776, ptr noundef %19779, i32 noundef %19781) #10
  br label %19800

19783:                                            ; preds = %19761, %19754
  %19784 = load i32, ptr %550, align 4, !tbaa !5
  %19785 = call ptr @__errno_location() #11
  store i32 %19784, ptr %19785, align 4, !tbaa !5
  %19786 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19787 = load i32, ptr @test_count, align 4, !tbaa !5
  %19788 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19789 = load i32, ptr %19788, align 4, !tbaa !5
  %19790 = call ptr @s2n_strerror(i32 noundef %19789, ptr noundef @.str.4)
  %19791 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19792 = load i32, ptr %19791, align 4, !tbaa !5
  %19793 = call ptr @s2n_strerror_debug(i32 noundef %19792, ptr noundef @.str.4)
  %19794 = call ptr @__errno_location() #11
  %19795 = load i32, ptr %19794, align 4, !tbaa !5
  %19796 = call ptr @strerror(i32 noundef %19795) #10
  %19797 = call ptr @__errno_location() #11
  %19798 = load i32, ptr %19797, align 4, !tbaa !5
  %19799 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19786, ptr noundef @.str.5, i32 noundef %19787, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 862, ptr noundef %19790, ptr noundef %19793, ptr noundef %19796, i32 noundef %19798) #10
  br label %19800

19800:                                            ; preds = %19783, %19766
  call void @llvm.lifetime.end.p0(i64 4, ptr %550) #10
  br label %19801

19801:                                            ; preds = %19800
  br label %19802

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

19803:                                            ; No predecessors!
  br label %19804

19804:                                            ; preds = %19803
  br label %19805

19805:                                            ; preds = %19804, %19747
  br label %19806

19806:                                            ; preds = %19805
  br label %19807

19807:                                            ; preds = %19806
  call void @llvm.lifetime.end.p0(i64 8, ptr %548) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %546) #10
  call void @llvm.lifetime.start.p0(i64 32, ptr %551) #10
  call void @llvm.memset.p0.i64(ptr align 8 %551, i8 0, i64 32, i1 false)
  br label %19808

19808:                                            ; preds = %19807
  %19809 = load i32, ptr @test_count, align 4, !tbaa !5
  %19810 = add nsw i32 %19809, 1
  store i32 %19810, ptr @test_count, align 4, !tbaa !5
  %19811 = getelementptr inbounds %struct.crl_lookup_data, ptr %53, i32 0, i32 1
  %19812 = getelementptr inbounds [5 x ptr], ptr %19811, i64 0, i64 0
  %19813 = load ptr, ptr %19812, align 8, !tbaa !9
  %19814 = icmp eq ptr %19813, null
  br i1 %19814, label %19815, label %19868

19815:                                            ; preds = %19808
  br label %19816

19816:                                            ; preds = %19815
  br label %19817

19817:                                            ; preds = %19816
  call void @llvm.lifetime.start.p0(i64 4, ptr %552) #10
  %19818 = call ptr @__errno_location() #11
  %19819 = load i32, ptr %19818, align 4, !tbaa !5
  store i32 %19819, ptr %552, align 4, !tbaa !5
  %19820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19821 = call i32 @s2n_print_stacktrace(ptr noundef %19820)
  %19822 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19823 = trunc i8 %19822 to i1
  br i1 %19823, label %19824, label %19846

19824:                                            ; preds = %19817
  %19825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19826 = call i32 @fileno(ptr noundef %19825) #10
  %19827 = call i32 @isatty(i32 noundef %19826) #10
  %19828 = icmp ne i32 %19827, 0
  br i1 %19828, label %19829, label %19846

19829:                                            ; preds = %19824
  %19830 = load i32, ptr %552, align 4, !tbaa !5
  %19831 = call ptr @__errno_location() #11
  store i32 %19830, ptr %19831, align 4, !tbaa !5
  %19832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19833 = load i32, ptr @test_count, align 4, !tbaa !5
  %19834 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19835 = load i32, ptr %19834, align 4, !tbaa !5
  %19836 = call ptr @s2n_strerror(i32 noundef %19835, ptr noundef @.str.4)
  %19837 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19838 = load i32, ptr %19837, align 4, !tbaa !5
  %19839 = call ptr @s2n_strerror_debug(i32 noundef %19838, ptr noundef @.str.4)
  %19840 = call ptr @__errno_location() #11
  %19841 = load i32, ptr %19840, align 4, !tbaa !5
  %19842 = call ptr @strerror(i32 noundef %19841) #10
  %19843 = call ptr @__errno_location() #11
  %19844 = load i32, ptr %19843, align 4, !tbaa !5
  %19845 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19832, ptr noundef @.str.2, i32 noundef %19833, ptr noundef @.str.120, ptr noundef @.str.1, i32 noundef 870, ptr noundef %19836, ptr noundef %19839, ptr noundef %19842, i32 noundef %19844) #10
  br label %19863

19846:                                            ; preds = %19824, %19817
  %19847 = load i32, ptr %552, align 4, !tbaa !5
  %19848 = call ptr @__errno_location() #11
  store i32 %19847, ptr %19848, align 4, !tbaa !5
  %19849 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19850 = load i32, ptr @test_count, align 4, !tbaa !5
  %19851 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19852 = load i32, ptr %19851, align 4, !tbaa !5
  %19853 = call ptr @s2n_strerror(i32 noundef %19852, ptr noundef @.str.4)
  %19854 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19855 = load i32, ptr %19854, align 4, !tbaa !5
  %19856 = call ptr @s2n_strerror_debug(i32 noundef %19855, ptr noundef @.str.4)
  %19857 = call ptr @__errno_location() #11
  %19858 = load i32, ptr %19857, align 4, !tbaa !5
  %19859 = call ptr @strerror(i32 noundef %19858) #10
  %19860 = call ptr @__errno_location() #11
  %19861 = load i32, ptr %19860, align 4, !tbaa !5
  %19862 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19849, ptr noundef @.str.5, i32 noundef %19850, ptr noundef @.str.120, ptr noundef @.str.1, i32 noundef 870, ptr noundef %19853, ptr noundef %19856, ptr noundef %19859, i32 noundef %19861) #10
  br label %19863

19863:                                            ; preds = %19846, %19829
  call void @llvm.lifetime.end.p0(i64 4, ptr %552) #10
  br label %19864

19864:                                            ; preds = %19863
  br label %19865

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

19866:                                            ; No predecessors!
  br label %19867

19867:                                            ; preds = %19866
  br label %19868

19868:                                            ; preds = %19867, %19808
  br label %19869

19869:                                            ; preds = %19868
  br label %19870

19870:                                            ; preds = %19869
  %19871 = getelementptr inbounds %struct.crl_lookup_data, ptr %53, i32 0, i32 1
  %19872 = getelementptr inbounds [5 x ptr], ptr %19871, i64 0, i64 0
  %19873 = load ptr, ptr %19872, align 8, !tbaa !9
  %19874 = getelementptr inbounds %struct.s2n_crl_lookup, ptr %551, i32 0, i32 1
  store ptr %19873, ptr %19874, align 8, !tbaa !42
  call void @llvm.lifetime.start.p0(i64 8, ptr %553) #10
  store i64 0, ptr %553, align 8, !tbaa !21
  br label %19875

19875:                                            ; preds = %19870
  %19876 = load i32, ptr @test_count, align 4, !tbaa !5
  %19877 = add nsw i32 %19876, 1
  store i32 %19877, ptr @test_count, align 4, !tbaa !5
  %19878 = call i32 @s2n_crl_lookup_get_cert_issuer_hash(ptr noundef %551, ptr noundef %553)
  %19879 = icmp eq i32 %19878, -1
  br i1 %19879, label %19880, label %19933

19880:                                            ; preds = %19875
  br label %19881

19881:                                            ; preds = %19880
  br label %19882

19882:                                            ; preds = %19881
  call void @llvm.lifetime.start.p0(i64 4, ptr %554) #10
  %19883 = call ptr @__errno_location() #11
  %19884 = load i32, ptr %19883, align 4, !tbaa !5
  store i32 %19884, ptr %554, align 4, !tbaa !5
  %19885 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19886 = call i32 @s2n_print_stacktrace(ptr noundef %19885)
  %19887 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19888 = trunc i8 %19887 to i1
  br i1 %19888, label %19889, label %19911

19889:                                            ; preds = %19882
  %19890 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19891 = call i32 @fileno(ptr noundef %19890) #10
  %19892 = call i32 @isatty(i32 noundef %19891) #10
  %19893 = icmp ne i32 %19892, 0
  br i1 %19893, label %19894, label %19911

19894:                                            ; preds = %19889
  %19895 = load i32, ptr %554, align 4, !tbaa !5
  %19896 = call ptr @__errno_location() #11
  store i32 %19895, ptr %19896, align 4, !tbaa !5
  %19897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19898 = load i32, ptr @test_count, align 4, !tbaa !5
  %19899 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19900 = load i32, ptr %19899, align 4, !tbaa !5
  %19901 = call ptr @s2n_strerror(i32 noundef %19900, ptr noundef @.str.4)
  %19902 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19903 = load i32, ptr %19902, align 4, !tbaa !5
  %19904 = call ptr @s2n_strerror_debug(i32 noundef %19903, ptr noundef @.str.4)
  %19905 = call ptr @__errno_location() #11
  %19906 = load i32, ptr %19905, align 4, !tbaa !5
  %19907 = call ptr @strerror(i32 noundef %19906) #10
  %19908 = call ptr @__errno_location() #11
  %19909 = load i32, ptr %19908, align 4, !tbaa !5
  %19910 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19897, ptr noundef @.str.2, i32 noundef %19898, ptr noundef @.str.122, ptr noundef @.str.1, i32 noundef 874, ptr noundef %19901, ptr noundef %19904, ptr noundef %19907, i32 noundef %19909) #10
  br label %19928

19911:                                            ; preds = %19889, %19882
  %19912 = load i32, ptr %554, align 4, !tbaa !5
  %19913 = call ptr @__errno_location() #11
  store i32 %19912, ptr %19913, align 4, !tbaa !5
  %19914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19915 = load i32, ptr @test_count, align 4, !tbaa !5
  %19916 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19917 = load i32, ptr %19916, align 4, !tbaa !5
  %19918 = call ptr @s2n_strerror(i32 noundef %19917, ptr noundef @.str.4)
  %19919 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19920 = load i32, ptr %19919, align 4, !tbaa !5
  %19921 = call ptr @s2n_strerror_debug(i32 noundef %19920, ptr noundef @.str.4)
  %19922 = call ptr @__errno_location() #11
  %19923 = load i32, ptr %19922, align 4, !tbaa !5
  %19924 = call ptr @strerror(i32 noundef %19923) #10
  %19925 = call ptr @__errno_location() #11
  %19926 = load i32, ptr %19925, align 4, !tbaa !5
  %19927 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19914, ptr noundef @.str.5, i32 noundef %19915, ptr noundef @.str.122, ptr noundef @.str.1, i32 noundef 874, ptr noundef %19918, ptr noundef %19921, ptr noundef %19924, i32 noundef %19926) #10
  br label %19928

19928:                                            ; preds = %19911, %19894
  call void @llvm.lifetime.end.p0(i64 4, ptr %554) #10
  br label %19929

19929:                                            ; preds = %19928
  br label %19930

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

19931:                                            ; No predecessors!
  br label %19932

19932:                                            ; preds = %19931
  br label %19933

19933:                                            ; preds = %19932, %19875
  br label %19934

19934:                                            ; preds = %19933
  br label %19935

19935:                                            ; preds = %19934
  br label %19936

19936:                                            ; preds = %19935
  %19937 = load i32, ptr @test_count, align 4, !tbaa !5
  %19938 = add nsw i32 %19937, 1
  store i32 %19938, ptr @test_count, align 4, !tbaa !5
  %19939 = load i64, ptr %553, align 8, !tbaa !21
  %19940 = icmp ne i64 %19939, 0
  br i1 %19940, label %19994, label %19941

19941:                                            ; preds = %19936
  br label %19942

19942:                                            ; preds = %19941
  br label %19943

19943:                                            ; preds = %19942
  call void @llvm.lifetime.start.p0(i64 4, ptr %555) #10
  %19944 = call ptr @__errno_location() #11
  %19945 = load i32, ptr %19944, align 4, !tbaa !5
  store i32 %19945, ptr %555, 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) #10
  %19953 = call i32 @isatty(i32 noundef %19952) #10
  %19954 = icmp ne i32 %19953, 0
  br i1 %19954, label %19955, label %19972

19955:                                            ; preds = %19950
  %19956 = load i32, ptr %555, align 4, !tbaa !5
  %19957 = call ptr @__errno_location() #11
  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() #11
  %19967 = load i32, ptr %19966, align 4, !tbaa !5
  %19968 = call ptr @strerror(i32 noundef %19967) #10
  %19969 = call ptr @__errno_location() #11
  %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.123, ptr noundef @.str.1, i32 noundef 875, ptr noundef %19962, ptr noundef %19965, ptr noundef %19968, i32 noundef %19970) #10
  br label %19989

19972:                                            ; preds = %19950, %19943
  %19973 = load i32, ptr %555, align 4, !tbaa !5
  %19974 = call ptr @__errno_location() #11
  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() #11
  %19984 = load i32, ptr %19983, align 4, !tbaa !5
  %19985 = call ptr @strerror(i32 noundef %19984) #10
  %19986 = call ptr @__errno_location() #11
  %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.123, ptr noundef @.str.1, i32 noundef 875, ptr noundef %19979, ptr noundef %19982, ptr noundef %19985, i32 noundef %19987) #10
  br label %19989

19989:                                            ; preds = %19972, %19955
  call void @llvm.lifetime.end.p0(i64 4, ptr %555) #10
  br label %19990

19990:                                            ; preds = %19989
  br label %19991

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

19992:                                            ; No predecessors!
  br label %19993

19993:                                            ; preds = %19992
  br label %19994

19994:                                            ; preds = %19993, %19936
  br label %19995

19995:                                            ; preds = %19994
  br label %19996

19996:                                            ; preds = %19995
  call void @llvm.lifetime.start.p0(i64 8, ptr %556) #10
  store i64 0, ptr %556, align 8, !tbaa !21
  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 = load ptr, ptr %45, align 8, !tbaa !9
  %20001 = call i32 @s2n_crl_get_issuer_hash(ptr noundef %20000, ptr noundef %556)
  %20002 = icmp eq i32 %20001, -1
  br i1 %20002, label %20003, label %20056

20003:                                            ; preds = %19997
  br label %20004

20004:                                            ; preds = %20003
  br label %20005

20005:                                            ; preds = %20004
  call void @llvm.lifetime.start.p0(i64 4, ptr %557) #10
  %20006 = call ptr @__errno_location() #11
  %20007 = load i32, ptr %20006, align 4, !tbaa !5
  store i32 %20007, ptr %557, align 4, !tbaa !5
  %20008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20009 = call i32 @s2n_print_stacktrace(ptr noundef %20008)
  %20010 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20011 = trunc i8 %20010 to i1
  br i1 %20011, label %20012, label %20034

20012:                                            ; preds = %20005
  %20013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20014 = call i32 @fileno(ptr noundef %20013) #10
  %20015 = call i32 @isatty(i32 noundef %20014) #10
  %20016 = icmp ne i32 %20015, 0
  br i1 %20016, label %20017, label %20034

20017:                                            ; preds = %20012
  %20018 = load i32, ptr %557, align 4, !tbaa !5
  %20019 = call ptr @__errno_location() #11
  store i32 %20018, ptr %20019, align 4, !tbaa !5
  %20020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20021 = load i32, ptr @test_count, align 4, !tbaa !5
  %20022 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20023 = load i32, ptr %20022, align 4, !tbaa !5
  %20024 = call ptr @s2n_strerror(i32 noundef %20023, ptr noundef @.str.4)
  %20025 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20026 = load i32, ptr %20025, align 4, !tbaa !5
  %20027 = call ptr @s2n_strerror_debug(i32 noundef %20026, ptr noundef @.str.4)
  %20028 = call ptr @__errno_location() #11
  %20029 = load i32, ptr %20028, align 4, !tbaa !5
  %20030 = call ptr @strerror(i32 noundef %20029) #10
  %20031 = call ptr @__errno_location() #11
  %20032 = load i32, ptr %20031, align 4, !tbaa !5
  %20033 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20020, ptr noundef @.str.2, i32 noundef %20021, ptr noundef @.str.124, ptr noundef @.str.1, i32 noundef 878, ptr noundef %20024, ptr noundef %20027, ptr noundef %20030, i32 noundef %20032) #10
  br label %20051

20034:                                            ; preds = %20012, %20005
  %20035 = load i32, ptr %557, align 4, !tbaa !5
  %20036 = call ptr @__errno_location() #11
  store i32 %20035, ptr %20036, align 4, !tbaa !5
  %20037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20038 = load i32, ptr @test_count, align 4, !tbaa !5
  %20039 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20040 = load i32, ptr %20039, align 4, !tbaa !5
  %20041 = call ptr @s2n_strerror(i32 noundef %20040, ptr noundef @.str.4)
  %20042 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20043 = load i32, ptr %20042, align 4, !tbaa !5
  %20044 = call ptr @s2n_strerror_debug(i32 noundef %20043, ptr noundef @.str.4)
  %20045 = call ptr @__errno_location() #11
  %20046 = load i32, ptr %20045, align 4, !tbaa !5
  %20047 = call ptr @strerror(i32 noundef %20046) #10
  %20048 = call ptr @__errno_location() #11
  %20049 = load i32, ptr %20048, align 4, !tbaa !5
  %20050 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20037, ptr noundef @.str.5, i32 noundef %20038, ptr noundef @.str.124, ptr noundef @.str.1, i32 noundef 878, ptr noundef %20041, ptr noundef %20044, ptr noundef %20047, i32 noundef %20049) #10
  br label %20051

20051:                                            ; preds = %20034, %20017
  call void @llvm.lifetime.end.p0(i64 4, ptr %557) #10
  br label %20052

20052:                                            ; preds = %20051
  br label %20053

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

20054:                                            ; No predecessors!
  br label %20055

20055:                                            ; preds = %20054
  br label %20056

20056:                                            ; preds = %20055, %19997
  br label %20057

20057:                                            ; preds = %20056
  br label %20058

20058:                                            ; preds = %20057
  br label %20059

20059:                                            ; preds = %20058
  %20060 = load i32, ptr @test_count, align 4, !tbaa !5
  %20061 = add nsw i32 %20060, 1
  store i32 %20061, ptr @test_count, align 4, !tbaa !5
  %20062 = load i64, ptr %556, align 8, !tbaa !21
  %20063 = icmp ne i64 %20062, 0
  br i1 %20063, label %20117, label %20064

20064:                                            ; preds = %20059
  br label %20065

20065:                                            ; preds = %20064
  br label %20066

20066:                                            ; preds = %20065
  call void @llvm.lifetime.start.p0(i64 4, ptr %558) #10
  %20067 = call ptr @__errno_location() #11
  %20068 = load i32, ptr %20067, align 4, !tbaa !5
  store i32 %20068, ptr %558, align 4, !tbaa !5
  %20069 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20070 = call i32 @s2n_print_stacktrace(ptr noundef %20069)
  %20071 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20072 = trunc i8 %20071 to i1
  br i1 %20072, label %20073, label %20095

20073:                                            ; preds = %20066
  %20074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20075 = call i32 @fileno(ptr noundef %20074) #10
  %20076 = call i32 @isatty(i32 noundef %20075) #10
  %20077 = icmp ne i32 %20076, 0
  br i1 %20077, label %20078, label %20095

20078:                                            ; preds = %20073
  %20079 = load i32, ptr %558, align 4, !tbaa !5
  %20080 = call ptr @__errno_location() #11
  store i32 %20079, ptr %20080, align 4, !tbaa !5
  %20081 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20082 = load i32, ptr @test_count, align 4, !tbaa !5
  %20083 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20084 = load i32, ptr %20083, align 4, !tbaa !5
  %20085 = call ptr @s2n_strerror(i32 noundef %20084, ptr noundef @.str.4)
  %20086 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20087 = load i32, ptr %20086, align 4, !tbaa !5
  %20088 = call ptr @s2n_strerror_debug(i32 noundef %20087, ptr noundef @.str.4)
  %20089 = call ptr @__errno_location() #11
  %20090 = load i32, ptr %20089, align 4, !tbaa !5
  %20091 = call ptr @strerror(i32 noundef %20090) #10
  %20092 = call ptr @__errno_location() #11
  %20093 = load i32, ptr %20092, align 4, !tbaa !5
  %20094 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20081, ptr noundef @.str.2, i32 noundef %20082, ptr noundef @.str.125, ptr noundef @.str.1, i32 noundef 879, ptr noundef %20085, ptr noundef %20088, ptr noundef %20091, i32 noundef %20093) #10
  br label %20112

20095:                                            ; preds = %20073, %20066
  %20096 = load i32, ptr %558, align 4, !tbaa !5
  %20097 = call ptr @__errno_location() #11
  store i32 %20096, ptr %20097, align 4, !tbaa !5
  %20098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20099 = load i32, ptr @test_count, align 4, !tbaa !5
  %20100 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20101 = load i32, ptr %20100, align 4, !tbaa !5
  %20102 = call ptr @s2n_strerror(i32 noundef %20101, ptr noundef @.str.4)
  %20103 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20104 = load i32, ptr %20103, align 4, !tbaa !5
  %20105 = call ptr @s2n_strerror_debug(i32 noundef %20104, ptr noundef @.str.4)
  %20106 = call ptr @__errno_location() #11
  %20107 = load i32, ptr %20106, align 4, !tbaa !5
  %20108 = call ptr @strerror(i32 noundef %20107) #10
  %20109 = call ptr @__errno_location() #11
  %20110 = load i32, ptr %20109, align 4, !tbaa !5
  %20111 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20098, ptr noundef @.str.5, i32 noundef %20099, ptr noundef @.str.125, ptr noundef @.str.1, i32 noundef 879, ptr noundef %20102, ptr noundef %20105, ptr noundef %20108, i32 noundef %20110) #10
  br label %20112

20112:                                            ; preds = %20095, %20078
  call void @llvm.lifetime.end.p0(i64 4, ptr %558) #10
  br label %20113

20113:                                            ; preds = %20112
  br label %20114

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

20115:                                            ; No predecessors!
  br label %20116

20116:                                            ; preds = %20115
  br label %20117

20117:                                            ; preds = %20116, %20059
  br label %20118

20118:                                            ; preds = %20117
  br label %20119

20119:                                            ; preds = %20118
  br label %20120

20120:                                            ; preds = %20119
  %20121 = load i32, ptr @test_count, align 4, !tbaa !5
  %20122 = add nsw i32 %20121, 1
  store i32 %20122, ptr @test_count, align 4, !tbaa !5
  %20123 = load i64, ptr %553, align 8, !tbaa !21
  %20124 = load i64, ptr %556, align 8, !tbaa !21
  %20125 = icmp eq i64 %20123, %20124
  br i1 %20125, label %20179, label %20126

20126:                                            ; preds = %20120
  br label %20127

20127:                                            ; preds = %20126
  br label %20128

20128:                                            ; preds = %20127
  call void @llvm.lifetime.start.p0(i64 4, ptr %559) #10
  %20129 = call ptr @__errno_location() #11
  %20130 = load i32, ptr %20129, align 4, !tbaa !5
  store i32 %20130, ptr %559, align 4, !tbaa !5
  %20131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20132 = call i32 @s2n_print_stacktrace(ptr noundef %20131)
  %20133 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20134 = trunc i8 %20133 to i1
  br i1 %20134, label %20135, label %20157

20135:                                            ; preds = %20128
  %20136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20137 = call i32 @fileno(ptr noundef %20136) #10
  %20138 = call i32 @isatty(i32 noundef %20137) #10
  %20139 = icmp ne i32 %20138, 0
  br i1 %20139, label %20140, label %20157

20140:                                            ; preds = %20135
  %20141 = load i32, ptr %559, align 4, !tbaa !5
  %20142 = call ptr @__errno_location() #11
  store i32 %20141, ptr %20142, align 4, !tbaa !5
  %20143 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20144 = load i32, ptr @test_count, align 4, !tbaa !5
  %20145 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20146 = load i32, ptr %20145, align 4, !tbaa !5
  %20147 = call ptr @s2n_strerror(i32 noundef %20146, ptr noundef @.str.4)
  %20148 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20149 = load i32, ptr %20148, align 4, !tbaa !5
  %20150 = call ptr @s2n_strerror_debug(i32 noundef %20149, ptr noundef @.str.4)
  %20151 = call ptr @__errno_location() #11
  %20152 = load i32, ptr %20151, align 4, !tbaa !5
  %20153 = call ptr @strerror(i32 noundef %20152) #10
  %20154 = call ptr @__errno_location() #11
  %20155 = load i32, ptr %20154, align 4, !tbaa !5
  %20156 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20143, ptr noundef @.str.2, i32 noundef %20144, ptr noundef @.str.126, ptr noundef @.str.1, i32 noundef 881, ptr noundef %20147, ptr noundef %20150, ptr noundef %20153, i32 noundef %20155) #10
  br label %20174

20157:                                            ; preds = %20135, %20128
  %20158 = load i32, ptr %559, align 4, !tbaa !5
  %20159 = call ptr @__errno_location() #11
  store i32 %20158, ptr %20159, align 4, !tbaa !5
  %20160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20161 = load i32, ptr @test_count, align 4, !tbaa !5
  %20162 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20163 = load i32, ptr %20162, align 4, !tbaa !5
  %20164 = call ptr @s2n_strerror(i32 noundef %20163, ptr noundef @.str.4)
  %20165 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20166 = load i32, ptr %20165, align 4, !tbaa !5
  %20167 = call ptr @s2n_strerror_debug(i32 noundef %20166, ptr noundef @.str.4)
  %20168 = call ptr @__errno_location() #11
  %20169 = load i32, ptr %20168, align 4, !tbaa !5
  %20170 = call ptr @strerror(i32 noundef %20169) #10
  %20171 = call ptr @__errno_location() #11
  %20172 = load i32, ptr %20171, align 4, !tbaa !5
  %20173 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20160, ptr noundef @.str.5, i32 noundef %20161, ptr noundef @.str.126, ptr noundef @.str.1, i32 noundef 881, ptr noundef %20164, ptr noundef %20167, ptr noundef %20170, i32 noundef %20172) #10
  br label %20174

20174:                                            ; preds = %20157, %20140
  call void @llvm.lifetime.end.p0(i64 4, ptr %559) #10
  br label %20175

20175:                                            ; preds = %20174
  br label %20176

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

20177:                                            ; No predecessors!
  br label %20178

20178:                                            ; preds = %20177
  br label %20179

20179:                                            ; preds = %20178, %20120
  br label %20180

20180:                                            ; preds = %20179
  br label %20181

20181:                                            ; preds = %20180
  call void @llvm.lifetime.start.p0(i64 32, ptr %560) #10
  call void @llvm.memset.p0.i64(ptr align 8 %560, i8 0, i64 32, i1 false)
  br label %20182

20182:                                            ; preds = %20181
  %20183 = load i32, ptr @test_count, align 4, !tbaa !5
  %20184 = add nsw i32 %20183, 1
  store i32 %20184, ptr @test_count, align 4, !tbaa !5
  %20185 = getelementptr inbounds %struct.crl_lookup_data, ptr %53, i32 0, i32 1
  %20186 = getelementptr inbounds [5 x ptr], ptr %20185, i64 0, i64 1
  %20187 = load ptr, ptr %20186, align 8, !tbaa !9
  %20188 = icmp eq ptr %20187, null
  br i1 %20188, label %20189, label %20242

20189:                                            ; preds = %20182
  br label %20190

20190:                                            ; preds = %20189
  br label %20191

20191:                                            ; preds = %20190
  call void @llvm.lifetime.start.p0(i64 4, ptr %561) #10
  %20192 = call ptr @__errno_location() #11
  %20193 = load i32, ptr %20192, align 4, !tbaa !5
  store i32 %20193, ptr %561, align 4, !tbaa !5
  %20194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20195 = call i32 @s2n_print_stacktrace(ptr noundef %20194)
  %20196 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20197 = trunc i8 %20196 to i1
  br i1 %20197, label %20198, label %20220

20198:                                            ; preds = %20191
  %20199 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20200 = call i32 @fileno(ptr noundef %20199) #10
  %20201 = call i32 @isatty(i32 noundef %20200) #10
  %20202 = icmp ne i32 %20201, 0
  br i1 %20202, label %20203, label %20220

20203:                                            ; preds = %20198
  %20204 = load i32, ptr %561, align 4, !tbaa !5
  %20205 = call ptr @__errno_location() #11
  store i32 %20204, ptr %20205, align 4, !tbaa !5
  %20206 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20207 = load i32, ptr @test_count, align 4, !tbaa !5
  %20208 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20209 = load i32, ptr %20208, align 4, !tbaa !5
  %20210 = call ptr @s2n_strerror(i32 noundef %20209, ptr noundef @.str.4)
  %20211 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20212 = load i32, ptr %20211, align 4, !tbaa !5
  %20213 = call ptr @s2n_strerror_debug(i32 noundef %20212, ptr noundef @.str.4)
  %20214 = call ptr @__errno_location() #11
  %20215 = load i32, ptr %20214, align 4, !tbaa !5
  %20216 = call ptr @strerror(i32 noundef %20215) #10
  %20217 = call ptr @__errno_location() #11
  %20218 = load i32, ptr %20217, align 4, !tbaa !5
  %20219 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20206, ptr noundef @.str.2, i32 noundef %20207, ptr noundef @.str.127, ptr noundef @.str.1, i32 noundef 886, ptr noundef %20210, ptr noundef %20213, ptr noundef %20216, i32 noundef %20218) #10
  br label %20237

20220:                                            ; preds = %20198, %20191
  %20221 = load i32, ptr %561, align 4, !tbaa !5
  %20222 = call ptr @__errno_location() #11
  store i32 %20221, ptr %20222, align 4, !tbaa !5
  %20223 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20224 = load i32, ptr @test_count, align 4, !tbaa !5
  %20225 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20226 = load i32, ptr %20225, align 4, !tbaa !5
  %20227 = call ptr @s2n_strerror(i32 noundef %20226, ptr noundef @.str.4)
  %20228 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20229 = load i32, ptr %20228, align 4, !tbaa !5
  %20230 = call ptr @s2n_strerror_debug(i32 noundef %20229, ptr noundef @.str.4)
  %20231 = call ptr @__errno_location() #11
  %20232 = load i32, ptr %20231, align 4, !tbaa !5
  %20233 = call ptr @strerror(i32 noundef %20232) #10
  %20234 = call ptr @__errno_location() #11
  %20235 = load i32, ptr %20234, align 4, !tbaa !5
  %20236 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20223, ptr noundef @.str.5, i32 noundef %20224, ptr noundef @.str.127, ptr noundef @.str.1, i32 noundef 886, ptr noundef %20227, ptr noundef %20230, ptr noundef %20233, i32 noundef %20235) #10
  br label %20237

20237:                                            ; preds = %20220, %20203
  call void @llvm.lifetime.end.p0(i64 4, ptr %561) #10
  br label %20238

20238:                                            ; preds = %20237
  br label %20239

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

20240:                                            ; No predecessors!
  br label %20241

20241:                                            ; preds = %20240
  br label %20242

20242:                                            ; preds = %20241, %20182
  br label %20243

20243:                                            ; preds = %20242
  br label %20244

20244:                                            ; preds = %20243
  %20245 = getelementptr inbounds %struct.crl_lookup_data, ptr %53, i32 0, i32 1
  %20246 = getelementptr inbounds [5 x ptr], ptr %20245, i64 0, i64 1
  %20247 = load ptr, ptr %20246, align 8, !tbaa !9
  %20248 = getelementptr inbounds %struct.s2n_crl_lookup, ptr %560, i32 0, i32 1
  store ptr %20247, ptr %20248, align 8, !tbaa !42
  call void @llvm.lifetime.start.p0(i64 8, ptr %562) #10
  store i64 0, ptr %562, align 8, !tbaa !21
  br label %20249

20249:                                            ; preds = %20244
  %20250 = load i32, ptr @test_count, align 4, !tbaa !5
  %20251 = add nsw i32 %20250, 1
  store i32 %20251, ptr @test_count, align 4, !tbaa !5
  %20252 = call i32 @s2n_crl_lookup_get_cert_issuer_hash(ptr noundef %560, ptr noundef %562)
  %20253 = icmp eq i32 %20252, -1
  br i1 %20253, label %20254, label %20307

20254:                                            ; preds = %20249
  br label %20255

20255:                                            ; preds = %20254
  br label %20256

20256:                                            ; preds = %20255
  call void @llvm.lifetime.start.p0(i64 4, ptr %563) #10
  %20257 = call ptr @__errno_location() #11
  %20258 = load i32, ptr %20257, align 4, !tbaa !5
  store i32 %20258, ptr %563, align 4, !tbaa !5
  %20259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20260 = call i32 @s2n_print_stacktrace(ptr noundef %20259)
  %20261 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20262 = trunc i8 %20261 to i1
  br i1 %20262, label %20263, label %20285

20263:                                            ; preds = %20256
  %20264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20265 = call i32 @fileno(ptr noundef %20264) #10
  %20266 = call i32 @isatty(i32 noundef %20265) #10
  %20267 = icmp ne i32 %20266, 0
  br i1 %20267, label %20268, label %20285

20268:                                            ; preds = %20263
  %20269 = load i32, ptr %563, align 4, !tbaa !5
  %20270 = call ptr @__errno_location() #11
  store i32 %20269, ptr %20270, align 4, !tbaa !5
  %20271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20272 = load i32, ptr @test_count, align 4, !tbaa !5
  %20273 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20274 = load i32, ptr %20273, align 4, !tbaa !5
  %20275 = call ptr @s2n_strerror(i32 noundef %20274, ptr noundef @.str.4)
  %20276 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20277 = load i32, ptr %20276, align 4, !tbaa !5
  %20278 = call ptr @s2n_strerror_debug(i32 noundef %20277, ptr noundef @.str.4)
  %20279 = call ptr @__errno_location() #11
  %20280 = load i32, ptr %20279, align 4, !tbaa !5
  %20281 = call ptr @strerror(i32 noundef %20280) #10
  %20282 = call ptr @__errno_location() #11
  %20283 = load i32, ptr %20282, align 4, !tbaa !5
  %20284 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20271, ptr noundef @.str.2, i32 noundef %20272, ptr noundef @.str.128, ptr noundef @.str.1, i32 noundef 890, ptr noundef %20275, ptr noundef %20278, ptr noundef %20281, i32 noundef %20283) #10
  br label %20302

20285:                                            ; preds = %20263, %20256
  %20286 = load i32, ptr %563, align 4, !tbaa !5
  %20287 = call ptr @__errno_location() #11
  store i32 %20286, ptr %20287, align 4, !tbaa !5
  %20288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20289 = load i32, ptr @test_count, align 4, !tbaa !5
  %20290 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20291 = load i32, ptr %20290, align 4, !tbaa !5
  %20292 = call ptr @s2n_strerror(i32 noundef %20291, ptr noundef @.str.4)
  %20293 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20294 = load i32, ptr %20293, align 4, !tbaa !5
  %20295 = call ptr @s2n_strerror_debug(i32 noundef %20294, ptr noundef @.str.4)
  %20296 = call ptr @__errno_location() #11
  %20297 = load i32, ptr %20296, align 4, !tbaa !5
  %20298 = call ptr @strerror(i32 noundef %20297) #10
  %20299 = call ptr @__errno_location() #11
  %20300 = load i32, ptr %20299, align 4, !tbaa !5
  %20301 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20288, ptr noundef @.str.5, i32 noundef %20289, ptr noundef @.str.128, ptr noundef @.str.1, i32 noundef 890, ptr noundef %20292, ptr noundef %20295, ptr noundef %20298, i32 noundef %20300) #10
  br label %20302

20302:                                            ; preds = %20285, %20268
  call void @llvm.lifetime.end.p0(i64 4, ptr %563) #10
  br label %20303

20303:                                            ; preds = %20302
  br label %20304

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

20305:                                            ; No predecessors!
  br label %20306

20306:                                            ; preds = %20305
  br label %20307

20307:                                            ; preds = %20306, %20249
  br label %20308

20308:                                            ; preds = %20307
  br label %20309

20309:                                            ; preds = %20308
  br label %20310

20310:                                            ; preds = %20309
  %20311 = load i32, ptr @test_count, align 4, !tbaa !5
  %20312 = add nsw i32 %20311, 1
  store i32 %20312, ptr @test_count, align 4, !tbaa !5
  %20313 = load i64, ptr %562, align 8, !tbaa !21
  %20314 = icmp ne i64 %20313, 0
  br i1 %20314, label %20368, label %20315

20315:                                            ; preds = %20310
  br label %20316

20316:                                            ; preds = %20315
  br label %20317

20317:                                            ; preds = %20316
  call void @llvm.lifetime.start.p0(i64 4, ptr %564) #10
  %20318 = call ptr @__errno_location() #11
  %20319 = load i32, ptr %20318, align 4, !tbaa !5
  store i32 %20319, ptr %564, align 4, !tbaa !5
  %20320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20321 = call i32 @s2n_print_stacktrace(ptr noundef %20320)
  %20322 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20323 = trunc i8 %20322 to i1
  br i1 %20323, label %20324, label %20346

20324:                                            ; preds = %20317
  %20325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20326 = call i32 @fileno(ptr noundef %20325) #10
  %20327 = call i32 @isatty(i32 noundef %20326) #10
  %20328 = icmp ne i32 %20327, 0
  br i1 %20328, label %20329, label %20346

20329:                                            ; preds = %20324
  %20330 = load i32, ptr %564, align 4, !tbaa !5
  %20331 = call ptr @__errno_location() #11
  store i32 %20330, ptr %20331, align 4, !tbaa !5
  %20332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20333 = load i32, ptr @test_count, align 4, !tbaa !5
  %20334 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20335 = load i32, ptr %20334, align 4, !tbaa !5
  %20336 = call ptr @s2n_strerror(i32 noundef %20335, ptr noundef @.str.4)
  %20337 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20338 = load i32, ptr %20337, align 4, !tbaa !5
  %20339 = call ptr @s2n_strerror_debug(i32 noundef %20338, ptr noundef @.str.4)
  %20340 = call ptr @__errno_location() #11
  %20341 = load i32, ptr %20340, align 4, !tbaa !5
  %20342 = call ptr @strerror(i32 noundef %20341) #10
  %20343 = call ptr @__errno_location() #11
  %20344 = load i32, ptr %20343, align 4, !tbaa !5
  %20345 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20332, ptr noundef @.str.2, i32 noundef %20333, ptr noundef @.str.129, ptr noundef @.str.1, i32 noundef 891, ptr noundef %20336, ptr noundef %20339, ptr noundef %20342, i32 noundef %20344) #10
  br label %20363

20346:                                            ; preds = %20324, %20317
  %20347 = load i32, ptr %564, align 4, !tbaa !5
  %20348 = call ptr @__errno_location() #11
  store i32 %20347, ptr %20348, align 4, !tbaa !5
  %20349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20350 = load i32, ptr @test_count, align 4, !tbaa !5
  %20351 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20352 = load i32, ptr %20351, align 4, !tbaa !5
  %20353 = call ptr @s2n_strerror(i32 noundef %20352, ptr noundef @.str.4)
  %20354 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20355 = load i32, ptr %20354, align 4, !tbaa !5
  %20356 = call ptr @s2n_strerror_debug(i32 noundef %20355, ptr noundef @.str.4)
  %20357 = call ptr @__errno_location() #11
  %20358 = load i32, ptr %20357, align 4, !tbaa !5
  %20359 = call ptr @strerror(i32 noundef %20358) #10
  %20360 = call ptr @__errno_location() #11
  %20361 = load i32, ptr %20360, align 4, !tbaa !5
  %20362 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20349, ptr noundef @.str.5, i32 noundef %20350, ptr noundef @.str.129, ptr noundef @.str.1, i32 noundef 891, ptr noundef %20353, ptr noundef %20356, ptr noundef %20359, i32 noundef %20361) #10
  br label %20363

20363:                                            ; preds = %20346, %20329
  call void @llvm.lifetime.end.p0(i64 4, ptr %564) #10
  br label %20364

20364:                                            ; preds = %20363
  br label %20365

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

20366:                                            ; No predecessors!
  br label %20367

20367:                                            ; preds = %20366
  br label %20368

20368:                                            ; preds = %20367, %20310
  br label %20369

20369:                                            ; preds = %20368
  br label %20370

20370:                                            ; preds = %20369
  call void @llvm.lifetime.start.p0(i64 8, ptr %565) #10
  store i64 0, ptr %565, align 8, !tbaa !21
  br label %20371

20371:                                            ; preds = %20370
  %20372 = load i32, ptr @test_count, align 4, !tbaa !5
  %20373 = add nsw i32 %20372, 1
  store i32 %20373, ptr @test_count, align 4, !tbaa !5
  %20374 = load ptr, ptr %43, align 8, !tbaa !9
  %20375 = call i32 @s2n_crl_get_issuer_hash(ptr noundef %20374, ptr noundef %565)
  %20376 = icmp eq i32 %20375, -1
  br i1 %20376, label %20377, label %20430

20377:                                            ; preds = %20371
  br label %20378

20378:                                            ; preds = %20377
  br label %20379

20379:                                            ; preds = %20378
  call void @llvm.lifetime.start.p0(i64 4, ptr %566) #10
  %20380 = call ptr @__errno_location() #11
  %20381 = load i32, ptr %20380, align 4, !tbaa !5
  store i32 %20381, ptr %566, align 4, !tbaa !5
  %20382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20383 = call i32 @s2n_print_stacktrace(ptr noundef %20382)
  %20384 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20385 = trunc i8 %20384 to i1
  br i1 %20385, label %20386, label %20408

20386:                                            ; preds = %20379
  %20387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20388 = call i32 @fileno(ptr noundef %20387) #10
  %20389 = call i32 @isatty(i32 noundef %20388) #10
  %20390 = icmp ne i32 %20389, 0
  br i1 %20390, label %20391, label %20408

20391:                                            ; preds = %20386
  %20392 = load i32, ptr %566, align 4, !tbaa !5
  %20393 = call ptr @__errno_location() #11
  store i32 %20392, ptr %20393, align 4, !tbaa !5
  %20394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20395 = load i32, ptr @test_count, align 4, !tbaa !5
  %20396 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20397 = load i32, ptr %20396, align 4, !tbaa !5
  %20398 = call ptr @s2n_strerror(i32 noundef %20397, ptr noundef @.str.4)
  %20399 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20400 = load i32, ptr %20399, align 4, !tbaa !5
  %20401 = call ptr @s2n_strerror_debug(i32 noundef %20400, ptr noundef @.str.4)
  %20402 = call ptr @__errno_location() #11
  %20403 = load i32, ptr %20402, align 4, !tbaa !5
  %20404 = call ptr @strerror(i32 noundef %20403) #10
  %20405 = call ptr @__errno_location() #11
  %20406 = load i32, ptr %20405, align 4, !tbaa !5
  %20407 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20394, ptr noundef @.str.2, i32 noundef %20395, ptr noundef @.str.130, ptr noundef @.str.1, i32 noundef 894, ptr noundef %20398, ptr noundef %20401, ptr noundef %20404, i32 noundef %20406) #10
  br label %20425

20408:                                            ; preds = %20386, %20379
  %20409 = load i32, ptr %566, align 4, !tbaa !5
  %20410 = call ptr @__errno_location() #11
  store i32 %20409, ptr %20410, align 4, !tbaa !5
  %20411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20412 = load i32, ptr @test_count, align 4, !tbaa !5
  %20413 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20414 = load i32, ptr %20413, align 4, !tbaa !5
  %20415 = call ptr @s2n_strerror(i32 noundef %20414, ptr noundef @.str.4)
  %20416 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20417 = load i32, ptr %20416, align 4, !tbaa !5
  %20418 = call ptr @s2n_strerror_debug(i32 noundef %20417, ptr noundef @.str.4)
  %20419 = call ptr @__errno_location() #11
  %20420 = load i32, ptr %20419, align 4, !tbaa !5
  %20421 = call ptr @strerror(i32 noundef %20420) #10
  %20422 = call ptr @__errno_location() #11
  %20423 = load i32, ptr %20422, align 4, !tbaa !5
  %20424 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20411, ptr noundef @.str.5, i32 noundef %20412, ptr noundef @.str.130, ptr noundef @.str.1, i32 noundef 894, ptr noundef %20415, ptr noundef %20418, ptr noundef %20421, i32 noundef %20423) #10
  br label %20425

20425:                                            ; preds = %20408, %20391
  call void @llvm.lifetime.end.p0(i64 4, ptr %566) #10
  br label %20426

20426:                                            ; preds = %20425
  br label %20427

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

20428:                                            ; No predecessors!
  br label %20429

20429:                                            ; preds = %20428
  br label %20430

20430:                                            ; preds = %20429, %20371
  br label %20431

20431:                                            ; preds = %20430
  br label %20432

20432:                                            ; preds = %20431
  br label %20433

20433:                                            ; preds = %20432
  %20434 = load i32, ptr @test_count, align 4, !tbaa !5
  %20435 = add nsw i32 %20434, 1
  store i32 %20435, ptr @test_count, align 4, !tbaa !5
  %20436 = load i64, ptr %565, align 8, !tbaa !21
  %20437 = icmp ne i64 %20436, 0
  br i1 %20437, label %20491, label %20438

20438:                                            ; preds = %20433
  br label %20439

20439:                                            ; preds = %20438
  br label %20440

20440:                                            ; preds = %20439
  call void @llvm.lifetime.start.p0(i64 4, ptr %567) #10
  %20441 = call ptr @__errno_location() #11
  %20442 = load i32, ptr %20441, align 4, !tbaa !5
  store i32 %20442, ptr %567, align 4, !tbaa !5
  %20443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20444 = call i32 @s2n_print_stacktrace(ptr noundef %20443)
  %20445 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20446 = trunc i8 %20445 to i1
  br i1 %20446, label %20447, label %20469

20447:                                            ; preds = %20440
  %20448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20449 = call i32 @fileno(ptr noundef %20448) #10
  %20450 = call i32 @isatty(i32 noundef %20449) #10
  %20451 = icmp ne i32 %20450, 0
  br i1 %20451, label %20452, label %20469

20452:                                            ; preds = %20447
  %20453 = load i32, ptr %567, align 4, !tbaa !5
  %20454 = call ptr @__errno_location() #11
  store i32 %20453, ptr %20454, align 4, !tbaa !5
  %20455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20456 = load i32, ptr @test_count, align 4, !tbaa !5
  %20457 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20458 = load i32, ptr %20457, align 4, !tbaa !5
  %20459 = call ptr @s2n_strerror(i32 noundef %20458, ptr noundef @.str.4)
  %20460 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20461 = load i32, ptr %20460, align 4, !tbaa !5
  %20462 = call ptr @s2n_strerror_debug(i32 noundef %20461, ptr noundef @.str.4)
  %20463 = call ptr @__errno_location() #11
  %20464 = load i32, ptr %20463, align 4, !tbaa !5
  %20465 = call ptr @strerror(i32 noundef %20464) #10
  %20466 = call ptr @__errno_location() #11
  %20467 = load i32, ptr %20466, align 4, !tbaa !5
  %20468 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20455, ptr noundef @.str.2, i32 noundef %20456, ptr noundef @.str.131, ptr noundef @.str.1, i32 noundef 895, ptr noundef %20459, ptr noundef %20462, ptr noundef %20465, i32 noundef %20467) #10
  br label %20486

20469:                                            ; preds = %20447, %20440
  %20470 = load i32, ptr %567, align 4, !tbaa !5
  %20471 = call ptr @__errno_location() #11
  store i32 %20470, ptr %20471, align 4, !tbaa !5
  %20472 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20473 = load i32, ptr @test_count, align 4, !tbaa !5
  %20474 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20475 = load i32, ptr %20474, align 4, !tbaa !5
  %20476 = call ptr @s2n_strerror(i32 noundef %20475, ptr noundef @.str.4)
  %20477 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20478 = load i32, ptr %20477, align 4, !tbaa !5
  %20479 = call ptr @s2n_strerror_debug(i32 noundef %20478, ptr noundef @.str.4)
  %20480 = call ptr @__errno_location() #11
  %20481 = load i32, ptr %20480, align 4, !tbaa !5
  %20482 = call ptr @strerror(i32 noundef %20481) #10
  %20483 = call ptr @__errno_location() #11
  %20484 = load i32, ptr %20483, align 4, !tbaa !5
  %20485 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20472, ptr noundef @.str.5, i32 noundef %20473, ptr noundef @.str.131, ptr noundef @.str.1, i32 noundef 895, ptr noundef %20476, ptr noundef %20479, ptr noundef %20482, i32 noundef %20484) #10
  br label %20486

20486:                                            ; preds = %20469, %20452
  call void @llvm.lifetime.end.p0(i64 4, ptr %567) #10
  br label %20487

20487:                                            ; preds = %20486
  br label %20488

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

20489:                                            ; No predecessors!
  br label %20490

20490:                                            ; preds = %20489
  br label %20491

20491:                                            ; preds = %20490, %20433
  br label %20492

20492:                                            ; preds = %20491
  br label %20493

20493:                                            ; preds = %20492
  br label %20494

20494:                                            ; preds = %20493
  %20495 = load i32, ptr @test_count, align 4, !tbaa !5
  %20496 = add nsw i32 %20495, 1
  store i32 %20496, ptr @test_count, align 4, !tbaa !5
  %20497 = load i64, ptr %562, align 8, !tbaa !21
  %20498 = load i64, ptr %565, align 8, !tbaa !21
  %20499 = icmp eq i64 %20497, %20498
  br i1 %20499, label %20553, label %20500

20500:                                            ; preds = %20494
  br label %20501

20501:                                            ; preds = %20500
  br label %20502

20502:                                            ; preds = %20501
  call void @llvm.lifetime.start.p0(i64 4, ptr %568) #10
  %20503 = call ptr @__errno_location() #11
  %20504 = load i32, ptr %20503, align 4, !tbaa !5
  store i32 %20504, ptr %568, align 4, !tbaa !5
  %20505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20506 = call i32 @s2n_print_stacktrace(ptr noundef %20505)
  %20507 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20508 = trunc i8 %20507 to i1
  br i1 %20508, label %20509, label %20531

20509:                                            ; preds = %20502
  %20510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20511 = call i32 @fileno(ptr noundef %20510) #10
  %20512 = call i32 @isatty(i32 noundef %20511) #10
  %20513 = icmp ne i32 %20512, 0
  br i1 %20513, label %20514, label %20531

20514:                                            ; preds = %20509
  %20515 = load i32, ptr %568, align 4, !tbaa !5
  %20516 = call ptr @__errno_location() #11
  store i32 %20515, ptr %20516, align 4, !tbaa !5
  %20517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20518 = load i32, ptr @test_count, align 4, !tbaa !5
  %20519 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20520 = load i32, ptr %20519, align 4, !tbaa !5
  %20521 = call ptr @s2n_strerror(i32 noundef %20520, ptr noundef @.str.4)
  %20522 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20523 = load i32, ptr %20522, align 4, !tbaa !5
  %20524 = call ptr @s2n_strerror_debug(i32 noundef %20523, ptr noundef @.str.4)
  %20525 = call ptr @__errno_location() #11
  %20526 = load i32, ptr %20525, align 4, !tbaa !5
  %20527 = call ptr @strerror(i32 noundef %20526) #10
  %20528 = call ptr @__errno_location() #11
  %20529 = load i32, ptr %20528, align 4, !tbaa !5
  %20530 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20517, ptr noundef @.str.2, i32 noundef %20518, ptr noundef @.str.132, ptr noundef @.str.1, i32 noundef 897, ptr noundef %20521, ptr noundef %20524, ptr noundef %20527, i32 noundef %20529) #10
  br label %20548

20531:                                            ; preds = %20509, %20502
  %20532 = load i32, ptr %568, align 4, !tbaa !5
  %20533 = call ptr @__errno_location() #11
  store i32 %20532, ptr %20533, align 4, !tbaa !5
  %20534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20535 = load i32, ptr @test_count, align 4, !tbaa !5
  %20536 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20537 = load i32, ptr %20536, align 4, !tbaa !5
  %20538 = call ptr @s2n_strerror(i32 noundef %20537, ptr noundef @.str.4)
  %20539 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20540 = load i32, ptr %20539, align 4, !tbaa !5
  %20541 = call ptr @s2n_strerror_debug(i32 noundef %20540, ptr noundef @.str.4)
  %20542 = call ptr @__errno_location() #11
  %20543 = load i32, ptr %20542, align 4, !tbaa !5
  %20544 = call ptr @strerror(i32 noundef %20543) #10
  %20545 = call ptr @__errno_location() #11
  %20546 = load i32, ptr %20545, align 4, !tbaa !5
  %20547 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20534, ptr noundef @.str.5, i32 noundef %20535, ptr noundef @.str.132, ptr noundef @.str.1, i32 noundef 897, ptr noundef %20538, ptr noundef %20541, ptr noundef %20544, i32 noundef %20546) #10
  br label %20548

20548:                                            ; preds = %20531, %20514
  call void @llvm.lifetime.end.p0(i64 4, ptr %568) #10
  br label %20549

20549:                                            ; preds = %20548
  br label %20550

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

20551:                                            ; No predecessors!
  br label %20552

20552:                                            ; preds = %20551
  br label %20553

20553:                                            ; preds = %20552, %20494
  br label %20554

20554:                                            ; preds = %20553
  br label %20555

20555:                                            ; preds = %20554
  br label %20556

20556:                                            ; preds = %20555
  %20557 = load i32, ptr @test_count, align 4, !tbaa !5
  %20558 = add nsw i32 %20557, 1
  store i32 %20558, ptr @test_count, align 4, !tbaa !5
  %20559 = load i64, ptr %553, align 8, !tbaa !21
  %20560 = load i64, ptr %565, align 8, !tbaa !21
  %20561 = icmp ne i64 %20559, %20560
  br i1 %20561, label %20615, label %20562

20562:                                            ; preds = %20556
  br label %20563

20563:                                            ; preds = %20562
  br label %20564

20564:                                            ; preds = %20563
  call void @llvm.lifetime.start.p0(i64 4, ptr %569) #10
  %20565 = call ptr @__errno_location() #11
  %20566 = load i32, ptr %20565, align 4, !tbaa !5
  store i32 %20566, ptr %569, align 4, !tbaa !5
  %20567 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20568 = call i32 @s2n_print_stacktrace(ptr noundef %20567)
  %20569 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20570 = trunc i8 %20569 to i1
  br i1 %20570, label %20571, label %20593

20571:                                            ; preds = %20564
  %20572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20573 = call i32 @fileno(ptr noundef %20572) #10
  %20574 = call i32 @isatty(i32 noundef %20573) #10
  %20575 = icmp ne i32 %20574, 0
  br i1 %20575, label %20576, label %20593

20576:                                            ; preds = %20571
  %20577 = load i32, ptr %569, align 4, !tbaa !5
  %20578 = call ptr @__errno_location() #11
  store i32 %20577, ptr %20578, align 4, !tbaa !5
  %20579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20580 = load i32, ptr @test_count, align 4, !tbaa !5
  %20581 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20582 = load i32, ptr %20581, align 4, !tbaa !5
  %20583 = call ptr @s2n_strerror(i32 noundef %20582, ptr noundef @.str.4)
  %20584 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20585 = load i32, ptr %20584, align 4, !tbaa !5
  %20586 = call ptr @s2n_strerror_debug(i32 noundef %20585, ptr noundef @.str.4)
  %20587 = call ptr @__errno_location() #11
  %20588 = load i32, ptr %20587, align 4, !tbaa !5
  %20589 = call ptr @strerror(i32 noundef %20588) #10
  %20590 = call ptr @__errno_location() #11
  %20591 = load i32, ptr %20590, align 4, !tbaa !5
  %20592 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20579, ptr noundef @.str.2, i32 noundef %20580, ptr noundef @.str.133, ptr noundef @.str.1, i32 noundef 900, ptr noundef %20583, ptr noundef %20586, ptr noundef %20589, i32 noundef %20591) #10
  br label %20610

20593:                                            ; preds = %20571, %20564
  %20594 = load i32, ptr %569, align 4, !tbaa !5
  %20595 = call ptr @__errno_location() #11
  store i32 %20594, ptr %20595, align 4, !tbaa !5
  %20596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20597 = load i32, ptr @test_count, align 4, !tbaa !5
  %20598 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20599 = load i32, ptr %20598, align 4, !tbaa !5
  %20600 = call ptr @s2n_strerror(i32 noundef %20599, ptr noundef @.str.4)
  %20601 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20602 = load i32, ptr %20601, align 4, !tbaa !5
  %20603 = call ptr @s2n_strerror_debug(i32 noundef %20602, ptr noundef @.str.4)
  %20604 = call ptr @__errno_location() #11
  %20605 = load i32, ptr %20604, align 4, !tbaa !5
  %20606 = call ptr @strerror(i32 noundef %20605) #10
  %20607 = call ptr @__errno_location() #11
  %20608 = load i32, ptr %20607, align 4, !tbaa !5
  %20609 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20596, ptr noundef @.str.5, i32 noundef %20597, ptr noundef @.str.133, ptr noundef @.str.1, i32 noundef 900, ptr noundef %20600, ptr noundef %20603, ptr noundef %20606, i32 noundef %20608) #10
  br label %20610

20610:                                            ; preds = %20593, %20576
  call void @llvm.lifetime.end.p0(i64 4, ptr %569) #10
  br label %20611

20611:                                            ; preds = %20610
  br label %20612

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

20613:                                            ; No predecessors!
  br label %20614

20614:                                            ; preds = %20613
  br label %20615

20615:                                            ; preds = %20614, %20556
  br label %20616

20616:                                            ; preds = %20615
  br label %20617

20617:                                            ; preds = %20616
  call void @llvm.lifetime.end.p0(i64 8, ptr %565) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %562) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %560) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %556) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %553) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %551) #10
  br label %20618

20618:                                            ; preds = %20617
  %20619 = load i32, ptr @test_count, align 4, !tbaa !5
  %20620 = add nsw i32 %20619, 1
  store i32 %20620, ptr @test_count, align 4, !tbaa !5
  %20621 = load ptr, ptr %45, align 8, !tbaa !9
  %20622 = call i32 @s2n_crl_validate_active(ptr noundef %20621)
  %20623 = icmp eq i32 %20622, -1
  br i1 %20623, label %20624, label %20677

20624:                                            ; preds = %20618
  br label %20625

20625:                                            ; preds = %20624
  br label %20626

20626:                                            ; preds = %20625
  call void @llvm.lifetime.start.p0(i64 4, ptr %570) #10
  %20627 = call ptr @__errno_location() #11
  %20628 = load i32, ptr %20627, align 4, !tbaa !5
  store i32 %20628, ptr %570, align 4, !tbaa !5
  %20629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20630 = call i32 @s2n_print_stacktrace(ptr noundef %20629)
  %20631 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20632 = trunc i8 %20631 to i1
  br i1 %20632, label %20633, label %20655

20633:                                            ; preds = %20626
  %20634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20635 = call i32 @fileno(ptr noundef %20634) #10
  %20636 = call i32 @isatty(i32 noundef %20635) #10
  %20637 = icmp ne i32 %20636, 0
  br i1 %20637, label %20638, label %20655

20638:                                            ; preds = %20633
  %20639 = load i32, ptr %570, align 4, !tbaa !5
  %20640 = call ptr @__errno_location() #11
  store i32 %20639, ptr %20640, align 4, !tbaa !5
  %20641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20642 = load i32, ptr @test_count, align 4, !tbaa !5
  %20643 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20644 = load i32, ptr %20643, align 4, !tbaa !5
  %20645 = call ptr @s2n_strerror(i32 noundef %20644, ptr noundef @.str.4)
  %20646 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20647 = load i32, ptr %20646, align 4, !tbaa !5
  %20648 = call ptr @s2n_strerror_debug(i32 noundef %20647, ptr noundef @.str.4)
  %20649 = call ptr @__errno_location() #11
  %20650 = load i32, ptr %20649, align 4, !tbaa !5
  %20651 = call ptr @strerror(i32 noundef %20650) #10
  %20652 = call ptr @__errno_location() #11
  %20653 = load i32, ptr %20652, align 4, !tbaa !5
  %20654 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20641, ptr noundef @.str.2, i32 noundef %20642, ptr noundef @.str.134, ptr noundef @.str.1, i32 noundef 906, ptr noundef %20645, ptr noundef %20648, ptr noundef %20651, i32 noundef %20653) #10
  br label %20672

20655:                                            ; preds = %20633, %20626
  %20656 = load i32, ptr %570, align 4, !tbaa !5
  %20657 = call ptr @__errno_location() #11
  store i32 %20656, ptr %20657, align 4, !tbaa !5
  %20658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20659 = load i32, ptr @test_count, align 4, !tbaa !5
  %20660 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20661 = load i32, ptr %20660, align 4, !tbaa !5
  %20662 = call ptr @s2n_strerror(i32 noundef %20661, ptr noundef @.str.4)
  %20663 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20664 = load i32, ptr %20663, align 4, !tbaa !5
  %20665 = call ptr @s2n_strerror_debug(i32 noundef %20664, ptr noundef @.str.4)
  %20666 = call ptr @__errno_location() #11
  %20667 = load i32, ptr %20666, align 4, !tbaa !5
  %20668 = call ptr @strerror(i32 noundef %20667) #10
  %20669 = call ptr @__errno_location() #11
  %20670 = load i32, ptr %20669, align 4, !tbaa !5
  %20671 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20658, ptr noundef @.str.5, i32 noundef %20659, ptr noundef @.str.134, ptr noundef @.str.1, i32 noundef 906, ptr noundef %20662, ptr noundef %20665, ptr noundef %20668, i32 noundef %20670) #10
  br label %20672

20672:                                            ; preds = %20655, %20638
  call void @llvm.lifetime.end.p0(i64 4, ptr %570) #10
  br label %20673

20673:                                            ; preds = %20672
  br label %20674

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

20675:                                            ; No predecessors!
  br label %20676

20676:                                            ; preds = %20675
  br label %20677

20677:                                            ; preds = %20676, %20618
  br label %20678

20678:                                            ; preds = %20677
  br label %20679

20679:                                            ; preds = %20678
  br label %20680

20680:                                            ; preds = %20679
  %20681 = load i32, ptr @test_count, align 4, !tbaa !5
  %20682 = add nsw i32 %20681, 1
  store i32 %20682, ptr @test_count, align 4, !tbaa !5
  %20683 = load ptr, ptr %51, align 8, !tbaa !9
  %20684 = call i32 @s2n_crl_validate_active(ptr noundef %20683)
  %20685 = icmp eq i32 %20684, -1
  br i1 %20685, label %20686, label %20739

20686:                                            ; preds = %20680
  br label %20687

20687:                                            ; preds = %20686
  br label %20688

20688:                                            ; preds = %20687
  call void @llvm.lifetime.start.p0(i64 4, ptr %571) #10
  %20689 = call ptr @__errno_location() #11
  %20690 = load i32, ptr %20689, align 4, !tbaa !5
  store i32 %20690, ptr %571, align 4, !tbaa !5
  %20691 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20692 = call i32 @s2n_print_stacktrace(ptr noundef %20691)
  %20693 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20694 = trunc i8 %20693 to i1
  br i1 %20694, label %20695, label %20717

20695:                                            ; preds = %20688
  %20696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20697 = call i32 @fileno(ptr noundef %20696) #10
  %20698 = call i32 @isatty(i32 noundef %20697) #10
  %20699 = icmp ne i32 %20698, 0
  br i1 %20699, label %20700, label %20717

20700:                                            ; preds = %20695
  %20701 = load i32, ptr %571, align 4, !tbaa !5
  %20702 = call ptr @__errno_location() #11
  store i32 %20701, ptr %20702, align 4, !tbaa !5
  %20703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20704 = load i32, ptr @test_count, align 4, !tbaa !5
  %20705 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20706 = load i32, ptr %20705, align 4, !tbaa !5
  %20707 = call ptr @s2n_strerror(i32 noundef %20706, ptr noundef @.str.4)
  %20708 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20709 = load i32, ptr %20708, align 4, !tbaa !5
  %20710 = call ptr @s2n_strerror_debug(i32 noundef %20709, ptr noundef @.str.4)
  %20711 = call ptr @__errno_location() #11
  %20712 = load i32, ptr %20711, align 4, !tbaa !5
  %20713 = call ptr @strerror(i32 noundef %20712) #10
  %20714 = call ptr @__errno_location() #11
  %20715 = load i32, ptr %20714, align 4, !tbaa !5
  %20716 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20703, ptr noundef @.str.2, i32 noundef %20704, ptr noundef @.str.135, ptr noundef @.str.1, i32 noundef 909, ptr noundef %20707, ptr noundef %20710, ptr noundef %20713, i32 noundef %20715) #10
  br label %20734

20717:                                            ; preds = %20695, %20688
  %20718 = load i32, ptr %571, align 4, !tbaa !5
  %20719 = call ptr @__errno_location() #11
  store i32 %20718, ptr %20719, align 4, !tbaa !5
  %20720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20721 = load i32, ptr @test_count, align 4, !tbaa !5
  %20722 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20723 = load i32, ptr %20722, align 4, !tbaa !5
  %20724 = call ptr @s2n_strerror(i32 noundef %20723, ptr noundef @.str.4)
  %20725 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20726 = load i32, ptr %20725, align 4, !tbaa !5
  %20727 = call ptr @s2n_strerror_debug(i32 noundef %20726, ptr noundef @.str.4)
  %20728 = call ptr @__errno_location() #11
  %20729 = load i32, ptr %20728, align 4, !tbaa !5
  %20730 = call ptr @strerror(i32 noundef %20729) #10
  %20731 = call ptr @__errno_location() #11
  %20732 = load i32, ptr %20731, align 4, !tbaa !5
  %20733 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20720, ptr noundef @.str.5, i32 noundef %20721, ptr noundef @.str.135, ptr noundef @.str.1, i32 noundef 909, ptr noundef %20724, ptr noundef %20727, ptr noundef %20730, i32 noundef %20732) #10
  br label %20734

20734:                                            ; preds = %20717, %20700
  call void @llvm.lifetime.end.p0(i64 4, ptr %571) #10
  br label %20735

20735:                                            ; preds = %20734
  br label %20736

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

20737:                                            ; No predecessors!
  br label %20738

20738:                                            ; preds = %20737
  br label %20739

20739:                                            ; preds = %20738, %20680
  br label %20740

20740:                                            ; preds = %20739
  br label %20741

20741:                                            ; preds = %20740
  br label %20742

20742:                                            ; preds = %20741
  br label %20743

20743:                                            ; preds = %20742
  br label %20744

20744:                                            ; preds = %20743
  %20745 = load i32, ptr @test_count, align 4, !tbaa !5
  %20746 = add nsw i32 %20745, 1
  store i32 %20746, ptr @test_count, align 4, !tbaa !5
  %20747 = load ptr, ptr %49, align 8, !tbaa !9
  %20748 = call i32 @s2n_crl_validate_active(ptr noundef %20747)
  %20749 = icmp eq i32 %20748, -1
  br i1 %20749, label %20803, label %20750

20750:                                            ; preds = %20744
  br label %20751

20751:                                            ; preds = %20750
  br label %20752

20752:                                            ; preds = %20751
  call void @llvm.lifetime.start.p0(i64 4, ptr %572) #10
  %20753 = call ptr @__errno_location() #11
  %20754 = load i32, ptr %20753, align 4, !tbaa !5
  store i32 %20754, ptr %572, align 4, !tbaa !5
  %20755 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20756 = call i32 @s2n_print_stacktrace(ptr noundef %20755)
  %20757 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20758 = trunc i8 %20757 to i1
  br i1 %20758, label %20759, label %20781

20759:                                            ; preds = %20752
  %20760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20761 = call i32 @fileno(ptr noundef %20760) #10
  %20762 = call i32 @isatty(i32 noundef %20761) #10
  %20763 = icmp ne i32 %20762, 0
  br i1 %20763, label %20764, label %20781

20764:                                            ; preds = %20759
  %20765 = load i32, ptr %572, align 4, !tbaa !5
  %20766 = call ptr @__errno_location() #11
  store i32 %20765, ptr %20766, align 4, !tbaa !5
  %20767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20768 = load i32, ptr @test_count, align 4, !tbaa !5
  %20769 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20770 = load i32, ptr %20769, align 4, !tbaa !5
  %20771 = call ptr @s2n_strerror(i32 noundef %20770, ptr noundef @.str.4)
  %20772 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20773 = load i32, ptr %20772, align 4, !tbaa !5
  %20774 = call ptr @s2n_strerror_debug(i32 noundef %20773, ptr noundef @.str.4)
  %20775 = call ptr @__errno_location() #11
  %20776 = load i32, ptr %20775, align 4, !tbaa !5
  %20777 = call ptr @strerror(i32 noundef %20776) #10
  %20778 = call ptr @__errno_location() #11
  %20779 = load i32, ptr %20778, align 4, !tbaa !5
  %20780 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20767, ptr noundef @.str.2, i32 noundef %20768, ptr noundef @.str.136, ptr noundef @.str.1, i32 noundef 913, ptr noundef %20771, ptr noundef %20774, ptr noundef %20777, i32 noundef %20779) #10
  br label %20798

20781:                                            ; preds = %20759, %20752
  %20782 = load i32, ptr %572, align 4, !tbaa !5
  %20783 = call ptr @__errno_location() #11
  store i32 %20782, ptr %20783, align 4, !tbaa !5
  %20784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20785 = load i32, ptr @test_count, align 4, !tbaa !5
  %20786 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20787 = load i32, ptr %20786, align 4, !tbaa !5
  %20788 = call ptr @s2n_strerror(i32 noundef %20787, ptr noundef @.str.4)
  %20789 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20790 = load i32, ptr %20789, align 4, !tbaa !5
  %20791 = call ptr @s2n_strerror_debug(i32 noundef %20790, ptr noundef @.str.4)
  %20792 = call ptr @__errno_location() #11
  %20793 = load i32, ptr %20792, align 4, !tbaa !5
  %20794 = call ptr @strerror(i32 noundef %20793) #10
  %20795 = call ptr @__errno_location() #11
  %20796 = load i32, ptr %20795, align 4, !tbaa !5
  %20797 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20784, ptr noundef @.str.5, i32 noundef %20785, ptr noundef @.str.136, ptr noundef @.str.1, i32 noundef 913, ptr noundef %20788, ptr noundef %20791, ptr noundef %20794, i32 noundef %20796) #10
  br label %20798

20798:                                            ; preds = %20781, %20764
  call void @llvm.lifetime.end.p0(i64 4, ptr %572) #10
  br label %20799

20799:                                            ; preds = %20798
  br label %20800

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

20801:                                            ; No predecessors!
  br label %20802

20802:                                            ; preds = %20801
  br label %20803

20803:                                            ; preds = %20802, %20744
  br label %20804

20804:                                            ; preds = %20803
  br label %20805

20805:                                            ; preds = %20804
  br label %20806

20806:                                            ; preds = %20805
  %20807 = load i32, ptr @test_count, align 4, !tbaa !5
  %20808 = add nsw i32 %20807, 1
  store i32 %20808, ptr @test_count, align 4, !tbaa !5
  %20809 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20810 = load i32, ptr %20809, align 4, !tbaa !5
  %20811 = icmp eq i32 %20810, 335544380
  br i1 %20811, label %20865, label %20812

20812:                                            ; preds = %20806
  br label %20813

20813:                                            ; preds = %20812
  br label %20814

20814:                                            ; preds = %20813
  call void @llvm.lifetime.start.p0(i64 4, ptr %573) #10
  %20815 = call ptr @__errno_location() #11
  %20816 = load i32, ptr %20815, align 4, !tbaa !5
  store i32 %20816, ptr %573, align 4, !tbaa !5
  %20817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20818 = call i32 @s2n_print_stacktrace(ptr noundef %20817)
  %20819 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20820 = trunc i8 %20819 to i1
  br i1 %20820, label %20821, label %20843

20821:                                            ; preds = %20814
  %20822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20823 = call i32 @fileno(ptr noundef %20822) #10
  %20824 = call i32 @isatty(i32 noundef %20823) #10
  %20825 = icmp ne i32 %20824, 0
  br i1 %20825, label %20826, label %20843

20826:                                            ; preds = %20821
  %20827 = load i32, ptr %573, align 4, !tbaa !5
  %20828 = call ptr @__errno_location() #11
  store i32 %20827, ptr %20828, align 4, !tbaa !5
  %20829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20830 = load i32, ptr @test_count, align 4, !tbaa !5
  %20831 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20832 = load i32, ptr %20831, align 4, !tbaa !5
  %20833 = call ptr @s2n_strerror(i32 noundef %20832, ptr noundef @.str.4)
  %20834 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20835 = load i32, ptr %20834, align 4, !tbaa !5
  %20836 = call ptr @s2n_strerror_debug(i32 noundef %20835, ptr noundef @.str.4)
  %20837 = call ptr @__errno_location() #11
  %20838 = load i32, ptr %20837, align 4, !tbaa !5
  %20839 = call ptr @strerror(i32 noundef %20838) #10
  %20840 = call ptr @__errno_location() #11
  %20841 = load i32, ptr %20840, align 4, !tbaa !5
  %20842 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20829, ptr noundef @.str.2, i32 noundef %20830, ptr noundef @.str.137, ptr noundef @.str.1, i32 noundef 913, ptr noundef %20833, ptr noundef %20836, ptr noundef %20839, i32 noundef %20841) #10
  br label %20860

20843:                                            ; preds = %20821, %20814
  %20844 = load i32, ptr %573, align 4, !tbaa !5
  %20845 = call ptr @__errno_location() #11
  store i32 %20844, ptr %20845, align 4, !tbaa !5
  %20846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20847 = load i32, ptr @test_count, align 4, !tbaa !5
  %20848 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20849 = load i32, ptr %20848, align 4, !tbaa !5
  %20850 = call ptr @s2n_strerror(i32 noundef %20849, ptr noundef @.str.4)
  %20851 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20852 = load i32, ptr %20851, align 4, !tbaa !5
  %20853 = call ptr @s2n_strerror_debug(i32 noundef %20852, ptr noundef @.str.4)
  %20854 = call ptr @__errno_location() #11
  %20855 = load i32, ptr %20854, align 4, !tbaa !5
  %20856 = call ptr @strerror(i32 noundef %20855) #10
  %20857 = call ptr @__errno_location() #11
  %20858 = load i32, ptr %20857, align 4, !tbaa !5
  %20859 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20846, ptr noundef @.str.5, i32 noundef %20847, ptr noundef @.str.137, ptr noundef @.str.1, i32 noundef 913, ptr noundef %20850, ptr noundef %20853, ptr noundef %20856, i32 noundef %20858) #10
  br label %20860

20860:                                            ; preds = %20843, %20826
  call void @llvm.lifetime.end.p0(i64 4, ptr %573) #10
  br label %20861

20861:                                            ; preds = %20860
  br label %20862

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

20863:                                            ; No predecessors!
  br label %20864

20864:                                            ; preds = %20863
  br label %20865

20865:                                            ; preds = %20864, %20806
  br label %20866

20866:                                            ; preds = %20865
  br label %20867

20867:                                            ; preds = %20866
  br label %20868

20868:                                            ; preds = %20867
  %20869 = load i32, ptr @test_count, align 4, !tbaa !5
  %20870 = add nsw i32 %20869, 1
  store i32 %20870, ptr @test_count, align 4, !tbaa !5
  %20871 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20872 = load i32, ptr %20871, align 4, !tbaa !5
  %20873 = call ptr @s2n_strerror_debug(i32 noundef %20872, ptr noundef @.str.4)
  %20874 = icmp eq ptr %20873, null
  br i1 %20874, label %20875, label %20928

20875:                                            ; preds = %20868
  br label %20876

20876:                                            ; preds = %20875
  br label %20877

20877:                                            ; preds = %20876
  call void @llvm.lifetime.start.p0(i64 4, ptr %574) #10
  %20878 = call ptr @__errno_location() #11
  %20879 = load i32, ptr %20878, align 4, !tbaa !5
  store i32 %20879, ptr %574, align 4, !tbaa !5
  %20880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20881 = call i32 @s2n_print_stacktrace(ptr noundef %20880)
  %20882 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20883 = trunc i8 %20882 to i1
  br i1 %20883, label %20884, label %20906

20884:                                            ; preds = %20877
  %20885 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20886 = call i32 @fileno(ptr noundef %20885) #10
  %20887 = call i32 @isatty(i32 noundef %20886) #10
  %20888 = icmp ne i32 %20887, 0
  br i1 %20888, label %20889, label %20906

20889:                                            ; preds = %20884
  %20890 = load i32, ptr %574, align 4, !tbaa !5
  %20891 = call ptr @__errno_location() #11
  store i32 %20890, ptr %20891, align 4, !tbaa !5
  %20892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20893 = load i32, ptr @test_count, align 4, !tbaa !5
  %20894 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20895 = load i32, ptr %20894, align 4, !tbaa !5
  %20896 = call ptr @s2n_strerror(i32 noundef %20895, ptr noundef @.str.4)
  %20897 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20898 = load i32, ptr %20897, align 4, !tbaa !5
  %20899 = call ptr @s2n_strerror_debug(i32 noundef %20898, ptr noundef @.str.4)
  %20900 = call ptr @__errno_location() #11
  %20901 = load i32, ptr %20900, align 4, !tbaa !5
  %20902 = call ptr @strerror(i32 noundef %20901) #10
  %20903 = call ptr @__errno_location() #11
  %20904 = load i32, ptr %20903, align 4, !tbaa !5
  %20905 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20892, ptr noundef @.str.2, i32 noundef %20893, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 913, ptr noundef %20896, ptr noundef %20899, ptr noundef %20902, i32 noundef %20904) #10
  br label %20923

20906:                                            ; preds = %20884, %20877
  %20907 = load i32, ptr %574, align 4, !tbaa !5
  %20908 = call ptr @__errno_location() #11
  store i32 %20907, ptr %20908, align 4, !tbaa !5
  %20909 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20910 = load i32, ptr @test_count, align 4, !tbaa !5
  %20911 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20912 = load i32, ptr %20911, align 4, !tbaa !5
  %20913 = call ptr @s2n_strerror(i32 noundef %20912, ptr noundef @.str.4)
  %20914 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20915 = load i32, ptr %20914, align 4, !tbaa !5
  %20916 = call ptr @s2n_strerror_debug(i32 noundef %20915, ptr noundef @.str.4)
  %20917 = call ptr @__errno_location() #11
  %20918 = load i32, ptr %20917, align 4, !tbaa !5
  %20919 = call ptr @strerror(i32 noundef %20918) #10
  %20920 = call ptr @__errno_location() #11
  %20921 = load i32, ptr %20920, align 4, !tbaa !5
  %20922 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20909, ptr noundef @.str.5, i32 noundef %20910, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 913, ptr noundef %20913, ptr noundef %20916, ptr noundef %20919, i32 noundef %20921) #10
  br label %20923

20923:                                            ; preds = %20906, %20889
  call void @llvm.lifetime.end.p0(i64 4, ptr %574) #10
  br label %20924

20924:                                            ; preds = %20923
  br label %20925

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

20926:                                            ; No predecessors!
  br label %20927

20927:                                            ; preds = %20926
  br label %20928

20928:                                            ; preds = %20927, %20868
  br label %20929

20929:                                            ; preds = %20928
  br label %20930

20930:                                            ; preds = %20929
  br label %20931

20931:                                            ; preds = %20930
  br label %20932

20932:                                            ; preds = %20931
  br label %20933

20933:                                            ; preds = %20932
  %20934 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %20934, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %20935 = call ptr @__errno_location() #11
  store i32 0, ptr %20935, align 4, !tbaa !5
  br label %20936

20936:                                            ; preds = %20933
  br label %20937

20937:                                            ; preds = %20936
  br label %20938

20938:                                            ; preds = %20937
  br label %20939

20939:                                            ; preds = %20938
  br label %20940

20940:                                            ; preds = %20939
  %20941 = load i32, ptr @test_count, align 4, !tbaa !5
  %20942 = add nsw i32 %20941, 1
  store i32 %20942, ptr @test_count, align 4, !tbaa !5
  %20943 = load ptr, ptr %45, align 8, !tbaa !9
  %20944 = call i32 @s2n_crl_validate_not_expired(ptr noundef %20943)
  %20945 = icmp eq i32 %20944, -1
  br i1 %20945, label %20946, label %20999

20946:                                            ; preds = %20940
  br label %20947

20947:                                            ; preds = %20946
  br label %20948

20948:                                            ; preds = %20947
  call void @llvm.lifetime.start.p0(i64 4, ptr %575) #10
  %20949 = call ptr @__errno_location() #11
  %20950 = load i32, ptr %20949, align 4, !tbaa !5
  store i32 %20950, ptr %575, align 4, !tbaa !5
  %20951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20952 = call i32 @s2n_print_stacktrace(ptr noundef %20951)
  %20953 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20954 = trunc i8 %20953 to i1
  br i1 %20954, label %20955, label %20977

20955:                                            ; preds = %20948
  %20956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20957 = call i32 @fileno(ptr noundef %20956) #10
  %20958 = call i32 @isatty(i32 noundef %20957) #10
  %20959 = icmp ne i32 %20958, 0
  br i1 %20959, label %20960, label %20977

20960:                                            ; preds = %20955
  %20961 = load i32, ptr %575, align 4, !tbaa !5
  %20962 = call ptr @__errno_location() #11
  store i32 %20961, ptr %20962, align 4, !tbaa !5
  %20963 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20964 = load i32, ptr @test_count, align 4, !tbaa !5
  %20965 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20966 = load i32, ptr %20965, align 4, !tbaa !5
  %20967 = call ptr @s2n_strerror(i32 noundef %20966, ptr noundef @.str.4)
  %20968 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20969 = load i32, ptr %20968, align 4, !tbaa !5
  %20970 = call ptr @s2n_strerror_debug(i32 noundef %20969, ptr noundef @.str.4)
  %20971 = call ptr @__errno_location() #11
  %20972 = load i32, ptr %20971, align 4, !tbaa !5
  %20973 = call ptr @strerror(i32 noundef %20972) #10
  %20974 = call ptr @__errno_location() #11
  %20975 = load i32, ptr %20974, align 4, !tbaa !5
  %20976 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20963, ptr noundef @.str.2, i32 noundef %20964, ptr noundef @.str.138, ptr noundef @.str.1, i32 noundef 919, ptr noundef %20967, ptr noundef %20970, ptr noundef %20973, i32 noundef %20975) #10
  br label %20994

20977:                                            ; preds = %20955, %20948
  %20978 = load i32, ptr %575, align 4, !tbaa !5
  %20979 = call ptr @__errno_location() #11
  store i32 %20978, ptr %20979, align 4, !tbaa !5
  %20980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20981 = load i32, ptr @test_count, align 4, !tbaa !5
  %20982 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20983 = load i32, ptr %20982, align 4, !tbaa !5
  %20984 = call ptr @s2n_strerror(i32 noundef %20983, ptr noundef @.str.4)
  %20985 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20986 = load i32, ptr %20985, align 4, !tbaa !5
  %20987 = call ptr @s2n_strerror_debug(i32 noundef %20986, ptr noundef @.str.4)
  %20988 = call ptr @__errno_location() #11
  %20989 = load i32, ptr %20988, align 4, !tbaa !5
  %20990 = call ptr @strerror(i32 noundef %20989) #10
  %20991 = call ptr @__errno_location() #11
  %20992 = load i32, ptr %20991, align 4, !tbaa !5
  %20993 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20980, ptr noundef @.str.5, i32 noundef %20981, ptr noundef @.str.138, ptr noundef @.str.1, i32 noundef 919, ptr noundef %20984, ptr noundef %20987, ptr noundef %20990, i32 noundef %20992) #10
  br label %20994

20994:                                            ; preds = %20977, %20960
  call void @llvm.lifetime.end.p0(i64 4, ptr %575) #10
  br label %20995

20995:                                            ; preds = %20994
  br label %20996

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

20997:                                            ; No predecessors!
  br label %20998

20998:                                            ; preds = %20997
  br label %20999

20999:                                            ; preds = %20998, %20940
  br label %21000

21000:                                            ; preds = %20999
  br label %21001

21001:                                            ; preds = %21000
  br label %21002

21002:                                            ; preds = %21001
  %21003 = load i32, ptr @test_count, align 4, !tbaa !5
  %21004 = add nsw i32 %21003, 1
  store i32 %21004, ptr @test_count, align 4, !tbaa !5
  %21005 = load ptr, ptr %49, align 8, !tbaa !9
  %21006 = call i32 @s2n_crl_validate_not_expired(ptr noundef %21005)
  %21007 = icmp eq i32 %21006, -1
  br i1 %21007, label %21008, label %21061

21008:                                            ; preds = %21002
  br label %21009

21009:                                            ; preds = %21008
  br label %21010

21010:                                            ; preds = %21009
  call void @llvm.lifetime.start.p0(i64 4, ptr %576) #10
  %21011 = call ptr @__errno_location() #11
  %21012 = load i32, ptr %21011, align 4, !tbaa !5
  store i32 %21012, ptr %576, align 4, !tbaa !5
  %21013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21014 = call i32 @s2n_print_stacktrace(ptr noundef %21013)
  %21015 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21016 = trunc i8 %21015 to i1
  br i1 %21016, label %21017, label %21039

21017:                                            ; preds = %21010
  %21018 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21019 = call i32 @fileno(ptr noundef %21018) #10
  %21020 = call i32 @isatty(i32 noundef %21019) #10
  %21021 = icmp ne i32 %21020, 0
  br i1 %21021, label %21022, label %21039

21022:                                            ; preds = %21017
  %21023 = load i32, ptr %576, align 4, !tbaa !5
  %21024 = call ptr @__errno_location() #11
  store i32 %21023, ptr %21024, align 4, !tbaa !5
  %21025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21026 = load i32, ptr @test_count, align 4, !tbaa !5
  %21027 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21028 = load i32, ptr %21027, align 4, !tbaa !5
  %21029 = call ptr @s2n_strerror(i32 noundef %21028, ptr noundef @.str.4)
  %21030 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21031 = load i32, ptr %21030, align 4, !tbaa !5
  %21032 = call ptr @s2n_strerror_debug(i32 noundef %21031, ptr noundef @.str.4)
  %21033 = call ptr @__errno_location() #11
  %21034 = load i32, ptr %21033, align 4, !tbaa !5
  %21035 = call ptr @strerror(i32 noundef %21034) #10
  %21036 = call ptr @__errno_location() #11
  %21037 = load i32, ptr %21036, align 4, !tbaa !5
  %21038 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21025, ptr noundef @.str.2, i32 noundef %21026, ptr noundef @.str.139, ptr noundef @.str.1, i32 noundef 922, ptr noundef %21029, ptr noundef %21032, ptr noundef %21035, i32 noundef %21037) #10
  br label %21056

21039:                                            ; preds = %21017, %21010
  %21040 = load i32, ptr %576, align 4, !tbaa !5
  %21041 = call ptr @__errno_location() #11
  store i32 %21040, ptr %21041, align 4, !tbaa !5
  %21042 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21043 = load i32, ptr @test_count, align 4, !tbaa !5
  %21044 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21045 = load i32, ptr %21044, align 4, !tbaa !5
  %21046 = call ptr @s2n_strerror(i32 noundef %21045, ptr noundef @.str.4)
  %21047 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21048 = load i32, ptr %21047, align 4, !tbaa !5
  %21049 = call ptr @s2n_strerror_debug(i32 noundef %21048, ptr noundef @.str.4)
  %21050 = call ptr @__errno_location() #11
  %21051 = load i32, ptr %21050, align 4, !tbaa !5
  %21052 = call ptr @strerror(i32 noundef %21051) #10
  %21053 = call ptr @__errno_location() #11
  %21054 = load i32, ptr %21053, align 4, !tbaa !5
  %21055 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21042, ptr noundef @.str.5, i32 noundef %21043, ptr noundef @.str.139, ptr noundef @.str.1, i32 noundef 922, ptr noundef %21046, ptr noundef %21049, ptr noundef %21052, i32 noundef %21054) #10
  br label %21056

21056:                                            ; preds = %21039, %21022
  call void @llvm.lifetime.end.p0(i64 4, ptr %576) #10
  br label %21057

21057:                                            ; preds = %21056
  br label %21058

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

21059:                                            ; No predecessors!
  br label %21060

21060:                                            ; preds = %21059
  br label %21061

21061:                                            ; preds = %21060, %21002
  br label %21062

21062:                                            ; preds = %21061
  br label %21063

21063:                                            ; preds = %21062
  br label %21064

21064:                                            ; preds = %21063
  br label %21065

21065:                                            ; preds = %21064
  br label %21066

21066:                                            ; preds = %21065
  %21067 = load i32, ptr @test_count, align 4, !tbaa !5
  %21068 = add nsw i32 %21067, 1
  store i32 %21068, ptr @test_count, align 4, !tbaa !5
  %21069 = load ptr, ptr %51, align 8, !tbaa !9
  %21070 = call i32 @s2n_crl_validate_not_expired(ptr noundef %21069)
  %21071 = icmp eq i32 %21070, -1
  br i1 %21071, label %21125, label %21072

21072:                                            ; preds = %21066
  br label %21073

21073:                                            ; preds = %21072
  br label %21074

21074:                                            ; preds = %21073
  call void @llvm.lifetime.start.p0(i64 4, ptr %577) #10
  %21075 = call ptr @__errno_location() #11
  %21076 = load i32, ptr %21075, align 4, !tbaa !5
  store i32 %21076, ptr %577, align 4, !tbaa !5
  %21077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21078 = call i32 @s2n_print_stacktrace(ptr noundef %21077)
  %21079 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21080 = trunc i8 %21079 to i1
  br i1 %21080, label %21081, label %21103

21081:                                            ; preds = %21074
  %21082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21083 = call i32 @fileno(ptr noundef %21082) #10
  %21084 = call i32 @isatty(i32 noundef %21083) #10
  %21085 = icmp ne i32 %21084, 0
  br i1 %21085, label %21086, label %21103

21086:                                            ; preds = %21081
  %21087 = load i32, ptr %577, align 4, !tbaa !5
  %21088 = call ptr @__errno_location() #11
  store i32 %21087, ptr %21088, align 4, !tbaa !5
  %21089 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21090 = load i32, ptr @test_count, align 4, !tbaa !5
  %21091 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21092 = load i32, ptr %21091, align 4, !tbaa !5
  %21093 = call ptr @s2n_strerror(i32 noundef %21092, ptr noundef @.str.4)
  %21094 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21095 = load i32, ptr %21094, align 4, !tbaa !5
  %21096 = call ptr @s2n_strerror_debug(i32 noundef %21095, ptr noundef @.str.4)
  %21097 = call ptr @__errno_location() #11
  %21098 = load i32, ptr %21097, align 4, !tbaa !5
  %21099 = call ptr @strerror(i32 noundef %21098) #10
  %21100 = call ptr @__errno_location() #11
  %21101 = load i32, ptr %21100, align 4, !tbaa !5
  %21102 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21089, ptr noundef @.str.2, i32 noundef %21090, ptr noundef @.str.140, ptr noundef @.str.1, i32 noundef 926, ptr noundef %21093, ptr noundef %21096, ptr noundef %21099, i32 noundef %21101) #10
  br label %21120

21103:                                            ; preds = %21081, %21074
  %21104 = load i32, ptr %577, align 4, !tbaa !5
  %21105 = call ptr @__errno_location() #11
  store i32 %21104, ptr %21105, align 4, !tbaa !5
  %21106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21107 = load i32, ptr @test_count, align 4, !tbaa !5
  %21108 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21109 = load i32, ptr %21108, align 4, !tbaa !5
  %21110 = call ptr @s2n_strerror(i32 noundef %21109, ptr noundef @.str.4)
  %21111 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21112 = load i32, ptr %21111, align 4, !tbaa !5
  %21113 = call ptr @s2n_strerror_debug(i32 noundef %21112, ptr noundef @.str.4)
  %21114 = call ptr @__errno_location() #11
  %21115 = load i32, ptr %21114, align 4, !tbaa !5
  %21116 = call ptr @strerror(i32 noundef %21115) #10
  %21117 = call ptr @__errno_location() #11
  %21118 = load i32, ptr %21117, align 4, !tbaa !5
  %21119 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21106, ptr noundef @.str.5, i32 noundef %21107, ptr noundef @.str.140, ptr noundef @.str.1, i32 noundef 926, ptr noundef %21110, ptr noundef %21113, ptr noundef %21116, i32 noundef %21118) #10
  br label %21120

21120:                                            ; preds = %21103, %21086
  call void @llvm.lifetime.end.p0(i64 4, ptr %577) #10
  br label %21121

21121:                                            ; preds = %21120
  br label %21122

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

21123:                                            ; No predecessors!
  br label %21124

21124:                                            ; preds = %21123
  br label %21125

21125:                                            ; preds = %21124, %21066
  br label %21126

21126:                                            ; preds = %21125
  br label %21127

21127:                                            ; preds = %21126
  br label %21128

21128:                                            ; preds = %21127
  %21129 = load i32, ptr @test_count, align 4, !tbaa !5
  %21130 = add nsw i32 %21129, 1
  store i32 %21130, ptr @test_count, align 4, !tbaa !5
  %21131 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21132 = load i32, ptr %21131, align 4, !tbaa !5
  %21133 = icmp eq i32 %21132, 335544381
  br i1 %21133, label %21187, label %21134

21134:                                            ; preds = %21128
  br label %21135

21135:                                            ; preds = %21134
  br label %21136

21136:                                            ; preds = %21135
  call void @llvm.lifetime.start.p0(i64 4, ptr %578) #10
  %21137 = call ptr @__errno_location() #11
  %21138 = load i32, ptr %21137, align 4, !tbaa !5
  store i32 %21138, ptr %578, align 4, !tbaa !5
  %21139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21140 = call i32 @s2n_print_stacktrace(ptr noundef %21139)
  %21141 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21142 = trunc i8 %21141 to i1
  br i1 %21142, label %21143, label %21165

21143:                                            ; preds = %21136
  %21144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21145 = call i32 @fileno(ptr noundef %21144) #10
  %21146 = call i32 @isatty(i32 noundef %21145) #10
  %21147 = icmp ne i32 %21146, 0
  br i1 %21147, label %21148, label %21165

21148:                                            ; preds = %21143
  %21149 = load i32, ptr %578, align 4, !tbaa !5
  %21150 = call ptr @__errno_location() #11
  store i32 %21149, ptr %21150, align 4, !tbaa !5
  %21151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21152 = load i32, ptr @test_count, align 4, !tbaa !5
  %21153 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21154 = load i32, ptr %21153, align 4, !tbaa !5
  %21155 = call ptr @s2n_strerror(i32 noundef %21154, ptr noundef @.str.4)
  %21156 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21157 = load i32, ptr %21156, align 4, !tbaa !5
  %21158 = call ptr @s2n_strerror_debug(i32 noundef %21157, ptr noundef @.str.4)
  %21159 = call ptr @__errno_location() #11
  %21160 = load i32, ptr %21159, align 4, !tbaa !5
  %21161 = call ptr @strerror(i32 noundef %21160) #10
  %21162 = call ptr @__errno_location() #11
  %21163 = load i32, ptr %21162, align 4, !tbaa !5
  %21164 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21151, ptr noundef @.str.2, i32 noundef %21152, ptr noundef @.str.141, ptr noundef @.str.1, i32 noundef 926, ptr noundef %21155, ptr noundef %21158, ptr noundef %21161, i32 noundef %21163) #10
  br label %21182

21165:                                            ; preds = %21143, %21136
  %21166 = load i32, ptr %578, align 4, !tbaa !5
  %21167 = call ptr @__errno_location() #11
  store i32 %21166, ptr %21167, align 4, !tbaa !5
  %21168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21169 = load i32, ptr @test_count, align 4, !tbaa !5
  %21170 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21171 = load i32, ptr %21170, align 4, !tbaa !5
  %21172 = call ptr @s2n_strerror(i32 noundef %21171, ptr noundef @.str.4)
  %21173 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21174 = load i32, ptr %21173, align 4, !tbaa !5
  %21175 = call ptr @s2n_strerror_debug(i32 noundef %21174, ptr noundef @.str.4)
  %21176 = call ptr @__errno_location() #11
  %21177 = load i32, ptr %21176, align 4, !tbaa !5
  %21178 = call ptr @strerror(i32 noundef %21177) #10
  %21179 = call ptr @__errno_location() #11
  %21180 = load i32, ptr %21179, align 4, !tbaa !5
  %21181 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21168, ptr noundef @.str.5, i32 noundef %21169, ptr noundef @.str.141, ptr noundef @.str.1, i32 noundef 926, ptr noundef %21172, ptr noundef %21175, ptr noundef %21178, i32 noundef %21180) #10
  br label %21182

21182:                                            ; preds = %21165, %21148
  call void @llvm.lifetime.end.p0(i64 4, ptr %578) #10
  br label %21183

21183:                                            ; preds = %21182
  br label %21184

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

21185:                                            ; No predecessors!
  br label %21186

21186:                                            ; preds = %21185
  br label %21187

21187:                                            ; preds = %21186, %21128
  br label %21188

21188:                                            ; preds = %21187
  br label %21189

21189:                                            ; preds = %21188
  br label %21190

21190:                                            ; preds = %21189
  %21191 = load i32, ptr @test_count, align 4, !tbaa !5
  %21192 = add nsw i32 %21191, 1
  store i32 %21192, ptr @test_count, align 4, !tbaa !5
  %21193 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21194 = load i32, ptr %21193, align 4, !tbaa !5
  %21195 = call ptr @s2n_strerror_debug(i32 noundef %21194, ptr noundef @.str.4)
  %21196 = icmp eq ptr %21195, null
  br i1 %21196, label %21197, label %21250

21197:                                            ; preds = %21190
  br label %21198

21198:                                            ; preds = %21197
  br label %21199

21199:                                            ; preds = %21198
  call void @llvm.lifetime.start.p0(i64 4, ptr %579) #10
  %21200 = call ptr @__errno_location() #11
  %21201 = load i32, ptr %21200, align 4, !tbaa !5
  store i32 %21201, ptr %579, align 4, !tbaa !5
  %21202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21203 = call i32 @s2n_print_stacktrace(ptr noundef %21202)
  %21204 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21205 = trunc i8 %21204 to i1
  br i1 %21205, label %21206, label %21228

21206:                                            ; preds = %21199
  %21207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21208 = call i32 @fileno(ptr noundef %21207) #10
  %21209 = call i32 @isatty(i32 noundef %21208) #10
  %21210 = icmp ne i32 %21209, 0
  br i1 %21210, label %21211, label %21228

21211:                                            ; preds = %21206
  %21212 = load i32, ptr %579, align 4, !tbaa !5
  %21213 = call ptr @__errno_location() #11
  store i32 %21212, ptr %21213, align 4, !tbaa !5
  %21214 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21215 = load i32, ptr @test_count, align 4, !tbaa !5
  %21216 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21217 = load i32, ptr %21216, align 4, !tbaa !5
  %21218 = call ptr @s2n_strerror(i32 noundef %21217, ptr noundef @.str.4)
  %21219 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21220 = load i32, ptr %21219, align 4, !tbaa !5
  %21221 = call ptr @s2n_strerror_debug(i32 noundef %21220, ptr noundef @.str.4)
  %21222 = call ptr @__errno_location() #11
  %21223 = load i32, ptr %21222, align 4, !tbaa !5
  %21224 = call ptr @strerror(i32 noundef %21223) #10
  %21225 = call ptr @__errno_location() #11
  %21226 = load i32, ptr %21225, align 4, !tbaa !5
  %21227 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21214, ptr noundef @.str.2, i32 noundef %21215, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 926, ptr noundef %21218, ptr noundef %21221, ptr noundef %21224, i32 noundef %21226) #10
  br label %21245

21228:                                            ; preds = %21206, %21199
  %21229 = load i32, ptr %579, align 4, !tbaa !5
  %21230 = call ptr @__errno_location() #11
  store i32 %21229, ptr %21230, align 4, !tbaa !5
  %21231 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21232 = load i32, ptr @test_count, align 4, !tbaa !5
  %21233 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21234 = load i32, ptr %21233, align 4, !tbaa !5
  %21235 = call ptr @s2n_strerror(i32 noundef %21234, ptr noundef @.str.4)
  %21236 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21237 = load i32, ptr %21236, align 4, !tbaa !5
  %21238 = call ptr @s2n_strerror_debug(i32 noundef %21237, ptr noundef @.str.4)
  %21239 = call ptr @__errno_location() #11
  %21240 = load i32, ptr %21239, align 4, !tbaa !5
  %21241 = call ptr @strerror(i32 noundef %21240) #10
  %21242 = call ptr @__errno_location() #11
  %21243 = load i32, ptr %21242, align 4, !tbaa !5
  %21244 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21231, ptr noundef @.str.5, i32 noundef %21232, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 926, ptr noundef %21235, ptr noundef %21238, ptr noundef %21241, i32 noundef %21243) #10
  br label %21245

21245:                                            ; preds = %21228, %21211
  call void @llvm.lifetime.end.p0(i64 4, ptr %579) #10
  br label %21246

21246:                                            ; preds = %21245
  br label %21247

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

21248:                                            ; No predecessors!
  br label %21249

21249:                                            ; preds = %21248
  br label %21250

21250:                                            ; preds = %21249, %21190
  br label %21251

21251:                                            ; preds = %21250
  br label %21252

21252:                                            ; preds = %21251
  br label %21253

21253:                                            ; preds = %21252
  br label %21254

21254:                                            ; preds = %21253
  br label %21255

21255:                                            ; preds = %21254
  %21256 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %21256, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %21257 = call ptr @__errno_location() #11
  store i32 0, ptr %21257, align 4, !tbaa !5
  br label %21258

21258:                                            ; preds = %21255
  br label %21259

21259:                                            ; preds = %21258
  br label %21260

21260:                                            ; preds = %21259
  br label %21261

21261:                                            ; preds = %21260
  br label %21262

21262:                                            ; preds = %21261
  br label %21263

21263:                                            ; preds = %21262
  %21264 = call i32 @s2n_cleanup()
  %21265 = icmp eq i32 %21264, -1
  br i1 %21265, label %21266, label %21319

21266:                                            ; preds = %21263
  br label %21267

21267:                                            ; preds = %21266
  br label %21268

21268:                                            ; preds = %21267
  call void @llvm.lifetime.start.p0(i64 4, ptr %580) #10
  %21269 = call ptr @__errno_location() #11
  %21270 = load i32, ptr %21269, align 4, !tbaa !5
  store i32 %21270, ptr %580, align 4, !tbaa !5
  %21271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21272 = call i32 @s2n_print_stacktrace(ptr noundef %21271)
  %21273 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21274 = trunc i8 %21273 to i1
  br i1 %21274, label %21275, label %21297

21275:                                            ; preds = %21268
  %21276 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21277 = call i32 @fileno(ptr noundef %21276) #10
  %21278 = call i32 @isatty(i32 noundef %21277) #10
  %21279 = icmp ne i32 %21278, 0
  br i1 %21279, label %21280, label %21297

21280:                                            ; preds = %21275
  %21281 = load i32, ptr %580, align 4, !tbaa !5
  %21282 = call ptr @__errno_location() #11
  store i32 %21281, ptr %21282, align 4, !tbaa !5
  %21283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21284 = load i32, ptr @test_count, align 4, !tbaa !5
  %21285 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21286 = load i32, ptr %21285, align 4, !tbaa !5
  %21287 = call ptr @s2n_strerror(i32 noundef %21286, ptr noundef @.str.4)
  %21288 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21289 = load i32, ptr %21288, align 4, !tbaa !5
  %21290 = call ptr @s2n_strerror_debug(i32 noundef %21289, ptr noundef @.str.4)
  %21291 = call ptr @__errno_location() #11
  %21292 = load i32, ptr %21291, align 4, !tbaa !5
  %21293 = call ptr @strerror(i32 noundef %21292) #10
  %21294 = call ptr @__errno_location() #11
  %21295 = load i32, ptr %21294, align 4, !tbaa !5
  %21296 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21283, ptr noundef @.str.2, i32 noundef %21284, ptr noundef @.str.142, ptr noundef @.str.1, i32 noundef 929, ptr noundef %21287, ptr noundef %21290, ptr noundef %21293, i32 noundef %21295) #10
  br label %21314

21297:                                            ; preds = %21275, %21268
  %21298 = load i32, ptr %580, align 4, !tbaa !5
  %21299 = call ptr @__errno_location() #11
  store i32 %21298, ptr %21299, align 4, !tbaa !5
  %21300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21301 = load i32, ptr @test_count, align 4, !tbaa !5
  %21302 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21303 = load i32, ptr %21302, align 4, !tbaa !5
  %21304 = call ptr @s2n_strerror(i32 noundef %21303, ptr noundef @.str.4)
  %21305 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21306 = load i32, ptr %21305, align 4, !tbaa !5
  %21307 = call ptr @s2n_strerror_debug(i32 noundef %21306, ptr noundef @.str.4)
  %21308 = call ptr @__errno_location() #11
  %21309 = load i32, ptr %21308, align 4, !tbaa !5
  %21310 = call ptr @strerror(i32 noundef %21309) #10
  %21311 = call ptr @__errno_location() #11
  %21312 = load i32, ptr %21311, align 4, !tbaa !5
  %21313 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21300, ptr noundef @.str.5, i32 noundef %21301, ptr noundef @.str.142, ptr noundef @.str.1, i32 noundef 929, ptr noundef %21304, ptr noundef %21307, ptr noundef %21310, i32 noundef %21312) #10
  br label %21314

21314:                                            ; preds = %21297, %21280
  call void @llvm.lifetime.end.p0(i64 4, ptr %580) #10
  br label %21315

21315:                                            ; preds = %21314
  br label %21316

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

21317:                                            ; No predecessors!
  br label %21318

21318:                                            ; preds = %21317
  br label %21319

21319:                                            ; preds = %21318, %21263
  br label %21320

21320:                                            ; preds = %21319
  br label %21321

21321:                                            ; preds = %21320
  br label %21322

21322:                                            ; preds = %21321
  br label %21323

21323:                                            ; preds = %21322
  %21324 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false)
  %21325 = icmp eq i32 %21324, -1
  br i1 %21325, label %21326, label %21379

21326:                                            ; preds = %21323
  br label %21327

21327:                                            ; preds = %21326
  br label %21328

21328:                                            ; preds = %21327
  call void @llvm.lifetime.start.p0(i64 4, ptr %581) #10
  %21329 = call ptr @__errno_location() #11
  %21330 = load i32, ptr %21329, align 4, !tbaa !5
  store i32 %21330, ptr %581, align 4, !tbaa !5
  %21331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21332 = call i32 @s2n_print_stacktrace(ptr noundef %21331)
  %21333 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21334 = trunc i8 %21333 to i1
  br i1 %21334, label %21335, label %21357

21335:                                            ; preds = %21328
  %21336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21337 = call i32 @fileno(ptr noundef %21336) #10
  %21338 = call i32 @isatty(i32 noundef %21337) #10
  %21339 = icmp ne i32 %21338, 0
  br i1 %21339, label %21340, label %21357

21340:                                            ; preds = %21335
  %21341 = load i32, ptr %581, align 4, !tbaa !5
  %21342 = call ptr @__errno_location() #11
  store i32 %21341, ptr %21342, align 4, !tbaa !5
  %21343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21344 = load i32, ptr @test_count, align 4, !tbaa !5
  %21345 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21346 = load i32, ptr %21345, align 4, !tbaa !5
  %21347 = call ptr @s2n_strerror(i32 noundef %21346, ptr noundef @.str.4)
  %21348 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21349 = load i32, ptr %21348, align 4, !tbaa !5
  %21350 = call ptr @s2n_strerror_debug(i32 noundef %21349, ptr noundef @.str.4)
  %21351 = call ptr @__errno_location() #11
  %21352 = load i32, ptr %21351, align 4, !tbaa !5
  %21353 = call ptr @strerror(i32 noundef %21352) #10
  %21354 = call ptr @__errno_location() #11
  %21355 = load i32, ptr %21354, align 4, !tbaa !5
  %21356 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21343, ptr noundef @.str.2, i32 noundef %21344, ptr noundef @.str.143, ptr noundef @.str.1, i32 noundef 929, ptr noundef %21347, ptr noundef %21350, ptr noundef %21353, i32 noundef %21355) #10
  br label %21374

21357:                                            ; preds = %21335, %21328
  %21358 = load i32, ptr %581, align 4, !tbaa !5
  %21359 = call ptr @__errno_location() #11
  store i32 %21358, ptr %21359, align 4, !tbaa !5
  %21360 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21361 = load i32, ptr @test_count, align 4, !tbaa !5
  %21362 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21363 = load i32, ptr %21362, align 4, !tbaa !5
  %21364 = call ptr @s2n_strerror(i32 noundef %21363, ptr noundef @.str.4)
  %21365 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21366 = load i32, ptr %21365, align 4, !tbaa !5
  %21367 = call ptr @s2n_strerror_debug(i32 noundef %21366, ptr noundef @.str.4)
  %21368 = call ptr @__errno_location() #11
  %21369 = load i32, ptr %21368, align 4, !tbaa !5
  %21370 = call ptr @strerror(i32 noundef %21369) #10
  %21371 = call ptr @__errno_location() #11
  %21372 = load i32, ptr %21371, align 4, !tbaa !5
  %21373 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21360, ptr noundef @.str.5, i32 noundef %21361, ptr noundef @.str.143, ptr noundef @.str.1, i32 noundef 929, ptr noundef %21364, ptr noundef %21367, ptr noundef %21370, i32 noundef %21372) #10
  br label %21374

21374:                                            ; preds = %21357, %21340
  call void @llvm.lifetime.end.p0(i64 4, ptr %581) #10
  br label %21375

21375:                                            ; preds = %21374
  br label %21376

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

21377:                                            ; No predecessors!
  br label %21378

21378:                                            ; preds = %21377
  br label %21379

21379:                                            ; preds = %21378, %21323
  br label %21380

21380:                                            ; preds = %21379
  br label %21381

21381:                                            ; preds = %21380
  %21382 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21383 = trunc i8 %21382 to i1
  br i1 %21383, label %21384, label %21400

21384:                                            ; preds = %21381
  %21385 = load ptr, ptr @stdout, align 8, !tbaa !9
  %21386 = call i32 @fileno(ptr noundef %21385) #10
  %21387 = call i32 @isatty(i32 noundef %21386) #10
  %21388 = icmp ne i32 %21387, 0
  br i1 %21388, label %21389, label %21400

21389:                                            ; preds = %21384
  %21390 = load i32, ptr @test_count, align 4, !tbaa !5
  %21391 = icmp ne i32 %21390, 0
  br i1 %21391, label %21392, label %21396

21392:                                            ; preds = %21389
  %21393 = load ptr, ptr @stdout, align 8, !tbaa !9
  %21394 = load i32, ptr @test_count, align 4, !tbaa !5
  %21395 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21393, ptr noundef @.str.144, i32 noundef %21394) #10
  br label %21399

21396:                                            ; preds = %21389
  %21397 = load ptr, ptr @stdout, align 8, !tbaa !9
  %21398 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21397, ptr noundef @.str.145) #10
  br label %21399

21399:                                            ; preds = %21396, %21392
  br label %21411

21400:                                            ; preds = %21384, %21381
  %21401 = load i32, ptr @test_count, align 4, !tbaa !5
  %21402 = icmp ne i32 %21401, 0
  br i1 %21402, label %21403, label %21407

21403:                                            ; preds = %21400
  %21404 = load ptr, ptr @stdout, align 8, !tbaa !9
  %21405 = load i32, ptr @test_count, align 4, !tbaa !5
  %21406 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21404, ptr noundef @.str.146, i32 noundef %21405) #10
  br label %21410

21407:                                            ; preds = %21400
  %21408 = load ptr, ptr @stdout, align 8, !tbaa !9
  %21409 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21408, ptr noundef @.str.147) #10
  br label %21410

21410:                                            ; preds = %21407, %21403
  br label %21411

21411:                                            ; preds = %21410, %21399
  store i32 0, ptr %3, align 4
  store i32 1, ptr %26, align 4
  br label %21416

21412:                                            ; No predecessors!
  br label %21413

21413:                                            ; preds = %21412
  br label %21414

21414:                                            ; preds = %21413
  br label %21415

21415:                                            ; preds = %21414
  store i32 0, ptr %26, align 4
  br label %21416

21416:                                            ; preds = %21415, %21411
  %21417 = call i32 @s2n_x509_validator_wipe(ptr noundef %54)
  call void @llvm.lifetime.end.p0(i64 56, ptr %54) #10
  call void @llvm.lifetime.end.p0(i64 88, ptr %53) #10
  %21418 = call i32 @s2n_crl_free(ptr noundef %51)
  call void @llvm.lifetime.end.p0(i64 8, ptr %51) #10
  %21419 = call i32 @s2n_crl_free(ptr noundef %49)
  call void @llvm.lifetime.end.p0(i64 8, ptr %49) #10
  %21420 = call i32 @s2n_crl_free(ptr noundef %47)
  call void @llvm.lifetime.end.p0(i64 8, ptr %47) #10
  %21421 = call i32 @s2n_crl_free(ptr noundef %45)
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #10
  %21422 = call i32 @s2n_crl_free(ptr noundef %43)
  call void @llvm.lifetime.end.p0(i64 8, ptr %43) #10
  %21423 = load i32, ptr %26, align 4
  switch i32 %21423, label %21426 [
    i32 0, label %21424
    i32 1, label %21424
  ]

21424:                                            ; preds = %21416, %21416, %1603
  %21425 = load i32, ptr %3, align 4
  ret i32 %21425

21426:                                            ; preds = %21416, %1603
  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 ptr @s2n_crl_new() #2

declare i32 @s2n_crl_free(ptr noundef) #2

; Function Attrs: nounwind uwtable
declare hidden ptr @load_test_crl(ptr noundef) #0

declare ptr @X509_CRL_get_issuer(ptr noundef) #2

; Function Attrs: nounwind willreturn memory(read)
declare ptr @strrchr(ptr noundef, i32 noundef) #7

declare i32 @s2n_calculate_stacktrace() #2

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

declare i32 @s2n_read_test_pem_and_len(ptr noundef, ptr noundef, ptr noundef, i64 noundef) #2

declare i32 @s2n_crl_load_pem(ptr noundef, ptr noundef, i64 noundef) #2

declare void @s2n_debug_info_reset() #2

declare i32 @s2n_crl_get_issuer_hash(ptr noundef, ptr noundef) #2

declare i32 @s2n_x509_validator_wipe(ptr noundef) #2

declare void @s2n_x509_trust_store_wipe(ptr noundef) #2

declare void @s2n_x509_trust_store_init_empty(ptr noundef) #2

declare i32 @s2n_read_test_pem(ptr noundef, ptr noundef, i64 noundef) #2

declare i32 @s2n_x509_trust_store_add_pem(ptr noundef, ptr noundef) #2

declare i32 @s2n_x509_validator_init(ptr noundef, ptr noundef, i8 noundef zeroext) #2

declare ptr @s2n_config_new() #2

declare i32 @s2n_config_ptr_free(ptr noundef) #2

declare i32 @s2n_config_set_crl_lookup_cb(ptr noundef, ptr noundef, ptr noundef) #2

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

declare ptr @s2n_connection_new(i32 noundef) #2

declare i32 @s2n_connection_ptr_free(ptr noundef) #2

declare i32 @s2n_connection_set_config(ptr noundef, ptr noundef) #2

declare i32 @s2n_set_server_name(ptr noundef, ptr noundef) #2

declare i32 @s2n_stuffer_free(ptr noundef) #2

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

declare i32 @s2n_test_cert_chain_data_from_pem(ptr noundef, ptr noundef, ptr noundef) #2

declare ptr @s2n_stuffer_raw_read(ptr noundef, i32 noundef) #2

declare i32 @s2n_pkey_free(ptr noundef) #2

declare i32 @s2n_pkey_zero_init(ptr noundef) #2

declare i32 @s2n_x509_validator_validate_cert_chain(ptr noundef, ptr noundef, ptr noundef, i32 noundef, ptr noundef, ptr noundef) #2

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

declare i32 @s2n_test_cert_chain_data_from_pem_data(ptr noundef, ptr noundef, i32 noundef, ptr noundef) #2

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

declare i32 @s2n_array_get(ptr noundef, i32 noundef, ptr noundef) #2

declare i32 @s2n_crl_lookup_set(ptr noundef, ptr noundef) #2

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

declare i32 @s2n_config_disable_x509_time_verification(ptr noundef) #2

declare i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef) #2

declare i32 @s2n_test_cert_chain_and_key_new(ptr noundef, ptr noundef, ptr noundef) #2

declare i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef, ptr noundef) #2

declare i32 @s2n_config_set_verification_ca_location(ptr noundef, ptr noundef, ptr noundef) #2

declare i32 @s2n_config_set_cipher_preferences(ptr noundef, ptr noundef) #2

declare i32 @s2n_io_pair_close(ptr noundef) #2

declare i32 @s2n_io_pair_init_non_blocking(ptr noundef) #2

declare i32 @s2n_connection_set_io_pair(ptr noundef, ptr noundef) #2

declare i32 @s2n_negotiate_test_server_and_client(ptr noundef, ptr noundef) #2

declare i32 @s2n_connection_set_blinding(ptr noundef, i32 noundef) #2

declare i32 @s2n_config_set_client_auth_type(ptr noundef, i32 noundef) #2

declare i32 @s2n_connection_set_verify_host_callback(ptr noundef, ptr noundef, ptr noundef) #2

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @verify_host_always_allow(ptr noundef, i64 noundef, ptr noundef) #0

declare i32 @s2n_crl_lookup_ignore(ptr noundef) #2

declare i32 @s2n_crl_lookup_get_cert_issuer_hash(ptr noundef, ptr noundef) #2

declare i32 @s2n_crl_validate_active(ptr noundef) #2

declare i32 @s2n_crl_validate_not_expired(ptr noundef) #2

declare i32 @s2n_cleanup() #2

attributes #0 = { nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #4 = { nounwind willreturn memory(none) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #6 = { noreturn nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #7 = { nounwind willreturn memory(read) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #8 = { nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #9 = { inlinehint nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #10 = { nounwind }
attributes #11 = { nounwind willreturn memory(none) }
attributes #12 = { noreturn nounwind }
attributes #13 = { nounwind willreturn memory(read) }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"any pointer", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"_Bool", !7, i64 0}
!13 = !{i8 0, i8 2}
!14 = !{}
!15 = !{!16, !10, i64 0}
!16 = !{!"s2n_crl", !10, i64 0}
!17 = !{!18, !10, i64 0}
!18 = !{!"s2n_debug_info", !10, i64 0, !10, i64 8}
!19 = !{!18, !10, i64 8}
!20 = !{!7, !7, i64 0}
!21 = !{!22, !22, i64 0}
!22 = !{!"long", !7, i64 0}
!23 = !{!24, !6, i64 28}
!24 = !{!"s2n_stuffer", !25, i64 0, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 36, !6, i64 36}
!25 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!26 = !{!24, !6, i64 24}
!27 = !{!28, !7, i64 80}
!28 = !{!"crl_lookup_data", !7, i64 0, !7, i64 40, !7, i64 80}
!29 = distinct !{!29, !30}
!30 = !{!"llvm.loop.mustprogress"}
!31 = distinct !{!31, !30}
!32 = distinct !{!32, !30}
!33 = !{!34, !10, i64 40}
!34 = !{!"s2n_x509_validator", !10, i64 0, !10, i64 8, !7, i64 16, !7, i64 17, !35, i64 18, !10, i64 24, !6, i64 32, !10, i64 40, !36, i64 48, !12, i64 52}
!35 = !{!"short", !7, i64 0}
!36 = !{!"s2n_cert_validation_info", !6, i64 0, !6, i64 0}
!37 = distinct !{!37, !30}
!38 = distinct !{!38, !30}
!39 = !{!40, !6, i64 0}
!40 = !{!"s2n_crl_lookup", !6, i64 0, !10, i64 8, !35, i64 16, !10, i64 24}
!41 = !{!40, !10, i64 24}
!42 = !{!40, !10, i64 8}


; Optimized IR (opt -passes='default<O3>'):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

%struct.s2n_debug_info = type { ptr, ptr }
%struct.crl_lookup_data = type { [5 x ptr], [5 x ptr], 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_x509_trust_store = type { ptr, i8 }
%struct.s2n_stuffer = type { %struct.s2n_blob, i32, i32, i32, i8 }
%struct.s2n_blob = type { ptr, i32, i32, i8 }
%struct.s2n_pkey = type { ptr, ptr, ptr, ptr, ptr, ptr }
%struct.s2n_test_io_pair = type { i32, i32 }
%struct.s2n_crl_lookup = type { i32, ptr, i16, ptr }

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

; Function Attrs: nounwind uwtable
define dso_local range(i32 -1, 1) i32 @main(i32 noundef %0, ptr nocapture noundef readnone %1) local_unnamed_addr #0 {
  %3 = alloca ptr, align 8
  %4 = alloca ptr, align 8
  %5 = alloca ptr, align 8
  %6 = alloca [12000 x i8], align 16
  %7 = alloca i32, align 4
  %8 = alloca ptr, align 8
  %9 = alloca ptr, align 8
  %10 = alloca ptr, align 8
  %11 = alloca i64, align 8
  %12 = alloca ptr, align 8
  %13 = alloca ptr, align 8
  %14 = alloca ptr, align 8
  %15 = alloca ptr, align 8
  %16 = alloca ptr, align 8
  %17 = alloca %struct.crl_lookup_data, align 8
  %18 = alloca %struct.s2n_x509_validator, align 8
  %19 = alloca %struct.s2n_x509_trust_store, align 8
  %20 = alloca [12000 x i8], align 16
  %21 = alloca ptr, align 8
  %22 = alloca ptr, align 8
  %23 = alloca %struct.s2n_stuffer, align 8
  %24 = alloca %struct.s2n_pkey, align 8
  %25 = alloca i32, align 4
  %26 = alloca %struct.s2n_x509_trust_store, align 8
  %27 = alloca [12000 x i8], align 16
  %28 = alloca %struct.s2n_x509_validator, align 8
  %29 = alloca %struct.crl_lookup_data, align 8
  %30 = alloca ptr, align 8
  %31 = alloca ptr, align 8
  %32 = alloca %struct.s2n_stuffer, align 8
  %33 = alloca %struct.s2n_pkey, align 8
  %34 = alloca i32, align 4
  %35 = alloca %struct.s2n_x509_trust_store, align 8
  %36 = alloca [12000 x i8], align 16
  %37 = alloca %struct.s2n_x509_validator, align 8
  %38 = alloca %struct.crl_lookup_data, align 8
  %39 = alloca ptr, align 8
  %40 = alloca ptr, align 8
  %41 = alloca %struct.s2n_stuffer, align 8
  %42 = alloca %struct.s2n_pkey, align 8
  %43 = alloca i32, align 4
  %44 = alloca %struct.s2n_x509_trust_store, align 8
  %45 = alloca [12000 x i8], align 16
  %46 = alloca %struct.s2n_x509_validator, align 8
  %47 = alloca %struct.crl_lookup_data, align 8
  %48 = alloca ptr, align 8
  %49 = alloca ptr, align 8
  %50 = alloca %struct.s2n_stuffer, align 8
  %51 = alloca %struct.s2n_pkey, align 8
  %52 = alloca i32, align 4
  %53 = alloca %struct.s2n_x509_trust_store, align 8
  %54 = alloca [12000 x i8], align 16
  %55 = alloca %struct.s2n_x509_validator, align 8
  %56 = alloca %struct.crl_lookup_data, align 8
  %57 = alloca ptr, align 8
  %58 = alloca ptr, align 8
  %59 = alloca [24000 x i8], align 16
  %60 = alloca i32, align 4
  %61 = alloca i32, align 4
  %62 = alloca %struct.s2n_stuffer, align 8
  %63 = alloca %struct.s2n_pkey, align 8
  %64 = alloca i32, align 4
  %65 = alloca %struct.s2n_x509_trust_store, align 8
  %66 = alloca [12000 x i8], align 16
  %67 = alloca %struct.s2n_x509_validator, align 8
  %68 = alloca ptr, align 8
  %69 = alloca ptr, align 8
  %70 = alloca %struct.s2n_stuffer, align 8
  %71 = alloca %struct.s2n_pkey, align 8
  %72 = alloca i32, align 4
  %73 = alloca ptr, align 8
  %74 = alloca %struct.s2n_x509_trust_store, align 8
  %75 = alloca [12000 x i8], align 16
  %76 = alloca %struct.s2n_x509_validator, align 8
  %77 = alloca ptr, align 8
  %78 = alloca ptr, align 8
  %79 = alloca %struct.s2n_stuffer, align 8
  %80 = alloca %struct.s2n_pkey, align 8
  %81 = alloca i32, align 4
  %82 = alloca %struct.s2n_x509_trust_store, align 8
  %83 = alloca [12000 x i8], align 16
  %84 = alloca %struct.s2n_x509_validator, align 8
  %85 = alloca %struct.crl_lookup_data, align 8
  %86 = alloca ptr, align 8
  %87 = alloca ptr, align 8
  %88 = alloca %struct.s2n_stuffer, align 8
  %89 = alloca %struct.s2n_pkey, align 8
  %90 = alloca i32, align 4
  %91 = alloca %struct.s2n_x509_trust_store, align 8
  %92 = alloca [12000 x i8], align 16
  %93 = alloca %struct.s2n_x509_validator, align 8
  %94 = alloca %struct.crl_lookup_data, align 8
  %95 = alloca ptr, align 8
  %96 = alloca ptr, align 8
  %97 = alloca %struct.s2n_stuffer, align 8
  %98 = alloca %struct.s2n_pkey, align 8
  %99 = alloca i32, align 4
  %100 = alloca %struct.s2n_x509_trust_store, align 8
  %101 = alloca [12000 x i8], align 16
  %102 = alloca %struct.s2n_x509_validator, align 8
  %103 = alloca %struct.crl_lookup_data, align 8
  %104 = alloca ptr, align 8
  %105 = alloca ptr, align 8
  %106 = alloca %struct.s2n_stuffer, align 8
  %107 = alloca %struct.s2n_pkey, align 8
  %108 = alloca i32, align 4
  %109 = alloca %struct.s2n_x509_trust_store, align 8
  %110 = alloca [12000 x i8], align 16
  %111 = alloca %struct.s2n_x509_validator, align 8
  %112 = alloca %struct.crl_lookup_data, align 8
  %113 = alloca ptr, align 8
  %114 = alloca ptr, align 8
  %115 = alloca %struct.s2n_stuffer, align 8
  %116 = alloca %struct.s2n_pkey, align 8
  %117 = alloca i32, align 4
  %118 = alloca ptr, align 8
  %119 = alloca ptr, align 8
  %120 = alloca %struct.crl_lookup_data, align 8
  %121 = alloca ptr, align 8
  %122 = alloca ptr, align 8
  %123 = alloca %struct.s2n_test_io_pair, align 8
  %124 = alloca ptr, align 8
  %125 = alloca ptr, align 8
  %126 = alloca %struct.crl_lookup_data, align 8
  %127 = alloca ptr, align 8
  %128 = alloca ptr, align 8
  %129 = alloca %struct.s2n_test_io_pair, align 8
  %130 = alloca ptr, align 8
  %131 = alloca ptr, align 8
  %132 = alloca ptr, align 8
  %133 = alloca ptr, align 8
  %134 = alloca %struct.crl_lookup_data, align 8
  %135 = alloca ptr, align 8
  %136 = alloca ptr, align 8
  %137 = alloca %struct.s2n_test_io_pair, align 8
  %138 = alloca ptr, align 8
  %139 = alloca ptr, align 8
  %140 = alloca ptr, align 8
  %141 = alloca ptr, align 8
  %142 = alloca %struct.crl_lookup_data, align 8
  %143 = alloca ptr, align 8
  %144 = alloca ptr, align 8
  %145 = alloca %struct.s2n_test_io_pair, align 8
  %146 = alloca %struct.s2n_crl_lookup, align 8
  %147 = alloca %struct.s2n_crl_lookup, align 8
  %148 = alloca i64, align 8
  %149 = alloca %struct.s2n_crl_lookup, align 8
  %150 = alloca i64, align 8
  %151 = alloca i64, align 8
  %152 = alloca %struct.s2n_crl_lookup, align 8
  %153 = alloca i64, align 8
  %154 = alloca i64, align 8
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %155 = load ptr, ptr @stdout, align 8, !tbaa !9
  %156 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %155, ptr noundef nonnull @.str, ptr noundef nonnull @.str.1) #11
  %157 = load ptr, ptr @stdout, align 8, !tbaa !9
  %158 = tail call i32 @fflush(ptr noundef %157)
  %159 = tail call i32 @s2n_in_unit_test_set(i1 noundef zeroext true) #11
  %160 = icmp eq i32 %159, -1
  br i1 %160, label %161, label %185

161:                                              ; preds = %2
  %162 = tail call ptr @__errno_location() #12
  %163 = load i32, ptr %162, align 4, !tbaa !5
  %164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %165 = tail call i32 @s2n_print_stacktrace(ptr noundef %164) #11
  %166 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %167 = trunc nuw i8 %166 to i1
  br i1 %167, label %168, label %172

168:                                              ; preds = %161
  %169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %170 = tail call i32 @fileno(ptr noundef %169) #11
  %171 = tail call i32 @isatty(i32 noundef %170) #11
  %.not1143 = icmp eq i32 %171, 0
  br i1 %.not1143, label %172, label %173

172:                                              ; preds = %168, %161
  br label %173

173:                                              ; preds = %168, %172
  %.str.5.sink = phi ptr [ @.str.5, %172 ], [ @.str.2, %168 ]
  store i32 %163, ptr %162, align 4, !tbaa !5
  %174 = load ptr, ptr @stderr, align 8, !tbaa !9
  %175 = load i32, ptr @test_count, align 4, !tbaa !5
  %176 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %177 = load i32, ptr %176, align 4, !tbaa !5
  %178 = tail call ptr @s2n_strerror(i32 noundef %177, ptr noundef nonnull @.str.4) #11
  %179 = load i32, ptr %176, align 4, !tbaa !5
  %180 = tail call ptr @s2n_strerror_debug(i32 noundef %179, ptr noundef nonnull @.str.4) #11
  %181 = load i32, ptr %162, align 4, !tbaa !5
  %182 = tail call ptr @strerror(i32 noundef %181) #11
  %183 = load i32, ptr %162, align 4, !tbaa !5
  %184 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %174, ptr noundef nonnull %.str.5.sink, i32 noundef %175, ptr noundef nonnull @.str.3, ptr noundef nonnull @.str.1, i32 noundef 92, ptr noundef %178, ptr noundef %180, ptr noundef %182, i32 noundef %183) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

185:                                              ; preds = %2
  %186 = load i32, ptr @test_count, align 4, !tbaa !5
  %187 = add nsw i32 %186, 1
  store i32 %187, ptr @test_count, align 4, !tbaa !5
  %188 = tail call i32 @s2n_enable_atexit() #11
  %189 = icmp eq i32 %188, -1
  br i1 %189, label %190, label %214

190:                                              ; preds = %185
  %191 = tail call ptr @__errno_location() #12
  %192 = load i32, ptr %191, align 4, !tbaa !5
  %193 = load ptr, ptr @stderr, align 8, !tbaa !9
  %194 = tail call i32 @s2n_print_stacktrace(ptr noundef %193) #11
  %195 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %196 = trunc nuw i8 %195 to i1
  br i1 %196, label %197, label %201

197:                                              ; preds = %190
  %198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %199 = tail call i32 @fileno(ptr noundef %198) #11
  %200 = tail call i32 @isatty(i32 noundef %199) #11
  %.not1142 = icmp eq i32 %200, 0
  br i1 %.not1142, label %201, label %202

201:                                              ; preds = %197, %190
  br label %202

202:                                              ; preds = %197, %201
  %.str.5.sink1166 = phi ptr [ @.str.5, %201 ], [ @.str.2, %197 ]
  store i32 %192, ptr %191, align 4, !tbaa !5
  %203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %204 = load i32, ptr @test_count, align 4, !tbaa !5
  %205 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %206 = load i32, ptr %205, align 4, !tbaa !5
  %207 = tail call ptr @s2n_strerror(i32 noundef %206, ptr noundef nonnull @.str.4) #11
  %208 = load i32, ptr %205, align 4, !tbaa !5
  %209 = tail call ptr @s2n_strerror_debug(i32 noundef %208, ptr noundef nonnull @.str.4) #11
  %210 = load i32, ptr %191, align 4, !tbaa !5
  %211 = tail call ptr @strerror(i32 noundef %210) #11
  %212 = load i32, ptr %191, align 4, !tbaa !5
  %213 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %203, ptr noundef nonnull %.str.5.sink1166, i32 noundef %204, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.1, i32 noundef 92, ptr noundef %207, ptr noundef %209, ptr noundef %211, i32 noundef %212) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

214:                                              ; preds = %185
  %215 = tail call i32 @s2n_init() #11
  %216 = icmp eq i32 %215, -1
  br i1 %216, label %217, label %241

217:                                              ; preds = %214
  %218 = tail call ptr @__errno_location() #12
  %219 = load i32, ptr %218, align 4, !tbaa !5
  %220 = load ptr, ptr @stderr, align 8, !tbaa !9
  %221 = tail call i32 @s2n_print_stacktrace(ptr noundef %220) #11
  %222 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %223 = trunc nuw i8 %222 to i1
  br i1 %223, label %224, label %228

224:                                              ; preds = %217
  %225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %226 = tail call i32 @fileno(ptr noundef %225) #11
  %227 = tail call i32 @isatty(i32 noundef %226) #11
  %.not1141 = icmp eq i32 %227, 0
  br i1 %.not1141, label %228, label %229

228:                                              ; preds = %224, %217
  br label %229

229:                                              ; preds = %224, %228
  %.str.5.sink1177 = phi ptr [ @.str.5, %228 ], [ @.str.2, %224 ]
  store i32 %219, ptr %218, align 4, !tbaa !5
  %230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %231 = load i32, ptr @test_count, align 4, !tbaa !5
  %232 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %233 = load i32, ptr %232, align 4, !tbaa !5
  %234 = tail call ptr @s2n_strerror(i32 noundef %233, ptr noundef nonnull @.str.4) #11
  %235 = load i32, ptr %232, align 4, !tbaa !5
  %236 = tail call ptr @s2n_strerror_debug(i32 noundef %235, ptr noundef nonnull @.str.4) #11
  %237 = load i32, ptr %218, align 4, !tbaa !5
  %238 = tail call ptr @strerror(i32 noundef %237) #11
  %239 = load i32, ptr %218, align 4, !tbaa !5
  %240 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %230, ptr noundef nonnull %.str.5.sink1177, i32 noundef %231, ptr noundef nonnull @.str.7, ptr noundef nonnull @.str.1, i32 noundef 92, ptr noundef %234, ptr noundef %236, ptr noundef %238, i32 noundef %239) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

241:                                              ; preds = %214
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3) #11
  %242 = tail call ptr @s2n_crl_new() #11
  store ptr %242, ptr %3, align 8, !tbaa !9
  %243 = load i32, ptr @test_count, align 4, !tbaa !5
  %244 = add nsw i32 %243, 1
  store i32 %244, ptr @test_count, align 4, !tbaa !5
  %245 = icmp eq ptr %242, null
  br i1 %245, label %246, label %270

246:                                              ; preds = %241
  %247 = tail call ptr @__errno_location() #12
  %248 = load i32, ptr %247, align 4, !tbaa !5
  %249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %250 = tail call i32 @s2n_print_stacktrace(ptr noundef %249) #11
  %251 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %252 = trunc nuw i8 %251 to i1
  br i1 %252, label %253, label %257

253:                                              ; preds = %246
  %254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %255 = tail call i32 @fileno(ptr noundef %254) #11
  %256 = tail call i32 @isatty(i32 noundef %255) #11
  %.not1140 = icmp eq i32 %256, 0
  br i1 %.not1140, label %257, label %258

257:                                              ; preds = %253, %246
  br label %258

258:                                              ; preds = %253, %257
  %.str.5.sink1188 = phi ptr [ @.str.5, %257 ], [ @.str.2, %253 ]
  store i32 %248, ptr %247, align 4, !tbaa !5
  %259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %260 = load i32, ptr @test_count, align 4, !tbaa !5
  %261 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %262 = load i32, ptr %261, align 4, !tbaa !5
  %263 = tail call ptr @s2n_strerror(i32 noundef %262, ptr noundef nonnull @.str.4) #11
  %264 = load i32, ptr %261, align 4, !tbaa !5
  %265 = tail call ptr @s2n_strerror_debug(i32 noundef %264, ptr noundef nonnull @.str.4) #11
  %266 = load i32, ptr %247, align 4, !tbaa !5
  %267 = tail call ptr @strerror(i32 noundef %266) #11
  %268 = load i32, ptr %247, align 4, !tbaa !5
  %269 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %259, ptr noundef nonnull %.str.5.sink1188, i32 noundef %260, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, i32 noundef 97, ptr noundef %263, ptr noundef %265, ptr noundef %267, i32 noundef %268) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

270:                                              ; preds = %241
  %271 = add nsw i32 %243, 2
  store i32 %271, ptr @test_count, align 4, !tbaa !5
  %272 = call i32 @s2n_crl_free(ptr noundef nonnull %3) #11
  %273 = icmp eq i32 %272, -1
  br i1 %273, label %274, label %298

274:                                              ; preds = %270
  %275 = tail call ptr @__errno_location() #12
  %276 = load i32, ptr %275, align 4, !tbaa !5
  %277 = load ptr, ptr @stderr, align 8, !tbaa !9
  %278 = call i32 @s2n_print_stacktrace(ptr noundef %277) #11
  %279 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %280 = trunc nuw i8 %279 to i1
  br i1 %280, label %281, label %285

281:                                              ; preds = %274
  %282 = load ptr, ptr @stderr, align 8, !tbaa !9
  %283 = call i32 @fileno(ptr noundef %282) #11
  %284 = call i32 @isatty(i32 noundef %283) #11
  %.not1139 = icmp eq i32 %284, 0
  br i1 %.not1139, label %285, label %286

285:                                              ; preds = %281, %274
  br label %286

286:                                              ; preds = %281, %285
  %.str.5.sink1199 = phi ptr [ @.str.5, %285 ], [ @.str.2, %281 ]
  store i32 %276, ptr %275, align 4, !tbaa !5
  %287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %288 = load i32, ptr @test_count, align 4, !tbaa !5
  %289 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %290 = load i32, ptr %289, align 4, !tbaa !5
  %291 = call ptr @s2n_strerror(i32 noundef %290, ptr noundef nonnull @.str.4) #11
  %292 = load i32, ptr %289, align 4, !tbaa !5
  %293 = call ptr @s2n_strerror_debug(i32 noundef %292, ptr noundef nonnull @.str.4) #11
  %294 = load i32, ptr %275, align 4, !tbaa !5
  %295 = call ptr @strerror(i32 noundef %294) #11
  %296 = load i32, ptr %275, align 4, !tbaa !5
  %297 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %287, ptr noundef nonnull %.str.5.sink1199, i32 noundef %288, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 99, ptr noundef %291, ptr noundef %293, ptr noundef %295, i32 noundef %296) #13
  call void @exit(i32 noundef 1) #14
  unreachable

298:                                              ; preds = %270
  %299 = load i32, ptr @test_count, align 4, !tbaa !5
  %300 = add nsw i32 %299, 1
  store i32 %300, ptr @test_count, align 4, !tbaa !5
  %301 = load ptr, ptr %3, align 8, !tbaa !9
  %302 = icmp eq ptr %301, null
  br i1 %302, label %327, label %303

303:                                              ; preds = %298
  %304 = tail call ptr @__errno_location() #12
  %305 = load i32, ptr %304, align 4, !tbaa !5
  %306 = load ptr, ptr @stderr, align 8, !tbaa !9
  %307 = call i32 @s2n_print_stacktrace(ptr noundef %306) #11
  %308 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %309 = trunc nuw i8 %308 to i1
  br i1 %309, label %310, label %314

310:                                              ; preds = %303
  %311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %312 = call i32 @fileno(ptr noundef %311) #11
  %313 = call i32 @isatty(i32 noundef %312) #11
  %.not = icmp eq i32 %313, 0
  br i1 %.not, label %314, label %315

314:                                              ; preds = %310, %303
  br label %315

315:                                              ; preds = %310, %314
  %.str.5.sink1210 = phi ptr [ @.str.5, %314 ], [ @.str.2, %310 ]
  store i32 %305, ptr %304, align 4, !tbaa !5
  %316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %317 = load i32, ptr @test_count, align 4, !tbaa !5
  %318 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %319 = load i32, ptr %318, align 4, !tbaa !5
  %320 = call ptr @s2n_strerror(i32 noundef %319, ptr noundef nonnull @.str.4) #11
  %321 = load i32, ptr %318, align 4, !tbaa !5
  %322 = call ptr @s2n_strerror_debug(i32 noundef %321, ptr noundef nonnull @.str.4) #11
  %323 = load i32, ptr %304, align 4, !tbaa !5
  %324 = call ptr @strerror(i32 noundef %323) #11
  %325 = load i32, ptr %304, align 4, !tbaa !5
  %326 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %316, ptr noundef nonnull %.str.5.sink1210, i32 noundef %317, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 100, ptr noundef %320, ptr noundef %322, ptr noundef %324, i32 noundef %325) #13
  call void @exit(i32 noundef 1) #14
  unreachable

327:                                              ; preds = %298
  %328 = add nsw i32 %299, 2
  store i32 %328, ptr @test_count, align 4, !tbaa !5
  %329 = call i32 @s2n_crl_free(ptr noundef nonnull %3) #11
  %330 = icmp eq i32 %329, -1
  br i1 %330, label %331, label %355

331:                                              ; preds = %327
  %332 = tail call ptr @__errno_location() #12
  %333 = load i32, ptr %332, align 4, !tbaa !5
  %334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %335 = call i32 @s2n_print_stacktrace(ptr noundef %334) #11
  %336 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %337 = trunc nuw i8 %336 to i1
  br i1 %337, label %338, label %342

338:                                              ; preds = %331
  %339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %340 = call i32 @fileno(ptr noundef %339) #11
  %341 = call i32 @isatty(i32 noundef %340) #11
  %.not1138 = icmp eq i32 %341, 0
  br i1 %.not1138, label %342, label %343

342:                                              ; preds = %338, %331
  br label %343

343:                                              ; preds = %338, %342
  %.str.5.sink1221 = phi ptr [ @.str.5, %342 ], [ @.str.2, %338 ]
  store i32 %333, ptr %332, align 4, !tbaa !5
  %344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %345 = load i32, ptr @test_count, align 4, !tbaa !5
  %346 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %347 = load i32, ptr %346, align 4, !tbaa !5
  %348 = call ptr @s2n_strerror(i32 noundef %347, ptr noundef nonnull @.str.4) #11
  %349 = load i32, ptr %346, align 4, !tbaa !5
  %350 = call ptr @s2n_strerror_debug(i32 noundef %349, ptr noundef nonnull @.str.4) #11
  %351 = load i32, ptr %332, align 4, !tbaa !5
  %352 = call ptr @strerror(i32 noundef %351) #11
  %353 = load i32, ptr %332, align 4, !tbaa !5
  %354 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %344, ptr noundef nonnull %.str.5.sink1221, i32 noundef %345, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 103, ptr noundef %348, ptr noundef %350, ptr noundef %352, i32 noundef %353) #13
  call void @exit(i32 noundef 1) #14
  unreachable

355:                                              ; preds = %327
  %356 = load i32, ptr @test_count, align 4, !tbaa !5
  %357 = add nsw i32 %356, 1
  store i32 %357, ptr @test_count, align 4, !tbaa !5
  %358 = load ptr, ptr %3, align 8, !tbaa !9
  %359 = icmp eq ptr %358, null
  br i1 %359, label %384, label %360

360:                                              ; preds = %355
  %361 = tail call ptr @__errno_location() #12
  %362 = load i32, ptr %361, align 4, !tbaa !5
  %363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %364 = call i32 @s2n_print_stacktrace(ptr noundef %363) #11
  %365 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %366 = trunc nuw i8 %365 to i1
  br i1 %366, label %367, label %371

367:                                              ; preds = %360
  %368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %369 = call i32 @fileno(ptr noundef %368) #11
  %370 = call i32 @isatty(i32 noundef %369) #11
  %.not807 = icmp eq i32 %370, 0
  br i1 %.not807, label %371, label %372

371:                                              ; preds = %367, %360
  br label %372

372:                                              ; preds = %367, %371
  %.str.5.sink1232 = phi ptr [ @.str.5, %371 ], [ @.str.2, %367 ]
  store i32 %362, ptr %361, align 4, !tbaa !5
  %373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %374 = load i32, ptr @test_count, align 4, !tbaa !5
  %375 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %376 = load i32, ptr %375, align 4, !tbaa !5
  %377 = call ptr @s2n_strerror(i32 noundef %376, ptr noundef nonnull @.str.4) #11
  %378 = load i32, ptr %375, align 4, !tbaa !5
  %379 = call ptr @s2n_strerror_debug(i32 noundef %378, ptr noundef nonnull @.str.4) #11
  %380 = load i32, ptr %361, align 4, !tbaa !5
  %381 = call ptr @strerror(i32 noundef %380) #11
  %382 = load i32, ptr %361, align 4, !tbaa !5
  %383 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %373, ptr noundef nonnull %.str.5.sink1232, i32 noundef %374, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 104, ptr noundef %377, ptr noundef %379, ptr noundef %381, i32 noundef %382) #13
  call void @exit(i32 noundef 1) #14
  unreachable

384:                                              ; preds = %355
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %4) #11
  %385 = call ptr @load_test_crl(ptr noundef nonnull @.str.11)
  store ptr %385, ptr %4, align 8, !tbaa !9
  %386 = load i32, ptr @test_count, align 4, !tbaa !5
  %387 = add nsw i32 %386, 1
  store i32 %387, ptr @test_count, align 4, !tbaa !5
  %388 = icmp eq ptr %385, null
  br i1 %388, label %389, label %413

389:                                              ; preds = %384
  %390 = tail call ptr @__errno_location() #12
  %391 = load i32, ptr %390, align 4, !tbaa !5
  %392 = load ptr, ptr @stderr, align 8, !tbaa !9
  %393 = call i32 @s2n_print_stacktrace(ptr noundef %392) #11
  %394 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %395 = trunc nuw i8 %394 to i1
  br i1 %395, label %396, label %400

396:                                              ; preds = %389
  %397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %398 = call i32 @fileno(ptr noundef %397) #11
  %399 = call i32 @isatty(i32 noundef %398) #11
  %.not1137 = icmp eq i32 %399, 0
  br i1 %.not1137, label %400, label %401

400:                                              ; preds = %396, %389
  br label %401

401:                                              ; preds = %396, %400
  %.str.5.sink1243 = phi ptr [ @.str.5, %400 ], [ @.str.2, %396 ]
  store i32 %391, ptr %390, align 4, !tbaa !5
  %402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %403 = load i32, ptr @test_count, align 4, !tbaa !5
  %404 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %405 = load i32, ptr %404, align 4, !tbaa !5
  %406 = call ptr @s2n_strerror(i32 noundef %405, ptr noundef nonnull @.str.4) #11
  %407 = load i32, ptr %404, align 4, !tbaa !5
  %408 = call ptr @s2n_strerror_debug(i32 noundef %407, ptr noundef nonnull @.str.4) #11
  %409 = load i32, ptr %390, align 4, !tbaa !5
  %410 = call ptr @strerror(i32 noundef %409) #11
  %411 = load i32, ptr %390, align 4, !tbaa !5
  %412 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %402, ptr noundef nonnull %.str.5.sink1243, i32 noundef %403, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, i32 noundef 110, ptr noundef %406, ptr noundef %408, ptr noundef %410, i32 noundef %411) #13
  call void @exit(i32 noundef 1) #14
  unreachable

413:                                              ; preds = %384
  %414 = add nsw i32 %386, 2
  store i32 %414, ptr @test_count, align 4, !tbaa !5
  %415 = load ptr, ptr %385, align 8, !tbaa !15
  %416 = icmp eq ptr %415, null
  br i1 %416, label %417, label %441

417:                                              ; preds = %413
  %418 = tail call ptr @__errno_location() #12
  %419 = load i32, ptr %418, align 4, !tbaa !5
  %420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %421 = call i32 @s2n_print_stacktrace(ptr noundef %420) #11
  %422 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %423 = trunc nuw i8 %422 to i1
  br i1 %423, label %424, label %428

424:                                              ; preds = %417
  %425 = load ptr, ptr @stderr, align 8, !tbaa !9
  %426 = call i32 @fileno(ptr noundef %425) #11
  %427 = call i32 @isatty(i32 noundef %426) #11
  %.not1136 = icmp eq i32 %427, 0
  br i1 %.not1136, label %428, label %429

428:                                              ; preds = %424, %417
  br label %429

429:                                              ; preds = %424, %428
  %.str.5.sink1254 = phi ptr [ @.str.5, %428 ], [ @.str.2, %424 ]
  store i32 %419, ptr %418, align 4, !tbaa !5
  %430 = load ptr, ptr @stderr, align 8, !tbaa !9
  %431 = load i32, ptr @test_count, align 4, !tbaa !5
  %432 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %433 = load i32, ptr %432, align 4, !tbaa !5
  %434 = call ptr @s2n_strerror(i32 noundef %433, ptr noundef nonnull @.str.4) #11
  %435 = load i32, ptr %432, align 4, !tbaa !5
  %436 = call ptr @s2n_strerror_debug(i32 noundef %435, ptr noundef nonnull @.str.4) #11
  %437 = load i32, ptr %418, align 4, !tbaa !5
  %438 = call ptr @strerror(i32 noundef %437) #11
  %439 = load i32, ptr %418, align 4, !tbaa !5
  %440 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %430, ptr noundef nonnull %.str.5.sink1254, i32 noundef %431, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 111, ptr noundef %434, ptr noundef %436, ptr noundef %438, i32 noundef %439) #13
  call void @exit(i32 noundef 1) #14
  unreachable

441:                                              ; preds = %413
  %442 = add nsw i32 %386, 3
  store i32 %442, ptr @test_count, align 4, !tbaa !5
  %443 = call i32 @s2n_crl_free(ptr noundef nonnull %4) #11
  %444 = icmp eq i32 %443, -1
  br i1 %444, label %445, label %469

445:                                              ; preds = %441
  %446 = tail call ptr @__errno_location() #12
  %447 = load i32, ptr %446, align 4, !tbaa !5
  %448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %449 = call i32 @s2n_print_stacktrace(ptr noundef %448) #11
  %450 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %451 = trunc nuw i8 %450 to i1
  br i1 %451, label %452, label %456

452:                                              ; preds = %445
  %453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %454 = call i32 @fileno(ptr noundef %453) #11
  %455 = call i32 @isatty(i32 noundef %454) #11
  %.not1135 = icmp eq i32 %455, 0
  br i1 %.not1135, label %456, label %457

456:                                              ; preds = %452, %445
  br label %457

457:                                              ; preds = %452, %456
  %.str.5.sink1265 = phi ptr [ @.str.5, %456 ], [ @.str.2, %452 ]
  store i32 %447, ptr %446, align 4, !tbaa !5
  %458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %459 = load i32, ptr @test_count, align 4, !tbaa !5
  %460 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %461 = load i32, ptr %460, align 4, !tbaa !5
  %462 = call ptr @s2n_strerror(i32 noundef %461, ptr noundef nonnull @.str.4) #11
  %463 = load i32, ptr %460, align 4, !tbaa !5
  %464 = call ptr @s2n_strerror_debug(i32 noundef %463, ptr noundef nonnull @.str.4) #11
  %465 = load i32, ptr %446, align 4, !tbaa !5
  %466 = call ptr @strerror(i32 noundef %465) #11
  %467 = load i32, ptr %446, align 4, !tbaa !5
  %468 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %458, ptr noundef nonnull %.str.5.sink1265, i32 noundef %459, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 113, ptr noundef %462, ptr noundef %464, ptr noundef %466, i32 noundef %467) #13
  call void @exit(i32 noundef 1) #14
  unreachable

469:                                              ; preds = %441
  %470 = load i32, ptr @test_count, align 4, !tbaa !5
  %471 = add nsw i32 %470, 1
  store i32 %471, ptr @test_count, align 4, !tbaa !5
  %472 = load ptr, ptr %4, align 8, !tbaa !9
  %473 = icmp eq ptr %472, null
  br i1 %473, label %498, label %474

474:                                              ; preds = %469
  %475 = tail call ptr @__errno_location() #12
  %476 = load i32, ptr %475, align 4, !tbaa !5
  %477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %478 = call i32 @s2n_print_stacktrace(ptr noundef %477) #11
  %479 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %480 = trunc nuw i8 %479 to i1
  br i1 %480, label %481, label %485

481:                                              ; preds = %474
  %482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %483 = call i32 @fileno(ptr noundef %482) #11
  %484 = call i32 @isatty(i32 noundef %483) #11
  %.not808 = icmp eq i32 %484, 0
  br i1 %.not808, label %485, label %486

485:                                              ; preds = %481, %474
  br label %486

486:                                              ; preds = %481, %485
  %.str.5.sink1276 = phi ptr [ @.str.5, %485 ], [ @.str.2, %481 ]
  store i32 %476, ptr %475, align 4, !tbaa !5
  %487 = load ptr, ptr @stderr, align 8, !tbaa !9
  %488 = load i32, ptr @test_count, align 4, !tbaa !5
  %489 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %490 = load i32, ptr %489, align 4, !tbaa !5
  %491 = call ptr @s2n_strerror(i32 noundef %490, ptr noundef nonnull @.str.4) #11
  %492 = load i32, ptr %489, align 4, !tbaa !5
  %493 = call ptr @s2n_strerror_debug(i32 noundef %492, ptr noundef nonnull @.str.4) #11
  %494 = load i32, ptr %475, align 4, !tbaa !5
  %495 = call ptr @strerror(i32 noundef %494) #11
  %496 = load i32, ptr %475, align 4, !tbaa !5
  %497 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %487, ptr noundef nonnull %.str.5.sink1276, i32 noundef %488, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 114, ptr noundef %491, ptr noundef %493, ptr noundef %495, i32 noundef %496) #13
  call void @exit(i32 noundef 1) #14
  unreachable

498:                                              ; preds = %469
  %499 = add nsw i32 %470, 2
  store i32 %499, ptr @test_count, align 4, !tbaa !5
  %500 = call i32 @s2n_crl_free(ptr noundef nonnull %4) #11
  %501 = icmp eq i32 %500, -1
  br i1 %501, label %502, label %526

502:                                              ; preds = %498
  %503 = tail call ptr @__errno_location() #12
  %504 = load i32, ptr %503, align 4, !tbaa !5
  %505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %506 = call i32 @s2n_print_stacktrace(ptr noundef %505) #11
  %507 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %508 = trunc nuw i8 %507 to i1
  br i1 %508, label %509, label %513

509:                                              ; preds = %502
  %510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %511 = call i32 @fileno(ptr noundef %510) #11
  %512 = call i32 @isatty(i32 noundef %511) #11
  %.not1134 = icmp eq i32 %512, 0
  br i1 %.not1134, label %513, label %514

513:                                              ; preds = %509, %502
  br label %514

514:                                              ; preds = %509, %513
  %.str.5.sink1287 = phi ptr [ @.str.5, %513 ], [ @.str.2, %509 ]
  store i32 %504, ptr %503, align 4, !tbaa !5
  %515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %516 = load i32, ptr @test_count, align 4, !tbaa !5
  %517 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %518 = load i32, ptr %517, align 4, !tbaa !5
  %519 = call ptr @s2n_strerror(i32 noundef %518, ptr noundef nonnull @.str.4) #11
  %520 = load i32, ptr %517, align 4, !tbaa !5
  %521 = call ptr @s2n_strerror_debug(i32 noundef %520, ptr noundef nonnull @.str.4) #11
  %522 = load i32, ptr %503, align 4, !tbaa !5
  %523 = call ptr @strerror(i32 noundef %522) #11
  %524 = load i32, ptr %503, align 4, !tbaa !5
  %525 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %515, ptr noundef nonnull %.str.5.sink1287, i32 noundef %516, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 117, ptr noundef %519, ptr noundef %521, ptr noundef %523, i32 noundef %524) #13
  call void @exit(i32 noundef 1) #14
  unreachable

526:                                              ; preds = %498
  %527 = load i32, ptr @test_count, align 4, !tbaa !5
  %528 = add nsw i32 %527, 1
  store i32 %528, ptr @test_count, align 4, !tbaa !5
  %529 = load ptr, ptr %4, align 8, !tbaa !9
  %530 = icmp eq ptr %529, null
  br i1 %530, label %555, label %531

531:                                              ; preds = %526
  %532 = tail call ptr @__errno_location() #12
  %533 = load i32, ptr %532, align 4, !tbaa !5
  %534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %535 = call i32 @s2n_print_stacktrace(ptr noundef %534) #11
  %536 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %537 = trunc nuw i8 %536 to i1
  br i1 %537, label %538, label %542

538:                                              ; preds = %531
  %539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %540 = call i32 @fileno(ptr noundef %539) #11
  %541 = call i32 @isatty(i32 noundef %540) #11
  %.not809 = icmp eq i32 %541, 0
  br i1 %.not809, label %542, label %543

542:                                              ; preds = %538, %531
  br label %543

543:                                              ; preds = %538, %542
  %.str.5.sink1298 = phi ptr [ @.str.5, %542 ], [ @.str.2, %538 ]
  store i32 %533, ptr %532, align 4, !tbaa !5
  %544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %545 = load i32, ptr @test_count, align 4, !tbaa !5
  %546 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %547 = load i32, ptr %546, align 4, !tbaa !5
  %548 = call ptr @s2n_strerror(i32 noundef %547, ptr noundef nonnull @.str.4) #11
  %549 = load i32, ptr %546, align 4, !tbaa !5
  %550 = call ptr @s2n_strerror_debug(i32 noundef %549, ptr noundef nonnull @.str.4) #11
  %551 = load i32, ptr %532, align 4, !tbaa !5
  %552 = call ptr @strerror(i32 noundef %551) #11
  %553 = load i32, ptr %532, align 4, !tbaa !5
  %554 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %544, ptr noundef nonnull %.str.5.sink1298, i32 noundef %545, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 118, ptr noundef %548, ptr noundef %550, ptr noundef %552, i32 noundef %553) #13
  call void @exit(i32 noundef 1) #14
  unreachable

555:                                              ; preds = %526
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %4) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %5) #11
  %556 = call ptr @load_test_crl(ptr noundef nonnull @.str.11)
  store ptr %556, ptr %5, align 8, !tbaa !9
  %557 = load i32, ptr @test_count, align 4, !tbaa !5
  %558 = add nsw i32 %557, 1
  store i32 %558, ptr @test_count, align 4, !tbaa !5
  %559 = icmp eq ptr %556, null
  br i1 %559, label %560, label %584

560:                                              ; preds = %555
  %561 = tail call ptr @__errno_location() #12
  %562 = load i32, ptr %561, align 4, !tbaa !5
  %563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %564 = call i32 @s2n_print_stacktrace(ptr noundef %563) #11
  %565 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %566 = trunc nuw i8 %565 to i1
  br i1 %566, label %567, label %571

567:                                              ; preds = %560
  %568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %569 = call i32 @fileno(ptr noundef %568) #11
  %570 = call i32 @isatty(i32 noundef %569) #11
  %.not1133 = icmp eq i32 %570, 0
  br i1 %.not1133, label %571, label %572

571:                                              ; preds = %567, %560
  br label %572

572:                                              ; preds = %567, %571
  %.str.5.sink1309 = phi ptr [ @.str.5, %571 ], [ @.str.2, %567 ]
  store i32 %562, ptr %561, align 4, !tbaa !5
  %573 = load ptr, ptr @stderr, align 8, !tbaa !9
  %574 = load i32, ptr @test_count, align 4, !tbaa !5
  %575 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %576 = load i32, ptr %575, align 4, !tbaa !5
  %577 = call ptr @s2n_strerror(i32 noundef %576, ptr noundef nonnull @.str.4) #11
  %578 = load i32, ptr %575, align 4, !tbaa !5
  %579 = call ptr @s2n_strerror_debug(i32 noundef %578, ptr noundef nonnull @.str.4) #11
  %580 = load i32, ptr %561, align 4, !tbaa !5
  %581 = call ptr @strerror(i32 noundef %580) #11
  %582 = load i32, ptr %561, align 4, !tbaa !5
  %583 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %573, ptr noundef nonnull %.str.5.sink1309, i32 noundef %574, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, i32 noundef 124, ptr noundef %577, ptr noundef %579, ptr noundef %581, i32 noundef %582) #13
  call void @exit(i32 noundef 1) #14
  unreachable

584:                                              ; preds = %555
  %585 = add nsw i32 %557, 2
  store i32 %585, ptr @test_count, align 4, !tbaa !5
  %586 = load ptr, ptr %556, align 8, !tbaa !15
  %587 = icmp eq ptr %586, null
  br i1 %587, label %588, label %612

588:                                              ; preds = %584
  %589 = tail call ptr @__errno_location() #12
  %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) #11
  %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) #11
  %598 = call i32 @isatty(i32 noundef %597) #11
  %.not1132 = icmp eq i32 %598, 0
  br i1 %.not1132, label %599, label %600

599:                                              ; preds = %595, %588
  br label %600

600:                                              ; preds = %595, %599
  %.str.5.sink1320 = 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 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %604 = load i32, ptr %603, align 4, !tbaa !5
  %605 = call ptr @s2n_strerror(i32 noundef %604, ptr noundef nonnull @.str.4) #11
  %606 = load i32, ptr %603, align 4, !tbaa !5
  %607 = call ptr @s2n_strerror_debug(i32 noundef %606, ptr noundef nonnull @.str.4) #11
  %608 = load i32, ptr %589, align 4, !tbaa !5
  %609 = call ptr @strerror(i32 noundef %608) #11
  %610 = load i32, ptr %589, align 4, !tbaa !5
  %611 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %601, ptr noundef nonnull %.str.5.sink1320, i32 noundef %602, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 125, ptr noundef %605, ptr noundef %607, ptr noundef %609, i32 noundef %610) #13
  call void @exit(i32 noundef 1) #14
  unreachable

612:                                              ; preds = %584
  %613 = call ptr @X509_CRL_get_issuer(ptr noundef nonnull %586) #11
  %.not810 = icmp eq ptr %613, null
  br i1 %.not810, label %614, label %623

614:                                              ; preds = %612
  %615 = call align 8 ptr @llvm.threadlocal.address.p0(ptr align 8 @_s2n_debug_info)
  store ptr @.str.13, ptr %615, align 8, !tbaa !17
  %616 = call ptr @strrchr(ptr noundef nonnull dereferenceable(1) getelementptr inbounds (i8, ptr @.str.13, i64 21), i32 noundef 47) #15
  %.not811 = icmp eq ptr %616, null
  %617 = getelementptr inbounds i8, ptr %616, i64 1
  %618 = select i1 %.not811, ptr getelementptr inbounds (i8, ptr @.str.13, i64 21), ptr %617
  %619 = getelementptr inbounds i8, ptr %615, i64 8
  store ptr %618, ptr %619, align 8, !tbaa !19
  %620 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 402653193, ptr %620, align 4, !tbaa !5
  %621 = call i32 @s2n_calculate_stacktrace() #11
  %622 = call i32 @s2n_crl_free(ptr noundef nonnull %5) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %5) #11
  br label %9307

623:                                              ; preds = %612
  %624 = call i32 @s2n_crl_free(ptr noundef nonnull %5) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %5) #11
  call void @llvm.lifetime.start.p0(i64 12000, ptr nonnull %6) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(12000) %6, i8 0, i64 12000, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %7) #11
  store i32 0, ptr %7, align 4, !tbaa !5
  %625 = load i32, ptr @test_count, align 4, !tbaa !5
  %626 = add nsw i32 %625, 1
  store i32 %626, ptr @test_count, align 4, !tbaa !5
  %627 = call i32 @s2n_read_test_pem_and_len(ptr noundef nonnull @.str.11, ptr noundef nonnull %6, ptr noundef nonnull %7, i64 noundef 12000) #11
  %628 = icmp eq i32 %627, -1
  br i1 %628, label %629, label %653

629:                                              ; preds = %623
  %630 = tail call ptr @__errno_location() #12
  %631 = load i32, ptr %630, align 4, !tbaa !5
  %632 = load ptr, ptr @stderr, align 8, !tbaa !9
  %633 = call i32 @s2n_print_stacktrace(ptr noundef %632) #11
  %634 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %635 = trunc nuw i8 %634 to i1
  br i1 %635, label %636, label %640

636:                                              ; preds = %629
  %637 = load ptr, ptr @stderr, align 8, !tbaa !9
  %638 = call i32 @fileno(ptr noundef %637) #11
  %639 = call i32 @isatty(i32 noundef %638) #11
  %.not1131 = icmp eq i32 %639, 0
  br i1 %.not1131, label %640, label %641

640:                                              ; preds = %636, %629
  br label %641

641:                                              ; preds = %636, %640
  %.str.5.sink1331 = phi ptr [ @.str.5, %640 ], [ @.str.2, %636 ]
  store i32 %631, ptr %630, align 4, !tbaa !5
  %642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %643 = load i32, ptr @test_count, align 4, !tbaa !5
  %644 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %645 = load i32, ptr %644, align 4, !tbaa !5
  %646 = call ptr @s2n_strerror(i32 noundef %645, ptr noundef nonnull @.str.4) #11
  %647 = load i32, ptr %644, align 4, !tbaa !5
  %648 = call ptr @s2n_strerror_debug(i32 noundef %647, ptr noundef nonnull @.str.4) #11
  %649 = load i32, ptr %630, align 4, !tbaa !5
  %650 = call ptr @strerror(i32 noundef %649) #11
  %651 = load i32, ptr %630, align 4, !tbaa !5
  %652 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %642, ptr noundef nonnull %.str.5.sink1331, i32 noundef %643, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.1, i32 noundef 136, ptr noundef %646, ptr noundef %648, ptr noundef %650, i32 noundef %651) #13
  call void @exit(i32 noundef 1) #14
  unreachable

653:                                              ; preds = %623
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %8) #11
  %654 = call ptr @s2n_crl_new() #11
  store ptr %654, ptr %8, align 8, !tbaa !9
  %655 = load i32, ptr @test_count, align 4, !tbaa !5
  %656 = add nsw i32 %655, 1
  store i32 %656, ptr @test_count, align 4, !tbaa !5
  %657 = icmp eq ptr %654, null
  br i1 %657, label %658, label %682

658:                                              ; preds = %653
  %659 = tail call ptr @__errno_location() #12
  %660 = load i32, ptr %659, align 4, !tbaa !5
  %661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %662 = call i32 @s2n_print_stacktrace(ptr noundef %661) #11
  %663 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %664 = trunc nuw i8 %663 to i1
  br i1 %664, label %665, label %669

665:                                              ; preds = %658
  %666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %667 = call i32 @fileno(ptr noundef %666) #11
  %668 = call i32 @isatty(i32 noundef %667) #11
  %.not1130 = icmp eq i32 %668, 0
  br i1 %.not1130, label %669, label %670

669:                                              ; preds = %665, %658
  br label %670

670:                                              ; preds = %665, %669
  %.str.5.sink1342 = phi ptr [ @.str.5, %669 ], [ @.str.2, %665 ]
  store i32 %660, ptr %659, align 4, !tbaa !5
  %671 = load ptr, ptr @stderr, align 8, !tbaa !9
  %672 = load i32, ptr @test_count, align 4, !tbaa !5
  %673 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %674 = load i32, ptr %673, align 4, !tbaa !5
  %675 = call ptr @s2n_strerror(i32 noundef %674, ptr noundef nonnull @.str.4) #11
  %676 = load i32, ptr %673, align 4, !tbaa !5
  %677 = call ptr @s2n_strerror_debug(i32 noundef %676, ptr noundef nonnull @.str.4) #11
  %678 = load i32, ptr %659, align 4, !tbaa !5
  %679 = call ptr @strerror(i32 noundef %678) #11
  %680 = load i32, ptr %659, align 4, !tbaa !5
  %681 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %671, ptr noundef nonnull %.str.5.sink1342, i32 noundef %672, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, i32 noundef 138, ptr noundef %675, ptr noundef %677, ptr noundef %679, i32 noundef %680) #13
  call void @exit(i32 noundef 1) #14
  unreachable

682:                                              ; preds = %653
  %683 = add nsw i32 %655, 2
  store i32 %683, ptr @test_count, align 4, !tbaa !5
  %684 = load i32, ptr %7, align 4, !tbaa !5
  %685 = zext i32 %684 to i64
  %686 = call i32 @s2n_crl_load_pem(ptr noundef nonnull %654, ptr noundef nonnull %6, i64 noundef %685) #11
  %687 = icmp eq i32 %686, -1
  br i1 %687, label %688, label %712

688:                                              ; preds = %682
  %689 = tail call ptr @__errno_location() #12
  %690 = load i32, ptr %689, align 4, !tbaa !5
  %691 = load ptr, ptr @stderr, align 8, !tbaa !9
  %692 = call i32 @s2n_print_stacktrace(ptr noundef %691) #11
  %693 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %694 = trunc nuw i8 %693 to i1
  br i1 %694, label %695, label %699

695:                                              ; preds = %688
  %696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %697 = call i32 @fileno(ptr noundef %696) #11
  %698 = call i32 @isatty(i32 noundef %697) #11
  %.not1129 = icmp eq i32 %698, 0
  br i1 %.not1129, label %699, label %700

699:                                              ; preds = %695, %688
  br label %700

700:                                              ; preds = %695, %699
  %.str.5.sink1353 = phi ptr [ @.str.5, %699 ], [ @.str.2, %695 ]
  store i32 %690, ptr %689, align 4, !tbaa !5
  %701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %702 = load i32, ptr @test_count, align 4, !tbaa !5
  %703 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %704 = load i32, ptr %703, align 4, !tbaa !5
  %705 = call ptr @s2n_strerror(i32 noundef %704, ptr noundef nonnull @.str.4) #11
  %706 = load i32, ptr %703, align 4, !tbaa !5
  %707 = call ptr @s2n_strerror_debug(i32 noundef %706, ptr noundef nonnull @.str.4) #11
  %708 = load i32, ptr %689, align 4, !tbaa !5
  %709 = call ptr @strerror(i32 noundef %708) #11
  %710 = load i32, ptr %689, align 4, !tbaa !5
  %711 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %701, ptr noundef nonnull %.str.5.sink1353, i32 noundef %702, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 139, ptr noundef %705, ptr noundef %707, ptr noundef %709, i32 noundef %710) #13
  call void @exit(i32 noundef 1) #14
  unreachable

712:                                              ; preds = %682
  %713 = getelementptr inbounds i8, ptr %6, i64 50
  store i8 1, ptr %713, align 2, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %9) #11
  %714 = call ptr @s2n_crl_new() #11
  store ptr %714, ptr %9, align 8, !tbaa !9
  %715 = load i32, ptr @test_count, align 4, !tbaa !5
  %716 = add nsw i32 %715, 1
  store i32 %716, ptr @test_count, align 4, !tbaa !5
  %717 = icmp eq ptr %714, null
  br i1 %717, label %718, label %742

718:                                              ; preds = %712
  %719 = tail call ptr @__errno_location() #12
  %720 = load i32, ptr %719, align 4, !tbaa !5
  %721 = load ptr, ptr @stderr, align 8, !tbaa !9
  %722 = call i32 @s2n_print_stacktrace(ptr noundef %721) #11
  %723 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %724 = trunc nuw i8 %723 to i1
  br i1 %724, label %725, label %729

725:                                              ; preds = %718
  %726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %727 = call i32 @fileno(ptr noundef %726) #11
  %728 = call i32 @isatty(i32 noundef %727) #11
  %.not1128 = icmp eq i32 %728, 0
  br i1 %.not1128, label %729, label %730

729:                                              ; preds = %725, %718
  br label %730

730:                                              ; preds = %725, %729
  %.str.5.sink1364 = phi ptr [ @.str.5, %729 ], [ @.str.2, %725 ]
  store i32 %720, ptr %719, align 4, !tbaa !5
  %731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %732 = load i32, ptr @test_count, align 4, !tbaa !5
  %733 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %734 = load i32, ptr %733, align 4, !tbaa !5
  %735 = call ptr @s2n_strerror(i32 noundef %734, ptr noundef nonnull @.str.4) #11
  %736 = load i32, ptr %733, align 4, !tbaa !5
  %737 = call ptr @s2n_strerror_debug(i32 noundef %736, ptr noundef nonnull @.str.4) #11
  %738 = load i32, ptr %719, align 4, !tbaa !5
  %739 = call ptr @strerror(i32 noundef %738) #11
  %740 = load i32, ptr %719, align 4, !tbaa !5
  %741 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %731, ptr noundef nonnull %.str.5.sink1364, i32 noundef %732, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 145, ptr noundef %735, ptr noundef %737, ptr noundef %739, i32 noundef %740) #13
  call void @exit(i32 noundef 1) #14
  unreachable

742:                                              ; preds = %712
  %743 = add nsw i32 %715, 2
  store i32 %743, ptr @test_count, align 4, !tbaa !5
  %744 = load i32, ptr %7, align 4, !tbaa !5
  %745 = zext i32 %744 to i64
  %746 = call i32 @s2n_crl_load_pem(ptr noundef nonnull %714, ptr noundef nonnull %6, i64 noundef %745) #11
  %747 = icmp eq i32 %746, -1
  br i1 %747, label %772, label %748

748:                                              ; preds = %742
  %749 = tail call ptr @__errno_location() #12
  %750 = load i32, ptr %749, align 4, !tbaa !5
  %751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %752 = call i32 @s2n_print_stacktrace(ptr noundef %751) #11
  %753 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %754 = trunc nuw i8 %753 to i1
  br i1 %754, label %755, label %759

755:                                              ; preds = %748
  %756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %757 = call i32 @fileno(ptr noundef %756) #11
  %758 = call i32 @isatty(i32 noundef %757) #11
  %.not812 = icmp eq i32 %758, 0
  br i1 %.not812, label %759, label %760

759:                                              ; preds = %755, %748
  br label %760

760:                                              ; preds = %755, %759
  %.str.5.sink1375 = phi ptr [ @.str.5, %759 ], [ @.str.2, %755 ]
  store i32 %750, ptr %749, align 4, !tbaa !5
  %761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %762 = load i32, ptr @test_count, align 4, !tbaa !5
  %763 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %764 = load i32, ptr %763, align 4, !tbaa !5
  %765 = call ptr @s2n_strerror(i32 noundef %764, ptr noundef nonnull @.str.4) #11
  %766 = load i32, ptr %763, align 4, !tbaa !5
  %767 = call ptr @s2n_strerror_debug(i32 noundef %766, ptr noundef nonnull @.str.4) #11
  %768 = load i32, ptr %749, align 4, !tbaa !5
  %769 = call ptr @strerror(i32 noundef %768) #11
  %770 = load i32, ptr %749, align 4, !tbaa !5
  %771 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %761, ptr noundef nonnull %.str.5.sink1375, i32 noundef %762, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 147, ptr noundef %765, ptr noundef %767, ptr noundef %769, i32 noundef %770) #13
  call void @exit(i32 noundef 1) #14
  unreachable

772:                                              ; preds = %742
  %773 = load i32, ptr @test_count, align 4, !tbaa !5
  %774 = add nsw i32 %773, 1
  store i32 %774, ptr @test_count, align 4, !tbaa !5
  %775 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %776 = load i32, ptr %775, align 4, !tbaa !5
  %777 = icmp eq i32 %776, 469762057
  br i1 %777, label %801, label %778

778:                                              ; preds = %772
  %779 = tail call ptr @__errno_location() #12
  %780 = load i32, ptr %779, align 4, !tbaa !5
  %781 = load ptr, ptr @stderr, align 8, !tbaa !9
  %782 = call i32 @s2n_print_stacktrace(ptr noundef %781) #11
  %783 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %784 = trunc nuw i8 %783 to i1
  br i1 %784, label %785, label %789

785:                                              ; preds = %778
  %786 = load ptr, ptr @stderr, align 8, !tbaa !9
  %787 = call i32 @fileno(ptr noundef %786) #11
  %788 = call i32 @isatty(i32 noundef %787) #11
  %.not813 = icmp eq i32 %788, 0
  br i1 %.not813, label %789, label %790

789:                                              ; preds = %785, %778
  br label %790

790:                                              ; preds = %785, %789
  %.str.5.sink1386 = phi ptr [ @.str.5, %789 ], [ @.str.2, %785 ]
  store i32 %780, ptr %779, align 4, !tbaa !5
  %791 = load ptr, ptr @stderr, align 8, !tbaa !9
  %792 = load i32, ptr @test_count, align 4, !tbaa !5
  %793 = load i32, ptr %775, align 4, !tbaa !5
  %794 = call ptr @s2n_strerror(i32 noundef %793, ptr noundef nonnull @.str.4) #11
  %795 = load i32, ptr %775, align 4, !tbaa !5
  %796 = call ptr @s2n_strerror_debug(i32 noundef %795, ptr noundef nonnull @.str.4) #11
  %797 = load i32, ptr %779, align 4, !tbaa !5
  %798 = call ptr @strerror(i32 noundef %797) #11
  %799 = load i32, ptr %779, align 4, !tbaa !5
  %800 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %791, ptr noundef nonnull %.str.5.sink1386, i32 noundef %792, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 147, ptr noundef %794, ptr noundef %796, ptr noundef %798, i32 noundef %799) #13
  call void @exit(i32 noundef 1) #14
  unreachable

801:                                              ; preds = %772
  %802 = add nsw i32 %773, 2
  store i32 %802, ptr @test_count, align 4, !tbaa !5
  %803 = call ptr @s2n_strerror_debug(i32 noundef 469762057, ptr noundef nonnull @.str.4) #11
  %804 = icmp eq ptr %803, null
  br i1 %804, label %805, label %828

805:                                              ; preds = %801
  %806 = tail call ptr @__errno_location() #12
  %807 = load i32, ptr %806, align 4, !tbaa !5
  %808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %809 = call i32 @s2n_print_stacktrace(ptr noundef %808) #11
  %810 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %811 = trunc nuw i8 %810 to i1
  br i1 %811, label %812, label %816

812:                                              ; preds = %805
  %813 = load ptr, ptr @stderr, align 8, !tbaa !9
  %814 = call i32 @fileno(ptr noundef %813) #11
  %815 = call i32 @isatty(i32 noundef %814) #11
  %.not1127 = icmp eq i32 %815, 0
  br i1 %.not1127, label %816, label %817

816:                                              ; preds = %812, %805
  br label %817

817:                                              ; preds = %812, %816
  %.str.5.sink1395 = phi ptr [ @.str.5, %816 ], [ @.str.2, %812 ]
  store i32 %807, ptr %806, align 4, !tbaa !5
  %818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %819 = load i32, ptr @test_count, align 4, !tbaa !5
  %820 = load i32, ptr %775, align 4, !tbaa !5
  %821 = call ptr @s2n_strerror(i32 noundef %820, ptr noundef nonnull @.str.4) #11
  %822 = load i32, ptr %775, align 4, !tbaa !5
  %823 = call ptr @s2n_strerror_debug(i32 noundef %822, ptr noundef nonnull @.str.4) #11
  %824 = load i32, ptr %806, align 4, !tbaa !5
  %825 = call ptr @strerror(i32 noundef %824) #11
  %826 = load i32, ptr %806, align 4, !tbaa !5
  %827 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %818, ptr noundef nonnull %.str.5.sink1395, i32 noundef %819, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 147, ptr noundef %821, ptr noundef %823, ptr noundef %825, i32 noundef %826) #13
  call void @exit(i32 noundef 1) #14
  unreachable

828:                                              ; preds = %801
  store i32 0, ptr %775, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  %829 = tail call ptr @__errno_location() #12
  store i32 0, ptr %829, align 4, !tbaa !5
  %830 = call i32 @s2n_crl_free(ptr noundef nonnull %9) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %9) #11
  %831 = call i32 @s2n_crl_free(ptr noundef nonnull %8) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %7) #11
  call void @llvm.lifetime.end.p0(i64 12000, ptr nonnull %6) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %10) #11
  %832 = call ptr @load_test_crl(ptr noundef nonnull @.str.11)
  store ptr %832, ptr %10, align 8, !tbaa !9
  %833 = load i32, ptr @test_count, align 4, !tbaa !5
  %834 = add nsw i32 %833, 1
  store i32 %834, ptr @test_count, align 4, !tbaa !5
  %835 = icmp eq ptr %832, null
  br i1 %835, label %836, label %858

836:                                              ; preds = %828
  %837 = load i32, ptr %829, align 4, !tbaa !5
  %838 = load ptr, ptr @stderr, align 8, !tbaa !9
  %839 = call i32 @s2n_print_stacktrace(ptr noundef %838) #11
  %840 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %841 = trunc nuw i8 %840 to i1
  br i1 %841, label %842, label %846

842:                                              ; preds = %836
  %843 = load ptr, ptr @stderr, align 8, !tbaa !9
  %844 = call i32 @fileno(ptr noundef %843) #11
  %845 = call i32 @isatty(i32 noundef %844) #11
  %.not1126 = icmp eq i32 %845, 0
  br i1 %.not1126, label %846, label %847

846:                                              ; preds = %842, %836
  br label %847

847:                                              ; preds = %842, %846
  %.str.5.sink1404 = phi ptr [ @.str.5, %846 ], [ @.str.2, %842 ]
  store i32 %837, ptr %829, align 4, !tbaa !5
  %848 = load ptr, ptr @stderr, align 8, !tbaa !9
  %849 = load i32, ptr @test_count, align 4, !tbaa !5
  %850 = load i32, ptr %775, align 4, !tbaa !5
  %851 = call ptr @s2n_strerror(i32 noundef %850, ptr noundef nonnull @.str.4) #11
  %852 = load i32, ptr %775, align 4, !tbaa !5
  %853 = call ptr @s2n_strerror_debug(i32 noundef %852, ptr noundef nonnull @.str.4) #11
  %854 = load i32, ptr %829, align 4, !tbaa !5
  %855 = call ptr @strerror(i32 noundef %854) #11
  %856 = load i32, ptr %829, align 4, !tbaa !5
  %857 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %848, ptr noundef nonnull %.str.5.sink1404, i32 noundef %849, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, i32 noundef 153, ptr noundef %851, ptr noundef %853, ptr noundef %855, i32 noundef %856) #13
  call void @exit(i32 noundef 1) #14
  unreachable

858:                                              ; preds = %828
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %11) #11
  store i64 0, ptr %11, align 8, !tbaa !21
  %859 = add nsw i32 %833, 2
  store i32 %859, ptr @test_count, align 4, !tbaa !5
  %860 = call i32 @s2n_crl_get_issuer_hash(ptr noundef nonnull %832, ptr noundef nonnull %11) #11
  %861 = icmp eq i32 %860, -1
  br i1 %861, label %862, label %884

862:                                              ; preds = %858
  %863 = load i32, ptr %829, align 4, !tbaa !5
  %864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %865 = call i32 @s2n_print_stacktrace(ptr noundef %864) #11
  %866 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %867 = trunc nuw i8 %866 to i1
  br i1 %867, label %868, label %872

868:                                              ; preds = %862
  %869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %870 = call i32 @fileno(ptr noundef %869) #11
  %871 = call i32 @isatty(i32 noundef %870) #11
  %.not1125 = icmp eq i32 %871, 0
  br i1 %.not1125, label %872, label %873

872:                                              ; preds = %868, %862
  br label %873

873:                                              ; preds = %868, %872
  %.str.5.sink1413 = phi ptr [ @.str.5, %872 ], [ @.str.2, %868 ]
  store i32 %863, ptr %829, align 4, !tbaa !5
  %874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %875 = load i32, ptr @test_count, align 4, !tbaa !5
  %876 = load i32, ptr %775, align 4, !tbaa !5
  %877 = call ptr @s2n_strerror(i32 noundef %876, ptr noundef nonnull @.str.4) #11
  %878 = load i32, ptr %775, align 4, !tbaa !5
  %879 = call ptr @s2n_strerror_debug(i32 noundef %878, ptr noundef nonnull @.str.4) #11
  %880 = load i32, ptr %829, align 4, !tbaa !5
  %881 = call ptr @strerror(i32 noundef %880) #11
  %882 = load i32, ptr %829, align 4, !tbaa !5
  %883 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %874, ptr noundef nonnull %.str.5.sink1413, i32 noundef %875, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 156, ptr noundef %877, ptr noundef %879, ptr noundef %881, i32 noundef %882) #13
  call void @exit(i32 noundef 1) #14
  unreachable

884:                                              ; preds = %858
  %885 = load i32, ptr @test_count, align 4, !tbaa !5
  %886 = add nsw i32 %885, 1
  store i32 %886, ptr @test_count, align 4, !tbaa !5
  %887 = load i64, ptr %11, align 8, !tbaa !21
  %.not814 = icmp eq i64 %887, 0
  br i1 %.not814, label %888, label %910

888:                                              ; preds = %884
  %889 = load i32, ptr %829, align 4, !tbaa !5
  %890 = load ptr, ptr @stderr, align 8, !tbaa !9
  %891 = call i32 @s2n_print_stacktrace(ptr noundef %890) #11
  %892 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %893 = trunc nuw i8 %892 to i1
  br i1 %893, label %894, label %898

894:                                              ; preds = %888
  %895 = load ptr, ptr @stderr, align 8, !tbaa !9
  %896 = call i32 @fileno(ptr noundef %895) #11
  %897 = call i32 @isatty(i32 noundef %896) #11
  %.not815 = icmp eq i32 %897, 0
  br i1 %.not815, label %898, label %899

898:                                              ; preds = %894, %888
  br label %899

899:                                              ; preds = %894, %898
  %.str.5.sink1422 = phi ptr [ @.str.5, %898 ], [ @.str.2, %894 ]
  store i32 %889, ptr %829, align 4, !tbaa !5
  %900 = load ptr, ptr @stderr, align 8, !tbaa !9
  %901 = load i32, ptr @test_count, align 4, !tbaa !5
  %902 = load i32, ptr %775, align 4, !tbaa !5
  %903 = call ptr @s2n_strerror(i32 noundef %902, ptr noundef nonnull @.str.4) #11
  %904 = load i32, ptr %775, align 4, !tbaa !5
  %905 = call ptr @s2n_strerror_debug(i32 noundef %904, ptr noundef nonnull @.str.4) #11
  %906 = load i32, ptr %829, align 4, !tbaa !5
  %907 = call ptr @strerror(i32 noundef %906) #11
  %908 = load i32, ptr %829, align 4, !tbaa !5
  %909 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %900, ptr noundef nonnull %.str.5.sink1422, i32 noundef %901, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 157, ptr noundef %903, ptr noundef %905, ptr noundef %907, i32 noundef %908) #13
  call void @exit(i32 noundef 1) #14
  unreachable

910:                                              ; preds = %884
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11) #11
  %911 = call i32 @s2n_crl_free(ptr noundef nonnull %10) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %12) #11
  %912 = call ptr @load_test_crl(ptr noundef nonnull @.str.11)
  store ptr %912, ptr %12, align 8, !tbaa !9
  %913 = load i32, ptr @test_count, align 4, !tbaa !5
  %914 = add nsw i32 %913, 1
  store i32 %914, ptr @test_count, align 4, !tbaa !5
  %915 = icmp eq ptr %912, null
  br i1 %915, label %916, label %938

916:                                              ; preds = %910
  %917 = load i32, ptr %829, align 4, !tbaa !5
  %918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %919 = call i32 @s2n_print_stacktrace(ptr noundef %918) #11
  %920 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %921 = trunc nuw i8 %920 to i1
  br i1 %921, label %922, label %926

922:                                              ; preds = %916
  %923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %924 = call i32 @fileno(ptr noundef %923) #11
  %925 = call i32 @isatty(i32 noundef %924) #11
  %.not1124 = icmp eq i32 %925, 0
  br i1 %.not1124, label %926, label %927

926:                                              ; preds = %922, %916
  br label %927

927:                                              ; preds = %922, %926
  %.str.5.sink1431 = phi ptr [ @.str.5, %926 ], [ @.str.2, %922 ]
  store i32 %917, ptr %829, align 4, !tbaa !5
  %928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %929 = load i32, ptr @test_count, align 4, !tbaa !5
  %930 = load i32, ptr %775, align 4, !tbaa !5
  %931 = call ptr @s2n_strerror(i32 noundef %930, ptr noundef nonnull @.str.4) #11
  %932 = load i32, ptr %775, align 4, !tbaa !5
  %933 = call ptr @s2n_strerror_debug(i32 noundef %932, ptr noundef nonnull @.str.4) #11
  %934 = load i32, ptr %829, align 4, !tbaa !5
  %935 = call ptr @strerror(i32 noundef %934) #11
  %936 = load i32, ptr %829, align 4, !tbaa !5
  %937 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %928, ptr noundef nonnull %.str.5.sink1431, i32 noundef %929, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 161, ptr noundef %931, ptr noundef %933, ptr noundef %935, i32 noundef %936) #13
  call void @exit(i32 noundef 1) #14
  unreachable

938:                                              ; preds = %910
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %13) #11
  %939 = call ptr @load_test_crl(ptr noundef nonnull @.str.23)
  store ptr %939, ptr %13, align 8, !tbaa !9
  %940 = load i32, ptr @test_count, align 4, !tbaa !5
  %941 = add nsw i32 %940, 1
  store i32 %941, ptr @test_count, align 4, !tbaa !5
  %942 = icmp eq ptr %939, null
  br i1 %942, label %943, label %965

943:                                              ; preds = %938
  %944 = load i32, ptr %829, align 4, !tbaa !5
  %945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %946 = call i32 @s2n_print_stacktrace(ptr noundef %945) #11
  %947 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %948 = trunc nuw i8 %947 to i1
  br i1 %948, label %949, label %953

949:                                              ; preds = %943
  %950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %951 = call i32 @fileno(ptr noundef %950) #11
  %952 = call i32 @isatty(i32 noundef %951) #11
  %.not1123 = icmp eq i32 %952, 0
  br i1 %.not1123, label %953, label %954

953:                                              ; preds = %949, %943
  br label %954

954:                                              ; preds = %949, %953
  %.str.5.sink1440 = phi ptr [ @.str.5, %953 ], [ @.str.2, %949 ]
  store i32 %944, ptr %829, align 4, !tbaa !5
  %955 = load ptr, ptr @stderr, align 8, !tbaa !9
  %956 = load i32, ptr @test_count, align 4, !tbaa !5
  %957 = load i32, ptr %775, align 4, !tbaa !5
  %958 = call ptr @s2n_strerror(i32 noundef %957, ptr noundef nonnull @.str.4) #11
  %959 = load i32, ptr %775, align 4, !tbaa !5
  %960 = call ptr @s2n_strerror_debug(i32 noundef %959, ptr noundef nonnull @.str.4) #11
  %961 = load i32, ptr %829, align 4, !tbaa !5
  %962 = call ptr @strerror(i32 noundef %961) #11
  %963 = load i32, ptr %829, align 4, !tbaa !5
  %964 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %955, ptr noundef nonnull %.str.5.sink1440, i32 noundef %956, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 164, ptr noundef %958, ptr noundef %960, ptr noundef %962, i32 noundef %963) #13
  call void @exit(i32 noundef 1) #14
  unreachable

965:                                              ; preds = %938
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %14) #11
  %966 = call ptr @load_test_crl(ptr noundef nonnull @.str.25)
  store ptr %966, ptr %14, align 8, !tbaa !9
  %967 = load i32, ptr @test_count, align 4, !tbaa !5
  %968 = add nsw i32 %967, 1
  store i32 %968, ptr @test_count, align 4, !tbaa !5
  %969 = icmp eq ptr %966, null
  br i1 %969, label %970, label %992

970:                                              ; preds = %965
  %971 = load i32, ptr %829, align 4, !tbaa !5
  %972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %973 = call i32 @s2n_print_stacktrace(ptr noundef %972) #11
  %974 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %975 = trunc nuw i8 %974 to i1
  br i1 %975, label %976, label %980

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

980:                                              ; preds = %976, %970
  br label %981

981:                                              ; preds = %976, %980
  %.str.5.sink1449 = phi ptr [ @.str.5, %980 ], [ @.str.2, %976 ]
  store i32 %971, ptr %829, align 4, !tbaa !5
  %982 = load ptr, ptr @stderr, align 8, !tbaa !9
  %983 = load i32, ptr @test_count, align 4, !tbaa !5
  %984 = load i32, ptr %775, align 4, !tbaa !5
  %985 = call ptr @s2n_strerror(i32 noundef %984, ptr noundef nonnull @.str.4) #11
  %986 = load i32, ptr %775, align 4, !tbaa !5
  %987 = call ptr @s2n_strerror_debug(i32 noundef %986, ptr noundef nonnull @.str.4) #11
  %988 = load i32, ptr %829, align 4, !tbaa !5
  %989 = call ptr @strerror(i32 noundef %988) #11
  %990 = load i32, ptr %829, align 4, !tbaa !5
  %991 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %982, ptr noundef nonnull %.str.5.sink1449, i32 noundef %983, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 167, ptr noundef %985, ptr noundef %987, ptr noundef %989, i32 noundef %990) #13
  call void @exit(i32 noundef 1) #14
  unreachable

992:                                              ; preds = %965
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %15) #11
  %993 = call ptr @load_test_crl(ptr noundef nonnull @.str.27)
  store ptr %993, ptr %15, align 8, !tbaa !9
  %994 = load i32, ptr @test_count, align 4, !tbaa !5
  %995 = add nsw i32 %994, 1
  store i32 %995, ptr @test_count, align 4, !tbaa !5
  %996 = icmp eq ptr %993, null
  br i1 %996, label %997, label %1019

997:                                              ; preds = %992
  %998 = load i32, ptr %829, align 4, !tbaa !5
  %999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1000 = call i32 @s2n_print_stacktrace(ptr noundef %999) #11
  %1001 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1002 = trunc nuw i8 %1001 to i1
  br i1 %1002, label %1003, label %1007

1003:                                             ; preds = %997
  %1004 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1005 = call i32 @fileno(ptr noundef %1004) #11
  %1006 = call i32 @isatty(i32 noundef %1005) #11
  %.not1121 = icmp eq i32 %1006, 0
  br i1 %.not1121, label %1007, label %1008

1007:                                             ; preds = %1003, %997
  br label %1008

1008:                                             ; preds = %1003, %1007
  %.str.5.sink1458 = phi ptr [ @.str.5, %1007 ], [ @.str.2, %1003 ]
  store i32 %998, ptr %829, align 4, !tbaa !5
  %1009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1010 = load i32, ptr @test_count, align 4, !tbaa !5
  %1011 = load i32, ptr %775, align 4, !tbaa !5
  %1012 = call ptr @s2n_strerror(i32 noundef %1011, ptr noundef nonnull @.str.4) #11
  %1013 = load i32, ptr %775, align 4, !tbaa !5
  %1014 = call ptr @s2n_strerror_debug(i32 noundef %1013, ptr noundef nonnull @.str.4) #11
  %1015 = load i32, ptr %829, align 4, !tbaa !5
  %1016 = call ptr @strerror(i32 noundef %1015) #11
  %1017 = load i32, ptr %829, align 4, !tbaa !5
  %1018 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1009, ptr noundef nonnull %.str.5.sink1458, i32 noundef %1010, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 172, ptr noundef %1012, ptr noundef %1014, ptr noundef %1016, i32 noundef %1017) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1019:                                             ; preds = %992
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %16) #11
  %1020 = call ptr @load_test_crl(ptr noundef nonnull @.str.29)
  store ptr %1020, ptr %16, align 8, !tbaa !9
  %1021 = load i32, ptr @test_count, align 4, !tbaa !5
  %1022 = add nsw i32 %1021, 1
  store i32 %1022, ptr @test_count, align 4, !tbaa !5
  %1023 = icmp eq ptr %1020, null
  br i1 %1023, label %1024, label %1046

1024:                                             ; preds = %1019
  %1025 = load i32, ptr %829, align 4, !tbaa !5
  %1026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1027 = call i32 @s2n_print_stacktrace(ptr noundef %1026) #11
  %1028 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1029 = trunc nuw i8 %1028 to i1
  br i1 %1029, label %1030, label %1034

1030:                                             ; preds = %1024
  %1031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1032 = call i32 @fileno(ptr noundef %1031) #11
  %1033 = call i32 @isatty(i32 noundef %1032) #11
  %.not1120 = icmp eq i32 %1033, 0
  br i1 %.not1120, label %1034, label %1035

1034:                                             ; preds = %1030, %1024
  br label %1035

1035:                                             ; preds = %1030, %1034
  %.str.5.sink1467 = phi ptr [ @.str.5, %1034 ], [ @.str.2, %1030 ]
  store i32 %1025, ptr %829, align 4, !tbaa !5
  %1036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1037 = load i32, ptr @test_count, align 4, !tbaa !5
  %1038 = load i32, ptr %775, align 4, !tbaa !5
  %1039 = call ptr @s2n_strerror(i32 noundef %1038, ptr noundef nonnull @.str.4) #11
  %1040 = load i32, ptr %775, align 4, !tbaa !5
  %1041 = call ptr @s2n_strerror_debug(i32 noundef %1040, ptr noundef nonnull @.str.4) #11
  %1042 = load i32, ptr %829, align 4, !tbaa !5
  %1043 = call ptr @strerror(i32 noundef %1042) #11
  %1044 = load i32, ptr %829, align 4, !tbaa !5
  %1045 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1036, ptr noundef nonnull %.str.5.sink1467, i32 noundef %1037, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 177, ptr noundef %1039, ptr noundef %1041, ptr noundef %1043, i32 noundef %1044) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1046:                                             ; preds = %1019
  call void @llvm.lifetime.start.p0(i64 88, ptr nonnull %17) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(88) %17, i8 0, i64 88, i1 false)
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %18) #11
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %19) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %19, i8 0, i64 16, i1 false)
  call void @s2n_x509_trust_store_init_empty(ptr noundef nonnull %19) #11
  call void @llvm.lifetime.start.p0(i64 12000, ptr nonnull %20) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(12000) %20, i8 0, i64 12000, i1 false)
  %1047 = load i32, ptr @test_count, align 4, !tbaa !5
  %1048 = add nsw i32 %1047, 1
  store i32 %1048, ptr @test_count, align 4, !tbaa !5
  %1049 = call i32 @s2n_read_test_pem(ptr noundef nonnull @.str.31, ptr noundef nonnull %20, i64 noundef 12000) #11
  %1050 = icmp eq i32 %1049, -1
  br i1 %1050, label %1051, label %1073

1051:                                             ; preds = %1046
  %1052 = load i32, ptr %829, align 4, !tbaa !5
  %1053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1054 = call i32 @s2n_print_stacktrace(ptr noundef %1053) #11
  %1055 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1056 = trunc nuw i8 %1055 to i1
  br i1 %1056, label %1057, label %1061

1057:                                             ; preds = %1051
  %1058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1059 = call i32 @fileno(ptr noundef %1058) #11
  %1060 = call i32 @isatty(i32 noundef %1059) #11
  %.not1119 = icmp eq i32 %1060, 0
  br i1 %.not1119, label %1061, label %1062

1061:                                             ; preds = %1057, %1051
  br label %1062

1062:                                             ; preds = %1057, %1061
  %.str.5.sink1476 = phi ptr [ @.str.5, %1061 ], [ @.str.2, %1057 ]
  store i32 %1052, ptr %829, align 4, !tbaa !5
  %1063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1064 = load i32, ptr @test_count, align 4, !tbaa !5
  %1065 = load i32, ptr %775, align 4, !tbaa !5
  %1066 = call ptr @s2n_strerror(i32 noundef %1065, ptr noundef nonnull @.str.4) #11
  %1067 = load i32, ptr %775, align 4, !tbaa !5
  %1068 = call ptr @s2n_strerror_debug(i32 noundef %1067, ptr noundef nonnull @.str.4) #11
  %1069 = load i32, ptr %829, align 4, !tbaa !5
  %1070 = call ptr @strerror(i32 noundef %1069) #11
  %1071 = load i32, ptr %829, align 4, !tbaa !5
  %1072 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1063, ptr noundef nonnull %.str.5.sink1476, i32 noundef %1064, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 189, ptr noundef %1066, ptr noundef %1068, ptr noundef %1070, i32 noundef %1071) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1073:                                             ; preds = %1046
  %1074 = load i32, ptr @test_count, align 4, !tbaa !5
  %1075 = add nsw i32 %1074, 1
  store i32 %1075, ptr @test_count, align 4, !tbaa !5
  %1076 = call i32 @s2n_x509_trust_store_add_pem(ptr noundef nonnull %19, ptr noundef nonnull %20) #11
  %1077 = icmp eq i32 %1076, -1
  br i1 %1077, label %1078, label %1100

1078:                                             ; preds = %1073
  %1079 = load i32, ptr %829, align 4, !tbaa !5
  %1080 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1081 = call i32 @s2n_print_stacktrace(ptr noundef %1080) #11
  %1082 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1083 = trunc nuw i8 %1082 to i1
  br i1 %1083, label %1084, label %1088

1084:                                             ; preds = %1078
  %1085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1086 = call i32 @fileno(ptr noundef %1085) #11
  %1087 = call i32 @isatty(i32 noundef %1086) #11
  %.not1118 = icmp eq i32 %1087, 0
  br i1 %.not1118, label %1088, label %1089

1088:                                             ; preds = %1084, %1078
  br label %1089

1089:                                             ; preds = %1084, %1088
  %.str.5.sink1485 = phi ptr [ @.str.5, %1088 ], [ @.str.2, %1084 ]
  store i32 %1079, ptr %829, align 4, !tbaa !5
  %1090 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1091 = load i32, ptr @test_count, align 4, !tbaa !5
  %1092 = load i32, ptr %775, align 4, !tbaa !5
  %1093 = call ptr @s2n_strerror(i32 noundef %1092, ptr noundef nonnull @.str.4) #11
  %1094 = load i32, ptr %775, align 4, !tbaa !5
  %1095 = call ptr @s2n_strerror_debug(i32 noundef %1094, ptr noundef nonnull @.str.4) #11
  %1096 = load i32, ptr %829, align 4, !tbaa !5
  %1097 = call ptr @strerror(i32 noundef %1096) #11
  %1098 = load i32, ptr %829, align 4, !tbaa !5
  %1099 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1090, ptr noundef nonnull %.str.5.sink1485, i32 noundef %1091, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 190, ptr noundef %1093, ptr noundef %1095, ptr noundef %1097, i32 noundef %1098) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1100:                                             ; preds = %1073
  %1101 = load i32, ptr @test_count, align 4, !tbaa !5
  %1102 = add nsw i32 %1101, 1
  store i32 %1102, ptr @test_count, align 4, !tbaa !5
  %1103 = call i32 @s2n_x509_validator_init(ptr noundef nonnull %18, ptr noundef nonnull %19, i8 noundef zeroext 0) #11
  %1104 = icmp eq i32 %1103, -1
  br i1 %1104, label %1105, label %1127

1105:                                             ; preds = %1100
  %1106 = load i32, ptr %829, align 4, !tbaa !5
  %1107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1108 = call i32 @s2n_print_stacktrace(ptr noundef %1107) #11
  %1109 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1110 = trunc nuw i8 %1109 to i1
  br i1 %1110, label %1111, label %1115

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

1115:                                             ; preds = %1111, %1105
  br label %1116

1116:                                             ; preds = %1111, %1115
  %.str.5.sink1494 = phi ptr [ @.str.5, %1115 ], [ @.str.2, %1111 ]
  store i32 %1106, ptr %829, align 4, !tbaa !5
  %1117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1118 = load i32, ptr @test_count, align 4, !tbaa !5
  %1119 = load i32, ptr %775, align 4, !tbaa !5
  %1120 = call ptr @s2n_strerror(i32 noundef %1119, ptr noundef nonnull @.str.4) #11
  %1121 = load i32, ptr %775, align 4, !tbaa !5
  %1122 = call ptr @s2n_strerror_debug(i32 noundef %1121, ptr noundef nonnull @.str.4) #11
  %1123 = load i32, ptr %829, align 4, !tbaa !5
  %1124 = call ptr @strerror(i32 noundef %1123) #11
  %1125 = load i32, ptr %829, align 4, !tbaa !5
  %1126 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1117, ptr noundef nonnull %.str.5.sink1494, i32 noundef %1118, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 192, ptr noundef %1120, ptr noundef %1122, ptr noundef %1124, i32 noundef %1125) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1127:                                             ; preds = %1100
  store ptr %939, ptr %17, align 8, !tbaa !9
  %1128 = getelementptr inbounds i8, ptr %17, i64 8
  store ptr %912, ptr %1128, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %21) #11
  %1129 = call ptr @s2n_config_new() #11
  store ptr %1129, ptr %21, align 8, !tbaa !9
  %1130 = load i32, ptr @test_count, align 4, !tbaa !5
  %1131 = add nsw i32 %1130, 1
  store i32 %1131, ptr @test_count, align 4, !tbaa !5
  %1132 = icmp eq ptr %1129, null
  br i1 %1132, label %1133, label %1155

1133:                                             ; preds = %1127
  %1134 = load i32, ptr %829, align 4, !tbaa !5
  %1135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1136 = call i32 @s2n_print_stacktrace(ptr noundef %1135) #11
  %1137 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1138 = trunc nuw i8 %1137 to i1
  br i1 %1138, label %1139, label %1143

1139:                                             ; preds = %1133
  %1140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1141 = call i32 @fileno(ptr noundef %1140) #11
  %1142 = call i32 @isatty(i32 noundef %1141) #11
  %.not1116 = icmp eq i32 %1142, 0
  br i1 %.not1116, label %1143, label %1144

1143:                                             ; preds = %1139, %1133
  br label %1144

1144:                                             ; preds = %1139, %1143
  %.str.5.sink1503 = phi ptr [ @.str.5, %1143 ], [ @.str.2, %1139 ]
  store i32 %1134, ptr %829, align 4, !tbaa !5
  %1145 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1146 = load i32, ptr @test_count, align 4, !tbaa !5
  %1147 = load i32, ptr %775, align 4, !tbaa !5
  %1148 = call ptr @s2n_strerror(i32 noundef %1147, ptr noundef nonnull @.str.4) #11
  %1149 = load i32, ptr %775, align 4, !tbaa !5
  %1150 = call ptr @s2n_strerror_debug(i32 noundef %1149, ptr noundef nonnull @.str.4) #11
  %1151 = load i32, ptr %829, align 4, !tbaa !5
  %1152 = call ptr @strerror(i32 noundef %1151) #11
  %1153 = load i32, ptr %829, align 4, !tbaa !5
  %1154 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1145, ptr noundef nonnull %.str.5.sink1503, i32 noundef %1146, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 198, ptr noundef %1148, ptr noundef %1150, ptr noundef %1152, i32 noundef %1153) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1155:                                             ; preds = %1127
  %1156 = add nsw i32 %1130, 2
  store i32 %1156, ptr @test_count, align 4, !tbaa !5
  %1157 = call i32 @s2n_config_set_crl_lookup_cb(ptr noundef nonnull %1129, ptr noundef nonnull @crl_lookup_test_callback, ptr noundef nonnull %17) #11
  %1158 = icmp eq i32 %1157, -1
  br i1 %1158, label %1159, label %1181

1159:                                             ; preds = %1155
  %1160 = load i32, ptr %829, align 4, !tbaa !5
  %1161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1162 = call i32 @s2n_print_stacktrace(ptr noundef %1161) #11
  %1163 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1164 = trunc nuw i8 %1163 to i1
  br i1 %1164, label %1165, label %1169

1165:                                             ; preds = %1159
  %1166 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1167 = call i32 @fileno(ptr noundef %1166) #11
  %1168 = call i32 @isatty(i32 noundef %1167) #11
  %.not1115 = icmp eq i32 %1168, 0
  br i1 %.not1115, label %1169, label %1170

1169:                                             ; preds = %1165, %1159
  br label %1170

1170:                                             ; preds = %1165, %1169
  %.str.5.sink1512 = phi ptr [ @.str.5, %1169 ], [ @.str.2, %1165 ]
  store i32 %1160, ptr %829, align 4, !tbaa !5
  %1171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1172 = load i32, ptr @test_count, align 4, !tbaa !5
  %1173 = load i32, ptr %775, align 4, !tbaa !5
  %1174 = call ptr @s2n_strerror(i32 noundef %1173, ptr noundef nonnull @.str.4) #11
  %1175 = load i32, ptr %775, align 4, !tbaa !5
  %1176 = call ptr @s2n_strerror_debug(i32 noundef %1175, ptr noundef nonnull @.str.4) #11
  %1177 = load i32, ptr %829, align 4, !tbaa !5
  %1178 = call ptr @strerror(i32 noundef %1177) #11
  %1179 = load i32, ptr %829, align 4, !tbaa !5
  %1180 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1171, ptr noundef nonnull %.str.5.sink1512, i32 noundef %1172, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 199, ptr noundef %1174, ptr noundef %1176, ptr noundef %1178, i32 noundef %1179) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1181:                                             ; preds = %1155
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %22) #11
  %1182 = call ptr @s2n_connection_new(i32 noundef 1) #11
  store ptr %1182, ptr %22, align 8, !tbaa !9
  %1183 = load i32, ptr @test_count, align 4, !tbaa !5
  %1184 = add nsw i32 %1183, 1
  store i32 %1184, ptr @test_count, align 4, !tbaa !5
  %1185 = icmp eq ptr %1182, null
  br i1 %1185, label %1186, label %1208

1186:                                             ; preds = %1181
  %1187 = load i32, ptr %829, align 4, !tbaa !5
  %1188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1189 = call i32 @s2n_print_stacktrace(ptr noundef %1188) #11
  %1190 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1191 = trunc nuw i8 %1190 to i1
  br i1 %1191, label %1192, label %1196

1192:                                             ; preds = %1186
  %1193 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1194 = call i32 @fileno(ptr noundef %1193) #11
  %1195 = call i32 @isatty(i32 noundef %1194) #11
  %.not1114 = icmp eq i32 %1195, 0
  br i1 %.not1114, label %1196, label %1197

1196:                                             ; preds = %1192, %1186
  br label %1197

1197:                                             ; preds = %1192, %1196
  %.str.5.sink1521 = phi ptr [ @.str.5, %1196 ], [ @.str.2, %1192 ]
  store i32 %1187, ptr %829, align 4, !tbaa !5
  %1198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1199 = load i32, ptr @test_count, align 4, !tbaa !5
  %1200 = load i32, ptr %775, align 4, !tbaa !5
  %1201 = call ptr @s2n_strerror(i32 noundef %1200, ptr noundef nonnull @.str.4) #11
  %1202 = load i32, ptr %775, align 4, !tbaa !5
  %1203 = call ptr @s2n_strerror_debug(i32 noundef %1202, ptr noundef nonnull @.str.4) #11
  %1204 = load i32, ptr %829, align 4, !tbaa !5
  %1205 = call ptr @strerror(i32 noundef %1204) #11
  %1206 = load i32, ptr %829, align 4, !tbaa !5
  %1207 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1198, ptr noundef nonnull %.str.5.sink1521, i32 noundef %1199, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 202, ptr noundef %1201, ptr noundef %1203, ptr noundef %1205, i32 noundef %1206) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1208:                                             ; preds = %1181
  %1209 = add nsw i32 %1183, 2
  store i32 %1209, ptr @test_count, align 4, !tbaa !5
  %1210 = load ptr, ptr %21, align 8, !tbaa !9
  %1211 = call i32 @s2n_connection_set_config(ptr noundef nonnull %1182, ptr noundef %1210) #11
  %1212 = icmp eq i32 %1211, -1
  br i1 %1212, label %1213, label %1235

1213:                                             ; preds = %1208
  %1214 = load i32, ptr %829, align 4, !tbaa !5
  %1215 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1216 = call i32 @s2n_print_stacktrace(ptr noundef %1215) #11
  %1217 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1218 = trunc nuw i8 %1217 to i1
  br i1 %1218, label %1219, label %1223

1219:                                             ; preds = %1213
  %1220 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1221 = call i32 @fileno(ptr noundef %1220) #11
  %1222 = call i32 @isatty(i32 noundef %1221) #11
  %.not1113 = icmp eq i32 %1222, 0
  br i1 %.not1113, label %1223, label %1224

1223:                                             ; preds = %1219, %1213
  br label %1224

1224:                                             ; preds = %1219, %1223
  %.str.5.sink1530 = phi ptr [ @.str.5, %1223 ], [ @.str.2, %1219 ]
  store i32 %1214, ptr %829, align 4, !tbaa !5
  %1225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1226 = load i32, ptr @test_count, align 4, !tbaa !5
  %1227 = load i32, ptr %775, align 4, !tbaa !5
  %1228 = call ptr @s2n_strerror(i32 noundef %1227, ptr noundef nonnull @.str.4) #11
  %1229 = load i32, ptr %775, align 4, !tbaa !5
  %1230 = call ptr @s2n_strerror_debug(i32 noundef %1229, ptr noundef nonnull @.str.4) #11
  %1231 = load i32, ptr %829, align 4, !tbaa !5
  %1232 = call ptr @strerror(i32 noundef %1231) #11
  %1233 = load i32, ptr %829, align 4, !tbaa !5
  %1234 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1225, ptr noundef nonnull %.str.5.sink1530, i32 noundef %1226, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 203, ptr noundef %1228, ptr noundef %1230, ptr noundef %1232, i32 noundef %1233) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1235:                                             ; preds = %1208
  %1236 = load i32, ptr @test_count, align 4, !tbaa !5
  %1237 = add nsw i32 %1236, 1
  store i32 %1237, ptr @test_count, align 4, !tbaa !5
  %1238 = load ptr, ptr %22, align 8, !tbaa !9
  %1239 = call i32 @s2n_set_server_name(ptr noundef %1238, ptr noundef nonnull @.str.39) #11
  %1240 = icmp eq i32 %1239, -1
  br i1 %1240, label %1241, label %1263

1241:                                             ; preds = %1235
  %1242 = load i32, ptr %829, align 4, !tbaa !5
  %1243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1244 = call i32 @s2n_print_stacktrace(ptr noundef %1243) #11
  %1245 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1246 = trunc nuw i8 %1245 to i1
  br i1 %1246, label %1247, label %1251

1247:                                             ; preds = %1241
  %1248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1249 = call i32 @fileno(ptr noundef %1248) #11
  %1250 = call i32 @isatty(i32 noundef %1249) #11
  %.not1112 = icmp eq i32 %1250, 0
  br i1 %.not1112, label %1251, label %1252

1251:                                             ; preds = %1247, %1241
  br label %1252

1252:                                             ; preds = %1247, %1251
  %.str.5.sink1539 = phi ptr [ @.str.5, %1251 ], [ @.str.2, %1247 ]
  store i32 %1242, ptr %829, align 4, !tbaa !5
  %1253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1254 = load i32, ptr @test_count, align 4, !tbaa !5
  %1255 = load i32, ptr %775, align 4, !tbaa !5
  %1256 = call ptr @s2n_strerror(i32 noundef %1255, ptr noundef nonnull @.str.4) #11
  %1257 = load i32, ptr %775, align 4, !tbaa !5
  %1258 = call ptr @s2n_strerror_debug(i32 noundef %1257, ptr noundef nonnull @.str.4) #11
  %1259 = load i32, ptr %829, align 4, !tbaa !5
  %1260 = call ptr @strerror(i32 noundef %1259) #11
  %1261 = load i32, ptr %829, align 4, !tbaa !5
  %1262 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1253, ptr noundef nonnull %.str.5.sink1539, i32 noundef %1254, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 204, ptr noundef %1256, ptr noundef %1258, ptr noundef %1260, i32 noundef %1261) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1263:                                             ; preds = %1235
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %23) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %23, i8 0, i64 40, i1 false)
  %1264 = load i32, ptr @test_count, align 4, !tbaa !5
  %1265 = add nsw i32 %1264, 1
  store i32 %1265, ptr @test_count, align 4, !tbaa !5
  %1266 = load ptr, ptr %22, align 8, !tbaa !9
  %1267 = call i32 @s2n_test_cert_chain_data_from_pem(ptr noundef %1266, ptr noundef nonnull @.str.41, ptr noundef nonnull %23) #11
  %1268 = call zeroext i1 @s2n_result_is_ok(i32 %1267)
  br i1 %1268, label %1291, label %1269

1269:                                             ; preds = %1263
  %1270 = load i32, ptr %829, align 4, !tbaa !5
  %1271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1272 = call i32 @s2n_print_stacktrace(ptr noundef %1271) #11
  %1273 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1274 = trunc nuw i8 %1273 to i1
  br i1 %1274, label %1275, label %1279

1275:                                             ; preds = %1269
  %1276 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1277 = call i32 @fileno(ptr noundef %1276) #11
  %1278 = call i32 @isatty(i32 noundef %1277) #11
  %.not816 = icmp eq i32 %1278, 0
  br i1 %.not816, label %1279, label %1280

1279:                                             ; preds = %1275, %1269
  br label %1280

1280:                                             ; preds = %1275, %1279
  %.str.5.sink1548 = phi ptr [ @.str.5, %1279 ], [ @.str.2, %1275 ]
  store i32 %1270, ptr %829, align 4, !tbaa !5
  %1281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1282 = load i32, ptr @test_count, align 4, !tbaa !5
  %1283 = load i32, ptr %775, align 4, !tbaa !5
  %1284 = call ptr @s2n_strerror(i32 noundef %1283, ptr noundef nonnull @.str.4) #11
  %1285 = load i32, ptr %775, align 4, !tbaa !5
  %1286 = call ptr @s2n_strerror_debug(i32 noundef %1285, ptr noundef nonnull @.str.4) #11
  %1287 = load i32, ptr %829, align 4, !tbaa !5
  %1288 = call ptr @strerror(i32 noundef %1287) #11
  %1289 = load i32, ptr %829, align 4, !tbaa !5
  %1290 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1281, ptr noundef nonnull %.str.5.sink1548, i32 noundef %1282, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 207, ptr noundef %1284, ptr noundef %1286, ptr noundef %1288, i32 noundef %1289) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1291:                                             ; preds = %1263
  %1292 = getelementptr inbounds i8, ptr %23, i64 28
  %1293 = load i32, ptr %1292, align 4, !tbaa !23
  %1294 = getelementptr inbounds i8, ptr %23, i64 24
  %1295 = load i32, ptr %1294, align 8, !tbaa !26
  %1296 = sub i32 %1293, %1295
  %1297 = call ptr @s2n_stuffer_raw_read(ptr noundef nonnull %23, i32 noundef %1296) #11
  %1298 = load i32, ptr @test_count, align 4, !tbaa !5
  %1299 = add nsw i32 %1298, 1
  store i32 %1299, ptr @test_count, align 4, !tbaa !5
  %1300 = icmp eq ptr %1297, null
  br i1 %1300, label %1301, label %1323

1301:                                             ; preds = %1291
  %1302 = load i32, ptr %829, align 4, !tbaa !5
  %1303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1304 = call i32 @s2n_print_stacktrace(ptr noundef %1303) #11
  %1305 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1306 = trunc nuw i8 %1305 to i1
  br i1 %1306, label %1307, label %1311

1307:                                             ; preds = %1301
  %1308 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1309 = call i32 @fileno(ptr noundef %1308) #11
  %1310 = call i32 @isatty(i32 noundef %1309) #11
  %.not1111 = icmp eq i32 %1310, 0
  br i1 %.not1111, label %1311, label %1312

1311:                                             ; preds = %1307, %1301
  br label %1312

1312:                                             ; preds = %1307, %1311
  %.str.5.sink1557 = phi ptr [ @.str.5, %1311 ], [ @.str.2, %1307 ]
  store i32 %1302, ptr %829, align 4, !tbaa !5
  %1313 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1314 = load i32, ptr @test_count, align 4, !tbaa !5
  %1315 = load i32, ptr %775, align 4, !tbaa !5
  %1316 = call ptr @s2n_strerror(i32 noundef %1315, ptr noundef nonnull @.str.4) #11
  %1317 = load i32, ptr %775, align 4, !tbaa !5
  %1318 = call ptr @s2n_strerror_debug(i32 noundef %1317, ptr noundef nonnull @.str.4) #11
  %1319 = load i32, ptr %829, align 4, !tbaa !5
  %1320 = call ptr @strerror(i32 noundef %1319) #11
  %1321 = load i32, ptr %829, align 4, !tbaa !5
  %1322 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1313, ptr noundef nonnull %.str.5.sink1557, i32 noundef %1314, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 210, ptr noundef %1316, ptr noundef %1318, ptr noundef %1320, i32 noundef %1321) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1323:                                             ; preds = %1291
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %24) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %24, i8 0, i64 48, i1 false)
  %1324 = add nsw i32 %1298, 2
  store i32 %1324, ptr @test_count, align 4, !tbaa !5
  %1325 = call i32 @s2n_pkey_zero_init(ptr noundef nonnull %24) #11
  %1326 = icmp eq i32 %1325, -1
  br i1 %1326, label %1327, label %1349

1327:                                             ; preds = %1323
  %1328 = load i32, ptr %829, align 4, !tbaa !5
  %1329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1330 = call i32 @s2n_print_stacktrace(ptr noundef %1329) #11
  %1331 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1332 = trunc nuw i8 %1331 to i1
  br i1 %1332, label %1333, label %1337

1333:                                             ; preds = %1327
  %1334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1335 = call i32 @fileno(ptr noundef %1334) #11
  %1336 = call i32 @isatty(i32 noundef %1335) #11
  %.not1110 = icmp eq i32 %1336, 0
  br i1 %.not1110, label %1337, label %1338

1337:                                             ; preds = %1333, %1327
  br label %1338

1338:                                             ; preds = %1333, %1337
  %.str.5.sink1566 = phi ptr [ @.str.5, %1337 ], [ @.str.2, %1333 ]
  store i32 %1328, ptr %829, align 4, !tbaa !5
  %1339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1340 = load i32, ptr @test_count, align 4, !tbaa !5
  %1341 = load i32, ptr %775, align 4, !tbaa !5
  %1342 = call ptr @s2n_strerror(i32 noundef %1341, ptr noundef nonnull @.str.4) #11
  %1343 = load i32, ptr %775, align 4, !tbaa !5
  %1344 = call ptr @s2n_strerror_debug(i32 noundef %1343, ptr noundef nonnull @.str.4) #11
  %1345 = load i32, ptr %829, align 4, !tbaa !5
  %1346 = call ptr @strerror(i32 noundef %1345) #11
  %1347 = load i32, ptr %829, align 4, !tbaa !5
  %1348 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1339, ptr noundef nonnull %.str.5.sink1566, i32 noundef %1340, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 213, ptr noundef %1342, ptr noundef %1344, ptr noundef %1346, i32 noundef %1347) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1349:                                             ; preds = %1323
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %25) #11
  store i32 -1, ptr %25, align 4, !tbaa !5
  %1350 = load i32, ptr @test_count, align 4, !tbaa !5
  %1351 = add nsw i32 %1350, 1
  store i32 %1351, ptr @test_count, align 4, !tbaa !5
  %1352 = load ptr, ptr %22, align 8, !tbaa !9
  %1353 = call i32 @s2n_x509_validator_validate_cert_chain(ptr noundef nonnull %18, ptr noundef %1352, ptr noundef nonnull %1297, i32 noundef %1296, ptr noundef nonnull %25, ptr noundef nonnull %24) #11
  %1354 = call zeroext i1 @s2n_result_is_ok(i32 %1353)
  br i1 %1354, label %1377, label %1355

1355:                                             ; preds = %1349
  %1356 = load i32, ptr %829, align 4, !tbaa !5
  %1357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1358 = call i32 @s2n_print_stacktrace(ptr noundef %1357) #11
  %1359 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1360 = trunc nuw i8 %1359 to i1
  br i1 %1360, label %1361, label %1365

1361:                                             ; preds = %1355
  %1362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1363 = call i32 @fileno(ptr noundef %1362) #11
  %1364 = call i32 @isatty(i32 noundef %1363) #11
  %.not817 = icmp eq i32 %1364, 0
  br i1 %.not817, label %1365, label %1366

1365:                                             ; preds = %1361, %1355
  br label %1366

1366:                                             ; preds = %1361, %1365
  %.str.5.sink1575 = phi ptr [ @.str.5, %1365 ], [ @.str.2, %1361 ]
  store i32 %1356, ptr %829, align 4, !tbaa !5
  %1367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1368 = load i32, ptr @test_count, align 4, !tbaa !5
  %1369 = load i32, ptr %775, align 4, !tbaa !5
  %1370 = call ptr @s2n_strerror(i32 noundef %1369, ptr noundef nonnull @.str.4) #11
  %1371 = load i32, ptr %775, align 4, !tbaa !5
  %1372 = call ptr @s2n_strerror_debug(i32 noundef %1371, ptr noundef nonnull @.str.4) #11
  %1373 = load i32, ptr %829, align 4, !tbaa !5
  %1374 = call ptr @strerror(i32 noundef %1373) #11
  %1375 = load i32, ptr %829, align 4, !tbaa !5
  %1376 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1367, ptr noundef nonnull %.str.5.sink1575, i32 noundef %1368, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.1, i32 noundef 216, ptr noundef %1370, ptr noundef %1372, ptr noundef %1374, i32 noundef %1375) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1377:                                             ; preds = %1349
  %1378 = load i32, ptr @test_count, align 4, !tbaa !5
  %1379 = add nsw i32 %1378, 1
  store i32 %1379, ptr @test_count, align 4, !tbaa !5
  %1380 = getelementptr inbounds i8, ptr %17, i64 80
  %1381 = load i8, ptr %1380, align 8, !tbaa !27
  %1382 = icmp eq i8 %1381, 2
  br i1 %1382, label %.preheader1146, label %1388

.preheader1146:                                   ; preds = %1377
  %1383 = getelementptr inbounds i8, ptr %17, i64 40
  %1384 = add i32 %1378, 3
  %1385 = add nsw i32 %1378, 2
  %1386 = load ptr, ptr %1383, align 8, !tbaa !9
  %1387 = icmp eq ptr %1386, null
  br i1 %1387, label %1423, label %1410

1388:                                             ; preds = %1377
  %1389 = load i32, ptr %829, align 4, !tbaa !5
  %1390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1391 = call i32 @s2n_print_stacktrace(ptr noundef %1390) #11
  %1392 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1393 = trunc nuw i8 %1392 to i1
  br i1 %1393, label %1394, label %1398

1394:                                             ; preds = %1388
  %1395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1396 = call i32 @fileno(ptr noundef %1395) #11
  %1397 = call i32 @isatty(i32 noundef %1396) #11
  %.not818 = icmp eq i32 %1397, 0
  br i1 %.not818, label %1398, label %1399

1398:                                             ; preds = %1394, %1388
  br label %1399

1399:                                             ; preds = %1394, %1398
  %.str.5.sink1584 = phi ptr [ @.str.5, %1398 ], [ @.str.2, %1394 ]
  store i32 %1389, ptr %829, align 4, !tbaa !5
  %1400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1401 = load i32, ptr @test_count, align 4, !tbaa !5
  %1402 = load i32, ptr %775, align 4, !tbaa !5
  %1403 = call ptr @s2n_strerror(i32 noundef %1402, ptr noundef nonnull @.str.4) #11
  %1404 = load i32, ptr %775, align 4, !tbaa !5
  %1405 = call ptr @s2n_strerror_debug(i32 noundef %1404, ptr noundef nonnull @.str.4) #11
  %1406 = load i32, ptr %829, align 4, !tbaa !5
  %1407 = call ptr @strerror(i32 noundef %1406) #11
  %1408 = load i32, ptr %829, align 4, !tbaa !5
  %1409 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1400, ptr noundef nonnull %.str.5.sink1584, i32 noundef %1401, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.1, i32 noundef 217, ptr noundef %1403, ptr noundef %1405, ptr noundef %1407, i32 noundef %1408) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1410:                                             ; preds = %.preheader1146
  %1411 = getelementptr inbounds i8, ptr %17, i64 48
  %1412 = load ptr, ptr %1411, align 8, !tbaa !9
  %1413 = icmp eq ptr %1412, null
  br i1 %1413, label %1423, label %1414

1414:                                             ; preds = %1410
  store i32 %1384, ptr @test_count, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %25) #11
  %1415 = call i32 @s2n_pkey_free(ptr noundef nonnull %24) #11
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %24) #11
  %1416 = call i32 @s2n_stuffer_free(ptr noundef nonnull %23) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %23) #11
  %1417 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %22) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %22) #11
  %1418 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %21) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %21) #11
  call void @llvm.lifetime.end.p0(i64 12000, ptr nonnull %20) #11
  call void @s2n_x509_trust_store_wipe(ptr noundef nonnull %19) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %19) #11
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %26) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %26, i8 0, i64 16, i1 false)
  call void @s2n_x509_trust_store_init_empty(ptr noundef nonnull %26) #11
  call void @llvm.lifetime.start.p0(i64 12000, ptr nonnull %27) #11
  %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_read_test_pem(ptr noundef nonnull @.str.31, ptr noundef nonnull %27, i64 noundef 12000) #11
  %1422 = icmp eq i32 %1421, -1
  br i1 %1422, label %1445, label %1467

1423:                                             ; preds = %1410, %.preheader1146
  %.lcssa = phi i32 [ %1385, %.preheader1146 ], [ %1384, %1410 ]
  store i32 %.lcssa, ptr @test_count, align 4, !tbaa !5
  %1424 = load i32, ptr %829, align 4, !tbaa !5
  %1425 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1426 = call i32 @s2n_print_stacktrace(ptr noundef %1425) #11
  %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) #11
  %1432 = call i32 @isatty(i32 noundef %1431) #11
  %.not1109 = icmp eq i32 %1432, 0
  br i1 %.not1109, label %1433, label %1434

1433:                                             ; preds = %1429, %1423
  br label %1434

1434:                                             ; preds = %1429, %1433
  %.str.5.sink1593 = phi ptr [ @.str.5, %1433 ], [ @.str.2, %1429 ]
  store i32 %1424, ptr %829, 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 %775, align 4, !tbaa !5
  %1438 = call ptr @s2n_strerror(i32 noundef %1437, ptr noundef nonnull @.str.4) #11
  %1439 = load i32, ptr %775, align 4, !tbaa !5
  %1440 = call ptr @s2n_strerror_debug(i32 noundef %1439, ptr noundef nonnull @.str.4) #11
  %1441 = load i32, ptr %829, align 4, !tbaa !5
  %1442 = call ptr @strerror(i32 noundef %1441) #11
  %1443 = load i32, ptr %829, align 4, !tbaa !5
  %1444 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1435, ptr noundef nonnull %.str.5.sink1593, i32 noundef %1436, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.1, i32 noundef 221, ptr noundef %1438, ptr noundef %1440, ptr noundef %1442, i32 noundef %1443) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1445:                                             ; preds = %1414
  %1446 = load i32, ptr %829, align 4, !tbaa !5
  %1447 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1448 = call i32 @s2n_print_stacktrace(ptr noundef %1447) #11
  %1449 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1450 = trunc nuw i8 %1449 to i1
  br i1 %1450, label %1451, label %1455

1451:                                             ; preds = %1445
  %1452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1453 = call i32 @fileno(ptr noundef %1452) #11
  %1454 = call i32 @isatty(i32 noundef %1453) #11
  %.not1108 = icmp eq i32 %1454, 0
  br i1 %.not1108, label %1455, label %1456

1455:                                             ; preds = %1451, %1445
  br label %1456

1456:                                             ; preds = %1451, %1455
  %.str.5.sink1602 = phi ptr [ @.str.5, %1455 ], [ @.str.2, %1451 ]
  store i32 %1446, ptr %829, align 4, !tbaa !5
  %1457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1458 = load i32, ptr @test_count, align 4, !tbaa !5
  %1459 = load i32, ptr %775, align 4, !tbaa !5
  %1460 = call ptr @s2n_strerror(i32 noundef %1459, ptr noundef nonnull @.str.4) #11
  %1461 = load i32, ptr %775, align 4, !tbaa !5
  %1462 = call ptr @s2n_strerror_debug(i32 noundef %1461, ptr noundef nonnull @.str.4) #11
  %1463 = load i32, ptr %829, align 4, !tbaa !5
  %1464 = call ptr @strerror(i32 noundef %1463) #11
  %1465 = load i32, ptr %829, align 4, !tbaa !5
  %1466 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1457, ptr noundef nonnull %.str.5.sink1602, i32 noundef %1458, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 231, ptr noundef %1460, ptr noundef %1462, ptr noundef %1464, i32 noundef %1465) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1467:                                             ; preds = %1414
  %1468 = load i32, ptr @test_count, align 4, !tbaa !5
  %1469 = add nsw i32 %1468, 1
  store i32 %1469, ptr @test_count, align 4, !tbaa !5
  %1470 = call i32 @s2n_x509_trust_store_add_pem(ptr noundef nonnull %26, ptr noundef nonnull %27) #11
  %1471 = icmp eq i32 %1470, -1
  br i1 %1471, label %1472, label %1494

1472:                                             ; preds = %1467
  %1473 = load i32, ptr %829, align 4, !tbaa !5
  %1474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1475 = call i32 @s2n_print_stacktrace(ptr noundef %1474) #11
  %1476 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1477 = trunc nuw i8 %1476 to i1
  br i1 %1477, label %1478, label %1482

1478:                                             ; preds = %1472
  %1479 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1480 = call i32 @fileno(ptr noundef %1479) #11
  %1481 = call i32 @isatty(i32 noundef %1480) #11
  %.not1107 = icmp eq i32 %1481, 0
  br i1 %.not1107, label %1482, label %1483

1482:                                             ; preds = %1478, %1472
  br label %1483

1483:                                             ; preds = %1478, %1482
  %.str.5.sink1611 = phi ptr [ @.str.5, %1482 ], [ @.str.2, %1478 ]
  store i32 %1473, ptr %829, align 4, !tbaa !5
  %1484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1485 = load i32, ptr @test_count, align 4, !tbaa !5
  %1486 = load i32, ptr %775, align 4, !tbaa !5
  %1487 = call ptr @s2n_strerror(i32 noundef %1486, ptr noundef nonnull @.str.4) #11
  %1488 = load i32, ptr %775, align 4, !tbaa !5
  %1489 = call ptr @s2n_strerror_debug(i32 noundef %1488, ptr noundef nonnull @.str.4) #11
  %1490 = load i32, ptr %829, align 4, !tbaa !5
  %1491 = call ptr @strerror(i32 noundef %1490) #11
  %1492 = load i32, ptr %829, align 4, !tbaa !5
  %1493 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1484, ptr noundef nonnull %.str.5.sink1611, i32 noundef %1485, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 232, ptr noundef %1487, ptr noundef %1489, ptr noundef %1491, i32 noundef %1492) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1494:                                             ; preds = %1467
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %28) #11
  %1495 = load i32, ptr @test_count, align 4, !tbaa !5
  %1496 = add nsw i32 %1495, 1
  store i32 %1496, ptr @test_count, align 4, !tbaa !5
  %1497 = call i32 @s2n_x509_validator_init(ptr noundef nonnull %28, ptr noundef nonnull %26, i8 noundef zeroext 0) #11
  %1498 = icmp eq i32 %1497, -1
  br i1 %1498, label %1499, label %1521

1499:                                             ; preds = %1494
  %1500 = load i32, ptr %829, align 4, !tbaa !5
  %1501 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1502 = call i32 @s2n_print_stacktrace(ptr noundef %1501) #11
  %1503 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1504 = trunc nuw i8 %1503 to i1
  br i1 %1504, label %1505, label %1509

1505:                                             ; preds = %1499
  %1506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1507 = call i32 @fileno(ptr noundef %1506) #11
  %1508 = call i32 @isatty(i32 noundef %1507) #11
  %.not1106 = icmp eq i32 %1508, 0
  br i1 %.not1106, label %1509, label %1510

1509:                                             ; preds = %1505, %1499
  br label %1510

1510:                                             ; preds = %1505, %1509
  %.str.5.sink1620 = phi ptr [ @.str.5, %1509 ], [ @.str.2, %1505 ]
  store i32 %1500, ptr %829, align 4, !tbaa !5
  %1511 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1512 = load i32, ptr @test_count, align 4, !tbaa !5
  %1513 = load i32, ptr %775, align 4, !tbaa !5
  %1514 = call ptr @s2n_strerror(i32 noundef %1513, ptr noundef nonnull @.str.4) #11
  %1515 = load i32, ptr %775, align 4, !tbaa !5
  %1516 = call ptr @s2n_strerror_debug(i32 noundef %1515, ptr noundef nonnull @.str.4) #11
  %1517 = load i32, ptr %829, align 4, !tbaa !5
  %1518 = call ptr @strerror(i32 noundef %1517) #11
  %1519 = load i32, ptr %829, align 4, !tbaa !5
  %1520 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1511, ptr noundef nonnull %.str.5.sink1620, i32 noundef %1512, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 235, ptr noundef %1514, ptr noundef %1516, ptr noundef %1518, i32 noundef %1519) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1521:                                             ; preds = %1494
  call void @llvm.lifetime.start.p0(i64 88, ptr nonnull %29) #11
  %1522 = getelementptr inbounds i8, ptr %29, i64 16
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(88) %1522, i8 0, i64 72, i1 false)
  store ptr %939, ptr %29, align 8, !tbaa !9
  %1523 = getelementptr inbounds i8, ptr %29, i64 8
  store ptr %912, ptr %1523, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %30) #11
  %1524 = call ptr @s2n_config_new() #11
  store ptr %1524, ptr %30, align 8, !tbaa !9
  %1525 = load i32, ptr @test_count, align 4, !tbaa !5
  %1526 = add nsw i32 %1525, 1
  store i32 %1526, ptr @test_count, align 4, !tbaa !5
  %1527 = icmp eq ptr %1524, null
  br i1 %1527, label %1528, label %1550

1528:                                             ; preds = %1521
  %1529 = load i32, ptr %829, align 4, !tbaa !5
  %1530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1531 = call i32 @s2n_print_stacktrace(ptr noundef %1530) #11
  %1532 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1533 = trunc nuw i8 %1532 to i1
  br i1 %1533, label %1534, label %1538

1534:                                             ; preds = %1528
  %1535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1536 = call i32 @fileno(ptr noundef %1535) #11
  %1537 = call i32 @isatty(i32 noundef %1536) #11
  %.not1105 = icmp eq i32 %1537, 0
  br i1 %.not1105, label %1538, label %1539

1538:                                             ; preds = %1534, %1528
  br label %1539

1539:                                             ; preds = %1534, %1538
  %.str.5.sink1629 = phi ptr [ @.str.5, %1538 ], [ @.str.2, %1534 ]
  store i32 %1529, ptr %829, align 4, !tbaa !5
  %1540 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1541 = load i32, ptr @test_count, align 4, !tbaa !5
  %1542 = load i32, ptr %775, align 4, !tbaa !5
  %1543 = call ptr @s2n_strerror(i32 noundef %1542, ptr noundef nonnull @.str.4) #11
  %1544 = load i32, ptr %775, align 4, !tbaa !5
  %1545 = call ptr @s2n_strerror_debug(i32 noundef %1544, ptr noundef nonnull @.str.4) #11
  %1546 = load i32, ptr %829, align 4, !tbaa !5
  %1547 = call ptr @strerror(i32 noundef %1546) #11
  %1548 = load i32, ptr %829, align 4, !tbaa !5
  %1549 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1540, ptr noundef nonnull %.str.5.sink1629, i32 noundef %1541, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 242, ptr noundef %1543, ptr noundef %1545, ptr noundef %1547, i32 noundef %1548) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1550:                                             ; preds = %1521
  %1551 = add nsw i32 %1525, 2
  store i32 %1551, ptr @test_count, align 4, !tbaa !5
  %1552 = call i32 @s2n_config_set_crl_lookup_cb(ptr noundef nonnull %1524, ptr noundef nonnull @crl_lookup_test_callback, ptr noundef nonnull %29) #11
  %1553 = icmp eq i32 %1552, -1
  br i1 %1553, label %1554, label %1576

1554:                                             ; preds = %1550
  %1555 = load i32, ptr %829, align 4, !tbaa !5
  %1556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1557 = call i32 @s2n_print_stacktrace(ptr noundef %1556) #11
  %1558 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1559 = trunc nuw i8 %1558 to i1
  br i1 %1559, label %1560, label %1564

1560:                                             ; preds = %1554
  %1561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1562 = call i32 @fileno(ptr noundef %1561) #11
  %1563 = call i32 @isatty(i32 noundef %1562) #11
  %.not1104 = icmp eq i32 %1563, 0
  br i1 %.not1104, label %1564, label %1565

1564:                                             ; preds = %1560, %1554
  br label %1565

1565:                                             ; preds = %1560, %1564
  %.str.5.sink1638 = phi ptr [ @.str.5, %1564 ], [ @.str.2, %1560 ]
  store i32 %1555, ptr %829, align 4, !tbaa !5
  %1566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1567 = load i32, ptr @test_count, align 4, !tbaa !5
  %1568 = load i32, ptr %775, align 4, !tbaa !5
  %1569 = call ptr @s2n_strerror(i32 noundef %1568, ptr noundef nonnull @.str.4) #11
  %1570 = load i32, ptr %775, align 4, !tbaa !5
  %1571 = call ptr @s2n_strerror_debug(i32 noundef %1570, ptr noundef nonnull @.str.4) #11
  %1572 = load i32, ptr %829, align 4, !tbaa !5
  %1573 = call ptr @strerror(i32 noundef %1572) #11
  %1574 = load i32, ptr %829, align 4, !tbaa !5
  %1575 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1566, ptr noundef nonnull %.str.5.sink1638, i32 noundef %1567, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.1, i32 noundef 243, ptr noundef %1569, ptr noundef %1571, ptr noundef %1573, i32 noundef %1574) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1576:                                             ; preds = %1550
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %31) #11
  %1577 = call ptr @s2n_connection_new(i32 noundef 1) #11
  store ptr %1577, ptr %31, align 8, !tbaa !9
  %1578 = load i32, ptr @test_count, align 4, !tbaa !5
  %1579 = add nsw i32 %1578, 1
  store i32 %1579, ptr @test_count, align 4, !tbaa !5
  %1580 = icmp eq ptr %1577, null
  br i1 %1580, label %1581, label %1603

1581:                                             ; preds = %1576
  %1582 = load i32, ptr %829, align 4, !tbaa !5
  %1583 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1584 = call i32 @s2n_print_stacktrace(ptr noundef %1583) #11
  %1585 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1586 = trunc nuw i8 %1585 to i1
  br i1 %1586, label %1587, label %1591

1587:                                             ; preds = %1581
  %1588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1589 = call i32 @fileno(ptr noundef %1588) #11
  %1590 = call i32 @isatty(i32 noundef %1589) #11
  %.not1103 = icmp eq i32 %1590, 0
  br i1 %.not1103, label %1591, label %1592

1591:                                             ; preds = %1587, %1581
  br label %1592

1592:                                             ; preds = %1587, %1591
  %.str.5.sink1647 = phi ptr [ @.str.5, %1591 ], [ @.str.2, %1587 ]
  store i32 %1582, ptr %829, align 4, !tbaa !5
  %1593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1594 = load i32, ptr @test_count, align 4, !tbaa !5
  %1595 = load i32, ptr %775, align 4, !tbaa !5
  %1596 = call ptr @s2n_strerror(i32 noundef %1595, ptr noundef nonnull @.str.4) #11
  %1597 = load i32, ptr %775, align 4, !tbaa !5
  %1598 = call ptr @s2n_strerror_debug(i32 noundef %1597, ptr noundef nonnull @.str.4) #11
  %1599 = load i32, ptr %829, align 4, !tbaa !5
  %1600 = call ptr @strerror(i32 noundef %1599) #11
  %1601 = load i32, ptr %829, align 4, !tbaa !5
  %1602 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1593, ptr noundef nonnull %.str.5.sink1647, i32 noundef %1594, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 246, ptr noundef %1596, ptr noundef %1598, ptr noundef %1600, i32 noundef %1601) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1603:                                             ; preds = %1576
  %1604 = add nsw i32 %1578, 2
  store i32 %1604, ptr @test_count, align 4, !tbaa !5
  %1605 = load ptr, ptr %30, align 8, !tbaa !9
  %1606 = call i32 @s2n_connection_set_config(ptr noundef nonnull %1577, ptr noundef %1605) #11
  %1607 = icmp eq i32 %1606, -1
  br i1 %1607, label %1608, label %1630

1608:                                             ; preds = %1603
  %1609 = load i32, ptr %829, align 4, !tbaa !5
  %1610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1611 = call i32 @s2n_print_stacktrace(ptr noundef %1610) #11
  %1612 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1613 = trunc nuw i8 %1612 to i1
  br i1 %1613, label %1614, label %1618

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

1618:                                             ; preds = %1614, %1608
  br label %1619

1619:                                             ; preds = %1614, %1618
  %.str.5.sink1656 = phi ptr [ @.str.5, %1618 ], [ @.str.2, %1614 ]
  store i32 %1609, ptr %829, align 4, !tbaa !5
  %1620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1621 = load i32, ptr @test_count, align 4, !tbaa !5
  %1622 = load i32, ptr %775, align 4, !tbaa !5
  %1623 = call ptr @s2n_strerror(i32 noundef %1622, ptr noundef nonnull @.str.4) #11
  %1624 = load i32, ptr %775, align 4, !tbaa !5
  %1625 = call ptr @s2n_strerror_debug(i32 noundef %1624, ptr noundef nonnull @.str.4) #11
  %1626 = load i32, ptr %829, align 4, !tbaa !5
  %1627 = call ptr @strerror(i32 noundef %1626) #11
  %1628 = load i32, ptr %829, align 4, !tbaa !5
  %1629 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1620, ptr noundef nonnull %.str.5.sink1656, i32 noundef %1621, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 247, ptr noundef %1623, ptr noundef %1625, ptr noundef %1627, i32 noundef %1628) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1630:                                             ; preds = %1603
  %1631 = load i32, ptr @test_count, align 4, !tbaa !5
  %1632 = add nsw i32 %1631, 1
  store i32 %1632, ptr @test_count, align 4, !tbaa !5
  %1633 = load ptr, ptr %31, align 8, !tbaa !9
  %1634 = call i32 @s2n_set_server_name(ptr noundef %1633, ptr noundef nonnull @.str.39) #11
  %1635 = icmp eq i32 %1634, -1
  br i1 %1635, label %1636, label %1658

1636:                                             ; preds = %1630
  %1637 = load i32, ptr %829, align 4, !tbaa !5
  %1638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1639 = call i32 @s2n_print_stacktrace(ptr noundef %1638) #11
  %1640 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1641 = trunc nuw i8 %1640 to i1
  br i1 %1641, label %1642, label %1646

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

1646:                                             ; preds = %1642, %1636
  br label %1647

1647:                                             ; preds = %1642, %1646
  %.str.5.sink1665 = phi ptr [ @.str.5, %1646 ], [ @.str.2, %1642 ]
  store i32 %1637, ptr %829, align 4, !tbaa !5
  %1648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1649 = load i32, ptr @test_count, align 4, !tbaa !5
  %1650 = load i32, ptr %775, align 4, !tbaa !5
  %1651 = call ptr @s2n_strerror(i32 noundef %1650, ptr noundef nonnull @.str.4) #11
  %1652 = load i32, ptr %775, align 4, !tbaa !5
  %1653 = call ptr @s2n_strerror_debug(i32 noundef %1652, ptr noundef nonnull @.str.4) #11
  %1654 = load i32, ptr %829, align 4, !tbaa !5
  %1655 = call ptr @strerror(i32 noundef %1654) #11
  %1656 = load i32, ptr %829, align 4, !tbaa !5
  %1657 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1648, ptr noundef nonnull %.str.5.sink1665, i32 noundef %1649, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 248, ptr noundef %1651, ptr noundef %1653, ptr noundef %1655, i32 noundef %1656) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1658:                                             ; preds = %1630
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %32) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %32, i8 0, i64 40, i1 false)
  %1659 = load i32, ptr @test_count, align 4, !tbaa !5
  %1660 = add nsw i32 %1659, 1
  store i32 %1660, ptr @test_count, align 4, !tbaa !5
  %1661 = load ptr, ptr %31, align 8, !tbaa !9
  %1662 = call i32 @s2n_test_cert_chain_data_from_pem(ptr noundef %1661, ptr noundef nonnull @.str.50, ptr noundef nonnull %32) #11
  %1663 = call zeroext i1 @s2n_result_is_ok(i32 %1662)
  br i1 %1663, label %1686, label %1664

1664:                                             ; preds = %1658
  %1665 = load i32, ptr %829, align 4, !tbaa !5
  %1666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1667 = call i32 @s2n_print_stacktrace(ptr noundef %1666) #11
  %1668 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1669 = trunc nuw i8 %1668 to i1
  br i1 %1669, label %1670, label %1674

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

1674:                                             ; preds = %1670, %1664
  br label %1675

1675:                                             ; preds = %1670, %1674
  %.str.5.sink1674 = phi ptr [ @.str.5, %1674 ], [ @.str.2, %1670 ]
  store i32 %1665, ptr %829, align 4, !tbaa !5
  %1676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1677 = load i32, ptr @test_count, align 4, !tbaa !5
  %1678 = load i32, ptr %775, align 4, !tbaa !5
  %1679 = call ptr @s2n_strerror(i32 noundef %1678, ptr noundef nonnull @.str.4) #11
  %1680 = load i32, ptr %775, align 4, !tbaa !5
  %1681 = call ptr @s2n_strerror_debug(i32 noundef %1680, ptr noundef nonnull @.str.4) #11
  %1682 = load i32, ptr %829, align 4, !tbaa !5
  %1683 = call ptr @strerror(i32 noundef %1682) #11
  %1684 = load i32, ptr %829, align 4, !tbaa !5
  %1685 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1676, ptr noundef nonnull %.str.5.sink1674, i32 noundef %1677, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.1, i32 noundef 251, ptr noundef %1679, ptr noundef %1681, ptr noundef %1683, i32 noundef %1684) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1686:                                             ; preds = %1658
  %1687 = getelementptr inbounds i8, ptr %32, i64 28
  %1688 = load i32, ptr %1687, align 4, !tbaa !23
  %1689 = getelementptr inbounds i8, ptr %32, i64 24
  %1690 = load i32, ptr %1689, align 8, !tbaa !26
  %1691 = sub i32 %1688, %1690
  %1692 = call ptr @s2n_stuffer_raw_read(ptr noundef nonnull %32, i32 noundef %1691) #11
  %1693 = load i32, ptr @test_count, align 4, !tbaa !5
  %1694 = add nsw i32 %1693, 1
  store i32 %1694, ptr @test_count, align 4, !tbaa !5
  %1695 = icmp eq ptr %1692, null
  br i1 %1695, label %1696, label %1718

1696:                                             ; preds = %1686
  %1697 = load i32, ptr %829, align 4, !tbaa !5
  %1698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1699 = call i32 @s2n_print_stacktrace(ptr noundef %1698) #11
  %1700 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1701 = trunc nuw i8 %1700 to i1
  br i1 %1701, label %1702, label %1706

1702:                                             ; preds = %1696
  %1703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1704 = call i32 @fileno(ptr noundef %1703) #11
  %1705 = call i32 @isatty(i32 noundef %1704) #11
  %.not1100 = icmp eq i32 %1705, 0
  br i1 %.not1100, label %1706, label %1707

1706:                                             ; preds = %1702, %1696
  br label %1707

1707:                                             ; preds = %1702, %1706
  %.str.5.sink1683 = phi ptr [ @.str.5, %1706 ], [ @.str.2, %1702 ]
  store i32 %1697, ptr %829, align 4, !tbaa !5
  %1708 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1709 = load i32, ptr @test_count, align 4, !tbaa !5
  %1710 = load i32, ptr %775, align 4, !tbaa !5
  %1711 = call ptr @s2n_strerror(i32 noundef %1710, ptr noundef nonnull @.str.4) #11
  %1712 = load i32, ptr %775, align 4, !tbaa !5
  %1713 = call ptr @s2n_strerror_debug(i32 noundef %1712, ptr noundef nonnull @.str.4) #11
  %1714 = load i32, ptr %829, align 4, !tbaa !5
  %1715 = call ptr @strerror(i32 noundef %1714) #11
  %1716 = load i32, ptr %829, align 4, !tbaa !5
  %1717 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1708, ptr noundef nonnull %.str.5.sink1683, i32 noundef %1709, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 254, ptr noundef %1711, ptr noundef %1713, ptr noundef %1715, i32 noundef %1716) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1718:                                             ; preds = %1686
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %33) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %33, i8 0, i64 48, i1 false)
  %1719 = add nsw i32 %1693, 2
  store i32 %1719, ptr @test_count, align 4, !tbaa !5
  %1720 = call i32 @s2n_pkey_zero_init(ptr noundef nonnull %33) #11
  %1721 = icmp eq i32 %1720, -1
  br i1 %1721, label %1722, label %1744

1722:                                             ; preds = %1718
  %1723 = load i32, ptr %829, align 4, !tbaa !5
  %1724 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1725 = call i32 @s2n_print_stacktrace(ptr noundef %1724) #11
  %1726 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1727 = trunc nuw i8 %1726 to i1
  br i1 %1727, label %1728, label %1732

1728:                                             ; preds = %1722
  %1729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1730 = call i32 @fileno(ptr noundef %1729) #11
  %1731 = call i32 @isatty(i32 noundef %1730) #11
  %.not1099 = icmp eq i32 %1731, 0
  br i1 %.not1099, label %1732, label %1733

1732:                                             ; preds = %1728, %1722
  br label %1733

1733:                                             ; preds = %1728, %1732
  %.str.5.sink1692 = phi ptr [ @.str.5, %1732 ], [ @.str.2, %1728 ]
  store i32 %1723, ptr %829, align 4, !tbaa !5
  %1734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1735 = load i32, ptr @test_count, align 4, !tbaa !5
  %1736 = load i32, ptr %775, align 4, !tbaa !5
  %1737 = call ptr @s2n_strerror(i32 noundef %1736, ptr noundef nonnull @.str.4) #11
  %1738 = load i32, ptr %775, align 4, !tbaa !5
  %1739 = call ptr @s2n_strerror_debug(i32 noundef %1738, ptr noundef nonnull @.str.4) #11
  %1740 = load i32, ptr %829, align 4, !tbaa !5
  %1741 = call ptr @strerror(i32 noundef %1740) #11
  %1742 = load i32, ptr %829, align 4, !tbaa !5
  %1743 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1734, ptr noundef nonnull %.str.5.sink1692, i32 noundef %1735, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 257, ptr noundef %1737, ptr noundef %1739, ptr noundef %1741, i32 noundef %1742) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1744:                                             ; preds = %1718
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %34) #11
  store i32 -1, ptr %34, align 4, !tbaa !5
  %1745 = load i32, ptr @test_count, align 4, !tbaa !5
  %1746 = add nsw i32 %1745, 1
  store i32 %1746, ptr @test_count, align 4, !tbaa !5
  %1747 = load ptr, ptr %31, align 8, !tbaa !9
  %1748 = call i32 @s2n_x509_validator_validate_cert_chain(ptr noundef nonnull %28, ptr noundef %1747, ptr noundef nonnull %1692, i32 noundef %1691, ptr noundef nonnull %34, ptr noundef nonnull %33) #11
  %1749 = call zeroext i1 @s2n_result_is_error(i32 %1748)
  br i1 %1749, label %1772, label %1750

1750:                                             ; preds = %1744
  %1751 = load i32, ptr %829, align 4, !tbaa !5
  %1752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1753 = call i32 @s2n_print_stacktrace(ptr noundef %1752) #11
  %1754 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1755 = trunc nuw i8 %1754 to i1
  br i1 %1755, label %1756, label %1760

1756:                                             ; preds = %1750
  %1757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1758 = call i32 @fileno(ptr noundef %1757) #11
  %1759 = call i32 @isatty(i32 noundef %1758) #11
  %.not820 = icmp eq i32 %1759, 0
  br i1 %.not820, label %1760, label %1761

1760:                                             ; preds = %1756, %1750
  br label %1761

1761:                                             ; preds = %1756, %1760
  %.str.5.sink1701 = phi ptr [ @.str.5, %1760 ], [ @.str.2, %1756 ]
  store i32 %1751, ptr %829, align 4, !tbaa !5
  %1762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1763 = load i32, ptr @test_count, align 4, !tbaa !5
  %1764 = load i32, ptr %775, align 4, !tbaa !5
  %1765 = call ptr @s2n_strerror(i32 noundef %1764, ptr noundef nonnull @.str.4) #11
  %1766 = load i32, ptr %775, align 4, !tbaa !5
  %1767 = call ptr @s2n_strerror_debug(i32 noundef %1766, ptr noundef nonnull @.str.4) #11
  %1768 = load i32, ptr %829, align 4, !tbaa !5
  %1769 = call ptr @strerror(i32 noundef %1768) #11
  %1770 = load i32, ptr %829, align 4, !tbaa !5
  %1771 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1762, ptr noundef nonnull %.str.5.sink1701, i32 noundef %1763, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.1, i32 noundef 261, ptr noundef %1765, ptr noundef %1767, ptr noundef %1769, i32 noundef %1770) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1772:                                             ; preds = %1744
  %1773 = load i32, ptr @test_count, align 4, !tbaa !5
  %1774 = add nsw i32 %1773, 1
  store i32 %1774, ptr @test_count, align 4, !tbaa !5
  %1775 = load i32, ptr %775, align 4, !tbaa !5
  %1776 = icmp eq i32 %1775, 335544367
  br i1 %1776, label %1799, label %1777

1777:                                             ; preds = %1772
  %1778 = load i32, ptr %829, align 4, !tbaa !5
  %1779 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1780 = call i32 @s2n_print_stacktrace(ptr noundef %1779) #11
  %1781 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1782 = trunc nuw i8 %1781 to i1
  br i1 %1782, label %1783, label %1787

1783:                                             ; preds = %1777
  %1784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1785 = call i32 @fileno(ptr noundef %1784) #11
  %1786 = call i32 @isatty(i32 noundef %1785) #11
  %.not821 = icmp eq i32 %1786, 0
  br i1 %.not821, label %1787, label %1788

1787:                                             ; preds = %1783, %1777
  br label %1788

1788:                                             ; preds = %1783, %1787
  %.str.5.sink1710 = phi ptr [ @.str.5, %1787 ], [ @.str.2, %1783 ]
  store i32 %1778, ptr %829, align 4, !tbaa !5
  %1789 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1790 = load i32, ptr @test_count, align 4, !tbaa !5
  %1791 = load i32, ptr %775, align 4, !tbaa !5
  %1792 = call ptr @s2n_strerror(i32 noundef %1791, ptr noundef nonnull @.str.4) #11
  %1793 = load i32, ptr %775, align 4, !tbaa !5
  %1794 = call ptr @s2n_strerror_debug(i32 noundef %1793, ptr noundef nonnull @.str.4) #11
  %1795 = load i32, ptr %829, align 4, !tbaa !5
  %1796 = call ptr @strerror(i32 noundef %1795) #11
  %1797 = load i32, ptr %829, align 4, !tbaa !5
  %1798 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1789, ptr noundef nonnull %.str.5.sink1710, i32 noundef %1790, ptr noundef nonnull @.str.53, ptr noundef nonnull @.str.1, i32 noundef 261, ptr noundef %1792, ptr noundef %1794, ptr noundef %1796, i32 noundef %1797) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1799:                                             ; preds = %1772
  %1800 = add nsw i32 %1773, 2
  store i32 %1800, ptr @test_count, align 4, !tbaa !5
  %1801 = call ptr @s2n_strerror_debug(i32 noundef 335544367, ptr noundef nonnull @.str.4) #11
  %1802 = icmp eq ptr %1801, null
  br i1 %1802, label %1803, label %1825

1803:                                             ; preds = %1799
  %1804 = load i32, ptr %829, align 4, !tbaa !5
  %1805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1806 = call i32 @s2n_print_stacktrace(ptr noundef %1805) #11
  %1807 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1808 = trunc nuw i8 %1807 to i1
  br i1 %1808, label %1809, label %1813

1809:                                             ; preds = %1803
  %1810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1811 = call i32 @fileno(ptr noundef %1810) #11
  %1812 = call i32 @isatty(i32 noundef %1811) #11
  %.not1098 = icmp eq i32 %1812, 0
  br i1 %.not1098, label %1813, label %1814

1813:                                             ; preds = %1809, %1803
  br label %1814

1814:                                             ; preds = %1809, %1813
  %.str.5.sink1719 = phi ptr [ @.str.5, %1813 ], [ @.str.2, %1809 ]
  store i32 %1804, ptr %829, align 4, !tbaa !5
  %1815 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1816 = load i32, ptr @test_count, align 4, !tbaa !5
  %1817 = load i32, ptr %775, align 4, !tbaa !5
  %1818 = call ptr @s2n_strerror(i32 noundef %1817, ptr noundef nonnull @.str.4) #11
  %1819 = load i32, ptr %775, align 4, !tbaa !5
  %1820 = call ptr @s2n_strerror_debug(i32 noundef %1819, ptr noundef nonnull @.str.4) #11
  %1821 = load i32, ptr %829, align 4, !tbaa !5
  %1822 = call ptr @strerror(i32 noundef %1821) #11
  %1823 = load i32, ptr %829, align 4, !tbaa !5
  %1824 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1815, ptr noundef nonnull %.str.5.sink1719, i32 noundef %1816, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 261, ptr noundef %1818, ptr noundef %1820, ptr noundef %1822, i32 noundef %1823) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1825:                                             ; preds = %1799
  store i32 0, ptr %775, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %829, align 4, !tbaa !5
  %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 = getelementptr inbounds i8, ptr %29, i64 80
  %1829 = load i8, ptr %1828, align 8, !tbaa !27
  %1830 = icmp eq i8 %1829, 2
  br i1 %1830, label %1853, label %1831

1831:                                             ; preds = %1825
  %1832 = load i32, ptr %829, align 4, !tbaa !5
  %1833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1834 = call i32 @s2n_print_stacktrace(ptr noundef %1833) #11
  %1835 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1836 = trunc nuw i8 %1835 to i1
  br i1 %1836, label %1837, label %1841

1837:                                             ; preds = %1831
  %1838 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1839 = call i32 @fileno(ptr noundef %1838) #11
  %1840 = call i32 @isatty(i32 noundef %1839) #11
  %.not822 = icmp eq i32 %1840, 0
  br i1 %.not822, label %1841, label %1842

1841:                                             ; preds = %1837, %1831
  br label %1842

1842:                                             ; preds = %1837, %1841
  %.str.5.sink1728 = phi ptr [ @.str.5, %1841 ], [ @.str.2, %1837 ]
  store i32 %1832, ptr %829, align 4, !tbaa !5
  %1843 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1844 = load i32, ptr @test_count, align 4, !tbaa !5
  %1845 = load i32, ptr %775, align 4, !tbaa !5
  %1846 = call ptr @s2n_strerror(i32 noundef %1845, ptr noundef nonnull @.str.4) #11
  %1847 = load i32, ptr %775, align 4, !tbaa !5
  %1848 = call ptr @s2n_strerror_debug(i32 noundef %1847, ptr noundef nonnull @.str.4) #11
  %1849 = load i32, ptr %829, align 4, !tbaa !5
  %1850 = call ptr @strerror(i32 noundef %1849) #11
  %1851 = load i32, ptr %829, align 4, !tbaa !5
  %1852 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1843, ptr noundef nonnull %.str.5.sink1728, i32 noundef %1844, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.1, i32 noundef 262, ptr noundef %1846, ptr noundef %1848, ptr noundef %1850, i32 noundef %1851) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1853:                                             ; preds = %1825
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %34) #11
  %1854 = call i32 @s2n_pkey_free(ptr noundef nonnull %33) #11
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %33) #11
  %1855 = call i32 @s2n_stuffer_free(ptr noundef nonnull %32) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %32) #11
  %1856 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %31) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %31) #11
  %1857 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %30) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30) #11
  call void @llvm.lifetime.end.p0(i64 88, ptr nonnull %29) #11
  %1858 = call i32 @s2n_x509_validator_wipe(ptr noundef nonnull %28) #11
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %28) #11
  call void @llvm.lifetime.end.p0(i64 12000, ptr nonnull %27) #11
  call void @s2n_x509_trust_store_wipe(ptr noundef nonnull %26) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %26) #11
  %1859 = getelementptr inbounds i8, ptr %38, i64 8
  %1860 = getelementptr inbounds i8, ptr %41, i64 28
  %1861 = getelementptr inbounds i8, ptr %41, i64 24
  %1862 = getelementptr inbounds i8, ptr %38, i64 80
  %1863 = getelementptr inbounds i8, ptr %38, i64 16
  br label %1869

1864:                                             ; preds = %2304
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %44) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %44, i8 0, i64 16, i1 false)
  call void @s2n_x509_trust_store_init_empty(ptr noundef nonnull %44) #11
  call void @llvm.lifetime.start.p0(i64 12000, ptr nonnull %45) #11
  %1865 = load i32, ptr @test_count, align 4, !tbaa !5
  %1866 = add nsw i32 %1865, 1
  store i32 %1866, ptr @test_count, align 4, !tbaa !5
  %1867 = call i32 @s2n_read_test_pem(ptr noundef nonnull @.str.31, ptr noundef nonnull %45, i64 noundef 12000) #11
  %1868 = icmp eq i32 %1867, -1
  br i1 %1868, label %2310, label %2332

1869:                                             ; preds = %1853, %2304
  %1870 = phi i1 [ true, %1853 ], [ false, %2304 ]
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %35) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %35, i8 0, i64 16, i1 false)
  call void @s2n_x509_trust_store_init_empty(ptr noundef nonnull %35) #11
  call void @llvm.lifetime.start.p0(i64 12000, ptr nonnull %36) #11
  %1871 = load i32, ptr @test_count, align 4, !tbaa !5
  %1872 = add nsw i32 %1871, 1
  store i32 %1872, ptr @test_count, align 4, !tbaa !5
  %1873 = call i32 @s2n_read_test_pem(ptr noundef nonnull @.str.31, ptr noundef nonnull %36, i64 noundef 12000) #11
  %1874 = icmp eq i32 %1873, -1
  br i1 %1874, label %1875, label %1897

1875:                                             ; preds = %1869
  %1876 = load i32, ptr %829, align 4, !tbaa !5
  %1877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1878 = call i32 @s2n_print_stacktrace(ptr noundef %1877) #11
  %1879 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1880 = trunc nuw i8 %1879 to i1
  br i1 %1880, label %1881, label %1885

1881:                                             ; preds = %1875
  %1882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1883 = call i32 @fileno(ptr noundef %1882) #11
  %1884 = call i32 @isatty(i32 noundef %1883) #11
  %.not1097 = icmp eq i32 %1884, 0
  br i1 %.not1097, label %1885, label %1886

1885:                                             ; preds = %1881, %1875
  br label %1886

1886:                                             ; preds = %1881, %1885
  %.str.5.sink1737 = phi ptr [ @.str.5, %1885 ], [ @.str.2, %1881 ]
  store i32 %1876, ptr %829, align 4, !tbaa !5
  %1887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1888 = load i32, ptr @test_count, align 4, !tbaa !5
  %1889 = load i32, ptr %775, align 4, !tbaa !5
  %1890 = call ptr @s2n_strerror(i32 noundef %1889, ptr noundef nonnull @.str.4) #11
  %1891 = load i32, ptr %775, align 4, !tbaa !5
  %1892 = call ptr @s2n_strerror_debug(i32 noundef %1891, ptr noundef nonnull @.str.4) #11
  %1893 = load i32, ptr %829, align 4, !tbaa !5
  %1894 = call ptr @strerror(i32 noundef %1893) #11
  %1895 = load i32, ptr %829, align 4, !tbaa !5
  %1896 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1887, ptr noundef nonnull %.str.5.sink1737, i32 noundef %1888, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 271, ptr noundef %1890, ptr noundef %1892, ptr noundef %1894, i32 noundef %1895) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1897:                                             ; preds = %1869
  %1898 = load i32, ptr @test_count, align 4, !tbaa !5
  %1899 = add nsw i32 %1898, 1
  store i32 %1899, ptr @test_count, align 4, !tbaa !5
  %1900 = call i32 @s2n_x509_trust_store_add_pem(ptr noundef nonnull %35, ptr noundef nonnull %36) #11
  %1901 = icmp eq i32 %1900, -1
  br i1 %1901, label %1902, label %1924

1902:                                             ; preds = %1897
  %1903 = load i32, ptr %829, align 4, !tbaa !5
  %1904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1905 = call i32 @s2n_print_stacktrace(ptr noundef %1904) #11
  %1906 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1907 = trunc nuw i8 %1906 to i1
  br i1 %1907, label %1908, label %1912

1908:                                             ; preds = %1902
  %1909 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1910 = call i32 @fileno(ptr noundef %1909) #11
  %1911 = call i32 @isatty(i32 noundef %1910) #11
  %.not1096 = icmp eq i32 %1911, 0
  br i1 %.not1096, label %1912, label %1913

1912:                                             ; preds = %1908, %1902
  br label %1913

1913:                                             ; preds = %1908, %1912
  %.str.5.sink1746 = phi ptr [ @.str.5, %1912 ], [ @.str.2, %1908 ]
  store i32 %1903, ptr %829, align 4, !tbaa !5
  %1914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1915 = load i32, ptr @test_count, align 4, !tbaa !5
  %1916 = load i32, ptr %775, align 4, !tbaa !5
  %1917 = call ptr @s2n_strerror(i32 noundef %1916, ptr noundef nonnull @.str.4) #11
  %1918 = load i32, ptr %775, align 4, !tbaa !5
  %1919 = call ptr @s2n_strerror_debug(i32 noundef %1918, ptr noundef nonnull @.str.4) #11
  %1920 = load i32, ptr %829, align 4, !tbaa !5
  %1921 = call ptr @strerror(i32 noundef %1920) #11
  %1922 = load i32, ptr %829, align 4, !tbaa !5
  %1923 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1914, ptr noundef nonnull %.str.5.sink1746, i32 noundef %1915, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 272, ptr noundef %1917, ptr noundef %1919, ptr noundef %1921, i32 noundef %1922) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1924:                                             ; preds = %1897
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %37) #11
  %1925 = load i32, ptr @test_count, align 4, !tbaa !5
  %1926 = add nsw i32 %1925, 1
  store i32 %1926, ptr @test_count, align 4, !tbaa !5
  %1927 = call i32 @s2n_x509_validator_init(ptr noundef nonnull %37, ptr noundef nonnull %35, i8 noundef zeroext 0) #11
  %1928 = icmp eq i32 %1927, -1
  br i1 %1928, label %1929, label %1951

1929:                                             ; preds = %1924
  %1930 = load i32, ptr %829, align 4, !tbaa !5
  %1931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1932 = call i32 @s2n_print_stacktrace(ptr noundef %1931) #11
  %1933 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1934 = trunc nuw i8 %1933 to i1
  br i1 %1934, label %1935, label %1939

1935:                                             ; preds = %1929
  %1936 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1937 = call i32 @fileno(ptr noundef %1936) #11
  %1938 = call i32 @isatty(i32 noundef %1937) #11
  %.not1095 = icmp eq i32 %1938, 0
  br i1 %.not1095, label %1939, label %1940

1939:                                             ; preds = %1935, %1929
  br label %1940

1940:                                             ; preds = %1935, %1939
  %.str.5.sink1755 = phi ptr [ @.str.5, %1939 ], [ @.str.2, %1935 ]
  store i32 %1930, ptr %829, align 4, !tbaa !5
  %1941 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1942 = load i32, ptr @test_count, align 4, !tbaa !5
  %1943 = load i32, ptr %775, align 4, !tbaa !5
  %1944 = call ptr @s2n_strerror(i32 noundef %1943, ptr noundef nonnull @.str.4) #11
  %1945 = load i32, ptr %775, align 4, !tbaa !5
  %1946 = call ptr @s2n_strerror_debug(i32 noundef %1945, ptr noundef nonnull @.str.4) #11
  %1947 = load i32, ptr %829, align 4, !tbaa !5
  %1948 = call ptr @strerror(i32 noundef %1947) #11
  %1949 = load i32, ptr %829, align 4, !tbaa !5
  %1950 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1941, ptr noundef nonnull %.str.5.sink1755, i32 noundef %1942, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 275, ptr noundef %1944, ptr noundef %1946, ptr noundef %1948, i32 noundef %1949) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1951:                                             ; preds = %1924
  call void @llvm.lifetime.start.p0(i64 88, ptr nonnull %38) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(88) %1863, i8 0, i64 72, i1 false)
  store ptr %966, ptr %38, align 8, !tbaa !9
  store ptr %912, ptr %1859, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %39) #11
  %1952 = call ptr @s2n_config_new() #11
  store ptr %1952, ptr %39, align 8, !tbaa !9
  %1953 = load i32, ptr @test_count, align 4, !tbaa !5
  %1954 = add nsw i32 %1953, 1
  store i32 %1954, ptr @test_count, align 4, !tbaa !5
  %1955 = icmp eq ptr %1952, null
  br i1 %1955, label %1956, label %1978

1956:                                             ; preds = %1951
  %1957 = load i32, ptr %829, align 4, !tbaa !5
  %1958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1959 = call i32 @s2n_print_stacktrace(ptr noundef %1958) #11
  %1960 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1961 = trunc nuw i8 %1960 to i1
  br i1 %1961, label %1962, label %1966

1962:                                             ; preds = %1956
  %1963 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1964 = call i32 @fileno(ptr noundef %1963) #11
  %1965 = call i32 @isatty(i32 noundef %1964) #11
  %.not1094 = icmp eq i32 %1965, 0
  br i1 %.not1094, label %1966, label %1967

1966:                                             ; preds = %1962, %1956
  br label %1967

1967:                                             ; preds = %1962, %1966
  %.str.5.sink1764 = phi ptr [ @.str.5, %1966 ], [ @.str.2, %1962 ]
  store i32 %1957, ptr %829, align 4, !tbaa !5
  %1968 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1969 = load i32, ptr @test_count, align 4, !tbaa !5
  %1970 = load i32, ptr %775, align 4, !tbaa !5
  %1971 = call ptr @s2n_strerror(i32 noundef %1970, ptr noundef nonnull @.str.4) #11
  %1972 = load i32, ptr %775, align 4, !tbaa !5
  %1973 = call ptr @s2n_strerror_debug(i32 noundef %1972, ptr noundef nonnull @.str.4) #11
  %1974 = load i32, ptr %829, align 4, !tbaa !5
  %1975 = call ptr @strerror(i32 noundef %1974) #11
  %1976 = load i32, ptr %829, align 4, !tbaa !5
  %1977 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1968, ptr noundef nonnull %.str.5.sink1764, i32 noundef %1969, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 282, ptr noundef %1971, ptr noundef %1973, ptr noundef %1975, i32 noundef %1976) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1978:                                             ; preds = %1951
  %1979 = add nsw i32 %1953, 2
  store i32 %1979, ptr @test_count, align 4, !tbaa !5
  %1980 = call i32 @s2n_config_set_crl_lookup_cb(ptr noundef nonnull %1952, ptr noundef nonnull @crl_lookup_test_callback, ptr noundef nonnull %38) #11
  %1981 = icmp eq i32 %1980, -1
  br i1 %1981, label %1982, label %2004

1982:                                             ; preds = %1978
  %1983 = load i32, ptr %829, align 4, !tbaa !5
  %1984 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1985 = call i32 @s2n_print_stacktrace(ptr noundef %1984) #11
  %1986 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1987 = trunc nuw i8 %1986 to i1
  br i1 %1987, label %1988, label %1992

1988:                                             ; preds = %1982
  %1989 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1990 = call i32 @fileno(ptr noundef %1989) #11
  %1991 = call i32 @isatty(i32 noundef %1990) #11
  %.not1093 = icmp eq i32 %1991, 0
  br i1 %.not1093, label %1992, label %1993

1992:                                             ; preds = %1988, %1982
  br label %1993

1993:                                             ; preds = %1988, %1992
  %.str.5.sink1773 = phi ptr [ @.str.5, %1992 ], [ @.str.2, %1988 ]
  store i32 %1983, ptr %829, align 4, !tbaa !5
  %1994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1995 = load i32, ptr @test_count, align 4, !tbaa !5
  %1996 = load i32, ptr %775, align 4, !tbaa !5
  %1997 = call ptr @s2n_strerror(i32 noundef %1996, ptr noundef nonnull @.str.4) #11
  %1998 = load i32, ptr %775, align 4, !tbaa !5
  %1999 = call ptr @s2n_strerror_debug(i32 noundef %1998, ptr noundef nonnull @.str.4) #11
  %2000 = load i32, ptr %829, align 4, !tbaa !5
  %2001 = call ptr @strerror(i32 noundef %2000) #11
  %2002 = load i32, ptr %829, align 4, !tbaa !5
  %2003 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1994, ptr noundef nonnull %.str.5.sink1773, i32 noundef %1995, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.1, i32 noundef 283, ptr noundef %1997, ptr noundef %1999, ptr noundef %2001, i32 noundef %2002) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2004:                                             ; preds = %1978
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %40) #11
  %2005 = call ptr @s2n_connection_new(i32 noundef 1) #11
  store ptr %2005, ptr %40, align 8, !tbaa !9
  %2006 = load i32, ptr @test_count, align 4, !tbaa !5
  %2007 = add nsw i32 %2006, 1
  store i32 %2007, ptr @test_count, align 4, !tbaa !5
  %2008 = icmp eq ptr %2005, null
  br i1 %2008, label %2009, label %2031

2009:                                             ; preds = %2004
  %2010 = load i32, ptr %829, align 4, !tbaa !5
  %2011 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2012 = call i32 @s2n_print_stacktrace(ptr noundef %2011) #11
  %2013 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2014 = trunc nuw i8 %2013 to i1
  br i1 %2014, label %2015, label %2019

2015:                                             ; preds = %2009
  %2016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2017 = call i32 @fileno(ptr noundef %2016) #11
  %2018 = call i32 @isatty(i32 noundef %2017) #11
  %.not1092 = icmp eq i32 %2018, 0
  br i1 %.not1092, label %2019, label %2020

2019:                                             ; preds = %2015, %2009
  br label %2020

2020:                                             ; preds = %2015, %2019
  %.str.5.sink1782 = phi ptr [ @.str.5, %2019 ], [ @.str.2, %2015 ]
  store i32 %2010, ptr %829, align 4, !tbaa !5
  %2021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2022 = load i32, ptr @test_count, align 4, !tbaa !5
  %2023 = load i32, ptr %775, align 4, !tbaa !5
  %2024 = call ptr @s2n_strerror(i32 noundef %2023, ptr noundef nonnull @.str.4) #11
  %2025 = load i32, ptr %775, align 4, !tbaa !5
  %2026 = call ptr @s2n_strerror_debug(i32 noundef %2025, ptr noundef nonnull @.str.4) #11
  %2027 = load i32, ptr %829, align 4, !tbaa !5
  %2028 = call ptr @strerror(i32 noundef %2027) #11
  %2029 = load i32, ptr %829, align 4, !tbaa !5
  %2030 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2021, ptr noundef nonnull %.str.5.sink1782, i32 noundef %2022, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 286, ptr noundef %2024, ptr noundef %2026, ptr noundef %2028, i32 noundef %2029) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2031:                                             ; preds = %2004
  %2032 = add nsw i32 %2006, 2
  store i32 %2032, ptr @test_count, align 4, !tbaa !5
  %2033 = load ptr, ptr %39, align 8, !tbaa !9
  %2034 = call i32 @s2n_connection_set_config(ptr noundef nonnull %2005, ptr noundef %2033) #11
  %2035 = icmp eq i32 %2034, -1
  br i1 %2035, label %2036, label %2058

2036:                                             ; preds = %2031
  %2037 = load i32, ptr %829, align 4, !tbaa !5
  %2038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2039 = call i32 @s2n_print_stacktrace(ptr noundef %2038) #11
  %2040 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2041 = trunc nuw i8 %2040 to i1
  br i1 %2041, label %2042, label %2046

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

2046:                                             ; preds = %2042, %2036
  br label %2047

2047:                                             ; preds = %2042, %2046
  %.str.5.sink1791 = phi ptr [ @.str.5, %2046 ], [ @.str.2, %2042 ]
  store i32 %2037, ptr %829, align 4, !tbaa !5
  %2048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2049 = load i32, ptr @test_count, align 4, !tbaa !5
  %2050 = load i32, ptr %775, align 4, !tbaa !5
  %2051 = call ptr @s2n_strerror(i32 noundef %2050, ptr noundef nonnull @.str.4) #11
  %2052 = load i32, ptr %775, align 4, !tbaa !5
  %2053 = call ptr @s2n_strerror_debug(i32 noundef %2052, ptr noundef nonnull @.str.4) #11
  %2054 = load i32, ptr %829, align 4, !tbaa !5
  %2055 = call ptr @strerror(i32 noundef %2054) #11
  %2056 = load i32, ptr %829, align 4, !tbaa !5
  %2057 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2048, ptr noundef nonnull %.str.5.sink1791, i32 noundef %2049, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 287, ptr noundef %2051, ptr noundef %2053, ptr noundef %2055, i32 noundef %2056) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2058:                                             ; preds = %2031
  %2059 = load i32, ptr @test_count, align 4, !tbaa !5
  %2060 = add nsw i32 %2059, 1
  store i32 %2060, ptr @test_count, align 4, !tbaa !5
  %2061 = load ptr, ptr %40, align 8, !tbaa !9
  %2062 = call i32 @s2n_set_server_name(ptr noundef %2061, ptr noundef nonnull @.str.39) #11
  %2063 = icmp eq i32 %2062, -1
  br i1 %2063, label %2064, label %2086

2064:                                             ; preds = %2058
  %2065 = load i32, ptr %829, align 4, !tbaa !5
  %2066 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2067 = call i32 @s2n_print_stacktrace(ptr noundef %2066) #11
  %2068 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2069 = trunc nuw i8 %2068 to i1
  br i1 %2069, label %2070, label %2074

2070:                                             ; preds = %2064
  %2071 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2072 = call i32 @fileno(ptr noundef %2071) #11
  %2073 = call i32 @isatty(i32 noundef %2072) #11
  %.not1090 = icmp eq i32 %2073, 0
  br i1 %.not1090, label %2074, label %2075

2074:                                             ; preds = %2070, %2064
  br label %2075

2075:                                             ; preds = %2070, %2074
  %.str.5.sink1800 = phi ptr [ @.str.5, %2074 ], [ @.str.2, %2070 ]
  store i32 %2065, ptr %829, align 4, !tbaa !5
  %2076 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2077 = load i32, ptr @test_count, align 4, !tbaa !5
  %2078 = load i32, ptr %775, align 4, !tbaa !5
  %2079 = call ptr @s2n_strerror(i32 noundef %2078, ptr noundef nonnull @.str.4) #11
  %2080 = load i32, ptr %775, align 4, !tbaa !5
  %2081 = call ptr @s2n_strerror_debug(i32 noundef %2080, ptr noundef nonnull @.str.4) #11
  %2082 = load i32, ptr %829, align 4, !tbaa !5
  %2083 = call ptr @strerror(i32 noundef %2082) #11
  %2084 = load i32, ptr %829, align 4, !tbaa !5
  %2085 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2076, ptr noundef nonnull %.str.5.sink1800, i32 noundef %2077, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 288, ptr noundef %2079, ptr noundef %2081, ptr noundef %2083, i32 noundef %2084) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2086:                                             ; preds = %2058
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %41) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %41, i8 0, i64 40, i1 false)
  %2087 = load i32, ptr @test_count, align 4, !tbaa !5
  %2088 = add nsw i32 %2087, 1
  store i32 %2088, ptr @test_count, align 4, !tbaa !5
  %2089 = load ptr, ptr %40, align 8, !tbaa !9
  br i1 %1870, label %2090, label %2115

2090:                                             ; preds = %2086
  %2091 = call i32 @s2n_test_cert_chain_data_from_pem(ptr noundef %2089, ptr noundef nonnull @.str.55, ptr noundef nonnull %41) #11
  %2092 = call zeroext i1 @s2n_result_is_ok(i32 %2091)
  br i1 %2092, label %2140, label %2093

2093:                                             ; preds = %2090
  %2094 = load i32, ptr %829, align 4, !tbaa !5
  %2095 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2096 = call i32 @s2n_print_stacktrace(ptr noundef %2095) #11
  %2097 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2098 = trunc nuw i8 %2097 to i1
  br i1 %2098, label %2099, label %2103

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

2103:                                             ; preds = %2099, %2093
  br label %2104

2104:                                             ; preds = %2099, %2103
  %.str.5.sink1809 = phi ptr [ @.str.5, %2103 ], [ @.str.2, %2099 ]
  store i32 %2094, ptr %829, align 4, !tbaa !5
  %2105 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2106 = load i32, ptr @test_count, align 4, !tbaa !5
  %2107 = load i32, ptr %775, align 4, !tbaa !5
  %2108 = call ptr @s2n_strerror(i32 noundef %2107, ptr noundef nonnull @.str.4) #11
  %2109 = load i32, ptr %775, align 4, !tbaa !5
  %2110 = call ptr @s2n_strerror_debug(i32 noundef %2109, ptr noundef nonnull @.str.4) #11
  %2111 = load i32, ptr %829, align 4, !tbaa !5
  %2112 = call ptr @strerror(i32 noundef %2111) #11
  %2113 = load i32, ptr %829, align 4, !tbaa !5
  %2114 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2105, ptr noundef nonnull %.str.5.sink1809, i32 noundef %2106, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.1, i32 noundef 293, ptr noundef %2108, ptr noundef %2110, ptr noundef %2112, i32 noundef %2113) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2115:                                             ; preds = %2086
  %2116 = call i32 @s2n_test_cert_chain_data_from_pem(ptr noundef %2089, ptr noundef nonnull @.str.57, ptr noundef nonnull %41) #11
  %2117 = call zeroext i1 @s2n_result_is_ok(i32 %2116)
  br i1 %2117, label %2140, label %2118

2118:                                             ; preds = %2115
  %2119 = load i32, ptr %829, align 4, !tbaa !5
  %2120 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2121 = call i32 @s2n_print_stacktrace(ptr noundef %2120) #11
  %2122 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2123 = trunc nuw i8 %2122 to i1
  br i1 %2123, label %2124, label %2128

2124:                                             ; preds = %2118
  %2125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2126 = call i32 @fileno(ptr noundef %2125) #11
  %2127 = call i32 @isatty(i32 noundef %2126) #11
  %.not1082 = icmp eq i32 %2127, 0
  br i1 %.not1082, label %2128, label %2129

2128:                                             ; preds = %2124, %2118
  br label %2129

2129:                                             ; preds = %2124, %2128
  %.str.5.sink1818 = phi ptr [ @.str.5, %2128 ], [ @.str.2, %2124 ]
  store i32 %2119, ptr %829, align 4, !tbaa !5
  %2130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2131 = load i32, ptr @test_count, align 4, !tbaa !5
  %2132 = load i32, ptr %775, align 4, !tbaa !5
  %2133 = call ptr @s2n_strerror(i32 noundef %2132, ptr noundef nonnull @.str.4) #11
  %2134 = load i32, ptr %775, align 4, !tbaa !5
  %2135 = call ptr @s2n_strerror_debug(i32 noundef %2134, ptr noundef nonnull @.str.4) #11
  %2136 = load i32, ptr %829, align 4, !tbaa !5
  %2137 = call ptr @strerror(i32 noundef %2136) #11
  %2138 = load i32, ptr %829, align 4, !tbaa !5
  %2139 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2130, ptr noundef nonnull %.str.5.sink1818, i32 noundef %2131, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.1, i32 noundef 296, ptr noundef %2133, ptr noundef %2135, ptr noundef %2137, i32 noundef %2138) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2140:                                             ; preds = %2115, %2090
  %2141 = load i32, ptr %1860, align 4, !tbaa !23
  %2142 = load i32, ptr %1861, align 8, !tbaa !26
  %2143 = sub i32 %2141, %2142
  %2144 = call ptr @s2n_stuffer_raw_read(ptr noundef nonnull %41, i32 noundef %2143) #11
  %2145 = load i32, ptr @test_count, align 4, !tbaa !5
  %2146 = add nsw i32 %2145, 1
  store i32 %2146, ptr @test_count, align 4, !tbaa !5
  %2147 = icmp eq ptr %2144, null
  br i1 %2147, label %2148, label %2170

2148:                                             ; preds = %2140
  %2149 = load i32, ptr %829, align 4, !tbaa !5
  %2150 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2151 = call i32 @s2n_print_stacktrace(ptr noundef %2150) #11
  %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) #11
  %2157 = call i32 @isatty(i32 noundef %2156) #11
  %.not1089 = icmp eq i32 %2157, 0
  br i1 %.not1089, label %2158, label %2159

2158:                                             ; preds = %2154, %2148
  br label %2159

2159:                                             ; preds = %2154, %2158
  %.str.5.sink1827 = phi ptr [ @.str.5, %2158 ], [ @.str.2, %2154 ]
  store i32 %2149, ptr %829, 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 %775, align 4, !tbaa !5
  %2163 = call ptr @s2n_strerror(i32 noundef %2162, ptr noundef nonnull @.str.4) #11
  %2164 = load i32, ptr %775, align 4, !tbaa !5
  %2165 = call ptr @s2n_strerror_debug(i32 noundef %2164, ptr noundef nonnull @.str.4) #11
  %2166 = load i32, ptr %829, align 4, !tbaa !5
  %2167 = call ptr @strerror(i32 noundef %2166) #11
  %2168 = load i32, ptr %829, align 4, !tbaa !5
  %2169 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2160, ptr noundef nonnull %.str.5.sink1827, i32 noundef %2161, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 300, ptr noundef %2163, ptr noundef %2165, ptr noundef %2167, i32 noundef %2168) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2170:                                             ; preds = %2140
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %42) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %42, i8 0, i64 48, i1 false)
  %2171 = add nsw i32 %2145, 2
  store i32 %2171, ptr @test_count, align 4, !tbaa !5
  %2172 = call i32 @s2n_pkey_zero_init(ptr noundef nonnull %42) #11
  %2173 = icmp eq i32 %2172, -1
  br i1 %2173, label %2174, label %2196

2174:                                             ; preds = %2170
  %2175 = load i32, ptr %829, align 4, !tbaa !5
  %2176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2177 = call i32 @s2n_print_stacktrace(ptr noundef %2176) #11
  %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) #11
  %2183 = call i32 @isatty(i32 noundef %2182) #11
  %.not1088 = icmp eq i32 %2183, 0
  br i1 %.not1088, label %2184, label %2185

2184:                                             ; preds = %2180, %2174
  br label %2185

2185:                                             ; preds = %2180, %2184
  %.str.5.sink1836 = phi ptr [ @.str.5, %2184 ], [ @.str.2, %2180 ]
  store i32 %2175, ptr %829, 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 %775, align 4, !tbaa !5
  %2189 = call ptr @s2n_strerror(i32 noundef %2188, ptr noundef nonnull @.str.4) #11
  %2190 = load i32, ptr %775, align 4, !tbaa !5
  %2191 = call ptr @s2n_strerror_debug(i32 noundef %2190, ptr noundef nonnull @.str.4) #11
  %2192 = load i32, ptr %829, align 4, !tbaa !5
  %2193 = call ptr @strerror(i32 noundef %2192) #11
  %2194 = load i32, ptr %829, align 4, !tbaa !5
  %2195 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2186, ptr noundef nonnull %.str.5.sink1836, i32 noundef %2187, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 303, ptr noundef %2189, ptr noundef %2191, ptr noundef %2193, i32 noundef %2194) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2196:                                             ; preds = %2170
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %43) #11
  store i32 -1, ptr %43, 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 = load ptr, ptr %40, align 8, !tbaa !9
  %2200 = call i32 @s2n_x509_validator_validate_cert_chain(ptr noundef nonnull %37, ptr noundef %2199, ptr noundef nonnull %2144, i32 noundef %2143, ptr noundef nonnull %43, ptr noundef nonnull %42) #11
  %2201 = call zeroext i1 @s2n_result_is_error(i32 %2200)
  br i1 %2201, label %2224, label %2202

2202:                                             ; preds = %2196
  %2203 = load i32, ptr %829, align 4, !tbaa !5
  %2204 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2205 = call i32 @s2n_print_stacktrace(ptr noundef %2204) #11
  %2206 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2207 = trunc nuw i8 %2206 to i1
  br i1 %2207, label %2208, label %2212

2208:                                             ; preds = %2202
  %2209 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2210 = call i32 @fileno(ptr noundef %2209) #11
  %2211 = call i32 @isatty(i32 noundef %2210) #11
  %.not1084 = icmp eq i32 %2211, 0
  br i1 %.not1084, label %2212, label %2213

2212:                                             ; preds = %2208, %2202
  br label %2213

2213:                                             ; preds = %2208, %2212
  %.str.5.sink1845 = phi ptr [ @.str.5, %2212 ], [ @.str.2, %2208 ]
  store i32 %2203, ptr %829, align 4, !tbaa !5
  %2214 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2215 = load i32, ptr @test_count, align 4, !tbaa !5
  %2216 = load i32, ptr %775, align 4, !tbaa !5
  %2217 = call ptr @s2n_strerror(i32 noundef %2216, ptr noundef nonnull @.str.4) #11
  %2218 = load i32, ptr %775, align 4, !tbaa !5
  %2219 = call ptr @s2n_strerror_debug(i32 noundef %2218, ptr noundef nonnull @.str.4) #11
  %2220 = load i32, ptr %829, align 4, !tbaa !5
  %2221 = call ptr @strerror(i32 noundef %2220) #11
  %2222 = load i32, ptr %829, align 4, !tbaa !5
  %2223 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2214, ptr noundef nonnull %.str.5.sink1845, i32 noundef %2215, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.1, i32 noundef 307, ptr noundef %2217, ptr noundef %2219, ptr noundef %2221, i32 noundef %2222) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2224:                                             ; preds = %2196
  %2225 = load i32, ptr @test_count, align 4, !tbaa !5
  %2226 = add nsw i32 %2225, 1
  store i32 %2226, ptr @test_count, align 4, !tbaa !5
  %2227 = load i32, ptr %775, align 4, !tbaa !5
  %2228 = icmp eq i32 %2227, 335544367
  br i1 %2228, label %2251, label %2229

2229:                                             ; preds = %2224
  %2230 = load i32, ptr %829, align 4, !tbaa !5
  %2231 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2232 = call i32 @s2n_print_stacktrace(ptr noundef %2231) #11
  %2233 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2234 = trunc nuw i8 %2233 to i1
  br i1 %2234, label %2235, label %2239

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

2239:                                             ; preds = %2235, %2229
  br label %2240

2240:                                             ; preds = %2235, %2239
  %.str.5.sink1854 = phi ptr [ @.str.5, %2239 ], [ @.str.2, %2235 ]
  store i32 %2230, ptr %829, align 4, !tbaa !5
  %2241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2242 = load i32, ptr @test_count, align 4, !tbaa !5
  %2243 = load i32, ptr %775, align 4, !tbaa !5
  %2244 = call ptr @s2n_strerror(i32 noundef %2243, ptr noundef nonnull @.str.4) #11
  %2245 = load i32, ptr %775, align 4, !tbaa !5
  %2246 = call ptr @s2n_strerror_debug(i32 noundef %2245, ptr noundef nonnull @.str.4) #11
  %2247 = load i32, ptr %829, align 4, !tbaa !5
  %2248 = call ptr @strerror(i32 noundef %2247) #11
  %2249 = load i32, ptr %829, align 4, !tbaa !5
  %2250 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2241, ptr noundef nonnull %.str.5.sink1854, i32 noundef %2242, ptr noundef nonnull @.str.53, ptr noundef nonnull @.str.1, i32 noundef 307, ptr noundef %2244, ptr noundef %2246, ptr noundef %2248, i32 noundef %2249) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2251:                                             ; preds = %2224
  %2252 = add nsw i32 %2225, 2
  store i32 %2252, ptr @test_count, align 4, !tbaa !5
  %2253 = call ptr @s2n_strerror_debug(i32 noundef 335544367, ptr noundef nonnull @.str.4) #11
  %2254 = icmp eq ptr %2253, null
  br i1 %2254, label %2255, label %2277

2255:                                             ; preds = %2251
  %2256 = load i32, ptr %829, align 4, !tbaa !5
  %2257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2258 = call i32 @s2n_print_stacktrace(ptr noundef %2257) #11
  %2259 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2260 = trunc nuw i8 %2259 to i1
  br i1 %2260, label %2261, label %2265

2261:                                             ; preds = %2255
  %2262 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2263 = call i32 @fileno(ptr noundef %2262) #11
  %2264 = call i32 @isatty(i32 noundef %2263) #11
  %.not1087 = icmp eq i32 %2264, 0
  br i1 %.not1087, label %2265, label %2266

2265:                                             ; preds = %2261, %2255
  br label %2266

2266:                                             ; preds = %2261, %2265
  %.str.5.sink1863 = phi ptr [ @.str.5, %2265 ], [ @.str.2, %2261 ]
  store i32 %2256, ptr %829, align 4, !tbaa !5
  %2267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2268 = load i32, ptr @test_count, align 4, !tbaa !5
  %2269 = load i32, ptr %775, align 4, !tbaa !5
  %2270 = call ptr @s2n_strerror(i32 noundef %2269, ptr noundef nonnull @.str.4) #11
  %2271 = load i32, ptr %775, align 4, !tbaa !5
  %2272 = call ptr @s2n_strerror_debug(i32 noundef %2271, ptr noundef nonnull @.str.4) #11
  %2273 = load i32, ptr %829, align 4, !tbaa !5
  %2274 = call ptr @strerror(i32 noundef %2273) #11
  %2275 = load i32, ptr %829, align 4, !tbaa !5
  %2276 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2267, ptr noundef nonnull %.str.5.sink1863, i32 noundef %2268, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 307, ptr noundef %2270, ptr noundef %2272, ptr noundef %2274, i32 noundef %2275) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2277:                                             ; preds = %2251
  store i32 0, ptr %775, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %829, align 4, !tbaa !5
  %2278 = load i32, ptr @test_count, align 4, !tbaa !5
  %2279 = add nsw i32 %2278, 1
  store i32 %2279, ptr @test_count, align 4, !tbaa !5
  %2280 = load i8, ptr %1862, align 8, !tbaa !27
  %2281 = icmp eq i8 %2280, 2
  br i1 %2281, label %2304, label %2282

2282:                                             ; preds = %2277
  %2283 = load i32, ptr %829, align 4, !tbaa !5
  %2284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2285 = call i32 @s2n_print_stacktrace(ptr noundef %2284) #11
  %2286 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2287 = trunc nuw i8 %2286 to i1
  br i1 %2287, label %2288, label %2292

2288:                                             ; preds = %2282
  %2289 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2290 = call i32 @fileno(ptr noundef %2289) #11
  %2291 = call i32 @isatty(i32 noundef %2290) #11
  %.not1086 = icmp eq i32 %2291, 0
  br i1 %.not1086, label %2292, label %2293

2292:                                             ; preds = %2288, %2282
  br label %2293

2293:                                             ; preds = %2288, %2292
  %.str.5.sink1872 = phi ptr [ @.str.5, %2292 ], [ @.str.2, %2288 ]
  store i32 %2283, ptr %829, align 4, !tbaa !5
  %2294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2295 = load i32, ptr @test_count, align 4, !tbaa !5
  %2296 = load i32, ptr %775, align 4, !tbaa !5
  %2297 = call ptr @s2n_strerror(i32 noundef %2296, ptr noundef nonnull @.str.4) #11
  %2298 = load i32, ptr %775, align 4, !tbaa !5
  %2299 = call ptr @s2n_strerror_debug(i32 noundef %2298, ptr noundef nonnull @.str.4) #11
  %2300 = load i32, ptr %829, align 4, !tbaa !5
  %2301 = call ptr @strerror(i32 noundef %2300) #11
  %2302 = load i32, ptr %829, align 4, !tbaa !5
  %2303 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2294, ptr noundef nonnull %.str.5.sink1872, i32 noundef %2295, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.1, i32 noundef 308, ptr noundef %2297, ptr noundef %2299, ptr noundef %2301, i32 noundef %2302) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2304:                                             ; preds = %2277
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %43) #11
  %2305 = call i32 @s2n_pkey_free(ptr noundef nonnull %42) #11
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %42) #11
  %2306 = call i32 @s2n_stuffer_free(ptr noundef nonnull %41) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %41) #11
  %2307 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %40) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %40) #11
  %2308 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %39) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %39) #11
  call void @llvm.lifetime.end.p0(i64 88, ptr nonnull %38) #11
  %2309 = call i32 @s2n_x509_validator_wipe(ptr noundef nonnull %37) #11
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %37) #11
  call void @llvm.lifetime.end.p0(i64 12000, ptr nonnull %36) #11
  call void @s2n_x509_trust_store_wipe(ptr noundef nonnull %35) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %35) #11
  br i1 %1870, label %1869, label %1864, !llvm.loop !29

2310:                                             ; preds = %1864
  %2311 = load i32, ptr %829, align 4, !tbaa !5
  %2312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2313 = call i32 @s2n_print_stacktrace(ptr noundef %2312) #11
  %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) #11
  %2319 = call i32 @isatty(i32 noundef %2318) #11
  %.not1081 = icmp eq i32 %2319, 0
  br i1 %.not1081, label %2320, label %2321

2320:                                             ; preds = %2316, %2310
  br label %2321

2321:                                             ; preds = %2316, %2320
  %.str.5.sink1881 = phi ptr [ @.str.5, %2320 ], [ @.str.2, %2316 ]
  store i32 %2311, ptr %829, 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 %775, align 4, !tbaa !5
  %2325 = call ptr @s2n_strerror(i32 noundef %2324, ptr noundef nonnull @.str.4) #11
  %2326 = load i32, ptr %775, align 4, !tbaa !5
  %2327 = call ptr @s2n_strerror_debug(i32 noundef %2326, ptr noundef nonnull @.str.4) #11
  %2328 = load i32, ptr %829, align 4, !tbaa !5
  %2329 = call ptr @strerror(i32 noundef %2328) #11
  %2330 = load i32, ptr %829, align 4, !tbaa !5
  %2331 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2322, ptr noundef nonnull %.str.5.sink1881, i32 noundef %2323, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 317, ptr noundef %2325, ptr noundef %2327, ptr noundef %2329, i32 noundef %2330) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2332:                                             ; preds = %1864
  %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 = call i32 @s2n_x509_trust_store_add_pem(ptr noundef nonnull %44, ptr noundef nonnull %45) #11
  %2336 = icmp eq i32 %2335, -1
  br i1 %2336, label %2337, label %2359

2337:                                             ; preds = %2332
  %2338 = load i32, ptr %829, align 4, !tbaa !5
  %2339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2340 = call i32 @s2n_print_stacktrace(ptr noundef %2339) #11
  %2341 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2342 = trunc nuw i8 %2341 to i1
  br i1 %2342, label %2343, label %2347

2343:                                             ; preds = %2337
  %2344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2345 = call i32 @fileno(ptr noundef %2344) #11
  %2346 = call i32 @isatty(i32 noundef %2345) #11
  %.not1080 = icmp eq i32 %2346, 0
  br i1 %.not1080, label %2347, label %2348

2347:                                             ; preds = %2343, %2337
  br label %2348

2348:                                             ; preds = %2343, %2347
  %.str.5.sink1890 = phi ptr [ @.str.5, %2347 ], [ @.str.2, %2343 ]
  store i32 %2338, ptr %829, align 4, !tbaa !5
  %2349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2350 = load i32, ptr @test_count, align 4, !tbaa !5
  %2351 = load i32, ptr %775, align 4, !tbaa !5
  %2352 = call ptr @s2n_strerror(i32 noundef %2351, ptr noundef nonnull @.str.4) #11
  %2353 = load i32, ptr %775, align 4, !tbaa !5
  %2354 = call ptr @s2n_strerror_debug(i32 noundef %2353, ptr noundef nonnull @.str.4) #11
  %2355 = load i32, ptr %829, align 4, !tbaa !5
  %2356 = call ptr @strerror(i32 noundef %2355) #11
  %2357 = load i32, ptr %829, align 4, !tbaa !5
  %2358 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2349, ptr noundef nonnull %.str.5.sink1890, i32 noundef %2350, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 318, ptr noundef %2352, ptr noundef %2354, ptr noundef %2356, i32 noundef %2357) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2359:                                             ; preds = %2332
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %46) #11
  %2360 = load i32, ptr @test_count, align 4, !tbaa !5
  %2361 = add nsw i32 %2360, 1
  store i32 %2361, ptr @test_count, align 4, !tbaa !5
  %2362 = call i32 @s2n_x509_validator_init(ptr noundef nonnull %46, ptr noundef nonnull %44, i8 noundef zeroext 0) #11
  %2363 = icmp eq i32 %2362, -1
  br i1 %2363, label %2364, label %2386

2364:                                             ; preds = %2359
  %2365 = load i32, ptr %829, align 4, !tbaa !5
  %2366 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2367 = call i32 @s2n_print_stacktrace(ptr noundef %2366) #11
  %2368 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2369 = trunc nuw i8 %2368 to i1
  br i1 %2369, label %2370, label %2374

2370:                                             ; preds = %2364
  %2371 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2372 = call i32 @fileno(ptr noundef %2371) #11
  %2373 = call i32 @isatty(i32 noundef %2372) #11
  %.not1079 = icmp eq i32 %2373, 0
  br i1 %.not1079, label %2374, label %2375

2374:                                             ; preds = %2370, %2364
  br label %2375

2375:                                             ; preds = %2370, %2374
  %.str.5.sink1899 = phi ptr [ @.str.5, %2374 ], [ @.str.2, %2370 ]
  store i32 %2365, ptr %829, align 4, !tbaa !5
  %2376 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2377 = load i32, ptr @test_count, align 4, !tbaa !5
  %2378 = load i32, ptr %775, align 4, !tbaa !5
  %2379 = call ptr @s2n_strerror(i32 noundef %2378, ptr noundef nonnull @.str.4) #11
  %2380 = load i32, ptr %775, align 4, !tbaa !5
  %2381 = call ptr @s2n_strerror_debug(i32 noundef %2380, ptr noundef nonnull @.str.4) #11
  %2382 = load i32, ptr %829, align 4, !tbaa !5
  %2383 = call ptr @strerror(i32 noundef %2382) #11
  %2384 = load i32, ptr %829, align 4, !tbaa !5
  %2385 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2376, ptr noundef nonnull %.str.5.sink1899, i32 noundef %2377, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 321, ptr noundef %2379, ptr noundef %2381, ptr noundef %2383, i32 noundef %2384) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2386:                                             ; preds = %2359
  call void @llvm.lifetime.start.p0(i64 88, ptr nonnull %47) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(88) %47, i8 0, i64 88, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %48) #11
  %2387 = call ptr @s2n_config_new() #11
  store ptr %2387, ptr %48, align 8, !tbaa !9
  %2388 = load i32, ptr @test_count, align 4, !tbaa !5
  %2389 = add nsw i32 %2388, 1
  store i32 %2389, ptr @test_count, align 4, !tbaa !5
  %2390 = icmp eq ptr %2387, null
  br i1 %2390, label %2391, label %2413

2391:                                             ; preds = %2386
  %2392 = load i32, ptr %829, align 4, !tbaa !5
  %2393 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2394 = call i32 @s2n_print_stacktrace(ptr noundef %2393) #11
  %2395 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2396 = trunc nuw i8 %2395 to i1
  br i1 %2396, label %2397, label %2401

2397:                                             ; preds = %2391
  %2398 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2399 = call i32 @fileno(ptr noundef %2398) #11
  %2400 = call i32 @isatty(i32 noundef %2399) #11
  %.not1078 = icmp eq i32 %2400, 0
  br i1 %.not1078, label %2401, label %2402

2401:                                             ; preds = %2397, %2391
  br label %2402

2402:                                             ; preds = %2397, %2401
  %.str.5.sink1908 = phi ptr [ @.str.5, %2401 ], [ @.str.2, %2397 ]
  store i32 %2392, ptr %829, align 4, !tbaa !5
  %2403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2404 = load i32, ptr @test_count, align 4, !tbaa !5
  %2405 = load i32, ptr %775, align 4, !tbaa !5
  %2406 = call ptr @s2n_strerror(i32 noundef %2405, ptr noundef nonnull @.str.4) #11
  %2407 = load i32, ptr %775, align 4, !tbaa !5
  %2408 = call ptr @s2n_strerror_debug(i32 noundef %2407, ptr noundef nonnull @.str.4) #11
  %2409 = load i32, ptr %829, align 4, !tbaa !5
  %2410 = call ptr @strerror(i32 noundef %2409) #11
  %2411 = load i32, ptr %829, align 4, !tbaa !5
  %2412 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2403, ptr noundef nonnull %.str.5.sink1908, i32 noundef %2404, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 326, ptr noundef %2406, ptr noundef %2408, ptr noundef %2410, i32 noundef %2411) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2413:                                             ; preds = %2386
  %2414 = add nsw i32 %2388, 2
  store i32 %2414, ptr @test_count, align 4, !tbaa !5
  %2415 = call i32 @s2n_config_set_crl_lookup_cb(ptr noundef nonnull %2387, ptr noundef nonnull @crl_lookup_test_callback, ptr noundef nonnull %47) #11
  %2416 = icmp eq i32 %2415, -1
  br i1 %2416, label %2417, label %2439

2417:                                             ; preds = %2413
  %2418 = load i32, ptr %829, align 4, !tbaa !5
  %2419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2420 = call i32 @s2n_print_stacktrace(ptr noundef %2419) #11
  %2421 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2422 = trunc nuw i8 %2421 to i1
  br i1 %2422, label %2423, label %2427

2423:                                             ; preds = %2417
  %2424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2425 = call i32 @fileno(ptr noundef %2424) #11
  %2426 = call i32 @isatty(i32 noundef %2425) #11
  %.not1077 = icmp eq i32 %2426, 0
  br i1 %.not1077, label %2427, label %2428

2427:                                             ; preds = %2423, %2417
  br label %2428

2428:                                             ; preds = %2423, %2427
  %.str.5.sink1917 = phi ptr [ @.str.5, %2427 ], [ @.str.2, %2423 ]
  store i32 %2418, ptr %829, align 4, !tbaa !5
  %2429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2430 = load i32, ptr @test_count, align 4, !tbaa !5
  %2431 = load i32, ptr %775, align 4, !tbaa !5
  %2432 = call ptr @s2n_strerror(i32 noundef %2431, ptr noundef nonnull @.str.4) #11
  %2433 = load i32, ptr %775, align 4, !tbaa !5
  %2434 = call ptr @s2n_strerror_debug(i32 noundef %2433, ptr noundef nonnull @.str.4) #11
  %2435 = load i32, ptr %829, align 4, !tbaa !5
  %2436 = call ptr @strerror(i32 noundef %2435) #11
  %2437 = load i32, ptr %829, align 4, !tbaa !5
  %2438 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2429, ptr noundef nonnull %.str.5.sink1917, i32 noundef %2430, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.1, i32 noundef 327, ptr noundef %2432, ptr noundef %2434, ptr noundef %2436, i32 noundef %2437) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2439:                                             ; preds = %2413
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %49) #11
  %2440 = call ptr @s2n_connection_new(i32 noundef 1) #11
  store ptr %2440, ptr %49, align 8, !tbaa !9
  %2441 = load i32, ptr @test_count, align 4, !tbaa !5
  %2442 = add nsw i32 %2441, 1
  store i32 %2442, ptr @test_count, align 4, !tbaa !5
  %2443 = icmp eq ptr %2440, null
  br i1 %2443, label %2444, label %2466

2444:                                             ; preds = %2439
  %2445 = load i32, ptr %829, align 4, !tbaa !5
  %2446 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2447 = call i32 @s2n_print_stacktrace(ptr noundef %2446) #11
  %2448 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2449 = trunc nuw i8 %2448 to i1
  br i1 %2449, label %2450, label %2454

2450:                                             ; preds = %2444
  %2451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2452 = call i32 @fileno(ptr noundef %2451) #11
  %2453 = call i32 @isatty(i32 noundef %2452) #11
  %.not1076 = icmp eq i32 %2453, 0
  br i1 %.not1076, label %2454, label %2455

2454:                                             ; preds = %2450, %2444
  br label %2455

2455:                                             ; preds = %2450, %2454
  %.str.5.sink1926 = phi ptr [ @.str.5, %2454 ], [ @.str.2, %2450 ]
  store i32 %2445, ptr %829, align 4, !tbaa !5
  %2456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2457 = load i32, ptr @test_count, align 4, !tbaa !5
  %2458 = load i32, ptr %775, align 4, !tbaa !5
  %2459 = call ptr @s2n_strerror(i32 noundef %2458, ptr noundef nonnull @.str.4) #11
  %2460 = load i32, ptr %775, align 4, !tbaa !5
  %2461 = call ptr @s2n_strerror_debug(i32 noundef %2460, ptr noundef nonnull @.str.4) #11
  %2462 = load i32, ptr %829, align 4, !tbaa !5
  %2463 = call ptr @strerror(i32 noundef %2462) #11
  %2464 = load i32, ptr %829, align 4, !tbaa !5
  %2465 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2456, ptr noundef nonnull %.str.5.sink1926, i32 noundef %2457, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 330, ptr noundef %2459, ptr noundef %2461, ptr noundef %2463, i32 noundef %2464) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2466:                                             ; preds = %2439
  %2467 = add nsw i32 %2441, 2
  store i32 %2467, ptr @test_count, align 4, !tbaa !5
  %2468 = load ptr, ptr %48, align 8, !tbaa !9
  %2469 = call i32 @s2n_connection_set_config(ptr noundef nonnull %2440, ptr noundef %2468) #11
  %2470 = icmp eq i32 %2469, -1
  br i1 %2470, label %2471, label %2493

2471:                                             ; preds = %2466
  %2472 = load i32, ptr %829, align 4, !tbaa !5
  %2473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2474 = call i32 @s2n_print_stacktrace(ptr noundef %2473) #11
  %2475 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2476 = trunc nuw i8 %2475 to i1
  br i1 %2476, label %2477, label %2481

2477:                                             ; preds = %2471
  %2478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2479 = call i32 @fileno(ptr noundef %2478) #11
  %2480 = call i32 @isatty(i32 noundef %2479) #11
  %.not1075 = icmp eq i32 %2480, 0
  br i1 %.not1075, label %2481, label %2482

2481:                                             ; preds = %2477, %2471
  br label %2482

2482:                                             ; preds = %2477, %2481
  %.str.5.sink1935 = phi ptr [ @.str.5, %2481 ], [ @.str.2, %2477 ]
  store i32 %2472, ptr %829, align 4, !tbaa !5
  %2483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2484 = load i32, ptr @test_count, align 4, !tbaa !5
  %2485 = load i32, ptr %775, align 4, !tbaa !5
  %2486 = call ptr @s2n_strerror(i32 noundef %2485, ptr noundef nonnull @.str.4) #11
  %2487 = load i32, ptr %775, align 4, !tbaa !5
  %2488 = call ptr @s2n_strerror_debug(i32 noundef %2487, ptr noundef nonnull @.str.4) #11
  %2489 = load i32, ptr %829, align 4, !tbaa !5
  %2490 = call ptr @strerror(i32 noundef %2489) #11
  %2491 = load i32, ptr %829, align 4, !tbaa !5
  %2492 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2483, ptr noundef nonnull %.str.5.sink1935, i32 noundef %2484, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 331, ptr noundef %2486, ptr noundef %2488, ptr noundef %2490, i32 noundef %2491) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2493:                                             ; preds = %2466
  %2494 = load i32, ptr @test_count, align 4, !tbaa !5
  %2495 = add nsw i32 %2494, 1
  store i32 %2495, ptr @test_count, align 4, !tbaa !5
  %2496 = load ptr, ptr %49, align 8, !tbaa !9
  %2497 = call i32 @s2n_set_server_name(ptr noundef %2496, ptr noundef nonnull @.str.39) #11
  %2498 = icmp eq i32 %2497, -1
  br i1 %2498, label %2499, label %2521

2499:                                             ; preds = %2493
  %2500 = load i32, ptr %829, align 4, !tbaa !5
  %2501 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2502 = call i32 @s2n_print_stacktrace(ptr noundef %2501) #11
  %2503 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2504 = trunc nuw i8 %2503 to i1
  br i1 %2504, label %2505, label %2509

2505:                                             ; preds = %2499
  %2506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2507 = call i32 @fileno(ptr noundef %2506) #11
  %2508 = call i32 @isatty(i32 noundef %2507) #11
  %.not1074 = icmp eq i32 %2508, 0
  br i1 %.not1074, label %2509, label %2510

2509:                                             ; preds = %2505, %2499
  br label %2510

2510:                                             ; preds = %2505, %2509
  %.str.5.sink1944 = phi ptr [ @.str.5, %2509 ], [ @.str.2, %2505 ]
  store i32 %2500, ptr %829, align 4, !tbaa !5
  %2511 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2512 = load i32, ptr @test_count, align 4, !tbaa !5
  %2513 = load i32, ptr %775, align 4, !tbaa !5
  %2514 = call ptr @s2n_strerror(i32 noundef %2513, ptr noundef nonnull @.str.4) #11
  %2515 = load i32, ptr %775, align 4, !tbaa !5
  %2516 = call ptr @s2n_strerror_debug(i32 noundef %2515, ptr noundef nonnull @.str.4) #11
  %2517 = load i32, ptr %829, align 4, !tbaa !5
  %2518 = call ptr @strerror(i32 noundef %2517) #11
  %2519 = load i32, ptr %829, align 4, !tbaa !5
  %2520 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2511, ptr noundef nonnull %.str.5.sink1944, i32 noundef %2512, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 332, ptr noundef %2514, ptr noundef %2516, ptr noundef %2518, i32 noundef %2519) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2521:                                             ; preds = %2493
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %50) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %50, i8 0, i64 40, i1 false)
  %2522 = load i32, ptr @test_count, align 4, !tbaa !5
  %2523 = add nsw i32 %2522, 1
  store i32 %2523, ptr @test_count, align 4, !tbaa !5
  %2524 = load ptr, ptr %49, align 8, !tbaa !9
  %2525 = call i32 @s2n_test_cert_chain_data_from_pem(ptr noundef %2524, ptr noundef nonnull @.str.41, ptr noundef nonnull %50) #11
  %2526 = call zeroext i1 @s2n_result_is_ok(i32 %2525)
  br i1 %2526, label %2549, label %2527

2527:                                             ; preds = %2521
  %2528 = load i32, ptr %829, align 4, !tbaa !5
  %2529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2530 = call i32 @s2n_print_stacktrace(ptr noundef %2529) #11
  %2531 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2532 = trunc nuw i8 %2531 to i1
  br i1 %2532, label %2533, label %2537

2533:                                             ; preds = %2527
  %2534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2535 = call i32 @fileno(ptr noundef %2534) #11
  %2536 = call i32 @isatty(i32 noundef %2535) #11
  %.not823 = icmp eq i32 %2536, 0
  br i1 %.not823, label %2537, label %2538

2537:                                             ; preds = %2533, %2527
  br label %2538

2538:                                             ; preds = %2533, %2537
  %.str.5.sink1953 = phi ptr [ @.str.5, %2537 ], [ @.str.2, %2533 ]
  store i32 %2528, ptr %829, align 4, !tbaa !5
  %2539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2540 = load i32, ptr @test_count, align 4, !tbaa !5
  %2541 = load i32, ptr %775, align 4, !tbaa !5
  %2542 = call ptr @s2n_strerror(i32 noundef %2541, ptr noundef nonnull @.str.4) #11
  %2543 = load i32, ptr %775, align 4, !tbaa !5
  %2544 = call ptr @s2n_strerror_debug(i32 noundef %2543, ptr noundef nonnull @.str.4) #11
  %2545 = load i32, ptr %829, align 4, !tbaa !5
  %2546 = call ptr @strerror(i32 noundef %2545) #11
  %2547 = load i32, ptr %829, align 4, !tbaa !5
  %2548 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2539, ptr noundef nonnull %.str.5.sink1953, i32 noundef %2540, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 335, ptr noundef %2542, ptr noundef %2544, ptr noundef %2546, i32 noundef %2547) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2549:                                             ; preds = %2521
  %2550 = getelementptr inbounds i8, ptr %50, i64 28
  %2551 = load i32, ptr %2550, align 4, !tbaa !23
  %2552 = getelementptr inbounds i8, ptr %50, i64 24
  %2553 = load i32, ptr %2552, align 8, !tbaa !26
  %2554 = sub i32 %2551, %2553
  %2555 = call ptr @s2n_stuffer_raw_read(ptr noundef nonnull %50, i32 noundef %2554) #11
  %2556 = load i32, ptr @test_count, align 4, !tbaa !5
  %2557 = add nsw i32 %2556, 1
  store i32 %2557, ptr @test_count, align 4, !tbaa !5
  %2558 = icmp eq ptr %2555, null
  br i1 %2558, label %2559, label %2581

2559:                                             ; preds = %2549
  %2560 = load i32, ptr %829, align 4, !tbaa !5
  %2561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2562 = call i32 @s2n_print_stacktrace(ptr noundef %2561) #11
  %2563 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2564 = trunc nuw i8 %2563 to i1
  br i1 %2564, label %2565, label %2569

2565:                                             ; preds = %2559
  %2566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2567 = call i32 @fileno(ptr noundef %2566) #11
  %2568 = call i32 @isatty(i32 noundef %2567) #11
  %.not1073 = icmp eq i32 %2568, 0
  br i1 %.not1073, label %2569, label %2570

2569:                                             ; preds = %2565, %2559
  br label %2570

2570:                                             ; preds = %2565, %2569
  %.str.5.sink1962 = phi ptr [ @.str.5, %2569 ], [ @.str.2, %2565 ]
  store i32 %2560, ptr %829, align 4, !tbaa !5
  %2571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2572 = load i32, ptr @test_count, align 4, !tbaa !5
  %2573 = load i32, ptr %775, align 4, !tbaa !5
  %2574 = call ptr @s2n_strerror(i32 noundef %2573, ptr noundef nonnull @.str.4) #11
  %2575 = load i32, ptr %775, align 4, !tbaa !5
  %2576 = call ptr @s2n_strerror_debug(i32 noundef %2575, ptr noundef nonnull @.str.4) #11
  %2577 = load i32, ptr %829, align 4, !tbaa !5
  %2578 = call ptr @strerror(i32 noundef %2577) #11
  %2579 = load i32, ptr %829, align 4, !tbaa !5
  %2580 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2571, ptr noundef nonnull %.str.5.sink1962, i32 noundef %2572, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 338, ptr noundef %2574, ptr noundef %2576, ptr noundef %2578, i32 noundef %2579) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2581:                                             ; preds = %2549
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %51) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %51, i8 0, i64 48, i1 false)
  %2582 = add nsw i32 %2556, 2
  store i32 %2582, ptr @test_count, align 4, !tbaa !5
  %2583 = call i32 @s2n_pkey_zero_init(ptr noundef nonnull %51) #11
  %2584 = icmp eq i32 %2583, -1
  br i1 %2584, label %2585, label %2607

2585:                                             ; preds = %2581
  %2586 = load i32, ptr %829, align 4, !tbaa !5
  %2587 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2588 = call i32 @s2n_print_stacktrace(ptr noundef %2587) #11
  %2589 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2590 = trunc nuw i8 %2589 to i1
  br i1 %2590, label %2591, label %2595

2591:                                             ; preds = %2585
  %2592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2593 = call i32 @fileno(ptr noundef %2592) #11
  %2594 = call i32 @isatty(i32 noundef %2593) #11
  %.not1072 = icmp eq i32 %2594, 0
  br i1 %.not1072, label %2595, label %2596

2595:                                             ; preds = %2591, %2585
  br label %2596

2596:                                             ; preds = %2591, %2595
  %.str.5.sink1971 = phi ptr [ @.str.5, %2595 ], [ @.str.2, %2591 ]
  store i32 %2586, ptr %829, align 4, !tbaa !5
  %2597 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2598 = load i32, ptr @test_count, align 4, !tbaa !5
  %2599 = load i32, ptr %775, align 4, !tbaa !5
  %2600 = call ptr @s2n_strerror(i32 noundef %2599, ptr noundef nonnull @.str.4) #11
  %2601 = load i32, ptr %775, align 4, !tbaa !5
  %2602 = call ptr @s2n_strerror_debug(i32 noundef %2601, ptr noundef nonnull @.str.4) #11
  %2603 = load i32, ptr %829, align 4, !tbaa !5
  %2604 = call ptr @strerror(i32 noundef %2603) #11
  %2605 = load i32, ptr %829, align 4, !tbaa !5
  %2606 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2597, ptr noundef nonnull %.str.5.sink1971, i32 noundef %2598, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 341, ptr noundef %2600, ptr noundef %2602, ptr noundef %2604, i32 noundef %2605) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2607:                                             ; preds = %2581
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %52) #11
  store i32 -1, ptr %52, align 4, !tbaa !5
  %2608 = load i32, ptr @test_count, align 4, !tbaa !5
  %2609 = add nsw i32 %2608, 1
  store i32 %2609, ptr @test_count, align 4, !tbaa !5
  %2610 = load ptr, ptr %49, align 8, !tbaa !9
  %2611 = call i32 @s2n_x509_validator_validate_cert_chain(ptr noundef nonnull %46, ptr noundef %2610, ptr noundef nonnull %2555, i32 noundef %2554, ptr noundef nonnull %52, ptr noundef nonnull %51) #11
  %2612 = call zeroext i1 @s2n_result_is_error(i32 %2611)
  br i1 %2612, label %2635, label %2613

2613:                                             ; preds = %2607
  %2614 = load i32, ptr %829, align 4, !tbaa !5
  %2615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2616 = call i32 @s2n_print_stacktrace(ptr noundef %2615) #11
  %2617 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2618 = trunc nuw i8 %2617 to i1
  br i1 %2618, label %2619, label %2623

2619:                                             ; preds = %2613
  %2620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2621 = call i32 @fileno(ptr noundef %2620) #11
  %2622 = call i32 @isatty(i32 noundef %2621) #11
  %.not824 = icmp eq i32 %2622, 0
  br i1 %.not824, label %2623, label %2624

2623:                                             ; preds = %2619, %2613
  br label %2624

2624:                                             ; preds = %2619, %2623
  %.str.5.sink1980 = phi ptr [ @.str.5, %2623 ], [ @.str.2, %2619 ]
  store i32 %2614, ptr %829, align 4, !tbaa !5
  %2625 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2626 = load i32, ptr @test_count, align 4, !tbaa !5
  %2627 = load i32, ptr %775, align 4, !tbaa !5
  %2628 = call ptr @s2n_strerror(i32 noundef %2627, ptr noundef nonnull @.str.4) #11
  %2629 = load i32, ptr %775, align 4, !tbaa !5
  %2630 = call ptr @s2n_strerror_debug(i32 noundef %2629, ptr noundef nonnull @.str.4) #11
  %2631 = load i32, ptr %829, align 4, !tbaa !5
  %2632 = call ptr @strerror(i32 noundef %2631) #11
  %2633 = load i32, ptr %829, align 4, !tbaa !5
  %2634 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2625, ptr noundef nonnull %.str.5.sink1980, i32 noundef %2626, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.1, i32 noundef 345, ptr noundef %2628, ptr noundef %2630, ptr noundef %2632, i32 noundef %2633) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2635:                                             ; preds = %2607
  %2636 = load i32, ptr @test_count, align 4, !tbaa !5
  %2637 = add nsw i32 %2636, 1
  store i32 %2637, ptr @test_count, align 4, !tbaa !5
  %2638 = load i32, ptr %775, align 4, !tbaa !5
  %2639 = icmp eq i32 %2638, 335544374
  br i1 %2639, label %2662, label %2640

2640:                                             ; preds = %2635
  %2641 = load i32, ptr %829, align 4, !tbaa !5
  %2642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2643 = call i32 @s2n_print_stacktrace(ptr noundef %2642) #11
  %2644 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2645 = trunc nuw i8 %2644 to i1
  br i1 %2645, label %2646, label %2650

2646:                                             ; preds = %2640
  %2647 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2648 = call i32 @fileno(ptr noundef %2647) #11
  %2649 = call i32 @isatty(i32 noundef %2648) #11
  %.not825 = icmp eq i32 %2649, 0
  br i1 %.not825, label %2650, label %2651

2650:                                             ; preds = %2646, %2640
  br label %2651

2651:                                             ; preds = %2646, %2650
  %.str.5.sink1989 = phi ptr [ @.str.5, %2650 ], [ @.str.2, %2646 ]
  store i32 %2641, ptr %829, align 4, !tbaa !5
  %2652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2653 = load i32, ptr @test_count, align 4, !tbaa !5
  %2654 = load i32, ptr %775, align 4, !tbaa !5
  %2655 = call ptr @s2n_strerror(i32 noundef %2654, ptr noundef nonnull @.str.4) #11
  %2656 = load i32, ptr %775, align 4, !tbaa !5
  %2657 = call ptr @s2n_strerror_debug(i32 noundef %2656, ptr noundef nonnull @.str.4) #11
  %2658 = load i32, ptr %829, align 4, !tbaa !5
  %2659 = call ptr @strerror(i32 noundef %2658) #11
  %2660 = load i32, ptr %829, align 4, !tbaa !5
  %2661 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2652, ptr noundef nonnull %.str.5.sink1989, i32 noundef %2653, ptr noundef nonnull @.str.59, ptr noundef nonnull @.str.1, i32 noundef 345, ptr noundef %2655, ptr noundef %2657, ptr noundef %2659, i32 noundef %2660) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2662:                                             ; preds = %2635
  %2663 = add nsw i32 %2636, 2
  store i32 %2663, ptr @test_count, align 4, !tbaa !5
  %2664 = call ptr @s2n_strerror_debug(i32 noundef 335544374, ptr noundef nonnull @.str.4) #11
  %2665 = icmp eq ptr %2664, null
  br i1 %2665, label %2666, label %2688

2666:                                             ; preds = %2662
  %2667 = load i32, ptr %829, align 4, !tbaa !5
  %2668 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2669 = call i32 @s2n_print_stacktrace(ptr noundef %2668) #11
  %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) #11
  %2675 = call i32 @isatty(i32 noundef %2674) #11
  %.not1071 = icmp eq i32 %2675, 0
  br i1 %.not1071, label %2676, label %2677

2676:                                             ; preds = %2672, %2666
  br label %2677

2677:                                             ; preds = %2672, %2676
  %.str.5.sink1998 = phi ptr [ @.str.5, %2676 ], [ @.str.2, %2672 ]
  store i32 %2667, ptr %829, 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 %775, align 4, !tbaa !5
  %2681 = call ptr @s2n_strerror(i32 noundef %2680, ptr noundef nonnull @.str.4) #11
  %2682 = load i32, ptr %775, align 4, !tbaa !5
  %2683 = call ptr @s2n_strerror_debug(i32 noundef %2682, ptr noundef nonnull @.str.4) #11
  %2684 = load i32, ptr %829, align 4, !tbaa !5
  %2685 = call ptr @strerror(i32 noundef %2684) #11
  %2686 = load i32, ptr %829, align 4, !tbaa !5
  %2687 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2678, ptr noundef nonnull %.str.5.sink1998, i32 noundef %2679, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 345, ptr noundef %2681, ptr noundef %2683, ptr noundef %2685, i32 noundef %2686) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2688:                                             ; preds = %2662
  store i32 0, ptr %775, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %829, align 4, !tbaa !5
  %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 = getelementptr inbounds i8, ptr %47, i64 80
  %2692 = load i8, ptr %2691, align 8, !tbaa !27
  %2693 = icmp eq i8 %2692, 2
  br i1 %2693, label %2716, label %2694

2694:                                             ; preds = %2688
  %2695 = load i32, ptr %829, align 4, !tbaa !5
  %2696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2697 = call i32 @s2n_print_stacktrace(ptr noundef %2696) #11
  %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) #11
  %2703 = call i32 @isatty(i32 noundef %2702) #11
  %.not826 = icmp eq i32 %2703, 0
  br i1 %.not826, label %2704, label %2705

2704:                                             ; preds = %2700, %2694
  br label %2705

2705:                                             ; preds = %2700, %2704
  %.str.5.sink2007 = phi ptr [ @.str.5, %2704 ], [ @.str.2, %2700 ]
  store i32 %2695, ptr %829, 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 %775, align 4, !tbaa !5
  %2709 = call ptr @s2n_strerror(i32 noundef %2708, ptr noundef nonnull @.str.4) #11
  %2710 = load i32, ptr %775, align 4, !tbaa !5
  %2711 = call ptr @s2n_strerror_debug(i32 noundef %2710, ptr noundef nonnull @.str.4) #11
  %2712 = load i32, ptr %829, align 4, !tbaa !5
  %2713 = call ptr @strerror(i32 noundef %2712) #11
  %2714 = load i32, ptr %829, align 4, !tbaa !5
  %2715 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2706, ptr noundef nonnull %.str.5.sink2007, i32 noundef %2707, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.1, i32 noundef 346, ptr noundef %2709, ptr noundef %2711, ptr noundef %2713, i32 noundef %2714) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2716:                                             ; preds = %2688
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %52) #11
  %2717 = call i32 @s2n_pkey_free(ptr noundef nonnull %51) #11
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %51) #11
  %2718 = call i32 @s2n_stuffer_free(ptr noundef nonnull %50) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %50) #11
  %2719 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %49) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %49) #11
  %2720 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %48) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %48) #11
  call void @llvm.lifetime.end.p0(i64 88, ptr nonnull %47) #11
  %2721 = call i32 @s2n_x509_validator_wipe(ptr noundef nonnull %46) #11
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %46) #11
  call void @llvm.lifetime.end.p0(i64 12000, ptr nonnull %45) #11
  call void @s2n_x509_trust_store_wipe(ptr noundef nonnull %44) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %44) #11
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %53) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %53, i8 0, i64 16, i1 false)
  call void @s2n_x509_trust_store_init_empty(ptr noundef nonnull %53) #11
  call void @llvm.lifetime.start.p0(i64 12000, ptr nonnull %54) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(12000) %54, i8 0, i64 12000, i1 false)
  %2722 = load i32, ptr @test_count, align 4, !tbaa !5
  %2723 = add nsw i32 %2722, 1
  store i32 %2723, ptr @test_count, align 4, !tbaa !5
  %2724 = call i32 @s2n_read_test_pem(ptr noundef nonnull @.str.31, ptr noundef nonnull %54, i64 noundef 12000) #11
  %2725 = icmp eq i32 %2724, -1
  br i1 %2725, label %2726, label %2748

2726:                                             ; preds = %2716
  %2727 = load i32, ptr %829, align 4, !tbaa !5
  %2728 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2729 = call i32 @s2n_print_stacktrace(ptr noundef %2728) #11
  %2730 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2731 = trunc nuw i8 %2730 to i1
  br i1 %2731, label %2732, label %2736

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

2736:                                             ; preds = %2732, %2726
  br label %2737

2737:                                             ; preds = %2732, %2736
  %.str.5.sink2016 = phi ptr [ @.str.5, %2736 ], [ @.str.2, %2732 ]
  store i32 %2727, ptr %829, align 4, !tbaa !5
  %2738 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2739 = load i32, ptr @test_count, align 4, !tbaa !5
  %2740 = load i32, ptr %775, align 4, !tbaa !5
  %2741 = call ptr @s2n_strerror(i32 noundef %2740, ptr noundef nonnull @.str.4) #11
  %2742 = load i32, ptr %775, align 4, !tbaa !5
  %2743 = call ptr @s2n_strerror_debug(i32 noundef %2742, ptr noundef nonnull @.str.4) #11
  %2744 = load i32, ptr %829, align 4, !tbaa !5
  %2745 = call ptr @strerror(i32 noundef %2744) #11
  %2746 = load i32, ptr %829, align 4, !tbaa !5
  %2747 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2738, ptr noundef nonnull %.str.5.sink2016, i32 noundef %2739, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 355, ptr noundef %2741, ptr noundef %2743, ptr noundef %2745, i32 noundef %2746) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2748:                                             ; preds = %2716
  %2749 = load i32, ptr @test_count, align 4, !tbaa !5
  %2750 = add nsw i32 %2749, 1
  store i32 %2750, ptr @test_count, align 4, !tbaa !5
  %2751 = call i32 @s2n_x509_trust_store_add_pem(ptr noundef nonnull %53, ptr noundef nonnull %54) #11
  %2752 = icmp eq i32 %2751, -1
  br i1 %2752, label %2753, label %2775

2753:                                             ; preds = %2748
  %2754 = load i32, ptr %829, align 4, !tbaa !5
  %2755 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2756 = call i32 @s2n_print_stacktrace(ptr noundef %2755) #11
  %2757 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2758 = trunc nuw i8 %2757 to i1
  br i1 %2758, label %2759, label %2763

2759:                                             ; preds = %2753
  %2760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2761 = call i32 @fileno(ptr noundef %2760) #11
  %2762 = call i32 @isatty(i32 noundef %2761) #11
  %.not1069 = icmp eq i32 %2762, 0
  br i1 %.not1069, label %2763, label %2764

2763:                                             ; preds = %2759, %2753
  br label %2764

2764:                                             ; preds = %2759, %2763
  %.str.5.sink2025 = phi ptr [ @.str.5, %2763 ], [ @.str.2, %2759 ]
  store i32 %2754, ptr %829, align 4, !tbaa !5
  %2765 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2766 = load i32, ptr @test_count, align 4, !tbaa !5
  %2767 = load i32, ptr %775, align 4, !tbaa !5
  %2768 = call ptr @s2n_strerror(i32 noundef %2767, ptr noundef nonnull @.str.4) #11
  %2769 = load i32, ptr %775, align 4, !tbaa !5
  %2770 = call ptr @s2n_strerror_debug(i32 noundef %2769, ptr noundef nonnull @.str.4) #11
  %2771 = load i32, ptr %829, align 4, !tbaa !5
  %2772 = call ptr @strerror(i32 noundef %2771) #11
  %2773 = load i32, ptr %829, align 4, !tbaa !5
  %2774 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2765, ptr noundef nonnull %.str.5.sink2025, i32 noundef %2766, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 356, ptr noundef %2768, ptr noundef %2770, ptr noundef %2772, i32 noundef %2773) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2775:                                             ; preds = %2748
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %55) #11
  %2776 = load i32, ptr @test_count, align 4, !tbaa !5
  %2777 = add nsw i32 %2776, 1
  store i32 %2777, ptr @test_count, align 4, !tbaa !5
  %2778 = call i32 @s2n_x509_validator_init(ptr noundef nonnull %55, ptr noundef nonnull %53, i8 noundef zeroext 0) #11
  %2779 = icmp eq i32 %2778, -1
  br i1 %2779, label %2780, label %2802

2780:                                             ; preds = %2775
  %2781 = load i32, ptr %829, align 4, !tbaa !5
  %2782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2783 = call i32 @s2n_print_stacktrace(ptr noundef %2782) #11
  %2784 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2785 = trunc nuw i8 %2784 to i1
  br i1 %2785, label %2786, label %2790

2786:                                             ; preds = %2780
  %2787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2788 = call i32 @fileno(ptr noundef %2787) #11
  %2789 = call i32 @isatty(i32 noundef %2788) #11
  %.not1068 = icmp eq i32 %2789, 0
  br i1 %.not1068, label %2790, label %2791

2790:                                             ; preds = %2786, %2780
  br label %2791

2791:                                             ; preds = %2786, %2790
  %.str.5.sink2034 = phi ptr [ @.str.5, %2790 ], [ @.str.2, %2786 ]
  store i32 %2781, ptr %829, align 4, !tbaa !5
  %2792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2793 = load i32, ptr @test_count, align 4, !tbaa !5
  %2794 = load i32, ptr %775, align 4, !tbaa !5
  %2795 = call ptr @s2n_strerror(i32 noundef %2794, ptr noundef nonnull @.str.4) #11
  %2796 = load i32, ptr %775, align 4, !tbaa !5
  %2797 = call ptr @s2n_strerror_debug(i32 noundef %2796, ptr noundef nonnull @.str.4) #11
  %2798 = load i32, ptr %829, align 4, !tbaa !5
  %2799 = call ptr @strerror(i32 noundef %2798) #11
  %2800 = load i32, ptr %829, align 4, !tbaa !5
  %2801 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2792, ptr noundef nonnull %.str.5.sink2034, i32 noundef %2793, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 359, ptr noundef %2795, ptr noundef %2797, ptr noundef %2799, i32 noundef %2800) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2802:                                             ; preds = %2775
  call void @llvm.lifetime.start.p0(i64 88, ptr nonnull %56) #11
  %2803 = getelementptr inbounds i8, ptr %56, i64 24
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(88) %2803, i8 0, i64 64, i1 false)
  store ptr %939, ptr %56, align 8, !tbaa !9
  %2804 = getelementptr inbounds i8, ptr %56, i64 8
  store ptr %912, ptr %2804, align 8, !tbaa !9
  %2805 = getelementptr inbounds i8, ptr %56, i64 16
  store ptr null, ptr %2805, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %57) #11
  %2806 = call ptr @s2n_config_new() #11
  store ptr %2806, ptr %57, align 8, !tbaa !9
  %2807 = load i32, ptr @test_count, align 4, !tbaa !5
  %2808 = add nsw i32 %2807, 1
  store i32 %2808, ptr @test_count, align 4, !tbaa !5
  %2809 = icmp eq ptr %2806, null
  br i1 %2809, label %2810, label %2832

2810:                                             ; preds = %2802
  %2811 = load i32, ptr %829, align 4, !tbaa !5
  %2812 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2813 = call i32 @s2n_print_stacktrace(ptr noundef %2812) #11
  %2814 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2815 = trunc nuw i8 %2814 to i1
  br i1 %2815, label %2816, label %2820

2816:                                             ; preds = %2810
  %2817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2818 = call i32 @fileno(ptr noundef %2817) #11
  %2819 = call i32 @isatty(i32 noundef %2818) #11
  %.not1067 = icmp eq i32 %2819, 0
  br i1 %.not1067, label %2820, label %2821

2820:                                             ; preds = %2816, %2810
  br label %2821

2821:                                             ; preds = %2816, %2820
  %.str.5.sink2043 = phi ptr [ @.str.5, %2820 ], [ @.str.2, %2816 ]
  store i32 %2811, ptr %829, align 4, !tbaa !5
  %2822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2823 = load i32, ptr @test_count, align 4, !tbaa !5
  %2824 = load i32, ptr %775, align 4, !tbaa !5
  %2825 = call ptr @s2n_strerror(i32 noundef %2824, ptr noundef nonnull @.str.4) #11
  %2826 = load i32, ptr %775, align 4, !tbaa !5
  %2827 = call ptr @s2n_strerror_debug(i32 noundef %2826, ptr noundef nonnull @.str.4) #11
  %2828 = load i32, ptr %829, align 4, !tbaa !5
  %2829 = call ptr @strerror(i32 noundef %2828) #11
  %2830 = load i32, ptr %829, align 4, !tbaa !5
  %2831 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2822, ptr noundef nonnull %.str.5.sink2043, i32 noundef %2823, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 369, ptr noundef %2825, ptr noundef %2827, ptr noundef %2829, i32 noundef %2830) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2832:                                             ; preds = %2802
  %2833 = add nsw i32 %2807, 2
  store i32 %2833, ptr @test_count, align 4, !tbaa !5
  %2834 = call i32 @s2n_config_set_crl_lookup_cb(ptr noundef nonnull %2806, ptr noundef nonnull @crl_lookup_test_callback, ptr noundef nonnull %56) #11
  %2835 = icmp eq i32 %2834, -1
  br i1 %2835, label %2836, label %2858

2836:                                             ; preds = %2832
  %2837 = load i32, ptr %829, align 4, !tbaa !5
  %2838 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2839 = call i32 @s2n_print_stacktrace(ptr noundef %2838) #11
  %2840 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2841 = trunc nuw i8 %2840 to i1
  br i1 %2841, label %2842, label %2846

2842:                                             ; preds = %2836
  %2843 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2844 = call i32 @fileno(ptr noundef %2843) #11
  %2845 = call i32 @isatty(i32 noundef %2844) #11
  %.not1066 = icmp eq i32 %2845, 0
  br i1 %.not1066, label %2846, label %2847

2846:                                             ; preds = %2842, %2836
  br label %2847

2847:                                             ; preds = %2842, %2846
  %.str.5.sink2052 = phi ptr [ @.str.5, %2846 ], [ @.str.2, %2842 ]
  store i32 %2837, ptr %829, align 4, !tbaa !5
  %2848 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2849 = load i32, ptr @test_count, align 4, !tbaa !5
  %2850 = load i32, ptr %775, align 4, !tbaa !5
  %2851 = call ptr @s2n_strerror(i32 noundef %2850, ptr noundef nonnull @.str.4) #11
  %2852 = load i32, ptr %775, align 4, !tbaa !5
  %2853 = call ptr @s2n_strerror_debug(i32 noundef %2852, ptr noundef nonnull @.str.4) #11
  %2854 = load i32, ptr %829, align 4, !tbaa !5
  %2855 = call ptr @strerror(i32 noundef %2854) #11
  %2856 = load i32, ptr %829, align 4, !tbaa !5
  %2857 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2848, ptr noundef nonnull %.str.5.sink2052, i32 noundef %2849, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.1, i32 noundef 370, ptr noundef %2851, ptr noundef %2853, ptr noundef %2855, i32 noundef %2856) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2858:                                             ; preds = %2832
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %58) #11
  %2859 = call ptr @s2n_connection_new(i32 noundef 1) #11
  store ptr %2859, ptr %58, align 8, !tbaa !9
  %2860 = load i32, ptr @test_count, align 4, !tbaa !5
  %2861 = add nsw i32 %2860, 1
  store i32 %2861, ptr @test_count, align 4, !tbaa !5
  %2862 = icmp eq ptr %2859, null
  br i1 %2862, label %2863, label %2885

2863:                                             ; preds = %2858
  %2864 = load i32, ptr %829, align 4, !tbaa !5
  %2865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2866 = call i32 @s2n_print_stacktrace(ptr noundef %2865) #11
  %2867 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2868 = trunc nuw i8 %2867 to i1
  br i1 %2868, label %2869, label %2873

2869:                                             ; preds = %2863
  %2870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2871 = call i32 @fileno(ptr noundef %2870) #11
  %2872 = call i32 @isatty(i32 noundef %2871) #11
  %.not1065 = icmp eq i32 %2872, 0
  br i1 %.not1065, label %2873, label %2874

2873:                                             ; preds = %2869, %2863
  br label %2874

2874:                                             ; preds = %2869, %2873
  %.str.5.sink2061 = phi ptr [ @.str.5, %2873 ], [ @.str.2, %2869 ]
  store i32 %2864, ptr %829, align 4, !tbaa !5
  %2875 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2876 = load i32, ptr @test_count, align 4, !tbaa !5
  %2877 = load i32, ptr %775, align 4, !tbaa !5
  %2878 = call ptr @s2n_strerror(i32 noundef %2877, ptr noundef nonnull @.str.4) #11
  %2879 = load i32, ptr %775, align 4, !tbaa !5
  %2880 = call ptr @s2n_strerror_debug(i32 noundef %2879, ptr noundef nonnull @.str.4) #11
  %2881 = load i32, ptr %829, align 4, !tbaa !5
  %2882 = call ptr @strerror(i32 noundef %2881) #11
  %2883 = load i32, ptr %829, align 4, !tbaa !5
  %2884 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2875, ptr noundef nonnull %.str.5.sink2061, i32 noundef %2876, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 373, ptr noundef %2878, ptr noundef %2880, ptr noundef %2882, i32 noundef %2883) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2885:                                             ; preds = %2858
  %2886 = add nsw i32 %2860, 2
  store i32 %2886, ptr @test_count, align 4, !tbaa !5
  %2887 = load ptr, ptr %57, align 8, !tbaa !9
  %2888 = call i32 @s2n_connection_set_config(ptr noundef nonnull %2859, ptr noundef %2887) #11
  %2889 = icmp eq i32 %2888, -1
  br i1 %2889, label %2890, label %2912

2890:                                             ; preds = %2885
  %2891 = load i32, ptr %829, align 4, !tbaa !5
  %2892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2893 = call i32 @s2n_print_stacktrace(ptr noundef %2892) #11
  %2894 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2895 = trunc nuw i8 %2894 to i1
  br i1 %2895, label %2896, label %2900

2896:                                             ; preds = %2890
  %2897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2898 = call i32 @fileno(ptr noundef %2897) #11
  %2899 = call i32 @isatty(i32 noundef %2898) #11
  %.not1064 = icmp eq i32 %2899, 0
  br i1 %.not1064, label %2900, label %2901

2900:                                             ; preds = %2896, %2890
  br label %2901

2901:                                             ; preds = %2896, %2900
  %.str.5.sink2070 = phi ptr [ @.str.5, %2900 ], [ @.str.2, %2896 ]
  store i32 %2891, ptr %829, align 4, !tbaa !5
  %2902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2903 = load i32, ptr @test_count, align 4, !tbaa !5
  %2904 = load i32, ptr %775, align 4, !tbaa !5
  %2905 = call ptr @s2n_strerror(i32 noundef %2904, ptr noundef nonnull @.str.4) #11
  %2906 = load i32, ptr %775, align 4, !tbaa !5
  %2907 = call ptr @s2n_strerror_debug(i32 noundef %2906, ptr noundef nonnull @.str.4) #11
  %2908 = load i32, ptr %829, align 4, !tbaa !5
  %2909 = call ptr @strerror(i32 noundef %2908) #11
  %2910 = load i32, ptr %829, align 4, !tbaa !5
  %2911 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2902, ptr noundef nonnull %.str.5.sink2070, i32 noundef %2903, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 374, ptr noundef %2905, ptr noundef %2907, ptr noundef %2909, i32 noundef %2910) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2912:                                             ; preds = %2885
  %2913 = load i32, ptr @test_count, align 4, !tbaa !5
  %2914 = add nsw i32 %2913, 1
  store i32 %2914, ptr @test_count, align 4, !tbaa !5
  %2915 = load ptr, ptr %58, align 8, !tbaa !9
  %2916 = call i32 @s2n_set_server_name(ptr noundef %2915, ptr noundef nonnull @.str.39) #11
  %2917 = icmp eq i32 %2916, -1
  br i1 %2917, label %2918, label %2940

2918:                                             ; preds = %2912
  %2919 = load i32, ptr %829, align 4, !tbaa !5
  %2920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2921 = call i32 @s2n_print_stacktrace(ptr noundef %2920) #11
  %2922 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2923 = trunc nuw i8 %2922 to i1
  br i1 %2923, label %2924, label %2928

2924:                                             ; preds = %2918
  %2925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2926 = call i32 @fileno(ptr noundef %2925) #11
  %2927 = call i32 @isatty(i32 noundef %2926) #11
  %.not1063 = icmp eq i32 %2927, 0
  br i1 %.not1063, label %2928, label %2929

2928:                                             ; preds = %2924, %2918
  br label %2929

2929:                                             ; preds = %2924, %2928
  %.str.5.sink2079 = phi ptr [ @.str.5, %2928 ], [ @.str.2, %2924 ]
  store i32 %2919, ptr %829, align 4, !tbaa !5
  %2930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2931 = load i32, ptr @test_count, align 4, !tbaa !5
  %2932 = load i32, ptr %775, align 4, !tbaa !5
  %2933 = call ptr @s2n_strerror(i32 noundef %2932, ptr noundef nonnull @.str.4) #11
  %2934 = load i32, ptr %775, align 4, !tbaa !5
  %2935 = call ptr @s2n_strerror_debug(i32 noundef %2934, ptr noundef nonnull @.str.4) #11
  %2936 = load i32, ptr %829, align 4, !tbaa !5
  %2937 = call ptr @strerror(i32 noundef %2936) #11
  %2938 = load i32, ptr %829, align 4, !tbaa !5
  %2939 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2930, ptr noundef nonnull %.str.5.sink2079, i32 noundef %2931, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 375, ptr noundef %2933, ptr noundef %2935, ptr noundef %2937, i32 noundef %2938) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2940:                                             ; preds = %2912
  call void @llvm.lifetime.start.p0(i64 24000, ptr nonnull %59) #11
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %60) #11
  store i32 0, ptr %60, align 4, !tbaa !5
  %2941 = load i32, ptr @test_count, align 4, !tbaa !5
  %2942 = add nsw i32 %2941, 1
  store i32 %2942, ptr @test_count, align 4, !tbaa !5
  %2943 = call i32 @s2n_read_test_pem_and_len(ptr noundef nonnull @.str.41, ptr noundef nonnull %59, ptr noundef nonnull %60, i64 noundef 12000) #11
  %2944 = icmp eq i32 %2943, -1
  br i1 %2944, label %2945, label %2967

2945:                                             ; preds = %2940
  %2946 = load i32, ptr %829, align 4, !tbaa !5
  %2947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2948 = call i32 @s2n_print_stacktrace(ptr noundef %2947) #11
  %2949 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2950 = trunc nuw i8 %2949 to i1
  br i1 %2950, label %2951, label %2955

2951:                                             ; preds = %2945
  %2952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2953 = call i32 @fileno(ptr noundef %2952) #11
  %2954 = call i32 @isatty(i32 noundef %2953) #11
  %.not1062 = icmp eq i32 %2954, 0
  br i1 %.not1062, label %2955, label %2956

2955:                                             ; preds = %2951, %2945
  br label %2956

2956:                                             ; preds = %2951, %2955
  %.str.5.sink2088 = phi ptr [ @.str.5, %2955 ], [ @.str.2, %2951 ]
  store i32 %2946, ptr %829, align 4, !tbaa !5
  %2957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2958 = load i32, ptr @test_count, align 4, !tbaa !5
  %2959 = load i32, ptr %775, align 4, !tbaa !5
  %2960 = call ptr @s2n_strerror(i32 noundef %2959, ptr noundef nonnull @.str.4) #11
  %2961 = load i32, ptr %775, align 4, !tbaa !5
  %2962 = call ptr @s2n_strerror_debug(i32 noundef %2961, ptr noundef nonnull @.str.4) #11
  %2963 = load i32, ptr %829, align 4, !tbaa !5
  %2964 = call ptr @strerror(i32 noundef %2963) #11
  %2965 = load i32, ptr %829, align 4, !tbaa !5
  %2966 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2957, ptr noundef nonnull %.str.5.sink2088, i32 noundef %2958, ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.1, i32 noundef 380, ptr noundef %2960, ptr noundef %2962, ptr noundef %2964, i32 noundef %2965) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2967:                                             ; preds = %2940
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %61) #11
  store i32 0, ptr %61, align 4, !tbaa !5
  %2968 = load i32, ptr @test_count, align 4, !tbaa !5
  %2969 = add nsw i32 %2968, 1
  store i32 %2969, ptr @test_count, align 4, !tbaa !5
  %2970 = load i32, ptr %60, align 4, !tbaa !5
  %2971 = zext i32 %2970 to i64
  %2972 = getelementptr inbounds i8, ptr %59, i64 %2971
  %2973 = call i32 @s2n_read_test_pem_and_len(ptr noundef nonnull @.str.61, ptr noundef nonnull %2972, ptr noundef nonnull %61, i64 noundef 12000) #11
  %2974 = icmp eq i32 %2973, -1
  br i1 %2974, label %2975, label %2997

2975:                                             ; preds = %2967
  %2976 = load i32, ptr %829, align 4, !tbaa !5
  %2977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2978 = call i32 @s2n_print_stacktrace(ptr noundef %2977) #11
  %2979 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2980 = trunc nuw i8 %2979 to i1
  br i1 %2980, label %2981, label %2985

2981:                                             ; preds = %2975
  %2982 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2983 = call i32 @fileno(ptr noundef %2982) #11
  %2984 = call i32 @isatty(i32 noundef %2983) #11
  %.not1061 = icmp eq i32 %2984, 0
  br i1 %.not1061, label %2985, label %2986

2985:                                             ; preds = %2981, %2975
  br label %2986

2986:                                             ; preds = %2981, %2985
  %.str.5.sink2097 = phi ptr [ @.str.5, %2985 ], [ @.str.2, %2981 ]
  store i32 %2976, ptr %829, align 4, !tbaa !5
  %2987 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2988 = load i32, ptr @test_count, align 4, !tbaa !5
  %2989 = load i32, ptr %775, align 4, !tbaa !5
  %2990 = call ptr @s2n_strerror(i32 noundef %2989, ptr noundef nonnull @.str.4) #11
  %2991 = load i32, ptr %775, align 4, !tbaa !5
  %2992 = call ptr @s2n_strerror_debug(i32 noundef %2991, ptr noundef nonnull @.str.4) #11
  %2993 = load i32, ptr %829, align 4, !tbaa !5
  %2994 = call ptr @strerror(i32 noundef %2993) #11
  %2995 = load i32, ptr %829, align 4, !tbaa !5
  %2996 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2987, ptr noundef nonnull %.str.5.sink2097, i32 noundef %2988, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.1, i32 noundef 385, ptr noundef %2990, ptr noundef %2992, ptr noundef %2994, i32 noundef %2995) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2997:                                             ; preds = %2967
  %2998 = load i32, ptr %60, align 4, !tbaa !5
  %2999 = load i32, ptr %61, align 4, !tbaa !5
  %3000 = add i32 %2999, %2998
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %62) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %62, i8 0, i64 40, i1 false)
  %3001 = load i32, ptr @test_count, align 4, !tbaa !5
  %3002 = add nsw i32 %3001, 1
  store i32 %3002, ptr @test_count, align 4, !tbaa !5
  %3003 = load ptr, ptr %58, align 8, !tbaa !9
  %3004 = call i32 @s2n_test_cert_chain_data_from_pem_data(ptr noundef %3003, ptr noundef nonnull %59, i32 noundef %3000, ptr noundef nonnull %62) #11
  %3005 = call zeroext i1 @s2n_result_is_ok(i32 %3004)
  br i1 %3005, label %3028, label %3006

3006:                                             ; preds = %2997
  %3007 = load i32, ptr %829, align 4, !tbaa !5
  %3008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3009 = call i32 @s2n_print_stacktrace(ptr noundef %3008) #11
  %3010 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3011 = trunc nuw i8 %3010 to i1
  br i1 %3011, label %3012, label %3016

3012:                                             ; preds = %3006
  %3013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3014 = call i32 @fileno(ptr noundef %3013) #11
  %3015 = call i32 @isatty(i32 noundef %3014) #11
  %.not827 = icmp eq i32 %3015, 0
  br i1 %.not827, label %3016, label %3017

3016:                                             ; preds = %3012, %3006
  br label %3017

3017:                                             ; preds = %3012, %3016
  %.str.5.sink2106 = phi ptr [ @.str.5, %3016 ], [ @.str.2, %3012 ]
  store i32 %3007, ptr %829, align 4, !tbaa !5
  %3018 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3019 = load i32, ptr @test_count, align 4, !tbaa !5
  %3020 = load i32, ptr %775, align 4, !tbaa !5
  %3021 = call ptr @s2n_strerror(i32 noundef %3020, ptr noundef nonnull @.str.4) #11
  %3022 = load i32, ptr %775, align 4, !tbaa !5
  %3023 = call ptr @s2n_strerror_debug(i32 noundef %3022, ptr noundef nonnull @.str.4) #11
  %3024 = load i32, ptr %829, align 4, !tbaa !5
  %3025 = call ptr @strerror(i32 noundef %3024) #11
  %3026 = load i32, ptr %829, align 4, !tbaa !5
  %3027 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3018, ptr noundef nonnull %.str.5.sink2106, i32 noundef %3019, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.1, i32 noundef 390, ptr noundef %3021, ptr noundef %3023, ptr noundef %3025, i32 noundef %3026) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3028:                                             ; preds = %2997
  %3029 = getelementptr inbounds i8, ptr %62, i64 28
  %3030 = load i32, ptr %3029, align 4, !tbaa !23
  %3031 = getelementptr inbounds i8, ptr %62, i64 24
  %3032 = load i32, ptr %3031, align 8, !tbaa !26
  %3033 = sub i32 %3030, %3032
  %3034 = call ptr @s2n_stuffer_raw_read(ptr noundef nonnull %62, i32 noundef %3033) #11
  %3035 = load i32, ptr @test_count, align 4, !tbaa !5
  %3036 = add nsw i32 %3035, 1
  store i32 %3036, ptr @test_count, align 4, !tbaa !5
  %3037 = icmp eq ptr %3034, null
  br i1 %3037, label %3038, label %3060

3038:                                             ; preds = %3028
  %3039 = load i32, ptr %829, align 4, !tbaa !5
  %3040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3041 = call i32 @s2n_print_stacktrace(ptr noundef %3040) #11
  %3042 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3043 = trunc nuw i8 %3042 to i1
  br i1 %3043, label %3044, label %3048

3044:                                             ; preds = %3038
  %3045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3046 = call i32 @fileno(ptr noundef %3045) #11
  %3047 = call i32 @isatty(i32 noundef %3046) #11
  %.not1060 = icmp eq i32 %3047, 0
  br i1 %.not1060, label %3048, label %3049

3048:                                             ; preds = %3044, %3038
  br label %3049

3049:                                             ; preds = %3044, %3048
  %.str.5.sink2115 = phi ptr [ @.str.5, %3048 ], [ @.str.2, %3044 ]
  store i32 %3039, ptr %829, align 4, !tbaa !5
  %3050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3051 = load i32, ptr @test_count, align 4, !tbaa !5
  %3052 = load i32, ptr %775, align 4, !tbaa !5
  %3053 = call ptr @s2n_strerror(i32 noundef %3052, ptr noundef nonnull @.str.4) #11
  %3054 = load i32, ptr %775, align 4, !tbaa !5
  %3055 = call ptr @s2n_strerror_debug(i32 noundef %3054, ptr noundef nonnull @.str.4) #11
  %3056 = load i32, ptr %829, align 4, !tbaa !5
  %3057 = call ptr @strerror(i32 noundef %3056) #11
  %3058 = load i32, ptr %829, align 4, !tbaa !5
  %3059 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3050, ptr noundef nonnull %.str.5.sink2115, i32 noundef %3051, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 393, ptr noundef %3053, ptr noundef %3055, ptr noundef %3057, i32 noundef %3058) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3060:                                             ; preds = %3028
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %63) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %63, i8 0, i64 48, i1 false)
  %3061 = add nsw i32 %3035, 2
  store i32 %3061, ptr @test_count, align 4, !tbaa !5
  %3062 = call i32 @s2n_pkey_zero_init(ptr noundef nonnull %63) #11
  %3063 = icmp eq i32 %3062, -1
  br i1 %3063, label %3064, label %3086

3064:                                             ; preds = %3060
  %3065 = load i32, ptr %829, align 4, !tbaa !5
  %3066 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3067 = call i32 @s2n_print_stacktrace(ptr noundef %3066) #11
  %3068 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3069 = trunc nuw i8 %3068 to i1
  br i1 %3069, label %3070, label %3074

3070:                                             ; preds = %3064
  %3071 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3072 = call i32 @fileno(ptr noundef %3071) #11
  %3073 = call i32 @isatty(i32 noundef %3072) #11
  %.not1059 = icmp eq i32 %3073, 0
  br i1 %.not1059, label %3074, label %3075

3074:                                             ; preds = %3070, %3064
  br label %3075

3075:                                             ; preds = %3070, %3074
  %.str.5.sink2124 = phi ptr [ @.str.5, %3074 ], [ @.str.2, %3070 ]
  store i32 %3065, ptr %829, align 4, !tbaa !5
  %3076 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3077 = load i32, ptr @test_count, align 4, !tbaa !5
  %3078 = load i32, ptr %775, align 4, !tbaa !5
  %3079 = call ptr @s2n_strerror(i32 noundef %3078, ptr noundef nonnull @.str.4) #11
  %3080 = load i32, ptr %775, align 4, !tbaa !5
  %3081 = call ptr @s2n_strerror_debug(i32 noundef %3080, ptr noundef nonnull @.str.4) #11
  %3082 = load i32, ptr %829, align 4, !tbaa !5
  %3083 = call ptr @strerror(i32 noundef %3082) #11
  %3084 = load i32, ptr %829, align 4, !tbaa !5
  %3085 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3076, ptr noundef nonnull %.str.5.sink2124, i32 noundef %3077, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 396, ptr noundef %3079, ptr noundef %3081, ptr noundef %3083, i32 noundef %3084) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3086:                                             ; preds = %3060
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %64) #11
  store i32 -1, ptr %64, align 4, !tbaa !5
  %3087 = load i32, ptr @test_count, align 4, !tbaa !5
  %3088 = add nsw i32 %3087, 1
  store i32 %3088, ptr @test_count, align 4, !tbaa !5
  %3089 = load ptr, ptr %58, align 8, !tbaa !9
  %3090 = call i32 @s2n_x509_validator_validate_cert_chain(ptr noundef nonnull %55, ptr noundef %3089, ptr noundef nonnull %3034, i32 noundef %3033, ptr noundef nonnull %64, ptr noundef nonnull %63) #11
  %3091 = call zeroext i1 @s2n_result_is_ok(i32 %3090)
  br i1 %3091, label %3114, label %3092

3092:                                             ; preds = %3086
  %3093 = load i32, ptr %829, align 4, !tbaa !5
  %3094 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3095 = call i32 @s2n_print_stacktrace(ptr noundef %3094) #11
  %3096 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3097 = trunc nuw i8 %3096 to i1
  br i1 %3097, label %3098, label %3102

3098:                                             ; preds = %3092
  %3099 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3100 = call i32 @fileno(ptr noundef %3099) #11
  %3101 = call i32 @isatty(i32 noundef %3100) #11
  %.not828 = icmp eq i32 %3101, 0
  br i1 %.not828, label %3102, label %3103

3102:                                             ; preds = %3098, %3092
  br label %3103

3103:                                             ; preds = %3098, %3102
  %.str.5.sink2133 = phi ptr [ @.str.5, %3102 ], [ @.str.2, %3098 ]
  store i32 %3093, ptr %829, align 4, !tbaa !5
  %3104 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3105 = load i32, ptr @test_count, align 4, !tbaa !5
  %3106 = load i32, ptr %775, align 4, !tbaa !5
  %3107 = call ptr @s2n_strerror(i32 noundef %3106, ptr noundef nonnull @.str.4) #11
  %3108 = load i32, ptr %775, align 4, !tbaa !5
  %3109 = call ptr @s2n_strerror_debug(i32 noundef %3108, ptr noundef nonnull @.str.4) #11
  %3110 = load i32, ptr %829, align 4, !tbaa !5
  %3111 = call ptr @strerror(i32 noundef %3110) #11
  %3112 = load i32, ptr %829, align 4, !tbaa !5
  %3113 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3104, ptr noundef nonnull %.str.5.sink2133, i32 noundef %3105, ptr noundef nonnull @.str.64, ptr noundef nonnull @.str.1, i32 noundef 399, ptr noundef %3107, ptr noundef %3109, ptr noundef %3111, i32 noundef %3112) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3114:                                             ; preds = %3086
  %3115 = load i32, ptr @test_count, align 4, !tbaa !5
  %3116 = add nsw i32 %3115, 1
  store i32 %3116, ptr @test_count, align 4, !tbaa !5
  %3117 = getelementptr inbounds i8, ptr %56, i64 80
  %3118 = load i8, ptr %3117, align 8, !tbaa !27
  %3119 = icmp eq i8 %3118, 3
  br i1 %3119, label %3142, label %3120

3120:                                             ; preds = %3114
  %3121 = load i32, ptr %829, align 4, !tbaa !5
  %3122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3123 = call i32 @s2n_print_stacktrace(ptr noundef %3122) #11
  %3124 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3125 = trunc nuw i8 %3124 to i1
  br i1 %3125, label %3126, label %3130

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

3130:                                             ; preds = %3126, %3120
  br label %3131

3131:                                             ; preds = %3126, %3130
  %.str.5.sink2142 = phi ptr [ @.str.5, %3130 ], [ @.str.2, %3126 ]
  store i32 %3121, ptr %829, align 4, !tbaa !5
  %3132 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3133 = load i32, ptr @test_count, align 4, !tbaa !5
  %3134 = load i32, ptr %775, align 4, !tbaa !5
  %3135 = call ptr @s2n_strerror(i32 noundef %3134, ptr noundef nonnull @.str.4) #11
  %3136 = load i32, ptr %775, align 4, !tbaa !5
  %3137 = call ptr @s2n_strerror_debug(i32 noundef %3136, ptr noundef nonnull @.str.4) #11
  %3138 = load i32, ptr %829, align 4, !tbaa !5
  %3139 = call ptr @strerror(i32 noundef %3138) #11
  %3140 = load i32, ptr %829, align 4, !tbaa !5
  %3141 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3132, ptr noundef nonnull %.str.5.sink2142, i32 noundef %3133, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.1, i32 noundef 400, ptr noundef %3135, ptr noundef %3137, ptr noundef %3139, i32 noundef %3140) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3142:                                             ; preds = %3114
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %64) #11
  %3143 = call i32 @s2n_pkey_free(ptr noundef nonnull %63) #11
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %63) #11
  %3144 = call i32 @s2n_stuffer_free(ptr noundef nonnull %62) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %62) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %61) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %60) #11
  call void @llvm.lifetime.end.p0(i64 24000, ptr nonnull %59) #11
  %3145 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %58) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %58) #11
  %3146 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %57) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %57) #11
  call void @llvm.lifetime.end.p0(i64 88, ptr nonnull %56) #11
  %3147 = call i32 @s2n_x509_validator_wipe(ptr noundef nonnull %55) #11
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %55) #11
  call void @llvm.lifetime.end.p0(i64 12000, ptr nonnull %54) #11
  call void @s2n_x509_trust_store_wipe(ptr noundef nonnull %53) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %53) #11
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %65) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %65, i8 0, i64 16, i1 false)
  call void @s2n_x509_trust_store_init_empty(ptr noundef nonnull %65) #11
  call void @llvm.lifetime.start.p0(i64 12000, ptr nonnull %66) #11
  %3148 = load i32, ptr @test_count, align 4, !tbaa !5
  %3149 = add nsw i32 %3148, 1
  store i32 %3149, ptr @test_count, align 4, !tbaa !5
  %3150 = call i32 @s2n_read_test_pem(ptr noundef nonnull @.str.31, ptr noundef nonnull %66, i64 noundef 12000) #11
  %3151 = icmp eq i32 %3150, -1
  br i1 %3151, label %3152, label %3174

3152:                                             ; preds = %3142
  %3153 = load i32, ptr %829, align 4, !tbaa !5
  %3154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3155 = call i32 @s2n_print_stacktrace(ptr noundef %3154) #11
  %3156 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3157 = trunc nuw i8 %3156 to i1
  br i1 %3157, label %3158, label %3162

3158:                                             ; preds = %3152
  %3159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3160 = call i32 @fileno(ptr noundef %3159) #11
  %3161 = call i32 @isatty(i32 noundef %3160) #11
  %.not1058 = icmp eq i32 %3161, 0
  br i1 %.not1058, label %3162, label %3163

3162:                                             ; preds = %3158, %3152
  br label %3163

3163:                                             ; preds = %3158, %3162
  %.str.5.sink2151 = phi ptr [ @.str.5, %3162 ], [ @.str.2, %3158 ]
  store i32 %3153, ptr %829, align 4, !tbaa !5
  %3164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3165 = load i32, ptr @test_count, align 4, !tbaa !5
  %3166 = load i32, ptr %775, align 4, !tbaa !5
  %3167 = call ptr @s2n_strerror(i32 noundef %3166, ptr noundef nonnull @.str.4) #11
  %3168 = load i32, ptr %775, align 4, !tbaa !5
  %3169 = call ptr @s2n_strerror_debug(i32 noundef %3168, ptr noundef nonnull @.str.4) #11
  %3170 = load i32, ptr %829, align 4, !tbaa !5
  %3171 = call ptr @strerror(i32 noundef %3170) #11
  %3172 = load i32, ptr %829, align 4, !tbaa !5
  %3173 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3164, ptr noundef nonnull %.str.5.sink2151, i32 noundef %3165, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 409, ptr noundef %3167, ptr noundef %3169, ptr noundef %3171, i32 noundef %3172) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3174:                                             ; preds = %3142
  %3175 = load i32, ptr @test_count, align 4, !tbaa !5
  %3176 = add nsw i32 %3175, 1
  store i32 %3176, ptr @test_count, align 4, !tbaa !5
  %3177 = call i32 @s2n_x509_trust_store_add_pem(ptr noundef nonnull %65, ptr noundef nonnull %66) #11
  %3178 = icmp eq i32 %3177, -1
  br i1 %3178, label %3179, label %3201

3179:                                             ; preds = %3174
  %3180 = load i32, ptr %829, align 4, !tbaa !5
  %3181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3182 = call i32 @s2n_print_stacktrace(ptr noundef %3181) #11
  %3183 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3184 = trunc nuw i8 %3183 to i1
  br i1 %3184, label %3185, label %3189

3185:                                             ; preds = %3179
  %3186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3187 = call i32 @fileno(ptr noundef %3186) #11
  %3188 = call i32 @isatty(i32 noundef %3187) #11
  %.not1057 = icmp eq i32 %3188, 0
  br i1 %.not1057, label %3189, label %3190

3189:                                             ; preds = %3185, %3179
  br label %3190

3190:                                             ; preds = %3185, %3189
  %.str.5.sink2160 = phi ptr [ @.str.5, %3189 ], [ @.str.2, %3185 ]
  store i32 %3180, ptr %829, align 4, !tbaa !5
  %3191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3192 = load i32, ptr @test_count, align 4, !tbaa !5
  %3193 = load i32, ptr %775, align 4, !tbaa !5
  %3194 = call ptr @s2n_strerror(i32 noundef %3193, ptr noundef nonnull @.str.4) #11
  %3195 = load i32, ptr %775, align 4, !tbaa !5
  %3196 = call ptr @s2n_strerror_debug(i32 noundef %3195, ptr noundef nonnull @.str.4) #11
  %3197 = load i32, ptr %829, align 4, !tbaa !5
  %3198 = call ptr @strerror(i32 noundef %3197) #11
  %3199 = load i32, ptr %829, align 4, !tbaa !5
  %3200 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3191, ptr noundef nonnull %.str.5.sink2160, i32 noundef %3192, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 410, ptr noundef %3194, ptr noundef %3196, ptr noundef %3198, i32 noundef %3199) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3201:                                             ; preds = %3174
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %67) #11
  %3202 = load i32, ptr @test_count, align 4, !tbaa !5
  %3203 = add nsw i32 %3202, 1
  store i32 %3203, ptr @test_count, align 4, !tbaa !5
  %3204 = call i32 @s2n_x509_validator_init(ptr noundef nonnull %67, ptr noundef nonnull %65, i8 noundef zeroext 0) #11
  %3205 = icmp eq i32 %3204, -1
  br i1 %3205, label %3206, label %3228

3206:                                             ; preds = %3201
  %3207 = load i32, ptr %829, align 4, !tbaa !5
  %3208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3209 = call i32 @s2n_print_stacktrace(ptr noundef %3208) #11
  %3210 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3211 = trunc nuw i8 %3210 to i1
  br i1 %3211, label %3212, label %3216

3212:                                             ; preds = %3206
  %3213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3214 = call i32 @fileno(ptr noundef %3213) #11
  %3215 = call i32 @isatty(i32 noundef %3214) #11
  %.not1056 = icmp eq i32 %3215, 0
  br i1 %.not1056, label %3216, label %3217

3216:                                             ; preds = %3212, %3206
  br label %3217

3217:                                             ; preds = %3212, %3216
  %.str.5.sink2169 = phi ptr [ @.str.5, %3216 ], [ @.str.2, %3212 ]
  store i32 %3207, ptr %829, align 4, !tbaa !5
  %3218 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3219 = load i32, ptr @test_count, align 4, !tbaa !5
  %3220 = load i32, ptr %775, align 4, !tbaa !5
  %3221 = call ptr @s2n_strerror(i32 noundef %3220, ptr noundef nonnull @.str.4) #11
  %3222 = load i32, ptr %775, align 4, !tbaa !5
  %3223 = call ptr @s2n_strerror_debug(i32 noundef %3222, ptr noundef nonnull @.str.4) #11
  %3224 = load i32, ptr %829, align 4, !tbaa !5
  %3225 = call ptr @strerror(i32 noundef %3224) #11
  %3226 = load i32, ptr %829, align 4, !tbaa !5
  %3227 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3218, ptr noundef nonnull %.str.5.sink2169, i32 noundef %3219, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 413, ptr noundef %3221, ptr noundef %3223, ptr noundef %3225, i32 noundef %3226) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3228:                                             ; preds = %3201
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %68) #11
  %3229 = call ptr @s2n_config_new() #11
  store ptr %3229, ptr %68, align 8, !tbaa !9
  %3230 = load i32, ptr @test_count, align 4, !tbaa !5
  %3231 = add nsw i32 %3230, 1
  store i32 %3231, ptr @test_count, align 4, !tbaa !5
  %3232 = icmp eq ptr %3229, null
  br i1 %3232, label %3233, label %3255

3233:                                             ; preds = %3228
  %3234 = load i32, ptr %829, align 4, !tbaa !5
  %3235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3236 = call i32 @s2n_print_stacktrace(ptr noundef %3235) #11
  %3237 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3238 = trunc nuw i8 %3237 to i1
  br i1 %3238, label %3239, label %3243

3239:                                             ; preds = %3233
  %3240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3241 = call i32 @fileno(ptr noundef %3240) #11
  %3242 = call i32 @isatty(i32 noundef %3241) #11
  %.not1055 = icmp eq i32 %3242, 0
  br i1 %.not1055, label %3243, label %3244

3243:                                             ; preds = %3239, %3233
  br label %3244

3244:                                             ; preds = %3239, %3243
  %.str.5.sink2178 = phi ptr [ @.str.5, %3243 ], [ @.str.2, %3239 ]
  store i32 %3234, ptr %829, align 4, !tbaa !5
  %3245 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3246 = load i32, ptr @test_count, align 4, !tbaa !5
  %3247 = load i32, ptr %775, align 4, !tbaa !5
  %3248 = call ptr @s2n_strerror(i32 noundef %3247, ptr noundef nonnull @.str.4) #11
  %3249 = load i32, ptr %775, align 4, !tbaa !5
  %3250 = call ptr @s2n_strerror_debug(i32 noundef %3249, ptr noundef nonnull @.str.4) #11
  %3251 = load i32, ptr %829, align 4, !tbaa !5
  %3252 = call ptr @strerror(i32 noundef %3251) #11
  %3253 = load i32, ptr %829, align 4, !tbaa !5
  %3254 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3245, ptr noundef nonnull %.str.5.sink2178, i32 noundef %3246, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 416, ptr noundef %3248, ptr noundef %3250, ptr noundef %3252, i32 noundef %3253) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3255:                                             ; preds = %3228
  %3256 = add nsw i32 %3230, 2
  store i32 %3256, ptr @test_count, align 4, !tbaa !5
  %3257 = call i32 @s2n_config_set_crl_lookup_cb(ptr noundef nonnull %3229, ptr noundef nonnull @crl_lookup_noop, ptr noundef null) #11
  %3258 = icmp eq i32 %3257, -1
  br i1 %3258, label %3259, label %3281

3259:                                             ; preds = %3255
  %3260 = load i32, ptr %829, align 4, !tbaa !5
  %3261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3262 = call i32 @s2n_print_stacktrace(ptr noundef %3261) #11
  %3263 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3264 = trunc nuw i8 %3263 to i1
  br i1 %3264, label %3265, label %3269

3265:                                             ; preds = %3259
  %3266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3267 = call i32 @fileno(ptr noundef %3266) #11
  %3268 = call i32 @isatty(i32 noundef %3267) #11
  %.not1054 = icmp eq i32 %3268, 0
  br i1 %.not1054, label %3269, label %3270

3269:                                             ; preds = %3265, %3259
  br label %3270

3270:                                             ; preds = %3265, %3269
  %.str.5.sink2187 = phi ptr [ @.str.5, %3269 ], [ @.str.2, %3265 ]
  store i32 %3260, ptr %829, align 4, !tbaa !5
  %3271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3272 = load i32, ptr @test_count, align 4, !tbaa !5
  %3273 = load i32, ptr %775, align 4, !tbaa !5
  %3274 = call ptr @s2n_strerror(i32 noundef %3273, ptr noundef nonnull @.str.4) #11
  %3275 = load i32, ptr %775, align 4, !tbaa !5
  %3276 = call ptr @s2n_strerror_debug(i32 noundef %3275, ptr noundef nonnull @.str.4) #11
  %3277 = load i32, ptr %829, align 4, !tbaa !5
  %3278 = call ptr @strerror(i32 noundef %3277) #11
  %3279 = load i32, ptr %829, align 4, !tbaa !5
  %3280 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3271, ptr noundef nonnull %.str.5.sink2187, i32 noundef %3272, ptr noundef nonnull @.str.66, ptr noundef nonnull @.str.1, i32 noundef 417, ptr noundef %3274, ptr noundef %3276, ptr noundef %3278, i32 noundef %3279) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3281:                                             ; preds = %3255
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %69) #11
  %3282 = call ptr @s2n_connection_new(i32 noundef 1) #11
  store ptr %3282, ptr %69, align 8, !tbaa !9
  %3283 = load i32, ptr @test_count, align 4, !tbaa !5
  %3284 = add nsw i32 %3283, 1
  store i32 %3284, ptr @test_count, align 4, !tbaa !5
  %3285 = icmp eq ptr %3282, null
  br i1 %3285, label %3286, label %3308

3286:                                             ; preds = %3281
  %3287 = load i32, ptr %829, align 4, !tbaa !5
  %3288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3289 = call i32 @s2n_print_stacktrace(ptr noundef %3288) #11
  %3290 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3291 = trunc nuw i8 %3290 to i1
  br i1 %3291, label %3292, label %3296

3292:                                             ; preds = %3286
  %3293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3294 = call i32 @fileno(ptr noundef %3293) #11
  %3295 = call i32 @isatty(i32 noundef %3294) #11
  %.not1053 = icmp eq i32 %3295, 0
  br i1 %.not1053, label %3296, label %3297

3296:                                             ; preds = %3292, %3286
  br label %3297

3297:                                             ; preds = %3292, %3296
  %.str.5.sink2196 = phi ptr [ @.str.5, %3296 ], [ @.str.2, %3292 ]
  store i32 %3287, ptr %829, align 4, !tbaa !5
  %3298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3299 = load i32, ptr @test_count, align 4, !tbaa !5
  %3300 = load i32, ptr %775, align 4, !tbaa !5
  %3301 = call ptr @s2n_strerror(i32 noundef %3300, ptr noundef nonnull @.str.4) #11
  %3302 = load i32, ptr %775, align 4, !tbaa !5
  %3303 = call ptr @s2n_strerror_debug(i32 noundef %3302, ptr noundef nonnull @.str.4) #11
  %3304 = load i32, ptr %829, align 4, !tbaa !5
  %3305 = call ptr @strerror(i32 noundef %3304) #11
  %3306 = load i32, ptr %829, align 4, !tbaa !5
  %3307 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3298, ptr noundef nonnull %.str.5.sink2196, i32 noundef %3299, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 420, ptr noundef %3301, ptr noundef %3303, ptr noundef %3305, i32 noundef %3306) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3308:                                             ; preds = %3281
  %3309 = add nsw i32 %3283, 2
  store i32 %3309, ptr @test_count, align 4, !tbaa !5
  %3310 = load ptr, ptr %68, align 8, !tbaa !9
  %3311 = call i32 @s2n_connection_set_config(ptr noundef nonnull %3282, ptr noundef %3310) #11
  %3312 = icmp eq i32 %3311, -1
  br i1 %3312, label %3313, label %3335

3313:                                             ; preds = %3308
  %3314 = load i32, ptr %829, align 4, !tbaa !5
  %3315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3316 = call i32 @s2n_print_stacktrace(ptr noundef %3315) #11
  %3317 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3318 = trunc nuw i8 %3317 to i1
  br i1 %3318, label %3319, label %3323

3319:                                             ; preds = %3313
  %3320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3321 = call i32 @fileno(ptr noundef %3320) #11
  %3322 = call i32 @isatty(i32 noundef %3321) #11
  %.not1052 = icmp eq i32 %3322, 0
  br i1 %.not1052, label %3323, label %3324

3323:                                             ; preds = %3319, %3313
  br label %3324

3324:                                             ; preds = %3319, %3323
  %.str.5.sink2205 = phi ptr [ @.str.5, %3323 ], [ @.str.2, %3319 ]
  store i32 %3314, ptr %829, align 4, !tbaa !5
  %3325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3326 = load i32, ptr @test_count, align 4, !tbaa !5
  %3327 = load i32, ptr %775, align 4, !tbaa !5
  %3328 = call ptr @s2n_strerror(i32 noundef %3327, ptr noundef nonnull @.str.4) #11
  %3329 = load i32, ptr %775, align 4, !tbaa !5
  %3330 = call ptr @s2n_strerror_debug(i32 noundef %3329, ptr noundef nonnull @.str.4) #11
  %3331 = load i32, ptr %829, align 4, !tbaa !5
  %3332 = call ptr @strerror(i32 noundef %3331) #11
  %3333 = load i32, ptr %829, align 4, !tbaa !5
  %3334 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3325, ptr noundef nonnull %.str.5.sink2205, i32 noundef %3326, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 421, ptr noundef %3328, ptr noundef %3330, ptr noundef %3332, i32 noundef %3333) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3335:                                             ; preds = %3308
  %3336 = load i32, ptr @test_count, align 4, !tbaa !5
  %3337 = add nsw i32 %3336, 1
  store i32 %3337, ptr @test_count, align 4, !tbaa !5
  %3338 = load ptr, ptr %69, align 8, !tbaa !9
  %3339 = call i32 @s2n_set_server_name(ptr noundef %3338, ptr noundef nonnull @.str.39) #11
  %3340 = icmp eq i32 %3339, -1
  br i1 %3340, label %3341, label %3363

3341:                                             ; preds = %3335
  %3342 = load i32, ptr %829, align 4, !tbaa !5
  %3343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3344 = call i32 @s2n_print_stacktrace(ptr noundef %3343) #11
  %3345 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3346 = trunc nuw i8 %3345 to i1
  br i1 %3346, label %3347, label %3351

3347:                                             ; preds = %3341
  %3348 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3349 = call i32 @fileno(ptr noundef %3348) #11
  %3350 = call i32 @isatty(i32 noundef %3349) #11
  %.not1051 = icmp eq i32 %3350, 0
  br i1 %.not1051, label %3351, label %3352

3351:                                             ; preds = %3347, %3341
  br label %3352

3352:                                             ; preds = %3347, %3351
  %.str.5.sink2214 = phi ptr [ @.str.5, %3351 ], [ @.str.2, %3347 ]
  store i32 %3342, ptr %829, align 4, !tbaa !5
  %3353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3354 = load i32, ptr @test_count, align 4, !tbaa !5
  %3355 = load i32, ptr %775, align 4, !tbaa !5
  %3356 = call ptr @s2n_strerror(i32 noundef %3355, ptr noundef nonnull @.str.4) #11
  %3357 = load i32, ptr %775, align 4, !tbaa !5
  %3358 = call ptr @s2n_strerror_debug(i32 noundef %3357, ptr noundef nonnull @.str.4) #11
  %3359 = load i32, ptr %829, align 4, !tbaa !5
  %3360 = call ptr @strerror(i32 noundef %3359) #11
  %3361 = load i32, ptr %829, align 4, !tbaa !5
  %3362 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3353, ptr noundef nonnull %.str.5.sink2214, i32 noundef %3354, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 422, ptr noundef %3356, ptr noundef %3358, ptr noundef %3360, i32 noundef %3361) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3363:                                             ; preds = %3335
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %70) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %70, i8 0, i64 40, i1 false)
  %3364 = load i32, ptr @test_count, align 4, !tbaa !5
  %3365 = add nsw i32 %3364, 1
  store i32 %3365, ptr @test_count, align 4, !tbaa !5
  %3366 = load ptr, ptr %69, align 8, !tbaa !9
  %3367 = call i32 @s2n_test_cert_chain_data_from_pem(ptr noundef %3366, ptr noundef nonnull @.str.41, ptr noundef nonnull %70) #11
  %3368 = call zeroext i1 @s2n_result_is_ok(i32 %3367)
  br i1 %3368, label %3391, label %3369

3369:                                             ; preds = %3363
  %3370 = load i32, ptr %829, align 4, !tbaa !5
  %3371 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3372 = call i32 @s2n_print_stacktrace(ptr noundef %3371) #11
  %3373 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3374 = trunc nuw i8 %3373 to i1
  br i1 %3374, label %3375, label %3379

3375:                                             ; preds = %3369
  %3376 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3377 = call i32 @fileno(ptr noundef %3376) #11
  %3378 = call i32 @isatty(i32 noundef %3377) #11
  %.not830 = icmp eq i32 %3378, 0
  br i1 %.not830, label %3379, label %3380

3379:                                             ; preds = %3375, %3369
  br label %3380

3380:                                             ; preds = %3375, %3379
  %.str.5.sink2223 = phi ptr [ @.str.5, %3379 ], [ @.str.2, %3375 ]
  store i32 %3370, ptr %829, align 4, !tbaa !5
  %3381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3382 = load i32, ptr @test_count, align 4, !tbaa !5
  %3383 = load i32, ptr %775, align 4, !tbaa !5
  %3384 = call ptr @s2n_strerror(i32 noundef %3383, ptr noundef nonnull @.str.4) #11
  %3385 = load i32, ptr %775, align 4, !tbaa !5
  %3386 = call ptr @s2n_strerror_debug(i32 noundef %3385, ptr noundef nonnull @.str.4) #11
  %3387 = load i32, ptr %829, align 4, !tbaa !5
  %3388 = call ptr @strerror(i32 noundef %3387) #11
  %3389 = load i32, ptr %829, align 4, !tbaa !5
  %3390 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3381, ptr noundef nonnull %.str.5.sink2223, i32 noundef %3382, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 425, ptr noundef %3384, ptr noundef %3386, ptr noundef %3388, i32 noundef %3389) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3391:                                             ; preds = %3363
  %3392 = getelementptr inbounds i8, ptr %70, i64 28
  %3393 = load i32, ptr %3392, align 4, !tbaa !23
  %3394 = getelementptr inbounds i8, ptr %70, i64 24
  %3395 = load i32, ptr %3394, align 8, !tbaa !26
  %3396 = sub i32 %3393, %3395
  %3397 = call ptr @s2n_stuffer_raw_read(ptr noundef nonnull %70, i32 noundef %3396) #11
  %3398 = load i32, ptr @test_count, align 4, !tbaa !5
  %3399 = add nsw i32 %3398, 1
  store i32 %3399, ptr @test_count, align 4, !tbaa !5
  %3400 = icmp eq ptr %3397, null
  br i1 %3400, label %3401, label %3423

3401:                                             ; preds = %3391
  %3402 = load i32, ptr %829, align 4, !tbaa !5
  %3403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3404 = call i32 @s2n_print_stacktrace(ptr noundef %3403) #11
  %3405 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3406 = trunc nuw i8 %3405 to i1
  br i1 %3406, label %3407, label %3411

3407:                                             ; preds = %3401
  %3408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3409 = call i32 @fileno(ptr noundef %3408) #11
  %3410 = call i32 @isatty(i32 noundef %3409) #11
  %.not1050 = icmp eq i32 %3410, 0
  br i1 %.not1050, label %3411, label %3412

3411:                                             ; preds = %3407, %3401
  br label %3412

3412:                                             ; preds = %3407, %3411
  %.str.5.sink2232 = phi ptr [ @.str.5, %3411 ], [ @.str.2, %3407 ]
  store i32 %3402, ptr %829, align 4, !tbaa !5
  %3413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3414 = load i32, ptr @test_count, align 4, !tbaa !5
  %3415 = load i32, ptr %775, align 4, !tbaa !5
  %3416 = call ptr @s2n_strerror(i32 noundef %3415, ptr noundef nonnull @.str.4) #11
  %3417 = load i32, ptr %775, align 4, !tbaa !5
  %3418 = call ptr @s2n_strerror_debug(i32 noundef %3417, ptr noundef nonnull @.str.4) #11
  %3419 = load i32, ptr %829, align 4, !tbaa !5
  %3420 = call ptr @strerror(i32 noundef %3419) #11
  %3421 = load i32, ptr %829, align 4, !tbaa !5
  %3422 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3413, ptr noundef nonnull %.str.5.sink2232, i32 noundef %3414, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 428, ptr noundef %3416, ptr noundef %3418, ptr noundef %3420, i32 noundef %3421) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3423:                                             ; preds = %3391
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %71) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %71, i8 0, i64 48, i1 false)
  %3424 = add nsw i32 %3398, 2
  store i32 %3424, ptr @test_count, align 4, !tbaa !5
  %3425 = call i32 @s2n_pkey_zero_init(ptr noundef nonnull %71) #11
  %3426 = icmp eq i32 %3425, -1
  br i1 %3426, label %3427, label %3449

3427:                                             ; preds = %3423
  %3428 = load i32, ptr %829, align 4, !tbaa !5
  %3429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3430 = call i32 @s2n_print_stacktrace(ptr noundef %3429) #11
  %3431 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3432 = trunc nuw i8 %3431 to i1
  br i1 %3432, label %3433, label %3437

3433:                                             ; preds = %3427
  %3434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3435 = call i32 @fileno(ptr noundef %3434) #11
  %3436 = call i32 @isatty(i32 noundef %3435) #11
  %.not1049 = icmp eq i32 %3436, 0
  br i1 %.not1049, label %3437, label %3438

3437:                                             ; preds = %3433, %3427
  br label %3438

3438:                                             ; preds = %3433, %3437
  %.str.5.sink2241 = phi ptr [ @.str.5, %3437 ], [ @.str.2, %3433 ]
  store i32 %3428, ptr %829, align 4, !tbaa !5
  %3439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3440 = load i32, ptr @test_count, align 4, !tbaa !5
  %3441 = load i32, ptr %775, align 4, !tbaa !5
  %3442 = call ptr @s2n_strerror(i32 noundef %3441, ptr noundef nonnull @.str.4) #11
  %3443 = load i32, ptr %775, align 4, !tbaa !5
  %3444 = call ptr @s2n_strerror_debug(i32 noundef %3443, ptr noundef nonnull @.str.4) #11
  %3445 = load i32, ptr %829, align 4, !tbaa !5
  %3446 = call ptr @strerror(i32 noundef %3445) #11
  %3447 = load i32, ptr %829, align 4, !tbaa !5
  %3448 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3439, ptr noundef nonnull %.str.5.sink2241, i32 noundef %3440, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 431, ptr noundef %3442, ptr noundef %3444, ptr noundef %3446, i32 noundef %3447) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3449:                                             ; preds = %3423
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %72) #11
  store i32 -1, ptr %72, align 4, !tbaa !5
  br label %3457

3450:                                             ; preds = %3538
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %73) #11
  store ptr null, ptr %73, align 8, !tbaa !9
  %3451 = load i32, ptr @test_count, align 4, !tbaa !5
  %3452 = add nsw i32 %3451, 1
  store i32 %3452, ptr @test_count, align 4, !tbaa !5
  %3453 = getelementptr inbounds i8, ptr %67, i64 40
  %3454 = load ptr, ptr %3453, align 8, !tbaa !31
  %3455 = call i32 @s2n_array_get(ptr noundef %3454, i32 noundef 0, ptr noundef nonnull %73) #11
  %3456 = call zeroext i1 @s2n_result_is_ok(i32 %3455)
  br i1 %3456, label %3562, label %3540

3457:                                             ; preds = %3449, %3538
  %.07861150 = phi i32 [ 0, %3449 ], [ %3539, %3538 ]
  %3458 = load i32, ptr @test_count, align 4, !tbaa !5
  %3459 = add nsw i32 %3458, 1
  store i32 %3459, ptr @test_count, align 4, !tbaa !5
  %3460 = load ptr, ptr %69, align 8, !tbaa !9
  %3461 = call i32 @s2n_x509_validator_validate_cert_chain(ptr noundef nonnull %67, ptr noundef %3460, ptr noundef nonnull %3397, i32 noundef %3396, ptr noundef nonnull %72, ptr noundef nonnull %71) #11
  %3462 = call zeroext i1 @s2n_result_is_error(i32 %3461)
  br i1 %3462, label %3485, label %3463

3463:                                             ; preds = %3457
  %3464 = load i32, ptr %829, align 4, !tbaa !5
  %3465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3466 = call i32 @s2n_print_stacktrace(ptr noundef %3465) #11
  %3467 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3468 = trunc nuw i8 %3467 to i1
  br i1 %3468, label %3469, label %3473

3469:                                             ; preds = %3463
  %3470 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3471 = call i32 @fileno(ptr noundef %3470) #11
  %3472 = call i32 @isatty(i32 noundef %3471) #11
  %.not1046 = icmp eq i32 %3472, 0
  br i1 %.not1046, label %3473, label %3474

3473:                                             ; preds = %3469, %3463
  br label %3474

3474:                                             ; preds = %3469, %3473
  %.str.5.sink2250 = phi ptr [ @.str.5, %3473 ], [ @.str.2, %3469 ]
  store i32 %3464, ptr %829, align 4, !tbaa !5
  %3475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3476 = load i32, ptr @test_count, align 4, !tbaa !5
  %3477 = load i32, ptr %775, align 4, !tbaa !5
  %3478 = call ptr @s2n_strerror(i32 noundef %3477, ptr noundef nonnull @.str.4) #11
  %3479 = load i32, ptr %775, align 4, !tbaa !5
  %3480 = call ptr @s2n_strerror_debug(i32 noundef %3479, ptr noundef nonnull @.str.4) #11
  %3481 = load i32, ptr %829, align 4, !tbaa !5
  %3482 = call ptr @strerror(i32 noundef %3481) #11
  %3483 = load i32, ptr %829, align 4, !tbaa !5
  %3484 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3475, ptr noundef nonnull %.str.5.sink2250, i32 noundef %3476, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.1, i32 noundef 438, ptr noundef %3478, ptr noundef %3480, ptr noundef %3482, i32 noundef %3483) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3485:                                             ; preds = %3457
  %3486 = load i32, ptr @test_count, align 4, !tbaa !5
  %3487 = add nsw i32 %3486, 1
  store i32 %3487, ptr @test_count, align 4, !tbaa !5
  %3488 = load i32, ptr %775, align 4, !tbaa !5
  %3489 = icmp eq i32 %3488, 201326593
  br i1 %3489, label %3512, label %3490

3490:                                             ; preds = %3485
  %3491 = load i32, ptr %829, align 4, !tbaa !5
  %3492 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3493 = call i32 @s2n_print_stacktrace(ptr noundef %3492) #11
  %3494 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3495 = trunc nuw i8 %3494 to i1
  br i1 %3495, label %3496, label %3500

3496:                                             ; preds = %3490
  %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
  %.not1047 = icmp eq i32 %3499, 0
  br i1 %.not1047, label %3500, label %3501

3500:                                             ; preds = %3496, %3490
  br label %3501

3501:                                             ; preds = %3496, %3500
  %.str.5.sink2259 = phi ptr [ @.str.5, %3500 ], [ @.str.2, %3496 ]
  store i32 %3491, ptr %829, align 4, !tbaa !5
  %3502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3503 = load i32, ptr @test_count, align 4, !tbaa !5
  %3504 = load i32, ptr %775, align 4, !tbaa !5
  %3505 = call ptr @s2n_strerror(i32 noundef %3504, ptr noundef nonnull @.str.4) #11
  %3506 = load i32, ptr %775, align 4, !tbaa !5
  %3507 = call ptr @s2n_strerror_debug(i32 noundef %3506, ptr noundef nonnull @.str.4) #11
  %3508 = load i32, ptr %829, align 4, !tbaa !5
  %3509 = call ptr @strerror(i32 noundef %3508) #11
  %3510 = load i32, ptr %829, align 4, !tbaa !5
  %3511 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3502, ptr noundef nonnull %.str.5.sink2259, i32 noundef %3503, ptr noundef nonnull @.str.67, ptr noundef nonnull @.str.1, i32 noundef 438, ptr noundef %3505, ptr noundef %3507, ptr noundef %3509, i32 noundef %3510) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3512:                                             ; preds = %3485
  %3513 = add nsw i32 %3486, 2
  store i32 %3513, ptr @test_count, align 4, !tbaa !5
  %3514 = call ptr @s2n_strerror_debug(i32 noundef 201326593, ptr noundef nonnull @.str.4) #11
  %3515 = icmp eq ptr %3514, null
  br i1 %3515, label %3516, label %3538

3516:                                             ; preds = %3512
  %3517 = load i32, ptr %829, align 4, !tbaa !5
  %3518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3519 = call i32 @s2n_print_stacktrace(ptr noundef %3518) #11
  %3520 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3521 = trunc nuw i8 %3520 to i1
  br i1 %3521, label %3522, label %3526

3522:                                             ; preds = %3516
  %3523 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3524 = call i32 @fileno(ptr noundef %3523) #11
  %3525 = call i32 @isatty(i32 noundef %3524) #11
  %.not1048 = icmp eq i32 %3525, 0
  br i1 %.not1048, label %3526, label %3527

3526:                                             ; preds = %3522, %3516
  br label %3527

3527:                                             ; preds = %3522, %3526
  %.str.5.sink2268 = phi ptr [ @.str.5, %3526 ], [ @.str.2, %3522 ]
  store i32 %3517, ptr %829, align 4, !tbaa !5
  %3528 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3529 = load i32, ptr @test_count, align 4, !tbaa !5
  %3530 = load i32, ptr %775, align 4, !tbaa !5
  %3531 = call ptr @s2n_strerror(i32 noundef %3530, ptr noundef nonnull @.str.4) #11
  %3532 = load i32, ptr %775, align 4, !tbaa !5
  %3533 = call ptr @s2n_strerror_debug(i32 noundef %3532, ptr noundef nonnull @.str.4) #11
  %3534 = load i32, ptr %829, align 4, !tbaa !5
  %3535 = call ptr @strerror(i32 noundef %3534) #11
  %3536 = load i32, ptr %829, align 4, !tbaa !5
  %3537 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3528, ptr noundef nonnull %.str.5.sink2268, i32 noundef %3529, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 438, ptr noundef %3531, ptr noundef %3533, ptr noundef %3535, i32 noundef %3536) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3538:                                             ; preds = %3512
  store i32 0, ptr %775, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %829, align 4, !tbaa !5
  %3539 = add nuw nsw i32 %.07861150, 1
  %exitcond.not = icmp eq i32 %3539, 10
  br i1 %exitcond.not, label %3450, label %3457, !llvm.loop !35

3540:                                             ; preds = %3450
  %3541 = load i32, ptr %829, align 4, !tbaa !5
  %3542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3543 = call i32 @s2n_print_stacktrace(ptr noundef %3542) #11
  %3544 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3545 = trunc nuw i8 %3544 to i1
  br i1 %3545, label %3546, label %3550

3546:                                             ; preds = %3540
  %3547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3548 = call i32 @fileno(ptr noundef %3547) #11
  %3549 = call i32 @isatty(i32 noundef %3548) #11
  %.not831 = icmp eq i32 %3549, 0
  br i1 %.not831, label %3550, label %3551

3550:                                             ; preds = %3546, %3540
  br label %3551

3551:                                             ; preds = %3546, %3550
  %.str.5.sink2277 = phi ptr [ @.str.5, %3550 ], [ @.str.2, %3546 ]
  store i32 %3541, ptr %829, align 4, !tbaa !5
  %3552 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3553 = load i32, ptr @test_count, align 4, !tbaa !5
  %3554 = load i32, ptr %775, align 4, !tbaa !5
  %3555 = call ptr @s2n_strerror(i32 noundef %3554, ptr noundef nonnull @.str.4) #11
  %3556 = load i32, ptr %775, align 4, !tbaa !5
  %3557 = call ptr @s2n_strerror_debug(i32 noundef %3556, ptr noundef nonnull @.str.4) #11
  %3558 = load i32, ptr %829, align 4, !tbaa !5
  %3559 = call ptr @strerror(i32 noundef %3558) #11
  %3560 = load i32, ptr %829, align 4, !tbaa !5
  %3561 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3552, ptr noundef nonnull %.str.5.sink2277, i32 noundef %3553, ptr noundef nonnull @.str.68, ptr noundef nonnull @.str.1, i32 noundef 443, ptr noundef %3555, ptr noundef %3557, ptr noundef %3559, i32 noundef %3560) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3562:                                             ; preds = %3450
  %3563 = load i32, ptr @test_count, align 4, !tbaa !5
  %3564 = add nsw i32 %3563, 1
  store i32 %3564, ptr @test_count, align 4, !tbaa !5
  %3565 = load ptr, ptr %73, align 8, !tbaa !9
  %3566 = icmp eq ptr %3565, null
  br i1 %3566, label %3567, label %3589

3567:                                             ; preds = %3562
  %3568 = load i32, ptr %829, align 4, !tbaa !5
  %3569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3570 = call i32 @s2n_print_stacktrace(ptr noundef %3569) #11
  %3571 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3572 = trunc nuw i8 %3571 to i1
  br i1 %3572, label %3573, label %3577

3573:                                             ; preds = %3567
  %3574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3575 = call i32 @fileno(ptr noundef %3574) #11
  %3576 = call i32 @isatty(i32 noundef %3575) #11
  %.not1045 = icmp eq i32 %3576, 0
  br i1 %.not1045, label %3577, label %3578

3577:                                             ; preds = %3573, %3567
  br label %3578

3578:                                             ; preds = %3573, %3577
  %.str.5.sink2286 = phi ptr [ @.str.5, %3577 ], [ @.str.2, %3573 ]
  store i32 %3568, ptr %829, align 4, !tbaa !5
  %3579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3580 = load i32, ptr @test_count, align 4, !tbaa !5
  %3581 = load i32, ptr %775, align 4, !tbaa !5
  %3582 = call ptr @s2n_strerror(i32 noundef %3581, ptr noundef nonnull @.str.4) #11
  %3583 = load i32, ptr %775, align 4, !tbaa !5
  %3584 = call ptr @s2n_strerror_debug(i32 noundef %3583, ptr noundef nonnull @.str.4) #11
  %3585 = load i32, ptr %829, align 4, !tbaa !5
  %3586 = call ptr @strerror(i32 noundef %3585) #11
  %3587 = load i32, ptr %829, align 4, !tbaa !5
  %3588 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3579, ptr noundef nonnull %.str.5.sink2286, i32 noundef %3580, ptr noundef nonnull @.str.69, ptr noundef nonnull @.str.1, i32 noundef 444, ptr noundef %3582, ptr noundef %3584, ptr noundef %3586, i32 noundef %3587) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3589:                                             ; preds = %3562
  %3590 = add nsw i32 %3563, 2
  store i32 %3590, ptr @test_count, align 4, !tbaa !5
  %3591 = call i32 @s2n_crl_lookup_set(ptr noundef nonnull %3565, ptr noundef nonnull %912) #11
  %3592 = icmp eq i32 %3591, -1
  br i1 %3592, label %3593, label %.preheader

3593:                                             ; preds = %3589
  %3594 = load i32, ptr %829, align 4, !tbaa !5
  %3595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3596 = call i32 @s2n_print_stacktrace(ptr noundef %3595) #11
  %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) #11
  %3602 = call i32 @isatty(i32 noundef %3601) #11
  %.not1044 = icmp eq i32 %3602, 0
  br i1 %.not1044, label %3603, label %3604

3603:                                             ; preds = %3599, %3593
  br label %3604

3604:                                             ; preds = %3599, %3603
  %.str.5.sink2295 = phi ptr [ @.str.5, %3603 ], [ @.str.2, %3599 ]
  store i32 %3594, ptr %829, 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 %775, align 4, !tbaa !5
  %3608 = call ptr @s2n_strerror(i32 noundef %3607, ptr noundef nonnull @.str.4) #11
  %3609 = load i32, ptr %775, align 4, !tbaa !5
  %3610 = call ptr @s2n_strerror_debug(i32 noundef %3609, ptr noundef nonnull @.str.4) #11
  %3611 = load i32, ptr %829, align 4, !tbaa !5
  %3612 = call ptr @strerror(i32 noundef %3611) #11
  %3613 = load i32, ptr %829, align 4, !tbaa !5
  %3614 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3605, ptr noundef nonnull %.str.5.sink2295, i32 noundef %3606, ptr noundef nonnull @.str.70, ptr noundef nonnull @.str.1, i32 noundef 445, ptr noundef %3608, ptr noundef %3610, ptr noundef %3612, i32 noundef %3613) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3615:                                             ; preds = %3701
  store ptr null, ptr %73, align 8, !tbaa !9
  %3616 = load i32, ptr @test_count, align 4, !tbaa !5
  %3617 = add nsw i32 %3616, 1
  store i32 %3617, ptr @test_count, align 4, !tbaa !5
  %3618 = load ptr, ptr %3453, align 8, !tbaa !31
  %3619 = call i32 @s2n_array_get(ptr noundef %3618, i32 noundef 1, ptr noundef nonnull %73) #11
  %3620 = call zeroext i1 @s2n_result_is_ok(i32 %3619)
  br i1 %3620, label %3725, label %3703

.preheader:                                       ; preds = %3589, %3701
  %.07871151 = phi i32 [ %3702, %3701 ], [ 0, %3589 ]
  %3621 = load i32, ptr @test_count, align 4, !tbaa !5
  %3622 = add nsw i32 %3621, 1
  store i32 %3622, ptr @test_count, align 4, !tbaa !5
  %3623 = load ptr, ptr %69, align 8, !tbaa !9
  %3624 = call i32 @s2n_x509_validator_validate_cert_chain(ptr noundef nonnull %67, ptr noundef %3623, ptr noundef nonnull %3397, i32 noundef %3396, ptr noundef nonnull %72, ptr noundef nonnull %71) #11
  %3625 = call zeroext i1 @s2n_result_is_error(i32 %3624)
  br i1 %3625, label %3648, label %3626

3626:                                             ; preds = %.preheader
  %3627 = load i32, ptr %829, align 4, !tbaa !5
  %3628 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3629 = call i32 @s2n_print_stacktrace(ptr noundef %3628) #11
  %3630 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3631 = trunc nuw i8 %3630 to i1
  br i1 %3631, label %3632, label %3636

3632:                                             ; preds = %3626
  %3633 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3634 = call i32 @fileno(ptr noundef %3633) #11
  %3635 = call i32 @isatty(i32 noundef %3634) #11
  %.not1041 = icmp eq i32 %3635, 0
  br i1 %.not1041, label %3636, label %3637

3636:                                             ; preds = %3632, %3626
  br label %3637

3637:                                             ; preds = %3632, %3636
  %.str.5.sink2304 = phi ptr [ @.str.5, %3636 ], [ @.str.2, %3632 ]
  store i32 %3627, ptr %829, align 4, !tbaa !5
  %3638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3639 = load i32, ptr @test_count, align 4, !tbaa !5
  %3640 = load i32, ptr %775, align 4, !tbaa !5
  %3641 = call ptr @s2n_strerror(i32 noundef %3640, ptr noundef nonnull @.str.4) #11
  %3642 = load i32, ptr %775, align 4, !tbaa !5
  %3643 = call ptr @s2n_strerror_debug(i32 noundef %3642, ptr noundef nonnull @.str.4) #11
  %3644 = load i32, ptr %829, align 4, !tbaa !5
  %3645 = call ptr @strerror(i32 noundef %3644) #11
  %3646 = load i32, ptr %829, align 4, !tbaa !5
  %3647 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3638, ptr noundef nonnull %.str.5.sink2304, i32 noundef %3639, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.1, i32 noundef 449, ptr noundef %3641, ptr noundef %3643, ptr noundef %3645, i32 noundef %3646) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3648:                                             ; preds = %.preheader
  %3649 = load i32, ptr @test_count, align 4, !tbaa !5
  %3650 = add nsw i32 %3649, 1
  store i32 %3650, ptr @test_count, align 4, !tbaa !5
  %3651 = load i32, ptr %775, align 4, !tbaa !5
  %3652 = icmp eq i32 %3651, 201326593
  br i1 %3652, label %3675, label %3653

3653:                                             ; preds = %3648
  %3654 = load i32, ptr %829, align 4, !tbaa !5
  %3655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3656 = call i32 @s2n_print_stacktrace(ptr noundef %3655) #11
  %3657 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3658 = trunc nuw i8 %3657 to i1
  br i1 %3658, label %3659, label %3663

3659:                                             ; preds = %3653
  %3660 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3661 = call i32 @fileno(ptr noundef %3660) #11
  %3662 = call i32 @isatty(i32 noundef %3661) #11
  %.not1042 = icmp eq i32 %3662, 0
  br i1 %.not1042, label %3663, label %3664

3663:                                             ; preds = %3659, %3653
  br label %3664

3664:                                             ; preds = %3659, %3663
  %.str.5.sink2313 = phi ptr [ @.str.5, %3663 ], [ @.str.2, %3659 ]
  store i32 %3654, ptr %829, align 4, !tbaa !5
  %3665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3666 = load i32, ptr @test_count, align 4, !tbaa !5
  %3667 = load i32, ptr %775, align 4, !tbaa !5
  %3668 = call ptr @s2n_strerror(i32 noundef %3667, ptr noundef nonnull @.str.4) #11
  %3669 = load i32, ptr %775, align 4, !tbaa !5
  %3670 = call ptr @s2n_strerror_debug(i32 noundef %3669, ptr noundef nonnull @.str.4) #11
  %3671 = load i32, ptr %829, align 4, !tbaa !5
  %3672 = call ptr @strerror(i32 noundef %3671) #11
  %3673 = load i32, ptr %829, align 4, !tbaa !5
  %3674 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3665, ptr noundef nonnull %.str.5.sink2313, i32 noundef %3666, ptr noundef nonnull @.str.67, ptr noundef nonnull @.str.1, i32 noundef 449, ptr noundef %3668, ptr noundef %3670, ptr noundef %3672, i32 noundef %3673) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3675:                                             ; preds = %3648
  %3676 = add nsw i32 %3649, 2
  store i32 %3676, ptr @test_count, align 4, !tbaa !5
  %3677 = call ptr @s2n_strerror_debug(i32 noundef 201326593, ptr noundef nonnull @.str.4) #11
  %3678 = icmp eq ptr %3677, null
  br i1 %3678, label %3679, label %3701

3679:                                             ; preds = %3675
  %3680 = load i32, ptr %829, align 4, !tbaa !5
  %3681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3682 = call i32 @s2n_print_stacktrace(ptr noundef %3681) #11
  %3683 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3684 = trunc nuw i8 %3683 to i1
  br i1 %3684, label %3685, label %3689

3685:                                             ; preds = %3679
  %3686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3687 = call i32 @fileno(ptr noundef %3686) #11
  %3688 = call i32 @isatty(i32 noundef %3687) #11
  %.not1043 = icmp eq i32 %3688, 0
  br i1 %.not1043, label %3689, label %3690

3689:                                             ; preds = %3685, %3679
  br label %3690

3690:                                             ; preds = %3685, %3689
  %.str.5.sink2322 = phi ptr [ @.str.5, %3689 ], [ @.str.2, %3685 ]
  store i32 %3680, ptr %829, align 4, !tbaa !5
  %3691 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3692 = load i32, ptr @test_count, align 4, !tbaa !5
  %3693 = load i32, ptr %775, align 4, !tbaa !5
  %3694 = call ptr @s2n_strerror(i32 noundef %3693, ptr noundef nonnull @.str.4) #11
  %3695 = load i32, ptr %775, align 4, !tbaa !5
  %3696 = call ptr @s2n_strerror_debug(i32 noundef %3695, ptr noundef nonnull @.str.4) #11
  %3697 = load i32, ptr %829, align 4, !tbaa !5
  %3698 = call ptr @strerror(i32 noundef %3697) #11
  %3699 = load i32, ptr %829, align 4, !tbaa !5
  %3700 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3691, ptr noundef nonnull %.str.5.sink2322, i32 noundef %3692, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 449, ptr noundef %3694, ptr noundef %3696, ptr noundef %3698, i32 noundef %3699) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3701:                                             ; preds = %3675
  store i32 0, ptr %775, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %829, align 4, !tbaa !5
  %3702 = add nuw nsw i32 %.07871151, 1
  %exitcond1155.not = icmp eq i32 %3702, 10
  br i1 %exitcond1155.not, label %3615, label %.preheader, !llvm.loop !36

3703:                                             ; preds = %3615
  %3704 = load i32, ptr %829, align 4, !tbaa !5
  %3705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3706 = call i32 @s2n_print_stacktrace(ptr noundef %3705) #11
  %3707 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3708 = trunc nuw i8 %3707 to i1
  br i1 %3708, label %3709, label %3713

3709:                                             ; preds = %3703
  %3710 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3711 = call i32 @fileno(ptr noundef %3710) #11
  %3712 = call i32 @isatty(i32 noundef %3711) #11
  %.not832 = icmp eq i32 %3712, 0
  br i1 %.not832, label %3713, label %3714

3713:                                             ; preds = %3709, %3703
  br label %3714

3714:                                             ; preds = %3709, %3713
  %.str.5.sink2331 = phi ptr [ @.str.5, %3713 ], [ @.str.2, %3709 ]
  store i32 %3704, ptr %829, align 4, !tbaa !5
  %3715 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3716 = load i32, ptr @test_count, align 4, !tbaa !5
  %3717 = load i32, ptr %775, align 4, !tbaa !5
  %3718 = call ptr @s2n_strerror(i32 noundef %3717, ptr noundef nonnull @.str.4) #11
  %3719 = load i32, ptr %775, align 4, !tbaa !5
  %3720 = call ptr @s2n_strerror_debug(i32 noundef %3719, ptr noundef nonnull @.str.4) #11
  %3721 = load i32, ptr %829, align 4, !tbaa !5
  %3722 = call ptr @strerror(i32 noundef %3721) #11
  %3723 = load i32, ptr %829, align 4, !tbaa !5
  %3724 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3715, ptr noundef nonnull %.str.5.sink2331, i32 noundef %3716, ptr noundef nonnull @.str.71, ptr noundef nonnull @.str.1, i32 noundef 454, ptr noundef %3718, ptr noundef %3720, ptr noundef %3722, i32 noundef %3723) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3725:                                             ; preds = %3615
  %3726 = load i32, ptr @test_count, align 4, !tbaa !5
  %3727 = add nsw i32 %3726, 1
  store i32 %3727, ptr @test_count, align 4, !tbaa !5
  %3728 = load ptr, ptr %73, align 8, !tbaa !9
  %3729 = icmp eq ptr %3728, null
  br i1 %3729, label %3730, label %3752

3730:                                             ; preds = %3725
  %3731 = load i32, ptr %829, align 4, !tbaa !5
  %3732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3733 = call i32 @s2n_print_stacktrace(ptr noundef %3732) #11
  %3734 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3735 = trunc nuw i8 %3734 to i1
  br i1 %3735, label %3736, label %3740

3736:                                             ; preds = %3730
  %3737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3738 = call i32 @fileno(ptr noundef %3737) #11
  %3739 = call i32 @isatty(i32 noundef %3738) #11
  %.not1040 = icmp eq i32 %3739, 0
  br i1 %.not1040, label %3740, label %3741

3740:                                             ; preds = %3736, %3730
  br label %3741

3741:                                             ; preds = %3736, %3740
  %.str.5.sink2340 = phi ptr [ @.str.5, %3740 ], [ @.str.2, %3736 ]
  store i32 %3731, ptr %829, align 4, !tbaa !5
  %3742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3743 = load i32, ptr @test_count, align 4, !tbaa !5
  %3744 = load i32, ptr %775, align 4, !tbaa !5
  %3745 = call ptr @s2n_strerror(i32 noundef %3744, ptr noundef nonnull @.str.4) #11
  %3746 = load i32, ptr %775, align 4, !tbaa !5
  %3747 = call ptr @s2n_strerror_debug(i32 noundef %3746, ptr noundef nonnull @.str.4) #11
  %3748 = load i32, ptr %829, align 4, !tbaa !5
  %3749 = call ptr @strerror(i32 noundef %3748) #11
  %3750 = load i32, ptr %829, align 4, !tbaa !5
  %3751 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3742, ptr noundef nonnull %.str.5.sink2340, i32 noundef %3743, ptr noundef nonnull @.str.69, ptr noundef nonnull @.str.1, i32 noundef 455, ptr noundef %3745, ptr noundef %3747, ptr noundef %3749, i32 noundef %3750) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3752:                                             ; preds = %3725
  %3753 = add nsw i32 %3726, 2
  store i32 %3753, ptr @test_count, align 4, !tbaa !5
  %3754 = call i32 @s2n_crl_lookup_set(ptr noundef nonnull %3728, ptr noundef nonnull %939) #11
  %3755 = icmp eq i32 %3754, -1
  br i1 %3755, label %3756, label %3778

3756:                                             ; preds = %3752
  %3757 = load i32, ptr %829, align 4, !tbaa !5
  %3758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3759 = call i32 @s2n_print_stacktrace(ptr noundef %3758) #11
  %3760 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3761 = trunc nuw i8 %3760 to i1
  br i1 %3761, label %3762, label %3766

3762:                                             ; preds = %3756
  %3763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3764 = call i32 @fileno(ptr noundef %3763) #11
  %3765 = call i32 @isatty(i32 noundef %3764) #11
  %.not1039 = icmp eq i32 %3765, 0
  br i1 %.not1039, label %3766, label %3767

3766:                                             ; preds = %3762, %3756
  br label %3767

3767:                                             ; preds = %3762, %3766
  %.str.5.sink2349 = phi ptr [ @.str.5, %3766 ], [ @.str.2, %3762 ]
  store i32 %3757, ptr %829, align 4, !tbaa !5
  %3768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3769 = load i32, ptr @test_count, align 4, !tbaa !5
  %3770 = load i32, ptr %775, align 4, !tbaa !5
  %3771 = call ptr @s2n_strerror(i32 noundef %3770, ptr noundef nonnull @.str.4) #11
  %3772 = load i32, ptr %775, align 4, !tbaa !5
  %3773 = call ptr @s2n_strerror_debug(i32 noundef %3772, ptr noundef nonnull @.str.4) #11
  %3774 = load i32, ptr %829, align 4, !tbaa !5
  %3775 = call ptr @strerror(i32 noundef %3774) #11
  %3776 = load i32, ptr %829, align 4, !tbaa !5
  %3777 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3768, ptr noundef nonnull %.str.5.sink2349, i32 noundef %3769, ptr noundef nonnull @.str.72, ptr noundef nonnull @.str.1, i32 noundef 456, ptr noundef %3771, ptr noundef %3773, ptr noundef %3775, i32 noundef %3776) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3778:                                             ; preds = %3752
  %3779 = load i32, ptr @test_count, align 4, !tbaa !5
  %3780 = add nsw i32 %3779, 1
  store i32 %3780, ptr @test_count, align 4, !tbaa !5
  %3781 = load ptr, ptr %69, align 8, !tbaa !9
  %3782 = call i32 @s2n_x509_validator_validate_cert_chain(ptr noundef nonnull %67, ptr noundef %3781, ptr noundef nonnull %3397, i32 noundef %3396, ptr noundef nonnull %72, ptr noundef nonnull %71) #11
  %3783 = call zeroext i1 @s2n_result_is_ok(i32 %3782)
  br i1 %3783, label %3806, label %3784

3784:                                             ; preds = %3778
  %3785 = load i32, ptr %829, align 4, !tbaa !5
  %3786 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3787 = call i32 @s2n_print_stacktrace(ptr noundef %3786) #11
  %3788 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3789 = trunc nuw i8 %3788 to i1
  br i1 %3789, label %3790, label %3794

3790:                                             ; preds = %3784
  %3791 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3792 = call i32 @fileno(ptr noundef %3791) #11
  %3793 = call i32 @isatty(i32 noundef %3792) #11
  %.not833 = icmp eq i32 %3793, 0
  br i1 %.not833, label %3794, label %3795

3794:                                             ; preds = %3790, %3784
  br label %3795

3795:                                             ; preds = %3790, %3794
  %.str.5.sink2358 = phi ptr [ @.str.5, %3794 ], [ @.str.2, %3790 ]
  store i32 %3785, ptr %829, align 4, !tbaa !5
  %3796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3797 = load i32, ptr @test_count, align 4, !tbaa !5
  %3798 = load i32, ptr %775, align 4, !tbaa !5
  %3799 = call ptr @s2n_strerror(i32 noundef %3798, ptr noundef nonnull @.str.4) #11
  %3800 = load i32, ptr %775, align 4, !tbaa !5
  %3801 = call ptr @s2n_strerror_debug(i32 noundef %3800, ptr noundef nonnull @.str.4) #11
  %3802 = load i32, ptr %829, align 4, !tbaa !5
  %3803 = call ptr @strerror(i32 noundef %3802) #11
  %3804 = load i32, ptr %829, align 4, !tbaa !5
  %3805 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3796, ptr noundef nonnull %.str.5.sink2358, i32 noundef %3797, ptr noundef nonnull @.str.64, ptr noundef nonnull @.str.1, i32 noundef 458, ptr noundef %3799, ptr noundef %3801, ptr noundef %3803, i32 noundef %3804) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3806:                                             ; preds = %3778
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %73) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %72) #11
  %3807 = call i32 @s2n_pkey_free(ptr noundef nonnull %71) #11
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %71) #11
  %3808 = call i32 @s2n_stuffer_free(ptr noundef nonnull %70) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %70) #11
  %3809 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %69) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %69) #11
  %3810 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %68) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %68) #11
  %3811 = call i32 @s2n_x509_validator_wipe(ptr noundef nonnull %67) #11
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %67) #11
  call void @llvm.lifetime.end.p0(i64 12000, ptr nonnull %66) #11
  call void @s2n_x509_trust_store_wipe(ptr noundef nonnull %65) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %65) #11
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %74) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %74, i8 0, i64 16, i1 false)
  call void @s2n_x509_trust_store_init_empty(ptr noundef nonnull %74) #11
  call void @llvm.lifetime.start.p0(i64 12000, ptr nonnull %75) #11
  %3812 = load i32, ptr @test_count, align 4, !tbaa !5
  %3813 = add nsw i32 %3812, 1
  store i32 %3813, ptr @test_count, align 4, !tbaa !5
  %3814 = call i32 @s2n_read_test_pem(ptr noundef nonnull @.str.31, ptr noundef nonnull %75, i64 noundef 12000) #11
  %3815 = icmp eq i32 %3814, -1
  br i1 %3815, label %3816, label %3838

3816:                                             ; preds = %3806
  %3817 = load i32, ptr %829, align 4, !tbaa !5
  %3818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3819 = call i32 @s2n_print_stacktrace(ptr noundef %3818) #11
  %3820 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3821 = trunc nuw i8 %3820 to i1
  br i1 %3821, label %3822, label %3826

3822:                                             ; preds = %3816
  %3823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3824 = call i32 @fileno(ptr noundef %3823) #11
  %3825 = call i32 @isatty(i32 noundef %3824) #11
  %.not1038 = icmp eq i32 %3825, 0
  br i1 %.not1038, label %3826, label %3827

3826:                                             ; preds = %3822, %3816
  br label %3827

3827:                                             ; preds = %3822, %3826
  %.str.5.sink2367 = phi ptr [ @.str.5, %3826 ], [ @.str.2, %3822 ]
  store i32 %3817, ptr %829, align 4, !tbaa !5
  %3828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3829 = load i32, ptr @test_count, align 4, !tbaa !5
  %3830 = load i32, ptr %775, align 4, !tbaa !5
  %3831 = call ptr @s2n_strerror(i32 noundef %3830, ptr noundef nonnull @.str.4) #11
  %3832 = load i32, ptr %775, align 4, !tbaa !5
  %3833 = call ptr @s2n_strerror_debug(i32 noundef %3832, ptr noundef nonnull @.str.4) #11
  %3834 = load i32, ptr %829, align 4, !tbaa !5
  %3835 = call ptr @strerror(i32 noundef %3834) #11
  %3836 = load i32, ptr %829, align 4, !tbaa !5
  %3837 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3828, ptr noundef nonnull %.str.5.sink2367, i32 noundef %3829, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 467, ptr noundef %3831, ptr noundef %3833, ptr noundef %3835, i32 noundef %3836) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3838:                                             ; preds = %3806
  %3839 = load i32, ptr @test_count, align 4, !tbaa !5
  %3840 = add nsw i32 %3839, 1
  store i32 %3840, ptr @test_count, align 4, !tbaa !5
  %3841 = call i32 @s2n_x509_trust_store_add_pem(ptr noundef nonnull %74, ptr noundef nonnull %75) #11
  %3842 = icmp eq i32 %3841, -1
  br i1 %3842, label %3843, label %3865

3843:                                             ; preds = %3838
  %3844 = load i32, ptr %829, align 4, !tbaa !5
  %3845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3846 = call i32 @s2n_print_stacktrace(ptr noundef %3845) #11
  %3847 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3848 = trunc nuw i8 %3847 to i1
  br i1 %3848, label %3849, label %3853

3849:                                             ; preds = %3843
  %3850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3851 = call i32 @fileno(ptr noundef %3850) #11
  %3852 = call i32 @isatty(i32 noundef %3851) #11
  %.not1037 = icmp eq i32 %3852, 0
  br i1 %.not1037, label %3853, label %3854

3853:                                             ; preds = %3849, %3843
  br label %3854

3854:                                             ; preds = %3849, %3853
  %.str.5.sink2376 = phi ptr [ @.str.5, %3853 ], [ @.str.2, %3849 ]
  store i32 %3844, ptr %829, align 4, !tbaa !5
  %3855 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3856 = load i32, ptr @test_count, align 4, !tbaa !5
  %3857 = load i32, ptr %775, align 4, !tbaa !5
  %3858 = call ptr @s2n_strerror(i32 noundef %3857, ptr noundef nonnull @.str.4) #11
  %3859 = load i32, ptr %775, align 4, !tbaa !5
  %3860 = call ptr @s2n_strerror_debug(i32 noundef %3859, ptr noundef nonnull @.str.4) #11
  %3861 = load i32, ptr %829, align 4, !tbaa !5
  %3862 = call ptr @strerror(i32 noundef %3861) #11
  %3863 = load i32, ptr %829, align 4, !tbaa !5
  %3864 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3855, ptr noundef nonnull %.str.5.sink2376, i32 noundef %3856, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 468, ptr noundef %3858, ptr noundef %3860, ptr noundef %3862, i32 noundef %3863) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3865:                                             ; preds = %3838
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %76) #11
  %3866 = load i32, ptr @test_count, align 4, !tbaa !5
  %3867 = add nsw i32 %3866, 1
  store i32 %3867, ptr @test_count, align 4, !tbaa !5
  %3868 = call i32 @s2n_x509_validator_init(ptr noundef nonnull %76, ptr noundef nonnull %74, i8 noundef zeroext 0) #11
  %3869 = icmp eq i32 %3868, -1
  br i1 %3869, label %3870, label %3892

3870:                                             ; preds = %3865
  %3871 = load i32, ptr %829, align 4, !tbaa !5
  %3872 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3873 = call i32 @s2n_print_stacktrace(ptr noundef %3872) #11
  %3874 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3875 = trunc nuw i8 %3874 to i1
  br i1 %3875, label %3876, label %3880

3876:                                             ; preds = %3870
  %3877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3878 = call i32 @fileno(ptr noundef %3877) #11
  %3879 = call i32 @isatty(i32 noundef %3878) #11
  %.not1036 = icmp eq i32 %3879, 0
  br i1 %.not1036, label %3880, label %3881

3880:                                             ; preds = %3876, %3870
  br label %3881

3881:                                             ; preds = %3876, %3880
  %.str.5.sink2385 = phi ptr [ @.str.5, %3880 ], [ @.str.2, %3876 ]
  store i32 %3871, ptr %829, align 4, !tbaa !5
  %3882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3883 = load i32, ptr @test_count, align 4, !tbaa !5
  %3884 = load i32, ptr %775, align 4, !tbaa !5
  %3885 = call ptr @s2n_strerror(i32 noundef %3884, ptr noundef nonnull @.str.4) #11
  %3886 = load i32, ptr %775, align 4, !tbaa !5
  %3887 = call ptr @s2n_strerror_debug(i32 noundef %3886, ptr noundef nonnull @.str.4) #11
  %3888 = load i32, ptr %829, align 4, !tbaa !5
  %3889 = call ptr @strerror(i32 noundef %3888) #11
  %3890 = load i32, ptr %829, align 4, !tbaa !5
  %3891 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3882, ptr noundef nonnull %.str.5.sink2385, i32 noundef %3883, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 471, ptr noundef %3885, ptr noundef %3887, ptr noundef %3889, i32 noundef %3890) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3892:                                             ; preds = %3865
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %77) #11
  %3893 = call ptr @s2n_config_new() #11
  store ptr %3893, ptr %77, align 8, !tbaa !9
  %3894 = load i32, ptr @test_count, align 4, !tbaa !5
  %3895 = add nsw i32 %3894, 1
  store i32 %3895, ptr @test_count, align 4, !tbaa !5
  %3896 = icmp eq ptr %3893, null
  br i1 %3896, label %3897, label %3919

3897:                                             ; preds = %3892
  %3898 = load i32, ptr %829, align 4, !tbaa !5
  %3899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3900 = call i32 @s2n_print_stacktrace(ptr noundef %3899) #11
  %3901 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3902 = trunc nuw i8 %3901 to i1
  br i1 %3902, label %3903, label %3907

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

3907:                                             ; preds = %3903, %3897
  br label %3908

3908:                                             ; preds = %3903, %3907
  %.str.5.sink2394 = phi ptr [ @.str.5, %3907 ], [ @.str.2, %3903 ]
  store i32 %3898, ptr %829, align 4, !tbaa !5
  %3909 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3910 = load i32, ptr @test_count, align 4, !tbaa !5
  %3911 = load i32, ptr %775, align 4, !tbaa !5
  %3912 = call ptr @s2n_strerror(i32 noundef %3911, ptr noundef nonnull @.str.4) #11
  %3913 = load i32, ptr %775, align 4, !tbaa !5
  %3914 = call ptr @s2n_strerror_debug(i32 noundef %3913, ptr noundef nonnull @.str.4) #11
  %3915 = load i32, ptr %829, align 4, !tbaa !5
  %3916 = call ptr @strerror(i32 noundef %3915) #11
  %3917 = load i32, ptr %829, align 4, !tbaa !5
  %3918 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3909, ptr noundef nonnull %.str.5.sink2394, i32 noundef %3910, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 474, ptr noundef %3912, ptr noundef %3914, ptr noundef %3916, i32 noundef %3917) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3919:                                             ; preds = %3892
  %3920 = add nsw i32 %3894, 2
  store i32 %3920, ptr @test_count, align 4, !tbaa !5
  %3921 = call i32 @s2n_config_set_crl_lookup_cb(ptr noundef nonnull %3893, ptr noundef nonnull @crl_lookup_callback_fail, ptr noundef null) #11
  %3922 = icmp eq i32 %3921, -1
  br i1 %3922, label %3923, label %3945

3923:                                             ; preds = %3919
  %3924 = load i32, ptr %829, align 4, !tbaa !5
  %3925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3926 = call i32 @s2n_print_stacktrace(ptr noundef %3925) #11
  %3927 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3928 = trunc nuw i8 %3927 to i1
  br i1 %3928, label %3929, label %3933

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

3933:                                             ; preds = %3929, %3923
  br label %3934

3934:                                             ; preds = %3929, %3933
  %.str.5.sink2403 = phi ptr [ @.str.5, %3933 ], [ @.str.2, %3929 ]
  store i32 %3924, ptr %829, align 4, !tbaa !5
  %3935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3936 = load i32, ptr @test_count, align 4, !tbaa !5
  %3937 = load i32, ptr %775, align 4, !tbaa !5
  %3938 = call ptr @s2n_strerror(i32 noundef %3937, ptr noundef nonnull @.str.4) #11
  %3939 = load i32, ptr %775, align 4, !tbaa !5
  %3940 = call ptr @s2n_strerror_debug(i32 noundef %3939, ptr noundef nonnull @.str.4) #11
  %3941 = load i32, ptr %829, align 4, !tbaa !5
  %3942 = call ptr @strerror(i32 noundef %3941) #11
  %3943 = load i32, ptr %829, align 4, !tbaa !5
  %3944 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3935, ptr noundef nonnull %.str.5.sink2403, i32 noundef %3936, ptr noundef nonnull @.str.73, ptr noundef nonnull @.str.1, i32 noundef 475, ptr noundef %3938, ptr noundef %3940, ptr noundef %3942, i32 noundef %3943) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3945:                                             ; preds = %3919
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %78) #11
  %3946 = call ptr @s2n_connection_new(i32 noundef 1) #11
  store ptr %3946, ptr %78, align 8, !tbaa !9
  %3947 = load i32, ptr @test_count, align 4, !tbaa !5
  %3948 = add nsw i32 %3947, 1
  store i32 %3948, ptr @test_count, align 4, !tbaa !5
  %3949 = icmp eq ptr %3946, null
  br i1 %3949, label %3950, label %3972

3950:                                             ; preds = %3945
  %3951 = load i32, ptr %829, align 4, !tbaa !5
  %3952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3953 = call i32 @s2n_print_stacktrace(ptr noundef %3952) #11
  %3954 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3955 = trunc nuw i8 %3954 to i1
  br i1 %3955, label %3956, label %3960

3956:                                             ; preds = %3950
  %3957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3958 = call i32 @fileno(ptr noundef %3957) #11
  %3959 = call i32 @isatty(i32 noundef %3958) #11
  %.not1033 = icmp eq i32 %3959, 0
  br i1 %.not1033, label %3960, label %3961

3960:                                             ; preds = %3956, %3950
  br label %3961

3961:                                             ; preds = %3956, %3960
  %.str.5.sink2412 = phi ptr [ @.str.5, %3960 ], [ @.str.2, %3956 ]
  store i32 %3951, ptr %829, align 4, !tbaa !5
  %3962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3963 = load i32, ptr @test_count, align 4, !tbaa !5
  %3964 = load i32, ptr %775, align 4, !tbaa !5
  %3965 = call ptr @s2n_strerror(i32 noundef %3964, ptr noundef nonnull @.str.4) #11
  %3966 = load i32, ptr %775, align 4, !tbaa !5
  %3967 = call ptr @s2n_strerror_debug(i32 noundef %3966, ptr noundef nonnull @.str.4) #11
  %3968 = load i32, ptr %829, align 4, !tbaa !5
  %3969 = call ptr @strerror(i32 noundef %3968) #11
  %3970 = load i32, ptr %829, align 4, !tbaa !5
  %3971 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3962, ptr noundef nonnull %.str.5.sink2412, i32 noundef %3963, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 478, ptr noundef %3965, ptr noundef %3967, ptr noundef %3969, i32 noundef %3970) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3972:                                             ; preds = %3945
  %3973 = add nsw i32 %3947, 2
  store i32 %3973, ptr @test_count, align 4, !tbaa !5
  %3974 = load ptr, ptr %77, align 8, !tbaa !9
  %3975 = call i32 @s2n_connection_set_config(ptr noundef nonnull %3946, ptr noundef %3974) #11
  %3976 = icmp eq i32 %3975, -1
  br i1 %3976, label %3977, label %3999

3977:                                             ; preds = %3972
  %3978 = load i32, ptr %829, align 4, !tbaa !5
  %3979 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3980 = call i32 @s2n_print_stacktrace(ptr noundef %3979) #11
  %3981 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3982 = trunc nuw i8 %3981 to i1
  br i1 %3982, label %3983, label %3987

3983:                                             ; preds = %3977
  %3984 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3985 = call i32 @fileno(ptr noundef %3984) #11
  %3986 = call i32 @isatty(i32 noundef %3985) #11
  %.not1032 = icmp eq i32 %3986, 0
  br i1 %.not1032, label %3987, label %3988

3987:                                             ; preds = %3983, %3977
  br label %3988

3988:                                             ; preds = %3983, %3987
  %.str.5.sink2421 = phi ptr [ @.str.5, %3987 ], [ @.str.2, %3983 ]
  store i32 %3978, ptr %829, align 4, !tbaa !5
  %3989 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3990 = load i32, ptr @test_count, align 4, !tbaa !5
  %3991 = load i32, ptr %775, align 4, !tbaa !5
  %3992 = call ptr @s2n_strerror(i32 noundef %3991, ptr noundef nonnull @.str.4) #11
  %3993 = load i32, ptr %775, align 4, !tbaa !5
  %3994 = call ptr @s2n_strerror_debug(i32 noundef %3993, ptr noundef nonnull @.str.4) #11
  %3995 = load i32, ptr %829, align 4, !tbaa !5
  %3996 = call ptr @strerror(i32 noundef %3995) #11
  %3997 = load i32, ptr %829, align 4, !tbaa !5
  %3998 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3989, ptr noundef nonnull %.str.5.sink2421, i32 noundef %3990, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 479, ptr noundef %3992, ptr noundef %3994, ptr noundef %3996, i32 noundef %3997) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3999:                                             ; preds = %3972
  %4000 = load i32, ptr @test_count, align 4, !tbaa !5
  %4001 = add nsw i32 %4000, 1
  store i32 %4001, ptr @test_count, align 4, !tbaa !5
  %4002 = load ptr, ptr %78, align 8, !tbaa !9
  %4003 = call i32 @s2n_set_server_name(ptr noundef %4002, ptr noundef nonnull @.str.39) #11
  %4004 = icmp eq i32 %4003, -1
  br i1 %4004, label %4005, label %4027

4005:                                             ; preds = %3999
  %4006 = load i32, ptr %829, align 4, !tbaa !5
  %4007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4008 = call i32 @s2n_print_stacktrace(ptr noundef %4007) #11
  %4009 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4010 = trunc nuw i8 %4009 to i1
  br i1 %4010, label %4011, label %4015

4011:                                             ; preds = %4005
  %4012 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4013 = call i32 @fileno(ptr noundef %4012) #11
  %4014 = call i32 @isatty(i32 noundef %4013) #11
  %.not1031 = icmp eq i32 %4014, 0
  br i1 %.not1031, label %4015, label %4016

4015:                                             ; preds = %4011, %4005
  br label %4016

4016:                                             ; preds = %4011, %4015
  %.str.5.sink2430 = phi ptr [ @.str.5, %4015 ], [ @.str.2, %4011 ]
  store i32 %4006, ptr %829, align 4, !tbaa !5
  %4017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4018 = load i32, ptr @test_count, align 4, !tbaa !5
  %4019 = load i32, ptr %775, align 4, !tbaa !5
  %4020 = call ptr @s2n_strerror(i32 noundef %4019, ptr noundef nonnull @.str.4) #11
  %4021 = load i32, ptr %775, align 4, !tbaa !5
  %4022 = call ptr @s2n_strerror_debug(i32 noundef %4021, ptr noundef nonnull @.str.4) #11
  %4023 = load i32, ptr %829, align 4, !tbaa !5
  %4024 = call ptr @strerror(i32 noundef %4023) #11
  %4025 = load i32, ptr %829, align 4, !tbaa !5
  %4026 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4017, ptr noundef nonnull %.str.5.sink2430, i32 noundef %4018, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 480, ptr noundef %4020, ptr noundef %4022, ptr noundef %4024, i32 noundef %4025) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4027:                                             ; preds = %3999
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %79) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %79, i8 0, i64 40, i1 false)
  %4028 = load i32, ptr @test_count, align 4, !tbaa !5
  %4029 = add nsw i32 %4028, 1
  store i32 %4029, ptr @test_count, align 4, !tbaa !5
  %4030 = load ptr, ptr %78, align 8, !tbaa !9
  %4031 = call i32 @s2n_test_cert_chain_data_from_pem(ptr noundef %4030, ptr noundef nonnull @.str.41, ptr noundef nonnull %79) #11
  %4032 = call zeroext i1 @s2n_result_is_ok(i32 %4031)
  br i1 %4032, label %4055, label %4033

4033:                                             ; preds = %4027
  %4034 = load i32, ptr %829, align 4, !tbaa !5
  %4035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4036 = call i32 @s2n_print_stacktrace(ptr noundef %4035) #11
  %4037 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4038 = trunc nuw i8 %4037 to i1
  br i1 %4038, label %4039, label %4043

4039:                                             ; preds = %4033
  %4040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4041 = call i32 @fileno(ptr noundef %4040) #11
  %4042 = call i32 @isatty(i32 noundef %4041) #11
  %.not834 = icmp eq i32 %4042, 0
  br i1 %.not834, label %4043, label %4044

4043:                                             ; preds = %4039, %4033
  br label %4044

4044:                                             ; preds = %4039, %4043
  %.str.5.sink2439 = phi ptr [ @.str.5, %4043 ], [ @.str.2, %4039 ]
  store i32 %4034, ptr %829, align 4, !tbaa !5
  %4045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4046 = load i32, ptr @test_count, align 4, !tbaa !5
  %4047 = load i32, ptr %775, align 4, !tbaa !5
  %4048 = call ptr @s2n_strerror(i32 noundef %4047, ptr noundef nonnull @.str.4) #11
  %4049 = load i32, ptr %775, align 4, !tbaa !5
  %4050 = call ptr @s2n_strerror_debug(i32 noundef %4049, ptr noundef nonnull @.str.4) #11
  %4051 = load i32, ptr %829, align 4, !tbaa !5
  %4052 = call ptr @strerror(i32 noundef %4051) #11
  %4053 = load i32, ptr %829, align 4, !tbaa !5
  %4054 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4045, ptr noundef nonnull %.str.5.sink2439, i32 noundef %4046, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 483, ptr noundef %4048, ptr noundef %4050, ptr noundef %4052, i32 noundef %4053) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4055:                                             ; preds = %4027
  %4056 = getelementptr inbounds i8, ptr %79, i64 28
  %4057 = load i32, ptr %4056, align 4, !tbaa !23
  %4058 = getelementptr inbounds i8, ptr %79, i64 24
  %4059 = load i32, ptr %4058, align 8, !tbaa !26
  %4060 = sub i32 %4057, %4059
  %4061 = call ptr @s2n_stuffer_raw_read(ptr noundef nonnull %79, i32 noundef %4060) #11
  %4062 = load i32, ptr @test_count, align 4, !tbaa !5
  %4063 = add nsw i32 %4062, 1
  store i32 %4063, ptr @test_count, align 4, !tbaa !5
  %4064 = icmp eq ptr %4061, null
  br i1 %4064, label %4065, label %4087

4065:                                             ; preds = %4055
  %4066 = load i32, ptr %829, align 4, !tbaa !5
  %4067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4068 = call i32 @s2n_print_stacktrace(ptr noundef %4067) #11
  %4069 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4070 = trunc nuw i8 %4069 to i1
  br i1 %4070, label %4071, label %4075

4071:                                             ; preds = %4065
  %4072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4073 = call i32 @fileno(ptr noundef %4072) #11
  %4074 = call i32 @isatty(i32 noundef %4073) #11
  %.not1030 = icmp eq i32 %4074, 0
  br i1 %.not1030, label %4075, label %4076

4075:                                             ; preds = %4071, %4065
  br label %4076

4076:                                             ; preds = %4071, %4075
  %.str.5.sink2448 = phi ptr [ @.str.5, %4075 ], [ @.str.2, %4071 ]
  store i32 %4066, ptr %829, align 4, !tbaa !5
  %4077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4078 = load i32, ptr @test_count, align 4, !tbaa !5
  %4079 = load i32, ptr %775, align 4, !tbaa !5
  %4080 = call ptr @s2n_strerror(i32 noundef %4079, ptr noundef nonnull @.str.4) #11
  %4081 = load i32, ptr %775, align 4, !tbaa !5
  %4082 = call ptr @s2n_strerror_debug(i32 noundef %4081, ptr noundef nonnull @.str.4) #11
  %4083 = load i32, ptr %829, align 4, !tbaa !5
  %4084 = call ptr @strerror(i32 noundef %4083) #11
  %4085 = load i32, ptr %829, align 4, !tbaa !5
  %4086 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4077, ptr noundef nonnull %.str.5.sink2448, i32 noundef %4078, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 486, ptr noundef %4080, ptr noundef %4082, ptr noundef %4084, i32 noundef %4085) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4087:                                             ; preds = %4055
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %80) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %80, i8 0, i64 48, i1 false)
  %4088 = add nsw i32 %4062, 2
  store i32 %4088, ptr @test_count, align 4, !tbaa !5
  %4089 = call i32 @s2n_pkey_zero_init(ptr noundef nonnull %80) #11
  %4090 = icmp eq i32 %4089, -1
  br i1 %4090, label %4091, label %4113

4091:                                             ; preds = %4087
  %4092 = load i32, ptr %829, align 4, !tbaa !5
  %4093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4094 = call i32 @s2n_print_stacktrace(ptr noundef %4093) #11
  %4095 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4096 = trunc nuw i8 %4095 to i1
  br i1 %4096, label %4097, label %4101

4097:                                             ; preds = %4091
  %4098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4099 = call i32 @fileno(ptr noundef %4098) #11
  %4100 = call i32 @isatty(i32 noundef %4099) #11
  %.not1029 = icmp eq i32 %4100, 0
  br i1 %.not1029, label %4101, label %4102

4101:                                             ; preds = %4097, %4091
  br label %4102

4102:                                             ; preds = %4097, %4101
  %.str.5.sink2457 = phi ptr [ @.str.5, %4101 ], [ @.str.2, %4097 ]
  store i32 %4092, ptr %829, align 4, !tbaa !5
  %4103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4104 = load i32, ptr @test_count, align 4, !tbaa !5
  %4105 = load i32, ptr %775, align 4, !tbaa !5
  %4106 = call ptr @s2n_strerror(i32 noundef %4105, ptr noundef nonnull @.str.4) #11
  %4107 = load i32, ptr %775, align 4, !tbaa !5
  %4108 = call ptr @s2n_strerror_debug(i32 noundef %4107, ptr noundef nonnull @.str.4) #11
  %4109 = load i32, ptr %829, align 4, !tbaa !5
  %4110 = call ptr @strerror(i32 noundef %4109) #11
  %4111 = load i32, ptr %829, align 4, !tbaa !5
  %4112 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4103, ptr noundef nonnull %.str.5.sink2457, i32 noundef %4104, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 489, ptr noundef %4106, ptr noundef %4108, ptr noundef %4110, i32 noundef %4111) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4113:                                             ; preds = %4087
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %81) #11
  store i32 -1, ptr %81, align 4, !tbaa !5
  %4114 = load i32, ptr @test_count, align 4, !tbaa !5
  %4115 = add nsw i32 %4114, 1
  store i32 %4115, ptr @test_count, align 4, !tbaa !5
  %4116 = load ptr, ptr %78, align 8, !tbaa !9
  %4117 = call i32 @s2n_x509_validator_validate_cert_chain(ptr noundef nonnull %76, ptr noundef %4116, ptr noundef nonnull %4061, i32 noundef %4060, ptr noundef nonnull %81, ptr noundef nonnull %80) #11
  %4118 = call zeroext i1 @s2n_result_is_error(i32 %4117)
  br i1 %4118, label %4141, label %4119

4119:                                             ; preds = %4113
  %4120 = load i32, ptr %829, align 4, !tbaa !5
  %4121 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4122 = call i32 @s2n_print_stacktrace(ptr noundef %4121) #11
  %4123 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4124 = trunc nuw i8 %4123 to i1
  br i1 %4124, label %4125, label %4129

4125:                                             ; preds = %4119
  %4126 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4127 = call i32 @fileno(ptr noundef %4126) #11
  %4128 = call i32 @isatty(i32 noundef %4127) #11
  %.not835 = icmp eq i32 %4128, 0
  br i1 %.not835, label %4129, label %4130

4129:                                             ; preds = %4125, %4119
  br label %4130

4130:                                             ; preds = %4125, %4129
  %.str.5.sink2466 = phi ptr [ @.str.5, %4129 ], [ @.str.2, %4125 ]
  store i32 %4120, ptr %829, align 4, !tbaa !5
  %4131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4132 = load i32, ptr @test_count, align 4, !tbaa !5
  %4133 = load i32, ptr %775, align 4, !tbaa !5
  %4134 = call ptr @s2n_strerror(i32 noundef %4133, ptr noundef nonnull @.str.4) #11
  %4135 = load i32, ptr %775, align 4, !tbaa !5
  %4136 = call ptr @s2n_strerror_debug(i32 noundef %4135, ptr noundef nonnull @.str.4) #11
  %4137 = load i32, ptr %829, align 4, !tbaa !5
  %4138 = call ptr @strerror(i32 noundef %4137) #11
  %4139 = load i32, ptr %829, align 4, !tbaa !5
  %4140 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4131, ptr noundef nonnull %.str.5.sink2466, i32 noundef %4132, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.1, i32 noundef 493, ptr noundef %4134, ptr noundef %4136, ptr noundef %4138, i32 noundef %4139) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4141:                                             ; preds = %4113
  %4142 = load i32, ptr @test_count, align 4, !tbaa !5
  %4143 = add nsw i32 %4142, 1
  store i32 %4143, ptr @test_count, align 4, !tbaa !5
  %4144 = load i32, ptr %775, align 4, !tbaa !5
  %4145 = icmp eq i32 %4144, 335544386
  br i1 %4145, label %4168, label %4146

4146:                                             ; preds = %4141
  %4147 = load i32, ptr %829, align 4, !tbaa !5
  %4148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4149 = call i32 @s2n_print_stacktrace(ptr noundef %4148) #11
  %4150 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4151 = trunc nuw i8 %4150 to i1
  br i1 %4151, label %4152, label %4156

4152:                                             ; preds = %4146
  %4153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4154 = call i32 @fileno(ptr noundef %4153) #11
  %4155 = call i32 @isatty(i32 noundef %4154) #11
  %.not836 = icmp eq i32 %4155, 0
  br i1 %.not836, label %4156, label %4157

4156:                                             ; preds = %4152, %4146
  br label %4157

4157:                                             ; preds = %4152, %4156
  %.str.5.sink2475 = phi ptr [ @.str.5, %4156 ], [ @.str.2, %4152 ]
  store i32 %4147, ptr %829, align 4, !tbaa !5
  %4158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4159 = load i32, ptr @test_count, align 4, !tbaa !5
  %4160 = load i32, ptr %775, align 4, !tbaa !5
  %4161 = call ptr @s2n_strerror(i32 noundef %4160, ptr noundef nonnull @.str.4) #11
  %4162 = load i32, ptr %775, align 4, !tbaa !5
  %4163 = call ptr @s2n_strerror_debug(i32 noundef %4162, ptr noundef nonnull @.str.4) #11
  %4164 = load i32, ptr %829, align 4, !tbaa !5
  %4165 = call ptr @strerror(i32 noundef %4164) #11
  %4166 = load i32, ptr %829, align 4, !tbaa !5
  %4167 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4158, ptr noundef nonnull %.str.5.sink2475, i32 noundef %4159, ptr noundef nonnull @.str.74, ptr noundef nonnull @.str.1, i32 noundef 493, ptr noundef %4161, ptr noundef %4163, ptr noundef %4165, i32 noundef %4166) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4168:                                             ; preds = %4141
  %4169 = add nsw i32 %4142, 2
  store i32 %4169, ptr @test_count, align 4, !tbaa !5
  %4170 = call ptr @s2n_strerror_debug(i32 noundef 335544386, ptr noundef nonnull @.str.4) #11
  %4171 = icmp eq ptr %4170, null
  br i1 %4171, label %4172, label %4194

4172:                                             ; preds = %4168
  %4173 = load i32, ptr %829, align 4, !tbaa !5
  %4174 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4175 = call i32 @s2n_print_stacktrace(ptr noundef %4174) #11
  %4176 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4177 = trunc nuw i8 %4176 to i1
  br i1 %4177, label %4178, label %4182

4178:                                             ; preds = %4172
  %4179 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4180 = call i32 @fileno(ptr noundef %4179) #11
  %4181 = call i32 @isatty(i32 noundef %4180) #11
  %.not1028 = icmp eq i32 %4181, 0
  br i1 %.not1028, label %4182, label %4183

4182:                                             ; preds = %4178, %4172
  br label %4183

4183:                                             ; preds = %4178, %4182
  %.str.5.sink2484 = phi ptr [ @.str.5, %4182 ], [ @.str.2, %4178 ]
  store i32 %4173, ptr %829, align 4, !tbaa !5
  %4184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4185 = load i32, ptr @test_count, align 4, !tbaa !5
  %4186 = load i32, ptr %775, align 4, !tbaa !5
  %4187 = call ptr @s2n_strerror(i32 noundef %4186, ptr noundef nonnull @.str.4) #11
  %4188 = load i32, ptr %775, align 4, !tbaa !5
  %4189 = call ptr @s2n_strerror_debug(i32 noundef %4188, ptr noundef nonnull @.str.4) #11
  %4190 = load i32, ptr %829, align 4, !tbaa !5
  %4191 = call ptr @strerror(i32 noundef %4190) #11
  %4192 = load i32, ptr %829, align 4, !tbaa !5
  %4193 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4184, ptr noundef nonnull %.str.5.sink2484, i32 noundef %4185, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 493, ptr noundef %4187, ptr noundef %4189, ptr noundef %4191, i32 noundef %4192) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4194:                                             ; preds = %4168
  store i32 0, ptr %775, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %829, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %81) #11
  %4195 = call i32 @s2n_pkey_free(ptr noundef nonnull %80) #11
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %80) #11
  %4196 = call i32 @s2n_stuffer_free(ptr noundef nonnull %79) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %79) #11
  %4197 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %78) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %78) #11
  %4198 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %77) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %77) #11
  %4199 = call i32 @s2n_x509_validator_wipe(ptr noundef nonnull %76) #11
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %76) #11
  call void @llvm.lifetime.end.p0(i64 12000, ptr nonnull %75) #11
  call void @s2n_x509_trust_store_wipe(ptr noundef nonnull %74) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %74) #11
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %82) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %82, i8 0, i64 16, i1 false)
  call void @s2n_x509_trust_store_init_empty(ptr noundef nonnull %82) #11
  call void @llvm.lifetime.start.p0(i64 12000, ptr nonnull %83) #11
  %4200 = load i32, ptr @test_count, align 4, !tbaa !5
  %4201 = add nsw i32 %4200, 1
  store i32 %4201, ptr @test_count, align 4, !tbaa !5
  %4202 = call i32 @s2n_read_test_pem(ptr noundef nonnull @.str.31, ptr noundef nonnull %83, i64 noundef 12000) #11
  %4203 = icmp eq i32 %4202, -1
  br i1 %4203, label %4204, label %4226

4204:                                             ; preds = %4194
  %4205 = load i32, ptr %829, align 4, !tbaa !5
  %4206 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4207 = call i32 @s2n_print_stacktrace(ptr noundef %4206) #11
  %4208 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4209 = trunc nuw i8 %4208 to i1
  br i1 %4209, label %4210, label %4214

4210:                                             ; preds = %4204
  %4211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4212 = call i32 @fileno(ptr noundef %4211) #11
  %4213 = call i32 @isatty(i32 noundef %4212) #11
  %.not1027 = icmp eq i32 %4213, 0
  br i1 %.not1027, label %4214, label %4215

4214:                                             ; preds = %4210, %4204
  br label %4215

4215:                                             ; preds = %4210, %4214
  %.str.5.sink2493 = phi ptr [ @.str.5, %4214 ], [ @.str.2, %4210 ]
  store i32 %4205, ptr %829, align 4, !tbaa !5
  %4216 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4217 = load i32, ptr @test_count, align 4, !tbaa !5
  %4218 = load i32, ptr %775, align 4, !tbaa !5
  %4219 = call ptr @s2n_strerror(i32 noundef %4218, ptr noundef nonnull @.str.4) #11
  %4220 = load i32, ptr %775, align 4, !tbaa !5
  %4221 = call ptr @s2n_strerror_debug(i32 noundef %4220, ptr noundef nonnull @.str.4) #11
  %4222 = load i32, ptr %829, align 4, !tbaa !5
  %4223 = call ptr @strerror(i32 noundef %4222) #11
  %4224 = load i32, ptr %829, align 4, !tbaa !5
  %4225 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4216, ptr noundef nonnull %.str.5.sink2493, i32 noundef %4217, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 502, ptr noundef %4219, ptr noundef %4221, ptr noundef %4223, i32 noundef %4224) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4226:                                             ; preds = %4194
  %4227 = load i32, ptr @test_count, align 4, !tbaa !5
  %4228 = add nsw i32 %4227, 1
  store i32 %4228, ptr @test_count, align 4, !tbaa !5
  %4229 = call i32 @s2n_x509_trust_store_add_pem(ptr noundef nonnull %82, ptr noundef nonnull %83) #11
  %4230 = icmp eq i32 %4229, -1
  br i1 %4230, label %4231, label %4253

4231:                                             ; preds = %4226
  %4232 = load i32, ptr %829, align 4, !tbaa !5
  %4233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4234 = call i32 @s2n_print_stacktrace(ptr noundef %4233) #11
  %4235 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4236 = trunc nuw i8 %4235 to i1
  br i1 %4236, label %4237, label %4241

4237:                                             ; preds = %4231
  %4238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4239 = call i32 @fileno(ptr noundef %4238) #11
  %4240 = call i32 @isatty(i32 noundef %4239) #11
  %.not1026 = icmp eq i32 %4240, 0
  br i1 %.not1026, label %4241, label %4242

4241:                                             ; preds = %4237, %4231
  br label %4242

4242:                                             ; preds = %4237, %4241
  %.str.5.sink2502 = phi ptr [ @.str.5, %4241 ], [ @.str.2, %4237 ]
  store i32 %4232, ptr %829, align 4, !tbaa !5
  %4243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4244 = load i32, ptr @test_count, align 4, !tbaa !5
  %4245 = load i32, ptr %775, align 4, !tbaa !5
  %4246 = call ptr @s2n_strerror(i32 noundef %4245, ptr noundef nonnull @.str.4) #11
  %4247 = load i32, ptr %775, align 4, !tbaa !5
  %4248 = call ptr @s2n_strerror_debug(i32 noundef %4247, ptr noundef nonnull @.str.4) #11
  %4249 = load i32, ptr %829, align 4, !tbaa !5
  %4250 = call ptr @strerror(i32 noundef %4249) #11
  %4251 = load i32, ptr %829, align 4, !tbaa !5
  %4252 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4243, ptr noundef nonnull %.str.5.sink2502, i32 noundef %4244, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 503, ptr noundef %4246, ptr noundef %4248, ptr noundef %4250, i32 noundef %4251) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4253:                                             ; preds = %4226
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %84) #11
  %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_x509_validator_init(ptr noundef nonnull %84, ptr noundef nonnull %82, i8 noundef zeroext 0) #11
  %4257 = icmp eq i32 %4256, -1
  br i1 %4257, label %4258, label %4280

4258:                                             ; preds = %4253
  %4259 = load i32, ptr %829, align 4, !tbaa !5
  %4260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4261 = call i32 @s2n_print_stacktrace(ptr noundef %4260) #11
  %4262 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4263 = trunc nuw i8 %4262 to i1
  br i1 %4263, label %4264, label %4268

4264:                                             ; preds = %4258
  %4265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4266 = call i32 @fileno(ptr noundef %4265) #11
  %4267 = call i32 @isatty(i32 noundef %4266) #11
  %.not1025 = icmp eq i32 %4267, 0
  br i1 %.not1025, label %4268, label %4269

4268:                                             ; preds = %4264, %4258
  br label %4269

4269:                                             ; preds = %4264, %4268
  %.str.5.sink2511 = phi ptr [ @.str.5, %4268 ], [ @.str.2, %4264 ]
  store i32 %4259, ptr %829, align 4, !tbaa !5
  %4270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4271 = load i32, ptr @test_count, align 4, !tbaa !5
  %4272 = load i32, ptr %775, align 4, !tbaa !5
  %4273 = call ptr @s2n_strerror(i32 noundef %4272, ptr noundef nonnull @.str.4) #11
  %4274 = load i32, ptr %775, align 4, !tbaa !5
  %4275 = call ptr @s2n_strerror_debug(i32 noundef %4274, ptr noundef nonnull @.str.4) #11
  %4276 = load i32, ptr %829, align 4, !tbaa !5
  %4277 = call ptr @strerror(i32 noundef %4276) #11
  %4278 = load i32, ptr %829, align 4, !tbaa !5
  %4279 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4270, ptr noundef nonnull %.str.5.sink2511, i32 noundef %4271, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 506, ptr noundef %4273, ptr noundef %4275, ptr noundef %4277, i32 noundef %4278) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4280:                                             ; preds = %4253
  call void @llvm.lifetime.start.p0(i64 88, ptr nonnull %85) #11
  %4281 = getelementptr inbounds i8, ptr %85, i64 16
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(88) %4281, i8 0, i64 72, i1 false)
  store ptr %993, ptr %85, align 8, !tbaa !9
  %4282 = getelementptr inbounds i8, ptr %85, i64 8
  store ptr %912, ptr %4282, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %86) #11
  %4283 = call ptr @s2n_config_new() #11
  store ptr %4283, ptr %86, align 8, !tbaa !9
  %4284 = load i32, ptr @test_count, align 4, !tbaa !5
  %4285 = add nsw i32 %4284, 1
  store i32 %4285, ptr @test_count, align 4, !tbaa !5
  %4286 = icmp eq ptr %4283, null
  br i1 %4286, label %4287, label %4309

4287:                                             ; preds = %4280
  %4288 = load i32, ptr %829, align 4, !tbaa !5
  %4289 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4290 = call i32 @s2n_print_stacktrace(ptr noundef %4289) #11
  %4291 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4292 = trunc nuw i8 %4291 to i1
  br i1 %4292, label %4293, label %4297

4293:                                             ; preds = %4287
  %4294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4295 = call i32 @fileno(ptr noundef %4294) #11
  %4296 = call i32 @isatty(i32 noundef %4295) #11
  %.not1024 = icmp eq i32 %4296, 0
  br i1 %.not1024, label %4297, label %4298

4297:                                             ; preds = %4293, %4287
  br label %4298

4298:                                             ; preds = %4293, %4297
  %.str.5.sink2520 = phi ptr [ @.str.5, %4297 ], [ @.str.2, %4293 ]
  store i32 %4288, ptr %829, align 4, !tbaa !5
  %4299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4300 = load i32, ptr @test_count, align 4, !tbaa !5
  %4301 = load i32, ptr %775, align 4, !tbaa !5
  %4302 = call ptr @s2n_strerror(i32 noundef %4301, ptr noundef nonnull @.str.4) #11
  %4303 = load i32, ptr %775, align 4, !tbaa !5
  %4304 = call ptr @s2n_strerror_debug(i32 noundef %4303, ptr noundef nonnull @.str.4) #11
  %4305 = load i32, ptr %829, align 4, !tbaa !5
  %4306 = call ptr @strerror(i32 noundef %4305) #11
  %4307 = load i32, ptr %829, align 4, !tbaa !5
  %4308 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4299, ptr noundef nonnull %.str.5.sink2520, i32 noundef %4300, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 513, ptr noundef %4302, ptr noundef %4304, ptr noundef %4306, i32 noundef %4307) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4309:                                             ; preds = %4280
  %4310 = add nsw i32 %4284, 2
  store i32 %4310, ptr @test_count, align 4, !tbaa !5
  %4311 = call i32 @s2n_config_set_crl_lookup_cb(ptr noundef nonnull %4283, ptr noundef nonnull @crl_lookup_test_callback, ptr noundef nonnull %85) #11
  %4312 = icmp eq i32 %4311, -1
  br i1 %4312, label %4313, label %4335

4313:                                             ; preds = %4309
  %4314 = load i32, ptr %829, align 4, !tbaa !5
  %4315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4316 = call i32 @s2n_print_stacktrace(ptr noundef %4315) #11
  %4317 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4318 = trunc nuw i8 %4317 to i1
  br i1 %4318, label %4319, label %4323

4319:                                             ; preds = %4313
  %4320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4321 = call i32 @fileno(ptr noundef %4320) #11
  %4322 = call i32 @isatty(i32 noundef %4321) #11
  %.not1023 = icmp eq i32 %4322, 0
  br i1 %.not1023, label %4323, label %4324

4323:                                             ; preds = %4319, %4313
  br label %4324

4324:                                             ; preds = %4319, %4323
  %.str.5.sink2529 = phi ptr [ @.str.5, %4323 ], [ @.str.2, %4319 ]
  store i32 %4314, ptr %829, align 4, !tbaa !5
  %4325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4326 = load i32, ptr @test_count, align 4, !tbaa !5
  %4327 = load i32, ptr %775, align 4, !tbaa !5
  %4328 = call ptr @s2n_strerror(i32 noundef %4327, ptr noundef nonnull @.str.4) #11
  %4329 = load i32, ptr %775, align 4, !tbaa !5
  %4330 = call ptr @s2n_strerror_debug(i32 noundef %4329, ptr noundef nonnull @.str.4) #11
  %4331 = load i32, ptr %829, align 4, !tbaa !5
  %4332 = call ptr @strerror(i32 noundef %4331) #11
  %4333 = load i32, ptr %829, align 4, !tbaa !5
  %4334 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4325, ptr noundef nonnull %.str.5.sink2529, i32 noundef %4326, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.1, i32 noundef 514, ptr noundef %4328, ptr noundef %4330, ptr noundef %4332, i32 noundef %4333) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4335:                                             ; preds = %4309
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %87) #11
  %4336 = call ptr @s2n_connection_new(i32 noundef 1) #11
  store ptr %4336, ptr %87, align 8, !tbaa !9
  %4337 = load i32, ptr @test_count, align 4, !tbaa !5
  %4338 = add nsw i32 %4337, 1
  store i32 %4338, ptr @test_count, align 4, !tbaa !5
  %4339 = icmp eq ptr %4336, null
  br i1 %4339, label %4340, label %4362

4340:                                             ; preds = %4335
  %4341 = load i32, ptr %829, align 4, !tbaa !5
  %4342 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4343 = call i32 @s2n_print_stacktrace(ptr noundef %4342) #11
  %4344 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4345 = trunc nuw i8 %4344 to i1
  br i1 %4345, label %4346, label %4350

4346:                                             ; preds = %4340
  %4347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4348 = call i32 @fileno(ptr noundef %4347) #11
  %4349 = call i32 @isatty(i32 noundef %4348) #11
  %.not1022 = icmp eq i32 %4349, 0
  br i1 %.not1022, label %4350, label %4351

4350:                                             ; preds = %4346, %4340
  br label %4351

4351:                                             ; preds = %4346, %4350
  %.str.5.sink2538 = phi ptr [ @.str.5, %4350 ], [ @.str.2, %4346 ]
  store i32 %4341, ptr %829, align 4, !tbaa !5
  %4352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4353 = load i32, ptr @test_count, align 4, !tbaa !5
  %4354 = load i32, ptr %775, align 4, !tbaa !5
  %4355 = call ptr @s2n_strerror(i32 noundef %4354, ptr noundef nonnull @.str.4) #11
  %4356 = load i32, ptr %775, align 4, !tbaa !5
  %4357 = call ptr @s2n_strerror_debug(i32 noundef %4356, ptr noundef nonnull @.str.4) #11
  %4358 = load i32, ptr %829, align 4, !tbaa !5
  %4359 = call ptr @strerror(i32 noundef %4358) #11
  %4360 = load i32, ptr %829, align 4, !tbaa !5
  %4361 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4352, ptr noundef nonnull %.str.5.sink2538, i32 noundef %4353, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 517, ptr noundef %4355, ptr noundef %4357, ptr noundef %4359, i32 noundef %4360) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4362:                                             ; preds = %4335
  %4363 = add nsw i32 %4337, 2
  store i32 %4363, ptr @test_count, align 4, !tbaa !5
  %4364 = load ptr, ptr %86, align 8, !tbaa !9
  %4365 = call i32 @s2n_connection_set_config(ptr noundef nonnull %4336, ptr noundef %4364) #11
  %4366 = icmp eq i32 %4365, -1
  br i1 %4366, label %4367, label %4389

4367:                                             ; preds = %4362
  %4368 = load i32, ptr %829, align 4, !tbaa !5
  %4369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4370 = call i32 @s2n_print_stacktrace(ptr noundef %4369) #11
  %4371 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4372 = trunc nuw i8 %4371 to i1
  br i1 %4372, label %4373, label %4377

4373:                                             ; preds = %4367
  %4374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4375 = call i32 @fileno(ptr noundef %4374) #11
  %4376 = call i32 @isatty(i32 noundef %4375) #11
  %.not1021 = icmp eq i32 %4376, 0
  br i1 %.not1021, label %4377, label %4378

4377:                                             ; preds = %4373, %4367
  br label %4378

4378:                                             ; preds = %4373, %4377
  %.str.5.sink2547 = phi ptr [ @.str.5, %4377 ], [ @.str.2, %4373 ]
  store i32 %4368, ptr %829, align 4, !tbaa !5
  %4379 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4380 = load i32, ptr @test_count, align 4, !tbaa !5
  %4381 = load i32, ptr %775, align 4, !tbaa !5
  %4382 = call ptr @s2n_strerror(i32 noundef %4381, ptr noundef nonnull @.str.4) #11
  %4383 = load i32, ptr %775, align 4, !tbaa !5
  %4384 = call ptr @s2n_strerror_debug(i32 noundef %4383, ptr noundef nonnull @.str.4) #11
  %4385 = load i32, ptr %829, align 4, !tbaa !5
  %4386 = call ptr @strerror(i32 noundef %4385) #11
  %4387 = load i32, ptr %829, align 4, !tbaa !5
  %4388 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4379, ptr noundef nonnull %.str.5.sink2547, i32 noundef %4380, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 518, ptr noundef %4382, ptr noundef %4384, ptr noundef %4386, i32 noundef %4387) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4389:                                             ; preds = %4362
  %4390 = load i32, ptr @test_count, align 4, !tbaa !5
  %4391 = add nsw i32 %4390, 1
  store i32 %4391, ptr @test_count, align 4, !tbaa !5
  %4392 = load ptr, ptr %87, align 8, !tbaa !9
  %4393 = call i32 @s2n_set_server_name(ptr noundef %4392, ptr noundef nonnull @.str.39) #11
  %4394 = icmp eq i32 %4393, -1
  br i1 %4394, label %4395, label %4417

4395:                                             ; preds = %4389
  %4396 = load i32, ptr %829, align 4, !tbaa !5
  %4397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4398 = call i32 @s2n_print_stacktrace(ptr noundef %4397) #11
  %4399 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4400 = trunc nuw i8 %4399 to i1
  br i1 %4400, label %4401, label %4405

4401:                                             ; preds = %4395
  %4402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4403 = call i32 @fileno(ptr noundef %4402) #11
  %4404 = call i32 @isatty(i32 noundef %4403) #11
  %.not1020 = icmp eq i32 %4404, 0
  br i1 %.not1020, label %4405, label %4406

4405:                                             ; preds = %4401, %4395
  br label %4406

4406:                                             ; preds = %4401, %4405
  %.str.5.sink2556 = phi ptr [ @.str.5, %4405 ], [ @.str.2, %4401 ]
  store i32 %4396, ptr %829, align 4, !tbaa !5
  %4407 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4408 = load i32, ptr @test_count, align 4, !tbaa !5
  %4409 = load i32, ptr %775, align 4, !tbaa !5
  %4410 = call ptr @s2n_strerror(i32 noundef %4409, ptr noundef nonnull @.str.4) #11
  %4411 = load i32, ptr %775, align 4, !tbaa !5
  %4412 = call ptr @s2n_strerror_debug(i32 noundef %4411, ptr noundef nonnull @.str.4) #11
  %4413 = load i32, ptr %829, align 4, !tbaa !5
  %4414 = call ptr @strerror(i32 noundef %4413) #11
  %4415 = load i32, ptr %829, align 4, !tbaa !5
  %4416 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4407, ptr noundef nonnull %.str.5.sink2556, i32 noundef %4408, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 519, ptr noundef %4410, ptr noundef %4412, ptr noundef %4414, i32 noundef %4415) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4417:                                             ; preds = %4389
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %88) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %88, i8 0, i64 40, i1 false)
  %4418 = load i32, ptr @test_count, align 4, !tbaa !5
  %4419 = add nsw i32 %4418, 1
  store i32 %4419, ptr @test_count, align 4, !tbaa !5
  %4420 = load ptr, ptr %87, align 8, !tbaa !9
  %4421 = call i32 @s2n_test_cert_chain_data_from_pem(ptr noundef %4420, ptr noundef nonnull @.str.41, ptr noundef nonnull %88) #11
  %4422 = call zeroext i1 @s2n_result_is_ok(i32 %4421)
  br i1 %4422, label %4445, label %4423

4423:                                             ; preds = %4417
  %4424 = load i32, ptr %829, align 4, !tbaa !5
  %4425 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4426 = call i32 @s2n_print_stacktrace(ptr noundef %4425) #11
  %4427 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4428 = trunc nuw i8 %4427 to i1
  br i1 %4428, label %4429, label %4433

4429:                                             ; preds = %4423
  %4430 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4431 = call i32 @fileno(ptr noundef %4430) #11
  %4432 = call i32 @isatty(i32 noundef %4431) #11
  %.not837 = icmp eq i32 %4432, 0
  br i1 %.not837, label %4433, label %4434

4433:                                             ; preds = %4429, %4423
  br label %4434

4434:                                             ; preds = %4429, %4433
  %.str.5.sink2565 = phi ptr [ @.str.5, %4433 ], [ @.str.2, %4429 ]
  store i32 %4424, ptr %829, align 4, !tbaa !5
  %4435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4436 = load i32, ptr @test_count, align 4, !tbaa !5
  %4437 = load i32, ptr %775, align 4, !tbaa !5
  %4438 = call ptr @s2n_strerror(i32 noundef %4437, ptr noundef nonnull @.str.4) #11
  %4439 = load i32, ptr %775, align 4, !tbaa !5
  %4440 = call ptr @s2n_strerror_debug(i32 noundef %4439, ptr noundef nonnull @.str.4) #11
  %4441 = load i32, ptr %829, align 4, !tbaa !5
  %4442 = call ptr @strerror(i32 noundef %4441) #11
  %4443 = load i32, ptr %829, align 4, !tbaa !5
  %4444 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4435, ptr noundef nonnull %.str.5.sink2565, i32 noundef %4436, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 522, ptr noundef %4438, ptr noundef %4440, ptr noundef %4442, i32 noundef %4443) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4445:                                             ; preds = %4417
  %4446 = getelementptr inbounds i8, ptr %88, i64 28
  %4447 = load i32, ptr %4446, align 4, !tbaa !23
  %4448 = getelementptr inbounds i8, ptr %88, i64 24
  %4449 = load i32, ptr %4448, align 8, !tbaa !26
  %4450 = sub i32 %4447, %4449
  %4451 = call ptr @s2n_stuffer_raw_read(ptr noundef nonnull %88, i32 noundef %4450) #11
  %4452 = load i32, ptr @test_count, align 4, !tbaa !5
  %4453 = add nsw i32 %4452, 1
  store i32 %4453, ptr @test_count, align 4, !tbaa !5
  %4454 = icmp eq ptr %4451, null
  br i1 %4454, label %4455, label %4477

4455:                                             ; preds = %4445
  %4456 = load i32, ptr %829, align 4, !tbaa !5
  %4457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4458 = call i32 @s2n_print_stacktrace(ptr noundef %4457) #11
  %4459 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4460 = trunc nuw i8 %4459 to i1
  br i1 %4460, label %4461, label %4465

4461:                                             ; preds = %4455
  %4462 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4463 = call i32 @fileno(ptr noundef %4462) #11
  %4464 = call i32 @isatty(i32 noundef %4463) #11
  %.not1019 = icmp eq i32 %4464, 0
  br i1 %.not1019, label %4465, label %4466

4465:                                             ; preds = %4461, %4455
  br label %4466

4466:                                             ; preds = %4461, %4465
  %.str.5.sink2574 = phi ptr [ @.str.5, %4465 ], [ @.str.2, %4461 ]
  store i32 %4456, ptr %829, align 4, !tbaa !5
  %4467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4468 = load i32, ptr @test_count, align 4, !tbaa !5
  %4469 = load i32, ptr %775, align 4, !tbaa !5
  %4470 = call ptr @s2n_strerror(i32 noundef %4469, ptr noundef nonnull @.str.4) #11
  %4471 = load i32, ptr %775, align 4, !tbaa !5
  %4472 = call ptr @s2n_strerror_debug(i32 noundef %4471, ptr noundef nonnull @.str.4) #11
  %4473 = load i32, ptr %829, align 4, !tbaa !5
  %4474 = call ptr @strerror(i32 noundef %4473) #11
  %4475 = load i32, ptr %829, align 4, !tbaa !5
  %4476 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4467, ptr noundef nonnull %.str.5.sink2574, i32 noundef %4468, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 525, ptr noundef %4470, ptr noundef %4472, ptr noundef %4474, i32 noundef %4475) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4477:                                             ; preds = %4445
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %89) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %89, i8 0, i64 48, i1 false)
  %4478 = add nsw i32 %4452, 2
  store i32 %4478, ptr @test_count, align 4, !tbaa !5
  %4479 = call i32 @s2n_pkey_zero_init(ptr noundef nonnull %89) #11
  %4480 = icmp eq i32 %4479, -1
  br i1 %4480, label %4481, label %4503

4481:                                             ; preds = %4477
  %4482 = load i32, ptr %829, align 4, !tbaa !5
  %4483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4484 = call i32 @s2n_print_stacktrace(ptr noundef %4483) #11
  %4485 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4486 = trunc nuw i8 %4485 to i1
  br i1 %4486, label %4487, label %4491

4487:                                             ; preds = %4481
  %4488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4489 = call i32 @fileno(ptr noundef %4488) #11
  %4490 = call i32 @isatty(i32 noundef %4489) #11
  %.not1018 = icmp eq i32 %4490, 0
  br i1 %.not1018, label %4491, label %4492

4491:                                             ; preds = %4487, %4481
  br label %4492

4492:                                             ; preds = %4487, %4491
  %.str.5.sink2583 = phi ptr [ @.str.5, %4491 ], [ @.str.2, %4487 ]
  store i32 %4482, ptr %829, align 4, !tbaa !5
  %4493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4494 = load i32, ptr @test_count, align 4, !tbaa !5
  %4495 = load i32, ptr %775, align 4, !tbaa !5
  %4496 = call ptr @s2n_strerror(i32 noundef %4495, ptr noundef nonnull @.str.4) #11
  %4497 = load i32, ptr %775, align 4, !tbaa !5
  %4498 = call ptr @s2n_strerror_debug(i32 noundef %4497, ptr noundef nonnull @.str.4) #11
  %4499 = load i32, ptr %829, align 4, !tbaa !5
  %4500 = call ptr @strerror(i32 noundef %4499) #11
  %4501 = load i32, ptr %829, align 4, !tbaa !5
  %4502 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4493, ptr noundef nonnull %.str.5.sink2583, i32 noundef %4494, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 528, ptr noundef %4496, ptr noundef %4498, ptr noundef %4500, i32 noundef %4501) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4503:                                             ; preds = %4477
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %90) #11
  store i32 -1, ptr %90, align 4, !tbaa !5
  %4504 = load i32, ptr @test_count, align 4, !tbaa !5
  %4505 = add nsw i32 %4504, 1
  store i32 %4505, ptr @test_count, align 4, !tbaa !5
  %4506 = load ptr, ptr %87, align 8, !tbaa !9
  %4507 = call i32 @s2n_x509_validator_validate_cert_chain(ptr noundef nonnull %84, ptr noundef %4506, ptr noundef nonnull %4451, i32 noundef %4450, ptr noundef nonnull %90, ptr noundef nonnull %89) #11
  %4508 = call zeroext i1 @s2n_result_is_ok(i32 %4507)
  br i1 %4508, label %4531, label %4509

4509:                                             ; preds = %4503
  %4510 = load i32, ptr %829, align 4, !tbaa !5
  %4511 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4512 = call i32 @s2n_print_stacktrace(ptr noundef %4511) #11
  %4513 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4514 = trunc nuw i8 %4513 to i1
  br i1 %4514, label %4515, label %4519

4515:                                             ; preds = %4509
  %4516 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4517 = call i32 @fileno(ptr noundef %4516) #11
  %4518 = call i32 @isatty(i32 noundef %4517) #11
  %.not838 = icmp eq i32 %4518, 0
  br i1 %.not838, label %4519, label %4520

4519:                                             ; preds = %4515, %4509
  br label %4520

4520:                                             ; preds = %4515, %4519
  %.str.5.sink2592 = phi ptr [ @.str.5, %4519 ], [ @.str.2, %4515 ]
  store i32 %4510, ptr %829, align 4, !tbaa !5
  %4521 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4522 = load i32, ptr @test_count, align 4, !tbaa !5
  %4523 = load i32, ptr %775, align 4, !tbaa !5
  %4524 = call ptr @s2n_strerror(i32 noundef %4523, ptr noundef nonnull @.str.4) #11
  %4525 = load i32, ptr %775, align 4, !tbaa !5
  %4526 = call ptr @s2n_strerror_debug(i32 noundef %4525, ptr noundef nonnull @.str.4) #11
  %4527 = load i32, ptr %829, align 4, !tbaa !5
  %4528 = call ptr @strerror(i32 noundef %4527) #11
  %4529 = load i32, ptr %829, align 4, !tbaa !5
  %4530 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4521, ptr noundef nonnull %.str.5.sink2592, i32 noundef %4522, ptr noundef nonnull @.str.64, ptr noundef nonnull @.str.1, i32 noundef 531, ptr noundef %4524, ptr noundef %4526, ptr noundef %4528, i32 noundef %4529) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4531:                                             ; preds = %4503
  %4532 = load i32, ptr @test_count, align 4, !tbaa !5
  %4533 = add nsw i32 %4532, 1
  store i32 %4533, ptr @test_count, align 4, !tbaa !5
  %4534 = getelementptr inbounds i8, ptr %85, i64 80
  %4535 = load i8, ptr %4534, align 8, !tbaa !27
  %4536 = icmp eq i8 %4535, 2
  br i1 %4536, label %4559, label %4537

4537:                                             ; preds = %4531
  %4538 = load i32, ptr %829, align 4, !tbaa !5
  %4539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4540 = call i32 @s2n_print_stacktrace(ptr noundef %4539) #11
  %4541 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4542 = trunc nuw i8 %4541 to i1
  br i1 %4542, label %4543, label %4547

4543:                                             ; preds = %4537
  %4544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4545 = call i32 @fileno(ptr noundef %4544) #11
  %4546 = call i32 @isatty(i32 noundef %4545) #11
  %.not839 = icmp eq i32 %4546, 0
  br i1 %.not839, label %4547, label %4548

4547:                                             ; preds = %4543, %4537
  br label %4548

4548:                                             ; preds = %4543, %4547
  %.str.5.sink2601 = phi ptr [ @.str.5, %4547 ], [ @.str.2, %4543 ]
  store i32 %4538, ptr %829, align 4, !tbaa !5
  %4549 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4550 = load i32, ptr @test_count, align 4, !tbaa !5
  %4551 = load i32, ptr %775, align 4, !tbaa !5
  %4552 = call ptr @s2n_strerror(i32 noundef %4551, ptr noundef nonnull @.str.4) #11
  %4553 = load i32, ptr %775, align 4, !tbaa !5
  %4554 = call ptr @s2n_strerror_debug(i32 noundef %4553, ptr noundef nonnull @.str.4) #11
  %4555 = load i32, ptr %829, align 4, !tbaa !5
  %4556 = call ptr @strerror(i32 noundef %4555) #11
  %4557 = load i32, ptr %829, align 4, !tbaa !5
  %4558 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4549, ptr noundef nonnull %.str.5.sink2601, i32 noundef %4550, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.1, i32 noundef 532, ptr noundef %4552, ptr noundef %4554, ptr noundef %4556, i32 noundef %4557) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4559:                                             ; preds = %4531
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %90) #11
  %4560 = call i32 @s2n_pkey_free(ptr noundef nonnull %89) #11
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %89) #11
  %4561 = call i32 @s2n_stuffer_free(ptr noundef nonnull %88) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %88) #11
  %4562 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %87) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %87) #11
  %4563 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %86) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %86) #11
  call void @llvm.lifetime.end.p0(i64 88, ptr nonnull %85) #11
  %4564 = call i32 @s2n_x509_validator_wipe(ptr noundef nonnull %84) #11
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %84) #11
  call void @llvm.lifetime.end.p0(i64 12000, ptr nonnull %83) #11
  call void @s2n_x509_trust_store_wipe(ptr noundef nonnull %82) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %82) #11
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %91) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %91, i8 0, i64 16, i1 false)
  call void @s2n_x509_trust_store_init_empty(ptr noundef nonnull %91) #11
  call void @llvm.lifetime.start.p0(i64 12000, ptr nonnull %92) #11
  %4565 = load i32, ptr @test_count, align 4, !tbaa !5
  %4566 = add nsw i32 %4565, 1
  store i32 %4566, ptr @test_count, align 4, !tbaa !5
  %4567 = call i32 @s2n_read_test_pem(ptr noundef nonnull @.str.31, ptr noundef nonnull %92, i64 noundef 12000) #11
  %4568 = icmp eq i32 %4567, -1
  br i1 %4568, label %4569, label %4591

4569:                                             ; preds = %4559
  %4570 = load i32, ptr %829, align 4, !tbaa !5
  %4571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4572 = call i32 @s2n_print_stacktrace(ptr noundef %4571) #11
  %4573 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4574 = trunc nuw i8 %4573 to i1
  br i1 %4574, label %4575, label %4579

4575:                                             ; preds = %4569
  %4576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4577 = call i32 @fileno(ptr noundef %4576) #11
  %4578 = call i32 @isatty(i32 noundef %4577) #11
  %.not1017 = icmp eq i32 %4578, 0
  br i1 %.not1017, label %4579, label %4580

4579:                                             ; preds = %4575, %4569
  br label %4580

4580:                                             ; preds = %4575, %4579
  %.str.5.sink2610 = phi ptr [ @.str.5, %4579 ], [ @.str.2, %4575 ]
  store i32 %4570, ptr %829, align 4, !tbaa !5
  %4581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4582 = load i32, ptr @test_count, align 4, !tbaa !5
  %4583 = load i32, ptr %775, align 4, !tbaa !5
  %4584 = call ptr @s2n_strerror(i32 noundef %4583, ptr noundef nonnull @.str.4) #11
  %4585 = load i32, ptr %775, align 4, !tbaa !5
  %4586 = call ptr @s2n_strerror_debug(i32 noundef %4585, ptr noundef nonnull @.str.4) #11
  %4587 = load i32, ptr %829, align 4, !tbaa !5
  %4588 = call ptr @strerror(i32 noundef %4587) #11
  %4589 = load i32, ptr %829, align 4, !tbaa !5
  %4590 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4581, ptr noundef nonnull %.str.5.sink2610, i32 noundef %4582, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 541, ptr noundef %4584, ptr noundef %4586, ptr noundef %4588, i32 noundef %4589) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4591:                                             ; preds = %4559
  %4592 = load i32, ptr @test_count, align 4, !tbaa !5
  %4593 = add nsw i32 %4592, 1
  store i32 %4593, ptr @test_count, align 4, !tbaa !5
  %4594 = call i32 @s2n_x509_trust_store_add_pem(ptr noundef nonnull %91, ptr noundef nonnull %92) #11
  %4595 = icmp eq i32 %4594, -1
  br i1 %4595, label %4596, label %4618

4596:                                             ; preds = %4591
  %4597 = load i32, ptr %829, align 4, !tbaa !5
  %4598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4599 = call i32 @s2n_print_stacktrace(ptr noundef %4598) #11
  %4600 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4601 = trunc nuw i8 %4600 to i1
  br i1 %4601, label %4602, label %4606

4602:                                             ; preds = %4596
  %4603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4604 = call i32 @fileno(ptr noundef %4603) #11
  %4605 = call i32 @isatty(i32 noundef %4604) #11
  %.not1016 = icmp eq i32 %4605, 0
  br i1 %.not1016, label %4606, label %4607

4606:                                             ; preds = %4602, %4596
  br label %4607

4607:                                             ; preds = %4602, %4606
  %.str.5.sink2619 = phi ptr [ @.str.5, %4606 ], [ @.str.2, %4602 ]
  store i32 %4597, ptr %829, align 4, !tbaa !5
  %4608 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4609 = load i32, ptr @test_count, align 4, !tbaa !5
  %4610 = load i32, ptr %775, align 4, !tbaa !5
  %4611 = call ptr @s2n_strerror(i32 noundef %4610, ptr noundef nonnull @.str.4) #11
  %4612 = load i32, ptr %775, align 4, !tbaa !5
  %4613 = call ptr @s2n_strerror_debug(i32 noundef %4612, ptr noundef nonnull @.str.4) #11
  %4614 = load i32, ptr %829, align 4, !tbaa !5
  %4615 = call ptr @strerror(i32 noundef %4614) #11
  %4616 = load i32, ptr %829, align 4, !tbaa !5
  %4617 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4608, ptr noundef nonnull %.str.5.sink2619, i32 noundef %4609, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 542, ptr noundef %4611, ptr noundef %4613, ptr noundef %4615, i32 noundef %4616) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4618:                                             ; preds = %4591
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %93) #11
  %4619 = load i32, ptr @test_count, align 4, !tbaa !5
  %4620 = add nsw i32 %4619, 1
  store i32 %4620, ptr @test_count, align 4, !tbaa !5
  %4621 = call i32 @s2n_x509_validator_init(ptr noundef nonnull %93, ptr noundef nonnull %91, i8 noundef zeroext 0) #11
  %4622 = icmp eq i32 %4621, -1
  br i1 %4622, label %4623, label %4645

4623:                                             ; preds = %4618
  %4624 = load i32, ptr %829, align 4, !tbaa !5
  %4625 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4626 = call i32 @s2n_print_stacktrace(ptr noundef %4625) #11
  %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) #11
  %4632 = call i32 @isatty(i32 noundef %4631) #11
  %.not1015 = icmp eq i32 %4632, 0
  br i1 %.not1015, label %4633, label %4634

4633:                                             ; preds = %4629, %4623
  br label %4634

4634:                                             ; preds = %4629, %4633
  %.str.5.sink2628 = phi ptr [ @.str.5, %4633 ], [ @.str.2, %4629 ]
  store i32 %4624, ptr %829, 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 %775, align 4, !tbaa !5
  %4638 = call ptr @s2n_strerror(i32 noundef %4637, ptr noundef nonnull @.str.4) #11
  %4639 = load i32, ptr %775, align 4, !tbaa !5
  %4640 = call ptr @s2n_strerror_debug(i32 noundef %4639, ptr noundef nonnull @.str.4) #11
  %4641 = load i32, ptr %829, align 4, !tbaa !5
  %4642 = call ptr @strerror(i32 noundef %4641) #11
  %4643 = load i32, ptr %829, align 4, !tbaa !5
  %4644 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4635, ptr noundef nonnull %.str.5.sink2628, i32 noundef %4636, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 545, ptr noundef %4638, ptr noundef %4640, ptr noundef %4642, i32 noundef %4643) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4645:                                             ; preds = %4618
  call void @llvm.lifetime.start.p0(i64 88, ptr nonnull %94) #11
  %4646 = getelementptr inbounds i8, ptr %94, i64 16
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(88) %4646, i8 0, i64 72, i1 false)
  store ptr %993, ptr %94, align 8, !tbaa !9
  %4647 = getelementptr inbounds i8, ptr %94, i64 8
  store ptr %912, ptr %4647, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %95) #11
  %4648 = call ptr @s2n_config_new() #11
  store ptr %4648, ptr %95, align 8, !tbaa !9
  %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 = icmp eq ptr %4648, null
  br i1 %4651, label %4652, label %4674

4652:                                             ; preds = %4645
  %4653 = load i32, ptr %829, align 4, !tbaa !5
  %4654 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4655 = call i32 @s2n_print_stacktrace(ptr noundef %4654) #11
  %4656 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4657 = trunc nuw i8 %4656 to i1
  br i1 %4657, label %4658, label %4662

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

4662:                                             ; preds = %4658, %4652
  br label %4663

4663:                                             ; preds = %4658, %4662
  %.str.5.sink2637 = phi ptr [ @.str.5, %4662 ], [ @.str.2, %4658 ]
  store i32 %4653, ptr %829, align 4, !tbaa !5
  %4664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4665 = load i32, ptr @test_count, align 4, !tbaa !5
  %4666 = load i32, ptr %775, align 4, !tbaa !5
  %4667 = call ptr @s2n_strerror(i32 noundef %4666, ptr noundef nonnull @.str.4) #11
  %4668 = load i32, ptr %775, align 4, !tbaa !5
  %4669 = call ptr @s2n_strerror_debug(i32 noundef %4668, ptr noundef nonnull @.str.4) #11
  %4670 = load i32, ptr %829, align 4, !tbaa !5
  %4671 = call ptr @strerror(i32 noundef %4670) #11
  %4672 = load i32, ptr %829, align 4, !tbaa !5
  %4673 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4664, ptr noundef nonnull %.str.5.sink2637, i32 noundef %4665, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 552, ptr noundef %4667, ptr noundef %4669, ptr noundef %4671, i32 noundef %4672) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4674:                                             ; preds = %4645
  %4675 = add nsw i32 %4649, 2
  store i32 %4675, ptr @test_count, align 4, !tbaa !5
  %4676 = call i32 @s2n_config_set_crl_lookup_cb(ptr noundef nonnull %4648, ptr noundef nonnull @crl_lookup_test_callback, ptr noundef nonnull %94) #11
  %4677 = icmp eq i32 %4676, -1
  br i1 %4677, label %4678, label %4700

4678:                                             ; preds = %4674
  %4679 = load i32, ptr %829, align 4, !tbaa !5
  %4680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4681 = call i32 @s2n_print_stacktrace(ptr noundef %4680) #11
  %4682 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4683 = trunc nuw i8 %4682 to i1
  br i1 %4683, label %4684, label %4688

4684:                                             ; preds = %4678
  %4685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4686 = call i32 @fileno(ptr noundef %4685) #11
  %4687 = call i32 @isatty(i32 noundef %4686) #11
  %.not1013 = icmp eq i32 %4687, 0
  br i1 %.not1013, label %4688, label %4689

4688:                                             ; preds = %4684, %4678
  br label %4689

4689:                                             ; preds = %4684, %4688
  %.str.5.sink2646 = phi ptr [ @.str.5, %4688 ], [ @.str.2, %4684 ]
  store i32 %4679, ptr %829, align 4, !tbaa !5
  %4690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4691 = load i32, ptr @test_count, align 4, !tbaa !5
  %4692 = load i32, ptr %775, align 4, !tbaa !5
  %4693 = call ptr @s2n_strerror(i32 noundef %4692, ptr noundef nonnull @.str.4) #11
  %4694 = load i32, ptr %775, align 4, !tbaa !5
  %4695 = call ptr @s2n_strerror_debug(i32 noundef %4694, ptr noundef nonnull @.str.4) #11
  %4696 = load i32, ptr %829, align 4, !tbaa !5
  %4697 = call ptr @strerror(i32 noundef %4696) #11
  %4698 = load i32, ptr %829, align 4, !tbaa !5
  %4699 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4690, ptr noundef nonnull %.str.5.sink2646, i32 noundef %4691, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.1, i32 noundef 553, ptr noundef %4693, ptr noundef %4695, ptr noundef %4697, i32 noundef %4698) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4700:                                             ; preds = %4674
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %96) #11
  %4701 = call ptr @s2n_connection_new(i32 noundef 1) #11
  store ptr %4701, ptr %96, align 8, !tbaa !9
  %4702 = load i32, ptr @test_count, align 4, !tbaa !5
  %4703 = add nsw i32 %4702, 1
  store i32 %4703, ptr @test_count, align 4, !tbaa !5
  %4704 = icmp eq ptr %4701, null
  br i1 %4704, label %4705, label %4727

4705:                                             ; preds = %4700
  %4706 = load i32, ptr %829, align 4, !tbaa !5
  %4707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4708 = call i32 @s2n_print_stacktrace(ptr noundef %4707) #11
  %4709 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4710 = trunc nuw i8 %4709 to i1
  br i1 %4710, label %4711, label %4715

4711:                                             ; preds = %4705
  %4712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4713 = call i32 @fileno(ptr noundef %4712) #11
  %4714 = call i32 @isatty(i32 noundef %4713) #11
  %.not1012 = icmp eq i32 %4714, 0
  br i1 %.not1012, label %4715, label %4716

4715:                                             ; preds = %4711, %4705
  br label %4716

4716:                                             ; preds = %4711, %4715
  %.str.5.sink2655 = phi ptr [ @.str.5, %4715 ], [ @.str.2, %4711 ]
  store i32 %4706, ptr %829, align 4, !tbaa !5
  %4717 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4718 = load i32, ptr @test_count, align 4, !tbaa !5
  %4719 = load i32, ptr %775, align 4, !tbaa !5
  %4720 = call ptr @s2n_strerror(i32 noundef %4719, ptr noundef nonnull @.str.4) #11
  %4721 = load i32, ptr %775, align 4, !tbaa !5
  %4722 = call ptr @s2n_strerror_debug(i32 noundef %4721, ptr noundef nonnull @.str.4) #11
  %4723 = load i32, ptr %829, align 4, !tbaa !5
  %4724 = call ptr @strerror(i32 noundef %4723) #11
  %4725 = load i32, ptr %829, align 4, !tbaa !5
  %4726 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4717, ptr noundef nonnull %.str.5.sink2655, i32 noundef %4718, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 556, ptr noundef %4720, ptr noundef %4722, ptr noundef %4724, i32 noundef %4725) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4727:                                             ; preds = %4700
  %4728 = add nsw i32 %4702, 2
  store i32 %4728, ptr @test_count, align 4, !tbaa !5
  %4729 = load ptr, ptr %95, align 8, !tbaa !9
  %4730 = call i32 @s2n_connection_set_config(ptr noundef nonnull %4701, ptr noundef %4729) #11
  %4731 = icmp eq i32 %4730, -1
  br i1 %4731, label %4732, label %4754

4732:                                             ; preds = %4727
  %4733 = load i32, ptr %829, align 4, !tbaa !5
  %4734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4735 = call i32 @s2n_print_stacktrace(ptr noundef %4734) #11
  %4736 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4737 = trunc nuw i8 %4736 to i1
  br i1 %4737, label %4738, label %4742

4738:                                             ; preds = %4732
  %4739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4740 = call i32 @fileno(ptr noundef %4739) #11
  %4741 = call i32 @isatty(i32 noundef %4740) #11
  %.not1011 = icmp eq i32 %4741, 0
  br i1 %.not1011, label %4742, label %4743

4742:                                             ; preds = %4738, %4732
  br label %4743

4743:                                             ; preds = %4738, %4742
  %.str.5.sink2664 = phi ptr [ @.str.5, %4742 ], [ @.str.2, %4738 ]
  store i32 %4733, ptr %829, align 4, !tbaa !5
  %4744 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4745 = load i32, ptr @test_count, align 4, !tbaa !5
  %4746 = load i32, ptr %775, align 4, !tbaa !5
  %4747 = call ptr @s2n_strerror(i32 noundef %4746, ptr noundef nonnull @.str.4) #11
  %4748 = load i32, ptr %775, align 4, !tbaa !5
  %4749 = call ptr @s2n_strerror_debug(i32 noundef %4748, ptr noundef nonnull @.str.4) #11
  %4750 = load i32, ptr %829, align 4, !tbaa !5
  %4751 = call ptr @strerror(i32 noundef %4750) #11
  %4752 = load i32, ptr %829, align 4, !tbaa !5
  %4753 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4744, ptr noundef nonnull %.str.5.sink2664, i32 noundef %4745, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 557, ptr noundef %4747, ptr noundef %4749, ptr noundef %4751, i32 noundef %4752) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4754:                                             ; preds = %4727
  %4755 = load i32, ptr @test_count, align 4, !tbaa !5
  %4756 = add nsw i32 %4755, 1
  store i32 %4756, ptr @test_count, align 4, !tbaa !5
  %4757 = load ptr, ptr %96, align 8, !tbaa !9
  %4758 = call i32 @s2n_set_server_name(ptr noundef %4757, ptr noundef nonnull @.str.39) #11
  %4759 = icmp eq i32 %4758, -1
  br i1 %4759, label %4760, label %4782

4760:                                             ; preds = %4754
  %4761 = load i32, ptr %829, align 4, !tbaa !5
  %4762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4763 = call i32 @s2n_print_stacktrace(ptr noundef %4762) #11
  %4764 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4765 = trunc nuw i8 %4764 to i1
  br i1 %4765, label %4766, label %4770

4766:                                             ; preds = %4760
  %4767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4768 = call i32 @fileno(ptr noundef %4767) #11
  %4769 = call i32 @isatty(i32 noundef %4768) #11
  %.not1010 = icmp eq i32 %4769, 0
  br i1 %.not1010, label %4770, label %4771

4770:                                             ; preds = %4766, %4760
  br label %4771

4771:                                             ; preds = %4766, %4770
  %.str.5.sink2673 = phi ptr [ @.str.5, %4770 ], [ @.str.2, %4766 ]
  store i32 %4761, ptr %829, align 4, !tbaa !5
  %4772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4773 = load i32, ptr @test_count, align 4, !tbaa !5
  %4774 = load i32, ptr %775, align 4, !tbaa !5
  %4775 = call ptr @s2n_strerror(i32 noundef %4774, ptr noundef nonnull @.str.4) #11
  %4776 = load i32, ptr %775, align 4, !tbaa !5
  %4777 = call ptr @s2n_strerror_debug(i32 noundef %4776, ptr noundef nonnull @.str.4) #11
  %4778 = load i32, ptr %829, align 4, !tbaa !5
  %4779 = call ptr @strerror(i32 noundef %4778) #11
  %4780 = load i32, ptr %829, align 4, !tbaa !5
  %4781 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4772, ptr noundef nonnull %.str.5.sink2673, i32 noundef %4773, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 558, ptr noundef %4775, ptr noundef %4777, ptr noundef %4779, i32 noundef %4780) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4782:                                             ; preds = %4754
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %97) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %97, i8 0, i64 40, i1 false)
  %4783 = load i32, ptr @test_count, align 4, !tbaa !5
  %4784 = add nsw i32 %4783, 1
  store i32 %4784, ptr @test_count, align 4, !tbaa !5
  %4785 = load ptr, ptr %96, align 8, !tbaa !9
  %4786 = call i32 @s2n_test_cert_chain_data_from_pem(ptr noundef %4785, ptr noundef nonnull @.str.50, ptr noundef nonnull %97) #11
  %4787 = call zeroext i1 @s2n_result_is_ok(i32 %4786)
  br i1 %4787, label %4810, label %4788

4788:                                             ; preds = %4782
  %4789 = load i32, ptr %829, align 4, !tbaa !5
  %4790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4791 = call i32 @s2n_print_stacktrace(ptr noundef %4790) #11
  %4792 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4793 = trunc nuw i8 %4792 to i1
  br i1 %4793, label %4794, label %4798

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

4798:                                             ; preds = %4794, %4788
  br label %4799

4799:                                             ; preds = %4794, %4798
  %.str.5.sink2682 = phi ptr [ @.str.5, %4798 ], [ @.str.2, %4794 ]
  store i32 %4789, ptr %829, align 4, !tbaa !5
  %4800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4801 = load i32, ptr @test_count, align 4, !tbaa !5
  %4802 = load i32, ptr %775, align 4, !tbaa !5
  %4803 = call ptr @s2n_strerror(i32 noundef %4802, ptr noundef nonnull @.str.4) #11
  %4804 = load i32, ptr %775, align 4, !tbaa !5
  %4805 = call ptr @s2n_strerror_debug(i32 noundef %4804, ptr noundef nonnull @.str.4) #11
  %4806 = load i32, ptr %829, align 4, !tbaa !5
  %4807 = call ptr @strerror(i32 noundef %4806) #11
  %4808 = load i32, ptr %829, align 4, !tbaa !5
  %4809 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4800, ptr noundef nonnull %.str.5.sink2682, i32 noundef %4801, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.1, i32 noundef 561, ptr noundef %4803, ptr noundef %4805, ptr noundef %4807, i32 noundef %4808) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4810:                                             ; preds = %4782
  %4811 = getelementptr inbounds i8, ptr %97, i64 28
  %4812 = load i32, ptr %4811, align 4, !tbaa !23
  %4813 = getelementptr inbounds i8, ptr %97, i64 24
  %4814 = load i32, ptr %4813, align 8, !tbaa !26
  %4815 = sub i32 %4812, %4814
  %4816 = call ptr @s2n_stuffer_raw_read(ptr noundef nonnull %97, i32 noundef %4815) #11
  %4817 = load i32, ptr @test_count, align 4, !tbaa !5
  %4818 = add nsw i32 %4817, 1
  store i32 %4818, ptr @test_count, align 4, !tbaa !5
  %4819 = icmp eq ptr %4816, null
  br i1 %4819, label %4820, label %4842

4820:                                             ; preds = %4810
  %4821 = load i32, ptr %829, align 4, !tbaa !5
  %4822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4823 = call i32 @s2n_print_stacktrace(ptr noundef %4822) #11
  %4824 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4825 = trunc nuw i8 %4824 to i1
  br i1 %4825, label %4826, label %4830

4826:                                             ; preds = %4820
  %4827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4828 = call i32 @fileno(ptr noundef %4827) #11
  %4829 = call i32 @isatty(i32 noundef %4828) #11
  %.not1009 = icmp eq i32 %4829, 0
  br i1 %.not1009, label %4830, label %4831

4830:                                             ; preds = %4826, %4820
  br label %4831

4831:                                             ; preds = %4826, %4830
  %.str.5.sink2691 = phi ptr [ @.str.5, %4830 ], [ @.str.2, %4826 ]
  store i32 %4821, ptr %829, align 4, !tbaa !5
  %4832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4833 = load i32, ptr @test_count, align 4, !tbaa !5
  %4834 = load i32, ptr %775, align 4, !tbaa !5
  %4835 = call ptr @s2n_strerror(i32 noundef %4834, ptr noundef nonnull @.str.4) #11
  %4836 = load i32, ptr %775, align 4, !tbaa !5
  %4837 = call ptr @s2n_strerror_debug(i32 noundef %4836, ptr noundef nonnull @.str.4) #11
  %4838 = load i32, ptr %829, align 4, !tbaa !5
  %4839 = call ptr @strerror(i32 noundef %4838) #11
  %4840 = load i32, ptr %829, align 4, !tbaa !5
  %4841 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4832, ptr noundef nonnull %.str.5.sink2691, i32 noundef %4833, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 564, ptr noundef %4835, ptr noundef %4837, ptr noundef %4839, i32 noundef %4840) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4842:                                             ; preds = %4810
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %98) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %98, i8 0, i64 48, i1 false)
  %4843 = add nsw i32 %4817, 2
  store i32 %4843, ptr @test_count, align 4, !tbaa !5
  %4844 = call i32 @s2n_pkey_zero_init(ptr noundef nonnull %98) #11
  %4845 = icmp eq i32 %4844, -1
  br i1 %4845, label %4846, label %4868

4846:                                             ; preds = %4842
  %4847 = load i32, ptr %829, align 4, !tbaa !5
  %4848 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4849 = call i32 @s2n_print_stacktrace(ptr noundef %4848) #11
  %4850 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4851 = trunc nuw i8 %4850 to i1
  br i1 %4851, label %4852, label %4856

4852:                                             ; preds = %4846
  %4853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4854 = call i32 @fileno(ptr noundef %4853) #11
  %4855 = call i32 @isatty(i32 noundef %4854) #11
  %.not1008 = icmp eq i32 %4855, 0
  br i1 %.not1008, label %4856, label %4857

4856:                                             ; preds = %4852, %4846
  br label %4857

4857:                                             ; preds = %4852, %4856
  %.str.5.sink2700 = phi ptr [ @.str.5, %4856 ], [ @.str.2, %4852 ]
  store i32 %4847, ptr %829, align 4, !tbaa !5
  %4858 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4859 = load i32, ptr @test_count, align 4, !tbaa !5
  %4860 = load i32, ptr %775, align 4, !tbaa !5
  %4861 = call ptr @s2n_strerror(i32 noundef %4860, ptr noundef nonnull @.str.4) #11
  %4862 = load i32, ptr %775, align 4, !tbaa !5
  %4863 = call ptr @s2n_strerror_debug(i32 noundef %4862, ptr noundef nonnull @.str.4) #11
  %4864 = load i32, ptr %829, align 4, !tbaa !5
  %4865 = call ptr @strerror(i32 noundef %4864) #11
  %4866 = load i32, ptr %829, align 4, !tbaa !5
  %4867 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4858, ptr noundef nonnull %.str.5.sink2700, i32 noundef %4859, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 567, ptr noundef %4861, ptr noundef %4863, ptr noundef %4865, i32 noundef %4866) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4868:                                             ; preds = %4842
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %99) #11
  store i32 -1, ptr %99, align 4, !tbaa !5
  %4869 = load i32, ptr @test_count, align 4, !tbaa !5
  %4870 = add nsw i32 %4869, 1
  store i32 %4870, ptr @test_count, align 4, !tbaa !5
  %4871 = load ptr, ptr %96, align 8, !tbaa !9
  %4872 = call i32 @s2n_x509_validator_validate_cert_chain(ptr noundef nonnull %93, ptr noundef %4871, ptr noundef nonnull %4816, i32 noundef %4815, ptr noundef nonnull %99, ptr noundef nonnull %98) #11
  %4873 = call zeroext i1 @s2n_result_is_error(i32 %4872)
  br i1 %4873, label %4896, label %4874

4874:                                             ; preds = %4868
  %4875 = load i32, ptr %829, align 4, !tbaa !5
  %4876 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4877 = call i32 @s2n_print_stacktrace(ptr noundef %4876) #11
  %4878 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4879 = trunc nuw i8 %4878 to i1
  br i1 %4879, label %4880, label %4884

4880:                                             ; preds = %4874
  %4881 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4882 = call i32 @fileno(ptr noundef %4881) #11
  %4883 = call i32 @isatty(i32 noundef %4882) #11
  %.not841 = icmp eq i32 %4883, 0
  br i1 %.not841, label %4884, label %4885

4884:                                             ; preds = %4880, %4874
  br label %4885

4885:                                             ; preds = %4880, %4884
  %.str.5.sink2709 = phi ptr [ @.str.5, %4884 ], [ @.str.2, %4880 ]
  store i32 %4875, ptr %829, align 4, !tbaa !5
  %4886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4887 = load i32, ptr @test_count, align 4, !tbaa !5
  %4888 = load i32, ptr %775, align 4, !tbaa !5
  %4889 = call ptr @s2n_strerror(i32 noundef %4888, ptr noundef nonnull @.str.4) #11
  %4890 = load i32, ptr %775, align 4, !tbaa !5
  %4891 = call ptr @s2n_strerror_debug(i32 noundef %4890, ptr noundef nonnull @.str.4) #11
  %4892 = load i32, ptr %829, align 4, !tbaa !5
  %4893 = call ptr @strerror(i32 noundef %4892) #11
  %4894 = load i32, ptr %829, align 4, !tbaa !5
  %4895 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4886, ptr noundef nonnull %.str.5.sink2709, i32 noundef %4887, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.1, i32 noundef 571, ptr noundef %4889, ptr noundef %4891, ptr noundef %4893, i32 noundef %4894) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4896:                                             ; preds = %4868
  %4897 = load i32, ptr @test_count, align 4, !tbaa !5
  %4898 = add nsw i32 %4897, 1
  store i32 %4898, ptr @test_count, align 4, !tbaa !5
  %4899 = load i32, ptr %775, align 4, !tbaa !5
  %4900 = icmp eq i32 %4899, 335544367
  br i1 %4900, label %4923, label %4901

4901:                                             ; preds = %4896
  %4902 = load i32, ptr %829, align 4, !tbaa !5
  %4903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4904 = call i32 @s2n_print_stacktrace(ptr noundef %4903) #11
  %4905 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4906 = trunc nuw i8 %4905 to i1
  br i1 %4906, label %4907, label %4911

4907:                                             ; preds = %4901
  %4908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4909 = call i32 @fileno(ptr noundef %4908) #11
  %4910 = call i32 @isatty(i32 noundef %4909) #11
  %.not842 = icmp eq i32 %4910, 0
  br i1 %.not842, label %4911, label %4912

4911:                                             ; preds = %4907, %4901
  br label %4912

4912:                                             ; preds = %4907, %4911
  %.str.5.sink2718 = phi ptr [ @.str.5, %4911 ], [ @.str.2, %4907 ]
  store i32 %4902, ptr %829, align 4, !tbaa !5
  %4913 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4914 = load i32, ptr @test_count, align 4, !tbaa !5
  %4915 = load i32, ptr %775, align 4, !tbaa !5
  %4916 = call ptr @s2n_strerror(i32 noundef %4915, ptr noundef nonnull @.str.4) #11
  %4917 = load i32, ptr %775, align 4, !tbaa !5
  %4918 = call ptr @s2n_strerror_debug(i32 noundef %4917, ptr noundef nonnull @.str.4) #11
  %4919 = load i32, ptr %829, align 4, !tbaa !5
  %4920 = call ptr @strerror(i32 noundef %4919) #11
  %4921 = load i32, ptr %829, align 4, !tbaa !5
  %4922 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4913, ptr noundef nonnull %.str.5.sink2718, i32 noundef %4914, ptr noundef nonnull @.str.53, ptr noundef nonnull @.str.1, i32 noundef 571, ptr noundef %4916, ptr noundef %4918, ptr noundef %4920, i32 noundef %4921) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4923:                                             ; preds = %4896
  %4924 = add nsw i32 %4897, 2
  store i32 %4924, ptr @test_count, align 4, !tbaa !5
  %4925 = call ptr @s2n_strerror_debug(i32 noundef 335544367, ptr noundef nonnull @.str.4) #11
  %4926 = icmp eq ptr %4925, null
  br i1 %4926, label %4927, label %4949

4927:                                             ; preds = %4923
  %4928 = load i32, ptr %829, align 4, !tbaa !5
  %4929 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4930 = call i32 @s2n_print_stacktrace(ptr noundef %4929) #11
  %4931 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4932 = trunc nuw i8 %4931 to i1
  br i1 %4932, label %4933, label %4937

4933:                                             ; preds = %4927
  %4934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4935 = call i32 @fileno(ptr noundef %4934) #11
  %4936 = call i32 @isatty(i32 noundef %4935) #11
  %.not1007 = icmp eq i32 %4936, 0
  br i1 %.not1007, label %4937, label %4938

4937:                                             ; preds = %4933, %4927
  br label %4938

4938:                                             ; preds = %4933, %4937
  %.str.5.sink2727 = phi ptr [ @.str.5, %4937 ], [ @.str.2, %4933 ]
  store i32 %4928, ptr %829, align 4, !tbaa !5
  %4939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4940 = load i32, ptr @test_count, align 4, !tbaa !5
  %4941 = load i32, ptr %775, align 4, !tbaa !5
  %4942 = call ptr @s2n_strerror(i32 noundef %4941, ptr noundef nonnull @.str.4) #11
  %4943 = load i32, ptr %775, align 4, !tbaa !5
  %4944 = call ptr @s2n_strerror_debug(i32 noundef %4943, ptr noundef nonnull @.str.4) #11
  %4945 = load i32, ptr %829, align 4, !tbaa !5
  %4946 = call ptr @strerror(i32 noundef %4945) #11
  %4947 = load i32, ptr %829, align 4, !tbaa !5
  %4948 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4939, ptr noundef nonnull %.str.5.sink2727, i32 noundef %4940, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 571, ptr noundef %4942, ptr noundef %4944, ptr noundef %4946, i32 noundef %4947) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4949:                                             ; preds = %4923
  store i32 0, ptr %775, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %829, align 4, !tbaa !5
  %4950 = load i32, ptr @test_count, align 4, !tbaa !5
  %4951 = add nsw i32 %4950, 1
  store i32 %4951, ptr @test_count, align 4, !tbaa !5
  %4952 = getelementptr inbounds i8, ptr %94, i64 80
  %4953 = load i8, ptr %4952, align 8, !tbaa !27
  %4954 = icmp eq i8 %4953, 2
  br i1 %4954, label %4977, label %4955

4955:                                             ; preds = %4949
  %4956 = load i32, ptr %829, align 4, !tbaa !5
  %4957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4958 = call i32 @s2n_print_stacktrace(ptr noundef %4957) #11
  %4959 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4960 = trunc nuw i8 %4959 to i1
  br i1 %4960, label %4961, label %4965

4961:                                             ; preds = %4955
  %4962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4963 = call i32 @fileno(ptr noundef %4962) #11
  %4964 = call i32 @isatty(i32 noundef %4963) #11
  %.not843 = icmp eq i32 %4964, 0
  br i1 %.not843, label %4965, label %4966

4965:                                             ; preds = %4961, %4955
  br label %4966

4966:                                             ; preds = %4961, %4965
  %.str.5.sink2736 = phi ptr [ @.str.5, %4965 ], [ @.str.2, %4961 ]
  store i32 %4956, ptr %829, align 4, !tbaa !5
  %4967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4968 = load i32, ptr @test_count, align 4, !tbaa !5
  %4969 = load i32, ptr %775, align 4, !tbaa !5
  %4970 = call ptr @s2n_strerror(i32 noundef %4969, ptr noundef nonnull @.str.4) #11
  %4971 = load i32, ptr %775, align 4, !tbaa !5
  %4972 = call ptr @s2n_strerror_debug(i32 noundef %4971, ptr noundef nonnull @.str.4) #11
  %4973 = load i32, ptr %829, align 4, !tbaa !5
  %4974 = call ptr @strerror(i32 noundef %4973) #11
  %4975 = load i32, ptr %829, align 4, !tbaa !5
  %4976 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4967, ptr noundef nonnull %.str.5.sink2736, i32 noundef %4968, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.1, i32 noundef 572, ptr noundef %4970, ptr noundef %4972, ptr noundef %4974, i32 noundef %4975) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4977:                                             ; preds = %4949
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %99) #11
  %4978 = call i32 @s2n_pkey_free(ptr noundef nonnull %98) #11
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %98) #11
  %4979 = call i32 @s2n_stuffer_free(ptr noundef nonnull %97) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %97) #11
  %4980 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %96) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %96) #11
  %4981 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %95) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %95) #11
  call void @llvm.lifetime.end.p0(i64 88, ptr nonnull %94) #11
  %4982 = call i32 @s2n_x509_validator_wipe(ptr noundef nonnull %93) #11
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %93) #11
  call void @llvm.lifetime.end.p0(i64 12000, ptr nonnull %92) #11
  call void @s2n_x509_trust_store_wipe(ptr noundef nonnull %91) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %91) #11
  %4983 = getelementptr inbounds i8, ptr %103, i64 8
  %4984 = getelementptr inbounds i8, ptr %106, i64 28
  %4985 = getelementptr inbounds i8, ptr %106, i64 24
  %4986 = getelementptr inbounds i8, ptr %103, i64 80
  %4987 = getelementptr inbounds i8, ptr %103, i64 16
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %100) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %100, i8 0, i64 16, i1 false)
  call void @s2n_x509_trust_store_init_empty(ptr noundef nonnull %100) #11
  call void @llvm.lifetime.start.p0(i64 12000, ptr nonnull %101) #11
  %4988 = load i32, ptr @test_count, align 4, !tbaa !5
  %4989 = add nsw i32 %4988, 1
  store i32 %4989, ptr @test_count, align 4, !tbaa !5
  %4990 = call i32 @s2n_read_test_pem(ptr noundef nonnull @.str.31, ptr noundef nonnull %101, i64 noundef 12000) #11
  %4991 = icmp eq i32 %4990, -1
  br i1 %4991, label %4992, label %5014

4992:                                             ; preds = %5364, %4977
  %4993 = load i32, ptr %829, align 4, !tbaa !5
  %4994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4995 = call i32 @s2n_print_stacktrace(ptr noundef %4994) #11
  %4996 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4997 = trunc nuw i8 %4996 to i1
  br i1 %4997, label %4998, label %5002

4998:                                             ; preds = %4992
  %4999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5000 = call i32 @fileno(ptr noundef %4999) #11
  %5001 = call i32 @isatty(i32 noundef %5000) #11
  %.not1006 = icmp eq i32 %5001, 0
  br i1 %.not1006, label %5002, label %5003

5002:                                             ; preds = %4998, %4992
  br label %5003

5003:                                             ; preds = %4998, %5002
  %.str.5.sink2745 = phi ptr [ @.str.5, %5002 ], [ @.str.2, %4998 ]
  store i32 %4993, ptr %829, align 4, !tbaa !5
  %5004 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5005 = load i32, ptr @test_count, align 4, !tbaa !5
  %5006 = load i32, ptr %775, align 4, !tbaa !5
  %5007 = call ptr @s2n_strerror(i32 noundef %5006, ptr noundef nonnull @.str.4) #11
  %5008 = load i32, ptr %775, align 4, !tbaa !5
  %5009 = call ptr @s2n_strerror_debug(i32 noundef %5008, ptr noundef nonnull @.str.4) #11
  %5010 = load i32, ptr %829, align 4, !tbaa !5
  %5011 = call ptr @strerror(i32 noundef %5010) #11
  %5012 = load i32, ptr %829, align 4, !tbaa !5
  %5013 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5004, ptr noundef nonnull %.str.5.sink2745, i32 noundef %5005, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 581, ptr noundef %5007, ptr noundef %5009, ptr noundef %5011, i32 noundef %5012) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5014:                                             ; preds = %4977
  %5015 = load i32, ptr @test_count, align 4, !tbaa !5
  %5016 = add nsw i32 %5015, 1
  store i32 %5016, ptr @test_count, align 4, !tbaa !5
  %5017 = call i32 @s2n_x509_trust_store_add_pem(ptr noundef nonnull %100, ptr noundef nonnull %101) #11
  %5018 = icmp eq i32 %5017, -1
  br i1 %5018, label %5019, label %5041

5019:                                             ; preds = %5374, %5014
  %5020 = load i32, ptr %829, align 4, !tbaa !5
  %5021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5022 = call i32 @s2n_print_stacktrace(ptr noundef %5021) #11
  %5023 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5024 = trunc nuw i8 %5023 to i1
  br i1 %5024, label %5025, label %5029

5025:                                             ; preds = %5019
  %5026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5027 = call i32 @fileno(ptr noundef %5026) #11
  %5028 = call i32 @isatty(i32 noundef %5027) #11
  %.not1005 = icmp eq i32 %5028, 0
  br i1 %.not1005, label %5029, label %5030

5029:                                             ; preds = %5025, %5019
  br label %5030

5030:                                             ; preds = %5025, %5029
  %.str.5.sink2754 = phi ptr [ @.str.5, %5029 ], [ @.str.2, %5025 ]
  store i32 %5020, ptr %829, align 4, !tbaa !5
  %5031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5032 = load i32, ptr @test_count, align 4, !tbaa !5
  %5033 = load i32, ptr %775, align 4, !tbaa !5
  %5034 = call ptr @s2n_strerror(i32 noundef %5033, ptr noundef nonnull @.str.4) #11
  %5035 = load i32, ptr %775, align 4, !tbaa !5
  %5036 = call ptr @s2n_strerror_debug(i32 noundef %5035, ptr noundef nonnull @.str.4) #11
  %5037 = load i32, ptr %829, align 4, !tbaa !5
  %5038 = call ptr @strerror(i32 noundef %5037) #11
  %5039 = load i32, ptr %829, align 4, !tbaa !5
  %5040 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5031, ptr noundef nonnull %.str.5.sink2754, i32 noundef %5032, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 582, ptr noundef %5034, ptr noundef %5036, ptr noundef %5038, i32 noundef %5039) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5041:                                             ; preds = %5014
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %102) #11
  %5042 = load i32, ptr @test_count, align 4, !tbaa !5
  %5043 = add nsw i32 %5042, 1
  store i32 %5043, ptr @test_count, align 4, !tbaa !5
  %5044 = call i32 @s2n_x509_validator_init(ptr noundef nonnull %102, ptr noundef nonnull %100, i8 noundef zeroext 0) #11
  %5045 = icmp eq i32 %5044, -1
  br i1 %5045, label %5046, label %5068

5046:                                             ; preds = %5379, %5041
  %5047 = load i32, ptr %829, align 4, !tbaa !5
  %5048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5049 = call i32 @s2n_print_stacktrace(ptr noundef %5048) #11
  %5050 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5051 = trunc nuw i8 %5050 to i1
  br i1 %5051, label %5052, label %5056

5052:                                             ; preds = %5046
  %5053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5054 = call i32 @fileno(ptr noundef %5053) #11
  %5055 = call i32 @isatty(i32 noundef %5054) #11
  %.not1004 = icmp eq i32 %5055, 0
  br i1 %.not1004, label %5056, label %5057

5056:                                             ; preds = %5052, %5046
  br label %5057

5057:                                             ; preds = %5052, %5056
  %.str.5.sink2763 = phi ptr [ @.str.5, %5056 ], [ @.str.2, %5052 ]
  store i32 %5047, ptr %829, align 4, !tbaa !5
  %5058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5059 = load i32, ptr @test_count, align 4, !tbaa !5
  %5060 = load i32, ptr %775, align 4, !tbaa !5
  %5061 = call ptr @s2n_strerror(i32 noundef %5060, ptr noundef nonnull @.str.4) #11
  %5062 = load i32, ptr %775, align 4, !tbaa !5
  %5063 = call ptr @s2n_strerror_debug(i32 noundef %5062, ptr noundef nonnull @.str.4) #11
  %5064 = load i32, ptr %829, align 4, !tbaa !5
  %5065 = call ptr @strerror(i32 noundef %5064) #11
  %5066 = load i32, ptr %829, align 4, !tbaa !5
  %5067 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5058, ptr noundef nonnull %.str.5.sink2763, i32 noundef %5059, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 585, ptr noundef %5061, ptr noundef %5063, ptr noundef %5065, i32 noundef %5066) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5068:                                             ; preds = %5041
  call void @llvm.lifetime.start.p0(i64 88, ptr nonnull %103) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(88) %4987, i8 0, i64 72, i1 false)
  store ptr %1020, ptr %103, align 8, !tbaa !9
  store ptr %912, ptr %4983, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %104) #11
  %5069 = call ptr @s2n_config_new() #11
  store ptr %5069, ptr %104, align 8, !tbaa !9
  %5070 = load i32, ptr @test_count, align 4, !tbaa !5
  %5071 = add nsw i32 %5070, 1
  store i32 %5071, ptr @test_count, align 4, !tbaa !5
  %5072 = icmp eq ptr %5069, null
  br i1 %5072, label %5073, label %5095

5073:                                             ; preds = %5384, %5068
  %5074 = load i32, ptr %829, align 4, !tbaa !5
  %5075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5076 = call i32 @s2n_print_stacktrace(ptr noundef %5075) #11
  %5077 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5078 = trunc nuw i8 %5077 to i1
  br i1 %5078, label %5079, label %5083

5079:                                             ; preds = %5073
  %5080 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5081 = call i32 @fileno(ptr noundef %5080) #11
  %5082 = call i32 @isatty(i32 noundef %5081) #11
  %.not1003 = icmp eq i32 %5082, 0
  br i1 %.not1003, label %5083, label %5084

5083:                                             ; preds = %5079, %5073
  br label %5084

5084:                                             ; preds = %5079, %5083
  %.str.5.sink2772 = phi ptr [ @.str.5, %5083 ], [ @.str.2, %5079 ]
  store i32 %5074, ptr %829, align 4, !tbaa !5
  %5085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5086 = load i32, ptr @test_count, align 4, !tbaa !5
  %5087 = load i32, ptr %775, align 4, !tbaa !5
  %5088 = call ptr @s2n_strerror(i32 noundef %5087, ptr noundef nonnull @.str.4) #11
  %5089 = load i32, ptr %775, align 4, !tbaa !5
  %5090 = call ptr @s2n_strerror_debug(i32 noundef %5089, ptr noundef nonnull @.str.4) #11
  %5091 = load i32, ptr %829, align 4, !tbaa !5
  %5092 = call ptr @strerror(i32 noundef %5091) #11
  %5093 = load i32, ptr %829, align 4, !tbaa !5
  %5094 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5085, ptr noundef nonnull %.str.5.sink2772, i32 noundef %5086, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 592, ptr noundef %5088, ptr noundef %5090, ptr noundef %5092, i32 noundef %5093) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5095:                                             ; preds = %5068
  %5096 = add nsw i32 %5070, 2
  store i32 %5096, ptr @test_count, align 4, !tbaa !5
  %5097 = call i32 @s2n_config_set_crl_lookup_cb(ptr noundef nonnull %5069, ptr noundef nonnull @crl_lookup_test_callback, ptr noundef nonnull %103) #11
  %5098 = icmp eq i32 %5097, -1
  br i1 %5098, label %5099, label %5143

5099:                                             ; preds = %5389, %5095
  %5100 = load i32, ptr %829, align 4, !tbaa !5
  %5101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5102 = call i32 @s2n_print_stacktrace(ptr noundef %5101) #11
  %5103 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5104 = trunc nuw i8 %5103 to i1
  br i1 %5104, label %5105, label %5109

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

5109:                                             ; preds = %5105, %5099
  br label %5110

5110:                                             ; preds = %5105, %5109
  %.str.5.sink2781 = phi ptr [ @.str.5, %5109 ], [ @.str.2, %5105 ]
  store i32 %5100, ptr %829, align 4, !tbaa !5
  %5111 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5112 = load i32, ptr @test_count, align 4, !tbaa !5
  %5113 = load i32, ptr %775, align 4, !tbaa !5
  %5114 = call ptr @s2n_strerror(i32 noundef %5113, ptr noundef nonnull @.str.4) #11
  %5115 = load i32, ptr %775, align 4, !tbaa !5
  %5116 = call ptr @s2n_strerror_debug(i32 noundef %5115, ptr noundef nonnull @.str.4) #11
  %5117 = load i32, ptr %829, align 4, !tbaa !5
  %5118 = call ptr @strerror(i32 noundef %5117) #11
  %5119 = load i32, ptr %829, align 4, !tbaa !5
  %5120 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5111, ptr noundef nonnull %.str.5.sink2781, i32 noundef %5112, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.1, i32 noundef 593, ptr noundef %5114, ptr noundef %5116, ptr noundef %5118, i32 noundef %5119) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5121:                                             ; preds = %5393
  %5122 = load i32, ptr %829, align 4, !tbaa !5
  %5123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5124 = call i32 @s2n_print_stacktrace(ptr noundef %5123) #11
  %5125 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5126 = trunc nuw i8 %5125 to i1
  br i1 %5126, label %5127, label %5131

5127:                                             ; preds = %5121
  %5128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5129 = call i32 @fileno(ptr noundef %5128) #11
  %5130 = call i32 @isatty(i32 noundef %5129) #11
  %.not1001 = icmp eq i32 %5130, 0
  br i1 %.not1001, label %5131, label %5132

5131:                                             ; preds = %5127, %5121
  br label %5132

5132:                                             ; preds = %5127, %5131
  %.str.5.sink2790 = phi ptr [ @.str.5, %5131 ], [ @.str.2, %5127 ]
  store i32 %5122, ptr %829, align 4, !tbaa !5
  %5133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5134 = load i32, ptr @test_count, align 4, !tbaa !5
  %5135 = load i32, ptr %775, align 4, !tbaa !5
  %5136 = call ptr @s2n_strerror(i32 noundef %5135, ptr noundef nonnull @.str.4) #11
  %5137 = load i32, ptr %775, align 4, !tbaa !5
  %5138 = call ptr @s2n_strerror_debug(i32 noundef %5137, ptr noundef nonnull @.str.4) #11
  %5139 = load i32, ptr %829, align 4, !tbaa !5
  %5140 = call ptr @strerror(i32 noundef %5139) #11
  %5141 = load i32, ptr %829, align 4, !tbaa !5
  %5142 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5133, ptr noundef nonnull %.str.5.sink2790, i32 noundef %5134, ptr noundef nonnull @.str.75, ptr noundef nonnull @.str.1, i32 noundef 599, ptr noundef %5136, ptr noundef %5138, ptr noundef %5140, i32 noundef %5141) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5143:                                             ; preds = %5095
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %105) #11
  %5144 = call ptr @s2n_connection_new(i32 noundef 1) #11
  store ptr %5144, ptr %105, align 8, !tbaa !9
  %5145 = load i32, ptr @test_count, align 4, !tbaa !5
  %5146 = add nsw i32 %5145, 1
  store i32 %5146, ptr @test_count, align 4, !tbaa !5
  %5147 = icmp eq ptr %5144, null
  br i1 %5147, label %5148, label %5170

5148:                                             ; preds = %5399, %5143
  %5149 = load i32, ptr %829, align 4, !tbaa !5
  %5150 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5151 = call i32 @s2n_print_stacktrace(ptr noundef %5150) #11
  %5152 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5153 = trunc nuw i8 %5152 to i1
  br i1 %5153, label %5154, label %5158

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

5158:                                             ; preds = %5154, %5148
  br label %5159

5159:                                             ; preds = %5154, %5158
  %.str.5.sink2799 = phi ptr [ @.str.5, %5158 ], [ @.str.2, %5154 ]
  store i32 %5149, ptr %829, align 4, !tbaa !5
  %5160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5161 = load i32, ptr @test_count, align 4, !tbaa !5
  %5162 = load i32, ptr %775, align 4, !tbaa !5
  %5163 = call ptr @s2n_strerror(i32 noundef %5162, ptr noundef nonnull @.str.4) #11
  %5164 = load i32, ptr %775, align 4, !tbaa !5
  %5165 = call ptr @s2n_strerror_debug(i32 noundef %5164, ptr noundef nonnull @.str.4) #11
  %5166 = load i32, ptr %829, align 4, !tbaa !5
  %5167 = call ptr @strerror(i32 noundef %5166) #11
  %5168 = load i32, ptr %829, align 4, !tbaa !5
  %5169 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5160, ptr noundef nonnull %.str.5.sink2799, i32 noundef %5161, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 603, ptr noundef %5163, ptr noundef %5165, ptr noundef %5167, i32 noundef %5168) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5170:                                             ; preds = %5143
  %5171 = add nsw i32 %5145, 2
  store i32 %5171, ptr @test_count, align 4, !tbaa !5
  %5172 = load ptr, ptr %104, align 8, !tbaa !9
  %5173 = call i32 @s2n_connection_set_config(ptr noundef nonnull %5144, ptr noundef %5172) #11
  %5174 = icmp eq i32 %5173, -1
  br i1 %5174, label %5175, label %5197

5175:                                             ; preds = %5404, %5170
  %5176 = load i32, ptr %829, align 4, !tbaa !5
  %5177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5178 = call i32 @s2n_print_stacktrace(ptr noundef %5177) #11
  %5179 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5180 = trunc nuw i8 %5179 to i1
  br i1 %5180, label %5181, label %5185

5181:                                             ; preds = %5175
  %5182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5183 = call i32 @fileno(ptr noundef %5182) #11
  %5184 = call i32 @isatty(i32 noundef %5183) #11
  %.not999 = icmp eq i32 %5184, 0
  br i1 %.not999, label %5185, label %5186

5185:                                             ; preds = %5181, %5175
  br label %5186

5186:                                             ; preds = %5181, %5185
  %.str.5.sink2808 = phi ptr [ @.str.5, %5185 ], [ @.str.2, %5181 ]
  store i32 %5176, ptr %829, align 4, !tbaa !5
  %5187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5188 = load i32, ptr @test_count, align 4, !tbaa !5
  %5189 = load i32, ptr %775, align 4, !tbaa !5
  %5190 = call ptr @s2n_strerror(i32 noundef %5189, ptr noundef nonnull @.str.4) #11
  %5191 = load i32, ptr %775, align 4, !tbaa !5
  %5192 = call ptr @s2n_strerror_debug(i32 noundef %5191, ptr noundef nonnull @.str.4) #11
  %5193 = load i32, ptr %829, align 4, !tbaa !5
  %5194 = call ptr @strerror(i32 noundef %5193) #11
  %5195 = load i32, ptr %829, align 4, !tbaa !5
  %5196 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5187, ptr noundef nonnull %.str.5.sink2808, i32 noundef %5188, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 604, ptr noundef %5190, ptr noundef %5192, ptr noundef %5194, i32 noundef %5195) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5197:                                             ; preds = %5170
  %5198 = load i32, ptr @test_count, align 4, !tbaa !5
  %5199 = add nsw i32 %5198, 1
  store i32 %5199, ptr @test_count, align 4, !tbaa !5
  %5200 = load ptr, ptr %105, align 8, !tbaa !9
  %5201 = call i32 @s2n_set_server_name(ptr noundef %5200, ptr noundef nonnull @.str.39) #11
  %5202 = icmp eq i32 %5201, -1
  br i1 %5202, label %5203, label %5225

5203:                                             ; preds = %5409, %5197
  %5204 = load i32, ptr %829, align 4, !tbaa !5
  %5205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5206 = call i32 @s2n_print_stacktrace(ptr noundef %5205) #11
  %5207 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5208 = trunc nuw i8 %5207 to i1
  br i1 %5208, label %5209, label %5213

5209:                                             ; preds = %5203
  %5210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5211 = call i32 @fileno(ptr noundef %5210) #11
  %5212 = call i32 @isatty(i32 noundef %5211) #11
  %.not998 = icmp eq i32 %5212, 0
  br i1 %.not998, label %5213, label %5214

5213:                                             ; preds = %5209, %5203
  br label %5214

5214:                                             ; preds = %5209, %5213
  %.str.5.sink2817 = phi ptr [ @.str.5, %5213 ], [ @.str.2, %5209 ]
  store i32 %5204, ptr %829, align 4, !tbaa !5
  %5215 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5216 = load i32, ptr @test_count, align 4, !tbaa !5
  %5217 = load i32, ptr %775, align 4, !tbaa !5
  %5218 = call ptr @s2n_strerror(i32 noundef %5217, ptr noundef nonnull @.str.4) #11
  %5219 = load i32, ptr %775, align 4, !tbaa !5
  %5220 = call ptr @s2n_strerror_debug(i32 noundef %5219, ptr noundef nonnull @.str.4) #11
  %5221 = load i32, ptr %829, align 4, !tbaa !5
  %5222 = call ptr @strerror(i32 noundef %5221) #11
  %5223 = load i32, ptr %829, align 4, !tbaa !5
  %5224 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5215, ptr noundef nonnull %.str.5.sink2817, i32 noundef %5216, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 605, ptr noundef %5218, ptr noundef %5220, ptr noundef %5222, i32 noundef %5223) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5225:                                             ; preds = %5197
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %106) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %106, i8 0, i64 40, i1 false)
  %5226 = load i32, ptr @test_count, align 4, !tbaa !5
  %5227 = add nsw i32 %5226, 1
  store i32 %5227, ptr @test_count, align 4, !tbaa !5
  %5228 = load ptr, ptr %105, align 8, !tbaa !9
  %5229 = call i32 @s2n_test_cert_chain_data_from_pem(ptr noundef %5228, ptr noundef nonnull @.str.41, ptr noundef nonnull %106) #11
  %5230 = call zeroext i1 @s2n_result_is_ok(i32 %5229)
  br i1 %5230, label %5253, label %5231

5231:                                             ; preds = %5415, %5225
  %5232 = load i32, ptr %829, align 4, !tbaa !5
  %5233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5234 = call i32 @s2n_print_stacktrace(ptr noundef %5233) #11
  %5235 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5236 = trunc nuw i8 %5235 to i1
  br i1 %5236, label %5237, label %5241

5237:                                             ; preds = %5231
  %5238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5239 = call i32 @fileno(ptr noundef %5238) #11
  %5240 = call i32 @isatty(i32 noundef %5239) #11
  %.not993 = icmp eq i32 %5240, 0
  br i1 %.not993, label %5241, label %5242

5241:                                             ; preds = %5237, %5231
  br label %5242

5242:                                             ; preds = %5237, %5241
  %.str.5.sink2826 = phi ptr [ @.str.5, %5241 ], [ @.str.2, %5237 ]
  store i32 %5232, ptr %829, align 4, !tbaa !5
  %5243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5244 = load i32, ptr @test_count, align 4, !tbaa !5
  %5245 = load i32, ptr %775, align 4, !tbaa !5
  %5246 = call ptr @s2n_strerror(i32 noundef %5245, ptr noundef nonnull @.str.4) #11
  %5247 = load i32, ptr %775, align 4, !tbaa !5
  %5248 = call ptr @s2n_strerror_debug(i32 noundef %5247, ptr noundef nonnull @.str.4) #11
  %5249 = load i32, ptr %829, align 4, !tbaa !5
  %5250 = call ptr @strerror(i32 noundef %5249) #11
  %5251 = load i32, ptr %829, align 4, !tbaa !5
  %5252 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5243, ptr noundef nonnull %.str.5.sink2826, i32 noundef %5244, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 608, ptr noundef %5246, ptr noundef %5248, ptr noundef %5250, i32 noundef %5251) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5253:                                             ; preds = %5225
  %5254 = load i32, ptr %4984, align 4, !tbaa !23
  %5255 = load i32, ptr %4985, align 8, !tbaa !26
  %5256 = sub i32 %5254, %5255
  %5257 = call ptr @s2n_stuffer_raw_read(ptr noundef nonnull %106, i32 noundef %5256) #11
  %5258 = load i32, ptr @test_count, align 4, !tbaa !5
  %5259 = add nsw i32 %5258, 1
  store i32 %5259, ptr @test_count, align 4, !tbaa !5
  %5260 = icmp eq ptr %5257, null
  br i1 %5260, label %5261, label %5283

5261:                                             ; preds = %5421, %5253
  %5262 = load i32, ptr %829, align 4, !tbaa !5
  %5263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5264 = call i32 @s2n_print_stacktrace(ptr noundef %5263) #11
  %5265 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5266 = trunc nuw i8 %5265 to i1
  br i1 %5266, label %5267, label %5271

5267:                                             ; preds = %5261
  %5268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5269 = call i32 @fileno(ptr noundef %5268) #11
  %5270 = call i32 @isatty(i32 noundef %5269) #11
  %.not997 = icmp eq i32 %5270, 0
  br i1 %.not997, label %5271, label %5272

5271:                                             ; preds = %5267, %5261
  br label %5272

5272:                                             ; preds = %5267, %5271
  %.str.5.sink2835 = phi ptr [ @.str.5, %5271 ], [ @.str.2, %5267 ]
  store i32 %5262, ptr %829, align 4, !tbaa !5
  %5273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5274 = load i32, ptr @test_count, align 4, !tbaa !5
  %5275 = load i32, ptr %775, align 4, !tbaa !5
  %5276 = call ptr @s2n_strerror(i32 noundef %5275, ptr noundef nonnull @.str.4) #11
  %5277 = load i32, ptr %775, align 4, !tbaa !5
  %5278 = call ptr @s2n_strerror_debug(i32 noundef %5277, ptr noundef nonnull @.str.4) #11
  %5279 = load i32, ptr %829, align 4, !tbaa !5
  %5280 = call ptr @strerror(i32 noundef %5279) #11
  %5281 = load i32, ptr %829, align 4, !tbaa !5
  %5282 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5273, ptr noundef nonnull %.str.5.sink2835, i32 noundef %5274, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 611, ptr noundef %5276, ptr noundef %5278, ptr noundef %5280, i32 noundef %5281) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5283:                                             ; preds = %5253
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %107) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %107, i8 0, i64 48, i1 false)
  %5284 = add nsw i32 %5258, 2
  store i32 %5284, ptr @test_count, align 4, !tbaa !5
  %5285 = call i32 @s2n_pkey_zero_init(ptr noundef nonnull %107) #11
  %5286 = icmp eq i32 %5285, -1
  br i1 %5286, label %5287, label %5309

5287:                                             ; preds = %5429, %5283
  %5288 = load i32, ptr %829, align 4, !tbaa !5
  %5289 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5290 = call i32 @s2n_print_stacktrace(ptr noundef %5289) #11
  %5291 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5292 = trunc nuw i8 %5291 to i1
  br i1 %5292, label %5293, label %5297

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

5297:                                             ; preds = %5293, %5287
  br label %5298

5298:                                             ; preds = %5293, %5297
  %.str.5.sink2844 = phi ptr [ @.str.5, %5297 ], [ @.str.2, %5293 ]
  store i32 %5288, ptr %829, align 4, !tbaa !5
  %5299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5300 = load i32, ptr @test_count, align 4, !tbaa !5
  %5301 = load i32, ptr %775, align 4, !tbaa !5
  %5302 = call ptr @s2n_strerror(i32 noundef %5301, ptr noundef nonnull @.str.4) #11
  %5303 = load i32, ptr %775, align 4, !tbaa !5
  %5304 = call ptr @s2n_strerror_debug(i32 noundef %5303, ptr noundef nonnull @.str.4) #11
  %5305 = load i32, ptr %829, align 4, !tbaa !5
  %5306 = call ptr @strerror(i32 noundef %5305) #11
  %5307 = load i32, ptr %829, align 4, !tbaa !5
  %5308 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5299, ptr noundef nonnull %.str.5.sink2844, i32 noundef %5300, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 614, ptr noundef %5302, ptr noundef %5304, ptr noundef %5306, i32 noundef %5307) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5309:                                             ; preds = %5283
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %108) #11
  store i32 -1, ptr %108, align 4, !tbaa !5
  %5310 = load i32, ptr @test_count, align 4, !tbaa !5
  %5311 = add nsw i32 %5310, 1
  store i32 %5311, ptr @test_count, align 4, !tbaa !5
  %5312 = load ptr, ptr %105, align 8, !tbaa !9
  %5313 = call i32 @s2n_x509_validator_validate_cert_chain(ptr noundef nonnull %102, ptr noundef %5312, ptr noundef nonnull %5257, i32 noundef %5256, ptr noundef nonnull %108, ptr noundef nonnull %107) #11
  %5314 = call zeroext i1 @s2n_result_is_ok(i32 %5313)
  br i1 %5314, label %5337, label %5315

5315:                                             ; preds = %5433, %5309
  %5316 = load i32, ptr %829, align 4, !tbaa !5
  %5317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5318 = call i32 @s2n_print_stacktrace(ptr noundef %5317) #11
  %5319 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5320 = trunc nuw i8 %5319 to i1
  br i1 %5320, label %5321, label %5325

5321:                                             ; preds = %5315
  %5322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5323 = call i32 @fileno(ptr noundef %5322) #11
  %5324 = call i32 @isatty(i32 noundef %5323) #11
  %.not994 = icmp eq i32 %5324, 0
  br i1 %.not994, label %5325, label %5326

5325:                                             ; preds = %5321, %5315
  br label %5326

5326:                                             ; preds = %5321, %5325
  %.str.5.sink2853 = phi ptr [ @.str.5, %5325 ], [ @.str.2, %5321 ]
  store i32 %5316, ptr %829, align 4, !tbaa !5
  %5327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5328 = load i32, ptr @test_count, align 4, !tbaa !5
  %5329 = load i32, ptr %775, align 4, !tbaa !5
  %5330 = call ptr @s2n_strerror(i32 noundef %5329, ptr noundef nonnull @.str.4) #11
  %5331 = load i32, ptr %775, align 4, !tbaa !5
  %5332 = call ptr @s2n_strerror_debug(i32 noundef %5331, ptr noundef nonnull @.str.4) #11
  %5333 = load i32, ptr %829, align 4, !tbaa !5
  %5334 = call ptr @strerror(i32 noundef %5333) #11
  %5335 = load i32, ptr %829, align 4, !tbaa !5
  %5336 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5327, ptr noundef nonnull %.str.5.sink2853, i32 noundef %5328, ptr noundef nonnull @.str.64, ptr noundef nonnull @.str.1, i32 noundef 617, ptr noundef %5330, ptr noundef %5332, ptr noundef %5334, i32 noundef %5335) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5337:                                             ; preds = %5309
  %5338 = load i32, ptr @test_count, align 4, !tbaa !5
  %5339 = add nsw i32 %5338, 1
  store i32 %5339, ptr @test_count, align 4, !tbaa !5
  %5340 = load i8, ptr %4986, align 8, !tbaa !27
  %5341 = icmp eq i8 %5340, 2
  br i1 %5341, label %5364, label %5342

5342:                                             ; preds = %5439, %5337
  %5343 = load i32, ptr %829, align 4, !tbaa !5
  %5344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5345 = call i32 @s2n_print_stacktrace(ptr noundef %5344) #11
  %5346 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5347 = trunc nuw i8 %5346 to i1
  br i1 %5347, label %5348, label %5352

5348:                                             ; preds = %5342
  %5349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5350 = call i32 @fileno(ptr noundef %5349) #11
  %5351 = call i32 @isatty(i32 noundef %5350) #11
  %.not995 = icmp eq i32 %5351, 0
  br i1 %.not995, label %5352, label %5353

5352:                                             ; preds = %5348, %5342
  br label %5353

5353:                                             ; preds = %5348, %5352
  %.str.5.sink2862 = phi ptr [ @.str.5, %5352 ], [ @.str.2, %5348 ]
  store i32 %5343, ptr %829, align 4, !tbaa !5
  %5354 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5355 = load i32, ptr @test_count, align 4, !tbaa !5
  %5356 = load i32, ptr %775, align 4, !tbaa !5
  %5357 = call ptr @s2n_strerror(i32 noundef %5356, ptr noundef nonnull @.str.4) #11
  %5358 = load i32, ptr %775, align 4, !tbaa !5
  %5359 = call ptr @s2n_strerror_debug(i32 noundef %5358, ptr noundef nonnull @.str.4) #11
  %5360 = load i32, ptr %829, align 4, !tbaa !5
  %5361 = call ptr @strerror(i32 noundef %5360) #11
  %5362 = load i32, ptr %829, align 4, !tbaa !5
  %5363 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5354, ptr noundef nonnull %.str.5.sink2862, i32 noundef %5355, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.1, i32 noundef 618, ptr noundef %5357, ptr noundef %5359, ptr noundef %5361, i32 noundef %5362) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5364:                                             ; preds = %5337
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %108) #11
  %5365 = call i32 @s2n_pkey_free(ptr noundef nonnull %107) #11
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %107) #11
  %5366 = call i32 @s2n_stuffer_free(ptr noundef nonnull %106) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %106) #11
  %5367 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %105) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %105) #11
  %5368 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %104) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %104) #11
  call void @llvm.lifetime.end.p0(i64 88, ptr nonnull %103) #11
  %5369 = call i32 @s2n_x509_validator_wipe(ptr noundef nonnull %102) #11
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %102) #11
  call void @llvm.lifetime.end.p0(i64 12000, ptr nonnull %101) #11
  call void @s2n_x509_trust_store_wipe(ptr noundef nonnull %100) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %100) #11
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %100) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %100, i8 0, i64 16, i1 false)
  call void @s2n_x509_trust_store_init_empty(ptr noundef nonnull %100) #11
  call void @llvm.lifetime.start.p0(i64 12000, ptr nonnull %101) #11
  %5370 = load i32, ptr @test_count, align 4, !tbaa !5
  %5371 = add nsw i32 %5370, 1
  store i32 %5371, ptr @test_count, align 4, !tbaa !5
  %5372 = call i32 @s2n_read_test_pem(ptr noundef nonnull @.str.31, ptr noundef nonnull %101, i64 noundef 12000) #11
  %5373 = icmp eq i32 %5372, -1
  br i1 %5373, label %4992, label %5374

5374:                                             ; preds = %5364
  %5375 = load i32, ptr @test_count, align 4, !tbaa !5
  %5376 = add nsw i32 %5375, 1
  store i32 %5376, ptr @test_count, align 4, !tbaa !5
  %5377 = call i32 @s2n_x509_trust_store_add_pem(ptr noundef nonnull %100, ptr noundef nonnull %101) #11
  %5378 = icmp eq i32 %5377, -1
  br i1 %5378, label %5019, label %5379

5379:                                             ; preds = %5374
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %102) #11
  %5380 = load i32, ptr @test_count, align 4, !tbaa !5
  %5381 = add nsw i32 %5380, 1
  store i32 %5381, ptr @test_count, align 4, !tbaa !5
  %5382 = call i32 @s2n_x509_validator_init(ptr noundef nonnull %102, ptr noundef nonnull %100, i8 noundef zeroext 0) #11
  %5383 = icmp eq i32 %5382, -1
  br i1 %5383, label %5046, label %5384

5384:                                             ; preds = %5379
  call void @llvm.lifetime.start.p0(i64 88, ptr nonnull %103) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(88) %4987, i8 0, i64 72, i1 false)
  store ptr %1020, ptr %103, align 8, !tbaa !9
  store ptr %912, ptr %4983, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %104) #11
  %5385 = call ptr @s2n_config_new() #11
  store ptr %5385, ptr %104, align 8, !tbaa !9
  %5386 = load i32, ptr @test_count, align 4, !tbaa !5
  %5387 = add nsw i32 %5386, 1
  store i32 %5387, ptr @test_count, align 4, !tbaa !5
  %5388 = icmp eq ptr %5385, null
  br i1 %5388, label %5073, label %5389

5389:                                             ; preds = %5384
  %5390 = add nsw i32 %5386, 2
  store i32 %5390, ptr @test_count, align 4, !tbaa !5
  %5391 = call i32 @s2n_config_set_crl_lookup_cb(ptr noundef nonnull %5385, ptr noundef nonnull @crl_lookup_test_callback, ptr noundef nonnull %103) #11
  %5392 = icmp eq i32 %5391, -1
  br i1 %5392, label %5099, label %5393

5393:                                             ; preds = %5389
  %5394 = load i32, ptr @test_count, align 4, !tbaa !5
  %5395 = add nsw i32 %5394, 1
  store i32 %5395, ptr @test_count, align 4, !tbaa !5
  %5396 = load ptr, ptr %104, align 8, !tbaa !9
  %5397 = call i32 @s2n_config_disable_x509_time_verification(ptr noundef %5396) #11
  %5398 = icmp eq i32 %5397, -1
  br i1 %5398, label %5121, label %5399

5399:                                             ; preds = %5393
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %105) #11
  %5400 = call ptr @s2n_connection_new(i32 noundef 1) #11
  store ptr %5400, ptr %105, align 8, !tbaa !9
  %5401 = load i32, ptr @test_count, align 4, !tbaa !5
  %5402 = add nsw i32 %5401, 1
  store i32 %5402, ptr @test_count, align 4, !tbaa !5
  %5403 = icmp eq ptr %5400, null
  br i1 %5403, label %5148, label %5404

5404:                                             ; preds = %5399
  %5405 = add nsw i32 %5401, 2
  store i32 %5405, ptr @test_count, align 4, !tbaa !5
  %5406 = load ptr, ptr %104, align 8, !tbaa !9
  %5407 = call i32 @s2n_connection_set_config(ptr noundef nonnull %5400, ptr noundef %5406) #11
  %5408 = icmp eq i32 %5407, -1
  br i1 %5408, label %5175, label %5409

5409:                                             ; preds = %5404
  %5410 = load i32, ptr @test_count, align 4, !tbaa !5
  %5411 = add nsw i32 %5410, 1
  store i32 %5411, ptr @test_count, align 4, !tbaa !5
  %5412 = load ptr, ptr %105, align 8, !tbaa !9
  %5413 = call i32 @s2n_set_server_name(ptr noundef %5412, ptr noundef nonnull @.str.39) #11
  %5414 = icmp eq i32 %5413, -1
  br i1 %5414, label %5203, label %5415

5415:                                             ; preds = %5409
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %106) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %106, i8 0, i64 40, i1 false)
  %5416 = load i32, ptr @test_count, align 4, !tbaa !5
  %5417 = add nsw i32 %5416, 1
  store i32 %5417, ptr @test_count, align 4, !tbaa !5
  %5418 = load ptr, ptr %105, align 8, !tbaa !9
  %5419 = call i32 @s2n_test_cert_chain_data_from_pem(ptr noundef %5418, ptr noundef nonnull @.str.41, ptr noundef nonnull %106) #11
  %5420 = call zeroext i1 @s2n_result_is_ok(i32 %5419)
  br i1 %5420, label %5421, label %5231

5421:                                             ; preds = %5415
  %5422 = load i32, ptr %4984, align 4, !tbaa !23
  %5423 = load i32, ptr %4985, align 8, !tbaa !26
  %5424 = sub i32 %5422, %5423
  %5425 = call ptr @s2n_stuffer_raw_read(ptr noundef nonnull %106, i32 noundef %5424) #11
  %5426 = load i32, ptr @test_count, align 4, !tbaa !5
  %5427 = add nsw i32 %5426, 1
  store i32 %5427, ptr @test_count, align 4, !tbaa !5
  %5428 = icmp eq ptr %5425, null
  br i1 %5428, label %5261, label %5429

5429:                                             ; preds = %5421
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %107) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %107, i8 0, i64 48, i1 false)
  %5430 = add nsw i32 %5426, 2
  store i32 %5430, ptr @test_count, align 4, !tbaa !5
  %5431 = call i32 @s2n_pkey_zero_init(ptr noundef nonnull %107) #11
  %5432 = icmp eq i32 %5431, -1
  br i1 %5432, label %5287, label %5433

5433:                                             ; preds = %5429
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %108) #11
  store i32 -1, ptr %108, align 4, !tbaa !5
  %5434 = load i32, ptr @test_count, align 4, !tbaa !5
  %5435 = add nsw i32 %5434, 1
  store i32 %5435, ptr @test_count, align 4, !tbaa !5
  %5436 = load ptr, ptr %105, align 8, !tbaa !9
  %5437 = call i32 @s2n_x509_validator_validate_cert_chain(ptr noundef nonnull %102, ptr noundef %5436, ptr noundef nonnull %5425, i32 noundef %5424, ptr noundef nonnull %108, ptr noundef nonnull %107) #11
  %5438 = call zeroext i1 @s2n_result_is_ok(i32 %5437)
  br i1 %5438, label %5439, label %5315

5439:                                             ; preds = %5433
  %5440 = load i32, ptr @test_count, align 4, !tbaa !5
  %5441 = add nsw i32 %5440, 1
  store i32 %5441, ptr @test_count, align 4, !tbaa !5
  %5442 = load i8, ptr %4986, align 8, !tbaa !27
  %5443 = icmp eq i8 %5442, 2
  br i1 %5443, label %5444, label %5342

5444:                                             ; preds = %5439
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %108) #11
  %5445 = call i32 @s2n_pkey_free(ptr noundef nonnull %107) #11
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %107) #11
  %5446 = call i32 @s2n_stuffer_free(ptr noundef nonnull %106) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %106) #11
  %5447 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %105) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %105) #11
  %5448 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %104) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %104) #11
  call void @llvm.lifetime.end.p0(i64 88, ptr nonnull %103) #11
  %5449 = call i32 @s2n_x509_validator_wipe(ptr noundef nonnull %102) #11
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %102) #11
  call void @llvm.lifetime.end.p0(i64 12000, ptr nonnull %101) #11
  call void @s2n_x509_trust_store_wipe(ptr noundef nonnull %100) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %100) #11
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %109) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %109, i8 0, i64 16, i1 false)
  call void @s2n_x509_trust_store_init_empty(ptr noundef nonnull %109) #11
  call void @llvm.lifetime.start.p0(i64 12000, ptr nonnull %110) #11
  %5450 = load i32, ptr @test_count, align 4, !tbaa !5
  %5451 = add nsw i32 %5450, 1
  store i32 %5451, ptr @test_count, align 4, !tbaa !5
  %5452 = call i32 @s2n_read_test_pem(ptr noundef nonnull @.str.31, ptr noundef nonnull %110, i64 noundef 12000) #11
  %5453 = icmp eq i32 %5452, -1
  br i1 %5453, label %5454, label %5476

5454:                                             ; preds = %5444
  %5455 = load i32, ptr %829, align 4, !tbaa !5
  %5456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5457 = call i32 @s2n_print_stacktrace(ptr noundef %5456) #11
  %5458 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5459 = trunc nuw i8 %5458 to i1
  br i1 %5459, label %5460, label %5464

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

5464:                                             ; preds = %5460, %5454
  br label %5465

5465:                                             ; preds = %5460, %5464
  %.str.5.sink2871 = phi ptr [ @.str.5, %5464 ], [ @.str.2, %5460 ]
  store i32 %5455, ptr %829, align 4, !tbaa !5
  %5466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5467 = load i32, ptr @test_count, align 4, !tbaa !5
  %5468 = load i32, ptr %775, align 4, !tbaa !5
  %5469 = call ptr @s2n_strerror(i32 noundef %5468, ptr noundef nonnull @.str.4) #11
  %5470 = load i32, ptr %775, align 4, !tbaa !5
  %5471 = call ptr @s2n_strerror_debug(i32 noundef %5470, ptr noundef nonnull @.str.4) #11
  %5472 = load i32, ptr %829, align 4, !tbaa !5
  %5473 = call ptr @strerror(i32 noundef %5472) #11
  %5474 = load i32, ptr %829, align 4, !tbaa !5
  %5475 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5466, ptr noundef nonnull %.str.5.sink2871, i32 noundef %5467, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 627, ptr noundef %5469, ptr noundef %5471, ptr noundef %5473, i32 noundef %5474) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5476:                                             ; preds = %5444
  %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 = call i32 @s2n_x509_trust_store_add_pem(ptr noundef nonnull %109, ptr noundef nonnull %110) #11
  %5480 = icmp eq i32 %5479, -1
  br i1 %5480, label %5481, label %5503

5481:                                             ; preds = %5476
  %5482 = load i32, ptr %829, align 4, !tbaa !5
  %5483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5484 = call i32 @s2n_print_stacktrace(ptr noundef %5483) #11
  %5485 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5486 = trunc nuw i8 %5485 to i1
  br i1 %5486, label %5487, label %5491

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

5491:                                             ; preds = %5487, %5481
  br label %5492

5492:                                             ; preds = %5487, %5491
  %.str.5.sink2880 = phi ptr [ @.str.5, %5491 ], [ @.str.2, %5487 ]
  store i32 %5482, ptr %829, align 4, !tbaa !5
  %5493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5494 = load i32, ptr @test_count, align 4, !tbaa !5
  %5495 = load i32, ptr %775, align 4, !tbaa !5
  %5496 = call ptr @s2n_strerror(i32 noundef %5495, ptr noundef nonnull @.str.4) #11
  %5497 = load i32, ptr %775, align 4, !tbaa !5
  %5498 = call ptr @s2n_strerror_debug(i32 noundef %5497, ptr noundef nonnull @.str.4) #11
  %5499 = load i32, ptr %829, align 4, !tbaa !5
  %5500 = call ptr @strerror(i32 noundef %5499) #11
  %5501 = load i32, ptr %829, align 4, !tbaa !5
  %5502 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5493, ptr noundef nonnull %.str.5.sink2880, i32 noundef %5494, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 628, ptr noundef %5496, ptr noundef %5498, ptr noundef %5500, i32 noundef %5501) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5503:                                             ; preds = %5476
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %111) #11
  %5504 = load i32, ptr @test_count, align 4, !tbaa !5
  %5505 = add nsw i32 %5504, 1
  store i32 %5505, ptr @test_count, align 4, !tbaa !5
  %5506 = call i32 @s2n_x509_validator_init(ptr noundef nonnull %111, ptr noundef nonnull %109, i8 noundef zeroext 0) #11
  %5507 = icmp eq i32 %5506, -1
  br i1 %5507, label %5508, label %5530

5508:                                             ; preds = %5503
  %5509 = load i32, ptr %829, align 4, !tbaa !5
  %5510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5511 = call i32 @s2n_print_stacktrace(ptr noundef %5510) #11
  %5512 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5513 = trunc nuw i8 %5512 to i1
  br i1 %5513, label %5514, label %5518

5514:                                             ; preds = %5508
  %5515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5516 = call i32 @fileno(ptr noundef %5515) #11
  %5517 = call i32 @isatty(i32 noundef %5516) #11
  %.not989 = icmp eq i32 %5517, 0
  br i1 %.not989, label %5518, label %5519

5518:                                             ; preds = %5514, %5508
  br label %5519

5519:                                             ; preds = %5514, %5518
  %.str.5.sink2889 = phi ptr [ @.str.5, %5518 ], [ @.str.2, %5514 ]
  store i32 %5509, ptr %829, align 4, !tbaa !5
  %5520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5521 = load i32, ptr @test_count, align 4, !tbaa !5
  %5522 = load i32, ptr %775, align 4, !tbaa !5
  %5523 = call ptr @s2n_strerror(i32 noundef %5522, ptr noundef nonnull @.str.4) #11
  %5524 = load i32, ptr %775, align 4, !tbaa !5
  %5525 = call ptr @s2n_strerror_debug(i32 noundef %5524, ptr noundef nonnull @.str.4) #11
  %5526 = load i32, ptr %829, align 4, !tbaa !5
  %5527 = call ptr @strerror(i32 noundef %5526) #11
  %5528 = load i32, ptr %829, align 4, !tbaa !5
  %5529 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5520, ptr noundef nonnull %.str.5.sink2889, i32 noundef %5521, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 631, ptr noundef %5523, ptr noundef %5525, ptr noundef %5527, i32 noundef %5528) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5530:                                             ; preds = %5503
  call void @llvm.lifetime.start.p0(i64 88, ptr nonnull %112) #11
  %5531 = getelementptr inbounds i8, ptr %112, i64 16
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(88) %5531, i8 0, i64 72, i1 false)
  store ptr %1020, ptr %112, align 8, !tbaa !9
  %5532 = getelementptr inbounds i8, ptr %112, i64 8
  store ptr %912, ptr %5532, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %113) #11
  %5533 = call ptr @s2n_config_new() #11
  store ptr %5533, ptr %113, align 8, !tbaa !9
  %5534 = load i32, ptr @test_count, align 4, !tbaa !5
  %5535 = add nsw i32 %5534, 1
  store i32 %5535, ptr @test_count, align 4, !tbaa !5
  %5536 = icmp eq ptr %5533, null
  br i1 %5536, label %5537, label %5559

5537:                                             ; preds = %5530
  %5538 = load i32, ptr %829, align 4, !tbaa !5
  %5539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5540 = call i32 @s2n_print_stacktrace(ptr noundef %5539) #11
  %5541 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5542 = trunc nuw i8 %5541 to i1
  br i1 %5542, label %5543, label %5547

5543:                                             ; preds = %5537
  %5544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5545 = call i32 @fileno(ptr noundef %5544) #11
  %5546 = call i32 @isatty(i32 noundef %5545) #11
  %.not988 = icmp eq i32 %5546, 0
  br i1 %.not988, label %5547, label %5548

5547:                                             ; preds = %5543, %5537
  br label %5548

5548:                                             ; preds = %5543, %5547
  %.str.5.sink2898 = phi ptr [ @.str.5, %5547 ], [ @.str.2, %5543 ]
  store i32 %5538, ptr %829, align 4, !tbaa !5
  %5549 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5550 = load i32, ptr @test_count, align 4, !tbaa !5
  %5551 = load i32, ptr %775, align 4, !tbaa !5
  %5552 = call ptr @s2n_strerror(i32 noundef %5551, ptr noundef nonnull @.str.4) #11
  %5553 = load i32, ptr %775, align 4, !tbaa !5
  %5554 = call ptr @s2n_strerror_debug(i32 noundef %5553, ptr noundef nonnull @.str.4) #11
  %5555 = load i32, ptr %829, align 4, !tbaa !5
  %5556 = call ptr @strerror(i32 noundef %5555) #11
  %5557 = load i32, ptr %829, align 4, !tbaa !5
  %5558 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5549, ptr noundef nonnull %.str.5.sink2898, i32 noundef %5550, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 638, ptr noundef %5552, ptr noundef %5554, ptr noundef %5556, i32 noundef %5557) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5559:                                             ; preds = %5530
  %5560 = add nsw i32 %5534, 2
  store i32 %5560, ptr @test_count, align 4, !tbaa !5
  %5561 = call i32 @s2n_config_set_crl_lookup_cb(ptr noundef nonnull %5533, ptr noundef nonnull @crl_lookup_test_callback, ptr noundef nonnull %112) #11
  %5562 = icmp eq i32 %5561, -1
  br i1 %5562, label %5563, label %5585

5563:                                             ; preds = %5559
  %5564 = load i32, ptr %829, align 4, !tbaa !5
  %5565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5566 = call i32 @s2n_print_stacktrace(ptr noundef %5565) #11
  %5567 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5568 = trunc nuw i8 %5567 to i1
  br i1 %5568, label %5569, label %5573

5569:                                             ; preds = %5563
  %5570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5571 = call i32 @fileno(ptr noundef %5570) #11
  %5572 = call i32 @isatty(i32 noundef %5571) #11
  %.not987 = icmp eq i32 %5572, 0
  br i1 %.not987, label %5573, label %5574

5573:                                             ; preds = %5569, %5563
  br label %5574

5574:                                             ; preds = %5569, %5573
  %.str.5.sink2907 = phi ptr [ @.str.5, %5573 ], [ @.str.2, %5569 ]
  store i32 %5564, ptr %829, align 4, !tbaa !5
  %5575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5576 = load i32, ptr @test_count, align 4, !tbaa !5
  %5577 = load i32, ptr %775, align 4, !tbaa !5
  %5578 = call ptr @s2n_strerror(i32 noundef %5577, ptr noundef nonnull @.str.4) #11
  %5579 = load i32, ptr %775, align 4, !tbaa !5
  %5580 = call ptr @s2n_strerror_debug(i32 noundef %5579, ptr noundef nonnull @.str.4) #11
  %5581 = load i32, ptr %829, align 4, !tbaa !5
  %5582 = call ptr @strerror(i32 noundef %5581) #11
  %5583 = load i32, ptr %829, align 4, !tbaa !5
  %5584 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5575, ptr noundef nonnull %.str.5.sink2907, i32 noundef %5576, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.1, i32 noundef 639, ptr noundef %5578, ptr noundef %5580, ptr noundef %5582, i32 noundef %5583) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5585:                                             ; preds = %5559
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %114) #11
  %5586 = call ptr @s2n_connection_new(i32 noundef 1) #11
  store ptr %5586, ptr %114, align 8, !tbaa !9
  %5587 = load i32, ptr @test_count, align 4, !tbaa !5
  %5588 = add nsw i32 %5587, 1
  store i32 %5588, ptr @test_count, align 4, !tbaa !5
  %5589 = icmp eq ptr %5586, null
  br i1 %5589, label %5590, label %5612

5590:                                             ; preds = %5585
  %5591 = load i32, ptr %829, align 4, !tbaa !5
  %5592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5593 = call i32 @s2n_print_stacktrace(ptr noundef %5592) #11
  %5594 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5595 = trunc nuw i8 %5594 to i1
  br i1 %5595, label %5596, label %5600

5596:                                             ; preds = %5590
  %5597 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5598 = call i32 @fileno(ptr noundef %5597) #11
  %5599 = call i32 @isatty(i32 noundef %5598) #11
  %.not986 = icmp eq i32 %5599, 0
  br i1 %.not986, label %5600, label %5601

5600:                                             ; preds = %5596, %5590
  br label %5601

5601:                                             ; preds = %5596, %5600
  %.str.5.sink2916 = phi ptr [ @.str.5, %5600 ], [ @.str.2, %5596 ]
  store i32 %5591, ptr %829, align 4, !tbaa !5
  %5602 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5603 = load i32, ptr @test_count, align 4, !tbaa !5
  %5604 = load i32, ptr %775, align 4, !tbaa !5
  %5605 = call ptr @s2n_strerror(i32 noundef %5604, ptr noundef nonnull @.str.4) #11
  %5606 = load i32, ptr %775, align 4, !tbaa !5
  %5607 = call ptr @s2n_strerror_debug(i32 noundef %5606, ptr noundef nonnull @.str.4) #11
  %5608 = load i32, ptr %829, align 4, !tbaa !5
  %5609 = call ptr @strerror(i32 noundef %5608) #11
  %5610 = load i32, ptr %829, align 4, !tbaa !5
  %5611 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5602, ptr noundef nonnull %.str.5.sink2916, i32 noundef %5603, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 642, ptr noundef %5605, ptr noundef %5607, ptr noundef %5609, i32 noundef %5610) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5612:                                             ; preds = %5585
  %5613 = add nsw i32 %5587, 2
  store i32 %5613, ptr @test_count, align 4, !tbaa !5
  %5614 = load ptr, ptr %113, align 8, !tbaa !9
  %5615 = call i32 @s2n_connection_set_config(ptr noundef nonnull %5586, ptr noundef %5614) #11
  %5616 = icmp eq i32 %5615, -1
  br i1 %5616, label %5617, label %5639

5617:                                             ; preds = %5612
  %5618 = load i32, ptr %829, align 4, !tbaa !5
  %5619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5620 = call i32 @s2n_print_stacktrace(ptr noundef %5619) #11
  %5621 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5622 = trunc nuw i8 %5621 to i1
  br i1 %5622, label %5623, label %5627

5623:                                             ; preds = %5617
  %5624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5625 = call i32 @fileno(ptr noundef %5624) #11
  %5626 = call i32 @isatty(i32 noundef %5625) #11
  %.not985 = icmp eq i32 %5626, 0
  br i1 %.not985, label %5627, label %5628

5627:                                             ; preds = %5623, %5617
  br label %5628

5628:                                             ; preds = %5623, %5627
  %.str.5.sink2925 = phi ptr [ @.str.5, %5627 ], [ @.str.2, %5623 ]
  store i32 %5618, ptr %829, align 4, !tbaa !5
  %5629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5630 = load i32, ptr @test_count, align 4, !tbaa !5
  %5631 = load i32, ptr %775, align 4, !tbaa !5
  %5632 = call ptr @s2n_strerror(i32 noundef %5631, ptr noundef nonnull @.str.4) #11
  %5633 = load i32, ptr %775, align 4, !tbaa !5
  %5634 = call ptr @s2n_strerror_debug(i32 noundef %5633, ptr noundef nonnull @.str.4) #11
  %5635 = load i32, ptr %829, align 4, !tbaa !5
  %5636 = call ptr @strerror(i32 noundef %5635) #11
  %5637 = load i32, ptr %829, align 4, !tbaa !5
  %5638 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5629, ptr noundef nonnull %.str.5.sink2925, i32 noundef %5630, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 643, ptr noundef %5632, ptr noundef %5634, ptr noundef %5636, i32 noundef %5637) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5639:                                             ; preds = %5612
  %5640 = load i32, ptr @test_count, align 4, !tbaa !5
  %5641 = add nsw i32 %5640, 1
  store i32 %5641, ptr @test_count, align 4, !tbaa !5
  %5642 = load ptr, ptr %114, align 8, !tbaa !9
  %5643 = call i32 @s2n_set_server_name(ptr noundef %5642, ptr noundef nonnull @.str.39) #11
  %5644 = icmp eq i32 %5643, -1
  br i1 %5644, label %5645, label %5667

5645:                                             ; preds = %5639
  %5646 = load i32, ptr %829, align 4, !tbaa !5
  %5647 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5648 = call i32 @s2n_print_stacktrace(ptr noundef %5647) #11
  %5649 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5650 = trunc nuw i8 %5649 to i1
  br i1 %5650, label %5651, label %5655

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

5655:                                             ; preds = %5651, %5645
  br label %5656

5656:                                             ; preds = %5651, %5655
  %.str.5.sink2934 = phi ptr [ @.str.5, %5655 ], [ @.str.2, %5651 ]
  store i32 %5646, ptr %829, align 4, !tbaa !5
  %5657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5658 = load i32, ptr @test_count, align 4, !tbaa !5
  %5659 = load i32, ptr %775, align 4, !tbaa !5
  %5660 = call ptr @s2n_strerror(i32 noundef %5659, ptr noundef nonnull @.str.4) #11
  %5661 = load i32, ptr %775, align 4, !tbaa !5
  %5662 = call ptr @s2n_strerror_debug(i32 noundef %5661, ptr noundef nonnull @.str.4) #11
  %5663 = load i32, ptr %829, align 4, !tbaa !5
  %5664 = call ptr @strerror(i32 noundef %5663) #11
  %5665 = load i32, ptr %829, align 4, !tbaa !5
  %5666 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5657, ptr noundef nonnull %.str.5.sink2934, i32 noundef %5658, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 644, ptr noundef %5660, ptr noundef %5662, ptr noundef %5664, i32 noundef %5665) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5667:                                             ; preds = %5639
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %115) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %115, i8 0, i64 40, i1 false)
  %5668 = load i32, ptr @test_count, align 4, !tbaa !5
  %5669 = add nsw i32 %5668, 1
  store i32 %5669, ptr @test_count, align 4, !tbaa !5
  %5670 = load ptr, ptr %114, align 8, !tbaa !9
  %5671 = call i32 @s2n_test_cert_chain_data_from_pem(ptr noundef %5670, ptr noundef nonnull @.str.50, ptr noundef nonnull %115) #11
  %5672 = call zeroext i1 @s2n_result_is_ok(i32 %5671)
  br i1 %5672, label %5695, label %5673

5673:                                             ; preds = %5667
  %5674 = load i32, ptr %829, align 4, !tbaa !5
  %5675 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5676 = call i32 @s2n_print_stacktrace(ptr noundef %5675) #11
  %5677 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5678 = trunc nuw i8 %5677 to i1
  br i1 %5678, label %5679, label %5683

5679:                                             ; preds = %5673
  %5680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5681 = call i32 @fileno(ptr noundef %5680) #11
  %5682 = call i32 @isatty(i32 noundef %5681) #11
  %.not844 = icmp eq i32 %5682, 0
  br i1 %.not844, label %5683, label %5684

5683:                                             ; preds = %5679, %5673
  br label %5684

5684:                                             ; preds = %5679, %5683
  %.str.5.sink2943 = phi ptr [ @.str.5, %5683 ], [ @.str.2, %5679 ]
  store i32 %5674, ptr %829, align 4, !tbaa !5
  %5685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5686 = load i32, ptr @test_count, align 4, !tbaa !5
  %5687 = load i32, ptr %775, align 4, !tbaa !5
  %5688 = call ptr @s2n_strerror(i32 noundef %5687, ptr noundef nonnull @.str.4) #11
  %5689 = load i32, ptr %775, align 4, !tbaa !5
  %5690 = call ptr @s2n_strerror_debug(i32 noundef %5689, ptr noundef nonnull @.str.4) #11
  %5691 = load i32, ptr %829, align 4, !tbaa !5
  %5692 = call ptr @strerror(i32 noundef %5691) #11
  %5693 = load i32, ptr %829, align 4, !tbaa !5
  %5694 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5685, ptr noundef nonnull %.str.5.sink2943, i32 noundef %5686, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.1, i32 noundef 647, ptr noundef %5688, ptr noundef %5690, ptr noundef %5692, i32 noundef %5693) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5695:                                             ; preds = %5667
  %5696 = getelementptr inbounds i8, ptr %115, i64 28
  %5697 = load i32, ptr %5696, align 4, !tbaa !23
  %5698 = getelementptr inbounds i8, ptr %115, i64 24
  %5699 = load i32, ptr %5698, align 8, !tbaa !26
  %5700 = sub i32 %5697, %5699
  %5701 = call ptr @s2n_stuffer_raw_read(ptr noundef nonnull %115, i32 noundef %5700) #11
  %5702 = load i32, ptr @test_count, align 4, !tbaa !5
  %5703 = add nsw i32 %5702, 1
  store i32 %5703, ptr @test_count, align 4, !tbaa !5
  %5704 = icmp eq ptr %5701, null
  br i1 %5704, label %5705, label %5727

5705:                                             ; preds = %5695
  %5706 = load i32, ptr %829, align 4, !tbaa !5
  %5707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5708 = call i32 @s2n_print_stacktrace(ptr noundef %5707) #11
  %5709 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5710 = trunc nuw i8 %5709 to i1
  br i1 %5710, label %5711, label %5715

5711:                                             ; preds = %5705
  %5712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5713 = call i32 @fileno(ptr noundef %5712) #11
  %5714 = call i32 @isatty(i32 noundef %5713) #11
  %.not983 = icmp eq i32 %5714, 0
  br i1 %.not983, label %5715, label %5716

5715:                                             ; preds = %5711, %5705
  br label %5716

5716:                                             ; preds = %5711, %5715
  %.str.5.sink2952 = phi ptr [ @.str.5, %5715 ], [ @.str.2, %5711 ]
  store i32 %5706, ptr %829, align 4, !tbaa !5
  %5717 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5718 = load i32, ptr @test_count, align 4, !tbaa !5
  %5719 = load i32, ptr %775, align 4, !tbaa !5
  %5720 = call ptr @s2n_strerror(i32 noundef %5719, ptr noundef nonnull @.str.4) #11
  %5721 = load i32, ptr %775, align 4, !tbaa !5
  %5722 = call ptr @s2n_strerror_debug(i32 noundef %5721, ptr noundef nonnull @.str.4) #11
  %5723 = load i32, ptr %829, align 4, !tbaa !5
  %5724 = call ptr @strerror(i32 noundef %5723) #11
  %5725 = load i32, ptr %829, align 4, !tbaa !5
  %5726 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5717, ptr noundef nonnull %.str.5.sink2952, i32 noundef %5718, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 650, ptr noundef %5720, ptr noundef %5722, ptr noundef %5724, i32 noundef %5725) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5727:                                             ; preds = %5695
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %116) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %116, i8 0, i64 48, i1 false)
  %5728 = add nsw i32 %5702, 2
  store i32 %5728, ptr @test_count, align 4, !tbaa !5
  %5729 = call i32 @s2n_pkey_zero_init(ptr noundef nonnull %116) #11
  %5730 = icmp eq i32 %5729, -1
  br i1 %5730, label %5731, label %5753

5731:                                             ; preds = %5727
  %5732 = load i32, ptr %829, align 4, !tbaa !5
  %5733 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5734 = call i32 @s2n_print_stacktrace(ptr noundef %5733) #11
  %5735 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5736 = trunc nuw i8 %5735 to i1
  br i1 %5736, label %5737, label %5741

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

5741:                                             ; preds = %5737, %5731
  br label %5742

5742:                                             ; preds = %5737, %5741
  %.str.5.sink2961 = phi ptr [ @.str.5, %5741 ], [ @.str.2, %5737 ]
  store i32 %5732, ptr %829, align 4, !tbaa !5
  %5743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5744 = load i32, ptr @test_count, align 4, !tbaa !5
  %5745 = load i32, ptr %775, align 4, !tbaa !5
  %5746 = call ptr @s2n_strerror(i32 noundef %5745, ptr noundef nonnull @.str.4) #11
  %5747 = load i32, ptr %775, align 4, !tbaa !5
  %5748 = call ptr @s2n_strerror_debug(i32 noundef %5747, ptr noundef nonnull @.str.4) #11
  %5749 = load i32, ptr %829, align 4, !tbaa !5
  %5750 = call ptr @strerror(i32 noundef %5749) #11
  %5751 = load i32, ptr %829, align 4, !tbaa !5
  %5752 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5743, ptr noundef nonnull %.str.5.sink2961, i32 noundef %5744, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 653, ptr noundef %5746, ptr noundef %5748, ptr noundef %5750, i32 noundef %5751) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5753:                                             ; preds = %5727
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %117) #11
  store i32 -1, ptr %117, 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 ptr, ptr %114, align 8, !tbaa !9
  %5757 = call i32 @s2n_x509_validator_validate_cert_chain(ptr noundef nonnull %111, ptr noundef %5756, ptr noundef nonnull %5701, i32 noundef %5700, ptr noundef nonnull %117, ptr noundef nonnull %116) #11
  %5758 = call zeroext i1 @s2n_result_is_error(i32 %5757)
  br i1 %5758, label %5781, label %5759

5759:                                             ; preds = %5753
  %5760 = load i32, ptr %829, align 4, !tbaa !5
  %5761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5762 = call i32 @s2n_print_stacktrace(ptr noundef %5761) #11
  %5763 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5764 = trunc nuw i8 %5763 to i1
  br i1 %5764, label %5765, label %5769

5765:                                             ; preds = %5759
  %5766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5767 = call i32 @fileno(ptr noundef %5766) #11
  %5768 = call i32 @isatty(i32 noundef %5767) #11
  %.not845 = icmp eq i32 %5768, 0
  br i1 %.not845, label %5769, label %5770

5769:                                             ; preds = %5765, %5759
  br label %5770

5770:                                             ; preds = %5765, %5769
  %.str.5.sink2970 = phi ptr [ @.str.5, %5769 ], [ @.str.2, %5765 ]
  store i32 %5760, ptr %829, align 4, !tbaa !5
  %5771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5772 = load i32, ptr @test_count, align 4, !tbaa !5
  %5773 = load i32, ptr %775, align 4, !tbaa !5
  %5774 = call ptr @s2n_strerror(i32 noundef %5773, ptr noundef nonnull @.str.4) #11
  %5775 = load i32, ptr %775, align 4, !tbaa !5
  %5776 = call ptr @s2n_strerror_debug(i32 noundef %5775, ptr noundef nonnull @.str.4) #11
  %5777 = load i32, ptr %829, align 4, !tbaa !5
  %5778 = call ptr @strerror(i32 noundef %5777) #11
  %5779 = load i32, ptr %829, align 4, !tbaa !5
  %5780 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5771, ptr noundef nonnull %.str.5.sink2970, i32 noundef %5772, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.1, i32 noundef 657, ptr noundef %5774, ptr noundef %5776, ptr noundef %5778, i32 noundef %5779) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5781:                                             ; preds = %5753
  %5782 = load i32, ptr @test_count, align 4, !tbaa !5
  %5783 = add nsw i32 %5782, 1
  store i32 %5783, ptr @test_count, align 4, !tbaa !5
  %5784 = load i32, ptr %775, align 4, !tbaa !5
  %5785 = icmp eq i32 %5784, 335544367
  br i1 %5785, label %5808, label %5786

5786:                                             ; preds = %5781
  %5787 = load i32, ptr %829, align 4, !tbaa !5
  %5788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5789 = call i32 @s2n_print_stacktrace(ptr noundef %5788) #11
  %5790 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5791 = trunc nuw i8 %5790 to i1
  br i1 %5791, label %5792, label %5796

5792:                                             ; preds = %5786
  %5793 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5794 = call i32 @fileno(ptr noundef %5793) #11
  %5795 = call i32 @isatty(i32 noundef %5794) #11
  %.not846 = icmp eq i32 %5795, 0
  br i1 %.not846, label %5796, label %5797

5796:                                             ; preds = %5792, %5786
  br label %5797

5797:                                             ; preds = %5792, %5796
  %.str.5.sink2979 = phi ptr [ @.str.5, %5796 ], [ @.str.2, %5792 ]
  store i32 %5787, ptr %829, align 4, !tbaa !5
  %5798 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5799 = load i32, ptr @test_count, align 4, !tbaa !5
  %5800 = load i32, ptr %775, align 4, !tbaa !5
  %5801 = call ptr @s2n_strerror(i32 noundef %5800, ptr noundef nonnull @.str.4) #11
  %5802 = load i32, ptr %775, align 4, !tbaa !5
  %5803 = call ptr @s2n_strerror_debug(i32 noundef %5802, ptr noundef nonnull @.str.4) #11
  %5804 = load i32, ptr %829, align 4, !tbaa !5
  %5805 = call ptr @strerror(i32 noundef %5804) #11
  %5806 = load i32, ptr %829, align 4, !tbaa !5
  %5807 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5798, ptr noundef nonnull %.str.5.sink2979, i32 noundef %5799, ptr noundef nonnull @.str.53, ptr noundef nonnull @.str.1, i32 noundef 657, ptr noundef %5801, ptr noundef %5803, ptr noundef %5805, i32 noundef %5806) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5808:                                             ; preds = %5781
  %5809 = add nsw i32 %5782, 2
  store i32 %5809, ptr @test_count, align 4, !tbaa !5
  %5810 = call ptr @s2n_strerror_debug(i32 noundef 335544367, ptr noundef nonnull @.str.4) #11
  %5811 = icmp eq ptr %5810, null
  br i1 %5811, label %5812, label %5834

5812:                                             ; preds = %5808
  %5813 = load i32, ptr %829, align 4, !tbaa !5
  %5814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5815 = call i32 @s2n_print_stacktrace(ptr noundef %5814) #11
  %5816 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5817 = trunc nuw i8 %5816 to i1
  br i1 %5817, label %5818, label %5822

5818:                                             ; preds = %5812
  %5819 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5820 = call i32 @fileno(ptr noundef %5819) #11
  %5821 = call i32 @isatty(i32 noundef %5820) #11
  %.not981 = icmp eq i32 %5821, 0
  br i1 %.not981, label %5822, label %5823

5822:                                             ; preds = %5818, %5812
  br label %5823

5823:                                             ; preds = %5818, %5822
  %.str.5.sink2988 = phi ptr [ @.str.5, %5822 ], [ @.str.2, %5818 ]
  store i32 %5813, ptr %829, align 4, !tbaa !5
  %5824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5825 = load i32, ptr @test_count, align 4, !tbaa !5
  %5826 = load i32, ptr %775, align 4, !tbaa !5
  %5827 = call ptr @s2n_strerror(i32 noundef %5826, ptr noundef nonnull @.str.4) #11
  %5828 = load i32, ptr %775, align 4, !tbaa !5
  %5829 = call ptr @s2n_strerror_debug(i32 noundef %5828, ptr noundef nonnull @.str.4) #11
  %5830 = load i32, ptr %829, align 4, !tbaa !5
  %5831 = call ptr @strerror(i32 noundef %5830) #11
  %5832 = load i32, ptr %829, align 4, !tbaa !5
  %5833 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5824, ptr noundef nonnull %.str.5.sink2988, i32 noundef %5825, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 657, ptr noundef %5827, ptr noundef %5829, ptr noundef %5831, i32 noundef %5832) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5834:                                             ; preds = %5808
  store i32 0, ptr %775, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %829, align 4, !tbaa !5
  %5835 = load i32, ptr @test_count, align 4, !tbaa !5
  %5836 = add nsw i32 %5835, 1
  store i32 %5836, ptr @test_count, align 4, !tbaa !5
  %5837 = getelementptr inbounds i8, ptr %112, i64 80
  %5838 = load i8, ptr %5837, align 8, !tbaa !27
  %5839 = icmp eq i8 %5838, 2
  br i1 %5839, label %5862, label %5840

5840:                                             ; preds = %5834
  %5841 = load i32, ptr %829, align 4, !tbaa !5
  %5842 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5843 = call i32 @s2n_print_stacktrace(ptr noundef %5842) #11
  %5844 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5845 = trunc nuw i8 %5844 to i1
  br i1 %5845, label %5846, label %5850

5846:                                             ; preds = %5840
  %5847 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5848 = call i32 @fileno(ptr noundef %5847) #11
  %5849 = call i32 @isatty(i32 noundef %5848) #11
  %.not847 = icmp eq i32 %5849, 0
  br i1 %.not847, label %5850, label %5851

5850:                                             ; preds = %5846, %5840
  br label %5851

5851:                                             ; preds = %5846, %5850
  %.str.5.sink2997 = phi ptr [ @.str.5, %5850 ], [ @.str.2, %5846 ]
  store i32 %5841, ptr %829, align 4, !tbaa !5
  %5852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5853 = load i32, ptr @test_count, align 4, !tbaa !5
  %5854 = load i32, ptr %775, align 4, !tbaa !5
  %5855 = call ptr @s2n_strerror(i32 noundef %5854, ptr noundef nonnull @.str.4) #11
  %5856 = load i32, ptr %775, align 4, !tbaa !5
  %5857 = call ptr @s2n_strerror_debug(i32 noundef %5856, ptr noundef nonnull @.str.4) #11
  %5858 = load i32, ptr %829, align 4, !tbaa !5
  %5859 = call ptr @strerror(i32 noundef %5858) #11
  %5860 = load i32, ptr %829, align 4, !tbaa !5
  %5861 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5852, ptr noundef nonnull %.str.5.sink2997, i32 noundef %5853, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.1, i32 noundef 658, ptr noundef %5855, ptr noundef %5857, ptr noundef %5859, i32 noundef %5860) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5862:                                             ; preds = %5834
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %117) #11
  %5863 = call i32 @s2n_pkey_free(ptr noundef nonnull %116) #11
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %116) #11
  %5864 = call i32 @s2n_stuffer_free(ptr noundef nonnull %115) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %115) #11
  %5865 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %114) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %114) #11
  %5866 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %113) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %113) #11
  call void @llvm.lifetime.end.p0(i64 88, ptr nonnull %112) #11
  %5867 = call i32 @s2n_x509_validator_wipe(ptr noundef nonnull %111) #11
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %111) #11
  call void @llvm.lifetime.end.p0(i64 12000, ptr nonnull %110) #11
  call void @s2n_x509_trust_store_wipe(ptr noundef nonnull %109) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %109) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %118) #11
  store ptr null, ptr %118, align 8, !tbaa !9
  %5868 = load i32, ptr @test_count, align 4, !tbaa !5
  %5869 = add nsw i32 %5868, 1
  store i32 %5869, ptr @test_count, align 4, !tbaa !5
  %5870 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef nonnull %118, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.76) #11
  %5871 = icmp eq i32 %5870, -1
  br i1 %5871, label %5872, label %5894

5872:                                             ; preds = %5862
  %5873 = load i32, ptr %829, align 4, !tbaa !5
  %5874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5875 = call i32 @s2n_print_stacktrace(ptr noundef %5874) #11
  %5876 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5877 = trunc nuw i8 %5876 to i1
  br i1 %5877, label %5878, label %5882

5878:                                             ; preds = %5872
  %5879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5880 = call i32 @fileno(ptr noundef %5879) #11
  %5881 = call i32 @isatty(i32 noundef %5880) #11
  %.not980 = icmp eq i32 %5881, 0
  br i1 %.not980, label %5882, label %5883

5882:                                             ; preds = %5878, %5872
  br label %5883

5883:                                             ; preds = %5878, %5882
  %.str.5.sink3006 = phi ptr [ @.str.5, %5882 ], [ @.str.2, %5878 ]
  store i32 %5873, ptr %829, align 4, !tbaa !5
  %5884 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5885 = load i32, ptr @test_count, align 4, !tbaa !5
  %5886 = load i32, ptr %775, align 4, !tbaa !5
  %5887 = call ptr @s2n_strerror(i32 noundef %5886, ptr noundef nonnull @.str.4) #11
  %5888 = load i32, ptr %775, align 4, !tbaa !5
  %5889 = call ptr @s2n_strerror_debug(i32 noundef %5888, ptr noundef nonnull @.str.4) #11
  %5890 = load i32, ptr %829, align 4, !tbaa !5
  %5891 = call ptr @strerror(i32 noundef %5890) #11
  %5892 = load i32, ptr %829, align 4, !tbaa !5
  %5893 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5884, ptr noundef nonnull %.str.5.sink3006, i32 noundef %5885, ptr noundef nonnull @.str.77, ptr noundef nonnull @.str.1, i32 noundef 665, ptr noundef %5887, ptr noundef %5889, ptr noundef %5891, i32 noundef %5892) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5894:                                             ; preds = %5862
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %119) #11
  %5895 = call ptr @s2n_config_new() #11
  store ptr %5895, ptr %119, align 8, !tbaa !9
  %5896 = load i32, ptr @test_count, align 4, !tbaa !5
  %5897 = add nsw i32 %5896, 1
  store i32 %5897, ptr @test_count, align 4, !tbaa !5
  %5898 = icmp eq ptr %5895, null
  br i1 %5898, label %5899, label %5921

5899:                                             ; preds = %5894
  %5900 = load i32, ptr %829, align 4, !tbaa !5
  %5901 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5902 = call i32 @s2n_print_stacktrace(ptr noundef %5901) #11
  %5903 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5904 = trunc nuw i8 %5903 to i1
  br i1 %5904, label %5905, label %5909

5905:                                             ; preds = %5899
  %5906 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5907 = call i32 @fileno(ptr noundef %5906) #11
  %5908 = call i32 @isatty(i32 noundef %5907) #11
  %.not979 = icmp eq i32 %5908, 0
  br i1 %.not979, label %5909, label %5910

5909:                                             ; preds = %5905, %5899
  br label %5910

5910:                                             ; preds = %5905, %5909
  %.str.5.sink3015 = phi ptr [ @.str.5, %5909 ], [ @.str.2, %5905 ]
  store i32 %5900, ptr %829, align 4, !tbaa !5
  %5911 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5912 = load i32, ptr @test_count, align 4, !tbaa !5
  %5913 = load i32, ptr %775, align 4, !tbaa !5
  %5914 = call ptr @s2n_strerror(i32 noundef %5913, ptr noundef nonnull @.str.4) #11
  %5915 = load i32, ptr %775, align 4, !tbaa !5
  %5916 = call ptr @s2n_strerror_debug(i32 noundef %5915, ptr noundef nonnull @.str.4) #11
  %5917 = load i32, ptr %829, align 4, !tbaa !5
  %5918 = call ptr @strerror(i32 noundef %5917) #11
  %5919 = load i32, ptr %829, align 4, !tbaa !5
  %5920 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5911, ptr noundef nonnull %.str.5.sink3015, i32 noundef %5912, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 668, ptr noundef %5914, ptr noundef %5916, ptr noundef %5918, i32 noundef %5919) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5921:                                             ; preds = %5894
  %5922 = add nsw i32 %5896, 2
  store i32 %5922, ptr @test_count, align 4, !tbaa !5
  %5923 = load ptr, ptr %118, align 8, !tbaa !9
  %5924 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef nonnull %5895, ptr noundef %5923) #11
  %5925 = icmp eq i32 %5924, -1
  br i1 %5925, label %5926, label %5948

5926:                                             ; preds = %5921
  %5927 = load i32, ptr %829, align 4, !tbaa !5
  %5928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5929 = call i32 @s2n_print_stacktrace(ptr noundef %5928) #11
  %5930 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5931 = trunc nuw i8 %5930 to i1
  br i1 %5931, label %5932, label %5936

5932:                                             ; preds = %5926
  %5933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5934 = call i32 @fileno(ptr noundef %5933) #11
  %5935 = call i32 @isatty(i32 noundef %5934) #11
  %.not978 = icmp eq i32 %5935, 0
  br i1 %.not978, label %5936, label %5937

5936:                                             ; preds = %5932, %5926
  br label %5937

5937:                                             ; preds = %5932, %5936
  %.str.5.sink3024 = phi ptr [ @.str.5, %5936 ], [ @.str.2, %5932 ]
  store i32 %5927, ptr %829, align 4, !tbaa !5
  %5938 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5939 = load i32, ptr @test_count, align 4, !tbaa !5
  %5940 = load i32, ptr %775, align 4, !tbaa !5
  %5941 = call ptr @s2n_strerror(i32 noundef %5940, ptr noundef nonnull @.str.4) #11
  %5942 = load i32, ptr %775, align 4, !tbaa !5
  %5943 = call ptr @s2n_strerror_debug(i32 noundef %5942, ptr noundef nonnull @.str.4) #11
  %5944 = load i32, ptr %829, align 4, !tbaa !5
  %5945 = call ptr @strerror(i32 noundef %5944) #11
  %5946 = load i32, ptr %829, align 4, !tbaa !5
  %5947 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5938, ptr noundef nonnull %.str.5.sink3024, i32 noundef %5939, ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.1, i32 noundef 669, ptr noundef %5941, ptr noundef %5943, ptr noundef %5945, i32 noundef %5946) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5948:                                             ; preds = %5921
  %5949 = load i32, ptr @test_count, align 4, !tbaa !5
  %5950 = add nsw i32 %5949, 1
  store i32 %5950, ptr @test_count, align 4, !tbaa !5
  %5951 = load ptr, ptr %119, align 8, !tbaa !9
  %5952 = call i32 @s2n_config_set_verification_ca_location(ptr noundef %5951, ptr noundef nonnull @.str.31, ptr noundef null) #11
  %5953 = icmp eq i32 %5952, -1
  br i1 %5953, label %5954, label %5976

5954:                                             ; preds = %5948
  %5955 = load i32, ptr %829, align 4, !tbaa !5
  %5956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5957 = call i32 @s2n_print_stacktrace(ptr noundef %5956) #11
  %5958 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5959 = trunc nuw i8 %5958 to i1
  br i1 %5959, label %5960, label %5964

5960:                                             ; preds = %5954
  %5961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5962 = call i32 @fileno(ptr noundef %5961) #11
  %5963 = call i32 @isatty(i32 noundef %5962) #11
  %.not977 = icmp eq i32 %5963, 0
  br i1 %.not977, label %5964, label %5965

5964:                                             ; preds = %5960, %5954
  br label %5965

5965:                                             ; preds = %5960, %5964
  %.str.5.sink3033 = phi ptr [ @.str.5, %5964 ], [ @.str.2, %5960 ]
  store i32 %5955, ptr %829, align 4, !tbaa !5
  %5966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5967 = load i32, ptr @test_count, align 4, !tbaa !5
  %5968 = load i32, ptr %775, align 4, !tbaa !5
  %5969 = call ptr @s2n_strerror(i32 noundef %5968, ptr noundef nonnull @.str.4) #11
  %5970 = load i32, ptr %775, align 4, !tbaa !5
  %5971 = call ptr @s2n_strerror_debug(i32 noundef %5970, ptr noundef nonnull @.str.4) #11
  %5972 = load i32, ptr %829, align 4, !tbaa !5
  %5973 = call ptr @strerror(i32 noundef %5972) #11
  %5974 = load i32, ptr %829, align 4, !tbaa !5
  %5975 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5966, ptr noundef nonnull %.str.5.sink3033, i32 noundef %5967, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.1, i32 noundef 670, ptr noundef %5969, ptr noundef %5971, ptr noundef %5973, i32 noundef %5974) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5976:                                             ; preds = %5948
  %5977 = load i32, ptr @test_count, align 4, !tbaa !5
  %5978 = add nsw i32 %5977, 1
  store i32 %5978, ptr @test_count, align 4, !tbaa !5
  %5979 = load ptr, ptr %119, align 8, !tbaa !9
  %5980 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %5979, ptr noundef nonnull @.str.80) #11
  %5981 = icmp eq i32 %5980, -1
  br i1 %5981, label %5982, label %6004

5982:                                             ; preds = %5976
  %5983 = load i32, ptr %829, align 4, !tbaa !5
  %5984 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5985 = call i32 @s2n_print_stacktrace(ptr noundef %5984) #11
  %5986 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5987 = trunc nuw i8 %5986 to i1
  br i1 %5987, label %5988, label %5992

5988:                                             ; preds = %5982
  %5989 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5990 = call i32 @fileno(ptr noundef %5989) #11
  %5991 = call i32 @isatty(i32 noundef %5990) #11
  %.not976 = icmp eq i32 %5991, 0
  br i1 %.not976, label %5992, label %5993

5992:                                             ; preds = %5988, %5982
  br label %5993

5993:                                             ; preds = %5988, %5992
  %.str.5.sink3042 = phi ptr [ @.str.5, %5992 ], [ @.str.2, %5988 ]
  store i32 %5983, ptr %829, align 4, !tbaa !5
  %5994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5995 = load i32, ptr @test_count, align 4, !tbaa !5
  %5996 = load i32, ptr %775, align 4, !tbaa !5
  %5997 = call ptr @s2n_strerror(i32 noundef %5996, ptr noundef nonnull @.str.4) #11
  %5998 = load i32, ptr %775, align 4, !tbaa !5
  %5999 = call ptr @s2n_strerror_debug(i32 noundef %5998, ptr noundef nonnull @.str.4) #11
  %6000 = load i32, ptr %829, align 4, !tbaa !5
  %6001 = call ptr @strerror(i32 noundef %6000) #11
  %6002 = load i32, ptr %829, align 4, !tbaa !5
  %6003 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5994, ptr noundef nonnull %.str.5.sink3042, i32 noundef %5995, ptr noundef nonnull @.str.81, ptr noundef nonnull @.str.1, i32 noundef 671, ptr noundef %5997, ptr noundef %5999, ptr noundef %6001, i32 noundef %6002) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6004:                                             ; preds = %5976
  call void @llvm.lifetime.start.p0(i64 88, ptr nonnull %120) #11
  %6005 = getelementptr inbounds i8, ptr %120, i64 16
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(88) %6005, i8 0, i64 72, i1 false)
  store ptr %939, ptr %120, align 8, !tbaa !9
  %6006 = getelementptr inbounds i8, ptr %120, i64 8
  store ptr %912, ptr %6006, align 8, !tbaa !9
  %6007 = load i32, ptr @test_count, align 4, !tbaa !5
  %6008 = add nsw i32 %6007, 1
  store i32 %6008, ptr @test_count, align 4, !tbaa !5
  %6009 = load ptr, ptr %119, align 8, !tbaa !9
  %6010 = call i32 @s2n_config_set_crl_lookup_cb(ptr noundef %6009, ptr noundef nonnull @crl_lookup_test_callback, ptr noundef nonnull %120) #11
  %6011 = icmp eq i32 %6010, -1
  br i1 %6011, label %6012, label %6034

6012:                                             ; preds = %6004
  %6013 = load i32, ptr %829, align 4, !tbaa !5
  %6014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6015 = call i32 @s2n_print_stacktrace(ptr noundef %6014) #11
  %6016 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6017 = trunc nuw i8 %6016 to i1
  br i1 %6017, label %6018, label %6022

6018:                                             ; preds = %6012
  %6019 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6020 = call i32 @fileno(ptr noundef %6019) #11
  %6021 = call i32 @isatty(i32 noundef %6020) #11
  %.not975 = icmp eq i32 %6021, 0
  br i1 %.not975, label %6022, label %6023

6022:                                             ; preds = %6018, %6012
  br label %6023

6023:                                             ; preds = %6018, %6022
  %.str.5.sink3051 = phi ptr [ @.str.5, %6022 ], [ @.str.2, %6018 ]
  store i32 %6013, ptr %829, align 4, !tbaa !5
  %6024 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6025 = load i32, ptr @test_count, align 4, !tbaa !5
  %6026 = load i32, ptr %775, align 4, !tbaa !5
  %6027 = call ptr @s2n_strerror(i32 noundef %6026, ptr noundef nonnull @.str.4) #11
  %6028 = load i32, ptr %775, align 4, !tbaa !5
  %6029 = call ptr @s2n_strerror_debug(i32 noundef %6028, ptr noundef nonnull @.str.4) #11
  %6030 = load i32, ptr %829, align 4, !tbaa !5
  %6031 = call ptr @strerror(i32 noundef %6030) #11
  %6032 = load i32, ptr %829, align 4, !tbaa !5
  %6033 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6024, ptr noundef nonnull %.str.5.sink3051, i32 noundef %6025, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.1, i32 noundef 676, ptr noundef %6027, ptr noundef %6029, ptr noundef %6031, i32 noundef %6032) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6034:                                             ; preds = %6004
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %121) #11
  %6035 = call ptr @s2n_connection_new(i32 noundef 0) #11
  store ptr %6035, ptr %121, align 8, !tbaa !9
  %6036 = load i32, ptr @test_count, align 4, !tbaa !5
  %6037 = add nsw i32 %6036, 1
  store i32 %6037, ptr @test_count, align 4, !tbaa !5
  %6038 = icmp eq ptr %6035, null
  br i1 %6038, label %6039, label %6061

6039:                                             ; preds = %6034
  %6040 = load i32, ptr %829, align 4, !tbaa !5
  %6041 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6042 = call i32 @s2n_print_stacktrace(ptr noundef %6041) #11
  %6043 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6044 = trunc nuw i8 %6043 to i1
  br i1 %6044, label %6045, label %6049

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

6049:                                             ; preds = %6045, %6039
  br label %6050

6050:                                             ; preds = %6045, %6049
  %.str.5.sink3060 = phi ptr [ @.str.5, %6049 ], [ @.str.2, %6045 ]
  store i32 %6040, ptr %829, align 4, !tbaa !5
  %6051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6052 = load i32, ptr @test_count, align 4, !tbaa !5
  %6053 = load i32, ptr %775, align 4, !tbaa !5
  %6054 = call ptr @s2n_strerror(i32 noundef %6053, ptr noundef nonnull @.str.4) #11
  %6055 = load i32, ptr %775, align 4, !tbaa !5
  %6056 = call ptr @s2n_strerror_debug(i32 noundef %6055, ptr noundef nonnull @.str.4) #11
  %6057 = load i32, ptr %829, align 4, !tbaa !5
  %6058 = call ptr @strerror(i32 noundef %6057) #11
  %6059 = load i32, ptr %829, align 4, !tbaa !5
  %6060 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6051, ptr noundef nonnull %.str.5.sink3060, i32 noundef %6052, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.1, i32 noundef 679, ptr noundef %6054, ptr noundef %6056, ptr noundef %6058, i32 noundef %6059) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6061:                                             ; preds = %6034
  %6062 = add nsw i32 %6036, 2
  store i32 %6062, ptr @test_count, align 4, !tbaa !5
  %6063 = load ptr, ptr %119, align 8, !tbaa !9
  %6064 = call i32 @s2n_connection_set_config(ptr noundef nonnull %6035, ptr noundef %6063) #11
  %6065 = icmp eq i32 %6064, -1
  br i1 %6065, label %6066, label %6088

6066:                                             ; preds = %6061
  %6067 = load i32, ptr %829, align 4, !tbaa !5
  %6068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6069 = call i32 @s2n_print_stacktrace(ptr noundef %6068) #11
  %6070 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6071 = trunc nuw i8 %6070 to i1
  br i1 %6071, label %6072, label %6076

6072:                                             ; preds = %6066
  %6073 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6074 = call i32 @fileno(ptr noundef %6073) #11
  %6075 = call i32 @isatty(i32 noundef %6074) #11
  %.not973 = icmp eq i32 %6075, 0
  br i1 %.not973, label %6076, label %6077

6076:                                             ; preds = %6072, %6066
  br label %6077

6077:                                             ; preds = %6072, %6076
  %.str.5.sink3069 = phi ptr [ @.str.5, %6076 ], [ @.str.2, %6072 ]
  store i32 %6067, ptr %829, align 4, !tbaa !5
  %6078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6079 = load i32, ptr @test_count, align 4, !tbaa !5
  %6080 = load i32, ptr %775, align 4, !tbaa !5
  %6081 = call ptr @s2n_strerror(i32 noundef %6080, ptr noundef nonnull @.str.4) #11
  %6082 = load i32, ptr %775, align 4, !tbaa !5
  %6083 = call ptr @s2n_strerror_debug(i32 noundef %6082, ptr noundef nonnull @.str.4) #11
  %6084 = load i32, ptr %829, align 4, !tbaa !5
  %6085 = call ptr @strerror(i32 noundef %6084) #11
  %6086 = load i32, ptr %829, align 4, !tbaa !5
  %6087 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6078, ptr noundef nonnull %.str.5.sink3069, i32 noundef %6079, ptr noundef nonnull @.str.83, ptr noundef nonnull @.str.1, i32 noundef 680, ptr noundef %6081, ptr noundef %6083, ptr noundef %6085, i32 noundef %6086) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6088:                                             ; preds = %6061
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %122) #11
  %6089 = call ptr @s2n_connection_new(i32 noundef 1) #11
  store ptr %6089, ptr %122, align 8, !tbaa !9
  %6090 = load i32, ptr @test_count, align 4, !tbaa !5
  %6091 = add nsw i32 %6090, 1
  store i32 %6091, ptr @test_count, align 4, !tbaa !5
  %6092 = icmp eq ptr %6089, null
  br i1 %6092, label %6093, label %6115

6093:                                             ; preds = %6088
  %6094 = load i32, ptr %829, align 4, !tbaa !5
  %6095 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6096 = call i32 @s2n_print_stacktrace(ptr noundef %6095) #11
  %6097 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6098 = trunc nuw i8 %6097 to i1
  br i1 %6098, label %6099, label %6103

6099:                                             ; preds = %6093
  %6100 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6101 = call i32 @fileno(ptr noundef %6100) #11
  %6102 = call i32 @isatty(i32 noundef %6101) #11
  %.not972 = icmp eq i32 %6102, 0
  br i1 %.not972, label %6103, label %6104

6103:                                             ; preds = %6099, %6093
  br label %6104

6104:                                             ; preds = %6099, %6103
  %.str.5.sink3078 = phi ptr [ @.str.5, %6103 ], [ @.str.2, %6099 ]
  store i32 %6094, ptr %829, align 4, !tbaa !5
  %6105 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6106 = load i32, ptr @test_count, align 4, !tbaa !5
  %6107 = load i32, ptr %775, align 4, !tbaa !5
  %6108 = call ptr @s2n_strerror(i32 noundef %6107, ptr noundef nonnull @.str.4) #11
  %6109 = load i32, ptr %775, align 4, !tbaa !5
  %6110 = call ptr @s2n_strerror_debug(i32 noundef %6109, ptr noundef nonnull @.str.4) #11
  %6111 = load i32, ptr %829, align 4, !tbaa !5
  %6112 = call ptr @strerror(i32 noundef %6111) #11
  %6113 = load i32, ptr %829, align 4, !tbaa !5
  %6114 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6105, ptr noundef nonnull %.str.5.sink3078, i32 noundef %6106, ptr noundef nonnull @.str.84, ptr noundef nonnull @.str.1, i32 noundef 683, ptr noundef %6108, ptr noundef %6110, ptr noundef %6112, i32 noundef %6113) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6115:                                             ; preds = %6088
  %6116 = add nsw i32 %6090, 2
  store i32 %6116, ptr @test_count, align 4, !tbaa !5
  %6117 = load ptr, ptr %119, align 8, !tbaa !9
  %6118 = call i32 @s2n_connection_set_config(ptr noundef nonnull %6089, ptr noundef %6117) #11
  %6119 = icmp eq i32 %6118, -1
  br i1 %6119, label %6120, label %6142

6120:                                             ; preds = %6115
  %6121 = load i32, ptr %829, align 4, !tbaa !5
  %6122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6123 = call i32 @s2n_print_stacktrace(ptr noundef %6122) #11
  %6124 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6125 = trunc nuw i8 %6124 to i1
  br i1 %6125, label %6126, label %6130

6126:                                             ; preds = %6120
  %6127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6128 = call i32 @fileno(ptr noundef %6127) #11
  %6129 = call i32 @isatty(i32 noundef %6128) #11
  %.not971 = icmp eq i32 %6129, 0
  br i1 %.not971, label %6130, label %6131

6130:                                             ; preds = %6126, %6120
  br label %6131

6131:                                             ; preds = %6126, %6130
  %.str.5.sink3087 = phi ptr [ @.str.5, %6130 ], [ @.str.2, %6126 ]
  store i32 %6121, ptr %829, align 4, !tbaa !5
  %6132 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6133 = load i32, ptr @test_count, align 4, !tbaa !5
  %6134 = load i32, ptr %775, align 4, !tbaa !5
  %6135 = call ptr @s2n_strerror(i32 noundef %6134, ptr noundef nonnull @.str.4) #11
  %6136 = load i32, ptr %775, align 4, !tbaa !5
  %6137 = call ptr @s2n_strerror_debug(i32 noundef %6136, ptr noundef nonnull @.str.4) #11
  %6138 = load i32, ptr %829, align 4, !tbaa !5
  %6139 = call ptr @strerror(i32 noundef %6138) #11
  %6140 = load i32, ptr %829, align 4, !tbaa !5
  %6141 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6132, ptr noundef nonnull %.str.5.sink3087, i32 noundef %6133, ptr noundef nonnull @.str.85, ptr noundef nonnull @.str.1, i32 noundef 684, ptr noundef %6135, ptr noundef %6137, ptr noundef %6139, i32 noundef %6140) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6142:                                             ; preds = %6115
  %6143 = load i32, ptr @test_count, align 4, !tbaa !5
  %6144 = add nsw i32 %6143, 1
  store i32 %6144, ptr @test_count, align 4, !tbaa !5
  %6145 = load ptr, ptr %122, align 8, !tbaa !9
  %6146 = call i32 @s2n_set_server_name(ptr noundef %6145, ptr noundef nonnull @.str.39) #11
  %6147 = icmp eq i32 %6146, -1
  br i1 %6147, label %6148, label %6170

6148:                                             ; preds = %6142
  %6149 = load i32, ptr %829, align 4, !tbaa !5
  %6150 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6151 = call i32 @s2n_print_stacktrace(ptr noundef %6150) #11
  %6152 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6153 = trunc nuw i8 %6152 to i1
  br i1 %6153, label %6154, label %6158

6154:                                             ; preds = %6148
  %6155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6156 = call i32 @fileno(ptr noundef %6155) #11
  %6157 = call i32 @isatty(i32 noundef %6156) #11
  %.not970 = icmp eq i32 %6157, 0
  br i1 %.not970, label %6158, label %6159

6158:                                             ; preds = %6154, %6148
  br label %6159

6159:                                             ; preds = %6154, %6158
  %.str.5.sink3096 = phi ptr [ @.str.5, %6158 ], [ @.str.2, %6154 ]
  store i32 %6149, ptr %829, align 4, !tbaa !5
  %6160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6161 = load i32, ptr @test_count, align 4, !tbaa !5
  %6162 = load i32, ptr %775, align 4, !tbaa !5
  %6163 = call ptr @s2n_strerror(i32 noundef %6162, ptr noundef nonnull @.str.4) #11
  %6164 = load i32, ptr %775, align 4, !tbaa !5
  %6165 = call ptr @s2n_strerror_debug(i32 noundef %6164, ptr noundef nonnull @.str.4) #11
  %6166 = load i32, ptr %829, align 4, !tbaa !5
  %6167 = call ptr @strerror(i32 noundef %6166) #11
  %6168 = load i32, ptr %829, align 4, !tbaa !5
  %6169 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6160, ptr noundef nonnull %.str.5.sink3096, i32 noundef %6161, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.1, i32 noundef 685, ptr noundef %6163, ptr noundef %6165, ptr noundef %6167, i32 noundef %6168) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6170:                                             ; preds = %6142
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %123) #11
  store i64 0, ptr %123, align 8
  %6171 = load i32, ptr @test_count, align 4, !tbaa !5
  %6172 = add nsw i32 %6171, 1
  store i32 %6172, ptr @test_count, align 4, !tbaa !5
  %6173 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef nonnull %123) #11
  %6174 = icmp eq i32 %6173, -1
  br i1 %6174, label %6175, label %6197

6175:                                             ; preds = %6170
  %6176 = load i32, ptr %829, align 4, !tbaa !5
  %6177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6178 = call i32 @s2n_print_stacktrace(ptr noundef %6177) #11
  %6179 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6180 = trunc nuw i8 %6179 to i1
  br i1 %6180, label %6181, label %6185

6181:                                             ; preds = %6175
  %6182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6183 = call i32 @fileno(ptr noundef %6182) #11
  %6184 = call i32 @isatty(i32 noundef %6183) #11
  %.not969 = icmp eq i32 %6184, 0
  br i1 %.not969, label %6185, label %6186

6185:                                             ; preds = %6181, %6175
  br label %6186

6186:                                             ; preds = %6181, %6185
  %.str.5.sink3105 = phi ptr [ @.str.5, %6185 ], [ @.str.2, %6181 ]
  store i32 %6176, ptr %829, align 4, !tbaa !5
  %6187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6188 = load i32, ptr @test_count, align 4, !tbaa !5
  %6189 = load i32, ptr %775, align 4, !tbaa !5
  %6190 = call ptr @s2n_strerror(i32 noundef %6189, ptr noundef nonnull @.str.4) #11
  %6191 = load i32, ptr %775, align 4, !tbaa !5
  %6192 = call ptr @s2n_strerror_debug(i32 noundef %6191, ptr noundef nonnull @.str.4) #11
  %6193 = load i32, ptr %829, align 4, !tbaa !5
  %6194 = call ptr @strerror(i32 noundef %6193) #11
  %6195 = load i32, ptr %829, align 4, !tbaa !5
  %6196 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6187, ptr noundef nonnull %.str.5.sink3105, i32 noundef %6188, ptr noundef nonnull @.str.87, ptr noundef nonnull @.str.1, i32 noundef 688, ptr noundef %6190, ptr noundef %6192, ptr noundef %6194, i32 noundef %6195) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6197:                                             ; preds = %6170
  %6198 = load i32, ptr @test_count, align 4, !tbaa !5
  %6199 = add nsw i32 %6198, 1
  store i32 %6199, ptr @test_count, align 4, !tbaa !5
  %6200 = load ptr, ptr %122, align 8, !tbaa !9
  %6201 = call i32 @s2n_connection_set_io_pair(ptr noundef %6200, ptr noundef nonnull %123) #11
  %6202 = icmp eq i32 %6201, -1
  br i1 %6202, label %6203, label %6225

6203:                                             ; preds = %6197
  %6204 = load i32, ptr %829, align 4, !tbaa !5
  %6205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6206 = call i32 @s2n_print_stacktrace(ptr noundef %6205) #11
  %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) #11
  %6212 = call i32 @isatty(i32 noundef %6211) #11
  %.not968 = icmp eq i32 %6212, 0
  br i1 %.not968, label %6213, label %6214

6213:                                             ; preds = %6209, %6203
  br label %6214

6214:                                             ; preds = %6209, %6213
  %.str.5.sink3114 = phi ptr [ @.str.5, %6213 ], [ @.str.2, %6209 ]
  store i32 %6204, ptr %829, 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 %775, align 4, !tbaa !5
  %6218 = call ptr @s2n_strerror(i32 noundef %6217, ptr noundef nonnull @.str.4) #11
  %6219 = load i32, ptr %775, align 4, !tbaa !5
  %6220 = call ptr @s2n_strerror_debug(i32 noundef %6219, ptr noundef nonnull @.str.4) #11
  %6221 = load i32, ptr %829, align 4, !tbaa !5
  %6222 = call ptr @strerror(i32 noundef %6221) #11
  %6223 = load i32, ptr %829, align 4, !tbaa !5
  %6224 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6215, ptr noundef nonnull %.str.5.sink3114, i32 noundef %6216, ptr noundef nonnull @.str.88, ptr noundef nonnull @.str.1, i32 noundef 689, ptr noundef %6218, ptr noundef %6220, ptr noundef %6222, i32 noundef %6223) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6225:                                             ; preds = %6197
  %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 ptr, ptr %121, align 8, !tbaa !9
  %6229 = call i32 @s2n_connection_set_io_pair(ptr noundef %6228, ptr noundef nonnull %123) #11
  %6230 = icmp eq i32 %6229, -1
  br i1 %6230, label %6231, label %6253

6231:                                             ; preds = %6225
  %6232 = load i32, ptr %829, align 4, !tbaa !5
  %6233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6234 = call i32 @s2n_print_stacktrace(ptr noundef %6233) #11
  %6235 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6236 = trunc nuw i8 %6235 to i1
  br i1 %6236, label %6237, label %6241

6237:                                             ; preds = %6231
  %6238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6239 = call i32 @fileno(ptr noundef %6238) #11
  %6240 = call i32 @isatty(i32 noundef %6239) #11
  %.not967 = icmp eq i32 %6240, 0
  br i1 %.not967, label %6241, label %6242

6241:                                             ; preds = %6237, %6231
  br label %6242

6242:                                             ; preds = %6237, %6241
  %.str.5.sink3123 = phi ptr [ @.str.5, %6241 ], [ @.str.2, %6237 ]
  store i32 %6232, ptr %829, align 4, !tbaa !5
  %6243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6244 = load i32, ptr @test_count, align 4, !tbaa !5
  %6245 = load i32, ptr %775, align 4, !tbaa !5
  %6246 = call ptr @s2n_strerror(i32 noundef %6245, ptr noundef nonnull @.str.4) #11
  %6247 = load i32, ptr %775, align 4, !tbaa !5
  %6248 = call ptr @s2n_strerror_debug(i32 noundef %6247, ptr noundef nonnull @.str.4) #11
  %6249 = load i32, ptr %829, align 4, !tbaa !5
  %6250 = call ptr @strerror(i32 noundef %6249) #11
  %6251 = load i32, ptr %829, align 4, !tbaa !5
  %6252 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6243, ptr noundef nonnull %.str.5.sink3123, i32 noundef %6244, ptr noundef nonnull @.str.89, ptr noundef nonnull @.str.1, i32 noundef 690, ptr noundef %6246, ptr noundef %6248, ptr noundef %6250, i32 noundef %6251) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6253:                                             ; preds = %6225
  %6254 = load i32, ptr @test_count, align 4, !tbaa !5
  %6255 = add nsw i32 %6254, 1
  store i32 %6255, ptr @test_count, align 4, !tbaa !5
  %6256 = load ptr, ptr %121, align 8, !tbaa !9
  %6257 = load ptr, ptr %122, align 8, !tbaa !9
  %6258 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %6256, ptr noundef %6257) #11
  %6259 = icmp eq i32 %6258, -1
  br i1 %6259, label %6260, label %6282

6260:                                             ; preds = %6253
  %6261 = load i32, ptr %829, align 4, !tbaa !5
  %6262 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6263 = call i32 @s2n_print_stacktrace(ptr noundef %6262) #11
  %6264 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6265 = trunc nuw i8 %6264 to i1
  br i1 %6265, label %6266, label %6270

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

6270:                                             ; preds = %6266, %6260
  br label %6271

6271:                                             ; preds = %6266, %6270
  %.str.5.sink3132 = phi ptr [ @.str.5, %6270 ], [ @.str.2, %6266 ]
  store i32 %6261, ptr %829, align 4, !tbaa !5
  %6272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6273 = load i32, ptr @test_count, align 4, !tbaa !5
  %6274 = load i32, ptr %775, align 4, !tbaa !5
  %6275 = call ptr @s2n_strerror(i32 noundef %6274, ptr noundef nonnull @.str.4) #11
  %6276 = load i32, ptr %775, align 4, !tbaa !5
  %6277 = call ptr @s2n_strerror_debug(i32 noundef %6276, ptr noundef nonnull @.str.4) #11
  %6278 = load i32, ptr %829, align 4, !tbaa !5
  %6279 = call ptr @strerror(i32 noundef %6278) #11
  %6280 = load i32, ptr %829, align 4, !tbaa !5
  %6281 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6272, ptr noundef nonnull %.str.5.sink3132, i32 noundef %6273, ptr noundef nonnull @.str.90, ptr noundef nonnull @.str.1, i32 noundef 692, ptr noundef %6275, ptr noundef %6277, ptr noundef %6279, i32 noundef %6280) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6282:                                             ; preds = %6253
  %6283 = load i32, ptr @test_count, align 4, !tbaa !5
  %6284 = add nsw i32 %6283, 1
  store i32 %6284, ptr @test_count, align 4, !tbaa !5
  %6285 = getelementptr inbounds i8, ptr %120, i64 80
  %6286 = load i8, ptr %6285, align 8, !tbaa !27
  %6287 = icmp eq i8 %6286, 2
  br i1 %6287, label %6310, label %6288

6288:                                             ; preds = %6282
  %6289 = load i32, ptr %829, align 4, !tbaa !5
  %6290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6291 = call i32 @s2n_print_stacktrace(ptr noundef %6290) #11
  %6292 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6293 = trunc nuw i8 %6292 to i1
  br i1 %6293, label %6294, label %6298

6294:                                             ; preds = %6288
  %6295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6296 = call i32 @fileno(ptr noundef %6295) #11
  %6297 = call i32 @isatty(i32 noundef %6296) #11
  %.not848 = icmp eq i32 %6297, 0
  br i1 %.not848, label %6298, label %6299

6298:                                             ; preds = %6294, %6288
  br label %6299

6299:                                             ; preds = %6294, %6298
  %.str.5.sink3141 = phi ptr [ @.str.5, %6298 ], [ @.str.2, %6294 ]
  store i32 %6289, ptr %829, align 4, !tbaa !5
  %6300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6301 = load i32, ptr @test_count, align 4, !tbaa !5
  %6302 = load i32, ptr %775, align 4, !tbaa !5
  %6303 = call ptr @s2n_strerror(i32 noundef %6302, ptr noundef nonnull @.str.4) #11
  %6304 = load i32, ptr %775, align 4, !tbaa !5
  %6305 = call ptr @s2n_strerror_debug(i32 noundef %6304, ptr noundef nonnull @.str.4) #11
  %6306 = load i32, ptr %829, align 4, !tbaa !5
  %6307 = call ptr @strerror(i32 noundef %6306) #11
  %6308 = load i32, ptr %829, align 4, !tbaa !5
  %6309 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6300, ptr noundef nonnull %.str.5.sink3141, i32 noundef %6301, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.1, i32 noundef 694, ptr noundef %6303, ptr noundef %6305, ptr noundef %6307, i32 noundef %6308) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6310:                                             ; preds = %6282
  %6311 = call i32 @s2n_io_pair_close(ptr noundef nonnull %123) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %123) #11
  %6312 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %122) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %122) #11
  %6313 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %121) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %121) #11
  call void @llvm.lifetime.end.p0(i64 88, ptr nonnull %120) #11
  %6314 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %119) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %119) #11
  %6315 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef nonnull %118) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %118) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %124) #11
  store ptr null, ptr %124, align 8, !tbaa !9
  %6316 = load i32, ptr @test_count, align 4, !tbaa !5
  %6317 = add nsw i32 %6316, 1
  store i32 %6317, ptr @test_count, align 4, !tbaa !5
  %6318 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef nonnull %124, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.91) #11
  %6319 = icmp eq i32 %6318, -1
  br i1 %6319, label %6320, label %6342

6320:                                             ; preds = %6310
  %6321 = load i32, ptr %829, align 4, !tbaa !5
  %6322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6323 = call i32 @s2n_print_stacktrace(ptr noundef %6322) #11
  %6324 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6325 = trunc nuw i8 %6324 to i1
  br i1 %6325, label %6326, label %6330

6326:                                             ; preds = %6320
  %6327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6328 = call i32 @fileno(ptr noundef %6327) #11
  %6329 = call i32 @isatty(i32 noundef %6328) #11
  %.not965 = icmp eq i32 %6329, 0
  br i1 %.not965, label %6330, label %6331

6330:                                             ; preds = %6326, %6320
  br label %6331

6331:                                             ; preds = %6326, %6330
  %.str.5.sink3150 = phi ptr [ @.str.5, %6330 ], [ @.str.2, %6326 ]
  store i32 %6321, ptr %829, align 4, !tbaa !5
  %6332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6333 = load i32, ptr @test_count, align 4, !tbaa !5
  %6334 = load i32, ptr %775, align 4, !tbaa !5
  %6335 = call ptr @s2n_strerror(i32 noundef %6334, ptr noundef nonnull @.str.4) #11
  %6336 = load i32, ptr %775, align 4, !tbaa !5
  %6337 = call ptr @s2n_strerror_debug(i32 noundef %6336, ptr noundef nonnull @.str.4) #11
  %6338 = load i32, ptr %829, align 4, !tbaa !5
  %6339 = call ptr @strerror(i32 noundef %6338) #11
  %6340 = load i32, ptr %829, align 4, !tbaa !5
  %6341 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6332, ptr noundef nonnull %.str.5.sink3150, i32 noundef %6333, ptr noundef nonnull @.str.92, ptr noundef nonnull @.str.1, i32 noundef 701, ptr noundef %6335, ptr noundef %6337, ptr noundef %6339, i32 noundef %6340) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6342:                                             ; preds = %6310
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %125) #11
  %6343 = call ptr @s2n_config_new() #11
  store ptr %6343, ptr %125, align 8, !tbaa !9
  %6344 = load i32, ptr @test_count, align 4, !tbaa !5
  %6345 = add nsw i32 %6344, 1
  store i32 %6345, ptr @test_count, align 4, !tbaa !5
  %6346 = icmp eq ptr %6343, null
  br i1 %6346, label %6347, label %6369

6347:                                             ; preds = %6342
  %6348 = load i32, ptr %829, align 4, !tbaa !5
  %6349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6350 = call i32 @s2n_print_stacktrace(ptr noundef %6349) #11
  %6351 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6352 = trunc nuw i8 %6351 to i1
  br i1 %6352, label %6353, label %6357

6353:                                             ; preds = %6347
  %6354 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6355 = call i32 @fileno(ptr noundef %6354) #11
  %6356 = call i32 @isatty(i32 noundef %6355) #11
  %.not964 = icmp eq i32 %6356, 0
  br i1 %.not964, label %6357, label %6358

6357:                                             ; preds = %6353, %6347
  br label %6358

6358:                                             ; preds = %6353, %6357
  %.str.5.sink3159 = phi ptr [ @.str.5, %6357 ], [ @.str.2, %6353 ]
  store i32 %6348, ptr %829, align 4, !tbaa !5
  %6359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6360 = load i32, ptr @test_count, align 4, !tbaa !5
  %6361 = load i32, ptr %775, align 4, !tbaa !5
  %6362 = call ptr @s2n_strerror(i32 noundef %6361, ptr noundef nonnull @.str.4) #11
  %6363 = load i32, ptr %775, align 4, !tbaa !5
  %6364 = call ptr @s2n_strerror_debug(i32 noundef %6363, ptr noundef nonnull @.str.4) #11
  %6365 = load i32, ptr %829, align 4, !tbaa !5
  %6366 = call ptr @strerror(i32 noundef %6365) #11
  %6367 = load i32, ptr %829, align 4, !tbaa !5
  %6368 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6359, ptr noundef nonnull %.str.5.sink3159, i32 noundef %6360, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 704, ptr noundef %6362, ptr noundef %6364, ptr noundef %6366, i32 noundef %6367) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6369:                                             ; preds = %6342
  %6370 = add nsw i32 %6344, 2
  store i32 %6370, ptr @test_count, align 4, !tbaa !5
  %6371 = load ptr, ptr %124, align 8, !tbaa !9
  %6372 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef nonnull %6343, ptr noundef %6371) #11
  %6373 = icmp eq i32 %6372, -1
  br i1 %6373, label %6374, label %6396

6374:                                             ; preds = %6369
  %6375 = load i32, ptr %829, align 4, !tbaa !5
  %6376 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6377 = call i32 @s2n_print_stacktrace(ptr noundef %6376) #11
  %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) #11
  %6383 = call i32 @isatty(i32 noundef %6382) #11
  %.not963 = icmp eq i32 %6383, 0
  br i1 %.not963, label %6384, label %6385

6384:                                             ; preds = %6380, %6374
  br label %6385

6385:                                             ; preds = %6380, %6384
  %.str.5.sink3168 = phi ptr [ @.str.5, %6384 ], [ @.str.2, %6380 ]
  store i32 %6375, ptr %829, 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 %775, align 4, !tbaa !5
  %6389 = call ptr @s2n_strerror(i32 noundef %6388, ptr noundef nonnull @.str.4) #11
  %6390 = load i32, ptr %775, align 4, !tbaa !5
  %6391 = call ptr @s2n_strerror_debug(i32 noundef %6390, ptr noundef nonnull @.str.4) #11
  %6392 = load i32, ptr %829, align 4, !tbaa !5
  %6393 = call ptr @strerror(i32 noundef %6392) #11
  %6394 = load i32, ptr %829, align 4, !tbaa !5
  %6395 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6386, ptr noundef nonnull %.str.5.sink3168, i32 noundef %6387, ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.1, i32 noundef 705, ptr noundef %6389, ptr noundef %6391, ptr noundef %6393, i32 noundef %6394) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6396:                                             ; preds = %6369
  %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 %125, align 8, !tbaa !9
  %6400 = call i32 @s2n_config_set_verification_ca_location(ptr noundef %6399, ptr noundef nonnull @.str.31, ptr noundef null) #11
  %6401 = icmp eq i32 %6400, -1
  br i1 %6401, label %6402, label %6424

6402:                                             ; preds = %6396
  %6403 = load i32, ptr %829, align 4, !tbaa !5
  %6404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6405 = call i32 @s2n_print_stacktrace(ptr noundef %6404) #11
  %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) #11
  %6411 = call i32 @isatty(i32 noundef %6410) #11
  %.not962 = icmp eq i32 %6411, 0
  br i1 %.not962, label %6412, label %6413

6412:                                             ; preds = %6408, %6402
  br label %6413

6413:                                             ; preds = %6408, %6412
  %.str.5.sink3177 = phi ptr [ @.str.5, %6412 ], [ @.str.2, %6408 ]
  store i32 %6403, ptr %829, 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 %775, align 4, !tbaa !5
  %6417 = call ptr @s2n_strerror(i32 noundef %6416, ptr noundef nonnull @.str.4) #11
  %6418 = load i32, ptr %775, align 4, !tbaa !5
  %6419 = call ptr @s2n_strerror_debug(i32 noundef %6418, ptr noundef nonnull @.str.4) #11
  %6420 = load i32, ptr %829, align 4, !tbaa !5
  %6421 = call ptr @strerror(i32 noundef %6420) #11
  %6422 = load i32, ptr %829, align 4, !tbaa !5
  %6423 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6414, ptr noundef nonnull %.str.5.sink3177, i32 noundef %6415, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.1, i32 noundef 706, ptr noundef %6417, ptr noundef %6419, ptr noundef %6421, i32 noundef %6422) #13
  call void @exit(i32 noundef 1) #14
  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 %125, align 8, !tbaa !9
  %6428 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %6427, ptr noundef nonnull @.str.80) #11
  %6429 = icmp eq i32 %6428, -1
  br i1 %6429, label %6430, label %6452

6430:                                             ; preds = %6424
  %6431 = load i32, ptr %829, align 4, !tbaa !5
  %6432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6433 = call i32 @s2n_print_stacktrace(ptr noundef %6432) #11
  %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) #11
  %6439 = call i32 @isatty(i32 noundef %6438) #11
  %.not961 = icmp eq i32 %6439, 0
  br i1 %.not961, label %6440, label %6441

6440:                                             ; preds = %6436, %6430
  br label %6441

6441:                                             ; preds = %6436, %6440
  %.str.5.sink3186 = phi ptr [ @.str.5, %6440 ], [ @.str.2, %6436 ]
  store i32 %6431, ptr %829, 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 %775, align 4, !tbaa !5
  %6445 = call ptr @s2n_strerror(i32 noundef %6444, ptr noundef nonnull @.str.4) #11
  %6446 = load i32, ptr %775, align 4, !tbaa !5
  %6447 = call ptr @s2n_strerror_debug(i32 noundef %6446, ptr noundef nonnull @.str.4) #11
  %6448 = load i32, ptr %829, align 4, !tbaa !5
  %6449 = call ptr @strerror(i32 noundef %6448) #11
  %6450 = load i32, ptr %829, align 4, !tbaa !5
  %6451 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6442, ptr noundef nonnull %.str.5.sink3186, i32 noundef %6443, ptr noundef nonnull @.str.81, ptr noundef nonnull @.str.1, i32 noundef 707, ptr noundef %6445, ptr noundef %6447, ptr noundef %6449, i32 noundef %6450) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6452:                                             ; preds = %6424
  call void @llvm.lifetime.start.p0(i64 88, ptr nonnull %126) #11
  %6453 = getelementptr inbounds i8, ptr %126, i64 16
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(88) %6453, i8 0, i64 72, i1 false)
  %6454 = load ptr, ptr %13, align 8, !tbaa !9
  store ptr %6454, ptr %126, align 8, !tbaa !9
  %6455 = load ptr, ptr %12, align 8, !tbaa !9
  %6456 = getelementptr inbounds i8, ptr %126, i64 8
  store ptr %6455, ptr %6456, align 8, !tbaa !9
  %6457 = load i32, ptr @test_count, align 4, !tbaa !5
  %6458 = add nsw i32 %6457, 1
  store i32 %6458, ptr @test_count, align 4, !tbaa !5
  %6459 = load ptr, ptr %125, align 8, !tbaa !9
  %6460 = call i32 @s2n_config_set_crl_lookup_cb(ptr noundef %6459, ptr noundef nonnull @crl_lookup_test_callback, ptr noundef nonnull %126) #11
  %6461 = icmp eq i32 %6460, -1
  br i1 %6461, label %6462, label %6484

6462:                                             ; preds = %6452
  %6463 = load i32, ptr %829, align 4, !tbaa !5
  %6464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6465 = call i32 @s2n_print_stacktrace(ptr noundef %6464) #11
  %6466 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6467 = trunc nuw i8 %6466 to i1
  br i1 %6467, label %6468, label %6472

6468:                                             ; preds = %6462
  %6469 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6470 = call i32 @fileno(ptr noundef %6469) #11
  %6471 = call i32 @isatty(i32 noundef %6470) #11
  %.not960 = icmp eq i32 %6471, 0
  br i1 %.not960, label %6472, label %6473

6472:                                             ; preds = %6468, %6462
  br label %6473

6473:                                             ; preds = %6468, %6472
  %.str.5.sink3195 = phi ptr [ @.str.5, %6472 ], [ @.str.2, %6468 ]
  store i32 %6463, ptr %829, align 4, !tbaa !5
  %6474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6475 = load i32, ptr @test_count, align 4, !tbaa !5
  %6476 = load i32, ptr %775, align 4, !tbaa !5
  %6477 = call ptr @s2n_strerror(i32 noundef %6476, ptr noundef nonnull @.str.4) #11
  %6478 = load i32, ptr %775, align 4, !tbaa !5
  %6479 = call ptr @s2n_strerror_debug(i32 noundef %6478, ptr noundef nonnull @.str.4) #11
  %6480 = load i32, ptr %829, align 4, !tbaa !5
  %6481 = call ptr @strerror(i32 noundef %6480) #11
  %6482 = load i32, ptr %829, align 4, !tbaa !5
  %6483 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6474, ptr noundef nonnull %.str.5.sink3195, i32 noundef %6475, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.1, i32 noundef 712, ptr noundef %6477, ptr noundef %6479, ptr noundef %6481, i32 noundef %6482) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6484:                                             ; preds = %6452
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %127) #11
  %6485 = call ptr @s2n_connection_new(i32 noundef 0) #11
  store ptr %6485, ptr %127, align 8, !tbaa !9
  %6486 = load i32, ptr @test_count, align 4, !tbaa !5
  %6487 = add nsw i32 %6486, 1
  store i32 %6487, ptr @test_count, align 4, !tbaa !5
  %6488 = icmp eq ptr %6485, null
  br i1 %6488, label %6489, label %6511

6489:                                             ; preds = %6484
  %6490 = load i32, ptr %829, align 4, !tbaa !5
  %6491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6492 = call i32 @s2n_print_stacktrace(ptr noundef %6491) #11
  %6493 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6494 = trunc nuw i8 %6493 to i1
  br i1 %6494, label %6495, label %6499

6495:                                             ; preds = %6489
  %6496 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6497 = call i32 @fileno(ptr noundef %6496) #11
  %6498 = call i32 @isatty(i32 noundef %6497) #11
  %.not959 = icmp eq i32 %6498, 0
  br i1 %.not959, label %6499, label %6500

6499:                                             ; preds = %6495, %6489
  br label %6500

6500:                                             ; preds = %6495, %6499
  %.str.5.sink3204 = phi ptr [ @.str.5, %6499 ], [ @.str.2, %6495 ]
  store i32 %6490, ptr %829, align 4, !tbaa !5
  %6501 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6502 = load i32, ptr @test_count, align 4, !tbaa !5
  %6503 = load i32, ptr %775, align 4, !tbaa !5
  %6504 = call ptr @s2n_strerror(i32 noundef %6503, ptr noundef nonnull @.str.4) #11
  %6505 = load i32, ptr %775, align 4, !tbaa !5
  %6506 = call ptr @s2n_strerror_debug(i32 noundef %6505, ptr noundef nonnull @.str.4) #11
  %6507 = load i32, ptr %829, align 4, !tbaa !5
  %6508 = call ptr @strerror(i32 noundef %6507) #11
  %6509 = load i32, ptr %829, align 4, !tbaa !5
  %6510 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6501, ptr noundef nonnull %.str.5.sink3204, i32 noundef %6502, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.1, i32 noundef 715, ptr noundef %6504, ptr noundef %6506, ptr noundef %6508, i32 noundef %6509) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6511:                                             ; preds = %6484
  %6512 = add nsw i32 %6486, 2
  store i32 %6512, ptr @test_count, align 4, !tbaa !5
  %6513 = load ptr, ptr %125, align 8, !tbaa !9
  %6514 = call i32 @s2n_connection_set_config(ptr noundef nonnull %6485, ptr noundef %6513) #11
  %6515 = icmp eq i32 %6514, -1
  br i1 %6515, label %6516, label %6538

6516:                                             ; preds = %6511
  %6517 = load i32, ptr %829, align 4, !tbaa !5
  %6518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6519 = call i32 @s2n_print_stacktrace(ptr noundef %6518) #11
  %6520 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6521 = trunc nuw i8 %6520 to i1
  br i1 %6521, label %6522, label %6526

6522:                                             ; preds = %6516
  %6523 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6524 = call i32 @fileno(ptr noundef %6523) #11
  %6525 = call i32 @isatty(i32 noundef %6524) #11
  %.not958 = icmp eq i32 %6525, 0
  br i1 %.not958, label %6526, label %6527

6526:                                             ; preds = %6522, %6516
  br label %6527

6527:                                             ; preds = %6522, %6526
  %.str.5.sink3213 = phi ptr [ @.str.5, %6526 ], [ @.str.2, %6522 ]
  store i32 %6517, ptr %829, align 4, !tbaa !5
  %6528 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6529 = load i32, ptr @test_count, align 4, !tbaa !5
  %6530 = load i32, ptr %775, align 4, !tbaa !5
  %6531 = call ptr @s2n_strerror(i32 noundef %6530, ptr noundef nonnull @.str.4) #11
  %6532 = load i32, ptr %775, align 4, !tbaa !5
  %6533 = call ptr @s2n_strerror_debug(i32 noundef %6532, ptr noundef nonnull @.str.4) #11
  %6534 = load i32, ptr %829, align 4, !tbaa !5
  %6535 = call ptr @strerror(i32 noundef %6534) #11
  %6536 = load i32, ptr %829, align 4, !tbaa !5
  %6537 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6528, ptr noundef nonnull %.str.5.sink3213, i32 noundef %6529, ptr noundef nonnull @.str.83, ptr noundef nonnull @.str.1, i32 noundef 716, ptr noundef %6531, ptr noundef %6533, ptr noundef %6535, i32 noundef %6536) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6538:                                             ; preds = %6511
  %6539 = load i32, ptr @test_count, align 4, !tbaa !5
  %6540 = add nsw i32 %6539, 1
  store i32 %6540, ptr @test_count, align 4, !tbaa !5
  %6541 = load ptr, ptr %127, align 8, !tbaa !9
  %6542 = call i32 @s2n_connection_set_blinding(ptr noundef %6541, i32 noundef 1) #11
  %6543 = icmp eq i32 %6542, -1
  br i1 %6543, label %6544, label %6566

6544:                                             ; preds = %6538
  %6545 = load i32, ptr %829, align 4, !tbaa !5
  %6546 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6547 = call i32 @s2n_print_stacktrace(ptr noundef %6546) #11
  %6548 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6549 = trunc nuw i8 %6548 to i1
  br i1 %6549, label %6550, label %6554

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

6554:                                             ; preds = %6550, %6544
  br label %6555

6555:                                             ; preds = %6550, %6554
  %.str.5.sink3222 = phi ptr [ @.str.5, %6554 ], [ @.str.2, %6550 ]
  store i32 %6545, ptr %829, align 4, !tbaa !5
  %6556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6557 = load i32, ptr @test_count, align 4, !tbaa !5
  %6558 = load i32, ptr %775, align 4, !tbaa !5
  %6559 = call ptr @s2n_strerror(i32 noundef %6558, ptr noundef nonnull @.str.4) #11
  %6560 = load i32, ptr %775, align 4, !tbaa !5
  %6561 = call ptr @s2n_strerror_debug(i32 noundef %6560, ptr noundef nonnull @.str.4) #11
  %6562 = load i32, ptr %829, align 4, !tbaa !5
  %6563 = call ptr @strerror(i32 noundef %6562) #11
  %6564 = load i32, ptr %829, align 4, !tbaa !5
  %6565 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6556, ptr noundef nonnull %.str.5.sink3222, i32 noundef %6557, ptr noundef nonnull @.str.93, ptr noundef nonnull @.str.1, i32 noundef 717, ptr noundef %6559, ptr noundef %6561, ptr noundef %6563, i32 noundef %6564) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6566:                                             ; preds = %6538
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %128) #11
  %6567 = call ptr @s2n_connection_new(i32 noundef 1) #11
  store ptr %6567, ptr %128, align 8, !tbaa !9
  %6568 = load i32, ptr @test_count, align 4, !tbaa !5
  %6569 = add nsw i32 %6568, 1
  store i32 %6569, ptr @test_count, align 4, !tbaa !5
  %6570 = icmp eq ptr %6567, null
  br i1 %6570, label %6571, label %6593

6571:                                             ; preds = %6566
  %6572 = load i32, ptr %829, align 4, !tbaa !5
  %6573 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6574 = call i32 @s2n_print_stacktrace(ptr noundef %6573) #11
  %6575 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6576 = trunc nuw i8 %6575 to i1
  br i1 %6576, label %6577, label %6581

6577:                                             ; preds = %6571
  %6578 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6579 = call i32 @fileno(ptr noundef %6578) #11
  %6580 = call i32 @isatty(i32 noundef %6579) #11
  %.not956 = icmp eq i32 %6580, 0
  br i1 %.not956, label %6581, label %6582

6581:                                             ; preds = %6577, %6571
  br label %6582

6582:                                             ; preds = %6577, %6581
  %.str.5.sink3231 = phi ptr [ @.str.5, %6581 ], [ @.str.2, %6577 ]
  store i32 %6572, ptr %829, align 4, !tbaa !5
  %6583 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6584 = load i32, ptr @test_count, align 4, !tbaa !5
  %6585 = load i32, ptr %775, align 4, !tbaa !5
  %6586 = call ptr @s2n_strerror(i32 noundef %6585, ptr noundef nonnull @.str.4) #11
  %6587 = load i32, ptr %775, align 4, !tbaa !5
  %6588 = call ptr @s2n_strerror_debug(i32 noundef %6587, ptr noundef nonnull @.str.4) #11
  %6589 = load i32, ptr %829, align 4, !tbaa !5
  %6590 = call ptr @strerror(i32 noundef %6589) #11
  %6591 = load i32, ptr %829, align 4, !tbaa !5
  %6592 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6583, ptr noundef nonnull %.str.5.sink3231, i32 noundef %6584, ptr noundef nonnull @.str.84, ptr noundef nonnull @.str.1, i32 noundef 720, ptr noundef %6586, ptr noundef %6588, ptr noundef %6590, i32 noundef %6591) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6593:                                             ; preds = %6566
  %6594 = add nsw i32 %6568, 2
  store i32 %6594, ptr @test_count, align 4, !tbaa !5
  %6595 = load ptr, ptr %125, align 8, !tbaa !9
  %6596 = call i32 @s2n_connection_set_config(ptr noundef nonnull %6567, ptr noundef %6595) #11
  %6597 = icmp eq i32 %6596, -1
  br i1 %6597, label %6598, label %6620

6598:                                             ; preds = %6593
  %6599 = load i32, ptr %829, align 4, !tbaa !5
  %6600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6601 = call i32 @s2n_print_stacktrace(ptr noundef %6600) #11
  %6602 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6603 = trunc nuw i8 %6602 to i1
  br i1 %6603, label %6604, label %6608

6604:                                             ; preds = %6598
  %6605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6606 = call i32 @fileno(ptr noundef %6605) #11
  %6607 = call i32 @isatty(i32 noundef %6606) #11
  %.not955 = icmp eq i32 %6607, 0
  br i1 %.not955, label %6608, label %6609

6608:                                             ; preds = %6604, %6598
  br label %6609

6609:                                             ; preds = %6604, %6608
  %.str.5.sink3240 = phi ptr [ @.str.5, %6608 ], [ @.str.2, %6604 ]
  store i32 %6599, ptr %829, align 4, !tbaa !5
  %6610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6611 = load i32, ptr @test_count, align 4, !tbaa !5
  %6612 = load i32, ptr %775, align 4, !tbaa !5
  %6613 = call ptr @s2n_strerror(i32 noundef %6612, ptr noundef nonnull @.str.4) #11
  %6614 = load i32, ptr %775, align 4, !tbaa !5
  %6615 = call ptr @s2n_strerror_debug(i32 noundef %6614, ptr noundef nonnull @.str.4) #11
  %6616 = load i32, ptr %829, align 4, !tbaa !5
  %6617 = call ptr @strerror(i32 noundef %6616) #11
  %6618 = load i32, ptr %829, align 4, !tbaa !5
  %6619 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6610, ptr noundef nonnull %.str.5.sink3240, i32 noundef %6611, ptr noundef nonnull @.str.85, ptr noundef nonnull @.str.1, i32 noundef 721, ptr noundef %6613, ptr noundef %6615, ptr noundef %6617, i32 noundef %6618) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6620:                                             ; preds = %6593
  %6621 = load i32, ptr @test_count, align 4, !tbaa !5
  %6622 = add nsw i32 %6621, 1
  store i32 %6622, ptr @test_count, align 4, !tbaa !5
  %6623 = load ptr, ptr %128, align 8, !tbaa !9
  %6624 = call i32 @s2n_set_server_name(ptr noundef %6623, ptr noundef nonnull @.str.39) #11
  %6625 = icmp eq i32 %6624, -1
  br i1 %6625, label %6626, label %6648

6626:                                             ; preds = %6620
  %6627 = load i32, ptr %829, align 4, !tbaa !5
  %6628 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6629 = call i32 @s2n_print_stacktrace(ptr noundef %6628) #11
  %6630 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6631 = trunc nuw i8 %6630 to i1
  br i1 %6631, label %6632, label %6636

6632:                                             ; preds = %6626
  %6633 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6634 = call i32 @fileno(ptr noundef %6633) #11
  %6635 = call i32 @isatty(i32 noundef %6634) #11
  %.not954 = icmp eq i32 %6635, 0
  br i1 %.not954, label %6636, label %6637

6636:                                             ; preds = %6632, %6626
  br label %6637

6637:                                             ; preds = %6632, %6636
  %.str.5.sink3249 = phi ptr [ @.str.5, %6636 ], [ @.str.2, %6632 ]
  store i32 %6627, ptr %829, align 4, !tbaa !5
  %6638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6639 = load i32, ptr @test_count, align 4, !tbaa !5
  %6640 = load i32, ptr %775, align 4, !tbaa !5
  %6641 = call ptr @s2n_strerror(i32 noundef %6640, ptr noundef nonnull @.str.4) #11
  %6642 = load i32, ptr %775, align 4, !tbaa !5
  %6643 = call ptr @s2n_strerror_debug(i32 noundef %6642, ptr noundef nonnull @.str.4) #11
  %6644 = load i32, ptr %829, align 4, !tbaa !5
  %6645 = call ptr @strerror(i32 noundef %6644) #11
  %6646 = load i32, ptr %829, align 4, !tbaa !5
  %6647 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6638, ptr noundef nonnull %.str.5.sink3249, i32 noundef %6639, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.1, i32 noundef 722, ptr noundef %6641, ptr noundef %6643, ptr noundef %6645, i32 noundef %6646) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6648:                                             ; preds = %6620
  %6649 = load i32, ptr @test_count, align 4, !tbaa !5
  %6650 = add nsw i32 %6649, 1
  store i32 %6650, ptr @test_count, align 4, !tbaa !5
  %6651 = load ptr, ptr %128, align 8, !tbaa !9
  %6652 = call i32 @s2n_connection_set_blinding(ptr noundef %6651, i32 noundef 1) #11
  %6653 = icmp eq i32 %6652, -1
  br i1 %6653, label %6654, label %6676

6654:                                             ; preds = %6648
  %6655 = load i32, ptr %829, align 4, !tbaa !5
  %6656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6657 = call i32 @s2n_print_stacktrace(ptr noundef %6656) #11
  %6658 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6659 = trunc nuw i8 %6658 to i1
  br i1 %6659, label %6660, label %6664

6660:                                             ; preds = %6654
  %6661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6662 = call i32 @fileno(ptr noundef %6661) #11
  %6663 = call i32 @isatty(i32 noundef %6662) #11
  %.not953 = icmp eq i32 %6663, 0
  br i1 %.not953, label %6664, label %6665

6664:                                             ; preds = %6660, %6654
  br label %6665

6665:                                             ; preds = %6660, %6664
  %.str.5.sink3258 = phi ptr [ @.str.5, %6664 ], [ @.str.2, %6660 ]
  store i32 %6655, ptr %829, align 4, !tbaa !5
  %6666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6667 = load i32, ptr @test_count, align 4, !tbaa !5
  %6668 = load i32, ptr %775, align 4, !tbaa !5
  %6669 = call ptr @s2n_strerror(i32 noundef %6668, ptr noundef nonnull @.str.4) #11
  %6670 = load i32, ptr %775, align 4, !tbaa !5
  %6671 = call ptr @s2n_strerror_debug(i32 noundef %6670, ptr noundef nonnull @.str.4) #11
  %6672 = load i32, ptr %829, align 4, !tbaa !5
  %6673 = call ptr @strerror(i32 noundef %6672) #11
  %6674 = load i32, ptr %829, align 4, !tbaa !5
  %6675 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6666, ptr noundef nonnull %.str.5.sink3258, i32 noundef %6667, ptr noundef nonnull @.str.94, ptr noundef nonnull @.str.1, i32 noundef 723, ptr noundef %6669, ptr noundef %6671, ptr noundef %6673, i32 noundef %6674) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6676:                                             ; preds = %6648
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %129) #11
  store i64 0, ptr %129, align 8
  %6677 = load i32, ptr @test_count, align 4, !tbaa !5
  %6678 = add nsw i32 %6677, 1
  store i32 %6678, ptr @test_count, align 4, !tbaa !5
  %6679 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef nonnull %129) #11
  %6680 = icmp eq i32 %6679, -1
  br i1 %6680, label %6681, label %6703

6681:                                             ; preds = %6676
  %6682 = load i32, ptr %829, align 4, !tbaa !5
  %6683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6684 = call i32 @s2n_print_stacktrace(ptr noundef %6683) #11
  %6685 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6686 = trunc nuw i8 %6685 to i1
  br i1 %6686, label %6687, label %6691

6687:                                             ; preds = %6681
  %6688 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6689 = call i32 @fileno(ptr noundef %6688) #11
  %6690 = call i32 @isatty(i32 noundef %6689) #11
  %.not952 = icmp eq i32 %6690, 0
  br i1 %.not952, label %6691, label %6692

6691:                                             ; preds = %6687, %6681
  br label %6692

6692:                                             ; preds = %6687, %6691
  %.str.5.sink3267 = phi ptr [ @.str.5, %6691 ], [ @.str.2, %6687 ]
  store i32 %6682, ptr %829, align 4, !tbaa !5
  %6693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6694 = load i32, ptr @test_count, align 4, !tbaa !5
  %6695 = load i32, ptr %775, align 4, !tbaa !5
  %6696 = call ptr @s2n_strerror(i32 noundef %6695, ptr noundef nonnull @.str.4) #11
  %6697 = load i32, ptr %775, align 4, !tbaa !5
  %6698 = call ptr @s2n_strerror_debug(i32 noundef %6697, ptr noundef nonnull @.str.4) #11
  %6699 = load i32, ptr %829, align 4, !tbaa !5
  %6700 = call ptr @strerror(i32 noundef %6699) #11
  %6701 = load i32, ptr %829, align 4, !tbaa !5
  %6702 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6693, ptr noundef nonnull %.str.5.sink3267, i32 noundef %6694, ptr noundef nonnull @.str.87, ptr noundef nonnull @.str.1, i32 noundef 726, ptr noundef %6696, ptr noundef %6698, ptr noundef %6700, i32 noundef %6701) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6703:                                             ; preds = %6676
  %6704 = load i32, ptr @test_count, align 4, !tbaa !5
  %6705 = add nsw i32 %6704, 1
  store i32 %6705, ptr @test_count, align 4, !tbaa !5
  %6706 = load ptr, ptr %128, align 8, !tbaa !9
  %6707 = call i32 @s2n_connection_set_io_pair(ptr noundef %6706, ptr noundef nonnull %129) #11
  %6708 = icmp eq i32 %6707, -1
  br i1 %6708, label %6709, label %6731

6709:                                             ; preds = %6703
  %6710 = load i32, ptr %829, align 4, !tbaa !5
  %6711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6712 = call i32 @s2n_print_stacktrace(ptr noundef %6711) #11
  %6713 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6714 = trunc nuw i8 %6713 to i1
  br i1 %6714, label %6715, label %6719

6715:                                             ; preds = %6709
  %6716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6717 = call i32 @fileno(ptr noundef %6716) #11
  %6718 = call i32 @isatty(i32 noundef %6717) #11
  %.not951 = icmp eq i32 %6718, 0
  br i1 %.not951, label %6719, label %6720

6719:                                             ; preds = %6715, %6709
  br label %6720

6720:                                             ; preds = %6715, %6719
  %.str.5.sink3276 = phi ptr [ @.str.5, %6719 ], [ @.str.2, %6715 ]
  store i32 %6710, ptr %829, align 4, !tbaa !5
  %6721 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6722 = load i32, ptr @test_count, align 4, !tbaa !5
  %6723 = load i32, ptr %775, align 4, !tbaa !5
  %6724 = call ptr @s2n_strerror(i32 noundef %6723, ptr noundef nonnull @.str.4) #11
  %6725 = load i32, ptr %775, align 4, !tbaa !5
  %6726 = call ptr @s2n_strerror_debug(i32 noundef %6725, ptr noundef nonnull @.str.4) #11
  %6727 = load i32, ptr %829, align 4, !tbaa !5
  %6728 = call ptr @strerror(i32 noundef %6727) #11
  %6729 = load i32, ptr %829, align 4, !tbaa !5
  %6730 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6721, ptr noundef nonnull %.str.5.sink3276, i32 noundef %6722, ptr noundef nonnull @.str.88, ptr noundef nonnull @.str.1, i32 noundef 727, ptr noundef %6724, ptr noundef %6726, ptr noundef %6728, i32 noundef %6729) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6731:                                             ; preds = %6703
  %6732 = load i32, ptr @test_count, align 4, !tbaa !5
  %6733 = add nsw i32 %6732, 1
  store i32 %6733, ptr @test_count, align 4, !tbaa !5
  %6734 = load ptr, ptr %127, align 8, !tbaa !9
  %6735 = call i32 @s2n_connection_set_io_pair(ptr noundef %6734, ptr noundef nonnull %129) #11
  %6736 = icmp eq i32 %6735, -1
  br i1 %6736, label %6737, label %6759

6737:                                             ; preds = %6731
  %6738 = load i32, ptr %829, align 4, !tbaa !5
  %6739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6740 = call i32 @s2n_print_stacktrace(ptr noundef %6739) #11
  %6741 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6742 = trunc nuw i8 %6741 to i1
  br i1 %6742, label %6743, label %6747

6743:                                             ; preds = %6737
  %6744 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6745 = call i32 @fileno(ptr noundef %6744) #11
  %6746 = call i32 @isatty(i32 noundef %6745) #11
  %.not950 = icmp eq i32 %6746, 0
  br i1 %.not950, label %6747, label %6748

6747:                                             ; preds = %6743, %6737
  br label %6748

6748:                                             ; preds = %6743, %6747
  %.str.5.sink3285 = phi ptr [ @.str.5, %6747 ], [ @.str.2, %6743 ]
  store i32 %6738, ptr %829, align 4, !tbaa !5
  %6749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6750 = load i32, ptr @test_count, align 4, !tbaa !5
  %6751 = load i32, ptr %775, align 4, !tbaa !5
  %6752 = call ptr @s2n_strerror(i32 noundef %6751, ptr noundef nonnull @.str.4) #11
  %6753 = load i32, ptr %775, align 4, !tbaa !5
  %6754 = call ptr @s2n_strerror_debug(i32 noundef %6753, ptr noundef nonnull @.str.4) #11
  %6755 = load i32, ptr %829, align 4, !tbaa !5
  %6756 = call ptr @strerror(i32 noundef %6755) #11
  %6757 = load i32, ptr %829, align 4, !tbaa !5
  %6758 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6749, ptr noundef nonnull %.str.5.sink3285, i32 noundef %6750, ptr noundef nonnull @.str.89, ptr noundef nonnull @.str.1, i32 noundef 728, ptr noundef %6752, ptr noundef %6754, ptr noundef %6756, i32 noundef %6757) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6759:                                             ; preds = %6731
  %6760 = load i32, ptr @test_count, align 4, !tbaa !5
  %6761 = add nsw i32 %6760, 1
  store i32 %6761, ptr @test_count, align 4, !tbaa !5
  %6762 = load ptr, ptr %127, align 8, !tbaa !9
  %6763 = load ptr, ptr %128, align 8, !tbaa !9
  %6764 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %6762, ptr noundef %6763) #11
  %6765 = icmp eq i32 %6764, -1
  br i1 %6765, label %6788, label %6766

6766:                                             ; preds = %6759
  %6767 = load i32, ptr %829, align 4, !tbaa !5
  %6768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6769 = call i32 @s2n_print_stacktrace(ptr noundef %6768) #11
  %6770 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6771 = trunc nuw i8 %6770 to i1
  br i1 %6771, label %6772, label %6776

6772:                                             ; preds = %6766
  %6773 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6774 = call i32 @fileno(ptr noundef %6773) #11
  %6775 = call i32 @isatty(i32 noundef %6774) #11
  %.not849 = icmp eq i32 %6775, 0
  br i1 %.not849, label %6776, label %6777

6776:                                             ; preds = %6772, %6766
  br label %6777

6777:                                             ; preds = %6772, %6776
  %.str.5.sink3294 = phi ptr [ @.str.5, %6776 ], [ @.str.2, %6772 ]
  store i32 %6767, ptr %829, align 4, !tbaa !5
  %6778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6779 = load i32, ptr @test_count, align 4, !tbaa !5
  %6780 = load i32, ptr %775, align 4, !tbaa !5
  %6781 = call ptr @s2n_strerror(i32 noundef %6780, ptr noundef nonnull @.str.4) #11
  %6782 = load i32, ptr %775, align 4, !tbaa !5
  %6783 = call ptr @s2n_strerror_debug(i32 noundef %6782, ptr noundef nonnull @.str.4) #11
  %6784 = load i32, ptr %829, align 4, !tbaa !5
  %6785 = call ptr @strerror(i32 noundef %6784) #11
  %6786 = load i32, ptr %829, align 4, !tbaa !5
  %6787 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6778, ptr noundef nonnull %.str.5.sink3294, i32 noundef %6779, ptr noundef nonnull @.str.95, ptr noundef nonnull @.str.1, i32 noundef 731, ptr noundef %6781, ptr noundef %6783, ptr noundef %6785, i32 noundef %6786) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6788:                                             ; preds = %6759
  %6789 = load i32, ptr @test_count, align 4, !tbaa !5
  %6790 = add nsw i32 %6789, 1
  store i32 %6790, ptr @test_count, align 4, !tbaa !5
  %6791 = load i32, ptr %775, align 4, !tbaa !5
  %6792 = icmp eq i32 %6791, 335544367
  br i1 %6792, label %6815, label %6793

6793:                                             ; preds = %6788
  %6794 = load i32, ptr %829, align 4, !tbaa !5
  %6795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6796 = call i32 @s2n_print_stacktrace(ptr noundef %6795) #11
  %6797 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6798 = trunc nuw i8 %6797 to i1
  br i1 %6798, label %6799, label %6803

6799:                                             ; preds = %6793
  %6800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6801 = call i32 @fileno(ptr noundef %6800) #11
  %6802 = call i32 @isatty(i32 noundef %6801) #11
  %.not850 = icmp eq i32 %6802, 0
  br i1 %.not850, label %6803, label %6804

6803:                                             ; preds = %6799, %6793
  br label %6804

6804:                                             ; preds = %6799, %6803
  %.str.5.sink3303 = phi ptr [ @.str.5, %6803 ], [ @.str.2, %6799 ]
  store i32 %6794, ptr %829, align 4, !tbaa !5
  %6805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6806 = load i32, ptr @test_count, align 4, !tbaa !5
  %6807 = load i32, ptr %775, align 4, !tbaa !5
  %6808 = call ptr @s2n_strerror(i32 noundef %6807, ptr noundef nonnull @.str.4) #11
  %6809 = load i32, ptr %775, align 4, !tbaa !5
  %6810 = call ptr @s2n_strerror_debug(i32 noundef %6809, ptr noundef nonnull @.str.4) #11
  %6811 = load i32, ptr %829, align 4, !tbaa !5
  %6812 = call ptr @strerror(i32 noundef %6811) #11
  %6813 = load i32, ptr %829, align 4, !tbaa !5
  %6814 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6805, ptr noundef nonnull %.str.5.sink3303, i32 noundef %6806, ptr noundef nonnull @.str.53, ptr noundef nonnull @.str.1, i32 noundef 731, ptr noundef %6808, ptr noundef %6810, ptr noundef %6812, i32 noundef %6813) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6815:                                             ; preds = %6788
  %6816 = add nsw i32 %6789, 2
  store i32 %6816, ptr @test_count, align 4, !tbaa !5
  %6817 = call ptr @s2n_strerror_debug(i32 noundef 335544367, ptr noundef nonnull @.str.4) #11
  %6818 = icmp eq ptr %6817, null
  br i1 %6818, label %6819, label %6841

6819:                                             ; preds = %6815
  %6820 = load i32, ptr %829, align 4, !tbaa !5
  %6821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6822 = call i32 @s2n_print_stacktrace(ptr noundef %6821) #11
  %6823 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6824 = trunc nuw i8 %6823 to i1
  br i1 %6824, label %6825, label %6829

6825:                                             ; preds = %6819
  %6826 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6827 = call i32 @fileno(ptr noundef %6826) #11
  %6828 = call i32 @isatty(i32 noundef %6827) #11
  %.not949 = icmp eq i32 %6828, 0
  br i1 %.not949, label %6829, label %6830

6829:                                             ; preds = %6825, %6819
  br label %6830

6830:                                             ; preds = %6825, %6829
  %.str.5.sink3312 = phi ptr [ @.str.5, %6829 ], [ @.str.2, %6825 ]
  store i32 %6820, ptr %829, align 4, !tbaa !5
  %6831 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6832 = load i32, ptr @test_count, align 4, !tbaa !5
  %6833 = load i32, ptr %775, align 4, !tbaa !5
  %6834 = call ptr @s2n_strerror(i32 noundef %6833, ptr noundef nonnull @.str.4) #11
  %6835 = load i32, ptr %775, align 4, !tbaa !5
  %6836 = call ptr @s2n_strerror_debug(i32 noundef %6835, ptr noundef nonnull @.str.4) #11
  %6837 = load i32, ptr %829, align 4, !tbaa !5
  %6838 = call ptr @strerror(i32 noundef %6837) #11
  %6839 = load i32, ptr %829, align 4, !tbaa !5
  %6840 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6831, ptr noundef nonnull %.str.5.sink3312, i32 noundef %6832, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 731, ptr noundef %6834, ptr noundef %6836, ptr noundef %6838, i32 noundef %6839) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6841:                                             ; preds = %6815
  store i32 0, ptr %775, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %829, align 4, !tbaa !5
  %6842 = load i32, ptr @test_count, align 4, !tbaa !5
  %6843 = add nsw i32 %6842, 1
  store i32 %6843, ptr @test_count, align 4, !tbaa !5
  %6844 = getelementptr inbounds i8, ptr %126, i64 80
  %6845 = load i8, ptr %6844, align 8, !tbaa !27
  %6846 = icmp eq i8 %6845, 2
  br i1 %6846, label %6869, label %6847

6847:                                             ; preds = %6841
  %6848 = load i32, ptr %829, align 4, !tbaa !5
  %6849 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6850 = call i32 @s2n_print_stacktrace(ptr noundef %6849) #11
  %6851 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6852 = trunc nuw i8 %6851 to i1
  br i1 %6852, label %6853, label %6857

6853:                                             ; preds = %6847
  %6854 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6855 = call i32 @fileno(ptr noundef %6854) #11
  %6856 = call i32 @isatty(i32 noundef %6855) #11
  %.not851 = icmp eq i32 %6856, 0
  br i1 %.not851, label %6857, label %6858

6857:                                             ; preds = %6853, %6847
  br label %6858

6858:                                             ; preds = %6853, %6857
  %.str.5.sink3321 = phi ptr [ @.str.5, %6857 ], [ @.str.2, %6853 ]
  store i32 %6848, ptr %829, align 4, !tbaa !5
  %6859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6860 = load i32, ptr @test_count, align 4, !tbaa !5
  %6861 = load i32, ptr %775, align 4, !tbaa !5
  %6862 = call ptr @s2n_strerror(i32 noundef %6861, ptr noundef nonnull @.str.4) #11
  %6863 = load i32, ptr %775, align 4, !tbaa !5
  %6864 = call ptr @s2n_strerror_debug(i32 noundef %6863, ptr noundef nonnull @.str.4) #11
  %6865 = load i32, ptr %829, align 4, !tbaa !5
  %6866 = call ptr @strerror(i32 noundef %6865) #11
  %6867 = load i32, ptr %829, align 4, !tbaa !5
  %6868 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6859, ptr noundef nonnull %.str.5.sink3321, i32 noundef %6860, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.1, i32 noundef 733, ptr noundef %6862, ptr noundef %6864, ptr noundef %6866, i32 noundef %6867) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6869:                                             ; preds = %6841
  %6870 = call i32 @s2n_io_pair_close(ptr noundef nonnull %129) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %129) #11
  %6871 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %128) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %128) #11
  %6872 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %127) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %127) #11
  call void @llvm.lifetime.end.p0(i64 88, ptr nonnull %126) #11
  %6873 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %125) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %125) #11
  %6874 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef nonnull %124) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %124) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %130) #11
  store ptr null, ptr %130, align 8, !tbaa !9
  %6875 = load i32, ptr @test_count, align 4, !tbaa !5
  %6876 = add nsw i32 %6875, 1
  store i32 %6876, ptr @test_count, align 4, !tbaa !5
  %6877 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef nonnull %130, ptr noundef nonnull @.str.96, ptr noundef nonnull @.str.97) #11
  %6878 = icmp eq i32 %6877, -1
  br i1 %6878, label %6879, label %6901

6879:                                             ; preds = %6869
  %6880 = load i32, ptr %829, align 4, !tbaa !5
  %6881 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6882 = call i32 @s2n_print_stacktrace(ptr noundef %6881) #11
  %6883 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6884 = trunc nuw i8 %6883 to i1
  br i1 %6884, label %6885, label %6889

6885:                                             ; preds = %6879
  %6886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6887 = call i32 @fileno(ptr noundef %6886) #11
  %6888 = call i32 @isatty(i32 noundef %6887) #11
  %.not948 = icmp eq i32 %6888, 0
  br i1 %.not948, label %6889, label %6890

6889:                                             ; preds = %6885, %6879
  br label %6890

6890:                                             ; preds = %6885, %6889
  %.str.5.sink3330 = phi ptr [ @.str.5, %6889 ], [ @.str.2, %6885 ]
  store i32 %6880, ptr %829, align 4, !tbaa !5
  %6891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6892 = load i32, ptr @test_count, align 4, !tbaa !5
  %6893 = load i32, ptr %775, align 4, !tbaa !5
  %6894 = call ptr @s2n_strerror(i32 noundef %6893, ptr noundef nonnull @.str.4) #11
  %6895 = load i32, ptr %775, align 4, !tbaa !5
  %6896 = call ptr @s2n_strerror_debug(i32 noundef %6895, ptr noundef nonnull @.str.4) #11
  %6897 = load i32, ptr %829, align 4, !tbaa !5
  %6898 = call ptr @strerror(i32 noundef %6897) #11
  %6899 = load i32, ptr %829, align 4, !tbaa !5
  %6900 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6891, ptr noundef nonnull %.str.5.sink3330, i32 noundef %6892, ptr noundef nonnull @.str.98, ptr noundef nonnull @.str.1, i32 noundef 740, ptr noundef %6894, ptr noundef %6896, ptr noundef %6898, i32 noundef %6899) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6901:                                             ; preds = %6869
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %131) #11
  %6902 = call ptr @s2n_config_new() #11
  store ptr %6902, ptr %131, align 8, !tbaa !9
  %6903 = load i32, ptr @test_count, align 4, !tbaa !5
  %6904 = add nsw i32 %6903, 1
  store i32 %6904, ptr @test_count, align 4, !tbaa !5
  %6905 = icmp eq ptr %6902, null
  br i1 %6905, label %6906, label %6928

6906:                                             ; preds = %6901
  %6907 = load i32, ptr %829, align 4, !tbaa !5
  %6908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6909 = call i32 @s2n_print_stacktrace(ptr noundef %6908) #11
  %6910 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6911 = trunc nuw i8 %6910 to i1
  br i1 %6911, label %6912, label %6916

6912:                                             ; preds = %6906
  %6913 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6914 = call i32 @fileno(ptr noundef %6913) #11
  %6915 = call i32 @isatty(i32 noundef %6914) #11
  %.not947 = icmp eq i32 %6915, 0
  br i1 %.not947, label %6916, label %6917

6916:                                             ; preds = %6912, %6906
  br label %6917

6917:                                             ; preds = %6912, %6916
  %.str.5.sink3339 = phi ptr [ @.str.5, %6916 ], [ @.str.2, %6912 ]
  store i32 %6907, ptr %829, align 4, !tbaa !5
  %6918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6919 = load i32, ptr @test_count, align 4, !tbaa !5
  %6920 = load i32, ptr %775, align 4, !tbaa !5
  %6921 = call ptr @s2n_strerror(i32 noundef %6920, ptr noundef nonnull @.str.4) #11
  %6922 = load i32, ptr %775, align 4, !tbaa !5
  %6923 = call ptr @s2n_strerror_debug(i32 noundef %6922, ptr noundef nonnull @.str.4) #11
  %6924 = load i32, ptr %829, align 4, !tbaa !5
  %6925 = call ptr @strerror(i32 noundef %6924) #11
  %6926 = load i32, ptr %829, align 4, !tbaa !5
  %6927 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6918, ptr noundef nonnull %.str.5.sink3339, i32 noundef %6919, ptr noundef nonnull @.str.99, ptr noundef nonnull @.str.1, i32 noundef 743, ptr noundef %6921, ptr noundef %6923, ptr noundef %6925, i32 noundef %6926) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6928:                                             ; preds = %6901
  %6929 = add nsw i32 %6903, 2
  store i32 %6929, ptr @test_count, align 4, !tbaa !5
  %6930 = load ptr, ptr %130, align 8, !tbaa !9
  %6931 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef nonnull %6902, ptr noundef %6930) #11
  %6932 = icmp eq i32 %6931, -1
  br i1 %6932, label %6933, label %6955

6933:                                             ; preds = %6928
  %6934 = load i32, ptr %829, align 4, !tbaa !5
  %6935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6936 = call i32 @s2n_print_stacktrace(ptr noundef %6935) #11
  %6937 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6938 = trunc nuw i8 %6937 to i1
  br i1 %6938, label %6939, label %6943

6939:                                             ; preds = %6933
  %6940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6941 = call i32 @fileno(ptr noundef %6940) #11
  %6942 = call i32 @isatty(i32 noundef %6941) #11
  %.not946 = icmp eq i32 %6942, 0
  br i1 %.not946, label %6943, label %6944

6943:                                             ; preds = %6939, %6933
  br label %6944

6944:                                             ; preds = %6939, %6943
  %.str.5.sink3348 = phi ptr [ @.str.5, %6943 ], [ @.str.2, %6939 ]
  store i32 %6934, ptr %829, align 4, !tbaa !5
  %6945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6946 = load i32, ptr @test_count, align 4, !tbaa !5
  %6947 = load i32, ptr %775, align 4, !tbaa !5
  %6948 = call ptr @s2n_strerror(i32 noundef %6947, ptr noundef nonnull @.str.4) #11
  %6949 = load i32, ptr %775, align 4, !tbaa !5
  %6950 = call ptr @s2n_strerror_debug(i32 noundef %6949, ptr noundef nonnull @.str.4) #11
  %6951 = load i32, ptr %829, align 4, !tbaa !5
  %6952 = call ptr @strerror(i32 noundef %6951) #11
  %6953 = load i32, ptr %829, align 4, !tbaa !5
  %6954 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6945, ptr noundef nonnull %.str.5.sink3348, i32 noundef %6946, ptr noundef nonnull @.str.100, ptr noundef nonnull @.str.1, i32 noundef 744, ptr noundef %6948, ptr noundef %6950, ptr noundef %6952, i32 noundef %6953) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6955:                                             ; preds = %6928
  %6956 = load i32, ptr @test_count, align 4, !tbaa !5
  %6957 = add nsw i32 %6956, 1
  store i32 %6957, ptr @test_count, align 4, !tbaa !5
  %6958 = load ptr, ptr %131, align 8, !tbaa !9
  %6959 = call i32 @s2n_config_set_verification_ca_location(ptr noundef %6958, ptr noundef nonnull @.str.31, ptr noundef null) #11
  %6960 = icmp eq i32 %6959, -1
  br i1 %6960, label %6961, label %6983

6961:                                             ; preds = %6955
  %6962 = load i32, ptr %829, align 4, !tbaa !5
  %6963 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6964 = call i32 @s2n_print_stacktrace(ptr noundef %6963) #11
  %6965 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6966 = trunc nuw i8 %6965 to i1
  br i1 %6966, label %6967, label %6971

6967:                                             ; preds = %6961
  %6968 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6969 = call i32 @fileno(ptr noundef %6968) #11
  %6970 = call i32 @isatty(i32 noundef %6969) #11
  %.not945 = icmp eq i32 %6970, 0
  br i1 %.not945, label %6971, label %6972

6971:                                             ; preds = %6967, %6961
  br label %6972

6972:                                             ; preds = %6967, %6971
  %.str.5.sink3357 = phi ptr [ @.str.5, %6971 ], [ @.str.2, %6967 ]
  store i32 %6962, ptr %829, align 4, !tbaa !5
  %6973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6974 = load i32, ptr @test_count, align 4, !tbaa !5
  %6975 = load i32, ptr %775, align 4, !tbaa !5
  %6976 = call ptr @s2n_strerror(i32 noundef %6975, ptr noundef nonnull @.str.4) #11
  %6977 = load i32, ptr %775, align 4, !tbaa !5
  %6978 = call ptr @s2n_strerror_debug(i32 noundef %6977, ptr noundef nonnull @.str.4) #11
  %6979 = load i32, ptr %829, align 4, !tbaa !5
  %6980 = call ptr @strerror(i32 noundef %6979) #11
  %6981 = load i32, ptr %829, align 4, !tbaa !5
  %6982 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6973, ptr noundef nonnull %.str.5.sink3357, i32 noundef %6974, ptr noundef nonnull @.str.101, ptr noundef nonnull @.str.1, i32 noundef 745, ptr noundef %6976, ptr noundef %6978, ptr noundef %6980, i32 noundef %6981) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6983:                                             ; preds = %6955
  %6984 = load i32, ptr @test_count, align 4, !tbaa !5
  %6985 = add nsw i32 %6984, 1
  store i32 %6985, ptr @test_count, align 4, !tbaa !5
  %6986 = load ptr, ptr %131, align 8, !tbaa !9
  %6987 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %6986, ptr noundef nonnull @.str.80) #11
  %6988 = icmp eq i32 %6987, -1
  br i1 %6988, label %6989, label %7011

6989:                                             ; preds = %6983
  %6990 = load i32, ptr %829, align 4, !tbaa !5
  %6991 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6992 = call i32 @s2n_print_stacktrace(ptr noundef %6991) #11
  %6993 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6994 = trunc nuw i8 %6993 to i1
  br i1 %6994, label %6995, label %6999

6995:                                             ; preds = %6989
  %6996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6997 = call i32 @fileno(ptr noundef %6996) #11
  %6998 = call i32 @isatty(i32 noundef %6997) #11
  %.not944 = icmp eq i32 %6998, 0
  br i1 %.not944, label %6999, label %7000

6999:                                             ; preds = %6995, %6989
  br label %7000

7000:                                             ; preds = %6995, %6999
  %.str.5.sink3366 = phi ptr [ @.str.5, %6999 ], [ @.str.2, %6995 ]
  store i32 %6990, ptr %829, align 4, !tbaa !5
  %7001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7002 = load i32, ptr @test_count, align 4, !tbaa !5
  %7003 = load i32, ptr %775, align 4, !tbaa !5
  %7004 = call ptr @s2n_strerror(i32 noundef %7003, ptr noundef nonnull @.str.4) #11
  %7005 = load i32, ptr %775, align 4, !tbaa !5
  %7006 = call ptr @s2n_strerror_debug(i32 noundef %7005, ptr noundef nonnull @.str.4) #11
  %7007 = load i32, ptr %829, align 4, !tbaa !5
  %7008 = call ptr @strerror(i32 noundef %7007) #11
  %7009 = load i32, ptr %829, align 4, !tbaa !5
  %7010 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7001, ptr noundef nonnull %.str.5.sink3366, i32 noundef %7002, ptr noundef nonnull @.str.102, ptr noundef nonnull @.str.1, i32 noundef 746, ptr noundef %7004, ptr noundef %7006, ptr noundef %7008, i32 noundef %7009) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7011:                                             ; preds = %6983
  %7012 = load i32, ptr @test_count, align 4, !tbaa !5
  %7013 = add nsw i32 %7012, 1
  store i32 %7013, ptr @test_count, align 4, !tbaa !5
  %7014 = load ptr, ptr %131, align 8, !tbaa !9
  %7015 = call i32 @s2n_config_set_client_auth_type(ptr noundef %7014, i32 noundef 1) #11
  %7016 = icmp eq i32 %7015, -1
  br i1 %7016, label %7017, label %7039

7017:                                             ; preds = %7011
  %7018 = load i32, ptr %829, align 4, !tbaa !5
  %7019 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7020 = call i32 @s2n_print_stacktrace(ptr noundef %7019) #11
  %7021 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7022 = trunc nuw i8 %7021 to i1
  br i1 %7022, label %7023, label %7027

7023:                                             ; preds = %7017
  %7024 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7025 = call i32 @fileno(ptr noundef %7024) #11
  %7026 = call i32 @isatty(i32 noundef %7025) #11
  %.not943 = icmp eq i32 %7026, 0
  br i1 %.not943, label %7027, label %7028

7027:                                             ; preds = %7023, %7017
  br label %7028

7028:                                             ; preds = %7023, %7027
  %.str.5.sink3375 = phi ptr [ @.str.5, %7027 ], [ @.str.2, %7023 ]
  store i32 %7018, ptr %829, align 4, !tbaa !5
  %7029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7030 = load i32, ptr @test_count, align 4, !tbaa !5
  %7031 = load i32, ptr %775, align 4, !tbaa !5
  %7032 = call ptr @s2n_strerror(i32 noundef %7031, ptr noundef nonnull @.str.4) #11
  %7033 = load i32, ptr %775, align 4, !tbaa !5
  %7034 = call ptr @s2n_strerror_debug(i32 noundef %7033, ptr noundef nonnull @.str.4) #11
  %7035 = load i32, ptr %829, align 4, !tbaa !5
  %7036 = call ptr @strerror(i32 noundef %7035) #11
  %7037 = load i32, ptr %829, align 4, !tbaa !5
  %7038 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7029, ptr noundef nonnull %.str.5.sink3375, i32 noundef %7030, ptr noundef nonnull @.str.103, ptr noundef nonnull @.str.1, i32 noundef 747, ptr noundef %7032, ptr noundef %7034, ptr noundef %7036, i32 noundef %7037) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7039:                                             ; preds = %7011
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %132) #11
  store ptr null, ptr %132, align 8, !tbaa !9
  %7040 = load i32, ptr @test_count, align 4, !tbaa !5
  %7041 = add nsw i32 %7040, 1
  store i32 %7041, ptr @test_count, align 4, !tbaa !5
  %7042 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef nonnull %132, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.76) #11
  %7043 = icmp eq i32 %7042, -1
  br i1 %7043, label %7044, label %7066

7044:                                             ; preds = %7039
  %7045 = load i32, ptr %829, align 4, !tbaa !5
  %7046 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7047 = call i32 @s2n_print_stacktrace(ptr noundef %7046) #11
  %7048 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7049 = trunc nuw i8 %7048 to i1
  br i1 %7049, label %7050, label %7054

7050:                                             ; preds = %7044
  %7051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7052 = call i32 @fileno(ptr noundef %7051) #11
  %7053 = call i32 @isatty(i32 noundef %7052) #11
  %.not942 = icmp eq i32 %7053, 0
  br i1 %.not942, label %7054, label %7055

7054:                                             ; preds = %7050, %7044
  br label %7055

7055:                                             ; preds = %7050, %7054
  %.str.5.sink3384 = phi ptr [ @.str.5, %7054 ], [ @.str.2, %7050 ]
  store i32 %7045, ptr %829, align 4, !tbaa !5
  %7056 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7057 = load i32, ptr @test_count, align 4, !tbaa !5
  %7058 = load i32, ptr %775, align 4, !tbaa !5
  %7059 = call ptr @s2n_strerror(i32 noundef %7058, ptr noundef nonnull @.str.4) #11
  %7060 = load i32, ptr %775, align 4, !tbaa !5
  %7061 = call ptr @s2n_strerror_debug(i32 noundef %7060, ptr noundef nonnull @.str.4) #11
  %7062 = load i32, ptr %829, align 4, !tbaa !5
  %7063 = call ptr @strerror(i32 noundef %7062) #11
  %7064 = load i32, ptr %829, align 4, !tbaa !5
  %7065 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7056, ptr noundef nonnull %.str.5.sink3384, i32 noundef %7057, ptr noundef nonnull @.str.104, ptr noundef nonnull @.str.1, i32 noundef 751, ptr noundef %7059, ptr noundef %7061, ptr noundef %7063, i32 noundef %7064) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7066:                                             ; preds = %7039
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %133) #11
  %7067 = call ptr @s2n_config_new() #11
  store ptr %7067, ptr %133, align 8, !tbaa !9
  %7068 = load i32, ptr @test_count, align 4, !tbaa !5
  %7069 = add nsw i32 %7068, 1
  store i32 %7069, ptr @test_count, align 4, !tbaa !5
  %7070 = icmp eq ptr %7067, null
  br i1 %7070, label %7071, label %7093

7071:                                             ; preds = %7066
  %7072 = load i32, ptr %829, align 4, !tbaa !5
  %7073 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7074 = call i32 @s2n_print_stacktrace(ptr noundef %7073) #11
  %7075 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7076 = trunc nuw i8 %7075 to i1
  br i1 %7076, label %7077, label %7081

7077:                                             ; preds = %7071
  %7078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7079 = call i32 @fileno(ptr noundef %7078) #11
  %7080 = call i32 @isatty(i32 noundef %7079) #11
  %.not941 = icmp eq i32 %7080, 0
  br i1 %.not941, label %7081, label %7082

7081:                                             ; preds = %7077, %7071
  br label %7082

7082:                                             ; preds = %7077, %7081
  %.str.5.sink3393 = phi ptr [ @.str.5, %7081 ], [ @.str.2, %7077 ]
  store i32 %7072, ptr %829, align 4, !tbaa !5
  %7083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7084 = load i32, ptr @test_count, align 4, !tbaa !5
  %7085 = load i32, ptr %775, align 4, !tbaa !5
  %7086 = call ptr @s2n_strerror(i32 noundef %7085, ptr noundef nonnull @.str.4) #11
  %7087 = load i32, ptr %775, align 4, !tbaa !5
  %7088 = call ptr @s2n_strerror_debug(i32 noundef %7087, ptr noundef nonnull @.str.4) #11
  %7089 = load i32, ptr %829, align 4, !tbaa !5
  %7090 = call ptr @strerror(i32 noundef %7089) #11
  %7091 = load i32, ptr %829, align 4, !tbaa !5
  %7092 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7083, ptr noundef nonnull %.str.5.sink3393, i32 noundef %7084, ptr noundef nonnull @.str.105, ptr noundef nonnull @.str.1, i32 noundef 754, ptr noundef %7086, ptr noundef %7088, ptr noundef %7090, i32 noundef %7091) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7093:                                             ; preds = %7066
  %7094 = add nsw i32 %7068, 2
  store i32 %7094, ptr @test_count, align 4, !tbaa !5
  %7095 = load ptr, ptr %132, align 8, !tbaa !9
  %7096 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef nonnull %7067, ptr noundef %7095) #11
  %7097 = icmp eq i32 %7096, -1
  br i1 %7097, label %7098, label %7120

7098:                                             ; preds = %7093
  %7099 = load i32, ptr %829, align 4, !tbaa !5
  %7100 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7101 = call i32 @s2n_print_stacktrace(ptr noundef %7100) #11
  %7102 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7103 = trunc nuw i8 %7102 to i1
  br i1 %7103, label %7104, label %7108

7104:                                             ; preds = %7098
  %7105 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7106 = call i32 @fileno(ptr noundef %7105) #11
  %7107 = call i32 @isatty(i32 noundef %7106) #11
  %.not940 = icmp eq i32 %7107, 0
  br i1 %.not940, label %7108, label %7109

7108:                                             ; preds = %7104, %7098
  br label %7109

7109:                                             ; preds = %7104, %7108
  %.str.5.sink3402 = phi ptr [ @.str.5, %7108 ], [ @.str.2, %7104 ]
  store i32 %7099, ptr %829, align 4, !tbaa !5
  %7110 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7111 = load i32, ptr @test_count, align 4, !tbaa !5
  %7112 = load i32, ptr %775, align 4, !tbaa !5
  %7113 = call ptr @s2n_strerror(i32 noundef %7112, ptr noundef nonnull @.str.4) #11
  %7114 = load i32, ptr %775, align 4, !tbaa !5
  %7115 = call ptr @s2n_strerror_debug(i32 noundef %7114, ptr noundef nonnull @.str.4) #11
  %7116 = load i32, ptr %829, align 4, !tbaa !5
  %7117 = call ptr @strerror(i32 noundef %7116) #11
  %7118 = load i32, ptr %829, align 4, !tbaa !5
  %7119 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7110, ptr noundef nonnull %.str.5.sink3402, i32 noundef %7111, ptr noundef nonnull @.str.106, ptr noundef nonnull @.str.1, i32 noundef 755, ptr noundef %7113, ptr noundef %7115, ptr noundef %7117, i32 noundef %7118) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7120:                                             ; preds = %7093
  %7121 = load i32, ptr @test_count, align 4, !tbaa !5
  %7122 = add nsw i32 %7121, 1
  store i32 %7122, ptr @test_count, align 4, !tbaa !5
  %7123 = load ptr, ptr %133, align 8, !tbaa !9
  %7124 = call i32 @s2n_config_set_verification_ca_location(ptr noundef %7123, ptr noundef nonnull @.str.96, ptr noundef null) #11
  %7125 = icmp eq i32 %7124, -1
  br i1 %7125, label %7126, label %7148

7126:                                             ; preds = %7120
  %7127 = load i32, ptr %829, align 4, !tbaa !5
  %7128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7129 = call i32 @s2n_print_stacktrace(ptr noundef %7128) #11
  %7130 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7131 = trunc nuw i8 %7130 to i1
  br i1 %7131, label %7132, label %7136

7132:                                             ; preds = %7126
  %7133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7134 = call i32 @fileno(ptr noundef %7133) #11
  %7135 = call i32 @isatty(i32 noundef %7134) #11
  %.not939 = icmp eq i32 %7135, 0
  br i1 %.not939, label %7136, label %7137

7136:                                             ; preds = %7132, %7126
  br label %7137

7137:                                             ; preds = %7132, %7136
  %.str.5.sink3411 = phi ptr [ @.str.5, %7136 ], [ @.str.2, %7132 ]
  store i32 %7127, ptr %829, align 4, !tbaa !5
  %7138 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7139 = load i32, ptr @test_count, align 4, !tbaa !5
  %7140 = load i32, ptr %775, align 4, !tbaa !5
  %7141 = call ptr @s2n_strerror(i32 noundef %7140, ptr noundef nonnull @.str.4) #11
  %7142 = load i32, ptr %775, align 4, !tbaa !5
  %7143 = call ptr @s2n_strerror_debug(i32 noundef %7142, ptr noundef nonnull @.str.4) #11
  %7144 = load i32, ptr %829, align 4, !tbaa !5
  %7145 = call ptr @strerror(i32 noundef %7144) #11
  %7146 = load i32, ptr %829, align 4, !tbaa !5
  %7147 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7138, ptr noundef nonnull %.str.5.sink3411, i32 noundef %7139, ptr noundef nonnull @.str.107, ptr noundef nonnull @.str.1, i32 noundef 756, ptr noundef %7141, ptr noundef %7143, ptr noundef %7145, i32 noundef %7146) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7148:                                             ; preds = %7120
  %7149 = load i32, ptr @test_count, align 4, !tbaa !5
  %7150 = add nsw i32 %7149, 1
  store i32 %7150, ptr @test_count, align 4, !tbaa !5
  %7151 = load ptr, ptr %133, align 8, !tbaa !9
  %7152 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %7151, ptr noundef nonnull @.str.80) #11
  %7153 = icmp eq i32 %7152, -1
  br i1 %7153, label %7154, label %7176

7154:                                             ; preds = %7148
  %7155 = load i32, ptr %829, align 4, !tbaa !5
  %7156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7157 = call i32 @s2n_print_stacktrace(ptr noundef %7156) #11
  %7158 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7159 = trunc nuw i8 %7158 to i1
  br i1 %7159, label %7160, label %7164

7160:                                             ; preds = %7154
  %7161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7162 = call i32 @fileno(ptr noundef %7161) #11
  %7163 = call i32 @isatty(i32 noundef %7162) #11
  %.not938 = icmp eq i32 %7163, 0
  br i1 %.not938, label %7164, label %7165

7164:                                             ; preds = %7160, %7154
  br label %7165

7165:                                             ; preds = %7160, %7164
  %.str.5.sink3420 = phi ptr [ @.str.5, %7164 ], [ @.str.2, %7160 ]
  store i32 %7155, ptr %829, align 4, !tbaa !5
  %7166 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7167 = load i32, ptr @test_count, align 4, !tbaa !5
  %7168 = load i32, ptr %775, align 4, !tbaa !5
  %7169 = call ptr @s2n_strerror(i32 noundef %7168, ptr noundef nonnull @.str.4) #11
  %7170 = load i32, ptr %775, align 4, !tbaa !5
  %7171 = call ptr @s2n_strerror_debug(i32 noundef %7170, ptr noundef nonnull @.str.4) #11
  %7172 = load i32, ptr %829, align 4, !tbaa !5
  %7173 = call ptr @strerror(i32 noundef %7172) #11
  %7174 = load i32, ptr %829, align 4, !tbaa !5
  %7175 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7166, ptr noundef nonnull %.str.5.sink3420, i32 noundef %7167, ptr noundef nonnull @.str.108, ptr noundef nonnull @.str.1, i32 noundef 757, ptr noundef %7169, ptr noundef %7171, ptr noundef %7173, i32 noundef %7174) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7176:                                             ; preds = %7148
  %7177 = load i32, ptr @test_count, align 4, !tbaa !5
  %7178 = add nsw i32 %7177, 1
  store i32 %7178, ptr @test_count, align 4, !tbaa !5
  %7179 = load ptr, ptr %133, align 8, !tbaa !9
  %7180 = call i32 @s2n_config_set_client_auth_type(ptr noundef %7179, i32 noundef 1) #11
  %7181 = icmp eq i32 %7180, -1
  br i1 %7181, label %7182, label %7204

7182:                                             ; preds = %7176
  %7183 = load i32, ptr %829, align 4, !tbaa !5
  %7184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7185 = call i32 @s2n_print_stacktrace(ptr noundef %7184) #11
  %7186 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7187 = trunc nuw i8 %7186 to i1
  br i1 %7187, label %7188, label %7192

7188:                                             ; preds = %7182
  %7189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7190 = call i32 @fileno(ptr noundef %7189) #11
  %7191 = call i32 @isatty(i32 noundef %7190) #11
  %.not937 = icmp eq i32 %7191, 0
  br i1 %.not937, label %7192, label %7193

7192:                                             ; preds = %7188, %7182
  br label %7193

7193:                                             ; preds = %7188, %7192
  %.str.5.sink3429 = phi ptr [ @.str.5, %7192 ], [ @.str.2, %7188 ]
  store i32 %7183, ptr %829, align 4, !tbaa !5
  %7194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7195 = load i32, ptr @test_count, align 4, !tbaa !5
  %7196 = load i32, ptr %775, align 4, !tbaa !5
  %7197 = call ptr @s2n_strerror(i32 noundef %7196, ptr noundef nonnull @.str.4) #11
  %7198 = load i32, ptr %775, align 4, !tbaa !5
  %7199 = call ptr @s2n_strerror_debug(i32 noundef %7198, ptr noundef nonnull @.str.4) #11
  %7200 = load i32, ptr %829, align 4, !tbaa !5
  %7201 = call ptr @strerror(i32 noundef %7200) #11
  %7202 = load i32, ptr %829, align 4, !tbaa !5
  %7203 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7194, ptr noundef nonnull %.str.5.sink3429, i32 noundef %7195, ptr noundef nonnull @.str.109, ptr noundef nonnull @.str.1, i32 noundef 758, ptr noundef %7197, ptr noundef %7199, ptr noundef %7201, i32 noundef %7202) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7204:                                             ; preds = %7176
  call void @llvm.lifetime.start.p0(i64 88, ptr nonnull %134) #11
  %7205 = getelementptr inbounds i8, ptr %134, i64 16
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(88) %7205, i8 0, i64 72, i1 false)
  store ptr %6454, ptr %134, align 8, !tbaa !9
  %7206 = getelementptr inbounds i8, ptr %134, i64 8
  store ptr %6455, ptr %7206, align 8, !tbaa !9
  %7207 = load i32, ptr @test_count, align 4, !tbaa !5
  %7208 = add nsw i32 %7207, 1
  store i32 %7208, ptr @test_count, align 4, !tbaa !5
  %7209 = load ptr, ptr %131, align 8, !tbaa !9
  %7210 = call i32 @s2n_config_set_crl_lookup_cb(ptr noundef %7209, ptr noundef nonnull @crl_lookup_test_callback, ptr noundef nonnull %134) #11
  %7211 = icmp eq i32 %7210, -1
  br i1 %7211, label %7212, label %7234

7212:                                             ; preds = %7204
  %7213 = load i32, ptr %829, align 4, !tbaa !5
  %7214 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7215 = call i32 @s2n_print_stacktrace(ptr noundef %7214) #11
  %7216 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7217 = trunc nuw i8 %7216 to i1
  br i1 %7217, label %7218, label %7222

7218:                                             ; preds = %7212
  %7219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7220 = call i32 @fileno(ptr noundef %7219) #11
  %7221 = call i32 @isatty(i32 noundef %7220) #11
  %.not936 = icmp eq i32 %7221, 0
  br i1 %.not936, label %7222, label %7223

7222:                                             ; preds = %7218, %7212
  br label %7223

7223:                                             ; preds = %7218, %7222
  %.str.5.sink3438 = phi ptr [ @.str.5, %7222 ], [ @.str.2, %7218 ]
  store i32 %7213, ptr %829, align 4, !tbaa !5
  %7224 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7225 = load i32, ptr @test_count, align 4, !tbaa !5
  %7226 = load i32, ptr %775, align 4, !tbaa !5
  %7227 = call ptr @s2n_strerror(i32 noundef %7226, ptr noundef nonnull @.str.4) #11
  %7228 = load i32, ptr %775, align 4, !tbaa !5
  %7229 = call ptr @s2n_strerror_debug(i32 noundef %7228, ptr noundef nonnull @.str.4) #11
  %7230 = load i32, ptr %829, align 4, !tbaa !5
  %7231 = call ptr @strerror(i32 noundef %7230) #11
  %7232 = load i32, ptr %829, align 4, !tbaa !5
  %7233 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7224, ptr noundef nonnull %.str.5.sink3438, i32 noundef %7225, ptr noundef nonnull @.str.110, ptr noundef nonnull @.str.1, i32 noundef 763, ptr noundef %7227, ptr noundef %7229, ptr noundef %7231, i32 noundef %7232) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7234:                                             ; preds = %7204
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %135) #11
  %7235 = call ptr @s2n_connection_new(i32 noundef 0) #11
  store ptr %7235, ptr %135, align 8, !tbaa !9
  %7236 = load i32, ptr @test_count, align 4, !tbaa !5
  %7237 = add nsw i32 %7236, 1
  store i32 %7237, ptr @test_count, align 4, !tbaa !5
  %7238 = icmp eq ptr %7235, null
  br i1 %7238, label %7239, label %7261

7239:                                             ; preds = %7234
  %7240 = load i32, ptr %829, align 4, !tbaa !5
  %7241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7242 = call i32 @s2n_print_stacktrace(ptr noundef %7241) #11
  %7243 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7244 = trunc nuw i8 %7243 to i1
  br i1 %7244, label %7245, label %7249

7245:                                             ; preds = %7239
  %7246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7247 = call i32 @fileno(ptr noundef %7246) #11
  %7248 = call i32 @isatty(i32 noundef %7247) #11
  %.not935 = icmp eq i32 %7248, 0
  br i1 %.not935, label %7249, label %7250

7249:                                             ; preds = %7245, %7239
  br label %7250

7250:                                             ; preds = %7245, %7249
  %.str.5.sink3447 = phi ptr [ @.str.5, %7249 ], [ @.str.2, %7245 ]
  store i32 %7240, ptr %829, align 4, !tbaa !5
  %7251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7252 = load i32, ptr @test_count, align 4, !tbaa !5
  %7253 = load i32, ptr %775, align 4, !tbaa !5
  %7254 = call ptr @s2n_strerror(i32 noundef %7253, ptr noundef nonnull @.str.4) #11
  %7255 = load i32, ptr %775, align 4, !tbaa !5
  %7256 = call ptr @s2n_strerror_debug(i32 noundef %7255, ptr noundef nonnull @.str.4) #11
  %7257 = load i32, ptr %829, align 4, !tbaa !5
  %7258 = call ptr @strerror(i32 noundef %7257) #11
  %7259 = load i32, ptr %829, align 4, !tbaa !5
  %7260 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7251, ptr noundef nonnull %.str.5.sink3447, i32 noundef %7252, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.1, i32 noundef 766, ptr noundef %7254, ptr noundef %7256, ptr noundef %7258, i32 noundef %7259) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7261:                                             ; preds = %7234
  %7262 = add nsw i32 %7236, 2
  store i32 %7262, ptr @test_count, align 4, !tbaa !5
  %7263 = load ptr, ptr %131, align 8, !tbaa !9
  %7264 = call i32 @s2n_connection_set_config(ptr noundef nonnull %7235, ptr noundef %7263) #11
  %7265 = icmp eq i32 %7264, -1
  br i1 %7265, label %7266, label %7288

7266:                                             ; preds = %7261
  %7267 = load i32, ptr %829, align 4, !tbaa !5
  %7268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7269 = call i32 @s2n_print_stacktrace(ptr noundef %7268) #11
  %7270 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7271 = trunc nuw i8 %7270 to i1
  br i1 %7271, label %7272, label %7276

7272:                                             ; preds = %7266
  %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
  %.not934 = icmp eq i32 %7275, 0
  br i1 %.not934, label %7276, label %7277

7276:                                             ; preds = %7272, %7266
  br label %7277

7277:                                             ; preds = %7272, %7276
  %.str.5.sink3456 = phi ptr [ @.str.5, %7276 ], [ @.str.2, %7272 ]
  store i32 %7267, ptr %829, align 4, !tbaa !5
  %7278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7279 = load i32, ptr @test_count, align 4, !tbaa !5
  %7280 = load i32, ptr %775, align 4, !tbaa !5
  %7281 = call ptr @s2n_strerror(i32 noundef %7280, ptr noundef nonnull @.str.4) #11
  %7282 = load i32, ptr %775, align 4, !tbaa !5
  %7283 = call ptr @s2n_strerror_debug(i32 noundef %7282, ptr noundef nonnull @.str.4) #11
  %7284 = load i32, ptr %829, align 4, !tbaa !5
  %7285 = call ptr @strerror(i32 noundef %7284) #11
  %7286 = load i32, ptr %829, align 4, !tbaa !5
  %7287 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7278, ptr noundef nonnull %.str.5.sink3456, i32 noundef %7279, ptr noundef nonnull @.str.111, ptr noundef nonnull @.str.1, i32 noundef 767, ptr noundef %7281, ptr noundef %7283, ptr noundef %7285, i32 noundef %7286) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7288:                                             ; preds = %7261
  %7289 = load i32, ptr @test_count, align 4, !tbaa !5
  %7290 = add nsw i32 %7289, 1
  store i32 %7290, ptr @test_count, align 4, !tbaa !5
  %7291 = load ptr, ptr %135, align 8, !tbaa !9
  %7292 = call i32 @s2n_connection_set_verify_host_callback(ptr noundef %7291, ptr noundef nonnull @verify_host_always_allow, ptr noundef null) #11
  %7293 = icmp eq i32 %7292, -1
  br i1 %7293, label %7294, label %7316

7294:                                             ; preds = %7288
  %7295 = load i32, ptr %829, align 4, !tbaa !5
  %7296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7297 = call i32 @s2n_print_stacktrace(ptr noundef %7296) #11
  %7298 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7299 = trunc nuw i8 %7298 to i1
  br i1 %7299, label %7300, label %7304

7300:                                             ; preds = %7294
  %7301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7302 = call i32 @fileno(ptr noundef %7301) #11
  %7303 = call i32 @isatty(i32 noundef %7302) #11
  %.not933 = icmp eq i32 %7303, 0
  br i1 %.not933, label %7304, label %7305

7304:                                             ; preds = %7300, %7294
  br label %7305

7305:                                             ; preds = %7300, %7304
  %.str.5.sink3465 = phi ptr [ @.str.5, %7304 ], [ @.str.2, %7300 ]
  store i32 %7295, ptr %829, align 4, !tbaa !5
  %7306 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7307 = load i32, ptr @test_count, align 4, !tbaa !5
  %7308 = load i32, ptr %775, align 4, !tbaa !5
  %7309 = call ptr @s2n_strerror(i32 noundef %7308, ptr noundef nonnull @.str.4) #11
  %7310 = load i32, ptr %775, align 4, !tbaa !5
  %7311 = call ptr @s2n_strerror_debug(i32 noundef %7310, ptr noundef nonnull @.str.4) #11
  %7312 = load i32, ptr %829, align 4, !tbaa !5
  %7313 = call ptr @strerror(i32 noundef %7312) #11
  %7314 = load i32, ptr %829, align 4, !tbaa !5
  %7315 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7306, ptr noundef nonnull %.str.5.sink3465, i32 noundef %7307, ptr noundef nonnull @.str.112, ptr noundef nonnull @.str.1, i32 noundef 768, ptr noundef %7309, ptr noundef %7311, ptr noundef %7313, i32 noundef %7314) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7316:                                             ; preds = %7288
  %7317 = load i32, ptr @test_count, align 4, !tbaa !5
  %7318 = add nsw i32 %7317, 1
  store i32 %7318, ptr @test_count, align 4, !tbaa !5
  %7319 = load ptr, ptr %135, align 8, !tbaa !9
  %7320 = call i32 @s2n_connection_set_blinding(ptr noundef %7319, i32 noundef 1) #11
  %7321 = icmp eq i32 %7320, -1
  br i1 %7321, label %7322, label %7344

7322:                                             ; preds = %7316
  %7323 = load i32, ptr %829, align 4, !tbaa !5
  %7324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7325 = call i32 @s2n_print_stacktrace(ptr noundef %7324) #11
  %7326 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7327 = trunc nuw i8 %7326 to i1
  br i1 %7327, label %7328, label %7332

7328:                                             ; preds = %7322
  %7329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7330 = call i32 @fileno(ptr noundef %7329) #11
  %7331 = call i32 @isatty(i32 noundef %7330) #11
  %.not932 = icmp eq i32 %7331, 0
  br i1 %.not932, label %7332, label %7333

7332:                                             ; preds = %7328, %7322
  br label %7333

7333:                                             ; preds = %7328, %7332
  %.str.5.sink3474 = phi ptr [ @.str.5, %7332 ], [ @.str.2, %7328 ]
  store i32 %7323, ptr %829, align 4, !tbaa !5
  %7334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7335 = load i32, ptr @test_count, align 4, !tbaa !5
  %7336 = load i32, ptr %775, align 4, !tbaa !5
  %7337 = call ptr @s2n_strerror(i32 noundef %7336, ptr noundef nonnull @.str.4) #11
  %7338 = load i32, ptr %775, align 4, !tbaa !5
  %7339 = call ptr @s2n_strerror_debug(i32 noundef %7338, ptr noundef nonnull @.str.4) #11
  %7340 = load i32, ptr %829, align 4, !tbaa !5
  %7341 = call ptr @strerror(i32 noundef %7340) #11
  %7342 = load i32, ptr %829, align 4, !tbaa !5
  %7343 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7334, ptr noundef nonnull %.str.5.sink3474, i32 noundef %7335, ptr noundef nonnull @.str.93, ptr noundef nonnull @.str.1, i32 noundef 769, ptr noundef %7337, ptr noundef %7339, ptr noundef %7341, i32 noundef %7342) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7344:                                             ; preds = %7316
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %136) #11
  %7345 = call ptr @s2n_connection_new(i32 noundef 1) #11
  store ptr %7345, ptr %136, align 8, !tbaa !9
  %7346 = load i32, ptr @test_count, align 4, !tbaa !5
  %7347 = add nsw i32 %7346, 1
  store i32 %7347, ptr @test_count, align 4, !tbaa !5
  %7348 = icmp eq ptr %7345, null
  br i1 %7348, label %7349, label %7371

7349:                                             ; preds = %7344
  %7350 = load i32, ptr %829, align 4, !tbaa !5
  %7351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7352 = call i32 @s2n_print_stacktrace(ptr noundef %7351) #11
  %7353 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7354 = trunc nuw i8 %7353 to i1
  br i1 %7354, label %7355, label %7359

7355:                                             ; preds = %7349
  %7356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7357 = call i32 @fileno(ptr noundef %7356) #11
  %7358 = call i32 @isatty(i32 noundef %7357) #11
  %.not931 = icmp eq i32 %7358, 0
  br i1 %.not931, label %7359, label %7360

7359:                                             ; preds = %7355, %7349
  br label %7360

7360:                                             ; preds = %7355, %7359
  %.str.5.sink3483 = phi ptr [ @.str.5, %7359 ], [ @.str.2, %7355 ]
  store i32 %7350, ptr %829, align 4, !tbaa !5
  %7361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7362 = load i32, ptr @test_count, align 4, !tbaa !5
  %7363 = load i32, ptr %775, align 4, !tbaa !5
  %7364 = call ptr @s2n_strerror(i32 noundef %7363, ptr noundef nonnull @.str.4) #11
  %7365 = load i32, ptr %775, align 4, !tbaa !5
  %7366 = call ptr @s2n_strerror_debug(i32 noundef %7365, ptr noundef nonnull @.str.4) #11
  %7367 = load i32, ptr %829, align 4, !tbaa !5
  %7368 = call ptr @strerror(i32 noundef %7367) #11
  %7369 = load i32, ptr %829, align 4, !tbaa !5
  %7370 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7361, ptr noundef nonnull %.str.5.sink3483, i32 noundef %7362, ptr noundef nonnull @.str.84, ptr noundef nonnull @.str.1, i32 noundef 772, ptr noundef %7364, ptr noundef %7366, ptr noundef %7368, i32 noundef %7369) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7371:                                             ; preds = %7344
  %7372 = add nsw i32 %7346, 2
  store i32 %7372, ptr @test_count, align 4, !tbaa !5
  %7373 = load ptr, ptr %133, align 8, !tbaa !9
  %7374 = call i32 @s2n_connection_set_config(ptr noundef nonnull %7345, ptr noundef %7373) #11
  %7375 = icmp eq i32 %7374, -1
  br i1 %7375, label %7376, label %7398

7376:                                             ; preds = %7371
  %7377 = load i32, ptr %829, align 4, !tbaa !5
  %7378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7379 = call i32 @s2n_print_stacktrace(ptr noundef %7378) #11
  %7380 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7381 = trunc nuw i8 %7380 to i1
  br i1 %7381, label %7382, label %7386

7382:                                             ; preds = %7376
  %7383 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7384 = call i32 @fileno(ptr noundef %7383) #11
  %7385 = call i32 @isatty(i32 noundef %7384) #11
  %.not930 = icmp eq i32 %7385, 0
  br i1 %.not930, label %7386, label %7387

7386:                                             ; preds = %7382, %7376
  br label %7387

7387:                                             ; preds = %7382, %7386
  %.str.5.sink3492 = phi ptr [ @.str.5, %7386 ], [ @.str.2, %7382 ]
  store i32 %7377, ptr %829, align 4, !tbaa !5
  %7388 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7389 = load i32, ptr @test_count, align 4, !tbaa !5
  %7390 = load i32, ptr %775, align 4, !tbaa !5
  %7391 = call ptr @s2n_strerror(i32 noundef %7390, ptr noundef nonnull @.str.4) #11
  %7392 = load i32, ptr %775, align 4, !tbaa !5
  %7393 = call ptr @s2n_strerror_debug(i32 noundef %7392, ptr noundef nonnull @.str.4) #11
  %7394 = load i32, ptr %829, align 4, !tbaa !5
  %7395 = call ptr @strerror(i32 noundef %7394) #11
  %7396 = load i32, ptr %829, align 4, !tbaa !5
  %7397 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7388, ptr noundef nonnull %.str.5.sink3492, i32 noundef %7389, ptr noundef nonnull @.str.113, ptr noundef nonnull @.str.1, i32 noundef 773, ptr noundef %7391, ptr noundef %7393, ptr noundef %7395, i32 noundef %7396) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7398:                                             ; preds = %7371
  %7399 = load i32, ptr @test_count, align 4, !tbaa !5
  %7400 = add nsw i32 %7399, 1
  store i32 %7400, ptr @test_count, align 4, !tbaa !5
  %7401 = load ptr, ptr %136, align 8, !tbaa !9
  %7402 = call i32 @s2n_set_server_name(ptr noundef %7401, ptr noundef nonnull @.str.39) #11
  %7403 = icmp eq i32 %7402, -1
  br i1 %7403, label %7404, label %7426

7404:                                             ; preds = %7398
  %7405 = load i32, ptr %829, align 4, !tbaa !5
  %7406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7407 = call i32 @s2n_print_stacktrace(ptr noundef %7406) #11
  %7408 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7409 = trunc nuw i8 %7408 to i1
  br i1 %7409, label %7410, label %7414

7410:                                             ; preds = %7404
  %7411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7412 = call i32 @fileno(ptr noundef %7411) #11
  %7413 = call i32 @isatty(i32 noundef %7412) #11
  %.not929 = icmp eq i32 %7413, 0
  br i1 %.not929, label %7414, label %7415

7414:                                             ; preds = %7410, %7404
  br label %7415

7415:                                             ; preds = %7410, %7414
  %.str.5.sink3501 = phi ptr [ @.str.5, %7414 ], [ @.str.2, %7410 ]
  store i32 %7405, ptr %829, align 4, !tbaa !5
  %7416 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7417 = load i32, ptr @test_count, align 4, !tbaa !5
  %7418 = load i32, ptr %775, align 4, !tbaa !5
  %7419 = call ptr @s2n_strerror(i32 noundef %7418, ptr noundef nonnull @.str.4) #11
  %7420 = load i32, ptr %775, align 4, !tbaa !5
  %7421 = call ptr @s2n_strerror_debug(i32 noundef %7420, ptr noundef nonnull @.str.4) #11
  %7422 = load i32, ptr %829, align 4, !tbaa !5
  %7423 = call ptr @strerror(i32 noundef %7422) #11
  %7424 = load i32, ptr %829, align 4, !tbaa !5
  %7425 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7416, ptr noundef nonnull %.str.5.sink3501, i32 noundef %7417, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.1, i32 noundef 774, ptr noundef %7419, ptr noundef %7421, ptr noundef %7423, i32 noundef %7424) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7426:                                             ; preds = %7398
  %7427 = load i32, ptr @test_count, align 4, !tbaa !5
  %7428 = add nsw i32 %7427, 1
  store i32 %7428, ptr @test_count, align 4, !tbaa !5
  %7429 = load ptr, ptr %136, align 8, !tbaa !9
  %7430 = call i32 @s2n_connection_set_blinding(ptr noundef %7429, i32 noundef 1) #11
  %7431 = icmp eq i32 %7430, -1
  br i1 %7431, label %7432, label %7454

7432:                                             ; preds = %7426
  %7433 = load i32, ptr %829, align 4, !tbaa !5
  %7434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7435 = call i32 @s2n_print_stacktrace(ptr noundef %7434) #11
  %7436 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7437 = trunc nuw i8 %7436 to i1
  br i1 %7437, label %7438, label %7442

7438:                                             ; preds = %7432
  %7439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7440 = call i32 @fileno(ptr noundef %7439) #11
  %7441 = call i32 @isatty(i32 noundef %7440) #11
  %.not928 = icmp eq i32 %7441, 0
  br i1 %.not928, label %7442, label %7443

7442:                                             ; preds = %7438, %7432
  br label %7443

7443:                                             ; preds = %7438, %7442
  %.str.5.sink3510 = phi ptr [ @.str.5, %7442 ], [ @.str.2, %7438 ]
  store i32 %7433, ptr %829, align 4, !tbaa !5
  %7444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7445 = load i32, ptr @test_count, align 4, !tbaa !5
  %7446 = load i32, ptr %775, align 4, !tbaa !5
  %7447 = call ptr @s2n_strerror(i32 noundef %7446, ptr noundef nonnull @.str.4) #11
  %7448 = load i32, ptr %775, align 4, !tbaa !5
  %7449 = call ptr @s2n_strerror_debug(i32 noundef %7448, ptr noundef nonnull @.str.4) #11
  %7450 = load i32, ptr %829, align 4, !tbaa !5
  %7451 = call ptr @strerror(i32 noundef %7450) #11
  %7452 = load i32, ptr %829, align 4, !tbaa !5
  %7453 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7444, ptr noundef nonnull %.str.5.sink3510, i32 noundef %7445, ptr noundef nonnull @.str.94, ptr noundef nonnull @.str.1, i32 noundef 775, ptr noundef %7447, ptr noundef %7449, ptr noundef %7451, i32 noundef %7452) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7454:                                             ; preds = %7426
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %137) #11
  store i64 0, ptr %137, align 8
  %7455 = load i32, ptr @test_count, align 4, !tbaa !5
  %7456 = add nsw i32 %7455, 1
  store i32 %7456, ptr @test_count, align 4, !tbaa !5
  %7457 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef nonnull %137) #11
  %7458 = icmp eq i32 %7457, -1
  br i1 %7458, label %7459, label %7481

7459:                                             ; preds = %7454
  %7460 = load i32, ptr %829, align 4, !tbaa !5
  %7461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7462 = call i32 @s2n_print_stacktrace(ptr noundef %7461) #11
  %7463 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7464 = trunc nuw i8 %7463 to i1
  br i1 %7464, label %7465, label %7469

7465:                                             ; preds = %7459
  %7466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7467 = call i32 @fileno(ptr noundef %7466) #11
  %7468 = call i32 @isatty(i32 noundef %7467) #11
  %.not927 = icmp eq i32 %7468, 0
  br i1 %.not927, label %7469, label %7470

7469:                                             ; preds = %7465, %7459
  br label %7470

7470:                                             ; preds = %7465, %7469
  %.str.5.sink3519 = phi ptr [ @.str.5, %7469 ], [ @.str.2, %7465 ]
  store i32 %7460, ptr %829, align 4, !tbaa !5
  %7471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7472 = load i32, ptr @test_count, align 4, !tbaa !5
  %7473 = load i32, ptr %775, align 4, !tbaa !5
  %7474 = call ptr @s2n_strerror(i32 noundef %7473, ptr noundef nonnull @.str.4) #11
  %7475 = load i32, ptr %775, align 4, !tbaa !5
  %7476 = call ptr @s2n_strerror_debug(i32 noundef %7475, ptr noundef nonnull @.str.4) #11
  %7477 = load i32, ptr %829, align 4, !tbaa !5
  %7478 = call ptr @strerror(i32 noundef %7477) #11
  %7479 = load i32, ptr %829, align 4, !tbaa !5
  %7480 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7471, ptr noundef nonnull %.str.5.sink3519, i32 noundef %7472, ptr noundef nonnull @.str.87, ptr noundef nonnull @.str.1, i32 noundef 778, ptr noundef %7474, ptr noundef %7476, ptr noundef %7478, i32 noundef %7479) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7481:                                             ; preds = %7454
  %7482 = load i32, ptr @test_count, align 4, !tbaa !5
  %7483 = add nsw i32 %7482, 1
  store i32 %7483, ptr @test_count, align 4, !tbaa !5
  %7484 = load ptr, ptr %136, align 8, !tbaa !9
  %7485 = call i32 @s2n_connection_set_io_pair(ptr noundef %7484, ptr noundef nonnull %137) #11
  %7486 = icmp eq i32 %7485, -1
  br i1 %7486, label %7487, label %7509

7487:                                             ; preds = %7481
  %7488 = load i32, ptr %829, align 4, !tbaa !5
  %7489 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7490 = call i32 @s2n_print_stacktrace(ptr noundef %7489) #11
  %7491 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7492 = trunc nuw i8 %7491 to i1
  br i1 %7492, label %7493, label %7497

7493:                                             ; preds = %7487
  %7494 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7495 = call i32 @fileno(ptr noundef %7494) #11
  %7496 = call i32 @isatty(i32 noundef %7495) #11
  %.not926 = icmp eq i32 %7496, 0
  br i1 %.not926, label %7497, label %7498

7497:                                             ; preds = %7493, %7487
  br label %7498

7498:                                             ; preds = %7493, %7497
  %.str.5.sink3528 = phi ptr [ @.str.5, %7497 ], [ @.str.2, %7493 ]
  store i32 %7488, ptr %829, align 4, !tbaa !5
  %7499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7500 = load i32, ptr @test_count, align 4, !tbaa !5
  %7501 = load i32, ptr %775, align 4, !tbaa !5
  %7502 = call ptr @s2n_strerror(i32 noundef %7501, ptr noundef nonnull @.str.4) #11
  %7503 = load i32, ptr %775, align 4, !tbaa !5
  %7504 = call ptr @s2n_strerror_debug(i32 noundef %7503, ptr noundef nonnull @.str.4) #11
  %7505 = load i32, ptr %829, align 4, !tbaa !5
  %7506 = call ptr @strerror(i32 noundef %7505) #11
  %7507 = load i32, ptr %829, align 4, !tbaa !5
  %7508 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7499, ptr noundef nonnull %.str.5.sink3528, i32 noundef %7500, ptr noundef nonnull @.str.88, ptr noundef nonnull @.str.1, i32 noundef 779, ptr noundef %7502, ptr noundef %7504, ptr noundef %7506, i32 noundef %7507) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7509:                                             ; preds = %7481
  %7510 = load i32, ptr @test_count, align 4, !tbaa !5
  %7511 = add nsw i32 %7510, 1
  store i32 %7511, ptr @test_count, align 4, !tbaa !5
  %7512 = load ptr, ptr %135, align 8, !tbaa !9
  %7513 = call i32 @s2n_connection_set_io_pair(ptr noundef %7512, ptr noundef nonnull %137) #11
  %7514 = icmp eq i32 %7513, -1
  br i1 %7514, label %7515, label %7537

7515:                                             ; preds = %7509
  %7516 = load i32, ptr %829, align 4, !tbaa !5
  %7517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7518 = call i32 @s2n_print_stacktrace(ptr noundef %7517) #11
  %7519 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7520 = trunc nuw i8 %7519 to i1
  br i1 %7520, label %7521, label %7525

7521:                                             ; preds = %7515
  %7522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7523 = call i32 @fileno(ptr noundef %7522) #11
  %7524 = call i32 @isatty(i32 noundef %7523) #11
  %.not925 = icmp eq i32 %7524, 0
  br i1 %.not925, label %7525, label %7526

7525:                                             ; preds = %7521, %7515
  br label %7526

7526:                                             ; preds = %7521, %7525
  %.str.5.sink3537 = phi ptr [ @.str.5, %7525 ], [ @.str.2, %7521 ]
  store i32 %7516, ptr %829, align 4, !tbaa !5
  %7527 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7528 = load i32, ptr @test_count, align 4, !tbaa !5
  %7529 = load i32, ptr %775, align 4, !tbaa !5
  %7530 = call ptr @s2n_strerror(i32 noundef %7529, ptr noundef nonnull @.str.4) #11
  %7531 = load i32, ptr %775, align 4, !tbaa !5
  %7532 = call ptr @s2n_strerror_debug(i32 noundef %7531, ptr noundef nonnull @.str.4) #11
  %7533 = load i32, ptr %829, align 4, !tbaa !5
  %7534 = call ptr @strerror(i32 noundef %7533) #11
  %7535 = load i32, ptr %829, align 4, !tbaa !5
  %7536 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7527, ptr noundef nonnull %.str.5.sink3537, i32 noundef %7528, ptr noundef nonnull @.str.89, ptr noundef nonnull @.str.1, i32 noundef 780, ptr noundef %7530, ptr noundef %7532, ptr noundef %7534, i32 noundef %7535) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7537:                                             ; preds = %7509
  %7538 = load i32, ptr @test_count, align 4, !tbaa !5
  %7539 = add nsw i32 %7538, 1
  store i32 %7539, ptr @test_count, align 4, !tbaa !5
  %7540 = load ptr, ptr %135, align 8, !tbaa !9
  %7541 = load ptr, ptr %136, align 8, !tbaa !9
  %7542 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %7540, ptr noundef %7541) #11
  %7543 = icmp eq i32 %7542, -1
  br i1 %7543, label %7544, label %7566

7544:                                             ; preds = %7537
  %7545 = load i32, ptr %829, align 4, !tbaa !5
  %7546 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7547 = call i32 @s2n_print_stacktrace(ptr noundef %7546) #11
  %7548 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7549 = trunc nuw i8 %7548 to i1
  br i1 %7549, label %7550, label %7554

7550:                                             ; preds = %7544
  %7551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7552 = call i32 @fileno(ptr noundef %7551) #11
  %7553 = call i32 @isatty(i32 noundef %7552) #11
  %.not924 = icmp eq i32 %7553, 0
  br i1 %.not924, label %7554, label %7555

7554:                                             ; preds = %7550, %7544
  br label %7555

7555:                                             ; preds = %7550, %7554
  %.str.5.sink3546 = phi ptr [ @.str.5, %7554 ], [ @.str.2, %7550 ]
  store i32 %7545, ptr %829, align 4, !tbaa !5
  %7556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7557 = load i32, ptr @test_count, align 4, !tbaa !5
  %7558 = load i32, ptr %775, align 4, !tbaa !5
  %7559 = call ptr @s2n_strerror(i32 noundef %7558, ptr noundef nonnull @.str.4) #11
  %7560 = load i32, ptr %775, align 4, !tbaa !5
  %7561 = call ptr @s2n_strerror_debug(i32 noundef %7560, ptr noundef nonnull @.str.4) #11
  %7562 = load i32, ptr %829, align 4, !tbaa !5
  %7563 = call ptr @strerror(i32 noundef %7562) #11
  %7564 = load i32, ptr %829, align 4, !tbaa !5
  %7565 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7556, ptr noundef nonnull %.str.5.sink3546, i32 noundef %7557, ptr noundef nonnull @.str.90, ptr noundef nonnull @.str.1, i32 noundef 782, ptr noundef %7559, ptr noundef %7561, ptr noundef %7563, i32 noundef %7564) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7566:                                             ; preds = %7537
  %7567 = load i32, ptr @test_count, align 4, !tbaa !5
  %7568 = add nsw i32 %7567, 1
  store i32 %7568, ptr @test_count, align 4, !tbaa !5
  %7569 = getelementptr inbounds i8, ptr %134, i64 80
  %7570 = load i8, ptr %7569, align 8, !tbaa !27
  %7571 = icmp eq i8 %7570, 2
  br i1 %7571, label %7594, label %7572

7572:                                             ; preds = %7566
  %7573 = load i32, ptr %829, align 4, !tbaa !5
  %7574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7575 = call i32 @s2n_print_stacktrace(ptr noundef %7574) #11
  %7576 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7577 = trunc nuw i8 %7576 to i1
  br i1 %7577, label %7578, label %7582

7578:                                             ; preds = %7572
  %7579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7580 = call i32 @fileno(ptr noundef %7579) #11
  %7581 = call i32 @isatty(i32 noundef %7580) #11
  %.not852 = icmp eq i32 %7581, 0
  br i1 %.not852, label %7582, label %7583

7582:                                             ; preds = %7578, %7572
  br label %7583

7583:                                             ; preds = %7578, %7582
  %.str.5.sink3555 = phi ptr [ @.str.5, %7582 ], [ @.str.2, %7578 ]
  store i32 %7573, ptr %829, align 4, !tbaa !5
  %7584 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7585 = load i32, ptr @test_count, align 4, !tbaa !5
  %7586 = load i32, ptr %775, align 4, !tbaa !5
  %7587 = call ptr @s2n_strerror(i32 noundef %7586, ptr noundef nonnull @.str.4) #11
  %7588 = load i32, ptr %775, align 4, !tbaa !5
  %7589 = call ptr @s2n_strerror_debug(i32 noundef %7588, ptr noundef nonnull @.str.4) #11
  %7590 = load i32, ptr %829, align 4, !tbaa !5
  %7591 = call ptr @strerror(i32 noundef %7590) #11
  %7592 = load i32, ptr %829, align 4, !tbaa !5
  %7593 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7584, ptr noundef nonnull %.str.5.sink3555, i32 noundef %7585, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.1, i32 noundef 784, ptr noundef %7587, ptr noundef %7589, ptr noundef %7591, i32 noundef %7592) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7594:                                             ; preds = %7566
  %7595 = call i32 @s2n_io_pair_close(ptr noundef nonnull %137) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %137) #11
  %7596 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %136) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %136) #11
  %7597 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %135) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %135) #11
  call void @llvm.lifetime.end.p0(i64 88, ptr nonnull %134) #11
  %7598 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %133) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %133) #11
  %7599 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef nonnull %132) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %132) #11
  %7600 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %131) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %131) #11
  %7601 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef nonnull %130) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %130) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %138) #11
  store ptr null, ptr %138, align 8, !tbaa !9
  %7602 = load i32, ptr @test_count, align 4, !tbaa !5
  %7603 = add nsw i32 %7602, 1
  store i32 %7603, ptr @test_count, align 4, !tbaa !5
  %7604 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef nonnull %138, ptr noundef nonnull @.str.96, ptr noundef nonnull @.str.97) #11
  %7605 = icmp eq i32 %7604, -1
  br i1 %7605, label %7606, label %7628

7606:                                             ; preds = %7594
  %7607 = load i32, ptr %829, align 4, !tbaa !5
  %7608 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7609 = call i32 @s2n_print_stacktrace(ptr noundef %7608) #11
  %7610 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7611 = trunc nuw i8 %7610 to i1
  br i1 %7611, label %7612, label %7616

7612:                                             ; preds = %7606
  %7613 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7614 = call i32 @fileno(ptr noundef %7613) #11
  %7615 = call i32 @isatty(i32 noundef %7614) #11
  %.not923 = icmp eq i32 %7615, 0
  br i1 %.not923, label %7616, label %7617

7616:                                             ; preds = %7612, %7606
  br label %7617

7617:                                             ; preds = %7612, %7616
  %.str.5.sink3564 = phi ptr [ @.str.5, %7616 ], [ @.str.2, %7612 ]
  store i32 %7607, ptr %829, align 4, !tbaa !5
  %7618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7619 = load i32, ptr @test_count, align 4, !tbaa !5
  %7620 = load i32, ptr %775, align 4, !tbaa !5
  %7621 = call ptr @s2n_strerror(i32 noundef %7620, ptr noundef nonnull @.str.4) #11
  %7622 = load i32, ptr %775, align 4, !tbaa !5
  %7623 = call ptr @s2n_strerror_debug(i32 noundef %7622, ptr noundef nonnull @.str.4) #11
  %7624 = load i32, ptr %829, align 4, !tbaa !5
  %7625 = call ptr @strerror(i32 noundef %7624) #11
  %7626 = load i32, ptr %829, align 4, !tbaa !5
  %7627 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7618, ptr noundef nonnull %.str.5.sink3564, i32 noundef %7619, ptr noundef nonnull @.str.98, ptr noundef nonnull @.str.1, i32 noundef 791, ptr noundef %7621, ptr noundef %7623, ptr noundef %7625, i32 noundef %7626) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7628:                                             ; preds = %7594
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %139) #11
  %7629 = call ptr @s2n_config_new() #11
  store ptr %7629, ptr %139, align 8, !tbaa !9
  %7630 = load i32, ptr @test_count, align 4, !tbaa !5
  %7631 = add nsw i32 %7630, 1
  store i32 %7631, ptr @test_count, align 4, !tbaa !5
  %7632 = icmp eq ptr %7629, null
  br i1 %7632, label %7633, label %7655

7633:                                             ; preds = %7628
  %7634 = load i32, ptr %829, align 4, !tbaa !5
  %7635 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7636 = call i32 @s2n_print_stacktrace(ptr noundef %7635) #11
  %7637 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7638 = trunc nuw i8 %7637 to i1
  br i1 %7638, label %7639, label %7643

7639:                                             ; preds = %7633
  %7640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7641 = call i32 @fileno(ptr noundef %7640) #11
  %7642 = call i32 @isatty(i32 noundef %7641) #11
  %.not922 = icmp eq i32 %7642, 0
  br i1 %.not922, label %7643, label %7644

7643:                                             ; preds = %7639, %7633
  br label %7644

7644:                                             ; preds = %7639, %7643
  %.str.5.sink3573 = phi ptr [ @.str.5, %7643 ], [ @.str.2, %7639 ]
  store i32 %7634, ptr %829, align 4, !tbaa !5
  %7645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7646 = load i32, ptr @test_count, align 4, !tbaa !5
  %7647 = load i32, ptr %775, align 4, !tbaa !5
  %7648 = call ptr @s2n_strerror(i32 noundef %7647, ptr noundef nonnull @.str.4) #11
  %7649 = load i32, ptr %775, align 4, !tbaa !5
  %7650 = call ptr @s2n_strerror_debug(i32 noundef %7649, ptr noundef nonnull @.str.4) #11
  %7651 = load i32, ptr %829, align 4, !tbaa !5
  %7652 = call ptr @strerror(i32 noundef %7651) #11
  %7653 = load i32, ptr %829, align 4, !tbaa !5
  %7654 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7645, ptr noundef nonnull %.str.5.sink3573, i32 noundef %7646, ptr noundef nonnull @.str.99, ptr noundef nonnull @.str.1, i32 noundef 794, ptr noundef %7648, ptr noundef %7650, ptr noundef %7652, i32 noundef %7653) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7655:                                             ; preds = %7628
  %7656 = add nsw i32 %7630, 2
  store i32 %7656, ptr @test_count, align 4, !tbaa !5
  %7657 = load ptr, ptr %138, align 8, !tbaa !9
  %7658 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef nonnull %7629, ptr noundef %7657) #11
  %7659 = icmp eq i32 %7658, -1
  br i1 %7659, label %7660, label %7682

7660:                                             ; preds = %7655
  %7661 = load i32, ptr %829, align 4, !tbaa !5
  %7662 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7663 = call i32 @s2n_print_stacktrace(ptr noundef %7662) #11
  %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) #11
  %7669 = call i32 @isatty(i32 noundef %7668) #11
  %.not921 = icmp eq i32 %7669, 0
  br i1 %.not921, label %7670, label %7671

7670:                                             ; preds = %7666, %7660
  br label %7671

7671:                                             ; preds = %7666, %7670
  %.str.5.sink3582 = phi ptr [ @.str.5, %7670 ], [ @.str.2, %7666 ]
  store i32 %7661, ptr %829, 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 %775, align 4, !tbaa !5
  %7675 = call ptr @s2n_strerror(i32 noundef %7674, ptr noundef nonnull @.str.4) #11
  %7676 = load i32, ptr %775, align 4, !tbaa !5
  %7677 = call ptr @s2n_strerror_debug(i32 noundef %7676, ptr noundef nonnull @.str.4) #11
  %7678 = load i32, ptr %829, align 4, !tbaa !5
  %7679 = call ptr @strerror(i32 noundef %7678) #11
  %7680 = load i32, ptr %829, align 4, !tbaa !5
  %7681 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7672, ptr noundef nonnull %.str.5.sink3582, i32 noundef %7673, ptr noundef nonnull @.str.100, ptr noundef nonnull @.str.1, i32 noundef 795, ptr noundef %7675, ptr noundef %7677, ptr noundef %7679, i32 noundef %7680) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7682:                                             ; preds = %7655
  %7683 = load i32, ptr @test_count, align 4, !tbaa !5
  %7684 = add nsw i32 %7683, 1
  store i32 %7684, ptr @test_count, align 4, !tbaa !5
  %7685 = load ptr, ptr %139, align 8, !tbaa !9
  %7686 = call i32 @s2n_config_set_verification_ca_location(ptr noundef %7685, ptr noundef nonnull @.str.31, ptr noundef null) #11
  %7687 = icmp eq i32 %7686, -1
  br i1 %7687, label %7688, label %7710

7688:                                             ; preds = %7682
  %7689 = load i32, ptr %829, align 4, !tbaa !5
  %7690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7691 = call i32 @s2n_print_stacktrace(ptr noundef %7690) #11
  %7692 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7693 = trunc nuw i8 %7692 to i1
  br i1 %7693, label %7694, label %7698

7694:                                             ; preds = %7688
  %7695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7696 = call i32 @fileno(ptr noundef %7695) #11
  %7697 = call i32 @isatty(i32 noundef %7696) #11
  %.not920 = icmp eq i32 %7697, 0
  br i1 %.not920, label %7698, label %7699

7698:                                             ; preds = %7694, %7688
  br label %7699

7699:                                             ; preds = %7694, %7698
  %.str.5.sink3591 = phi ptr [ @.str.5, %7698 ], [ @.str.2, %7694 ]
  store i32 %7689, ptr %829, align 4, !tbaa !5
  %7700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7701 = load i32, ptr @test_count, align 4, !tbaa !5
  %7702 = load i32, ptr %775, align 4, !tbaa !5
  %7703 = call ptr @s2n_strerror(i32 noundef %7702, ptr noundef nonnull @.str.4) #11
  %7704 = load i32, ptr %775, align 4, !tbaa !5
  %7705 = call ptr @s2n_strerror_debug(i32 noundef %7704, ptr noundef nonnull @.str.4) #11
  %7706 = load i32, ptr %829, align 4, !tbaa !5
  %7707 = call ptr @strerror(i32 noundef %7706) #11
  %7708 = load i32, ptr %829, align 4, !tbaa !5
  %7709 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7700, ptr noundef nonnull %.str.5.sink3591, i32 noundef %7701, ptr noundef nonnull @.str.101, ptr noundef nonnull @.str.1, i32 noundef 796, ptr noundef %7703, ptr noundef %7705, ptr noundef %7707, i32 noundef %7708) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7710:                                             ; preds = %7682
  %7711 = load i32, ptr @test_count, align 4, !tbaa !5
  %7712 = add nsw i32 %7711, 1
  store i32 %7712, ptr @test_count, align 4, !tbaa !5
  %7713 = load ptr, ptr %139, align 8, !tbaa !9
  %7714 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %7713, ptr noundef nonnull @.str.80) #11
  %7715 = icmp eq i32 %7714, -1
  br i1 %7715, label %7716, label %7738

7716:                                             ; preds = %7710
  %7717 = load i32, ptr %829, align 4, !tbaa !5
  %7718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7719 = call i32 @s2n_print_stacktrace(ptr noundef %7718) #11
  %7720 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7721 = trunc nuw i8 %7720 to i1
  br i1 %7721, label %7722, label %7726

7722:                                             ; preds = %7716
  %7723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7724 = call i32 @fileno(ptr noundef %7723) #11
  %7725 = call i32 @isatty(i32 noundef %7724) #11
  %.not919 = icmp eq i32 %7725, 0
  br i1 %.not919, label %7726, label %7727

7726:                                             ; preds = %7722, %7716
  br label %7727

7727:                                             ; preds = %7722, %7726
  %.str.5.sink3600 = phi ptr [ @.str.5, %7726 ], [ @.str.2, %7722 ]
  store i32 %7717, ptr %829, align 4, !tbaa !5
  %7728 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7729 = load i32, ptr @test_count, align 4, !tbaa !5
  %7730 = load i32, ptr %775, align 4, !tbaa !5
  %7731 = call ptr @s2n_strerror(i32 noundef %7730, ptr noundef nonnull @.str.4) #11
  %7732 = load i32, ptr %775, align 4, !tbaa !5
  %7733 = call ptr @s2n_strerror_debug(i32 noundef %7732, ptr noundef nonnull @.str.4) #11
  %7734 = load i32, ptr %829, align 4, !tbaa !5
  %7735 = call ptr @strerror(i32 noundef %7734) #11
  %7736 = load i32, ptr %829, align 4, !tbaa !5
  %7737 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7728, ptr noundef nonnull %.str.5.sink3600, i32 noundef %7729, ptr noundef nonnull @.str.102, ptr noundef nonnull @.str.1, i32 noundef 797, ptr noundef %7731, ptr noundef %7733, ptr noundef %7735, i32 noundef %7736) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7738:                                             ; preds = %7710
  %7739 = load i32, ptr @test_count, align 4, !tbaa !5
  %7740 = add nsw i32 %7739, 1
  store i32 %7740, ptr @test_count, align 4, !tbaa !5
  %7741 = load ptr, ptr %139, align 8, !tbaa !9
  %7742 = call i32 @s2n_config_set_client_auth_type(ptr noundef %7741, i32 noundef 1) #11
  %7743 = icmp eq i32 %7742, -1
  br i1 %7743, label %7744, label %7766

7744:                                             ; preds = %7738
  %7745 = load i32, ptr %829, align 4, !tbaa !5
  %7746 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7747 = call i32 @s2n_print_stacktrace(ptr noundef %7746) #11
  %7748 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7749 = trunc nuw i8 %7748 to i1
  br i1 %7749, label %7750, label %7754

7750:                                             ; preds = %7744
  %7751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7752 = call i32 @fileno(ptr noundef %7751) #11
  %7753 = call i32 @isatty(i32 noundef %7752) #11
  %.not918 = icmp eq i32 %7753, 0
  br i1 %.not918, label %7754, label %7755

7754:                                             ; preds = %7750, %7744
  br label %7755

7755:                                             ; preds = %7750, %7754
  %.str.5.sink3609 = phi ptr [ @.str.5, %7754 ], [ @.str.2, %7750 ]
  store i32 %7745, ptr %829, align 4, !tbaa !5
  %7756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7757 = load i32, ptr @test_count, align 4, !tbaa !5
  %7758 = load i32, ptr %775, align 4, !tbaa !5
  %7759 = call ptr @s2n_strerror(i32 noundef %7758, ptr noundef nonnull @.str.4) #11
  %7760 = load i32, ptr %775, align 4, !tbaa !5
  %7761 = call ptr @s2n_strerror_debug(i32 noundef %7760, ptr noundef nonnull @.str.4) #11
  %7762 = load i32, ptr %829, align 4, !tbaa !5
  %7763 = call ptr @strerror(i32 noundef %7762) #11
  %7764 = load i32, ptr %829, align 4, !tbaa !5
  %7765 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7756, ptr noundef nonnull %.str.5.sink3609, i32 noundef %7757, ptr noundef nonnull @.str.103, ptr noundef nonnull @.str.1, i32 noundef 798, ptr noundef %7759, ptr noundef %7761, ptr noundef %7763, i32 noundef %7764) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7766:                                             ; preds = %7738
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %140) #11
  store ptr null, ptr %140, align 8, !tbaa !9
  %7767 = load i32, ptr @test_count, align 4, !tbaa !5
  %7768 = add nsw i32 %7767, 1
  store i32 %7768, ptr @test_count, align 4, !tbaa !5
  %7769 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef nonnull %140, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.91) #11
  %7770 = icmp eq i32 %7769, -1
  br i1 %7770, label %7771, label %7793

7771:                                             ; preds = %7766
  %7772 = load i32, ptr %829, align 4, !tbaa !5
  %7773 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7774 = call i32 @s2n_print_stacktrace(ptr noundef %7773) #11
  %7775 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7776 = trunc nuw i8 %7775 to i1
  br i1 %7776, label %7777, label %7781

7777:                                             ; preds = %7771
  %7778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7779 = call i32 @fileno(ptr noundef %7778) #11
  %7780 = call i32 @isatty(i32 noundef %7779) #11
  %.not917 = icmp eq i32 %7780, 0
  br i1 %.not917, label %7781, label %7782

7781:                                             ; preds = %7777, %7771
  br label %7782

7782:                                             ; preds = %7777, %7781
  %.str.5.sink3618 = phi ptr [ @.str.5, %7781 ], [ @.str.2, %7777 ]
  store i32 %7772, ptr %829, align 4, !tbaa !5
  %7783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7784 = load i32, ptr @test_count, align 4, !tbaa !5
  %7785 = load i32, ptr %775, align 4, !tbaa !5
  %7786 = call ptr @s2n_strerror(i32 noundef %7785, ptr noundef nonnull @.str.4) #11
  %7787 = load i32, ptr %775, align 4, !tbaa !5
  %7788 = call ptr @s2n_strerror_debug(i32 noundef %7787, ptr noundef nonnull @.str.4) #11
  %7789 = load i32, ptr %829, align 4, !tbaa !5
  %7790 = call ptr @strerror(i32 noundef %7789) #11
  %7791 = load i32, ptr %829, align 4, !tbaa !5
  %7792 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7783, ptr noundef nonnull %.str.5.sink3618, i32 noundef %7784, ptr noundef nonnull @.str.114, ptr noundef nonnull @.str.1, i32 noundef 802, ptr noundef %7786, ptr noundef %7788, ptr noundef %7790, i32 noundef %7791) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7793:                                             ; preds = %7766
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %141) #11
  %7794 = call ptr @s2n_config_new() #11
  store ptr %7794, ptr %141, align 8, !tbaa !9
  %7795 = load i32, ptr @test_count, align 4, !tbaa !5
  %7796 = add nsw i32 %7795, 1
  store i32 %7796, ptr @test_count, align 4, !tbaa !5
  %7797 = icmp eq ptr %7794, null
  br i1 %7797, label %7798, label %7820

7798:                                             ; preds = %7793
  %7799 = load i32, ptr %829, align 4, !tbaa !5
  %7800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7801 = call i32 @s2n_print_stacktrace(ptr noundef %7800) #11
  %7802 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7803 = trunc nuw i8 %7802 to i1
  br i1 %7803, label %7804, label %7808

7804:                                             ; preds = %7798
  %7805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7806 = call i32 @fileno(ptr noundef %7805) #11
  %7807 = call i32 @isatty(i32 noundef %7806) #11
  %.not916 = icmp eq i32 %7807, 0
  br i1 %.not916, label %7808, label %7809

7808:                                             ; preds = %7804, %7798
  br label %7809

7809:                                             ; preds = %7804, %7808
  %.str.5.sink3627 = phi ptr [ @.str.5, %7808 ], [ @.str.2, %7804 ]
  store i32 %7799, ptr %829, align 4, !tbaa !5
  %7810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7811 = load i32, ptr @test_count, align 4, !tbaa !5
  %7812 = load i32, ptr %775, align 4, !tbaa !5
  %7813 = call ptr @s2n_strerror(i32 noundef %7812, ptr noundef nonnull @.str.4) #11
  %7814 = load i32, ptr %775, align 4, !tbaa !5
  %7815 = call ptr @s2n_strerror_debug(i32 noundef %7814, ptr noundef nonnull @.str.4) #11
  %7816 = load i32, ptr %829, align 4, !tbaa !5
  %7817 = call ptr @strerror(i32 noundef %7816) #11
  %7818 = load i32, ptr %829, align 4, !tbaa !5
  %7819 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7810, ptr noundef nonnull %.str.5.sink3627, i32 noundef %7811, ptr noundef nonnull @.str.105, ptr noundef nonnull @.str.1, i32 noundef 805, ptr noundef %7813, ptr noundef %7815, ptr noundef %7817, i32 noundef %7818) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7820:                                             ; preds = %7793
  %7821 = add nsw i32 %7795, 2
  store i32 %7821, ptr @test_count, align 4, !tbaa !5
  %7822 = load ptr, ptr %140, align 8, !tbaa !9
  %7823 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef nonnull %7794, ptr noundef %7822) #11
  %7824 = icmp eq i32 %7823, -1
  br i1 %7824, label %7825, label %7847

7825:                                             ; preds = %7820
  %7826 = load i32, ptr %829, align 4, !tbaa !5
  %7827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7828 = call i32 @s2n_print_stacktrace(ptr noundef %7827) #11
  %7829 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7830 = trunc nuw i8 %7829 to i1
  br i1 %7830, label %7831, label %7835

7831:                                             ; preds = %7825
  %7832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7833 = call i32 @fileno(ptr noundef %7832) #11
  %7834 = call i32 @isatty(i32 noundef %7833) #11
  %.not915 = icmp eq i32 %7834, 0
  br i1 %.not915, label %7835, label %7836

7835:                                             ; preds = %7831, %7825
  br label %7836

7836:                                             ; preds = %7831, %7835
  %.str.5.sink3636 = phi ptr [ @.str.5, %7835 ], [ @.str.2, %7831 ]
  store i32 %7826, ptr %829, align 4, !tbaa !5
  %7837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7838 = load i32, ptr @test_count, align 4, !tbaa !5
  %7839 = load i32, ptr %775, align 4, !tbaa !5
  %7840 = call ptr @s2n_strerror(i32 noundef %7839, ptr noundef nonnull @.str.4) #11
  %7841 = load i32, ptr %775, align 4, !tbaa !5
  %7842 = call ptr @s2n_strerror_debug(i32 noundef %7841, ptr noundef nonnull @.str.4) #11
  %7843 = load i32, ptr %829, align 4, !tbaa !5
  %7844 = call ptr @strerror(i32 noundef %7843) #11
  %7845 = load i32, ptr %829, align 4, !tbaa !5
  %7846 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7837, ptr noundef nonnull %.str.5.sink3636, i32 noundef %7838, ptr noundef nonnull @.str.106, ptr noundef nonnull @.str.1, i32 noundef 806, ptr noundef %7840, ptr noundef %7842, ptr noundef %7844, i32 noundef %7845) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7847:                                             ; preds = %7820
  %7848 = load i32, ptr @test_count, align 4, !tbaa !5
  %7849 = add nsw i32 %7848, 1
  store i32 %7849, ptr @test_count, align 4, !tbaa !5
  %7850 = load ptr, ptr %141, align 8, !tbaa !9
  %7851 = call i32 @s2n_config_set_verification_ca_location(ptr noundef %7850, ptr noundef nonnull @.str.96, ptr noundef null) #11
  %7852 = icmp eq i32 %7851, -1
  br i1 %7852, label %7853, label %7875

7853:                                             ; preds = %7847
  %7854 = load i32, ptr %829, align 4, !tbaa !5
  %7855 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7856 = call i32 @s2n_print_stacktrace(ptr noundef %7855) #11
  %7857 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7858 = trunc nuw i8 %7857 to i1
  br i1 %7858, label %7859, label %7863

7859:                                             ; preds = %7853
  %7860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7861 = call i32 @fileno(ptr noundef %7860) #11
  %7862 = call i32 @isatty(i32 noundef %7861) #11
  %.not914 = icmp eq i32 %7862, 0
  br i1 %.not914, label %7863, label %7864

7863:                                             ; preds = %7859, %7853
  br label %7864

7864:                                             ; preds = %7859, %7863
  %.str.5.sink3645 = phi ptr [ @.str.5, %7863 ], [ @.str.2, %7859 ]
  store i32 %7854, ptr %829, align 4, !tbaa !5
  %7865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7866 = load i32, ptr @test_count, align 4, !tbaa !5
  %7867 = load i32, ptr %775, align 4, !tbaa !5
  %7868 = call ptr @s2n_strerror(i32 noundef %7867, ptr noundef nonnull @.str.4) #11
  %7869 = load i32, ptr %775, align 4, !tbaa !5
  %7870 = call ptr @s2n_strerror_debug(i32 noundef %7869, ptr noundef nonnull @.str.4) #11
  %7871 = load i32, ptr %829, align 4, !tbaa !5
  %7872 = call ptr @strerror(i32 noundef %7871) #11
  %7873 = load i32, ptr %829, align 4, !tbaa !5
  %7874 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7865, ptr noundef nonnull %.str.5.sink3645, i32 noundef %7866, ptr noundef nonnull @.str.107, ptr noundef nonnull @.str.1, i32 noundef 807, ptr noundef %7868, ptr noundef %7870, ptr noundef %7872, i32 noundef %7873) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7875:                                             ; preds = %7847
  %7876 = load i32, ptr @test_count, align 4, !tbaa !5
  %7877 = add nsw i32 %7876, 1
  store i32 %7877, ptr @test_count, align 4, !tbaa !5
  %7878 = load ptr, ptr %141, align 8, !tbaa !9
  %7879 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %7878, ptr noundef nonnull @.str.80) #11
  %7880 = icmp eq i32 %7879, -1
  br i1 %7880, label %7881, label %7903

7881:                                             ; preds = %7875
  %7882 = load i32, ptr %829, align 4, !tbaa !5
  %7883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7884 = call i32 @s2n_print_stacktrace(ptr noundef %7883) #11
  %7885 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7886 = trunc nuw i8 %7885 to i1
  br i1 %7886, label %7887, label %7891

7887:                                             ; preds = %7881
  %7888 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7889 = call i32 @fileno(ptr noundef %7888) #11
  %7890 = call i32 @isatty(i32 noundef %7889) #11
  %.not913 = icmp eq i32 %7890, 0
  br i1 %.not913, label %7891, label %7892

7891:                                             ; preds = %7887, %7881
  br label %7892

7892:                                             ; preds = %7887, %7891
  %.str.5.sink3654 = phi ptr [ @.str.5, %7891 ], [ @.str.2, %7887 ]
  store i32 %7882, ptr %829, align 4, !tbaa !5
  %7893 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7894 = load i32, ptr @test_count, align 4, !tbaa !5
  %7895 = load i32, ptr %775, align 4, !tbaa !5
  %7896 = call ptr @s2n_strerror(i32 noundef %7895, ptr noundef nonnull @.str.4) #11
  %7897 = load i32, ptr %775, align 4, !tbaa !5
  %7898 = call ptr @s2n_strerror_debug(i32 noundef %7897, ptr noundef nonnull @.str.4) #11
  %7899 = load i32, ptr %829, align 4, !tbaa !5
  %7900 = call ptr @strerror(i32 noundef %7899) #11
  %7901 = load i32, ptr %829, align 4, !tbaa !5
  %7902 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7893, ptr noundef nonnull %.str.5.sink3654, i32 noundef %7894, ptr noundef nonnull @.str.108, ptr noundef nonnull @.str.1, i32 noundef 808, ptr noundef %7896, ptr noundef %7898, ptr noundef %7900, i32 noundef %7901) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7903:                                             ; preds = %7875
  %7904 = load i32, ptr @test_count, align 4, !tbaa !5
  %7905 = add nsw i32 %7904, 1
  store i32 %7905, ptr @test_count, align 4, !tbaa !5
  %7906 = load ptr, ptr %141, align 8, !tbaa !9
  %7907 = call i32 @s2n_config_set_client_auth_type(ptr noundef %7906, i32 noundef 1) #11
  %7908 = icmp eq i32 %7907, -1
  br i1 %7908, label %7909, label %7931

7909:                                             ; preds = %7903
  %7910 = load i32, ptr %829, align 4, !tbaa !5
  %7911 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7912 = call i32 @s2n_print_stacktrace(ptr noundef %7911) #11
  %7913 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7914 = trunc nuw i8 %7913 to i1
  br i1 %7914, label %7915, label %7919

7915:                                             ; preds = %7909
  %7916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7917 = call i32 @fileno(ptr noundef %7916) #11
  %7918 = call i32 @isatty(i32 noundef %7917) #11
  %.not912 = icmp eq i32 %7918, 0
  br i1 %.not912, label %7919, label %7920

7919:                                             ; preds = %7915, %7909
  br label %7920

7920:                                             ; preds = %7915, %7919
  %.str.5.sink3663 = phi ptr [ @.str.5, %7919 ], [ @.str.2, %7915 ]
  store i32 %7910, ptr %829, align 4, !tbaa !5
  %7921 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7922 = load i32, ptr @test_count, align 4, !tbaa !5
  %7923 = load i32, ptr %775, align 4, !tbaa !5
  %7924 = call ptr @s2n_strerror(i32 noundef %7923, ptr noundef nonnull @.str.4) #11
  %7925 = load i32, ptr %775, align 4, !tbaa !5
  %7926 = call ptr @s2n_strerror_debug(i32 noundef %7925, ptr noundef nonnull @.str.4) #11
  %7927 = load i32, ptr %829, align 4, !tbaa !5
  %7928 = call ptr @strerror(i32 noundef %7927) #11
  %7929 = load i32, ptr %829, align 4, !tbaa !5
  %7930 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7921, ptr noundef nonnull %.str.5.sink3663, i32 noundef %7922, ptr noundef nonnull @.str.109, ptr noundef nonnull @.str.1, i32 noundef 809, ptr noundef %7924, ptr noundef %7926, ptr noundef %7928, i32 noundef %7929) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7931:                                             ; preds = %7903
  call void @llvm.lifetime.start.p0(i64 88, ptr nonnull %142) #11
  %7932 = getelementptr inbounds i8, ptr %142, i64 16
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(88) %7932, i8 0, i64 72, i1 false)
  store ptr %6454, ptr %142, align 8, !tbaa !9
  %7933 = getelementptr inbounds i8, ptr %142, i64 8
  store ptr %6455, ptr %7933, align 8, !tbaa !9
  %7934 = load i32, ptr @test_count, align 4, !tbaa !5
  %7935 = add nsw i32 %7934, 1
  store i32 %7935, ptr @test_count, align 4, !tbaa !5
  %7936 = load ptr, ptr %139, align 8, !tbaa !9
  %7937 = call i32 @s2n_config_set_crl_lookup_cb(ptr noundef %7936, ptr noundef nonnull @crl_lookup_test_callback, ptr noundef nonnull %142) #11
  %7938 = icmp eq i32 %7937, -1
  br i1 %7938, label %7939, label %7961

7939:                                             ; preds = %7931
  %7940 = load i32, ptr %829, align 4, !tbaa !5
  %7941 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7942 = call i32 @s2n_print_stacktrace(ptr noundef %7941) #11
  %7943 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7944 = trunc nuw i8 %7943 to i1
  br i1 %7944, label %7945, label %7949

7945:                                             ; preds = %7939
  %7946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7947 = call i32 @fileno(ptr noundef %7946) #11
  %7948 = call i32 @isatty(i32 noundef %7947) #11
  %.not911 = icmp eq i32 %7948, 0
  br i1 %.not911, label %7949, label %7950

7949:                                             ; preds = %7945, %7939
  br label %7950

7950:                                             ; preds = %7945, %7949
  %.str.5.sink3672 = phi ptr [ @.str.5, %7949 ], [ @.str.2, %7945 ]
  store i32 %7940, ptr %829, align 4, !tbaa !5
  %7951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7952 = load i32, ptr @test_count, align 4, !tbaa !5
  %7953 = load i32, ptr %775, align 4, !tbaa !5
  %7954 = call ptr @s2n_strerror(i32 noundef %7953, ptr noundef nonnull @.str.4) #11
  %7955 = load i32, ptr %775, align 4, !tbaa !5
  %7956 = call ptr @s2n_strerror_debug(i32 noundef %7955, ptr noundef nonnull @.str.4) #11
  %7957 = load i32, ptr %829, align 4, !tbaa !5
  %7958 = call ptr @strerror(i32 noundef %7957) #11
  %7959 = load i32, ptr %829, align 4, !tbaa !5
  %7960 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7951, ptr noundef nonnull %.str.5.sink3672, i32 noundef %7952, ptr noundef nonnull @.str.110, ptr noundef nonnull @.str.1, i32 noundef 814, ptr noundef %7954, ptr noundef %7956, ptr noundef %7958, i32 noundef %7959) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7961:                                             ; preds = %7931
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %143) #11
  %7962 = call ptr @s2n_connection_new(i32 noundef 0) #11
  store ptr %7962, ptr %143, align 8, !tbaa !9
  %7963 = load i32, ptr @test_count, align 4, !tbaa !5
  %7964 = add nsw i32 %7963, 1
  store i32 %7964, ptr @test_count, align 4, !tbaa !5
  %7965 = icmp eq ptr %7962, null
  br i1 %7965, label %7966, label %7988

7966:                                             ; preds = %7961
  %7967 = load i32, ptr %829, align 4, !tbaa !5
  %7968 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7969 = call i32 @s2n_print_stacktrace(ptr noundef %7968) #11
  %7970 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7971 = trunc nuw i8 %7970 to i1
  br i1 %7971, label %7972, label %7976

7972:                                             ; preds = %7966
  %7973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7974 = call i32 @fileno(ptr noundef %7973) #11
  %7975 = call i32 @isatty(i32 noundef %7974) #11
  %.not910 = icmp eq i32 %7975, 0
  br i1 %.not910, label %7976, label %7977

7976:                                             ; preds = %7972, %7966
  br label %7977

7977:                                             ; preds = %7972, %7976
  %.str.5.sink3681 = phi ptr [ @.str.5, %7976 ], [ @.str.2, %7972 ]
  store i32 %7967, ptr %829, align 4, !tbaa !5
  %7978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7979 = load i32, ptr @test_count, align 4, !tbaa !5
  %7980 = load i32, ptr %775, align 4, !tbaa !5
  %7981 = call ptr @s2n_strerror(i32 noundef %7980, ptr noundef nonnull @.str.4) #11
  %7982 = load i32, ptr %775, align 4, !tbaa !5
  %7983 = call ptr @s2n_strerror_debug(i32 noundef %7982, ptr noundef nonnull @.str.4) #11
  %7984 = load i32, ptr %829, align 4, !tbaa !5
  %7985 = call ptr @strerror(i32 noundef %7984) #11
  %7986 = load i32, ptr %829, align 4, !tbaa !5
  %7987 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7978, ptr noundef nonnull %.str.5.sink3681, i32 noundef %7979, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.1, i32 noundef 817, ptr noundef %7981, ptr noundef %7983, ptr noundef %7985, i32 noundef %7986) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7988:                                             ; preds = %7961
  %7989 = add nsw i32 %7963, 2
  store i32 %7989, ptr @test_count, align 4, !tbaa !5
  %7990 = load ptr, ptr %139, align 8, !tbaa !9
  %7991 = call i32 @s2n_connection_set_config(ptr noundef nonnull %7962, ptr noundef %7990) #11
  %7992 = icmp eq i32 %7991, -1
  br i1 %7992, label %7993, label %8015

7993:                                             ; preds = %7988
  %7994 = load i32, ptr %829, align 4, !tbaa !5
  %7995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7996 = call i32 @s2n_print_stacktrace(ptr noundef %7995) #11
  %7997 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7998 = trunc nuw i8 %7997 to i1
  br i1 %7998, label %7999, label %8003

7999:                                             ; preds = %7993
  %8000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8001 = call i32 @fileno(ptr noundef %8000) #11
  %8002 = call i32 @isatty(i32 noundef %8001) #11
  %.not909 = icmp eq i32 %8002, 0
  br i1 %.not909, label %8003, label %8004

8003:                                             ; preds = %7999, %7993
  br label %8004

8004:                                             ; preds = %7999, %8003
  %.str.5.sink3690 = phi ptr [ @.str.5, %8003 ], [ @.str.2, %7999 ]
  store i32 %7994, ptr %829, align 4, !tbaa !5
  %8005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8006 = load i32, ptr @test_count, align 4, !tbaa !5
  %8007 = load i32, ptr %775, align 4, !tbaa !5
  %8008 = call ptr @s2n_strerror(i32 noundef %8007, ptr noundef nonnull @.str.4) #11
  %8009 = load i32, ptr %775, align 4, !tbaa !5
  %8010 = call ptr @s2n_strerror_debug(i32 noundef %8009, ptr noundef nonnull @.str.4) #11
  %8011 = load i32, ptr %829, align 4, !tbaa !5
  %8012 = call ptr @strerror(i32 noundef %8011) #11
  %8013 = load i32, ptr %829, align 4, !tbaa !5
  %8014 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8005, ptr noundef nonnull %.str.5.sink3690, i32 noundef %8006, ptr noundef nonnull @.str.111, ptr noundef nonnull @.str.1, i32 noundef 818, ptr noundef %8008, ptr noundef %8010, ptr noundef %8012, i32 noundef %8013) #13
  call void @exit(i32 noundef 1) #14
  unreachable

8015:                                             ; preds = %7988
  %8016 = load i32, ptr @test_count, align 4, !tbaa !5
  %8017 = add nsw i32 %8016, 1
  store i32 %8017, ptr @test_count, align 4, !tbaa !5
  %8018 = load ptr, ptr %143, align 8, !tbaa !9
  %8019 = call i32 @s2n_connection_set_verify_host_callback(ptr noundef %8018, ptr noundef nonnull @verify_host_always_allow, ptr noundef null) #11
  %8020 = icmp eq i32 %8019, -1
  br i1 %8020, label %8021, label %8043

8021:                                             ; preds = %8015
  %8022 = load i32, ptr %829, align 4, !tbaa !5
  %8023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8024 = call i32 @s2n_print_stacktrace(ptr noundef %8023) #11
  %8025 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8026 = trunc nuw i8 %8025 to i1
  br i1 %8026, label %8027, label %8031

8027:                                             ; preds = %8021
  %8028 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8029 = call i32 @fileno(ptr noundef %8028) #11
  %8030 = call i32 @isatty(i32 noundef %8029) #11
  %.not908 = icmp eq i32 %8030, 0
  br i1 %.not908, label %8031, label %8032

8031:                                             ; preds = %8027, %8021
  br label %8032

8032:                                             ; preds = %8027, %8031
  %.str.5.sink3699 = phi ptr [ @.str.5, %8031 ], [ @.str.2, %8027 ]
  store i32 %8022, ptr %829, align 4, !tbaa !5
  %8033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8034 = load i32, ptr @test_count, align 4, !tbaa !5
  %8035 = load i32, ptr %775, align 4, !tbaa !5
  %8036 = call ptr @s2n_strerror(i32 noundef %8035, ptr noundef nonnull @.str.4) #11
  %8037 = load i32, ptr %775, align 4, !tbaa !5
  %8038 = call ptr @s2n_strerror_debug(i32 noundef %8037, ptr noundef nonnull @.str.4) #11
  %8039 = load i32, ptr %829, align 4, !tbaa !5
  %8040 = call ptr @strerror(i32 noundef %8039) #11
  %8041 = load i32, ptr %829, align 4, !tbaa !5
  %8042 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8033, ptr noundef nonnull %.str.5.sink3699, i32 noundef %8034, ptr noundef nonnull @.str.112, ptr noundef nonnull @.str.1, i32 noundef 819, ptr noundef %8036, ptr noundef %8038, ptr noundef %8040, i32 noundef %8041) #13
  call void @exit(i32 noundef 1) #14
  unreachable

8043:                                             ; preds = %8015
  %8044 = load i32, ptr @test_count, align 4, !tbaa !5
  %8045 = add nsw i32 %8044, 1
  store i32 %8045, ptr @test_count, align 4, !tbaa !5
  %8046 = load ptr, ptr %143, align 8, !tbaa !9
  %8047 = call i32 @s2n_connection_set_blinding(ptr noundef %8046, i32 noundef 1) #11
  %8048 = icmp eq i32 %8047, -1
  br i1 %8048, label %8049, label %8071

8049:                                             ; preds = %8043
  %8050 = load i32, ptr %829, align 4, !tbaa !5
  %8051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8052 = call i32 @s2n_print_stacktrace(ptr noundef %8051) #11
  %8053 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8054 = trunc nuw i8 %8053 to i1
  br i1 %8054, label %8055, label %8059

8055:                                             ; preds = %8049
  %8056 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8057 = call i32 @fileno(ptr noundef %8056) #11
  %8058 = call i32 @isatty(i32 noundef %8057) #11
  %.not907 = icmp eq i32 %8058, 0
  br i1 %.not907, label %8059, label %8060

8059:                                             ; preds = %8055, %8049
  br label %8060

8060:                                             ; preds = %8055, %8059
  %.str.5.sink3708 = phi ptr [ @.str.5, %8059 ], [ @.str.2, %8055 ]
  store i32 %8050, ptr %829, align 4, !tbaa !5
  %8061 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8062 = load i32, ptr @test_count, align 4, !tbaa !5
  %8063 = load i32, ptr %775, align 4, !tbaa !5
  %8064 = call ptr @s2n_strerror(i32 noundef %8063, ptr noundef nonnull @.str.4) #11
  %8065 = load i32, ptr %775, align 4, !tbaa !5
  %8066 = call ptr @s2n_strerror_debug(i32 noundef %8065, ptr noundef nonnull @.str.4) #11
  %8067 = load i32, ptr %829, align 4, !tbaa !5
  %8068 = call ptr @strerror(i32 noundef %8067) #11
  %8069 = load i32, ptr %829, align 4, !tbaa !5
  %8070 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8061, ptr noundef nonnull %.str.5.sink3708, i32 noundef %8062, ptr noundef nonnull @.str.93, ptr noundef nonnull @.str.1, i32 noundef 820, ptr noundef %8064, ptr noundef %8066, ptr noundef %8068, i32 noundef %8069) #13
  call void @exit(i32 noundef 1) #14
  unreachable

8071:                                             ; preds = %8043
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %144) #11
  %8072 = call ptr @s2n_connection_new(i32 noundef 1) #11
  store ptr %8072, ptr %144, align 8, !tbaa !9
  %8073 = load i32, ptr @test_count, align 4, !tbaa !5
  %8074 = add nsw i32 %8073, 1
  store i32 %8074, ptr @test_count, align 4, !tbaa !5
  %8075 = icmp eq ptr %8072, null
  br i1 %8075, label %8076, label %8098

8076:                                             ; preds = %8071
  %8077 = load i32, ptr %829, align 4, !tbaa !5
  %8078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8079 = call i32 @s2n_print_stacktrace(ptr noundef %8078) #11
  %8080 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8081 = trunc nuw i8 %8080 to i1
  br i1 %8081, label %8082, label %8086

8082:                                             ; preds = %8076
  %8083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8084 = call i32 @fileno(ptr noundef %8083) #11
  %8085 = call i32 @isatty(i32 noundef %8084) #11
  %.not906 = icmp eq i32 %8085, 0
  br i1 %.not906, label %8086, label %8087

8086:                                             ; preds = %8082, %8076
  br label %8087

8087:                                             ; preds = %8082, %8086
  %.str.5.sink3717 = phi ptr [ @.str.5, %8086 ], [ @.str.2, %8082 ]
  store i32 %8077, ptr %829, align 4, !tbaa !5
  %8088 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8089 = load i32, ptr @test_count, align 4, !tbaa !5
  %8090 = load i32, ptr %775, align 4, !tbaa !5
  %8091 = call ptr @s2n_strerror(i32 noundef %8090, ptr noundef nonnull @.str.4) #11
  %8092 = load i32, ptr %775, align 4, !tbaa !5
  %8093 = call ptr @s2n_strerror_debug(i32 noundef %8092, ptr noundef nonnull @.str.4) #11
  %8094 = load i32, ptr %829, align 4, !tbaa !5
  %8095 = call ptr @strerror(i32 noundef %8094) #11
  %8096 = load i32, ptr %829, align 4, !tbaa !5
  %8097 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8088, ptr noundef nonnull %.str.5.sink3717, i32 noundef %8089, ptr noundef nonnull @.str.84, ptr noundef nonnull @.str.1, i32 noundef 823, ptr noundef %8091, ptr noundef %8093, ptr noundef %8095, i32 noundef %8096) #13
  call void @exit(i32 noundef 1) #14
  unreachable

8098:                                             ; preds = %8071
  %8099 = add nsw i32 %8073, 2
  store i32 %8099, ptr @test_count, align 4, !tbaa !5
  %8100 = load ptr, ptr %141, align 8, !tbaa !9
  %8101 = call i32 @s2n_connection_set_config(ptr noundef nonnull %8072, ptr noundef %8100) #11
  %8102 = icmp eq i32 %8101, -1
  br i1 %8102, label %8103, label %8125

8103:                                             ; preds = %8098
  %8104 = load i32, ptr %829, align 4, !tbaa !5
  %8105 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8106 = call i32 @s2n_print_stacktrace(ptr noundef %8105) #11
  %8107 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8108 = trunc nuw i8 %8107 to i1
  br i1 %8108, label %8109, label %8113

8109:                                             ; preds = %8103
  %8110 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8111 = call i32 @fileno(ptr noundef %8110) #11
  %8112 = call i32 @isatty(i32 noundef %8111) #11
  %.not905 = icmp eq i32 %8112, 0
  br i1 %.not905, label %8113, label %8114

8113:                                             ; preds = %8109, %8103
  br label %8114

8114:                                             ; preds = %8109, %8113
  %.str.5.sink3726 = phi ptr [ @.str.5, %8113 ], [ @.str.2, %8109 ]
  store i32 %8104, ptr %829, align 4, !tbaa !5
  %8115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8116 = load i32, ptr @test_count, align 4, !tbaa !5
  %8117 = load i32, ptr %775, align 4, !tbaa !5
  %8118 = call ptr @s2n_strerror(i32 noundef %8117, ptr noundef nonnull @.str.4) #11
  %8119 = load i32, ptr %775, align 4, !tbaa !5
  %8120 = call ptr @s2n_strerror_debug(i32 noundef %8119, ptr noundef nonnull @.str.4) #11
  %8121 = load i32, ptr %829, align 4, !tbaa !5
  %8122 = call ptr @strerror(i32 noundef %8121) #11
  %8123 = load i32, ptr %829, align 4, !tbaa !5
  %8124 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8115, ptr noundef nonnull %.str.5.sink3726, i32 noundef %8116, ptr noundef nonnull @.str.113, ptr noundef nonnull @.str.1, i32 noundef 824, ptr noundef %8118, ptr noundef %8120, ptr noundef %8122, i32 noundef %8123) #13
  call void @exit(i32 noundef 1) #14
  unreachable

8125:                                             ; preds = %8098
  %8126 = load i32, ptr @test_count, align 4, !tbaa !5
  %8127 = add nsw i32 %8126, 1
  store i32 %8127, ptr @test_count, align 4, !tbaa !5
  %8128 = load ptr, ptr %144, align 8, !tbaa !9
  %8129 = call i32 @s2n_set_server_name(ptr noundef %8128, ptr noundef nonnull @.str.39) #11
  %8130 = icmp eq i32 %8129, -1
  br i1 %8130, label %8131, label %8153

8131:                                             ; preds = %8125
  %8132 = load i32, ptr %829, align 4, !tbaa !5
  %8133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8134 = call i32 @s2n_print_stacktrace(ptr noundef %8133) #11
  %8135 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8136 = trunc nuw i8 %8135 to i1
  br i1 %8136, label %8137, label %8141

8137:                                             ; preds = %8131
  %8138 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8139 = call i32 @fileno(ptr noundef %8138) #11
  %8140 = call i32 @isatty(i32 noundef %8139) #11
  %.not904 = icmp eq i32 %8140, 0
  br i1 %.not904, label %8141, label %8142

8141:                                             ; preds = %8137, %8131
  br label %8142

8142:                                             ; preds = %8137, %8141
  %.str.5.sink3735 = phi ptr [ @.str.5, %8141 ], [ @.str.2, %8137 ]
  store i32 %8132, ptr %829, align 4, !tbaa !5
  %8143 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8144 = load i32, ptr @test_count, align 4, !tbaa !5
  %8145 = load i32, ptr %775, align 4, !tbaa !5
  %8146 = call ptr @s2n_strerror(i32 noundef %8145, ptr noundef nonnull @.str.4) #11
  %8147 = load i32, ptr %775, align 4, !tbaa !5
  %8148 = call ptr @s2n_strerror_debug(i32 noundef %8147, ptr noundef nonnull @.str.4) #11
  %8149 = load i32, ptr %829, align 4, !tbaa !5
  %8150 = call ptr @strerror(i32 noundef %8149) #11
  %8151 = load i32, ptr %829, align 4, !tbaa !5
  %8152 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8143, ptr noundef nonnull %.str.5.sink3735, i32 noundef %8144, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.1, i32 noundef 825, ptr noundef %8146, ptr noundef %8148, ptr noundef %8150, i32 noundef %8151) #13
  call void @exit(i32 noundef 1) #14
  unreachable

8153:                                             ; preds = %8125
  %8154 = load i32, ptr @test_count, align 4, !tbaa !5
  %8155 = add nsw i32 %8154, 1
  store i32 %8155, ptr @test_count, align 4, !tbaa !5
  %8156 = load ptr, ptr %144, align 8, !tbaa !9
  %8157 = call i32 @s2n_connection_set_blinding(ptr noundef %8156, i32 noundef 1) #11
  %8158 = icmp eq i32 %8157, -1
  br i1 %8158, label %8159, label %8181

8159:                                             ; preds = %8153
  %8160 = load i32, ptr %829, align 4, !tbaa !5
  %8161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8162 = call i32 @s2n_print_stacktrace(ptr noundef %8161) #11
  %8163 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8164 = trunc nuw i8 %8163 to i1
  br i1 %8164, label %8165, label %8169

8165:                                             ; preds = %8159
  %8166 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8167 = call i32 @fileno(ptr noundef %8166) #11
  %8168 = call i32 @isatty(i32 noundef %8167) #11
  %.not903 = icmp eq i32 %8168, 0
  br i1 %.not903, label %8169, label %8170

8169:                                             ; preds = %8165, %8159
  br label %8170

8170:                                             ; preds = %8165, %8169
  %.str.5.sink3744 = phi ptr [ @.str.5, %8169 ], [ @.str.2, %8165 ]
  store i32 %8160, ptr %829, align 4, !tbaa !5
  %8171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8172 = load i32, ptr @test_count, align 4, !tbaa !5
  %8173 = load i32, ptr %775, align 4, !tbaa !5
  %8174 = call ptr @s2n_strerror(i32 noundef %8173, ptr noundef nonnull @.str.4) #11
  %8175 = load i32, ptr %775, align 4, !tbaa !5
  %8176 = call ptr @s2n_strerror_debug(i32 noundef %8175, ptr noundef nonnull @.str.4) #11
  %8177 = load i32, ptr %829, align 4, !tbaa !5
  %8178 = call ptr @strerror(i32 noundef %8177) #11
  %8179 = load i32, ptr %829, align 4, !tbaa !5
  %8180 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8171, ptr noundef nonnull %.str.5.sink3744, i32 noundef %8172, ptr noundef nonnull @.str.94, ptr noundef nonnull @.str.1, i32 noundef 826, ptr noundef %8174, ptr noundef %8176, ptr noundef %8178, i32 noundef %8179) #13
  call void @exit(i32 noundef 1) #14
  unreachable

8181:                                             ; preds = %8153
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %145) #11
  store i64 0, ptr %145, align 8
  %8182 = load i32, ptr @test_count, align 4, !tbaa !5
  %8183 = add nsw i32 %8182, 1
  store i32 %8183, ptr @test_count, align 4, !tbaa !5
  %8184 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef nonnull %145) #11
  %8185 = icmp eq i32 %8184, -1
  br i1 %8185, label %8186, label %8208

8186:                                             ; preds = %8181
  %8187 = load i32, ptr %829, align 4, !tbaa !5
  %8188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8189 = call i32 @s2n_print_stacktrace(ptr noundef %8188) #11
  %8190 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8191 = trunc nuw i8 %8190 to i1
  br i1 %8191, label %8192, label %8196

8192:                                             ; preds = %8186
  %8193 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8194 = call i32 @fileno(ptr noundef %8193) #11
  %8195 = call i32 @isatty(i32 noundef %8194) #11
  %.not902 = icmp eq i32 %8195, 0
  br i1 %.not902, label %8196, label %8197

8196:                                             ; preds = %8192, %8186
  br label %8197

8197:                                             ; preds = %8192, %8196
  %.str.5.sink3753 = phi ptr [ @.str.5, %8196 ], [ @.str.2, %8192 ]
  store i32 %8187, ptr %829, align 4, !tbaa !5
  %8198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8199 = load i32, ptr @test_count, align 4, !tbaa !5
  %8200 = load i32, ptr %775, align 4, !tbaa !5
  %8201 = call ptr @s2n_strerror(i32 noundef %8200, ptr noundef nonnull @.str.4) #11
  %8202 = load i32, ptr %775, align 4, !tbaa !5
  %8203 = call ptr @s2n_strerror_debug(i32 noundef %8202, ptr noundef nonnull @.str.4) #11
  %8204 = load i32, ptr %829, align 4, !tbaa !5
  %8205 = call ptr @strerror(i32 noundef %8204) #11
  %8206 = load i32, ptr %829, align 4, !tbaa !5
  %8207 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8198, ptr noundef nonnull %.str.5.sink3753, i32 noundef %8199, ptr noundef nonnull @.str.87, ptr noundef nonnull @.str.1, i32 noundef 829, ptr noundef %8201, ptr noundef %8203, ptr noundef %8205, i32 noundef %8206) #13
  call void @exit(i32 noundef 1) #14
  unreachable

8208:                                             ; preds = %8181
  %8209 = load i32, ptr @test_count, align 4, !tbaa !5
  %8210 = add nsw i32 %8209, 1
  store i32 %8210, ptr @test_count, align 4, !tbaa !5
  %8211 = load ptr, ptr %144, align 8, !tbaa !9
  %8212 = call i32 @s2n_connection_set_io_pair(ptr noundef %8211, ptr noundef nonnull %145) #11
  %8213 = icmp eq i32 %8212, -1
  br i1 %8213, label %8214, label %8236

8214:                                             ; preds = %8208
  %8215 = load i32, ptr %829, align 4, !tbaa !5
  %8216 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8217 = call i32 @s2n_print_stacktrace(ptr noundef %8216) #11
  %8218 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8219 = trunc nuw i8 %8218 to i1
  br i1 %8219, label %8220, label %8224

8220:                                             ; preds = %8214
  %8221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8222 = call i32 @fileno(ptr noundef %8221) #11
  %8223 = call i32 @isatty(i32 noundef %8222) #11
  %.not901 = icmp eq i32 %8223, 0
  br i1 %.not901, label %8224, label %8225

8224:                                             ; preds = %8220, %8214
  br label %8225

8225:                                             ; preds = %8220, %8224
  %.str.5.sink3762 = phi ptr [ @.str.5, %8224 ], [ @.str.2, %8220 ]
  store i32 %8215, ptr %829, align 4, !tbaa !5
  %8226 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8227 = load i32, ptr @test_count, align 4, !tbaa !5
  %8228 = load i32, ptr %775, align 4, !tbaa !5
  %8229 = call ptr @s2n_strerror(i32 noundef %8228, ptr noundef nonnull @.str.4) #11
  %8230 = load i32, ptr %775, align 4, !tbaa !5
  %8231 = call ptr @s2n_strerror_debug(i32 noundef %8230, ptr noundef nonnull @.str.4) #11
  %8232 = load i32, ptr %829, align 4, !tbaa !5
  %8233 = call ptr @strerror(i32 noundef %8232) #11
  %8234 = load i32, ptr %829, align 4, !tbaa !5
  %8235 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8226, ptr noundef nonnull %.str.5.sink3762, i32 noundef %8227, ptr noundef nonnull @.str.88, ptr noundef nonnull @.str.1, i32 noundef 830, ptr noundef %8229, ptr noundef %8231, ptr noundef %8233, i32 noundef %8234) #13
  call void @exit(i32 noundef 1) #14
  unreachable

8236:                                             ; preds = %8208
  %8237 = load i32, ptr @test_count, align 4, !tbaa !5
  %8238 = add nsw i32 %8237, 1
  store i32 %8238, ptr @test_count, align 4, !tbaa !5
  %8239 = load ptr, ptr %143, align 8, !tbaa !9
  %8240 = call i32 @s2n_connection_set_io_pair(ptr noundef %8239, ptr noundef nonnull %145) #11
  %8241 = icmp eq i32 %8240, -1
  br i1 %8241, label %8242, label %8264

8242:                                             ; preds = %8236
  %8243 = load i32, ptr %829, align 4, !tbaa !5
  %8244 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8245 = call i32 @s2n_print_stacktrace(ptr noundef %8244) #11
  %8246 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8247 = trunc nuw i8 %8246 to i1
  br i1 %8247, label %8248, label %8252

8248:                                             ; preds = %8242
  %8249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8250 = call i32 @fileno(ptr noundef %8249) #11
  %8251 = call i32 @isatty(i32 noundef %8250) #11
  %.not900 = icmp eq i32 %8251, 0
  br i1 %.not900, label %8252, label %8253

8252:                                             ; preds = %8248, %8242
  br label %8253

8253:                                             ; preds = %8248, %8252
  %.str.5.sink3771 = phi ptr [ @.str.5, %8252 ], [ @.str.2, %8248 ]
  store i32 %8243, ptr %829, align 4, !tbaa !5
  %8254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8255 = load i32, ptr @test_count, align 4, !tbaa !5
  %8256 = load i32, ptr %775, align 4, !tbaa !5
  %8257 = call ptr @s2n_strerror(i32 noundef %8256, ptr noundef nonnull @.str.4) #11
  %8258 = load i32, ptr %775, align 4, !tbaa !5
  %8259 = call ptr @s2n_strerror_debug(i32 noundef %8258, ptr noundef nonnull @.str.4) #11
  %8260 = load i32, ptr %829, align 4, !tbaa !5
  %8261 = call ptr @strerror(i32 noundef %8260) #11
  %8262 = load i32, ptr %829, align 4, !tbaa !5
  %8263 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8254, ptr noundef nonnull %.str.5.sink3771, i32 noundef %8255, ptr noundef nonnull @.str.89, ptr noundef nonnull @.str.1, i32 noundef 831, ptr noundef %8257, ptr noundef %8259, ptr noundef %8261, i32 noundef %8262) #13
  call void @exit(i32 noundef 1) #14
  unreachable

8264:                                             ; preds = %8236
  %8265 = load i32, ptr @test_count, align 4, !tbaa !5
  %8266 = add nsw i32 %8265, 1
  store i32 %8266, ptr @test_count, align 4, !tbaa !5
  %8267 = load ptr, ptr %143, align 8, !tbaa !9
  %8268 = load ptr, ptr %144, align 8, !tbaa !9
  %8269 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %8267, ptr noundef %8268) #11
  %8270 = icmp eq i32 %8269, -1
  br i1 %8270, label %8293, label %8271

8271:                                             ; preds = %8264
  %8272 = load i32, ptr %829, align 4, !tbaa !5
  %8273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8274 = call i32 @s2n_print_stacktrace(ptr noundef %8273) #11
  %8275 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8276 = trunc nuw i8 %8275 to i1
  br i1 %8276, label %8277, label %8281

8277:                                             ; preds = %8271
  %8278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8279 = call i32 @fileno(ptr noundef %8278) #11
  %8280 = call i32 @isatty(i32 noundef %8279) #11
  %.not853 = icmp eq i32 %8280, 0
  br i1 %.not853, label %8281, label %8282

8281:                                             ; preds = %8277, %8271
  br label %8282

8282:                                             ; preds = %8277, %8281
  %.str.5.sink3780 = phi ptr [ @.str.5, %8281 ], [ @.str.2, %8277 ]
  store i32 %8272, ptr %829, align 4, !tbaa !5
  %8283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8284 = load i32, ptr @test_count, align 4, !tbaa !5
  %8285 = load i32, ptr %775, align 4, !tbaa !5
  %8286 = call ptr @s2n_strerror(i32 noundef %8285, ptr noundef nonnull @.str.4) #11
  %8287 = load i32, ptr %775, align 4, !tbaa !5
  %8288 = call ptr @s2n_strerror_debug(i32 noundef %8287, ptr noundef nonnull @.str.4) #11
  %8289 = load i32, ptr %829, align 4, !tbaa !5
  %8290 = call ptr @strerror(i32 noundef %8289) #11
  %8291 = load i32, ptr %829, align 4, !tbaa !5
  %8292 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8283, ptr noundef nonnull %.str.5.sink3780, i32 noundef %8284, ptr noundef nonnull @.str.95, ptr noundef nonnull @.str.1, i32 noundef 834, ptr noundef %8286, ptr noundef %8288, ptr noundef %8290, i32 noundef %8291) #13
  call void @exit(i32 noundef 1) #14
  unreachable

8293:                                             ; preds = %8264
  %8294 = load i32, ptr @test_count, align 4, !tbaa !5
  %8295 = add nsw i32 %8294, 1
  store i32 %8295, ptr @test_count, align 4, !tbaa !5
  %8296 = load i32, ptr %775, align 4, !tbaa !5
  %8297 = icmp eq i32 %8296, 335544367
  br i1 %8297, label %8320, label %8298

8298:                                             ; preds = %8293
  %8299 = load i32, ptr %829, align 4, !tbaa !5
  %8300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8301 = call i32 @s2n_print_stacktrace(ptr noundef %8300) #11
  %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) #11
  %8307 = call i32 @isatty(i32 noundef %8306) #11
  %.not854 = icmp eq i32 %8307, 0
  br i1 %.not854, label %8308, label %8309

8308:                                             ; preds = %8304, %8298
  br label %8309

8309:                                             ; preds = %8304, %8308
  %.str.5.sink3789 = phi ptr [ @.str.5, %8308 ], [ @.str.2, %8304 ]
  store i32 %8299, ptr %829, 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 %775, align 4, !tbaa !5
  %8313 = call ptr @s2n_strerror(i32 noundef %8312, ptr noundef nonnull @.str.4) #11
  %8314 = load i32, ptr %775, align 4, !tbaa !5
  %8315 = call ptr @s2n_strerror_debug(i32 noundef %8314, ptr noundef nonnull @.str.4) #11
  %8316 = load i32, ptr %829, align 4, !tbaa !5
  %8317 = call ptr @strerror(i32 noundef %8316) #11
  %8318 = load i32, ptr %829, align 4, !tbaa !5
  %8319 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8310, ptr noundef nonnull %.str.5.sink3789, i32 noundef %8311, ptr noundef nonnull @.str.53, ptr noundef nonnull @.str.1, i32 noundef 834, ptr noundef %8313, ptr noundef %8315, ptr noundef %8317, i32 noundef %8318) #13
  call void @exit(i32 noundef 1) #14
  unreachable

8320:                                             ; preds = %8293
  %8321 = add nsw i32 %8294, 2
  store i32 %8321, ptr @test_count, align 4, !tbaa !5
  %8322 = call ptr @s2n_strerror_debug(i32 noundef 335544367, ptr noundef nonnull @.str.4) #11
  %8323 = icmp eq ptr %8322, null
  br i1 %8323, label %8324, label %8346

8324:                                             ; preds = %8320
  %8325 = load i32, ptr %829, align 4, !tbaa !5
  %8326 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8327 = call i32 @s2n_print_stacktrace(ptr noundef %8326) #11
  %8328 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8329 = trunc nuw i8 %8328 to i1
  br i1 %8329, label %8330, label %8334

8330:                                             ; preds = %8324
  %8331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8332 = call i32 @fileno(ptr noundef %8331) #11
  %8333 = call i32 @isatty(i32 noundef %8332) #11
  %.not899 = icmp eq i32 %8333, 0
  br i1 %.not899, label %8334, label %8335

8334:                                             ; preds = %8330, %8324
  br label %8335

8335:                                             ; preds = %8330, %8334
  %.str.5.sink3798 = phi ptr [ @.str.5, %8334 ], [ @.str.2, %8330 ]
  store i32 %8325, ptr %829, align 4, !tbaa !5
  %8336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8337 = load i32, ptr @test_count, align 4, !tbaa !5
  %8338 = load i32, ptr %775, align 4, !tbaa !5
  %8339 = call ptr @s2n_strerror(i32 noundef %8338, ptr noundef nonnull @.str.4) #11
  %8340 = load i32, ptr %775, align 4, !tbaa !5
  %8341 = call ptr @s2n_strerror_debug(i32 noundef %8340, ptr noundef nonnull @.str.4) #11
  %8342 = load i32, ptr %829, align 4, !tbaa !5
  %8343 = call ptr @strerror(i32 noundef %8342) #11
  %8344 = load i32, ptr %829, align 4, !tbaa !5
  %8345 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8336, ptr noundef nonnull %.str.5.sink3798, i32 noundef %8337, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 834, ptr noundef %8339, ptr noundef %8341, ptr noundef %8343, i32 noundef %8344) #13
  call void @exit(i32 noundef 1) #14
  unreachable

8346:                                             ; preds = %8320
  store i32 0, ptr %775, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %829, align 4, !tbaa !5
  %8347 = load i32, ptr @test_count, align 4, !tbaa !5
  %8348 = add nsw i32 %8347, 1
  store i32 %8348, ptr @test_count, align 4, !tbaa !5
  %8349 = getelementptr inbounds i8, ptr %142, i64 80
  %8350 = load i8, ptr %8349, align 8, !tbaa !27
  %8351 = icmp eq i8 %8350, 2
  br i1 %8351, label %8374, label %8352

8352:                                             ; preds = %8346
  %8353 = load i32, ptr %829, align 4, !tbaa !5
  %8354 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8355 = call i32 @s2n_print_stacktrace(ptr noundef %8354) #11
  %8356 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8357 = trunc nuw i8 %8356 to i1
  br i1 %8357, label %8358, label %8362

8358:                                             ; preds = %8352
  %8359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8360 = call i32 @fileno(ptr noundef %8359) #11
  %8361 = call i32 @isatty(i32 noundef %8360) #11
  %.not855 = icmp eq i32 %8361, 0
  br i1 %.not855, label %8362, label %8363

8362:                                             ; preds = %8358, %8352
  br label %8363

8363:                                             ; preds = %8358, %8362
  %.str.5.sink3807 = phi ptr [ @.str.5, %8362 ], [ @.str.2, %8358 ]
  store i32 %8353, ptr %829, align 4, !tbaa !5
  %8364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8365 = load i32, ptr @test_count, align 4, !tbaa !5
  %8366 = load i32, ptr %775, align 4, !tbaa !5
  %8367 = call ptr @s2n_strerror(i32 noundef %8366, ptr noundef nonnull @.str.4) #11
  %8368 = load i32, ptr %775, align 4, !tbaa !5
  %8369 = call ptr @s2n_strerror_debug(i32 noundef %8368, ptr noundef nonnull @.str.4) #11
  %8370 = load i32, ptr %829, align 4, !tbaa !5
  %8371 = call ptr @strerror(i32 noundef %8370) #11
  %8372 = load i32, ptr %829, align 4, !tbaa !5
  %8373 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8364, ptr noundef nonnull %.str.5.sink3807, i32 noundef %8365, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.1, i32 noundef 836, ptr noundef %8367, ptr noundef %8369, ptr noundef %8371, i32 noundef %8372) #13
  call void @exit(i32 noundef 1) #14
  unreachable

8374:                                             ; preds = %8346
  %8375 = call i32 @s2n_io_pair_close(ptr noundef nonnull %145) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %145) #11
  %8376 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %144) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %144) #11
  %8377 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %143) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %143) #11
  call void @llvm.lifetime.end.p0(i64 88, ptr nonnull %142) #11
  %8378 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %141) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %141) #11
  %8379 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef nonnull %140) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %140) #11
  %8380 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %139) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %139) #11
  %8381 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef nonnull %138) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %138) #11
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %146) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %146, i8 0, i64 32, i1 false)
  %8382 = load i32, ptr @test_count, align 4, !tbaa !5
  %8383 = add nsw i32 %8382, 1
  store i32 %8383, ptr @test_count, align 4, !tbaa !5
  %8384 = call i32 @s2n_crl_lookup_set(ptr noundef nonnull %146, ptr noundef %6455) #11
  %8385 = icmp eq i32 %8384, -1
  br i1 %8385, label %8386, label %8408

8386:                                             ; preds = %8374
  %8387 = load i32, ptr %829, align 4, !tbaa !5
  %8388 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8389 = call i32 @s2n_print_stacktrace(ptr noundef %8388) #11
  %8390 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8391 = trunc nuw i8 %8390 to i1
  br i1 %8391, label %8392, label %8396

8392:                                             ; preds = %8386
  %8393 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8394 = call i32 @fileno(ptr noundef %8393) #11
  %8395 = call i32 @isatty(i32 noundef %8394) #11
  %.not898 = icmp eq i32 %8395, 0
  br i1 %.not898, label %8396, label %8397

8396:                                             ; preds = %8392, %8386
  br label %8397

8397:                                             ; preds = %8392, %8396
  %.str.5.sink3816 = phi ptr [ @.str.5, %8396 ], [ @.str.2, %8392 ]
  store i32 %8387, ptr %829, align 4, !tbaa !5
  %8398 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8399 = load i32, ptr @test_count, align 4, !tbaa !5
  %8400 = load i32, ptr %775, align 4, !tbaa !5
  %8401 = call ptr @s2n_strerror(i32 noundef %8400, ptr noundef nonnull @.str.4) #11
  %8402 = load i32, ptr %775, align 4, !tbaa !5
  %8403 = call ptr @s2n_strerror_debug(i32 noundef %8402, ptr noundef nonnull @.str.4) #11
  %8404 = load i32, ptr %829, align 4, !tbaa !5
  %8405 = call ptr @strerror(i32 noundef %8404) #11
  %8406 = load i32, ptr %829, align 4, !tbaa !5
  %8407 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8398, ptr noundef nonnull %.str.5.sink3816, i32 noundef %8399, ptr noundef nonnull @.str.115, ptr noundef nonnull @.str.1, i32 noundef 844, ptr noundef %8401, ptr noundef %8403, ptr noundef %8405, i32 noundef %8406) #13
  call void @exit(i32 noundef 1) #14
  unreachable

8408:                                             ; preds = %8374
  %8409 = load i32, ptr @test_count, align 4, !tbaa !5
  %8410 = add nsw i32 %8409, 1
  store i32 %8410, ptr @test_count, align 4, !tbaa !5
  %8411 = load i32, ptr %146, align 8, !tbaa !37
  %8412 = icmp eq i32 %8411, 1
  br i1 %8412, label %8435, label %8413

8413:                                             ; preds = %8408
  %8414 = load i32, ptr %829, align 4, !tbaa !5
  %8415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8416 = call i32 @s2n_print_stacktrace(ptr noundef %8415) #11
  %8417 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8418 = trunc nuw i8 %8417 to i1
  br i1 %8418, label %8419, label %8423

8419:                                             ; preds = %8413
  %8420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8421 = call i32 @fileno(ptr noundef %8420) #11
  %8422 = call i32 @isatty(i32 noundef %8421) #11
  %.not856 = icmp eq i32 %8422, 0
  br i1 %.not856, label %8423, label %8424

8423:                                             ; preds = %8419, %8413
  br label %8424

8424:                                             ; preds = %8419, %8423
  %.str.5.sink3825 = phi ptr [ @.str.5, %8423 ], [ @.str.2, %8419 ]
  store i32 %8414, ptr %829, align 4, !tbaa !5
  %8425 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8426 = load i32, ptr @test_count, align 4, !tbaa !5
  %8427 = load i32, ptr %775, align 4, !tbaa !5
  %8428 = call ptr @s2n_strerror(i32 noundef %8427, ptr noundef nonnull @.str.4) #11
  %8429 = load i32, ptr %775, align 4, !tbaa !5
  %8430 = call ptr @s2n_strerror_debug(i32 noundef %8429, ptr noundef nonnull @.str.4) #11
  %8431 = load i32, ptr %829, align 4, !tbaa !5
  %8432 = call ptr @strerror(i32 noundef %8431) #11
  %8433 = load i32, ptr %829, align 4, !tbaa !5
  %8434 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8425, ptr noundef nonnull %.str.5.sink3825, i32 noundef %8426, ptr noundef nonnull @.str.116, ptr noundef nonnull @.str.1, i32 noundef 845, ptr noundef %8428, ptr noundef %8430, ptr noundef %8432, i32 noundef %8433) #13
  call void @exit(i32 noundef 1) #14
  unreachable

8435:                                             ; preds = %8408
  %8436 = add nsw i32 %8409, 2
  store i32 %8436, ptr @test_count, align 4, !tbaa !5
  %8437 = getelementptr inbounds i8, ptr %146, i64 24
  %8438 = load ptr, ptr %8437, align 8, !tbaa !39
  %8439 = icmp eq ptr %8438, null
  br i1 %8439, label %8440, label %8462

8440:                                             ; preds = %8435
  %8441 = load i32, ptr %829, align 4, !tbaa !5
  %8442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8443 = call i32 @s2n_print_stacktrace(ptr noundef %8442) #11
  %8444 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8445 = trunc nuw i8 %8444 to i1
  br i1 %8445, label %8446, label %8450

8446:                                             ; preds = %8440
  %8447 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8448 = call i32 @fileno(ptr noundef %8447) #11
  %8449 = call i32 @isatty(i32 noundef %8448) #11
  %.not897 = icmp eq i32 %8449, 0
  br i1 %.not897, label %8450, label %8451

8450:                                             ; preds = %8446, %8440
  br label %8451

8451:                                             ; preds = %8446, %8450
  %.str.5.sink3834 = phi ptr [ @.str.5, %8450 ], [ @.str.2, %8446 ]
  store i32 %8441, ptr %829, align 4, !tbaa !5
  %8452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8453 = load i32, ptr @test_count, align 4, !tbaa !5
  %8454 = load i32, ptr %775, align 4, !tbaa !5
  %8455 = call ptr @s2n_strerror(i32 noundef %8454, ptr noundef nonnull @.str.4) #11
  %8456 = load i32, ptr %775, align 4, !tbaa !5
  %8457 = call ptr @s2n_strerror_debug(i32 noundef %8456, ptr noundef nonnull @.str.4) #11
  %8458 = load i32, ptr %829, align 4, !tbaa !5
  %8459 = call ptr @strerror(i32 noundef %8458) #11
  %8460 = load i32, ptr %829, align 4, !tbaa !5
  %8461 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8452, ptr noundef nonnull %.str.5.sink3834, i32 noundef %8453, ptr noundef nonnull @.str.117, ptr noundef nonnull @.str.1, i32 noundef 846, ptr noundef %8455, ptr noundef %8457, ptr noundef %8459, i32 noundef %8460) #13
  call void @exit(i32 noundef 1) #14
  unreachable

8462:                                             ; preds = %8435
  store i32 0, ptr %146, align 8, !tbaa !37
  %8463 = add nsw i32 %8409, 3
  store i32 %8463, ptr @test_count, align 4, !tbaa !5
  %8464 = call i32 @s2n_crl_lookup_ignore(ptr noundef nonnull %146) #11
  %8465 = icmp eq i32 %8464, -1
  br i1 %8465, label %8466, label %8488

8466:                                             ; preds = %8462
  %8467 = load i32, ptr %829, align 4, !tbaa !5
  %8468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8469 = call i32 @s2n_print_stacktrace(ptr noundef %8468) #11
  %8470 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8471 = trunc nuw i8 %8470 to i1
  br i1 %8471, label %8472, label %8476

8472:                                             ; preds = %8466
  %8473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8474 = call i32 @fileno(ptr noundef %8473) #11
  %8475 = call i32 @isatty(i32 noundef %8474) #11
  %.not896 = icmp eq i32 %8475, 0
  br i1 %.not896, label %8476, label %8477

8476:                                             ; preds = %8472, %8466
  br label %8477

8477:                                             ; preds = %8472, %8476
  %.str.5.sink3843 = phi ptr [ @.str.5, %8476 ], [ @.str.2, %8472 ]
  store i32 %8467, ptr %829, align 4, !tbaa !5
  %8478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8479 = load i32, ptr @test_count, align 4, !tbaa !5
  %8480 = load i32, ptr %775, align 4, !tbaa !5
  %8481 = call ptr @s2n_strerror(i32 noundef %8480, ptr noundef nonnull @.str.4) #11
  %8482 = load i32, ptr %775, align 4, !tbaa !5
  %8483 = call ptr @s2n_strerror_debug(i32 noundef %8482, ptr noundef nonnull @.str.4) #11
  %8484 = load i32, ptr %829, align 4, !tbaa !5
  %8485 = call ptr @strerror(i32 noundef %8484) #11
  %8486 = load i32, ptr %829, align 4, !tbaa !5
  %8487 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8478, ptr noundef nonnull %.str.5.sink3843, i32 noundef %8479, ptr noundef nonnull @.str.118, ptr noundef nonnull @.str.1, i32 noundef 849, ptr noundef %8481, ptr noundef %8483, ptr noundef %8485, i32 noundef %8486) #13
  call void @exit(i32 noundef 1) #14
  unreachable

8488:                                             ; preds = %8462
  %8489 = load i32, ptr @test_count, align 4, !tbaa !5
  %8490 = add nsw i32 %8489, 1
  store i32 %8490, ptr @test_count, align 4, !tbaa !5
  %8491 = load i32, ptr %146, align 8, !tbaa !37
  %8492 = icmp eq i32 %8491, 1
  br i1 %8492, label %8515, label %8493

8493:                                             ; preds = %8488
  %8494 = load i32, ptr %829, align 4, !tbaa !5
  %8495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8496 = call i32 @s2n_print_stacktrace(ptr noundef %8495) #11
  %8497 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8498 = trunc nuw i8 %8497 to i1
  br i1 %8498, label %8499, label %8503

8499:                                             ; preds = %8493
  %8500 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8501 = call i32 @fileno(ptr noundef %8500) #11
  %8502 = call i32 @isatty(i32 noundef %8501) #11
  %.not857 = icmp eq i32 %8502, 0
  br i1 %.not857, label %8503, label %8504

8503:                                             ; preds = %8499, %8493
  br label %8504

8504:                                             ; preds = %8499, %8503
  %.str.5.sink3852 = phi ptr [ @.str.5, %8503 ], [ @.str.2, %8499 ]
  store i32 %8494, ptr %829, align 4, !tbaa !5
  %8505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8506 = load i32, ptr @test_count, align 4, !tbaa !5
  %8507 = load i32, ptr %775, align 4, !tbaa !5
  %8508 = call ptr @s2n_strerror(i32 noundef %8507, ptr noundef nonnull @.str.4) #11
  %8509 = load i32, ptr %775, align 4, !tbaa !5
  %8510 = call ptr @s2n_strerror_debug(i32 noundef %8509, ptr noundef nonnull @.str.4) #11
  %8511 = load i32, ptr %829, align 4, !tbaa !5
  %8512 = call ptr @strerror(i32 noundef %8511) #11
  %8513 = load i32, ptr %829, align 4, !tbaa !5
  %8514 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8505, ptr noundef nonnull %.str.5.sink3852, i32 noundef %8506, ptr noundef nonnull @.str.116, ptr noundef nonnull @.str.1, i32 noundef 850, ptr noundef %8508, ptr noundef %8510, ptr noundef %8512, i32 noundef %8513) #13
  call void @exit(i32 noundef 1) #14
  unreachable

8515:                                             ; preds = %8488
  %8516 = add nsw i32 %8489, 2
  store i32 %8516, ptr @test_count, align 4, !tbaa !5
  %8517 = load ptr, ptr %8437, align 8, !tbaa !39
  %8518 = icmp eq ptr %8517, null
  br i1 %8518, label %8541, label %8519

8519:                                             ; preds = %8515
  %8520 = load i32, ptr %829, align 4, !tbaa !5
  %8521 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8522 = call i32 @s2n_print_stacktrace(ptr noundef %8521) #11
  %8523 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8524 = trunc nuw i8 %8523 to i1
  br i1 %8524, label %8525, label %8529

8525:                                             ; preds = %8519
  %8526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8527 = call i32 @fileno(ptr noundef %8526) #11
  %8528 = call i32 @isatty(i32 noundef %8527) #11
  %.not858 = icmp eq i32 %8528, 0
  br i1 %.not858, label %8529, label %8530

8529:                                             ; preds = %8525, %8519
  br label %8530

8530:                                             ; preds = %8525, %8529
  %.str.5.sink3861 = phi ptr [ @.str.5, %8529 ], [ @.str.2, %8525 ]
  store i32 %8520, ptr %829, align 4, !tbaa !5
  %8531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8532 = load i32, ptr @test_count, align 4, !tbaa !5
  %8533 = load i32, ptr %775, align 4, !tbaa !5
  %8534 = call ptr @s2n_strerror(i32 noundef %8533, ptr noundef nonnull @.str.4) #11
  %8535 = load i32, ptr %775, align 4, !tbaa !5
  %8536 = call ptr @s2n_strerror_debug(i32 noundef %8535, ptr noundef nonnull @.str.4) #11
  %8537 = load i32, ptr %829, align 4, !tbaa !5
  %8538 = call ptr @strerror(i32 noundef %8537) #11
  %8539 = load i32, ptr %829, align 4, !tbaa !5
  %8540 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8531, ptr noundef nonnull %.str.5.sink3861, i32 noundef %8532, ptr noundef nonnull @.str.119, ptr noundef nonnull @.str.1, i32 noundef 851, ptr noundef %8534, ptr noundef %8536, ptr noundef %8538, i32 noundef %8539) #13
  call void @exit(i32 noundef 1) #14
  unreachable

8541:                                             ; preds = %8515
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %146) #11
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %147) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %147, i8 0, i64 32, i1 false)
  %8542 = add nsw i32 %8489, 3
  store i32 %8542, ptr @test_count, align 4, !tbaa !5
  %8543 = load ptr, ptr %1383, align 8, !tbaa !9
  %8544 = icmp eq ptr %8543, null
  br i1 %8544, label %8545, label %8567

8545:                                             ; preds = %8541
  %8546 = load i32, ptr %829, align 4, !tbaa !5
  %8547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8548 = call i32 @s2n_print_stacktrace(ptr noundef %8547) #11
  %8549 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8550 = trunc nuw i8 %8549 to i1
  br i1 %8550, label %8551, label %8555

8551:                                             ; preds = %8545
  %8552 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8553 = call i32 @fileno(ptr noundef %8552) #11
  %8554 = call i32 @isatty(i32 noundef %8553) #11
  %.not895 = icmp eq i32 %8554, 0
  br i1 %.not895, label %8555, label %8556

8555:                                             ; preds = %8551, %8545
  br label %8556

8556:                                             ; preds = %8551, %8555
  %.str.5.sink3870 = phi ptr [ @.str.5, %8555 ], [ @.str.2, %8551 ]
  store i32 %8546, ptr %829, align 4, !tbaa !5
  %8557 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8558 = load i32, ptr @test_count, align 4, !tbaa !5
  %8559 = load i32, ptr %775, align 4, !tbaa !5
  %8560 = call ptr @s2n_strerror(i32 noundef %8559, ptr noundef nonnull @.str.4) #11
  %8561 = load i32, ptr %775, align 4, !tbaa !5
  %8562 = call ptr @s2n_strerror_debug(i32 noundef %8561, ptr noundef nonnull @.str.4) #11
  %8563 = load i32, ptr %829, align 4, !tbaa !5
  %8564 = call ptr @strerror(i32 noundef %8563) #11
  %8565 = load i32, ptr %829, align 4, !tbaa !5
  %8566 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8557, ptr noundef nonnull %.str.5.sink3870, i32 noundef %8558, ptr noundef nonnull @.str.120, ptr noundef nonnull @.str.1, i32 noundef 857, ptr noundef %8560, ptr noundef %8562, ptr noundef %8564, i32 noundef %8565) #13
  call void @exit(i32 noundef 1) #14
  unreachable

8567:                                             ; preds = %8541
  %8568 = getelementptr inbounds i8, ptr %147, i64 8
  store ptr %8543, ptr %8568, align 8, !tbaa !40
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %148) #11
  store i64 0, ptr %148, align 8, !tbaa !21
  %8569 = add nsw i32 %8489, 4
  store i32 %8569, ptr @test_count, align 4, !tbaa !5
  %8570 = call i32 @s2n_crl_lookup_get_cert_issuer_hash(ptr noundef nonnull %147, ptr noundef nonnull %148) #11
  %8571 = icmp eq i32 %8570, -1
  br i1 %8571, label %8572, label %8594

8572:                                             ; preds = %8567
  %8573 = load i32, ptr %829, align 4, !tbaa !5
  %8574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8575 = call i32 @s2n_print_stacktrace(ptr noundef %8574) #11
  %8576 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8577 = trunc nuw i8 %8576 to i1
  br i1 %8577, label %8578, label %8582

8578:                                             ; preds = %8572
  %8579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8580 = call i32 @fileno(ptr noundef %8579) #11
  %8581 = call i32 @isatty(i32 noundef %8580) #11
  %.not894 = icmp eq i32 %8581, 0
  br i1 %.not894, label %8582, label %8583

8582:                                             ; preds = %8578, %8572
  br label %8583

8583:                                             ; preds = %8578, %8582
  %.str.5.sink3879 = phi ptr [ @.str.5, %8582 ], [ @.str.2, %8578 ]
  store i32 %8573, ptr %829, align 4, !tbaa !5
  %8584 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8585 = load i32, ptr @test_count, align 4, !tbaa !5
  %8586 = load i32, ptr %775, align 4, !tbaa !5
  %8587 = call ptr @s2n_strerror(i32 noundef %8586, ptr noundef nonnull @.str.4) #11
  %8588 = load i32, ptr %775, align 4, !tbaa !5
  %8589 = call ptr @s2n_strerror_debug(i32 noundef %8588, ptr noundef nonnull @.str.4) #11
  %8590 = load i32, ptr %829, align 4, !tbaa !5
  %8591 = call ptr @strerror(i32 noundef %8590) #11
  %8592 = load i32, ptr %829, align 4, !tbaa !5
  %8593 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8584, ptr noundef nonnull %.str.5.sink3879, i32 noundef %8585, ptr noundef nonnull @.str.121, ptr noundef nonnull @.str.1, i32 noundef 861, ptr noundef %8587, ptr noundef %8589, ptr noundef %8591, i32 noundef %8592) #13
  call void @exit(i32 noundef 1) #14
  unreachable

8594:                                             ; preds = %8567
  %8595 = load i32, ptr @test_count, align 4, !tbaa !5
  %8596 = add nsw i32 %8595, 1
  store i32 %8596, ptr @test_count, align 4, !tbaa !5
  %8597 = load i64, ptr %148, align 8, !tbaa !21
  %.not859 = icmp eq i64 %8597, 0
  br i1 %.not859, label %8598, label %8620

8598:                                             ; preds = %8594
  %8599 = load i32, ptr %829, align 4, !tbaa !5
  %8600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8601 = call i32 @s2n_print_stacktrace(ptr noundef %8600) #11
  %8602 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8603 = trunc nuw i8 %8602 to i1
  br i1 %8603, label %8604, label %8608

8604:                                             ; preds = %8598
  %8605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8606 = call i32 @fileno(ptr noundef %8605) #11
  %8607 = call i32 @isatty(i32 noundef %8606) #11
  %.not860 = icmp eq i32 %8607, 0
  br i1 %.not860, label %8608, label %8609

8608:                                             ; preds = %8604, %8598
  br label %8609

8609:                                             ; preds = %8604, %8608
  %.str.5.sink3888 = phi ptr [ @.str.5, %8608 ], [ @.str.2, %8604 ]
  store i32 %8599, ptr %829, align 4, !tbaa !5
  %8610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8611 = load i32, ptr @test_count, align 4, !tbaa !5
  %8612 = load i32, ptr %775, align 4, !tbaa !5
  %8613 = call ptr @s2n_strerror(i32 noundef %8612, ptr noundef nonnull @.str.4) #11
  %8614 = load i32, ptr %775, align 4, !tbaa !5
  %8615 = call ptr @s2n_strerror_debug(i32 noundef %8614, ptr noundef nonnull @.str.4) #11
  %8616 = load i32, ptr %829, align 4, !tbaa !5
  %8617 = call ptr @strerror(i32 noundef %8616) #11
  %8618 = load i32, ptr %829, align 4, !tbaa !5
  %8619 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8610, ptr noundef nonnull %.str.5.sink3888, i32 noundef %8611, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 862, ptr noundef %8613, ptr noundef %8615, ptr noundef %8617, i32 noundef %8618) #13
  call void @exit(i32 noundef 1) #14
  unreachable

8620:                                             ; preds = %8594
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %148) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %147) #11
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %149) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %149, i8 0, i64 32, i1 false)
  %8621 = add nsw i32 %8595, 2
  store i32 %8621, ptr @test_count, align 4, !tbaa !5
  %8622 = load ptr, ptr %1383, align 8, !tbaa !9
  %8623 = icmp eq ptr %8622, null
  br i1 %8623, label %8624, label %8646

8624:                                             ; preds = %8620
  %8625 = load i32, ptr %829, align 4, !tbaa !5
  %8626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8627 = call i32 @s2n_print_stacktrace(ptr noundef %8626) #11
  %8628 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8629 = trunc nuw i8 %8628 to i1
  br i1 %8629, label %8630, label %8634

8630:                                             ; preds = %8624
  %8631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8632 = call i32 @fileno(ptr noundef %8631) #11
  %8633 = call i32 @isatty(i32 noundef %8632) #11
  %.not893 = icmp eq i32 %8633, 0
  br i1 %.not893, label %8634, label %8635

8634:                                             ; preds = %8630, %8624
  br label %8635

8635:                                             ; preds = %8630, %8634
  %.str.5.sink3897 = phi ptr [ @.str.5, %8634 ], [ @.str.2, %8630 ]
  store i32 %8625, ptr %829, align 4, !tbaa !5
  %8636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8637 = load i32, ptr @test_count, align 4, !tbaa !5
  %8638 = load i32, ptr %775, align 4, !tbaa !5
  %8639 = call ptr @s2n_strerror(i32 noundef %8638, ptr noundef nonnull @.str.4) #11
  %8640 = load i32, ptr %775, align 4, !tbaa !5
  %8641 = call ptr @s2n_strerror_debug(i32 noundef %8640, ptr noundef nonnull @.str.4) #11
  %8642 = load i32, ptr %829, align 4, !tbaa !5
  %8643 = call ptr @strerror(i32 noundef %8642) #11
  %8644 = load i32, ptr %829, align 4, !tbaa !5
  %8645 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8636, ptr noundef nonnull %.str.5.sink3897, i32 noundef %8637, ptr noundef nonnull @.str.120, ptr noundef nonnull @.str.1, i32 noundef 870, ptr noundef %8639, ptr noundef %8641, ptr noundef %8643, i32 noundef %8644) #13
  call void @exit(i32 noundef 1) #14
  unreachable

8646:                                             ; preds = %8620
  %8647 = getelementptr inbounds i8, ptr %149, i64 8
  store ptr %8622, ptr %8647, align 8, !tbaa !40
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %150) #11
  store i64 0, ptr %150, align 8, !tbaa !21
  %8648 = add nsw i32 %8595, 3
  store i32 %8648, ptr @test_count, align 4, !tbaa !5
  %8649 = call i32 @s2n_crl_lookup_get_cert_issuer_hash(ptr noundef nonnull %149, ptr noundef nonnull %150) #11
  %8650 = icmp eq i32 %8649, -1
  br i1 %8650, label %8651, label %8673

8651:                                             ; preds = %8646
  %8652 = load i32, ptr %829, align 4, !tbaa !5
  %8653 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8654 = call i32 @s2n_print_stacktrace(ptr noundef %8653) #11
  %8655 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8656 = trunc nuw i8 %8655 to i1
  br i1 %8656, label %8657, label %8661

8657:                                             ; preds = %8651
  %8658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8659 = call i32 @fileno(ptr noundef %8658) #11
  %8660 = call i32 @isatty(i32 noundef %8659) #11
  %.not892 = icmp eq i32 %8660, 0
  br i1 %.not892, label %8661, label %8662

8661:                                             ; preds = %8657, %8651
  br label %8662

8662:                                             ; preds = %8657, %8661
  %.str.5.sink3906 = phi ptr [ @.str.5, %8661 ], [ @.str.2, %8657 ]
  store i32 %8652, ptr %829, align 4, !tbaa !5
  %8663 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8664 = load i32, ptr @test_count, align 4, !tbaa !5
  %8665 = load i32, ptr %775, align 4, !tbaa !5
  %8666 = call ptr @s2n_strerror(i32 noundef %8665, ptr noundef nonnull @.str.4) #11
  %8667 = load i32, ptr %775, align 4, !tbaa !5
  %8668 = call ptr @s2n_strerror_debug(i32 noundef %8667, ptr noundef nonnull @.str.4) #11
  %8669 = load i32, ptr %829, align 4, !tbaa !5
  %8670 = call ptr @strerror(i32 noundef %8669) #11
  %8671 = load i32, ptr %829, align 4, !tbaa !5
  %8672 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8663, ptr noundef nonnull %.str.5.sink3906, i32 noundef %8664, ptr noundef nonnull @.str.122, ptr noundef nonnull @.str.1, i32 noundef 874, ptr noundef %8666, ptr noundef %8668, ptr noundef %8670, i32 noundef %8671) #13
  call void @exit(i32 noundef 1) #14
  unreachable

8673:                                             ; preds = %8646
  %8674 = load i32, ptr @test_count, align 4, !tbaa !5
  %8675 = add nsw i32 %8674, 1
  store i32 %8675, ptr @test_count, align 4, !tbaa !5
  %8676 = load i64, ptr %150, align 8, !tbaa !21
  %.not861 = icmp eq i64 %8676, 0
  br i1 %.not861, label %8677, label %8699

8677:                                             ; preds = %8673
  %8678 = load i32, ptr %829, align 4, !tbaa !5
  %8679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8680 = call i32 @s2n_print_stacktrace(ptr noundef %8679) #11
  %8681 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8682 = trunc nuw i8 %8681 to i1
  br i1 %8682, label %8683, label %8687

8683:                                             ; preds = %8677
  %8684 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8685 = call i32 @fileno(ptr noundef %8684) #11
  %8686 = call i32 @isatty(i32 noundef %8685) #11
  %.not862 = icmp eq i32 %8686, 0
  br i1 %.not862, label %8687, label %8688

8687:                                             ; preds = %8683, %8677
  br label %8688

8688:                                             ; preds = %8683, %8687
  %.str.5.sink3915 = phi ptr [ @.str.5, %8687 ], [ @.str.2, %8683 ]
  store i32 %8678, ptr %829, align 4, !tbaa !5
  %8689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8690 = load i32, ptr @test_count, align 4, !tbaa !5
  %8691 = load i32, ptr %775, align 4, !tbaa !5
  %8692 = call ptr @s2n_strerror(i32 noundef %8691, ptr noundef nonnull @.str.4) #11
  %8693 = load i32, ptr %775, align 4, !tbaa !5
  %8694 = call ptr @s2n_strerror_debug(i32 noundef %8693, ptr noundef nonnull @.str.4) #11
  %8695 = load i32, ptr %829, align 4, !tbaa !5
  %8696 = call ptr @strerror(i32 noundef %8695) #11
  %8697 = load i32, ptr %829, align 4, !tbaa !5
  %8698 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8689, ptr noundef nonnull %.str.5.sink3915, i32 noundef %8690, ptr noundef nonnull @.str.123, ptr noundef nonnull @.str.1, i32 noundef 875, ptr noundef %8692, ptr noundef %8694, ptr noundef %8696, i32 noundef %8697) #13
  call void @exit(i32 noundef 1) #14
  unreachable

8699:                                             ; preds = %8673
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %151) #11
  store i64 0, ptr %151, align 8, !tbaa !21
  %8700 = add nsw i32 %8674, 2
  store i32 %8700, ptr @test_count, align 4, !tbaa !5
  %8701 = call i32 @s2n_crl_get_issuer_hash(ptr noundef %6454, ptr noundef nonnull %151) #11
  %8702 = icmp eq i32 %8701, -1
  br i1 %8702, label %8703, label %8725

8703:                                             ; preds = %8699
  %8704 = load i32, ptr %829, align 4, !tbaa !5
  %8705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8706 = call i32 @s2n_print_stacktrace(ptr noundef %8705) #11
  %8707 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8708 = trunc nuw i8 %8707 to i1
  br i1 %8708, label %8709, label %8713

8709:                                             ; preds = %8703
  %8710 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8711 = call i32 @fileno(ptr noundef %8710) #11
  %8712 = call i32 @isatty(i32 noundef %8711) #11
  %.not891 = icmp eq i32 %8712, 0
  br i1 %.not891, label %8713, label %8714

8713:                                             ; preds = %8709, %8703
  br label %8714

8714:                                             ; preds = %8709, %8713
  %.str.5.sink3924 = phi ptr [ @.str.5, %8713 ], [ @.str.2, %8709 ]
  store i32 %8704, ptr %829, align 4, !tbaa !5
  %8715 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8716 = load i32, ptr @test_count, align 4, !tbaa !5
  %8717 = load i32, ptr %775, align 4, !tbaa !5
  %8718 = call ptr @s2n_strerror(i32 noundef %8717, ptr noundef nonnull @.str.4) #11
  %8719 = load i32, ptr %775, align 4, !tbaa !5
  %8720 = call ptr @s2n_strerror_debug(i32 noundef %8719, ptr noundef nonnull @.str.4) #11
  %8721 = load i32, ptr %829, align 4, !tbaa !5
  %8722 = call ptr @strerror(i32 noundef %8721) #11
  %8723 = load i32, ptr %829, align 4, !tbaa !5
  %8724 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8715, ptr noundef nonnull %.str.5.sink3924, i32 noundef %8716, ptr noundef nonnull @.str.124, ptr noundef nonnull @.str.1, i32 noundef 878, ptr noundef %8718, ptr noundef %8720, ptr noundef %8722, i32 noundef %8723) #13
  call void @exit(i32 noundef 1) #14
  unreachable

8725:                                             ; preds = %8699
  %8726 = load i32, ptr @test_count, align 4, !tbaa !5
  %8727 = add nsw i32 %8726, 1
  store i32 %8727, ptr @test_count, align 4, !tbaa !5
  %8728 = load i64, ptr %151, align 8, !tbaa !21
  %.not863 = icmp eq i64 %8728, 0
  br i1 %.not863, label %8729, label %8751

8729:                                             ; preds = %8725
  %8730 = load i32, ptr %829, align 4, !tbaa !5
  %8731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8732 = call i32 @s2n_print_stacktrace(ptr noundef %8731) #11
  %8733 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8734 = trunc nuw i8 %8733 to i1
  br i1 %8734, label %8735, label %8739

8735:                                             ; preds = %8729
  %8736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8737 = call i32 @fileno(ptr noundef %8736) #11
  %8738 = call i32 @isatty(i32 noundef %8737) #11
  %.not864 = icmp eq i32 %8738, 0
  br i1 %.not864, label %8739, label %8740

8739:                                             ; preds = %8735, %8729
  br label %8740

8740:                                             ; preds = %8735, %8739
  %.str.5.sink3933 = phi ptr [ @.str.5, %8739 ], [ @.str.2, %8735 ]
  store i32 %8730, ptr %829, align 4, !tbaa !5
  %8741 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8742 = load i32, ptr @test_count, align 4, !tbaa !5
  %8743 = load i32, ptr %775, align 4, !tbaa !5
  %8744 = call ptr @s2n_strerror(i32 noundef %8743, ptr noundef nonnull @.str.4) #11
  %8745 = load i32, ptr %775, align 4, !tbaa !5
  %8746 = call ptr @s2n_strerror_debug(i32 noundef %8745, ptr noundef nonnull @.str.4) #11
  %8747 = load i32, ptr %829, align 4, !tbaa !5
  %8748 = call ptr @strerror(i32 noundef %8747) #11
  %8749 = load i32, ptr %829, align 4, !tbaa !5
  %8750 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8741, ptr noundef nonnull %.str.5.sink3933, i32 noundef %8742, ptr noundef nonnull @.str.125, ptr noundef nonnull @.str.1, i32 noundef 879, ptr noundef %8744, ptr noundef %8746, ptr noundef %8748, i32 noundef %8749) #13
  call void @exit(i32 noundef 1) #14
  unreachable

8751:                                             ; preds = %8725
  %8752 = add nsw i32 %8726, 2
  store i32 %8752, ptr @test_count, align 4, !tbaa !5
  %8753 = load i64, ptr %150, align 8, !tbaa !21
  %8754 = icmp eq i64 %8753, %8728
  br i1 %8754, label %8777, label %8755

8755:                                             ; preds = %8751
  %8756 = load i32, ptr %829, align 4, !tbaa !5
  %8757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8758 = call i32 @s2n_print_stacktrace(ptr noundef %8757) #11
  %8759 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8760 = trunc nuw i8 %8759 to i1
  br i1 %8760, label %8761, label %8765

8761:                                             ; preds = %8755
  %8762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8763 = call i32 @fileno(ptr noundef %8762) #11
  %8764 = call i32 @isatty(i32 noundef %8763) #11
  %.not865 = icmp eq i32 %8764, 0
  br i1 %.not865, label %8765, label %8766

8765:                                             ; preds = %8761, %8755
  br label %8766

8766:                                             ; preds = %8761, %8765
  %.str.5.sink3942 = phi ptr [ @.str.5, %8765 ], [ @.str.2, %8761 ]
  store i32 %8756, ptr %829, align 4, !tbaa !5
  %8767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8768 = load i32, ptr @test_count, align 4, !tbaa !5
  %8769 = load i32, ptr %775, align 4, !tbaa !5
  %8770 = call ptr @s2n_strerror(i32 noundef %8769, ptr noundef nonnull @.str.4) #11
  %8771 = load i32, ptr %775, align 4, !tbaa !5
  %8772 = call ptr @s2n_strerror_debug(i32 noundef %8771, ptr noundef nonnull @.str.4) #11
  %8773 = load i32, ptr %829, align 4, !tbaa !5
  %8774 = call ptr @strerror(i32 noundef %8773) #11
  %8775 = load i32, ptr %829, align 4, !tbaa !5
  %8776 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8767, ptr noundef nonnull %.str.5.sink3942, i32 noundef %8768, ptr noundef nonnull @.str.126, ptr noundef nonnull @.str.1, i32 noundef 881, ptr noundef %8770, ptr noundef %8772, ptr noundef %8774, i32 noundef %8775) #13
  call void @exit(i32 noundef 1) #14
  unreachable

8777:                                             ; preds = %8751
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %152) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %152, i8 0, i64 32, i1 false)
  %8778 = add nsw i32 %8726, 3
  store i32 %8778, ptr @test_count, align 4, !tbaa !5
  %8779 = getelementptr inbounds i8, ptr %17, i64 48
  %8780 = load ptr, ptr %8779, align 8, !tbaa !9
  %8781 = icmp eq ptr %8780, null
  br i1 %8781, label %8782, label %8804

8782:                                             ; preds = %8777
  %8783 = load i32, ptr %829, align 4, !tbaa !5
  %8784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8785 = call i32 @s2n_print_stacktrace(ptr noundef %8784) #11
  %8786 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8787 = trunc nuw i8 %8786 to i1
  br i1 %8787, label %8788, label %8792

8788:                                             ; preds = %8782
  %8789 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8790 = call i32 @fileno(ptr noundef %8789) #11
  %8791 = call i32 @isatty(i32 noundef %8790) #11
  %.not890 = icmp eq i32 %8791, 0
  br i1 %.not890, label %8792, label %8793

8792:                                             ; preds = %8788, %8782
  br label %8793

8793:                                             ; preds = %8788, %8792
  %.str.5.sink3951 = phi ptr [ @.str.5, %8792 ], [ @.str.2, %8788 ]
  store i32 %8783, ptr %829, align 4, !tbaa !5
  %8794 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8795 = load i32, ptr @test_count, align 4, !tbaa !5
  %8796 = load i32, ptr %775, align 4, !tbaa !5
  %8797 = call ptr @s2n_strerror(i32 noundef %8796, ptr noundef nonnull @.str.4) #11
  %8798 = load i32, ptr %775, align 4, !tbaa !5
  %8799 = call ptr @s2n_strerror_debug(i32 noundef %8798, ptr noundef nonnull @.str.4) #11
  %8800 = load i32, ptr %829, align 4, !tbaa !5
  %8801 = call ptr @strerror(i32 noundef %8800) #11
  %8802 = load i32, ptr %829, align 4, !tbaa !5
  %8803 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8794, ptr noundef nonnull %.str.5.sink3951, i32 noundef %8795, ptr noundef nonnull @.str.127, ptr noundef nonnull @.str.1, i32 noundef 886, ptr noundef %8797, ptr noundef %8799, ptr noundef %8801, i32 noundef %8802) #13
  call void @exit(i32 noundef 1) #14
  unreachable

8804:                                             ; preds = %8777
  %8805 = getelementptr inbounds i8, ptr %152, i64 8
  store ptr %8780, ptr %8805, align 8, !tbaa !40
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %153) #11
  store i64 0, ptr %153, align 8, !tbaa !21
  %8806 = add nsw i32 %8726, 4
  store i32 %8806, ptr @test_count, align 4, !tbaa !5
  %8807 = call i32 @s2n_crl_lookup_get_cert_issuer_hash(ptr noundef nonnull %152, ptr noundef nonnull %153) #11
  %8808 = icmp eq i32 %8807, -1
  br i1 %8808, label %8809, label %8831

8809:                                             ; preds = %8804
  %8810 = load i32, ptr %829, align 4, !tbaa !5
  %8811 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8812 = call i32 @s2n_print_stacktrace(ptr noundef %8811) #11
  %8813 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8814 = trunc nuw i8 %8813 to i1
  br i1 %8814, label %8815, label %8819

8815:                                             ; preds = %8809
  %8816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8817 = call i32 @fileno(ptr noundef %8816) #11
  %8818 = call i32 @isatty(i32 noundef %8817) #11
  %.not889 = icmp eq i32 %8818, 0
  br i1 %.not889, label %8819, label %8820

8819:                                             ; preds = %8815, %8809
  br label %8820

8820:                                             ; preds = %8815, %8819
  %.str.5.sink3960 = phi ptr [ @.str.5, %8819 ], [ @.str.2, %8815 ]
  store i32 %8810, ptr %829, align 4, !tbaa !5
  %8821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8822 = load i32, ptr @test_count, align 4, !tbaa !5
  %8823 = load i32, ptr %775, align 4, !tbaa !5
  %8824 = call ptr @s2n_strerror(i32 noundef %8823, ptr noundef nonnull @.str.4) #11
  %8825 = load i32, ptr %775, align 4, !tbaa !5
  %8826 = call ptr @s2n_strerror_debug(i32 noundef %8825, ptr noundef nonnull @.str.4) #11
  %8827 = load i32, ptr %829, align 4, !tbaa !5
  %8828 = call ptr @strerror(i32 noundef %8827) #11
  %8829 = load i32, ptr %829, align 4, !tbaa !5
  %8830 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8821, ptr noundef nonnull %.str.5.sink3960, i32 noundef %8822, ptr noundef nonnull @.str.128, ptr noundef nonnull @.str.1, i32 noundef 890, ptr noundef %8824, ptr noundef %8826, ptr noundef %8828, i32 noundef %8829) #13
  call void @exit(i32 noundef 1) #14
  unreachable

8831:                                             ; preds = %8804
  %8832 = load i32, ptr @test_count, align 4, !tbaa !5
  %8833 = add nsw i32 %8832, 1
  store i32 %8833, ptr @test_count, align 4, !tbaa !5
  %8834 = load i64, ptr %153, align 8, !tbaa !21
  %.not866 = icmp eq i64 %8834, 0
  br i1 %.not866, label %8835, label %8857

8835:                                             ; preds = %8831
  %8836 = load i32, ptr %829, align 4, !tbaa !5
  %8837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8838 = call i32 @s2n_print_stacktrace(ptr noundef %8837) #11
  %8839 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8840 = trunc nuw i8 %8839 to i1
  br i1 %8840, label %8841, label %8845

8841:                                             ; preds = %8835
  %8842 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8843 = call i32 @fileno(ptr noundef %8842) #11
  %8844 = call i32 @isatty(i32 noundef %8843) #11
  %.not867 = icmp eq i32 %8844, 0
  br i1 %.not867, label %8845, label %8846

8845:                                             ; preds = %8841, %8835
  br label %8846

8846:                                             ; preds = %8841, %8845
  %.str.5.sink3969 = phi ptr [ @.str.5, %8845 ], [ @.str.2, %8841 ]
  store i32 %8836, ptr %829, align 4, !tbaa !5
  %8847 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8848 = load i32, ptr @test_count, align 4, !tbaa !5
  %8849 = load i32, ptr %775, align 4, !tbaa !5
  %8850 = call ptr @s2n_strerror(i32 noundef %8849, ptr noundef nonnull @.str.4) #11
  %8851 = load i32, ptr %775, align 4, !tbaa !5
  %8852 = call ptr @s2n_strerror_debug(i32 noundef %8851, ptr noundef nonnull @.str.4) #11
  %8853 = load i32, ptr %829, align 4, !tbaa !5
  %8854 = call ptr @strerror(i32 noundef %8853) #11
  %8855 = load i32, ptr %829, align 4, !tbaa !5
  %8856 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8847, ptr noundef nonnull %.str.5.sink3969, i32 noundef %8848, ptr noundef nonnull @.str.129, ptr noundef nonnull @.str.1, i32 noundef 891, ptr noundef %8850, ptr noundef %8852, ptr noundef %8854, i32 noundef %8855) #13
  call void @exit(i32 noundef 1) #14
  unreachable

8857:                                             ; preds = %8831
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %154) #11
  store i64 0, ptr %154, align 8, !tbaa !21
  %8858 = add nsw i32 %8832, 2
  store i32 %8858, ptr @test_count, align 4, !tbaa !5
  %8859 = call i32 @s2n_crl_get_issuer_hash(ptr noundef %6455, ptr noundef nonnull %154) #11
  %8860 = icmp eq i32 %8859, -1
  br i1 %8860, label %8861, label %8883

8861:                                             ; preds = %8857
  %8862 = load i32, ptr %829, align 4, !tbaa !5
  %8863 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8864 = call i32 @s2n_print_stacktrace(ptr noundef %8863) #11
  %8865 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8866 = trunc nuw i8 %8865 to i1
  br i1 %8866, label %8867, label %8871

8867:                                             ; preds = %8861
  %8868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8869 = call i32 @fileno(ptr noundef %8868) #11
  %8870 = call i32 @isatty(i32 noundef %8869) #11
  %.not888 = icmp eq i32 %8870, 0
  br i1 %.not888, label %8871, label %8872

8871:                                             ; preds = %8867, %8861
  br label %8872

8872:                                             ; preds = %8867, %8871
  %.str.5.sink3978 = phi ptr [ @.str.5, %8871 ], [ @.str.2, %8867 ]
  store i32 %8862, ptr %829, align 4, !tbaa !5
  %8873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8874 = load i32, ptr @test_count, align 4, !tbaa !5
  %8875 = load i32, ptr %775, align 4, !tbaa !5
  %8876 = call ptr @s2n_strerror(i32 noundef %8875, ptr noundef nonnull @.str.4) #11
  %8877 = load i32, ptr %775, align 4, !tbaa !5
  %8878 = call ptr @s2n_strerror_debug(i32 noundef %8877, ptr noundef nonnull @.str.4) #11
  %8879 = load i32, ptr %829, align 4, !tbaa !5
  %8880 = call ptr @strerror(i32 noundef %8879) #11
  %8881 = load i32, ptr %829, align 4, !tbaa !5
  %8882 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8873, ptr noundef nonnull %.str.5.sink3978, i32 noundef %8874, ptr noundef nonnull @.str.130, ptr noundef nonnull @.str.1, i32 noundef 894, ptr noundef %8876, ptr noundef %8878, ptr noundef %8880, i32 noundef %8881) #13
  call void @exit(i32 noundef 1) #14
  unreachable

8883:                                             ; preds = %8857
  %8884 = load i32, ptr @test_count, align 4, !tbaa !5
  %8885 = add nsw i32 %8884, 1
  store i32 %8885, ptr @test_count, align 4, !tbaa !5
  %8886 = load i64, ptr %154, align 8, !tbaa !21
  %.not868 = icmp eq i64 %8886, 0
  br i1 %.not868, label %8887, label %8909

8887:                                             ; preds = %8883
  %8888 = load i32, ptr %829, align 4, !tbaa !5
  %8889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8890 = call i32 @s2n_print_stacktrace(ptr noundef %8889) #11
  %8891 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8892 = trunc nuw i8 %8891 to i1
  br i1 %8892, label %8893, label %8897

8893:                                             ; preds = %8887
  %8894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8895 = call i32 @fileno(ptr noundef %8894) #11
  %8896 = call i32 @isatty(i32 noundef %8895) #11
  %.not869 = icmp eq i32 %8896, 0
  br i1 %.not869, label %8897, label %8898

8897:                                             ; preds = %8893, %8887
  br label %8898

8898:                                             ; preds = %8893, %8897
  %.str.5.sink3987 = phi ptr [ @.str.5, %8897 ], [ @.str.2, %8893 ]
  store i32 %8888, ptr %829, align 4, !tbaa !5
  %8899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8900 = load i32, ptr @test_count, align 4, !tbaa !5
  %8901 = load i32, ptr %775, align 4, !tbaa !5
  %8902 = call ptr @s2n_strerror(i32 noundef %8901, ptr noundef nonnull @.str.4) #11
  %8903 = load i32, ptr %775, align 4, !tbaa !5
  %8904 = call ptr @s2n_strerror_debug(i32 noundef %8903, ptr noundef nonnull @.str.4) #11
  %8905 = load i32, ptr %829, align 4, !tbaa !5
  %8906 = call ptr @strerror(i32 noundef %8905) #11
  %8907 = load i32, ptr %829, align 4, !tbaa !5
  %8908 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8899, ptr noundef nonnull %.str.5.sink3987, i32 noundef %8900, ptr noundef nonnull @.str.131, ptr noundef nonnull @.str.1, i32 noundef 895, ptr noundef %8902, ptr noundef %8904, ptr noundef %8906, i32 noundef %8907) #13
  call void @exit(i32 noundef 1) #14
  unreachable

8909:                                             ; preds = %8883
  %8910 = add nsw i32 %8884, 2
  store i32 %8910, ptr @test_count, align 4, !tbaa !5
  %8911 = load i64, ptr %153, align 8, !tbaa !21
  %8912 = icmp eq i64 %8911, %8886
  br i1 %8912, label %8935, label %8913

8913:                                             ; preds = %8909
  %8914 = load i32, ptr %829, align 4, !tbaa !5
  %8915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8916 = call i32 @s2n_print_stacktrace(ptr noundef %8915) #11
  %8917 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8918 = trunc nuw i8 %8917 to i1
  br i1 %8918, label %8919, label %8923

8919:                                             ; preds = %8913
  %8920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8921 = call i32 @fileno(ptr noundef %8920) #11
  %8922 = call i32 @isatty(i32 noundef %8921) #11
  %.not870 = icmp eq i32 %8922, 0
  br i1 %.not870, label %8923, label %8924

8923:                                             ; preds = %8919, %8913
  br label %8924

8924:                                             ; preds = %8919, %8923
  %.str.5.sink3996 = phi ptr [ @.str.5, %8923 ], [ @.str.2, %8919 ]
  store i32 %8914, ptr %829, align 4, !tbaa !5
  %8925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8926 = load i32, ptr @test_count, align 4, !tbaa !5
  %8927 = load i32, ptr %775, align 4, !tbaa !5
  %8928 = call ptr @s2n_strerror(i32 noundef %8927, ptr noundef nonnull @.str.4) #11
  %8929 = load i32, ptr %775, align 4, !tbaa !5
  %8930 = call ptr @s2n_strerror_debug(i32 noundef %8929, ptr noundef nonnull @.str.4) #11
  %8931 = load i32, ptr %829, align 4, !tbaa !5
  %8932 = call ptr @strerror(i32 noundef %8931) #11
  %8933 = load i32, ptr %829, align 4, !tbaa !5
  %8934 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8925, ptr noundef nonnull %.str.5.sink3996, i32 noundef %8926, ptr noundef nonnull @.str.132, ptr noundef nonnull @.str.1, i32 noundef 897, ptr noundef %8928, ptr noundef %8930, ptr noundef %8932, i32 noundef %8933) #13
  call void @exit(i32 noundef 1) #14
  unreachable

8935:                                             ; preds = %8909
  %8936 = add nsw i32 %8884, 3
  store i32 %8936, ptr @test_count, align 4, !tbaa !5
  %8937 = load i64, ptr %150, align 8, !tbaa !21
  %.not871 = icmp eq i64 %8937, %8886
  br i1 %.not871, label %8938, label %8960

8938:                                             ; preds = %8935
  %8939 = load i32, ptr %829, align 4, !tbaa !5
  %8940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8941 = call i32 @s2n_print_stacktrace(ptr noundef %8940) #11
  %8942 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8943 = trunc nuw i8 %8942 to i1
  br i1 %8943, label %8944, label %8948

8944:                                             ; preds = %8938
  %8945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8946 = call i32 @fileno(ptr noundef %8945) #11
  %8947 = call i32 @isatty(i32 noundef %8946) #11
  %.not872 = icmp eq i32 %8947, 0
  br i1 %.not872, label %8948, label %8949

8948:                                             ; preds = %8944, %8938
  br label %8949

8949:                                             ; preds = %8944, %8948
  %.str.5.sink4005 = phi ptr [ @.str.5, %8948 ], [ @.str.2, %8944 ]
  store i32 %8939, ptr %829, align 4, !tbaa !5
  %8950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8951 = load i32, ptr @test_count, align 4, !tbaa !5
  %8952 = load i32, ptr %775, align 4, !tbaa !5
  %8953 = call ptr @s2n_strerror(i32 noundef %8952, ptr noundef nonnull @.str.4) #11
  %8954 = load i32, ptr %775, align 4, !tbaa !5
  %8955 = call ptr @s2n_strerror_debug(i32 noundef %8954, ptr noundef nonnull @.str.4) #11
  %8956 = load i32, ptr %829, align 4, !tbaa !5
  %8957 = call ptr @strerror(i32 noundef %8956) #11
  %8958 = load i32, ptr %829, align 4, !tbaa !5
  %8959 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8950, ptr noundef nonnull %.str.5.sink4005, i32 noundef %8951, ptr noundef nonnull @.str.133, ptr noundef nonnull @.str.1, i32 noundef 900, ptr noundef %8953, ptr noundef %8955, ptr noundef %8957, i32 noundef %8958) #13
  call void @exit(i32 noundef 1) #14
  unreachable

8960:                                             ; preds = %8935
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %154) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %153) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %152) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %151) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %150) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %149) #11
  %8961 = add nsw i32 %8884, 4
  store i32 %8961, ptr @test_count, align 4, !tbaa !5
  %8962 = call i32 @s2n_crl_validate_active(ptr noundef %6454) #11
  %8963 = icmp eq i32 %8962, -1
  br i1 %8963, label %8964, label %8986

8964:                                             ; preds = %8960
  %8965 = load i32, ptr %829, align 4, !tbaa !5
  %8966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8967 = call i32 @s2n_print_stacktrace(ptr noundef %8966) #11
  %8968 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8969 = trunc nuw i8 %8968 to i1
  br i1 %8969, label %8970, label %8974

8970:                                             ; preds = %8964
  %8971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8972 = call i32 @fileno(ptr noundef %8971) #11
  %8973 = call i32 @isatty(i32 noundef %8972) #11
  %.not887 = icmp eq i32 %8973, 0
  br i1 %.not887, label %8974, label %8975

8974:                                             ; preds = %8970, %8964
  br label %8975

8975:                                             ; preds = %8970, %8974
  %.str.5.sink4014 = phi ptr [ @.str.5, %8974 ], [ @.str.2, %8970 ]
  store i32 %8965, ptr %829, align 4, !tbaa !5
  %8976 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8977 = load i32, ptr @test_count, align 4, !tbaa !5
  %8978 = load i32, ptr %775, align 4, !tbaa !5
  %8979 = call ptr @s2n_strerror(i32 noundef %8978, ptr noundef nonnull @.str.4) #11
  %8980 = load i32, ptr %775, align 4, !tbaa !5
  %8981 = call ptr @s2n_strerror_debug(i32 noundef %8980, ptr noundef nonnull @.str.4) #11
  %8982 = load i32, ptr %829, align 4, !tbaa !5
  %8983 = call ptr @strerror(i32 noundef %8982) #11
  %8984 = load i32, ptr %829, align 4, !tbaa !5
  %8985 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8976, ptr noundef nonnull %.str.5.sink4014, i32 noundef %8977, ptr noundef nonnull @.str.134, ptr noundef nonnull @.str.1, i32 noundef 906, ptr noundef %8979, ptr noundef %8981, ptr noundef %8983, i32 noundef %8984) #13
  call void @exit(i32 noundef 1) #14
  unreachable

8986:                                             ; preds = %8960
  %8987 = load i32, ptr @test_count, align 4, !tbaa !5
  %8988 = add nsw i32 %8987, 1
  store i32 %8988, ptr @test_count, align 4, !tbaa !5
  %8989 = load ptr, ptr %16, align 8, !tbaa !9
  %8990 = call i32 @s2n_crl_validate_active(ptr noundef %8989) #11
  %8991 = icmp eq i32 %8990, -1
  br i1 %8991, label %8992, label %9014

8992:                                             ; preds = %8986
  %8993 = load i32, ptr %829, align 4, !tbaa !5
  %8994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8995 = call i32 @s2n_print_stacktrace(ptr noundef %8994) #11
  %8996 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8997 = trunc nuw i8 %8996 to i1
  br i1 %8997, label %8998, label %9002

8998:                                             ; preds = %8992
  %8999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9000 = call i32 @fileno(ptr noundef %8999) #11
  %9001 = call i32 @isatty(i32 noundef %9000) #11
  %.not886 = icmp eq i32 %9001, 0
  br i1 %.not886, label %9002, label %9003

9002:                                             ; preds = %8998, %8992
  br label %9003

9003:                                             ; preds = %8998, %9002
  %.str.5.sink4023 = phi ptr [ @.str.5, %9002 ], [ @.str.2, %8998 ]
  store i32 %8993, ptr %829, align 4, !tbaa !5
  %9004 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9005 = load i32, ptr @test_count, align 4, !tbaa !5
  %9006 = load i32, ptr %775, align 4, !tbaa !5
  %9007 = call ptr @s2n_strerror(i32 noundef %9006, ptr noundef nonnull @.str.4) #11
  %9008 = load i32, ptr %775, align 4, !tbaa !5
  %9009 = call ptr @s2n_strerror_debug(i32 noundef %9008, ptr noundef nonnull @.str.4) #11
  %9010 = load i32, ptr %829, align 4, !tbaa !5
  %9011 = call ptr @strerror(i32 noundef %9010) #11
  %9012 = load i32, ptr %829, align 4, !tbaa !5
  %9013 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9004, ptr noundef nonnull %.str.5.sink4023, i32 noundef %9005, ptr noundef nonnull @.str.135, ptr noundef nonnull @.str.1, i32 noundef 909, ptr noundef %9007, ptr noundef %9009, ptr noundef %9011, i32 noundef %9012) #13
  call void @exit(i32 noundef 1) #14
  unreachable

9014:                                             ; preds = %8986
  %9015 = load i32, ptr @test_count, align 4, !tbaa !5
  %9016 = add nsw i32 %9015, 1
  store i32 %9016, ptr @test_count, align 4, !tbaa !5
  %9017 = load ptr, ptr %15, align 8, !tbaa !9
  %9018 = call i32 @s2n_crl_validate_active(ptr noundef %9017) #11
  %9019 = icmp eq i32 %9018, -1
  br i1 %9019, label %9042, label %9020

9020:                                             ; preds = %9014
  %9021 = load i32, ptr %829, align 4, !tbaa !5
  %9022 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9023 = call i32 @s2n_print_stacktrace(ptr noundef %9022) #11
  %9024 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9025 = trunc nuw i8 %9024 to i1
  br i1 %9025, label %9026, label %9030

9026:                                             ; preds = %9020
  %9027 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9028 = call i32 @fileno(ptr noundef %9027) #11
  %9029 = call i32 @isatty(i32 noundef %9028) #11
  %.not873 = icmp eq i32 %9029, 0
  br i1 %.not873, label %9030, label %9031

9030:                                             ; preds = %9026, %9020
  br label %9031

9031:                                             ; preds = %9026, %9030
  %.str.5.sink4032 = phi ptr [ @.str.5, %9030 ], [ @.str.2, %9026 ]
  store i32 %9021, ptr %829, align 4, !tbaa !5
  %9032 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9033 = load i32, ptr @test_count, align 4, !tbaa !5
  %9034 = load i32, ptr %775, align 4, !tbaa !5
  %9035 = call ptr @s2n_strerror(i32 noundef %9034, ptr noundef nonnull @.str.4) #11
  %9036 = load i32, ptr %775, align 4, !tbaa !5
  %9037 = call ptr @s2n_strerror_debug(i32 noundef %9036, ptr noundef nonnull @.str.4) #11
  %9038 = load i32, ptr %829, align 4, !tbaa !5
  %9039 = call ptr @strerror(i32 noundef %9038) #11
  %9040 = load i32, ptr %829, align 4, !tbaa !5
  %9041 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9032, ptr noundef nonnull %.str.5.sink4032, i32 noundef %9033, ptr noundef nonnull @.str.136, ptr noundef nonnull @.str.1, i32 noundef 913, ptr noundef %9035, ptr noundef %9037, ptr noundef %9039, i32 noundef %9040) #13
  call void @exit(i32 noundef 1) #14
  unreachable

9042:                                             ; preds = %9014
  %9043 = load i32, ptr @test_count, align 4, !tbaa !5
  %9044 = add nsw i32 %9043, 1
  store i32 %9044, ptr @test_count, align 4, !tbaa !5
  %9045 = load i32, ptr %775, align 4, !tbaa !5
  %9046 = icmp eq i32 %9045, 335544380
  br i1 %9046, label %9069, label %9047

9047:                                             ; preds = %9042
  %9048 = load i32, ptr %829, align 4, !tbaa !5
  %9049 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9050 = call i32 @s2n_print_stacktrace(ptr noundef %9049) #11
  %9051 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9052 = trunc nuw i8 %9051 to i1
  br i1 %9052, label %9053, label %9057

9053:                                             ; preds = %9047
  %9054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9055 = call i32 @fileno(ptr noundef %9054) #11
  %9056 = call i32 @isatty(i32 noundef %9055) #11
  %.not874 = icmp eq i32 %9056, 0
  br i1 %.not874, label %9057, label %9058

9057:                                             ; preds = %9053, %9047
  br label %9058

9058:                                             ; preds = %9053, %9057
  %.str.5.sink4041 = phi ptr [ @.str.5, %9057 ], [ @.str.2, %9053 ]
  store i32 %9048, ptr %829, align 4, !tbaa !5
  %9059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9060 = load i32, ptr @test_count, align 4, !tbaa !5
  %9061 = load i32, ptr %775, align 4, !tbaa !5
  %9062 = call ptr @s2n_strerror(i32 noundef %9061, ptr noundef nonnull @.str.4) #11
  %9063 = load i32, ptr %775, align 4, !tbaa !5
  %9064 = call ptr @s2n_strerror_debug(i32 noundef %9063, ptr noundef nonnull @.str.4) #11
  %9065 = load i32, ptr %829, align 4, !tbaa !5
  %9066 = call ptr @strerror(i32 noundef %9065) #11
  %9067 = load i32, ptr %829, align 4, !tbaa !5
  %9068 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9059, ptr noundef nonnull %.str.5.sink4041, i32 noundef %9060, ptr noundef nonnull @.str.137, ptr noundef nonnull @.str.1, i32 noundef 913, ptr noundef %9062, ptr noundef %9064, ptr noundef %9066, i32 noundef %9067) #13
  call void @exit(i32 noundef 1) #14
  unreachable

9069:                                             ; preds = %9042
  %9070 = add nsw i32 %9043, 2
  store i32 %9070, ptr @test_count, align 4, !tbaa !5
  %9071 = call ptr @s2n_strerror_debug(i32 noundef 335544380, ptr noundef nonnull @.str.4) #11
  %9072 = icmp eq ptr %9071, null
  br i1 %9072, label %9073, label %9095

9073:                                             ; preds = %9069
  %9074 = load i32, ptr %829, align 4, !tbaa !5
  %9075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9076 = call i32 @s2n_print_stacktrace(ptr noundef %9075) #11
  %9077 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9078 = trunc nuw i8 %9077 to i1
  br i1 %9078, label %9079, label %9083

9079:                                             ; preds = %9073
  %9080 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9081 = call i32 @fileno(ptr noundef %9080) #11
  %9082 = call i32 @isatty(i32 noundef %9081) #11
  %.not885 = icmp eq i32 %9082, 0
  br i1 %.not885, label %9083, label %9084

9083:                                             ; preds = %9079, %9073
  br label %9084

9084:                                             ; preds = %9079, %9083
  %.str.5.sink4050 = phi ptr [ @.str.5, %9083 ], [ @.str.2, %9079 ]
  store i32 %9074, ptr %829, align 4, !tbaa !5
  %9085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9086 = load i32, ptr @test_count, align 4, !tbaa !5
  %9087 = load i32, ptr %775, align 4, !tbaa !5
  %9088 = call ptr @s2n_strerror(i32 noundef %9087, ptr noundef nonnull @.str.4) #11
  %9089 = load i32, ptr %775, align 4, !tbaa !5
  %9090 = call ptr @s2n_strerror_debug(i32 noundef %9089, ptr noundef nonnull @.str.4) #11
  %9091 = load i32, ptr %829, align 4, !tbaa !5
  %9092 = call ptr @strerror(i32 noundef %9091) #11
  %9093 = load i32, ptr %829, align 4, !tbaa !5
  %9094 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9085, ptr noundef nonnull %.str.5.sink4050, i32 noundef %9086, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 913, ptr noundef %9088, ptr noundef %9090, ptr noundef %9092, i32 noundef %9093) #13
  call void @exit(i32 noundef 1) #14
  unreachable

9095:                                             ; preds = %9069
  store i32 0, ptr %775, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %829, align 4, !tbaa !5
  %9096 = load i32, ptr @test_count, align 4, !tbaa !5
  %9097 = add nsw i32 %9096, 1
  store i32 %9097, ptr @test_count, align 4, !tbaa !5
  %9098 = call i32 @s2n_crl_validate_not_expired(ptr noundef %6454) #11
  %9099 = icmp eq i32 %9098, -1
  br i1 %9099, label %9100, label %9122

9100:                                             ; preds = %9095
  %9101 = load i32, ptr %829, align 4, !tbaa !5
  %9102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9103 = call i32 @s2n_print_stacktrace(ptr noundef %9102) #11
  %9104 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9105 = trunc nuw i8 %9104 to i1
  br i1 %9105, label %9106, label %9110

9106:                                             ; preds = %9100
  %9107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9108 = call i32 @fileno(ptr noundef %9107) #11
  %9109 = call i32 @isatty(i32 noundef %9108) #11
  %.not884 = icmp eq i32 %9109, 0
  br i1 %.not884, label %9110, label %9111

9110:                                             ; preds = %9106, %9100
  br label %9111

9111:                                             ; preds = %9106, %9110
  %.str.5.sink4059 = phi ptr [ @.str.5, %9110 ], [ @.str.2, %9106 ]
  store i32 %9101, ptr %829, align 4, !tbaa !5
  %9112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9113 = load i32, ptr @test_count, align 4, !tbaa !5
  %9114 = load i32, ptr %775, align 4, !tbaa !5
  %9115 = call ptr @s2n_strerror(i32 noundef %9114, ptr noundef nonnull @.str.4) #11
  %9116 = load i32, ptr %775, align 4, !tbaa !5
  %9117 = call ptr @s2n_strerror_debug(i32 noundef %9116, ptr noundef nonnull @.str.4) #11
  %9118 = load i32, ptr %829, align 4, !tbaa !5
  %9119 = call ptr @strerror(i32 noundef %9118) #11
  %9120 = load i32, ptr %829, align 4, !tbaa !5
  %9121 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9112, ptr noundef nonnull %.str.5.sink4059, i32 noundef %9113, ptr noundef nonnull @.str.138, ptr noundef nonnull @.str.1, i32 noundef 919, ptr noundef %9115, ptr noundef %9117, ptr noundef %9119, i32 noundef %9120) #13
  call void @exit(i32 noundef 1) #14
  unreachable

9122:                                             ; preds = %9095
  %9123 = load i32, ptr @test_count, align 4, !tbaa !5
  %9124 = add nsw i32 %9123, 1
  store i32 %9124, ptr @test_count, align 4, !tbaa !5
  %9125 = call i32 @s2n_crl_validate_not_expired(ptr noundef %9017) #11
  %9126 = icmp eq i32 %9125, -1
  br i1 %9126, label %9127, label %9149

9127:                                             ; preds = %9122
  %9128 = load i32, ptr %829, align 4, !tbaa !5
  %9129 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9130 = call i32 @s2n_print_stacktrace(ptr noundef %9129) #11
  %9131 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9132 = trunc nuw i8 %9131 to i1
  br i1 %9132, label %9133, label %9137

9133:                                             ; preds = %9127
  %9134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9135 = call i32 @fileno(ptr noundef %9134) #11
  %9136 = call i32 @isatty(i32 noundef %9135) #11
  %.not883 = icmp eq i32 %9136, 0
  br i1 %.not883, label %9137, label %9138

9137:                                             ; preds = %9133, %9127
  br label %9138

9138:                                             ; preds = %9133, %9137
  %.str.5.sink4068 = phi ptr [ @.str.5, %9137 ], [ @.str.2, %9133 ]
  store i32 %9128, ptr %829, align 4, !tbaa !5
  %9139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9140 = load i32, ptr @test_count, align 4, !tbaa !5
  %9141 = load i32, ptr %775, align 4, !tbaa !5
  %9142 = call ptr @s2n_strerror(i32 noundef %9141, ptr noundef nonnull @.str.4) #11
  %9143 = load i32, ptr %775, align 4, !tbaa !5
  %9144 = call ptr @s2n_strerror_debug(i32 noundef %9143, ptr noundef nonnull @.str.4) #11
  %9145 = load i32, ptr %829, align 4, !tbaa !5
  %9146 = call ptr @strerror(i32 noundef %9145) #11
  %9147 = load i32, ptr %829, align 4, !tbaa !5
  %9148 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9139, ptr noundef nonnull %.str.5.sink4068, i32 noundef %9140, ptr noundef nonnull @.str.139, ptr noundef nonnull @.str.1, i32 noundef 922, ptr noundef %9142, ptr noundef %9144, ptr noundef %9146, i32 noundef %9147) #13
  call void @exit(i32 noundef 1) #14
  unreachable

9149:                                             ; preds = %9122
  %9150 = load i32, ptr @test_count, align 4, !tbaa !5
  %9151 = add nsw i32 %9150, 1
  store i32 %9151, ptr @test_count, align 4, !tbaa !5
  %9152 = call i32 @s2n_crl_validate_not_expired(ptr noundef %8989) #11
  %9153 = icmp eq i32 %9152, -1
  br i1 %9153, label %9176, label %9154

9154:                                             ; preds = %9149
  %9155 = load i32, ptr %829, align 4, !tbaa !5
  %9156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9157 = call i32 @s2n_print_stacktrace(ptr noundef %9156) #11
  %9158 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9159 = trunc nuw i8 %9158 to i1
  br i1 %9159, label %9160, label %9164

9160:                                             ; preds = %9154
  %9161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9162 = call i32 @fileno(ptr noundef %9161) #11
  %9163 = call i32 @isatty(i32 noundef %9162) #11
  %.not875 = icmp eq i32 %9163, 0
  br i1 %.not875, label %9164, label %9165

9164:                                             ; preds = %9160, %9154
  br label %9165

9165:                                             ; preds = %9160, %9164
  %.str.5.sink4077 = phi ptr [ @.str.5, %9164 ], [ @.str.2, %9160 ]
  store i32 %9155, ptr %829, align 4, !tbaa !5
  %9166 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9167 = load i32, ptr @test_count, align 4, !tbaa !5
  %9168 = load i32, ptr %775, align 4, !tbaa !5
  %9169 = call ptr @s2n_strerror(i32 noundef %9168, ptr noundef nonnull @.str.4) #11
  %9170 = load i32, ptr %775, align 4, !tbaa !5
  %9171 = call ptr @s2n_strerror_debug(i32 noundef %9170, ptr noundef nonnull @.str.4) #11
  %9172 = load i32, ptr %829, align 4, !tbaa !5
  %9173 = call ptr @strerror(i32 noundef %9172) #11
  %9174 = load i32, ptr %829, align 4, !tbaa !5
  %9175 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9166, ptr noundef nonnull %.str.5.sink4077, i32 noundef %9167, ptr noundef nonnull @.str.140, ptr noundef nonnull @.str.1, i32 noundef 926, ptr noundef %9169, ptr noundef %9171, ptr noundef %9173, i32 noundef %9174) #13
  call void @exit(i32 noundef 1) #14
  unreachable

9176:                                             ; preds = %9149
  %9177 = load i32, ptr @test_count, align 4, !tbaa !5
  %9178 = add nsw i32 %9177, 1
  store i32 %9178, ptr @test_count, align 4, !tbaa !5
  %9179 = load i32, ptr %775, align 4, !tbaa !5
  %9180 = icmp eq i32 %9179, 335544381
  br i1 %9180, label %9203, label %9181

9181:                                             ; preds = %9176
  %9182 = load i32, ptr %829, align 4, !tbaa !5
  %9183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9184 = call i32 @s2n_print_stacktrace(ptr noundef %9183) #11
  %9185 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9186 = trunc nuw i8 %9185 to i1
  br i1 %9186, label %9187, label %9191

9187:                                             ; preds = %9181
  %9188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9189 = call i32 @fileno(ptr noundef %9188) #11
  %9190 = call i32 @isatty(i32 noundef %9189) #11
  %.not876 = icmp eq i32 %9190, 0
  br i1 %.not876, label %9191, label %9192

9191:                                             ; preds = %9187, %9181
  br label %9192

9192:                                             ; preds = %9187, %9191
  %.str.5.sink4086 = phi ptr [ @.str.5, %9191 ], [ @.str.2, %9187 ]
  store i32 %9182, ptr %829, align 4, !tbaa !5
  %9193 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9194 = load i32, ptr @test_count, align 4, !tbaa !5
  %9195 = load i32, ptr %775, align 4, !tbaa !5
  %9196 = call ptr @s2n_strerror(i32 noundef %9195, ptr noundef nonnull @.str.4) #11
  %9197 = load i32, ptr %775, align 4, !tbaa !5
  %9198 = call ptr @s2n_strerror_debug(i32 noundef %9197, ptr noundef nonnull @.str.4) #11
  %9199 = load i32, ptr %829, align 4, !tbaa !5
  %9200 = call ptr @strerror(i32 noundef %9199) #11
  %9201 = load i32, ptr %829, align 4, !tbaa !5
  %9202 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9193, ptr noundef nonnull %.str.5.sink4086, i32 noundef %9194, ptr noundef nonnull @.str.141, ptr noundef nonnull @.str.1, i32 noundef 926, ptr noundef %9196, ptr noundef %9198, ptr noundef %9200, i32 noundef %9201) #13
  call void @exit(i32 noundef 1) #14
  unreachable

9203:                                             ; preds = %9176
  %9204 = add nsw i32 %9177, 2
  store i32 %9204, ptr @test_count, align 4, !tbaa !5
  %9205 = call ptr @s2n_strerror_debug(i32 noundef 335544381, ptr noundef nonnull @.str.4) #11
  %9206 = icmp eq ptr %9205, null
  br i1 %9206, label %9207, label %9229

9207:                                             ; preds = %9203
  %9208 = load i32, ptr %829, align 4, !tbaa !5
  %9209 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9210 = call i32 @s2n_print_stacktrace(ptr noundef %9209) #11
  %9211 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9212 = trunc nuw i8 %9211 to i1
  br i1 %9212, label %9213, label %9217

9213:                                             ; preds = %9207
  %9214 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9215 = call i32 @fileno(ptr noundef %9214) #11
  %9216 = call i32 @isatty(i32 noundef %9215) #11
  %.not882 = icmp eq i32 %9216, 0
  br i1 %.not882, label %9217, label %9218

9217:                                             ; preds = %9213, %9207
  br label %9218

9218:                                             ; preds = %9213, %9217
  %.str.5.sink4095 = phi ptr [ @.str.5, %9217 ], [ @.str.2, %9213 ]
  store i32 %9208, ptr %829, align 4, !tbaa !5
  %9219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9220 = load i32, ptr @test_count, align 4, !tbaa !5
  %9221 = load i32, ptr %775, align 4, !tbaa !5
  %9222 = call ptr @s2n_strerror(i32 noundef %9221, ptr noundef nonnull @.str.4) #11
  %9223 = load i32, ptr %775, align 4, !tbaa !5
  %9224 = call ptr @s2n_strerror_debug(i32 noundef %9223, ptr noundef nonnull @.str.4) #11
  %9225 = load i32, ptr %829, align 4, !tbaa !5
  %9226 = call ptr @strerror(i32 noundef %9225) #11
  %9227 = load i32, ptr %829, align 4, !tbaa !5
  %9228 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9219, ptr noundef nonnull %.str.5.sink4095, i32 noundef %9220, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 926, ptr noundef %9222, ptr noundef %9224, ptr noundef %9226, i32 noundef %9227) #13
  call void @exit(i32 noundef 1) #14
  unreachable

9229:                                             ; preds = %9203
  store i32 0, ptr %775, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %829, align 4, !tbaa !5
  %9230 = call i32 @s2n_cleanup() #11
  %9231 = icmp eq i32 %9230, -1
  br i1 %9231, label %9232, label %9254

9232:                                             ; preds = %9229
  %9233 = load i32, ptr %829, align 4, !tbaa !5
  %9234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9235 = call i32 @s2n_print_stacktrace(ptr noundef %9234) #11
  %9236 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9237 = trunc nuw i8 %9236 to i1
  br i1 %9237, label %9238, label %9242

9238:                                             ; preds = %9232
  %9239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9240 = call i32 @fileno(ptr noundef %9239) #11
  %9241 = call i32 @isatty(i32 noundef %9240) #11
  %.not881 = icmp eq i32 %9241, 0
  br i1 %.not881, label %9242, label %9243

9242:                                             ; preds = %9238, %9232
  br label %9243

9243:                                             ; preds = %9238, %9242
  %.str.5.sink4104 = phi ptr [ @.str.5, %9242 ], [ @.str.2, %9238 ]
  store i32 %9233, ptr %829, align 4, !tbaa !5
  %9244 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9245 = load i32, ptr @test_count, align 4, !tbaa !5
  %9246 = load i32, ptr %775, align 4, !tbaa !5
  %9247 = call ptr @s2n_strerror(i32 noundef %9246, ptr noundef nonnull @.str.4) #11
  %9248 = load i32, ptr %775, align 4, !tbaa !5
  %9249 = call ptr @s2n_strerror_debug(i32 noundef %9248, ptr noundef nonnull @.str.4) #11
  %9250 = load i32, ptr %829, align 4, !tbaa !5
  %9251 = call ptr @strerror(i32 noundef %9250) #11
  %9252 = load i32, ptr %829, align 4, !tbaa !5
  %9253 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9244, ptr noundef nonnull %.str.5.sink4104, i32 noundef %9245, ptr noundef nonnull @.str.142, ptr noundef nonnull @.str.1, i32 noundef 929, ptr noundef %9247, ptr noundef %9249, ptr noundef %9251, i32 noundef %9252) #13
  call void @exit(i32 noundef 1) #14
  unreachable

9254:                                             ; preds = %9229
  %9255 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false) #11
  %9256 = icmp eq i32 %9255, -1
  br i1 %9256, label %9257, label %9279

9257:                                             ; preds = %9254
  %9258 = load i32, ptr %829, align 4, !tbaa !5
  %9259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9260 = call i32 @s2n_print_stacktrace(ptr noundef %9259) #11
  %9261 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9262 = trunc nuw i8 %9261 to i1
  br i1 %9262, label %9263, label %9267

9263:                                             ; preds = %9257
  %9264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9265 = call i32 @fileno(ptr noundef %9264) #11
  %9266 = call i32 @isatty(i32 noundef %9265) #11
  %.not880 = icmp eq i32 %9266, 0
  br i1 %.not880, label %9267, label %9268

9267:                                             ; preds = %9263, %9257
  br label %9268

9268:                                             ; preds = %9263, %9267
  %.str.5.sink4113 = phi ptr [ @.str.5, %9267 ], [ @.str.2, %9263 ]
  store i32 %9258, ptr %829, align 4, !tbaa !5
  %9269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9270 = load i32, ptr @test_count, align 4, !tbaa !5
  %9271 = load i32, ptr %775, align 4, !tbaa !5
  %9272 = call ptr @s2n_strerror(i32 noundef %9271, ptr noundef nonnull @.str.4) #11
  %9273 = load i32, ptr %775, align 4, !tbaa !5
  %9274 = call ptr @s2n_strerror_debug(i32 noundef %9273, ptr noundef nonnull @.str.4) #11
  %9275 = load i32, ptr %829, align 4, !tbaa !5
  %9276 = call ptr @strerror(i32 noundef %9275) #11
  %9277 = load i32, ptr %829, align 4, !tbaa !5
  %9278 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9269, ptr noundef nonnull %.str.5.sink4113, i32 noundef %9270, ptr noundef nonnull @.str.143, ptr noundef nonnull @.str.1, i32 noundef 929, ptr noundef %9272, ptr noundef %9274, ptr noundef %9276, i32 noundef %9277) #13
  call void @exit(i32 noundef 1) #14
  unreachable

9279:                                             ; preds = %9254
  %9280 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9281 = trunc nuw i8 %9280 to i1
  br i1 %9281, label %9282, label %9293

9282:                                             ; preds = %9279
  %9283 = load ptr, ptr @stdout, align 8, !tbaa !9
  %9284 = call i32 @fileno(ptr noundef %9283) #11
  %9285 = call i32 @isatty(i32 noundef %9284) #11
  %.not877 = icmp eq i32 %9285, 0
  br i1 %.not877, label %9293, label %9286

9286:                                             ; preds = %9282
  %9287 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not879 = icmp eq i32 %9287, 0
  %9288 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not879, label %9291, label %9289

9289:                                             ; preds = %9286
  %9290 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9288, ptr noundef nonnull @.str.144, i32 noundef %9287) #11
  br label %9300

9291:                                             ; preds = %9286
  %9292 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9288, ptr noundef nonnull @.str.145) #11
  br label %9300

9293:                                             ; preds = %9282, %9279
  %9294 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not878 = icmp eq i32 %9294, 0
  %9295 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not878, label %9298, label %9296

9296:                                             ; preds = %9293
  %9297 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9295, ptr noundef nonnull @.str.146, i32 noundef %9294) #11
  br label %9300

9298:                                             ; preds = %9293
  %9299 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9295, ptr noundef nonnull @.str.147) #11
  br label %9300

9300:                                             ; preds = %9296, %9298, %9289, %9291
  %9301 = call i32 @s2n_x509_validator_wipe(ptr noundef nonnull %18) #11
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %18) #11
  call void @llvm.lifetime.end.p0(i64 88, ptr nonnull %17) #11
  %9302 = call i32 @s2n_crl_free(ptr noundef nonnull %16) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #11
  %9303 = call i32 @s2n_crl_free(ptr noundef nonnull %15) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15) #11
  %9304 = call i32 @s2n_crl_free(ptr noundef nonnull %14) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14) #11
  %9305 = call i32 @s2n_crl_free(ptr noundef nonnull %13) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) #11
  %9306 = call i32 @s2n_crl_free(ptr noundef nonnull %12) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) #11
  br label %9307

9307:                                             ; preds = %614, %9300
  %.1 = phi i32 [ -1, %614 ], [ 0, %9300 ]
  ret i32 %.1
}

; 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 ptr @s2n_crl_new() local_unnamed_addr #2

declare i32 @s2n_crl_free(ptr noundef) local_unnamed_addr #2

; Function Attrs: nounwind uwtable
declare hidden ptr @load_test_crl(ptr noundef) local_unnamed_addr #0

declare ptr @X509_CRL_get_issuer(ptr noundef) local_unnamed_addr #2

; Function Attrs: mustprogress nofree nounwind willreturn memory(argmem: read)
declare ptr @strrchr(ptr noundef, i32 noundef) local_unnamed_addr #8

declare i32 @s2n_calculate_stacktrace() local_unnamed_addr #2

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

declare i32 @s2n_read_test_pem_and_len(ptr noundef, ptr noundef, ptr noundef, i64 noundef) local_unnamed_addr #2

declare i32 @s2n_crl_load_pem(ptr noundef, ptr noundef, i64 noundef) local_unnamed_addr #2

declare void @s2n_debug_info_reset() local_unnamed_addr #2

declare i32 @s2n_crl_get_issuer_hash(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_x509_validator_wipe(ptr noundef) local_unnamed_addr #2

declare void @s2n_x509_trust_store_wipe(ptr noundef) local_unnamed_addr #2

declare void @s2n_x509_trust_store_init_empty(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_read_test_pem(ptr noundef, ptr noundef, i64 noundef) local_unnamed_addr #2

declare i32 @s2n_x509_trust_store_add_pem(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_x509_validator_init(ptr noundef, ptr noundef, i8 noundef zeroext) local_unnamed_addr #2

declare ptr @s2n_config_new() local_unnamed_addr #2

declare i32 @s2n_config_ptr_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_config_set_crl_lookup_cb(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

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

declare ptr @s2n_connection_new(i32 noundef) local_unnamed_addr #2

declare i32 @s2n_connection_ptr_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_set_config(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_set_server_name(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_stuffer_free(ptr noundef) local_unnamed_addr #2

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

declare i32 @s2n_test_cert_chain_data_from_pem(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

declare ptr @s2n_stuffer_raw_read(ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_pkey_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_pkey_zero_init(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_x509_validator_validate_cert_chain(ptr noundef, ptr noundef, ptr noundef, i32 noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

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

declare i32 @s2n_test_cert_chain_data_from_pem_data(ptr noundef, ptr noundef, i32 noundef, ptr noundef) local_unnamed_addr #2

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

declare i32 @s2n_array_get(ptr noundef, i32 noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_crl_lookup_set(ptr noundef, ptr noundef) local_unnamed_addr #2

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

declare i32 @s2n_config_disable_x509_time_verification(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_test_cert_chain_and_key_new(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_config_set_verification_ca_location(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_config_set_cipher_preferences(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_io_pair_close(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_io_pair_init_non_blocking(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_set_io_pair(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_negotiate_test_server_and_client(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_set_blinding(ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_config_set_client_auth_type(ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_connection_set_verify_host_callback(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @verify_host_always_allow(ptr noundef, i64 noundef, ptr noundef) #0

declare i32 @s2n_crl_lookup_ignore(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_crl_lookup_get_cert_issuer_hash(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_crl_validate_active(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_crl_validate_not_expired(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_cleanup() local_unnamed_addr #2

attributes #0 = { nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { nofree nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #4 = { mustprogress nofree nosync nounwind willreturn memory(none) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #7 = { noreturn nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #8 = { mustprogress nofree nounwind willreturn memory(argmem: 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 #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 = { nounwind }
attributes #12 = { nounwind willreturn memory(none) }
attributes #13 = { cold nounwind }
attributes #14 = { noreturn nounwind }
attributes #15 = { nounwind willreturn memory(read) }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"any pointer", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"_Bool", !7, i64 0}
!13 = !{i8 0, i8 2}
!14 = !{}
!15 = !{!16, !10, i64 0}
!16 = !{!"s2n_crl", !10, i64 0}
!17 = !{!18, !10, i64 0}
!18 = !{!"s2n_debug_info", !10, i64 0, !10, i64 8}
!19 = !{!18, !10, i64 8}
!20 = !{!7, !7, i64 0}
!21 = !{!22, !22, i64 0}
!22 = !{!"long", !7, i64 0}
!23 = !{!24, !6, i64 28}
!24 = !{!"s2n_stuffer", !25, i64 0, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 36, !6, i64 36}
!25 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!26 = !{!24, !6, i64 24}
!27 = !{!28, !7, i64 80}
!28 = !{!"crl_lookup_data", !7, i64 0, !7, i64 40, !7, i64 80}
!29 = distinct !{!29, !30}
!30 = !{!"llvm.loop.mustprogress"}
!31 = !{!32, !10, i64 40}
!32 = !{!"s2n_x509_validator", !10, i64 0, !10, i64 8, !7, i64 16, !7, i64 17, !33, i64 18, !10, i64 24, !6, i64 32, !10, i64 40, !34, i64 48, !12, i64 52}
!33 = !{!"short", !7, i64 0}
!34 = !{!"s2n_cert_validation_info", !6, i64 0, !6, i64 0}
!35 = distinct !{!35, !30}
!36 = distinct !{!36, !30}
!37 = !{!38, !6, i64 0}
!38 = !{!"s2n_crl_lookup", !6, i64 0, !10, i64 8, !33, i64 16, !10, i64 24}
!39 = !{!38, !10, i64 24}
!40 = !{!38, !10, i64 8}


; Effective O3 passes: ADCEPass,CorrelatedValuePropagationPass,DSEPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferAlignmentPass,InferFunctionAttrsPass,InstCombinePass,JumpThreadingPass,LCSSAPass,LICMPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,MemCpyOptPass,PostOrderFunctionAttrsPass,ReassociatePass,SROAPass,SimplifyCFGPass,TailCallElimPass