Function at 0x40e740
Capabilities:
Query environment variable

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x3d8
vmovups xmmword [rsp + 0x3b0], xmm6
vmovups xmmword [rsp + 0x3c0], xmm7
lea r8, [rsp + 0x1b0]
mov rbp, rcx
mov rcx, rdx
xor edx, edx
call fcn.0056c0b0
mov r12, rax
test rax, rax
je 0x40ecc0
lea rdx, str.method
mov rcx, rax
call fcn.0056d100
mov rcx, rax
call fcn.0056d570
mov rsi, rax
test rax, rax
je 0x40e8c0
lea rdx, str.params
mov rcx, r12
call fcn.0056d100
lea rdx, [0x005ac3a5]
mov rcx, r12
mov r13, rax
call fcn.0056d100
mov rdi, qword [sym.imp.msvcrt.dll__stricmp]
lea rdx, str.mining.notify
mov rcx, rsi
mov r14, rax
call rdi
mov ebx, eax
test eax, eax
je 0x40e8e8
lea rdx, str.mining.ping
mov rcx, rsi
call rdi
test eax, eax
jne 0x40ea10
mov rax, qword [0x005fd7c0]
cmp byte [rax], 0
jne 0x40ed88
xor r15d, r15d
test r14, r14
je 0x40e8c3
cmp dword [r14], 7
je 0x40e8c3
lea r15, [rsp + 0x2b0]
mov rcx, r14
call fcn.0056d670
lea rdx, str._id_:_d__result_:_pong___error_:null
mov rcx, r15
mov r8d, eax
call sub.msvcrt.dll_sprintf
mov rax, qword [0x005fd830]
cmp byte [rax], 0
jne 0x40f150
lea r13, [rbp + 0x130]
mov rcx, r13
call fcn.005737c0
lea rdx, [rbp + 0x118]
mov r8, r15
lea rcx, [rbp + 8]
call fcn.0040a5e0
mov rcx, r13
mov r15d, eax
call fcn.005746f0
mov rax, qword [r12 + 8]
cmp rax, 0xffffffffffffffff
jne 0x40e8ce
vmovups xmm6, xmmword [rsp + 0x3b0]
mov eax, r15d
vmovups xmm7, xmmword [rsp + 0x3c0]
add rsp, 0x3d8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
xor r15d, r15d
mov rax, qword [r12 + 8]
cmp rax, 0xffffffffffffffff
je 0x40e88e
sub rax, 1
mov qword [r12 + 8], rax
jne 0x40e88e
mov rcx, r12
call fcn.0056d880
jmp 0x40e88e
mov rcx, r13
call fcn.0056d330
mov rdx, rax
mov rax, qword [0x005fd750]
mov esi, dword [rax]
cmp esi, 0x18
sete r9b
cmp edx, 0xa
sete al
and r9b, al
mov r15d, r9d
jne 0x40ecf0
cmp esi, 0x27
je 0x40ebd0
xor edx, edx
mov rcx, r13
call fcn.0056d350
mov rcx, rax
call fcn.0056d570
mov edx, 1
mov rcx, r13
mov qword [rsp + 0x30], rax
call fcn.0056d350
mov rcx, rax
call fcn.0056d570
mov qword [rsp + 0x38], rax
cmp esi, 0x4c
jne 0x40ec0a
mov edx, 2
mov rcx, r13
mov edi, 9
call fcn.0056d350
mov r15d, 8
xor r14d, r14d
mov rcx, rax
call fcn.0056d570
mov edx, 3
mov rcx, r13
mov qword [rsp + 0x68], rax
call fcn.0056d350
mov rcx, rax
call fcn.0056d570
mov edx, 4
mov rcx, r13
mov qword [rsp + 0x70], rax
call fcn.0056d350
mov rcx, rax
call fcn.0056d570
mov edx, 5
mov rcx, r13
mov qword [rsp + 0x78], rax
call fcn.0056d350
mov rcx, rax
call fcn.0056d570
mov edx, 6
mov rcx, r13
mov qword [rsp + 0x80], rax
call fcn.0056d350
mov rcx, rax
call fcn.0056d570
mov dword [rsp + 0x48], 0xa
mov edx, 7
mov qword [rsp + 0x60], rax
mov dword [rsp + 0x98], 0
mov dword [rsp + 0x40], 7
jmp 0x40ec68
lea rdx, str.mining.set_difficulty
mov rcx, rsi
call rdi
test eax, eax
je 0x40eda0
lea rdx, str.mining.set_extranonce
mov rcx, rsi
call rdi
test eax, eax
je 0x40efb0
lea rdx, str.client.reconnect
mov rcx, rsi
call rdi
test eax, eax
je 0x40f170
lea rdx, str.client.get_algo
mov rcx, rsi
call rdi
test eax, eax
jne 0x40ee20
mov rax, qword [0x005fd860]
cmp byte [rax], 0
je 0x40f2af
mov qword [rsp + 0x2b0], 0
xor r15d, r15d
mov qword [rsp + 0x2b8], 0
mov qword [rsp + 0x2c0], 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
test r14, r14
je 0x40e8c3
cmp dword [r14], 7
je 0x40e8c3
lea r15, [rsp + 0x2b0]
mov edx, 0x40
mov rcx, r15
call fcn.00404150
call fcn.0056d070
mov r13, rax
mov rax, qword [r14 + 8]
cmp rax, 0xffffffffffffffff
je 0x40eb15
add rax, 1
mov qword [r14 + 8], rax
lea rdx, [0x005ac3a5]
mov r8, r14
mov rcx, r13
call fcn.0056dc70
call fcn.0056d870
lea rdx, str.error
mov rcx, r13
mov r8, rax
call fcn.0056dc70
mov rcx, r15
call fcn.0056d500
lea rdx, str.result
mov r8, rax
mov rcx, r13
call fcn.0056dc70
xor edx, edx
mov rcx, r13
call fcn.00569c40
mov r14, rax
mov rax, qword [0x005fd830]
cmp byte [rax], 0
jne 0x40f296
lea rbx, [rbp + 0x130]
mov rcx, rbx
call fcn.005737c0
lea rcx, [rbp + 8]
mov r8, r14
lea rdx, [rbp + 0x118]
call fcn.0040a5e0
mov rcx, rbx
mov r15d, eax
call fcn.005746f0
test r13, r13
je 0x40ebbf
mov rax, qword [r13 + 8]
cmp rax, 0xffffffffffffffff
je 0x40ebbf
sub rax, 1
mov qword [r13 + 8], rax
je 0x40f53d
mov rcx, r14
call sub.msvcrt.dll_free
jmp 0x40e8c3
cmp edx, 0xa
je 0x40ef18
xor edx, edx
mov rcx, r13
call fcn.0056d350
mov rcx, rax
call fcn.0056d570
mov edx, 1
mov rcx, r13
mov qword [rsp + 0x30], rax
call fcn.0056d350
mov rcx, rax
call fcn.0056d570
mov qword [rsp + 0x38], rax
mov edi, 4
mov r15d, 3
mov edx, 2
mov dword [rsp + 0x98], 0
mov dword [rsp + 0x48], 5
xor r14d, r14d
mov dword [rsp + 0x40], 2
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x80], 0
mov qword [rsp + 0x78], 0
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x68], 0
mov rcx, r13
call fcn.0056d350
mov rcx, rax
call fcn.0056d570
mov rdx, r15
mov rcx, r13
xor r15d, r15d
mov qword [rsp + 0x50], rax
call fcn.0056d350
mov rcx, rax
call fcn.0056d570
mov rdx, rdi
mov rcx, r13
mov qword [rsp + 0x58], rax
call fcn.0056d350
test rax, rax
je 0x40ecb1
cmp dword [rax], 1
je 0x40efd0
mov byte [rbp + 0x48c], 1
jmp 0x40e8c3
mov r8d, dword [rsp + 0x1b0]
lea r9, [rsp + 0x20c]
mov ecx, 1
xor r15d, r15d
lea rdx, str.JSON_decode_failed__d_:__s
call fcn.0040a6b0
jmp 0x40e88e
xor edx, edx
mov rcx, r13
call fcn.0056d350
mov rcx, rax
call fcn.0056d570
mov edx, 1
mov rcx, r13
mov qword [rsp + 0x30], rax
call fcn.0056d350
mov rcx, rax
call fcn.0056d570
mov edx, 2
mov rcx, r13
mov qword [rsp + 0x38], rax
call fcn.0056d350
mov rcx, rax
call fcn.0056d570
mov r14, rax
test rax, rax
je 0x40ee00
mov rcx, r14
call sub.msvcrt.dll_strlen
cmp rax, 0x40
jne 0x40ee00
mov edi, 5
mov r15d, 4
mov edx, 3
mov dword [rsp + 0x48], 6
mov dword [rsp + 0x98], 1
mov dword [rsp + 0x40], 3
jmp 0x40ec38
lea rdx, str.Pool_ping
mov ecx, 5
call fcn.0040a810
jmp 0x40e80e
xor edx, edx
mov rcx, r13
call fcn.0056d350
mov rcx, rax
call fcn.0056d810
vucomisd xmm0, qword [0x005acf98]
vmovupd xmm6, xmm0
jp 0x40edd0
je 0x40e8c0
nop word cs:[rax + rax]
lea r13, [rbp + 0x480]
mov r15d, 1
mov rcx, r13
call fcn.005737c0
mov rcx, r13
vmovsd qword [rbp + 0x138], xmm6
call fcn.005746f0
jmp 0x40e8c3
lea rdx, str.Stratum_notify:_invalid_claim_parameter
mov ecx, 1
xor r15d, r15d
call fcn.0040a6b0
jmp 0x40ecb1
lea rdx, str.client.get_stats
mov rcx, rsi
call rdi
test eax, eax
je 0x40f2c5
lea rdx, str.client.get_version
mov rcx, rsi
call rdi
test eax, eax
je 0x40f494
lea rdx, str.client.show_message
mov rcx, rsi
call rdi
test eax, eax
je 0x40f563
mov rax, qword [0x005fd7c0]
cmp byte [rax], 0
jne 0x40f54a
test r14, r14
je 0x40e8c0
cmp dword [r14], 7
je 0x40e8c0
call fcn.0056d070
mov r13, rax
mov rax, qword [r14 + 8]
cmp rax, 0xffffffffffffffff
je 0x40ee99
add rax, 1
mov qword [r14 + 8], rax
lea rdx, [0x005ac3a5]
mov r8, r14
mov rcx, r13
call fcn.0056dc70
call fcn.0056d860
lea rdx, str.result
mov rcx, r13
mov r8, rax
call fcn.0056dc70
call fcn.0056d070
mov ecx, 0x26
mov rbx, rax
call fcn.0056d640
lea rdx, str.code
mov rcx, rbx
mov r8, rax
call fcn.0056dc70
lea rcx, str.unknown_method
call fcn.0056d500
lea rdx, str.message
mov rcx, rbx
mov r8, rax
call fcn.0056dc70
lea rdx, str.error
mov r8, rbx
jmp 0x40eb50
xor edx, edx
mov rcx, r13
call fcn.0056d350
mov rcx, rax
call fcn.0056d570
mov edx, 1
mov rcx, r13
mov qword [rsp + 0x30], rax
call fcn.0056d350
mov rcx, rax
call fcn.0056d570
mov edx, 2
mov rcx, r13
mov qword [rsp + 0x38], rax
call fcn.0056d350
mov rcx, rax
call fcn.0056d570
mov r14, rax
test rax, rax
je 0x40f280
mov rcx, r14
call sub.msvcrt.dll_strlen
cmp rax, 0x80
jne 0x40f280
mov edi, 5
mov edx, 3
mov ebx, 1
mov dword [rsp + 0x98], 0
mov dword [rsp + 0x48], 6
mov r15d, 4
jmp 0x40ed77
xor r8d, r8d
mov rdx, r13
mov rcx, rbp
call fcn.0040c630
mov r15d, eax
jmp 0x40e8c3
mov rcx, rax
mov qword [rsp + 0x88], rax
call fcn.0056d330
movsxd rdx, dword [rsp + 0x48]
mov rcx, r13
mov qword [rsp + 0xa0], rax
call fcn.0056d350
mov rcx, rax
call fcn.0056d570
mov edi, dword [rsp + 0x40]
mov rcx, r13
mov qword [rsp + 0x90], rax
lea edx, [rdi + 4]
movsxd rdx, edx
call fcn.0056d350
mov rcx, rax
call fcn.0056d570
lea edx, [rdi + 5]
mov rcx, r13
add edi, 6
movsxd rdx, edx
mov qword [rsp + 0x40], rax
movsxd r15, edi
call fcn.0056d350
mov rcx, rax
call fcn.0056d570
mov rdx, r15
mov rcx, r13
mov qword [rsp + 0x48], rax
call fcn.0056d350
mov r10, qword [rsp + 0x88]
mov byte [rsp + 0x9f], 0
test rax, rax
je 0x40f083
mov rdx, r15
mov rcx, r13
call fcn.0056d350
mov r10, qword [rsp + 0x88]
cmp dword [rax], 5
sete byte [rsp + 0x9f]
cmp qword [rsp + 0x30], 0
mov qword [rsp + 0x88], r10
je 0x40f130
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x40f130
cmp qword [rsp + 0x50], 0
je 0x40f130
cmp qword [rsp + 0x58], 0
je 0x40f130
mov rdi, qword [rsp + 0x90]
test rdi, rdi
sete al
cmp qword [rsp + 0x40], 0
sete r9b
or eax, r9d
cmp qword [rsp + 0x48], 0
sete r9b
or al, r9b
mov r15d, eax
jne 0x40f130
call sub.msvcrt.dll_strlen
cmp rax, 0x40
jne 0x40f130
mov rcx, rdi
call sub.msvcrt.dll_strlen
cmp rax, 8
jne 0x40f130
mov rcx, qword [rsp + 0x40]
call sub.msvcrt.dll_strlen
cmp rax, 8
jne 0x40f130
mov rcx, qword [rsp + 0x48]
call sub.msvcrt.dll_strlen
mov r10, qword [rsp + 0x88]
cmp rax, 8
je 0x41006b
nop dword [rax + rax]
lea rdx, str.Stratum_notify:_invalid_parameters
mov ecx, 1
xor r15d, r15d
call fcn.0040a6b0
jmp 0x40ecb1
lea rdx, [0x005ac196]
mov r8, r15
mov ecx, 5
call fcn.0040a810
jmp 0x40e856
xor edx, edx
mov rcx, r13
call fcn.0056d350
mov rcx, rax
call fcn.0056d570
mov rcx, r13
mov edx, 1
mov rbx, rax
call fcn.0056d350
mov rcx, rax
test rax, rax
je 0x40f1a3
cmp dword [rax], 2
je 0x40f529
call fcn.0056d670
mov esi, eax
test rbx, rbx
je 0x40e8c0
test esi, esi
je 0x40e8c0
mov rcx, rbx
call sub.msvcrt.dll_strlen
lea rcx, [rax + 0x20]
call sub.msvcrt.dll_malloc
mov rdx, qword [rbp]
mov r8d, 0xf
mov r13, rax
mov rcx, rax
call sub.msvcrt.dll_strncpy
lea rdx, [0x005ac241]
mov rcx, r13
call sub.msvcrt.dll_strstr
mov r8, rbx
mov r9d, esi
lea rcx, [rax + 3]
lea rdx, str._s:_d
call sub.msvcrt.dll_sprintf
mov rax, qword [0x005fd880]
mov r8, r13
movzx r15d, byte [rax]
test r15b, r15b
je 0x40f505
lea rdx, str.Server_requested_reconnection_to__s
mov ecx, 3
call fcn.0040ab40
mov rcx, qword [rbp]
call sub.msvcrt.dll_free
mov qword [rbp], r13
lea r13, [rbp + 0x130]
mov rcx, r13
call fcn.005737c0
mov rcx, qword [rbp + 8]
test rcx, rcx
je 0x40f26b
call qword [sym.imp.libcurl_4.dll_curl_easy_cleanup]
mov rax, qword [rbp + 0x128]
mov qword [rbp + 8], 0
mov byte [rax], 0
mov rcx, r13
call fcn.005746f0
jmp 0x40e8c3
lea rdx, str.Stratum_notify:_invalid_UTXO_root_parameter
mov ecx, 1
call fcn.0040a6b0
jmp 0x40ecb1
lea rdx, [0x005ac196]
mov r8, r14
mov ecx, 5
call fcn.0040a810
jmp 0x40eb75
lea rdx, str.Pool_asked_your_algo_parameter
mov ecx, 3
call fcn.0040ab40
jmp 0x40ea70
test r14, r14
je 0x40e8c0
cmp dword [r14], 7
je 0x40e8c0
call fcn.0056d070
mov r13, rax
mov rax, qword [r14 + 8]
cmp rax, 0xffffffffffffffff
je 0x40f2f2
add rax, 1
mov qword [r14 + 8], rax
lea rdx, [0x005ac3a5]
mov r8, r14
mov rcx, r13
call fcn.0056dc70
mov rax, qword [0x005fd8a0]
mov qword [rsp + 0x120], 0
mov qword [rsp + 0x128], 0
mov qword [rsp + 0x130], 0
mov qword [rsp + 0x138], 0
mov qword [rsp + 0x140], 0
cmp byte [rax], 0
mov qword [rsp + 0x148], 0
mov qword [rsp + 0x150], 0
mov qword [rsp + 0x158], 0
mov qword [rsp + 0x160], 0
mov qword [rsp + 0x168], 0
mov qword [rsp + 0x170], 0
mov qword [rsp + 0x178], 0
mov qword [rsp + 0x180], 0
mov qword [rsp + 0x188], 0
mov qword [rsp + 0x190], 0
mov qword [rsp + 0x198], 0
mov qword [rsp + 0x1a0], 0
mov qword [rsp + 0x1a8], 0
mov qword [rsp + 0xe0], 0
mov qword [rsp + 0xe8], 0
mov qword [rsp + 0xf0], 0
mov qword [rsp + 0xf8], 0
mov qword [rsp + 0x100], 0
mov qword [rsp + 0x108], 0
mov qword [rsp + 0x110], 0
mov qword [rsp + 0x118], 0
mov qword [rsp + 0xd0], 0
mov qword [rsp + 0xd8], 0
jne 0x40f5fe
call fcn.0056d070
mov ecx, 1
mov rbx, rax
call fcn.0056d640
lea rdx, str.code
mov rcx, rbx
mov r8, rax
call fcn.0056dc70
lea rcx, str.disabled
jmp 0x40eeed
test r14, r14
je 0x40e8c0
cmp dword [r14], 7
je 0x40e8c0
call fcn.0056d070
mov r13, rax
mov rax, qword [r14 + 8]
cmp rax, 0xffffffffffffffff
je 0x40f4c1
add rax, 1
mov qword [r14 + 8], rax
lea rdx, [0x005ac3a5]
mov r8, r14
mov rcx, r13
call fcn.0056dc70
call fcn.0056d870
lea rdx, str.error
mov rcx, r13
mov r8, rax
call fcn.0056dc70
lea rcx, str.cpuminer_opt_3.23.3
call fcn.0056d500
lea rdx, str.result
mov r8, rax
jmp 0x40eb50
lea rdx, str.Ignoring_request_to_reconnect_to__s
mov ecx, 4
mov r15d, 1
call fcn.0040ab40
mov rcx, r13
call sub.msvcrt.dll_free
jmp 0x40e8c3
call fcn.0056d570
mov rcx, rax
call sub.msvcrt.dll_atoi
mov esi, eax
jmp 0x40f1aa
mov rcx, r13
call fcn.0056d880
jmp 0x40ebbf
lea rdx, str.unknown_stratum_method__s_
mov r8, rsi
mov ecx, 2
call fcn.0040ab40
jmp 0x40ee6c
mov rcx, r13
xor edx, edx
call fcn.0056d350
mov rcx, rax
test rax, rax
je 0x40f58e
call fcn.0056d570
lea rdx, str.MESSAGE_FROM_SERVER:__s
mov ecx, 3
mov r8, rax
call fcn.0040ab40
mov r15d, 1
test r14, r14
je 0x40e8c3
cmp dword [r14], 7
je 0x40e8c3
call fcn.0056d070
mov r13, rax
mov rax, qword [r14 + 8]
cmp rax, 0xffffffffffffffff
je 0x40f5c1
add rax, 1
mov qword [r14 + 8], rax
lea rdx, [0x005ac3a5]
mov r8, r14
mov rcx, r13
call fcn.0056dc70
call fcn.0056d870
lea rdx, str.error
mov rcx, r13
mov r8, rax
call fcn.0056dc70
call fcn.0056d850
lea rdx, str.result
mov r8, rax
jmp 0x40eb50
lea rsi, [rsp + 0x120]
mov edx, 0x40
lea r14, [rsp + 0x100]
mov rcx, rsi
call fcn.00404150
mov eax, 0x34
mov rcx, r14
mov dword [rsp + 0x20], 0
lea rdx, str.GCC__d._d._d_n
mov r9d, 3
mov r8d, 9
mov dword [rsp + 0xc8], 0x366e6977
mov word [rsp + 0xcc], ax
call sub.msvcrt.dll_sprintf
mov rdx, r14
mov ecx, dword [rdx]
add rdx, 4
lea eax, [rcx - 0x1010101]
not ecx
and eax, ecx
and eax, 0x80808080
je 0x40f659
mov ecx, eax
mov r9d, 1
shr ecx, 0x10
test eax, 0x8080
cmove eax, ecx
lea rcx, [rdx + 2]
mov ebx, eax
cmove rdx, rcx
add bl, al
mov eax, r9d
sbb rdx, 3
xor r8d, r8d
mov dword [rdx], 0x58564120
mov ecx, r8d
mov byte [rdx + 4], 0
cpuid
mov r10d, 7
mov ecx, r8d
mov eax, r10d
cpuid
mov eax, r9d
mov ecx, r8d
cpuid
and ecx, 0x1c000000
cmp ecx, 0x1c000000
je 0x40ffdc
mov r8d, 1
xor r9d, r9d
mov eax, r8d
mov ecx, r9d
cpuid
and ecx, 0x1c000000
cmp ecx, 0x1c000000
je 0x410158
mov eax, r8d
mov ecx, r9d
cpuid
and ecx, 0x1c001000
cmp ecx, 0x1c001000
je 0x410178
mov eax, 0x80000001
mov ecx, r9d
cpuid
and ecx, 0x800
jne 0x410168
mov eax, r8d
cpuid
and ecx, 0x100000
jne 0x410190
mov eax, r8d
cpuid
and edx, 0x4000000
mov ecx, edx
jne 0x4103d3
mov eax, r8d
cpuid
and edx, 0x2000000
jne 0x410659
mov byte [rsp + 0xd0], 0
mov eax, 1
xor ecx, ecx
cpuid
lea rax, [rsp + 0xd0]
and ecx, 0x2000000
mov qword [rsp + 0x38], rax
jne 0x410033
lea rcx, str.NUMBER_OF_PROCESSORS
mov qword [rsp + 0xe0], 0
mov qword [rsp + 0xe8], 0
lea rdi, [rsp + 0xe0]
mov qword [rsp + 0xf0], 0
mov qword [rsp + 0xf8], 0
call sub.msvcrt.dll_getenv
lea rcx, str.PROCESSOR_REVISION
mov r15, rax
call sub.msvcrt.dll_getenv
lea rcx, str.PROCESSOR_LEVEL
mov rbx, rax
call sub.msvcrt.dll_getenv
mov rcx, rdi
mov qword [rsp + 0x28], r15
mov edx, 0x20
mov qword [rsp + 0x20], rbx
lea r8, str._s:_s:_s
mov r9, rax
call fcn.0040a240
lea rax, [rsp + 0x160]
xor r8d, r8d
mov qword [rsp + 0x160], 0
mov qword [rsp + 0x30], rax
mov ecx, r8d
mov eax, 0x80000000
mov qword [rsp + 0x168], 0
mov qword [rsp + 0x170], 0
mov qword [rsp + 0x178], 0
mov qword [rsp + 0x180], 0
mov qword [rsp + 0x188], 0
mov qword [rsp + 0x190], 0
mov qword [rsp + 0x198], 0
mov qword [rsp + 0x1a0], 0
mov qword [rsp + 0x1a8], 0
mov qword [rsp + 0x2b0], 0
mov qword [rsp + 0x2b8], 0
mov qword [rsp + 0x2c0], 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 + 0x328], 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 + 0x390], 0
mov qword [rsp + 0x398], 0
mov qword [rsp + 0x3a0], 0
mov qword [rsp + 0x3a8], 0
cpuid
cmp eax, 0x80000003
jbe 0x410009
mov r9d, eax
and r9d, 0xf
test al, 0xe
je 0x40fd08
mov eax, 0x80000002
mov ecx, r8d
cpuid
vmovd xmm2, ecx
vmovd xmm3, eax
vpinsrd xmm1, xmm2, edx, 1
vpinsrd xmm0, xmm3, ebx, 1
vpunpcklqdq xmm0, xmm0, xmm1
vmovups xmmword [rsp + 0x2b0], xmm0
cmp r9d, 2
jle 0x40fd08
mov eax, 0x80000003
mov ecx, r8d
cpuid
vmovd xmm4, ecx
vmovd xmm5, eax
vpinsrd xmm1, xmm4, edx, 1
vpinsrd xmm0, xmm5, ebx, 1
vpunpcklqdq xmm0, xmm0, xmm1
vmovups xmmword [rsp + 0x2c0], xmm0
cmp r9d, 3
je 0x40fd08
mov eax, 0x80000004
mov ecx, r8d
cpuid
vmovd xmm2, ecx
vmovd xmm3, eax
vpinsrd xmm1, xmm2, edx, 1
vpinsrd xmm0, xmm3, ebx, 1
vpunpcklqdq xmm0, xmm0, xmm1
vmovups xmmword [rsp + 0x2d0], xmm0
cmp r9d, 4
je 0x40fd08
mov eax, 0x80000005
mov ecx, r8d
cpuid
vmovd xmm4, ecx
vmovd xmm5, eax
vpinsrd xmm1, xmm4, edx, 1
vpinsrd xmm0, xmm5, ebx, 1
vpunpcklqdq xmm0, xmm0, xmm1
vmovups xmmword [rsp + 0x2e0], xmm0
cmp r9d, 5
je 0x40fd08
mov eax, 0x80000006
mov ecx, r8d
cpuid
vmovd xmm2, ecx
vmovd xmm3, eax
vpinsrd xmm1, xmm2, edx, 1
vpinsrd xmm0, xmm3, ebx, 1
vpunpcklqdq xmm0, xmm0, xmm1
vmovups xmmword [rsp + 0x2f0], xmm0
cmp r9d, 6
je 0x40fd08
mov eax, 0x80000007
mov ecx, r8d
cpuid
vmovd xmm4, ecx
vmovd xmm5, eax
vpinsrd xmm1, xmm4, edx, 1
vpinsrd xmm0, xmm5, ebx, 1
vpunpcklqdq xmm0, xmm0, xmm1
vmovups xmmword [rsp + 0x300], xmm0
cmp r9d, 7
je 0x40fd08
mov eax, 0x80000008
mov ecx, r8d
cpuid
vmovd xmm7, ecx
vmovd xmm2, eax
vpinsrd xmm1, xmm7, edx, 1
vpinsrd xmm0, xmm2, ebx, 1
vpunpcklqdq xmm0, xmm0, xmm1
vmovups xmmword [rsp + 0x310], xmm0
cmp r9d, 8
je 0x40fd08
mov eax, 0x80000009
mov ecx, r8d
cpuid
vmovd xmm3, ecx
vmovd xmm4, eax
vpinsrd xmm0, xmm3, edx, 1
vpinsrd xmm1, xmm4, ebx, 1
vpunpcklqdq xmm0, xmm1, xmm0
vmovups xmmword [rsp + 0x320], xmm0
cmp r9d, 9
je 0x40fd08
xor r8d, r8d
mov eax, 0x8000000a
mov ecx, r8d
cpuid
vmovd xmm5, ecx
vmovd xmm7, eax
vpinsrd xmm1, xmm5, edx, 1
vpinsrd xmm0, xmm7, ebx, 1
vpunpcklqdq xmm0, xmm0, xmm1
vmovups xmmword [rsp + 0x330], xmm0
cmp r9d, 0xa
je 0x40fd08
mov eax, 0x8000000b
mov ecx, r8d
cpuid
vmovd xmm2, ecx
vmovd xmm3, eax
vpinsrd xmm1, xmm2, edx, 1
vpinsrd xmm0, xmm3, ebx, 1
vpunpcklqdq xmm0, xmm0, xmm1
vmovups xmmword [rsp + 0x340], xmm0
cmp r9d, 0xb
je 0x40fd08
mov eax, 0x8000000c
mov ecx, r8d
cpuid
vmovd xmm4, ecx
vmovd xmm5, eax
vpinsrd xmm1, xmm4, edx, 1
vpinsrd xmm0, xmm5, ebx, 1
vpunpcklqdq xmm0, xmm0, xmm1
vmovups xmmword [rsp + 0x350], xmm0
cmp r9d, 0xc
je 0x40fd08
mov eax, 0x8000000d
mov ecx, r8d
cpuid
vmovd xmm7, ecx
vmovd xmm2, eax
vpinsrd xmm1, xmm7, edx, 1
vpinsrd xmm0, xmm2, ebx, 1
vpunpcklqdq xmm0, xmm0, xmm1
vmovups xmmword [rsp + 0x360], xmm0
cmp r9d, 0xd
je 0x40fd08
mov eax, 0x8000000e
mov ecx, r8d
cpuid
vmovd xmm3, ecx
vmovd xmm4, eax
vpinsrd xmm1, xmm3, edx, 1
vpinsrd xmm0, xmm4, ebx, 1
vpunpcklqdq xmm0, xmm0, xmm1
vmovups xmmword [rsp + 0x370], xmm0
cmp r9d, 0xf
jne 0x40fd08
mov eax, 0x8000000f
mov ecx, r8d
cpuid
vmovd xmm5, ecx
vmovd xmm7, eax
vpinsrd xmm1, xmm5, edx, 1
vpinsrd xmm0, xmm7, ebx, 1
vpunpcklqdq xmm0, xmm0, xmm1
vmovups xmmword [rsp + 0x380], xmm0
mov rcx, qword [rsp + 0x30]
lea r9, [rsp + 0x2b0]
mov edx, 0x50
lea r8, [0x005ac618]
call fcn.0040a240
mov rcx, qword [rsp + 0x30]
lea rdx, [0x005ac630]
call sub.msvcrt.dll_strstr
test rax, rax
je 0x40ffcc
lea r15, [rsp + 0x2b0]
mov edx, 0x20
mov byte [rax], 0
lea r9, [rax + 3]
mov rcx, r15
mov qword [rsp + 0x2b0], 0
lea r8, [0x005ac618]
mov qword [rsp + 0x2b8], 0
mov qword [rsp + 0x2c0], 0
mov qword [rsp + 0x2c8], 0
call fcn.0040a240
mov rcx, r15
call sub.msvcrt.dll_atof
lea rdx, [0x005ac634]
mov rcx, r15
vmovupd xmm6, xmm0
call sub.msvcrt.dll_strstr
vmovsd xmm7, qword [0x005acfa8]
test rax, rax
je 0x40fdbf
vmulsd xmm6, xmm6, xmm7
lea rdx, str.sharing_CPU_stats_with_freq__s
mov r8, r15
mov ecx, 3
call fcn.0040ab40
vmovsd xmm0, qword [0x005acfb0]
vcomisd xmm6, xmm0
jae 0x410058
vcvttsd2si r9, xmm6
mov qword [rsp + 0x40], r9
mov byte [rsp + 0x11f], 0
call fcn.0056d070
mov rcx, rsi
mov rbx, rax
call fcn.0056d500
lea rdx, str.algo
mov rcx, rbx
mov r8, rax
call fcn.0056dc70
lea rcx, [0x005ac65c]
call fcn.0056d500
lea rdx, str.type
mov rcx, rbx
mov r8, rax
call fcn.0056dc70
mov rcx, qword [rsp + 0x30]
call fcn.0056d500
lea rdx, str.device
mov rcx, rbx
mov r8, rax
call fcn.0056dc70
mov rcx, rdi
call fcn.0056d500
lea rdx, str.vendorid
mov rcx, rbx
mov r8, rax
call fcn.0056dc70
mov rcx, qword [rsp + 0x38]
call fcn.0056d500
lea rdx, str.arch
mov rcx, rbx
mov r8, rax
call fcn.0056dc70
mov r9, qword [rsp + 0x40]
mov rcx, r9
call fcn.0056d640
lea rdx, str.freq
mov rcx, rbx
mov r8, rax
call fcn.0056dc70
xor ecx, ecx
call fcn.0056d640
lea rdx, str.memf
mov rcx, rbx
mov r8, rax
call fcn.0056dc70
xor ecx, ecx
call fcn.0056d640
lea rdx, str.power
mov rcx, rbx
mov r8, rax
call fcn.0056dc70
mov rax, qword [0x005fd590]
vmovsd xmm0, qword [rax]
vdivsd xmm0, xmm0, xmm7
call fcn.0056d6c0
lea rdx, str.khashes
mov rcx, rbx
mov r8, rax
call fcn.0056dc70
mov rax, qword [0x005fd820]
vxorps xmm0, xmm0, xmm0
vcvtsi2sd xmm0, xmm0, dword [rax]
call fcn.0056d6c0
lea rdx, str.intensity
mov rcx, rbx
mov r8, rax
call fcn.0056dc70
mov rax, qword [0x005fd7e0]
movsxd rcx, dword [rax]
call fcn.0056d640
lea rdx, str.throughput
mov rcx, rbx
mov r8, rax
call fcn.0056dc70
lea rcx, str.cpuminer_opt_3.23.3
call fcn.0056d500
lea rdx, str.client
mov rcx, rbx
mov r8, rax
call fcn.0056dc70
lea rcx, [rsp + 0xc8]
call fcn.0056d500
lea rdx, [0x005ac6c2]
mov rcx, rbx
mov r8, rax
call fcn.0056dc70
mov rcx, r14
call fcn.0056d500
lea rdx, str.driver
mov rcx, rbx
mov r8, rax
call fcn.0056dc70
mov r8, rbx
mov rcx, r13
lea rdx, str.result
call fcn.0056dc70
call fcn.0056d870
lea rdx, str.error
mov rcx, r13
mov r8, rax
call fcn.0056dc70
jmp 0x40eb58
vmovsd xmm7, qword [0x005acfa8]
xor r9d, r9d
jmp 0x40fdea
mov eax, r10d
mov ecx, r8d
cpuid
mov r8d, ebx
and r8b, 0x20
je 0x40f6d0
mov dword [rsp + 0xd0], 0x32585641
mov byte [rsp + 0xd4], 0
jmp 0x40f760
lea rcx, str.PROCESSOR_IDENTIFIER
call sub.msvcrt.dll_getenv
mov rcx, qword [rsp + 0x30]
mov edx, 0x50
lea r8, [0x005ac618]
mov r9, rax
call fcn.0040a240
jmp 0x40fd26
mov rdi, qword [rsp + 0x38]
xor eax, eax
or rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
mov rdi, qword [rsp + 0x38]
mov rax, rcx
not rax
mov dword [rdi + rax - 1], 0x494e20
jmp 0x40f782
vsubsd xmm6, xmm6, xmm0
vcvttsd2si r9, xmm6
btc r9, 0x3f
jmp 0x40fdea
mov rdx, qword [rsp + 0x90]
lea rcx, [rbp + 0x1f0]
mov r8d, 4
mov qword [rsp + 0xa8], r10
call fcn.0040c510
mov rax, qword [0x005fd890]
mov qword [rsp + 0x88], 0
mov r10, qword [rsp + 0xa8]
cmp byte [rax], 0
jne 0x4105fc
cmp esi, 0x4c
jne 0x4101aa
mov r11, qword [rsp + 0x68]
test r11, r11
je 0x410142
mov r9, qword [rsp + 0x70]
test r9, r9
je 0x410142
mov r8, qword [rsp + 0x78]
mov r13, qword [rsp + 0x80]
test r8, r8
sete dl
test r13, r13
sete al
or dl, al
jne 0x410142
cmp qword [rsp + 0x60], 0
sete al
je 0x410142
or rdx, 0xffffffffffffffff
mov rdi, r11
mov rcx, rdx
repne scasb al, byte [rdi]
cmp rcx, 0xffffffffffffffbe
jne 0x410142
mov rcx, rdx
mov rdi, r9
repne scasb al, byte [rdi]
cmp rcx, 0xffffffffffffffbe
jne 0x410142
mov rcx, rdx
mov rdi, r8
repne scasb al, byte [rdi]
cmp rcx, 0xffffffffffffffbe
jne 0x410142
mov rcx, rdx
mov rdi, r13
repne scasb al, byte [rdi]
cmp rcx, 0xffffffffffffffbe
jne 0x410142
mov rdi, qword [rsp + 0x60]
mov rcx, rdx
repne scasb al, byte [rdi]
cmp rcx, 0xffffffffffffffbe
je 0x4101aa
lea rdx, str.Stratum_notify:_invalid_veil_parameters
mov ecx, 1
call fcn.0040a6b0
jmp 0x40ecb1
mov dword [rsp + 0xd0], 0x585641
jmp 0x40f760
mov dword [rsp + 0xd0], 0x504f58
jmp 0x40f760
mov dword [rsp + 0xd0], 0x33414d46
mov byte [rsp + 0xd4], 0
jmp 0x40f760
mov dword [rsp + 0xd0], 0x34455353
mov word [rsp + 0xd4], 0x32
jmp 0x40f760
mov rdi, qword [rsp + 0xa0]
lea r13, [rbp + 0x480]
mov qword [rsp + 0xa8], r10
mov rcx, r13
mov dword [rsp + 0x90], edi
call fcn.005737c0
test edi, edi
mov r10, qword [rsp + 0xa8]
je 0x4103f4
mov eax, dword [rsp + 0xa0]
cmp eax, dword [rbp + 0x1e4]
jle 0x4102c4
mov dword [rsp + 0xa8], ebx
xor edi, edi
mov ebx, r15d
mov r15, r13
mov r13, r10
jmp 0x410214
mov rcx, qword [rcx + rdi*8]
add rdi, 1
call sub.msvcrt.dll_free
mov rcx, qword [rbp + 0x1e8]
cmp dword [rbp + 0x1e0], edi
jg 0x410207
mov qword [rsp + 0xb0], r13
mov r13, r15
mov r15d, ebx
mov ebx, dword [rsp + 0xa8]
call sub.msvcrt.dll_free
movsxd rcx, dword [rsp + 0xa0]
shl rcx, 3
call sub.msvcrt.dll_malloc
mov r10, qword [rsp + 0xb0]
xor r8d, r8d
mov dword [rsp + 0xa8], ebx
mov qword [rsp + 0x420], rbp
mov rdi, rax
mov ebp, esi
mov rbx, r8
mov esi, r15d
mov r15, r13
mov r13, r10
jmp 0x41028d
mov ecx, 0x20
call sub.msvcrt.dll_malloc
mov qword [rdi + rbx*8], rax
add rbx, 1
cmp dword [rsp + 0x90], ebx
jg 0x41027b
mov eax, dword [rsp + 0xa0]
mov r10, r13
mov r13, r15
mov r15d, esi
mov esi, ebp
mov rbp, qword [rsp + 0x420]
mov ebx, dword [rsp + 0xa8]
mov dword [rbp + 0x1e4], eax
mov qword [rbp + 0x1e8], rdi
cmp dword [rsp + 0xa0], 0
jle 0x4103f4
mov rax, qword [rsp + 0xa0]
xor edi, edi
mov dword [rsp + 0xb0], ebx
mov rbx, r10
sub eax, 1
mov qword [rsp + 0xa8], rax
mov rax, rdi
mov edi, esi
mov rsi, rax
jmp 0x41034c
mov rcx, rdx
mov qword [rsp + 0xb8], rdx
call sub.msvcrt.dll_strlen
mov rcx, qword [rbp + 0x1e8]
cmp rax, 0x40
mov rdx, qword [rsp + 0xb8]
jne 0x41037e
mov rax, qword [rsp + 0x90]
mov r8d, 0x20
mov rcx, qword [rcx + rax]
call fcn.0040c510
lea rax, [rsi + 1]
cmp qword [rsp + 0xa8], rsi
je 0x4103eb
mov rsi, rax
mov rdx, rsi
mov rcx, rbx
call fcn.0056d350
mov rcx, rax
call fcn.0056d570
mov rdx, rax
lea rax, [rsi*8]
mov qword [rsp + 0x90], rax
test rdx, rdx
jne 0x4102fb
mov rcx, qword [rbp + 0x1e8]
mov ebx, dword [rbp + 0x1e4]
jmp 0x4103a1
mov rax, qword [rsp + 0x90]
sub ebx, 1
mov rcx, qword [rcx + rax]
call sub.msvcrt.dll_free
mov rcx, qword [rbp + 0x1e8]
test ebx, ebx
jg 0x410386
call sub.msvcrt.dll_free
mov rcx, r13
mov qword [rbp + 0x1e0], 0
call fcn.005746f0
lea rdx, str.Stratum_notify:_invalid_Merkle_branch
mov ecx, 1
call fcn.0040a6b0
jmp 0x40ecb1
mov dword [rsp + 0xd0], 0x32455353
mov byte [rsp + 0xd4], 0
jmp 0x40f760
mov ebx, dword [rsp + 0xb0]
mov esi, edi
mov eax, dword [rsp + 0xa0]
or rdx, 0xffffffffffffffff
mov rdi, qword [rsp + 0x50]
mov rcx, rdx
mov dword [rbp + 0x1e0], eax
xor eax, eax
repne scasb al, byte [rdi]
mov rdi, qword [rsp + 0x58]
not rcx
mov r8, rcx
mov rcx, rdx
mov rdx, qword [rbp + 0x160]
repne scasb al, byte [rdi]
add rdx, qword [rbp + 0x150]
sub r8, 1
shr r8, 1
mov r15, r8
add rdx, r8
mov rax, rcx
mov rcx, qword [rbp + 0x1d0]
not rax
lea rdi, [rax - 1]
shr rdi, 1
add rdx, rdi
mov qword [rbp + 0x1c8], rdx
call sub.msvcrt.dll_realloc
mov rdx, qword [rsp + 0x50]
mov r8, r15
mov rcx, rax
mov qword [rbp + 0x1d0], rax
mov rax, qword [rbp + 0x150]
add rax, r15
add rax, rcx
mov qword [rbp + 0x1d8], rax
call fcn.0040c510
mov rcx, qword [rbp + 0x1d0]
mov rdx, qword [rbp + 0x158]
mov r8, qword [rbp + 0x150]
add rcx, r15
call sub.msvcrt.dll_memcpy
mov rcx, qword [rbp + 0x1c0]
test rcx, rcx
je 0x4104c1
mov rdx, qword [rsp + 0x30]
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x4104d6
mov rcx, qword [rbp + 0x1d8]
xor edx, edx
mov r8, qword [rbp + 0x160]
call sub.msvcrt.dll_memset
mov rdx, qword [rsp + 0x58]
mov r8, rdi
mov rcx, qword [rbp + 0x160]
add rcx, qword [rbp + 0x1d8]
call fcn.0040c510
mov rcx, qword [rbp + 0x1c0]
call sub.msvcrt.dll_free
mov rcx, qword [rsp + 0x30]
call sub.msvcrt.dll__strdup
mov rdx, qword [rsp + 0x38]
lea rcx, [rbp + 0x180]
mov r8d, 0x20
mov qword [rbp + 0x1c0], rax
call fcn.0040c510
cmp dword [rsp + 0x98], 0
jne 0x410762
test ebx, ebx
jne 0x410748
mov rax, qword [0x005fd890]
cmp byte [rax], 0
jne 0x410729
cmp esi, 0x4c
je 0x410669
mov rdx, qword [rbp + 0x1d0]
mov rcx, qword [rbp + 0x1c8]
lea rax, [rdx + 0x20]
lea rdx, [rdx + rcx - 2]
jmp 0x410576
cmp rdx, rax
jbe 0x410586
add rax, 1
cmp byte [rax], 0xff
jne 0x41056d
jmp 0x410586
cmp rdx, rax
jbe 0x41058b
add rax, 1
cmp byte [rax], 0xff
je 0x41057d
xor edx, edx
cmp byte [rax - 1], 0xff
je 0x4106e4
mov dword [rbp + 0x488], edx
mov rdx, qword [rsp + 0x40]
lea rcx, [rbp + 0x1f4]
mov r8d, 4
mov r15d, 1
call fcn.0040c510
mov rdx, qword [rsp + 0x48]
lea rcx, [rbp + 0x1f8]
mov r8d, 4
call fcn.0040c510
movzx eax, byte [rsp + 0x9f]
mov rcx, r13
vmovsd xmm0, qword [rbp + 0x138]
vmovsd qword [rbp + 0x200], xmm0
mov byte [rbp + 0x208], al
call fcn.005746f0
jmp 0x40ecb1
mov edx, 9
mov rcx, r13
mov qword [rsp + 0x90], r10
call fcn.0056d350
mov rcx, rax
call fcn.0056d570
mov rdi, rax
mov qword [rsp + 0x88], rax
test rax, rax
je 0x410643
or rcx, 0xffffffffffffffff
xor eax, eax
mov r10, qword [rsp + 0x90]
repne scasb al, byte [rdi]
cmp rcx, 0xffffffffffffffbe
je 0x4100b1
lea rdx, str.Stratum_notify:_invalid_sapling_parameters
mov ecx, 1
call fcn.0040a6b0
jmp 0x40ecb1
mov dword [rsp + 0xd0], 0x455353
jmp 0x40f760
mov rdx, qword [rsp + 0x68]
lea rcx, [rbp + 0x249]
mov r8d, 0x20
call fcn.0040c510
mov rdx, qword [rsp + 0x70]
lea rcx, [rbp + 0x269]
mov r8d, 0x20
call fcn.0040c510
mov rdx, qword [rsp + 0x78]
lea rcx, [rbp + 0x289]
mov r8d, 0x20
call fcn.0040c510
mov rdx, qword [rsp + 0x80]
lea rcx, [rbp + 0x2a9]
mov r8d, 0x20
call fcn.0040c510
mov rdx, qword [rsp + 0x60]
lea rcx, [rbp + 0x2c9]
mov r8d, 0x20
call fcn.0040c510
jmp 0x410554
cmp byte [rax - 2], 0xff
jne 0x410597
movzx edx, byte [rax + 3]
movzx r8d, byte [rax + 2]
movzx ecx, byte [rax + 1]
shl edx, 8
add edx, r8d
movzx edx, dx
cmp cl, 3
je 0x41077c
cmp cl, 4
jne 0x410597
movzx ecx, byte [rax + 5]
movzx eax, byte [rax + 4]
shl ecx, 8
add eax, ecx
shl eax, 0x10
add edx, eax
jmp 0x410597
mov rdx, qword [rsp + 0x88]
lea rcx, [rbp + 0x1a0]
mov r8d, 0x20
call fcn.0040c510
jmp 0x41054b
lea rcx, [rbp + 0x209]
mov r8d, 0x40
mov rdx, r14
call fcn.0040c510
jmp 0x41053b
lea rcx, [rbp + 0x209]
mov r8d, 0x20
mov rdx, r14
call fcn.0040c510
jmp 0x410533
movzx eax, byte [rax + 4]
shl eax, 0x10
add edx, eax
jmp 0x410597