Function at 0x1400321c0
Capabilities:
Encode data using xor

Disassembly:
test r9, r9
je 0x1400324a7
mov r11, rsp
mov qword [r11 + 0x20], r9
mov qword [r11 + 8], rcx
sub rsp, 0x78
mov rax, qword [rcx + 0x10]
mov qword [r11 + 0x10], rbx
mov qword [r11 - 8], rbp
mov qword [r11 - 0x10], rsi
mov qword [r11 - 0x18], rdi
sub rax, 8
shr rax, 4
mov qword [r11 - 0x20], r12
mov r10, r8
mov rdi, rax
shl eax, 4
mov qword [r11 - 0x28], r13
sub eax, 0x10
mov qword [r11 - 0x30], r14
mov qword [r11 - 0x38], r15
shl rdi, 4
lea r11, [r10 + 2]
movsxd r15, eax
sub r10, rdx
mov r8, rcx
lea rax, [rdx + 2]
lea rcx, [r10 - 2]
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x18], r15
mov qword [rsp + 0x10], r11
mov qword [rsp + 8], rax
mov qword [rsp + 0x28], rcx
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [r8 + 8]
movzx ebx, byte [rax - 2]
movzx edx, byte [rax - 1]
sub dl, byte [rdi + rcx + 1]
xor bl, byte [rdi + rcx]
movzx r13d, byte [rdi + rcx + 3]
movzx ebp, byte [rdi + rcx + 4]
movzx esi, byte [rax]
movzx r12d, byte [rax + 3]
sub sil, byte [rdi + rcx + 2]
sub r12b, byte [rdi + rcx + 5]
movzx r14d, byte [rax + 4]
sub r14b, byte [rdi + rcx + 6]
movzx edi, byte [rdi + rcx + 7]
xor r13b, byte [rax + 1]
xor dil, byte [rax + 5]
xor bpl, byte [rax + 2]
cmp qword [rsp + 0x18], 0
mov byte [rsp], dl
jl 0x140032428
mov qword [rsp + 0x20], rcx
lea rax, [rcx + 0xb]
movzx r11d, dl
nop word [rax + rax]
movzx edx, byte [rax + r15 - 2]
sub r14b, dil
sub bpl, r12b
sub dil, r14b
sub r12b, bpl
sub bl, r11b
sub sil, r13b
movzx r8d, r13b
movzx r10d, r11b
sub r8b, sil
sub sil, r14b
sub r10b, bl
sub r14b, sil
sub bl, bpl
sub r8b, dil
sub bpl, bl
sub bl, sil
sub dil, r8b
sub bpl, r14b
sub sil, bl
sub r10b, r12b
sub r14b, bpl
movzx ecx, sil
movzx r9d, r12b
xor rdx, rcx
sub r9b, r10b
sub r10b, r8b
sub r9b, dil
sub r8b, r10b
lea rcx, [0x140000000]
movzx r11d, byte [rdx + rcx + 0x2f88e0]
movzx ecx, byte [rax + r15]
movzx edx, r14b
sub rdx, rcx
lea r14, [0x140000000]
sub dil, r9b
movzx r13d, byte [rdx + r14 + 0x2f7750]
movzx edx, byte [rax + r15 + 2]
movzx ecx, r8b
mov r8, qword [rsp + 0x20]
xor rdx, rcx
movzx ecx, byte [rax + r15 + 4]
movzx r12d, byte [rdx + r14 + 0x2f88e0]
sub r11b, byte [r8 + r15 + 1]
xor r13b, byte [r8 + r15 + 3]
sub r12b, byte [r8 + r15 + 5]
movzx edx, dil
sub rdx, rcx
movzx ecx, byte [rax + r15 - 3]
movzx edi, byte [rdx + r14 + 0x2f7750]
movzx edx, bl
xor dil, byte [r8 + r15 + 7]
sub rdx, rcx
movzx ecx, bpl
movzx ebx, byte [rdx + r14 + 0x2f7750]
movzx edx, byte [rax + r15 - 1]
xor bl, byte [r8 + r15]
xor rdx, rcx
movzx ecx, byte [rax + r15 + 1]
movzx esi, byte [rdx + r14 + 0x2f88e0]
movzx edx, r10b
sub sil, byte [r8 + r15 + 2]
sub rdx, rcx
movzx ecx, r9b
movzx ebp, byte [rdx + r14 + 0x2f7750]
movzx edx, byte [rax + r15 + 3]
xor bpl, byte [r8 + r15 + 4]
xor rdx, rcx
movzx r14d, byte [rdx + r14 + 0x2f88e0]
sub r14b, byte [r8 + r15 + 6]
sub r15, 0x10
jns 0x1400322c0
mov rax, qword [rsp + 8]
mov r8, qword [rsp + 0x80]
mov r9, qword [rsp + 0x98]
mov byte [rsp], r11b
mov r11, qword [rsp + 0x10]
movzx edx, byte [rsp]
mov rcx, qword [rsp + 0x28]
mov r15, qword [rsp + 0x18]
mov byte [r11 + 5], dil
mov rdi, qword [rsp + 0x30]
mov byte [r11 - 1], dl
mov byte [r11], sil
mov byte [rcx + rax], bl
add rax, 8
mov byte [r11 + 1], r13b
mov byte [r11 + 2], bpl
mov byte [r11 + 3], r12b
mov byte [r11 + 4], r14b
add r11, 8
dec r9
mov qword [rsp + 8], rax
mov qword [rsp + 0x98], r9
mov qword [rsp + 0x10], r11
jne 0x140032250
mov r15, qword [rsp + 0x40]
mov r14, qword [rsp + 0x48]
mov r13, qword [rsp + 0x50]
mov r12, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x88]
add rsp, 0x78
ret