Function at 0x40d890
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 0x40d978
mov rcx, rdi
call sub.msvcrt.dll_strlen
lea rdx, [0x005e6178]
mov rcx, rdi
mov rsi, rax
call sub.msvcrt.dll_strtok
mov r12, rax
test rax, rax
je 0x40dbd0
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]
not edx
and eax, edx
and eax, 0x80808080
je 0x40d8fa
mov edx, eax
mov r9, qword [rbx + 0x128]
shr edx, 0x10
test eax, 0x8080
cmove eax, edx
lea rdx, [rcx + 2]
cmove rcx, rdx
mov edi, eax
add dil, al
sbb rcx, 3
sub rcx, r12
lea rdx, [rcx + 1]
cmp rdx, rsi
jl 0x40da10
mov byte [r9], 0
mov rax, qword [0x0063e6f0]
cmp byte [rax], 0
jne 0x40d9f0
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]
lea r15, [rsp + 0x70]
call rsi
mov rcx, qword [rbx + 0x118]
xor r9d, r9d
xor r8d, r8d
mov rax, qword [sym.imp.WS2_32.dll_select]
mov qword [rsp + 0x20], r15
lea rbp, [rsp + 0x280]
mov qword [rsp + 0x288], rcx
mov rdx, rbp
add ecx, 1
mov dword [rsp + 0x280], 1
mov qword [rsp + 0x70], 0x3c
mov qword [rsp + 0x38], rax
call rax
test eax, eax
jg 0x40da30
lea rdx, str.stratum_recv_line_timed_out
mov ecx, 2
call fcn.0040ac20
jmp 0x40d95a
mov r8, r12
lea rdx, str.___s
mov ecx, 5
call fcn.0040a7e0
jmp 0x40d95a
sub rsi, rcx
add rdx, r9
mov rcx, r9
lea r8, [rsi + 1]
call sub.msvcrt.dll_memmove
jmp 0x40d94a
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 0x40dafa
cmp qword [rsp + 0x60], 0
je 0x40db69
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]
not r8d
and eax, r8d
and eax, 0x80808080
je 0x40da71
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 0x40db80
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 0x40dbc0
mov rdi, qword [rbx + 0x128]
mov edx, 0xa
mov rcx, rdi
call sub.msvcrt.dll_strchr
test rax, rax
jne 0x40d8c6
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 0x40da50
cmp eax, 0x51
jne 0x40db69
mov rcx, qword [rbx + 0x118]
xor r9d, r9d
xor r8d, r8d
mov rdx, r15
mov rax, qword [rsp + 0x40]
mov dword [rsp + 0x70], 1
mov qword [rsp + 0x78], rcx
add ecx, 1
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x68], 1
call rax
test eax, eax
jg 0x40daca
lea rdx, str.stratum_recv_line_failed
mov ecx, 2
call fcn.0040ac20
jmp 0x40d95a
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 r9, qword [rsp + 0x48]
mov qword [rbx + 0x128], rax
mov rdi, rax
jmp 0x40dabe
mov rdi, qword [rbx + 0x128]
jmp 0x40d8c6
lea rdx, str.stratum_recv_line_failed_to_parse_a_newline_terminated_string
mov ecx, 1
call fcn.0040a650
jmp 0x40d95a