Function at 0x14009b7c0
Capabilities:
Encode data using xor

Disassembly:
mov r11, rsp
push rbp
push rsi
push r13
push r14
push r15
sub rsp, 0x90
mov rax, qword [0x1403d4408]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov qword [r11 - 0x30], rbx
mov r14d, r9d
mov qword [r11 - 0x38], rdi
mov rbp, r8
mov rsi, rdx
mov r15, rcx
test r9d, r9d
je 0x14009b842
mov edi, dword [rcx + 0x40]
test edi, edi
je 0x14009b842
cmp r9d, edi
mov rdx, rcx
mov ebx, edi
lea rcx, [rsp + 0x20]
cmovb ebx, r9d
call fcn.14009bb50
lea r8, [rsp + 0x60]
mov r9d, ebx
sub r8, rdi
mov rdx, rsi
mov rcx, rbp
call fcn.140099460
sub dword [r15 + 0x40], ebx
jne 0x14009b837
inc dword [r15 + 0x30]
mov eax, ebx
sub r14d, ebx
add rbp, rax
add rsi, rax
mov r13d, 0x40
cmp r14d, r13d
jb 0x14009baee
mov qword [rsp + 0x78], r12
mov r12d, r14d
shr r12, 6
nop dword [rax]
mov rdx, r15
lea rcx, [rsp + 0x20]
call fcn.14009bb50
inc dword [r15 + 0x30]
lea r9, [rsp + 0x20]
mov rdx, rsi
mov rcx, rbp
and edx, 7
and ecx, 7
mov r10d, r13d
mov rax, rbp
mov r8, rsi
cmp rcx, rdx
jne 0x14009b9af
lea rcx, [rsp + 0x20]
and ecx, 7
cmp rdx, rcx
jne 0x14009b9af
test rdx, rdx
je 0x14009b8d0
nop word [rax + rax]
test r10d, r10d
je 0x14009b8d0
movzx ecx, byte [r9]
dec r10d
xor cl, byte [r8]
inc r9
mov byte [rax], cl
inc r8
inc rax
test r8b, 7
jne 0x14009b8b0
mov r11d, r10d
xor ebx, ebx
shr r11d, 3
test r11d, r11d
je 0x14009b9ab
cmp r11d, 8
jb 0x14009b982
lea ecx, [r11 - 1]
mov edx, ecx
lea rdi, [rax + rcx*8]
lea rcx, [r8 + rcx*8]
cmp rax, rcx
ja 0x14009b904
cmp rdi, r8
jae 0x14009b982
lea rcx, [r9 + rdx*8]
cmp rax, rcx
ja 0x14009b912
cmp rdi, r9
jae 0x14009b982
mov ecx, r11d
and ecx, 0xfffffff8
nop dword [rax + rax]
movdqu xmm0, xmmword [r8]
add ebx, 8
movdqu xmm1, xmmword [r9]
xorps xmm1, xmm0
movdqu xmm0, xmmword [r8 + 0x10]
movdqu xmmword [rax], xmm1
movdqu xmm1, xmmword [r9 + 0x10]
xorps xmm1, xmm0
movdqu xmm0, xmmword [r8 + 0x20]
movdqu xmmword [rax + 0x10], xmm1
movdqu xmm1, xmmword [r9 + 0x20]
xorps xmm1, xmm0
movdqu xmm0, xmmword [r8 + 0x30]
add r8, r13
movdqu xmmword [rax + 0x20], xmm1
movdqu xmm1, xmmword [r9 + 0x30]
add r9, r13
xorps xmm1, xmm0
movdqu xmmword [rax + 0x30], xmm1
add rax, r13
cmp ebx, ecx
jb 0x14009b920
cmp ebx, r11d
jae 0x14009b9ab
sub r11d, ebx
mov edx, r11d
nop dword [rax + rax]
mov rcx, qword [r9]
add r9, 8
xor rcx, qword [r8]
add r8, 8
mov qword [rax], rcx
add rax, 8
sub rdx, 1
jne 0x14009b990
and r10d, 7
xor r11d, r11d
test r10d, r10d
je 0x14009bad4
cmp r10d, 8
jb 0x14009baa3
lea ecx, [r10 - 1]
mov edx, ecx
lea rbx, [rcx + rax]
add rcx, r8
cmp rax, rcx
ja 0x14009b9e0
cmp rbx, r8
jae 0x14009baa3
lea rcx, [rdx + r9]
cmp rax, rcx
ja 0x14009b9f2
cmp rbx, r9
jae 0x14009baa3
cmp r10d, r13d
jb 0x14009ba76
mov ebx, r10d
mov edi, 0x20
and ebx, 0xffffffc0
nop dword [rax]
nop word [rax + rax]
movdqu xmm0, xmmword [r11 + r8]
lea ecx, [rdi - 0x10]
movdqu xmm1, xmmword [r11 + r9]
xorps xmm1, xmm0
movdqu xmm0, xmmword [rcx + r8]
movdqu xmmword [r11 + rax], xmm1
add r11d, r13d
movdqu xmm1, xmmword [rcx + r9]
xorps xmm1, xmm0
movdqu xmmword [rcx + rax], xmm1
mov ecx, edi
movdqu xmm0, xmmword [rcx + r8]
movdqu xmm1, xmmword [rcx + r9]
xorps xmm1, xmm0
movdqu xmmword [rcx + rax], xmm1
lea ecx, [rdi + 0x10]
add edi, r13d
movdqu xmm1, xmmword [rcx + r9]
movdqu xmm0, xmmword [rcx + r8]
xorps xmm1, xmm0
movdqu xmmword [rcx + rax], xmm1
cmp r11d, ebx
jb 0x14009ba10
jmp 0x14009ba9e
mov edx, r10d
and edx, 0xfffffff8
nop dword [rax]
movq xmm1, qword [r11 + r9]
movq xmm0, qword [r11 + r8]
xorps xmm1, xmm0
movq qword [r11 + rax], xmm1
add r11d, 8
cmp r11d, edx
jb 0x14009ba80
cmp r11d, r10d
jae 0x14009bad4
sub r9, r8
mov edx, r11d
add rdx, r8
sub rax, r8
sub r10d, r11d
mov r8d, r10d
nop word [rax + rax]
movzx ecx, byte [r9 + rdx]
xor cl, byte [rdx]
mov byte [rax + rdx], cl
lea rdx, [rdx + 1]
sub r8, 1
jne 0x14009bac0
add r14d, 0xffffffc0
add rbp, 0x40
add rsi, r13
sub r12, 1
jne 0x14009b860
mov r12, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x88]
test r14d, r14d
je 0x14009bb2a
mov rdx, r15
lea rcx, [rsp + 0x20]
call fcn.14009bb50
mov r9d, r14d
lea r8, [rsp + 0x20]
mov rdx, rsi
mov rcx, rbp
call fcn.140099460
sub r13d, r14d
mov dword [r15 + 0x40], r13d
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.1400b5880
add rsp, 0x90
pop r15
pop r14
pop r13
pop rsi
pop rbp
ret