Function at 0x1400329d0
Capabilities:
Encode data using xor
Encrypt data using chaskey

Disassembly:
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push r12
push r13
push r15
sub rsp, 0x20
mov r12d, r9d
mov r13d, r8d
shr r12d, 8
mov rbx, rdx
movzx ebp, r9b
mov rsi, rcx
mov r15d, 2
cmp r8d, 1
jne 0x140032ad2
lea rbx, [rcx + 0x40]
mov r8d, r15d
lea rdx, [rcx + 8]
mov rcx, rbx
sub rcx, rsi
nop dword [rax + rax]
mov rax, qword [rcx + rdx - 8]
xor qword [rdx - 8], rax
mov rax, qword [rcx + rdx]
xor qword [rdx], rax
mov rax, qword [rcx + rdx + 8]
xor qword [rdx + 8], rax
mov rax, qword [rcx + rdx + 0x10]
xor qword [rdx + 0x10], rax
lea rdx, [rdx + 0x20]
sub r8, 1
jne 0x140032a20
mov edx, ebp
mov rcx, rsi
test r12d, r12d
je 0x140032a5d
call fcn.1400303f0
jmp 0x140032a62
call fcn.1400301c0
lea r8, [rbx + 8]
sub rsi, rbx
nop dword [rax]
mov rax, qword [rsi + r8 - 8]
xor qword [r8 - 8], rax
mov rax, qword [rsi + r8]
xor qword [r8], rax
mov rax, qword [rsi + r8 + 8]
xor qword [r8 + 8], rax
mov rax, qword [rsi + r8 + 0x10]
xor qword [r8 + 0x10], rax
lea r8, [r8 + 0x20]
sub r15, 1
jne 0x140032a70
mov edx, ebp
mov rcx, rbx
test r12d, r12d
je 0x140032abc
mov rbx, qword [rsp + 0x68]
add rsp, 0x20
pop r15
pop r13
pop r12
pop rsi
pop rbp
jmp fcn.1400303f0
mov rbx, qword [rsp + 0x68]
add rsp, 0x20
pop r15
pop r13
pop r12
pop rsi
pop rbp
jmp fcn.1400301c0
mov qword [rsp + 0x50], rdi
cmp r13d, 2
jne 0x140032cb3
lea rdi, [rcx + 0xc0]
mov r8, r15
mov rdx, rdi
add rcx, 8
sub rdx, rsi
nop word [rax + rax]
mov rax, qword [rdx + rcx - 8]
xor qword [rcx - 8], rax
mov rax, qword [rdx + rcx]
xor qword [rcx], rax
mov rax, qword [rdx + rcx + 8]
xor qword [rcx + 8], rax
mov rax, qword [rdx + rcx + 0x10]
xor qword [rcx + 0x10], rax
lea rcx, [rcx + 0x20]
sub r8, 1
jne 0x140032b00
mov edx, ebp
mov rcx, rsi
test r12d, r12d
je 0x140032b3d
call fcn.1400303f0
jmp 0x140032b42
call fcn.1400301c0
lea rbx, [rsi + 0x40]
mov rdx, rsi
lea rcx, [rbx + 8]
sub rdx, rbx
mov r8, r15
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rdx + rcx - 8]
xor qword [rcx - 8], rax
mov rax, qword [rdx + rcx]
xor qword [rcx], rax
mov rax, qword [rdx + rcx + 8]
xor qword [rcx + 8], rax
mov rax, qword [rdx + rcx + 0x10]
xor qword [rcx + 0x10], rax
lea rcx, [rcx + 0x20]
sub r8, 1
jne 0x140032b60
mov edx, ebp
mov rcx, rbx
test r12d, r12d
je 0x140032b9d
call fcn.1400303f0
jmp 0x140032ba2
call fcn.1400301c0
sub rsi, 0xffffffffffffff80
mov rdx, rbx
sub rdx, rsi
mov r8, r15
lea rcx, [rsi + 8]
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rdx + rcx - 8]
xor qword [rcx - 8], rax
mov rax, qword [rdx + rcx]
xor qword [rcx], rax
mov rax, qword [rdx + rcx + 8]
xor qword [rcx + 8], rax
mov rax, qword [rdx + rcx + 0x10]
xor qword [rcx + 0x10], rax
lea rcx, [rcx + 0x20]
sub r8, 1
jne 0x140032bc0
mov edx, ebp
mov rcx, rsi
test r12d, r12d
je 0x140032bfd
call fcn.1400303f0
jmp 0x140032c02
call fcn.1400301c0
mov r8, rsi
lea rdx, [rdi + 8]
sub r8, rdi
mov r9, r15
nop
mov rax, qword [r8 + rdx - 8]
xor qword [rdx - 8], rax
mov rax, qword [r8 + rdx]
xor qword [rdx], rax
mov rax, qword [r8 + rdx + 8]
xor qword [rdx + 8], rax
mov rax, qword [r8 + rdx + 0x10]
xor qword [rdx + 0x10], rax
lea rdx, [rdx + 0x20]
sub r9, 1
jne 0x140032c10
mov edx, ebp
mov rcx, rdi
test r12d, r12d
je 0x140032c4d
call fcn.1400303f0
jmp 0x140032c52
call fcn.1400301c0
lea r10, [rbx + 0x10]
sub rsi, rbx
nop dword [rax]
mov rax, qword [rsi + r10 - 0x10]
mov r9, qword [r10 - 0x10]
mov rdx, qword [r10 - 8]
mov r8, qword [r10]
mov rcx, qword [r10 + 8]
mov qword [r10 - 0x10], rax
mov rax, qword [rsi + r10 - 8]
mov qword [r10 - 8], rax
mov rax, qword [rsi + r10]
mov qword [r10], rax
mov rax, qword [rsi + r10 + 8]
mov qword [r10 + 8], rax
mov qword [rsi + r10 - 0x10], r9
mov qword [rsi + r10 - 8], rdx
mov qword [rsi + r10], r8
mov qword [rsi + r10 + 8], rcx
lea r10, [r10 + 0x20]
sub r15, 1
jne 0x140032c60
jmp 0x140032eda
lea eax, [r13*2]
xor edi, edi
test eax, eax
je 0x140032e08
mov qword [rsp + 0x60], r14
nop word [rax + rax]
test edi, edi
je 0x140032d2e
mov eax, edi
shl eax, 4
lea rcx, [rsi + rax*4]
lea eax, [rdi - 1]
shl eax, 4
lea rdx, [rcx + 8]
lea r8, [rsi + rax*4]
sub r8, rcx
mov rcx, r15
nop dword [rax]
nop word [rax + rax]
mov rax, qword [r8 + rdx - 8]
xor qword [rdx - 8], rax
mov rax, qword [r8 + rdx]
xor qword [rdx], rax
mov rax, qword [r8 + rdx + 8]
xor qword [rdx + 8], rax
mov rax, qword [r8 + rdx + 0x10]
xor qword [rdx + 0x10], rax
lea rdx, [rdx + 0x20]
sub rcx, 1
jne 0x140032d00
jmp 0x140032d7c
mov eax, r13d
lea rcx, [rsi + 8]
shl eax, 5
mov r8, r15
sub eax, 0x10
lea rdx, [rsi + rax*4]
sub rdx, rsi
nop word [rax + rax]
mov rax, qword [rdx + rcx - 8]
xor qword [rcx - 8], rax
mov rax, qword [rdx + rcx]
xor qword [rcx], rax
mov rax, qword [rdx + rcx + 8]
xor qword [rcx + 8], rax
mov rax, qword [rdx + rcx + 0x10]
xor qword [rcx + 0x10], rax
lea rcx, [rcx + 0x20]
sub r8, 1
jne 0x140032d50
mov eax, edi
mov edx, ebp
shl eax, 4
lea r14, [rax*4]
lea rbx, [r14 + rsi]
mov rcx, rbx
test r12d, r12d
je 0x140032d9e
call fcn.1400303f0
jmp 0x140032da3
call fcn.1400301c0
mov rax, qword [rsp + 0x58]
mov rdx, r15
add rax, r14
sub rbx, rax
lea rcx, [rax + 8]
nop word [rax + rax]
mov rax, qword [rbx + rcx - 8]
mov qword [rcx - 8], rax
mov rax, qword [rbx + rcx]
mov qword [rcx], rax
mov rax, qword [rbx + rcx + 8]
mov qword [rcx + 8], rax
mov rax, qword [rbx + rcx + 0x10]
mov qword [rcx + 0x10], rax
lea rcx, [rcx + 0x20]
sub rdx, 1
jne 0x140032dc0
inc edi
lea eax, [r13*2]
cmp edi, eax
jb 0x140032cd0
mov rbx, qword [rsp + 0x58]
mov r14, qword [rsp + 0x60]
test r13d, r13d
je 0x140032eda
mov r10, rbx
mov r9, rsi
mov r11, r13
nop word [rax + rax]
mov rdx, r10
lea rcx, [r9 + 8]
sub rdx, r9
mov r8, r15
nop dword [rax]
mov rax, qword [rdx + rcx - 8]
mov qword [rcx - 8], rax
mov rax, qword [rdx + rcx]
mov qword [rcx], rax
mov rax, qword [rdx + rcx + 8]
mov qword [rcx + 8], rax
mov rax, qword [rdx + rcx + 0x10]
mov qword [rcx + 0x10], rax
lea rcx, [rcx + 0x20]
sub r8, 1
jne 0x140032e30
add r9, 0x40
sub r10, 0xffffffffffffff80
sub r11, 1
jne 0x140032e20
test r13d, r13d
je 0x140032eda
mov r9d, r13d
lea r10, [rbx + 0x40]
shl r9d, 4
mov r11, r13
nop dword [rax]
lea rcx, [rsi + r9*4]
mov rdx, r10
lea rax, [rcx + 8]
sub rdx, rcx
mov r8, r15
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [rdx + rax - 8]
mov qword [rax - 8], rcx
mov rcx, qword [rdx + rax]
mov qword [rax], rcx
mov rcx, qword [rdx + rax + 8]
mov qword [rax + 8], rcx
mov rcx, qword [rdx + rax + 0x10]
mov qword [rax + 0x10], rcx
lea rax, [rax + 0x20]
sub r8, 1
jne 0x140032ea0
add r9d, 0x10
sub r10, 0xffffffffffffff80
sub r11, 1
jne 0x140032e80
mov rdi, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x68]
add rsp, 0x20
pop r15
pop r13
pop r12
pop rsi
pop rbp
ret