Function at 0x100405710
Capabilities:
Get socket status

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x158
xor esi, esi
xor ebx, ebx
xor r13d, r13d
lea rax, [rsp + 0x80]
mov rdi, rcx
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x38], rax
mov rax, qword [0x100469540]
lea r14, [rsp + 0x90]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], rax
jmp 0x1004057b8
mov rcx, r12
call fcn.100462c40
test rbx, rbx
je 0x1004059a0
xor ebp, ebp
mov rax, qword [rbx + 8]
mov edx, 0xffffffff
cmp rax, rdx
je 0x100405798
sub rax, 1
test rax, rax
mov qword [rbx + 8], rax
jne 0x100405798
mov rcx, rbx
call sym.json_delete
test bpl, bpl
jne 0x1004059b2
test r13, r13
je 0x1004059b0
test sil, sil
jne 0x1004059b0
mov esi, 1
mov rbp, qword [rdi + 0x140]
test rbp, rbp
je 0x100405dc0
mov rcx, rbp
call sym.strlen
lea rcx, [rax + 0x80]
call sym.malloc
test sil, sil
mov r12, rax
jne 0x1004059d0
lea rdx, str._id_:_1___method_:__mining.subscribe____params_:___cpuminer_2.3.2_____s__
mov r8, rbp
mov rcx, rax
call sym.sprintf
mov rdx, r12
mov rcx, rdi
call sym.stratum_send_line
test al, al
je 0x100405762
mov ecx, dword [rdi + 0x118]
mov edx, 1
xor r9d, r9d
mov byte [rsp + 0x80], 0
xor r8d, r8d
mov byte [rsp + 0x81], 0
mov byte [rsp + 0x82], 0
movsxd rax, ecx
shl rdx, cl
mov byte [rsp + 0x83], 0
shr rax, 6
mov byte [rsp + 0x84], 0
add ecx, 1
mov byte [rsp + 0x85], 0
mov byte [rsp + 0x86], 0
mov byte [rsp + 0x87], 0
or qword [rsp + rax*8 + 0x80], rdx
mov qword [rsp + 0x20], r14
mov rdx, qword [rsp + 0x30]
mov qword [rsp + 0x90], 0x1e
mov qword [rsp + 0x98], 0
call sym.select
test eax, eax
jle 0x100405a42
mov rcx, rdi
call sym.stratum_recv_line
test rax, rax
mov r13, rax
je 0x100405762
mov rdx, qword [rsp + 0x38]
mov rcx, r13
call sym.json_loads
mov rcx, r13
mov rbx, rax
call fcn.100462c40
test rbx, rbx
je 0x100405975
lea rdx, str.result
mov rcx, rbx
call sym.json_object_get
lea rdx, str.error
mov rcx, rbx
mov rbp, rax
mov qword [rsp + 0x40], rax
call sym.json_object_get
test rbp, rbp
mov r15, rax
je 0x10040591e
cmp dword [rbp], 7
je 0x10040591e
test r15, r15
je 0x100405a60
cmp dword [r15], 7
je 0x100405a60
mov rax, qword [0x100469540]
cmp byte [rax], 0
jne 0x100405931
xor ebp, ebp
test sil, sil
je 0x100405968
mov rcx, r12
call fcn.100462c40
test r15, r15
je 0x100405b7a
mov edx, 3
mov rcx, r15
call sym.json_dumps
mov r12, rax
mov r8, r12
mov ecx, 3
xor ebp, ebp
lea rdx, str.JSON_RPC_call_failed:__s
call sym.applog
mov rcx, r12
call fcn.100462c40
jmp 0x100405775
mov r9, qword [rsp + 0x38]
mov ecx, 3
mov r8d, dword [rsp + 0x140]
lea rdx, str.JSON_decode_failed__d_:__s
call sym.applog
mov rcx, r12
call fcn.100462c40
nop dword [rax + rax]
xor ebx, ebx
test r13, r13
jne 0x1004057aa
nop dword [rax + rax]
xor ebp, ebp
mov eax, ebp
add rsp, 0x158
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
movabs rax, 0x31203a226469227b
mov edx, 0x7d
mov dword [r12 + 0x30], 0x5d5b203a
mov qword [r12], rax
movabs rax, 0x6f6874656d22202c
mov qword [r12 + 8], rax
movabs rax, 0x6e696d22203a2264
mov qword [r12 + 0x10], rax
movabs rax, 0x736275732e676e69
mov qword [r12 + 0x18], rax
movabs rax, 0x202c226562697263
mov qword [r12 + 0x20], rax
movabs rax, 0x22736d6172617022
mov qword [r12 + 0x28], rax
mov word [r12 + 0x34], dx
jmp 0x1004057fa
lea rdx, str.stratum_subscribe_timed_out
mov ecx, 3
call sym.applog
jmp 0x100405762
mov rcx, qword [rsp + 0x40]
xor edx, edx
call sym.json_array_get
test rax, rax
je 0x100405af7
cmp dword [rax], 1
mov r15, rax
jne 0x100405af7
mov rcx, rax
call sym.json_array_size
test eax, eax
jle 0x100405af7
mov qword [rsp + 0x58], r13
xor ebp, ebp
mov r13, r15
mov qword [rsp + 0x60], rbx
mov r15d, eax
jmp 0x100405adb
cmp dword [rax], 1
jne 0x100405aed
xor edx, edx
mov rcx, rax
call sym.json_array_get
mov rcx, rax
call sym.json_string_value
test rax, rax
je 0x100405ad3
lea rdx, str.mining.notify
mov rcx, rax
call sym.strcasecmp
test eax, eax
je 0x100405d4b
add ebp, 1
cmp r15d, ebp
je 0x100405aed
mov edx, ebp
mov rcx, r13
call sym.json_array_get
test rax, rax
mov rbx, rax
jne 0x100405aa0
mov r13, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x48]
cmp byte [rax], 0
mov qword [rsp + 0x60], rax
je 0x100405b17
lea rdx, str.Failed_to_get_Stratum_session_id
mov ecx, 7
call sym.applog
mov qword [rsp + 0x58], 0
mov rcx, qword [rsp + 0x40]
mov edx, 1
call sym.json_array_get
mov rcx, rax
call sym.json_string_value
test rax, rax
mov rbp, rax
je 0x100405d35
mov rcx, qword [rsp + 0x40]
mov edx, 2
call sym.json_array_get
mov rcx, rax
call sym.json_integer_value
test eax, eax
mov dword [rsp + 0x40], eax
jne 0x100405b8e
lea rdx, str.Failed_to_get_extranonce2_size
mov ecx, 3
xor ebp, ebp
call sym.applog
jmp 0x100405968
lea rcx, str._unknown_reason_
call sym.strdup
mov r12, rax
jmp 0x100405952
lea rax, [rdi + 0x1c8]
mov rcx, rax
mov qword [rsp + 0x78], rax
call sym.pthread_mutex_lock
mov rcx, qword [rdi + 0x140]
call fcn.100462c40
mov rcx, qword [rdi + 0x150]
call fcn.100462c40
mov rcx, qword [rsp + 0x58]
xor eax, eax
test rcx, rcx
je 0x100405bcb
call sym.strdup
mov rcx, rbp
mov qword [rdi + 0x140], rax
call sym.strlen
mov r8, rax
shr r8, 1
mov qword [rdi + 0x148], r8
mov rcx, r8
mov qword [rsp + 0x68], r8
call sym.malloc
mov byte [rsp + 0x82], 0
mov qword [rdi + 0x150], rax
movzx edx, byte [rbp]
test dl, dl
je 0x100405cc7
mov r8, qword [rsp + 0x68]
test r8, r8
je 0x100405cc7
movzx ecx, byte [rbp + 1]
lea r15, [rax + 1]
add rax, r8
test cl, cl
je 0x100405da0
mov byte [rsp + 0x68], sil
mov rsi, rbp
mov rbp, qword [rsp + 0x30]
mov qword [rsp + 0x70], rbx
mov rbx, r15
mov r15, rax
jmp 0x100405c78
add rsi, 2
movzx edx, byte [rsi]
test dl, dl
je 0x100405d29
cmp rbx, r15
je 0x100405d29
movzx ecx, byte [rsi + 1]
add rbx, 1
test cl, cl
je 0x100405d96
mov byte [rsp + 0x80], dl
mov r8d, 0x10
mov rdx, r14
mov byte [rsp + 0x81], cl
mov rcx, rbp
call sym.strtol
mov byte [rbx - 1], al
mov rax, qword [rsp + 0x90]
cmp byte [rax], 0
je 0x100405c50
mov r8, qword [rsp + 0x30]
lea rdx, str.hex2bin_failed_on__s
mov ecx, 3
movzx esi, byte [rsp + 0x68]
mov rbx, qword [rsp + 0x70]
call sym.applog
movsxd rax, dword [rsp + 0x40]
mov ebp, 1
mov rcx, qword [rsp + 0x78]
vmovsd xmm0, qword [0x1004688b0]
mov qword [rdi + 0x158], rax
vmovsd qword [rdi + 0x138], xmm0
call sym.pthread_mutex_unlock
mov rax, qword [rsp + 0x60]
cmp byte [rax], 0
je 0x100405968
cmp qword [rsp + 0x58], 0
je 0x100405968
mov r8, qword [rdi + 0x140]
lea rdx, str.Stratum_session_id:__s
mov ecx, 7
call sym.applog
jmp 0x100405968
movzx esi, byte [rsp + 0x68]
mov rbx, qword [rsp + 0x70]
jmp 0x100405cc7
lea rdx, str.Failed_to_get_extranonce1
mov ecx, 3
call sym.applog
jmp 0x100405968
mov r15, rbx
mov edx, 1
mov r13, qword [rsp + 0x58]
mov rcx, r15
mov rbx, qword [rsp + 0x60]
call sym.json_array_get
mov rcx, rax
call sym.json_string_value
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x50]
cmp byte [rax], 0
mov qword [rsp + 0x60], rax
je 0x100405b20
cmp qword [rsp + 0x58], 0
jne 0x100405b20
jmp 0x100405b06
movzx esi, byte [rsp + 0x68]
mov rbx, qword [rsp + 0x70]
lea rdx, str.hex2bin_str_truncated
mov ecx, 3
call sym.applog
jmp 0x100405cc7
mov ecx, pe_nt_image_headers64
call sym.malloc
test sil, sil
mov r12, rax
jne 0x1004059d0
movabs rax, 0x31203a226469227b
mov dword [r12 + 0x40], 0x5d22322e
mov qword [r12], rax
movabs rax, 0x6f6874656d22202c
mov qword [r12 + 8], rax
movabs rax, 0x6e696d22203a2264
mov qword [r12 + 0x10], rax
movabs rax, 0x736275732e676e69
mov qword [r12 + 0x18], rax
movabs rax, 0x202c226562697263
mov qword [r12 + 0x20], rax
movabs rax, 0x22736d6172617022
mov qword [r12 + 0x28], rax
movabs rax, 0x6d757063225b203a
mov qword [r12 + 0x30], rax
movabs rax, 0x332e322f72656e69
mov qword [r12 + 0x38], rax
mov eax, 0x7d
mov word [r12 + 0x44], ax
jmp 0x1004057fa