Function at 0x180175f60
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, 0x28
mov rbx, rdx
test r9, r9
jne 0x180175f99
mov ecx, 0x6b206574
mov r15d, 0x61707865
mov r12d, 0x3320646e
mov r13d, 0x79622d32
jmp 0x180176036
movzx eax, byte [r9 + 2]
movzx r15d, byte [r9 + 3]
movzx r12d, byte [r9 + 7]
movzx r13d, byte [r9 + 0xb]
movzx ecx, byte [r9 + 0xf]
shl r15d, 8
or r15d, eax
shl r12d, 8
movzx eax, byte [r9 + 1]
shl r13d, 8
shl ecx, 8
shl r15d, 8
or r15d, eax
movzx eax, byte [r9]
shl r15d, 8
or r15d, eax
movzx eax, byte [r9 + 6]
or r12d, eax
movzx eax, byte [r9 + 5]
shl r12d, 8
or r12d, eax
movzx eax, byte [r9 + 4]
shl r12d, 8
or r12d, eax
movzx eax, byte [r9 + 0xa]
or r13d, eax
movzx eax, byte [r9 + 9]
shl r13d, 8
or r13d, eax
movzx eax, byte [r9 + 8]
shl r13d, 8
or r13d, eax
movzx eax, byte [r9 + 0xe]
or ecx, eax
movzx eax, byte [r9 + 0xd]
shl ecx, 8
or ecx, eax
movzx eax, byte [r9 + 0xc]
shl ecx, 8
or ecx, eax
movzx eax, byte [r8 + 2]
movzx r14d, byte [r8 + 3]
movzx edx, byte [r8 + 7]
movzx esi, byte [r8 + 0x13]
movzx edi, byte [r8 + 0x17]
movzx ebp, byte [r8 + 0x1f]
shl edx, 8
shl r14d, 8
or r14d, eax
shl esi, 8
movzx eax, byte [r8 + 1]
shl edi, 8
shl r14d, 8
or r14d, eax
shl ebp, 8
movzx eax, byte [r8]
shl r14d, 8
or r14d, eax
movzx eax, byte [r8 + 6]
or edx, eax
movzx eax, byte [r8 + 5]
shl edx, 8
or edx, eax
movzx eax, byte [r8 + 4]
shl edx, 8
or edx, eax
movzx eax, byte [r8 + 0xa]
mov dword [rsp], edx
movzx edx, byte [r8 + 0xb]
shl edx, 8
or edx, eax
movzx eax, byte [r8 + 9]
shl edx, 8
or edx, eax
movzx eax, byte [r8 + 8]
shl edx, 8
or edx, eax
movzx eax, byte [r8 + 0xe]
mov dword [rsp + 4], edx
movzx edx, byte [r8 + 0xf]
shl edx, 8
or edx, eax
movzx eax, byte [r8 + 0xd]
shl edx, 8
or edx, eax
movzx eax, byte [r8 + 0xc]
shl edx, 8
or edx, eax
movzx eax, byte [r8 + 0x12]
or esi, eax
mov dword [rsp + 8], edx
movzx eax, byte [r8 + 0x11]
movzx edx, byte [r8 + 0x1b]
shl edx, 8
shl esi, 8
or esi, eax
movzx eax, byte [r8 + 0x10]
shl esi, 8
or esi, eax
movzx eax, byte [r8 + 0x16]
or edi, eax
movzx eax, byte [r8 + 0x15]
shl edi, 8
or edi, eax
movzx eax, byte [r8 + 0x14]
shl edi, 8
or edi, eax
movzx eax, byte [r8 + 0x1a]
or edx, eax
movzx eax, byte [r8 + 0x19]
shl edx, 8
or edx, eax
movzx eax, byte [r8 + 0x18]
shl edx, 8
or edx, eax
movzx eax, byte [r8 + 0x1e]
or ebp, eax
mov dword [rsp + 0x78], edx
movzx eax, byte [r8 + 0x1d]
shl ebp, 8
or ebp, eax
movzx eax, byte [r8 + 0x1c]
movzx r9d, byte [rbx + 3]
movzx r10d, byte [rbx + 7]
movzx r11d, byte [rbx + 0xb]
movzx edx, byte [rbx + 0xf]
shl r9d, 8
shl r10d, 8
shl r11d, 8
shl edx, 8
shl ebp, 8
or ebp, eax
mov qword [rsp + 0x18], 0xa
movzx eax, byte [rbx + 2]
or r9d, eax
mov dword [rsp + 0x80], ebp
movzx eax, byte [rbx + 1]
shl r9d, 8
or r9d, eax
movzx eax, byte [rbx]
shl r9d, 8
or r9d, eax
movzx eax, byte [rbx + 6]
or r10d, eax
movzx eax, byte [rbx + 5]
shl r10d, 8
or r10d, eax
movzx eax, byte [rbx + 4]
shl r10d, 8
or r10d, eax
movzx eax, byte [rbx + 0xa]
or r11d, eax
movzx eax, byte [rbx + 9]
shl r11d, 8
or r11d, eax
movzx eax, byte [rbx + 8]
shl r11d, 8
or r11d, eax
movzx eax, byte [rbx + 0xe]
or edx, eax
movzx eax, byte [rbx + 0xd]
shl edx, 8
or edx, eax
movzx eax, byte [rbx + 0xc]
shl edx, 8
or edx, eax
mov dword [rsp + 0x88], edx
nop dword [rax]
add r12d, dword [rsp]
add r15d, r14d
add r13d, dword [rsp + 4]
xor r9d, r15d
mov r8d, r9d
xor r11d, r13d
shr r8d, 0x10
xor r10d, r12d
shl r9d, 0x10
or r8d, r9d
mov r9d, dword [rsp + 0x78]
add esi, r8d
mov eax, esi
xor eax, r14d
mov edx, eax
shl eax, 0xc
shr edx, 0x14
or edx, eax
add r15d, edx
xor r8d, r15d
mov ebp, r8d
shl r8d, 8
shr ebp, 0x18
or ebp, r8d
mov r8d, r10d
shr r8d, 0x10
add esi, ebp
mov eax, esi
mov dword [rsp + 0xc], esi
xor eax, edx
shl r10d, 0x10
mov r14d, eax
or r8d, r10d
shl eax, 7
add edi, r8d
shr r14d, 0x19
or r14d, eax
mov eax, edi
xor eax, dword [rsp]
mov edx, eax
shl eax, 0xc
shr edx, 0x14
or edx, eax
add r12d, edx
xor r8d, r12d
mov esi, r8d
shl r8d, 8
shr esi, 0x18
or esi, r8d
mov r8d, r11d
add edi, esi
shr r8d, 0x10
mov eax, edi
shl r11d, 0x10
xor eax, edx
mov dword [rsp + 0x10], edi
mov ebx, eax
or r8d, r11d
shl eax, 7
add r9d, r8d
shr ebx, 0x19
or ebx, eax
mov eax, r9d
xor eax, dword [rsp + 4]
mov edx, eax
shl eax, 0xc
shr edx, 0x14
or edx, eax
add r13d, edx
xor r8d, r13d
mov edi, r8d
shl r8d, 8
shr edi, 0x18
or edi, r8d
add r9d, edi
mov eax, r9d
mov dword [rsp + 0x78], r9d
xor eax, edx
mov r11d, eax
shr r11d, 0x19
shl eax, 7
add ecx, dword [rsp + 8]
or r11d, eax
mov r10d, dword [rsp + 0x80]
add r15d, ebx
mov eax, dword [rsp + 0x88]
add r12d, r11d
xor eax, ecx
xor ebp, r12d
mov r8d, eax
shl eax, 0x10
shr r8d, 0x10
or r8d, eax
add r10d, r8d
mov eax, r10d
xor eax, dword [rsp + 8]
mov edx, eax
shl eax, 0xc
shr edx, 0x14
or edx, eax
add ecx, edx
xor r8d, ecx
mov r9d, r8d
shl r8d, 8
shr r9d, 0x18
or r9d, r8d
add r10d, r9d
xor r9d, r15d
mov r8d, r9d
mov dword [rsp + 0x80], r10d
shr r8d, 0x10
mov eax, r10d
xor eax, edx
shl r9d, 0x10
or r8d, r9d
mov r10d, eax
mov r9d, dword [rsp + 0x78]
add r9d, r8d
shl eax, 7
shr r10d, 0x19
or r10d, eax
mov eax, r9d
xor eax, ebx
mov edx, eax
shl eax, 0xc
shr edx, 0x14
or edx, eax
add r15d, edx
xor r8d, r15d
mov ebx, r8d
shl r8d, 8
shr ebx, 0x18
or ebx, r8d
mov r8d, ebp
add r9d, ebx
shl ebp, 0x10
mov eax, r9d
shr r8d, 0x10
xor eax, edx
mov dword [rsp + 0x78], r9d
or r8d, ebp
ror eax, 0x19
mov ebp, dword [rsp + 0x80]
add ebp, r8d
mov dword [rsp], eax
mov eax, ebp
mov dword [rsp + 0x88], ebx
xor eax, r11d
mov edx, eax
shl eax, 0xc
shr edx, 0x14
or edx, eax
add r12d, edx
xor r8d, r12d
mov r9d, r8d
shl r8d, 8
shr r9d, 0x18
or r9d, r8d
add ebp, r9d
mov eax, ebp
mov dword [rsp + 0x80], ebp
xor eax, edx
ror eax, 0x19
add r13d, r10d
mov dword [rsp + 4], eax
xor esi, r13d
add ecx, r14d
mov r8d, esi
shr r8d, 0x10
xor edi, ecx
shl esi, 0x10
or r8d, esi
mov esi, dword [rsp + 0xc]
add esi, r8d
mov eax, esi
xor eax, r10d
mov edx, eax
shl eax, 0xc
shr edx, 0x14
or edx, eax
add r13d, edx
xor r8d, r13d
mov r10d, r8d
shl r8d, 8
shr r10d, 0x18
or r10d, r8d
mov r8d, edi
shl edi, 0x10
add esi, r10d
shr r8d, 0x10
mov eax, esi
xor eax, edx
or r8d, edi
mov edi, dword [rsp + 0x10]
ror eax, 0x19
add edi, r8d
mov dword [rsp + 8], eax
mov eax, edi
xor eax, r14d
mov edx, eax
shl eax, 0xc
shr edx, 0x14
or edx, eax
add ecx, edx
xor r8d, ecx
mov r11d, r8d
shl r8d, 8
shr r11d, 0x18
or r11d, r8d
add edi, r11d
mov r14d, edi
xor r14d, edx
ror r14d, 0x19
sub qword [rsp + 0x18], 1
jne 0x180176210
mov dword [rsp + 0x78], ecx
mov rcx, qword [rsp + 0x70]
mov eax, dword [rsp + 0x78]
mov byte [rcx + 0xc], al
shr eax, 8
mov byte [rcx], r15b
shr r15d, 8
mov byte [rcx + 4], r12b
shr r12d, 8
mov byte [rcx + 8], r13b
shr r13d, 8
mov byte [rcx + 0x10], r9b
shr r9d, 8
mov byte [rcx + 0x14], r10b
shr r10d, 8
mov byte [rcx + 0x18], r11b
shr r11d, 8
mov byte [rcx + 0x1c], bl
shr ebx, 8
mov byte [rcx + 0xd], al
shr eax, 8
mov byte [rcx + 1], r15b
shr r15d, 8
mov byte [rcx + 5], r12b
shr r12d, 8
mov byte [rcx + 9], r13b
shr r13d, 8
mov byte [rcx + 0x11], r9b
shr r9d, 8
mov byte [rcx + 0x15], r10b
shr r10d, 8
mov byte [rcx + 0x19], r11b
shr r11d, 8
mov byte [rcx + 0x1d], bl
shr ebx, 8
mov byte [rcx + 0xe], al
shr eax, 8
mov byte [rcx + 2], r15b
shr r15d, 8
mov byte [rcx + 6], r12b
shr r12d, 8
mov byte [rcx + 0xa], r13b
shr r13d, 8
mov byte [rcx + 0x12], r9b
shr r9d, 8
mov byte [rcx + 0x16], r10b
shr r10d, 8
mov byte [rcx + 0x1a], r11b
shr r11d, 8
mov byte [rcx + 0x1e], bl
shr ebx, 8
mov byte [rcx + 0xf], al
xor eax, eax
mov byte [rcx + 3], r15b
mov byte [rcx + 7], r12b
mov byte [rcx + 0xb], r13b
mov byte [rcx + 0x13], r9b
mov byte [rcx + 0x17], r10b
mov byte [rcx + 0x1b], r11b
mov byte [rcx + 0x1f], bl
add rsp, 0x28
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret