Function at 0x140022ec0
Capabilities:
Download and write a file
Receive and write data from server to client
Receive data
Receive data on socket
Send data
Send data on socket
Write file on windows

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
push rdi
sub rsp, 0xb0
movaps xmmword [rax - 0x18], xmm6
movaps xmmword [rax - 0x28], xmm7
movaps xmmword [rax - 0x38], xmm8
mov rax, qword [0x1400af040]
xor rax, rsp
mov qword [rsp + 0x70], rax
movsd xmm1, qword [rcx]
xor esi, esi
mov r8d, dword [0x1400af128]
xorps xmm3, xmm3
ucomisd xmm1, xmm3
mov r9, rcx
mov edi, esi
mov ebx, esi
movsd xmm4, qword [0x1400a1a60]
jp 0x140022f16
je 0x140022f7f
mov edx, dword [0x140112638]
movd xmm2, edx
cvtdq2pd xmm2, xmm2
comisd xmm1, xmm2
jbe 0x140022f43
movaps xmm0, xmm2
lea ecx, [rdx + rdx]
subsd xmm0, xmm1
xorps xmm0, xmm4
cvttsd2si edi, xmm0
lea eax, [rdx + rdi]
cmp eax, ecx
cmovg edi, esi
comisd xmm2, xmm1
jbe 0x140022f59
subsd xmm1, xmm2
cvttsd2si edi, xmm1
lea eax, [rdx + rdi]
test eax, eax
cmovs edi, esi
mov eax, edi
neg eax
cmovs eax, edi
cmp eax, r8d
jge 0x140022f7f
cdq
movd xmm0, edi
idiv r8d
cvtdq2ps xmm0, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm0
cvttss2si edi, xmm1
movsd xmm1, qword [r9 + 8]
ucomisd xmm1, xmm3
jp 0x140022f8d
je 0x140022ff6
mov edx, dword [0x140112650]
movd xmm2, edx
cvtdq2pd xmm2, xmm2
comisd xmm1, xmm2
jbe 0x140022fba
movaps xmm0, xmm2
lea ecx, [rdx + rdx]
subsd xmm0, xmm1
xorps xmm0, xmm4
cvttsd2si ebx, xmm0
lea eax, [rdx + rbx]
cmp eax, ecx
cmovg ebx, esi
comisd xmm2, xmm1
jbe 0x140022fd0
subsd xmm1, xmm2
cvttsd2si ebx, xmm1
lea eax, [rdx + rbx]
test eax, eax
cmovs ebx, esi
mov eax, ebx
neg eax
cmovs eax, ebx
cmp eax, r8d
jge 0x140022ff6
cdq
movd xmm0, ebx
idiv r8d
cvtdq2ps xmm0, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm0
cvttss2si ebx, xmm1
movss xmm8, dword [0x1400a1620]
mov edx, edi
movaps xmm6, xmm8
xorps xmm0, xmm0
divss xmm6, dword [0x1400af120]
movaps xmm2, xmm6
call fcn.1400232b0
xorps xmm7, xmm7
movaps xmm2, xmm6
cvtsd2ss xmm7, xmm0
mov edx, ebx
xorps xmm0, xmm0
call fcn.1400232b0
comiss xmm8, xmm7
movss xmm2, dword [0x1400a1870]
xorps xmm1, xmm1
movss xmm4, dword [0x1400a185c]
movss xmm3, dword [0x1400a15b8]
cvtsd2ss xmm1, xmm0
jbe 0x14002305c
comiss xmm7, xmm3
jbe 0x14002305c
movaps xmm7, xmm8
jmp 0x14002306b
comiss xmm4, xmm7
jbe 0x14002306b
movaps xmm0, xmm2
minss xmm0, xmm7
movaps xmm7, xmm0
comiss xmm8, xmm1
jbe 0x14002307c
comiss xmm1, xmm3
jbe 0x14002307c
movaps xmm1, xmm8
jmp 0x140023088
comiss xmm4, xmm1
jbe 0x140023088
minss xmm2, xmm1
movaps xmm1, xmm2
cmp byte [0x1400af0fd], sil
je 0x1400231a2
mov r8d, 0x3c
mov dword [rsp + 0x28], 1
mov ecx, 0xffffffc4
cvttss2si edx, xmm1
mov r9d, ecx
cvttss2si eax, xmm7
cmp eax, r8d
cmovg eax, r8d
cmp eax, ecx
cmovg r9d, eax
cmp edx, r8d
cmovg edx, r8d
lea r8, str.km.move__d___d___d__r_n
cmp edx, ecx
cmovg ecx, edx
mov edx, 0x18
mov dword [rsp + 0x20], ecx
lea rcx, [rsp + 0x58]
call fcn.1400030f0
test eax, eax
jle 0x14002327c
cmp eax, 0x18
jae 0x14002327c
xorps xmm0, xmm0
lea rax, [rsp + 0x58]
xorps xmm1, xmm1
mov r8, 0xffffffffffffffff
movups xmmword [rsp + 0x30], xmm0
movdqu xmmword [rsp + 0x40], xmm1
inc r8
cmp byte [rax + r8], sil
jne 0x140023114
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x30]
call fcn.14003ee30
cmp qword [rsp + 0x48], 0xf
lea rdx, [rsp + 0x30]
mov r8d, dword [rsp + 0x40]
lea r9, [rsp + 0x50]
cmova rdx, qword [rsp + 0x30]
mov rcx, qword [0x1400bc118]
mov qword [rsp + 0x20], rsi
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rdx, qword [rsp + 0x48]
cmp rdx, 0xf
jbe 0x14002327c
mov rcx, qword [rsp + 0x30]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140023198
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140023198
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14008f6b0
jmp 0x14002327c
mov rcx, qword [0x1400bca10]
test rcx, rcx
je 0x14002327c
movups xmm1, xmmword [0x1400bc190]
mov eax, dword [0x1400af118]
lea rdx, [0x1400bc1c0]
inc dword [0x1400bc1c8]
xor r9d, r9d
mov dword [0x1400bc184], edi
mov dword [0x1400bc188], ebx
movups xmm0, xmmword [0x1400bc180]
mov dword [0x1400bc1c4], eax
lea r8d, [r9 + 0x48]
movaps xmmword [0x1400bc1e0], xmm1
lea rax, [0x1400bca00]
movsd xmm1, qword [0x1400bc1b0]
movaps xmmword [0x1400bc1d0], xmm0
movups xmm0, xmmword [0x1400bc1a0]
mov dword [rsp + 0x28], sendto
mov dword [0x1400bc1cc], 0xaede7346
movaps xmmword [0x1400bc1f0], xmm0
movsd qword [0x1400bc200], xmm1
mov qword [0x1400bc184], rsi
mov qword [rsp + 0x20], rax
call qword [sym.imp.WS2_32.dll_sendto]
mov rcx, qword [0x1400bca10]
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], rax
lea rdx, [0x1400bc5e0]
lea rax, [rsp + 0x58]
mov dword [rsp + 0x50], sendto
xor r9d, r9d
mov qword [rsp + 0x20], rax
mov r8d, 0x400
call qword [sym.imp.WS2_32.dll_recvfrom]
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.14008f690
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
mov rsp, r11
pop rdi
ret