Function at 0x40dc00
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 0x40dce8
mov rcx, rdi
call sub.msvcrt.dll_strlen
lea rdx, [0x006871d8]
mov rcx, rdi
mov rsi, rax
call sub.msvcrt.dll_strtok
mov r12, rax
test rax, rax
je 0x40df40
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 0x40dc6a
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 0x40dd80
mov byte [r9], 0
mov rax, qword [0x006e3a60]
cmp byte [rax], 0
jne 0x40dd60
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 0x40dda0
lea rdx, str.stratum_recv_line_timed_out
mov ecx, 2
call fcn.0040ae30
jmp 0x40dcca
mov r8, r12
lea rdx, str.___s
mov ecx, 5
call fcn.0040a9f0
jmp 0x40dcca
sub rsi, rcx
add rdx, r9
mov rcx, r9
lea r8, [rsi + 1]
call sub.msvcrt.dll_memmove
jmp 0x40dcba
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 0x40de6a
cmp qword [rsp + 0x60], 0
je 0x40ded9
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 0x40dde1
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 0x40def0
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 0x40df30
mov rdi, qword [rbx + 0x128]
mov edx, 0xa
mov rcx, rdi
call sub.msvcrt.dll_strchr
test rax, rax
jne 0x40dc36
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 0x40ddc0
cmp eax, 0x51
jne 0x40ded9
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 0x40de3a
lea rdx, str.stratum_recv_line_failed
mov ecx, 2
call fcn.0040ae30
jmp 0x40dcca
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 0x40de2e
mov rdi, qword [rbx + 0x128]
jmp 0x40dc36
lea rdx, str.stratum_recv_line_failed_to_parse_a_newline_terminated_string
mov ecx, 1
call fcn.0040a860
jmp 0x40dcca