Function at 0x41d710
Capabilities:
Check for time delay via queryperformancecounter

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x148
lea rax, method.el::base::Writer.Writer__
mov qword [rsp + 0xd0], rax
lea rax, str._home_biz_blur_src_blockchain_db_lmdb_db_lmdb.cpp
mov r13, rcx
xor ecx, ecx
mov qword [rsp + 0xe0], rax
lea rax, str.virtual_void_cryptonote::BlockchainLMDB::get_output_tx_and_index_const_uint64_t__const_std::vector_long_long_unsigned_int___std::vector_std::pair_crypto::hash__long_long_unsigned_int_____const
mov rsi, rdx
mov rdi, r8
lea r14, [rsp + 0xd0]
mov qword [rsp + 0xf0], rax
mov edx, 1
lea rax, [0x00871fca]
mov word [rsp + 0xf8], cx
mov rcx, r14
lea r8, str.blockchain.db.lmdb
mov qword [rsp + 0x1a8], r9
mov dword [rsp + 0xd8], 2
mov dword [rsp + 0xe8], 0xb62
mov qword [rsp + 0x100], 0
mov byte [rsp + 0x108], 0
mov qword [rsp + 0x110], 0
mov qword [rsp + 0x118], rax
mov dword [rsp + 0x120], 2
mov qword [rsp + 0x128], 0
mov qword [rsp + 0x130], 0
mov qword [rsp + 0x138], 0
call method.el::base::Writer.construct_int__char_const__..._
cmp byte [rax + 0x38], 0
mov rbx, rax
jne 0x41dc28
lea rax, method.el::base::Writer.Writer__
mov rcx, r14
mov qword [rsp + 0xd0], rax
call method.el::base::Writer.processDispatch__
mov rbx, qword [rsp + 0x130]
mov r12, qword [rsp + 0x128]
cmp rbx, r12
je 0x41d85c
nop dword [rax]
mov rcx, qword [r12]
lea rax, [r12 + 0x10]
cmp rcx, rax
je 0x41d84b
call sym.operator_delete_void_
add r12, 0x20
cmp rbx, r12
jne 0x41d838
mov r12, qword [rsp + 0x128]
test r12, r12
je 0x41d869
mov rcx, r12
call sym.operator_delete_void_
mov rcx, r13
call method.cryptonote::BlockchainLMDB.check_open___const
mov rax, qword [rsp + 0x1a8]
mov rbx, qword [rsp + 0x1a8]
mov rax, qword [rax]
cmp rax, qword [rbx + 8]
je 0x41d88e
mov qword [rbx + 8], rax
mov qword [rsp + 0x50], 0
mov edx, 0x100
mov word [rsp + 0x80], dx
mov qword [rsp + 0x58], 0
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], 0
call method.cryptonote::mdb_txn_safe.mdb_txn_safe_bool___clone_.part.0_
mov rax, qword [r13]
lea rdx, [rsp + 0x20]
mov rcx, r13
lea r8, [rsp + 0x28]
call qword [rax + 0x300]
test al, al
je 0x41dbc0
lea rcx, [r13 + 0x160]
call method.boost::detail.get_tss_data_void_const_
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x28]
cmp qword [rax + 0x20], 0
je 0x41dbe1
lea rdx, [r13 + 0xf8]
cmp rax, rdx
je 0x41d932
lea r12, [r13 + 0x160]
mov rcx, r12
call method.boost::detail.get_tss_data_void_const_
cmp byte [rax + 0x75], 0
je 0x41dd92
mov qword [rsp + 0x38], rsi
mov rbx, qword [rdi]
lea rbp, [rsp + 0x40]
lea r15, [rsp + 0x50]
mov qword [rsp + 0x30], 8
mov rsi, qword [rdi + 8]
lea rdi, [rsp + 0x30]
cmp rsi, rbx
jne 0x41d976
jmp 0x41d9e0
mov rax, qword [r8 + 8]
add rbx, 8
mov qword [rdx], rax
add qword [rsp + 0x58], 8
cmp rsi, rbx
je 0x41d9e0
mov rax, qword [rsp + 0x28]
mov r8, rbp
mov rdx, rdi
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x40], 8
mov r9d, 2
mov rcx, qword [rax + 0x20]
call sym.mdb_cursor_get
mov r12d, eax
cmp eax, 0xffff87b2
je 0x41de07
test eax, eax
jne 0x41de2d
mov r8, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x58]
cmp rdx, qword [rsp + 0x60]
jne 0x41d960
add r8, 8
mov rcx, r15
call method.void_std::vector_unsigned_long_long__std::allocator_unsigned_long_long___._M_realloc_insert_unsigned_long_long_const____gnu_cxx::__normal_iterator_unsigned_long_long__std::vector_unsigned_long_long__std::allocator_unsigned_long_long_______unsigne
add rbx, 8
cmp rsi, rbx
jne 0x41d976
nop word [rax + rax]
cmp qword [0x0086e6c0], 0
je 0x41dcb0
mov rdi, qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rcx, r14
call rdi
mov rbx, qword [rsp + 0xd0]
mov rsi, qword [0x0086e6c0]
mov rax, qword [rsp + 0x58]
cmp qword [rsp + 0x50], rax
je 0x41ddc1
mov rax, qword [r13]
mov r8, qword [rsp + 0x1a8]
lea rdx, [rsp + 0x50]
mov rcx, r13
call qword [rax + 0x2e8]
mov rax, qword [0x0086e6c0]
test rax, rax
je 0x41dd80
mov rcx, r14
call rdi
lea rax, method.el::base::Writer.Writer__
mov rdi, qword [rsp + 0xd0]
mov edx, 1
mov rcx, r14
mov qword [rsp + 0xd0], rax
lea rax, str._home_biz_blur_src_blockchain_db_lmdb_db_lmdb.cpp
lea r8, str.blockchain.db.lmdb
mov r12, qword [0x0086e6c0]
mov qword [rsp + 0xe0], rax
lea rax, str.virtual_void_cryptonote::BlockchainLMDB::get_output_tx_and_index_const_uint64_t__const_std::vector_long_long_unsigned_int___std::vector_std::pair_crypto::hash__long_long_unsigned_int_____const
mov qword [rsp + 0xf0], rax
xor eax, eax
mov word [rsp + 0xf8], ax
lea rax, [0x00871fca]
mov dword [rsp + 0xd8], 2
mov dword [rsp + 0xe8], 0xb80
mov qword [rsp + 0x100], 0
mov byte [rsp + 0x108], 0
mov qword [rsp + 0x110], 0
mov qword [rsp + 0x118], rax
mov dword [rsp + 0x120], 2
mov qword [rsp + 0x128], 0
mov qword [rsp + 0x130], 0
mov qword [rsp + 0x138], 0
call method.el::base::Writer.construct_int__char_const__..._
cmp byte [rax + 0x38], 0
mov r13, rax
jne 0x41dcc8
lea rax, method.el::base::Writer.Writer__
mov rcx, r14
mov qword [rsp + 0xd0], rax
call method.el::base::Writer.processDispatch__
mov rbx, qword [rsp + 0x130]
mov r12, qword [rsp + 0x128]
cmp rbx, r12
je 0x41db74
nop
mov rcx, qword [r12]
lea rax, [r12 + 0x10]
cmp rcx, rax
je 0x41db63
call sym.operator_delete_void_
add r12, 0x20
cmp rbx, r12
jne 0x41db50
mov r12, qword [rsp + 0x128]
test r12, r12
je 0x41db81
mov rcx, r12
call sym.operator_delete_void_
cmp byte [rsp + 0x81], 0
je 0x41db95
lea rcx, [rsp + 0x70]
call method.cryptonote::mdb_txn_safe.mdb_txn_safe____clone_.part.0_
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x41dba5
call sym.operator_delete_void_
nop
add rsp, 0x148
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
lock sub qword [0x009cc268], 1
mov rax, qword [rsp + 0x28]
cmp qword [rax + 0x20], 0
mov byte [rsp + 0x81], 0
jne 0x41d90d
mov edx, dword [r13 + 0x8c]
mov rcx, qword [rsp + 0x20]
lea r8, [rax + 0x20]
call sym.mdb_cursor_open
mov r12d, eax
test eax, eax
jne 0x41de86
lea rax, [r13 + 0xf8]
cmp qword [rsp + 0x28], rax
je 0x41d932
lea rcx, [r13 + 0x160]
call method.boost::detail.get_tss_data_void_const_
jmp 0x41ddb8
mov rax, qword [rax + 0x40]
mov r8d, 0x10
lea rdx, str.BlockchainLMDB::
lea rcx, [rax + 0x78]
call method.std::basic_ostream_char__std::char_traits_char____std::__ostream_insert_char__std.char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const__long_long_
mov rbp, qword [0x00939c20]
mov rax, qword [rbp]
test byte [rax + 0x49], 0x20
jne 0x41ddc9
cmp byte [rbx + 0x38], 0
je 0x41d808
mov rax, qword [rbx + 0x40]
mov r8d, 0x17
lea rdx, str.get_output_tx_and_index
lea rcx, [rax + 0x78]
call method.std::basic_ostream_char__std::char_traits_char____std::__ostream_insert_char__std.char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const__long_long_
mov rax, qword [rbp]
test byte [rax + 0x49], 0x20
je 0x41d808
mov rcx, qword [rbx + 0x40]
mov r8d, 1
lea rdx, [0x00871f4a]
add rcx, 0x78
call method.std::basic_ostream_char__std::char_traits_char____std::__ostream_insert_char__std.char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const__long_long_
jmp 0x41d808
lea rcx, [0x0086e6c0]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
jmp 0x41d9ee
mov rax, qword [rax + 0x40]
mov r8d, 5
lea rdx, str.db3:
lea rcx, [rax + 0x78]
call method.std::basic_ostream_char__std::char_traits_char____std::__ostream_insert_char__std.char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const__long_long_
mov rbp, qword [0x00939c20]
mov rax, qword [rbp]
test byte [rax + 0x49], 0x20
jne 0x41dde8
cmp byte [r13 + 0x38], 0
je 0x41db23
imul rax, rdi, 0x3b9aca00
movabs r8, 0x431bde82d7b634db
cqo
idiv r12
mul r8
imul rax, rbx, 0x3b9aca00
shr rdx, 0x12
mov rcx, rdx
cqo
idiv rsi
mul r8
mov rax, rdx
mov rdx, rcx
shr rax, 0x12
sub rdx, rax
mov rax, qword [r13 + 0x40]
lea rcx, [rax + 0x78]
call method.std::ostream_std::ostream._M_insert_unsigned_long_long__unsigned_long_long_
mov rax, qword [rbp]
test byte [rax + 0x49], 0x20
je 0x41db23
mov rcx, qword [r13 + 0x40]
mov r8d, 1
lea rdx, [0x00871f4a]
add rcx, 0x78
call method.std::basic_ostream_char__std::char_traits_char____std::__ostream_insert_char__std.char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const__long_long_
jmp 0x41db23
lea rcx, [0x0086e6c0]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
jmp 0x41da43
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x20]
mov rdx, qword [rax + 0x20]
call sym.mdb_cursor_renew
mov r15d, eax
test eax, eax
jne 0x41dedf
mov rcx, r12
call method.boost::detail.get_tss_data_void_const_
mov byte [rax + 0x75], 1
jmp 0x41d932
mov rax, rsi
jmp 0x41da3a
mov rax, qword [rbx + 0x40]
mov r8d, 1
lea rdx, [0x00871f4a]
lea rcx, [rax + 0x78]
call method.std::basic_ostream_char__std::char_traits_char____std::__ostream_insert_char__std.char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const__long_long_
jmp 0x41dc57
mov rax, qword [r13 + 0x40]
mov r8d, 1
lea rdx, [0x00871f4a]
lea rcx, [rax + 0x78]
call method.std::basic_ostream_char__std::char_traits_char____std::__ostream_insert_char__std.char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const__long_long_
jmp 0x41dcf7
lea rdx, str.Attempting_to_get_output_by_index__but_key_does_not_exist
mov rcx, r14
call method.cryptonote::DB_EXCEPTION.DB_EXCEPTION_char_const_
lea rbx, method.cryptonote::OUTPUT_DNE.OUTPUT_DNE__
mov rcx, r14
mov qword [rsp + 0xd0], rbx
call sym.void__anonymous_namespace_::throw1_cryptonote::OUTPUT_DNE__cryptonote::OUTPUT_DNE_const___clone_constprop0_
lea r13, [rsp + 0x90]
lea rdx, str.Error_attempting_to_retrieve_an_output_from_the_db
mov rcx, r13
call fcn.0040ba30
mov ecx, r12d
call sym.mdb_strerror
mov r8, rax
lea rcx, [rsp + 0xb0]
mov rdx, r13
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____std::operator_char__std::char_traits_char___std.allocator_char____std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const__char_const_
mov rdx, qword [rsp + 0xb0]
mov rcx, r14
call method.cryptonote::DB_EXCEPTION.DB_EXCEPTION_char_const_
lea rbx, sym.cryptonote::DB_ERROR::DB_ERROR__
mov rcx, r14
mov qword [rsp + 0xd0], rbx
call sym.void__anonymous_namespace_::throw0_cryptonote::DB_ERROR__cryptonote::DB_ERROR_const___clone_constprop0_
lea r13, [rsp + 0x90]
lea rdx, str.Failed_to_open_cursor:
mov rcx, r13
call fcn.0040ba30
mov ecx, r12d
call sym.mdb_strerror
mov r8, rax
lea rcx, [rsp + 0xb0]
mov rdx, r13
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____std::operator_char__std::char_traits_char___std.allocator_char____std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const__char_const_
mov rdx, qword [rsp + 0xb0]
mov rcx, r14
call method.cryptonote::DB_EXCEPTION.DB_EXCEPTION_char_const_
lea rbx, sym.cryptonote::DB_ERROR::DB_ERROR__
mov rcx, r14
mov qword [rsp + 0xd0], rbx
call sym.void__anonymous_namespace_::throw0_cryptonote::DB_ERROR__cryptonote::DB_ERROR_const___clone_constprop0_
lea r13, [rsp + 0x90]
lea rdx, str.Failed_to_renew_cursor:
mov rcx, r13
call fcn.0040ba30
mov ecx, r15d
call sym.mdb_strerror
mov r8, rax
lea rcx, [rsp + 0xb0]
mov rdx, r13
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____std::operator_char__std::char_traits_char___std.allocator_char____std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const__char_const_
mov rdx, qword [rsp + 0xb0]
mov rcx, r14
call method.cryptonote::DB_EXCEPTION.DB_EXCEPTION_char_const_
lea rbx, sym.cryptonote::DB_ERROR::DB_ERROR__
mov rcx, r14
mov qword [rsp + 0xd0], rbx
call sym.void__anonymous_namespace_::throw0_cryptonote::DB_ERROR__cryptonote::DB_ERROR_const___clone_constprop0_
mov r12, rax
jmp 0x41df9a
mov rcx, qword [rsp + 0x90]
lea rax, [rsp + 0xa0]
cmp rcx, rax
je 0x41df5a
call sym.operator_delete_void_
cmp byte [rsp + 0x81], 0
je 0x41df6e
lea rcx, [rsp + 0x70]
call method.cryptonote::mdb_txn_safe.mdb_txn_safe____clone_.part.0_
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x41df7d
call sym.operator_delete_void_
mov rcx, r12
call sym._Unwind_Resume
jmp 0x41df38
mov rcx, qword [rsp + 0xb0]
lea rax, [rsp + 0xc0]
cmp rcx, rax
je 0x41df40
call sym.operator_delete_void_
jmp 0x41df40