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

Disassembly:
push rbp
mov rdx, rcx
add rdx, 0x208
mov rbp, rsp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
and rsp, 0xfffffffffffffff0
sub rsp, 0xa0
mov rax, qword [rcx + 0x238]
mov qword [rbp + 0x10], rcx
mov qword [rsp + 0x18], rdx
mov rdx, rcx
mov qword [rsp], rax
add rdx, 0x20
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rax
nop dword [rax + rax]
mov rdi, qword [rsp + 0x18]
mov rcx, qword [rsp + 8]
mov dword [rsp + 0x3c], 0xa
mov r12d, 0x6b206574
mov r10d, 0x3320646e
mov r14d, 0x61707865
mov rax, qword [rdi]
mov rdx, qword [rdi + 8]
movdqu xmm1, xmmword [rdi + 0x20]
mov qword [rcx], rax
mov esi, eax
mov rax, qword [rdi + 0x10]
mov qword [rcx + 8], rdx
mov rdx, qword [rdi + 0x18]
mov qword [rcx + 0x10], rax
mov r9d, eax
mov rax, qword [rsp + 0x30]
movaps xmmword [rcx + 0x20], xmm1
mov r13d, dword [rsp + 0x74]
mov ebx, dword [rsp + 0x84]
mov qword [rcx + 0x18], rdx
mov edi, dword [rsp + 0x88]
mov rdx, rax
movq xmm3, rax
shr rdx, 0x20
mov ecx, dword [rsp + 0x90]
mov r8d, dword [rsp + 0x78]
mov dword [rsp + 0x38], eax
movq xmm0, qword [rsp + 0x98]
mov r11d, dword [rsp + 0x7c]
mov dword [rsp + 0x48], edi
mov edi, dword [rsp + 0x8c]
mov qword [rsp + 0x20], rdx
pxor xmm0, xmm3
mov edx, dword [rsp + 0x94]
movaps xmmword [rsp + 0x50], xmm1
mov dword [rsp + 0x44], edi
pshufd xmm4, xmm0, 0xe5
movd eax, xmm0
movd r15d, xmm4
mov edi, 0x79622d32
nop dword [rax]
add r10d, r13d
add r14d, esi
add edi, r8d
xor edx, r10d
xor ecx, r14d
xor eax, edi
rol edx, 0x10
rol ecx, 0x10
add ebx, edx
add r9d, ecx
rol eax, 0x10
xor r13d, ebx
xor esi, r9d
rol r13d, 0xc
rol esi, 0xc
add r10d, r13d
add r14d, esi
xor edx, r10d
xor ecx, r14d
rol edx, 8
rol ecx, 8
add ebx, edx
add r9d, ecx
xor r13d, ebx
mov dword [rsp + 0x4c], ebx
mov ebx, dword [rsp + 0x48]
xor esi, r9d
rol esi, 7
rol r13d, 7
mov dword [rsp + 0x50], r9d
add ebx, eax
mov dword [rsp + 0x40], esi
xor r8d, ebx
rol r8d, 0xc
add edi, r8d
xor eax, edi
rol eax, 8
add r12d, r11d
add r14d, r13d
xor r15d, r12d
add ebx, eax
mov esi, r15d
mov r15d, dword [rsp + 0x44]
xor r8d, ebx
rol esi, 0x10
rol r8d, 7
add r15d, esi
add r10d, r8d
xor r11d, r15d
mov r9d, r15d
xor ecx, r10d
rol r11d, 0xc
rol ecx, 0x10
add r12d, r11d
xor esi, r12d
rol esi, 8
add r9d, esi
xor esi, r14d
rol esi, 0x10
xor r11d, r9d
add r9d, ecx
add ebx, esi
xor r8d, r9d
rol r11d, 7
xor r13d, ebx
rol r13d, 0xc
add r14d, r13d
xor esi, r14d
mov r15d, esi
rol r15d, 8
lea esi, [rbx + r15]
mov ebx, dword [rsp + 0x4c]
xor r13d, esi
mov dword [rsp + 0x48], esi
rol r13d, 7
rol r8d, 0xc
add edi, r11d
add r10d, r8d
xor edx, edi
xor ecx, r10d
rol edx, 0x10
rol ecx, 8
lea esi, [r9 + rcx]
mov r9d, dword [rsp + 0x50]
xor r8d, esi
mov dword [rsp + 0x44], esi
mov esi, dword [rsp + 0x40]
add r9d, edx
rol r8d, 7
add r12d, esi
xor r11d, r9d
xor eax, r12d
rol r11d, 0xc
rol eax, 0x10
add edi, r11d
add ebx, eax
xor edx, edi
xor esi, ebx
rol edx, 8
rol esi, 0xc
add r9d, edx
add r12d, esi
xor r11d, r9d
xor eax, r12d
rol r11d, 7
rol eax, 8
add ebx, eax
xor esi, ebx
rol esi, 7
sub dword [rsp + 0x3c], 1
jne 0x140078d60
mov dword [rsp + 0x50], edi
mov rdi, qword [rbp + 0x10]
add r10d, 0x3320646e
add r14d, 0x61707865
add r12d, 0x6b206574
add qword [rsp + 0x30], 1
add esi, dword [rdi + 0x208]
add ebx, dword [rdi + 0x21c]
add ecx, dword [rdi + 0x228]
add edx, dword [rdi + 0x22c]
mov dword [rsp + 0x4c], esi
mov esi, dword [rsp + 0x48]
add esi, dword [rdi + 0x220]
mov dword [rsp + 0x48], esi
mov esi, dword [rsp + 0x44]
add esi, dword [rdi + 0x224]
add r11d, dword [rdi + 0x214]
mov dword [rsp + 0x44], esi
mov esi, dword [rsp + 0x38]
xor esi, dword [rdi + 0x230]
add r9d, dword [rdi + 0x218]
add esi, eax
mov eax, dword [rsp + 0x20]
xor eax, dword [rdi + 0x234]
add eax, r15d
mov r15, qword [rsp + 0x28]
add r13d, dword [rdi + 0x20c]
add r8d, dword [rdi + 0x210]
mov edi, dword [rsp + 0x50]
mov dword [r15 + 0x20], r10d
mov r10d, dword [rsp + 0x4c]
add edi, 0x79622d32
mov dword [r15], r14d
mov dword [r15 + 0x40], edi
mov rdi, r15
mov dword [r15 + 0x60], r12d
add rdi, 4
mov dword [r15 + 0x80], r10d
mov dword [r15 + 0xa0], r13d
mov dword [r15 + 0xc0], r8d
mov dword [r15 + 0x120], ebx
mov ebx, dword [rsp + 0x48]
mov dword [r15 + 0xe0], r11d
mov dword [r15 + 0x140], ebx
mov ebx, dword [rsp + 0x44]
mov dword [r15 + 0x100], r9d
mov dword [r15 + 0x160], ebx
mov dword [r15 + 0x180], ecx
mov dword [r15 + 0x1a0], edx
mov dword [r15 + 0x1c0], esi
mov dword [r15 + 0x1e0], eax
mov qword [rsp + 0x28], rdi
cmp qword [rsp + 0x10], rdi
jne 0x140078c90
mov rax, qword [rsp]
mov rdx, qword [rbp + 0x10]
mov qword [rdx + 0x200], 0
add rax, 8
mov qword [rdx + 0x238], rax
lea rsp, [rbp - 0x38]
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret