Function at 0x14000f540
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
mov r15, rcx
lea r8, [rsp + 0x1b0]
mov rcx, rdx
xor edx, edx
call sym.json_loads
mov rsi, rax
test rax, rax
je 0x14000fa28
lea rdx, str.method
mov rcx, rax
call sym.json_object_get
mov rcx, rax
call sym.json_string_value
mov rbx, rax
test rax, rax
je 0x14000f6e8
lea rdx, str.params
mov rcx, rsi
lea r13, [0x1402b851d]
call sym.json_object_get
mov rdx, r13
mov rcx, rsi
mov rdi, rax
call sym.json_object_get
mov r14, qword [sym.imp.msvcrt.dll__stricmp]
lea rdx, str.mining.notify
mov rcx, rbx
mov r12, rax
call r14
mov ebp, eax
test eax, eax
je 0x14000f710
lea rdx, str.mining.ping
mov rcx, rbx
call r14
test eax, eax
jne 0x14000f870
mov rax, qword [0x140311c80]
cmp byte [rax], 0
jne 0x14000fad0
xor ebx, ebx
test r12, r12
je 0x14000f6ea
cmp dword [r12], 7
je 0x14000f6ea
mov rcx, r12
lea rbx, [rsp + 0x2b0]
call sym.json_integer_value
lea rdx, str._id_:_d__result_:_pong___error_:null
mov rcx, rbx
mov r8d, eax
call sym.sprintf_1
mov rax, qword [str._f2_]
cmp byte [rax], 0
jne 0x14000fe58
lea rdi, [r15 + 0x130]
mov rcx, rdi
call sym.pthread_mutex_lock
mov rdx, rbx
mov rcx, r15
call sym.send_line
mov rcx, rdi
mov ebx, eax
call sym.pthread_mutex_unlock
mov rax, qword [rsi + 8]
cmp rax, 0xffffffffffffffff
jne 0x14000f6f4
vmovups xmm6, xmmword [rsp + 0x3b0]
mov eax, ebx
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 edx, edx
mov rcx, rdi
call sym.json_array_get
mov rcx, rax
call sym.json_number_value
vmovsd xmm6, xmm0, xmm0
vxorpd xmm0, xmm0, xmm0
vucomisd xmm6, xmm0
jp 0x14000fc40
jne 0x14000fc40
nop word [rax + rax]
xor ebx, ebx
mov rax, qword [rsi + 8]
cmp rax, 0xffffffffffffffff
je 0x14000f689
sub rax, 1
mov qword [rsi + 8], rax
jne 0x14000f689
mov rcx, rsi
call sym.json_delete
jmp 0x14000f689
mov rcx, rdi
call sym.json_array_size
mov rbx, rax
mov rax, qword [str.Pf2_]
mov r13d, dword [rax]
cmp r13d, 0x17
je 0x14000fa50
cmp ebx, 0xa
mov rcx, rdi
sete bl
cmp r13d, 0x26
sete al
xor edx, edx
and ebx, eax
call sym.json_array_get
mov rcx, rax
call sym.json_string_value
mov edx, 1
mov rcx, rdi
mov qword [rsp + 0x38], rax
call sym.json_array_get
mov rcx, rax
call sym.json_string_value
mov qword [rsp + 0x40], rax
test bl, bl
jne 0x14000fda0
mov dword [rsp + 0x94], 0
mov r8d, 9
mov r11d, 8
mov r10d, 7
mov qword [rsp + 0x60], 6
mov r9d, 7
xor ebx, ebx
mov r12d, 4
mov dword [rsp + 0x98], 0xa
mov r14d, 3
mov edx, 2
mov qword [rsp + 0x58], 5
mov dword [rsp + 0x50], 5
mov dword [rsp + 0x48], 2
cmp r13d, 0x4b
je 0x14000fe78
mov qword [rsp + 0x80], 0
mov qword [rsp + 0x78], 0
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x68], 0
mov qword [rsp + 0x88], 0
mov rcx, rdi
call sym.json_array_get
mov rcx, rax
call sym.json_string_value
mov rdx, r14
mov rcx, rdi
mov qword [rsp + 0x58], rax
call sym.json_array_get
mov rcx, rax
call sym.json_string_value
mov rdx, r12
mov rcx, rdi
mov qword [rsp + 0x60], rax
call sym.json_array_get
mov r14, rax
test rax, rax
je 0x14000f860
cmp dword [rax], 1
je 0x14000faf0
xor ebx, ebx
mov byte [r15 + 0x48c], 1
jmp 0x14000f6ea
lea rdx, str.mining.set_difficulty
mov rcx, rbx
call r14
test eax, eax
je 0x14000f6b8
lea rdx, str.mining.set_extranonce
mov rcx, rbx
call r14
test eax, eax
je 0x14000fe40
lea rdx, str.client.reconnect
mov rcx, rbx
call r14
test eax, eax
je 0x14000ff40
lea rdx, str.client.get_algo
mov rcx, rbx
call r14
test eax, eax
jne 0x14000fca8
mov rax, qword [str.Uf2_]
cmp byte [rax], 0
je 0x14001006f
mov qword [rsp + 0x2b0], 0
xor ebx, ebx
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 r12, r12
je 0x14000f6ea
cmp dword [r12], 7
je 0x14000f6ea
lea rbx, [rsp + 0x2b0]
mov edx, 0x40
mov rcx, rbx
call sym.get_currentalgo
call sym.json_object
mov rdi, rax
mov rax, qword [r12 + 8]
cmp rax, 0xffffffffffffffff
je 0x14000f97b
add rax, 1
mov qword [r12 + 8], rax
mov r8, r12
mov rdx, r13
mov rcx, rdi
call sym.json_object_set_new
call sym.json_null
lea rdx, str.error
mov rcx, rdi
mov r8, rax
call sym.json_object_set_new
mov rcx, rbx
call sym.json_string
lea rdx, str.result
mov r8, rax
mov rcx, rdi
call sym.json_object_set_new
xor edx, edx
mov rcx, rdi
call sym.json_dumps
mov rbp, rax
mov rax, qword [str._f2_]
cmp byte [rax], 0
jne 0x140010056
lea r12, [r15 + 0x130]
mov rcx, r12
call sym.pthread_mutex_lock
mov rcx, r15
mov rdx, rbp
call sym.send_line
mov rcx, r12
mov ebx, eax
call sym.pthread_mutex_unlock
test rdi, rdi
je 0x14000fa18
mov rax, qword [rdi + 8]
cmp rax, 0xffffffffffffffff
je 0x14000fa18
sub rax, 1
mov qword [rdi + 8], rax
je 0x140010c03
mov rcx, rbp
call sym.free
jmp 0x14000f6ea
mov r8d, dword [rsp + 0x1b0]
lea r9, [rsp + 0x20c]
lea rdx, str.JSON_decode_failed__d_:__s
xor ebx, ebx
mov ecx, 1
call sym.applog.constprop.1
jmp 0x14000f689
xor edx, edx
mov rcx, rdi
call sym.json_array_get
mov rcx, rax
call sym.json_string_value
mov edx, 1
mov rcx, rdi
mov qword [rsp + 0x38], rax
call sym.json_array_get
mov rcx, rax
call sym.json_string_value
mov qword [rsp + 0x40], rax
cmp ebx, 0xa
jne 0x140010ced
mov edx, 2
mov rcx, rdi
call sym.json_array_get
mov rcx, rax
call sym.json_string_value
mov rbx, rax
test rax, rax
je 0x14000fab9
mov rcx, rax
call sym.strlen
cmp rax, 0x40
je 0x14000fc70
lea rdx, str.Stratum_notify:_invalid_claim_parameter
mov ecx, 1
call sym.applog.constprop.1
jmp 0x14000f860
lea rdx, str.Pool_ping
mov ecx, 5
call sym.applog.constprop.0
jmp 0x14000f613
mov rcx, rax
call sym.json_array_size
movsxd rdx, dword [rsp + 0x50]
mov rcx, rdi
mov qword [rsp + 0xa8], rax
call sym.json_array_get
mov rcx, rax
call sym.json_string_value
mov r12d, dword [rsp + 0x48]
mov rcx, rdi
mov qword [rsp + 0x98], rax
lea edx, [r12 + 4]
movsxd rdx, edx
call sym.json_array_get
mov rcx, rax
call sym.json_string_value
lea edx, [r12 + 5]
mov rcx, rdi
add r12d, 6
movsxd rdx, edx
mov qword [rsp + 0x48], rax
movsxd r12, r12d
call sym.json_array_get
mov rcx, rax
call sym.json_string_value
mov rdx, r12
mov rcx, rdi
mov qword [rsp + 0xa0], rax
call sym.json_array_get
mov byte [rsp + 0x50], 0
test rax, rax
je 0x14000fb8e
mov rdx, r12
mov rcx, rdi
call sym.json_array_get
cmp dword [rax], 5
sete byte [rsp + 0x50]
cmp qword [rsp + 0x38], 0
je 0x14000fc20
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x14000fc20
cmp qword [rsp + 0x58], 0
je 0x14000fc20
cmp qword [rsp + 0x60], 0
je 0x14000fc20
mov r12, qword [rsp + 0x98]
test r12, r12
sete al
cmp qword [rsp + 0x48], 0
sete dl
or al, dl
jne 0x14000fc20
cmp qword [rsp + 0xa0], 0
je 0x14000fc20
call sym.strlen
cmp rax, 0x40
jne 0x14000fc20
mov rcx, r12
call sym.strlen
cmp rax, 8
jne 0x14000fc20
mov rcx, qword [rsp + 0x48]
call sym.strlen
cmp rax, 8
jne 0x14000fc20
mov rcx, qword [rsp + 0xa0]
call sym.strlen
cmp rax, 8
je 0x140010dc1
nop word [rax + rax]
lea rdx, str.Stratum_notify:_invalid_parameters
mov ecx, 1
call sym.applog.constprop.1
jmp 0x14000f860
lea rbx, [r15 + 0x480]
mov rcx, rbx
call sym.pthread_mutex_lock
vmovsd qword [r15 + 0x138], xmm6
mov rcx, rbx
call sym.pthread_mutex_unlock
mov ebx, 1
jmp 0x14000f6ea
mov dword [rsp + 0x50], 6
mov r12d, 5
mov edx, 3
mov r14d, 4
mov dword [rsp + 0x94], 1
mov dword [rsp + 0x48], 3
jmp 0x14000f7e4
lea rdx, str.client.get_stats
mov rcx, rbx
call r14
test eax, eax
je 0x140010085
lea rdx, str.client.get_version
mov rcx, rbx
call r14
test eax, eax
je 0x140010b61
lea rdx, str.client.show_message
mov rcx, rbx
call r14
test eax, eax
je 0x140010c59
mov rax, qword [0x140311c80]
cmp byte [rax], 0
jne 0x140010c10
test r12, r12
je 0x14000f6e8
cmp dword [r12], 7
je 0x14000f6e8
call sym.json_object
mov rdi, rax
mov rax, qword [r12 + 8]
cmp rax, 0xffffffffffffffff
je 0x14000fd27
add rax, 1
mov qword [r12 + 8], rax
mov r8, r12
mov rdx, r13
mov rcx, rdi
call sym.json_object_set_new
call sym.json_false
lea rdx, str.result
mov rcx, rdi
mov r8, rax
call sym.json_object_set_new
call sym.json_object
mov ecx, 0x26
mov rbx, rax
call sym.json_integer
mov rcx, rbx
lea rdx, str.code
mov r8, rax
call sym.json_object_set_new
lea rcx, str.unknown_method
call sym.json_string
lea rdx, str.message
mov rcx, rbx
mov r8, rax
call sym.json_object_set_new
mov r8, rbx
lea rdx, str.error
jmp 0x14000f9b2
mov edx, 2
mov rcx, rdi
call sym.json_array_get
mov rcx, rax
call sym.json_string_value
mov rbx, rax
test rax, rax
je 0x140010040
mov rcx, rax
call sym.strlen
cmp rax, 0x80
jne 0x140010040
mov dword [rsp + 0x94], 0
mov r8d, 0xa
mov r11d, 9
mov r10d, 8
mov dword [rsp + 0x98], 0xb
mov r9d, 8
mov r12d, 5
mov r14d, 4
mov qword [rsp + 0x60], 7
mov edx, 3
mov ebp, 1
mov qword [rsp + 0x58], 6
mov dword [rsp + 0x50], 6
mov dword [rsp + 0x48], 3
jmp 0x14000f7da
xor r8d, r8d
mov rdx, rdi
mov rcx, r15
call sym.stratum_parse_extranonce
mov ebx, eax
jmp 0x14000f6ea
mov r8, rbx
lea rdx, [0x1402b827e]
mov ecx, 5
call sym.applog.constprop.0
jmp 0x14000f65b
mov rcx, rdi
mov qword [rsp + 0x50], r8
mov qword [rsp + 0xa8], r11
mov qword [rsp + 0xa0], r10
mov dword [rsp + 0x48], r9d
call sym.json_array_get
mov rcx, rax
call sym.json_string_value
mov rdx, r14
mov rcx, rdi
mov qword [rsp + 0x88], rax
call sym.json_array_get
mov rcx, rax
call sym.json_string_value
mov rdx, r12
mov rcx, rdi
mov qword [rsp + 0x68], rax
call sym.json_array_get
mov rcx, rax
call sym.json_string_value
mov rdx, qword [rsp + 0x58]
mov rcx, rdi
mov qword [rsp + 0x70], rax
call sym.json_array_get
mov rcx, rax
call sym.json_string_value
mov rdx, qword [rsp + 0x60]
mov rcx, rdi
mov qword [rsp + 0x78], rax
call sym.json_array_get
mov rcx, rax
call sym.json_string_value
mov r12, qword [rsp + 0x50]
mov r14, qword [rsp + 0xa8]
mov qword [rsp + 0x80], rax
mov eax, dword [rsp + 0x98]
mov rdx, qword [rsp + 0xa0]
mov dword [rsp + 0x50], eax
jmp 0x14000f817
xor edx, edx
mov rcx, rdi
call sym.json_array_get
mov rcx, rax
call sym.json_string_value
mov rcx, rdi
mov edx, 1
mov rbx, rax
call sym.json_array_get
mov rcx, rax
test rax, rax
je 0x14000ff73
cmp dword [rax], 2
je 0x140010bd1
call sym.json_integer_value
mov edi, eax
test rbx, rbx
je 0x14000f6e8
test edi, edi
je 0x14000f6e8
mov rcx, rbx
call sym.strlen
lea rcx, [rax + 0x20]
call sym.malloc
mov rdx, qword [r15]
mov r8d, 0xf
mov rbp, rax
mov rcx, rax
call sym.strncpy
lea rdx, [0x1402b8329]
mov rcx, rbp
call sym.strstr
mov r8, rbx
mov r9d, edi
lea rdx, str._s:_d
lea rcx, [rax + 3]
call sym.sprintf_1
mov rax, qword [0x140311d40]
mov r8, rbp
cmp byte [rax], 0
je 0x140010be5
lea rdx, str.Server_requested_reconnection_to__s
mov ecx, 3
lea rbx, [r15 + 0x130]
call sym.applog
mov rcx, qword [r15]
call sym.free
mov qword [r15], rbp
mov rcx, rbx
call sym.pthread_mutex_lock
mov rcx, qword [r15 + 8]
test rcx, rcx
je 0x14000fc58
call qword [sym.imp.libcurl_4.dll_curl_easy_cleanup]
mov rax, qword [r15 + 0x128]
mov qword [r15 + 8], 0
mov byte [rax], 0
jmp 0x14000fc58
lea rdx, str.Stratum_notify:_invalid_UTXO_root_parameter
mov ecx, 1
call sym.applog.constprop.1
jmp 0x14000f860
mov r8, rbp
lea rdx, [0x1402b827e]
mov ecx, 5
call sym.applog.constprop.0
jmp 0x14000f9d7
lea rdx, str.Pool_asked_your_algo_parameter
mov ecx, 3
call sym.applog
jmp 0x14000f8d4
test r12, r12
je 0x14000f6e8
cmp dword [r12], 7
je 0x14000f6e8
call sym.json_object
mov rdi, rax
mov rax, qword [r12 + 8]
cmp rax, 0xffffffffffffffff
je 0x1400100b5
add rax, 1
mov qword [r12 + 8], rax
mov r8, r12
mov rdx, r13
mov rcx, rdi
call sym.json_object_set_new
mov rax, qword [0x140311d60]
mov qword [rsp + 0x120], 0
mov qword [rsp + 0x128], 0
mov qword [rsp + 0x130], 0
cmp byte [rax], 0
mov qword [rsp + 0x138], 0
mov qword [rsp + 0x140], 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
je 0x140010c29
lea r14, [rsp + 0x120]
mov edx, 0x40
lea r12, [rsp + 0x100]
mov rcx, r14
call sym.get_currentalgo
xor r9d, r9d
mov rcx, r12
mov eax, 0x34
mov dword [rsp + 0x20], 0
mov r8d, 0xc
lea rdx, str.GCC__d._d._d_n
mov dword [rsp + 0xc8], 0x366e6977
mov word [rsp + 0xcc], ax
call sym.sprintf_1
mov rcx, r12
call sym.strlen
mov edx, 0x32
mov r9d, 1
xor r8d, r8d
add rax, r12
mov ecx, r8d
mov dword [rax], 0x58564120
mov word [rax + 4], dx
mov eax, r9d
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 0x140010d30
mov r9d, 1
xor r8d, r8d
mov eax, r9d
mov ecx, r8d
cpuid
and ecx, 0x1c000000
cmp ecx, 0x1c000000
je 0x140010e99
mov eax, r9d
mov ecx, r8d
cpuid
and ecx, 0x1c001000
cmp ecx, 0x1c001000
je 0x140010ed1
mov eax, 0x80000001
mov ecx, r8d
cpuid
and ecx, 0x800
jne 0x140010eb5
mov eax, r9d
cpuid
and ecx, 0x100000
jne 0x140010eed
mov eax, r9d
cpuid
and edx, 0x4000000
mov ecx, edx
jne 0x140011099
mov eax, r9d
cpuid
and edx, 0x2000000
jne 0x1400110b5
mov byte [rsp + 0xd0], 0
lea rbp, [rsp + 0xd0]
mov r9d, 1
xor r8d, r8d
mov eax, r9d
mov ecx, r8d
cpuid
and edx, 0x4000000
jne 0x140010d5d
vpxor xmm6, xmm6, xmm6
lea rax, [rsp + 0xe0]
lea rcx, str.NUMBER_OF_PROCESSORS
vmovdqu xmmword [rsp + 0xe0], xmm6
vmovdqu xmmword [rsp + 0xf0], xmm6
mov qword [rsp + 0x38], rax
call sym.getenv
lea rcx, str.PROCESSOR_REVISION
mov r13, rax
call sym.getenv
lea rcx, str.PROCESSOR_LEVEL
mov rbx, rax
call sym.getenv
mov qword [rsp + 0x28], r13
mov rcx, qword [rsp + 0x38]
lea r8, str._s:_s:_s
mov qword [rsp + 0x20], rbx
mov r9, rax
mov edx, 0x20
lea r13, [rsp + 0x160]
call sym.snprintf_1
xor r8d, r8d
mov eax, 0x80000000
mov qword [rsp + 0x2b0], 0
mov qword [rsp + 0x2b8], 0
mov ecx, r8d
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
vmovdqu xmmword [rsp + 0x160], xmm6
vmovdqu xmmword [rsp + 0x170], xmm6
vmovdqu xmmword [rsp + 0x180], xmm6
vmovdqu xmmword [rsp + 0x190], xmm6
vmovdqu xmmword [rsp + 0x1a0], xmm6
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
mov r9d, eax
cmp eax, 0x80000003
jbe 0x140010d86
mov r10d, eax
and r10d, 0xf
test al, 0xe
je 0x1400108a6
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
vmovdqu xmmword [rsp + 0x2b0], xmm0
cmp r10d, 2
jbe 0x1400108a6
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
vmovdqu xmmword [rsp + 0x2c0], xmm0
test r9b, 0xc
je 0x1400108a6
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
vmovdqu xmmword [rsp + 0x2d0], xmm0
cmp r10d, 4
jbe 0x1400108a6
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
vmovdqu xmmword [rsp + 0x2e0], xmm0
cmp r10d, 5
jbe 0x1400108a6
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
vmovdqu xmmword [rsp + 0x2f0], xmm0
cmp r10d, 6
jbe 0x1400108a6
mov eax, 0x80000007
mov ecx, r8d
cpuid
vmovd xmm4, ecx
vmovd xmm5, eax
and r9b, 8
vpinsrd xmm1, xmm4, edx, 1
vpinsrd xmm0, xmm5, ebx, 1
vpunpcklqdq xmm0, xmm0, xmm1
vmovdqu xmmword [rsp + 0x300], xmm0
je 0x1400108a6
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
vmovdqu xmmword [rsp + 0x310], xmm0
cmp r10d, 8
jbe 0x1400108a6
mov eax, 0x80000009
mov ecx, r8d
cpuid
vmovd xmm3, ecx
vmovd xmm4, eax
vpinsrd xmm1, xmm3, edx, 1
vpinsrd xmm0, xmm4, ebx, 1
vpunpcklqdq xmm0, xmm0, xmm1
vmovdqu xmmword [rsp + 0x320], xmm0
cmp r10d, 9
jbe 0x1400108a6
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
vmovdqu xmmword [rsp + 0x330], xmm0
cmp r10d, 0xa
jbe 0x1400108a6
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
vmovdqu xmmword [rsp + 0x340], xmm0
cmp r10d, 0xb
jbe 0x1400108a6
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
vmovdqu xmmword [rsp + 0x350], xmm0
cmp r10d, 0xc
jbe 0x1400108a6
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
vmovdqu xmmword [rsp + 0x360], xmm0
cmp r10d, 0xd
jbe 0x1400108a6
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
vmovdqu xmmword [rsp + 0x370], xmm0
cmp r10d, 0xf
jne 0x1400108a6
mov eax, 0x8000000f
mov ecx, r8d
cpuid
vmovd xmm5, ecx
vmovd xmm7, eax
vpinsrd xmm0, xmm5, edx, 1
vpinsrd xmm1, xmm7, ebx, 1
vpunpcklqdq xmm0, xmm1, xmm0
vmovdqu xmmword [rsp + 0x380], xmm0
lea r9, [rsp + 0x2b0]
lea r8, [0x1402b87a8]
mov edx, 0x50
mov rcx, r13
call sym.snprintf_1
lea rdx, [0x1402b87c0]
mov rcx, r13
call sym.strstr
test rax, rax
je 0x140010d20
mov byte [rax], 0
lea r9, [rax + 3]
lea rbx, [rsp + 0x2b0]
mov edx, 0x20
lea r8, [0x1402b87a8]
mov rcx, rbx
mov qword [rsp + 0x2b0], 0
mov qword [rsp + 0x2b8], 0
mov qword [rsp + 0x2c0], 0
mov qword [rsp + 0x2c8], 0
call sym.snprintf_1
mov rcx, rbx
call sym.atof
lea rdx, [0x1402b87c4]
mov rcx, rbx
vmovsd xmm6, xmm0, xmm0
call sym.strstr
vmovsd xmm7, qword [0x1402b9238]
test rax, rax
je 0x140010959
vmulsd xmm6, xmm6, xmm7
mov r8, rbx
lea rdx, str.sharing_CPU_stats_with_freq__s
mov ecx, 3
call sym.applog
vmovsd xmm0, qword [0x1402b9240]
vcomisd xmm6, xmm0
jae 0x140010dae
vcvttsd2si r9, xmm6
mov qword [rsp + 0x40], r9
mov byte [rsp + 0x11f], 0
call sym.json_object
mov rcx, r14
mov rbx, rax
call sym.json_string
lea rdx, str.algo
mov rcx, rbx
mov r8, rax
call sym.json_object_set_new
lea rcx, [0x1402b87ec]
call sym.json_string
lea rdx, str.type
mov rcx, rbx
mov r8, rax
call sym.json_object_set_new
mov rcx, r13
call sym.json_string
lea rdx, str.device
mov rcx, rbx
mov r8, rax
call sym.json_object_set_new
mov rcx, qword [rsp + 0x38]
call sym.json_string
lea rdx, str.vendorid
mov rcx, rbx
mov r8, rax
call sym.json_object_set_new
mov rcx, rbp
call sym.json_string
lea rdx, str.arch
mov rcx, rbx
mov r8, rax
call sym.json_object_set_new
mov rcx, qword [rsp + 0x40]
call sym.json_integer
lea rdx, str.freq
mov rcx, rbx
mov r8, rax
call sym.json_object_set_new
xor ecx, ecx
call sym.json_integer
lea rdx, str.memf
mov rcx, rbx
mov r8, rax
call sym.json_object_set_new
xor ecx, ecx
call sym.json_integer
mov rcx, rbx
lea rdx, str.power
mov r8, rax
call sym.json_object_set_new
mov rax, qword [0x140311ae0]
vmovsd xmm0, qword [rax]
vdivsd xmm0, xmm0, xmm7
call sym.json_real
mov rcx, rbx
lea rdx, str.khashes
mov r8, rax
call sym.json_object_set_new
mov rax, qword [str.0f2_]
vxorps xmm0, xmm0, xmm0
vcvtsi2sd xmm0, xmm0, dword [rax]
call sym.json_real
lea rdx, str.intensity
mov rcx, rbx
mov r8, rax
call sym.json_object_set_new
mov rax, qword [str.8f2_]
movsxd rcx, dword [rax]
call sym.json_integer
lea rdx, str.throughput
mov rcx, rbx
mov r8, rax
call sym.json_object_set_new
lea rcx, str.cpuminer_flex_1.0
call sym.json_string
lea rdx, str.client
mov rcx, rbx
mov r8, rax
call sym.json_object_set_new
lea rcx, [rsp + 0xc8]
call sym.json_string
lea rdx, [0x1402b8850]
mov rcx, rbx
mov r8, rax
call sym.json_object_set_new
mov rcx, r12
call sym.json_string
mov rcx, rbx
lea rdx, str.driver
mov r8, rax
call sym.json_object_set_new
mov r8, rbx
mov rcx, rdi
lea rdx, str.result
call sym.json_object_set_new
call sym.json_null
lea rdx, str.error
mov rcx, rdi
mov r8, rax
call sym.json_object_set_new
jmp 0x14000f9ba
test r12, r12
je 0x14000f6e8
cmp dword [r12], 7
je 0x14000f6e8
call sym.json_object
mov rdi, rax
mov rax, qword [r12 + 8]
cmp rax, 0xffffffffffffffff
je 0x140010b91
add rax, 1
mov qword [r12 + 8], rax
mov r8, r12
mov rdx, r13
mov rcx, rdi
call sym.json_object_set_new
call sym.json_null
lea rdx, str.error
mov rcx, rdi
mov r8, rax
call sym.json_object_set_new
lea rcx, str.cpuminer_flex_1.0_x64W
call sym.json_string
lea rdx, str.result
mov r8, rax
jmp 0x14000f9b2
call sym.json_string_value
mov rcx, rax
call sym.atoi
mov edi, eax
jmp 0x14000ff7a
lea rdx, str.Ignoring_request_to_reconnect_to__s
mov ecx, 4
call sym.applog
mov rcx, rbp
call sym.free
jmp 0x14000fc60
mov rcx, rdi
call sym.json_delete
jmp 0x14000fa18
mov r8, rbx
lea rdx, str.unknown_stratum_method__s_
mov ecx, 2
call sym.applog
jmp 0x14000fcf7
call sym.json_object
mov ecx, 1
mov rbx, rax
call sym.json_integer
mov rcx, rbx
lea rdx, str.code
mov r8, rax
call sym.json_object_set_new
lea rcx, str.disabled
jmp 0x14000fd77
xor edx, edx
mov rcx, rdi
call sym.json_array_get
test rax, rax
je 0x140010c84
mov rcx, rax
call sym.json_string_value
lea rdx, str.MESSAGE_FROM_SERVER:__s
mov ecx, 3
mov r8, rax
call sym.applog
test r12, r12
je 0x14000fc60
cmp dword [r12], 7
je 0x14000fc60
call sym.json_object
mov rdi, rax
mov rax, qword [r12 + 8]
cmp rax, 0xffffffffffffffff
je 0x140010cb4
add rax, 1
mov qword [r12 + 8], rax
mov r8, r12
mov rdx, r13
mov rcx, rdi
call sym.json_object_set_new
call sym.json_null
lea rdx, str.error
mov rcx, rdi
mov r8, rax
call sym.json_object_set_new
call sym.json_true
lea rdx, str.result
mov r8, rax
jmp 0x14000f9b2
mov dword [rsp + 0x50], 5
mov r12d, 4
mov r14d, 3
xor ebx, ebx
mov dword [rsp + 0x94], 0
mov edx, 2
mov dword [rsp + 0x48], 2
jmp 0x14000f7e4
vmovsd xmm7, qword [0x1402b9238]
xor r9d, r9d
jmp 0x140010984
mov eax, r10d
mov ecx, r8d
cpuid
and bl, 0x20
je 0x1400102cb
lea rbp, [rsp + 0xd0]
lea rdx, str.AVX2
mov rcx, rbp
call sym.sprintf_1
jmp 0x140010363
mov eax, r9d
mov ecx, r8d
cpuid
and ecx, 0x2000000
je 0x140010380
mov rcx, rbp
call sym.strlen
mov dword [rbp + rax], 0x494e20
jmp 0x140010380
lea rcx, str.PROCESSOR_IDENTIFIER
call sym.getenv
lea r8, [0x1402b87a8]
mov edx, 0x50
mov rcx, r13
mov r9, rax
call sym.snprintf_1
jmp 0x1400108c2
vsubsd xmm6, xmm6, xmm0
vcvttsd2si r9, xmm6
btc r9, 0x3f
jmp 0x140010984
lea rcx, [r15 + 0x1f0]
mov rdx, qword [rsp + 0x98]
mov r8d, 4
xor r12d, r12d
call sym.hex2bin
mov rax, qword [str.4f2_]
cmp byte [rax], 0
jne 0x1400112d7
cmp r13d, 0x4b
jne 0x140010f09
mov rdi, qword [rsp + 0x88]
test rdi, rdi
je 0x140010e83
cmp qword [rsp + 0x68], 0
je 0x140010e83
cmp qword [rsp + 0x70], 0
sete al
cmp qword [rsp + 0x78], 0
sete dl
or al, dl
jne 0x140010e83
cmp qword [rsp + 0x80], 0
je 0x140010e83
mov rcx, rdi
call sym.strlen
cmp rax, 0x40
jne 0x140010e83
mov rcx, qword [rsp + 0x68]
call sym.strlen
cmp rax, 0x40
jne 0x140010e83
mov rcx, qword [rsp + 0x70]
call sym.strlen
cmp rax, 0x40
jne 0x140010e83
mov rcx, qword [rsp + 0x78]
call sym.strlen
cmp rax, 0x40
jne 0x140010e83
mov rcx, qword [rsp + 0x80]
call sym.strlen
cmp rax, 0x40
je 0x140010f09
lea rdx, str.Stratum_notify:_invalid_veil_parameters
mov ecx, 1
call sym.applog.constprop.1
jmp 0x14000f860
lea rbp, [rsp + 0xd0]
lea rdx, [0x1402b874b]
mov rcx, rbp
call sym.sprintf_1
jmp 0x140010363
lea rbp, [rsp + 0xd0]
lea rdx, [0x1402b8754]
mov rcx, rbp
call sym.sprintf_1
jmp 0x140010363
lea rbp, [rsp + 0xd0]
lea rdx, str.FMA3
mov rcx, rbp
call sym.sprintf_1
jmp 0x140010363
lea rbp, [rsp + 0xd0]
lea rdx, str.SSE42
mov rcx, rbp
call sym.sprintf_1
jmp 0x140010363
mov rdi, qword [rsp + 0xa8]
lea rax, [r15 + 0x480]
mov rcx, rax
mov qword [rsp + 0x98], rax
mov dword [rsp + 0xb0], edi
call sym.pthread_mutex_lock
test edi, edi
je 0x1400110dc
mov eax, dword [rsp + 0xa8]
cmp eax, dword [r15 + 0x1e4]
jle 0x140010fd8
xor edi, edi
jmp 0x140010f5c
mov rcx, qword [rcx + rdi*8]
add rdi, 1
call sym.free
mov rcx, qword [r15 + 0x1e8]
cmp dword [r15 + 0x1e0], edi
jg 0x140010f4f
call sym.free
movsxd rcx, dword [rsp + 0xa8]
shl rcx, 3
call sym.malloc
xor edx, edx
mov qword [rsp + 0x420], r15
mov r15, r12
mov rdi, rax
mov r12, rbx
mov rbx, rdx
jmp 0x140010fac
mov ecx, 0x20
call sym.malloc
mov qword [rdi + rbx*8], rax
add rbx, 1
cmp dword [rsp + 0xb0], ebx
jg 0x140010f9a
mov eax, dword [rsp + 0xa8]
mov rbx, r12
mov r12, r15
mov r15, qword [rsp + 0x420]
mov dword [r15 + 0x1e4], eax
mov qword [r15 + 0x1e8], rdi
cmp dword [rsp + 0xa8], 0
jle 0x1400110dc
mov rax, qword [rsp + 0xa8]
xor edi, edi
mov qword [rsp + 0xb0], rsi
mov rsi, rdi
mov rdi, rbx
sub eax, 1
mov qword [rsp + 0xb8], rax
jmp 0x14001104a
mov rcx, rax
call sym.strlen
cmp rax, 0x40
jne 0x140011065
mov rax, qword [r15 + 0x1e8]
mov rdx, rbx
mov r8d, 0x20
mov rcx, qword [rax + rsi*8]
call sym.hex2bin
mov rbx, qword [rsp + 0xb8]
lea rax, [rsi + 1]
cmp rsi, rbx
je 0x1400110d1
mov rsi, rax
mov rdx, rsi
mov rcx, r14
call sym.json_array_get
mov rcx, rax
call sym.json_string_value
mov rbx, rax
test rax, rax
jne 0x14001100b
xor ecx, ecx
mov rsi, qword [rsp + 0xb0]
mov dword [r15 + 0x1e0], ecx
mov rcx, qword [rsp + 0x98]
call sym.pthread_mutex_unlock
lea rdx, str.Stratum_notify:_invalid_Merkle_branch
mov ecx, 1
call sym.applog.constprop.1
jmp 0x14000f860
lea rbp, [rsp + 0xd0]
lea rdx, str.SSE2
mov rcx, rbp
call sym.sprintf_1
jmp 0x140010363
lea rbp, [rsp + 0xd0]
lea rdx, [0x1402b8763]
mov rcx, rbp
call sym.sprintf_1
jmp 0x140010363
mov rsi, qword [rsp + 0xb0]
mov rbx, rdi
mov eax, dword [rsp + 0xa8]
mov rcx, qword [rsp + 0x58]
mov dword [r15 + 0x1e0], eax
call sym.strlen
mov rcx, qword [rsp + 0x60]
shr rax, 1
mov r14, rax
call sym.strlen
mov rdx, qword [r15 + 0x160]
add rdx, qword [r15 + 0x150]
shr rax, 1
add rdx, r14
mov rcx, qword [r15 + 0x1d0]
add rdx, rax
mov rdi, rax
mov qword [r15 + 0x1c8], rdx
call sym.realloc
mov rdx, qword [rsp + 0x58]
mov r8, r14
mov rcx, rax
mov qword [r15 + 0x1d0], rax
mov rax, qword [r15 + 0x150]
add rax, r14
add rax, rcx
mov qword [r15 + 0x1d8], rax
call sym.hex2bin
mov rcx, qword [r15 + 0x1d0]
mov rdx, qword [r15 + 0x158]
mov r8, qword [r15 + 0x150]
add rcx, r14
call sym.memcpy
mov rcx, qword [r15 + 0x1c0]
test rcx, rcx
je 0x140011193
mov rdx, qword [rsp + 0x38]
call sym.strcmp
test eax, eax
je 0x1400111a8
mov rcx, qword [r15 + 0x1d8]
mov r8, qword [r15 + 0x160]
xor edx, edx
call sym.memset
mov rdx, qword [rsp + 0x60]
mov r8, rdi
mov rcx, qword [r15 + 0x160]
add rcx, qword [r15 + 0x1d8]
call sym.hex2bin
mov rcx, qword [r15 + 0x1c0]
call sym.free
mov rcx, qword [rsp + 0x38]
call sym.strdup
mov rdx, qword [rsp + 0x40]
lea rcx, [r15 + 0x180]
mov r8d, 0x20
mov qword [r15 + 0x1c0], rax
call sym.hex2bin
cmp dword [rsp + 0x94], 0
jne 0x1400113e6
test ebp, ebp
jne 0x1400113cc
mov rax, qword [str.4f2_]
cmp byte [rax], 0
jne 0x140011400
cmp r13d, 0x4b
je 0x14001134e
mov rdx, qword [r15 + 0x1d0]
mov rcx, qword [r15 + 0x1c8]
lea rax, [rdx + 0x20]
lea rdx, [rdx + rcx - 2]
jmp 0x140011249
cmp rax, rdx
jae 0x140011259
add rax, 1
cmp byte [rax], 0xff
jne 0x140011240
jmp 0x140011259
cmp rax, rdx
jae 0x14001125e
add rax, 1
cmp byte [rax], 0xff
je 0x140011250
xor edx, edx
cmp byte [rax - 1], 0xff
je 0x14001131c
mov dword [r15 + 0x488], edx
mov rdx, qword [rsp + 0x48]
mov r8d, 4
lea rcx, [r15 + 0x1f4]
mov ebx, 1
call sym.hex2bin
mov rdx, qword [rsp + 0xa0]
lea rcx, [r15 + 0x1f8]
mov r8d, 4
call sym.hex2bin
movzx eax, byte [rsp + 0x50]
vmovsd xmm0, qword [r15 + 0x138]
mov rcx, qword [rsp + 0x98]
mov byte [r15 + 0x208], al
vmovsd qword [r15 + 0x200], xmm0
call sym.pthread_mutex_unlock
jmp 0x14000f862
mov edx, 9
mov rcx, rdi
call sym.json_array_get
mov rcx, rax
call sym.json_string_value
mov r12, rax
test rax, rax
je 0x140011306
mov rcx, rax
call sym.strlen
cmp rax, 0x40
je 0x140010dee
lea rdx, str.Stratum_notify:_invalid_sapling_parameters
mov ecx, 1
call sym.applog.constprop.1
jmp 0x14000f860
cmp byte [rax - 2], 0xff
jne 0x14001126a
movzx ecx, byte [rax + 1]
movzx edx, word [rax + 2]
cmp cl, 3
je 0x14001141a
cmp cl, 4
jne 0x14001126a
movzx eax, word [rax + 4]
shl eax, 0x10
add edx, eax
jmp 0x14001126a
mov rdx, qword [rsp + 0x88]
lea rcx, [r15 + 0x249]
mov r8d, 0x20
call sym.hex2bin
mov rdx, qword [rsp + 0x68]
lea rcx, [r15 + 0x269]
mov r8d, 0x20
call sym.hex2bin
mov rdx, qword [rsp + 0x70]
lea rcx, [r15 + 0x289]
mov r8d, 0x20
call sym.hex2bin
mov rdx, qword [rsp + 0x78]
lea rcx, [r15 + 0x2a9]
mov r8d, 0x20
call sym.hex2bin
mov rdx, qword [rsp + 0x80]
lea rcx, [r15 + 0x2c9]
mov r8d, 0x20
call sym.hex2bin
jmp 0x140011227
lea rcx, [r15 + 0x209]
mov r8d, 0x40
mov rdx, rbx
call sym.hex2bin
jmp 0x14001120d
lea rcx, [r15 + 0x209]
mov r8d, 0x20
mov rdx, rbx
call sym.hex2bin
jmp 0x140011205
lea rcx, [r15 + 0x1a0]
mov r8d, 0x20
mov rdx, r12
call sym.hex2bin
jmp 0x14001121d
movzx eax, byte [rax + 4]
shl eax, 0x10
add edx, eax
jmp 0x14001126a