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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x1a4
mov esi, dword [0x100e9750]
push 0
push 0
push dword [esp + 0x1c0]
call fcn.10008a50
add esp, 0xc
mov edx, dword [esi + 0x1914]
mov dword [esp + 0x1c], esi
mov esi, dword [esi + 0x191c]
mov ecx, esi
test edx, edx
je 0x1000e9fd
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 0x1000e9e0
lea edx, [esi + edx*8]
cmp ecx, edx
mov ebp, dword [esp + 0x1c]
je 0x1000ea17
cmp dword [ecx], eax
jne 0x1000ea17
mov edi, dword [ecx + 4]
test edi, edi
jne 0x1000ed6a
cmp dword [ebp + 0x19bc], 0
je 0x1000ea2a
movsd xmm0, qword [ebp + 0x19e4]
jmp 0x1000ea2d
xorps xmm0, xmm0
movups xmmword [esp + 0x30], xmm0
mov ebx, dword [0x100e9750]
inc dword [0x100e9b5c]
push dword [0x100e9b60]
push 0x2cc
call dword [0x100e78dc]
add esp, 8
mov edi, eax
mov ecx, eax
push dword [esp + 0x1b8]
push ebx
call fcn.100097c0
mov esi, dword [esp + 0x1c0]
mov dword [edi + 8], esi
lea ecx, [ebx + 0x1914]
push edi
push dword [edi + 4]
call fcn.10009460
test esi, 0x100
jne 0x1000eac1
movaps xmm0, xmmword [0x10034bf0]
movups xmmword [edi + 0xc], xmm0
mov eax, dword [0x100e9750]
mov ecx, dword [eax + 0x2980]
test ecx, ecx
je 0x1000eac1
mov edx, dword [edi + 4]
mov eax, dword [eax + 0x2988]
add eax, 0x18
movups xmm3, xmmword [esp + 0x30]
nop
cmp dword [eax - 0x14], edx
je 0x1000ebab
add eax, 0x1c
dec ecx
jne 0x1000eab0
jmp 0x1000eac6
movups xmm3, xmmword [esp + 0x30]
movlps qword [edi + 0x2c], xmm3
movaps xmm0, xmm3
movlhps xmm0, xmm3
movups xmmword [edi + 0x1c], xmm0
mov eax, dword [esp + 0x1c0]
test al, 0x40
jne 0x1000eb1e
movaps xmm0, xmm3
shufps xmm0, xmm3, 0x55
xorps xmm1, xmm1
ucomiss xmm3, xmm1
ja 0x1000eaf8
mov dword [edi + 0xa8], 2
ucomiss xmm0, xmm1
ja 0x1000eb07
mov dword [edi + 0xac], 2
mov al, 1
cmp dword [edi + 0xa8], 0
jg 0x1000eb34
cmp dword [edi + 0xac], 0
setg al
jmp 0x1000eb34
mov dword [edi + 0xac], 2
mov dword [edi + 0xa8], 2
xor eax, eax
mov byte [edi + 0xb0], al
test dword [esp + 0x1c0], 0x2000
jne 0x1000eb74
mov eax, dword [ebx + 0x18f0]
cmp eax, dword [ebx + 0x18f4]
jne 0x1000eca5
lea esi, [eax + 1]
test eax, eax
je 0x1000ec18
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x1000ec1d
mov dword [esp + 0x30], edi
mov eax, dword [ebx + 0x18f0]
mov edi, dword [ebx + 0x18f8]
cmp eax, dword [ebx + 0x18f4]
jne 0x1000ed41
lea esi, [eax + 1]
test eax, eax
je 0x1000ecbc
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x1000ecc1
movsd xmm0, qword [edi + 0xc0]
andps xmm0, xmmword [0x10034c00]
movlps qword [edi + 0xc0], xmm0
and byte [edi + 0xc8], 0xfb
movsd xmm0, qword [eax - 0x10]
mov ecx, dword [eax - 0x10]
mov edx, dword [eax - 0xc]
mov dword [edi + 0xc], ecx
mov dword [edi + 0x10], edx
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
movlps qword [edi + 0x14], xmm0
movzx ecx, byte [eax]
mov byte [edi + 0x93], cl
movsd xmm0, qword [eax - 8]
movaps xmm1, xmm0
mulps xmm1, xmm0
movaps xmm2, xmm1
shufps xmm2, xmm1, 0x55
addss xmm2, xmm1
ucomiss xmm2, dword [0x10034c10]
jbe 0x1000eac6
movaps xmm3, xmm0
jmp 0x1000eac6
mov ecx, 8
cmp ecx, esi
cmovg esi, ecx
cmp eax, esi
jge 0x1000eca5
mov dword [esp + 0x30], edi
lea eax, [esi*4]
inc dword [0x100e9b5c]
push dword [0x100e9b60]
push eax
call dword [0x100e78dc]
add esp, 8
mov edi, eax
mov eax, dword [ebx + 0x18f8]
xor ebp, ebp
test eax, eax
je 0x1000ec7b
mov ecx, dword [ebx + 0x18f0]
shl ecx, 2
push ecx
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [ebx + 0x18f8]
test eax, eax
je 0x1000ec7b
dec dword [0x100e9b5c]
mov ebp, eax
push dword [0x100e9b60]
push ebp
call dword [0x100e78e0]
add esp, 8
mov dword [ebx + 0x18f8], edi
mov dword [ebx + 0x18f4], esi
mov eax, dword [ebx + 0x18f0]
mov ebp, dword [esp + 0x1c]
mov edi, dword [esp + 0x30]
mov ecx, dword [ebx + 0x18f8]
lea edx, [eax + 1]
mov dword [ebx + 0x18f0], edx
mov dword [ecx + eax*4], edi
jmp 0x1000ed6a
mov ecx, 8
cmp ecx, esi
cmovg esi, ecx
cmp eax, esi
jge 0x1000ed41
lea eax, [esi*4]
inc dword [0x100e9b5c]
push dword [0x100e9b60]
push eax
call dword [0x100e78dc]
add esp, 8
mov edi, eax
mov eax, dword [ebx + 0x18f8]
xor ebp, ebp
test eax, eax
je 0x1000ed1b
mov ecx, dword [ebx + 0x18f0]
shl ecx, 2
push ecx
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [ebx + 0x18f8]
test eax, eax
je 0x1000ed1b
dec dword [0x100e9b5c]
mov ebp, eax
push dword [0x100e9b60]
push ebp
call dword [0x100e78e0]
add esp, 8
mov dword [ebx + 0x18f8], edi
mov dword [ebx + 0x18f4], esi
mov eax, dword [ebx + 0x18f0]
mov ebp, dword [esp + 0x1c]
test eax, eax
jle 0x1000ed5c
shl eax, 2
push eax
push edi
add edi, 4
push edi
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov edi, dword [ebx + 0x18f8]
mov eax, dword [esp + 0x30]
mov dword [edi], eax
mov edi, eax
inc dword [ebx + 0x18f0]
mov edx, dword [ebp + 0x18e4]
mov esi, dword [edi + 0x21c]
cmp esi, edx
jne 0x1000ed7f
mov ebp, dword [edi + 8]
jmp 0x1000ed96
mov eax, dword [esp + 0x1c0]
mov ebp, eax
or ebp, 6
test eax, 0x200
cmove ebp, eax
mov dword [edi + 8], ebp
lea eax, [edx - 1]
cmp esi, eax
setl cl
mov ebx, dword [edi + 0xbc]
mov dword [esp + 0x60], ebx
test ebp, 0x4000000
mov dword [esp + 0xc8], edx
mov dword [esp + 0x88], esi
mov ebx, ebp
mov ebp, dword [esp + 0x1c]
je 0x1000edfc
cmp esi, eax
setl al
mov ecx, dword [ebp + 0x19a8]
mov edx, dword [ebp + 0x19ac]
lea edx, [edx + edx*8]
mov esi, dword [edi + 0xa4]
xor esi, dword [ecx + edx*4]
mov ecx, dword [ecx + edx*4 + 4]
xor ecx, edi
or ecx, esi
mov esi, dword [esp + 0x88]
mov edx, dword [esp + 0xc8]
setne cl
or cl, al
cmp dword [esp + 0x60], 1
sete al
or al, cl
mov byte [edi + 0x96], al
cmp dword [esp + 0x1bc], 0
setne byte [edi + 0x97]
cmp al, 1
jne 0x1000ee3c
movsd xmm0, qword [edi + 0xc0]
orps xmm0, xmmword [0x10034c20]
movlps qword [edi + 0xc0], xmm0
or byte [edi + 0xc8], 8
mov eax, dword [ebp + 0x1908]
test eax, eax
mov byte [esp + 3], cl
je 0x1000ee56
mov ecx, dword [ebp + 0x1910]
mov ecx, dword [ecx + eax*4 - 4]
jmp 0x1000ee58
xor ecx, ecx
mov dword [esp + 0xcc], ecx
cmp esi, edx
jne 0x1000ee6b
mov ecx, dword [edi + 0x274]
jmp 0x1000ee7b
mov ecx, ebx
and ecx, 0x5000000
cmovne ecx, dword [esp + 0xcc]
mov dword [esp + 8], ecx
cmp eax, dword [ebp + 0x190c]
mov dword [esp + 0x30], edi
mov dword [esp + 4], ebx
jne 0x1000ef30
lea esi, [eax + 1]
test eax, eax
je 0x1000eea7
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x1000eeac
mov ecx, 8
cmp ecx, esi
cmovg esi, ecx
cmp eax, esi
jge 0x1000ef30
lea eax, [esi*4]
inc dword [0x100e9b5c]
push dword [0x100e9b60]
push eax
call dword [0x100e78dc]
add esp, 8
mov edi, eax
mov eax, dword [ebp + 0x1910]
xor ebx, ebx
test eax, eax
je 0x1000ef06
mov ecx, dword [ebp + 0x1908]
shl ecx, 2
push ecx
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [ebp + 0x1910]
test eax, eax
je 0x1000ef06
dec dword [0x100e9b5c]
mov ebx, eax
push dword [0x100e9b60]
push ebx
call dword [0x100e78e0]
add esp, 8
mov dword [ebp + 0x1910], edi
mov dword [ebp + 0x190c], esi
mov eax, dword [ebp + 0x1908]
mov edi, dword [esp + 0x30]
mov ebx, dword [esp + 4]
lea ecx, [eax + 1]
mov edx, dword [ebp + 0x1910]
mov dword [ebp + 0x1908], ecx
mov dword [edx + eax*4], edi
mov eax, dword [0x100e9750]
mov dword [eax + 0x1924], edi
movss xmm0, dword [edi + 0x26c]
mulss xmm0, dword [eax + 0x1858]
movss dword [eax + 0x1868], xmm0
movss dword [eax + 0x1854], xmm0
mov ecx, dword [edi + 0x1ac]
mov edx, dword [edi + 0x1e0]
mov dword [edi + 0x1b8], edx
mov dword [edi + 0x1bc], ecx
mov ecx, dword [eax + 0x19ac]
mov dword [edi + 0x1c0], ecx
mov ecx, dword [eax + 0x197c]
mov dword [edi + 0x1c4], ecx
mov ecx, dword [eax + 0x1988]
mov dword [edi + 0x1c8], ecx
mov eax, dword [eax + 0x1994]
mov dword [edi + 0x1cc], eax
test ebx, 0x4000000
je 0x1000f0cb
mov eax, dword [ebp + 0x19a8]
mov ecx, dword [ebp + 0x19ac]
lea ecx, [ecx + ecx*8]
lea esi, [eax + ecx*4]
mov dword [eax + ecx*4 + 4], edi
mov eax, dword [ebp + 0x19ac]
cmp eax, dword [ebp + 0x19b0]
jne 0x1000f096
lea ebx, [eax + 1]
test eax, eax
je 0x1000effd
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x1000f002
mov ecx, 8
cmp ecx, ebx
cmovg ebx, ecx
cmp eax, ebx
jge 0x1000f096
lea eax, [ebx*4]
lea eax, [eax + eax*8]
inc dword [0x100e9b5c]
push dword [0x100e9b60]
push eax
call dword [0x100e78dc]
add esp, 8
mov edx, dword [ebp + 0x19b4]
xor edi, edi
test edx, edx
mov dword [esp + 0x20], eax
je 0x1000f068
mov ecx, dword [ebp + 0x19ac]
shl ecx, 2
lea ecx, [ecx + ecx*8]
push ecx
push edx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [ebp + 0x19b4]
test eax, eax
je 0x1000f068
dec dword [0x100e9b5c]
mov edi, eax
push dword [0x100e9b60]
push edi
call dword [0x100e78e0]
add esp, 8
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
mov dword [ebp + 0x19b4], eax
mov dword [ebp + 0x19b0], ebx
mov eax, dword [ebp + 0x19ac]
mov edi, dword [esp + 0x30]
mov ecx, dword [ebp + 0x19b4]
lea edx, [eax + 1]
mov dword [ebp + 0x19ac], edx
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
mov eax, dword [esi]
mov dword [edi + 0xa4], eax
mov ebx, dword [esp + 4]
mov eax, ebx
and eax, 0x1000000
mov dword [esp + 0x20], eax
cmp dword [esp + 0x60], 1
jne 0x1000f0ee
cmp dword [esp + 0x20], 0
jne 0x1000f0ee
mov dword [edi + 0x28c], 0
mov ecx, dword [ebp + 0x19b8]
test ecx, ecx
mov esi, dword [esp + 0xc8]
je 0x1000f166
mov eax, dword [edi + 0xc0]
test eax, ecx
setne cl
mov dword [esp + 0x40], ecx
je 0x1000f1d9
movsd xmm0, qword [ebp + 0x19dc]
mulps xmm0, xmm0
movaps xmm1, xmm0
shufps xmm1, xmm0, 0x55
addss xmm1, xmm0
ucomiss xmm1, dword [0x10034c10]
jbe 0x1000f170
movsd xmm0, qword [ebp + 0x19d4]
movsd qword [edi + 0xcc], xmm0
mov ecx, dword [ebp + 0x19dc]
mov edx, dword [ebp + 0x19e0]
mov dword [edi + 0xd8], edx
mov dword [edi + 0xd4], ecx
and eax, 0xfffffff1
mov dword [edi + 0xc0], eax
jmp 0x1000f1d9
mov dword [esp + 0x40], 0
jmp 0x1000f1e3
and eax, 0xfffffff1
mov dword [edi + 0xc0], eax
mov dword [edi + 0xcc], 0x7f7fffff
mov dword [edi + 0xd0], 0x7f7fffff
movsd xmm0, qword [ebp + 0x19d4]
movsd qword [edi + 0xc], xmm0
movsd xmm0, qword [ebp + 0x19d4]
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
movsd xmm1, qword [edi + 0x14]
movsd xmm2, qword [edi + 0xdc]
movlps qword [edi + 0x14], xmm0
subps xmm0, xmm1
addps xmm2, xmm0
movlps qword [edi + 0xdc], xmm2
movsd xmm1, qword [edi + 0xf4]
addps xmm1, xmm0
movlps qword [edi + 0xf4], xmm1
mov dword [ebp + 0x19b8], 0
mov ecx, dword [ebp + 0x19bc]
test ecx, ecx
je 0x1000f248
mov eax, dword [edi + 0xc4]
test eax, ecx
je 0x1000f284
xorps xmm0, xmm0
ucomiss xmm0, dword [ebp + 0x19e4]
setb cl
mov dword [esp + 0x70], ecx
ucomiss xmm0, dword [ebp + 0x19e8]
setb cl
mov dword [esp + 0x9c], ecx
and eax, 0xfffffff1
mov dword [edi + 0xc4], eax
ucomiss xmm0, dword [ebp + 0x19e4]
jae 0x1000f299
mov dword [edi + 0xa8], 0
movss xmm0, dword [ebp + 0x19e4]
movss dword [edi + 0x24], xmm0
jmp 0x1000f2aa
mov dword [esp + 0x9c], 0
mov dword [esp + 0x70], 0
cmp dword [ebp + 0x19c0], 0
jne 0x1000f2f7
cmp dword [esp + 0x88], esi
je 0x1000f38d
mov dword [edi + 0x3c], 0
lea eax, [edi + 0x40]
jmp 0x1000f387
mov dword [esp + 0x9c], 0
mov dword [esp + 0x70], 0
jmp 0x1000f2e0
mov dword [edi + 0xa8], 2
mov byte [edi + 0xb0], 0
xorps xmm0, xmm0
ucomiss xmm0, dword [ebp + 0x19e8]
jae 0x1000f2cf
mov dword [edi + 0xac], 0
movss xmm0, dword [ebp + 0x19e8]
movss dword [edi + 0x28], xmm0
jmp 0x1000f2e0
mov dword [edi + 0xac], 2
mov byte [edi + 0xb0], 0
mov dword [ebp + 0x19bc], 0
cmp dword [ebp + 0x19c0], 0
je 0x1000f268
lea eax, [ebp + 0x19c0]
mov ecx, dword [ebp + 0x19ec]
mov edx, dword [ebp + 0x19f0]
mov dword [edi + 0x40], edx
mov dword [edi + 0x3c], ecx
movd xmm0, edx
xorps xmm1, xmm1
ucomiss xmm0, xmm1
je 0x1000f387
mov ecx, dword [edi + 8]
test cl, 1
jne 0x1000f349
mov edx, dword [0x100e9750]
movss xmm2, dword [edi + 0x26c]
mulss xmm2, dword [edx + 0x1858]
movss xmm1, dword [edx + 0x1520]
addss xmm1, xmm1
addss xmm1, xmm2
xorps xmm2, xmm2
test ecx, 0x400
je 0x1000f37a
mov ecx, dword [0x100e9750]
movss xmm3, dword [edi + 0x26c]
mulss xmm3, dword [ecx + 0x1858]
movss xmm2, dword [ecx + 0x1520]
addss xmm2, xmm2
addss xmm2, xmm3
addss xmm1, xmm0
addss xmm1, xmm2
movss dword [edi + 0x40], xmm1
mov dword [eax], 0
mov ecx, dword [ebp + 0x19c4]
test ecx, ecx
je 0x1000f3c1
mov eax, dword [edi + 0xc8]
test eax, ecx
je 0x1000f3b7
movzx ecx, byte [ebp + 0x19f4]
and eax, 0xfffffff1
mov dword [edi + 0xc8], eax
mov byte [edi + 0x93], cl
mov dword [ebp + 0x19c4], 0
cmp dword [ebp + 0x19cc], 0
je 0x1000f3e7
mov eax, dword [0x100e9750]
push dword [eax + 0x1924]
call fcn.1000e730
add esp, 4
mov dword [ebp + 0x19cc], 0
cmp byte [edi + 0x96], 0
je 0x1000f40d
movsd xmm0, qword [edi + 0xc0]
andps xmm0, xmmword [0x10034c30]
movlps qword [edi + 0xc0], xmm0
and byte [edi + 0xc8], 0xf7
cmp dword [esp + 0x88], esi
jne 0x1000f445
movss xmm7, dword [edi + 0x60]
movss xmm1, dword [edi + 0x20c]
movss xmm2, dword [edi + 0x210]
movss xmm0, dword [edi + 0x214]
movss xmm4, dword [edi + 0x218]
mov eax, dword [0x100e9750]
jmp 0x100131b2
mov eax, ebx
and eax, 0x3000000
mov dword [esp + 0x11c], eax
mov eax, dword [esp + 8]
mov dword [edi + 0x274], eax
movd xmm0, edi
pshufd xmm0, xmm0, 0
movdqu xmmword [edi + 0x278], xmm0
test eax, eax
je 0x1000f496
cmp dword [esp + 0x20], 0
je 0x1000f496
cmp dword [esp + 0x11c], 0x3000000
je 0x1000f496
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x278]
mov dword [edi + 0x278], eax
cmp dword [esp + 8], 0
je 0x1000f4c5
mov eax, ebx
and eax, 0x8000000
jne 0x1000f4c5
mov eax, ebx
and eax, 0x5000000
je 0x1000f4c5
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x27c]
mov dword [edi + 0x280], eax
mov dword [edi + 0x27c], eax
test byte [edi + 0xa], 0x80
je 0x1000f4e2
mov eax, edi
nop dword [eax]
mov eax, dword [eax + 0x274]
mov dword [edi + 0x284], eax
test byte [eax + 0xa], 0x80
jne 0x1000f4d0
mov byte [edi + 0x90], 1
mov dword [edi + 0x98], 0
mov eax, dword [ebp + 0x1920]
lea ecx, [eax + 1]
mov dword [ebp + 0x1920], ecx
mov dword [edi + 0x9c], eax
mov dword [edi + 0xa0], 0
movaps xmm0, xmmword [0x10034c40]
movups xmmword [edi + 0x1ec], xmm0
mov dword [edi + 0x21c], esi
mov eax, dword [edi + 0x1e4]
test eax, eax
jg 0x1000f5cc
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 esi, 8
cmovne esi, ecx
lea eax, [esi*4]
inc dword [0x100e9b5c]
push dword [0x100e9b60]
push eax
call dword [0x100e78dc]
add esp, 8
mov ebx, eax
mov eax, dword [edi + 0x1e8]
xor ebp, ebp
test eax, eax
je 0x1000f5a4
mov ecx, dword [edi + 0x1e0]
shl ecx, 2
push ecx
push eax
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [edi + 0x1e8]
test eax, eax
je 0x1000f5a4
dec dword [0x100e9b5c]
mov ebp, eax
push dword [0x100e9b60]
push ebp
call dword [0x100e78e0]
add esp, 8
mov edi, dword [esp + 0x30]
mov dword [edi + 0x1e8], ebx
mov dword [edi + 0x1e4], esi
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 4]
mov dword [edi + 0x1e0], 1
test ebx, 0x1000000
jne 0x1000f619
mov eax, ebx
and eax, 0xc000000
xor ecx, ecx
cmp eax, 0x4000000
sete cl
shl ecx, 5
lea edx, [edi + 0x5c]
mov dword [esp + 0x154], edx
movss xmm0, dword [ecx + ebp + 0x14f4]
movss dword [edi + 0x5c], xmm0
cmp eax, 0x4000000
jne 0x1000f638
lea eax, [ebp + 0x1518]
jmp 0x1000f63e
movss xmm0, dword [ebp + 0x150c]
lea eax, [edi + 0x5c]
mov dword [esp + 0x154], eax
movss dword [edi + 0x5c], xmm0
lea eax, [ebp + 0x1510]
jmp 0x1000f63e
lea eax, [ebp + 0x14f8]
movss xmm1, dword [eax]
movss dword [edi + 0x60], xmm1
movsd xmm0, qword [ebp + 0x14ec]
movsd qword [edi + 0x54], xmm0
cmp dword [esp + 0x20], 0
je 0x1000f688
mov eax, ebx
and eax, 0x4010000
jne 0x1000f688
xorps xmm0, xmm0
ucomiss xmm1, xmm0
jne 0x1000f688
test ebx, 0x400
je 0x1000f67c
movss xmm0, dword [ebp + 0x14f0]
mov dword [edi + 0x54], 0
movss dword [edi + 0x58], xmm0
test bl, 0x21
je 0x1000f699
mov byte [edi + 0x93], 0
jmp 0x1000f7b1
movss xmm0, dword [edi + 0x18]
mov eax, dword [edi + 8]
xorps xmm1, xmm1
test al, 1
jne 0x1000f6ce
mov ecx, dword [0x100e9750]
movss xmm2, dword [edi + 0x26c]
mulss xmm2, dword [ecx + 0x1858]
movss xmm1, dword [ecx + 0x1520]
addss xmm1, xmm1
addss xmm1, xmm2
cmp byte [edi + 0x94], 0
je 0x1000f712
mov ecx, dword [0x100e9750]
xor byte [edi + 0x93], 1
test eax, 0x100
jne 0x1000f704
xorps xmm0, xmm0
ucomiss xmm0, dword [ecx + 0x297c]
jb 0x1000f704
movss xmm0, dword [ecx + 0x10]
movss dword [ecx + 0x297c], xmm0
push edi
call fcn.1000e730
add esp, 4
jmp 0x1000f7b1
cmp dword [ebp + 0x1928], edi
jne 0x1000f7b1
movss xmm2, dword [edi + 0x14]
mov ecx, dword [0x100e9750]
mov edx, dword [ecx + 0x1924]
movss xmm4, dword [edx + 0x1ec]
maxss xmm4, xmm2
movss xmm3, dword [ecx + 0x153c]
subss xmm4, xmm3
movss xmm5, dword [ecx + 0xd0]
ucomiss xmm4, xmm5
ja 0x1000f7b1
movss xmm7, dword [edx + 0x1f0]
maxss xmm7, xmm0
movss xmm4, dword [ecx + 0x1540]
subss xmm7, xmm4
movss xmm6, dword [ecx + 0xd4]
ucomiss xmm7, xmm6
ja 0x1000f7b1
addss xmm2, dword [edi + 0x24]
minss xmm2, dword [edx + 0x1f4]
addss xmm2, xmm3
ucomiss xmm5, xmm2
jae 0x1000f7b1
addss xmm1, xmm0
minss xmm1, dword [edx + 0x1f8]
addss xmm4, xmm1
ucomiss xmm6, xmm4
jae 0x1000f7b1
cmp byte [ebp + 0x3cd], 0
jne 0x1000f6dd
mov byte [edi + 0x94], 0
movss xmm0, dword [edi + 0x3c]
xorps xmm1, xmm1
ucomiss xmm1, xmm0
jne 0x1000f7d7
movss xmm0, dword [edi + 0xf4]
subss xmm0, dword [edi + 0x14]
addss xmm0, dword [edi + 0x6c]
movss xmm2, dword [edi + 0x40]
ucomiss xmm1, xmm2
movzx ecx, byte [esp + 3]
jne 0x1000f7f8
movss xmm2, dword [edi + 0xf8]
subss xmm2, dword [edi + 0x18]
addss xmm2, dword [edi + 0x70]
unpcklps xmm0, xmm2
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
movsd xmm1, qword [edi + 0x54]
addps xmm1, xmm0
movlps qword [edi + 0x34], xmm1
mov eax, dword [edi + 0xbc]
test eax, eax
jle 0x1000f81f
dec eax
mov dword [edi + 0xbc], eax
lea esi, [edi + 0x34]
test ebx, 0x6000000
setne al
and al, cl
cmp al, 1
mov dword [esp + 0xec], esi
jne 0x1000f85b
mov dword [edi + 0xbc], 1
test bl, 0x40
jne 0x1000f876
lea ecx, [esp + 0xac]
mov edx, edi
push esi
call fcn.10016460
add esp, 4
jmp 0x1000f872
lea ecx, [esp + 0xac]
mov edx, edi
push esi
call fcn.10016460
add esp, 4
test bl, 0x40
jne 0x1000f8c3
xor eax, eax
jmp 0x1000f8d2
cmp byte [esp + 0x70], 0
jne 0x1000f88b
mov dword [edi + 0x24], 0
mov dword [edi + 0x1c], 0
cmp byte [esp + 0x9c], 0
jne 0x1000f8a3
mov dword [edi + 0x28], 0
mov dword [edi + 0x20], 0
mov dword [edi + 0x34], 0
mov dword [edi + 0x38], 0
lea ecx, [esp + 0xac]
mov edx, edi
push esi
call fcn.10016460
add esp, 4
mov al, 1
cmp byte [edi + 0x93], 0
je 0x1000f9ad
cmp dword [edi + 0xa8], 0
mov dword [esp + 0xfc], eax
jle 0x1000f8f3
cmp byte [esp + 0x70], 0
je 0x1000f918
movss xmm0, dword [0x10034b10]
jmp 0x1000f934
movss xmm0, dword [0x10034b10]
cmp dword [edi + 0xac], 0
jg 0x1000f934
movss dword [esp + 0x70], xmm0
movss dword [esp + 0x9c], xmm0
jmp 0x1000fa08
cmp byte [edi + 0xb0], 0
movss xmm0, dword [esp + 0xac]
je 0x1000f92f
maxss xmm0, dword [edi + 0x24]
movss dword [edi + 0x24], xmm0
movss xmm1, dword [0x10034b10]
cmp byte [esp + 0x9c], 0
movss dword [esp + 0x70], xmm0
jne 0x1000f971
cmp dword [edi + 0xac], 0
jle 0x1000f971
cmp byte [edi + 0xb0], 0
movss xmm1, dword [esp + 0xb0]
je 0x1000f96c
maxss xmm1, dword [edi + 0x28]
movss dword [edi + 0x28], xmm1
cmp byte [edi + 0x93], 0
movss dword [esp + 0x9c], xmm1
jne 0x1000fa08
test byte [edi + 9], 1
jne 0x1000fa08
mov eax, dword [0x100e9750]
xorps xmm0, xmm0
ucomiss xmm0, dword [eax + 0x297c]
jb 0x1000fa08
movss xmm0, dword [eax + 0x10]
movss dword [eax + 0x297c], xmm0
jmp 0x1000fa08
movss xmm1, dword [0x10034b10]
movaps xmm0, xmm1
cmp byte [esp + 0x70], 0
jne 0x1000f9cd
movss xmm0, dword [esp + 0xac]
movss dword [edi + 0x24], xmm0
movss dword [esp + 0x70], xmm0
mov al, 1
mov dword [esp + 0xfc], eax
cmp byte [esp + 0x9c], 0
je 0x1000f9f1
movss dword [esp + 0x9c], xmm1
jmp 0x1000fa08
movss xmm0, dword [esp + 0xb0]
movss dword [esp + 0x9c], xmm0
movss dword [edi + 0x28], xmm0
movss xmm0, dword [edi + 0x24]
movss xmm1, dword [edi + 0x28]
lea esi, [esp + 0x44]
mov ecx, esi
mov edx, edi
call fcn.10016530
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
mov dword [edi + 0x28], ecx
mov dword [edi + 0x24], eax
movzx edx, byte [edi + 0x93]
test dl, dl
je 0x1000fa97
cmp dword [esp + 0x20], 0
jne 0x1000fa97
xorps xmm0, xmm0
test byte [edi + 8], 1
movzx ecx, byte [esp + 3]
jne 0x1000fa78
mov ecx, dword [0x100e9750]
movss xmm1, dword [edi + 0x26c]
mulss xmm1, dword [ecx + 0x1858]
movss xmm0, dword [ecx + 0x1520]
movzx ecx, byte [esp + 3]
addss xmm0, xmm0
addss xmm0, xmm1
lea edx, [edi + 0x1c]
mov dword [esp + 0x80], edx
mov dword [edi + 0x1c], eax
movss dword [edi + 0x20], xmm0
test cl, cl
jne 0x1000fc01
jmp 0x1000fc39
lea esi, [edi + 0x1c]
mov dword [esp + 0x80], esi
mov dword [edi + 0x1c], eax
mov dword [edi + 0x20], ecx
test dl, dl
je 0x1000fac1
movzx ecx, byte [esp + 3]
lea esi, [esp + 0x44]
test cl, cl
jne 0x1000fc01
jmp 0x1000fc39
movss xmm0, dword [0x10034b10]
xor eax, eax
movss xmm1, dword [esp + 0x70]
ucomiss xmm1, xmm0
sete al
xor ecx, ecx
movss xmm1, dword [esp + 0x9c]
ucomiss xmm1, xmm0
movss xmm1, dword [edi + eax*8 + 0x24]
sete cl
movss xmm0, dword [edi + ecx*8 + 0x28]
test ebx, 0x4000
jne 0x1000fb30
ucomiss xmm0, dword [edi + 0x38]
setb cl
test bl, 8
sete al
and al, cl
mov byte [edi + 0x85], al
test bx, bx
lea esi, [esp + 0x44]
js 0x1000fb85
mov ecx, dword [esp + 0xec]
movss xmm2, dword [ecx]
test al, al
jne 0x1000fb4b
xorps xmm3, xmm3
xor eax, eax
jmp 0x1000fb55
mov byte [edi + 0x85], 1
test bx, bx
lea esi, [esp + 0x44]
js 0x1000fbba
mov eax, dword [esp + 0xec]
movss xmm2, dword [eax]
movss xmm3, dword [ebp + 0x154c]
mov al, 1
subss xmm1, xmm3
ucomiss xmm2, xmm1
jbe 0x1000fbcd
mov ecx, ebx
and ecx, 8
jne 0x1000fbcd
mov edx, ebx
and edx, 0x800
mov ecx, edx
shr ecx, 0xb
mov byte [edi + 0x84], cl
xorps xmm1, xmm1
test edx, edx
je 0x1000fbd7
test al, al
je 0x1000fb90
jmp 0x1000fbb4
mov byte [edi + 0x84], 1
test al, al
jne 0x1000fbc3
subss xmm0, dword [ebp + 0x154c]
ucomiss xmm0, dword [edi + 0x38]
setb cl
test bl, 8
sete al
and al, cl
mov byte [edi + 0x85], al
movzx ecx, byte [edi + 0x84]
test cl, cl
jne 0x1000fbc3
jmp 0x1000fbd4
mov byte [edi + 0x84], 1
mov al, 1
movss xmm1, dword [ebp + 0x154c]
jmp 0x1000fbd7
mov byte [edi + 0x84], 0
xorps xmm1, xmm1
movzx ecx, byte [esp + 3]
test al, al
je 0x1000fbea
movss xmm0, dword [ebp + 0x154c]
jmp 0x1000fbed
xorps xmm0, xmm0
movss dword [edi + 0x88], xmm0
movss dword [edi + 0x8c], xmm1
test cl, cl
je 0x1000fc39
test ebx, 0x4000000
sete al
mov dword [edi + 0xb8], 0xffffffff
or al, byte [esp + 0x40]
jne 0x1000fc39
mov eax, dword [ebp + 0x19ac]
mov ecx, dword [ebp + 0x19b4]
lea eax, [eax + eax*8]
movq xmm0, qword [ecx + eax*4 - 0x10]
pshufd xmm0, xmm0, 0x44
movdqu xmmword [edi + 0xc], xmm0
test ebx, 0x1000000
je 0x1000fd67
mov ecx, dword [esp + 8]
mov eax, dword [ecx + 0x164]
mov dword [edi + 0x98], eax
mov eax, dword [ecx + 0x164]
cmp eax, dword [ecx + 0x168]
jne 0x1000fd1c
lea esi, [eax + 1]
test eax, eax
je 0x1000fc7b
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x1000fc80
mov ecx, 8
cmp ecx, esi
cmovg esi, ecx
cmp eax, esi
jge 0x1000fd1c
lea eax, [esi*4]
inc dword [0x100e9b5c]
push dword [0x100e9b60]
push eax
call dword [0x100e78dc]
add esp, 8
mov edi, dword [esp + 8]
mov edx, dword [edi + 0x16c]
xor ebp, ebp
test edx, edx
mov dword [esp + 0x9c], eax
je 0x1000fce7
mov ecx, dword [edi + 0x164]
shl ecx, 2
push ecx
push edx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [edi + 0x16c]
test eax, eax
je 0x1000fce7
dec dword [0x100e9b5c]
mov ebp, eax
push dword [0x100e9b60]
push ebp
call dword [0x100e78e0]
add esp, 8
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x9c]
mov dword [eax + 0x16c], ecx
mov dword [eax + 0x168], esi
mov eax, dword [eax + 0x164]
mov ebp, dword [esp + 0x1c]
mov edi, dword [esp + 0x30]
mov esi, dword [esp + 8]
mov ecx, dword [esi + 0x16c]
lea edx, [eax + 1]
mov dword [esi + 0x164], edx
mov dword [ecx + eax*4], edi
mov eax, ebx
shr eax, 0x1a
and eax, 1
or al, byte [esp + 0x40]
lea esi, [esp + 0x44]
jne 0x1000fd67
cmp dword [esp + 0x11c], 0x3000000
je 0x1000fd67
mov eax, dword [esp + 8]
movq xmm0, qword [eax + 0xdc]
pshufd xmm0, xmm0, 0x44
movdqu xmmword [edi + 0xc], xmm0
movss xmm1, dword [edi + 0xcc]
movss xmm0, dword [0x10034b10]
ucomiss xmm0, xmm1
je 0x1000fd89
cmp dword [edi + 0xbc], 0
je 0x1000feab
test ebx, 0x10000000
jne 0x1000fdd1
test ebx, 0x4000000
sete al
or al, byte [esp + 0x40]
jne 0x1000ffaa
cmp dword [esp + 0x60], 1
jne 0x1000ffaa
lea edx, [edi + 0xc]
movsd xmm0, qword [edi + 0xc]
movlhps xmm0, xmm0
addps xmm0, xmmword [0x10034bb0]
movups xmmword [esp + 0x44], xmm0
lea eax, [edi + 0xb8]
jmp 0x1000ff82
mov ecx, dword [esp + 0xcc]
cmp byte [ecx + 0x15c], 0
je 0x1000ff2b
mov eax, dword [ecx + 8]
xorps xmm2, xmm2
xorps xmm1, xmm1
test al, 1
jne 0x1000fe26
mov ecx, dword [0x100e9750]
mov edx, dword [esp + 0xcc]
movss xmm3, dword [edx + 0x26c]
mulss xmm3, dword [ecx + 0x1858]
movss xmm1, dword [ecx + 0x1520]
mov ecx, dword [esp + 0xcc]
addss xmm1, xmm1
addss xmm1, xmm3
movss xmm3, dword [ecx + 0x18]
test eax, 0x400
je 0x1000fe66
mov ecx, dword [0x100e9750]
mov edx, dword [esp + 0xcc]
movss xmm4, dword [edx + 0x26c]
mulss xmm4, dword [ecx + 0x1858]
movss xmm2, dword [ecx + 0x1520]
mov ecx, dword [esp + 0xcc]
addss xmm2, xmm2
addss xmm2, xmm4
addss xmm1, xmm3
xorps xmm4, xmm4
test al, 1
jne 0x1000fe96
mov eax, dword [0x100e9750]
movss xmm5, dword [ecx + 0x26c]
mulss xmm5, dword [eax + 0x1858]
movss xmm4, dword [eax + 0x1520]
addss xmm4, xmm4
addss xmm4, xmm5
addss xmm1, xmm2
addss xmm4, xmm3
movss xmm2, dword [0x10034bdc]
jmp 0x1000ff61
movsd xmm0, qword [edi + 0x14]
movsd xmm2, qword [edi + 0x24]
movsd xmm3, qword [edi + 0xd4]
mulps xmm3, xmm2
movss xmm2, dword [edi + 0xd0]
unpcklps xmm1, xmm2
subps xmm1, xmm3
movsd xmm2, qword [ebp + 0x156c]
maxps xmm2, xmm1
and dword [edi + 0xc0], 0xfffffff1
mov dword [edi + 0xcc], 0x7f7fffff
mov dword [edi + 0xd0], 0x7f7fffff
cvttps2dq xmm1, xmm2
cvtdq2ps xmm1, xmm1
movlhps xmm2, xmm1
movups xmmword [edi + 0xc], xmm2
subps xmm1, xmm0
movsd xmm0, qword [edi + 0xdc]
addps xmm0, xmm1
movlps qword [edi + 0xdc], xmm0
movsd xmm0, qword [edi + 0xf4]
addps xmm0, xmm1
movlps qword [edi + 0xf4], xmm0
jmp 0x1000ffaa
movss xmm1, dword [ebp + 0x152c]
movss xmm2, dword [ecx + 0x14]
movss xmm0, dword [ecx + 0x1c]
addss xmm0, xmm2
addss xmm2, xmm1
addss xmm1, dword [ecx + 0x88]
subss xmm0, xmm1
movss xmm1, dword [0x10034b10]
movss xmm4, dword [0x10034bdc]
movss dword [esp + 0x44], xmm2
movss dword [esp + 0x48], xmm4
movss dword [esp + 0x4c], xmm0
movss dword [esp + 0x50], xmm1
lea eax, [edi + 0xb8]
lea edx, [edi + 0xc]
lea ecx, [esp + 0xb4]
push 0
push esi
push eax
push dword [esp + 0x8c]
call fcn.100166b0
add esp, 0x10
movsd xmm0, qword [esp + 0xb4]
movsd qword [edi + 0xc], xmm0
test ebx, 0x2000000
sete al
or al, byte [esp + 0x40]
jne 0x10010087
cmp dword [esp + 0x11c], 0x3000000
je 0x10010087
movss xmm0, dword [ebp + 0x1574]
cmp byte [ebp + 0x1a72], 0
je 0x1001072e
mov eax, dword [ebp + 0xd0]
mov ecx, dword [ebp + 0xd4]
movsd xmm2, qword [ebp + 0xd0]
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], ecx
mulss xmm0, dword [0x10034c60]
shufps xmm0, xmm0, 0
addps xmm0, xmm2
movups xmmword [esp + 0x20], xmm2
movaps xmm1, xmmword [0x10034c70]
addps xmm1, xmm2
movlhps xmm1, xmm0
movups xmmword [esp + 0x44], xmm1
lea eax, [edi + 0xb8]
lea ecx, [esp + 0xc]
lea edx, [esp + 0xb4]
push 0
push esi
push eax
push dword [esp + 0x8c]
call fcn.100166b0
add esp, 0x10
movsd xmm0, qword [esp + 0xc]
movsd qword [edi + 0xc], xmm0
cmp dword [edi + 0xb8], 0xffffffff
jne 0x10010080
movss xmm0, dword [esp + 0xb4]
movups xmm1, xmmword [esp + 0x20]
movss xmm1, xmm0
addps xmm1, xmmword [0x10034c80]
movlps qword [edi + 0xc], xmm1
mov al, 1
jmp 0x1001010f
mov ecx, dword [esp + 0x20]
shr ecx, 0x18
mov eax, ebx
shr eax, 0x19
and eax, 1
or cl, al
or cl, byte [esp + 0x40]
jne 0x1001010f
cmp dword [edi + 0xa8], 0
jg 0x1001010d
cmp dword [edi + 0xac], 0
jg 0x1001010d
xorps xmm0, xmm0
ucomiss xmm0, dword [ebp + 4]
jae 0x1001010d
ucomiss xmm0, dword [ebp + 8]
jae 0x1001010d
movsd xmm1, qword [ebp + 0x1564]
movsd xmm0, qword [ebp + 0x156c]
maxps xmm0, xmm1
movss xmm1, dword [edi + 0xc]
movss xmm2, dword [edi + 0x10]
movss xmm3, dword [edi + 0x20]
unpcklps xmm1, xmm3
movss xmm3, dword [edi + 0x1c]
unpcklps xmm3, xmm2
addps xmm3, xmm1
maxps xmm3, xmm0
movsd xmm1, qword [edi + 0x1c]
subps xmm3, xmm1
movlps qword [edi + 0xc], xmm3
movsd xmm1, qword [ebp + 4]
subps xmm1, xmm0
minps xmm1, xmm3
movlps qword [edi + 0xc], xmm1
xor eax, eax
movsd xmm0, qword [edi + 0xc]
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
movlps qword [edi + 0x14], xmm0
movss xmm0, dword [edi + 0x1c]
xorps xmm1, xmm1
ucomiss xmm1, xmm0
setae cl
mov edx, dword [esp + 0xfc]
or dl, al
or dl, cl
je 0x1001014c
movss xmm0, dword [ebp + 0x1854]
mulss xmm0, dword [0x10034c94]
jmp 0x10010154
mulss xmm0, dword [str.ff_]
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x220], xmm0
mov eax, dword [edi + 0x2c4]
mov ecx, 0x7fffffff
mov edx, 0x7fffffff
cmp eax, 0x7fffffff
je 0x1001018c
mov esi, dword [edi + 0x2b4]
cmp esi, 0xffffffff
je 0x1001018c
add eax, esi
inc eax
inc esi
cdq
idiv esi
mov dword [edi + 0x2bc], edx
mov eax, dword [edi + 0x2c8]
cmp eax, 0x7fffffff
je 0x100101b3
mov esi, dword [edi + 0x2b8]
cmp esi, 0xffffffff
je 0x100101b3
add eax, esi
inc eax
inc esi
cdq
idiv esi
mov ecx, edx
mov dword [edi + 0x2c0], ecx
mov dword [edi + 0x2b8], 0xffffffff
mov dword [edi + 0x2b4], 0xffffffff
mov dword [edi + 0x2c8], 0x7fffffff
mov dword [edi + 0x2c4], 0x7fffffff
lea ecx, [esp + 0x44]
mov edx, edi
call fcn.10016bc0
movsd xmm0, qword [esp + 0x44]
movsd qword [edi + 0x6c], xmm0
mov dword [edi + 0x74], 0x7f7fffff
mov dword [edi + 0x78], 0x7f7fffff
test ebx, 0x1000
sete al
and al, byte [esp + 3]
cmp al, 1
jne 0x10010234
mov eax, ebx
shr eax, 0x1a
and eax, 1
cmp dword [esp + 0x11c], 0
sete cl
or cl, al
mov dword [esp + 0xc4], ecx
jmp 0x1001023f
mov dword [esp + 0xc4], 0
lea eax, [edi + 0x14]
mov dword [esp + 0x84], eax
xorps xmm0, xmm0
mov eax, ebx
and eax, 0x20000
cmp eax, 1
mov eax, 2
sbb eax, 0
mov dword [esp + 0x40], eax
movups xmmword [esp + 0xb4], xmm0
movss xmm0, dword [edi + 0x5c]
addss xmm0, dword [0x10034020]
movss dword [esp + 0x9c], xmm0
movss xmm0, dword [ebp + 0x1854]
mov esi, 0xffffffff
cmp byte [edi + 0x93], 0
movups xmmword [esp + 0xcc], xmm0
jne 0x10010d25
mov eax, dword [edi + 8]
test al, 0x42
jne 0x10010d25
cmp dword [edi + 0xa8], 0
jg 0x10010d25
cmp dword [edi + 0xac], 0
jg 0x10010d25
mov ebx, dword [0x100e9750]
shr eax, 0xf
mov dword [esp + 0x194], eax
movss xmm0, dword [ebx + 0x1854]
movss xmm1, dword [0x100340c8]
mulss xmm1, xmm0
mulss xmm0, dword [0x10034c98]
addss xmm1, dword [esp + 0x9c]
maxss xmm0, xmm1
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10034c9c]
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
movups xmmword [esp + 0x12c], xmm0
push 0x1003b19c
call fcn.100196f0
add esp, 4
movss xmm0, dword [esp + 0xac]
movss dword [esp + 0x184], xmm0
movss xmm0, dword [esp + 0xb0]
movss dword [esp + 0x174], xmm0
movups xmm0, xmmword [esp + 0x12c]
shufps xmm0, xmm0, 0
movups xmmword [esp + 0x13c], xmm0
movaps xmm2, xmmword [0x10034ca0]
xor edi, edi
mov ebp, 0x10034378
movaps xmm3, xmm2
jmp 0x10010461
xor eax, eax
test dl, dl
sete al
xor eax, 0x1f
test cl, cl
mov ecx, 0x20
cmovne eax, ecx
mov edx, dword [0x100e9750]
shl eax, 4
movss xmm0, dword [edx + 0x14e8]
mulss xmm0, dword [edx + eax + 0x158c]
movss xmm1, dword [edx + eax + 0x1580]
movss xmm4, dword [0x10034020]
minss xmm1, xmm4
xorps xmm5, xmm5
maxss xmm1, xmm5
movss xmm6, dword [0x10034a00]
mulss xmm1, xmm6
movss xmm7, dword [0x100340c4]
addss xmm1, xmm7
cvttss2si ecx, xmm1
movss xmm1, dword [edx + eax + 0x1584]
minss xmm1, xmm4
maxss xmm1, xmm5
mulss xmm1, xmm6
addss xmm1, xmm7
cvttss2si esi, xmm1
movss xmm1, dword [edx + eax + 0x1588]
unpcklps xmm1, xmm0
minps xmm1, xmmword [0x10034a10]
maxps xmm1, xmmword [0x10034ad0]
mulps xmm1, xmmword [0x10034a20]
addps xmm1, xmmword [0x100340d0]
cvttps2dq xmm0, xmm1
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
or edx, eax
mov dword [esp + edi*4 + 0xb4], edx
inc edi
add ebp, 0x18
cmp dword [esp + 0x40], edi
je 0x10010840
movsd xmm4, qword [ebp - 8]
movsd xmm0, qword [ebp]
movups xmm1, xmmword [esp + 0x13c]
mulps xmm0, xmm1
mov eax, dword [esp + 0x30]
movsd xmm1, qword [eax + 0x14]
movsd xmm5, qword [eax + 0x1c]
movups xmmword [esp + 0xec], xmm4
mulps xmm5, xmm4
addps xmm5, xmm1
addps xmm0, xmm5
movaps xmm1, xmm5
movlhps xmm1, xmm0
movups xmmword [esp + 0x44], xmm1
movaps xmm1, xmm5
ucomiss xmm5, xmm0
jbe 0x100104be
movss dword [esp + 0x44], xmm0
movss dword [esp + 0x4c], xmm1
movups xmmword [esp + 0xdc], xmm0
jmp 0x100104c9
movups xmmword [esp + 0xdc], xmm1
movaps xmm1, xmm0
shufps xmm5, xmm5, 0x55
shufps xmm0, xmm0, 0x55
ucomiss xmm5, xmm0
movups xmmword [esp + 0x20], xmm2
movups xmmword [esp + 0x60], xmm3
movups xmmword [esp + 0xfc], xmm1
jbe 0x10010503
movss dword [esp + 0x48], xmm0
movups xmmword [esp + 0x70], xmm5
movss dword [esp + 0x50], xmm5
movups xmmword [esp + 0x10c], xmm0
jmp 0x10010510
movups xmmword [esp + 0x10c], xmm5
movups xmmword [esp + 0x70], xmm0
mov esi, dword [esp + 0x30]
mov ecx, esi
push edi
call fcn.10009c60
push 0x2020
lea ecx, [esp + 0x5c]
push ecx
lea ecx, [esp + 0x94]
push ecx
push eax
lea eax, [esp + 0x54]
push eax
call fcn.10017430
add esp, 0x14
movzx eax, byte [esp + 0x58]
movzx ecx, byte [esp + 0x8c]
or cl, al
jne 0x1001055c
movups xmm2, xmmword [esp + 0x20]
movups xmm3, xmmword [esp + 0x60]
jmp 0x10010704
mov ecx, edi
and ecx, 1
mov edx, 6
sub edx, ecx
mov dword [ebx + 0x1b90], edx
cmp dword [ebx + 0x1928], esi
movups xmm2, xmmword [esp + 0x20]
movups xmm3, xmmword [esp + 0x60]
jne 0x10010621
test al, al
je 0x10010621
cmp byte [ebx + 0x3cd], 0
movups xmm0, xmmword [esp + 0x70]
movups xmm4, xmmword [esp + 0xfc]
je 0x10010636
test edi, edi
jne 0x10010636
lea ecx, [esp + 0xc]
mov edx, dword [esp + 0x30]
movss xmm0, dword [esp + 0x184]
movss xmm1, dword [esp + 0x174]
call fcn.10016530
mov eax, dword [0x100e9750]
cmp dword [eax + 0x1940], 0
movsd xmm3, qword [esp + 0xc]
setne byte [eax + 0x194d]
je 0x100105f2
mov dword [eax + 0x1948], 0
mov dword [eax + 0x1940], 0
mov dword [eax + 0x1964], 0
mov byte [eax + 0x1960], 0
mov dword [eax + 0x1970], 0
movups xmm2, xmmword [esp + 0x20]
jmp 0x10010704
test al, al
movups xmm0, xmmword [esp + 0x70]
movups xmm4, xmmword [esp + 0xfc]
je 0x10010704
unpcklps xmm4, xmm0
movups xmm0, xmmword [esp + 0xdc]
movups xmm1, xmmword [esp + 0x10c]
unpcklps xmm0, xmm1
subps xmm4, xmm0
movups xmm3, xmmword [esp + 0xec]
mulps xmm4, xmm3
movsd xmm0, qword [ebx + 0xd0]
movsd xmm1, qword [ebx + 0x1968]
subps xmm0, xmm1
addps xmm0, xmm4
mov edx, dword [esp + 0x30]
movss xmm2, dword [edx + 0x1c]
movss xmm1, dword [edx + 0x20]
movaps xmm4, xmm3
cmpeqps xmm4, xmmword [0x10034ad0]
movups xmmword [esp + 0x20], xmm4
movsd xmm5, qword [edx + 0x14]
movaps xmm4, xmm5
subps xmm4, xmm0
mulps xmm4, xmm3
addps xmm4, xmm0
movaps xmm6, xmm4
movups xmmword [esp + 0x60], xmm4
movaps xmm4, xmm5
movlhps xmm1, xmm5
shufps xmm1, xmm5, 0xe2
movss xmm4, xmm2
addps xmm4, xmm1
subps xmm0, xmm4
mulps xmm0, xmm3
subps xmm4, xmm6
addps xmm4, xmm0
movaps xmm1, xmm4
movaps xmm0, xmm4
movups xmmword [esp + 0x70], xmm4
shufps xmm1, xmm4, 0x55
lea ecx, [esp + 0xc]
call fcn.10016530
movups xmm2, xmmword [esp + 0x20]
movsd xmm3, qword [esp + 0xc]
movups xmm0, xmmword [esp + 0x70]
subps xmm0, xmm3
andps xmm0, xmm2
andnps xmm2, xmmword [0x10034cb0]
orps xmm2, xmm0
movups xmm0, xmmword [esp + 0x60]
addps xmm2, xmm0
movzx ecx, byte [esp + 0x58]
movzx edx, byte [esp + 0x8c]
test edi, edi
je 0x10010379
test cl, cl
jne 0x10010379
test dl, dl
je 0x10010453
jmp 0x10010379
cmp byte [ebp + 0x1a73], 0
je 0x1000ffe3
mov eax, dword [0x100e9750]
mov ecx, dword [eax + 0x1a1c]
test ecx, ecx
je 0x10010808
mov edx, dword [eax + 0x1a68]
shl edx, 4
movsd xmm1, qword [ecx + edx + 0x294]
movsd xmm2, qword [ecx + edx + 0x29c]
movaps xmm3, xmm2
subps xmm3, xmm1
movss xmm4, dword [eax + 0x151c]
mulss xmm4, dword [0x10034b14]
movss xmm5, dword [eax + 0x1520]
unpcklps xmm4, xmm5
minps xmm4, xmm3
addps xmm1, xmm4
subps xmm2, xmm4
shufps xmm2, xmm1, 1
shufps xmm2, xmm1, 0xe2
movsd xmm1, qword [ecx + 0x14]
addps xmm1, xmm2
movss xmm2, dword [eax + 0xa4]
movss xmm3, dword [eax + 0xac]
ucomiss xmm2, xmm3
je 0x100107d5
movss xmm5, dword [eax + 0xa8]
movss xmm4, dword [eax + 0xb0]
ucomiss xmm5, xmm4
je 0x100107d5
unpcklps xmm2, xmm5
unpcklps xmm3, xmm4
jmp 0x100107dd
movsd xmm3, qword [eax + 4]
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 + 0xb4], xmm2
test byte [ebp + 0x1c], 4
jne 0x10010005
jmp 0x10010834
mov ecx, dword [eax + 0xd0]
mov edx, dword [eax + 0xd4]
movsd xmm2, qword [eax + 0xd0]
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xb8], edx
test byte [ebp + 0x1c], 4
jne 0x10010005
movaps xmm0, xmmword [0x10034c50]
jmp 0x10010011
mov dword [esp + 0x70], ebx
mov ebx, dword [esp + 0x194]
and ebx, 4
jne 0x1001088a
mov dword [esp + 0x54], 0xffffffff
mov ebp, dword [esp + 0x1c]
mov edi, dword [esp + 0x30]
mov eax, dword [0x100e9750]
mov eax, dword [eax + 0x1924]
dec dword [eax + 0x1e0]
mov ebx, dword [esp + 0x70]
cmp dword [ebx + 0x1a54], edi
je 0x10010b66
mov esi, dword [esp + 0x54]
jmp 0x10010ca9
xor esi, esi
mov dword [esp + 0x54], 0xffffffff
mov ebp, dword [esp + 0x1c]
mov edi, dword [esp + 0x30]
jmp 0x10010943
mov eax, dword [esp + 0x70]
movss xmm3, dword [eax + 0xd0]
subss xmm3, dword [eax + 0x1968]
movaps xmm1, xmm4
movss xmm1, xmm3
movaps xmm3, xmm4
subps xmm3, xmm1
movsd xmm0, qword [edi + 0x1c]
movaps xmm5, xmm2
cmpeqps xmm5, xmmword [0x10034ad0]
movups xmmword [esp + 0x20], xmm5
mulps xmm3, xmm2
addps xmm3, xmm1
movups xmmword [esp + 0x60], xmm3
addps xmm0, xmm4
subps xmm1, xmm0
mulps xmm1, xmm2
subps xmm0, xmm3
addps xmm0, xmm1
movups xmmword [esp + 0xfc], xmm0
movaps xmm1, xmm0
shufps xmm1, xmm0, 0x55
lea ecx, [esp + 0xc]
mov edx, edi
call fcn.10016530
movups xmm2, xmmword [esp + 0x20]
movsd xmm3, qword [esp + 0xc]
movups xmm0, xmmword [esp + 0xfc]
subps xmm0, xmm3
andps xmm0, xmm2
andnps xmm2, xmmword [0x10034cb0]
orps xmm2, xmm0
movups xmm0, xmmword [esp + 0x60]
addps xmm2, xmm0
mov dword [esp + 0x54], esi
inc esi
cmp ebx, esi
je 0x10010860
movups xmmword [esp + 0x60], xmm3
movups xmmword [esp + 0x20], xmm2
movss xmm1, dword [0x10034b10]
movaps xmm2, xmm1
movss xmm0, dword [0x10034bdc]
movaps xmm3, xmm0
cmp esi, 3
ja case.default.0x10010988
movss xmm2, dword [edi + 0x14]
movss xmm1, dword [edi + 0x18]
movss xmm0, dword [edi + 0x20]
addss xmm0, xmm1
movss xmm3, dword [edi + 0x1c]
addss xmm3, xmm2
jmp dword [esi*4 + 0x10034ebc]
movaps xmm0, xmm1
addss xmm0, dword [0x10034be8]
movups xmm4, xmmword [esp + 0x12c]
subss xmm3, xmm4
addss xmm2, xmm4
jmp case.default.0x10010988
movups xmm2, xmmword [esp + 0x12c]
subss xmm0, xmm2
addss xmm1, xmm2
movaps xmm2, xmm3
addss xmm2, dword [0x100341a0]
jmp case.default.0x10010988
movups xmm4, xmmword [esp + 0x12c]
subss xmm3, xmm4
movaps xmm1, xmm0
addss xmm1, dword [0x100341a0]
addss xmm2, xmm4
jmp case.default.0x10010988
movups xmm4, xmmword [esp + 0x12c]
subss xmm0, xmm4
movaps xmm3, xmm2
addss xmm3, dword [0x10034be8]
addss xmm1, xmm4
movss dword [esp + 0x44], xmm2
movss dword [esp + 0x48], xmm1
movss dword [esp + 0x4c], xmm3
movss dword [esp + 0x50], xmm0
lea eax, [esi + 4]
mov ecx, edi
push eax
call fcn.10009c60
push 0x20
lea ecx, [esp + 0x5c]
push ecx
lea ecx, [esp + 0x94]
push ecx
push eax
lea eax, [esp + 0x54]
push eax
call fcn.10017430
add esp, 0x14
cmp byte [esp + 0x8c], 0
je 0x10010a78
mov eax, dword [esp + 0x70]
movss xmm0, dword [0x10034cc0]
ucomiss xmm0, dword [eax + 0x193c]
movzx eax, byte [esp + 0x58]
jb 0x10010aa1
test al, al
jne 0x10010aa1
movups xmm2, xmmword [esp + 0x20]
movups xmm3, xmmword [esp + 0x60]
jmp 0x1001093a
cmp byte [esp + 0x58], 0
movups xmm2, xmmword [esp + 0x20]
movups xmm3, xmmword [esp + 0x60]
je 0x1001093a
mov eax, esi
and eax, 1
add eax, 3
mov ecx, dword [esp + 0x70]
mov dword [ecx + 0x1b90], eax
jmp 0x10010ac5
mov ecx, esi
and ecx, 1
add ecx, 3
mov edx, dword [esp + 0x70]
mov dword [edx + 0x1b90], ecx
test al, al
movups xmm2, xmmword [esp + 0x20]
movups xmm3, xmmword [esp + 0x60]
je 0x1001093a
mov eax, dword [esp + 0x84]
movsd xmm4, qword [eax]
xorps xmm2, xmm2
cmp esi, 3
ja case.default.0x10010ad8
jmp dword [esi*4 + 0x10034ecc]
mov eax, dword [esp + 0x70]
movss xmm1, dword [eax + 0xd4]
subss xmm1, dword [eax + 0x196c]
movlhps xmm1, xmm4
shufps xmm1, xmm4, 0xe2
jmp 0x100108bc
movaps xmm1, xmm4
jmp 0x100108bc
mov eax, dword [esp + 0x70]
movss xmm2, dword [eax + 0xd0]
addss xmm2, dword [0x10034be8]
subss xmm2, dword [eax + 0x1968]
movaps xmm1, xmm4
movss xmm1, xmm2
movss xmm2, dword [0x10034020]
jmp 0x100108bc
mov eax, dword [esp + 0x70]
movss xmm1, dword [eax + 0xd4]
addss xmm1, dword [0x10034be8]
subss xmm1, dword [eax + 0x196c]
movlhps xmm1, xmm4
shufps xmm1, xmm4, 0xe2
movaps xmm2, xmmword [0x100341f0]
jmp 0x100108bc
mov eax, dword [ebx + 0x1a64]
cmp eax, 4
movups xmmword [esp + 0x20], xmm2
je 0x10010bc0
xorps xmm4, xmm4
cmp eax, 3
jne 0x10010bf3
cmp byte [ebx + 0xea], 0
mov esi, dword [esp + 0x54]
je 0x10010bf7
sub esp, 0x14
movaps xmm0, xmmword [0x10034ce0]
movups xmmword [esp + 4], xmm0
lea eax, [esp + 0x58]
mov dword [esp], eax
movups xmmword [esp + 0x74], xmm3
call fcn.1000b1a0
movups xmm3, xmmword [esp + 0x74]
movups xmm2, xmmword [esp + 0x34]
add esp, 0x14
movsd xmm4, qword [esp + 0x44]
jmp 0x10010bf7
sub esp, 0x14
movaps xmm0, xmmword [0x10034cd0]
movups xmmword [esp + 4], xmm0
lea eax, [esp + 0x58]
mov dword [esp], eax
movups xmmword [esp + 0x74], xmm3
call fcn.1000b1a0
movups xmm3, xmmword [esp + 0x74]
movups xmm2, xmmword [esp + 0x34]
add esp, 0x14
movsd xmm4, qword [esp + 0x44]
mov esi, dword [esp + 0x54]
movaps xmm5, xmm4
shufps xmm5, xmm4, 0x55
xorps xmm0, xmm0
movaps xmm1, xmm5
cmpneqps xmm1, xmm0
cmpneqps xmm0, xmm4
orps xmm0, xmm1
movd eax, xmm0
test al, 1
je 0x10010ca9
movss xmm0, dword [ebx + 0xc]
movss xmm1, dword [ebx + 0x9c]
mulss xmm0, dword [0x10034cf0]
minss xmm1, dword [ebx + 0xa0]
mulss xmm1, xmm0
cvttps2dq xmm0, xmm1
cvtdq2ps xmm0, xmm0
mulss xmm4, xmm0
movups xmmword [esp + 0x60], xmm4
mulss xmm5, xmm0
movups xmmword [esp + 0xfc], xmm5
mov byte [ebx + 0x1a60], 0
mov byte [ebx + 0x1a73], 1
push 0x3f800000
push 0x20
call fcn.10009010
add esp, 8
mov dword [esp + 0xb4], eax
movups xmm1, xmmword [esp + 0xfc]
addss xmm1, dword [edi + 0x28]
movups xmm0, xmmword [esp + 0x60]
addss xmm0, dword [edi + 0x24]
lea ecx, [esp + 0x44]
mov edx, edi
call fcn.10016530
movups xmm2, xmmword [esp + 0x20]
movsd xmm3, qword [esp + 0x44]
ucomiss xmm3, dword [0x10034b10]
je 0x10010cda
movlps qword [edi + 0x24], xmm3
test byte [edi + 9], 1
jne 0x10010cda
mov eax, dword [0x100e9750]
xorps xmm0, xmm0
ucomiss xmm0, dword [eax + 0x297c]
jb 0x10010cda
movss xmm0, dword [eax + 0x10]
movss dword [eax + 0x297c], xmm0
ucomiss xmm2, dword [0x10034b10]
mov ebx, dword [esp + 4]
je 0x10010d19
cvttps2dq xmm0, xmm2
cvtdq2ps xmm0, xmm0
movlhps xmm0, xmm0
movups xmmword [edi + 0xc], xmm0
test byte [edi + 9], 1
jne 0x10010d19
mov eax, dword [0x100e9750]
xorps xmm0, xmm0
ucomiss xmm0, dword [eax + 0x297c]
jb 0x10010d19
movss xmm0, dword [eax + 0x10]
movss dword [eax + 0x297c], xmm0
mov eax, dword [edi + 0x24]
mov ecx, dword [edi + 0x28]
mov dword [edi + 0x20], ecx
mov dword [edi + 0x1c], eax
mov ecx, dword [edi + 0x270]
call fcn.10022280
movzx eax, byte [ebp + 0x1578]
movzx ecx, byte [ebp + 0x1579]
add ecx, ecx
or ecx, eax
mov eax, dword [edi + 0x270]
mov dword [eax + 0x24], ecx
mov ecx, dword [edi + 0x270]
mov eax, dword [ebp + 0x1850]
push dword [eax + 0x44]
call fcn.10022950
mov eax, dword [0x100e9750]
movss xmm0, dword [eax + 0xa4]
ucomiss xmm0, dword [eax + 0xac]
je 0x10010dc5
movss xmm0, dword [eax + 0xa8]
ucomiss xmm0, dword [eax + 0xb0]
je 0x10010dc5
movdqu xmm2, xmmword [eax + 0xa4]
movdqu xmmword [esp + 0x44], 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
jmp 0x10010de5
xorps xmm0, xmm0
movlps qword [esp + 0x44], xmm0
movsd xmm0, qword [eax + 4]
movsd qword [esp + 0x4c], xmm0
movaps xmm1, xmm0
shufps xmm1, xmm0, 0x55
xorps xmm2, xmm2
xorps xmm3, xmm3
mov edx, dword [esp + 8]
mov dword [esp + 0x54], esi
test ebx, 0x1000000
je 0x10010e35
mov ecx, ebx
and ecx, 0x4000000
jne 0x10010e35
cmp dword [esp + 0x11c], 0x3000000
je 0x10010e35
mov ecx, dword [eax + 0x1924]
mov byte [ecx + 0x92], 1
mov esi, dword [eax + 0x1924]
mov ecx, dword [esi + 0x270]
movups xmm0, xmmword [edx + 0x1ec]
sub esp, 0x14
movups xmmword [esp], xmm0
jmp 0x10010e68
mov ecx, dword [eax + 0x1924]
mov byte [ecx + 0x92], 1
mov esi, dword [eax + 0x1924]
mov ecx, dword [esi + 0x270]
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.10022730
mov eax, dword [esi + 0x270]
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 + 0x1ec], xmm2
movd dword [esi + 0x1f0], xmm1
movss dword [esi + 0x1f4], xmm3
movd dword [esi + 0x1f8], xmm0
mov ebx, dword [esp + 4]
test ebx, 0x8000000
mov edi, dword [esp + 0x30]
je 0x10010f21
mov eax, dword [0x100e9750]
mov edx, dword [eax + 0x19a0]
test edx, edx
jle 0x10011083
mov esi, dword [eax + 0x19a8]
lea ecx, [edx + 1]
lea edx, [edx + edx*8]
lea edx, [esi + edx*4]
add edx, 0xffffffe0
jmp 0x10010f0d
dec ecx
add edx, 0xffffffdc
cmp ecx, 1
jbe 0x10011083
mov esi, dword [edx]
test esi, esi
je 0x10010f00
test byte [esi + 0xb], 8
je 0x10010f00
cmp edi, esi
je 0x1001108d
cmp dword [ebp + 0x1a54], edi
jne 0x10011168
movsd xmm1, qword [edi + 0x14]
movss xmm2, dword [ebp + 0x1854]
shufps xmm2, xmm2, 0
movaps xmm0, xmm1
subps xmm0, xmm2
movlps qword [esp + 0xc], xmm0
movsd xmm3, qword [edi + 0x1c]
addps xmm3, xmm1
addps xmm3, xmm2
movlps qword [esp + 0x14], xmm3
movups xmm1, xmmword [esp + 0x44]
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 0x10011168
lea eax, [esp + 0x14]
mov ecx, dword [edi + 0x270]
movss xmm1, dword [ebp + 0x1a5c]
mulss xmm1, dword [0x10034cf4]
mov edx, dword [0x100e9750]
mulss xmm1, dword [edx + 0x184c]
mulss xmm1, dword [edx + 0x14e8]
movd xmm0, dword [ebp + 0x14f4]
movss xmm2, dword [0x10034020]
movss xmm3, dword [edx + 0x1840]
minss xmm3, xmm2
xorps xmm4, xmm4
maxss xmm3, xmm4
movss xmm5, dword [0x10034a00]
mulss xmm3, xmm5
movss xmm6, dword [0x100340c4]
addss xmm3, xmm6
cvttss2si edi, xmm3
minss xmm2, dword [edx + 0x1844]
maxss xmm2, xmm4
mulss xmm2, xmm5
addss xmm2, xmm6
cvttss2si esi, xmm2
shl esi, 8
movss xmm2, dword [edx + 0x1848]
unpcklps xmm2, xmm1
minps xmm2, xmmword [0x10034a10]
xorps xmm1, xmm1
maxps xmm1, xmm2
mulps xmm1, xmmword [0x10034a20]
or esi, edi
mov edi, dword [esp + 0x30]
addps xmm1, xmmword [0x100340d0]
cvttps2dq xmm1, xmm1
movdqa xmm2, xmm1
pslld xmm2, 0x18
pslld xmm1, 0x10
movd edx, xmm1
or edx, esi
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 + 0x20]
mov dword [esp], eax
mov dword [esp + 8], esi
mov dword [esp + 0x10], 0xf
call fcn.10024860
jmp 0x10011168
xor esi, esi
cmp edi, esi
jne 0x10010f21
movss xmm0, dword [eax + 0x181c]
mulss xmm0, dword [ebp + 0x1b18]
mulss xmm0, dword [eax + 0x14e8]
movss xmm1, dword [0x10034020]
movss xmm2, dword [eax + 0x1810]
minss xmm2, xmm1
xorps xmm3, xmm3
maxss xmm2, xmm3
movss xmm4, dword [0x10034a00]
mulss xmm2, xmm4
movss xmm5, dword [0x100340c4]
addss xmm2, xmm5
cvttss2si esi, xmm2
minss xmm1, dword [eax + 0x1814]
mov ecx, dword [edi + 0x270]
maxss xmm1, xmm3
mulss xmm1, xmm4
addss xmm1, xmm5
cvttss2si edx, xmm1
shl edx, 8
or edx, esi
movss xmm1, dword [eax + 0x1818]
unpcklps xmm1, xmm0
minps xmm1, xmmword [0x10034a10]
xorps xmm0, xmm0
maxps xmm0, xmm1
mulps xmm0, xmmword [0x10034a20]
addps xmm0, xmmword [0x100340d0]
cvttps2dq xmm0, xmm0
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 + 0x4c]
push 0xf
push 0
push edx
push eax
lea eax, [esp + 0x54]
push eax
call fcn.10024860
cmp dword [ebp + 0x1a54], edi
je 0x10010f2d
mov cl, 1
cmp byte [esp + 0xc4], 0
jne 0x10011191
mov eax, dword [ebp + 0x1a1c]
test eax, eax
je 0x1001118f
mov ecx, dword [edi + 0x27c]
cmp ecx, dword [eax + 0x27c]
sete cl
jmp 0x10011191
xor ecx, ecx
lea eax, [edi + 0x60]
mov dword [esp + 0x12c], eax
movss xmm0, dword [edi + 0x18]
movups xmmword [esp + 0x10c], xmm0
mov eax, dword [edi + 8]
pxor xmm1, xmm1
test al, 1
jne 0x100111d9
mov edx, dword [0x100e9750]
movss xmm0, dword [edi + 0x26c]
mulss xmm0, dword [edx + 0x1858]
movss xmm1, dword [edx + 0x1520]
addss xmm1, xmm1
addss xmm1, xmm0
mov edx, dword [esp + 0x154]
movss xmm0, dword [edx]
movss dword [esp + 0x60], xmm0
mov edx, dword [esp + 0x12c]
movss xmm2, dword [edx]
addss xmm1, dword [esp + 0x10c]
movss dword [esp + 0xdc], xmm1
movss xmm1, dword [edi + 0x14]
movss xmm0, dword [edi + 0x24]
movups xmmword [esp + 0xec], xmm1
addss xmm0, xmm1
movss dword [esp + 0x13c], xmm0
cmp byte [edi + 0x93], 0
je 0x10011385
movss xmm0, dword [ebp + 0x1528]
movss dword [esp + 0x20], xmm0
movss dword [ebp + 0x1528], xmm2
mov eax, 0xc
test cl, cl
je 0x1001125c
cmp byte [ebp + 0x1a72], 1
sbb eax, 0
mov ecx, dword [0x100e9750]
shl eax, 4
movss xmm0, dword [ecx + 0x14e8]
mulss xmm0, dword [ecx + eax + 0x158c]
movss xmm1, dword [0x10034020]
movss xmm2, dword [ecx + eax + 0x1580]
minss xmm2, xmm1
xorps xmm3, xmm3
maxss xmm2, xmm3
movss xmm4, dword [0x10034a00]
mulss xmm2, xmm4
movss xmm5, dword [0x100340c4]
addss xmm2, xmm5
cvttss2si esi, xmm2
minss xmm1, dword [ecx + eax + 0x1584]
maxss xmm1, xmm3
mulss xmm1, xmm4
addss xmm1, xmm5
cvttss2si edx, xmm1
shl edx, 8
movss xmm1, dword [ecx + eax + 0x1588]
unpcklps xmm1, xmm0
minps xmm1, xmmword [0x10034a10]
xorps xmm0, xmm0
maxps xmm0, xmm1
mulps xmm0, xmmword [0x10034a20]
or edx, esi
addps xmm0, xmmword [0x100340d0]
cvttps2dq xmm0, xmm0
movdqa xmm1, xmm0
pslld xmm1, 0x18
pslld xmm0, 0x10
movd eax, xmm0
or eax, edx
pshufd xmm0, xmm1, 0x55
movd ecx, xmm0
or ecx, eax
sub esp, 0x1c
movss xmm0, dword [esp + 0x7c]
movss dword [esp + 0x18], xmm0
movss xmm0, dword [esp + 0xf8]
movss dword [esp + 0xc], xmm0
movss xmm0, dword [esp + 0x158]
movss dword [esp + 8], xmm0
movups xmm0, xmmword [esp + 0x128]
movss dword [esp + 4], xmm0
movups xmm0, xmmword [esp + 0x108]
movss dword [esp], xmm0
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], 1
call fcn.10014ce0
add esp, 0x1c
movss xmm0, dword [esp + 0x20]
movss dword [ebp + 0x1528], xmm0
jmp 0x10012293
movups xmmword [esp + 0x11c], xmm2
xor edx, edx
test ebx, 0x1000000
sete dl
xor edx, 3
test ebx, 0x6000000
mov ecx, 4
cmove ecx, edx
mov edx, dword [0x100e9750]
shl ecx, 4
movss xmm3, dword [0x10034020]
movss xmm1, dword [edx + ecx + 0x1580]
minss xmm1, xmm3
xorps xmm0, xmm0
maxss xmm1, xmm0
movss xmm4, dword [0x10034a00]
mulss xmm1, xmm4
movss xmm5, dword [0x100340c4]
addss xmm1, xmm5
cvttss2si esi, xmm1
movsd xmm1, qword [edx + ecx + 0x1584]
minps xmm1, xmmword [0x10034a10]
xorps xmm2, xmm2
maxps xmm2, xmm1
mulps xmm2, xmmword [0x10034a20]
addps xmm2, xmmword [0x100340d0]
cvttps2dq xmm1, xmm2
movdqa xmm2, xmm1
pslld xmm2, 0x10
pslld xmm1, 8
movd ebx, xmm1
or ebx, esi
pshufd xmm1, xmm2, 0x55
movd edi, xmm1
or edi, ebx
cmp dword [ebp + 0x19d0], 0
mov dword [esp + 0x20], edx
je 0x10011489
movss xmm1, dword [ebp + 0x1a10]
minss xmm1, dword [0x10034020]
maxss xmm1, xmm0
mulss xmm1, dword [0x10034a00]
addss xmm1, dword [0x100340c4]
and edi, 0xffffff
cvttss2si esi, xmm1
shl esi, 0x18
or esi, edi
mov dword [ebp + 0x19d0], 0
mov edi, dword [esp + 0x30]
movq xmm1, qword [edi + 0x14]
mov eax, dword [edi + 8]
jmp 0x100114cd
movss xmm1, dword [edx + 0x14e8]
mulss xmm1, dword [edx + ecx + 0x158c]
minss xmm1, xmm3
maxss xmm1, xmm0
mulss xmm1, xmm4
addss xmm1, xmm5
cvttss2si esi, xmm1
shl esi, 0x18
or esi, edi
movdqu xmm1, xmmword [esp + 0xec]
movdqu xmm2, xmmword [esp + 0x10c]
punpckldq xmm1, xmm2
mov edi, dword [esp + 0x30]
movss xmm4, dword [0x100340c8]
movups xmm3, xmmword [esp + 0xcc]
mulss xmm4, xmm3
mov edx, dword [esp + 4]
and edx, 1
mov ecx, dword [edi + 0x270]
mov ebx, edi
mov dword [esp + 0x14c], edx
lea edi, [edx + edx*2]
or edi, 0xc
movsd xmm2, qword [ebx + 0x1c]
addps xmm2, xmm1
movlps qword [esp + 0xc], xmm2
test al, 1
jne 0x10011536
mov eax, dword [esp + 0x30]
movss xmm2, dword [eax + 0x26c]
mov eax, dword [esp + 0x20]
mulss xmm2, dword [eax + 0x1858]
movss xmm0, dword [eax + 0x1520]
addss xmm0, xmm0
addss xmm0, xmm2
addss xmm4, dword [esp + 0x9c]
movss dword [esp + 0x20], xmm4
mulss xmm3, dword [0x10034c98]
movups xmmword [esp + 0xcc], xmm3
movaps xmm2, xmm1
shufps xmm2, xmm1, 0x55
addss xmm2, xmm0
movss dword [esp + 0x8c], xmm1
movss dword [esp + 0x90], xmm2
sub esp, 0x14
mov dword [esp + 0x10], edi
movss xmm0, dword [esp + 0x74]
movss dword [esp + 0xc], xmm0
mov dword [esp + 8], esi
lea eax, [esp + 0x20]
mov dword [esp + 4], eax
lea eax, [esp + 0xa0]
mov dword [esp], eax
call fcn.10024860
mov ebx, dword [esp + 4]
test bl, 1
jne 0x10011763
mov ecx, dword [0x100e9750]
movss xmm0, dword [ecx + 0x14e8]
movss xmm2, dword [ecx + 0x1630]
movss xmm1, dword [0x10034020]
minss xmm2, xmm1
xorps xmm6, xmm6
maxss xmm2, xmm6
movss xmm5, dword [0x10034a00]
mulss xmm2, xmm5
movss xmm4, dword [0x100340c4]
addss xmm2, xmm4
cvttss2si eax, xmm2
movss xmm2, dword [ecx + 0x163c]
movss xmm3, dword [ecx + 0x1634]
minss xmm3, xmm1
maxss xmm3, xmm6
mulss xmm3, xmm5
addss xmm3, xmm4
cvttss2si edx, xmm3
mulss xmm2, xmm0
movss xmm6, dword [ecx + 0x1638]
unpcklps xmm6, xmm2
minps xmm6, xmmword [0x10034a10]
xorps xmm2, xmm2
maxps xmm6, xmm2
mulps xmm6, xmmword [0x10034a20]
movaps xmm3, xmmword [0x100340d0]
addps xmm6, xmm3
cvttps2dq xmm7, xmm6
movdqa xmm6, xmm7
pslld xmm7, 0x10
movd esi, xmm7
movss xmm7, dword [ecx + 0x1620]
minss xmm7, xmm1
xorps xmm2, xmm2
maxss xmm7, xmm2
mulss xmm7, xmm5
addss xmm7, xmm4
cvttss2si ebx, xmm7
pslld xmm6, 0x18
pshufd xmm6, xmm6, 0x55
movd edi, xmm6
movss xmm6, dword [ecx + 0x1624]
minss xmm6, xmm1
maxss xmm6, xmm2
mulss xmm0, dword [ecx + 0x162c]
mulss xmm6, xmm5
addss xmm6, xmm4
cvttss2si ebp, xmm6
movss xmm1, dword [ecx + 0x1628]
unpcklps xmm1, xmm0
minps xmm1, xmmword [0x10034a10]
maxps xmm1, xmmword [0x10034ad0]
mulps xmm1, xmmword [0x10034a20]
addps xmm1, xmm3
cvttps2dq xmm0, xmm1
movdqa xmm1, xmm0
pslld xmm0, 0x10
movd ecx, xmm0
shl edx, 8
or edx, eax
pslld xmm1, 0x18
pshufd xmm0, xmm1, 0x55
movd eax, xmm0
or esi, edx
or edi, esi
shl ebp, 8
or ebp, ebx
mov ebx, dword [esp + 4]
mov edx, dword [esp + 0x30]
mov edx, dword [edx + 0x270]
or ecx, ebp
mov ebp, dword [esp + 0x1c]
or eax, ecx
movss xmm0, dword [esp + 0x13c]
movss dword [esp + 0xc], xmm0
movss xmm0, dword [esp + 0xdc]
movss dword [esp + 0x10], xmm0
movups xmm0, xmmword [esp + 0xec]
movss dword [esp + 0x8c], xmm0
movups xmm0, xmmword [esp + 0x10c]
movss dword [esp + 0x90], xmm0
mov ecx, edx
push edi
push edi
push eax
push eax
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0xa0]
push eax
call fcn.10024a10
movups xmm0, xmmword [esp + 0xcc]
maxss xmm0, dword [esp + 0x20]
test ebx, 0x400
mov edi, dword [esp + 0x30]
je 0x10011a62
movups xmmword [esp + 0xcc], xmm0
mov ecx, dword [edi + 8]
xorps xmm2, xmm2
xorps xmm0, xmm0
test cl, 1
jne 0x100117bc
mov eax, dword [0x100e9750]
movss xmm1, dword [edi + 0x26c]
mulss xmm1, dword [eax + 0x1858]
movss xmm0, dword [eax + 0x1520]
addss xmm0, xmm0
addss xmm0, xmm1
movss xmm1, dword [edi + 0x18]
mov eax, dword [0x100e9750]
test ecx, 0x400
je 0x100117ee
movss xmm3, dword [edi + 0x26c]
mulss xmm3, dword [eax + 0x1858]
movss xmm2, dword [eax + 0x1520]
addss xmm2, xmm2
addss xmm2, xmm3
addss xmm0, xmm1
movaps xmm5, xmm0
maxss xmm5, xmm1
movss xmm3, dword [edi + 0x1c]
movss xmm4, dword [edi + 0x24]
unpcklps xmm4, xmm2
movss dword [esp + 0x10], xmm5
movss xmm2, dword [edi + 0x14]
movss xmm5, dword [edi + 0x20]
movaps xmm6, xmm2
movss dword [esp + 0xc], xmm2
unpcklps xmm2, xmm0
lea edx, [esp + 0x14]
addps xmm2, xmm4
unpcklps xmm6, xmm5
unpcklps xmm3, xmm1
addps xmm3, xmm6
minps xmm3, xmm2
movlps qword [esp + 0x14], xmm3
mov ecx, dword [edi + 0x270]
xorps xmm4, xmm4
movss xmm0, dword [esp + 0x60]
test bl, 1
jne 0x10011851
xorps xmm0, xmm0
movss xmm1, dword [eax + 0x14e8]
mulss xmm1, dword [eax + 0x165c]
movss xmm2, dword [eax + 0x1650]
movss xmm3, dword [0x10034020]
minss xmm2, xmm3
maxss xmm2, xmm4
xorps xmm6, xmm6
movss xmm4, dword [0x10034a00]
mulss xmm2, xmm4
movss xmm5, dword [0x100340c4]
addss xmm2, xmm5
cvttss2si esi, xmm2
movss xmm2, dword [eax + 0x1654]
minss xmm2, xmm3
maxss xmm2, xmm6
mulss xmm2, xmm4
addss xmm2, xmm5
cvttss2si edi, xmm2
shl edi, 8
movss xmm2, dword [eax + 0x1658]
unpcklps xmm2, xmm1
minps xmm2, xmmword [0x10034a10]
xorps xmm1, xmm1
maxps xmm1, xmm2
mulps xmm1, xmmword [0x10034a20]
or edi, esi
addps xmm1, xmmword [0x100340d0]
cvttps2dq xmm1, xmm1
movdqa xmm2, xmm1
pslld xmm2, 0x18
pslld xmm1, 0x10
movd eax, xmm1
or eax, edi
pshufd xmm1, xmm2, 0x55
movd esi, xmm1
or esi, eax
sub esp, 0x14
movss dword [esp + 0xc], xmm0
mov dword [esp + 4], edx
lea eax, [esp + 0x20]
mov dword [esp], eax
mov dword [esp + 8], esi
mov dword [esp + 0x10], 3
call fcn.10024860
movss xmm0, dword [ebp + 0x1528]
pxor xmm1, xmm1
ucomiss xmm1, xmm0
mov edi, dword [esp + 0x30]
jae 0x10011a5a
movss xmm1, dword [esp + 0x18]
movss xmm2, dword [edi + 0x20]
addss xmm2, dword [edi + 0x18]
ucomiss xmm2, xmm1
jbe 0x10011a5a
mov ecx, dword [edi + 0x270]
mov eax, dword [0x100e9750]
movss xmm2, dword [eax + 0x14e8]
mulss xmm2, dword [eax + 0x15dc]
movss xmm3, dword [eax + 0x15d0]
movss xmm5, dword [0x10034020]
minss xmm3, xmm5
xorps xmm4, xmm4
maxss xmm3, xmm4
movss xmm6, dword [0x10034a00]
mulss xmm3, xmm6
movss xmm7, dword [0x100340c4]
addss xmm3, xmm7
cvttss2si esi, xmm3
movss xmm3, dword [eax + 0x15d4]
minss xmm3, xmm5
maxss xmm3, xmm4
mulss xmm3, xmm6
addss xmm3, xmm7
cvttss2si edx, xmm3
shl edx, 8
or edx, esi
movss xmm3, dword [eax + 0x15d8]
unpcklps xmm3, xmm2
minps xmm3, xmmword [0x10034a10]
xorps xmm2, xmm2
maxps xmm2, xmm3
mulps xmm2, xmmword [0x10034a20]
addps xmm2, xmmword [0x100340d0]
cvttps2dq xmm2, xmm2
movdqa xmm3, xmm2
pslld xmm3, 0x18
pslld xmm2, 0x10
movd eax, xmm2
or eax, edx
pshufd xmm2, xmm3, 0x55
movd edx, xmm2
or edx, eax
movsd xmm2, qword [esp + 0x14]
movsd qword [esp + 0x8c], xmm2
movss xmm2, dword [esp + 0xc]
movss dword [esp + 0x58], xmm2
movss dword [esp + 0x5c], xmm1
sub esp, 0x10
movss dword [esp + 0xc], xmm0
lea eax, [esp + 0x9c]
mov dword [esp + 4], eax
lea eax, [esp + 0x68]
mov dword [esp], eax
mov dword [esp + 8], edx
call fcn.10024590
movups xmm0, xmmword [esp + 0xcc]
cvttps2dq xmm0, xmm0
cmp byte [edi + 0x84], 0
je 0x10011a83
push 1
movups xmmword [esp + 0x24], xmm0
call fcn.10016ce0
movups xmm0, xmmword [esp + 0x24]
add esp, 4
cvtdq2ps xmm0, xmm0
movups xmmword [esp + 0x164], xmm0
cmp byte [edi + 0x85], 0
je 0x10011aa1
push 0
call fcn.10016ce0
add esp, 4
test bl, 2
movups xmm0, xmmword [esp + 0x11c]
jne 0x10011e52
movaps xmm2, xmm0
addss xmm2, dword [esp + 0x60]
movaps xmm3, xmm0
movups xmm1, xmmword [esp + 0x164]
unpcklps xmm3, xmm1
movups xmmword [esp + 0x9c], xmm3
unpcklps xmm1, xmm0
movups xmmword [esp + 0x70], xmm1
shufps xmm2, xmm2, 0
movups xmmword [esp + 0xcc], xmm2
xor eax, eax
mov esi, 0x10034384
jmp 0x10011bd8
push dword [0x100e9b60]
push edi
call dword [0x100e78e0]
add esp, 8
mov eax, dword [esp + 0x174]
mov dword [ebx + 0x5c], eax
mov dword [ebx + 0x58], ebp
mov eax, dword [ebx + 0x54]
mov edi, dword [esp + 0x30]
movups xmm2, xmmword [esp + 0x154]
movups xmm3, xmmword [esp + 0xfc]
movdqu xmm4, xmmword [esp + 0x184]
mulps xmm4, xmm3
addps xmm4, xmm2
mov ecx, dword [ebx + 0x5c]
lea edx, [eax + 1]
mov dword [ebx + 0x54], edx
movlps qword [ecx + eax*8], xmm4
mov ecx, dword [edi + 0x270]
mov eax, dword [esi - 4]
mov edx, dword [esi]
movups xmm0, xmmword [esp + 0xcc]
mulps xmm3, xmm0
addps xmm3, xmm2
movlps qword [esp + 0xc], xmm3
sub esp, 0x10
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
movss xmm0, dword [esp + 0x70]
movss dword [esp + 4], xmm0
lea eax, [esp + 0x1c]
mov dword [esp], eax
call fcn.10023ce0
mov edi, dword [edi + 0x270]
mov ecx, edi
mov ebx, dword [esp + 0x20]
push dword [esp + ebx*4 + 0xb4]
push dword [edi + 0x54]
push dword [edi + 0x5c]
call fcn.10023880
cmp dword [edi + 0x58], 0
js 0x10011c20
mov dword [edi + 0x54], 0
inc ebx
add esi, 0x18
cmp dword [esp + 0x40], ebx
mov edi, dword [esp + 0x30]
movups xmm0, xmmword [esp + 0x11c]
mov eax, ebx
je 0x10011e52
mov ebp, dword [edi + 0x270]
xor ebx, ebx
mov dword [esp + 0x20], eax
test al, 1
sete dl
movsd xmm0, qword [edi + 0x14]
movsd xmm1, qword [edi + 0x1c]
movsd xmm2, qword [esi - 0x14]
movsd xmm3, qword [esi - 0xc]
mov eax, dword [ebp + 0x54]
cmp eax, dword [ebp + 0x58]
jne 0x10011d55
lea edi, [eax + 1]
test eax, eax
je 0x10011c85
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x10011c8a
inc dword [0x100e9b5c]
push dword [0x100e9b60]
push 0
call dword [0x100e78dc]
add esp, 8
mov ebp, eax
mov eax, dword [edi + 0x5c]
xor ebx, ebx
test eax, eax
je 0x10011c62
mov ecx, dword [edi + 0x54]
shl ecx, 3
push ecx
push eax
push ebp
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [edi + 0x5c]
test eax, eax
je 0x10011c62
dec dword [0x100e9b5c]
mov ebx, eax
push dword [0x100e9b60]
push ebx
call dword [0x100e78e0]
add esp, 8
mov dword [edi + 0x5c], ebp
mov dword [edi + 0x58], 0
mov ebx, dword [esp + 0x20]
jmp 0x10011bb5
mov ecx, 8
cmp ecx, edi
cmovg edi, ecx
cmp eax, edi
jge 0x10011d55
movups xmmword [esp + 0x194], xmm1
movups xmmword [esp + 0x174], xmm0
mov byte [esp + 0x184], dl
movups xmmword [esp + 0xfc], xmm3
movups xmmword [esp + 0x154], xmm2
lea eax, [edi*8]
inc dword [0x100e9b5c]
push dword [0x100e9b60]
push eax
call dword [0x100e78dc]
add esp, 8
mov edx, dword [ebp + 0x5c]
xor ecx, ecx
test edx, edx
mov dword [esp + 0x150], eax
je 0x10011d0d
mov ecx, dword [ebp + 0x54]
shl ecx, 3
push ecx
push edx
push eax
call sub.VCRUNTIME140.dll_memcpy
xor ecx, ecx
add esp, 0xc
mov eax, dword [ebp + 0x5c]
test eax, eax
je 0x10011d0d
dec dword [0x100e9b5c]
mov ecx, eax
push dword [0x100e9b60]
push ecx
call dword [0x100e78e0]
add esp, 8
mov eax, dword [esp + 0x150]
mov dword [ebp + 0x5c], eax
mov dword [ebp + 0x58], edi
mov eax, dword [ebp + 0x54]
movups xmm2, xmmword [esp + 0x154]
movups xmm3, xmmword [esp + 0xfc]
movzx edx, byte [esp + 0x184]
movups xmm0, xmmword [esp + 0x174]
movups xmm1, xmmword [esp + 0x194]
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 + 0x9c]
pand xmm0, xmm4
movdqu xmm1, xmmword [esp + 0x70]
pandn xmm4, xmm1
por xmm4, xmm0
pshufd xmm0, xmm4, 0xe1
mulps xmm0, xmm3
addps xmm0, xmm2
mov ecx, dword [ebp + 0x5c]
lea edx, [eax + 1]
mov dword [ebp + 0x54], edx
movlps qword [ecx + eax*8], xmm0
mov edi, dword [esp + 0x30]
mov ebx, dword [edi + 0x270]
mov eax, dword [ebx + 0x54]
cmp eax, dword [ebx + 0x58]
jne 0x10011b3d
lea ebp, [eax + 1]
test eax, eax
je 0x10011dcd
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x10011dd2
mov ecx, 8
cmp ecx, ebp
cmovg ebp, ecx
cmp eax, ebp
jge 0x10011b3d
movdqu xmmword [esp + 0x184], xmm4
movups xmmword [esp + 0xfc], xmm3
movups xmmword [esp + 0x154], xmm2
lea eax, [ebp*8]
inc dword [0x100e9b5c]
push dword [0x100e9b60]
push eax
call dword [0x100e78dc]
add esp, 8
mov edx, dword [ebx + 0x5c]
xor edi, edi
test edx, edx
mov dword [esp + 0x174], eax
je 0x10011b00
mov ecx, dword [ebx + 0x54]
shl ecx, 3
push ecx
push edx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [ebx + 0x5c]
test eax, eax
je 0x10011b00
dec dword [0x100e9b5c]
mov edi, eax
jmp 0x10011b00
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jbe 0x10011f79
mov eax, dword [0x100e9750]
movss xmm0, dword [eax + 0x14e8]
mulss xmm0, dword [eax + 0x15dc]
mov ecx, dword [edi + 0x270]
movss xmm2, dword [eax + 0x15d0]
movss xmm3, dword [0x10034020]
minss xmm2, xmm3
maxss xmm2, xmm1
movss xmm4, dword [0x10034a00]
mulss xmm2, xmm4
movss xmm5, dword [0x100340c4]
addss xmm2, xmm5
cvttss2si edx, xmm2
movss xmm2, dword [eax + 0x15d4]
minss xmm2, xmm3
maxss xmm2, xmm1
mulss xmm2, xmm4
addss xmm2, xmm5
cvttss2si esi, xmm2
shl esi, 8
movss xmm1, dword [eax + 0x15d8]
unpcklps xmm1, xmm0
minps xmm1, xmmword [0x10034a10]
xorps xmm0, xmm0
maxps xmm0, xmm1
mulps xmm0, xmmword [0x10034a20]
or esi, edx
addps xmm0, xmmword [0x100340d0]
cvttps2dq xmm0, xmm0
movdqa xmm1, xmm0
pslld xmm1, 0x18
pslld xmm0, 0x10
movd edx, xmm0
or edx, esi
pshufd xmm0, xmm1, 0x55
movd eax, xmm0
or eax, edx
movss xmm0, dword [edi + 0x20]
movss xmm1, dword [edi + 0x14]
unpcklps xmm1, xmm0
movss xmm0, dword [edi + 0x18]
movss xmm2, dword [edi + 0x1c]
unpcklps xmm2, xmm0
addps xmm2, xmm1
movlps qword [esp + 0xc], xmm2
sub esp, 0x18
movups xmm0, xmmword [esp + 0x134]
movss dword [esp + 0x14], xmm0
movss xmm0, dword [esp + 0x78]
movss dword [esp + 0xc], xmm0
lea edx, [esp + 0x24]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x9c]
mov dword [esp], edx
mov dword [esp + 8], eax
mov dword [esp + 0x10], 0xf
call fcn.10024760
mov eax, dword [esp + 0x54]
cmp eax, 0xffffffff
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 4]
je 0x10012143
cmp eax, 3
ja case.default.0x10011fba
movss xmm0, dword [edi + 0x14]
movss xmm1, dword [0x100341a8]
movaps xmm3, xmm0
addss xmm3, xmm1
addss xmm3, dword [edi + 0x1c]
movss xmm2, dword [edi + 0x18]
addss xmm1, xmm2
addss xmm1, dword [edi + 0x20]
jmp dword [eax*4 + 0x10034edc]
movaps xmm1, xmm3
movups xmm3, xmmword [esp + 0x164]
subss xmm1, xmm3
addss xmm0, xmm3
movaps xmm3, xmm0
movaps xmm0, xmm1
movaps xmm1, xmm2
jmp 0x1001203d
movss xmm0, dword [0x10034bdc]
movss xmm3, dword [0x10034b10]
movaps xmm2, xmm3
movaps xmm1, xmm0
jmp 0x1001203d
movups xmm0, xmmword [esp + 0x164]
subss xmm1, xmm0
addss xmm2, xmm0
movaps xmm0, xmm3
jmp 0x1001203d
movaps xmm4, xmm3
movups xmm2, xmmword [esp + 0x164]
subss xmm4, xmm2
addss xmm0, xmm2
movaps xmm3, xmm0
movaps xmm2, xmm1
movaps xmm0, xmm4
jmp 0x1001203d
movups xmm3, xmmword [esp + 0x164]
subss xmm1, xmm3
addss xmm2, xmm3
movaps xmm3, xmm0
movss xmm4, dword [0x10034020]
movss xmm5, dword [0x100340c4]
movss dword [esp + 0xc], xmm3
movss dword [esp + 0x10], xmm2
lea eax, [esp + 0x14]
movss dword [esp + 0x14], xmm0
movss dword [esp + 0x18], xmm1
mov ecx, dword [edi + 0x270]
movups xmm6, xmmword [esp + 0x11c]
maxss xmm6, xmm4
mov edx, dword [0x100e9750]
movss xmm0, dword [edx + 0x14e8]
mulss xmm0, dword [edx + 0x175c]
movss xmm1, dword [edx + 0x1750]
minss xmm1, xmm4
xorps xmm2, xmm2
maxss xmm1, xmm2
movss xmm3, dword [0x10034a00]
mulss xmm1, xmm3
addss xmm1, xmm5
cvttss2si esi, xmm1
movss xmm1, dword [edx + 0x1754]
minss xmm1, xmm4
maxss xmm1, xmm2
mulss xmm1, xmm3
addss xmm1, xmm5
cvttss2si edi, xmm1
shl edi, 8
movss xmm1, dword [edx + 0x1758]
unpcklps xmm1, xmm0
minps xmm1, xmmword [0x10034a10]
xorps xmm0, xmm0
maxps xmm0, xmm1
mulps xmm0, xmmword [0x10034a20]
or edi, esi
addps xmm0, xmmword [0x100340d0]
cvttps2dq xmm0, xmm0
movdqa xmm1, xmm0
pslld xmm1, 0x18
pslld xmm0, 0x10
movd edx, xmm0
or edx, edi
mov edi, dword [esp + 0x30]
pshufd xmm0, xmm1, 0x55
movd esi, xmm0
or esi, edx
sub esp, 0x10
movss dword [esp + 0xc], xmm6
mov dword [esp + 4], eax
lea eax, [esp + 0x1c]
mov dword [esp], eax
mov dword [esp + 8], esi
call fcn.10024590
movss xmm0, dword [ebp + 0x1528]
xorps xmm1, xmm1
ucomiss xmm1, xmm0
jae 0x10012293
cmp dword [esp + 0x14c], 0
jne 0x10012293
mov ecx, dword [0x100e9750]
movss xmm1, dword [ecx + 0x15d0]
movss xmm3, dword [0x10034020]
minss xmm1, xmm3
xorps xmm2, xmm2
maxss xmm1, xmm2
movss xmm4, dword [0x10034a00]
mulss xmm1, xmm4
movss xmm5, dword [0x100340c4]
addss xmm1, xmm5
cvttss2si eax, xmm1
minss xmm3, dword [ecx + 0x15d4]
maxss xmm3, xmm2
mulss xmm3, xmm4
addss xmm3, xmm5
movss xmm1, dword [ecx + 0x14e8]
mulss xmm1, dword [ecx + 0x15dc]
cvttss2si edx, xmm3
movss xmm2, dword [ecx + 0x15d8]
unpcklps xmm2, xmm1
minps xmm2, xmmword [0x10034a10]
xorps xmm1, xmm1
maxps xmm1, xmm2
mulps xmm1, xmmword [0x10034a20]
mov ecx, dword [edi + 0x270]
addps xmm1, xmmword [0x100340d0]
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 + 0x14f8]
movss xmm2, dword [esp + 0x13c]
subss xmm2, xmm1
movss dword [esp + 0xc], xmm2
addss xmm1, dword [esp + 0xec]
movss dword [esp + 0x8c], xmm1
movss xmm1, dword [0x100341a8]
addss xmm1, dword [esp + 0xdc]
movss dword [esp + 0x10], xmm1
movss dword [esp + 0x90], xmm1
shl edx, 8
or edx, eax
or esi, edx
or edi, esi
sub esp, 0x10
movss dword [esp + 0xc], xmm0
lea eax, [esp + 0x1c]
mov dword [esp + 4], eax
lea eax, [esp + 0x9c]
mov dword [esp], eax
mov dword [esp + 8], edi
mov edi, dword [esp + 0x40]
call fcn.10024590
cmp dword [ebp + 0x1a54], edi
jne 0x100123fc
movsd xmm0, qword [edi + 0x14]
lea eax, [esp + 0x14]
movss xmm3, dword [ebp + 0x1854]
shufps xmm3, xmm3, 0
movaps xmm2, xmm0
subps xmm2, xmm3
movlps qword [esp + 0xc], xmm2
movsd xmm1, qword [edi + 0x1c]
addps xmm1, xmm0
addps xmm3, xmm1
movlps qword [esp + 0x14], xmm3
movups xmm4, xmmword [esp + 0x44]
movlhps xmm2, xmm3
movaps xmm3, xmm4
cmpleps xmm3, xmm2
cmpleps xmm2, xmm4
shufps xmm2, xmm3, 0xe4
pslld xmm2, 0x1f
movmskps ecx, xmm2
cmp cl, 0xf
jne 0x10012302
movlhps xmm0, xmm1
addps xmm0, xmmword [0x10034d00]
movups xmmword [esp + 0xc], xmm0
mov ecx, dword [edi + 0x270]
mov edx, dword [0x100e9750]
movss xmm1, dword [edx + 0x184c]
mulss xmm1, dword [ebp + 0x1a5c]
mulss xmm1, dword [edx + 0x14e8]
movss xmm0, dword [ebp + 0x14f4]
movss xmm2, dword [0x10034020]
movss xmm3, dword [edx + 0x1840]
minss xmm3, xmm2
xorps xmm4, xmm4
maxss xmm3, xmm4
movss xmm5, dword [0x10034a00]
mulss xmm3, xmm5
movss xmm6, dword [0x100340c4]
addss xmm3, xmm6
cvttss2si edi, xmm3
minss xmm2, dword [edx + 0x1844]
maxss xmm2, xmm4
mulss xmm2, xmm5
addss xmm2, xmm6
cvttss2si esi, xmm2
shl esi, 8
movss xmm2, dword [edx + 0x1848]
unpcklps xmm2, xmm1
minps xmm2, xmmword [0x10034a10]
xorps xmm1, xmm1
maxps xmm1, xmm2
mulps xmm1, xmmword [0x10034a20]
or esi, edi
mov edi, dword [esp + 0x30]
addps xmm1, xmmword [0x100340d0]
cvttps2dq xmm1, xmm1
movdqa xmm2, xmm1
pslld xmm2, 0x18
pslld xmm1, 0x10
movd edx, xmm1
or edx, esi
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 + 0x24]
mov dword [esp], eax
mov dword [esp + 8], esi
mov dword [esp + 0x14], 0x40400000
mov dword [esp + 0x10], 0xffffffff
call fcn.10024760
mov eax, dword [edi + 8]
mov ecx, dword [edi + 0x24]
mov edx, dword [edi + 0x28]
mov dword [edi + 0x30], edx
mov dword [edi + 0x2c], ecx
movss xmm5, dword [edi + 0x6c]
movss xmm0, dword [edi + 0x54]
movaps xmm1, xmm0
subss xmm1, xmm5
movss dword [edi + 0x44], xmm1
movss xmm3, dword [edi + 0x70]
movss xmm2, dword [edi + 0x58]
movss dword [esp + 0x20], xmm2
subss xmm2, xmm3
xorps xmm6, xmm6
xorps xmm7, xmm7
test al, 1
jne 0x10012465
mov ecx, dword [0x100e9750]
movss xmm4, dword [edi + 0x26c]
mulss xmm4, dword [ecx + 0x1858]
movss xmm7, dword [ecx + 0x1520]
addss xmm7, xmm7
addss xmm7, xmm4
addss xmm7, xmm2
test eax, 0x400
je 0x10012496
mov ecx, dword [0x100e9750]
movss xmm4, dword [edi + 0x26c]
mulss xmm4, dword [ecx + 0x1858]
movss xmm6, dword [ecx + 0x1520]
addss xmm6, xmm6
addss xmm6, xmm4
addss xmm7, xmm6
movss dword [edi + 0x48], xmm7
movss xmm7, dword [edi + 0x3c]
xorps xmm6, xmm6
ucomiss xmm6, xmm7
jne 0x100124b9
movss xmm7, dword [edi + 0x1c]
subss xmm7, dword [edi + 0x88]
addss xmm5, xmm0
subss xmm7, xmm5
movss dword [edi + 0x4c], xmm7
movss xmm5, dword [edi + 0x40]
ucomiss xmm6, xmm5
jne 0x100124dd
movss xmm5, dword [edi + 0x20]
subss xmm5, dword [edi + 0x8c]
addss xmm3, dword [esp + 0x20]
subss xmm5, xmm3
movss dword [edi + 0x50], xmm5
movss dword [edi + 0x1d0], xmm1
xorps xmm3, xmm3
movlps qword [edi + 0x1d4], xmm3
xorps xmm3, xmm3
xorps xmm4, xmm4
test al, 1
jne 0x1001252e
mov ecx, dword [0x100e9750]
movss xmm5, dword [edi + 0x26c]
mulss xmm5, dword [ecx + 0x1858]
movss xmm4, dword [ecx + 0x1520]
addss xmm4, xmm4
addss xmm4, xmm5
mov ecx, dword [0x100e9750]
test eax, 0x400
je 0x1001255b
movss xmm5, dword [edi + 0x26c]
mulss xmm5, dword [ecx + 0x1858]
movss xmm3, dword [ecx + 0x1520]
addss xmm3, xmm3
addss xmm3, xmm5
addss xmm2, xmm4
addss xmm2, xmm3
movsd xmm3, qword [edi + 0x14]
unpcklps xmm1, xmm2
addps xmm1, xmm3
movaps xmm2, xmm1
movlhps xmm2, xmm1
movups xmmword [edi + 0xec], xmm2
movups xmmword [edi + 0xdc], xmm2
mov dword [edi + 0x108], 0
mov dword [edi + 0x110], 0
xorps xmm2, xmm2
movlps qword [edi + 0xfc], xmm2
mov byte [edi + 0x148], 0
mov eax, dword [ecx + 0x1924]
movss xmm2, dword [eax + 0x38]
subss xmm2, dword [eax + 0x28]
addss xmm2, dword [eax + 0x8c]
xorps xmm3, xmm3
maxss xmm2, xmm3
ucomiss xmm2, xmm3
seta byte [edi + 0x149]
mov eax, dword [edi + 0x158]
mov dword [edi + 0x154], eax
mov dword [edi + 0x158], 0
mov byte [edi + 0x15c], 0
maxss xmm0, dword [ebp + 0x152c]
shufps xmm1, xmm1, 0x55
addss xmm1, dword [0x10034d10]
movss dword [edi + 0x160], xmm0
movss dword [edi + 0x114], xmm1
cmp dword [edi + 0x168], 0
jns 0x10012691
inc dword [0x100e9b5c]
push dword [0x100e9b60]
push 0
call dword [0x100e78dc]
add esp, 8
mov ebx, edi
mov edi, eax
mov eax, dword [ebx + 0x16c]
xor esi, esi
test eax, eax
je 0x10012667
mov ecx, dword [ebx + 0x164]
shl ecx, 2
push ecx
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [ebx + 0x16c]
test eax, eax
je 0x10012667
dec dword [0x100e9b5c]
mov esi, eax
push dword [0x100e9b60]
push esi
call dword [0x100e78e0]
add esp, 8
mov eax, dword [esp + 0x30]
mov dword [eax + 0x16c], edi
mov edi, eax
mov dword [eax + 0x168], 0
mov ebx, dword [esp + 4]
mov dword [edi + 0x164], 0
mov dword [edi + 0x174], 0
mov eax, dword [esp + 8]
test eax, eax
je 0x100126b5
mov eax, dword [eax + 0x174]
jmp 0x100126b7
xor eax, eax
movzx ecx, byte [esp + 3]
mov dword [edi + 0x178], eax
mov dword [edi + 0x17c], 1
movss xmm0, dword [edi + 0x220]
movss dword [edi + 0x180], xmm0
mov dword [edi + 0x184], 0xbf800000
cmp dword [edi + 0x18c], 0
jns 0x1001276b
inc dword [0x100e9b5c]
push dword [0x100e9b60]
push 0
call dword [0x100e78dc]
add esp, 8
mov ebx, edi
mov edi, eax
mov eax, dword [ebx + 0x190]
xor esi, esi
test eax, eax
je 0x1001273c
mov ecx, dword [ebx + 0x188]
shl ecx, 2
push ecx
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [ebx + 0x190]
test eax, eax
je 0x1001273c
dec dword [0x100e9b5c]
mov esi, eax
push dword [0x100e9b60]
push esi
call dword [0x100e78e0]
add esp, 8
mov eax, dword [esp + 0x30]
mov dword [eax + 0x190], edi
mov edi, eax
mov dword [eax + 0x18c], 0
mov ebx, dword [esp + 4]
movzx ecx, byte [esp + 3]
mov dword [edi + 0x188], 0
cmp dword [edi + 0x198], 0
jns 0x100127fa
inc dword [0x100e9b5c]
push dword [0x100e9b60]
push 0
call dword [0x100e78dc]
add esp, 8
mov ebx, edi
mov edi, eax
mov eax, dword [ebx + 0x19c]
xor esi, esi
test eax, eax
je 0x100127cb
mov ecx, dword [ebx + 0x194]
shl ecx, 2
push ecx
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [ebx + 0x19c]
test eax, eax
je 0x100127cb
dec dword [0x100e9b5c]
mov esi, eax
push dword [0x100e9b60]
push esi
call dword [0x100e78e0]
add esp, 8
mov eax, dword [esp + 0x30]
mov dword [eax + 0x19c], edi
mov edi, eax
mov dword [eax + 0x198], 0
mov ebx, dword [esp + 4]
movzx ecx, byte [esp + 3]
mov dword [edi + 0x194], 0
cmp dword [edi + 0x1a4], 0
jns 0x10012889
inc dword [0x100e9b5c]
push dword [0x100e9b60]
push 0
call dword [0x100e78dc]
add esp, 8
mov ebx, edi
mov edi, eax
mov eax, dword [ebx + 0x1a8]
xor esi, esi
test eax, eax
je 0x1001285a
mov ecx, dword [ebx + 0x1a0]
shl ecx, 2
push ecx
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [ebx + 0x1a8]
test eax, eax
je 0x1001285a
dec dword [0x100e9b5c]
mov esi, eax
push dword [0x100e9b60]
push esi
call dword [0x100e78e0]
add esp, 8
mov eax, dword [esp + 0x30]
mov dword [eax + 0x1a8], edi
mov edi, eax
mov dword [eax + 0x1a4], 0
mov ebx, dword [esp + 4]
movzx ecx, byte [esp + 3]
mov dword [edi + 0x1a0], 0
mov dword [edi + 0x1dc], 0
mov dword [edi + 0x118], 0
mov dword [edi + 0x11c], 0
lea eax, [edi + 0x254]
mov dword [edi + 0x170], eax
cmp dword [edi + 0x1b0], 0
jns 0x10012945
inc dword [0x100e9b5c]
push dword [0x100e9b60]
push 0
call dword [0x100e78dc]
add esp, 8
mov ebx, edi
mov edi, eax
mov eax, dword [ebx + 0x1b4]
xor esi, esi
test eax, eax
je 0x10012916
mov ecx, dword [ebx + 0x1ac]
shl ecx, 3
lea ecx, [ecx + ecx*4]
push ecx
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [ebx + 0x1b4]
test eax, eax
je 0x10012916
dec dword [0x100e9b5c]
mov esi, eax
push dword [0x100e9b60]
push esi
call dword [0x100e78e0]
add esp, 8
mov eax, dword [esp + 0x30]
mov dword [eax + 0x1b4], edi
mov edi, eax
mov dword [eax + 0x1b0], 0
mov ebx, dword [esp + 4]
movzx ecx, byte [esp + 3]
mov dword [edi + 0x1ac], 0
movss xmm1, dword [ebp + 0x152c]
mov dword [edi + 0x224], 3
mov dword [edi + 0x230], 0
movss dword [edi + 0x228], xmm1
test cl, cl
je 0x1001298c
mov dword [edi + 0x250], 0
xorps xmm0, xmm0
xorps xmm2, xmm2
xorps xmm3, xmm3
jmp 0x100129a4
movss xmm3, dword [edi + 0x244]
movss xmm2, dword [edi + 0x248]
movss xmm0, dword [edi + 0x24c]
mov dword [edi + 0x234], 0
xorps xmm4, xmm4
xorps xmm5, xmm5
cmpltss xmm5, xmm2
movaps xmm6, xmm5
andps xmm6, xmm1
movss xmm7, dword [0x10034a34]
andnps xmm5, xmm7
orps xmm5, xmm6
xorps xmm6, xmm6
movlps qword [edi + 0x244], xmm6
cmpltss xmm4, xmm0
andps xmm1, xmm4
andnps xmm4, xmm7
orps xmm4, xmm1
addss xmm5, xmm3
addss xmm4, xmm2
addss xmm4, xmm5
unpcklps xmm5, xmm4
cvttps2dq xmm1, xmm5
cvtdq2ps xmm1, xmm1
movlps qword [edi + 0x238], xmm1
addss xmm4, xmm0
mov dword [edi + 0x24c], 0
movss dword [edi + 0x22c], xmm4
test ebx, 0x1000000
je 0x10012b11
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x17c]
cmp dword [edi + 0x17c], eax
je 0x10012b11
mov dword [edi + 0x17c], eax
mov ecx, dword [edi + 0x188]
cmp ecx, dword [edi + 0x18c]
jne 0x10012aff
lea esi, [ecx + 1]
test ecx, ecx
je 0x10012a66
mov edx, ecx
shr edx, 0x1f
add edx, ecx
sar edx, 1
add edx, ecx
jmp 0x10012a6b
mov edx, 8
cmp edx, esi
cmovg esi, edx
cmp ecx, esi
jge 0x10012aff
lea eax, [esi*4]
inc dword [0x100e9b5c]
push dword [0x100e9b60]
push eax
call dword [0x100e78dc]
add esp, 8
mov edx, dword [edi + 0x190]
xor ebx, ebx
test edx, edx
mov dword [esp + 0x20], eax
je 0x10012acb
mov ecx, dword [edi + 0x188]
shl ecx, 2
push ecx
push edx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [edi + 0x190]
test eax, eax
je 0x10012acb
dec dword [0x100e9b5c]
mov ebx, eax
push dword [0x100e9b60]
push ebx
call dword [0x100e78e0]
add esp, 8
mov edi, dword [esp + 0x30]
mov eax, dword [esp + 0x20]
mov dword [edi + 0x190], eax
mov dword [edi + 0x18c], esi
mov eax, dword [edi + 0x17c]
mov ecx, dword [edi + 0x188]
mov ebx, dword [esp + 4]
mov edx, dword [edi + 0x190]
lea esi, [ecx + 1]
mov dword [edi + 0x188], esi
mov dword [edx + ecx*4], eax
mov eax, dword [edi + 0xa8]
test eax, eax
jle 0x10012b22
dec eax
mov dword [edi + 0xa8], eax
mov eax, dword [edi + 0xac]
test eax, eax
jle 0x10012b33
dec eax
mov dword [edi + 0xac], eax
cmp byte [esp + 0xc4], 0
je 0x10012bdf
push edi
call fcn.1000e730
add esp, 4
mov eax, dword [0x100e9750]
mov ecx, dword [edi + 8]
test ecx, 0x40000
jne 0x10012bd3
and ecx, 0x5000000
cmp ecx, 0x1000000
jne 0x10012b72
mov ecx, dword [edi + 0x28c]
test ecx, ecx
jne 0x10012bd9
mov ecx, dword [eax + 0x1a1c]
mov edx, dword [eax + 0x1a68]
mov dword [eax + 0x1a20], 0
mov dword [ecx + edx*4 + 0x28c], 0
mov word [eax + 0x1a75], 1
mov dword [eax + 0x1a78], 0
movaps xmm0, xmmword [0x10034a40]
movups xmmword [eax + 0x1a7c], xmm0
mov eax, dword [0x100e9750]
mov cl, 1
cmp byte [eax + 0x1a8d], 0
jne 0x10012bcb
movzx ecx, byte [eax + 0x1a75]
mov byte [eax + 0x1a74], cl
jmp 0x10012bdf
mov ecx, dword [edi + 0x28c]
mov dword [eax + 0x1a20], ecx
test bl, 1
jne 0x10013017
mov esi, dword [edi + 0x17c]
inc dword [edi + 0x14c]
shl dword [edi + 0x150], 1
mov eax, esi
or eax, 0x10
mov dword [edi + 0x17c], eax
test bl, 0x20
jne 0x10012d0e
mov eax, dword [edi + 0x1e0]
mov ecx, dword [edi + 0x1e8]
push dword [ecx + eax*4 - 4]
push 0
push 0x1003b1c8
call fcn.10008a50
add esp, 0xc
mov edi, eax
mov eax, dword [0x100e9750]
cmp dword [eax + 0x1940], edi
jne 0x10012c43
mov byte [eax + 0x194c], 1
movss xmm0, dword [ebp + 0x1854]
addss xmm0, dword [0x100341a8]
mov eax, dword [esp + 0x84]
movsd xmm1, qword [eax]
movsd xmm2, qword [ebp + 0x151c]
addps xmm2, xmm1
movlhps xmm2, xmm2
movaps xmm1, xmmword [0x10034a10]
shufps xmm1, xmm0, 4
addps xmm1, xmm2
movups xmmword [esp + 0xc], xmm1
lea ebx, [esp + 0xc]
push 0
push edi
push ebx
call fcn.10009fd0
add esp, 0xc
push 0
push 0
push 0
push edi
push ebx
call fcn.10017430
add esp, 0x14
test al, al
je 0x10012cae
mov eax, dword [esp + 0x30]
mov byte [eax + 0x94], 1
push 1
push edi
push ebx
call fcn.10015130
add esp, 0xc
xor eax, eax
mov edi, dword [esp + 0x30]
cmp byte [edi + 0x93], 0
sete al
lea eax, [eax + eax + 1]
movss xmm0, dword [ebp + 0x151c]
movss xmm1, dword [ebp + 0x1520]
addss xmm1, dword [edi + 0x18]
addss xmm0, dword [edi + 0x14]
sub esp, 0x10
mov dword [esp + 8], eax
movss dword [esp + 4], xmm1
movss dword [esp], xmm0
mov dword [esp + 0xc], 0x3f800000
call fcn.10014ef0
add esp, 0x10
mov ebx, dword [esp + 4]
cmp dword [esp + 0x1bc], 0
je 0x10012de9
xorps xmm0, xmm0
test byte [edi + 8], 1
jne 0x10012d4a
mov eax, dword [0x100e9750]
movss xmm1, dword [edi + 0x26c]
mulss xmm1, dword [eax + 0x1858]
movss xmm0, dword [eax + 0x1520]
addss xmm0, xmm0
addss xmm0, xmm1
mulss xmm0, dword [0x100340c4]
movss xmm1, dword [edi + 0x14]
movss xmm2, dword [0x10034d14]
addss xmm2, xmm0
movss dword [esp + 0x20], xmm2
subss xmm1, xmm0
unpcklps xmm1, xmm0
movss xmm0, dword [edi + 0x18]
movss xmm2, dword [edi + 0x1c]
unpcklps xmm2, xmm0
addps xmm2, xmm1
movlps qword [esp + 0xc], xmm2
mov eax, dword [edi + 0x1e0]
mov ecx, dword [edi + 0x1e8]
push dword [ecx + eax*4 - 4]
push 0
push 0x1003b1d2
call fcn.10008a50
add esp, 0xc
mov ecx, dword [0x100e9750]
cmp dword [ecx + 0x1940], eax
jne 0x10012db9
mov byte [ecx + 0x194c], 1
sub esp, 0xc
movss xmm0, dword [esp + 0x2c]
movss dword [esp + 8], xmm0
lea ecx, [esp + 0x18]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.10017d50
add esp, 0xc
test al, al
je 0x10012de9
mov eax, dword [esp + 0x1bc]
mov byte [eax], 0
dec dword [edi + 0x14c]
sar dword [edi + 0x150], 1
mov dword [edi + 0x17c], esi
mov eax, dword [0x100e9750]
mov esi, dword [esp + 0x1b8]
cmp esi, 0xffffffff
movss xmm1, dword [esp + 0xdc]
je 0x10012e3a
mov ecx, esi
jmp 0x10012e2c
cmp byte [ecx + 1], 0x23
je 0x10012e4c
inc ecx
cmp ecx, 0xffffffff
je 0x10012e47
movzx edx, byte [ecx]
cmp edx, 0x23
je 0x10012e20
test edx, edx
jne 0x10012e26
jmp 0x10012e4c
movss xmm0, dword [eax + 0x1854]
jmp 0x10012ed7
mov ecx, 0xffffffff
movss xmm0, dword [eax + 0x1854]
cmp ecx, esi
je 0x10012ed7
mov edi, dword [eax + 0x1850]
sub esp, 0x1c
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], esi
movss dword [esp + 4], xmm0
lea eax, [esp + 0x74]
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.1002d360
movss xmm0, dword [esp + 0x58]
xorps xmm1, xmm1
ucomiss xmm1, xmm0
jae 0x10012eb7
movss xmm1, dword [esp + 0x20]
divss xmm1, dword [edi]
subss xmm0, xmm1
movss xmm1, dword [esp + 0xdc]
addss xmm0, dword [str.33s_]
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
movss dword [esp + 0x58], xmm0
jmp 0x10012ee5
mov dword [esp + 0x58], 0
movss dword [esp + 0x5c], xmm0
movups xmm0, xmmword [esp + 0x10c]
movss dword [esp + 0x10], xmm0
movss dword [esp + 0x18], xmm1
movss xmm0, dword [ebp + 0x151c]
movaps xmm1, xmm0
test bl, 0x20
jne 0x10012f1d
movss xmm1, dword [ebp + 0x1854]
addss xmm1, xmm0
addss xmm1, dword [ebp + 0x1534]
movaps xmm2, xmm0
cmp dword [esp + 0x1bc], 0
je 0x10012f3e
movss xmm2, dword [ebp + 0x1854]
addss xmm2, xmm0
addss xmm2, dword [ebp + 0x1534]
lea eax, [esp + 0x14]
lea ecx, [ebp + 0x1504]
movss xmm3, dword [ebp + 0x1504]
movaps xmm4, xmm1
subss xmm4, xmm2
mulss xmm4, xmm3
xorps xmm5, xmm5
cmpltss xmm5, xmm3
andps xmm4, xmm5
movss xmm3, dword [0x10034a34]
andnps xmm5, xmm3
orps xmm5, xmm4
addss xmm1, dword [esp + 0xec]
movss dword [esp + 0xc], xmm1
addss xmm5, xmm2
movss xmm1, dword [esp + 0x13c]
subss xmm1, xmm5
movss dword [esp + 0x14], xmm1
movups xmm1, xmmword [esp + 0xc]
movups xmmword [esp + 0x8c], xmm1
mov edx, dword [esp + 0x80]
movss xmm1, dword [edx]
mov edx, dword [esp + 0x84]
addss xmm1, dword [edx]
cmp dword [esp + 0x1bc], 0
je 0x10012fe1
movss xmm0, dword [0x10034974]
addss xmm0, dword [esp + 0xdc]
subss xmm0, dword [esp + 0x10c]
subss xmm1, xmm0
movss dword [esp + 0x94], xmm1
lea edx, [esp + 0x8c]
lea esi, [esp + 0x58]
lea edi, [esp + 0xc]
push edx
push ecx
push esi
push 0
push dword [esp + 0x1c8]
push eax
push edi
call fcn.100148b0
add esp, 0x1c
mov edi, dword [esp + 0x30]
movsd xmm0, qword [edi + 0x14]
movss xmm1, dword [edi + 0x20]
movlhps xmm1, xmm0
shufps xmm1, xmm0, 0xe2
movss xmm2, dword [edi + 0x1c]
movsd xmm3, qword [edi + 0x1ec]
maxps xmm3, xmm0
movss xmm0, xmm2
addps xmm0, xmm1
movsd xmm1, qword [edi + 0x1f4]
minps xmm1, xmm0
movlhps xmm3, xmm1
movups xmmword [edi + 0x1fc], xmm3
movss xmm7, dword [edi + 0x60]
movaps xmm1, xmm7
addss xmm1, dword [esp + 0xec]
movss dword [edi + 0x20c], xmm1
test byte [edi + 9], 4
xorps xmm2, xmm2
mov eax, dword [0x100e9750]
je 0x1001309b
movss xmm4, dword [edi + 0x26c]
mulss xmm4, dword [eax + 0x1858]
movss xmm2, dword [eax + 0x1520]
addss xmm2, xmm2
addss xmm2, xmm4
addss xmm2, dword [esp + 0xdc]
mov ecx, ebx
and ecx, 0x401
lea edx, [ebp + 0x1528]
cmp ecx, 1
cmove edx, dword [esp + 0x12c]
addss xmm2, dword [edx]
movss dword [edi + 0x210], xmm2
movsd xmm4, qword [edi + 0x88]
movaps xmm5, xmm7
shufps xmm5, xmm7, 0
addps xmm5, xmm4
subps xmm0, xmm5
movlps qword [edi + 0x214], xmm0
mov ecx, dword [edi + 0x64]
mov dword [edi + 0x120], ecx
movss xmm5, dword [eax + 0x153c]
movups xmm6, xmmword [esp + 0xec]
subss xmm6, xmm5
movss xmm4, dword [eax + 0xd0]
xor ecx, ecx
ucomiss xmm6, xmm4
ja 0x10013163
movss xmm6, dword [eax + 0x1540]
movups xmmword [esp + 0x30], xmm7
movups xmm7, xmmword [esp + 0x10c]
subss xmm7, xmm6
addss xmm5, dword [esp + 0x13c]
addss xmm6, dword [esp + 0xdc]
movss xmm3, dword [eax + 0xd4]
cmpltps xmm4, xmm5
cmpleps xmm7, xmm3
andps xmm7, xmm4
movd ecx, xmm7
movups xmm7, xmmword [esp + 0x30]
ucomiss xmm6, xmm3
seta dl
and dl, cl
movzx ecx, dl
mov dword [edi + 0x124], ecx
movups xmm3, xmmword [esp + 0xec]
movss dword [edi + 0x128], xmm3
movups xmm3, xmmword [esp + 0x10c]
movss dword [edi + 0x12c], xmm3
movss xmm3, dword [esp + 0x13c]
movss dword [edi + 0x130], xmm3
movss xmm3, dword [esp + 0xdc]
movss dword [edi + 0x134], xmm3
movaps xmm4, xmm0
shufps xmm4, xmm0, 0x55
movss xmm5, dword [0x100340c4]
addss xmm1, xmm5
movss xmm3, dword [edi + 0x54]
mulss xmm3, xmm5
subss xmm3, xmm7
cvttps2dq xmm3, xmm3
cvtdq2ps xmm3, xmm3
xorps xmm6, xmm6
maxss xmm6, xmm3
addss xmm1, xmm6
cvttps2dq xmm1, xmm1
cvtdq2ps xmm1, xmm1
addss xmm2, xmm5
cvttps2dq xmm2, xmm2
cvtdq2ps xmm2, xmm2
unpcklps xmm1, xmm2
addss xmm0, xmm5
subss xmm0, xmm6
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
addss xmm4, xmm5
cvttps2dq xmm2, xmm4
cvtdq2ps xmm2, xmm2
unpcklps xmm0, xmm2
movlhps xmm1, xmm0
mov ecx, dword [eax + 0x1924]
mov byte [ecx + 0x92], 1
mov esi, dword [eax + 0x1924]
mov ecx, dword [esi + 0x270]
sub esp, 0x14
movups xmmword [esp], xmm1
mov dword [esp + 0x10], 1
call fcn.10022730
mov eax, dword [esi + 0x270]
mov ecx, dword [eax + 0x3c]
mov eax, dword [eax + 0x44]
shl ecx, 4
movups xmm0, xmmword [ecx + eax - 0x10]
movups xmmword [esi + 0x1ec], xmm0
mov eax, dword [esp + 0x88]
cmp eax, dword [esp + 0xc8]
je 0x10013271
mov byte [edi + 0x92], 0
inc dword [edi + 0xa0]
mov dword [ebp + 0x19c8], 0
test ebx, 0x1000000
je 0x100132f1
mov eax, dword [esp + 8]
test eax, eax
je 0x1001329a
movzx eax, byte [eax + 0x93]
jmp 0x1001329c
xor eax, eax
mov byte [edi + 0x93], al
test bl, 0x40
jne 0x100132e6
cmp dword [edi + 0xa8], 0
jg 0x100132e6
cmp dword [edi + 0xac], 0
jg 0x100132e6
movss xmm0, dword [edi + 0x1fc]
mov cl, 1
ucomiss xmm0, dword [edi + 0x204]
jae 0x100132de
movss xmm0, dword [edi + 0x200]
ucomiss xmm0, dword [edi + 0x208]
setae cl
or al, cl
mov byte [edi + 0x93], al
test al, al
je 0x100132f1
mov byte [edi + 0x90], 0
xorps xmm0, xmm0
ucomiss xmm0, dword [ebp + 0x14e8]
jb 0x10013304
mov byte [edi + 0x90], 0
cmp byte [edi + 0x93], 0
je 0x10013322
cmp dword [edi + 0xa8], 0
jg 0x1001332b
cmp dword [edi + 0xac], 0
setle al
jmp 0x1001332d
cmp byte [edi + 0x90], 0
je 0x1001330d
xor eax, eax
mov byte [edi + 0x95], al
test al, al
sete al
add esp, 0x1a4
pop esi
pop edi
pop ebx
pop ebp
ret