; LLVM IR from Trusted-eSign/trusted-crypto :: deps/wrapper/src/store (provider_system)

; 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"

%class.Handle.5 = type { ptr }
%class.LoggerFunction = type { %class.Handle, ptr }
%class.Handle = type { ptr }
%class.Handle.10 = type { ptr }
%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::allocator" = type { i8 }
%class.Handle.6 = type { ptr }
%class.Handle.7 = type { ptr }
%class.Handle.4 = type { ptr }
%class.Handle.11 = type { ptr }
%class.PkiItem = type { %class.IPkiCertificate, %class.IPkiCrl, %class.IPkiKey, %class.IPkiRequest, %class.Handle, %class.Handle, %class.Handle, %class.Handle, %class.Handle, %class.Handle }
%class.IPkiCertificate = type { ptr, %class.Handle, %class.Handle, %class.Handle, %class.Handle, %class.Handle, %class.Handle, %class.Handle, %class.Handle, %class.Handle, %class.Handle, %class.Handle, %class.Handle, %class.Handle.6 }
%class.IPkiCrl = type { ptr, %class.Handle, %class.Handle, %class.Handle, %class.Handle, %class.Handle, %class.Handle, %class.Handle, %class.Handle, %class.Handle.7 }
%class.IPkiKey = type { ptr, i8, %class.Handle.8 }
%class.Handle.8 = type { ptr }
%class.IPkiRequest = type { ptr, %class.Handle, %class.Handle, %class.Handle, %class.Handle.9 }
%class.Handle.9 = type { ptr }

@logger = external global ptr, align 8
@__FUNCTION__._ZN15Provider_SystemC2E6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE = external hidden unnamed_addr constant [16 x i8], align 1
@_ZTI6HandleI9ExceptionE = external dso_local constant { ptr, ptr }, align 8
@.str = external hidden unnamed_addr constant [7 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [105 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [4 x i8], align 1
@__FUNCTION__._ZN15Provider_System15objectToPKIItemE6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE = external hidden unnamed_addr constant [16 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [1 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [26 x i8], align 1

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #0

declare void @_ZN14LoggerFunctionC1EP6LoggerPKc(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef, ptr noundef) unnamed_addr #1

declare i32 @__gxx_personality_v0(...)

; Function Attrs: nobuiltin allocsize(0)
declare noundef nonnull ptr @_Znwm(i64 noundef) #2

; Function Attrs: mustprogress nounwind uwtable
declare void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef, ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #4 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) unnamed_addr #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #3 align 2

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #0

; Function Attrs: nobuiltin nounwind
declare void @_ZdlPvm(ptr noundef, i64 noundef) #5

declare void @_ZN6Logger5errorEPKcS1_z(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef, ptr noundef, ...) #1

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN6HandleI9ExceptionEC2EPS0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) unnamed_addr #4 align 2

declare void @_ZN9ExceptionC1EbPKciiS1_S1_6HandleIS_ES1_z(ptr noundef nonnull align 8 dereferenceable(176), i1 noundef zeroext, ptr noundef, i32 noundef, i32 noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ...) unnamed_addr #1

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN6HandleI9ExceptionED2Ev(ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #3 align 2

declare ptr @__cxa_allocate_exception(i64)

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN6HandleI9ExceptionEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #3 align 2

declare void @__cxa_free_exception(ptr)

declare void @__cxa_throw(ptr, ptr, ptr)

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2ERKS6_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #3 align 2

; Function Attrs: nounwind memory(none)
declare i32 @llvm.eh.typeid.for.p0(ptr) #6

declare ptr @__cxa_begin_catch(ptr)

declare void @__cxa_end_catch()

; Function Attrs: noinline noreturn nounwind uwtable
declare hidden void @__clang_call_terminate(ptr noundef) #7

; Function Attrs: nounwind
declare void @_ZN14LoggerFunctionD1Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #8

; Function Attrs: mustprogress uwtable
declare dso_local noundef ptr @_ZNK6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8)) #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32)) #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #3 align 2

declare void @_ZN6Logger5writeEN11LoggerLevel12LOGGER_LEVELEPKcS3_z(ptr noundef nonnull align 8 dereferenceable(24), i32 noundef, ptr noundef, ptr noundef, ...) #1

declare void @_ZN7PkiItemC1Ev(ptr noundef nonnull align 8 dereferenceable(304)) unnamed_addr #1

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN6HandleI7PkiItemEC2EPS0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) unnamed_addr #4 align 2

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN15Provider_System15objectToPKIItemE6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE(ptr dead_on_unwind noalias writable sret(%class.Handle.5) align 8 %0, ptr noundef nonnull align 8 dereferenceable(32) %1, ptr noundef %2) #4 align 2 personality ptr @__gxx_personality_v0 {
  %4 = alloca ptr, align 8
  %5 = alloca ptr, align 8
  %6 = alloca ptr, align 8
  %7 = alloca %class.LoggerFunction, align 8
  %8 = alloca %class.Handle.5, align 8
  %9 = alloca ptr, align 8
  %10 = alloca i32, align 4
  %11 = alloca %class.Handle.10, align 8
  %12 = alloca %"class.std::__cxx11::basic_string", align 8
  %13 = alloca %"class.std::allocator", align 1
  %14 = alloca %"class.std::__cxx11::basic_string", align 8
  %15 = alloca %"class.std::allocator", align 1
  %16 = alloca i1, align 1
  %17 = alloca %class.Handle.5, align 8
  %18 = alloca ptr, align 8
  %19 = alloca ptr, align 8
  %20 = alloca ptr, align 8
  %21 = alloca %class.Handle.6, align 8
  %22 = alloca %class.Handle.7, align 8
  %23 = alloca [4 x %"class.std::__cxx11::basic_string"], align 16
  %24 = alloca ptr, align 8
  %25 = alloca %"class.std::allocator", align 1
  %26 = alloca %"class.std::allocator", align 1
  %27 = alloca %"class.std::allocator", align 1
  %28 = alloca %"class.std::allocator", align 1
  %29 = alloca i1, align 1
  %30 = alloca %"class.std::__cxx11::basic_string", align 8
  %31 = alloca %"class.std::__cxx11::basic_string", align 8
  %32 = alloca i8, align 1
  %33 = alloca i32, align 4
  %34 = alloca i32, align 4
  %35 = alloca i32, align 4
  %36 = alloca %class.Handle.4, align 8
  %37 = alloca %class.Handle.4, align 8
  %38 = alloca i1, align 1
  %39 = alloca i32, align 4
  %40 = alloca %class.Handle, align 8
  %41 = alloca %class.Handle, align 8
  %42 = alloca %"class.std::allocator", align 1
  %43 = alloca i1, align 1
  %44 = alloca %class.Handle, align 8
  %45 = alloca %"class.std::allocator", align 1
  %46 = alloca i1, align 1
  %47 = alloca %class.Handle, align 8
  %48 = alloca %class.Handle, align 8
  %49 = alloca %"class.std::allocator", align 1
  %50 = alloca i1, align 1
  %51 = alloca %class.Handle, align 8
  %52 = alloca %"class.std::allocator", align 1
  %53 = alloca i1, align 1
  %54 = alloca i64, align 8
  %55 = alloca i64, align 8
  %56 = alloca %class.Handle.4, align 8
  %57 = alloca %class.Handle.4, align 8
  %58 = alloca i1, align 1
  %59 = alloca %class.Handle.6, align 8
  %60 = alloca %class.Handle.11, align 8
  %61 = alloca i1, align 1
  %62 = alloca %class.Handle, align 8
  %63 = alloca %"class.std::allocator", align 1
  %64 = alloca i1, align 1
  %65 = alloca %class.Handle.6, align 8
  %66 = alloca %class.Handle.11, align 8
  %67 = alloca i1, align 1
  %68 = alloca %class.Handle, align 8
  %69 = alloca %"class.std::allocator", align 1
  %70 = alloca i1, align 1
  %71 = alloca %class.Handle, align 8
  %72 = alloca %"class.std::allocator", align 1
  %73 = alloca i1, align 1
  %74 = alloca %class.Handle, align 8
  %75 = alloca %"class.std::allocator", align 1
  %76 = alloca i1, align 1
  %77 = alloca %class.Handle, align 8
  %78 = alloca ptr, align 8
  %79 = alloca %class.Handle, align 8
  %80 = alloca %class.Handle, align 8
  %81 = alloca %"class.std::allocator", align 1
  %82 = alloca i1, align 1
  %83 = alloca %class.Handle, align 8
  %84 = alloca %class.Handle, align 8
  %85 = alloca %class.Handle, align 8
  %86 = alloca %class.Handle, align 8
  %87 = alloca %class.Handle, align 8
  %88 = alloca %class.Handle, align 8
  %89 = alloca %class.Handle, align 8
  %90 = alloca %class.Handle, align 8
  %91 = alloca %class.Handle, align 8
  %92 = alloca %class.Handle, align 8
  %93 = alloca %class.Handle, align 8
  %94 = alloca %class.Handle, align 8
  %95 = alloca %class.Handle, align 8
  %96 = alloca %class.Handle, align 8
  %97 = alloca %"class.std::allocator", align 1
  %98 = alloca i1, align 1
  %99 = alloca %class.Handle, align 8
  %100 = alloca %"class.std::allocator", align 1
  %101 = alloca i1, align 1
  %102 = alloca %class.Handle, align 8
  %103 = alloca %"class.std::allocator", align 1
  %104 = alloca i1, align 1
  %105 = alloca %class.Handle, align 8
  %106 = alloca %"class.std::allocator", align 1
  %107 = alloca i1, align 1
  %108 = alloca %class.Handle, align 8
  %109 = alloca [64 x i8], align 16
  %110 = alloca i32, align 4
  %111 = alloca %class.Handle.4, align 8
  %112 = alloca %class.Handle.4, align 8
  %113 = alloca i1, align 1
  %114 = alloca %class.Handle, align 8
  %115 = alloca %"class.std::allocator", align 1
  %116 = alloca i1, align 1
  %117 = alloca ptr, align 8
  %118 = alloca %class.Handle, align 8
  %119 = alloca %"class.std::allocator", align 1
  %120 = alloca i1, align 1
  %121 = alloca ptr, align 8
  %122 = alloca %class.Handle.4, align 8
  %123 = alloca %class.Handle.4, align 8
  %124 = alloca i1, align 1
  %125 = alloca %"class.std::__cxx11::basic_string", align 8
  %126 = alloca %class.Handle, align 8
  %127 = alloca %"class.std::allocator", align 1
  %128 = alloca i1, align 1
  %129 = alloca %class.Handle, align 8
  %130 = alloca %"class.std::allocator", align 1
  %131 = alloca i1, align 1
  %132 = alloca i32, align 4
  %133 = alloca i32, align 4
  %134 = alloca ptr, align 8
  %135 = alloca ptr, align 8
  %136 = alloca ptr, align 8
  %137 = alloca %class.Handle, align 8
  %138 = alloca %"class.std::allocator", align 1
  %139 = alloca i1, align 1
  %140 = alloca %class.Handle, align 8
  %141 = alloca %"class.std::allocator", align 1
  %142 = alloca i1, align 1
  %143 = alloca %class.Handle, align 8
  %144 = alloca %class.Handle, align 8
  %145 = alloca %class.Handle.7, align 8
  %146 = alloca %class.Handle.11, align 8
  %147 = alloca i1, align 1
  %148 = alloca %class.Handle, align 8
  %149 = alloca %"class.std::allocator", align 1
  %150 = alloca i1, align 1
  %151 = alloca %class.Handle.7, align 8
  %152 = alloca %class.Handle.11, align 8
  %153 = alloca i1, align 1
  %154 = alloca %class.Handle, align 8
  %155 = alloca %"class.std::allocator", align 1
  %156 = alloca i1, align 1
  %157 = alloca %class.Handle, align 8
  %158 = alloca %"class.std::allocator", align 1
  %159 = alloca i1, align 1
  %160 = alloca %class.Handle, align 8
  %161 = alloca %"class.std::allocator", align 1
  %162 = alloca i1, align 1
  %163 = alloca %class.Handle, align 8
  %164 = alloca ptr, align 8
  %165 = alloca %class.Handle, align 8
  %166 = alloca %class.Handle, align 8
  %167 = alloca %"class.std::allocator", align 1
  %168 = alloca i1, align 1
  %169 = alloca %class.Handle, align 8
  %170 = alloca %class.Handle, align 8
  %171 = alloca %class.Handle, align 8
  %172 = alloca %class.Handle, align 8
  %173 = alloca %class.Handle, align 8
  %174 = alloca %class.Handle, align 8
  %175 = alloca %class.Handle, align 8
  %176 = alloca %class.Handle, align 8
  %177 = alloca ptr, align 8
  %178 = alloca %class.Handle.4, align 8
  %179 = alloca %class.Handle.4, align 8
  %180 = alloca i1, align 1
  store ptr %0, ptr %4, align 8
  store ptr %1, ptr %5, align 8, !tbaa !5
  store ptr %2, ptr %6, align 8, !tbaa !5
  %181 = load ptr, ptr %5, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr %7) #11
  %182 = load ptr, ptr @logger, align 8, !tbaa !5
  call void @_ZN14LoggerFunctionC1EP6LoggerPKc(ptr noundef nonnull align 8 dereferenceable(16) %7, ptr noundef %182, ptr noundef @__FUNCTION__._ZN15Provider_System15objectToPKIItemE6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE)
  call void @llvm.lifetime.start.p0(i64 8, ptr %8) #11
  invoke void @_ZN6HandleI7PkiItemEC2EPS0_(ptr noundef nonnull align 8 dereferenceable(8) %8, ptr noundef null)
          to label %183 unwind label %224

183:                                              ; preds = %3
  call void @llvm.lifetime.start.p0(i64 8, ptr %11) #11
  %184 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 16) #12
          to label %185 unwind label %228

185:                                              ; preds = %183
  store i1 true, ptr %16, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %12) #11
  %186 = invoke noundef ptr @_ZNK6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %2)
          to label %187 unwind label %232

187:                                              ; preds = %185
  %188 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %186) #11
  call void @llvm.lifetime.start.p0(i64 1, ptr %13) #11
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %13) #11
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %12, ptr noundef %188, ptr noundef nonnull align 1 dereferenceable(1) %13)
          to label %189 unwind label %236

189:                                              ; preds = %187
  call void @llvm.lifetime.start.p0(i64 32, ptr %14) #11
  call void @llvm.lifetime.start.p0(i64 1, ptr %15) #11
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %15) #11
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef @.str.12, ptr noundef nonnull align 1 dereferenceable(1) %15)
          to label %190 unwind label %240

190:                                              ; preds = %189
  invoke void @_ZN3BioC1EiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_(ptr noundef nonnull align 8 dereferenceable(9) %184, i32 noundef 1026, ptr noundef nonnull align 8 dereferenceable(32) %12, ptr noundef nonnull align 8 dereferenceable(32) %14)
          to label %191 unwind label %244

191:                                              ; preds = %190
  store i1 false, ptr %16, align 1
  invoke void @_ZN6HandleI3BioEC2EPS0_(ptr noundef nonnull align 8 dereferenceable(8) %11, ptr noundef %184)
          to label %192 unwind label %244

192:                                              ; preds = %191
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %15) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %15) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr %14) #11
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %13) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %13) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr %12) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %17) #11
  %193 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 304) #12
          to label %194 unwind label %254

194:                                              ; preds = %192
  invoke void @_ZN7PkiItemC1Ev(ptr noundef nonnull align 8 dereferenceable(304) %193)
          to label %195 unwind label %258

195:                                              ; preds = %194
  invoke void @_ZN6HandleI7PkiItemEC2EPS0_(ptr noundef nonnull align 8 dereferenceable(8) %17, ptr noundef %193)
          to label %196 unwind label %254

196:                                              ; preds = %195
  %197 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleI7PkiItemEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(8) %8, ptr noundef nonnull align 8 dereferenceable(8) %17)
          to label %198 unwind label %262

198:                                              ; preds = %196
  call void @_ZN6HandleI7PkiItemED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %17) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %17) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %18) #11
  store ptr null, ptr %18, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %19) #11
  store ptr null, ptr %19, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %20) #11
  store ptr null, ptr %20, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %21) #11
  invoke void @_ZN6HandleI11CertificateEC2EPS0_(ptr noundef nonnull align 8 dereferenceable(8) %21, ptr noundef null)
          to label %199 unwind label %267

199:                                              ; preds = %198
  call void @llvm.lifetime.start.p0(i64 8, ptr %22) #11
  invoke void @_ZN6HandleI3CRLEC2EPS0_(ptr noundef nonnull align 8 dereferenceable(8) %22, ptr noundef null)
          to label %200 unwind label %271

200:                                              ; preds = %199
  call void @llvm.lifetime.start.p0(i64 128, ptr %23) #11
  store i1 true, ptr %29, align 1
  store ptr %23, ptr %24, align 8
  call void @llvm.lifetime.start.p0(i64 1, ptr %25) #11
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %25) #11
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %23, ptr noundef @.str.5, ptr noundef nonnull align 1 dereferenceable(1) %25)
          to label %201 unwind label %275

201:                                              ; preds = %200
  %202 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %23, i64 1
  store ptr %202, ptr %24, align 8
  call void @llvm.lifetime.start.p0(i64 1, ptr %26) #11
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %26) #11
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %202, ptr noundef @.str.6, ptr noundef nonnull align 1 dereferenceable(1) %26)
          to label %203 unwind label %279

203:                                              ; preds = %201
  %204 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %23, i64 2
  store ptr %204, ptr %24, align 8
  call void @llvm.lifetime.start.p0(i64 1, ptr %27) #11
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %27) #11
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %204, ptr noundef @.str.7, ptr noundef nonnull align 1 dereferenceable(1) %27)
          to label %205 unwind label %283

205:                                              ; preds = %203
  %206 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %23, i64 3
  store ptr %206, ptr %24, align 8
  call void @llvm.lifetime.start.p0(i64 1, ptr %28) #11
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #11
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %206, ptr noundef @.str.8, ptr noundef nonnull align 1 dereferenceable(1) %28)
          to label %207 unwind label %287

207:                                              ; preds = %205
  store i1 false, ptr %29, align 1
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %28) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %27) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %27) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %26) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %26) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %25) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %25) #11
  call void @llvm.lifetime.start.p0(i64 32, ptr %30) #11
  %208 = invoke noundef ptr @_ZNK6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %2)
          to label %209 unwind label %304

209:                                              ; preds = %207
  %210 = invoke noundef ptr @_ZNK6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %2)
          to label %211 unwind label %304

211:                                              ; preds = %209
  %212 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12find_last_ofEcm(ptr noundef nonnull align 8 dereferenceable(32) %210, i8 noundef signext 47, i64 noundef -1) #11
  invoke void @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6substrEmm(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %30, ptr noundef nonnull align 8 dereferenceable(32) %208, i64 noundef 0, i64 noundef %212)
          to label %213 unwind label %304

213:                                              ; preds = %211
  call void @llvm.lifetime.start.p0(i64 32, ptr %31) #11
  %214 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12find_last_ofEcm(ptr noundef nonnull align 8 dereferenceable(32) %30, i8 noundef signext 47, i64 noundef -1) #11
  %215 = add i64 %214, 1
  %216 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6lengthEv(ptr noundef nonnull align 8 dereferenceable(32) %30) #11
  invoke void @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6substrEmm(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %31, ptr noundef nonnull align 8 dereferenceable(32) %30, i64 noundef %215, i64 noundef %216)
          to label %217 unwind label %308

217:                                              ; preds = %213
  %218 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %30, ptr noundef nonnull align 8 dereferenceable(32) %31) #11
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr %31) #11
  call void @llvm.lifetime.start.p0(i64 1, ptr %32) #11
  store i8 0, ptr %32, align 1, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %33) #11
  store i32 0, ptr %33, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %34) #11
  store i32 4, ptr %34, align 4, !tbaa !11
  br label %219

219:                                              ; preds = %322, %217
  %220 = load i32, ptr %33, align 4, !tbaa !11
  %221 = load i32, ptr %34, align 4, !tbaa !11
  %222 = icmp slt i32 %220, %221
  br i1 %222, label %312, label %223

223:                                              ; preds = %219
  store i32 2, ptr %35, align 4
  br label %325

224:                                              ; preds = %3
  %225 = landingpad { ptr, i32 }
          cleanup
  %226 = extractvalue { ptr, i32 } %225, 0
  store ptr %226, ptr %9, align 8
  %227 = extractvalue { ptr, i32 } %225, 1
  store i32 %227, ptr %10, align 4
  br label %2106

228:                                              ; preds = %183
  %229 = landingpad { ptr, i32 }
          cleanup
  %230 = extractvalue { ptr, i32 } %229, 0
  store ptr %230, ptr %9, align 8
  %231 = extractvalue { ptr, i32 } %229, 1
  store i32 %231, ptr %10, align 4
  br label %2105

232:                                              ; preds = %185
  %233 = landingpad { ptr, i32 }
          cleanup
  %234 = extractvalue { ptr, i32 } %233, 0
  store ptr %234, ptr %9, align 8
  %235 = extractvalue { ptr, i32 } %233, 1
  store i32 %235, ptr %10, align 4
  br label %250

236:                                              ; preds = %187
  %237 = landingpad { ptr, i32 }
          cleanup
  %238 = extractvalue { ptr, i32 } %237, 0
  store ptr %238, ptr %9, align 8
  %239 = extractvalue { ptr, i32 } %237, 1
  store i32 %239, ptr %10, align 4
  br label %249

240:                                              ; preds = %189
  %241 = landingpad { ptr, i32 }
          cleanup
  %242 = extractvalue { ptr, i32 } %241, 0
  store ptr %242, ptr %9, align 8
  %243 = extractvalue { ptr, i32 } %241, 1
  store i32 %243, ptr %10, align 4
  br label %248

244:                                              ; preds = %191, %190
  %245 = landingpad { ptr, i32 }
          cleanup
  %246 = extractvalue { ptr, i32 } %245, 0
  store ptr %246, ptr %9, align 8
  %247 = extractvalue { ptr, i32 } %245, 1
  store i32 %247, ptr %10, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #11
  br label %248

248:                                              ; preds = %244, %240
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %15) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %15) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr %14) #11
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #11
  br label %249

249:                                              ; preds = %248, %236
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %13) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %13) #11
  br label %250

250:                                              ; preds = %249, %232
  call void @llvm.lifetime.end.p0(i64 32, ptr %12) #11
  %251 = load i1, ptr %16, align 1
  br i1 %251, label %252, label %253

252:                                              ; preds = %250
  call void @_ZdlPvm(ptr noundef %184, i64 noundef 16) #13
  br label %253

253:                                              ; preds = %252, %250
  br label %2105

254:                                              ; preds = %195, %192
  %255 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %256 = extractvalue { ptr, i32 } %255, 0
  store ptr %256, ptr %9, align 8
  %257 = extractvalue { ptr, i32 } %255, 1
  store i32 %257, ptr %10, align 4
  br label %266

258:                                              ; preds = %194
  %259 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %260 = extractvalue { ptr, i32 } %259, 0
  store ptr %260, ptr %9, align 8
  %261 = extractvalue { ptr, i32 } %259, 1
  store i32 %261, ptr %10, align 4
  call void @_ZdlPvm(ptr noundef %193, i64 noundef 304) #13
  br label %266

262:                                              ; preds = %196
  %263 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %264 = extractvalue { ptr, i32 } %263, 0
  store ptr %264, ptr %9, align 8
  %265 = extractvalue { ptr, i32 } %263, 1
  store i32 %265, ptr %10, align 4
  call void @_ZN6HandleI7PkiItemED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %17) #11
  br label %266

266:                                              ; preds = %262, %258, %254
  call void @llvm.lifetime.end.p0(i64 8, ptr %17) #11
  br label %2048

267:                                              ; preds = %198
  %268 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %269 = extractvalue { ptr, i32 } %268, 0
  store ptr %269, ptr %9, align 8
  %270 = extractvalue { ptr, i32 } %268, 1
  store i32 %270, ptr %10, align 4
  br label %2047

271:                                              ; preds = %199
  %272 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %273 = extractvalue { ptr, i32 } %272, 0
  store ptr %273, ptr %9, align 8
  %274 = extractvalue { ptr, i32 } %272, 1
  store i32 %274, ptr %10, align 4
  br label %2046

275:                                              ; preds = %200
  %276 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %277 = extractvalue { ptr, i32 } %276, 0
  store ptr %277, ptr %9, align 8
  %278 = extractvalue { ptr, i32 } %276, 1
  store i32 %278, ptr %10, align 4
  br label %293

279:                                              ; preds = %201
  %280 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %281 = extractvalue { ptr, i32 } %280, 0
  store ptr %281, ptr %9, align 8
  %282 = extractvalue { ptr, i32 } %280, 1
  store i32 %282, ptr %10, align 4
  br label %292

283:                                              ; preds = %203
  %284 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %285 = extractvalue { ptr, i32 } %284, 0
  store ptr %285, ptr %9, align 8
  %286 = extractvalue { ptr, i32 } %284, 1
  store i32 %286, ptr %10, align 4
  br label %291

287:                                              ; preds = %205
  %288 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %289 = extractvalue { ptr, i32 } %288, 0
  store ptr %289, ptr %9, align 8
  %290 = extractvalue { ptr, i32 } %288, 1
  store i32 %290, ptr %10, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %28) #11
  br label %291

291:                                              ; preds = %287, %283
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %27) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %27) #11
  br label %292

292:                                              ; preds = %291, %279
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %26) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %26) #11
  br label %293

293:                                              ; preds = %292, %275
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %25) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %25) #11
  %294 = load i1, ptr %29, align 1
  br i1 %294, label %295, label %303

295:                                              ; preds = %293
  %296 = load ptr, ptr %24, align 8
  %297 = icmp eq ptr %23, %296
  br i1 %297, label %302, label %298

298:                                              ; preds = %298, %295
  %299 = phi ptr [ %296, %295 ], [ %300, %298 ]
  %300 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %299, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %300) #11
  %301 = icmp eq ptr %300, %23
  br i1 %301, label %302, label %298

302:                                              ; preds = %298, %295
  br label %303

303:                                              ; preds = %302, %293
  br label %2045

304:                                              ; preds = %211, %209, %207
  %305 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %306 = extractvalue { ptr, i32 } %305, 0
  store ptr %306, ptr %9, align 8
  %307 = extractvalue { ptr, i32 } %305, 1
  store i32 %307, ptr %10, align 4
  br label %2037

308:                                              ; preds = %213
  %309 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %310 = extractvalue { ptr, i32 } %309, 0
  store ptr %310, ptr %9, align 8
  %311 = extractvalue { ptr, i32 } %309, 1
  store i32 %311, ptr %10, align 4
  call void @llvm.lifetime.end.p0(i64 32, ptr %31) #11
  br label %2036

312:                                              ; preds = %219
  %313 = load i32, ptr %33, align 4, !tbaa !11
  %314 = sext i32 %313 to i64
  %315 = getelementptr inbounds [4 x %"class.std::__cxx11::basic_string"], ptr %23, i64 0, i64 %314
  %316 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %315) #11
  %317 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %30) #11
  %318 = call i32 @strcmp(ptr noundef %316, ptr noundef %317) #14
  %319 = icmp eq i32 %318, 0
  br i1 %319, label %320, label %321

320:                                              ; preds = %312
  store i8 1, ptr %32, align 1, !tbaa !9
  store i32 2, ptr %35, align 4
  br label %325

321:                                              ; preds = %312
  br label %322

322:                                              ; preds = %321
  %323 = load i32, ptr %33, align 4, !tbaa !11
  %324 = add nsw i32 %323, 1
  store i32 %324, ptr %33, align 4, !tbaa !11
  br label %219, !llvm.loop !13

325:                                              ; preds = %320, %223
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %33) #11
  br label %326

326:                                              ; preds = %325
  %327 = load i8, ptr %32, align 1, !tbaa !9, !range !15, !noundef !16
  %328 = trunc i8 %327 to i1
  br i1 %328, label %369, label %329

329:                                              ; preds = %326
  %330 = load ptr, ptr @logger, align 8, !tbaa !5
  invoke void (ptr, ptr, ptr, ...) @_ZN6Logger5errorEPKcS1_z(ptr noundef nonnull align 8 dereferenceable(24) %330, ptr noundef @__FUNCTION__._ZN15Provider_System15objectToPKIItemE6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE, ptr noundef @.str.13)
          to label %331 unwind label %339

331:                                              ; preds = %329
  call void @llvm.lifetime.start.p0(i64 8, ptr %36) #11
  %332 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 176) #12
          to label %333 unwind label %343

333:                                              ; preds = %331
  store i1 true, ptr %38, align 1
  invoke void @_ZN6HandleI9ExceptionEC2EPS0_(ptr noundef nonnull align 8 dereferenceable(8) %37, ptr noundef null)
          to label %334 unwind label %347

334:                                              ; preds = %333
  invoke void (ptr, i1, ptr, i32, i32, ptr, ptr, ptr, ptr, ...) @_ZN9ExceptionC1EbPKciiS1_S1_6HandleIS_ES1_z(ptr noundef nonnull align 8 dereferenceable(176) %332, i1 noundef zeroext false, ptr noundef @.str.2, i32 noundef 192, i32 noundef 0, ptr noundef @__FUNCTION__._ZN15Provider_SystemC2E6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE, ptr noundef @__FUNCTION__._ZN15Provider_System15objectToPKIItemE6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE, ptr noundef %37, ptr noundef @.str.13)
          to label %335 unwind label %351

335:                                              ; preds = %334
  store i1 false, ptr %38, align 1
  invoke void @_ZN6HandleI9ExceptionEC2EPS0_(ptr noundef nonnull align 8 dereferenceable(8) %36, ptr noundef %332)
          to label %336 unwind label %351

336:                                              ; preds = %335
  call void @_ZN6HandleI9ExceptionED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %37) #11
  %337 = call ptr @__cxa_allocate_exception(i64 8) #11
  invoke void @_ZN6HandleI9ExceptionEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(8) %337, ptr noundef nonnull align 8 dereferenceable(8) %36)
          to label %338 unwind label %359

338:                                              ; preds = %336
  invoke void @__cxa_throw(ptr %337, ptr @_ZTI6HandleI9ExceptionE, ptr @_ZN6HandleI9ExceptionED2Ev) #15
          to label %2115 unwind label %363

339:                                              ; preds = %329
  %340 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %341 = extractvalue { ptr, i32 } %340, 0
  store ptr %341, ptr %9, align 8
  %342 = extractvalue { ptr, i32 } %340, 1
  store i32 %342, ptr %10, align 4
  br label %2035

343:                                              ; preds = %331
  %344 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %345 = extractvalue { ptr, i32 } %344, 0
  store ptr %345, ptr %9, align 8
  %346 = extractvalue { ptr, i32 } %344, 1
  store i32 %346, ptr %10, align 4
  br label %368

347:                                              ; preds = %333
  %348 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %349 = extractvalue { ptr, i32 } %348, 0
  store ptr %349, ptr %9, align 8
  %350 = extractvalue { ptr, i32 } %348, 1
  store i32 %350, ptr %10, align 4
  br label %355

351:                                              ; preds = %335, %334
  %352 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %353 = extractvalue { ptr, i32 } %352, 0
  store ptr %353, ptr %9, align 8
  %354 = extractvalue { ptr, i32 } %352, 1
  store i32 %354, ptr %10, align 4
  call void @_ZN6HandleI9ExceptionED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %37) #11
  br label %355

355:                                              ; preds = %351, %347
  %356 = load i1, ptr %38, align 1
  br i1 %356, label %357, label %358

357:                                              ; preds = %355
  call void @_ZdlPvm(ptr noundef %332, i64 noundef 176) #13
  br label %358

358:                                              ; preds = %357, %355
  br label %368

359:                                              ; preds = %336
  %360 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %361 = extractvalue { ptr, i32 } %360, 0
  store ptr %361, ptr %9, align 8
  %362 = extractvalue { ptr, i32 } %360, 1
  store i32 %362, ptr %10, align 4
  call void @__cxa_free_exception(ptr %337) #11
  br label %367

363:                                              ; preds = %338
  %364 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %365 = extractvalue { ptr, i32 } %364, 0
  store ptr %365, ptr %9, align 8
  %366 = extractvalue { ptr, i32 } %364, 1
  store i32 %366, ptr %10, align 4
  br label %367

367:                                              ; preds = %363, %359
  call void @_ZN6HandleI9ExceptionED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %36) #11
  br label %368

368:                                              ; preds = %367, %358, %343
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #11
  br label %2035

369:                                              ; preds = %326
  call void @llvm.lifetime.start.p0(i64 4, ptr %39) #11
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2ERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %40, ptr noundef nonnull align 8 dereferenceable(8) %2)
          to label %370 unwind label %441

370:                                              ; preds = %369
  %371 = invoke noundef zeroext i1 @_ZN15Provider_System12itPrivateKeyE6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEPi(ptr noundef nonnull align 8 dereferenceable(32) %181, ptr noundef %40, ptr noundef %39)
          to label %372 unwind label %445

372:                                              ; preds = %370
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %40) #11
  br i1 %371, label %373, label %601

373:                                              ; preds = %372
  call void @llvm.lifetime.start.p0(i64 8, ptr %41) #11
  %374 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 32) #12
          to label %375 unwind label %449

375:                                              ; preds = %373
  store i1 true, ptr %43, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %42) #11
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %42) #11
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %374, ptr noundef @.str.14, ptr noundef nonnull align 1 dereferenceable(1) %42)
          to label %376 unwind label %453

376:                                              ; preds = %375
  store i1 false, ptr %43, align 1
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %41, ptr noundef %374)
          to label %377 unwind label %453

377:                                              ; preds = %376
  %378 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %8)
          to label %379 unwind label %457

379:                                              ; preds = %377
  %380 = getelementptr inbounds %class.PkiItem, ptr %378, i32 0, i32 5
  %381 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %380, ptr noundef nonnull align 8 dereferenceable(8) %41)
          to label %382 unwind label %457

382:                                              ; preds = %379
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %41) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %42) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %42) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %41) #11
  %383 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %8)
          to label %384 unwind label %441

384:                                              ; preds = %382
  %385 = getelementptr inbounds %class.PkiItem, ptr %383, i32 0, i32 6
  %386 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %385, ptr noundef nonnull align 8 dereferenceable(8) %2)
          to label %387 unwind label %441

387:                                              ; preds = %384
  call void @llvm.lifetime.start.p0(i64 8, ptr %44) #11
  %388 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 32) #12
          to label %389 unwind label %466

389:                                              ; preds = %387
  store i1 true, ptr %46, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %45) #11
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #11
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %388, ptr noundef @.str, ptr noundef nonnull align 1 dereferenceable(1) %45)
          to label %390 unwind label %470

390:                                              ; preds = %389
  store i1 false, ptr %46, align 1
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %44, ptr noundef %388)
          to label %391 unwind label %470

391:                                              ; preds = %390
  %392 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %8)
          to label %393 unwind label %474

393:                                              ; preds = %391
  %394 = getelementptr inbounds %class.PkiItem, ptr %392, i32 0, i32 7
  %395 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %394, ptr noundef nonnull align 8 dereferenceable(8) %44)
          to label %396 unwind label %474

396:                                              ; preds = %393
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %44) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %45) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %44) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %47) #11
  %397 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 32) #12
          to label %398 unwind label %483

398:                                              ; preds = %396
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %397, ptr noundef nonnull align 8 dereferenceable(32) %30)
          to label %399 unwind label %487

399:                                              ; preds = %398
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %47, ptr noundef %397)
          to label %400 unwind label %483

400:                                              ; preds = %399
  %401 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %8)
          to label %402 unwind label %491

402:                                              ; preds = %400
  %403 = getelementptr inbounds %class.PkiItem, ptr %401, i32 0, i32 8
  %404 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %403, ptr noundef nonnull align 8 dereferenceable(8) %47)
          to label %405 unwind label %491

405:                                              ; preds = %402
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %47) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %47) #11
  %406 = load i32, ptr %39, align 4, !tbaa !11
  %407 = icmp ne i32 %406, 0
  %408 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %8)
          to label %409 unwind label %441

409:                                              ; preds = %405
  %410 = getelementptr inbounds i8, ptr %408, i64 192
  %411 = getelementptr inbounds %class.IPkiKey, ptr %410, i32 0, i32 1
  %412 = zext i1 %407 to i8
  store i8 %412, ptr %411, align 8, !tbaa !17
  call void @llvm.lifetime.start.p0(i64 8, ptr %48) #11
  %413 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 32) #12
          to label %414 unwind label %496

414:                                              ; preds = %409
  store i1 true, ptr %50, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %49) #11
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %49) #11
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %413, ptr noundef @.str.15, ptr noundef nonnull align 1 dereferenceable(1) %49)
          to label %415 unwind label %500

415:                                              ; preds = %414
  store i1 false, ptr %50, align 1
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %48, ptr noundef %413)
          to label %416 unwind label %500

416:                                              ; preds = %415
  %417 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %8)
          to label %418 unwind label %504

418:                                              ; preds = %416
  %419 = getelementptr inbounds %class.PkiItem, ptr %417, i32 0, i32 4
  %420 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %419, ptr noundef nonnull align 8 dereferenceable(8) %48)
          to label %421 unwind label %504

421:                                              ; preds = %418
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %48) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %49) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %49) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %48) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %51) #11
  %422 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 32) #12
          to label %423 unwind label %513

423:                                              ; preds = %421
  store i1 true, ptr %53, align 1
  %424 = invoke noundef ptr @_ZNK6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %2)
          to label %425 unwind label %517

425:                                              ; preds = %423
  %426 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %424) #11
  call void @llvm.lifetime.start.p0(i64 1, ptr %52) #11
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %52) #11
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %422, ptr noundef %426, ptr noundef nonnull align 1 dereferenceable(1) %52)
          to label %427 unwind label %521

427:                                              ; preds = %425
  store i1 false, ptr %53, align 1
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %51, ptr noundef %422)
          to label %428 unwind label %521

428:                                              ; preds = %427
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %52) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %52) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %54) #11
  %429 = invoke noundef ptr @_ZNK6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %51)
          to label %430 unwind label %529

430:                                              ; preds = %428
  %431 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12find_last_ofEcm(ptr noundef nonnull align 8 dereferenceable(32) %429, i8 noundef signext 47, i64 noundef -1) #11
  store i64 %431, ptr %54, align 8, !tbaa !20
  %432 = load i64, ptr %54, align 8, !tbaa !20
  %433 = icmp ne i64 -1, %432
  br i1 %433, label %434, label %533

434:                                              ; preds = %430
  %435 = invoke noundef ptr @_ZNK6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %51)
          to label %436 unwind label %529

436:                                              ; preds = %434
  %437 = load i64, ptr %54, align 8, !tbaa !20
  %438 = add i64 %437, 1
  %439 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5eraseEmm(ptr noundef nonnull align 8 dereferenceable(32) %435, i64 noundef 0, i64 noundef %438)
          to label %440 unwind label %529

440:                                              ; preds = %436
  br label %533

441:                                              ; preds = %1761, %1759, %1747, %1684, %1682, %1680, %1678, %1677, %1675, %1613, %1611, %1609, %1607, %1606, %1604, %1181, %1179, %1134, %1132, %1130, %1128, %1127, %1125, %1093, %1091, %1089, %1087, %1086, %1084, %758, %756, %744, %681, %679, %677, %675, %674, %672, %610, %608, %606, %604, %603, %601, %405, %384, %382, %369
  %442 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %443 = extractvalue { ptr, i32 } %442, 0
  store ptr %443, ptr %9, align 8
  %444 = extractvalue { ptr, i32 } %442, 1
  store i32 %444, ptr %10, align 4
  br label %2034

445:                                              ; preds = %370
  %446 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %447 = extractvalue { ptr, i32 } %446, 0
  store ptr %447, ptr %9, align 8
  %448 = extractvalue { ptr, i32 } %446, 1
  store i32 %448, ptr %10, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %40) #11
  br label %2034

449:                                              ; preds = %373
  %450 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %451 = extractvalue { ptr, i32 } %450, 0
  store ptr %451, ptr %9, align 8
  %452 = extractvalue { ptr, i32 } %450, 1
  store i32 %452, ptr %10, align 4
  br label %465

453:                                              ; preds = %376, %375
  %454 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %455 = extractvalue { ptr, i32 } %454, 0
  store ptr %455, ptr %9, align 8
  %456 = extractvalue { ptr, i32 } %454, 1
  store i32 %456, ptr %10, align 4
  br label %461

457:                                              ; preds = %379, %377
  %458 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %459 = extractvalue { ptr, i32 } %458, 0
  store ptr %459, ptr %9, align 8
  %460 = extractvalue { ptr, i32 } %458, 1
  store i32 %460, ptr %10, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %41) #11
  br label %461

461:                                              ; preds = %457, %453
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %42) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %42) #11
  %462 = load i1, ptr %43, align 1
  br i1 %462, label %463, label %464

463:                                              ; preds = %461
  call void @_ZdlPvm(ptr noundef %374, i64 noundef 32) #13
  br label %464

464:                                              ; preds = %463, %461
  br label %465

465:                                              ; preds = %464, %449
  call void @llvm.lifetime.end.p0(i64 8, ptr %41) #11
  br label %2034

466:                                              ; preds = %387
  %467 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %468 = extractvalue { ptr, i32 } %467, 0
  store ptr %468, ptr %9, align 8
  %469 = extractvalue { ptr, i32 } %467, 1
  store i32 %469, ptr %10, align 4
  br label %482

470:                                              ; preds = %390, %389
  %471 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %472 = extractvalue { ptr, i32 } %471, 0
  store ptr %472, ptr %9, align 8
  %473 = extractvalue { ptr, i32 } %471, 1
  store i32 %473, ptr %10, align 4
  br label %478

474:                                              ; preds = %393, %391
  %475 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %476 = extractvalue { ptr, i32 } %475, 0
  store ptr %476, ptr %9, align 8
  %477 = extractvalue { ptr, i32 } %475, 1
  store i32 %477, ptr %10, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %44) #11
  br label %478

478:                                              ; preds = %474, %470
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %45) #11
  %479 = load i1, ptr %46, align 1
  br i1 %479, label %480, label %481

480:                                              ; preds = %478
  call void @_ZdlPvm(ptr noundef %388, i64 noundef 32) #13
  br label %481

481:                                              ; preds = %480, %478
  br label %482

482:                                              ; preds = %481, %466
  call void @llvm.lifetime.end.p0(i64 8, ptr %44) #11
  br label %2034

483:                                              ; preds = %399, %396
  %484 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %485 = extractvalue { ptr, i32 } %484, 0
  store ptr %485, ptr %9, align 8
  %486 = extractvalue { ptr, i32 } %484, 1
  store i32 %486, ptr %10, align 4
  br label %495

487:                                              ; preds = %398
  %488 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %489 = extractvalue { ptr, i32 } %488, 0
  store ptr %489, ptr %9, align 8
  %490 = extractvalue { ptr, i32 } %488, 1
  store i32 %490, ptr %10, align 4
  call void @_ZdlPvm(ptr noundef %397, i64 noundef 32) #13
  br label %495

491:                                              ; preds = %402, %400
  %492 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %493 = extractvalue { ptr, i32 } %492, 0
  store ptr %493, ptr %9, align 8
  %494 = extractvalue { ptr, i32 } %492, 1
  store i32 %494, ptr %10, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %47) #11
  br label %495

495:                                              ; preds = %491, %487, %483
  call void @llvm.lifetime.end.p0(i64 8, ptr %47) #11
  br label %2034

496:                                              ; preds = %409
  %497 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %498 = extractvalue { ptr, i32 } %497, 0
  store ptr %498, ptr %9, align 8
  %499 = extractvalue { ptr, i32 } %497, 1
  store i32 %499, ptr %10, align 4
  br label %512

500:                                              ; preds = %415, %414
  %501 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %502 = extractvalue { ptr, i32 } %501, 0
  store ptr %502, ptr %9, align 8
  %503 = extractvalue { ptr, i32 } %501, 1
  store i32 %503, ptr %10, align 4
  br label %508

504:                                              ; preds = %418, %416
  %505 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %506 = extractvalue { ptr, i32 } %505, 0
  store ptr %506, ptr %9, align 8
  %507 = extractvalue { ptr, i32 } %505, 1
  store i32 %507, ptr %10, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %48) #11
  br label %508

508:                                              ; preds = %504, %500
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %49) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %49) #11
  %509 = load i1, ptr %50, align 1
  br i1 %509, label %510, label %511

510:                                              ; preds = %508
  call void @_ZdlPvm(ptr noundef %413, i64 noundef 32) #13
  br label %511

511:                                              ; preds = %510, %508
  br label %512

512:                                              ; preds = %511, %496
  call void @llvm.lifetime.end.p0(i64 8, ptr %48) #11
  br label %2034

513:                                              ; preds = %421
  %514 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %515 = extractvalue { ptr, i32 } %514, 0
  store ptr %515, ptr %9, align 8
  %516 = extractvalue { ptr, i32 } %514, 1
  store i32 %516, ptr %10, align 4
  br label %600

517:                                              ; preds = %423
  %518 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %519 = extractvalue { ptr, i32 } %518, 0
  store ptr %519, ptr %9, align 8
  %520 = extractvalue { ptr, i32 } %518, 1
  store i32 %520, ptr %10, align 4
  br label %525

521:                                              ; preds = %427, %425
  %522 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %523 = extractvalue { ptr, i32 } %522, 0
  store ptr %523, ptr %9, align 8
  %524 = extractvalue { ptr, i32 } %522, 1
  store i32 %524, ptr %10, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %52) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %52) #11
  br label %525

525:                                              ; preds = %521, %517
  %526 = load i1, ptr %53, align 1
  br i1 %526, label %527, label %528

527:                                              ; preds = %525
  call void @_ZdlPvm(ptr noundef %422, i64 noundef 32) #13
  br label %528

528:                                              ; preds = %527, %525
  br label %600

529:                                              ; preds = %436, %434, %428
  %530 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %531 = extractvalue { ptr, i32 } %530, 0
  store ptr %531, ptr %9, align 8
  %532 = extractvalue { ptr, i32 } %530, 1
  store i32 %532, ptr %10, align 4
  br label %599

533:                                              ; preds = %440, %430
  call void @llvm.lifetime.start.p0(i64 8, ptr %55) #11
  %534 = invoke noundef ptr @_ZNK6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %51)
          to label %535 unwind label %545

535:                                              ; preds = %533
  %536 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5rfindEcm(ptr noundef nonnull align 8 dereferenceable(32) %534, i8 noundef signext 46, i64 noundef -1) #11
  store i64 %536, ptr %55, align 8, !tbaa !20
  %537 = load i64, ptr %55, align 8, !tbaa !20
  %538 = icmp ne i64 -1, %537
  br i1 %538, label %539, label %549

539:                                              ; preds = %535
  %540 = invoke noundef ptr @_ZNK6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %51)
          to label %541 unwind label %545

541:                                              ; preds = %539
  %542 = load i64, ptr %55, align 8, !tbaa !20
  %543 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5eraseEmm(ptr noundef nonnull align 8 dereferenceable(32) %540, i64 noundef %542, i64 noundef -1)
          to label %544 unwind label %545

544:                                              ; preds = %541
  br label %549

545:                                              ; preds = %596, %560, %556, %554, %549, %541, %539, %533
  %546 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %547 = extractvalue { ptr, i32 } %546, 0
  store ptr %547, ptr %9, align 8
  %548 = extractvalue { ptr, i32 } %546, 1
  store i32 %548, ptr %10, align 4
  br label %598

549:                                              ; preds = %544, %535
  %550 = invoke noundef ptr @_ZNK6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %51)
          to label %551 unwind label %545

551:                                              ; preds = %549
  %552 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6lengthEv(ptr noundef nonnull align 8 dereferenceable(32) %550) #11
  %553 = icmp eq i64 %552, 40
  br i1 %553, label %554, label %560

554:                                              ; preds = %551
  %555 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %8)
          to label %556 unwind label %545

556:                                              ; preds = %554
  %557 = getelementptr inbounds %class.PkiItem, ptr %555, i32 0, i32 9
  %558 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %557, ptr noundef nonnull align 8 dereferenceable(8) %51)
          to label %559 unwind label %545

559:                                              ; preds = %556
  br label %596

560:                                              ; preds = %551
  %561 = load ptr, ptr @logger, align 8, !tbaa !5
  invoke void (ptr, ptr, ptr, ...) @_ZN6Logger5errorEPKcS1_z(ptr noundef nonnull align 8 dereferenceable(24) %561, ptr noundef @__FUNCTION__._ZN15Provider_System15objectToPKIItemE6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE, ptr noundef @.str.16)
          to label %562 unwind label %545

562:                                              ; preds = %560
  call void @llvm.lifetime.start.p0(i64 8, ptr %56) #11
  %563 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 176) #12
          to label %564 unwind label %570

564:                                              ; preds = %562
  store i1 true, ptr %58, align 1
  invoke void @_ZN6HandleI9ExceptionEC2EPS0_(ptr noundef nonnull align 8 dereferenceable(8) %57, ptr noundef null)
          to label %565 unwind label %574

565:                                              ; preds = %564
  invoke void (ptr, i1, ptr, i32, i32, ptr, ptr, ptr, ptr, ...) @_ZN9ExceptionC1EbPKciiS1_S1_6HandleIS_ES1_z(ptr noundef nonnull align 8 dereferenceable(176) %563, i1 noundef zeroext false, ptr noundef @.str.2, i32 noundef 217, i32 noundef 0, ptr noundef @__FUNCTION__._ZN15Provider_SystemC2E6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE, ptr noundef @__FUNCTION__._ZN15Provider_System15objectToPKIItemE6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE, ptr noundef %57, ptr noundef @.str.16)
          to label %566 unwind label %578

566:                                              ; preds = %565
  store i1 false, ptr %58, align 1
  invoke void @_ZN6HandleI9ExceptionEC2EPS0_(ptr noundef nonnull align 8 dereferenceable(8) %56, ptr noundef %563)
          to label %567 unwind label %578

567:                                              ; preds = %566
  call void @_ZN6HandleI9ExceptionED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %57) #11
  %568 = call ptr @__cxa_allocate_exception(i64 8) #11
  invoke void @_ZN6HandleI9ExceptionEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(8) %568, ptr noundef nonnull align 8 dereferenceable(8) %56)
          to label %569 unwind label %586

569:                                              ; preds = %567
  invoke void @__cxa_throw(ptr %568, ptr @_ZTI6HandleI9ExceptionE, ptr @_ZN6HandleI9ExceptionED2Ev) #15
          to label %2115 unwind label %590

570:                                              ; preds = %562
  %571 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %572 = extractvalue { ptr, i32 } %571, 0
  store ptr %572, ptr %9, align 8
  %573 = extractvalue { ptr, i32 } %571, 1
  store i32 %573, ptr %10, align 4
  br label %595

574:                                              ; preds = %564
  %575 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %576 = extractvalue { ptr, i32 } %575, 0
  store ptr %576, ptr %9, align 8
  %577 = extractvalue { ptr, i32 } %575, 1
  store i32 %577, ptr %10, align 4
  br label %582

578:                                              ; preds = %566, %565
  %579 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %580 = extractvalue { ptr, i32 } %579, 0
  store ptr %580, ptr %9, align 8
  %581 = extractvalue { ptr, i32 } %579, 1
  store i32 %581, ptr %10, align 4
  call void @_ZN6HandleI9ExceptionED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %57) #11
  br label %582

582:                                              ; preds = %578, %574
  %583 = load i1, ptr %58, align 1
  br i1 %583, label %584, label %585

584:                                              ; preds = %582
  call void @_ZdlPvm(ptr noundef %563, i64 noundef 176) #13
  br label %585

585:                                              ; preds = %584, %582
  br label %595

586:                                              ; preds = %567
  %587 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %588 = extractvalue { ptr, i32 } %587, 0
  store ptr %588, ptr %9, align 8
  %589 = extractvalue { ptr, i32 } %587, 1
  store i32 %589, ptr %10, align 4
  call void @__cxa_free_exception(ptr %568) #11
  br label %594

590:                                              ; preds = %569
  %591 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %592 = extractvalue { ptr, i32 } %591, 0
  store ptr %592, ptr %9, align 8
  %593 = extractvalue { ptr, i32 } %591, 1
  store i32 %593, ptr %10, align 4
  br label %594

594:                                              ; preds = %590, %586
  call void @_ZN6HandleI9ExceptionED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %56) #11
  br label %595

595:                                              ; preds = %594, %585, %570
  call void @llvm.lifetime.end.p0(i64 8, ptr %56) #11
  br label %598

596:                                              ; preds = %559
  invoke void @_ZN6HandleI7PkiItemEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 8 dereferenceable(8) %8)
          to label %597 unwind label %545

597:                                              ; preds = %596
  store i32 1, ptr %35, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %55) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %54) #11
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %51) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %51) #11
  br label %2024

598:                                              ; preds = %595, %545
  call void @llvm.lifetime.end.p0(i64 8, ptr %55) #11
  br label %599

599:                                              ; preds = %598, %529
  call void @llvm.lifetime.end.p0(i64 8, ptr %54) #11
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %51) #11
  br label %600

600:                                              ; preds = %599, %528, %513
  call void @llvm.lifetime.end.p0(i64 8, ptr %51) #11
  br label %2034

601:                                              ; preds = %372
  %602 = invoke noundef ptr @_ZNK6HandleI3BioEptEv(ptr noundef nonnull align 8 dereferenceable(8) %11)
          to label %603 unwind label %441

603:                                              ; preds = %601
  invoke void @_ZN3Bio4seekEi(ptr noundef nonnull align 8 dereferenceable(9) %602, i32 noundef 0)
          to label %604 unwind label %441

604:                                              ; preds = %603
  %605 = load ptr, ptr @logger, align 8, !tbaa !5
  invoke void (ptr, i32, ptr, ptr, ...) @_ZN6Logger5writeEN11LoggerLevel12LOGGER_LEVELEPKcS3_z(ptr noundef nonnull align 8 dereferenceable(24) %605, i32 noundef 32, ptr noundef @__FUNCTION__._ZN15Provider_System15objectToPKIItemE6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE, ptr noundef @.str.17)
          to label %606 unwind label %441

606:                                              ; preds = %604
  %607 = invoke noundef ptr @_ZNK6HandleI3BioEptEv(ptr noundef nonnull align 8 dereferenceable(8) %11)
          to label %608 unwind label %441

608:                                              ; preds = %606
  %609 = invoke noundef ptr @_ZN3Bio8internalEv(ptr noundef nonnull align 8 dereferenceable(9) %607)
          to label %610 unwind label %441

610:                                              ; preds = %608
  %611 = invoke ptr @PEM_read_bio_X509(ptr noundef %609, ptr noundef null, ptr noundef null, ptr noundef null)
          to label %612 unwind label %441

612:                                              ; preds = %610
  store ptr %611, ptr %19, align 8, !tbaa !5
  %613 = load ptr, ptr %19, align 8, !tbaa !5
  %614 = icmp ne ptr %613, null
  br i1 %614, label %615, label %672

615:                                              ; preds = %612
  call void @llvm.lifetime.start.p0(i64 8, ptr %59) #11
  %616 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 16) #12
          to label %617 unwind label %633

617:                                              ; preds = %615
  store i1 true, ptr %61, align 1
  %618 = load ptr, ptr %19, align 8, !tbaa !5
  invoke void @_ZN6HandleI7SObjectEC2EPS0_(ptr noundef nonnull align 8 dereferenceable(8) %60, ptr noundef null)
          to label %619 unwind label %637

619:                                              ; preds = %617
  invoke void @_ZN11CertificateC2EP7x509_st6HandleI7SObjectE(ptr noundef nonnull align 8 dereferenceable(16) %616, ptr noundef %618, ptr noundef %60)
          to label %620 unwind label %641

620:                                              ; preds = %619
  store i1 false, ptr %61, align 1
  invoke void @_ZN6HandleI11CertificateEC2EPS0_(ptr noundef nonnull align 8 dereferenceable(8) %59, ptr noundef %616)
          to label %621 unwind label %641

621:                                              ; preds = %620
  %622 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleI11CertificateEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(8) %21, ptr noundef nonnull align 8 dereferenceable(8) %59)
          to label %623 unwind label %645

623:                                              ; preds = %621
  call void @_ZN6HandleI11CertificateED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %59) #11
  call void @_ZN6HandleI7SObjectED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %60) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %59) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %62) #11
  %624 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 32) #12
          to label %625 unwind label %655

625:                                              ; preds = %623
  store i1 true, ptr %64, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %63) #11
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %63) #11
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %624, ptr noundef @.str.15, ptr noundef nonnull align 1 dereferenceable(1) %63)
          to label %626 unwind label %659

626:                                              ; preds = %625
  store i1 false, ptr %64, align 1
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %62, ptr noundef %624)
          to label %627 unwind label %659

627:                                              ; preds = %626
  %628 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %8)
          to label %629 unwind label %663

629:                                              ; preds = %627
  %630 = getelementptr inbounds %class.PkiItem, ptr %628, i32 0, i32 4
  %631 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %630, ptr noundef nonnull align 8 dereferenceable(8) %62)
          to label %632 unwind label %663

632:                                              ; preds = %629
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %62) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %63) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %63) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %62) #11
  br label %744

633:                                              ; preds = %615
  %634 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %635 = extractvalue { ptr, i32 } %634, 0
  store ptr %635, ptr %9, align 8
  %636 = extractvalue { ptr, i32 } %634, 1
  store i32 %636, ptr %10, align 4
  br label %654

637:                                              ; preds = %617
  %638 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %639 = extractvalue { ptr, i32 } %638, 0
  store ptr %639, ptr %9, align 8
  %640 = extractvalue { ptr, i32 } %638, 1
  store i32 %640, ptr %10, align 4
  br label %650

641:                                              ; preds = %620, %619
  %642 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %643 = extractvalue { ptr, i32 } %642, 0
  store ptr %643, ptr %9, align 8
  %644 = extractvalue { ptr, i32 } %642, 1
  store i32 %644, ptr %10, align 4
  br label %649

645:                                              ; preds = %621
  %646 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %647 = extractvalue { ptr, i32 } %646, 0
  store ptr %647, ptr %9, align 8
  %648 = extractvalue { ptr, i32 } %646, 1
  store i32 %648, ptr %10, align 4
  call void @_ZN6HandleI11CertificateED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %59) #11
  br label %649

649:                                              ; preds = %645, %641
  call void @_ZN6HandleI7SObjectED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %60) #11
  br label %650

650:                                              ; preds = %649, %637
  %651 = load i1, ptr %61, align 1
  br i1 %651, label %652, label %653

652:                                              ; preds = %650
  call void @_ZdlPvm(ptr noundef %616, i64 noundef 16) #13
  br label %653

653:                                              ; preds = %652, %650
  br label %654

654:                                              ; preds = %653, %633
  call void @llvm.lifetime.end.p0(i64 8, ptr %59) #11
  br label %2034

655:                                              ; preds = %623
  %656 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %657 = extractvalue { ptr, i32 } %656, 0
  store ptr %657, ptr %9, align 8
  %658 = extractvalue { ptr, i32 } %656, 1
  store i32 %658, ptr %10, align 4
  br label %671

659:                                              ; preds = %626, %625
  %660 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %661 = extractvalue { ptr, i32 } %660, 0
  store ptr %661, ptr %9, align 8
  %662 = extractvalue { ptr, i32 } %660, 1
  store i32 %662, ptr %10, align 4
  br label %667

663:                                              ; preds = %629, %627
  %664 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %665 = extractvalue { ptr, i32 } %664, 0
  store ptr %665, ptr %9, align 8
  %666 = extractvalue { ptr, i32 } %664, 1
  store i32 %666, ptr %10, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %62) #11
  br label %667

667:                                              ; preds = %663, %659
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %63) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %63) #11
  %668 = load i1, ptr %64, align 1
  br i1 %668, label %669, label %670

669:                                              ; preds = %667
  call void @_ZdlPvm(ptr noundef %624, i64 noundef 32) #13
  br label %670

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

671:                                              ; preds = %670, %655
  call void @llvm.lifetime.end.p0(i64 8, ptr %62) #11
  br label %2034

672:                                              ; preds = %612
  %673 = invoke noundef ptr @_ZNK6HandleI3BioEptEv(ptr noundef nonnull align 8 dereferenceable(8) %11)
          to label %674 unwind label %441

674:                                              ; preds = %672
  invoke void @_ZN3Bio4seekEi(ptr noundef nonnull align 8 dereferenceable(9) %673, i32 noundef 0)
          to label %675 unwind label %441

675:                                              ; preds = %674
  %676 = load ptr, ptr @logger, align 8, !tbaa !5
  invoke void (ptr, i32, ptr, ptr, ...) @_ZN6Logger5writeEN11LoggerLevel12LOGGER_LEVELEPKcS3_z(ptr noundef nonnull align 8 dereferenceable(24) %676, i32 noundef 32, ptr noundef @__FUNCTION__._ZN15Provider_System15objectToPKIItemE6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE, ptr noundef @.str.18)
          to label %677 unwind label %441

677:                                              ; preds = %675
  %678 = invoke noundef ptr @_ZNK6HandleI3BioEptEv(ptr noundef nonnull align 8 dereferenceable(8) %11)
          to label %679 unwind label %441

679:                                              ; preds = %677
  %680 = invoke noundef ptr @_ZN3Bio8internalEv(ptr noundef nonnull align 8 dereferenceable(9) %678)
          to label %681 unwind label %441

681:                                              ; preds = %679
  %682 = invoke ptr @d2i_X509_bio(ptr noundef %680, ptr noundef null)
          to label %683 unwind label %441

683:                                              ; preds = %681
  store ptr %682, ptr %19, align 8, !tbaa !5
  %684 = load ptr, ptr %19, align 8, !tbaa !5
  %685 = icmp ne ptr %684, null
  br i1 %685, label %686, label %743

686:                                              ; preds = %683
  call void @llvm.lifetime.start.p0(i64 8, ptr %65) #11
  %687 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 16) #12
          to label %688 unwind label %704

688:                                              ; preds = %686
  store i1 true, ptr %67, align 1
  %689 = load ptr, ptr %19, align 8, !tbaa !5
  invoke void @_ZN6HandleI7SObjectEC2EPS0_(ptr noundef nonnull align 8 dereferenceable(8) %66, ptr noundef null)
          to label %690 unwind label %708

690:                                              ; preds = %688
  invoke void @_ZN11CertificateC2EP7x509_st6HandleI7SObjectE(ptr noundef nonnull align 8 dereferenceable(16) %687, ptr noundef %689, ptr noundef %66)
          to label %691 unwind label %712

691:                                              ; preds = %690
  store i1 false, ptr %67, align 1
  invoke void @_ZN6HandleI11CertificateEC2EPS0_(ptr noundef nonnull align 8 dereferenceable(8) %65, ptr noundef %687)
          to label %692 unwind label %712

692:                                              ; preds = %691
  %693 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleI11CertificateEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(8) %21, ptr noundef nonnull align 8 dereferenceable(8) %65)
          to label %694 unwind label %716

694:                                              ; preds = %692
  call void @_ZN6HandleI11CertificateED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %65) #11
  call void @_ZN6HandleI7SObjectED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %66) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %65) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %68) #11
  %695 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 32) #12
          to label %696 unwind label %726

696:                                              ; preds = %694
  store i1 true, ptr %70, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %69) #11
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %69) #11
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %695, ptr noundef @.str.19, ptr noundef nonnull align 1 dereferenceable(1) %69)
          to label %697 unwind label %730

697:                                              ; preds = %696
  store i1 false, ptr %70, align 1
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %68, ptr noundef %695)
          to label %698 unwind label %730

698:                                              ; preds = %697
  %699 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %8)
          to label %700 unwind label %734

700:                                              ; preds = %698
  %701 = getelementptr inbounds %class.PkiItem, ptr %699, i32 0, i32 4
  %702 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %701, ptr noundef nonnull align 8 dereferenceable(8) %68)
          to label %703 unwind label %734

703:                                              ; preds = %700
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %68) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %69) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %69) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %68) #11
  br label %743

704:                                              ; preds = %686
  %705 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %706 = extractvalue { ptr, i32 } %705, 0
  store ptr %706, ptr %9, align 8
  %707 = extractvalue { ptr, i32 } %705, 1
  store i32 %707, ptr %10, align 4
  br label %725

708:                                              ; preds = %688
  %709 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %710 = extractvalue { ptr, i32 } %709, 0
  store ptr %710, ptr %9, align 8
  %711 = extractvalue { ptr, i32 } %709, 1
  store i32 %711, ptr %10, align 4
  br label %721

712:                                              ; preds = %691, %690
  %713 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %714 = extractvalue { ptr, i32 } %713, 0
  store ptr %714, ptr %9, align 8
  %715 = extractvalue { ptr, i32 } %713, 1
  store i32 %715, ptr %10, align 4
  br label %720

716:                                              ; preds = %692
  %717 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %718 = extractvalue { ptr, i32 } %717, 0
  store ptr %718, ptr %9, align 8
  %719 = extractvalue { ptr, i32 } %717, 1
  store i32 %719, ptr %10, align 4
  call void @_ZN6HandleI11CertificateED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %65) #11
  br label %720

720:                                              ; preds = %716, %712
  call void @_ZN6HandleI7SObjectED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %66) #11
  br label %721

721:                                              ; preds = %720, %708
  %722 = load i1, ptr %67, align 1
  br i1 %722, label %723, label %724

723:                                              ; preds = %721
  call void @_ZdlPvm(ptr noundef %687, i64 noundef 16) #13
  br label %724

724:                                              ; preds = %723, %721
  br label %725

725:                                              ; preds = %724, %704
  call void @llvm.lifetime.end.p0(i64 8, ptr %65) #11
  br label %2034

726:                                              ; preds = %694
  %727 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %728 = extractvalue { ptr, i32 } %727, 0
  store ptr %728, ptr %9, align 8
  %729 = extractvalue { ptr, i32 } %727, 1
  store i32 %729, ptr %10, align 4
  br label %742

730:                                              ; preds = %697, %696
  %731 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %732 = extractvalue { ptr, i32 } %731, 0
  store ptr %732, ptr %9, align 8
  %733 = extractvalue { ptr, i32 } %731, 1
  store i32 %733, ptr %10, align 4
  br label %738

734:                                              ; preds = %700, %698
  %735 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %736 = extractvalue { ptr, i32 } %735, 0
  store ptr %736, ptr %9, align 8
  %737 = extractvalue { ptr, i32 } %735, 1
  store i32 %737, ptr %10, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %68) #11
  br label %738

738:                                              ; preds = %734, %730
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %69) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %69) #11
  %739 = load i1, ptr %70, align 1
  br i1 %739, label %740, label %741

740:                                              ; preds = %738
  call void @_ZdlPvm(ptr noundef %695, i64 noundef 32) #13
  br label %741

741:                                              ; preds = %740, %738
  br label %742

742:                                              ; preds = %741, %726
  call void @llvm.lifetime.end.p0(i64 8, ptr %68) #11
  br label %2034

743:                                              ; preds = %703, %683
  br label %744

744:                                              ; preds = %743, %632
  %745 = invoke noundef zeroext i1 @_ZNK6HandleI11CertificateE7isEmptyEv(ptr noundef nonnull align 8 dereferenceable(8) %21)
          to label %746 unwind label %441

746:                                              ; preds = %744
  br i1 %745, label %1084, label %747

747:                                              ; preds = %746
  call void @llvm.lifetime.start.p0(i64 8, ptr %71) #11
  %748 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 32) #12
          to label %749 unwind label %897

749:                                              ; preds = %747
  store i1 true, ptr %73, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %72) #11
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %72) #11
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %748, ptr noundef @.str.20, ptr noundef nonnull align 1 dereferenceable(1) %72)
          to label %750 unwind label %901

750:                                              ; preds = %749
  store i1 false, ptr %73, align 1
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %71, ptr noundef %748)
          to label %751 unwind label %901

751:                                              ; preds = %750
  %752 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %8)
          to label %753 unwind label %905

753:                                              ; preds = %751
  %754 = getelementptr inbounds %class.PkiItem, ptr %752, i32 0, i32 5
  %755 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %754, ptr noundef nonnull align 8 dereferenceable(8) %71)
          to label %756 unwind label %905

756:                                              ; preds = %753
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %71) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %72) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %72) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %71) #11
  %757 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %8)
          to label %758 unwind label %441

758:                                              ; preds = %756
  %759 = getelementptr inbounds %class.PkiItem, ptr %757, i32 0, i32 6
  %760 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %759, ptr noundef nonnull align 8 dereferenceable(8) %2)
          to label %761 unwind label %441

761:                                              ; preds = %758
  call void @llvm.lifetime.start.p0(i64 8, ptr %74) #11
  %762 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 32) #12
          to label %763 unwind label %914

763:                                              ; preds = %761
  store i1 true, ptr %76, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %75) #11
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %75) #11
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %762, ptr noundef @.str, ptr noundef nonnull align 1 dereferenceable(1) %75)
          to label %764 unwind label %918

764:                                              ; preds = %763
  store i1 false, ptr %76, align 1
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %74, ptr noundef %762)
          to label %765 unwind label %918

765:                                              ; preds = %764
  %766 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %8)
          to label %767 unwind label %922

767:                                              ; preds = %765
  %768 = getelementptr inbounds %class.PkiItem, ptr %766, i32 0, i32 7
  %769 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %768, ptr noundef nonnull align 8 dereferenceable(8) %74)
          to label %770 unwind label %922

770:                                              ; preds = %767
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %74) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %75) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %75) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %74) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %77) #11
  %771 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 32) #12
          to label %772 unwind label %931

772:                                              ; preds = %770
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %771, ptr noundef nonnull align 8 dereferenceable(32) %30)
          to label %773 unwind label %935

773:                                              ; preds = %772
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %77, ptr noundef %771)
          to label %774 unwind label %931

774:                                              ; preds = %773
  %775 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %8)
          to label %776 unwind label %939

776:                                              ; preds = %774
  %777 = getelementptr inbounds %class.PkiItem, ptr %775, i32 0, i32 8
  %778 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %777, ptr noundef nonnull align 8 dereferenceable(8) %77)
          to label %779 unwind label %939

779:                                              ; preds = %776
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %77) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %77) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %78) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %79) #11
  %780 = invoke noundef ptr @_ZNK6HandleI11CertificateEptEv(ptr noundef nonnull align 8 dereferenceable(8) %21)
          to label %781 unwind label %944

781:                                              ; preds = %779
  invoke void @_ZN11Certificate13getThumbprintB5cxx11Ev(ptr dead_on_unwind writable sret(%class.Handle) align 8 %79, ptr noundef nonnull align 8 dereferenceable(16) %780)
          to label %782 unwind label %944

782:                                              ; preds = %781
  %783 = invoke noundef ptr @_ZNK6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %79)
          to label %784 unwind label %948

784:                                              ; preds = %782
  %785 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %783) #11
  %786 = invoke noundef ptr @_ZNK6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %79)
          to label %787 unwind label %948

787:                                              ; preds = %784
  %788 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6lengthEv(ptr noundef nonnull align 8 dereferenceable(32) %786) #11
  %789 = trunc i64 %788 to i32
  invoke void @_ZN8PkiStore13bin_to_strhexEPhjPPc(ptr noundef %785, i32 noundef %789, ptr noundef %78)
          to label %790 unwind label %948

790:                                              ; preds = %787
  call void @llvm.lifetime.start.p0(i64 8, ptr %80) #11
  %791 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 32) #12
          to label %792 unwind label %952

792:                                              ; preds = %790
  store i1 true, ptr %82, align 1
  %793 = load ptr, ptr %78, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %81) #11
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %81) #11
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %791, ptr noundef %793, ptr noundef nonnull align 1 dereferenceable(1) %81)
          to label %794 unwind label %956

794:                                              ; preds = %792
  store i1 false, ptr %82, align 1
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %80, ptr noundef %791)
          to label %795 unwind label %956

795:                                              ; preds = %794
  %796 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %8)
          to label %797 unwind label %960

797:                                              ; preds = %795
  %798 = getelementptr inbounds %class.PkiItem, ptr %796, i32 0, i32 9
  %799 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %798, ptr noundef nonnull align 8 dereferenceable(8) %80)
          to label %800 unwind label %960

800:                                              ; preds = %797
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %80) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %81) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %81) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %80) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %83) #11
  %801 = invoke noundef ptr @_ZNK6HandleI11CertificateEptEv(ptr noundef nonnull align 8 dereferenceable(8) %21)
          to label %802 unwind label %969

802:                                              ; preds = %800
  invoke void @_ZN11Certificate14getSubjectNameB5cxx11Ev(ptr dead_on_unwind writable sret(%class.Handle) align 8 %83, ptr noundef nonnull align 8 dereferenceable(16) %801)
          to label %803 unwind label %969

803:                                              ; preds = %802
  %804 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %8)
          to label %805 unwind label %973

805:                                              ; preds = %803
  %806 = getelementptr inbounds %class.IPkiCertificate, ptr %804, i32 0, i32 1
  %807 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %806, ptr noundef nonnull align 8 dereferenceable(8) %83)
          to label %808 unwind label %973

808:                                              ; preds = %805
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %83) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %83) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %84) #11
  %809 = invoke noundef ptr @_ZNK6HandleI11CertificateEptEv(ptr noundef nonnull align 8 dereferenceable(8) %21)
          to label %810 unwind label %978

810:                                              ; preds = %808
  invoke void @_ZN11Certificate22getSubjectFriendlyNameB5cxx11Ev(ptr dead_on_unwind writable sret(%class.Handle) align 8 %84, ptr noundef nonnull align 8 dereferenceable(16) %809)
          to label %811 unwind label %978

811:                                              ; preds = %810
  %812 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %8)
          to label %813 unwind label %982

813:                                              ; preds = %811
  %814 = getelementptr inbounds %class.IPkiCertificate, ptr %812, i32 0, i32 2
  %815 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %814, ptr noundef nonnull align 8 dereferenceable(8) %84)
          to label %816 unwind label %982

816:                                              ; preds = %813
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %84) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %84) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %85) #11
  %817 = invoke noundef ptr @_ZNK6HandleI11CertificateEptEv(ptr noundef nonnull align 8 dereferenceable(8) %21)
          to label %818 unwind label %987

818:                                              ; preds = %816
  invoke void @_ZN11Certificate13getIssuerNameB5cxx11Ev(ptr dead_on_unwind writable sret(%class.Handle) align 8 %85, ptr noundef nonnull align 8 dereferenceable(16) %817)
          to label %819 unwind label %987

819:                                              ; preds = %818
  %820 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %8)
          to label %821 unwind label %991

821:                                              ; preds = %819
  %822 = getelementptr inbounds %class.IPkiCertificate, ptr %820, i32 0, i32 3
  %823 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %822, ptr noundef nonnull align 8 dereferenceable(8) %85)
          to label %824 unwind label %991

824:                                              ; preds = %821
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %85) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %85) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %86) #11
  %825 = invoke noundef ptr @_ZNK6HandleI11CertificateEptEv(ptr noundef nonnull align 8 dereferenceable(8) %21)
          to label %826 unwind label %996

826:                                              ; preds = %824
  invoke void @_ZN11Certificate21getIssuerFriendlyNameB5cxx11Ev(ptr dead_on_unwind writable sret(%class.Handle) align 8 %86, ptr noundef nonnull align 8 dereferenceable(16) %825)
          to label %827 unwind label %996

827:                                              ; preds = %826
  %828 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %8)
          to label %829 unwind label %1000

829:                                              ; preds = %827
  %830 = getelementptr inbounds %class.IPkiCertificate, ptr %828, i32 0, i32 4
  %831 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %830, ptr noundef nonnull align 8 dereferenceable(8) %86)
          to label %832 unwind label %1000

832:                                              ; preds = %829
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %86) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %86) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %87) #11
  %833 = invoke noundef ptr @_ZNK6HandleI11CertificateEptEv(ptr noundef nonnull align 8 dereferenceable(8) %21)
          to label %834 unwind label %1005

834:                                              ; preds = %832
  invoke void @_ZN11Certificate15getSerialNumberB5cxx11Ev(ptr dead_on_unwind writable sret(%class.Handle) align 8 %87, ptr noundef nonnull align 8 dereferenceable(16) %833)
          to label %835 unwind label %1005

835:                                              ; preds = %834
  %836 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %8)
          to label %837 unwind label %1009

837:                                              ; preds = %835
  %838 = getelementptr inbounds %class.IPkiCertificate, ptr %836, i32 0, i32 7
  %839 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %838, ptr noundef nonnull align 8 dereferenceable(8) %87)
          to label %840 unwind label %1009

840:                                              ; preds = %837
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %87) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %87) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %88) #11
  %841 = invoke noundef ptr @_ZNK6HandleI11CertificateEptEv(ptr noundef nonnull align 8 dereferenceable(8) %21)
          to label %842 unwind label %1014

842:                                              ; preds = %840
  invoke void @_ZN11Certificate19getOrganizationNameB5cxx11Ev(ptr dead_on_unwind writable sret(%class.Handle) align 8 %88, ptr noundef nonnull align 8 dereferenceable(16) %841)
          to label %843 unwind label %1014

843:                                              ; preds = %842
  %844 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %8)
          to label %845 unwind label %1018

845:                                              ; preds = %843
  %846 = getelementptr inbounds %class.IPkiCertificate, ptr %844, i32 0, i32 9
  %847 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %846, ptr noundef nonnull align 8 dereferenceable(8) %88)
          to label %848 unwind label %1018

848:                                              ; preds = %845
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %88) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %88) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %89) #11
  %849 = invoke noundef ptr @_ZNK6HandleI11CertificateEptEv(ptr noundef nonnull align 8 dereferenceable(8) %21)
          to label %850 unwind label %1023

850:                                              ; preds = %848
  invoke void @_ZN11Certificate21getSignatureAlgorithmB5cxx11Ev(ptr dead_on_unwind writable sret(%class.Handle) align 8 %89, ptr noundef nonnull align 8 dereferenceable(16) %849)
          to label %851 unwind label %1023

851:                                              ; preds = %850
  %852 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %8)
          to label %853 unwind label %1027

853:                                              ; preds = %851
  %854 = getelementptr inbounds %class.IPkiCertificate, ptr %852, i32 0, i32 10
  %855 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %854, ptr noundef nonnull align 8 dereferenceable(8) %89)
          to label %856 unwind label %1027

856:                                              ; preds = %853
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %89) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %89) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %90) #11
  %857 = invoke noundef ptr @_ZNK6HandleI11CertificateEptEv(ptr noundef nonnull align 8 dereferenceable(8) %21)
          to label %858 unwind label %1032

858:                                              ; preds = %856
  invoke void @_ZN11Certificate27getSignatureDigestAlgorithmB5cxx11Ev(ptr dead_on_unwind writable sret(%class.Handle) align 8 %90, ptr noundef nonnull align 8 dereferenceable(16) %857)
          to label %859 unwind label %1032

859:                                              ; preds = %858
  %860 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %8)
          to label %861 unwind label %1036

861:                                              ; preds = %859
  %862 = getelementptr inbounds %class.IPkiCertificate, ptr %860, i32 0, i32 11
  %863 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %862, ptr noundef nonnull align 8 dereferenceable(8) %90)
          to label %864 unwind label %1036

864:                                              ; preds = %861
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %90) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %90) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %91) #11
  %865 = invoke noundef ptr @_ZNK6HandleI11CertificateEptEv(ptr noundef nonnull align 8 dereferenceable(8) %21)
          to label %866 unwind label %1041

866:                                              ; preds = %864
  invoke void @_ZN11Certificate21getPublicKeyAlgorithmB5cxx11Ev(ptr dead_on_unwind writable sret(%class.Handle) align 8 %91, ptr noundef nonnull align 8 dereferenceable(16) %865)
          to label %867 unwind label %1041

867:                                              ; preds = %866
  %868 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %8)
          to label %869 unwind label %1045

869:                                              ; preds = %867
  %870 = getelementptr inbounds %class.IPkiCertificate, ptr %868, i32 0, i32 12
  %871 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %870, ptr noundef nonnull align 8 dereferenceable(8) %91)
          to label %872 unwind label %1045

872:                                              ; preds = %869
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %91) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %91) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %92) #11
  %873 = invoke noundef ptr @_ZNK6HandleI11CertificateEptEv(ptr noundef nonnull align 8 dereferenceable(8) %21)
          to label %874 unwind label %1050

874:                                              ; preds = %872
  invoke void @_ZN11Certificate12getNotBeforeB5cxx11Ev(ptr dead_on_unwind writable sret(%class.Handle) align 8 %92, ptr noundef nonnull align 8 dereferenceable(16) %873)
          to label %875 unwind label %1050

875:                                              ; preds = %874
  %876 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %8)
          to label %877 unwind label %1054

877:                                              ; preds = %875
  %878 = getelementptr inbounds %class.IPkiCertificate, ptr %876, i32 0, i32 5
  %879 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %878, ptr noundef nonnull align 8 dereferenceable(8) %92)
          to label %880 unwind label %1054

880:                                              ; preds = %877
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %92) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %92) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %93) #11
  %881 = invoke noundef ptr @_ZNK6HandleI11CertificateEptEv(ptr noundef nonnull align 8 dereferenceable(8) %21)
          to label %882 unwind label %1059

882:                                              ; preds = %880
  invoke void @_ZN11Certificate11getNotAfterB5cxx11Ev(ptr dead_on_unwind writable sret(%class.Handle) align 8 %93, ptr noundef nonnull align 8 dereferenceable(16) %881)
          to label %883 unwind label %1059

883:                                              ; preds = %882
  %884 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %8)
          to label %885 unwind label %1063

885:                                              ; preds = %883
  %886 = getelementptr inbounds %class.IPkiCertificate, ptr %884, i32 0, i32 6
  %887 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %886, ptr noundef nonnull align 8 dereferenceable(8) %93)
          to label %888 unwind label %1063

888:                                              ; preds = %885
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %93) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %93) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %94) #11
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2ERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %95, ptr noundef nonnull align 8 dereferenceable(8) %2)
          to label %889 unwind label %1068

889:                                              ; preds = %888
  invoke void @_ZN15Provider_System6getKeyE6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE(ptr dead_on_unwind writable sret(%class.Handle) align 8 %94, ptr noundef nonnull align 8 dereferenceable(32) %181, ptr noundef %95)
          to label %890 unwind label %1072

890:                                              ; preds = %889
  %891 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %8)
          to label %892 unwind label %1076

892:                                              ; preds = %890
  %893 = getelementptr inbounds %class.IPkiCertificate, ptr %891, i32 0, i32 8
  %894 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %893, ptr noundef nonnull align 8 dereferenceable(8) %94)
          to label %895 unwind label %1076

895:                                              ; preds = %892
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %94) #11
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %95) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %94) #11
  invoke void @_ZN6HandleI7PkiItemEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 8 dereferenceable(8) %8)
          to label %896 unwind label %948

896:                                              ; preds = %895
  store i32 1, ptr %35, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %79) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %79) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %78) #11
  br label %2024

897:                                              ; preds = %747
  %898 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %899 = extractvalue { ptr, i32 } %898, 0
  store ptr %899, ptr %9, align 8
  %900 = extractvalue { ptr, i32 } %898, 1
  store i32 %900, ptr %10, align 4
  br label %913

901:                                              ; preds = %750, %749
  %902 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %903 = extractvalue { ptr, i32 } %902, 0
  store ptr %903, ptr %9, align 8
  %904 = extractvalue { ptr, i32 } %902, 1
  store i32 %904, ptr %10, align 4
  br label %909

905:                                              ; preds = %753, %751
  %906 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %907 = extractvalue { ptr, i32 } %906, 0
  store ptr %907, ptr %9, align 8
  %908 = extractvalue { ptr, i32 } %906, 1
  store i32 %908, ptr %10, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %71) #11
  br label %909

909:                                              ; preds = %905, %901
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %72) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %72) #11
  %910 = load i1, ptr %73, align 1
  br i1 %910, label %911, label %912

911:                                              ; preds = %909
  call void @_ZdlPvm(ptr noundef %748, i64 noundef 32) #13
  br label %912

912:                                              ; preds = %911, %909
  br label %913

913:                                              ; preds = %912, %897
  call void @llvm.lifetime.end.p0(i64 8, ptr %71) #11
  br label %2034

914:                                              ; preds = %761
  %915 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %916 = extractvalue { ptr, i32 } %915, 0
  store ptr %916, ptr %9, align 8
  %917 = extractvalue { ptr, i32 } %915, 1
  store i32 %917, ptr %10, align 4
  br label %930

918:                                              ; preds = %764, %763
  %919 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %920 = extractvalue { ptr, i32 } %919, 0
  store ptr %920, ptr %9, align 8
  %921 = extractvalue { ptr, i32 } %919, 1
  store i32 %921, ptr %10, align 4
  br label %926

922:                                              ; preds = %767, %765
  %923 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %924 = extractvalue { ptr, i32 } %923, 0
  store ptr %924, ptr %9, align 8
  %925 = extractvalue { ptr, i32 } %923, 1
  store i32 %925, ptr %10, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %74) #11
  br label %926

926:                                              ; preds = %922, %918
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %75) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %75) #11
  %927 = load i1, ptr %76, align 1
  br i1 %927, label %928, label %929

928:                                              ; preds = %926
  call void @_ZdlPvm(ptr noundef %762, i64 noundef 32) #13
  br label %929

929:                                              ; preds = %928, %926
  br label %930

930:                                              ; preds = %929, %914
  call void @llvm.lifetime.end.p0(i64 8, ptr %74) #11
  br label %2034

931:                                              ; preds = %773, %770
  %932 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %933 = extractvalue { ptr, i32 } %932, 0
  store ptr %933, ptr %9, align 8
  %934 = extractvalue { ptr, i32 } %932, 1
  store i32 %934, ptr %10, align 4
  br label %943

935:                                              ; preds = %772
  %936 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %937 = extractvalue { ptr, i32 } %936, 0
  store ptr %937, ptr %9, align 8
  %938 = extractvalue { ptr, i32 } %936, 1
  store i32 %938, ptr %10, align 4
  call void @_ZdlPvm(ptr noundef %771, i64 noundef 32) #13
  br label %943

939:                                              ; preds = %776, %774
  %940 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %941 = extractvalue { ptr, i32 } %940, 0
  store ptr %941, ptr %9, align 8
  %942 = extractvalue { ptr, i32 } %940, 1
  store i32 %942, ptr %10, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %77) #11
  br label %943

943:                                              ; preds = %939, %935, %931
  call void @llvm.lifetime.end.p0(i64 8, ptr %77) #11
  br label %2034

944:                                              ; preds = %781, %779
  %945 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %946 = extractvalue { ptr, i32 } %945, 0
  store ptr %946, ptr %9, align 8
  %947 = extractvalue { ptr, i32 } %945, 1
  store i32 %947, ptr %10, align 4
  br label %1083

948:                                              ; preds = %895, %787, %784, %782
  %949 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %950 = extractvalue { ptr, i32 } %949, 0
  store ptr %950, ptr %9, align 8
  %951 = extractvalue { ptr, i32 } %949, 1
  store i32 %951, ptr %10, align 4
  br label %1082

952:                                              ; preds = %790
  %953 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %954 = extractvalue { ptr, i32 } %953, 0
  store ptr %954, ptr %9, align 8
  %955 = extractvalue { ptr, i32 } %953, 1
  store i32 %955, ptr %10, align 4
  br label %968

956:                                              ; preds = %794, %792
  %957 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %958 = extractvalue { ptr, i32 } %957, 0
  store ptr %958, ptr %9, align 8
  %959 = extractvalue { ptr, i32 } %957, 1
  store i32 %959, ptr %10, align 4
  br label %964

960:                                              ; preds = %797, %795
  %961 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %962 = extractvalue { ptr, i32 } %961, 0
  store ptr %962, ptr %9, align 8
  %963 = extractvalue { ptr, i32 } %961, 1
  store i32 %963, ptr %10, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %80) #11
  br label %964

964:                                              ; preds = %960, %956
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %81) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %81) #11
  %965 = load i1, ptr %82, align 1
  br i1 %965, label %966, label %967

966:                                              ; preds = %964
  call void @_ZdlPvm(ptr noundef %791, i64 noundef 32) #13
  br label %967

967:                                              ; preds = %966, %964
  br label %968

968:                                              ; preds = %967, %952
  call void @llvm.lifetime.end.p0(i64 8, ptr %80) #11
  br label %1082

969:                                              ; preds = %802, %800
  %970 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %971 = extractvalue { ptr, i32 } %970, 0
  store ptr %971, ptr %9, align 8
  %972 = extractvalue { ptr, i32 } %970, 1
  store i32 %972, ptr %10, align 4
  br label %977

973:                                              ; preds = %805, %803
  %974 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %975 = extractvalue { ptr, i32 } %974, 0
  store ptr %975, ptr %9, align 8
  %976 = extractvalue { ptr, i32 } %974, 1
  store i32 %976, ptr %10, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %83) #11
  br label %977

977:                                              ; preds = %973, %969
  call void @llvm.lifetime.end.p0(i64 8, ptr %83) #11
  br label %1082

978:                                              ; preds = %810, %808
  %979 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %980 = extractvalue { ptr, i32 } %979, 0
  store ptr %980, ptr %9, align 8
  %981 = extractvalue { ptr, i32 } %979, 1
  store i32 %981, ptr %10, align 4
  br label %986

982:                                              ; preds = %813, %811
  %983 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %984 = extractvalue { ptr, i32 } %983, 0
  store ptr %984, ptr %9, align 8
  %985 = extractvalue { ptr, i32 } %983, 1
  store i32 %985, ptr %10, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %84) #11
  br label %986

986:                                              ; preds = %982, %978
  call void @llvm.lifetime.end.p0(i64 8, ptr %84) #11
  br label %1082

987:                                              ; preds = %818, %816
  %988 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %989 = extractvalue { ptr, i32 } %988, 0
  store ptr %989, ptr %9, align 8
  %990 = extractvalue { ptr, i32 } %988, 1
  store i32 %990, ptr %10, align 4
  br label %995

991:                                              ; preds = %821, %819
  %992 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %993 = extractvalue { ptr, i32 } %992, 0
  store ptr %993, ptr %9, align 8
  %994 = extractvalue { ptr, i32 } %992, 1
  store i32 %994, ptr %10, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %85) #11
  br label %995

995:                                              ; preds = %991, %987
  call void @llvm.lifetime.end.p0(i64 8, ptr %85) #11
  br label %1082

996:                                              ; preds = %826, %824
  %997 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %998 = extractvalue { ptr, i32 } %997, 0
  store ptr %998, ptr %9, align 8
  %999 = extractvalue { ptr, i32 } %997, 1
  store i32 %999, ptr %10, align 4
  br label %1004

1000:                                             ; preds = %829, %827
  %1001 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1002 = extractvalue { ptr, i32 } %1001, 0
  store ptr %1002, ptr %9, align 8
  %1003 = extractvalue { ptr, i32 } %1001, 1
  store i32 %1003, ptr %10, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %86) #11
  br label %1004

1004:                                             ; preds = %1000, %996
  call void @llvm.lifetime.end.p0(i64 8, ptr %86) #11
  br label %1082

1005:                                             ; preds = %834, %832
  %1006 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1007 = extractvalue { ptr, i32 } %1006, 0
  store ptr %1007, ptr %9, align 8
  %1008 = extractvalue { ptr, i32 } %1006, 1
  store i32 %1008, ptr %10, align 4
  br label %1013

1009:                                             ; preds = %837, %835
  %1010 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1011 = extractvalue { ptr, i32 } %1010, 0
  store ptr %1011, ptr %9, align 8
  %1012 = extractvalue { ptr, i32 } %1010, 1
  store i32 %1012, ptr %10, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %87) #11
  br label %1013

1013:                                             ; preds = %1009, %1005
  call void @llvm.lifetime.end.p0(i64 8, ptr %87) #11
  br label %1082

1014:                                             ; preds = %842, %840
  %1015 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1016 = extractvalue { ptr, i32 } %1015, 0
  store ptr %1016, ptr %9, align 8
  %1017 = extractvalue { ptr, i32 } %1015, 1
  store i32 %1017, ptr %10, align 4
  br label %1022

1018:                                             ; preds = %845, %843
  %1019 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1020 = extractvalue { ptr, i32 } %1019, 0
  store ptr %1020, ptr %9, align 8
  %1021 = extractvalue { ptr, i32 } %1019, 1
  store i32 %1021, ptr %10, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %88) #11
  br label %1022

1022:                                             ; preds = %1018, %1014
  call void @llvm.lifetime.end.p0(i64 8, ptr %88) #11
  br label %1082

1023:                                             ; preds = %850, %848
  %1024 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1025 = extractvalue { ptr, i32 } %1024, 0
  store ptr %1025, ptr %9, align 8
  %1026 = extractvalue { ptr, i32 } %1024, 1
  store i32 %1026, ptr %10, align 4
  br label %1031

1027:                                             ; preds = %853, %851
  %1028 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1029 = extractvalue { ptr, i32 } %1028, 0
  store ptr %1029, ptr %9, align 8
  %1030 = extractvalue { ptr, i32 } %1028, 1
  store i32 %1030, ptr %10, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %89) #11
  br label %1031

1031:                                             ; preds = %1027, %1023
  call void @llvm.lifetime.end.p0(i64 8, ptr %89) #11
  br label %1082

1032:                                             ; preds = %858, %856
  %1033 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1034 = extractvalue { ptr, i32 } %1033, 0
  store ptr %1034, ptr %9, align 8
  %1035 = extractvalue { ptr, i32 } %1033, 1
  store i32 %1035, ptr %10, align 4
  br label %1040

1036:                                             ; preds = %861, %859
  %1037 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1038 = extractvalue { ptr, i32 } %1037, 0
  store ptr %1038, ptr %9, align 8
  %1039 = extractvalue { ptr, i32 } %1037, 1
  store i32 %1039, ptr %10, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %90) #11
  br label %1040

1040:                                             ; preds = %1036, %1032
  call void @llvm.lifetime.end.p0(i64 8, ptr %90) #11
  br label %1082

1041:                                             ; preds = %866, %864
  %1042 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1043 = extractvalue { ptr, i32 } %1042, 0
  store ptr %1043, ptr %9, align 8
  %1044 = extractvalue { ptr, i32 } %1042, 1
  store i32 %1044, ptr %10, align 4
  br label %1049

1045:                                             ; preds = %869, %867
  %1046 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1047 = extractvalue { ptr, i32 } %1046, 0
  store ptr %1047, ptr %9, align 8
  %1048 = extractvalue { ptr, i32 } %1046, 1
  store i32 %1048, ptr %10, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %91) #11
  br label %1049

1049:                                             ; preds = %1045, %1041
  call void @llvm.lifetime.end.p0(i64 8, ptr %91) #11
  br label %1082

1050:                                             ; preds = %874, %872
  %1051 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1052 = extractvalue { ptr, i32 } %1051, 0
  store ptr %1052, ptr %9, align 8
  %1053 = extractvalue { ptr, i32 } %1051, 1
  store i32 %1053, ptr %10, align 4
  br label %1058

1054:                                             ; preds = %877, %875
  %1055 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1056 = extractvalue { ptr, i32 } %1055, 0
  store ptr %1056, ptr %9, align 8
  %1057 = extractvalue { ptr, i32 } %1055, 1
  store i32 %1057, ptr %10, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %92) #11
  br label %1058

1058:                                             ; preds = %1054, %1050
  call void @llvm.lifetime.end.p0(i64 8, ptr %92) #11
  br label %1082

1059:                                             ; preds = %882, %880
  %1060 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1061 = extractvalue { ptr, i32 } %1060, 0
  store ptr %1061, ptr %9, align 8
  %1062 = extractvalue { ptr, i32 } %1060, 1
  store i32 %1062, ptr %10, align 4
  br label %1067

1063:                                             ; preds = %885, %883
  %1064 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1065 = extractvalue { ptr, i32 } %1064, 0
  store ptr %1065, ptr %9, align 8
  %1066 = extractvalue { ptr, i32 } %1064, 1
  store i32 %1066, ptr %10, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %93) #11
  br label %1067

1067:                                             ; preds = %1063, %1059
  call void @llvm.lifetime.end.p0(i64 8, ptr %93) #11
  br label %1082

1068:                                             ; preds = %888
  %1069 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1070 = extractvalue { ptr, i32 } %1069, 0
  store ptr %1070, ptr %9, align 8
  %1071 = extractvalue { ptr, i32 } %1069, 1
  store i32 %1071, ptr %10, align 4
  br label %1081

1072:                                             ; preds = %889
  %1073 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1074 = extractvalue { ptr, i32 } %1073, 0
  store ptr %1074, ptr %9, align 8
  %1075 = extractvalue { ptr, i32 } %1073, 1
  store i32 %1075, ptr %10, align 4
  br label %1080

1076:                                             ; preds = %892, %890
  %1077 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1078 = extractvalue { ptr, i32 } %1077, 0
  store ptr %1078, ptr %9, align 8
  %1079 = extractvalue { ptr, i32 } %1077, 1
  store i32 %1079, ptr %10, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %94) #11
  br label %1080

1080:                                             ; preds = %1076, %1072
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %95) #11
  br label %1081

1081:                                             ; preds = %1080, %1068
  call void @llvm.lifetime.end.p0(i64 8, ptr %94) #11
  br label %1082

1082:                                             ; preds = %1081, %1067, %1058, %1049, %1040, %1031, %1022, %1013, %1004, %995, %986, %977, %968, %948
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %79) #11
  br label %1083

1083:                                             ; preds = %1082, %944
  call void @llvm.lifetime.end.p0(i64 8, ptr %79) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %78) #11
  br label %2034

1084:                                             ; preds = %746
  %1085 = invoke noundef ptr @_ZNK6HandleI3BioEptEv(ptr noundef nonnull align 8 dereferenceable(8) %11)
          to label %1086 unwind label %441

1086:                                             ; preds = %1084
  invoke void @_ZN3Bio4seekEi(ptr noundef nonnull align 8 dereferenceable(9) %1085, i32 noundef 0)
          to label %1087 unwind label %441

1087:                                             ; preds = %1086
  %1088 = load ptr, ptr @logger, align 8, !tbaa !5
  invoke void (ptr, i32, ptr, ptr, ...) @_ZN6Logger5writeEN11LoggerLevel12LOGGER_LEVELEPKcS3_z(ptr noundef nonnull align 8 dereferenceable(24) %1088, i32 noundef 32, ptr noundef @__FUNCTION__._ZN15Provider_System15objectToPKIItemE6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE, ptr noundef @.str.21)
          to label %1089 unwind label %441

1089:                                             ; preds = %1087
  %1090 = invoke noundef ptr @_ZNK6HandleI3BioEptEv(ptr noundef nonnull align 8 dereferenceable(8) %11)
          to label %1091 unwind label %441

1091:                                             ; preds = %1089
  %1092 = invoke noundef ptr @_ZN3Bio8internalEv(ptr noundef nonnull align 8 dereferenceable(9) %1090)
          to label %1093 unwind label %441

1093:                                             ; preds = %1091
  %1094 = invoke ptr @PEM_read_bio_X509_REQ(ptr noundef %1092, ptr noundef null, ptr noundef null, ptr noundef null)
          to label %1095 unwind label %441

1095:                                             ; preds = %1093
  store ptr %1094, ptr %18, align 8, !tbaa !5
  %1096 = load ptr, ptr %18, align 8, !tbaa !5
  %1097 = icmp ne ptr %1096, null
  br i1 %1097, label %1098, label %1125

1098:                                             ; preds = %1095
  call void @llvm.lifetime.start.p0(i64 8, ptr %96) #11
  %1099 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 32) #12
          to label %1100 unwind label %1108

1100:                                             ; preds = %1098
  store i1 true, ptr %98, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %97) #11
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %97) #11
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %1099, ptr noundef @.str.15, ptr noundef nonnull align 1 dereferenceable(1) %97)
          to label %1101 unwind label %1112

1101:                                             ; preds = %1100
  store i1 false, ptr %98, align 1
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %96, ptr noundef %1099)
          to label %1102 unwind label %1112

1102:                                             ; preds = %1101
  %1103 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %8)
          to label %1104 unwind label %1116

1104:                                             ; preds = %1102
  %1105 = getelementptr inbounds %class.PkiItem, ptr %1103, i32 0, i32 4
  %1106 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %1105, ptr noundef nonnull align 8 dereferenceable(8) %96)
          to label %1107 unwind label %1116

1107:                                             ; preds = %1104
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %96) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %97) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %97) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %96) #11
  br label %1167

1108:                                             ; preds = %1098
  %1109 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1110 = extractvalue { ptr, i32 } %1109, 0
  store ptr %1110, ptr %9, align 8
  %1111 = extractvalue { ptr, i32 } %1109, 1
  store i32 %1111, ptr %10, align 4
  br label %1124

1112:                                             ; preds = %1101, %1100
  %1113 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1114 = extractvalue { ptr, i32 } %1113, 0
  store ptr %1114, ptr %9, align 8
  %1115 = extractvalue { ptr, i32 } %1113, 1
  store i32 %1115, ptr %10, align 4
  br label %1120

1116:                                             ; preds = %1104, %1102
  %1117 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1118 = extractvalue { ptr, i32 } %1117, 0
  store ptr %1118, ptr %9, align 8
  %1119 = extractvalue { ptr, i32 } %1117, 1
  store i32 %1119, ptr %10, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %96) #11
  br label %1120

1120:                                             ; preds = %1116, %1112
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %97) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %97) #11
  %1121 = load i1, ptr %98, align 1
  br i1 %1121, label %1122, label %1123

1122:                                             ; preds = %1120
  call void @_ZdlPvm(ptr noundef %1099, i64 noundef 32) #13
  br label %1123

1123:                                             ; preds = %1122, %1120
  br label %1124

1124:                                             ; preds = %1123, %1108
  call void @llvm.lifetime.end.p0(i64 8, ptr %96) #11
  br label %2034

1125:                                             ; preds = %1095
  %1126 = invoke noundef ptr @_ZNK6HandleI3BioEptEv(ptr noundef nonnull align 8 dereferenceable(8) %11)
          to label %1127 unwind label %441

1127:                                             ; preds = %1125
  invoke void @_ZN3Bio4seekEi(ptr noundef nonnull align 8 dereferenceable(9) %1126, i32 noundef 0)
          to label %1128 unwind label %441

1128:                                             ; preds = %1127
  %1129 = load ptr, ptr @logger, align 8, !tbaa !5
  invoke void (ptr, i32, ptr, ptr, ...) @_ZN6Logger5writeEN11LoggerLevel12LOGGER_LEVELEPKcS3_z(ptr noundef nonnull align 8 dereferenceable(24) %1129, i32 noundef 32, ptr noundef @__FUNCTION__._ZN15Provider_System15objectToPKIItemE6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE, ptr noundef @.str.22)
          to label %1130 unwind label %441

1130:                                             ; preds = %1128
  %1131 = invoke noundef ptr @_ZNK6HandleI3BioEptEv(ptr noundef nonnull align 8 dereferenceable(8) %11)
          to label %1132 unwind label %441

1132:                                             ; preds = %1130
  %1133 = invoke noundef ptr @_ZN3Bio8internalEv(ptr noundef nonnull align 8 dereferenceable(9) %1131)
          to label %1134 unwind label %441

1134:                                             ; preds = %1132
  %1135 = invoke ptr @d2i_X509_REQ_bio(ptr noundef %1133, ptr noundef null)
          to label %1136 unwind label %441

1136:                                             ; preds = %1134
  store ptr %1135, ptr %18, align 8, !tbaa !5
  %1137 = load ptr, ptr %18, align 8, !tbaa !5
  %1138 = icmp ne ptr %1137, null
  br i1 %1138, label %1139, label %1166

1139:                                             ; preds = %1136
  call void @llvm.lifetime.start.p0(i64 8, ptr %99) #11
  %1140 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 32) #12
          to label %1141 unwind label %1149

1141:                                             ; preds = %1139
  store i1 true, ptr %101, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %100) #11
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %100) #11
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %1140, ptr noundef @.str.19, ptr noundef nonnull align 1 dereferenceable(1) %100)
          to label %1142 unwind label %1153

1142:                                             ; preds = %1141
  store i1 false, ptr %101, align 1
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %99, ptr noundef %1140)
          to label %1143 unwind label %1153

1143:                                             ; preds = %1142
  %1144 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %8)
          to label %1145 unwind label %1157

1145:                                             ; preds = %1143
  %1146 = getelementptr inbounds %class.PkiItem, ptr %1144, i32 0, i32 4
  %1147 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %1146, ptr noundef nonnull align 8 dereferenceable(8) %99)
          to label %1148 unwind label %1157

1148:                                             ; preds = %1145
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %99) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %100) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %100) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %99) #11
  br label %1166

1149:                                             ; preds = %1139
  %1150 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1151 = extractvalue { ptr, i32 } %1150, 0
  store ptr %1151, ptr %9, align 8
  %1152 = extractvalue { ptr, i32 } %1150, 1
  store i32 %1152, ptr %10, align 4
  br label %1165

1153:                                             ; preds = %1142, %1141
  %1154 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1155 = extractvalue { ptr, i32 } %1154, 0
  store ptr %1155, ptr %9, align 8
  %1156 = extractvalue { ptr, i32 } %1154, 1
  store i32 %1156, ptr %10, align 4
  br label %1161

1157:                                             ; preds = %1145, %1143
  %1158 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1159 = extractvalue { ptr, i32 } %1158, 0
  store ptr %1159, ptr %9, align 8
  %1160 = extractvalue { ptr, i32 } %1158, 1
  store i32 %1160, ptr %10, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %99) #11
  br label %1161

1161:                                             ; preds = %1157, %1153
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %100) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %100) #11
  %1162 = load i1, ptr %101, align 1
  br i1 %1162, label %1163, label %1164

1163:                                             ; preds = %1161
  call void @_ZdlPvm(ptr noundef %1140, i64 noundef 32) #13
  br label %1164

1164:                                             ; preds = %1163, %1161
  br label %1165

1165:                                             ; preds = %1164, %1149
  call void @llvm.lifetime.end.p0(i64 8, ptr %99) #11
  br label %2034

1166:                                             ; preds = %1148, %1136
  br label %1167

1167:                                             ; preds = %1166, %1107
  %1168 = load ptr, ptr %18, align 8, !tbaa !5
  %1169 = icmp ne ptr %1168, null
  br i1 %1169, label %1170, label %1604

1170:                                             ; preds = %1167
  call void @llvm.lifetime.start.p0(i64 8, ptr %102) #11
  %1171 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 32) #12
          to label %1172 unwind label %1225

1172:                                             ; preds = %1170
  store i1 true, ptr %104, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %103) #11
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %103) #11
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %1171, ptr noundef @.str.23, ptr noundef nonnull align 1 dereferenceable(1) %103)
          to label %1173 unwind label %1229

1173:                                             ; preds = %1172
  store i1 false, ptr %104, align 1
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %102, ptr noundef %1171)
          to label %1174 unwind label %1229

1174:                                             ; preds = %1173
  %1175 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %8)
          to label %1176 unwind label %1233

1176:                                             ; preds = %1174
  %1177 = getelementptr inbounds %class.PkiItem, ptr %1175, i32 0, i32 5
  %1178 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %1177, ptr noundef nonnull align 8 dereferenceable(8) %102)
          to label %1179 unwind label %1233

1179:                                             ; preds = %1176
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %102) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %103) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %103) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %102) #11
  %1180 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %8)
          to label %1181 unwind label %441

1181:                                             ; preds = %1179
  %1182 = getelementptr inbounds %class.PkiItem, ptr %1180, i32 0, i32 6
  %1183 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %1182, ptr noundef nonnull align 8 dereferenceable(8) %2)
          to label %1184 unwind label %441

1184:                                             ; preds = %1181
  call void @llvm.lifetime.start.p0(i64 8, ptr %105) #11
  %1185 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 32) #12
          to label %1186 unwind label %1242

1186:                                             ; preds = %1184
  store i1 true, ptr %107, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %106) #11
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %106) #11
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %1185, ptr noundef @.str, ptr noundef nonnull align 1 dereferenceable(1) %106)
          to label %1187 unwind label %1246

1187:                                             ; preds = %1186
  store i1 false, ptr %107, align 1
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %105, ptr noundef %1185)
          to label %1188 unwind label %1246

1188:                                             ; preds = %1187
  %1189 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %8)
          to label %1190 unwind label %1250

1190:                                             ; preds = %1188
  %1191 = getelementptr inbounds %class.PkiItem, ptr %1189, i32 0, i32 7
  %1192 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %1191, ptr noundef nonnull align 8 dereferenceable(8) %105)
          to label %1193 unwind label %1250

1193:                                             ; preds = %1190
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %105) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %106) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %106) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %105) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %108) #11
  %1194 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 32) #12
          to label %1195 unwind label %1259

1195:                                             ; preds = %1193
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %1194, ptr noundef nonnull align 8 dereferenceable(32) %30)
          to label %1196 unwind label %1263

1196:                                             ; preds = %1195
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %108, ptr noundef %1194)
          to label %1197 unwind label %1259

1197:                                             ; preds = %1196
  %1198 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %8)
          to label %1199 unwind label %1267

1199:                                             ; preds = %1197
  %1200 = getelementptr inbounds %class.PkiItem, ptr %1198, i32 0, i32 8
  %1201 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %1200, ptr noundef nonnull align 8 dereferenceable(8) %108)
          to label %1202 unwind label %1267

1202:                                             ; preds = %1199
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %108) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %108) #11
  call void @llvm.lifetime.start.p0(i64 64, ptr %109) #11
  call void @llvm.memset.p0.i64(ptr align 16 %109, i8 0, i64 64, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %110) #11
  store i32 0, ptr %110, align 4, !tbaa !11
  %1203 = load ptr, ptr @logger, align 8, !tbaa !5
  invoke void (ptr, i32, ptr, ptr, ...) @_ZN6Logger5writeEN11LoggerLevel12LOGGER_LEVELEPKcS3_z(ptr noundef nonnull align 8 dereferenceable(24) %1203, i32 noundef 32, ptr noundef @__FUNCTION__._ZN15Provider_System15objectToPKIItemE6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE, ptr noundef @.str.24)
          to label %1204 unwind label %1272

1204:                                             ; preds = %1202
  %1205 = load ptr, ptr %18, align 8, !tbaa !5
  %1206 = invoke ptr @EVP_sha1()
          to label %1207 unwind label %1272

1207:                                             ; preds = %1204
  %1208 = getelementptr inbounds [64 x i8], ptr %109, i64 0, i64 0
  %1209 = invoke i32 @X509_REQ_digest(ptr noundef %1205, ptr noundef %1206, ptr noundef %1208, ptr noundef %110)
          to label %1210 unwind label %1272

1210:                                             ; preds = %1207
  %1211 = icmp ne i32 %1209, 0
  br i1 %1211, label %1302, label %1212

1212:                                             ; preds = %1210
  call void @llvm.lifetime.start.p0(i64 8, ptr %111) #11
  %1213 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 176) #12
          to label %1214 unwind label %1276

1214:                                             ; preds = %1212
  store i1 true, ptr %113, align 1
  invoke void @_ZN6HandleI9ExceptionEC2EPS0_(ptr noundef nonnull align 8 dereferenceable(8) %112, ptr noundef null)
          to label %1215 unwind label %1280

1215:                                             ; preds = %1214
  invoke void (ptr, i1, ptr, i32, i32, ptr, ptr, ptr, ptr, ...) @_ZN9ExceptionC1EbPKciiS1_S1_6HandleIS_ES1_z(ptr noundef nonnull align 8 dereferenceable(176) %1213, i1 noundef zeroext true, ptr noundef @.str.2, i32 noundef 299, i32 noundef 0, ptr noundef @__FUNCTION__._ZN15Provider_SystemC2E6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE, ptr noundef @__FUNCTION__._ZN15Provider_System15objectToPKIItemE6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE, ptr noundef %112, ptr noundef @.str.25)
          to label %1216 unwind label %1284

1216:                                             ; preds = %1215
  store i1 false, ptr %113, align 1
  invoke void @_ZN6HandleI9ExceptionEC2EPS0_(ptr noundef nonnull align 8 dereferenceable(8) %111, ptr noundef %1213)
          to label %1217 unwind label %1284

1217:                                             ; preds = %1216
  call void @_ZN6HandleI9ExceptionED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %112) #11
  %1218 = load ptr, ptr @logger, align 8, !tbaa !5
  %1219 = invoke noundef ptr @_ZNK6HandleI9ExceptionEptEv(ptr noundef nonnull align 8 dereferenceable(8) %111)
          to label %1220 unwind label %1292

1220:                                             ; preds = %1217
  %1221 = call noundef ptr @_ZNK9Exception4whatEv(ptr noundef nonnull align 8 dereferenceable(176) %1219) #11
  invoke void (ptr, ptr, ptr, ...) @_ZN6Logger4warnEPKcS1_z(ptr noundef nonnull align 8 dereferenceable(24) %1218, ptr noundef @__FUNCTION__._ZN15Provider_System15objectToPKIItemE6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE, ptr noundef @.str.26, ptr noundef %1221)
          to label %1222 unwind label %1292

1222:                                             ; preds = %1220
  %1223 = call ptr @__cxa_allocate_exception(i64 8) #11
  invoke void @_ZN6HandleI9ExceptionEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(8) %1223, ptr noundef nonnull align 8 dereferenceable(8) %111)
          to label %1224 unwind label %1296

1224:                                             ; preds = %1222
  invoke void @__cxa_throw(ptr %1223, ptr @_ZTI6HandleI9ExceptionE, ptr @_ZN6HandleI9ExceptionED2Ev) #15
          to label %2115 unwind label %1292

1225:                                             ; preds = %1170
  %1226 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1227 = extractvalue { ptr, i32 } %1226, 0
  store ptr %1227, ptr %9, align 8
  %1228 = extractvalue { ptr, i32 } %1226, 1
  store i32 %1228, ptr %10, align 4
  br label %1241

1229:                                             ; preds = %1173, %1172
  %1230 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1231 = extractvalue { ptr, i32 } %1230, 0
  store ptr %1231, ptr %9, align 8
  %1232 = extractvalue { ptr, i32 } %1230, 1
  store i32 %1232, ptr %10, align 4
  br label %1237

1233:                                             ; preds = %1176, %1174
  %1234 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1235 = extractvalue { ptr, i32 } %1234, 0
  store ptr %1235, ptr %9, align 8
  %1236 = extractvalue { ptr, i32 } %1234, 1
  store i32 %1236, ptr %10, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %102) #11
  br label %1237

1237:                                             ; preds = %1233, %1229
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %103) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %103) #11
  %1238 = load i1, ptr %104, align 1
  br i1 %1238, label %1239, label %1240

1239:                                             ; preds = %1237
  call void @_ZdlPvm(ptr noundef %1171, i64 noundef 32) #13
  br label %1240

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

1241:                                             ; preds = %1240, %1225
  call void @llvm.lifetime.end.p0(i64 8, ptr %102) #11
  br label %2034

1242:                                             ; preds = %1184
  %1243 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1244 = extractvalue { ptr, i32 } %1243, 0
  store ptr %1244, ptr %9, align 8
  %1245 = extractvalue { ptr, i32 } %1243, 1
  store i32 %1245, ptr %10, align 4
  br label %1258

1246:                                             ; preds = %1187, %1186
  %1247 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1248 = extractvalue { ptr, i32 } %1247, 0
  store ptr %1248, ptr %9, align 8
  %1249 = extractvalue { ptr, i32 } %1247, 1
  store i32 %1249, ptr %10, align 4
  br label %1254

1250:                                             ; preds = %1190, %1188
  %1251 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1252 = extractvalue { ptr, i32 } %1251, 0
  store ptr %1252, ptr %9, align 8
  %1253 = extractvalue { ptr, i32 } %1251, 1
  store i32 %1253, ptr %10, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %105) #11
  br label %1254

1254:                                             ; preds = %1250, %1246
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %106) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %106) #11
  %1255 = load i1, ptr %107, align 1
  br i1 %1255, label %1256, label %1257

1256:                                             ; preds = %1254
  call void @_ZdlPvm(ptr noundef %1185, i64 noundef 32) #13
  br label %1257

1257:                                             ; preds = %1256, %1254
  br label %1258

1258:                                             ; preds = %1257, %1242
  call void @llvm.lifetime.end.p0(i64 8, ptr %105) #11
  br label %2034

1259:                                             ; preds = %1196, %1193
  %1260 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1261 = extractvalue { ptr, i32 } %1260, 0
  store ptr %1261, ptr %9, align 8
  %1262 = extractvalue { ptr, i32 } %1260, 1
  store i32 %1262, ptr %10, align 4
  br label %1271

1263:                                             ; preds = %1195
  %1264 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1265 = extractvalue { ptr, i32 } %1264, 0
  store ptr %1265, ptr %9, align 8
  %1266 = extractvalue { ptr, i32 } %1264, 1
  store i32 %1266, ptr %10, align 4
  call void @_ZdlPvm(ptr noundef %1194, i64 noundef 32) #13
  br label %1271

1267:                                             ; preds = %1199, %1197
  %1268 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1269 = extractvalue { ptr, i32 } %1268, 0
  store ptr %1269, ptr %9, align 8
  %1270 = extractvalue { ptr, i32 } %1268, 1
  store i32 %1270, ptr %10, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %108) #11
  br label %1271

1271:                                             ; preds = %1267, %1263, %1259
  call void @llvm.lifetime.end.p0(i64 8, ptr %108) #11
  br label %2034

1272:                                             ; preds = %1207, %1204, %1202
  %1273 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1274 = extractvalue { ptr, i32 } %1273, 0
  store ptr %1274, ptr %9, align 8
  %1275 = extractvalue { ptr, i32 } %1273, 1
  store i32 %1275, ptr %10, align 4
  br label %1603

1276:                                             ; preds = %1212
  %1277 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1278 = extractvalue { ptr, i32 } %1277, 0
  store ptr %1278, ptr %9, align 8
  %1279 = extractvalue { ptr, i32 } %1277, 1
  store i32 %1279, ptr %10, align 4
  br label %1301

1280:                                             ; preds = %1214
  %1281 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1282 = extractvalue { ptr, i32 } %1281, 0
  store ptr %1282, ptr %9, align 8
  %1283 = extractvalue { ptr, i32 } %1281, 1
  store i32 %1283, ptr %10, align 4
  br label %1288

1284:                                             ; preds = %1216, %1215
  %1285 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1286 = extractvalue { ptr, i32 } %1285, 0
  store ptr %1286, ptr %9, align 8
  %1287 = extractvalue { ptr, i32 } %1285, 1
  store i32 %1287, ptr %10, align 4
  call void @_ZN6HandleI9ExceptionED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %112) #11
  br label %1288

1288:                                             ; preds = %1284, %1280
  %1289 = load i1, ptr %113, align 1
  br i1 %1289, label %1290, label %1291

1290:                                             ; preds = %1288
  call void @_ZdlPvm(ptr noundef %1213, i64 noundef 176) #13
  br label %1291

1291:                                             ; preds = %1290, %1288
  br label %1301

1292:                                             ; preds = %1224, %1220, %1217
  %1293 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1294 = extractvalue { ptr, i32 } %1293, 0
  store ptr %1294, ptr %9, align 8
  %1295 = extractvalue { ptr, i32 } %1293, 1
  store i32 %1295, ptr %10, align 4
  br label %1300

1296:                                             ; preds = %1222
  %1297 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1298 = extractvalue { ptr, i32 } %1297, 0
  store ptr %1298, ptr %9, align 8
  %1299 = extractvalue { ptr, i32 } %1297, 1
  store i32 %1299, ptr %10, align 4
  call void @__cxa_free_exception(ptr %1223) #11
  br label %1300

1300:                                             ; preds = %1296, %1292
  call void @_ZN6HandleI9ExceptionED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %111) #11
  br label %1301

1301:                                             ; preds = %1300, %1291, %1276
  call void @llvm.lifetime.end.p0(i64 8, ptr %111) #11
  br label %1603

1302:                                             ; preds = %1210
  call void @llvm.lifetime.start.p0(i64 8, ptr %114) #11
  %1303 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 32) #12
          to label %1304 unwind label %1345

1304:                                             ; preds = %1302
  store i1 true, ptr %116, align 1
  %1305 = getelementptr inbounds [64 x i8], ptr %109, i64 0, i64 0
  %1306 = load i32, ptr %110, align 4, !tbaa !11
  %1307 = zext i32 %1306 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr %115) #11
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %115) #11
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EPKcmRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %1303, ptr noundef %1305, i64 noundef %1307, ptr noundef nonnull align 1 dereferenceable(1) %115)
          to label %1308 unwind label %1349

1308:                                             ; preds = %1304
  store i1 false, ptr %116, align 1
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %114, ptr noundef %1303)
          to label %1309 unwind label %1349

1309:                                             ; preds = %1308
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %115) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %115) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %117) #11
  %1310 = invoke noundef ptr @_ZNK6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %114)
          to label %1311 unwind label %1356

1311:                                             ; preds = %1309
  %1312 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %1310) #11
  %1313 = invoke noundef ptr @_ZNK6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %114)
          to label %1314 unwind label %1356

1314:                                             ; preds = %1311
  %1315 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6lengthEv(ptr noundef nonnull align 8 dereferenceable(32) %1313) #11
  %1316 = trunc i64 %1315 to i32
  invoke void @_ZN8PkiStore13bin_to_strhexEPhjPPc(ptr noundef %1312, i32 noundef %1316, ptr noundef %117)
          to label %1317 unwind label %1356

1317:                                             ; preds = %1314
  call void @llvm.lifetime.start.p0(i64 8, ptr %118) #11
  %1318 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 32) #12
          to label %1319 unwind label %1360

1319:                                             ; preds = %1317
  store i1 true, ptr %120, align 1
  %1320 = load ptr, ptr %117, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %119) #11
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %119) #11
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %1318, ptr noundef %1320, ptr noundef nonnull align 1 dereferenceable(1) %119)
          to label %1321 unwind label %1364

1321:                                             ; preds = %1319
  store i1 false, ptr %120, align 1
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %118, ptr noundef %1318)
          to label %1322 unwind label %1364

1322:                                             ; preds = %1321
  %1323 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %8)
          to label %1324 unwind label %1368

1324:                                             ; preds = %1322
  %1325 = getelementptr inbounds %class.PkiItem, ptr %1323, i32 0, i32 9
  %1326 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %1325, ptr noundef nonnull align 8 dereferenceable(8) %118)
          to label %1327 unwind label %1368

1327:                                             ; preds = %1324
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %118) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %119) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %119) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %118) #11
  %1328 = load ptr, ptr @logger, align 8, !tbaa !5
  invoke void (ptr, i32, ptr, ptr, ...) @_ZN6Logger5writeEN11LoggerLevel12LOGGER_LEVELEPKcS3_z(ptr noundef nonnull align 8 dereferenceable(24) %1328, i32 noundef 32, ptr noundef @__FUNCTION__._ZN15Provider_System15objectToPKIItemE6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE, ptr noundef @.str.27)
          to label %1329 unwind label %1356

1329:                                             ; preds = %1327
  call void @llvm.lifetime.start.p0(i64 8, ptr %121) #11
  %1330 = load ptr, ptr %18, align 8, !tbaa !5
  %1331 = invoke ptr @X509_REQ_get_subject_name(ptr noundef %1330)
          to label %1332 unwind label %1377

1332:                                             ; preds = %1329
  store ptr %1331, ptr %121, align 8, !tbaa !5
  %1333 = load ptr, ptr %121, align 8, !tbaa !5
  %1334 = icmp ne ptr %1333, null
  br i1 %1334, label %1407, label %1335

1335:                                             ; preds = %1332
  %1336 = load ptr, ptr @logger, align 8, !tbaa !5
  invoke void (ptr, ptr, ptr, ...) @_ZN6Logger5errorEPKcS1_z(ptr noundef nonnull align 8 dereferenceable(24) %1336, ptr noundef @__FUNCTION__._ZN15Provider_System15objectToPKIItemE6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE, ptr noundef @.str.28)
          to label %1337 unwind label %1377

1337:                                             ; preds = %1335
  call void @llvm.lifetime.start.p0(i64 8, ptr %122) #11
  %1338 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 176) #12
          to label %1339 unwind label %1381

1339:                                             ; preds = %1337
  store i1 true, ptr %124, align 1
  invoke void @_ZN6HandleI9ExceptionEC2EPS0_(ptr noundef nonnull align 8 dereferenceable(8) %123, ptr noundef null)
          to label %1340 unwind label %1385

1340:                                             ; preds = %1339
  invoke void (ptr, i1, ptr, i32, i32, ptr, ptr, ptr, ptr, ...) @_ZN9ExceptionC1EbPKciiS1_S1_6HandleIS_ES1_z(ptr noundef nonnull align 8 dereferenceable(176) %1338, i1 noundef zeroext false, ptr noundef @.str.2, i32 noundef 311, i32 noundef 0, ptr noundef @__FUNCTION__._ZN15Provider_SystemC2E6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE, ptr noundef @__FUNCTION__._ZN15Provider_System15objectToPKIItemE6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE, ptr noundef %123, ptr noundef @.str.28)
          to label %1341 unwind label %1389

1341:                                             ; preds = %1340
  store i1 false, ptr %124, align 1
  invoke void @_ZN6HandleI9ExceptionEC2EPS0_(ptr noundef nonnull align 8 dereferenceable(8) %122, ptr noundef %1338)
          to label %1342 unwind label %1389

1342:                                             ; preds = %1341
  call void @_ZN6HandleI9ExceptionED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %123) #11
  %1343 = call ptr @__cxa_allocate_exception(i64 8) #11
  invoke void @_ZN6HandleI9ExceptionEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(8) %1343, ptr noundef nonnull align 8 dereferenceable(8) %122)
          to label %1344 unwind label %1397

1344:                                             ; preds = %1342
  invoke void @__cxa_throw(ptr %1343, ptr @_ZTI6HandleI9ExceptionE, ptr @_ZN6HandleI9ExceptionED2Ev) #15
          to label %2115 unwind label %1401

1345:                                             ; preds = %1302
  %1346 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1347 = extractvalue { ptr, i32 } %1346, 0
  store ptr %1347, ptr %9, align 8
  %1348 = extractvalue { ptr, i32 } %1346, 1
  store i32 %1348, ptr %10, align 4
  br label %1602

1349:                                             ; preds = %1308, %1304
  %1350 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1351 = extractvalue { ptr, i32 } %1350, 0
  store ptr %1351, ptr %9, align 8
  %1352 = extractvalue { ptr, i32 } %1350, 1
  store i32 %1352, ptr %10, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %115) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %115) #11
  %1353 = load i1, ptr %116, align 1
  br i1 %1353, label %1354, label %1355

1354:                                             ; preds = %1349
  call void @_ZdlPvm(ptr noundef %1303, i64 noundef 32) #13
  br label %1355

1355:                                             ; preds = %1354, %1349
  br label %1602

1356:                                             ; preds = %1327, %1314, %1311, %1309
  %1357 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1358 = extractvalue { ptr, i32 } %1357, 0
  store ptr %1358, ptr %9, align 8
  %1359 = extractvalue { ptr, i32 } %1357, 1
  store i32 %1359, ptr %10, align 4
  br label %1601

1360:                                             ; preds = %1317
  %1361 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1362 = extractvalue { ptr, i32 } %1361, 0
  store ptr %1362, ptr %9, align 8
  %1363 = extractvalue { ptr, i32 } %1361, 1
  store i32 %1363, ptr %10, align 4
  br label %1376

1364:                                             ; preds = %1321, %1319
  %1365 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1366 = extractvalue { ptr, i32 } %1365, 0
  store ptr %1366, ptr %9, align 8
  %1367 = extractvalue { ptr, i32 } %1365, 1
  store i32 %1367, ptr %10, align 4
  br label %1372

1368:                                             ; preds = %1324, %1322
  %1369 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1370 = extractvalue { ptr, i32 } %1369, 0
  store ptr %1370, ptr %9, align 8
  %1371 = extractvalue { ptr, i32 } %1369, 1
  store i32 %1371, ptr %10, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %118) #11
  br label %1372

1372:                                             ; preds = %1368, %1364
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %119) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %119) #11
  %1373 = load i1, ptr %120, align 1
  br i1 %1373, label %1374, label %1375

1374:                                             ; preds = %1372
  call void @_ZdlPvm(ptr noundef %1318, i64 noundef 32) #13
  br label %1375

1375:                                             ; preds = %1374, %1372
  br label %1376

1376:                                             ; preds = %1375, %1360
  call void @llvm.lifetime.end.p0(i64 8, ptr %118) #11
  br label %1601

1377:                                             ; preds = %1407, %1335, %1329
  %1378 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1379 = extractvalue { ptr, i32 } %1378, 0
  store ptr %1379, ptr %9, align 8
  %1380 = extractvalue { ptr, i32 } %1378, 1
  store i32 %1380, ptr %10, align 4
  br label %1600

1381:                                             ; preds = %1337
  %1382 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1383 = extractvalue { ptr, i32 } %1382, 0
  store ptr %1383, ptr %9, align 8
  %1384 = extractvalue { ptr, i32 } %1382, 1
  store i32 %1384, ptr %10, align 4
  br label %1406

1385:                                             ; preds = %1339
  %1386 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1387 = extractvalue { ptr, i32 } %1386, 0
  store ptr %1387, ptr %9, align 8
  %1388 = extractvalue { ptr, i32 } %1386, 1
  store i32 %1388, ptr %10, align 4
  br label %1393

1389:                                             ; preds = %1341, %1340
  %1390 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1391 = extractvalue { ptr, i32 } %1390, 0
  store ptr %1391, ptr %9, align 8
  %1392 = extractvalue { ptr, i32 } %1390, 1
  store i32 %1392, ptr %10, align 4
  call void @_ZN6HandleI9ExceptionED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %123) #11
  br label %1393

1393:                                             ; preds = %1389, %1385
  %1394 = load i1, ptr %124, align 1
  br i1 %1394, label %1395, label %1396

1395:                                             ; preds = %1393
  call void @_ZdlPvm(ptr noundef %1338, i64 noundef 176) #13
  br label %1396

1396:                                             ; preds = %1395, %1393
  br label %1406

1397:                                             ; preds = %1342
  %1398 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1399 = extractvalue { ptr, i32 } %1398, 0
  store ptr %1399, ptr %9, align 8
  %1400 = extractvalue { ptr, i32 } %1398, 1
  store i32 %1400, ptr %10, align 4
  call void @__cxa_free_exception(ptr %1343) #11
  br label %1405

1401:                                             ; preds = %1344
  %1402 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1403 = extractvalue { ptr, i32 } %1402, 0
  store ptr %1403, ptr %9, align 8
  %1404 = extractvalue { ptr, i32 } %1402, 1
  store i32 %1404, ptr %10, align 4
  br label %1405

1405:                                             ; preds = %1401, %1397
  call void @_ZN6HandleI9ExceptionED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %122) #11
  br label %1406

1406:                                             ; preds = %1405, %1396, %1381
  call void @llvm.lifetime.end.p0(i64 8, ptr %122) #11
  br label %1600

1407:                                             ; preds = %1332
  %1408 = load ptr, ptr @logger, align 8, !tbaa !5
  invoke void (ptr, i32, ptr, ptr, ...) @_ZN6Logger5writeEN11LoggerLevel12LOGGER_LEVELEPKcS3_z(ptr noundef nonnull align 8 dereferenceable(24) %1408, i32 noundef 32, ptr noundef @__FUNCTION__._ZN15Provider_System15objectToPKIItemE6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE, ptr noundef @.str.29)
          to label %1409 unwind label %1377

1409:                                             ; preds = %1407
  call void @llvm.lifetime.start.p0(i64 32, ptr %125) #11
  %1410 = load ptr, ptr %121, align 8, !tbaa !5
  invoke void @_Z20X509_NAME_oneline_exB5cxx11P12X509_name_st(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %125, ptr noundef %1410)
          to label %1411 unwind label %1468

1411:                                             ; preds = %1409
  call void @llvm.lifetime.start.p0(i64 8, ptr %126) #11
  %1412 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 32) #12
          to label %1413 unwind label %1472

1413:                                             ; preds = %1411
  store i1 true, ptr %128, align 1
  %1414 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %125) #11
  %1415 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6lengthEv(ptr noundef nonnull align 8 dereferenceable(32) %125) #11
  call void @llvm.lifetime.start.p0(i64 1, ptr %127) #11
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %127) #11
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EPKcmRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %1412, ptr noundef %1414, i64 noundef %1415, ptr noundef nonnull align 1 dereferenceable(1) %127)
          to label %1416 unwind label %1476

1416:                                             ; preds = %1413
  store i1 false, ptr %128, align 1
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %126, ptr noundef %1412)
          to label %1417 unwind label %1476

1417:                                             ; preds = %1416
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %127) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %127) #11
  %1418 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %8)
          to label %1419 unwind label %1483

1419:                                             ; preds = %1417
  %1420 = getelementptr inbounds i8, ptr %1418, i64 216
  %1421 = getelementptr inbounds %class.IPkiRequest, ptr %1420, i32 0, i32 1
  %1422 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %1421, ptr noundef nonnull align 8 dereferenceable(8) %126)
          to label %1423 unwind label %1483

1423:                                             ; preds = %1419
  call void @llvm.lifetime.start.p0(i64 8, ptr %129) #11
  %1424 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 32) #12
          to label %1425 unwind label %1487

1425:                                             ; preds = %1423
  store i1 true, ptr %131, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %130) #11
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %130) #11
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %1424, ptr noundef @.str.30, ptr noundef nonnull align 1 dereferenceable(1) %130)
          to label %1426 unwind label %1491

1426:                                             ; preds = %1425
  store i1 false, ptr %131, align 1
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %129, ptr noundef %1424)
          to label %1427 unwind label %1491

1427:                                             ; preds = %1426
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %130) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %130) #11
  call void @llvm.lifetime.start.p0(i64 4, ptr %132) #11
  store i32 13, ptr %132, align 4, !tbaa !11
  %1428 = load ptr, ptr @logger, align 8, !tbaa !5
  invoke void (ptr, i32, ptr, ptr, ...) @_ZN6Logger5writeEN11LoggerLevel12LOGGER_LEVELEPKcS3_z(ptr noundef nonnull align 8 dereferenceable(24) %1428, i32 noundef 32, ptr noundef @__FUNCTION__._ZN15Provider_System15objectToPKIItemE6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE, ptr noundef @.str.31)
          to label %1429 unwind label %1498

1429:                                             ; preds = %1427
  call void @llvm.lifetime.start.p0(i64 4, ptr %133) #11
  %1430 = load ptr, ptr %121, align 8, !tbaa !5
  %1431 = load i32, ptr %132, align 4, !tbaa !11
  %1432 = invoke i32 @X509_NAME_get_index_by_NID(ptr noundef %1430, i32 noundef %1431, i32 noundef -1)
          to label %1433 unwind label %1502

1433:                                             ; preds = %1429
  store i32 %1432, ptr %133, align 4, !tbaa !11
  %1434 = load i32, ptr %133, align 4, !tbaa !11
  %1435 = icmp sge i32 %1434, 0
  br i1 %1435, label %1436, label %1540

1436:                                             ; preds = %1433
  %1437 = load ptr, ptr @logger, align 8, !tbaa !5
  invoke void (ptr, i32, ptr, ptr, ...) @_ZN6Logger5writeEN11LoggerLevel12LOGGER_LEVELEPKcS3_z(ptr noundef nonnull align 8 dereferenceable(24) %1437, i32 noundef 32, ptr noundef @__FUNCTION__._ZN15Provider_System15objectToPKIItemE6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE, ptr noundef @.str.32)
          to label %1438 unwind label %1502

1438:                                             ; preds = %1436
  call void @llvm.lifetime.start.p0(i64 8, ptr %134) #11
  %1439 = load ptr, ptr %121, align 8, !tbaa !5
  %1440 = load i32, ptr %133, align 4, !tbaa !11
  %1441 = invoke ptr @X509_NAME_get_entry(ptr noundef %1439, i32 noundef %1440)
          to label %1442 unwind label %1506

1442:                                             ; preds = %1438
  store ptr %1441, ptr %134, align 8, !tbaa !5
  %1443 = load ptr, ptr %134, align 8, !tbaa !5
  %1444 = icmp ne ptr %1443, null
  br i1 %1444, label %1445, label %1538

1445:                                             ; preds = %1442
  %1446 = load ptr, ptr @logger, align 8, !tbaa !5
  invoke void (ptr, i32, ptr, ptr, ...) @_ZN6Logger5writeEN11LoggerLevel12LOGGER_LEVELEPKcS3_z(ptr noundef nonnull align 8 dereferenceable(24) %1446, i32 noundef 32, ptr noundef @__FUNCTION__._ZN15Provider_System15objectToPKIItemE6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE, ptr noundef @.str.33)
          to label %1447 unwind label %1506

1447:                                             ; preds = %1445
  call void @llvm.lifetime.start.p0(i64 8, ptr %135) #11
  %1448 = load ptr, ptr %134, align 8, !tbaa !5
  %1449 = invoke ptr @X509_NAME_ENTRY_get_data(ptr noundef %1448)
          to label %1450 unwind label %1510

1450:                                             ; preds = %1447
  store ptr %1449, ptr %135, align 8, !tbaa !5
  %1451 = load ptr, ptr %135, align 8, !tbaa !5
  %1452 = icmp ne ptr %1451, null
  br i1 %1452, label %1453, label %1536

1453:                                             ; preds = %1450
  call void @llvm.lifetime.start.p0(i64 8, ptr %136) #11
  store ptr null, ptr %136, align 8, !tbaa !5
  %1454 = load ptr, ptr @logger, align 8, !tbaa !5
  invoke void (ptr, i32, ptr, ptr, ...) @_ZN6Logger5writeEN11LoggerLevel12LOGGER_LEVELEPKcS3_z(ptr noundef nonnull align 8 dereferenceable(24) %1454, i32 noundef 32, ptr noundef @__FUNCTION__._ZN15Provider_System15objectToPKIItemE6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE, ptr noundef @.str.34)
          to label %1455 unwind label %1514

1455:                                             ; preds = %1453
  %1456 = load ptr, ptr %135, align 8, !tbaa !5
  %1457 = invoke i32 @ASN1_STRING_to_UTF8(ptr noundef %136, ptr noundef %1456)
          to label %1458 unwind label %1514

1458:                                             ; preds = %1455
  call void @llvm.lifetime.start.p0(i64 8, ptr %137) #11
  %1459 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 32) #12
          to label %1460 unwind label %1518

1460:                                             ; preds = %1458
  store i1 true, ptr %139, align 1
  %1461 = load ptr, ptr %136, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %138) #11
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %138) #11
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %1459, ptr noundef %1461, ptr noundef nonnull align 1 dereferenceable(1) %138)
          to label %1462 unwind label %1522

1462:                                             ; preds = %1460
  store i1 false, ptr %139, align 1
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %137, ptr noundef %1459)
          to label %1463 unwind label %1522

1463:                                             ; preds = %1462
  %1464 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %129, ptr noundef nonnull align 8 dereferenceable(8) %137)
          to label %1465 unwind label %1526

1465:                                             ; preds = %1463
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %137) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %138) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %138) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %137) #11
  %1466 = load ptr, ptr %136, align 8, !tbaa !5
  invoke void @CRYPTO_free(ptr noundef %1466, ptr noundef @.str.2, i32 noundef 336)
          to label %1467 unwind label %1514

1467:                                             ; preds = %1465
  call void @llvm.lifetime.end.p0(i64 8, ptr %136) #11
  br label %1536

1468:                                             ; preds = %1409
  %1469 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1470 = extractvalue { ptr, i32 } %1469, 0
  store ptr %1470, ptr %9, align 8
  %1471 = extractvalue { ptr, i32 } %1469, 1
  store i32 %1471, ptr %10, align 4
  br label %1599

1472:                                             ; preds = %1411
  %1473 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1474 = extractvalue { ptr, i32 } %1473, 0
  store ptr %1474, ptr %9, align 8
  %1475 = extractvalue { ptr, i32 } %1473, 1
  store i32 %1475, ptr %10, align 4
  br label %1598

1476:                                             ; preds = %1416, %1413
  %1477 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1478 = extractvalue { ptr, i32 } %1477, 0
  store ptr %1478, ptr %9, align 8
  %1479 = extractvalue { ptr, i32 } %1477, 1
  store i32 %1479, ptr %10, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %127) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %127) #11
  %1480 = load i1, ptr %128, align 1
  br i1 %1480, label %1481, label %1482

1481:                                             ; preds = %1476
  call void @_ZdlPvm(ptr noundef %1412, i64 noundef 32) #13
  br label %1482

1482:                                             ; preds = %1481, %1476
  br label %1598

1483:                                             ; preds = %1419, %1417
  %1484 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1485 = extractvalue { ptr, i32 } %1484, 0
  store ptr %1485, ptr %9, align 8
  %1486 = extractvalue { ptr, i32 } %1484, 1
  store i32 %1486, ptr %10, align 4
  br label %1597

1487:                                             ; preds = %1423
  %1488 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1489 = extractvalue { ptr, i32 } %1488, 0
  store ptr %1489, ptr %9, align 8
  %1490 = extractvalue { ptr, i32 } %1488, 1
  store i32 %1490, ptr %10, align 4
  br label %1596

1491:                                             ; preds = %1426, %1425
  %1492 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1493 = extractvalue { ptr, i32 } %1492, 0
  store ptr %1493, ptr %9, align 8
  %1494 = extractvalue { ptr, i32 } %1492, 1
  store i32 %1494, ptr %10, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %130) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %130) #11
  %1495 = load i1, ptr %131, align 1
  br i1 %1495, label %1496, label %1497

1496:                                             ; preds = %1491
  call void @_ZdlPvm(ptr noundef %1424, i64 noundef 32) #13
  br label %1497

1497:                                             ; preds = %1496, %1491
  br label %1596

1498:                                             ; preds = %1427
  %1499 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1500 = extractvalue { ptr, i32 } %1499, 0
  store ptr %1500, ptr %9, align 8
  %1501 = extractvalue { ptr, i32 } %1499, 1
  store i32 %1501, ptr %10, align 4
  br label %1595

1502:                                             ; preds = %1578, %1566, %1564, %1436, %1429
  %1503 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1504 = extractvalue { ptr, i32 } %1503, 0
  store ptr %1504, ptr %9, align 8
  %1505 = extractvalue { ptr, i32 } %1503, 1
  store i32 %1505, ptr %10, align 4
  br label %1594

1506:                                             ; preds = %1445, %1438
  %1507 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1508 = extractvalue { ptr, i32 } %1507, 0
  store ptr %1508, ptr %9, align 8
  %1509 = extractvalue { ptr, i32 } %1507, 1
  store i32 %1509, ptr %10, align 4
  br label %1539

1510:                                             ; preds = %1447
  %1511 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1512 = extractvalue { ptr, i32 } %1511, 0
  store ptr %1512, ptr %9, align 8
  %1513 = extractvalue { ptr, i32 } %1511, 1
  store i32 %1513, ptr %10, align 4
  br label %1537

1514:                                             ; preds = %1465, %1455, %1453
  %1515 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1516 = extractvalue { ptr, i32 } %1515, 0
  store ptr %1516, ptr %9, align 8
  %1517 = extractvalue { ptr, i32 } %1515, 1
  store i32 %1517, ptr %10, align 4
  br label %1535

1518:                                             ; preds = %1458
  %1519 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1520 = extractvalue { ptr, i32 } %1519, 0
  store ptr %1520, ptr %9, align 8
  %1521 = extractvalue { ptr, i32 } %1519, 1
  store i32 %1521, ptr %10, align 4
  br label %1534

1522:                                             ; preds = %1462, %1460
  %1523 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1524 = extractvalue { ptr, i32 } %1523, 0
  store ptr %1524, ptr %9, align 8
  %1525 = extractvalue { ptr, i32 } %1523, 1
  store i32 %1525, ptr %10, align 4
  br label %1530

1526:                                             ; preds = %1463
  %1527 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1528 = extractvalue { ptr, i32 } %1527, 0
  store ptr %1528, ptr %9, align 8
  %1529 = extractvalue { ptr, i32 } %1527, 1
  store i32 %1529, ptr %10, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %137) #11
  br label %1530

1530:                                             ; preds = %1526, %1522
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %138) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %138) #11
  %1531 = load i1, ptr %139, align 1
  br i1 %1531, label %1532, label %1533

1532:                                             ; preds = %1530
  call void @_ZdlPvm(ptr noundef %1459, i64 noundef 32) #13
  br label %1533

1533:                                             ; preds = %1532, %1530
  br label %1534

1534:                                             ; preds = %1533, %1518
  call void @llvm.lifetime.end.p0(i64 8, ptr %137) #11
  br label %1535

1535:                                             ; preds = %1534, %1514
  call void @llvm.lifetime.end.p0(i64 8, ptr %136) #11
  br label %1537

1536:                                             ; preds = %1467, %1450
  call void @llvm.lifetime.end.p0(i64 8, ptr %135) #11
  br label %1538

1537:                                             ; preds = %1535, %1510
  call void @llvm.lifetime.end.p0(i64 8, ptr %135) #11
  br label %1539

1538:                                             ; preds = %1536, %1442
  call void @llvm.lifetime.end.p0(i64 8, ptr %134) #11
  br label %1564

1539:                                             ; preds = %1537, %1506
  call void @llvm.lifetime.end.p0(i64 8, ptr %134) #11
  br label %1594

1540:                                             ; preds = %1433
  call void @llvm.lifetime.start.p0(i64 8, ptr %140) #11
  %1541 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 32) #12
          to label %1542 unwind label %1547

1542:                                             ; preds = %1540
  store i1 true, ptr %142, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %141) #11
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %141) #11
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %1541, ptr noundef @.str.35, ptr noundef nonnull align 1 dereferenceable(1) %141)
          to label %1543 unwind label %1551

1543:                                             ; preds = %1542
  store i1 false, ptr %142, align 1
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %140, ptr noundef %1541)
          to label %1544 unwind label %1551

1544:                                             ; preds = %1543
  %1545 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %129, ptr noundef nonnull align 8 dereferenceable(8) %140)
          to label %1546 unwind label %1555

1546:                                             ; preds = %1544
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %140) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %141) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %141) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %140) #11
  br label %1564

1547:                                             ; preds = %1540
  %1548 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1549 = extractvalue { ptr, i32 } %1548, 0
  store ptr %1549, ptr %9, align 8
  %1550 = extractvalue { ptr, i32 } %1548, 1
  store i32 %1550, ptr %10, align 4
  br label %1563

1551:                                             ; preds = %1543, %1542
  %1552 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1553 = extractvalue { ptr, i32 } %1552, 0
  store ptr %1553, ptr %9, align 8
  %1554 = extractvalue { ptr, i32 } %1552, 1
  store i32 %1554, ptr %10, align 4
  br label %1559

1555:                                             ; preds = %1544
  %1556 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1557 = extractvalue { ptr, i32 } %1556, 0
  store ptr %1557, ptr %9, align 8
  %1558 = extractvalue { ptr, i32 } %1556, 1
  store i32 %1558, ptr %10, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %140) #11
  br label %1559

1559:                                             ; preds = %1555, %1551
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %141) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %141) #11
  %1560 = load i1, ptr %142, align 1
  br i1 %1560, label %1561, label %1562

1561:                                             ; preds = %1559
  call void @_ZdlPvm(ptr noundef %1541, i64 noundef 32) #13
  br label %1562

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

1563:                                             ; preds = %1562, %1547
  call void @llvm.lifetime.end.p0(i64 8, ptr %140) #11
  br label %1594

1564:                                             ; preds = %1546, %1538
  %1565 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %8)
          to label %1566 unwind label %1502

1566:                                             ; preds = %1564
  %1567 = getelementptr inbounds i8, ptr %1565, i64 216
  %1568 = getelementptr inbounds %class.IPkiRequest, ptr %1567, i32 0, i32 2
  %1569 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %1568, ptr noundef nonnull align 8 dereferenceable(8) %129)
          to label %1570 unwind label %1502

1570:                                             ; preds = %1566
  call void @llvm.lifetime.start.p0(i64 8, ptr %143) #11
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2ERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %144, ptr noundef nonnull align 8 dereferenceable(8) %2)
          to label %1571 unwind label %1580

1571:                                             ; preds = %1570
  invoke void @_ZN15Provider_System6getKeyE6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE(ptr dead_on_unwind writable sret(%class.Handle) align 8 %143, ptr noundef nonnull align 8 dereferenceable(32) %181, ptr noundef %144)
          to label %1572 unwind label %1584

1572:                                             ; preds = %1571
  %1573 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %8)
          to label %1574 unwind label %1588

1574:                                             ; preds = %1572
  %1575 = getelementptr inbounds i8, ptr %1573, i64 216
  %1576 = getelementptr inbounds %class.IPkiRequest, ptr %1575, i32 0, i32 3
  %1577 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %1576, ptr noundef nonnull align 8 dereferenceable(8) %143)
          to label %1578 unwind label %1588

1578:                                             ; preds = %1574
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %143) #11
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %144) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %143) #11
  invoke void @_ZN6HandleI7PkiItemEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 8 dereferenceable(8) %8)
          to label %1579 unwind label %1502

1579:                                             ; preds = %1578
  store i32 1, ptr %35, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %133) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %132) #11
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %129) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %129) #11
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %126) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %126) #11
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %125) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr %125) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %121) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %117) #11
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %114) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %114) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %110) #11
  call void @llvm.lifetime.end.p0(i64 64, ptr %109) #11
  br label %2024

1580:                                             ; preds = %1570
  %1581 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1582 = extractvalue { ptr, i32 } %1581, 0
  store ptr %1582, ptr %9, align 8
  %1583 = extractvalue { ptr, i32 } %1581, 1
  store i32 %1583, ptr %10, align 4
  br label %1593

1584:                                             ; preds = %1571
  %1585 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1586 = extractvalue { ptr, i32 } %1585, 0
  store ptr %1586, ptr %9, align 8
  %1587 = extractvalue { ptr, i32 } %1585, 1
  store i32 %1587, ptr %10, align 4
  br label %1592

1588:                                             ; preds = %1574, %1572
  %1589 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1590 = extractvalue { ptr, i32 } %1589, 0
  store ptr %1590, ptr %9, align 8
  %1591 = extractvalue { ptr, i32 } %1589, 1
  store i32 %1591, ptr %10, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %143) #11
  br label %1592

1592:                                             ; preds = %1588, %1584
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %144) #11
  br label %1593

1593:                                             ; preds = %1592, %1580
  call void @llvm.lifetime.end.p0(i64 8, ptr %143) #11
  br label %1594

1594:                                             ; preds = %1593, %1563, %1539, %1502
  call void @llvm.lifetime.end.p0(i64 4, ptr %133) #11
  br label %1595

1595:                                             ; preds = %1594, %1498
  call void @llvm.lifetime.end.p0(i64 4, ptr %132) #11
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %129) #11
  br label %1596

1596:                                             ; preds = %1595, %1497, %1487
  call void @llvm.lifetime.end.p0(i64 8, ptr %129) #11
  br label %1597

1597:                                             ; preds = %1596, %1483
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %126) #11
  br label %1598

1598:                                             ; preds = %1597, %1482, %1472
  call void @llvm.lifetime.end.p0(i64 8, ptr %126) #11
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %125) #11
  br label %1599

1599:                                             ; preds = %1598, %1468
  call void @llvm.lifetime.end.p0(i64 32, ptr %125) #11
  br label %1600

1600:                                             ; preds = %1599, %1406, %1377
  call void @llvm.lifetime.end.p0(i64 8, ptr %121) #11
  br label %1601

1601:                                             ; preds = %1600, %1376, %1356
  call void @llvm.lifetime.end.p0(i64 8, ptr %117) #11
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %114) #11
  br label %1602

1602:                                             ; preds = %1601, %1355, %1345
  call void @llvm.lifetime.end.p0(i64 8, ptr %114) #11
  br label %1603

1603:                                             ; preds = %1602, %1301, %1272
  call void @llvm.lifetime.end.p0(i64 4, ptr %110) #11
  call void @llvm.lifetime.end.p0(i64 64, ptr %109) #11
  br label %2034

1604:                                             ; preds = %1167
  %1605 = invoke noundef ptr @_ZNK6HandleI3BioEptEv(ptr noundef nonnull align 8 dereferenceable(8) %11)
          to label %1606 unwind label %441

1606:                                             ; preds = %1604
  invoke void @_ZN3Bio4seekEi(ptr noundef nonnull align 8 dereferenceable(9) %1605, i32 noundef 0)
          to label %1607 unwind label %441

1607:                                             ; preds = %1606
  %1608 = load ptr, ptr @logger, align 8, !tbaa !5
  invoke void (ptr, i32, ptr, ptr, ...) @_ZN6Logger5writeEN11LoggerLevel12LOGGER_LEVELEPKcS3_z(ptr noundef nonnull align 8 dereferenceable(24) %1608, i32 noundef 32, ptr noundef @__FUNCTION__._ZN15Provider_System15objectToPKIItemE6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE, ptr noundef @.str.36)
          to label %1609 unwind label %441

1609:                                             ; preds = %1607
  %1610 = invoke noundef ptr @_ZNK6HandleI3BioEptEv(ptr noundef nonnull align 8 dereferenceable(8) %11)
          to label %1611 unwind label %441

1611:                                             ; preds = %1609
  %1612 = invoke noundef ptr @_ZN3Bio8internalEv(ptr noundef nonnull align 8 dereferenceable(9) %1610)
          to label %1613 unwind label %441

1613:                                             ; preds = %1611
  %1614 = invoke ptr @PEM_read_bio_X509_CRL(ptr noundef %1612, ptr noundef null, ptr noundef null, ptr noundef null)
          to label %1615 unwind label %441

1615:                                             ; preds = %1613
  store ptr %1614, ptr %20, align 8, !tbaa !5
  %1616 = load ptr, ptr %20, align 8, !tbaa !5
  %1617 = icmp ne ptr %1616, null
  br i1 %1617, label %1618, label %1675

1618:                                             ; preds = %1615
  call void @llvm.lifetime.start.p0(i64 8, ptr %145) #11
  %1619 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 16) #12
          to label %1620 unwind label %1636

1620:                                             ; preds = %1618
  store i1 true, ptr %147, align 1
  %1621 = load ptr, ptr %20, align 8, !tbaa !5
  invoke void @_ZN6HandleI7SObjectEC2EPS0_(ptr noundef nonnull align 8 dereferenceable(8) %146, ptr noundef null)
          to label %1622 unwind label %1640

1622:                                             ; preds = %1620
  invoke void @_ZN3CRLC2EP11X509_crl_st6HandleI7SObjectE(ptr noundef nonnull align 8 dereferenceable(16) %1619, ptr noundef %1621, ptr noundef %146)
          to label %1623 unwind label %1644

1623:                                             ; preds = %1622
  store i1 false, ptr %147, align 1
  invoke void @_ZN6HandleI3CRLEC2EPS0_(ptr noundef nonnull align 8 dereferenceable(8) %145, ptr noundef %1619)
          to label %1624 unwind label %1644

1624:                                             ; preds = %1623
  %1625 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleI3CRLEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(8) %22, ptr noundef nonnull align 8 dereferenceable(8) %145)
          to label %1626 unwind label %1648

1626:                                             ; preds = %1624
  call void @_ZN6HandleI3CRLED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %145) #11
  call void @_ZN6HandleI7SObjectED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %146) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %145) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %148) #11
  %1627 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 32) #12
          to label %1628 unwind label %1658

1628:                                             ; preds = %1626
  store i1 true, ptr %150, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %149) #11
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %149) #11
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %1627, ptr noundef @.str.15, ptr noundef nonnull align 1 dereferenceable(1) %149)
          to label %1629 unwind label %1662

1629:                                             ; preds = %1628
  store i1 false, ptr %150, align 1
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %148, ptr noundef %1627)
          to label %1630 unwind label %1662

1630:                                             ; preds = %1629
  %1631 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %8)
          to label %1632 unwind label %1666

1632:                                             ; preds = %1630
  %1633 = getelementptr inbounds %class.PkiItem, ptr %1631, i32 0, i32 4
  %1634 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %1633, ptr noundef nonnull align 8 dereferenceable(8) %148)
          to label %1635 unwind label %1666

1635:                                             ; preds = %1632
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %148) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %149) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %149) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %148) #11
  br label %1747

1636:                                             ; preds = %1618
  %1637 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1638 = extractvalue { ptr, i32 } %1637, 0
  store ptr %1638, ptr %9, align 8
  %1639 = extractvalue { ptr, i32 } %1637, 1
  store i32 %1639, ptr %10, align 4
  br label %1657

1640:                                             ; preds = %1620
  %1641 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1642 = extractvalue { ptr, i32 } %1641, 0
  store ptr %1642, ptr %9, align 8
  %1643 = extractvalue { ptr, i32 } %1641, 1
  store i32 %1643, ptr %10, align 4
  br label %1653

1644:                                             ; preds = %1623, %1622
  %1645 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1646 = extractvalue { ptr, i32 } %1645, 0
  store ptr %1646, ptr %9, align 8
  %1647 = extractvalue { ptr, i32 } %1645, 1
  store i32 %1647, ptr %10, align 4
  br label %1652

1648:                                             ; preds = %1624
  %1649 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1650 = extractvalue { ptr, i32 } %1649, 0
  store ptr %1650, ptr %9, align 8
  %1651 = extractvalue { ptr, i32 } %1649, 1
  store i32 %1651, ptr %10, align 4
  call void @_ZN6HandleI3CRLED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %145) #11
  br label %1652

1652:                                             ; preds = %1648, %1644
  call void @_ZN6HandleI7SObjectED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %146) #11
  br label %1653

1653:                                             ; preds = %1652, %1640
  %1654 = load i1, ptr %147, align 1
  br i1 %1654, label %1655, label %1656

1655:                                             ; preds = %1653
  call void @_ZdlPvm(ptr noundef %1619, i64 noundef 16) #13
  br label %1656

1656:                                             ; preds = %1655, %1653
  br label %1657

1657:                                             ; preds = %1656, %1636
  call void @llvm.lifetime.end.p0(i64 8, ptr %145) #11
  br label %2034

1658:                                             ; preds = %1626
  %1659 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1660 = extractvalue { ptr, i32 } %1659, 0
  store ptr %1660, ptr %9, align 8
  %1661 = extractvalue { ptr, i32 } %1659, 1
  store i32 %1661, ptr %10, align 4
  br label %1674

1662:                                             ; preds = %1629, %1628
  %1663 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1664 = extractvalue { ptr, i32 } %1663, 0
  store ptr %1664, ptr %9, align 8
  %1665 = extractvalue { ptr, i32 } %1663, 1
  store i32 %1665, ptr %10, align 4
  br label %1670

1666:                                             ; preds = %1632, %1630
  %1667 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1668 = extractvalue { ptr, i32 } %1667, 0
  store ptr %1668, ptr %9, align 8
  %1669 = extractvalue { ptr, i32 } %1667, 1
  store i32 %1669, ptr %10, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %148) #11
  br label %1670

1670:                                             ; preds = %1666, %1662
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %149) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %149) #11
  %1671 = load i1, ptr %150, align 1
  br i1 %1671, label %1672, label %1673

1672:                                             ; preds = %1670
  call void @_ZdlPvm(ptr noundef %1627, i64 noundef 32) #13
  br label %1673

1673:                                             ; preds = %1672, %1670
  br label %1674

1674:                                             ; preds = %1673, %1658
  call void @llvm.lifetime.end.p0(i64 8, ptr %148) #11
  br label %2034

1675:                                             ; preds = %1615
  %1676 = invoke noundef ptr @_ZNK6HandleI3BioEptEv(ptr noundef nonnull align 8 dereferenceable(8) %11)
          to label %1677 unwind label %441

1677:                                             ; preds = %1675
  invoke void @_ZN3Bio4seekEi(ptr noundef nonnull align 8 dereferenceable(9) %1676, i32 noundef 0)
          to label %1678 unwind label %441

1678:                                             ; preds = %1677
  %1679 = load ptr, ptr @logger, align 8, !tbaa !5
  invoke void (ptr, i32, ptr, ptr, ...) @_ZN6Logger5writeEN11LoggerLevel12LOGGER_LEVELEPKcS3_z(ptr noundef nonnull align 8 dereferenceable(24) %1679, i32 noundef 32, ptr noundef @__FUNCTION__._ZN15Provider_System15objectToPKIItemE6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE, ptr noundef @.str.37)
          to label %1680 unwind label %441

1680:                                             ; preds = %1678
  %1681 = invoke noundef ptr @_ZNK6HandleI3BioEptEv(ptr noundef nonnull align 8 dereferenceable(8) %11)
          to label %1682 unwind label %441

1682:                                             ; preds = %1680
  %1683 = invoke noundef ptr @_ZN3Bio8internalEv(ptr noundef nonnull align 8 dereferenceable(9) %1681)
          to label %1684 unwind label %441

1684:                                             ; preds = %1682
  %1685 = invoke ptr @d2i_X509_CRL_bio(ptr noundef %1683, ptr noundef null)
          to label %1686 unwind label %441

1686:                                             ; preds = %1684
  store ptr %1685, ptr %20, align 8, !tbaa !5
  %1687 = load ptr, ptr %20, align 8, !tbaa !5
  %1688 = icmp ne ptr %1687, null
  br i1 %1688, label %1689, label %1746

1689:                                             ; preds = %1686
  call void @llvm.lifetime.start.p0(i64 8, ptr %151) #11
  %1690 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 16) #12
          to label %1691 unwind label %1707

1691:                                             ; preds = %1689
  store i1 true, ptr %153, align 1
  %1692 = load ptr, ptr %20, align 8, !tbaa !5
  invoke void @_ZN6HandleI7SObjectEC2EPS0_(ptr noundef nonnull align 8 dereferenceable(8) %152, ptr noundef null)
          to label %1693 unwind label %1711

1693:                                             ; preds = %1691
  invoke void @_ZN3CRLC2EP11X509_crl_st6HandleI7SObjectE(ptr noundef nonnull align 8 dereferenceable(16) %1690, ptr noundef %1692, ptr noundef %152)
          to label %1694 unwind label %1715

1694:                                             ; preds = %1693
  store i1 false, ptr %153, align 1
  invoke void @_ZN6HandleI3CRLEC2EPS0_(ptr noundef nonnull align 8 dereferenceable(8) %151, ptr noundef %1690)
          to label %1695 unwind label %1715

1695:                                             ; preds = %1694
  %1696 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleI3CRLEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(8) %22, ptr noundef nonnull align 8 dereferenceable(8) %151)
          to label %1697 unwind label %1719

1697:                                             ; preds = %1695
  call void @_ZN6HandleI3CRLED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %151) #11
  call void @_ZN6HandleI7SObjectED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %152) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %151) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %154) #11
  %1698 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 32) #12
          to label %1699 unwind label %1729

1699:                                             ; preds = %1697
  store i1 true, ptr %156, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %155) #11
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %155) #11
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %1698, ptr noundef @.str.19, ptr noundef nonnull align 1 dereferenceable(1) %155)
          to label %1700 unwind label %1733

1700:                                             ; preds = %1699
  store i1 false, ptr %156, align 1
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %154, ptr noundef %1698)
          to label %1701 unwind label %1733

1701:                                             ; preds = %1700
  %1702 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %8)
          to label %1703 unwind label %1737

1703:                                             ; preds = %1701
  %1704 = getelementptr inbounds %class.PkiItem, ptr %1702, i32 0, i32 4
  %1705 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %1704, ptr noundef nonnull align 8 dereferenceable(8) %154)
          to label %1706 unwind label %1737

1706:                                             ; preds = %1703
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %154) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %155) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %155) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %154) #11
  br label %1746

1707:                                             ; preds = %1689
  %1708 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1709 = extractvalue { ptr, i32 } %1708, 0
  store ptr %1709, ptr %9, align 8
  %1710 = extractvalue { ptr, i32 } %1708, 1
  store i32 %1710, ptr %10, align 4
  br label %1728

1711:                                             ; preds = %1691
  %1712 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1713 = extractvalue { ptr, i32 } %1712, 0
  store ptr %1713, ptr %9, align 8
  %1714 = extractvalue { ptr, i32 } %1712, 1
  store i32 %1714, ptr %10, align 4
  br label %1724

1715:                                             ; preds = %1694, %1693
  %1716 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1717 = extractvalue { ptr, i32 } %1716, 0
  store ptr %1717, ptr %9, align 8
  %1718 = extractvalue { ptr, i32 } %1716, 1
  store i32 %1718, ptr %10, align 4
  br label %1723

1719:                                             ; preds = %1695
  %1720 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1721 = extractvalue { ptr, i32 } %1720, 0
  store ptr %1721, ptr %9, align 8
  %1722 = extractvalue { ptr, i32 } %1720, 1
  store i32 %1722, ptr %10, align 4
  call void @_ZN6HandleI3CRLED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %151) #11
  br label %1723

1723:                                             ; preds = %1719, %1715
  call void @_ZN6HandleI7SObjectED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %152) #11
  br label %1724

1724:                                             ; preds = %1723, %1711
  %1725 = load i1, ptr %153, align 1
  br i1 %1725, label %1726, label %1727

1726:                                             ; preds = %1724
  call void @_ZdlPvm(ptr noundef %1690, i64 noundef 16) #13
  br label %1727

1727:                                             ; preds = %1726, %1724
  br label %1728

1728:                                             ; preds = %1727, %1707
  call void @llvm.lifetime.end.p0(i64 8, ptr %151) #11
  br label %2034

1729:                                             ; preds = %1697
  %1730 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1731 = extractvalue { ptr, i32 } %1730, 0
  store ptr %1731, ptr %9, align 8
  %1732 = extractvalue { ptr, i32 } %1730, 1
  store i32 %1732, ptr %10, align 4
  br label %1745

1733:                                             ; preds = %1700, %1699
  %1734 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1735 = extractvalue { ptr, i32 } %1734, 0
  store ptr %1735, ptr %9, align 8
  %1736 = extractvalue { ptr, i32 } %1734, 1
  store i32 %1736, ptr %10, align 4
  br label %1741

1737:                                             ; preds = %1703, %1701
  %1738 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1739 = extractvalue { ptr, i32 } %1738, 0
  store ptr %1739, ptr %9, align 8
  %1740 = extractvalue { ptr, i32 } %1738, 1
  store i32 %1740, ptr %10, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %154) #11
  br label %1741

1741:                                             ; preds = %1737, %1733
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %155) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %155) #11
  %1742 = load i1, ptr %156, align 1
  br i1 %1742, label %1743, label %1744

1743:                                             ; preds = %1741
  call void @_ZdlPvm(ptr noundef %1698, i64 noundef 32) #13
  br label %1744

1744:                                             ; preds = %1743, %1741
  br label %1745

1745:                                             ; preds = %1744, %1729
  call void @llvm.lifetime.end.p0(i64 8, ptr %154) #11
  br label %2034

1746:                                             ; preds = %1706, %1686
  br label %1747

1747:                                             ; preds = %1746, %1635
  %1748 = invoke noundef zeroext i1 @_ZNK6HandleI3CRLE7isEmptyEv(ptr noundef nonnull align 8 dereferenceable(8) %22)
          to label %1749 unwind label %441

1749:                                             ; preds = %1747
  br i1 %1748, label %2023, label %1750

1750:                                             ; preds = %1749
  call void @llvm.lifetime.start.p0(i64 8, ptr %157) #11
  %1751 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 32) #12
          to label %1752 unwind label %1877

1752:                                             ; preds = %1750
  store i1 true, ptr %159, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %158) #11
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %158) #11
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %1751, ptr noundef @.str.8, ptr noundef nonnull align 1 dereferenceable(1) %158)
          to label %1753 unwind label %1881

1753:                                             ; preds = %1752
  store i1 false, ptr %159, align 1
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %157, ptr noundef %1751)
          to label %1754 unwind label %1881

1754:                                             ; preds = %1753
  %1755 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %8)
          to label %1756 unwind label %1885

1756:                                             ; preds = %1754
  %1757 = getelementptr inbounds %class.PkiItem, ptr %1755, i32 0, i32 5
  %1758 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %1757, ptr noundef nonnull align 8 dereferenceable(8) %157)
          to label %1759 unwind label %1885

1759:                                             ; preds = %1756
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %157) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %158) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %158) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %157) #11
  %1760 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %8)
          to label %1761 unwind label %441

1761:                                             ; preds = %1759
  %1762 = getelementptr inbounds %class.PkiItem, ptr %1760, i32 0, i32 6
  %1763 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %1762, ptr noundef nonnull align 8 dereferenceable(8) %2)
          to label %1764 unwind label %441

1764:                                             ; preds = %1761
  call void @llvm.lifetime.start.p0(i64 8, ptr %160) #11
  %1765 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 32) #12
          to label %1766 unwind label %1894

1766:                                             ; preds = %1764
  store i1 true, ptr %162, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %161) #11
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %161) #11
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %1765, ptr noundef @.str, ptr noundef nonnull align 1 dereferenceable(1) %161)
          to label %1767 unwind label %1898

1767:                                             ; preds = %1766
  store i1 false, ptr %162, align 1
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %160, ptr noundef %1765)
          to label %1768 unwind label %1898

1768:                                             ; preds = %1767
  %1769 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %8)
          to label %1770 unwind label %1902

1770:                                             ; preds = %1768
  %1771 = getelementptr inbounds %class.PkiItem, ptr %1769, i32 0, i32 7
  %1772 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %1771, ptr noundef nonnull align 8 dereferenceable(8) %160)
          to label %1773 unwind label %1902

1773:                                             ; preds = %1770
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %160) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %161) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %161) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %160) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %163) #11
  %1774 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 32) #12
          to label %1775 unwind label %1911

1775:                                             ; preds = %1773
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %1774, ptr noundef nonnull align 8 dereferenceable(32) %30)
          to label %1776 unwind label %1915

1776:                                             ; preds = %1775
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %163, ptr noundef %1774)
          to label %1777 unwind label %1911

1777:                                             ; preds = %1776
  %1778 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %8)
          to label %1779 unwind label %1919

1779:                                             ; preds = %1777
  %1780 = getelementptr inbounds %class.PkiItem, ptr %1778, i32 0, i32 8
  %1781 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %1780, ptr noundef nonnull align 8 dereferenceable(8) %163)
          to label %1782 unwind label %1919

1782:                                             ; preds = %1779
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %163) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %163) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %164) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %165) #11
  %1783 = invoke noundef ptr @_ZNK6HandleI3CRLEptEv(ptr noundef nonnull align 8 dereferenceable(8) %22)
          to label %1784 unwind label %1924

1784:                                             ; preds = %1782
  invoke void @_ZN3CRL13getThumbprintB5cxx11Ev(ptr dead_on_unwind writable sret(%class.Handle) align 8 %165, ptr noundef nonnull align 8 dereferenceable(16) %1783)
          to label %1785 unwind label %1924

1785:                                             ; preds = %1784
  %1786 = invoke noundef ptr @_ZNK6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %165)
          to label %1787 unwind label %1928

1787:                                             ; preds = %1785
  %1788 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %1786) #11
  %1789 = invoke noundef ptr @_ZNK6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %165)
          to label %1790 unwind label %1928

1790:                                             ; preds = %1787
  %1791 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6lengthEv(ptr noundef nonnull align 8 dereferenceable(32) %1789) #11
  %1792 = trunc i64 %1791 to i32
  invoke void @_ZN8PkiStore13bin_to_strhexEPhjPPc(ptr noundef %1788, i32 noundef %1792, ptr noundef %164)
          to label %1793 unwind label %1928

1793:                                             ; preds = %1790
  call void @llvm.lifetime.start.p0(i64 8, ptr %166) #11
  %1794 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 32) #12
          to label %1795 unwind label %1932

1795:                                             ; preds = %1793
  store i1 true, ptr %168, align 1
  %1796 = load ptr, ptr %164, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %167) #11
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %167) #11
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %1794, ptr noundef %1796, ptr noundef nonnull align 1 dereferenceable(1) %167)
          to label %1797 unwind label %1936

1797:                                             ; preds = %1795
  store i1 false, ptr %168, align 1
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %166, ptr noundef %1794)
          to label %1798 unwind label %1936

1798:                                             ; preds = %1797
  %1799 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %8)
          to label %1800 unwind label %1940

1800:                                             ; preds = %1798
  %1801 = getelementptr inbounds %class.PkiItem, ptr %1799, i32 0, i32 9
  %1802 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %1801, ptr noundef nonnull align 8 dereferenceable(8) %166)
          to label %1803 unwind label %1940

1803:                                             ; preds = %1800
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %166) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %167) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %167) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %166) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %169) #11
  %1804 = invoke noundef ptr @_ZNK6HandleI3CRLEptEv(ptr noundef nonnull align 8 dereferenceable(8) %22)
          to label %1805 unwind label %1949

1805:                                             ; preds = %1803
  invoke void @_ZN3CRL10issuerNameB5cxx11Ev(ptr dead_on_unwind writable sret(%class.Handle) align 8 %169, ptr noundef nonnull align 8 dereferenceable(16) %1804)
          to label %1806 unwind label %1949

1806:                                             ; preds = %1805
  %1807 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %8)
          to label %1808 unwind label %1953

1808:                                             ; preds = %1806
  %1809 = getelementptr inbounds i8, ptr %1807, i64 112
  %1810 = getelementptr inbounds %class.IPkiCrl, ptr %1809, i32 0, i32 1
  %1811 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %1810, ptr noundef nonnull align 8 dereferenceable(8) %169)
          to label %1812 unwind label %1953

1812:                                             ; preds = %1808
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %169) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %169) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %170) #11
  %1813 = invoke noundef ptr @_ZNK6HandleI3CRLEptEv(ptr noundef nonnull align 8 dereferenceable(8) %22)
          to label %1814 unwind label %1958

1814:                                             ; preds = %1812
  invoke void @_ZN3CRL18issuerFriendlyNameB5cxx11Ev(ptr dead_on_unwind writable sret(%class.Handle) align 8 %170, ptr noundef nonnull align 8 dereferenceable(16) %1813)
          to label %1815 unwind label %1958

1815:                                             ; preds = %1814
  %1816 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %8)
          to label %1817 unwind label %1962

1817:                                             ; preds = %1815
  %1818 = getelementptr inbounds i8, ptr %1816, i64 112
  %1819 = getelementptr inbounds %class.IPkiCrl, ptr %1818, i32 0, i32 2
  %1820 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %1819, ptr noundef nonnull align 8 dereferenceable(8) %170)
          to label %1821 unwind label %1962

1821:                                             ; preds = %1817
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %170) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %170) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %171) #11
  %1822 = invoke noundef ptr @_ZNK6HandleI3CRLEptEv(ptr noundef nonnull align 8 dereferenceable(8) %22)
          to label %1823 unwind label %1967

1823:                                             ; preds = %1821
  invoke void @_ZN3CRL13getThisUpdateB5cxx11Ev(ptr dead_on_unwind writable sret(%class.Handle) align 8 %171, ptr noundef nonnull align 8 dereferenceable(16) %1822)
          to label %1824 unwind label %1967

1824:                                             ; preds = %1823
  %1825 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %8)
          to label %1826 unwind label %1971

1826:                                             ; preds = %1824
  %1827 = getelementptr inbounds i8, ptr %1825, i64 112
  %1828 = getelementptr inbounds %class.IPkiCrl, ptr %1827, i32 0, i32 3
  %1829 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %1828, ptr noundef nonnull align 8 dereferenceable(8) %171)
          to label %1830 unwind label %1971

1830:                                             ; preds = %1826
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %171) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %171) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %172) #11
  %1831 = invoke noundef ptr @_ZNK6HandleI3CRLEptEv(ptr noundef nonnull align 8 dereferenceable(8) %22)
          to label %1832 unwind label %1976

1832:                                             ; preds = %1830
  invoke void @_ZN3CRL13getNextUpdateB5cxx11Ev(ptr dead_on_unwind writable sret(%class.Handle) align 8 %172, ptr noundef nonnull align 8 dereferenceable(16) %1831)
          to label %1833 unwind label %1976

1833:                                             ; preds = %1832
  %1834 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %8)
          to label %1835 unwind label %1980

1835:                                             ; preds = %1833
  %1836 = getelementptr inbounds i8, ptr %1834, i64 112
  %1837 = getelementptr inbounds %class.IPkiCrl, ptr %1836, i32 0, i32 4
  %1838 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %1837, ptr noundef nonnull align 8 dereferenceable(8) %172)
          to label %1839 unwind label %1980

1839:                                             ; preds = %1835
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %172) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %172) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %173) #11
  %1840 = invoke noundef ptr @_ZNK6HandleI3CRLEptEv(ptr noundef nonnull align 8 dereferenceable(8) %22)
          to label %1841 unwind label %1985

1841:                                             ; preds = %1839
  invoke void @_ZN3CRL21getSignatureAlgorithmB5cxx11Ev(ptr dead_on_unwind writable sret(%class.Handle) align 8 %173, ptr noundef nonnull align 8 dereferenceable(16) %1840)
          to label %1842 unwind label %1985

1842:                                             ; preds = %1841
  %1843 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %8)
          to label %1844 unwind label %1989

1844:                                             ; preds = %1842
  %1845 = getelementptr inbounds i8, ptr %1843, i64 112
  %1846 = getelementptr inbounds %class.IPkiCrl, ptr %1845, i32 0, i32 5
  %1847 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %1846, ptr noundef nonnull align 8 dereferenceable(8) %173)
          to label %1848 unwind label %1989

1848:                                             ; preds = %1844
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %173) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %173) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %174) #11
  %1849 = invoke noundef ptr @_ZNK6HandleI3CRLEptEv(ptr noundef nonnull align 8 dereferenceable(8) %22)
          to label %1850 unwind label %1994

1850:                                             ; preds = %1848
  invoke void @_ZN3CRL27getSignatureDigestAlgorithmB5cxx11Ev(ptr dead_on_unwind writable sret(%class.Handle) align 8 %174, ptr noundef nonnull align 8 dereferenceable(16) %1849)
          to label %1851 unwind label %1994

1851:                                             ; preds = %1850
  %1852 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %8)
          to label %1853 unwind label %1998

1853:                                             ; preds = %1851
  %1854 = getelementptr inbounds i8, ptr %1852, i64 112
  %1855 = getelementptr inbounds %class.IPkiCrl, ptr %1854, i32 0, i32 6
  %1856 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %1855, ptr noundef nonnull align 8 dereferenceable(8) %174)
          to label %1857 unwind label %1998

1857:                                             ; preds = %1853
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %174) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %174) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %175) #11
  %1858 = invoke noundef ptr @_ZNK6HandleI3CRLEptEv(ptr noundef nonnull align 8 dereferenceable(8) %22)
          to label %1859 unwind label %2003

1859:                                             ; preds = %1857
  invoke void @_ZN3CRL17getAuthorityKeyidB5cxx11Ev(ptr dead_on_unwind writable sret(%class.Handle) align 8 %175, ptr noundef nonnull align 8 dereferenceable(16) %1858)
          to label %1860 unwind label %2003

1860:                                             ; preds = %1859
  %1861 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %8)
          to label %1862 unwind label %2007

1862:                                             ; preds = %1860
  %1863 = getelementptr inbounds i8, ptr %1861, i64 112
  %1864 = getelementptr inbounds %class.IPkiCrl, ptr %1863, i32 0, i32 7
  %1865 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %1864, ptr noundef nonnull align 8 dereferenceable(8) %175)
          to label %1866 unwind label %2007

1866:                                             ; preds = %1862
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %175) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %175) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %176) #11
  %1867 = invoke noundef ptr @_ZNK6HandleI3CRLEptEv(ptr noundef nonnull align 8 dereferenceable(8) %22)
          to label %1868 unwind label %2012

1868:                                             ; preds = %1866
  invoke void @_ZN3CRL12getCrlNumberB5cxx11Ev(ptr dead_on_unwind writable sret(%class.Handle) align 8 %176, ptr noundef nonnull align 8 dereferenceable(16) %1867)
          to label %1869 unwind label %2012

1869:                                             ; preds = %1868
  %1870 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %8)
          to label %1871 unwind label %2016

1871:                                             ; preds = %1869
  %1872 = getelementptr inbounds i8, ptr %1870, i64 112
  %1873 = getelementptr inbounds %class.IPkiCrl, ptr %1872, i32 0, i32 8
  %1874 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %1873, ptr noundef nonnull align 8 dereferenceable(8) %176)
          to label %1875 unwind label %2016

1875:                                             ; preds = %1871
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %176) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %176) #11
  invoke void @_ZN6HandleI7PkiItemEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 8 dereferenceable(8) %8)
          to label %1876 unwind label %1928

1876:                                             ; preds = %1875
  store i32 1, ptr %35, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %165) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %165) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %164) #11
  br label %2024

1877:                                             ; preds = %1750
  %1878 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1879 = extractvalue { ptr, i32 } %1878, 0
  store ptr %1879, ptr %9, align 8
  %1880 = extractvalue { ptr, i32 } %1878, 1
  store i32 %1880, ptr %10, align 4
  br label %1893

1881:                                             ; preds = %1753, %1752
  %1882 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1883 = extractvalue { ptr, i32 } %1882, 0
  store ptr %1883, ptr %9, align 8
  %1884 = extractvalue { ptr, i32 } %1882, 1
  store i32 %1884, ptr %10, align 4
  br label %1889

1885:                                             ; preds = %1756, %1754
  %1886 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1887 = extractvalue { ptr, i32 } %1886, 0
  store ptr %1887, ptr %9, align 8
  %1888 = extractvalue { ptr, i32 } %1886, 1
  store i32 %1888, ptr %10, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %157) #11
  br label %1889

1889:                                             ; preds = %1885, %1881
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %158) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %158) #11
  %1890 = load i1, ptr %159, align 1
  br i1 %1890, label %1891, label %1892

1891:                                             ; preds = %1889
  call void @_ZdlPvm(ptr noundef %1751, i64 noundef 32) #13
  br label %1892

1892:                                             ; preds = %1891, %1889
  br label %1893

1893:                                             ; preds = %1892, %1877
  call void @llvm.lifetime.end.p0(i64 8, ptr %157) #11
  br label %2034

1894:                                             ; preds = %1764
  %1895 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1896 = extractvalue { ptr, i32 } %1895, 0
  store ptr %1896, ptr %9, align 8
  %1897 = extractvalue { ptr, i32 } %1895, 1
  store i32 %1897, ptr %10, align 4
  br label %1910

1898:                                             ; preds = %1767, %1766
  %1899 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1900 = extractvalue { ptr, i32 } %1899, 0
  store ptr %1900, ptr %9, align 8
  %1901 = extractvalue { ptr, i32 } %1899, 1
  store i32 %1901, ptr %10, align 4
  br label %1906

1902:                                             ; preds = %1770, %1768
  %1903 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1904 = extractvalue { ptr, i32 } %1903, 0
  store ptr %1904, ptr %9, align 8
  %1905 = extractvalue { ptr, i32 } %1903, 1
  store i32 %1905, ptr %10, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %160) #11
  br label %1906

1906:                                             ; preds = %1902, %1898
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %161) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %161) #11
  %1907 = load i1, ptr %162, align 1
  br i1 %1907, label %1908, label %1909

1908:                                             ; preds = %1906
  call void @_ZdlPvm(ptr noundef %1765, i64 noundef 32) #13
  br label %1909

1909:                                             ; preds = %1908, %1906
  br label %1910

1910:                                             ; preds = %1909, %1894
  call void @llvm.lifetime.end.p0(i64 8, ptr %160) #11
  br label %2034

1911:                                             ; preds = %1776, %1773
  %1912 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1913 = extractvalue { ptr, i32 } %1912, 0
  store ptr %1913, ptr %9, align 8
  %1914 = extractvalue { ptr, i32 } %1912, 1
  store i32 %1914, ptr %10, align 4
  br label %1923

1915:                                             ; preds = %1775
  %1916 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1917 = extractvalue { ptr, i32 } %1916, 0
  store ptr %1917, ptr %9, align 8
  %1918 = extractvalue { ptr, i32 } %1916, 1
  store i32 %1918, ptr %10, align 4
  call void @_ZdlPvm(ptr noundef %1774, i64 noundef 32) #13
  br label %1923

1919:                                             ; preds = %1779, %1777
  %1920 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1921 = extractvalue { ptr, i32 } %1920, 0
  store ptr %1921, ptr %9, align 8
  %1922 = extractvalue { ptr, i32 } %1920, 1
  store i32 %1922, ptr %10, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %163) #11
  br label %1923

1923:                                             ; preds = %1919, %1915, %1911
  call void @llvm.lifetime.end.p0(i64 8, ptr %163) #11
  br label %2034

1924:                                             ; preds = %1784, %1782
  %1925 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1926 = extractvalue { ptr, i32 } %1925, 0
  store ptr %1926, ptr %9, align 8
  %1927 = extractvalue { ptr, i32 } %1925, 1
  store i32 %1927, ptr %10, align 4
  br label %2022

1928:                                             ; preds = %1875, %1790, %1787, %1785
  %1929 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1930 = extractvalue { ptr, i32 } %1929, 0
  store ptr %1930, ptr %9, align 8
  %1931 = extractvalue { ptr, i32 } %1929, 1
  store i32 %1931, ptr %10, align 4
  br label %2021

1932:                                             ; preds = %1793
  %1933 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1934 = extractvalue { ptr, i32 } %1933, 0
  store ptr %1934, ptr %9, align 8
  %1935 = extractvalue { ptr, i32 } %1933, 1
  store i32 %1935, ptr %10, align 4
  br label %1948

1936:                                             ; preds = %1797, %1795
  %1937 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1938 = extractvalue { ptr, i32 } %1937, 0
  store ptr %1938, ptr %9, align 8
  %1939 = extractvalue { ptr, i32 } %1937, 1
  store i32 %1939, ptr %10, align 4
  br label %1944

1940:                                             ; preds = %1800, %1798
  %1941 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1942 = extractvalue { ptr, i32 } %1941, 0
  store ptr %1942, ptr %9, align 8
  %1943 = extractvalue { ptr, i32 } %1941, 1
  store i32 %1943, ptr %10, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %166) #11
  br label %1944

1944:                                             ; preds = %1940, %1936
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %167) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %167) #11
  %1945 = load i1, ptr %168, align 1
  br i1 %1945, label %1946, label %1947

1946:                                             ; preds = %1944
  call void @_ZdlPvm(ptr noundef %1794, i64 noundef 32) #13
  br label %1947

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

1948:                                             ; preds = %1947, %1932
  call void @llvm.lifetime.end.p0(i64 8, ptr %166) #11
  br label %2021

1949:                                             ; preds = %1805, %1803
  %1950 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1951 = extractvalue { ptr, i32 } %1950, 0
  store ptr %1951, ptr %9, align 8
  %1952 = extractvalue { ptr, i32 } %1950, 1
  store i32 %1952, ptr %10, align 4
  br label %1957

1953:                                             ; preds = %1808, %1806
  %1954 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1955 = extractvalue { ptr, i32 } %1954, 0
  store ptr %1955, ptr %9, align 8
  %1956 = extractvalue { ptr, i32 } %1954, 1
  store i32 %1956, ptr %10, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %169) #11
  br label %1957

1957:                                             ; preds = %1953, %1949
  call void @llvm.lifetime.end.p0(i64 8, ptr %169) #11
  br label %2021

1958:                                             ; preds = %1814, %1812
  %1959 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1960 = extractvalue { ptr, i32 } %1959, 0
  store ptr %1960, ptr %9, align 8
  %1961 = extractvalue { ptr, i32 } %1959, 1
  store i32 %1961, ptr %10, align 4
  br label %1966

1962:                                             ; preds = %1817, %1815
  %1963 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1964 = extractvalue { ptr, i32 } %1963, 0
  store ptr %1964, ptr %9, align 8
  %1965 = extractvalue { ptr, i32 } %1963, 1
  store i32 %1965, ptr %10, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %170) #11
  br label %1966

1966:                                             ; preds = %1962, %1958
  call void @llvm.lifetime.end.p0(i64 8, ptr %170) #11
  br label %2021

1967:                                             ; preds = %1823, %1821
  %1968 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1969 = extractvalue { ptr, i32 } %1968, 0
  store ptr %1969, ptr %9, align 8
  %1970 = extractvalue { ptr, i32 } %1968, 1
  store i32 %1970, ptr %10, align 4
  br label %1975

1971:                                             ; preds = %1826, %1824
  %1972 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1973 = extractvalue { ptr, i32 } %1972, 0
  store ptr %1973, ptr %9, align 8
  %1974 = extractvalue { ptr, i32 } %1972, 1
  store i32 %1974, ptr %10, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %171) #11
  br label %1975

1975:                                             ; preds = %1971, %1967
  call void @llvm.lifetime.end.p0(i64 8, ptr %171) #11
  br label %2021

1976:                                             ; preds = %1832, %1830
  %1977 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1978 = extractvalue { ptr, i32 } %1977, 0
  store ptr %1978, ptr %9, align 8
  %1979 = extractvalue { ptr, i32 } %1977, 1
  store i32 %1979, ptr %10, align 4
  br label %1984

1980:                                             ; preds = %1835, %1833
  %1981 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1982 = extractvalue { ptr, i32 } %1981, 0
  store ptr %1982, ptr %9, align 8
  %1983 = extractvalue { ptr, i32 } %1981, 1
  store i32 %1983, ptr %10, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %172) #11
  br label %1984

1984:                                             ; preds = %1980, %1976
  call void @llvm.lifetime.end.p0(i64 8, ptr %172) #11
  br label %2021

1985:                                             ; preds = %1841, %1839
  %1986 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1987 = extractvalue { ptr, i32 } %1986, 0
  store ptr %1987, ptr %9, align 8
  %1988 = extractvalue { ptr, i32 } %1986, 1
  store i32 %1988, ptr %10, align 4
  br label %1993

1989:                                             ; preds = %1844, %1842
  %1990 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1991 = extractvalue { ptr, i32 } %1990, 0
  store ptr %1991, ptr %9, align 8
  %1992 = extractvalue { ptr, i32 } %1990, 1
  store i32 %1992, ptr %10, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %173) #11
  br label %1993

1993:                                             ; preds = %1989, %1985
  call void @llvm.lifetime.end.p0(i64 8, ptr %173) #11
  br label %2021

1994:                                             ; preds = %1850, %1848
  %1995 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1996 = extractvalue { ptr, i32 } %1995, 0
  store ptr %1996, ptr %9, align 8
  %1997 = extractvalue { ptr, i32 } %1995, 1
  store i32 %1997, ptr %10, align 4
  br label %2002

1998:                                             ; preds = %1853, %1851
  %1999 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %2000 = extractvalue { ptr, i32 } %1999, 0
  store ptr %2000, ptr %9, align 8
  %2001 = extractvalue { ptr, i32 } %1999, 1
  store i32 %2001, ptr %10, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %174) #11
  br label %2002

2002:                                             ; preds = %1998, %1994
  call void @llvm.lifetime.end.p0(i64 8, ptr %174) #11
  br label %2021

2003:                                             ; preds = %1859, %1857
  %2004 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %2005 = extractvalue { ptr, i32 } %2004, 0
  store ptr %2005, ptr %9, align 8
  %2006 = extractvalue { ptr, i32 } %2004, 1
  store i32 %2006, ptr %10, align 4
  br label %2011

2007:                                             ; preds = %1862, %1860
  %2008 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %2009 = extractvalue { ptr, i32 } %2008, 0
  store ptr %2009, ptr %9, align 8
  %2010 = extractvalue { ptr, i32 } %2008, 1
  store i32 %2010, ptr %10, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %175) #11
  br label %2011

2011:                                             ; preds = %2007, %2003
  call void @llvm.lifetime.end.p0(i64 8, ptr %175) #11
  br label %2021

2012:                                             ; preds = %1868, %1866
  %2013 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %2014 = extractvalue { ptr, i32 } %2013, 0
  store ptr %2014, ptr %9, align 8
  %2015 = extractvalue { ptr, i32 } %2013, 1
  store i32 %2015, ptr %10, align 4
  br label %2020

2016:                                             ; preds = %1871, %1869
  %2017 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %2018 = extractvalue { ptr, i32 } %2017, 0
  store ptr %2018, ptr %9, align 8
  %2019 = extractvalue { ptr, i32 } %2017, 1
  store i32 %2019, ptr %10, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %176) #11
  br label %2020

2020:                                             ; preds = %2016, %2012
  call void @llvm.lifetime.end.p0(i64 8, ptr %176) #11
  br label %2021

2021:                                             ; preds = %2020, %2011, %2002, %1993, %1984, %1975, %1966, %1957, %1948, %1928
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %165) #11
  br label %2022

2022:                                             ; preds = %2021, %1924
  call void @llvm.lifetime.end.p0(i64 8, ptr %165) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %164) #11
  br label %2034

2023:                                             ; preds = %1749
  store i32 0, ptr %35, align 4
  br label %2024

2024:                                             ; preds = %2023, %1876, %1579, %896, %597
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %32) #11
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr %30) #11
  %2025 = getelementptr inbounds [4 x %"class.std::__cxx11::basic_string"], ptr %23, i32 0, i32 0
  %2026 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %2025, i64 4
  br label %2027

2027:                                             ; preds = %2027, %2024
  %2028 = phi ptr [ %2026, %2024 ], [ %2029, %2027 ]
  %2029 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %2028, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %2029) #11
  %2030 = icmp eq ptr %2029, %2025
  br i1 %2030, label %2031, label %2027

2031:                                             ; preds = %2027
  call void @llvm.lifetime.end.p0(i64 128, ptr %23) #11
  call void @_ZN6HandleI3CRLED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %22) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %22) #11
  call void @_ZN6HandleI11CertificateED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %21) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %20) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %18) #11
  %2032 = load i32, ptr %35, align 4
  switch i32 %2032, label %2103 [
    i32 0, label %2033
  ]

2033:                                             ; preds = %2031
  br label %2097

2034:                                             ; preds = %2022, %1923, %1910, %1893, %1745, %1728, %1674, %1657, %1603, %1271, %1258, %1241, %1165, %1124, %1083, %943, %930, %913, %742, %725, %671, %654, %600, %512, %495, %482, %465, %445, %441
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #11
  br label %2035

2035:                                             ; preds = %2034, %368, %339
  call void @llvm.lifetime.end.p0(i64 1, ptr %32) #11
  br label %2036

2036:                                             ; preds = %2035, %308
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #11
  br label %2037

2037:                                             ; preds = %2036, %304
  call void @llvm.lifetime.end.p0(i64 32, ptr %30) #11
  %2038 = getelementptr inbounds [4 x %"class.std::__cxx11::basic_string"], ptr %23, i32 0, i32 0
  %2039 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %2038, i64 4
  br label %2040

2040:                                             ; preds = %2040, %2037
  %2041 = phi ptr [ %2039, %2037 ], [ %2042, %2040 ]
  %2042 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %2041, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %2042) #11
  %2043 = icmp eq ptr %2042, %2038
  br i1 %2043, label %2044, label %2040

2044:                                             ; preds = %2040
  br label %2045

2045:                                             ; preds = %2044, %303
  call void @llvm.lifetime.end.p0(i64 128, ptr %23) #11
  call void @_ZN6HandleI3CRLED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %22) #11
  br label %2046

2046:                                             ; preds = %2045, %271
  call void @llvm.lifetime.end.p0(i64 8, ptr %22) #11
  call void @_ZN6HandleI11CertificateED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %21) #11
  br label %2047

2047:                                             ; preds = %2046, %267
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %20) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %18) #11
  br label %2048

2048:                                             ; preds = %2047, %266
  %2049 = load i32, ptr %10, align 4
  %2050 = call i32 @llvm.eh.typeid.for.p0(ptr @_ZTI6HandleI9ExceptionE) #11
  %2051 = icmp eq i32 %2049, %2050
  br i1 %2051, label %2052, label %2104

2052:                                             ; preds = %2048
  call void @llvm.lifetime.start.p0(i64 8, ptr %177) #11
  %2053 = load ptr, ptr %9, align 8
  %2054 = call ptr @__cxa_begin_catch(ptr %2053) #11
  store ptr %2054, ptr %177, align 8
  %2055 = load ptr, ptr @logger, align 8, !tbaa !5
  invoke void (ptr, ptr, ptr, ...) @_ZN6Logger5errorEPKcS1_z(ptr noundef nonnull align 8 dereferenceable(24) %2055, ptr noundef @__FUNCTION__._ZN15Provider_System15objectToPKIItemE6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE, ptr noundef @.str.38)
          to label %2056 unwind label %2065

2056:                                             ; preds = %2052
  call void @llvm.lifetime.start.p0(i64 8, ptr %178) #11
  %2057 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 176) #12
          to label %2058 unwind label %2069

2058:                                             ; preds = %2056
  store i1 true, ptr %180, align 1
  %2059 = load ptr, ptr %177, align 8, !tbaa !5
  invoke void @_ZN6HandleI9ExceptionEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(8) %179, ptr noundef nonnull align 8 dereferenceable(8) %2059)
          to label %2060 unwind label %2073

2060:                                             ; preds = %2058
  invoke void (ptr, i1, ptr, i32, i32, ptr, ptr, ptr, ptr, ...) @_ZN9ExceptionC1EbPKciiS1_S1_6HandleIS_ES1_z(ptr noundef nonnull align 8 dereferenceable(176) %2057, i1 noundef zeroext false, ptr noundef @.str.2, i32 noundef 392, i32 noundef 0, ptr noundef @__FUNCTION__._ZN15Provider_SystemC2E6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE, ptr noundef @__FUNCTION__._ZN15Provider_System15objectToPKIItemE6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE, ptr noundef %179, ptr noundef @.str.38)
          to label %2061 unwind label %2077

2061:                                             ; preds = %2060
  store i1 false, ptr %180, align 1
  invoke void @_ZN6HandleI9ExceptionEC2EPS0_(ptr noundef nonnull align 8 dereferenceable(8) %178, ptr noundef %2057)
          to label %2062 unwind label %2077

2062:                                             ; preds = %2061
  call void @_ZN6HandleI9ExceptionED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %179) #11
  %2063 = call ptr @__cxa_allocate_exception(i64 8) #11
  invoke void @_ZN6HandleI9ExceptionEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(8) %2063, ptr noundef nonnull align 8 dereferenceable(8) %178)
          to label %2064 unwind label %2085

2064:                                             ; preds = %2062
  invoke void @__cxa_throw(ptr %2063, ptr @_ZTI6HandleI9ExceptionE, ptr @_ZN6HandleI9ExceptionED2Ev) #15
          to label %2115 unwind label %2089

2065:                                             ; preds = %2052
  %2066 = landingpad { ptr, i32 }
          cleanup
  %2067 = extractvalue { ptr, i32 } %2066, 0
  store ptr %2067, ptr %9, align 8
  %2068 = extractvalue { ptr, i32 } %2066, 1
  store i32 %2068, ptr %10, align 4
  br label %2095

2069:                                             ; preds = %2056
  %2070 = landingpad { ptr, i32 }
          cleanup
  %2071 = extractvalue { ptr, i32 } %2070, 0
  store ptr %2071, ptr %9, align 8
  %2072 = extractvalue { ptr, i32 } %2070, 1
  store i32 %2072, ptr %10, align 4
  br label %2094

2073:                                             ; preds = %2058
  %2074 = landingpad { ptr, i32 }
          cleanup
  %2075 = extractvalue { ptr, i32 } %2074, 0
  store ptr %2075, ptr %9, align 8
  %2076 = extractvalue { ptr, i32 } %2074, 1
  store i32 %2076, ptr %10, align 4
  br label %2081

2077:                                             ; preds = %2061, %2060
  %2078 = landingpad { ptr, i32 }
          cleanup
  %2079 = extractvalue { ptr, i32 } %2078, 0
  store ptr %2079, ptr %9, align 8
  %2080 = extractvalue { ptr, i32 } %2078, 1
  store i32 %2080, ptr %10, align 4
  call void @_ZN6HandleI9ExceptionED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %179) #11
  br label %2081

2081:                                             ; preds = %2077, %2073
  %2082 = load i1, ptr %180, align 1
  br i1 %2082, label %2083, label %2084

2083:                                             ; preds = %2081
  call void @_ZdlPvm(ptr noundef %2057, i64 noundef 176) #13
  br label %2084

2084:                                             ; preds = %2083, %2081
  br label %2094

2085:                                             ; preds = %2062
  %2086 = landingpad { ptr, i32 }
          cleanup
  %2087 = extractvalue { ptr, i32 } %2086, 0
  store ptr %2087, ptr %9, align 8
  %2088 = extractvalue { ptr, i32 } %2086, 1
  store i32 %2088, ptr %10, align 4
  call void @__cxa_free_exception(ptr %2063) #11
  br label %2093

2089:                                             ; preds = %2064
  %2090 = landingpad { ptr, i32 }
          cleanup
  %2091 = extractvalue { ptr, i32 } %2090, 0
  store ptr %2091, ptr %9, align 8
  %2092 = extractvalue { ptr, i32 } %2090, 1
  store i32 %2092, ptr %10, align 4
  br label %2093

2093:                                             ; preds = %2089, %2085
  call void @_ZN6HandleI9ExceptionED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %178) #11
  br label %2094

2094:                                             ; preds = %2093, %2084, %2069
  call void @llvm.lifetime.end.p0(i64 8, ptr %178) #11
  br label %2095

2095:                                             ; preds = %2094, %2065
  invoke void @__cxa_end_catch()
          to label %2096 unwind label %2112

2096:                                             ; preds = %2095
  call void @llvm.lifetime.end.p0(i64 8, ptr %177) #11
  br label %2104

2097:                                             ; preds = %2033
  invoke void @_ZN6HandleI7PkiItemEC2EPS0_(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef null)
          to label %2098 unwind label %2099

2098:                                             ; preds = %2097
  store i32 1, ptr %35, align 4
  br label %2103

2099:                                             ; preds = %2097
  %2100 = landingpad { ptr, i32 }
          cleanup
  %2101 = extractvalue { ptr, i32 } %2100, 0
  store ptr %2101, ptr %9, align 8
  %2102 = extractvalue { ptr, i32 } %2100, 1
  store i32 %2102, ptr %10, align 4
  br label %2104

2103:                                             ; preds = %2098, %2031
  call void @_ZN6HandleI3BioED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %11) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #11
  call void @_ZN6HandleI7PkiItemED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %8) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %8) #11
  call void @_ZN14LoggerFunctionD1Ev(ptr noundef nonnull align 8 dereferenceable(16) %7) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr %7) #11
  ret void

2104:                                             ; preds = %2099, %2096, %2048
  call void @_ZN6HandleI3BioED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %11) #11
  br label %2105

2105:                                             ; preds = %2104, %253, %228
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #11
  call void @_ZN6HandleI7PkiItemED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %8) #11
  br label %2106

2106:                                             ; preds = %2105, %224
  call void @llvm.lifetime.end.p0(i64 8, ptr %8) #11
  call void @_ZN14LoggerFunctionD1Ev(ptr noundef nonnull align 8 dereferenceable(16) %7) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr %7) #11
  br label %2107

2107:                                             ; preds = %2106
  %2108 = load ptr, ptr %9, align 8
  %2109 = load i32, ptr %10, align 4
  %2110 = insertvalue { ptr, i32 } poison, ptr %2108, 0
  %2111 = insertvalue { ptr, i32 } %2110, i32 %2109, 1
  resume { ptr, i32 } %2111

2112:                                             ; preds = %2095
  %2113 = landingpad { ptr, i32 }
          catch ptr null
  %2114 = extractvalue { ptr, i32 } %2113, 0
  call void @__clang_call_terminate(ptr %2114) #16
  unreachable

2115:                                             ; preds = %2064, %1344, %1224, %569, %338
  unreachable
}

; Function Attrs: mustprogress uwtable
declare void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleI7PkiItemEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN6HandleI7PkiItemED2Ev(ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN6HandleI7PkiItemEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #3 align 2

declare void @_ZN3BioC1EiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_(ptr noundef nonnull align 8 dereferenceable(9), i32 noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #1

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN6HandleI3BioEC2EPS0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) unnamed_addr #4 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN6HandleI11CertificateEC2EPS0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) unnamed_addr #4 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN6HandleI3CRLEC2EPS0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) unnamed_addr #4 align 2

; Function Attrs: mustprogress uwtable
declare void @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6substrEmm(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(32), i64 noundef, i64 noundef) #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12find_last_ofEcm(ptr noundef nonnull align 8 dereferenceable(32), i8 noundef signext, i64 noundef) #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6lengthEv(ptr noundef nonnull align 8 dereferenceable(32)) #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) #3 align 2

; Function Attrs: nounwind willreturn memory(read)
declare i32 @strcmp(ptr noundef, ptr noundef) #9

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN15Provider_System12itPrivateKeyE6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEPi(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef, ptr noundef) #4 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8)) #4 align 2

; Function Attrs: mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5eraseEmm(ptr noundef nonnull align 8 dereferenceable(32), i64 noundef, i64 noundef) #4 align 2

; Function Attrs: nounwind
declare noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5rfindEcm(ptr noundef nonnull align 8 dereferenceable(32), i8 noundef signext, i64 noundef) #8

; Function Attrs: mustprogress uwtable
declare dso_local noundef ptr @_ZNK6HandleI3BioEptEv(ptr noundef nonnull align 8 dereferenceable(8)) #4 align 2

declare void @_ZN3Bio4seekEi(ptr noundef nonnull align 8 dereferenceable(9), i32 noundef) #1

declare ptr @PEM_read_bio_X509(ptr noundef, ptr noundef, ptr noundef, ptr noundef) #1

declare noundef ptr @_ZN3Bio8internalEv(ptr noundef nonnull align 8 dereferenceable(9)) #1

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN6HandleI7SObjectEC2EPS0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) unnamed_addr #4 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN11CertificateC2EP7x509_st6HandleI7SObjectE(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef, ptr noundef) unnamed_addr #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleI11CertificateEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN6HandleI11CertificateED2Ev(ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN6HandleI7SObjectED2Ev(ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #3 align 2

declare ptr @d2i_X509_bio(ptr noundef, ptr noundef) #1

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNK6HandleI11CertificateE7isEmptyEv(ptr noundef nonnull align 8 dereferenceable(8)) #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef ptr @_ZNK6HandleI11CertificateEptEv(ptr noundef nonnull align 8 dereferenceable(8)) #4 align 2

declare void @_ZN11Certificate13getThumbprintB5cxx11Ev(ptr dead_on_unwind writable sret(%class.Handle) align 8, ptr noundef nonnull align 8 dereferenceable(16)) #1

declare void @_ZN8PkiStore13bin_to_strhexEPhjPPc(ptr noundef, i32 noundef, ptr noundef) #1

declare void @_ZN11Certificate14getSubjectNameB5cxx11Ev(ptr dead_on_unwind writable sret(%class.Handle) align 8, ptr noundef nonnull align 8 dereferenceable(16)) #1

declare void @_ZN11Certificate22getSubjectFriendlyNameB5cxx11Ev(ptr dead_on_unwind writable sret(%class.Handle) align 8, ptr noundef nonnull align 8 dereferenceable(16)) #1

declare void @_ZN11Certificate13getIssuerNameB5cxx11Ev(ptr dead_on_unwind writable sret(%class.Handle) align 8, ptr noundef nonnull align 8 dereferenceable(16)) #1

declare void @_ZN11Certificate21getIssuerFriendlyNameB5cxx11Ev(ptr dead_on_unwind writable sret(%class.Handle) align 8, ptr noundef nonnull align 8 dereferenceable(16)) #1

declare void @_ZN11Certificate15getSerialNumberB5cxx11Ev(ptr dead_on_unwind writable sret(%class.Handle) align 8, ptr noundef nonnull align 8 dereferenceable(16)) #1

declare void @_ZN11Certificate19getOrganizationNameB5cxx11Ev(ptr dead_on_unwind writable sret(%class.Handle) align 8, ptr noundef nonnull align 8 dereferenceable(16)) #1

declare void @_ZN11Certificate21getSignatureAlgorithmB5cxx11Ev(ptr dead_on_unwind writable sret(%class.Handle) align 8, ptr noundef nonnull align 8 dereferenceable(16)) #1

declare void @_ZN11Certificate27getSignatureDigestAlgorithmB5cxx11Ev(ptr dead_on_unwind writable sret(%class.Handle) align 8, ptr noundef nonnull align 8 dereferenceable(16)) #1

declare void @_ZN11Certificate21getPublicKeyAlgorithmB5cxx11Ev(ptr dead_on_unwind writable sret(%class.Handle) align 8, ptr noundef nonnull align 8 dereferenceable(16)) #1

declare void @_ZN11Certificate12getNotBeforeB5cxx11Ev(ptr dead_on_unwind writable sret(%class.Handle) align 8, ptr noundef nonnull align 8 dereferenceable(16)) #1

declare void @_ZN11Certificate11getNotAfterB5cxx11Ev(ptr dead_on_unwind writable sret(%class.Handle) align 8, ptr noundef nonnull align 8 dereferenceable(16)) #1

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN15Provider_System6getKeyE6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE(ptr dead_on_unwind noalias writable sret(%class.Handle) align 8, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) #4 align 2

declare ptr @PEM_read_bio_X509_REQ(ptr noundef, ptr noundef, ptr noundef, ptr noundef) #1

declare ptr @d2i_X509_REQ_bio(ptr noundef, ptr noundef) #1

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: write)
declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #10

declare i32 @X509_REQ_digest(ptr noundef, ptr noundef, ptr noundef, ptr noundef) #1

declare ptr @EVP_sha1() #1

declare void @_ZN6Logger4warnEPKcS1_z(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef, ptr noundef, ...) #1

; Function Attrs: mustprogress uwtable
declare dso_local noundef ptr @_ZNK6HandleI9ExceptionEptEv(ptr noundef nonnull align 8 dereferenceable(8)) #4 align 2

; Function Attrs: nounwind
declare noundef ptr @_ZNK9Exception4whatEv(ptr noundef nonnull align 8 dereferenceable(176)) #8

; Function Attrs: mustprogress uwtable
declare void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EPKcmRKS3_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef, i64 noundef, ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #4 align 2

declare ptr @X509_REQ_get_subject_name(ptr noundef) #1

declare void @_Z20X509_NAME_oneline_exB5cxx11P12X509_name_st(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef) #1

declare i32 @X509_NAME_get_index_by_NID(ptr noundef, i32 noundef, i32 noundef) #1

declare ptr @X509_NAME_get_entry(ptr noundef, i32 noundef) #1

declare ptr @X509_NAME_ENTRY_get_data(ptr noundef) #1

declare i32 @ASN1_STRING_to_UTF8(ptr noundef, ptr noundef) #1

declare void @CRYPTO_free(ptr noundef, ptr noundef, i32 noundef) #1

declare ptr @PEM_read_bio_X509_CRL(ptr noundef, ptr noundef, ptr noundef, ptr noundef) #1

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN3CRLC2EP11X509_crl_st6HandleI7SObjectE(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef, ptr noundef) unnamed_addr #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleI3CRLEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN6HandleI3CRLED2Ev(ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #3 align 2

declare ptr @d2i_X509_CRL_bio(ptr noundef, ptr noundef) #1

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNK6HandleI3CRLE7isEmptyEv(ptr noundef nonnull align 8 dereferenceable(8)) #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef ptr @_ZNK6HandleI3CRLEptEv(ptr noundef nonnull align 8 dereferenceable(8)) #4 align 2

declare void @_ZN3CRL13getThumbprintB5cxx11Ev(ptr dead_on_unwind writable sret(%class.Handle) align 8, ptr noundef nonnull align 8 dereferenceable(16)) #1

declare void @_ZN3CRL10issuerNameB5cxx11Ev(ptr dead_on_unwind writable sret(%class.Handle) align 8, ptr noundef nonnull align 8 dereferenceable(16)) #1

declare void @_ZN3CRL18issuerFriendlyNameB5cxx11Ev(ptr dead_on_unwind writable sret(%class.Handle) align 8, ptr noundef nonnull align 8 dereferenceable(16)) #1

declare void @_ZN3CRL13getThisUpdateB5cxx11Ev(ptr dead_on_unwind writable sret(%class.Handle) align 8, ptr noundef nonnull align 8 dereferenceable(16)) #1

declare void @_ZN3CRL13getNextUpdateB5cxx11Ev(ptr dead_on_unwind writable sret(%class.Handle) align 8, ptr noundef nonnull align 8 dereferenceable(16)) #1

declare void @_ZN3CRL21getSignatureAlgorithmB5cxx11Ev(ptr dead_on_unwind writable sret(%class.Handle) align 8, ptr noundef nonnull align 8 dereferenceable(16)) #1

declare void @_ZN3CRL27getSignatureDigestAlgorithmB5cxx11Ev(ptr dead_on_unwind writable sret(%class.Handle) align 8, ptr noundef nonnull align 8 dereferenceable(16)) #1

declare void @_ZN3CRL17getAuthorityKeyidB5cxx11Ev(ptr dead_on_unwind writable sret(%class.Handle) align 8, ptr noundef nonnull align 8 dereferenceable(16)) #1

declare void @_ZN3CRL12getCrlNumberB5cxx11Ev(ptr dead_on_unwind writable sret(%class.Handle) align 8, ptr noundef nonnull align 8 dereferenceable(16)) #1

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN6HandleI3BioED2Ev(ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #3 align 2

attributes #0 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { "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 = { nobuiltin allocsize(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 #3 = { mustprogress 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 #4 = { mustprogress 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 #5 = { nobuiltin 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 = { nounwind memory(none) }
attributes #7 = { noinline noreturn nounwind uwtable "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 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #9 = { nounwind willreturn memory(read) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #10 = { nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #11 = { nounwind }
attributes #12 = { builtin allocsize(0) }
attributes #13 = { builtin nounwind }
attributes #14 = { nounwind willreturn memory(read) }
attributes #15 = { noreturn }
attributes #16 = { noreturn nounwind }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"bool", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"int", !7, i64 0}
!13 = distinct !{!13, !14}
!14 = !{!"llvm.loop.mustprogress"}
!15 = !{i8 0, i8 2}
!16 = !{}
!17 = !{!18, !10, i64 8}
!18 = !{!"_ZTS7IPkiKey", !10, i64 8, !19, i64 16}
!19 = !{!"_ZTS6HandleI3KeyE", !6, i64 0}
!20 = !{!21, !21, i64 0}
!21 = !{!"long", !7, i64 0}


; 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"

%class.Handle.5 = type { ptr }
%class.LoggerFunction = type { %class.Handle, ptr }
%class.Handle = type { ptr }
%class.Handle.10 = type { ptr }
%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::allocator" = type { i8 }
%class.Handle.6 = type { ptr }
%class.Handle.7 = type { ptr }
%class.Handle.4 = type { ptr }
%class.Handle.11 = type { ptr }

@logger = external local_unnamed_addr global ptr, align 8
@__FUNCTION__._ZN15Provider_SystemC2E6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE = external hidden unnamed_addr constant [16 x i8], align 1
@_ZTI6HandleI9ExceptionE = external dso_local constant { ptr, ptr }, align 8
@.str = external hidden unnamed_addr constant [7 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [105 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [4 x i8], align 1
@__FUNCTION__._ZN15Provider_System15objectToPKIItemE6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE = external hidden unnamed_addr constant [16 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [1 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [26 x i8], align 1

; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #0

declare void @_ZN14LoggerFunctionC1EP6LoggerPKc(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef, ptr noundef) unnamed_addr #1

declare i32 @__gxx_personality_v0(...)

; Function Attrs: nobuiltin allocsize(0)
declare noundef nonnull ptr @_Znwm(i64 noundef) local_unnamed_addr #2

; Function Attrs: mustprogress nounwind uwtable
declare void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef, ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #4 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) unnamed_addr #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #3 align 2

; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #0

; Function Attrs: nobuiltin nounwind
declare void @_ZdlPvm(ptr noundef, i64 noundef) local_unnamed_addr #5

declare void @_ZN6Logger5errorEPKcS1_z(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef, ptr noundef, ...) local_unnamed_addr #1

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN6HandleI9ExceptionEC2EPS0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) unnamed_addr #4 align 2

declare void @_ZN9ExceptionC1EbPKciiS1_S1_6HandleIS_ES1_z(ptr noundef nonnull align 8 dereferenceable(176), i1 noundef zeroext, ptr noundef, i32 noundef, i32 noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ...) unnamed_addr #1

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN6HandleI9ExceptionED2Ev(ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #3 align 2

declare ptr @__cxa_allocate_exception(i64) local_unnamed_addr

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN6HandleI9ExceptionEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #3 align 2

declare void @__cxa_throw(ptr, ptr, ptr) local_unnamed_addr

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2ERKS6_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #3 align 2

; Function Attrs: nofree nosync nounwind memory(none)
declare i32 @llvm.eh.typeid.for.p0(ptr) #6

declare ptr @__cxa_begin_catch(ptr) local_unnamed_addr

declare void @__cxa_end_catch() local_unnamed_addr

; Function Attrs: noinline noreturn nounwind uwtable
declare hidden void @__clang_call_terminate(ptr noundef) local_unnamed_addr #7

; Function Attrs: nounwind
declare void @_ZN14LoggerFunctionD1Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #8

; Function Attrs: mustprogress uwtable
declare dso_local noundef ptr @_ZNK6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #3 align 2

declare void @_ZN6Logger5writeEN11LoggerLevel12LOGGER_LEVELEPKcS3_z(ptr noundef nonnull align 8 dereferenceable(24), i32 noundef, ptr noundef, ptr noundef, ...) local_unnamed_addr #1

declare void @_ZN7PkiItemC1Ev(ptr noundef nonnull align 8 dereferenceable(304)) unnamed_addr #1

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN6HandleI7PkiItemEC2EPS0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) unnamed_addr #4 align 2

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN15Provider_System15objectToPKIItemE6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE(ptr dead_on_unwind noalias writable sret(%class.Handle.5) align 8 %0, ptr noundef nonnull align 8 dereferenceable(32) %1, ptr noundef %2) local_unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 {
  %4 = alloca %class.LoggerFunction, align 8
  %5 = alloca %class.Handle.5, align 8
  %6 = alloca %class.Handle.10, align 8
  %7 = alloca %"class.std::__cxx11::basic_string", align 8
  %8 = alloca %"class.std::allocator", align 1
  %9 = alloca %"class.std::__cxx11::basic_string", align 8
  %10 = alloca %"class.std::allocator", align 1
  %11 = alloca %class.Handle.5, align 8
  %12 = alloca %class.Handle.6, align 8
  %13 = alloca %class.Handle.7, align 8
  %14 = alloca [4 x %"class.std::__cxx11::basic_string"], align 16
  %15 = alloca %"class.std::allocator", align 1
  %16 = alloca %"class.std::allocator", align 1
  %17 = alloca %"class.std::allocator", align 1
  %18 = alloca %"class.std::allocator", align 1
  %19 = alloca %"class.std::__cxx11::basic_string", align 8
  %20 = alloca %"class.std::__cxx11::basic_string", align 8
  %21 = alloca %class.Handle.4, align 8
  %22 = alloca %class.Handle.4, align 8
  %23 = alloca i32, align 4
  %24 = alloca %class.Handle, align 8
  %25 = alloca %class.Handle, align 8
  %26 = alloca %"class.std::allocator", align 1
  %27 = alloca %class.Handle, align 8
  %28 = alloca %"class.std::allocator", align 1
  %29 = alloca %class.Handle, align 8
  %30 = alloca %class.Handle, align 8
  %31 = alloca %"class.std::allocator", align 1
  %32 = alloca %class.Handle, align 8
  %33 = alloca %"class.std::allocator", align 1
  %34 = alloca %class.Handle.4, align 8
  %35 = alloca %class.Handle.4, align 8
  %36 = alloca %class.Handle.6, align 8
  %37 = alloca %class.Handle.11, align 8
  %38 = alloca %class.Handle, align 8
  %39 = alloca %"class.std::allocator", align 1
  %40 = alloca %class.Handle.6, align 8
  %41 = alloca %class.Handle.11, align 8
  %42 = alloca %class.Handle, align 8
  %43 = alloca %"class.std::allocator", align 1
  %44 = alloca %class.Handle, align 8
  %45 = alloca %"class.std::allocator", align 1
  %46 = alloca %class.Handle, align 8
  %47 = alloca %"class.std::allocator", align 1
  %48 = alloca %class.Handle, align 8
  %49 = alloca ptr, align 8
  %50 = alloca %class.Handle, align 8
  %51 = alloca %class.Handle, align 8
  %52 = alloca %"class.std::allocator", align 1
  %53 = alloca %class.Handle, align 8
  %54 = alloca %class.Handle, align 8
  %55 = alloca %class.Handle, align 8
  %56 = alloca %class.Handle, align 8
  %57 = alloca %class.Handle, align 8
  %58 = alloca %class.Handle, align 8
  %59 = alloca %class.Handle, align 8
  %60 = alloca %class.Handle, align 8
  %61 = alloca %class.Handle, align 8
  %62 = alloca %class.Handle, align 8
  %63 = alloca %class.Handle, align 8
  %64 = alloca %class.Handle, align 8
  %65 = alloca %class.Handle, align 8
  %66 = alloca %class.Handle, align 8
  %67 = alloca %"class.std::allocator", align 1
  %68 = alloca %class.Handle, align 8
  %69 = alloca %"class.std::allocator", align 1
  %70 = alloca %class.Handle, align 8
  %71 = alloca %"class.std::allocator", align 1
  %72 = alloca %class.Handle, align 8
  %73 = alloca %"class.std::allocator", align 1
  %74 = alloca %class.Handle, align 8
  %75 = alloca [64 x i8], align 16
  %76 = alloca i32, align 4
  %77 = alloca %class.Handle.4, align 8
  %78 = alloca %class.Handle.4, align 8
  %79 = alloca %class.Handle, align 8
  %80 = alloca %"class.std::allocator", align 1
  %81 = alloca ptr, align 8
  %82 = alloca %class.Handle, align 8
  %83 = alloca %"class.std::allocator", align 1
  %84 = alloca %class.Handle.4, align 8
  %85 = alloca %class.Handle.4, align 8
  %86 = alloca %"class.std::__cxx11::basic_string", align 8
  %87 = alloca %class.Handle, align 8
  %88 = alloca %"class.std::allocator", align 1
  %89 = alloca %class.Handle, align 8
  %90 = alloca %"class.std::allocator", align 1
  %91 = alloca ptr, align 8
  %92 = alloca %class.Handle, align 8
  %93 = alloca %"class.std::allocator", align 1
  %94 = alloca %class.Handle, align 8
  %95 = alloca %"class.std::allocator", align 1
  %96 = alloca %class.Handle, align 8
  %97 = alloca %class.Handle, align 8
  %98 = alloca %class.Handle.7, align 8
  %99 = alloca %class.Handle.11, align 8
  %100 = alloca %class.Handle, align 8
  %101 = alloca %"class.std::allocator", align 1
  %102 = alloca %class.Handle.7, align 8
  %103 = alloca %class.Handle.11, align 8
  %104 = alloca %class.Handle, align 8
  %105 = alloca %"class.std::allocator", align 1
  %106 = alloca %class.Handle, align 8
  %107 = alloca %"class.std::allocator", align 1
  %108 = alloca %class.Handle, align 8
  %109 = alloca %"class.std::allocator", align 1
  %110 = alloca %class.Handle, align 8
  %111 = alloca ptr, align 8
  %112 = alloca %class.Handle, align 8
  %113 = alloca %class.Handle, align 8
  %114 = alloca %"class.std::allocator", align 1
  %115 = alloca %class.Handle, align 8
  %116 = alloca %class.Handle, align 8
  %117 = alloca %class.Handle, align 8
  %118 = alloca %class.Handle, align 8
  %119 = alloca %class.Handle, align 8
  %120 = alloca %class.Handle, align 8
  %121 = alloca %class.Handle, align 8
  %122 = alloca %class.Handle, align 8
  %123 = alloca %class.Handle.4, align 8
  %124 = alloca %class.Handle.4, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %4) #11
  %125 = load ptr, ptr @logger, align 8, !tbaa !5
  call void @_ZN14LoggerFunctionC1EP6LoggerPKc(ptr noundef nonnull align 8 dereferenceable(16) %4, ptr noundef %125, ptr noundef nonnull @__FUNCTION__._ZN15Provider_System15objectToPKIItemE6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %5) #11
  invoke void @_ZN6HandleI7PkiItemEC2EPS0_(ptr noundef nonnull align 8 dereferenceable(8) %5, ptr noundef null)
          to label %126 unwind label %181

126:                                              ; preds = %3
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %6) #11
  %127 = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #12
          to label %128 unwind label %185

128:                                              ; preds = %126
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %7) #11
  %129 = invoke noundef ptr @_ZNK6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %2)
          to label %130 unwind label %.thread

130:                                              ; preds = %128
  %131 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %129) #11
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %8) #11
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %8) #11
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef %131, ptr noundef nonnull align 1 dereferenceable(1) %8)
          to label %132 unwind label %.thread479

132:                                              ; preds = %130
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %9) #11
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %10) #11
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %10) #11
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull @.str.12, ptr noundef nonnull align 1 dereferenceable(1) %10)
          to label %133 unwind label %191

133:                                              ; preds = %132
  invoke void @_ZN3BioC1EiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_(ptr noundef nonnull align 8 dereferenceable(9) %127, i32 noundef 1026, ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef nonnull align 8 dereferenceable(32) %9)
          to label %134 unwind label %193

134:                                              ; preds = %133
  invoke void @_ZN6HandleI3BioEC2EPS0_(ptr noundef nonnull align 8 dereferenceable(8) %6, ptr noundef nonnull %127)
          to label %135 unwind label %193

135:                                              ; preds = %134
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %10) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %10) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %9) #11
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %8) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %8) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %11) #11
  %136 = invoke noalias noundef nonnull dereferenceable(304) ptr @_Znwm(i64 noundef 304) #12
          to label %137 unwind label %197

137:                                              ; preds = %135
  invoke void @_ZN7PkiItemC1Ev(ptr noundef nonnull align 8 dereferenceable(304) %136)
          to label %138 unwind label %199

138:                                              ; preds = %137
  invoke void @_ZN6HandleI7PkiItemEC2EPS0_(ptr noundef nonnull align 8 dereferenceable(8) %11, ptr noundef nonnull %136)
          to label %139 unwind label %197

139:                                              ; preds = %138
  %140 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleI7PkiItemEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(8) %5, ptr noundef nonnull align 8 dereferenceable(8) %11)
  call void @_ZN6HandleI7PkiItemED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %11) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %12) #11
  invoke void @_ZN6HandleI11CertificateEC2EPS0_(ptr noundef nonnull align 8 dereferenceable(8) %12, ptr noundef null)
          to label %141 unwind label %202

141:                                              ; preds = %139
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %13) #11
  invoke void @_ZN6HandleI3CRLEC2EPS0_(ptr noundef nonnull align 8 dereferenceable(8) %13, ptr noundef null)
          to label %142 unwind label %204

142:                                              ; preds = %141
  call void @llvm.lifetime.start.p0(i64 128, ptr nonnull %14) #11
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %15) #11
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %15) #11
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef nonnull @.str.5, ptr noundef nonnull align 1 dereferenceable(1) %15)
          to label %143 unwind label %.thread484

143:                                              ; preds = %142
  %144 = getelementptr inbounds i8, ptr %14, i64 32
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %16) #11
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %16) #11
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %144, ptr noundef nonnull @.str.6, ptr noundef nonnull align 1 dereferenceable(1) %16)
          to label %145 unwind label %207

145:                                              ; preds = %143
  %146 = getelementptr inbounds i8, ptr %14, i64 64
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %17) #11
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %17) #11
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %146, ptr noundef nonnull @.str.7, ptr noundef nonnull align 1 dereferenceable(1) %17)
          to label %147 unwind label %209

147:                                              ; preds = %145
  %148 = getelementptr inbounds i8, ptr %14, i64 96
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %18) #11
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #11
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %148, ptr noundef nonnull @.str.8, ptr noundef nonnull align 1 dereferenceable(1) %18)
          to label %149 unwind label %211

149:                                              ; preds = %147
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %18) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %17) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %17) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %16) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %16) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %15) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %15) #11
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %19) #11
  %150 = invoke noundef ptr @_ZNK6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %2)
          to label %151 unwind label %219

151:                                              ; preds = %149
  %152 = invoke noundef ptr @_ZNK6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %2)
          to label %153 unwind label %219

153:                                              ; preds = %151
  %154 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12find_last_ofEcm(ptr noundef nonnull align 8 dereferenceable(32) %152, i8 noundef signext 47, i64 noundef -1) #11
  invoke void @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6substrEmm(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %19, ptr noundef nonnull align 8 dereferenceable(32) %150, i64 noundef 0, i64 noundef %154)
          to label %155 unwind label %219

155:                                              ; preds = %153
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %20) #11
  %156 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12find_last_ofEcm(ptr noundef nonnull align 8 dereferenceable(32) %19, i8 noundef signext 47, i64 noundef -1) #11
  %157 = add i64 %156, 1
  %158 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6lengthEv(ptr noundef nonnull align 8 dereferenceable(32) %19) #11
  invoke void @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6substrEmm(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %20, ptr noundef nonnull align 8 dereferenceable(32) %19, i64 noundef %157, i64 noundef %158)
          to label %159 unwind label %221

159:                                              ; preds = %155
  %160 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %19, ptr noundef nonnull align 8 dereferenceable(32) %20) #11
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #11
  %161 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %14) #11
  %162 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %19) #11
  %163 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %161, ptr noundef nonnull dereferenceable(1) %162) #13
  %164 = icmp eq i32 %163, 0
  br i1 %164, label %242, label %165

165:                                              ; preds = %159
  %166 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %144) #11
  %167 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %19) #11
  %168 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %166, ptr noundef nonnull dereferenceable(1) %167) #13
  %169 = icmp eq i32 %168, 0
  br i1 %169, label %242, label %170

170:                                              ; preds = %165
  %171 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %146) #11
  %172 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %19) #11
  %173 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %171, ptr noundef nonnull dereferenceable(1) %172) #13
  %174 = icmp eq i32 %173, 0
  br i1 %174, label %242, label %175

175:                                              ; preds = %170
  %176 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %148) #11
  %177 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %19) #11
  %178 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %176, ptr noundef nonnull dereferenceable(1) %177) #13
  %179 = icmp eq i32 %178, 0
  br i1 %179, label %242, label %.critedge

.critedge:                                        ; preds = %175
  %180 = load ptr, ptr @logger, align 8, !tbaa !5
  invoke void (ptr, ptr, ptr, ...) @_ZN6Logger5errorEPKcS1_z(ptr noundef nonnull align 8 dereferenceable(24) %180, ptr noundef nonnull @__FUNCTION__._ZN15Provider_System15objectToPKIItemE6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE, ptr noundef nonnull @.str.13)
          to label %223 unwind label %231

181:                                              ; preds = %3
  %182 = landingpad { ptr, i32 }
          cleanup
  %183 = extractvalue { ptr, i32 } %182, 0
  %184 = extractvalue { ptr, i32 } %182, 1
  br label %1338

185:                                              ; preds = %126
  %186 = landingpad { ptr, i32 }
          cleanup
  %187 = extractvalue { ptr, i32 } %186, 0
  %188 = extractvalue { ptr, i32 } %186, 1
  br label %1337

.thread:                                          ; preds = %128
  %189 = landingpad { ptr, i32 }
          cleanup
  %.2475 = extractvalue { ptr, i32 } %189, 0
  %.295476 = extractvalue { ptr, i32 } %189, 1
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #11
  br label %196

.thread479:                                       ; preds = %130
  %190 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %8) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %8) #11
  %.2482 = extractvalue { ptr, i32 } %190, 0
  %.295483 = extractvalue { ptr, i32 } %190, 1
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #11
  br label %196

191:                                              ; preds = %132
  %192 = landingpad { ptr, i32 }
          cleanup
  br label %195

193:                                              ; preds = %134, %133
  %.0213 = phi i1 [ false, %134 ], [ true, %133 ]
  %194 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #11
  br label %195

195:                                              ; preds = %191, %193
  %.1214 = phi i1 [ %.0213, %193 ], [ true, %191 ]
  %.pn = phi { ptr, i32 } [ %194, %193 ], [ %192, %191 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %10) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %10) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %9) #11
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %8) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %8) #11
  %.2 = extractvalue { ptr, i32 } %.pn, 0
  %.295 = extractvalue { ptr, i32 } %.pn, 1
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #11
  br i1 %.1214, label %196, label %1337

196:                                              ; preds = %.thread479, %.thread, %195
  %.295478 = phi i32 [ %.295476, %.thread ], [ %.295, %195 ], [ %.295483, %.thread479 ]
  %.2477 = phi ptr [ %.2475, %.thread ], [ %.2, %195 ], [ %.2482, %.thread479 ]
  call void @_ZdlPvm(ptr noundef nonnull %127, i64 noundef 16) #14
  br label %1337

197:                                              ; preds = %138, %135
  %198 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %201

199:                                              ; preds = %137
  %200 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZdlPvm(ptr noundef nonnull %136, i64 noundef 304) #14
  br label %201

201:                                              ; preds = %199, %197
  %.pn284 = phi { ptr, i32 } [ %198, %197 ], [ %200, %199 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11) #11
  br label %1305

202:                                              ; preds = %139
  %203 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %1304

204:                                              ; preds = %141
  %205 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %1303

.thread484:                                       ; preds = %142
  %206 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %15) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %15) #11
  br label %.loopexit

207:                                              ; preds = %143
  %208 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %214

209:                                              ; preds = %145
  %210 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %213

211:                                              ; preds = %147
  %212 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %18) #11
  br label %213

213:                                              ; preds = %211, %209
  %.0251 = phi ptr [ %148, %211 ], [ %146, %209 ]
  %.pn286 = phi { ptr, i32 } [ %212, %211 ], [ %210, %209 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %17) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %17) #11
  br label %214

214:                                              ; preds = %207, %213
  %.1252 = phi ptr [ %.0251, %213 ], [ %144, %207 ]
  %.pn286.pn = phi { ptr, i32 } [ %.pn286, %213 ], [ %208, %207 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %16) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %16) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %15) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %15) #11
  br label %215

215:                                              ; preds = %214, %215
  %216 = phi ptr [ %217, %215 ], [ %.1252, %214 ]
  %217 = getelementptr inbounds i8, ptr %216, i64 -32
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %217) #11
  %218 = icmp eq ptr %217, %14
  br i1 %218, label %.loopexit, label %215

219:                                              ; preds = %153, %151, %149
  %220 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %.loopexit.loopexit

221:                                              ; preds = %155
  %222 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #11
  br label %1299

223:                                              ; preds = %.critedge
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %21) #11
  %224 = invoke noalias noundef nonnull dereferenceable(176) ptr @_Znwm(i64 noundef 176) #12
          to label %225 unwind label %233

225:                                              ; preds = %223
  invoke void @_ZN6HandleI9ExceptionEC2EPS0_(ptr noundef nonnull align 8 dereferenceable(8) %22, ptr noundef null)
          to label %226 unwind label %.thread487

226:                                              ; preds = %225
  invoke void (ptr, i1, ptr, i32, i32, ptr, ptr, ptr, ptr, ...) @_ZN9ExceptionC1EbPKciiS1_S1_6HandleIS_ES1_z(ptr noundef nonnull align 8 dereferenceable(176) %224, i1 noundef zeroext false, ptr noundef nonnull @.str.2, i32 noundef 192, i32 noundef 0, ptr noundef nonnull @__FUNCTION__._ZN15Provider_SystemC2E6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE, ptr noundef nonnull @__FUNCTION__._ZN15Provider_System15objectToPKIItemE6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE, ptr noundef nonnull %22, ptr noundef nonnull @.str.13)
          to label %228 unwind label %.thread491

.thread491:                                       ; preds = %226
  %227 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleI9ExceptionED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %22) #11
  br label %238

228:                                              ; preds = %226
  invoke void @_ZN6HandleI9ExceptionEC2EPS0_(ptr noundef nonnull align 8 dereferenceable(8) %21, ptr noundef nonnull %224)
          to label %229 unwind label %236

229:                                              ; preds = %228
  call void @_ZN6HandleI9ExceptionED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %22) #11
  %230 = call ptr @__cxa_allocate_exception(i64 8) #11
  call void @_ZN6HandleI9ExceptionEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(8) %230, ptr noundef nonnull align 8 dereferenceable(8) %21)
  invoke void @__cxa_throw(ptr nonnull %230, ptr nonnull @_ZTI6HandleI9ExceptionE, ptr nonnull @_ZN6HandleI9ExceptionED2Ev) #15
          to label %1344 unwind label %239

231:                                              ; preds = %.critedge
  %232 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %1299

233:                                              ; preds = %223
  %234 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %241

.thread487:                                       ; preds = %225
  %235 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %238

236:                                              ; preds = %228
  %237 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleI9ExceptionED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %22) #11
  br label %241

238:                                              ; preds = %.thread491, %.thread487
  %.pn290490 = phi { ptr, i32 } [ %235, %.thread487 ], [ %227, %.thread491 ]
  call void @_ZdlPvm(ptr noundef nonnull %224, i64 noundef 176) #14
  br label %241

239:                                              ; preds = %229
  %240 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleI9ExceptionED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %21) #11
  br label %241

241:                                              ; preds = %236, %238, %239, %233
  %.pn292 = phi { ptr, i32 } [ %240, %239 ], [ %.pn290490, %238 ], [ %237, %236 ], [ %234, %233 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %21) #11
  br label %1299

242:                                              ; preds = %175, %170, %165, %159
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %23) #11
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2ERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %24, ptr noundef nonnull align 8 dereferenceable(8) %2)
  %243 = invoke noundef zeroext i1 @_ZN15Provider_System12itPrivateKeyE6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEPi(ptr noundef nonnull align 8 dereferenceable(32) %1, ptr noundef nonnull %24, ptr noundef nonnull %23)
          to label %244 unwind label %306

244:                                              ; preds = %242
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %24) #11
  br i1 %243, label %245, label %388

245:                                              ; preds = %244
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %25) #11
  %246 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #12
          to label %247 unwind label %308

247:                                              ; preds = %245
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %26) #11
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %26) #11
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %246, ptr noundef nonnull @.str.14, ptr noundef nonnull align 1 dereferenceable(1) %26)
          to label %248 unwind label %313

248:                                              ; preds = %247
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %25, ptr noundef nonnull %246)
          to label %249 unwind label %311

249:                                              ; preds = %248
  %250 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %5)
          to label %251 unwind label %.thread493

251:                                              ; preds = %249
  %252 = getelementptr inbounds i8, ptr %250, i64 264
  %253 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %252, ptr noundef nonnull align 8 dereferenceable(8) %25)
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %25) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %26) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %26) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %25) #11
  %254 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %5)
          to label %255 unwind label %304

255:                                              ; preds = %251
  %256 = getelementptr inbounds i8, ptr %254, i64 272
  %257 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %256, ptr noundef nonnull align 8 dereferenceable(8) %2)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %27) #11
  %258 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #12
          to label %259 unwind label %316

259:                                              ; preds = %255
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %28) #11
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #11
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %258, ptr noundef nonnull @.str, ptr noundef nonnull align 1 dereferenceable(1) %28)
          to label %260 unwind label %321

260:                                              ; preds = %259
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %27, ptr noundef nonnull %258)
          to label %261 unwind label %319

261:                                              ; preds = %260
  %262 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %5)
          to label %263 unwind label %.thread498

263:                                              ; preds = %261
  %264 = getelementptr inbounds i8, ptr %262, i64 280
  %265 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %264, ptr noundef nonnull align 8 dereferenceable(8) %27)
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %27) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %28) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %27) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %29) #11
  %266 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #12
          to label %267 unwind label %324

267:                                              ; preds = %263
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %266, ptr noundef nonnull align 8 dereferenceable(32) %19)
          to label %268 unwind label %326

268:                                              ; preds = %267
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %29, ptr noundef nonnull %266)
          to label %269 unwind label %324

269:                                              ; preds = %268
  %270 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %5)
          to label %271 unwind label %328

271:                                              ; preds = %269
  %272 = getelementptr inbounds i8, ptr %270, i64 288
  %273 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %272, ptr noundef nonnull align 8 dereferenceable(8) %29)
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %29) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %29) #11
  %274 = load i32, ptr %23, align 4, !tbaa !9
  %275 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %5)
          to label %276 unwind label %304

276:                                              ; preds = %271
  %277 = icmp ne i32 %274, 0
  %278 = getelementptr inbounds i8, ptr %275, i64 200
  %279 = zext i1 %277 to i8
  store i8 %279, ptr %278, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %30) #11
  %280 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #12
          to label %281 unwind label %331

281:                                              ; preds = %276
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %31) #11
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #11
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %280, ptr noundef nonnull @.str.15, ptr noundef nonnull align 1 dereferenceable(1) %31)
          to label %282 unwind label %336

282:                                              ; preds = %281
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %30, ptr noundef nonnull %280)
          to label %283 unwind label %334

283:                                              ; preds = %282
  %284 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %5)
          to label %285 unwind label %.thread503

285:                                              ; preds = %283
  %286 = getelementptr inbounds i8, ptr %284, i64 256
  %287 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %286, ptr noundef nonnull align 8 dereferenceable(8) %30)
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %30) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %31) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %32) #11
  %288 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #12
          to label %289 unwind label %339

289:                                              ; preds = %285
  %290 = invoke noundef ptr @_ZNK6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %2)
          to label %291 unwind label %.thread508

291:                                              ; preds = %289
  %292 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %290) #11
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %33) #11
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %33) #11
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %288, ptr noundef %292, ptr noundef nonnull align 1 dereferenceable(1) %33)
          to label %294 unwind label %.thread512

.thread512:                                       ; preds = %291
  %293 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %33) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %33) #11
  br label %344

294:                                              ; preds = %291
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %32, ptr noundef nonnull %288)
          to label %295 unwind label %342

295:                                              ; preds = %294
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %33) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %33) #11
  %296 = invoke noundef ptr @_ZNK6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %32)
          to label %297 unwind label %345

297:                                              ; preds = %295
  %298 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12find_last_ofEcm(ptr noundef nonnull align 8 dereferenceable(32) %296, i8 noundef signext 47, i64 noundef -1) #11
  %.not452 = icmp eq i64 %298, -1
  br i1 %.not452, label %347, label %299

299:                                              ; preds = %297
  %300 = invoke noundef ptr @_ZNK6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %32)
          to label %301 unwind label %345

301:                                              ; preds = %299
  %302 = add nuw i64 %298, 1
  %303 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5eraseEmm(ptr noundef nonnull align 8 dereferenceable(32) %300, i64 noundef 0, i64 noundef %302)
          to label %347 unwind label %345

304:                                              ; preds = %1118, %1076, %1074, %1072, %1070, %1069, %1067, %1033, %1031, %1029, %1027, %1026, %1024, %768, %742, %740, %738, %736, %735, %733, %713, %711, %709, %707, %706, %704, %482, %440, %438, %436, %434, %433, %431, %397, %395, %393, %391, %390, %388, %271, %251
  %305 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %1298

306:                                              ; preds = %242
  %307 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %24) #11
  br label %1298

308:                                              ; preds = %245
  %309 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %315

.thread493:                                       ; preds = %249
  %310 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %25) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %26) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %26) #11
  br label %315

311:                                              ; preds = %248
  %312 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %26) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %26) #11
  br label %315

313:                                              ; preds = %247
  %314 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %26) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %26) #11
  call void @_ZdlPvm(ptr noundef nonnull %246, i64 noundef 32) #14
  br label %315

315:                                              ; preds = %311, %.thread493, %313, %308
  %.pn439.pn = phi { ptr, i32 } [ %314, %313 ], [ %312, %311 ], [ %309, %308 ], [ %310, %.thread493 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %25) #11
  br label %1298

316:                                              ; preds = %255
  %317 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %323

.thread498:                                       ; preds = %261
  %318 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %27) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %28) #11
  br label %323

319:                                              ; preds = %260
  %320 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %28) #11
  br label %323

321:                                              ; preds = %259
  %322 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %28) #11
  call void @_ZdlPvm(ptr noundef nonnull %258, i64 noundef 32) #14
  br label %323

323:                                              ; preds = %319, %.thread498, %321, %316
  %.pn442.pn = phi { ptr, i32 } [ %322, %321 ], [ %320, %319 ], [ %317, %316 ], [ %318, %.thread498 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %27) #11
  br label %1298

324:                                              ; preds = %268, %263
  %325 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %330

326:                                              ; preds = %267
  %327 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZdlPvm(ptr noundef nonnull %266, i64 noundef 32) #14
  br label %330

328:                                              ; preds = %269
  %329 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %29) #11
  br label %330

330:                                              ; preds = %328, %326, %324
  %.pn445 = phi { ptr, i32 } [ %329, %328 ], [ %325, %324 ], [ %327, %326 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %29) #11
  br label %1298

331:                                              ; preds = %276
  %332 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %338

.thread503:                                       ; preds = %283
  %333 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %30) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %31) #11
  br label %338

334:                                              ; preds = %282
  %335 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %31) #11
  br label %338

336:                                              ; preds = %281
  %337 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %31) #11
  call void @_ZdlPvm(ptr noundef nonnull %280, i64 noundef 32) #14
  br label %338

338:                                              ; preds = %334, %.thread503, %336, %331
  %.pn447.pn = phi { ptr, i32 } [ %337, %336 ], [ %335, %334 ], [ %332, %331 ], [ %333, %.thread503 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30) #11
  br label %1298

339:                                              ; preds = %285
  %340 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %387

.thread508:                                       ; preds = %289
  %341 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %344

342:                                              ; preds = %294
  %343 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %33) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %33) #11
  br label %387

344:                                              ; preds = %.thread512, %.thread508
  %.pn450511 = phi { ptr, i32 } [ %341, %.thread508 ], [ %293, %.thread512 ]
  call void @_ZdlPvm(ptr noundef nonnull %288, i64 noundef 32) #14
  br label %387

345:                                              ; preds = %301, %299, %295
  %346 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %386

347:                                              ; preds = %301, %297
  %348 = invoke noundef ptr @_ZNK6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %32)
          to label %349 unwind label %355

349:                                              ; preds = %347
  %350 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5rfindEcm(ptr noundef nonnull align 8 dereferenceable(32) %348, i8 noundef signext 46, i64 noundef -1) #11
  %.not453 = icmp eq i64 %350, -1
  br i1 %.not453, label %357, label %351

351:                                              ; preds = %349
  %352 = invoke noundef ptr @_ZNK6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %32)
          to label %353 unwind label %355

353:                                              ; preds = %351
  %354 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5eraseEmm(ptr noundef nonnull align 8 dereferenceable(32) %352, i64 noundef %350, i64 noundef -1)
          to label %357 unwind label %355

355:                                              ; preds = %367, %362, %357, %353, %351, %347
  %356 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %386

357:                                              ; preds = %353, %349
  %358 = invoke noundef ptr @_ZNK6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %32)
          to label %359 unwind label %355

359:                                              ; preds = %357
  %360 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6lengthEv(ptr noundef nonnull align 8 dereferenceable(32) %358) #11
  %361 = icmp eq i64 %360, 40
  br i1 %361, label %362, label %367

362:                                              ; preds = %359
  %363 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %5)
          to label %364 unwind label %355

364:                                              ; preds = %362
  %365 = getelementptr inbounds i8, ptr %363, i64 296
  %366 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %365, ptr noundef nonnull align 8 dereferenceable(8) %32)
  call void @_ZN6HandleI7PkiItemEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 8 dereferenceable(8) %5)
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %32) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %32) #11
  br label %1294

367:                                              ; preds = %359
  %368 = load ptr, ptr @logger, align 8, !tbaa !5
  invoke void (ptr, ptr, ptr, ...) @_ZN6Logger5errorEPKcS1_z(ptr noundef nonnull align 8 dereferenceable(24) %368, ptr noundef nonnull @__FUNCTION__._ZN15Provider_System15objectToPKIItemE6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE, ptr noundef nonnull @.str.16)
          to label %369 unwind label %355

369:                                              ; preds = %367
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %34) #11
  %370 = invoke noalias noundef nonnull dereferenceable(176) ptr @_Znwm(i64 noundef 176) #12
          to label %371 unwind label %377

371:                                              ; preds = %369
  invoke void @_ZN6HandleI9ExceptionEC2EPS0_(ptr noundef nonnull align 8 dereferenceable(8) %35, ptr noundef null)
          to label %372 unwind label %.thread514

372:                                              ; preds = %371
  invoke void (ptr, i1, ptr, i32, i32, ptr, ptr, ptr, ptr, ...) @_ZN9ExceptionC1EbPKciiS1_S1_6HandleIS_ES1_z(ptr noundef nonnull align 8 dereferenceable(176) %370, i1 noundef zeroext false, ptr noundef nonnull @.str.2, i32 noundef 217, i32 noundef 0, ptr noundef nonnull @__FUNCTION__._ZN15Provider_SystemC2E6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE, ptr noundef nonnull @__FUNCTION__._ZN15Provider_System15objectToPKIItemE6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE, ptr noundef nonnull %35, ptr noundef nonnull @.str.16)
          to label %374 unwind label %.thread518

.thread518:                                       ; preds = %372
  %373 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleI9ExceptionED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %35) #11
  br label %382

374:                                              ; preds = %372
  invoke void @_ZN6HandleI9ExceptionEC2EPS0_(ptr noundef nonnull align 8 dereferenceable(8) %34, ptr noundef nonnull %370)
          to label %375 unwind label %380

375:                                              ; preds = %374
  call void @_ZN6HandleI9ExceptionED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %35) #11
  %376 = call ptr @__cxa_allocate_exception(i64 8) #11
  call void @_ZN6HandleI9ExceptionEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(8) %376, ptr noundef nonnull align 8 dereferenceable(8) %34)
  invoke void @__cxa_throw(ptr nonnull %376, ptr nonnull @_ZTI6HandleI9ExceptionE, ptr nonnull @_ZN6HandleI9ExceptionED2Ev) #15
          to label %1344 unwind label %383

377:                                              ; preds = %369
  %378 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %385

.thread514:                                       ; preds = %371
  %379 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %382

380:                                              ; preds = %374
  %381 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleI9ExceptionED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %35) #11
  br label %385

382:                                              ; preds = %.thread518, %.thread514
  %.pn454517 = phi { ptr, i32 } [ %379, %.thread514 ], [ %373, %.thread518 ]
  call void @_ZdlPvm(ptr noundef nonnull %370, i64 noundef 176) #14
  br label %385

383:                                              ; preds = %375
  %384 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleI9ExceptionED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %34) #11
  br label %385

385:                                              ; preds = %380, %382, %383, %377
  %.pn456 = phi { ptr, i32 } [ %384, %383 ], [ %.pn454517, %382 ], [ %381, %380 ], [ %378, %377 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %34) #11
  br label %386

386:                                              ; preds = %355, %385, %345
  %.pn458.pn = phi { ptr, i32 } [ %346, %345 ], [ %356, %355 ], [ %.pn456, %385 ]
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %32) #11
  br label %387

387:                                              ; preds = %342, %344, %386, %339
  %.pn458.pn.pn = phi { ptr, i32 } [ %.pn458.pn, %386 ], [ %.pn450511, %344 ], [ %343, %342 ], [ %340, %339 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %32) #11
  br label %1298

388:                                              ; preds = %244
  %389 = invoke noundef ptr @_ZNK6HandleI3BioEptEv(ptr noundef nonnull align 8 dereferenceable(8) %6)
          to label %390 unwind label %304

390:                                              ; preds = %388
  invoke void @_ZN3Bio4seekEi(ptr noundef nonnull align 8 dereferenceable(9) %389, i32 noundef 0)
          to label %391 unwind label %304

391:                                              ; preds = %390
  %392 = load ptr, ptr @logger, align 8, !tbaa !5
  invoke void (ptr, i32, ptr, ptr, ...) @_ZN6Logger5writeEN11LoggerLevel12LOGGER_LEVELEPKcS3_z(ptr noundef nonnull align 8 dereferenceable(24) %392, i32 noundef 32, ptr noundef nonnull @__FUNCTION__._ZN15Provider_System15objectToPKIItemE6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE, ptr noundef nonnull @.str.17)
          to label %393 unwind label %304

393:                                              ; preds = %391
  %394 = invoke noundef ptr @_ZNK6HandleI3BioEptEv(ptr noundef nonnull align 8 dereferenceable(8) %6)
          to label %395 unwind label %304

395:                                              ; preds = %393
  %396 = invoke noundef ptr @_ZN3Bio8internalEv(ptr noundef nonnull align 8 dereferenceable(9) %394)
          to label %397 unwind label %304

397:                                              ; preds = %395
  %398 = invoke ptr @PEM_read_bio_X509(ptr noundef %396, ptr noundef null, ptr noundef null, ptr noundef null)
          to label %399 unwind label %304

399:                                              ; preds = %397
  %.not = icmp eq ptr %398, null
  br i1 %.not, label %431, label %400

400:                                              ; preds = %399
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %36) #11
  %401 = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #12
          to label %402 unwind label %416

402:                                              ; preds = %400
  invoke void @_ZN6HandleI7SObjectEC2EPS0_(ptr noundef nonnull align 8 dereferenceable(8) %37, ptr noundef null)
          to label %403 unwind label %.thread520

403:                                              ; preds = %402
  invoke void @_ZN11CertificateC2EP7x509_st6HandleI7SObjectE(ptr noundef nonnull align 8 dereferenceable(16) %401, ptr noundef nonnull %398, ptr noundef nonnull %37)
          to label %405 unwind label %.thread524

.thread524:                                       ; preds = %403
  %404 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleI7SObjectED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %37) #11
  br label %421

405:                                              ; preds = %403
  invoke void @_ZN6HandleI11CertificateEC2EPS0_(ptr noundef nonnull align 8 dereferenceable(8) %36, ptr noundef nonnull %401)
          to label %406 unwind label %419

406:                                              ; preds = %405
  %407 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleI11CertificateEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(8) %12, ptr noundef nonnull align 8 dereferenceable(8) %36)
  call void @_ZN6HandleI11CertificateED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %36) #11
  call void @_ZN6HandleI7SObjectED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %37) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %36) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %38) #11
  %408 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #12
          to label %409 unwind label %423

409:                                              ; preds = %406
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %39) #11
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %39) #11
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %408, ptr noundef nonnull @.str.15, ptr noundef nonnull align 1 dereferenceable(1) %39)
          to label %410 unwind label %428

410:                                              ; preds = %409
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %38, ptr noundef nonnull %408)
          to label %411 unwind label %426

411:                                              ; preds = %410
  %412 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %5)
          to label %413 unwind label %.thread526

413:                                              ; preds = %411
  %414 = getelementptr inbounds i8, ptr %412, i64 256
  %415 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %414, ptr noundef nonnull align 8 dereferenceable(8) %38)
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %38) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %39) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %39) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %38) #11
  br label %474

416:                                              ; preds = %400
  %417 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %422

.thread520:                                       ; preds = %402
  %418 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %421

419:                                              ; preds = %405
  %420 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleI7SObjectED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %37) #11
  br label %422

421:                                              ; preds = %.thread524, %.thread520
  %.pn301523 = phi { ptr, i32 } [ %418, %.thread520 ], [ %404, %.thread524 ]
  call void @_ZdlPvm(ptr noundef nonnull %401, i64 noundef 16) #14
  br label %422

422:                                              ; preds = %419, %421, %416
  %.pn301.pn = phi { ptr, i32 } [ %.pn301523, %421 ], [ %420, %419 ], [ %417, %416 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %36) #11
  br label %1298

423:                                              ; preds = %406
  %424 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %430

.thread526:                                       ; preds = %411
  %425 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %38) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %39) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %39) #11
  br label %430

426:                                              ; preds = %410
  %427 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %39) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %39) #11
  br label %430

428:                                              ; preds = %409
  %429 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %39) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %39) #11
  call void @_ZdlPvm(ptr noundef nonnull %408, i64 noundef 32) #14
  br label %430

430:                                              ; preds = %426, %.thread526, %428, %423
  %.pn304.pn = phi { ptr, i32 } [ %429, %428 ], [ %427, %426 ], [ %424, %423 ], [ %425, %.thread526 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %38) #11
  br label %1298

431:                                              ; preds = %399
  %432 = invoke noundef ptr @_ZNK6HandleI3BioEptEv(ptr noundef nonnull align 8 dereferenceable(8) %6)
          to label %433 unwind label %304

433:                                              ; preds = %431
  invoke void @_ZN3Bio4seekEi(ptr noundef nonnull align 8 dereferenceable(9) %432, i32 noundef 0)
          to label %434 unwind label %304

434:                                              ; preds = %433
  %435 = load ptr, ptr @logger, align 8, !tbaa !5
  invoke void (ptr, i32, ptr, ptr, ...) @_ZN6Logger5writeEN11LoggerLevel12LOGGER_LEVELEPKcS3_z(ptr noundef nonnull align 8 dereferenceable(24) %435, i32 noundef 32, ptr noundef nonnull @__FUNCTION__._ZN15Provider_System15objectToPKIItemE6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE, ptr noundef nonnull @.str.18)
          to label %436 unwind label %304

436:                                              ; preds = %434
  %437 = invoke noundef ptr @_ZNK6HandleI3BioEptEv(ptr noundef nonnull align 8 dereferenceable(8) %6)
          to label %438 unwind label %304

438:                                              ; preds = %436
  %439 = invoke noundef ptr @_ZN3Bio8internalEv(ptr noundef nonnull align 8 dereferenceable(9) %437)
          to label %440 unwind label %304

440:                                              ; preds = %438
  %441 = invoke ptr @d2i_X509_bio(ptr noundef %439, ptr noundef null)
          to label %442 unwind label %304

442:                                              ; preds = %440
  %.not294 = icmp eq ptr %441, null
  br i1 %.not294, label %474, label %443

443:                                              ; preds = %442
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %40) #11
  %444 = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #12
          to label %445 unwind label %459

445:                                              ; preds = %443
  invoke void @_ZN6HandleI7SObjectEC2EPS0_(ptr noundef nonnull align 8 dereferenceable(8) %41, ptr noundef null)
          to label %446 unwind label %.thread531

446:                                              ; preds = %445
  invoke void @_ZN11CertificateC2EP7x509_st6HandleI7SObjectE(ptr noundef nonnull align 8 dereferenceable(16) %444, ptr noundef nonnull %441, ptr noundef nonnull %41)
          to label %448 unwind label %.thread535

.thread535:                                       ; preds = %446
  %447 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleI7SObjectED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %41) #11
  br label %464

448:                                              ; preds = %446
  invoke void @_ZN6HandleI11CertificateEC2EPS0_(ptr noundef nonnull align 8 dereferenceable(8) %40, ptr noundef nonnull %444)
          to label %449 unwind label %462

449:                                              ; preds = %448
  %450 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleI11CertificateEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(8) %12, ptr noundef nonnull align 8 dereferenceable(8) %40)
  call void @_ZN6HandleI11CertificateED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %40) #11
  call void @_ZN6HandleI7SObjectED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %41) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %40) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %42) #11
  %451 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #12
          to label %452 unwind label %466

452:                                              ; preds = %449
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %43) #11
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %43) #11
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %451, ptr noundef nonnull @.str.19, ptr noundef nonnull align 1 dereferenceable(1) %43)
          to label %453 unwind label %471

453:                                              ; preds = %452
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %42, ptr noundef nonnull %451)
          to label %454 unwind label %469

454:                                              ; preds = %453
  %455 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %5)
          to label %456 unwind label %.thread537

456:                                              ; preds = %454
  %457 = getelementptr inbounds i8, ptr %455, i64 256
  %458 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %457, ptr noundef nonnull align 8 dereferenceable(8) %42)
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %42) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %43) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %43) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %42) #11
  br label %474

459:                                              ; preds = %443
  %460 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %465

.thread531:                                       ; preds = %445
  %461 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %464

462:                                              ; preds = %448
  %463 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleI7SObjectED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %41) #11
  br label %465

464:                                              ; preds = %.thread535, %.thread531
  %.pn295534 = phi { ptr, i32 } [ %461, %.thread531 ], [ %447, %.thread535 ]
  call void @_ZdlPvm(ptr noundef nonnull %444, i64 noundef 16) #14
  br label %465

465:                                              ; preds = %462, %464, %459
  %.pn295.pn = phi { ptr, i32 } [ %.pn295534, %464 ], [ %463, %462 ], [ %460, %459 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %40) #11
  br label %1298

466:                                              ; preds = %449
  %467 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %473

.thread537:                                       ; preds = %454
  %468 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %42) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %43) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %43) #11
  br label %473

469:                                              ; preds = %453
  %470 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %43) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %43) #11
  br label %473

471:                                              ; preds = %452
  %472 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %43) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %43) #11
  call void @_ZdlPvm(ptr noundef nonnull %451, i64 noundef 32) #14
  br label %473

473:                                              ; preds = %469, %.thread537, %471, %466
  %.pn298.pn = phi { ptr, i32 } [ %472, %471 ], [ %470, %469 ], [ %467, %466 ], [ %468, %.thread537 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %42) #11
  br label %1298

474:                                              ; preds = %442, %456, %413
  %475 = call noundef zeroext i1 @_ZNK6HandleI11CertificateE7isEmptyEv(ptr noundef nonnull align 8 dereferenceable(8) %12)
  br i1 %475, label %704, label %476

476:                                              ; preds = %474
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %44) #11
  %477 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #12
          to label %478 unwind label %607

478:                                              ; preds = %476
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %45) #11
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #11
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %477, ptr noundef nonnull @.str.20, ptr noundef nonnull align 1 dereferenceable(1) %45)
          to label %479 unwind label %612

479:                                              ; preds = %478
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %44, ptr noundef nonnull %477)
          to label %480 unwind label %610

480:                                              ; preds = %479
  %481 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %5)
          to label %482 unwind label %.thread542

482:                                              ; preds = %480
  %483 = getelementptr inbounds i8, ptr %481, i64 264
  %484 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %483, ptr noundef nonnull align 8 dereferenceable(8) %44)
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %44) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %45) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %44) #11
  %485 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %5)
          to label %486 unwind label %304

486:                                              ; preds = %482
  %487 = getelementptr inbounds i8, ptr %485, i64 272
  %488 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %487, ptr noundef nonnull align 8 dereferenceable(8) %2)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %46) #11
  %489 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #12
          to label %490 unwind label %615

490:                                              ; preds = %486
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %47) #11
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %47) #11
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %489, ptr noundef nonnull @.str, ptr noundef nonnull align 1 dereferenceable(1) %47)
          to label %491 unwind label %620

491:                                              ; preds = %490
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %46, ptr noundef nonnull %489)
          to label %492 unwind label %618

492:                                              ; preds = %491
  %493 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %5)
          to label %494 unwind label %.thread547

494:                                              ; preds = %492
  %495 = getelementptr inbounds i8, ptr %493, i64 280
  %496 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %495, ptr noundef nonnull align 8 dereferenceable(8) %46)
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %46) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %47) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %47) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %46) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %48) #11
  %497 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #12
          to label %498 unwind label %623

498:                                              ; preds = %494
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %497, ptr noundef nonnull align 8 dereferenceable(32) %19)
          to label %499 unwind label %625

499:                                              ; preds = %498
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %48, ptr noundef nonnull %497)
          to label %500 unwind label %623

500:                                              ; preds = %499
  %501 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %5)
          to label %502 unwind label %627

502:                                              ; preds = %500
  %503 = getelementptr inbounds i8, ptr %501, i64 288
  %504 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %503, ptr noundef nonnull align 8 dereferenceable(8) %48)
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %48) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %48) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %49) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %50) #11
  %505 = invoke noundef ptr @_ZNK6HandleI11CertificateEptEv(ptr noundef nonnull align 8 dereferenceable(8) %12)
          to label %506 unwind label %630

506:                                              ; preds = %502
  invoke void @_ZN11Certificate13getThumbprintB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%class.Handle) align 8 %50, ptr noundef nonnull align 8 dereferenceable(16) %505)
          to label %507 unwind label %630

507:                                              ; preds = %506
  %508 = invoke noundef ptr @_ZNK6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %50)
          to label %509 unwind label %632

509:                                              ; preds = %507
  %510 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %508) #11
  %511 = invoke noundef ptr @_ZNK6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %50)
          to label %512 unwind label %632

512:                                              ; preds = %509
  %513 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6lengthEv(ptr noundef nonnull align 8 dereferenceable(32) %511) #11
  %514 = trunc i64 %513 to i32
  invoke void @_ZN8PkiStore13bin_to_strhexEPhjPPc(ptr noundef %510, i32 noundef %514, ptr noundef nonnull %49)
          to label %515 unwind label %632

515:                                              ; preds = %512
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %51) #11
  %516 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #12
          to label %517 unwind label %634

517:                                              ; preds = %515
  %518 = load ptr, ptr %49, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %52) #11
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %52) #11
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %516, ptr noundef %518, ptr noundef nonnull align 1 dereferenceable(1) %52)
          to label %519 unwind label %639

519:                                              ; preds = %517
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %51, ptr noundef nonnull %516)
          to label %520 unwind label %637

520:                                              ; preds = %519
  %521 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %5)
          to label %522 unwind label %.thread552

522:                                              ; preds = %520
  %523 = getelementptr inbounds i8, ptr %521, i64 296
  %524 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %523, ptr noundef nonnull align 8 dereferenceable(8) %51)
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %51) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %52) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %52) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %51) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %53) #11
  %525 = invoke noundef ptr @_ZNK6HandleI11CertificateEptEv(ptr noundef nonnull align 8 dereferenceable(8) %12)
          to label %526 unwind label %642

526:                                              ; preds = %522
  invoke void @_ZN11Certificate14getSubjectNameB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%class.Handle) align 8 %53, ptr noundef nonnull align 8 dereferenceable(16) %525)
          to label %527 unwind label %642

527:                                              ; preds = %526
  %528 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %5)
          to label %529 unwind label %644

529:                                              ; preds = %527
  %530 = getelementptr inbounds i8, ptr %528, i64 8
  %531 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %530, ptr noundef nonnull align 8 dereferenceable(8) %53)
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %53) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %53) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %54) #11
  %532 = invoke noundef ptr @_ZNK6HandleI11CertificateEptEv(ptr noundef nonnull align 8 dereferenceable(8) %12)
          to label %533 unwind label %647

533:                                              ; preds = %529
  invoke void @_ZN11Certificate22getSubjectFriendlyNameB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%class.Handle) align 8 %54, ptr noundef nonnull align 8 dereferenceable(16) %532)
          to label %534 unwind label %647

534:                                              ; preds = %533
  %535 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %5)
          to label %536 unwind label %649

536:                                              ; preds = %534
  %537 = getelementptr inbounds i8, ptr %535, i64 16
  %538 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %537, ptr noundef nonnull align 8 dereferenceable(8) %54)
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %54) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %54) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %55) #11
  %539 = invoke noundef ptr @_ZNK6HandleI11CertificateEptEv(ptr noundef nonnull align 8 dereferenceable(8) %12)
          to label %540 unwind label %652

540:                                              ; preds = %536
  invoke void @_ZN11Certificate13getIssuerNameB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%class.Handle) align 8 %55, ptr noundef nonnull align 8 dereferenceable(16) %539)
          to label %541 unwind label %652

541:                                              ; preds = %540
  %542 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %5)
          to label %543 unwind label %654

543:                                              ; preds = %541
  %544 = getelementptr inbounds i8, ptr %542, i64 24
  %545 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %544, ptr noundef nonnull align 8 dereferenceable(8) %55)
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %55) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %55) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %56) #11
  %546 = invoke noundef ptr @_ZNK6HandleI11CertificateEptEv(ptr noundef nonnull align 8 dereferenceable(8) %12)
          to label %547 unwind label %657

547:                                              ; preds = %543
  invoke void @_ZN11Certificate21getIssuerFriendlyNameB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%class.Handle) align 8 %56, ptr noundef nonnull align 8 dereferenceable(16) %546)
          to label %548 unwind label %657

548:                                              ; preds = %547
  %549 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %5)
          to label %550 unwind label %659

550:                                              ; preds = %548
  %551 = getelementptr inbounds i8, ptr %549, i64 32
  %552 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %551, ptr noundef nonnull align 8 dereferenceable(8) %56)
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %56) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %56) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %57) #11
  %553 = invoke noundef ptr @_ZNK6HandleI11CertificateEptEv(ptr noundef nonnull align 8 dereferenceable(8) %12)
          to label %554 unwind label %662

554:                                              ; preds = %550
  invoke void @_ZN11Certificate15getSerialNumberB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%class.Handle) align 8 %57, ptr noundef nonnull align 8 dereferenceable(16) %553)
          to label %555 unwind label %662

555:                                              ; preds = %554
  %556 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %5)
          to label %557 unwind label %664

557:                                              ; preds = %555
  %558 = getelementptr inbounds i8, ptr %556, i64 56
  %559 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %558, ptr noundef nonnull align 8 dereferenceable(8) %57)
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %57) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %57) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %58) #11
  %560 = invoke noundef ptr @_ZNK6HandleI11CertificateEptEv(ptr noundef nonnull align 8 dereferenceable(8) %12)
          to label %561 unwind label %667

561:                                              ; preds = %557
  invoke void @_ZN11Certificate19getOrganizationNameB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%class.Handle) align 8 %58, ptr noundef nonnull align 8 dereferenceable(16) %560)
          to label %562 unwind label %667

562:                                              ; preds = %561
  %563 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %5)
          to label %564 unwind label %669

564:                                              ; preds = %562
  %565 = getelementptr inbounds i8, ptr %563, i64 72
  %566 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %565, ptr noundef nonnull align 8 dereferenceable(8) %58)
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %58) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %58) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %59) #11
  %567 = invoke noundef ptr @_ZNK6HandleI11CertificateEptEv(ptr noundef nonnull align 8 dereferenceable(8) %12)
          to label %568 unwind label %672

568:                                              ; preds = %564
  invoke void @_ZN11Certificate21getSignatureAlgorithmB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%class.Handle) align 8 %59, ptr noundef nonnull align 8 dereferenceable(16) %567)
          to label %569 unwind label %672

569:                                              ; preds = %568
  %570 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %5)
          to label %571 unwind label %674

571:                                              ; preds = %569
  %572 = getelementptr inbounds i8, ptr %570, i64 80
  %573 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %572, ptr noundef nonnull align 8 dereferenceable(8) %59)
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %59) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %59) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %60) #11
  %574 = invoke noundef ptr @_ZNK6HandleI11CertificateEptEv(ptr noundef nonnull align 8 dereferenceable(8) %12)
          to label %575 unwind label %677

575:                                              ; preds = %571
  invoke void @_ZN11Certificate27getSignatureDigestAlgorithmB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%class.Handle) align 8 %60, ptr noundef nonnull align 8 dereferenceable(16) %574)
          to label %576 unwind label %677

576:                                              ; preds = %575
  %577 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %5)
          to label %578 unwind label %679

578:                                              ; preds = %576
  %579 = getelementptr inbounds i8, ptr %577, i64 88
  %580 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %579, ptr noundef nonnull align 8 dereferenceable(8) %60)
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %60) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %60) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %61) #11
  %581 = invoke noundef ptr @_ZNK6HandleI11CertificateEptEv(ptr noundef nonnull align 8 dereferenceable(8) %12)
          to label %582 unwind label %682

582:                                              ; preds = %578
  invoke void @_ZN11Certificate21getPublicKeyAlgorithmB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%class.Handle) align 8 %61, ptr noundef nonnull align 8 dereferenceable(16) %581)
          to label %583 unwind label %682

583:                                              ; preds = %582
  %584 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %5)
          to label %585 unwind label %684

585:                                              ; preds = %583
  %586 = getelementptr inbounds i8, ptr %584, i64 96
  %587 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %586, ptr noundef nonnull align 8 dereferenceable(8) %61)
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %61) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %61) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %62) #11
  %588 = invoke noundef ptr @_ZNK6HandleI11CertificateEptEv(ptr noundef nonnull align 8 dereferenceable(8) %12)
          to label %589 unwind label %687

589:                                              ; preds = %585
  invoke void @_ZN11Certificate12getNotBeforeB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%class.Handle) align 8 %62, ptr noundef nonnull align 8 dereferenceable(16) %588)
          to label %590 unwind label %687

590:                                              ; preds = %589
  %591 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %5)
          to label %592 unwind label %689

592:                                              ; preds = %590
  %593 = getelementptr inbounds i8, ptr %591, i64 40
  %594 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %593, ptr noundef nonnull align 8 dereferenceable(8) %62)
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %62) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %62) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %63) #11
  %595 = invoke noundef ptr @_ZNK6HandleI11CertificateEptEv(ptr noundef nonnull align 8 dereferenceable(8) %12)
          to label %596 unwind label %692

596:                                              ; preds = %592
  invoke void @_ZN11Certificate11getNotAfterB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%class.Handle) align 8 %63, ptr noundef nonnull align 8 dereferenceable(16) %595)
          to label %597 unwind label %692

597:                                              ; preds = %596
  %598 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %5)
          to label %599 unwind label %694

599:                                              ; preds = %597
  %600 = getelementptr inbounds i8, ptr %598, i64 48
  %601 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %600, ptr noundef nonnull align 8 dereferenceable(8) %63)
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %63) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %63) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %64) #11
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2ERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %65, ptr noundef nonnull align 8 dereferenceable(8) %2)
  invoke void @_ZN15Provider_System6getKeyE6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE(ptr dead_on_unwind nonnull writable sret(%class.Handle) align 8 %64, ptr noundef nonnull align 8 dereferenceable(32) %1, ptr noundef nonnull %65)
          to label %602 unwind label %697

602:                                              ; preds = %599
  %603 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %5)
          to label %604 unwind label %699

604:                                              ; preds = %602
  %605 = getelementptr inbounds i8, ptr %603, i64 64
  %606 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %605, ptr noundef nonnull align 8 dereferenceable(8) %64)
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %64) #11
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %65) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %64) #11
  call void @_ZN6HandleI7PkiItemEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 8 dereferenceable(8) %5)
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %50) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %50) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %49) #11
  br label %1294

607:                                              ; preds = %476
  %608 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %614

.thread542:                                       ; preds = %480
  %609 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %44) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %45) #11
  br label %614

610:                                              ; preds = %479
  %611 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %45) #11
  br label %614

612:                                              ; preds = %478
  %613 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %45) #11
  call void @_ZdlPvm(ptr noundef nonnull %477, i64 noundef 32) #14
  br label %614

614:                                              ; preds = %610, %.thread542, %612, %607
  %.pn307.pn = phi { ptr, i32 } [ %613, %612 ], [ %611, %610 ], [ %608, %607 ], [ %609, %.thread542 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %44) #11
  br label %1298

615:                                              ; preds = %486
  %616 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %622

.thread547:                                       ; preds = %492
  %617 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %46) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %47) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %47) #11
  br label %622

618:                                              ; preds = %491
  %619 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %47) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %47) #11
  br label %622

620:                                              ; preds = %490
  %621 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %47) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %47) #11
  call void @_ZdlPvm(ptr noundef nonnull %489, i64 noundef 32) #14
  br label %622

622:                                              ; preds = %618, %.thread547, %620, %615
  %.pn310.pn = phi { ptr, i32 } [ %621, %620 ], [ %619, %618 ], [ %616, %615 ], [ %617, %.thread547 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %46) #11
  br label %1298

623:                                              ; preds = %499, %494
  %624 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %629

625:                                              ; preds = %498
  %626 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZdlPvm(ptr noundef nonnull %497, i64 noundef 32) #14
  br label %629

627:                                              ; preds = %500
  %628 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %48) #11
  br label %629

629:                                              ; preds = %627, %625, %623
  %.pn313 = phi { ptr, i32 } [ %628, %627 ], [ %624, %623 ], [ %626, %625 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %48) #11
  br label %1298

630:                                              ; preds = %506, %502
  %631 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %703

632:                                              ; preds = %512, %509, %507
  %633 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %702

634:                                              ; preds = %515
  %635 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %641

.thread552:                                       ; preds = %520
  %636 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %51) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %52) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %52) #11
  br label %641

637:                                              ; preds = %519
  %638 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %52) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %52) #11
  br label %641

639:                                              ; preds = %517
  %640 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %52) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %52) #11
  call void @_ZdlPvm(ptr noundef nonnull %516, i64 noundef 32) #14
  br label %641

641:                                              ; preds = %637, %.thread552, %639, %634
  %.pn315.pn = phi { ptr, i32 } [ %640, %639 ], [ %638, %637 ], [ %635, %634 ], [ %636, %.thread552 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %51) #11
  br label %702

642:                                              ; preds = %526, %522
  %643 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %646

644:                                              ; preds = %527
  %645 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %53) #11
  br label %646

646:                                              ; preds = %644, %642
  %.pn318 = phi { ptr, i32 } [ %645, %644 ], [ %643, %642 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %53) #11
  br label %702

647:                                              ; preds = %533, %529
  %648 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %651

649:                                              ; preds = %534
  %650 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %54) #11
  br label %651

651:                                              ; preds = %649, %647
  %.pn320 = phi { ptr, i32 } [ %650, %649 ], [ %648, %647 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %54) #11
  br label %702

652:                                              ; preds = %540, %536
  %653 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %656

654:                                              ; preds = %541
  %655 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %55) #11
  br label %656

656:                                              ; preds = %654, %652
  %.pn322 = phi { ptr, i32 } [ %655, %654 ], [ %653, %652 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %55) #11
  br label %702

657:                                              ; preds = %547, %543
  %658 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %661

659:                                              ; preds = %548
  %660 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %56) #11
  br label %661

661:                                              ; preds = %659, %657
  %.pn324 = phi { ptr, i32 } [ %660, %659 ], [ %658, %657 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %56) #11
  br label %702

662:                                              ; preds = %554, %550
  %663 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %666

664:                                              ; preds = %555
  %665 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %57) #11
  br label %666

666:                                              ; preds = %664, %662
  %.pn326 = phi { ptr, i32 } [ %665, %664 ], [ %663, %662 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %57) #11
  br label %702

667:                                              ; preds = %561, %557
  %668 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %671

669:                                              ; preds = %562
  %670 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %58) #11
  br label %671

671:                                              ; preds = %669, %667
  %.pn328 = phi { ptr, i32 } [ %670, %669 ], [ %668, %667 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %58) #11
  br label %702

672:                                              ; preds = %568, %564
  %673 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %676

674:                                              ; preds = %569
  %675 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %59) #11
  br label %676

676:                                              ; preds = %674, %672
  %.pn330 = phi { ptr, i32 } [ %675, %674 ], [ %673, %672 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %59) #11
  br label %702

677:                                              ; preds = %575, %571
  %678 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %681

679:                                              ; preds = %576
  %680 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %60) #11
  br label %681

681:                                              ; preds = %679, %677
  %.pn332 = phi { ptr, i32 } [ %680, %679 ], [ %678, %677 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %60) #11
  br label %702

682:                                              ; preds = %582, %578
  %683 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %686

684:                                              ; preds = %583
  %685 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %61) #11
  br label %686

686:                                              ; preds = %684, %682
  %.pn334 = phi { ptr, i32 } [ %685, %684 ], [ %683, %682 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %61) #11
  br label %702

687:                                              ; preds = %589, %585
  %688 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %691

689:                                              ; preds = %590
  %690 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %62) #11
  br label %691

691:                                              ; preds = %689, %687
  %.pn336 = phi { ptr, i32 } [ %690, %689 ], [ %688, %687 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %62) #11
  br label %702

692:                                              ; preds = %596, %592
  %693 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %696

694:                                              ; preds = %597
  %695 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %63) #11
  br label %696

696:                                              ; preds = %694, %692
  %.pn338 = phi { ptr, i32 } [ %695, %694 ], [ %693, %692 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %63) #11
  br label %702

697:                                              ; preds = %599
  %698 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %701

699:                                              ; preds = %602
  %700 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %64) #11
  br label %701

701:                                              ; preds = %699, %697
  %.pn340 = phi { ptr, i32 } [ %700, %699 ], [ %698, %697 ]
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %65) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %64) #11
  br label %702

702:                                              ; preds = %701, %696, %691, %686, %681, %676, %671, %666, %661, %656, %651, %646, %641, %632
  %.pn340.pn = phi { ptr, i32 } [ %.pn340, %701 ], [ %.pn338, %696 ], [ %.pn336, %691 ], [ %.pn334, %686 ], [ %.pn332, %681 ], [ %.pn330, %676 ], [ %.pn328, %671 ], [ %.pn326, %666 ], [ %.pn324, %661 ], [ %.pn322, %656 ], [ %.pn320, %651 ], [ %.pn318, %646 ], [ %.pn315.pn, %641 ], [ %633, %632 ]
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %50) #11
  br label %703

703:                                              ; preds = %702, %630
  %.pn340.pn.pn = phi { ptr, i32 } [ %.pn340.pn, %702 ], [ %631, %630 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %50) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %49) #11
  br label %1298

704:                                              ; preds = %474
  %705 = invoke noundef ptr @_ZNK6HandleI3BioEptEv(ptr noundef nonnull align 8 dereferenceable(8) %6)
          to label %706 unwind label %304

706:                                              ; preds = %704
  invoke void @_ZN3Bio4seekEi(ptr noundef nonnull align 8 dereferenceable(9) %705, i32 noundef 0)
          to label %707 unwind label %304

707:                                              ; preds = %706
  %708 = load ptr, ptr @logger, align 8, !tbaa !5
  invoke void (ptr, i32, ptr, ptr, ...) @_ZN6Logger5writeEN11LoggerLevel12LOGGER_LEVELEPKcS3_z(ptr noundef nonnull align 8 dereferenceable(24) %708, i32 noundef 32, ptr noundef nonnull @__FUNCTION__._ZN15Provider_System15objectToPKIItemE6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE, ptr noundef nonnull @.str.21)
          to label %709 unwind label %304

709:                                              ; preds = %707
  %710 = invoke noundef ptr @_ZNK6HandleI3BioEptEv(ptr noundef nonnull align 8 dereferenceable(8) %6)
          to label %711 unwind label %304

711:                                              ; preds = %709
  %712 = invoke noundef ptr @_ZN3Bio8internalEv(ptr noundef nonnull align 8 dereferenceable(9) %710)
          to label %713 unwind label %304

713:                                              ; preds = %711
  %714 = invoke ptr @PEM_read_bio_X509_REQ(ptr noundef %712, ptr noundef null, ptr noundef null, ptr noundef null)
          to label %715 unwind label %304

715:                                              ; preds = %713
  %.not344 = icmp eq ptr %714, null
  br i1 %.not344, label %733, label %716

716:                                              ; preds = %715
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %66) #11
  %717 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #12
          to label %718 unwind label %725

718:                                              ; preds = %716
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %67) #11
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %67) #11
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %717, ptr noundef nonnull @.str.15, ptr noundef nonnull align 1 dereferenceable(1) %67)
          to label %719 unwind label %730

719:                                              ; preds = %718
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %66, ptr noundef nonnull %717)
          to label %720 unwind label %728

720:                                              ; preds = %719
  %721 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %5)
          to label %722 unwind label %.thread557

722:                                              ; preds = %720
  %723 = getelementptr inbounds i8, ptr %721, i64 256
  %724 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %723, ptr noundef nonnull align 8 dereferenceable(8) %66)
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %66) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %67) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %67) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %66) #11
  br label %762

725:                                              ; preds = %716
  %726 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %732

.thread557:                                       ; preds = %720
  %727 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %66) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %67) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %67) #11
  br label %732

728:                                              ; preds = %719
  %729 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %67) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %67) #11
  br label %732

730:                                              ; preds = %718
  %731 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %67) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %67) #11
  call void @_ZdlPvm(ptr noundef nonnull %717, i64 noundef 32) #14
  br label %732

732:                                              ; preds = %728, %.thread557, %730, %725
  %.pn349.pn = phi { ptr, i32 } [ %731, %730 ], [ %729, %728 ], [ %726, %725 ], [ %727, %.thread557 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %66) #11
  br label %1298

733:                                              ; preds = %715
  %734 = invoke noundef ptr @_ZNK6HandleI3BioEptEv(ptr noundef nonnull align 8 dereferenceable(8) %6)
          to label %735 unwind label %304

735:                                              ; preds = %733
  invoke void @_ZN3Bio4seekEi(ptr noundef nonnull align 8 dereferenceable(9) %734, i32 noundef 0)
          to label %736 unwind label %304

736:                                              ; preds = %735
  %737 = load ptr, ptr @logger, align 8, !tbaa !5
  invoke void (ptr, i32, ptr, ptr, ...) @_ZN6Logger5writeEN11LoggerLevel12LOGGER_LEVELEPKcS3_z(ptr noundef nonnull align 8 dereferenceable(24) %737, i32 noundef 32, ptr noundef nonnull @__FUNCTION__._ZN15Provider_System15objectToPKIItemE6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE, ptr noundef nonnull @.str.22)
          to label %738 unwind label %304

738:                                              ; preds = %736
  %739 = invoke noundef ptr @_ZNK6HandleI3BioEptEv(ptr noundef nonnull align 8 dereferenceable(8) %6)
          to label %740 unwind label %304

740:                                              ; preds = %738
  %741 = invoke noundef ptr @_ZN3Bio8internalEv(ptr noundef nonnull align 8 dereferenceable(9) %739)
          to label %742 unwind label %304

742:                                              ; preds = %740
  %743 = invoke ptr @d2i_X509_REQ_bio(ptr noundef %741, ptr noundef null)
          to label %744 unwind label %304

744:                                              ; preds = %742
  %.not345 = icmp eq ptr %743, null
  br i1 %.not345, label %1024, label %745

745:                                              ; preds = %744
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %68) #11
  %746 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #12
          to label %747 unwind label %754

747:                                              ; preds = %745
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %69) #11
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %69) #11
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %746, ptr noundef nonnull @.str.19, ptr noundef nonnull align 1 dereferenceable(1) %69)
          to label %748 unwind label %759

748:                                              ; preds = %747
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %68, ptr noundef nonnull %746)
          to label %749 unwind label %757

749:                                              ; preds = %748
  %750 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %5)
          to label %751 unwind label %.thread562

751:                                              ; preds = %749
  %752 = getelementptr inbounds i8, ptr %750, i64 256
  %753 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %752, ptr noundef nonnull align 8 dereferenceable(8) %68)
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %68) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %69) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %69) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %68) #11
  br label %762

754:                                              ; preds = %745
  %755 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %761

.thread562:                                       ; preds = %749
  %756 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %68) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %69) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %69) #11
  br label %761

757:                                              ; preds = %748
  %758 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %69) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %69) #11
  br label %761

759:                                              ; preds = %747
  %760 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %69) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %69) #11
  call void @_ZdlPvm(ptr noundef nonnull %746, i64 noundef 32) #14
  br label %761

761:                                              ; preds = %757, %.thread562, %759, %754
  %.pn346.pn = phi { ptr, i32 } [ %760, %759 ], [ %758, %757 ], [ %755, %754 ], [ %756, %.thread562 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %68) #11
  br label %1298

762:                                              ; preds = %722, %751
  %.0217.ph = phi ptr [ %743, %751 ], [ %714, %722 ]
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %70) #11
  %763 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #12
          to label %764 unwind label %810

764:                                              ; preds = %762
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %71) #11
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %71) #11
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %763, ptr noundef nonnull @.str.23, ptr noundef nonnull align 1 dereferenceable(1) %71)
          to label %765 unwind label %815

765:                                              ; preds = %764
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %70, ptr noundef nonnull %763)
          to label %766 unwind label %813

766:                                              ; preds = %765
  %767 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %5)
          to label %768 unwind label %.thread571

768:                                              ; preds = %766
  %769 = getelementptr inbounds i8, ptr %767, i64 264
  %770 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %769, ptr noundef nonnull align 8 dereferenceable(8) %70)
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %70) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %71) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %71) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %70) #11
  %771 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %5)
          to label %772 unwind label %304

772:                                              ; preds = %768
  %773 = getelementptr inbounds i8, ptr %771, i64 272
  %774 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %773, ptr noundef nonnull align 8 dereferenceable(8) %2)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %72) #11
  %775 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #12
          to label %776 unwind label %818

776:                                              ; preds = %772
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %73) #11
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %73) #11
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %775, ptr noundef nonnull @.str, ptr noundef nonnull align 1 dereferenceable(1) %73)
          to label %777 unwind label %823

777:                                              ; preds = %776
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %72, ptr noundef nonnull %775)
          to label %778 unwind label %821

778:                                              ; preds = %777
  %779 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %5)
          to label %780 unwind label %.thread576

780:                                              ; preds = %778
  %781 = getelementptr inbounds i8, ptr %779, i64 280
  %782 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %781, ptr noundef nonnull align 8 dereferenceable(8) %72)
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %72) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %73) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %73) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %72) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %74) #11
  %783 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #12
          to label %784 unwind label %826

784:                                              ; preds = %780
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %783, ptr noundef nonnull align 8 dereferenceable(32) %19)
          to label %785 unwind label %828

785:                                              ; preds = %784
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %74, ptr noundef nonnull %783)
          to label %786 unwind label %826

786:                                              ; preds = %785
  %787 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %5)
          to label %788 unwind label %830

788:                                              ; preds = %786
  %789 = getelementptr inbounds i8, ptr %787, i64 288
  %790 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %789, ptr noundef nonnull align 8 dereferenceable(8) %74)
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %74) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %74) #11
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %75) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(64) %75, i8 0, i64 64, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %76) #11
  store i32 0, ptr %76, align 4, !tbaa !9
  %791 = load ptr, ptr @logger, align 8, !tbaa !5
  invoke void (ptr, i32, ptr, ptr, ...) @_ZN6Logger5writeEN11LoggerLevel12LOGGER_LEVELEPKcS3_z(ptr noundef nonnull align 8 dereferenceable(24) %791, i32 noundef 32, ptr noundef nonnull @__FUNCTION__._ZN15Provider_System15objectToPKIItemE6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE, ptr noundef nonnull @.str.24)
          to label %792 unwind label %833

792:                                              ; preds = %788
  %793 = invoke ptr @EVP_sha1()
          to label %794 unwind label %833

794:                                              ; preds = %792
  %795 = invoke i32 @X509_REQ_digest(ptr noundef nonnull %.0217.ph, ptr noundef %793, ptr noundef nonnull %75, ptr noundef nonnull %76)
          to label %796 unwind label %833

796:                                              ; preds = %794
  %.not404 = icmp eq i32 %795, 0
  br i1 %.not404, label %797, label %844

797:                                              ; preds = %796
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %77) #11
  %798 = invoke noalias noundef nonnull dereferenceable(176) ptr @_Znwm(i64 noundef 176) #12
          to label %799 unwind label %835

799:                                              ; preds = %797
  invoke void @_ZN6HandleI9ExceptionEC2EPS0_(ptr noundef nonnull align 8 dereferenceable(8) %78, ptr noundef null)
          to label %800 unwind label %.thread581

800:                                              ; preds = %799
  invoke void (ptr, i1, ptr, i32, i32, ptr, ptr, ptr, ptr, ...) @_ZN9ExceptionC1EbPKciiS1_S1_6HandleIS_ES1_z(ptr noundef nonnull align 8 dereferenceable(176) %798, i1 noundef zeroext true, ptr noundef nonnull @.str.2, i32 noundef 299, i32 noundef 0, ptr noundef nonnull @__FUNCTION__._ZN15Provider_SystemC2E6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE, ptr noundef nonnull @__FUNCTION__._ZN15Provider_System15objectToPKIItemE6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE, ptr noundef nonnull %78, ptr noundef nonnull @.str.25)
          to label %802 unwind label %.thread585

.thread585:                                       ; preds = %800
  %801 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleI9ExceptionED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %78) #11
  br label %840

802:                                              ; preds = %800
  invoke void @_ZN6HandleI9ExceptionEC2EPS0_(ptr noundef nonnull align 8 dereferenceable(8) %77, ptr noundef nonnull %798)
          to label %803 unwind label %838

803:                                              ; preds = %802
  call void @_ZN6HandleI9ExceptionED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %78) #11
  %804 = load ptr, ptr @logger, align 8, !tbaa !5
  %805 = invoke noundef ptr @_ZNK6HandleI9ExceptionEptEv(ptr noundef nonnull align 8 dereferenceable(8) %77)
          to label %806 unwind label %841

806:                                              ; preds = %803
  %807 = call noundef ptr @_ZNK9Exception4whatEv(ptr noundef nonnull align 8 dereferenceable(176) %805) #11
  invoke void (ptr, ptr, ptr, ...) @_ZN6Logger4warnEPKcS1_z(ptr noundef nonnull align 8 dereferenceable(24) %804, ptr noundef nonnull @__FUNCTION__._ZN15Provider_System15objectToPKIItemE6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE, ptr noundef nonnull @.str.26, ptr noundef %807)
          to label %808 unwind label %841

808:                                              ; preds = %806
  %809 = call ptr @__cxa_allocate_exception(i64 8) #11
  call void @_ZN6HandleI9ExceptionEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(8) %809, ptr noundef nonnull align 8 dereferenceable(8) %77)
  invoke void @__cxa_throw(ptr nonnull %809, ptr nonnull @_ZTI6HandleI9ExceptionE, ptr nonnull @_ZN6HandleI9ExceptionED2Ev) #15
          to label %1344 unwind label %841

810:                                              ; preds = %762
  %811 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %817

.thread571:                                       ; preds = %766
  %812 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %70) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %71) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %71) #11
  br label %817

813:                                              ; preds = %765
  %814 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %71) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %71) #11
  br label %817

815:                                              ; preds = %764
  %816 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %71) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %71) #11
  call void @_ZdlPvm(ptr noundef nonnull %763, i64 noundef 32) #14
  br label %817

817:                                              ; preds = %813, %.thread571, %815, %810
  %.pn396.pn = phi { ptr, i32 } [ %816, %815 ], [ %814, %813 ], [ %811, %810 ], [ %812, %.thread571 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %70) #11
  br label %1298

818:                                              ; preds = %772
  %819 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %825

.thread576:                                       ; preds = %778
  %820 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %72) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %73) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %73) #11
  br label %825

821:                                              ; preds = %777
  %822 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %73) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %73) #11
  br label %825

823:                                              ; preds = %776
  %824 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %73) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %73) #11
  call void @_ZdlPvm(ptr noundef nonnull %775, i64 noundef 32) #14
  br label %825

825:                                              ; preds = %821, %.thread576, %823, %818
  %.pn399.pn = phi { ptr, i32 } [ %824, %823 ], [ %822, %821 ], [ %819, %818 ], [ %820, %.thread576 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %72) #11
  br label %1298

826:                                              ; preds = %785, %780
  %827 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %832

828:                                              ; preds = %784
  %829 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZdlPvm(ptr noundef nonnull %783, i64 noundef 32) #14
  br label %832

830:                                              ; preds = %786
  %831 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %74) #11
  br label %832

832:                                              ; preds = %830, %828, %826
  %.pn402 = phi { ptr, i32 } [ %831, %830 ], [ %827, %826 ], [ %829, %828 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %74) #11
  br label %1298

833:                                              ; preds = %794, %792, %788
  %834 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %1023

835:                                              ; preds = %797
  %836 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %843

.thread581:                                       ; preds = %799
  %837 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %840

838:                                              ; preds = %802
  %839 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleI9ExceptionED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %78) #11
  br label %843

840:                                              ; preds = %.thread585, %.thread581
  %.pn405584 = phi { ptr, i32 } [ %837, %.thread581 ], [ %801, %.thread585 ]
  call void @_ZdlPvm(ptr noundef nonnull %798, i64 noundef 176) #14
  br label %843

841:                                              ; preds = %808, %806, %803
  %842 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleI9ExceptionED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %77) #11
  br label %843

843:                                              ; preds = %838, %840, %841, %835
  %.pn407 = phi { ptr, i32 } [ %842, %841 ], [ %.pn405584, %840 ], [ %839, %838 ], [ %836, %835 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %77) #11
  br label %1023

844:                                              ; preds = %796
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %79) #11
  %845 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #12
          to label %846 unwind label %882

846:                                              ; preds = %844
  %847 = load i32, ptr %76, align 4, !tbaa !9
  %848 = zext i32 %847 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %80) #11
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %80) #11
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EPKcmRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %845, ptr noundef nonnull %75, i64 noundef %848, ptr noundef nonnull align 1 dereferenceable(1) %80)
          to label %849 unwind label %886

849:                                              ; preds = %846
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %79, ptr noundef nonnull %845)
          to label %850 unwind label %884

850:                                              ; preds = %849
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %80) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %80) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %81) #11
  %851 = invoke noundef ptr @_ZNK6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %79)
          to label %852 unwind label %888

852:                                              ; preds = %850
  %853 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %851) #11
  %854 = invoke noundef ptr @_ZNK6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %79)
          to label %855 unwind label %888

855:                                              ; preds = %852
  %856 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6lengthEv(ptr noundef nonnull align 8 dereferenceable(32) %854) #11
  %857 = trunc i64 %856 to i32
  invoke void @_ZN8PkiStore13bin_to_strhexEPhjPPc(ptr noundef %853, i32 noundef %857, ptr noundef nonnull %81)
          to label %858 unwind label %888

858:                                              ; preds = %855
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %82) #11
  %859 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #12
          to label %860 unwind label %890

860:                                              ; preds = %858
  %861 = load ptr, ptr %81, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %83) #11
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %83) #11
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %859, ptr noundef %861, ptr noundef nonnull align 1 dereferenceable(1) %83)
          to label %862 unwind label %895

862:                                              ; preds = %860
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %82, ptr noundef nonnull %859)
          to label %863 unwind label %893

863:                                              ; preds = %862
  %864 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %5)
          to label %865 unwind label %.thread589

865:                                              ; preds = %863
  %866 = getelementptr inbounds i8, ptr %864, i64 296
  %867 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %866, ptr noundef nonnull align 8 dereferenceable(8) %82)
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %82) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %83) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %83) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %82) #11
  %868 = load ptr, ptr @logger, align 8, !tbaa !5
  invoke void (ptr, i32, ptr, ptr, ...) @_ZN6Logger5writeEN11LoggerLevel12LOGGER_LEVELEPKcS3_z(ptr noundef nonnull align 8 dereferenceable(24) %868, i32 noundef 32, ptr noundef nonnull @__FUNCTION__._ZN15Provider_System15objectToPKIItemE6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE, ptr noundef nonnull @.str.27)
          to label %869 unwind label %888

869:                                              ; preds = %865
  %870 = invoke ptr @X509_REQ_get_subject_name(ptr noundef nonnull %.0217.ph)
          to label %871 unwind label %898

871:                                              ; preds = %869
  %.not412 = icmp eq ptr %870, null
  %872 = load ptr, ptr @logger, align 8, !tbaa !5
  br i1 %.not412, label %873, label %909

873:                                              ; preds = %871
  invoke void (ptr, ptr, ptr, ...) @_ZN6Logger5errorEPKcS1_z(ptr noundef nonnull align 8 dereferenceable(24) %872, ptr noundef nonnull @__FUNCTION__._ZN15Provider_System15objectToPKIItemE6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE, ptr noundef nonnull @.str.28)
          to label %874 unwind label %898

874:                                              ; preds = %873
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %84) #11
  %875 = invoke noalias noundef nonnull dereferenceable(176) ptr @_Znwm(i64 noundef 176) #12
          to label %876 unwind label %900

876:                                              ; preds = %874
  invoke void @_ZN6HandleI9ExceptionEC2EPS0_(ptr noundef nonnull align 8 dereferenceable(8) %85, ptr noundef null)
          to label %877 unwind label %.thread594

877:                                              ; preds = %876
  invoke void (ptr, i1, ptr, i32, i32, ptr, ptr, ptr, ptr, ...) @_ZN9ExceptionC1EbPKciiS1_S1_6HandleIS_ES1_z(ptr noundef nonnull align 8 dereferenceable(176) %875, i1 noundef zeroext false, ptr noundef nonnull @.str.2, i32 noundef 311, i32 noundef 0, ptr noundef nonnull @__FUNCTION__._ZN15Provider_SystemC2E6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE, ptr noundef nonnull @__FUNCTION__._ZN15Provider_System15objectToPKIItemE6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE, ptr noundef nonnull %85, ptr noundef nonnull @.str.28)
          to label %879 unwind label %.thread598

.thread598:                                       ; preds = %877
  %878 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleI9ExceptionED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %85) #11
  br label %905

879:                                              ; preds = %877
  invoke void @_ZN6HandleI9ExceptionEC2EPS0_(ptr noundef nonnull align 8 dereferenceable(8) %84, ptr noundef nonnull %875)
          to label %880 unwind label %903

880:                                              ; preds = %879
  call void @_ZN6HandleI9ExceptionED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %85) #11
  %881 = call ptr @__cxa_allocate_exception(i64 8) #11
  call void @_ZN6HandleI9ExceptionEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(8) %881, ptr noundef nonnull align 8 dereferenceable(8) %84)
  invoke void @__cxa_throw(ptr nonnull %881, ptr nonnull @_ZTI6HandleI9ExceptionE, ptr nonnull @_ZN6HandleI9ExceptionED2Ev) #15
          to label %1344 unwind label %906

882:                                              ; preds = %844
  %883 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %1022

884:                                              ; preds = %849
  %885 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %80) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %80) #11
  br label %1022

886:                                              ; preds = %846
  %887 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %80) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %80) #11
  call void @_ZdlPvm(ptr noundef nonnull %845, i64 noundef 32) #14
  br label %1022

888:                                              ; preds = %865, %855, %852, %850
  %889 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %1021

890:                                              ; preds = %858
  %891 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %897

.thread589:                                       ; preds = %863
  %892 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %82) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %83) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %83) #11
  br label %897

893:                                              ; preds = %862
  %894 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %83) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %83) #11
  br label %897

895:                                              ; preds = %860
  %896 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %83) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %83) #11
  call void @_ZdlPvm(ptr noundef nonnull %859, i64 noundef 32) #14
  br label %897

897:                                              ; preds = %893, %.thread589, %895, %890
  %.pn409.pn = phi { ptr, i32 } [ %896, %895 ], [ %894, %893 ], [ %891, %890 ], [ %892, %.thread589 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %82) #11
  br label %1021

898:                                              ; preds = %909, %873, %869
  %899 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %1021

900:                                              ; preds = %874
  %901 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %908

.thread594:                                       ; preds = %876
  %902 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %905

903:                                              ; preds = %879
  %904 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleI9ExceptionED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %85) #11
  br label %908

905:                                              ; preds = %.thread598, %.thread594
  %.pn413597 = phi { ptr, i32 } [ %902, %.thread594 ], [ %878, %.thread598 ]
  call void @_ZdlPvm(ptr noundef nonnull %875, i64 noundef 176) #14
  br label %908

906:                                              ; preds = %880
  %907 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleI9ExceptionED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %84) #11
  br label %908

908:                                              ; preds = %903, %905, %906, %900
  %.pn415 = phi { ptr, i32 } [ %907, %906 ], [ %.pn413597, %905 ], [ %904, %903 ], [ %901, %900 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %84) #11
  br label %1021

909:                                              ; preds = %871
  invoke void (ptr, i32, ptr, ptr, ...) @_ZN6Logger5writeEN11LoggerLevel12LOGGER_LEVELEPKcS3_z(ptr noundef nonnull align 8 dereferenceable(24) %872, i32 noundef 32, ptr noundef nonnull @__FUNCTION__._ZN15Provider_System15objectToPKIItemE6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE, ptr noundef nonnull @.str.29)
          to label %910 unwind label %898

910:                                              ; preds = %909
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %86) #11
  invoke void @_Z20X509_NAME_oneline_exB5cxx11P12X509_name_st(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %86, ptr noundef nonnull %870)
          to label %911 unwind label %954

911:                                              ; preds = %910
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %87) #11
  %912 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #12
          to label %913 unwind label %956

913:                                              ; preds = %911
  %914 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %86) #11
  %915 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6lengthEv(ptr noundef nonnull align 8 dereferenceable(32) %86) #11
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %88) #11
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %88) #11
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EPKcmRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %912, ptr noundef %914, i64 noundef %915, ptr noundef nonnull align 1 dereferenceable(1) %88)
          to label %916 unwind label %960

916:                                              ; preds = %913
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %87, ptr noundef nonnull %912)
          to label %917 unwind label %958

917:                                              ; preds = %916
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %88) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %88) #11
  %918 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %5)
          to label %919 unwind label %962

919:                                              ; preds = %917
  %920 = getelementptr inbounds i8, ptr %918, i64 224
  %921 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %920, ptr noundef nonnull align 8 dereferenceable(8) %87)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %89) #11
  %922 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #12
          to label %923 unwind label %964

923:                                              ; preds = %919
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %90) #11
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %90) #11
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %922, ptr noundef nonnull @.str.30, ptr noundef nonnull align 1 dereferenceable(1) %90)
          to label %924 unwind label %968

924:                                              ; preds = %923
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %89, ptr noundef nonnull %922)
          to label %925 unwind label %966

925:                                              ; preds = %924
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %90) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %90) #11
  %926 = load ptr, ptr @logger, align 8, !tbaa !5
  invoke void (ptr, i32, ptr, ptr, ...) @_ZN6Logger5writeEN11LoggerLevel12LOGGER_LEVELEPKcS3_z(ptr noundef nonnull align 8 dereferenceable(24) %926, i32 noundef 32, ptr noundef nonnull @__FUNCTION__._ZN15Provider_System15objectToPKIItemE6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE, ptr noundef nonnull @.str.31)
          to label %927 unwind label %970

927:                                              ; preds = %925
  %928 = invoke i32 @X509_NAME_get_index_by_NID(ptr noundef nonnull %870, i32 noundef 13, i32 noundef -1)
          to label %929 unwind label %972

929:                                              ; preds = %927
  %930 = icmp sgt i32 %928, -1
  br i1 %930, label %931, label %988

931:                                              ; preds = %929
  %932 = load ptr, ptr @logger, align 8, !tbaa !5
  invoke void (ptr, i32, ptr, ptr, ...) @_ZN6Logger5writeEN11LoggerLevel12LOGGER_LEVELEPKcS3_z(ptr noundef nonnull align 8 dereferenceable(24) %932, i32 noundef 32, ptr noundef nonnull @__FUNCTION__._ZN15Provider_System15objectToPKIItemE6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE, ptr noundef nonnull @.str.32)
          to label %933 unwind label %972

933:                                              ; preds = %931
  %934 = invoke ptr @X509_NAME_get_entry(ptr noundef nonnull %870, i32 noundef %928)
          to label %935 unwind label %974

935:                                              ; preds = %933
  %.not419 = icmp eq ptr %934, null
  br i1 %.not419, label %1001, label %936

936:                                              ; preds = %935
  %937 = load ptr, ptr @logger, align 8, !tbaa !5
  invoke void (ptr, i32, ptr, ptr, ...) @_ZN6Logger5writeEN11LoggerLevel12LOGGER_LEVELEPKcS3_z(ptr noundef nonnull align 8 dereferenceable(24) %937, i32 noundef 32, ptr noundef nonnull @__FUNCTION__._ZN15Provider_System15objectToPKIItemE6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE, ptr noundef nonnull @.str.33)
          to label %938 unwind label %974

938:                                              ; preds = %936
  %939 = invoke ptr @X509_NAME_ENTRY_get_data(ptr noundef nonnull %934)
          to label %940 unwind label %976

940:                                              ; preds = %938
  %.not420 = icmp eq ptr %939, null
  br i1 %.not420, label %1001, label %941

941:                                              ; preds = %940
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %91) #11
  store ptr null, ptr %91, align 8, !tbaa !5
  %942 = load ptr, ptr @logger, align 8, !tbaa !5
  invoke void (ptr, i32, ptr, ptr, ...) @_ZN6Logger5writeEN11LoggerLevel12LOGGER_LEVELEPKcS3_z(ptr noundef nonnull align 8 dereferenceable(24) %942, i32 noundef 32, ptr noundef nonnull @__FUNCTION__._ZN15Provider_System15objectToPKIItemE6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE, ptr noundef nonnull @.str.34)
          to label %943 unwind label %978

943:                                              ; preds = %941
  %944 = invoke i32 @ASN1_STRING_to_UTF8(ptr noundef nonnull %91, ptr noundef nonnull %939)
          to label %945 unwind label %978

945:                                              ; preds = %943
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %92) #11
  %946 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #12
          to label %947 unwind label %980

947:                                              ; preds = %945
  %948 = load ptr, ptr %91, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %93) #11
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %93) #11
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %946, ptr noundef %948, ptr noundef nonnull align 1 dereferenceable(1) %93)
          to label %949 unwind label %984

949:                                              ; preds = %947
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %92, ptr noundef nonnull %946)
          to label %950 unwind label %982

950:                                              ; preds = %949
  %951 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %89, ptr noundef nonnull align 8 dereferenceable(8) %92)
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %92) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %93) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %93) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %92) #11
  %952 = load ptr, ptr %91, align 8, !tbaa !5
  invoke void @CRYPTO_free(ptr noundef %952, ptr noundef nonnull @.str.2, i32 noundef 336)
          to label %953 unwind label %978

953:                                              ; preds = %950
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %91) #11
  br label %1001

954:                                              ; preds = %910
  %955 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %1020

956:                                              ; preds = %911
  %957 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %1019

958:                                              ; preds = %916
  %959 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %88) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %88) #11
  br label %1019

960:                                              ; preds = %913
  %961 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %88) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %88) #11
  call void @_ZdlPvm(ptr noundef nonnull %912, i64 noundef 32) #14
  br label %1019

962:                                              ; preds = %917
  %963 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %1018

964:                                              ; preds = %919
  %965 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %1017

966:                                              ; preds = %924
  %967 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %90) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %90) #11
  br label %1017

968:                                              ; preds = %923
  %969 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %90) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %90) #11
  call void @_ZdlPvm(ptr noundef nonnull %922, i64 noundef 32) #14
  br label %1017

970:                                              ; preds = %925
  %971 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %1016

972:                                              ; preds = %1001, %931, %927
  %973 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %1016

974:                                              ; preds = %936, %933
  %975 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %1016

976:                                              ; preds = %938
  %977 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %1016

978:                                              ; preds = %950, %943, %941
  %979 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %987

980:                                              ; preds = %945
  %981 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %986

982:                                              ; preds = %949
  %983 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %93) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %93) #11
  br label %986

984:                                              ; preds = %947
  %985 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %93) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %93) #11
  call void @_ZdlPvm(ptr noundef nonnull %946, i64 noundef 32) #14
  br label %986

986:                                              ; preds = %982, %984, %980
  %.pn421 = phi { ptr, i32 } [ %985, %984 ], [ %983, %982 ], [ %981, %980 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %92) #11
  br label %987

987:                                              ; preds = %986, %978
  %.pn423 = phi { ptr, i32 } [ %979, %978 ], [ %.pn421, %986 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %91) #11
  br label %1016

988:                                              ; preds = %929
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %94) #11
  %989 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #12
          to label %990 unwind label %994

990:                                              ; preds = %988
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %95) #11
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %95) #11
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %989, ptr noundef nonnull @.str.35, ptr noundef nonnull align 1 dereferenceable(1) %95)
          to label %991 unwind label %998

991:                                              ; preds = %990
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %94, ptr noundef nonnull %989)
          to label %992 unwind label %996

992:                                              ; preds = %991
  %993 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %89, ptr noundef nonnull align 8 dereferenceable(8) %94)
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %94) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %95) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %95) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %94) #11
  br label %1001

994:                                              ; preds = %988
  %995 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %1000

996:                                              ; preds = %991
  %997 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %95) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %95) #11
  br label %1000

998:                                              ; preds = %990
  %999 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %95) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %95) #11
  call void @_ZdlPvm(ptr noundef nonnull %989, i64 noundef 32) #14
  br label %1000

1000:                                             ; preds = %996, %998, %994
  %.pn417 = phi { ptr, i32 } [ %999, %998 ], [ %997, %996 ], [ %995, %994 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %94) #11
  br label %1016

1001:                                             ; preds = %935, %953, %940, %992
  %1002 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %5)
          to label %1003 unwind label %972

1003:                                             ; preds = %1001
  %1004 = getelementptr inbounds i8, ptr %1002, i64 232
  %1005 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %1004, ptr noundef nonnull align 8 dereferenceable(8) %89)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %96) #11
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2ERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %97, ptr noundef nonnull align 8 dereferenceable(8) %2)
  invoke void @_ZN15Provider_System6getKeyE6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE(ptr dead_on_unwind nonnull writable sret(%class.Handle) align 8 %96, ptr noundef nonnull align 8 dereferenceable(32) %1, ptr noundef nonnull %97)
          to label %1006 unwind label %1011

1006:                                             ; preds = %1003
  %1007 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %5)
          to label %1008 unwind label %1013

1008:                                             ; preds = %1006
  %1009 = getelementptr inbounds i8, ptr %1007, i64 240
  %1010 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %1009, ptr noundef nonnull align 8 dereferenceable(8) %96)
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %96) #11
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %97) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %96) #11
  call void @_ZN6HandleI7PkiItemEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 8 dereferenceable(8) %5)
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %89) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %89) #11
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %87) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %87) #11
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %86) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %86) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %81) #11
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %79) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %79) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %76) #11
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %75) #11
  br label %1294

1011:                                             ; preds = %1003
  %1012 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %1015

1013:                                             ; preds = %1006
  %1014 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %96) #11
  br label %1015

1015:                                             ; preds = %1013, %1011
  %.pn427 = phi { ptr, i32 } [ %1014, %1013 ], [ %1012, %1011 ]
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %97) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %96) #11
  br label %1016

1016:                                             ; preds = %972, %1000, %1015, %976, %987, %974, %970
  %.pn427.pn.pn = phi { ptr, i32 } [ %971, %970 ], [ %.pn427, %1015 ], [ %973, %972 ], [ %.pn417, %1000 ], [ %975, %974 ], [ %.pn423, %987 ], [ %977, %976 ]
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %89) #11
  br label %1017

1017:                                             ; preds = %966, %968, %1016, %964
  %.pn427.pn.pn.pn = phi { ptr, i32 } [ %.pn427.pn.pn, %1016 ], [ %969, %968 ], [ %967, %966 ], [ %965, %964 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %89) #11
  br label %1018

1018:                                             ; preds = %1017, %962
  %.pn427.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn427.pn.pn.pn, %1017 ], [ %963, %962 ]
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %87) #11
  br label %1019

1019:                                             ; preds = %958, %960, %1018, %956
  %.pn427.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn427.pn.pn.pn.pn, %1018 ], [ %961, %960 ], [ %959, %958 ], [ %957, %956 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %87) #11
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %86) #11
  br label %1020

1020:                                             ; preds = %1019, %954
  %.pn427.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn427.pn.pn.pn.pn.pn, %1019 ], [ %955, %954 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %86) #11
  br label %1021

1021:                                             ; preds = %898, %908, %1020, %897, %888
  %.pn427.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %889, %888 ], [ %.pn409.pn, %897 ], [ %.pn427.pn.pn.pn.pn.pn.pn, %1020 ], [ %899, %898 ], [ %.pn415, %908 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %81) #11
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %79) #11
  br label %1022

1022:                                             ; preds = %884, %886, %1021, %882
  %.pn427.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn427.pn.pn.pn.pn.pn.pn.pn.pn, %1021 ], [ %887, %886 ], [ %885, %884 ], [ %883, %882 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %79) #11
  br label %1023

1023:                                             ; preds = %1022, %843, %833
  %.pn427.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn427.pn.pn.pn.pn.pn.pn.pn.pn.pn, %1022 ], [ %.pn407, %843 ], [ %834, %833 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %76) #11
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %75) #11
  br label %1298

1024:                                             ; preds = %744
  %1025 = invoke noundef ptr @_ZNK6HandleI3BioEptEv(ptr noundef nonnull align 8 dereferenceable(8) %6)
          to label %1026 unwind label %304

1026:                                             ; preds = %1024
  invoke void @_ZN3Bio4seekEi(ptr noundef nonnull align 8 dereferenceable(9) %1025, i32 noundef 0)
          to label %1027 unwind label %304

1027:                                             ; preds = %1026
  %1028 = load ptr, ptr @logger, align 8, !tbaa !5
  invoke void (ptr, i32, ptr, ptr, ...) @_ZN6Logger5writeEN11LoggerLevel12LOGGER_LEVELEPKcS3_z(ptr noundef nonnull align 8 dereferenceable(24) %1028, i32 noundef 32, ptr noundef nonnull @__FUNCTION__._ZN15Provider_System15objectToPKIItemE6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE, ptr noundef nonnull @.str.36)
          to label %1029 unwind label %304

1029:                                             ; preds = %1027
  %1030 = invoke noundef ptr @_ZNK6HandleI3BioEptEv(ptr noundef nonnull align 8 dereferenceable(8) %6)
          to label %1031 unwind label %304

1031:                                             ; preds = %1029
  %1032 = invoke noundef ptr @_ZN3Bio8internalEv(ptr noundef nonnull align 8 dereferenceable(9) %1030)
          to label %1033 unwind label %304

1033:                                             ; preds = %1031
  %1034 = invoke ptr @PEM_read_bio_X509_CRL(ptr noundef %1032, ptr noundef null, ptr noundef null, ptr noundef null)
          to label %1035 unwind label %304

1035:                                             ; preds = %1033
  %.not353 = icmp eq ptr %1034, null
  br i1 %.not353, label %1067, label %1036

1036:                                             ; preds = %1035
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %98) #11
  %1037 = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #12
          to label %1038 unwind label %1052

1038:                                             ; preds = %1036
  invoke void @_ZN6HandleI7SObjectEC2EPS0_(ptr noundef nonnull align 8 dereferenceable(8) %99, ptr noundef null)
          to label %1039 unwind label %.thread608

1039:                                             ; preds = %1038
  invoke void @_ZN3CRLC2EP11X509_crl_st6HandleI7SObjectE(ptr noundef nonnull align 8 dereferenceable(16) %1037, ptr noundef nonnull %1034, ptr noundef nonnull %99)
          to label %1041 unwind label %.thread612

.thread612:                                       ; preds = %1039
  %1040 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleI7SObjectED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %99) #11
  br label %1057

1041:                                             ; preds = %1039
  invoke void @_ZN6HandleI3CRLEC2EPS0_(ptr noundef nonnull align 8 dereferenceable(8) %98, ptr noundef nonnull %1037)
          to label %1042 unwind label %1055

1042:                                             ; preds = %1041
  %1043 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleI3CRLEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(8) %13, ptr noundef nonnull align 8 dereferenceable(8) %98)
  call void @_ZN6HandleI3CRLED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %98) #11
  call void @_ZN6HandleI7SObjectED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %99) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %98) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %100) #11
  %1044 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #12
          to label %1045 unwind label %1059

1045:                                             ; preds = %1042
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %101) #11
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %101) #11
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %1044, ptr noundef nonnull @.str.15, ptr noundef nonnull align 1 dereferenceable(1) %101)
          to label %1046 unwind label %1064

1046:                                             ; preds = %1045
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %100, ptr noundef nonnull %1044)
          to label %1047 unwind label %1062

1047:                                             ; preds = %1046
  %1048 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %5)
          to label %1049 unwind label %.thread614

1049:                                             ; preds = %1047
  %1050 = getelementptr inbounds i8, ptr %1048, i64 256
  %1051 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %1050, ptr noundef nonnull align 8 dereferenceable(8) %100)
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %100) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %101) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %101) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %100) #11
  br label %1110

1052:                                             ; preds = %1036
  %1053 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %1058

.thread608:                                       ; preds = %1038
  %1054 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %1057

1055:                                             ; preds = %1041
  %1056 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleI7SObjectED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %99) #11
  br label %1058

1057:                                             ; preds = %.thread612, %.thread608
  %.pn361611 = phi { ptr, i32 } [ %1054, %.thread608 ], [ %1040, %.thread612 ]
  call void @_ZdlPvm(ptr noundef nonnull %1037, i64 noundef 16) #14
  br label %1058

1058:                                             ; preds = %1055, %1057, %1052
  %.pn361.pn = phi { ptr, i32 } [ %.pn361611, %1057 ], [ %1056, %1055 ], [ %1053, %1052 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %98) #11
  br label %1298

1059:                                             ; preds = %1042
  %1060 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %1066

.thread614:                                       ; preds = %1047
  %1061 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %100) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %101) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %101) #11
  br label %1066

1062:                                             ; preds = %1046
  %1063 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %101) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %101) #11
  br label %1066

1064:                                             ; preds = %1045
  %1065 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %101) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %101) #11
  call void @_ZdlPvm(ptr noundef nonnull %1044, i64 noundef 32) #14
  br label %1066

1066:                                             ; preds = %1062, %.thread614, %1064, %1059
  %.pn364.pn = phi { ptr, i32 } [ %1065, %1064 ], [ %1063, %1062 ], [ %1060, %1059 ], [ %1061, %.thread614 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %100) #11
  br label %1298

1067:                                             ; preds = %1035
  %1068 = invoke noundef ptr @_ZNK6HandleI3BioEptEv(ptr noundef nonnull align 8 dereferenceable(8) %6)
          to label %1069 unwind label %304

1069:                                             ; preds = %1067
  invoke void @_ZN3Bio4seekEi(ptr noundef nonnull align 8 dereferenceable(9) %1068, i32 noundef 0)
          to label %1070 unwind label %304

1070:                                             ; preds = %1069
  %1071 = load ptr, ptr @logger, align 8, !tbaa !5
  invoke void (ptr, i32, ptr, ptr, ...) @_ZN6Logger5writeEN11LoggerLevel12LOGGER_LEVELEPKcS3_z(ptr noundef nonnull align 8 dereferenceable(24) %1071, i32 noundef 32, ptr noundef nonnull @__FUNCTION__._ZN15Provider_System15objectToPKIItemE6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE, ptr noundef nonnull @.str.37)
          to label %1072 unwind label %304

1072:                                             ; preds = %1070
  %1073 = invoke noundef ptr @_ZNK6HandleI3BioEptEv(ptr noundef nonnull align 8 dereferenceable(8) %6)
          to label %1074 unwind label %304

1074:                                             ; preds = %1072
  %1075 = invoke noundef ptr @_ZN3Bio8internalEv(ptr noundef nonnull align 8 dereferenceable(9) %1073)
          to label %1076 unwind label %304

1076:                                             ; preds = %1074
  %1077 = invoke ptr @d2i_X509_CRL_bio(ptr noundef %1075, ptr noundef null)
          to label %1078 unwind label %304

1078:                                             ; preds = %1076
  %.not354 = icmp eq ptr %1077, null
  br i1 %.not354, label %1110, label %1079

1079:                                             ; preds = %1078
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %102) #11
  %1080 = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #12
          to label %1081 unwind label %1095

1081:                                             ; preds = %1079
  invoke void @_ZN6HandleI7SObjectEC2EPS0_(ptr noundef nonnull align 8 dereferenceable(8) %103, ptr noundef null)
          to label %1082 unwind label %.thread619

1082:                                             ; preds = %1081
  invoke void @_ZN3CRLC2EP11X509_crl_st6HandleI7SObjectE(ptr noundef nonnull align 8 dereferenceable(16) %1080, ptr noundef nonnull %1077, ptr noundef nonnull %103)
          to label %1084 unwind label %.thread623

.thread623:                                       ; preds = %1082
  %1083 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleI7SObjectED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %103) #11
  br label %1100

1084:                                             ; preds = %1082
  invoke void @_ZN6HandleI3CRLEC2EPS0_(ptr noundef nonnull align 8 dereferenceable(8) %102, ptr noundef nonnull %1080)
          to label %1085 unwind label %1098

1085:                                             ; preds = %1084
  %1086 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleI3CRLEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(8) %13, ptr noundef nonnull align 8 dereferenceable(8) %102)
  call void @_ZN6HandleI3CRLED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %102) #11
  call void @_ZN6HandleI7SObjectED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %103) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %102) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %104) #11
  %1087 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #12
          to label %1088 unwind label %1102

1088:                                             ; preds = %1085
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %105) #11
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %105) #11
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %1087, ptr noundef nonnull @.str.19, ptr noundef nonnull align 1 dereferenceable(1) %105)
          to label %1089 unwind label %1107

1089:                                             ; preds = %1088
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %104, ptr noundef nonnull %1087)
          to label %1090 unwind label %1105

1090:                                             ; preds = %1089
  %1091 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %5)
          to label %1092 unwind label %.thread625

1092:                                             ; preds = %1090
  %1093 = getelementptr inbounds i8, ptr %1091, i64 256
  %1094 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %1093, ptr noundef nonnull align 8 dereferenceable(8) %104)
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %104) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %105) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %105) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %104) #11
  br label %1110

1095:                                             ; preds = %1079
  %1096 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %1101

.thread619:                                       ; preds = %1081
  %1097 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %1100

1098:                                             ; preds = %1084
  %1099 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleI7SObjectED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %103) #11
  br label %1101

1100:                                             ; preds = %.thread623, %.thread619
  %.pn355622 = phi { ptr, i32 } [ %1097, %.thread619 ], [ %1083, %.thread623 ]
  call void @_ZdlPvm(ptr noundef nonnull %1080, i64 noundef 16) #14
  br label %1101

1101:                                             ; preds = %1098, %1100, %1095
  %.pn355.pn = phi { ptr, i32 } [ %.pn355622, %1100 ], [ %1099, %1098 ], [ %1096, %1095 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %102) #11
  br label %1298

1102:                                             ; preds = %1085
  %1103 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %1109

.thread625:                                       ; preds = %1090
  %1104 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %104) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %105) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %105) #11
  br label %1109

1105:                                             ; preds = %1089
  %1106 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %105) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %105) #11
  br label %1109

1107:                                             ; preds = %1088
  %1108 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %105) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %105) #11
  call void @_ZdlPvm(ptr noundef nonnull %1087, i64 noundef 32) #14
  br label %1109

1109:                                             ; preds = %1105, %.thread625, %1107, %1102
  %.pn358.pn = phi { ptr, i32 } [ %1108, %1107 ], [ %1106, %1105 ], [ %1103, %1102 ], [ %1104, %.thread625 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %104) #11
  br label %1298

1110:                                             ; preds = %1078, %1092, %1049
  %1111 = call noundef zeroext i1 @_ZNK6HandleI3CRLE7isEmptyEv(ptr noundef nonnull align 8 dereferenceable(8) %13)
  br i1 %1111, label %1294, label %1112

1112:                                             ; preds = %1110
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %106) #11
  %1113 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #12
          to label %1114 unwind label %1217

1114:                                             ; preds = %1112
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %107) #11
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %107) #11
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %1113, ptr noundef nonnull @.str.8, ptr noundef nonnull align 1 dereferenceable(1) %107)
          to label %1115 unwind label %1222

1115:                                             ; preds = %1114
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %106, ptr noundef nonnull %1113)
          to label %1116 unwind label %1220

1116:                                             ; preds = %1115
  %1117 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %5)
          to label %1118 unwind label %.thread630

1118:                                             ; preds = %1116
  %1119 = getelementptr inbounds i8, ptr %1117, i64 264
  %1120 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %1119, ptr noundef nonnull align 8 dereferenceable(8) %106)
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %106) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %107) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %107) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %106) #11
  %1121 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %5)
          to label %1122 unwind label %304

1122:                                             ; preds = %1118
  %1123 = getelementptr inbounds i8, ptr %1121, i64 272
  %1124 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %1123, ptr noundef nonnull align 8 dereferenceable(8) %2)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %108) #11
  %1125 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #12
          to label %1126 unwind label %1225

1126:                                             ; preds = %1122
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %109) #11
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %109) #11
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %1125, ptr noundef nonnull @.str, ptr noundef nonnull align 1 dereferenceable(1) %109)
          to label %1127 unwind label %1230

1127:                                             ; preds = %1126
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %108, ptr noundef nonnull %1125)
          to label %1128 unwind label %1228

1128:                                             ; preds = %1127
  %1129 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %5)
          to label %1130 unwind label %.thread635

1130:                                             ; preds = %1128
  %1131 = getelementptr inbounds i8, ptr %1129, i64 280
  %1132 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %1131, ptr noundef nonnull align 8 dereferenceable(8) %108)
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %108) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %109) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %109) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %108) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %110) #11
  %1133 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #12
          to label %1134 unwind label %1233

1134:                                             ; preds = %1130
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %1133, ptr noundef nonnull align 8 dereferenceable(32) %19)
          to label %1135 unwind label %1235

1135:                                             ; preds = %1134
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %110, ptr noundef nonnull %1133)
          to label %1136 unwind label %1233

1136:                                             ; preds = %1135
  %1137 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %5)
          to label %1138 unwind label %1237

1138:                                             ; preds = %1136
  %1139 = getelementptr inbounds i8, ptr %1137, i64 288
  %1140 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %1139, ptr noundef nonnull align 8 dereferenceable(8) %110)
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %110) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %110) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %111) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %112) #11
  %1141 = invoke noundef ptr @_ZNK6HandleI3CRLEptEv(ptr noundef nonnull align 8 dereferenceable(8) %13)
          to label %1142 unwind label %1240

1142:                                             ; preds = %1138
  invoke void @_ZN3CRL13getThumbprintB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%class.Handle) align 8 %112, ptr noundef nonnull align 8 dereferenceable(16) %1141)
          to label %1143 unwind label %1240

1143:                                             ; preds = %1142
  %1144 = invoke noundef ptr @_ZNK6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %112)
          to label %1145 unwind label %1242

1145:                                             ; preds = %1143
  %1146 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %1144) #11
  %1147 = invoke noundef ptr @_ZNK6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %112)
          to label %1148 unwind label %1242

1148:                                             ; preds = %1145
  %1149 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6lengthEv(ptr noundef nonnull align 8 dereferenceable(32) %1147) #11
  %1150 = trunc i64 %1149 to i32
  invoke void @_ZN8PkiStore13bin_to_strhexEPhjPPc(ptr noundef %1146, i32 noundef %1150, ptr noundef nonnull %111)
          to label %1151 unwind label %1242

1151:                                             ; preds = %1148
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %113) #11
  %1152 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #12
          to label %1153 unwind label %1244

1153:                                             ; preds = %1151
  %1154 = load ptr, ptr %111, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %114) #11
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %114) #11
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %1152, ptr noundef %1154, ptr noundef nonnull align 1 dereferenceable(1) %114)
          to label %1155 unwind label %1249

1155:                                             ; preds = %1153
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %113, ptr noundef nonnull %1152)
          to label %1156 unwind label %1247

1156:                                             ; preds = %1155
  %1157 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %5)
          to label %1158 unwind label %.thread640

1158:                                             ; preds = %1156
  %1159 = getelementptr inbounds i8, ptr %1157, i64 296
  %1160 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %1159, ptr noundef nonnull align 8 dereferenceable(8) %113)
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %113) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %114) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %114) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %113) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %115) #11
  %1161 = invoke noundef ptr @_ZNK6HandleI3CRLEptEv(ptr noundef nonnull align 8 dereferenceable(8) %13)
          to label %1162 unwind label %1252

1162:                                             ; preds = %1158
  invoke void @_ZN3CRL10issuerNameB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%class.Handle) align 8 %115, ptr noundef nonnull align 8 dereferenceable(16) %1161)
          to label %1163 unwind label %1252

1163:                                             ; preds = %1162
  %1164 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %5)
          to label %1165 unwind label %1254

1165:                                             ; preds = %1163
  %1166 = getelementptr inbounds i8, ptr %1164, i64 120
  %1167 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %1166, ptr noundef nonnull align 8 dereferenceable(8) %115)
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %115) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %115) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %116) #11
  %1168 = invoke noundef ptr @_ZNK6HandleI3CRLEptEv(ptr noundef nonnull align 8 dereferenceable(8) %13)
          to label %1169 unwind label %1257

1169:                                             ; preds = %1165
  invoke void @_ZN3CRL18issuerFriendlyNameB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%class.Handle) align 8 %116, ptr noundef nonnull align 8 dereferenceable(16) %1168)
          to label %1170 unwind label %1257

1170:                                             ; preds = %1169
  %1171 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %5)
          to label %1172 unwind label %1259

1172:                                             ; preds = %1170
  %1173 = getelementptr inbounds i8, ptr %1171, i64 128
  %1174 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %1173, ptr noundef nonnull align 8 dereferenceable(8) %116)
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %116) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %116) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %117) #11
  %1175 = invoke noundef ptr @_ZNK6HandleI3CRLEptEv(ptr noundef nonnull align 8 dereferenceable(8) %13)
          to label %1176 unwind label %1262

1176:                                             ; preds = %1172
  invoke void @_ZN3CRL13getThisUpdateB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%class.Handle) align 8 %117, ptr noundef nonnull align 8 dereferenceable(16) %1175)
          to label %1177 unwind label %1262

1177:                                             ; preds = %1176
  %1178 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %5)
          to label %1179 unwind label %1264

1179:                                             ; preds = %1177
  %1180 = getelementptr inbounds i8, ptr %1178, i64 136
  %1181 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %1180, ptr noundef nonnull align 8 dereferenceable(8) %117)
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %117) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %117) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %118) #11
  %1182 = invoke noundef ptr @_ZNK6HandleI3CRLEptEv(ptr noundef nonnull align 8 dereferenceable(8) %13)
          to label %1183 unwind label %1267

1183:                                             ; preds = %1179
  invoke void @_ZN3CRL13getNextUpdateB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%class.Handle) align 8 %118, ptr noundef nonnull align 8 dereferenceable(16) %1182)
          to label %1184 unwind label %1267

1184:                                             ; preds = %1183
  %1185 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %5)
          to label %1186 unwind label %1269

1186:                                             ; preds = %1184
  %1187 = getelementptr inbounds i8, ptr %1185, i64 144
  %1188 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %1187, ptr noundef nonnull align 8 dereferenceable(8) %118)
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %118) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %118) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %119) #11
  %1189 = invoke noundef ptr @_ZNK6HandleI3CRLEptEv(ptr noundef nonnull align 8 dereferenceable(8) %13)
          to label %1190 unwind label %1272

1190:                                             ; preds = %1186
  invoke void @_ZN3CRL21getSignatureAlgorithmB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%class.Handle) align 8 %119, ptr noundef nonnull align 8 dereferenceable(16) %1189)
          to label %1191 unwind label %1272

1191:                                             ; preds = %1190
  %1192 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %5)
          to label %1193 unwind label %1274

1193:                                             ; preds = %1191
  %1194 = getelementptr inbounds i8, ptr %1192, i64 152
  %1195 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %1194, ptr noundef nonnull align 8 dereferenceable(8) %119)
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %119) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %119) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %120) #11
  %1196 = invoke noundef ptr @_ZNK6HandleI3CRLEptEv(ptr noundef nonnull align 8 dereferenceable(8) %13)
          to label %1197 unwind label %1277

1197:                                             ; preds = %1193
  invoke void @_ZN3CRL27getSignatureDigestAlgorithmB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%class.Handle) align 8 %120, ptr noundef nonnull align 8 dereferenceable(16) %1196)
          to label %1198 unwind label %1277

1198:                                             ; preds = %1197
  %1199 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %5)
          to label %1200 unwind label %1279

1200:                                             ; preds = %1198
  %1201 = getelementptr inbounds i8, ptr %1199, i64 160
  %1202 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %1201, ptr noundef nonnull align 8 dereferenceable(8) %120)
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %120) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %120) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %121) #11
  %1203 = invoke noundef ptr @_ZNK6HandleI3CRLEptEv(ptr noundef nonnull align 8 dereferenceable(8) %13)
          to label %1204 unwind label %1282

1204:                                             ; preds = %1200
  invoke void @_ZN3CRL17getAuthorityKeyidB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%class.Handle) align 8 %121, ptr noundef nonnull align 8 dereferenceable(16) %1203)
          to label %1205 unwind label %1282

1205:                                             ; preds = %1204
  %1206 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %5)
          to label %1207 unwind label %1284

1207:                                             ; preds = %1205
  %1208 = getelementptr inbounds i8, ptr %1206, i64 168
  %1209 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %1208, ptr noundef nonnull align 8 dereferenceable(8) %121)
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %121) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %121) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %122) #11
  %1210 = invoke noundef ptr @_ZNK6HandleI3CRLEptEv(ptr noundef nonnull align 8 dereferenceable(8) %13)
          to label %1211 unwind label %1287

1211:                                             ; preds = %1207
  invoke void @_ZN3CRL12getCrlNumberB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%class.Handle) align 8 %122, ptr noundef nonnull align 8 dereferenceable(16) %1210)
          to label %1212 unwind label %1287

1212:                                             ; preds = %1211
  %1213 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %5)
          to label %1214 unwind label %1289

1214:                                             ; preds = %1212
  %1215 = getelementptr inbounds i8, ptr %1213, i64 176
  %1216 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %1215, ptr noundef nonnull align 8 dereferenceable(8) %122)
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %122) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %122) #11
  call void @_ZN6HandleI7PkiItemEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 8 dereferenceable(8) %5)
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %112) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %112) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %111) #11
  br label %1294

1217:                                             ; preds = %1112
  %1218 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %1224

.thread630:                                       ; preds = %1116
  %1219 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %106) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %107) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %107) #11
  br label %1224

1220:                                             ; preds = %1115
  %1221 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %107) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %107) #11
  br label %1224

1222:                                             ; preds = %1114
  %1223 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %107) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %107) #11
  call void @_ZdlPvm(ptr noundef nonnull %1113, i64 noundef 32) #14
  br label %1224

1224:                                             ; preds = %1220, %.thread630, %1222, %1217
  %.pn367.pn = phi { ptr, i32 } [ %1223, %1222 ], [ %1221, %1220 ], [ %1218, %1217 ], [ %1219, %.thread630 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %106) #11
  br label %1298

1225:                                             ; preds = %1122
  %1226 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %1232

.thread635:                                       ; preds = %1128
  %1227 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %108) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %109) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %109) #11
  br label %1232

1228:                                             ; preds = %1127
  %1229 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %109) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %109) #11
  br label %1232

1230:                                             ; preds = %1126
  %1231 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %109) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %109) #11
  call void @_ZdlPvm(ptr noundef nonnull %1125, i64 noundef 32) #14
  br label %1232

1232:                                             ; preds = %1228, %.thread635, %1230, %1225
  %.pn370.pn = phi { ptr, i32 } [ %1231, %1230 ], [ %1229, %1228 ], [ %1226, %1225 ], [ %1227, %.thread635 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %108) #11
  br label %1298

1233:                                             ; preds = %1135, %1130
  %1234 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %1239

1235:                                             ; preds = %1134
  %1236 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZdlPvm(ptr noundef nonnull %1133, i64 noundef 32) #14
  br label %1239

1237:                                             ; preds = %1136
  %1238 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %110) #11
  br label %1239

1239:                                             ; preds = %1237, %1235, %1233
  %.pn373 = phi { ptr, i32 } [ %1238, %1237 ], [ %1234, %1233 ], [ %1236, %1235 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %110) #11
  br label %1298

1240:                                             ; preds = %1142, %1138
  %1241 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %1293

1242:                                             ; preds = %1148, %1145, %1143
  %1243 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %1292

1244:                                             ; preds = %1151
  %1245 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %1251

.thread640:                                       ; preds = %1156
  %1246 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %113) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %114) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %114) #11
  br label %1251

1247:                                             ; preds = %1155
  %1248 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %114) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %114) #11
  br label %1251

1249:                                             ; preds = %1153
  %1250 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %114) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %114) #11
  call void @_ZdlPvm(ptr noundef nonnull %1152, i64 noundef 32) #14
  br label %1251

1251:                                             ; preds = %1247, %.thread640, %1249, %1244
  %.pn375.pn = phi { ptr, i32 } [ %1250, %1249 ], [ %1248, %1247 ], [ %1245, %1244 ], [ %1246, %.thread640 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %113) #11
  br label %1292

1252:                                             ; preds = %1162, %1158
  %1253 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %1256

1254:                                             ; preds = %1163
  %1255 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %115) #11
  br label %1256

1256:                                             ; preds = %1254, %1252
  %.pn378 = phi { ptr, i32 } [ %1255, %1254 ], [ %1253, %1252 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %115) #11
  br label %1292

1257:                                             ; preds = %1169, %1165
  %1258 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %1261

1259:                                             ; preds = %1170
  %1260 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %116) #11
  br label %1261

1261:                                             ; preds = %1259, %1257
  %.pn380 = phi { ptr, i32 } [ %1260, %1259 ], [ %1258, %1257 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %116) #11
  br label %1292

1262:                                             ; preds = %1176, %1172
  %1263 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %1266

1264:                                             ; preds = %1177
  %1265 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %117) #11
  br label %1266

1266:                                             ; preds = %1264, %1262
  %.pn382 = phi { ptr, i32 } [ %1265, %1264 ], [ %1263, %1262 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %117) #11
  br label %1292

1267:                                             ; preds = %1183, %1179
  %1268 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %1271

1269:                                             ; preds = %1184
  %1270 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %118) #11
  br label %1271

1271:                                             ; preds = %1269, %1267
  %.pn384 = phi { ptr, i32 } [ %1270, %1269 ], [ %1268, %1267 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %118) #11
  br label %1292

1272:                                             ; preds = %1190, %1186
  %1273 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %1276

1274:                                             ; preds = %1191
  %1275 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %119) #11
  br label %1276

1276:                                             ; preds = %1274, %1272
  %.pn386 = phi { ptr, i32 } [ %1275, %1274 ], [ %1273, %1272 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %119) #11
  br label %1292

1277:                                             ; preds = %1197, %1193
  %1278 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %1281

1279:                                             ; preds = %1198
  %1280 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %120) #11
  br label %1281

1281:                                             ; preds = %1279, %1277
  %.pn388 = phi { ptr, i32 } [ %1280, %1279 ], [ %1278, %1277 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %120) #11
  br label %1292

1282:                                             ; preds = %1204, %1200
  %1283 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %1286

1284:                                             ; preds = %1205
  %1285 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %121) #11
  br label %1286

1286:                                             ; preds = %1284, %1282
  %.pn390 = phi { ptr, i32 } [ %1285, %1284 ], [ %1283, %1282 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %121) #11
  br label %1292

1287:                                             ; preds = %1211, %1207
  %1288 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %1291

1289:                                             ; preds = %1212
  %1290 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %122) #11
  br label %1291

1291:                                             ; preds = %1289, %1287
  %.pn392 = phi { ptr, i32 } [ %1290, %1289 ], [ %1288, %1287 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %122) #11
  br label %1292

1292:                                             ; preds = %1291, %1286, %1281, %1276, %1271, %1266, %1261, %1256, %1251, %1242
  %.pn392.pn = phi { ptr, i32 } [ %.pn392, %1291 ], [ %.pn390, %1286 ], [ %.pn388, %1281 ], [ %.pn386, %1276 ], [ %.pn384, %1271 ], [ %.pn382, %1266 ], [ %.pn380, %1261 ], [ %.pn378, %1256 ], [ %.pn375.pn, %1251 ], [ %1243, %1242 ]
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %112) #11
  br label %1293

1293:                                             ; preds = %1292, %1240
  %.pn392.pn.pn = phi { ptr, i32 } [ %.pn392.pn, %1292 ], [ %1241, %1240 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %112) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %111) #11
  br label %1298

1294:                                             ; preds = %1110, %1214, %1008, %604, %364
  %cond = phi i1 [ false, %364 ], [ false, %1008 ], [ false, %1214 ], [ false, %604 ], [ true, %1110 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %23) #11
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #11
  %1295 = getelementptr inbounds i8, ptr %14, i64 96
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1295) #11
  %1296 = getelementptr inbounds i8, ptr %14, i64 64
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1296) #11
  %1297 = getelementptr inbounds i8, ptr %14, i64 32
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1297) #11
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #11
  call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %14) #11
  call void @_ZN6HandleI3CRLED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %13) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) #11
  call void @_ZN6HandleI11CertificateED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %12) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) #11
  br i1 %cond, label %1330, label %1335

1298:                                             ; preds = %1293, %1239, %1232, %1224, %1109, %1101, %1066, %1058, %1023, %832, %825, %817, %761, %732, %703, %629, %622, %614, %473, %465, %430, %422, %387, %338, %330, %323, %315, %306, %304
  %.pn458.pn.pn.pn = phi { ptr, i32 } [ %.pn458.pn.pn, %387 ], [ %.pn447.pn, %338 ], [ %305, %304 ], [ %.pn445, %330 ], [ %.pn442.pn, %323 ], [ %.pn439.pn, %315 ], [ %.pn427.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %1023 ], [ %.pn402, %832 ], [ %.pn399.pn, %825 ], [ %.pn396.pn, %817 ], [ %.pn392.pn.pn, %1293 ], [ %.pn373, %1239 ], [ %.pn370.pn, %1232 ], [ %.pn367.pn, %1224 ], [ %.pn364.pn, %1066 ], [ %.pn361.pn, %1058 ], [ %.pn358.pn, %1109 ], [ %.pn355.pn, %1101 ], [ %.pn349.pn, %732 ], [ %.pn346.pn, %761 ], [ %.pn340.pn.pn, %703 ], [ %.pn313, %629 ], [ %.pn310.pn, %622 ], [ %.pn307.pn, %614 ], [ %.pn304.pn, %430 ], [ %.pn301.pn, %422 ], [ %.pn298.pn, %473 ], [ %.pn295.pn, %465 ], [ %307, %306 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %23) #11
  br label %1299

1299:                                             ; preds = %231, %241, %1298, %221
  %.pn458.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %222, %221 ], [ %.pn458.pn.pn.pn, %1298 ], [ %.pn292, %241 ], [ %232, %231 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #11
  br label %.loopexit.loopexit

.loopexit.loopexit:                               ; preds = %1299, %219
  %.pn458.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn458.pn.pn.pn.pn.pn, %1299 ], [ %220, %219 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #11
  %1300 = getelementptr inbounds i8, ptr %14, i64 96
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1300) #11
  %1301 = getelementptr inbounds i8, ptr %14, i64 64
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1301) #11
  %1302 = getelementptr inbounds i8, ptr %14, i64 32
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1302) #11
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #11
  br label %.loopexit

.loopexit:                                        ; preds = %215, %.loopexit.loopexit, %.thread484
  %.pn458.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %206, %.thread484 ], [ %.pn458.pn.pn.pn.pn.pn.pn, %.loopexit.loopexit ], [ %.pn286.pn, %215 ]
  call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %14) #11
  call void @_ZN6HandleI3CRLED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %13) #11
  br label %1303

1303:                                             ; preds = %.loopexit, %204
  %.pn458.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn458.pn.pn.pn.pn.pn.pn.pn, %.loopexit ], [ %205, %204 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) #11
  call void @_ZN6HandleI11CertificateED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %12) #11
  br label %1304

1304:                                             ; preds = %1303, %202
  %.pn458.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn458.pn.pn.pn.pn.pn.pn.pn.pn, %1303 ], [ %203, %202 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) #11
  br label %1305

1305:                                             ; preds = %1304, %201
  %.pn458.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn458.pn.pn.pn.pn.pn.pn.pn.pn.pn, %1304 ], [ %.pn284, %201 ]
  %.114 = extractvalue { ptr, i32 } %.pn458.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, 0
  %.114207 = extractvalue { ptr, i32 } %.pn458.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, 1
  %1306 = call i32 @llvm.eh.typeid.for.p0(ptr nonnull @_ZTI6HandleI9ExceptionE) #11
  %1307 = icmp eq i32 %.114207, %1306
  br i1 %1307, label %1308, label %1336

1308:                                             ; preds = %1305
  %1309 = call ptr @__cxa_begin_catch(ptr %.114) #11
  %1310 = load ptr, ptr @logger, align 8, !tbaa !5
  invoke void (ptr, ptr, ptr, ...) @_ZN6Logger5errorEPKcS1_z(ptr noundef nonnull align 8 dereferenceable(24) %1310, ptr noundef nonnull @__FUNCTION__._ZN15Provider_System15objectToPKIItemE6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE, ptr noundef nonnull @.str.38)
          to label %1311 unwind label %1317

1311:                                             ; preds = %1308
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %123) #11
  %1312 = invoke noalias noundef nonnull dereferenceable(176) ptr @_Znwm(i64 noundef 176) #12
          to label %1313 unwind label %1319

1313:                                             ; preds = %1311
  call void @_ZN6HandleI9ExceptionEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(8) %124, ptr noundef nonnull align 8 dereferenceable(8) %1309)
  invoke void (ptr, i1, ptr, i32, i32, ptr, ptr, ptr, ptr, ...) @_ZN9ExceptionC1EbPKciiS1_S1_6HandleIS_ES1_z(ptr noundef nonnull align 8 dereferenceable(176) %1312, i1 noundef zeroext false, ptr noundef nonnull @.str.2, i32 noundef 392, i32 noundef 0, ptr noundef nonnull @__FUNCTION__._ZN15Provider_SystemC2E6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE, ptr noundef nonnull @__FUNCTION__._ZN15Provider_System15objectToPKIItemE6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE, ptr noundef nonnull %124, ptr noundef nonnull @.str.38)
          to label %1314 unwind label %1323

1314:                                             ; preds = %1313
  invoke void @_ZN6HandleI9ExceptionEC2EPS0_(ptr noundef nonnull align 8 dereferenceable(8) %123, ptr noundef nonnull %1312)
          to label %1315 unwind label %1321

1315:                                             ; preds = %1314
  call void @_ZN6HandleI9ExceptionED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %124) #11
  %1316 = call ptr @__cxa_allocate_exception(i64 8) #11
  call void @_ZN6HandleI9ExceptionEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(8) %1316, ptr noundef nonnull align 8 dereferenceable(8) %123)
  invoke void @__cxa_throw(ptr nonnull %1316, ptr nonnull @_ZTI6HandleI9ExceptionE, ptr nonnull @_ZN6HandleI9ExceptionED2Ev) #15
          to label %1344 unwind label %1325

1317:                                             ; preds = %1308
  %1318 = landingpad { ptr, i32 }
          cleanup
  br label %1328

1319:                                             ; preds = %1311
  %1320 = landingpad { ptr, i32 }
          cleanup
  br label %1327

1321:                                             ; preds = %1314
  %1322 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6HandleI9ExceptionED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %124) #11
  br label %1327

1323:                                             ; preds = %1313
  %1324 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6HandleI9ExceptionED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %124) #11
  call void @_ZdlPvm(ptr noundef nonnull %1312, i64 noundef 176) #14
  br label %1327

1325:                                             ; preds = %1315
  %1326 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6HandleI9ExceptionED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %123) #11
  br label %1327

1327:                                             ; preds = %1321, %1323, %1325, %1319
  %.pn470 = phi { ptr, i32 } [ %1326, %1325 ], [ %1324, %1323 ], [ %1322, %1321 ], [ %1320, %1319 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %123) #11
  br label %1328

1328:                                             ; preds = %1327, %1317
  %.pn470.pn = phi { ptr, i32 } [ %.pn470, %1327 ], [ %1318, %1317 ]
  invoke void @__cxa_end_catch()
          to label %1329 unwind label %1341

1329:                                             ; preds = %1328
  %.116 = extractvalue { ptr, i32 } %.pn470.pn, 0
  %.116209 = extractvalue { ptr, i32 } %.pn470.pn, 1
  br label %1336

1330:                                             ; preds = %1294
  invoke void @_ZN6HandleI7PkiItemEC2EPS0_(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef null)
          to label %1335 unwind label %1331

1331:                                             ; preds = %1330
  %1332 = landingpad { ptr, i32 }
          cleanup
  %1333 = extractvalue { ptr, i32 } %1332, 0
  %1334 = extractvalue { ptr, i32 } %1332, 1
  br label %1336

1335:                                             ; preds = %1330, %1294
  call void @_ZN6HandleI3BioED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %6) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) #11
  call void @_ZN6HandleI7PkiItemED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %5) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %5) #11
  call void @_ZN14LoggerFunctionD1Ev(ptr noundef nonnull align 8 dereferenceable(16) %4) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %4) #11
  ret void

1336:                                             ; preds = %1331, %1329, %1305
  %.117210 = phi i32 [ %1334, %1331 ], [ %.116209, %1329 ], [ %.114207, %1305 ]
  %.117 = phi ptr [ %1333, %1331 ], [ %.116, %1329 ], [ %.114, %1305 ]
  call void @_ZN6HandleI3BioED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %6) #11
  br label %1337

1337:                                             ; preds = %195, %196, %1336, %185
  %.118211 = phi i32 [ %.117210, %1336 ], [ %.295478, %196 ], [ %.295, %195 ], [ %188, %185 ]
  %.118 = phi ptr [ %.117, %1336 ], [ %.2477, %196 ], [ %.2, %195 ], [ %187, %185 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) #11
  call void @_ZN6HandleI7PkiItemED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %5) #11
  br label %1338

1338:                                             ; preds = %1337, %181
  %.119212 = phi i32 [ %.118211, %1337 ], [ %184, %181 ]
  %.119 = phi ptr [ %.118, %1337 ], [ %183, %181 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %5) #11
  call void @_ZN14LoggerFunctionD1Ev(ptr noundef nonnull align 8 dereferenceable(16) %4) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %4) #11
  %1339 = insertvalue { ptr, i32 } poison, ptr %.119, 0
  %1340 = insertvalue { ptr, i32 } %1339, i32 %.119212, 1
  resume { ptr, i32 } %1340

1341:                                             ; preds = %1328
  %1342 = landingpad { ptr, i32 }
          catch ptr null
  %1343 = extractvalue { ptr, i32 } %1342, 0
  call void @__clang_call_terminate(ptr %1343) #16
  unreachable

1344:                                             ; preds = %1315, %880, %808, %375, %229
  unreachable
}

; Function Attrs: mustprogress uwtable
declare void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleI7PkiItemEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN6HandleI7PkiItemED2Ev(ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN6HandleI7PkiItemEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #3 align 2

declare void @_ZN3BioC1EiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_(ptr noundef nonnull align 8 dereferenceable(9), i32 noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #1

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN6HandleI3BioEC2EPS0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) unnamed_addr #4 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN6HandleI11CertificateEC2EPS0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) unnamed_addr #4 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN6HandleI3CRLEC2EPS0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) unnamed_addr #4 align 2

; Function Attrs: mustprogress uwtable
declare void @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6substrEmm(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(32), i64 noundef, i64 noundef) local_unnamed_addr #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12find_last_ofEcm(ptr noundef nonnull align 8 dereferenceable(32), i8 noundef signext, i64 noundef) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6lengthEv(ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress nofree nounwind willreturn memory(argmem: read)
declare i32 @strcmp(ptr nocapture noundef, ptr nocapture noundef) local_unnamed_addr #9

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN15Provider_System12itPrivateKeyE6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEPi(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef, ptr noundef) local_unnamed_addr #4 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #4 align 2

; Function Attrs: mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5eraseEmm(ptr noundef nonnull align 8 dereferenceable(32), i64 noundef, i64 noundef) local_unnamed_addr #4 align 2

; Function Attrs: nounwind
declare noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5rfindEcm(ptr noundef nonnull align 8 dereferenceable(32), i8 noundef signext, i64 noundef) local_unnamed_addr #8

; Function Attrs: mustprogress uwtable
declare dso_local noundef ptr @_ZNK6HandleI3BioEptEv(ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #4 align 2

declare void @_ZN3Bio4seekEi(ptr noundef nonnull align 8 dereferenceable(9), i32 noundef) local_unnamed_addr #1

declare ptr @PEM_read_bio_X509(ptr noundef, ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #1

declare noundef ptr @_ZN3Bio8internalEv(ptr noundef nonnull align 8 dereferenceable(9)) local_unnamed_addr #1

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN6HandleI7SObjectEC2EPS0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) unnamed_addr #4 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN11CertificateC2EP7x509_st6HandleI7SObjectE(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef, ptr noundef) unnamed_addr #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleI11CertificateEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN6HandleI11CertificateED2Ev(ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN6HandleI7SObjectED2Ev(ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #3 align 2

declare ptr @d2i_X509_bio(ptr noundef, ptr noundef) local_unnamed_addr #1

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNK6HandleI11CertificateE7isEmptyEv(ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef ptr @_ZNK6HandleI11CertificateEptEv(ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #4 align 2

declare void @_ZN11Certificate13getThumbprintB5cxx11Ev(ptr dead_on_unwind writable sret(%class.Handle) align 8, ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #1

declare void @_ZN8PkiStore13bin_to_strhexEPhjPPc(ptr noundef, i32 noundef, ptr noundef) local_unnamed_addr #1

declare void @_ZN11Certificate14getSubjectNameB5cxx11Ev(ptr dead_on_unwind writable sret(%class.Handle) align 8, ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #1

declare void @_ZN11Certificate22getSubjectFriendlyNameB5cxx11Ev(ptr dead_on_unwind writable sret(%class.Handle) align 8, ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #1

declare void @_ZN11Certificate13getIssuerNameB5cxx11Ev(ptr dead_on_unwind writable sret(%class.Handle) align 8, ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #1

declare void @_ZN11Certificate21getIssuerFriendlyNameB5cxx11Ev(ptr dead_on_unwind writable sret(%class.Handle) align 8, ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #1

declare void @_ZN11Certificate15getSerialNumberB5cxx11Ev(ptr dead_on_unwind writable sret(%class.Handle) align 8, ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #1

declare void @_ZN11Certificate19getOrganizationNameB5cxx11Ev(ptr dead_on_unwind writable sret(%class.Handle) align 8, ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #1

declare void @_ZN11Certificate21getSignatureAlgorithmB5cxx11Ev(ptr dead_on_unwind writable sret(%class.Handle) align 8, ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #1

declare void @_ZN11Certificate27getSignatureDigestAlgorithmB5cxx11Ev(ptr dead_on_unwind writable sret(%class.Handle) align 8, ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #1

declare void @_ZN11Certificate21getPublicKeyAlgorithmB5cxx11Ev(ptr dead_on_unwind writable sret(%class.Handle) align 8, ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #1

declare void @_ZN11Certificate12getNotBeforeB5cxx11Ev(ptr dead_on_unwind writable sret(%class.Handle) align 8, ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #1

declare void @_ZN11Certificate11getNotAfterB5cxx11Ev(ptr dead_on_unwind writable sret(%class.Handle) align 8, ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #1

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN15Provider_System6getKeyE6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE(ptr dead_on_unwind noalias writable sret(%class.Handle) align 8, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) local_unnamed_addr #4 align 2

declare ptr @PEM_read_bio_X509_REQ(ptr noundef, ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #1

declare ptr @d2i_X509_REQ_bio(ptr noundef, ptr noundef) local_unnamed_addr #1

; Function Attrs: mustprogress nocallback nofree nounwind willreturn memory(argmem: write)
declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #10

declare i32 @X509_REQ_digest(ptr noundef, ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #1

declare ptr @EVP_sha1() local_unnamed_addr #1

declare void @_ZN6Logger4warnEPKcS1_z(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef, ptr noundef, ...) local_unnamed_addr #1

; Function Attrs: mustprogress uwtable
declare dso_local noundef ptr @_ZNK6HandleI9ExceptionEptEv(ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #4 align 2

; Function Attrs: nounwind
declare noundef ptr @_ZNK9Exception4whatEv(ptr noundef nonnull align 8 dereferenceable(176)) local_unnamed_addr #8

; Function Attrs: mustprogress uwtable
declare void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EPKcmRKS3_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef, i64 noundef, ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #4 align 2

declare ptr @X509_REQ_get_subject_name(ptr noundef) local_unnamed_addr #1

declare void @_Z20X509_NAME_oneline_exB5cxx11P12X509_name_st(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef) local_unnamed_addr #1

declare i32 @X509_NAME_get_index_by_NID(ptr noundef, i32 noundef, i32 noundef) local_unnamed_addr #1

declare ptr @X509_NAME_get_entry(ptr noundef, i32 noundef) local_unnamed_addr #1

declare ptr @X509_NAME_ENTRY_get_data(ptr noundef) local_unnamed_addr #1

declare i32 @ASN1_STRING_to_UTF8(ptr noundef, ptr noundef) local_unnamed_addr #1

declare void @CRYPTO_free(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #1

declare ptr @PEM_read_bio_X509_CRL(ptr noundef, ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #1

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN3CRLC2EP11X509_crl_st6HandleI7SObjectE(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef, ptr noundef) unnamed_addr #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleI3CRLEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN6HandleI3CRLED2Ev(ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #3 align 2

declare ptr @d2i_X509_CRL_bio(ptr noundef, ptr noundef) local_unnamed_addr #1

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNK6HandleI3CRLE7isEmptyEv(ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef ptr @_ZNK6HandleI3CRLEptEv(ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #4 align 2

declare void @_ZN3CRL13getThumbprintB5cxx11Ev(ptr dead_on_unwind writable sret(%class.Handle) align 8, ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #1

declare void @_ZN3CRL10issuerNameB5cxx11Ev(ptr dead_on_unwind writable sret(%class.Handle) align 8, ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #1

declare void @_ZN3CRL18issuerFriendlyNameB5cxx11Ev(ptr dead_on_unwind writable sret(%class.Handle) align 8, ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #1

declare void @_ZN3CRL13getThisUpdateB5cxx11Ev(ptr dead_on_unwind writable sret(%class.Handle) align 8, ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #1

declare void @_ZN3CRL13getNextUpdateB5cxx11Ev(ptr dead_on_unwind writable sret(%class.Handle) align 8, ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #1

declare void @_ZN3CRL21getSignatureAlgorithmB5cxx11Ev(ptr dead_on_unwind writable sret(%class.Handle) align 8, ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #1

declare void @_ZN3CRL27getSignatureDigestAlgorithmB5cxx11Ev(ptr dead_on_unwind writable sret(%class.Handle) align 8, ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #1

declare void @_ZN3CRL17getAuthorityKeyidB5cxx11Ev(ptr dead_on_unwind writable sret(%class.Handle) align 8, ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #1

declare void @_ZN3CRL12getCrlNumberB5cxx11Ev(ptr dead_on_unwind writable sret(%class.Handle) align 8, ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #1

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN6HandleI3BioED2Ev(ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #3 align 2

attributes #0 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { "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 = { nobuiltin allocsize(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 #3 = { mustprogress 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 #4 = { mustprogress 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 #5 = { nobuiltin 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 = { nofree nosync nounwind memory(none) }
attributes #7 = { noinline noreturn nounwind uwtable "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 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #9 = { mustprogress nofree nounwind willreturn memory(argmem: read) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #10 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #11 = { nounwind }
attributes #12 = { builtin allocsize(0) }
attributes #13 = { nounwind willreturn memory(read) }
attributes #14 = { builtin nounwind }
attributes #15 = { noreturn }
attributes #16 = { noreturn nounwind }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"int", !7, i64 0}
!11 = !{!12, !13, i64 8}
!12 = !{!"_ZTS7IPkiKey", !13, i64 8, !14, i64 16}
!13 = !{!"bool", !7, i64 0}
!14 = !{!"_ZTS6HandleI3KeyE", !6, i64 0}


; Effective O3 passes: CorrelatedValuePropagationPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferFunctionAttrsPass,InstCombinePass,JumpThreadingPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,SROAPass,SimplifyCFGPass