Function at 0x1017d560
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
mov eax, 0x1058
call fcn.1037f1f0
mov eax, dword [0x10444724]
xor eax, esp
mov dword [esp + 0x1054], eax
movaps xmm1, xmmword [0x1039b0f0]
movaps xmm2, xmmword [0x1038b850]
push esi
mov esi, dword [ebp + 8]
movaps xmm4, xmm2
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x14]
push edi
movq xmm0, qword [esi + 0x18]
movq xmm6, qword [esi]
movaps xmm5, xmm0
movq xmm3, qword [esi + 0x10]
movq xmm7, qword [esi + 8]
mulps xmm5, xmm1
mov edi, dword [ebp + 0xc]
mulps xmm1, xmm6
mov dword [esp + 0x2c], eax
mulps xmm2, xmm0
xorps xmm0, xmm0
mov dword [esp + 0xc], ecx
mulps xmm4, xmm6
movaps xmmword [esp + 0x30], xmm3
addps xmm2, xmm1
movaps xmmword [esp + 0x40], xmm6
movaps xmm1, xmm7
xorps xmm6, xmm6
addps xmm4, xmm5
subps xmm3, xmm2
subps xmm1, xmm4
subps xmm0, xmm3
maxps xmm3, xmm0
xorps xmm0, xmm0
subps xmm0, xmm1
maxps xmm1, xmm0
maxps xmm1, xmm3
movlps qword [esp + 0x10], xmm1
movss xmm1, dword [esp + 0x14]
movsd xmm0, qword [esp + 0x10]
comiss xmm1, xmm0
ja 0x1017d611
movaps xmm1, xmm0
movss xmm0, dword [0x1038c324]
xor ecx, ecx
movss xmm2, dword [0x10388100]
comiss xmm0, xmm1
ja 0x1017d639
inc ecx
mulss xmm0, xmm2
cmp ecx, 9
jl 0x1017d623
mov edx, 0x200
jmp 0x1017d640
mov edx, 1
shl edx, cl
cmp edx, 1
jne 0x1017d67d
movss xmm0, dword [esi]
movss dword [esp + 0x10], xmm0
movss xmm0, dword [esi + 4]
movss dword [esp + 0x14], xmm0
movss xmm0, dword [esi + 0x18]
push eax
movss dword [esp + 0x1c], xmm0
lea eax, [esp + 0x14]
movss xmm0, dword [esi + 0x1c]
push edi
movss dword [esp + 0x24], xmm0
push 2
jmp 0x1017d771
movaps xmm2, xmmword [esp + 0x30]
movaps xmm3, xmm7
movaps xmm1, xmmword [0x1038a520]
subps xmm3, xmm2
movq xmm0, qword [esi + 0x18]
movaps xmm4, xmmword [esp + 0x40]
mulps xmm3, xmm1
addps xmm3, xmm0
movaps xmm0, xmm7
addps xmm0, xmm7
subps xmm7, xmm4
subps xmm3, xmm4
subps xmm2, xmm0
movd xmm0, edx
mulps xmm7, xmm1
cvtdq2ps xmm0, xmm0
movaps xmmword [esp + 0x10], xmm7
addps xmm2, xmm4
movaps xmm4, xmmword [0x1038a090]
movss xmm7, dword [0x10386834]
divss xmm7, xmm0
movss xmm0, dword [esi]
mulps xmm2, xmm1
movss dword [esp + 0x50], xmm0
movss xmm0, dword [esi + 4]
shufps xmm7, xmm7, 0
movaps xmmword [esp + 0x30], xmm2
movss dword [esp + 0x54], xmm0
jle 0x1017d74e
movaps xmm5, xmmword [0x1039b100]
lea eax, [esp + 0x58]
lea ecx, [edx - 1]
addps xmm6, xmm7
movaps xmm0, xmm3
movaps xmm1, xmm2
movaps xmm2, xmmword [esp + 0x10]
mulps xmm0, xmm6
addps xmm1, xmm0
mulps xmm1, xmm6
addps xmm2, xmm1
mulps xmm2, xmm6
addps xmm2, xmmword [esp + 0x40]
movq xmm0, xmm2
movlps qword [eax], xmm2
movaps xmm2, xmmword [esp + 0x30]
pand xmm0, xmm5
pcmpeqd xmm0, xmm5
add eax, 8
pxor xmm0, xmmword [0x1038a090]
pand xmm4, xmm0
sub ecx, 1
jne 0x1017d704
pmovmskb eax, xmm4
cmp al, 0xff
jne 0x1017d779
mov eax, dword [esi + 0x18]
push dword [esp + 0x2c]
mov dword [esp + edx*8 + 0x54], eax
mov eax, dword [esi + 0x1c]
mov dword [esp + edx*8 + 0x58], eax
lea eax, [edx + 1]
push edi
push eax
lea eax, [esp + 0x5c]
push eax
call dword [esp + 0x1c]
add esp, 0x10
mov ecx, dword [esp + 0x105c]
pop edi
pop esi
xor ecx, esp
call fcn.1037e005
mov esp, ebp
pop ebp
ret