Function at 0x1400019f0
Capabilities:
Encode data using xor
Encrypt data using camellia

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r12
push r14
push r15
movzx ebp, byte [rdx]
lea r12, [0x140004270]
movzx r14d, byte [rdx + 4]
lea rbx, [r8 + 0x10]
movzx edi, byte [rdx + 8]
movzx esi, byte [rdx + 0xc]
shl ebp, 8
shl r14d, 8
shl edi, 8
shl esi, 8
shl ecx, 4
movsxd rax, ecx
lea r15, [r8 + rax*4]
movzx eax, byte [rdx + 1]
xor ebp, eax
movzx eax, byte [rdx + 2]
shl ebp, 8
xor ebp, eax
movzx eax, byte [rdx + 3]
shl ebp, 8
xor ebp, eax
movzx eax, byte [rdx + 5]
xor ebp, dword [r8]
xor r14d, eax
movzx eax, byte [rdx + 6]
shl r14d, 8
xor r14d, eax
movzx eax, byte [rdx + 7]
shl r14d, 8
xor r14d, eax
movzx eax, byte [rdx + 9]
xor r14d, dword [r8 + 4]
xor edi, eax
movzx eax, byte [rdx + 0xa]
shl edi, 8
xor edi, eax
movzx eax, byte [rdx + 0xb]
shl edi, 8
xor edi, eax
movzx eax, byte [rdx + 0xd]
xor edi, dword [r8 + 8]
xor esi, eax
movzx eax, byte [rdx + 0xe]
shl esi, 8
xor esi, eax
movzx eax, byte [rdx + 0xf]
shl esi, 8
xor esi, eax
xor esi, dword [r8 + 0xc]
mov r8d, dword [rbx]
xor r8, rbp
mov rax, r8
shr rax, 0x10
movzx edx, al
mov rax, r8
shr rax, 8
movzx ecx, al
mov rax, r8
shr rax, 0x18
mov r11d, dword [r12 + rdx*4 + 0x800]
xor r11d, dword [r12 + rcx*4 + 0xc00]
xor r11d, dword [r12 + rax*4]
movzx eax, r8b
mov r8d, dword [rbx + 4]
xor r8, r14
xor r11d, dword [r12 + rax*4 + 0x400]
mov rax, r8
shr rax, 0x10
movzx edx, al
mov rax, r8
shr rax, 8
movzx ecx, al
mov rax, r8
shr rax, 0x18
mov r10d, dword [r12 + rdx*4 + 0xc00]
xor r10d, dword [r12 + rcx*4 + 0x400]
xor r10d, dword [r12 + rax*4 + 0x800]
movzx eax, r8b
xor r10d, dword [r12 + rax*4]
xor r10d, r11d
xor edi, r10d
mov r8d, dword [rbx + 8]
mov eax, r11d
shl eax, 0x18
shr r11d, 8
add eax, r11d
mov ecx, edi
xor eax, r10d
xor r8, rcx
xor esi, eax
mov rax, r8
shr rax, 0x10
movzx edx, al
mov rax, r8
shr rax, 8
movzx ecx, al
mov rax, r8
shr rax, 0x18
mov r11d, dword [r12 + rdx*4 + 0x800]
mov r10d, esi
xor r11d, dword [r12 + rcx*4 + 0xc00]
xor r11d, dword [r12 + rax*4]
movzx eax, r8b
mov r8d, dword [rbx + 0xc]
xor r8, r10
xor r11d, dword [r12 + rax*4 + 0x400]
mov rax, r8
shr rax, 0x10
movzx edx, al
mov rax, r8
shr rax, 8
movzx ecx, al
mov rax, r8
shr rax, 0x18
mov r10d, dword [r12 + rdx*4 + 0xc00]
xor r10d, dword [r12 + rcx*4 + 0x400]
xor r10d, dword [r12 + rax*4 + 0x800]
movzx eax, r8b
mov r8d, dword [rbx + 0x10]
xor r10d, dword [r12 + rax*4]
mov eax, r11d
shl eax, 0x18
xor r10d, r11d
xor ebp, r10d
shr r11d, 8
add eax, r11d
mov ecx, ebp
xor eax, r10d
xor r8, rcx
xor r14d, eax
mov rax, r8
shr rax, 0x10
movzx edx, al
mov rax, r8
shr rax, 8
movzx ecx, al
mov rax, r8
shr rax, 0x18
mov r11d, dword [r12 + rdx*4 + 0x800]
mov r10d, r14d
xor r11d, dword [r12 + rcx*4 + 0xc00]
xor r11d, dword [r12 + rax*4]
movzx eax, r8b
mov r8d, dword [rbx + 0x14]
xor r8, r10
xor r11d, dword [r12 + rax*4 + 0x400]
mov rax, r8
shr rax, 0x10
movzx edx, al
mov rax, r8
shr rax, 8
movzx ecx, al
mov rax, r8
shr rax, 0x18
mov r10d, dword [r12 + rdx*4 + 0xc00]
xor r10d, dword [r12 + rcx*4 + 0x400]
xor r10d, dword [r12 + rax*4 + 0x800]
movzx eax, r8b
xor r10d, dword [r12 + rax*4]
xor r10d, r11d
xor edi, r10d
mov ecx, edi
mov r8d, dword [rbx + 0x18]
mov eax, r11d
shl eax, 0x18
xor r8, rcx
shr r11d, 8
add eax, r11d
xor eax, r10d
xor esi, eax
mov rax, r8
shr rax, 0x10
movzx edx, al
mov rax, r8
shr rax, 8
movzx ecx, al
mov rax, r8
shr rax, 0x18
mov r11d, dword [r12 + rdx*4 + 0x800]
mov r10d, esi
xor r11d, dword [r12 + rcx*4 + 0xc00]
xor r11d, dword [r12 + rax*4]
movzx eax, r8b
mov r8d, dword [rbx + 0x1c]
xor r8, r10
xor r11d, dword [r12 + rax*4 + 0x400]
mov rax, r8
shr rax, 0x10
movzx edx, al
mov rax, r8
shr rax, 8
movzx ecx, al
mov rax, r8
shr rax, 0x18
mov r10d, dword [r12 + rdx*4 + 0xc00]
xor r10d, dword [r12 + rcx*4 + 0x400]
xor r10d, dword [r12 + rax*4 + 0x800]
movzx eax, r8b
mov r8d, dword [rbx + 0x20]
xor r10d, dword [r12 + rax*4]
mov eax, r11d
shl eax, 0x18
xor r10d, r11d
xor ebp, r10d
shr r11d, 8
add eax, r11d
mov ecx, ebp
xor eax, r10d
xor r8, rcx
xor r14d, eax
mov rax, r8
shr rax, 0x10
movzx edx, al
mov rax, r8
shr rax, 8
movzx ecx, al
mov rax, r8
shr rax, 0x18
mov r11d, dword [r12 + rdx*4 + 0x800]
mov r10d, r14d
xor r11d, dword [r12 + rcx*4 + 0xc00]
xor r11d, dword [r12 + rax*4]
movzx eax, r8b
mov r8d, dword [rbx + 0x24]
xor r8, r10
xor r11d, dword [r12 + rax*4 + 0x400]
mov rax, r8
shr rax, 0x10
movzx edx, al
mov rax, r8
shr rax, 8
movzx ecx, al
mov rax, r8
shr rax, 0x18
mov r10d, dword [r12 + rdx*4 + 0xc00]
xor r10d, dword [r12 + rcx*4 + 0x400]
xor r10d, dword [r12 + rax*4 + 0x800]
movzx eax, r8b
xor r10d, dword [r12 + rax*4]
mov eax, r11d
xor r10d, r11d
xor edi, r10d
mov ecx, edi
mov r8d, dword [rbx + 0x28]
shl eax, 0x18
xor r8, rcx
shr r11d, 8
add eax, r11d
xor eax, r10d
xor esi, eax
mov rax, r8
shr rax, 0x10
movzx edx, al
mov rax, r8
shr rax, 8
movzx ecx, al
mov rax, r8
shr rax, 0x18
mov r11d, dword [r12 + rdx*4 + 0x800]
mov r10d, esi
xor r11d, dword [r12 + rcx*4 + 0xc00]
xor r11d, dword [r12 + rax*4]
movzx eax, r8b
mov r8d, dword [rbx + 0x2c]
add rbx, 0x30
xor r8, r10
xor r11d, dword [r12 + rax*4 + 0x400]
mov rax, r8
shr rax, 0x10
movzx edx, al
mov rax, r8
shr rax, 8
movzx ecx, al
mov rax, r8
shr rax, 0x18
mov r10d, dword [r12 + rdx*4 + 0xc00]
xor r10d, dword [r12 + rcx*4 + 0x400]
xor r10d, dword [r12 + rax*4 + 0x800]
movzx eax, r8b
xor r10d, dword [r12 + rax*4]
mov eax, r11d
xor r10d, r11d
shl eax, 0x18
shr r11d, 8
xor ebp, r10d
add eax, r11d
xor eax, r10d
xor r14d, eax
cmp rbx, r15
je 0x140002283
mov r8d, dword [rbx + 0x10]
mov ecx, ebp
and ecx, dword [rbx]
mov eax, ecx
shr eax, 0x1f
lea eax, [rax + rcx*2]
xor r14d, eax
mov eax, esi
or eax, dword [rbx + 0xc]
xor edi, eax
mov r10d, r14d
mov ecx, edi
mov eax, r14d
or eax, dword [rbx + 4]
and ecx, dword [rbx + 8]
xor ebp, eax
mov eax, ecx
mov edx, ebp
shr eax, 0x1f
xor r8, rdx
lea eax, [rax + rcx*2]
xor esi, eax
mov rax, r8
shr rax, 0x10
movzx edx, al
mov rax, r8
shr rax, 8
movzx ecx, al
mov rax, r8
shr rax, 0x18
mov r11d, dword [r12 + rdx*4 + 0x800]
xor r11d, dword [r12 + rcx*4 + 0xc00]
xor r11d, dword [r12 + rax*4]
movzx eax, r8b
mov r8d, dword [rbx + 0x14]
xor r8, r10
xor r11d, dword [r12 + rax*4 + 0x400]
mov rax, r8
shr rax, 0x10
movzx edx, al
mov rax, r8
shr rax, 8
movzx ecx, al
mov rax, r8
shr rax, 0x18
mov r10d, dword [r12 + rdx*4 + 0xc00]
xor r10d, dword [r12 + rcx*4 + 0x400]
xor r10d, dword [r12 + rax*4 + 0x800]
movzx eax, r8b
mov r8d, dword [rbx + 0x18]
xor r10d, dword [r12 + rax*4]
mov eax, r11d
shl eax, 0x18
xor r10d, r11d
shr r11d, 8
xor edi, r10d
add eax, r11d
mov ecx, edi
xor eax, r10d
xor r8, rcx
xor esi, eax
mov rax, r8
shr rax, 0x10
movzx edx, al
mov rax, r8
shr rax, 8
movzx ecx, al
mov rax, r8
shr rax, 0x18
mov r11d, dword [r12 + rdx*4 + 0x800]
mov r10d, esi
xor r11d, dword [r12 + rcx*4 + 0xc00]
xor r11d, dword [r12 + rax*4]
movzx eax, r8b
mov r8d, dword [rbx + 0x1c]
xor r8, r10
xor r11d, dword [r12 + rax*4 + 0x400]
mov rax, r8
shr rax, 0x10
movzx edx, al
mov rax, r8
mov r10d, dword [r12 + rdx*4 + 0xc00]
shr rax, 8
movzx ecx, al
mov rax, r8
shr rax, 0x18
xor r10d, dword [r12 + rcx*4 + 0x400]
xor r10d, dword [r12 + rax*4 + 0x800]
movzx eax, r8b
mov r8d, dword [rbx + 0x20]
xor r10d, dword [r12 + rax*4]
mov eax, r11d
shl eax, 0x18
xor r10d, r11d
shr r11d, 8
xor ebp, r10d
add eax, r11d
mov ecx, ebp
xor eax, r10d
xor r8, rcx
xor r14d, eax
mov rax, r8
shr rax, 0x10
movzx edx, al
mov rax, r8
shr rax, 8
movzx ecx, al
mov rax, r8
shr rax, 0x18
mov r11d, dword [r12 + rdx*4 + 0x800]
mov r10d, r14d
xor r11d, dword [r12 + rcx*4 + 0xc00]
xor r11d, dword [r12 + rax*4]
movzx eax, r8b
mov r8d, dword [rbx + 0x24]
xor r8, r10
xor r11d, dword [r12 + rax*4 + 0x400]
mov rax, r8
shr rax, 0x10
movzx edx, al
mov rax, r8
shr rax, 8
movzx ecx, al
mov rax, r8
shr rax, 0x18
mov r10d, dword [r12 + rdx*4 + 0xc00]
xor r10d, dword [r12 + rcx*4 + 0x400]
xor r10d, dword [r12 + rax*4 + 0x800]
movzx eax, r8b
mov r8d, dword [rbx + 0x28]
xor r10d, dword [r12 + rax*4]
mov eax, r11d
shl eax, 0x18
xor r10d, r11d
shr r11d, 8
xor edi, r10d
add eax, r11d
mov ecx, edi
xor eax, r10d
xor r8, rcx
xor esi, eax
mov rax, r8
shr rax, 0x10
movzx edx, al
mov rax, r8
shr rax, 8
movzx ecx, al
mov rax, r8
shr rax, 0x18
mov r11d, dword [r12 + rdx*4 + 0x800]
mov r10d, esi
xor r11d, dword [r12 + rcx*4 + 0xc00]
xor r11d, dword [r12 + rax*4]
movzx eax, r8b
mov r8d, dword [rbx + 0x2c]
xor r8, r10
xor r11d, dword [r12 + rax*4 + 0x400]
mov rax, r8
shr rax, 0x10
movzx edx, al
mov rax, r8
shr rax, 8
movzx ecx, al
mov rax, r8
mov r10d, dword [r12 + rdx*4 + 0xc00]
shr rax, 0x18
xor r10d, dword [r12 + rcx*4 + 0x400]
xor r10d, dword [r12 + rax*4 + 0x800]
movzx eax, r8b
mov r8d, dword [rbx + 0x30]
xor r10d, dword [r12 + rax*4]
mov eax, r11d
shl eax, 0x18
xor r10d, r11d
shr r11d, 8
xor ebp, r10d
add eax, r11d
mov ecx, ebp
xor eax, r10d
xor r8, rcx
xor r14d, eax
mov rax, r8
shr rax, 0x10
movzx edx, al
mov rax, r8
shr rax, 8
movzx ecx, al
mov rax, r8
shr rax, 0x18
mov r11d, dword [r12 + rdx*4 + 0x800]
mov r10d, r14d
xor r11d, dword [r12 + rcx*4 + 0xc00]
xor r11d, dword [r12 + rax*4]
movzx eax, r8b
mov r8d, dword [rbx + 0x34]
xor r8, r10
xor r11d, dword [r12 + rax*4 + 0x400]
mov rax, r8
shr rax, 0x10
movzx edx, al
mov rax, r8
shr rax, 8
movzx ecx, al
mov rax, r8
shr rax, 0x18
mov r10d, dword [r12 + rdx*4 + 0xc00]
xor r10d, dword [r12 + rcx*4 + 0x400]
xor r10d, dword [r12 + rax*4 + 0x800]
movzx eax, r8b
mov r8d, dword [rbx + 0x38]
xor r10d, dword [r12 + rax*4]
mov eax, r11d
shl eax, 0x18
xor r10d, r11d
shr r11d, 8
xor edi, r10d
add eax, r11d
mov ecx, edi
xor eax, r10d
xor r8, rcx
xor esi, eax
mov rax, r8
shr rax, 0x10
movzx edx, al
mov rax, r8
shr rax, 8
movzx ecx, al
mov rax, r8
shr rax, 0x18
mov r11d, dword [r12 + rdx*4 + 0x800]
mov r10d, esi
xor r11d, dword [r12 + rcx*4 + 0xc00]
xor r11d, dword [r12 + rax*4]
movzx eax, r8b
mov r8d, dword [rbx + 0x3c]
xor r8, r10
xor r11d, dword [r12 + rax*4 + 0x400]
mov rax, r8
shr rax, 0x10
movzx edx, al
mov rax, r8
shr rax, 8
movzx ecx, al
mov r10d, dword [r12 + rdx*4 + 0xc00]
mov rax, r8
xor r10d, dword [r12 + rcx*4 + 0x400]
add rbx, 0x40
shr rax, 0x18
xor r10d, dword [r12 + rax*4 + 0x800]
movzx eax, r8b
xor r10d, dword [r12 + rax*4]
mov eax, r11d
xor r10d, r11d
shl eax, 0x18
shr r11d, 8
xor ebp, r10d
add eax, r11d
xor eax, r10d
xor r14d, eax
cmp rbx, r15
jne 0x140001e80
xor edi, dword [rbx]
xor esi, dword [rbx + 4]
mov eax, edi
xor ebp, dword [rbx + 8]
xor r14d, dword [rbx + 0xc]
mov rbx, qword [rsp + 0x20]
shr eax, 0x18
mov byte [r9], al
mov eax, edi
shr eax, 0x10
mov byte [r9 + 1], al
mov eax, edi
shr eax, 8
mov byte [r9 + 2], al
mov eax, esi
shr eax, 0x18
mov byte [r9 + 4], al
mov eax, esi
shr eax, 0x10
mov byte [r9 + 5], al
mov eax, esi
shr eax, 8
mov byte [r9 + 6], al
mov eax, ebp
shr eax, 0x18
mov byte [r9 + 8], al
mov eax, ebp
shr eax, 0x10
mov byte [r9 + 9], al
mov eax, ebp
shr eax, 8
mov byte [r9 + 0xa], al
mov eax, r14d
shr eax, 0x18
mov byte [r9 + 0xc], al
mov eax, r14d
shr eax, 0x10
mov byte [r9 + 0xd], al
mov eax, r14d
shr eax, 8
mov byte [r9 + 3], dil
mov rdi, qword [rsp + 0x38]
mov byte [r9 + 7], sil
mov rsi, qword [rsp + 0x30]
mov byte [r9 + 0xb], bpl
mov rbp, qword [rsp + 0x28]
mov byte [r9 + 0xe], al
mov byte [r9 + 0xf], r14b
pop r15
pop r14
pop r12
ret