Function at 0x140033150
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 0x140033252
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 0x1400331a0
mov edx, ebp
mov rcx, rsi
test r12d, r12d
je 0x1400331dd
call fcn.140030a30
jmp 0x1400331e2
call fcn.140030800
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 0x1400331f0
mov edx, ebp
mov rcx, rbx
test r12d, r12d
je 0x14003323c
mov rbx, qword [rsp + 0x68]
add rsp, 0x20
pop r15
pop r13
pop r12
pop rsi
pop rbp
jmp fcn.140030a30
mov rbx, qword [rsp + 0x68]
add rsp, 0x20
pop r15
pop r13
pop r12
pop rsi
pop rbp
jmp fcn.140030800
mov qword [rsp + 0x50], rdi
cmp r13d, 2
jne 0x140033433
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 0x140033280
mov edx, ebp
mov rcx, rsi
test r12d, r12d
je 0x1400332bd
call fcn.140030a30
jmp 0x1400332c2
call fcn.140030800
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 0x1400332e0
mov edx, ebp
mov rcx, rbx
test r12d, r12d
je 0x14003331d
call fcn.140030a30
jmp 0x140033322
call fcn.140030800
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 0x140033340
mov edx, ebp
mov rcx, rsi
test r12d, r12d
je 0x14003337d
call fcn.140030a30
jmp 0x140033382
call fcn.140030800
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 0x140033390
mov edx, ebp
mov rcx, rdi
test r12d, r12d
je 0x1400333cd
call fcn.140030a30
jmp 0x1400333d2
call fcn.140030800
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 0x1400333e0
jmp 0x14003365a
lea eax, [r13*2]
xor edi, edi
test eax, eax
je 0x140033588
mov qword [rsp + 0x60], r14
nop word [rax + rax]
test edi, edi
je 0x1400334ae
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 0x140033480
jmp 0x1400334fc
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 0x1400334d0
mov eax, edi
mov edx, ebp
shl eax, 4
lea r14, [rax*4]
lea rbx, [r14 + rsi]
mov rcx, rbx
test r12d, r12d
je 0x14003351e
call fcn.140030a30
jmp 0x140033523
call fcn.140030800
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 0x140033540
inc edi
lea eax, [r13*2]
cmp edi, eax
jb 0x140033450
mov rbx, qword [rsp + 0x58]
mov r14, qword [rsp + 0x60]
test r13d, r13d
je 0x14003365a
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 0x1400335b0
add r9, 0x40
sub r10, 0xffffffffffffff80
sub r11, 1
jne 0x1400335a0
test r13d, r13d
je 0x14003365a
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 0x140033620
add r9d, 0x10
sub r10, 0xffffffffffffff80
sub r11, 1
jne 0x140033600
mov rdi, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x68]
add rsp, 0x20
pop r15
pop r13
pop r12
pop rsi
pop rbp
ret