Function at 0x14009e480
Capabilities:
Encode data using xor

Disassembly:
push r13
push r15
sub rsp, 0x4e8
mov rax, qword [0x1403d4408]
xor rax, rsp
mov qword [rsp + 0x4a0], rax
mov r15, rcx
mov qword [rsp + 0x40], r8
mov rcx, qword [rsp + 0x528]
mov eax, r9d
mov dword [rsp + 0x34], eax
mov r13d, edx
mov qword [rsp + 0x38], rcx
test rcx, rcx
jne 0x14009e4d4
cmp dword [rsp + 0x530], ecx
jbe 0x14009e4d4
mov eax, 0xffffff7c
jmp 0x14009e652
mov ecx, eax
mov qword [rsp + 0x4e0], rbx
call fcn.140088f30
mov ebx, eax
test eax, eax
js 0x14009e839
lea eax, [rbx*2 + 2]
cmp r13d, eax
jb 0x14009e839
mov qword [rsp + 0x4d8], rbp
lea rcx, [rsp + 0x90]
mov qword [rsp + 0x4c8], rdi
mov r8, r13
xor edx, edx
mov qword [rsp + 0x4b8], r14
call sub.VCRUNTIME140.dll_memset
mov rdi, qword [rsp + 0x538]
lea edx, [rbx + 1]
mov r14d, dword [rsp + 0x520]
lea r9, [rsp + 0x90]
mov ebp, r13d
mov qword [rsp + 0x28], rdi
sub ebp, ebx
mov dword [rsp + 0x20], ebx
dec ebp
add rdx, r15
mov r8d, ebp
mov ecx, r14d
call fcn.14009d580
test eax, eax
jne 0x14009e632
mov qword [rsp + 0x4d0], rsi
lea rdx, [r15 + 1]
mov r8d, ebx
mov qword [rsp + 0x4c0], r12
lea rcx, [rsp + 0x90]
call fcn.140099240
lea r12, [rsp + 0x90]
mov qword [rsp + 0x28], rdi
add r12, rbx
mov dword [rsp + 0x20], ebp
mov r9, r12
lea rdx, [rsp + 0x90]
mov r8d, ebx
mov ecx, r14d
mov esi, ebx
call fcn.14009d580
lea rdi, [rsp + 0x90]
mov edx, eax
neg edi
and edi, 7
test eax, eax
je 0x14009e66e
cmp ebx, edi
lea rcx, [rsp + 0x90]
cmovb edi, ebx
sub ebx, edi
test edi, edi
je 0x14009e5ed
mov byte [rcx], 0
inc rcx
add edi, 0xffffffff
jne 0x14009e5e2
cmp ebx, 8
jb 0x14009e610
mov eax, ebx
shr rax, 3
xor edi, edi
nop word [rax + rax]
mov qword [rcx], rdi
add ebx, 0xfffffff8
add rcx, 8
sub rax, 1
jne 0x14009e600
test ebx, ebx
je 0x14009e620
mov byte [rcx], 0
lea rcx, [rcx + 1]
add ebx, 0xffffffff
jne 0x14009e614
mov eax, edx
mov r12, qword [rsp + 0x4c0]
mov rsi, qword [rsp + 0x4d0]
mov rdi, qword [rsp + 0x4c8]
mov rbp, qword [rsp + 0x4d8]
mov r14, qword [rsp + 0x4b8]
mov rbx, qword [rsp + 0x4e0]
mov rcx, qword [rsp + 0x4a0]
xor rcx, rsp
call fcn.1400b5880
add rsp, 0x4e8
pop r15
pop r13
ret
lea rcx, [r15 + 1]
mov r8d, ebp
add rcx, rbx
mov rdx, r12
call fcn.140099240
cmp r13d, edi
lea rax, [rsp + 0x90]
mov ecx, r13d
cmovb edi, r13d
sub ecx, edi
test edi, edi
je 0x14009e6ab
nop dword [rax + rax]
mov byte [rax], 0
inc rax
add edi, 0xffffffff
jne 0x14009e6a0
xor edi, edi
cmp ecx, 8
jb 0x14009e6d0
mov edx, ecx
shr rdx, 3
nop dword [rax + rax]
mov qword [rax], rdi
add ecx, 0xfffffff8
add rax, 8
sub rdx, 1
jne 0x14009e6c0
test ecx, ecx
je 0x14009e6e0
mov byte [rax], dil
lea rax, [rax + 1]
add ecx, 0xffffffff
jne 0x14009e6d4
lea r14d, [rbx*2 + 1]
mov r9d, 1
lea r12d, [r13 - 1]
mov r10d, edi
mov r11d, edi
mov edx, r9d
cmp r14d, r12d
jae 0x14009e784
mov eax, r12d
mov r8d, r14d
sub eax, r14d
cmp eax, 2
jb 0x14009e76a
mov eax, r12d
sub eax, r14d
sub eax, 2
shr eax, 1
inc eax
mov ebp, eax
lea eax, [r14 + rax*2]
mov dword [rsp + 0x30], eax
nop dword [rax]
movzx ecx, byte [r8 + r15]
mov eax, r9d
neg ecx
shr ecx, 0x1f
sub eax, ecx
movzx ecx, byte [r15 + r8 + 1]
and edx, eax
neg ecx
shr ecx, 0x1f
add r10d, edx
mov eax, r9d
add r8, 2
sub eax, ecx
and edx, eax
add r11d, edx
sub rbp, 1
jne 0x14009e730
cmp dword [rsp + 0x30], r12d
jae 0x14009e77d
movzx eax, byte [r8 + r15]
neg eax
shr eax, 0x1f
sub r9d, eax
and r9d, edx
add r14d, r9d
lea eax, [r11 + r10]
add r14d, eax
mov r8d, dword [rsp + 0x530]
lea r9, [rsp + 0x50]
mov rdx, qword [rsp + 0x38]
mov ecx, dword [rsp + 0x34]
mov dword [rsp + 0x20], ebx
call fcn.140088b10
test eax, eax
jne 0x14009e622
test ebx, ebx
jle 0x14009e7e7
lea rcx, [rsp + 0x50]
mov r8, rbx
sub r8, rcx
lea rdx, [rsp + 0x50]
add r8, r15
nop dword [rax]
nop word [rax + rax]
movzx ecx, byte [r8 + rdx + 1]
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
xor ecx, eax
or edi, ecx
sub rsi, 1
jne 0x14009e7d0
movzx edx, byte [r14 + r15]
movzx ecx, byte [r15]
xor edx, 1
add edx, edi
add edx, ecx
lea eax, [rdx - 1]
not edx
shr eax, 0x1f
neg al
shr edx, 0x1f
movsx r8d, al
neg dl
movsx eax, dl
mov rdx, qword [rsp + 0x40]
and r8d, eax
lea eax, [r14 + 1]
mov ecx, r8d
and eax, r8d
not ecx
and ecx, r13d
or ecx, eax
mov eax, ecx
add rax, r15
sub r13d, ecx
mov qword [rdx], rax
mov eax, r13d
jmp 0x14009e622
mov eax, 0xffffff53
jmp 0x14009e64a