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

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x38
test r9, r9
jne 0x180008912
mov ebx, 0x3320646e
mov edi, 0x79622d32
mov r11d, 0x61707865
mov r9d, 0x6b206574
jmp 0x180008921
mov r11d, dword [r9]
mov ebx, dword [r9 + 4]
mov edi, dword [r9 + 8]
mov r9d, dword [r9 + 0xc]
mov eax, dword [r8 + 0x10]
mov ecx, dword [r8 + 0x18]
mov r13d, dword [r8]
mov r14d, dword [r8 + 4]
mov r15d, dword [r8 + 8]
mov r10d, dword [r8 + 0xc]
mov esi, dword [rdx + 4]
mov ebp, dword [rdx + 8]
mov r12d, dword [rdx + 0xc]
mov dword [rsp + 0x88], eax
mov eax, dword [r8 + 0x14]
mov dword [rsp + 0x98], ecx
mov ecx, dword [r8 + 0x1c]
mov r8d, dword [rdx]
mov qword [rsp + 0x28], 0xa
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x90], ecx
nop
lea ecx, [rax + r11]
mov edx, 7
call fcn.180009540
mov edx, 9
xor r10d, eax
lea ecx, [r10 + r11]
call fcn.180009540
mov edx, 0xd
xor ebp, eax
lea ecx, [rbp + r10]
call fcn.180009540
mov ecx, dword [rsp + 0x20]
mov edx, 0x12
xor ecx, eax
mov dword [rsp + 0x20], ecx
add ecx, ebp
call fcn.180009540
lea ecx, [r13 + rbx]
mov edx, 7
xor r11d, eax
call fcn.180009540
mov edx, 9
xor r12d, eax
lea ecx, [r12 + rbx]
call fcn.180009540
mov ecx, dword [rsp + 0x98]
mov edx, 0xd
xor ecx, eax
mov dword [rsp + 0x98], ecx
add ecx, r12d
call fcn.180009540
mov ecx, dword [rsp + 0x98]
mov edx, 0x12
xor r13d, eax
add ecx, r13d
call fcn.180009540
lea ecx, [r8 + rdi]
mov edx, 7
xor ebx, eax
call fcn.180009540
mov ecx, dword [rsp + 0x90]
xor ecx, eax
mov edx, 9
mov dword [rsp + 0x90], ecx
add ecx, edi
call fcn.180009540
mov ecx, dword [rsp + 0x90]
mov edx, 0xd
xor r14d, eax
add ecx, r14d
call fcn.180009540
mov edx, 0x12
xor r8d, eax
lea ecx, [r8 + r14]
call fcn.180009540
mov ecx, dword [rsp + 0x88]
mov edx, 7
add ecx, r9d
xor edi, eax
call fcn.180009540
mov edx, 9
xor r15d, eax
lea ecx, [r15 + r9]
call fcn.180009540
mov edx, 0xd
xor esi, eax
lea ecx, [rsi + r15]
call fcn.180009540
mov ecx, dword [rsp + 0x88]
mov edx, 0x12
xor ecx, eax
mov dword [rsp + 0x88], ecx
add ecx, esi
call fcn.180009540
lea ecx, [r15 + r11]
mov edx, 7
xor r9d, eax
call fcn.180009540
mov edx, 9
xor r13d, eax
lea ecx, [r13 + r11]
call fcn.180009540
mov edx, 0xd
xor r14d, eax
lea ecx, [r14 + r13]
call fcn.180009540
mov edx, 0x12
xor r15d, eax
lea ecx, [r15 + r14]
call fcn.180009540
lea ecx, [r10 + rbx]
mov edx, 7
xor r11d, eax
call fcn.180009540
mov edx, 9
xor r8d, eax
lea ecx, [r8 + rbx]
call fcn.180009540
mov edx, 0xd
xor esi, eax
lea ecx, [rsi + r8]
call fcn.180009540
mov edx, 0x12
xor r10d, eax
lea ecx, [rsi + r10]
call fcn.180009540
lea ecx, [r12 + rdi]
mov edx, 7
xor ebx, eax
call fcn.180009540
mov ecx, dword [rsp + 0x88]
xor ecx, eax
mov edx, 9
mov dword [rsp + 0x88], ecx
add ecx, edi
call fcn.180009540
mov edx, 0xd
xor ebp, eax
mov eax, dword [rsp + 0x88]
lea ecx, [rbp + rax]
call fcn.180009540
mov edx, 0x12
xor r12d, eax
lea ecx, [r12 + rbp]
call fcn.180009540
mov ecx, dword [rsp + 0x90]
mov edx, 7
add ecx, r9d
xor edi, eax
call fcn.180009540
mov ecx, dword [rsp + 0x20]
mov edx, 9
xor ecx, eax
mov dword [rsp + 0x20], ecx
add ecx, r9d
call fcn.180009540
mov ecx, dword [rsp + 0x98]
mov edx, 0xd
xor ecx, eax
mov dword [rsp + 0x98], ecx
add ecx, dword [rsp + 0x20]
call fcn.180009540
mov edx, dword [rsp + 0x90]
mov ecx, dword [rsp + 0x98]
xor edx, eax
add ecx, edx
mov dword [rsp + 0x90], edx
mov edx, 0x12
call fcn.180009540
xor r9d, eax
dec qword [rsp + 0x28]
mov eax, dword [rsp + 0x20]
jne 0x180008970
mov r10, qword [rsp + 0x80]
xor eax, eax
mov dword [r10], r11d
mov dword [r10 + 4], ebx
mov dword [r10 + 8], edi
mov dword [r10 + 0xc], r9d
mov dword [r10 + 0x10], r8d
mov dword [r10 + 0x14], esi
mov dword [r10 + 0x18], ebp
mov dword [r10 + 0x1c], r12d
add rsp, 0x38
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret