Function at 0x416c20
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_user_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, [0x0086a87a]
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 0x417138
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 0x416d6c
nop dword [rax]
mov rcx, qword [r12]
lea rax, [r12 + 0x10]
cmp rcx, rax
je 0x416d5b
call sym.operator_delete_void_
add r12, 0x20
cmp rbx, r12
jne 0x416d48
mov r12, qword [rsp + 0x128]
test r12, r12
je 0x416d79
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 0x416d9e
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 0x4170d0
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 0x4170f1
lea rdx, [r13 + 0xf8]
cmp rax, rdx
je 0x416e42
lea r12, [r13 + 0x160]
mov rcx, r12
call method.boost::detail.get_tss_data_void_const_
cmp byte [rax + 0x75], 0
je 0x4172a2
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 0x416e86
jmp 0x416ef0
mov rax, qword [r8 + 8]
add rbx, 8
mov qword [rdx], rax
add qword [rsp + 0x58], 8
cmp rsi, rbx
je 0x416ef0
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 0x417317
test eax, eax
jne 0x41733d
mov r8, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x58]
cmp rdx, qword [rsp + 0x60]
jne 0x416e70
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 0x416e86
nop word [rax + rax]
cmp qword [0x00868630], 0
je 0x4171c0
mov rdi, qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rcx, r14
call rdi
mov rbx, qword [rsp + 0xd0]
mov rsi, qword [0x00868630]
mov rax, qword [rsp + 0x58]
cmp qword [rsp + 0x50], rax
je 0x4172d1
mov rax, qword [r13]
mov r8, qword [rsp + 0x1a8]
lea rdx, [rsp + 0x50]
mov rcx, r13
call qword [rax + 0x2e8]
mov rax, qword [0x00868630]
test rax, rax
je 0x417290
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_user_blur_src_blockchain_db_lmdb_db_lmdb.cpp
lea r8, str.blockchain.db.lmdb
mov r12, qword [0x00868630]
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, [0x0086a87a]
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 0x4171d8
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 0x417084
nop
mov rcx, qword [r12]
lea rax, [r12 + 0x10]
cmp rcx, rax
je 0x417073
call sym.operator_delete_void_
add r12, 0x20
cmp rbx, r12
jne 0x417060
mov r12, qword [rsp + 0x128]
test r12, r12
je 0x417091
mov rcx, r12
call sym.operator_delete_void_
cmp byte [rsp + 0x81], 0
je 0x4170a5
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 0x4170b5
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 [0x00a2f148], 1
mov rax, qword [rsp + 0x28]
cmp qword [rax + 0x20], 0
mov byte [rsp + 0x81], 0
jne 0x416e1d
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 0x417396
lea rax, [r13 + 0xf8]
cmp qword [rsp + 0x28], rax
je 0x416e42
lea rcx, [r13 + 0x160]
call method.boost::detail.get_tss_data_void_const_
jmp 0x4172c8
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 [0x0099e5d0]
mov rax, qword [rbp]
test byte [rax + 0x49], 0x20
jne 0x4172d9
cmp byte [rbx + 0x38], 0
je 0x416d18
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 0x416d18
mov rcx, qword [rbx + 0x40]
mov r8d, 1
lea rdx, [0x0086a7fa]
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 0x416d18
lea rcx, [0x00868630]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
jmp 0x416efe
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 [0x0099e5d0]
mov rax, qword [rbp]
test byte [rax + 0x49], 0x20
jne 0x4172f8
cmp byte [r13 + 0x38], 0
je 0x417033
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 0x417033
mov rcx, qword [r13 + 0x40]
mov r8d, 1
lea rdx, [0x0086a7fa]
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 0x417033
lea rcx, [0x00868630]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
jmp 0x416f53
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 0x4173ef
mov rcx, r12
call method.boost::detail.get_tss_data_void_const_
mov byte [rax + 0x75], 1
jmp 0x416e42
mov rax, rsi
jmp 0x416f4a
mov rax, qword [rbx + 0x40]
mov r8d, 1
lea rdx, [0x0086a7fa]
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 0x417167
mov rax, qword [r13 + 0x40]
mov r8d, 1
lea rdx, [0x0086a7fa]
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 0x417207
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.00404f40
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.00404f40
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.00404f40
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 0x4174aa
mov rcx, qword [rsp + 0x90]
lea rax, [rsp + 0xa0]
cmp rcx, rax
je 0x41746a
call sym.operator_delete_void_
cmp byte [rsp + 0x81], 0
je 0x41747e
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 0x41748d
call sym.operator_delete_void_
mov rcx, r12
call sym._Unwind_Resume
jmp 0x417448
mov rcx, qword [rsp + 0xb0]
lea rax, [rsp + 0xc0]
cmp rcx, rax
je 0x417450
call sym.operator_delete_void_
jmp 0x417450