Function at 0x422640
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, 0xa8
lea rsi, method.el::base::Writer.Writer__
lea r13, str._home_biz_blur_src_blockchain_db_lmdb_db_lmdb.cpp
mov edx, 1
lea rbp, str.virtual_void_cryptonote::BlockchainLMDB::batch_commit__
lea rdi, [0x00871fca]
lea r8, str.blockchain.db.lmdb
mov rbx, rcx
lea r12, [rsp + 0x30]
xor ecx, ecx
mov qword [rsp + 0x30], rsi
mov word [rsp + 0x58], cx
mov rcx, r12
mov dword [rsp + 0x38], 2
mov qword [rsp + 0x40], r13
mov dword [rsp + 0x48], 0x9fb
mov qword [rsp + 0x50], rbp
mov qword [rsp + 0x60], 0
mov byte [rsp + 0x68], 0
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], rdi
mov dword [rsp + 0x80], 2
mov qword [rsp + 0x88], 0
mov qword [rsp + 0x90], 0
mov qword [rsp + 0x98], 0
call method.el::base::Writer.construct_int__char_const__..._
cmp byte [rax + 0x38], 0
mov r14, rax
jne 0x422ac0
mov rcx, r12
mov qword [rsp + 0x30], rsi
call method.el::base::Writer.processDispatch__
mov r15, qword [rsp + 0x90]
mov r14, qword [rsp + 0x88]
cmp r15, r14
je 0x422752
nop dword [rax + rax]
mov rcx, qword [r14]
lea rax, [r14 + 0x10]
cmp rcx, rax
je 0x422741
call sym.operator_delete_void_
add r14, 0x20
cmp r15, r14
jne 0x422730
mov r14, qword [rsp + 0x88]
test r14, r14
je 0x42275f
mov rcx, r14
call sym.operator_delete_void_
cmp byte [rbx + 0xf4], 0
je 0x422c75
cmp byte [rbx + 0xf5], 0
je 0x422c52
cmp qword [rbx + 0xe8], 0
je 0x422c2f
mov rcx, r12
call method.boost::this_thread.get_id__
mov eax, dword [rsp + 0x30]
cmp dword [rbx + 0xf0], eax
jne 0x422c98
mov rcx, rbx
call method.cryptonote::BlockchainLMDB.check_open___const
xor edx, edx
mov rcx, r12
mov qword [rsp + 0x30], rsi
mov word [rsp + 0x58], dx
lea r8, str.blockchain.db.lmdb
mov edx, 1
mov dword [rsp + 0x38], 2
mov qword [rsp + 0x40], r13
mov dword [rsp + 0x48], 0xa07
mov qword [rsp + 0x50], rbp
mov qword [rsp + 0x60], 0
mov byte [rsp + 0x68], 0
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], rdi
mov dword [rsp + 0x80], 2
mov qword [rsp + 0x88], 0
mov qword [rsp + 0x90], 0
mov qword [rsp + 0x98], 0
call method.el::base::Writer.construct_int__char_const__..._
cmp byte [rax + 0x38], 0
mov r14, rax
jne 0x422bc0
mov rcx, r12
mov qword [rsp + 0x30], rsi
call method.el::base::Writer.processDispatch__
mov r15, qword [rsp + 0x90]
mov r14, qword [rsp + 0x88]
cmp r15, r14
je 0x422882
nop dword [rax + rax]
mov rcx, qword [r14]
lea rax, [r14 + 0x10]
cmp rcx, rax
je 0x422871
call sym.operator_delete_void_
add r14, 0x20
cmp r15, r14
jne 0x422860
mov r14, qword [rsp + 0x88]
test r14, r14
je 0x42288f
mov rcx, r14
call sym.operator_delete_void_
cmp qword [0x0086e6c0], 0
je 0x422b58
mov rcx, r12
mov r15, qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
lea r14, [rsp + 0x40]
call r15
mov rcx, qword [rbx + 0xe0]
mov byte [rsp + 0x40], 0
imul rax, qword [rsp + 0x30], 0x3b9aca00
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x38], 0
cqo
idiv qword [0x0086e6c0]
movabs rdx, 0x431bde82d7b634db
mul rdx
shr rdx, 0x12
mov qword [rsp + 0x28], rdx
mov rdx, r12
call method.cryptonote::mdb_txn_safe.commit_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
mov rcx, qword [rsp + 0x30]
cmp rcx, r14
je 0x422908
call sym.operator_delete_void_
cmp qword [0x0086e6c0], 0
je 0x422b40
mov rcx, r12
call r15
lea r8, str.blockchain.db.lmdb
mov rcx, r12
mov qword [rsp + 0x40], r13
imul rax, qword [rsp + 0x30], 0x3b9aca00
mov dword [rsp + 0x38], 2
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x48], 0xa0c
cqo
mov qword [rsp + 0x50], rbp
idiv qword [0x0086e6c0]
mov byte [rsp + 0x68], 0
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], rdi
mov dword [rsp + 0x80], 2
mov qword [rsp + 0x88], 0
mov qword [rsp + 0x90], 0
mov qword [rsp + 0x98], 0
movabs rdx, 0x431bde82d7b634db
mul rdx
mov rax, rdx
mov edx, 1
shr rax, 0x12
sub rax, qword [rsp + 0x28]
add qword [rbx + 0x30], rax
xor eax, eax
mov word [rsp + 0x58], ax
call method.el::base::Writer.construct_int__char_const__..._
cmp byte [rax + 0x38], 0
mov rdi, rax
jne 0x422b70
mov rcx, r12
mov qword [rsp + 0x30], rsi
call method.el::base::Writer.processDispatch__
mov rsi, qword [rsp + 0x90]
mov r12, qword [rsp + 0x88]
cmp rsi, r12
je 0x422a24
nop
mov rcx, qword [r12]
lea rax, [r12 + 0x10]
cmp rcx, rax
je 0x422a13
call sym.operator_delete_void_
add r12, 0x20
cmp rsi, r12
jne 0x422a00
mov r12, qword [rsp + 0x88]
test r12, r12
je 0x422a31
mov rcx, r12
call sym.operator_delete_void_
mov r12, qword [rbx + 0xe8]
mov qword [rbx + 0xe0], 0
test r12, r12
je 0x422a5d
cmp byte [r12 + 0x11], 0
jne 0x422ab0
mov edx, 0x18
mov rcx, r12
call sym.operator_delete_void__unsigned_long_long_
lea rdi, [rbx + 0x100]
xor eax, eax
mov qword [rbx + 0xe8], 0
mov qword [rbx + 0xf8], 0
and rdi, 0xfffffffffffffff8
mov qword [rbx + 0x158], 0
sub ebx, edi
lea ecx, [rbx + 0x160]
shr ecx, 3
rep stosq qword [rdi], rax
add rsp, 0xa8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, r12
call method.cryptonote::mdb_txn_safe.mdb_txn_safe____clone_.part.0_
jmp 0x422a50
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 r15, qword [0x00939c20]
mov rax, qword [r15]
test byte [rax + 0x49], 0x20
jne 0x422c10
cmp byte [r14 + 0x38], 0
je 0x422709
mov rax, qword [r14 + 0x40]
mov r8d, 0xc
lea rdx, str.batch_commit
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 [r15]
test byte [rax + 0x49], 0x20
je 0x422709
mov rcx, qword [r14 + 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 0x422709
lea rcx, [0x0086e6c0]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
jmp 0x422916
lea rcx, [0x0086e6c0]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
jmp 0x42289d
mov rax, qword [rax + 0x40]
mov r8d, 0x1c
lea rdx, str.batch_transaction:_committed
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 [0x00939c20]
mov rax, qword [rax]
test byte [rax + 0x49], 0x20
je 0x4229dd
mov rcx, qword [rdi + 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 0x4229dd
mov rax, qword [rax + 0x40]
mov r8d, 0x20
lea rdx, str.batch_transaction:_committing...
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 [0x00939c20]
mov rax, qword [rax]
test byte [rax + 0x49], 0x20
je 0x422839
mov rcx, qword [r14 + 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 0x422839
mov rax, qword [r14 + 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 0x422aee
mov rcx, r12
lea rdx, str.batch_transaction_not_in_progress
lea rbx, sym.cryptonote::DB_ERROR::DB_ERROR__
call method.cryptonote::DB_EXCEPTION.DB_EXCEPTION_char_const_
mov rcx, r12
mov qword [rsp + 0x30], rbx
call sym.void__anonymous_namespace_::throw1_cryptonote::DB_ERROR__cryptonote::DB_ERROR_const___clone_constprop0_
mov rcx, r12
lea rdx, str.batch_transaction_not_in_progress
lea rbx, sym.cryptonote::DB_ERROR::DB_ERROR__
call method.cryptonote::DB_EXCEPTION.DB_EXCEPTION_char_const_
mov rcx, r12
mov qword [rsp + 0x30], rbx
call sym.void__anonymous_namespace_::throw1_cryptonote::DB_ERROR__cryptonote::DB_ERROR_const___clone_constprop0_
mov rcx, r12
lea rdx, str.batch_transactions_not_enabled
lea rbx, sym.cryptonote::DB_ERROR::DB_ERROR__
call method.cryptonote::DB_EXCEPTION.DB_EXCEPTION_char_const_
mov rcx, r12
mov qword [rsp + 0x30], rbx
call sym.void__anonymous_namespace_::throw0_cryptonote::DB_ERROR__cryptonote::DB_ERROR_const___clone_constprop0_
mov rcx, r12
lea rdx, str.batch_transaction_owned_by_other_thread
lea rbx, sym.cryptonote::DB_ERROR::DB_ERROR__
call method.cryptonote::DB_EXCEPTION.DB_EXCEPTION_char_const_
mov rcx, r12
mov qword [rsp + 0x30], rbx
call sym.void__anonymous_namespace_::throw1_cryptonote::DB_ERROR__cryptonote::DB_ERROR_const___clone_constprop0_
mov rcx, r12
mov r13, rax
mov qword [rsp + 0x30], rsi
call method.el::base::Writer.processDispatch__
lea rcx, [rsp + 0x88]
call method.std::vector_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::allocator_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_______.vector__
mov rcx, r13
call sym._Unwind_Resume
mov r13, rax
mov rcx, r12
mov qword [rsp + 0x30], rbx
call sym.cryptonote::DB_EXCEPTION::DB_EXCEPTION__
mov rcx, r13
call sym._Unwind_Resume
mov rcx, r12
mov r13, rax
mov qword [rsp + 0x30], rsi
call method.el::base::Writer.processDispatch__
lea rcx, [rsp + 0x88]
call method.std::vector_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::allocator_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_______.vector__
mov rcx, r13
call sym._Unwind_Resume
mov rcx, r12
mov r13, rax
mov qword [rsp + 0x30], rsi
call method.el::base::Writer.processDispatch__
lea rcx, [rsp + 0x88]
call method.std::vector_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::allocator_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_______.vector__
mov rcx, r13
call sym._Unwind_Resume
mov rcx, qword [rsp + 0x30]
mov r12, rax
cmp rcx, r14
je 0x422d54
call sym.operator_delete_void_
mov rcx, r12
call sym._Unwind_Resume
jmp 0x422ce0