Function at 0x1001d970
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0xc0
mov eax, dword [ebp + 0xc]
test eax, eax
jbe 0x1001e605
movss xmm5, dword [0x1035e8a8]
mulss xmm5, dword [ebp + 0x24]
movss xmm0, dword [0x1035e8a4]
mov ecx, dword [ebp + 0x10]
subss xmm0, xmm5
mov dword [esp + 0x1c], esi
lea edx, [ecx - 1]
mov dword [esp + 0xa4], edx
mov edx, ecx
shr edx, 1
pcmpeqd xmm5, xmm5
mov dword [esp + 0x60], 0
movss xmm4, dword [0x1035e890]
movss xmm7, dword [0x1035e8ac]
movss xmm6, dword [0x1035e8b0]
movss dword [esp + 0x3c], xmm0
mov dword [esp + 0x64], edx
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], ebx
mov ebx, ecx
mov esi, dword [ebp + 8]
mov eax, dword [esp + 0x60]
lea edi, [eax + eax*4]
mov edx, edi
shl edx, 5
shl edi, 4
lea edx, [edx + esi + 0x20]
mov dword [esp + 0x68], edx
mov edx, dword [ebp + 0x14]
add edx, edi
mov dword [esp + 0x74], edx
mov edx, dword [ebp + 0x18]
add edx, edi
mov dword [esp + 0x6c], edx
mov edx, dword [ebp + 0x1c]
add edx, edi
mov dword [esp + 0x70], edx
mov edx, dword [ebp + 0x20]
movss xmm0, dword [edx + eax*4]
movaps xmm1, xmm0
mulss xmm1, xmm0
mulss xmm1, xmm1
mulss xmm1, xmm0
cvtss2sd xmm1, xmm1
mov eax, dword [ebp + 0x28]
movss dword [esp + 0x7c], xmm0
add eax, edi
mov dword [esp + 0x88], eax
movsd qword [esp], xmm1
mov dword [esp + 8], 0xffffffff
call fcn.10009ad0
pxor xmm0, xmm0
cvtss2sd xmm0, dword [esp + 0x7c]
fstp qword [esp + 0x30]
movsd qword [esp], xmm0
mov dword [esp + 8], 0xffffffff
call fcn.10009ad0
fstp qword [esp + 0x80]
movsd xmm0, qword [esp + 0x80]
pxor xmm3, xmm3
movsd xmm1, qword [esp + 0x30]
pxor xmm2, xmm2
cvtsd2ss xmm0, xmm0
cvtsd2ss xmm1, xmm1
maxss xmm2, dword [esp + 0x7c]
addss xmm0, xmm1
minss xmm3, xmm0
addss xmm3, xmm2
mulss xmm3, dword [0x1035e890]
cvtss2sd xmm3, xmm3
movsd qword [esp], xmm3
mov dword [esp + 8], 0xfffffffd
call fcn.10009ad0
fstp qword [esp + 0x80]
test ebx, ebx
movsd xmm0, qword [esp + 0x80]
cvtsd2ss xmm0, xmm0
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0x1c]
movss xmm2, dword [esi + 0x14]
movss xmm1, dword [esi + 0x18]
addss xmm0, dword [0x1035e894]
jbe 0x1001e6a1
xor eax, eax
mov dword [esp + 0x50], edx
movss dword [esp + 0x44], xmm1
movss dword [esp + 0x48], xmm2
movss dword [esp + 0x4c], xmm0
mov dword [esp + 0x40], ecx
mov ecx, ebx
mov dword [esp + 0x38], edi
mov ebx, eax
mov edx, dword [esp + 0x70]
mov esi, dword [esp + 0x6c]
mov eax, dword [esp + 0x74]
movss xmm1, dword [eax + ebx*4]
movss xmm0, dword [esi + ebx*4]
comiss xmm1, dword [edx + ebx*4]
jb 0x1001dcc2
cvtss2sd xmm0, xmm0
movsd qword [esp], xmm0
mov dword [esp + 8], 0xffffffff
movss dword [esp + 0x18], xmm1
mov dword [esp + 0x70], edx
mov dword [esp + 0x74], eax
call fcn.10009ad0
fstp qword [esp + 0x80]
mov edi, dword [esp + 0x50]
movsd xmm0, qword [esp + 0x80]
cvtsd2ss xmm0, xmm0
movss xmm3, dword [edi + ebx*4]
mov edi, dword [esp + 0x40]
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x70]
movss xmm2, dword [edi + ebx*4]
xor edi, edi
inc edi
movss xmm1, dword [esp + 0x18]
subss xmm0, xmm2
mulss xmm0, xmm3
cvtss2sd xmm0, xmm0
movss dword [esp + 0x14], xmm3
movss dword [esp + 0x10], xmm2
movsd qword [esp], xmm0
mov ecx, dword [ebp + 0x10]
mov dword [esp + 8], edi
movss dword [esp + 0x18], xmm1
mov dword [esp + 0x70], edx
mov dword [esp + 0x74], eax
call fcn.10009ad0
movss xmm1, dword [esp + 0x18]
cvtss2sd xmm1, xmm1
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x70]
fstp qword [esp + 0x20]
movsd qword [esp], xmm1
mov ecx, dword [ebp + 0x10]
mov dword [esp + 8], 0xffffffff
mov dword [esp + 0x70], edx
mov dword [esp + 0x74], eax
call fcn.10009ad0
fstp qword [esp + 0x80]
movsd xmm0, qword [esp + 0x80]
cvtsd2ss xmm0, xmm0
movss xmm1, dword [esp + 0x14]
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x70]
mov ecx, dword [ebp + 0x10]
subss xmm0, dword [esp + 0x10]
mulss xmm1, xmm0
cvtss2sd xmm1, xmm1
movsd qword [esp], xmm1
mov dword [esp + 8], edi
mov dword [esp + 0x70], edx
mov dword [esp + 0x74], eax
call fcn.10009ad0
fstp qword [esp + 0x80]
movsd xmm0, qword [esp + 0x80]
pxor xmm4, xmm4
cvtsd2ss xmm0, xmm0
movsd xmm1, qword [esp + 0x20]
cvtsd2ss xmm1, xmm1
addss xmm0, dword [0x1035e8b4]
movss xmm2, dword [esp + 0x4c]
minss xmm0, xmm1
mov edi, dword [esp + 0x68]
minss xmm2, xmm0
movss xmm3, dword [edi + ebx*4]
mulss xmm3, dword [esp + 0x48]
mulss xmm2, dword [esp + 0x44]
mov eax, dword [esp + 0x74]
addss xmm3, xmm2
mov edx, dword [esp + 0x70]
maxss xmm4, xmm3
mov ecx, dword [ebp + 0x10]
movss dword [edi + ebx*4], xmm4
inc ebx
cmp ebx, ecx
jb 0x1001db3b
mov dword [esp + 0x74], eax
mov ebx, ecx
mov eax, dword [esp + 0x68]
cmp ebx, 4
mov dword [esp + 0x70], edx
mov edi, dword [esp + 0x38]
mov esi, dword [ebp + 8]
lea edx, [eax + 0x50]
mov dword [esp + 0x58], edx
jb 0x1001e609
and edx, 0xf
je 0x1001dd13
test dl, 3
jne 0x1001e609
neg edx
add edx, 0x10
shr edx, 2
lea eax, [edx + 4]
cmp ebx, eax
jb 0x1001e609
jmp 0x1001dd1e
lea eax, [edx + 4]
cmp ebx, eax
jb 0x1001e609
mov ecx, ebx
sub ecx, edx
and ecx, 3
neg ecx
add ecx, ebx
test edx, edx
jbe 0x1001dd89
mov dword [esp + 0x54], ecx
xor eax, eax
mov dword [esp + 0x38], edi
mov ebx, dword [esp + 0x58]
mov ecx, dword [esp + 0x70]
mov esi, dword [esp + 0x74]
movss xmm0, dword [esi + eax*4]
comiss xmm0, dword [ecx + eax*4]
jb 0x1001dd61
mov edi, 0x63
cmp dword [ebx + eax*4], 0x63
cmovl edi, dword [ebx + eax*4]
inc edi
mov dword [ebx + eax*4], edi
jmp 0x1001dd76
mov edi, dword [ebx + eax*4]
cmp edi, 1
jg 0x1001dd72
mov dword [ebx + eax*4], 1
jmp 0x1001dd76
dec edi
mov dword [ebx + eax*4], edi
inc eax
cmp eax, edx
jb 0x1001dd43
mov ecx, dword [esp + 0x54]
mov edi, dword [esp + 0x38]
mov ebx, dword [ebp + 0x10]
mov esi, dword [ebp + 8]
mov eax, dword [esp + 0x74]
lea eax, [eax + edx*4]
test al, 0xf
je 0x1001de40
movdqa xmm3, xmmword [0x1035e880]
movdqa xmm4, xmmword [str.cccc]
pcmpeqd xmm2, xmm2
mov eax, dword [esp + 0x58]
mov ebx, dword [esp + 0x70]
mov esi, dword [esp + 0x74]
nop dword [eax + eax]
movups xmm1, xmmword [ebx + edx*4]
movups xmm5, xmmword [esi + edx*4]
cmpleps xmm1, xmm5
movdqa xmm7, xmmword [eax + edx*4]
movdqa xmm6, xmm4
movdqa xmm0, xmm7
pxor xmm6, xmm7
pcmpgtd xmm0, xmm4
movaps xmm5, xmm1
pand xmm0, xmm6
pandn xmm5, xmm7
pxor xmm0, xmm7
movdqa xmm7, xmm3
paddd xmm0, xmm3
pand xmm0, xmm1
pxor xmm1, xmm2
por xmm0, xmm5
movaps xmm6, xmm1
movdqa xmm5, xmm0
pcmpgtd xmm5, xmm3
pxor xmm5, xmm2
pand xmm6, xmm5
pxor xmm5, xmm2
pand xmm7, xmm6
pandn xmm6, xmm0
por xmm7, xmm6
pand xmm1, xmm5
paddd xmm7, xmm1
movdqa xmmword [eax + edx*4], xmm7
add edx, 4
cmp edx, ecx
jb 0x1001ddc0
jmp 0x1001ded8
movdqa xmm2, xmmword [0x1035e880]
movdqa xmm3, xmmword [str.cccc]
pcmpeqd xmm1, xmm1
mov eax, dword [esp + 0x58]
mov ebx, dword [esp + 0x70]
mov esi, dword [esp + 0x74]
movups xmm0, xmmword [ebx + edx*4]
cmpleps xmm0, xmmword [esi + edx*4]
movdqa xmm6, xmmword [eax + edx*4]
movdqa xmm5, xmm3
movdqa xmm4, xmm6
pxor xmm5, xmm6
pcmpgtd xmm4, xmm3
movaps xmm7, xmm0
pand xmm4, xmm5
pandn xmm7, xmm6
pxor xmm4, xmm6
paddd xmm4, xmm2
pand xmm4, xmm0
pxor xmm0, xmm1
por xmm4, xmm7
movaps xmm5, xmm0
movdqa xmm6, xmm4
movdqa xmm7, xmm2
pcmpgtd xmm6, xmm2
pxor xmm6, xmm1
pand xmm5, xmm6
pxor xmm6, xmm1
pand xmm7, xmm5
pandn xmm5, xmm4
por xmm7, xmm5
pand xmm0, xmm6
paddd xmm0, xmm7
movdqa xmmword [eax + edx*4], xmm0
add edx, 4
cmp edx, ecx
jb 0x1001de60
mov ebx, dword [ebp + 0x10]
mov esi, dword [ebp + 8]
cmp ecx, ebx
jae 0x1001df31
mov dword [esp + 0x38], edi
mov edx, dword [esp + 0x58]
mov esi, dword [esp + 0x70]
mov eax, dword [esp + 0x74]
movss xmm0, dword [eax + ecx*4]
comiss xmm0, dword [esi + ecx*4]
jb 0x1001df10
mov edi, 0x63
cmp dword [edx + ecx*4], 0x63
cmovl edi, dword [edx + ecx*4]
inc edi
mov dword [edx + ecx*4], edi
jmp 0x1001df25
mov edi, dword [edx + ecx*4]
cmp edi, 1
jg 0x1001df21
mov dword [edx + ecx*4], 1
jmp 0x1001df25
dec edi
mov dword [edx + ecx*4], edi
inc ecx
cmp ecx, ebx
jb 0x1001def2
mov edi, dword [esp + 0x38]
mov esi, dword [ebp + 8]
test ebx, ebx
movss xmm0, dword [esi]
jbe 0x1001e055
cmp dword [esp + 0x64], 0
jbe 0x1001e610
mov dword [esp + 0x38], edi
xor eax, eax
mov ecx, dword [esp + 0x70]
mov esi, dword [esp + 0x74]
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x64]
movss xmm1, dword [ecx + eax*8]
comiss xmm1, dword [esi + eax*8]
jb 0x1001df94
mov edi, dword [esp + 0x58]
pxor xmm1, xmm1
movss xmm2, dword [edx + eax*8]
mov edi, dword [edi + eax*8]
neg edi
add edi, 0x65
cvtsi2ss xmm1, edi
mulss xmm1, xmm0
comiss xmm2, xmm1
jbe 0x1001df94
subss xmm2, xmm1
movss dword [edx + eax*8], xmm2
movss xmm1, dword [ecx + eax*8 + 4]
comiss xmm1, dword [esi + eax*8 + 4]
jb 0x1001dfcf
mov edi, dword [esp + 0x58]
pxor xmm1, xmm1
movss xmm2, dword [edx + eax*8 + 4]
mov edi, dword [edi + eax*8 + 4]
neg edi
add edi, 0x65
cvtsi2ss xmm1, edi
mulss xmm1, xmm0
comiss xmm2, xmm1
jbe 0x1001dfcf
subss xmm2, xmm1
movss dword [edx + eax*8 + 4], xmm2
inc eax
cmp eax, ebx
jb 0x1001df5e
mov edi, dword [esp + 0x38]
lea edx, [eax + eax + 1]
mov ebx, dword [ebp + 0x10]
mov esi, dword [ebp + 8]
lea eax, [edx - 1]
mov dword [esp + 0x78], eax
cmp eax, ebx
jae 0x1001e6be
mov ecx, dword [ebp + 0x1c]
lea edx, [edx*4 - 4]
mov eax, dword [ebp + 0x14]
add ecx, edx
movss xmm1, dword [ecx + edi]
add eax, edx
comiss xmm1, dword [eax + edi]
jae 0x1001e014
movss xmm0, dword [esi + 4]
jmp 0x1001e060
mov eax, dword [esp + 0x58]
pxor xmm1, xmm1
mov eax, dword [eax + edx]
neg eax
add eax, 0x65
cvtsi2ss xmm1, eax
mov eax, dword [esp + 0x68]
mulss xmm0, xmm1
movss xmm1, dword [eax + edx]
comiss xmm1, xmm0
ja 0x1001e041
movss xmm0, dword [esi + 4]
jmp 0x1001e060
subss xmm1, xmm0
mov edx, dword [esp + 0x78]
movss dword [eax + edx*4], xmm1
movss xmm0, dword [esi + 4]
jmp 0x1001e060
movss xmm0, dword [esi + 4]
jbe 0x1001e173
cmp dword [esp + 0x64], 0
jbe 0x1001e61a
mov dword [esp + 0x38], edi
xor eax, eax
movss xmm2, dword [0x1035e8b0]
movss xmm1, dword [0x1035e8ac]
mov edx, dword [esp + 0x70]
mov ecx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x74]
mov esi, dword [esp + 0x68]
mov edi, dword [esp + 0x64]
movss xmm4, dword [ecx + eax*8]
movss xmm3, dword [edx + eax*8]
addss xmm4, xmm1
movss xmm5, dword [ebx + eax*8]
comiss xmm3, xmm4
jb 0x1001e0c5
comiss xmm5, xmm2
jb 0x1001e0c5
movss xmm3, dword [esi + eax*8]
comiss xmm3, xmm0
jbe 0x1001e0c5
subss xmm3, xmm0
movss dword [esi + eax*8], xmm3
movss xmm4, dword [ecx + eax*8 + 4]
movss xmm3, dword [edx + eax*8 + 4]
addss xmm4, xmm1
movss xmm5, dword [ebx + eax*8 + 4]
comiss xmm3, xmm4
jb 0x1001e0fa
comiss xmm5, xmm2
jb 0x1001e0fa
movss xmm3, dword [esi + eax*8 + 4]
comiss xmm3, xmm0
jbe 0x1001e0fa
subss xmm3, xmm0
movss dword [esi + eax*8 + 4], xmm3
inc eax
cmp eax, edi
jb 0x1001e095
mov edi, dword [esp + 0x38]
lea eax, [eax + eax + 1]
mov ebx, dword [ebp + 0x10]
mov esi, dword [ebp + 8]
lea edx, [eax - 1]
cmp edx, ebx
jae 0x1001e14f
mov ecx, dword [ebp + 0x14]
lea eax, [eax*4 - 4]
add ecx, eax
movss xmm3, dword [ecx + edi]
mov ecx, dword [ebp + 0x18]
add ecx, eax
movss xmm2, dword [ecx + edi]
mov ecx, dword [ebp + 0x1c]
addss xmm2, dword [0x1035e8ac]
add ecx, eax
movss xmm1, dword [ecx + edi]
comiss xmm1, xmm2
jb 0x1001e179
comiss xmm3, dword [0x1035e8b0]
jae 0x1001e158
test ebx, ebx
ja 0x1001e179
jmp 0x1001e336
mov ecx, dword [esp + 0x68]
movss xmm1, dword [ecx + eax]
comiss xmm1, xmm0
jbe 0x1001e179
mov eax, ecx
subss xmm1, xmm0
movss dword [eax + edx*4], xmm1
jmp 0x1001e179
jbe 0x1001e336
cmp dword [esp + 0x64], 0
jbe 0x1001e635
xor eax, eax
movss xmm2, dword [esp + 0x3c]
xor edx, edx
mov ecx, dword [esp + 0x88]
mov ebx, dword [esp + 0x68]
mov esi, dword [esp + 0x64]
movss xmm0, dword [edx + ebx]
minss xmm0, xmm2
movss dword [edx + ecx], xmm0
add edx, 8
movss xmm1, dword [ebx + eax*8 + 4]
minss xmm1, xmm2
movss dword [ecx + eax*8 + 4], xmm1
inc eax
cmp eax, esi
jb 0x1001e19d
mov ebx, dword [ebp + 0x10]
lea edx, [eax + eax + 1]
mov esi, dword [ebp + 8]
lea eax, [edx - 1]
cmp eax, ebx
jae 0x1001e1f2
mov eax, dword [esp + 0x68]
lea edx, [edx*4 - 4]
movss xmm0, dword [eax + edx]
add edx, dword [ebp + 0x28]
minss xmm0, dword [esp + 0x3c]
movss dword [edx + edi], xmm0
mov ecx, dword [ebp + 0x10]
cmp ebx, 8
jb 0x1001e62b
mov edi, dword [esp + 0x70]
and edi, 0xf
je 0x1001e228
test edi, 3
jne 0x1001e624
neg edi
add edi, 0x10
shr edi, 2
lea eax, [edi + 8]
cmp ebx, eax
jb 0x1001e624
jmp 0x1001e233
lea eax, [edi + 8]
cmp ebx, eax
jb 0x1001e624
mov eax, ebx
sub eax, edi
and eax, 7
neg eax
add eax, ebx
test edi, edi
jbe 0x1001e270
mov dword [esp + 0x5c], eax
xor edx, edx
mov ebx, dword [esp + 0x70]
mov esi, dword [esp + 0x74]
movss xmm0, dword [esi + edx*4]
cmpltss xmm0, dword [ebx + edx*4]
inc edx
movd eax, xmm0
add ecx, eax
cmp edx, edi
jb 0x1001e250
mov eax, dword [esp + 0x5c]
mov ebx, dword [ebp + 0x10]
mov esi, dword [ebp + 8]
mov edx, dword [esp + 0x74]
movd xmm0, ecx
lea edx, [edx + edi*4]
test dl, 0xf
je 0x1001e2ad
mov edx, dword [esp + 0x70]
mov ecx, dword [esp + 0x74]
movups xmm1, xmmword [ecx + edi*4]
movups xmm2, xmmword [ecx + edi*4 + 0x10]
cmpltps xmm1, xmmword [edx + edi*4]
cmpltps xmm2, xmmword [edx + edi*4 + 0x10]
add edi, 8
paddd xmm0, xmm1
paddd xmm0, xmm2
cmp edi, eax
jb 0x1001e288
jmp 0x1001e2d8
mov edx, dword [esp + 0x70]
mov ecx, dword [esp + 0x74]
movaps xmm1, xmmword [ecx + edi*4]
movaps xmm2, xmmword [ecx + edi*4 + 0x10]
cmpltps xmm1, xmmword [edx + edi*4]
cmpltps xmm2, xmmword [edx + edi*4 + 0x10]
add edi, 8
paddd xmm0, xmm1
paddd xmm0, xmm2
cmp edi, eax
jb 0x1001e2b5
movdqa xmm1, xmm0
psrldq xmm1, 8
paddd xmm0, xmm1
movdqa xmm2, xmm0
psrlq xmm2, 0x20
paddd xmm0, xmm2
movd ecx, xmm0
cmp eax, ebx
jae 0x1001e31b
mov esi, dword [esp + 0x70]
mov edi, dword [esp + 0x74]
movss xmm0, dword [edi + eax*4]
cmpltss xmm0, dword [esi + eax*4]
inc eax
movd edx, xmm0
add ecx, edx
cmp eax, ebx
jb 0x1001e302
mov esi, dword [ebp + 8]
cmp ebx, 0x13
jne 0x1001e6b7
pxor xmm2, xmm2
cvtsi2ss xmm2, ecx
mulss xmm2, dword [0x1035e8a0]
jmp 0x1001e34f
mov ecx, dword [ebp + 0x10]
pxor xmm2, xmm2
cvtsi2ss xmm2, ecx
mulss xmm2, dword [0x1035e898]
jbe 0x1001e68a
movss xmm1, dword [0x1035e89c]
xor edi, edi
movss dword [esp + 0xa8], xmm2
mov ebx, dword [esp + 0x88]
addss xmm1, xmm2
movss dword [esp + 0xac], xmm1
mov eax, 4
cmp edi, 4
mov edx, edi
lea ecx, [edi + 4]
cmovb edx, eax
cmp ecx, dword [ebp + 0x10]
cmovae ecx, dword [esp + 0xa4]
lea eax, [edx - 4]
lea edx, [edx*4 - 0x10]
lea esi, [ecx*4]
sub esi, edx
cmp eax, ecx
movss xmm5, dword [esi + 0x1035e8e8]
ja 0x1001e57b
sub ecx, eax
inc ecx
cmp ecx, 0x10
jl 0x1001e671
lea esi, [ebx + edx]
mov dword [esp + 0x90], esi
and esi, 0xf
je 0x1001e3e3
test esi, 3
jne 0x1001e658
neg esi
add esi, 0x10
shr esi, 2
lea eax, [esi + 0x10]
cmp ecx, eax
jl 0x1001e63f
mov eax, ecx
sub eax, esi
pxor xmm0, xmm0
and eax, 0xf
neg eax
add eax, ecx
test esi, esi
jbe 0x1001e441
mov dword [esp + 0x98], 0
mov dword [esp + 0x8c], edi
mov ebx, dword [esp + 0x98]
mov edi, dword [esp + 0x90]
movss xmm1, dword [edi + ebx*4]
inc ebx
mulss xmm1, xmm5
cmp ebx, esi
addss xmm0, xmm1
jb 0x1001e421
mov edi, dword [esp + 0x8c]
mov ebx, dword [esp + 0x88]
movaps xmm2, xmm5
pxor xmm4, xmm4
pxor xmm3, xmm3
movss xmm4, xmm0
pxor xmm1, xmm1
shufps xmm2, xmm2, 0
pxor xmm0, xmm0
mov ebx, dword [esp + 0x90]
movaps xmm6, xmmword [ebx + esi*4]
movaps xmm7, xmmword [ebx + esi*4 + 0x10]
mulps xmm6, xmm2
mulps xmm7, xmm2
addps xmm4, xmm6
addps xmm3, xmm7
movaps xmm6, xmmword [ebx + esi*4 + 0x20]
movaps xmm7, xmmword [ebx + esi*4 + 0x30]
add esi, 0x10
mulps xmm6, xmm2
cmp esi, eax
mulps xmm7, xmm2
addps xmm1, xmm6
addps xmm0, xmm7
jb 0x1001e463
mov ebx, dword [esp + 0x88]
lea esi, [eax + 1]
cmp ecx, esi
addps xmm4, xmm3
addps xmm1, xmm0
addps xmm4, xmm1
movaps xmm0, xmm4
movhlps xmm0, xmm4
addps xmm4, xmm0
movaps xmm1, xmm4
shufps xmm1, xmm4, 0xf5
addss xmm4, xmm1
jb 0x1001e57f
xor esi, esi
sub ecx, eax
cmp esi, 1
jne 0x1001e4d4
xor esi, esi
jmp 0x1001e55e
cmp ecx, 4
jl 0x1001e4cd
mov esi, ecx
movaps xmm0, xmm5
and esi, 0xfffffffc
pxor xmm1, xmm1
mov dword [esp + 0xa0], esi
lea esi, [ebx + edx]
mov dword [esp + 0x94], 0
lea esi, [esi + eax*4]
mov dword [esp + 0x9c], esi
movss xmm1, xmm4
mov dword [esp + 0x8c], edi
shufps xmm0, xmm0, 0
mov esi, dword [esp + 0xa0]
mov ebx, dword [esp + 0x9c]
mov edi, dword [esp + 0x94]
movaps xmm2, xmmword [ebx + edi*4]
add edi, 4
mulps xmm2, xmm0
cmp edi, esi
addps xmm1, xmm2
jb 0x1001e528
movaps xmm0, xmm1
movhlps xmm0, xmm1
mov edi, dword [esp + 0x8c]
addps xmm1, xmm0
movaps xmm2, xmm1
shufps xmm2, xmm1, 0xf5
mov ebx, dword [esp + 0x88]
addss xmm1, xmm2
movaps xmm4, xmm1
cmp esi, ecx
jae 0x1001e57f
add edx, ebx
lea eax, [edx + eax*4]
movss xmm0, dword [eax + esi*4]
inc esi
mulss xmm0, xmm5
cmp esi, ecx
addss xmm4, xmm0
jb 0x1001e567
jmp 0x1001e57f
pxor xmm4, xmm4
cvtss2sd xmm4, xmm4
movsd qword [esp], xmm4
mov dword [esp + 8], 0xffffffff
call fcn.10009ad0
fstp qword [esp + 0x80]
movsd xmm1, qword [esp + 0x80]
cvtsd2ss xmm1, xmm1
movss xmm0, dword [esp + 0xa8]
mulss xmm0, dword [ebx + edi*4]
addss xmm0, xmm1
movss dword [esp], xmm0
movss xmm2, dword [esp + 0xac]
movss dword [esp + 4], xmm2
call fcn.10035da0
fstp dword [ebx + edi*4]
inc edi
cmp edi, dword [ebp + 0x10]
jb 0x1001e376
mov eax, dword [esp + 0x60]
inc eax
mov ebx, dword [ebp + 0x10]
mov esi, dword [ebp + 8]
mov dword [esp + 0x60], eax
cmp eax, dword [ebp + 0xc]
jb 0x1001d9f0
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x28]
mov ebx, dword [esp + 0x2c]
mov esp, ebp
pop ebp
ret
xor ecx, ecx
jmp 0x1001dede
mov edx, 1
jmp 0x1001dfe2
mov eax, 1
jmp 0x1001e10d
xor eax, eax
jmp 0x1001e2f6
mov ecx, dword [ebp + 0x10]
xor eax, eax
jmp 0x1001e2fa
mov edx, 1
jmp 0x1001e1cd
cmp ecx, 1
pxor xmm4, xmm4
jb 0x1001e57f
mov esi, 1
xor eax, eax
jmp 0x1001e4c6
cmp ecx, 1
pxor xmm4, xmm4
jb 0x1001e57f
mov esi, 1
xor eax, eax
jmp 0x1001e4c6
cmp ecx, 1
pxor xmm4, xmm4
jb 0x1001e57f
mov esi, 1
xor eax, eax
jmp 0x1001e4c6
mov eax, dword [esp + 0x60]
inc eax
mov dword [esp + 0x60], eax
cmp eax, dword [ebp + 0xc]
jb 0x1001d9f0
jmp 0x1001e5f9
mov eax, dword [esp + 0x68]
lea edx, [eax + 0x50]
mov dword [esp + 0x58], edx
ja 0x1001e609
jmp 0x1001e055
test ebx, ebx
jmp 0x1001e339
test ebx, ebx
jmp 0x1001e055