Function at 0x40e110
Capabilities:
Get socket status

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x388
xor ebx, ebx
xor ebp, ebp
xor r15d, r15d
lea rax, [rcx + 8]
mov rdi, rcx
lea r13, [rcx + 0x130]
mov qword [rsp + 0x38], rax
lea rax, [rcx + 0x118]
mov qword [rsp + 0x40], rax
jmp 0x40e1d3
mov rcx, qword [rdi + 0x118]
lea rax, [rsp + 0x68]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x170]
mov qword [rsp + 0x178], rcx
inc ecx
mov dword [rsp + 0x170], 1
mov qword [rsp + 0x68], 0x1e
call qword [sym.imp.WS2_32.dll_select]
test eax, eax
jg 0x40e2a0
mov ecx, 1
lea rdx, str.stratum_subscribe_timed_out
call fcn.0040a760
mov rcx, r12
call sub.msvcrt.dll_free
test rbp, rbp
jne 0x40e273
test r15, r15
setne al
xor ebx, 1
and al, bl
je 0x40e377
mov ebx, 1
mov rsi, qword [rdi + 0x148]
test rsi, rsi
je 0x40e428
mov rcx, rsi
call sub.msvcrt.dll_strlen
lea rcx, [rax + 0x80]
call sub.msvcrt.dll_malloc
mov r12, rax
test bl, bl
jne 0x40e3b0
mov r8, rsi
lea rdx, str._id_:_1___method_:__mining.subscribe____params_:___cpuminer_opt_23.15_x64W_____s__
mov rcx, rax
call sub.msvcrt.dll_sprintf
mov rax, qword [0x006f1aa0]
cmp byte [rax], 0
jne 0x40e390
mov rcx, r13
call fcn.00657d40
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x40]
mov r8, r12
call fcn.0040a690
mov rcx, r13
mov esi, eax
call fcn.00658c70
test sil, sil
jne 0x40e150
mov ecx, 1
lea rdx, str.stratum_subscribe_send_failed
call fcn.0040a760
mov rcx, r12
call sub.msvcrt.dll_free
test rbp, rbp
je 0x40e1bd
mov rax, qword [rbp + 8]
cmp rax, 0xffffffffffffffff
je 0x40e1bd
dec rax
mov qword [rbp + 8], rax
jne 0x40e1bd
mov rcx, rbp
call fcn.00651e00
jmp 0x40e1bd
mov rcx, rdi
call fcn.0040da90
mov r15, rax
test rax, rax
je 0x40e4e8
xor edx, edx
mov rcx, rax
lea r8, [rsp + 0x70]
call fcn.00650630
mov rcx, r15
mov rbp, rax
call sub.msvcrt.dll_free
test rbp, rbp
je 0x40e698
lea rdx, str.result
mov rcx, rbp
call fcn.00651680
lea rdx, str.error
mov rcx, rbp
mov rsi, rax
mov qword [rsp + 0x48], rax
call fcn.00651680
test rsi, rsi
je 0x40e650
cmp dword [rsi], 7
je 0x40e650
test rax, rax
je 0x40e510
cmp dword [rax], 7
je 0x40e510
mov rdx, qword [0x006f1a30]
cmp byte [rdx], 0
jne 0x40e6f0
test bl, bl
jne 0x40e6f0
mov rcx, r12
call sub.msvcrt.dll_free
mov rax, qword [rbp + 8]
cmp rax, 0xffffffffffffffff
je 0x40e1ce
dec rax
mov qword [rbp + 8], rax
jne 0x40e1bd
xor eax, eax
mov rcx, rbp
mov byte [rsp + 0x48], al
call fcn.00651e00
movzx eax, byte [rsp + 0x48]
test al, al
je 0x40e1bd
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, [0x006901be]
mov ecx, 5
call fcn.0040a8f0
jmp 0x40e224
movabs rdx, 0x6f6874656d22202c
movabs rax, 0x31203a226469227b
mov dword [r12 + 0x30], 0x5d5b203a
mov qword [r12 + 8], rdx
movabs rdx, 0x736275732e676e69
mov qword [r12], rax
movabs rax, 0x6e696d22203a2264
mov qword [r12 + 0x18], rdx
movabs rdx, 0x22736d6172617022
mov qword [r12 + 0x10], rax
movabs rax, 0x202c226562697263
mov qword [r12 + 0x28], rdx
mov edx, 0x7d
mov qword [r12 + 0x20], rax
mov word [r12 + 0x34], dx
jmp 0x40e214
mov ecx, pe_nt_image_headers64
call sub.msvcrt.dll_malloc
mov r12, rax
test bl, bl
jne 0x40e3b0
movabs rax, 0x31203a226469227b
mov byte [r12 + 0x4e], 0
movabs rdx, 0x6f6874656d22202c
mov qword [r12], rax
movabs rax, 0x6e696d22203a2264
mov qword [r12 + 0x10], rax
movabs rax, 0x202c226562697263
mov qword [r12 + 8], rdx
movabs rdx, 0x736275732e676e69
mov qword [r12 + 0x20], rax
movabs rax, 0x6d757063225b203a
mov qword [r12 + 0x18], rdx
movabs rdx, 0x22736d6172617022
mov qword [r12 + 0x30], rax
movabs rax, 0x782d35312e33322d
mov qword [r12 + 0x28], rdx
movabs rdx, 0x74706f2d72656e69
mov qword [r12 + 0x40], rax
mov eax, 0x7d5d
mov qword [r12 + 0x38], rdx
mov dword [r12 + 0x48], 0x22573436
mov word [r12 + 0x4c], ax
jmp 0x40e214
mov rcx, r12
call sub.msvcrt.dll_free
test rbp, rbp
je 0x40e748
mov rax, qword [rbp + 8]
cmp rax, 0xffffffffffffffff
jne 0x40e281
xor eax, eax
jmp 0x40e377
mov rcx, qword [rsp + 0x48]
xor edx, edx
lea rsi, [rdi + 0x480]
call fcn.006518d0
mov qword [rsp + 0x50], rsi
test rax, rax
je 0x40e6c8
cmp dword [rax], 1
mov r14, rax
jne 0x40e6c8
mov rcx, rax
call fcn.006518b0
test eax, eax
jle 0x40e5c8
dec eax
mov qword [rsp + 0x58], r15
xor esi, esi
mov r15, r14
mov qword [rsp + 0x3d0], rdi
mov r14, rax
jmp 0x40e5a8
cmp dword [rax], 1
jne 0x40e5bb
xor edx, edx
mov rcx, rax
call fcn.006518d0
mov rcx, rax
call fcn.00651af0
mov rcx, rax
test rax, rax
je 0x40e59c
lea rdx, str.mining.notify
call qword [sym.imp.msvcrt.dll__stricmp]
test eax, eax
je 0x40e74f
lea rax, [rsi + 1]
cmp r14, rsi
je 0x40e5bb
mov rsi, rax
mov rdx, rsi
mov rcx, r15
call fcn.006518d0
mov rdi, rax
test rax, rax
jne 0x40e568
mov r15, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x3d0]
mov rcx, qword [rsp + 0x50]
call fcn.00657d40
mov rcx, qword [rdi + 0x148]
test rcx, rcx
je 0x40e5e3
call sub.msvcrt.dll_free
xor eax, eax
mov qword [rdi + 0x148], rax
mov rax, qword [0x006910c0]
mov rcx, qword [rsp + 0x50]
mov qword [rdi + 0x138], rax
call fcn.00658c70
mov rdx, qword [rsp + 0x48]
mov r8d, 1
mov rcx, rdi
call fcn.0040c6d0
mov rcx, r12
mov byte [rsp + 0x48], al
call sub.msvcrt.dll_free
mov rdx, qword [rbp + 8]
movzx eax, byte [rsp + 0x48]
cmp rdx, 0xffffffffffffffff
je 0x40e36f
dec rdx
mov qword [rbp + 8], rdx
jne 0x40e36f
jmp 0x40e35e
mov rdx, qword [0x006f1a30]
cmp byte [rdx], 0
jne 0x40e664
test bl, bl
je 0x40e339
mov rcx, r12
mov qword [rsp + 0x48], rax
call sub.msvcrt.dll_free
mov rax, qword [rsp + 0x48]
test rax, rax
jne 0x40e702
lea rcx, str._unknown_reason_
call sub.msvcrt.dll__strdup
mov r12, rax
jmp 0x40e712
mov r8d, dword [rsp + 0x70]
lea r9, [rsp + 0xcc]
mov ecx, 1
lea rdx, str.JSON_decode_failed__d_:__s
call fcn.0040a760
mov rcx, r12
call sub.msvcrt.dll_free
jmp 0x40e1bd
lea rcx, [rdi + 0x480]
call fcn.00657d40
mov rcx, qword [rdi + 0x148]
test rcx, rcx
je 0x40e5e3
call sub.msvcrt.dll_free
jmp 0x40e5e3
mov rcx, r12
mov qword [rsp + 0x48], rax
call sub.msvcrt.dll_free
mov rax, qword [rsp + 0x48]
mov edx, 3
mov rcx, rax
call fcn.0064e220
mov r12, rax
mov r8, r12
lea rdx, str.JSON_RPC_call_failed:__s
mov ecx, 1
call fcn.0040a760
mov rcx, r12
call sub.msvcrt.dll_free
mov rax, qword [rbp + 8]
cmp rax, 0xffffffffffffffff
jne 0x40e34f
jmp 0x40e1bd
xor eax, eax
jmp 0x40e377
mov r14, rdi
mov edx, 1
mov r15, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x3d0]
mov rcx, r14
call fcn.006518d0
mov rcx, rax
call fcn.00651af0
mov rsi, rax
mov rax, qword [0x006f1a30]
cmp byte [rax], 0
je 0x40e7d1
test rsi, rsi
je 0x40e5c8
mov r8, rsi
lea rdx, str.Stratum_session_id:__s
mov ecx, 5
call fcn.0040a8f0
mov rcx, qword [rsp + 0x50]
call fcn.00657d40
mov rcx, qword [rdi + 0x148]
test rcx, rcx
je 0x40e7c4
call sub.msvcrt.dll_free
test rsi, rsi
je 0x40e5e3
mov rcx, rsi
call sub.msvcrt.dll__strdup
jmp 0x40e5e5
mov rcx, qword [rsp + 0x50]
call fcn.00657d40
mov rcx, qword [rdi + 0x148]
test rcx, rcx
jne 0x40e7b6
jmp 0x40e7bb