Function at 0x180062954
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, 0x48
movzx eax, byte [r8 + 2]
movzx r9d, byte [r8 + 3]
movzx r10d, byte [r8 + 7]
movzx r11d, byte [r8 + 0xb]
movzx ebx, byte [r8 + 0xf]
movzx edi, byte [rdx + 3]
movzx esi, byte [rdx + 7]
movzx r14d, byte [rdx + 0xb]
movzx r15d, byte [rdx + 0xf]
shl r9d, 8
or r9d, eax
shl r10d, 8
movzx eax, byte [r8 + 1]
shl r11d, 8
shl ebx, 8
shl edi, 8
shl esi, 8
shl r14d, 8
shl r9d, 8
or r9d, eax
shl r15d, 8
movzx eax, byte [r8]
shl r9d, 8
or r9d, eax
movzx eax, byte [r8 + 6]
or r10d, eax
mov dword [rsp + 0xa0], r9d
movzx eax, byte [r8 + 5]
shl r10d, 8
or r10d, eax
movzx eax, byte [r8 + 4]
shl r10d, 8
or r10d, eax
movzx eax, byte [r8 + 0xa]
or r11d, eax
mov dword [rsp + 8], r10d
movzx eax, byte [r8 + 9]
shl r11d, 8
or r11d, eax
movzx eax, byte [r8 + 8]
shl r11d, 8
or r11d, eax
movzx eax, byte [r8 + 0xe]
or ebx, eax
mov dword [rsp + 0xc], r11d
movzx eax, byte [r8 + 0xd]
shl ebx, 8
or ebx, eax
movzx eax, byte [r8 + 0xc]
shl ebx, 8
or ebx, eax
movzx eax, byte [rdx + 2]
or edi, eax
mov dword [rsp + 0x10], ebx
movzx eax, byte [rdx + 1]
shl edi, 8
or edi, eax
movzx eax, byte [rdx]
shl edi, 8
or edi, eax
movzx eax, byte [rdx + 6]
or esi, eax
mov dword [rsp + 0x14], edi
movzx eax, byte [rdx + 5]
shl esi, 8
or esi, eax
movzx eax, byte [rdx + 4]
shl esi, 8
or esi, eax
movzx eax, byte [rdx + 0xa]
or r14d, eax
mov dword [rsp + 0x18], esi
movzx eax, byte [rdx + 9]
shl r14d, 8
or r14d, eax
movzx eax, byte [rdx + 8]
shl r14d, 8
or r14d, eax
movzx eax, byte [rdx + 0xe]
or r15d, eax
mov dword [rsp + 0x1c], r14d
movzx eax, byte [rdx + 0xd]
mov ecx, 0x3320646e
movzx r12d, byte [r8 + 0x17]
movzx ebp, byte [r8 + 0x1b]
movzx r13d, byte [r8 + 0x1f]
shl r12d, 8
shl ebp, 8
shl r15d, 8
or r15d, eax
shl r13d, 8
movzx eax, byte [rdx + 0xc]
movzx edx, byte [r8 + 0x13]
shl edx, 8
shl r15d, 8
or r15d, eax
mov dword [rsp + 0xa8], 0x79622d32
movzx eax, byte [r8 + 0x12]
or edx, eax
mov dword [rsp + 0x20], r15d
movzx eax, byte [r8 + 0x11]
shl edx, 8
or edx, eax
mov dword [rsp + 0x98], 0x6b206574
movzx eax, byte [r8 + 0x10]
shl edx, 8
or edx, eax
mov qword [rsp], 0xa
movzx eax, byte [r8 + 0x16]
or r12d, eax
mov dword [rsp + 0x24], edx
movzx eax, byte [r8 + 0x15]
shl r12d, 8
or r12d, eax
movzx eax, byte [r8 + 0x14]
shl r12d, 8
or r12d, eax
movzx eax, byte [r8 + 0x1a]
or ebp, eax
mov dword [rsp + 0x28], r12d
movzx eax, byte [r8 + 0x19]
shl ebp, 8
or ebp, eax
movzx eax, byte [r8 + 0x18]
shl ebp, 8
or ebp, eax
movzx eax, byte [r8 + 0x1e]
or r13d, eax
mov dword [rsp + 0x2c], ebp
movzx eax, byte [r8 + 0x1d]
shl r13d, 8
or r13d, eax
movzx eax, byte [r8 + 0x1c]
shl r13d, 8
mov r8d, 0x61707865
or r13d, eax
mov dword [rsp + 0x30], r13d
lea eax, [r12 + r8]
rol eax, 7
xor ebx, eax
lea eax, [rbx + r8]
rol eax, 9
xor r14d, eax
lea eax, [r14 + rbx]
rol eax, 0xd
xor r12d, eax
lea eax, [r12 + r14]
ror eax, 0xe
xor r8d, eax
lea eax, [rcx + r9]
rol eax, 7
xor r15d, eax
lea eax, [r15 + rcx]
rol eax, 9
xor ebp, eax
lea eax, [r15 + rbp]
rol eax, 0xd
xor r9d, eax
lea eax, [r9 + rbp]
ror eax, 0xe
xor ecx, eax
mov eax, dword [rsp + 0xa8]
add eax, edi
rol eax, 7
xor r13d, eax
mov eax, dword [rsp + 0xa8]
add eax, r13d
rol eax, 9
xor r10d, eax
lea eax, [r10 + r13]
rol eax, 0xd
xor edi, eax
lea eax, [rdi + r10]
ror eax, 0xe
xor dword [rsp + 0xa8], eax
mov eax, dword [rsp + 0x98]
add eax, edx
rol eax, 7
xor r11d, eax
mov eax, dword [rsp + 0x98]
add eax, r11d
rol eax, 9
xor esi, eax
lea eax, [rsi + r11]
rol eax, 0xd
xor edx, eax
lea eax, [rdx + rsi]
ror eax, 0xe
xor dword [rsp + 0x98], eax
lea eax, [r11 + r8]
rol eax, 7
xor r9d, eax
lea eax, [r9 + r8]
rol eax, 9
xor r10d, eax
lea eax, [r10 + r9]
rol eax, 0xd
xor r11d, eax
lea eax, [r11 + r10]
ror eax, 0xe
xor r8d, eax
lea eax, [rcx + rbx]
rol eax, 7
xor edi, eax
lea eax, [rdi + rcx]
rol eax, 9
xor esi, eax
lea eax, [rsi + rdi]
rol eax, 0xd
xor ebx, eax
lea eax, [rsi + rbx]
ror eax, 0xe
xor ecx, eax
mov eax, dword [rsp + 0xa8]
add eax, r15d
rol eax, 7
xor edx, eax
mov eax, dword [rsp + 0xa8]
add eax, edx
rol eax, 9
xor r14d, eax
lea eax, [rdx + r14]
rol eax, 0xd
xor r15d, eax
lea eax, [r15 + r14]
ror eax, 0xe
xor dword [rsp + 0xa8], eax
mov eax, dword [rsp + 0x98]
add eax, r13d
rol eax, 7
xor r12d, eax
mov eax, dword [rsp + 0x98]
add eax, r12d
rol eax, 9
xor ebp, eax
lea eax, [r12 + rbp]
rol eax, 0xd
xor r13d, eax
mov eax, r13d
add eax, ebp
ror eax, 0xe
xor dword [rsp + 0x98], eax
sub qword [rsp], 1
jne 0x180062b8f
mov dword [rsp], ecx
lea eax, [r8 + 0x61707865]
mov rcx, qword [rsp + 0x90]
mov byte [rcx], al
shr eax, 8
mov byte [rcx + 1], al
shr eax, 8
mov byte [rcx + 2], al
shr eax, 8
mov byte [rcx + 3], al
mov eax, dword [rsp + 0xa0]
add eax, r9d
mov byte [rcx + 4], al
shr eax, 8
mov byte [rcx + 5], al
shr eax, 8
mov byte [rcx + 6], al
shr eax, 8
mov byte [rcx + 7], al
mov eax, dword [rsp + 8]
add eax, r10d
mov byte [rcx + 8], al
shr eax, 8
mov byte [rcx + 9], al
shr eax, 8
mov byte [rcx + 0xa], al
shr eax, 8
mov byte [rcx + 0xb], al
mov eax, dword [rsp + 0xc]
add eax, r11d
mov byte [rcx + 0xc], al
shr eax, 8
mov byte [rcx + 0xd], al
shr eax, 8
mov byte [rcx + 0xe], al
shr eax, 8
mov byte [rcx + 0xf], al
mov eax, dword [rsp + 0x10]
add eax, ebx
mov byte [rcx + 0x10], al
shr eax, 8
mov byte [rcx + 0x11], al
shr eax, 8
mov byte [rcx + 0x12], al
shr eax, 8
mov byte [rcx + 0x13], al
mov eax, dword [rsp]
add eax, 0x3320646e
mov byte [rcx + 0x14], al
shr eax, 8
mov byte [rcx + 0x15], al
shr eax, 8
mov byte [rcx + 0x16], al
shr eax, 8
mov byte [rcx + 0x17], al
mov eax, dword [rsp + 0x14]
add eax, edi
mov byte [rcx + 0x18], al
shr eax, 8
mov byte [rcx + 0x19], al
shr eax, 8
mov byte [rcx + 0x1a], al
shr eax, 8
mov byte [rcx + 0x1b], al
mov eax, dword [rsp + 0x18]
add eax, esi
mov byte [rcx + 0x1c], al
shr eax, 8
mov byte [rcx + 0x1d], al
shr eax, 8
mov byte [rcx + 0x1e], al
shr eax, 8
mov byte [rcx + 0x1f], al
mov eax, dword [rsp + 0x1c]
add eax, r14d
mov byte [rcx + 0x20], al
shr eax, 8
mov byte [rcx + 0x21], al
shr eax, 8
mov byte [rcx + 0x22], al
shr eax, 8
mov byte [rcx + 0x23], al
mov eax, dword [rsp + 0x20]
add eax, r15d
mov byte [rcx + 0x24], al
shr eax, 8
mov byte [rcx + 0x25], al
shr eax, 8
mov byte [rcx + 0x26], al
shr eax, 8
mov byte [rcx + 0x27], al
mov eax, dword [rsp + 0xa8]
add eax, 0x79622d32
mov byte [rcx + 0x28], al
shr eax, 8
mov byte [rcx + 0x29], al
shr eax, 8
mov byte [rcx + 0x2a], al
shr eax, 8
mov byte [rcx + 0x2b], al
mov eax, dword [rsp + 0x24]
add eax, edx
mov byte [rcx + 0x2c], al
shr eax, 8
mov byte [rcx + 0x2d], al
shr eax, 8
mov byte [rcx + 0x2e], al
shr eax, 8
mov byte [rcx + 0x2f], al
mov eax, dword [rsp + 0x28]
add eax, r12d
mov byte [rcx + 0x30], al
shr eax, 8
mov byte [rcx + 0x31], al
shr eax, 8
mov byte [rcx + 0x32], al
shr eax, 8
mov byte [rcx + 0x33], al
mov eax, dword [rsp + 0x2c]
add eax, ebp
mov byte [rcx + 0x34], al
shr eax, 8
mov byte [rcx + 0x35], al
shr eax, 8
mov byte [rcx + 0x36], al
shr eax, 8
mov byte [rcx + 0x37], al
mov eax, dword [rsp + 0x30]
add eax, r13d
mov byte [rcx + 0x38], al
shr eax, 8
mov byte [rcx + 0x39], al
shr eax, 8
mov byte [rcx + 0x3a], al
shr eax, 8
mov byte [rcx + 0x3b], al
mov eax, dword [rsp + 0x98]
add eax, 0x6b206574
mov byte [rcx + 0x3c], al
shr eax, 8
mov byte [rcx + 0x3d], al
shr eax, 8
mov byte [rcx + 0x3e], al
shr eax, 8
mov byte [rcx + 0x3f], al
xor eax, eax
add rsp, 0x48
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret