Function at 0x40e2c0
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 r15d, r15d
xor ebp, ebp
lea rax, [rcx + 0x118]
mov qword [rsp + 0x38], rax
mov rdi, rcx
lea r13, [rcx + 0x130]
lea r14, [rcx + 8]
jmp 0x40e383
lea rax, [rsp + 0x68]
mov rcx, qword [rdi + 0x118]
mov qword [rsp + 0x68], 0x1e
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x178], rcx
xor r9d, r9d
inc ecx
xor r8d, r8d
lea rdx, [rsp + 0x170]
mov dword [rsp + 0x170], 1
call qword [sym.imp.WS2_32.dll_select]
test eax, eax
jg 0x40e450
mov ecx, 1
lea rdx, str.stratum_subscribe_timed_out
call fcn.0040a990
mov rcx, r12
call sub.msvcrt.dll_free
test r15, r15
jne 0x40e421
test rbp, rbp
setne al
xor ebx, 1
and al, bl
je 0x40e527
mov ebx, 1
mov rsi, qword [rdi + 0x148]
test rsi, rsi
je 0x40e5d8
mov rcx, rsi
call sub.msvcrt.dll_strlen
lea rcx, [rax + 0x80]
call sub.msvcrt.dll_malloc
mov r12, rax
test bl, bl
jne 0x40e560
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 [0x007611c0]
cmp byte [rax], 0
jne 0x40e540
mov rcx, r13
call fcn.006c7300
mov rdx, qword [rsp + 0x38]
mov rcx, r14
mov r8, r12
call fcn.0040a8c0
mov esi, eax
mov rcx, r13
call fcn.006c8230
test sil, sil
jne 0x40e300
mov ecx, 1
lea rdx, str.stratum_subscribe_send_failed
call fcn.0040a990
mov rcx, r12
call sub.msvcrt.dll_free
test r15, r15
je 0x40e36d
mov rax, qword [r15 + 8]
cmp rax, 0xffffffffffffffff
je 0x40e36d
dec rax
mov qword [r15 + 8], rax
jne 0x40e36d
mov rcx, r15
call fcn.006c1240
jmp 0x40e36d
mov rcx, rdi
call fcn.0040dc40
mov rbp, rax
test rax, rax
je 0x40e698
xor edx, edx
mov rcx, rax
lea r8, [rsp + 0x70]
call fcn.006bfa60
mov r15, rax
mov rcx, rbp
call sub.msvcrt.dll_free
test r15, r15
je 0x40e848
lea rdx, str.result
mov rcx, r15
call fcn.006c0ac0
mov rsi, rax
lea rdx, str.error
mov rcx, r15
mov qword [rsp + 0x40], rax
call fcn.006c0ac0
test rsi, rsi
je 0x40e808
cmp dword [rsi], 7
je 0x40e808
test rax, rax
je 0x40e6c0
cmp dword [rax], 7
je 0x40e6c0
mov rdx, qword [0x00761150]
cmp byte [rdx], 0
jne 0x40e8a0
test bl, bl
jne 0x40e8a0
mov rcx, r12
call sub.msvcrt.dll_free
mov rax, qword [r15 + 8]
cmp rax, 0xffffffffffffffff
je 0x40e37e
dec rax
mov qword [r15 + 8], rax
jne 0x40e36d
xor eax, eax
mov rcx, r15
mov byte [rsp + 0x40], al
call fcn.006c1240
movzx eax, byte [rsp + 0x40]
test al, al
je 0x40e36d
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, [0x006ff19e]
mov ecx, 5
call fcn.0040ab20
jmp 0x40e3d4
movabs rdx, 0x6f6874656d22202c
movabs rax, 0x31203a226469227b
mov qword [r12 + 8], rdx
movabs rdx, 0x736275732e676e69
mov qword [r12], rax
mov qword [r12 + 0x18], rdx
movabs rax, 0x6e696d22203a2264
movabs rdx, 0x22736d6172617022
mov qword [r12 + 0x10], rax
mov qword [r12 + 0x28], rdx
movabs rax, 0x202c226562697263
mov edx, 0x7d
mov qword [r12 + 0x20], rax
mov dword [r12 + 0x30], 0x5d5b203a
mov word [r12 + 0x34], dx
jmp 0x40e3c4
mov ecx, pe_nt_image_headers64
call sub.msvcrt.dll_malloc
mov r12, rax
test bl, bl
jne 0x40e560
movabs rax, 0x31203a226469227b
mov qword [r12], rax
movabs rax, 0x6e696d22203a2264
movabs rdx, 0x6f6874656d22202c
mov qword [r12 + 0x10], rax
movabs rax, 0x202c226562697263
mov qword [r12 + 8], rdx
mov qword [r12 + 0x20], rax
movabs rdx, 0x736275732e676e69
movabs rax, 0x6d757063225b203a
mov qword [r12 + 0x18], rdx
mov qword [r12 + 0x30], rax
movabs rdx, 0x22736d6172617022
movabs rax, 0x782d34312e33322d
mov qword [r12 + 0x28], rdx
mov qword [r12 + 0x40], rax
movabs rdx, 0x74706f2d72656e69
mov eax, 0x7d5d
mov qword [r12 + 0x38], rdx
mov dword [r12 + 0x48], 0x22573436
mov word [r12 + 0x4c], ax
mov byte [r12 + 0x4e], 0
jmp 0x40e3c4
mov rcx, r12
call sub.msvcrt.dll_free
test r15, r15
je 0x40e8f8
mov rax, qword [r15 + 8]
cmp rax, 0xffffffffffffffff
jne 0x40e42f
xor eax, eax
jmp 0x40e527
mov rcx, qword [rsp + 0x40]
xor edx, edx
call fcn.006c0d10
lea rsi, [rdi + 0x480]
mov qword [rsp + 0x48], rsi
test rax, rax
je 0x40e878
cmp dword [rax], 1
jne 0x40e878
mov rcx, rax
mov qword [rsp + 0x50], rax
call fcn.006c0cf0
test eax, eax
jle 0x40e785
lea edx, [rax - 1]
mov qword [rsp + 0x58], rbp
mov qword [rsp + 0x3d0], rdi
mov rbp, qword [rsp + 0x50]
xor esi, esi
mov qword [rsp + 0x50], r14
mov r14, rdx
jmp 0x40e760
cmp dword [rax], 1
jne 0x40e773
xor edx, edx
mov rcx, rax
call fcn.006c0d10
mov rcx, rax
call fcn.006c0f30
mov rcx, rax
test rax, rax
je 0x40e754
lea rdx, str.mining.notify
call qword [sym.imp.msvcrt.dll__stricmp]
test eax, eax
je 0x40e8ff
lea rax, [rsi + 1]
cmp r14, rsi
je 0x40e773
mov rsi, rax
mov rdx, rsi
mov rcx, rbp
call fcn.006c0d10
mov rdi, rax
test rax, rax
jne 0x40e720
mov rbp, qword [rsp + 0x58]
mov r14, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x3d0]
mov rcx, qword [rsp + 0x48]
call fcn.006c7300
mov rcx, qword [rdi + 0x148]
test rcx, rcx
je 0x40e7a0
call sub.msvcrt.dll_free
xor eax, eax
mov qword [rdi + 0x148], rax
mov rax, qword [0x007000a0]
mov rcx, qword [rsp + 0x48]
mov qword [rdi + 0x138], rax
call fcn.006c8230
mov rdx, qword [rsp + 0x40]
mov r8d, 1
mov rcx, rdi
call fcn.0040c910
mov rcx, r12
mov byte [rsp + 0x40], al
call sub.msvcrt.dll_free
mov rdx, qword [r15 + 8]
movzx eax, byte [rsp + 0x40]
cmp rdx, 0xffffffffffffffff
je 0x40e51f
dec rdx
mov qword [r15 + 8], rdx
jne 0x40e51f
jmp 0x40e50e
mov rdx, qword [0x00761150]
cmp byte [rdx], 0
jne 0x40e81c
test bl, bl
je 0x40e4e9
mov rcx, r12
mov qword [rsp + 0x40], rax
call sub.msvcrt.dll_free
mov rax, qword [rsp + 0x40]
test rax, rax
jne 0x40e8b2
lea rcx, str._unknown_reason_
call sub.msvcrt.dll__strdup
mov r12, rax
jmp 0x40e8c2
mov r8d, dword [rsp + 0x70]
lea r9, [rsp + 0xcc]
lea rdx, str.JSON_decode_failed__d_:__s
mov ecx, 1
call fcn.0040a990
mov rcx, r12
call sub.msvcrt.dll_free
jmp 0x40e36d
lea rcx, [rdi + 0x480]
call fcn.006c7300
mov rcx, qword [rdi + 0x148]
test rcx, rcx
je 0x40e7a0
call sub.msvcrt.dll_free
jmp 0x40e7a0
mov rcx, r12
mov qword [rsp + 0x40], rax
call sub.msvcrt.dll_free
mov rax, qword [rsp + 0x40]
mov edx, 3
mov rcx, rax
call fcn.006bd630
mov r12, rax
mov r8, r12
lea rdx, str.JSON_RPC_call_failed:__s
mov ecx, 1
call fcn.0040a990
mov rcx, r12
call sub.msvcrt.dll_free
mov rax, qword [r15 + 8]
cmp rax, 0xffffffffffffffff
jne 0x40e4ff
jmp 0x40e36d
xor eax, eax
jmp 0x40e527
mov r8, rdi
mov rcx, r8
mov edx, 1
mov rbp, qword [rsp + 0x58]
mov r14, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x3d0]
call fcn.006c0d10
mov rcx, rax
call fcn.006c0f30
mov rsi, rax
mov rax, qword [0x00761150]
cmp byte [rax], 0
je 0x40e986
test rsi, rsi
je 0x40e785
mov r8, rsi
lea rdx, str.Stratum_session_id:__s
mov ecx, 5
call fcn.0040ab20
mov rcx, qword [rsp + 0x48]
call fcn.006c7300
mov rcx, qword [rdi + 0x148]
test rcx, rcx
je 0x40e979
call sub.msvcrt.dll_free
test rsi, rsi
je 0x40e7a0
mov rcx, rsi
call sub.msvcrt.dll__strdup
jmp 0x40e7a2
mov rcx, qword [rsp + 0x48]
call fcn.006c7300
mov rcx, qword [rdi + 0x148]
test rcx, rcx
jne 0x40e96b
jmp 0x40e970