Function at 0x1401865c0
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Create tcp socket
Get local ipv4 addresses
Get socket information
Send data
Send data on socket
Set socket configuration
Start tcp server

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xc8
movups xmmword [rsp + 0xb0], xmm6
mov r8d, 6
mov edx, 1
or r13d, 0xffffffff
mov rsi, qword [sym.imp.WS2_32.dll_socket]
mov ecx, 2
mov dword [rsp + 0x78], 0x10
mov rbx, r9
call rsi
mov r12, rax
cmp rax, 0xffffffffffffffff
je 0x1401868b2
mov ecx, 0x7f000001
lea rbp, [rsp + 0xa0]
mov qword [rsp + 0x90], 0
lea r13, [rsp + 0x90]
mov qword [rsp + 0x98], 0
mov word [rsp + 0x90], 2
call qword [sym.imp.WS2_32.dll_htonl]
mov qword [rbx + 8], 0xffffffffffffffff
mov r9, rbp
mov edx, 0xffff
mov dword [rsp + 0x94], eax
mov rcx, r12
mov r8d, 0xfffffffb
mov word [rsp + 0x92], 0
mov qword [rbx], 0xffffffffffffffff
mov dword [rsp + 0xa0], 1
mov dword [rsp + 0x20], 4
call qword [sym.imp.WS2_32.dll_setsockopt]
inc eax
je 0x140186896
mov r8d, 0x10
mov rdx, r13
mov rcx, r12
call qword [sym.imp.WS2_32.dll_bind]
inc eax
je 0x140186896
lea r8, [rsp + 0x78]
mov rdx, r13
mov rcx, r12
call qword [sym.imp.WS2_32.dll_getsockname]
inc eax
je 0x140186896
cmp dword [rsp + 0x78], 0xf
jle 0x140186896
mov edx, 1
mov rcx, r12
call qword [sym.imp.WS2_32.dll_listen]
inc eax
je 0x140186896
mov ecx, 2
xor r8d, r8d
mov edx, 1
call rsi
mov qword [rbx], rax
mov rcx, rax
cmp rax, 0xffffffffffffffff
je 0x140186896
mov r8d, 0x10
mov rdx, r13
call qword [sym.imp.WS2_32.dll_connect]
inc eax
je 0x140186896
mov edx, 1
mov rcx, r12
call sym.curlx_nonblock
test eax, eax
js 0x140186896
mov r8d, 0x3e8
mov edx, 1
mov rcx, rbp
mov qword [rsp + 0xa0], r12
mov dword [rsp + 0xa8], 1
call sym.Curl_poll
xor r8d, r8d
xor edx, edx
mov rcx, r12
call qword [sym.imp.WS2_32.dll_accept]
mov qword [rbx + 8], rax
inc rax
je 0x140186896
lea r14, [rsp + 0x60]
lea r13, [rsp + 0x7e]
mov rcx, r14
call sym.Curl_now
xor ecx, ecx
mov r8d, 9
mov rdx, r13
movups xmm6, xmmword [rsp + 0x60]
call sym.Curl_rand
test eax, eax
jne 0x140186896
mov rcx, qword [rbx]
xor r9d, r9d
mov r8d, 9
mov rdx, r13
call qword [sym.imp.WS2_32.dll_send]
mov rax, qword [sym.imp.WS2_32.dll_recv]
mov edi, 9
lea rsi, [rsp + 0x87]
mov r15, rsi
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x48], rax
mov rax, qword [rbx + 8]
mov r8d, 0x3e8
mov edx, 1
mov rcx, rbp
mov dword [rsp + 0xa8], 1
mov qword [rsp + 0xa0], rax
call sym.Curl_poll
xor r9d, r9d
mov rcx, qword [rbx + 8]
mov r8d, edi
mov rax, qword [rsp + 0x40]
mov rdx, rsi
call rax
cmp eax, 0xffffffff
jne 0x140186864
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov rcx, r14
mov dword [rsp + 0x3c], eax
call sym.Curl_now
mov rdx, qword [rsp + 0x48]
mov rcx, r14
movups xmmword [rsp + 0x50], xmm6
call sym.Curl_timediff
cmp rax, 0xea60
jg 0x140186896
cmp dword [rsp + 0x3c], 0x2733
je 0x1401867e9
jmp 0x140186896
cdqe
sub rdi, rax
je 0x140186873
add rsi, rax
jmp 0x1401867e9
mov rcx, r13
mov r8d, 9
mov rdx, r15
call sub.msvcrt.dll_memcmp
mov r13d, eax
test eax, eax
jne 0x140186896
mov rcx, r12
call qword [sym.imp.WS2_32.dll_closesocket]
jmp 0x1401868b2
mov rsi, qword [sym.imp.WS2_32.dll_closesocket]
mov rcx, r12
or r13d, 0xffffffff
call rsi
mov rcx, qword [rbx]
call rsi
mov rcx, qword [rbx + 8]
call rsi
nop
movups xmm6, xmmword [rsp + 0xb0]
mov eax, r13d
add rsp, 0xc8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret