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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x148
push esi
mov esi, dword [0x10213d84]
mov eax, ecx
push edi
mov dword [esp + 0xc0], edx
mov dword [esp + 0x58], eax
mov dword [esp + 0x18], esi
call fcn.10094030
mov edi, eax
mov dword [esp + 0x3c], eax
test edi, edi
sete dl
mov byte [esp + 0x17], dl
test eax, eax
jne 0x10096fbb
mov edx, dword [ebp + 8]
mov ecx, dword [esp + 0x58]
call fcn.100940c0
mov edi, eax
mov eax, dword [ebp + 8]
mov ecx, eax
and ecx, 0xc0200
mov edx, eax
or edx, 6
cmp ecx, 0xc0200
mov ecx, dword [esi + 0x1b48]
cmovne edx, eax
mov dword [esp + 0x5c], ecx
cmp dword [esi + 0x1b88], 0
mov eax, dword [edi + 0x268]
mov dword [esp + 0x10], edx
mov dword [esp + 0x48], eax
jne 0x10097002
cmp byte [esi + 0x1b55], 0
je 0x10097002
mov al, 1
jmp 0x10097004
xor al, al
mov byte [edi + 0xb2], al
lea eax, [ecx - 1]
cmp dword [esp + 0x48], eax
setl al
mov byte [esp + 0x16], al
test edx, 0x4000000
je 0x1009705e
mov ecx, dword [esp + 0x18]
mov eax, dword [esi + 0x1d2c]
mov edx, dword [ecx + 0x1d28]
lea esi, [eax + eax*8]
mov eax, dword [edi + 0xc0]
cmp edi, dword [edx + esi*4 + 4]
setne cl
cmp eax, dword [edx + esi*4]
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
setne al
or cl, al
mov al, byte [esp + 0x16]
or al, cl
mov ecx, dword [esp + 0x5c]
mov byte [esp + 0x16], al
mov byte [edi + 0xb0], al
test al, al
je 0x1009707d
or byte [edi + 0xd0], 8
or byte [edi + 0xd1], 8
or byte [edi + 0xd2], 8
cmp dword [esp + 0x48], ecx
je 0x100970bf
mov dword [edi + 0x10], edx
xor eax, eax
mov dword [edi + 0x268], ecx
movsd xmm0, qword [esi + 0x1b40]
cvtpd2ps xmm0, xmm0
mov word [edi + 0xb8], ax
movss dword [edi + 0x26c], xmm0
movzx eax, word [esi + 0x1ba0]
inc dword [esi + 0x1ba0]
mov word [edi + 0xba], ax
jmp 0x100970c6
mov edx, dword [edi + 0x10]
mov dword [esp + 0x10], edx
mov eax, dword [esi + 0x1b88]
test eax, eax
je 0x100970e3
lea ecx, [eax + eax*2]
mov eax, dword [esi + 0x1b90]
add ecx, ecx
mov eax, dword [eax + ecx*8 - 0x30]
mov ecx, dword [esp + 0x5c]
cmp dword [esp + 0x48], ecx
je 0x100970fd
mov ecx, edx
and ecx, 0x5000000
neg ecx
sbb ecx, ecx
and ecx, eax
mov dword [esp + 0x44], ecx
jmp 0x10097107
mov eax, dword [edi + 0x328]
mov dword [esp + 0x44], eax
cmp dword [edi + 0xe4], 0
lea eax, [edi + 0xe4]
jne 0x1009713c
cmp dword [eax + 4], 0
jne 0x1009712b
push 8
mov ecx, eax
call fcn.100a0fc0
lea eax, [edi + 0xe4]
mov edx, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [edi + 0xc]
mov dword [ecx + edx*4], eax
inc dword [edi + 0xe4]
push 0x2c
lea eax, [esp + 0x118]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
movups xmm0, xmmword [esi + 0x1c48]
mov eax, dword [esi + 0x1c70]
lea edx, [esi + 0x1b88]
mov ecx, dword [edx]
add esp, 0xc
movups xmmword [esp + 0x114], xmm0
mov dword [esp + 0x13c], eax
movups xmm0, xmmword [esi + 0x1c58]
mov eax, dword [edx + 4]
mov dword [esp + 0x110], edi
mov dword [esp + 0x64], eax
movups xmmword [esp + 0x124], xmm0
movq xmm0, qword [esi + 0x1c68]
movq qword [esp + 0x134], xmm0
cmp ecx, eax
jne 0x100971d4
inc ecx
test eax, eax
je 0x100971bc
cdq
sub eax, edx
lea edx, [esi + 0x1b88]
sar eax, 1
add eax, dword [esp + 0x64]
jmp 0x100971c1
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, edx
call fcn.100a13c0
lea edx, [esi + 0x1b88]
mov eax, dword [edx]
mov ecx, dword [edx + 8]
movups xmm0, xmmword [esp + 0x110]
lea eax, [eax + eax*2]
add eax, eax
movups xmmword [ecx + eax*8], xmm0
movups xmm0, xmmword [esp + 0x120]
movups xmmword [ecx + eax*8 + 0x10], xmm0
movups xmm0, xmmword [esp + 0x130]
movups xmmword [ecx + eax*8 + 0x20], xmm0
inc dword [edx]
mov ecx, dword [0x10213d84]
mov dword [esi + 0x1bac], edi
mov eax, dword [ecx + 0x1bac]
movzx eax, word [eax + 0xe4]
mov word [edi + 0x1e0], ax
movzx eax, word [ecx + 0x1cd8]
mov word [edi + 0x1e2], ax
movzx eax, word [ecx + 0x1ce4]
mov word [edi + 0x1e4], ax
movzx eax, word [ecx + 0x1cf0]
mov word [edi + 0x1e6], ax
movzx eax, word [ecx + 0x1cfc]
mov word [edi + 0x1e8], ax
movzx eax, word [ecx + 0x1d14]
mov word [edi + 0x1ea], ax
movzx eax, word [ecx + 0x1d2c]
mov ecx, dword [esp + 0x10]
mov word [edi + 0x1ec], ax
mov dword [esi + 0x1bac], 0
test ecx, 0x4000000
je 0x100972c2
mov eax, dword [esi + 0x1d2c]
lea ecx, [esi + 0x1d2c]
lea edx, [eax + eax*8]
mov eax, dword [esi + 0x1d28]
mov dword [eax + edx*4 + 4], edi
lea esi, [eax + edx*4]
push esi
call fcn.100a0d20
mov eax, dword [esi]
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov dword [edi + 0xc0], eax
mov eax, dword [esp + 0x48]
cmp eax, dword [esp + 0x5c]
je 0x10097347
mov edx, dword [esp + 0x44]
mov dword [edi + 0x328], edx
mov dword [edi + 0x334], edi
mov dword [edi + 0x330], edi
mov dword [edi + 0x32c], edi
test edx, edx
je 0x10097322
mov eax, ecx
and eax, 0x3000000
cmp eax, 0x1000000
jne 0x10097306
mov eax, dword [edx + 0x32c]
mov dword [edi + 0x32c], eax
test ecx, 0x8000000
jne 0x10097322
test ecx, 0x5000000
je 0x10097322
mov eax, dword [edx + 0x330]
mov dword [edi + 0x330], eax
test dword [edi + 0x10], 0x800000
je 0x10097347
mov ecx, edi
nop dword [eax]
mov eax, dword [ecx + 0x328]
mov ecx, eax
mov dword [edi + 0x334], eax
test dword [ecx + 0x10], 0x800000
jne 0x10097330
xor dl, dl
mov byte [esp + 0xe], 0
test byte [esi + 0x1c74], 1
mov byte [esp + 0x15], dl
mov byte [esp + 0xf], dl
je 0x10097401
mov dl, byte [edi + 0xd0]
mov ecx, dword [esi + 0x1c78]
movsx eax, dl
test ecx, eax
setne byte [esp + 0xe]
test ecx, eax
je 0x100973f0
movss xmm1, dword [esi + 0x1c90]
movss xmm0, dword [esi + 0x1c8c]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
comiss xmm0, dword [0x10209144]
jbe 0x100973f0
mov eax, dword [esi + 0x1c84]
mov ecx, dword [esi + 0x1c88]
mov dword [edi + 0xd8], ecx
mov dword [edi + 0xd4], eax
mov eax, dword [esi + 0x1c8c]
mov ecx, dword [esi + 0x1c90]
mov dword [edi + 0xe0], ecx
mov dword [edi + 0xdc], eax
mov eax, dword [edi + 0xd0]
movzx ecx, dl
and eax, 0xffffff00
and ecx, 0xf1
or ecx, eax
mov dword [edi + 0xd0], ecx
jmp 0x10097401
push ecx
lea edx, [esi + 0x1c84]
mov ecx, edi
call fcn.10099ea0
add esp, 4
test byte [esi + 0x1c74], 2
xorps xmm1, xmm1
je 0x10097467
movsx eax, byte [edi + 0xd1]
mov ecx, dword [esi + 0x1c7c]
and eax, ecx
je 0x10097432
movss xmm0, dword [esi + 0x1c94]
comiss xmm0, xmm1
jbe 0x10097432
mov byte [esp + 0x15], 1
jmp 0x1009743c
xor dl, dl
mov byte [esp + 0x15], dl
test eax, eax
je 0x1009744e
movss xmm0, dword [esi + 0x1c98]
comiss xmm0, xmm1
mov byte [esp + 0xf], 1
ja 0x10097453
mov byte [esp + 0xf], 0
push ecx
lea edx, [esi + 0x1c94]
mov ecx, edi
call fcn.10099fc0
add esp, 4
xorps xmm1, xmm1
test byte [esi + 0x1c74], 0x80
je 0x100974ae
movss xmm0, dword [esi + 0x1ca4]
comiss xmm0, xmm1
jb 0x1009748f
movss dword [edi + 0x88], xmm0
mov dword [edi + 0x90], 0
movss xmm0, dword [esi + 0x1ca8]
comiss xmm0, xmm1
jb 0x100974ae
movss dword [edi + 0x8c], xmm0
mov dword [edi + 0x94], 0
test byte [esi + 0x1c74], 4
je 0x100974cb
mov eax, dword [esi + 0x1c9c]
mov ecx, dword [esi + 0x1ca0]
mov dword [edi + 0x54], eax
mov dword [edi + 0x58], ecx
jmp 0x100974e3
mov eax, dword [esp + 0x48]
cmp eax, dword [esp + 0x5c]
je 0x100974e3
mov dword [edi + 0x54], 0
mov dword [edi + 0x58], 0
test byte [esi + 0x1c74], 8
je 0x10097530
mov ecx, dword [esi + 0x1c80]
mov dl, byte [esi + 0x1cac]
test ecx, ecx
je 0x10097507
movsx eax, byte [edi + 0xd2]
test ecx, eax
je 0x10097530
movzx ecx, byte [edi + 0xd2]
mov eax, dword [edi + 0xd0]
and ecx, 0xf1
shl ecx, 0x10
and eax, 0xff00ffff
or ecx, eax
mov byte [edi + 0xad], dl
mov dword [edi + 0xd0], ecx
test byte [esi + 0x1c74], 0x20
je 0x10097540
mov ecx, edi
call fcn.10099a70
cmp byte [edi + 0xb0], 0
je 0x1009755e
and byte [edi + 0xd0], 0xf7
and byte [edi + 0xd1], 0xf7
and byte [edi + 0xd2], 0xf7
mov eax, dword [esp + 0x48]
cmp eax, dword [esp + 0x5c]
je 0x100996d5
mov eax, dword [esp + 0x10]
and eax, 0x3000000
mov byte [edi + 0xaa], 1
cmp dword [esp + 0xc0], 0
mov dword [esp + 0x50], eax
setne al
mov byte [edi + 0xb3], al
mov dword [edi + 0x240], 0xff7fffff
mov dword [edi + 0x244], 0xff7fffff
mov dword [edi + 0x248], 0x7f7fffff
mov dword [edi + 0x24c], 0x7f7fffff
mov eax, dword [edi + 0xe8]
cmp eax, 1
jge 0x100975f7
test eax, eax
je 0x100975da
cdq
sub eax, edx
lea edx, [edi + 0xe4]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x100975e5
mov ecx, 8
lea edx, [edi + 0xe4]
mov eax, 1
cmp ecx, eax
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.100a0fc0
mov dword [edi + 0xe4], 1
mov ecx, dword [edi + 0x294]
call fcn.100a24c0
cmp byte [edi + 0x36c], 0
mov dword [edi + 0x1a8], 0xffffffff
je 0x10097662
mov ecx, dword [edi + 0x294]
push dword [edi + 0x364]
add ecx, 0xc
mov byte [edi + 0x36c], 0
call fcn.100a12d0
mov ecx, dword [edi + 0x294]
push dword [edi + 0x368]
add ecx, 0x18
call fcn.100a10f0
mov dword [edi + 0x368], 0
mov dword [edi + 0x364], 0
cmp dword [esi + 0x1e54], 0
mov eax, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov dword [esp + 0xb0], eax
mov eax, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov dword [esp + 0xac], eax
je 0x10097767
test dword [edi + 0x10], 0x80000
jne 0x10097767
cmp dword [esp + 0x3c], 0
je 0x10097767
mov eax, dword [edi + 8]
mov ecx, eax
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x58]
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100976d0
test dl, dl
je 0x100976cc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100976d0
add eax, 2
add ecx, 2
test dl, dl
jne 0x100976b0
xor eax, eax
jmp 0x100976d5
sbb eax, eax
or eax, 1
test eax, eax
je 0x10097767
mov ecx, dword [esp + 0x58]
mov edx, dword [edi + 0x6c]
mov dword [esp + 0x1c], edx
lea eax, [ecx + 1]
mov dword [esp + 0x64], eax
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100976f0
sub ecx, dword [esp + 0x64]
lea eax, [ecx + 1]
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x20], eax
cmp edx, eax
jae 0x1009774f
test ecx, ecx
je 0x1009771d
mov eax, dword [0x10213d84]
test eax, eax
je 0x1009771d
dec dword [eax + 0x370]
push ecx
call dword [esp + 0xb0]
mov eax, dword [0x10213d84]
add esp, 4
test eax, eax
je 0x10097737
inc dword [eax + 0x370]
push dword [esp + 0x20]
call dword [esp + 0xb4]
mov ecx, eax
add esp, 4
mov eax, dword [esp + 0x20]
mov dword [esp + 0x1c], eax
push eax
push dword [esp + 0x5c]
push ecx
call sub.VCRUNTIME140.dll_memcpy
mov dword [edi + 8], eax
add esp, 0xc
mov eax, dword [esp + 0x1c]
mov dword [edi + 0x6c], eax
mov al, byte [edi + 0xcd]
lea edx, [edi + 0x2c]
mov byte [esp + 0x37], al
mov ecx, edi
lea eax, [edi + 0x34]
push eax
call fcn.10094630
mov al, byte [edi + 0xcc]
add esp, 4
test al, al
jle 0x10097794
dec al
mov byte [edi + 0xcc], al
mov al, byte [edi + 0xcd]
test al, al
jle 0x100977a6
dec al
mov byte [edi + 0xcd], al
mov al, byte [edi + 0xce]
test al, al
jle 0x100977b8
dec al
mov byte [edi + 0xce], al
cmp dword [esp + 0x3c], 0
mov al, byte [esp + 0x15]
mov cl, byte [esp + 0xf]
jne 0x100977d6
test al, al
je 0x100977cf
test cl, cl
jne 0x100977d6
mov byte [edi + 0xcd], 1
cmp byte [esp + 0x16], 0
mov edx, dword [esp + 0x10]
je 0x10097835
test edx, 0x6000000
je 0x10097835
mov byte [edi + 0xcd], 1
test dl, 0x40
je 0x10097835
test al, al
jne 0x10097807
mov dword [edi + 0x24], 0
mov dword [edi + 0x1c], 0
test cl, cl
jne 0x10097819
mov dword [edi + 0x28], 0
mov dword [edi + 0x20], 0
mov dword [edi + 0x34], 0
mov dword [edi + 0x38], 0
mov dword [edi + 0x2c], 0
mov dword [edi + 0x30], 0
mov eax, dword [0x10213d84]
mov dword [esp + 0x20], eax
mov dword [eax + 0x1bac], edi
mov ecx, dword [edi + 0x1a8]
cmp ecx, 0xffffffff
je 0x1009785d
imul ecx, ecx, 0x1c8
add ecx, dword [eax + 0x1f28]
jmp 0x1009785f
xor ecx, ecx
movss xmm0, dword [eax + 0x1944]
mov dword [eax + 0x1f18], ecx
mov ecx, dword [edi + 0x328]
mulss xmm0, dword [edi + 0x28c]
test ecx, ecx
je 0x10097887
mulss xmm0, dword [ecx + 0x28c]
movss dword [eax + 0x1954], xmm0
movss dword [eax + 0x1940], xmm0
test edx, 0x1000000
je 0x100978a9
movss xmm0, dword [esi + 0x1554]
jmp 0x100978cb
test edx, 0x6000000
je 0x100978c3
test edx, 0x8000000
jne 0x100978c3
movss xmm0, dword [esi + 0x155c]
jmp 0x100978cb
movss xmm0, dword [esi + 0x1538]
mov eax, edi
xorps xmm4, xmm4
movss dword [eax + 0x68], xmm0
mov eax, dword [esi + 0x152c]
mov ecx, dword [esi + 0x1530]
mov dword [edi + 0x5c], eax
mov eax, edx
and eax, 0x5010000
mov dword [edi + 0x60], ecx
cmp eax, 0x1000000
jne 0x1009791f
ucomiss xmm0, xmm4
lahf
test ah, 0x44
jp 0x1009791f
test edx, 0x400
je 0x10097910
movss xmm0, dword [esi + 0x1530]
jmp 0x10097913
xorps xmm0, xmm0
mov dword [edi + 0x5c], 0
movss dword [edi + 0x60], xmm0
movss xmm0, dword [esi + 0x1570]
maxss xmm0, dword [edi + 0x5c]
maxss xmm0, dword [esi + 0x1cd0]
movss dword [edi + 0x150], xmm0
mov eax, dword [esi + 0x1cd4]
mov dword [edi + 0x154], eax
test dl, 0x21
jne 0x10097a91
test byte [edi + 0x10], 1
mov ecx, dword [esp + 0x20]
je 0x10097960
xorps xmm1, xmm1
jmp 0x10097992
movss xmm0, dword [ecx + 0x1944]
mov eax, dword [edi + 0x328]
mulss xmm0, dword [edi + 0x28c]
test eax, eax
je 0x10097982
mulss xmm0, dword [eax + 0x28c]
movss xmm1, dword [ecx + 0x1564]
addss xmm1, xmm1
addss xmm1, xmm0
movss xmm0, dword [edi + 0x14]
movaps xmm2, xmm0
addss xmm2, dword [edi + 0x24]
addss xmm1, dword [edi + 0x18]
cmp dword [esi + 0x1bb0], edi
jne 0x10097a5b
cmp dword [esi + 0x1bcc], 0
jne 0x10097a5b
cmp dword [esi + 0x1bd0], 0
jne 0x10097a5b
mov eax, dword [ecx + 0x1bac]
movss xmm3, dword [eax + 0x240]
movss xmm5, dword [eax + 0x244]
maxss xmm3, xmm0
movss xmm0, dword [eax + 0x248]
maxss xmm5, dword [edi + 0x18]
minss xmm0, xmm2
movss xmm2, dword [eax + 0x24c]
minss xmm2, xmm1
movss xmm1, dword [ecx + 0x1588]
movaps xmm6, xmm1
subss xmm3, xmm1
movss xmm1, dword [ecx + 0xe4]
addss xmm6, xmm0
movss xmm0, dword [ecx + 0x158c]
movaps xmm7, xmm0
subss xmm5, xmm0
comiss xmm1, xmm3
addss xmm7, xmm2
jb 0x10097a5b
movss xmm0, dword [ecx + 0xe8]
comiss xmm0, xmm5
jb 0x10097a5b
comiss xmm6, xmm1
jbe 0x10097a5b
comiss xmm7, xmm0
jbe 0x10097a5b
cmp byte [esi + 0x3dd], 0
je 0x10097a5b
mov byte [edi + 0xae], 1
cmp byte [edi + 0xae], 0
je 0x10097a98
cmp byte [edi + 0xad], 0
sete al
test dword [edi + 0x10], 0x100
mov byte [edi + 0xad], al
jne 0x10097a98
comiss xmm4, dword [ecx + 0x2f20]
jb 0x10097a98
mov eax, dword [ecx + 0x1c]
mov dword [ecx + 0x2f20], eax
jmp 0x10097a98
mov byte [edi + 0xad], 0
lea eax, [edi + 0x34]
mov byte [edi + 0xae], 0
push eax
mov edx, edi
lea ecx, [esp + 0xb8]
call fcn.10094760
mov cl, byte [esp + 0x1b]
add esp, 4
test byte [esp + 0x10], 0x40
mov byte [esp + 0xd], cl
je 0x10097b09
cmp byte [edi + 0xad], 0
jne 0x10097b09
cmp byte [esp + 0x15], 0
jne 0x10097ae6
movss xmm0, dword [esp + 0xb4]
movss dword [edi + 0x24], xmm0
mov byte [esp + 0x17], 1
cmp byte [esp + 0xf], 0
jne 0x10097bc0
movss xmm0, dword [esp + 0xb8]
movss dword [edi + 0x28], xmm0
mov byte [esp + 0xd], 1
jmp 0x10097bc0
mov al, byte [edi + 0xc4]
test al, al
jg 0x10097b20
cmp byte [edi + 0xc5], 0
jle 0x10097bc0
cmp byte [esp + 0x15], 0
jne 0x10097b57
test al, al
jle 0x10097b57
cmp byte [edi + 0xc7], 0
je 0x10097b44
movss xmm0, dword [edi + 0x24]
maxss xmm0, dword [esp + 0xb4]
jmp 0x10097b4d
movss xmm0, dword [esp + 0xb4]
movss dword [edi + 0x24], xmm0
mov byte [esp + 0x17], 1
cmp byte [esp + 0xf], 0
jne 0x10097b93
cmp byte [edi + 0xc5], 0
jle 0x10097b93
cmp byte [edi + 0xc7], 0
je 0x10097b80
movss xmm0, dword [edi + 0x28]
maxss xmm0, dword [esp + 0xb8]
jmp 0x10097b89
movss xmm0, dword [esp + 0xb8]
movss dword [edi + 0x28], xmm0
mov byte [esp + 0xd], 1
cmp byte [edi + 0xad], 0
jne 0x10097bc0
test dword [edi + 0x10], 0x100
mov ecx, dword [0x10213d84]
jne 0x10097bc0
xorps xmm0, xmm0
comiss xmm0, dword [ecx + 0x2f20]
jb 0x10097bc0
mov eax, dword [ecx + 0x1c]
mov dword [ecx + 0x2f20], eax
lea eax, [edi + 0x24]
mov edx, edi
push eax
lea ecx, [esp + 0xdc]
call fcn.10094420
mov edx, dword [0x10213d84]
add esp, 4
cmp byte [edi + 0xad], 0
mov dword [esp + 0x40], edx
movss xmm3, dword [eax]
movss xmm0, dword [eax + 4]
movss dword [edi + 0x24], xmm3
movss dword [edi + 0x28], xmm0
je 0x10097c68
test dword [esp + 0x10], 0x1000000
jne 0x10097c68
test byte [edi + 0x10], 1
je 0x10097c10
xorps xmm2, xmm2
jmp 0x10097c42
movss xmm0, dword [edx + 0x1944]
mov eax, dword [edi + 0x328]
mulss xmm0, dword [edi + 0x28c]
test eax, eax
je 0x10097c32
mulss xmm0, dword [eax + 0x28c]
movss xmm2, dword [edx + 0x1564]
addss xmm2, xmm2
addss xmm2, xmm0
movss xmm0, dword [edi + 0x14]
addss xmm2, dword [edi + 0x18]
addss xmm0, xmm3
subss xmm2, dword [edi + 0x18]
subss xmm0, dword [edi + 0x14]
movss dword [esp + 0x30], xmm2
movss dword [esp + 0x2c], xmm0
jmp 0x10097c76
mov eax, dword [edi + 0x24]
mov ecx, dword [edi + 0x28]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], ecx
lea ecx, [esp + 0x2c]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [edi + 0x20], ecx
mov ecx, dword [edi + 0x10]
mov dword [edi + 0x1c], eax
test cl, 1
je 0x10097c92
xorps xmm1, xmm1
jmp 0x10097cc4
movss xmm0, dword [edx + 0x1944]
mov eax, dword [edi + 0x328]
mulss xmm0, dword [edi + 0x28c]
test eax, eax
je 0x10097cb4
mulss xmm0, dword [eax + 0x28c]
movss xmm1, dword [edx + 0x1564]
addss xmm1, xmm1
addss xmm1, xmm0
test ecx, 0x400
je 0x10097d08
movss xmm2, dword [edx + 0x1944]
mov eax, dword [edi + 0x328]
mulss xmm2, dword [edi + 0x28c]
test eax, eax
je 0x10097cee
mulss xmm2, dword [eax + 0x28c]
movss xmm0, dword [edx + 0x1564]
addss xmm2, dword [edi + 0x154]
addss xmm0, xmm0
addss xmm2, xmm0
jmp 0x10097d0b
xorps xmm2, xmm2
cmp byte [esp + 0x16], 0
addss xmm2, xmm1
mov ecx, dword [esp + 0x10]
movss dword [esp + 0x54], xmm2
je 0x10097d68
mov eax, ecx
mov dword [edi + 0xc8], 0xffffffff
and eax, 0xc000000
cmp eax, 0x4000000
jne 0x10097d68
cmp byte [esp + 0xe], 0
jne 0x10097d68
mov eax, dword [esi + 0x1d2c]
lea ecx, [eax + eax*8]
mov eax, dword [esi + 0x1d34]
movss xmm0, dword [eax + ecx*4 - 0x10]
movss xmm1, dword [eax + ecx*4 - 0xc]
mov ecx, dword [esp + 0x10]
movss dword [edi + 0x14], xmm0
movss dword [edi + 0x18], xmm1
test ecx, 0x1000000
je 0x10097e12
mov edx, dword [esp + 0x44]
add edx, 0x194
mov dword [esp + 0x20], edx
mov ax, word [edx]
mov word [edi + 0xb8], ax
mov ecx, dword [edx + 4]
cmp dword [edx], ecx
jne 0x10097dcc
test ecx, ecx
je 0x10097da6
mov eax, ecx
cdq
sub eax, edx
mov edx, dword [esp + 0x20]
sar eax, 1
add eax, ecx
jmp 0x10097dab
mov eax, 8
mov ecx, dword [edx]
inc ecx
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, edx
call fcn.100a0fc0
mov eax, dword [0x10213d84]
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
mov dword [esp + 0x40], eax
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 + 0xe]
mov edx, dword [esp + 0x50]
test ecx, 0x4000000
jne 0x10097e1a
test al, al
jne 0x10097e1a
cmp edx, 0x3000000
je 0x10097e1a
mov ecx, dword [esp + 0x44]
mov eax, dword [ecx + 0xf0]
mov ecx, dword [ecx + 0xf4]
mov dword [edi + 0x18], ecx
mov ecx, dword [esp + 0x10]
mov dword [edi + 0x14], eax
jmp 0x10097e16
mov edx, dword [esp + 0x50]
mov al, byte [esp + 0xe]
movss xmm1, dword [edi + 0xd4]
ucomiss xmm1, dword [0x10209520]
lahf
test ah, 0x44
jnp 0x10097e80
cmp byte [edi + 0xcd], 0
jne 0x10097e80
movss xmm0, dword [edi + 0x1c]
lea edx, [esp + 0x2c]
mulss xmm0, dword [edi + 0xdc]
mov ecx, edi
push 0
subss xmm1, xmm0
movss xmm0, dword [edi + 0xd8]
movss dword [esp + 0x30], xmm1
movss xmm1, dword [edi + 0x20]
mulss xmm1, dword [edi + 0xe0]
subss xmm0, xmm1
movss dword [esp + 0x34], xmm0
call fcn.10099ea0
add esp, 4
jmp 0x10097ecf
test ecx, 0x10000000
jne 0x10097eae
test ecx, 0x4000000
je 0x10097e9a
test al, al
jne 0x10097e9a
cmp byte [esp + 0x37], al
jg 0x10097eae
test ecx, 0x2000000
je 0x10097ed3
test al, al
jne 0x10097ed3
cmp edx, 0x3000000
je 0x10097ed3
mov edx, edi
lea ecx, [esp + 0xc4]
call fcn.1009c520
movss xmm1, dword [eax + 4]
movss xmm0, dword [eax]
movss dword [edi + 0x14], xmm0
movss dword [edi + 0x18], xmm1
mov ecx, dword [esp + 0x10]
cmp byte [esp + 0xe], 0
mov edx, dword [esp + 0x40]
movss xmm3, dword [esi + 0x15d0]
movss xmm2, dword [esi + 0x15cc]
maxss xmm3, dword [esi + 0x15d8]
mov eax, dword [edx + 0x1d40]
maxss xmm2, dword [esi + 0x15d4]
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 + 0x60], xmm1
addss xmm7, dword [eax + 0x10]
subss xmm5, xmm2
movss dword [esp + 0x70], xmm1
addss xmm2, dword [eax + 0x14]
subss xmm4, xmm3
movss dword [esp + 0x20], xmm0
addss xmm3, dword [eax + 0x18]
movss dword [esp + 0x74], xmm0
movss dword [esp + 0x68], xmm6
movss dword [esp + 0x78], xmm6
movss dword [esp + 0x24], xmm7
movss dword [esp + 0x7c], xmm7
movss dword [esp + 0xf0], xmm2
movss dword [esp + 0xf4], xmm3
movss dword [esp + 0xf8], xmm5
movss dword [esp + 0xfc], xmm4
jne 0x10098060
test ecx, 0x1000000
jne 0x10098060
cmp byte [edi + 0xc4], 0
jg 0x10098060
cmp byte [edi + 0xc5], 0
jg 0x10098060
movaps xmm0, xmm6
subss xmm0, xmm1
xorps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x10098060
movaps xmm0, xmm7
subss xmm0, dword [esp + 0x20]
comiss xmm0, xmm1
jbe 0x10098060
cmp byte [edx + 0xb5], 0
movss xmm1, dword [edi + 0x20]
je 0x1009802b
test byte [edi + 0x10], 1
jne 0x1009802b
movss xmm0, dword [edx + 0x1944]
mov eax, dword [edi + 0x328]
mulss xmm0, dword [edi + 0x28c]
test eax, eax
je 0x1009801b
mulss xmm0, dword [eax + 0x28c]
movss xmm1, dword [edx + 0x1564]
addss xmm1, xmm1
addss xmm1, xmm0
movss xmm0, dword [edi + 0x18]
subss xmm3, xmm1
subss xmm2, dword [edi + 0x1c]
comiss xmm3, xmm0
ja 0x10098045
movaps xmm3, xmm0
minss xmm3, xmm4
movss xmm0, dword [edi + 0x14]
comiss xmm2, xmm0
ja 0x10098056
movaps xmm2, xmm0
minss xmm2, xmm5
movss dword [edi + 0x14], xmm2
movss dword [edi + 0x18], xmm3
cvttss2si eax, dword [edi + 0x14]
movd xmm1, eax
cvttss2si eax, dword [edi + 0x18]
cvtdq2ps xmm1, xmm1
movd xmm0, eax
movss dword [edi + 0x14], xmm1
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x18], xmm0
test ecx, 0x1000000
je 0x10098094
movss xmm2, dword [esi + 0x1550]
jmp 0x100980b4
mov eax, ecx
and eax, 0xc000000
cmp eax, 0x4000000
jne 0x100980ac
movss xmm2, dword [esi + 0x1558]
jmp 0x100980b4
movss xmm2, dword [esi + 0x1534]
xor dl, dl
movss dword [edi + 0x64], xmm2
mov dword [esp + 0x8c], edx
cmp byte [esp + 0x16], dl
je 0x100980fa
test ecx, 0x1000
jne 0x100980fa
test ecx, 0x4000000
je 0x100980e2
mov byte [esp + 0x8c], 1
jmp 0x100980fa
test ecx, 0x3000000
movzx edx, dl
mov eax, 1
cmove edx, eax
mov dword [esp + 0x8c], edx
movss xmm1, dword [esi + 0x1940]
xorps xmm0, xmm0
movaps xmmword [esp + 0x100], xmm0
xor eax, eax
cmp byte [esi + 0xb4], al
movaps xmm0, xmm1
mulss xmm0, dword [0x102091dc]
setne al
mov dword [esp + 0xbc], 0xffffffff
mulss xmm1, dword [0x10209294]
inc eax
cmp byte [edi + 0xad], 0
addss xmm0, xmm2
mov dword [esp + 0x38], eax
addss xmm0, dword [0x10209290]
maxss xmm0, xmm1
cvttss2si esi, xmm0
jne 0x100981a9
lea ecx, [esp + 0xf0]
push ecx
lea ecx, [esp + 0x104]
push ecx
push eax
lea eax, [esp + 0xc8]
mov ecx, edi
push eax
lea edx, [esp + 0xc4]
call fcn.10094dd0
mov ecx, dword [esp + 0x20]
add esp, 0x10
test al, al
je 0x100981a0
mov edx, dword [0x10213d84]
mov byte [esp + 0xd], 1
mov byte [esp + 0x17], 1
mov dword [esp + 0x40], edx
jmp 0x100981a9
mov eax, dword [0x10213d84]
mov dword [esp + 0x40], eax
cmp byte [edi + 0xad], 0
mov al, byte [esp + 0xbc]
mov byte [edi + 0xb4], al
jne 0x1009831c
cmp dword [esp + 0x3c], 0
lea eax, [esp + 0x2c]
movss xmm2, dword [edi + 0x208]
movss xmm3, dword [edi + 0x20c]
subss xmm2, dword [edi + 0x200]
subss xmm3, dword [edi + 0x204]
movss xmm4, dword [edi + 0x28]
movss xmm5, dword [edi + 0x24]
subss xmm4, dword [esp + 0x54]
addss xmm2, dword [edi + 0xa0]
addss xmm3, dword [edi + 0xa4]
jne 0x10098220
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
jmp 0x10098248
movss xmm0, dword [edi + 0x5c]
movss xmm1, dword [edi + 0x60]
addss xmm0, xmm0
addss xmm1, xmm1
addss xmm0, dword [edi + 0x2c]
addss xmm1, dword [edi + 0x30]
movss dword [esp + 0x2c], xmm0
movss dword [esp + 0x30], xmm1
cmp byte [esp + 0x17], 0
movss xmm7, dword [eax]
movss xmm6, dword [eax + 4]
jne 0x1009825b
movaps xmm5, xmm2
cmp byte [esp + 0xd], 0
jne 0x10098265
movaps xmm4, xmm3
test ecx, 0x4000
jne 0x1009827b
comiss xmm6, xmm4
jbe 0x10098277
test cl, 8
je 0x1009827b
xor al, al
jmp 0x1009827d
mov al, 1
mov byte [esp + 0xd], al
mov byte [edi + 0xa9], al
test ecx, 0x8000
jne 0x100982ce
mov edx, dword [esp + 0x18]
xorps xmm0, xmm0
test al, al
je 0x100982a4
movss xmm1, dword [edx + 0x1598]
jmp 0x100982a7
xorps xmm1, xmm1
subss xmm5, xmm1
comiss xmm7, xmm5
jbe 0x100982c2
mov eax, ecx
and eax, 0x808
cmp eax, 0x800
mov al, byte [esp + 0xd]
je 0x100982ce
mov byte [edi + 0xa8], 0
xorps xmm1, xmm1
jmp 0x100982fe
mov byte [edi + 0xa8], 1
test al, al
jne 0x100982ef
comiss xmm6, xmm4
jbe 0x100982e7
test cl, 8
jne 0x100982e7
mov al, 1
jmp 0x100982e9
xor al, al
mov byte [edi + 0xa9], al
mov edx, dword [esp + 0x18]
xorps xmm0, xmm0
movss xmm1, dword [edx + 0x1598]
test al, al
je 0x1009830a
movss xmm0, dword [edx + 0x1598]
movss dword [edi + 0xa0], xmm0
movss dword [edi + 0xa4], xmm1
jmp 0x10098320
mov edx, dword [esp + 0x18]
mov eax, ecx
and eax, 0x5000000
cmp eax, 0x1000000
jne 0x10098343
cmp dword [esp + 0x50], 0x3000000
je 0x10098343
mov eax, dword [esp + 0x44]
add eax, 0x240
jmp 0x10098347
lea eax, [esp + 0x70]
test byte [edi + 0x10], 1
movss xmm5, dword [edi + 0x14]
movups xmm0, xmmword [eax]
movss xmm7, dword [edi + 0x18]
movaps xmm2, xmm5
addss xmm2, dword [edi + 0x1c]
movaps xmm4, xmm7
movss dword [esp + 0x64], xmm5
addss xmm4, dword [edi + 0x20]
movups xmmword [esp + 0x90], xmm0
je 0x1009837d
xorps xmm1, xmm1
jmp 0x100983c0
cmp dword [edi + 0x328], 0
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x18]
movss xmm0, dword [eax + 0x1944]
mulss xmm0, dword [edi + 0x28c]
je 0x100983b0
mov ecx, dword [edi + 0x328]
mulss xmm0, dword [ecx + 0x28c]
mov ecx, dword [esp + 0x10]
movss xmm1, dword [eax + 0x1564]
addss xmm1, xmm1
addss xmm1, xmm0
movaps xmm0, xmm7
movss dword [esp + 0xe0], xmm5
addss xmm0, xmm1
movaps xmm6, xmm5
addss xmm6, dword [edi + 0x24]
movss xmm1, dword [edi + 0x18]
and ecx, 0x401
movss dword [esp + 0xe4], xmm1
xorps xmm3, xmm3
movss dword [esp + 0xd8], xmm0
movss dword [esp + 0xec], xmm0
movss dword [esp + 0xc4], xmm6
movss dword [esp + 0xe8], xmm6
movss dword [edi + 0x1f0], xmm5
movss dword [edi + 0x1f4], xmm7
movss dword [edi + 0x1f8], xmm2
movss dword [edi + 0x1fc], xmm4
movss xmm5, dword [esp + 0x90]
movss xmm6, dword [esp + 0x94]
movaps xmm0, xmm5
movss xmm1, dword [esp + 0x98]
maxss xmm7, xmm6
maxss xmm0, dword [edi + 0x1f0]
movss dword [edi + 0x1f4], xmm7
movss dword [edi + 0x1f0], xmm0
movss xmm0, dword [edi + 0x1fc]
minss xmm1, dword [edi + 0x1f8]
minss xmm0, dword [esp + 0x9c]
movss dword [edi + 0x1f8], xmm1
movss dword [edi + 0x1fc], xmm0
movss xmm7, dword [edi + 0x18]
movss xmm1, dword [edi + 0x14]
movaps xmm0, xmm7
movss dword [edi + 0x200], xmm1
addss xmm0, dword [esp + 0x54]
addss xmm7, dword [edi + 0x20]
movss dword [esp + 0x28], xmm0
movss dword [edi + 0x204], xmm0
movaps xmm0, xmm1
addss xmm0, dword [edi + 0x1c]
subss xmm7, dword [edi + 0xa4]
subss xmm0, dword [edi + 0xa0]
movss dword [edi + 0x20c], xmm7
movss dword [esp + 0x4c], xmm0
movss dword [edi + 0x208], xmm0
cmp ecx, 1
jne 0x100984fe
movss xmm0, dword [edi + 0x68]
jmp 0x10098506
movss xmm0, dword [edx + 0x156c]
movss xmm4, dword [0x1020922c]
movss dword [esp + 0x1c], xmm0
addss xmm7, xmm4
movss xmm0, dword [edi + 0x5c]
mulss xmm0, xmm4
subss xmm7, dword [edi + 0x68]
cvttss2si eax, xmm0
movss xmm0, dword [edi + 0x14]
addss xmm0, xmm4
movd xmm1, eax
cvtdq2ps xmm1, xmm1
maxss xmm1, dword [edi + 0x68]
addss xmm0, xmm1
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x210], xmm0
movss xmm0, dword [esp + 0x28]
addss xmm0, xmm4
addss xmm0, dword [esp + 0x1c]
cvttss2si ecx, xmm0
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x214], xmm0
movss xmm0, dword [esp + 0x4c]
addss xmm0, xmm4
movss xmm4, dword [esp + 0x9c]
subss xmm0, xmm1
cvttss2si ecx, xmm0
movd xmm0, ecx
cvttss2si ecx, xmm7
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x218], xmm0
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x21c], xmm0
movss xmm0, dword [edi + 0x214]
comiss xmm6, xmm0
jbe 0x100985c8
movaps xmm1, xmm6
jmp 0x100985cf
movaps xmm1, xmm4
minss xmm1, xmm0
movss xmm7, dword [esp + 0x98]
movd xmm2, eax
cvtdq2ps xmm2, xmm2
comiss xmm5, xmm2
jbe 0x100985e9
movaps xmm0, xmm5
jmp 0x100985f0
movaps xmm0, xmm7
minss xmm0, xmm2
movss dword [edi + 0x210], xmm0
movss dword [edi + 0x214], xmm1
movss xmm0, dword [edi + 0x21c]
comiss xmm6, xmm0
ja 0x10098614
movaps xmm6, xmm4
minss xmm6, xmm0
movss xmm0, dword [edi + 0x218]
comiss xmm5, xmm0
ja 0x10098628
movaps xmm5, xmm7
minss xmm5, xmm0
movss dword [edi + 0x218], xmm5
movss dword [edi + 0x21c], xmm6
movss xmm0, dword [edi + 0x1c]
comiss xmm0, xmm3
jbe 0x10098656
test dword [esp + 0x10], 0x2000040
jne 0x10098656
mulss xmm0, dword [0x10209240]
jmp 0x10098666
movss xmm0, dword [edx + 0x1940]
mulss xmm0, dword [0x102093bc]
cvttss2si eax, xmm0
mov ecx, edi
mov edx, edi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ecx + 0x270], xmm0
lea ecx, [esp + 0x2c]
movss xmm1, dword [edi + 0x5c]
movss xmm0, dword [edi + 0x208]
addss xmm1, xmm1
subss xmm0, dword [edi + 0x200]
addss xmm1, dword [edi + 0x2c]
subss xmm1, xmm0
maxss xmm1, xmm3
movss dword [edi + 0x80], xmm1
movss xmm1, dword [edi + 0x60]
movss xmm0, dword [edi + 0x20c]
addss xmm1, xmm1
subss xmm0, dword [edi + 0x204]
addss xmm1, dword [edi + 0x30]
subss xmm1, xmm0
maxss xmm1, xmm3
movss dword [edi + 0x84], xmm1
call fcn.1009aaa0
xor edx, edx
movss xmm0, dword [eax + 4]
mov eax, dword [esp + 0x18]
movss dword [esp + 0x1c], xmm0
movss xmm0, dword [eax + 0x1ca8]
addss xmm0, dword [edi + 0x8c]
mov eax, dword [edi + 0x88]
mov dword [edi + 0x88], eax
movss dword [edi + 0x8c], xmm0
mov ecx, dword [edi + 0xe4]
mov eax, dword [edi + 0xec]
push dword [eax + ecx*4 - 4]
mov ecx, dword [esp + 0x5c]
call fcn.1008d720
mov ecx, eax
add esp, 4
mov eax, dword [esp + 0x40]
mov dword [esp + 0x3c], ecx
cmp dword [eax + 0x1be0], ecx
jne 0x1009874b
mov dword [eax + 0x1be4], ecx
cmp dword [eax + 0x1c1c], ecx
jne 0x1009875a
mov byte [eax + 0x1c20], 1
mov eax, dword fs:[0x2c]
mov dword [esp + 0x28], ecx
mov ecx, dword [0x10213bc0]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x1024c714]
cmp eax, dword [ecx + 4]
jle 0x100987e4
push 0x1024c714
call fcn.10177088
add esp, 4
cmp dword [0x1024c714], 0xffffffff
jne 0x100987db
push 0x18
mov dword [0x1024c718], 0
mov dword [0x1024c71c], 0
call fcn.10176cb7
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
push 0x1017f8b0
mov dword [0x1024c718], eax
call fcn.10176fec
add esp, 4
push 0x1024c714
call fcn.10177037
add esp, 4
mov eax, dword [0x10213d84]
mov dword [esp + 0x40], eax
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0xd0]
push eax
call fcn.100a14c0
mov eax, dword [esp + 0xd4]
mov edx, dword [0x1024c718]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x4c], edx
cmp byte [eax + 0xd], 0
jne 0x10098816
cmp ecx, dword [eax + 0x10]
jae 0x10098818
mov eax, edx
cmp eax, edx
jne 0x100988ee
lea eax, [esp + 0x2c]
mov dword [esp + 0x2c], ecx
push eax
lea eax, [esp + 0x148]
mov dword [esp + 0x34], 0
push eax
call fcn.100a14c0
mov ecx, dword [eax + 8]
movq xmm0, qword [eax]
movq qword [esp + 0xcc], xmm0
cmp byte [ecx + 0xd], 0
jne 0x1009885d
mov eax, dword [esp + 0x3c]
cmp eax, dword [ecx + 0x10]
jae 0x100988c2
cmp dword [0x1024c71c], 0xaaaaaaa
je 0x1009991c
push 0x18
call fcn.10176cb7
mov ecx, dword [esp + 0x34]
add esp, 4
mov edx, dword [esp + 0x3c]
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x4c]
mov dword [eax + 0x10], edx
push eax
push dword [esp + 0xd4]
mov dword [eax], ecx
push dword [esp + 0xd4]
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov ecx, 0x1024c718
mov word [eax + 0xc], 0
call fcn.10006f50
mov eax, dword [0x10213d84]
mov dword [esp + 0x40], eax
mov eax, dword [0x1024c718]
mov dword [esp + 0x4c], eax
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0xd0]
push eax
call fcn.100a14c0
mov eax, dword [esp + 0xd4]
cmp byte [eax + 0xd], 0
jne 0x100988ea
mov ecx, dword [esp + 0x3c]
cmp ecx, dword [eax + 0x10]
jae 0x100988ee
mov eax, dword [esp + 0x4c]
movss xmm3, dword [eax + 0x14]
movss xmm1, dword [esp + 0x1c]
comiss xmm1, xmm3
jbe 0x10098930
movaps xmm0, xmm1
subss xmm0, xmm3
call fcn.10008ce0
mov ecx, dword [esp + 0x18]
movaps xmm2, xmm0
movss xmm1, dword [0x10209290]
mulss xmm2, dword [0x102091dc]
subss xmm1, dword [ecx + 0x18]
mulss xmm2, xmm1
addss xmm2, xmm3
jmp 0x10098965
comiss xmm3, xmm1
movaps xmm2, xmm3
jbe 0x10098970
movaps xmm0, xmm1
subss xmm0, xmm3
call fcn.10008ce0
mov ecx, dword [esp + 0x18]
movss xmm1, dword [0x10209290]
mulss xmm0, dword [0x102091dc]
subss xmm1, dword [ecx + 0x18]
mulss xmm0, xmm1
subss xmm2, xmm0
movss xmm1, dword [esp + 0x1c]
movss dword [eax + 0x14], xmm2
mov eax, dword [esp + 0x40]
cmp byte [eax + 0xec], 0
jne 0x10098992
movss xmm0, dword [edi + 0x7c]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x100989c4
movss dword [edi + 0x7c], xmm2
jmp 0x100989c4
mov edx, edi
lea ecx, [esp + 0x2c]
call fcn.1009aaa0
movss xmm0, dword [eax]
movss xmm1, dword [eax + 4]
movss dword [edi + 0x78], xmm0
movss dword [edi + 0x7c], xmm1
mov dword [edi + 0x88], 0x7f7fffff
mov dword [edi + 0x8c], 0x7f7fffff
mov eax, dword [esp + 0x18]
mov ecx, dword [edi + 0x294]
mov dword [esp + 0x3c], ecx
add ecx, 0x48
mov dword [esp + 0x28], ecx
mov eax, dword [eax + 0x193c]
mov edx, dword [ecx]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 4]
mov dword [esp + 0x1c], eax
mov eax, dword [ecx + 4]
cmp edx, eax
jne 0x10098a1d
inc edx
mov dword [esp + 0x4c], edx
test eax, eax
je 0x10098a09
cdq
sub eax, edx
mov edx, dword [esp + 0x4c]
sar eax, 1
add eax, dword [ecx + 4]
jmp 0x10098a0e
mov eax, 8
cmp eax, edx
cmovg edx, eax
push edx
call fcn.100a0fc0
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
mov eax, dword [ecx + 8]
mov ecx, dword [esp + 0x1c]
mov dword [eax + edx*4], ecx
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
inc dword [ecx]
mov ecx, dword [esp + 0x3c]
mov dword [ecx + 0x70], eax
call fcn.100a28f0
push 0
lea edx, [esp + 0x9c]
lea ecx, [esp + 0x94]
call fcn.10092890
add esp, 4
test dword [esp + 0x10], 0x8000000
je 0x10098a7f
call fcn.1009bc20
cmp edi, eax
jne 0x10098a7f
cmp byte [edi + 0xcd], 0
jg 0x10098a7f
mov dl, 1
mov dword [esp + 0x28], 0x404
jmp 0x10098a89
xor dl, dl
mov dword [esp + 0x28], 0x3f4
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 0x1e50]
test eax, eax
je 0x10098aa3
cmp edi, dword [eax + 0x32c]
jne 0x10098aa3
mov al, 1
jmp 0x10098aa5
xor al, al
movss xmm4, dword [0x102094ac]
mov byte [esp + 0xd], al
test dl, dl
jne 0x10098abd
test al, al
je 0x10098d47
mov eax, dword [0x10213d84]
mov edx, dword [esp + 0x28]
movss xmm1, dword [ecx + 0x1e80]
movss xmm5, dword [0x10209290]
mulss xmm1, dword [eax + 0x1528]
movups xmm2, xmmword [edx + eax + 0x1528]
movaps xmm0, xmm2
movaps xmmword [esp + 0x90], xmm2
shufps xmm0, xmm2, 0xff
mulss xmm1, xmm0
xorps xmm0, xmm0
comiss xmm0, xmm2
jbe 0x10098b06
xorps xmm2, xmm2
jmp 0x10098b0a
minss xmm2, xmm5
movss xmm3, dword [0x1020922c]
mulss xmm2, xmm4
addss xmm2, xmm3
cvttss2si ecx, xmm2
movss xmm2, dword [esp + 0x94]
comiss xmm0, xmm2
jbe 0x10098b31
xorps xmm2, xmm2
jmp 0x10098b35
minss xmm2, xmm5
mulss xmm2, xmm4
addss xmm2, xmm3
cvttss2si eax, xmm2
movss xmm2, dword [esp + 0x98]
shl eax, 8
or ecx, eax
comiss xmm0, xmm2
jbe 0x10098b59
xorps xmm2, xmm2
jmp 0x10098b5d
minss xmm2, xmm5
mulss xmm2, xmm4
addss xmm2, xmm3
cvttss2si eax, xmm2
shl eax, 0x10
or ecx, eax
comiss xmm0, xmm1
jbe 0x10098b78
xorps xmm1, xmm1
jmp 0x10098b7c
minss xmm1, xmm5
mulss xmm1, xmm4
push 0
push ecx
mov dword [esp], 0
addss xmm1, xmm3
cvttss2si eax, xmm1
shl eax, 0x18
or eax, ecx
mov ecx, dword [edi + 0x294]
push eax
lea eax, [esp + 0x84]
push eax
lea eax, [esp + 0x80]
push eax
call fcn.100a4b00
cmp byte [esp + 0xd], 0
je 0x10098d47
mov ecx, dword [esp + 0x18]
cmp edi, dword [ecx + 0x1e50]
jne 0x10098d47
movss xmm2, dword [edi + 0x14]
movss xmm3, dword [edi + 0x18]
movaps xmm1, xmm2
movss xmm0, dword [ecx + 0x1940]
movaps xmm4, xmm3
addss xmm2, dword [edi + 0x1c]
addss xmm3, dword [edi + 0x20]
subss xmm1, xmm0
subss xmm4, xmm0
addss xmm2, xmm0
addss xmm3, xmm0
movss xmm0, dword [esp + 0x60]
comiss xmm0, xmm1
movss dword [esp + 0x70], xmm1
movss dword [esp + 0x74], xmm4
movss dword [esp + 0x78], xmm2
movss dword [esp + 0x7c], xmm3
jb 0x10098c40
movss xmm0, dword [esp + 0x20]
comiss xmm0, xmm4
jb 0x10098c40
comiss xmm2, dword [esp + 0x68]
jb 0x10098c40
comiss xmm3, dword [esp + 0x24]
jae 0x10098d47
mov eax, dword [0x10213d84]
movss xmm1, dword [ecx + 0x1e5c]
mulss xmm1, dword [0x102091e8]
movups xmm2, xmmword [eax + 0x190c]
mulss xmm1, dword [eax + 0x1528]
movss xmm6, dword [ecx + 0x1534]
movaps xmm0, xmm2
movss xmm5, dword [0x10209290]
shufps xmm0, xmm2, 0xff
mulss xmm1, xmm0
xorps xmm0, xmm0
comiss xmm0, xmm2
movaps xmmword [esp + 0x90], xmm2
jbe 0x10098c94
xorps xmm2, xmm2
jmp 0x10098c98
minss xmm2, xmm5
movss xmm4, dword [0x102094ac]
movss xmm3, dword [0x1020922c]
mulss xmm2, xmm4
addss xmm2, xmm3
cvttss2si ecx, xmm2
movss xmm2, dword [esp + 0x94]
comiss xmm0, xmm2
jbe 0x10098cc7
xorps xmm2, xmm2
jmp 0x10098ccb
minss xmm2, xmm5
mulss xmm2, xmm4
addss xmm2, xmm3
cvttss2si eax, xmm2
movss xmm2, dword [esp + 0x98]
shl eax, 8
or ecx, eax
comiss xmm0, xmm2
jbe 0x10098cef
xorps xmm2, xmm2
jmp 0x10098cf3
minss xmm2, xmm5
mulss xmm2, xmm4
addss xmm2, xmm3
cvttss2si eax, xmm2
shl eax, 0x10
or ecx, eax
comiss xmm0, xmm1
jbe 0x10098d0e
xorps xmm1, xmm1
jmp 0x10098d12
minss xmm1, xmm5
mulss xmm1, xmm4
push 0
push ecx
movss dword [esp], xmm6
addss xmm1, xmm3
cvttss2si eax, xmm1
shl eax, 0x18
or eax, ecx
mov ecx, dword [edi + 0x294]
push eax
lea eax, [esp + 0x84]
push eax
lea eax, [esp + 0x80]
push eax
call fcn.100a4b00
mov eax, dword [esp + 0x10]
and eax, 0x5000000
mov byte [esp + 0xd], 0
cmp eax, 0x1000000
jne 0x10098d96
cmp dword [esp + 0x50], 0x3000000
je 0x10098d96
mov edx, dword [edi + 0x294]
mov eax, dword [edx]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 8]
cmp dword [eax + ecx*8 - 0xc], 0
jne 0x10098d96
mov eax, dword [esp + 0x44]
mov eax, dword [eax + 0x294]
cmp dword [eax + 0x18], 0
jle 0x10098d96
mov byte [esp + 0xd], 1
mov dword [edi + 0x294], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x1e4c]
test ecx, ecx
jne 0x10098daa
mov ecx, dword [eax + 0x1d44]
cmp byte [esp + 0x8c], 0
jne 0x10098dcd
test ecx, ecx
je 0x10098dc6
mov eax, dword [edi + 0x330]
cmp eax, dword [ecx + 0x330]
je 0x10098dcd
mov byte [esp + 0x28], 0
jmp 0x10098dd2
mov byte [esp + 0x28], 1
movd xmm0, esi
lea eax, [esp + 0x100]
cvtdq2ps xmm0, xmm0
push ecx
lea edx, [esp + 0xe4]
mov ecx, edi
movss dword [esp], xmm0
push eax
push dword [esp + 0x40]
push dword [esp + 0x34]
call fcn.100960a0
add esp, 0x10
cmp byte [esp + 0xd], 0
je 0x10098e13
lea eax, [edi + 0x298]
mov dword [edi + 0x294], eax
mov esi, dword [esp + 0x18]
cmp dword [esi + 0x1e50], edi
jne 0x1009902c
movss xmm0, dword [esi + 0x1534]
movss xmm2, dword [edi + 0x64]
movss xmm5, dword [edi + 0x14]
maxss xmm0, xmm2
movss xmm1, dword [esi + 0x1940]
movaps xmm7, xmm5
movss xmm4, dword [edi + 0x18]
subss xmm7, xmm1
addss xmm5, dword [edi + 0x1c]
movaps xmm6, xmm4
addss xmm4, dword [edi + 0x20]
movss dword [esp + 0x1c], xmm0
subss xmm6, xmm1
movss xmm0, dword [esp + 0x60]
comiss xmm0, xmm7
addss xmm5, xmm1
addss xmm4, xmm1
jb 0x10098eb8
movss xmm0, dword [esp + 0x20]
comiss xmm0, xmm6
jb 0x10098eb8
comiss xmm5, dword [esp + 0x68]
jb 0x10098eb8
comiss xmm4, dword [esp + 0x24]
jb 0x10098eb8
xorps xmm1, xmmword [0x10209860]
subss xmm1, dword [0x10209290]
movss dword [esp + 0x1c], xmm2
movaps xmm0, xmm1
subss xmm7, xmm1
subss xmm6, xmm1
addss xmm5, xmm0
addss xmm4, xmm1
mov eax, dword [0x10213d84]
xorps xmm3, xmm3
movss xmm1, dword [esi + 0x1e5c]
mov ecx, dword [edi + 0x294]
mov dword [esp + 0x24], ecx
movups xmm2, xmmword [eax + 0x190c]
mulss xmm1, dword [eax + 0x1528]
comiss xmm3, xmm2
movaps xmm0, xmm2
movaps xmmword [esp + 0x70], xmm2
shufps xmm0, xmm2, 0xff
mulss xmm1, xmm0
jbe 0x10098efb
xorps xmm2, xmm2
jmp 0x10098f03
minss xmm2, dword [0x10209290]
mulss xmm2, dword [0x102094ac]
movss xmm0, dword [0x1020922c]
addss xmm2, xmm0
cvttss2si edx, xmm2
movss xmm2, dword [esp + 0x74]
comiss xmm3, xmm2
jbe 0x10098f2b
xorps xmm2, xmm2
jmp 0x10098f33
minss xmm2, dword [0x10209290]
mulss xmm2, dword [0x102094ac]
addss xmm2, xmm0
cvttss2si eax, xmm2
movss xmm2, dword [esp + 0x78]
shl eax, 8
or edx, eax
comiss xmm3, xmm2
jbe 0x10098f58
xorps xmm2, xmm2
jmp 0x10098f60
minss xmm2, dword [0x10209290]
mulss xmm2, dword [0x102094ac]
addss xmm2, xmm0
cvttss2si eax, xmm2
shl eax, 0x10
or edx, eax
comiss xmm3, xmm1
jbe 0x10098f7f
xorps xmm1, xmm1
jmp 0x10098f87
minss xmm1, dword [0x10209290]
mulss xmm1, dword [0x102094ac]
addss xmm1, xmm0
cvttss2si eax, xmm1
shl eax, 0x18
or eax, edx
mov dword [esp + 0x38], eax
test eax, 0xff000000
je 0x1009902f
test byte [ecx + 0x24], 1
addss xmm7, xmm0
movss xmm3, dword [esp + 0x1c]
addss xmm6, xmm0
push 0
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x70]
movss dword [esp + 0x70], xmm7
movss dword [esp + 0x74], xmm6
push eax
je 0x10098fe1
subss xmm5, xmm0
subss xmm4, xmm0
jmp 0x10098ff1
subss xmm5, dword [0x10209228]
subss xmm4, dword [0x10209228]
movss dword [esp + 0x38], xmm5
movss dword [esp + 0x3c], xmm4
call fcn.100a4650
mov eax, dword [esp + 0x24]
push ecx
mov dword [esp], 0x40400000
mov ecx, eax
push 1
push dword [esp + 0x40]
push dword [eax + 0x54]
push dword [eax + 0x5c]
call fcn.100a2d90
mov eax, dword [esp + 0x24]
mov dword [eax + 0x54], 0
xorps xmm3, xmm3
mov ecx, dword [esp + 0x10]
mov edx, ecx
movss xmm6, dword [edi + 0x54]
shr edx, 3
not dl
and dl, 1
ucomiss xmm6, xmm3
lahf
test ah, 0x44
jnp 0x10099050
movaps xmm7, xmm6
jmp 0x10099086
movss xmm0, dword [edi + 0x5c]
mov eax, ecx
movss xmm7, dword [edi + 0x1c]
addss xmm0, xmm0
and eax, 0x808
subss xmm7, xmm0
subss xmm7, dword [edi + 0xa0]
cmp eax, 0x800
jne 0x1009907f
movss xmm0, dword [edi + 0x2c]
jmp 0x10099082
xorps xmm0, xmm0
maxss xmm7, xmm0
movss xmm4, dword [edi + 0x58]
ucomiss xmm4, xmm3
lahf
test ah, 0x44
jnp 0x10099099
movaps xmm5, xmm4
jmp 0x100990cb
movss xmm0, dword [edi + 0x60]
movss xmm5, dword [edi + 0x20]
addss xmm0, xmm0
subss xmm5, xmm0
subss xmm5, dword [esp + 0x54]
subss xmm5, dword [edi + 0xa4]
test dl, dl
je 0x100990c4
movss xmm0, dword [edi + 0x30]
jmp 0x100990c7
xorps xmm0, xmm0
maxss xmm5, xmm0
movss xmm0, dword [edi + 0x78]
movss xmm1, dword [edi + 0x5c]
movss xmm2, dword [edi + 0x68]
movss xmm3, dword [edi + 0x7c]
movss dword [esp + 0x20], xmm0
movss xmm0, dword [edi + 0x200]
subss xmm0, dword [esp + 0x20]
movss dword [esp + 0x38], xmm1
maxss xmm1, xmm2
movss dword [esp + 0x24], xmm3
addss xmm1, xmm0
movss xmm0, dword [edi + 0x60]
maxss xmm2, xmm0
movss dword [esp + 0x68], xmm0
movss xmm0, dword [edi + 0x204]
subss xmm0, xmm3
cvttss2si eax, xmm1
addss xmm2, xmm0
movd xmm1, eax
cvttss2si eax, xmm2
cvtdq2ps xmm1, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm7, xmm1
movss xmm2, dword [esp + 0x38]
addss xmm5, xmm0
movss dword [edi + 0x224], xmm0
movss dword [edi + 0x220], xmm1
movss xmm1, dword [esp + 0x68]
movss dword [edi + 0x228], xmm7
movss dword [edi + 0x22c], xmm5
movups xmm0, xmmword [edi + 0x220]
movups xmmword [edi + 0x230], xmm0
movss xmm0, dword [edi + 0x14]
movaps xmm7, xmm0
movss dword [esp + 0x28], xmm0
movss xmm0, dword [edi + 0x18]
subss xmm7, dword [esp + 0x20]
movaps xmm5, xmm0
movss dword [esp + 0x38], xmm0
subss xmm5, xmm3
xorps xmm3, xmm3
ucomiss xmm6, xmm3
addss xmm5, xmm1
addss xmm7, xmm2
lahf
addss xmm5, dword [esp + 0x54]
movss dword [edi + 0x250], xmm7
movss dword [edi + 0x254], xmm5
test ah, 0x44
jp 0x100991e6
movss xmm6, dword [edi + 0x1c]
movaps xmm0, xmm2
addss xmm0, xmm2
subss xmm6, xmm0
subss xmm6, dword [edi + 0xa0]
ucomiss xmm4, xmm3
addss xmm6, xmm7
lahf
movss dword [edi + 0x258], xmm6
test ah, 0x44
jp 0x10099219
movss xmm4, dword [edi + 0x20]
movaps xmm0, xmm1
addss xmm0, xmm1
subss xmm4, xmm0
subss xmm4, dword [esp + 0x54]
subss xmm4, dword [edi + 0xa4]
addss xmm1, dword [esp + 0x38]
movaps xmm0, xmm2
addss xmm4, xmm5
addss xmm2, dword [esp + 0x28]
subss xmm0, dword [esp + 0x20]
lea ecx, [edi + 0x158]
subss xmm1, dword [esp + 0x24]
movss dword [edi + 0x25c], xmm4
subss xmm2, dword [esp + 0x20]
movss dword [edi + 0x130], xmm0
mov dword [edi + 0x138], 0
addss xmm1, dword [esp + 0x54]
mov dword [edi + 0x134], 0
movss dword [edi + 0x100], xmm2
movss dword [edi + 0x104], xmm1
movss dword [edi + 0xf0], xmm2
movss dword [edi + 0xf4], xmm1
movss dword [edi + 0xf8], xmm2
movss dword [edi + 0xfc], xmm1
movss dword [edi + 0x108], xmm2
movss dword [edi + 0x10c], xmm1
movss dword [edi + 0x110], xmm2
movss dword [edi + 0x114], xmm1
mov dword [edi + 0x120], 0
mov dword [edi + 0x124], 0
mov dword [edi + 0x118], 0
mov dword [edi + 0x11c], 0
mov dword [edi + 0x12c], 0
mov dword [edi + 0x128], 0
mov dword [edi + 0x13c], 0
mov ax, word [edi + 0x146]
mov word [edi + 0x144], ax
xor eax, eax
mov word [edi + 0x146], ax
mov byte [edi + 0x14c], al
movss xmm0, dword [edi + 0x84]
comiss xmm0, xmm3
seta al
cmp byte [esp + 0x16], 0
mov byte [edi + 0x14d], al
lea eax, [ecx + 0x12]
mov byte [edi + 0x14e], 0
movss xmm1, dword [esi + 0x1570]
mov dword [esp + 0x24], eax
je 0x1009935b
xorps xmm0, xmm0
movq qword [eax], xmm0
jmp 0x1009935f
mov dword [esp + 0x24], eax
cvttss2si eax, xmm1
push ecx
mov word [ecx + 8], ax
call fcn.100b9b70
mov eax, dword [esp + 0x24]
xorps xmm0, xmm0
movq qword [eax], xmm0
mov eax, dword [edi + 0x15c]
mov dword [edi + 0x158], eax
lea eax, [edi + 0x194]
mov dword [edi + 0x15c], 0
mov dword [edi + 0x174], 0
mov dword [edi + 0x178], 0
mov ecx, dword [eax + 4]
test ecx, ecx
jns 0x100993d1
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 + 0x194]
call fcn.100a0fc0
lea eax, [edi + 0x194]
mov dword [eax], 0
lea eax, [edi + 0x274]
mov dword [edi + 0x1a0], eax
mov eax, dword [esp + 0x44]
mov dword [edi + 0x1a4], 0
mov dword [edi + 0x1ac], 1
test eax, eax
je 0x10099407
mov eax, dword [eax + 0x1ac]
jmp 0x1009940c
mov eax, 1
mov dword [edi + 0x1b0], eax
mov eax, dword [edi + 0x270]
mov dword [edi + 0x1c0], eax
mov dword [edi + 0x1c4], 0xbf800000
mov ecx, dword [edi + 0x1cc]
test ecx, ecx
jns 0x100994cd
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
xor ecx, ecx
test eax, eax
cmovg ecx, eax
mov dword [esp + 0x24], ecx
cmp ecx, dword [edi + 0x1cc]
jle 0x100994cd
mov eax, dword [0x10213d84]
test eax, eax
je 0x10099461
inc dword [eax + 0x370]
lea eax, [ecx*4]
push eax
call dword [esp + 0xb4]
mov edx, dword [edi + 0x1d0]
add esp, 4
mov dword [esp + 0x38], eax
test edx, edx
je 0x100994bd
mov ecx, dword [edi + 0x1c8]
shl ecx, 2
push ecx
push edx
push eax
call sub.VCRUNTIME140.dll_memcpy
mov ecx, dword [edi + 0x1d0]
add esp, 0xc
test ecx, ecx
je 0x100994ae
mov eax, dword [0x10213d84]
test eax, eax
je 0x100994ae
dec dword [eax + 0x370]
push ecx
call dword [esp + 0xb0]
mov eax, dword [esp + 0x3c]
add esp, 4
mov dword [edi + 0x1d0], eax
mov eax, dword [esp + 0x24]
mov dword [edi + 0x1cc], eax
mov dword [edi + 0x1c8], 0
mov ecx, dword [edi + 0x1d8]
test ecx, ecx
jns 0x1009957c
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
xor ecx, ecx
test eax, eax
cmovg ecx, eax
mov dword [esp + 0x24], ecx
cmp ecx, dword [edi + 0x1d8]
jle 0x1009957c
mov eax, dword [0x10213d84]
test eax, eax
je 0x10099510
inc dword [eax + 0x370]
lea eax, [ecx*4]
push eax
call dword [esp + 0xb4]
mov edx, dword [edi + 0x1dc]
add esp, 4
mov dword [esp + 0x38], eax
test edx, edx
je 0x1009956c
mov ecx, dword [edi + 0x1d4]
shl ecx, 2
push ecx
push edx
push eax
call sub.VCRUNTIME140.dll_memcpy
mov ecx, dword [edi + 0x1dc]
add esp, 0xc
test ecx, ecx
je 0x1009955d
mov eax, dword [0x10213d84]
test eax, eax
je 0x1009955d
dec dword [eax + 0x370]
push ecx
call dword [esp + 0xb0]
mov eax, dword [esp + 0x3c]
add esp, 4
mov dword [edi + 0x1dc], eax
mov eax, dword [esp + 0x24]
mov dword [edi + 0x1d8], eax
mov dword [edi + 0x1d4], 0
mov al, byte [edi + 0xc4]
test al, al
jle 0x10099598
dec al
mov byte [edi + 0xc4], al
mov al, byte [edi + 0xc5]
test al, al
jle 0x100995aa
dec al
mov byte [edi + 0xc5], al
cmp byte [esp + 0x8c], 0
je 0x100995c4
mov ecx, edi
call fcn.10099a70
xor dl, dl
mov ecx, edi
call fcn.1009d140
test byte [esp + 0x10], 1
jne 0x1009962d
movss xmm0, dword [esp + 0x64]
lea edx, [esp + 0x70]
addss xmm0, dword [edi + 0x68]
push dword [esp + 0xc0]
mov ecx, edi
push dword [esp + 0x5c]
movss dword [esp + 0x78], xmm0
movss xmm0, dword [esp + 0xec]
movss dword [esp + 0x7c], xmm0
movss xmm0, dword [esp + 0xcc]
subss xmm0, dword [edi + 0x68]
movss dword [esp + 0x80], xmm0
movss xmm0, dword [esp + 0xe0]
movss dword [esp + 0x84], xmm0
call fcn.100969a0
add esp, 8
mov edx, dword [0x10213d84]
xor eax, eax
movss xmm2, dword [esp + 0x64]
movss xmm4, dword [esp + 0xc4]
movss xmm3, dword [esp + 0xd8]
movss xmm5, dword [esp + 0xe4]
mov dword [edi + 0x260], eax
mov eax, dword [edi + 0x70]
mov dword [esi + 0x1c48], eax
mov eax, dword [esi + 0x1c30]
mov dword [esi + 0x1c4c], eax
movss xmm1, dword [edx + 0x1588]
movss xmm0, dword [edx + 0x158c]
subss xmm2, xmm1
addss xmm4, xmm1
movss xmm1, dword [edx + 0xe4]
addss xmm3, xmm0
subss xmm5, xmm0
comiss xmm1, xmm2
jb 0x100996bc
movss xmm0, dword [edx + 0xe8]
comiss xmm0, xmm5
jb 0x100996bc
comiss xmm4, xmm1
jbe 0x100996bc
comiss xmm3, xmm0
jbe 0x100996bc
mov eax, 1
jmp 0x100996be
xor eax, eax
movups xmm0, xmmword [esp + 0xe0]
mov dword [esi + 0x1c50], eax
movups xmmword [esi + 0x1c54], xmm0
jmp 0x10099734
mov edx, dword [0x10213d84]
mov dword [edx + 0x1bac], edi
mov eax, dword [edi + 0x1a8]
cmp eax, 0xffffffff
je 0x100996fa
imul eax, eax, 0x1c8
add eax, dword [edx + 0x1f28]
jmp 0x100996fc
xor eax, eax
movss xmm0, dword [edx + 0x1944]
mov dword [edx + 0x1f18], eax
mov eax, dword [edi + 0x328]
mulss xmm0, dword [edi + 0x28c]
test eax, eax
je 0x10099724
mulss xmm0, dword [eax + 0x28c]
movss dword [edx + 0x1954], xmm0
movss dword [edx + 0x1940], xmm0
test dword [esp + 0x10], 0x1000000
mov ecx, dword [esi + 0x1d08]
mov eax, dword [esi + 0x1d10]
mov eax, dword [eax + ecx*4 - 4]
mov dword [esi + 0x1c30], eax
je 0x10099760
mov eax, dword [esp + 0x44]
mov eax, dword [eax + 0x148]
jmp 0x100997a2
mov ecx, dword [edi + 0xe4]
xor edx, edx
mov eax, dword [edi + 0xec]
push dword [eax + ecx*4 - 4]
mov ecx, str.FOCUSSCOPE
call fcn.1008d720
mov ecx, dword [0x10213d84]
add esp, 4
cmp dword [ecx + 0x1be0], eax
jne 0x10099793
mov dword [ecx + 0x1be4], eax
cmp dword [ecx + 0x1c1c], eax
jne 0x100997a2
mov byte [ecx + 0x1c20], 1
push 1
lea edx, [edi + 0x218]
mov dword [edi + 0x148], eax
lea ecx, [edi + 0x210]
call fcn.10092890
mov eax, dword [esp + 0x4c]
add esp, 4
mov byte [edi + 0xac], 0
inc word [edi + 0xb6]
mov dword [esi + 0x1c74], 0
cmp eax, dword [esp + 0x5c]
je 0x1009990c
mov eax, dword [esp + 0x10]
test eax, 0x1000000
je 0x10099875
test al, 0x40
jne 0x1009983b
cmp byte [edi + 0xc4], 0
jg 0x1009983b
cmp byte [edi + 0xc5], 0
jg 0x1009983b
cmp byte [esi + 0x2f64], 0
jne 0x1009983b
movss xmm0, dword [edi + 0x1f0]
comiss xmm0, dword [edi + 0x1f8]
jae 0x10099834
movss xmm0, dword [edi + 0x1f4]
comiss xmm0, dword [edi + 0x1fc]
jb 0x1009983b
mov byte [edi + 0xcc], 1
mov eax, dword [esp + 0x44]
test eax, eax
je 0x10099875
cmp byte [eax + 0xad], 0
jne 0x10099855
cmp byte [eax + 0xcc], 0
jle 0x1009985c
mov byte [edi + 0xcc], 1
cmp byte [eax + 0xad], 0
jne 0x1009986e
cmp byte [eax + 0xcd], 0
jle 0x10099875
mov byte [edi + 0xcd], 1
xorps xmm0, xmm0
comiss xmm0, dword [esi + 0x1528]
jb 0x10099888
mov byte [edi + 0xcc], 1
cmp byte [edi + 0xcc], 0
jg 0x100998a7
cmp byte [edi + 0xcd], 0
jg 0x100998a7
cmp byte [edi + 0xce], 0
jg 0x100998a7
xor cl, cl
jmp 0x100998a9
mov cl, 1
mov byte [edi + 0xb1], cl
mov al, byte [edi + 0xcf]
test al, al
jle 0x100998cc
dec al
mov byte [edi + 0xcf], al
mov eax, dword [edi + 0x10]
or eax, 0xc0200
mov dword [edi + 0x10], eax
xor al, al
cmp byte [edi + 0xad], al
jne 0x100998e2
cmp byte [edi + 0xaa], al
je 0x100998e2
test cl, cl
je 0x10099906
cmp byte [edi + 0xc4], 0
jg 0x10099906
cmp byte [edi + 0xc5], 0
jg 0x10099906
cmp byte [edi + 0xcd], 0
mov ecx, 1
movzx eax, al
cmovle eax, ecx
mov byte [edi + 0xaf], al
cmp byte [edi + 0xaf], 0
pop edi
sete al
pop esi
mov esp, ebp
pop ebp
ret
call fcn.10004810
int3