Function at 0x1000daf0
Capabilities:
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1013093d
mov eax, dword fs:[0]
push eax
sub esp, 0xdc
mov eax, dword [0x103b0040]
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], edi
mov dword [ebp - 0x3c], ecx
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x60], eax
cmp byte [ebp + 0x24], 0
mov dword [ebp - 4], 0
mov esi, dword [0x103ca868]
je 0x1000db90
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 [0x103a3aa8]
addss xmm0, xmm3
movss dword [eax + 0xd8], xmm0
mov ecx, dword [esi + 0x3e38]
mov dword [ebp - 0x38], 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
cmp dword [ecx + 0x174], 0
jne 0x1000dbc9
cmp dword [esi + 0x49cc], 0
je 0x1000dbd1
movss xmm4, dword [ecx + 0x1dc]
subss xmm4, dword [ecx + 0xd4]
subss xmm2, dword [ecx + 0xd8]
mov ecx, dword [ebp + 8]
xorps xmm5, xmm5
movss xmm3, dword [0x103a3a60]
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 - 0x48], edx
jb 0x1000dc3e
addss xmm0, xmm4
comiss xmm0, xmm3
jae 0x1000dc3e
movaps xmm0, xmm3
comiss xmm5, xmm1
jb 0x1000dc4f
addss xmm1, xmm2
comiss xmm1, xmm3
jae 0x1000dc4f
movaps xmm1, xmm3
or dword [esi + 0x46d4], eax
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x3c]
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 0x1000dc93
push ecx
push eax
push str._s__s__08X
lea eax, [ebp - 0x44]
push 0
push eax
call fcn.100049b0
add esp, 0x18
jmp 0x1000dca7
push eax
push str._s__08X
lea eax, [ebp - 0x44]
push 0
push eax
call fcn.100049b0
add esp, 0x14
cmp byte [ebp + 0xc], 0
movss xmm0, dword [esi + 0x37c8]
movss dword [ebp - 0x4c], xmm0
jne 0x1000dcc4
mov dword [esi + 0x37c8], 0
push dword [ebp + 0x10]
mov ecx, dword [ebp - 0x44]
xor edx, edx
call fcn.10010fc0
mov edx, dword [esi + 0x3e38]
add esp, 4
movss xmm0, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x48]
movss dword [esi + 0x37c8], xmm0
cmp word [edx + 0x9a], 1
mov dword [edx + 0x58], edi
lea edi, [edx + 0x10]
mov byte [ebp - 0x3d], al
mov dword [ebp - 0x30], edx
mov byte [edx + 0xaa], cl
jne 0x1000dd1f
mov edx, dword [ebp - 0x38]
mov eax, dword [edi]
mov ecx, dword [edi + 4]
mov dword [edx + 0xd4], eax
mov eax, edx
mov edx, dword [ebp - 0x30]
mov dword [eax + 0xd8], ecx
mov eax, dword [ebp - 0x1c]
cmp dword [esi + 0x47b0], eax
jne 0x1000dd6f
test dword [ebp + 0x10], 0x800000
jne 0x1000dd6f
cmp word [edx + 0x130], 0
jne 0x1000dd46
cmp byte [edx + 0x135], 0
je 0x1000dd6f
mov ecx, edx
call fcn.100138e0
mov ecx, dword [ebp - 0x30]
xor dl, dl
call fcn.10017e90
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x30]
lea ecx, [ecx + 1]
call fcn.10007e40
mov dword [esi + 0x3e90], 5
movss xmm0, dword [edi]
xorps xmm7, xmm7
movss xmm1, dword [0x103a39e4]
subss xmm0, xmm7
mov ecx, 0x35
movss dword [ebp - 0x70], xmm0
movss dword [ebp - 0x24], xmm0
movss xmm0, dword [edi + 4]
subss xmm0, dword [0x103a3aa8]
movss dword [ebp - 0x44], xmm0
movss dword [ebp - 0x20], xmm0
call fcn.10006650
mov edx, eax
movss xmm1, dword [0x103a3950]
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 + 0x103a3d90]
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0x64], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x103a3d90]
movzx eax, dl
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0x68], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
cmp byte [ebp + 0x24], 0
addsd xmm0, qword [eax*8 + 0x103a3d90]
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm1
movss xmm1, dword [0x103a3a28]
movss dword [ebp - 0x6c], xmm0
je 0x1000e121
movaps xmm0, xmmword [0x103a3d40]
mov eax, dword [ebp - 0x30]
movups xmmword [ebp - 0x5c], xmm0
push 0x30
movss xmm0, dword [ebp - 0x70]
addss xmm0, dword [eax + 0x18]
push ecx
lea ecx, [ebp - 0x5c]
movss dword [ebp - 0x18], xmm0
movss xmm0, dword [ebp - 0x44]
addss xmm0, dword [0x103a3aa8]
movss dword [ebp - 0x14], xmm0
movss xmm0, dword [esi + 0x37a8]
subss xmm0, xmm1
movss dword [esp], xmm0
call fcn.10005080
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x24]
push eax
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax + 0x248]
call fcn.100219c0
movss xmm3, dword [0x103a3b54]
lea eax, [ebp - 0x94]
push ecx
push 0
push dword [ebp - 0x3c]
push ecx
mov ecx, dword [0x103cbb48]
mov dword [esp], 0
push eax
movss xmm2, dword [ecx + 0x10]
call fcn.10024600
mov eax, dword [0x103ca868]
lea ecx, [ebp - 0x2c]
push dword [ebp - 0x1c]
movss xmm2, dword [eax + 0x18]
call fcn.10002510
movss xmm2, dword [edi]
lea edx, [ebp - 0x18]
mov eax, dword [ebp - 0x30]
lea ecx, [ebp - 0x24]
movss xmm1, dword [edi + 4]
xorps xmm3, xmm3
subss xmm1, dword [0x103a3aa8]
subss xmm2, xmm3
push 0
movss dword [ebp - 0x20], xmm1
movaps xmm0, xmm2
movss dword [ebp - 0x24], xmm2
addss xmm0, dword [eax + 0x18]
addss xmm0, xmm3
movss dword [ebp - 0x18], xmm0
movaps xmm0, xmm1
addss xmm0, dword [eax + 0x1c]
addss xmm0, dword [0x103a3aa8]
movss dword [ebp - 0x14], xmm0
call fcn.1000c080
movss xmm2, dword [edi]
lea edx, [ebp - 0x18]
mov eax, dword [ebp - 0x30]
lea ecx, [ebp - 0x24]
movss xmm1, dword [edi + 4]
xorps xmm3, xmm3
subss xmm1, dword [0x103a3aa8]
subss xmm2, xmm3
push 1
movss dword [ebp - 0x20], xmm1
movaps xmm0, xmm2
movss dword [ebp - 0x24], xmm2
addss xmm0, dword [eax + 0x18]
addss xmm0, xmm3
movss dword [ebp - 0x18], xmm0
movaps xmm0, xmm1
addss xmm0, dword [eax + 0x1c]
addss xmm0, dword [0x103a3aa8]
movss dword [ebp - 0x14], xmm0
call fcn.10014140
add esp, 8
test al, al
je 0x1000dfa0
movss xmm0, dword [0x103a3a48]
jmp 0x1000dfa8
movss xmm0, dword [0x103a3b80]
mulss xmm0, dword [ebp - 0x28]
mov eax, dword [ebp - 0x2c]
movss xmm1, dword [0x103a39a4]
addss xmm0, dword [eax + 0x14]
comiss xmm1, xmm0
ja 0x1000dfce
movss xmm1, dword [0x103a39e4]
minss xmm1, xmm0
movss dword [eax + 0x14], xmm1
call fcn.1000c100
movss xmm1, dword [0x103a39e4]
xor ecx, ecx
call fcn.10006650
mov edx, eax
movss xmm1, dword [0x103a3950]
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 + 0x103a3d90]
lea ecx, [ebp - 0x8c]
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 + 0x103a3d90]
mov eax, edx
shr edx, 0x18
shr eax, 0x10
movzx eax, al
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0x88], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x103a3d90]
mov eax, dword [ebp - 0x2c]
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0x84], xmm0
movd xmm0, edx
cvtdq2pd xmm0, xmm0
shr edx, 0x1f
addsd xmm0, qword [edx*8 + 0x103a3d90]
mov dword [esp], 0
push 0
push dword [ebp - 0x3c]
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm1
mulss xmm0, dword [eax + 0x14]
mov eax, dword [ebp - 0x30]
movss dword [ebp - 0x80], xmm0
movss xmm0, dword [eax + 0x18]
subss xmm0, dword [ebp - 0x94]
mulss xmm0, dword [0x103a39a4]
addss xmm0, dword [ebp - 0x70]
movss dword [ebp - 0x18], xmm0
movss xmm0, dword [0x103a3aa8]
subss xmm0, dword [ebp - 0x90]
mulss xmm0, dword [0x103a39a4]
addss xmm0, dword [ebp - 0x44]
movss dword [ebp - 0x14], xmm0
call fcn.10005080
push eax
lea eax, [ebp - 0x18]
push eax
mov eax, dword [0x103cbb48]
push eax
movss xmm2, dword [eax + 0x10]
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax + 0x248]
call fcn.10022040
movss xmm1, dword [0x103a3a28]
xorps xmm7, xmm7
cmp byte [ebp + 0xc], 0
je 0x1000e1e1
movaps xmm0, xmmword [0x103a3cd0]
lea ecx, [ebp - 0x5c]
movss xmm6, dword [esi + 0x37a8]
subss xmm6, xmm1
movups xmmword [ebp - 0x5c], xmm0
call fcn.10005080
mov cl, byte [ebp + 0x24]
movss xmm5, dword [0x103a3aa8]
test cl, cl
je 0x1000e161
movaps xmm3, xmm5
movaps xmm4, xmm5
jmp 0x1000e167
xorps xmm3, xmm3
xorps xmm4, xmm4
mov esi, dword [ebp - 0x30]
movss xmm2, dword [esi + 0x10]
movss xmm1, dword [esi + 0x14]
subss xmm2, xmm7
movaps xmm0, xmm2
addss xmm0, dword [esi + 0x18]
addss xmm0, xmm7
movss dword [ebp - 0x18], xmm0
movaps xmm0, xmm1
subss xmm0, xmm4
addss xmm0, dword [esi + 0x1c]
addss xmm0, xmm3
movss dword [ebp - 0x14], xmm0
test cl, cl
je 0x1000e1a7
movaps xmm0, xmm5
jmp 0x1000e1aa
xorps xmm0, xmm0
push ecx
mov dword [esp], 0x3f800000
subss xmm1, xmm0
push 0x30
push ecx
movss dword [esp], xmm6
push eax
lea eax, [ebp - 0x18]
movss dword [ebp - 0x24], xmm2
push eax
lea eax, [ebp - 0x24]
movss dword [ebp - 0x20], xmm1
push eax
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax + 0x248]
call fcn.100218d0
jmp 0x1000e1e4
mov esi, dword [ebp - 0x30]
mov eax, dword [ebp + 0x18]
sub eax, dword [ebp + 0x14]
sar eax, 2
cmp dword [ebp - 0x60], 0
mov dword [ebp - 0x4c], eax
je 0x1000e8ef
test eax, eax
je 0x1000e8ef
movss xmm0, dword [esi + 0x18]
lea eax, [ebp - 0x18]
addss xmm0, dword [esi + 0x10]
push 0
push eax
push edi
mov edi, dword [ebp - 0x38]
movss dword [ebp - 0x18], xmm0
movss xmm0, dword [esi + 0x1c]
addss xmm0, dword [esi + 0x14]
mov ecx, dword [edi + 0x248]
movss dword [ebp - 0x14], xmm0
call fcn.1001f500
movaps xmm0, xmmword [0x103a3d30]
movss xmm1, dword [esi + 0x10]
addss xmm1, dword [0x103a39e4]
movss xmm2, dword [esi + 0x60]
xorps xmm2, xmmword [0x103a3e00]
addss xmm2, dword [esi + 0x14]
movups xmmword [ebp - 0x5c], xmm0
push 0
movss xmm0, dword [esi + 0x18]
subss xmm0, dword [0x103a3a28]
push ecx
lea ecx, [ebp - 0x5c]
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 [0x103a3abc]
movss dword [ebp - 0x14], xmm0
call fcn.10005080
mov ecx, dword [edi + 0x248]
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.100219c0
movss xmm2, dword [esi + 0x10]
movaps xmm0, xmmword [0x103a3d50]
addss xmm2, dword [0x103a39e4]
movss xmm1, dword [esi + 0x14]
addss xmm1, dword [0x103a3ab8]
movups xmmword [ebp - 0x5c], xmm0
push 0
movss xmm0, dword [esi + 0x18]
subss xmm0, dword [0x103a3a28]
addss xmm2, dword [0x103a392c]
subss xmm1, dword [esi + 0x60]
push ecx
lea ecx, [ebp - 0x5c]
mov dword [esp], 0
addss xmm0, xmm2
movss dword [ebp - 0x24], xmm2
movss dword [ebp - 0x20], xmm1
movss dword [ebp - 0x18], xmm0
movaps xmm0, xmm1
addss xmm0, dword [0x103a39e4]
movss dword [ebp - 0x14], xmm0
call fcn.10005080
mov ecx, dword [edi + 0x248]
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.100219c0
mov eax, dword [ebp - 0x4c]
xor edi, edi
mov dword [ebp - 0x3c], edi
test eax, eax
je 0x1000e86a
cmp edi, eax
jae 0x1000e86a
mov eax, dword [ebp + 0x14]
or edx, 0xffffffff
mov ecx, dword [eax + edi*4]
mov dword [ebp - 0x48], ecx
mov al, byte [ecx]
lea esi, [ecx + 1]
test al, al
je 0x1000e39d
or edi, 0xffffffff
nop dword [eax]
cmp al, 0x23
jne 0x1000e37e
cmp byte [esi], al
jne 0x1000e37e
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 + 0x10196330]
test al, al
jne 0x1000e370
mov edi, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x48]
movss xmm3, dword [0x103a3b54]
lea eax, [ebp - 0xb8]
push ecx
push 0
push ecx
push ecx
mov ecx, dword [0x103cbb48]
not edx
mov dword [esp], 0
push eax
mov dword [ebp - 0x1c], edx
movss xmm2, dword [ecx + 0x10]
call fcn.10024600
mov eax, dword [ebp + 0x18]
sub eax, dword [ebp + 0x14]
sar eax, 2
mov esi, dword [0x103ca868]
push 1
movd xmm0, eax
mov eax, dword [ebp - 0x30]
cvtdq2ps xmm0, xmm0
movss xmm1, dword [eax + 0x18]
divss xmm1, xmm0
movss xmm0, dword [ebp - 0xb8]
mulss xmm0, dword [0x103a39a4]
cvttss2si eax, xmm1
mov ecx, eax
mov dword [ebp - 0x90], eax
cdq
imul ecx, edi
sub eax, edx
sar eax, 1
lea edx, [ebp - 0xc0]
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 - 0x30]
movss xmm1, dword [eax + 0x14]
subss xmm1, dword [eax + 0x60]
movss dword [ebp - 0x28], 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 [0x103a3abc]
subss xmm0, dword [ebp - 0xb4]
movss dword [eax + 0xd4], xmm2
mulss xmm0, dword [0x103a39a4]
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]
addss xmm2, dword [ecx + 0x10]
addss xmm1, dword [ecx + 0x14]
lea ecx, [ebp - 0xc8]
movaps xmm0, xmm2
movss dword [ebp - 0xc8], xmm2
addss xmm0, dword [ebp - 0xb8]
movss dword [ebp - 0xc4], xmm1
movss dword [ebp - 0xc0], xmm0
movaps xmm0, xmm1
addss xmm0, dword [ebp - 0xb4]
movss dword [ebp - 0xbc], xmm0
call fcn.10014140
mov byte [ebp - 0x31], al
add esp, 4
mov eax, dword [ebp - 0x60]
or edx, 0xffffffff
mov edi, 0x1038f34d
mov eax, dword [eax]
mov dword [ebp - 0x74], eax
mov al, 0x68
or esi, 0xffffffff
nop
cmp al, 0x23
jne 0x1000e52e
cmp byte [edi], al
jne 0x1000e52e
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 + 0x10196330]
test al, al
jne 0x1000e520
mov esi, dword [0x103ca868]
lea ecx, [ebp - 0x24]
not edx
add edx, dword [ebp - 0x1c]
push edx
movss xmm2, dword [esi + 0x18]
call fcn.10002510
cmp byte [ebp - 0x31], 0
je 0x1000e570
movss xmm1, dword [0x103a3a28]
jmp 0x1000e578
movss xmm1, dword [0x103a3b80]
movss xmm0, dword [ebp - 0x20]
mulss xmm0, dword [0x103a3a28]
mov eax, dword [ebp - 0x24]
mulss xmm0, xmm1
movss xmm1, dword [0x103a39a4]
addss xmm0, dword [eax + 0x14]
comiss xmm1, xmm0
ja 0x1000e5aa
movss xmm1, dword [0x103a39e4]
minss xmm1, xmm0
movss dword [eax + 0x14], xmm1
mov esi, 0x1038f365
or eax, 0xffffffff
mov cl, 0x73
or edi, 0xffffffff
nop dword [eax]
cmp cl, 0x23
jne 0x1000e5cf
cmp byte [esi], cl
jne 0x1000e5cf
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 + 0x10196330]
test cl, cl
jne 0x1000e5c0
not eax
lea ecx, [ebp - 0x18]
add eax, dword [ebp - 0x1c]
push eax
mov eax, dword [0x103ca868]
movss xmm2, dword [eax + 0x18]
call fcn.10002510
mov eax, dword [ebp - 0x74]
cmp dword [ebp - 0x3c], eax
jne 0x1000e612
movss xmm1, dword [0x103a3a28]
jmp 0x1000e61a
movss xmm1, dword [0x103a3b80]
movss xmm0, dword [ebp - 0x14]
xorps xmm3, xmm3
mulss xmm0, dword [0x103a3a28]
mov eax, dword [ebp - 0x18]
mulss xmm0, xmm1
addss xmm0, dword [eax + 0x14]
comiss xmm3, xmm0
jbe 0x1000e640
xorps xmm2, xmm2
jmp 0x1000e64c
movss xmm2, dword [0x103a39e4]
minss xmm2, xmm0
movss xmm0, dword [ebp - 0x64]
lea edi, [ebp - 0x74]
movss dword [eax + 0x14], xmm2
lea esi, [ebp - 0x98]
mov eax, dword [ebp - 0x24]
lea edx, [ebp - 0x9c]
comiss xmm3, xmm2
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0xa4], 0x3f800000
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0xa8], 0x3f800000
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0xac], 0x3f800000
mov dword [ebp - 0x98], 0
mov dword [ebp - 0xb0], 0x3f800000
movss xmm3, dword [0x103a39e4]
movss xmm1, dword [eax + 0x14]
subss xmm0, xmm3
lea eax, [ebp - 0x1c]
movss dword [ebp - 0x1c], xmm2
cmovbe edi, eax
mov dword [ebp - 0x74], 0
cmovbe esi, eax
cmovbe edx, eax
cmovbe ecx, eax
lea eax, [ebp - 0xa4]
comiss xmm2, xmm3
push dword [ebp - 0x48]
cmovbe eax, ecx
mulss xmm0, dword [eax]
lea eax, [ebp - 0xa8]
cmovbe eax, edx
addss xmm0, xmm3
movss dword [ebp - 0xd8], xmm0
movss xmm0, dword [ebp - 0x68]
subss xmm0, xmm3
mulss xmm0, dword [eax]
lea eax, [ebp - 0xac]
cmovbe eax, esi
addss xmm0, xmm3
movss dword [ebp - 0xd4], xmm0
movss xmm0, dword [ebp - 0x6c]
subss xmm0, xmm3
mulss xmm0, dword [eax]
lea eax, [ebp - 0xb0]
cmovbe eax, edi
addss xmm0, xmm3
movss dword [ebp - 0xd0], xmm0
movaps xmm0, xmm3
subss xmm0, xmm1
mulss xmm0, dword [eax]
lea eax, [ebp - 0xe8]
push eax
addss xmm0, xmm1
movss dword [ebp - 0xcc], xmm0
movups xmm0, xmmword [ebp - 0xd8]
movups xmmword [ebp - 0xe8], xmm0
call fcn.1002a920
movss xmm0, dword [ebp - 0x64]
mov eax, dword [ebp - 0x18]
movss xmm1, dword [ebp - 0x28]
movss dword [ebp - 0x5c], xmm0
movss xmm0, dword [ebp - 0x68]
mov esi, dword [ebp - 0x30]
movss dword [ebp - 0x58], xmm0
movss xmm0, dword [ebp - 0x6c]
movss dword [ebp - 0x54], xmm0
movss xmm0, dword [eax + 0x14]
mov eax, dword [0x103ca868]
movss dword [ebp - 0x50], xmm0
movd xmm0, dword [ebp - 0x90]
cvtdq2ps xmm0, xmm0
mov eax, dword [eax + 0x3e38]
mov dword [ebp - 0x78], 0x3f800000
movss dword [ebp - 0x7c], xmm0
mulss xmm0, dword [0x103a39a4]
subss xmm1, xmm0
movss xmm0, dword [eax + 0xd8]
subss xmm0, dword [eax + 0x14]
addss xmm1, dword [esi + 0x10]
movss dword [ebp - 0x84], xmm1
addss xmm0, dword [eax + 0x60]
lea eax, [ebp - 0x5c]
push eax
lea eax, [ebp - 0x7c]
push eax
subss xmm0, dword [esi + 0x60]
mov eax, dword [ebp - 0x38]
lea edx, [ebp - 0x84]
addss xmm0, dword [esi + 0x14]
mov ecx, dword [eax + 0x248]
subss xmm0, dword [0x103a3a28]
movss dword [ebp - 0x80], xmm0
call fcn.100027a0
add esp, 0x10
cmp byte [ebp - 0x31], 0
je 0x1000e858
push 0
xor edx, edx
xor ecx, ecx
call fcn.10014620
mov edi, dword [ebp - 0x3c]
add esp, 4
test al, al
je 0x1000e85b
mov eax, dword [ebp - 0x60]
mov dword [eax], edi
jmp 0x1000e85b
mov edi, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x4c]
inc edi
mov dword [ebp - 0x3c], edi
cmp edi, eax
jb 0x1000e354
mov edi, dword [ebp - 0x38]
mov ecx, dword [edi + 0x248]
mov edx, dword [ecx + 0x3c]
sub edx, 1
mov dword [ecx + 0x3c], edx
jne 0x1000e886
mov eax, dword [ecx + 0x2c]
add eax, 0x18
jmp 0x1000e891
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.1001f310
mov ecx, dword [0x103ca868]
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 [0x103a3a64]
movss xmm0, dword [eax + 0x14]
subss xmm0, dword [eax + 0x60]
mov byte [eax + 0x115], 1
addss xmm0, xmm1
movss dword [eax + 0xd8], xmm0
jmp 0x1000e8f2
mov edi, dword [ebp - 0x38]
cmp byte [ebp + 0x24], 0
je 0x1000e971
movss xmm0, dword [ebp - 0x64]
lea eax, [ebp - 0x5c]
movss dword [ebp - 0x5c], xmm0
lea edx, [ebp - 0x7c]
movss xmm0, dword [ebp - 0x68]
mov ecx, dword [edi + 0x248]
movss dword [ebp - 0x58], xmm0
movss xmm0, dword [ebp - 0x6c]
movss dword [ebp - 0x54], xmm0
movss xmm0, dword [esi + 0x18]
movss dword [ebp - 0x84], xmm0
movss xmm0, dword [ebp - 0x70]
addss xmm0, dword [0x103a392c]
push eax
lea eax, [ebp - 0x84]
mov dword [ebp - 0x50], 0x3f800000
push eax
mov dword [ebp - 0x80], 0x3f800000
movss dword [ebp - 0x7c], xmm0
movss xmm0, dword [ebp - 0x44]
addss xmm0, dword [0x103a3aa8]
movss dword [ebp - 0x78], xmm0
call fcn.100027a0
add esp, 8
lea ecx, [ebp + 0x14]
call fcn.1001d1f0
mov al, byte [ebp - 0x3d]
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.10123fc5
mov esp, ebp
pop ebp
ret