Function at 0x40dc40
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 0x40dd28
mov rcx, r14
call sub.msvcrt.dll_strlen
lea rdx, [0x006ff1d8]
mov rcx, r14
mov rsi, rax
call sub.msvcrt.dll_strtok
mov r12, rax
test rax, rax
je 0x40df80
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 0x40dcaa
mov edx, eax
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]
mov r9, qword [rbx + 0x128]
cmp rdx, rsi
jl 0x40ddc0
mov byte [r9], 0
mov rax, qword [0x007611c0]
cmp byte [rax], 0
jne 0x40dda0
mov rax, r12
add rsp, 0xa88
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rdi, qword [sym.imp.msvcrt.dll__time64]
lea rcx, [rsp + 0x58]
lea r15, [rsp + 0x70]
call rdi
mov rcx, qword [rbx + 0x118]
mov qword [rsp + 0x70], 0x3c
mov qword [rsp + 0x20], r15
mov rax, qword [sym.imp.WS2_32.dll_select]
lea rsi, [rsp + 0x280]
mov qword [rsp + 0x288], rcx
xor r9d, r9d
inc ecx
xor r8d, r8d
mov rdx, rsi
mov dword [rsp + 0x280], 1
mov qword [rsp + 0x38], rax
call rax
test eax, eax
jg 0x40dde0
lea rdx, str.stratum_recv_line_timed_out
mov ecx, 2
call fcn.0040af60
jmp 0x40dd0b
mov r8, r12
lea rdx, str.___s
mov ecx, 5
call fcn.0040ab20
jmp 0x40dd0b
sub rsi, rcx
add rdx, r9
lea r8, [rsi + 1]
mov rcx, r9
call sub.msvcrt.dll_memmove
jmp 0x40dcfb
lea rax, [rsp + 0x68]
mov qword [rsp + 0x40], rax
mov rbp, qword [sym.imp.libcurl_4.dll_curl_easy_recv]
lea r13, [rsp + 0x60]
jmp 0x40deb4
cmp qword [rsp + 0x60], 0
je 0x40df24
mov rcx, qword [rbx + 0x128]
mov qword [rsp + 0x48], rcx
call sub.msvcrt.dll_strlen
mov rcx, qword [rsp + 0x48]
mov r14, rax
mov rdx, rsi
mov r8d, dword [rdx]
add rdx, 4
lea eax, [r8 - 0x1010101]
andn eax, r8d, eax
and eax, 0x80808080
je 0x40de28
mov r8d, eax
shr r8d, 0x10
test eax, 0x8080
cmove eax, r8d
lea r8, [rdx + 2]
cmove rdx, r8
mov r10d, eax
add r10b, al
sbb rdx, 3
sub rdx, rsi
lea rdx, [rdx + r14 + 1]
cmp rdx, qword [rbx + 0x120]
jae 0x40df40
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 0x40df70
mov r14, qword [rbx + 0x128]
mov edx, 0xa
mov rcx, r14
call sub.msvcrt.dll_strchr
test rax, rax
jne 0x40dc76
xor edx, edx
mov r8d, 0x800
mov rcx, rsi
call sub.msvcrt.dll_memset
mov rcx, qword [rbx + 8]
mov r9, r13
mov r8d, 0x7fc
mov rdx, rsi
call rbp
test eax, eax
je 0x40de00
cmp eax, 0x51
jne 0x40df24
mov rax, qword [rsp + 0x40]
mov rcx, qword [rbx + 0x118]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x68], 1
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x78], rcx
xor r9d, r9d
inc ecx
xor r8d, r8d
mov rdx, r15
mov dword [rsp + 0x70], 1
call rax
test eax, eax
jg 0x40de84
lea rdx, str.stratum_recv_line_failed
mov ecx, 2
call fcn.0040af60
jmp 0x40dd0b
and rdx, 0xfffffffffffff800
add rdx, 0x800
mov qword [rbx + 0x120], rdx
call sub.msvcrt.dll_realloc
mov qword [rbx + 0x128], rax
mov rcx, rax
jmp 0x40de79
mov r14, qword [rbx + 0x128]
jmp 0x40dc76
lea rdx, str.stratum_recv_line_failed_to_parse_a_newline_terminated_string
mov ecx, 1
call fcn.0040a990
jmp 0x40dd0b