Function at 0x140009aac
Capabilities:
Encode data using xor

Disassembly:
mov r8d, r8d
jmp 0x140009ab4
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x10
mov r11, r8
mov r10, rdx
mov r9d, ecx
test rdx, rdx
jne 0x140009add
xor eax, eax
jmp 0x140009dac
lea r15, [0x140000000]
not r9d
cmp r8, 0x17
jb 0x140009d3d
test r10b, 3
je 0x140009b19
movzx ecx, byte [r10]
mov eax, r9d
xor rcx, rax
shr r9d, 8
movzx eax, cl
inc r10
xor r9d, dword [r15 + rax*4 + 0x2ba40]
sub r11, 1
jne 0x140009af1
xor esi, esi
movabs rax, 0xcccccccccccccccd
mul r11
xor ebp, ebp
xor r14d, r14d
mov rbx, rdx
lea edi, [rsi + 4]
shr rbx, 4
xor r12d, r12d
lea rax, [rbx + rbx*4]
shl rax, 2
sub r11, rax
sub rbx, 1
mov qword [rsp + 0x60], r11
mov qword [rsp + 0x68], rbx
je 0x140009ca0
xor r9d, dword [r10]
lea rdx, [0x140000000]
xor esi, dword [r10 + 4]
mov r13d, 1
xor r14d, dword [r10 + 0xc]
xor r12d, dword [r10 + 0x10]
xor ebp, dword [r10 + 8]
movzx eax, r9b
add r10, 0x14
mov r11d, r9d
mov ebx, esi
mov qword [rsp + 0x58], r10
mov r9d, dword [r15 + rax*4 + 0x2c240]
movzx eax, sil
mov r10d, ebp
mov esi, dword [r15 + rax*4 + 0x2c240]
movzx eax, bpl
mov ebp, dword [r15 + rax*4 + 0x2c240]
mov eax, r14d
mov qword [rsp], rax
movzx eax, r14b
mov r14d, dword [r15 + rax*4 + 0x2c240]
mov eax, r12d
mov qword [rsp + 8], rax
movzx eax, r12b
mov r12d, dword [r15 + rax*4 + 0x2c240]
mov r15d, 0x100
lea eax, [r13*8]
inc r13d
movsxd r8, eax
mov rax, r11
mov rcx, r8
shr rax, cl
movzx ecx, al
mov rax, rbx
add rcx, r15
xor r9d, dword [rdx + rcx*4 + 0x2c240]
mov rcx, r8
shr rax, cl
movzx ecx, al
mov rax, r10
add rcx, r15
xor esi, dword [rdx + rcx*4 + 0x2c240]
mov rcx, r8
shr rax, cl
movzx edx, al
lea rax, [0x140000000]
add rdx, r15
xor ebp, dword [rax + rdx*4 + 0x2c240]
mov rax, qword [rsp]
shr rax, cl
movzx edx, al
lea rax, [0x140000000]
add rdx, r15
xor r14d, dword [rax + rdx*4 + 0x2c240]
lea rdx, [0x140000000]
mov rax, qword [rsp + 8]
shr rax, cl
movzx ecx, al
add rcx, r15
add r15, 0x100
xor r12d, dword [rdx + rcx*4 + 0x2c240]
cmp r13d, edi
jl 0x140009bdb
sub qword [rsp + 0x68], 1
lea r15, [0x140000000]
mov r10, qword [rsp + 0x58]
jne 0x140009b59
mov r11, qword [rsp + 0x60]
lea r15, [0x140000000]
xor r9d, dword [r10]
mov rdx, rdi
movzx ecx, r9b
shr r9d, 8
xor r9d, dword [r15 + rcx*4 + 0x2ba40]
sub rdx, 1
jne 0x140009ca6
xor r9d, dword [r10 + 4]
mov rdx, rdi
xor r9d, esi
movzx ecx, r9b
shr r9d, 8
xor r9d, dword [r15 + rcx*4 + 0x2ba40]
sub rdx, 1
jne 0x140009cc6
xor r9d, dword [r10 + 8]
mov rdx, rdi
xor r9d, ebp
movzx ecx, r9b
shr r9d, 8
xor r9d, dword [r15 + rcx*4 + 0x2ba40]
sub rdx, 1
jne 0x140009ce6
xor r9d, dword [r10 + 0xc]
mov rdx, rdi
xor r9d, r14d
movzx ecx, r9b
shr r9d, 8
xor r9d, dword [r15 + rcx*4 + 0x2ba40]
sub rdx, 1
jne 0x140009d06
xor r9d, dword [r10 + 0x10]
xor r9d, r12d
movzx ecx, r9b
shr r9d, 8
xor r9d, dword [r15 + rcx*4 + 0x2ba40]
sub rdi, 1
jne 0x140009d23
add r10, 0x14
cmp r11, 8
jb 0x140009d7f
mov rdx, r11
shr rdx, 3
imul rax, rdx, 0xfffffffffffffff8
add r11, rax
mov r8d, 8
movzx ecx, byte [r10]
mov eax, r9d
xor rcx, rax
shr r9d, 8
movzx eax, cl
inc r10
xor r9d, dword [r15 + rax*4 + 0x2ba40]
sub r8, 1
jne 0x140009d57
sub rdx, 1
jne 0x140009d51
test r11, r11
je 0x140009da6
movzx ecx, byte [r10]
mov eax, r9d
xor rcx, rax
shr r9d, 8
movzx eax, cl
inc r10
xor r9d, dword [r15 + rax*4 + 0x2ba40]
sub r11, 1
jne 0x140009d84
not r9d
mov eax, r9d
mov rbx, qword [rsp + 0x50]
add rsp, 0x10
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret