Function at 0x40e570
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 r14d, r14d
xor ebp, ebp
xor r15d, r15d
lea rax, [rcx + 8]
mov rbx, rcx
lea r13, [rcx + 0x130]
mov qword [rsp + 0x38], rax
lea rax, [rcx + 0x118]
mov qword [rsp + 0x40], rax
jmp 0x40e63d
mov rcx, qword [rbx + 0x118]
lea rax, [rsp + 0x68]
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x170], 1
mov qword [rsp + 0x68], 0x1e
lea rdx, [rsp + 0x170]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x178], rcx
inc ecx
call qword [sym.imp.WS2_32.dll_select]
test eax, eax
jg 0x40e710
mov ecx, 1
lea rdx, str.stratum_subscribe_timed_out
call fcn.0040a9d0
mov rcx, r12
call sub.msvcrt.dll_free
test rbp, rbp
jne 0x40e6e2
test r15, r15
setne al
xor r14d, 1
and r14d, eax
mov esi, r14d
and r14d, 1
je 0x40e7e5
mov r14d, 1
mov rsi, qword [rbx + 0x148]
test rsi, rsi
je 0x40e890
mov rcx, rsi
movzx edi, r14b
call sub.msvcrt.dll_strlen
lea rcx, [rax + 0x80]
call sub.msvcrt.dll_malloc
mov r12, rax
test di, di
jne 0x40e820
mov r8, rsi
lea rdx, str._id_:_1___method_:__mining.subscribe____params_:___cpuminer_opt_23.10_x64W_____s__
mov rcx, rax
call sub.msvcrt.dll_sprintf
mov rax, qword [0x006dee40]
cmp byte [rax], 0
jne 0x40e800
mov rcx, r13
call fcn.0064b0b0
mov rcx, qword [rsp + 0x38]
mov r8, r12
mov rdx, qword [rsp + 0x40]
call fcn.0040a900
mov rcx, r13
mov esi, eax
call fcn.0064bfe0
test sil, sil
jne 0x40e5b0
mov ecx, 1
lea rdx, str.stratum_subscribe_send_failed
call fcn.0040a9d0
mov rcx, r12
call sub.msvcrt.dll_free
test rbp, rbp
je 0x40e61d
mov rax, qword [rbp + 8]
cmp rax, 0xffffffffffffffff
je 0x40e61d
dec rax
mov qword [rbp + 8], rax
jne 0x40e61d
mov rcx, rbp
call fcn.00645080
jmp 0x40e61d
mov rcx, rbx
call fcn.0040dec0
mov r15, rax
test rax, rax
je 0x40e950
xor edx, edx
mov rcx, rax
lea r8, [rsp + 0x70]
call fcn.006437d0
mov rcx, r15
mov rbp, rax
call sub.msvcrt.dll_free
test rbp, rbp
je 0x40eb00
lea rdx, str.result
mov rcx, rbp
call fcn.006448b0
lea rdx, str.error
mov rcx, rbp
mov qword [rsp + 0x48], rax
call fcn.006448b0
mov rsi, rax
mov rax, qword [rsp + 0x48]
test rax, rax
je 0x40eac0
cmp dword [rax], 7
je 0x40eac0
test rsi, rsi
je 0x40e980
cmp dword [rsi], 7
je 0x40e980
mov rax, qword [0x006dedd0]
cmp byte [rax], 0
jne 0x40eb60
test di, di
jne 0x40eb60
mov rcx, r12
call sub.msvcrt.dll_free
mov rax, qword [rbp + 8]
cmp rax, 0xffffffffffffffff
je 0x40e637
dec rax
mov qword [rbp + 8], rax
jne 0x40e61d
xor esi, esi
mov rcx, rbp
call fcn.00645080
test sil, sil
je 0x40e61d
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, [0x0068319e]
mov ecx, 5
call fcn.0040ab60
jmp 0x40e693
movabs rax, 0x31203a226469227b
movabs rdx, 0x6f6874656d22202c
mov dword [r12 + 0x30], 0x5d5b203a
mov word [r12 + 0x34], 0x7d
mov qword [r12], rax
mov qword [r12 + 8], rdx
movabs rax, 0x6e696d22203a2264
movabs rdx, 0x736275732e676e69
mov qword [r12 + 0x10], rax
mov qword [r12 + 0x18], rdx
movabs rax, 0x202c226562697263
movabs rdx, 0x22736d6172617022
mov qword [r12 + 0x20], rax
mov qword [r12 + 0x28], rdx
jmp 0x40e683
mov ecx, pe_nt_image_headers64
movzx edi, r14b
call sub.msvcrt.dll_malloc
mov r12, rax
test di, di
jne 0x40e820
movabs rax, 0x31203a226469227b
movabs rdx, 0x6f6874656d22202c
mov dword [r12 + 0x48], 0x22573436
mov word [r12 + 0x4c], 0x7d5d
mov qword [r12], rax
movabs rax, 0x6e696d22203a2264
mov qword [r12 + 8], rdx
movabs rdx, 0x736275732e676e69
mov qword [r12 + 0x10], rax
movabs rax, 0x202c226562697263
mov qword [r12 + 0x18], rdx
movabs rdx, 0x22736d6172617022
mov qword [r12 + 0x20], rax
movabs rax, 0x6d757063225b203a
mov qword [r12 + 0x28], rdx
movabs rdx, 0x74706f2d72656e69
mov qword [r12 + 0x30], rax
movabs rax, 0x782d30312e33322d
mov qword [r12 + 0x38], rdx
mov qword [r12 + 0x40], rax
mov byte [r12 + 0x4e], 0
jmp 0x40e683
mov rcx, r12
call sub.msvcrt.dll_free
test rbp, rbp
je 0x40e970
mov rax, qword [rbp + 8]
cmp rax, 0xffffffffffffffff
jne 0x40e6f0
nop dword [rax + rax]
xor esi, esi
jmp 0x40e7e5
mov rcx, qword [rsp + 0x48]
xor edx, edx
lea rdi, [rbx + 0x480]
call fcn.00644b30
mov qword [rsp + 0x50], rdi
test rax, rax
je 0x40eb30
cmp dword [rax], 1
mov rdi, rax
jne 0x40eb30
mov rcx, rax
call fcn.00644b10
test eax, eax
jle 0x40ea41
dec eax
mov byte [rsp + 0x5f], r14b
xor esi, esi
mov r14, rdi
mov qword [rsp + 0x3d0], rbx
mov rdi, rax
jmp 0x40ea20
cmp dword [rax], 1
jne 0x40ea33
xor edx, edx
mov rcx, rax
call fcn.00644b30
mov rcx, rax
call fcn.00644d50
mov rcx, rax
test rax, rax
je 0x40ea14
lea rdx, str.mining.notify
call qword [sym.imp.msvcrt.dll__stricmp]
test eax, eax
je 0x40eba7
lea rax, [rsi + 1]
cmp rdi, rsi
je 0x40ea33
mov rsi, rax
mov rdx, rsi
mov rcx, r14
call fcn.00644b30
mov rbx, rax
test rax, rax
jne 0x40e9e0
movzx r14d, byte [rsp + 0x5f]
mov rbx, qword [rsp + 0x3d0]
mov rcx, qword [rsp + 0x50]
call fcn.0064b0b0
mov rcx, qword [rbx + 0x148]
test rcx, rcx
je 0x40ea5c
call sub.msvcrt.dll_free
xor eax, eax
mov qword [rbx + 0x148], rax
mov rax, qword [0x00684000]
mov rcx, qword [rsp + 0x50]
mov qword [rbx + 0x138], rax
call fcn.0064bfe0
mov r8d, 1
mov rcx, rbx
mov rdx, qword [rsp + 0x48]
call fcn.0040c950
mov rcx, r12
mov esi, eax
call sub.msvcrt.dll_free
mov rax, qword [rbp + 8]
cmp rax, 0xffffffffffffffff
je 0x40e7dc
dec rax
mov qword [rbp + 8], rax
jne 0x40e7dc
jmp 0x40e7d4
mov rax, qword [0x006dedd0]
cmp byte [rax], 0
jne 0x40ead5
test di, di
je 0x40e7af
mov rcx, r12
call sub.msvcrt.dll_free
test rsi, rsi
jne 0x40eb68
lea rcx, str._unknown_reason_
call sub.msvcrt.dll__strdup
mov r12, rax
jmp 0x40eb78
mov r8d, dword [rsp + 0x70]
lea r9, [rsp + 0xcc]
lea rdx, str.JSON_decode_failed__d_:__s
mov ecx, 1
call fcn.0040a9d0
mov rcx, r12
call sub.msvcrt.dll_free
jmp 0x40e61d
lea rcx, [rbx + 0x480]
call fcn.0064b0b0
mov rcx, qword [rbx + 0x148]
test rcx, rcx
je 0x40ea5c
call sub.msvcrt.dll_free
jmp 0x40ea5c
mov rcx, r12
call sub.msvcrt.dll_free
mov edx, 3
mov rcx, rsi
call fcn.006413c0
mov r12, rax
mov r8, r12
lea rdx, str.JSON_RPC_call_failed:__s
mov ecx, 1
call fcn.0040a9d0
mov rcx, r12
call sub.msvcrt.dll_free
mov rax, qword [rbp + 8]
cmp rax, 0xffffffffffffffff
jne 0x40e7c5
jmp 0x40e61d
mov rdi, rbx
mov edx, 1
movzx r14d, byte [rsp + 0x5f]
mov rbx, qword [rsp + 0x3d0]
mov rcx, rdi
call fcn.00644b30
mov rcx, rax
call fcn.00644d50
mov rsi, rax
mov rax, qword [0x006dedd0]
cmp byte [rax], 0
je 0x40ec2a
test rsi, rsi
je 0x40ea41
mov r8, rsi
lea rdx, str.Stratum_session_id:__s
mov ecx, 5
call fcn.0040ab60
mov rcx, qword [rsp + 0x50]
call fcn.0064b0b0
mov rcx, qword [rbx + 0x148]
test rcx, rcx
je 0x40ec1d
call sub.msvcrt.dll_free
test rsi, rsi
je 0x40ea5c
mov rcx, rsi
call sub.msvcrt.dll__strdup
jmp 0x40ea5e
mov rcx, qword [rsp + 0x50]
call fcn.0064b0b0
mov rcx, qword [rbx + 0x148]
test rcx, rcx
jne 0x40ec0f
jmp 0x40ec14