Function at 0x1401c2540
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xf8
lea rbp, [rsp + 0x20]
movaps xmmword [rbp + 0xc0], xmm6
movaps xmmword [rbp + 0xb0], xmm7
movaps xmmword [rbp + 0xa0], xmm8
movaps xmmword [rbp + 0x90], xmm9
movaps xmmword [rbp + 0x80], xmm10
movaps xmmword [rbp + 0x70], xmm11
movaps xmmword [rbp + 0x60], xmm12
movaps xmmword [rbp + 0x50], xmm13
movaps xmmword [rbp + 0x40], xmm14
movaps xmmword [rbp + 0x30], xmm15
mov rax, qword [0x1402e0068]
xor rax, rbp
mov qword [rbp + 0x20], rax
movss xmm6, dword [0x14028a310]
movdqa xmm14, xmmword [0x14028a2f0]
movsxd rsi, r9d
mov rbx, rdx
mov rdx, rcx
mov r13d, r8d
lea eax, [rsi + 3]
movabs r8, 0xffffffffffffff0
shufps xmm6, xmm6, 0
movsxd rcx, eax
shl rcx, 2
lea rax, [rcx + 0xf]
cmp rax, rcx
ja 0x1401c25e7
mov rax, r8
and rax, 0xfffffffffffffff0
call fcn.140232c50
sub rsp, rax
lea rax, [rcx + 0xf]
lea r14, [rsp + 0x20]
cmp rax, rcx
ja 0x1401c2604
mov rax, r8
and rax, 0xfffffffffffffff0
call fcn.140232c50
sub rsp, rax
lea rax, [rcx + 0xf]
lea rdi, [rsp + 0x20]
cmp rax, rcx
ja 0x1401c2621
mov rax, r8
and rax, 0xfffffffffffffff0
call fcn.140232c50
sub rsp, rax
lea r15, [rsi*4]
lea rax, [rsp + 0x20]
mov r8, r15
mov rcx, rdi
mov qword [rbp], rax
call fcn.1401e75a0
mov r11, qword [rbp]
xorps xmm9, xmm9
movaps xmm3, xmm9
xor r10d, r10d
mov dword [rdi + rsi*4 + 8], r10d
mov dword [rdi + rsi*4 + 4], r10d
mov dword [r15 + rdi], r10d
test esi, esi
jle 0x1401c26c5
lea r10d, [rsi - 1]
mov rdx, r14
mov r8, rbx
mov r9, r11
shr r10d, 2
sub rdx, rbx
pxor xmm4, xmm4
sub r8, rdi
sub r9, rdi
mov rcx, rdi
inc r10d
nop
movups xmm0, xmmword [rcx]
lea rax, [r8 + rcx]
movaps xmm1, xmm6
add rcx, 0x10
sub r10, 1
movups xmmword [rax + rdx], xmm9
andnps xmm1, xmm0
movdqu xmmword [rax], xmm4
movaps xmm2, xmm0
movups xmmword [rcx - 0x10], xmm1
cmpltps xmm2, xmm9
addps xmm3, xmm1
movups xmmword [r9 + rcx - 0x10], xmm2
jne 0x1401c2690
xorps xmm8, xmm8
movss xmm13, dword [0x1402ab594]
movaps xmm0, xmm3
mov eax, esi
sar eax, 1
cmp r13d, eax
shufps xmm0, xmm3, 0x4e
addps xmm3, xmm0
movaps xmm12, xmm8
movss dword [rbp], xmm12
movaps xmm0, xmm3
shufps xmm0, xmm3, 0xb1
addps xmm3, xmm0
jle 0x1401c280e
comiss xmm3, dword [0x1402811b0]
jbe 0x1401c270f
comiss xmm3, dword [0x14028137c]
jb 0x1401c2735
mov dword [rdi], 0x3f800000
mov eax, 1
nop word [rax + rax]
mov dword [rdi + rax*4], r10d
inc rax
cmp rax, rsi
jl 0x1401c2720
movss xmm3, xmm13
shufps xmm3, xmm3, 0
movd xmm0, r13d
rcpps xmm1, xmm3
movaps xmm5, xmm9
pxor xmm6, xmm6
movaps xmm7, xmm5
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [0x1402ab578]
cvtsd2ss xmm4, xmm0
shufps xmm4, xmm4, 0
mulps xmm4, xmm1
test esi, esi
jle 0x1401c27c1
lea r9d, [rsi - 1]
mov rcx, rdi
mov rdx, r14
shr r9d, 2
sub rcx, rbx
sub rdx, rbx
inc r9d
mov r8, rbx
nop dword [rax]
movups xmm2, xmmword [rcx + r8]
add r8, 0x10
sub r9, 1
movaps xmm0, xmm2
mulps xmm0, xmm4
cvttps2dq xmm1, xmm0
cvtdq2ps xmm3, xmm1
paddd xmm6, xmm1
movdqu xmmword [r8 - 0x10], xmm1
movaps xmm0, xmm3
mulps xmm0, xmm2
addps xmm7, xmm0
movaps xmm0, xmm3
mulps xmm0, xmm3
addps xmm3, xmm3
movups xmmword [r8 + rdx - 0x10], xmm3
addps xmm5, xmm0
jne 0x1401c2780
pshufd xmm0, xmm6, 0x4e
paddd xmm6, xmm0
pshufd xmm0, xmm6, 0xb1
paddd xmm6, xmm0
movaps xmm0, xmm7
movd eax, xmm6
shufps xmm0, xmm7, 0x4e
addps xmm7, xmm0
movaps xmm0, xmm5
sub r13d, eax
shufps xmm0, xmm5, 0x4e
movaps xmm12, xmm7
addps xmm5, xmm0
shufps xmm12, xmm7, 0xb1
addps xmm12, xmm7
movaps xmm8, xmm5
movss dword [rbp], xmm12
shufps xmm8, xmm5, 0xb1
addps xmm8, xmm5
mov dword [rdi + rsi*4 + 8], 0xc2c80000
mov dword [rdi + rsi*4 + 4], 0xc2c80000
mov dword [r15 + rdi], 0xc2c80000
lea eax, [rsi + 3]
mov dword [r14 + rsi*4 + 8], 0x42c80000
mov dword [r14 + rsi*4 + 4], 0x42c80000
cmp r13d, eax
mov dword [r15 + r14], 0x42c80000
jle 0x1401c286f
movd xmm0, r13d
cvtdq2ps xmm0, xmm0
movaps xmm1, xmm0
mulss xmm1, xmm0
mulss xmm0, dword [r14]
add dword [rbx], r13d
mov r13d, r10d
addss xmm1, xmm8
addss xmm1, xmm0
movaps xmm8, xmm1
test r13d, r13d
jle 0x1401c2989
movdqa xmm11, xmmword [0x14028a300]
movss xmm15, dword [0x1402abc50]
pxor xmm10, xmm10
mov r9d, r13d
movss xmm5, dword [rbp]
addss xmm8, xmm13
movaps xmm3, xmm9
movdqa xmm4, xmm10
movdqa xmm7, xmm11
shufps xmm5, xmm5, 0
movss dword [rbp + 0x10], xmm8
movss xmm6, dword [rbp + 0x10]
shufps xmm6, xmm6, 0
test esi, esi
jle 0x1401c2918
lea r8d, [rsi - 1]
mov rdx, r14
mov rcx, rdi
shr r8d, 2
sub rdx, rdi
inc r8d
nop word [rax + rax]
movups xmm0, xmmword [rdx + rcx]
movups xmm1, xmmword [rcx]
add rcx, 0x10
sub r8, 1
addps xmm0, xmm6
addps xmm1, xmm5
rsqrtps xmm2, xmm0
movaps xmm0, xmm3
mulps xmm2, xmm1
movdqa xmm1, xmm7
paddd xmm7, xmm14
cmpltps xmm0, xmm2
maxps xmm3, xmm2
pand xmm1, xmm0
pmaxsw xmm4, xmm1
jne 0x1401c28e0
movaps xmm0, xmm3
movaps xmm1, xmm3
shufps xmm0, xmm3, 0x4e
maxps xmm1, xmm0
movaps xmm0, xmm1
shufps xmm0, xmm1, 0xb1
maxps xmm1, xmm0
cmpeqps xmm1, xmm3
pand xmm4, xmm1
movdqa xmm0, xmm4
punpckhqdq xmm0, xmm4
pmaxsw xmm4, xmm0
pshuflw xmm0, xmm4, 0x4e
pmaxsw xmm4, xmm0
movd eax, xmm4
movsxd rcx, eax
movss xmm1, dword [r14 + rcx*4]
addss xmm12, dword [rdi + rcx*4]
movaps xmm0, xmm1
addss xmm1, xmm15
addss xmm0, xmm8
movss dword [rbp], xmm12
movaps xmm8, xmm0
movss dword [r14 + rcx*4], xmm1
inc dword [rbx + rcx*4]
sub r9, 1
jne 0x1401c2892
test esi, esi
jle 0x1401c29c0
lea ecx, [rsi - 1]
sub r11, rbx
shr ecx, 2
inc ecx
nop dword [rax + rax]
movups xmm1, xmmword [r11 + rbx]
movdqu xmm2, xmmword [rbx]
add rbx, 0x10
sub rcx, 1
paddd xmm2, xmm1
pxor xmm2, xmm1
movdqu xmmword [rbx - 0x10], xmm2
jne 0x1401c29a0
movaps xmm0, xmm8
mov rcx, qword [rbp + 0x20]
xor rcx, rbp
call fcn.1401e6720
movaps xmm6, xmmword [rbp + 0xc0]
movaps xmm7, xmmword [rbp + 0xb0]
movaps xmm8, xmmword [rbp + 0xa0]
movaps xmm9, xmmword [rbp + 0x90]
movaps xmm10, xmmword [rbp + 0x80]
movaps xmm11, xmmword [rbp + 0x70]
movaps xmm12, xmmword [rbp + 0x60]
movaps xmm13, xmmword [rbp + 0x50]
movaps xmm14, xmmword [rbp + 0x40]
movaps xmm15, xmmword [rbp + 0x30]
lea rsp, [rbp + 0xd8]
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret