Function at 0x140009f70
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
push rsi
sub rsp, 0x310
mov rax, qword [0x1401006f0]
xor rax, rsp
mov qword [rsp + 0x300], rax
xor r8d, r8d
lea edx, [r8 + 1]
lea eax, [r8 + 0xff]
mov byte [rsp + r8 + 0x100], dl
mov byte [rsp + rax + 0x100], dl
mov eax, edx
mov byte [rsp + rax], r8b
mov eax, edx
inc r8d
and al, 0x80
neg al
lea eax, [rdx + rdx]
sbb ecx, ecx
and ecx, 0x11b
xor ecx, eax
xor edx, ecx
cmp edx, 1
jne 0x140009f96
mov eax, edx
mov r8d, 0xa
lea rdx, [0x140102cb0]
mov dword [rdx], eax
test eax, eax
je 0x140009ff2
movzx ecx, byte [rsp + rax]
movzx eax, byte [rsp + rcx + 0x119]
jmp 0x140009ff4
xor eax, eax
add rdx, 4
sub r8, 1
jne 0x140009fde
xor r9d, r9d
lea rsi, [0x140000000]
xor ebx, ebx
test r9b, r9b
je 0x14000a027
movzx eax, r9b
movzx ecx, byte [rsp + rax]
lea rax, [rsp + 0x1ff]
sub rax, rcx
movzx ecx, byte [rax]
jmp 0x14000a029
xor ecx, ecx
lea eax, [rcx + rcx]
xor eax, ecx
add eax, eax
xor eax, ecx
add eax, eax
xor eax, ecx
add eax, eax
xor ecx, eax
mov edx, ecx
shr edx, 8
xor dl, cl
xor dl, 0x63
je 0x14000a058
movzx eax, dl
movzx ecx, byte [rsp + rax]
movzx r8d, byte [rsp + rcx + 0x101]
jmp 0x14000a05b
xor r8d, r8d
test dl, dl
je 0x14000a070
movzx eax, dl
movzx ecx, byte [rsp + rax]
movzx eax, byte [rsp + rcx + 0x119]
jmp 0x14000a072
xor eax, eax
shl r8d, 8
movzx ecx, dl
or r8d, ecx
mov dword [rbx + rsi + 0x102ce0], ecx
shl r8d, 8
or r8d, ecx
shl r8d, 8
or r8d, eax
mov eax, r8d
mov dword [rbx + rsi + 0x103ce0], r8d
rol eax, 8
mov dword [rbx + rsi + 0x1040e0], eax
mov eax, r8d
rol eax, 0x10
ror r8d, 8
mov dword [rbx + rsi + 0x1044e0], eax
mov eax, ecx
mov dword [rbx + rsi + 0x1048e0], r8d
rol eax, 8
movzx r8d, r9b
mov dword [rbx + rsi + 0x1030e0], eax
mov eax, ecx
rol eax, 0x10
ror ecx, 8
mov dword [rbx + rsi + 0x1034e0], eax
mov dword [rbx + rsi + 0x1038e0], ecx
mov eax, r8d
shl eax, 3
xor eax, r8d
shl eax, 2
xor eax, r8d
add eax, eax
mov ecx, eax
shr ecx, 8
xor cl, al
xor cl, 5
je 0x14000a138
mov edx, r8d
shl edx, 3
xor edx, r8d
shl edx, 2
xor edx, r8d
add edx, edx
mov eax, edx
shr eax, 8
movzx ecx, al
movzx eax, dl
xor rcx, rax
xor rcx, 5
movzx eax, byte [rsp + rcx]
lea rcx, [rsp + 0x1ff]
sub rcx, rax
mov dl, byte [rcx]
jmp 0x14000a13a
xor dl, dl
test dl, dl
je 0x14000a150
movzx eax, dl
movzx ecx, byte [rsp + rax]
movzx r8d, byte [rsp + rcx + 0x168]
jmp 0x14000a153
xor r8d, r8d
test dl, dl
je 0x14000a169
movzx eax, dl
movzx ecx, byte [rsp + rax]
movzx r11d, byte [rsp + rcx + 0x1ee]
jmp 0x14000a16c
xor r11d, r11d
test dl, dl
je 0x14000a182
movzx eax, dl
movzx ecx, byte [rsp + rax]
movzx r10d, byte [rsp + rcx + 0x1c7]
jmp 0x14000a185
xor r10d, r10d
test dl, dl
je 0x14000a19a
movzx eax, dl
movzx ecx, byte [rsp + rax]
movzx eax, byte [rsp + rcx + 0x1df]
jmp 0x14000a19c
xor eax, eax
shl r8d, 8
movzx ecx, dl
inc r9d
or r8d, r11d
add rbx, 4
shl r8d, 8
or r8d, r10d
shl r8d, 8
or r8d, eax
mov eax, r8d
mov dword [rsi + rcx*4 + 0x101cb0], r8d
rol eax, 8
mov dword [rsi + rcx*4 + 0x1020b0], eax
mov eax, r8d
rol eax, 0x10
ror r8d, 8
mov dword [rsi + rcx*4 + 0x1028b0], r8d
mov dword [rsi + rcx*4 + 0x1024b0], eax
cmp r9d, 0x100
jb 0x14000a00a
mov byte [0x140104ce0], 1
mov rcx, qword [rsp + 0x300]
xor rcx, rsp
call fcn.1400c6350
mov rbx, qword [rsp + 0x320]
add rsp, 0x310
pop rsi
ret