; LLVM IR from Trusted-eSign/trusted-crypto :: deps/wrapper/src/store/cashjson.ll (ZN8CashJson10exportJsonEv)

; 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.2 = type { ptr }
%class.LoggerFunction = type { %class.Handle, ptr }
%class.Handle = type { ptr }
%class.Handle.6 = type { ptr }
%"class.Json::Value" = type { %"union.Json::Value::ValueHolder", i16, ptr, i64, i64 }
%"union.Json::Value::ValueHolder" = type { i64 }
%"class.Json::Reader" = type <{ %"class.std::stack", %"class.std::deque.14", %"class.std::__cxx11::basic_string", ptr, ptr, ptr, ptr, ptr, %"class.std::__cxx11::basic_string", %"class.Json::Features", i8, [3 x i8] }>
%"class.std::stack" = type { %"class.std::deque" }
%"class.std::deque" = type { %"class.std::_Deque_base" }
%"class.std::_Deque_base" = type { %"struct.std::_Deque_base<Json::Value *, std::allocator<Json::Value *>>::_Deque_impl" }
%"struct.std::_Deque_base<Json::Value *, std::allocator<Json::Value *>>::_Deque_impl" = type { %"struct.std::_Deque_base<Json::Value *, std::allocator<Json::Value *>>::_Deque_impl_data" }
%"struct.std::_Deque_base<Json::Value *, std::allocator<Json::Value *>>::_Deque_impl_data" = type { ptr, i64, %"struct.std::_Deque_iterator", %"struct.std::_Deque_iterator" }
%"struct.std::_Deque_iterator" = type { ptr, ptr, ptr, ptr }
%"class.std::deque.14" = type { %"class.std::_Deque_base.15" }
%"class.std::_Deque_base.15" = type { %"struct.std::_Deque_base<Json::Reader::ErrorInfo, std::allocator<Json::Reader::ErrorInfo>>::_Deque_impl" }
%"struct.std::_Deque_base<Json::Reader::ErrorInfo, std::allocator<Json::Reader::ErrorInfo>>::_Deque_impl" = type { %"struct.std::_Deque_base<Json::Reader::ErrorInfo, std::allocator<Json::Reader::ErrorInfo>>::_Deque_impl_data" }
%"struct.std::_Deque_base<Json::Reader::ErrorInfo, std::allocator<Json::Reader::ErrorInfo>>::_Deque_impl_data" = type { ptr, i64, %"struct.std::_Deque_iterator.19", %"struct.std::_Deque_iterator.19" }
%"struct.std::_Deque_iterator.19" = type { ptr, ptr, ptr, 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.Json::Features" = type { i8, i8, i8, i8 }
%"class.std::basic_ifstream" = type { %"class.std::basic_istream.base", %"class.std::basic_filebuf", %"class.std::basic_ios" }
%"class.std::basic_istream.base" = type { ptr, i64 }
%"class.std::basic_filebuf" = type { %"class.std::basic_streambuf", %union.pthread_mutex_t, %"class.std::__basic_file", i32, %struct.__mbstate_t, %struct.__mbstate_t, %struct.__mbstate_t, ptr, i64, i8, i8, i8, i8, ptr, ptr, i8, ptr, ptr, i64, ptr, ptr }
%"class.std::basic_streambuf" = type { ptr, ptr, ptr, ptr, ptr, ptr, ptr, %"class.std::locale" }
%"class.std::locale" = type { ptr }
%union.pthread_mutex_t = type { %struct.__pthread_mutex_s }
%struct.__pthread_mutex_s = type { i32, i32, i32, i32, i32, i16, i16, %struct.__pthread_internal_list }
%struct.__pthread_internal_list = type { ptr, ptr }
%"class.std::__basic_file" = type <{ ptr, i8, [7 x i8] }>
%struct.__mbstate_t = type { i32, %union.anon.1 }
%union.anon.1 = type { i32 }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%class.Handle.0 = type { ptr }
%"class.std::allocator" = type { i8 }
%class.CashJson = type { %class.Handle }
%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.7 }
%class.Handle.7 = type { ptr }
%class.IPkiCrl = type { ptr, %class.Handle, %class.Handle, %class.Handle, %class.Handle, %class.Handle, %class.Handle, %class.Handle, %class.Handle, %class.Handle.8 }
%class.Handle.8 = type { ptr }
%class.IPkiKey = type { ptr, i8, %class.Handle.9 }
%class.Handle.9 = type { ptr }
%class.IPkiRequest = type { ptr, %class.Handle, %class.Handle, %class.Handle, %class.Handle.10 }
%class.Handle.10 = type { ptr }

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

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

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

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

declare i32 @__gxx_personality_v0(...)

; Function Attrs: mustprogress 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)) #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef ptr @_ZNK6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8)) #0 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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN6HandleI9ExceptionEC2EPS0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) unnamed_addr #0 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 #2

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

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

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: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #1

; Function Attrs: mustprogress uwtable
declare void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(256), ptr noundef, i32 noundef) unnamed_addr #0 align 2

; Function Attrs: mustprogress nounwind uwtable
declare void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256)) 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 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 uwtable
define dso_local void @_ZN8CashJson10exportJsonEv(ptr dead_on_unwind noalias writable sret(%class.Handle.2) align 8 %0, ptr noundef nonnull align 8 dereferenceable(8) %1) #0 align 2 personality ptr @__gxx_personality_v0 {
  %3 = alloca ptr, align 8
  %4 = alloca ptr, align 8
  %5 = alloca %class.LoggerFunction, align 8
  %6 = alloca i1, align 1
  %7 = alloca ptr, align 8
  %8 = alloca i32, align 4
  %9 = alloca %class.Handle.6, align 8
  %10 = alloca %"class.Json::Value", align 8
  %11 = alloca %"class.Json::Reader", align 8
  %12 = alloca %"class.std::basic_ifstream", align 8
  %13 = alloca i8, align 1
  %14 = alloca %class.Handle.0, align 8
  %15 = alloca %class.Handle.0, align 8
  %16 = alloca i1, align 1
  %17 = alloca [1 x %"class.std::__cxx11::basic_string"], align 16
  %18 = alloca ptr, align 8
  %19 = alloca %"class.std::allocator", align 1
  %20 = alloca i1, align 1
  %21 = alloca i32, align 4
  %22 = alloca i32, align 4
  %23 = alloca i32, align 4
  %24 = alloca %"class.Json::Value", align 8
  %25 = alloca i32, align 4
  %26 = alloca %class.Handle, align 8
  %27 = alloca %class.Handle, align 8
  %28 = alloca %class.Handle, align 8
  %29 = alloca %class.Handle, align 8
  %30 = alloca %class.Handle, align 8
  %31 = alloca %class.Handle, align 8
  %32 = alloca %class.Handle, align 8
  %33 = alloca %class.Handle, align 8
  %34 = alloca %class.Handle, align 8
  %35 = alloca %class.Handle, align 8
  %36 = alloca %class.Handle, align 8
  %37 = alloca %class.Handle, align 8
  %38 = alloca %class.Handle, align 8
  %39 = alloca %class.Handle, align 8
  %40 = alloca %class.Handle, align 8
  %41 = alloca %class.Handle, align 8
  %42 = alloca %class.Handle, align 8
  %43 = alloca %class.Handle, align 8
  %44 = alloca %class.Handle, align 8
  %45 = alloca %class.Handle, align 8
  %46 = alloca %class.Handle, align 8
  %47 = alloca %class.Handle, align 8
  %48 = alloca %class.Handle, align 8
  %49 = alloca %class.Handle, align 8
  %50 = alloca %class.Handle, align 8
  %51 = alloca %class.Handle, align 8
  %52 = alloca %class.Handle, align 8
  %53 = alloca %class.Handle, align 8
  %54 = alloca %class.Handle, align 8
  %55 = alloca %class.Handle.0, align 8
  %56 = alloca %class.Handle.0, align 8
  %57 = alloca i1, align 1
  %58 = alloca %class.Handle.6, align 8
  %59 = alloca ptr, align 8
  %60 = alloca %class.Handle.0, align 8
  %61 = alloca %class.Handle.0, align 8
  %62 = alloca i1, align 1
  store ptr %0, ptr %3, align 8
  store ptr %1, ptr %4, align 8, !tbaa !5
  %63 = load ptr, ptr %4, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr %5) #11
  %64 = load ptr, ptr @logger, align 8, !tbaa !5
  call void @_ZN14LoggerFunctionC1EP6LoggerPKc(ptr noundef nonnull align 8 dereferenceable(16) %5, ptr noundef %64, ptr noundef @__FUNCTION__._ZN8CashJson10exportJsonEv)
  store i1 false, ptr %6, align 1
  %65 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 24) #12
          to label %66 unwind label %95

66:                                               ; preds = %2
  invoke void @_ZN17PkiItemCollectionC1Ev(ptr noundef nonnull align 8 dereferenceable(24) %65)
          to label %67 unwind label %99

67:                                               ; preds = %66
  invoke void @_ZN6HandleI17PkiItemCollectionEC2EPS0_(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef %65)
          to label %68 unwind label %95

68:                                               ; preds = %67
  call void @llvm.lifetime.start.p0(i64 8, ptr %9) #11
  %69 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 304) #12
          to label %70 unwind label %103

70:                                               ; preds = %68
  invoke void @_ZN7PkiItemC1Ev(ptr noundef nonnull align 8 dereferenceable(304) %69)
          to label %71 unwind label %107

71:                                               ; preds = %70
  invoke void @_ZN6HandleI7PkiItemEC2EPS0_(ptr noundef nonnull align 8 dereferenceable(8) %9, ptr noundef %69)
          to label %72 unwind label %103

72:                                               ; preds = %71
  call void @llvm.lifetime.start.p0(i64 40, ptr %10) #11
  invoke void @_ZN4Json5ValueC1ENS_9ValueTypeE(ptr noundef nonnull align 8 dereferenceable(40) %10, i32 noundef 0)
          to label %73 unwind label %111

73:                                               ; preds = %72
  call void @llvm.lifetime.start.p0(i64 272, ptr %11) #11
  invoke void @_ZN4Json6ReaderC1Ev(ptr noundef nonnull align 8 dereferenceable(269) %11)
          to label %74 unwind label %115

74:                                               ; preds = %73
  call void @llvm.lifetime.start.p0(i64 520, ptr %12) #11
  %75 = getelementptr inbounds %class.CashJson, ptr %63, i32 0, i32 0
  %76 = invoke noundef ptr @_ZNK6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %75)
          to label %77 unwind label %119

77:                                               ; preds = %74
  %78 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %76) #11
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(256) %12, ptr noundef %78, i32 noundef 4)
          to label %79 unwind label %119

79:                                               ; preds = %77
  call void @llvm.lifetime.start.p0(i64 1, ptr %13) #11
  %80 = invoke noundef zeroext i1 @_ZN4Json6Reader5parseERSiRNS_5ValueEb(ptr noundef nonnull align 8 dereferenceable(269) %11, ptr noundef nonnull align 8 dereferenceable(16) %12, ptr noundef nonnull align 8 dereferenceable(40) %10, i1 noundef zeroext false)
          to label %81 unwind label %123

81:                                               ; preds = %79
  %82 = zext i1 %80 to i8
  store i8 %82, ptr %13, align 1, !tbaa !9
  %83 = load i8, ptr %13, align 1, !tbaa !9, !range !11, !noundef !12
  %84 = trunc i8 %83 to i1
  br i1 %84, label %153, label %85

85:                                               ; preds = %81
  %86 = load ptr, ptr @logger, align 8, !tbaa !5
  invoke void (ptr, ptr, ptr, ...) @_ZN6Logger5errorEPKcS1_z(ptr noundef nonnull align 8 dereferenceable(24) %86, ptr noundef @__FUNCTION__._ZN8CashJson10exportJsonEv, ptr noundef @.str.5)
          to label %87 unwind label %123

87:                                               ; preds = %85
  call void @llvm.lifetime.start.p0(i64 8, ptr %14) #11
  %88 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 176) #12
          to label %89 unwind label %127

89:                                               ; preds = %87
  store i1 true, ptr %16, align 1
  invoke void @_ZN6HandleI9ExceptionEC2EPS0_(ptr noundef nonnull align 8 dereferenceable(8) %15, ptr noundef null)
          to label %90 unwind label %131

90:                                               ; preds = %89
  invoke void (ptr, i1, ptr, i32, i32, ptr, ptr, ptr, ptr, ...) @_ZN9ExceptionC1EbPKciiS1_S1_6HandleIS_ES1_z(ptr noundef nonnull align 8 dereferenceable(176) %88, i1 noundef zeroext false, ptr noundef @.str.2, i32 noundef 46, i32 noundef 0, ptr noundef @__FUNCTION__._ZN8CashJsonC2E6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE, ptr noundef @__FUNCTION__._ZN8CashJson10exportJsonEv, ptr noundef %15, ptr noundef @.str.5)
          to label %91 unwind label %135

91:                                               ; preds = %90
  store i1 false, ptr %16, align 1
  invoke void @_ZN6HandleI9ExceptionEC2EPS0_(ptr noundef nonnull align 8 dereferenceable(8) %14, ptr noundef %88)
          to label %92 unwind label %135

92:                                               ; preds = %91
  call void @_ZN6HandleI9ExceptionED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %15) #11
  %93 = call ptr @__cxa_allocate_exception(i64 8) #11
  invoke void @_ZN6HandleI9ExceptionEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(8) %93, ptr noundef nonnull align 8 dereferenceable(8) %14)
          to label %94 unwind label %143

94:                                               ; preds = %92
  invoke void @__cxa_throw(ptr %93, ptr @_ZTI6HandleI9ExceptionE, ptr @_ZN6HandleI9ExceptionED2Ev) #13
          to label %1183 unwind label %147

95:                                               ; preds = %67, %2
  %96 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %97 = extractvalue { ptr, i32 } %96, 0
  store ptr %97, ptr %7, align 8
  %98 = extractvalue { ptr, i32 } %96, 1
  store i32 %98, ptr %8, align 4
  br label %1122

99:                                               ; preds = %66
  %100 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %101 = extractvalue { ptr, i32 } %100, 0
  store ptr %101, ptr %7, align 8
  %102 = extractvalue { ptr, i32 } %100, 1
  store i32 %102, ptr %8, align 4
  call void @_ZdlPvm(ptr noundef %65, i64 noundef 24) #14
  br label %1122

103:                                              ; preds = %71, %68
  %104 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %105 = extractvalue { ptr, i32 } %104, 0
  store ptr %105, ptr %7, align 8
  %106 = extractvalue { ptr, i32 } %104, 1
  store i32 %106, ptr %8, align 4
  br label %1121

107:                                              ; preds = %70
  %108 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %109 = extractvalue { ptr, i32 } %108, 0
  store ptr %109, ptr %7, align 8
  %110 = extractvalue { ptr, i32 } %108, 1
  store i32 %110, ptr %8, align 4
  call void @_ZdlPvm(ptr noundef %69, i64 noundef 304) #14
  br label %1121

111:                                              ; preds = %72
  %112 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %113 = extractvalue { ptr, i32 } %112, 0
  store ptr %113, ptr %7, align 8
  %114 = extractvalue { ptr, i32 } %112, 1
  store i32 %114, ptr %8, align 4
  br label %1120

115:                                              ; preds = %73
  %116 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %117 = extractvalue { ptr, i32 } %116, 0
  store ptr %117, ptr %7, align 8
  %118 = extractvalue { ptr, i32 } %116, 1
  store i32 %118, ptr %8, align 4
  br label %1119

119:                                              ; preds = %77, %74
  %120 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %121 = extractvalue { ptr, i32 } %120, 0
  store ptr %121, ptr %7, align 8
  %122 = extractvalue { ptr, i32 } %120, 1
  store i32 %122, ptr %8, align 4
  br label %1118

123:                                              ; preds = %85, %79
  %124 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %125 = extractvalue { ptr, i32 } %124, 0
  store ptr %125, ptr %7, align 8
  %126 = extractvalue { ptr, i32 } %124, 1
  store i32 %126, ptr %8, align 4
  br label %1117

127:                                              ; preds = %87
  %128 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %129 = extractvalue { ptr, i32 } %128, 0
  store ptr %129, ptr %7, align 8
  %130 = extractvalue { ptr, i32 } %128, 1
  store i32 %130, ptr %8, align 4
  br label %152

131:                                              ; preds = %89
  %132 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %133 = extractvalue { ptr, i32 } %132, 0
  store ptr %133, ptr %7, align 8
  %134 = extractvalue { ptr, i32 } %132, 1
  store i32 %134, ptr %8, align 4
  br label %139

135:                                              ; preds = %91, %90
  %136 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %137 = extractvalue { ptr, i32 } %136, 0
  store ptr %137, ptr %7, align 8
  %138 = extractvalue { ptr, i32 } %136, 1
  store i32 %138, ptr %8, align 4
  call void @_ZN6HandleI9ExceptionED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %15) #11
  br label %139

139:                                              ; preds = %135, %131
  %140 = load i1, ptr %16, align 1
  br i1 %140, label %141, label %142

141:                                              ; preds = %139
  call void @_ZdlPvm(ptr noundef %88, i64 noundef 176) #14
  br label %142

142:                                              ; preds = %141, %139
  br label %152

143:                                              ; preds = %92
  %144 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %145 = extractvalue { ptr, i32 } %144, 0
  store ptr %145, ptr %7, align 8
  %146 = extractvalue { ptr, i32 } %144, 1
  store i32 %146, ptr %8, align 4
  call void @__cxa_free_exception(ptr %93) #11
  br label %151

147:                                              ; preds = %94
  %148 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %149 = extractvalue { ptr, i32 } %148, 0
  store ptr %149, ptr %7, align 8
  %150 = extractvalue { ptr, i32 } %148, 1
  store i32 %150, ptr %8, align 4
  br label %151

151:                                              ; preds = %147, %143
  call void @_ZN6HandleI9ExceptionED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %14) #11
  br label %152

152:                                              ; preds = %151, %142, %127
  call void @llvm.lifetime.end.p0(i64 8, ptr %14) #11
  br label %1117

153:                                              ; preds = %81
  call void @llvm.lifetime.start.p0(i64 32, ptr %17) #11
  store i1 true, ptr %20, align 1
  store ptr %17, ptr %18, align 8
  call void @llvm.lifetime.start.p0(i64 1, ptr %19) #11
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #11
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef @.str.6, ptr noundef nonnull align 1 dereferenceable(1) %19)
          to label %154 unwind label %160

154:                                              ; preds = %153
  store i1 false, ptr %20, align 1
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %19) #11
  call void @llvm.lifetime.start.p0(i64 4, ptr %21) #11
  store i32 0, ptr %21, align 4, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 4, ptr %22) #11
  store i32 1, ptr %22, align 4, !tbaa !13
  br label %155

155:                                              ; preds = %1096, %154
  %156 = load i32, ptr %21, align 4, !tbaa !13
  %157 = load i32, ptr %22, align 4, !tbaa !13
  %158 = icmp slt i32 %156, %157
  br i1 %158, label %174, label %159

159:                                              ; preds = %155
  store i32 2, ptr %23, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #11
  br label %1102

160:                                              ; preds = %153
  %161 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %162 = extractvalue { ptr, i32 } %161, 0
  store ptr %162, ptr %7, align 8
  %163 = extractvalue { ptr, i32 } %161, 1
  store i32 %163, ptr %8, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %19) #11
  %164 = load i1, ptr %20, align 1
  br i1 %164, label %165, label %173

165:                                              ; preds = %160
  %166 = load ptr, ptr %18, align 8
  %167 = icmp eq ptr %17, %166
  br i1 %167, label %172, label %168

168:                                              ; preds = %168, %165
  %169 = phi ptr [ %166, %165 ], [ %170, %168 ]
  %170 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %169, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %170) #11
  %171 = icmp eq ptr %170, %17
  br i1 %171, label %172, label %168

172:                                              ; preds = %168, %165
  br label %173

173:                                              ; preds = %172, %160
  br label %1116

174:                                              ; preds = %155
  call void @llvm.lifetime.start.p0(i64 40, ptr %24) #11
  %175 = load i32, ptr %21, align 4, !tbaa !13
  %176 = sext i32 %175 to i64
  %177 = getelementptr inbounds [1 x %"class.std::__cxx11::basic_string"], ptr %17, i64 0, i64 %176
  %178 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(40) %10, ptr noundef nonnull align 8 dereferenceable(32) %177)
          to label %179 unwind label %189

179:                                              ; preds = %174
  %180 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEPKc(ptr noundef nonnull align 8 dereferenceable(40) %178, ptr noundef @.str.7)
          to label %181 unwind label %189

181:                                              ; preds = %179
  invoke void @_ZN4Json5ValueC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(40) %24, ptr noundef nonnull align 8 dereferenceable(40) %180)
          to label %182 unwind label %189

182:                                              ; preds = %181
  call void @llvm.lifetime.start.p0(i64 4, ptr %25) #11
  store i32 0, ptr %25, align 4, !tbaa !13
  br label %183

183:                                              ; preds = %1087, %182
  %184 = load i32, ptr %25, align 4, !tbaa !13
  %185 = invoke noundef i32 @_ZNK4Json5Value4sizeEv(ptr noundef nonnull align 8 dereferenceable(40) %24)
          to label %186 unwind label %193

186:                                              ; preds = %183
  %187 = icmp ult i32 %184, %185
  br i1 %187, label %197, label %188

188:                                              ; preds = %186
  store i32 5, ptr %23, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #11
  br label %1095

189:                                              ; preds = %181, %179, %174
  %190 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %191 = extractvalue { ptr, i32 } %190, 0
  store ptr %191, ptr %7, align 8
  %192 = extractvalue { ptr, i32 } %190, 1
  store i32 %192, ptr %8, align 4
  br label %1099

193:                                              ; preds = %1084, %1082, %1043, %1037, %1035, %1033, %1030, %1023, %1021, %929, %927, %695, %693, %283, %281, %183
  %194 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %195 = extractvalue { ptr, i32 } %194, 0
  store ptr %195, ptr %7, align 8
  %196 = extractvalue { ptr, i32 } %194, 1
  store i32 %196, ptr %8, align 4
  br label %1094

197:                                              ; preds = %186
  call void @llvm.lifetime.start.p0(i64 8, ptr %26) #11
  %198 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 32) #12
          to label %199 unwind label %459

199:                                              ; preds = %197
  %200 = load i32, ptr %25, align 4, !tbaa !13
  %201 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEi(ptr noundef nonnull align 8 dereferenceable(40) %24, i32 noundef %200)
          to label %202 unwind label %463

202:                                              ; preds = %199
  %203 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEPKc(ptr noundef nonnull align 8 dereferenceable(40) %201, ptr noundef @.str.8)
          to label %204 unwind label %463

204:                                              ; preds = %202
  invoke void @_ZNK4Json5Value8asStringB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %198, ptr noundef nonnull align 8 dereferenceable(40) %203)
          to label %205 unwind label %463

205:                                              ; preds = %204
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %26, ptr noundef %198)
          to label %206 unwind label %459

206:                                              ; preds = %205
  %207 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %9)
          to label %208 unwind label %467

208:                                              ; preds = %206
  %209 = getelementptr inbounds %class.PkiItem, ptr %207, i32 0, i32 4
  %210 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %209, ptr noundef nonnull align 8 dereferenceable(8) %26)
          to label %211 unwind label %467

211:                                              ; preds = %208
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %26) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %26) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %27) #11
  %212 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 32) #12
          to label %213 unwind label %472

213:                                              ; preds = %211
  %214 = load i32, ptr %25, align 4, !tbaa !13
  %215 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEi(ptr noundef nonnull align 8 dereferenceable(40) %24, i32 noundef %214)
          to label %216 unwind label %476

216:                                              ; preds = %213
  %217 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEPKc(ptr noundef nonnull align 8 dereferenceable(40) %215, ptr noundef @.str.9)
          to label %218 unwind label %476

218:                                              ; preds = %216
  invoke void @_ZNK4Json5Value8asStringB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %212, ptr noundef nonnull align 8 dereferenceable(40) %217)
          to label %219 unwind label %476

219:                                              ; preds = %218
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %27, ptr noundef %212)
          to label %220 unwind label %472

220:                                              ; preds = %219
  %221 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %9)
          to label %222 unwind label %480

222:                                              ; preds = %220
  %223 = getelementptr inbounds %class.PkiItem, ptr %221, i32 0, i32 5
  %224 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %223, ptr noundef nonnull align 8 dereferenceable(8) %27)
          to label %225 unwind label %480

225:                                              ; preds = %222
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %27) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %28) #11
  %226 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 32) #12
          to label %227 unwind label %485

227:                                              ; preds = %225
  %228 = load i32, ptr %25, align 4, !tbaa !13
  %229 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEi(ptr noundef nonnull align 8 dereferenceable(40) %24, i32 noundef %228)
          to label %230 unwind label %489

230:                                              ; preds = %227
  %231 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEPKc(ptr noundef nonnull align 8 dereferenceable(40) %229, ptr noundef @.str.10)
          to label %232 unwind label %489

232:                                              ; preds = %230
  invoke void @_ZNK4Json5Value8asStringB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %226, ptr noundef nonnull align 8 dereferenceable(40) %231)
          to label %233 unwind label %489

233:                                              ; preds = %232
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %28, ptr noundef %226)
          to label %234 unwind label %485

234:                                              ; preds = %233
  %235 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %9)
          to label %236 unwind label %493

236:                                              ; preds = %234
  %237 = getelementptr inbounds %class.PkiItem, ptr %235, i32 0, i32 6
  %238 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %237, ptr noundef nonnull align 8 dereferenceable(8) %28)
          to label %239 unwind label %493

239:                                              ; preds = %236
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %28) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %29) #11
  %240 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 32) #12
          to label %241 unwind label %498

241:                                              ; preds = %239
  %242 = load i32, ptr %25, align 4, !tbaa !13
  %243 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEi(ptr noundef nonnull align 8 dereferenceable(40) %24, i32 noundef %242)
          to label %244 unwind label %502

244:                                              ; preds = %241
  %245 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEPKc(ptr noundef nonnull align 8 dereferenceable(40) %243, ptr noundef @.str.11)
          to label %246 unwind label %502

246:                                              ; preds = %244
  invoke void @_ZNK4Json5Value8asStringB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %240, ptr noundef nonnull align 8 dereferenceable(40) %245)
          to label %247 unwind label %502

247:                                              ; preds = %246
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %29, ptr noundef %240)
          to label %248 unwind label %498

248:                                              ; preds = %247
  %249 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %9)
          to label %250 unwind label %506

250:                                              ; preds = %248
  %251 = getelementptr inbounds %class.PkiItem, ptr %249, i32 0, i32 7
  %252 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %251, ptr noundef nonnull align 8 dereferenceable(8) %29)
          to label %253 unwind label %506

253:                                              ; preds = %250
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %29) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %29) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %30) #11
  %254 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 32) #12
          to label %255 unwind label %511

255:                                              ; preds = %253
  %256 = load i32, ptr %25, align 4, !tbaa !13
  %257 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEi(ptr noundef nonnull align 8 dereferenceable(40) %24, i32 noundef %256)
          to label %258 unwind label %515

258:                                              ; preds = %255
  %259 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEPKc(ptr noundef nonnull align 8 dereferenceable(40) %257, ptr noundef @.str.12)
          to label %260 unwind label %515

260:                                              ; preds = %258
  invoke void @_ZNK4Json5Value8asStringB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %254, ptr noundef nonnull align 8 dereferenceable(40) %259)
          to label %261 unwind label %515

261:                                              ; preds = %260
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %30, ptr noundef %254)
          to label %262 unwind label %511

262:                                              ; preds = %261
  %263 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %9)
          to label %264 unwind label %519

264:                                              ; preds = %262
  %265 = getelementptr inbounds %class.PkiItem, ptr %263, i32 0, i32 8
  %266 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %265, ptr noundef nonnull align 8 dereferenceable(8) %30)
          to label %267 unwind label %519

267:                                              ; preds = %264
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %30) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %31) #11
  %268 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 32) #12
          to label %269 unwind label %524

269:                                              ; preds = %267
  %270 = load i32, ptr %25, align 4, !tbaa !13
  %271 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEi(ptr noundef nonnull align 8 dereferenceable(40) %24, i32 noundef %270)
          to label %272 unwind label %528

272:                                              ; preds = %269
  %273 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEPKc(ptr noundef nonnull align 8 dereferenceable(40) %271, ptr noundef @.str.13)
          to label %274 unwind label %528

274:                                              ; preds = %272
  invoke void @_ZNK4Json5Value8asStringB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %268, ptr noundef nonnull align 8 dereferenceable(40) %273)
          to label %275 unwind label %528

275:                                              ; preds = %274
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %31, ptr noundef %268)
          to label %276 unwind label %524

276:                                              ; preds = %275
  %277 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %9)
          to label %278 unwind label %532

278:                                              ; preds = %276
  %279 = getelementptr inbounds %class.PkiItem, ptr %277, i32 0, i32 9
  %280 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %279, ptr noundef nonnull align 8 dereferenceable(8) %31)
          to label %281 unwind label %532

281:                                              ; preds = %278
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %31) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #11
  %282 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %9)
          to label %283 unwind label %193

283:                                              ; preds = %281
  %284 = getelementptr inbounds %class.PkiItem, ptr %282, i32 0, i32 5
  %285 = invoke noundef ptr @_ZNK6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %284)
          to label %286 unwind label %193

286:                                              ; preds = %283
  %287 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %285) #11
  %288 = call i32 @strcmp(ptr noundef %287, ptr noundef @.str.14) #15
  %289 = icmp eq i32 %288, 0
  br i1 %289, label %290, label %693

290:                                              ; preds = %286
  call void @llvm.lifetime.start.p0(i64 8, ptr %32) #11
  %291 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 32) #12
          to label %292 unwind label %537

292:                                              ; preds = %290
  %293 = load i32, ptr %25, align 4, !tbaa !13
  %294 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEi(ptr noundef nonnull align 8 dereferenceable(40) %24, i32 noundef %293)
          to label %295 unwind label %541

295:                                              ; preds = %292
  %296 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEPKc(ptr noundef nonnull align 8 dereferenceable(40) %294, ptr noundef @.str.15)
          to label %297 unwind label %541

297:                                              ; preds = %295
  invoke void @_ZNK4Json5Value8asStringB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %291, ptr noundef nonnull align 8 dereferenceable(40) %296)
          to label %298 unwind label %541

298:                                              ; preds = %297
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %32, ptr noundef %291)
          to label %299 unwind label %537

299:                                              ; preds = %298
  %300 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %9)
          to label %301 unwind label %545

301:                                              ; preds = %299
  %302 = getelementptr inbounds %class.IPkiCertificate, ptr %300, i32 0, i32 1
  %303 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %302, ptr noundef nonnull align 8 dereferenceable(8) %32)
          to label %304 unwind label %545

304:                                              ; preds = %301
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %32) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %33) #11
  %305 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 32) #12
          to label %306 unwind label %550

306:                                              ; preds = %304
  %307 = load i32, ptr %25, align 4, !tbaa !13
  %308 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEi(ptr noundef nonnull align 8 dereferenceable(40) %24, i32 noundef %307)
          to label %309 unwind label %554

309:                                              ; preds = %306
  %310 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEPKc(ptr noundef nonnull align 8 dereferenceable(40) %308, ptr noundef @.str.16)
          to label %311 unwind label %554

311:                                              ; preds = %309
  invoke void @_ZNK4Json5Value8asStringB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %305, ptr noundef nonnull align 8 dereferenceable(40) %310)
          to label %312 unwind label %554

312:                                              ; preds = %311
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %33, ptr noundef %305)
          to label %313 unwind label %550

313:                                              ; preds = %312
  %314 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %9)
          to label %315 unwind label %558

315:                                              ; preds = %313
  %316 = getelementptr inbounds %class.IPkiCertificate, ptr %314, i32 0, i32 2
  %317 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %316, ptr noundef nonnull align 8 dereferenceable(8) %33)
          to label %318 unwind label %558

318:                                              ; preds = %315
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %33) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %33) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %34) #11
  %319 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 32) #12
          to label %320 unwind label %563

320:                                              ; preds = %318
  %321 = load i32, ptr %25, align 4, !tbaa !13
  %322 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEi(ptr noundef nonnull align 8 dereferenceable(40) %24, i32 noundef %321)
          to label %323 unwind label %567

323:                                              ; preds = %320
  %324 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEPKc(ptr noundef nonnull align 8 dereferenceable(40) %322, ptr noundef @.str.17)
          to label %325 unwind label %567

325:                                              ; preds = %323
  invoke void @_ZNK4Json5Value8asStringB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %319, ptr noundef nonnull align 8 dereferenceable(40) %324)
          to label %326 unwind label %567

326:                                              ; preds = %325
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %34, ptr noundef %319)
          to label %327 unwind label %563

327:                                              ; preds = %326
  %328 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %9)
          to label %329 unwind label %571

329:                                              ; preds = %327
  %330 = getelementptr inbounds %class.IPkiCertificate, ptr %328, i32 0, i32 3
  %331 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %330, ptr noundef nonnull align 8 dereferenceable(8) %34)
          to label %332 unwind label %571

332:                                              ; preds = %329
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %34) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %34) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %35) #11
  %333 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 32) #12
          to label %334 unwind label %576

334:                                              ; preds = %332
  %335 = load i32, ptr %25, align 4, !tbaa !13
  %336 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEi(ptr noundef nonnull align 8 dereferenceable(40) %24, i32 noundef %335)
          to label %337 unwind label %580

337:                                              ; preds = %334
  %338 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEPKc(ptr noundef nonnull align 8 dereferenceable(40) %336, ptr noundef @.str.18)
          to label %339 unwind label %580

339:                                              ; preds = %337
  invoke void @_ZNK4Json5Value8asStringB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %333, ptr noundef nonnull align 8 dereferenceable(40) %338)
          to label %340 unwind label %580

340:                                              ; preds = %339
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %35, ptr noundef %333)
          to label %341 unwind label %576

341:                                              ; preds = %340
  %342 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %9)
          to label %343 unwind label %584

343:                                              ; preds = %341
  %344 = getelementptr inbounds %class.IPkiCertificate, ptr %342, i32 0, i32 4
  %345 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %344, ptr noundef nonnull align 8 dereferenceable(8) %35)
          to label %346 unwind label %584

346:                                              ; preds = %343
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %35) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %35) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %36) #11
  %347 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 32) #12
          to label %348 unwind label %589

348:                                              ; preds = %346
  %349 = load i32, ptr %25, align 4, !tbaa !13
  %350 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEi(ptr noundef nonnull align 8 dereferenceable(40) %24, i32 noundef %349)
          to label %351 unwind label %593

351:                                              ; preds = %348
  %352 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEPKc(ptr noundef nonnull align 8 dereferenceable(40) %350, ptr noundef @.str.19)
          to label %353 unwind label %593

353:                                              ; preds = %351
  invoke void @_ZNK4Json5Value8asStringB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %347, ptr noundef nonnull align 8 dereferenceable(40) %352)
          to label %354 unwind label %593

354:                                              ; preds = %353
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %36, ptr noundef %347)
          to label %355 unwind label %589

355:                                              ; preds = %354
  %356 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %9)
          to label %357 unwind label %597

357:                                              ; preds = %355
  %358 = getelementptr inbounds %class.IPkiCertificate, ptr %356, i32 0, i32 7
  %359 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %358, ptr noundef nonnull align 8 dereferenceable(8) %36)
          to label %360 unwind label %597

360:                                              ; preds = %357
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %36) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %37) #11
  %361 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 32) #12
          to label %362 unwind label %602

362:                                              ; preds = %360
  %363 = load i32, ptr %25, align 4, !tbaa !13
  %364 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEi(ptr noundef nonnull align 8 dereferenceable(40) %24, i32 noundef %363)
          to label %365 unwind label %606

365:                                              ; preds = %362
  %366 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEPKc(ptr noundef nonnull align 8 dereferenceable(40) %364, ptr noundef @.str.20)
          to label %367 unwind label %606

367:                                              ; preds = %365
  invoke void @_ZNK4Json5Value8asStringB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %361, ptr noundef nonnull align 8 dereferenceable(40) %366)
          to label %368 unwind label %606

368:                                              ; preds = %367
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %37, ptr noundef %361)
          to label %369 unwind label %602

369:                                              ; preds = %368
  %370 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %9)
          to label %371 unwind label %610

371:                                              ; preds = %369
  %372 = getelementptr inbounds %class.IPkiCertificate, ptr %370, i32 0, i32 5
  %373 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %372, ptr noundef nonnull align 8 dereferenceable(8) %37)
          to label %374 unwind label %610

374:                                              ; preds = %371
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %37) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %38) #11
  %375 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 32) #12
          to label %376 unwind label %615

376:                                              ; preds = %374
  %377 = load i32, ptr %25, align 4, !tbaa !13
  %378 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEi(ptr noundef nonnull align 8 dereferenceable(40) %24, i32 noundef %377)
          to label %379 unwind label %619

379:                                              ; preds = %376
  %380 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEPKc(ptr noundef nonnull align 8 dereferenceable(40) %378, ptr noundef @.str.21)
          to label %381 unwind label %619

381:                                              ; preds = %379
  invoke void @_ZNK4Json5Value8asStringB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %375, ptr noundef nonnull align 8 dereferenceable(40) %380)
          to label %382 unwind label %619

382:                                              ; preds = %381
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %38, ptr noundef %375)
          to label %383 unwind label %615

383:                                              ; preds = %382
  %384 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %9)
          to label %385 unwind label %623

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

388:                                              ; preds = %385
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %38) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %38) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %39) #11
  %389 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 32) #12
          to label %390 unwind label %628

390:                                              ; preds = %388
  %391 = load i32, ptr %25, align 4, !tbaa !13
  %392 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEi(ptr noundef nonnull align 8 dereferenceable(40) %24, i32 noundef %391)
          to label %393 unwind label %632

393:                                              ; preds = %390
  %394 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEPKc(ptr noundef nonnull align 8 dereferenceable(40) %392, ptr noundef @.str.22)
          to label %395 unwind label %632

395:                                              ; preds = %393
  invoke void @_ZNK4Json5Value8asStringB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %389, ptr noundef nonnull align 8 dereferenceable(40) %394)
          to label %396 unwind label %632

396:                                              ; preds = %395
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %39, ptr noundef %389)
          to label %397 unwind label %628

397:                                              ; preds = %396
  %398 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %9)
          to label %399 unwind label %636

399:                                              ; preds = %397
  %400 = getelementptr inbounds %class.IPkiCertificate, ptr %398, i32 0, i32 8
  %401 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %400, ptr noundef nonnull align 8 dereferenceable(8) %39)
          to label %402 unwind label %636

402:                                              ; preds = %399
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %39) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %39) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %40) #11
  %403 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 32) #12
          to label %404 unwind label %641

404:                                              ; preds = %402
  %405 = load i32, ptr %25, align 4, !tbaa !13
  %406 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEi(ptr noundef nonnull align 8 dereferenceable(40) %24, i32 noundef %405)
          to label %407 unwind label %645

407:                                              ; preds = %404
  %408 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEPKc(ptr noundef nonnull align 8 dereferenceable(40) %406, ptr noundef @.str.23)
          to label %409 unwind label %645

409:                                              ; preds = %407
  invoke void @_ZNK4Json5Value8asStringB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %403, ptr noundef nonnull align 8 dereferenceable(40) %408)
          to label %410 unwind label %645

410:                                              ; preds = %409
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %40, ptr noundef %403)
          to label %411 unwind label %641

411:                                              ; preds = %410
  %412 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %9)
          to label %413 unwind label %649

413:                                              ; preds = %411
  %414 = getelementptr inbounds %class.IPkiCertificate, ptr %412, i32 0, i32 9
  %415 = invoke 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) %40)
          to label %416 unwind label %649

416:                                              ; preds = %413
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %40) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %41) #11
  %417 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 32) #12
          to label %418 unwind label %654

418:                                              ; preds = %416
  %419 = load i32, ptr %25, align 4, !tbaa !13
  %420 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEi(ptr noundef nonnull align 8 dereferenceable(40) %24, i32 noundef %419)
          to label %421 unwind label %658

421:                                              ; preds = %418
  %422 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEPKc(ptr noundef nonnull align 8 dereferenceable(40) %420, ptr noundef @.str.24)
          to label %423 unwind label %658

423:                                              ; preds = %421
  invoke void @_ZNK4Json5Value8asStringB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %417, ptr noundef nonnull align 8 dereferenceable(40) %422)
          to label %424 unwind label %658

424:                                              ; preds = %423
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %41, ptr noundef %417)
          to label %425 unwind label %654

425:                                              ; preds = %424
  %426 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %9)
          to label %427 unwind label %662

427:                                              ; preds = %425
  %428 = getelementptr inbounds %class.IPkiCertificate, ptr %426, i32 0, i32 10
  %429 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %428, ptr noundef nonnull align 8 dereferenceable(8) %41)
          to label %430 unwind label %662

430:                                              ; preds = %427
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %41) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %41) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %42) #11
  %431 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 32) #12
          to label %432 unwind label %667

432:                                              ; preds = %430
  %433 = load i32, ptr %25, align 4, !tbaa !13
  %434 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEi(ptr noundef nonnull align 8 dereferenceable(40) %24, i32 noundef %433)
          to label %435 unwind label %671

435:                                              ; preds = %432
  %436 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEPKc(ptr noundef nonnull align 8 dereferenceable(40) %434, ptr noundef @.str.25)
          to label %437 unwind label %671

437:                                              ; preds = %435
  invoke void @_ZNK4Json5Value8asStringB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %431, ptr noundef nonnull align 8 dereferenceable(40) %436)
          to label %438 unwind label %671

438:                                              ; preds = %437
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %42, ptr noundef %431)
          to label %439 unwind label %667

439:                                              ; preds = %438
  %440 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %9)
          to label %441 unwind label %675

441:                                              ; preds = %439
  %442 = getelementptr inbounds %class.IPkiCertificate, ptr %440, i32 0, i32 11
  %443 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %442, ptr noundef nonnull align 8 dereferenceable(8) %42)
          to label %444 unwind label %675

444:                                              ; preds = %441
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %42) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %42) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %43) #11
  %445 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 32) #12
          to label %446 unwind label %680

446:                                              ; preds = %444
  %447 = load i32, ptr %25, align 4, !tbaa !13
  %448 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEi(ptr noundef nonnull align 8 dereferenceable(40) %24, i32 noundef %447)
          to label %449 unwind label %684

449:                                              ; preds = %446
  %450 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEPKc(ptr noundef nonnull align 8 dereferenceable(40) %448, ptr noundef @.str.26)
          to label %451 unwind label %684

451:                                              ; preds = %449
  invoke void @_ZNK4Json5Value8asStringB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %445, ptr noundef nonnull align 8 dereferenceable(40) %450)
          to label %452 unwind label %684

452:                                              ; preds = %451
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %43, ptr noundef %445)
          to label %453 unwind label %680

453:                                              ; preds = %452
  %454 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %9)
          to label %455 unwind label %688

455:                                              ; preds = %453
  %456 = getelementptr inbounds %class.IPkiCertificate, ptr %454, i32 0, i32 12
  %457 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %456, ptr noundef nonnull align 8 dereferenceable(8) %43)
          to label %458 unwind label %688

458:                                              ; preds = %455
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %43) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %43) #11
  br label %1082

459:                                              ; preds = %205, %197
  %460 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %461 = extractvalue { ptr, i32 } %460, 0
  store ptr %461, ptr %7, align 8
  %462 = extractvalue { ptr, i32 } %460, 1
  store i32 %462, ptr %8, align 4
  br label %471

463:                                              ; preds = %204, %202, %199
  %464 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %465 = extractvalue { ptr, i32 } %464, 0
  store ptr %465, ptr %7, align 8
  %466 = extractvalue { ptr, i32 } %464, 1
  store i32 %466, ptr %8, align 4
  call void @_ZdlPvm(ptr noundef %198, i64 noundef 32) #14
  br label %471

467:                                              ; preds = %208, %206
  %468 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %469 = extractvalue { ptr, i32 } %468, 0
  store ptr %469, ptr %7, align 8
  %470 = extractvalue { ptr, i32 } %468, 1
  store i32 %470, ptr %8, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %26) #11
  br label %471

471:                                              ; preds = %467, %463, %459
  call void @llvm.lifetime.end.p0(i64 8, ptr %26) #11
  br label %1094

472:                                              ; preds = %219, %211
  %473 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %474 = extractvalue { ptr, i32 } %473, 0
  store ptr %474, ptr %7, align 8
  %475 = extractvalue { ptr, i32 } %473, 1
  store i32 %475, ptr %8, align 4
  br label %484

476:                                              ; preds = %218, %216, %213
  %477 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %478 = extractvalue { ptr, i32 } %477, 0
  store ptr %478, ptr %7, align 8
  %479 = extractvalue { ptr, i32 } %477, 1
  store i32 %479, ptr %8, align 4
  call void @_ZdlPvm(ptr noundef %212, i64 noundef 32) #14
  br label %484

480:                                              ; preds = %222, %220
  %481 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %482 = extractvalue { ptr, i32 } %481, 0
  store ptr %482, ptr %7, align 8
  %483 = extractvalue { ptr, i32 } %481, 1
  store i32 %483, ptr %8, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %27) #11
  br label %484

484:                                              ; preds = %480, %476, %472
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #11
  br label %1094

485:                                              ; preds = %233, %225
  %486 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %487 = extractvalue { ptr, i32 } %486, 0
  store ptr %487, ptr %7, align 8
  %488 = extractvalue { ptr, i32 } %486, 1
  store i32 %488, ptr %8, align 4
  br label %497

489:                                              ; preds = %232, %230, %227
  %490 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %491 = extractvalue { ptr, i32 } %490, 0
  store ptr %491, ptr %7, align 8
  %492 = extractvalue { ptr, i32 } %490, 1
  store i32 %492, ptr %8, align 4
  call void @_ZdlPvm(ptr noundef %226, i64 noundef 32) #14
  br label %497

493:                                              ; preds = %236, %234
  %494 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %495 = extractvalue { ptr, i32 } %494, 0
  store ptr %495, ptr %7, align 8
  %496 = extractvalue { ptr, i32 } %494, 1
  store i32 %496, ptr %8, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %28) #11
  br label %497

497:                                              ; preds = %493, %489, %485
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #11
  br label %1094

498:                                              ; preds = %247, %239
  %499 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %500 = extractvalue { ptr, i32 } %499, 0
  store ptr %500, ptr %7, align 8
  %501 = extractvalue { ptr, i32 } %499, 1
  store i32 %501, ptr %8, align 4
  br label %510

502:                                              ; preds = %246, %244, %241
  %503 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %504 = extractvalue { ptr, i32 } %503, 0
  store ptr %504, ptr %7, align 8
  %505 = extractvalue { ptr, i32 } %503, 1
  store i32 %505, ptr %8, align 4
  call void @_ZdlPvm(ptr noundef %240, i64 noundef 32) #14
  br label %510

506:                                              ; preds = %250, %248
  %507 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %508 = extractvalue { ptr, i32 } %507, 0
  store ptr %508, ptr %7, align 8
  %509 = extractvalue { ptr, i32 } %507, 1
  store i32 %509, ptr %8, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %29) #11
  br label %510

510:                                              ; preds = %506, %502, %498
  call void @llvm.lifetime.end.p0(i64 8, ptr %29) #11
  br label %1094

511:                                              ; preds = %261, %253
  %512 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %513 = extractvalue { ptr, i32 } %512, 0
  store ptr %513, ptr %7, align 8
  %514 = extractvalue { ptr, i32 } %512, 1
  store i32 %514, ptr %8, align 4
  br label %523

515:                                              ; preds = %260, %258, %255
  %516 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %517 = extractvalue { ptr, i32 } %516, 0
  store ptr %517, ptr %7, align 8
  %518 = extractvalue { ptr, i32 } %516, 1
  store i32 %518, ptr %8, align 4
  call void @_ZdlPvm(ptr noundef %254, i64 noundef 32) #14
  br label %523

519:                                              ; preds = %264, %262
  %520 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %521 = extractvalue { ptr, i32 } %520, 0
  store ptr %521, ptr %7, align 8
  %522 = extractvalue { ptr, i32 } %520, 1
  store i32 %522, ptr %8, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %30) #11
  br label %523

523:                                              ; preds = %519, %515, %511
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #11
  br label %1094

524:                                              ; preds = %275, %267
  %525 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %526 = extractvalue { ptr, i32 } %525, 0
  store ptr %526, ptr %7, align 8
  %527 = extractvalue { ptr, i32 } %525, 1
  store i32 %527, ptr %8, align 4
  br label %536

528:                                              ; preds = %274, %272, %269
  %529 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %530 = extractvalue { ptr, i32 } %529, 0
  store ptr %530, ptr %7, align 8
  %531 = extractvalue { ptr, i32 } %529, 1
  store i32 %531, ptr %8, align 4
  call void @_ZdlPvm(ptr noundef %268, i64 noundef 32) #14
  br label %536

532:                                              ; preds = %278, %276
  %533 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %534 = extractvalue { ptr, i32 } %533, 0
  store ptr %534, ptr %7, align 8
  %535 = extractvalue { ptr, i32 } %533, 1
  store i32 %535, ptr %8, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %31) #11
  br label %536

536:                                              ; preds = %532, %528, %524
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #11
  br label %1094

537:                                              ; preds = %298, %290
  %538 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %539 = extractvalue { ptr, i32 } %538, 0
  store ptr %539, ptr %7, align 8
  %540 = extractvalue { ptr, i32 } %538, 1
  store i32 %540, ptr %8, align 4
  br label %549

541:                                              ; preds = %297, %295, %292
  %542 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %543 = extractvalue { ptr, i32 } %542, 0
  store ptr %543, ptr %7, align 8
  %544 = extractvalue { ptr, i32 } %542, 1
  store i32 %544, ptr %8, align 4
  call void @_ZdlPvm(ptr noundef %291, i64 noundef 32) #14
  br label %549

545:                                              ; preds = %301, %299
  %546 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %547 = extractvalue { ptr, i32 } %546, 0
  store ptr %547, ptr %7, align 8
  %548 = extractvalue { ptr, i32 } %546, 1
  store i32 %548, ptr %8, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %32) #11
  br label %549

549:                                              ; preds = %545, %541, %537
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #11
  br label %1094

550:                                              ; preds = %312, %304
  %551 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %552 = extractvalue { ptr, i32 } %551, 0
  store ptr %552, ptr %7, align 8
  %553 = extractvalue { ptr, i32 } %551, 1
  store i32 %553, ptr %8, align 4
  br label %562

554:                                              ; preds = %311, %309, %306
  %555 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %556 = extractvalue { ptr, i32 } %555, 0
  store ptr %556, ptr %7, align 8
  %557 = extractvalue { ptr, i32 } %555, 1
  store i32 %557, ptr %8, align 4
  call void @_ZdlPvm(ptr noundef %305, i64 noundef 32) #14
  br label %562

558:                                              ; preds = %315, %313
  %559 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %560 = extractvalue { ptr, i32 } %559, 0
  store ptr %560, ptr %7, align 8
  %561 = extractvalue { ptr, i32 } %559, 1
  store i32 %561, ptr %8, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %33) #11
  br label %562

562:                                              ; preds = %558, %554, %550
  call void @llvm.lifetime.end.p0(i64 8, ptr %33) #11
  br label %1094

563:                                              ; preds = %326, %318
  %564 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %565 = extractvalue { ptr, i32 } %564, 0
  store ptr %565, ptr %7, align 8
  %566 = extractvalue { ptr, i32 } %564, 1
  store i32 %566, ptr %8, align 4
  br label %575

567:                                              ; preds = %325, %323, %320
  %568 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %569 = extractvalue { ptr, i32 } %568, 0
  store ptr %569, ptr %7, align 8
  %570 = extractvalue { ptr, i32 } %568, 1
  store i32 %570, ptr %8, align 4
  call void @_ZdlPvm(ptr noundef %319, i64 noundef 32) #14
  br label %575

571:                                              ; preds = %329, %327
  %572 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %573 = extractvalue { ptr, i32 } %572, 0
  store ptr %573, ptr %7, align 8
  %574 = extractvalue { ptr, i32 } %572, 1
  store i32 %574, ptr %8, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %34) #11
  br label %575

575:                                              ; preds = %571, %567, %563
  call void @llvm.lifetime.end.p0(i64 8, ptr %34) #11
  br label %1094

576:                                              ; preds = %340, %332
  %577 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %578 = extractvalue { ptr, i32 } %577, 0
  store ptr %578, ptr %7, align 8
  %579 = extractvalue { ptr, i32 } %577, 1
  store i32 %579, ptr %8, align 4
  br label %588

580:                                              ; preds = %339, %337, %334
  %581 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %582 = extractvalue { ptr, i32 } %581, 0
  store ptr %582, ptr %7, align 8
  %583 = extractvalue { ptr, i32 } %581, 1
  store i32 %583, ptr %8, align 4
  call void @_ZdlPvm(ptr noundef %333, i64 noundef 32) #14
  br label %588

584:                                              ; preds = %343, %341
  %585 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %586 = extractvalue { ptr, i32 } %585, 0
  store ptr %586, ptr %7, align 8
  %587 = extractvalue { ptr, i32 } %585, 1
  store i32 %587, ptr %8, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %35) #11
  br label %588

588:                                              ; preds = %584, %580, %576
  call void @llvm.lifetime.end.p0(i64 8, ptr %35) #11
  br label %1094

589:                                              ; preds = %354, %346
  %590 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %591 = extractvalue { ptr, i32 } %590, 0
  store ptr %591, ptr %7, align 8
  %592 = extractvalue { ptr, i32 } %590, 1
  store i32 %592, ptr %8, align 4
  br label %601

593:                                              ; preds = %353, %351, %348
  %594 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %595 = extractvalue { ptr, i32 } %594, 0
  store ptr %595, ptr %7, align 8
  %596 = extractvalue { ptr, i32 } %594, 1
  store i32 %596, ptr %8, align 4
  call void @_ZdlPvm(ptr noundef %347, i64 noundef 32) #14
  br label %601

597:                                              ; preds = %357, %355
  %598 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %599 = extractvalue { ptr, i32 } %598, 0
  store ptr %599, ptr %7, align 8
  %600 = extractvalue { ptr, i32 } %598, 1
  store i32 %600, ptr %8, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %36) #11
  br label %601

601:                                              ; preds = %597, %593, %589
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #11
  br label %1094

602:                                              ; preds = %368, %360
  %603 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %604 = extractvalue { ptr, i32 } %603, 0
  store ptr %604, ptr %7, align 8
  %605 = extractvalue { ptr, i32 } %603, 1
  store i32 %605, ptr %8, align 4
  br label %614

606:                                              ; preds = %367, %365, %362
  %607 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %608 = extractvalue { ptr, i32 } %607, 0
  store ptr %608, ptr %7, align 8
  %609 = extractvalue { ptr, i32 } %607, 1
  store i32 %609, ptr %8, align 4
  call void @_ZdlPvm(ptr noundef %361, i64 noundef 32) #14
  br label %614

610:                                              ; preds = %371, %369
  %611 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %612 = extractvalue { ptr, i32 } %611, 0
  store ptr %612, ptr %7, align 8
  %613 = extractvalue { ptr, i32 } %611, 1
  store i32 %613, ptr %8, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %37) #11
  br label %614

614:                                              ; preds = %610, %606, %602
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #11
  br label %1094

615:                                              ; preds = %382, %374
  %616 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %617 = extractvalue { ptr, i32 } %616, 0
  store ptr %617, ptr %7, align 8
  %618 = extractvalue { ptr, i32 } %616, 1
  store i32 %618, ptr %8, align 4
  br label %627

619:                                              ; preds = %381, %379, %376
  %620 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %621 = extractvalue { ptr, i32 } %620, 0
  store ptr %621, ptr %7, align 8
  %622 = extractvalue { ptr, i32 } %620, 1
  store i32 %622, ptr %8, align 4
  call void @_ZdlPvm(ptr noundef %375, i64 noundef 32) #14
  br label %627

623:                                              ; preds = %385, %383
  %624 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %625 = extractvalue { ptr, i32 } %624, 0
  store ptr %625, ptr %7, align 8
  %626 = extractvalue { ptr, i32 } %624, 1
  store i32 %626, ptr %8, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %38) #11
  br label %627

627:                                              ; preds = %623, %619, %615
  call void @llvm.lifetime.end.p0(i64 8, ptr %38) #11
  br label %1094

628:                                              ; preds = %396, %388
  %629 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %630 = extractvalue { ptr, i32 } %629, 0
  store ptr %630, ptr %7, align 8
  %631 = extractvalue { ptr, i32 } %629, 1
  store i32 %631, ptr %8, align 4
  br label %640

632:                                              ; preds = %395, %393, %390
  %633 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %634 = extractvalue { ptr, i32 } %633, 0
  store ptr %634, ptr %7, align 8
  %635 = extractvalue { ptr, i32 } %633, 1
  store i32 %635, ptr %8, align 4
  call void @_ZdlPvm(ptr noundef %389, i64 noundef 32) #14
  br label %640

636:                                              ; preds = %399, %397
  %637 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %638 = extractvalue { ptr, i32 } %637, 0
  store ptr %638, ptr %7, align 8
  %639 = extractvalue { ptr, i32 } %637, 1
  store i32 %639, ptr %8, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %39) #11
  br label %640

640:                                              ; preds = %636, %632, %628
  call void @llvm.lifetime.end.p0(i64 8, ptr %39) #11
  br label %1094

641:                                              ; preds = %410, %402
  %642 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %643 = extractvalue { ptr, i32 } %642, 0
  store ptr %643, ptr %7, align 8
  %644 = extractvalue { ptr, i32 } %642, 1
  store i32 %644, ptr %8, align 4
  br label %653

645:                                              ; preds = %409, %407, %404
  %646 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %647 = extractvalue { ptr, i32 } %646, 0
  store ptr %647, ptr %7, align 8
  %648 = extractvalue { ptr, i32 } %646, 1
  store i32 %648, ptr %8, align 4
  call void @_ZdlPvm(ptr noundef %403, i64 noundef 32) #14
  br label %653

649:                                              ; preds = %413, %411
  %650 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %651 = extractvalue { ptr, i32 } %650, 0
  store ptr %651, ptr %7, align 8
  %652 = extractvalue { ptr, i32 } %650, 1
  store i32 %652, ptr %8, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %40) #11
  br label %653

653:                                              ; preds = %649, %645, %641
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #11
  br label %1094

654:                                              ; preds = %424, %416
  %655 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %656 = extractvalue { ptr, i32 } %655, 0
  store ptr %656, ptr %7, align 8
  %657 = extractvalue { ptr, i32 } %655, 1
  store i32 %657, ptr %8, align 4
  br label %666

658:                                              ; preds = %423, %421, %418
  %659 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %660 = extractvalue { ptr, i32 } %659, 0
  store ptr %660, ptr %7, align 8
  %661 = extractvalue { ptr, i32 } %659, 1
  store i32 %661, ptr %8, align 4
  call void @_ZdlPvm(ptr noundef %417, i64 noundef 32) #14
  br label %666

662:                                              ; preds = %427, %425
  %663 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %664 = extractvalue { ptr, i32 } %663, 0
  store ptr %664, ptr %7, align 8
  %665 = extractvalue { ptr, i32 } %663, 1
  store i32 %665, ptr %8, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %41) #11
  br label %666

666:                                              ; preds = %662, %658, %654
  call void @llvm.lifetime.end.p0(i64 8, ptr %41) #11
  br label %1094

667:                                              ; preds = %438, %430
  %668 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %669 = extractvalue { ptr, i32 } %668, 0
  store ptr %669, ptr %7, align 8
  %670 = extractvalue { ptr, i32 } %668, 1
  store i32 %670, ptr %8, align 4
  br label %679

671:                                              ; preds = %437, %435, %432
  %672 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %673 = extractvalue { ptr, i32 } %672, 0
  store ptr %673, ptr %7, align 8
  %674 = extractvalue { ptr, i32 } %672, 1
  store i32 %674, ptr %8, align 4
  call void @_ZdlPvm(ptr noundef %431, i64 noundef 32) #14
  br label %679

675:                                              ; preds = %441, %439
  %676 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %677 = extractvalue { ptr, i32 } %676, 0
  store ptr %677, ptr %7, align 8
  %678 = extractvalue { ptr, i32 } %676, 1
  store i32 %678, ptr %8, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %42) #11
  br label %679

679:                                              ; preds = %675, %671, %667
  call void @llvm.lifetime.end.p0(i64 8, ptr %42) #11
  br label %1094

680:                                              ; preds = %452, %444
  %681 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %682 = extractvalue { ptr, i32 } %681, 0
  store ptr %682, ptr %7, align 8
  %683 = extractvalue { ptr, i32 } %681, 1
  store i32 %683, ptr %8, align 4
  br label %692

684:                                              ; preds = %451, %449, %446
  %685 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %686 = extractvalue { ptr, i32 } %685, 0
  store ptr %686, ptr %7, align 8
  %687 = extractvalue { ptr, i32 } %685, 1
  store i32 %687, ptr %8, align 4
  call void @_ZdlPvm(ptr noundef %445, i64 noundef 32) #14
  br label %692

688:                                              ; preds = %455, %453
  %689 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %690 = extractvalue { ptr, i32 } %689, 0
  store ptr %690, ptr %7, align 8
  %691 = extractvalue { ptr, i32 } %689, 1
  store i32 %691, ptr %8, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %43) #11
  br label %692

692:                                              ; preds = %688, %684, %680
  call void @llvm.lifetime.end.p0(i64 8, ptr %43) #11
  br label %1094

693:                                              ; preds = %286
  %694 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %9)
          to label %695 unwind label %193

695:                                              ; preds = %693
  %696 = getelementptr inbounds %class.PkiItem, ptr %694, i32 0, i32 5
  %697 = invoke noundef ptr @_ZNK6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %696)
          to label %698 unwind label %193

698:                                              ; preds = %695
  %699 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %697) #11
  %700 = call i32 @strcmp(ptr noundef %699, ptr noundef @.str.27) #15
  %701 = icmp eq i32 %700, 0
  br i1 %701, label %702, label %927

702:                                              ; preds = %698
  call void @llvm.lifetime.start.p0(i64 8, ptr %44) #11
  %703 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 32) #12
          to label %704 unwind label %823

704:                                              ; preds = %702
  %705 = load i32, ptr %25, align 4, !tbaa !13
  %706 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEi(ptr noundef nonnull align 8 dereferenceable(40) %24, i32 noundef %705)
          to label %707 unwind label %827

707:                                              ; preds = %704
  %708 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEPKc(ptr noundef nonnull align 8 dereferenceable(40) %706, ptr noundef @.str.17)
          to label %709 unwind label %827

709:                                              ; preds = %707
  invoke void @_ZNK4Json5Value8asStringB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %703, ptr noundef nonnull align 8 dereferenceable(40) %708)
          to label %710 unwind label %827

710:                                              ; preds = %709
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %44, ptr noundef %703)
          to label %711 unwind label %823

711:                                              ; preds = %710
  %712 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %9)
          to label %713 unwind label %831

713:                                              ; preds = %711
  %714 = getelementptr inbounds i8, ptr %712, i64 112
  %715 = getelementptr inbounds %class.IPkiCrl, ptr %714, i32 0, i32 1
  %716 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %715, ptr noundef nonnull align 8 dereferenceable(8) %44)
          to label %717 unwind label %831

717:                                              ; preds = %713
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %44) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %44) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %45) #11
  %718 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 32) #12
          to label %719 unwind label %836

719:                                              ; preds = %717
  %720 = load i32, ptr %25, align 4, !tbaa !13
  %721 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEi(ptr noundef nonnull align 8 dereferenceable(40) %24, i32 noundef %720)
          to label %722 unwind label %840

722:                                              ; preds = %719
  %723 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEPKc(ptr noundef nonnull align 8 dereferenceable(40) %721, ptr noundef @.str.18)
          to label %724 unwind label %840

724:                                              ; preds = %722
  invoke void @_ZNK4Json5Value8asStringB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %718, ptr noundef nonnull align 8 dereferenceable(40) %723)
          to label %725 unwind label %840

725:                                              ; preds = %724
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %45, ptr noundef %718)
          to label %726 unwind label %836

726:                                              ; preds = %725
  %727 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %9)
          to label %728 unwind label %844

728:                                              ; preds = %726
  %729 = getelementptr inbounds i8, ptr %727, i64 112
  %730 = getelementptr inbounds %class.IPkiCrl, ptr %729, i32 0, i32 2
  %731 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %730, ptr noundef nonnull align 8 dereferenceable(8) %45)
          to label %732 unwind label %844

732:                                              ; preds = %728
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %45) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %46) #11
  %733 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 32) #12
          to label %734 unwind label %849

734:                                              ; preds = %732
  %735 = load i32, ptr %25, align 4, !tbaa !13
  %736 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEi(ptr noundef nonnull align 8 dereferenceable(40) %24, i32 noundef %735)
          to label %737 unwind label %853

737:                                              ; preds = %734
  %738 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEPKc(ptr noundef nonnull align 8 dereferenceable(40) %736, ptr noundef @.str.28)
          to label %739 unwind label %853

739:                                              ; preds = %737
  invoke void @_ZNK4Json5Value8asStringB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %733, ptr noundef nonnull align 8 dereferenceable(40) %738)
          to label %740 unwind label %853

740:                                              ; preds = %739
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %46, ptr noundef %733)
          to label %741 unwind label %849

741:                                              ; preds = %740
  %742 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %9)
          to label %743 unwind label %857

743:                                              ; preds = %741
  %744 = getelementptr inbounds i8, ptr %742, i64 112
  %745 = getelementptr inbounds %class.IPkiCrl, ptr %744, i32 0, i32 3
  %746 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %745, ptr noundef nonnull align 8 dereferenceable(8) %46)
          to label %747 unwind label %857

747:                                              ; preds = %743
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %46) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %47) #11
  %748 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 32) #12
          to label %749 unwind label %862

749:                                              ; preds = %747
  %750 = load i32, ptr %25, align 4, !tbaa !13
  %751 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEi(ptr noundef nonnull align 8 dereferenceable(40) %24, i32 noundef %750)
          to label %752 unwind label %866

752:                                              ; preds = %749
  %753 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEPKc(ptr noundef nonnull align 8 dereferenceable(40) %751, ptr noundef @.str.29)
          to label %754 unwind label %866

754:                                              ; preds = %752
  invoke void @_ZNK4Json5Value8asStringB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %748, ptr noundef nonnull align 8 dereferenceable(40) %753)
          to label %755 unwind label %866

755:                                              ; preds = %754
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %47, ptr noundef %748)
          to label %756 unwind label %862

756:                                              ; preds = %755
  %757 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %9)
          to label %758 unwind label %870

758:                                              ; preds = %756
  %759 = getelementptr inbounds i8, ptr %757, i64 112
  %760 = getelementptr inbounds %class.IPkiCrl, ptr %759, i32 0, i32 4
  %761 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %760, ptr noundef nonnull align 8 dereferenceable(8) %47)
          to label %762 unwind label %870

762:                                              ; preds = %758
  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
  call void @llvm.lifetime.start.p0(i64 8, ptr %48) #11
  %763 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 32) #12
          to label %764 unwind label %875

764:                                              ; preds = %762
  %765 = load i32, ptr %25, align 4, !tbaa !13
  %766 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEi(ptr noundef nonnull align 8 dereferenceable(40) %24, i32 noundef %765)
          to label %767 unwind label %879

767:                                              ; preds = %764
  %768 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEPKc(ptr noundef nonnull align 8 dereferenceable(40) %766, ptr noundef @.str.24)
          to label %769 unwind label %879

769:                                              ; preds = %767
  invoke void @_ZNK4Json5Value8asStringB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %763, ptr noundef nonnull align 8 dereferenceable(40) %768)
          to label %770 unwind label %879

770:                                              ; preds = %769
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %48, ptr noundef %763)
          to label %771 unwind label %875

771:                                              ; preds = %770
  %772 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %9)
          to label %773 unwind label %883

773:                                              ; preds = %771
  %774 = getelementptr inbounds i8, ptr %772, i64 112
  %775 = getelementptr inbounds %class.IPkiCrl, ptr %774, i32 0, i32 5
  %776 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %775, ptr noundef nonnull align 8 dereferenceable(8) %48)
          to label %777 unwind label %883

777:                                              ; preds = %773
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %48) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %48) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %49) #11
  %778 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 32) #12
          to label %779 unwind label %888

779:                                              ; preds = %777
  %780 = load i32, ptr %25, align 4, !tbaa !13
  %781 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEi(ptr noundef nonnull align 8 dereferenceable(40) %24, i32 noundef %780)
          to label %782 unwind label %892

782:                                              ; preds = %779
  %783 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEPKc(ptr noundef nonnull align 8 dereferenceable(40) %781, ptr noundef @.str.25)
          to label %784 unwind label %892

784:                                              ; preds = %782
  invoke void @_ZNK4Json5Value8asStringB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %778, ptr noundef nonnull align 8 dereferenceable(40) %783)
          to label %785 unwind label %892

785:                                              ; preds = %784
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %49, ptr noundef %778)
          to label %786 unwind label %888

786:                                              ; preds = %785
  %787 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %9)
          to label %788 unwind label %896

788:                                              ; preds = %786
  %789 = getelementptr inbounds i8, ptr %787, i64 112
  %790 = getelementptr inbounds %class.IPkiCrl, ptr %789, i32 0, i32 6
  %791 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %790, ptr noundef nonnull align 8 dereferenceable(8) %49)
          to label %792 unwind label %896

792:                                              ; preds = %788
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %49) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %49) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %50) #11
  %793 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 32) #12
          to label %794 unwind label %901

794:                                              ; preds = %792
  %795 = load i32, ptr %25, align 4, !tbaa !13
  %796 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEi(ptr noundef nonnull align 8 dereferenceable(40) %24, i32 noundef %795)
          to label %797 unwind label %905

797:                                              ; preds = %794
  %798 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEPKc(ptr noundef nonnull align 8 dereferenceable(40) %796, ptr noundef @.str.30)
          to label %799 unwind label %905

799:                                              ; preds = %797
  invoke void @_ZNK4Json5Value8asStringB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %793, ptr noundef nonnull align 8 dereferenceable(40) %798)
          to label %800 unwind label %905

800:                                              ; preds = %799
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %50, ptr noundef %793)
          to label %801 unwind label %901

801:                                              ; preds = %800
  %802 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %9)
          to label %803 unwind label %909

803:                                              ; preds = %801
  %804 = getelementptr inbounds i8, ptr %802, i64 112
  %805 = getelementptr inbounds %class.IPkiCrl, ptr %804, i32 0, i32 7
  %806 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %805, ptr noundef nonnull align 8 dereferenceable(8) %50)
          to label %807 unwind label %909

807:                                              ; preds = %803
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %50) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %50) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %51) #11
  %808 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 32) #12
          to label %809 unwind label %914

809:                                              ; preds = %807
  %810 = load i32, ptr %25, align 4, !tbaa !13
  %811 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEi(ptr noundef nonnull align 8 dereferenceable(40) %24, i32 noundef %810)
          to label %812 unwind label %918

812:                                              ; preds = %809
  %813 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEPKc(ptr noundef nonnull align 8 dereferenceable(40) %811, ptr noundef @.str.31)
          to label %814 unwind label %918

814:                                              ; preds = %812
  invoke void @_ZNK4Json5Value8asStringB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %808, ptr noundef nonnull align 8 dereferenceable(40) %813)
          to label %815 unwind label %918

815:                                              ; preds = %814
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %51, ptr noundef %808)
          to label %816 unwind label %914

816:                                              ; preds = %815
  %817 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %9)
          to label %818 unwind label %922

818:                                              ; preds = %816
  %819 = getelementptr inbounds i8, ptr %817, i64 112
  %820 = getelementptr inbounds %class.IPkiCrl, ptr %819, i32 0, i32 8
  %821 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %820, ptr noundef nonnull align 8 dereferenceable(8) %51)
          to label %822 unwind label %922

822:                                              ; preds = %818
  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 %1081

823:                                              ; preds = %710, %702
  %824 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %825 = extractvalue { ptr, i32 } %824, 0
  store ptr %825, ptr %7, align 8
  %826 = extractvalue { ptr, i32 } %824, 1
  store i32 %826, ptr %8, align 4
  br label %835

827:                                              ; preds = %709, %707, %704
  %828 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %829 = extractvalue { ptr, i32 } %828, 0
  store ptr %829, ptr %7, align 8
  %830 = extractvalue { ptr, i32 } %828, 1
  store i32 %830, ptr %8, align 4
  call void @_ZdlPvm(ptr noundef %703, i64 noundef 32) #14
  br label %835

831:                                              ; preds = %713, %711
  %832 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %833 = extractvalue { ptr, i32 } %832, 0
  store ptr %833, ptr %7, align 8
  %834 = extractvalue { ptr, i32 } %832, 1
  store i32 %834, ptr %8, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %44) #11
  br label %835

835:                                              ; preds = %831, %827, %823
  call void @llvm.lifetime.end.p0(i64 8, ptr %44) #11
  br label %1094

836:                                              ; preds = %725, %717
  %837 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %838 = extractvalue { ptr, i32 } %837, 0
  store ptr %838, ptr %7, align 8
  %839 = extractvalue { ptr, i32 } %837, 1
  store i32 %839, ptr %8, align 4
  br label %848

840:                                              ; preds = %724, %722, %719
  %841 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %842 = extractvalue { ptr, i32 } %841, 0
  store ptr %842, ptr %7, align 8
  %843 = extractvalue { ptr, i32 } %841, 1
  store i32 %843, ptr %8, align 4
  call void @_ZdlPvm(ptr noundef %718, i64 noundef 32) #14
  br label %848

844:                                              ; preds = %728, %726
  %845 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %846 = extractvalue { ptr, i32 } %845, 0
  store ptr %846, ptr %7, align 8
  %847 = extractvalue { ptr, i32 } %845, 1
  store i32 %847, ptr %8, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %45) #11
  br label %848

848:                                              ; preds = %844, %840, %836
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #11
  br label %1094

849:                                              ; preds = %740, %732
  %850 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %851 = extractvalue { ptr, i32 } %850, 0
  store ptr %851, ptr %7, align 8
  %852 = extractvalue { ptr, i32 } %850, 1
  store i32 %852, ptr %8, align 4
  br label %861

853:                                              ; preds = %739, %737, %734
  %854 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %855 = extractvalue { ptr, i32 } %854, 0
  store ptr %855, ptr %7, align 8
  %856 = extractvalue { ptr, i32 } %854, 1
  store i32 %856, ptr %8, align 4
  call void @_ZdlPvm(ptr noundef %733, i64 noundef 32) #14
  br label %861

857:                                              ; preds = %743, %741
  %858 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %859 = extractvalue { ptr, i32 } %858, 0
  store ptr %859, ptr %7, align 8
  %860 = extractvalue { ptr, i32 } %858, 1
  store i32 %860, ptr %8, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %46) #11
  br label %861

861:                                              ; preds = %857, %853, %849
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #11
  br label %1094

862:                                              ; preds = %755, %747
  %863 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %864 = extractvalue { ptr, i32 } %863, 0
  store ptr %864, ptr %7, align 8
  %865 = extractvalue { ptr, i32 } %863, 1
  store i32 %865, ptr %8, align 4
  br label %874

866:                                              ; preds = %754, %752, %749
  %867 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %868 = extractvalue { ptr, i32 } %867, 0
  store ptr %868, ptr %7, align 8
  %869 = extractvalue { ptr, i32 } %867, 1
  store i32 %869, ptr %8, align 4
  call void @_ZdlPvm(ptr noundef %748, i64 noundef 32) #14
  br label %874

870:                                              ; preds = %758, %756
  %871 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %872 = extractvalue { ptr, i32 } %871, 0
  store ptr %872, ptr %7, align 8
  %873 = extractvalue { ptr, i32 } %871, 1
  store i32 %873, ptr %8, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %47) #11
  br label %874

874:                                              ; preds = %870, %866, %862
  call void @llvm.lifetime.end.p0(i64 8, ptr %47) #11
  br label %1094

875:                                              ; preds = %770, %762
  %876 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %877 = extractvalue { ptr, i32 } %876, 0
  store ptr %877, ptr %7, align 8
  %878 = extractvalue { ptr, i32 } %876, 1
  store i32 %878, ptr %8, align 4
  br label %887

879:                                              ; preds = %769, %767, %764
  %880 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %881 = extractvalue { ptr, i32 } %880, 0
  store ptr %881, ptr %7, align 8
  %882 = extractvalue { ptr, i32 } %880, 1
  store i32 %882, ptr %8, align 4
  call void @_ZdlPvm(ptr noundef %763, i64 noundef 32) #14
  br label %887

883:                                              ; preds = %773, %771
  %884 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %885 = extractvalue { ptr, i32 } %884, 0
  store ptr %885, ptr %7, align 8
  %886 = extractvalue { ptr, i32 } %884, 1
  store i32 %886, ptr %8, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %48) #11
  br label %887

887:                                              ; preds = %883, %879, %875
  call void @llvm.lifetime.end.p0(i64 8, ptr %48) #11
  br label %1094

888:                                              ; preds = %785, %777
  %889 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %890 = extractvalue { ptr, i32 } %889, 0
  store ptr %890, ptr %7, align 8
  %891 = extractvalue { ptr, i32 } %889, 1
  store i32 %891, ptr %8, align 4
  br label %900

892:                                              ; preds = %784, %782, %779
  %893 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %894 = extractvalue { ptr, i32 } %893, 0
  store ptr %894, ptr %7, align 8
  %895 = extractvalue { ptr, i32 } %893, 1
  store i32 %895, ptr %8, align 4
  call void @_ZdlPvm(ptr noundef %778, i64 noundef 32) #14
  br label %900

896:                                              ; preds = %788, %786
  %897 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %898 = extractvalue { ptr, i32 } %897, 0
  store ptr %898, ptr %7, align 8
  %899 = extractvalue { ptr, i32 } %897, 1
  store i32 %899, ptr %8, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %49) #11
  br label %900

900:                                              ; preds = %896, %892, %888
  call void @llvm.lifetime.end.p0(i64 8, ptr %49) #11
  br label %1094

901:                                              ; preds = %800, %792
  %902 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %903 = extractvalue { ptr, i32 } %902, 0
  store ptr %903, ptr %7, align 8
  %904 = extractvalue { ptr, i32 } %902, 1
  store i32 %904, ptr %8, align 4
  br label %913

905:                                              ; preds = %799, %797, %794
  %906 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %907 = extractvalue { ptr, i32 } %906, 0
  store ptr %907, ptr %7, align 8
  %908 = extractvalue { ptr, i32 } %906, 1
  store i32 %908, ptr %8, align 4
  call void @_ZdlPvm(ptr noundef %793, i64 noundef 32) #14
  br label %913

909:                                              ; preds = %803, %801
  %910 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %911 = extractvalue { ptr, i32 } %910, 0
  store ptr %911, ptr %7, align 8
  %912 = extractvalue { ptr, i32 } %910, 1
  store i32 %912, ptr %8, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %50) #11
  br label %913

913:                                              ; preds = %909, %905, %901
  call void @llvm.lifetime.end.p0(i64 8, ptr %50) #11
  br label %1094

914:                                              ; preds = %815, %807
  %915 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %916 = extractvalue { ptr, i32 } %915, 0
  store ptr %916, ptr %7, align 8
  %917 = extractvalue { ptr, i32 } %915, 1
  store i32 %917, ptr %8, align 4
  br label %926

918:                                              ; preds = %814, %812, %809
  %919 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %920 = extractvalue { ptr, i32 } %919, 0
  store ptr %920, ptr %7, align 8
  %921 = extractvalue { ptr, i32 } %919, 1
  store i32 %921, ptr %8, align 4
  call void @_ZdlPvm(ptr noundef %808, i64 noundef 32) #14
  br label %926

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

926:                                              ; preds = %922, %918, %914
  call void @llvm.lifetime.end.p0(i64 8, ptr %51) #11
  br label %1094

927:                                              ; preds = %698
  %928 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %9)
          to label %929 unwind label %193

929:                                              ; preds = %927
  %930 = getelementptr inbounds %class.PkiItem, ptr %928, i32 0, i32 5
  %931 = invoke noundef ptr @_ZNK6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %930)
          to label %932 unwind label %193

932:                                              ; preds = %929
  %933 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %931) #11
  %934 = call i32 @strcmp(ptr noundef %933, ptr noundef @.str.32) #15
  %935 = icmp eq i32 %934, 0
  br i1 %935, label %936, label %1021

936:                                              ; preds = %932
  call void @llvm.lifetime.start.p0(i64 8, ptr %52) #11
  %937 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 32) #12
          to label %938 unwind label %982

938:                                              ; preds = %936
  %939 = load i32, ptr %25, align 4, !tbaa !13
  %940 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEi(ptr noundef nonnull align 8 dereferenceable(40) %24, i32 noundef %939)
          to label %941 unwind label %986

941:                                              ; preds = %938
  %942 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEPKc(ptr noundef nonnull align 8 dereferenceable(40) %940, ptr noundef @.str.15)
          to label %943 unwind label %986

943:                                              ; preds = %941
  invoke void @_ZNK4Json5Value8asStringB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %937, ptr noundef nonnull align 8 dereferenceable(40) %942)
          to label %944 unwind label %986

944:                                              ; preds = %943
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %52, ptr noundef %937)
          to label %945 unwind label %982

945:                                              ; preds = %944
  %946 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %9)
          to label %947 unwind label %990

947:                                              ; preds = %945
  %948 = getelementptr inbounds i8, ptr %946, i64 216
  %949 = getelementptr inbounds %class.IPkiRequest, ptr %948, i32 0, i32 1
  %950 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %949, ptr noundef nonnull align 8 dereferenceable(8) %52)
          to label %951 unwind label %990

951:                                              ; preds = %947
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %52) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %52) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %53) #11
  %952 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 32) #12
          to label %953 unwind label %995

953:                                              ; preds = %951
  %954 = load i32, ptr %25, align 4, !tbaa !13
  %955 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEi(ptr noundef nonnull align 8 dereferenceable(40) %24, i32 noundef %954)
          to label %956 unwind label %999

956:                                              ; preds = %953
  %957 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEPKc(ptr noundef nonnull align 8 dereferenceable(40) %955, ptr noundef @.str.16)
          to label %958 unwind label %999

958:                                              ; preds = %956
  invoke void @_ZNK4Json5Value8asStringB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %952, ptr noundef nonnull align 8 dereferenceable(40) %957)
          to label %959 unwind label %999

959:                                              ; preds = %958
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %53, ptr noundef %952)
          to label %960 unwind label %995

960:                                              ; preds = %959
  %961 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %9)
          to label %962 unwind label %1003

962:                                              ; preds = %960
  %963 = getelementptr inbounds i8, ptr %961, i64 216
  %964 = getelementptr inbounds %class.IPkiRequest, ptr %963, i32 0, i32 2
  %965 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %964, ptr noundef nonnull align 8 dereferenceable(8) %53)
          to label %966 unwind label %1003

966:                                              ; preds = %962
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %53) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %53) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %54) #11
  %967 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 32) #12
          to label %968 unwind label %1008

968:                                              ; preds = %966
  %969 = load i32, ptr %25, align 4, !tbaa !13
  %970 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEi(ptr noundef nonnull align 8 dereferenceable(40) %24, i32 noundef %969)
          to label %971 unwind label %1012

971:                                              ; preds = %968
  %972 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEPKc(ptr noundef nonnull align 8 dereferenceable(40) %970, ptr noundef @.str.22)
          to label %973 unwind label %1012

973:                                              ; preds = %971
  invoke void @_ZNK4Json5Value8asStringB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %967, ptr noundef nonnull align 8 dereferenceable(40) %972)
          to label %974 unwind label %1012

974:                                              ; preds = %973
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %54, ptr noundef %967)
          to label %975 unwind label %1008

975:                                              ; preds = %974
  %976 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %9)
          to label %977 unwind label %1016

977:                                              ; preds = %975
  %978 = getelementptr inbounds i8, ptr %976, i64 216
  %979 = getelementptr inbounds %class.IPkiRequest, ptr %978, i32 0, i32 3
  %980 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %979, ptr noundef nonnull align 8 dereferenceable(8) %54)
          to label %981 unwind label %1016

981:                                              ; preds = %977
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %54) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %54) #11
  br label %1080

982:                                              ; preds = %944, %936
  %983 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %984 = extractvalue { ptr, i32 } %983, 0
  store ptr %984, ptr %7, align 8
  %985 = extractvalue { ptr, i32 } %983, 1
  store i32 %985, ptr %8, align 4
  br label %994

986:                                              ; preds = %943, %941, %938
  %987 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %988 = extractvalue { ptr, i32 } %987, 0
  store ptr %988, ptr %7, align 8
  %989 = extractvalue { ptr, i32 } %987, 1
  store i32 %989, ptr %8, align 4
  call void @_ZdlPvm(ptr noundef %937, i64 noundef 32) #14
  br label %994

990:                                              ; preds = %947, %945
  %991 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %992 = extractvalue { ptr, i32 } %991, 0
  store ptr %992, ptr %7, align 8
  %993 = extractvalue { ptr, i32 } %991, 1
  store i32 %993, ptr %8, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %52) #11
  br label %994

994:                                              ; preds = %990, %986, %982
  call void @llvm.lifetime.end.p0(i64 8, ptr %52) #11
  br label %1094

995:                                              ; preds = %959, %951
  %996 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %997 = extractvalue { ptr, i32 } %996, 0
  store ptr %997, ptr %7, align 8
  %998 = extractvalue { ptr, i32 } %996, 1
  store i32 %998, ptr %8, align 4
  br label %1007

999:                                              ; preds = %958, %956, %953
  %1000 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1001 = extractvalue { ptr, i32 } %1000, 0
  store ptr %1001, ptr %7, align 8
  %1002 = extractvalue { ptr, i32 } %1000, 1
  store i32 %1002, ptr %8, align 4
  call void @_ZdlPvm(ptr noundef %952, i64 noundef 32) #14
  br label %1007

1003:                                             ; preds = %962, %960
  %1004 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1005 = extractvalue { ptr, i32 } %1004, 0
  store ptr %1005, ptr %7, align 8
  %1006 = extractvalue { ptr, i32 } %1004, 1
  store i32 %1006, ptr %8, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %53) #11
  br label %1007

1007:                                             ; preds = %1003, %999, %995
  call void @llvm.lifetime.end.p0(i64 8, ptr %53) #11
  br label %1094

1008:                                             ; preds = %974, %966
  %1009 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1010 = extractvalue { ptr, i32 } %1009, 0
  store ptr %1010, ptr %7, align 8
  %1011 = extractvalue { ptr, i32 } %1009, 1
  store i32 %1011, ptr %8, align 4
  br label %1020

1012:                                             ; preds = %973, %971, %968
  %1013 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1014 = extractvalue { ptr, i32 } %1013, 0
  store ptr %1014, ptr %7, align 8
  %1015 = extractvalue { ptr, i32 } %1013, 1
  store i32 %1015, ptr %8, align 4
  call void @_ZdlPvm(ptr noundef %967, i64 noundef 32) #14
  br label %1020

1016:                                             ; preds = %977, %975
  %1017 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1018 = extractvalue { ptr, i32 } %1017, 0
  store ptr %1018, ptr %7, align 8
  %1019 = extractvalue { ptr, i32 } %1017, 1
  store i32 %1019, ptr %8, align 4
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %54) #11
  br label %1020

1020:                                             ; preds = %1016, %1012, %1008
  call void @llvm.lifetime.end.p0(i64 8, ptr %54) #11
  br label %1094

1021:                                             ; preds = %932
  %1022 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %9)
          to label %1023 unwind label %193

1023:                                             ; preds = %1021
  %1024 = getelementptr inbounds %class.PkiItem, ptr %1022, i32 0, i32 5
  %1025 = invoke noundef ptr @_ZNK6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1024)
          to label %1026 unwind label %193

1026:                                             ; preds = %1023
  %1027 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %1025) #11
  %1028 = call i32 @strcmp(ptr noundef %1027, ptr noundef @.str.33) #15
  %1029 = icmp eq i32 %1028, 0
  br i1 %1029, label %1030, label %1043

1030:                                             ; preds = %1026
  %1031 = load i32, ptr %25, align 4, !tbaa !13
  %1032 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEi(ptr noundef nonnull align 8 dereferenceable(40) %24, i32 noundef %1031)
          to label %1033 unwind label %193

1033:                                             ; preds = %1030
  %1034 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEPKc(ptr noundef nonnull align 8 dereferenceable(40) %1032, ptr noundef @.str.34)
          to label %1035 unwind label %193

1035:                                             ; preds = %1033
  %1036 = invoke noundef zeroext i1 @_ZNK4Json5Value6asBoolEv(ptr noundef nonnull align 8 dereferenceable(40) %1034)
          to label %1037 unwind label %193

1037:                                             ; preds = %1035
  %1038 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %9)
          to label %1039 unwind label %193

1039:                                             ; preds = %1037
  %1040 = getelementptr inbounds i8, ptr %1038, i64 192
  %1041 = getelementptr inbounds %class.IPkiKey, ptr %1040, i32 0, i32 1
  %1042 = zext i1 %1036 to i8
  store i8 %1042, ptr %1041, align 8, !tbaa !15
  br label %1079

1043:                                             ; preds = %1026
  %1044 = load ptr, ptr @logger, align 8, !tbaa !5
  invoke void (ptr, ptr, ptr, ...) @_ZN6Logger5errorEPKcS1_z(ptr noundef nonnull align 8 dereferenceable(24) %1044, ptr noundef @__FUNCTION__._ZN8CashJson10exportJsonEv, ptr noundef @.str.35)
          to label %1045 unwind label %193

1045:                                             ; preds = %1043
  call void @llvm.lifetime.start.p0(i64 8, ptr %55) #11
  %1046 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 176) #12
          to label %1047 unwind label %1053

1047:                                             ; preds = %1045
  store i1 true, ptr %57, align 1
  invoke void @_ZN6HandleI9ExceptionEC2EPS0_(ptr noundef nonnull align 8 dereferenceable(8) %56, ptr noundef null)
          to label %1048 unwind label %1057

1048:                                             ; preds = %1047
  invoke void (ptr, i1, ptr, i32, i32, ptr, ptr, ptr, ptr, ...) @_ZN9ExceptionC1EbPKciiS1_S1_6HandleIS_ES1_z(ptr noundef nonnull align 8 dereferenceable(176) %1046, i1 noundef zeroext false, ptr noundef @.str.2, i32 noundef 103, i32 noundef 0, ptr noundef @__FUNCTION__._ZN8CashJsonC2E6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE, ptr noundef @__FUNCTION__._ZN8CashJson10exportJsonEv, ptr noundef %56, ptr noundef @.str.35)
          to label %1049 unwind label %1061

1049:                                             ; preds = %1048
  store i1 false, ptr %57, align 1
  invoke void @_ZN6HandleI9ExceptionEC2EPS0_(ptr noundef nonnull align 8 dereferenceable(8) %55, ptr noundef %1046)
          to label %1050 unwind label %1061

1050:                                             ; preds = %1049
  call void @_ZN6HandleI9ExceptionED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %56) #11
  %1051 = call ptr @__cxa_allocate_exception(i64 8) #11
  invoke void @_ZN6HandleI9ExceptionEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(8) %1051, ptr noundef nonnull align 8 dereferenceable(8) %55)
          to label %1052 unwind label %1069

1052:                                             ; preds = %1050
  invoke void @__cxa_throw(ptr %1051, ptr @_ZTI6HandleI9ExceptionE, ptr @_ZN6HandleI9ExceptionED2Ev) #13
          to label %1183 unwind label %1073

1053:                                             ; preds = %1045
  %1054 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1055 = extractvalue { ptr, i32 } %1054, 0
  store ptr %1055, ptr %7, align 8
  %1056 = extractvalue { ptr, i32 } %1054, 1
  store i32 %1056, ptr %8, align 4
  br label %1078

1057:                                             ; preds = %1047
  %1058 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1059 = extractvalue { ptr, i32 } %1058, 0
  store ptr %1059, ptr %7, align 8
  %1060 = extractvalue { ptr, i32 } %1058, 1
  store i32 %1060, ptr %8, align 4
  br label %1065

1061:                                             ; preds = %1049, %1048
  %1062 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1063 = extractvalue { ptr, i32 } %1062, 0
  store ptr %1063, ptr %7, align 8
  %1064 = extractvalue { ptr, i32 } %1062, 1
  store i32 %1064, ptr %8, align 4
  call void @_ZN6HandleI9ExceptionED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %56) #11
  br label %1065

1065:                                             ; preds = %1061, %1057
  %1066 = load i1, ptr %57, align 1
  br i1 %1066, label %1067, label %1068

1067:                                             ; preds = %1065
  call void @_ZdlPvm(ptr noundef %1046, i64 noundef 176) #14
  br label %1068

1068:                                             ; preds = %1067, %1065
  br label %1078

1069:                                             ; preds = %1050
  %1070 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1071 = extractvalue { ptr, i32 } %1070, 0
  store ptr %1071, ptr %7, align 8
  %1072 = extractvalue { ptr, i32 } %1070, 1
  store i32 %1072, ptr %8, align 4
  call void @__cxa_free_exception(ptr %1051) #11
  br label %1077

1073:                                             ; preds = %1052
  %1074 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1075 = extractvalue { ptr, i32 } %1074, 0
  store ptr %1075, ptr %7, align 8
  %1076 = extractvalue { ptr, i32 } %1074, 1
  store i32 %1076, ptr %8, align 4
  br label %1077

1077:                                             ; preds = %1073, %1069
  call void @_ZN6HandleI9ExceptionED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %55) #11
  br label %1078

1078:                                             ; preds = %1077, %1068, %1053
  call void @llvm.lifetime.end.p0(i64 8, ptr %55) #11
  br label %1094

1079:                                             ; preds = %1039
  br label %1080

1080:                                             ; preds = %1079, %981
  br label %1081

1081:                                             ; preds = %1080, %822
  br label %1082

1082:                                             ; preds = %1081, %458
  %1083 = invoke noundef ptr @_ZNK6HandleI17PkiItemCollectionEptEv(ptr noundef nonnull align 8 dereferenceable(8) %0)
          to label %1084 unwind label %193

1084:                                             ; preds = %1082
  invoke void @_ZN6HandleI7PkiItemEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(8) %58, ptr noundef nonnull align 8 dereferenceable(8) %9)
          to label %1085 unwind label %193

1085:                                             ; preds = %1084
  invoke void @_ZN17PkiItemCollection4pushE6HandleI7PkiItemE(ptr noundef nonnull align 8 dereferenceable(24) %1083, ptr noundef %58)
          to label %1086 unwind label %1090

1086:                                             ; preds = %1085
  call void @_ZN6HandleI7PkiItemED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %58) #11
  br label %1087

1087:                                             ; preds = %1086
  %1088 = load i32, ptr %25, align 4, !tbaa !13
  %1089 = add nsw i32 %1088, 1
  store i32 %1089, ptr %25, align 4, !tbaa !13
  br label %183, !llvm.loop !18

1090:                                             ; preds = %1085
  %1091 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  %1092 = extractvalue { ptr, i32 } %1091, 0
  store ptr %1092, ptr %7, align 8
  %1093 = extractvalue { ptr, i32 } %1091, 1
  store i32 %1093, ptr %8, align 4
  call void @_ZN6HandleI7PkiItemED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %58) #11
  br label %1094

1094:                                             ; preds = %1090, %1078, %1020, %1007, %994, %926, %913, %900, %887, %874, %861, %848, %835, %692, %679, %666, %653, %640, %627, %614, %601, %588, %575, %562, %549, %536, %523, %510, %497, %484, %471, %193
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #11
  call void @_ZN4Json5ValueD1Ev(ptr noundef nonnull align 8 dereferenceable(40) %24) #11
  br label %1099

1095:                                             ; preds = %188
  call void @_ZN4Json5ValueD1Ev(ptr noundef nonnull align 8 dereferenceable(40) %24) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr %24) #11
  br label %1096

1096:                                             ; preds = %1095
  %1097 = load i32, ptr %21, align 4, !tbaa !13
  %1098 = add nsw i32 %1097, 1
  store i32 %1098, ptr %21, align 4, !tbaa !13
  br label %155, !llvm.loop !20

1099:                                             ; preds = %1094, %189
  call void @llvm.lifetime.end.p0(i64 40, ptr %24) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #11
  %1100 = getelementptr inbounds [1 x %"class.std::__cxx11::basic_string"], ptr %17, i32 0, i32 0
  %1101 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1100, i64 1
  br label %1111

1102:                                             ; preds = %159
  store i1 true, ptr %6, align 1
  store i32 1, ptr %23, align 4
  %1103 = getelementptr inbounds [1 x %"class.std::__cxx11::basic_string"], ptr %17, i32 0, i32 0
  %1104 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1103, i64 1
  br label %1105

1105:                                             ; preds = %1105, %1102
  %1106 = phi ptr [ %1104, %1102 ], [ %1107, %1105 ]
  %1107 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1106, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1107) #11
  %1108 = icmp eq ptr %1107, %1103
  br i1 %1108, label %1109, label %1105

1109:                                             ; preds = %1105
  call void @llvm.lifetime.end.p0(i64 32, ptr %17) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %13) #11
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %12) #11
  call void @llvm.lifetime.end.p0(i64 520, ptr %12) #11
  call void @_ZN4Json6ReaderD2Ev(ptr noundef nonnull align 8 dereferenceable(269) %11) #11
  call void @llvm.lifetime.end.p0(i64 272, ptr %11) #11
  call void @_ZN4Json5ValueD1Ev(ptr noundef nonnull align 8 dereferenceable(40) %10) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr %10) #11
  call void @_ZN6HandleI7PkiItemED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %9) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %9) #11
  %1110 = load i1, ptr %6, align 1
  br i1 %1110, label %1140, label %1139

1111:                                             ; preds = %1111, %1099
  %1112 = phi ptr [ %1101, %1099 ], [ %1113, %1111 ]
  %1113 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1112, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1113) #11
  %1114 = icmp eq ptr %1113, %1100
  br i1 %1114, label %1115, label %1111

1115:                                             ; preds = %1111
  br label %1116

1116:                                             ; preds = %1115, %173
  call void @llvm.lifetime.end.p0(i64 32, ptr %17) #11
  br label %1117

1117:                                             ; preds = %1116, %152, %123
  call void @llvm.lifetime.end.p0(i64 1, ptr %13) #11
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %12) #11
  br label %1118

1118:                                             ; preds = %1117, %119
  call void @llvm.lifetime.end.p0(i64 520, ptr %12) #11
  call void @_ZN4Json6ReaderD2Ev(ptr noundef nonnull align 8 dereferenceable(269) %11) #11
  br label %1119

1119:                                             ; preds = %1118, %115
  call void @llvm.lifetime.end.p0(i64 272, ptr %11) #11
  call void @_ZN4Json5ValueD1Ev(ptr noundef nonnull align 8 dereferenceable(40) %10) #11
  br label %1120

1120:                                             ; preds = %1119, %111
  call void @llvm.lifetime.end.p0(i64 40, ptr %10) #11
  call void @_ZN6HandleI7PkiItemED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %9) #11
  br label %1121

1121:                                             ; preds = %1120, %107, %103
  call void @llvm.lifetime.end.p0(i64 8, ptr %9) #11
  call void @_ZN6HandleI17PkiItemCollectionED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %0) #11
  br label %1122

1122:                                             ; preds = %1121, %99, %95
  %1123 = load i32, ptr %8, align 4
  %1124 = call i32 @llvm.eh.typeid.for.p0(ptr @_ZTI6HandleI9ExceptionE) #11
  %1125 = icmp eq i32 %1123, %1124
  br i1 %1125, label %1126, label %1174

1126:                                             ; preds = %1122
  call void @llvm.lifetime.start.p0(i64 8, ptr %59) #11
  %1127 = load ptr, ptr %7, align 8
  %1128 = call ptr @__cxa_begin_catch(ptr %1127) #11
  store ptr %1128, ptr %59, align 8
  %1129 = load ptr, ptr @logger, align 8, !tbaa !5
  invoke void (ptr, ptr, ptr, ...) @_ZN6Logger5errorEPKcS1_z(ptr noundef nonnull align 8 dereferenceable(24) %1129, ptr noundef @__FUNCTION__._ZN8CashJson10exportJsonEv, ptr noundef @.str.36)
          to label %1130 unwind label %1141

1130:                                             ; preds = %1126
  call void @llvm.lifetime.start.p0(i64 8, ptr %60) #11
  %1131 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 176) #12
          to label %1132 unwind label %1145

1132:                                             ; preds = %1130
  store i1 true, ptr %62, align 1
  %1133 = load ptr, ptr %59, align 8, !tbaa !5
  invoke void @_ZN6HandleI9ExceptionEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(8) %61, ptr noundef nonnull align 8 dereferenceable(8) %1133)
          to label %1134 unwind label %1149

1134:                                             ; preds = %1132
  invoke void (ptr, i1, ptr, i32, i32, ptr, ptr, ptr, ptr, ...) @_ZN9ExceptionC1EbPKciiS1_S1_6HandleIS_ES1_z(ptr noundef nonnull align 8 dereferenceable(176) %1131, i1 noundef zeroext false, ptr noundef @.str.2, i32 noundef 113, i32 noundef 0, ptr noundef @__FUNCTION__._ZN8CashJsonC2E6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE, ptr noundef @__FUNCTION__._ZN8CashJson10exportJsonEv, ptr noundef %61, ptr noundef @.str.36)
          to label %1135 unwind label %1153

1135:                                             ; preds = %1134
  store i1 false, ptr %62, align 1
  invoke void @_ZN6HandleI9ExceptionEC2EPS0_(ptr noundef nonnull align 8 dereferenceable(8) %60, ptr noundef %1131)
          to label %1136 unwind label %1153

1136:                                             ; preds = %1135
  call void @_ZN6HandleI9ExceptionED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %61) #11
  %1137 = call ptr @__cxa_allocate_exception(i64 8) #11
  invoke void @_ZN6HandleI9ExceptionEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(8) %1137, ptr noundef nonnull align 8 dereferenceable(8) %60)
          to label %1138 unwind label %1161

1138:                                             ; preds = %1136
  invoke void @__cxa_throw(ptr %1137, ptr @_ZTI6HandleI9ExceptionE, ptr @_ZN6HandleI9ExceptionED2Ev) #13
          to label %1183 unwind label %1165

1139:                                             ; preds = %1109
  call void @_ZN6HandleI17PkiItemCollectionED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %0) #11
  br label %1140

1140:                                             ; preds = %1139, %1109
  call void @_ZN14LoggerFunctionD1Ev(ptr noundef nonnull align 8 dereferenceable(16) %5) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr %5) #11
  ret void

1141:                                             ; preds = %1126
  %1142 = landingpad { ptr, i32 }
          cleanup
  %1143 = extractvalue { ptr, i32 } %1142, 0
  store ptr %1143, ptr %7, align 8
  %1144 = extractvalue { ptr, i32 } %1142, 1
  store i32 %1144, ptr %8, align 4
  br label %1171

1145:                                             ; preds = %1130
  %1146 = landingpad { ptr, i32 }
          cleanup
  %1147 = extractvalue { ptr, i32 } %1146, 0
  store ptr %1147, ptr %7, align 8
  %1148 = extractvalue { ptr, i32 } %1146, 1
  store i32 %1148, ptr %8, align 4
  br label %1170

1149:                                             ; preds = %1132
  %1150 = landingpad { ptr, i32 }
          cleanup
  %1151 = extractvalue { ptr, i32 } %1150, 0
  store ptr %1151, ptr %7, align 8
  %1152 = extractvalue { ptr, i32 } %1150, 1
  store i32 %1152, ptr %8, align 4
  br label %1157

1153:                                             ; preds = %1135, %1134
  %1154 = landingpad { ptr, i32 }
          cleanup
  %1155 = extractvalue { ptr, i32 } %1154, 0
  store ptr %1155, ptr %7, align 8
  %1156 = extractvalue { ptr, i32 } %1154, 1
  store i32 %1156, ptr %8, align 4
  call void @_ZN6HandleI9ExceptionED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %61) #11
  br label %1157

1157:                                             ; preds = %1153, %1149
  %1158 = load i1, ptr %62, align 1
  br i1 %1158, label %1159, label %1160

1159:                                             ; preds = %1157
  call void @_ZdlPvm(ptr noundef %1131, i64 noundef 176) #14
  br label %1160

1160:                                             ; preds = %1159, %1157
  br label %1170

1161:                                             ; preds = %1136
  %1162 = landingpad { ptr, i32 }
          cleanup
  %1163 = extractvalue { ptr, i32 } %1162, 0
  store ptr %1163, ptr %7, align 8
  %1164 = extractvalue { ptr, i32 } %1162, 1
  store i32 %1164, ptr %8, align 4
  call void @__cxa_free_exception(ptr %1137) #11
  br label %1169

1165:                                             ; preds = %1138
  %1166 = landingpad { ptr, i32 }
          cleanup
  %1167 = extractvalue { ptr, i32 } %1166, 0
  store ptr %1167, ptr %7, align 8
  %1168 = extractvalue { ptr, i32 } %1166, 1
  store i32 %1168, ptr %8, align 4
  br label %1169

1169:                                             ; preds = %1165, %1161
  call void @_ZN6HandleI9ExceptionED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %60) #11
  br label %1170

1170:                                             ; preds = %1169, %1160, %1145
  call void @llvm.lifetime.end.p0(i64 8, ptr %60) #11
  br label %1171

1171:                                             ; preds = %1170, %1141
  invoke void @__cxa_end_catch()
          to label %1172 unwind label %1180

1172:                                             ; preds = %1171
  call void @llvm.lifetime.end.p0(i64 8, ptr %59) #11
  br label %1174

1173:                                             ; No predecessors!
  unreachable

1174:                                             ; preds = %1172, %1122
  call void @_ZN14LoggerFunctionD1Ev(ptr noundef nonnull align 8 dereferenceable(16) %5) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr %5) #11
  br label %1175

1175:                                             ; preds = %1174
  %1176 = load ptr, ptr %7, align 8
  %1177 = load i32, ptr %8, align 4
  %1178 = insertvalue { ptr, i32 } poison, ptr %1176, 0
  %1179 = insertvalue { ptr, i32 } %1178, i32 %1177, 1
  resume { ptr, i32 } %1179

1180:                                             ; preds = %1171
  %1181 = landingpad { ptr, i32 }
          catch ptr null
  %1182 = extractvalue { ptr, i32 } %1181, 0
  call void @__clang_call_terminate(ptr %1182) #16
  unreachable

1183:                                             ; preds = %1138, %1052, %94
  unreachable
}

declare void @_ZN17PkiItemCollectionC1Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #2

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

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

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

declare void @_ZN4Json5ValueC1ENS_9ValueTypeE(ptr noundef nonnull align 8 dereferenceable(40), i32 noundef) unnamed_addr #2

declare void @_ZN4Json6ReaderC1Ev(ptr noundef nonnull align 8 dereferenceable(269)) unnamed_addr #2

declare noundef zeroext i1 @_ZN4Json6Reader5parseERSiRNS_5ValueEb(ptr noundef nonnull align 8 dereferenceable(269), ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(40), i1 noundef zeroext) #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 #0 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 noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(40), ptr noundef nonnull align 8 dereferenceable(32)) #2

declare noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEPKc(ptr noundef nonnull align 8 dereferenceable(40), ptr noundef) #2

declare void @_ZN4Json5ValueC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(40), ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #2

declare noundef i32 @_ZNK4Json5Value4sizeEv(ptr noundef nonnull align 8 dereferenceable(40)) #2

declare noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEi(ptr noundef nonnull align 8 dereferenceable(40), i32 noundef) #2

declare void @_ZNK4Json5Value8asStringB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(40)) #2

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

; Function Attrs: nounwind willreturn memory(read)
declare i32 @strcmp(ptr noundef, ptr noundef) #9

declare noundef zeroext i1 @_ZNK4Json5Value6asBoolEv(ptr noundef nonnull align 8 dereferenceable(40)) #2

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

declare void @_ZN17PkiItemCollection4pushE6HandleI7PkiItemE(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef) #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

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

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN4Json6ReaderD2Ev(ptr noundef nonnull align 8 dereferenceable(269)) unnamed_addr #10 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN6HandleI17PkiItemCollectionED2Ev(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 uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #2 = { "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 = { 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 #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 = { inlinehint 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 #11 = { nounwind }
attributes #12 = { builtin allocsize(0) }
attributes #13 = { noreturn }
attributes #14 = { builtin nounwind }
attributes #15 = { nounwind willreturn memory(read) }
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 = !{i8 0, i8 2}
!12 = !{}
!13 = !{!14, !14, i64 0}
!14 = !{!"int", !7, i64 0}
!15 = !{!16, !10, i64 8}
!16 = !{!"_ZTS7IPkiKey", !10, i64 8, !17, i64 16}
!17 = !{!"_ZTS6HandleI3KeyE", !6, i64 0}
!18 = distinct !{!18, !19}
!19 = !{!"llvm.loop.mustprogress"}
!20 = distinct !{!20, !19}


; 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.2 = type { ptr }
%class.LoggerFunction = type { %class.Handle, ptr }
%class.Handle = type { ptr }
%class.Handle.6 = type { ptr }
%"class.Json::Value" = type { %"union.Json::Value::ValueHolder", i16, ptr, i64, i64 }
%"union.Json::Value::ValueHolder" = type { i64 }
%"class.Json::Reader" = type <{ %"class.std::stack", %"class.std::deque.14", %"class.std::__cxx11::basic_string", ptr, ptr, ptr, ptr, ptr, %"class.std::__cxx11::basic_string", %"class.Json::Features", i8, [3 x i8] }>
%"class.std::stack" = type { %"class.std::deque" }
%"class.std::deque" = type { %"class.std::_Deque_base" }
%"class.std::_Deque_base" = type { %"struct.std::_Deque_base<Json::Value *, std::allocator<Json::Value *>>::_Deque_impl" }
%"struct.std::_Deque_base<Json::Value *, std::allocator<Json::Value *>>::_Deque_impl" = type { %"struct.std::_Deque_base<Json::Value *, std::allocator<Json::Value *>>::_Deque_impl_data" }
%"struct.std::_Deque_base<Json::Value *, std::allocator<Json::Value *>>::_Deque_impl_data" = type { ptr, i64, %"struct.std::_Deque_iterator", %"struct.std::_Deque_iterator" }
%"struct.std::_Deque_iterator" = type { ptr, ptr, ptr, ptr }
%"class.std::deque.14" = type { %"class.std::_Deque_base.15" }
%"class.std::_Deque_base.15" = type { %"struct.std::_Deque_base<Json::Reader::ErrorInfo, std::allocator<Json::Reader::ErrorInfo>>::_Deque_impl" }
%"struct.std::_Deque_base<Json::Reader::ErrorInfo, std::allocator<Json::Reader::ErrorInfo>>::_Deque_impl" = type { %"struct.std::_Deque_base<Json::Reader::ErrorInfo, std::allocator<Json::Reader::ErrorInfo>>::_Deque_impl_data" }
%"struct.std::_Deque_base<Json::Reader::ErrorInfo, std::allocator<Json::Reader::ErrorInfo>>::_Deque_impl_data" = type { ptr, i64, %"struct.std::_Deque_iterator.19", %"struct.std::_Deque_iterator.19" }
%"struct.std::_Deque_iterator.19" = type { ptr, ptr, ptr, 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.Json::Features" = type { i8, i8, i8, i8 }
%"class.std::basic_ifstream" = type { %"class.std::basic_istream.base", %"class.std::basic_filebuf", %"class.std::basic_ios" }
%"class.std::basic_istream.base" = type { ptr, i64 }
%"class.std::basic_filebuf" = type { %"class.std::basic_streambuf", %union.pthread_mutex_t, %"class.std::__basic_file", i32, %struct.__mbstate_t, %struct.__mbstate_t, %struct.__mbstate_t, ptr, i64, i8, i8, i8, i8, ptr, ptr, i8, ptr, ptr, i64, ptr, ptr }
%"class.std::basic_streambuf" = type { ptr, ptr, ptr, ptr, ptr, ptr, ptr, %"class.std::locale" }
%"class.std::locale" = type { ptr }
%union.pthread_mutex_t = type { %struct.__pthread_mutex_s }
%struct.__pthread_mutex_s = type { i32, i32, i32, i32, i32, i16, i16, %struct.__pthread_internal_list }
%struct.__pthread_internal_list = type { ptr, ptr }
%"class.std::__basic_file" = type <{ ptr, i8, [7 x i8] }>
%struct.__mbstate_t = type { i32, %union.anon.1 }
%union.anon.1 = type { i32 }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%class.Handle.0 = type { ptr }
%"class.std::allocator" = type { i8 }

@logger = external local_unnamed_addr global ptr, align 8
@__FUNCTION__._ZN8CashJsonC2E6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE = external hidden unnamed_addr constant [9 x i8], align 1
@_ZTI6HandleI9ExceptionE = external dso_local constant { ptr, ptr }, align 8
@.str.2 = external hidden unnamed_addr constant [98 x i8], align 1
@__FUNCTION__._ZN8CashJson10exportJsonEv = external hidden unnamed_addr constant [11 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [18 x i8], align 1

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

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

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

declare i32 @__gxx_personality_v0(...)

; Function Attrs: mustprogress 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 #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef ptr @_ZNK6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #0 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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN6HandleI9ExceptionEC2EPS0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) unnamed_addr #0 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 #2

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

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

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 nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #1

; Function Attrs: mustprogress uwtable
declare void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(256), ptr noundef, i32 noundef) unnamed_addr #0 align 2

; Function Attrs: mustprogress nounwind uwtable
declare void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256)) 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 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 uwtable
define dso_local void @_ZN8CashJson10exportJsonEv(ptr dead_on_unwind noalias writable sret(%class.Handle.2) align 8 %0, ptr noundef nonnull align 8 dereferenceable(8) %1) local_unnamed_addr #0 align 2 personality ptr @__gxx_personality_v0 {
  %3 = alloca %class.LoggerFunction, align 8
  %4 = alloca %class.Handle.6, align 8
  %5 = alloca %"class.Json::Value", align 8
  %6 = alloca %"class.Json::Reader", align 8
  %7 = alloca %"class.std::basic_ifstream", align 8
  %8 = alloca %class.Handle.0, align 8
  %9 = alloca %class.Handle.0, align 8
  %10 = alloca [1 x %"class.std::__cxx11::basic_string"], align 16
  %11 = alloca %"class.std::allocator", align 1
  %12 = alloca %"class.Json::Value", align 8
  %13 = alloca %class.Handle, align 8
  %14 = alloca %class.Handle, align 8
  %15 = alloca %class.Handle, align 8
  %16 = alloca %class.Handle, align 8
  %17 = alloca %class.Handle, align 8
  %18 = alloca %class.Handle, align 8
  %19 = alloca %class.Handle, align 8
  %20 = alloca %class.Handle, align 8
  %21 = alloca %class.Handle, align 8
  %22 = alloca %class.Handle, align 8
  %23 = alloca %class.Handle, align 8
  %24 = alloca %class.Handle, align 8
  %25 = alloca %class.Handle, align 8
  %26 = alloca %class.Handle, align 8
  %27 = alloca %class.Handle, align 8
  %28 = alloca %class.Handle, align 8
  %29 = alloca %class.Handle, align 8
  %30 = alloca %class.Handle, align 8
  %31 = alloca %class.Handle, align 8
  %32 = alloca %class.Handle, align 8
  %33 = alloca %class.Handle, align 8
  %34 = alloca %class.Handle, align 8
  %35 = alloca %class.Handle, align 8
  %36 = alloca %class.Handle, align 8
  %37 = alloca %class.Handle, align 8
  %38 = alloca %class.Handle, align 8
  %39 = alloca %class.Handle, align 8
  %40 = alloca %class.Handle, align 8
  %41 = alloca %class.Handle, align 8
  %42 = alloca %class.Handle.0, align 8
  %43 = alloca %class.Handle.0, align 8
  %44 = alloca %class.Handle.6, align 8
  %45 = alloca %class.Handle.0, align 8
  %46 = alloca %class.Handle.0, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %3) #11
  %47 = load ptr, ptr @logger, align 8, !tbaa !5
  call void @_ZN14LoggerFunctionC1EP6LoggerPKc(ptr noundef nonnull align 8 dereferenceable(16) %3, ptr noundef %47, ptr noundef nonnull @__FUNCTION__._ZN8CashJson10exportJsonEv)
  %48 = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #12
          to label %49 unwind label %74

49:                                               ; preds = %2
  invoke void @_ZN17PkiItemCollectionC1Ev(ptr noundef nonnull align 8 dereferenceable(24) %48)
          to label %50 unwind label %76

50:                                               ; preds = %49
  invoke void @_ZN6HandleI17PkiItemCollectionEC2EPS0_(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull %48)
          to label %51 unwind label %74

51:                                               ; preds = %50
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %4) #11
  %52 = invoke noalias noundef nonnull dereferenceable(304) ptr @_Znwm(i64 noundef 304) #12
          to label %53 unwind label %78

53:                                               ; preds = %51
  invoke void @_ZN7PkiItemC1Ev(ptr noundef nonnull align 8 dereferenceable(304) %52)
          to label %54 unwind label %80

54:                                               ; preds = %53
  invoke void @_ZN6HandleI7PkiItemEC2EPS0_(ptr noundef nonnull align 8 dereferenceable(8) %4, ptr noundef nonnull %52)
          to label %55 unwind label %78

55:                                               ; preds = %54
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %5) #11
  invoke void @_ZN4Json5ValueC1ENS_9ValueTypeE(ptr noundef nonnull align 8 dereferenceable(40) %5, i32 noundef 0)
          to label %56 unwind label %82

56:                                               ; preds = %55
  call void @llvm.lifetime.start.p0(i64 272, ptr nonnull %6) #11
  invoke void @_ZN4Json6ReaderC1Ev(ptr noundef nonnull align 8 dereferenceable(269) %6)
          to label %57 unwind label %84

57:                                               ; preds = %56
  call void @llvm.lifetime.start.p0(i64 520, ptr nonnull %7) #11
  %58 = invoke noundef ptr @_ZNK6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1)
          to label %59 unwind label %86

59:                                               ; preds = %57
  %60 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %58) #11
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(256) %7, ptr noundef %60, i32 noundef 4)
          to label %61 unwind label %86

61:                                               ; preds = %59
  %62 = invoke noundef zeroext i1 @_ZN4Json6Reader5parseERSiRNS_5ValueEb(ptr noundef nonnull align 8 dereferenceable(269) %6, ptr noundef nonnull align 8 dereferenceable(16) %7, ptr noundef nonnull align 8 dereferenceable(40) %5, i1 noundef zeroext false)
          to label %63 unwind label %88

63:                                               ; preds = %61
  br i1 %62, label %99, label %64

64:                                               ; preds = %63
  %65 = load ptr, ptr @logger, align 8, !tbaa !5
  invoke void (ptr, ptr, ptr, ...) @_ZN6Logger5errorEPKcS1_z(ptr noundef nonnull align 8 dereferenceable(24) %65, ptr noundef nonnull @__FUNCTION__._ZN8CashJson10exportJsonEv, ptr noundef nonnull @.str.5)
          to label %66 unwind label %88

66:                                               ; preds = %64
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %8) #11
  %67 = invoke noalias noundef nonnull dereferenceable(176) ptr @_Znwm(i64 noundef 176) #12
          to label %68 unwind label %90

68:                                               ; preds = %66
  invoke void @_ZN6HandleI9ExceptionEC2EPS0_(ptr noundef nonnull align 8 dereferenceable(8) %9, ptr noundef null)
          to label %69 unwind label %.thread

69:                                               ; preds = %68
  invoke void (ptr, i1, ptr, i32, i32, ptr, ptr, ptr, ptr, ...) @_ZN9ExceptionC1EbPKciiS1_S1_6HandleIS_ES1_z(ptr noundef nonnull align 8 dereferenceable(176) %67, i1 noundef zeroext false, ptr noundef nonnull @.str.2, i32 noundef 46, i32 noundef 0, ptr noundef nonnull @__FUNCTION__._ZN8CashJsonC2E6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE, ptr noundef nonnull @__FUNCTION__._ZN8CashJson10exportJsonEv, ptr noundef nonnull %9, ptr noundef nonnull @.str.5)
          to label %71 unwind label %.thread183

.thread183:                                       ; preds = %69
  %70 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleI9ExceptionED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %9) #11
  br label %95

71:                                               ; preds = %69
  invoke void @_ZN6HandleI9ExceptionEC2EPS0_(ptr noundef nonnull align 8 dereferenceable(8) %8, ptr noundef nonnull %67)
          to label %72 unwind label %93

72:                                               ; preds = %71
  call void @_ZN6HandleI9ExceptionED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %9) #11
  %73 = call ptr @__cxa_allocate_exception(i64 8) #11
  call void @_ZN6HandleI9ExceptionEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(8) %73, ptr noundef nonnull align 8 dereferenceable(8) %8)
  invoke void @__cxa_throw(ptr nonnull %73, ptr nonnull @_ZTI6HandleI9ExceptionE, ptr nonnull @_ZN6HandleI9ExceptionED2Ev) #13
          to label %802 unwind label %96

74:                                               ; preds = %50, %2
  %75 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %774

76:                                               ; preds = %49
  %77 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZdlPvm(ptr noundef nonnull %48, i64 noundef 24) #14
  br label %774

78:                                               ; preds = %54, %51
  %79 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %773

80:                                               ; preds = %53
  %81 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZdlPvm(ptr noundef nonnull %52, i64 noundef 304) #14
  br label %773

82:                                               ; preds = %55
  %83 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %772

84:                                               ; preds = %56
  %85 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %771

86:                                               ; preds = %59, %57
  %87 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %770

88:                                               ; preds = %64, %61
  %89 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %769

90:                                               ; preds = %66
  %91 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %98

.thread:                                          ; preds = %68
  %92 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %95

93:                                               ; preds = %71
  %94 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleI9ExceptionED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %9) #11
  br label %98

95:                                               ; preds = %.thread183, %.thread
  %.pn182 = phi { ptr, i32 } [ %92, %.thread ], [ %70, %.thread183 ]
  call void @_ZdlPvm(ptr noundef nonnull %67, i64 noundef 176) #14
  br label %98

96:                                               ; preds = %72
  %97 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleI9ExceptionED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %8) #11
  br label %98

98:                                               ; preds = %93, %95, %96, %90
  %.pn103 = phi { ptr, i32 } [ %97, %96 ], [ %.pn182, %95 ], [ %94, %93 ], [ %91, %90 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) #11
  br label %769

99:                                               ; preds = %63
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %10) #11
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %11) #11
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %11) #11
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %10, ptr noundef nonnull @.str.6, ptr noundef nonnull align 1 dereferenceable(1) %11)
          to label %.critedge unwind label %101

.critedge:                                        ; preds = %99
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %11) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %11) #11
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %12) #11
  %100 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(40) %5, ptr noundef nonnull align 8 dereferenceable(32) %10)
          to label %103 unwind label %110

101:                                              ; preds = %99
  %102 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %11) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %11) #11
  br label %.loopexit

103:                                              ; preds = %.critedge
  %104 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEPKc(ptr noundef nonnull align 8 dereferenceable(40) %100, ptr noundef nonnull @.str.7)
          to label %105 unwind label %110

105:                                              ; preds = %103
  invoke void @_ZN4Json5ValueC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(40) %12, ptr noundef nonnull align 8 dereferenceable(40) %104)
          to label %.preheader unwind label %110

.preheader:                                       ; preds = %105, %764
  %.050 = phi i32 [ %765, %764 ], [ 0, %105 ]
  %106 = invoke noundef i32 @_ZNK4Json5Value4sizeEv(ptr noundef nonnull align 8 dereferenceable(40) %12)
          to label %107 unwind label %.loopexit193

107:                                              ; preds = %.preheader
  %108 = icmp ult i32 %.050, %106
  br i1 %108, label %112, label %109

109:                                              ; preds = %107
  call void @_ZN4Json5ValueD1Ev(ptr noundef nonnull align 8 dereferenceable(40) %12) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %12) #11
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %10) #11
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %7) #11
  call void @llvm.lifetime.end.p0(i64 520, ptr nonnull %7) #11
  call void @_ZN4Json6ReaderD2Ev(ptr noundef nonnull align 8 dereferenceable(269) %6) #11
  call void @llvm.lifetime.end.p0(i64 272, ptr nonnull %6) #11
  call void @_ZN4Json5ValueD1Ev(ptr noundef nonnull align 8 dereferenceable(40) %5) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %5) #11
  call void @_ZN6HandleI7PkiItemED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %4) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %4) #11
  call void @_ZN14LoggerFunctionD1Ev(ptr noundef nonnull align 8 dereferenceable(16) %3) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %3) #11
  ret void

110:                                              ; preds = %105, %103, %.critedge
  %111 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %.loopexit.loopexit

.loopexit193:                                     ; preds = %.preheader, %190, %192, %482, %484, %652, %654, %722, %724, %731, %733, %735, %737, %761
  %lpad.loopexit = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %768

.loopexit.split-lp:                               ; preds = %742
  %lpad.loopexit.split-lp = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %768

112:                                              ; preds = %107
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %13) #11
  %113 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #12
          to label %114 unwind label %356

114:                                              ; preds = %112
  %115 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEi(ptr noundef nonnull align 8 dereferenceable(40) %12, i32 noundef %.050)
          to label %116 unwind label %358

116:                                              ; preds = %114
  %117 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEPKc(ptr noundef nonnull align 8 dereferenceable(40) %115, ptr noundef nonnull @.str.8)
          to label %118 unwind label %358

118:                                              ; preds = %116
  invoke void @_ZNK4Json5Value8asStringB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %113, ptr noundef nonnull align 8 dereferenceable(40) %117)
          to label %119 unwind label %358

119:                                              ; preds = %118
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %13, ptr noundef nonnull %113)
          to label %120 unwind label %356

120:                                              ; preds = %119
  %121 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %4)
          to label %122 unwind label %360

122:                                              ; preds = %120
  %123 = getelementptr inbounds i8, ptr %121, i64 256
  %124 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %123, ptr noundef nonnull align 8 dereferenceable(8) %13)
          to label %125 unwind label %360

125:                                              ; preds = %122
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %13) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %14) #11
  %126 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #12
          to label %127 unwind label %363

127:                                              ; preds = %125
  %128 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEi(ptr noundef nonnull align 8 dereferenceable(40) %12, i32 noundef %.050)
          to label %129 unwind label %365

129:                                              ; preds = %127
  %130 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEPKc(ptr noundef nonnull align 8 dereferenceable(40) %128, ptr noundef nonnull @.str.9)
          to label %131 unwind label %365

131:                                              ; preds = %129
  invoke void @_ZNK4Json5Value8asStringB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %126, ptr noundef nonnull align 8 dereferenceable(40) %130)
          to label %132 unwind label %365

132:                                              ; preds = %131
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %14, ptr noundef nonnull %126)
          to label %133 unwind label %363

133:                                              ; preds = %132
  %134 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %4)
          to label %135 unwind label %367

135:                                              ; preds = %133
  %136 = getelementptr inbounds i8, ptr %134, i64 264
  %137 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %136, ptr noundef nonnull align 8 dereferenceable(8) %14)
          to label %138 unwind label %367

138:                                              ; preds = %135
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %14) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %15) #11
  %139 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #12
          to label %140 unwind label %370

140:                                              ; preds = %138
  %141 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEi(ptr noundef nonnull align 8 dereferenceable(40) %12, i32 noundef %.050)
          to label %142 unwind label %372

142:                                              ; preds = %140
  %143 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEPKc(ptr noundef nonnull align 8 dereferenceable(40) %141, ptr noundef nonnull @.str.10)
          to label %144 unwind label %372

144:                                              ; preds = %142
  invoke void @_ZNK4Json5Value8asStringB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %139, ptr noundef nonnull align 8 dereferenceable(40) %143)
          to label %145 unwind label %372

145:                                              ; preds = %144
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %15, ptr noundef nonnull %139)
          to label %146 unwind label %370

146:                                              ; preds = %145
  %147 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %4)
          to label %148 unwind label %374

148:                                              ; preds = %146
  %149 = getelementptr inbounds i8, ptr %147, i64 272
  %150 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %149, ptr noundef nonnull align 8 dereferenceable(8) %15)
          to label %151 unwind label %374

151:                                              ; preds = %148
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %15) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %16) #11
  %152 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #12
          to label %153 unwind label %377

153:                                              ; preds = %151
  %154 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEi(ptr noundef nonnull align 8 dereferenceable(40) %12, i32 noundef %.050)
          to label %155 unwind label %379

155:                                              ; preds = %153
  %156 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEPKc(ptr noundef nonnull align 8 dereferenceable(40) %154, ptr noundef nonnull @.str.11)
          to label %157 unwind label %379

157:                                              ; preds = %155
  invoke void @_ZNK4Json5Value8asStringB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %152, ptr noundef nonnull align 8 dereferenceable(40) %156)
          to label %158 unwind label %379

158:                                              ; preds = %157
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %16, ptr noundef nonnull %152)
          to label %159 unwind label %377

159:                                              ; preds = %158
  %160 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %4)
          to label %161 unwind label %381

161:                                              ; preds = %159
  %162 = getelementptr inbounds i8, ptr %160, i64 280
  %163 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %162, ptr noundef nonnull align 8 dereferenceable(8) %16)
          to label %164 unwind label %381

164:                                              ; preds = %161
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %16) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %17) #11
  %165 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #12
          to label %166 unwind label %384

166:                                              ; preds = %164
  %167 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEi(ptr noundef nonnull align 8 dereferenceable(40) %12, i32 noundef %.050)
          to label %168 unwind label %386

168:                                              ; preds = %166
  %169 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEPKc(ptr noundef nonnull align 8 dereferenceable(40) %167, ptr noundef nonnull @.str.12)
          to label %170 unwind label %386

170:                                              ; preds = %168
  invoke void @_ZNK4Json5Value8asStringB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %165, ptr noundef nonnull align 8 dereferenceable(40) %169)
          to label %171 unwind label %386

171:                                              ; preds = %170
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %17, ptr noundef nonnull %165)
          to label %172 unwind label %384

172:                                              ; preds = %171
  %173 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %4)
          to label %174 unwind label %388

174:                                              ; preds = %172
  %175 = getelementptr inbounds i8, ptr %173, i64 288
  %176 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %175, ptr noundef nonnull align 8 dereferenceable(8) %17)
          to label %177 unwind label %388

177:                                              ; preds = %174
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %17) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %18) #11
  %178 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #12
          to label %179 unwind label %391

179:                                              ; preds = %177
  %180 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEi(ptr noundef nonnull align 8 dereferenceable(40) %12, i32 noundef %.050)
          to label %181 unwind label %393

181:                                              ; preds = %179
  %182 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEPKc(ptr noundef nonnull align 8 dereferenceable(40) %180, ptr noundef nonnull @.str.13)
          to label %183 unwind label %393

183:                                              ; preds = %181
  invoke void @_ZNK4Json5Value8asStringB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %178, ptr noundef nonnull align 8 dereferenceable(40) %182)
          to label %184 unwind label %393

184:                                              ; preds = %183
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %18, ptr noundef nonnull %178)
          to label %185 unwind label %391

185:                                              ; preds = %184
  %186 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %4)
          to label %187 unwind label %395

187:                                              ; preds = %185
  %188 = getelementptr inbounds i8, ptr %186, i64 296
  %189 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %188, ptr noundef nonnull align 8 dereferenceable(8) %18)
          to label %190 unwind label %395

190:                                              ; preds = %187
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %18) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #11
  %191 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %4)
          to label %192 unwind label %.loopexit193

192:                                              ; preds = %190
  %193 = getelementptr inbounds i8, ptr %191, i64 264
  %194 = invoke noundef ptr @_ZNK6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %193)
          to label %195 unwind label %.loopexit193

195:                                              ; preds = %192
  %196 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %194) #11
  %197 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %196, ptr noundef nonnull dereferenceable(1) @.str.14) #15
  %198 = icmp eq i32 %197, 0
  br i1 %198, label %199, label %482

199:                                              ; preds = %195
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %19) #11
  %200 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #12
          to label %201 unwind label %398

201:                                              ; preds = %199
  %202 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEi(ptr noundef nonnull align 8 dereferenceable(40) %12, i32 noundef %.050)
          to label %203 unwind label %400

203:                                              ; preds = %201
  %204 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEPKc(ptr noundef nonnull align 8 dereferenceable(40) %202, ptr noundef nonnull @.str.15)
          to label %205 unwind label %400

205:                                              ; preds = %203
  invoke void @_ZNK4Json5Value8asStringB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %200, ptr noundef nonnull align 8 dereferenceable(40) %204)
          to label %206 unwind label %400

206:                                              ; preds = %205
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %19, ptr noundef nonnull %200)
          to label %207 unwind label %398

207:                                              ; preds = %206
  %208 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %4)
          to label %209 unwind label %402

209:                                              ; preds = %207
  %210 = getelementptr inbounds i8, ptr %208, i64 8
  %211 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %210, ptr noundef nonnull align 8 dereferenceable(8) %19)
          to label %212 unwind label %402

212:                                              ; preds = %209
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %19) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %19) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %20) #11
  %213 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #12
          to label %214 unwind label %405

214:                                              ; preds = %212
  %215 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEi(ptr noundef nonnull align 8 dereferenceable(40) %12, i32 noundef %.050)
          to label %216 unwind label %407

216:                                              ; preds = %214
  %217 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEPKc(ptr noundef nonnull align 8 dereferenceable(40) %215, ptr noundef nonnull @.str.16)
          to label %218 unwind label %407

218:                                              ; preds = %216
  invoke void @_ZNK4Json5Value8asStringB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %213, ptr noundef nonnull align 8 dereferenceable(40) %217)
          to label %219 unwind label %407

219:                                              ; preds = %218
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %20, ptr noundef nonnull %213)
          to label %220 unwind label %405

220:                                              ; preds = %219
  %221 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %4)
          to label %222 unwind label %409

222:                                              ; preds = %220
  %223 = getelementptr inbounds i8, ptr %221, i64 16
  %224 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %223, ptr noundef nonnull align 8 dereferenceable(8) %20)
          to label %225 unwind label %409

225:                                              ; preds = %222
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %20) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %20) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %21) #11
  %226 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #12
          to label %227 unwind label %412

227:                                              ; preds = %225
  %228 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEi(ptr noundef nonnull align 8 dereferenceable(40) %12, i32 noundef %.050)
          to label %229 unwind label %414

229:                                              ; preds = %227
  %230 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEPKc(ptr noundef nonnull align 8 dereferenceable(40) %228, ptr noundef nonnull @.str.17)
          to label %231 unwind label %414

231:                                              ; preds = %229
  invoke void @_ZNK4Json5Value8asStringB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %226, ptr noundef nonnull align 8 dereferenceable(40) %230)
          to label %232 unwind label %414

232:                                              ; preds = %231
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %21, ptr noundef nonnull %226)
          to label %233 unwind label %412

233:                                              ; preds = %232
  %234 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %4)
          to label %235 unwind label %416

235:                                              ; preds = %233
  %236 = getelementptr inbounds i8, ptr %234, i64 24
  %237 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %236, ptr noundef nonnull align 8 dereferenceable(8) %21)
          to label %238 unwind label %416

238:                                              ; preds = %235
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %21) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %21) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %22) #11
  %239 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #12
          to label %240 unwind label %419

240:                                              ; preds = %238
  %241 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEi(ptr noundef nonnull align 8 dereferenceable(40) %12, i32 noundef %.050)
          to label %242 unwind label %421

242:                                              ; preds = %240
  %243 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEPKc(ptr noundef nonnull align 8 dereferenceable(40) %241, ptr noundef nonnull @.str.18)
          to label %244 unwind label %421

244:                                              ; preds = %242
  invoke void @_ZNK4Json5Value8asStringB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %239, ptr noundef nonnull align 8 dereferenceable(40) %243)
          to label %245 unwind label %421

245:                                              ; preds = %244
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %22, ptr noundef nonnull %239)
          to label %246 unwind label %419

246:                                              ; preds = %245
  %247 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %4)
          to label %248 unwind label %423

248:                                              ; preds = %246
  %249 = getelementptr inbounds i8, ptr %247, i64 32
  %250 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %249, ptr noundef nonnull align 8 dereferenceable(8) %22)
          to label %251 unwind label %423

251:                                              ; preds = %248
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %22) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %22) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %23) #11
  %252 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #12
          to label %253 unwind label %426

253:                                              ; preds = %251
  %254 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEi(ptr noundef nonnull align 8 dereferenceable(40) %12, i32 noundef %.050)
          to label %255 unwind label %428

255:                                              ; preds = %253
  %256 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEPKc(ptr noundef nonnull align 8 dereferenceable(40) %254, ptr noundef nonnull @.str.19)
          to label %257 unwind label %428

257:                                              ; preds = %255
  invoke void @_ZNK4Json5Value8asStringB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %252, ptr noundef nonnull align 8 dereferenceable(40) %256)
          to label %258 unwind label %428

258:                                              ; preds = %257
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %23, ptr noundef nonnull %252)
          to label %259 unwind label %426

259:                                              ; preds = %258
  %260 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %4)
          to label %261 unwind label %430

261:                                              ; preds = %259
  %262 = getelementptr inbounds i8, ptr %260, i64 56
  %263 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %262, ptr noundef nonnull align 8 dereferenceable(8) %23)
          to label %264 unwind label %430

264:                                              ; preds = %261
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %23) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %23) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %24) #11
  %265 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #12
          to label %266 unwind label %433

266:                                              ; preds = %264
  %267 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEi(ptr noundef nonnull align 8 dereferenceable(40) %12, i32 noundef %.050)
          to label %268 unwind label %435

268:                                              ; preds = %266
  %269 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEPKc(ptr noundef nonnull align 8 dereferenceable(40) %267, ptr noundef nonnull @.str.20)
          to label %270 unwind label %435

270:                                              ; preds = %268
  invoke void @_ZNK4Json5Value8asStringB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %265, ptr noundef nonnull align 8 dereferenceable(40) %269)
          to label %271 unwind label %435

271:                                              ; preds = %270
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %24, ptr noundef nonnull %265)
          to label %272 unwind label %433

272:                                              ; preds = %271
  %273 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %4)
          to label %274 unwind label %437

274:                                              ; preds = %272
  %275 = getelementptr inbounds i8, ptr %273, i64 40
  %276 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %275, ptr noundef nonnull align 8 dereferenceable(8) %24)
          to label %277 unwind label %437

277:                                              ; preds = %274
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %24) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %25) #11
  %278 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #12
          to label %279 unwind label %440

279:                                              ; preds = %277
  %280 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEi(ptr noundef nonnull align 8 dereferenceable(40) %12, i32 noundef %.050)
          to label %281 unwind label %442

281:                                              ; preds = %279
  %282 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEPKc(ptr noundef nonnull align 8 dereferenceable(40) %280, ptr noundef nonnull @.str.21)
          to label %283 unwind label %442

283:                                              ; preds = %281
  invoke void @_ZNK4Json5Value8asStringB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %278, ptr noundef nonnull align 8 dereferenceable(40) %282)
          to label %284 unwind label %442

284:                                              ; preds = %283
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %25, ptr noundef nonnull %278)
          to label %285 unwind label %440

285:                                              ; preds = %284
  %286 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %4)
          to label %287 unwind label %444

287:                                              ; preds = %285
  %288 = getelementptr inbounds i8, ptr %286, i64 48
  %289 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %288, ptr noundef nonnull align 8 dereferenceable(8) %25)
          to label %290 unwind label %444

290:                                              ; preds = %287
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %25) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %25) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %26) #11
  %291 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #12
          to label %292 unwind label %447

292:                                              ; preds = %290
  %293 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEi(ptr noundef nonnull align 8 dereferenceable(40) %12, i32 noundef %.050)
          to label %294 unwind label %449

294:                                              ; preds = %292
  %295 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEPKc(ptr noundef nonnull align 8 dereferenceable(40) %293, ptr noundef nonnull @.str.22)
          to label %296 unwind label %449

296:                                              ; preds = %294
  invoke void @_ZNK4Json5Value8asStringB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %291, ptr noundef nonnull align 8 dereferenceable(40) %295)
          to label %297 unwind label %449

297:                                              ; preds = %296
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %26, ptr noundef nonnull %291)
          to label %298 unwind label %447

298:                                              ; preds = %297
  %299 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %4)
          to label %300 unwind label %451

300:                                              ; preds = %298
  %301 = getelementptr inbounds i8, ptr %299, i64 64
  %302 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %301, ptr noundef nonnull align 8 dereferenceable(8) %26)
          to label %303 unwind label %451

303:                                              ; preds = %300
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %26) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %26) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %27) #11
  %304 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #12
          to label %305 unwind label %454

305:                                              ; preds = %303
  %306 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEi(ptr noundef nonnull align 8 dereferenceable(40) %12, i32 noundef %.050)
          to label %307 unwind label %456

307:                                              ; preds = %305
  %308 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEPKc(ptr noundef nonnull align 8 dereferenceable(40) %306, ptr noundef nonnull @.str.23)
          to label %309 unwind label %456

309:                                              ; preds = %307
  invoke void @_ZNK4Json5Value8asStringB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %304, ptr noundef nonnull align 8 dereferenceable(40) %308)
          to label %310 unwind label %456

310:                                              ; preds = %309
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %27, ptr noundef nonnull %304)
          to label %311 unwind label %454

311:                                              ; preds = %310
  %312 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %4)
          to label %313 unwind label %458

313:                                              ; preds = %311
  %314 = getelementptr inbounds i8, ptr %312, i64 72
  %315 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %314, ptr noundef nonnull align 8 dereferenceable(8) %27)
          to label %316 unwind label %458

316:                                              ; preds = %313
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %27) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %27) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %28) #11
  %317 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #12
          to label %318 unwind label %461

318:                                              ; preds = %316
  %319 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEi(ptr noundef nonnull align 8 dereferenceable(40) %12, i32 noundef %.050)
          to label %320 unwind label %463

320:                                              ; preds = %318
  %321 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEPKc(ptr noundef nonnull align 8 dereferenceable(40) %319, ptr noundef nonnull @.str.24)
          to label %322 unwind label %463

322:                                              ; preds = %320
  invoke void @_ZNK4Json5Value8asStringB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %317, ptr noundef nonnull align 8 dereferenceable(40) %321)
          to label %323 unwind label %463

323:                                              ; preds = %322
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %28, ptr noundef nonnull %317)
          to label %324 unwind label %461

324:                                              ; preds = %323
  %325 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %4)
          to label %326 unwind label %465

326:                                              ; preds = %324
  %327 = getelementptr inbounds i8, ptr %325, i64 80
  %328 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %327, ptr noundef nonnull align 8 dereferenceable(8) %28)
          to label %329 unwind label %465

329:                                              ; preds = %326
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %28) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %28) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %29) #11
  %330 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #12
          to label %331 unwind label %468

331:                                              ; preds = %329
  %332 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEi(ptr noundef nonnull align 8 dereferenceable(40) %12, i32 noundef %.050)
          to label %333 unwind label %470

333:                                              ; preds = %331
  %334 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEPKc(ptr noundef nonnull align 8 dereferenceable(40) %332, ptr noundef nonnull @.str.25)
          to label %335 unwind label %470

335:                                              ; preds = %333
  invoke void @_ZNK4Json5Value8asStringB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %330, ptr noundef nonnull align 8 dereferenceable(40) %334)
          to label %336 unwind label %470

336:                                              ; preds = %335
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %29, ptr noundef nonnull %330)
          to label %337 unwind label %468

337:                                              ; preds = %336
  %338 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %4)
          to label %339 unwind label %472

339:                                              ; preds = %337
  %340 = getelementptr inbounds i8, ptr %338, i64 88
  %341 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %340, ptr noundef nonnull align 8 dereferenceable(8) %29)
          to label %342 unwind label %472

342:                                              ; preds = %339
  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
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %30) #11
  %343 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #12
          to label %344 unwind label %475

344:                                              ; preds = %342
  %345 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEi(ptr noundef nonnull align 8 dereferenceable(40) %12, i32 noundef %.050)
          to label %346 unwind label %477

346:                                              ; preds = %344
  %347 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEPKc(ptr noundef nonnull align 8 dereferenceable(40) %345, ptr noundef nonnull @.str.26)
          to label %348 unwind label %477

348:                                              ; preds = %346
  invoke void @_ZNK4Json5Value8asStringB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %343, ptr noundef nonnull align 8 dereferenceable(40) %347)
          to label %349 unwind label %477

349:                                              ; preds = %348
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %30, ptr noundef nonnull %343)
          to label %350 unwind label %475

350:                                              ; preds = %349
  %351 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %4)
          to label %352 unwind label %479

352:                                              ; preds = %350
  %353 = getelementptr inbounds i8, ptr %351, i64 96
  %354 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %353, ptr noundef nonnull align 8 dereferenceable(8) %30)
          to label %355 unwind label %479

355:                                              ; preds = %352
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %30) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30) #11
  br label %761

356:                                              ; preds = %119, %112
  %357 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %362

358:                                              ; preds = %118, %116, %114
  %359 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZdlPvm(ptr noundef nonnull %113, i64 noundef 32) #14
  br label %362

360:                                              ; preds = %122, %120
  %361 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %13) #11
  br label %362

362:                                              ; preds = %360, %358, %356
  %.pn105 = phi { ptr, i32 } [ %361, %360 ], [ %357, %356 ], [ %359, %358 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) #11
  br label %768

363:                                              ; preds = %132, %125
  %364 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %369

365:                                              ; preds = %131, %129, %127
  %366 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZdlPvm(ptr noundef nonnull %126, i64 noundef 32) #14
  br label %369

367:                                              ; preds = %135, %133
  %368 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %14) #11
  br label %369

369:                                              ; preds = %367, %365, %363
  %.pn107 = phi { ptr, i32 } [ %368, %367 ], [ %364, %363 ], [ %366, %365 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14) #11
  br label %768

370:                                              ; preds = %145, %138
  %371 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %376

372:                                              ; preds = %144, %142, %140
  %373 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZdlPvm(ptr noundef nonnull %139, i64 noundef 32) #14
  br label %376

374:                                              ; preds = %148, %146
  %375 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %15) #11
  br label %376

376:                                              ; preds = %374, %372, %370
  %.pn109 = phi { ptr, i32 } [ %375, %374 ], [ %371, %370 ], [ %373, %372 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15) #11
  br label %768

377:                                              ; preds = %158, %151
  %378 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %383

379:                                              ; preds = %157, %155, %153
  %380 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZdlPvm(ptr noundef nonnull %152, i64 noundef 32) #14
  br label %383

381:                                              ; preds = %161, %159
  %382 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %16) #11
  br label %383

383:                                              ; preds = %381, %379, %377
  %.pn111 = phi { ptr, i32 } [ %382, %381 ], [ %378, %377 ], [ %380, %379 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #11
  br label %768

384:                                              ; preds = %171, %164
  %385 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %390

386:                                              ; preds = %170, %168, %166
  %387 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZdlPvm(ptr noundef nonnull %165, i64 noundef 32) #14
  br label %390

388:                                              ; preds = %174, %172
  %389 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %17) #11
  br label %390

390:                                              ; preds = %388, %386, %384
  %.pn113 = phi { ptr, i32 } [ %389, %388 ], [ %385, %384 ], [ %387, %386 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #11
  br label %768

391:                                              ; preds = %184, %177
  %392 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %397

393:                                              ; preds = %183, %181, %179
  %394 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZdlPvm(ptr noundef nonnull %178, i64 noundef 32) #14
  br label %397

395:                                              ; preds = %187, %185
  %396 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %18) #11
  br label %397

397:                                              ; preds = %395, %393, %391
  %.pn115 = phi { ptr, i32 } [ %396, %395 ], [ %392, %391 ], [ %394, %393 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #11
  br label %768

398:                                              ; preds = %206, %199
  %399 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %404

400:                                              ; preds = %205, %203, %201
  %401 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZdlPvm(ptr noundef nonnull %200, i64 noundef 32) #14
  br label %404

402:                                              ; preds = %209, %207
  %403 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %19) #11
  br label %404

404:                                              ; preds = %402, %400, %398
  %.pn143 = phi { ptr, i32 } [ %403, %402 ], [ %399, %398 ], [ %401, %400 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %19) #11
  br label %768

405:                                              ; preds = %219, %212
  %406 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %411

407:                                              ; preds = %218, %216, %214
  %408 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZdlPvm(ptr noundef nonnull %213, i64 noundef 32) #14
  br label %411

409:                                              ; preds = %222, %220
  %410 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %20) #11
  br label %411

411:                                              ; preds = %409, %407, %405
  %.pn145 = phi { ptr, i32 } [ %410, %409 ], [ %406, %405 ], [ %408, %407 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %20) #11
  br label %768

412:                                              ; preds = %232, %225
  %413 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %418

414:                                              ; preds = %231, %229, %227
  %415 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZdlPvm(ptr noundef nonnull %226, i64 noundef 32) #14
  br label %418

416:                                              ; preds = %235, %233
  %417 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %21) #11
  br label %418

418:                                              ; preds = %416, %414, %412
  %.pn147 = phi { ptr, i32 } [ %417, %416 ], [ %413, %412 ], [ %415, %414 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %21) #11
  br label %768

419:                                              ; preds = %245, %238
  %420 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %425

421:                                              ; preds = %244, %242, %240
  %422 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZdlPvm(ptr noundef nonnull %239, i64 noundef 32) #14
  br label %425

423:                                              ; preds = %248, %246
  %424 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %22) #11
  br label %425

425:                                              ; preds = %423, %421, %419
  %.pn149 = phi { ptr, i32 } [ %424, %423 ], [ %420, %419 ], [ %422, %421 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %22) #11
  br label %768

426:                                              ; preds = %258, %251
  %427 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %432

428:                                              ; preds = %257, %255, %253
  %429 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZdlPvm(ptr noundef nonnull %252, i64 noundef 32) #14
  br label %432

430:                                              ; preds = %261, %259
  %431 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %23) #11
  br label %432

432:                                              ; preds = %430, %428, %426
  %.pn151 = phi { ptr, i32 } [ %431, %430 ], [ %427, %426 ], [ %429, %428 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %23) #11
  br label %768

433:                                              ; preds = %271, %264
  %434 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %439

435:                                              ; preds = %270, %268, %266
  %436 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZdlPvm(ptr noundef nonnull %265, i64 noundef 32) #14
  br label %439

437:                                              ; preds = %274, %272
  %438 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %24) #11
  br label %439

439:                                              ; preds = %437, %435, %433
  %.pn153 = phi { ptr, i32 } [ %438, %437 ], [ %434, %433 ], [ %436, %435 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24) #11
  br label %768

440:                                              ; preds = %284, %277
  %441 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %446

442:                                              ; preds = %283, %281, %279
  %443 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZdlPvm(ptr noundef nonnull %278, i64 noundef 32) #14
  br label %446

444:                                              ; preds = %287, %285
  %445 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %25) #11
  br label %446

446:                                              ; preds = %444, %442, %440
  %.pn155 = phi { ptr, i32 } [ %445, %444 ], [ %441, %440 ], [ %443, %442 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %25) #11
  br label %768

447:                                              ; preds = %297, %290
  %448 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %453

449:                                              ; preds = %296, %294, %292
  %450 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZdlPvm(ptr noundef nonnull %291, i64 noundef 32) #14
  br label %453

451:                                              ; preds = %300, %298
  %452 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %26) #11
  br label %453

453:                                              ; preds = %451, %449, %447
  %.pn157 = phi { ptr, i32 } [ %452, %451 ], [ %448, %447 ], [ %450, %449 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %26) #11
  br label %768

454:                                              ; preds = %310, %303
  %455 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %460

456:                                              ; preds = %309, %307, %305
  %457 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZdlPvm(ptr noundef nonnull %304, i64 noundef 32) #14
  br label %460

458:                                              ; preds = %313, %311
  %459 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %27) #11
  br label %460

460:                                              ; preds = %458, %456, %454
  %.pn159 = phi { ptr, i32 } [ %459, %458 ], [ %455, %454 ], [ %457, %456 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %27) #11
  br label %768

461:                                              ; preds = %323, %316
  %462 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %467

463:                                              ; preds = %322, %320, %318
  %464 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZdlPvm(ptr noundef nonnull %317, i64 noundef 32) #14
  br label %467

465:                                              ; preds = %326, %324
  %466 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %28) #11
  br label %467

467:                                              ; preds = %465, %463, %461
  %.pn161 = phi { ptr, i32 } [ %466, %465 ], [ %462, %461 ], [ %464, %463 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %28) #11
  br label %768

468:                                              ; preds = %336, %329
  %469 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %474

470:                                              ; preds = %335, %333, %331
  %471 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZdlPvm(ptr noundef nonnull %330, i64 noundef 32) #14
  br label %474

472:                                              ; preds = %339, %337
  %473 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %29) #11
  br label %474

474:                                              ; preds = %472, %470, %468
  %.pn163 = phi { ptr, i32 } [ %473, %472 ], [ %469, %468 ], [ %471, %470 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %29) #11
  br label %768

475:                                              ; preds = %349, %342
  %476 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %481

477:                                              ; preds = %348, %346, %344
  %478 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZdlPvm(ptr noundef nonnull %343, i64 noundef 32) #14
  br label %481

479:                                              ; preds = %352, %350
  %480 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %30) #11
  br label %481

481:                                              ; preds = %479, %477, %475
  %.pn165 = phi { ptr, i32 } [ %480, %479 ], [ %476, %475 ], [ %478, %477 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30) #11
  br label %768

482:                                              ; preds = %195
  %483 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %4)
          to label %484 unwind label %.loopexit193

484:                                              ; preds = %482
  %485 = getelementptr inbounds i8, ptr %483, i64 264
  %486 = invoke noundef ptr @_ZNK6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %485)
          to label %487 unwind label %.loopexit193

487:                                              ; preds = %484
  %488 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %486) #11
  %489 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %488, ptr noundef nonnull dereferenceable(1) @.str.27) #15
  %490 = icmp eq i32 %489, 0
  br i1 %490, label %491, label %652

491:                                              ; preds = %487
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %31) #11
  %492 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #12
          to label %493 unwind label %596

493:                                              ; preds = %491
  %494 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEi(ptr noundef nonnull align 8 dereferenceable(40) %12, i32 noundef %.050)
          to label %495 unwind label %598

495:                                              ; preds = %493
  %496 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEPKc(ptr noundef nonnull align 8 dereferenceable(40) %494, ptr noundef nonnull @.str.17)
          to label %497 unwind label %598

497:                                              ; preds = %495
  invoke void @_ZNK4Json5Value8asStringB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %492, ptr noundef nonnull align 8 dereferenceable(40) %496)
          to label %498 unwind label %598

498:                                              ; preds = %497
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %31, ptr noundef nonnull %492)
          to label %499 unwind label %596

499:                                              ; preds = %498
  %500 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %4)
          to label %501 unwind label %600

501:                                              ; preds = %499
  %502 = getelementptr inbounds i8, ptr %500, i64 120
  %503 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %502, ptr noundef nonnull align 8 dereferenceable(8) %31)
          to label %504 unwind label %600

504:                                              ; preds = %501
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %31) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %31) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %32) #11
  %505 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #12
          to label %506 unwind label %603

506:                                              ; preds = %504
  %507 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEi(ptr noundef nonnull align 8 dereferenceable(40) %12, i32 noundef %.050)
          to label %508 unwind label %605

508:                                              ; preds = %506
  %509 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEPKc(ptr noundef nonnull align 8 dereferenceable(40) %507, ptr noundef nonnull @.str.18)
          to label %510 unwind label %605

510:                                              ; preds = %508
  invoke void @_ZNK4Json5Value8asStringB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %505, ptr noundef nonnull align 8 dereferenceable(40) %509)
          to label %511 unwind label %605

511:                                              ; preds = %510
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %32, ptr noundef nonnull %505)
          to label %512 unwind label %603

512:                                              ; preds = %511
  %513 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %4)
          to label %514 unwind label %607

514:                                              ; preds = %512
  %515 = getelementptr inbounds i8, ptr %513, i64 128
  %516 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %515, ptr noundef nonnull align 8 dereferenceable(8) %32)
          to label %517 unwind label %607

517:                                              ; preds = %514
  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
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %33) #11
  %518 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #12
          to label %519 unwind label %610

519:                                              ; preds = %517
  %520 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEi(ptr noundef nonnull align 8 dereferenceable(40) %12, i32 noundef %.050)
          to label %521 unwind label %612

521:                                              ; preds = %519
  %522 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEPKc(ptr noundef nonnull align 8 dereferenceable(40) %520, ptr noundef nonnull @.str.28)
          to label %523 unwind label %612

523:                                              ; preds = %521
  invoke void @_ZNK4Json5Value8asStringB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %518, ptr noundef nonnull align 8 dereferenceable(40) %522)
          to label %524 unwind label %612

524:                                              ; preds = %523
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %33, ptr noundef nonnull %518)
          to label %525 unwind label %610

525:                                              ; preds = %524
  %526 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %4)
          to label %527 unwind label %614

527:                                              ; preds = %525
  %528 = getelementptr inbounds i8, ptr %526, i64 136
  %529 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %528, ptr noundef nonnull align 8 dereferenceable(8) %33)
          to label %530 unwind label %614

530:                                              ; preds = %527
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %33) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %33) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %34) #11
  %531 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #12
          to label %532 unwind label %617

532:                                              ; preds = %530
  %533 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEi(ptr noundef nonnull align 8 dereferenceable(40) %12, i32 noundef %.050)
          to label %534 unwind label %619

534:                                              ; preds = %532
  %535 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEPKc(ptr noundef nonnull align 8 dereferenceable(40) %533, ptr noundef nonnull @.str.29)
          to label %536 unwind label %619

536:                                              ; preds = %534
  invoke void @_ZNK4Json5Value8asStringB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %531, ptr noundef nonnull align 8 dereferenceable(40) %535)
          to label %537 unwind label %619

537:                                              ; preds = %536
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %34, ptr noundef nonnull %531)
          to label %538 unwind label %617

538:                                              ; preds = %537
  %539 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %4)
          to label %540 unwind label %621

540:                                              ; preds = %538
  %541 = getelementptr inbounds i8, ptr %539, i64 144
  %542 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %541, ptr noundef nonnull align 8 dereferenceable(8) %34)
          to label %543 unwind label %621

543:                                              ; preds = %540
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %34) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %34) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %35) #11
  %544 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #12
          to label %545 unwind label %624

545:                                              ; preds = %543
  %546 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEi(ptr noundef nonnull align 8 dereferenceable(40) %12, i32 noundef %.050)
          to label %547 unwind label %626

547:                                              ; preds = %545
  %548 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEPKc(ptr noundef nonnull align 8 dereferenceable(40) %546, ptr noundef nonnull @.str.24)
          to label %549 unwind label %626

549:                                              ; preds = %547
  invoke void @_ZNK4Json5Value8asStringB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %544, ptr noundef nonnull align 8 dereferenceable(40) %548)
          to label %550 unwind label %626

550:                                              ; preds = %549
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %35, ptr noundef nonnull %544)
          to label %551 unwind label %624

551:                                              ; preds = %550
  %552 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %4)
          to label %553 unwind label %628

553:                                              ; preds = %551
  %554 = getelementptr inbounds i8, ptr %552, i64 152
  %555 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %554, ptr noundef nonnull align 8 dereferenceable(8) %35)
          to label %556 unwind label %628

556:                                              ; preds = %553
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %35) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %35) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %36) #11
  %557 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #12
          to label %558 unwind label %631

558:                                              ; preds = %556
  %559 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEi(ptr noundef nonnull align 8 dereferenceable(40) %12, i32 noundef %.050)
          to label %560 unwind label %633

560:                                              ; preds = %558
  %561 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEPKc(ptr noundef nonnull align 8 dereferenceable(40) %559, ptr noundef nonnull @.str.25)
          to label %562 unwind label %633

562:                                              ; preds = %560
  invoke void @_ZNK4Json5Value8asStringB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %557, ptr noundef nonnull align 8 dereferenceable(40) %561)
          to label %563 unwind label %633

563:                                              ; preds = %562
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %36, ptr noundef nonnull %557)
          to label %564 unwind label %631

564:                                              ; preds = %563
  %565 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %4)
          to label %566 unwind label %635

566:                                              ; preds = %564
  %567 = getelementptr inbounds i8, ptr %565, i64 160
  %568 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %567, ptr noundef nonnull align 8 dereferenceable(8) %36)
          to label %569 unwind label %635

569:                                              ; preds = %566
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %36) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %36) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %37) #11
  %570 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #12
          to label %571 unwind label %638

571:                                              ; preds = %569
  %572 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEi(ptr noundef nonnull align 8 dereferenceable(40) %12, i32 noundef %.050)
          to label %573 unwind label %640

573:                                              ; preds = %571
  %574 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEPKc(ptr noundef nonnull align 8 dereferenceable(40) %572, ptr noundef nonnull @.str.30)
          to label %575 unwind label %640

575:                                              ; preds = %573
  invoke void @_ZNK4Json5Value8asStringB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %570, ptr noundef nonnull align 8 dereferenceable(40) %574)
          to label %576 unwind label %640

576:                                              ; preds = %575
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %37, ptr noundef nonnull %570)
          to label %577 unwind label %638

577:                                              ; preds = %576
  %578 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %4)
          to label %579 unwind label %642

579:                                              ; preds = %577
  %580 = getelementptr inbounds i8, ptr %578, i64 168
  %581 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %580, ptr noundef nonnull align 8 dereferenceable(8) %37)
          to label %582 unwind label %642

582:                                              ; preds = %579
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %37) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %37) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %38) #11
  %583 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #12
          to label %584 unwind label %645

584:                                              ; preds = %582
  %585 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEi(ptr noundef nonnull align 8 dereferenceable(40) %12, i32 noundef %.050)
          to label %586 unwind label %647

586:                                              ; preds = %584
  %587 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEPKc(ptr noundef nonnull align 8 dereferenceable(40) %585, ptr noundef nonnull @.str.31)
          to label %588 unwind label %647

588:                                              ; preds = %586
  invoke void @_ZNK4Json5Value8asStringB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %583, ptr noundef nonnull align 8 dereferenceable(40) %587)
          to label %589 unwind label %647

589:                                              ; preds = %588
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %38, ptr noundef nonnull %583)
          to label %590 unwind label %645

590:                                              ; preds = %589
  %591 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %4)
          to label %592 unwind label %649

592:                                              ; preds = %590
  %593 = getelementptr inbounds i8, ptr %591, i64 176
  %594 = invoke 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) %38)
          to label %595 unwind label %649

595:                                              ; preds = %592
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %38) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %38) #11
  br label %761

596:                                              ; preds = %498, %491
  %597 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %602

598:                                              ; preds = %497, %495, %493
  %599 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZdlPvm(ptr noundef nonnull %492, i64 noundef 32) #14
  br label %602

600:                                              ; preds = %501, %499
  %601 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %31) #11
  br label %602

602:                                              ; preds = %600, %598, %596
  %.pn127 = phi { ptr, i32 } [ %601, %600 ], [ %597, %596 ], [ %599, %598 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %31) #11
  br label %768

603:                                              ; preds = %511, %504
  %604 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %609

605:                                              ; preds = %510, %508, %506
  %606 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZdlPvm(ptr noundef nonnull %505, i64 noundef 32) #14
  br label %609

607:                                              ; preds = %514, %512
  %608 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %32) #11
  br label %609

609:                                              ; preds = %607, %605, %603
  %.pn129 = phi { ptr, i32 } [ %608, %607 ], [ %604, %603 ], [ %606, %605 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %32) #11
  br label %768

610:                                              ; preds = %524, %517
  %611 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %616

612:                                              ; preds = %523, %521, %519
  %613 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZdlPvm(ptr noundef nonnull %518, i64 noundef 32) #14
  br label %616

614:                                              ; preds = %527, %525
  %615 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %33) #11
  br label %616

616:                                              ; preds = %614, %612, %610
  %.pn131 = phi { ptr, i32 } [ %615, %614 ], [ %611, %610 ], [ %613, %612 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %33) #11
  br label %768

617:                                              ; preds = %537, %530
  %618 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %623

619:                                              ; preds = %536, %534, %532
  %620 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZdlPvm(ptr noundef nonnull %531, i64 noundef 32) #14
  br label %623

621:                                              ; preds = %540, %538
  %622 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %34) #11
  br label %623

623:                                              ; preds = %621, %619, %617
  %.pn133 = phi { ptr, i32 } [ %622, %621 ], [ %618, %617 ], [ %620, %619 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %34) #11
  br label %768

624:                                              ; preds = %550, %543
  %625 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %630

626:                                              ; preds = %549, %547, %545
  %627 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZdlPvm(ptr noundef nonnull %544, i64 noundef 32) #14
  br label %630

628:                                              ; preds = %553, %551
  %629 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %35) #11
  br label %630

630:                                              ; preds = %628, %626, %624
  %.pn135 = phi { ptr, i32 } [ %629, %628 ], [ %625, %624 ], [ %627, %626 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %35) #11
  br label %768

631:                                              ; preds = %563, %556
  %632 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %637

633:                                              ; preds = %562, %560, %558
  %634 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZdlPvm(ptr noundef nonnull %557, i64 noundef 32) #14
  br label %637

635:                                              ; preds = %566, %564
  %636 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %36) #11
  br label %637

637:                                              ; preds = %635, %633, %631
  %.pn137 = phi { ptr, i32 } [ %636, %635 ], [ %632, %631 ], [ %634, %633 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %36) #11
  br label %768

638:                                              ; preds = %576, %569
  %639 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %644

640:                                              ; preds = %575, %573, %571
  %641 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZdlPvm(ptr noundef nonnull %570, i64 noundef 32) #14
  br label %644

642:                                              ; preds = %579, %577
  %643 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %37) #11
  br label %644

644:                                              ; preds = %642, %640, %638
  %.pn139 = phi { ptr, i32 } [ %643, %642 ], [ %639, %638 ], [ %641, %640 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %37) #11
  br label %768

645:                                              ; preds = %589, %582
  %646 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %651

647:                                              ; preds = %588, %586, %584
  %648 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZdlPvm(ptr noundef nonnull %583, i64 noundef 32) #14
  br label %651

649:                                              ; preds = %592, %590
  %650 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %38) #11
  br label %651

651:                                              ; preds = %649, %647, %645
  %.pn141 = phi { ptr, i32 } [ %650, %649 ], [ %646, %645 ], [ %648, %647 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %38) #11
  br label %768

652:                                              ; preds = %487
  %653 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %4)
          to label %654 unwind label %.loopexit193

654:                                              ; preds = %652
  %655 = getelementptr inbounds i8, ptr %653, i64 264
  %656 = invoke noundef ptr @_ZNK6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %655)
          to label %657 unwind label %.loopexit193

657:                                              ; preds = %654
  %658 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %656) #11
  %659 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %658, ptr noundef nonnull dereferenceable(1) @.str.32) #15
  %660 = icmp eq i32 %659, 0
  br i1 %660, label %661, label %722

661:                                              ; preds = %657
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %39) #11
  %662 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #12
          to label %663 unwind label %701

663:                                              ; preds = %661
  %664 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEi(ptr noundef nonnull align 8 dereferenceable(40) %12, i32 noundef %.050)
          to label %665 unwind label %703

665:                                              ; preds = %663
  %666 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEPKc(ptr noundef nonnull align 8 dereferenceable(40) %664, ptr noundef nonnull @.str.15)
          to label %667 unwind label %703

667:                                              ; preds = %665
  invoke void @_ZNK4Json5Value8asStringB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %662, ptr noundef nonnull align 8 dereferenceable(40) %666)
          to label %668 unwind label %703

668:                                              ; preds = %667
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %39, ptr noundef nonnull %662)
          to label %669 unwind label %701

669:                                              ; preds = %668
  %670 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %4)
          to label %671 unwind label %705

671:                                              ; preds = %669
  %672 = getelementptr inbounds i8, ptr %670, i64 224
  %673 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %672, ptr noundef nonnull align 8 dereferenceable(8) %39)
          to label %674 unwind label %705

674:                                              ; preds = %671
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %39) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %39) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %40) #11
  %675 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #12
          to label %676 unwind label %708

676:                                              ; preds = %674
  %677 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEi(ptr noundef nonnull align 8 dereferenceable(40) %12, i32 noundef %.050)
          to label %678 unwind label %710

678:                                              ; preds = %676
  %679 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEPKc(ptr noundef nonnull align 8 dereferenceable(40) %677, ptr noundef nonnull @.str.16)
          to label %680 unwind label %710

680:                                              ; preds = %678
  invoke void @_ZNK4Json5Value8asStringB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %675, ptr noundef nonnull align 8 dereferenceable(40) %679)
          to label %681 unwind label %710

681:                                              ; preds = %680
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %40, ptr noundef nonnull %675)
          to label %682 unwind label %708

682:                                              ; preds = %681
  %683 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %4)
          to label %684 unwind label %712

684:                                              ; preds = %682
  %685 = getelementptr inbounds i8, ptr %683, i64 232
  %686 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %685, ptr noundef nonnull align 8 dereferenceable(8) %40)
          to label %687 unwind label %712

687:                                              ; preds = %684
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %40) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %40) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %41) #11
  %688 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #12
          to label %689 unwind label %715

689:                                              ; preds = %687
  %690 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEi(ptr noundef nonnull align 8 dereferenceable(40) %12, i32 noundef %.050)
          to label %691 unwind label %717

691:                                              ; preds = %689
  %692 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEPKc(ptr noundef nonnull align 8 dereferenceable(40) %690, ptr noundef nonnull @.str.22)
          to label %693 unwind label %717

693:                                              ; preds = %691
  invoke void @_ZNK4Json5Value8asStringB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %688, ptr noundef nonnull align 8 dereferenceable(40) %692)
          to label %694 unwind label %717

694:                                              ; preds = %693
  invoke void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPS5_(ptr noundef nonnull align 8 dereferenceable(8) %41, ptr noundef nonnull %688)
          to label %695 unwind label %715

695:                                              ; preds = %694
  %696 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %4)
          to label %697 unwind label %719

697:                                              ; preds = %695
  %698 = getelementptr inbounds i8, ptr %696, i64 240
  %699 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS6_(ptr noundef nonnull align 8 dereferenceable(8) %698, ptr noundef nonnull align 8 dereferenceable(8) %41)
          to label %700 unwind label %719

700:                                              ; preds = %697
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %41) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %41) #11
  br label %761

701:                                              ; preds = %668, %661
  %702 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %707

703:                                              ; preds = %667, %665, %663
  %704 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZdlPvm(ptr noundef nonnull %662, i64 noundef 32) #14
  br label %707

705:                                              ; preds = %671, %669
  %706 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %39) #11
  br label %707

707:                                              ; preds = %705, %703, %701
  %.pn121 = phi { ptr, i32 } [ %706, %705 ], [ %702, %701 ], [ %704, %703 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %39) #11
  br label %768

708:                                              ; preds = %681, %674
  %709 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %714

710:                                              ; preds = %680, %678, %676
  %711 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZdlPvm(ptr noundef nonnull %675, i64 noundef 32) #14
  br label %714

712:                                              ; preds = %684, %682
  %713 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %40) #11
  br label %714

714:                                              ; preds = %712, %710, %708
  %.pn123 = phi { ptr, i32 } [ %713, %712 ], [ %709, %708 ], [ %711, %710 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %40) #11
  br label %768

715:                                              ; preds = %694, %687
  %716 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %721

717:                                              ; preds = %693, %691, %689
  %718 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZdlPvm(ptr noundef nonnull %688, i64 noundef 32) #14
  br label %721

719:                                              ; preds = %697, %695
  %720 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %41) #11
  br label %721

721:                                              ; preds = %719, %717, %715
  %.pn125 = phi { ptr, i32 } [ %720, %719 ], [ %716, %715 ], [ %718, %717 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %41) #11
  br label %768

722:                                              ; preds = %657
  %723 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %4)
          to label %724 unwind label %.loopexit193

724:                                              ; preds = %722
  %725 = getelementptr inbounds i8, ptr %723, i64 264
  %726 = invoke noundef ptr @_ZNK6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %725)
          to label %727 unwind label %.loopexit193

727:                                              ; preds = %724
  %728 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %726) #11
  %729 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %728, ptr noundef nonnull dereferenceable(1) @.str.33) #15
  %730 = icmp eq i32 %729, 0
  br i1 %730, label %731, label %742

731:                                              ; preds = %727
  %732 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEi(ptr noundef nonnull align 8 dereferenceable(40) %12, i32 noundef %.050)
          to label %733 unwind label %.loopexit193

733:                                              ; preds = %731
  %734 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEPKc(ptr noundef nonnull align 8 dereferenceable(40) %732, ptr noundef nonnull @.str.34)
          to label %735 unwind label %.loopexit193

735:                                              ; preds = %733
  %736 = invoke noundef zeroext i1 @_ZNK4Json5Value6asBoolEv(ptr noundef nonnull align 8 dereferenceable(40) %734)
          to label %737 unwind label %.loopexit193

737:                                              ; preds = %735
  %738 = invoke noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8) %4)
          to label %739 unwind label %.loopexit193

739:                                              ; preds = %737
  %740 = getelementptr inbounds i8, ptr %738, i64 200
  %741 = zext i1 %736 to i8
  store i8 %741, ptr %740, align 8, !tbaa !9
  br label %761

742:                                              ; preds = %727
  %743 = load ptr, ptr @logger, align 8, !tbaa !5
  invoke void (ptr, ptr, ptr, ...) @_ZN6Logger5errorEPKcS1_z(ptr noundef nonnull align 8 dereferenceable(24) %743, ptr noundef nonnull @__FUNCTION__._ZN8CashJson10exportJsonEv, ptr noundef nonnull @.str.35)
          to label %744 unwind label %.loopexit.split-lp

744:                                              ; preds = %742
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %42) #11
  %745 = invoke noalias noundef nonnull dereferenceable(176) ptr @_Znwm(i64 noundef 176) #12
          to label %746 unwind label %752

746:                                              ; preds = %744
  invoke void @_ZN6HandleI9ExceptionEC2EPS0_(ptr noundef nonnull align 8 dereferenceable(8) %43, ptr noundef null)
          to label %747 unwind label %.thread185

747:                                              ; preds = %746
  invoke void (ptr, i1, ptr, i32, i32, ptr, ptr, ptr, ptr, ...) @_ZN9ExceptionC1EbPKciiS1_S1_6HandleIS_ES1_z(ptr noundef nonnull align 8 dereferenceable(176) %745, i1 noundef zeroext false, ptr noundef nonnull @.str.2, i32 noundef 103, i32 noundef 0, ptr noundef nonnull @__FUNCTION__._ZN8CashJsonC2E6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE, ptr noundef nonnull @__FUNCTION__._ZN8CashJson10exportJsonEv, ptr noundef nonnull %43, ptr noundef nonnull @.str.35)
          to label %749 unwind label %.thread189

.thread189:                                       ; preds = %747
  %748 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleI9ExceptionED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %43) #11
  br label %757

749:                                              ; preds = %747
  invoke void @_ZN6HandleI9ExceptionEC2EPS0_(ptr noundef nonnull align 8 dereferenceable(8) %42, ptr noundef nonnull %745)
          to label %750 unwind label %755

750:                                              ; preds = %749
  call void @_ZN6HandleI9ExceptionED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %43) #11
  %751 = call ptr @__cxa_allocate_exception(i64 8) #11
  call void @_ZN6HandleI9ExceptionEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(8) %751, ptr noundef nonnull align 8 dereferenceable(8) %42)
  invoke void @__cxa_throw(ptr nonnull %751, ptr nonnull @_ZTI6HandleI9ExceptionE, ptr nonnull @_ZN6HandleI9ExceptionED2Ev) #13
          to label %802 unwind label %758

752:                                              ; preds = %744
  %753 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %760

.thread185:                                       ; preds = %746
  %754 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  br label %757

755:                                              ; preds = %749
  %756 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleI9ExceptionED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %43) #11
  br label %760

757:                                              ; preds = %.thread189, %.thread185
  %.pn117188 = phi { ptr, i32 } [ %754, %.thread185 ], [ %748, %.thread189 ]
  call void @_ZdlPvm(ptr noundef nonnull %745, i64 noundef 176) #14
  br label %760

758:                                              ; preds = %750
  %759 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleI9ExceptionED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %42) #11
  br label %760

760:                                              ; preds = %755, %757, %758, %752
  %.pn119 = phi { ptr, i32 } [ %759, %758 ], [ %.pn117188, %757 ], [ %756, %755 ], [ %753, %752 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %42) #11
  br label %768

761:                                              ; preds = %595, %739, %700, %355
  %762 = invoke noundef ptr @_ZNK6HandleI17PkiItemCollectionEptEv(ptr noundef nonnull align 8 dereferenceable(8) %0)
          to label %763 unwind label %.loopexit193

763:                                              ; preds = %761
  call void @_ZN6HandleI7PkiItemEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(8) %44, ptr noundef nonnull align 8 dereferenceable(8) %4)
  invoke void @_ZN17PkiItemCollection4pushE6HandleI7PkiItemE(ptr noundef nonnull align 8 dereferenceable(24) %762, ptr noundef nonnull %44)
          to label %764 unwind label %766

764:                                              ; preds = %763
  call void @_ZN6HandleI7PkiItemED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %44) #11
  %765 = add nuw nsw i32 %.050, 1
  br label %.preheader, !llvm.loop !13

766:                                              ; preds = %763
  %767 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTI6HandleI9ExceptionE
  call void @_ZN6HandleI7PkiItemED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %44) #11
  br label %768

768:                                              ; preds = %.loopexit193, %.loopexit.split-lp, %766, %760, %721, %714, %707, %651, %644, %637, %630, %623, %616, %609, %602, %481, %474, %467, %460, %453, %446, %439, %432, %425, %418, %411, %404, %397, %390, %383, %376, %369, %362
  %.pn167 = phi { ptr, i32 } [ %767, %766 ], [ %.pn165, %481 ], [ %.pn163, %474 ], [ %.pn161, %467 ], [ %.pn159, %460 ], [ %.pn157, %453 ], [ %.pn155, %446 ], [ %.pn153, %439 ], [ %.pn151, %432 ], [ %.pn149, %425 ], [ %.pn147, %418 ], [ %.pn145, %411 ], [ %.pn143, %404 ], [ %.pn141, %651 ], [ %.pn139, %644 ], [ %.pn137, %637 ], [ %.pn135, %630 ], [ %.pn133, %623 ], [ %.pn131, %616 ], [ %.pn129, %609 ], [ %.pn127, %602 ], [ %.pn125, %721 ], [ %.pn123, %714 ], [ %.pn121, %707 ], [ %.pn119, %760 ], [ %.pn115, %397 ], [ %.pn113, %390 ], [ %.pn111, %383 ], [ %.pn109, %376 ], [ %.pn107, %369 ], [ %.pn105, %362 ], [ %lpad.loopexit, %.loopexit193 ], [ %lpad.loopexit.split-lp, %.loopexit.split-lp ]
  call void @_ZN4Json5ValueD1Ev(ptr noundef nonnull align 8 dereferenceable(40) %12) #11
  br label %.loopexit.loopexit

.loopexit.loopexit:                               ; preds = %768, %110
  %.pn167.pn = phi { ptr, i32 } [ %.pn167, %768 ], [ %111, %110 ]
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %12) #11
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #11
  br label %.loopexit

.loopexit:                                        ; preds = %.loopexit.loopexit, %101
  %.pn167.pn.pn = phi { ptr, i32 } [ %102, %101 ], [ %.pn167.pn, %.loopexit.loopexit ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %10) #11
  br label %769

769:                                              ; preds = %.loopexit, %98, %88
  %.pn167.pn.pn.pn = phi { ptr, i32 } [ %.pn167.pn.pn, %.loopexit ], [ %.pn103, %98 ], [ %89, %88 ]
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %7) #11
  br label %770

770:                                              ; preds = %769, %86
  %.pn167.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn167.pn.pn.pn, %769 ], [ %87, %86 ]
  call void @llvm.lifetime.end.p0(i64 520, ptr nonnull %7) #11
  call void @_ZN4Json6ReaderD2Ev(ptr noundef nonnull align 8 dereferenceable(269) %6) #11
  br label %771

771:                                              ; preds = %770, %84
  %.pn167.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn167.pn.pn.pn.pn, %770 ], [ %85, %84 ]
  call void @llvm.lifetime.end.p0(i64 272, ptr nonnull %6) #11
  call void @_ZN4Json5ValueD1Ev(ptr noundef nonnull align 8 dereferenceable(40) %5) #11
  br label %772

772:                                              ; preds = %771, %82
  %.pn167.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn167.pn.pn.pn.pn.pn, %771 ], [ %83, %82 ]
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %5) #11
  call void @_ZN6HandleI7PkiItemED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %4) #11
  br label %773

773:                                              ; preds = %772, %80, %78
  %.pn167.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn167.pn.pn.pn.pn.pn.pn, %772 ], [ %79, %78 ], [ %81, %80 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %4) #11
  call void @_ZN6HandleI17PkiItemCollectionED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %0) #11
  br label %774

774:                                              ; preds = %773, %76, %74
  %.pn167.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn167.pn.pn.pn.pn.pn.pn.pn, %773 ], [ %75, %74 ], [ %77, %76 ]
  %.4195 = extractvalue { ptr, i32 } %.pn167.pn.pn.pn.pn.pn.pn.pn.pn, 1
  %775 = call i32 @llvm.eh.typeid.for.p0(ptr nonnull @_ZTI6HandleI9ExceptionE) #11
  %776 = icmp eq i32 %.4195, %775
  br i1 %776, label %777, label %798

777:                                              ; preds = %774
  %.41 = extractvalue { ptr, i32 } %.pn167.pn.pn.pn.pn.pn.pn.pn.pn, 0
  %778 = call ptr @__cxa_begin_catch(ptr %.41) #11
  %779 = load ptr, ptr @logger, align 8, !tbaa !5
  invoke void (ptr, ptr, ptr, ...) @_ZN6Logger5errorEPKcS1_z(ptr noundef nonnull align 8 dereferenceable(24) %779, ptr noundef nonnull @__FUNCTION__._ZN8CashJson10exportJsonEv, ptr noundef nonnull @.str.36)
          to label %780 unwind label %786

780:                                              ; preds = %777
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %45) #11
  %781 = invoke noalias noundef nonnull dereferenceable(176) ptr @_Znwm(i64 noundef 176) #12
          to label %782 unwind label %788

782:                                              ; preds = %780
  call void @_ZN6HandleI9ExceptionEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(8) %46, ptr noundef nonnull align 8 dereferenceable(8) %778)
  invoke void (ptr, i1, ptr, i32, i32, ptr, ptr, ptr, ptr, ...) @_ZN9ExceptionC1EbPKciiS1_S1_6HandleIS_ES1_z(ptr noundef nonnull align 8 dereferenceable(176) %781, i1 noundef zeroext false, ptr noundef nonnull @.str.2, i32 noundef 113, i32 noundef 0, ptr noundef nonnull @__FUNCTION__._ZN8CashJsonC2E6HandleINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE, ptr noundef nonnull @__FUNCTION__._ZN8CashJson10exportJsonEv, ptr noundef nonnull %46, ptr noundef nonnull @.str.36)
          to label %783 unwind label %792

783:                                              ; preds = %782
  invoke void @_ZN6HandleI9ExceptionEC2EPS0_(ptr noundef nonnull align 8 dereferenceable(8) %45, ptr noundef nonnull %781)
          to label %784 unwind label %790

784:                                              ; preds = %783
  call void @_ZN6HandleI9ExceptionED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %46) #11
  %785 = call ptr @__cxa_allocate_exception(i64 8) #11
  call void @_ZN6HandleI9ExceptionEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(8) %785, ptr noundef nonnull align 8 dereferenceable(8) %45)
  invoke void @__cxa_throw(ptr nonnull %785, ptr nonnull @_ZTI6HandleI9ExceptionE, ptr nonnull @_ZN6HandleI9ExceptionED2Ev) #13
          to label %802 unwind label %794

786:                                              ; preds = %777
  %787 = landingpad { ptr, i32 }
          cleanup
  br label %797

788:                                              ; preds = %780
  %789 = landingpad { ptr, i32 }
          cleanup
  br label %796

790:                                              ; preds = %783
  %791 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6HandleI9ExceptionED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %46) #11
  br label %796

792:                                              ; preds = %782
  %793 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6HandleI9ExceptionED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %46) #11
  call void @_ZdlPvm(ptr noundef nonnull %781, i64 noundef 176) #14
  br label %796

794:                                              ; preds = %784
  %795 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6HandleI9ExceptionED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %45) #11
  br label %796

796:                                              ; preds = %790, %792, %794, %788
  %.pn177 = phi { ptr, i32 } [ %795, %794 ], [ %793, %792 ], [ %791, %790 ], [ %789, %788 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %45) #11
  br label %797

797:                                              ; preds = %796, %786
  %.pn177.pn = phi { ptr, i32 } [ %.pn177, %796 ], [ %787, %786 ]
  invoke void @__cxa_end_catch()
          to label %798 unwind label %799

798:                                              ; preds = %797, %774
  %.merged = phi { ptr, i32 } [ %.pn167.pn.pn.pn.pn.pn.pn.pn.pn, %774 ], [ %.pn177.pn, %797 ]
  call void @_ZN14LoggerFunctionD1Ev(ptr noundef nonnull align 8 dereferenceable(16) %3) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %3) #11
  resume { ptr, i32 } %.merged

799:                                              ; preds = %797
  %800 = landingpad { ptr, i32 }
          catch ptr null
  %801 = extractvalue { ptr, i32 } %800, 0
  call void @__clang_call_terminate(ptr %801) #16
  unreachable

802:                                              ; preds = %784, %750, %72
  unreachable
}

declare void @_ZN17PkiItemCollectionC1Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #2

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

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

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

declare void @_ZN4Json5ValueC1ENS_9ValueTypeE(ptr noundef nonnull align 8 dereferenceable(40), i32 noundef) unnamed_addr #2

declare void @_ZN4Json6ReaderC1Ev(ptr noundef nonnull align 8 dereferenceable(269)) unnamed_addr #2

declare noundef zeroext i1 @_ZN4Json6Reader5parseERSiRNS_5ValueEb(ptr noundef nonnull align 8 dereferenceable(269), ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(40), i1 noundef zeroext) 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 #0 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 noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(40), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #2

declare noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEPKc(ptr noundef nonnull align 8 dereferenceable(40), ptr noundef) local_unnamed_addr #2

declare void @_ZN4Json5ValueC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(40), ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #2

declare noundef i32 @_ZNK4Json5Value4sizeEv(ptr noundef nonnull align 8 dereferenceable(40)) local_unnamed_addr #2

declare noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5ValueixEi(ptr noundef nonnull align 8 dereferenceable(40), i32 noundef) local_unnamed_addr #2

declare void @_ZNK4Json5Value8asStringB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(40)) local_unnamed_addr #2

; Function Attrs: mustprogress uwtable
declare dso_local noundef ptr @_ZNK6HandleI7PkiItemEptEv(ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #0 align 2

; Function Attrs: mustprogress nofree nounwind willreturn memory(argmem: read)
declare i32 @strcmp(ptr nocapture noundef, ptr nocapture noundef) local_unnamed_addr #9

declare noundef zeroext i1 @_ZNK4Json5Value6asBoolEv(ptr noundef nonnull align 8 dereferenceable(40)) local_unnamed_addr #2

; Function Attrs: mustprogress uwtable
declare dso_local noundef ptr @_ZNK6HandleI17PkiItemCollectionEptEv(ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #0 align 2

declare void @_ZN17PkiItemCollection4pushE6HandleI7PkiItemE(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef) local_unnamed_addr #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

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

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN4Json6ReaderD2Ev(ptr noundef nonnull align 8 dereferenceable(269)) unnamed_addr #10 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN6HandleI17PkiItemCollectionED2Ev(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 uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #2 = { "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 = { 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 #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 = { inlinehint 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 #11 = { nounwind }
attributes #12 = { builtin allocsize(0) }
attributes #13 = { noreturn }
attributes #14 = { builtin nounwind }
attributes #15 = { nounwind willreturn memory(read) }
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, !11, i64 8}
!10 = !{!"_ZTS7IPkiKey", !11, i64 8, !12, i64 16}
!11 = !{!"bool", !7, i64 0}
!12 = !{!"_ZTS6HandleI3KeyE", !6, i64 0}
!13 = distinct !{!13, !14}
!14 = !{!"llvm.loop.mustprogress"}


; Effective O3 passes: CorrelatedValuePropagationPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferFunctionAttrsPass,InstCombinePass,InstSimplifyPass,JumpThreadingPass,LCSSAPass,LoopSimplifyPass,LoopUnrollPass,SROAPass,SimplifyCFGPass