Function at 0x1400ca3b0
Capabilities:
Encode data using xor

Disassembly:
test r9, r9
je 0x1400ca707
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
lea rbp, [rsp - 0x47]
sub rsp, 0xc0
mov rax, qword [0x1403291e8]
xor rax, rsp
mov qword [rbp + 0x37], rax
mov rsi, r9
xor edi, edi
test rcx, rcx
cmovne edi, edx
lea rbx, [rbp - 0x59]
cmovne rbx, rcx
cmp r8d, 1
je 0x1400ca6dc
cmp r8d, 5
jne 0x1400ca429
lea rcx, [rbp - 0x49]
call fcn.140115970
nop
mov r9, rsi
mov r8d, edi
mov rdx, rbx
lea rcx, [rbp - 0x49]
call fcn.140116340
nop
lea rcx, [rbp - 0x49]
call fcn.1401159a0
jmp 0x1400ca6e9
cmp r8d, 7
jne 0x1400ca441
mov r8, rsi
mov edx, edi
mov rcx, rbx
call fcn.140153890
jmp 0x1400ca6e9
cmp r8d, 2
jne 0x1400ca459
mov r8, rsi
mov edx, edi
mov rcx, rbx
call fcn.140153ff0
jmp 0x1400ca6e9
cmp r8d, 3
jne 0x1400ca471
mov r8, rsi
mov edx, edi
mov rcx, rbx
call fcn.140154750
jmp 0x1400ca6e9
cmp r8d, 0x14
jne 0x1400ca489
mov r8, rsi
mov edx, edi
mov rcx, rbx
call fcn.14015b400
jmp 0x1400ca6e9
cmp r8d, 0x15
jne 0x1400ca4a1
mov r8, rsi
mov edx, edi
mov rcx, rbx
call fcn.14015b570
jmp 0x1400ca6e9
cmp r8d, 0x16
jne 0x1400ca4b9
mov r8, rsi
mov edx, edi
mov rcx, rbx
call fcn.14015b6f0
jmp 0x1400ca6e9
cmp r8d, 0x13
jne 0x1400ca4d1
mov r8, rsi
mov edx, edi
mov rcx, rbx
call fcn.14015b280
jmp 0x1400ca6e9
cmp r8d, 0xf
je 0x1400ca6dc
cmp r8d, 0x1d
jne 0x1400ca510
xor al, al
test edi, edi
je 0x1400ca508
mov edx, edi
lea r8, [0x140325b20]
movzx ecx, byte [rbx]
movzx eax, al
xor rcx, rax
movzx eax, byte [rcx + r8]
lea rbx, [rbx + 1]
sub rdx, 1
jne 0x1400ca4f0
mov byte [r9], al
jmp 0x1400ca6e9
cmp r8d, 0x1c
jne 0x1400ca568
xor r8d, r8d
mov edx, edi
mov rcx, rbx
call fcn.1400e4380
mov edx, eax
mov r8d, eax
mov ecx, eax
cmp byte [0x14031ba31], 0
je 0x1400ca54d
shr edx, 0x18
shr ecx, 8
shr eax, 0x10
mov byte [rsi], dl
mov byte [rsi + 1], al
mov byte [rsi + 2], cl
mov byte [rsi + 3], r8b
jmp 0x1400ca6e9
shr r8d, 0x18
shr ecx, 0x10
shr eax, 8
mov byte [rsi], dl
mov byte [rsi + 1], al
mov byte [rsi + 2], cl
mov byte [rsi + 3], r8b
jmp 0x1400ca6e9
cmp r8d, 4
jne 0x1400ca599
lea rcx, [rbp - 0x49]
call fcn.14014ae30
nop
mov r9, rsi
mov r8d, edi
mov rdx, rbx
lea rcx, [rbp - 0x49]
call fcn.14014b3a0
nop
lea rcx, [rbp - 0x49]
call fcn.14014ae40
jmp 0x1400ca6e9
cmp r8d, 8
jne 0x1400ca5dc
lea rcx, [rbp - 0x49]
call fcn.1401520c0
nop
lea rcx, [rbp - 0x49]
call fcn.140116800
mov r8d, edi
mov rdx, rbx
lea rcx, [rbp - 0x49]
call fcn.140152a80
mov rdx, rsi
lea rcx, [rbp - 0x49]
call fcn.140152290
nop
lea rcx, [rbp - 0x49]
call fcn.1401520f0
jmp 0x1400ca6e9
cmp r8d, 0x1e
jne 0x1400ca5f4
mov r8, rsi
mov edx, edi
mov rcx, rbx
call fcn.140153200
jmp 0x1400ca6e9
cmp r8d, 9
jne 0x1400ca625
lea rcx, [rbp - 0x49]
call fcn.14014b670
nop
mov r9, rsi
mov r8d, edi
mov rdx, rbx
lea rcx, [rbp - 0x49]
call fcn.14014cc40
nop
lea rcx, [rbp - 0x49]
call fcn.14014b690
jmp 0x1400ca6e9
cmp r8d, 0xa
jne 0x1400ca656
lea rcx, [rbp - 0x49]
call fcn.14014cc90
nop
mov r9, rsi
mov r8d, edi
mov rdx, rbx
lea rcx, [rbp - 0x49]
call fcn.14014e9d0
nop
lea rcx, [rbp - 0x49]
call fcn.14014ccb0
jmp 0x1400ca6e9
cmp r8d, 0xb
jne 0x1400ca684
lea rcx, [rbp - 0x49]
call fcn.14014ea30
nop
mov r9, rsi
mov r8d, edi
mov rdx, rbx
lea rcx, [rbp - 0x49]
call fcn.140150110
nop
lea rcx, [rbp - 0x49]
call fcn.14014ea50
jmp 0x1400ca6e9
cmp r8d, 0xc
jne 0x1400ca6b2
lea rcx, [rbp - 0x49]
call fcn.140150180
nop
mov r9, rsi
mov r8d, edi
mov rdx, rbx
lea rcx, [rbp - 0x49]
call fcn.140152040
nop
lea rcx, [rbp - 0x49]
call fcn.1401501a0
jmp 0x1400ca6e9
cmp r8d, 0x11
jne 0x1400ca6c7
mov r8, rsi
mov edx, edi
mov rcx, rbx
call fcn.140154ff0
jmp 0x1400ca6e9
cmp r8d, 0x12
jne 0x1400ca6dc
mov r8, rsi
mov edx, edi
mov rcx, rbx
call fcn.1401550e0
jmp 0x1400ca6e9
mov r8, rsi
mov edx, edi
mov rcx, rbx
call fcn.14014aaf0
mov rcx, qword [rbp + 0x37]
xor rcx, rsp
call fcn.1401feaa0
mov rbx, qword [rsp + 0xf0]
add rsp, 0xc0
pop rdi
pop rsi
pop rbp
ret