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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x118
mov eax, dword [0x10089040]
xor eax, esp
mov dword [esp + 0x114], eax
mov eax, dword [ebp + 8]
push esi
mov esi, dword [0x1008b850]
push edi
mov dword [esp + 0x64], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x2c], esi
call fcn.10025d60
mov edi, eax
mov dword [esp + 0x1c], eax
test edi, edi
sete cl
mov byte [esp + 0x1b], cl
test eax, eax
jne 0x10028d18
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x64]
call fcn.10025e00
mov edi, eax
mov edx, dword [esp + 0x10]
mov ecx, edx
and ecx, 0xc0200
cmp ecx, 0xc0200
jne 0x10028d33
or edx, 6
mov dword [esp + 0x10], edx
cmp dword [esi + 0x1b78], 0
lea ecx, [esi + 0x1b78]
mov eax, dword [esi + 0x1b38]
mov dword [esp + 0x58], eax
mov eax, dword [edi + 0x258]
mov dword [esp + 0x54], eax
mov dword [esp + 0x20], ecx
jne 0x10028d67
cmp byte [esi + 0x1b45], 0
je 0x10028d67
mov al, 1
jmp 0x10028d69
xor al, al
mov byte [edi + 0x92], al
mov eax, dword [esp + 0x58]
dec eax
cmp dword [esp + 0x54], eax
setl al
mov byte [esp + 0x1a], al
test edx, 0x4000000
je 0x10028dc5
mov eax, dword [esi + 0x1ce8]
lea esi, [eax + eax*8]
mov eax, dword [esp + 0x2c]
mov edx, dword [eax + 0x1ce4]
mov eax, dword [edi + 0xa0]
cmp edi, dword [edx + esi*4 + 4]
setne cl
cmp eax, dword [edx + esi*4]
mov esi, dword [esp + 0x2c]
mov edx, dword [esp + 0x10]
setne al
or cl, al
mov al, byte [esp + 0x1a]
or al, cl
mov ecx, dword [esp + 0x20]
mov byte [esp + 0x1a], al
mov byte [edi + 0x90], al
test al, al
je 0x10028de4
or byte [edi + 0xb0], 8
or byte [edi + 0xb1], 8
or byte [edi + 0xb2], 8
mov eax, dword [esp + 0x58]
cmp dword [esp + 0x54], eax
je 0x10028e2a
mov dword [edi + 0x258], eax
xor eax, eax
mov dword [edi + 8], edx
movsd xmm0, qword [esi + 0x1b30]
cvtpd2ps xmm0, xmm0
mov word [edi + 0x98], ax
movss dword [edi + 0x25c], xmm0
movzx eax, word [esi + 0x1b90]
inc dword [esi + 0x1b90]
mov word [edi + 0x9a], ax
jmp 0x10028e31
mov edx, dword [edi + 8]
mov dword [esp + 0x10], edx
cmp dword [ecx], 0
jne 0x10028e40
mov dword [esp + 0x28], 0
jmp 0x10028e54
mov eax, dword [esi + 0x1b80]
mov esi, dword [ecx]
mov eax, dword [eax + esi*4 - 4]
mov esi, dword [esp + 0x2c]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x58]
cmp dword [esp + 0x54], eax
je 0x10028e6f
mov eax, edx
and eax, 0x5000000
neg eax
sbb eax, eax
and eax, dword [esp + 0x28]
jmp 0x10028e75
mov eax, dword [edi + 0x318]
cmp dword [edi + 0xc4], 0
mov dword [esp + 0x3c], eax
jne 0x10028e97
lea eax, [edi + 4]
push eax
lea ecx, [edi + 0xc4]
call fcn.10032520
lea ecx, [esi + 0x1b78]
mov edx, dword [ecx]
mov eax, dword [ecx + 4]
cmp edx, eax
jne 0x10028ecd
inc edx
mov dword [esp + 0x20], edx
test eax, eax
je 0x10028eb7
cdq
sub eax, edx
mov edx, dword [esp + 0x20]
sar eax, 1
add eax, dword [ecx + 4]
jmp 0x10028ebc
mov eax, 8
cmp eax, edx
cmovg edx, eax
push edx
call fcn.10032750
lea ecx, [esi + 0x1b78]
mov ecx, dword [ecx]
mov eax, dword [esi + 0x1b80]
mov dword [eax + ecx*4], edi
inc dword [esi + 0x1b78]
mov ecx, dword [0x1008b850]
mov dword [esi + 0x1b9c], edi
mov eax, dword [ecx + 0x1b9c]
movzx eax, word [eax + 0xc4]
mov word [edi + 0x1d0], ax
movzx eax, word [ecx + 0x1c94]
mov word [edi + 0x1d2], ax
movzx eax, word [ecx + 0x1ca0]
mov word [edi + 0x1d4], ax
movzx eax, word [ecx + 0x1cac]
mov word [edi + 0x1d6], ax
movzx eax, word [ecx + 0x1cb8]
mov word [edi + 0x1d8], ax
movzx eax, word [ecx + 0x1cd0]
mov word [edi + 0x1da], ax
movzx eax, word [ecx + 0x1ce8]
mov ecx, dword [esp + 0x10]
mov word [edi + 0x1dc], ax
mov dword [esi + 0x1b9c], 0
test ecx, 0x4000000
je 0x1002900c
mov eax, dword [esi + 0x1ce8]
lea ecx, [esi + 0x1ce8]
mov edx, dword [esi + 0x1ce4]
mov dword [esp + 0x34], edx
lea eax, [eax + eax*8]
mov dword [edx + eax*4 + 4], edi
mov edx, dword [ecx]
mov dword [esp + 0x28], eax
mov eax, dword [ecx + 4]
cmp edx, eax
jne 0x10028fc3
inc edx
mov dword [esp + 0x20], edx
test eax, eax
je 0x10028fad
cdq
sub eax, edx
mov edx, dword [esp + 0x20]
sar eax, 1
add eax, dword [ecx + 4]
jmp 0x10028fb2
mov eax, 8
cmp eax, edx
cmovg edx, eax
push edx
call fcn.10032ca0
lea ecx, [esi + 0x1ce8]
mov eax, dword [ecx]
mov esi, dword [esp + 0x34]
mov ecx, dword [ecx + 8]
lea edx, [eax + eax*8]
mov eax, dword [esp + 0x28]
movups xmm0, xmmword [esi + eax*4]
movups xmmword [ecx + edx*4], xmm0
movups xmm0, xmmword [esi + eax*4 + 0x10]
movups xmmword [ecx + edx*4 + 0x10], xmm0
mov eax, dword [esi + eax*4 + 0x20]
mov esi, dword [esp + 0x2c]
mov dword [ecx + edx*4 + 0x20], eax
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x28]
inc dword [esi + 0x1ce8]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 0x10]
mov dword [edi + 0xa0], eax
mov eax, dword [esp + 0x54]
cmp eax, dword [esp + 0x58]
je 0x10029097
mov edx, dword [esp + 0x3c]
mov dword [edi + 0x318], edx
mov dword [edi + 0x324], edi
mov dword [edi + 0x320], edi
mov dword [edi + 0x31c], edi
test edx, edx
je 0x10029070
mov eax, ecx
and eax, 0x3000000
cmp eax, 0x1000000
jne 0x10029054
mov eax, dword [edx + 0x31c]
mov dword [edi + 0x31c], eax
test ecx, 0x8000000
jne 0x10029070
test ecx, 0x5000000
je 0x10029070
mov eax, dword [edx + 0x320]
mov dword [edi + 0x320], eax
test dword [edi + 8], 0x800000
je 0x10029097
mov ecx, edi
nop dword [eax + eax]
mov eax, dword [ecx + 0x318]
mov ecx, eax
mov dword [edi + 0x324], eax
test dword [ecx + 8], 0x800000
jne 0x10029080
xor dl, dl
mov byte [esp + 0x18], 0
test byte [esi + 0x1c20], 1
mov byte [esp + 0x19], dl
mov byte [esp + 0x17], dl
je 0x10029151
mov dl, byte [edi + 0xb0]
mov ecx, dword [esi + 0x1c24]
movsx eax, dl
test ecx, eax
setne byte [esp + 0x18]
test ecx, eax
je 0x10029140
movss xmm1, dword [esi + 0x1c3c]
movss xmm0, dword [esi + 0x1c38]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
comiss xmm0, dword [0x100821b8]
jbe 0x10029140
mov eax, dword [esi + 0x1c30]
mov ecx, dword [esi + 0x1c34]
mov dword [edi + 0xb8], ecx
mov dword [edi + 0xb4], eax
mov eax, dword [esi + 0x1c38]
mov ecx, dword [esi + 0x1c3c]
mov dword [edi + 0xc0], ecx
mov dword [edi + 0xbc], eax
mov eax, dword [edi + 0xb0]
movzx ecx, dl
and eax, 0xffffff00
and ecx, 0xf1
or ecx, eax
mov dword [edi + 0xb0], ecx
jmp 0x10029151
push ecx
lea edx, [esi + 0x1c30]
mov ecx, edi
call fcn.1002bc80
add esp, 4
test byte [esi + 0x1c20], 2
xorps xmm1, xmm1
je 0x100291b7
movsx eax, byte [edi + 0xb1]
mov ecx, dword [esi + 0x1c28]
and eax, ecx
je 0x10029182
movss xmm0, dword [esi + 0x1c40]
comiss xmm0, xmm1
jbe 0x10029182
mov byte [esp + 0x19], 1
jmp 0x1002918c
xor dl, dl
mov byte [esp + 0x19], dl
test eax, eax
je 0x1002919e
movss xmm0, dword [esi + 0x1c44]
comiss xmm0, xmm1
mov byte [esp + 0x17], 1
ja 0x100291a3
mov byte [esp + 0x17], 0
push ecx
lea edx, [esi + 0x1c40]
mov ecx, edi
call fcn.1002bda0
add esp, 4
xorps xmm1, xmm1
test byte [esi + 0x1c20], 0x80
je 0x100291f2
movss xmm0, dword [esi + 0x1c50]
comiss xmm0, xmm1
jb 0x100291d9
movss dword [edi + 0x68], xmm0
mov dword [edi + 0x70], 0
movss xmm0, dword [esi + 0x1c54]
comiss xmm0, xmm1
jb 0x100291f2
movss dword [edi + 0x6c], xmm0
mov dword [edi + 0x74], 0
test byte [esi + 0x1c20], 4
je 0x1002920f
mov eax, dword [esi + 0x1c48]
mov ecx, dword [esi + 0x1c4c]
mov dword [edi + 0x34], eax
mov dword [edi + 0x38], ecx
jmp 0x10029227
mov eax, dword [esp + 0x54]
cmp eax, dword [esp + 0x58]
je 0x10029227
mov dword [edi + 0x34], 0
mov dword [edi + 0x38], 0
test byte [esi + 0x1c20], 8
je 0x10029274
mov ecx, dword [esi + 0x1c2c]
mov dl, byte [esi + 0x1c58]
test ecx, ecx
je 0x1002924b
movsx eax, byte [edi + 0xb2]
test ecx, eax
je 0x10029274
movzx ecx, byte [edi + 0xb2]
mov eax, dword [edi + 0xb0]
and ecx, 0xf1
shl ecx, 0x10
and eax, 0xff00ffff
or ecx, eax
mov byte [edi + 0x8d], dl
mov dword [edi + 0xb0], ecx
test byte [esi + 0x1c20], 0x20
je 0x10029284
mov ecx, edi
call fcn.1002ba60
cmp byte [edi + 0x90], 0
je 0x100292a2
and byte [edi + 0xb0], 0xf7
and byte [edi + 0xb1], 0xf7
and byte [edi + 0xb2], 0xf7
mov eax, dword [esp + 0x54]
cmp eax, dword [esp + 0x58]
je 0x1002b261
mov eax, dword [esp + 0x10]
lea ecx, [edi + 0xc4]
mov byte [edi + 0x8a], 1
and eax, 0x3000000
mov byte [edi + 0x93], 0
mov dword [edi + 0x230], 0xff7fffff
mov dword [edi + 0x234], 0xff7fffff
mov dword [edi + 0x238], 0x7f7fffff
push 1
mov dword [esp + 0x34], eax
mov dword [edi + 0x23c], 0x7f7fffff
call fcn.100327d0
mov ecx, dword [edi + 0x284]
call fcn.1003a530
cmp byte [edi + 0x35c], 0
mov dword [edi + 0x19c], 0xffffffff
je 0x10029361
mov ecx, dword [edi + 0x284]
push dword [edi + 0x354]
add ecx, 0xc
mov byte [edi + 0x35c], 0
call fcn.10032b40
mov ecx, dword [edi + 0x284]
push dword [edi + 0x358]
add ecx, 0x18
call fcn.10032950
mov dword [edi + 0x358], 0
mov dword [edi + 0x354], 0
cmp dword [esi + 0x1e10], 0
je 0x1002944a
test dword [edi + 8], 0x80000
jne 0x1002944a
cmp dword [esp + 0x1c], 0
je 0x1002944a
mov eax, dword [edi]
mov ecx, eax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x64]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100293b2
test dl, dl
je 0x100293ae
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100293b2
add eax, 2
add ecx, 2
test dl, dl
jne 0x10029392
xor eax, eax
jmp 0x100293b7
sbb eax, eax
or eax, 1
test eax, eax
je 0x1002944a
mov ecx, dword [esp + 0x64]
mov edx, dword [edi + 0x4c]
mov dword [esp + 0x34], edx
lea eax, [ecx + 1]
mov dword [esp + 0x20], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100293d1
sub ecx, dword [esp + 0x20]
lea eax, [ecx + 1]
mov dword [esp + 0x48], eax
cmp edx, eax
mov eax, dword [esp + 0x28]
jae 0x1002942f
test eax, eax
je 0x100293ff
mov ecx, dword [0x1008b850]
test ecx, ecx
je 0x100293ff
dec dword [ecx + 0x370]
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov eax, dword [0x1008b850]
add esp, 4
test eax, eax
je 0x10029418
inc dword [eax + 0x370]
push dword [esp + 0x48]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov ecx, dword [esp + 0x4c]
add esp, 4
mov dword [esp + 0x34], ecx
jmp 0x10029433
mov ecx, dword [esp + 0x48]
push ecx
push dword [esp + 0x68]
push eax
call sub.VCRUNTIME140.dll_memcpy
mov dword [edi], eax
add esp, 0xc
mov eax, dword [esp + 0x34]
mov dword [edi + 0x4c], eax
mov al, byte [edi + 0xad]
lea edx, [edi + 0x24]
mov byte [esp + 0x3b], al
mov ecx, edi
lea eax, [edi + 0x2c]
push eax
call fcn.10026410
mov al, byte [edi + 0xac]
add esp, 4
test al, al
jle 0x10029477
dec al
mov byte [edi + 0xac], al
mov al, byte [edi + 0xad]
test al, al
jle 0x10029489
dec al
mov byte [edi + 0xad], al
mov al, byte [edi + 0xae]
test al, al
jle 0x1002949b
dec al
mov byte [edi + 0xae], al
cmp dword [esp + 0x1c], 0
mov al, byte [esp + 0x19]
mov cl, byte [esp + 0x17]
jne 0x100294b9
test al, al
je 0x100294b2
test cl, cl
jne 0x100294b9
mov byte [edi + 0xad], 1
cmp byte [esp + 0x1a], 0
mov edx, dword [esp + 0x10]
je 0x10029518
test edx, 0x6000000
je 0x10029518
mov byte [edi + 0xad], 1
test dl, 0x40
je 0x10029518
test al, al
jne 0x100294ea
mov dword [edi + 0x1c], 0
mov dword [edi + 0x14], 0
test cl, cl
jne 0x100294fc
mov dword [edi + 0x20], 0
mov dword [edi + 0x18], 0
mov dword [edi + 0x2c], 0
mov dword [edi + 0x30], 0
mov dword [edi + 0x24], 0
mov dword [edi + 0x28], 0
mov eax, dword [0x1008b850]
mov dword [esp + 0x28], eax
mov dword [eax + 0x1b9c], edi
mov ecx, dword [edi + 0x19c]
cmp ecx, 0xffffffff
je 0x10029540
imul ecx, ecx, 0x228
add ecx, dword [eax + 0x1ee0]
jmp 0x10029542
xor ecx, ecx
movss xmm0, dword [eax + 0x1934]
mov dword [eax + 0x1ed4], ecx
mov ecx, dword [edi + 0x318]
mulss xmm0, dword [edi + 0x27c]
test ecx, ecx
je 0x1002956a
mulss xmm0, dword [ecx + 0x27c]
movss dword [eax + 0x1944], xmm0
movss dword [eax + 0x1930], xmm0
test edx, 0x1000000
je 0x1002958c
movss xmm0, dword [esi + 0x1544]
jmp 0x100295ae
test edx, 0x6000000
je 0x100295a6
test edx, 0x8000000
jne 0x100295a6
movss xmm0, dword [esi + 0x154c]
jmp 0x100295ae
movss xmm0, dword [esi + 0x1528]
mov eax, edi
xorps xmm2, xmm2
movss dword [eax + 0x48], xmm0
mov eax, dword [esi + 0x151c]
mov ecx, dword [esi + 0x1520]
mov dword [edi + 0x3c], eax
mov eax, edx
and eax, 0x5010000
mov dword [edi + 0x40], ecx
cmp eax, 0x1000000
jne 0x10029602
ucomiss xmm0, xmm2
lahf
test ah, 0x44
jp 0x10029602
test edx, 0x400
je 0x100295f3
movss xmm0, dword [esi + 0x1520]
jmp 0x100295f6
xorps xmm0, xmm0
mov dword [edi + 0x3c], 0
movss dword [edi + 0x40], xmm0
movss xmm0, dword [edi + 0x3c]
maxss xmm0, dword [esi + 0x1560]
maxss xmm0, dword [esi + 0x1c78]
movss dword [edi + 0x154], xmm0
mov eax, dword [esi + 0x1c7c]
mov dword [edi + 0x158], eax
test dl, 0x21
jne 0x10029768
test byte [edi + 8], 1
mov ecx, dword [esp + 0x28]
je 0x10029643
xorps xmm3, xmm3
jmp 0x10029675
movss xmm0, dword [ecx + 0x1934]
mov eax, dword [edi + 0x318]
mulss xmm0, dword [edi + 0x27c]
test eax, eax
je 0x10029665
mulss xmm0, dword [eax + 0x27c]
movss xmm3, dword [ecx + 0x1554]
addss xmm3, xmm3
addss xmm3, xmm0
movss xmm4, dword [edi + 0xc]
movaps xmm0, xmm4
movss xmm5, dword [edi + 0x10]
addss xmm0, dword [edi + 0x1c]
addss xmm3, dword [edi + 0x10]
cmp dword [esi + 0x1ba0], edi
jne 0x10029732
cmp dword [esi + 0x1bc0], 0
jne 0x10029732
cmp dword [esi + 0x1bc4], 0
jne 0x10029732
mov eax, dword [ecx + 0x1b9c]
movss xmm1, dword [ecx + 0x1578]
movaps xmm6, xmm1
maxss xmm4, dword [eax + 0x230]
minss xmm0, dword [eax + 0x238]
maxss xmm5, dword [eax + 0x234]
minss xmm3, dword [eax + 0x23c]
subss xmm4, xmm1
movss xmm1, dword [ecx + 0xe4]
addss xmm6, xmm0
movss xmm0, dword [ecx + 0x157c]
movaps xmm7, xmm0
subss xmm5, xmm0
addss xmm7, xmm3
comiss xmm1, xmm4
jb 0x10029732
movss xmm0, dword [ecx + 0xe8]
comiss xmm0, xmm5
jb 0x10029732
comiss xmm6, xmm1
jbe 0x10029732
comiss xmm7, xmm0
jbe 0x10029732
cmp byte [esi + 0x3dd], 0
je 0x10029732
mov byte [edi + 0x8e], 1
cmp byte [edi + 0x8e], 0
je 0x1002976f
cmp byte [edi + 0x8d], 0
sete al
test dword [edi + 8], 0x100
mov byte [edi + 0x8d], al
jne 0x1002976f
comiss xmm2, dword [ecx + 0x2e9c]
jb 0x1002976f
mov eax, dword [ecx + 0x1c]
mov dword [ecx + 0x2e9c], eax
jmp 0x1002976f
mov byte [edi + 0x8d], 0
lea eax, [edi + 0x2c]
mov byte [edi + 0x8e], 0
push eax
mov edx, edi
lea ecx, [esp + 0xd8]
call fcn.10026540
mov cl, byte [esp + 0x1f]
add esp, 4
test byte [esp + 0x10], 0x40
mov byte [esp + 0xf], cl
je 0x100297e0
cmp byte [edi + 0x8d], 0
jne 0x100297e0
cmp byte [esp + 0x19], 0
jne 0x100297bd
movss xmm0, dword [esp + 0xd4]
movss dword [edi + 0x1c], xmm0
mov byte [esp + 0x1b], 1
cmp byte [esp + 0x17], 0
jne 0x10029897
movss xmm0, dword [esp + 0xd8]
movss dword [edi + 0x20], xmm0
mov byte [esp + 0xf], 1
jmp 0x10029897
mov al, byte [edi + 0xa4]
test al, al
jg 0x100297f7
cmp byte [edi + 0xa5], 0
jle 0x10029897
cmp byte [esp + 0x19], 0
jne 0x1002982e
test al, al
jle 0x1002982e
cmp byte [edi + 0xa7], 0
je 0x1002981b
movss xmm0, dword [edi + 0x1c]
maxss xmm0, dword [esp + 0xd4]
jmp 0x10029824
movss xmm0, dword [esp + 0xd4]
movss dword [edi + 0x1c], xmm0
mov byte [esp + 0x1b], 1
cmp byte [esp + 0x17], 0
jne 0x1002986a
cmp byte [edi + 0xa5], 0
jle 0x1002986a
cmp byte [edi + 0xa7], 0
je 0x10029857
movss xmm0, dword [edi + 0x20]
maxss xmm0, dword [esp + 0xd8]
jmp 0x10029860
movss xmm0, dword [esp + 0xd8]
movss dword [edi + 0x20], xmm0
mov byte [esp + 0xf], 1
cmp byte [edi + 0x8d], 0
jne 0x10029897
test dword [edi + 8], 0x100
mov ecx, dword [0x1008b850]
jne 0x10029897
xorps xmm0, xmm0
comiss xmm0, dword [ecx + 0x2e9c]
jb 0x10029897
mov eax, dword [ecx + 0x1c]
mov dword [ecx + 0x2e9c], eax
lea eax, [edi + 0x1c]
mov edx, edi
push eax
lea ecx, [esp + 0xa4]
call fcn.10026200
add esp, 4
cmp byte [edi + 0x8d], 0
movss xmm3, dword [eax]
movss xmm0, dword [eax + 4]
movss dword [edi + 0x1c], xmm3
movss dword [edi + 0x20], xmm0
je 0x1002993e
test dword [esp + 0x10], 0x1000000
jne 0x1002993e
test byte [edi + 8], 1
je 0x100298e1
xorps xmm2, xmm2
jmp 0x10029918
mov eax, dword [0x1008b850]
mov ecx, dword [edi + 0x318]
movss xmm0, dword [eax + 0x1934]
mulss xmm0, dword [edi + 0x27c]
test ecx, ecx
je 0x10029908
mulss xmm0, dword [ecx + 0x27c]
movss xmm2, dword [eax + 0x1554]
addss xmm2, xmm2
addss xmm2, xmm0
movss xmm0, dword [edi + 0xc]
addss xmm2, dword [edi + 0x10]
addss xmm0, xmm3
subss xmm2, dword [edi + 0x10]
subss xmm0, dword [edi + 0xc]
movss dword [esp + 0x44], xmm2
movss dword [esp + 0x40], xmm0
jmp 0x1002994c
mov eax, dword [edi + 0x1c]
mov ecx, dword [edi + 0x20]
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], ecx
mov edx, dword [edi + 8]
lea ecx, [esp + 0x40]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [edi + 0x14], eax
mov eax, dword [0x1008b850]
mov dword [edi + 0x18], ecx
test dl, 1
je 0x1002996d
xorps xmm1, xmm1
jmp 0x1002999f
movss xmm0, dword [eax + 0x1934]
mov ecx, dword [edi + 0x318]
mulss xmm0, dword [edi + 0x27c]
test ecx, ecx
je 0x1002998f
mulss xmm0, dword [ecx + 0x27c]
movss xmm1, dword [eax + 0x1554]
addss xmm1, xmm1
addss xmm1, xmm0
test edx, 0x400
je 0x100299e3
movss xmm2, dword [eax + 0x1934]
mov ecx, dword [edi + 0x318]
mulss xmm2, dword [edi + 0x27c]
test ecx, ecx
je 0x100299c9
mulss xmm2, dword [ecx + 0x27c]
movss xmm0, dword [eax + 0x1554]
addss xmm2, dword [edi + 0x158]
addss xmm0, xmm0
addss xmm2, xmm0
jmp 0x100299e6
xorps xmm2, xmm2
cmp byte [esp + 0x1a], 0
addss xmm2, xmm1
mov ecx, dword [esp + 0x10]
movss dword [esp + 0x28], xmm2
je 0x10029a43
mov eax, ecx
mov dword [edi + 0xa8], 0xffffffff
and eax, 0xc000000
cmp eax, 0x4000000
jne 0x10029a43
cmp byte [esp + 0x18], 0
jne 0x10029a43
mov eax, dword [esi + 0x1ce8]
lea ecx, [eax + eax*8]
mov eax, dword [esi + 0x1cf0]
movss xmm0, dword [eax + ecx*4 - 0x10]
movss xmm1, dword [eax + ecx*4 - 0xc]
mov ecx, dword [esp + 0x10]
movss dword [edi + 0xc], xmm0
movss dword [edi + 0x10], xmm1
test ecx, 0x1000000
je 0x10029ae4
mov edx, dword [esp + 0x3c]
add edx, 0x188
mov dword [esp + 0x34], edx
mov ax, word [edx]
mov word [edi + 0x98], ax
mov ecx, dword [edx + 4]
cmp dword [edx], ecx
jne 0x10029a9e
test ecx, ecx
je 0x10029a81
mov eax, ecx
cdq
sub eax, edx
mov edx, dword [esp + 0x34]
sar eax, 1
add eax, ecx
jmp 0x10029a86
mov eax, 8
mov ecx, dword [edx]
inc ecx
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, edx
call fcn.10032750
mov esi, dword [esp + 0x2c]
mov edx, dword [esp + 0x34]
mov ecx, dword [edx]
mov eax, dword [edx + 8]
mov dword [eax + ecx*4], edi
inc dword [edx]
mov ecx, dword [esp + 0x10]
mov al, byte [esp + 0x18]
mov edx, dword [esp + 0x30]
test ecx, 0x4000000
jne 0x10029aec
test al, al
jne 0x10029aec
cmp edx, 0x3000000
je 0x10029aec
mov ecx, dword [esp + 0x3c]
mov eax, dword [ecx + 0xd0]
mov ecx, dword [ecx + 0xd4]
mov dword [edi + 0x10], ecx
mov ecx, dword [esp + 0x10]
mov dword [edi + 0xc], eax
jmp 0x10029ae8
mov edx, dword [esp + 0x30]
mov al, byte [esp + 0x18]
movss xmm1, dword [edi + 0xb4]
ucomiss xmm1, dword [0x10082414]
lahf
test ah, 0x44
jnp 0x10029b52
cmp byte [edi + 0xad], 0
jne 0x10029b52
movss xmm0, dword [edi + 0xbc]
lea edx, [esp + 0x40]
mulss xmm0, dword [edi + 0x14]
mov ecx, edi
push 0
subss xmm1, xmm0
movss xmm0, dword [edi + 0xb8]
movss dword [esp + 0x44], xmm1
movss xmm1, dword [edi + 0xc0]
mulss xmm1, dword [edi + 0x18]
subss xmm0, xmm1
movss dword [esp + 0x48], xmm0
call fcn.1002bc80
add esp, 4
jmp 0x10029ba1
test ecx, 0x10000000
jne 0x10029b80
test ecx, 0x4000000
je 0x10029b6c
test al, al
jne 0x10029b6c
cmp byte [esp + 0x3b], al
jg 0x10029b80
test ecx, 0x2000000
je 0x10029ba5
test al, al
jne 0x10029ba5
cmp edx, 0x3000000
je 0x10029ba5
mov edx, edi
lea ecx, [esp + 0x90]
call fcn.1002dab0
movss xmm1, dword [eax + 4]
movss xmm0, dword [eax]
movss dword [edi + 0xc], xmm0
movss dword [edi + 0x10], xmm1
mov ecx, dword [esp + 0x10]
cmp byte [esp + 0x18], 0
mov edx, dword [0x1008b850]
movss xmm3, dword [esi + 0x15c0]
movss xmm2, dword [esi + 0x15bc]
maxss xmm3, dword [esi + 0x15c8]
mov eax, dword [edx + 0x1cfc]
maxss xmm2, dword [esi + 0x15c4]
mov eax, dword [eax]
movss xmm5, dword [eax + 0x14]
movss xmm4, dword [eax + 0x18]
addss xmm5, dword [eax + 0x1c]
addss xmm4, dword [eax + 0x20]
movss xmm1, dword [eax + 4]
movss xmm0, dword [eax + 8]
movaps xmm6, xmm1
addss xmm6, dword [eax + 0xc]
movaps xmm7, xmm0
movss dword [esp + 0x6c], xmm1
addss xmm7, dword [eax + 0x10]
subss xmm5, xmm2
movss dword [esp + 0xdc], xmm1
addss xmm2, dword [eax + 0x14]
subss xmm4, xmm3
movss dword [esp + 0x34], xmm0
addss xmm3, dword [eax + 0x18]
movss dword [esp + 0xe0], xmm0
movss dword [esp + 0x68], xmm6
movss dword [esp + 0xe4], xmm6
movss dword [esp + 0x20], xmm7
movss dword [esp + 0xe8], xmm7
movss dword [esp + 0xf0], xmm2
movss dword [esp + 0xf4], xmm3
movss dword [esp + 0xf8], xmm5
movss dword [esp + 0xfc], xmm4
jne 0x10029d44
test ecx, 0x1000000
jne 0x10029d44
cmp byte [edi + 0xa4], 0
jg 0x10029d44
cmp byte [edi + 0xa5], 0
jg 0x10029d44
movaps xmm0, xmm6
subss xmm0, xmm1
xorps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x10029d44
movaps xmm0, xmm7
subss xmm0, dword [esp + 0x34]
comiss xmm0, xmm1
jbe 0x10029d44
cmp byte [edx + 0xb5], 0
movss xmm1, dword [edi + 0x18]
je 0x10029d0f
test byte [edi + 8], 1
jne 0x10029d0f
movss xmm0, dword [edx + 0x1934]
mov eax, dword [edi + 0x318]
mulss xmm0, dword [edi + 0x27c]
test eax, eax
je 0x10029cff
mulss xmm0, dword [eax + 0x27c]
movss xmm1, dword [edx + 0x1554]
addss xmm1, xmm1
addss xmm1, xmm0
movss xmm0, dword [edi + 0x10]
subss xmm3, xmm1
subss xmm2, dword [edi + 0x14]
comiss xmm3, xmm0
ja 0x10029d29
movaps xmm3, xmm4
minss xmm3, xmm0
movss xmm0, dword [edi + 0xc]
comiss xmm2, xmm0
ja 0x10029d3a
movaps xmm2, xmm5
minss xmm2, xmm0
movss dword [edi + 0xc], xmm2
movss dword [edi + 0x10], xmm3
cvttss2si eax, dword [edi + 0xc]
movd xmm1, eax
cvttss2si eax, dword [edi + 0x10]
cvtdq2ps xmm1, xmm1
movd xmm0, eax
movss dword [edi + 0xc], xmm1
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x10], xmm0
test ecx, 0x1000000
je 0x10029d78
movss xmm3, dword [esi + 0x1540]
jmp 0x10029d98
mov eax, ecx
and eax, 0xc000000
cmp eax, 0x4000000
jne 0x10029d90
movss xmm3, dword [esi + 0x1548]
jmp 0x10029d98
movss xmm3, dword [esi + 0x1524]
xor dl, dl
movss dword [edi + 0x44], xmm3
mov dword [esp + 0x48], edx
cmp byte [esp + 0x1a], dl
je 0x10029dd5
test ecx, 0x1000
jne 0x10029dd5
test ecx, 0x4000000
je 0x10029dc0
mov byte [esp + 0x48], 1
jmp 0x10029dd5
test ecx, 0x3000000
movzx edx, dl
mov eax, 1
cmove edx, eax
mov dword [esp + 0x48], edx
movss xmm1, dword [esi + 0x1930]
xorps xmm0, xmm0
addss xmm3, dword [0x10082268]
movaps xmmword [esp + 0x100], xmm0
xor eax, eax
cmp byte [esi + 0xb4], al
movaps xmm0, xmm1
mulss xmm1, dword [0x10082204]
setne al
mov dword [esp + 0xec], 0xffffffff
mulss xmm0, dword [0x10082278]
inc eax
cmp byte [edi + 0x8d], 0
addss xmm3, xmm1
mov dword [esp + 0x40], eax
maxss xmm0, xmm3
cvttss2si esi, xmm0
jne 0x10029e6b
lea ecx, [esp + 0xf0]
push ecx
lea ecx, [esp + 0x104]
push ecx
push eax
lea eax, [esp + 0xf8]
mov ecx, edi
push eax
lea edx, [esp + 0xe4]
call fcn.100267c0
mov ecx, dword [esp + 0x20]
add esp, 0x10
test al, al
je 0x10029e6b
mov dl, 1
mov dh, dl
jmp 0x10029e73
mov dh, byte [esp + 0x1b]
mov dl, byte [esp + 0xf]
cmp byte [edi + 0x8d], 0
mov al, byte [esp + 0xec]
movss xmm7, dword [esp + 0x28]
mov byte [edi + 0x94], al
jne 0x10029ff0
movss xmm2, dword [edi + 0x1f8]
lea eax, [esp + 0x4c]
movss xmm3, dword [edi + 0x1fc]
subss xmm2, dword [edi + 0x1f0]
subss xmm3, dword [edi + 0x1f4]
movss xmm4, dword [edi + 0x20]
cmp dword [esp + 0x1c], 0
subss xmm4, xmm7
movss xmm5, dword [edi + 0x1c]
addss xmm2, dword [edi + 0x80]
addss xmm3, dword [edi + 0x84]
mov dword [esp + 0x1c], eax
jne 0x10029ef2
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
jmp 0x10029f1a
movss xmm0, dword [edi + 0x3c]
movss xmm1, dword [edi + 0x40]
addss xmm0, xmm0
addss xmm1, xmm1
addss xmm0, dword [edi + 0x24]
addss xmm1, dword [edi + 0x28]
movss dword [esp + 0x4c], xmm0
movss dword [esp + 0x50], xmm1
movss xmm6, dword [eax + 4]
test dh, dh
jne 0x10029f26
movaps xmm5, xmm2
test dl, dl
jne 0x10029f2d
movaps xmm4, xmm3
test ecx, 0x4000
jne 0x10029f43
comiss xmm6, xmm4
jbe 0x10029f3f
test cl, 8
je 0x10029f43
xor al, al
jmp 0x10029f45
mov al, 1
mov byte [esp + 0xf], al
mov byte [edi + 0x89], al
test ecx, 0x8000
jne 0x10029fa2
mov edx, dword [esp + 0x2c]
xorps xmm0, xmm0
test al, al
je 0x10029f6c
movss xmm1, dword [edx + 0x1588]
jmp 0x10029f6f
xorps xmm1, xmm1
mov ecx, dword [esp + 0x1c]
subss xmm5, xmm1
movss xmm1, dword [ecx]
comiss xmm1, xmm5
mov ecx, dword [esp + 0x10]
jbe 0x10029f96
mov eax, ecx
and eax, 0x808
cmp eax, 0x800
mov al, byte [esp + 0xf]
je 0x10029fa2
mov byte [edi + 0x88], 0
xorps xmm1, xmm1
jmp 0x10029fd2
mov byte [edi + 0x88], 1
test al, al
jne 0x10029fc3
comiss xmm6, xmm4
jbe 0x10029fbb
test cl, 8
jne 0x10029fbb
mov al, 1
jmp 0x10029fbd
xor al, al
mov byte [edi + 0x89], al
mov edx, dword [esp + 0x2c]
xorps xmm0, xmm0
movss xmm1, dword [edx + 0x1588]
test al, al
je 0x10029fde
movss xmm0, dword [edx + 0x1588]
movss dword [edi + 0x80], xmm0
movss dword [edi + 0x84], xmm1
jmp 0x10029ff4
mov edx, dword [esp + 0x2c]
mov eax, ecx
and eax, 0x5000000
cmp eax, 0x1000000
jne 0x1002a017
cmp dword [esp + 0x30], 0x3000000
je 0x1002a017
mov eax, dword [esp + 0x3c]
add eax, 0x230
jmp 0x1002a01e
lea eax, [esp + 0xdc]
test byte [edi + 8], 1
movss xmm1, dword [edi + 0x10]
movss xmm2, dword [edi + 0xc]
movaps xmm0, xmm1
addss xmm0, dword [edi + 0x18]
movups xmm5, xmmword [eax]
movaps xmm6, xmm2
movss dword [esp + 0x24], xmm2
addss xmm6, dword [edi + 0x14]
movaps xmmword [esp + 0x70], xmm5
movss dword [esp + 0x1c], xmm1
movss dword [esp + 0x5c], xmm0
je 0x1002a05d
xorps xmm4, xmm4
jmp 0x1002a0a1
cmp dword [edi + 0x318], 0
mov eax, dword [0x1008b850]
mov edx, dword [esp + 0x2c]
movss xmm0, dword [eax + 0x1934]
mulss xmm0, dword [edi + 0x27c]
je 0x1002a091
mov ecx, dword [edi + 0x318]
mulss xmm0, dword [ecx + 0x27c]
mov ecx, dword [esp + 0x10]
movss xmm4, dword [eax + 0x1554]
addss xmm4, xmm4
addss xmm4, xmm0
addss xmm2, dword [edi + 0x1c]
movss xmm0, dword [edi + 0x10]
addss xmm1, xmm4
movss xmm4, dword [esp + 0x24]
and ecx, 0x401
movss dword [esp + 0xc4], xmm0
xorps xmm3, xmm3
movss dword [esp + 0xc0], xmm4
movss dword [esp + 0xc8], xmm2
movaps xmm2, xmm5
movss dword [esp + 0xcc], xmm1
movss xmm1, dword [esp + 0x1c]
movss dword [edi + 0x1e0], xmm4
movss dword [edi + 0x1e4], xmm1
movss dword [edi + 0x1e8], xmm6
movaps xmm6, xmm5
movss xmm0, dword [esp + 0x5c]
movss dword [edi + 0x1ec], xmm0
movss xmm0, dword [edi + 0x1e0]
shufps xmm6, xmm5, 0x55
maxss xmm0, xmm5
shufps xmm2, xmm5, 0xff
maxss xmm1, xmm6
movups xmmword [esp + 0xb0], xmm6
movups xmmword [esp + 0x80], xmm2
movss dword [edi + 0x1e0], xmm0
movaps xmm0, xmm5
movss dword [edi + 0x1e4], xmm1
movss xmm1, dword [edi + 0x1e8]
shufps xmm0, xmm5, 0xaa
minss xmm1, xmm0
movups xmmword [esp + 0xa0], xmm0
movss xmm0, dword [edi + 0x1ec]
minss xmm0, xmm2
movss dword [edi + 0x1e8], xmm1
movss dword [edi + 0x1ec], xmm0
movss xmm0, dword [edi + 0x10]
movss xmm1, dword [edi + 0xc]
addss xmm0, xmm7
movss xmm7, dword [edi + 0x10]
movss dword [edi + 0x1f0], xmm1
addss xmm7, dword [edi + 0x18]
movss dword [esp + 0x5c], xmm0
movss dword [edi + 0x1f4], xmm0
movaps xmm0, xmm1
addss xmm0, dword [edi + 0x14]
subss xmm7, dword [edi + 0x84]
subss xmm0, dword [edi + 0x80]
movss dword [edi + 0x1fc], xmm7
movss dword [esp + 0x24], xmm0
movss dword [edi + 0x1f8], xmm0
cmp ecx, 1
jne 0x1002a1eb
movss xmm0, dword [edi + 0x48]
jmp 0x1002a1f3
movss xmm0, dword [edx + 0x155c]
movss xmm4, dword [0x10082224]
movss dword [esp + 0x1c], xmm0
addss xmm7, xmm4
movss xmm0, dword [edi + 0x3c]
mulss xmm0, xmm4
subss xmm7, dword [edi + 0x48]
cvttss2si eax, xmm0
movss xmm0, dword [edi + 0xc]
addss xmm0, xmm4
movd xmm1, eax
cvtdq2ps xmm1, xmm1
maxss xmm1, dword [edi + 0x48]
addss xmm0, xmm1
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x200], xmm0
movss xmm0, dword [esp + 0x5c]
addss xmm0, xmm4
addss xmm0, dword [esp + 0x1c]
cvttss2si ecx, xmm0
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x204], xmm0
movss xmm0, dword [esp + 0x24]
addss xmm0, xmm4
movups xmm4, xmmword [esp + 0x80]
subss xmm0, xmm1
cvttss2si ecx, xmm0
movd xmm0, ecx
cvttss2si ecx, xmm7
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x208], xmm0
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x20c], xmm0
movss xmm0, dword [edi + 0x204]
comiss xmm6, xmm0
jbe 0x1002a2b4
movaps xmm1, xmm6
jmp 0x1002a2bb
movaps xmm1, xmm4
minss xmm1, xmm0
movups xmm7, xmmword [esp + 0xa0]
movd xmm2, eax
cvtdq2ps xmm2, xmm2
comiss xmm5, xmm2
jbe 0x1002a2d4
movaps xmm0, xmm5
jmp 0x1002a2db
movaps xmm0, xmm7
minss xmm0, xmm2
movss dword [edi + 0x200], xmm0
movss dword [edi + 0x204], xmm1
movss xmm1, dword [edi + 0x20c]
comiss xmm6, xmm1
jbe 0x1002a2fd
movaps xmm0, xmm6
jmp 0x1002a304
movaps xmm0, xmm4
minss xmm0, xmm1
movss xmm1, dword [edi + 0x208]
comiss xmm5, xmm1
ja 0x1002a318
movaps xmm5, xmm7
minss xmm5, xmm1
movss dword [edi + 0x208], xmm5
movss dword [edi + 0x20c], xmm0
movss xmm0, dword [edi + 0x14]
comiss xmm0, xmm3
jbe 0x1002a346
test dword [esp + 0x10], 0x2000040
jne 0x1002a346
mulss xmm0, dword [0x10082234]
jmp 0x1002a356
movss xmm0, dword [edx + 0x1930]
mulss xmm0, dword [0x10082330]
cvttss2si eax, xmm0
mov ecx, edi
mov edx, edi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ecx + 0x260], xmm0
lea ecx, [esp + 0x90]
movss xmm1, dword [edi + 0x3c]
movss xmm0, dword [edi + 0x1f8]
addss xmm1, xmm1
subss xmm0, dword [edi + 0x1f0]
addss xmm1, dword [edi + 0x24]
subss xmm1, xmm0
xorps xmm0, xmm0
maxss xmm0, xmm1
movss xmm1, dword [edi + 0x40]
addss xmm1, xmm1
movss dword [edi + 0x60], xmm0
movss xmm0, dword [edi + 0x1fc]
subss xmm0, dword [edi + 0x1f4]
addss xmm1, dword [edi + 0x28]
subss xmm1, xmm0
xorps xmm0, xmm0
maxss xmm0, xmm1
movss dword [edi + 0x64], xmm0
call fcn.1002c9b0
mov ecx, dword [edi + 0x284]
mov dword [esp + 0x4c], ecx
add ecx, 0x48
mov dword [esp + 0x1c], ecx
movss xmm0, dword [eax]
movss xmm1, dword [eax + 4]
mov eax, dword [esp + 0x2c]
movss dword [edi + 0x58], xmm0
movss dword [edi + 0x5c], xmm1
mov dword [edi + 0x68], 0x7f7fffff
mov dword [edi + 0x6c], 0x7f7fffff
mov eax, dword [eax + 0x192c]
mov edx, dword [ecx]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 4]
mov dword [esp + 0x24], eax
mov eax, dword [ecx + 4]
cmp edx, eax
jne 0x1002a44f
inc edx
mov dword [esp + 0x5c], edx
test eax, eax
je 0x1002a43b
cdq
sub eax, edx
mov edx, dword [esp + 0x5c]
sar eax, 1
add eax, dword [ecx + 4]
jmp 0x1002a440
mov eax, 8
cmp eax, edx
cmovg edx, eax
push edx
call fcn.10032750
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
mov eax, dword [ecx + 8]
mov ecx, dword [esp + 0x24]
mov dword [eax + edx*4], ecx
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
inc dword [ecx]
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x70], eax
call fcn.1003a950
mov ecx, dword [0x1008b850]
movaps xmm0, xmmword [esp + 0x70]
comiss xmm0, dword [esp + 0xa0]
mov eax, dword [ecx + 0x1b9c]
mov byte [eax + 0x8c], 1
mov eax, dword [ecx + 0x1b9c]
mov dword [esp + 0x1c], eax
movaps xmmword [esp + 0x90], xmm0
mov eax, dword [eax + 0x284]
mov dword [esp + 0x24], eax
jb 0x1002a4c5
movss dword [esp + 0x98], xmm0
movaps xmm0, xmmword [esp + 0x90]
movaps xmmword [esp + 0x70], xmm0
movups xmm0, xmmword [esp + 0xb0]
comiss xmm0, dword [esp + 0x80]
jb 0x1002a4ed
movss dword [esp + 0x9c], xmm0
movaps xmm0, xmmword [esp + 0x90]
movaps xmmword [esp + 0x70], xmm0
mov edx, dword [eax + 0x3c]
lea ecx, [eax + 0x3c]
mov eax, dword [ecx + 4]
mov dword [esp + 0x5c], ecx
cmp edx, eax
jne 0x1002a529
inc edx
mov dword [esp + 0x4c], edx
test eax, eax
je 0x1002a515
cdq
sub eax, edx
mov edx, dword [esp + 0x4c]
sar eax, 1
add eax, dword [ecx + 4]
jmp 0x1002a51a
mov eax, 8
cmp eax, edx
cmovg edx, eax
push edx
call fcn.10042220
mov ecx, dword [esp + 0x5c]
mov eax, dword [ecx]
mov edx, dword [ecx + 8]
add eax, eax
movaps xmm0, xmmword [esp + 0x70]
movups xmmword [edx + eax*8], xmm0
inc dword [ecx]
mov ecx, dword [esp + 0x24]
movups xmmword [ecx + 0x60], xmm0
call fcn.1003a8b0
mov edx, dword [esp + 0x1c]
mov eax, dword [edx + 0x284]
mov ecx, dword [eax + 0x3c]
mov eax, dword [eax + 0x44]
add ecx, ecx
test dword [esp + 0x10], 0x8000000
movss xmm0, dword [eax + ecx*8 - 0xc]
movss xmm1, dword [eax + ecx*8 - 8]
movss xmm2, dword [eax + ecx*8 - 4]
mov eax, dword [eax + ecx*8 - 0x10]
mov dword [edx + 0x230], eax
movss dword [edx + 0x234], xmm0
movss dword [edx + 0x238], xmm1
movss dword [edx + 0x23c], xmm2
je 0x1002a5b6
call fcn.1002d120
cmp edi, eax
jne 0x1002a5b6
cmp byte [edi + 0xad], 0
jg 0x1002a5b6
mov dl, 1
mov dword [esp + 0x24], 0x404
jmp 0x1002a5c0
xor dl, dl
mov dword [esp + 0x24], 0x3f4
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx + 0x1e0c]
test eax, eax
je 0x1002a5da
cmp edi, dword [eax + 0x31c]
jne 0x1002a5da
mov al, 1
jmp 0x1002a5dc
xor al, al
movss xmm3, dword [0x100823cc]
mov byte [esp + 0xf], al
test dl, dl
jne 0x1002a5f4
test al, al
je 0x1002a89c
mov eax, dword [0x1008b850]
mov edx, dword [esp + 0x24]
movss xmm5, dword [ecx + 0x1e3c]
movss xmm1, dword [0x10082268]
mulss xmm5, dword [eax + 0x1518]
movups xmm2, xmmword [eax + edx + 0x1518]
movaps xmm0, xmm2
movaps xmmword [esp + 0x80], xmm2
shufps xmm0, xmm2, 0xff
mulss xmm5, xmm0
xorps xmm0, xmm0
comiss xmm0, xmm2
jbe 0x1002a63d
xorps xmm4, xmm4
jmp 0x1002a644
movaps xmm4, xmm1
minss xmm4, xmm2
movss xmm2, dword [0x10082224]
movss xmm6, dword [esp + 0x84]
comiss xmm0, xmm6
mulss xmm4, xmm3
addss xmm4, xmm2
cvttss2si ecx, xmm4
jbe 0x1002a66b
xorps xmm4, xmm4
jmp 0x1002a672
movaps xmm4, xmm1
minss xmm4, xmm6
movss xmm6, dword [esp + 0x88]
mulss xmm4, xmm3
addss xmm4, xmm2
cvttss2si eax, xmm4
shl eax, 8
or ecx, eax
comiss xmm0, xmm6
jbe 0x1002a696
xorps xmm4, xmm4
jmp 0x1002a69d
movaps xmm4, xmm1
minss xmm4, xmm6
mulss xmm4, xmm3
addss xmm4, xmm2
cvttss2si eax, xmm4
shl eax, 0x10
or ecx, eax
comiss xmm0, xmm5
jbe 0x1002a6b8
xorps xmm1, xmm1
jmp 0x1002a6bc
minss xmm1, xmm5
mulss xmm1, xmm3
push 0
push ecx
mov dword [esp], 0
addss xmm1, xmm2
cvttss2si eax, xmm1
shl eax, 0x18
or eax, ecx
mov ecx, dword [edi + 0x284]
push eax
lea eax, [esp + 0xf0]
push eax
lea eax, [esp + 0xec]
push eax
call fcn.1003cc60
cmp byte [esp + 0xf], 0
je 0x1002a89c
mov ecx, dword [esp + 0x2c]
cmp edi, dword [ecx + 0x1e0c]
jne 0x1002a89c
movss xmm2, dword [edi + 0xc]
movss xmm3, dword [edi + 0x10]
movaps xmm1, xmm2
movss xmm0, dword [ecx + 0x1930]
movaps xmm4, xmm3
addss xmm2, dword [edi + 0x14]
addss xmm3, dword [edi + 0x18]
subss xmm1, xmm0
subss xmm4, xmm0
addss xmm2, xmm0
addss xmm3, xmm0
movss xmm0, dword [esp + 0x6c]
comiss xmm0, xmm1
movss dword [esp + 0xdc], xmm1
movss dword [esp + 0xe0], xmm4
movss dword [esp + 0xe4], xmm2
movss dword [esp + 0xe8], xmm3
jb 0x1002a78c
movss xmm0, dword [esp + 0x34]
comiss xmm0, xmm4
jb 0x1002a78c
comiss xmm2, dword [esp + 0x68]
jb 0x1002a78c
comiss xmm3, dword [esp + 0x20]
jae 0x1002a89c
mov eax, dword [0x1008b850]
movss xmm5, dword [ecx + 0x1e18]
mulss xmm5, dword [0x10082208]
movups xmm2, xmmword [eax + 0x18fc]
mulss xmm5, dword [eax + 0x1518]
movss xmm7, dword [ecx + 0x1524]
movaps xmm0, xmm2
movss xmm1, dword [0x10082268]
shufps xmm0, xmm2, 0xff
mulss xmm5, xmm0
xorps xmm0, xmm0
comiss xmm0, xmm2
movaps xmmword [esp + 0x80], xmm2
jbe 0x1002a7e0
xorps xmm4, xmm4
jmp 0x1002a7e7
movaps xmm4, xmm1
minss xmm4, xmm2
movss xmm3, dword [0x100823cc]
movss xmm2, dword [0x10082224]
movss xmm6, dword [esp + 0x84]
comiss xmm0, xmm6
mulss xmm4, xmm3
addss xmm4, xmm2
cvttss2si ecx, xmm4
jbe 0x1002a816
xorps xmm4, xmm4
jmp 0x1002a81d
movaps xmm4, xmm1
minss xmm4, xmm6
movss xmm6, dword [esp + 0x88]
mulss xmm4, xmm3
addss xmm4, xmm2
cvttss2si eax, xmm4
shl eax, 8
or ecx, eax
comiss xmm0, xmm6
jbe 0x1002a841
xorps xmm4, xmm4
jmp 0x1002a848
movaps xmm4, xmm1
minss xmm4, xmm6
mulss xmm4, xmm3
addss xmm4, xmm2
cvttss2si eax, xmm4
shl eax, 0x10
or ecx, eax
comiss xmm0, xmm5
jbe 0x1002a863
xorps xmm1, xmm1
jmp 0x1002a867
minss xmm1, xmm5
mulss xmm1, xmm3
push 0
push ecx
movss dword [esp], xmm7
addss xmm1, xmm2
cvttss2si eax, xmm1
shl eax, 0x18
or eax, ecx
mov ecx, dword [edi + 0x284]
push eax
lea eax, [esp + 0xf0]
push eax
lea eax, [esp + 0xec]
push eax
call fcn.1003cc60
mov eax, dword [esp + 0x10]
and eax, 0x5000000
mov byte [esp + 0xf], 0
cmp eax, 0x1000000
jne 0x1002a8eb
cmp dword [esp + 0x30], 0x3000000
je 0x1002a8eb
mov edx, dword [edi + 0x284]
mov eax, dword [edx]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 8]
cmp dword [eax + ecx*8 - 0xc], 0
jne 0x1002a8eb
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + 0x284]
cmp dword [eax + 0x18], 0
jle 0x1002a8eb
mov byte [esp + 0xf], 1
mov dword [edi + 0x284], eax
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0x1e08]
test ecx, ecx
jne 0x1002a8ff
mov ecx, dword [eax + 0x1d00]
cmp byte [esp + 0x48], 0
jne 0x1002a91f
test ecx, ecx
je 0x1002a918
mov eax, dword [edi + 0x320]
cmp eax, dword [ecx + 0x320]
je 0x1002a91f
mov byte [esp + 0x24], 0
jmp 0x1002a924
mov byte [esp + 0x24], 1
movd xmm0, esi
lea eax, [esp + 0x100]
cvtdq2ps xmm0, xmm0
push ecx
lea edx, [esp + 0xc4]
mov ecx, edi
movss dword [esp], xmm0
push eax
push dword [esp + 0x48]
push dword [esp + 0x30]
call fcn.10027560
add esp, 0x10
cmp byte [esp + 0xf], 0
je 0x1002a965
lea eax, [edi + 0x288]
mov dword [edi + 0x284], eax
mov esi, dword [esp + 0x2c]
cmp dword [esi + 0x1e0c], edi
jne 0x1002abe4
movss xmm4, dword [edi + 0x44]
movss xmm5, dword [edi + 0xc]
movaps xmm0, xmm4
movss xmm2, dword [esi + 0x1930]
movaps xmm7, xmm5
maxss xmm0, dword [esi + 0x1524]
movss xmm3, dword [edi + 0x10]
subss xmm7, xmm2
addss xmm5, dword [edi + 0x14]
movaps xmm6, xmm3
addss xmm3, dword [edi + 0x18]
movss dword [esp + 0x1c], xmm0
subss xmm6, xmm2
movss xmm0, dword [esp + 0x6c]
comiss xmm0, xmm7
addss xmm5, xmm2
addss xmm3, xmm2
jb 0x1002aa0f
movss xmm0, dword [esp + 0x34]
comiss xmm0, xmm6
jb 0x1002aa0f
comiss xmm5, dword [esp + 0x68]
jb 0x1002aa0f
comiss xmm3, dword [esp + 0x20]
movss xmm1, dword [0x10082268]
jb 0x1002aa17
xorps xmm2, xmmword [0x10082820]
subss xmm2, xmm1
movss dword [esp + 0x1c], xmm4
movaps xmm0, xmm2
subss xmm7, xmm2
subss xmm6, xmm2
addss xmm5, xmm0
addss xmm3, xmm2
jmp 0x1002aa17
movss xmm1, dword [0x10082268]
mov edx, dword [0x1008b850]
movss xmm2, dword [esi + 0x1e18]
mov ecx, dword [edi + 0x284]
mov dword [esp + 0x24], ecx
movups xmm4, xmmword [edx + 0x18fc]
mulss xmm2, dword [edx + 0x1518]
movaps xmm0, xmm4
movaps xmmword [esp + 0x70], xmm4
shufps xmm0, xmm4, 0xff
xorps xmm4, xmm4
mulss xmm2, xmm0
movss dword [esp + 0x68], xmm2
movups xmm2, xmmword [edx + 0x18fc]
comiss xmm4, xmm2
jbe 0x1002aa68
xorps xmm0, xmm0
jmp 0x1002aa6f
movaps xmm0, xmm1
minss xmm0, xmm2
comiss xmm4, dword [esp + 0x74]
movss xmm2, dword [0x100823cc]
mulss xmm0, xmm2
movss dword [esp + 0x40], xmm0
movss xmm1, dword [esp + 0x40]
movss xmm0, dword [0x10082224]
addss xmm1, xmm0
cvttss2si eax, xmm1
movss xmm1, dword [0x10082268]
mov dword [esp + 0x30], eax
jbe 0x1002aab2
movss dword [esp + 0x20], xmm4
jmp 0x1002aac9
movaps xmm2, xmm1
minss xmm2, dword [esp + 0x74]
movss dword [esp + 0x20], xmm2
movss xmm2, dword [0x100823cc]
movss xmm4, dword [esp + 0x20]
mulss xmm4, xmm2
addss xmm4, xmm0
cvttss2si eax, xmm4
xorps xmm4, xmm4
shl eax, 8
or dword [esp + 0x30], eax
comiss xmm4, dword [esp + 0x78]
jbe 0x1002aafc
movss xmm1, dword [0x10082268]
movss dword [esp + 0x20], xmm4
jmp 0x1002ab13
movaps xmm0, xmm1
minss xmm0, dword [esp + 0x78]
movss dword [esp + 0x20], xmm0
movss xmm0, dword [0x10082224]
movss xmm4, dword [esp + 0x20]
mulss xmm4, xmm2
addss xmm4, xmm0
cvttss2si eax, xmm4
xorps xmm4, xmm4
shl eax, 0x10
or dword [esp + 0x30], eax
comiss xmm4, dword [esp + 0x68]
jbe 0x1002ab3b
xorps xmm1, xmm1
jmp 0x1002ab41
minss xmm1, dword [esp + 0x68]
mulss xmm1, xmm2
addss xmm1, xmm0
cvttss2si eax, xmm1
shl eax, 0x18
or eax, dword [esp + 0x30]
mov dword [esp + 0x40], eax
test eax, 0xff000000
je 0x1002abed
test byte [ecx + 0x24], 1
addss xmm7, xmm0
addss xmm6, xmm0
push 0
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x64]
movss dword [esp + 0x64], xmm7
movss dword [esp + 0x68], xmm6
push eax
je 0x1002ab93
subss xmm5, xmm0
subss xmm3, xmm0
jmp 0x1002aba3
subss xmm5, dword [0x10082220]
subss xmm3, dword [0x10082220]
movss dword [esp + 0x5c], xmm3
movss xmm3, dword [esp + 0x28]
movss dword [esp + 0x58], xmm5
call fcn.1003c590
mov eax, dword [esp + 0x24]
push ecx
mov dword [esp], 0x40400000
mov ecx, eax
push 1
push dword [esp + 0x48]
push dword [eax + 0x54]
push dword [eax + 0x5c]
call fcn.1003acb0
mov eax, dword [esp + 0x24]
mov dword [eax + 0x54], 0
mov edx, dword [0x1008b850]
xorps xmm4, xmm4
mov ecx, dword [esp + 0x10]
mov eax, ecx
movss xmm7, dword [edi + 0x34]
shr eax, 3
not al
and eax, 0xffffff01
ucomiss xmm7, xmm4
mov dword [esp + 0x40], eax
lahf
test ah, 0x44
jp 0x1002ac45
movss xmm0, dword [edi + 0x3c]
mov eax, ecx
movss xmm1, dword [edi + 0x14]
addss xmm0, xmm0
and eax, 0x808
subss xmm1, xmm0
subss xmm1, dword [edi + 0x80]
cmp eax, 0x800
jne 0x1002ac3e
movss xmm7, dword [edi + 0x24]
jmp 0x1002ac41
xorps xmm7, xmm7
maxss xmm7, xmm1
movss xmm6, dword [edi + 0x38]
ucomiss xmm6, xmm4
lahf
test ah, 0x44
jp 0x1002ac88
cmp byte [esp + 0x40], 0
movss xmm0, dword [edi + 0x40]
movss xmm1, dword [edi + 0x18]
addss xmm0, xmm0
subss xmm1, xmm0
subss xmm1, dword [esp + 0x28]
subss xmm1, dword [edi + 0x84]
je 0x1002ac81
movss xmm6, dword [edi + 0x28]
jmp 0x1002ac84
xorps xmm6, xmm6
maxss xmm6, xmm1
movss xmm5, dword [edi + 0x3c]
movss xmm1, dword [edi + 0x1f0]
movaps xmm0, xmm5
maxss xmm0, dword [edi + 0x48]
subss xmm1, dword [edi + 0x58]
movss xmm3, dword [edi + 0xc]
mov ecx, dword [edi + 8]
addss xmm1, xmm0
movss xmm0, dword [edi + 0x40]
maxss xmm0, dword [edi + 0x48]
cvttss2si eax, xmm1
movss xmm1, dword [edi + 0x1f4]
subss xmm1, dword [edi + 0x5c]
movd xmm2, eax
cvtdq2ps xmm2, xmm2
addss xmm1, xmm0
movss dword [edi + 0x210], xmm2
addss xmm2, xmm7
movss xmm7, dword [edi + 0x58]
cvttss2si eax, xmm1
movss dword [edi + 0x218], xmm2
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x214], xmm0
addss xmm0, xmm6
movss dword [edi + 0x21c], xmm0
movups xmm0, xmmword [edi + 0x210]
movups xmmword [edi + 0x220], xmm0
movaps xmm0, xmm3
subss xmm0, xmm7
addss xmm0, xmm5
movss dword [edi + 0x240], xmm0
test cl, 1
je 0x1002ad37
xorps xmm6, xmm6
jmp 0x1002ad69
movss xmm0, dword [edx + 0x1934]
mov eax, dword [edi + 0x318]
mulss xmm0, dword [edi + 0x27c]
test eax, eax
je 0x1002ad59
mulss xmm0, dword [eax + 0x27c]
movss xmm6, dword [edx + 0x1554]
addss xmm6, xmm6
addss xmm6, xmm0
test ecx, 0x400
je 0x1002adad
movss xmm1, dword [edx + 0x1934]
mov eax, dword [edi + 0x318]
mulss xmm1, dword [edi + 0x27c]
test eax, eax
je 0x1002ad93
mulss xmm1, dword [eax + 0x27c]
movss xmm0, dword [edx + 0x1554]
addss xmm1, dword [edi + 0x158]
addss xmm0, xmm0
addss xmm1, xmm0
jmp 0x1002adb0
xorps xmm1, xmm1
movss xmm2, dword [edi + 0x10]
subss xmm2, dword [edi + 0x5c]
movaps xmm0, xmm2
addss xmm0, dword [edi + 0x40]
addss xmm0, xmm6
addss xmm0, xmm1
movss dword [edi + 0x244], xmm0
movss xmm0, dword [edi + 0x34]
ucomiss xmm0, xmm4
lahf
test ah, 0x44
jp 0x1002aded
movss xmm0, dword [edi + 0x14]
subss xmm0, dword [edi + 0x80]
subss xmm3, xmm7
subss xmm3, xmm5
addss xmm3, xmm0
movss xmm0, dword [edi + 0x38]
ucomiss xmm0, xmm4
movss dword [edi + 0x248], xmm3
lahf
test ah, 0x44
jp 0x1002ae1c
movss xmm0, dword [edi + 0x18]
subss xmm0, dword [edi + 0x84]
subss xmm2, dword [edi + 0x40]
addss xmm5, xmm4
addss xmm2, xmm0
subss xmm5, xmm7
movss dword [edi + 0x24c], xmm2
movss dword [edi + 0x110], xmm5
mov dword [edi + 0x118], 0
mov dword [edi + 0x114], 0
mov ecx, dword [edi + 8]
test cl, 1
je 0x1002ae5e
xorps xmm1, xmm1
jmp 0x1002ae90
movss xmm0, dword [edx + 0x1934]
mov eax, dword [edi + 0x318]
mulss xmm0, dword [edi + 0x27c]
test eax, eax
je 0x1002ae80
mulss xmm0, dword [eax + 0x27c]
movss xmm1, dword [edx + 0x1554]
addss xmm1, xmm1
addss xmm1, xmm0
test ecx, 0x400
je 0x1002aed4
movss xmm2, dword [edx + 0x1934]
mov eax, dword [edi + 0x318]
mulss xmm2, dword [edi + 0x27c]
test eax, eax
je 0x1002aeba
mulss xmm2, dword [eax + 0x27c]
movss xmm0, dword [edx + 0x1554]
addss xmm2, dword [edi + 0x158]
addss xmm0, xmm0
addss xmm2, xmm0
jmp 0x1002aed7
xorps xmm2, xmm2
addss xmm1, xmm2
addss xmm5, xmm4
lea ecx, [edi + 0x174]
addss xmm1, dword [edi + 0x40]
addss xmm5, dword [edi + 0xc]
subss xmm1, dword [edi + 0x5c]
addss xmm1, dword [edi + 0x10]
movss dword [edi + 0xe0], xmm5
movss dword [edi + 0xe4], xmm1
movss dword [edi + 0xd0], xmm5
movss dword [edi + 0xd4], xmm1
movss dword [edi + 0xd8], xmm5
movss dword [edi + 0xdc], xmm1
movss dword [edi + 0xe8], xmm5
movss dword [edi + 0xec], xmm1
movss dword [edi + 0xf0], xmm5
movss dword [edi + 0xf4], xmm1
mov dword [edi + 0x100], 0
mov dword [edi + 0x104], 0
mov dword [edi + 0xf8], 0
mov dword [edi + 0xfc], 0
mov dword [edi + 0x10c], 0
mov dword [edi + 0x108], 0
mov dword [edi + 0x144], 0
mov ax, word [edi + 0x14a]
mov word [edi + 0x148], ax
xor eax, eax
mov word [edi + 0x14a], ax
mov byte [edi + 0x150], al
movss xmm0, dword [edi + 0x64]
comiss xmm0, xmm4
seta al
cmp byte [esp + 0x1a], 0
mov byte [edi + 0x151], al
mov byte [edi + 0x152], 0
movss xmm0, dword [esi + 0x1560]
mov dword [edi + 0x164], 0
mov dword [edi + 0x160], 0
movss dword [edi + 0x15c], xmm0
je 0x1002affd
xorps xmm0, xmm0
movq qword [ecx], xmm0
mov dword [ecx + 8], 0
xor edx, edx
nop
test edx, edx
je 0x1002b025
movss xmm0, dword [ecx]
comiss xmm0, xmm4
jbe 0x1002b025
movss xmm0, dword [edi + 0x160]
addss xmm0, dword [edi + 0x15c]
movss dword [edi + 0x160], xmm0
cvttss2si eax, dword [edi + 0x160]
inc edx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ecx - 0xc], xmm0
movss xmm0, dword [ecx]
addss xmm0, dword [edi + 0x160]
movss dword [edi + 0x160], xmm0
mov dword [ecx], 0
add ecx, 4
cmp edx, 3
jl 0x1002b000
mov dword [edi + 0x180], 0
lea eax, [edi + 0x188]
mov dword [edi + 0x184], 0
mov ecx, dword [eax + 4]
test ecx, ecx
jns 0x1002b09f
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
xor ecx, ecx
test eax, eax
cmovg ecx, eax
push ecx
lea ecx, [edi + 0x188]
call fcn.10032750
lea eax, [edi + 0x188]
mov dword [eax], 0
lea eax, [edi + 0x264]
mov dword [edi + 0x194], eax
mov eax, dword [esp + 0x3c]
mov dword [edi + 0x198], 0
mov dword [edi + 0x1a0], 1
test eax, eax
je 0x1002b0d5
mov eax, dword [eax + 0x1a0]
jmp 0x1002b0da
mov eax, 1
mov dword [edi + 0x1a4], eax
mov dword [edi + 0x1ac], 0xffffffff
mov dword [edi + 0x1a8], 0xffffffff
mov eax, dword [edi + 0x260]
push ecx
mov dword [edi + 0x1b0], eax
lea ecx, [edi + 0x1b8]
mov dword [edi + 0x1b4], 0xbf800000
call fcn.100328a0
push ecx
lea ecx, [edi + 0x1c4]
call fcn.100328a0
mov al, byte [edi + 0xa4]
test al, al
jle 0x1002b134
dec al
mov byte [edi + 0xa4], al
mov al, byte [edi + 0xa5]
test al, al
jle 0x1002b146
dec al
mov byte [edi + 0xa5], al
cmp byte [esp + 0x48], 0
je 0x1002b15d
mov ecx, edi
call fcn.1002ba60
xor dl, dl
mov ecx, edi
call fcn.1002e6d0
test byte [esp + 0x10], 1
jne 0x1002b1c3
movss xmm0, dword [esp + 0xc0]
lea edx, [esp + 0x70]
addss xmm0, dword [edi + 0x48]
push ecx
push dword [esp + 0x68]
mov ecx, edi
movss dword [esp + 0x78], xmm0
movss xmm0, dword [esp + 0xcc]
movss dword [esp + 0x7c], xmm0
movss xmm0, dword [esp + 0xd0]
subss xmm0, dword [edi + 0x48]
movss dword [esp + 0x80], xmm0
movss xmm0, dword [esp + 0xd4]
movss dword [esp + 0x84], xmm0
call fcn.10028810
add esp, 8
movss xmm2, dword [esp + 0xc0]
xor eax, eax
movss xmm4, dword [esp + 0xc8]
movss xmm3, dword [esp + 0xcc]
mov dword [edi + 0x250], eax
mov eax, dword [0x1008b850]
movss xmm1, dword [eax + 0x1578]
movss xmm0, dword [eax + 0x157c]
subss xmm2, xmm1
movss xmm5, dword [eax + 0xe4]
addss xmm4, xmm1
movss xmm1, dword [esp + 0xc4]
addss xmm3, xmm0
subss xmm1, xmm0
comiss xmm5, xmm2
jb 0x1002b23f
movss xmm0, dword [eax + 0xe8]
comiss xmm0, xmm1
jb 0x1002b23f
comiss xmm4, xmm5
jbe 0x1002b23f
comiss xmm3, xmm0
jbe 0x1002b23f
mov ecx, 1
jmp 0x1002b241
xor ecx, ecx
mov eax, dword [edi + 0x50]
movups xmm0, xmmword [esp + 0xc0]
mov dword [edi + 0x11c], eax
mov dword [edi + 0x120], ecx
movups xmmword [edi + 0x124], xmm0
jmp 0x1002b2bf
mov eax, dword [0x1008b850]
mov dword [eax + 0x1b9c], edi
mov ecx, dword [edi + 0x19c]
cmp ecx, 0xffffffff
je 0x1002b285
imul ecx, ecx, 0x228
add ecx, dword [eax + 0x1ee0]
jmp 0x1002b287
xor ecx, ecx
movss xmm0, dword [eax + 0x1934]
mov dword [eax + 0x1ed4], ecx
mov ecx, dword [edi + 0x318]
mulss xmm0, dword [edi + 0x27c]
test ecx, ecx
je 0x1002b2af
mulss xmm0, dword [ecx + 0x27c]
movss dword [eax + 0x1944], xmm0
movss dword [eax + 0x1930], xmm0
test dword [esp + 0x10], 0x1000000
mov ecx, dword [esi + 0x1cc4]
mov eax, dword [esi + 0x1ccc]
mov eax, dword [eax + ecx*4 - 4]
mov dword [esi + 0x1bbc], eax
je 0x1002b2eb
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + 0x14c]
jmp 0x1002b2ed
xor eax, eax
mov ecx, dword [0x1008b850]
mov dword [edi + 0x14c], eax
mov eax, dword [ecx + 0x1b9c]
mov byte [eax + 0x8c], 1
mov eax, dword [ecx + 0x1b9c]
movss xmm1, dword [edi + 0x200]
movss xmm3, dword [edi + 0x208]
movss xmm2, dword [edi + 0x20c]
mov edx, dword [eax + 0x284]
movss xmm0, dword [edi + 0x204]
mov dword [esp + 0x20], eax
mov dword [esp + 0x5c], edx
movups xmm4, xmmword [edx + 0x60]
movss dword [esp + 0xc0], xmm1
comiss xmm4, xmm1
movss dword [esp + 0xc4], xmm0
movss dword [esp + 0xc8], xmm3
movss dword [esp + 0xcc], xmm2
movaps xmmword [esp + 0x80], xmm4
jbe 0x1002b37b
movaps xmm1, xmm4
movss dword [esp + 0xc0], xmm1
movss xmm4, dword [esp + 0x84]
comiss xmm4, xmm0
jbe 0x1002b395
movaps xmm0, xmm4
movss dword [esp + 0xc4], xmm0
movss xmm4, dword [esp + 0x88]
comiss xmm3, xmm4
jbe 0x1002b3af
movaps xmm3, xmm4
movss dword [esp + 0xc8], xmm3
movss xmm4, dword [esp + 0x8c]
comiss xmm2, xmm4
jbe 0x1002b3c9
movaps xmm2, xmm4
movss dword [esp + 0xcc], xmm2
comiss xmm1, xmm3
jb 0x1002b3d7
movss dword [esp + 0xc8], xmm1
comiss xmm0, xmm2
jb 0x1002b3e5
movss dword [esp + 0xcc], xmm0
mov eax, dword [edx + 0x40]
lea ecx, [edx + 0x3c]
mov dword [esp + 0x4c], ecx
cmp dword [ecx], eax
jne 0x1002b424
mov edx, dword [ecx]
inc edx
mov dword [esp + 0x40], edx
test eax, eax
je 0x1002b40c
cdq
sub eax, edx
mov edx, dword [esp + 0x40]
sar eax, 1
add eax, dword [ecx + 4]
jmp 0x1002b411
mov eax, 8
cmp eax, edx
cmovg edx, eax
push edx
call fcn.10042220
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x5c]
mov eax, dword [ecx]
movaps xmm0, xmmword [esp + 0xc0]
shl eax, 4
add eax, dword [ecx + 8]
movups xmmword [eax], xmm0
inc dword [ecx]
mov ecx, edx
movups xmmword [edx + 0x60], xmm0
call fcn.1003a8b0
mov edx, dword [esp + 0x20]
mov eax, dword [edx + 0x284]
mov ecx, dword [eax + 0x3c]
mov eax, dword [eax + 0x44]
shl ecx, 4
movss xmm0, dword [eax + ecx - 0xc]
movss xmm1, dword [eax + ecx - 8]
movss xmm2, dword [eax + ecx - 4]
mov eax, dword [eax + ecx - 0x10]
mov dword [edx + 0x230], eax
mov eax, dword [esp + 0x54]
movss dword [edx + 0x234], xmm0
movss dword [edx + 0x238], xmm1
movss dword [edx + 0x23c], xmm2
mov byte [edi + 0x8c], 0
inc word [edi + 0x96]
mov dword [esi + 0x1c20], 0
cmp eax, dword [esp + 0x58]
je 0x1002b5d9
mov eax, dword [esp + 0x10]
test eax, 0x1000000
je 0x1002b542
test al, 0x40
jne 0x1002b508
cmp byte [edi + 0xa4], 0
jg 0x1002b508
cmp byte [edi + 0xa5], 0
jg 0x1002b508
cmp byte [esi + 0x2ee0], 0
jne 0x1002b508
movss xmm0, dword [edi + 0x1e0]
comiss xmm0, dword [edi + 0x1e8]
jae 0x1002b501
movss xmm0, dword [edi + 0x1e4]
comiss xmm0, dword [edi + 0x1ec]
jb 0x1002b508
mov byte [edi + 0xac], 1
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x1002b542
cmp byte [eax + 0x8d], 0
jne 0x1002b522
cmp byte [eax + 0xac], 0
jle 0x1002b529
mov byte [edi + 0xac], 1
cmp byte [eax + 0x8d], 0
jne 0x1002b53b
cmp byte [eax + 0xad], 0
jle 0x1002b542
mov byte [edi + 0xad], 1
xorps xmm0, xmm0
comiss xmm0, dword [esi + 0x1518]
jb 0x1002b555
mov byte [edi + 0xac], 1
cmp byte [edi + 0xac], 0
jg 0x1002b574
cmp byte [edi + 0xad], 0
jg 0x1002b574
cmp byte [edi + 0xae], 0
jg 0x1002b574
xor cl, cl
jmp 0x1002b576
mov cl, 1
mov byte [edi + 0x91], cl
mov al, byte [edi + 0xaf]
test al, al
jle 0x1002b599
dec al
mov byte [edi + 0xaf], al
mov eax, dword [edi + 8]
or eax, 0xc0200
mov dword [edi + 8], eax
xor al, al
cmp byte [edi + 0x8d], al
jne 0x1002b5af
cmp byte [edi + 0x8a], al
je 0x1002b5af
test cl, cl
je 0x1002b5d3
cmp byte [edi + 0xa4], 0
jg 0x1002b5d3
cmp byte [edi + 0xa5], 0
jg 0x1002b5d3
cmp byte [edi + 0xad], 0
mov ecx, 1
movzx eax, al
cmovle eax, ecx
mov byte [edi + 0x8f], al
cmp byte [edi + 0x8f], 0
mov ecx, dword [esp + 0x11c]
pop edi
sete al
pop esi
xor ecx, esp
call fcn.100714c0
mov esp, ebp
pop ebp
ret