; LLVM IR from dynexcoin/Dynex :: src/Wallet (WalletGreen)

; 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.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.Logging::LoggerMessage" = type <{ %"class.std::basic_ostream.base", %"class.std::basic_streambuf", ptr, %"class.std::__cxx11::basic_string", i32, [4 x i8], %"class.std::__cxx11::basic_string", %"class.boost::posix_time::ptime", i8, [7 x i8], %"class.std::basic_ios" }>
%"class.std::basic_ostream.base" = type { ptr }
%"class.std::basic_streambuf" = type { ptr, ptr, ptr, ptr, ptr, ptr, ptr, %"class.std::locale" }
%"class.std::locale" = type { ptr }
%"class.boost::posix_time::ptime" = type { %"class.boost::date_time::base_time" }
%"class.boost::date_time::base_time" = type { %"struct.boost::date_time::counted_time_rep" }
%"struct.boost::date_time::counted_time_rep" = type { %"class.boost::date_time::int_adapter" }
%"class.boost::date_time::int_adapter" = type { i64 }
%"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.std::error_code" = type { i32, ptr }
%"class.Crypto::cn_context" = type { ptr }
%"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 }
%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.187 }
%union.anon.187 = type { i32 }
%"class.std::unordered_set" = type { %"class.std::_Hashtable.188" }
%"class.std::_Hashtable.188" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"struct.std::__detail::_Hash_node_base" = type { ptr }
%"struct.std::__detail::_Prime_rehash_policy" = type { float, i64 }
%"class.std::vector.164" = type { %"struct.std::_Vector_base.165" }
%"struct.std::_Vector_base.165" = type { %"struct.std::_Vector_base<DynexCN::AccountPublicAddress, std::allocator<DynexCN::AccountPublicAddress>>::_Vector_impl" }
%"struct.std::_Vector_base<DynexCN::AccountPublicAddress, std::allocator<DynexCN::AccountPublicAddress>>::_Vector_impl" = type { %"struct.std::_Vector_base<DynexCN::AccountPublicAddress, std::allocator<DynexCN::AccountPublicAddress>>::_Vector_impl_data" }
%"struct.std::_Vector_base<DynexCN::AccountPublicAddress, std::allocator<DynexCN::AccountPublicAddress>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.__gnu_cxx::__normal_iterator" = type { ptr }
%"class.std::vector.201" = type { %"struct.std::_Vector_base.202" }
%"struct.std::_Vector_base.202" = type { %"struct.std::_Vector_base<DynexCN::TransactionOutputInformation, std::allocator<DynexCN::TransactionOutputInformation>>::_Vector_impl" }
%"struct.std::_Vector_base<DynexCN::TransactionOutputInformation, std::allocator<DynexCN::TransactionOutputInformation>>::_Vector_impl" = type { %"struct.std::_Vector_base<DynexCN::TransactionOutputInformation, std::allocator<DynexCN::TransactionOutputInformation>>::_Vector_impl_data" }
%"struct.std::_Vector_base<DynexCN::TransactionOutputInformation, std::allocator<DynexCN::TransactionOutputInformation>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.__gnu_cxx::__normal_iterator.207" = type { ptr }
%"struct.std::pair" = type <{ %"class.boost::multi_index::detail::rnd_node_iterator.170", i8, [7 x i8] }>
%"class.boost::multi_index::detail::rnd_node_iterator.170" = type { ptr }
%"class.DynexCN::WalletGreen" = type { %"class.DynexCN::IWallet", %"class.DynexCN::ITransfersObserver", %"class.DynexCN::IBlockchainSynchronizerObserver", %"class.DynexCN::ITransfersSynchronizerObserver", %"class.DynexCN::IFusionManager", ptr, ptr, ptr, %"class.Logging::LoggerRef", i8, %"class.boost::multi_index::multi_index_container", %"class.Common::FileMappedVector", %"class.boost::multi_index::multi_index_container.7", %"class.boost::multi_index::multi_index_container.15", %"class.std::vector", %"class.std::unordered_map", %"class.std::map", i8, %"class.DynexCN::BlockchainSynchronizer", %"class.DynexCN::TransfersSyncronizer", %"class.System::Event", %"class.std::queue", %"class.System::Event", i32, %"class.std::__cxx11::basic_string", %"struct.Crypto::chacha8_key", %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"struct.Crypto::PublicKey", %"struct.Crypto::SecretKey", i64, i64, i64, i32, %"class.boost::multi_index::multi_index_container.96" }
%"class.DynexCN::IWallet" = type { ptr }
%"class.DynexCN::ITransfersObserver" = type { ptr }
%"class.DynexCN::IBlockchainSynchronizerObserver" = type { ptr }
%"class.DynexCN::ITransfersSynchronizerObserver" = type { ptr }
%"class.DynexCN::IFusionManager" = type { ptr }
%"class.Logging::LoggerRef" = type { ptr, %"class.std::__cxx11::basic_string" }
%"class.boost::multi_index::multi_index_container" = type { [8 x i8], %"struct.boost::multi_index::detail::header_holder", %"class.boost::multi_index::detail::random_access_index", i64 }
%"struct.boost::multi_index::detail::header_holder" = type { ptr }
%"class.boost::multi_index::detail::random_access_index" = type { %"class.boost::multi_index::detail::hashed_index", %"class.boost::multi_index::detail::random_access_index_ptr_array" }
%"class.boost::multi_index::detail::hashed_index" = type { %"class.boost::multi_index::detail::hashed_index.5", [8 x i8], %"class.boost::multi_index::detail::bucket_array", float, i64 }
%"class.boost::multi_index::detail::hashed_index.5" = type { [8 x i8], %"class.boost::multi_index::detail::bucket_array", float, i64 }
%"class.boost::multi_index::detail::bucket_array" = type { i64, %"struct.boost::multi_index::detail::auto_space" }
%"struct.boost::multi_index::detail::auto_space" = type { [8 x i8], i64, ptr }
%"class.boost::multi_index::detail::random_access_index_ptr_array" = type { i64, i64, %"struct.boost::multi_index::detail::auto_space.6" }
%"struct.boost::multi_index::detail::auto_space.6" = type { [8 x i8], i64, ptr }
%"class.Common::FileMappedVector" = type <{ %"class.std::__cxx11::basic_string", %"class.System::MemoryMappedFile", i64, i64, i8, [7 x i8] }>
%"class.System::MemoryMappedFile" = type { i32, %"class.std::__cxx11::basic_string", i64, ptr }
%"class.boost::multi_index::multi_index_container.7" = type { [8 x i8], %"struct.boost::multi_index::detail::header_holder.9", %"class.boost::multi_index::detail::ordered_index.base", i64 }
%"struct.boost::multi_index::detail::header_holder.9" = type { ptr }
%"class.boost::multi_index::detail::ordered_index.base" = type { %"class.boost::multi_index::detail::ordered_index_impl.base" }
%"class.boost::multi_index::detail::ordered_index_impl.base" = type <{ %"class.boost::multi_index::detail::hashed_index.10", [2 x i8] }>
%"class.boost::multi_index::detail::hashed_index.10" = type { [8 x i8], %"class.boost::multi_index::detail::bucket_array.13", float, i64 }
%"class.boost::multi_index::detail::bucket_array.13" = type { i64, %"struct.boost::multi_index::detail::auto_space.14" }
%"struct.boost::multi_index::detail::auto_space.14" = type { [8 x i8], i64, ptr }
%"class.boost::multi_index::multi_index_container.15" = type { [8 x i8], %"struct.boost::multi_index::detail::header_holder.17", %"class.boost::multi_index::detail::random_access_index.18", i64 }
%"struct.boost::multi_index::detail::header_holder.17" = type { ptr }
%"class.boost::multi_index::detail::random_access_index.18" = type { %"class.boost::multi_index::detail::hashed_index.19", %"class.boost::multi_index::detail::random_access_index_ptr_array.26" }
%"class.boost::multi_index::detail::hashed_index.19" = type { [8 x i8], %"class.boost::multi_index::detail::bucket_array.24", float, i64 }
%"class.boost::multi_index::detail::bucket_array.24" = type { i64, %"struct.boost::multi_index::detail::auto_space.25" }
%"struct.boost::multi_index::detail::auto_space.25" = type { [8 x i8], i64, ptr }
%"class.boost::multi_index::detail::random_access_index_ptr_array.26" = type { i64, i64, %"struct.boost::multi_index::detail::auto_space.27" }
%"struct.boost::multi_index::detail::auto_space.27" = type { [8 x i8], i64, ptr }
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<std::pair<unsigned long, DynexCN::WalletTransfer>, std::allocator<std::pair<unsigned long, DynexCN::WalletTransfer>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::pair<unsigned long, DynexCN::WalletTransfer>, std::allocator<std::pair<unsigned long, DynexCN::WalletTransfer>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::pair<unsigned long, DynexCN::WalletTransfer>, std::allocator<std::pair<unsigned long, DynexCN::WalletTransfer>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::pair<unsigned long, DynexCN::WalletTransfer>, std::allocator<std::pair<unsigned long, DynexCN::WalletTransfer>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::unordered_map" = type { %"class.std::_Hashtable" }
%"class.std::_Hashtable" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"class.std::map" = type { %"class.std::_Rb_tree" }
%"class.std::_Rb_tree" = type { %"struct.std::_Rb_tree<unsigned long, std::pair<const unsigned long, DynexCN::Transaction>, std::_Select1st<std::pair<const unsigned long, DynexCN::Transaction>>, std::less<unsigned long>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<unsigned long, std::pair<const unsigned long, DynexCN::Transaction>, std::_Select1st<std::pair<const unsigned long, DynexCN::Transaction>>, std::less<unsigned long>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"struct.std::_Rb_tree_header" = type { %"struct.std::_Rb_tree_node_base", i64 }
%"struct.std::_Rb_tree_node_base" = type { i32, ptr, ptr, ptr }
%"class.DynexCN::BlockchainSynchronizer" = type { %"class.DynexCN::IObservableImpl", %"class.DynexCN::INodeObserver", %"class.Logging::LoggerRef", %"class.std::map.44", ptr, %"struct.Crypto::Hash", %"struct.Crypto::Hash", i32, i32, %"class.std::unique_ptr", %"class.std::__cxx11::list", %"class.std::__cxx11::list.55", %"class.std::mutex", %"class.std::mutex", %"class.std::condition_variable" }
%"class.DynexCN::IObservableImpl" = type { %"class.DynexCN::IBlockchainSynchronizer", %"class.Tools::ObserverManager" }
%"class.DynexCN::IBlockchainSynchronizer" = type { %"class.DynexCN::IObservable", %"class.DynexCN::IStreamSerializable" }
%"class.DynexCN::IObservable" = type { ptr }
%"class.DynexCN::IStreamSerializable" = type { ptr }
%"class.Tools::ObserverManager" = type { %"class.std::vector.39", %"class.std::mutex" }
%"class.std::vector.39" = type { %"struct.std::_Vector_base.40" }
%"struct.std::_Vector_base.40" = type { %"struct.std::_Vector_base<DynexCN::IBlockchainSynchronizerObserver *, std::allocator<DynexCN::IBlockchainSynchronizerObserver *>>::_Vector_impl" }
%"struct.std::_Vector_base<DynexCN::IBlockchainSynchronizerObserver *, std::allocator<DynexCN::IBlockchainSynchronizerObserver *>>::_Vector_impl" = type { %"struct.std::_Vector_base<DynexCN::IBlockchainSynchronizerObserver *, std::allocator<DynexCN::IBlockchainSynchronizerObserver *>>::_Vector_impl_data" }
%"struct.std::_Vector_base<DynexCN::IBlockchainSynchronizerObserver *, std::allocator<DynexCN::IBlockchainSynchronizerObserver *>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.DynexCN::INodeObserver" = type { ptr }
%"class.std::map.44" = type { %"class.std::_Rb_tree.45" }
%"class.std::_Rb_tree.45" = type { %"struct.std::_Rb_tree<DynexCN::IBlockchainConsumer *, std::pair<DynexCN::IBlockchainConsumer *const, std::shared_ptr<DynexCN::SynchronizationState>>, std::_Select1st<std::pair<DynexCN::IBlockchainConsumer *const, std::shared_ptr<DynexCN::SynchronizationState>>>, std::less<DynexCN::IBlockchainConsumer *>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<DynexCN::IBlockchainConsumer *, std::pair<DynexCN::IBlockchainConsumer *const, std::shared_ptr<DynexCN::SynchronizationState>>, std::_Select1st<std::pair<DynexCN::IBlockchainConsumer *const, std::shared_ptr<DynexCN::SynchronizationState>>>, std::less<DynexCN::IBlockchainConsumer *>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"struct.Crypto::Hash" = type { [32 x i8] }
%"class.std::unique_ptr" = type { %"struct.std::__uniq_ptr_data" }
%"struct.std::__uniq_ptr_data" = type { %"class.std::__uniq_ptr_impl" }
%"class.std::__uniq_ptr_impl" = type { %"class.std::tuple" }
%"class.std::tuple" = type { %"struct.std::_Tuple_impl" }
%"struct.std::_Tuple_impl" = type { %"struct.std::_Head_base.51" }
%"struct.std::_Head_base.51" = type { ptr }
%"class.std::__cxx11::list" = type { %"class.std::__cxx11::_List_base" }
%"class.std::__cxx11::_List_base" = type { %"struct.std::__cxx11::_List_base<std::pair<const DynexCN::ITransactionReader *, std::promise<std::error_code>>, std::allocator<std::pair<const DynexCN::ITransactionReader *, std::promise<std::error_code>>>>::_List_impl" }
%"struct.std::__cxx11::_List_base<std::pair<const DynexCN::ITransactionReader *, std::promise<std::error_code>>, std::allocator<std::pair<const DynexCN::ITransactionReader *, std::promise<std::error_code>>>>::_List_impl" = type { %"struct.std::__detail::_List_node_header" }
%"struct.std::__detail::_List_node_header" = type { %"struct.std::__detail::_List_node_base", i64 }
%"struct.std::__detail::_List_node_base" = type { ptr, ptr }
%"class.std::__cxx11::list.55" = type { %"class.std::__cxx11::_List_base.56" }
%"class.std::__cxx11::_List_base.56" = type { %"struct.std::__cxx11::_List_base<std::pair<const Crypto::Hash *, std::promise<void>>, std::allocator<std::pair<const Crypto::Hash *, std::promise<void>>>>::_List_impl" }
%"struct.std::__cxx11::_List_base<std::pair<const Crypto::Hash *, std::promise<void>>, std::allocator<std::pair<const Crypto::Hash *, std::promise<void>>>>::_List_impl" = type { %"struct.std::__detail::_List_node_header" }
%"class.std::mutex" = type { %"class.std::__mutex_base" }
%"class.std::__mutex_base" = type { %union.pthread_mutex_t }
%"class.std::condition_variable" = type { %"class.std::__condvar" }
%"class.std::__condvar" = type { %union.pthread_cond_t }
%union.pthread_cond_t = type { %struct.__pthread_cond_s }
%struct.__pthread_cond_s = type { %union.__atomic_wide_counter, %union.__atomic_wide_counter, [2 x i32], [2 x i32], i32, i32, [2 x i32] }
%union.__atomic_wide_counter = type { i64 }
%"class.DynexCN::TransfersSyncronizer" = type { %"class.DynexCN::ITransfersSynchronizer", %"class.DynexCN::IBlockchainConsumerObserver", %"class.Logging::LoggerRef", %"class.std::unordered_map.60", %"class.std::unordered_map.79", ptr, ptr, ptr }
%"class.DynexCN::ITransfersSynchronizer" = type { %"class.DynexCN::IStreamSerializable" }
%"class.DynexCN::IBlockchainConsumerObserver" = type { ptr }
%"class.std::unordered_map.60" = type { %"class.std::_Hashtable.61" }
%"class.std::_Hashtable.61" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"class.std::unordered_map.79" = type { %"class.std::_Hashtable.80" }
%"class.std::_Hashtable.80" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"class.std::queue" = type { %"class.std::deque" }
%"class.std::deque" = type { %"class.std::_Deque_base" }
%"class.std::_Deque_base" = type { %"struct.std::_Deque_base<DynexCN::WalletEvent, std::allocator<DynexCN::WalletEvent>>::_Deque_impl" }
%"struct.std::_Deque_base<DynexCN::WalletEvent, std::allocator<DynexCN::WalletEvent>>::_Deque_impl" = type { %"struct.std::_Deque_base<DynexCN::WalletEvent, std::allocator<DynexCN::WalletEvent>>::_Deque_impl_data" }
%"struct.std::_Deque_base<DynexCN::WalletEvent, std::allocator<DynexCN::WalletEvent>>::_Deque_impl_data" = type { ptr, i64, %"struct.std::_Deque_iterator", %"struct.std::_Deque_iterator" }
%"struct.std::_Deque_iterator" = type { ptr, ptr, ptr, ptr }
%"class.System::Event" = type { ptr, i8, ptr, ptr }
%"struct.Crypto::chacha8_key" = type { [32 x i8] }
%"struct.Crypto::PublicKey" = type { [32 x i8] }
%"struct.Crypto::SecretKey" = type { [32 x i8] }
%"class.boost::multi_index::multi_index_container.96" = type { [8 x i8], %"struct.boost::multi_index::detail::header_holder.98", %"class.boost::multi_index::detail::random_access_index.99", i64 }
%"struct.boost::multi_index::detail::header_holder.98" = type { ptr }
%"class.boost::multi_index::detail::random_access_index.99" = type { %"class.boost::multi_index::detail::hashed_index.100", %"class.boost::multi_index::detail::random_access_index_ptr_array.105" }
%"class.boost::multi_index::detail::hashed_index.100" = type { [8 x i8], %"class.boost::multi_index::detail::bucket_array.103", float, i64 }
%"class.boost::multi_index::detail::bucket_array.103" = type { i64, %"struct.boost::multi_index::detail::auto_space.104" }
%"struct.boost::multi_index::detail::auto_space.104" = type { [8 x i8], i64, ptr }
%"class.boost::multi_index::detail::random_access_index_ptr_array.105" = type { i64, i64, %"struct.boost::multi_index::detail::auto_space.106" }
%"struct.boost::multi_index::detail::auto_space.106" = type { [8 x i8], i64, ptr }
%"struct.DynexCN::TransactionOutputInformation" = type { i8, i64, i32, i32, %"struct.Crypto::Hash", %"struct.Crypto::PublicKey", %union.anon.208 }
%union.anon.208 = type { i32, [28 x i8] }

@_ZN7Logging12BRIGHT_WHITEB5cxx11E = external global %"class.std::__cxx11::basic_string", align 8
@_ZN7Logging10BRIGHT_REDB5cxx11E = external global %"class.std::__cxx11::basic_string", align 8
@_ZTISt12system_error = external constant ptr
@.str.17 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [21 x i8], align 1
@_ZTISt9exception = external constant ptr
@_ZN7Logging7DEFAULTB5cxx11E = external global %"class.std::__cxx11::basic_string", align 8
@.str.29 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [27 x i8], align 1
@_ZN7Logging13BRIGHT_YELLOWB5cxx11E = external global %"class.std::__cxx11::basic_string", align 8
@.str.34 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [60 x i8], align 1
@__PRETTY_FUNCTION__._ZN7DynexCN11WalletGreen4loadERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_RS6_ = external hidden unnamed_addr constant [97 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [19 x i8], align 1

declare i32 @__gxx_personality_v0(...)

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

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

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

declare ptr @__cxa_begin_catch(ptr)

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

declare void @__cxa_end_catch()

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 1 dereferenceable(32) ptr @_ZNK7DynexCN8Currency16genesisBlockHashEv(ptr noundef nonnull align 8 dereferenceable(984)) #2 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEN6Crypto9PublicKeyEEOT_S5_RKT0_(ptr noundef nonnull align 8 dereferenceable(161), ptr noundef nonnull align 1 dereferenceable(32)) #3

declare void @_ZNK7Logging9LoggerRefclENS_5LevelERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind writable sret(%"class.Logging::LoggerMessage") align 8, ptr noundef nonnull align 8 dereferenceable(40), i32 noundef, ptr noundef nonnull align 8 dereferenceable(32)) #4

; Function Attrs: nounwind
declare void @_ZN7Logging13LoggerMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(161)) unnamed_addr #5

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA23_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161), ptr noundef nonnull align 1 dereferenceable(23)) #3

declare ptr @__cxa_allocate_exception(i64)

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local { i32, ptr } @_Z15make_error_codeN7DynexCN5error16WalletErrorCodesE(i32 noundef) #6

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt12system_errorC2ESt10error_code(ptr noundef nonnull align 8 dereferenceable(32), i32, ptr) unnamed_addr #7 align 2

declare void @__cxa_free_exception(ptr)

; Function Attrs: nounwind
declare void @_ZNSt12system_errorD1Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #5

declare void @__cxa_throw(ptr, ptr, ptr)

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA20_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161), ptr noundef nonnull align 1 dereferenceable(20)) #3

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i64 @_ZNK5boost11multi_index6detail19random_access_indexINS1_9nth_layerILi1EN7DynexCN12WalletRecordENS0_10indexed_byINS0_13random_accessINS0_3tagINS4_17RandomAccessIndexEN4mpl_2naESB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_EEEENS0_13hashed_uniqueINS8_INS4_9KeysIndexESB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_EENS0_6memberIS5_N6Crypto9PublicKeyEXadL_ZNS5_14spendPublicKeyEEEEESB_SB_EENSE_INS8_INS4_23TransfersContainerIndexESB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_EENSH_IS5_PNS4_19ITransfersContainerEXadL_ZNS5_9containerEEEEESB_SB_EESB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_EESaIS5_EEENS_3mpl6v_itemIS9_NSV_7vector0ISB_EELi0EEEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(152)) #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7DynexCN11WalletGreen26stopBlockchainSynchronizerEv(ptr noundef nonnull align 8 dereferenceable(1872)) #7 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7DynexCN11WalletGreen11clearCachesEbb(ptr noundef nonnull align 8 dereferenceable(1872), i1 noundef zeroext, i1 noundef zeroext) #7 align 2

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

declare void @_ZN7DynexCN20TransfersSyncronizer16getSubscriptionsERSt6vectorINS_20AccountPublicAddressESaIS2_EE(ptr noundef nonnull align 8 dereferenceable(192), ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #4

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

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

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

; Function Attrs: noreturn nounwind
declare void @__assert_fail(ptr noundef, ptr noundef, i32 noundef, ptr noundef) #8

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEN7DynexCN11WalletGreen11WalletStateEEOT_S6_RKT0_(ptr noundef nonnull align 8 dereferenceable(161), ptr noundef nonnull align 4 dereferenceable(4)) #3

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNK7DynexCN11WalletGreen14throwIfStoppedEv(ptr noundef nonnull align 8 dereferenceable(1872)) #7 align 2

declare void @_ZN6Crypto10cn_contextC1Ev(ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #4

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN6Crypto20generate_chacha8_keyERNS_10cn_contextERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERNS_11chacha8_keyE(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 1 dereferenceable(32)) #3

; Function Attrs: mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) #7 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNK5boost11multi_index6detail19random_access_indexINS1_9nth_layerILi1EN6Crypto4HashENS0_10indexed_byINS0_13random_accessINS0_3tagIN7DynexCN16BlockHeightIndexEN4mpl_2naESC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_EEEENS0_13hashed_uniqueINS8_INS9_14BlockHashIndexESC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_EENS0_8identityIS5_EESC_SC_EESC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_EESaIS5_EEENS_3mpl6v_itemISA_NSO_7vector0ISC_EELi0EEEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(96)) #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local { ptr, i8 } @_ZN5boost11multi_index6detail19random_access_indexINS1_9nth_layerILi1EN6Crypto4HashENS0_10indexed_byINS0_13random_accessINS0_3tagIN7DynexCN16BlockHeightIndexEN4mpl_2naESC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_EEEENS0_13hashed_uniqueINS8_INS9_14BlockHashIndexESC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_EENS0_8identityIS5_EESC_SC_EESC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_EESaIS5_EEENS_3mpl6v_itemISA_NSO_7vector0ISC_EELi0EEEE9push_backERKS5_(ptr noundef nonnull align 8 dereferenceable(96), ptr noundef nonnull align 1 dereferenceable(32)) #7 align 2

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7DynexCN11WalletGreen15saveWalletCacheERN6Common16FileMappedVectorINS_21EncryptedWalletRecordEEERKN6Crypto11chacha8_keyENS_15WalletSaveLevelERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(1872), ptr noundef nonnull align 8 dereferenceable(105), ptr noundef nonnull align 1 dereferenceable(32), i8 noundef zeroext, ptr noundef nonnull align 8 dereferenceable(32)) #7 align 2

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEPKcEOT_S5_RKT0_(ptr noundef nonnull align 8 dereferenceable(161), ptr noundef nonnull align 8 dereferenceable(8)) #3

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7DynexCN11WalletGreen27startBlockchainSynchronizerEv(ptr noundef nonnull align 8 dereferenceable(1872)) #7 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA16_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161), ptr noundef nonnull align 1 dereferenceable(16)) #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA29_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161), ptr noundef nonnull align 1 dereferenceable(29)) #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA19_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161), ptr noundef nonnull align 1 dereferenceable(19)) #3

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN7DynexCN11WalletGreen4loadERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_RS6_(ptr noundef nonnull align 8 dereferenceable(1872) %0, ptr noundef nonnull align 8 dereferenceable(32) %1, ptr noundef nonnull align 8 dereferenceable(32) %2, ptr noundef nonnull align 8 dereferenceable(32) %3) unnamed_addr #7 align 2 personality ptr @__gxx_personality_v0 {
  %5 = alloca ptr, align 8
  %6 = alloca ptr, align 8
  %7 = alloca ptr, align 8
  %8 = alloca ptr, align 8
  %9 = alloca %"class.Logging::LoggerMessage", align 8
  %10 = alloca ptr, align 8
  %11 = alloca i32, align 4
  %12 = alloca %"class.Logging::LoggerMessage", align 8
  %13 = alloca %"class.std::error_code", align 8
  %14 = alloca %"class.Crypto::cn_context", align 8
  %15 = alloca %"class.std::basic_ifstream", align 8
  %16 = alloca i32, align 4
  %17 = alloca %"class.Logging::LoggerMessage", align 8
  %18 = alloca %"class.std::error_code", align 8
  %19 = alloca %"class.Logging::LoggerMessage", align 8
  %20 = alloca %"class.std::error_code", align 8
  %21 = alloca %"class.std::unordered_set", align 8
  %22 = alloca %"class.std::unordered_set", align 8
  %23 = alloca %"class.Logging::LoggerMessage", align 8
  %24 = alloca %"class.Logging::LoggerMessage", align 8
  %25 = alloca ptr, align 8
  %26 = alloca %"class.Logging::LoggerMessage", align 8
  %27 = alloca ptr, align 8
  %28 = alloca %"class.std::vector.164", align 8
  %29 = alloca ptr, align 8
  %30 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %31 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %32 = alloca i32, align 4
  %33 = alloca ptr, align 8
  %34 = alloca ptr, align 8
  %35 = alloca %"class.std::vector.201", align 8
  %36 = alloca ptr, align 8
  %37 = alloca %"class.Logging::LoggerMessage", align 8
  %38 = alloca i64, align 8
  %39 = alloca ptr, align 8
  %40 = alloca %"class.__gnu_cxx::__normal_iterator.207", align 8
  %41 = alloca %"class.__gnu_cxx::__normal_iterator.207", align 8
  %42 = alloca ptr, align 8
  %43 = alloca ptr, align 8
  %44 = alloca %"class.Logging::LoggerMessage", align 8
  %45 = alloca ptr, align 8
  %46 = alloca %"struct.std::pair", align 8
  %47 = alloca %"class.Logging::LoggerMessage", align 8
  %48 = alloca %"class.Logging::LoggerMessage", align 8
  %49 = alloca i64, align 8
  %50 = alloca %"class.std::__cxx11::basic_string", align 8
  %51 = alloca %"class.std::__cxx11::basic_string", align 8
  store ptr %0, ptr %5, align 8, !tbaa !5
  store ptr %1, ptr %6, align 8, !tbaa !5
  store ptr %2, ptr %7, align 8, !tbaa !5
  store ptr %3, ptr %8, align 8, !tbaa !5
  %52 = load ptr, ptr %5, align 8
  call void @llvm.lifetime.start.p0(i64 432, ptr %9) #10
  %53 = getelementptr inbounds %"class.DynexCN::WalletGreen", ptr %52, i32 0, i32 8
  call void @_ZNK7Logging9LoggerRefclENS_5LevelERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind writable sret(%"class.Logging::LoggerMessage") align 8 %9, ptr noundef nonnull align 8 dereferenceable(40) %53, i32 noundef 3, ptr noundef nonnull align 8 dereferenceable(32) @_ZN7Logging12BRIGHT_WHITEB5cxx11E)
  %54 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA21_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %9, ptr noundef nonnull align 1 dereferenceable(21) @.str.29)
          to label %55 unwind label %78

55:                                               ; preds = %4
  call void @_ZN7Logging13LoggerMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(161) %9) #10
  call void @llvm.lifetime.end.p0(i64 432, ptr %9) #10
  %56 = getelementptr inbounds %"class.DynexCN::WalletGreen", ptr %52, i32 0, i32 23
  %57 = load i32, ptr %56, align 8, !tbaa !9
  %58 = icmp ne i32 %57, 1
  br i1 %58, label %59, label %90

59:                                               ; preds = %55
  call void @llvm.lifetime.start.p0(i64 432, ptr %12) #10
  %60 = getelementptr inbounds %"class.DynexCN::WalletGreen", ptr %52, i32 0, i32 8
  call void @_ZNK7Logging9LoggerRefclENS_5LevelERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind writable sret(%"class.Logging::LoggerMessage") align 8 %12, ptr noundef nonnull align 8 dereferenceable(40) %60, i32 noundef 1, ptr noundef nonnull align 8 dereferenceable(32) @_ZN7Logging10BRIGHT_REDB5cxx11E)
  %61 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA53_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %12, ptr noundef nonnull align 1 dereferenceable(53) @.str.30)
          to label %62 unwind label %82

62:                                               ; preds = %59
  %63 = getelementptr inbounds %"class.DynexCN::WalletGreen", ptr %52, i32 0, i32 23
  %64 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEN7DynexCN11WalletGreen11WalletStateEEOT_S6_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %61, ptr noundef nonnull align 4 dereferenceable(4) %63)
          to label %65 unwind label %82

65:                                               ; preds = %62
  call void @_ZN7Logging13LoggerMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(161) %12) #10
  call void @llvm.lifetime.end.p0(i64 432, ptr %12) #10
  %66 = call ptr @__cxa_allocate_exception(i64 32) #10
  %67 = invoke { i32, ptr } @_Z15make_error_codeN7DynexCN5error16WalletErrorCodesE(i32 noundef 3)
          to label %68 unwind label %86

68:                                               ; preds = %65
  %69 = getelementptr inbounds { i32, ptr }, ptr %13, i32 0, i32 0
  %70 = extractvalue { i32, ptr } %67, 0
  store i32 %70, ptr %69, align 8
  %71 = getelementptr inbounds { i32, ptr }, ptr %13, i32 0, i32 1
  %72 = extractvalue { i32, ptr } %67, 1
  store ptr %72, ptr %71, align 8
  %73 = getelementptr inbounds { i32, ptr }, ptr %13, i32 0, i32 0
  %74 = load i32, ptr %73, align 8
  %75 = getelementptr inbounds { i32, ptr }, ptr %13, i32 0, i32 1
  %76 = load ptr, ptr %75, align 8
  invoke void @_ZNSt12system_errorC2ESt10error_code(ptr noundef nonnull align 8 dereferenceable(32) %66, i32 %74, ptr %76)
          to label %77 unwind label %86

77:                                               ; preds = %68
  call void @__cxa_throw(ptr %66, ptr @_ZTISt12system_error, ptr @_ZNSt12system_errorD1Ev) #11
  unreachable

78:                                               ; preds = %4
  %79 = landingpad { ptr, i32 }
          cleanup
  %80 = extractvalue { ptr, i32 } %79, 0
  store ptr %80, ptr %10, align 8
  %81 = extractvalue { ptr, i32 } %79, 1
  store i32 %81, ptr %11, align 4
  call void @_ZN7Logging13LoggerMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(161) %9) #10
  call void @llvm.lifetime.end.p0(i64 432, ptr %9) #10
  br label %569

82:                                               ; preds = %62, %59
  %83 = landingpad { ptr, i32 }
          cleanup
  %84 = extractvalue { ptr, i32 } %83, 0
  store ptr %84, ptr %10, align 8
  %85 = extractvalue { ptr, i32 } %83, 1
  store i32 %85, ptr %11, align 4
  call void @_ZN7Logging13LoggerMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(161) %12) #10
  call void @llvm.lifetime.end.p0(i64 432, ptr %12) #10
  br label %569

86:                                               ; preds = %68, %65
  %87 = landingpad { ptr, i32 }
          cleanup
  %88 = extractvalue { ptr, i32 } %87, 0
  store ptr %88, ptr %10, align 8
  %89 = extractvalue { ptr, i32 } %87, 1
  store i32 %89, ptr %11, align 4
  call void @__cxa_free_exception(ptr %66) #10
  br label %569

90:                                               ; preds = %55
  call void @_ZNK7DynexCN11WalletGreen14throwIfStoppedEv(ptr noundef nonnull align 8 dereferenceable(1872) %52)
  call void @_ZN7DynexCN11WalletGreen26stopBlockchainSynchronizerEv(ptr noundef nonnull align 8 dereferenceable(1872) %52)
  call void @llvm.lifetime.start.p0(i64 8, ptr %14) #10
  call void @_ZN6Crypto10cn_contextC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %14)
  %91 = load ptr, ptr %7, align 8, !tbaa !5
  %92 = getelementptr inbounds %"class.DynexCN::WalletGreen", ptr %52, i32 0, i32 25
  invoke void @_ZN6Crypto20generate_chacha8_keyERNS_10cn_contextERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERNS_11chacha8_keyE(ptr noundef nonnull align 8 dereferenceable(8) %14, ptr noundef nonnull align 8 dereferenceable(32) %91, ptr noundef nonnull align 1 dereferenceable(32) %92)
          to label %93 unwind label %117

93:                                               ; preds = %90
  call void @llvm.lifetime.start.p0(i64 520, ptr %15) #10
  %94 = load ptr, ptr %6, align 8, !tbaa !5
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(256) %15, ptr noundef nonnull align 8 dereferenceable(32) %94, i32 noundef 4)
          to label %95 unwind label %121

95:                                               ; preds = %93
  call void @llvm.lifetime.start.p0(i64 4, ptr %16) #10
  %96 = invoke noundef i32 @_ZNSi4peekEv(ptr noundef nonnull align 8 dereferenceable(16) %15)
          to label %97 unwind label %125

97:                                               ; preds = %95
  store i32 %96, ptr %16, align 4, !tbaa !153
  %98 = load i32, ptr %16, align 4, !tbaa !153
  %99 = icmp eq i32 %98, -1
  br i1 %99, label %100, label %142

100:                                              ; preds = %97
  call void @llvm.lifetime.start.p0(i64 432, ptr %17) #10
  %101 = getelementptr inbounds %"class.DynexCN::WalletGreen", ptr %52, i32 0, i32 8
  invoke void @_ZNK7Logging9LoggerRefclENS_5LevelERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind writable sret(%"class.Logging::LoggerMessage") align 8 %17, ptr noundef nonnull align 8 dereferenceable(40) %101, i32 noundef 1, ptr noundef nonnull align 8 dereferenceable(32) @_ZN7Logging10BRIGHT_REDB5cxx11E)
          to label %102 unwind label %129

102:                                              ; preds = %100
  %103 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA30_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %17, ptr noundef nonnull align 1 dereferenceable(30) @.str.31)
          to label %104 unwind label %133

104:                                              ; preds = %102
  call void @_ZN7Logging13LoggerMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(161) %17) #10
  call void @llvm.lifetime.end.p0(i64 432, ptr %17) #10
  %105 = call ptr @__cxa_allocate_exception(i64 32) #10
  %106 = invoke { i32, ptr } @_Z15make_error_codeN7DynexCN5error16WalletErrorCodesE(i32 noundef 16)
          to label %107 unwind label %138

107:                                              ; preds = %104
  %108 = getelementptr inbounds { i32, ptr }, ptr %18, i32 0, i32 0
  %109 = extractvalue { i32, ptr } %106, 0
  store i32 %109, ptr %108, align 8
  %110 = getelementptr inbounds { i32, ptr }, ptr %18, i32 0, i32 1
  %111 = extractvalue { i32, ptr } %106, 1
  store ptr %111, ptr %110, align 8
  %112 = getelementptr inbounds { i32, ptr }, ptr %18, i32 0, i32 0
  %113 = load i32, ptr %112, align 8
  %114 = getelementptr inbounds { i32, ptr }, ptr %18, i32 0, i32 1
  %115 = load ptr, ptr %114, align 8
  invoke void @_ZNSt12system_errorC2ESt10error_codePKc(ptr noundef nonnull align 8 dereferenceable(32) %105, i32 %113, ptr %115, ptr noundef @.str.31)
          to label %116 unwind label %138

116:                                              ; preds = %107
  invoke void @__cxa_throw(ptr %105, ptr @_ZTISt12system_error, ptr @_ZNSt12system_errorD1Ev) #11
          to label %577 unwind label %125

117:                                              ; preds = %90
  %118 = landingpad { ptr, i32 }
          cleanup
  %119 = extractvalue { ptr, i32 } %118, 0
  store ptr %119, ptr %10, align 8
  %120 = extractvalue { ptr, i32 } %118, 1
  store i32 %120, ptr %11, align 4
  br label %568

121:                                              ; preds = %93
  %122 = landingpad { ptr, i32 }
          cleanup
  %123 = extractvalue { ptr, i32 } %122, 0
  store ptr %123, ptr %10, align 8
  %124 = extractvalue { ptr, i32 } %122, 1
  store i32 %124, ptr %11, align 4
  br label %567

125:                                              ; preds = %494, %490, %486, %466, %460, %458, %456, %452, %419, %416, %187, %186, %184, %170, %148, %145, %116, %95
  %126 = landingpad { ptr, i32 }
          cleanup
  %127 = extractvalue { ptr, i32 } %126, 0
  store ptr %127, ptr %10, align 8
  %128 = extractvalue { ptr, i32 } %126, 1
  store i32 %128, ptr %11, align 4
  br label %566

129:                                              ; preds = %100
  %130 = landingpad { ptr, i32 }
          cleanup
  %131 = extractvalue { ptr, i32 } %130, 0
  store ptr %131, ptr %10, align 8
  %132 = extractvalue { ptr, i32 } %130, 1
  store i32 %132, ptr %11, align 4
  br label %137

133:                                              ; preds = %102
  %134 = landingpad { ptr, i32 }
          cleanup
  %135 = extractvalue { ptr, i32 } %134, 0
  store ptr %135, ptr %10, align 8
  %136 = extractvalue { ptr, i32 } %134, 1
  store i32 %136, ptr %11, align 4
  call void @_ZN7Logging13LoggerMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(161) %17) #10
  br label %137

137:                                              ; preds = %133, %129
  call void @llvm.lifetime.end.p0(i64 432, ptr %17) #10
  br label %566

138:                                              ; preds = %107, %104
  %139 = landingpad { ptr, i32 }
          cleanup
  %140 = extractvalue { ptr, i32 } %139, 0
  store ptr %140, ptr %10, align 8
  %141 = extractvalue { ptr, i32 } %139, 1
  store i32 %141, ptr %11, align 4
  call void @__cxa_free_exception(ptr %105) #10
  br label %566

142:                                              ; preds = %97
  %143 = load i32, ptr %16, align 4, !tbaa !153
  %144 = icmp slt i32 %143, 6
  br i1 %144, label %145, label %148

145:                                              ; preds = %142
  %146 = load ptr, ptr %6, align 8, !tbaa !5
  invoke void @_ZN7DynexCN11WalletGreen24convertAndLoadWalletFileERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEOSt14basic_ifstreamIcS4_E(ptr noundef nonnull align 8 dereferenceable(1872) %52, ptr noundef nonnull align 8 dereferenceable(32) %146, ptr noundef nonnull align 8 dereferenceable(256) %15)
          to label %147 unwind label %125

147:                                              ; preds = %145
  br label %294

148:                                              ; preds = %142
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv(ptr noundef nonnull align 8 dereferenceable(256) %15)
          to label %149 unwind label %125

149:                                              ; preds = %148
  %150 = load i32, ptr %16, align 4, !tbaa !153
  %151 = icmp sgt i32 %150, 6
  br i1 %151, label %152, label %184

152:                                              ; preds = %149
  call void @llvm.lifetime.start.p0(i64 432, ptr %19) #10
  %153 = getelementptr inbounds %"class.DynexCN::WalletGreen", ptr %52, i32 0, i32 8
  invoke void @_ZNK7Logging9LoggerRefclENS_5LevelERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind writable sret(%"class.Logging::LoggerMessage") align 8 %19, ptr noundef nonnull align 8 dereferenceable(40) %153, i32 noundef 1, ptr noundef nonnull align 8 dereferenceable(32) @_ZN7Logging10BRIGHT_REDB5cxx11E)
          to label %154 unwind label %171

154:                                              ; preds = %152
  %155 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA29_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %19, ptr noundef nonnull align 1 dereferenceable(29) @.str.32)
          to label %156 unwind label %175

156:                                              ; preds = %154
  %157 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEiEOT_S3_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %155, ptr noundef nonnull align 4 dereferenceable(4) %16)
          to label %158 unwind label %175

158:                                              ; preds = %156
  call void @_ZN7Logging13LoggerMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(161) %19) #10
  call void @llvm.lifetime.end.p0(i64 432, ptr %19) #10
  %159 = call ptr @__cxa_allocate_exception(i64 32) #10
  %160 = invoke { i32, ptr } @_Z15make_error_codeN7DynexCN5error16WalletErrorCodesE(i32 noundef 16)
          to label %161 unwind label %180

161:                                              ; preds = %158
  %162 = getelementptr inbounds { i32, ptr }, ptr %20, i32 0, i32 0
  %163 = extractvalue { i32, ptr } %160, 0
  store i32 %163, ptr %162, align 8
  %164 = getelementptr inbounds { i32, ptr }, ptr %20, i32 0, i32 1
  %165 = extractvalue { i32, ptr } %160, 1
  store ptr %165, ptr %164, align 8
  %166 = getelementptr inbounds { i32, ptr }, ptr %20, i32 0, i32 0
  %167 = load i32, ptr %166, align 8
  %168 = getelementptr inbounds { i32, ptr }, ptr %20, i32 0, i32 1
  %169 = load ptr, ptr %168, align 8
  invoke void @_ZNSt12system_errorC2ESt10error_codePKc(ptr noundef nonnull align 8 dereferenceable(32) %159, i32 %167, ptr %169, ptr noundef @.str.33)
          to label %170 unwind label %180

170:                                              ; preds = %161
  invoke void @__cxa_throw(ptr %159, ptr @_ZTISt12system_error, ptr @_ZNSt12system_errorD1Ev) #11
          to label %577 unwind label %125

171:                                              ; preds = %152
  %172 = landingpad { ptr, i32 }
          cleanup
  %173 = extractvalue { ptr, i32 } %172, 0
  store ptr %173, ptr %10, align 8
  %174 = extractvalue { ptr, i32 } %172, 1
  store i32 %174, ptr %11, align 4
  br label %179

175:                                              ; preds = %156, %154
  %176 = landingpad { ptr, i32 }
          cleanup
  %177 = extractvalue { ptr, i32 } %176, 0
  store ptr %177, ptr %10, align 8
  %178 = extractvalue { ptr, i32 } %176, 1
  store i32 %178, ptr %11, align 4
  call void @_ZN7Logging13LoggerMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(161) %19) #10
  br label %179

179:                                              ; preds = %175, %171
  call void @llvm.lifetime.end.p0(i64 432, ptr %19) #10
  br label %566

180:                                              ; preds = %161, %158
  %181 = landingpad { ptr, i32 }
          cleanup
  %182 = extractvalue { ptr, i32 } %181, 0
  store ptr %182, ptr %10, align 8
  %183 = extractvalue { ptr, i32 } %181, 1
  store i32 %183, ptr %11, align 4
  call void @__cxa_free_exception(ptr %159) #10
  br label %566

184:                                              ; preds = %149
  %185 = load ptr, ptr %6, align 8, !tbaa !5
  invoke void @_ZN7DynexCN11WalletGreen20loadContainerStorageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(1872) %52, ptr noundef nonnull align 8 dereferenceable(32) %185)
          to label %186 unwind label %125

186:                                              ; preds = %184
  invoke void @_ZN7DynexCN11WalletGreen16subscribeWalletsEv(ptr noundef nonnull align 8 dereferenceable(1872) %52)
          to label %187 unwind label %125

187:                                              ; preds = %186
  %188 = getelementptr inbounds %"class.DynexCN::WalletGreen", ptr %52, i32 0, i32 11
  %189 = invoke noundef i64 @_ZNK6Common16FileMappedVectorIN7DynexCN21EncryptedWalletRecordEE10suffixSizeEv(ptr noundef nonnull align 8 dereferenceable(105) %188)
          to label %190 unwind label %125

190:                                              ; preds = %187
  %191 = icmp ugt i64 %189, 0
  br i1 %191, label %192, label %293

192:                                              ; preds = %190
  call void @llvm.lifetime.start.p0(i64 56, ptr %21) #10
  call void @_ZNSt13unordered_setIN6Crypto9PublicKeyESt4hashIS1_ESt8equal_toIS1_ESaIS1_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(56) %21) #10
  call void @llvm.lifetime.start.p0(i64 56, ptr %22) #10
  call void @_ZNSt13unordered_setIN6Crypto9PublicKeyESt4hashIS1_ESt8equal_toIS1_ESaIS1_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(56) %22) #10
  %193 = load ptr, ptr %8, align 8, !tbaa !5
  invoke void @_ZN7DynexCN11WalletGreen15loadWalletCacheERSt13unordered_setIN6Crypto9PublicKeyESt4hashIS3_ESt8equal_toIS3_ESaIS3_EESA_RNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(1872) %52, ptr noundef nonnull align 8 dereferenceable(56) %21, ptr noundef nonnull align 8 dereferenceable(56) %22, ptr noundef nonnull align 8 dereferenceable(32) %193)
          to label %194 unwind label %203

194:                                              ; preds = %192
  %195 = call noundef zeroext i1 @_ZNKSt13unordered_setIN6Crypto9PublicKeyESt4hashIS1_ESt8equal_toIS1_ESaIS1_EE5emptyEv(ptr noundef nonnull align 8 dereferenceable(56) %21) #10
  br i1 %195, label %216, label %196

196:                                              ; preds = %194
  call void @llvm.lifetime.start.p0(i64 432, ptr %23) #10
  %197 = getelementptr inbounds %"class.DynexCN::WalletGreen", ptr %52, i32 0, i32 8
  invoke void @_ZNK7Logging9LoggerRefclENS_5LevelERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind writable sret(%"class.Logging::LoggerMessage") align 8 %23, ptr noundef nonnull align 8 dereferenceable(40) %197, i32 noundef 2, ptr noundef nonnull align 8 dereferenceable(32) @_ZN7Logging13BRIGHT_YELLOWB5cxx11E)
          to label %198 unwind label %207

198:                                              ; preds = %196
  %199 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA70_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %23, ptr noundef nonnull align 1 dereferenceable(70) @.str.34)
          to label %200 unwind label %211

200:                                              ; preds = %198
  call void @_ZN7Logging13LoggerMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(161) %23) #10
  call void @llvm.lifetime.end.p0(i64 432, ptr %23) #10
  invoke void @_ZN7DynexCN11WalletGreen11clearCachesEbb(ptr noundef nonnull align 8 dereferenceable(1872) %52, i1 noundef zeroext false, i1 noundef zeroext true)
          to label %201 unwind label %203

201:                                              ; preds = %200
  invoke void @_ZN7DynexCN11WalletGreen16subscribeWalletsEv(ptr noundef nonnull align 8 dereferenceable(1872) %52)
          to label %202 unwind label %203

202:                                              ; preds = %201
  br label %216

203:                                              ; preds = %237, %222, %201, %200, %192
  %204 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTISt9exception
  %205 = extractvalue { ptr, i32 } %204, 0
  store ptr %205, ptr %10, align 8
  %206 = extractvalue { ptr, i32 } %204, 1
  store i32 %206, ptr %11, align 4
  br label %243

207:                                              ; preds = %196
  %208 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTISt9exception
  %209 = extractvalue { ptr, i32 } %208, 0
  store ptr %209, ptr %10, align 8
  %210 = extractvalue { ptr, i32 } %208, 1
  store i32 %210, ptr %11, align 4
  br label %215

211:                                              ; preds = %198
  %212 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTISt9exception
  %213 = extractvalue { ptr, i32 } %212, 0
  store ptr %213, ptr %10, align 8
  %214 = extractvalue { ptr, i32 } %212, 1
  store i32 %214, ptr %11, align 4
  call void @_ZN7Logging13LoggerMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(161) %23) #10
  br label %215

215:                                              ; preds = %211, %207
  call void @llvm.lifetime.end.p0(i64 432, ptr %23) #10
  br label %243

216:                                              ; preds = %202, %194
  %217 = call noundef zeroext i1 @_ZNKSt13unordered_setIN6Crypto9PublicKeyESt4hashIS1_ESt8equal_toIS1_ESaIS1_EE5emptyEv(ptr noundef nonnull align 8 dereferenceable(56) %22) #10
  br i1 %217, label %233, label %218

218:                                              ; preds = %216
  call void @llvm.lifetime.start.p0(i64 432, ptr %24) #10
  %219 = getelementptr inbounds %"class.DynexCN::WalletGreen", ptr %52, i32 0, i32 8
  invoke void @_ZNK7Logging9LoggerRefclENS_5LevelERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind writable sret(%"class.Logging::LoggerMessage") align 8 %24, ptr noundef nonnull align 8 dereferenceable(40) %219, i32 noundef 2, ptr noundef nonnull align 8 dereferenceable(32) @_ZN7Logging13BRIGHT_YELLOWB5cxx11E)
          to label %220 unwind label %224

220:                                              ; preds = %218
  %221 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA74_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %24, ptr noundef nonnull align 1 dereferenceable(74) @.str.35)
          to label %222 unwind label %228

222:                                              ; preds = %220
  call void @_ZN7Logging13LoggerMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(161) %24) #10
  call void @llvm.lifetime.end.p0(i64 432, ptr %24) #10
  invoke void @_ZN7DynexCN11WalletGreen24deleteOrphanTransactionsERKSt13unordered_setIN6Crypto9PublicKeyESt4hashIS3_ESt8equal_toIS3_ESaIS3_EE(ptr noundef nonnull align 8 dereferenceable(1872) %52, ptr noundef nonnull align 8 dereferenceable(56) %22)
          to label %223 unwind label %203

223:                                              ; preds = %222
  br label %233

224:                                              ; preds = %218
  %225 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTISt9exception
  %226 = extractvalue { ptr, i32 } %225, 0
  store ptr %226, ptr %10, align 8
  %227 = extractvalue { ptr, i32 } %225, 1
  store i32 %227, ptr %11, align 4
  br label %232

228:                                              ; preds = %220
  %229 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTISt9exception
  %230 = extractvalue { ptr, i32 } %229, 0
  store ptr %230, ptr %10, align 8
  %231 = extractvalue { ptr, i32 } %229, 1
  store i32 %231, ptr %11, align 4
  call void @_ZN7Logging13LoggerMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(161) %24) #10
  br label %232

232:                                              ; preds = %228, %224
  call void @llvm.lifetime.end.p0(i64 432, ptr %24) #10
  br label %243

233:                                              ; preds = %223, %216
  %234 = call noundef zeroext i1 @_ZNKSt13unordered_setIN6Crypto9PublicKeyESt4hashIS1_ESt8equal_toIS1_ESaIS1_EE5emptyEv(ptr noundef nonnull align 8 dereferenceable(56) %21) #10
  br i1 %234, label %235, label %237

235:                                              ; preds = %233
  %236 = call noundef zeroext i1 @_ZNKSt13unordered_setIN6Crypto9PublicKeyESt4hashIS1_ESt8equal_toIS1_ESaIS1_EE5emptyEv(ptr noundef nonnull align 8 dereferenceable(56) %22) #10
  br i1 %236, label %242, label %237

237:                                              ; preds = %235, %233
  %238 = getelementptr inbounds %"class.DynexCN::WalletGreen", ptr %52, i32 0, i32 11
  %239 = getelementptr inbounds %"class.DynexCN::WalletGreen", ptr %52, i32 0, i32 25
  %240 = load ptr, ptr %8, align 8, !tbaa !5
  invoke void @_ZN7DynexCN11WalletGreen15saveWalletCacheERN6Common16FileMappedVectorINS_21EncryptedWalletRecordEEERKN6Crypto11chacha8_keyENS_15WalletSaveLevelERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(1872) %52, ptr noundef nonnull align 8 dereferenceable(105) %238, ptr noundef nonnull align 1 dereferenceable(32) %239, i8 noundef zeroext 2, ptr noundef nonnull align 8 dereferenceable(32) %240)
          to label %241 unwind label %203

241:                                              ; preds = %237
  br label %242

242:                                              ; preds = %241, %235
  call void @_ZNSt13unordered_setIN6Crypto9PublicKeyESt4hashIS1_ESt8equal_toIS1_ESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %22) #10
  call void @llvm.lifetime.end.p0(i64 56, ptr %22) #10
  call void @_ZNSt13unordered_setIN6Crypto9PublicKeyESt4hashIS1_ESt8equal_toIS1_ESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %21) #10
  call void @llvm.lifetime.end.p0(i64 56, ptr %21) #10
  br label %267

243:                                              ; preds = %232, %215, %203
  call void @_ZNSt13unordered_setIN6Crypto9PublicKeyESt4hashIS1_ESt8equal_toIS1_ESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %22) #10
  call void @llvm.lifetime.end.p0(i64 56, ptr %22) #10
  call void @_ZNSt13unordered_setIN6Crypto9PublicKeyESt4hashIS1_ESt8equal_toIS1_ESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %21) #10
  call void @llvm.lifetime.end.p0(i64 56, ptr %21) #10
  br label %244

244:                                              ; preds = %243
  %245 = load i32, ptr %11, align 4
  %246 = call i32 @llvm.eh.typeid.for.p0(ptr @_ZTISt9exception) #10
  %247 = icmp eq i32 %245, %246
  br i1 %247, label %248, label %566

248:                                              ; preds = %244
  call void @llvm.lifetime.start.p0(i64 8, ptr %25) #10
  %249 = load ptr, ptr %10, align 8
  %250 = call ptr @__cxa_begin_catch(ptr %249) #10
  store ptr %250, ptr %25, align 8
  call void @llvm.lifetime.start.p0(i64 432, ptr %26) #10
  %251 = getelementptr inbounds %"class.DynexCN::WalletGreen", ptr %52, i32 0, i32 8
  invoke void @_ZNK7Logging9LoggerRefclENS_5LevelERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind writable sret(%"class.Logging::LoggerMessage") align 8 %26, ptr noundef nonnull align 8 dereferenceable(40) %251, i32 noundef 1, ptr noundef nonnull align 8 dereferenceable(32) @_ZN7Logging10BRIGHT_REDB5cxx11E)
          to label %252 unwind label %268

252:                                              ; preds = %248
  %253 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA23_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %26, ptr noundef nonnull align 1 dereferenceable(23) @.str.36)
          to label %254 unwind label %272

254:                                              ; preds = %252
  call void @llvm.lifetime.start.p0(i64 8, ptr %27) #10
  %255 = load ptr, ptr %25, align 8, !tbaa !5
  %256 = load ptr, ptr %255, align 8, !tbaa !154
  %257 = getelementptr inbounds ptr, ptr %256, i64 2
  %258 = load ptr, ptr %257, align 8
  %259 = call noundef ptr %258(ptr noundef nonnull align 8 dereferenceable(8) %255) #10
  store ptr %259, ptr %27, align 8, !tbaa !5
  %260 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEPKcEOT_S5_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %253, ptr noundef nonnull align 8 dereferenceable(8) %27)
          to label %261 unwind label %276

261:                                              ; preds = %254
  %262 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA20_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %260, ptr noundef nonnull align 1 dereferenceable(20) @.str.37)
          to label %263 unwind label %276

263:                                              ; preds = %261
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #10
  call void @_ZN7Logging13LoggerMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(161) %26) #10
  call void @llvm.lifetime.end.p0(i64 432, ptr %26) #10
  invoke void @_ZN7DynexCN11WalletGreen11clearCachesEbb(ptr noundef nonnull align 8 dereferenceable(1872) %52, i1 noundef zeroext true, i1 noundef zeroext true)
          to label %264 unwind label %282

264:                                              ; preds = %263
  invoke void @_ZN7DynexCN11WalletGreen16subscribeWalletsEv(ptr noundef nonnull align 8 dereferenceable(1872) %52)
          to label %265 unwind label %282

265:                                              ; preds = %264
  invoke void @__cxa_end_catch()
          to label %266 unwind label %286

266:                                              ; preds = %265
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #10
  br label %267

267:                                              ; preds = %266, %242
  br label %293

268:                                              ; preds = %248
  %269 = landingpad { ptr, i32 }
          cleanup
  %270 = extractvalue { ptr, i32 } %269, 0
  store ptr %270, ptr %10, align 8
  %271 = extractvalue { ptr, i32 } %269, 1
  store i32 %271, ptr %11, align 4
  br label %281

272:                                              ; preds = %252
  %273 = landingpad { ptr, i32 }
          cleanup
  %274 = extractvalue { ptr, i32 } %273, 0
  store ptr %274, ptr %10, align 8
  %275 = extractvalue { ptr, i32 } %273, 1
  store i32 %275, ptr %11, align 4
  br label %280

276:                                              ; preds = %261, %254
  %277 = landingpad { ptr, i32 }
          cleanup
  %278 = extractvalue { ptr, i32 } %277, 0
  store ptr %278, ptr %10, align 8
  %279 = extractvalue { ptr, i32 } %277, 1
  store i32 %279, ptr %11, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #10
  br label %280

280:                                              ; preds = %276, %272
  call void @_ZN7Logging13LoggerMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(161) %26) #10
  br label %281

281:                                              ; preds = %280, %268
  call void @llvm.lifetime.end.p0(i64 432, ptr %26) #10
  br label %290

282:                                              ; preds = %264, %263
  %283 = landingpad { ptr, i32 }
          cleanup
  %284 = extractvalue { ptr, i32 } %283, 0
  store ptr %284, ptr %10, align 8
  %285 = extractvalue { ptr, i32 } %283, 1
  store i32 %285, ptr %11, align 4
  br label %290

286:                                              ; preds = %265
  %287 = landingpad { ptr, i32 }
          cleanup
  %288 = extractvalue { ptr, i32 } %287, 0
  store ptr %288, ptr %10, align 8
  %289 = extractvalue { ptr, i32 } %287, 1
  store i32 %289, ptr %11, align 4
  br label %292

290:                                              ; preds = %282, %281
  invoke void @__cxa_end_catch()
          to label %291 unwind label %574

291:                                              ; preds = %290
  br label %292

292:                                              ; preds = %291, %286
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #10
  br label %566

293:                                              ; preds = %267, %190
  br label %294

294:                                              ; preds = %293, %147
  call void @llvm.lifetime.start.p0(i64 24, ptr %28) #10
  call void @_ZNSt6vectorIN7DynexCN20AccountPublicAddressESaIS1_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %28) #10
  %295 = getelementptr inbounds %"class.DynexCN::WalletGreen", ptr %52, i32 0, i32 19
  invoke void @_ZN7DynexCN20TransfersSyncronizer16getSubscriptionsERSt6vectorINS_20AccountPublicAddressESaIS2_EE(ptr noundef nonnull align 8 dereferenceable(192) %295, ptr noundef nonnull align 8 dereferenceable(24) %28)
          to label %296 unwind label %306

296:                                              ; preds = %294
  call void @llvm.lifetime.start.p0(i64 8, ptr %29) #10
  store ptr %28, ptr %29, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %30) #10
  %297 = load ptr, ptr %29, align 8, !tbaa !5
  %298 = call ptr @_ZNSt6vectorIN7DynexCN20AccountPublicAddressESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %297) #10
  %299 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %30, i32 0, i32 0
  store ptr %298, ptr %299, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %31) #10
  %300 = load ptr, ptr %29, align 8, !tbaa !5
  %301 = call ptr @_ZNSt6vectorIN7DynexCN20AccountPublicAddressESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %300) #10
  %302 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %31, i32 0, i32 0
  store ptr %301, ptr %302, align 8
  br label %303

303:                                              ; preds = %392, %296
  %304 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPN7DynexCN20AccountPublicAddressESt6vectorIS2_SaIS2_EEEEbRKNS_17__normal_iteratorIT_T0_EESC_(ptr noundef nonnull align 8 dereferenceable(8) %30, ptr noundef nonnull align 8 dereferenceable(8) %31) #10
  br i1 %304, label %310, label %305

305:                                              ; preds = %303
  store i32 2, ptr %32, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %29) #10
  br label %395

306:                                              ; preds = %294
  %307 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTISt9exception
  %308 = extractvalue { ptr, i32 } %307, 0
  store ptr %308, ptr %10, align 8
  %309 = extractvalue { ptr, i32 } %307, 1
  store i32 %309, ptr %11, align 4
  br label %396

310:                                              ; preds = %303
  call void @llvm.lifetime.start.p0(i64 8, ptr %33) #10
  %311 = call noundef nonnull align 1 dereferenceable(64) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPN7DynexCN20AccountPublicAddressESt6vectorIS2_SaIS2_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %30) #10
  store ptr %311, ptr %33, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %34) #10
  %312 = getelementptr inbounds %"class.DynexCN::WalletGreen", ptr %52, i32 0, i32 19
  %313 = load ptr, ptr %33, align 8, !tbaa !5
  %314 = invoke noundef ptr @_ZN7DynexCN20TransfersSyncronizer15getSubscriptionERKNS_20AccountPublicAddressE(ptr noundef nonnull align 8 dereferenceable(192) %312, ptr noundef nonnull align 1 dereferenceable(64) %313)
          to label %315 unwind label %346

315:                                              ; preds = %310
  store ptr %314, ptr %34, align 8, !tbaa !5
  %316 = load ptr, ptr %34, align 8, !tbaa !5
  %317 = icmp ne ptr %316, null
  br i1 %317, label %318, label %391

318:                                              ; preds = %315
  call void @llvm.lifetime.start.p0(i64 24, ptr %35) #10
  call void @_ZNSt6vectorIN7DynexCN28TransactionOutputInformationESaIS1_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %35) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %36) #10
  %319 = load ptr, ptr %34, align 8, !tbaa !5
  %320 = load ptr, ptr %319, align 8, !tbaa !154
  %321 = getelementptr inbounds ptr, ptr %320, i64 5
  %322 = load ptr, ptr %321, align 8
  %323 = invoke noundef nonnull align 8 dereferenceable(8) ptr %322(ptr noundef nonnull align 8 dereferenceable(8) %319)
          to label %324 unwind label %350

324:                                              ; preds = %318
  store ptr %323, ptr %36, align 8, !tbaa !5
  %325 = load ptr, ptr %36, align 8, !tbaa !5
  %326 = load ptr, ptr %325, align 8, !tbaa !154
  %327 = getelementptr inbounds ptr, ptr %326, i64 5
  %328 = load ptr, ptr %327, align 8
  invoke void %328(ptr noundef nonnull align 8 dereferenceable(8) %325, ptr noundef nonnull align 8 dereferenceable(24) %35, i32 noundef 65535)
          to label %329 unwind label %350

329:                                              ; preds = %324
  call void @llvm.lifetime.start.p0(i64 432, ptr %37) #10
  %330 = getelementptr inbounds %"class.DynexCN::WalletGreen", ptr %52, i32 0, i32 8
  invoke void @_ZNK7Logging9LoggerRefclENS_5LevelERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind writable sret(%"class.Logging::LoggerMessage") align 8 %37, ptr noundef nonnull align 8 dereferenceable(40) %330, i32 noundef 3, ptr noundef nonnull align 8 dereferenceable(32) @_ZN7Logging12BRIGHT_WHITEB5cxx11E)
          to label %331 unwind label %354

331:                                              ; preds = %329
  %332 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA17_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %37, ptr noundef nonnull align 1 dereferenceable(17) @.str.38)
          to label %333 unwind label %358

333:                                              ; preds = %331
  call void @llvm.lifetime.start.p0(i64 8, ptr %38) #10
  %334 = call noundef i64 @_ZNKSt6vectorIN7DynexCN28TransactionOutputInformationESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %35) #10
  store i64 %334, ptr %38, align 8, !tbaa !156
  %335 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEmEOT_S3_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %332, ptr noundef nonnull align 8 dereferenceable(8) %38)
          to label %336 unwind label %362

336:                                              ; preds = %333
  call void @llvm.lifetime.end.p0(i64 8, ptr %38) #10
  call void @_ZN7Logging13LoggerMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(161) %37) #10
  call void @llvm.lifetime.end.p0(i64 432, ptr %37) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %39) #10
  store ptr %35, ptr %39, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %40) #10
  %337 = load ptr, ptr %39, align 8, !tbaa !5
  %338 = call ptr @_ZNSt6vectorIN7DynexCN28TransactionOutputInformationESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %337) #10
  %339 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.207", ptr %40, i32 0, i32 0
  store ptr %338, ptr %339, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %41) #10
  %340 = load ptr, ptr %39, align 8, !tbaa !5
  %341 = call ptr @_ZNSt6vectorIN7DynexCN28TransactionOutputInformationESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %340) #10
  %342 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.207", ptr %41, i32 0, i32 0
  store ptr %341, ptr %342, align 8
  br label %343

343:                                              ; preds = %387, %336
  %344 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPN7DynexCN28TransactionOutputInformationESt6vectorIS2_SaIS2_EEEEbRKNS_17__normal_iteratorIT_T0_EESC_(ptr noundef nonnull align 8 dereferenceable(8) %40, ptr noundef nonnull align 8 dereferenceable(8) %41) #10
  br i1 %344, label %368, label %345

345:                                              ; preds = %343
  store i32 4, ptr %32, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %41) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %39) #10
  br label %389

346:                                              ; preds = %310
  %347 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTISt9exception
  %348 = extractvalue { ptr, i32 } %347, 0
  store ptr %348, ptr %10, align 8
  %349 = extractvalue { ptr, i32 } %347, 1
  store i32 %349, ptr %11, align 4
  br label %394

350:                                              ; preds = %324, %318
  %351 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTISt9exception
  %352 = extractvalue { ptr, i32 } %351, 0
  store ptr %352, ptr %10, align 8
  %353 = extractvalue { ptr, i32 } %351, 1
  store i32 %353, ptr %11, align 4
  br label %390

354:                                              ; preds = %329
  %355 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTISt9exception
  %356 = extractvalue { ptr, i32 } %355, 0
  store ptr %356, ptr %10, align 8
  %357 = extractvalue { ptr, i32 } %355, 1
  store i32 %357, ptr %11, align 4
  br label %367

358:                                              ; preds = %331
  %359 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTISt9exception
  %360 = extractvalue { ptr, i32 } %359, 0
  store ptr %360, ptr %10, align 8
  %361 = extractvalue { ptr, i32 } %359, 1
  store i32 %361, ptr %11, align 4
  br label %366

362:                                              ; preds = %333
  %363 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTISt9exception
  %364 = extractvalue { ptr, i32 } %363, 0
  store ptr %364, ptr %10, align 8
  %365 = extractvalue { ptr, i32 } %363, 1
  store i32 %365, ptr %11, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %38) #10
  br label %366

366:                                              ; preds = %362, %358
  call void @_ZN7Logging13LoggerMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(161) %37) #10
  br label %367

367:                                              ; preds = %366, %354
  call void @llvm.lifetime.end.p0(i64 432, ptr %37) #10
  br label %390

368:                                              ; preds = %343
  call void @llvm.lifetime.start.p0(i64 8, ptr %42) #10
  %369 = call noundef nonnull align 8 dereferenceable(120) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPN7DynexCN28TransactionOutputInformationESt6vectorIS2_SaIS2_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %40) #10
  store ptr %369, ptr %42, align 8, !tbaa !5
  %370 = load ptr, ptr %42, align 8, !tbaa !5
  %371 = getelementptr inbounds %"struct.DynexCN::TransactionOutputInformation", ptr %370, i32 0, i32 0
  %372 = load i8, ptr %371, align 8, !tbaa !157
  %373 = icmp ne i8 %372, 0
  br i1 %373, label %374, label %386

374:                                              ; preds = %368
  %375 = getelementptr inbounds %"class.DynexCN::WalletGreen", ptr %52, i32 0, i32 19
  %376 = load ptr, ptr %33, align 8, !tbaa !5
  %377 = load ptr, ptr %42, align 8, !tbaa !5
  %378 = getelementptr inbounds %"struct.DynexCN::TransactionOutputInformation", ptr %377, i32 0, i32 4
  %379 = load ptr, ptr %42, align 8, !tbaa !5
  %380 = getelementptr inbounds %"struct.DynexCN::TransactionOutputInformation", ptr %379, i32 0, i32 6
  invoke void @_ZN7DynexCN20TransfersSyncronizer17addPublicKeysSeenERKNS_20AccountPublicAddressERKN6Crypto4HashERKNS4_9PublicKeyE(ptr noundef nonnull align 8 dereferenceable(192) %375, ptr noundef nonnull align 1 dereferenceable(64) %376, ptr noundef nonnull align 1 dereferenceable(32) %378, ptr noundef nonnull align 1 dereferenceable(32) %380)
          to label %381 unwind label %382

381:                                              ; preds = %374
  br label %386

382:                                              ; preds = %374
  %383 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTISt9exception
  %384 = extractvalue { ptr, i32 } %383, 0
  store ptr %384, ptr %10, align 8
  %385 = extractvalue { ptr, i32 } %383, 1
  store i32 %385, ptr %11, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %42) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %41) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %39) #10
  br label %390

386:                                              ; preds = %381, %368
  call void @llvm.lifetime.end.p0(i64 8, ptr %42) #10
  br label %387

387:                                              ; preds = %386
  %388 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPN7DynexCN28TransactionOutputInformationESt6vectorIS2_SaIS2_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %40) #10
  br label %343

389:                                              ; preds = %345
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #10
  call void @_ZNSt6vectorIN7DynexCN28TransactionOutputInformationESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %35) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr %35) #10
  br label %391

390:                                              ; preds = %382, %367, %350
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #10
  call void @_ZNSt6vectorIN7DynexCN28TransactionOutputInformationESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %35) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr %35) #10
  br label %394

391:                                              ; preds = %389, %315
  call void @llvm.lifetime.end.p0(i64 8, ptr %34) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %33) #10
  br label %392

392:                                              ; preds = %391
  %393 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPN7DynexCN20AccountPublicAddressESt6vectorIS2_SaIS2_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %30) #10
  br label %303

394:                                              ; preds = %390, %346
  call void @llvm.lifetime.end.p0(i64 8, ptr %34) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %33) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %29) #10
  br label %396

395:                                              ; preds = %305
  call void @_ZNSt6vectorIN7DynexCN20AccountPublicAddressESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %28) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr %28) #10
  br label %416

396:                                              ; preds = %394, %306
  call void @_ZNSt6vectorIN7DynexCN20AccountPublicAddressESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %28) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr %28) #10
  br label %397

397:                                              ; preds = %396
  %398 = load i32, ptr %11, align 4
  %399 = call i32 @llvm.eh.typeid.for.p0(ptr @_ZTISt9exception) #10
  %400 = icmp eq i32 %398, %399
  br i1 %400, label %401, label %566

401:                                              ; preds = %397
  call void @llvm.lifetime.start.p0(i64 8, ptr %43) #10
  %402 = load ptr, ptr %10, align 8
  %403 = call ptr @__cxa_begin_catch(ptr %402) #10
  store ptr %403, ptr %43, align 8
  call void @llvm.lifetime.start.p0(i64 432, ptr %44) #10
  %404 = getelementptr inbounds %"class.DynexCN::WalletGreen", ptr %52, i32 0, i32 8
  invoke void @_ZNK7Logging9LoggerRefclENS_5LevelERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind writable sret(%"class.Logging::LoggerMessage") align 8 %44, ptr noundef nonnull align 8 dereferenceable(40) %404, i32 noundef 1, ptr noundef nonnull align 8 dereferenceable(32) @_ZN7Logging10BRIGHT_REDB5cxx11E)
          to label %405 unwind label %426

405:                                              ; preds = %401
  %406 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA60_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %44, ptr noundef nonnull align 1 dereferenceable(60) @.str.39)
          to label %407 unwind label %430

407:                                              ; preds = %405
  call void @llvm.lifetime.start.p0(i64 8, ptr %45) #10
  %408 = load ptr, ptr %43, align 8, !tbaa !5
  %409 = load ptr, ptr %408, align 8, !tbaa !154
  %410 = getelementptr inbounds ptr, ptr %409, i64 2
  %411 = load ptr, ptr %410, align 8
  %412 = call noundef ptr %411(ptr noundef nonnull align 8 dereferenceable(8) %408) #10
  store ptr %412, ptr %45, align 8, !tbaa !5
  %413 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEPKcEOT_S5_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %406, ptr noundef nonnull align 8 dereferenceable(8) %45)
          to label %414 unwind label %434

414:                                              ; preds = %407
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #10
  call void @_ZN7Logging13LoggerMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(161) %44) #10
  call void @llvm.lifetime.end.p0(i64 432, ptr %44) #10
  invoke void @__cxa_end_catch()
          to label %415 unwind label %440

415:                                              ; preds = %414
  call void @llvm.lifetime.end.p0(i64 8, ptr %43) #10
  br label %416

416:                                              ; preds = %415, %395
  %417 = getelementptr inbounds %"class.DynexCN::WalletGreen", ptr %52, i32 0, i32 18
  %418 = getelementptr inbounds i8, ptr %52, i64 16
  invoke void @_ZN7DynexCN15IObservableImplINS_31IBlockchainSynchronizerObserverENS_23IBlockchainSynchronizerEE11addObserverEPS1_(ptr noundef nonnull align 8 dereferenceable(80) %417, ptr noundef %418)
          to label %419 unwind label %125

419:                                              ; preds = %416
  invoke void @_ZN7DynexCN11WalletGreen19initTransactionPoolEv(ptr noundef nonnull align 8 dereferenceable(1872) %52)
          to label %420 unwind label %125

420:                                              ; preds = %419
  %421 = getelementptr inbounds %"class.DynexCN::WalletGreen", ptr %52, i32 0, i32 34
  %422 = getelementptr inbounds i8, ptr %421, i64 16
  %423 = call noundef zeroext i1 @_ZNK5boost11multi_index6detail19random_access_indexINS1_9nth_layerILi1EN6Crypto4HashENS0_10indexed_byINS0_13random_accessINS0_3tagIN7DynexCN16BlockHeightIndexEN4mpl_2naESC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_EEEENS0_13hashed_uniqueINS8_INS9_14BlockHashIndexESC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_EENS0_8identityIS5_EESC_SC_EESC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_EESaIS5_EEENS_3mpl6v_itemISA_NSO_7vector0ISC_EELi0EEEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(96) %422) #10
  br i1 %423, label %424, label %425

424:                                              ; preds = %420
  br label %447

425:                                              ; preds = %420
  call void @__assert_fail(ptr noundef @.str.20, ptr noundef @.str.17, i32 noundef 561, ptr noundef @__PRETTY_FUNCTION__._ZN7DynexCN11WalletGreen4loadERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_RS6_) #12
  unreachable

426:                                              ; preds = %401
  %427 = landingpad { ptr, i32 }
          cleanup
  %428 = extractvalue { ptr, i32 } %427, 0
  store ptr %428, ptr %10, align 8
  %429 = extractvalue { ptr, i32 } %427, 1
  store i32 %429, ptr %11, align 4
  br label %439

430:                                              ; preds = %405
  %431 = landingpad { ptr, i32 }
          cleanup
  %432 = extractvalue { ptr, i32 } %431, 0
  store ptr %432, ptr %10, align 8
  %433 = extractvalue { ptr, i32 } %431, 1
  store i32 %433, ptr %11, align 4
  br label %438

434:                                              ; preds = %407
  %435 = landingpad { ptr, i32 }
          cleanup
  %436 = extractvalue { ptr, i32 } %435, 0
  store ptr %436, ptr %10, align 8
  %437 = extractvalue { ptr, i32 } %435, 1
  store i32 %437, ptr %11, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #10
  br label %438

438:                                              ; preds = %434, %430
  call void @_ZN7Logging13LoggerMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(161) %44) #10
  br label %439

439:                                              ; preds = %438, %426
  call void @llvm.lifetime.end.p0(i64 432, ptr %44) #10
  invoke void @__cxa_end_catch()
          to label %444 unwind label %574

440:                                              ; preds = %414
  %441 = landingpad { ptr, i32 }
          cleanup
  %442 = extractvalue { ptr, i32 } %441, 0
  store ptr %442, ptr %10, align 8
  %443 = extractvalue { ptr, i32 } %441, 1
  store i32 %443, ptr %11, align 4
  br label %445

444:                                              ; preds = %439
  br label %445

445:                                              ; preds = %444, %440
  call void @llvm.lifetime.end.p0(i64 8, ptr %43) #10
  br label %566

446:                                              ; No predecessors!
  br label %447

447:                                              ; preds = %446, %424
  %448 = getelementptr inbounds %"class.DynexCN::WalletGreen", ptr %52, i32 0, i32 10
  %449 = call noundef nonnull align 8 dereferenceable(152) ptr @_ZN5boost11multi_index21multi_index_containerIN7DynexCN12WalletRecordENS0_10indexed_byINS0_13random_accessINS0_3tagINS2_17RandomAccessIndexEN4mpl_2naES9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_EEEENS0_13hashed_uniqueINS6_INS2_9KeysIndexES9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_EENS0_6memberIS3_N6Crypto9PublicKeyEXadL_ZNS3_14spendPublicKeyEEEEES9_S9_EENSC_INS6_INS2_23TransfersContainerIndexES9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_EENSF_IS3_PNS2_19ITransfersContainerEXadL_ZNS3_9containerEEEEES9_S9_EES9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_EESaIS3_EE3getIS7_EERNSS_5indexIT_E4typeEv(ptr noundef nonnull align 8 dereferenceable(176) %448) #10
  %450 = call noundef i64 @_ZNK5boost11multi_index6detail19random_access_indexINS1_9nth_layerILi1EN7DynexCN12WalletRecordENS0_10indexed_byINS0_13random_accessINS0_3tagINS4_17RandomAccessIndexEN4mpl_2naESB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_EEEENS0_13hashed_uniqueINS8_INS4_9KeysIndexESB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_EENS0_6memberIS5_N6Crypto9PublicKeyEXadL_ZNS5_14spendPublicKeyEEEEESB_SB_EENSE_INS8_INS4_23TransfersContainerIndexESB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_EENSH_IS5_PNS4_19ITransfersContainerEXadL_ZNS5_9containerEEEEESB_SB_EESB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_EESaIS5_EEENS_3mpl6v_itemIS9_NSV_7vector0ISB_EELi0EEEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(152) %449) #10
  %451 = icmp ne i64 %450, 0
  br i1 %451, label %452, label %460

452:                                              ; preds = %447
  %453 = getelementptr inbounds %"class.DynexCN::WalletGreen", ptr %52, i32 0, i32 19
  %454 = getelementptr inbounds %"class.DynexCN::WalletGreen", ptr %52, i32 0, i32 28
  %455 = getelementptr inbounds i8, ptr %52, i64 24
  invoke void @_ZN7DynexCN20TransfersSyncronizer30subscribeConsumerNotificationsERKN6Crypto9PublicKeyEPNS_30ITransfersSynchronizerObserverE(ptr noundef nonnull align 8 dereferenceable(192) %453, ptr noundef nonnull align 1 dereferenceable(32) %454, ptr noundef %455)
          to label %456 unwind label %125

456:                                              ; preds = %452
  %457 = getelementptr inbounds %"class.DynexCN::WalletGreen", ptr %52, i32 0, i32 28
  invoke void @_ZN7DynexCN11WalletGreen14initBlockchainERKN6Crypto9PublicKeyE(ptr noundef nonnull align 8 dereferenceable(1872) %52, ptr noundef nonnull align 1 dereferenceable(32) %457)
          to label %458 unwind label %125

458:                                              ; preds = %456
  invoke void @_ZN7DynexCN11WalletGreen27startBlockchainSynchronizerEv(ptr noundef nonnull align 8 dereferenceable(1872) %52)
          to label %459 unwind label %125

459:                                              ; preds = %458
  br label %486

460:                                              ; preds = %447
  %461 = getelementptr inbounds %"class.DynexCN::WalletGreen", ptr %52, i32 0, i32 34
  %462 = getelementptr inbounds i8, ptr %461, i64 16
  %463 = getelementptr inbounds %"class.DynexCN::WalletGreen", ptr %52, i32 0, i32 6
  %464 = load ptr, ptr %463, align 8, !tbaa !160
  %465 = invoke noundef nonnull align 1 dereferenceable(32) ptr @_ZNK7DynexCN8Currency16genesisBlockHashEv(ptr noundef nonnull align 8 dereferenceable(984) %464)
          to label %466 unwind label %125

466:                                              ; preds = %460
  %467 = invoke { ptr, i8 } @_ZN5boost11multi_index6detail19random_access_indexINS1_9nth_layerILi1EN6Crypto4HashENS0_10indexed_byINS0_13random_accessINS0_3tagIN7DynexCN16BlockHeightIndexEN4mpl_2naESC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_EEEENS0_13hashed_uniqueINS8_INS9_14BlockHashIndexESC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_EENS0_8identityIS5_EESC_SC_EESC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_EESaIS5_EEENS_3mpl6v_itemISA_NSO_7vector0ISC_EELi0EEEE9push_backERKS5_(ptr noundef nonnull align 8 dereferenceable(96) %462, ptr noundef nonnull align 1 dereferenceable(32) %465)
          to label %468 unwind label %125

468:                                              ; preds = %466
  %469 = getelementptr inbounds { ptr, i8 }, ptr %46, i32 0, i32 0
  %470 = extractvalue { ptr, i8 } %467, 0
  store ptr %470, ptr %469, align 8
  %471 = getelementptr inbounds { ptr, i8 }, ptr %46, i32 0, i32 1
  %472 = extractvalue { ptr, i8 } %467, 1
  store i8 %472, ptr %471, align 8
  call void @llvm.lifetime.start.p0(i64 432, ptr %47) #10
  %473 = getelementptr inbounds %"class.DynexCN::WalletGreen", ptr %52, i32 0, i32 8
  invoke void @_ZNK7Logging9LoggerRefclENS_5LevelERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind writable sret(%"class.Logging::LoggerMessage") align 8 %47, ptr noundef nonnull align 8 dereferenceable(40) %473, i32 noundef 4, ptr noundef nonnull align 8 dereferenceable(32) @_ZN7Logging7DEFAULTB5cxx11E)
          to label %474 unwind label %477

474:                                              ; preds = %468
  %475 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA37_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %47, ptr noundef nonnull align 1 dereferenceable(37) @.str.40)
          to label %476 unwind label %481

476:                                              ; preds = %474
  call void @_ZN7Logging13LoggerMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(161) %47) #10
  call void @llvm.lifetime.end.p0(i64 432, ptr %47) #10
  br label %486

477:                                              ; preds = %468
  %478 = landingpad { ptr, i32 }
          cleanup
  %479 = extractvalue { ptr, i32 } %478, 0
  store ptr %479, ptr %10, align 8
  %480 = extractvalue { ptr, i32 } %478, 1
  store i32 %480, ptr %11, align 4
  br label %485

481:                                              ; preds = %474
  %482 = landingpad { ptr, i32 }
          cleanup
  %483 = extractvalue { ptr, i32 } %482, 0
  store ptr %483, ptr %10, align 8
  %484 = extractvalue { ptr, i32 } %482, 1
  store i32 %484, ptr %11, align 4
  call void @_ZN7Logging13LoggerMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(161) %47) #10
  br label %485

485:                                              ; preds = %481, %477
  call void @llvm.lifetime.end.p0(i64 432, ptr %47) #10
  br label %566

486:                                              ; preds = %476, %459
  %487 = load ptr, ptr %7, align 8, !tbaa !5
  %488 = getelementptr inbounds %"class.DynexCN::WalletGreen", ptr %52, i32 0, i32 24
  %489 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %488, ptr noundef nonnull align 8 dereferenceable(32) %487)
          to label %490 unwind label %125

490:                                              ; preds = %486
  %491 = load ptr, ptr %6, align 8, !tbaa !5
  %492 = getelementptr inbounds %"class.DynexCN::WalletGreen", ptr %52, i32 0, i32 26
  %493 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %492, ptr noundef nonnull align 8 dereferenceable(32) %491)
          to label %494 unwind label %125

494:                                              ; preds = %490
  %495 = load ptr, ptr %8, align 8, !tbaa !5
  %496 = getelementptr inbounds %"class.DynexCN::WalletGreen", ptr %52, i32 0, i32 27
  %497 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %496, ptr noundef nonnull align 8 dereferenceable(32) %495)
          to label %498 unwind label %125

498:                                              ; preds = %494
  %499 = getelementptr inbounds %"class.DynexCN::WalletGreen", ptr %52, i32 0, i32 23
  store i32 0, ptr %499, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 432, ptr %48) #10
  %500 = getelementptr inbounds %"class.DynexCN::WalletGreen", ptr %52, i32 0, i32 8
  invoke void @_ZNK7Logging9LoggerRefclENS_5LevelERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind writable sret(%"class.Logging::LoggerMessage") align 8 %48, ptr noundef nonnull align 8 dereferenceable(40) %500, i32 noundef 3, ptr noundef nonnull align 8 dereferenceable(32) @_ZN7Logging12BRIGHT_WHITEB5cxx11E)
          to label %501 unwind label %532

501:                                              ; preds = %498
  %502 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA35_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %48, ptr noundef nonnull align 1 dereferenceable(35) @.str.41)
          to label %503 unwind label %536

503:                                              ; preds = %501
  %504 = getelementptr inbounds %"class.DynexCN::WalletGreen", ptr %52, i32 0, i32 28
  %505 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEN6Crypto9PublicKeyEEOT_S5_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %502, ptr noundef nonnull align 1 dereferenceable(32) %504)
          to label %506 unwind label %536

506:                                              ; preds = %503
  %507 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA16_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %505, ptr noundef nonnull align 1 dereferenceable(16) @.str.42)
          to label %508 unwind label %536

508:                                              ; preds = %506
  call void @llvm.lifetime.start.p0(i64 8, ptr %49) #10
  %509 = getelementptr inbounds %"class.DynexCN::WalletGreen", ptr %52, i32 0, i32 10
  %510 = getelementptr inbounds i8, ptr %509, i64 16
  %511 = call noundef i64 @_ZNK5boost11multi_index6detail19random_access_indexINS1_9nth_layerILi1EN7DynexCN12WalletRecordENS0_10indexed_byINS0_13random_accessINS0_3tagINS4_17RandomAccessIndexEN4mpl_2naESB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_EEEENS0_13hashed_uniqueINS8_INS4_9KeysIndexESB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_EENS0_6memberIS5_N6Crypto9PublicKeyEXadL_ZNS5_14spendPublicKeyEEEEESB_SB_EENSE_INS8_INS4_23TransfersContainerIndexESB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_EENSH_IS5_PNS4_19ITransfersContainerEXadL_ZNS5_9containerEEEEESB_SB_EESB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_EESaIS5_EEENS_3mpl6v_itemIS9_NSV_7vector0ISB_EELi0EEEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(152) %510) #10
  store i64 %511, ptr %49, align 8, !tbaa !156
  %512 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEmEOT_S3_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %507, ptr noundef nonnull align 8 dereferenceable(8) %49)
          to label %513 unwind label %540

513:                                              ; preds = %508
  %514 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA18_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %512, ptr noundef nonnull align 1 dereferenceable(18) @.str.43)
          to label %515 unwind label %540

515:                                              ; preds = %513
  call void @llvm.lifetime.start.p0(i64 32, ptr %50) #10
  %516 = getelementptr inbounds %"class.DynexCN::WalletGreen", ptr %52, i32 0, i32 6
  %517 = load ptr, ptr %516, align 8, !tbaa !160
  %518 = getelementptr inbounds %"class.DynexCN::WalletGreen", ptr %52, i32 0, i32 30
  %519 = load i64, ptr %518, align 8, !tbaa !161
  invoke void @_ZNK7DynexCN8Currency12formatAmountB5cxx11Em(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %50, ptr noundef nonnull align 8 dereferenceable(984) %517, i64 noundef %519)
          to label %520 unwind label %544

520:                                              ; preds = %515
  %521 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEOT_S9_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %514, ptr noundef nonnull align 8 dereferenceable(32) %50)
          to label %522 unwind label %548

522:                                              ; preds = %520
  %523 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA19_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %521, ptr noundef nonnull align 1 dereferenceable(19) @.str.44)
          to label %524 unwind label %548

524:                                              ; preds = %522
  call void @llvm.lifetime.start.p0(i64 32, ptr %51) #10
  %525 = getelementptr inbounds %"class.DynexCN::WalletGreen", ptr %52, i32 0, i32 6
  %526 = load ptr, ptr %525, align 8, !tbaa !160
  %527 = getelementptr inbounds %"class.DynexCN::WalletGreen", ptr %52, i32 0, i32 31
  %528 = load i64, ptr %527, align 8, !tbaa !162
  invoke void @_ZNK7DynexCN8Currency12formatAmountB5cxx11Em(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %51, ptr noundef nonnull align 8 dereferenceable(984) %526, i64 noundef %528)
          to label %529 unwind label %552

529:                                              ; preds = %524
  %530 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEOT_S9_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %523, ptr noundef nonnull align 8 dereferenceable(32) %51)
          to label %531 unwind label %556

531:                                              ; preds = %529
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %51) #10
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %50) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %49) #10
  call void @_ZN7Logging13LoggerMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(161) %48) #10
  call void @llvm.lifetime.end.p0(i64 432, ptr %48) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #10
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %15) #10
  call void @llvm.lifetime.end.p0(i64 520, ptr %15) #10
  call void @_ZN6Crypto10cn_contextD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %14) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %14) #10
  ret void

532:                                              ; preds = %498
  %533 = landingpad { ptr, i32 }
          cleanup
  %534 = extractvalue { ptr, i32 } %533, 0
  store ptr %534, ptr %10, align 8
  %535 = extractvalue { ptr, i32 } %533, 1
  store i32 %535, ptr %11, align 4
  br label %565

536:                                              ; preds = %506, %503, %501
  %537 = landingpad { ptr, i32 }
          cleanup
  %538 = extractvalue { ptr, i32 } %537, 0
  store ptr %538, ptr %10, align 8
  %539 = extractvalue { ptr, i32 } %537, 1
  store i32 %539, ptr %11, align 4
  br label %564

540:                                              ; preds = %513, %508
  %541 = landingpad { ptr, i32 }
          cleanup
  %542 = extractvalue { ptr, i32 } %541, 0
  store ptr %542, ptr %10, align 8
  %543 = extractvalue { ptr, i32 } %541, 1
  store i32 %543, ptr %11, align 4
  br label %563

544:                                              ; preds = %515
  %545 = landingpad { ptr, i32 }
          cleanup
  %546 = extractvalue { ptr, i32 } %545, 0
  store ptr %546, ptr %10, align 8
  %547 = extractvalue { ptr, i32 } %545, 1
  store i32 %547, ptr %11, align 4
  br label %562

548:                                              ; preds = %522, %520
  %549 = landingpad { ptr, i32 }
          cleanup
  %550 = extractvalue { ptr, i32 } %549, 0
  store ptr %550, ptr %10, align 8
  %551 = extractvalue { ptr, i32 } %549, 1
  store i32 %551, ptr %11, align 4
  br label %561

552:                                              ; preds = %524
  %553 = landingpad { ptr, i32 }
          cleanup
  %554 = extractvalue { ptr, i32 } %553, 0
  store ptr %554, ptr %10, align 8
  %555 = extractvalue { ptr, i32 } %553, 1
  store i32 %555, ptr %11, align 4
  br label %560

556:                                              ; preds = %529
  %557 = landingpad { ptr, i32 }
          cleanup
  %558 = extractvalue { ptr, i32 } %557, 0
  store ptr %558, ptr %10, align 8
  %559 = extractvalue { ptr, i32 } %557, 1
  store i32 %559, ptr %11, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #10
  br label %560

560:                                              ; preds = %556, %552
  call void @llvm.lifetime.end.p0(i64 32, ptr %51) #10
  br label %561

561:                                              ; preds = %560, %548
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #10
  br label %562

562:                                              ; preds = %561, %544
  call void @llvm.lifetime.end.p0(i64 32, ptr %50) #10
  br label %563

563:                                              ; preds = %562, %540
  call void @llvm.lifetime.end.p0(i64 8, ptr %49) #10
  br label %564

564:                                              ; preds = %563, %536
  call void @_ZN7Logging13LoggerMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(161) %48) #10
  br label %565

565:                                              ; preds = %564, %532
  call void @llvm.lifetime.end.p0(i64 432, ptr %48) #10
  br label %566

566:                                              ; preds = %565, %485, %445, %397, %292, %244, %180, %179, %138, %137, %125
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #10
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %15) #10
  br label %567

567:                                              ; preds = %566, %121
  call void @llvm.lifetime.end.p0(i64 520, ptr %15) #10
  br label %568

568:                                              ; preds = %567, %117
  call void @_ZN6Crypto10cn_contextD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %14) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %14) #10
  br label %569

569:                                              ; preds = %568, %86, %82, %78
  %570 = load ptr, ptr %10, align 8
  %571 = load i32, ptr %11, align 4
  %572 = insertvalue { ptr, i32 } poison, ptr %570, 0
  %573 = insertvalue { ptr, i32 } %572, i32 %571, 1
  resume { ptr, i32 } %573

574:                                              ; preds = %439, %290
  %575 = landingpad { ptr, i32 }
          catch ptr null
  %576 = extractvalue { ptr, i32 } %575, 0
  call void @__clang_call_terminate(ptr %576) #12
  unreachable

577:                                              ; preds = %170, %116
  unreachable
}

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA21_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161), ptr noundef nonnull align 1 dereferenceable(21)) #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA53_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161), ptr noundef nonnull align 1 dereferenceable(53)) #3

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

declare noundef i32 @_ZNSi4peekEv(ptr noundef nonnull align 8 dereferenceable(16)) #4

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA30_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161), ptr noundef nonnull align 1 dereferenceable(30)) #3

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt12system_errorC2ESt10error_codePKc(ptr noundef nonnull align 8 dereferenceable(32), i32, ptr, ptr noundef) unnamed_addr #7 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7DynexCN11WalletGreen24convertAndLoadWalletFileERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEOSt14basic_ifstreamIcS4_E(ptr noundef nonnull align 8 dereferenceable(1872), ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(256)) #7 align 2

; Function Attrs: mustprogress uwtable
declare void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv(ptr noundef nonnull align 8 dereferenceable(256)) #7 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEiEOT_S3_RKT0_(ptr noundef nonnull align 8 dereferenceable(161), ptr noundef nonnull align 4 dereferenceable(4)) #3

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7DynexCN11WalletGreen20loadContainerStorageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(1872), ptr noundef nonnull align 8 dereferenceable(32)) #7 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7DynexCN11WalletGreen16subscribeWalletsEv(ptr noundef nonnull align 8 dereferenceable(1872)) #7 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef i64 @_ZNK6Common16FileMappedVectorIN7DynexCN21EncryptedWalletRecordEE10suffixSizeEv(ptr noundef nonnull align 8 dereferenceable(105)) #7 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7DynexCN11WalletGreen15loadWalletCacheERSt13unordered_setIN6Crypto9PublicKeyESt4hashIS3_ESt8equal_toIS3_ESaIS3_EESA_RNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(1872), ptr noundef nonnull align 8 dereferenceable(56), ptr noundef nonnull align 8 dereferenceable(56), ptr noundef nonnull align 8 dereferenceable(32)) #7 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNKSt13unordered_setIN6Crypto9PublicKeyESt4hashIS1_ESt8equal_toIS1_ESaIS1_EE5emptyEv(ptr noundef nonnull align 8 dereferenceable(56)) #2 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA70_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161), ptr noundef nonnull align 1 dereferenceable(70)) #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA74_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161), ptr noundef nonnull align 1 dereferenceable(74)) #3

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7DynexCN11WalletGreen24deleteOrphanTransactionsERKSt13unordered_setIN6Crypto9PublicKeyESt4hashIS3_ESt8equal_toIS3_ESaIS3_EE(ptr noundef nonnull align 8 dereferenceable(1872), ptr noundef nonnull align 8 dereferenceable(56)) #7 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZNSt13unordered_setIN6Crypto9PublicKeyESt4hashIS1_ESt8equal_toIS1_ESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(56)) unnamed_addr #6 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZN9__gnu_cxxneIPN7DynexCN20AccountPublicAddressESt6vectorIS2_SaIS2_EEEEbRKNS_17__normal_iteratorIT_T0_EESC_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) #6

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 1 dereferenceable(64) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPN7DynexCN20AccountPublicAddressESt6vectorIS2_SaIS2_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8)) #2 align 2

declare noundef ptr @_ZN7DynexCN20TransfersSyncronizer15getSubscriptionERKNS_20AccountPublicAddressE(ptr noundef nonnull align 8 dereferenceable(192), ptr noundef nonnull align 1 dereferenceable(64)) unnamed_addr #4

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEmEOT_S3_RKT0_(ptr noundef nonnull align 8 dereferenceable(161), ptr noundef nonnull align 8 dereferenceable(8)) #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA17_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161), ptr noundef nonnull align 1 dereferenceable(17)) #3

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i64 @_ZNKSt6vectorIN7DynexCN28TransactionOutputInformationESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24)) #2 align 2

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

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZN9__gnu_cxxneIPN7DynexCN28TransactionOutputInformationESt6vectorIS2_SaIS2_EEEEbRKNS_17__normal_iteratorIT_T0_EESC_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) #6

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

declare void @_ZN7DynexCN20TransfersSyncronizer17addPublicKeysSeenERKNS_20AccountPublicAddressERKN6Crypto4HashERKNS4_9PublicKeyE(ptr noundef nonnull align 8 dereferenceable(192), ptr noundef nonnull align 1 dereferenceable(64), ptr noundef nonnull align 1 dereferenceable(32), ptr noundef nonnull align 1 dereferenceable(32)) #4

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA60_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161), ptr noundef nonnull align 1 dereferenceable(60)) #3

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7DynexCN11WalletGreen19initTransactionPoolEv(ptr noundef nonnull align 8 dereferenceable(1872)) #7 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(152) ptr @_ZN5boost11multi_index21multi_index_containerIN7DynexCN12WalletRecordENS0_10indexed_byINS0_13random_accessINS0_3tagINS2_17RandomAccessIndexEN4mpl_2naES9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_EEEENS0_13hashed_uniqueINS6_INS2_9KeysIndexES9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_EENS0_6memberIS3_N6Crypto9PublicKeyEXadL_ZNS3_14spendPublicKeyEEEEES9_S9_EENSC_INS6_INS2_23TransfersContainerIndexES9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_EENSF_IS3_PNS2_19ITransfersContainerEXadL_ZNS3_9containerEEEEES9_S9_EES9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_EESaIS3_EE3getIS7_EERNSS_5indexIT_E4typeEv(ptr noundef nonnull align 8 dereferenceable(176)) #2 align 2

declare void @_ZN7DynexCN20TransfersSyncronizer30subscribeConsumerNotificationsERKN6Crypto9PublicKeyEPNS_30ITransfersSynchronizerObserverE(ptr noundef nonnull align 8 dereferenceable(192), ptr noundef nonnull align 1 dereferenceable(32), ptr noundef) #4

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7DynexCN11WalletGreen14initBlockchainERKN6Crypto9PublicKeyE(ptr noundef nonnull align 8 dereferenceable(1872), ptr noundef nonnull align 1 dereferenceable(32)) #7 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA37_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161), ptr noundef nonnull align 1 dereferenceable(37)) #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEOT_S9_RKT0_(ptr noundef nonnull align 8 dereferenceable(161), ptr noundef nonnull align 8 dereferenceable(32)) #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA18_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161), ptr noundef nonnull align 1 dereferenceable(18)) #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA35_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161), ptr noundef nonnull align 1 dereferenceable(35)) #3

declare void @_ZNK7DynexCN8Currency12formatAmountB5cxx11Em(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(984), i64 noundef) #4

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

attributes #0 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { 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 #2 = { 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 #3 = { inlinehint 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 #4 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { nounwind "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 = { 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 #7 = { 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 #8 = { noreturn nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #9 = { nounwind memory(none) }
attributes #10 = { nounwind }
attributes #11 = { noreturn }
attributes #12 = { 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, !138, i64 1520}
!10 = !{!"_ZTSN7DynexCN11WalletGreenE", !11, i64 0, !12, i64 8, !13, i64 16, !14, i64 24, !15, i64 32, !6, i64 40, !6, i64 48, !6, i64 56, !16, i64 64, !20, i64 104, !21, i64 112, !41, i64 288, !44, i64 400, !58, i64 488, !72, i64 608, !76, i64 632, !80, i64 688, !20, i64 736, !88, i64 744, !124, i64 1184, !131, i64 1376, !132, i64 1408, !131, i64 1488, !138, i64 1520, !17, i64 1528, !139, i64 1560, !17, i64 1592, !17, i64 1624, !140, i64 1656, !141, i64 1688, !19, i64 1720, !19, i64 1728, !19, i64 1736, !43, i64 1744, !142, i64 1752}
!11 = !{!"_ZTSN7DynexCN7IWalletE"}
!12 = !{!"_ZTSN7DynexCN18ITransfersObserverE"}
!13 = !{!"_ZTSN7DynexCN31IBlockchainSynchronizerObserverE"}
!14 = !{!"_ZTSN7DynexCN30ITransfersSynchronizerObserverE"}
!15 = !{!"_ZTSN7DynexCN14IFusionManagerE"}
!16 = !{!"_ZTSN7Logging9LoggerRefE", !6, i64 0, !17, i64 8}
!17 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !18, i64 0, !19, i64 8, !7, i64 16}
!18 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !6, i64 0}
!19 = !{!"long", !7, i64 0}
!20 = !{!"bool", !7, i64 0}
!21 = !{!"_ZTSN5boost11multi_index21multi_index_containerIN7DynexCN12WalletRecordENS0_10indexed_byINS0_13random_accessINS0_3tagINS2_17RandomAccessIndexEN4mpl_2naES9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_EEEENS0_13hashed_uniqueINS6_INS2_9KeysIndexES9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_EENS0_6memberIS3_N6Crypto9PublicKeyEXadL_ZNS3_14spendPublicKeyEEEEES9_S9_EENSC_INS6_INS2_23TransfersContainerIndexES9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_EENSF_IS3_PNS2_19ITransfersContainerEXadL_ZNS3_9containerEEEEES9_S9_EES9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_EESaIS3_EEE", !22, i64 0, !24, i64 8, !25, i64 16, !19, i64 168}
!22 = !{!"_ZTSN5boost16base_from_memberISaINS_11multi_index6detail24random_access_index_nodeINS2_17hashed_index_nodeINS4_INS2_15index_node_baseIN7DynexCN12WalletRecordESaIS7_EEEEEEEEEELi0EEE", !23, i64 0}
!23 = !{!"_ZTSSaIN5boost11multi_index6detail24random_access_index_nodeINS1_17hashed_index_nodeINS3_INS1_15index_node_baseIN7DynexCN12WalletRecordESaIS6_EEEEEEEEEE"}
!24 = !{!"_ZTSN5boost11multi_index6detail13header_holderIPNS1_24random_access_index_nodeINS1_17hashed_index_nodeINS4_INS1_15index_node_baseIN7DynexCN12WalletRecordESaIS7_EEEEEEEEENS0_21multi_index_containerIS7_NS0_10indexed_byINS0_13random_accessINS0_3tagINS6_17RandomAccessIndexEN4mpl_2naESK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_EEEENS0_13hashed_uniqueINSH_INS6_9KeysIndexESK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_EENS0_6memberIS7_N6Crypto9PublicKeyEXadL_ZNS7_14spendPublicKeyEEEEESK_SK_EENSN_INSH_INS6_23TransfersContainerIndexESK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_EENSQ_IS7_PNS6_19ITransfersContainerEXadL_ZNS7_9containerEEEEESK_SK_EESK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_EES8_EEEE", !6, i64 0}
!25 = !{!"_ZTSN5boost11multi_index6detail19random_access_indexINS1_9nth_layerILi1EN7DynexCN12WalletRecordENS0_10indexed_byINS0_13random_accessINS0_3tagINS4_17RandomAccessIndexEN4mpl_2naESB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_EEEENS0_13hashed_uniqueINS8_INS4_9KeysIndexESB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_EENS0_6memberIS5_N6Crypto9PublicKeyEXadL_ZNS5_14spendPublicKeyEEEEESB_SB_EENSE_INS8_INS4_23TransfersContainerIndexESB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_EENSH_IS5_PNS4_19ITransfersContainerEXadL_ZNS5_9containerEEEEESB_SB_EESB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_EESaIS5_EEENS_3mpl6v_itemIS9_NSV_7vector0ISB_EELi0EEEEE", !26, i64 0, !38, i64 112}
!26 = !{!"_ZTSN5boost11multi_index6detail12hashed_indexINS0_6memberIN7DynexCN12WalletRecordEN6Crypto9PublicKeyEXadL_ZNS5_14spendPublicKeyEEEEENS_4hashIS7_EESt8equal_toIS7_ENS1_9nth_layerILi2ES5_NS0_10indexed_byINS0_13random_accessINS0_3tagINS4_17RandomAccessIndexEN4mpl_2naESJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_EEEENS0_13hashed_uniqueINSG_INS4_9KeysIndexESJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_EES8_SJ_SJ_EENSM_INSG_INS4_23TransfersContainerIndexESJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_EENS3_IS5_PNS4_19ITransfersContainerEXadL_ZNS5_9containerEEEEESJ_SJ_EESJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_EESaIS5_EEENS_3mpl6v_itemISN_NSZ_7vector0ISJ_EELi0EEENS1_17hashed_unique_tagEEE", !27, i64 0, !35, i64 56, !36, i64 57, !37, i64 58, !31, i64 64, !34, i64 96, !19, i64 104}
!27 = !{!"_ZTSN5boost11multi_index6detail12hashed_indexINS0_6memberIN7DynexCN12WalletRecordEPNS4_19ITransfersContainerEXadL_ZNS5_9containerEEEEENS_4hashIS7_EESt8equal_toIS7_ENS1_9nth_layerILi3ES5_NS0_10indexed_byINS0_13random_accessINS0_3tagINS4_17RandomAccessIndexEN4mpl_2naESJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_EEEENS0_13hashed_uniqueINSG_INS4_9KeysIndexESJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_EENS3_IS5_N6Crypto9PublicKeyEXadL_ZNS5_14spendPublicKeyEEEEESJ_SJ_EENSM_INSG_INS4_23TransfersContainerIndexESJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_EES8_SJ_SJ_EESJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_EESaIS5_EEENS_3mpl6v_itemIST_NSZ_7vector0ISJ_EELi0EEENS1_17hashed_unique_tagEEE", !28, i64 0, !29, i64 1, !30, i64 2, !31, i64 8, !34, i64 40, !19, i64 48}
!28 = !{!"_ZTSN5boost11multi_index6memberIN7DynexCN12WalletRecordEPNS2_19ITransfersContainerEXadL_ZNS3_9containerEEEEE"}
!29 = !{!"_ZTSN5boost4hashIPN7DynexCN19ITransfersContainerEEE"}
!30 = !{!"_ZTSSt8equal_toIPN7DynexCN19ITransfersContainerEE"}
!31 = !{!"_ZTSN5boost11multi_index6detail12bucket_arrayISaIN7DynexCN12WalletRecordEEEE", !19, i64 0, !32, i64 8}
!32 = !{!"_ZTSN5boost11multi_index6detail10auto_spaceINS1_27hashed_index_base_node_implISaIcEEESaIN7DynexCN12WalletRecordEEEE", !33, i64 0, !19, i64 8, !6, i64 16}
!33 = !{!"_ZTSSaIN5boost11multi_index6detail27hashed_index_base_node_implISaIcEEEE"}
!34 = !{!"float", !7, i64 0}
!35 = !{!"_ZTSN5boost11multi_index6memberIN7DynexCN12WalletRecordEN6Crypto9PublicKeyEXadL_ZNS3_14spendPublicKeyEEEEE"}
!36 = !{!"_ZTSN5boost4hashIN6Crypto9PublicKeyEEE"}
!37 = !{!"_ZTSSt8equal_toIN6Crypto9PublicKeyEE"}
!38 = !{!"_ZTSN5boost11multi_index6detail29random_access_index_ptr_arrayISaIN7DynexCN12WalletRecordEEEE", !19, i64 0, !19, i64 8, !39, i64 16}
!39 = !{!"_ZTSN5boost11multi_index6detail10auto_spaceIPNS1_29random_access_index_node_implISaIcEEESaIN7DynexCN12WalletRecordEEEE", !40, i64 0, !19, i64 8, !6, i64 16}
!40 = !{!"_ZTSSaIPN5boost11multi_index6detail29random_access_index_node_implISaIcEEEE"}
!41 = !{!"_ZTSN6Common16FileMappedVectorIN7DynexCN21EncryptedWalletRecordEEE", !17, i64 0, !42, i64 32, !19, i64 88, !19, i64 96, !20, i64 104}
!42 = !{!"_ZTSN6System16MemoryMappedFileE", !43, i64 0, !17, i64 8, !19, i64 40, !6, i64 48}
!43 = !{!"int", !7, i64 0}
!44 = !{!"_ZTSN5boost11multi_index21multi_index_containerIN7DynexCN20UnlockTransactionJobENS0_10indexed_byINS0_18ordered_non_uniqueINS0_3tagINS2_16BlockHeightIndexEN4mpl_2naES9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_EENS0_6memberIS3_jXadL_ZNS3_11blockHeightEEEEES9_EENS0_17hashed_non_uniqueINS6_INS2_20TransactionHashIndexES9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_EENSB_IS3_N6Crypto4HashEXadL_ZNS3_15transactionHashEEEEES9_S9_EES9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_EESaIS3_EEE", !45, i64 0, !47, i64 8, !48, i64 16, !19, i64 80}
!45 = !{!"_ZTSN5boost16base_from_memberISaINS_11multi_index6detail18ordered_index_nodeINS2_19null_augment_policyENS2_17hashed_index_nodeINS2_15index_node_baseIN7DynexCN20UnlockTransactionJobESaIS8_EEEEEEEELi0EEE", !46, i64 0}
!46 = !{!"_ZTSSaIN5boost11multi_index6detail18ordered_index_nodeINS1_19null_augment_policyENS1_17hashed_index_nodeINS1_15index_node_baseIN7DynexCN20UnlockTransactionJobESaIS7_EEEEEEEE"}
!47 = !{!"_ZTSN5boost11multi_index6detail13header_holderIPNS1_18ordered_index_nodeINS1_19null_augment_policyENS1_17hashed_index_nodeINS1_15index_node_baseIN7DynexCN20UnlockTransactionJobESaIS8_EEEEEEENS0_21multi_index_containerIS8_NS0_10indexed_byINS0_18ordered_non_uniqueINS0_3tagINS7_16BlockHeightIndexEN4mpl_2naESK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_EENS0_6memberIS8_jXadL_ZNS8_11blockHeightEEEEESK_EENS0_17hashed_non_uniqueINSH_INS7_20TransactionHashIndexESK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_EENSM_IS8_N6Crypto4HashEXadL_ZNS8_15transactionHashEEEEESK_SK_EESK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_EES9_EEEE", !6, i64 0}
!48 = !{!"_ZTSN5boost11multi_index6detail13ordered_indexINS0_6memberIN7DynexCN20UnlockTransactionJobEjXadL_ZNS5_11blockHeightEEEEESt4lessIjENS1_9nth_layerILi1ES5_NS0_10indexed_byINS0_18ordered_non_uniqueINS0_3tagINS4_16BlockHeightIndexEN4mpl_2naESF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_EES6_SF_EENS0_17hashed_non_uniqueINSC_INS4_20TransactionHashIndexESF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_EENS3_IS5_N6Crypto4HashEXadL_ZNS5_15transactionHashEEEEESF_SF_EESF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_EESaIS5_EEENS_3mpl6v_itemISD_NSS_7vector0ISF_EELi0EEENS1_22ordered_non_unique_tagENS1_19null_augment_policyEEE", !49, i64 0}
!49 = !{!"_ZTSN5boost11multi_index6detail18ordered_index_implINS0_6memberIN7DynexCN20UnlockTransactionJobEjXadL_ZNS5_11blockHeightEEEEESt4lessIjENS1_9nth_layerILi1ES5_NS0_10indexed_byINS0_18ordered_non_uniqueINS0_3tagINS4_16BlockHeightIndexEN4mpl_2naESF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_EES6_SF_EENS0_17hashed_non_uniqueINSC_INS4_20TransactionHashIndexESF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_EENS3_IS5_N6Crypto4HashEXadL_ZNS5_15transactionHashEEEEESF_SF_EESF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_EESaIS5_EEENS_3mpl6v_itemISD_NSS_7vector0ISF_EELi0EEENS1_22ordered_non_unique_tagENS1_19null_augment_policyEEE", !50, i64 0, !56, i64 56, !57, i64 57}
!50 = !{!"_ZTSN5boost11multi_index6detail12hashed_indexINS0_6memberIN7DynexCN20UnlockTransactionJobEN6Crypto4HashEXadL_ZNS5_15transactionHashEEEEENS_4hashIS7_EESt8equal_toIS7_ENS1_9nth_layerILi2ES5_NS0_10indexed_byINS0_18ordered_non_uniqueINS0_3tagINS4_16BlockHeightIndexEN4mpl_2naESJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_EENS3_IS5_jXadL_ZNS5_11blockHeightEEEEESJ_EENS0_17hashed_non_uniqueINSG_INS4_20TransactionHashIndexESJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_EES8_SJ_SJ_EESJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_EESaIS5_EEENS_3mpl6v_itemISO_NSU_7vector0ISJ_EELi0EEENS1_21hashed_non_unique_tagEEE", !51, i64 0, !52, i64 1, !53, i64 2, !54, i64 8, !34, i64 40, !19, i64 48}
!51 = !{!"_ZTSN5boost11multi_index6memberIN7DynexCN20UnlockTransactionJobEN6Crypto4HashEXadL_ZNS3_15transactionHashEEEEE"}
!52 = !{!"_ZTSN5boost4hashIN6Crypto4HashEEE"}
!53 = !{!"_ZTSSt8equal_toIN6Crypto4HashEE"}
!54 = !{!"_ZTSN5boost11multi_index6detail12bucket_arrayISaIN7DynexCN20UnlockTransactionJobEEEE", !19, i64 0, !55, i64 8}
!55 = !{!"_ZTSN5boost11multi_index6detail10auto_spaceINS1_27hashed_index_base_node_implISaIcEEESaIN7DynexCN20UnlockTransactionJobEEEE", !33, i64 0, !19, i64 8, !6, i64 16}
!56 = !{!"_ZTSN5boost11multi_index6memberIN7DynexCN20UnlockTransactionJobEjXadL_ZNS3_11blockHeightEEEEE"}
!57 = !{!"_ZTSSt4lessIjE"}
!58 = !{!"_ZTSN5boost11multi_index21multi_index_containerIN7DynexCN17WalletTransactionENS0_10indexed_byINS0_13random_accessINS0_3tagINS2_17RandomAccessIndexEN4mpl_2naES9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_EEEENS0_13hashed_uniqueINS6_INS2_16TransactionIndexES9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_EENS0_6memberIS3_N6Crypto4HashEXadL_ZNS3_4hashEEEEES9_S9_EENS0_18ordered_non_uniqueINS6_INS2_16BlockHeightIndexES9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_EENSF_IS3_jXadL_ZNS3_11blockHeightEEEEES9_EES9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_EESaIS3_EEE", !59, i64 0, !61, i64 8, !62, i64 16, !19, i64 112}
!59 = !{!"_ZTSN5boost16base_from_memberISaINS_11multi_index6detail24random_access_index_nodeINS2_17hashed_index_nodeINS2_18ordered_index_nodeINS2_19null_augment_policyENS2_15index_node_baseIN7DynexCN17WalletTransactionESaIS9_EEEEEEEEEELi0EEE", !60, i64 0}
!60 = !{!"_ZTSSaIN5boost11multi_index6detail24random_access_index_nodeINS1_17hashed_index_nodeINS1_18ordered_index_nodeINS1_19null_augment_policyENS1_15index_node_baseIN7DynexCN17WalletTransactionESaIS8_EEEEEEEEEE"}
!61 = !{!"_ZTSN5boost11multi_index6detail13header_holderIPNS1_24random_access_index_nodeINS1_17hashed_index_nodeINS1_18ordered_index_nodeINS1_19null_augment_policyENS1_15index_node_baseIN7DynexCN17WalletTransactionESaIS9_EEEEEEEEENS0_21multi_index_containerIS9_NS0_10indexed_byINS0_13random_accessINS0_3tagINS8_17RandomAccessIndexEN4mpl_2naESM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_EEEENS0_13hashed_uniqueINSJ_INS8_16TransactionIndexESM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_EENS0_6memberIS9_N6Crypto4HashEXadL_ZNS9_4hashEEEEESM_SM_EENS0_18ordered_non_uniqueINSJ_INS8_16BlockHeightIndexESM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_EENSS_IS9_jXadL_ZNS9_11blockHeightEEEEESM_EESM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_EESA_EEEE", !6, i64 0}
!62 = !{!"_ZTSN5boost11multi_index6detail19random_access_indexINS1_9nth_layerILi1EN7DynexCN17WalletTransactionENS0_10indexed_byINS0_13random_accessINS0_3tagINS4_17RandomAccessIndexEN4mpl_2naESB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_EEEENS0_13hashed_uniqueINS8_INS4_16TransactionIndexESB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_EENS0_6memberIS5_N6Crypto4HashEXadL_ZNS5_4hashEEEEESB_SB_EENS0_18ordered_non_uniqueINS8_INS4_16BlockHeightIndexESB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_EENSH_IS5_jXadL_ZNS5_11blockHeightEEEEESB_EESB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_EESaIS5_EEENS_3mpl6v_itemIS9_NSU_7vector0ISB_EELi0EEEEE", !63, i64 0, !70, i64 56}
!63 = !{!"_ZTSN5boost11multi_index6detail12hashed_indexINS0_6memberIN7DynexCN17WalletTransactionEN6Crypto4HashEXadL_ZNS5_4hashEEEEENS_4hashIS7_EESt8equal_toIS7_ENS1_9nth_layerILi2ES5_NS0_10indexed_byINS0_13random_accessINS0_3tagINS4_17RandomAccessIndexEN4mpl_2naESJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_EEEENS0_13hashed_uniqueINSG_INS4_16TransactionIndexESJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_EES8_SJ_SJ_EENS0_18ordered_non_uniqueINSG_INS4_16BlockHeightIndexESJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_EENS3_IS5_jXadL_ZNS5_11blockHeightEEEEESJ_EESJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_EESaIS5_EEENS_3mpl6v_itemISN_NSY_7vector0ISJ_EELi0EEENS1_17hashed_unique_tagEEE", !64, i64 0, !67, i64 2, !52, i64 3, !53, i64 4, !68, i64 8, !34, i64 40, !19, i64 48}
!64 = !{!"_ZTSN5boost11multi_index6detail13ordered_indexINS0_6memberIN7DynexCN17WalletTransactionEjXadL_ZNS5_11blockHeightEEEEESt4lessIjENS1_9nth_layerILi3ES5_NS0_10indexed_byINS0_13random_accessINS0_3tagINS4_17RandomAccessIndexEN4mpl_2naESF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_EEEENS0_13hashed_uniqueINSC_INS4_16TransactionIndexESF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_EENS3_IS5_N6Crypto4HashEXadL_ZNS5_4hashEEEEESF_SF_EENS0_18ordered_non_uniqueINSC_INS4_16BlockHeightIndexESF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_EES6_SF_EESF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_EESaIS5_EEENS_3mpl6v_itemISQ_NSW_7vector0ISF_EELi0EEENS1_22ordered_non_unique_tagENS1_19null_augment_policyEEE", !65, i64 0}
!65 = !{!"_ZTSN5boost11multi_index6detail18ordered_index_implINS0_6memberIN7DynexCN17WalletTransactionEjXadL_ZNS5_11blockHeightEEEEESt4lessIjENS1_9nth_layerILi3ES5_NS0_10indexed_byINS0_13random_accessINS0_3tagINS4_17RandomAccessIndexEN4mpl_2naESF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_EEEENS0_13hashed_uniqueINSC_INS4_16TransactionIndexESF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_EENS3_IS5_N6Crypto4HashEXadL_ZNS5_4hashEEEEESF_SF_EENS0_18ordered_non_uniqueINSC_INS4_16BlockHeightIndexESF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_EES6_SF_EESF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_EESaIS5_EEENS_3mpl6v_itemISQ_NSW_7vector0ISF_EELi0EEENS1_22ordered_non_unique_tagENS1_19null_augment_policyEEE", !66, i64 0, !57, i64 1}
!66 = !{!"_ZTSN5boost11multi_index6memberIN7DynexCN17WalletTransactionEjXadL_ZNS3_11blockHeightEEEEE"}
!67 = !{!"_ZTSN5boost11multi_index6memberIN7DynexCN17WalletTransactionEN6Crypto4HashEXadL_ZNS3_4hashEEEEE"}
!68 = !{!"_ZTSN5boost11multi_index6detail12bucket_arrayISaIN7DynexCN17WalletTransactionEEEE", !19, i64 0, !69, i64 8}
!69 = !{!"_ZTSN5boost11multi_index6detail10auto_spaceINS1_27hashed_index_base_node_implISaIcEEESaIN7DynexCN17WalletTransactionEEEE", !33, i64 0, !19, i64 8, !6, i64 16}
!70 = !{!"_ZTSN5boost11multi_index6detail29random_access_index_ptr_arrayISaIN7DynexCN17WalletTransactionEEEE", !19, i64 0, !19, i64 8, !71, i64 16}
!71 = !{!"_ZTSN5boost11multi_index6detail10auto_spaceIPNS1_29random_access_index_node_implISaIcEEESaIN7DynexCN17WalletTransactionEEEE", !40, i64 0, !19, i64 8, !6, i64 16}
!72 = !{!"_ZTSSt6vectorISt4pairImN7DynexCN14WalletTransferEESaIS3_EE", !73, i64 0}
!73 = !{!"_ZTSSt12_Vector_baseISt4pairImN7DynexCN14WalletTransferEESaIS3_EE", !74, i64 0}
!74 = !{!"_ZTSNSt12_Vector_baseISt4pairImN7DynexCN14WalletTransferEESaIS3_EE12_Vector_implE", !75, i64 0}
!75 = !{!"_ZTSNSt12_Vector_baseISt4pairImN7DynexCN14WalletTransferEESaIS3_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!76 = !{!"_ZTSSt13unordered_mapImbSt4hashImESt8equal_toImESaISt4pairIKmbEEE", !77, i64 0}
!77 = !{!"_ZTSSt10_HashtableImSt4pairIKmbESaIS2_ENSt8__detail10_Select1stESt8equal_toImESt4hashImENS4_18_Mod_range_hashingENS4_20_Default_ranged_hashENS4_20_Prime_rehash_policyENS4_17_Hashtable_traitsILb0ELb0ELb1EEEE", !6, i64 0, !19, i64 8, !78, i64 16, !19, i64 24, !79, i64 32, !6, i64 48}
!78 = !{!"_ZTSNSt8__detail15_Hash_node_baseE", !6, i64 0}
!79 = !{!"_ZTSNSt8__detail20_Prime_rehash_policyE", !34, i64 0, !19, i64 8}
!80 = !{!"_ZTSSt3mapImN7DynexCN11TransactionESt4lessImESaISt4pairIKmS1_EEE", !81, i64 0}
!81 = !{!"_ZTSSt8_Rb_treeImSt4pairIKmN7DynexCN11TransactionEESt10_Select1stIS4_ESt4lessImESaIS4_EE", !82, i64 0}
!82 = !{!"_ZTSNSt8_Rb_treeImSt4pairIKmN7DynexCN11TransactionEESt10_Select1stIS4_ESt4lessImESaIS4_EE13_Rb_tree_implIS8_Lb1EEE", !83, i64 0, !85, i64 8}
!83 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessImEE", !84, i64 0}
!84 = !{!"_ZTSSt4lessImE"}
!85 = !{!"_ZTSSt15_Rb_tree_header", !86, i64 0, !19, i64 32}
!86 = !{!"_ZTSSt18_Rb_tree_node_base", !87, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!87 = !{!"_ZTSSt14_Rb_tree_color", !7, i64 0}
!88 = !{!"_ZTSN7DynexCN22BlockchainSynchronizerE", !89, i64 0, !100, i64 80, !16, i64 88, !101, i64 128, !6, i64 176, !106, i64 184, !106, i64 216, !107, i64 248, !107, i64 252, !108, i64 256, !114, i64 264, !119, i64 288, !98, i64 312, !98, i64 352, !122, i64 392}
!89 = !{!"_ZTSN7DynexCN15IObservableImplINS_31IBlockchainSynchronizerObserverENS_23IBlockchainSynchronizerEEE", !90, i64 0, !93, i64 16}
!90 = !{!"_ZTSN7DynexCN23IBlockchainSynchronizerE", !91, i64 0, !92, i64 8}
!91 = !{!"_ZTSN7DynexCN11IObservableINS_31IBlockchainSynchronizerObserverEEE"}
!92 = !{!"_ZTSN7DynexCN19IStreamSerializableE"}
!93 = !{!"_ZTSN5Tools15ObserverManagerIN7DynexCN31IBlockchainSynchronizerObserverEEE", !94, i64 0, !98, i64 24}
!94 = !{!"_ZTSSt6vectorIPN7DynexCN31IBlockchainSynchronizerObserverESaIS2_EE", !95, i64 0}
!95 = !{!"_ZTSSt12_Vector_baseIPN7DynexCN31IBlockchainSynchronizerObserverESaIS2_EE", !96, i64 0}
!96 = !{!"_ZTSNSt12_Vector_baseIPN7DynexCN31IBlockchainSynchronizerObserverESaIS2_EE12_Vector_implE", !97, i64 0}
!97 = !{!"_ZTSNSt12_Vector_baseIPN7DynexCN31IBlockchainSynchronizerObserverESaIS2_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!98 = !{!"_ZTSSt5mutex", !99, i64 0}
!99 = !{!"_ZTSSt12__mutex_base", !7, i64 0}
!100 = !{!"_ZTSN7DynexCN13INodeObserverE"}
!101 = !{!"_ZTSSt3mapIPN7DynexCN19IBlockchainConsumerESt10shared_ptrINS0_20SynchronizationStateEESt4lessIS2_ESaISt4pairIKS2_S5_EEE", !102, i64 0}
!102 = !{!"_ZTSSt8_Rb_treeIPN7DynexCN19IBlockchainConsumerESt4pairIKS2_St10shared_ptrINS0_20SynchronizationStateEEESt10_Select1stIS8_ESt4lessIS2_ESaIS8_EE", !103, i64 0}
!103 = !{!"_ZTSNSt8_Rb_treeIPN7DynexCN19IBlockchainConsumerESt4pairIKS2_St10shared_ptrINS0_20SynchronizationStateEEESt10_Select1stIS8_ESt4lessIS2_ESaIS8_EE13_Rb_tree_implISC_Lb1EEE", !104, i64 0, !85, i64 8}
!104 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessIPN7DynexCN19IBlockchainConsumerEEE", !105, i64 0}
!105 = !{!"_ZTSSt4lessIPN7DynexCN19IBlockchainConsumerEE"}
!106 = !{!"_ZTSN6Crypto4HashE", !7, i64 0}
!107 = !{!"_ZTSN7DynexCN22BlockchainSynchronizer5StateE", !7, i64 0}
!108 = !{!"_ZTSSt10unique_ptrISt6threadSt14default_deleteIS0_EE", !109, i64 0}
!109 = !{!"_ZTSSt15__uniq_ptr_dataISt6threadSt14default_deleteIS0_ELb1ELb1EE", !110, i64 0}
!110 = !{!"_ZTSSt15__uniq_ptr_implISt6threadSt14default_deleteIS0_EE", !111, i64 0}
!111 = !{!"_ZTSSt5tupleIJPSt6threadSt14default_deleteIS0_EEE", !112, i64 0}
!112 = !{!"_ZTSSt11_Tuple_implILm0EJPSt6threadSt14default_deleteIS0_EEE", !113, i64 0}
!113 = !{!"_ZTSSt10_Head_baseILm0EPSt6threadLb0EE", !6, i64 0}
!114 = !{!"_ZTSNSt7__cxx114listISt4pairIPKN7DynexCN18ITransactionReaderESt7promiseISt10error_codeEESaIS9_EEE", !115, i64 0}
!115 = !{!"_ZTSNSt7__cxx1110_List_baseISt4pairIPKN7DynexCN18ITransactionReaderESt7promiseISt10error_codeEESaIS9_EEE", !116, i64 0}
!116 = !{!"_ZTSNSt7__cxx1110_List_baseISt4pairIPKN7DynexCN18ITransactionReaderESt7promiseISt10error_codeEESaIS9_EE10_List_implE", !117, i64 0}
!117 = !{!"_ZTSNSt8__detail17_List_node_headerE", !118, i64 0, !19, i64 16}
!118 = !{!"_ZTSNSt8__detail15_List_node_baseE", !6, i64 0, !6, i64 8}
!119 = !{!"_ZTSNSt7__cxx114listISt4pairIPKN6Crypto4HashESt7promiseIvEESaIS8_EEE", !120, i64 0}
!120 = !{!"_ZTSNSt7__cxx1110_List_baseISt4pairIPKN6Crypto4HashESt7promiseIvEESaIS8_EEE", !121, i64 0}
!121 = !{!"_ZTSNSt7__cxx1110_List_baseISt4pairIPKN6Crypto4HashESt7promiseIvEESaIS8_EE10_List_implE", !117, i64 0}
!122 = !{!"_ZTSSt18condition_variable", !123, i64 0}
!123 = !{!"_ZTSSt9__condvar", !7, i64 0}
!124 = !{!"_ZTSN7DynexCN20TransfersSyncronizerE", !125, i64 0, !126, i64 8, !16, i64 16, !127, i64 56, !129, i64 112, !6, i64 168, !6, i64 176, !6, i64 184}
!125 = !{!"_ZTSN7DynexCN22ITransfersSynchronizerE", !92, i64 0}
!126 = !{!"_ZTSN7DynexCN27IBlockchainConsumerObserverE"}
!127 = !{!"_ZTSSt13unordered_mapIN6Crypto9PublicKeyESt10unique_ptrIN7DynexCN17TransfersConsumerESt14default_deleteIS4_EESt4hashIS1_ESt8equal_toIS1_ESaISt4pairIKS1_S7_EEE", !128, i64 0}
!128 = !{!"_ZTSSt10_HashtableIN6Crypto9PublicKeyESt4pairIKS1_St10unique_ptrIN7DynexCN17TransfersConsumerESt14default_deleteIS6_EEESaISA_ENSt8__detail10_Select1stESt8equal_toIS1_ESt4hashIS1_ENSC_18_Mod_range_hashingENSC_20_Default_ranged_hashENSC_20_Prime_rehash_policyENSC_17_Hashtable_traitsILb1ELb0ELb1EEEE", !6, i64 0, !19, i64 8, !78, i64 16, !19, i64 24, !79, i64 32, !6, i64 48}
!129 = !{!"_ZTSSt13unordered_mapIN6Crypto9PublicKeyESt10unique_ptrIN5Tools15ObserverManagerIN7DynexCN30ITransfersSynchronizerObserverEEESt14default_deleteIS7_EESt4hashIS1_ESt8equal_toIS1_ESaISt4pairIKS1_SA_EEE", !130, i64 0}
!130 = !{!"_ZTSSt10_HashtableIN6Crypto9PublicKeyESt4pairIKS1_St10unique_ptrIN5Tools15ObserverManagerIN7DynexCN30ITransfersSynchronizerObserverEEESt14default_deleteIS9_EEESaISD_ENSt8__detail10_Select1stESt8equal_toIS1_ESt4hashIS1_ENSF_18_Mod_range_hashingENSF_20_Default_ranged_hashENSF_20_Prime_rehash_policyENSF_17_Hashtable_traitsILb1ELb0ELb1EEEE", !6, i64 0, !19, i64 8, !78, i64 16, !19, i64 24, !79, i64 32, !6, i64 48}
!131 = !{!"_ZTSN6System5EventE", !6, i64 0, !20, i64 8, !6, i64 16, !6, i64 24}
!132 = !{!"_ZTSSt5queueIN7DynexCN11WalletEventESt5dequeIS1_SaIS1_EEE", !133, i64 0}
!133 = !{!"_ZTSSt5dequeIN7DynexCN11WalletEventESaIS1_EE", !134, i64 0}
!134 = !{!"_ZTSSt11_Deque_baseIN7DynexCN11WalletEventESaIS1_EE", !135, i64 0}
!135 = !{!"_ZTSNSt11_Deque_baseIN7DynexCN11WalletEventESaIS1_EE11_Deque_implE", !136, i64 0}
!136 = !{!"_ZTSNSt11_Deque_baseIN7DynexCN11WalletEventESaIS1_EE16_Deque_impl_dataE", !6, i64 0, !19, i64 8, !137, i64 16, !137, i64 48}
!137 = !{!"_ZTSSt15_Deque_iteratorIN7DynexCN11WalletEventERS1_PS1_E", !6, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!138 = !{!"_ZTSN7DynexCN11WalletGreen11WalletStateE", !7, i64 0}
!139 = !{!"_ZTSN6Crypto11chacha8_keyE", !7, i64 0}
!140 = !{!"_ZTSN6Crypto9PublicKeyE", !7, i64 0}
!141 = !{!"_ZTSN6Crypto9SecretKeyE", !7, i64 0}
!142 = !{!"_ZTSN5boost11multi_index21multi_index_containerIN6Crypto4HashENS0_10indexed_byINS0_13random_accessINS0_3tagIN7DynexCN16BlockHeightIndexEN4mpl_2naESA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_EEEENS0_13hashed_uniqueINS6_INS7_14BlockHashIndexESA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_EENS0_8identityIS3_EESA_SA_EESA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_EESaIS3_EEE", !143, i64 0, !145, i64 8, !146, i64 16, !19, i64 112}
!143 = !{!"_ZTSN5boost16base_from_memberISaINS_11multi_index6detail24random_access_index_nodeINS2_17hashed_index_nodeINS2_15index_node_baseIN6Crypto4HashESaIS7_EEEEEEEELi0EEE", !144, i64 0}
!144 = !{!"_ZTSSaIN5boost11multi_index6detail24random_access_index_nodeINS1_17hashed_index_nodeINS1_15index_node_baseIN6Crypto4HashESaIS6_EEEEEEEE"}
!145 = !{!"_ZTSN5boost11multi_index6detail13header_holderIPNS1_24random_access_index_nodeINS1_17hashed_index_nodeINS1_15index_node_baseIN6Crypto4HashESaIS7_EEEEEEENS0_21multi_index_containerIS7_NS0_10indexed_byINS0_13random_accessINS0_3tagIN7DynexCN16BlockHeightIndexEN4mpl_2naESK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_EEEENS0_13hashed_uniqueINSG_INSH_14BlockHashIndexESK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_EENS0_8identityIS7_EESK_SK_EESK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_EES8_EEEE", !6, i64 0}
!146 = !{!"_ZTSN5boost11multi_index6detail19random_access_indexINS1_9nth_layerILi1EN6Crypto4HashENS0_10indexed_byINS0_13random_accessINS0_3tagIN7DynexCN16BlockHeightIndexEN4mpl_2naESC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_EEEENS0_13hashed_uniqueINS8_INS9_14BlockHashIndexESC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_EENS0_8identityIS5_EESC_SC_EESC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_EESaIS5_EEENS_3mpl6v_itemISA_NSO_7vector0ISC_EELi0EEEEE", !147, i64 0, !151, i64 56}
!147 = !{!"_ZTSN5boost11multi_index6detail12hashed_indexINS0_8identityIN6Crypto4HashEEENS_4hashIS5_EESt8equal_toIS5_ENS1_9nth_layerILi2ES5_NS0_10indexed_byINS0_13random_accessINS0_3tagIN7DynexCN16BlockHeightIndexEN4mpl_2naESI_SI_SI_SI_SI_SI_SI_SI_SI_SI_SI_SI_SI_SI_SI_SI_SI_SI_EEEENS0_13hashed_uniqueINSE_INSF_14BlockHashIndexESI_SI_SI_SI_SI_SI_SI_SI_SI_SI_SI_SI_SI_SI_SI_SI_SI_SI_SI_EES6_SI_SI_EESI_SI_SI_SI_SI_SI_SI_SI_SI_SI_SI_SI_SI_SI_SI_SI_SI_SI_EESaIS5_EEENS_3mpl6v_itemISM_NSS_7vector0ISI_EELi0EEENS1_17hashed_unique_tagEEE", !148, i64 0, !52, i64 1, !53, i64 2, !149, i64 8, !34, i64 40, !19, i64 48}
!148 = !{!"_ZTSN5boost11multi_index8identityIN6Crypto4HashEEE"}
!149 = !{!"_ZTSN5boost11multi_index6detail12bucket_arrayISaIN6Crypto4HashEEEE", !19, i64 0, !150, i64 8}
!150 = !{!"_ZTSN5boost11multi_index6detail10auto_spaceINS1_27hashed_index_base_node_implISaIcEEESaIN6Crypto4HashEEEE", !33, i64 0, !19, i64 8, !6, i64 16}
!151 = !{!"_ZTSN5boost11multi_index6detail29random_access_index_ptr_arrayISaIN6Crypto4HashEEEE", !19, i64 0, !19, i64 8, !152, i64 16}
!152 = !{!"_ZTSN5boost11multi_index6detail10auto_spaceIPNS1_29random_access_index_node_implISaIcEEESaIN6Crypto4HashEEEE", !40, i64 0, !19, i64 8, !6, i64 16}
!153 = !{!43, !43, i64 0}
!154 = !{!155, !155, i64 0}
!155 = !{!"vtable pointer", !8, i64 0}
!156 = !{!19, !19, i64 0}
!157 = !{!158, !159, i64 0}
!158 = !{!"_ZTSN7DynexCN28TransactionOutputInformationE", !159, i64 0, !19, i64 8, !43, i64 16, !43, i64 20, !106, i64 24, !140, i64 56, !7, i64 88}
!159 = !{!"_ZTSN7DynexCN16TransactionTypes10OutputTypeE", !7, i64 0}
!160 = !{!10, !6, i64 48}
!161 = !{!10, !19, i64 1720}
!162 = !{!10, !19, i64 1728}


; 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.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.Logging::LoggerMessage" = type <{ %"class.std::basic_ostream.base", %"class.std::basic_streambuf", ptr, %"class.std::__cxx11::basic_string", i32, [4 x i8], %"class.std::__cxx11::basic_string", %"class.boost::posix_time::ptime", i8, [7 x i8], %"class.std::basic_ios" }>
%"class.std::basic_ostream.base" = type { ptr }
%"class.std::basic_streambuf" = type { ptr, ptr, ptr, ptr, ptr, ptr, ptr, %"class.std::locale" }
%"class.std::locale" = type { ptr }
%"class.boost::posix_time::ptime" = type { %"class.boost::date_time::base_time" }
%"class.boost::date_time::base_time" = type { %"struct.boost::date_time::counted_time_rep" }
%"struct.boost::date_time::counted_time_rep" = type { %"class.boost::date_time::int_adapter" }
%"class.boost::date_time::int_adapter" = type { i64 }
%"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.Crypto::cn_context" = type { ptr }
%"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 }
%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.187 }
%union.anon.187 = type { i32 }
%"class.std::unordered_set" = type { %"class.std::_Hashtable.188" }
%"class.std::_Hashtable.188" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"struct.std::__detail::_Hash_node_base" = type { ptr }
%"struct.std::__detail::_Prime_rehash_policy" = type { float, i64 }
%"class.std::vector.164" = type { %"struct.std::_Vector_base.165" }
%"struct.std::_Vector_base.165" = type { %"struct.std::_Vector_base<DynexCN::AccountPublicAddress, std::allocator<DynexCN::AccountPublicAddress>>::_Vector_impl" }
%"struct.std::_Vector_base<DynexCN::AccountPublicAddress, std::allocator<DynexCN::AccountPublicAddress>>::_Vector_impl" = type { %"struct.std::_Vector_base<DynexCN::AccountPublicAddress, std::allocator<DynexCN::AccountPublicAddress>>::_Vector_impl_data" }
%"struct.std::_Vector_base<DynexCN::AccountPublicAddress, std::allocator<DynexCN::AccountPublicAddress>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.__gnu_cxx::__normal_iterator" = type { ptr }
%"class.std::vector.201" = type { %"struct.std::_Vector_base.202" }
%"struct.std::_Vector_base.202" = type { %"struct.std::_Vector_base<DynexCN::TransactionOutputInformation, std::allocator<DynexCN::TransactionOutputInformation>>::_Vector_impl" }
%"struct.std::_Vector_base<DynexCN::TransactionOutputInformation, std::allocator<DynexCN::TransactionOutputInformation>>::_Vector_impl" = type { %"struct.std::_Vector_base<DynexCN::TransactionOutputInformation, std::allocator<DynexCN::TransactionOutputInformation>>::_Vector_impl_data" }
%"struct.std::_Vector_base<DynexCN::TransactionOutputInformation, std::allocator<DynexCN::TransactionOutputInformation>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.__gnu_cxx::__normal_iterator.207" = type { ptr }

@_ZN7Logging12BRIGHT_WHITEB5cxx11E = external global %"class.std::__cxx11::basic_string", align 8
@_ZN7Logging10BRIGHT_REDB5cxx11E = external global %"class.std::__cxx11::basic_string", align 8
@_ZTISt12system_error = external constant ptr
@.str.17 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [21 x i8], align 1
@_ZTISt9exception = external constant ptr
@_ZN7Logging7DEFAULTB5cxx11E = external global %"class.std::__cxx11::basic_string", align 8
@.str.29 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [27 x i8], align 1
@_ZN7Logging13BRIGHT_YELLOWB5cxx11E = external global %"class.std::__cxx11::basic_string", align 8
@.str.34 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [60 x i8], align 1
@__PRETTY_FUNCTION__._ZN7DynexCN11WalletGreen4loadERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_RS6_ = external hidden unnamed_addr constant [97 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [19 x i8], align 1

declare i32 @__gxx_personality_v0(...)

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

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

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

declare ptr @__cxa_begin_catch(ptr) local_unnamed_addr

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

declare void @__cxa_end_catch() local_unnamed_addr

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 1 dereferenceable(32) ptr @_ZNK7DynexCN8Currency16genesisBlockHashEv(ptr noundef nonnull align 8 dereferenceable(984)) local_unnamed_addr #2 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEN6Crypto9PublicKeyEEOT_S5_RKT0_(ptr noundef nonnull align 8 dereferenceable(161), ptr noundef nonnull align 1 dereferenceable(32)) local_unnamed_addr #3

declare void @_ZNK7Logging9LoggerRefclENS_5LevelERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind writable sret(%"class.Logging::LoggerMessage") align 8, ptr noundef nonnull align 8 dereferenceable(40), i32 noundef, ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #4

; Function Attrs: nounwind
declare void @_ZN7Logging13LoggerMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(161)) unnamed_addr #5

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA23_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161), ptr noundef nonnull align 1 dereferenceable(23)) local_unnamed_addr #3

declare ptr @__cxa_allocate_exception(i64) local_unnamed_addr

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local { i32, ptr } @_Z15make_error_codeN7DynexCN5error16WalletErrorCodesE(i32 noundef) local_unnamed_addr #6

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt12system_errorC2ESt10error_code(ptr noundef nonnull align 8 dereferenceable(32), i32, ptr) unnamed_addr #7 align 2

declare void @__cxa_free_exception(ptr) local_unnamed_addr

; Function Attrs: nounwind
declare void @_ZNSt12system_errorD1Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #5

declare void @__cxa_throw(ptr, ptr, ptr) local_unnamed_addr

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA20_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161), ptr noundef nonnull align 1 dereferenceable(20)) local_unnamed_addr #3

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i64 @_ZNK5boost11multi_index6detail19random_access_indexINS1_9nth_layerILi1EN7DynexCN12WalletRecordENS0_10indexed_byINS0_13random_accessINS0_3tagINS4_17RandomAccessIndexEN4mpl_2naESB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_EEEENS0_13hashed_uniqueINS8_INS4_9KeysIndexESB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_EENS0_6memberIS5_N6Crypto9PublicKeyEXadL_ZNS5_14spendPublicKeyEEEEESB_SB_EENSE_INS8_INS4_23TransfersContainerIndexESB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_EENSH_IS5_PNS4_19ITransfersContainerEXadL_ZNS5_9containerEEEEESB_SB_EESB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_EESaIS5_EEENS_3mpl6v_itemIS9_NSV_7vector0ISB_EELi0EEEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(152)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7DynexCN11WalletGreen26stopBlockchainSynchronizerEv(ptr noundef nonnull align 8 dereferenceable(1872)) local_unnamed_addr #7 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7DynexCN11WalletGreen11clearCachesEbb(ptr noundef nonnull align 8 dereferenceable(1872), i1 noundef zeroext, i1 noundef zeroext) local_unnamed_addr #7 align 2

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

declare void @_ZN7DynexCN20TransfersSyncronizer16getSubscriptionsERSt6vectorINS_20AccountPublicAddressESaIS2_EE(ptr noundef nonnull align 8 dereferenceable(192), ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #4

; Function Attrs: mustprogress nounwind uwtable
declare dso_local ptr @_ZNSt6vectorIN7DynexCN20AccountPublicAddressESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local ptr @_ZNSt6vectorIN7DynexCN20AccountPublicAddressESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #2 align 2

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

; Function Attrs: noreturn nounwind
declare void @__assert_fail(ptr noundef, ptr noundef, i32 noundef, ptr noundef) local_unnamed_addr #8

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEN7DynexCN11WalletGreen11WalletStateEEOT_S6_RKT0_(ptr noundef nonnull align 8 dereferenceable(161), ptr noundef nonnull align 4 dereferenceable(4)) local_unnamed_addr #3

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNK7DynexCN11WalletGreen14throwIfStoppedEv(ptr noundef nonnull align 8 dereferenceable(1872)) local_unnamed_addr #7 align 2

declare void @_ZN6Crypto10cn_contextC1Ev(ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #4

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN6Crypto20generate_chacha8_keyERNS_10cn_contextERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERNS_11chacha8_keyE(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 1 dereferenceable(32)) local_unnamed_addr #3

; Function Attrs: mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #7 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNK5boost11multi_index6detail19random_access_indexINS1_9nth_layerILi1EN6Crypto4HashENS0_10indexed_byINS0_13random_accessINS0_3tagIN7DynexCN16BlockHeightIndexEN4mpl_2naESC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_EEEENS0_13hashed_uniqueINS8_INS9_14BlockHashIndexESC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_EENS0_8identityIS5_EESC_SC_EESC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_EESaIS5_EEENS_3mpl6v_itemISA_NSO_7vector0ISC_EELi0EEEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(96)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local { ptr, i8 } @_ZN5boost11multi_index6detail19random_access_indexINS1_9nth_layerILi1EN6Crypto4HashENS0_10indexed_byINS0_13random_accessINS0_3tagIN7DynexCN16BlockHeightIndexEN4mpl_2naESC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_EEEENS0_13hashed_uniqueINS8_INS9_14BlockHashIndexESC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_EENS0_8identityIS5_EESC_SC_EESC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_EESaIS5_EEENS_3mpl6v_itemISA_NSO_7vector0ISC_EELi0EEEE9push_backERKS5_(ptr noundef nonnull align 8 dereferenceable(96), ptr noundef nonnull align 1 dereferenceable(32)) local_unnamed_addr #7 align 2

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7DynexCN11WalletGreen15saveWalletCacheERN6Common16FileMappedVectorINS_21EncryptedWalletRecordEEERKN6Crypto11chacha8_keyENS_15WalletSaveLevelERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(1872), ptr noundef nonnull align 8 dereferenceable(105), ptr noundef nonnull align 1 dereferenceable(32), i8 noundef zeroext, ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #7 align 2

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEPKcEOT_S5_RKT0_(ptr noundef nonnull align 8 dereferenceable(161), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #3

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7DynexCN11WalletGreen27startBlockchainSynchronizerEv(ptr noundef nonnull align 8 dereferenceable(1872)) local_unnamed_addr #7 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA16_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161), ptr noundef nonnull align 1 dereferenceable(16)) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA29_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161), ptr noundef nonnull align 1 dereferenceable(29)) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA19_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161), ptr noundef nonnull align 1 dereferenceable(19)) local_unnamed_addr #3

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN7DynexCN11WalletGreen4loadERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_RS6_(ptr noundef nonnull align 8 dereferenceable(1872) %0, ptr noundef nonnull align 8 dereferenceable(32) %1, ptr noundef nonnull align 8 dereferenceable(32) %2, ptr noundef nonnull align 8 dereferenceable(32) %3) unnamed_addr #7 align 2 personality ptr @__gxx_personality_v0 {
  %5 = alloca %"class.Logging::LoggerMessage", align 8
  %6 = alloca %"class.Logging::LoggerMessage", align 8
  %7 = alloca %"class.Crypto::cn_context", align 8
  %8 = alloca %"class.std::basic_ifstream", align 8
  %9 = alloca i32, align 4
  %10 = alloca %"class.Logging::LoggerMessage", align 8
  %11 = alloca %"class.Logging::LoggerMessage", align 8
  %12 = alloca %"class.std::unordered_set", align 8
  %13 = alloca %"class.std::unordered_set", align 8
  %14 = alloca %"class.Logging::LoggerMessage", align 8
  %15 = alloca %"class.Logging::LoggerMessage", align 8
  %16 = alloca %"class.Logging::LoggerMessage", align 8
  %17 = alloca ptr, align 8
  %18 = alloca %"class.std::vector.164", align 8
  %19 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %20 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %21 = alloca %"class.std::vector.201", align 8
  %22 = alloca %"class.Logging::LoggerMessage", align 8
  %23 = alloca i64, align 8
  %24 = alloca %"class.__gnu_cxx::__normal_iterator.207", align 8
  %25 = alloca %"class.__gnu_cxx::__normal_iterator.207", align 8
  %26 = alloca %"class.Logging::LoggerMessage", align 8
  %27 = alloca ptr, align 8
  %28 = alloca %"class.Logging::LoggerMessage", align 8
  %29 = alloca %"class.Logging::LoggerMessage", align 8
  %30 = alloca i64, align 8
  %31 = alloca %"class.std::__cxx11::basic_string", align 8
  %32 = alloca %"class.std::__cxx11::basic_string", align 8
  call void @llvm.lifetime.start.p0(i64 432, ptr nonnull %5) #10
  %33 = getelementptr inbounds i8, ptr %0, i64 64
  call void @_ZNK7Logging9LoggerRefclENS_5LevelERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind nonnull writable sret(%"class.Logging::LoggerMessage") align 8 %5, ptr noundef nonnull align 8 dereferenceable(40) %33, i32 noundef 3, ptr noundef nonnull align 8 dereferenceable(32) @_ZN7Logging12BRIGHT_WHITEB5cxx11E)
  %34 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA21_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %5, ptr noundef nonnull align 1 dereferenceable(21) @.str.29)
          to label %35 unwind label %48

35:                                               ; preds = %4
  call void @_ZN7Logging13LoggerMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(161) %5) #10
  call void @llvm.lifetime.end.p0(i64 432, ptr nonnull %5) #10
  %36 = getelementptr inbounds i8, ptr %0, i64 1520
  %37 = load i32, ptr %36, align 8, !tbaa !5
  %.not = icmp eq i32 %37, 1
  br i1 %.not, label %60, label %38

38:                                               ; preds = %35
  call void @llvm.lifetime.start.p0(i64 432, ptr nonnull %6) #10
  call void @_ZNK7Logging9LoggerRefclENS_5LevelERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind nonnull writable sret(%"class.Logging::LoggerMessage") align 8 %6, ptr noundef nonnull align 8 dereferenceable(40) %33, i32 noundef 1, ptr noundef nonnull align 8 dereferenceable(32) @_ZN7Logging10BRIGHT_REDB5cxx11E)
  %39 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA53_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %6, ptr noundef nonnull align 1 dereferenceable(53) @.str.30)
          to label %40 unwind label %52

40:                                               ; preds = %38
  %41 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEN7DynexCN11WalletGreen11WalletStateEEOT_S6_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %39, ptr noundef nonnull align 4 dereferenceable(4) %36)
          to label %42 unwind label %52

42:                                               ; preds = %40
  call void @_ZN7Logging13LoggerMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(161) %6) #10
  call void @llvm.lifetime.end.p0(i64 432, ptr nonnull %6) #10
  %43 = call ptr @__cxa_allocate_exception(i64 32) #10
  %44 = call { i32, ptr } @_Z15make_error_codeN7DynexCN5error16WalletErrorCodesE(i32 noundef 3)
  %45 = extractvalue { i32, ptr } %44, 0
  %46 = extractvalue { i32, ptr } %44, 1
  invoke void @_ZNSt12system_errorC2ESt10error_code(ptr noundef nonnull align 8 dereferenceable(32) %43, i32 %45, ptr %46)
          to label %47 unwind label %56

47:                                               ; preds = %42
  call void @__cxa_throw(ptr nonnull %43, ptr nonnull @_ZTISt12system_error, ptr nonnull @_ZNSt12system_errorD1Ev) #11
  unreachable

48:                                               ; preds = %4
  %49 = landingpad { ptr, i32 }
          cleanup
  %50 = extractvalue { ptr, i32 } %49, 0
  %51 = extractvalue { ptr, i32 } %49, 1
  call void @_ZN7Logging13LoggerMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(161) %5) #10
  call void @llvm.lifetime.end.p0(i64 432, ptr nonnull %5) #10
  br label %366

52:                                               ; preds = %40, %38
  %53 = landingpad { ptr, i32 }
          cleanup
  %54 = extractvalue { ptr, i32 } %53, 0
  %55 = extractvalue { ptr, i32 } %53, 1
  call void @_ZN7Logging13LoggerMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(161) %6) #10
  call void @llvm.lifetime.end.p0(i64 432, ptr nonnull %6) #10
  br label %366

56:                                               ; preds = %42
  %57 = landingpad { ptr, i32 }
          cleanup
  %58 = extractvalue { ptr, i32 } %57, 0
  %59 = extractvalue { ptr, i32 } %57, 1
  call void @__cxa_free_exception(ptr %43) #10
  br label %366

60:                                               ; preds = %35
  call void @_ZNK7DynexCN11WalletGreen14throwIfStoppedEv(ptr noundef nonnull align 8 dereferenceable(1872) %0)
  call void @_ZN7DynexCN11WalletGreen26stopBlockchainSynchronizerEv(ptr noundef nonnull align 8 dereferenceable(1872) %0)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %7) #10
  call void @_ZN6Crypto10cn_contextC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %7)
  %61 = getelementptr inbounds i8, ptr %0, i64 1560
  invoke void @_ZN6Crypto20generate_chacha8_keyERNS_10cn_contextERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERNS_11chacha8_keyE(ptr noundef nonnull align 8 dereferenceable(8) %7, ptr noundef nonnull align 8 dereferenceable(32) %2, ptr noundef nonnull align 1 dereferenceable(32) %61)
          to label %62 unwind label %75

62:                                               ; preds = %60
  call void @llvm.lifetime.start.p0(i64 520, ptr nonnull %8) #10
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(256) %8, ptr noundef nonnull align 8 dereferenceable(32) %1, i32 noundef 4)
          to label %63 unwind label %79

63:                                               ; preds = %62
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %9) #10
  %64 = invoke noundef i32 @_ZNSi4peekEv(ptr noundef nonnull align 8 dereferenceable(16) %8)
          to label %65 unwind label %83

65:                                               ; preds = %63
  store i32 %64, ptr %9, align 4, !tbaa !152
  %66 = icmp eq i32 %64, -1
  br i1 %66, label %67, label %96

67:                                               ; preds = %65
  call void @llvm.lifetime.start.p0(i64 432, ptr nonnull %10) #10
  invoke void @_ZNK7Logging9LoggerRefclENS_5LevelERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind nonnull writable sret(%"class.Logging::LoggerMessage") align 8 %10, ptr noundef nonnull align 8 dereferenceable(40) %33, i32 noundef 1, ptr noundef nonnull align 8 dereferenceable(32) @_ZN7Logging10BRIGHT_REDB5cxx11E)
          to label %68 unwind label %87

68:                                               ; preds = %67
  %69 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA30_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %10, ptr noundef nonnull align 1 dereferenceable(30) @.str.31)
          to label %70 unwind label %89

70:                                               ; preds = %68
  call void @_ZN7Logging13LoggerMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(161) %10) #10
  call void @llvm.lifetime.end.p0(i64 432, ptr nonnull %10) #10
  %71 = call ptr @__cxa_allocate_exception(i64 32) #10
  %72 = call { i32, ptr } @_Z15make_error_codeN7DynexCN5error16WalletErrorCodesE(i32 noundef 16)
  %73 = extractvalue { i32, ptr } %72, 0
  %74 = extractvalue { i32, ptr } %72, 1
  invoke void @_ZNSt12system_errorC2ESt10error_codePKc(ptr noundef nonnull align 8 dereferenceable(32) %71, i32 %73, ptr %74, ptr noundef nonnull @.str.31)
          to label %.invoke unwind label %92

75:                                               ; preds = %60
  %76 = landingpad { ptr, i32 }
          cleanup
  %77 = extractvalue { ptr, i32 } %76, 0
  %78 = extractvalue { ptr, i32 } %76, 1
  br label %365

79:                                               ; preds = %62
  %80 = landingpad { ptr, i32 }
          cleanup
  %81 = extractvalue { ptr, i32 } %80, 0
  %82 = extractvalue { ptr, i32 } %80, 1
  br label %364

83:                                               ; preds = %.invoke, %310, %307, %304, %290, %289, %288, %285, %265, %262, %123, %122, %121, %99, %98, %63
  %84 = landingpad { ptr, i32 }
          cleanup
  %85 = extractvalue { ptr, i32 } %84, 0
  %86 = extractvalue { ptr, i32 } %84, 1
  br label %363

87:                                               ; preds = %67
  %88 = landingpad { ptr, i32 }
          cleanup
  br label %91

89:                                               ; preds = %68
  %90 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7Logging13LoggerMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(161) %10) #10
  br label %91

91:                                               ; preds = %89, %87
  %.pn103 = phi { ptr, i32 } [ %90, %89 ], [ %88, %87 ]
  %.0 = extractvalue { ptr, i32 } %.pn103, 0
  %.034 = extractvalue { ptr, i32 } %.pn103, 1
  call void @llvm.lifetime.end.p0(i64 432, ptr nonnull %10) #10
  br label %363

92:                                               ; preds = %70
  %93 = landingpad { ptr, i32 }
          cleanup
  %94 = extractvalue { ptr, i32 } %93, 0
  %95 = extractvalue { ptr, i32 } %93, 1
  call void @__cxa_free_exception(ptr %71) #10
  br label %363

96:                                               ; preds = %65
  %97 = icmp slt i32 %64, 6
  br i1 %97, label %98, label %99

98:                                               ; preds = %96
  invoke void @_ZN7DynexCN11WalletGreen24convertAndLoadWalletFileERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEOSt14basic_ifstreamIcS4_E(ptr noundef nonnull align 8 dereferenceable(1872) %0, ptr noundef nonnull align 8 dereferenceable(32) %1, ptr noundef nonnull align 8 dereferenceable(256) %8)
          to label %191 unwind label %83

99:                                               ; preds = %96
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv(ptr noundef nonnull align 8 dereferenceable(256) %8)
          to label %100 unwind label %83

100:                                              ; preds = %99
  %.not108 = icmp eq i32 %64, 6
  br i1 %.not108, label %121, label %101

101:                                              ; preds = %100
  call void @llvm.lifetime.start.p0(i64 432, ptr nonnull %11) #10
  invoke void @_ZNK7Logging9LoggerRefclENS_5LevelERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind nonnull writable sret(%"class.Logging::LoggerMessage") align 8 %11, ptr noundef nonnull align 8 dereferenceable(40) %33, i32 noundef 1, ptr noundef nonnull align 8 dereferenceable(32) @_ZN7Logging10BRIGHT_REDB5cxx11E)
          to label %102 unwind label %112

102:                                              ; preds = %101
  %103 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA29_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %11, ptr noundef nonnull align 1 dereferenceable(29) @.str.32)
          to label %104 unwind label %114

104:                                              ; preds = %102
  %105 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEiEOT_S3_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %103, ptr noundef nonnull align 4 dereferenceable(4) %9)
          to label %106 unwind label %114

106:                                              ; preds = %104
  call void @_ZN7Logging13LoggerMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(161) %11) #10
  call void @llvm.lifetime.end.p0(i64 432, ptr nonnull %11) #10
  %107 = call ptr @__cxa_allocate_exception(i64 32) #10
  %108 = call { i32, ptr } @_Z15make_error_codeN7DynexCN5error16WalletErrorCodesE(i32 noundef 16)
  %109 = extractvalue { i32, ptr } %108, 0
  %110 = extractvalue { i32, ptr } %108, 1
  invoke void @_ZNSt12system_errorC2ESt10error_codePKc(ptr noundef nonnull align 8 dereferenceable(32) %107, i32 %109, ptr %110, ptr noundef nonnull @.str.33)
          to label %.invoke unwind label %117

.invoke:                                          ; preds = %70, %106
  %111 = phi ptr [ %107, %106 ], [ %71, %70 ]
  invoke void @__cxa_throw(ptr nonnull %111, ptr nonnull @_ZTISt12system_error, ptr nonnull @_ZNSt12system_errorD1Ev) #11
          to label %.cont unwind label %83

.cont:                                            ; preds = %.invoke
  unreachable

112:                                              ; preds = %101
  %113 = landingpad { ptr, i32 }
          cleanup
  br label %116

114:                                              ; preds = %104, %102
  %115 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7Logging13LoggerMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(161) %11) #10
  br label %116

116:                                              ; preds = %114, %112
  %.pn77 = phi { ptr, i32 } [ %115, %114 ], [ %113, %112 ]
  %.1 = extractvalue { ptr, i32 } %.pn77, 0
  %.135 = extractvalue { ptr, i32 } %.pn77, 1
  call void @llvm.lifetime.end.p0(i64 432, ptr nonnull %11) #10
  br label %363

117:                                              ; preds = %106
  %118 = landingpad { ptr, i32 }
          cleanup
  %119 = extractvalue { ptr, i32 } %118, 0
  %120 = extractvalue { ptr, i32 } %118, 1
  call void @__cxa_free_exception(ptr %107) #10
  br label %363

121:                                              ; preds = %100
  invoke void @_ZN7DynexCN11WalletGreen20loadContainerStorageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(1872) %0, ptr noundef nonnull align 8 dereferenceable(32) %1)
          to label %122 unwind label %83

122:                                              ; preds = %121
  invoke void @_ZN7DynexCN11WalletGreen16subscribeWalletsEv(ptr noundef nonnull align 8 dereferenceable(1872) %0)
          to label %123 unwind label %83

123:                                              ; preds = %122
  %124 = getelementptr inbounds i8, ptr %0, i64 288
  %125 = invoke noundef i64 @_ZNK6Common16FileMappedVectorIN7DynexCN21EncryptedWalletRecordEE10suffixSizeEv(ptr noundef nonnull align 8 dereferenceable(105) %124)
          to label %126 unwind label %83

126:                                              ; preds = %123
  %.not64 = icmp eq i64 %125, 0
  br i1 %.not64, label %191, label %127

127:                                              ; preds = %126
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %12) #10
  call void @_ZNSt13unordered_setIN6Crypto9PublicKeyESt4hashIS1_ESt8equal_toIS1_ESaIS1_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(56) %12) #10
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %13) #10
  call void @_ZNSt13unordered_setIN6Crypto9PublicKeyESt4hashIS1_ESt8equal_toIS1_ESaIS1_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(56) %13) #10
  invoke void @_ZN7DynexCN11WalletGreen15loadWalletCacheERSt13unordered_setIN6Crypto9PublicKeyESt4hashIS3_ESt8equal_toIS3_ESaIS3_EESA_RNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(1872) %0, ptr noundef nonnull align 8 dereferenceable(56) %12, ptr noundef nonnull align 8 dereferenceable(56) %13, ptr noundef nonnull align 8 dereferenceable(32) %3)
          to label %128 unwind label %135

128:                                              ; preds = %127
  %129 = call noundef zeroext i1 @_ZNKSt13unordered_setIN6Crypto9PublicKeyESt4hashIS1_ESt8equal_toIS1_ESaIS1_EE5emptyEv(ptr noundef nonnull align 8 dereferenceable(56) %12) #10
  br i1 %129, label %142, label %130

130:                                              ; preds = %128
  call void @llvm.lifetime.start.p0(i64 432, ptr nonnull %14) #10
  invoke void @_ZNK7Logging9LoggerRefclENS_5LevelERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind nonnull writable sret(%"class.Logging::LoggerMessage") align 8 %14, ptr noundef nonnull align 8 dereferenceable(40) %33, i32 noundef 2, ptr noundef nonnull align 8 dereferenceable(32) @_ZN7Logging13BRIGHT_YELLOWB5cxx11E)
          to label %131 unwind label %137

131:                                              ; preds = %130
  %132 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA70_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %14, ptr noundef nonnull align 1 dereferenceable(70) @.str.34)
          to label %133 unwind label %139

133:                                              ; preds = %131
  call void @_ZN7Logging13LoggerMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(161) %14) #10
  call void @llvm.lifetime.end.p0(i64 432, ptr nonnull %14) #10
  invoke void @_ZN7DynexCN11WalletGreen11clearCachesEbb(ptr noundef nonnull align 8 dereferenceable(1872) %0, i1 noundef zeroext false, i1 noundef zeroext true)
          to label %134 unwind label %135

134:                                              ; preds = %133
  invoke void @_ZN7DynexCN11WalletGreen16subscribeWalletsEv(ptr noundef nonnull align 8 dereferenceable(1872) %0)
          to label %142 unwind label %135

135:                                              ; preds = %157, %147, %134, %133, %127
  %136 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTISt9exception
  br label %159

137:                                              ; preds = %130
  %138 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTISt9exception
  br label %141

139:                                              ; preds = %131
  %140 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTISt9exception
  call void @_ZN7Logging13LoggerMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(161) %14) #10
  br label %141

141:                                              ; preds = %139, %137
  %.pn = phi { ptr, i32 } [ %140, %139 ], [ %138, %137 ]
  call void @llvm.lifetime.end.p0(i64 432, ptr nonnull %14) #10
  br label %159

142:                                              ; preds = %134, %128
  %143 = call noundef zeroext i1 @_ZNKSt13unordered_setIN6Crypto9PublicKeyESt4hashIS1_ESt8equal_toIS1_ESaIS1_EE5emptyEv(ptr noundef nonnull align 8 dereferenceable(56) %13) #10
  br i1 %143, label %153, label %144

144:                                              ; preds = %142
  call void @llvm.lifetime.start.p0(i64 432, ptr nonnull %15) #10
  invoke void @_ZNK7Logging9LoggerRefclENS_5LevelERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind nonnull writable sret(%"class.Logging::LoggerMessage") align 8 %15, ptr noundef nonnull align 8 dereferenceable(40) %33, i32 noundef 2, ptr noundef nonnull align 8 dereferenceable(32) @_ZN7Logging13BRIGHT_YELLOWB5cxx11E)
          to label %145 unwind label %148

145:                                              ; preds = %144
  %146 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA74_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %15, ptr noundef nonnull align 1 dereferenceable(74) @.str.35)
          to label %147 unwind label %150

147:                                              ; preds = %145
  call void @_ZN7Logging13LoggerMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(161) %15) #10
  call void @llvm.lifetime.end.p0(i64 432, ptr nonnull %15) #10
  invoke void @_ZN7DynexCN11WalletGreen24deleteOrphanTransactionsERKSt13unordered_setIN6Crypto9PublicKeyESt4hashIS3_ESt8equal_toIS3_ESaIS3_EE(ptr noundef nonnull align 8 dereferenceable(1872) %0, ptr noundef nonnull align 8 dereferenceable(56) %13)
          to label %153 unwind label %135

148:                                              ; preds = %144
  %149 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTISt9exception
  br label %152

150:                                              ; preds = %145
  %151 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTISt9exception
  call void @_ZN7Logging13LoggerMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(161) %15) #10
  br label %152

152:                                              ; preds = %150, %148
  %.pn66 = phi { ptr, i32 } [ %151, %150 ], [ %149, %148 ]
  call void @llvm.lifetime.end.p0(i64 432, ptr nonnull %15) #10
  br label %159

153:                                              ; preds = %147, %142
  %154 = call noundef zeroext i1 @_ZNKSt13unordered_setIN6Crypto9PublicKeyESt4hashIS1_ESt8equal_toIS1_ESaIS1_EE5emptyEv(ptr noundef nonnull align 8 dereferenceable(56) %12) #10
  br i1 %154, label %155, label %157

155:                                              ; preds = %153
  %156 = call noundef zeroext i1 @_ZNKSt13unordered_setIN6Crypto9PublicKeyESt4hashIS1_ESt8equal_toIS1_ESaIS1_EE5emptyEv(ptr noundef nonnull align 8 dereferenceable(56) %13) #10
  br i1 %156, label %158, label %157

157:                                              ; preds = %155, %153
  invoke void @_ZN7DynexCN11WalletGreen15saveWalletCacheERN6Common16FileMappedVectorINS_21EncryptedWalletRecordEEERKN6Crypto11chacha8_keyENS_15WalletSaveLevelERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(1872) %0, ptr noundef nonnull align 8 dereferenceable(105) %124, ptr noundef nonnull align 1 dereferenceable(32) %61, i8 noundef zeroext 2, ptr noundef nonnull align 8 dereferenceable(32) %3)
          to label %158 unwind label %135

158:                                              ; preds = %157, %155
  call void @_ZNSt13unordered_setIN6Crypto9PublicKeyESt4hashIS1_ESt8equal_toIS1_ESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %13) #10
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %13) #10
  call void @_ZNSt13unordered_setIN6Crypto9PublicKeyESt4hashIS1_ESt8equal_toIS1_ESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %12) #10
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %12) #10
  br label %191

159:                                              ; preds = %152, %141, %135
  %.pn68 = phi { ptr, i32 } [ %136, %135 ], [ %.pn66, %152 ], [ %.pn, %141 ]
  %.4 = extractvalue { ptr, i32 } %.pn68, 0
  %.438 = extractvalue { ptr, i32 } %.pn68, 1
  call void @_ZNSt13unordered_setIN6Crypto9PublicKeyESt4hashIS1_ESt8equal_toIS1_ESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %13) #10
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %13) #10
  call void @_ZNSt13unordered_setIN6Crypto9PublicKeyESt4hashIS1_ESt8equal_toIS1_ESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %12) #10
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %12) #10
  %160 = call i32 @llvm.eh.typeid.for.p0(ptr nonnull @_ZTISt9exception) #10
  %161 = icmp eq i32 %.438, %160
  br i1 %161, label %162, label %363

162:                                              ; preds = %159
  %163 = call ptr @__cxa_begin_catch(ptr %.4) #10
  call void @llvm.lifetime.start.p0(i64 432, ptr nonnull %16) #10
  invoke void @_ZNK7Logging9LoggerRefclENS_5LevelERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind nonnull writable sret(%"class.Logging::LoggerMessage") align 8 %16, ptr noundef nonnull align 8 dereferenceable(40) %33, i32 noundef 1, ptr noundef nonnull align 8 dereferenceable(32) @_ZN7Logging10BRIGHT_REDB5cxx11E)
          to label %164 unwind label %177

164:                                              ; preds = %162
  %165 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA23_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %16, ptr noundef nonnull align 1 dereferenceable(23) @.str.36)
          to label %166 unwind label %179

166:                                              ; preds = %164
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %17) #10
  %167 = load ptr, ptr %163, align 8, !tbaa !153
  %168 = getelementptr inbounds i8, ptr %167, i64 16
  %169 = load ptr, ptr %168, align 8
  %170 = call noundef ptr %169(ptr noundef nonnull align 8 dereferenceable(8) %163) #10
  store ptr %170, ptr %17, align 8, !tbaa !155
  %171 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEPKcEOT_S5_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %165, ptr noundef nonnull align 8 dereferenceable(8) %17)
          to label %172 unwind label %181

172:                                              ; preds = %166
  %173 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA20_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %171, ptr noundef nonnull align 1 dereferenceable(20) @.str.37)
          to label %174 unwind label %181

174:                                              ; preds = %172
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #10
  call void @_ZN7Logging13LoggerMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(161) %16) #10
  call void @llvm.lifetime.end.p0(i64 432, ptr nonnull %16) #10
  invoke void @_ZN7DynexCN11WalletGreen11clearCachesEbb(ptr noundef nonnull align 8 dereferenceable(1872) %0, i1 noundef zeroext true, i1 noundef zeroext true)
          to label %175 unwind label %185

175:                                              ; preds = %174
  invoke void @_ZN7DynexCN11WalletGreen16subscribeWalletsEv(ptr noundef nonnull align 8 dereferenceable(1872) %0)
          to label %176 unwind label %185

176:                                              ; preds = %175
  invoke void @__cxa_end_catch()
          to label %191 unwind label %187

177:                                              ; preds = %162
  %178 = landingpad { ptr, i32 }
          cleanup
  br label %184

179:                                              ; preds = %164
  %180 = landingpad { ptr, i32 }
          cleanup
  br label %183

181:                                              ; preds = %172, %166
  %182 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #10
  br label %183

183:                                              ; preds = %181, %179
  %.pn70 = phi { ptr, i32 } [ %182, %181 ], [ %180, %179 ]
  call void @_ZN7Logging13LoggerMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(161) %16) #10
  br label %184

184:                                              ; preds = %183, %177
  %.pn70.pn = phi { ptr, i32 } [ %.pn70, %183 ], [ %178, %177 ]
  call void @llvm.lifetime.end.p0(i64 432, ptr nonnull %16) #10
  br label %189

185:                                              ; preds = %175, %174
  %186 = landingpad { ptr, i32 }
          cleanup
  br label %189

187:                                              ; preds = %176
  %188 = landingpad { ptr, i32 }
          cleanup
  br label %190

189:                                              ; preds = %185, %184
  %.pn73 = phi { ptr, i32 } [ %186, %185 ], [ %.pn70.pn, %184 ]
  invoke void @__cxa_end_catch()
          to label %190 unwind label %369

190:                                              ; preds = %189, %187
  %.pn75 = phi { ptr, i32 } [ %188, %187 ], [ %.pn73, %189 ]
  %.8 = extractvalue { ptr, i32 } %.pn75, 0
  %.842 = extractvalue { ptr, i32 } %.pn75, 1
  br label %363

191:                                              ; preds = %176, %126, %158, %98
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %18) #10
  call void @_ZNSt6vectorIN7DynexCN20AccountPublicAddressESaIS1_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %18) #10
  %192 = getelementptr inbounds i8, ptr %0, i64 1184
  invoke void @_ZN7DynexCN20TransfersSyncronizer16getSubscriptionsERSt6vectorINS_20AccountPublicAddressESaIS2_EE(ptr noundef nonnull align 8 dereferenceable(192) %192, ptr noundef nonnull align 8 dereferenceable(24) %18)
          to label %193 unwind label %197

193:                                              ; preds = %191
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %19) #10
  %194 = call ptr @_ZNSt6vectorIN7DynexCN20AccountPublicAddressESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %18) #10
  store ptr %194, ptr %19, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %20) #10
  %195 = call ptr @_ZNSt6vectorIN7DynexCN20AccountPublicAddressESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %18) #10
  store ptr %195, ptr %20, align 8
  %196 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPN7DynexCN20AccountPublicAddressESt6vectorIS2_SaIS2_EEEEbRKNS_17__normal_iteratorIT_T0_EESC_(ptr noundef nonnull align 8 dereferenceable(8) %19, ptr noundef nonnull align 8 dereferenceable(8) %20) #10
  br i1 %196, label %.lr.ph106, label %._crit_edge107

._crit_edge107:                                   ; preds = %244, %193
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %20) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %19) #10
  call void @_ZNSt6vectorIN7DynexCN20AccountPublicAddressESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %18) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %18) #10
  br label %262

197:                                              ; preds = %191
  %198 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTISt9exception
  br label %248

.lr.ph106:                                        ; preds = %193, %244
  %199 = call noundef nonnull align 1 dereferenceable(64) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPN7DynexCN20AccountPublicAddressESt6vectorIS2_SaIS2_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %19) #10
  %200 = invoke noundef ptr @_ZN7DynexCN20TransfersSyncronizer15getSubscriptionERKNS_20AccountPublicAddressE(ptr noundef nonnull align 8 dereferenceable(192) %192, ptr noundef nonnull align 1 dereferenceable(64) %199)
          to label %201 unwind label %221

201:                                              ; preds = %.lr.ph106
  %.not79 = icmp eq ptr %200, null
  br i1 %.not79, label %244, label %202

202:                                              ; preds = %201
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %21) #10
  call void @_ZNSt6vectorIN7DynexCN28TransactionOutputInformationESaIS1_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %21) #10
  %203 = load ptr, ptr %200, align 8, !tbaa !153
  %204 = getelementptr inbounds i8, ptr %203, i64 40
  %205 = load ptr, ptr %204, align 8
  %206 = invoke noundef nonnull align 8 dereferenceable(8) ptr %205(ptr noundef nonnull align 8 dereferenceable(8) %200)
          to label %207 unwind label %223

207:                                              ; preds = %202
  %208 = load ptr, ptr %206, align 8, !tbaa !153
  %209 = getelementptr inbounds i8, ptr %208, i64 40
  %210 = load ptr, ptr %209, align 8
  invoke void %210(ptr noundef nonnull align 8 dereferenceable(8) %206, ptr noundef nonnull align 8 dereferenceable(24) %21, i32 noundef 65535)
          to label %211 unwind label %223

211:                                              ; preds = %207
  call void @llvm.lifetime.start.p0(i64 432, ptr nonnull %22) #10
  invoke void @_ZNK7Logging9LoggerRefclENS_5LevelERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind nonnull writable sret(%"class.Logging::LoggerMessage") align 8 %22, ptr noundef nonnull align 8 dereferenceable(40) %33, i32 noundef 3, ptr noundef nonnull align 8 dereferenceable(32) @_ZN7Logging12BRIGHT_WHITEB5cxx11E)
          to label %212 unwind label %225

212:                                              ; preds = %211
  %213 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA17_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %22, ptr noundef nonnull align 1 dereferenceable(17) @.str.38)
          to label %214 unwind label %227

214:                                              ; preds = %212
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %23) #10
  %215 = call noundef i64 @_ZNKSt6vectorIN7DynexCN28TransactionOutputInformationESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %21) #10
  store i64 %215, ptr %23, align 8, !tbaa !156
  %216 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEmEOT_S3_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %213, ptr noundef nonnull align 8 dereferenceable(8) %23)
          to label %217 unwind label %229

217:                                              ; preds = %214
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %23) #10
  call void @_ZN7Logging13LoggerMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(161) %22) #10
  call void @llvm.lifetime.end.p0(i64 432, ptr nonnull %22) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %24) #10
  %218 = call ptr @_ZNSt6vectorIN7DynexCN28TransactionOutputInformationESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %21) #10
  store ptr %218, ptr %24, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %25) #10
  %219 = call ptr @_ZNSt6vectorIN7DynexCN28TransactionOutputInformationESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %21) #10
  store ptr %219, ptr %25, align 8
  %220 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPN7DynexCN28TransactionOutputInformationESt6vectorIS2_SaIS2_EEEEbRKNS_17__normal_iteratorIT_T0_EESC_(ptr noundef nonnull align 8 dereferenceable(8) %24, ptr noundef nonnull align 8 dereferenceable(8) %25) #10
  br i1 %220, label %.lr.ph, label %._crit_edge

._crit_edge:                                      ; preds = %240, %217
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %25) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24) #10
  call void @_ZNSt6vectorIN7DynexCN28TransactionOutputInformationESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %21) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %21) #10
  br label %244

221:                                              ; preds = %.lr.ph106
  %222 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTISt9exception
  br label %247

223:                                              ; preds = %207, %202
  %224 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTISt9exception
  br label %243

225:                                              ; preds = %211
  %226 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTISt9exception
  br label %232

227:                                              ; preds = %212
  %228 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTISt9exception
  br label %231

229:                                              ; preds = %214
  %230 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTISt9exception
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %23) #10
  br label %231

231:                                              ; preds = %229, %227
  %.pn80 = phi { ptr, i32 } [ %230, %229 ], [ %228, %227 ]
  call void @_ZN7Logging13LoggerMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(161) %22) #10
  br label %232

232:                                              ; preds = %231, %225
  %.pn80.pn = phi { ptr, i32 } [ %.pn80, %231 ], [ %226, %225 ]
  call void @llvm.lifetime.end.p0(i64 432, ptr nonnull %22) #10
  br label %243

.lr.ph:                                           ; preds = %217, %240
  %233 = call noundef nonnull align 8 dereferenceable(120) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPN7DynexCN28TransactionOutputInformationESt6vectorIS2_SaIS2_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %24) #10
  %234 = load i8, ptr %233, align 8, !tbaa !157
  %.not83 = icmp eq i8 %234, 0
  br i1 %.not83, label %240, label %235

235:                                              ; preds = %.lr.ph
  %236 = getelementptr inbounds i8, ptr %233, i64 24
  %237 = getelementptr inbounds i8, ptr %233, i64 88
  invoke void @_ZN7DynexCN20TransfersSyncronizer17addPublicKeysSeenERKNS_20AccountPublicAddressERKN6Crypto4HashERKNS4_9PublicKeyE(ptr noundef nonnull align 8 dereferenceable(192) %192, ptr noundef nonnull align 1 dereferenceable(64) %199, ptr noundef nonnull align 1 dereferenceable(32) %236, ptr noundef nonnull align 1 dereferenceable(32) %237)
          to label %240 unwind label %238

238:                                              ; preds = %235
  %239 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTISt9exception
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %25) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24) #10
  br label %243

240:                                              ; preds = %235, %.lr.ph
  %241 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPN7DynexCN28TransactionOutputInformationESt6vectorIS2_SaIS2_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %24) #10
  %242 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPN7DynexCN28TransactionOutputInformationESt6vectorIS2_SaIS2_EEEEbRKNS_17__normal_iteratorIT_T0_EESC_(ptr noundef nonnull align 8 dereferenceable(8) %24, ptr noundef nonnull align 8 dereferenceable(8) %25) #10
  br i1 %242, label %.lr.ph, label %._crit_edge

243:                                              ; preds = %238, %232, %223
  %.pn84 = phi { ptr, i32 } [ %239, %238 ], [ %.pn80.pn, %232 ], [ %224, %223 ]
  call void @_ZNSt6vectorIN7DynexCN28TransactionOutputInformationESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %21) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %21) #10
  br label %247

244:                                              ; preds = %._crit_edge, %201
  %245 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPN7DynexCN20AccountPublicAddressESt6vectorIS2_SaIS2_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %19) #10
  %246 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPN7DynexCN20AccountPublicAddressESt6vectorIS2_SaIS2_EEEEbRKNS_17__normal_iteratorIT_T0_EESC_(ptr noundef nonnull align 8 dereferenceable(8) %19, ptr noundef nonnull align 8 dereferenceable(8) %20) #10
  br i1 %246, label %.lr.ph106, label %._crit_edge107

247:                                              ; preds = %243, %221
  %.pn84.pn = phi { ptr, i32 } [ %.pn84, %243 ], [ %222, %221 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %20) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %19) #10
  br label %248

248:                                              ; preds = %247, %197
  %.pn84.pn.pn = phi { ptr, i32 } [ %.pn84.pn, %247 ], [ %198, %197 ]
  %.13 = extractvalue { ptr, i32 } %.pn84.pn.pn, 0
  %.1347 = extractvalue { ptr, i32 } %.pn84.pn.pn, 1
  call void @_ZNSt6vectorIN7DynexCN20AccountPublicAddressESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %18) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %18) #10
  %249 = call i32 @llvm.eh.typeid.for.p0(ptr nonnull @_ZTISt9exception) #10
  %250 = icmp eq i32 %.1347, %249
  br i1 %250, label %251, label %363

251:                                              ; preds = %248
  %252 = call ptr @__cxa_begin_catch(ptr %.13) #10
  call void @llvm.lifetime.start.p0(i64 432, ptr nonnull %26) #10
  invoke void @_ZNK7Logging9LoggerRefclENS_5LevelERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind nonnull writable sret(%"class.Logging::LoggerMessage") align 8 %26, ptr noundef nonnull align 8 dereferenceable(40) %33, i32 noundef 1, ptr noundef nonnull align 8 dereferenceable(32) @_ZN7Logging10BRIGHT_REDB5cxx11E)
          to label %253 unwind label %270

253:                                              ; preds = %251
  %254 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA60_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %26, ptr noundef nonnull align 1 dereferenceable(60) @.str.39)
          to label %255 unwind label %272

255:                                              ; preds = %253
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %27) #10
  %256 = load ptr, ptr %252, align 8, !tbaa !153
  %257 = getelementptr inbounds i8, ptr %256, i64 16
  %258 = load ptr, ptr %257, align 8
  %259 = call noundef ptr %258(ptr noundef nonnull align 8 dereferenceable(8) %252) #10
  store ptr %259, ptr %27, align 8, !tbaa !155
  %260 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEPKcEOT_S5_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %254, ptr noundef nonnull align 8 dereferenceable(8) %27)
          to label %261 unwind label %274

261:                                              ; preds = %255
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %27) #10
  call void @_ZN7Logging13LoggerMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(161) %26) #10
  call void @llvm.lifetime.end.p0(i64 432, ptr nonnull %26) #10
  invoke void @__cxa_end_catch()
          to label %262 unwind label %278

262:                                              ; preds = %261, %._crit_edge107
  %263 = getelementptr inbounds i8, ptr %0, i64 744
  %264 = getelementptr inbounds i8, ptr %0, i64 16
  invoke void @_ZN7DynexCN15IObservableImplINS_31IBlockchainSynchronizerObserverENS_23IBlockchainSynchronizerEE11addObserverEPS1_(ptr noundef nonnull align 8 dereferenceable(80) %263, ptr noundef nonnull %264)
          to label %265 unwind label %83

265:                                              ; preds = %262
  invoke void @_ZN7DynexCN11WalletGreen19initTransactionPoolEv(ptr noundef nonnull align 8 dereferenceable(1872) %0)
          to label %266 unwind label %83

266:                                              ; preds = %265
  %267 = getelementptr inbounds i8, ptr %0, i64 1768
  %268 = call noundef zeroext i1 @_ZNK5boost11multi_index6detail19random_access_indexINS1_9nth_layerILi1EN6Crypto4HashENS0_10indexed_byINS0_13random_accessINS0_3tagIN7DynexCN16BlockHeightIndexEN4mpl_2naESC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_EEEENS0_13hashed_uniqueINS8_INS9_14BlockHashIndexESC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_EENS0_8identityIS5_EESC_SC_EESC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_EESaIS5_EEENS_3mpl6v_itemISA_NSO_7vector0ISC_EELi0EEEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(96) %267) #10
  br i1 %268, label %281, label %269

269:                                              ; preds = %266
  call void @__assert_fail(ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.17, i32 noundef 561, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN7DynexCN11WalletGreen4loadERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_RS6_) #12
  unreachable

270:                                              ; preds = %251
  %271 = landingpad { ptr, i32 }
          cleanup
  br label %277

272:                                              ; preds = %253
  %273 = landingpad { ptr, i32 }
          cleanup
  br label %276

274:                                              ; preds = %255
  %275 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %27) #10
  br label %276

276:                                              ; preds = %274, %272
  %.pn88 = phi { ptr, i32 } [ %275, %274 ], [ %273, %272 ]
  call void @_ZN7Logging13LoggerMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(161) %26) #10
  br label %277

277:                                              ; preds = %276, %270
  %.pn88.pn = phi { ptr, i32 } [ %.pn88, %276 ], [ %271, %270 ]
  call void @llvm.lifetime.end.p0(i64 432, ptr nonnull %26) #10
  invoke void @__cxa_end_catch()
          to label %280 unwind label %369

278:                                              ; preds = %261
  %279 = landingpad { ptr, i32 }
          cleanup
  br label %280

280:                                              ; preds = %277, %278
  %.pn91 = phi { ptr, i32 } [ %279, %278 ], [ %.pn88.pn, %277 ]
  %.16 = extractvalue { ptr, i32 } %.pn91, 0
  %.1650 = extractvalue { ptr, i32 } %.pn91, 1
  br label %363

281:                                              ; preds = %266
  %282 = getelementptr inbounds i8, ptr %0, i64 112
  %283 = call noundef nonnull align 8 dereferenceable(152) ptr @_ZN5boost11multi_index21multi_index_containerIN7DynexCN12WalletRecordENS0_10indexed_byINS0_13random_accessINS0_3tagINS2_17RandomAccessIndexEN4mpl_2naES9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_EEEENS0_13hashed_uniqueINS6_INS2_9KeysIndexES9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_EENS0_6memberIS3_N6Crypto9PublicKeyEXadL_ZNS3_14spendPublicKeyEEEEES9_S9_EENSC_INS6_INS2_23TransfersContainerIndexES9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_EENSF_IS3_PNS2_19ITransfersContainerEXadL_ZNS3_9containerEEEEES9_S9_EES9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_EESaIS3_EE3getIS7_EERNSS_5indexIT_E4typeEv(ptr noundef nonnull align 8 dereferenceable(176) %282) #10
  %284 = call noundef i64 @_ZNK5boost11multi_index6detail19random_access_indexINS1_9nth_layerILi1EN7DynexCN12WalletRecordENS0_10indexed_byINS0_13random_accessINS0_3tagINS4_17RandomAccessIndexEN4mpl_2naESB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_EEEENS0_13hashed_uniqueINS8_INS4_9KeysIndexESB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_EENS0_6memberIS5_N6Crypto9PublicKeyEXadL_ZNS5_14spendPublicKeyEEEEESB_SB_EENSE_INS8_INS4_23TransfersContainerIndexESB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_EENSH_IS5_PNS4_19ITransfersContainerEXadL_ZNS5_9containerEEEEESB_SB_EESB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_EESaIS5_EEENS_3mpl6v_itemIS9_NSV_7vector0ISB_EELi0EEEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(152) %283) #10
  %.not93 = icmp eq i64 %284, 0
  br i1 %.not93, label %290, label %285

285:                                              ; preds = %281
  %286 = getelementptr inbounds i8, ptr %0, i64 1656
  %287 = getelementptr inbounds i8, ptr %0, i64 24
  invoke void @_ZN7DynexCN20TransfersSyncronizer30subscribeConsumerNotificationsERKN6Crypto9PublicKeyEPNS_30ITransfersSynchronizerObserverE(ptr noundef nonnull align 8 dereferenceable(192) %192, ptr noundef nonnull align 1 dereferenceable(32) %286, ptr noundef nonnull %287)
          to label %288 unwind label %83

288:                                              ; preds = %285
  invoke void @_ZN7DynexCN11WalletGreen14initBlockchainERKN6Crypto9PublicKeyE(ptr noundef nonnull align 8 dereferenceable(1872) %0, ptr noundef nonnull align 1 dereferenceable(32) %286)
          to label %289 unwind label %83

289:                                              ; preds = %288
  invoke void @_ZN7DynexCN11WalletGreen27startBlockchainSynchronizerEv(ptr noundef nonnull align 8 dereferenceable(1872) %0)
          to label %304 unwind label %83

290:                                              ; preds = %281
  %291 = getelementptr inbounds i8, ptr %0, i64 48
  %292 = load ptr, ptr %291, align 8, !tbaa !160
  %293 = call noundef nonnull align 1 dereferenceable(32) ptr @_ZNK7DynexCN8Currency16genesisBlockHashEv(ptr noundef nonnull align 8 dereferenceable(984) %292)
  %294 = invoke { ptr, i8 } @_ZN5boost11multi_index6detail19random_access_indexINS1_9nth_layerILi1EN6Crypto4HashENS0_10indexed_byINS0_13random_accessINS0_3tagIN7DynexCN16BlockHeightIndexEN4mpl_2naESC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_EEEENS0_13hashed_uniqueINS8_INS9_14BlockHashIndexESC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_EENS0_8identityIS5_EESC_SC_EESC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_EESaIS5_EEENS_3mpl6v_itemISA_NSO_7vector0ISC_EELi0EEEE9push_backERKS5_(ptr noundef nonnull align 8 dereferenceable(96) %267, ptr noundef nonnull align 1 dereferenceable(32) %293)
          to label %295 unwind label %83

295:                                              ; preds = %290
  call void @llvm.lifetime.start.p0(i64 432, ptr nonnull %28) #10
  invoke void @_ZNK7Logging9LoggerRefclENS_5LevelERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind nonnull writable sret(%"class.Logging::LoggerMessage") align 8 %28, ptr noundef nonnull align 8 dereferenceable(40) %33, i32 noundef 4, ptr noundef nonnull align 8 dereferenceable(32) @_ZN7Logging7DEFAULTB5cxx11E)
          to label %296 unwind label %299

296:                                              ; preds = %295
  %297 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA37_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %28, ptr noundef nonnull align 1 dereferenceable(37) @.str.40)
          to label %298 unwind label %301

298:                                              ; preds = %296
  call void @_ZN7Logging13LoggerMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(161) %28) #10
  call void @llvm.lifetime.end.p0(i64 432, ptr nonnull %28) #10
  br label %304

299:                                              ; preds = %295
  %300 = landingpad { ptr, i32 }
          cleanup
  br label %303

301:                                              ; preds = %296
  %302 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7Logging13LoggerMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(161) %28) #10
  br label %303

303:                                              ; preds = %301, %299
  %.pn94 = phi { ptr, i32 } [ %302, %301 ], [ %300, %299 ]
  %.17 = extractvalue { ptr, i32 } %.pn94, 0
  %.1751 = extractvalue { ptr, i32 } %.pn94, 1
  call void @llvm.lifetime.end.p0(i64 432, ptr nonnull %28) #10
  br label %363

304:                                              ; preds = %289, %298
  %305 = getelementptr inbounds i8, ptr %0, i64 1528
  %306 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %305, ptr noundef nonnull align 8 dereferenceable(32) %2)
          to label %307 unwind label %83

307:                                              ; preds = %304
  %308 = getelementptr inbounds i8, ptr %0, i64 1592
  %309 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %308, ptr noundef nonnull align 8 dereferenceable(32) %1)
          to label %310 unwind label %83

310:                                              ; preds = %307
  %311 = getelementptr inbounds i8, ptr %0, i64 1624
  %312 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %311, ptr noundef nonnull align 8 dereferenceable(32) %3)
          to label %313 unwind label %83

313:                                              ; preds = %310
  store i32 0, ptr %36, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 432, ptr nonnull %29) #10
  invoke void @_ZNK7Logging9LoggerRefclENS_5LevelERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind nonnull writable sret(%"class.Logging::LoggerMessage") align 8 %29, ptr noundef nonnull align 8 dereferenceable(40) %33, i32 noundef 3, ptr noundef nonnull align 8 dereferenceable(32) @_ZN7Logging12BRIGHT_WHITEB5cxx11E)
          to label %314 unwind label %343

314:                                              ; preds = %313
  %315 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA35_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %29, ptr noundef nonnull align 1 dereferenceable(35) @.str.41)
          to label %316 unwind label %345

316:                                              ; preds = %314
  %317 = getelementptr inbounds i8, ptr %0, i64 1656
  %318 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEN6Crypto9PublicKeyEEOT_S5_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %315, ptr noundef nonnull align 1 dereferenceable(32) %317)
          to label %319 unwind label %345

319:                                              ; preds = %316
  %320 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA16_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %318, ptr noundef nonnull align 1 dereferenceable(16) @.str.42)
          to label %321 unwind label %345

321:                                              ; preds = %319
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %30) #10
  %322 = getelementptr inbounds i8, ptr %0, i64 128
  %323 = call noundef i64 @_ZNK5boost11multi_index6detail19random_access_indexINS1_9nth_layerILi1EN7DynexCN12WalletRecordENS0_10indexed_byINS0_13random_accessINS0_3tagINS4_17RandomAccessIndexEN4mpl_2naESB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_EEEENS0_13hashed_uniqueINS8_INS4_9KeysIndexESB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_EENS0_6memberIS5_N6Crypto9PublicKeyEXadL_ZNS5_14spendPublicKeyEEEEESB_SB_EENSE_INS8_INS4_23TransfersContainerIndexESB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_EENSH_IS5_PNS4_19ITransfersContainerEXadL_ZNS5_9containerEEEEESB_SB_EESB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_EESaIS5_EEENS_3mpl6v_itemIS9_NSV_7vector0ISB_EELi0EEEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(152) %322) #10
  store i64 %323, ptr %30, align 8, !tbaa !156
  %324 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEmEOT_S3_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %320, ptr noundef nonnull align 8 dereferenceable(8) %30)
          to label %325 unwind label %347

325:                                              ; preds = %321
  %326 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA18_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %324, ptr noundef nonnull align 1 dereferenceable(18) @.str.43)
          to label %327 unwind label %347

327:                                              ; preds = %325
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %31) #10
  %328 = getelementptr inbounds i8, ptr %0, i64 48
  %329 = load ptr, ptr %328, align 8, !tbaa !160
  %330 = getelementptr inbounds i8, ptr %0, i64 1720
  %331 = load i64, ptr %330, align 8, !tbaa !161
  invoke void @_ZNK7DynexCN8Currency12formatAmountB5cxx11Em(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %31, ptr noundef nonnull align 8 dereferenceable(984) %329, i64 noundef %331)
          to label %332 unwind label %349

332:                                              ; preds = %327
  %333 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEOT_S9_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %326, ptr noundef nonnull align 8 dereferenceable(32) %31)
          to label %334 unwind label %351

334:                                              ; preds = %332
  %335 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA19_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %333, ptr noundef nonnull align 1 dereferenceable(19) @.str.44)
          to label %336 unwind label %351

336:                                              ; preds = %334
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %32) #10
  %337 = load ptr, ptr %328, align 8, !tbaa !160
  %338 = getelementptr inbounds i8, ptr %0, i64 1728
  %339 = load i64, ptr %338, align 8, !tbaa !162
  invoke void @_ZNK7DynexCN8Currency12formatAmountB5cxx11Em(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %32, ptr noundef nonnull align 8 dereferenceable(984) %337, i64 noundef %339)
          to label %340 unwind label %353

340:                                              ; preds = %336
  %341 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEOT_S9_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %335, ptr noundef nonnull align 8 dereferenceable(32) %32)
          to label %342 unwind label %355

342:                                              ; preds = %340
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %32) #10
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %31) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30) #10
  call void @_ZN7Logging13LoggerMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(161) %29) #10
  call void @llvm.lifetime.end.p0(i64 432, ptr nonnull %29) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %9) #10
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %8) #10
  call void @llvm.lifetime.end.p0(i64 520, ptr nonnull %8) #10
  call void @_ZN6Crypto10cn_contextD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %7) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) #10
  ret void

343:                                              ; preds = %313
  %344 = landingpad { ptr, i32 }
          cleanup
  br label %362

345:                                              ; preds = %319, %316, %314
  %346 = landingpad { ptr, i32 }
          cleanup
  br label %361

347:                                              ; preds = %325, %321
  %348 = landingpad { ptr, i32 }
          cleanup
  br label %360

349:                                              ; preds = %327
  %350 = landingpad { ptr, i32 }
          cleanup
  br label %359

351:                                              ; preds = %334, %332
  %352 = landingpad { ptr, i32 }
          cleanup
  br label %358

353:                                              ; preds = %336
  %354 = landingpad { ptr, i32 }
          cleanup
  br label %357

355:                                              ; preds = %340
  %356 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #10
  br label %357

357:                                              ; preds = %355, %353
  %.pn96 = phi { ptr, i32 } [ %356, %355 ], [ %354, %353 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %32) #10
  br label %358

358:                                              ; preds = %357, %351
  %.pn96.pn = phi { ptr, i32 } [ %.pn96, %357 ], [ %352, %351 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #10
  br label %359

359:                                              ; preds = %358, %349
  %.pn96.pn.pn = phi { ptr, i32 } [ %.pn96.pn, %358 ], [ %350, %349 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %31) #10
  br label %360

360:                                              ; preds = %359, %347
  %.pn96.pn.pn.pn = phi { ptr, i32 } [ %.pn96.pn.pn, %359 ], [ %348, %347 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30) #10
  br label %361

361:                                              ; preds = %360, %345
  %.pn96.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn96.pn.pn.pn, %360 ], [ %346, %345 ]
  call void @_ZN7Logging13LoggerMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(161) %29) #10
  br label %362

362:                                              ; preds = %361, %343
  %.pn96.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn96.pn.pn.pn.pn, %361 ], [ %344, %343 ]
  %.23 = extractvalue { ptr, i32 } %.pn96.pn.pn.pn.pn.pn, 0
  %.2357 = extractvalue { ptr, i32 } %.pn96.pn.pn.pn.pn.pn, 1
  call void @llvm.lifetime.end.p0(i64 432, ptr nonnull %29) #10
  br label %363

363:                                              ; preds = %362, %303, %280, %248, %190, %159, %117, %116, %92, %91, %83
  %.2458 = phi i32 [ %86, %83 ], [ %95, %92 ], [ %.034, %91 ], [ %.2357, %362 ], [ %.1751, %303 ], [ %.1650, %280 ], [ %.1347, %248 ], [ %120, %117 ], [ %.135, %116 ], [ %.842, %190 ], [ %.438, %159 ]
  %.24 = phi ptr [ %85, %83 ], [ %94, %92 ], [ %.0, %91 ], [ %.23, %362 ], [ %.17, %303 ], [ %.16, %280 ], [ %.13, %248 ], [ %119, %117 ], [ %.1, %116 ], [ %.8, %190 ], [ %.4, %159 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %9) #10
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %8) #10
  br label %364

364:                                              ; preds = %363, %79
  %.2559 = phi i32 [ %.2458, %363 ], [ %82, %79 ]
  %.25 = phi ptr [ %.24, %363 ], [ %81, %79 ]
  call void @llvm.lifetime.end.p0(i64 520, ptr nonnull %8) #10
  br label %365

365:                                              ; preds = %364, %75
  %.2660 = phi i32 [ %.2559, %364 ], [ %78, %75 ]
  %.26 = phi ptr [ %.25, %364 ], [ %77, %75 ]
  call void @_ZN6Crypto10cn_contextD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %7) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) #10
  br label %366

366:                                              ; preds = %365, %56, %52, %48
  %.2761 = phi i32 [ %59, %56 ], [ %55, %52 ], [ %.2660, %365 ], [ %51, %48 ]
  %.27 = phi ptr [ %58, %56 ], [ %54, %52 ], [ %.26, %365 ], [ %50, %48 ]
  %367 = insertvalue { ptr, i32 } poison, ptr %.27, 0
  %368 = insertvalue { ptr, i32 } %367, i32 %.2761, 1
  resume { ptr, i32 } %368

369:                                              ; preds = %277, %189
  %370 = landingpad { ptr, i32 }
          catch ptr null
  %371 = extractvalue { ptr, i32 } %370, 0
  call void @__clang_call_terminate(ptr %371) #12
  unreachable
}

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA21_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161), ptr noundef nonnull align 1 dereferenceable(21)) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA53_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161), ptr noundef nonnull align 1 dereferenceable(53)) local_unnamed_addr #3

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

declare noundef i32 @_ZNSi4peekEv(ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #4

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA30_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161), ptr noundef nonnull align 1 dereferenceable(30)) local_unnamed_addr #3

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt12system_errorC2ESt10error_codePKc(ptr noundef nonnull align 8 dereferenceable(32), i32, ptr, ptr noundef) unnamed_addr #7 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7DynexCN11WalletGreen24convertAndLoadWalletFileERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEOSt14basic_ifstreamIcS4_E(ptr noundef nonnull align 8 dereferenceable(1872), ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(256)) local_unnamed_addr #7 align 2

; Function Attrs: mustprogress uwtable
declare void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv(ptr noundef nonnull align 8 dereferenceable(256)) local_unnamed_addr #7 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEiEOT_S3_RKT0_(ptr noundef nonnull align 8 dereferenceable(161), ptr noundef nonnull align 4 dereferenceable(4)) local_unnamed_addr #3

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7DynexCN11WalletGreen20loadContainerStorageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(1872), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #7 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7DynexCN11WalletGreen16subscribeWalletsEv(ptr noundef nonnull align 8 dereferenceable(1872)) local_unnamed_addr #7 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef i64 @_ZNK6Common16FileMappedVectorIN7DynexCN21EncryptedWalletRecordEE10suffixSizeEv(ptr noundef nonnull align 8 dereferenceable(105)) local_unnamed_addr #7 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7DynexCN11WalletGreen15loadWalletCacheERSt13unordered_setIN6Crypto9PublicKeyESt4hashIS3_ESt8equal_toIS3_ESaIS3_EESA_RNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(1872), ptr noundef nonnull align 8 dereferenceable(56), ptr noundef nonnull align 8 dereferenceable(56), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #7 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNKSt13unordered_setIN6Crypto9PublicKeyESt4hashIS1_ESt8equal_toIS1_ESaIS1_EE5emptyEv(ptr noundef nonnull align 8 dereferenceable(56)) local_unnamed_addr #2 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA70_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161), ptr noundef nonnull align 1 dereferenceable(70)) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA74_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161), ptr noundef nonnull align 1 dereferenceable(74)) local_unnamed_addr #3

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7DynexCN11WalletGreen24deleteOrphanTransactionsERKSt13unordered_setIN6Crypto9PublicKeyESt4hashIS3_ESt8equal_toIS3_ESaIS3_EE(ptr noundef nonnull align 8 dereferenceable(1872), ptr noundef nonnull align 8 dereferenceable(56)) local_unnamed_addr #7 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZNSt13unordered_setIN6Crypto9PublicKeyESt4hashIS1_ESt8equal_toIS1_ESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(56)) unnamed_addr #6 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZN9__gnu_cxxneIPN7DynexCN20AccountPublicAddressESt6vectorIS2_SaIS2_EEEEbRKNS_17__normal_iteratorIT_T0_EESC_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #6

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 1 dereferenceable(64) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPN7DynexCN20AccountPublicAddressESt6vectorIS2_SaIS2_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #2 align 2

declare noundef ptr @_ZN7DynexCN20TransfersSyncronizer15getSubscriptionERKNS_20AccountPublicAddressE(ptr noundef nonnull align 8 dereferenceable(192), ptr noundef nonnull align 1 dereferenceable(64)) unnamed_addr #4

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEmEOT_S3_RKT0_(ptr noundef nonnull align 8 dereferenceable(161), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA17_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161), ptr noundef nonnull align 1 dereferenceable(17)) local_unnamed_addr #3

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i64 @_ZNKSt6vectorIN7DynexCN28TransactionOutputInformationESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local ptr @_ZNSt6vectorIN7DynexCN28TransactionOutputInformationESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local ptr @_ZNSt6vectorIN7DynexCN28TransactionOutputInformationESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #2 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZN9__gnu_cxxneIPN7DynexCN28TransactionOutputInformationESt6vectorIS2_SaIS2_EEEEbRKNS_17__normal_iteratorIT_T0_EESC_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #6

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(120) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPN7DynexCN28TransactionOutputInformationESt6vectorIS2_SaIS2_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #2 align 2

declare void @_ZN7DynexCN20TransfersSyncronizer17addPublicKeysSeenERKNS_20AccountPublicAddressERKN6Crypto4HashERKNS4_9PublicKeyE(ptr noundef nonnull align 8 dereferenceable(192), ptr noundef nonnull align 1 dereferenceable(64), ptr noundef nonnull align 1 dereferenceable(32), ptr noundef nonnull align 1 dereferenceable(32)) local_unnamed_addr #4

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA60_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161), ptr noundef nonnull align 1 dereferenceable(60)) local_unnamed_addr #3

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7DynexCN11WalletGreen19initTransactionPoolEv(ptr noundef nonnull align 8 dereferenceable(1872)) local_unnamed_addr #7 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(152) ptr @_ZN5boost11multi_index21multi_index_containerIN7DynexCN12WalletRecordENS0_10indexed_byINS0_13random_accessINS0_3tagINS2_17RandomAccessIndexEN4mpl_2naES9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_EEEENS0_13hashed_uniqueINS6_INS2_9KeysIndexES9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_EENS0_6memberIS3_N6Crypto9PublicKeyEXadL_ZNS3_14spendPublicKeyEEEEES9_S9_EENSC_INS6_INS2_23TransfersContainerIndexES9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_EENSF_IS3_PNS2_19ITransfersContainerEXadL_ZNS3_9containerEEEEES9_S9_EES9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_EESaIS3_EE3getIS7_EERNSS_5indexIT_E4typeEv(ptr noundef nonnull align 8 dereferenceable(176)) local_unnamed_addr #2 align 2

declare void @_ZN7DynexCN20TransfersSyncronizer30subscribeConsumerNotificationsERKN6Crypto9PublicKeyEPNS_30ITransfersSynchronizerObserverE(ptr noundef nonnull align 8 dereferenceable(192), ptr noundef nonnull align 1 dereferenceable(32), ptr noundef) local_unnamed_addr #4

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7DynexCN11WalletGreen14initBlockchainERKN6Crypto9PublicKeyE(ptr noundef nonnull align 8 dereferenceable(1872), ptr noundef nonnull align 1 dereferenceable(32)) local_unnamed_addr #7 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA37_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161), ptr noundef nonnull align 1 dereferenceable(37)) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEOT_S9_RKT0_(ptr noundef nonnull align 8 dereferenceable(161), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA18_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161), ptr noundef nonnull align 1 dereferenceable(18)) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA35_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161), ptr noundef nonnull align 1 dereferenceable(35)) local_unnamed_addr #3

declare void @_ZNK7DynexCN8Currency12formatAmountB5cxx11Em(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(984), i64 noundef) local_unnamed_addr #4

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

attributes #0 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { 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 #2 = { 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 #3 = { inlinehint 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 #4 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { nounwind "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 = { 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 #7 = { 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 #8 = { noreturn nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #9 = { nofree nosync nounwind memory(none) }
attributes #10 = { nounwind }
attributes #11 = { noreturn }
attributes #12 = { 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, !137, i64 1520}
!6 = !{!"_ZTSN7DynexCN11WalletGreenE", !7, i64 0, !8, i64 8, !9, i64 16, !10, i64 24, !11, i64 32, !12, i64 40, !12, i64 48, !12, i64 56, !15, i64 64, !19, i64 104, !20, i64 112, !40, i64 288, !43, i64 400, !57, i64 488, !71, i64 608, !75, i64 632, !79, i64 688, !19, i64 736, !87, i64 744, !123, i64 1184, !130, i64 1376, !131, i64 1408, !130, i64 1488, !137, i64 1520, !16, i64 1528, !138, i64 1560, !16, i64 1592, !16, i64 1624, !139, i64 1656, !140, i64 1688, !18, i64 1720, !18, i64 1728, !18, i64 1736, !42, i64 1744, !141, i64 1752}
!7 = !{!"_ZTSN7DynexCN7IWalletE"}
!8 = !{!"_ZTSN7DynexCN18ITransfersObserverE"}
!9 = !{!"_ZTSN7DynexCN31IBlockchainSynchronizerObserverE"}
!10 = !{!"_ZTSN7DynexCN30ITransfersSynchronizerObserverE"}
!11 = !{!"_ZTSN7DynexCN14IFusionManagerE"}
!12 = !{!"any pointer", !13, i64 0}
!13 = !{!"omnipotent char", !14, i64 0}
!14 = !{!"Simple C++ TBAA"}
!15 = !{!"_ZTSN7Logging9LoggerRefE", !12, i64 0, !16, i64 8}
!16 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !17, i64 0, !18, i64 8, !13, i64 16}
!17 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !12, i64 0}
!18 = !{!"long", !13, i64 0}
!19 = !{!"bool", !13, i64 0}
!20 = !{!"_ZTSN5boost11multi_index21multi_index_containerIN7DynexCN12WalletRecordENS0_10indexed_byINS0_13random_accessINS0_3tagINS2_17RandomAccessIndexEN4mpl_2naES9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_EEEENS0_13hashed_uniqueINS6_INS2_9KeysIndexES9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_EENS0_6memberIS3_N6Crypto9PublicKeyEXadL_ZNS3_14spendPublicKeyEEEEES9_S9_EENSC_INS6_INS2_23TransfersContainerIndexES9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_EENSF_IS3_PNS2_19ITransfersContainerEXadL_ZNS3_9containerEEEEES9_S9_EES9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_EESaIS3_EEE", !21, i64 0, !23, i64 8, !24, i64 16, !18, i64 168}
!21 = !{!"_ZTSN5boost16base_from_memberISaINS_11multi_index6detail24random_access_index_nodeINS2_17hashed_index_nodeINS4_INS2_15index_node_baseIN7DynexCN12WalletRecordESaIS7_EEEEEEEEEELi0EEE", !22, i64 0}
!22 = !{!"_ZTSSaIN5boost11multi_index6detail24random_access_index_nodeINS1_17hashed_index_nodeINS3_INS1_15index_node_baseIN7DynexCN12WalletRecordESaIS6_EEEEEEEEEE"}
!23 = !{!"_ZTSN5boost11multi_index6detail13header_holderIPNS1_24random_access_index_nodeINS1_17hashed_index_nodeINS4_INS1_15index_node_baseIN7DynexCN12WalletRecordESaIS7_EEEEEEEEENS0_21multi_index_containerIS7_NS0_10indexed_byINS0_13random_accessINS0_3tagINS6_17RandomAccessIndexEN4mpl_2naESK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_EEEENS0_13hashed_uniqueINSH_INS6_9KeysIndexESK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_EENS0_6memberIS7_N6Crypto9PublicKeyEXadL_ZNS7_14spendPublicKeyEEEEESK_SK_EENSN_INSH_INS6_23TransfersContainerIndexESK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_EENSQ_IS7_PNS6_19ITransfersContainerEXadL_ZNS7_9containerEEEEESK_SK_EESK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_EES8_EEEE", !12, i64 0}
!24 = !{!"_ZTSN5boost11multi_index6detail19random_access_indexINS1_9nth_layerILi1EN7DynexCN12WalletRecordENS0_10indexed_byINS0_13random_accessINS0_3tagINS4_17RandomAccessIndexEN4mpl_2naESB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_EEEENS0_13hashed_uniqueINS8_INS4_9KeysIndexESB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_EENS0_6memberIS5_N6Crypto9PublicKeyEXadL_ZNS5_14spendPublicKeyEEEEESB_SB_EENSE_INS8_INS4_23TransfersContainerIndexESB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_EENSH_IS5_PNS4_19ITransfersContainerEXadL_ZNS5_9containerEEEEESB_SB_EESB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_EESaIS5_EEENS_3mpl6v_itemIS9_NSV_7vector0ISB_EELi0EEEEE", !25, i64 0, !37, i64 112}
!25 = !{!"_ZTSN5boost11multi_index6detail12hashed_indexINS0_6memberIN7DynexCN12WalletRecordEN6Crypto9PublicKeyEXadL_ZNS5_14spendPublicKeyEEEEENS_4hashIS7_EESt8equal_toIS7_ENS1_9nth_layerILi2ES5_NS0_10indexed_byINS0_13random_accessINS0_3tagINS4_17RandomAccessIndexEN4mpl_2naESJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_EEEENS0_13hashed_uniqueINSG_INS4_9KeysIndexESJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_EES8_SJ_SJ_EENSM_INSG_INS4_23TransfersContainerIndexESJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_EENS3_IS5_PNS4_19ITransfersContainerEXadL_ZNS5_9containerEEEEESJ_SJ_EESJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_EESaIS5_EEENS_3mpl6v_itemISN_NSZ_7vector0ISJ_EELi0EEENS1_17hashed_unique_tagEEE", !26, i64 0, !34, i64 56, !35, i64 57, !36, i64 58, !30, i64 64, !33, i64 96, !18, i64 104}
!26 = !{!"_ZTSN5boost11multi_index6detail12hashed_indexINS0_6memberIN7DynexCN12WalletRecordEPNS4_19ITransfersContainerEXadL_ZNS5_9containerEEEEENS_4hashIS7_EESt8equal_toIS7_ENS1_9nth_layerILi3ES5_NS0_10indexed_byINS0_13random_accessINS0_3tagINS4_17RandomAccessIndexEN4mpl_2naESJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_EEEENS0_13hashed_uniqueINSG_INS4_9KeysIndexESJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_EENS3_IS5_N6Crypto9PublicKeyEXadL_ZNS5_14spendPublicKeyEEEEESJ_SJ_EENSM_INSG_INS4_23TransfersContainerIndexESJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_EES8_SJ_SJ_EESJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_EESaIS5_EEENS_3mpl6v_itemIST_NSZ_7vector0ISJ_EELi0EEENS1_17hashed_unique_tagEEE", !27, i64 0, !28, i64 1, !29, i64 2, !30, i64 8, !33, i64 40, !18, i64 48}
!27 = !{!"_ZTSN5boost11multi_index6memberIN7DynexCN12WalletRecordEPNS2_19ITransfersContainerEXadL_ZNS3_9containerEEEEE"}
!28 = !{!"_ZTSN5boost4hashIPN7DynexCN19ITransfersContainerEEE"}
!29 = !{!"_ZTSSt8equal_toIPN7DynexCN19ITransfersContainerEE"}
!30 = !{!"_ZTSN5boost11multi_index6detail12bucket_arrayISaIN7DynexCN12WalletRecordEEEE", !18, i64 0, !31, i64 8}
!31 = !{!"_ZTSN5boost11multi_index6detail10auto_spaceINS1_27hashed_index_base_node_implISaIcEEESaIN7DynexCN12WalletRecordEEEE", !32, i64 0, !18, i64 8, !12, i64 16}
!32 = !{!"_ZTSSaIN5boost11multi_index6detail27hashed_index_base_node_implISaIcEEEE"}
!33 = !{!"float", !13, i64 0}
!34 = !{!"_ZTSN5boost11multi_index6memberIN7DynexCN12WalletRecordEN6Crypto9PublicKeyEXadL_ZNS3_14spendPublicKeyEEEEE"}
!35 = !{!"_ZTSN5boost4hashIN6Crypto9PublicKeyEEE"}
!36 = !{!"_ZTSSt8equal_toIN6Crypto9PublicKeyEE"}
!37 = !{!"_ZTSN5boost11multi_index6detail29random_access_index_ptr_arrayISaIN7DynexCN12WalletRecordEEEE", !18, i64 0, !18, i64 8, !38, i64 16}
!38 = !{!"_ZTSN5boost11multi_index6detail10auto_spaceIPNS1_29random_access_index_node_implISaIcEEESaIN7DynexCN12WalletRecordEEEE", !39, i64 0, !18, i64 8, !12, i64 16}
!39 = !{!"_ZTSSaIPN5boost11multi_index6detail29random_access_index_node_implISaIcEEEE"}
!40 = !{!"_ZTSN6Common16FileMappedVectorIN7DynexCN21EncryptedWalletRecordEEE", !16, i64 0, !41, i64 32, !18, i64 88, !18, i64 96, !19, i64 104}
!41 = !{!"_ZTSN6System16MemoryMappedFileE", !42, i64 0, !16, i64 8, !18, i64 40, !12, i64 48}
!42 = !{!"int", !13, i64 0}
!43 = !{!"_ZTSN5boost11multi_index21multi_index_containerIN7DynexCN20UnlockTransactionJobENS0_10indexed_byINS0_18ordered_non_uniqueINS0_3tagINS2_16BlockHeightIndexEN4mpl_2naES9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_EENS0_6memberIS3_jXadL_ZNS3_11blockHeightEEEEES9_EENS0_17hashed_non_uniqueINS6_INS2_20TransactionHashIndexES9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_EENSB_IS3_N6Crypto4HashEXadL_ZNS3_15transactionHashEEEEES9_S9_EES9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_EESaIS3_EEE", !44, i64 0, !46, i64 8, !47, i64 16, !18, i64 80}
!44 = !{!"_ZTSN5boost16base_from_memberISaINS_11multi_index6detail18ordered_index_nodeINS2_19null_augment_policyENS2_17hashed_index_nodeINS2_15index_node_baseIN7DynexCN20UnlockTransactionJobESaIS8_EEEEEEEELi0EEE", !45, i64 0}
!45 = !{!"_ZTSSaIN5boost11multi_index6detail18ordered_index_nodeINS1_19null_augment_policyENS1_17hashed_index_nodeINS1_15index_node_baseIN7DynexCN20UnlockTransactionJobESaIS7_EEEEEEEE"}
!46 = !{!"_ZTSN5boost11multi_index6detail13header_holderIPNS1_18ordered_index_nodeINS1_19null_augment_policyENS1_17hashed_index_nodeINS1_15index_node_baseIN7DynexCN20UnlockTransactionJobESaIS8_EEEEEEENS0_21multi_index_containerIS8_NS0_10indexed_byINS0_18ordered_non_uniqueINS0_3tagINS7_16BlockHeightIndexEN4mpl_2naESK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_EENS0_6memberIS8_jXadL_ZNS8_11blockHeightEEEEESK_EENS0_17hashed_non_uniqueINSH_INS7_20TransactionHashIndexESK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_EENSM_IS8_N6Crypto4HashEXadL_ZNS8_15transactionHashEEEEESK_SK_EESK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_EES9_EEEE", !12, i64 0}
!47 = !{!"_ZTSN5boost11multi_index6detail13ordered_indexINS0_6memberIN7DynexCN20UnlockTransactionJobEjXadL_ZNS5_11blockHeightEEEEESt4lessIjENS1_9nth_layerILi1ES5_NS0_10indexed_byINS0_18ordered_non_uniqueINS0_3tagINS4_16BlockHeightIndexEN4mpl_2naESF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_EES6_SF_EENS0_17hashed_non_uniqueINSC_INS4_20TransactionHashIndexESF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_EENS3_IS5_N6Crypto4HashEXadL_ZNS5_15transactionHashEEEEESF_SF_EESF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_EESaIS5_EEENS_3mpl6v_itemISD_NSS_7vector0ISF_EELi0EEENS1_22ordered_non_unique_tagENS1_19null_augment_policyEEE", !48, i64 0}
!48 = !{!"_ZTSN5boost11multi_index6detail18ordered_index_implINS0_6memberIN7DynexCN20UnlockTransactionJobEjXadL_ZNS5_11blockHeightEEEEESt4lessIjENS1_9nth_layerILi1ES5_NS0_10indexed_byINS0_18ordered_non_uniqueINS0_3tagINS4_16BlockHeightIndexEN4mpl_2naESF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_EES6_SF_EENS0_17hashed_non_uniqueINSC_INS4_20TransactionHashIndexESF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_EENS3_IS5_N6Crypto4HashEXadL_ZNS5_15transactionHashEEEEESF_SF_EESF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_EESaIS5_EEENS_3mpl6v_itemISD_NSS_7vector0ISF_EELi0EEENS1_22ordered_non_unique_tagENS1_19null_augment_policyEEE", !49, i64 0, !55, i64 56, !56, i64 57}
!49 = !{!"_ZTSN5boost11multi_index6detail12hashed_indexINS0_6memberIN7DynexCN20UnlockTransactionJobEN6Crypto4HashEXadL_ZNS5_15transactionHashEEEEENS_4hashIS7_EESt8equal_toIS7_ENS1_9nth_layerILi2ES5_NS0_10indexed_byINS0_18ordered_non_uniqueINS0_3tagINS4_16BlockHeightIndexEN4mpl_2naESJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_EENS3_IS5_jXadL_ZNS5_11blockHeightEEEEESJ_EENS0_17hashed_non_uniqueINSG_INS4_20TransactionHashIndexESJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_EES8_SJ_SJ_EESJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_EESaIS5_EEENS_3mpl6v_itemISO_NSU_7vector0ISJ_EELi0EEENS1_21hashed_non_unique_tagEEE", !50, i64 0, !51, i64 1, !52, i64 2, !53, i64 8, !33, i64 40, !18, i64 48}
!50 = !{!"_ZTSN5boost11multi_index6memberIN7DynexCN20UnlockTransactionJobEN6Crypto4HashEXadL_ZNS3_15transactionHashEEEEE"}
!51 = !{!"_ZTSN5boost4hashIN6Crypto4HashEEE"}
!52 = !{!"_ZTSSt8equal_toIN6Crypto4HashEE"}
!53 = !{!"_ZTSN5boost11multi_index6detail12bucket_arrayISaIN7DynexCN20UnlockTransactionJobEEEE", !18, i64 0, !54, i64 8}
!54 = !{!"_ZTSN5boost11multi_index6detail10auto_spaceINS1_27hashed_index_base_node_implISaIcEEESaIN7DynexCN20UnlockTransactionJobEEEE", !32, i64 0, !18, i64 8, !12, i64 16}
!55 = !{!"_ZTSN5boost11multi_index6memberIN7DynexCN20UnlockTransactionJobEjXadL_ZNS3_11blockHeightEEEEE"}
!56 = !{!"_ZTSSt4lessIjE"}
!57 = !{!"_ZTSN5boost11multi_index21multi_index_containerIN7DynexCN17WalletTransactionENS0_10indexed_byINS0_13random_accessINS0_3tagINS2_17RandomAccessIndexEN4mpl_2naES9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_EEEENS0_13hashed_uniqueINS6_INS2_16TransactionIndexES9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_EENS0_6memberIS3_N6Crypto4HashEXadL_ZNS3_4hashEEEEES9_S9_EENS0_18ordered_non_uniqueINS6_INS2_16BlockHeightIndexES9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_EENSF_IS3_jXadL_ZNS3_11blockHeightEEEEES9_EES9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_S9_EESaIS3_EEE", !58, i64 0, !60, i64 8, !61, i64 16, !18, i64 112}
!58 = !{!"_ZTSN5boost16base_from_memberISaINS_11multi_index6detail24random_access_index_nodeINS2_17hashed_index_nodeINS2_18ordered_index_nodeINS2_19null_augment_policyENS2_15index_node_baseIN7DynexCN17WalletTransactionESaIS9_EEEEEEEEEELi0EEE", !59, i64 0}
!59 = !{!"_ZTSSaIN5boost11multi_index6detail24random_access_index_nodeINS1_17hashed_index_nodeINS1_18ordered_index_nodeINS1_19null_augment_policyENS1_15index_node_baseIN7DynexCN17WalletTransactionESaIS8_EEEEEEEEEE"}
!60 = !{!"_ZTSN5boost11multi_index6detail13header_holderIPNS1_24random_access_index_nodeINS1_17hashed_index_nodeINS1_18ordered_index_nodeINS1_19null_augment_policyENS1_15index_node_baseIN7DynexCN17WalletTransactionESaIS9_EEEEEEEEENS0_21multi_index_containerIS9_NS0_10indexed_byINS0_13random_accessINS0_3tagINS8_17RandomAccessIndexEN4mpl_2naESM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_EEEENS0_13hashed_uniqueINSJ_INS8_16TransactionIndexESM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_EENS0_6memberIS9_N6Crypto4HashEXadL_ZNS9_4hashEEEEESM_SM_EENS0_18ordered_non_uniqueINSJ_INS8_16BlockHeightIndexESM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_EENSS_IS9_jXadL_ZNS9_11blockHeightEEEEESM_EESM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_EESA_EEEE", !12, i64 0}
!61 = !{!"_ZTSN5boost11multi_index6detail19random_access_indexINS1_9nth_layerILi1EN7DynexCN17WalletTransactionENS0_10indexed_byINS0_13random_accessINS0_3tagINS4_17RandomAccessIndexEN4mpl_2naESB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_EEEENS0_13hashed_uniqueINS8_INS4_16TransactionIndexESB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_EENS0_6memberIS5_N6Crypto4HashEXadL_ZNS5_4hashEEEEESB_SB_EENS0_18ordered_non_uniqueINS8_INS4_16BlockHeightIndexESB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_EENSH_IS5_jXadL_ZNS5_11blockHeightEEEEESB_EESB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_SB_EESaIS5_EEENS_3mpl6v_itemIS9_NSU_7vector0ISB_EELi0EEEEE", !62, i64 0, !69, i64 56}
!62 = !{!"_ZTSN5boost11multi_index6detail12hashed_indexINS0_6memberIN7DynexCN17WalletTransactionEN6Crypto4HashEXadL_ZNS5_4hashEEEEENS_4hashIS7_EESt8equal_toIS7_ENS1_9nth_layerILi2ES5_NS0_10indexed_byINS0_13random_accessINS0_3tagINS4_17RandomAccessIndexEN4mpl_2naESJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_EEEENS0_13hashed_uniqueINSG_INS4_16TransactionIndexESJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_EES8_SJ_SJ_EENS0_18ordered_non_uniqueINSG_INS4_16BlockHeightIndexESJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_EENS3_IS5_jXadL_ZNS5_11blockHeightEEEEESJ_EESJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_SJ_EESaIS5_EEENS_3mpl6v_itemISN_NSY_7vector0ISJ_EELi0EEENS1_17hashed_unique_tagEEE", !63, i64 0, !66, i64 2, !51, i64 3, !52, i64 4, !67, i64 8, !33, i64 40, !18, i64 48}
!63 = !{!"_ZTSN5boost11multi_index6detail13ordered_indexINS0_6memberIN7DynexCN17WalletTransactionEjXadL_ZNS5_11blockHeightEEEEESt4lessIjENS1_9nth_layerILi3ES5_NS0_10indexed_byINS0_13random_accessINS0_3tagINS4_17RandomAccessIndexEN4mpl_2naESF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_EEEENS0_13hashed_uniqueINSC_INS4_16TransactionIndexESF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_EENS3_IS5_N6Crypto4HashEXadL_ZNS5_4hashEEEEESF_SF_EENS0_18ordered_non_uniqueINSC_INS4_16BlockHeightIndexESF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_EES6_SF_EESF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_EESaIS5_EEENS_3mpl6v_itemISQ_NSW_7vector0ISF_EELi0EEENS1_22ordered_non_unique_tagENS1_19null_augment_policyEEE", !64, i64 0}
!64 = !{!"_ZTSN5boost11multi_index6detail18ordered_index_implINS0_6memberIN7DynexCN17WalletTransactionEjXadL_ZNS5_11blockHeightEEEEESt4lessIjENS1_9nth_layerILi3ES5_NS0_10indexed_byINS0_13random_accessINS0_3tagINS4_17RandomAccessIndexEN4mpl_2naESF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_EEEENS0_13hashed_uniqueINSC_INS4_16TransactionIndexESF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_EENS3_IS5_N6Crypto4HashEXadL_ZNS5_4hashEEEEESF_SF_EENS0_18ordered_non_uniqueINSC_INS4_16BlockHeightIndexESF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_EES6_SF_EESF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_SF_EESaIS5_EEENS_3mpl6v_itemISQ_NSW_7vector0ISF_EELi0EEENS1_22ordered_non_unique_tagENS1_19null_augment_policyEEE", !65, i64 0, !56, i64 1}
!65 = !{!"_ZTSN5boost11multi_index6memberIN7DynexCN17WalletTransactionEjXadL_ZNS3_11blockHeightEEEEE"}
!66 = !{!"_ZTSN5boost11multi_index6memberIN7DynexCN17WalletTransactionEN6Crypto4HashEXadL_ZNS3_4hashEEEEE"}
!67 = !{!"_ZTSN5boost11multi_index6detail12bucket_arrayISaIN7DynexCN17WalletTransactionEEEE", !18, i64 0, !68, i64 8}
!68 = !{!"_ZTSN5boost11multi_index6detail10auto_spaceINS1_27hashed_index_base_node_implISaIcEEESaIN7DynexCN17WalletTransactionEEEE", !32, i64 0, !18, i64 8, !12, i64 16}
!69 = !{!"_ZTSN5boost11multi_index6detail29random_access_index_ptr_arrayISaIN7DynexCN17WalletTransactionEEEE", !18, i64 0, !18, i64 8, !70, i64 16}
!70 = !{!"_ZTSN5boost11multi_index6detail10auto_spaceIPNS1_29random_access_index_node_implISaIcEEESaIN7DynexCN17WalletTransactionEEEE", !39, i64 0, !18, i64 8, !12, i64 16}
!71 = !{!"_ZTSSt6vectorISt4pairImN7DynexCN14WalletTransferEESaIS3_EE", !72, i64 0}
!72 = !{!"_ZTSSt12_Vector_baseISt4pairImN7DynexCN14WalletTransferEESaIS3_EE", !73, i64 0}
!73 = !{!"_ZTSNSt12_Vector_baseISt4pairImN7DynexCN14WalletTransferEESaIS3_EE12_Vector_implE", !74, i64 0}
!74 = !{!"_ZTSNSt12_Vector_baseISt4pairImN7DynexCN14WalletTransferEESaIS3_EE17_Vector_impl_dataE", !12, i64 0, !12, i64 8, !12, i64 16}
!75 = !{!"_ZTSSt13unordered_mapImbSt4hashImESt8equal_toImESaISt4pairIKmbEEE", !76, i64 0}
!76 = !{!"_ZTSSt10_HashtableImSt4pairIKmbESaIS2_ENSt8__detail10_Select1stESt8equal_toImESt4hashImENS4_18_Mod_range_hashingENS4_20_Default_ranged_hashENS4_20_Prime_rehash_policyENS4_17_Hashtable_traitsILb0ELb0ELb1EEEE", !12, i64 0, !18, i64 8, !77, i64 16, !18, i64 24, !78, i64 32, !12, i64 48}
!77 = !{!"_ZTSNSt8__detail15_Hash_node_baseE", !12, i64 0}
!78 = !{!"_ZTSNSt8__detail20_Prime_rehash_policyE", !33, i64 0, !18, i64 8}
!79 = !{!"_ZTSSt3mapImN7DynexCN11TransactionESt4lessImESaISt4pairIKmS1_EEE", !80, i64 0}
!80 = !{!"_ZTSSt8_Rb_treeImSt4pairIKmN7DynexCN11TransactionEESt10_Select1stIS4_ESt4lessImESaIS4_EE", !81, i64 0}
!81 = !{!"_ZTSNSt8_Rb_treeImSt4pairIKmN7DynexCN11TransactionEESt10_Select1stIS4_ESt4lessImESaIS4_EE13_Rb_tree_implIS8_Lb1EEE", !82, i64 0, !84, i64 8}
!82 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessImEE", !83, i64 0}
!83 = !{!"_ZTSSt4lessImE"}
!84 = !{!"_ZTSSt15_Rb_tree_header", !85, i64 0, !18, i64 32}
!85 = !{!"_ZTSSt18_Rb_tree_node_base", !86, i64 0, !12, i64 8, !12, i64 16, !12, i64 24}
!86 = !{!"_ZTSSt14_Rb_tree_color", !13, i64 0}
!87 = !{!"_ZTSN7DynexCN22BlockchainSynchronizerE", !88, i64 0, !99, i64 80, !15, i64 88, !100, i64 128, !12, i64 176, !105, i64 184, !105, i64 216, !106, i64 248, !106, i64 252, !107, i64 256, !113, i64 264, !118, i64 288, !97, i64 312, !97, i64 352, !121, i64 392}
!88 = !{!"_ZTSN7DynexCN15IObservableImplINS_31IBlockchainSynchronizerObserverENS_23IBlockchainSynchronizerEEE", !89, i64 0, !92, i64 16}
!89 = !{!"_ZTSN7DynexCN23IBlockchainSynchronizerE", !90, i64 0, !91, i64 8}
!90 = !{!"_ZTSN7DynexCN11IObservableINS_31IBlockchainSynchronizerObserverEEE"}
!91 = !{!"_ZTSN7DynexCN19IStreamSerializableE"}
!92 = !{!"_ZTSN5Tools15ObserverManagerIN7DynexCN31IBlockchainSynchronizerObserverEEE", !93, i64 0, !97, i64 24}
!93 = !{!"_ZTSSt6vectorIPN7DynexCN31IBlockchainSynchronizerObserverESaIS2_EE", !94, i64 0}
!94 = !{!"_ZTSSt12_Vector_baseIPN7DynexCN31IBlockchainSynchronizerObserverESaIS2_EE", !95, i64 0}
!95 = !{!"_ZTSNSt12_Vector_baseIPN7DynexCN31IBlockchainSynchronizerObserverESaIS2_EE12_Vector_implE", !96, i64 0}
!96 = !{!"_ZTSNSt12_Vector_baseIPN7DynexCN31IBlockchainSynchronizerObserverESaIS2_EE17_Vector_impl_dataE", !12, i64 0, !12, i64 8, !12, i64 16}
!97 = !{!"_ZTSSt5mutex", !98, i64 0}
!98 = !{!"_ZTSSt12__mutex_base", !13, i64 0}
!99 = !{!"_ZTSN7DynexCN13INodeObserverE"}
!100 = !{!"_ZTSSt3mapIPN7DynexCN19IBlockchainConsumerESt10shared_ptrINS0_20SynchronizationStateEESt4lessIS2_ESaISt4pairIKS2_S5_EEE", !101, i64 0}
!101 = !{!"_ZTSSt8_Rb_treeIPN7DynexCN19IBlockchainConsumerESt4pairIKS2_St10shared_ptrINS0_20SynchronizationStateEEESt10_Select1stIS8_ESt4lessIS2_ESaIS8_EE", !102, i64 0}
!102 = !{!"_ZTSNSt8_Rb_treeIPN7DynexCN19IBlockchainConsumerESt4pairIKS2_St10shared_ptrINS0_20SynchronizationStateEEESt10_Select1stIS8_ESt4lessIS2_ESaIS8_EE13_Rb_tree_implISC_Lb1EEE", !103, i64 0, !84, i64 8}
!103 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessIPN7DynexCN19IBlockchainConsumerEEE", !104, i64 0}
!104 = !{!"_ZTSSt4lessIPN7DynexCN19IBlockchainConsumerEE"}
!105 = !{!"_ZTSN6Crypto4HashE", !13, i64 0}
!106 = !{!"_ZTSN7DynexCN22BlockchainSynchronizer5StateE", !13, i64 0}
!107 = !{!"_ZTSSt10unique_ptrISt6threadSt14default_deleteIS0_EE", !108, i64 0}
!108 = !{!"_ZTSSt15__uniq_ptr_dataISt6threadSt14default_deleteIS0_ELb1ELb1EE", !109, i64 0}
!109 = !{!"_ZTSSt15__uniq_ptr_implISt6threadSt14default_deleteIS0_EE", !110, i64 0}
!110 = !{!"_ZTSSt5tupleIJPSt6threadSt14default_deleteIS0_EEE", !111, i64 0}
!111 = !{!"_ZTSSt11_Tuple_implILm0EJPSt6threadSt14default_deleteIS0_EEE", !112, i64 0}
!112 = !{!"_ZTSSt10_Head_baseILm0EPSt6threadLb0EE", !12, i64 0}
!113 = !{!"_ZTSNSt7__cxx114listISt4pairIPKN7DynexCN18ITransactionReaderESt7promiseISt10error_codeEESaIS9_EEE", !114, i64 0}
!114 = !{!"_ZTSNSt7__cxx1110_List_baseISt4pairIPKN7DynexCN18ITransactionReaderESt7promiseISt10error_codeEESaIS9_EEE", !115, i64 0}
!115 = !{!"_ZTSNSt7__cxx1110_List_baseISt4pairIPKN7DynexCN18ITransactionReaderESt7promiseISt10error_codeEESaIS9_EE10_List_implE", !116, i64 0}
!116 = !{!"_ZTSNSt8__detail17_List_node_headerE", !117, i64 0, !18, i64 16}
!117 = !{!"_ZTSNSt8__detail15_List_node_baseE", !12, i64 0, !12, i64 8}
!118 = !{!"_ZTSNSt7__cxx114listISt4pairIPKN6Crypto4HashESt7promiseIvEESaIS8_EEE", !119, i64 0}
!119 = !{!"_ZTSNSt7__cxx1110_List_baseISt4pairIPKN6Crypto4HashESt7promiseIvEESaIS8_EEE", !120, i64 0}
!120 = !{!"_ZTSNSt7__cxx1110_List_baseISt4pairIPKN6Crypto4HashESt7promiseIvEESaIS8_EE10_List_implE", !116, i64 0}
!121 = !{!"_ZTSSt18condition_variable", !122, i64 0}
!122 = !{!"_ZTSSt9__condvar", !13, i64 0}
!123 = !{!"_ZTSN7DynexCN20TransfersSyncronizerE", !124, i64 0, !125, i64 8, !15, i64 16, !126, i64 56, !128, i64 112, !12, i64 168, !12, i64 176, !12, i64 184}
!124 = !{!"_ZTSN7DynexCN22ITransfersSynchronizerE", !91, i64 0}
!125 = !{!"_ZTSN7DynexCN27IBlockchainConsumerObserverE"}
!126 = !{!"_ZTSSt13unordered_mapIN6Crypto9PublicKeyESt10unique_ptrIN7DynexCN17TransfersConsumerESt14default_deleteIS4_EESt4hashIS1_ESt8equal_toIS1_ESaISt4pairIKS1_S7_EEE", !127, i64 0}
!127 = !{!"_ZTSSt10_HashtableIN6Crypto9PublicKeyESt4pairIKS1_St10unique_ptrIN7DynexCN17TransfersConsumerESt14default_deleteIS6_EEESaISA_ENSt8__detail10_Select1stESt8equal_toIS1_ESt4hashIS1_ENSC_18_Mod_range_hashingENSC_20_Default_ranged_hashENSC_20_Prime_rehash_policyENSC_17_Hashtable_traitsILb1ELb0ELb1EEEE", !12, i64 0, !18, i64 8, !77, i64 16, !18, i64 24, !78, i64 32, !12, i64 48}
!128 = !{!"_ZTSSt13unordered_mapIN6Crypto9PublicKeyESt10unique_ptrIN5Tools15ObserverManagerIN7DynexCN30ITransfersSynchronizerObserverEEESt14default_deleteIS7_EESt4hashIS1_ESt8equal_toIS1_ESaISt4pairIKS1_SA_EEE", !129, i64 0}
!129 = !{!"_ZTSSt10_HashtableIN6Crypto9PublicKeyESt4pairIKS1_St10unique_ptrIN5Tools15ObserverManagerIN7DynexCN30ITransfersSynchronizerObserverEEESt14default_deleteIS9_EEESaISD_ENSt8__detail10_Select1stESt8equal_toIS1_ESt4hashIS1_ENSF_18_Mod_range_hashingENSF_20_Default_ranged_hashENSF_20_Prime_rehash_policyENSF_17_Hashtable_traitsILb1ELb0ELb1EEEE", !12, i64 0, !18, i64 8, !77, i64 16, !18, i64 24, !78, i64 32, !12, i64 48}
!130 = !{!"_ZTSN6System5EventE", !12, i64 0, !19, i64 8, !12, i64 16, !12, i64 24}
!131 = !{!"_ZTSSt5queueIN7DynexCN11WalletEventESt5dequeIS1_SaIS1_EEE", !132, i64 0}
!132 = !{!"_ZTSSt5dequeIN7DynexCN11WalletEventESaIS1_EE", !133, i64 0}
!133 = !{!"_ZTSSt11_Deque_baseIN7DynexCN11WalletEventESaIS1_EE", !134, i64 0}
!134 = !{!"_ZTSNSt11_Deque_baseIN7DynexCN11WalletEventESaIS1_EE11_Deque_implE", !135, i64 0}
!135 = !{!"_ZTSNSt11_Deque_baseIN7DynexCN11WalletEventESaIS1_EE16_Deque_impl_dataE", !12, i64 0, !18, i64 8, !136, i64 16, !136, i64 48}
!136 = !{!"_ZTSSt15_Deque_iteratorIN7DynexCN11WalletEventERS1_PS1_E", !12, i64 0, !12, i64 8, !12, i64 16, !12, i64 24}
!137 = !{!"_ZTSN7DynexCN11WalletGreen11WalletStateE", !13, i64 0}
!138 = !{!"_ZTSN6Crypto11chacha8_keyE", !13, i64 0}
!139 = !{!"_ZTSN6Crypto9PublicKeyE", !13, i64 0}
!140 = !{!"_ZTSN6Crypto9SecretKeyE", !13, i64 0}
!141 = !{!"_ZTSN5boost11multi_index21multi_index_containerIN6Crypto4HashENS0_10indexed_byINS0_13random_accessINS0_3tagIN7DynexCN16BlockHeightIndexEN4mpl_2naESA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_EEEENS0_13hashed_uniqueINS6_INS7_14BlockHashIndexESA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_EENS0_8identityIS3_EESA_SA_EESA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_EESaIS3_EEE", !142, i64 0, !144, i64 8, !145, i64 16, !18, i64 112}
!142 = !{!"_ZTSN5boost16base_from_memberISaINS_11multi_index6detail24random_access_index_nodeINS2_17hashed_index_nodeINS2_15index_node_baseIN6Crypto4HashESaIS7_EEEEEEEELi0EEE", !143, i64 0}
!143 = !{!"_ZTSSaIN5boost11multi_index6detail24random_access_index_nodeINS1_17hashed_index_nodeINS1_15index_node_baseIN6Crypto4HashESaIS6_EEEEEEEE"}
!144 = !{!"_ZTSN5boost11multi_index6detail13header_holderIPNS1_24random_access_index_nodeINS1_17hashed_index_nodeINS1_15index_node_baseIN6Crypto4HashESaIS7_EEEEEEENS0_21multi_index_containerIS7_NS0_10indexed_byINS0_13random_accessINS0_3tagIN7DynexCN16BlockHeightIndexEN4mpl_2naESK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_EEEENS0_13hashed_uniqueINSG_INSH_14BlockHashIndexESK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_EENS0_8identityIS7_EESK_SK_EESK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_SK_EES8_EEEE", !12, i64 0}
!145 = !{!"_ZTSN5boost11multi_index6detail19random_access_indexINS1_9nth_layerILi1EN6Crypto4HashENS0_10indexed_byINS0_13random_accessINS0_3tagIN7DynexCN16BlockHeightIndexEN4mpl_2naESC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_EEEENS0_13hashed_uniqueINS8_INS9_14BlockHashIndexESC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_EENS0_8identityIS5_EESC_SC_EESC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_SC_EESaIS5_EEENS_3mpl6v_itemISA_NSO_7vector0ISC_EELi0EEEEE", !146, i64 0, !150, i64 56}
!146 = !{!"_ZTSN5boost11multi_index6detail12hashed_indexINS0_8identityIN6Crypto4HashEEENS_4hashIS5_EESt8equal_toIS5_ENS1_9nth_layerILi2ES5_NS0_10indexed_byINS0_13random_accessINS0_3tagIN7DynexCN16BlockHeightIndexEN4mpl_2naESI_SI_SI_SI_SI_SI_SI_SI_SI_SI_SI_SI_SI_SI_SI_SI_SI_SI_EEEENS0_13hashed_uniqueINSE_INSF_14BlockHashIndexESI_SI_SI_SI_SI_SI_SI_SI_SI_SI_SI_SI_SI_SI_SI_SI_SI_SI_SI_EES6_SI_SI_EESI_SI_SI_SI_SI_SI_SI_SI_SI_SI_SI_SI_SI_SI_SI_SI_SI_SI_EESaIS5_EEENS_3mpl6v_itemISM_NSS_7vector0ISI_EELi0EEENS1_17hashed_unique_tagEEE", !147, i64 0, !51, i64 1, !52, i64 2, !148, i64 8, !33, i64 40, !18, i64 48}
!147 = !{!"_ZTSN5boost11multi_index8identityIN6Crypto4HashEEE"}
!148 = !{!"_ZTSN5boost11multi_index6detail12bucket_arrayISaIN6Crypto4HashEEEE", !18, i64 0, !149, i64 8}
!149 = !{!"_ZTSN5boost11multi_index6detail10auto_spaceINS1_27hashed_index_base_node_implISaIcEEESaIN6Crypto4HashEEEE", !32, i64 0, !18, i64 8, !12, i64 16}
!150 = !{!"_ZTSN5boost11multi_index6detail29random_access_index_ptr_arrayISaIN6Crypto4HashEEEE", !18, i64 0, !18, i64 8, !151, i64 16}
!151 = !{!"_ZTSN5boost11multi_index6detail10auto_spaceIPNS1_29random_access_index_node_implISaIcEEESaIN6Crypto4HashEEEE", !39, i64 0, !18, i64 8, !12, i64 16}
!152 = !{!42, !42, i64 0}
!153 = !{!154, !154, i64 0}
!154 = !{!"vtable pointer", !14, i64 0}
!155 = !{!12, !12, i64 0}
!156 = !{!18, !18, i64 0}
!157 = !{!158, !159, i64 0}
!158 = !{!"_ZTSN7DynexCN28TransactionOutputInformationE", !159, i64 0, !18, i64 8, !42, i64 16, !42, i64 20, !105, i64 24, !139, i64 56, !13, i64 88}
!159 = !{!"_ZTSN7DynexCN16TransactionTypes10OutputTypeE", !13, i64 0}
!160 = !{!6, !12, i64 48}
!161 = !{!6, !18, i64 1720}
!162 = !{!6, !18, i64 1728}


; Effective O3 passes: EarlyCSEPass,GVNPass,GlobalOptPass,InferFunctionAttrsPass,InstCombinePass,JumpThreadingPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,SROAPass,SimplifyCFGPass