Function at 0x1402aae40
Capabilities:
Encode data using xor

Disassembly:
test r9d, r9d
jle 0x1402ab2b3
push r14
sub rsp, 0x100
mov rax, qword [0x140601e40]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x118], rbx
mov r11d, r9d
mov qword [rsp + 0xf8], rbp
mov r10, rdx
mov qword [rsp + 0xf0], rsi
mov r14, rcx
mov qword [rsp + 0xe8], rdi
mov qword [rsp + 0xe0], r12
mov qword [rsp + 0xd8], r13
mov qword [rsp + 0xd0], r15
movaps xmmword [rsp + 0xc0], xmm6
movaps xmmword [rsp + 0xb0], xmm7
movaps xmmword [rsp + 0xa0], xmm8
movaps xmmword [rsp + 0x90], xmm9
movaps xmmword [rsp + 0x80], xmm10
movaps xmmword [rsp + 0x70], xmm11
mov dword [rsp + 0xc], r9d
mov qword [rsp + 0x10], rcx
nop dword [rax]
movdqu xmm6, xmmword [r14]
mov eax, 0xa
movdqu xmm5, xmmword [r14 + 0x10]
movdqa xmm8, xmm6
movdqu xmm2, xmmword [r14 + 0x20]
movdqa xmm9, xmm5
movdqu xmm0, xmmword [r14 + 0x30]
movdqa xmm10, xmm2
movdqa xmm11, xmm0
movdqa xmm1, xmm5
paddd xmm1, xmm6
xorps xmm0, xmm1
movdqa xmm6, xmm0
psrld xmm0, 0x10
pslld xmm6, 0x10
xorps xmm6, xmm0
movdqa xmm4, xmm6
paddd xmm4, xmm2
movdqa xmm0, xmm4
xorps xmm0, xmm5
movdqa xmm2, xmm0
pslld xmm0, 0xc
psrld xmm2, 0x14
xorps xmm2, xmm0
movdqa xmm5, xmm2
paddd xmm5, xmm1
xorps xmm6, xmm5
movdqa xmm3, xmm6
pslld xmm6, 8
psrld xmm3, 0x18
xorps xmm3, xmm6
movdqa xmm6, xmm3
paddd xmm6, xmm4
movdqa xmm1, xmm6
xorps xmm1, xmm2
movdqa xmm0, xmm1
pslld xmm1, 7
psrld xmm0, 0x19
xorps xmm0, xmm1
pshufd xmm1, xmm6, 0x4e
pshufd xmm2, xmm0, 0x39
pshufd xmm0, xmm3, 0x93
movdqa xmm7, xmm2
paddd xmm7, xmm5
xorps xmm0, xmm7
movdqa xmm5, xmm0
psrld xmm0, 0x10
pslld xmm5, 0x10
xorps xmm5, xmm0
paddd xmm1, xmm5
movdqa xmm0, xmm1
xorps xmm0, xmm2
movdqa xmm4, xmm0
pslld xmm0, 0xc
psrld xmm4, 0x14
xorps xmm4, xmm0
movdqa xmm6, xmm4
paddd xmm6, xmm7
xorps xmm5, xmm6
movdqa xmm3, xmm5
pslld xmm5, 8
psrld xmm3, 0x18
xorps xmm3, xmm5
movdqa xmm2, xmm3
paddd xmm2, xmm1
movdqa xmm1, xmm2
pshufd xmm2, xmm2, 0x4e
xorps xmm1, xmm4
movdqa xmm0, xmm1
pslld xmm1, 7
psrld xmm0, 0x19
xorps xmm0, xmm1
pshufd xmm5, xmm0, 0x93
pshufd xmm0, xmm3, 0x39
sub rax, 1
jne 0x1402aaf10
add dword [r14 + 0x30], 1
paddd xmm8, xmm6
paddd xmm9, xmm5
movdqa xmmword [rsp + 0x20], xmm8
paddd xmm10, xmm2
movdqa xmmword [rsp + 0x30], xmm9
paddd xmm11, xmm0
movdqa xmmword [rsp + 0x40], xmm10
movdqa xmmword [rsp + 0x50], xmm11
jne 0x1402ab05f
inc dword [r14 + 0x34]
mov r9d, r11d
sar r9d, 3
cmp r9d, 8
jl 0x1402ab07c
mov r9d, 8
mov dword [rsp + 8], 0
jmp 0x1402ab086
mov eax, r11d
and eax, 7
mov dword [rsp + 8], eax
xor ebx, ebx
xor edx, edx
test r9d, r9d
jle 0x1402ab1af
cmp r9d, 8
jb 0x1402ab1af
lea ecx, [r9 - 1]
movsxd rax, ecx
lea rdi, [r8 + rax*8]
movsxd rax, ecx
lea rcx, [rsp + 0x20]
lea rcx, [rcx + rax*8]
cmp r8, rcx
ja 0x1402ab0c7
lea rax, [rsp + 0x20]
cmp rdi, rax
jae 0x1402ab1af
lea ecx, [r9 - 1]
movsxd rax, ecx
lea rdi, [r8 + rax*8]
movsxd rax, ecx
lea rcx, [r10 + rax*8]
cmp r8, rcx
ja 0x1402ab0e7
cmp rdi, r10
jae 0x1402ab1af
mov ecx, r9d
and ecx, 0x80000007
jge 0x1402ab0f9
dec ecx
or ecx, 0xfffffff8
inc ecx
mov eax, r9d
lea r12, [rsp + 0x20]
sub eax, ecx
lea rdi, [rsp + 0x20]
cdqe
lea rsi, [rsp + 0x30]
mov qword [rsp], rax
lea rbp, [rsp + 0x40]
mov r14, qword [rsp]
lea rax, [r8 + 0x10]
mov r15, r10
mov r13, r10
mov r11, r10
sub r15, r8
sub r13, r8
sub r11, r8
sub r12, r8
sub rdi, r8
sub rsi, r8
sub rbp, r8
nop
movdqu xmm0, xmmword [r12 + rax - 0x10]
add ebx, 8
add rdx, 8
movdqu xmm1, xmmword [rax + r11 - 0x10]
lea rax, [rax + 0x40]
xorps xmm1, xmm0
movdqu xmm0, xmmword [rdi + rax - 0x40]
movdqu xmmword [rax - 0x50], xmm1
movdqu xmm1, xmmword [rax + r11 - 0x40]
xorps xmm1, xmm0
movdqu xmm0, xmmword [r15 + rax - 0x30]
movdqu xmmword [rax - 0x40], xmm1
movdqu xmm1, xmmword [rsi + rax - 0x40]
xorps xmm1, xmm0
movdqu xmm0, xmmword [rax + rbp - 0x40]
movdqu xmmword [rax - 0x30], xmm1
movdqu xmm1, xmmword [rax + r13 - 0x20]
xorps xmm1, xmm0
movdqu xmmword [rax - 0x20], xmm1
cmp rdx, r14
jl 0x1402ab140
mov r14, qword [rsp + 0x10]
mov r11d, dword [rsp + 0xc]
movsxd rcx, r9d
cmp rdx, rcx
jge 0x1402ab1d5
mov eax, ecx
sub eax, edx
add ebx, eax
nop dword [rax]
mov rax, qword [rsp + rdx*8 + 0x20]
xor rax, qword [r10 + rdx*8]
mov qword [r8 + rdx*8], rax
inc rdx
cmp rdx, rcx
jl 0x1402ab1c0
mov eax, dword [rsp + 8]
lea ecx, [rbx*8]
add eax, ecx
lea rdx, [rdx*8]
movsxd r9, eax
cmp rdx, r9
jge 0x1402ab217
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rsp + rdx + 0x20]
inc ecx
xor al, byte [rdx + r10]
mov byte [rdx + r8], al
inc rdx
cmp rdx, r9
jl 0x1402ab200
movsxd rax, ecx
sub r11d, ecx
add r10, rax
mov dword [rsp + 0xc], r11d
movsxd rax, ecx
add r8, rax
test r11d, r11d
jg 0x1402aaee0
movaps xmm11, xmmword [rsp + 0x70]
movaps xmm10, xmmword [rsp + 0x80]
movaps xmm9, xmmword [rsp + 0x90]
movaps xmm8, xmmword [rsp + 0xa0]
movaps xmm7, xmmword [rsp + 0xb0]
movaps xmm6, xmmword [rsp + 0xc0]
mov r15, qword [rsp + 0xd0]
mov r13, qword [rsp + 0xd8]
mov r12, qword [rsp + 0xe0]
mov rdi, qword [rsp + 0xe8]
mov rsi, qword [rsp + 0xf0]
mov rbp, qword [rsp + 0xf8]
mov rbx, qword [rsp + 0x118]
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.140284180
add rsp, 0x100
pop r14
ret