Function at 0x14000efa0
Capabilities:
Download and write a file
Get file size
Receive and write data from server to client
Receive data
Receive data on socket
Send data
Send data on socket
Set socket configuration
Write file on windows

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r15
sub rsp, 0x880
mov rbx, rcx
mov rsi, r8
mov rdi, rdx
xor ebp, ebp
lea rcx, [rsp + 0x51]
xor edx, edx
mov r8d, 0x82d
mov dword [rsp + 0x44], reloc.WS2_32.dll_recv
mov dword [rsp + 0x40], ebp
mov byte [rsp + 0x50], bpl
call fcn.1400033f0
mov r15d, 2
lea r8d, [rbp + 0x11]
mov edx, r15d
mov ecx, r15d
call qword [sym.imp.WS2_32.dll_socket]
mov rcx, rax
mov qword [0x140044b90], rax
cmp rax, 0xffffffffffffffff
jne 0x14000f02d
or rcx, rax
call qword [sym.imp.WS2_32.dll_closesocket]
cmp dword [0x140044b24], ebp
je 0x14000f026
call qword [sym.imp.WS2_32.dll_WSACleanup]
mov dword [0x140044b24], ebp
xor eax, eax
jmp 0x14000f1f0
mov qword [rsp + 0x8a0], r14
mov rax, rbx
cmp byte [rbx], bpl
je 0x14000f048
nop dword [rax]
inc rax
cmp byte [rax], bpl
jne 0x14000f040
cmp rax, rbx
jne 0x14000f067
call qword [sym.imp.WS2_32.dll_closesocket]
cmp dword [0x140044b24], ebp
je 0x14000f067
call qword [sym.imp.WS2_32.dll_WSACleanup]
mov dword [0x140044b24], ebp
mov ecx, 0x7b
mov word [0x140044b80], r15w
call qword [sym.imp.WS2_32.dll_htons]
mov rcx, rbx
mov word [0x140044b82], ax
call qword [sym.imp.WS2_32.dll_inet_addr]
mov dword [0x140044b84], eax
mov rax, rdi
cmp byte [rdi], bpl
je 0x14000f0a0
inc rax
cmp byte [rax], bpl
jne 0x14000f098
mov rcx, qword [0x140044b90]
sub eax, edi
lea r14, [0x140044b80]
mov r8d, eax
xor r9d, r9d
mov rdx, rdi
mov dword [rsp + 0x28], reloc.WS2_32.dll_recv
mov qword [rsp + 0x20], r14
call qword [sym.imp.WS2_32.dll_sendto]
mov rcx, qword [0x140044b90]
cmp eax, 0xffffffff
jne 0x14000f0fb
call qword [sym.imp.WS2_32.dll_closesocket]
cmp dword [0x140044b24], ebp
je 0x14000f1e6
call qword [sym.imp.WS2_32.dll_WSACleanup]
mov dword [0x140044b24], ebp
jmp 0x14000f1e6
lea r9, [rsp + 0x8b8]
mov edx, 0xffff
mov r8d, 0x1006
mov dword [rsp + 0x8b8], 0x2710
mov dword [rsp + 0x20], 4
call qword [sym.imp.WS2_32.dll_setsockopt]
xor r9d, r9d
mov qword [rsp + 0x30], rbp
mov edx, 0x40000000
lea r8d, [r9 + 3]
mov rcx, rsi
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], r15d
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rdi, rax
nop
mov rcx, qword [0x140044b90]
lea rax, [rsp + 0x44]
lea rdx, [rsp + 0x50]
mov qword [rsp + 0x28], rax
xor r9d, r9d
mov r8d, 0x1000
mov qword [rsp + 0x20], r14
call qword [sym.imp.WS2_32.dll_recvfrom]
lea r9, [rsp + 0x40]
lea rdx, [rsp + 0x50]
mov rcx, rdi
mov r8d, eax
mov ebx, eax
mov qword [rsp + 0x20], rbp
call qword [sym.imp.KERNEL32.dll_WriteFile]
cmp ebx, 0x1000
je 0x14000f150
xor edx, edx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetFileSize]
test eax, eax
je 0x14000f1d0
cmp eax, 0xa
jb 0x14000f1d0
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [0x140044b90]
call qword [sym.imp.WS2_32.dll_closesocket]
mov eax, 1
jmp 0x14000f1e8
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [0x140044b90]
call qword [sym.imp.WS2_32.dll_closesocket]
xor eax, eax
mov r14, qword [rsp + 0x8a0]
lea r11, [rsp + 0x880]
mov rbx, qword [r11 + 0x28]
mov rbp, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop rdi
pop rsi
ret