Function at 0x40e4b0
Capabilities:
Get socket status

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x388
vmovups xmmword [rsp + 0x370], xmm6
vmovq xmm6, qword [0x006bc058]
xor r14d, r14d
xor ebp, ebp
xor r15d, r15d
mov rbx, rcx
lea r13, [rcx + 0x130]
jmp 0x40e577
mov rcx, qword [rbx + 0x118]
lea rax, [rsp + 0x58]
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x160], 1
lea rdx, [rsp + 0x160]
mov qword [rsp + 0x20], rax
vmovq qword [rsp + 0x58], xmm6
mov qword [rsp + 0x168], rcx
inc ecx
call qword [sym.imp.WS2_32.dll_select]
test eax, eax
jg 0x40e640
xor ecx, ecx
lea rdx, str.stratum_subscribe_timed_out
call fcn.0040b000
mov rcx, r12
call sub.msvcrt.dll_free
test rbp, rbp
jne 0x40e612
test r15, r15
setne al
xor r14d, 1
and r14d, eax
mov esi, r14d
and r14d, 1
je 0x40e715
mov r14d, 1
mov rdi, qword [rbx + 0x148]
test rdi, rdi
je 0x40e780
mov rcx, rdi
movzx esi, r14b
call sub.msvcrt.dll_strlen
lea rcx, [rax + 0x80]
call sub.msvcrt.dll_malloc
mov r12, rax
test si, si
jne 0x40e760
mov r8, rdi
lea rdx, str._id_:_1___method_:__mining.subscribe____params_:___cpuminer_opt_gr_1.1.0_____s__
mov rcx, rax
call fcn.0040ab90
mov rax, qword [0x00725790]
cmp byte [rax], 0
jne 0x40e740
mov rcx, r13
call fcn.00679e60
mov rcx, rbx
mov rdx, r12
call fcn.0040aef0
mov rcx, r13
mov edi, eax
call fcn.0067ad90
test dil, dil
jne 0x40e4f0
xor ecx, ecx
lea rdx, str.stratum_subscribe_send_failed
call fcn.0040b000
mov rcx, r12
call sub.msvcrt.dll_free
test rbp, rbp
je 0x40e557
mov rax, qword [rbp + 8]
cmp rax, 0xffffffffffffffff
je 0x40e557
dec rax
mov qword [rbp + 8], rax
jne 0x40e557
mov rcx, rbp
call fcn.00673f20
jmp 0x40e557
mov rcx, rbx
call fcn.0040de80
mov r15, rax
test rax, rax
je 0x40e7b0
xor edx, edx
mov rcx, rax
lea r8, [rsp + 0x60]
call fcn.00672680
mov rcx, r15
mov rbp, rax
call sub.msvcrt.dll_free
test rbp, rbp
je 0x40e960
lea rdx, str.result
mov rcx, rbp
call fcn.00673780
lea rdx, str.error
mov rcx, rbp
mov qword [rsp + 0x38], rax
call fcn.00673780
mov rdi, rax
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x40e920
cmp dword [rax], 7
je 0x40e920
test rdi, rdi
je 0x40e7e0
cmp dword [rdi], 7
je 0x40e7e0
mov rax, qword [0x00725710]
cmp byte [rax], 0
jne 0x40e9c0
test si, si
jne 0x40e9c0
mov rcx, r12
call sub.msvcrt.dll_free
mov rax, qword [rbp + 8]
cmp rax, 0xffffffffffffffff
je 0x40e571
dec rax
mov qword [rbp + 8], rax
jne 0x40e557
xor esi, esi
mov rcx, rbp
call fcn.00673f20
test sil, sil
je 0x40e557
vmovups xmm6, xmmword [rsp + 0x370]
mov eax, esi
add rsp, 0x388
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r8, r12
lea rdx, [0x006bb1a0]
mov ecx, 4
call fcn.0040b2f0
jmp 0x40e5cd
lea rdx, str._id_:_1___method_:__mining.subscribe____params_:___
mov rcx, r12
call fcn.0040ab90
jmp 0x40e5bd
mov ecx, pe_nt_image_headers64
movzx esi, r14b
call sub.msvcrt.dll_malloc
mov r12, rax
test si, si
jne 0x40e760
lea rdx, str._id_:_1___method_:__mining.subscribe____params_:___cpuminer_opt_gr_1.1.0__
mov rcx, r12
call fcn.0040ab90
jmp 0x40e5bd
mov rcx, r12
call sub.msvcrt.dll_free
test rbp, rbp
je 0x40e7d0
mov rax, qword [rbp + 8]
cmp rax, 0xffffffffffffffff
jne 0x40e620
nop dword [rax + rax]
xor esi, esi
jmp 0x40e715
mov rcx, qword [rsp + 0x38]
xor edx, edx
lea rsi, [rbx + 0x480]
call fcn.006739f0
mov qword [rsp + 0x40], rsi
test rax, rax
je 0x40e990
cmp dword [rax], 1
mov rdi, rax
jne 0x40e990
mov rcx, rax
call fcn.006739d0
test eax, eax
jle 0x40e8a1
dec eax
mov byte [rsp + 0x4f], r14b
xor esi, esi
mov r14, rdi
mov qword [rsp + 0x3d0], rbx
mov rdi, rax
jmp 0x40e880
cmp dword [rax], 1
jne 0x40e893
xor edx, edx
mov rcx, rax
call fcn.006739f0
mov rcx, rax
call fcn.00673c10
mov rcx, rax
test rax, rax
je 0x40e874
lea rdx, str.mining.notify
call qword [sym.imp.msvcrt.dll__stricmp]
test eax, eax
je 0x40ea04
lea rax, [rsi + 1]
cmp rsi, rdi
je 0x40e893
mov rsi, rax
mov rdx, rsi
mov rcx, r14
call fcn.006739f0
mov rbx, rax
test rax, rax
jne 0x40e840
movzx r14d, byte [rsp + 0x4f]
mov rbx, qword [rsp + 0x3d0]
mov rcx, qword [rsp + 0x40]
call fcn.00679e60
mov rcx, qword [rbx + 0x148]
test rcx, rcx
je 0x40e8bc
call sub.msvcrt.dll_free
xor eax, eax
mov qword [rbx + 0x148], rax
mov rax, qword [0x006bc040]
mov rcx, qword [rsp + 0x40]
mov qword [rbx + 0x138], rax
call fcn.0067ad90
mov r8d, 1
mov rcx, rbx
mov rdx, qword [rsp + 0x38]
call fcn.0040b4c0
mov rcx, r12
mov esi, eax
call sub.msvcrt.dll_free
mov rax, qword [rbp + 8]
cmp rax, 0xffffffffffffffff
je 0x40e70c
dec rax
mov qword [rbp + 8], rax
jne 0x40e70c
jmp 0x40e704
mov rax, qword [0x00725710]
cmp byte [rax], 0
jne 0x40e935
test si, si
je 0x40e6df
mov rcx, r12
call sub.msvcrt.dll_free
test rdi, rdi
jne 0x40e9c8
lea rcx, str._unknown_reason_
call sub.msvcrt.dll__strdup
mov r12, rax
jmp 0x40e9d8
mov r8d, dword [rsp + 0x60]
xor ecx, ecx
lea r9, [rsp + 0xbc]
lea rdx, str.JSON_decode_failed__d_:__s
call fcn.0040b000
mov rcx, r12
call sub.msvcrt.dll_free
jmp 0x40e557
mov rcx, rsi
call fcn.00679e60
mov rcx, qword [rbx + 0x148]
test rcx, rcx
je 0x40e8bc
call sub.msvcrt.dll_free
jmp 0x40e8bc
mov rcx, r12
call sub.msvcrt.dll_free
mov edx, 3
mov rcx, rdi
call fcn.00670210
mov r12, rax
mov r8, r12
lea rdx, str.JSON_RPC_call_failed:__s
xor ecx, ecx
call fcn.0040b000
mov rcx, r12
call sub.msvcrt.dll_free
mov rax, qword [rbp + 8]
cmp rax, 0xffffffffffffffff
jne 0x40e6f5
jmp 0x40e557
mov rdi, rbx
mov edx, 1
movzx r14d, byte [rsp + 0x4f]
mov rbx, qword [rsp + 0x3d0]
mov rcx, rdi
call fcn.006739f0
mov rcx, rax
call fcn.00673c10
mov rsi, rax
mov rax, qword [0x00725710]
cmp byte [rax], 0
je 0x40ea87
test rsi, rsi
je 0x40e8a1
mov r8, rsi
lea rdx, str.Stratum_session_id:__s
mov ecx, 4
call fcn.0040b2f0
mov rcx, qword [rsp + 0x40]
call fcn.00679e60
mov rcx, qword [rbx + 0x148]
test rcx, rcx
je 0x40ea7a
call sub.msvcrt.dll_free
test rsi, rsi
je 0x40e8bc
mov rcx, rsi
call sub.msvcrt.dll__strdup
jmp 0x40e8be
mov rcx, qword [rsp + 0x40]
call fcn.00679e60
mov rcx, qword [rbx + 0x148]
test rcx, rcx
jne 0x40ea6c
jmp 0x40ea71