Function at 0x1401aecb0
Capabilities:
Encode data using xor
Encrypt data using salsa20 or chacha

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
mov rsi, rdx
mov ebx, ecx
cmp byte [reloc.WS2_32.dll_accept], 0
je 0x1401af169
mov rax, qword [0x14043f520]
mov ecx, 5
call qword [str._a_]
mov rdi, rax
test rax, rax
sete bpl
je 0x1401af17c
mov rax, qword [0x14043f530]
mov rcx, rdi
call qword [str._a_]
test ebx, ebx
jle 0x1401af15a
test rsi, rsi
je 0x1401af15a
xor ebp, ebp
cmp dword [0x14044c778], 0
je 0x1401aed86
mov al, byte [0x14044c7f8]
movzx ecx, al
cmp ebx, ecx
ja 0x1401aee3a
sub ecx, ebx
movsxd rax, ecx
lea rcx, [0x14044c778]
lea rdx, [rax + rcx]
add rdx, 0x40
movsxd rbx, ebx
mov rcx, rsi
mov r8, rbx
call fcn.1402b6370
sub byte [0x14044c7f8], bl
test bpl, bpl
jne 0x1401af193
mov rax, qword [0x14043f540]
mov rdx, qword [str._a_]
mov rcx, rdi
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp rdx
cmp byte [reloc.WS2_32.dll_accept], 0
je 0x1401af1a4
mov rax, qword [0x14043f520]
mov ecx, 2
call qword [str._a_]
test rax, rax
je 0x1401af1a4
mov r15, rax
mov rax, qword [0x14043f530]
mov rcx, r15
call qword [str._a_]
mov r14, qword [0x14044c750]
mov rax, qword [0x14043f540]
mov rcx, r15
call qword [str._a_]
movaps xmm0, xmmword [str.expand_32_byte_k]
movups xmmword [0x14044c778], xmm0
test r14, r14
je 0x1401af1b0
mov eax, dword [0x14043f660]
test eax, eax
jne 0x1401af1ca
mov rax, qword [r14 + 0x68]
lea r8, [0x14044c788]
mov rcx, r14
mov edx, Ordinal_46
call qword [str._a_]
mov eax, dword [0x14044c7a8]
mov dword [0x14044c7b4], eax
mov dword [0x14044c7a8], 0
mov byte [0x14044c7f8], 0
xor eax, eax
jmp 0x1401aed26
mov qword [rsp + 0x40], rdi
mov dword [rsp + 0x2c], ebp
test al, al
jne 0x1401af132
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x38], rsi
mov eax, dword [0x14044c7a8]
inc eax
mov dword [0x14044c7a8], eax
mov r9d, dword [0x14044c778]
mov ebx, dword [0x14044c77c]
mov edi, dword [0x14044c780]
mov ebp, dword [0x14044c784]
mov esi, dword [0x14044c788]
mov r14d, dword [0x14044c78c]
mov r13d, dword [0x14044c790]
mov r12d, dword [0x14044c794]
mov r15d, dword [0x14044c798]
mov r10d, dword [0x14044c79c]
mov ecx, dword [0x14044c7a0]
mov dword [rsp + 0x20], ecx
mov ecx, dword [0x14044c7a4]
mov dword [rsp + 0x24], ecx
mov r8d, dword [0x14044c7ac]
mov edx, dword [0x14044c7b0]
mov r11d, 0xa
mov ecx, dword [0x14044c7b4]
mov dword [rsp + 0x30], r11d
add r9d, esi
xor eax, r9d
rol eax, 0x10
add r15d, eax
xor esi, r15d
rol esi, 0xc
add r9d, esi
xor eax, r9d
rol eax, 8
add r15d, eax
xor esi, r15d
rol esi, 7
add ebx, r14d
xor r8d, ebx
rol r8d, 0x10
add r10d, r8d
xor r14d, r10d
rol r14d, 0xc
add ebx, r14d
xor r8d, ebx
rol r8d, 8
add r10d, r8d
mov dword [rsp + 0x34], r10d
xor r14d, r10d
rol r14d, 7
add edi, r13d
xor edx, edi
rol edx, 0x10
mov r11d, dword [rsp + 0x20]
add r11d, edx
xor r13d, r11d
rol r13d, 0xc
add edi, r13d
xor edx, edi
rol edx, 8
add r11d, edx
xor r13d, r11d
rol r13d, 7
add ebp, r12d
xor ecx, ebp
rol ecx, 0x10
mov r10d, dword [rsp + 0x24]
add r10d, ecx
xor r12d, r10d
rol r12d, 0xc
add ebp, r12d
xor ecx, ebp
rol ecx, 8
add r10d, ecx
xor r12d, r10d
rol r12d, 7
add r9d, r14d
xor ecx, r9d
rol ecx, 0x10
add r11d, ecx
xor r14d, r11d
rol r14d, 0xc
add r9d, r14d
xor ecx, r9d
rol ecx, 8
add r11d, ecx
mov dword [rsp + 0x20], r11d
xor r14d, r11d
mov r11d, dword [rsp + 0x30]
rol r14d, 7
add ebx, r13d
xor eax, ebx
rol eax, 0x10
add r10d, eax
xor r13d, r10d
rol r13d, 0xc
add ebx, r13d
xor eax, ebx
rol eax, 8
add r10d, eax
mov dword [rsp + 0x24], r10d
xor r13d, r10d
mov r10d, dword [rsp + 0x34]
rol r13d, 7
add edi, r12d
xor r8d, edi
rol r8d, 0x10
add r15d, r8d
xor r12d, r15d
rol r12d, 0xc
add edi, r12d
xor r8d, edi
rol r8d, 8
add r15d, r8d
xor r12d, r15d
rol r12d, 7
add ebp, esi
xor edx, ebp
rol edx, 0x10
add r10d, edx
xor esi, r10d
rol esi, 0xc
add ebp, esi
xor edx, ebp
rol edx, 8
add r10d, edx
xor esi, r10d
rol esi, 7
dec r11d
jne 0x1401aeed1
add r9d, dword [0x14044c778]
mov dword [0x14044c7b8], r9d
add ebx, dword [0x14044c77c]
mov dword [0x14044c7bc], ebx
add edi, dword [0x14044c780]
mov dword [0x14044c7c0], edi
add ebp, dword [0x14044c784]
mov dword [0x14044c7c4], ebp
add esi, dword [0x14044c788]
mov dword [0x14044c7c8], esi
add r14d, dword [0x14044c78c]
mov dword [0x14044c7cc], r14d
add r13d, dword [0x14044c790]
mov dword [0x14044c7d0], r13d
add r12d, dword [0x14044c794]
mov dword [0x14044c7d4], r12d
add r15d, dword [0x14044c798]
mov dword [0x14044c7d8], r15d
add r10d, dword [0x14044c79c]
mov dword [0x14044c7dc], r10d
mov r9d, dword [rsp + 0x20]
add r9d, dword [0x14044c7a0]
mov dword [0x14044c7e0], r9d
mov r9d, dword [rsp + 0x24]
add r9d, dword [0x14044c7a4]
mov dword [0x14044c7e4], r9d
add eax, dword [0x14044c7a8]
mov dword [0x14044c7e8], eax
add r8d, dword [0x14044c7ac]
mov dword [0x14044c7ec], r8d
add edx, dword [0x14044c7b0]
mov dword [0x14044c7f0], edx
add ecx, dword [0x14044c7b4]
mov dword [0x14044c7f4], ecx
mov byte [0x14044c7f8], 0x40
mov ecx, 0x40
mov al, 0x40
mov ebx, dword [rsp + 0x28]
cmp ebx, 0x40
mov rsi, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x40]
mov ebp, dword [rsp + 0x2c]
jle 0x1401aed31
jmp 0x1401aee43
movzx r8d, al
mov rcx, rsi
lea rdx, [0x14044c7b8]
call fcn.1402b6370
movzx eax, byte [0x14044c7f8]
sub ebx, eax
mov dword [rsp + 0x28], ebx
add rsi, rax
jmp 0x1401aee4f
mov dword [0x14044c778], 0
jmp 0x1401aed62
test ebx, ebx
jle 0x1401af189
test rsi, rsi
je 0x1401af189
xor edi, edi
mov bpl, 1
jmp 0x1401aed17
test ebx, ebx
jle 0x1401af189
test rsi, rsi
jne 0x1401aed17
mov dword [0x14044c778], 0
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov r14, qword [0x14044c750]
jmp 0x1401aedd8
xorps xmm0, xmm0
movups xmmword [0x14044c7a4], xmm0
movups xmmword [0x14044c798], xmm0
movups xmmword [0x14044c788], xmm0
jmp 0x1401af1ec
xorps xmm0, xmm0
movups xmmword [0x14044c79c], xmm0
movups xmmword [0x14044c78c], xmm0
mov qword [0x14044c7ac], 0
mov dword [0x14044c788], eax
xor eax, eax
jmp 0x1401aee1c