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

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x18
movzx eax, byte [r8 + 2]
mov edi, 0x61707865
movzx r14d, byte [r8 + 3]
mov esi, 0x3320646e
movzx r15d, byte [r8 + 7]
movzx r12d, byte [r8 + 0xb]
movzx ebp, byte [r8 + 0xf]
movzx r9d, byte [rdx + 3]
movzx r10d, byte [rdx + 7]
movzx r11d, byte [rdx + 0xb]
movzx ebx, byte [rdx + 0xf]
shl r14d, 8
or r14d, eax
shl r15d, 8
movzx eax, byte [r8 + 1]
shl r12d, 8
shl ebp, 8
shl r9d, 8
shl r10d, 8
shl r11d, 8
shl r14d, 8
or r14d, eax
shl ebx, 8
movzx eax, byte [r8]
shl r14d, 8
or r14d, eax
mov dword [rsp], edi
movzx eax, byte [r8 + 6]
or r15d, eax
movzx eax, byte [r8 + 5]
shl r15d, 8
or r15d, eax
movzx eax, byte [r8 + 4]
shl r15d, 8
or r15d, eax
movzx eax, byte [r8 + 0xa]
or r12d, eax
movzx eax, byte [r8 + 9]
shl r12d, 8
or r12d, eax
movzx eax, byte [r8 + 8]
shl r12d, 8
or r12d, eax
movzx eax, byte [r8 + 0xe]
or ebp, eax
movzx eax, byte [r8 + 0xd]
shl ebp, 8
or ebp, eax
movzx eax, byte [r8 + 0xc]
shl ebp, 8
or ebp, eax
movzx eax, byte [rdx + 2]
or r9d, eax
movzx eax, byte [rdx + 1]
shl r9d, 8
or r9d, eax
movzx eax, byte [rdx]
shl r9d, 8
or r9d, eax
movzx eax, byte [rdx + 6]
or r10d, eax
movzx eax, byte [rdx + 5]
shl r10d, 8
or r10d, eax
movzx eax, byte [rdx + 4]
shl r10d, 8
or r10d, eax
movzx eax, byte [rdx + 0xa]
or r11d, eax
movzx eax, byte [rdx + 9]
shl r11d, 8
or r11d, eax
movzx eax, byte [rdx + 8]
shl r11d, 8
or r11d, eax
movzx eax, byte [rdx + 0xe]
or ebx, eax
movzx eax, byte [rdx + 0xd]
shl ebx, 8
or ebx, eax
shl ebx, 8
movzx eax, byte [rdx + 0xc]
mov edx, 0x79622d32
movzx r13d, byte [r8 + 0x13]
or ebx, eax
movzx eax, byte [r8 + 0x12]
shl r13d, 8
or r13d, eax
mov qword [rsp + 8], 0xa
movzx eax, byte [r8 + 0x11]
shl r13d, 8
or r13d, eax
movzx eax, byte [r8 + 0x10]
shl r13d, 8
or r13d, eax
movzx eax, byte [r8 + 0x17]
shl eax, 8
mov dword [rsp + 0x70], eax
movzx eax, byte [r8 + 0x16]
or dword [rsp + 0x70], eax
shl dword [rsp + 0x70], 8
movzx eax, byte [r8 + 0x15]
or dword [rsp + 0x70], eax
movzx eax, byte [r8 + 0x14]
shl dword [rsp + 0x70], 8
mov ecx, dword [rsp + 0x70]
or ecx, eax
movzx eax, byte [r8 + 0x1b]
shl eax, 8
mov dword [rsp + 0x78], eax
movzx eax, byte [r8 + 0x1a]
or dword [rsp + 0x78], eax
shl dword [rsp + 0x78], 8
movzx eax, byte [r8 + 0x19]
or dword [rsp + 0x78], eax
movzx eax, byte [r8 + 0x18]
shl dword [rsp + 0x78], 8
or dword [rsp + 0x78], eax
movzx eax, byte [r8 + 0x1f]
shl eax, 8
mov dword [rsp + 0x68], eax
movzx eax, byte [r8 + 0x1e]
or dword [rsp + 0x68], eax
shl dword [rsp + 0x68], 8
movzx eax, byte [r8 + 0x1d]
or dword [rsp + 0x68], eax
movzx eax, byte [r8 + 0x1c]
mov r8d, 0x6b206574
shl dword [rsp + 0x68], 8
or dword [rsp + 0x68], eax
lea eax, [rcx + rdi]
rol eax, 7
xor ebp, eax
lea eax, [rdi + rbp]
rol eax, 9
xor r11d, eax
lea eax, [r11 + rbp]
rol eax, 0xd
xor ecx, eax
lea eax, [rcx + r11]
ror eax, 0xe
xor edi, eax
lea eax, [rsi + r14]
rol eax, 7
xor ebx, eax
lea eax, [rbx + rsi]
rol eax, 9
xor dword [rsp + 0x78], eax
mov eax, dword [rsp + 0x78]
add eax, ebx
rol eax, 0xd
xor r14d, eax
mov eax, dword [rsp + 0x78]
add eax, r14d
ror eax, 0xe
xor esi, eax
lea eax, [rdx + r9]
rol eax, 7
xor dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x68]
add eax, edx
rol eax, 9
xor r15d, eax
mov eax, dword [rsp + 0x68]
add eax, r15d
rol eax, 0xd
xor r9d, eax
lea eax, [r9 + r15]
ror eax, 0xe
xor edx, eax
lea eax, [r8 + r13]
rol eax, 7
xor r12d, eax
lea eax, [r8 + r12]
rol eax, 9
xor r10d, eax
lea eax, [r10 + r12]
rol eax, 0xd
xor r13d, eax
lea eax, [r10 + r13]
ror eax, 0xe
xor r8d, eax
lea eax, [r12 + rdi]
rol eax, 7
xor r14d, eax
lea eax, [r14 + rdi]
rol eax, 9
xor r15d, eax
lea eax, [r15 + r14]
rol eax, 0xd
xor r12d, eax
lea eax, [r12 + r15]
ror eax, 0xe
xor edi, eax
lea eax, [rsi + rbp]
rol eax, 7
xor r9d, eax
lea eax, [r9 + rsi]
rol eax, 9
xor r10d, eax
lea eax, [r10 + r9]
rol eax, 0xd
xor ebp, eax
lea eax, [r10 + rbp]
ror eax, 0xe
xor esi, eax
lea eax, [rdx + rbx]
rol eax, 7
xor r13d, eax
lea eax, [rdx + r13]
rol eax, 9
xor r11d, eax
lea eax, [r11 + r13]
rol eax, 0xd
xor ebx, eax
mov dword [rsp], ebx
lea eax, [rbx + r11]
mov ebx, dword [rsp + 0x68]
ror eax, 0xe
xor edx, eax
mov eax, dword [rsp + 0x68]
add eax, r8d
rol eax, 7
xor ecx, eax
lea eax, [r8 + rcx]
rol eax, 9
xor dword [rsp + 0x78], eax
mov eax, dword [rsp + 0x78]
add eax, ecx
rol eax, 0xd
xor ebx, eax
mov eax, dword [rsp + 0x78]
add eax, ebx
mov dword [rsp + 0x68], ebx
mov ebx, dword [rsp]
ror eax, 0xe
xor r8d, eax
sub qword [rsp + 8], 1
jne 0x1800632f2
mov rcx, qword [rsp + 0x60]
mov byte [rcx], dil
shr edi, 8
mov byte [rcx + 1], dil
shr edi, 8
mov byte [rcx + 2], dil
shr edi, 8
mov byte [rcx + 3], dil
mov byte [rcx + 4], sil
shr esi, 8
mov byte [rcx + 5], sil
shr esi, 8
mov byte [rcx + 6], sil
shr esi, 8
mov byte [rcx + 7], sil
mov byte [rcx + 8], dl
shr edx, 8
mov byte [rcx + 9], dl
shr edx, 8
mov byte [rcx + 0xa], dl
shr edx, 8
mov byte [rcx + 0xb], dl
mov byte [rcx + 0xc], r8b
shr r8d, 8
mov byte [rcx + 0xd], r8b
shr r8d, 8
mov byte [rcx + 0xe], r8b
shr r8d, 8
mov byte [rcx + 0xf], r8b
mov byte [rcx + 0x10], r9b
shr r9d, 8
mov byte [rcx + 0x11], r9b
shr r9d, 8
mov byte [rcx + 0x12], r9b
shr r9d, 8
mov byte [rcx + 0x13], r9b
mov byte [rcx + 0x14], r10b
shr r10d, 8
mov byte [rcx + 0x15], r10b
shr r10d, 8
mov byte [rcx + 0x16], r10b
shr r10d, 8
mov byte [rcx + 0x17], r10b
mov byte [rcx + 0x18], r11b
shr r11d, 8
mov byte [rcx + 0x19], r11b
shr r11d, 8
mov byte [rcx + 0x1a], r11b
shr r11d, 8
mov byte [rcx + 0x1b], r11b
mov byte [rcx + 0x1c], bl
shr ebx, 8
mov byte [rcx + 0x1d], bl
shr ebx, 8
mov byte [rcx + 0x1e], bl
shr ebx, 8
mov byte [rcx + 0x1f], bl
xor eax, eax
add rsp, 0x18
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret