Function at 0x40dec0
Capabilities:
Get socket status

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xa88
mov edx, 0xa
mov rdi, qword [rcx + 0x128]
mov rbx, rcx
mov rcx, rdi
call sub.msvcrt.dll_strchr
mov r12, rax
test rax, rax
je 0x40dfb0
mov rcx, rdi
call sub.msvcrt.dll_strlen
lea rdx, [0x006831d8]
mov rcx, rdi
mov rsi, rax
call sub.msvcrt.dll_strtok
mov r12, rax
test rax, rax
je 0x40e210
mov rcx, rax
call sub.msvcrt.dll__strdup
mov r12, rax
mov rcx, rax
mov edx, dword [rcx]
add rcx, 4
lea eax, [rdx - 0x1010101]
andn eax, edx, eax
and eax, 0x80808080
je 0x40df2a
mov edx, eax
mov r9, qword [rbx + 0x128]
shr edx, 0x10
test eax, 0x8080
cmove eax, edx
lea rdx, [rcx + 2]
mov edi, eax
cmove rcx, rdx
add dil, al
sbb rcx, 3
sub rcx, r12
lea rdx, [rcx + 1]
cmp rdx, rsi
jl 0x40e050
mov byte [r9], 0
mov rax, qword [0x006dee40]
cmp byte [rax], 0
jne 0x40e030
mov rax, r12
add rsp, 0xa88
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, [rsp + 0x58]
mov rsi, qword [sym.imp.msvcrt.dll__time64]
call rsi
lea rbp, [rsp + 0x280]
mov rcx, qword [rbx + 0x118]
mov rax, qword [sym.imp.WS2_32.dll_select]
lea r15, [rsp + 0x70]
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x280], 1
mov qword [rsp + 0x70], 0x3c
mov rdx, rbp
mov qword [rsp + 0x20], r15
mov qword [rsp + 0x288], rcx
mov qword [rsp + 0x38], rax
inc ecx
call rax
test eax, eax
jg 0x40e070
lea rdx, str.stratum_recv_line_timed_out
mov ecx, 2
call fcn.0040afb0
jmp 0x40df8b
mov r8, r12
lea rdx, str.___s
mov ecx, 5
call fcn.0040ab60
jmp 0x40df8b
sub rsi, rcx
add rdx, r9
mov rcx, r9
lea r8, [rsi + 1]
call sub.msvcrt.dll_memmove
jmp 0x40df7b
lea rax, [rsp + 0x68]
mov r13, qword [sym.imp.libcurl_4.dll_curl_easy_recv]
lea r14, [rsp + 0x60]
mov qword [rsp + 0x40], rax
jmp 0x40e139
cmp qword [rsp + 0x60], 0
je 0x40e1a7
mov rdi, qword [rbx + 0x128]
mov rcx, rdi
call sub.msvcrt.dll_strlen
mov rdx, rbp
mov r9, rax
mov r8d, dword [rdx]
add rdx, 4
lea eax, [r8 - 0x1010101]
andn eax, r8d, eax
and eax, 0x80808080
je 0x40e0b1
mov ecx, eax
shr ecx, 0x10
test eax, 0x8080
cmove eax, ecx
lea rcx, [rdx + 2]
cmove rdx, rcx
mov ecx, eax
add cl, al
sbb rdx, 3
sub rdx, rbp
lea rdx, [rdx + r9 + 1]
cmp rdx, qword [rbx + 0x120]
jae 0x40e1c0
lea rcx, [rdi + r9]
mov rdx, rbp
call sub.msvcrt.dll_strcpy
xor ecx, ecx
call rsi
sub rax, qword [rsp + 0x58]
cmp rax, 0x3b
jg 0x40e200
mov rdi, qword [rbx + 0x128]
mov edx, 0xa
mov rcx, rdi
call sub.msvcrt.dll_strchr
test rax, rax
jne 0x40def6
xor eax, eax
mov ecx, 0x100
mov rdi, rbp
mov r9, r14
rep stosq qword [rdi], rax
mov r8d, 0x7fc
mov rcx, qword [rbx + 8]
mov rdx, rbp
call r13
test eax, eax
je 0x40e090
cmp eax, 0x51
jne 0x40e1a7
mov rcx, qword [rbx + 0x118]
mov rax, qword [rsp + 0x40]
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x70], 1
mov qword [rsp + 0x68], 1
mov rdx, r15
mov qword [rsp + 0x78], rcx
mov qword [rsp + 0x20], rax
inc ecx
mov rax, qword [rsp + 0x38]
call rax
test eax, eax
jg 0x40e109
lea rdx, str.stratum_recv_line_failed
mov ecx, 2
call fcn.0040afb0
jmp 0x40df8b
and rdx, 0xfffffffffffff800
mov rcx, rdi
mov qword [rsp + 0x48], r9
add rdx, 0x800
mov qword [rbx + 0x120], rdx
call sub.msvcrt.dll_realloc
mov rdi, rax
mov r9, qword [rsp + 0x48]
mov qword [rbx + 0x128], rax
jmp 0x40e0fd
mov rdi, qword [rbx + 0x128]
jmp 0x40def6
lea rdx, str.stratum_recv_line_failed_to_parse_a_newline_terminated_string
mov ecx, 1
call fcn.0040a9d0
jmp 0x40df8b