Function at 0x69d1a0
Capabilities:
Encode data using xor

Disassembly:
push ebx
push ebp
pcmpeqd xmm4, xmm4
push ecx
pcmpeqw xmm5, xmm5
push edx
pslld xmm4, 0xf
push esi
xorps xmm7, xmm7
push edi
psllw xmm5, 0xf
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
sub esp, 8
stmxcsr dword [esp]
and edx, edx
je 0x69d1db
call fcn.0069c590
mov ebx, dword [esp]
mov eax, 0x3effffff
movd xmm3, eax
pshufd xmm3, xmm3, 0
and edx, edx
jne 0x69d3a7
test esi, 0xc
je 0x69d22f
movss xmm0, dword [esi]
add esi, 4
maxps xmm0, xmm7
addss xmm0, xmm3
add edi, 2
cvttps2dq xmm0, xmm0
paddd xmm0, xmm4
packssdw xmm0, xmm1
pxor xmm0, xmm5
movd eax, xmm0
mov word [edi - 2], ax
sub ecx, 1
jg 0x69d1f4
jmp 0x69d58a
sub ecx, 8
jl 0x69d30b
test esi, 0xf
jne 0x69d2d0
test edi, 0xf
jne 0x69d290
jmp 0x69d250
movaps xmm0, xmmword [esi]
add edi, 0x10
movaps xmm1, xmmword [esi + 0x10]
add esi, 0x20
maxps xmm0, xmm7
maxps xmm1, xmm7
addps xmm0, xmm3
addps xmm1, xmm3
cvttps2dq xmm0, xmm0
cvttps2dq xmm1, xmm1
paddd xmm0, xmm4
paddd xmm1, xmm4
packssdw xmm0, xmm1
pxor xmm0, xmm5
movdqa xmmword [edi - 0x10], xmm0
sub ecx, 8
jge 0x69d250
jmp 0x69d30b
movaps xmm0, xmmword [esi]
add edi, 0x10
movaps xmm1, xmmword [esi + 0x10]
add esi, 0x20
maxps xmm0, xmm7
maxps xmm1, xmm7
addps xmm0, xmm3
addps xmm1, xmm3
cvttps2dq xmm0, xmm0
cvttps2dq xmm1, xmm1
paddd xmm0, xmm4
paddd xmm1, xmm4
packssdw xmm0, xmm1
pxor xmm0, xmm5
movdqu xmmword [edi - 0x10], xmm0
sub ecx, 8
jge 0x69d290
jmp 0x69d30b
movups xmm0, xmmword [esi]
add edi, 0x10
movups xmm1, xmmword [esi + 0x10]
add esi, 0x20
maxps xmm0, xmm7
maxps xmm1, xmm7
addps xmm0, xmm3
addps xmm1, xmm3
cvttps2dq xmm0, xmm0
cvttps2dq xmm1, xmm1
paddd xmm0, xmm4
paddd xmm1, xmm4
packssdw xmm0, xmm1
pxor xmm0, xmm5
movdqu xmmword [edi - 0x10], xmm0
sub ecx, 8
jge 0x69d2d0
add ecx, 8
jle 0x69d58a
sub ecx, 4
jl 0x69d340
movups xmm0, xmmword [esi]
add esi, 0x10
maxps xmm0, xmm7
addps xmm0, xmm3
add edi, 8
cvttps2dq xmm0, xmm0
paddd xmm0, xmm4
packssdw xmm0, xmm0
pxor xmm0, xmm5
sub ecx, 4
movq qword [edi - 8], xmm0
add ecx, 4
jle 0x69d58a
sub ecx, 2
jl 0x69d378
xorps xmm0, xmm0
movlps xmm0, qword [esi]
add esi, 8
maxps xmm0, xmm7
addps xmm0, xmm3
add edi, 4
cvttps2dq xmm0, xmm0
paddd xmm0, xmm4
packssdw xmm0, xmm0
pxor xmm0, xmm5
sub ecx, 2
movd dword [edi - 4], xmm0
add ecx, 2
jle 0x69d58a
movss xmm0, dword [esi]
maxps xmm0, xmm7
addps xmm0, xmm3
cvttps2dq xmm0, xmm0
paddd xmm0, xmm4
packssdw xmm0, xmm0
pxor xmm0, xmm5
movd eax, xmm0
mov word [edi], ax
jmp 0x69d58a
test esi, 0xc
je 0x69d3e6
movss xmm0, dword [esi]
mulss xmm0, xmm6
add esi, 4
maxps xmm0, xmm7
addss xmm0, xmm3
add edi, 2
cvttps2dq xmm0, xmm0
paddd xmm0, xmm4
packssdw xmm0, xmm1
pxor xmm0, xmm5
movd eax, xmm0
mov word [edi - 2], ax
sub ecx, 1
jg 0x69d3a7
jmp 0x69d58a
sub ecx, 8
jl 0x69d4f1
test esi, 0xf
jne 0x69d4b0
test edi, 0xf
jne 0x69d460
jmp 0x69d410
movaps xmm0, xmmword [esi]
mulps xmm0, xmm6
add edi, 0x10
movaps xmm1, xmmword [esi + 0x10]
mulps xmm1, xmm6
add esi, 0x20
maxps xmm0, xmm7
maxps xmm1, xmm7
addps xmm0, xmm3
addps xmm1, xmm3
cvttps2dq xmm0, xmm0
cvttps2dq xmm1, xmm1
paddd xmm0, xmm4
paddd xmm1, xmm4
packssdw xmm0, xmm1
pxor xmm0, xmm5
movdqa xmmword [edi - 0x10], xmm0
sub ecx, 8
jge 0x69d410
jmp 0x69d4f1
movaps xmm0, xmmword [esi]
mulps xmm0, xmm6
add edi, 0x10
movaps xmm1, xmmword [esi + 0x10]
mulps xmm1, xmm6
add esi, 0x20
maxps xmm0, xmm7
maxps xmm1, xmm7
addps xmm0, xmm3
addps xmm1, xmm3
cvttps2dq xmm0, xmm0
cvttps2dq xmm1, xmm1
paddd xmm0, xmm4
paddd xmm1, xmm4
packssdw xmm0, xmm1
pxor xmm0, xmm5
movdqu xmmword [edi - 0x10], xmm0
sub ecx, 8
jge 0x69d460
jmp 0x69d4f1
movups xmm0, xmmword [esi]
mulps xmm0, xmm6
add edi, 0x10
movups xmm1, xmmword [esi + 0x10]
mulps xmm1, xmm6
add esi, 0x20
maxps xmm0, xmm7
maxps xmm1, xmm7
addps xmm0, xmm3
addps xmm1, xmm3
cvttps2dq xmm0, xmm0
cvttps2dq xmm1, xmm1
paddd xmm0, xmm4
paddd xmm1, xmm4
packssdw xmm0, xmm1
pxor xmm0, xmm5
movdqu xmmword [edi - 0x10], xmm0
sub ecx, 8
jge 0x69d4b0
add ecx, 8
jle 0x69d58a
sub ecx, 4
jl 0x69d529
movups xmm0, xmmword [esi]
mulps xmm0, xmm6
add esi, 0x10
maxps xmm0, xmm7
addps xmm0, xmm3
add edi, 8
cvttps2dq xmm0, xmm0
paddd xmm0, xmm4
packssdw xmm0, xmm0
pxor xmm0, xmm5
sub ecx, 4
movq qword [edi - 8], xmm0
add ecx, 4
jle 0x69d58a
sub ecx, 2
jl 0x69d560
xorps xmm0, xmm0
movlps xmm0, qword [esi]
mulps xmm0, xmm6
add esi, 8
maxps xmm0, xmm7
addps xmm0, xmm3
add edi, 4
cvttps2dq xmm0, xmm0
paddd xmm0, xmm4
packssdw xmm0, xmm0
pxor xmm0, xmm5
sub ecx, 2
movd dword [edi - 4], xmm0
add ecx, 2
jle 0x69d58a
movss xmm0, dword [esi]
mulss xmm0, xmm6
maxps xmm0, xmm7
addps xmm0, xmm3
cvttps2dq xmm0, xmm0
paddd xmm0, xmm4
packssdw xmm0, xmm0
pxor xmm0, xmm5
movd eax, xmm0
mov word [edi], ax
stmxcsr dword [esp + 4]
mov eax, dword [esp + 4]
xor eax, ebx
and eax, 0x6001
je 0x69d5a9
and ebx, 0xffbf
mov dword [esp], ebx
ldmxcsr dword [esp]
add esp, 8
pop edi
pop esi
pop edx
pop ecx
pop ebp
pop ebx
ret