Function at 0x40d910
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 r14, qword [rcx + 0x128]
mov rbx, rcx
mov rcx, r14
call sub.msvcrt.dll_strchr
mov r12, rax
test rax, rax
je 0x40d9f8
mov rcx, r14
call sub.msvcrt.dll_strlen
lea rdx, [0x005ac1d0]
mov rcx, r14
mov rsi, rax
call sub.msvcrt.dll_strtok
mov r12, rax
test rax, rax
je 0x40dc50
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 0x40d97a
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 0x40da90
mov byte [r9], 0
mov rax, qword [0x005fd830]
cmp byte [rax], 0
jne 0x40da70
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 rdi, qword [sym.imp.msvcrt.dll__time64]
call rdi
lea r15, [rsp + 0x70]
xor r9d, r9d
xor r8d, r8d
mov rcx, qword [rbx + 0x118]
mov qword [rsp + 0x20], r15
lea rsi, [rsp + 0x280]
mov rax, qword [sym.imp.WS2_32.dll_select]
mov rdx, rsi
mov dword [rsp + 0x280], 1
mov qword [rsp + 0x70], 0x3c
mov qword [rsp + 0x288], rcx
add ecx, 1
mov qword [rsp + 0x38], rax
call rax
test eax, eax
jg 0x40dab0
lea rdx, str.stratum_recv_line_timed_out
mov ecx, 2
call fcn.0040ab40
jmp 0x40d9da
lea rdx, str.___s
mov r8, r12
mov ecx, 5
call fcn.0040a810
jmp 0x40d9da
sub rsi, rcx
add rdx, r9
mov rcx, r9
lea r8, [rsi + 1]
call sub.msvcrt.dll_memmove
jmp 0x40d9ca
lea rax, [rsp + 0x68]
mov rbp, qword [sym.imp.libcurl_4.dll_curl_easy_recv]
lea r13, [rsp + 0x60]
mov qword [rsp + 0x40], rax
jmp 0x40db85
cmp qword [rsp + 0x60], 0
je 0x40dbf6
mov rcx, qword [rbx + 0x128]
mov qword [rsp + 0x48], rcx
call sub.msvcrt.dll_strlen
mov rcx, qword [rsp + 0x48]
mov rdx, rsi
mov r14, rax
mov r8d, dword [rdx]
add rdx, 4
lea eax, [r8 - 0x1010101]
not r8d
and eax, r8d
and eax, 0x80808080
je 0x40daf8
mov r8d, eax
shr r8d, 0x10
test eax, 0x8080
cmove eax, r8d
lea r8, [rdx + 2]
mov r10d, eax
cmove rdx, r8
add r10b, al
sbb rdx, 3
sub rdx, rsi
lea rdx, [rdx + r14 + 1]
cmp rdx, qword [rbx + 0x120]
jae 0x40dc10
add rcx, r14
mov rdx, rsi
call sub.msvcrt.dll_strcpy
xor ecx, ecx
call rdi
sub rax, qword [rsp + 0x58]
cmp rax, 0x3b
jg 0x40dc40
mov r14, qword [rbx + 0x128]
mov edx, 0xa
mov rcx, r14
call sub.msvcrt.dll_strchr
test rax, rax
jne 0x40d946
xor edx, edx
mov r8d, 0x800
mov rcx, rsi
call sub.msvcrt.dll_memset
mov rcx, qword [rbx + 8]
mov r9, r13
mov rdx, rsi
mov r8d, 0x7fc
call rbp
test eax, eax
je 0x40dad0
cmp eax, 0x51
jne 0x40dbf6
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 + 0x68], 1
mov qword [rsp + 0x78], rcx
add ecx, 1
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x38]
call rax
test eax, eax
jg 0x40db55
lea rdx, str.stratum_recv_line_failed
mov ecx, 2
call fcn.0040ab40
jmp 0x40d9da
and rdx, 0xfffffffffffff800
add rdx, 0x800
mov qword [rbx + 0x120], rdx
call sub.msvcrt.dll_realloc
mov rcx, rax
mov qword [rbx + 0x128], rax
jmp 0x40db4a
mov r14, qword [rbx + 0x128]
jmp 0x40d946
lea rdx, str.stratum_recv_line_failed_to_parse_a_newline_terminated_string
mov ecx, 1
call fcn.0040a6b0
jmp 0x40d9da