Function at 0x40df80
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 r13d, r13d
xor r15d, r15d
xor ebp, ebp
lea rax, [rcx + 0x118]
mov rbx, rcx
lea rdi, [rcx + 0x130]
mov qword [rsp + 0x30], rax
lea r14, [rcx + 8]
jmp 0x40e047
mov rcx, qword [rbx + 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
add ecx, 1
mov dword [rsp + 0x170], 1
mov qword [rsp + 0x68], 0x1e
call qword [sym.imp.WS2_32.dll_select]
test eax, eax
jg 0x40e110
mov ecx, 1
lea rdx, str.stratum_subscribe_timed_out
call fcn.0040a6c0
mov rcx, r12
call sub.msvcrt.dll_free
test r15, r15
jne 0x40e0e6
test rbp, rbp
setne al
xor r13d, 1
and al, r13b
je 0x40e1ee
mov r13d, 1
mov rsi, qword [rbx + 0x148]
test rsi, rsi
je 0x40e2a0
mov rcx, rsi
call sub.msvcrt.dll_strlen
lea rcx, [rax + 0x80]
call sub.msvcrt.dll_malloc
mov r12, rax
test r13b, r13b
jne 0x40e228
mov r8, rsi
lea rdx, str._id_:_1___method_:__mining.subscribe____params_:___cpuminer_opt_23.14_x64W_____s__
mov rcx, rax
call sub.msvcrt.dll_sprintf
mov rax, qword [0x0063f7f0]
cmp byte [rax], 0
jne 0x40e208
mov rcx, rdi
call fcn.005af240
mov rdx, qword [rsp + 0x30]
mov rcx, r14
mov r8, r12
call fcn.0040a5f0
mov rcx, rdi
mov esi, eax
call fcn.005b0170
test sil, sil
jne 0x40dfc0
mov ecx, 1
lea rdx, str.stratum_subscribe_send_failed
call fcn.0040a6c0
mov rcx, r12
call sub.msvcrt.dll_free
test r15, r15
je 0x40e02e
mov rax, qword [r15 + 8]
cmp rax, 0xffffffffffffffff
je 0x40e02e
sub rax, 1
mov qword [r15 + 8], rax
jne 0x40e02e
mov rcx, r15
call fcn.005a92e0
jmp 0x40e02e
mov rcx, rbx
call fcn.0040d900
mov rbp, rax
test rax, rax
je 0x40e360
xor edx, edx
mov rcx, rax
lea r8, [rsp + 0x70]
call fcn.005a7b50
mov rcx, rbp
mov r15, rax
call sub.msvcrt.dll_free
test r15, r15
je 0x40e518
lea rdx, str.result
mov rcx, r15
call fcn.005a8b90
lea rdx, str.error
mov rcx, r15
mov qword [rsp + 0x38], rax
call fcn.005a8b90
mov rsi, rax
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x40e4e0
cmp dword [rax], 7
je 0x40e4e0
test rsi, rsi
je 0x40e390
cmp dword [rsi], 7
je 0x40e390
mov rax, qword [0x0063f780]
cmp byte [rax], 0
jne 0x40e570
test r13b, r13b
jne 0x40e570
mov rcx, r12
call sub.msvcrt.dll_free
mov rax, qword [r15 + 8]
cmp rax, 0xffffffffffffffff
je 0x40e041
sub rax, 1
mov qword [r15 + 8], rax
jne 0x40e02e
xor eax, eax
mov rcx, r15
mov byte [rsp + 0x38], al
call fcn.005a92e0
movzx eax, byte [rsp + 0x38]
test al, al
je 0x40e02e
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, [0x005e717e]
mov ecx, 5
call fcn.0040a850
jmp 0x40e099
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 0x40e089
mov ecx, pe_nt_image_headers64
call sub.msvcrt.dll_malloc
mov r12, rax
test r13b, r13b
jne 0x40e228
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, 0x782d34312e33322d
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 0x40e089
mov rcx, r12
call sub.msvcrt.dll_free
test r15, r15
je 0x40e380
mov rax, qword [r15 + 8]
cmp rax, 0xffffffffffffffff
jne 0x40e0f4
nop dword [rax + rax]
xor eax, eax
jmp 0x40e1ee
mov rcx, qword [rsp + 0x38]
xor edx, edx
lea rsi, [rbx + 0x480]
call fcn.005a8dd0
mov qword [rsp + 0x40], rsi
test rax, rax
je 0x40e548
cmp dword [rax], 1
jne 0x40e548
mov rcx, rax
mov qword [rsp + 0x48], rax
call fcn.005a8db0
test eax, eax
jle 0x40e456
lea edx, [rax - 1]
mov byte [rsp + 0x57], r13b
xor esi, esi
mov qword [rsp + 0x58], rbp
mov r13, rdx
mov rbp, qword [rsp + 0x48]
mov qword [rsp + 0x3d0], rbx
jmp 0x40e430
cmp dword [rax], 1
jne 0x40e443
xor edx, edx
mov rcx, rax
call fcn.005a8dd0
mov rcx, rax
call fcn.005a8ff0
mov rcx, rax
test rax, rax
je 0x40e424
lea rdx, str.mining.notify
call qword [sym.imp.msvcrt.dll__stricmp]
test eax, eax
je 0x40e5b7
lea rax, [rsi + 1]
cmp r13, rsi
je 0x40e443
mov rsi, rax
mov rdx, rsi
mov rcx, rbp
call fcn.005a8dd0
mov rbx, rax
test rax, rax
jne 0x40e3f0
movzx r13d, byte [rsp + 0x57]
mov rbp, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x3d0]
mov rcx, qword [rsp + 0x40]
call fcn.005af240
mov rcx, qword [rbx + 0x148]
test rcx, rcx
je 0x40e471
call sub.msvcrt.dll_free
xor eax, eax
mov qword [rbx + 0x148], rax
mov rax, qword [0x005e7f60]
mov rcx, qword [rsp + 0x40]
mov qword [rbx + 0x138], rax
call fcn.005b0170
mov rdx, qword [rsp + 0x38]
mov r8d, 1
mov rcx, rbx
call fcn.0040c5b0
mov rcx, r12
mov byte [rsp + 0x38], al
call sub.msvcrt.dll_free
mov rdx, qword [r15 + 8]
movzx eax, byte [rsp + 0x38]
cmp rdx, 0xffffffffffffffff
je 0x40e1e6
sub rdx, 1
mov qword [r15 + 8], rdx
jne 0x40e1e6
jmp 0x40e1d5
mov rax, qword [0x0063f780]
cmp byte [rax], 0
jne 0x40e4f5
test r13b, r13b
je 0x40e1af
mov rcx, r12
call sub.msvcrt.dll_free
test rsi, rsi
jne 0x40e578
lea rcx, str._unknown_reason_
call sub.msvcrt.dll__strdup
mov r12, rax
jmp 0x40e588
mov r8d, dword [rsp + 0x70]
lea r9, [rsp + 0xcc]
mov ecx, 1
lea rdx, str.JSON_decode_failed__d_:__s
call fcn.0040a6c0
mov rcx, r12
call sub.msvcrt.dll_free
jmp 0x40e02e
lea rcx, [rbx + 0x480]
call fcn.005af240
mov rcx, qword [rbx + 0x148]
test rcx, rcx
je 0x40e471
call sub.msvcrt.dll_free
jmp 0x40e471
mov rcx, r12
call sub.msvcrt.dll_free
mov edx, 3
mov rcx, rsi
call fcn.005a5800
mov r12, rax
mov r8, r12
lea rdx, str.JSON_RPC_call_failed:__s
mov ecx, 1
call fcn.0040a6c0
mov rcx, r12
call sub.msvcrt.dll_free
mov rax, qword [r15 + 8]
cmp rax, 0xffffffffffffffff
jne 0x40e1c5
jmp 0x40e02e
mov r8, rbx
mov edx, 1
movzx r13d, byte [rsp + 0x57]
mov rbp, qword [rsp + 0x58]
mov rcx, r8
mov rbx, qword [rsp + 0x3d0]
call fcn.005a8dd0
mov rcx, rax
call fcn.005a8ff0
mov rsi, rax
mov rax, qword [0x0063f780]
cmp byte [rax], 0
je 0x40e63f
test rsi, rsi
je 0x40e456
mov r8, rsi
lea rdx, str.Stratum_session_id:__s
mov ecx, 5
call fcn.0040a850
mov rcx, qword [rsp + 0x40]
call fcn.005af240
mov rcx, qword [rbx + 0x148]
test rcx, rcx
je 0x40e632
call sub.msvcrt.dll_free
test rsi, rsi
je 0x40e471
mov rcx, rsi
call sub.msvcrt.dll__strdup
jmp 0x40e473
mov rcx, qword [rsp + 0x40]
call fcn.005af240
mov rcx, qword [rbx + 0x148]
test rcx, rcx
jne 0x40e624
jmp 0x40e629