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

Disassembly:
mov r11, rsp
mov qword [r11 + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x58
movzx eax, byte [rdx + 2]
movzx ecx, byte [rdx + 3]
mov ebp, 0x61707865
shl ecx, 8
mov r14d, 0x3320646e
mov r15d, 0x79622d32
or ecx, eax
movzx eax, byte [rdx + 1]
mov r12d, 0x6b206574
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx]
shl ecx, 8
or ecx, eax
mov dword [r11 + 0x10], ecx
movzx eax, byte [rdx + 6]
movzx ecx, byte [rdx + 7]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 5]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 4]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0xa]
mov dword [rsp], ecx
movzx ecx, byte [rdx + 0xb]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 9]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 8]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0xe]
mov dword [rsp + 4], ecx
movzx ecx, byte [rdx + 0xf]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0xd]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0xc]
shl ecx, 8
or ecx, eax
mov dword [r11 + 0x20], ecx
movzx eax, byte [rdx + 0x12]
movzx r13d, byte [rdx + 0x13]
movzx ecx, byte [rdx + 0x17]
movzx r9d, byte [rdx + 0x1b]
movzx r10d, byte [rdx + 0x1f]
shl r13d, 8
shl ecx, 8
shl r9d, 8
or r13d, eax
movzx eax, byte [rdx + 0x11]
shl r13d, 8
or r13d, eax
movzx eax, byte [rdx + 0x10]
shl r13d, 8
or r13d, eax
movzx eax, byte [rdx + 0x16]
or ecx, eax
movzx eax, byte [rdx + 0x15]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x14]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x1a]
or r9d, eax
movzx eax, byte [rdx + 0x19]
shl r9d, 8
or r9d, eax
movzx eax, byte [rdx + 0x18]
shl r9d, 8
or r9d, eax
movzx eax, byte [rdx + 0x1e]
shl r10d, 8
or r10d, eax
movzx eax, byte [rdx + 0x1d]
mov qword [rsp + 8], 0xa
shl r10d, 8
or r10d, eax
movzx eax, byte [rdx + 0x1c]
shl r10d, 8
or r10d, eax
mov dword [r11 + 0x18], r10d
movzx eax, byte [r8 + 2]
movzx r11d, byte [r8 + 3]
movzx ebx, byte [r8 + 7]
movzx edi, byte [r8 + 0xb]
movzx esi, byte [r8 + 0xf]
mov edx, dword [rsp + 0xa8]
shl r11d, 8
shl ebx, 8
or r11d, eax
movzx eax, byte [r8 + 1]
shl edi, 8
shl r11d, 8
shl esi, 8
or r11d, eax
movzx eax, byte [r8]
shl r11d, 8
or r11d, eax
movzx eax, byte [r8 + 6]
or ebx, eax
movzx eax, byte [r8 + 5]
shl ebx, 8
or ebx, eax
movzx eax, byte [r8 + 4]
shl ebx, 8
or ebx, eax
movzx eax, byte [r8 + 0xa]
or edi, eax
movzx eax, byte [r8 + 9]
shl edi, 8
or edi, eax
movzx eax, byte [r8 + 8]
shl edi, 8
or edi, eax
movzx eax, byte [r8 + 0xe]
or esi, eax
movzx eax, byte [r8 + 0xd]
shl esi, 8
or esi, eax
movzx eax, byte [r8 + 0xc]
mov r8d, dword [rsp + 4]
shl esi, 8
or esi, eax
nop dword [rax]
nop word [rax + rax]
add r14d, dword [rsp]
add r12d, dword [rsp + 0xb8]
add ebp, edx
xor r11d, ebp
xor esi, r12d
xor ebx, r14d
rol r11d, 0x10
add r15d, r8d
add r13d, r11d
rol esi, 0x10
xor edi, r15d
mov eax, r13d
rol ebx, 0x10
xor eax, edx
add ecx, ebx
rol edi, 0x10
add r9d, edi
rol eax, 0xc
add ebp, eax
xor r11d, ebp
rol r11d, 8
add r13d, r11d
mov r10d, r13d
xor r10d, eax
mov eax, ecx
xor eax, dword [rsp]
rol eax, 0xc
add r14d, eax
xor ebx, r14d
rol r10d, 7
rol ebx, 8
add ecx, ebx
mov edx, ecx
xor edx, eax
mov eax, r9d
xor eax, r8d
rol eax, 0xc
add r15d, eax
xor edi, r15d
rol edx, 7
add ebp, edx
rol edi, 8
add r9d, edi
mov dword [rsp + 0xa8], r9d
mov r8d, r9d
mov r9d, dword [rsp + 0xb0]
add r9d, esi
xor r8d, eax
mov eax, r9d
xor eax, dword [rsp + 0xb8]
rol eax, 0xc
add r12d, eax
xor esi, r12d
rol r8d, 7
add r14d, r8d
xor r11d, r14d
rol esi, 8
add r9d, esi
xor esi, ebp
rol r11d, 0x10
mov dword [rsp + 0xb0], r9d
xor r9d, eax
mov eax, dword [rsp + 0xa8]
rol esi, 0x10
add eax, esi
mov dword [rsp + 0xa8], eax
rol r9d, 7
xor eax, edx
mov edx, dword [rsp + 0xa8]
rol eax, 0xc
add ebp, eax
xor esi, ebp
rol esi, 8
add edx, esi
mov dword [rsp + 0xa8], edx
xor edx, eax
rol edx, 7
mov dword [rsp], edx
mov edx, dword [rsp + 0xb0]
add edx, r11d
mov eax, edx
xor eax, r8d
add r15d, r9d
add r12d, r10d
rol eax, 0xc
xor ebx, r15d
xor edi, r12d
add r14d, eax
xor r11d, r14d
rol ebx, 0x10
add r13d, ebx
rol edi, 0x10
add ecx, edi
rol r11d, 8
add edx, r11d
mov r8d, edx
mov dword [rsp + 0xb0], edx
xor r8d, eax
mov eax, r13d
xor eax, r9d
mov r9d, dword [rsp + 0xa8]
rol eax, 0xc
add r15d, eax
xor ebx, r15d
rol r8d, 7
rol ebx, 8
add r13d, ebx
mov edx, r13d
xor edx, eax
mov eax, ecx
xor eax, r10d
rol edx, 7
mov dword [rsp + 0xb8], edx
rol eax, 0xc
add r12d, eax
xor edi, r12d
rol edi, 8
add ecx, edi
mov edx, ecx
xor edx, eax
rol edx, 7
dec qword [rsp + 8]
jne 0x1801cd8c0
mov rcx, qword [rsp + 0xa0]
movzx eax, bpl
mov dword [rsp + 0x40], r11d
mov byte [rcx], al
mov eax, ebp
mov dword [rsp + 0x44], ebx
shr eax, 8
mov dword [rsp + 0x10], ebp
mov dword [rsp + 0x14], r14d
mov byte [rcx + 1], al
mov eax, ebp
shr ebp, 0x18
shr eax, 0x10
mov dword [rsp + 0x18], r15d
mov dword [rsp + 0x1c], r12d
mov byte [rcx + 2], al
movzx eax, r14b
mov byte [rcx + 0x14], bl
mov byte [rcx + 4], al
mov eax, r14d
mov dword [rsp + 0x48], edi
shr eax, 8
mov dword [rsp + 0x4c], esi
mov byte [rcx + 3], bpl
mov byte [rcx + 5], al
mov eax, r14d
shr r14d, 0x18
shr eax, 0x10
mov byte [rcx + 7], r14b
mov byte [rcx + 6], al
movzx eax, r15b
mov byte [rcx + 8], al
mov eax, r15d
shr eax, 8
mov byte [rcx + 9], al
mov eax, r15d
shr r15d, 0x18
shr eax, 0x10
mov byte [rcx + 0xb], r15b
mov byte [rcx + 0xa], al
movzx eax, r12b
mov byte [rcx + 0xc], al
mov eax, r12d
shr eax, 8
mov byte [rcx + 0xd], al
mov eax, r12d
shr r12d, 0x18
shr eax, 0x10
mov byte [rcx + 0xf], r12b
mov byte [rcx + 0xe], al
movzx eax, r11b
mov byte [rcx + 0x10], al
mov eax, r11d
shr eax, 8
mov byte [rcx + 0x11], al
mov eax, r11d
shr r11d, 0x18
shr eax, 0x10
mov byte [rcx + 0x13], r11b
mov byte [rcx + 0x12], al
movzx eax, bl
mov eax, ebx
shr eax, 8
mov byte [rcx + 0x15], al
mov eax, ebx
shr ebx, 0x18
shr eax, 0x10
mov byte [rcx + 0x17], bl
mov byte [rcx + 0x16], al
movzx eax, dil
mov byte [rcx + 0x18], al
mov eax, edi
shr eax, 8
mov byte [rcx + 0x19], al
mov eax, edi
shr eax, 0x10
shr edi, 0x18
mov byte [rcx + 0x1a], al
movzx eax, sil
mov byte [rcx + 0x1b], dil
mov byte [rcx + 0x1c], al
mov eax, esi
shr eax, 8
mov byte [rcx + 0x1d], al
mov eax, esi
shr eax, 0x10
shr esi, 0x18
mov byte [rcx + 0x1f], sil
mov byte [rcx + 0x1e], al
add rsp, 0x58
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret