Function at 0x10010370
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x17c
mov esi, dword [0x1006bdd4]
push 0
push 0
push dword [esp + 0x198]
call fcn.1000a030
add esp, 0xc
mov edx, dword [esi + 0x1948]
mov dword [esp + 0x44], esi
mov esi, dword [esi + 0x1950]
mov ecx, esi
test edx, edx
je 0x100103cd
mov ecx, esi
mov edi, edx
nop dword [eax]
mov ebx, edi
shr ebx, 1
mov ebp, ebx
not ebp
add ebp, edi
cmp dword [ecx + ebx*8], eax
lea edi, [ecx + ebx*8 + 8]
cmovae ebp, ebx
cmovb ecx, edi
mov edi, ebp
test ebp, ebp
jne 0x100103b0
lea edx, [esi + edx*8]
cmp ecx, edx
mov ebp, dword [esp + 0x44]
je 0x100103e9
cmp dword [ecx], eax
jne 0x100103e9
mov edx, dword [ecx + 4]
mov al, 1
test edx, edx
jne 0x1001073d
cmp dword [ebp + 0x19dc], 0
je 0x100103fc
movsd xmm0, qword [ebp + 0x1a04]
jmp 0x100103ff
xorps xmm0, xmm0
movups xmmword [esp + 0x20], xmm0
mov ebx, dword [0x1006bdd4]
inc dword [0x1006c1d8]
push dword [0x1006c1dc]
push 0x2d4
call dword [0x1006b0bc]
add esp, 8
mov esi, eax
mov ecx, eax
push dword [esp + 0x190]
push ebx
call fcn.1000afa0
mov edi, dword [esp + 0x198]
mov dword [esi + 8], edi
lea ecx, [ebx + 0x1948]
push esi
push dword [esi + 4]
call fcn.1000ab90
test edi, 0x100
jne 0x100104a1
movaps xmm0, xmmword [0x10058760]
movups xmmword [esi + 0xc], xmm0
mov eax, dword [0x1006bdd4]
mov ecx, dword [eax + 0x29bc]
test ecx, ecx
je 0x100104a1
mov edx, dword [esi + 4]
mov eax, dword [eax + 0x29c4]
add eax, 0x18
movups xmm3, xmmword [esp + 0x20]
nop word cs:[eax + eax]
cmp dword [eax - 0x14], edx
je 0x1001058b
add eax, 0x1c
dec ecx
jne 0x10010490
jmp 0x100104a6
movups xmm3, xmmword [esp + 0x20]
movlps qword [esi + 0x2c], xmm3
movaps xmm0, xmm3
movlhps xmm0, xmm3
movups xmmword [esi + 0x1c], xmm0
mov eax, dword [esp + 0x198]
test al, 0x40
jne 0x100104fe
movaps xmm0, xmm3
shufps xmm0, xmm3, 0x55
xorps xmm1, xmm1
ucomiss xmm1, xmm3
jb 0x100104d8
mov dword [esi + 0xa8], 2
ucomiss xmm1, xmm0
jb 0x100104e7
mov dword [esi + 0xac], 2
mov al, 1
cmp dword [esi + 0xa8], 0
jg 0x10010514
cmp dword [esi + 0xac], 0
setg al
jmp 0x10010514
mov dword [esi + 0xac], 2
mov dword [esi + 0xa8], 2
xor eax, eax
mov byte [esi + 0xb0], al
test dword [esp + 0x198], 0x2000
mov dword [esp + 4], esi
jne 0x10010558
mov edi, dword [ebx + 0x1924]
cmp edi, dword [ebx + 0x1928]
jne 0x10010681
lea esi, [edi + 1]
test edi, edi
je 0x100105fc
mov eax, edi
shr eax, 0x1f
add eax, edi
sar eax, 1
add eax, edi
jmp 0x10010601
mov eax, dword [ebx + 0x1924]
mov edi, dword [ebx + 0x192c]
cmp eax, dword [ebx + 0x1928]
jne 0x10010714
lea esi, [eax + 1]
test eax, eax
je 0x1001068f
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x10010694
movsd xmm0, qword [esi + 0xc0]
andps xmm0, xmmword [0x10058770]
movlps qword [esi + 0xc0], xmm0
and byte [esi + 0xc8], 0xfb
movsd xmm0, qword [eax - 0x10]
mov ecx, dword [eax - 0x10]
mov edx, dword [eax - 0xc]
mov dword [esi + 0xc], ecx
mov dword [esi + 0x10], edx
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
movlps qword [esi + 0x14], xmm0
movzx ecx, byte [eax]
mov byte [esi + 0x93], cl
movsd xmm0, qword [eax - 8]
movaps xmm1, xmm0
mulps xmm1, xmm0
shufps xmm1, xmm1, 0x55
movaps xmm2, xmm0
mulss xmm2, xmm0
addss xmm2, xmm1
ucomiss xmm2, dword [0x10058780]
jbe 0x100104a6
movaps xmm3, xmm0
jmp 0x100104a6
mov eax, 8
cmp eax, esi
cmovg esi, eax
cmp edi, esi
jge 0x10010681
lea eax, [esi*4]
inc dword [0x1006c1d8]
push dword [0x1006c1dc]
push eax
call dword [0x1006b0bc]
add esp, 8
mov edi, eax
mov eax, dword [ebx + 0x192c]
xor ebp, ebp
test eax, eax
je 0x1001065b
mov ecx, dword [ebx + 0x1924]
shl ecx, 2
push ecx
push eax
push edi
call fcn.1003be10
add esp, 0xc
mov eax, dword [ebx + 0x192c]
test eax, eax
je 0x1001065b
dec dword [0x1006c1d8]
mov ebp, eax
push dword [0x1006c1dc]
push ebp
call dword [0x1006b0c0]
add esp, 8
mov dword [ebx + 0x192c], edi
mov dword [ebx + 0x1928], esi
mov edi, dword [ebx + 0x1924]
mov ebp, dword [esp + 0x44]
shl edi, 2
add edi, dword [ebx + 0x192c]
jmp 0x1001072f
mov ecx, 8
cmp ecx, esi
cmovg esi, ecx
cmp eax, esi
jge 0x10010714
lea eax, [esi*4]
inc dword [0x1006c1d8]
push dword [0x1006c1dc]
push eax
call dword [0x1006b0bc]
add esp, 8
mov edi, eax
mov eax, dword [ebx + 0x192c]
xor ebp, ebp
test eax, eax
je 0x100106ee
mov ecx, dword [ebx + 0x1924]
shl ecx, 2
push ecx
push eax
push edi
call fcn.1003be10
add esp, 0xc
mov eax, dword [ebx + 0x192c]
test eax, eax
je 0x100106ee
dec dword [0x1006c1d8]
mov ebp, eax
push dword [0x1006c1dc]
push ebp
call dword [0x1006b0c0]
add esp, 8
mov dword [ebx + 0x192c], edi
mov dword [ebx + 0x1928], esi
mov eax, dword [ebx + 0x1924]
mov ebp, dword [esp + 0x44]
test eax, eax
jle 0x1001072f
shl eax, 2
push eax
push edi
add edi, 4
push edi
call fcn.1003be10
add esp, 0xc
mov edi, dword [ebx + 0x192c]
mov edx, dword [esp + 4]
mov dword [edi], edx
inc dword [ebx + 0x1924]
xor eax, eax
mov edi, dword [ebp + 0x1918]
mov ecx, dword [edx + 0x224]
mov dword [esp + 0x20], ecx
cmp ecx, edi
mov dword [esp + 0x70], eax
jne 0x1001075a
mov ebx, dword [edx + 8]
jmp 0x10010771
mov eax, dword [esp + 0x198]
mov ebx, eax
or ebx, 6
test eax, 0x200
cmove ebx, eax
mov dword [edx + 8], ebx
lea eax, [edi - 1]
cmp dword [esp + 0x20], eax
setl cl
mov esi, dword [edx + 0xbc]
mov dword [esp + 0x30], esi
test ebx, 0x4000000
mov dword [esp + 4], edx
je 0x100107c7
cmp dword [esp + 0x20], eax
setl al
mov ecx, dword [ebp + 0x19c8]
mov edx, dword [ebp + 0x19cc]
lea edx, [edx + edx*8]
mov esi, dword [esp + 4]
mov esi, dword [esi + 0xa4]
xor esi, dword [ecx + edx*4]
mov ecx, dword [ecx + edx*4 + 4]
xor ecx, dword [esp + 4]
or ecx, esi
mov edx, dword [esp + 4]
setne cl
or cl, al
cmp dword [esp + 0x30], 0
setg al
or al, cl
mov byte [edx + 0x96], al
cmp dword [esp + 0x194], 0
setne byte [edx + 0x97]
cmp al, 1
jne 0x10010807
movsd xmm0, qword [edx + 0xc0]
orps xmm0, xmmword [0x10058790]
movlps qword [edx + 0xc0], xmm0
or byte [edx + 0xc8], 8
mov eax, dword [ebp + 0x193c]
test eax, eax
mov byte [esp + 3], cl
je 0x10010821
mov ecx, dword [ebp + 0x1944]
mov ecx, dword [ecx + eax*4 - 4]
jmp 0x10010823
xor ecx, ecx
mov dword [esp + 0x98], edi
cmp dword [esp + 0x20], edi
jne 0x10010838
mov edi, dword [edx + 0x27c]
jmp 0x10010843
mov edi, ebx
and edi, 0x5000000
cmovne edi, ecx
cmp eax, dword [ebp + 0x1940]
mov dword [esp + 0xc], ebx
mov dword [esp + 8], edi
mov dword [esp + 0xe4], ecx
jne 0x100108ff
lea esi, [eax + 1]
test eax, eax
je 0x10010872
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x10010877
mov ecx, 8
cmp ecx, esi
cmovg esi, ecx
cmp eax, esi
jge 0x100108ff
lea eax, [esi*4]
inc dword [0x1006c1d8]
push dword [0x1006c1dc]
push eax
call dword [0x1006b0bc]
add esp, 8
mov edi, eax
mov eax, dword [ebp + 0x1944]
xor ebx, ebx
test eax, eax
je 0x100108d1
mov ecx, dword [ebp + 0x193c]
shl ecx, 2
push ecx
push eax
push edi
call fcn.1003be10
add esp, 0xc
mov eax, dword [ebp + 0x1944]
test eax, eax
je 0x100108d1
dec dword [0x1006c1d8]
mov ebx, eax
push dword [0x1006c1dc]
push ebx
call dword [0x1006b0c0]
add esp, 8
mov ebp, dword [esp + 0x44]
mov dword [ebp + 0x1944], edi
mov dword [ebp + 0x1940], esi
mov eax, dword [ebp + 0x193c]
mov ebx, dword [esp + 0xc]
mov edi, dword [esp + 8]
mov ecx, dword [ebp + 0x1944]
mov esi, dword [esp + 4]
mov dword [ecx + eax*4], esi
inc dword [ebp + 0x193c]
mov eax, dword [0x1006bdd4]
mov dword [eax + 0x1958], esi
movss xmm0, dword [eax + 0x188c]
mulss xmm0, dword [esi + 0x274]
movss dword [eax + 0x189c], xmm0
movss dword [eax + 0x1888], xmm0
mov ecx, dword [esi + 0x1a4]
mov edx, dword [esi + 0x1d8]
mov dword [esi + 0x1b0], edx
mov dword [esi + 0x1b4], ecx
mov ecx, dword [eax + 0x19cc]
mov dword [esi + 0x1b8], ecx
mov ecx, dword [eax + 0x199c]
mov dword [esi + 0x1bc], ecx
mov ecx, dword [eax + 0x19a8]
mov dword [esi + 0x1c0], ecx
mov eax, dword [eax + 0x19b4]
mov dword [esi + 0x1c4], eax
test ebx, 0x4000000
je 0x10010a98
mov eax, dword [ebp + 0x19c8]
mov ecx, dword [ebp + 0x19cc]
lea ecx, [ecx + ecx*8]
mov edx, esi
lea esi, [eax + ecx*4]
mov dword [eax + ecx*4 + 4], edx
mov eax, dword [ebp + 0x19cc]
cmp eax, dword [ebp + 0x19d0]
jne 0x10010a62
lea edi, [eax + 1]
test eax, eax
je 0x100109cf
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x100109d4
mov ecx, 8
cmp ecx, edi
cmovg edi, ecx
cmp eax, edi
jge 0x10010a62
lea eax, [edi*4]
lea eax, [eax + eax*8]
inc dword [0x1006c1d8]
push dword [0x1006c1dc]
push eax
call dword [0x1006b0bc]
add esp, 8
mov edx, dword [ebp + 0x19d4]
xor ecx, ecx
test edx, edx
mov dword [esp + 0x34], eax
je 0x10010a3c
mov ecx, dword [ebp + 0x19cc]
shl ecx, 2
lea ecx, [ecx + ecx*8]
push ecx
push edx
push eax
call fcn.1003be10
xor ecx, ecx
add esp, 0xc
mov eax, dword [ebp + 0x19d4]
test eax, eax
je 0x10010a3c
dec dword [0x1006c1d8]
mov ecx, eax
push dword [0x1006c1dc]
push ecx
call dword [0x1006b0c0]
add esp, 8
mov eax, dword [esp + 0x34]
mov dword [ebp + 0x19d4], eax
mov dword [ebp + 0x19d0], edi
mov eax, dword [ebp + 0x19cc]
mov ecx, dword [ebp + 0x19d4]
lea eax, [eax + eax*8]
mov edx, dword [esi + 0x20]
mov dword [ecx + eax*4 + 0x20], edx
movups xmm0, xmmword [esi]
movups xmm1, xmmword [esi + 0x10]
movups xmmword [ecx + eax*4 + 0x10], xmm1
movups xmmword [ecx + eax*4], xmm0
inc dword [ebp + 0x19cc]
mov eax, dword [esi]
mov esi, dword [esp + 4]
mov dword [esi + 0xa4], eax
mov edi, dword [esp + 8]
mov eax, ebx
and eax, 0x1000000
mov dword [esp + 0x34], eax
cmp dword [esp + 0x30], 0
jle 0x10010abb
cmp dword [esp + 0x34], 0
jne 0x10010abb
mov dword [esi + 0x294], 0
mov ecx, dword [ebp + 0x19d8]
test ecx, ecx
je 0x10010b32
mov eax, dword [esi + 0xc0]
test eax, ecx
setne cl
mov dword [esp + 0x58], ecx
je 0x10010ba5
movss xmm0, dword [ebp + 0x19fc]
movss xmm1, dword [ebp + 0x1a00]
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm0, xmm1
ucomiss xmm0, dword [0x10058780]
jbe 0x10010b3c
movsd xmm0, qword [ebp + 0x19f4]
movsd qword [esi + 0xcc], xmm0
mov ecx, dword [ebp + 0x19fc]
mov edx, dword [ebp + 0x1a00]
mov dword [esi + 0xd8], edx
mov dword [esi + 0xd4], ecx
and eax, 0xfffffff1
mov dword [esi + 0xc0], eax
jmp 0x10010ba5
mov dword [esp + 0x58], 0
jmp 0x10010baf
and eax, 0xfffffff1
mov dword [esi + 0xc0], eax
mov dword [esi + 0xcc], 0x7f7fffff
mov dword [esi + 0xd0], 0x7f7fffff
movsd xmm0, qword [ebp + 0x19f4]
movsd qword [esi + 0xc], xmm0
movsd xmm0, qword [ebp + 0x19f4]
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
movsd xmm1, qword [esi + 0x14]
movsd xmm2, qword [esi + 0xdc]
movlps qword [esi + 0x14], xmm0
subps xmm0, xmm1
addps xmm2, xmm0
movlps qword [esi + 0xdc], xmm2
movsd xmm1, qword [esi + 0xf4]
addps xmm1, xmm0
movlps qword [esi + 0xf4], xmm1
mov dword [ebp + 0x19d8], 0
mov ecx, dword [ebp + 0x19dc]
test ecx, ecx
je 0x10010c20
mov eax, dword [esi + 0xc4]
test eax, ecx
je 0x10010c60
movss xmm0, dword [ebp + 0x1a04]
movss xmm1, dword [ebp + 0x1a08]
xorps xmm2, xmm2
ucomiss xmm0, xmm2
seta cl
mov dword [esp + 0x48], ecx
ucomiss xmm1, xmm2
seta cl
mov dword [esp + 0xcc], ecx
and eax, 0xfffffff1
mov dword [esi + 0xc4], eax
movss xmm0, dword [ebp + 0x1a04]
ucomiss xmm0, xmm2
jbe 0x10010c75
mov dword [esi + 0xa8], 0
movss xmm0, dword [ebp + 0x1a04]
movss dword [esi + 0x24], xmm0
jmp 0x10010c86
mov dword [esp + 0xcc], 0
mov dword [esp + 0x48], 0
cmp dword [ebp + 0x19e0], 0
jne 0x10010cd7
mov eax, dword [esp + 0x20]
cmp eax, dword [esp + 0x98]
je 0x10010d6f
mov dword [esi + 0x3c], 0
lea eax, [esi + 0x40]
jmp 0x10010d69
mov dword [esp + 0xcc], 0
mov dword [esp + 0x48], 0
jmp 0x10010cc0
mov dword [esi + 0xa8], 2
mov byte [esi + 0xb0], 0
movss xmm0, dword [ebp + 0x1a08]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jbe 0x10010caf
mov dword [esi + 0xac], 0
movss xmm0, dword [ebp + 0x1a08]
movss dword [esi + 0x28], xmm0
jmp 0x10010cc0
mov dword [esi + 0xac], 2
mov byte [esi + 0xb0], 0
mov dword [ebp + 0x19dc], 0
cmp dword [ebp + 0x19e0], 0
je 0x10010c40
lea eax, [ebp + 0x19e0]
mov ecx, dword [ebp + 0x1a0c]
mov edx, dword [ebp + 0x1a10]
mov dword [esi + 0x40], edx
mov dword [esi + 0x3c], ecx
movd xmm0, edx
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jne 0x10010cfd
jnp 0x10010d69
mov ecx, dword [esi + 8]
test cl, 1
jne 0x10010d2b
mov edx, dword [0x1006bdd4]
movss xmm2, dword [edx + 0x188c]
mulss xmm2, dword [esi + 0x274]
movss xmm1, dword [edx + 0x1524]
addss xmm1, xmm1
addss xmm1, xmm2
xorps xmm2, xmm2
test ecx, 0x400
je 0x10010d5c
mov ecx, dword [0x1006bdd4]
movss xmm3, dword [ecx + 0x188c]
mulss xmm3, dword [esi + 0x274]
movss xmm2, dword [ecx + 0x1524]
addss xmm2, xmm2
addss xmm2, xmm3
addss xmm1, xmm2
addss xmm1, xmm0
movss dword [esi + 0x40], xmm1
mov dword [eax], 0
mov ecx, dword [ebp + 0x19e4]
test ecx, ecx
je 0x10010da3
mov eax, dword [esi + 0xc8]
test eax, ecx
je 0x10010d99
movzx ecx, byte [ebp + 0x1a14]
and eax, 0xfffffff1
mov dword [esi + 0xc8], eax
mov byte [esi + 0x93], cl
mov dword [ebp + 0x19e4], 0
cmp dword [ebp + 0x19ec], 0
je 0x10010dc9
mov eax, dword [0x1006bdd4]
push dword [eax + 0x1958]
call fcn.10015660
add esp, 4
mov dword [ebp + 0x19ec], 0
cmp byte [esi + 0x96], 0
je 0x10010def
movsd xmm0, qword [esi + 0xc0]
andps xmm0, xmmword [0x100587a0]
movlps qword [esi + 0xc0], xmm0
and byte [esi + 0xc8], 0xf7
mov eax, dword [esp + 0x20]
cmp eax, dword [esp + 0x98]
jne 0x10010e5d
mov eax, dword [0x1006bdd4]
mov ecx, dword [eax + 0x1958]
mov byte [ecx + 0x92], 1
mov esi, dword [eax + 0x1958]
mov ecx, dword [esi + 0x278]
mov eax, dword [esp + 4]
movups xmm0, xmmword [eax + 0x214]
sub esp, 0x14
movups xmmword [esp], xmm0
mov dword [esp + 0x10], 1
call fcn.100261f0
mov eax, dword [esi + 0x278]
mov ecx, dword [eax + 0x3c]
mov eax, dword [eax + 0x44]
shl ecx, 4
movups xmm0, xmmword [ecx + eax - 0x10]
movups xmmword [esi + 0x1e4], xmm0
mov edx, dword [esp + 4]
jmp 0x10014edf
mov eax, ebx
and eax, 0x3000000
mov dword [esp + 0x20], eax
mov dword [esi + 0x27c], edi
movd xmm0, esi
pshufd xmm0, xmm0, 0
movdqu xmmword [esi + 0x280], xmm0
test edi, edi
je 0x10010ea0
cmp dword [esp + 0x34], 0
je 0x10010ea0
cmp dword [esp + 0x20], 0x3000000
je 0x10010ea0
mov eax, dword [edi + 0x280]
mov dword [esi + 0x280], eax
test edi, edi
je 0x10010ec8
mov eax, ebx
and eax, 0x8000000
jne 0x10010ec8
mov eax, ebx
and eax, 0x5000000
je 0x10010ec8
mov eax, dword [edi + 0x284]
mov dword [esi + 0x288], eax
mov dword [esi + 0x284], eax
test byte [esi + 0xa], 0x80
je 0x10010ee2
mov eax, esi
mov eax, dword [eax + 0x27c]
mov dword [esi + 0x28c], eax
test byte [eax + 0xa], 0x80
jne 0x10010ed0
mov byte [esi + 0x90], 1
mov dword [esi + 0x98], 0
mov eax, dword [ebp + 0x1954]
lea ecx, [eax + 1]
mov dword [ebp + 0x1954], ecx
mov dword [esi + 0x9c], eax
mov dword [esi + 0xa0], 0
movaps xmm0, xmmword [0x100587b0]
movups xmmword [esi + 0x1e4], xmm0
mov eax, dword [esp + 0x98]
mov dword [esi + 0x224], eax
mov eax, dword [esi + 0x1dc]
test eax, eax
jg 0x10010fdf
mov ecx, eax
neg ecx
shr ecx, 1
mov edx, eax
sub edx, ecx
cmp edx, 2
mov ecx, 1
cmovge ecx, edx
test eax, eax
mov edi, esi
mov esi, 8
cmovne esi, ecx
lea eax, [esi*4]
inc dword [0x1006c1d8]
push dword [0x1006c1dc]
push eax
call dword [0x1006b0bc]
add esp, 8
mov edx, dword [edi + 0x1e0]
xor ebx, ebx
test edx, edx
mov dword [esp + 0x98], eax
je 0x10010fb2
mov ecx, dword [edi + 0x1d8]
shl ecx, 2
push ecx
push edx
push eax
call fcn.1003be10
add esp, 0xc
mov eax, dword [edi + 0x1e0]
test eax, eax
je 0x10010fb2
dec dword [0x1006c1d8]
mov ebx, eax
push dword [0x1006c1dc]
push ebx
call dword [0x1006b0c0]
add esp, 8
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x98]
mov dword [eax + 0x1e0], ecx
mov dword [eax + 0x1dc], esi
mov esi, eax
mov ebx, dword [esp + 0xc]
mov dword [esi + 0x1d8], 1
test ebx, 0x1000000
jne 0x1001102d
mov eax, ebx
and eax, 0x8000000
sete cl
mov edx, ebx
shr edx, 0x1a
and dl, cl
movzx ecx, dl
shl ecx, 5
movss xmm0, dword [ecx + ebp + 0x14f8]
lea edx, [esi + 0x5c]
movss dword [esi + 0x5c], xmm0
test ebx, 0x6000000
je 0x10011045
test eax, eax
jne 0x10011045
lea eax, [ebp + 0x151c]
jmp 0x1001104b
movss xmm0, dword [ebp + 0x1510]
lea edx, [esi + 0x5c]
movss dword [esi + 0x5c], xmm0
lea eax, [ebp + 0x1514]
jmp 0x1001104b
lea eax, [ebp + 0x14fc]
movss xmm1, dword [eax]
movss dword [esi + 0x60], xmm1
movsd xmm0, qword [ebp + 0x14f0]
movsd qword [esi + 0x54], xmm0
cmp dword [esp + 0x34], 0
je 0x10011097
mov eax, ebx
and eax, 0x4010000
jne 0x10011097
xorps xmm0, xmm0
ucomiss xmm1, xmm0
jne 0x10011097
jp 0x10011097
test ebx, 0x400
je 0x1001108b
movss xmm0, dword [ebp + 0x14f4]
mov dword [esi + 0x54], 0
movss dword [esi + 0x58], xmm0
test bl, 0x21
mov dword [esp + 0x12c], edx
je 0x100110af
mov byte [esi + 0x93], 0
jmp 0x100111e7
movss xmm0, dword [esi + 0x18]
mov eax, dword [esi + 8]
xorps xmm1, xmm1
test al, 1
jne 0x100110e4
mov ecx, dword [0x1006bdd4]
movss xmm2, dword [ecx + 0x188c]
mulss xmm2, dword [esi + 0x274]
movss xmm1, dword [ecx + 0x1524]
addss xmm1, xmm1
addss xmm1, xmm2
cmp byte [esi + 0x94], 0
je 0x10011128
mov ecx, dword [0x1006bdd4]
xor byte [esi + 0x93], 1
test eax, 0x100
jne 0x1001111a
xorps xmm0, xmm0
ucomiss xmm0, dword [ecx + 0x29b8]
jb 0x1001111a
movss xmm0, dword [ecx + 0x18]
movss dword [ecx + 0x29b8], xmm0
push esi
call fcn.10015660
add esp, 4
jmp 0x100111e7
cmp dword [ebp + 0x195c], esi
jne 0x100111e7
movss xmm2, dword [esi + 0x14]
mov ecx, dword [0x1006bdd4]
mov edx, dword [ecx + 0x1958]
movss xmm3, dword [edx + 0x1e4]
movaps xmm5, xmm3
cmpless xmm5, xmm2
movaps xmm4, xmm5
andps xmm4, xmm2
andnps xmm5, xmm3
orps xmm5, xmm4
movss xmm3, dword [ecx + 0x1540]
subss xmm5, xmm3
movss xmm4, dword [ecx + 0xd4]
ucomiss xmm4, xmm5
jb 0x100111e7
movss xmm5, dword [edx + 0x1e8]
movaps xmm7, xmm5
cmpless xmm7, xmm0
movaps xmm6, xmm7
andps xmm6, xmm0
andnps xmm7, xmm5
orps xmm7, xmm6
movss xmm5, dword [ecx + 0x1544]
subss xmm7, xmm5
movss xmm6, dword [ecx + 0xd8]
ucomiss xmm6, xmm7
jb 0x100111e7
addss xmm2, dword [esi + 0x24]
minss xmm2, dword [edx + 0x1ec]
addss xmm3, xmm2
ucomiss xmm3, xmm4
jbe 0x100111e7
addss xmm0, xmm1
minss xmm0, dword [edx + 0x1f0]
addss xmm0, xmm5
ucomiss xmm0, xmm6
jbe 0x100111e7
cmp byte [ebp + 0x3d1], 0
jne 0x100110f3
mov byte [esi + 0x94], 0
movss xmm0, dword [esi + 0x3c]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jne 0x1001120f
jp 0x1001120f
movss xmm0, dword [esi + 0xf4]
subss xmm0, dword [esi + 0x14]
addss xmm0, dword [esi + 0x6c]
movss xmm2, dword [esi + 0x40]
ucomiss xmm2, xmm1
movzx ecx, byte [esp + 3]
jne 0x10011232
jp 0x10011232
movss xmm2, dword [esi + 0xf8]
subss xmm2, dword [esi + 0x18]
addss xmm2, dword [esi + 0x70]
unpcklps xmm0, xmm2
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
movsd xmm1, qword [esi + 0x54]
addps xmm1, xmm0
movlps qword [esi + 0x34], xmm1
mov eax, dword [esi + 0xbc]
test eax, eax
jle 0x10011259
dec eax
mov dword [esi + 0xbc], eax
test ebx, 0x6000000
setne al
and al, cl
cmp al, 1
jne 0x100112b2
mov dword [esi + 0xbc], 1
test bl, 0x40
je 0x100112b2
cmp byte [esp + 0x48], 0
jne 0x1001128c
mov dword [esi + 0x24], 0
mov dword [esi + 0x1c], 0
cmp byte [esp + 0xcc], 0
jne 0x100112a4
mov dword [esi + 0x28], 0
mov dword [esi + 0x20], 0
mov dword [esi + 0x34], 0
mov dword [esi + 0x38], 0
lea edi, [esi + 0x34]
mov eax, dword [esp + 0x48]
and al, byte [esp + 0xcc]
mov ecx, dword [esp + 0x70]
or cl, al
jne 0x100112d2
mov dword [esi + 0xbc], 1
lea ecx, [esp + 0xdc]
mov edx, esi
push edi
call fcn.100184d0
add esp, 4
test bl, 0x40
je 0x100112f6
cmp byte [esi + 0x93], 0
je 0x100113d3
cmp dword [esi + 0xa8], 0
jle 0x10011310
cmp byte [esp + 0x48], 0
je 0x10011329
movss xmm2, dword [0x10058650]
jmp 0x10011359
movss xmm2, dword [0x10058650]
cmp dword [esi + 0xac], 0
movaps xmm3, xmm2
jg 0x10011359
jmp 0x1001140b
cmp byte [esi + 0xb0], 0
movss xmm2, dword [esp + 0xdc]
je 0x10011354
movss xmm0, dword [esi + 0x24]
movaps xmm1, xmm2
cmpless xmm1, xmm0
andps xmm0, xmm1
andnps xmm1, xmm2
orps xmm1, xmm0
movaps xmm2, xmm1
movss dword [esi + 0x24], xmm2
movss xmm3, dword [0x10058650]
cmp byte [esp + 0xcc], 0
jne 0x100113a4
cmp dword [esi + 0xac], 0
jle 0x100113a4
cmp byte [esi + 0xb0], 0
movss xmm3, dword [esp + 0xe0]
je 0x1001139f
movss xmm0, dword [esi + 0x28]
movaps xmm1, xmm3
cmpless xmm1, xmm0
andps xmm0, xmm1
andnps xmm1, xmm3
orps xmm1, xmm0
movaps xmm3, xmm1
movss dword [esi + 0x28], xmm3
cmp byte [esi + 0x93], 0
jne 0x1001140b
test byte [esi + 9], 1
jne 0x1001140b
mov eax, dword [0x1006bdd4]
xorps xmm0, xmm0
ucomiss xmm0, dword [eax + 0x29b8]
jb 0x1001140b
movss xmm0, dword [eax + 0x18]
movss dword [eax + 0x29b8], xmm0
jmp 0x1001140b
movss xmm3, dword [0x10058650]
movaps xmm2, xmm3
cmp byte [esp + 0x48], 0
jne 0x100113f3
movss xmm2, dword [esp + 0xdc]
movss dword [esi + 0x24], xmm2
cmp byte [esp + 0xcc], 0
jne 0x1001140b
movss xmm3, dword [esp + 0xe0]
movss dword [esi + 0x28], xmm3
movups xmmword [esp + 0xcc], xmm3
movups xmmword [esp + 0x98], xmm2
movss xmm0, dword [esi + 0x24]
movss xmm1, dword [esi + 0x28]
lea ecx, [esp + 0x10]
mov edx, esi
call fcn.100185d0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esi + 0x28], ecx
mov dword [esi + 0x24], eax
movzx edx, byte [esi + 0x93]
test dl, dl
je 0x100114c0
cmp dword [esp + 0x34], 0
jne 0x100114c0
movss xmm0, dword [esi + 0x18]
xorps xmm1, xmm1
test byte [esi + 8], 1
mov edi, dword [esp + 8]
movzx ecx, byte [esp + 3]
jne 0x10011492
mov ecx, dword [0x1006bdd4]
movss xmm2, dword [ecx + 0x188c]
mulss xmm2, dword [esi + 0x274]
movss xmm1, dword [ecx + 0x1524]
movzx ecx, byte [esp + 3]
addss xmm1, xmm1
addss xmm1, xmm2
lea edx, [esi + 0x1c]
mov dword [esp + 0x6c], edx
movss xmm2, dword [esi + 0x14]
unpcklps xmm2, xmm0
movd xmm0, eax
punpckldq xmm0, xmm1
addps xmm0, xmm2
subps xmm0, xmm2
movlps qword [esi + 0x1c], xmm0
test cl, cl
jne 0x1001163e
jmp 0x10011676
mov dword [esp + 0x48], edi
lea edi, [esi + 0x1c]
mov dword [esp + 0x6c], edi
mov dword [esi + 0x1c], eax
mov dword [esi + 0x20], ecx
test dl, dl
je 0x100114eb
mov edi, dword [esp + 8]
movzx ecx, byte [esp + 3]
test cl, cl
jne 0x1001163e
jmp 0x10011676
movss xmm0, dword [0x10058650]
movups xmm1, xmmword [esp + 0x98]
cmpeqss xmm1, xmm0
movd eax, xmm1
and eax, 1
movss xmm1, dword [esi + eax*8 + 0x24]
movups xmm2, xmmword [esp + 0xcc]
cmpeqss xmm2, xmm0
movd eax, xmm2
and eax, 1
movss xmm0, dword [esi + eax*8 + 0x28]
test ebx, 0x4000
jne 0x10011564
movss xmm2, dword [esi + 0x38]
ucomiss xmm2, xmm0
seta cl
test bl, 8
sete al
and al, cl
mov byte [esi + 0x85], al
test bx, bx
mov ecx, dword [esp + 0x48]
js 0x100115b6
movss xmm2, dword [ecx]
test al, al
jne 0x10011578
xorps xmm3, xmm3
xor eax, eax
mov edi, dword [esp + 8]
jmp 0x10011586
mov byte [esi + 0x85], 1
test bx, bx
mov eax, dword [esp + 0x48]
js 0x100115f3
movss xmm2, dword [eax]
mov edi, dword [esp + 8]
movss xmm3, dword [ebp + 0x1550]
mov al, 1
subss xmm1, xmm3
ucomiss xmm2, xmm1
jbe 0x1001160a
mov ecx, ebx
and ecx, 8
jne 0x1001160a
mov edx, ebx
and edx, 0x800
mov ecx, edx
shr ecx, 0xb
mov byte [esi + 0x84], cl
xorps xmm1, xmm1
test edx, edx
je 0x10011614
test al, al
je 0x100115c5
jmp 0x100115ed
mov byte [esi + 0x84], 1
test al, al
mov edi, dword [esp + 8]
jne 0x10011600
movss xmm1, dword [esi + 0x38]
subss xmm0, dword [ebp + 0x1550]
ucomiss xmm1, xmm0
seta cl
test bl, 8
sete al
and al, cl
mov byte [esi + 0x85], al
movzx ecx, byte [esi + 0x84]
test cl, cl
jne 0x10011600
jmp 0x10011611
mov byte [esi + 0x84], 1
mov al, 1
mov edi, dword [esp + 8]
movss xmm1, dword [ebp + 0x1550]
jmp 0x10011614
mov byte [esi + 0x84], 0
xorps xmm1, xmm1
movzx ecx, byte [esp + 3]
test al, al
je 0x10011627
movss xmm0, dword [ebp + 0x1550]
jmp 0x1001162a
xorps xmm0, xmm0
movss dword [esi + 0x88], xmm0
movss dword [esi + 0x8c], xmm1
test cl, cl
je 0x10011676
test ebx, 0x4000000
sete al
mov dword [esi + 0xb8], 0xffffffff
or al, byte [esp + 0x58]
jne 0x10011676
mov eax, dword [ebp + 0x19cc]
mov ecx, dword [ebp + 0x19d4]
lea eax, [eax + eax*8]
movq xmm0, qword [ecx + eax*4 - 0x10]
pshufd xmm0, xmm0, 0x44
movdqu xmmword [esi + 0xc], xmm0
test ebx, 0x1000000
je 0x1001178a
mov eax, dword [edi + 0x15c]
mov dword [esi + 0x98], eax
mov eax, dword [edi + 0x15c]
cmp eax, dword [edi + 0x160]
jne 0x1001174d
lea esi, [eax + 1]
test eax, eax
je 0x100116b4
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x100116b9
mov ecx, 8
cmp ecx, esi
cmovg esi, ecx
cmp eax, esi
jge 0x1001174d
lea eax, [esi*4]
inc dword [0x1006c1d8]
push dword [0x1006c1dc]
push eax
call dword [0x1006b0bc]
add esp, 8
mov edx, dword [edi + 0x164]
xor ebx, ebx
test edx, edx
mov dword [esp + 0x98], eax
je 0x1001171c
mov ecx, dword [edi + 0x15c]
shl ecx, 2
push ecx
push edx
push eax
call fcn.1003be10
add esp, 0xc
mov eax, dword [edi + 0x164]
test eax, eax
je 0x1001171c
dec dword [0x1006c1d8]
mov ebx, eax
push dword [0x1006c1dc]
push ebx
call dword [0x1006b0c0]
add esp, 8
mov edi, dword [esp + 8]
mov eax, dword [esp + 0x98]
mov dword [edi + 0x164], eax
mov dword [edi + 0x160], esi
mov eax, dword [edi + 0x15c]
mov ebx, dword [esp + 0xc]
mov ecx, ebx
shr ecx, 0x1a
and ecx, 1
mov edx, dword [edi + 0x164]
mov esi, dword [esp + 4]
mov dword [edx + eax*4], esi
inc dword [edi + 0x15c]
or cl, byte [esp + 0x58]
jne 0x1001178a
cmp dword [esp + 0x20], 0x3000000
je 0x1001178a
movq xmm0, qword [edi + 0xdc]
pshufd xmm0, xmm0, 0x44
movdqu xmmword [esi + 0xc], xmm0
movss xmm1, dword [esi + 0xcc]
ucomiss xmm1, dword [0x10058650]
mov eax, dword [esp + 0xe4]
jne 0x100117a4
jnp 0x100117b1
cmp dword [esi + 0xbc], 0
je 0x100118c2
test ebx, 0x10000000
jne 0x100117fd
test ebx, 0x4000000
sete al
or al, byte [esp + 0x58]
lea edi, [esp + 0x10]
jne 0x100119cf
cmp dword [esp + 0x30], 0
jle 0x100119cf
lea edx, [esi + 0xc]
movsd xmm0, qword [esi + 0xc]
movlhps xmm0, xmm0
addps xmm0, xmmword [0x100586f0]
movups xmmword [esp + 0x10], xmm0
lea eax, [esi + 0xb8]
jmp 0x100119aa
cmp byte [eax + 0x154], 0
lea edi, [esp + 0x10]
je 0x10011953
movss xmm0, dword [eax + 0x18]
mov edx, eax
mov eax, dword [eax + 8]
xorps xmm2, xmm2
xorps xmm1, xmm1
test al, 1
jne 0x10011848
mov ecx, dword [0x1006bdd4]
movss xmm3, dword [ecx + 0x188c]
mulss xmm3, dword [edx + 0x274]
movss xmm1, dword [ecx + 0x1524]
addss xmm1, xmm1
addss xmm1, xmm3
test eax, 0x400
je 0x10011875
mov ecx, dword [0x1006bdd4]
movss xmm3, dword [ecx + 0x188c]
mulss xmm3, dword [edx + 0x274]
movss xmm2, dword [ecx + 0x1524]
addss xmm2, xmm2
addss xmm2, xmm3
addss xmm1, xmm0
xorps xmm3, xmm3
test al, 1
jne 0x100118a5
mov eax, dword [0x1006bdd4]
movss xmm4, dword [eax + 0x188c]
mulss xmm4, dword [edx + 0x274]
movss xmm3, dword [eax + 0x1524]
addss xmm3, xmm3
addss xmm3, xmm4
addss xmm1, xmm2
addss xmm0, xmm3
movss xmm2, dword [0x10058650]
movss xmm3, dword [0x10058740]
jmp 0x10011989
movsd xmm0, qword [esi + 0x14]
movsd xmm2, qword [esi + 0x24]
movsd xmm3, qword [esi + 0xd4]
mulps xmm3, xmm2
movss xmm2, dword [esi + 0xd0]
unpcklps xmm1, xmm2
subps xmm1, xmm3
movsd xmm2, qword [ebp + 0x1570]
movaps xmm3, xmm1
cmpleps xmm3, xmm2
andps xmm2, xmm3
andnps xmm3, xmm1
orps xmm3, xmm2
and dword [esi + 0xc0], 0xfffffff1
mov dword [esi + 0xcc], 0x7f7fffff
mov dword [esi + 0xd0], 0x7f7fffff
cvttps2dq xmm1, xmm3
cvtdq2ps xmm1, xmm1
movlhps xmm3, xmm1
movups xmmword [esi + 0xc], xmm3
subps xmm1, xmm0
movsd xmm0, qword [esi + 0xdc]
addps xmm0, xmm1
movlps qword [esi + 0xdc], xmm0
movsd xmm0, qword [esi + 0xf4]
addps xmm0, xmm1
movlps qword [esi + 0xf4], xmm0
lea edi, [esp + 0x10]
jmp 0x100119cf
movss xmm3, dword [ebp + 0x1530]
movss xmm0, dword [eax + 0x14]
movss xmm2, dword [eax + 0x1c]
addss xmm2, xmm0
subss xmm2, xmm3
subss xmm2, dword [eax + 0x88]
addss xmm3, xmm0
movss xmm1, dword [0x10058650]
movss xmm0, dword [0x10058740]
movss dword [esp + 0x10], xmm3
movss dword [esp + 0x14], xmm0
movss dword [esp + 0x18], xmm2
movss dword [esp + 0x1c], xmm1
lea eax, [esi + 0xb8]
lea edx, [esi + 0xc]
lea ecx, [esp + 0xa8]
push 0
push edi
push eax
push dword [esp + 0x78]
call fcn.100187b0
add esp, 0x10
movsd xmm0, qword [esp + 0xa8]
movsd qword [esi + 0xc], xmm0
test ebx, 0x2000000
sete al
or al, byte [esp + 0x58]
jne 0x10011aac
cmp dword [esp + 0x20], 0x3000000
je 0x10011aac
movss xmm0, dword [ebp + 0x1578]
cmp byte [ebp + 0x1a92], 0
je 0x1001216d
mov eax, dword [ebp + 0xd4]
mov ecx, dword [ebp + 0xd8]
movsd xmm2, qword [ebp + 0xd4]
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], ecx
mulss xmm0, dword [0x100587d0]
shufps xmm0, xmm0, 0
addps xmm0, xmm2
movups xmmword [esp + 0x34], xmm2
movaps xmm1, xmmword [0x100587e0]
addps xmm1, xmm2
movlhps xmm1, xmm0
movups xmmword [esp + 0x10], xmm1
lea eax, [esi + 0xb8]
lea ecx, [esp + 0xbc]
lea edx, [esp + 0xa8]
push 0
push edi
push eax
push dword [esp + 0x78]
call fcn.100187b0
add esp, 0x10
movsd xmm0, qword [esp + 0xbc]
movsd qword [esi + 0xc], xmm0
cmp dword [esi + 0xb8], 0xffffffff
jne 0x10011aa5
movss xmm0, dword [esp + 0xa8]
movups xmm1, xmmword [esp + 0x34]
movss xmm1, xmm0
addps xmm1, xmmword [0x100587f0]
movlps qword [esi + 0xc], xmm1
mov al, 1
jmp 0x10011b41
mov ecx, dword [esp + 0x34]
shr ecx, 0x18
mov eax, ebx
shr eax, 0x19
and eax, 1
or cl, al
or cl, byte [esp + 0x58]
jne 0x10011b41
cmp dword [esi + 0xa8], 0
jg 0x10011b3f
cmp dword [esi + 0xac], 0
jg 0x10011b3f
movss xmm1, dword [ebp + 0xc]
xorps xmm0, xmm0
ucomiss xmm1, xmm0
jbe 0x10011b3f
movss xmm1, dword [ebp + 0x10]
ucomiss xmm1, xmm0
jbe 0x10011b3f
movsd xmm1, qword [ebp + 0x1568]
movsd xmm2, qword [ebp + 0x1570]
movaps xmm0, xmm2
cmpleps xmm0, xmm1
andps xmm1, xmm0
andnps xmm0, xmm2
orps xmm0, xmm1
movsd xmm1, qword [esi + 0xc]
movsd xmm2, qword [esi + 0x1c]
addps xmm1, xmm2
movaps xmm3, xmm0
cmpleps xmm3, xmm1
andps xmm1, xmm3
andnps xmm3, xmm0
orps xmm3, xmm1
subps xmm3, xmm2
movlps qword [esi + 0xc], xmm3
movsd xmm1, qword [ebp + 0xc]
subps xmm1, xmm0
minps xmm3, xmm1
movlps qword [esi + 0xc], xmm3
xor eax, eax
movsd xmm0, qword [esi + 0xc]
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
movlps qword [esi + 0x14], xmm0
test bl, 0x40
jne 0x10011b71
movss xmm0, dword [esi + 0x1c]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jbe 0x10011b71
test al, al
jne 0x10011b71
mulss xmm0, dword [str.ff_]
jmp 0x10011b81
movss xmm0, dword [ebp + 0x1888]
mulss xmm0, dword [0x10058804]
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
movss dword [esi + 0x228], xmm0
mov eax, dword [esi + 0x2cc]
mov ecx, 0x7fffffff
mov edx, 0x7fffffff
cmp eax, 0x7fffffff
mov edi, esi
je 0x10011bbb
mov esi, dword [edi + 0x2bc]
cmp esi, 0xffffffff
je 0x10011bbb
add eax, esi
inc eax
inc esi
cdq
idiv esi
mov dword [edi + 0x2c4], edx
mov eax, dword [edi + 0x2d0]
cmp eax, 0x7fffffff
jne 0x10011bd4
mov edi, dword [esp + 8]
jmp 0x10011bec
mov esi, dword [edi + 0x2c0]
cmp esi, 0xffffffff
mov edi, dword [esp + 8]
je 0x10011bec
add eax, esi
inc eax
inc esi
cdq
idiv esi
mov ecx, edx
mov esi, dword [esp + 4]
mov dword [esi + 0x2c8], ecx
mov dword [esi + 0x2c0], 0xffffffff
mov dword [esi + 0x2bc], 0xffffffff
mov dword [esi + 0x2d0], 0x7fffffff
mov dword [esi + 0x2cc], 0x7fffffff
lea ecx, [esp + 0x10]
mov edx, esi
call fcn.10018cf0
movsd xmm0, qword [esp + 0x10]
movsd qword [esi + 0x6c], xmm0
mov dword [esi + 0x74], 0x7f7fffff
mov dword [esi + 0x78], 0x7f7fffff
test ebx, 0x1000
sete al
and al, byte [esp + 3]
cmp al, 1
jne 0x10011c6b
mov eax, ebx
shr eax, 0x1a
and eax, 1
cmp dword [esp + 0x20], 0
sete cl
or cl, al
mov dword [esp + 0x70], ecx
jmp 0x10011c73
mov dword [esp + 0x70], 0
lea eax, [esi + 0x14]
mov dword [esp + 0x94], eax
xorps xmm0, xmm0
mov eax, ebx
and eax, 0x20000
cmp eax, 1
mov eax, 2
sbb eax, 0
mov dword [esp + 0x30], eax
movups xmmword [esp + 0xa8], xmm0
movss xmm0, dword [esi + 0x5c]
addss xmm0, dword [0x100581a0]
movss dword [esp + 0xcc], xmm0
movss xmm0, dword [ebp + 0x1888]
mov dword [esp + 0x68], 0xffffffff
cmp byte [esi + 0x93], 0
movups xmmword [esp + 0x98], xmm0
jne 0x1001275b
mov eax, dword [esi + 8]
test al, 0x42
jne 0x1001275b
cmp dword [esi + 0xa8], 0
jg 0x1001275b
cmp dword [esi + 0xac], 0
jg 0x1001275b
mov ebp, dword [0x1006bdd4]
shr eax, 0xf
mov dword [esp + 0xb8], eax
movss xmm0, dword [ebp + 0x1888]
movss xmm1, dword [0x10058640]
mulss xmm1, xmm0
addss xmm1, dword [esp + 0xcc]
mulss xmm0, dword [0x10058808]
movaps xmm2, xmm1
cmpless xmm2, xmm0
movaps xmm3, xmm2
andnps xmm3, xmm1
andps xmm2, xmm0
orps xmm2, xmm3
cvttps2dq xmm0, xmm2
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x1005880c]
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
movups xmmword [esp + 0xfc], xmm0
push str.RESIZE
call fcn.1001b910
add esp, 4
movss xmm0, dword [esp + 0xdc]
movss dword [esp + 0x68], xmm0
movss xmm0, dword [esp + 0xe0]
movss dword [esp + 0x10c], xmm0
movups xmm0, xmmword [esp + 0xfc]
shufps xmm0, xmm0, 0
movups xmmword [esp + 0x16c], xmm0
movaps xmm2, xmmword [0x10058810]
xor edi, edi
mov ebx, 0x10058208
movaps xmm3, xmm2
jmp 0x10011ebe
xor eax, eax
test dl, dl
sete al
xor eax, 0x1f
test cl, cl
mov ecx, 0x20
cmovne eax, ecx
mov edx, dword [0x1006bdd4]
shl eax, 4
movss xmm0, dword [edx + eax + 0x1584]
movss xmm4, dword [0x100581a0]
movaps xmm1, xmm4
minss xmm1, xmm0
xorps xmm5, xmm5
cmpltss xmm0, xmm5
andnps xmm0, xmm1
movss xmm6, dword [0x10058514]
mulss xmm0, xmm6
movss xmm7, dword [0x10058020]
addss xmm0, xmm7
cvttss2si ecx, xmm0
movss xmm0, dword [edx + eax + 0x1588]
movaps xmm1, xmm4
minss xmm1, xmm0
cmpltss xmm0, xmm5
andnps xmm0, xmm1
movss xmm1, dword [edx + eax + 0x1590]
mulss xmm1, dword [edx + 0x14ec]
mulss xmm0, xmm6
addss xmm0, xmm7
cvttss2si esi, xmm0
movss xmm0, dword [edx + eax + 0x158c]
unpcklps xmm0, xmm1
movaps xmm1, xmmword [0x10058520]
minps xmm1, xmm0
cmpnltps xmm0, xmmword [0x10058610]
andps xmm0, xmm1
mulps xmm0, xmmword [0x10058530]
addps xmm0, xmmword [0x10058540]
cvttps2dq xmm0, xmm0
movdqa xmm1, xmm0
pslld xmm0, 0x10
movd eax, xmm0
pslld xmm1, 0x18
pshufd xmm0, xmm1, 0x55
movd edx, xmm0
shl esi, 8
or esi, ecx
or eax, esi
mov esi, dword [esp + 4]
or edx, eax
mov dword [esp + edi*4 + 0xa8], edx
inc edi
add ebx, 0x18
cmp dword [esp + 0x30], edi
je 0x10012283
movsd xmm4, qword [ebx - 8]
movsd xmm0, qword [ebx]
movups xmm1, xmmword [esp + 0x16c]
mulps xmm0, xmm1
movsd xmm1, qword [esi + 0x14]
movsd xmm5, qword [esi + 0x1c]
addps xmm5, xmm1
subps xmm5, xmm1
movups xmmword [esp + 0x11c], xmm4
mulps xmm5, xmm4
addps xmm5, xmm1
addps xmm0, xmm5
movaps xmm1, xmm5
movlhps xmm1, xmm0
movups xmmword [esp + 0x10], xmm1
movaps xmm1, xmm5
ucomiss xmm5, xmm0
jbe 0x10011f1c
movss dword [esp + 0x10], xmm0
movss dword [esp + 0x18], xmm1
movups xmmword [esp + 0x15c], xmm0
jmp 0x10011f27
movups xmmword [esp + 0x15c], xmm1
movaps xmm1, xmm0
shufps xmm0, xmm0, 0x55
shufps xmm5, xmm5, 0x55
ucomiss xmm5, xmm0
movups xmmword [esp + 0x34], xmm2
movups xmmword [esp + 0x58], xmm3
movups xmmword [esp + 0xe4], xmm1
jbe 0x10011f61
movss dword [esp + 0x14], xmm0
movups xmmword [esp + 0x48], xmm5
movss dword [esp + 0x1c], xmm5
movups xmmword [esp + 0x14c], xmm0
jmp 0x10011f6e
movups xmmword [esp + 0x14c], xmm5
movups xmmword [esp + 0x48], xmm0
mov ecx, esi
push edi
call fcn.1000b6f0
push 0x2020
lea ecx, [esp + 0x78]
push ecx
lea ecx, [esp + 0x8c]
push ecx
push eax
lea eax, [esp + 0x20]
push eax
call fcn.10019600
add esp, 0x14
movzx eax, byte [esp + 0x74]
movzx ecx, byte [esp + 0x84]
or cl, al
jne 0x10011fb6
movups xmm2, xmmword [esp + 0x34]
movups xmm3, xmmword [esp + 0x58]
jmp 0x10012143
mov ecx, edi
and ecx, 1
mov edx, 6
sub edx, ecx
mov dword [ebp + 0x1bb0], edx
cmp dword [ebp + 0x195c], esi
movups xmm2, xmmword [esp + 0x34]
movups xmm3, xmmword [esp + 0x58]
jne 0x1001207c
test al, al
je 0x1001207c
cmp byte [ebp + 0x3d1], 0
movups xmm0, xmmword [esp + 0x48]
movups xmm4, xmmword [esp + 0xe4]
je 0x10012091
test edi, edi
jne 0x10012091
lea ecx, [esp + 0xbc]
mov edx, esi
movss xmm0, dword [esp + 0x68]
movss xmm1, dword [esp + 0x10c]
call fcn.100185d0
mov eax, dword [0x1006bdd4]
cmp dword [eax + 0x1974], 0
movsd xmm3, qword [esp + 0xbc]
setne byte [eax + 0x1981]
je 0x1001204d
mov dword [eax + 0x197c], 0
mov dword [eax + 0x1974], 0
mov dword [eax + 0x1984], 0
mov byte [eax + 0x1982], 0
mov dword [eax + 0x1990], 0
movups xmm2, xmmword [esp + 0x34]
jmp 0x10012143
test al, al
movups xmm0, xmmword [esp + 0x48]
movups xmm4, xmmword [esp + 0xe4]
je 0x10012143
unpcklps xmm4, xmm0
movups xmm0, xmmword [esp + 0x15c]
movups xmm1, xmmword [esp + 0x14c]
unpcklps xmm0, xmm1
subps xmm4, xmm0
movsd xmm0, qword [esi + 0x1c]
movups xmm2, xmmword [esp + 0x11c]
movaps xmm1, xmm2
cmpeqps xmm1, xmmword [0x10058610]
movups xmmword [esp + 0x58], xmm1
mulps xmm4, xmm2
movsd xmm3, qword [ebp + 0xd4]
movsd xmm1, qword [ebp + 0x1988]
subps xmm3, xmm1
addps xmm3, xmm4
movsd xmm1, qword [esi + 0x14]
addps xmm0, xmm1
subps xmm1, xmm3
mulps xmm1, xmm2
addps xmm1, xmm3
movups xmmword [esp + 0x34], xmm1
subps xmm3, xmm0
mulps xmm3, xmm2
addps xmm3, xmm0
subps xmm3, xmm1
movaps xmm1, xmm3
movaps xmm0, xmm3
movups xmmword [esp + 0x48], xmm3
shufps xmm1, xmm3, 0x55
lea ecx, [esp + 0xbc]
mov edx, esi
call fcn.100185d0
movups xmm2, xmmword [esp + 0x34]
movsd xmm3, qword [esp + 0xbc]
movaps xmm0, xmm3
movups xmm1, xmmword [esp + 0x48]
subps xmm0, xmm1
movups xmm1, xmmword [esp + 0x58]
andps xmm0, xmm1
subps xmm2, xmm0
movzx ecx, byte [esp + 0x74]
movzx edx, byte [esp + 0x84]
test edi, edi
je 0x10011dbd
test cl, cl
jne 0x10011dbd
test dl, dl
je 0x10011eb0
jmp 0x10011dbd
cmp byte [ebp + 0x1a93], 0
je 0x10011a05
mov eax, dword [0x1006bdd4]
mov ecx, dword [eax + 0x1a3c]
test ecx, ecx
je 0x1001224b
mov edx, dword [eax + 0x1a88]
shl edx, 4
movss xmm1, dword [eax + 0x1520]
mulss xmm1, dword [0x10058654]
movsd xmm3, qword [ecx + edx + 0x29c]
movsd xmm2, qword [ecx + edx + 0x2a4]
movaps xmm4, xmm2
subps xmm4, xmm3
movss xmm5, dword [eax + 0x1524]
unpcklps xmm1, xmm5
minps xmm1, xmm4
addps xmm3, xmm1
subps xmm2, xmm1
shufps xmm2, xmm3, 1
shufps xmm2, xmm3, 0xe2
movsd xmm1, qword [ecx + 0x14]
addps xmm1, xmm2
movss xmm2, dword [eax + 0xa8]
movss xmm3, dword [eax + 0xb0]
ucomiss xmm2, xmm3
jne 0x100121f9
jnp 0x10012218
movss xmm5, dword [eax + 0xac]
movss xmm4, dword [eax + 0xb4]
ucomiss xmm5, xmm4
jne 0x10012210
jnp 0x10012218
unpcklps xmm2, xmm5
unpcklps xmm3, xmm4
jmp 0x10012220
movsd xmm3, qword [eax + 0xc]
xorps xmm2, xmm2
minps xmm3, xmm1
cmpltps xmm1, xmm2
andps xmm2, xmm1
andnps xmm1, xmm3
orps xmm1, xmm2
cvttps2dq xmm1, xmm1
cvtdq2ps xmm2, xmm1
movlps qword [esp + 0xa8], xmm2
test byte [ebp + 4], 4
jne 0x10011a27
jmp 0x10012277
mov ecx, dword [eax + 0xd4]
mov edx, dword [eax + 0xd8]
movsd xmm2, qword [eax + 0xd4]
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xac], edx
test byte [ebp + 4], 4
jne 0x10011a27
movaps xmm0, xmmword [0x100587c0]
jmp 0x10011a33
mov dword [esp + 0x48], ebp
mov ebp, dword [esp + 0xb8]
and ebp, 4
jne 0x100122c9
mov dword [esp + 0x68], 0xffffffff
mov ebx, dword [esp + 0xc]
mov eax, dword [0x1006bdd4]
mov eax, dword [eax + 0x1958]
dec dword [eax + 0x1d8]
mov ebp, dword [esp + 0x48]
cmp dword [ebp + 0x1a78], esi
je 0x100125a0
mov edi, dword [esp + 8]
jmp 0x100126db
xor edi, edi
mov dword [esp + 0x68], 0xffffffff
mov ebx, dword [esp + 0xc]
jmp 0x1001237d
mov eax, dword [esp + 0x48]
movss xmm2, dword [eax + 0xd4]
subss xmm2, dword [eax + 0x1988]
movaps xmm0, xmm3
movss xmm0, xmm2
movaps xmm5, xmm3
subps xmm5, xmm0
movsd xmm2, qword [esi + 0x1c]
movaps xmm4, xmm1
cmpeqps xmm4, xmmword [0x10058610]
movups xmmword [esp + 0x58], xmm4
mulps xmm5, xmm1
addps xmm5, xmm0
movups xmmword [esp + 0x34], xmm5
addps xmm2, xmm3
subps xmm0, xmm2
mulps xmm0, xmm1
addps xmm0, xmm2
subps xmm0, xmm5
movups xmmword [esp + 0xe4], xmm0
movaps xmm1, xmm0
shufps xmm1, xmm0, 0x55
lea ecx, [esp + 0xbc]
mov edx, esi
call fcn.100185d0
movups xmm2, xmmword [esp + 0x34]
movsd xmm3, qword [esp + 0xbc]
movaps xmm0, xmm3
movups xmm1, xmmword [esp + 0xe4]
subps xmm0, xmm1
movups xmm1, xmmword [esp + 0x58]
andps xmm0, xmm1
subps xmm2, xmm0
mov dword [esp + 0x68], edi
inc edi
cmp ebp, edi
je 0x1001229f
movups xmmword [esp + 0x58], xmm3
movups xmmword [esp + 0x34], xmm2
movss xmm1, dword [0x10058650]
movaps xmm2, xmm1
movss xmm0, dword [0x10058740]
movaps xmm3, xmm0
cmp edi, 3
ja case.default.0x100123c2
movss xmm2, dword [esi + 0x14]
movss xmm1, dword [esi + 0x18]
movss xmm0, dword [esi + 0x20]
addss xmm0, xmm1
movss xmm3, dword [esi + 0x1c]
addss xmm3, xmm2
jmp dword [edi*4 + 0x10058a04]
movaps xmm0, xmm1
addss xmm0, dword [0x1005874c]
movups xmm4, xmmword [esp + 0xfc]
subss xmm3, xmm4
addss xmm2, xmm4
jmp case.default.0x100123c2
movups xmm2, xmmword [esp + 0xfc]
subss xmm0, xmm2
addss xmm1, xmm2
movaps xmm2, xmm3
addss xmm2, dword [0x10058820]
jmp case.default.0x100123c2
movups xmm4, xmmword [esp + 0xfc]
subss xmm3, xmm4
movaps xmm1, xmm0
addss xmm1, dword [0x10058820]
addss xmm2, xmm4
jmp case.default.0x100123c2
movups xmm4, xmmword [esp + 0xfc]
subss xmm0, xmm4
movaps xmm3, xmm2
addss xmm3, dword [0x1005874c]
addss xmm1, xmm4
movss dword [esp + 0x10], xmm2
movss dword [esp + 0x14], xmm1
movss dword [esp + 0x18], xmm3
movss dword [esp + 0x1c], xmm0
lea eax, [edi + 4]
mov ecx, esi
push eax
call fcn.1000b6f0
push 0x20
lea ecx, [esp + 0x78]
push ecx
lea ecx, [esp + 0x8c]
push ecx
push eax
lea eax, [esp + 0x20]
push eax
call fcn.10019600
add esp, 0x14
cmp byte [esp + 0x84], 0
je 0x100124b2
mov eax, dword [esp + 0x48]
movss xmm0, dword [eax + 0x1970]
ucomiss xmm0, dword [0x10058704]
movzx eax, byte [esp + 0x74]
ja 0x100124db
test al, al
jne 0x100124db
movups xmm2, xmmword [esp + 0x34]
movups xmm3, xmmword [esp + 0x58]
jmp 0x10012374
cmp byte [esp + 0x74], 0
movups xmm2, xmmword [esp + 0x34]
movups xmm3, xmmword [esp + 0x58]
je 0x10012374
mov eax, edi
and eax, 1
add eax, 3
mov ecx, dword [esp + 0x48]
mov dword [ecx + 0x1bb0], eax
jmp 0x100124ff
mov ecx, edi
and ecx, 1
add ecx, 3
mov edx, dword [esp + 0x48]
mov dword [edx + 0x1bb0], ecx
test al, al
movups xmm2, xmmword [esp + 0x34]
movups xmm3, xmmword [esp + 0x58]
je 0x10012374
mov eax, dword [esp + 0x94]
movsd xmm3, qword [eax]
xorps xmm1, xmm1
cmp edi, 3
ja case.default.0x10012512
jmp dword [edi*4 + 0x10058a14]
mov eax, dword [esp + 0x48]
movss xmm0, dword [eax + 0xd8]
subss xmm0, dword [eax + 0x198c]
movlhps xmm0, xmm3
shufps xmm0, xmm3, 0xe2
jmp 0x100122f7
movaps xmm0, xmm3
jmp 0x100122f7
mov eax, dword [esp + 0x48]
movss xmm1, dword [eax + 0xd4]
subss xmm1, dword [eax + 0x1988]
addss xmm1, dword [0x1005874c]
movaps xmm0, xmm3
movss xmm0, xmm1
movss xmm1, dword [0x100581a0]
jmp 0x100122f7
mov eax, dword [esp + 0x48]
movss xmm0, dword [eax + 0xd8]
subss xmm0, dword [eax + 0x198c]
addss xmm0, dword [0x1005874c]
movlhps xmm0, xmm3
shufps xmm0, xmm3, 0xe2
movaps xmm1, xmmword [0x10058830]
jmp 0x100122f7
mov eax, dword [ebp + 0x1a60]
cmp eax, 4
movups xmmword [esp + 0x34], xmm2
je 0x100125fa
xorps xmm4, xmm4
cmp eax, 3
jne 0x1001262d
cmp byte [ebp + 0xee], 0
mov edi, dword [esp + 8]
je 0x10012631
sub esp, 0x14
movaps xmm0, xmmword [0x10058850]
movups xmmword [esp + 4], xmm0
lea eax, [esp + 0x24]
mov dword [esp], eax
movups xmmword [esp + 0x6c], xmm3
call fcn.1000cfb0
movups xmm3, xmmword [esp + 0x6c]
movups xmm2, xmmword [esp + 0x48]
add esp, 0x14
movsd xmm4, qword [esp + 0x10]
jmp 0x10012631
sub esp, 0x14
movaps xmm0, xmmword [0x10058840]
movups xmmword [esp + 4], xmm0
lea eax, [esp + 0x24]
mov dword [esp], eax
movups xmmword [esp + 0x6c], xmm3
call fcn.1000cfb0
movups xmm3, xmmword [esp + 0x6c]
movups xmm2, xmmword [esp + 0x48]
add esp, 0x14
movsd xmm4, qword [esp + 0x10]
mov edi, dword [esp + 8]
xorps xmm0, xmm0
ucomiss xmm4, xmm0
movaps xmm5, xmm4
shufps xmm5, xmm4, 0x55
jne 0x1001264d
jp 0x1001264d
ucomiss xmm5, xmm0
jne 0x1001264d
jnp 0x100126db
movss xmm0, dword [ebp + 0x14]
movss xmm1, dword [ebp + 0xa0]
mulss xmm0, dword [0x10058860]
minss xmm1, dword [ebp + 0xa4]
mulss xmm1, xmm0
cvttps2dq xmm0, xmm1
cvtdq2ps xmm0, xmm0
mulss xmm4, xmm0
movups xmmword [esp + 0x58], xmm4
mulss xmm5, xmm0
movups xmmword [esp + 0xe4], xmm5
mov byte [ebp + 0x1a84], 0
mov byte [ebp + 0x1a93], 1
push 0x3f800000
push 0x20
call fcn.1000a600
add esp, 8
mov dword [esp + 0xa8], eax
movups xmm1, xmmword [esp + 0xe4]
addss xmm1, dword [esi + 0x28]
movups xmm0, xmmword [esp + 0x58]
addss xmm0, dword [esi + 0x24]
lea ecx, [esp + 0x10]
mov edx, esi
call fcn.100185d0
movups xmm2, xmmword [esp + 0x34]
movsd xmm3, qword [esp + 0x10]
ucomiss xmm3, dword [0x10058650]
jne 0x100126e6
jnp 0x1001270e
movlps qword [esi + 0x24], xmm3
test byte [esi + 9], 1
jne 0x1001270e
mov eax, dword [0x1006bdd4]
xorps xmm0, xmm0
ucomiss xmm0, dword [eax + 0x29b8]
jb 0x1001270e
movss xmm0, dword [eax + 0x18]
movss dword [eax + 0x29b8], xmm0
ucomiss xmm2, dword [0x10058650]
mov ebp, dword [esp + 0x44]
jne 0x1001271d
jnp 0x1001274f
cvttps2dq xmm0, xmm2
cvtdq2ps xmm0, xmm0
movlhps xmm0, xmm0
movups xmmword [esi + 0xc], xmm0
test byte [esi + 9], 1
jne 0x1001274f
mov eax, dword [0x1006bdd4]
xorps xmm0, xmm0
ucomiss xmm0, dword [eax + 0x29b8]
jb 0x1001274f
movss xmm0, dword [eax + 0x18]
movss dword [eax + 0x29b8], xmm0
mov eax, dword [esi + 0x24]
mov ecx, dword [esi + 0x28]
mov dword [esi + 0x20], ecx
mov dword [esi + 0x1c], eax
mov ecx, dword [esi + 0x278]
call fcn.10025af0
movzx eax, byte [ebp + 0x157c]
movzx ecx, byte [ebp + 0x157d]
add ecx, ecx
or ecx, eax
mov eax, dword [esi + 0x278]
mov dword [eax + 0x24], ecx
mov ecx, dword [esi + 0x278]
mov eax, dword [ebp + 0x1884]
mov eax, dword [eax + 0x44]
push dword [eax + 4]
call fcn.10026360
mov eax, dword [0x1006bdd4]
movss xmm0, dword [eax + 0xa8]
ucomiss xmm0, dword [eax + 0xb0]
jne 0x100127b0
jnp 0x1001280d
movss xmm0, dword [eax + 0xac]
ucomiss xmm0, dword [eax + 0xb4]
jne 0x100127c3
jnp 0x1001280d
movdqu xmm2, xmmword [eax + 0xa8]
movdqu xmmword [esp + 0xbc], xmm2
pshufd xmm0, xmm2, 0xff
movd ecx, xmm0
pshufd xmm0, xmm2, 0xee
movd edx, xmm0
movd xmm0, edx
movd xmm1, ecx
pshufd xmm3, xmm2, 0x55
movd ecx, xmm3
movd edx, xmm2
movd xmm3, edx
movd xmm2, ecx
test ebx, 0x1000000
jne 0x1001283b
jmp 0x10012878
xorps xmm0, xmm0
movlps qword [esp + 0xbc], xmm0
movsd xmm0, qword [eax + 0xc]
movsd qword [esp + 0xc4], xmm0
movaps xmm1, xmm0
shufps xmm1, xmm0, 0x55
xorps xmm2, xmm2
xorps xmm3, xmm3
test ebx, 0x1000000
je 0x10012878
mov ecx, ebx
and ecx, 0x4000000
jne 0x10012878
cmp dword [esp + 0x20], 0x3000000
je 0x10012878
mov ecx, dword [eax + 0x1958]
mov byte [ecx + 0x92], 1
mov esi, dword [eax + 0x1958]
mov ecx, dword [esi + 0x278]
movups xmm0, xmmword [edi + 0x1e4]
sub esp, 0x14
movups xmmword [esp], xmm0
jmp 0x100128ab
mov ecx, dword [eax + 0x1958]
mov byte [ecx + 0x92], 1
mov esi, dword [eax + 0x1958]
mov ecx, dword [esi + 0x278]
sub esp, 0x14
movss dword [esp + 0xc], xmm1
movss dword [esp + 8], xmm0
movss dword [esp + 4], xmm2
movss dword [esp], xmm3
mov dword [esp + 0x10], 1
call fcn.100261f0
mov eax, dword [esi + 0x278]
mov edx, dword [eax + 0x3c]
mov ebx, dword [eax + 0x44]
shl edx, 4
lea eax, [edx + ebx]
add eax, 0xfffffff0
lea ecx, [edx + ebx - 0xc]
lea edi, [edx + ebx - 4]
lea edx, [edx + ebx - 8]
movd xmm0, dword [edi]
movd xmm1, dword [ecx]
movss xmm2, dword [eax]
movss xmm3, dword [edx]
movss dword [esi + 0x1e4], xmm2
movd dword [esi + 0x1e8], xmm1
movss dword [esi + 0x1ec], xmm3
movd dword [esi + 0x1f0], xmm0
test dword [esp + 0xc], 0x8000000
mov esi, dword [esp + 4]
movups xmm5, xmmword [esp + 0x98]
je 0x10012977
mov eax, dword [0x1006bdd4]
mov edx, dword [eax + 0x19c0]
test edx, edx
jle 0x10012967
mov esi, dword [eax + 0x19c8]
lea ecx, [edx + 1]
lea edx, [edx + edx*8]
lea edx, [esi + edx*4]
add edx, 0xffffffe0
jmp 0x10012959
dec ecx
add edx, 0xffffffdc
cmp ecx, 1
jbe 0x10012967
mov esi, dword [edx]
test esi, esi
je 0x10012950
test byte [esi + 0xb], 8
je 0x10012950
jmp 0x10012969
xor esi, esi
mov ecx, dword [esp + 4]
cmp ecx, esi
mov esi, ecx
je 0x10012afa
cmp dword [ebp + 0x1a78], esi
jne 0x10012c01
movsd xmm1, qword [esi + 0x14]
movss xmm2, dword [ebp + 0x1888]
shufps xmm2, xmm2, 0
movaps xmm0, xmm1
subps xmm0, xmm2
movlps qword [esp + 0x10], xmm0
movsd xmm3, qword [esi + 0x1c]
addps xmm3, xmm1
addps xmm3, xmm2
movlps qword [esp + 0x18], xmm3
movups xmm1, xmmword [esp + 0xbc]
movlhps xmm0, xmm3
movaps xmm2, xmm1
cmpleps xmm2, xmm0
cmpleps xmm0, xmm1
shufps xmm0, xmm2, 0xe4
pslld xmm0, 0x1f
movmskps eax, xmm0
cmp al, 0xf
je 0x10012c01
lea eax, [esp + 0x18]
mov ecx, dword [esi + 0x278]
movd xmm0, dword [ebp + 0x14f8]
movss xmm1, dword [ebp + 0x1a80]
mulss xmm1, dword [0x10058864]
mov edx, dword [0x1006bdd4]
movss xmm3, dword [edx + 0x1814]
mulss xmm1, dword [edx + 0x14ec]
movss xmm2, dword [edx + 0x1818]
mulss xmm1, dword [edx + 0x1820]
movss xmm4, dword [0x100581a0]
movaps xmm5, xmm4
minss xmm5, xmm3
xorps xmm6, xmm6
cmpltss xmm3, xmm6
andnps xmm3, xmm5
movss xmm5, dword [0x10058514]
mulss xmm3, xmm5
movss xmm7, dword [0x10058020]
addss xmm3, xmm7
cvttss2si esi, xmm3
minss xmm4, xmm2
cmpltss xmm2, xmm6
andnps xmm2, xmm4
mulss xmm2, xmm5
addss xmm2, xmm7
cvttss2si edi, xmm2
shl edi, 8
movss xmm2, dword [edx + 0x181c]
unpcklps xmm2, xmm1
xorps xmm1, xmm1
movaps xmm3, xmmword [0x10058520]
minps xmm3, xmm2
cmpnltps xmm2, xmm1
andps xmm2, xmm3
mulps xmm2, xmmword [0x10058530]
or edi, esi
addps xmm2, xmmword [0x10058540]
cvttps2dq xmm1, xmm2
movdqa xmm2, xmm1
pslld xmm2, 0x18
pslld xmm1, 0x10
movd edx, xmm1
or edx, edi
pshufd xmm1, xmm2, 0x55
movd esi, xmm1
or esi, edx
sub esp, 0x14
movd dword [esp + 0xc], xmm0
mov dword [esp + 4], eax
lea eax, [esp + 0x24]
mov dword [esp], eax
mov dword [esp + 8], esi
mov esi, dword [esp + 0x18]
mov dword [esp + 0x10], 0xf
call fcn.10027f80
movups xmm5, xmmword [esp + 0x98]
jmp 0x10012c01
movss xmm0, dword [ebp + 0x1b38]
movss xmm1, dword [eax + 0x17e4]
mulss xmm0, dword [eax + 0x14ec]
mulss xmm0, dword [eax + 0x17f0]
movss xmm2, dword [0x100581a0]
movaps xmm3, xmm2
minss xmm3, xmm1
xorps xmm4, xmm4
cmpltss xmm1, xmm4
andnps xmm1, xmm3
movss xmm3, dword [0x10058514]
mulss xmm1, xmm3
movss xmm5, dword [0x10058020]
addss xmm1, xmm5
cvttss2si esi, xmm1
movss xmm1, dword [eax + 0x17e8]
minss xmm2, xmm1
cmpltss xmm1, xmm4
andnps xmm1, xmm2
mulss xmm1, xmm3
addss xmm1, xmm5
cvttss2si edx, xmm1
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 0x278]
shl edx, 8
or edx, esi
movss xmm1, dword [eax + 0x17ec]
unpcklps xmm1, xmm0
xorps xmm0, xmm0
movaps xmm2, xmmword [0x10058520]
minps xmm2, xmm1
cmpnltps xmm1, xmm0
andps xmm1, xmm2
mulps xmm1, xmmword [0x10058530]
addps xmm1, xmmword [0x10058540]
cvttps2dq xmm0, xmm1
movdqa xmm1, xmm0
pslld xmm1, 0x18
pslld xmm0, 0x10
movd eax, xmm0
or eax, edx
pshufd xmm0, xmm1, 0x55
movd edx, xmm0
or edx, eax
lea eax, [esp + 0xc4]
lea esi, [esp + 0xbc]
push 0xf
push 0
push edx
push eax
push esi
mov esi, dword [esp + 0x18]
call fcn.10027f80
movups xmm5, xmmword [esp + 0x98]
cmp dword [ebp + 0x1a78], esi
je 0x10012983
mov bl, 1
cmp byte [esp + 0x70], 0
jne 0x10012c27
mov eax, dword [ebp + 0x1a3c]
test eax, eax
je 0x10012c25
mov ecx, dword [esi + 0x284]
cmp ecx, dword [eax + 0x284]
sete bl
jmp 0x10012c27
xor ebx, ebx
lea edx, [esi + 0x60]
movss xmm2, dword [esi + 0x18]
pxor xmm0, xmm0
test byte [esi + 8], 1
jne 0x10012c5e
mov eax, dword [0x1006bdd4]
movss xmm1, dword [eax + 0x188c]
mulss xmm1, dword [esi + 0x274]
movss xmm0, dword [eax + 0x1524]
addss xmm0, xmm0
addss xmm0, xmm1
addss xmm2, xmm0
mov eax, dword [esp + 0x12c]
movss xmm0, dword [eax]
movss dword [esp + 0x34], xmm0
movss xmm0, dword [edx]
movss xmm3, dword [esi + 0x14]
addss xmm3, dword [esi + 0x24]
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x18]
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], ecx
movss dword [esp + 0x8c], xmm3
movss dword [esp + 0x90], xmm2
cmp byte [esi + 0x93], 0
movd xmm1, eax
movd xmm4, ecx
mov dword [esp + 0x16c], edx
movd dword [esp + 0x20], xmm1
movd dword [esp + 0x58], xmm4
je 0x10012e2d
movss xmm1, dword [ebp + 0x152c]
movss dword [esp + 0x30], xmm1
movss dword [ebp + 0x152c], xmm0
mov eax, 0xc
test bl, bl
je 0x10012cf8
cmp byte [ebp + 0x1a92], 1
sbb eax, 0
mov ecx, dword [0x1006bdd4]
shl eax, 4
movss xmm7, dword [ecx + eax + 0x1584]
movss xmm5, dword [ecx + eax + 0x1588]
movss xmm4, dword [ecx + eax + 0x1590]
mulss xmm4, dword [ecx + 0x14ec]
movss xmm0, dword [0x100581a0]
movaps xmm6, xmm0
minss xmm6, xmm7
xorps xmm1, xmm1
cmpltss xmm7, xmm1
andnps xmm7, xmm6
movss xmm6, dword [0x10058514]
mulss xmm7, xmm6
movss xmm1, dword [0x10058020]
addss xmm7, xmm1
cvttss2si edx, xmm7
minss xmm0, xmm5
cmpltss xmm5, dword [0x100581f0]
andnps xmm5, xmm0
mulss xmm5, xmm6
addss xmm5, xmm1
cvttss2si esi, xmm5
shl esi, 8
movss xmm0, dword [ecx + eax + 0x158c]
unpcklps xmm0, xmm4
xorps xmm1, xmm1
movaps xmm4, xmmword [0x10058520]
minps xmm4, xmm0
cmpnltps xmm0, xmm1
andps xmm0, xmm4
mulps xmm0, xmmword [0x10058530]
or esi, edx
addps xmm0, xmmword [0x10058540]
cvttps2dq xmm0, xmm0
movdqa xmm1, xmm0
pslld xmm1, 0x18
pslld xmm0, 0x10
movd eax, xmm0
or eax, esi
pshufd xmm0, xmm1, 0x55
movd ecx, xmm0
or ecx, eax
sub esp, 0x1c
movss xmm0, dword [esp + 0x50]
movss dword [esp + 0x18], xmm0
movss dword [esp + 0xc], xmm2
movss dword [esp + 8], xmm3
movss xmm0, dword [esp + 0x74]
movss dword [esp + 4], xmm0
movss xmm0, dword [esp + 0x3c]
movss dword [esp], xmm0
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], 1
call fcn.10016860
add esp, 0x1c
movss xmm0, dword [esp + 0x30]
movss dword [ebp + 0x152c], xmm0
mov esi, dword [esp + 4]
mov ebx, dword [esp + 0xc]
jmp 0x10013d4d
movups xmmword [esp + 0xfc], xmm0
xor eax, eax
mov ecx, dword [esp + 0xc]
test ecx, 0x1000000
sete al
xor eax, 3
test ecx, 0x6000000
mov ecx, 4
cmove ecx, eax
mov eax, dword [0x1006bdd4]
shl ecx, 4
movss xmm0, dword [eax + ecx + 0x1584]
movss xmm4, dword [0x100581a0]
movaps xmm1, xmm4
minss xmm1, xmm0
xorps xmm2, xmm2
cmpltss xmm0, xmm2
andnps xmm0, xmm1
movss xmm6, dword [0x10058514]
mulss xmm0, xmm6
movss xmm7, dword [0x10058020]
addss xmm0, xmm7
cvttss2si edx, xmm0
movsd xmm0, qword [eax + ecx + 0x1588]
movaps xmm1, xmmword [0x10058520]
minps xmm1, xmm0
xorps xmm3, xmm3
cmpnltps xmm0, xmm3
andps xmm0, xmm1
movss xmm3, dword [0x10058640]
mulss xmm3, xmm5
mulps xmm0, xmmword [0x10058530]
addss xmm3, dword [esp + 0xcc]
addps xmm0, xmmword [0x10058540]
cvttps2dq xmm0, xmm0
movdqa xmm1, xmm0
pslld xmm0, 8
movd edi, xmm0
pslld xmm1, 0x10
pshufd xmm0, xmm1, 0x55
movd esi, xmm0
mulss xmm5, dword [0x10058808]
or edi, edx
or esi, edi
cmp dword [ebp + 0x19f0], 0
mov dword [esp + 0x48], ebx
je 0x10012f64
movss xmm0, dword [ebp + 0x1a30]
movaps xmm1, xmm4
minss xmm1, xmm0
cmpltss xmm0, xmm2
andnps xmm0, xmm1
mulss xmm0, dword [0x10058514]
addss xmm0, dword [0x10058020]
and esi, 0xffffff
cvttss2si edx, xmm0
shl edx, 0x18
or edx, esi
mov dword [ebp + 0x19f0], 0
mov esi, dword [esp + 4]
movss xmm6, dword [esi + 0x14]
movss xmm7, dword [esi + 0x18]
jmp 0x10012fa5
movss xmm0, dword [eax + ecx + 0x1590]
mulss xmm0, dword [eax + 0x14ec]
movaps xmm1, xmm4
minss xmm1, xmm0
cmpltss xmm0, xmm2
andnps xmm0, xmm1
mulss xmm0, xmm6
addss xmm0, xmm7
cvttss2si edx, xmm0
shl edx, 0x18
or edx, esi
mov esi, dword [esp + 4]
movss xmm6, dword [esp + 0x20]
movss xmm7, dword [esp + 0x58]
movaps xmm4, xmm3
cmpless xmm4, xmm5
mov ebx, dword [esp + 0xc]
and ebx, 1
mov ecx, dword [esi + 0x278]
mov edi, esi
mov dword [esp + 0xb8], ebx
lea esi, [ebx + ebx*2]
or esi, 0xc
movss xmm0, dword [edi + 0x20]
addss xmm0, xmm7
movss xmm1, dword [edi + 0x1c]
addss xmm1, xmm6
movss dword [esp + 0x10], xmm1
movss dword [esp + 0x14], xmm0
test byte [edi + 8], 1
jne 0x10013011
movss xmm0, dword [eax + 0x188c]
mov edi, dword [esp + 4]
mulss xmm0, dword [edi + 0x274]
movss xmm2, dword [eax + 0x1524]
addss xmm2, xmm2
addss xmm2, xmm0
movaps xmm0, xmm4
andnps xmm0, xmm3
movups xmmword [esp + 0x20], xmm0
andps xmm5, xmm4
movups xmmword [esp + 0x98], xmm5
addss xmm7, xmm2
xorps xmm0, xmm0
addss xmm6, xmm0
movss dword [esp + 0x74], xmm6
movss dword [esp + 0x78], xmm7
sub esp, 0x14
mov dword [esp + 0x10], esi
movss xmm0, dword [esp + 0x48]
movss dword [esp + 0xc], xmm0
mov dword [esp + 8], edx
lea eax, [esp + 0x24]
mov dword [esp + 4], eax
lea eax, [esp + 0x88]
mov dword [esp], eax
call fcn.10027f80
mov ebx, dword [esp + 0xc]
test bl, 1
mov eax, dword [esp + 0x48]
jne 0x100131a4
mov ecx, dword [0x1006bdd4]
movzx esi, al
or esi, 0xa
mov eax, dword [esp + 4]
cmp byte [eax + 0x93], 0
mov edx, 0xc
cmove edx, esi
shl edx, 4
movss xmm0, dword [ecx + edx + 0x1584]
movss xmm1, dword [ecx + edx + 0x1588]
movss xmm3, dword [0x100581a0]
movaps xmm2, xmm3
minss xmm2, xmm1
xorps xmm5, xmm5
cmpltss xmm1, xmm5
andnps xmm1, xmm2
movss xmm2, dword [0x10058514]
mulss xmm1, xmm2
movss xmm4, dword [0x10058020]
addss xmm1, xmm4
cvttss2si edi, xmm1
shl edi, 8
movaps xmm1, xmm3
minss xmm1, xmm0
cmpltss xmm0, xmm5
andnps xmm0, xmm1
mulss xmm0, xmm2
addss xmm0, xmm4
cvttss2si esi, xmm0
or esi, edi
movss xmm0, dword [ecx + edx + 0x1590]
mulss xmm0, dword [ecx + 0x14ec]
movss xmm1, dword [ecx + edx + 0x158c]
unpcklps xmm1, xmm0
xorps xmm0, xmm0
movaps xmm2, xmmword [0x10058520]
minps xmm2, xmm1
cmpnltps xmm1, xmm0
andps xmm1, xmm2
mulps xmm1, xmmword [0x10058530]
addps xmm1, xmmword [0x10058540]
cvttps2dq xmm0, xmm1
movdqa xmm1, xmm0
pslld xmm1, 0x18
pslld xmm0, 0x10
movd ecx, xmm0
or ecx, esi
pshufd xmm0, xmm1, 0x55
movd edx, xmm0
or edx, ecx
mov ecx, dword [eax + 0x278]
sub esp, 0x14
movss xmm0, dword [esp + 0x48]
movss dword [esp + 0xc], xmm0
lea eax, [esp + 0xa0]
mov dword [esp + 4], eax
lea eax, [esp + 0x98]
mov dword [esp], eax
mov dword [esp + 8], edx
mov dword [esp + 0x10], 3
call fcn.10027f80
movups xmm3, xmmword [esp + 0x20]
movups xmm0, xmmword [esp + 0x98]
orps xmm3, xmm0
test ebx, 0x400
mov esi, dword [esp + 4]
je 0x100134e9
mov ecx, dword [esi + 8]
xorps xmm2, xmm2
xorps xmm0, xmm0
test cl, 1
jne 0x100131f7
mov eax, dword [0x1006bdd4]
movss xmm1, dword [eax + 0x188c]
mulss xmm1, dword [esi + 0x274]
movss xmm0, dword [eax + 0x1524]
addss xmm0, xmm0
addss xmm0, xmm1
movups xmmword [esp + 0x20], xmm3
movss xmm1, dword [esi + 0x18]
mov eax, dword [0x1006bdd4]
test ecx, 0x400
je 0x1001322e
movss xmm3, dword [eax + 0x188c]
mulss xmm3, dword [esi + 0x274]
movss xmm2, dword [eax + 0x1524]
addss xmm2, xmm2
addss xmm2, xmm3
addss xmm0, xmm1
movaps xmm5, xmm1
cmpless xmm5, xmm0
movaps xmm3, xmm5
andps xmm3, xmm0
andnps xmm5, xmm1
orps xmm5, xmm3
movss xmm3, dword [esi + 0x1c]
movss xmm4, dword [esi + 0x24]
unpcklps xmm4, xmm2
movss dword [esp + 0x14], xmm5
movss xmm2, dword [esi + 0x14]
movss xmm5, dword [esi + 0x20]
movaps xmm6, xmm2
movss dword [esp + 0x10], xmm2
unpcklps xmm2, xmm0
lea edx, [esp + 0x18]
addps xmm2, xmm4
unpcklps xmm3, xmm1
unpcklps xmm6, xmm5
addps xmm6, xmm3
minps xmm2, xmm6
movlps qword [esp + 0x18], xmm2
mov ecx, dword [esi + 0x278]
xorps xmm5, xmm5
movss xmm0, dword [esp + 0x34]
test bl, 1
jne 0x1001329e
xorps xmm0, xmm0
movss xmm3, dword [eax + 0x1654]
movss xmm1, dword [eax + 0x1658]
movss xmm4, dword [0x100581a0]
movaps xmm2, xmm4
minss xmm2, xmm3
cmpltss xmm3, xmm5
andnps xmm3, xmm2
movss xmm2, dword [eax + 0x1660]
mulss xmm2, dword [eax + 0x14ec]
xorps xmm7, xmm7
movss xmm5, dword [0x10058514]
mulss xmm3, xmm5
movss xmm6, dword [0x10058020]
addss xmm3, xmm6
cvttss2si esi, xmm3
movaps xmm3, xmm4
minss xmm3, xmm1
cmpltss xmm1, xmm7
andnps xmm1, xmm3
mulss xmm1, xmm5
addss xmm1, xmm6
cvttss2si edi, xmm1
movss xmm1, dword [eax + 0x165c]
unpcklps xmm1, xmm2
xorps xmm2, xmm2
movaps xmm3, xmmword [0x10058520]
minps xmm3, xmm1
cmpnltps xmm1, xmm2
andps xmm1, xmm3
mulps xmm1, xmmword [0x10058530]
addps xmm1, xmmword [0x10058540]
cvttps2dq xmm1, xmm1
movdqa xmm2, xmm1
pslld xmm1, 0x10
movd eax, xmm1
pslld xmm2, 0x18
pshufd xmm1, xmm2, 0x55
movd ebx, xmm1
shl edi, 8
or edi, esi
or eax, edi
or ebx, eax
sub esp, 0x14
movss dword [esp + 0xc], xmm0
mov dword [esp + 4], edx
lea eax, [esp + 0x24]
mov dword [esp], eax
mov dword [esp + 8], ebx
mov dword [esp + 0x10], 3
call fcn.10027f80
movss xmm0, dword [ebp + 0x152c]
ucomiss xmm0, dword [0x100581f0]
mov esi, dword [esp + 4]
jbe 0x100134e0
movss xmm1, dword [esp + 0x1c]
movss xmm2, dword [esi + 0x18]
addss xmm2, dword [esi + 0x20]
ucomiss xmm2, xmm1
jbe 0x100134e0
mov ecx, dword [0x1006bdd4]
movss xmm2, dword [ecx + 0x15d4]
movss xmm5, dword [0x100581a0]
movaps xmm3, xmm5
minss xmm3, xmm2
xorps xmm4, xmm4
cmpltss xmm2, xmm4
andnps xmm2, xmm3
movss xmm3, dword [ecx + 0x15d8]
movss xmm6, dword [0x10058514]
mulss xmm2, xmm6
movss xmm7, dword [0x10058020]
addss xmm2, xmm7
cvttss2si eax, xmm2
movaps xmm2, xmm5
minss xmm2, xmm3
cmpltss xmm3, xmm4
movss xmm4, dword [ecx + 0x15e0]
mulss xmm4, dword [ecx + 0x14ec]
andnps xmm3, xmm2
mulss xmm3, xmm6
addss xmm3, xmm7
cvttss2si edx, xmm3
movss xmm2, dword [ecx + 0x15dc]
unpcklps xmm2, xmm4
xorps xmm3, xmm3
movaps xmm4, xmmword [0x10058520]
minps xmm4, xmm2
cmpnltps xmm2, xmm3
andps xmm2, xmm4
mulps xmm2, xmmword [0x10058530]
addps xmm2, xmmword [0x10058540]
cvttps2dq xmm2, xmm2
movdqa xmm3, xmm2
pslld xmm2, 0x10
movd esi, xmm2
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 0x278]
pslld xmm3, 0x18
pshufd xmm2, xmm3, 0x55
movd edi, xmm2
movsd xmm2, qword [esp + 0x18]
movsd qword [esp + 0x74], xmm2
movss xmm2, dword [esp + 0x10]
movss dword [esp + 0x13c], xmm2
movss dword [esp + 0x140], xmm1
shl edx, 8
or edx, eax
or esi, edx
or edi, esi
mov esi, dword [esp + 4]
sub esp, 0x10
movss dword [esp + 0xc], xmm0
lea eax, [esp + 0x84]
mov dword [esp + 4], eax
lea eax, [esp + 0x14c]
mov dword [esp], eax
mov dword [esp + 8], edi
call fcn.10027c90
mov ebx, dword [esp + 0xc]
movups xmm3, xmmword [esp + 0x20]
cvttps2dq xmm0, xmm3
cmp byte [esi + 0x84], 0
je 0x1001350a
push 1
movups xmmword [esp + 0x24], xmm0
call fcn.10018e20
movups xmm0, xmmword [esp + 0x24]
add esp, 4
cvtdq2ps xmm0, xmm0
movups xmmword [esp + 0x10c], xmm0
cmp byte [esi + 0x85], 0
je 0x10013528
push 0
call fcn.10018e20
add esp, 4
test bl, 2
jne 0x100138c0
movss xmm2, dword [esp + 0x34]
movups xmm0, xmmword [esp + 0xfc]
addss xmm2, xmm0
movaps xmm3, xmm0
movups xmm1, xmmword [esp + 0x10c]
unpcklps xmm3, xmm1
movups xmmword [esp + 0x58], xmm3
unpcklps xmm1, xmm0
movups xmmword [esp + 0xcc], xmm1
shufps xmm2, xmm2, 0
movups xmmword [esp + 0x98], xmm2
xor eax, eax
mov edi, 0x10058214
jmp 0x10013646
push dword [0x1006c1dc]
push ebx
call dword [0x1006b0c0]
add esp, 8
mov eax, dword [esp + 0x11c]
mov dword [esi + 0x5c], eax
mov dword [esi + 0x58], ebp
mov eax, dword [esi + 0x54]
movups xmm2, xmmword [esp + 0x48]
movups xmm3, xmmword [esp + 0xe4]
movdqu xmm4, xmmword [esp + 0x12c]
mulps xmm4, xmm3
addps xmm4, xmm2
mov ecx, dword [esi + 0x5c]
movlps qword [ecx + eax*8], xmm4
inc dword [esi + 0x54]
mov esi, dword [esp + 4]
mov ecx, dword [esi + 0x278]
mov eax, dword [edi - 4]
mov edx, dword [edi]
movups xmm0, xmmword [esp + 0x98]
mulps xmm3, xmm0
addps xmm3, xmm2
movlps qword [esp + 0x10], xmm3
sub esp, 0x10
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
movss xmm0, dword [esp + 0x44]
movss dword [esp + 4], xmm0
lea eax, [esp + 0x20]
mov dword [esp], eax
call fcn.100273d0
mov ebx, dword [esi + 0x278]
mov ecx, ebx
mov ebp, dword [esp + 0x20]
push dword [esp + ebp*4 + 0xa8]
push dword [ebx + 0x54]
push dword [ebx + 0x5c]
call fcn.10026f30
cmp dword [ebx + 0x58], 0
js 0x10013690
mov dword [ebx + 0x54], 0
inc ebp
add edi, 0x18
cmp dword [esp + 0x30], ebp
mov eax, ebp
je 0x100138c0
mov ebp, dword [esi + 0x278]
xor ebx, ebx
mov dword [esp + 0x20], eax
test al, 1
sete dl
movsd xmm0, qword [esi + 0x14]
movsd xmm2, qword [esi + 0x1c]
movsd xmm1, qword [edi - 0x14]
movsd xmm3, qword [edi - 0xc]
mov eax, dword [ebp + 0x54]
cmp eax, dword [ebp + 0x58]
jne 0x100137c3
lea esi, [eax + 1]
test eax, eax
je 0x100136f9
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x100136fe
inc dword [0x1006c1d8]
push dword [0x1006c1dc]
push 0
call dword [0x1006b0bc]
add esp, 8
mov ebp, eax
mov eax, dword [ebx + 0x5c]
xor esi, esi
test eax, eax
je 0x100136d2
mov ecx, dword [ebx + 0x54]
shl ecx, 3
push ecx
push eax
push ebp
call fcn.1003be10
add esp, 0xc
mov eax, dword [ebx + 0x5c]
test eax, eax
je 0x100136d2
dec dword [0x1006c1d8]
mov esi, eax
push dword [0x1006c1dc]
push esi
call dword [0x1006b0c0]
add esp, 8
mov dword [ebx + 0x5c], ebp
mov dword [ebx + 0x58], 0
mov esi, dword [esp + 4]
mov ebp, dword [esp + 0x20]
jmp 0x1001362f
mov ecx, 8
cmp ecx, esi
cmovg esi, ecx
cmp eax, esi
jge 0x100137c3
movups xmmword [esp + 0x15c], xmm1
movups xmmword [esp + 0x11c], xmm0
mov byte [esp + 0x12c], dl
movups xmmword [esp + 0xe4], xmm3
movups xmmword [esp + 0x48], xmm2
lea eax, [esi*8]
inc dword [0x1006c1d8]
push dword [0x1006c1dc]
push eax
call dword [0x1006b0bc]
add esp, 8
mov edx, dword [ebp + 0x5c]
xor ecx, ecx
test edx, edx
mov dword [esp + 0x14c], eax
je 0x1001377e
mov ecx, dword [ebp + 0x54]
shl ecx, 3
push ecx
push edx
push eax
call fcn.1003be10
xor ecx, ecx
add esp, 0xc
mov eax, dword [ebp + 0x5c]
test eax, eax
je 0x1001377e
dec dword [0x1006c1d8]
mov ecx, eax
push dword [0x1006c1dc]
push ecx
call dword [0x1006b0c0]
add esp, 8
mov eax, dword [esp + 0x14c]
mov dword [ebp + 0x5c], eax
mov dword [ebp + 0x58], esi
mov eax, dword [ebp + 0x54]
movups xmm2, xmmword [esp + 0x48]
movups xmm3, xmmword [esp + 0xe4]
movzx edx, byte [esp + 0x12c]
movups xmm0, xmmword [esp + 0x11c]
movups xmm1, xmmword [esp + 0x15c]
addps xmm2, xmm0
subps xmm2, xmm0
mulps xmm2, xmm1
addps xmm2, xmm0
mov bl, dl
movd xmm0, ebx
pshufd xmm4, xmm0, 0x50
pslld xmm4, 0x1f
psrad xmm4, 0x1f
movdqu xmm0, xmmword [esp + 0x58]
pand xmm0, xmm4
movdqu xmm1, xmmword [esp + 0xcc]
pandn xmm4, xmm1
por xmm4, xmm0
pshufd xmm0, xmm4, 0xe1
mulps xmm0, xmm3
addps xmm0, xmm2
mov ecx, dword [ebp + 0x5c]
movlps qword [ecx + eax*8], xmm0
inc dword [ebp + 0x54]
mov eax, dword [esp + 4]
mov esi, dword [eax + 0x278]
mov eax, dword [esi + 0x54]
cmp eax, dword [esi + 0x58]
jne 0x100135b6
lea ebp, [eax + 1]
test eax, eax
je 0x1001383e
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x10013843
mov ecx, 8
cmp ecx, ebp
cmovg ebp, ecx
cmp eax, ebp
jge 0x100135b6
movdqu xmmword [esp + 0x12c], xmm4
movups xmmword [esp + 0xe4], xmm3
movups xmmword [esp + 0x48], xmm2
lea eax, [ebp*8]
inc dword [0x1006c1d8]
push dword [0x1006c1dc]
push eax
call dword [0x1006b0bc]
add esp, 8
mov edx, dword [esi + 0x5c]
xor ebx, ebx
test edx, edx
mov dword [esp + 0x11c], eax
je 0x10013580
mov ecx, dword [esi + 0x54]
shl ecx, 3
push ecx
push edx
push eax
call fcn.1003be10
add esp, 0xc
mov eax, dword [esi + 0x5c]
test eax, eax
je 0x10013580
dec dword [0x1006c1d8]
mov ebx, eax
jmp 0x10013580
xorps xmm0, xmm0
movups xmm1, xmmword [esp + 0xfc]
ucomiss xmm1, xmm0
jbe 0x10013a05
mov ecx, dword [0x1006bdd4]
movss xmm1, dword [ecx + 0x15d4]
movss xmm3, dword [0x100581a0]
movaps xmm2, xmm3
minss xmm2, xmm1
cmpltss xmm1, xmm0
andnps xmm1, xmm2
movss xmm4, dword [0x10058514]
mulss xmm1, xmm4
movss xmm5, dword [0x10058020]
addss xmm1, xmm5
cvttss2si eax, xmm1
movss xmm1, dword [ecx + 0x15d8]
movaps xmm2, xmm3
minss xmm2, xmm1
cmpltss xmm1, xmm0
movss xmm0, dword [ecx + 0x15e0]
mulss xmm0, dword [ecx + 0x14ec]
andnps xmm1, xmm2
mulss xmm1, xmm4
addss xmm1, xmm5
cvttss2si edx, xmm1
movss xmm1, dword [ecx + 0x15dc]
unpcklps xmm1, xmm0
xorps xmm0, xmm0
movaps xmm2, xmmword [0x10058520]
minps xmm2, xmm1
cmpnltps xmm1, xmm0
andps xmm1, xmm2
mulps xmm1, xmmword [0x10058530]
addps xmm1, xmmword [0x10058540]
cvttps2dq xmm0, xmm1
movdqa xmm1, xmm0
pslld xmm1, 0x18
pslld xmm0, 0x10
movd esi, xmm0
pshufd xmm0, xmm1, 0x55
movd edi, xmm0
mov ecx, dword [esp + 4]
movsd xmm0, qword [ecx + 0x14]
mov ecx, dword [esp + 4]
movsd xmm1, qword [ecx + 0x1c]
addps xmm1, xmm0
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 0x278]
movlps qword [esp + 0x10], xmm1
shl edx, 8
or edx, eax
or esi, edx
or edi, esi
mov esi, dword [esp + 4]
sub esp, 0x18
movups xmm0, xmmword [esp + 0x114]
movss dword [esp + 0x14], xmm0
movss xmm0, dword [esp + 0x4c]
movss dword [esp + 0xc], xmm0
lea eax, [esp + 0x28]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xac]
mov dword [esp], eax
mov dword [esp + 8], edi
mov dword [esp + 0x10], 0xf
call fcn.10027e60
mov eax, dword [esp + 0x68]
cmp eax, 0xffffffff
mov ebp, dword [esp + 0x44]
je 0x10013be9
cmp eax, 3
ja case.default.0x10013a47
movss xmm4, dword [esi + 0x14]
movss xmm1, dword [esi + 0x18]
movss xmm0, dword [esi + 0x20]
addss xmm0, xmm1
movss xmm2, dword [esi + 0x1c]
addss xmm2, xmm4
movss xmm3, dword [0x10058550]
addss xmm2, xmm3
addss xmm0, xmm3
jmp dword [eax*4 + 0x10058a24]
xorps xmm0, xmm0
addss xmm0, xmm1
movaps xmm3, xmm2
movups xmm2, xmmword [esp + 0x10c]
subss xmm3, xmm2
addss xmm4, xmm2
jmp 0x10013ac9
movss xmm3, dword [0x10058740]
movss xmm2, dword [0x10058650]
movaps xmm1, xmm2
movaps xmm0, xmm3
jmp 0x10013acc
movups xmm3, xmmword [esp + 0x10c]
subss xmm0, xmm3
addss xmm1, xmm3
movaps xmm3, xmm2
jmp 0x10013acc
movaps xmm3, xmm2
movups xmm1, xmmword [esp + 0x10c]
subss xmm3, xmm1
addss xmm4, xmm1
movaps xmm2, xmm4
movaps xmm1, xmm0
jmp 0x10013acc
movups xmm2, xmmword [esp + 0x10c]
subss xmm0, xmm2
xorps xmm3, xmm3
addss xmm3, xmm4
addss xmm1, xmm2
movaps xmm2, xmm4
movss xmm4, dword [0x100581a0]
movss xmm5, dword [0x10058514]
movss xmm6, dword [0x10058020]
movss dword [esp + 0x10], xmm2
movss dword [esp + 0x14], xmm1
movss dword [esp + 0x18], xmm3
movss dword [esp + 0x1c], xmm0
mov ecx, dword [0x1006bdd4]
movss xmm2, dword [ecx + 0x1754]
movss xmm0, dword [ecx + 0x1758]
movaps xmm1, xmm4
minss xmm1, xmm2
xorps xmm3, xmm3
cmpltss xmm2, xmm3
andnps xmm2, xmm1
movss xmm1, dword [ecx + 0x1760]
mulss xmm1, dword [ecx + 0x14ec]
mulss xmm2, xmm5
addss xmm2, xmm6
cvttss2si eax, xmm2
movaps xmm2, xmm4
minss xmm2, xmm0
cmpltss xmm0, xmm3
andnps xmm0, xmm2
mulss xmm0, xmm5
addss xmm0, xmm6
cvttss2si edx, xmm0
movss xmm2, dword [ecx + 0x175c]
unpcklps xmm2, xmm1
xorps xmm0, xmm0
movaps xmm1, xmmword [0x10058520]
minps xmm1, xmm2
cmpnltps xmm2, xmm0
andps xmm2, xmm1
movaps xmm0, xmm4
mulps xmm2, xmmword [0x10058530]
maxss xmm0, dword [esp + 0xfc]
addps xmm2, xmmword [0x10058540]
cvttps2dq xmm1, xmm2
movdqa xmm2, xmm1
pslld xmm1, 0x10
movd esi, xmm1
pslld xmm2, 0x18
pshufd xmm1, xmm2, 0x55
movd edi, xmm1
lea ebx, [esp + 0x18]
shl edx, 8
or edx, eax
mov eax, dword [esp + 4]
mov ecx, dword [eax + 0x278]
or esi, edx
or edi, esi
mov esi, eax
sub esp, 0x10
movss dword [esp + 0xc], xmm0
mov dword [esp + 4], ebx
lea eax, [esp + 0x20]
mov dword [esp], eax
mov dword [esp + 8], edi
call fcn.10027c90
movss xmm0, dword [ebp + 0x152c]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
mov ebx, dword [esp + 0xc]
jbe 0x10013d4d
cmp dword [esp + 0xb8], 0
jne 0x10013d4d
mov ecx, dword [0x1006bdd4]
movss xmm1, dword [ecx + 0x15d4]
movss xmm4, dword [0x100581a0]
movaps xmm2, xmm4
minss xmm2, xmm1
xorps xmm3, xmm3
cmpltss xmm1, xmm3
andnps xmm1, xmm2
movss xmm2, dword [0x10058514]
mulss xmm1, xmm2
movss xmm5, dword [0x10058020]
addss xmm1, xmm5
cvttss2si eax, xmm1
movss xmm1, dword [ecx + 0x15d8]
minss xmm4, xmm1
cmpltss xmm1, xmm3
andnps xmm1, xmm4
mulss xmm1, xmm2
addss xmm1, xmm5
movss xmm2, dword [ecx + 0x15e0]
mulss xmm2, dword [ecx + 0x14ec]
cvttss2si edx, xmm1
movss xmm1, dword [ecx + 0x15dc]
unpcklps xmm1, xmm2
xorps xmm2, xmm2
movaps xmm3, xmmword [0x10058520]
minps xmm3, xmm1
cmpnltps xmm1, xmm2
andps xmm1, xmm3
mulps xmm1, xmmword [0x10058530]
addps xmm1, xmmword [0x10058540]
mov ecx, dword [esi + 0x278]
cvttps2dq xmm1, xmm1
movdqa xmm2, xmm1
pslld xmm2, 0x18
pslld xmm1, 0x10
movd esi, xmm1
pshufd xmm1, xmm2, 0x55
movd edi, xmm1
movss xmm1, dword [ebp + 0x14fc]
movss xmm2, dword [esp + 0x8c]
subss xmm2, xmm1
movss dword [esp + 0x10], xmm2
addss xmm1, dword [esp + 0x84]
movss dword [esp + 0x74], xmm1
movss xmm1, dword [esp + 0x90]
addss xmm1, dword [0x10058550]
movss dword [esp + 0x14], xmm1
movss dword [esp + 0x78], xmm1
shl edx, 8
or edx, eax
or esi, edx
or edi, esi
mov esi, dword [esp + 4]
sub esp, 0x10
movss dword [esp + 0xc], xmm0
lea eax, [esp + 0x20]
mov dword [esp + 4], eax
lea eax, [esp + 0x84]
mov dword [esp], eax
mov dword [esp + 8], edi
call fcn.10027c90
cmp dword [ebp + 0x1a78], esi
jne 0x10013ef4
movss xmm1, dword [ebp + 0x14f8]
movss xmm0, dword [esi + 0x5c]
lea eax, [esp + 0x18]
movss xmm4, dword [ebp + 0x1888]
movaps xmm5, xmm4
shufps xmm5, xmm4, 0
movsd xmm3, qword [esi + 0x14]
movsd xmm2, qword [esi + 0x1c]
addps xmm2, xmm3
subps xmm3, xmm5
addps xmm2, xmm5
movaps xmm5, xmm3
movlhps xmm5, xmm2
movups xmmword [esp + 0x10], xmm5
movups xmm6, xmmword [esp + 0xbc]
movaps xmm7, xmm6
cmpleps xmm7, xmm5
cmpleps xmm5, xmm6
shufps xmm5, xmm7, 0xe4
pslld xmm5, 0x1f
movmskps ecx, xmm5
cmp cl, 0xf
je 0x10013dce
movaps xmm2, xmm1
cmpless xmm2, xmm0
andps xmm0, xmm2
andnps xmm2, xmm1
orps xmm0, xmm2
jmp 0x10013dec
movss xmm1, dword [0x10058550]
subss xmm1, xmm4
shufps xmm1, xmm1, 0
subps xmm3, xmm1
addps xmm2, xmm1
movlhps xmm3, xmm2
movups xmmword [esp + 0x10], xmm3
mov ecx, dword [esi + 0x278]
movss xmm1, dword [ebp + 0x1a80]
mov edx, dword [0x1006bdd4]
movss xmm3, dword [edx + 0x1814]
mulss xmm1, dword [edx + 0x14ec]
movss xmm2, dword [edx + 0x1818]
mulss xmm1, dword [edx + 0x1820]
movss xmm4, dword [0x100581a0]
movaps xmm5, xmm4
minss xmm5, xmm3
xorps xmm6, xmm6
cmpltss xmm3, xmm6
andnps xmm3, xmm5
movss xmm5, dword [0x10058514]
mulss xmm3, xmm5
movss xmm7, dword [0x10058020]
addss xmm3, xmm7
cvttss2si esi, xmm3
minss xmm4, xmm2
cmpltss xmm2, xmm6
andnps xmm2, xmm4
mulss xmm2, xmm5
addss xmm2, xmm7
cvttss2si edi, xmm2
shl edi, 8
movss xmm2, dword [edx + 0x181c]
unpcklps xmm2, xmm1
xorps xmm1, xmm1
movaps xmm3, xmmword [0x10058520]
minps xmm3, xmm2
cmpnltps xmm2, xmm1
andps xmm2, xmm3
mulps xmm2, xmmword [0x10058530]
or edi, esi
addps xmm2, xmmword [0x10058540]
cvttps2dq xmm1, xmm2
movdqa xmm2, xmm1
pslld xmm2, 0x18
pslld xmm1, 0x10
movd edx, xmm1
or edx, edi
pshufd xmm1, xmm2, 0x55
movd esi, xmm1
or esi, edx
sub esp, 0x18
movss dword [esp + 0xc], xmm0
mov dword [esp + 4], eax
lea eax, [esp + 0x28]
mov dword [esp], eax
mov dword [esp + 8], esi
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x14], 0x40400000
mov dword [esp + 0x10], 0xffffffff
call fcn.10027e60
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0x24]
mov edx, dword [esi + 0x28]
mov dword [esi + 0x30], edx
mov dword [esi + 0x2c], ecx
movss xmm3, dword [esi + 0x6c]
movss xmm0, dword [esi + 0x54]
movaps xmm1, xmm0
subss xmm1, xmm3
movss dword [esi + 0x44], xmm1
movss xmm2, dword [esi + 0x70]
movss xmm1, dword [esi + 0x58]
movaps xmm4, xmm1
subss xmm4, xmm2
xorps xmm5, xmm5
xorps xmm6, xmm6
test al, 1
jne 0x10013f5a
mov ecx, dword [0x1006bdd4]
movss xmm7, dword [ecx + 0x188c]
mulss xmm7, dword [esi + 0x274]
movss xmm6, dword [ecx + 0x1524]
addss xmm6, xmm6
addss xmm6, xmm7
addss xmm4, xmm6
test eax, 0x400
je 0x10013f8b
mov ecx, dword [0x1006bdd4]
movss xmm6, dword [ecx + 0x188c]
mulss xmm6, dword [esi + 0x274]
movss xmm5, dword [ecx + 0x1524]
addss xmm5, xmm5
addss xmm5, xmm6
addss xmm4, xmm5
movss dword [esi + 0x48], xmm4
movaps xmm4, xmmword [0x10058730]
xorps xmm4, xmm3
subss xmm4, xmm0
movss xmm6, dword [esi + 0x3c]
xorps xmm5, xmm5
ucomiss xmm6, xmm5
jne 0x10013fbe
jp 0x10013fbe
movss xmm6, dword [esi + 0x1c]
subss xmm6, dword [esi + 0x88]
addss xmm4, xmm6
movss dword [esi + 0x4c], xmm4
movaps xmm4, xmmword [0x10058730]
xorps xmm4, xmm2
subss xmm4, xmm1
movss xmm6, dword [esi + 0x40]
ucomiss xmm6, xmm5
jne 0x10013fee
jp 0x10013fee
movss xmm6, dword [esi + 0x20]
subss xmm6, dword [esi + 0x8c]
addss xmm4, xmm6
movss dword [esi + 0x50], xmm4
movaps xmm4, xmm0
addss xmm4, xmm5
subss xmm4, xmm3
movss dword [esi + 0x1c8], xmm4
xorps xmm3, xmm3
movlps qword [esi + 0x1cc], xmm3
xorps xmm3, xmm3
test al, 1
jne 0x10014041
mov ecx, dword [0x1006bdd4]
movss xmm6, dword [ecx + 0x188c]
mulss xmm6, dword [esi + 0x274]
movss xmm3, dword [ecx + 0x1524]
addss xmm3, xmm3
addss xmm3, xmm6
mov ecx, dword [0x1006bdd4]
test eax, 0x400
je 0x1001406e
movss xmm6, dword [ecx + 0x188c]
mulss xmm6, dword [esi + 0x274]
movss xmm5, dword [ecx + 0x1524]
addss xmm5, xmm5
addss xmm5, xmm6
addss xmm3, xmm5
addss xmm1, xmm3
subss xmm1, xmm2
xorps xmm2, xmm2
addss xmm4, xmm2
addss xmm1, dword [esi + 0x18]
addss xmm4, dword [esi + 0x14]
movss dword [esi + 0xec], xmm4
movss dword [esi + 0xf0], xmm1
movss dword [esi + 0xdc], xmm4
movss dword [esi + 0xe0], xmm1
mov eax, dword [esi + 0xe0]
mov edx, dword [esi + 0xdc]
mov dword [esi + 0xe4], edx
mov dword [esi + 0xe8], eax
mov edx, dword [esi + 0xf0]
mov esi, dword [esp + 4]
mov esi, dword [esi + 0xec]
mov edi, dword [esp + 4]
mov dword [edi + 0xf4], esi
mov esi, dword [esp + 4]
mov dword [esi + 0xf8], edx
mov byte [esi + 0x140], 0
xorps xmm1, xmm1
movups xmmword [esi + 0xfc], xmm1
mov ecx, dword [ecx + 0x1958]
movss xmm1, dword [ecx + 0x28]
movss xmm3, dword [ecx + 0x38]
subss xmm1, dword [ecx + 0x8c]
subss xmm3, xmm1
movaps xmm1, xmm3
cmpless xmm1, xmm2
andnps xmm1, xmm3
ucomiss xmm1, xmm2
seta byte [esi + 0x141]
mov ecx, dword [esi + 0x150]
mov dword [esi + 0x14c], ecx
mov dword [esi + 0x150], 0
mov byte [esi + 0x154], 0
movss xmm1, dword [ebp + 0x1530]
movaps xmm2, xmm1
cmpless xmm2, xmm0
andps xmm0, xmm2
andnps xmm2, xmm1
orps xmm2, xmm0
movd xmm0, eax
addss xmm0, dword [0x10058868]
movss dword [esi + 0x158], xmm2
movss dword [esi + 0x10c], xmm0
cmp dword [esi + 0x160], 0
jns 0x100141f9
inc dword [0x1006c1d8]
push dword [0x1006c1dc]
push 0
call dword [0x1006b0bc]
add esp, 8
mov ebx, eax
mov eax, dword [esi + 0x164]
mov edi, esi
xor esi, esi
test eax, eax
je 0x100141d1
mov ecx, dword [edi + 0x15c]
shl ecx, 2
push ecx
push eax
push ebx
call fcn.1003be10
add esp, 0xc
mov eax, dword [edi + 0x164]
test eax, eax
je 0x100141d1
dec dword [0x1006c1d8]
mov esi, eax
push dword [0x1006c1dc]
push esi
call dword [0x1006b0c0]
add esp, 8
mov esi, dword [esp + 4]
mov dword [esi + 0x164], ebx
mov dword [esi + 0x160], 0
mov ebx, dword [esp + 0xc]
mov dword [esi + 0x15c], 0
mov dword [esi + 0x16c], 0
mov edi, dword [esp + 8]
test edi, edi
je 0x1001421d
mov eax, dword [edi + 0x16c]
jmp 0x1001421f
xor eax, eax
movzx ecx, byte [esp + 3]
mov dword [esi + 0x170], eax
mov dword [esi + 0x174], 1
movss xmm0, dword [esi + 0x228]
movss dword [esi + 0x178], xmm0
mov dword [esi + 0x17c], 0xbf800000
cmp dword [esi + 0x184], 0
jns 0x100142d5
inc dword [0x1006c1d8]
push dword [0x1006c1dc]
push 0
call dword [0x1006b0bc]
add esp, 8
mov ebx, eax
mov eax, dword [esi + 0x188]
mov edi, esi
xor esi, esi
test eax, eax
je 0x100142a4
mov ecx, dword [edi + 0x180]
shl ecx, 2
push ecx
push eax
push ebx
call fcn.1003be10
add esp, 0xc
mov eax, dword [edi + 0x188]
test eax, eax
je 0x100142a4
dec dword [0x1006c1d8]
mov esi, eax
push dword [0x1006c1dc]
push esi
call dword [0x1006b0c0]
add esp, 8
mov esi, dword [esp + 4]
mov dword [esi + 0x188], ebx
mov dword [esi + 0x184], 0
mov ebx, dword [esp + 0xc]
mov edi, dword [esp + 8]
movzx ecx, byte [esp + 3]
mov dword [esi + 0x180], 0
cmp dword [esi + 0x190], 0
jns 0x10014366
inc dword [0x1006c1d8]
push dword [0x1006c1dc]
push 0
call dword [0x1006b0bc]
add esp, 8
mov ebx, eax
mov eax, dword [esi + 0x194]
mov edi, esi
xor esi, esi
test eax, eax
je 0x10014335
mov ecx, dword [edi + 0x18c]
shl ecx, 2
push ecx
push eax
push ebx
call fcn.1003be10
add esp, 0xc
mov eax, dword [edi + 0x194]
test eax, eax
je 0x10014335
dec dword [0x1006c1d8]
mov esi, eax
push dword [0x1006c1dc]
push esi
call dword [0x1006b0c0]
add esp, 8
mov esi, dword [esp + 4]
mov dword [esi + 0x194], ebx
mov dword [esi + 0x190], 0
mov ebx, dword [esp + 0xc]
mov edi, dword [esp + 8]
movzx ecx, byte [esp + 3]
mov dword [esi + 0x18c], 0
cmp dword [esi + 0x19c], 0
jns 0x100143f7
inc dword [0x1006c1d8]
push dword [0x1006c1dc]
push 0
call dword [0x1006b0bc]
add esp, 8
mov ebx, eax
mov eax, dword [esi + 0x1a0]
mov edi, esi
xor esi, esi
test eax, eax
je 0x100143c6
mov ecx, dword [edi + 0x198]
shl ecx, 2
push ecx
push eax
push ebx
call fcn.1003be10
add esp, 0xc
mov eax, dword [edi + 0x1a0]
test eax, eax
je 0x100143c6
dec dword [0x1006c1d8]
mov esi, eax
push dword [0x1006c1dc]
push esi
call dword [0x1006b0c0]
add esp, 8
mov esi, dword [esp + 4]
mov dword [esi + 0x1a0], ebx
mov dword [esi + 0x19c], 0
mov ebx, dword [esp + 0xc]
mov edi, dword [esp + 8]
movzx ecx, byte [esp + 3]
mov dword [esi + 0x198], 0
mov dword [esi + 0x1d4], 0
mov dword [esi + 0x110], 0
mov dword [esi + 0x114], 0
lea eax, [esi + 0x25c]
mov dword [esi + 0x168], eax
cmp dword [esi + 0x1a8], 0
jns 0x100144b9
inc dword [0x1006c1d8]
push dword [0x1006c1dc]
push 0
call dword [0x1006b0bc]
add esp, 8
mov ebx, eax
mov eax, dword [esi + 0x1ac]
mov edi, esi
xor esi, esi
test eax, eax
je 0x10014488
mov ecx, dword [edi + 0x1a4]
shl ecx, 3
lea ecx, [ecx + ecx*4]
push ecx
push eax
push ebx
call fcn.1003be10
add esp, 0xc
mov eax, dword [edi + 0x1ac]
test eax, eax
je 0x10014488
dec dword [0x1006c1d8]
mov esi, eax
push dword [0x1006c1dc]
push esi
call dword [0x1006b0c0]
add esp, 8
mov esi, dword [esp + 4]
mov dword [esi + 0x1ac], ebx
mov dword [esi + 0x1a8], 0
mov ebx, dword [esp + 0xc]
mov edi, dword [esp + 8]
movzx ecx, byte [esp + 3]
mov dword [esi + 0x1a4], 0
movss xmm2, dword [ebp + 0x1530]
mov dword [esi + 0x22c], 3
mov dword [esi + 0x238], 0
movss dword [esi + 0x230], xmm2
test cl, cl
je 0x10014500
mov dword [esi + 0x258], 0
xorps xmm1, xmm1
xorps xmm0, xmm0
xorps xmm3, xmm3
jmp 0x10014518
movss xmm3, dword [esi + 0x24c]
movss xmm0, dword [esi + 0x250]
movss xmm1, dword [esi + 0x254]
mov dword [esi + 0x23c], 0
xorps xmm5, xmm5
addss xmm3, xmm5
xorps xmm4, xmm4
cmpltss xmm4, xmm0
movaps xmm6, xmm4
andps xmm6, xmm2
movss xmm7, dword [0x10058570]
andnps xmm4, xmm7
orps xmm4, xmm6
xorps xmm6, xmm6
movlps qword [esi + 0x24c], xmm6
cmpltss xmm5, xmm1
andps xmm2, xmm5
andnps xmm5, xmm7
orps xmm5, xmm2
addss xmm4, xmm3
addss xmm0, xmm4
addss xmm0, xmm5
unpcklps xmm4, xmm0
cvttps2dq xmm2, xmm4
cvtdq2ps xmm2, xmm2
movlps qword [esi + 0x240], xmm2
addss xmm0, xmm1
mov dword [esi + 0x254], 0
movss dword [esi + 0x234], xmm0
test ebx, 0x1000000
je 0x1001468e
mov eax, dword [edi + 0x174]
cmp dword [esi + 0x174], eax
je 0x1001468e
mov dword [esi + 0x174], eax
mov ecx, dword [esi + 0x180]
cmp ecx, dword [esi + 0x184]
jne 0x1001467b
lea esi, [ecx + 1]
test ecx, ecx
je 0x100145da
mov edx, ecx
shr edx, 0x1f
add edx, ecx
sar edx, 1
add edx, ecx
jmp 0x100145df
mov edx, 8
cmp edx, esi
cmovg esi, edx
cmp ecx, esi
jge 0x1001467b
lea eax, [esi*4]
inc dword [0x1006c1d8]
push dword [0x1006c1dc]
push eax
call dword [0x1006b0bc]
add esp, 8
mov ebx, dword [esp + 4]
mov edx, dword [ebx + 0x188]
xor edi, edi
test edx, edx
mov dword [esp + 0x20], eax
je 0x10014643
mov ecx, dword [ebx + 0x180]
shl ecx, 2
push ecx
push edx
push eax
call fcn.1003be10
add esp, 0xc
mov eax, dword [ebx + 0x188]
test eax, eax
je 0x10014643
dec dword [0x1006c1d8]
mov edi, eax
push dword [0x1006c1dc]
push edi
call dword [0x1006b0c0]
add esp, 8
mov ecx, dword [esp + 4]
mov eax, dword [esp + 0x20]
mov dword [ecx + 0x188], eax
mov dword [ecx + 0x184], esi
mov eax, dword [ecx + 0x174]
mov ecx, dword [ecx + 0x180]
mov ebx, dword [esp + 0xc]
mov edi, dword [esp + 8]
mov esi, dword [esp + 4]
mov edx, dword [esi + 0x188]
mov dword [edx + ecx*4], eax
inc dword [esi + 0x180]
mov eax, dword [esi + 0xa8]
test eax, eax
jle 0x1001469f
dec eax
mov dword [esi + 0xa8], eax
mov eax, dword [esi + 0xac]
test eax, eax
jle 0x100146b0
dec eax
mov dword [esi + 0xac], eax
cmp byte [esp + 0x70], 0
je 0x10014759
push esi
call fcn.10015660
add esp, 4
mov eax, dword [0x1006bdd4]
mov ecx, dword [esi + 8]
test ecx, 0x40000
jne 0x1001474d
and ecx, 0x5000000
cmp ecx, 0x1000000
jne 0x100146ec
mov ecx, dword [esi + 0x294]
test ecx, ecx
jne 0x10014753
mov ecx, dword [eax + 0x1a3c]
mov edx, dword [eax + 0x1a88]
mov dword [eax + 0x1a40], 0
mov dword [ecx + edx*4 + 0x294], 0
mov word [eax + 0x1a95], 1
mov dword [eax + 0x1a98], 0
movaps xmm0, xmmword [0x10058580]
movups xmmword [eax + 0x1a9c], xmm0
mov eax, dword [0x1006bdd4]
mov cl, 1
cmp byte [eax + 0x1aad], 0
jne 0x10014745
movzx ecx, byte [eax + 0x1a95]
mov byte [eax + 0x1a94], cl
jmp 0x10014759
mov ecx, dword [esi + 0x294]
mov dword [eax + 0x1a40], ecx
test bl, 1
jne 0x10014cb7
mov edi, dword [esi + 0x174]
inc dword [esi + 0x144]
shl dword [esi + 0x148], 1
mov eax, edi
or eax, 0x10
mov dword [esi + 0x174], eax
test bl, 0x20
jne 0x10014883
mov dword [esp + 0x20], edi
mov eax, dword [esi + 0x1d8]
mov ecx, dword [esi + 0x1e0]
push dword [ecx + eax*4 - 4]
push 0
push str.COLLAPSE
call fcn.1000a030
add esp, 0xc
mov ebx, eax
mov eax, dword [0x1006bdd4]
cmp dword [eax + 0x1974], ebx
jne 0x100147c1
mov byte [eax + 0x1980], 1
mov eax, dword [esp + 0x94]
movsd xmm0, qword [eax]
movsd xmm1, qword [ebp + 0x1520]
addps xmm1, xmm0
movss xmm0, dword [ebp + 0x1888]
unpcklps xmm0, xmm0
addps xmm0, xmm1
movlhps xmm1, xmm0
addps xmm1, xmmword [0x10058870]
movups xmmword [esp + 0x10], xmm1
push 0
push ebx
lea edi, [esp + 0x18]
push edi
call fcn.1000bb30
add esp, 0xc
push 0
push 0
push 0
push ebx
push edi
call fcn.10019600
add esp, 0x14
test al, al
je 0x1001481f
mov byte [esi + 0x94], 1
push 1
push ebx
lea eax, [esp + 0x18]
push eax
call fcn.100171c0
add esp, 0xc
xor eax, eax
cmp byte [esi + 0x93], 0
sete al
lea eax, [eax + eax + 1]
movss xmm0, dword [esi + 0x14]
movss xmm1, dword [esi + 0x18]
addss xmm1, dword [ebp + 0x1524]
addss xmm0, dword [ebp + 0x1520]
sub esp, 0x10
mov dword [esp + 8], eax
movss dword [esp + 4], xmm1
movss dword [esp], xmm0
mov dword [esp + 0xc], 0x3f800000
call fcn.10016b50
add esp, 0x10
mov ebx, dword [esp + 0xc]
mov edi, dword [esp + 0x20]
cmp dword [esp + 0x194], 0
je 0x1001494e
movss xmm0, dword [ebp + 0x1524]
movss xmm1, dword [ebp + 0x1888]
mulss xmm1, dword [0x10058020]
movss xmm2, dword [0x100581a0]
addss xmm2, xmm1
movss dword [esp + 0x20], xmm2
movaps xmm2, xmm0
xorps xmm0, xmmword [0x10058730]
addss xmm2, xmm1
subss xmm0, xmm1
unpcklps xmm0, xmm2
movss xmm1, dword [esi + 0x14]
addss xmm1, dword [esi + 0x1c]
movss xmm2, dword [esi + 0x18]
unpcklps xmm1, xmm2
addps xmm1, xmm0
movlps qword [esp + 0x10], xmm1
mov eax, dword [esi + 0x1d8]
mov ecx, dword [esi + 0x1e0]
push dword [ecx + eax*4 - 4]
push 0
push str.CLOSE
call fcn.1000a030
add esp, 0xc
mov ecx, dword [0x1006bdd4]
cmp dword [ecx + 0x1974], eax
jne 0x1001491e
mov byte [ecx + 0x1980], 1
sub esp, 0xc
movss xmm0, dword [esp + 0x2c]
movss dword [esp + 8], xmm0
lea ecx, [esp + 0x1c]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.10019f20
add esp, 0xc
test al, al
je 0x1001494e
mov eax, dword [esp + 0x194]
mov byte [eax], 0
dec dword [esi + 0x144]
sar dword [esi + 0x148], 1
mov dword [esi + 0x174], edi
mov eax, dword [0x1006bdd4]
mov esi, dword [esp + 0x190]
cmp esi, 0xffffffff
je 0x1001499a
mov ecx, esi
jmp 0x1001498c
cmp byte [ecx + 1], 0x23
je 0x100149b3
inc ecx
cmp ecx, 0xffffffff
je 0x100149ae
movzx edx, byte [ecx]
cmp edx, 0x23
je 0x10014980
test edx, edx
jne 0x10014986
jmp 0x100149b3
movss xmm0, dword [eax + 0x1888]
mov edx, dword [esp + 0x194]
jmp 0x10014a50
mov ecx, 0xffffffff
mov edx, dword [esp + 0x194]
movss xmm0, dword [eax + 0x1888]
cmp ecx, esi
je 0x10014a50
mov edi, dword [eax + 0x1884]
sub esp, 0x1c
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], esi
movss dword [esp + 4], xmm0
lea eax, [esp + 0x110]
mov dword [esp], eax
mov dword [esp + 0x18], 0
mov dword [esp + 0xc], 0xbf800000
mov dword [esp + 8], 0x7f7fffff
mov ecx, edi
movss dword [esp + 0x3c], xmm0
call fcn.1002ff40
movss xmm0, dword [esp + 0xf4]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jbe 0x10014a2f
movss xmm1, dword [esp + 0x20]
divss xmm1, dword [edi]
subss xmm0, xmm1
mov edx, dword [esp + 0x194]
addss xmm0, dword [str.33s_]
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
movss dword [esp + 0xf4], xmm0
jmp 0x10014a64
mov dword [esp + 0xf4], 0
movss dword [esp + 0xf8], xmm0
movups xmm0, xmmword [esp + 0x84]
movups xmmword [esp + 0x74], xmm0
movss xmm0, dword [ebp + 0x1520]
movaps xmm1, xmm0
test bl, 0x20
jne 0x10014a95
movss xmm1, dword [ebp + 0x1888]
addss xmm1, xmm0
addss xmm1, dword [ebp + 0x1538]
movaps xmm2, xmm0
test edx, edx
je 0x10014ab0
movss xmm2, dword [ebp + 0x1888]
addss xmm2, xmm0
addss xmm2, dword [ebp + 0x1538]
movss xmm3, dword [ebp + 0x1508]
movaps xmm4, xmm1
subss xmm4, xmm2
mulss xmm4, xmm3
addss xmm4, xmm2
xorps xmm5, xmm5
cmpltss xmm5, xmm3
andps xmm4, xmm5
andnps xmm5, xmm2
orps xmm5, xmm4
addss xmm1, dword [esp + 0x74]
movss dword [esp + 0x74], xmm1
movss xmm1, dword [esp + 0x7c]
subss xmm1, xmm5
movss dword [esp + 0x7c], xmm1
movups xmm1, xmmword [esp + 0x74]
movups xmmword [esp + 0x13c], xmm1
mov eax, dword [esp + 0x94]
movss xmm1, dword [eax]
mov eax, dword [esp + 0x6c]
addss xmm1, dword [eax]
test edx, edx
je 0x10014b32
movss xmm0, dword [esp + 0x90]
subss xmm0, dword [esp + 0x88]
addss xmm0, dword [0x10058884]
subss xmm1, xmm0
lea edi, [ebp + 0x1508]
movss dword [esp + 0x144], xmm1
mov esi, dword [0x1006bdd4]
lea ebx, [esi + 0x1874]
lea edx, [esi + 0x1584]
movups xmm0, xmmword [esi + 0x1584]
movups xmmword [esp + 0x10], xmm0
mov eax, dword [esi + 0x199c]
cmp eax, dword [esi + 0x19a0]
jne 0x10014c24
lea ebp, [eax + 1]
test eax, eax
je 0x10014b89
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x10014b8e
mov ecx, 8
cmp ecx, ebp
cmovg ebp, ecx
cmp eax, ebp
jge 0x10014c24
mov dword [esp + 0x20], edx
lea eax, [ebp*4]
lea eax, [eax + eax*4]
inc dword [0x1006c1d8]
push dword [0x1006c1dc]
push eax
call dword [0x1006b0bc]
add esp, 8
mov edx, dword [esi + 0x19a4]
xor ecx, ecx
test edx, edx
mov dword [esp + 0x34], eax
je 0x10014bfa
mov ecx, dword [esi + 0x199c]
shl ecx, 2
lea ecx, [ecx + ecx*4]
push ecx
push edx
push eax
call fcn.1003be10
xor ecx, ecx
add esp, 0xc
mov eax, dword [esi + 0x19a4]
test eax, eax
je 0x10014bfa
dec dword [0x1006c1d8]
mov ecx, eax
push dword [0x1006c1dc]
push ecx
call dword [0x1006b0c0]
add esp, 8
mov eax, dword [esp + 0x34]
mov dword [esi + 0x19a4], eax
mov dword [esi + 0x19a0], ebp
mov eax, dword [esi + 0x199c]
mov edx, dword [esp + 0x20]
mov ecx, dword [esi + 0x19a4]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0
movups xmm0, xmmword [esp + 0x10]
movups xmmword [ecx + eax*4 + 4], xmm0
inc dword [esi + 0x199c]
movups xmm0, xmmword [ebx]
movups xmmword [edx], xmm0
lea eax, [esp + 0x13c]
lea ecx, [esp + 0xf4]
lea edx, [esp + 0x74]
push eax
push edi
push ecx
push 0
push dword [esp + 0x1a0]
lea eax, [esp + 0x90]
push eax
push edx
call fcn.100163b0
add esp, 0x1c
mov eax, dword [0x1006bdd4]
mov ecx, dword [eax + 0x199c]
mov edx, dword [eax + 0x19a4]
lea ecx, [ecx + ecx*4]
mov esi, dword [edx + ecx*4 - 0x14]
shl esi, 4
movups xmm0, xmmword [edx + ecx*4 - 0x10]
movups xmmword [eax + esi + 0x1584], xmm0
dec dword [eax + 0x199c]
mov ebp, dword [esp + 0x44]
mov esi, dword [esp + 4]
mov ebx, dword [esp + 0xc]
mov edi, dword [esp + 8]
movsd xmm0, qword [esi + 0x14]
movsd xmm2, qword [esi + 0x1c]
addps xmm2, xmm0
movups xmm1, xmmword [esi + 0x1e4]
movlhps xmm0, xmm2
movaps xmm3, xmm1
cmpleps xmm3, xmm0
movaps xmm4, xmm0
cmpltps xmm4, xmm1
movsd xmm4, xmm3
andps xmm0, xmm4
andnps xmm4, xmm1
orps xmm4, xmm0
movups xmmword [esi + 0x1f4], xmm4
movss xmm1, dword [esp + 0x84]
movss xmm6, dword [esi + 0x60]
movaps xmm3, xmm1
addss xmm3, xmm6
movss dword [esi + 0x204], xmm3
test byte [esi + 9], 4
movss xmm7, dword [esp + 0x90]
xorps xmm4, xmm4
mov eax, dword [0x1006bdd4]
xorps xmm5, xmm5
je 0x10014d47
movss xmm0, dword [eax + 0x188c]
mulss xmm0, dword [esi + 0x274]
movss xmm5, dword [eax + 0x1524]
addss xmm5, xmm5
addss xmm5, xmm0
mov ecx, ebx
and ecx, 0x401
lea edx, [ebp + 0x152c]
cmp ecx, 1
cmove edx, dword [esp + 0x16c]
movss dword [esp + 0x20], xmm7
addss xmm5, xmm7
movsd xmm0, qword [esi + 0x88]
subps xmm2, xmm0
movaps xmm0, xmm6
shufps xmm0, xmm6, 0
subps xmm2, xmm0
movss xmm7, dword [edx]
movlps qword [esi + 0x20c], xmm2
movss xmm0, dword [0x10058020]
addss xmm3, xmm0
mulss xmm0, dword [esi + 0x54]
subss xmm0, xmm6
cvttss2si ecx, xmm0
test ecx, ecx
jle 0x10014dae
cvttps2dq xmm0, xmm0
cvtdq2ps xmm4, xmm0
unpcklps xmm5, xmm2
movaps xmm0, xmmword [0x10058890]
movss xmm0, xmm7
addps xmm0, xmm5
movss dword [esi + 0x208], xmm0
movlhps xmm3, xmm0
shufps xmm3, xmm0, 0xd8
movaps xmm0, xmm3
movlhps xmm0, xmm2
movaps xmm2, xmmword [0x100588a0]
movss xmm2, xmm4
addps xmm2, xmm0
movlhps xmm0, xmm4
subps xmm3, xmm0
shufps xmm3, xmm2, 0x32
shufps xmm2, xmm3, 0x84
cvttps2dq xmm0, xmm2
cvtdq2ps xmm0, xmm0
movups xmmword [esi + 0x214], xmm0
mov ecx, dword [esi + 0x64]
mov dword [esi + 0x118], ecx
movss xmm3, dword [eax + 0x1540]
subss xmm1, xmm3
movss xmm2, dword [eax + 0xd4]
xor ecx, ecx
ucomiss xmm2, xmm1
jb 0x10014e6c
movss xmm0, dword [esp + 0x88]
movss xmm1, dword [eax + 0x1544]
subss xmm0, xmm1
addss xmm3, dword [esp + 0x8c]
movss xmm4, dword [esp + 0x20]
addss xmm4, xmm1
movss xmm1, dword [eax + 0xd8]
cmpltps xmm2, xmm3
cmpleps xmm0, xmm1
andps xmm0, xmm2
movd ecx, xmm0
ucomiss xmm4, xmm1
seta dl
and dl, cl
movzx ecx, dl
mov dword [esi + 0x11c], ecx
movups xmm0, xmmword [esp + 0x84]
movups xmmword [esi + 0x120], xmm0
mov ecx, dword [eax + 0x1958]
mov byte [ecx + 0x92], 1
mov esi, dword [eax + 0x1958]
mov ecx, dword [esi + 0x278]
mov eax, dword [esp + 4]
movups xmm0, xmmword [eax + 0x214]
sub esp, 0x14
movups xmmword [esp], xmm0
mov dword [esp + 0x10], 1
call fcn.100261f0
mov eax, dword [esi + 0x278]
mov ecx, dword [eax + 0x3c]
mov eax, dword [eax + 0x44]
shl ecx, 4
movups xmm0, xmmword [ecx + eax - 0x10]
movups xmmword [esi + 0x1e4], xmm0
mov edx, dword [esp + 4]
mov byte [edx + 0x92], 0
inc dword [edx + 0xa0]
mov dword [ebp + 0x19e8], 0
test ebx, 0x1000000
je 0x10014f5b
test edi, edi
je 0x10014f04
movzx eax, byte [edi + 0x93]
jmp 0x10014f06
xor eax, eax
mov byte [edx + 0x93], al
test bl, 0x40
jne 0x10014f50
cmp dword [edx + 0xa8], 0
jg 0x10014f50
cmp dword [edx + 0xac], 0
jg 0x10014f50
movss xmm0, dword [edx + 0x1f4]
mov cl, 1
ucomiss xmm0, dword [edx + 0x1fc]
jae 0x10014f48
movss xmm0, dword [edx + 0x1f8]
ucomiss xmm0, dword [edx + 0x200]
setae cl
or al, cl
mov byte [edx + 0x93], al
test al, al
je 0x10014f5b
mov byte [edx + 0x90], 0
xorps xmm0, xmm0
ucomiss xmm0, dword [ebp + 0x14ec]
jb 0x10014f6e
mov byte [edx + 0x90], 0
cmp byte [edx + 0x93], 0
je 0x10014f8c
cmp dword [edx + 0xa8], 0
jg 0x10014f95
cmp dword [edx + 0xac], 0
setle al
jmp 0x10014f97
cmp byte [edx + 0x90], 0
je 0x10014f77
xor eax, eax
mov byte [edx + 0x95], al
test al, al
sete al
add esp, 0x17c
pop esi
pop edi
pop ebx
pop ebp
ret