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

%"struct.Crypto::Hash" = type { [32 x i8] }
%"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.System::EventLock" = type { ptr }
%"class.std::allocator" = type { i8 }
%"class.__gnu_cxx::__normal_iterator.404" = type { ptr }
%class.anon.579 = type { i8 }
%"class.boost::multi_index::detail::hashed_index_iterator.500" = type { ptr }
%"class.boost::multi_index::detail::rnd_node_iterator.147" = type { ptr }
%"struct.std::pair.450" = type <{ %"struct.std::__detail::_Node_iterator.452", i8, [7 x i8] }>
%"struct.std::__detail::_Node_iterator.452" = type { %"struct.std::__detail::_Node_iterator_base.453" }
%"struct.std::__detail::_Node_iterator_base.453" = type { ptr }
%"struct.DynexCN::WalletGreen::ContainerAmounts" = type { ptr, %"struct.DynexCN::WalletGreen::AddressAmounts" }
%"struct.DynexCN::WalletGreen::AddressAmounts" = type { i64, i64 }
%"class.DynexCN::TransferListFormatter" = type { ptr, ptr }
%"struct.std::pair.299" = type { %"class.__gnu_cxx::__normal_iterator.301", %"class.__gnu_cxx::__normal_iterator.301" }
%"class.__gnu_cxx::__normal_iterator.301" = type { ptr }
%"struct.DynexCN::WalletEvent" = type { i32, %union.anon.298 }
%union.anon.298 = type { %"struct.DynexCN::WalletTransactionCreatedData" }
%"struct.DynexCN::WalletTransactionCreatedData" = type { i64 }
%"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] }
%"struct.Crypto::PublicKey" = type { [32 x i8] }
%"struct.Crypto::SecretKey" = type { [32 x i8] }
%"class.boost::multi_index::multi_index_container.96" = type { [8 x i8], %"struct.boost::multi_index::detail::header_holder.98", %"class.boost::multi_index::detail::random_access_index.99", i64 }
%"struct.boost::multi_index::detail::header_holder.98" = type { ptr }
%"class.boost::multi_index::detail::random_access_index.99" = type { %"class.boost::multi_index::detail::hashed_index.100", %"class.boost::multi_index::detail::random_access_index_ptr_array.105" }
%"class.boost::multi_index::detail::hashed_index.100" = type { [8 x i8], %"class.boost::multi_index::detail::bucket_array.103", float, i64 }
%"class.boost::multi_index::detail::bucket_array.103" = type { i64, %"struct.boost::multi_index::detail::auto_space.104" }
%"struct.boost::multi_index::detail::auto_space.104" = type { [8 x i8], i64, ptr }
%"class.boost::multi_index::detail::random_access_index_ptr_array.105" = type { i64, i64, %"struct.boost::multi_index::detail::auto_space.106" }
%"struct.boost::multi_index::detail::auto_space.106" = type { [8 x i8], i64, ptr }
%"struct.DynexCN::TransactionInformation" = type { %"struct.Crypto::Hash", %"struct.Crypto::PublicKey", i32, i64, i64, i64, i64, %"class.std::vector.135", %"struct.Crypto::Hash" }
%"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.DynexCN::WalletTransaction" = type <{ i8, [7 x i8], i64, i32, %"struct.Crypto::Hash", %"class.boost::optional", [3 x i8], i64, i64, i64, i64, %"class.std::__cxx11::basic_string", i8, [7 x i8] }>
%"class.boost::optional" = type { %"class.boost::optional_detail::optional_base" }
%"class.boost::optional_detail::optional_base" = type { i8, %"class.boost::optional_detail::aligned_storage" }
%"class.boost::optional_detail::aligned_storage" = type { %"union.boost::optional_detail::aligned_storage<Crypto::SecretKey>::dummy_u" }
%"union.boost::optional_detail::aligned_storage<Crypto::SecretKey>::dummy_u" = type { [32 x i8] }

@_ZN7DynexCNL9NULL_HASHE = external hidden global %"struct.Crypto::Hash", align 1
@_ZN7Logging12BRIGHT_WHITEB5cxx11E = external global %"class.std::__cxx11::basic_string", align 8
@.str.25 = external hidden unnamed_addr constant [1 x i8], align 1
@_ZN7Logging7DEFAULTB5cxx11E = external global %"class.std::__cxx11::basic_string", align 8
@.str.111 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.151 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.155 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.163 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.224 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.225 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.226 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.227 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.228 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.229 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.230 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.231 = external hidden unnamed_addr constant [35 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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef, ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #3 align 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)) #4

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local ptr @_ZN5boost11multi_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_EELi0EEEE5beginEv(ptr noundef nonnull align 8 dereferenceable(96)) #1 align 2

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

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

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

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

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

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

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA15_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161), ptr noundef nonnull align 1 dereferenceable(15)) #6

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA14_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161), ptr noundef nonnull align 1 dereferenceable(14)) #6

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7DynexCN11WalletGreen9pushEventERKNS_11WalletEventE(ptr noundef nonnull align 8 dereferenceable(1872), ptr noundef nonnull align 8 dereferenceable(16)) #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare hidden { i32, i64 } @_ZN12_GLOBAL__N_127makeTransactionUpdatedEventEm(i64 noundef) #1

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(153) ptr @_ZNK5boost11multi_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_EELi0EEEEixEm(ptr noundef nonnull align 8 dereferenceable(96), i64 noundef) #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local { ptr, ptr } @_ZNK7DynexCN11WalletGreen28getTransactionTransfersRangeEm(ptr noundef nonnull align 8 dereferenceable(1872), i64 noundef) #3 align 2

declare void @_ZN6System9EventLockC1ERNS_5EventE(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #4

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA9_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161), ptr noundef nonnull align 1 dereferenceable(9)) #6

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

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(96) ptr @_ZN5boost11multi_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_EE3getIS7_EERNSR_5indexIT_E4typeEv(ptr noundef nonnull align 8 dereferenceable(120)) #1 align 2

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare hidden { i32, i64 } @_ZN12_GLOBAL__N_127makeTransactionCreatedEventEm(i64 noundef) #1

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN7DynexCN11WalletGreen27updateWalletTransactionInfoEmRKNS_22TransactionInformationEl(ptr noundef nonnull align 8 dereferenceable(1872), i64 noundef, ptr noundef nonnull align 8 dereferenceable(160), i64 noundef) #3 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef i64 @_ZN7DynexCN11WalletGreen27insertBlockchainTransactionERKNS_22TransactionInformationEl(ptr noundef nonnull align 8 dereferenceable(1872), ptr noundef nonnull align 8 dereferenceable(160), i64 noundef) #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN7DynexCN11WalletGreen26updateTransactionTransfersEmRKSt6vectorINS0_16ContainerAmountsESaIS2_EEll(ptr noundef nonnull align 8 dereferenceable(1872), i64 noundef, ptr noundef nonnull align 8 dereferenceable(24), i64 noundef, i64 noundef) #3 align 2

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local ptr @_ZNKSt6vectorIN7DynexCN11WalletGreen16ContainerAmountsESaIS2_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_cxxneIPKN7DynexCN11WalletGreen16ContainerAmountsESt6vectorIS3_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(24) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPKN7DynexCN11WalletGreen16ContainerAmountsESt6vectorIS3_SaIS3_EEEdeEv(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_iteratorIPKN7DynexCN11WalletGreen16ContainerAmountsESt6vectorIS3_SaIS3_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8)) #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local ptr @_ZNK5boost11multi_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_tagEE4findIS7_EENS1_21hashed_index_iteratorINS1_17hashed_index_nodeINS1_18ordered_index_nodeINS1_19null_augment_policyENS1_15index_node_baseIS5_SW_EEEEEENS1_12bucket_arrayISW_EES13_NS1_32hashed_index_global_iterator_tagEEERKT_(ptr noundef nonnull align 8 dereferenceable(56), ptr noundef nonnull align 1 dereferenceable(32)) #3 align 2

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

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN7DynexCN11WalletGreen18transactionUpdatedERKNS_22TransactionInformationERKSt6vectorINS0_16ContainerAmountsESaIS5_EE(ptr noundef nonnull align 8 dereferenceable(1872) %0, ptr noundef nonnull align 8 dereferenceable(160) %1, ptr noundef nonnull align 8 dereferenceable(24) %2) #3 align 2 personality ptr @__gxx_personality_v0 {
  %4 = alloca ptr, align 8
  %5 = alloca ptr, align 8
  %6 = alloca ptr, align 8
  %7 = alloca %"class.System::EventLock", align 8
  %8 = alloca %"class.Logging::LoggerMessage", align 8
  %9 = alloca ptr, align 8
  %10 = alloca i32, align 4
  %11 = alloca %"class.std::__cxx11::basic_string", align 8
  %12 = alloca %"class.std::__cxx11::basic_string", align 8
  %13 = alloca %"class.std::__cxx11::basic_string", align 8
  %14 = alloca %"class.std::allocator", align 1
  %15 = alloca i1, align 1
  %16 = alloca i1, align 1
  %17 = alloca %"class.std::__cxx11::basic_string", align 8
  %18 = alloca i1, align 1
  %19 = alloca i1, align 1
  %20 = alloca i32, align 4
  %21 = alloca i8, align 1
  %22 = alloca i8, align 1
  %23 = alloca i64, align 8
  %24 = alloca %"class.__gnu_cxx::__normal_iterator.404", align 8
  %25 = alloca %"class.__gnu_cxx::__normal_iterator.404", align 8
  %26 = alloca %class.anon.579, align 1
  %27 = alloca i64, align 8
  %28 = alloca ptr, align 8
  %29 = alloca %"class.boost::multi_index::detail::hashed_index_iterator.500", align 8
  %30 = alloca %"class.boost::multi_index::detail::hashed_index_iterator.500", align 8
  %31 = alloca %"class.boost::multi_index::detail::rnd_node_iterator.147", align 8
  %32 = alloca %"class.boost::multi_index::detail::rnd_node_iterator.147", align 8
  %33 = alloca %"class.boost::multi_index::detail::hashed_index_iterator.500", align 8
  %34 = alloca i8, align 1
  %35 = alloca %"struct.std::pair.450", align 8
  %36 = alloca ptr, align 8
  %37 = alloca %"class.__gnu_cxx::__normal_iterator.404", align 8
  %38 = alloca %"class.__gnu_cxx::__normal_iterator.404", align 8
  %39 = alloca %"struct.DynexCN::WalletGreen::ContainerAmounts", align 8
  %40 = alloca i32, align 4
  %41 = alloca i32, align 4
  %42 = alloca i32, align 4
  %43 = alloca i8, align 1
  %44 = alloca ptr, align 8
  %45 = alloca %"class.Logging::LoggerMessage", align 8
  %46 = alloca %"class.std::__cxx11::basic_string", align 8
  %47 = alloca %"class.std::__cxx11::basic_string", align 8
  %48 = alloca %"class.DynexCN::TransferListFormatter", align 8
  %49 = alloca %"struct.std::pair.299", align 8
  %50 = alloca %"struct.DynexCN::WalletEvent", align 8
  %51 = alloca %"class.Logging::LoggerMessage", align 8
  %52 = alloca %"class.DynexCN::TransferListFormatter", align 8
  %53 = alloca %"struct.std::pair.299", align 8
  %54 = alloca %"struct.DynexCN::WalletEvent", align 8
  store ptr %0, ptr %4, align 8, !tbaa !5
  store ptr %1, ptr %5, align 8, !tbaa !5
  store ptr %2, ptr %6, align 8, !tbaa !5
  %55 = load ptr, ptr %4, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %7) #8
  %56 = getelementptr inbounds %"class.DynexCN::WalletGreen", ptr %55, i32 0, i32 22
  call void @_ZN6System9EventLockC1ERNS_5EventE(ptr noundef nonnull align 8 dereferenceable(8) %7, ptr noundef nonnull align 8 dereferenceable(32) %56)
  call void @llvm.lifetime.start.p0(i64 432, ptr %8) #8
  %57 = getelementptr inbounds %"class.DynexCN::WalletGreen", ptr %55, i32 0, i32 8
  invoke void @_ZNK7Logging9LoggerRefclENS_5LevelERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind writable sret(%"class.Logging::LoggerMessage") align 8 %8, ptr noundef nonnull align 8 dereferenceable(40) %57, i32 noundef 4, ptr noundef nonnull align 8 dereferenceable(32) @_ZN7Logging7DEFAULTB5cxx11E)
          to label %58 unwind label %121

58:                                               ; preds = %3
  %59 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA32_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %8, ptr noundef nonnull align 1 dereferenceable(32) @.str.224)
          to label %60 unwind label %125

60:                                               ; preds = %58
  %61 = load ptr, ptr %5, align 8, !tbaa !5
  %62 = getelementptr inbounds %"struct.DynexCN::TransactionInformation", ptr %61, i32 0, i32 0
  %63 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEN6Crypto4HashEEOT_S5_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %59, ptr noundef nonnull align 1 dereferenceable(32) %62)
          to label %64 unwind label %125

64:                                               ; preds = %60
  %65 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA9_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %63, ptr noundef nonnull align 1 dereferenceable(9) @.str.163)
          to label %66 unwind label %125

66:                                               ; preds = %64
  %67 = load ptr, ptr %5, align 8, !tbaa !5
  %68 = getelementptr inbounds %"struct.DynexCN::TransactionInformation", ptr %67, i32 0, i32 2
  %69 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEjEOT_S3_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %65, ptr noundef nonnull align 4 dereferenceable(4) %68)
          to label %70 unwind label %125

70:                                               ; preds = %66
  %71 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA17_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %69, ptr noundef nonnull align 1 dereferenceable(17) @.str.225)
          to label %72 unwind label %125

72:                                               ; preds = %70
  call void @llvm.lifetime.start.p0(i64 32, ptr %11) #8
  %73 = getelementptr inbounds %"class.DynexCN::WalletGreen", ptr %55, i32 0, i32 6
  %74 = load ptr, ptr %73, align 8, !tbaa !9
  %75 = load ptr, ptr %5, align 8, !tbaa !5
  %76 = getelementptr inbounds %"struct.DynexCN::TransactionInformation", ptr %75, i32 0, i32 5
  %77 = load i64, ptr %76, align 8, !tbaa !153
  invoke void @_ZNK7DynexCN8Currency12formatAmountB5cxx11Em(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %11, ptr noundef nonnull align 8 dereferenceable(984) %74, i64 noundef %77)
          to label %78 unwind label %129

78:                                               ; preds = %72
  %79 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEOT_S9_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %71, ptr noundef nonnull align 8 dereferenceable(32) %11)
          to label %80 unwind label %133

80:                                               ; preds = %78
  %81 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA18_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %79, ptr noundef nonnull align 1 dereferenceable(18) @.str.226)
          to label %82 unwind label %133

82:                                               ; preds = %80
  call void @llvm.lifetime.start.p0(i64 32, ptr %12) #8
  %83 = getelementptr inbounds %"class.DynexCN::WalletGreen", ptr %55, i32 0, i32 6
  %84 = load ptr, ptr %83, align 8, !tbaa !9
  %85 = load ptr, ptr %5, align 8, !tbaa !5
  %86 = getelementptr inbounds %"struct.DynexCN::TransactionInformation", ptr %85, i32 0, i32 6
  %87 = load i64, ptr %86, align 8, !tbaa !159
  invoke void @_ZNK7DynexCN8Currency12formatAmountB5cxx11Em(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %12, ptr noundef nonnull align 8 dereferenceable(984) %84, i64 noundef %87)
          to label %88 unwind label %137

88:                                               ; preds = %82
  %89 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEOT_S9_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %81, ptr noundef nonnull align 8 dereferenceable(32) %12)
          to label %90 unwind label %141

90:                                               ; preds = %88
  call void @llvm.lifetime.start.p0(i64 32, ptr %13) #8
  %91 = load ptr, ptr %5, align 8, !tbaa !5
  %92 = getelementptr inbounds %"struct.DynexCN::TransactionInformation", ptr %91, i32 0, i32 8
  store i1 false, ptr %15, align 1
  store i1 false, ptr %16, align 1
  store i1 false, ptr %18, align 1
  store i1 false, ptr %19, align 1
  %93 = invoke noundef zeroext i1 @_ZN6CryptoeqERKNS_4HashES2_(ptr noundef nonnull align 1 dereferenceable(32) %92, ptr noundef nonnull align 1 dereferenceable(32) @_ZN7DynexCNL9NULL_HASHE)
          to label %94 unwind label %145

94:                                               ; preds = %90
  br i1 %93, label %95, label %97

95:                                               ; preds = %94
  call void @llvm.lifetime.start.p0(i64 1, ptr %14) #8
  store i1 true, ptr %15, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %14) #8
  store i1 true, ptr %16, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef @.str.25, ptr noundef nonnull align 1 dereferenceable(1) %14)
          to label %96 unwind label %149

96:                                               ; preds = %95
  br label %102

97:                                               ; preds = %94
  call void @llvm.lifetime.start.p0(i64 32, ptr %17) #8
  store i1 true, ptr %18, align 1
  %98 = load ptr, ptr %5, align 8, !tbaa !5
  %99 = getelementptr inbounds %"struct.DynexCN::TransactionInformation", ptr %98, i32 0, i32 8
  invoke void @_ZN6Common8podToHexIN6Crypto4HashEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %17, ptr noundef nonnull align 1 dereferenceable(32) %99)
          to label %100 unwind label %153

100:                                              ; preds = %97
  store i1 true, ptr %19, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %13, ptr noundef @.str.227, ptr noundef nonnull align 8 dereferenceable(32) %17)
          to label %101 unwind label %157

101:                                              ; preds = %100
  br label %102

102:                                              ; preds = %101, %96
  %103 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEOT_S9_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %89, ptr noundef nonnull align 8 dereferenceable(32) %13)
          to label %104 unwind label %161

104:                                              ; preds = %102
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #8
  %105 = load i1, ptr %19, align 1
  br i1 %105, label %106, label %107

106:                                              ; preds = %104
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #8
  br label %107

107:                                              ; preds = %106, %104
  %108 = load i1, ptr %18, align 1
  br i1 %108, label %109, label %110

109:                                              ; preds = %107
  call void @llvm.lifetime.end.p0(i64 32, ptr %17) #8
  br label %110

110:                                              ; preds = %109, %107
  %111 = load i1, ptr %16, align 1
  br i1 %111, label %112, label %113

112:                                              ; preds = %110
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %14) #8
  br label %113

113:                                              ; preds = %112, %110
  %114 = load i1, ptr %15, align 1
  br i1 %114, label %115, label %116

115:                                              ; preds = %113
  call void @llvm.lifetime.end.p0(i64 1, ptr %14) #8
  br label %116

116:                                              ; preds = %115, %113
  call void @llvm.lifetime.end.p0(i64 32, ptr %13) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %12) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %11) #8
  call void @_ZN7Logging13LoggerMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(161) %8) #8
  call void @llvm.lifetime.end.p0(i64 432, ptr %8) #8
  %117 = getelementptr inbounds %"class.DynexCN::WalletGreen", ptr %55, i32 0, i32 23
  %118 = load i32, ptr %117, align 8, !tbaa !160
  %119 = icmp eq i32 %118, 1
  br i1 %119, label %120, label %187

120:                                              ; preds = %116
  store i32 1, ptr %20, align 4
  br label %544

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

125:                                              ; preds = %70, %66, %64, %60, %58
  %126 = landingpad { ptr, i32 }
          cleanup
  %127 = extractvalue { ptr, i32 } %126, 0
  store ptr %127, ptr %9, align 8
  %128 = extractvalue { ptr, i32 } %126, 1
  store i32 %128, ptr %10, align 4
  br label %185

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

133:                                              ; preds = %80, %78
  %134 = landingpad { ptr, i32 }
          cleanup
  %135 = extractvalue { ptr, i32 } %134, 0
  store ptr %135, ptr %9, align 8
  %136 = extractvalue { ptr, i32 } %134, 1
  store i32 %136, ptr %10, align 4
  br label %183

137:                                              ; preds = %82
  %138 = landingpad { ptr, i32 }
          cleanup
  %139 = extractvalue { ptr, i32 } %138, 0
  store ptr %139, ptr %9, align 8
  %140 = extractvalue { ptr, i32 } %138, 1
  store i32 %140, ptr %10, align 4
  br label %182

141:                                              ; preds = %88
  %142 = landingpad { ptr, i32 }
          cleanup
  %143 = extractvalue { ptr, i32 } %142, 0
  store ptr %143, ptr %9, align 8
  %144 = extractvalue { ptr, i32 } %142, 1
  store i32 %144, ptr %10, align 4
  br label %181

145:                                              ; preds = %90
  %146 = landingpad { ptr, i32 }
          cleanup
  %147 = extractvalue { ptr, i32 } %146, 0
  store ptr %147, ptr %9, align 8
  %148 = extractvalue { ptr, i32 } %146, 1
  store i32 %148, ptr %10, align 4
  br label %180

149:                                              ; preds = %95
  %150 = landingpad { ptr, i32 }
          cleanup
  %151 = extractvalue { ptr, i32 } %150, 0
  store ptr %151, ptr %9, align 8
  %152 = extractvalue { ptr, i32 } %150, 1
  store i32 %152, ptr %10, align 4
  br label %173

153:                                              ; preds = %97
  %154 = landingpad { ptr, i32 }
          cleanup
  %155 = extractvalue { ptr, i32 } %154, 0
  store ptr %155, ptr %9, align 8
  %156 = extractvalue { ptr, i32 } %154, 1
  store i32 %156, ptr %10, align 4
  br label %169

157:                                              ; preds = %100
  %158 = landingpad { ptr, i32 }
          cleanup
  %159 = extractvalue { ptr, i32 } %158, 0
  store ptr %159, ptr %9, align 8
  %160 = extractvalue { ptr, i32 } %158, 1
  store i32 %160, ptr %10, align 4
  br label %165

161:                                              ; preds = %102
  %162 = landingpad { ptr, i32 }
          cleanup
  %163 = extractvalue { ptr, i32 } %162, 0
  store ptr %163, ptr %9, align 8
  %164 = extractvalue { ptr, i32 } %162, 1
  store i32 %164, ptr %10, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #8
  br label %165

165:                                              ; preds = %161, %157
  %166 = load i1, ptr %19, align 1
  br i1 %166, label %167, label %168

167:                                              ; preds = %165
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #8
  br label %168

168:                                              ; preds = %167, %165
  br label %169

169:                                              ; preds = %168, %153
  %170 = load i1, ptr %18, align 1
  br i1 %170, label %171, label %172

171:                                              ; preds = %169
  call void @llvm.lifetime.end.p0(i64 32, ptr %17) #8
  br label %172

172:                                              ; preds = %171, %169
  br label %173

173:                                              ; preds = %172, %149
  %174 = load i1, ptr %16, align 1
  br i1 %174, label %175, label %176

175:                                              ; preds = %173
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %14) #8
  br label %176

176:                                              ; preds = %175, %173
  %177 = load i1, ptr %15, align 1
  br i1 %177, label %178, label %179

178:                                              ; preds = %176
  call void @llvm.lifetime.end.p0(i64 1, ptr %14) #8
  br label %179

179:                                              ; preds = %178, %176
  br label %180

180:                                              ; preds = %179, %145
  call void @llvm.lifetime.end.p0(i64 32, ptr %13) #8
  br label %181

181:                                              ; preds = %180, %141
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #8
  br label %182

182:                                              ; preds = %181, %137
  call void @llvm.lifetime.end.p0(i64 32, ptr %12) #8
  br label %183

183:                                              ; preds = %182, %133
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #8
  br label %184

184:                                              ; preds = %183, %129
  call void @llvm.lifetime.end.p0(i64 32, ptr %11) #8
  br label %185

185:                                              ; preds = %184, %125
  call void @_ZN7Logging13LoggerMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(161) %8) #8
  br label %186

186:                                              ; preds = %185, %121
  call void @llvm.lifetime.end.p0(i64 432, ptr %8) #8
  br label %550

187:                                              ; preds = %116
  call void @llvm.lifetime.start.p0(i64 1, ptr %21) #8
  store i8 0, ptr %21, align 1, !tbaa !161
  call void @llvm.lifetime.start.p0(i64 1, ptr %22) #8
  store i8 0, ptr %22, align 1, !tbaa !161
  call void @llvm.lifetime.start.p0(i64 8, ptr %23) #8
  %188 = load ptr, ptr %6, align 8, !tbaa !5
  %189 = call ptr @_ZNKSt6vectorIN7DynexCN11WalletGreen16ContainerAmountsESaIS2_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %188) #8
  %190 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.404", ptr %24, i32 0, i32 0
  store ptr %189, ptr %190, align 8
  %191 = load ptr, ptr %6, align 8, !tbaa !5
  %192 = call ptr @_ZNKSt6vectorIN7DynexCN11WalletGreen16ContainerAmountsESaIS2_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %191) #8
  %193 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.404", ptr %25, i32 0, i32 0
  store ptr %192, ptr %193, align 8
  %194 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.404", ptr %24, i32 0, i32 0
  %195 = load ptr, ptr %194, align 8
  %196 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.404", ptr %25, i32 0, i32 0
  %197 = load ptr, ptr %196, align 8
  %198 = invoke noundef i64 @"_ZSt10accumulateIN9__gnu_cxx17__normal_iteratorIPKN7DynexCN11WalletGreen16ContainerAmountsESt6vectorIS4_SaIS4_EEEElZNS3_18transactionUpdatedERKNS2_22TransactionInformationERKS9_E3$_0ET0_T_SI_SH_T1_"(ptr %195, ptr %197, i64 noundef 0)
          to label %199 unwind label %242

199:                                              ; preds = %187
  store i64 %198, ptr %23, align 8, !tbaa !162
  call void @llvm.lifetime.start.p0(i64 8, ptr %27) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %28) #8
  %200 = getelementptr inbounds %"class.DynexCN::WalletGreen", ptr %55, i32 0, i32 13
  %201 = call noundef nonnull align 8 dereferenceable(56) ptr @_ZN5boost11multi_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_EE3getISD_EERNSR_5indexIT_E4typeEv(ptr noundef nonnull align 8 dereferenceable(120) %200) #8
  store ptr %201, ptr %28, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %29) #8
  %202 = load ptr, ptr %28, align 8, !tbaa !5
  %203 = load ptr, ptr %5, align 8, !tbaa !5
  %204 = getelementptr inbounds %"struct.DynexCN::TransactionInformation", ptr %203, i32 0, i32 0
  %205 = invoke ptr @_ZNK5boost11multi_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_tagEE4findIS7_EENS1_21hashed_index_iteratorINS1_17hashed_index_nodeINS1_18ordered_index_nodeINS1_19null_augment_policyENS1_15index_node_baseIS5_SW_EEEEEENS1_12bucket_arrayISW_EES13_NS1_32hashed_index_global_iterator_tagEEERKT_(ptr noundef nonnull align 8 dereferenceable(56) %202, ptr noundef nonnull align 1 dereferenceable(32) %204)
          to label %206 unwind label %246

206:                                              ; preds = %199
  %207 = getelementptr inbounds %"class.boost::multi_index::detail::hashed_index_iterator.500", ptr %29, i32 0, i32 0
  store ptr %205, ptr %207, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %30) #8
  %208 = load ptr, ptr %28, align 8, !tbaa !5
  %209 = call ptr @_ZN5boost11multi_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_tagEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) %208) #8
  %210 = getelementptr inbounds %"class.boost::multi_index::detail::hashed_index_iterator.500", ptr %30, i32 0, i32 0
  store ptr %209, ptr %210, align 8
  %211 = invoke noundef zeroext i1 @_ZN5boost14operators_implneERKNS_11multi_index6detail21hashed_index_iteratorINS2_17hashed_index_nodeINS2_18ordered_index_nodeINS2_19null_augment_policyENS2_15index_node_baseIN7DynexCN17WalletTransactionESaIS9_EEEEEEENS2_12bucket_arrayISA_EENS2_17hashed_unique_tagENS2_32hashed_index_global_iterator_tagEEESK_(ptr noundef nonnull align 8 dereferenceable(8) %29, ptr noundef nonnull align 8 dereferenceable(8) %30)
          to label %212 unwind label %250

212:                                              ; preds = %206
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #8
  br i1 %211, label %213, label %254

213:                                              ; preds = %212
  %214 = getelementptr inbounds %"class.DynexCN::WalletGreen", ptr %55, i32 0, i32 13
  %215 = call noundef nonnull align 8 dereferenceable(96) ptr @_ZN5boost11multi_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_EE3getIS7_EERNSR_5indexIT_E4typeEv(ptr noundef nonnull align 8 dereferenceable(120) %214) #8
  %216 = call ptr @_ZN5boost11multi_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_EELi0EEEE5beginEv(ptr noundef nonnull align 8 dereferenceable(96) %215) #8
  %217 = getelementptr inbounds %"class.boost::multi_index::detail::rnd_node_iterator.147", ptr %31, i32 0, i32 0
  store ptr %216, ptr %217, align 8
  %218 = getelementptr inbounds %"class.DynexCN::WalletGreen", ptr %55, i32 0, i32 13
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %33, ptr align 8 %29, i64 8, i1 false)
  %219 = getelementptr inbounds %"class.boost::multi_index::detail::hashed_index_iterator.500", ptr %33, i32 0, i32 0
  %220 = load ptr, ptr %219, align 8
  %221 = invoke ptr @_ZN5boost11multi_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_EE7projectIS7_NS0_6detail21hashed_index_iteratorINST_17hashed_index_nodeINST_18ordered_index_nodeINST_19null_augment_policyENST_15index_node_baseIS3_SQ_EEEEEENST_12bucket_arrayISQ_EENST_17hashed_unique_tagENST_32hashed_index_global_iterator_tagEEEEENSR_14index_iteratorIT_E4typeET0_(ptr noundef nonnull align 8 dereferenceable(120) %218, ptr %220)
          to label %222 unwind label %246

222:                                              ; preds = %213
  %223 = getelementptr inbounds %"class.boost::multi_index::detail::rnd_node_iterator.147", ptr %32, i32 0, i32 0
  store ptr %221, ptr %223, align 8
  %224 = getelementptr inbounds %"class.boost::multi_index::detail::rnd_node_iterator.147", ptr %31, i32 0, i32 0
  %225 = load ptr, ptr %224, align 8
  %226 = getelementptr inbounds %"class.boost::multi_index::detail::rnd_node_iterator.147", ptr %32, i32 0, i32 0
  %227 = load ptr, ptr %226, align 8
  %228 = invoke noundef i64 @_ZSt8distanceIN5boost11multi_index6detail17rnd_node_iteratorINS2_24random_access_index_nodeINS2_17hashed_index_nodeINS2_18ordered_index_nodeINS2_19null_augment_policyENS2_15index_node_baseIN7DynexCN17WalletTransactionESaISA_EEEEEEEEEEEENSt15iterator_traitsIT_E15difference_typeESI_SI_(ptr %225, ptr %227)
          to label %229 unwind label %246

229:                                              ; preds = %222
  store i64 %228, ptr %27, align 8, !tbaa !162
  %230 = load i64, ptr %27, align 8, !tbaa !162
  %231 = load ptr, ptr %5, align 8, !tbaa !5
  %232 = load i64, ptr %23, align 8, !tbaa !162
  %233 = invoke noundef zeroext i1 @_ZN7DynexCN11WalletGreen27updateWalletTransactionInfoEmRKNS_22TransactionInformationEl(ptr noundef nonnull align 8 dereferenceable(1872) %55, i64 noundef %230, ptr noundef nonnull align 8 dereferenceable(160) %231, i64 noundef %232)
          to label %234 unwind label %246

234:                                              ; preds = %229
  %235 = zext i1 %233 to i32
  %236 = load i8, ptr %21, align 1, !tbaa !161, !range !163, !noundef !164
  %237 = trunc i8 %236 to i1
  %238 = zext i1 %237 to i32
  %239 = or i32 %238, %235
  %240 = icmp ne i32 %239, 0
  %241 = zext i1 %240 to i8
  store i8 %241, ptr %21, align 1, !tbaa !161
  br label %275

242:                                              ; preds = %187
  %243 = landingpad { ptr, i32 }
          cleanup
  %244 = extractvalue { ptr, i32 } %243, 0
  store ptr %244, ptr %9, align 8
  %245 = extractvalue { ptr, i32 } %243, 1
  store i32 %245, ptr %10, align 4
  br label %549

246:                                              ; preds = %280, %254, %229, %222, %213, %199
  %247 = landingpad { ptr, i32 }
          cleanup
  %248 = extractvalue { ptr, i32 } %247, 0
  store ptr %248, ptr %9, align 8
  %249 = extractvalue { ptr, i32 } %247, 1
  store i32 %249, ptr %10, align 4
  br label %548

250:                                              ; preds = %206
  %251 = landingpad { ptr, i32 }
          cleanup
  %252 = extractvalue { ptr, i32 } %251, 0
  store ptr %252, ptr %9, align 8
  %253 = extractvalue { ptr, i32 } %251, 1
  store i32 %253, ptr %10, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #8
  br label %548

254:                                              ; preds = %212
  store i8 1, ptr %22, align 1, !tbaa !161
  %255 = load ptr, ptr %5, align 8, !tbaa !5
  %256 = load i64, ptr %23, align 8, !tbaa !162
  %257 = invoke noundef i64 @_ZN7DynexCN11WalletGreen27insertBlockchainTransactionERKNS_22TransactionInformationEl(ptr noundef nonnull align 8 dereferenceable(1872) %55, ptr noundef nonnull align 8 dereferenceable(160) %255, i64 noundef %256)
          to label %258 unwind label %246

258:                                              ; preds = %254
  store i64 %257, ptr %27, align 8, !tbaa !162
  %259 = getelementptr inbounds %"class.DynexCN::WalletGreen", ptr %55, i32 0, i32 15
  call void @llvm.lifetime.start.p0(i64 1, ptr %34) #8
  %260 = invoke noundef nonnull align 8 dereferenceable(153) ptr @_ZNK5boost11multi_index6detail21hashed_index_iteratorINS1_17hashed_index_nodeINS1_18ordered_index_nodeINS1_19null_augment_policyENS1_15index_node_baseIN7DynexCN17WalletTransactionESaIS8_EEEEEEENS1_12bucket_arrayIS9_EENS1_17hashed_unique_tagENS1_32hashed_index_global_iterator_tagEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %29)
          to label %261 unwind label %271

261:                                              ; preds = %258
  %262 = invoke noundef zeroext i1 @_ZNK7DynexCN11WalletGreen19isFusionTransactionERKNS_17WalletTransactionE(ptr noundef nonnull align 8 dereferenceable(1872) %55, ptr noundef nonnull align 8 dereferenceable(153) %260)
          to label %263 unwind label %271

263:                                              ; preds = %261
  %264 = zext i1 %262 to i8
  store i8 %264, ptr %34, align 1, !tbaa !161
  %265 = invoke { ptr, i8 } @_ZNSt13unordered_mapImbSt4hashImESt8equal_toImESaISt4pairIKmbEEE7emplaceIJRmbEEES4_INSt8__detail14_Node_iteratorIS6_Lb0ELb0EEEbEDpOT_(ptr noundef nonnull align 8 dereferenceable(56) %259, ptr noundef nonnull align 8 dereferenceable(8) %27, ptr noundef nonnull align 1 dereferenceable(1) %34)
          to label %266 unwind label %271

266:                                              ; preds = %263
  %267 = getelementptr inbounds { ptr, i8 }, ptr %35, i32 0, i32 0
  %268 = extractvalue { ptr, i8 } %265, 0
  store ptr %268, ptr %267, align 8
  %269 = getelementptr inbounds { ptr, i8 }, ptr %35, i32 0, i32 1
  %270 = extractvalue { ptr, i8 } %265, 1
  store i8 %270, ptr %269, align 8
  call void @llvm.lifetime.end.p0(i64 1, ptr %34) #8
  br label %275

271:                                              ; preds = %263, %261, %258
  %272 = landingpad { ptr, i32 }
          cleanup
  %273 = extractvalue { ptr, i32 } %272, 0
  store ptr %273, ptr %9, align 8
  %274 = extractvalue { ptr, i32 } %272, 1
  store i32 %274, ptr %10, align 4
  call void @llvm.lifetime.end.p0(i64 1, ptr %34) #8
  br label %548

275:                                              ; preds = %266, %234
  %276 = load ptr, ptr %5, align 8, !tbaa !5
  %277 = getelementptr inbounds %"struct.DynexCN::TransactionInformation", ptr %276, i32 0, i32 2
  %278 = load i32, ptr %277, align 8, !tbaa !165
  %279 = icmp ne i32 %278, -1
  br i1 %279, label %280, label %284

280:                                              ; preds = %275
  %281 = getelementptr inbounds %"class.DynexCN::WalletGreen", ptr %55, i32 0, i32 16
  %282 = invoke noundef i64 @_ZNSt3mapImN7DynexCN11TransactionESt4lessImESaISt4pairIKmS1_EEE5eraseERS5_(ptr noundef nonnull align 8 dereferenceable(48) %281, ptr noundef nonnull align 8 dereferenceable(8) %27)
          to label %283 unwind label %246

283:                                              ; preds = %280
  br label %284

284:                                              ; preds = %283, %275
  call void @llvm.lifetime.start.p0(i64 8, ptr %36) #8
  %285 = load ptr, ptr %6, align 8, !tbaa !5
  store ptr %285, ptr %36, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %37) #8
  %286 = load ptr, ptr %36, align 8, !tbaa !5
  %287 = call ptr @_ZNKSt6vectorIN7DynexCN11WalletGreen16ContainerAmountsESaIS2_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %286) #8
  %288 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.404", ptr %37, i32 0, i32 0
  store ptr %287, ptr %288, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %38) #8
  %289 = load ptr, ptr %36, align 8, !tbaa !5
  %290 = call ptr @_ZNKSt6vectorIN7DynexCN11WalletGreen16ContainerAmountsESaIS2_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %289) #8
  %291 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.404", ptr %38, i32 0, i32 0
  store ptr %290, ptr %291, align 8
  br label %292

292:                                              ; preds = %338, %284
  %293 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPKN7DynexCN11WalletGreen16ContainerAmountsESt6vectorIS3_SaIS3_EEEEbRKNS_17__normal_iteratorIT_T0_EESE_(ptr noundef nonnull align 8 dereferenceable(8) %37, ptr noundef nonnull align 8 dereferenceable(8) %38) #8
  br i1 %293, label %295, label %294

294:                                              ; preds = %292
  store i32 2, 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 %341

295:                                              ; preds = %292
  call void @llvm.lifetime.start.p0(i64 24, ptr %39) #8
  %296 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPKN7DynexCN11WalletGreen16ContainerAmountsESt6vectorIS3_SaIS3_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %37) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %39, ptr align 8 %296, i64 24, i1 false), !tbaa.struct !166
  %297 = getelementptr inbounds %"struct.DynexCN::WalletGreen::ContainerAmounts", ptr %39, i32 0, i32 0
  %298 = load ptr, ptr %297, align 8, !tbaa !167
  invoke void @_ZN7DynexCN11WalletGreen13updateBalanceEPNS_19ITransfersContainerE(ptr noundef nonnull align 8 dereferenceable(1872) %55, ptr noundef %298)
          to label %299 unwind label %324

299:                                              ; preds = %295
  %300 = load ptr, ptr %5, align 8, !tbaa !5
  %301 = getelementptr inbounds %"struct.DynexCN::TransactionInformation", ptr %300, i32 0, i32 2
  %302 = load i32, ptr %301, align 8, !tbaa !165
  %303 = icmp ne i32 %302, -1
  br i1 %303, label %304, label %337

304:                                              ; preds = %299
  call void @llvm.lifetime.start.p0(i64 4, ptr %40) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr %41) #8
  %305 = load ptr, ptr %5, align 8, !tbaa !5
  %306 = getelementptr inbounds %"struct.DynexCN::TransactionInformation", ptr %305, i32 0, i32 2
  %307 = load i32, ptr %306, align 8, !tbaa !165
  %308 = getelementptr inbounds %"class.DynexCN::WalletGreen", ptr %55, i32 0, i32 33
  %309 = load i32, ptr %308, align 8, !tbaa !170
  %310 = add i32 %307, %309
  store i32 %310, ptr %41, align 4, !tbaa !171
  call void @llvm.lifetime.start.p0(i64 4, ptr %42) #8
  %311 = load ptr, ptr %5, align 8, !tbaa !5
  %312 = getelementptr inbounds %"struct.DynexCN::TransactionInformation", ptr %311, i32 0, i32 4
  %313 = load i64, ptr %312, align 8, !tbaa !172
  %314 = trunc i64 %313 to i32
  store i32 %314, ptr %42, align 4, !tbaa !171
  %315 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3maxIjERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4) %41, ptr noundef nonnull align 4 dereferenceable(4) %42)
          to label %316 unwind label %328

316:                                              ; preds = %304
  %317 = load i32, ptr %315, align 4, !tbaa !171
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #8
  store i32 %317, ptr %40, align 4, !tbaa !171
  %318 = load ptr, ptr %5, align 8, !tbaa !5
  %319 = getelementptr inbounds %"struct.DynexCN::TransactionInformation", ptr %318, i32 0, i32 0
  %320 = load i32, ptr %40, align 4, !tbaa !171
  %321 = getelementptr inbounds %"struct.DynexCN::WalletGreen::ContainerAmounts", ptr %39, i32 0, i32 0
  %322 = load ptr, ptr %321, align 8, !tbaa !167
  invoke void @_ZN7DynexCN11WalletGreen26insertUnlockTransactionJobERKN6Crypto4HashEjPNS_19ITransfersContainerE(ptr noundef nonnull align 8 dereferenceable(1872) %55, ptr noundef nonnull align 1 dereferenceable(32) %319, i32 noundef %320, ptr noundef %322)
          to label %323 unwind label %332

323:                                              ; preds = %316
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #8
  br label %337

324:                                              ; preds = %295
  %325 = landingpad { ptr, i32 }
          cleanup
  %326 = extractvalue { ptr, i32 } %325, 0
  store ptr %326, ptr %9, align 8
  %327 = extractvalue { ptr, i32 } %325, 1
  store i32 %327, ptr %10, align 4
  br label %340

328:                                              ; preds = %304
  %329 = landingpad { ptr, i32 }
          cleanup
  %330 = extractvalue { ptr, i32 } %329, 0
  store ptr %330, ptr %9, align 8
  %331 = extractvalue { ptr, i32 } %329, 1
  store i32 %331, ptr %10, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #8
  br label %336

332:                                              ; preds = %316
  %333 = landingpad { ptr, i32 }
          cleanup
  %334 = extractvalue { ptr, i32 } %333, 0
  store ptr %334, ptr %9, align 8
  %335 = extractvalue { ptr, i32 } %333, 1
  store i32 %335, ptr %10, align 4
  br label %336

336:                                              ; preds = %332, %328
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #8
  br label %340

337:                                              ; preds = %323, %299
  call void @llvm.lifetime.end.p0(i64 24, ptr %39) #8
  br label %338

338:                                              ; preds = %337
  %339 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPKN7DynexCN11WalletGreen16ContainerAmountsESt6vectorIS3_SaIS3_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %37) #8
  br label %292

340:                                              ; preds = %336, %324
  call void @llvm.lifetime.end.p0(i64 24, 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 %548

341:                                              ; preds = %294
  call void @llvm.lifetime.start.p0(i64 1, ptr %43) #8
  %342 = load i64, ptr %27, align 8, !tbaa !162
  %343 = load ptr, ptr %6, align 8, !tbaa !5
  %344 = load ptr, ptr %5, align 8, !tbaa !5
  %345 = getelementptr inbounds %"struct.DynexCN::TransactionInformation", ptr %344, i32 0, i32 5
  %346 = load i64, ptr %345, align 8, !tbaa !153
  %347 = sub nsw i64 0, %346
  %348 = load ptr, ptr %5, align 8, !tbaa !5
  %349 = getelementptr inbounds %"struct.DynexCN::TransactionInformation", ptr %348, i32 0, i32 6
  %350 = load i64, ptr %349, align 8, !tbaa !159
  %351 = invoke noundef zeroext i1 @_ZN7DynexCN11WalletGreen26updateTransactionTransfersEmRKSt6vectorINS0_16ContainerAmountsESaIS2_EEll(ptr noundef nonnull align 8 dereferenceable(1872) %55, i64 noundef %342, ptr noundef nonnull align 8 dereferenceable(24) %343, i64 noundef %347, i64 noundef %350)
          to label %352 unwind label %431

352:                                              ; preds = %341
  %353 = zext i1 %351 to i8
  store i8 %353, ptr %43, align 1, !tbaa !161
  %354 = load i8, ptr %43, align 1, !tbaa !161, !range !163, !noundef !164
  %355 = trunc i8 %354 to i1
  %356 = zext i1 %355 to i32
  %357 = load i8, ptr %21, align 1, !tbaa !161, !range !163, !noundef !164
  %358 = trunc i8 %357 to i1
  %359 = zext i1 %358 to i32
  %360 = or i32 %359, %356
  %361 = icmp ne i32 %360, 0
  %362 = zext i1 %361 to i8
  store i8 %362, ptr %21, align 1, !tbaa !161
  %363 = load i8, ptr %22, align 1, !tbaa !161, !range !163, !noundef !164
  %364 = trunc i8 %363 to i1
  br i1 %364, label %365, label %478

365:                                              ; preds = %352
  call void @llvm.lifetime.start.p0(i64 8, ptr %44) #8
  %366 = getelementptr inbounds %"class.DynexCN::WalletGreen", ptr %55, i32 0, i32 13
  %367 = getelementptr inbounds i8, ptr %366, i64 16
  %368 = load i64, ptr %27, align 8, !tbaa !162
  %369 = invoke noundef nonnull align 8 dereferenceable(153) ptr @_ZNK5boost11multi_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_EELi0EEEEixEm(ptr noundef nonnull align 8 dereferenceable(96) %367, i64 noundef %368)
          to label %370 unwind label %435

370:                                              ; preds = %365
  store ptr %369, ptr %44, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 432, ptr %45) #8
  %371 = getelementptr inbounds %"class.DynexCN::WalletGreen", ptr %55, i32 0, i32 8
  invoke void @_ZNK7Logging9LoggerRefclENS_5LevelERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind writable sret(%"class.Logging::LoggerMessage") align 8 %45, ptr noundef nonnull align 8 dereferenceable(40) %371, i32 noundef 3, ptr noundef nonnull align 8 dereferenceable(32) @_ZN7Logging12BRIGHT_WHITEB5cxx11E)
          to label %372 unwind label %439

372:                                              ; preds = %370
  %373 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA30_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %45, ptr noundef nonnull align 1 dereferenceable(30) @.str.228)
          to label %374 unwind label %443

374:                                              ; preds = %372
  %375 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEmEOT_S3_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %373, ptr noundef nonnull align 8 dereferenceable(8) %27)
          to label %376 unwind label %443

376:                                              ; preds = %374
  %377 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA8_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %375, ptr noundef nonnull align 1 dereferenceable(8) @.str.155)
          to label %378 unwind label %443

378:                                              ; preds = %376
  %379 = load ptr, ptr %44, align 8, !tbaa !5
  %380 = getelementptr inbounds %"struct.DynexCN::WalletTransaction", ptr %379, i32 0, i32 4
  %381 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEN6Crypto4HashEEOT_S5_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %377, ptr noundef nonnull align 1 dereferenceable(32) %380)
          to label %382 unwind label %443

382:                                              ; preds = %378
  %383 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA9_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %381, ptr noundef nonnull align 1 dereferenceable(9) @.str.151)
          to label %384 unwind label %443

384:                                              ; preds = %382
  %385 = load ptr, ptr %44, align 8, !tbaa !5
  %386 = getelementptr inbounds %"struct.DynexCN::WalletTransaction", ptr %385, i32 0, i32 0
  %387 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEN7DynexCN22WalletTransactionStateEEOT_S5_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %383, ptr noundef nonnull align 1 dereferenceable(1) %386)
          to label %388 unwind label %443

388:                                              ; preds = %384
  %389 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA15_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %387, ptr noundef nonnull align 1 dereferenceable(15) @.str.229)
          to label %390 unwind label %443

390:                                              ; preds = %388
  call void @llvm.lifetime.start.p0(i64 32, ptr %46) #8
  %391 = getelementptr inbounds %"class.DynexCN::WalletGreen", ptr %55, i32 0, i32 6
  %392 = load ptr, ptr %391, align 8, !tbaa !9
  %393 = load ptr, ptr %44, align 8, !tbaa !5
  %394 = getelementptr inbounds %"struct.DynexCN::WalletTransaction", ptr %393, i32 0, i32 7
  %395 = load i64, ptr %394, align 8, !tbaa !173
  invoke void @_ZNK7DynexCN8Currency12formatAmountB5cxx11El(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %46, ptr noundef nonnull align 8 dereferenceable(984) %392, i64 noundef %395)
          to label %396 unwind label %447

396:                                              ; preds = %390
  %397 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEOT_S9_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %389, ptr noundef nonnull align 8 dereferenceable(32) %46)
          to label %398 unwind label %451

398:                                              ; preds = %396
  %399 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA7_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %397, ptr noundef nonnull align 1 dereferenceable(7) @.str.111)
          to label %400 unwind label %451

400:                                              ; preds = %398
  call void @llvm.lifetime.start.p0(i64 32, ptr %47) #8
  %401 = getelementptr inbounds %"class.DynexCN::WalletGreen", ptr %55, i32 0, i32 6
  %402 = load ptr, ptr %401, align 8, !tbaa !9
  %403 = load ptr, ptr %44, align 8, !tbaa !5
  %404 = getelementptr inbounds %"struct.DynexCN::WalletTransaction", ptr %403, i32 0, i32 8
  %405 = load i64, ptr %404, align 8, !tbaa !179
  invoke void @_ZNK7DynexCN8Currency12formatAmountB5cxx11Em(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %47, ptr noundef nonnull align 8 dereferenceable(984) %402, i64 noundef %405)
          to label %406 unwind label %455

406:                                              ; preds = %400
  %407 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEOT_S9_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %399, ptr noundef nonnull align 8 dereferenceable(32) %47)
          to label %408 unwind label %459

408:                                              ; preds = %406
  %409 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA14_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %407, ptr noundef nonnull align 1 dereferenceable(14) @.str.230)
          to label %410 unwind label %459

410:                                              ; preds = %408
  call void @llvm.lifetime.start.p0(i64 16, ptr %48) #8
  %411 = getelementptr inbounds %"class.DynexCN::WalletGreen", ptr %55, i32 0, i32 6
  %412 = load ptr, ptr %411, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %49) #8
  %413 = load i64, ptr %27, align 8, !tbaa !162
  %414 = invoke { ptr, ptr } @_ZNK7DynexCN11WalletGreen28getTransactionTransfersRangeEm(ptr noundef nonnull align 8 dereferenceable(1872) %55, i64 noundef %413)
          to label %415 unwind label %463

415:                                              ; preds = %410
  %416 = getelementptr inbounds { ptr, ptr }, ptr %49, i32 0, i32 0
  %417 = extractvalue { ptr, ptr } %414, 0
  store ptr %417, ptr %416, align 8
  %418 = getelementptr inbounds { ptr, ptr }, ptr %49, i32 0, i32 1
  %419 = extractvalue { ptr, ptr } %414, 1
  store ptr %419, ptr %418, align 8
  invoke void @_ZN7DynexCN21TransferListFormatterC1ERKNS_8CurrencyERKSt4pairIN9__gnu_cxx17__normal_iteratorIPKS4_ImNS_14WalletTransferEESt6vectorIS8_SaIS8_EEEESE_E(ptr noundef nonnull align 8 dereferenceable(16) %48, ptr noundef nonnull align 8 dereferenceable(984) %412, ptr noundef nonnull align 8 dereferenceable(16) %49)
          to label %420 unwind label %463

420:                                              ; preds = %415
  %421 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEN7DynexCN21TransferListFormatterEEOT_S5_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %409, ptr noundef nonnull align 8 dereferenceable(16) %48)
          to label %422 unwind label %463

422:                                              ; preds = %420
  call void @llvm.lifetime.end.p0(i64 16, ptr %49) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %48) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %47) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %46) #8
  call void @_ZN7Logging13LoggerMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(161) %45) #8
  call void @llvm.lifetime.end.p0(i64 432, ptr %45) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %50) #8
  %423 = load i64, ptr %27, align 8, !tbaa !162
  %424 = invoke { i32, i64 } @_ZN12_GLOBAL__N_127makeTransactionCreatedEventEm(i64 noundef %423)
          to label %425 unwind label %473

425:                                              ; preds = %422
  %426 = getelementptr inbounds { i32, i64 }, ptr %50, i32 0, i32 0
  %427 = extractvalue { i32, i64 } %424, 0
  store i32 %427, ptr %426, align 8
  %428 = getelementptr inbounds { i32, i64 }, ptr %50, i32 0, i32 1
  %429 = extractvalue { i32, i64 } %424, 1
  store i64 %429, ptr %428, align 8
  invoke void @_ZN7DynexCN11WalletGreen9pushEventERKNS_11WalletEventE(ptr noundef nonnull align 8 dereferenceable(1872) %55, ptr noundef nonnull align 8 dereferenceable(16) %50)
          to label %430 unwind label %473

430:                                              ; preds = %425
  call void @llvm.lifetime.end.p0(i64 16, ptr %50) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %44) #8
  br label %543

431:                                              ; preds = %341
  %432 = landingpad { ptr, i32 }
          cleanup
  %433 = extractvalue { ptr, i32 } %432, 0
  store ptr %433, ptr %9, align 8
  %434 = extractvalue { ptr, i32 } %432, 1
  store i32 %434, ptr %10, align 4
  br label %547

435:                                              ; preds = %365
  %436 = landingpad { ptr, i32 }
          cleanup
  %437 = extractvalue { ptr, i32 } %436, 0
  store ptr %437, ptr %9, align 8
  %438 = extractvalue { ptr, i32 } %436, 1
  store i32 %438, ptr %10, align 4
  br label %477

439:                                              ; preds = %370
  %440 = landingpad { ptr, i32 }
          cleanup
  %441 = extractvalue { ptr, i32 } %440, 0
  store ptr %441, ptr %9, align 8
  %442 = extractvalue { ptr, i32 } %440, 1
  store i32 %442, ptr %10, align 4
  br label %472

443:                                              ; preds = %388, %384, %382, %378, %376, %374, %372
  %444 = landingpad { ptr, i32 }
          cleanup
  %445 = extractvalue { ptr, i32 } %444, 0
  store ptr %445, ptr %9, align 8
  %446 = extractvalue { ptr, i32 } %444, 1
  store i32 %446, ptr %10, align 4
  br label %471

447:                                              ; preds = %390
  %448 = landingpad { ptr, i32 }
          cleanup
  %449 = extractvalue { ptr, i32 } %448, 0
  store ptr %449, ptr %9, align 8
  %450 = extractvalue { ptr, i32 } %448, 1
  store i32 %450, ptr %10, align 4
  br label %470

451:                                              ; preds = %398, %396
  %452 = landingpad { ptr, i32 }
          cleanup
  %453 = extractvalue { ptr, i32 } %452, 0
  store ptr %453, ptr %9, align 8
  %454 = extractvalue { ptr, i32 } %452, 1
  store i32 %454, ptr %10, align 4
  br label %469

455:                                              ; preds = %400
  %456 = landingpad { ptr, i32 }
          cleanup
  %457 = extractvalue { ptr, i32 } %456, 0
  store ptr %457, ptr %9, align 8
  %458 = extractvalue { ptr, i32 } %456, 1
  store i32 %458, ptr %10, align 4
  br label %468

459:                                              ; preds = %408, %406
  %460 = landingpad { ptr, i32 }
          cleanup
  %461 = extractvalue { ptr, i32 } %460, 0
  store ptr %461, ptr %9, align 8
  %462 = extractvalue { ptr, i32 } %460, 1
  store i32 %462, ptr %10, align 4
  br label %467

463:                                              ; preds = %420, %415, %410
  %464 = landingpad { ptr, i32 }
          cleanup
  %465 = extractvalue { ptr, i32 } %464, 0
  store ptr %465, ptr %9, align 8
  %466 = extractvalue { ptr, i32 } %464, 1
  store i32 %466, ptr %10, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %49) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %48) #8
  br label %467

467:                                              ; preds = %463, %459
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #8
  br label %468

468:                                              ; preds = %467, %455
  call void @llvm.lifetime.end.p0(i64 32, ptr %47) #8
  br label %469

469:                                              ; preds = %468, %451
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #8
  br label %470

470:                                              ; preds = %469, %447
  call void @llvm.lifetime.end.p0(i64 32, ptr %46) #8
  br label %471

471:                                              ; preds = %470, %443
  call void @_ZN7Logging13LoggerMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(161) %45) #8
  br label %472

472:                                              ; preds = %471, %439
  call void @llvm.lifetime.end.p0(i64 432, ptr %45) #8
  br label %477

473:                                              ; preds = %425, %422
  %474 = landingpad { ptr, i32 }
          cleanup
  %475 = extractvalue { ptr, i32 } %474, 0
  store ptr %475, ptr %9, align 8
  %476 = extractvalue { ptr, i32 } %474, 1
  store i32 %476, ptr %10, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %50) #8
  br label %477

477:                                              ; preds = %473, %472, %435
  call void @llvm.lifetime.end.p0(i64 8, ptr %44) #8
  br label %547

478:                                              ; preds = %352
  %479 = load i8, ptr %21, align 1, !tbaa !161, !range !163, !noundef !164
  %480 = trunc i8 %479 to i1
  br i1 %480, label %481, label %542

481:                                              ; preds = %478
  %482 = load i8, ptr %43, align 1, !tbaa !161, !range !163, !noundef !164
  %483 = trunc i8 %482 to i1
  br i1 %483, label %484, label %529

484:                                              ; preds = %481
  call void @llvm.lifetime.start.p0(i64 432, ptr %51) #8
  %485 = getelementptr inbounds %"class.DynexCN::WalletGreen", ptr %55, i32 0, i32 8
  invoke void @_ZNK7Logging9LoggerRefclENS_5LevelERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind writable sret(%"class.Logging::LoggerMessage") align 8 %51, ptr noundef nonnull align 8 dereferenceable(40) %485, i32 noundef 4, ptr noundef nonnull align 8 dereferenceable(32) @_ZN7Logging7DEFAULTB5cxx11E)
          to label %486 unwind label %515

486:                                              ; preds = %484
  %487 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA35_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %51, ptr noundef nonnull align 1 dereferenceable(35) @.str.231)
          to label %488 unwind label %519

488:                                              ; preds = %486
  %489 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEmEOT_S3_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %487, ptr noundef nonnull align 8 dereferenceable(8) %27)
          to label %490 unwind label %519

490:                                              ; preds = %488
  %491 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA8_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %489, ptr noundef nonnull align 1 dereferenceable(8) @.str.155)
          to label %492 unwind label %519

492:                                              ; preds = %490
  %493 = getelementptr inbounds %"class.DynexCN::WalletGreen", ptr %55, i32 0, i32 13
  %494 = getelementptr inbounds i8, ptr %493, i64 16
  %495 = load i64, ptr %27, align 8, !tbaa !162
  %496 = invoke noundef nonnull align 8 dereferenceable(153) ptr @_ZNK5boost11multi_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_EELi0EEEEixEm(ptr noundef nonnull align 8 dereferenceable(96) %494, i64 noundef %495)
          to label %497 unwind label %519

497:                                              ; preds = %492
  %498 = getelementptr inbounds %"struct.DynexCN::WalletTransaction", ptr %496, i32 0, i32 4
  %499 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEN6Crypto4HashEEOT_S5_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %491, ptr noundef nonnull align 1 dereferenceable(32) %498)
          to label %500 unwind label %519

500:                                              ; preds = %497
  %501 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA14_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %499, ptr noundef nonnull align 1 dereferenceable(14) @.str.230)
          to label %502 unwind label %519

502:                                              ; preds = %500
  call void @llvm.lifetime.start.p0(i64 16, ptr %52) #8
  %503 = getelementptr inbounds %"class.DynexCN::WalletGreen", ptr %55, i32 0, i32 6
  %504 = load ptr, ptr %503, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %53) #8
  %505 = load i64, ptr %27, align 8, !tbaa !162
  %506 = invoke { ptr, ptr } @_ZNK7DynexCN11WalletGreen28getTransactionTransfersRangeEm(ptr noundef nonnull align 8 dereferenceable(1872) %55, i64 noundef %505)
          to label %507 unwind label %523

507:                                              ; preds = %502
  %508 = getelementptr inbounds { ptr, ptr }, ptr %53, i32 0, i32 0
  %509 = extractvalue { ptr, ptr } %506, 0
  store ptr %509, ptr %508, align 8
  %510 = getelementptr inbounds { ptr, ptr }, ptr %53, i32 0, i32 1
  %511 = extractvalue { ptr, ptr } %506, 1
  store ptr %511, ptr %510, align 8
  invoke void @_ZN7DynexCN21TransferListFormatterC1ERKNS_8CurrencyERKSt4pairIN9__gnu_cxx17__normal_iteratorIPKS4_ImNS_14WalletTransferEESt6vectorIS8_SaIS8_EEEESE_E(ptr noundef nonnull align 8 dereferenceable(16) %52, ptr noundef nonnull align 8 dereferenceable(984) %504, ptr noundef nonnull align 8 dereferenceable(16) %53)
          to label %512 unwind label %523

512:                                              ; preds = %507
  %513 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEN7DynexCN21TransferListFormatterEEOT_S5_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %501, ptr noundef nonnull align 8 dereferenceable(16) %52)
          to label %514 unwind label %523

514:                                              ; preds = %512
  call void @llvm.lifetime.end.p0(i64 16, ptr %53) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %52) #8
  call void @_ZN7Logging13LoggerMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(161) %51) #8
  call void @llvm.lifetime.end.p0(i64 432, ptr %51) #8
  br label %529

515:                                              ; preds = %484
  %516 = landingpad { ptr, i32 }
          cleanup
  %517 = extractvalue { ptr, i32 } %516, 0
  store ptr %517, ptr %9, align 8
  %518 = extractvalue { ptr, i32 } %516, 1
  store i32 %518, ptr %10, align 4
  br label %528

519:                                              ; preds = %500, %497, %492, %490, %488, %486
  %520 = landingpad { ptr, i32 }
          cleanup
  %521 = extractvalue { ptr, i32 } %520, 0
  store ptr %521, ptr %9, align 8
  %522 = extractvalue { ptr, i32 } %520, 1
  store i32 %522, ptr %10, align 4
  br label %527

523:                                              ; preds = %512, %507, %502
  %524 = landingpad { ptr, i32 }
          cleanup
  %525 = extractvalue { ptr, i32 } %524, 0
  store ptr %525, ptr %9, align 8
  %526 = extractvalue { ptr, i32 } %524, 1
  store i32 %526, ptr %10, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %53) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %52) #8
  br label %527

527:                                              ; preds = %523, %519
  call void @_ZN7Logging13LoggerMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(161) %51) #8
  br label %528

528:                                              ; preds = %527, %515
  call void @llvm.lifetime.end.p0(i64 432, ptr %51) #8
  br label %547

529:                                              ; preds = %514, %481
  call void @llvm.lifetime.start.p0(i64 16, ptr %54) #8
  %530 = load i64, ptr %27, align 8, !tbaa !162
  %531 = invoke { i32, i64 } @_ZN12_GLOBAL__N_127makeTransactionUpdatedEventEm(i64 noundef %530)
          to label %532 unwind label %538

532:                                              ; preds = %529
  %533 = getelementptr inbounds { i32, i64 }, ptr %54, i32 0, i32 0
  %534 = extractvalue { i32, i64 } %531, 0
  store i32 %534, ptr %533, align 8
  %535 = getelementptr inbounds { i32, i64 }, ptr %54, i32 0, i32 1
  %536 = extractvalue { i32, i64 } %531, 1
  store i64 %536, ptr %535, align 8
  invoke void @_ZN7DynexCN11WalletGreen9pushEventERKNS_11WalletEventE(ptr noundef nonnull align 8 dereferenceable(1872) %55, ptr noundef nonnull align 8 dereferenceable(16) %54)
          to label %537 unwind label %538

537:                                              ; preds = %532
  call void @llvm.lifetime.end.p0(i64 16, ptr %54) #8
  br label %542

538:                                              ; preds = %532, %529
  %539 = landingpad { ptr, i32 }
          cleanup
  %540 = extractvalue { ptr, i32 } %539, 0
  store ptr %540, ptr %9, align 8
  %541 = extractvalue { ptr, i32 } %539, 1
  store i32 %541, ptr %10, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %54) #8
  br label %547

542:                                              ; preds = %537, %478
  br label %543

543:                                              ; preds = %542, %430
  call void @llvm.lifetime.end.p0(i64 1, ptr %43) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %29) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %23) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %22) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %21) #8
  store i32 0, ptr %20, align 4
  br label %544

544:                                              ; preds = %543, %120
  call void @_ZN6System9EventLockD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %7) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %7) #8
  %545 = load i32, ptr %20, align 4
  switch i32 %545, label %556 [
    i32 0, label %546
    i32 1, label %546
  ]

546:                                              ; preds = %544, %544
  ret void

547:                                              ; preds = %538, %528, %477, %431
  call void @llvm.lifetime.end.p0(i64 1, ptr %43) #8
  br label %548

548:                                              ; preds = %547, %340, %271, %250, %246
  call void @llvm.lifetime.end.p0(i64 8, ptr %29) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #8
  br label %549

549:                                              ; preds = %548, %242
  call void @llvm.lifetime.end.p0(i64 8, ptr %23) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %22) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %21) #8
  br label %550

550:                                              ; preds = %549, %186
  call void @_ZN6System9EventLockD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %7) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %7) #8
  br label %551

551:                                              ; preds = %550
  %552 = load ptr, ptr %9, align 8
  %553 = load i32, ptr %10, align 4
  %554 = insertvalue { ptr, i32 } poison, ptr %552, 0
  %555 = insertvalue { ptr, i32 } %554, i32 %553, 1
  resume { ptr, i32 } %555

556:                                              ; preds = %544
  unreachable
}

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef i64 @"_ZSt10accumulateIN9__gnu_cxx17__normal_iteratorIPKN7DynexCN11WalletGreen16ContainerAmountsESt6vectorIS4_SaIS4_EEEElZNS3_18transactionUpdatedERKNS2_22TransactionInformationERKS9_E3$_0ET0_T_SI_SH_T1_"(ptr, ptr, i64 noundef) #6

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(56) ptr @_ZN5boost11multi_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_EE3getISD_EERNSR_5indexIT_E4typeEv(ptr noundef nonnull align 8 dereferenceable(120)) #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN5boost14operators_implneERKNS_11multi_index6detail21hashed_index_iteratorINS2_17hashed_index_nodeINS2_18ordered_index_nodeINS2_19null_augment_policyENS2_15index_node_baseIN7DynexCN17WalletTransactionESaIS9_EEEEEEENS2_12bucket_arrayISA_EENS2_17hashed_unique_tagENS2_32hashed_index_global_iterator_tagEEESK_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) #3

; Function Attrs: mustprogress nounwind uwtable
declare dso_local ptr @_ZN5boost11multi_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_tagEE3endEv(ptr noundef nonnull align 8 dereferenceable(56)) #1 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef i64 @_ZSt8distanceIN5boost11multi_index6detail17rnd_node_iteratorINS2_24random_access_index_nodeINS2_17hashed_index_nodeINS2_18ordered_index_nodeINS2_19null_augment_policyENS2_15index_node_baseIN7DynexCN17WalletTransactionESaISA_EEEEEEEEEEEENSt15iterator_traitsIT_E15difference_typeESI_SI_(ptr, ptr) #6

; Function Attrs: mustprogress uwtable
declare dso_local ptr @_ZN5boost11multi_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_EE7projectIS7_NS0_6detail21hashed_index_iteratorINST_17hashed_index_nodeINST_18ordered_index_nodeINST_19null_augment_policyENST_15index_node_baseIS3_SQ_EEEEEENST_12bucket_arrayISQ_EENST_17hashed_unique_tagENST_32hashed_index_global_iterator_tagEEEEENSR_14index_iteratorIT_E4typeET0_(ptr noundef nonnull align 8 dereferenceable(120), ptr) #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local { ptr, i8 } @_ZNSt13unordered_mapImbSt4hashImESt8equal_toImESaISt4pairIKmbEEE7emplaceIJRmbEEES4_INSt8__detail14_Node_iteratorIS6_Lb0ELb0EEEbEDpOT_(ptr noundef nonnull align 8 dereferenceable(56), ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(1)) #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZNK7DynexCN11WalletGreen19isFusionTransactionERKNS_17WalletTransactionE(ptr noundef nonnull align 8 dereferenceable(1872), ptr noundef nonnull align 8 dereferenceable(153)) #3 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3maxIjERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4)) #7

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

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

declare void @_ZN7DynexCN21TransferListFormatterC1ERKNS_8CurrencyERKSt4pairIN9__gnu_cxx17__normal_iteratorIPKS4_ImNS_14WalletTransferEESt6vectorIS8_SaIS8_EEEESE_E(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(984), ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #4

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


; Optimized IR (opt -passes='default<O3>'):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

%"struct.Crypto::Hash" = type { [32 x i8] }
%"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.System::EventLock" = type { ptr }
%"class.std::allocator" = type { i8 }
%"class.boost::multi_index::detail::hashed_index_iterator.500" = type { ptr }
%"class.__gnu_cxx::__normal_iterator.404" = type { ptr }
%"class.DynexCN::TransferListFormatter" = type { ptr, ptr }
%"struct.std::pair.299" = type { %"class.__gnu_cxx::__normal_iterator.301", %"class.__gnu_cxx::__normal_iterator.301" }
%"class.__gnu_cxx::__normal_iterator.301" = type { ptr }
%"struct.DynexCN::WalletEvent" = type { i32, %union.anon.298 }
%union.anon.298 = type { %"struct.DynexCN::WalletTransactionCreatedData" }
%"struct.DynexCN::WalletTransactionCreatedData" = type { i64 }

@_ZN7DynexCNL9NULL_HASHE = external hidden global %"struct.Crypto::Hash", align 1
@_ZN7Logging12BRIGHT_WHITEB5cxx11E = external global %"class.std::__cxx11::basic_string", align 8
@.str.25 = external hidden unnamed_addr constant [1 x i8], align 1
@_ZN7Logging7DEFAULTB5cxx11E = external global %"class.std::__cxx11::basic_string", align 8
@.str.111 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.151 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.155 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.163 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.224 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.225 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.226 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.227 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.228 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.229 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.230 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.231 = external hidden unnamed_addr constant [35 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 nounwind uwtable
declare void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef, ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #2 align 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: mustprogress nounwind uwtable
declare dso_local ptr @_ZN5boost11multi_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_EELi0EEEE5beginEv(ptr noundef nonnull align 8 dereferenceable(96)) local_unnamed_addr #1 align 2

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA17_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161), ptr noundef nonnull align 1 dereferenceable(17)) local_unnamed_addr #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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA35_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161), ptr noundef nonnull align 1 dereferenceable(35)) local_unnamed_addr #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: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA32_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161), ptr noundef nonnull align 1 dereferenceable(32)) local_unnamed_addr #5

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare hidden { i32, i64 } @_ZN12_GLOBAL__N_127makeTransactionUpdatedEventEm(i64 noundef) local_unnamed_addr #1

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(153) ptr @_ZNK5boost11multi_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_EELi0EEEEixEm(ptr noundef nonnull align 8 dereferenceable(96), i64 noundef) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local { ptr, ptr } @_ZNK7DynexCN11WalletGreen28getTransactionTransfersRangeEm(ptr noundef nonnull align 8 dereferenceable(1872), i64 noundef) local_unnamed_addr #2 align 2

declare void @_ZN6System9EventLockC1ERNS_5EventE(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA9_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161), ptr noundef nonnull align 1 dereferenceable(9)) 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: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA8_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161), ptr noundef nonnull align 1 dereferenceable(8)) local_unnamed_addr #5

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

declare void @_ZNK7DynexCN8Currency12formatAmountB5cxx11El(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 noundef nonnull align 8 dereferenceable(96) ptr @_ZN5boost11multi_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_EE3getIS7_EERNSR_5indexIT_E4typeEv(ptr noundef nonnull align 8 dereferenceable(120)) local_unnamed_addr #1 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef i64 @_ZNSt3mapImN7DynexCN11TransactionESt4lessImESaISt4pairIKmS1_EEE5eraseERS5_(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #2 align 2

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

; Function Attrs: mustprogress nounwind uwtable
declare hidden { i32, i64 } @_ZN12_GLOBAL__N_127makeTransactionCreatedEventEm(i64 noundef) local_unnamed_addr #1

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

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef i64 @_ZN7DynexCN11WalletGreen27insertBlockchainTransactionERKNS_22TransactionInformationEl(ptr noundef nonnull align 8 dereferenceable(1872), ptr noundef nonnull align 8 dereferenceable(160), i64 noundef) local_unnamed_addr #2 align 2

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local ptr @_ZNKSt6vectorIN7DynexCN11WalletGreen16ContainerAmountsESaIS2_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_cxxneIPKN7DynexCN11WalletGreen16ContainerAmountsESt6vectorIS3_SaIS3_EEEEbRKNS_17__normal_iteratorIT_T0_EESE_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #6

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(24) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPKN7DynexCN11WalletGreen16ContainerAmountsESt6vectorIS3_SaIS3_EEEdeEv(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_iteratorIPKN7DynexCN11WalletGreen16ContainerAmountsESt6vectorIS3_SaIS3_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local ptr @_ZNK5boost11multi_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_tagEE4findIS7_EENS1_21hashed_index_iteratorINS1_17hashed_index_nodeINS1_18ordered_index_nodeINS1_19null_augment_policyENS1_15index_node_baseIS5_SW_EEEEEENS1_12bucket_arrayISW_EES13_NS1_32hashed_index_global_iterator_tagEEERKT_(ptr noundef nonnull align 8 dereferenceable(56), ptr noundef nonnull align 1 dereferenceable(32)) local_unnamed_addr #2 align 2

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

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN7DynexCN11WalletGreen18transactionUpdatedERKNS_22TransactionInformationERKSt6vectorINS0_16ContainerAmountsESaIS5_EE(ptr noundef nonnull align 8 dereferenceable(1872) %0, ptr noundef nonnull align 8 dereferenceable(160) %1, ptr noundef nonnull align 8 dereferenceable(24) %2) local_unnamed_addr #2 align 2 personality ptr @__gxx_personality_v0 {
  %4 = alloca %"class.System::EventLock", align 8
  %5 = alloca %"class.Logging::LoggerMessage", align 8
  %6 = alloca %"class.std::__cxx11::basic_string", align 8
  %7 = alloca %"class.std::__cxx11::basic_string", align 8
  %8 = alloca %"class.std::__cxx11::basic_string", align 8
  %9 = alloca %"class.std::allocator", align 1
  %10 = alloca %"class.std::__cxx11::basic_string", align 8
  %11 = alloca i64, align 8
  %12 = alloca %"class.boost::multi_index::detail::hashed_index_iterator.500", align 8
  %13 = alloca %"class.boost::multi_index::detail::hashed_index_iterator.500", align 8
  %14 = alloca i8, align 1
  %15 = alloca %"class.__gnu_cxx::__normal_iterator.404", align 8
  %16 = alloca %"class.__gnu_cxx::__normal_iterator.404", align 8
  %17 = alloca i32, align 4
  %18 = alloca i32, align 4
  %19 = alloca %"class.Logging::LoggerMessage", align 8
  %20 = alloca %"class.std::__cxx11::basic_string", align 8
  %21 = alloca %"class.std::__cxx11::basic_string", align 8
  %22 = alloca %"class.DynexCN::TransferListFormatter", align 8
  %23 = alloca %"struct.std::pair.299", align 8
  %24 = alloca %"struct.DynexCN::WalletEvent", align 8
  %25 = alloca %"class.Logging::LoggerMessage", align 8
  %26 = alloca %"class.DynexCN::TransferListFormatter", align 8
  %27 = alloca %"struct.std::pair.299", align 8
  %28 = alloca %"struct.DynexCN::WalletEvent", align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %4) #7
  %29 = getelementptr inbounds i8, ptr %0, i64 1488
  call void @_ZN6System9EventLockC1ERNS_5EventE(ptr noundef nonnull align 8 dereferenceable(8) %4, ptr noundef nonnull align 8 dereferenceable(32) %29)
  call void @llvm.lifetime.start.p0(i64 432, ptr nonnull %5) #7
  %30 = getelementptr inbounds i8, ptr %0, i64 64
  invoke void @_ZNK7Logging9LoggerRefclENS_5LevelERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind nonnull writable sret(%"class.Logging::LoggerMessage") align 8 %5, ptr noundef nonnull align 8 dereferenceable(40) %30, i32 noundef 4, ptr noundef nonnull align 8 dereferenceable(32) @_ZN7Logging7DEFAULTB5cxx11E)
          to label %31 unwind label %69

31:                                               ; preds = %3
  %32 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA32_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %5, ptr noundef nonnull align 1 dereferenceable(32) @.str.224)
          to label %33 unwind label %71

33:                                               ; preds = %31
  %34 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEN6Crypto4HashEEOT_S5_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %32, ptr noundef nonnull align 1 dereferenceable(32) %1)
          to label %35 unwind label %71

35:                                               ; preds = %33
  %36 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA9_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %34, ptr noundef nonnull align 1 dereferenceable(9) @.str.163)
          to label %37 unwind label %71

37:                                               ; preds = %35
  %38 = getelementptr inbounds i8, ptr %1, i64 64
  %39 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEjEOT_S3_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %36, ptr noundef nonnull align 4 dereferenceable(4) %38)
          to label %40 unwind label %71

40:                                               ; preds = %37
  %41 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA17_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %39, ptr noundef nonnull align 1 dereferenceable(17) @.str.225)
          to label %42 unwind label %71

42:                                               ; preds = %40
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %6) #7
  %43 = getelementptr inbounds i8, ptr %0, i64 48
  %44 = load ptr, ptr %43, align 8, !tbaa !5
  %45 = getelementptr inbounds i8, ptr %1, i64 88
  %46 = load i64, ptr %45, align 8, !tbaa !152
  invoke void @_ZNK7DynexCN8Currency12formatAmountB5cxx11Em(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %6, ptr noundef nonnull align 8 dereferenceable(984) %44, i64 noundef %46)
          to label %47 unwind label %73

47:                                               ; preds = %42
  %48 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEOT_S9_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %41, ptr noundef nonnull align 8 dereferenceable(32) %6)
          to label %49 unwind label %75

49:                                               ; preds = %47
  %50 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA18_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %48, ptr noundef nonnull align 1 dereferenceable(18) @.str.226)
          to label %51 unwind label %75

51:                                               ; preds = %49
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %7) #7
  %52 = load ptr, ptr %43, align 8, !tbaa !5
  %53 = getelementptr inbounds i8, ptr %1, i64 96
  %54 = load i64, ptr %53, align 8, !tbaa !158
  invoke void @_ZNK7DynexCN8Currency12formatAmountB5cxx11Em(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %7, ptr noundef nonnull align 8 dereferenceable(984) %52, i64 noundef %54)
          to label %55 unwind label %77

55:                                               ; preds = %51
  %56 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEOT_S9_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %50, ptr noundef nonnull align 8 dereferenceable(32) %7)
          to label %57 unwind label %79

57:                                               ; preds = %55
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %8) #7
  %58 = getelementptr inbounds i8, ptr %1, i64 128
  %59 = call noundef zeroext i1 @_ZN6CryptoeqERKNS_4HashES2_(ptr noundef nonnull align 1 dereferenceable(32) %58, ptr noundef nonnull align 1 dereferenceable(32) @_ZN7DynexCNL9NULL_HASHE)
  br i1 %59, label %60, label %61

60:                                               ; preds = %57
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %9) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %9) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %8, ptr noundef nonnull @.str.25, ptr noundef nonnull align 1 dereferenceable(1) %9)
          to label %63 unwind label %.thread138

61:                                               ; preds = %57
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %10) #7
  invoke void @_ZN6Common8podToHexIN6Crypto4HashEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %10, ptr noundef nonnull align 1 dereferenceable(32) %58)
          to label %62 unwind label %.thread143

62:                                               ; preds = %61
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %8, ptr noundef nonnull @.str.227, ptr noundef nonnull align 8 dereferenceable(32) %10)
          to label %63 unwind label %.thread146

63:                                               ; preds = %62, %60
  %64 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEOT_S9_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %56, ptr noundef nonnull align 8 dereferenceable(32) %8)
          to label %65 unwind label %84

65:                                               ; preds = %63
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #7
  br i1 %59, label %.critedge125, label %.critedge

.critedge:                                        ; preds = %65
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %10) #7
  br label %.critedge122

.critedge125:                                     ; preds = %65
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %9) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %9) #7
  br label %.critedge122

.critedge122:                                     ; preds = %.critedge, %.critedge125
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %8) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6) #7
  call void @_ZN7Logging13LoggerMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(161) %5) #7
  call void @llvm.lifetime.end.p0(i64 432, ptr nonnull %5) #7
  %66 = getelementptr inbounds i8, ptr %0, i64 1520
  %67 = load i32, ptr %66, align 8, !tbaa !159
  %68 = icmp eq i32 %67, 1
  br i1 %68, label %295, label %94

69:                                               ; preds = %3
  %70 = landingpad { ptr, i32 }
          cleanup
  br label %93

71:                                               ; preds = %40, %37, %35, %33, %31
  %72 = landingpad { ptr, i32 }
          cleanup
  br label %92

73:                                               ; preds = %42
  %74 = landingpad { ptr, i32 }
          cleanup
  br label %91

75:                                               ; preds = %49, %47
  %76 = landingpad { ptr, i32 }
          cleanup
  br label %90

77:                                               ; preds = %51
  %78 = landingpad { ptr, i32 }
          cleanup
  br label %89

79:                                               ; preds = %55
  %80 = landingpad { ptr, i32 }
          cleanup
  br label %88

.thread138:                                       ; preds = %60
  %81 = landingpad { ptr, i32 }
          cleanup
  br label %87

.thread143:                                       ; preds = %61
  %82 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %10) #7
  br label %.critedge124

.thread146:                                       ; preds = %62
  %83 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %10) #7
  br label %.critedge124

84:                                               ; preds = %63
  %85 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #7
  br i1 %59, label %87, label %86

86:                                               ; preds = %84
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %10) #7
  br label %.critedge124

87:                                               ; preds = %84, %.thread138
  %.pn.pn.pn142 = phi { ptr, i32 } [ %81, %.thread138 ], [ %85, %84 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %9) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %9) #7
  br label %.critedge124

.critedge124:                                     ; preds = %86, %.thread146, %.thread143, %87
  %.pn.pn.pn141 = phi { ptr, i32 } [ %.pn.pn.pn142, %87 ], [ %85, %86 ], [ %82, %.thread143 ], [ %83, %.thread146 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %8) #7
  br label %88

88:                                               ; preds = %.critedge124, %79
  %.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn141, %.critedge124 ], [ %80, %79 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #7
  br label %89

89:                                               ; preds = %88, %77
  %.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn, %88 ], [ %78, %77 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #7
  br label %90

90:                                               ; preds = %89, %75
  %.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn, %89 ], [ %76, %75 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #7
  br label %91

91:                                               ; preds = %90, %73
  %.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn, %90 ], [ %74, %73 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6) #7
  br label %92

92:                                               ; preds = %91, %71
  %.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn, %91 ], [ %72, %71 ]
  call void @_ZN7Logging13LoggerMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(161) %5) #7
  br label %93

93:                                               ; preds = %92, %69
  %.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn.pn, %92 ], [ %70, %69 ]
  call void @llvm.lifetime.end.p0(i64 432, ptr nonnull %5) #7
  br label %297

94:                                               ; preds = %.critedge122
  %95 = call ptr @_ZNKSt6vectorIN7DynexCN11WalletGreen16ContainerAmountsESaIS2_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %2) #7
  %96 = call ptr @_ZNKSt6vectorIN7DynexCN11WalletGreen16ContainerAmountsESaIS2_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %2) #7
  %97 = invoke noundef i64 @"_ZSt10accumulateIN9__gnu_cxx17__normal_iteratorIPKN7DynexCN11WalletGreen16ContainerAmountsESt6vectorIS4_SaIS4_EEEElZNS3_18transactionUpdatedERKNS2_22TransactionInformationERKS9_E3$_0ET0_T_SI_SH_T1_"(ptr %95, ptr %96, i64 noundef 0)
          to label %98 unwind label %114

98:                                               ; preds = %94
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %11) #7
  %99 = getelementptr inbounds i8, ptr %0, i64 488
  %100 = call noundef nonnull align 8 dereferenceable(56) ptr @_ZN5boost11multi_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_EE3getISD_EERNSR_5indexIT_E4typeEv(ptr noundef nonnull align 8 dereferenceable(120) %99) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %12) #7
  %101 = invoke ptr @_ZNK5boost11multi_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_tagEE4findIS7_EENS1_21hashed_index_iteratorINS1_17hashed_index_nodeINS1_18ordered_index_nodeINS1_19null_augment_policyENS1_15index_node_baseIS5_SW_EEEEEENS1_12bucket_arrayISW_EES13_NS1_32hashed_index_global_iterator_tagEEERKT_(ptr noundef nonnull align 8 dereferenceable(56) %100, ptr noundef nonnull align 1 dereferenceable(32) %1)
          to label %102 unwind label %116

102:                                              ; preds = %98
  store ptr %101, ptr %12, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %13) #7
  %103 = call ptr @_ZN5boost11multi_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_tagEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) %100) #7
  store ptr %103, ptr %13, align 8
  %104 = invoke noundef zeroext i1 @_ZN5boost14operators_implneERKNS_11multi_index6detail21hashed_index_iteratorINS2_17hashed_index_nodeINS2_18ordered_index_nodeINS2_19null_augment_policyENS2_15index_node_baseIN7DynexCN17WalletTransactionESaIS9_EEEEEEENS2_12bucket_arrayISA_EENS2_17hashed_unique_tagENS2_32hashed_index_global_iterator_tagEEESK_(ptr noundef nonnull align 8 dereferenceable(8) %12, ptr noundef nonnull align 8 dereferenceable(8) %13)
          to label %105 unwind label %118

105:                                              ; preds = %102
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) #7
  br i1 %104, label %106, label %120

106:                                              ; preds = %105
  %107 = call noundef nonnull align 8 dereferenceable(96) ptr @_ZN5boost11multi_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_EE3getIS7_EERNSR_5indexIT_E4typeEv(ptr noundef nonnull align 8 dereferenceable(120) %99) #7
  %108 = call ptr @_ZN5boost11multi_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_EELi0EEEE5beginEv(ptr noundef nonnull align 8 dereferenceable(96) %107) #7
  %.sroa.010.0.copyload = load ptr, ptr %12, align 8
  %109 = invoke ptr @_ZN5boost11multi_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_EE7projectIS7_NS0_6detail21hashed_index_iteratorINST_17hashed_index_nodeINST_18ordered_index_nodeINST_19null_augment_policyENST_15index_node_baseIS3_SQ_EEEEEENST_12bucket_arrayISQ_EENST_17hashed_unique_tagENST_32hashed_index_global_iterator_tagEEEEENSR_14index_iteratorIT_E4typeET0_(ptr noundef nonnull align 8 dereferenceable(120) %99, ptr %.sroa.010.0.copyload)
          to label %110 unwind label %116

110:                                              ; preds = %106
  %111 = invoke noundef i64 @_ZSt8distanceIN5boost11multi_index6detail17rnd_node_iteratorINS2_24random_access_index_nodeINS2_17hashed_index_nodeINS2_18ordered_index_nodeINS2_19null_augment_policyENS2_15index_node_baseIN7DynexCN17WalletTransactionESaISA_EEEEEEEEEEEENSt15iterator_traitsIT_E15difference_typeESI_SI_(ptr %108, ptr %109)
          to label %112 unwind label %116

112:                                              ; preds = %110
  store i64 %111, ptr %11, align 8, !tbaa !160
  %113 = invoke noundef zeroext i1 @_ZN7DynexCN11WalletGreen27updateWalletTransactionInfoEmRKNS_22TransactionInformationEl(ptr noundef nonnull align 8 dereferenceable(1872) %0, i64 noundef %111, ptr noundef nonnull align 8 dereferenceable(160) %1, i64 noundef %97)
          to label %132 unwind label %116

114:                                              ; preds = %94
  %115 = landingpad { ptr, i32 }
          cleanup
  br label %297

116:                                              ; preds = %134, %120, %112, %110, %106, %98
  %117 = landingpad { ptr, i32 }
          cleanup
  br label %296

118:                                              ; preds = %102
  %119 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) #7
  br label %296

120:                                              ; preds = %105
  %121 = invoke noundef i64 @_ZN7DynexCN11WalletGreen27insertBlockchainTransactionERKNS_22TransactionInformationEl(ptr noundef nonnull align 8 dereferenceable(1872) %0, ptr noundef nonnull align 8 dereferenceable(160) %1, i64 noundef %97)
          to label %122 unwind label %116

122:                                              ; preds = %120
  store i64 %121, ptr %11, align 8, !tbaa !160
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %14) #7
  %123 = call noundef nonnull align 8 dereferenceable(153) ptr @_ZNK5boost11multi_index6detail21hashed_index_iteratorINS1_17hashed_index_nodeINS1_18ordered_index_nodeINS1_19null_augment_policyENS1_15index_node_baseIN7DynexCN17WalletTransactionESaIS8_EEEEEEENS1_12bucket_arrayIS9_EENS1_17hashed_unique_tagENS1_32hashed_index_global_iterator_tagEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %12)
  %124 = invoke noundef zeroext i1 @_ZNK7DynexCN11WalletGreen19isFusionTransactionERKNS_17WalletTransactionE(ptr noundef nonnull align 8 dereferenceable(1872) %0, ptr noundef nonnull align 8 dereferenceable(153) %123)
          to label %125 unwind label %130

125:                                              ; preds = %122
  %126 = getelementptr inbounds i8, ptr %0, i64 632
  %127 = zext i1 %124 to i8
  store i8 %127, ptr %14, align 1, !tbaa !161
  %128 = invoke { ptr, i8 } @_ZNSt13unordered_mapImbSt4hashImESt8equal_toImESaISt4pairIKmbEEE7emplaceIJRmbEEES4_INSt8__detail14_Node_iteratorIS6_Lb0ELb0EEEbEDpOT_(ptr noundef nonnull align 8 dereferenceable(56) %126, ptr noundef nonnull align 8 dereferenceable(8) %11, ptr noundef nonnull align 1 dereferenceable(1) %14)
          to label %129 unwind label %130

129:                                              ; preds = %125
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %14) #7
  br label %132

130:                                              ; preds = %125, %122
  %131 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %14) #7
  br label %296

132:                                              ; preds = %112, %129
  %.090 = phi i1 [ false, %129 ], [ %113, %112 ]
  %133 = load i32, ptr %38, align 8, !tbaa !162
  %.not = icmp eq i32 %133, -1
  br i1 %.not, label %137, label %134

134:                                              ; preds = %132
  %135 = getelementptr inbounds i8, ptr %0, i64 688
  %136 = invoke noundef i64 @_ZNSt3mapImN7DynexCN11TransactionESt4lessImESaISt4pairIKmS1_EEE5eraseERS5_(ptr noundef nonnull align 8 dereferenceable(48) %135, ptr noundef nonnull align 8 dereferenceable(8) %11)
          to label %137 unwind label %116

137:                                              ; preds = %134, %132
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %15) #7
  %138 = call ptr @_ZNKSt6vectorIN7DynexCN11WalletGreen16ContainerAmountsESaIS2_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %2) #7
  store ptr %138, ptr %15, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %16) #7
  %139 = call ptr @_ZNKSt6vectorIN7DynexCN11WalletGreen16ContainerAmountsESaIS2_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %2) #7
  store ptr %139, ptr %16, align 8
  %140 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPKN7DynexCN11WalletGreen16ContainerAmountsESt6vectorIS3_SaIS3_EEEEbRKNS_17__normal_iteratorIT_T0_EESE_(ptr noundef nonnull align 8 dereferenceable(8) %15, ptr noundef nonnull align 8 dereferenceable(8) %16) #7
  br i1 %140, label %.lr.ph, label %._crit_edge

.lr.ph:                                           ; preds = %137
  %141 = getelementptr inbounds i8, ptr %0, i64 1744
  %142 = getelementptr inbounds i8, ptr %1, i64 80
  br label %148

._crit_edge:                                      ; preds = %163, %137
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15) #7
  %143 = load i64, ptr %11, align 8, !tbaa !160
  %144 = load i64, ptr %45, align 8, !tbaa !152
  %145 = sub nsw i64 0, %144
  %146 = load i64, ptr %53, align 8, !tbaa !158
  %147 = invoke noundef zeroext i1 @_ZN7DynexCN11WalletGreen26updateTransactionTransfersEmRKSt6vectorINS0_16ContainerAmountsESaIS2_EEll(ptr noundef nonnull align 8 dereferenceable(1872) %0, i64 noundef %143, ptr noundef nonnull align 8 dereferenceable(24) %2, i64 noundef %145, i64 noundef %146)
          to label %167 unwind label %221

148:                                              ; preds = %.lr.ph, %163
  %149 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPKN7DynexCN11WalletGreen16ContainerAmountsESt6vectorIS3_SaIS3_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %15) #7
  %.sroa.0.0.copyload = load ptr, ptr %149, align 8, !tbaa !163
  invoke void @_ZN7DynexCN11WalletGreen13updateBalanceEPNS_19ITransfersContainerE(ptr noundef nonnull align 8 dereferenceable(1872) %0, ptr noundef %.sroa.0.0.copyload)
          to label %150 unwind label %159

150:                                              ; preds = %148
  %151 = load i32, ptr %38, align 8, !tbaa !162
  %.not114 = icmp eq i32 %151, -1
  br i1 %.not114, label %163, label %152

152:                                              ; preds = %150
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %17) #7
  %153 = load i32, ptr %141, align 8, !tbaa !164
  %154 = add i32 %153, %151
  store i32 %154, ptr %17, align 4, !tbaa !165
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %18) #7
  %155 = load i64, ptr %142, align 8, !tbaa !166
  %156 = trunc i64 %155 to i32
  store i32 %156, ptr %18, align 4, !tbaa !165
  %157 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3maxIjERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4) %17, ptr noundef nonnull align 4 dereferenceable(4) %18)
  %158 = load i32, ptr %157, align 4, !tbaa !165
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %18) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %17) #7
  invoke void @_ZN7DynexCN11WalletGreen26insertUnlockTransactionJobERKN6Crypto4HashEjPNS_19ITransfersContainerE(ptr noundef nonnull align 8 dereferenceable(1872) %0, ptr noundef nonnull align 1 dereferenceable(32) %1, i32 noundef %158, ptr noundef %.sroa.0.0.copyload)
          to label %163 unwind label %161

159:                                              ; preds = %148
  %160 = landingpad { ptr, i32 }
          cleanup
  br label %166

161:                                              ; preds = %152
  %162 = landingpad { ptr, i32 }
          cleanup
  br label %166

163:                                              ; preds = %152, %150
  %164 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPKN7DynexCN11WalletGreen16ContainerAmountsESt6vectorIS3_SaIS3_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %15) #7
  %165 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPKN7DynexCN11WalletGreen16ContainerAmountsESt6vectorIS3_SaIS3_EEEEbRKNS_17__normal_iteratorIT_T0_EESE_(ptr noundef nonnull align 8 dereferenceable(8) %15, ptr noundef nonnull align 8 dereferenceable(8) %16) #7
  br i1 %165, label %148, label %._crit_edge

166:                                              ; preds = %161, %159
  %.pn115 = phi { ptr, i32 } [ %162, %161 ], [ %160, %159 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15) #7
  br label %296

167:                                              ; preds = %._crit_edge
  br i1 %104, label %247, label %168

168:                                              ; preds = %167
  %169 = getelementptr inbounds i8, ptr %0, i64 504
  %170 = load i64, ptr %11, align 8, !tbaa !160
  %171 = invoke noundef nonnull align 8 dereferenceable(153) ptr @_ZNK5boost11multi_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_EELi0EEEEixEm(ptr noundef nonnull align 8 dereferenceable(96) %169, i64 noundef %170)
          to label %172 unwind label %223

172:                                              ; preds = %168
  call void @llvm.lifetime.start.p0(i64 432, ptr nonnull %19) #7
  invoke void @_ZNK7Logging9LoggerRefclENS_5LevelERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind nonnull writable sret(%"class.Logging::LoggerMessage") align 8 %19, ptr noundef nonnull align 8 dereferenceable(40) %30, i32 noundef 3, ptr noundef nonnull align 8 dereferenceable(32) @_ZN7Logging12BRIGHT_WHITEB5cxx11E)
          to label %173 unwind label %225

173:                                              ; preds = %172
  %174 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA30_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %19, ptr noundef nonnull align 1 dereferenceable(30) @.str.228)
          to label %175 unwind label %227

175:                                              ; preds = %173
  %176 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEmEOT_S3_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %174, ptr noundef nonnull align 8 dereferenceable(8) %11)
          to label %177 unwind label %227

177:                                              ; preds = %175
  %178 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA8_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %176, ptr noundef nonnull align 1 dereferenceable(8) @.str.155)
          to label %179 unwind label %227

179:                                              ; preds = %177
  %180 = getelementptr inbounds i8, ptr %171, i64 20
  %181 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEN6Crypto4HashEEOT_S5_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %178, ptr noundef nonnull align 1 dereferenceable(32) %180)
          to label %182 unwind label %227

182:                                              ; preds = %179
  %183 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA9_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %181, ptr noundef nonnull align 1 dereferenceable(9) @.str.151)
          to label %184 unwind label %227

184:                                              ; preds = %182
  %185 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEN7DynexCN22WalletTransactionStateEEOT_S5_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %183, ptr noundef nonnull align 1 dereferenceable(1) %171)
          to label %186 unwind label %227

186:                                              ; preds = %184
  %187 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA15_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %185, ptr noundef nonnull align 1 dereferenceable(15) @.str.229)
          to label %188 unwind label %227

188:                                              ; preds = %186
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %20) #7
  %189 = load ptr, ptr %43, align 8, !tbaa !5
  %190 = getelementptr inbounds i8, ptr %171, i64 88
  %191 = load i64, ptr %190, align 8, !tbaa !167
  invoke void @_ZNK7DynexCN8Currency12formatAmountB5cxx11El(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %20, ptr noundef nonnull align 8 dereferenceable(984) %189, i64 noundef %191)
          to label %192 unwind label %229

192:                                              ; preds = %188
  %193 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEOT_S9_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %187, ptr noundef nonnull align 8 dereferenceable(32) %20)
          to label %194 unwind label %231

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

196:                                              ; preds = %194
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %21) #7
  %197 = load ptr, ptr %43, align 8, !tbaa !5
  %198 = getelementptr inbounds i8, ptr %171, i64 96
  %199 = load i64, ptr %198, align 8, !tbaa !173
  invoke void @_ZNK7DynexCN8Currency12formatAmountB5cxx11Em(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %21, ptr noundef nonnull align 8 dereferenceable(984) %197, i64 noundef %199)
          to label %200 unwind label %233

200:                                              ; preds = %196
  %201 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEOT_S9_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %195, ptr noundef nonnull align 8 dereferenceable(32) %21)
          to label %202 unwind label %235

202:                                              ; preds = %200
  %203 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA14_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %201, ptr noundef nonnull align 1 dereferenceable(14) @.str.230)
          to label %204 unwind label %235

204:                                              ; preds = %202
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %22) #7
  %205 = load ptr, ptr %43, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %23) #7
  %206 = load i64, ptr %11, align 8, !tbaa !160
  %207 = invoke { ptr, ptr } @_ZNK7DynexCN11WalletGreen28getTransactionTransfersRangeEm(ptr noundef nonnull align 8 dereferenceable(1872) %0, i64 noundef %206)
          to label %208 unwind label %237

208:                                              ; preds = %204
  %209 = extractvalue { ptr, ptr } %207, 0
  store ptr %209, ptr %23, align 8
  %210 = getelementptr inbounds i8, ptr %23, i64 8
  %211 = extractvalue { ptr, ptr } %207, 1
  store ptr %211, ptr %210, align 8
  invoke void @_ZN7DynexCN21TransferListFormatterC1ERKNS_8CurrencyERKSt4pairIN9__gnu_cxx17__normal_iteratorIPKS4_ImNS_14WalletTransferEESt6vectorIS8_SaIS8_EEEESE_E(ptr noundef nonnull align 8 dereferenceable(16) %22, ptr noundef nonnull align 8 dereferenceable(984) %205, ptr noundef nonnull align 8 dereferenceable(16) %23)
          to label %212 unwind label %237

212:                                              ; preds = %208
  %213 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEN7DynexCN21TransferListFormatterEEOT_S5_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %203, ptr noundef nonnull align 8 dereferenceable(16) %22)
          to label %214 unwind label %237

214:                                              ; preds = %212
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %23) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %22) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %21) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #7
  call void @_ZN7Logging13LoggerMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(161) %19) #7
  call void @llvm.lifetime.end.p0(i64 432, ptr nonnull %19) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %24) #7
  %215 = load i64, ptr %11, align 8, !tbaa !160
  %216 = call { i32, i64 } @_ZN12_GLOBAL__N_127makeTransactionCreatedEventEm(i64 noundef %215)
  %217 = extractvalue { i32, i64 } %216, 0
  store i32 %217, ptr %24, align 8
  %218 = getelementptr inbounds i8, ptr %24, i64 8
  %219 = extractvalue { i32, i64 } %216, 1
  store i64 %219, ptr %218, align 8
  invoke void @_ZN7DynexCN11WalletGreen9pushEventERKNS_11WalletEventE(ptr noundef nonnull align 8 dereferenceable(1872) %0, ptr noundef nonnull align 8 dereferenceable(16) %24)
          to label %220 unwind label %245

220:                                              ; preds = %214
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %24) #7
  br label %294

221:                                              ; preds = %._crit_edge
  %222 = landingpad { ptr, i32 }
          cleanup
  br label %296

223:                                              ; preds = %168
  %224 = landingpad { ptr, i32 }
          cleanup
  br label %296

225:                                              ; preds = %172
  %226 = landingpad { ptr, i32 }
          cleanup
  br label %244

227:                                              ; preds = %186, %184, %182, %179, %177, %175, %173
  %228 = landingpad { ptr, i32 }
          cleanup
  br label %243

229:                                              ; preds = %188
  %230 = landingpad { ptr, i32 }
          cleanup
  br label %242

231:                                              ; preds = %194, %192
  %232 = landingpad { ptr, i32 }
          cleanup
  br label %241

233:                                              ; preds = %196
  %234 = landingpad { ptr, i32 }
          cleanup
  br label %240

235:                                              ; preds = %202, %200
  %236 = landingpad { ptr, i32 }
          cleanup
  br label %239

237:                                              ; preds = %212, %208, %204
  %238 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %23) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %22) #7
  br label %239

239:                                              ; preds = %237, %235
  %.pn104 = phi { ptr, i32 } [ %238, %237 ], [ %236, %235 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #7
  br label %240

240:                                              ; preds = %239, %233
  %.pn104.pn = phi { ptr, i32 } [ %.pn104, %239 ], [ %234, %233 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %21) #7
  br label %241

241:                                              ; preds = %240, %231
  %.pn104.pn.pn = phi { ptr, i32 } [ %.pn104.pn, %240 ], [ %232, %231 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #7
  br label %242

242:                                              ; preds = %241, %229
  %.pn104.pn.pn.pn = phi { ptr, i32 } [ %.pn104.pn.pn, %241 ], [ %230, %229 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #7
  br label %243

243:                                              ; preds = %242, %227
  %.pn104.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn104.pn.pn.pn, %242 ], [ %228, %227 ]
  call void @_ZN7Logging13LoggerMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(161) %19) #7
  br label %244

244:                                              ; preds = %243, %225
  %.pn104.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn104.pn.pn.pn.pn, %243 ], [ %226, %225 ]
  call void @llvm.lifetime.end.p0(i64 432, ptr nonnull %19) #7
  br label %296

245:                                              ; preds = %214
  %246 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %24) #7
  br label %296

247:                                              ; preds = %167
  %248 = or i1 %.090, %147
  br i1 %248, label %249, label %294

249:                                              ; preds = %247
  br i1 %147, label %250, label %285

250:                                              ; preds = %249
  call void @llvm.lifetime.start.p0(i64 432, ptr nonnull %25) #7
  invoke void @_ZNK7Logging9LoggerRefclENS_5LevelERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind nonnull writable sret(%"class.Logging::LoggerMessage") align 8 %25, ptr noundef nonnull align 8 dereferenceable(40) %30, i32 noundef 4, ptr noundef nonnull align 8 dereferenceable(32) @_ZN7Logging7DEFAULTB5cxx11E)
          to label %251 unwind label %277

251:                                              ; preds = %250
  %252 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA35_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %25, ptr noundef nonnull align 1 dereferenceable(35) @.str.231)
          to label %253 unwind label %279

253:                                              ; preds = %251
  %254 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEmEOT_S3_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %252, ptr noundef nonnull align 8 dereferenceable(8) %11)
          to label %255 unwind label %279

255:                                              ; preds = %253
  %256 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA8_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %254, ptr noundef nonnull align 1 dereferenceable(8) @.str.155)
          to label %257 unwind label %279

257:                                              ; preds = %255
  %258 = getelementptr inbounds i8, ptr %0, i64 504
  %259 = load i64, ptr %11, align 8, !tbaa !160
  %260 = invoke noundef nonnull align 8 dereferenceable(153) ptr @_ZNK5boost11multi_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_EELi0EEEEixEm(ptr noundef nonnull align 8 dereferenceable(96) %258, i64 noundef %259)
          to label %261 unwind label %279

261:                                              ; preds = %257
  %262 = getelementptr inbounds i8, ptr %260, i64 20
  %263 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEN6Crypto4HashEEOT_S5_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %256, ptr noundef nonnull align 1 dereferenceable(32) %262)
          to label %264 unwind label %279

264:                                              ; preds = %261
  %265 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEA14_cEOT_S4_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %263, ptr noundef nonnull align 1 dereferenceable(14) @.str.230)
          to label %266 unwind label %279

266:                                              ; preds = %264
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %26) #7
  %267 = load ptr, ptr %43, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %27) #7
  %268 = load i64, ptr %11, align 8, !tbaa !160
  %269 = invoke { ptr, ptr } @_ZNK7DynexCN11WalletGreen28getTransactionTransfersRangeEm(ptr noundef nonnull align 8 dereferenceable(1872) %0, i64 noundef %268)
          to label %270 unwind label %281

270:                                              ; preds = %266
  %271 = extractvalue { ptr, ptr } %269, 0
  store ptr %271, ptr %27, align 8
  %272 = getelementptr inbounds i8, ptr %27, i64 8
  %273 = extractvalue { ptr, ptr } %269, 1
  store ptr %273, ptr %272, align 8
  invoke void @_ZN7DynexCN21TransferListFormatterC1ERKNS_8CurrencyERKSt4pairIN9__gnu_cxx17__normal_iteratorIPKS4_ImNS_14WalletTransferEESt6vectorIS8_SaIS8_EEEESE_E(ptr noundef nonnull align 8 dereferenceable(16) %26, ptr noundef nonnull align 8 dereferenceable(984) %267, ptr noundef nonnull align 8 dereferenceable(16) %27)
          to label %274 unwind label %281

274:                                              ; preds = %270
  %275 = invoke noundef nonnull align 8 dereferenceable(161) ptr @_ZStlsIN7Logging13LoggerMessageEN7DynexCN21TransferListFormatterEEOT_S5_RKT0_(ptr noundef nonnull align 8 dereferenceable(161) %265, ptr noundef nonnull align 8 dereferenceable(16) %26)
          to label %276 unwind label %281

276:                                              ; preds = %274
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %27) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %26) #7
  call void @_ZN7Logging13LoggerMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(161) %25) #7
  call void @llvm.lifetime.end.p0(i64 432, ptr nonnull %25) #7
  br label %285

277:                                              ; preds = %250
  %278 = landingpad { ptr, i32 }
          cleanup
  br label %284

279:                                              ; preds = %264, %261, %257, %255, %253, %251
  %280 = landingpad { ptr, i32 }
          cleanup
  br label %283

281:                                              ; preds = %274, %270, %266
  %282 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %27) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %26) #7
  br label %283

283:                                              ; preds = %281, %279
  %.pn101 = phi { ptr, i32 } [ %282, %281 ], [ %280, %279 ]
  call void @_ZN7Logging13LoggerMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(161) %25) #7
  br label %284

284:                                              ; preds = %283, %277
  %.pn101.pn = phi { ptr, i32 } [ %.pn101, %283 ], [ %278, %277 ]
  call void @llvm.lifetime.end.p0(i64 432, ptr nonnull %25) #7
  br label %296

285:                                              ; preds = %276, %249
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %28) #7
  %286 = load i64, ptr %11, align 8, !tbaa !160
  %287 = call { i32, i64 } @_ZN12_GLOBAL__N_127makeTransactionUpdatedEventEm(i64 noundef %286)
  %288 = extractvalue { i32, i64 } %287, 0
  store i32 %288, ptr %28, align 8
  %289 = getelementptr inbounds i8, ptr %28, i64 8
  %290 = extractvalue { i32, i64 } %287, 1
  store i64 %290, ptr %289, align 8
  invoke void @_ZN7DynexCN11WalletGreen9pushEventERKNS_11WalletEventE(ptr noundef nonnull align 8 dereferenceable(1872) %0, ptr noundef nonnull align 8 dereferenceable(16) %28)
          to label %291 unwind label %292

291:                                              ; preds = %285
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %28) #7
  br label %294

292:                                              ; preds = %285
  %293 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %28) #7
  br label %296

294:                                              ; preds = %247, %291, %220
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11) #7
  br label %295

295:                                              ; preds = %.critedge122, %294
  call void @_ZN6System9EventLockD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %4) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %4) #7
  ret void

296:                                              ; preds = %221, %284, %292, %245, %244, %223, %166, %130, %118, %116
  %.pn115.pn = phi { ptr, i32 } [ %.pn115, %166 ], [ %117, %116 ], [ %131, %130 ], [ %119, %118 ], [ %293, %292 ], [ %.pn101.pn, %284 ], [ %222, %221 ], [ %246, %245 ], [ %.pn104.pn.pn.pn.pn.pn, %244 ], [ %224, %223 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11) #7
  br label %297

297:                                              ; preds = %114, %296, %93
  %.pn115.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn, %93 ], [ %.pn115.pn, %296 ], [ %115, %114 ]
  call void @_ZN6System9EventLockD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %4) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %4) #7
  resume { ptr, i32 } %.pn115.pn.pn.pn
}

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN6Common8podToHexIN6Crypto4HashEEENSt7__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 #2

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef i64 @"_ZSt10accumulateIN9__gnu_cxx17__normal_iteratorIPKN7DynexCN11WalletGreen16ContainerAmountsESt6vectorIS4_SaIS4_EEEElZNS3_18transactionUpdatedERKNS2_22TransactionInformationERKS9_E3$_0ET0_T_SI_SH_T1_"(ptr, ptr, i64 noundef) local_unnamed_addr #5

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(56) ptr @_ZN5boost11multi_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_EE3getISD_EERNSR_5indexIT_E4typeEv(ptr noundef nonnull align 8 dereferenceable(120)) local_unnamed_addr #1 align 2

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local ptr @_ZN5boost11multi_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_tagEE3endEv(ptr noundef nonnull align 8 dereferenceable(56)) local_unnamed_addr #1 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef i64 @_ZSt8distanceIN5boost11multi_index6detail17rnd_node_iteratorINS2_24random_access_index_nodeINS2_17hashed_index_nodeINS2_18ordered_index_nodeINS2_19null_augment_policyENS2_15index_node_baseIN7DynexCN17WalletTransactionESaISA_EEEEEEEEEEEENSt15iterator_traitsIT_E15difference_typeESI_SI_(ptr, ptr) local_unnamed_addr #5

; Function Attrs: mustprogress uwtable
declare dso_local ptr @_ZN5boost11multi_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_EE7projectIS7_NS0_6detail21hashed_index_iteratorINST_17hashed_index_nodeINST_18ordered_index_nodeINST_19null_augment_policyENST_15index_node_baseIS3_SQ_EEEEEENST_12bucket_arrayISQ_EENST_17hashed_unique_tagENST_32hashed_index_global_iterator_tagEEEEENSR_14index_iteratorIT_E4typeET0_(ptr noundef nonnull align 8 dereferenceable(120), ptr) local_unnamed_addr #2 align 2

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

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3maxIjERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4)) local_unnamed_addr #6

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

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

declare void @_ZN7DynexCN21TransferListFormatterC1ERKNS_8CurrencyERKSt4pairIN9__gnu_cxx17__normal_iteratorIPKS4_ImNS_14WalletTransferEESt6vectorIS8_SaIS8_EEEESE_E(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(984), ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #3

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


; Effective O3 passes: CorrelatedValuePropagationPass,EarlyCSEPass,GlobalOptPass,IPSCCPPass,InferFunctionAttrsPass,InstCombinePass,JumpThreadingPass,LICMPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,ReassociatePass,SROAPass,SimplifyCFGPass