; 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::unique_ptr.327" = type { %"struct.std::__uniq_ptr_data.328" }
%"struct.std::__uniq_ptr_data.328" = type { %"class.std::__uniq_ptr_impl.329" }
%"class.std::__uniq_ptr_impl.329" = type { %"class.std::tuple.330" }
%"class.std::tuple.330" = type { %"struct.std::_Tuple_impl.331" }
%"struct.std::_Tuple_impl.331" = type { %"struct.std::_Head_base.334" }
%"struct.std::_Head_base.334" = type { ptr }
%"class.std::vector.430" = type { %"struct.std::_Vector_base.431" }
%"struct.std::_Vector_base.431" = type { %"struct.std::_Vector_base<std::pair<const DynexCN::AccountPublicAddress *, unsigned long>, std::allocator<std::pair<const DynexCN::AccountPublicAddress *, unsigned long>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::pair<const DynexCN::AccountPublicAddress *, unsigned long>, std::allocator<std::pair<const DynexCN::AccountPublicAddress *, unsigned long>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::pair<const DynexCN::AccountPublicAddress *, unsigned long>, std::allocator<std::pair<const DynexCN::AccountPublicAddress *, unsigned long>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::pair<const DynexCN::AccountPublicAddress *, unsigned long>, std::allocator<std::pair<const DynexCN::AccountPublicAddress *, unsigned long>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.__gnu_cxx::__normal_iterator.435" = type { ptr }
%"class.__gnu_cxx::__normal_iterator.436" = type { ptr }
%"struct.std::pair.437" = type { ptr, i64 }
%"class.__gnu_cxx::__normal_iterator.439" = type { ptr }
%"class.std::linear_congruential_engine" = type { i64 }
%class.anon.440 = type { i8 }
%"class.__gnu_cxx::__normal_iterator.442" = type { ptr }
%"struct.DynexCN::AccountKeys" = type { %"struct.DynexCN::AccountPublicAddress", %"struct.Crypto::SecretKey", %"struct.Crypto::SecretKey" }
%"struct.DynexCN::AccountPublicAddress" = type { %"struct.Crypto::PublicKey", %"struct.Crypto::PublicKey" }
%"struct.Crypto::PublicKey" = type { [32 x i8] }
%"struct.Crypto::SecretKey" = type { [32 x i8] }
%"class.std::vector.135" = type { %"struct.std::_Vector_base.136" }
%"struct.std::_Vector_base.136" = type { %"struct.std::_Vector_base<unsigned char, std::allocator<unsigned char>>::_Vector_impl" }
%"struct.std::_Vector_base<unsigned char, std::allocator<unsigned char>>::_Vector_impl" = type { %"struct.std::_Vector_base<unsigned char, std::allocator<unsigned char>>::_Vector_impl_data" }
%"struct.std::_Vector_base<unsigned char, std::allocator<unsigned char>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"struct.Crypto::Hash" = type { [32 x i8] }
%"struct.DynexCN::WalletGreen::ReceiverAmounts" = type { %"struct.DynexCN::AccountPublicAddress", %"class.std::vector.241" }
%"class.std::vector.241" = type { %"struct.std::_Vector_base.242" }
%"struct.std::_Vector_base.242" = type { %"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl" }
%"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl" = type { %"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl_data" }
%"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"struct.DynexCN::WalletGreen::InputInfo" = type { %"struct.DynexCN::TransactionTypes::InputKeyInfo", ptr, %"struct.DynexCN::KeyPair" }
%"struct.DynexCN::TransactionTypes::InputKeyInfo" = type { i64, %"class.std::vector.443", %"struct.DynexCN::TransactionTypes::OutputKeyInfo" }
%"class.std::vector.443" = type { %"struct.std::_Vector_base.444" }
%"struct.std::_Vector_base.444" = type { %"struct.std::_Vector_base<DynexCN::TransactionTypes::GlobalOutput, std::allocator<DynexCN::TransactionTypes::GlobalOutput>>::_Vector_impl" }
%"struct.std::_Vector_base<DynexCN::TransactionTypes::GlobalOutput, std::allocator<DynexCN::TransactionTypes::GlobalOutput>>::_Vector_impl" = type { %"struct.std::_Vector_base<DynexCN::TransactionTypes::GlobalOutput, std::allocator<DynexCN::TransactionTypes::GlobalOutput>>::_Vector_impl_data" }
%"struct.std::_Vector_base<DynexCN::TransactionTypes::GlobalOutput, std::allocator<DynexCN::TransactionTypes::GlobalOutput>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"struct.DynexCN::TransactionTypes::OutputKeyInfo" = type { %"struct.Crypto::PublicKey", i64, i64 }
%"struct.DynexCN::KeyPair" = type { %"struct.Crypto::PublicKey", %"struct.Crypto::SecretKey" }
%"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 }
%"struct.std::__detail::_Hash_node_base" = type { ptr }
%"struct.std::__detail::_Prime_rehash_policy" = type { float, i64 }
%"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" }
%"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 }
%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::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] }
%"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 }

@_ZN7Logging7DEFAULTB5cxx11E = external global %"class.std::__cxx11::basic_string", align 8
@.str.111 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.178 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.179 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.180 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.181 = external hidden unnamed_addr constant [7 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: mustprogress nounwind uwtable
declare void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #1 align 2

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: readwrite)
declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #2

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)) #3

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA27_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161), ptr noundef nonnull align 1 dereferenceable(27)) #5

; 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)) #5

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) #3

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA11_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161), ptr noundef nonnull align 1 dereferenceable(11)) #5

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA7_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161), ptr noundef nonnull align 1 dereferenceable(7)) #5

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN7DynexCN11WalletGreen15makeTransactionERKSt6vectorINS0_15ReceiverAmountsESaIS2_EERS1_INS0_9InputInfoESaIS7_EERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmRN6Crypto9SecretKeyE(ptr dead_on_unwind noalias writable sret(%"class.std::unique_ptr.327") align 8 %0, ptr noundef nonnull align 8 dereferenceable(1872) %1, ptr noundef nonnull align 8 dereferenceable(24) %2, ptr noundef nonnull align 8 dereferenceable(24) %3, ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %5, ptr noundef nonnull align 1 dereferenceable(32) %6) #6 align 2 personality ptr @__gxx_personality_v0 {
  %8 = alloca ptr, align 8
  %9 = alloca ptr, align 8
  %10 = alloca ptr, align 8
  %11 = alloca ptr, align 8
  %12 = alloca ptr, align 8
  %13 = alloca i64, align 8
  %14 = alloca ptr, align 8
  %15 = alloca i1, align 1
  %16 = alloca %"class.std::vector.430", align 8
  %17 = alloca ptr, align 8
  %18 = alloca %"class.__gnu_cxx::__normal_iterator.435", align 8
  %19 = alloca %"class.__gnu_cxx::__normal_iterator.435", align 8
  %20 = alloca i32, align 4
  %21 = alloca ptr, align 8
  %22 = alloca ptr, align 8
  %23 = alloca %"class.__gnu_cxx::__normal_iterator.436", align 8
  %24 = alloca %"class.__gnu_cxx::__normal_iterator.436", align 8
  %25 = alloca i64, align 8
  %26 = alloca %"struct.std::pair.437", align 8
  %27 = alloca ptr, align 8
  %28 = alloca ptr, align 8
  %29 = alloca i32, align 4
  %30 = alloca %"class.__gnu_cxx::__normal_iterator.439", align 8
  %31 = alloca %"class.__gnu_cxx::__normal_iterator.439", align 8
  %32 = alloca %"class.std::linear_congruential_engine", align 8
  %33 = alloca %"class.__gnu_cxx::__normal_iterator.439", align 8
  %34 = alloca %"class.__gnu_cxx::__normal_iterator.439", align 8
  %35 = alloca %class.anon.440, align 1
  %36 = alloca ptr, align 8
  %37 = alloca %"class.__gnu_cxx::__normal_iterator.439", align 8
  %38 = alloca %"class.__gnu_cxx::__normal_iterator.439", align 8
  %39 = alloca ptr, align 8
  %40 = alloca ptr, align 8
  %41 = alloca %"class.__gnu_cxx::__normal_iterator.442", align 8
  %42 = alloca %"class.__gnu_cxx::__normal_iterator.442", align 8
  %43 = alloca ptr, align 8
  %44 = alloca %"struct.DynexCN::AccountKeys", align 1
  %45 = alloca %"class.std::vector.135", align 8
  %46 = alloca i64, align 8
  %47 = alloca ptr, align 8
  %48 = alloca %"class.__gnu_cxx::__normal_iterator.442", align 8
  %49 = alloca %"class.__gnu_cxx::__normal_iterator.442", align 8
  %50 = alloca ptr, align 8
  %51 = alloca %"struct.Crypto::SecretKey", align 1
  %52 = alloca %"class.Logging::LoggerMessage", align 8
  %53 = alloca %"struct.Crypto::Hash", align 1
  %54 = alloca %"class.std::__cxx11::basic_string", align 8
  %55 = alloca %"class.std::__cxx11::basic_string", align 8
  %56 = alloca %"class.std::__cxx11::basic_string", align 8
  %57 = alloca %"class.std::__cxx11::basic_string", align 8
  store ptr %0, ptr %8, align 8
  store ptr %1, ptr %9, align 8, !tbaa !5
  store ptr %2, ptr %10, align 8, !tbaa !5
  store ptr %3, ptr %11, align 8, !tbaa !5
  store ptr %4, ptr %12, align 8, !tbaa !5
  store i64 %5, ptr %13, align 8, !tbaa !9
  store ptr %6, ptr %14, align 8, !tbaa !5
  %58 = load ptr, ptr %9, align 8
  store i1 false, ptr %15, align 1
  call void @_ZN7DynexCN17createTransactionEv(ptr dead_on_unwind writable sret(%"class.std::unique_ptr.327") align 8 %0)
  call void @llvm.lifetime.start.p0(i64 24, ptr %16) #8
  call void @_ZNSt6vectorISt4pairIPKN7DynexCN20AccountPublicAddressEmESaIS5_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %16) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %17) #8
  %59 = load ptr, ptr %10, align 8, !tbaa !5
  store ptr %59, ptr %17, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %18) #8
  %60 = load ptr, ptr %17, align 8, !tbaa !5
  %61 = call ptr @_ZNKSt6vectorIN7DynexCN11WalletGreen15ReceiverAmountsESaIS2_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %60) #8
  %62 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.435", ptr %18, i32 0, i32 0
  store ptr %61, ptr %62, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %19) #8
  %63 = load ptr, ptr %17, align 8, !tbaa !5
  %64 = call ptr @_ZNKSt6vectorIN7DynexCN11WalletGreen15ReceiverAmountsESaIS2_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %63) #8
  %65 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.435", ptr %19, i32 0, i32 0
  store ptr %64, ptr %65, align 8
  br label %66

66:                                               ; preds = %97, %7
  %67 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPKN7DynexCN11WalletGreen15ReceiverAmountsESt6vectorIS3_SaIS3_EEEEbRKNS_17__normal_iteratorIT_T0_EESE_(ptr noundef nonnull align 8 dereferenceable(8) %18, ptr noundef nonnull align 8 dereferenceable(8) %19) #8
  br i1 %67, label %69, label %68

68:                                               ; preds = %66
  store i32 2, ptr %20, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %18) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %17) #8
  br label %99

69:                                               ; preds = %66
  call void @llvm.lifetime.start.p0(i64 8, ptr %21) #8
  %70 = call noundef nonnull align 8 dereferenceable(88) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPKN7DynexCN11WalletGreen15ReceiverAmountsESt6vectorIS3_SaIS3_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %18) #8
  store ptr %70, ptr %21, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %22) #8
  %71 = load ptr, ptr %21, align 8, !tbaa !5
  %72 = getelementptr inbounds %"struct.DynexCN::WalletGreen::ReceiverAmounts", ptr %71, i32 0, i32 1
  store ptr %72, ptr %22, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %23) #8
  %73 = load ptr, ptr %22, align 8, !tbaa !5
  %74 = call ptr @_ZNKSt6vectorImSaImEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %73) #8
  %75 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.436", ptr %23, i32 0, i32 0
  store ptr %74, ptr %75, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %24) #8
  %76 = load ptr, ptr %22, align 8, !tbaa !5
  %77 = call ptr @_ZNKSt6vectorImSaImEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %76) #8
  %78 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.436", ptr %24, i32 0, i32 0
  store ptr %77, ptr %78, align 8
  br label %79

79:                                               ; preds = %90, %69
  %80 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPKmSt6vectorImSaImEEEEbRKNS_17__normal_iteratorIT_T0_EESB_(ptr noundef nonnull align 8 dereferenceable(8) %23, ptr noundef nonnull align 8 dereferenceable(8) %24) #8
  br i1 %80, label %82, label %81

81:                                               ; preds = %79
  store i32 4, ptr %20, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %23) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %22) #8
  br label %96

82:                                               ; preds = %79
  call void @llvm.lifetime.start.p0(i64 8, ptr %25) #8
  %83 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPKmSt6vectorImSaImEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %23) #8
  %84 = load i64, ptr %83, align 8, !tbaa !9
  store i64 %84, ptr %25, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %26) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %27) #8
  %85 = load ptr, ptr %21, align 8, !tbaa !5
  %86 = getelementptr inbounds %"struct.DynexCN::WalletGreen::ReceiverAmounts", ptr %85, i32 0, i32 0
  store ptr %86, ptr %27, align 8, !tbaa !5
  invoke void @_ZNSt4pairIPKN7DynexCN20AccountPublicAddressEmEC2IS3_RmTnNSt9enable_ifIXaaclsr5_PCCPE22_MoveConstructiblePairIT_T0_EEclsr5_PCCPE30_ImplicitlyMoveConvertiblePairIS8_S9_EEEbE4typeELb1EEEOS8_OS9_(ptr noundef nonnull align 8 dereferenceable(16) %26, ptr noundef nonnull align 8 dereferenceable(8) %27, ptr noundef nonnull align 8 dereferenceable(8) %25)
          to label %87 unwind label %92

87:                                               ; preds = %82
  %88 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIPKN7DynexCN20AccountPublicAddressEmESaIS5_EE12emplace_backIJS5_EEERS5_DpOT_(ptr noundef nonnull align 8 dereferenceable(24) %16, ptr noundef nonnull align 8 dereferenceable(16) %26)
          to label %89 unwind label %92

89:                                               ; preds = %87
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %26) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #8
  br label %90

90:                                               ; preds = %89
  %91 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPKmSt6vectorImSaImEEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %23) #8
  br label %79

92:                                               ; preds = %87, %82
  %93 = landingpad { ptr, i32 }
          cleanup
  %94 = extractvalue { ptr, i32 } %93, 0
  store ptr %94, ptr %28, align 8
  %95 = extractvalue { ptr, i32 } %93, 1
  store i32 %95, ptr %29, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %26) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %23) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %22) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %18) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %17) #8
  br label %379

96:                                               ; preds = %81
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #8
  br label %97

97:                                               ; preds = %96
  %98 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPKN7DynexCN11WalletGreen15ReceiverAmountsESt6vectorIS3_SaIS3_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %18) #8
  br label %66

99:                                               ; preds = %68
  %100 = call ptr @_ZNSt6vectorISt4pairIPKN7DynexCN20AccountPublicAddressEmESaIS5_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %16) #8
  %101 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.439", ptr %30, i32 0, i32 0
  store ptr %100, ptr %101, align 8
  %102 = call ptr @_ZNSt6vectorISt4pairIPKN7DynexCN20AccountPublicAddressEmESaIS5_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %16) #8
  %103 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.439", ptr %31, i32 0, i32 0
  store ptr %102, ptr %103, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %32) #8
  %104 = invoke noundef i64 @_ZN6Crypto4randImEENSt9enable_ifIXsr3std6is_podIT_EE5valueES2_E4typeEv()
          to label %105 unwind label %130

105:                                              ; preds = %99
  invoke void @_ZNSt26linear_congruential_engineImLm16807ELm0ELm2147483647EEC2Em(ptr noundef nonnull align 8 dereferenceable(8) %32, i64 noundef %104)
          to label %106 unwind label %130

106:                                              ; preds = %105
  %107 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.439", ptr %30, i32 0, i32 0
  %108 = load ptr, ptr %107, align 8
  %109 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.439", ptr %31, i32 0, i32 0
  %110 = load ptr, ptr %109, align 8
  invoke void @_ZSt7shuffleIN9__gnu_cxx17__normal_iteratorIPSt4pairIPKN7DynexCN20AccountPublicAddressEmESt6vectorIS7_SaIS7_EEEESt26linear_congruential_engineImLm16807ELm0ELm2147483647EEEvT_SF_OT0_(ptr %108, ptr %110, ptr noundef nonnull align 8 dereferenceable(8) %32)
          to label %111 unwind label %130

111:                                              ; preds = %106
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #8
  %112 = call ptr @_ZNSt6vectorISt4pairIPKN7DynexCN20AccountPublicAddressEmESaIS5_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %16) #8
  %113 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.439", ptr %33, i32 0, i32 0
  store ptr %112, ptr %113, align 8
  %114 = call ptr @_ZNSt6vectorISt4pairIPKN7DynexCN20AccountPublicAddressEmESaIS5_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %16) #8
  %115 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.439", ptr %34, i32 0, i32 0
  store ptr %114, ptr %115, align 8
  %116 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.439", ptr %33, i32 0, i32 0
  %117 = load ptr, ptr %116, align 8
  %118 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.439", ptr %34, i32 0, i32 0
  %119 = load ptr, ptr %118, align 8
  invoke void @"_ZSt4sortIN9__gnu_cxx17__normal_iteratorIPSt4pairIPKN7DynexCN20AccountPublicAddressEmESt6vectorIS7_SaIS7_EEEEZNS3_11WalletGreen15makeTransactionERKS9_INSD_15ReceiverAmountsESaISE_EERS9_INSD_9InputInfoESaISJ_EERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmRN6Crypto9SecretKeyEE3$_0EvT_SZ_T0_"(ptr %117, ptr %119)
          to label %120 unwind label %134

120:                                              ; preds = %111
  call void @llvm.lifetime.start.p0(i64 8, ptr %36) #8
  store ptr %16, ptr %36, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %37) #8
  %121 = load ptr, ptr %36, align 8, !tbaa !5
  %122 = call ptr @_ZNSt6vectorISt4pairIPKN7DynexCN20AccountPublicAddressEmESaIS5_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %121) #8
  %123 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.439", ptr %37, i32 0, i32 0
  store ptr %122, ptr %123, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %38) #8
  %124 = load ptr, ptr %36, align 8, !tbaa !5
  %125 = call ptr @_ZNSt6vectorISt4pairIPKN7DynexCN20AccountPublicAddressEmESaIS5_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %124) #8
  %126 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.439", ptr %38, i32 0, i32 0
  store ptr %125, ptr %126, align 8
  br label %127

127:                                              ; preds = %153, %120
  %128 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPSt4pairIPKN7DynexCN20AccountPublicAddressEmESt6vectorIS6_SaIS6_EEEEbRKNS_17__normal_iteratorIT_T0_EESG_(ptr noundef nonnull align 8 dereferenceable(8) %37, ptr noundef nonnull align 8 dereferenceable(8) %38) #8
  br i1 %128, label %138, label %129

129:                                              ; preds = %127
  store i32 6, ptr %20, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %38) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #8
  br label %159

130:                                              ; preds = %106, %105, %99
  %131 = landingpad { ptr, i32 }
          cleanup
  %132 = extractvalue { ptr, i32 } %131, 0
  store ptr %132, ptr %28, align 8
  %133 = extractvalue { ptr, i32 } %131, 1
  store i32 %133, ptr %29, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #8
  br label %379

134:                                              ; preds = %159, %111
  %135 = landingpad { ptr, i32 }
          cleanup
  %136 = extractvalue { ptr, i32 } %135, 0
  store ptr %136, ptr %28, align 8
  %137 = extractvalue { ptr, i32 } %135, 1
  store i32 %137, ptr %29, align 4
  br label %379

138:                                              ; preds = %127
  call void @llvm.lifetime.start.p0(i64 8, ptr %39) #8
  %139 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPSt4pairIPKN7DynexCN20AccountPublicAddressEmESt6vectorIS6_SaIS6_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %37) #8
  store ptr %139, ptr %39, align 8, !tbaa !5
  %140 = call noundef ptr @_ZNKSt10unique_ptrIN7DynexCN12ITransactionESt14default_deleteIS1_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %0) #8
  %141 = getelementptr inbounds i8, ptr %140, i64 8
  %142 = load ptr, ptr %39, align 8, !tbaa !5
  %143 = getelementptr inbounds %"struct.std::pair.437", ptr %142, i32 0, i32 1
  %144 = load i64, ptr %143, align 8, !tbaa !11
  %145 = load ptr, ptr %39, align 8, !tbaa !5
  %146 = getelementptr inbounds %"struct.std::pair.437", ptr %145, i32 0, i32 0
  %147 = load ptr, ptr %146, align 8, !tbaa !13
  %148 = load ptr, ptr %141, align 8, !tbaa !14
  %149 = getelementptr inbounds ptr, ptr %148, i64 9
  %150 = load ptr, ptr %149, align 8
  %151 = invoke noundef i64 %150(ptr noundef nonnull align 8 dereferenceable(8) %141, i64 noundef %144, ptr noundef nonnull align 1 dereferenceable(64) %147)
          to label %152 unwind label %155

152:                                              ; preds = %138
  call void @llvm.lifetime.end.p0(i64 8, ptr %39) #8
  br label %153

153:                                              ; preds = %152
  %154 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPSt4pairIPKN7DynexCN20AccountPublicAddressEmESt6vectorIS6_SaIS6_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %37) #8
  br label %127

155:                                              ; preds = %138
  %156 = landingpad { ptr, i32 }
          cleanup
  %157 = extractvalue { ptr, i32 } %156, 0
  store ptr %157, ptr %28, align 8
  %158 = extractvalue { ptr, i32 } %156, 1
  store i32 %158, ptr %29, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %39) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %38) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #8
  br label %379

159:                                              ; preds = %129
  %160 = call noundef ptr @_ZNKSt10unique_ptrIN7DynexCN12ITransactionESt14default_deleteIS1_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %0) #8
  %161 = getelementptr inbounds i8, ptr %160, i64 8
  %162 = load i64, ptr %13, align 8, !tbaa !9
  %163 = load ptr, ptr %161, align 8, !tbaa !14
  %164 = getelementptr inbounds ptr, ptr %163, i64 2
  %165 = load ptr, ptr %164, align 8
  invoke void %165(ptr noundef nonnull align 8 dereferenceable(8) %161, i64 noundef %162)
          to label %166 unwind label %134

166:                                              ; preds = %159
  call void @llvm.lifetime.start.p0(i64 8, ptr %40) #8
  %167 = load ptr, ptr %11, align 8, !tbaa !5
  store ptr %167, ptr %40, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %41) #8
  %168 = load ptr, ptr %40, align 8, !tbaa !5
  %169 = call ptr @_ZNSt6vectorIN7DynexCN11WalletGreen9InputInfoESaIS2_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %168) #8
  %170 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.442", ptr %41, i32 0, i32 0
  store ptr %169, ptr %170, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %42) #8
  %171 = load ptr, ptr %40, align 8, !tbaa !5
  %172 = call ptr @_ZNSt6vectorIN7DynexCN11WalletGreen9InputInfoESaIS2_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %171) #8
  %173 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.442", ptr %42, i32 0, i32 0
  store ptr %172, ptr %173, align 8
  br label %174

174:                                              ; preds = %194, %166
  %175 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPN7DynexCN11WalletGreen9InputInfoESt6vectorIS3_SaIS3_EEEEbRKNS_17__normal_iteratorIT_T0_EESD_(ptr noundef nonnull align 8 dereferenceable(8) %41, ptr noundef nonnull align 8 dereferenceable(8) %42) #8
  br i1 %175, label %177, label %176

176:                                              ; preds = %174
  store i32 8, ptr %20, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %42) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %41) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #8
  br label %200

177:                                              ; preds = %174
  call void @llvm.lifetime.start.p0(i64 8, ptr %43) #8
  %178 = call noundef nonnull align 8 dereferenceable(152) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPN7DynexCN11WalletGreen9InputInfoESt6vectorIS3_SaIS3_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %41) #8
  store ptr %178, ptr %43, align 8, !tbaa !5
  %179 = call noundef ptr @_ZNKSt10unique_ptrIN7DynexCN12ITransactionESt14default_deleteIS1_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %0) #8
  %180 = getelementptr inbounds i8, ptr %179, i64 8
  call void @llvm.lifetime.start.p0(i64 128, ptr %44) #8
  %181 = load ptr, ptr %43, align 8, !tbaa !5
  %182 = getelementptr inbounds %"struct.DynexCN::WalletGreen::InputInfo", ptr %181, i32 0, i32 1
  %183 = load ptr, ptr %182, align 8, !tbaa !16
  invoke void @_ZNK7DynexCN11WalletGreen15makeAccountKeysERKNS_12WalletRecordE(ptr dead_on_unwind writable sret(%"struct.DynexCN::AccountKeys") align 1 %44, ptr noundef nonnull align 8 dereferenceable(1872) %58, ptr noundef nonnull align 8 dereferenceable(96) %183)
          to label %184 unwind label %196

184:                                              ; preds = %177
  %185 = load ptr, ptr %43, align 8, !tbaa !5
  %186 = getelementptr inbounds %"struct.DynexCN::WalletGreen::InputInfo", ptr %185, i32 0, i32 0
  %187 = load ptr, ptr %43, align 8, !tbaa !5
  %188 = getelementptr inbounds %"struct.DynexCN::WalletGreen::InputInfo", ptr %187, i32 0, i32 2
  %189 = load ptr, ptr %180, align 8, !tbaa !14
  %190 = getelementptr inbounds ptr, ptr %189, i64 8
  %191 = load ptr, ptr %190, align 8
  %192 = invoke noundef i64 %191(ptr noundef nonnull align 8 dereferenceable(8) %180, ptr noundef nonnull align 1 dereferenceable(128) %44, ptr noundef nonnull align 8 dereferenceable(80) %186, ptr noundef nonnull align 1 dereferenceable(64) %188)
          to label %193 unwind label %196

193:                                              ; preds = %184
  call void @llvm.lifetime.end.p0(i64 128, ptr %44) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %43) #8
  br label %194

194:                                              ; preds = %193
  %195 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPN7DynexCN11WalletGreen9InputInfoESt6vectorIS3_SaIS3_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %41) #8
  br label %174

196:                                              ; preds = %184, %177
  %197 = landingpad { ptr, i32 }
          cleanup
  %198 = extractvalue { ptr, i32 } %197, 0
  store ptr %198, ptr %28, align 8
  %199 = extractvalue { ptr, i32 } %197, 1
  store i32 %199, ptr %29, align 4
  call void @llvm.lifetime.end.p0(i64 128, ptr %44) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %43) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %42) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %41) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #8
  br label %379

200:                                              ; preds = %176
  %201 = call noundef ptr @_ZNKSt10unique_ptrIN7DynexCN12ITransactionESt14default_deleteIS1_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %0) #8
  %202 = getelementptr inbounds i8, ptr %201, i64 8
  call void @llvm.lifetime.start.p0(i64 24, ptr %45) #8
  %203 = load ptr, ptr %12, align 8, !tbaa !5
  invoke void @_ZN6Common13asBinaryArrayERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind writable sret(%"class.std::vector.135") align 8 %45, ptr noundef nonnull align 8 dereferenceable(32) %203)
          to label %204 unwind label %219

204:                                              ; preds = %200
  %205 = load ptr, ptr %202, align 8, !tbaa !14
  %206 = getelementptr inbounds ptr, ptr %205, i64 5
  %207 = load ptr, ptr %206, align 8
  invoke void %207(ptr noundef nonnull align 8 dereferenceable(8) %202, ptr noundef nonnull align 8 dereferenceable(24) %45)
          to label %208 unwind label %223

208:                                              ; preds = %204
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %45) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %45) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %46) #8
  store i64 0, ptr %46, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %47) #8
  %209 = load ptr, ptr %11, align 8, !tbaa !5
  store ptr %209, ptr %47, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %48) #8
  %210 = load ptr, ptr %47, align 8, !tbaa !5
  %211 = call ptr @_ZNSt6vectorIN7DynexCN11WalletGreen9InputInfoESaIS2_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %210) #8
  %212 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.442", ptr %48, i32 0, i32 0
  store ptr %211, ptr %212, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %49) #8
  %213 = load ptr, ptr %47, align 8, !tbaa !5
  %214 = call ptr @_ZNSt6vectorIN7DynexCN11WalletGreen9InputInfoESaIS2_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %213) #8
  %215 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.442", ptr %49, i32 0, i32 0
  store ptr %214, ptr %215, align 8
  br label %216

216:                                              ; preds = %242, %208
  %217 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPN7DynexCN11WalletGreen9InputInfoESt6vectorIS3_SaIS3_EEEEbRKNS_17__normal_iteratorIT_T0_EESD_(ptr noundef nonnull align 8 dereferenceable(8) %48, ptr noundef nonnull align 8 dereferenceable(8) %49) #8
  br i1 %217, label %228, label %218

218:                                              ; preds = %216
  store i32 10, ptr %20, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %49) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %48) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %47) #8
  br label %248

219:                                              ; preds = %200
  %220 = landingpad { ptr, i32 }
          cleanup
  %221 = extractvalue { ptr, i32 } %220, 0
  store ptr %221, ptr %28, align 8
  %222 = extractvalue { ptr, i32 } %220, 1
  store i32 %222, ptr %29, align 4
  br label %227

223:                                              ; preds = %204
  %224 = landingpad { ptr, i32 }
          cleanup
  %225 = extractvalue { ptr, i32 } %224, 0
  store ptr %225, ptr %28, align 8
  %226 = extractvalue { ptr, i32 } %224, 1
  store i32 %226, ptr %29, align 4
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %45) #8
  br label %227

227:                                              ; preds = %223, %219
  call void @llvm.lifetime.end.p0(i64 24, ptr %45) #8
  br label %379

228:                                              ; preds = %216
  call void @llvm.lifetime.start.p0(i64 8, ptr %50) #8
  %229 = call noundef nonnull align 8 dereferenceable(152) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPN7DynexCN11WalletGreen9InputInfoESt6vectorIS3_SaIS3_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %48) #8
  store ptr %229, ptr %50, align 8, !tbaa !5
  %230 = call noundef ptr @_ZNKSt10unique_ptrIN7DynexCN12ITransactionESt14default_deleteIS1_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %0) #8
  %231 = getelementptr inbounds i8, ptr %230, i64 8
  %232 = load i64, ptr %46, align 8, !tbaa !9
  %233 = add i64 %232, 1
  store i64 %233, ptr %46, align 8, !tbaa !9
  %234 = load ptr, ptr %50, align 8, !tbaa !5
  %235 = getelementptr inbounds %"struct.DynexCN::WalletGreen::InputInfo", ptr %234, i32 0, i32 0
  %236 = load ptr, ptr %50, align 8, !tbaa !5
  %237 = getelementptr inbounds %"struct.DynexCN::WalletGreen::InputInfo", ptr %236, i32 0, i32 2
  %238 = load ptr, ptr %231, align 8, !tbaa !14
  %239 = getelementptr inbounds ptr, ptr %238, i64 14
  %240 = load ptr, ptr %239, align 8
  invoke void %240(ptr noundef nonnull align 8 dereferenceable(8) %231, i64 noundef %232, ptr noundef nonnull align 8 dereferenceable(80) %235, ptr noundef nonnull align 1 dereferenceable(64) %237)
          to label %241 unwind label %244

241:                                              ; preds = %228
  call void @llvm.lifetime.end.p0(i64 8, ptr %50) #8
  br label %242

242:                                              ; preds = %241
  %243 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPN7DynexCN11WalletGreen9InputInfoESt6vectorIS3_SaIS3_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %48) #8
  br label %216

244:                                              ; preds = %228
  %245 = landingpad { ptr, i32 }
          cleanup
  %246 = extractvalue { ptr, i32 } %245, 0
  store ptr %246, ptr %28, align 8
  %247 = extractvalue { ptr, i32 } %245, 1
  store i32 %247, ptr %29, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %50) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %49) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %48) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %47) #8
  br label %378

248:                                              ; preds = %218
  call void @llvm.lifetime.start.p0(i64 32, ptr %51) #8
  %249 = call noundef ptr @_ZNKSt10unique_ptrIN7DynexCN12ITransactionESt14default_deleteIS1_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %0) #8
  %250 = load ptr, ptr %249, align 8, !tbaa !14
  %251 = getelementptr inbounds ptr, ptr %250, i64 5
  %252 = load ptr, ptr %251, align 8
  %253 = invoke noundef zeroext i1 %252(ptr noundef nonnull align 8 dereferenceable(8) %249, ptr noundef nonnull align 1 dereferenceable(32) %51)
          to label %254 unwind label %319

254:                                              ; preds = %248
  %255 = load ptr, ptr %14, align 8, !tbaa !5
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %255, ptr align 1 %51, i64 32, i1 false), !tbaa.struct !27
  call void @llvm.lifetime.start.p0(i64 432, ptr %52) #8
  %256 = getelementptr inbounds %"class.DynexCN::WalletGreen", ptr %58, i32 0, i32 8
  invoke void @_ZNK7Logging9LoggerRefclENS_5LevelERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind writable sret(%"class.Logging::LoggerMessage") align 8 %52, ptr noundef nonnull align 8 dereferenceable(40) %256, i32 noundef 4, ptr noundef nonnull align 8 dereferenceable(32) @_ZN7Logging7DEFAULTB5cxx11E)
          to label %257 unwind label %323

257:                                              ; preds = %254
  %258 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA27_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %52, ptr noundef nonnull align 1 dereferenceable(27) @.str.178)
          to label %259 unwind label %327

259:                                              ; preds = %257
  call void @llvm.lifetime.start.p0(i64 32, ptr %53) #8
  %260 = call noundef ptr @_ZNKSt10unique_ptrIN7DynexCN12ITransactionESt14default_deleteIS1_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %0) #8
  %261 = load ptr, ptr %260, align 8, !tbaa !14
  %262 = getelementptr inbounds ptr, ptr %261, i64 2
  %263 = load ptr, ptr %262, align 8
  invoke void %263(ptr dead_on_unwind writable sret(%"struct.Crypto::Hash") align 1 %53, ptr noundef nonnull align 8 dereferenceable(8) %260)
          to label %264 unwind label %331

264:                                              ; preds = %259
  %265 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEN6Crypto4HashEEOT_S5_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %258, ptr noundef nonnull align 1 dereferenceable(32) %53)
          to label %266 unwind label %331

266:                                              ; preds = %264
  %267 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA10_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %265, ptr noundef nonnull align 1 dereferenceable(10) @.str.179)
          to label %268 unwind label %331

268:                                              ; preds = %266
  call void @llvm.lifetime.start.p0(i64 32, ptr %54) #8
  %269 = getelementptr inbounds %"class.DynexCN::WalletGreen", ptr %58, i32 0, i32 6
  %270 = load ptr, ptr %269, align 8, !tbaa !29
  %271 = call noundef ptr @_ZNKSt10unique_ptrIN7DynexCN12ITransactionESt14default_deleteIS1_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %0) #8
  %272 = load ptr, ptr %271, align 8, !tbaa !14
  %273 = getelementptr inbounds ptr, ptr %272, i64 11
  %274 = load ptr, ptr %273, align 8
  %275 = invoke noundef i64 %274(ptr noundef nonnull align 8 dereferenceable(8) %271)
          to label %276 unwind label %335

276:                                              ; preds = %268
  invoke void @_ZNK7DynexCN8Currency12formatAmountB5cxx11Em(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %54, ptr noundef nonnull align 8 dereferenceable(984) %270, i64 noundef %275)
          to label %277 unwind label %335

277:                                              ; preds = %276
  %278 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEOT_S9_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %267, ptr noundef nonnull align 8 dereferenceable(32) %54)
          to label %279 unwind label %339

279:                                              ; preds = %277
  %280 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA11_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %278, ptr noundef nonnull align 1 dereferenceable(11) @.str.180)
          to label %281 unwind label %339

281:                                              ; preds = %279
  call void @llvm.lifetime.start.p0(i64 32, ptr %55) #8
  %282 = getelementptr inbounds %"class.DynexCN::WalletGreen", ptr %58, i32 0, i32 6
  %283 = load ptr, ptr %282, align 8, !tbaa !29
  %284 = call noundef ptr @_ZNKSt10unique_ptrIN7DynexCN12ITransactionESt14default_deleteIS1_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %0) #8
  %285 = load ptr, ptr %284, align 8, !tbaa !14
  %286 = getelementptr inbounds ptr, ptr %285, i64 16
  %287 = load ptr, ptr %286, align 8
  %288 = invoke noundef i64 %287(ptr noundef nonnull align 8 dereferenceable(8) %284)
          to label %289 unwind label %343

289:                                              ; preds = %281
  invoke void @_ZNK7DynexCN8Currency12formatAmountB5cxx11Em(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %55, ptr noundef nonnull align 8 dereferenceable(984) %283, i64 noundef %288)
          to label %290 unwind label %343

290:                                              ; preds = %289
  %291 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEOT_S9_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %280, ptr noundef nonnull align 8 dereferenceable(32) %55)
          to label %292 unwind label %347

292:                                              ; preds = %290
  %293 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA7_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %291, ptr noundef nonnull align 1 dereferenceable(7) @.str.111)
          to label %294 unwind label %347

294:                                              ; preds = %292
  call void @llvm.lifetime.start.p0(i64 32, ptr %56) #8
  %295 = getelementptr inbounds %"class.DynexCN::WalletGreen", ptr %58, i32 0, i32 6
  %296 = load ptr, ptr %295, align 8, !tbaa !29
  %297 = call noundef ptr @_ZNKSt10unique_ptrIN7DynexCN12ITransactionESt14default_deleteIS1_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %0) #8
  %298 = load ptr, ptr %297, align 8, !tbaa !14
  %299 = getelementptr inbounds ptr, ptr %298, i64 11
  %300 = load ptr, ptr %299, align 8
  %301 = invoke noundef i64 %300(ptr noundef nonnull align 8 dereferenceable(8) %297)
          to label %302 unwind label %351

302:                                              ; preds = %294
  %303 = call noundef ptr @_ZNKSt10unique_ptrIN7DynexCN12ITransactionESt14default_deleteIS1_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %0) #8
  %304 = load ptr, ptr %303, align 8, !tbaa !14
  %305 = getelementptr inbounds ptr, ptr %304, i64 16
  %306 = load ptr, ptr %305, align 8
  %307 = invoke noundef i64 %306(ptr noundef nonnull align 8 dereferenceable(8) %303)
          to label %308 unwind label %351

308:                                              ; preds = %302
  %309 = sub i64 %301, %307
  invoke void @_ZNK7DynexCN8Currency12formatAmountB5cxx11Em(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %56, ptr noundef nonnull align 8 dereferenceable(984) %296, i64 noundef %309)
          to label %310 unwind label %351

310:                                              ; preds = %308
  %311 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEOT_S9_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %293, ptr noundef nonnull align 8 dereferenceable(32) %56)
          to label %312 unwind label %355

312:                                              ; preds = %310
  %313 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA7_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %311, ptr noundef nonnull align 1 dereferenceable(7) @.str.181)
          to label %314 unwind label %355

314:                                              ; preds = %312
  call void @llvm.lifetime.start.p0(i64 32, ptr %57) #8
  invoke void @_ZN6Common8podToHexIN6Crypto9SecretKeyEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %57, ptr noundef nonnull align 1 dereferenceable(32) %51)
          to label %315 unwind label %359

315:                                              ; preds = %314
  %316 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEOT_S9_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %313, ptr noundef nonnull align 8 dereferenceable(32) %57)
          to label %317 unwind label %363

317:                                              ; preds = %315
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %57) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %56) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %55) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %54) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %53) #8
  call void @_ZN7Logging13LoggerMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(161) %52) #8
  call void @llvm.lifetime.end.p0(i64 432, ptr %52) #8
  store i1 true, ptr %15, align 1
  store i32 1, ptr %20, align 4
  call void @llvm.lifetime.end.p0(i64 32, ptr %51) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #8
  call void @_ZNSt6vectorISt4pairIPKN7DynexCN20AccountPublicAddressEmESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %16) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %16) #8
  %318 = load i1, ptr %15, align 1
  br i1 %318, label %381, label %380

319:                                              ; preds = %248
  %320 = landingpad { ptr, i32 }
          cleanup
  %321 = extractvalue { ptr, i32 } %320, 0
  store ptr %321, ptr %28, align 8
  %322 = extractvalue { ptr, i32 } %320, 1
  store i32 %322, ptr %29, align 4
  br label %377

323:                                              ; preds = %254
  %324 = landingpad { ptr, i32 }
          cleanup
  %325 = extractvalue { ptr, i32 } %324, 0
  store ptr %325, ptr %28, align 8
  %326 = extractvalue { ptr, i32 } %324, 1
  store i32 %326, ptr %29, align 4
  br label %376

327:                                              ; preds = %257
  %328 = landingpad { ptr, i32 }
          cleanup
  %329 = extractvalue { ptr, i32 } %328, 0
  store ptr %329, ptr %28, align 8
  %330 = extractvalue { ptr, i32 } %328, 1
  store i32 %330, ptr %29, align 4
  br label %375

331:                                              ; preds = %266, %264, %259
  %332 = landingpad { ptr, i32 }
          cleanup
  %333 = extractvalue { ptr, i32 } %332, 0
  store ptr %333, ptr %28, align 8
  %334 = extractvalue { ptr, i32 } %332, 1
  store i32 %334, ptr %29, align 4
  br label %374

335:                                              ; preds = %276, %268
  %336 = landingpad { ptr, i32 }
          cleanup
  %337 = extractvalue { ptr, i32 } %336, 0
  store ptr %337, ptr %28, align 8
  %338 = extractvalue { ptr, i32 } %336, 1
  store i32 %338, ptr %29, align 4
  br label %373

339:                                              ; preds = %279, %277
  %340 = landingpad { ptr, i32 }
          cleanup
  %341 = extractvalue { ptr, i32 } %340, 0
  store ptr %341, ptr %28, align 8
  %342 = extractvalue { ptr, i32 } %340, 1
  store i32 %342, ptr %29, align 4
  br label %372

343:                                              ; preds = %289, %281
  %344 = landingpad { ptr, i32 }
          cleanup
  %345 = extractvalue { ptr, i32 } %344, 0
  store ptr %345, ptr %28, align 8
  %346 = extractvalue { ptr, i32 } %344, 1
  store i32 %346, ptr %29, align 4
  br label %371

347:                                              ; preds = %292, %290
  %348 = landingpad { ptr, i32 }
          cleanup
  %349 = extractvalue { ptr, i32 } %348, 0
  store ptr %349, ptr %28, align 8
  %350 = extractvalue { ptr, i32 } %348, 1
  store i32 %350, ptr %29, align 4
  br label %370

351:                                              ; preds = %308, %302, %294
  %352 = landingpad { ptr, i32 }
          cleanup
  %353 = extractvalue { ptr, i32 } %352, 0
  store ptr %353, ptr %28, align 8
  %354 = extractvalue { ptr, i32 } %352, 1
  store i32 %354, ptr %29, align 4
  br label %369

355:                                              ; preds = %312, %310
  %356 = landingpad { ptr, i32 }
          cleanup
  %357 = extractvalue { ptr, i32 } %356, 0
  store ptr %357, ptr %28, align 8
  %358 = extractvalue { ptr, i32 } %356, 1
  store i32 %358, ptr %29, align 4
  br label %368

359:                                              ; preds = %314
  %360 = landingpad { ptr, i32 }
          cleanup
  %361 = extractvalue { ptr, i32 } %360, 0
  store ptr %361, ptr %28, align 8
  %362 = extractvalue { ptr, i32 } %360, 1
  store i32 %362, ptr %29, align 4
  br label %367

363:                                              ; preds = %315
  %364 = landingpad { ptr, i32 }
          cleanup
  %365 = extractvalue { ptr, i32 } %364, 0
  store ptr %365, ptr %28, align 8
  %366 = extractvalue { ptr, i32 } %364, 1
  store i32 %366, ptr %29, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #8
  br label %367

367:                                              ; preds = %363, %359
  call void @llvm.lifetime.end.p0(i64 32, ptr %57) #8
  br label %368

368:                                              ; preds = %367, %355
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #8
  br label %369

369:                                              ; preds = %368, %351
  call void @llvm.lifetime.end.p0(i64 32, ptr %56) #8
  br label %370

370:                                              ; preds = %369, %347
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #8
  br label %371

371:                                              ; preds = %370, %343
  call void @llvm.lifetime.end.p0(i64 32, ptr %55) #8
  br label %372

372:                                              ; preds = %371, %339
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #8
  br label %373

373:                                              ; preds = %372, %335
  call void @llvm.lifetime.end.p0(i64 32, ptr %54) #8
  br label %374

374:                                              ; preds = %373, %331
  call void @llvm.lifetime.end.p0(i64 32, ptr %53) #8
  br label %375

375:                                              ; preds = %374, %327
  call void @_ZN7Logging13LoggerMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(161) %52) #8
  br label %376

376:                                              ; preds = %375, %323
  call void @llvm.lifetime.end.p0(i64 432, ptr %52) #8
  br label %377

377:                                              ; preds = %376, %319
  call void @llvm.lifetime.end.p0(i64 32, ptr %51) #8
  br label %378

378:                                              ; preds = %377, %244
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #8
  br label %379

379:                                              ; preds = %378, %227, %196, %155, %134, %130, %92
  call void @_ZNSt6vectorISt4pairIPKN7DynexCN20AccountPublicAddressEmESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %16) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %16) #8
  call void @_ZNSt10unique_ptrIN7DynexCN12ITransactionESt14default_deleteIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %0) #8
  br label %382

380:                                              ; preds = %317
  call void @_ZNSt10unique_ptrIN7DynexCN12ITransactionESt14default_deleteIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %0) #8
  br label %381

381:                                              ; preds = %380, %317
  ret void

382:                                              ; preds = %379
  %383 = load ptr, ptr %28, align 8
  %384 = load i32, ptr %29, align 4
  %385 = insertvalue { ptr, i32 } poison, ptr %383, 0
  %386 = insertvalue { ptr, i32 } %385, i32 %384, 1
  resume { ptr, i32 } %386
}

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA10_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161), ptr noundef nonnull align 1 dereferenceable(10)) #5

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

declare void @_ZN7DynexCN17createTransactionEv(ptr dead_on_unwind writable sret(%"class.std::unique_ptr.327") align 8) #3

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

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIPKN7DynexCN20AccountPublicAddressEmESaIS5_EE12emplace_backIJS5_EEERS5_DpOT_(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(16)) #6 align 2

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZSt7shuffleIN9__gnu_cxx17__normal_iteratorIPSt4pairIPKN7DynexCN20AccountPublicAddressEmESt6vectorIS7_SaIS7_EEEESt26linear_congruential_engineImLm16807ELm0ELm2147483647EEEvT_SF_OT0_(ptr, ptr, ptr noundef nonnull align 8 dereferenceable(8)) #6

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

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef i64 @_ZN6Crypto4randImEENSt9enable_ifIXsr3std6is_podIT_EE5valueES2_E4typeEv() #6

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden void @"_ZSt4sortIN9__gnu_cxx17__normal_iteratorIPSt4pairIPKN7DynexCN20AccountPublicAddressEmESt6vectorIS7_SaIS7_EEEEZNS3_11WalletGreen15makeTransactionERKS9_INSD_15ReceiverAmountsESaISE_EERS9_INSD_9InputInfoESaISJ_EERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmRN6Crypto9SecretKeyEE3$_0EvT_SZ_T0_"(ptr, ptr) #5

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNK7DynexCN11WalletGreen15makeAccountKeysERKNS_12WalletRecordE(ptr dead_on_unwind noalias writable sret(%"struct.DynexCN::AccountKeys") align 1, ptr noundef nonnull align 8 dereferenceable(1872), ptr noundef nonnull align 8 dereferenceable(96)) #1 align 2

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

declare void @_ZN6Common13asBinaryArrayERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind writable sret(%"class.std::vector.135") align 8, ptr noundef nonnull align 8 dereferenceable(32)) #3

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN6Common8podToHexIN6Crypto9SecretKeyEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 1 dereferenceable(32)) #6

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

attributes #0 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { 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 #2 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #3 = { "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 = { 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 #5 = { 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 #6 = { 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 #7 = { 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 #8 = { nounwind }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"long", !7, i64 0}
!11 = !{!12, !10, i64 8}
!12 = !{!"_ZTSSt4pairIPKN7DynexCN20AccountPublicAddressEmE", !6, i64 0, !10, i64 8}
!13 = !{!12, !6, i64 0}
!14 = !{!15, !15, i64 0}
!15 = !{!"vtable pointer", !8, i64 0}
!16 = !{!17, !6, i64 80}
!17 = !{!"_ZTSN7DynexCN11WalletGreen9InputInfoE", !18, i64 0, !6, i64 80, !25, i64 88}
!18 = !{!"_ZTSN7DynexCN16TransactionTypes12InputKeyInfoE", !10, i64 0, !19, i64 8, !23, i64 32}
!19 = !{!"_ZTSSt6vectorIN7DynexCN16TransactionTypes12GlobalOutputESaIS2_EE", !20, i64 0}
!20 = !{!"_ZTSSt12_Vector_baseIN7DynexCN16TransactionTypes12GlobalOutputESaIS2_EE", !21, i64 0}
!21 = !{!"_ZTSNSt12_Vector_baseIN7DynexCN16TransactionTypes12GlobalOutputESaIS2_EE12_Vector_implE", !22, i64 0}
!22 = !{!"_ZTSNSt12_Vector_baseIN7DynexCN16TransactionTypes12GlobalOutputESaIS2_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!23 = !{!"_ZTSN7DynexCN16TransactionTypes13OutputKeyInfoE", !24, i64 0, !10, i64 32, !10, i64 40}
!24 = !{!"_ZTSN6Crypto9PublicKeyE", !7, i64 0}
!25 = !{!"_ZTSN7DynexCN7KeyPairE", !24, i64 0, !26, i64 32}
!26 = !{!"_ZTSN6Crypto9SecretKeyE", !7, i64 0}
!27 = !{i64 0, i64 32, !28}
!28 = !{!7, !7, i64 0}
!29 = !{!30, !6, i64 48}
!30 = !{!"_ZTSN7DynexCN11WalletGreenE", !31, i64 0, !32, i64 8, !33, i64 16, !34, i64 24, !35, i64 32, !6, i64 40, !6, i64 48, !6, i64 56, !36, i64 64, !39, i64 104, !40, i64 112, !60, i64 288, !63, i64 400, !77, i64 488, !91, i64 608, !95, i64 632, !99, i64 688, !39, i64 736, !107, i64 744, !143, i64 1184, !150, i64 1376, !151, i64 1408, !150, i64 1488, !157, i64 1520, !37, i64 1528, !158, i64 1560, !37, i64 1592, !37, i64 1624, !24, i64 1656, !26, i64 1688, !10, i64 1720, !10, i64 1728, !10, i64 1736, !62, i64 1744, !159, i64 1752}
!31 = !{!"_ZTSN7DynexCN7IWalletE"}
!32 = !{!"_ZTSN7DynexCN18ITransfersObserverE"}
!33 = !{!"_ZTSN7DynexCN31IBlockchainSynchronizerObserverE"}
!34 = !{!"_ZTSN7DynexCN30ITransfersSynchronizerObserverE"}
!35 = !{!"_ZTSN7DynexCN14IFusionManagerE"}
!36 = !{!"_ZTSN7Logging9LoggerRefE", !6, i64 0, !37, i64 8}
!37 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !38, i64 0, !10, i64 8, !7, i64 16}
!38 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !6, i64 0}
!39 = !{!"bool", !7, i64 0}
!40 = !{!"_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", !41, i64 0, !43, i64 8, !44, i64 16, !10, i64 168}
!41 = !{!"_ZTSN5boost16base_from_memberISaINS_11multi_index6detail24random_access_index_nodeINS2_17hashed_index_nodeINS4_INS2_15index_node_baseIN7DynexCN12WalletRecordESaIS7_EEEEEEEEEELi0EEE", !42, i64 0}
!42 = !{!"_ZTSSaIN5boost11multi_index6detail24random_access_index_nodeINS1_17hashed_index_nodeINS3_INS1_15index_node_baseIN7DynexCN12WalletRecordESaIS6_EEEEEEEEEE"}
!43 = !{!"_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}
!44 = !{!"_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", !45, i64 0, !57, i64 112}
!45 = !{!"_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", !46, i64 0, !54, i64 56, !55, i64 57, !56, i64 58, !50, i64 64, !53, i64 96, !10, i64 104}
!46 = !{!"_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", !47, i64 0, !48, i64 1, !49, i64 2, !50, i64 8, !53, i64 40, !10, i64 48}
!47 = !{!"_ZTSN5boost11multi_index6memberIN7DynexCN12WalletRecordEPNS2_19ITransfersContainerEXadL_ZNS3_9containerEEEEE"}
!48 = !{!"_ZTSN5boost4hashIPN7DynexCN19ITransfersContainerEEE"}
!49 = !{!"_ZTSSt8equal_toIPN7DynexCN19ITransfersContainerEE"}
!50 = !{!"_ZTSN5boost11multi_index6detail12bucket_arrayISaIN7DynexCN12WalletRecordEEEE", !10, i64 0, !51, i64 8}
!51 = !{!"_ZTSN5boost11multi_index6detail10auto_spaceINS1_27hashed_index_base_node_implISaIcEEESaIN7DynexCN12WalletRecordEEEE", !52, i64 0, !10, i64 8, !6, i64 16}
!52 = !{!"_ZTSSaIN5boost11multi_index6detail27hashed_index_base_node_implISaIcEEEE"}
!53 = !{!"float", !7, i64 0}
!54 = !{!"_ZTSN5boost11multi_index6memberIN7DynexCN12WalletRecordEN6Crypto9PublicKeyEXadL_ZNS3_14spendPublicKeyEEEEE"}
!55 = !{!"_ZTSN5boost4hashIN6Crypto9PublicKeyEEE"}
!56 = !{!"_ZTSSt8equal_toIN6Crypto9PublicKeyEE"}
!57 = !{!"_ZTSN5boost11multi_index6detail29random_access_index_ptr_arrayISaIN7DynexCN12WalletRecordEEEE", !10, i64 0, !10, i64 8, !58, i64 16}
!58 = !{!"_ZTSN5boost11multi_index6detail10auto_spaceIPNS1_29random_access_index_node_implISaIcEEESaIN7DynexCN12WalletRecordEEEE", !59, i64 0, !10, i64 8, !6, i64 16}
!59 = !{!"_ZTSSaIPN5boost11multi_index6detail29random_access_index_node_implISaIcEEEE"}
!60 = !{!"_ZTSN6Common16FileMappedVectorIN7DynexCN21EncryptedWalletRecordEEE", !37, i64 0, !61, i64 32, !10, i64 88, !10, i64 96, !39, i64 104}
!61 = !{!"_ZTSN6System16MemoryMappedFileE", !62, i64 0, !37, i64 8, !10, i64 40, !6, i64 48}
!62 = !{!"int", !7, i64 0}
!63 = !{!"_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", !64, i64 0, !66, i64 8, !67, i64 16, !10, i64 80}
!64 = !{!"_ZTSN5boost16base_from_memberISaINS_11multi_index6detail18ordered_index_nodeINS2_19null_augment_policyENS2_17hashed_index_nodeINS2_15index_node_baseIN7DynexCN20UnlockTransactionJobESaIS8_EEEEEEEELi0EEE", !65, i64 0}
!65 = !{!"_ZTSSaIN5boost11multi_index6detail18ordered_index_nodeINS1_19null_augment_policyENS1_17hashed_index_nodeINS1_15index_node_baseIN7DynexCN20UnlockTransactionJobESaIS7_EEEEEEEE"}
!66 = !{!"_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}
!67 = !{!"_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", !68, i64 0}
!68 = !{!"_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", !69, i64 0, !75, i64 56, !76, i64 57}
!69 = !{!"_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", !70, i64 0, !71, i64 1, !72, i64 2, !73, i64 8, !53, i64 40, !10, i64 48}
!70 = !{!"_ZTSN5boost11multi_index6memberIN7DynexCN20UnlockTransactionJobEN6Crypto4HashEXadL_ZNS3_15transactionHashEEEEE"}
!71 = !{!"_ZTSN5boost4hashIN6Crypto4HashEEE"}
!72 = !{!"_ZTSSt8equal_toIN6Crypto4HashEE"}
!73 = !{!"_ZTSN5boost11multi_index6detail12bucket_arrayISaIN7DynexCN20UnlockTransactionJobEEEE", !10, i64 0, !74, i64 8}
!74 = !{!"_ZTSN5boost11multi_index6detail10auto_spaceINS1_27hashed_index_base_node_implISaIcEEESaIN7DynexCN20UnlockTransactionJobEEEE", !52, i64 0, !10, i64 8, !6, i64 16}
!75 = !{!"_ZTSN5boost11multi_index6memberIN7DynexCN20UnlockTransactionJobEjXadL_ZNS3_11blockHeightEEEEE"}
!76 = !{!"_ZTSSt4lessIjE"}
!77 = !{!"_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", !78, i64 0, !80, i64 8, !81, i64 16, !10, i64 112}
!78 = !{!"_ZTSN5boost16base_from_memberISaINS_11multi_index6detail24random_access_index_nodeINS2_17hashed_index_nodeINS2_18ordered_index_nodeINS2_19null_augment_policyENS2_15index_node_baseIN7DynexCN17WalletTransactionESaIS9_EEEEEEEEEELi0EEE", !79, i64 0}
!79 = !{!"_ZTSSaIN5boost11multi_index6detail24random_access_index_nodeINS1_17hashed_index_nodeINS1_18ordered_index_nodeINS1_19null_augment_policyENS1_15index_node_baseIN7DynexCN17WalletTransactionESaIS8_EEEEEEEEEE"}
!80 = !{!"_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}
!81 = !{!"_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", !82, i64 0, !89, i64 56}
!82 = !{!"_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", !83, i64 0, !86, i64 2, !71, i64 3, !72, i64 4, !87, i64 8, !53, i64 40, !10, i64 48}
!83 = !{!"_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", !84, i64 0}
!84 = !{!"_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", !85, i64 0, !76, i64 1}
!85 = !{!"_ZTSN5boost11multi_index6memberIN7DynexCN17WalletTransactionEjXadL_ZNS3_11blockHeightEEEEE"}
!86 = !{!"_ZTSN5boost11multi_index6memberIN7DynexCN17WalletTransactionEN6Crypto4HashEXadL_ZNS3_4hashEEEEE"}
!87 = !{!"_ZTSN5boost11multi_index6detail12bucket_arrayISaIN7DynexCN17WalletTransactionEEEE", !10, i64 0, !88, i64 8}
!88 = !{!"_ZTSN5boost11multi_index6detail10auto_spaceINS1_27hashed_index_base_node_implISaIcEEESaIN7DynexCN17WalletTransactionEEEE", !52, i64 0, !10, i64 8, !6, i64 16}
!89 = !{!"_ZTSN5boost11multi_index6detail29random_access_index_ptr_arrayISaIN7DynexCN17WalletTransactionEEEE", !10, i64 0, !10, i64 8, !90, i64 16}
!90 = !{!"_ZTSN5boost11multi_index6detail10auto_spaceIPNS1_29random_access_index_node_implISaIcEEESaIN7DynexCN17WalletTransactionEEEE", !59, i64 0, !10, i64 8, !6, i64 16}
!91 = !{!"_ZTSSt6vectorISt4pairImN7DynexCN14WalletTransferEESaIS3_EE", !92, i64 0}
!92 = !{!"_ZTSSt12_Vector_baseISt4pairImN7DynexCN14WalletTransferEESaIS3_EE", !93, i64 0}
!93 = !{!"_ZTSNSt12_Vector_baseISt4pairImN7DynexCN14WalletTransferEESaIS3_EE12_Vector_implE", !94, i64 0}
!94 = !{!"_ZTSNSt12_Vector_baseISt4pairImN7DynexCN14WalletTransferEESaIS3_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!95 = !{!"_ZTSSt13unordered_mapImbSt4hashImESt8equal_toImESaISt4pairIKmbEEE", !96, i64 0}
!96 = !{!"_ZTSSt10_HashtableImSt4pairIKmbESaIS2_ENSt8__detail10_Select1stESt8equal_toImESt4hashImENS4_18_Mod_range_hashingENS4_20_Default_ranged_hashENS4_20_Prime_rehash_policyENS4_17_Hashtable_traitsILb0ELb0ELb1EEEE", !6, i64 0, !10, i64 8, !97, i64 16, !10, i64 24, !98, i64 32, !6, i64 48}
!97 = !{!"_ZTSNSt8__detail15_Hash_node_baseE", !6, i64 0}
!98 = !{!"_ZTSNSt8__detail20_Prime_rehash_policyE", !53, i64 0, !10, i64 8}
!99 = !{!"_ZTSSt3mapImN7DynexCN11TransactionESt4lessImESaISt4pairIKmS1_EEE", !100, i64 0}
!100 = !{!"_ZTSSt8_Rb_treeImSt4pairIKmN7DynexCN11TransactionEESt10_Select1stIS4_ESt4lessImESaIS4_EE", !101, i64 0}
!101 = !{!"_ZTSNSt8_Rb_treeImSt4pairIKmN7DynexCN11TransactionEESt10_Select1stIS4_ESt4lessImESaIS4_EE13_Rb_tree_implIS8_Lb1EEE", !102, i64 0, !104, i64 8}
!102 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessImEE", !103, i64 0}
!103 = !{!"_ZTSSt4lessImE"}
!104 = !{!"_ZTSSt15_Rb_tree_header", !105, i64 0, !10, i64 32}
!105 = !{!"_ZTSSt18_Rb_tree_node_base", !106, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!106 = !{!"_ZTSSt14_Rb_tree_color", !7, i64 0}
!107 = !{!"_ZTSN7DynexCN22BlockchainSynchronizerE", !108, i64 0, !119, i64 80, !36, i64 88, !120, i64 128, !6, i64 176, !125, i64 184, !125, i64 216, !126, i64 248, !126, i64 252, !127, i64 256, !133, i64 264, !138, i64 288, !117, i64 312, !117, i64 352, !141, i64 392}
!108 = !{!"_ZTSN7DynexCN15IObservableImplINS_31IBlockchainSynchronizerObserverENS_23IBlockchainSynchronizerEEE", !109, i64 0, !112, i64 16}
!109 = !{!"_ZTSN7DynexCN23IBlockchainSynchronizerE", !110, i64 0, !111, i64 8}
!110 = !{!"_ZTSN7DynexCN11IObservableINS_31IBlockchainSynchronizerObserverEEE"}
!111 = !{!"_ZTSN7DynexCN19IStreamSerializableE"}
!112 = !{!"_ZTSN5Tools15ObserverManagerIN7DynexCN31IBlockchainSynchronizerObserverEEE", !113, i64 0, !117, i64 24}
!113 = !{!"_ZTSSt6vectorIPN7DynexCN31IBlockchainSynchronizerObserverESaIS2_EE", !114, i64 0}
!114 = !{!"_ZTSSt12_Vector_baseIPN7DynexCN31IBlockchainSynchronizerObserverESaIS2_EE", !115, i64 0}
!115 = !{!"_ZTSNSt12_Vector_baseIPN7DynexCN31IBlockchainSynchronizerObserverESaIS2_EE12_Vector_implE", !116, i64 0}
!116 = !{!"_ZTSNSt12_Vector_baseIPN7DynexCN31IBlockchainSynchronizerObserverESaIS2_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!117 = !{!"_ZTSSt5mutex", !118, i64 0}
!118 = !{!"_ZTSSt12__mutex_base", !7, i64 0}
!119 = !{!"_ZTSN7DynexCN13INodeObserverE"}
!120 = !{!"_ZTSSt3mapIPN7DynexCN19IBlockchainConsumerESt10shared_ptrINS0_20SynchronizationStateEESt4lessIS2_ESaISt4pairIKS2_S5_EEE", !121, i64 0}
!121 = !{!"_ZTSSt8_Rb_treeIPN7DynexCN19IBlockchainConsumerESt4pairIKS2_St10shared_ptrINS0_20SynchronizationStateEEESt10_Select1stIS8_ESt4lessIS2_ESaIS8_EE", !122, i64 0}
!122 = !{!"_ZTSNSt8_Rb_treeIPN7DynexCN19IBlockchainConsumerESt4pairIKS2_St10shared_ptrINS0_20SynchronizationStateEEESt10_Select1stIS8_ESt4lessIS2_ESaIS8_EE13_Rb_tree_implISC_Lb1EEE", !123, i64 0, !104, i64 8}
!123 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessIPN7DynexCN19IBlockchainConsumerEEE", !124, i64 0}
!124 = !{!"_ZTSSt4lessIPN7DynexCN19IBlockchainConsumerEE"}
!125 = !{!"_ZTSN6Crypto4HashE", !7, i64 0}
!126 = !{!"_ZTSN7DynexCN22BlockchainSynchronizer5StateE", !7, i64 0}
!127 = !{!"_ZTSSt10unique_ptrISt6threadSt14default_deleteIS0_EE", !128, i64 0}
!128 = !{!"_ZTSSt15__uniq_ptr_dataISt6threadSt14default_deleteIS0_ELb1ELb1EE", !129, i64 0}
!129 = !{!"_ZTSSt15__uniq_ptr_implISt6threadSt14default_deleteIS0_EE", !130, i64 0}
!130 = !{!"_ZTSSt5tupleIJPSt6threadSt14default_deleteIS0_EEE", !131, i64 0}
!131 = !{!"_ZTSSt11_Tuple_implILm0EJPSt6threadSt14default_deleteIS0_EEE", !132, i64 0}
!132 = !{!"_ZTSSt10_Head_baseILm0EPSt6threadLb0EE", !6, i64 0}
!133 = !{!"_ZTSNSt7__cxx114listISt4pairIPKN7DynexCN18ITransactionReaderESt7promiseISt10error_codeEESaIS9_EEE", !134, i64 0}
!134 = !{!"_ZTSNSt7__cxx1110_List_baseISt4pairIPKN7DynexCN18ITransactionReaderESt7promiseISt10error_codeEESaIS9_EEE", !135, i64 0}
!135 = !{!"_ZTSNSt7__cxx1110_List_baseISt4pairIPKN7DynexCN18ITransactionReaderESt7promiseISt10error_codeEESaIS9_EE10_List_implE", !136, i64 0}
!136 = !{!"_ZTSNSt8__detail17_List_node_headerE", !137, i64 0, !10, i64 16}
!137 = !{!"_ZTSNSt8__detail15_List_node_baseE", !6, i64 0, !6, i64 8}
!138 = !{!"_ZTSNSt7__cxx114listISt4pairIPKN6Crypto4HashESt7promiseIvEESaIS8_EEE", !139, i64 0}
!139 = !{!"_ZTSNSt7__cxx1110_List_baseISt4pairIPKN6Crypto4HashESt7promiseIvEESaIS8_EEE", !140, i64 0}
!140 = !{!"_ZTSNSt7__cxx1110_List_baseISt4pairIPKN6Crypto4HashESt7promiseIvEESaIS8_EE10_List_implE", !136, i64 0}
!141 = !{!"_ZTSSt18condition_variable", !142, i64 0}
!142 = !{!"_ZTSSt9__condvar", !7, i64 0}
!143 = !{!"_ZTSN7DynexCN20TransfersSyncronizerE", !144, i64 0, !145, i64 8, !36, i64 16, !146, i64 56, !148, i64 112, !6, i64 168, !6, i64 176, !6, i64 184}
!144 = !{!"_ZTSN7DynexCN22ITransfersSynchronizerE", !111, i64 0}
!145 = !{!"_ZTSN7DynexCN27IBlockchainConsumerObserverE"}
!146 = !{!"_ZTSSt13unordered_mapIN6Crypto9PublicKeyESt10unique_ptrIN7DynexCN17TransfersConsumerESt14default_deleteIS4_EESt4hashIS1_ESt8equal_toIS1_ESaISt4pairIKS1_S7_EEE", !147, i64 0}
!147 = !{!"_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, !10, i64 8, !97, i64 16, !10, i64 24, !98, i64 32, !6, i64 48}
!148 = !{!"_ZTSSt13unordered_mapIN6Crypto9PublicKeyESt10unique_ptrIN5Tools15ObserverManagerIN7DynexCN30ITransfersSynchronizerObserverEEESt14default_deleteIS7_EESt4hashIS1_ESt8equal_toIS1_ESaISt4pairIKS1_SA_EEE", !149, i64 0}
!149 = !{!"_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, !10, i64 8, !97, i64 16, !10, i64 24, !98, i64 32, !6, i64 48}
!150 = !{!"_ZTSN6System5EventE", !6, i64 0, !39, i64 8, !6, i64 16, !6, i64 24}
!151 = !{!"_ZTSSt5queueIN7DynexCN11WalletEventESt5dequeIS1_SaIS1_EEE", !152, i64 0}
!152 = !{!"_ZTSSt5dequeIN7DynexCN11WalletEventESaIS1_EE", !153, i64 0}
!153 = !{!"_ZTSSt11_Deque_baseIN7DynexCN11WalletEventESaIS1_EE", !154, i64 0}
!154 = !{!"_ZTSNSt11_Deque_baseIN7DynexCN11WalletEventESaIS1_EE11_Deque_implE", !155, i64 0}
!155 = !{!"_ZTSNSt11_Deque_baseIN7DynexCN11WalletEventESaIS1_EE16_Deque_impl_dataE", !6, i64 0, !10, i64 8, !156, i64 16, !156, i64 48}
!156 = !{!"_ZTSSt15_Deque_iteratorIN7DynexCN11WalletEventERS1_PS1_E", !6, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!157 = !{!"_ZTSN7DynexCN11WalletGreen11WalletStateE", !7, i64 0}
!158 = !{!"_ZTSN6Crypto11chacha8_keyE", !7, i64 0}
!159 = !{!"_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", !160, i64 0, !162, i64 8, !163, i64 16, !10, i64 112}
!160 = !{!"_ZTSN5boost16base_from_memberISaINS_11multi_index6detail24random_access_index_nodeINS2_17hashed_index_nodeINS2_15index_node_baseIN6Crypto4HashESaIS7_EEEEEEEELi0EEE", !161, i64 0}
!161 = !{!"_ZTSSaIN5boost11multi_index6detail24random_access_index_nodeINS1_17hashed_index_nodeINS1_15index_node_baseIN6Crypto4HashESaIS6_EEEEEEEE"}
!162 = !{!"_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}
!163 = !{!"_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", !164, i64 0, !168, i64 56}
!164 = !{!"_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", !165, i64 0, !71, i64 1, !72, i64 2, !166, i64 8, !53, i64 40, !10, i64 48}
!165 = !{!"_ZTSN5boost11multi_index8identityIN6Crypto4HashEEE"}
!166 = !{!"_ZTSN5boost11multi_index6detail12bucket_arrayISaIN6Crypto4HashEEEE", !10, i64 0, !167, i64 8}
!167 = !{!"_ZTSN5boost11multi_index6detail10auto_spaceINS1_27hashed_index_base_node_implISaIcEEESaIN6Crypto4HashEEEE", !52, i64 0, !10, i64 8, !6, i64 16}
!168 = !{!"_ZTSN5boost11multi_index6detail29random_access_index_ptr_arrayISaIN6Crypto4HashEEEE", !10, i64 0, !10, i64 8, !169, i64 16}
!169 = !{!"_ZTSN5boost11multi_index6detail10auto_spaceIPNS1_29random_access_index_node_implISaIcEEESaIN6Crypto4HashEEEE", !59, i64 0, !10, i64 8, !6, i64 16}


; 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.std::unique_ptr.327" = type { %"struct.std::__uniq_ptr_data.328" }
%"struct.std::__uniq_ptr_data.328" = type { %"class.std::__uniq_ptr_impl.329" }
%"class.std::__uniq_ptr_impl.329" = type { %"class.std::tuple.330" }
%"class.std::tuple.330" = type { %"struct.std::_Tuple_impl.331" }
%"struct.std::_Tuple_impl.331" = type { %"struct.std::_Head_base.334" }
%"struct.std::_Head_base.334" = type { ptr }
%"class.std::vector.430" = type { %"struct.std::_Vector_base.431" }
%"struct.std::_Vector_base.431" = type { %"struct.std::_Vector_base<std::pair<const DynexCN::AccountPublicAddress *, unsigned long>, std::allocator<std::pair<const DynexCN::AccountPublicAddress *, unsigned long>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::pair<const DynexCN::AccountPublicAddress *, unsigned long>, std::allocator<std::pair<const DynexCN::AccountPublicAddress *, unsigned long>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::pair<const DynexCN::AccountPublicAddress *, unsigned long>, std::allocator<std::pair<const DynexCN::AccountPublicAddress *, unsigned long>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::pair<const DynexCN::AccountPublicAddress *, unsigned long>, std::allocator<std::pair<const DynexCN::AccountPublicAddress *, unsigned long>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.__gnu_cxx::__normal_iterator.435" = type { ptr }
%"class.__gnu_cxx::__normal_iterator.436" = type { ptr }
%"struct.std::pair.437" = type { ptr, i64 }
%"class.std::linear_congruential_engine" = type { i64 }
%"class.__gnu_cxx::__normal_iterator.439" = type { ptr }
%"class.__gnu_cxx::__normal_iterator.442" = type { ptr }
%"struct.DynexCN::AccountKeys" = type { %"struct.DynexCN::AccountPublicAddress", %"struct.Crypto::SecretKey", %"struct.Crypto::SecretKey" }
%"struct.DynexCN::AccountPublicAddress" = type { %"struct.Crypto::PublicKey", %"struct.Crypto::PublicKey" }
%"struct.Crypto::PublicKey" = type { [32 x i8] }
%"struct.Crypto::SecretKey" = type { [32 x i8] }
%"class.std::vector.135" = type { %"struct.std::_Vector_base.136" }
%"struct.std::_Vector_base.136" = type { %"struct.std::_Vector_base<unsigned char, std::allocator<unsigned char>>::_Vector_impl" }
%"struct.std::_Vector_base<unsigned char, std::allocator<unsigned char>>::_Vector_impl" = type { %"struct.std::_Vector_base<unsigned char, std::allocator<unsigned char>>::_Vector_impl_data" }
%"struct.std::_Vector_base<unsigned char, std::allocator<unsigned char>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"struct.Crypto::Hash" = type { [32 x i8] }

@_ZN7Logging7DEFAULTB5cxx11E = external global %"class.std::__cxx11::basic_string", align 8
@.str.111 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.178 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.179 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.180 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.181 = external hidden unnamed_addr constant [7 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: mustprogress nounwind uwtable
declare void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #1 align 2

; Function Attrs: mustprogress nocallback nofree nounwind willreturn memory(argmem: readwrite)
declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #2

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 #3

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA27_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161), ptr noundef nonnull align 1 dereferenceable(27)) local_unnamed_addr #5

; 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 #5

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 #3

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA11_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161), ptr noundef nonnull align 1 dereferenceable(11)) local_unnamed_addr #5

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA7_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161), ptr noundef nonnull align 1 dereferenceable(7)) local_unnamed_addr #5

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN7DynexCN11WalletGreen15makeTransactionERKSt6vectorINS0_15ReceiverAmountsESaIS2_EERS1_INS0_9InputInfoESaIS7_EERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmRN6Crypto9SecretKeyE(ptr dead_on_unwind noalias writable sret(%"class.std::unique_ptr.327") align 8 %0, ptr noundef nonnull align 8 dereferenceable(1872) %1, ptr noundef nonnull align 8 dereferenceable(24) %2, ptr noundef nonnull align 8 dereferenceable(24) %3, ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %5, ptr nocapture noundef nonnull writeonly align 1 dereferenceable(32) %6) local_unnamed_addr #6 align 2 personality ptr @__gxx_personality_v0 {
  %8 = alloca %"class.std::vector.430", align 8
  %9 = alloca %"class.__gnu_cxx::__normal_iterator.435", align 8
  %10 = alloca %"class.__gnu_cxx::__normal_iterator.435", align 8
  %11 = alloca %"class.__gnu_cxx::__normal_iterator.436", align 8
  %12 = alloca %"class.__gnu_cxx::__normal_iterator.436", align 8
  %13 = alloca i64, align 8
  %14 = alloca %"struct.std::pair.437", align 8
  %15 = alloca ptr, align 8
  %16 = alloca %"class.std::linear_congruential_engine", align 8
  %17 = alloca %"class.__gnu_cxx::__normal_iterator.439", align 8
  %18 = alloca %"class.__gnu_cxx::__normal_iterator.439", align 8
  %19 = alloca %"class.__gnu_cxx::__normal_iterator.442", align 8
  %20 = alloca %"class.__gnu_cxx::__normal_iterator.442", align 8
  %21 = alloca %"struct.DynexCN::AccountKeys", align 1
  %22 = alloca %"class.std::vector.135", align 8
  %23 = alloca %"class.__gnu_cxx::__normal_iterator.442", align 8
  %24 = alloca %"class.__gnu_cxx::__normal_iterator.442", align 8
  %25 = alloca %"struct.Crypto::SecretKey", align 1
  %26 = alloca %"class.Logging::LoggerMessage", align 8
  %27 = alloca %"struct.Crypto::Hash", align 1
  %28 = alloca %"class.std::__cxx11::basic_string", align 8
  %29 = alloca %"class.std::__cxx11::basic_string", align 8
  %30 = alloca %"class.std::__cxx11::basic_string", align 8
  %31 = alloca %"class.std::__cxx11::basic_string", align 8
  tail call void @_ZN7DynexCN17createTransactionEv(ptr dead_on_unwind writable sret(%"class.std::unique_ptr.327") align 8 %0)
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %8) #8
  call void @_ZNSt6vectorISt4pairIPKN7DynexCN20AccountPublicAddressEmESaIS5_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %8) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %9) #8
  %32 = call ptr @_ZNKSt6vectorIN7DynexCN11WalletGreen15ReceiverAmountsESaIS2_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %2) #8
  store ptr %32, ptr %9, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %10) #8
  %33 = call ptr @_ZNKSt6vectorIN7DynexCN11WalletGreen15ReceiverAmountsESaIS2_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %2) #8
  store ptr %33, ptr %10, align 8
  %34 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPKN7DynexCN11WalletGreen15ReceiverAmountsESt6vectorIS3_SaIS3_EEEEbRKNS_17__normal_iteratorIT_T0_EESE_(ptr noundef nonnull align 8 dereferenceable(8) %9, ptr noundef nonnull align 8 dereferenceable(8) %10) #8
  br i1 %34, label %.lr.ph65, label %._crit_edge66

._crit_edge66:                                    ; preds = %._crit_edge, %7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %9) #8
  %35 = call ptr @_ZNSt6vectorISt4pairIPKN7DynexCN20AccountPublicAddressEmESaIS5_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #8
  %36 = call ptr @_ZNSt6vectorISt4pairIPKN7DynexCN20AccountPublicAddressEmESaIS5_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %16) #8
  %37 = invoke noundef i64 @_ZN6Crypto4randImEENSt9enable_ifIXsr3std6is_podIT_EE5valueES2_E4typeEv()
          to label %53 unwind label %67

.lr.ph65:                                         ; preds = %7, %._crit_edge
  %38 = call noundef nonnull align 8 dereferenceable(88) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPKN7DynexCN11WalletGreen15ReceiverAmountsESt6vectorIS3_SaIS3_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %9) #8
  %39 = getelementptr inbounds i8, ptr %38, i64 64
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %11) #8
  %40 = call ptr @_ZNKSt6vectorImSaImEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %39) #8
  store ptr %40, ptr %11, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %12) #8
  %41 = call ptr @_ZNKSt6vectorImSaImEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %39) #8
  store ptr %41, ptr %12, align 8
  %42 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPKmSt6vectorImSaImEEEEbRKNS_17__normal_iteratorIT_T0_EESB_(ptr noundef nonnull align 8 dereferenceable(8) %11, ptr noundef nonnull align 8 dereferenceable(8) %12) #8
  br i1 %42, label %.lr.ph, label %._crit_edge

._crit_edge:                                      ; preds = %48, %.lr.ph65
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11) #8
  %43 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPKN7DynexCN11WalletGreen15ReceiverAmountsESt6vectorIS3_SaIS3_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %9) #8
  %44 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPKN7DynexCN11WalletGreen15ReceiverAmountsESt6vectorIS3_SaIS3_EEEEbRKNS_17__normal_iteratorIT_T0_EESE_(ptr noundef nonnull align 8 dereferenceable(8) %9, ptr noundef nonnull align 8 dereferenceable(8) %10) #8
  br i1 %44, label %.lr.ph65, label %._crit_edge66

.lr.ph:                                           ; preds = %.lr.ph65, %48
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %13) #8
  %45 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPKmSt6vectorImSaImEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %11) #8
  %46 = load i64, ptr %45, align 8, !tbaa !5
  store i64 %46, ptr %13, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %14) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %15) #8
  store ptr %38, ptr %15, align 8, !tbaa !9
  call void @_ZNSt4pairIPKN7DynexCN20AccountPublicAddressEmEC2IS3_RmTnNSt9enable_ifIXaaclsr5_PCCPE22_MoveConstructiblePairIT_T0_EEclsr5_PCCPE30_ImplicitlyMoveConvertiblePairIS8_S9_EEEbE4typeELb1EEEOS8_OS9_(ptr noundef nonnull align 8 dereferenceable(16) %14, ptr noundef nonnull align 8 dereferenceable(8) %15, ptr noundef nonnull align 8 dereferenceable(8) %13)
  %47 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIPKN7DynexCN20AccountPublicAddressEmESaIS5_EE12emplace_backIJS5_EEERS5_DpOT_(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(16) %14)
          to label %48 unwind label %51

48:                                               ; preds = %.lr.ph
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %14) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) #8
  %49 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPKmSt6vectorImSaImEEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %11) #8
  %50 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPKmSt6vectorImSaImEEEEbRKNS_17__normal_iteratorIT_T0_EESB_(ptr noundef nonnull align 8 dereferenceable(8) %11, ptr noundef nonnull align 8 dereferenceable(8) %12) #8
  br i1 %50, label %.lr.ph, label %._crit_edge

51:                                               ; preds = %.lr.ph
  %52 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %14) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %9) #8
  br label %234

53:                                               ; preds = %._crit_edge66
  invoke void @_ZNSt26linear_congruential_engineImLm16807ELm0ELm2147483647EEC2Em(ptr noundef nonnull align 8 dereferenceable(8) %16, i64 noundef %37)
          to label %54 unwind label %67

54:                                               ; preds = %53
  invoke void @_ZSt7shuffleIN9__gnu_cxx17__normal_iteratorIPSt4pairIPKN7DynexCN20AccountPublicAddressEmESt6vectorIS7_SaIS7_EEEESt26linear_congruential_engineImLm16807ELm0ELm2147483647EEEvT_SF_OT0_(ptr %35, ptr %36, ptr noundef nonnull align 8 dereferenceable(8) %16)
          to label %55 unwind label %67

55:                                               ; preds = %54
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #8
  %56 = call ptr @_ZNSt6vectorISt4pairIPKN7DynexCN20AccountPublicAddressEmESaIS5_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #8
  %57 = call ptr @_ZNSt6vectorISt4pairIPKN7DynexCN20AccountPublicAddressEmESaIS5_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #8
  invoke void @"_ZSt4sortIN9__gnu_cxx17__normal_iteratorIPSt4pairIPKN7DynexCN20AccountPublicAddressEmESt6vectorIS7_SaIS7_EEEEZNS3_11WalletGreen15makeTransactionERKS9_INSD_15ReceiverAmountsESaISE_EERS9_INSD_9InputInfoESaISJ_EERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmRN6Crypto9SecretKeyEE3$_0EvT_SZ_T0_"(ptr %56, ptr %57)
          to label %58 unwind label %69

58:                                               ; preds = %55
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %17) #8
  %59 = call ptr @_ZNSt6vectorISt4pairIPKN7DynexCN20AccountPublicAddressEmESaIS5_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #8
  store ptr %59, ptr %17, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %18) #8
  %60 = call ptr @_ZNSt6vectorISt4pairIPKN7DynexCN20AccountPublicAddressEmESaIS5_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #8
  store ptr %60, ptr %18, align 8
  %61 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPSt4pairIPKN7DynexCN20AccountPublicAddressEmESt6vectorIS6_SaIS6_EEEEbRKNS_17__normal_iteratorIT_T0_EESG_(ptr noundef nonnull align 8 dereferenceable(8) %17, ptr noundef nonnull align 8 dereferenceable(8) %18) #8
  br i1 %61, label %.lr.ph68, label %._crit_edge69

._crit_edge69:                                    ; preds = %81, %58
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #8
  %62 = call noundef ptr @_ZNKSt10unique_ptrIN7DynexCN12ITransactionESt14default_deleteIS1_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %0) #8
  %63 = getelementptr inbounds i8, ptr %62, i64 8
  %64 = load ptr, ptr %63, align 8, !tbaa !11
  %65 = getelementptr inbounds i8, ptr %64, i64 16
  %66 = load ptr, ptr %65, align 8
  invoke void %66(ptr noundef nonnull align 8 dereferenceable(8) %63, i64 noundef %5)
          to label %86 unwind label %69

67:                                               ; preds = %54, %53, %._crit_edge66
  %68 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #8
  br label %234

69:                                               ; preds = %._crit_edge69, %55
  %70 = landingpad { ptr, i32 }
          cleanup
  br label %234

.lr.ph68:                                         ; preds = %58, %81
  %71 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPSt4pairIPKN7DynexCN20AccountPublicAddressEmESt6vectorIS6_SaIS6_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %17) #8
  %72 = call noundef ptr @_ZNKSt10unique_ptrIN7DynexCN12ITransactionESt14default_deleteIS1_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %0) #8
  %73 = getelementptr inbounds i8, ptr %72, i64 8
  %74 = getelementptr inbounds i8, ptr %71, i64 8
  %75 = load i64, ptr %74, align 8, !tbaa !13
  %76 = load ptr, ptr %71, align 8, !tbaa !15
  %77 = load ptr, ptr %73, align 8, !tbaa !11
  %78 = getelementptr inbounds i8, ptr %77, i64 72
  %79 = load ptr, ptr %78, align 8
  %80 = invoke noundef i64 %79(ptr noundef nonnull align 8 dereferenceable(8) %73, i64 noundef %75, ptr noundef nonnull align 1 dereferenceable(64) %76)
          to label %81 unwind label %84

81:                                               ; preds = %.lr.ph68
  %82 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPSt4pairIPKN7DynexCN20AccountPublicAddressEmESt6vectorIS6_SaIS6_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %17) #8
  %83 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPSt4pairIPKN7DynexCN20AccountPublicAddressEmESt6vectorIS6_SaIS6_EEEEbRKNS_17__normal_iteratorIT_T0_EESG_(ptr noundef nonnull align 8 dereferenceable(8) %17, ptr noundef nonnull align 8 dereferenceable(8) %18) #8
  br i1 %83, label %.lr.ph68, label %._crit_edge69

84:                                               ; preds = %.lr.ph68
  %85 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #8
  br label %234

86:                                               ; preds = %._crit_edge69
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %19) #8
  %87 = call ptr @_ZNSt6vectorIN7DynexCN11WalletGreen9InputInfoESaIS2_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #8
  store ptr %87, ptr %19, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %20) #8
  %88 = call ptr @_ZNSt6vectorIN7DynexCN11WalletGreen9InputInfoESaIS2_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #8
  store ptr %88, ptr %20, align 8
  %89 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPN7DynexCN11WalletGreen9InputInfoESt6vectorIS3_SaIS3_EEEEbRKNS_17__normal_iteratorIT_T0_EESD_(ptr noundef nonnull align 8 dereferenceable(8) %19, ptr noundef nonnull align 8 dereferenceable(8) %20) #8
  br i1 %89, label %.lr.ph71, label %._crit_edge72

._crit_edge72:                                    ; preds = %101, %86
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %20) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %19) #8
  %90 = call noundef ptr @_ZNKSt10unique_ptrIN7DynexCN12ITransactionESt14default_deleteIS1_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %0) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %22) #8
  invoke void @_ZN6Common13asBinaryArrayERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind nonnull writable sret(%"class.std::vector.135") align 8 %22, ptr noundef nonnull align 8 dereferenceable(32) %4)
          to label %106 unwind label %120

.lr.ph71:                                         ; preds = %86, %101
  %91 = call noundef nonnull align 8 dereferenceable(152) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPN7DynexCN11WalletGreen9InputInfoESt6vectorIS3_SaIS3_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %19) #8
  %92 = call noundef ptr @_ZNKSt10unique_ptrIN7DynexCN12ITransactionESt14default_deleteIS1_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %0) #8
  %93 = getelementptr inbounds i8, ptr %92, i64 8
  call void @llvm.lifetime.start.p0(i64 128, ptr nonnull %21) #8
  %94 = getelementptr inbounds i8, ptr %91, i64 80
  %95 = load ptr, ptr %94, align 8, !tbaa !16
  call void @_ZNK7DynexCN11WalletGreen15makeAccountKeysERKNS_12WalletRecordE(ptr dead_on_unwind nonnull writable sret(%"struct.DynexCN::AccountKeys") align 1 %21, ptr noundef nonnull align 8 dereferenceable(1872) %1, ptr noundef nonnull align 8 dereferenceable(96) %95)
  %96 = getelementptr inbounds i8, ptr %91, i64 88
  %97 = load ptr, ptr %93, align 8, !tbaa !11
  %98 = getelementptr inbounds i8, ptr %97, i64 64
  %99 = load ptr, ptr %98, align 8
  %100 = invoke noundef i64 %99(ptr noundef nonnull align 8 dereferenceable(8) %93, ptr noundef nonnull align 1 dereferenceable(128) %21, ptr noundef nonnull align 8 dereferenceable(80) %91, ptr noundef nonnull align 1 dereferenceable(64) %96)
          to label %101 unwind label %104

101:                                              ; preds = %.lr.ph71
  call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %21) #8
  %102 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPN7DynexCN11WalletGreen9InputInfoESt6vectorIS3_SaIS3_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %19) #8
  %103 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPN7DynexCN11WalletGreen9InputInfoESt6vectorIS3_SaIS3_EEEEbRKNS_17__normal_iteratorIT_T0_EESD_(ptr noundef nonnull align 8 dereferenceable(8) %19, ptr noundef nonnull align 8 dereferenceable(8) %20) #8
  br i1 %103, label %.lr.ph71, label %._crit_edge72

104:                                              ; preds = %.lr.ph71
  %105 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %21) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %20) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %19) #8
  br label %234

106:                                              ; preds = %._crit_edge72
  %107 = getelementptr inbounds i8, ptr %90, i64 8
  %108 = load ptr, ptr %107, align 8, !tbaa !11
  %109 = getelementptr inbounds i8, ptr %108, i64 40
  %110 = load ptr, ptr %109, align 8
  invoke void %110(ptr noundef nonnull align 8 dereferenceable(8) %107, ptr noundef nonnull align 8 dereferenceable(24) %22)
          to label %111 unwind label %122

111:                                              ; preds = %106
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %22) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %22) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %23) #8
  %112 = call ptr @_ZNSt6vectorIN7DynexCN11WalletGreen9InputInfoESaIS2_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #8
  store ptr %112, ptr %23, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %24) #8
  %113 = call ptr @_ZNSt6vectorIN7DynexCN11WalletGreen9InputInfoESaIS2_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #8
  store ptr %113, ptr %24, align 8
  %114 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPN7DynexCN11WalletGreen9InputInfoESt6vectorIS3_SaIS3_EEEEbRKNS_17__normal_iteratorIT_T0_EESD_(ptr noundef nonnull align 8 dereferenceable(8) %23, ptr noundef nonnull align 8 dereferenceable(8) %24) #8
  br i1 %114, label %.lr.ph75, label %._crit_edge76

._crit_edge76:                                    ; preds = %132, %111
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %23) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %25) #8
  %115 = call noundef ptr @_ZNKSt10unique_ptrIN7DynexCN12ITransactionESt14default_deleteIS1_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %0) #8
  %116 = load ptr, ptr %115, align 8, !tbaa !11
  %117 = getelementptr inbounds i8, ptr %116, i64 40
  %118 = load ptr, ptr %117, align 8
  %119 = invoke noundef zeroext i1 %118(ptr noundef nonnull align 8 dereferenceable(8) %115, ptr noundef nonnull align 1 dereferenceable(32) %25)
          to label %138 unwind label %199

120:                                              ; preds = %._crit_edge72
  %121 = landingpad { ptr, i32 }
          cleanup
  br label %124

122:                                              ; preds = %106
  %123 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %22) #8
  br label %124

124:                                              ; preds = %122, %120
  %.pn = phi { ptr, i32 } [ %123, %122 ], [ %121, %120 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %22) #8
  br label %234

.lr.ph75:                                         ; preds = %111, %132
  %.073 = phi i64 [ %133, %132 ], [ 0, %111 ]
  %125 = call noundef nonnull align 8 dereferenceable(152) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPN7DynexCN11WalletGreen9InputInfoESt6vectorIS3_SaIS3_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %23) #8
  %126 = call noundef ptr @_ZNKSt10unique_ptrIN7DynexCN12ITransactionESt14default_deleteIS1_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %0) #8
  %127 = getelementptr inbounds i8, ptr %126, i64 8
  %128 = getelementptr inbounds i8, ptr %125, i64 88
  %129 = load ptr, ptr %127, align 8, !tbaa !11
  %130 = getelementptr inbounds i8, ptr %129, i64 112
  %131 = load ptr, ptr %130, align 8
  invoke void %131(ptr noundef nonnull align 8 dereferenceable(8) %127, i64 noundef %.073, ptr noundef nonnull align 8 dereferenceable(80) %125, ptr noundef nonnull align 1 dereferenceable(64) %128)
          to label %132 unwind label %136

132:                                              ; preds = %.lr.ph75
  %133 = add i64 %.073, 1
  %134 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPN7DynexCN11WalletGreen9InputInfoESt6vectorIS3_SaIS3_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %23) #8
  %135 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPN7DynexCN11WalletGreen9InputInfoESt6vectorIS3_SaIS3_EEEEbRKNS_17__normal_iteratorIT_T0_EESD_(ptr noundef nonnull align 8 dereferenceable(8) %23, ptr noundef nonnull align 8 dereferenceable(8) %24) #8
  br i1 %135, label %.lr.ph75, label %._crit_edge76

136:                                              ; preds = %.lr.ph75
  %137 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %23) #8
  br label %234

138:                                              ; preds = %._crit_edge76
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(32) %6, ptr noundef nonnull align 1 dereferenceable(32) %25, i64 32, i1 false), !tbaa.struct !27
  call void @llvm.lifetime.start.p0(i64 432, ptr nonnull %26) #8
  %139 = getelementptr inbounds i8, ptr %1, i64 64
  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) %139, i32 noundef 4, ptr noundef nonnull align 8 dereferenceable(32) @_ZN7Logging7DEFAULTB5cxx11E)
          to label %140 unwind label %201

140:                                              ; preds = %138
  %141 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA27_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %26, ptr noundef nonnull align 1 dereferenceable(27) @.str.178)
          to label %142 unwind label %203

142:                                              ; preds = %140
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %27) #8
  %143 = call noundef ptr @_ZNKSt10unique_ptrIN7DynexCN12ITransactionESt14default_deleteIS1_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %0) #8
  %144 = load ptr, ptr %143, align 8, !tbaa !11
  %145 = getelementptr inbounds i8, ptr %144, i64 16
  %146 = load ptr, ptr %145, align 8
  invoke void %146(ptr dead_on_unwind nonnull writable sret(%"struct.Crypto::Hash") align 1 %27, ptr noundef nonnull align 8 dereferenceable(8) %143)
          to label %147 unwind label %205

147:                                              ; preds = %142
  %148 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEN6Crypto4HashEEOT_S5_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %141, ptr noundef nonnull align 1 dereferenceable(32) %27)
          to label %149 unwind label %205

149:                                              ; preds = %147
  %150 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA10_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %148, ptr noundef nonnull align 1 dereferenceable(10) @.str.179)
          to label %151 unwind label %205

151:                                              ; preds = %149
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %28) #8
  %152 = getelementptr inbounds i8, ptr %1, i64 48
  %153 = load ptr, ptr %152, align 8, !tbaa !29
  %154 = call noundef ptr @_ZNKSt10unique_ptrIN7DynexCN12ITransactionESt14default_deleteIS1_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %0) #8
  %155 = load ptr, ptr %154, align 8, !tbaa !11
  %156 = getelementptr inbounds i8, ptr %155, i64 88
  %157 = load ptr, ptr %156, align 8
  %158 = invoke noundef i64 %157(ptr noundef nonnull align 8 dereferenceable(8) %154)
          to label %159 unwind label %207

159:                                              ; preds = %151
  invoke void @_ZNK7DynexCN8Currency12formatAmountB5cxx11Em(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %28, ptr noundef nonnull align 8 dereferenceable(984) %153, i64 noundef %158)
          to label %160 unwind label %207

160:                                              ; preds = %159
  %161 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEOT_S9_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %150, ptr noundef nonnull align 8 dereferenceable(32) %28)
          to label %162 unwind label %209

162:                                              ; preds = %160
  %163 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA11_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %161, ptr noundef nonnull align 1 dereferenceable(11) @.str.180)
          to label %164 unwind label %209

164:                                              ; preds = %162
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %29) #8
  %165 = load ptr, ptr %152, align 8, !tbaa !29
  %166 = call noundef ptr @_ZNKSt10unique_ptrIN7DynexCN12ITransactionESt14default_deleteIS1_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %0) #8
  %167 = load ptr, ptr %166, align 8, !tbaa !11
  %168 = getelementptr inbounds i8, ptr %167, i64 128
  %169 = load ptr, ptr %168, align 8
  %170 = invoke noundef i64 %169(ptr noundef nonnull align 8 dereferenceable(8) %166)
          to label %171 unwind label %211

171:                                              ; preds = %164
  invoke void @_ZNK7DynexCN8Currency12formatAmountB5cxx11Em(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %29, ptr noundef nonnull align 8 dereferenceable(984) %165, i64 noundef %170)
          to label %172 unwind label %211

172:                                              ; preds = %171
  %173 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEOT_S9_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %163, ptr noundef nonnull align 8 dereferenceable(32) %29)
          to label %174 unwind label %213

174:                                              ; preds = %172
  %175 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA7_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %173, ptr noundef nonnull align 1 dereferenceable(7) @.str.111)
          to label %176 unwind label %213

176:                                              ; preds = %174
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %30) #8
  %177 = load ptr, ptr %152, align 8, !tbaa !29
  %178 = call noundef ptr @_ZNKSt10unique_ptrIN7DynexCN12ITransactionESt14default_deleteIS1_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %0) #8
  %179 = load ptr, ptr %178, align 8, !tbaa !11
  %180 = getelementptr inbounds i8, ptr %179, i64 88
  %181 = load ptr, ptr %180, align 8
  %182 = invoke noundef i64 %181(ptr noundef nonnull align 8 dereferenceable(8) %178)
          to label %183 unwind label %215

183:                                              ; preds = %176
  %184 = call noundef ptr @_ZNKSt10unique_ptrIN7DynexCN12ITransactionESt14default_deleteIS1_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %0) #8
  %185 = load ptr, ptr %184, align 8, !tbaa !11
  %186 = getelementptr inbounds i8, ptr %185, i64 128
  %187 = load ptr, ptr %186, align 8
  %188 = invoke noundef i64 %187(ptr noundef nonnull align 8 dereferenceable(8) %184)
          to label %189 unwind label %215

189:                                              ; preds = %183
  %190 = sub i64 %182, %188
  invoke void @_ZNK7DynexCN8Currency12formatAmountB5cxx11Em(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %30, ptr noundef nonnull align 8 dereferenceable(984) %177, i64 noundef %190)
          to label %191 unwind label %215

191:                                              ; preds = %189
  %192 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEOT_S9_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %175, ptr noundef nonnull align 8 dereferenceable(32) %30)
          to label %193 unwind label %217

193:                                              ; preds = %191
  %194 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA7_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %192, ptr noundef nonnull align 1 dereferenceable(7) @.str.181)
          to label %195 unwind label %217

195:                                              ; preds = %193
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %31) #8
  invoke void @_ZN6Common8podToHexIN6Crypto9SecretKeyEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %31, ptr noundef nonnull align 1 dereferenceable(32) %25)
          to label %196 unwind label %219

196:                                              ; preds = %195
  %197 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEOT_S9_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %194, ptr noundef nonnull align 8 dereferenceable(32) %31)
          to label %198 unwind label %221

198:                                              ; preds = %196
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %31) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %29) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %28) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #8
  call void @_ZN7Logging13LoggerMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(161) %26) #8
  call void @llvm.lifetime.end.p0(i64 432, ptr nonnull %26) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %25) #8
  call void @_ZNSt6vectorISt4pairIPKN7DynexCN20AccountPublicAddressEmESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %8) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %8) #8
  ret void

199:                                              ; preds = %._crit_edge76
  %200 = landingpad { ptr, i32 }
          cleanup
  br label %233

201:                                              ; preds = %138
  %202 = landingpad { ptr, i32 }
          cleanup
  br label %232

203:                                              ; preds = %140
  %204 = landingpad { ptr, i32 }
          cleanup
  br label %231

205:                                              ; preds = %149, %147, %142
  %206 = landingpad { ptr, i32 }
          cleanup
  br label %230

207:                                              ; preds = %159, %151
  %208 = landingpad { ptr, i32 }
          cleanup
  br label %229

209:                                              ; preds = %162, %160
  %210 = landingpad { ptr, i32 }
          cleanup
  br label %228

211:                                              ; preds = %171, %164
  %212 = landingpad { ptr, i32 }
          cleanup
  br label %227

213:                                              ; preds = %174, %172
  %214 = landingpad { ptr, i32 }
          cleanup
  br label %226

215:                                              ; preds = %189, %183, %176
  %216 = landingpad { ptr, i32 }
          cleanup
  br label %225

217:                                              ; preds = %193, %191
  %218 = landingpad { ptr, i32 }
          cleanup
  br label %224

219:                                              ; preds = %195
  %220 = landingpad { ptr, i32 }
          cleanup
  br label %223

221:                                              ; preds = %196
  %222 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #8
  br label %223

223:                                              ; preds = %221, %219
  %.pn48 = phi { ptr, i32 } [ %222, %221 ], [ %220, %219 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %31) #8
  br label %224

224:                                              ; preds = %223, %217
  %.pn48.pn = phi { ptr, i32 } [ %.pn48, %223 ], [ %218, %217 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #8
  br label %225

225:                                              ; preds = %224, %215
  %.pn48.pn.pn = phi { ptr, i32 } [ %.pn48.pn, %224 ], [ %216, %215 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #8
  br label %226

226:                                              ; preds = %225, %213
  %.pn48.pn.pn.pn = phi { ptr, i32 } [ %.pn48.pn.pn, %225 ], [ %214, %213 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #8
  br label %227

227:                                              ; preds = %226, %211
  %.pn48.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn48.pn.pn.pn, %226 ], [ %212, %211 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %29) #8
  br label %228

228:                                              ; preds = %227, %209
  %.pn48.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn48.pn.pn.pn.pn, %227 ], [ %210, %209 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #8
  br label %229

229:                                              ; preds = %228, %207
  %.pn48.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn48.pn.pn.pn.pn.pn, %228 ], [ %208, %207 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %28) #8
  br label %230

230:                                              ; preds = %229, %205
  %.pn48.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn48.pn.pn.pn.pn.pn.pn, %229 ], [ %206, %205 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #8
  br label %231

231:                                              ; preds = %230, %203
  %.pn48.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn48.pn.pn.pn.pn.pn.pn.pn, %230 ], [ %204, %203 ]
  call void @_ZN7Logging13LoggerMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(161) %26) #8
  br label %232

232:                                              ; preds = %231, %201
  %.pn48.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn48.pn.pn.pn.pn.pn.pn.pn.pn, %231 ], [ %202, %201 ]
  call void @llvm.lifetime.end.p0(i64 432, ptr nonnull %26) #8
  br label %233

233:                                              ; preds = %232, %199
  %.pn48.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn48.pn.pn.pn.pn.pn.pn.pn.pn.pn, %232 ], [ %200, %199 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %25) #8
  br label %234

234:                                              ; preds = %136, %233, %124, %104, %84, %69, %67, %51
  %.pn62 = phi { ptr, i32 } [ %52, %51 ], [ %85, %84 ], [ %105, %104 ], [ %.pn, %124 ], [ %70, %69 ], [ %68, %67 ], [ %137, %136 ], [ %.pn48.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %233 ]
  call void @_ZNSt6vectorISt4pairIPKN7DynexCN20AccountPublicAddressEmESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %8) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %8) #8
  call void @_ZNSt10unique_ptrIN7DynexCN12ITransactionESt14default_deleteIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %0) #8
  resume { ptr, i32 } %.pn62
}

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA10_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161), ptr noundef nonnull align 1 dereferenceable(10)) local_unnamed_addr #5

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

declare void @_ZN7DynexCN17createTransactionEv(ptr dead_on_unwind writable sret(%"class.std::unique_ptr.327") align 8) local_unnamed_addr #3

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

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIPKN7DynexCN20AccountPublicAddressEmESaIS5_EE12emplace_backIJS5_EEERS5_DpOT_(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #6 align 2

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZSt7shuffleIN9__gnu_cxx17__normal_iteratorIPSt4pairIPKN7DynexCN20AccountPublicAddressEmESt6vectorIS7_SaIS7_EEEESt26linear_congruential_engineImLm16807ELm0ELm2147483647EEEvT_SF_OT0_(ptr, ptr, ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #6

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

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef i64 @_ZN6Crypto4randImEENSt9enable_ifIXsr3std6is_podIT_EE5valueES2_E4typeEv() local_unnamed_addr #6

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden void @"_ZSt4sortIN9__gnu_cxx17__normal_iteratorIPSt4pairIPKN7DynexCN20AccountPublicAddressEmESt6vectorIS7_SaIS7_EEEEZNS3_11WalletGreen15makeTransactionERKS9_INSD_15ReceiverAmountsESaISE_EERS9_INSD_9InputInfoESaISJ_EERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmRN6Crypto9SecretKeyEE3$_0EvT_SZ_T0_"(ptr, ptr) local_unnamed_addr #5

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNK7DynexCN11WalletGreen15makeAccountKeysERKNS_12WalletRecordE(ptr dead_on_unwind noalias writable sret(%"struct.DynexCN::AccountKeys") align 1, ptr noundef nonnull align 8 dereferenceable(1872), ptr noundef nonnull align 8 dereferenceable(96)) local_unnamed_addr #1 align 2

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

declare void @_ZN6Common13asBinaryArrayERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind writable sret(%"class.std::vector.135") align 8, ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #3

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN6Common8podToHexIN6Crypto9SecretKeyEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 1 dereferenceable(32)) local_unnamed_addr #6

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

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


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