Function at 0x6990c700
Capabilities:
Encode data using xor

Disassembly:
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x98
movups xmmword [rsp], xmm6
movups xmmword [rsp + 0x10], xmm7
movups xmmword [rsp + 0x20], xmm8
movups xmmword [rsp + 0x30], xmm9
movups xmmword [rsp + 0x40], xmm10
movups xmmword [rsp + 0x50], xmm11
movups xmmword [rsp + 0x60], xmm12
movups xmmword [rsp + 0x70], xmm13
movups xmmword [rsp + 0x80], xmm14
test r8d, r8d
jle 0x6990cba2
movsxd rax, r8d
lea r9d, [r8 - 1]
lea r10, [rcx + rax*4]
cmp rdx, r10
setae bl
shl rax, 4
add rax, rdx
cmp rcx, rax
setae sil
or bl, sil
je 0x6990cbf0
cmp r9d, 2
jbe 0x6990cbf0
mov r11d, r8d
movups xmm7, xmmword [0x699f7750]
mov rdi, rdx
mov rbp, rcx
shr r11d, 2
movups xmm5, xmmword [0x699f7760]
movups xmm8, xmmword [0x699f7740]
pxor xmm6, xmm6
movdqu xmm10, xmmword [0x699f7770]
shl r11, 6
movdqu xmm9, xmmword [0x699f7710]
add r11, rdx
movups xmm2, xmmword [rdi]
movups xmm3, xmmword [rdi + 0x10]
add rdi, 0x40
add rbp, 0x10
movups xmm11, xmmword [rdi - 0x20]
movups xmm4, xmmword [rdi - 0x10]
movups xmm1, xmm2
shufps xmm2, xmm3, 0xdd
shufps xmm1, xmm3, 0x88
movups xmm12, xmm11
movups xmm14, xmm1
shufps xmm11, xmm4, 0xdd
shufps xmm12, xmm4, 0x88
shufps xmm14, xmm12, 0x88
minps xmm14, xmm8
movups xmm4, xmm5
shufps xmm1, xmm12, 0xdd
minps xmm1, xmm8
movups xmm12, xmm5
maxps xmm14, xmm6
maxps xmm1, xmm6
mulps xmm14, xmm7
mulps xmm1, xmm7
cmpleps xmm4, xmm14
cmpleps xmm12, xmm1
movups xmm13, xmm4
movdqu xmm0, xmm4
andps xmm13, xmm5
pslld xmm0, 0x1f
subps xmm14, xmm13
movups xmm13, xmm5
cvttps2dq xmm3, xmm14
pxor xmm3, xmm0
movups xmm0, xmm2
shufps xmm2, xmm11, 0xdd
shufps xmm0, xmm11, 0x88
minps xmm0, xmm8
minps xmm2, xmm8
movups xmm11, xmm5
maxps xmm0, xmm6
maxps xmm2, xmm6
mulps xmm0, xmm7
mulps xmm2, xmm7
cmpleps xmm13, xmm0
cmpleps xmm11, xmm2
movups xmm14, xmm13
pslld xmm13, 0x1f
andps xmm14, xmm5
subps xmm0, xmm14
movdqu xmm14, xmm12
pslld xmm14, 0x1f
cvttps2dq xmm4, xmm0
movups xmm0, xmm12
pxor xmm4, xmm13
movdqu xmm12, xmm11
andps xmm0, xmm5
pslld xmm12, 0x1f
subps xmm1, xmm0
movdqu xmm0, xmm4
psrld xmm0, 8
psubd xmm4, xmm0
cvttps2dq xmm13, xmm1
movups xmm1, xmm11
pxor xmm13, xmm14
movdqu xmm11, xmm3
pslld xmm4, 0x10
psrld xmm11, 8
andps xmm1, xmm5
subps xmm2, xmm1
psubd xmm3, xmm11
pslld xmm3, 0x18
cvttps2dq xmm14, xmm2
movdqu xmm2, xmm13
pxor xmm14, xmm12
psrld xmm2, 8
psubd xmm13, xmm2
pslld xmm13, 8
pand xmm13, xmm10
por xmm4, xmm13
movdqu xmm13, xmm14
psrld xmm13, 8
psubd xmm14, xmm13
pand xmm14, xmm9
por xmm14, xmm3
por xmm14, xmm4
movups xmmword [rbp - 0x10], xmm14
cmp rdi, r11
jne 0x6990c7c0
mov r9d, r8d
and r9d, 0xfffffffc
test r8b, 3
je 0x6990cba2
movss xmm8, dword [0x699f7700]
mov r11d, r9d
pxor xmm5, xmm5
movss xmm10, dword [0x699f7780]
mov r13, r11
shl r13, 4
add r13, rdx
movss xmm7, dword [r13]
movss xmm3, dword [r13 + 0xc]
movss xmm9, dword [r13 + 4]
movss xmm6, dword [r13 + 8]
minss xmm7, xmm8
minss xmm3, xmm8
minss xmm9, xmm8
minss xmm6, xmm8
maxss xmm7, xmm5
maxss xmm3, xmm5
maxss xmm9, xmm5
maxss xmm6, xmm5
mulss xmm7, xmm10
mulss xmm3, xmm10
mulss xmm9, xmm10
mulss xmm6, xmm10
cvttss2si r10, xmm7
cvttss2si rax, xmm3
cvttss2si rsi, xmm9
cvttss2si rbx, xmm6
mov r12d, r10d
mov r13d, eax
shr r12d, 8
mov ebp, esi
shr r13d, 8
sub r10d, r12d
shr ebp, 8
mov edi, ebx
sub eax, r13d
shl r10d, 0x18
shr edi, 8
movzx eax, ax
sub esi, ebp
sub ebx, edi
or eax, r10d
shl esi, 0x10
shl ebx, 8
or eax, esi
and ebx, 0xffff00
or eax, ebx
mov dword [rcx + r11*4], eax
lea r11d, [r9 + 1]
cmp r8d, r11d
jle 0x6990cba2
movsxd rbx, r11d
add r9d, 2
mov r13, rbx
shl r13, 4
add r13, rdx
movss xmm4, dword [r13]
movss xmm14, dword [r13 + 0xc]
movss xmm1, dword [r13 + 4]
movss xmm12, dword [r13 + 8]
minss xmm4, xmm8
minss xmm14, xmm8
minss xmm1, xmm8
minss xmm12, xmm8
maxss xmm4, xmm5
maxss xmm14, xmm5
maxss xmm1, xmm5
maxss xmm12, xmm5
mulss xmm4, xmm10
mulss xmm14, xmm10
mulss xmm1, xmm10
mulss xmm12, xmm10
cvttss2si r10, xmm4
cvttss2si rax, xmm14
cvttss2si rsi, xmm1
cvttss2si r11, xmm12
mov r12d, r10d
mov r13d, eax
shr r12d, 8
mov ebp, esi
shr r13d, 8
sub r10d, r12d
shr ebp, 8
mov edi, r11d
sub eax, r13d
shl r10d, 0x18
shr edi, 8
movzx eax, ax
sub esi, ebp
sub r11d, edi
or eax, r10d
shl esi, 0x10
shl r11d, 8
or eax, esi
and r11d, 0xffff00
or eax, r11d
mov dword [rcx + rbx*4], eax
cmp r8d, r9d
jle 0x6990cba2
movsxd r9, r9d
mov r12, r9
shl r12, 4
add r12, rdx
movss xmm2, dword [r12]
movss xmm0, dword [r12 + 4]
movss xmm13, dword [r12 + 8]
minss xmm2, xmm8
minss xmm0, xmm8
minss xmm13, xmm8
minss xmm8, dword [r12 + 0xc]
maxss xmm2, xmm5
maxss xmm0, xmm5
maxss xmm8, xmm5
maxss xmm13, xmm5
mulss xmm2, xmm10
mulss xmm8, xmm10
mulss xmm0, xmm10
mulss xmm13, xmm10
cvttss2si r10, xmm2
cvttss2si r11, xmm8
cvttss2si r8, xmm0
cvttss2si rdx, xmm13
mov esi, r10d
mov edi, r11d
shr esi, 8
mov ebx, r8d
shr edi, 8
sub r10d, esi
shr ebx, 8
mov ebp, edx
sub r11d, edi
shl r10d, 0x18
shr ebp, 8
movzx r13d, r11w
sub r8d, ebx
sub edx, ebp
or r13d, r10d
shl r8d, 0x10
shl edx, 8
or r13d, r8d
and edx, 0xffff00
or r13d, edx
mov dword [rcx + r9*4], r13d
movups xmm6, xmmword [rsp]
movups xmm7, xmmword [rsp + 0x10]
movups xmm8, xmmword [rsp + 0x20]
movups xmm9, xmmword [rsp + 0x30]
movups xmm10, xmmword [rsp + 0x40]
movups xmm11, xmmword [rsp + 0x50]
movups xmm12, xmmword [rsp + 0x60]
movups xmm13, xmmword [rsp + 0x70]
movups xmm14, xmmword [rsp + 0x80]
add rsp, 0x98
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
lea r12, [rdx + 0x10]
shl r9, 4
movss xmm11, dword [0x699f7700]
movss xmm7, dword [0x699f7780]
lea r8, [r12 + r9]
pxor xmm8, xmm8
mov rax, r8
sub rax, rdx
test al, 0x10
je 0x6990cce0
movss xmm5, dword [rdx]
movss xmm6, dword [rdx + 0xc]
add rcx, 4
movss xmm10, dword [rdx + 4]
movss xmm9, dword [rdx + 8]
minss xmm5, xmm11
minss xmm6, xmm11
minss xmm10, xmm11
minss xmm9, xmm11
maxss xmm5, xmm8
maxss xmm6, xmm8
maxss xmm10, xmm8
maxss xmm9, xmm8
mulss xmm5, xmm7
mulss xmm6, xmm7
mulss xmm10, xmm7
mulss xmm9, xmm7
cvttss2si r11, xmm5
cvttss2si rdx, xmm6
cvttss2si r10, xmm10
cvttss2si r9, xmm9
mov ebp, r11d
mov edi, edx
shr ebp, 8
mov esi, r10d
shr edi, 8
sub r11d, ebp
shr esi, 8
mov ebx, r9d
sub edx, edi
shl r11d, 0x18
shr ebx, 8
movzx r13d, dx
sub r10d, esi
mov rdx, r12
sub r9d, ebx
or r11d, r13d
shl r10d, 0x10
shl r9d, 8
or r11d, r10d
and r9d, 0xffff00
or r11d, r9d
mov dword [rcx - 4], r11d
cmp r12, r8
je 0x6990cba2
nop dword [rax]
movss xmm3, dword [rdx]
movss xmm12, dword [rdx + 0xc]
add rdx, 0x20
add rcx, 8
movss xmm4, dword [rdx - 0x1c]
movss xmm1, dword [rdx - 0x18]
minss xmm3, xmm11
minss xmm12, xmm11
minss xmm4, xmm11
minss xmm1, xmm11
maxss xmm3, xmm8
maxss xmm12, xmm8
maxss xmm4, xmm8
maxss xmm1, xmm8
mulss xmm3, xmm7
mulss xmm12, xmm7
mulss xmm4, xmm7
mulss xmm1, xmm7
cvttss2si r12, xmm3
cvttss2si r11, xmm12
cvttss2si rbp, xmm4
cvttss2si rsi, xmm1
mov eax, r12d
mov ebx, r11d
shr eax, 8
mov r10d, ebp
shr ebx, 8
sub r12d, eax
shr r10d, 8
mov r9d, esi
sub r11d, ebx
shl r12d, 0x18
shr r9d, 8
movzx edi, r11w
sub ebp, r10d
sub esi, r9d
shl ebp, 0x10
or r12d, edi
shl esi, 8
or r12d, ebp
and esi, 0xffff00
or r12d, esi
mov dword [rcx - 8], r12d
movss xmm14, dword [rdx - 0x10]
movss xmm13, dword [rdx - 4]
movss xmm2, dword [rdx - 0xc]
movss xmm0, dword [rdx - 8]
minss xmm14, xmm11
minss xmm13, xmm11
minss xmm2, xmm11
minss xmm0, xmm11
maxss xmm14, xmm8
maxss xmm13, xmm8
maxss xmm2, xmm8
maxss xmm0, xmm8
mulss xmm14, xmm7
mulss xmm13, xmm7
mulss xmm2, xmm7
mulss xmm0, xmm7
cvttss2si r13, xmm14
cvttss2si r9, xmm13
cvttss2si rax, xmm2
cvttss2si r10, xmm0
mov r12d, r13d
mov r11d, r9d
shr r12d, 8
mov ebp, eax
shr r11d, 8
sub r13d, r12d
shr ebp, 8
mov esi, r10d
sub r9d, r11d
shl r13d, 0x18
shr esi, 8
movzx ebx, r9w
sub eax, ebp
sub r10d, esi
or r13d, ebx
shl eax, 0x10
shl r10d, 8
or r13d, eax
and r10d, 0xffff00
or r13d, r10d
mov dword [rcx - 4], r13d
cmp rdx, r8
jne 0x6990cce0
jmp 0x6990cba2