Function at 0x4e1d00
Capabilities:
Write file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x3f8
mov eax, 1
mov rbx, rcx
lock xadd dword [rcx + 0x248], eax
lea r9, [0x00898db3]
mov r8d, 0x10
lea rdx, [fcn.004ddd00]
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0x110]
lea rdi, [rsp + 0x100]
mov qword [rsp + 0x98], rcx
mov dword [rsp + 0x5c], eax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char______gnu_cxx::__to_xstring_std::__cxx11::basic_string_char__std::char_traits_char___std.allocator_char_____char__int____char__unsigned_long_long__char_const__char___un
lea r8, [0x00898dbd]
xor r9d, r9d
lea rcx, [rsp + 0xf0]
lea rdx, [r8 - 7]
mov qword [rsp + 0x90], rcx
mov qword [rsp + 0x78], rdi
mov qword [rsp + 0xf0], rdi
call method.void_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_construct_char_const__char_const__char_const__std::forward_iterator_tag_
mov r9, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0xf8]
mov eax, 0xf
mov r8, qword [rsp + 0x118]
mov r11, rax
mov r10, qword [rsp + 0x110]
cmp r9, rdi
cmovne r11, qword [rsp + 0x100]
lea rdx, [rcx + r8]
cmp rdx, r11
jbe 0x4e3180
lea rdi, [rsp + 0x120]
cmp r10, rdi
mov qword [rsp + 0x80], rdi
cmovne rax, qword [rsp + 0x120]
cmp rdx, rax
jbe 0x4e2ec8
mov rcx, qword [rsp + 0x90]
mov rdx, r10
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_append_char_const__unsigned_long_long_
lea rdi, [rsp + 0x140]
lea rdx, [rax + 0x10]
mov qword [rsp + 0x130], rdi
mov rcx, qword [rax]
mov qword [rsp + 0x88], rdi
cmp rcx, rdx
je 0x4e3260
mov qword [rsp + 0x130], rcx
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0x140], rcx
mov rcx, qword [rax + 8]
mov qword [rsp + 0x138], rcx
mov qword [rax], rdx
mov qword [rax + 8], 0
mov byte [rax + 0x10], 0
movabs rax, 0x3fffffffffffffff
cmp qword [rsp + 0x138], rax
je 0x4e3557
lea rax, [rsp + 0x130]
mov r8d, 1
lea rdx, [0x00898c20]
mov rcx, rax
mov qword [rsp + 0x68], rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_append_char_const__unsigned_long_long_
lea rdi, [rsp + 0x160]
lea rdx, [rax + 0x10]
mov qword [rsp + 0x150], rdi
mov rcx, qword [rax]
mov qword [rsp + 0x70], rdi
cmp rcx, rdx
je 0x4e3278
mov qword [rsp + 0x150], rcx
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0x160], rcx
mov rcx, qword [rax + 8]
lea r15, [rsp + 0x1e0]
mov qword [rsp + 0x158], rcx
mov qword [rax], rdx
mov qword [rax + 8], 0
mov byte [rax + 0x10], 0
cmp qword [rsp + 0x158], 0
jne 0x4e2ee8
mov rcx, qword [rsp + 0x150]
cmp rcx, qword [rsp + 0x70]
je 0x4e1f12
call sym.operator_delete_void_
mov rcx, qword [rsp + 0x130]
cmp rcx, qword [rsp + 0x88]
je 0x4e1f29
call sym.operator_delete_void_
mov rcx, qword [rsp + 0xf0]
cmp rcx, qword [rsp + 0x78]
je 0x4e1f3d
call sym.operator_delete_void_
mov rcx, qword [rsp + 0x110]
cmp rcx, qword [rsp + 0x80]
je 0x4e1f54
call sym.operator_delete_void_
lea rax, str._home_biz_blur_src_cryptonote_basic_miner.cpp
xor r12d, r12d
mov rcx, r15
mov edx, 1
mov qword [rsp + 0x1f0], rax
lea rax, str.bool_cryptonote::miner::worker_thread__
lea r14, method.el::base::Writer.Writer__
mov qword [rsp + 0x200], rax
lea r8, [0x00898de8]
lea rax, [0x0088f90f]
mov qword [rsp + 0x1e0], r14
mov dword [rsp + 0x1e8], pe_nt_image_headers64
mov dword [rsp + 0x1f8], 0x182
mov word [rsp + 0x208], r12w
mov qword [rsp + 0x210], 0
mov byte [rsp + 0x218], 0
mov qword [rsp + 0x220], 0
mov qword [rsp + 0x228], rax
mov dword [rsp + 0x230], 2
mov qword [rsp + 0x238], 0
mov qword [rsp + 0x240], 0
mov qword [rsp + 0x248], 0
call method.el::base::Writer.construct_int__char_const__..._
cmp byte [rax + 0x38], 0
mov rsi, rax
jne 0x4e3200
mov rcx, r15
mov qword [rsp + 0x1e0], r14
call method.el::base::Writer.processDispatch__
mov rsi, qword [rsp + 0x240]
mov r12, qword [rsp + 0x238]
cmp rsi, r12
je 0x4e2074
nop word [rax + rax]
mov rcx, qword [r12]
lea rax, [r12 + 0x10]
cmp rcx, rax
je 0x4e2063
call sym.operator_delete_void_
add r12, 0x20
cmp rsi, r12
jne 0x4e2050
mov r12, qword [rsp + 0x238]
test r12, r12
je 0x4e2081
mov rcx, r12
call sym.operator_delete_void_
lea rax, [rbx + 0x234]
mov qword [rsp + 0x60], rax
lea rax, fcn.00703a20
mov esi, dword [rbx + 0x234]
mov byte [rsp + 0x218], 0
mov qword [rsp + 0x1e0], 0
mov qword [rsp + 0x1e8], 0
add esi, dword [rsp + 0x5c]
mov qword [rsp + 0x1f0], 0
mov qword [rsp + 0x1f8], 0
mov qword [rsp + 0x200], 0
mov qword [rsp + 0x208], 0
mov qword [rsp + 0x210], 0
mov qword [rsp + 0x238], 0
mov qword [rsp + 0x240], 0
mov qword [rsp + 0x248], 0
mov qword [rsp + 0x250], 0
mov qword [rsp + 0x258], 0
mov qword [rsp + 0x260], 0
mov qword [rsp + 0x268], 0
mov qword [rsp + 0x270], 0
mov qword [rsp + 0x278], 0
mov qword [rsp + 0x220], rax
mov qword [rsp + 0x288], 0
mov qword [rsp + 0x290], 0
mov qword [rsp + 0x298], 0
mov qword [rsp + 0x2c8], 0
mov qword [rsp + 0x2d0], 0
mov qword [rsp + 0x2d8], 0
mov qword [rsp + 0x2e0], 0
mov qword [rsp + 0x2e8], 0
mov qword [rsp + 0x2f0], 0
mov qword [rsp + 0x2f8], 0
mov qword [rsp + 0x300], 0
mov qword [rsp + 0x308], 0
mov qword [rsp + 0x310], 0
mov qword [rsp + 0x318], 0
mov qword [rsp + 0x320], 0
mov qword [rsp + 0x330], 0
mov qword [rsp + 0x338], 0
mov qword [rsp + 0x340], 0
mov qword [rsp + 0x348], 0
mov qword [rsp + 0x350], 0
mov qword [rsp + 0x358], 0
mov qword [rsp + 0x360], 0
mov qword [rsp + 0x368], 0
mov qword [rsp + 0x370], 0
mov qword [rsp + 0x378], 0
mov qword [rsp + 0x380], 0
mov qword [rsp + 0x388], 0
mov qword [rsp + 0x228], 1
mov qword [rsp + 0x230], 0
mov byte [rsp + 0x2a0], 0
mov byte [rsp + 0x280], 0
mov byte [rsp + 0x281], 0
mov qword [rsp + 0x3b8], 0
mov qword [rsp + 0x3c0], 0
mov qword [rsp + 0x3c8], 0
call sym.slow_hash_allocate_state
mov edi, dword [rbx]
test edi, edi
jne 0x4e2715
lea rax, [rbx + 0x250]
xor r13d, r13d
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x160]
mov qword [rsp + 0xa8], rax
nop dword [rax]
mov rax, qword [rsp + 0x48]
mov eax, dword [rax]
test eax, eax
jne 0x4e2a30
mov eax, dword [rbx + 0x230]
cmp eax, edi
je 0x4e25cd
mov eax, dword [0x0086e740]
lea r12, [rsp + 0x170]
mov rcx, r12
mov qword [rsp + 0x170], rax
call method.void_boost::this_thread::sleep_for_long_long__boost.ratio_1ll__1000ll____boost::chrono::duration_long_long__boost::ratio_1ll__1000ll____const_
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov r13d, eax
mov eax, dword [rbx + 0xc]
lea rbp, [rbx + 0xc]
cmp r13d, eax
je 0x4e2eb8
mov eax, dword [rbx + 0x10]
lea rdi, [rbx + 0x10]
nop dword [rax + rax]
mov edx, eax
mov r8d, eax
mov rcx, rdi
mov esi, eax
or edx, 0x80000000
call dbg._InterlockedCompareExchange
cmp esi, eax
jne 0x4e23a0
test eax, eax
js 0x4e2b28
xchg dword [rbp], r13d
mov dword [rbx + 8], 1
mov rax, qword [rbx + 0x50]
movdqu xmm0, xmmword [rbx + 0x20]
lea rdx, [rbx + 0x78]
lea rcx, [rsp + 0x238]
movdqu xmm1, xmmword [rbx + 0x30]
movdqu xmm2, xmmword [rbx + 0x40]
mov qword [rsp + 0x210], rax
movups xmmword [rsp + 0x1e0], xmm0
movups xmmword [rsp + 0x1f0], xmm1
movups xmmword [rsp + 0x200], xmm2
mov byte [rsp + 0x218], 0
mfence
mov rax, qword [rbx + 0x68]
mov qword [rsp + 0x228], rax
mov rax, qword [rbx + 0x70]
mov qword [rsp + 0x230], rax
call fcn.0080f5c0
lea rdx, [rbx + 0x90]
lea rcx, [rsp + 0x250]
call method.std::vector_cryptonote::tx_out__std::allocator_cryptonote::tx_out___.operator_std::vector_cryptonote::tx_out__std::allocator_cryptonote::tx_out____const_
lea rdx, [rbx + 0xa8]
lea rcx, [rsp + 0x268]
call method.std::vector_unsigned_char__std::allocator_unsigned_char___.operator_std::vector_unsigned_char__std::allocator_unsigned_char____const_
lea rdx, [rbx + 0xc8]
lea rcx, [rsp + 0x288]
mov byte [rsp + 0x280], 0
mov byte [rsp + 0x281], 0
call method.std::vector_std::vector_crypto::signature__std::allocator_crypto::signature_____std::allocator_std::vector_crypto::signature__std::allocator_crypto::signature_______.operator_std::vector_std::vector_crypto::signature__std::allocator_crypto::signat
movzx eax, byte [rbx + 0xe0]
movdqu xmm3, xmmword [rbx + 0xe1]
lea rdx, [rbx + 0x108]
lea rcx, [rsp + 0x2c8]
movdqu xmm4, xmmword [rbx + 0xf1]
mov byte [rsp + 0x2a0], al
movups xmmword [rsp + 0x2a1], xmm3
movups xmmword [rsp + 0x2b1], xmm4
call method.std::vector_std::vector_rct::ctkey__std::allocator_rct::ctkey_____std::allocator_std::vector_rct::ctkey__std::allocator_rct::ctkey_______.operator_std::vector_std::vector_rct::ctkey__std::allocator_rct::ctkey_____std::allocator_std::vector_rct::ct
lea rdx, [rbx + 0x120]
lea rcx, [rsp + 0x2e0]
call method.std::vector_rct::key__std::allocator_rct::key___.operator_std::vector_rct::key__std::allocator_rct::key____const_
lea rdx, [rbx + 0x138]
lea rcx, [rsp + 0x2f8]
call method.std::vector_rct::ecdhTuple__std::allocator_rct::ecdhTuple___.operator_std::vector_rct::ecdhTuple__std::allocator_rct::ecdhTuple____const_
lea rdx, [rbx + 0x150]
lea rcx, [rsp + 0x310]
call method.std::vector_rct::ctkey__std::allocator_rct::ctkey___.operator_std::vector_rct::ctkey__std::allocator_rct::ctkey____const_
mov rax, qword [rbx + 0x168]
lea rdx, [rbx + 0x170]
lea rcx, [rsp + 0x330]
mov qword [rsp + 0x328], rax
call method.std::vector_rct::rangeSig__std::allocator_rct::rangeSig___.operator_std::vector_rct::rangeSig__std::allocator_rct::rangeSig____const_
lea rdx, [rbx + 0x188]
lea rcx, [rsp + 0x348]
call method.std::vector_rct::Bulletproof__std::allocator_rct::Bulletproof___.operator_std::vector_rct::Bulletproof__std::allocator_rct::Bulletproof____const_
lea rdx, [rbx + 0x1a0]
lea rcx, [rsp + 0x360]
call method.std::vector_rct::mgSig__std::allocator_rct::mgSig___.operator_std::vector_rct::mgSig__std::allocator_rct::mgSig____const_
lea rdx, [rbx + 0x1b8]
lea rcx, [rsp + 0x378]
call method.std::vector_rct::key__std::allocator_rct::key___.operator_std::vector_rct::key__std::allocator_rct::key____const_
movzx eax, byte [rbx + 0xc0]
test al, al
jne 0x4e2af8
movzx eax, byte [rbx + 0xc1]
test al, al
jne 0x4e2ad8
lea rdx, [rbx + 0x1f8]
lea rcx, [rsp + 0x3b8]
call method.std::vector_crypto::hash__std::allocator_crypto::hash___.operator_std::vector_crypto::hash__std::allocator_crypto::hash____const_
movzx eax, byte [rbx + 0x58]
test al, al
jne 0x4e2aa8
mov rax, qword [rbx + 0x240]
mov r13, qword [rbx + 0x238]
mov qword [rsp + 0x50], rax
mov eax, dword [rbx + 8]
sub eax, 1
mov dword [rbx + 8], eax
je 0x4e2a90
mov edi, dword [rbx + 0x230]
mov rax, qword [rsp + 0x60]
mov esi, dword [rax]
add esi, dword [rsp + 0x5c]
test edi, edi
jne 0x4e2880
lea rax, str._home_biz_blur_src_cryptonote_basic_miner.cpp
xor ebp, ebp
lea r12, [rsp + 0x170]
mov edx, 1
mov qword [rsp + 0x180], rax
lea rax, str.bool_cryptonote::miner::worker_thread__
mov rcx, r12
lea r8, str.miner
mov qword [rsp + 0x190], rax
lea rax, [0x0088f90f]
mov qword [rsp + 0x170], r14
mov dword [rsp + 0x178], 4
mov dword [rsp + 0x188], 0x19e
mov word [rsp + 0x198], bp
mov qword [rsp + 0x1a0], 0
mov byte [rsp + 0x1a8], 0
mov qword [rsp + 0x1b0], 0
mov qword [rsp + 0x1b8], rax
mov dword [rsp + 0x1c0], 2
mov qword [rsp + 0x1c8], 0
mov qword [rsp + 0x1d0], 0
mov qword [rsp + 0x1d8], 0
call method.el::base::Writer.construct_int__char_const__..._
cmp byte [rax + 0x38], 0
mov rbp, rax
jne 0x4e2a40
mov rcx, r12
mov qword [rsp + 0x170], r14
call method.el::base::Writer.processDispatch__
mov rbp, qword [rsp + 0x1d0]
mov r12, qword [rsp + 0x1c8]
cmp rbp, r12
je 0x4e26f4
nop word [rax + rax]
mov rcx, qword [r12]
lea rax, [r12 + 0x10]
cmp rcx, rax
je 0x4e26e3
call sym.operator_delete_void_
add r12, 0x20
cmp rbp, r12
jne 0x4e26d0
mov r12, qword [rsp + 0x1c8]
test r12, r12
je 0x4e2701
mov rcx, r12
call sym.operator_delete_void_
mov ecx, 0x3e8
call method.epee::misc_utils.sleep_no_w_long_
mov eax, dword [rbx]
test eax, eax
je 0x4e2340
call sym.slow_hash_free_state
lea rax, str._home_biz_blur_src_cryptonote_basic_miner.cpp
lea r12, [rsp + 0x170]
mov edx, 1
mov qword [rsp + 0x170], r14
mov qword [rsp + 0x180], rax
mov rcx, r12
lea rax, str.bool_cryptonote::miner::worker_thread__
lea r8, [0x00898de8]
mov qword [rsp + 0x190], rax
xor eax, eax
mov word [rsp + 0x198], ax
lea rax, [0x0088f90f]
mov dword [rsp + 0x178], pe_nt_image_headers64
mov dword [rsp + 0x188], 0x1ba
mov qword [rsp + 0x1a0], 0
mov byte [rsp + 0x1a8], 0
mov qword [rsp + 0x1b0], 0
mov qword [rsp + 0x1b8], rax
mov dword [rsp + 0x1c0], 2
mov qword [rsp + 0x1c8], 0
mov qword [rsp + 0x1d0], 0
mov qword [rsp + 0x1d8], 0
call method.el::base::Writer.construct_int__char_const__..._
cmp byte [rax + 0x38], 0
mov rbx, rax
jne 0x4e3198
mov rcx, r12
mov qword [rsp + 0x170], r14
call method.el::base::Writer.processDispatch__
mov rbx, qword [rsp + 0x1d0]
mov r12, qword [rsp + 0x1c8]
cmp rbx, r12
je 0x4e2834
nop dword [rax]
mov rcx, qword [r12]
lea rax, [r12 + 0x10]
cmp rcx, rax
je 0x4e2823
call sym.operator_delete_void_
add r12, 0x20
cmp rbx, r12
jne 0x4e2810
mov r12, qword [rsp + 0x1c8]
test r12, r12
je 0x4e2841
mov rcx, r12
call sym.operator_delete_void_
mov rcx, qword [rsp + 0x3b8]
test rcx, rcx
je 0x4e2853
call sym.operator_delete_void_
lea rcx, [rsp + 0x220]
call fcn.00703a20
mov eax, 1
add rsp, 0x3f8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
lea r12, [rsp + 0xd0]
mov r8, qword [rsp + 0x50]
mov rcx, r15
mov dword [rsp + 0x210], esi
mov rdx, r12
call method.cryptonote.get_block_longhash_cryptonote::block_const__crypto::hash__unsigned_long_long_
mov rdx, r13
mov rcx, r12
call method.cryptonote.check_hash_crypto::hash_const__unsigned_long_long_
test al, al
je 0x4e2a18
add qword [rbx + 0x320], 1
lea rax, str._home_biz_blur_src_cryptonote_basic_miner.cpp
xor r11d, r11d
mov edx, 1
mov qword [rsp + 0x180], rax
lea r12, [rsp + 0x170]
lea rax, str.bool_cryptonote::miner::worker_thread__
mov qword [rsp + 0x190], rax
lea r8, [0x00898de8]
lea rax, [0x0088f90f]
mov rcx, r12
mov qword [rsp + 0x170], r14
mov dword [rsp + 0x178], pe_nt_image_headers64
mov dword [rsp + 0x188], 0x1ab
mov word [rsp + 0x198], r11w
mov qword [rsp + 0x1a0], 0
mov byte [rsp + 0x1a8], 0
mov qword [rsp + 0x1b0], 0
mov qword [rsp + 0x1b8], rax
mov dword [rsp + 0x1c0], 2
mov qword [rsp + 0x1c8], 0
mov qword [rsp + 0x1d0], 0
mov qword [rsp + 0x1d8], 0
call method.el::base::Writer.construct_int__char_const__..._
cmp byte [rax + 0x38], 0
mov rbp, rax
jne 0x4e3140
mov rcx, qword [rsp + 0x68]
mov rdx, r15
call method.cryptonote.get_block_hash_cryptonote::block_const_
cmp byte [rbp + 0x38], 0
jne 0x4e3038
mov rcx, r12
mov qword [rsp + 0x170], r14
call method.el::base::Writer.processDispatch__
mov rbp, qword [rsp + 0x1d0]
mov r12, qword [rsp + 0x1c8]
cmp rbp, r12
je 0x4e29ec
nop dword [rax]
mov rcx, qword [r12]
lea rax, [r12 + 0x10]
cmp rcx, rax
je 0x4e29db
call sym.operator_delete_void_
add r12, 0x20
cmp rbp, r12
jne 0x4e29c8
mov r12, qword [rsp + 0x1c8]
test r12, r12
je 0x4e29f9
mov rcx, r12
call sym.operator_delete_void_
mov rcx, qword [rbx + 0x2a0]
mov rdx, r15
mov rax, qword [rcx]
call qword [rax]
test al, al
jne 0x4e2bf0
sub qword [rbx + 0x320], 1
mov eax, dword [rbx + 0x24c]
add esi, eax
lock add qword [rbx + 0x350], 1
jmp 0x4e270b
mov ecx, 0x64
call method.epee::misc_utils.sleep_no_w_long_
jmp 0x4e270b
mov rax, qword [rax + 0x40]
mov r8d, 0x1a
lea rdx, str.Block_template_not_set_yet
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 0x4e26a2
mov rcx, qword [rbp + 0x40]
mov r8d, 1
lea rdx, [0x0088f802]
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 0x4e26a2
xchg dword [rbp], eax
lea rcx, [rbx + 0x10]
call method.boost::detail::basic_timed_mutex.unlock__
jmp 0x4e25bc
movdqu xmm5, xmmword [rbx + 0x210]
movups xmmword [rsp + 0x3d0], xmm5
movdqu xmm5, xmmword [rbx + 0x220]
movups xmmword [rsp + 0x3e0], xmm5
mov byte [rsp + 0x218], 1
jmp 0x4e259a
mov rax, qword [rbx + 0x1f0]
mov qword [rsp + 0x3b0], rax
mov byte [rsp + 0x281], 1
jmp 0x4e257a
movdqu xmm5, xmmword [rbx + 0x1d0]
movups xmmword [rsp + 0x390], xmm5
movdqu xmm5, xmmword [rbx + 0x1e0]
movups xmmword [rsp + 0x3a0], xmm5
mov byte [rsp + 0x280], 1
jmp 0x4e256b
mov esi, dword [rbx + 0x10]
jmp 0x4e2b32
mov esi, eax
mov ecx, esi
mov edx, esi
lea eax, [rsi + 1]
sar ecx, 0x1f
or edx, 0x80000000
and ecx, 1
cmovne edx, eax
mov eax, esi
lock cmpxchg dword [rdi], edx
cmp eax, esi
jne 0x4e2b30
test cl, cl
cmovne esi, edx
test esi, esi
jns 0x4e23c1
lea rax, [rbx + 0x18]
mov qword [rsp + 0x50], rax
mov rax, qword [rbx + 0x18]
mov qword [rsp + 0x50], rax
test rax, rax
je 0x4e3377
mov r12, qword [sym.imp.KERNEL32.dll_WaitForSingleObjectEx]
nop dword [rax]
mov rcx, qword [rsp + 0x50]
xor r8d, r8d
mov edx, 0xffffffff
call r12
and esi, 0x7fffffff
or esi, 0x40000000
test esi, esi
js 0x4e2bd3
nop dword [rax + rax]
lea edx, [rsi - 1]
mov eax, esi
and edx, 0x3fffffff
or edx, 0x80000000
lock cmpxchg dword [rdi], edx
cmp eax, esi
je 0x4e23c1
mov esi, eax
test esi, esi
jns 0x4e2bb0
mov edx, esi
mov eax, esi
and edx, 0xbfffffff
lock cmpxchg dword [rdi], edx
cmp eax, esi
je 0x4e2b88
mov esi, eax
jmp 0x4e2bcf
mov r8, qword [rbx + 0x330]
test r8, r8
je 0x4e2a18
mov rdx, qword [rbx + 0x328]
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x90]
add r8, rdx
mov qword [rsp + 0xf0], rax
call fcn.004dde30
movabs rax, 0x3fffffffffffffff
cmp qword [rsp + 0xf8], rax
je 0x4e3563
mov rcx, qword [rsp + 0x90]
mov r8d, 1
lea rdx, [0x00898e5f]
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_append_char_const__unsigned_long_long_
movabs rax, 0x3fffffffffffffff
sub rax, qword [rsp + 0xf8]
cmp rax, 0xe
jbe 0x4e353b
mov rcx, qword [rsp + 0x90]
mov r8d, 0xf
lea rdx, str.miner_conf.json
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_append_char_const__unsigned_long_long_
mov rdx, qword [rsp + 0x80]
mov qword [rsp + 0x110], rdx
mov rcx, qword [rax]
lea rdx, [rax + 0x10]
cmp rcx, rdx
je 0x4e33c6
mov qword [rsp + 0x110], rcx
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0x120], rcx
mov rcx, qword [rax + 8]
mov r9d, 1
xor r8d, r8d
mov qword [rsp + 0x118], rcx
lea rcx, [rbx + 0x320]
mov qword [rax], rdx
mov rdx, qword [rsp + 0x68]
mov qword [rax + 8], 0
mov byte [rax + 0x10], 0
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x138], 0
mov qword [rsp + 0x130], rax
mov byte [rsp + 0x140], 0
call sym._ZN4epee13serialization15store_t_to_jsonIN10cryptonote5miner12miner_configEEEbRT_RNSt7__cxx1112basic_stringIcSt11char_traitsIc
mov rdx, qword [rsp + 0x98]
lea r12, [rsp + 0x180]
xor r10d, r10d
lea rcx, [rsp + 0x150]
mov qword [rsp + 0x170], r12
mov qword [rsp + 0x178], 0
mov word [rsp + 0x180], r10w
call method.epee::string_tools.utf8_to_utf16_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
mov rcx, qword [rsp + 0x170]
mov rax, qword [rsp + 0x150]
mov r8, qword [rsp + 0x158]
cmp rax, qword [rsp + 0x70]
je 0x4e34a2
mov rdx, qword [rsp + 0x160]
cmp rcx, r12
je 0x4e34e7
mov r9, qword [rsp + 0x180]
mov qword [rsp + 0x170], rax
mov qword [rsp + 0x178], r8
mov qword [rsp + 0x180], rdx
test rcx, rcx
je 0x4e34ff
mov qword [rsp + 0x150], rcx
mov qword [rsp + 0x160], r9
mov qword [rsp + 0x158], 0
xor edx, edx
mov word [rcx], dx
mov rcx, qword [rsp + 0x150]
cmp rcx, qword [rsp + 0x70]
je 0x4e2de8
call sym.operator_delete_void_
mov qword [rsp + 0x30], 0
xor r9d, r9d
xor r8d, r8d
mov rcx, qword [rsp + 0x170]
mov dword [rsp + 0x28], pe_nt_image_headers64
mov edx, 0x40000000
mov dword [rsp + 0x20], 2
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rbp, rax
cmp rax, 0xffffffffffffffff
je 0x4e2e56
mov qword [rsp + 0x20], 0
mov r8d, dword [rsp + 0x138]
mov rcx, rax
lea r9, [rsp + 0xcc]
mov rdx, qword [rsp + 0x130]
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x170]
cmp rcx, r12
je 0x4e2e68
call sym.operator_delete_void_
mov rcx, qword [rsp + 0x130]
cmp rcx, qword [rsp + 0x88]
je 0x4e2e7f
call sym.operator_delete_void_
mov rcx, qword [rsp + 0x110]
cmp rcx, qword [rsp + 0x80]
je 0x4e2e96
call sym.operator_delete_void_
mov rcx, qword [rsp + 0xf0]
cmp rcx, qword [rsp + 0x78]
je 0x4e2a18
call sym.operator_delete_void_
jmp 0x4e2a18
add dword [rbx + 8], 1
jmp 0x4e23cc
mov qword [rsp + 0x20], rcx
mov rcx, qword [rsp + 0x98]
xor r8d, r8d
xor edx, edx
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_replace_unsigned_long_long__unsigned_long_long__char_const__unsigned_long_long_
jmp 0x4e1e02
mov rax, qword [0x00939c20]
mov rdi, qword [rax]
lea rax, [rdi + 0x10]
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x48], rax
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea r15, [rsp + 0x1e0]
mov rcx, r15
call fcn.00824f10
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov edx, eax
lea rcx, [rsp + 0x1f0]
call method.std::ostream_std::ostream._M_insert_unsigned_long__unsigned_long_
lea r12, [rsp + 0x170]
lea rdx, [rsp + 0x1f8]
mov rcx, r12
call method.std::__cxx11::basic_stringbuf_char__std::char_traits_char___std::allocator_char___.str___const
mov rcx, r15
lea r13, [rdi + 0x140]
call fcn.008259b0
mov r14, qword [rdi + 0x148]
mov qword [rsp + 0x50], r13
test r14, r14
je 0x4e328a
mov rbp, qword [rsp + 0x178]
mov rdi, qword [rsp + 0x170]
jmp 0x4e2f89
mov r14, qword [r14 + 0x18]
test r14, r14
je 0x4e2fda
mov rsi, qword [r14 + 0x28]
mov r8, rbp
cmp rsi, rbp
cmovbe r8, rsi
test r8, r8
je 0x4e2fac
mov rcx, qword [r14 + 0x20]
mov rdx, rdi
call sym.memcmp
test eax, eax
jne 0x4e2fca
sub rsi, rbp
mov eax, 0x80000000
cmp rsi, rax
jge 0x4e2fce
movabs rax, 0xffffffff7fffffff
cmp rsi, rax
jle 0x4e2f80
mov eax, esi
test eax, eax
js 0x4e2f80
mov r13, r14
mov r14, qword [r14 + 0x10]
test r14, r14
jne 0x4e2f89
cmp qword [rsp + 0x50], r13
je 0x4e328f
mov rcx, r12
lea rdx, [r13 + 0x20]
lea r12, [rsp + 0x180]
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.compare_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const__const
test eax, eax
js 0x4e328f
lea rdx, [rsp + 0x150]
lea rcx, [r13 + 0x40]
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_assign_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
mov rcx, qword [rsp + 0x170]
cmp rcx, r12
je 0x4e3024
call sym.operator_delete_void_
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x4e1efe
mov rax, qword [rbp + 0x40]
lea rdx, [rsp + 0xb0]
mov qword [rsp + 0xb8], 0x20
lea rcx, [rax + 0x78]
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0xb0], rax
call method.epee::to_hex.formatted_std::ostream__epee::span_unsigned_char_const__
mov rax, qword [0x00939c20]
mov rax, qword [rax]
test byte [rax + 0x49], 0x20
jne 0x4e3420
cmp byte [rbp + 0x38], 0
je 0x4e29a0
lea rax, [rbp + 0x40]
lea rdx, str._at_height
mov rcx, rax
mov qword [rsp + 0xa0], rax
call method.el::base::MessageBuilder.operator___char_const_
cmp byte [rbp + 0x38], 0
je 0x4e29a0
mov rax, qword [rbp + 0x40]
mov rdx, qword [rsp + 0x50]
lea rcx, [rax + 0x78]
call method.std::ostream_std::ostream._M_insert_unsigned_long_long__unsigned_long_long_
mov rax, qword [0x00939c20]
mov rax, qword [rax]
test byte [rax + 0x49], 0x20
jne 0x4e3400
cmp byte [rbp + 0x38], 0
je 0x4e29a0
mov rcx, qword [rsp + 0xa0]
lea rdx, str._for_difficulty:
call method.el::base::MessageBuilder.operator___char_const_
cmp byte [rbp + 0x38], 0
je 0x4e29a0
mov rax, qword [rbp + 0x40]
mov rdx, r13
lea rcx, [rax + 0x78]
call method.std::ostream_std::ostream._M_insert_unsigned_long_long__unsigned_long_long_
mov rax, qword [0x00939c20]
mov rax, qword [rax]
test byte [rax + 0x49], 0x20
jne 0x4e33e0
cmp byte [rbp + 0x38], 0
je 0x4e29a0
mov rcx, qword [rsp + 0xa0]
lea rdx, [0x00898e5a]
call method.el::base::MessageBuilder.operator___char_const_
jmp 0x4e29a0
lea rax, [rax + 0x40]
lea rdx, str.e_1_1_92m
mov rcx, rax
mov qword [rsp + 0xa0], rax
call method.el::base::MessageBuilder.operator___char_const_
cmp byte [rbp + 0x38], 0
je 0x4e2989
mov rcx, qword [rsp + 0xa0]
lea rdx, str.Found_block
call method.el::base::MessageBuilder.operator___char_const_
jmp 0x4e2989
lea rax, [rsp + 0x120]
mov qword [rsp + 0x80], rax
jmp 0x4e1df2
lea r13, [rax + 0x40]
lea rdx, str.Miner_thread_stopped__
mov rcx, r13
call method.el::base::MessageBuilder.operator___char_const_
cmp byte [rbx + 0x38], 0
je 0x4e27e7
mov rax, qword [rbx + 0x40]
mov edx, dword [rsp + 0x5c]
lea rcx, [rax + 0x78]
call method.std::ostream_std::ostream._M_insert_unsigned_long__unsigned_long_
mov rax, qword [0x00939c20]
mov rax, qword [rax]
test byte [rax + 0x49], 0x20
jne 0x4e3460
cmp byte [rbx + 0x38], 0
je 0x4e27e7
lea rdx, [0x00898c20]
mov rcx, r13
call method.el::base::MessageBuilder.operator___char_const_
jmp 0x4e27e7
lea r12, [rax + 0x40]
lea rdx, str.Miner_thread_was_started__
mov rcx, r12
call method.el::base::MessageBuilder.operator___char_const_
cmp byte [rsi + 0x38], 0
je 0x4e2022
mov rax, qword [rsi + 0x40]
mov edx, dword [rsp + 0x5c]
lea rcx, [rax + 0x78]
call method.std::ostream_std::ostream._M_insert_unsigned_long__unsigned_long_
mov rax, qword [0x00939c20]
mov rax, qword [rax]
test byte [rax + 0x49], 0x20
jne 0x4e3440
cmp byte [rsi + 0x38], 0
je 0x4e2022
lea rdx, [0x00898c20]
mov rcx, r12
call method.el::base::MessageBuilder.operator___char_const_
jmp 0x4e2022
movdqu xmm0, xmmword [rax + 0x10]
movups xmmword [rsp + 0x140], xmm0
jmp 0x4e1e3e
movdqu xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x160], xmm1
jmp 0x4e1ecc
mov r13, qword [rsp + 0x50]
mov ecx, 0x60
lea r12, [rsp + 0x180]
call sym.operator_new_unsigned_long_long_
lea rsi, [rax + 0x30]
mov r14, rax
lea r12, [rsp + 0x180]
mov qword [rax + 0x20], rsi
mov rax, qword [rsp + 0x170]
cmp rax, r12
je 0x4e3364
mov qword [r14 + 0x20], rax
mov rax, qword [rsp + 0x180]
mov qword [r14 + 0x30], rax
mov rbp, qword [rsp + 0x60]
lea rdi, [r14 + 0x50]
mov r8, r13
lea r9, [r14 + 0x20]
mov rax, qword [rsp + 0x178]
mov qword [r14 + 0x40], rdi
lea rcx, [rsp + 0xb0]
mov qword [r14 + 0x48], 0
add rbp, 0x138
mov qword [r14 + 0x28], rax
mov rdx, rbp
mov byte [r14 + 0x50], 0
mov qword [rsp + 0x170], r12
mov qword [rsp + 0x178], 0
mov byte [rsp + 0x180], 0
call sym._ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE29_M
mov r8, qword [rsp + 0xb8]
mov r13, qword [rsp + 0xb0]
test r8, r8
je 0x4e3479
mov rdx, r13
mov r9, r14
mov rcx, rbp
call sym._ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE14_M
mov r13, rax
jmp 0x4e3001
movdqu xmm2, xmmword [rsp + 0x180]
movups xmmword [r14 + 0x30], xmm2
jmp 0x4e32d5
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateEventA]
mov qword [rsp + 0x50], rax
test rax, rax
je 0x4e3547
mov rcx, qword [rsp + 0x50]
xor eax, eax
lea rdx, [rbx + 0x18]
lock cmpxchg qword [rdx], rcx
mov r12, rax
test rax, rax
je 0x4e2b7a
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rsp + 0x50], r12
jmp 0x4e2b7a
movdqu xmm3, xmmword [rax + 0x10]
movups xmmword [rsp + 0x120], xmm3
jmp 0x4e2cc0
mov rax, qword [rbp + 0x40]
lea rdx, [0x0088f802]
lea rcx, [rax + 0x78]
call method.std::basic_ostream_char__std::char_traits_char____std::operator____std.char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
jmp 0x4e311b
mov rax, qword [rbp + 0x40]
lea rdx, [0x0088f802]
lea rcx, [rax + 0x78]
call method.std::basic_ostream_char__std::char_traits_char____std::operator____std.char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
jmp 0x4e30cf
mov rax, qword [rbp + 0x40]
mov r8d, 1
lea rdx, [0x0088f802]
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 0x4e307a
mov rax, qword [rsi + 0x40]
lea rdx, [0x0088f802]
lea rcx, [rax + 0x78]
call method.std::basic_ostream_char__std::char_traits_char____std::operator____std.char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
jmp 0x4e3242
mov rax, qword [rbx + 0x40]
lea rdx, [0x0088f802]
lea rcx, [rax + 0x78]
call method.std::basic_ostream_char__std::char_traits_char____std::operator____std.char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
jmp 0x4e31da
mov rcx, qword [r14 + 0x40]
cmp rdi, rcx
je 0x4e3487
call sym.operator_delete_void_
mov rcx, qword [r14 + 0x20]
cmp rsi, rcx
je 0x4e3495
call sym.operator_delete_void_
mov rcx, r14
call sym.operator_delete_void_
jmp 0x4e3001
test r8, r8
je 0x4e34ca
cmp r8, 1
je 0x4e351e
mov rdx, qword [rsp + 0x70]
add r8, r8
call sym.memcpy
mov r8, qword [rsp + 0x158]
mov rcx, qword [rsp + 0x170]
xor r9d, r9d
mov qword [rsp + 0x178], r8
mov word [rcx + r8*2], r9w
mov rcx, qword [rsp + 0x150]
jmp 0x4e2dc3
mov qword [rsp + 0x170], rax
mov qword [rsp + 0x178], r8
mov qword [rsp + 0x180], rdx
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0xa8]
mov qword [rsp + 0x150], rax
mov qword [rsp + 0x70], rcx
jmp 0x4e2dc3
movzx eax, word [rsp + 0x160]
mov word [rcx], ax
mov r8, qword [rsp + 0x158]
mov rcx, qword [rsp + 0x170]
jmp 0x4e34ca
lea rcx, [0x0088f7ea]
call method.std.__throw_length_error_char_const_
mov rcx, r12
call method.boost::thread_resource_error.thread_resource_error__
mov rcx, r12
call method.void_boost::throw_exception_boost.thread_resource_error__boost::thread_resource_error_const_
lea rcx, [0x0088f7ea]
call method.std.__throw_length_error_char_const_
lea rcx, [0x0088f7ea]
call method.std.__throw_length_error_char_const_
mov rbx, rax
mov rcx, r12
lea rax, method.boost::thread_exception.thread_exception__
mov qword [rsp + 0x170], rax
call sym.boost::system::system_error::system_error__
mov rcx, r15
call method.cryptonote::block.block__
mov rcx, rbx
call sym._Unwind_Resume
mov rcx, qword [rsp + 0x170]
mov rbx, rax
cmp rcx, r12
je 0x4e35ae
call sym.operator_delete_void_
mov rcx, qword [rsp + 0x130]
cmp rcx, qword [rsp + 0x88]
je 0x4e35c5
call sym.operator_delete_void_
mov rcx, qword [rsp + 0x110]
cmp rcx, qword [rsp + 0x80]
je 0x4e35dc
call sym.operator_delete_void_
mov rcx, qword [rsp + 0xf0]
cmp rcx, qword [rsp + 0x78]
je 0x4e3589
call sym.operator_delete_void_
jmp 0x4e3589