Function at 0x1000dcb0
Capabilities:
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101300ed
mov eax, dword fs:[0]
push eax
sub esp, 0xe4
mov eax, dword [0x103b0024]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, edx
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x68], eax
cmp byte [ebp + 0x24], 0
mov dword [ebp - 4], 0
mov esi, dword [0x103ca828]
je 0x1000dd4d
mov eax, dword [esi + 0x3e38]
movss xmm3, dword [eax + 0xd8]
movss xmm2, dword [eax + 0x14]
movss xmm1, dword [eax + 0x60]
subss xmm3, xmm2
mov byte [eax + 0x90], 1
mov eax, dword [esi + 0x3e38]
addss xmm3, xmm1
movss xmm0, dword [eax + 0x14]
subss xmm0, dword [eax + 0x60]
mov byte [eax + 0x115], 1
addss xmm3, dword [0x103a2848]
addss xmm0, xmm3
movss dword [eax + 0xd8], xmm0
mov ecx, dword [esi + 0x3e38]
mov dword [ebp - 0x30], ecx
mov eax, dword [ecx + 8]
movss xmm4, dword [ecx + 0x20c]
and eax, 4
movss xmm2, dword [ecx + 0x210]
or eax, 0x1000103
or dword [ebp + 0x10], eax
mov eax, ecx
cmp dword [ecx + 0x174], 0
jne 0x1000dd88
cmp dword [esi + 0x49cc], 0
je 0x1000dd90
movss xmm4, dword [ecx + 0x1dc]
mov ecx, dword [ebp + 8]
xorps xmm5, xmm5
subss xmm4, dword [eax + 0xd4]
subss xmm2, dword [eax + 0xd8]
movss xmm3, dword [0x103a2800]
mov edx, 1
cvttss2si eax, dword [ecx]
movd xmm0, eax
cvttss2si eax, dword [ecx + 4]
cvtdq2ps xmm0, xmm0
movd xmm1, eax
ucomiss xmm0, xmm5
cvtdq2ps xmm1, xmm1
lahf
xor ecx, ecx
test ah, 0x44
cmovnp ecx, edx
ucomiss xmm1, xmm5
lahf
xor edx, edx
test ah, 0x44
mov eax, 2
cmovnp edx, eax
or edx, ecx
comiss xmm5, xmm0
mov dword [ebp - 0x50], edx
jb 0x1000ddfd
addss xmm0, xmm4
comiss xmm0, xmm3
jae 0x1000ddfd
movaps xmm0, xmm3
comiss xmm5, xmm1
jb 0x1000de0e
addss xmm1, xmm2
comiss xmm1, xmm3
jae 0x1000de0e
movaps xmm1, xmm3
or dword [esi + 0x46d4], eax
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x1c]
movss dword [esi + 0x46f4], xmm0
movss dword [esi + 0x46f8], xmm1
mov dword [esi + 0x46dc], 1
mov eax, dword [eax]
push edi
test ecx, ecx
je 0x1000de52
push ecx
push eax
push str._s__s__08X
lea eax, [ebp - 0x4c]
push 0
push eax
call fcn.10004a40
add esp, 0x18
jmp 0x1000de66
push eax
push str._s__08X
lea eax, [ebp - 0x4c]
push 0
push eax
call fcn.10004a40
add esp, 0x14
cmp byte [ebp + 0xc], 0
movss xmm0, dword [esi + 0x37c8]
movss dword [ebp - 0x54], xmm0
jne 0x1000de83
mov dword [esi + 0x37c8], 0
push dword [ebp + 0x10]
mov ecx, dword [ebp - 0x4c]
xor edx, edx
call fcn.100111c0
movss xmm0, dword [ebp - 0x54]
add esp, 4
mov ecx, dword [ebp - 0x50]
mov byte [ebp - 0x41], al
mov eax, dword [esi + 0x3e38]
movss dword [esi + 0x37c8], xmm0
mov dword [ebp - 0x3c], eax
cmp word [eax + 0x9a], 1
mov byte [eax + 0xaa], cl
lea ecx, [eax + 0x10]
mov dword [eax + 0x58], edi
mov dword [ebp - 0x38], ecx
jne 0x1000dee1
mov edx, dword [ebp - 0x30]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [edx + 0xd4], eax
mov eax, dword [ebp - 0x3c]
mov dword [edx + 0xd8], ecx
jmp 0x1000dee4
mov dword [ebp - 0x38], ecx
cmp dword [esi + 0x47b0], edi
jne 0x1000df2e
test dword [ebp + 0x10], 0x800000
jne 0x1000df2e
cmp word [eax + 0x130], 0
jne 0x1000df08
cmp byte [eax + 0x135], 0
je 0x1000df2e
mov ecx, eax
call fcn.10013af0
mov ecx, dword [ebp - 0x3c]
xor dl, dl
call fcn.10018130
mov edx, dword [ebp - 0x3c]
lea ecx, [edi + 1]
call fcn.10007f50
mov dword [esi + 0x3e90], 5
mov eax, dword [ebp - 0x38]
xorps xmm7, xmm7
movss xmm1, dword [0x103a2784]
mov ecx, 0x35
movss xmm0, dword [eax]
subss xmm0, xmm7
movss dword [ebp - 0x50], xmm0
movss dword [ebp - 0x24], xmm0
movss xmm0, dword [eax + 4]
subss xmm0, dword [0x103a2848]
movss dword [ebp - 0x4c], xmm0
movss dword [ebp - 0x20], xmm0
call fcn.10006760
mov edx, eax
movss xmm1, dword [0x103a26f0]
movzx ecx, dl
shr eax, 8
movzx eax, al
shr edx, 0x10
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
shr ecx, 0x1f
addsd xmm0, qword [ecx*8 + 0x103a2da0]
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0x6c], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x103a2da0]
movzx eax, dl
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0x70], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
cmp byte [ebp + 0x24], 0
addsd xmm0, qword [eax*8 + 0x103a2da0]
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm1
movss xmm1, dword [0x103a27c8]
movss dword [ebp - 0x74], xmm0
je 0x1000e2eb
movaps xmm0, xmmword [0x103a2c60]
mov eax, dword [ebp - 0x3c]
movups xmmword [ebp - 0x64], xmm0
add eax, 0x18
movss xmm0, dword [ebp - 0x50]
push 0x30
push ecx
addss xmm0, dword [eax]
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x40], eax
movss dword [ebp - 0x18], xmm0
movss xmm0, dword [ebp - 0x4c]
addss xmm0, dword [0x103a2848]
movss dword [ebp - 0x14], xmm0
movss xmm0, dword [esi + 0x37a8]
subss xmm0, xmm1
movss dword [esp], xmm0
call fcn.10005110
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x24]
push eax
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax + 0x248]
call fcn.10021820
movss xmm3, dword [0x103a2904]
lea eax, [ebp - 0x98]
push ecx
push 0
push dword [ebp - 0x1c]
push ecx
mov ecx, dword [0x103cbb18]
mov dword [esp], 0
push eax
movss xmm2, dword [ecx + 0x10]
call fcn.10024540
mov eax, dword [0x103ca828]
lea ecx, [ebp - 0x2c]
push edi
movss xmm2, dword [eax + 0x18]
call fcn.100025c0
mov edi, dword [ebp - 0x38]
lea edx, [ebp - 0x18]
mov eax, dword [ebp - 0x40]
lea ecx, [ebp - 0x24]
xorps xmm3, xmm3
push 0
movss xmm2, dword [edi]
movss xmm1, dword [edi + 4]
subss xmm2, xmm3
subss xmm1, dword [0x103a2848]
movaps xmm0, xmm2
movss dword [ebp - 0x24], xmm2
addss xmm0, dword [eax]
movss dword [ebp - 0x20], xmm1
addss xmm0, xmm3
movss dword [ebp - 0x18], xmm0
movaps xmm0, xmm1
addss xmm0, dword [eax + 4]
addss xmm0, dword [0x103a2848]
movss dword [ebp - 0x14], xmm0
call fcn.1000c220
movss xmm2, dword [edi]
lea edx, [ebp - 0x18]
mov eax, dword [ebp - 0x40]
xorps xmm3, xmm3
movss xmm1, dword [edi + 4]
subss xmm2, xmm3
subss xmm1, dword [0x103a2848]
push 1
movaps xmm0, xmm2
movss dword [ebp - 0x24], xmm2
addss xmm0, dword [eax]
movss dword [ebp - 0x20], xmm1
addss xmm0, xmm3
movss dword [ebp - 0x18], xmm0
movaps xmm0, xmm1
addss xmm0, dword [eax + 4]
addss xmm0, dword [0x103a2848]
movss dword [ebp - 0x14], xmm0
lea ecx, [ebp - 0x24]
call fcn.10014340
add esp, 8
test al, al
je 0x1000e166
movss xmm0, dword [0x103a27e8]
jmp 0x1000e16e
movss xmm0, dword [0x103a2930]
mov edi, dword [ebp - 0x2c]
mulss xmm0, dword [ebp - 0x28]
movss xmm1, dword [0x103a2744]
addss xmm0, dword [edi + 0x14]
comiss xmm1, xmm0
ja 0x1000e194
movss xmm1, dword [0x103a2784]
minss xmm1, xmm0
movss dword [edi + 0x14], xmm1
call fcn.1000c2a0
movss xmm1, dword [0x103a2784]
xor ecx, ecx
call fcn.10006760
mov edx, eax
movss xmm1, dword [0x103a26f0]
movzx ecx, dl
shr eax, 8
movzx eax, al
push 0
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
shr ecx, 0x1f
push ecx
addsd xmm0, qword [ecx*8 + 0x103a2da0]
lea ecx, [ebp - 0x90]
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0x90], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x103a2da0]
mov eax, edx
shr edx, 0x18
shr eax, 0x10
movzx eax, al
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0x8c], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x103a2da0]
mov eax, dword [ebp - 0x40]
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0x88], xmm0
movd xmm0, edx
cvtdq2pd xmm0, xmm0
shr edx, 0x1f
addsd xmm0, qword [edx*8 + 0x103a2da0]
mov dword [esp], 0
push 0
push dword [ebp - 0x1c]
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm1
mulss xmm0, dword [edi + 0x14]
movss dword [ebp - 0x84], xmm0
movss xmm0, dword [eax]
subss xmm0, dword [ebp - 0x98]
mulss xmm0, dword [0x103a2744]
addss xmm0, dword [ebp - 0x50]
movss dword [ebp - 0x18], xmm0
movss xmm0, dword [0x103a2848]
subss xmm0, dword [ebp - 0x94]
mulss xmm0, dword [0x103a2744]
addss xmm0, dword [ebp - 0x4c]
movss dword [ebp - 0x14], xmm0
call fcn.10005110
push eax
lea eax, [ebp - 0x18]
push eax
mov eax, dword [0x103cbb18]
push eax
movss xmm2, dword [eax + 0x10]
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax + 0x248]
call fcn.10021ea0
movss xmm1, dword [0x103a27c8]
xorps xmm7, xmm7
mov edi, dword [ebp - 0x3c]
jmp 0x1000e2f4
mov edi, dword [ebp - 0x3c]
lea eax, [edi + 0x18]
mov dword [ebp - 0x40], eax
cmp byte [ebp + 0xc], 0
je 0x1000e3bb
movaps xmm0, xmmword [0x103a2af0]
lea ecx, [ebp - 0x64]
movss xmm6, dword [esi + 0x37a8]
subss xmm6, xmm1
movups xmmword [ebp - 0x64], xmm0
call fcn.10005110
cmp byte [ebp + 0x24], 0
movss xmm5, dword [0x103a2848]
je 0x1000e33b
lea esi, [edi + 0x18]
movaps xmm3, xmm5
mov dword [ebp - 0x40], esi
mov ecx, esi
movaps xmm4, xmm5
jmp 0x1000e347
lea ecx, [edi + 0x18]
xorps xmm3, xmm3
mov dword [ebp - 0x40], ecx
xorps xmm4, xmm4
mov edx, dword [ebp - 0x38]
movss xmm1, dword [edx]
movss xmm2, dword [edx + 4]
subss xmm1, xmm7
movaps xmm0, xmm1
addss xmm0, dword [ecx]
addss xmm0, xmm7
movss dword [ebp - 0x18], xmm0
movaps xmm0, xmm2
subss xmm0, xmm4
addss xmm0, dword [ecx + 4]
addss xmm0, xmm3
movss dword [ebp - 0x14], xmm0
je 0x1000e383
movaps xmm0, xmm5
jmp 0x1000e386
xorps xmm0, xmm0
push ecx
mov dword [esp], 0x3f800000
subss xmm2, xmm0
push 0x30
push ecx
movss dword [esp], xmm6
push eax
lea eax, [ebp - 0x18]
movss dword [ebp - 0x24], xmm1
push eax
lea eax, [ebp - 0x24]
movss dword [ebp - 0x20], xmm2
push eax
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax + 0x248]
call fcn.10021730
mov esi, dword [ebp + 0x18]
sub esi, dword [ebp + 0x14]
sar esi, 2
cmp dword [ebp - 0x68], 0
mov dword [ebp - 0x28], esi
je 0x1000ead7
test esi, esi
je 0x1000ead7
mov eax, dword [ebp - 0x38]
lea ecx, [ebp - 0x18]
movss xmm0, dword [edi + 0x18]
push 0
push ecx
addss xmm0, dword [eax]
push eax
movss dword [ebp - 0x18], xmm0
movss xmm0, dword [edi + 0x1c]
addss xmm0, dword [eax + 4]
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax + 0x248]
movss dword [ebp - 0x14], xmm0
call fcn.1001f330
mov eax, dword [ebp - 0x38]
movaps xmm0, xmmword [0x103a2c50]
movss xmm2, dword [edi + 0x60]
xorps xmm2, xmmword [0x103a2e10]
movss xmm1, dword [eax]
addss xmm1, dword [0x103a2784]
addss xmm2, dword [eax + 4]
movups xmmword [ebp - 0x64], xmm0
push 0
movss xmm0, dword [edi + 0x18]
subss xmm0, dword [0x103a27c8]
push ecx
lea ecx, [ebp - 0x64]
movss dword [ebp - 0x24], xmm1
movss dword [ebp - 0x20], xmm2
mov dword [esp], 0
addss xmm0, xmm1
movss dword [ebp - 0x18], xmm0
movaps xmm0, xmm2
addss xmm0, dword [0x103a285c]
movss dword [ebp - 0x14], xmm0
call fcn.10005110
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x24]
push eax
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax + 0x248]
call fcn.10021820
mov eax, dword [ebp - 0x38]
movaps xmm0, xmmword [0x103a2c70]
movups xmmword [ebp - 0x64], xmm0
push 0
movss xmm2, dword [eax]
addss xmm2, dword [0x103a2784]
movss xmm0, dword [edi + 0x18]
movss xmm1, dword [eax + 4]
subss xmm0, dword [0x103a27c8]
addss xmm1, dword [0x103a2858]
addss xmm2, dword [0x103a26c8]
push ecx
lea ecx, [ebp - 0x64]
mov dword [esp], 0
subss xmm1, dword [edi + 0x60]
addss xmm0, xmm2
movss dword [ebp - 0x24], xmm2
movss dword [ebp - 0x20], xmm1
movss dword [ebp - 0x18], xmm0
movaps xmm0, xmm1
addss xmm0, dword [0x103a2784]
movss dword [ebp - 0x14], xmm0
call fcn.10005110
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x24]
push eax
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax + 0x248]
call fcn.10021820
xor edi, edi
mov dword [ebp - 0x48], edi
test esi, esi
je 0x1000ea52
cmp edi, esi
jae 0x1000ea52
mov eax, dword [ebp + 0x14]
or edx, 0xffffffff
mov ecx, dword [eax + edi*4]
mov dword [ebp - 0x54], ecx
mov al, byte [ecx]
lea esi, [ecx + 1]
test al, al
je 0x1000e57d
or edi, 0xffffffff
nop dword [eax]
cmp al, 0x23
jne 0x1000e55e
cmp byte [esi], al
jne 0x1000e55e
cmp byte [esi + 1], al
cmove edx, edi
movzx ecx, dl
movzx eax, al
xor ecx, eax
shr edx, 8
mov al, byte [esi]
inc esi
xor edx, dword [ecx*4 + 0x10195ca0]
test al, al
jne 0x1000e550
mov edi, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x54]
movss xmm3, dword [0x103a2904]
lea eax, [ebp - 0xc0]
push ecx
push 0
push ecx
push ecx
mov ecx, dword [0x103cbb18]
not edx
mov dword [esp], 0
push eax
mov dword [ebp - 0x1c], edx
movss xmm2, dword [ecx + 0x10]
call fcn.10024540
mov eax, dword [ebp + 0x18]
sub eax, dword [ebp + 0x14]
sar eax, 2
mov esi, dword [0x103ca828]
push 1
movd xmm0, eax
mov eax, dword [ebp - 0x40]
cvtdq2ps xmm0, xmm0
movss xmm1, dword [eax]
divss xmm1, xmm0
movss xmm0, dword [ebp - 0xc0]
mulss xmm0, dword [0x103a2744]
cvttss2si eax, xmm1
mov ecx, eax
mov dword [ebp - 0x9c], eax
cdq
sub eax, edx
imul ecx, edi
sar eax, 1
lea edx, [ebp - 0xc8]
add ecx, eax
mov eax, dword [esi + 0x3e38]
mov byte [eax + 0x90], 1
mov eax, dword [esi + 0x3e38]
movd xmm2, ecx
cvtdq2ps xmm2, xmm2
mov ecx, dword [ebp - 0x38]
movss xmm1, dword [eax + 0x14]
subss xmm1, dword [eax + 0x60]
movss dword [ebp - 0x94], xmm2
subss xmm2, xmm0
movss xmm0, dword [eax + 0x10]
subss xmm0, dword [eax + 0x5c]
mov byte [eax + 0x115], 1
addss xmm2, xmm0
movss xmm0, dword [0x103a285c]
subss xmm0, dword [ebp - 0xbc]
movss dword [eax + 0xd4], xmm2
mulss xmm0, dword [0x103a2744]
addss xmm1, xmm0
movss dword [eax + 0xd8], xmm1
mov eax, dword [esi + 0x3e38]
movss xmm2, dword [eax + 0xd4]
subss xmm2, dword [eax + 0x10]
movss xmm1, dword [eax + 0xd8]
subss xmm1, dword [eax + 0x14]
addss xmm2, dword [eax + 0x5c]
addss xmm1, dword [eax + 0x60]
mov eax, dword [ebp - 0x3c]
addss xmm2, dword [ecx]
lea ecx, [ebp - 0xd0]
addss xmm1, dword [eax + 0x14]
movaps xmm0, xmm2
movss dword [ebp - 0xd0], xmm2
addss xmm0, dword [ebp - 0xc0]
movss dword [ebp - 0xcc], xmm1
movss dword [ebp - 0xc8], xmm0
movaps xmm0, xmm1
addss xmm0, dword [ebp - 0xbc]
movss dword [ebp - 0xc4], xmm0
call fcn.10014340
mov byte [ebp - 0x31], al
add esp, 4
mov eax, dword [ebp - 0x68]
or edx, 0xffffffff
mov edi, 0x1038fc8d
mov eax, dword [eax]
mov dword [ebp - 0x78], eax
mov al, 0x68
or esi, 0xffffffff
cmp al, 0x23
jne 0x1000e710
cmp byte [edi], al
jne 0x1000e710
cmp byte [edi + 1], al
cmove edx, esi
movzx ecx, dl
movzx eax, al
xor ecx, eax
shr edx, 8
mov al, byte [edi]
inc edi
xor edx, dword [ecx*4 + 0x10195ca0]
test al, al
jne 0x1000e702
mov esi, dword [0x103ca828]
lea ecx, [ebp - 0x24]
not edx
add edx, dword [ebp - 0x1c]
push edx
movss xmm2, dword [esi + 0x18]
call fcn.100025c0
cmp byte [ebp - 0x31], 0
je 0x1000e752
movss xmm1, dword [0x103a27c8]
jmp 0x1000e75a
movss xmm1, dword [0x103a2930]
movss xmm0, dword [ebp - 0x20]
mulss xmm0, dword [0x103a27c8]
mov eax, dword [ebp - 0x24]
mulss xmm0, xmm1
movss xmm1, dword [0x103a2744]
addss xmm0, dword [eax + 0x14]
comiss xmm1, xmm0
ja 0x1000e78c
movss xmm1, dword [0x103a2784]
minss xmm1, xmm0
movss dword [eax + 0x14], xmm1
mov esi, 0x1038fca5
or eax, 0xffffffff
mov cl, 0x73
or edi, 0xffffffff
nop
cmp cl, 0x23
jne 0x1000e7af
cmp byte [esi], cl
jne 0x1000e7af
cmp byte [esi + 1], cl
cmove eax, edi
movzx edx, al
movzx ecx, cl
xor edx, ecx
shr eax, 8
mov cl, byte [esi]
inc esi
xor eax, dword [edx*4 + 0x10195ca0]
test cl, cl
jne 0x1000e7a0
not eax
lea ecx, [ebp - 0x18]
add eax, dword [ebp - 0x1c]
push eax
mov eax, dword [0x103ca828]
movss xmm2, dword [eax + 0x18]
call fcn.100025c0
mov eax, dword [ebp - 0x78]
cmp dword [ebp - 0x48], eax
jne 0x1000e7f2
movss xmm1, dword [0x103a27c8]
jmp 0x1000e7fa
movss xmm1, dword [0x103a2930]
movss xmm0, dword [ebp - 0x14]
xorps xmm3, xmm3
mulss xmm0, dword [0x103a27c8]
mov eax, dword [ebp - 0x18]
mulss xmm0, xmm1
addss xmm0, dword [eax + 0x14]
comiss xmm3, xmm0
jbe 0x1000e820
xorps xmm2, xmm2
jmp 0x1000e82c
movss xmm2, dword [0x103a2784]
minss xmm2, xmm0
movss xmm0, dword [ebp - 0x6c]
lea edi, [ebp - 0x78]
movss dword [eax + 0x14], xmm2
lea esi, [ebp - 0xa0]
mov eax, dword [ebp - 0x24]
lea edx, [ebp - 0xa4]
comiss xmm3, xmm2
lea ecx, [ebp - 0xa8]
mov dword [ebp - 0xac], 0x3f800000
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xb0], 0x3f800000
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0xb4], 0x3f800000
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0xb8], 0x3f800000
movss xmm3, dword [0x103a2784]
movss xmm1, dword [eax + 0x14]
subss xmm0, xmm3
lea eax, [ebp - 0x1c]
movss dword [ebp - 0x1c], xmm2
cmovbe edi, eax
mov dword [ebp - 0x78], 0
cmovbe esi, eax
cmovbe edx, eax
cmovbe ecx, eax
lea eax, [ebp - 0xac]
comiss xmm2, xmm3
push dword [ebp - 0x54]
cmovbe eax, ecx
mulss xmm0, dword [eax]
lea eax, [ebp - 0xb0]
cmovbe eax, edx
addss xmm0, xmm3
movss dword [ebp - 0xe0], xmm0
movss xmm0, dword [ebp - 0x70]
subss xmm0, xmm3
mulss xmm0, dword [eax]
lea eax, [ebp - 0xb4]
cmovbe eax, esi
addss xmm0, xmm3
movss dword [ebp - 0xdc], xmm0
movss xmm0, dword [ebp - 0x74]
subss xmm0, xmm3
mulss xmm0, dword [eax]
lea eax, [ebp - 0xb8]
cmovbe eax, edi
addss xmm0, xmm3
movss dword [ebp - 0xd8], xmm0
movaps xmm0, xmm3
subss xmm0, xmm1
mulss xmm0, dword [eax]
lea eax, [ebp - 0xf0]
push eax
addss xmm0, xmm1
movss dword [ebp - 0xd4], xmm0
movups xmm0, xmmword [ebp - 0xe0]
movups xmmword [ebp - 0xf0], xmm0
call fcn.1002a730
movss xmm0, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x18]
movss xmm1, dword [ebp - 0x94]
movss dword [ebp - 0x64], xmm0
movss xmm0, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x38]
movss dword [ebp - 0x60], xmm0
movss xmm0, dword [ebp - 0x74]
movss dword [ebp - 0x5c], xmm0
movss xmm0, dword [eax + 0x14]
mov eax, dword [0x103ca828]
movss dword [ebp - 0x58], xmm0
movd xmm0, dword [ebp - 0x9c]
cvtdq2ps xmm0, xmm0
mov eax, dword [eax + 0x3e38]
mov dword [ebp - 0x7c], 0x3f800000
movss dword [ebp - 0x80], xmm0
mulss xmm0, dword [0x103a2744]
subss xmm1, xmm0
movss xmm0, dword [eax + 0xd8]
subss xmm0, dword [eax + 0x14]
addss xmm1, dword [ecx]
movss dword [ebp - 0x88], xmm1
addss xmm0, dword [eax + 0x60]
mov esi, dword [ebp - 0x3c]
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x80]
push eax
subss xmm0, dword [esi + 0x60]
mov eax, dword [ebp - 0x30]
lea edx, [ebp - 0x88]
addss xmm0, dword [esi + 0x14]
mov ecx, dword [eax + 0x248]
subss xmm0, dword [0x103a27c8]
movss dword [ebp - 0x84], xmm0
call fcn.10002850
add esp, 0x10
cmp byte [ebp - 0x31], 0
je 0x1000ea40
push 0
xor edx, edx
xor ecx, ecx
call fcn.10014810
mov edi, dword [ebp - 0x48]
add esp, 4
test al, al
je 0x1000ea43
mov eax, dword [ebp - 0x68]
mov dword [eax], edi
jmp 0x1000ea43
mov edi, dword [ebp - 0x48]
mov esi, dword [ebp - 0x28]
inc edi
mov dword [ebp - 0x48], edi
cmp edi, esi
jb 0x1000e534
mov esi, dword [ebp - 0x30]
mov ecx, dword [esi + 0x248]
mov edx, dword [ecx + 0x3c]
sub edx, 1
mov dword [ecx + 0x3c], edx
jne 0x1000ea6e
mov eax, dword [ecx + 0x2c]
add eax, 0x18
jmp 0x1000ea79
mov eax, dword [ecx + 0x44]
shl edx, 4
add eax, 0xfffffff0
add eax, edx
movups xmm0, xmmword [eax]
movups xmmword [ecx + 0x60], xmm0
call fcn.1001f160
mov ecx, dword [0x103ca828]
mov eax, dword [ecx + 0x3e38]
movss xmm1, dword [eax + 0xd8]
subss xmm1, dword [eax + 0x14]
addss xmm1, dword [eax + 0x60]
mov byte [eax + 0x90], 1
mov eax, dword [ecx + 0x3e38]
addss xmm1, dword [0x103a2804]
movss xmm0, dword [eax + 0x14]
subss xmm0, dword [eax + 0x60]
mov byte [eax + 0x115], 1
addss xmm0, xmm1
movss dword [eax + 0xd8], xmm0
jmp 0x1000eada
mov esi, dword [ebp - 0x30]
cmp byte [ebp + 0x24], 0
je 0x1000eb5e
movss xmm0, dword [ebp - 0x6c]
lea edx, [ebp - 0x80]
mov eax, dword [ebp - 0x40]
movss dword [ebp - 0x64], xmm0
movss xmm0, dword [ebp - 0x70]
mov ecx, dword [esi + 0x248]
movss dword [ebp - 0x60], xmm0
movss xmm0, dword [ebp - 0x74]
movss dword [ebp - 0x5c], xmm0
movss xmm0, dword [eax]
lea eax, [ebp - 0x64]
movss dword [ebp - 0x88], xmm0
movss xmm0, dword [ebp - 0x50]
addss xmm0, dword [0x103a26c8]
push eax
lea eax, [ebp - 0x88]
mov dword [ebp - 0x58], 0x3f800000
push eax
mov dword [ebp - 0x84], 0x3f800000
movss dword [ebp - 0x80], xmm0
movss xmm0, dword [ebp - 0x4c]
addss xmm0, dword [0x103a2848]
movss dword [ebp - 0x7c], xmm0
call fcn.10002850
add esp, 8
lea ecx, [ebp + 0x14]
call fcn.1001d510
mov al, byte [ebp - 0x41]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.101238be
mov esp, ebp
pop ebp
ret