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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x168
push esi
mov esi, dword [0x100c6d88]
mov dword [esp + 0xe4], ecx
mov ecx, esi
push edi
mov dword [esp + 0x48], edx
mov dword [esp + 0x1c], ecx
mov eax, dword [ecx + 0x199c]
mov byte [eax + 0x7c], 1
mov edi, dword [ecx + 0x199c]
mov dword [esp + 0x40], edi
cmp byte [edi + 0x7f], 0
jne 0x100402b7
mov edx, dword [ebp + 0x10]
mov eax, edx
shr eax, 0xe
mov ecx, edx
and eax, 0xffffff01
shr ecx, 0x14
mov dword [esp + 0x5c], eax
and ecx, 0xffffff01
mov eax, edx
mov dword [esp + 0x3c], edx
shr eax, 0xf
and eax, 0xffffff01
mov dword [esp + 0x38], ecx
mov dword [esp + 0xb8], eax
mov eax, edx
shr eax, 0x10
not al
and eax, 0xffffff01
mov dword [esp + 0x78], eax
mov eax, edx
shr eax, 0x12
and eax, 0xffffff01
mov dword [esp + 0x70], eax
test cl, cl
je 0x1003ffd5
call fcn.10025250
mov esi, dword [0x100c6d88]
mov ecx, dword [edi + 0x1c0]
xor edx, edx
mov eax, dword [edi + 0x1c8]
push dword [eax + ecx*4 - 4]
mov ecx, dword [esp + 0xec]
call fcn.1001a390
add esp, 4
mov dword [esp + 0x30], eax
cmp dword [esi + 0x19bc], eax
jne 0x10040008
mov dword [esi + 0x19c4], eax
cmp dword [esi + 0x19c0], eax
jne 0x10040017
mov byte [esi + 0x19d0], 1
mov edx, dword [esp + 0xe8]
mov eax, edx
cmp edx, 0xffffffff
jae 0x1004003b
mov cl, byte [eax]
test cl, cl
je 0x1004003b
cmp cl, 0x23
jne 0x10040035
cmp byte [eax + 1], cl
je 0x1004003b
inc eax
cmp eax, 0xffffffff
jb 0x10040025
movss xmm1, dword [0x100b9bdc]
xorps xmm4, xmm4
movss xmm0, dword [esi + 0x18bc]
movss dword [esp + 0xd0], xmm1
cmp edx, eax
jne 0x10040066
movss dword [esp + 0xe4], xmm4
jmp 0x100400bd
movss xmm3, dword [0x100b9bb8]
movaps xmm2, xmm0
push ecx
push eax
push edx
push ecx
mov ecx, dword [esi + 0x18b8]
lea eax, [esp + 0x8c]
mov dword [esp], 0xbf800000
push eax
call fcn.10038530
movss xmm0, dword [esp + 0x7c]
xorps xmm4, xmm4
addss xmm0, dword [0x100b9a54]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp + 0xe4], xmm0
movss xmm0, dword [esp + 0x80]
cmp byte [esp + 0x38], 0
je 0x100400d4
movss xmm0, dword [esi + 0x18bc]
mulss xmm0, dword [0x100b9ae4]
mov eax, dword [esp + 0x1c]
mov esi, dword [esi + 0x199c]
movss xmm5, dword [0x100b9a58]
movss xmm1, dword [eax + 0x1538]
movss xmm2, dword [esi + 0x16c]
movaps xmm3, xmm1
comiss xmm4, xmm2
addss xmm3, xmm1
addss xmm3, xmm0
jbe 0x1004016d
movss xmm4, dword [esi + 0xc8]
movss xmm1, dword [esi + 0x214]
mov edi, dword [esi + 0x1bc]
subss xmm4, dword [esi + 0xc]
subss xmm1, dword [esi + 0xc]
test edi, edi
je 0x1004015a
mov edx, dword [edi + 0xc]
movss xmm1, dword [edi + 0x18]
subss xmm1, dword [edi + 0x14]
lea eax, [edx + 1]
test eax, eax
cmovns edx, eax
mov eax, dword [edi + 0x34]
lea ecx, [edx*8]
sub ecx, edx
mulss xmm1, dword [eax + ecx*4]
addss xmm1, dword [edi + 0x14]
subss xmm1, dword [esi + 0x3c]
mov edi, dword [esp + 0x40]
subss xmm1, xmm4
addss xmm1, xmm2
movaps xmm2, xmm5
maxss xmm2, xmm1
mov eax, dword [ebp + 0xc]
lea ecx, [esp + 0x7c]
push dword [eax + 4]
push dword [eax]
cvttss2si eax, xmm2
movaps xmm2, xmm3
movd xmm1, eax
cvtdq2ps xmm1, xmm1
call fcn.1001d140
movss xmm3, dword [edi + 0xc8]
xorps xmm5, xmm5
movss xmm1, dword [esp + 0x84]
movaps xmm0, xmm3
movss xmm4, dword [edi + 0xcc]
addss xmm0, xmm1
movss xmm2, dword [esp + 0xec]
add esp, 8
comiss xmm2, xmm5
mov esi, dword [esp + 0x1c]
movss dword [esp + 0xac], xmm1
movss xmm1, dword [esp + 0x80]
movss dword [esp + 0x84], xmm1
addss xmm1, xmm4
movss dword [esp + 0x8c], xmm3
movss dword [esp + 0x90], xmm4
movss dword [esp + 0x94], xmm0
movss dword [esp + 0x98], xmm1
jbe 0x10040211
addss xmm2, dword [esi + 0x154c]
jmp 0x10040214
xorps xmm2, xmm2
cmp byte [esp + 0x38], 0
addss xmm0, xmm2
addss xmm1, xmm5
movss dword [esp + 0x9c], xmm3
movss dword [esp + 0xa0], xmm4
mov dword [esp + 0x6c], edi
movss dword [esp + 0xa4], xmm0
movss dword [esp + 0xa8], xmm1
je 0x1004037b
mov edx, dword [esp + 0x30]
lea eax, [esp + 0x8c]
push eax
lea ecx, [esp + 0xa0]
call fcn.1001cc50
add esp, 4
test al, al
jne 0x100402bf
movss xmm0, dword [esp + 0xa4]
lea ecx, [esp + 0x7c]
subss xmm0, dword [esp + 0x9c]
movss xmm1, dword [esi + 0x1538]
movss dword [esp + 0x7c], xmm0
movss xmm0, dword [esp + 0xa8]
subss xmm0, dword [esp + 0xa0]
movss dword [esp + 0x80], xmm0
call fcn.1001cb40
call fcn.10025380
xor al, al
pop edi
pop esi
mov esp, ebp
pop ebp
ret
movss xmm0, dword [esp + 0x94]
lea edx, [esp + 0x7c]
movss xmm1, dword [esp + 0x8c]
movss dword [esp + 0x108], xmm0
subss xmm0, xmm1
movss dword [esp + 0x68], xmm1
movss xmm1, dword [esp + 0x90]
push ecx
mov ecx, dword [esp + 0x34]
movss dword [esp + 0x80], xmm0
movss xmm0, dword [esp + 0x9c]
subss xmm0, xmm1
movss dword [esp + 0xd0], xmm1
movss dword [esp + 0x84], xmm0
call fcn.10020120
add esp, 4
test al, al
jne 0x1004033c
call fcn.1001ff70
call fcn.10025380
xor al, al
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, dword [0x100c6d88]
movss xmm0, dword [esp + 0xac]
mov eax, dword [ecx + 0x199c]
mov byte [eax + 0x7c], 1
mov ecx, dword [ecx + 0x199c]
mov dword [esp + 0x6c], ecx
subss xmm0, dword [ecx + 0x70]
mov eax, dword [ecx + 0x138]
or dword [ecx + 0x140], eax
movss dword [esp + 0xac], xmm0
jmp 0x100403f9
subss xmm1, xmm4
subss xmm0, xmm3
lea ecx, [esp + 0x7c]
movss dword [esp + 0x80], xmm1
movss xmm1, dword [esi + 0x1538]
movss dword [esp + 0x7c], xmm0
call fcn.1001cb40
mov edx, dword [esp + 0x30]
lea eax, [esp + 0x8c]
push eax
lea ecx, [esp + 0xa0]
call fcn.1001cc50
add esp, 4
test al, al
je 0x100402b7
movss xmm0, dword [esp + 0x94]
movss dword [esp + 0x108], xmm0
movss xmm0, dword [esp + 0x90]
movss dword [esp + 0xcc], xmm0
movss xmm0, dword [esp + 0x8c]
movss dword [esp + 0x68], xmm0
mov edx, dword [esp + 0x30]
lea ecx, [esp + 0x8c]
call fcn.1001cea0
mov byte [esp + 0x2f], al
test al, al
je 0x1004041b
mov dword [esi + 0x1c74], 1
cmp byte [esp + 0xb8], 0
je 0x100405a7
mov edx, dword [esi + 0x18b8]
cmp dword [edx + 0x14], 0x2a
jg 0x1004043a
mov edi, dword [edx + 0x2c]
jmp 0x10040459
mov eax, dword [edx + 0x1c]
mov ecx, 0xffff
movzx eax, word [eax + 0x54]
cmp ax, cx
jne 0x10040450
mov edi, dword [edx + 0x2c]
jmp 0x10040459
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x28]
lea edi, [eax + ecx*8]
mov eax, dword [edx + 0x10]
add esi, 0x2ba4
mov edx, dword [esp + 0x1c]
movss xmm0, dword [0x100b9a58]
mov dword [esp + 0x28], esi
mov dword [esi + 0x10], eax
mov eax, dword [edx + 0x18b8]
mov eax, dword [eax + 0x44]
mov dword [esi + 0x44], eax
mov eax, dword [edx + 0x18b8]
mov ecx, dword [eax + 0x30]
mov eax, dword [eax + 0x34]
mov dword [esi + 0x30], ecx
mov dword [esi + 0x34], eax
mov eax, dword [edx + 0x18b8]
mov eax, dword [eax + 0x48]
mov dword [esi + 0x48], eax
mov eax, dword [edx + 0x18b8]
mov eax, dword [eax + 0x4c]
mov dword [esi + 0x4c], eax
mov eax, dword [edx + 0x18b8]
mov eax, dword [eax + 0x38]
mov dword [esi + 0x2c], edi
mov dword [esi + 0x38], eax
mov eax, dword [edi + 4]
mov edi, dword [0x100c6d88]
mov dword [esi + 0xc], eax
movss xmm1, dword [edi + 0x98]
mov eax, dword [edi + 0x199c]
mov dword [edi + 0x18b8], esi
mulss xmm1, dword [esi + 0x10]
mulss xmm1, dword [esi + 0x44]
maxss xmm0, xmm1
movss dword [edi + 0x18c0], xmm0
test eax, eax
je 0x10040506
movss xmm0, dword [eax + 0x26c]
mulss xmm0, dword [edi + 0x18c0]
jmp 0x10040509
xorps xmm0, xmm0
movss dword [edi + 0x18bc], xmm0
mov eax, dword [esi + 0x38]
mov ecx, dword [eax + 0x2c]
mov eax, dword [eax + 0x30]
mov dword [edi + 0x18c8], eax
lea eax, [esp + 0x28]
mov dword [edi + 0x18c4], ecx
lea ecx, [edi + 0x1a1c]
push eax
mov dword [edi + 0x18cc], esi
movss dword [edi + 0x18d0], xmm0
call fcn.1002b870
mov eax, dword [edi + 0x199c]
mov ecx, dword [eax + 0x274]
mov eax, dword [esi + 0x38]
lea esi, [ecx + 0x48]
mov edi, dword [esi + 4]
mov dword [esp + 0x60], ecx
mov ecx, dword [esi]
mov eax, dword [eax + 8]
mov dword [esp + 0x28], eax
cmp ecx, edi
jne 0x1004058e
inc ecx
test edi, edi
je 0x1004057a
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x1004057f
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.1002b750
mov ecx, dword [esi]
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x28]
mov dword [eax + ecx*4], edx
mov ecx, dword [esp + 0x60]
inc dword [esi]
call fcn.100339f0
mov edi, dword [esp + 0x40]
mov eax, dword [esp + 0x1c]
xor edx, edx
mov ecx, dword [esp + 0x30]
cmp dword [eax + 0x1d34], ecx
lea esi, [eax + 0x1d34]
cmovne esi, edx
test dword [esp + 0x3c], 0x440
mov edx, ecx
mov dword [esp + 0x14], esi
sete al
mov ecx, edi
movzx eax, al
push eax
call fcn.1001cfe0
add esp, 4
mov byte [esp + 0x53], al
test al, al
je 0x1004064b
mov ecx, dword [edi + 0x328]
cmp ecx, dword [edi + 0x330]
jne 0x1004064b
mov byte [esp + 0x23], 1
mov byte [esp + 0x22], 0
cmp byte [esp + 0x2f], 0
mov eax, dword [esp + 0x1c]
je 0x10040618
cmp byte [eax + 0x3d0], 0
mov byte [esp + 0x11], 1
jne 0x1004061d
mov byte [esp + 0x11], 0
mov edi, dword [eax + 0x19bc]
mov ecx, dword [esp + 0x30]
cmp edi, ecx
je 0x10040660
cmp dword [eax + 0x1ac0], ecx
je 0x10040644
cmp dword [eax + 0x1ab4], ecx
jne 0x10040660
cmp dword [eax + 0x1ad4], 3
jne 0x10040660
mov byte [esp + 0x21], 1
jmp 0x10040665
mov byte [esp + 0x23], 0
test al, al
je 0x100405fa
mov byte [esp + 0x22], 1
mov byte [esp + 0x23], 0
jmp 0x100405ff
mov byte [esp + 0x21], 0
mov eax, dword [esp + 0x38]
test al, al
je 0x100406af
test esi, esi
je 0x100406af
test edi, edi
jne 0x100406af
mov eax, dword [esp + 0x6c]
xor edx, edx
mov ecx, dword [eax + 0x1c0]
mov eax, dword [eax + 0x1c8]
push dword [eax + ecx*4 - 4]
mov ecx, str.SCROLLY
call fcn.1001a390
mov ecx, dword [esp + 0x20]
add esp, 4
cmp dword [ecx + 0x19c0], eax
jne 0x100406ab
mov byte [esp + 0x13], 1
jmp 0x100406c1
mov eax, dword [esp + 0x38]
mov byte [esp + 0x13], 0
test al, al
je 0x100406ed
mov byte [esp + 0x13], 0
test esi, esi
je 0x100406ed
mov eax, dword [esp + 0x6c]
mov ecx, str.SCROLLY
mov edx, dword [eax + 0x1c0]
mov eax, dword [eax + 0x1c8]
push dword [eax + edx*4 - 4]
xor edx, edx
call fcn.1001a390
add esp, 4
mov byte [esp + 0x37], 1
cmp edi, eax
je 0x100406f2
mov byte [esp + 0x37], 0
mov eax, dword [esp + 0x30]
mov byte [esp + 0x1b], 0
cmp edi, eax
je 0x10040719
test byte [esp + 0x3c], 0x10
jne 0x1004070d
cmp byte [esp + 0x21], 0
je 0x10040719
cmp byte [esp + 0x38], 0
mov byte [esp + 0x24], 1
je 0x1004071e
mov byte [esp + 0x24], 0
cmp byte [esp + 0x53], 0
jne 0x10040755
cmp byte [esp + 0x11], 0
jne 0x10040755
cmp byte [esp + 0x13], 0
jne 0x10040755
cmp byte [esp + 0x21], 0
jne 0x10040755
mov edi, dword [esp + 0x1c]
cmp byte [edi + 0x3d0], 0
je 0x100408db
mov byte [esp + 0x1b], 1
jmp 0x100408db
mov dword [esp + 0x14], esi
cmp edi, eax
je 0x1004089c
mov ecx, dword [esp + 0x1c]
mov edi, dword [esp + 0x48]
add ecx, 0x1d34
mov esi, edi
mov dword [esp + 0x14], ecx
mov dword [ecx + 0xe5c], 0xbe99999a
lea edx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x10040782
sub esi, edx
add ecx, 0x24
inc esi
push esi
call fcn.1002bab0
push esi
mov esi, dword [esp + 0x18]
push edi
push dword [esi + 0x2c]
call fcn.10056e20
mov eax, dword [ebp + 8]
lea ecx, [esi + 0xc]
mov edi, dword [esi + 4]
add esp, 0xc
inc eax
mov dword [esp + 0x28], 0
push eax
call fcn.1002baf0
mov edx, dword [ebp + 8]
lea eax, [esp + 0x28]
push eax
push ecx
push dword [esp + 0x50]
mov ecx, dword [esi + 0x14]
call fcn.1001a770
mov ecx, dword [esp + 0x34]
add esp, 0xc
sub ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x30]
mov dword [esi + 4], eax
mov dword [esi + 8], ecx
cmp dword [esi], edx
jne 0x100407fd
cmp edi, eax
jne 0x100407fd
mov ecx, esi
call fcn.10039c40
mov ecx, dword [esp + 0x38]
jmp 0x1004086d
mov ecx, dword [esp + 0x38]
mov al, cl
xor al, 1
mov dword [esi], edx
mov dword [esi + 0x34], 0
mov dword [esi + 0xe4e], 0x630000
mov dword [esi + 0xe54], 0
mov dword [esi + 0xe58], 0x3e7
mov dword [esi + 0x3c], 0
mov dword [esi + 0x40], 0
mov dword [esi + 0x38], 0
mov dword [esi + 0x44], 0x10000
mov dword [esi + 0x4c], 0
mov byte [esi + 0x48], al
test cl, cl
jne 0x1004086d
mov eax, dword [esp + 0x24]
mov edx, 1
cmp byte [esp + 0x23], cl
movzx eax, al
cmovne eax, edx
mov dword [esp + 0x24], eax
test dword [esp + 0x3c], 0x2000
je 0x1004087b
mov byte [esi + 0x44], 1
test cl, cl
jne 0x1004089c
cmp byte [esp + 0x22], cl
jne 0x10040897
cmp byte [esp + 0x11], cl
je 0x1004089c
mov eax, dword [esp + 0x1c]
cmp byte [eax + 0xf8], cl
je 0x1004089c
mov byte [esp + 0x24], 1
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x30]
call fcn.1001c8e0
call fcn.1001c990
mov ecx, edx
call fcn.100248c0
cmp byte [esp + 0x38], 0
mov edi, dword [esp + 0x1c]
mov dword [edi + 0x19d8], 2
jne 0x100408db
test byte [esp + 0x3c], 0x80
jne 0x100408db
mov dword [edi + 0x19d4], 0xc
mov eax, dword [edi + 0x19bc]
mov ecx, dword [esp + 0x30]
cmp eax, ecx
jne 0x100408fc
test esi, esi
jne 0x100408fc
call fcn.1001ca50
mov eax, dword [edi + 0x19bc]
mov ecx, dword [esp + 0x30]
movss xmm0, dword [0x100b9a18]
xor dl, dl
mov byte [esp + 0x53], 0
mov byte [esp + 0x12], dl
mov dword [esp + 0x60], 0
cmp eax, ecx
jne 0x10040c36
cmp byte [esp + 0x5c], dl
je 0x1004097b
cmp byte [edi + 0x19cc], dl
jne 0x1004097b
mov eax, dword [ebp + 8]
lea ecx, [esi + 0xc]
inc eax
mov dword [esp + 0x28], 0
push eax
call fcn.1002baf0
mov edx, dword [esi + 0xc]
lea eax, [esp + 0x28]
mov esi, dword [esp + 0x14]
push eax
push ecx
push dword [esp + 0x50]
mov ecx, dword [esi + 0x14]
call fcn.1001a770
mov dword [esi + 4], eax
add esp, 0xc
mov eax, dword [esp + 0x28]
mov ecx, esi
sub eax, dword [esp + 0x48]
mov dword [esi + 8], eax
call fcn.10039c40
movss xmm0, dword [0x100b9a18]
mov eax, dword [esi + 8]
mov dword [esp + 0x60], eax
mov eax, dword [ebp + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esp + 0x3c]
mov dword [esi + 0xe64], eax
mov dword [esi + 0xe68], 0
mov dword [esi + 0xe6c], 0
cmp byte [edi + 0xe8], 0
mov dword [edi + 0x2e84], 1
sete al
cmp byte [esp + 0x38], 0
mov byte [edi + 0x19cd], al
movss xmm7, dword [edi + 0xe0]
subss xmm7, dword [esp + 0x68]
subss xmm7, dword [edi + 0x1534]
addss xmm7, dword [esi + 0x34]
je 0x10040a00
mov eax, dword [esp + 0x6c]
movss xmm2, dword [edi + 0xe4]
subss xmm2, dword [eax + 0xcc]
subss xmm2, dword [edi + 0x1538]
jmp 0x10040a0c
movss xmm2, dword [edi + 0x18bc]
mulss xmm2, xmm0
cmp byte [esp + 0x24], 0
mov cl, byte [edi + 0xad]
mov byte [esp + 0x13], cl
jne 0x10040b57
mov dl, byte [esp + 0x2f]
test dl, dl
je 0x10040a3b
mov al, byte [edi + 0x3d5]
test cl, cl
jne 0x10040aa1
test al, al
jne 0x10040b57
cmp byte [edi + 0x3d0], 0
mov al, byte [esi + 0xe61]
je 0x10040ac6
test al, al
jne 0x10040ac6
test dl, dl
je 0x10040b72
cmp byte [esi + 0x48], al
je 0x10040a77
push 0
mov edx, esi
lea ecx, [esp + 0xf4]
call fcn.1003e6d0
movss xmm2, dword [esp + 0x100]
add esp, 4
movaps xmm1, xmm7
mov ecx, esi
call fcn.1003eac0
mov cl, byte [esp + 0x13]
mov dword [esi + 0x38], eax
mov dword [esi + 0x3c], eax
mov dword [esi + 0x40], eax
mov byte [esi + 0x47], 0
mov dword [esi + 0xe5c], 0xbe99999a
jmp 0x10040b72
test al, al
je 0x10040a3b
push 0x1000c
mov ecx, esi
call fcn.1003fd50
push 0x3000d
mov ecx, esi
call fcn.1003fd50
mov cl, byte [esp + 0x13]
jmp 0x10040b72
cmp byte [edi + 0xe8], 0
je 0x10040b72
test al, al
jne 0x10040b72
movss xmm0, dword [edi + 0x370]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x10040b00
movss xmm0, dword [edi + 0x374]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x10040b72
cmp byte [esi + 0x48], 0
je 0x10040b22
push 0
mov edx, esi
lea ecx, [esp + 0xf4]
call fcn.1003e6d0
movss xmm2, dword [esp + 0x100]
add esp, 4
mov eax, dword [esi + 0x3c]
cmp eax, dword [esi + 0x40]
jne 0x10040b30
mov eax, dword [esi + 0x38]
mov dword [esi + 0x3c], eax
movaps xmm1, xmm7
mov ecx, esi
call fcn.1003eac0
mov cl, byte [esp + 0x13]
mov dword [esi + 0x40], eax
mov dword [esi + 0x38], eax
mov dword [esi + 0xe5c], 0xbe99999a
mov byte [esi + 0xe60], 1
jmp 0x10040b72
mov eax, dword [esi + 4]
mov dword [esi + 0x3c], 0
mov dword [esi + 0x40], eax
mov dword [esi + 0x38], eax
mov byte [esi + 0x47], 0
mov byte [esi + 0xe61], 1
cmp byte [esi + 0xe61], 0
je 0x10040b8b
cmp byte [edi + 0xe8], 0
jne 0x10040b8b
mov byte [esi + 0xe61], 0
cmp dword [edi + 0x14f0], 0
lea eax, [edi + 0x14f0]
jle 0x10040c36
cmp byte [edi + 0xf8], 0
je 0x10040bb0
cmp byte [edi + 0xfa], 0
je 0x10040c2d
test cl, cl
je 0x10040bbd
cmp byte [edi + 0xfb], 0
jne 0x10040c2d
cmp byte [esp + 0x5c], 0
jne 0x10040c2d
cmp byte [esp + 0x21], 0
jne 0x10040c2d
xor edi, edi
nop dword [eax]
mov eax, dword [esp + 0x1c]
lea ecx, [esp + 0x28]
mov edx, dword [esp + 0x3c]
sub esp, 8
mov eax, dword [eax + 0x14f8]
movzx eax, word [eax + edi*2]
mov dword [esp + 0x30], eax
call fcn.1003fd80
add esp, 8
test al, al
je 0x10040c1b
push dword [esp + 0x28]
lea edx, [esi + 0x38]
mov ecx, esi
call fcn.1003ef80
add esp, 4
mov byte [esi + 0xe60], 1
mov dword [esi + 0xe5c], 0xbe99999a
mov eax, dword [esp + 0x1c]
inc edi
add eax, 0x14f0
cmp edi, dword [eax]
jl 0x10040bd0
mov edi, dword [esp + 0x1c]
push 0
mov ecx, eax
call fcn.1002baf0
mov eax, dword [esp + 0x30]
mov byte [esp + 0x11], 0
cmp dword [edi + 0x19bc], eax
jne 0x10041393
cmp byte [edi + 0x19cc], 0
jne 0x10041393
cmp byte [esp + 0x1b], 0
jne 0x10041393
mov ch, byte [edi + 0xf9]
xor eax, eax
test ch, ch
mov byte [esp + 0x2f], ch
mov edx, 0x20000
cmovne eax, edx
mov dl, byte [edi + 0xad]
mov dword [esp + 0x54], eax
mov al, byte [edi + 0xf8]
mov byte [esp + 0x8b], dl
test dl, dl
je 0x10040cb4
cmp byte [edi + 0xfb], 0
je 0x10040ca8
test al, al
jne 0x10040ca8
mov ecx, 1
jmp 0x10040caa
xor ecx, ecx
test ecx, ecx
je 0x10040cd2
mov ch, byte [esp + 0x2f]
jmp 0x10040cc1
test al, al
je 0x10040cd2
cmp byte [edi + 0xfb], 0
jne 0x10040cd2
cmp byte [edi + 0xfa], 0
jne 0x10040cd2
test ch, ch
jne 0x10040cd2
mov ah, 1
jmp 0x10040cd8
mov ch, byte [esp + 0x2f]
xor ah, ah
mov byte [esp + 0x13], ah
mov cl, al
test dl, dl
je 0x10040d08
cmp byte [edi + 0xfb], 0
je 0x10040d08
test ch, ch
je 0x10040d08
mov cl, byte [edi + 0xf8]
test cl, cl
jne 0x10040d08
cmp byte [edi + 0xfa], cl
jne 0x10040d08
mov byte [esp + 0x5b], 1
jmp 0x10040d11
mov byte [esp + 0x5b], 0
test dl, dl
je 0x10040d55
cmp byte [edi + 0xfb], 0
mov al, byte [edi + 0xfa]
mov byte [esp + 0x23], al
je 0x10040d5e
test cl, cl
jne 0x10040d5e
test al, al
jne 0x10040d5e
mov byte [esp + 0x21], 1
mov al, byte [edi + 0xf9]
xor dl, dl
test al, al
je 0x10040d7d
test cl, cl
jne 0x10040d7d
cmp byte [edi + 0xfa], cl
jne 0x10040d7d
cmp byte [edi + 0xfb], cl
jne 0x10040d7d
mov dh, 1
jmp 0x10040d7f
mov byte [esp + 0x23], cl
mov byte [esp + 0x5b], 0
mov byte [esp + 0x21], 0
test cl, cl
je 0x10040d31
test ch, ch
jne 0x10040d31
cmp byte [edi + 0xfa], ch
jne 0x10040d31
cmp byte [edi + 0xfb], ch
jne 0x10040d31
mov dl, 1
xor dh, dh
mov edi, dword [0x100c6d88]
xorps xmm4, xmm4
mov dword [esp + 0x44], edi
test ah, ah
je 0x10040e15
mov eax, dword [edi + 0x7c]
test eax, eax
js 0x10040e15
movss xmm1, dword [edi + eax*4 + 0x448]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x10040e9a
movss xmm2, dword [edi + 0x88]
comiss xmm1, xmm2
jbe 0x10040e15
movss xmm3, dword [edi + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10040dd6
mov eax, 1
jmp 0x10040e0d
comiss xmm2, xmm1
jae 0x10040e0b
comiss xmm4, xmm3
jae 0x10040e0b
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x10040e0d
xor eax, eax
test eax, eax
jg 0x10040e9a
test dh, dh
je 0x10040ec1
mov eax, dword [edi + 0x5c]
test eax, eax
js 0x10040ec1
movss xmm1, dword [edi + eax*4 + 0x448]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x10040e9a
movss xmm2, dword [edi + 0x88]
comiss xmm1, xmm2
jbe 0x10040ec1
movss xmm3, dword [edi + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10040e5f
mov eax, 1
jmp 0x10040e96
comiss xmm2, xmm1
jae 0x10040e94
comiss xmm4, xmm3
jae 0x10040e94
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x10040e96
xor eax, eax
test eax, eax
jle 0x10040ec1
cmp byte [esp + 0x5c], 0
jne 0x10040ec1
cmp byte [esp + 0xb8], 0
jne 0x10040ec1
cmp byte [esp + 0x38], 0
je 0x10040eba
mov eax, dword [esi + 0x3c]
cmp eax, dword [esi + 0x40]
je 0x10040ec1
mov byte [esp + 0x22], 1
jmp 0x10040ec6
mov byte [esp + 0x22], 0
cmp byte [esp + 0x13], 0
je 0x10040f52
mov eax, dword [edi + 0x74]
test eax, eax
js 0x10040f52
movss xmm1, dword [edi + eax*4 + 0x448]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x10040fd7
movss xmm2, dword [edi + 0x88]
comiss xmm1, xmm2
jbe 0x10040f52
movss xmm3, dword [edi + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10040f13
mov eax, 1
jmp 0x10040f4a
comiss xmm2, xmm1
jae 0x10040f48
comiss xmm4, xmm3
jae 0x10040f48
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x10040f4a
xor eax, eax
test eax, eax
jg 0x10040fd7
test dl, dl
je 0x10040ff7
mov eax, dword [edi + 0x58]
test eax, eax
js 0x10040ff7
movss xmm1, dword [edi + eax*4 + 0x448]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x10040fd7
movss xmm2, dword [edi + 0x88]
comiss xmm1, xmm2
jbe 0x10040ff7
movss xmm3, dword [edi + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10040f9c
mov eax, 1
jmp 0x10040fd3
comiss xmm2, xmm1
jae 0x10040fd1
comiss xmm4, xmm3
jae 0x10040fd1
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x10040fd3
xor eax, eax
test eax, eax
jle 0x10040ff7
cmp byte [esp + 0xb8], 0
jne 0x10040ff7
cmp byte [esp + 0x38], 0
je 0x10040ff0
mov eax, dword [esi + 0x3c]
cmp eax, dword [esi + 0x40]
je 0x10040ff7
mov byte [esp + 0x76], 1
jmp 0x10040ffc
mov byte [esp + 0x76], 0
mov dl, byte [esp + 0x13]
test dl, dl
je 0x10041089
mov eax, dword [edi + 0x78]
test eax, eax
js 0x10041089
movss xmm1, dword [edi + eax*4 + 0x448]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1004110a
movss xmm2, dword [edi + 0x88]
comiss xmm1, xmm2
jbe 0x10041089
movss xmm3, dword [edi + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1004104a
mov eax, 1
jmp 0x10041081
comiss xmm2, xmm1
jae 0x1004107f
comiss xmm4, xmm3
jae 0x1004107f
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x10041081
xor eax, eax
test eax, eax
jg 0x1004110a
test dh, dh
je 0x10041116
mov eax, dword [edi + 0x58]
test eax, eax
js 0x10041116
movss xmm1, dword [edi + eax*4 + 0x448]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1004110a
movss xmm2, dword [edi + 0x88]
comiss xmm1, xmm2
jbe 0x10041116
movss xmm3, dword [edi + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x100410cf
mov eax, 1
jmp 0x10041106
comiss xmm2, xmm1
jae 0x10041104
comiss xmm4, xmm3
jae 0x10041104
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x10041106
xor eax, eax
test eax, eax
jle 0x10041116
cmp byte [esp + 0x5c], 0
mov byte [esp + 0x77], 1
je 0x1004111b
mov byte [esp + 0x77], 0
test dl, dl
je 0x100411b5
mov eax, dword [edi + 0x84]
test eax, eax
js 0x100411b5
movss xmm1, dword [edi + eax*4 + 0x448]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x100411a3
movss xmm2, dword [edi + 0x88]
comiss xmm1, xmm2
jbe 0x100411b5
movss xmm3, dword [edi + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10041168
mov eax, 1
jmp 0x1004119f
comiss xmm2, xmm1
jae 0x1004119d
comiss xmm4, xmm3
jae 0x1004119d
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x1004119f
xor eax, eax
test eax, eax
jle 0x100411b5
cmp byte [esp + 0x5c], 0
jne 0x100411b5
cmp byte [esp + 0x78], 0
je 0x100411b5
mov dh, 1
jmp 0x100411bf
xor dh, dh
test dl, dl
je 0x10041243
mov eax, dword [edi + 0x80]
test eax, eax
js 0x10041243
movss xmm1, dword [edi + eax*4 + 0x448]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x100412ce
movss xmm2, dword [edi + 0x88]
comiss xmm1, xmm2
jbe 0x10041243
movss xmm3, dword [edi + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10041204
mov eax, 1
jmp 0x1004123b
comiss xmm2, xmm1
jae 0x10041239
comiss xmm4, xmm3
jae 0x10041239
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x1004123b
xor eax, eax
test eax, eax
jg 0x100412ce
cmp byte [esp + 0x5b], 0
je 0x100412e0
mov eax, dword [edi + 0x84]
test eax, eax
js 0x100412e0
movss xmm1, dword [edi + eax*4 + 0x448]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x100412ce
movss xmm2, dword [edi + 0x88]
comiss xmm1, xmm2
jbe 0x100412e0
movss xmm3, dword [edi + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10041293
mov eax, 1
jmp 0x100412ca
comiss xmm2, xmm1
jae 0x100412c8
comiss xmm4, xmm3
jae 0x100412c8
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x100412ca
xor eax, eax
test eax, eax
jle 0x100412e0
cmp byte [esp + 0x5c], 0
jne 0x100412e0
cmp byte [esp + 0x78], 0
je 0x100412e0
mov dl, 1
jmp 0x100412e2
xor dl, dl
mov eax, dword [edi + 0x38]
test eax, eax
js 0x1004140f
movss xmm1, dword [edi + eax*4 + 0x448]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x10041367
movss xmm2, dword [edi + 0x88]
comiss xmm1, xmm2
jbe 0x1004140f
movss xmm3, dword [edi + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10041328
mov eax, 1
jmp 0x1004135f
comiss xmm2, xmm1
jae 0x1004135d
comiss xmm4, xmm3
jae 0x1004135d
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x1004135f
xor eax, eax
test eax, eax
jle 0x1004140f
cmp byte [esp + 0x21], 0
je 0x10041375
mov eax, 0x10004
jmp 0x10041387
mov eax, 0x10000
mov ecx, 0x1000c
cmp byte [esp + 0x23], 0
cmovne eax, ecx
or eax, dword [esp + 0x54]
push eax
mov ecx, esi
call fcn.1003fd50
mov edi, dword [0x100c6d88]
mov dword [esp + 0x44], edi
mov esi, dword [esp + 0x14]
mov dh, byte [esp + 0x12]
mov cl, byte [esp + 0x11]
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x19bc]
cmp eax, dword [esp + 0x30]
jne 0x100424b3
xor eax, eax
mov dword [esp + 0x4c], 0
mov dword [esp + 0x24], eax
test cl, cl
je 0x100421b7
cmp byte [esp + 0x5c], al
jne 0x100420ed
mov ecx, dword [esi + 0x2c]
mov eax, dword [esp + 0x48]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100420d5
test dl, dl
je 0x10041408
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100420d5
add eax, 2
add ecx, 2
test dl, dl
jne 0x100413e4
xor eax, eax
jmp 0x100420da
mov eax, dword [edi + 0x3c]
test eax, eax
js 0x100414aa
movss xmm1, dword [edi + eax*4 + 0x448]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1004148c
movss xmm2, dword [edi + 0x88]
comiss xmm1, xmm2
jbe 0x100414aa
movss xmm3, dword [edi + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10041451
mov eax, 1
jmp 0x10041488
comiss xmm2, xmm1
jae 0x10041486
comiss xmm4, xmm3
jae 0x10041486
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x10041488
xor eax, eax
test eax, eax
jle 0x100414aa
cmp byte [esp + 0x21], 0
je 0x1004149d
mov eax, 0x10005
jmp 0x10041387
mov eax, 0x10001
lea ecx, [eax + 0xc]
jmp 0x1004137f
mov eax, dword [edi + 0x40]
test eax, eax
js 0x10041588
movss xmm1, dword [edi + eax*4 + 0x448]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1004152b
movss xmm2, dword [edi + 0x88]
comiss xmm1, xmm2
jbe 0x10041588
movss xmm3, dword [edi + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x100414f0
mov eax, 1
jmp 0x10041527
comiss xmm2, xmm1
jae 0x10041525
comiss xmm4, xmm3
jae 0x10041525
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x10041527
xor eax, eax
test eax, eax
jle 0x10041588
cmp byte [esp + 0x38], 0
je 0x10041588
mov ecx, dword [esp + 0x1c]
cmp byte [ecx + 0xf8], 0
je 0x10041577
mov edx, dword [esp + 0x6c]
mov esi, ecx
movss xmm1, dword [edx + 0x5c]
movaps xmm0, xmm1
subss xmm0, dword [esi + 0x18bc]
addss xmm1, dword [edx + 0xe4]
maxss xmm0, xmm4
subss xmm1, xmm0
movss dword [edx + 0x5c], xmm0
movss dword [edx + 0xe4], xmm1
jmp 0x1004139d
movzx eax, byte [esp + 0x21]
lea eax, [eax*4 + 0x10002]
jmp 0x10041387
mov eax, dword [edi + 0x44]
test eax, eax
js 0x10041690
movss xmm1, dword [edi + eax*4 + 0x448]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1004160d
movss xmm2, dword [edi + 0x88]
comiss xmm1, xmm2
jbe 0x10041690
movss xmm3, dword [edi + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x100415ce
mov eax, 1
jmp 0x10041605
comiss xmm2, xmm1
jae 0x10041603
comiss xmm4, xmm3
jae 0x10041603
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x10041605
xor eax, eax
test eax, eax
jle 0x10041690
cmp byte [esp + 0x38], 0
je 0x10041690
mov eax, dword [esp + 0x1c]
cmp byte [eax + 0xf8], 0
je 0x1004167f
mov eax, dword [edi + 0x199c]
mov ecx, dword [esp + 0x6c]
mov esi, dword [esp + 0x1c]
movss xmm0, dword [eax + 0x20]
subss xmm0, dword [eax + 0x74]
movss xmm1, dword [eax + 0x30]
movss xmm3, dword [ecx + 0x5c]
movaps xmm2, xmm3
addss xmm2, dword [esi + 0x18bc]
addss xmm3, dword [ecx + 0xe4]
subss xmm1, xmm0
xorps xmm0, xmm0
maxss xmm0, xmm1
minss xmm2, xmm0
subss xmm3, xmm2
movss dword [ecx + 0x5c], xmm2
movss dword [ecx + 0xe4], xmm3
jmp 0x1004139d
movzx eax, byte [esp + 0x21]
lea eax, [eax*4 + 0x10003]
jmp 0x10041387
mov eax, dword [edi + 0x50]
test eax, eax
js 0x10041736
movss xmm1, dword [edi + eax*4 + 0x448]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x10041711
movss xmm2, dword [edi + 0x88]
comiss xmm1, xmm2
jbe 0x10041736
movss xmm3, dword [edi + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x100416d6
mov eax, 1
jmp 0x1004170d
comiss xmm2, xmm1
jae 0x1004170b
comiss xmm4, xmm3
jae 0x1004170b
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x1004170d
xor eax, eax
test eax, eax
jle 0x10041736
mov ecx, dword [esp + 0x54]
mov eax, ecx
mov edx, dword [esp + 0x1c]
or eax, 0x10006
or ecx, 0x10004
cmp byte [edx + 0xf8], 0
cmovne ecx, eax
push ecx
jmp 0x1004138c
mov eax, dword [edi + 0x54]
test eax, eax
js 0x100417dc
movss xmm1, dword [edi + eax*4 + 0x448]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x100417b7
movss xmm2, dword [edi + 0x88]
comiss xmm1, xmm2
jbe 0x100417dc
movss xmm3, dword [edi + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1004177c
mov eax, 1
jmp 0x100417b3
comiss xmm2, xmm1
jae 0x100417b1
comiss xmm4, xmm3
jae 0x100417b1
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x100417b3
xor eax, eax
test eax, eax
jle 0x100417dc
mov ecx, dword [esp + 0x54]
mov eax, ecx
mov edx, dword [esp + 0x1c]
or eax, 0x10007
or ecx, 0x10005
cmp byte [edx + 0xf8], 0
cmovne ecx, eax
push ecx
jmp 0x1004138c
mov eax, dword [edi + 0x5c]
test eax, eax
js 0x10041870
movss xmm1, dword [edi + eax*4 + 0x448]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x10041859
movss xmm2, dword [edi + 0x88]
comiss xmm1, xmm2
jbe 0x10041870
movss xmm3, dword [edi + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1004181e
mov eax, 1
jmp 0x10041855
comiss xmm2, xmm1
jae 0x10041853
comiss xmm4, xmm3
jae 0x10041853
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x10041855
xor eax, eax
test eax, eax
jle 0x10041870
cmp byte [esp + 0x5c], 0
jne 0x10041870
mov ecx, dword [esp + 0x54]
or ecx, 0x10008
push ecx
jmp 0x1004138c
mov eax, dword [edi + 0x60]
test eax, eax
js 0x10041953
movss xmm1, dword [edi + eax*4 + 0x448]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x100418f1
movss xmm2, dword [edi + 0x88]
comiss xmm1, xmm2
jbe 0x10041953
movss xmm3, dword [edi + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x100418b6
mov eax, 1
jmp 0x100418ed
comiss xmm2, xmm1
jae 0x100418eb
comiss xmm4, xmm3
jae 0x100418eb
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x100418ed
xor eax, eax
test eax, eax
jle 0x10041953
cmp byte [esp + 0x5c], 0
jne 0x10041953
mov eax, dword [esi + 0x3c]
cmp eax, dword [esi + 0x40]
jne 0x10041943
cmp byte [esp + 0x23], 0
je 0x1004190e
push 0x3000c
jmp 0x1004193c
cmp byte [esp + 0x8b], 0
je 0x10041943
mov eax, dword [esp + 0x1c]
cmp byte [eax + 0xfb], 0
je 0x10041943
cmp byte [eax + 0xfa], 0
jne 0x10041943
cmp byte [eax + 0xf8], 0
jne 0x10041943
push 0x30004
mov ecx, esi
call fcn.1003fd50
mov ecx, dword [esp + 0x54]
or ecx, 0x10009
push ecx
jmp 0x1004138c
mov eax, dword [edi + 0x68]
test eax, eax
js 0x10041a43
movss xmm1, dword [edi + eax*4 + 0x448]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x100419d4
movss xmm2, dword [edi + 0x88]
comiss xmm1, xmm2
jbe 0x10041a43
movss xmm3, dword [edi + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10041999
mov eax, 1
jmp 0x100419d0
comiss xmm2, xmm1
jae 0x100419ce
comiss xmm4, xmm3
jae 0x100419ce
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x100419d0
xor eax, eax
test eax, eax
jle 0x10041a43
mov edx, dword [esp + 0x3c]
mov eax, edx
shr eax, 0xb
and al, 1
cmp byte [esp + 0x38], 0
je 0x100419f8
mov ecx, dword [esp + 0x1c]
mov cl, byte [ecx + 0xf8]
test al, al
je 0x10041a0c
test cl, cl
jne 0x10041a10
mov esi, dword [esp + 0x14]
mov dh, 1
mov byte [esp + 0x1b], 1
mov byte [esp + 0x12], dh
jmp 0x100413a5
test cl, cl
jne 0x100419f8
cmp byte [esp + 0x5c], 0
jne 0x1004139d
mov dword [esp + 0x28], 0xa
sub esp, 8
lea ecx, [esp + 0x30]
call fcn.1003fd80
add esp, 8
test al, al
je 0x10041393
push dword [esp + 0x28]
jmp 0x1004138c
mov ecx, dword [esp + 0x3c]
test ecx, 0x400
je 0x10041b0b
mov eax, dword [edi + 0x34]
test eax, eax
js 0x10041b0b
movss xmm1, dword [edi + eax*4 + 0x448]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x10041ad8
movss xmm2, dword [edi + 0x88]
comiss xmm1, xmm2
jbe 0x10041b0b
movss xmm3, dword [edi + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10041a99
mov eax, 1
jmp 0x10041ad4
comiss xmm2, xmm1
jae 0x10041ad2
comiss xmm4, xmm3
jae 0x10041ad2
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
mov ecx, dword [esp + 0x3c]
jmp 0x10041ad4
xor eax, eax
test eax, eax
jle 0x10041b0b
mov eax, dword [esp + 0x1c]
cmp byte [eax + 0xf8], 0
jne 0x10041b0b
cmp byte [esp + 0x2f], 0
jne 0x10041b0b
cmp byte [eax + 0xfa], 0
jne 0x10041b0b
cmp byte [esp + 0x5c], 0
jne 0x10041b0b
mov dword [esp + 0x28], 9
mov edx, ecx
jmp 0x10041a23
mov eax, dword [edi + 0x6c]
test eax, eax
js 0x10041b9b
movss xmm1, dword [edi + eax*4 + 0x448]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x10041b88
movss xmm2, dword [edi + 0x88]
comiss xmm1, xmm2
jbe 0x10041b9b
movss xmm3, dword [edi + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10041b4d
mov eax, 1
jmp 0x10041b84
comiss xmm2, xmm1
jae 0x10041b82
comiss xmm4, xmm3
jae 0x10041b82
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x10041b84
xor eax, eax
test eax, eax
jle 0x10041b9b
mov esi, dword [esp + 0x14]
mov cl, 1
mov dh, byte [esp + 0x12]
mov byte [esp + 0x1b], cl
jmp 0x100413a9
test dh, dh
jne 0x100420b4
test dl, dl
jne 0x100420b4
cmp byte [esp + 0x13], dl
je 0x10041c52
mov eax, dword [edi + 0x70]
test eax, eax
js 0x10041c52
movss xmm1, dword [edi + eax*4 + 0x448]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x10041c32
movss xmm2, dword [edi + 0x88]
comiss xmm1, xmm2
jbe 0x10041c52
movss xmm3, dword [edi + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10041bf7
mov eax, 1
jmp 0x10041c2e
comiss xmm2, xmm1
jae 0x10041c2c
comiss xmm4, xmm3
jae 0x10041c2c
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x10041c2e
xor eax, eax
test eax, eax
jle 0x10041c52
mov eax, dword [esi + 4]
mov dword [esi + 0x3c], 0
mov dword [esi + 0x40], eax
mov dword [esi + 0x38], eax
mov byte [esi + 0x47], 0
mov byte [esi + 0xe60], 1
jmp 0x1004139d
mov al, byte [esp + 0x22]
test al, al
jne 0x10041f48
cmp byte [esp + 0x76], al
jne 0x10041f48
cmp byte [esp + 0x77], al
je 0x1004139d
mov eax, dword [edi + 0xc8]
test eax, eax
je 0x10041c93
push dword [edi + 0xd0]
call eax
mov edi, eax
add esp, 4
test edi, edi
je 0x10041393
jmp 0x10041c98
mov edi, 0x100b79c7
mov ecx, edi
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10041ca0
sub ecx, edx
lea ecx, [ecx*2 + 2]
call fcn.1001d260
mov ecx, eax
xor eax, eax
mov dword [esp + 0xb0], ecx
mov dword [esp + 0x64], eax
cmp byte [edi], al
je 0x10041d31
xor esi, esi
nop word [eax + eax]
push 0
mov edx, edi
lea ecx, [esp + 0x44]
call fcn.1001a5d0
add edi, eax
add esp, 4
mov eax, dword [esp + 0x40]
test eax, eax
je 0x10041d1e
cmp eax, 0x10000
jae 0x10041d19
mov edx, dword [esp + 0x3c]
lea ecx, [esp + 0x40]
sub esp, 8
call fcn.1003fd80
add esp, 8
test al, al
je 0x10041d19
mov ecx, dword [esp + 0xb0]
mov ax, word [esp + 0x40]
mov word [ecx + esi*2], ax
inc esi
cmp byte [edi], 0
jne 0x10041cd0
mov ecx, dword [esp + 0xb0]
mov dword [esp + 0x64], esi
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x64]
xor edx, edx
mov word [ecx + eax*2], dx
test eax, eax
jle 0x10041f27
mov edi, dword [esp + 0x14]
add esi, 0x38
mov ecx, dword [esi + 8]
mov eax, dword [esi + 4]
mov edx, dword [edi + 4]
cmp eax, ecx
je 0x10041d9f
mov dword [esp + 0x4c], eax
cmp eax, edx
jle 0x10041d66
mov eax, edx
mov dword [esi + 4], edx
mov dword [esp + 0x4c], eax
jmp 0x10041d6a
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x9c], ecx
cmp ecx, edx
jle 0x10041d83
mov ecx, edx
mov dword [esi + 8], edx
mov dword [esp + 0x9c], ecx
jmp 0x10041d8a
mov ecx, dword [esp + 0x9c]
mov edi, dword [esp + 0x9c]
cmp dword [esp + 0x4c], edi
jne 0x10041d9f
mov eax, dword [esp + 0x4c]
mov ecx, edi
mov dword [esi], eax
mov edi, dword [esi]
cmp edi, edx
mov dword [esp + 0x24], edi
mov edi, dword [esp + 0x14]
jle 0x10041db3
mov dword [esi], edx
mov dword [esp + 0x24], edx
mov edx, dword [edi + 4]
cmp eax, ecx
je 0x10041e01
mov dword [esp + 0x4c], eax
cmp eax, edx
jle 0x10041dc9
mov dword [esi + 4], edx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x9c], ecx
cmp ecx, edx
jle 0x10041dde
mov dword [esi + 8], edx
mov dword [esp + 0x9c], edx
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x9c]
mov edi, ecx
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x4c]
cmp eax, edi
mov edi, dword [esp + 0x14]
jne 0x10041e01
mov dword [esi], eax
mov dword [esp + 0x24], eax
cmp dword [esp + 0x24], edx
jle 0x10041e0b
mov dword [esi], edx
jmp 0x10041e0f
mov edx, dword [esp + 0x24]
cmp eax, ecx
je 0x10041e46
mov edx, esi
jge 0x10041e2a
sub ecx, eax
push ecx
push eax
mov ecx, edi
call fcn.1003ee00
mov eax, dword [esi + 4]
mov dword [esi + 8], eax
jmp 0x10041e3b
sub eax, ecx
push eax
push ecx
mov ecx, edi
call fcn.1003ee00
mov eax, dword [esi + 8]
mov dword [esi + 4], eax
mov dword [esi], eax
add esp, 8
mov byte [esi + 0xf], 0
mov edx, eax
push dword [esp + 0x64]
mov ecx, edi
push dword [esp + 0xb4]
call fcn.1003e9a0
add esp, 8
test al, al
je 0x10041f05
mov eax, dword [esi]
lea ecx, [esi + 0x18]
mov dword [esp + 0x28], eax
mov eax, 0x63
mov word [esi + 0xe18], ax
mov dword [esi + 0xe20], 0x3e7
cmp word [esi + 0xe16], ax
jne 0x10041e90
call fcn.1003f9a0
cmp dword [esi + 0xe1c], 0x3e7
jle 0x10041eb8
nop dword [eax]
lea ecx, [esi + 0x18]
call fcn.1003f9a0
cmp dword [esi + 0xe1c], 0x3e7
jg 0x10041ea0
mov edi, dword [esp + 0x14]
movzx ecx, word [esi + 0xe16]
movsx edx, cx
shl edx, 4
add edx, 0x18
lea eax, [ecx + 1]
mov word [esi + 0xe16], ax
add edx, esi
je 0x10041ef9
mov eax, dword [esp + 0x28]
mov dword [edx], eax
mov eax, dword [esp + 0x64]
mov dword [edx + 4], 0
mov dword [edx + 8], eax
mov dword [edx + 0xc], 0xffffffff
add dword [esi], eax
mov byte [esi + 0xf], 0
jmp 0x10041f19
mov eax, dword [esp + 0x64]
add dword [esi], eax
mov byte [esi + 0xf], 0
jmp 0x10041f19
movzx eax, word [esi + 0xe16]
test ax, ax
je 0x10041f19
dec eax
mov word [esi + 0xe16], ax
mov ecx, dword [esp + 0xb0]
mov byte [edi + 0xe60], 1
test ecx, ecx
je 0x10041f3a
mov eax, dword [0x100c6d88]
test eax, eax
je 0x10041f3a
dec dword [eax + 0x36c]
push ecx
call fcn.1005ad82
add esp, 4
jmp 0x10041393
mov ecx, dword [esp + 0x1c]
cmp dword [ecx + 0xcc], 0
je 0x10041fe9
mov ecx, dword [esi + 0x40]
mov eax, dword [esi + 0x3c]
cmp eax, ecx
je 0x10041f6d
mov edx, ecx
cmovl ecx, eax
cmovge edx, eax
jmp 0x10041f72
mov edx, dword [esi + 4]
xor ecx, ecx
mov eax, dword [esi + 0x14]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x28], edx
lea edx, [eax + edx*2]
lea ecx, [eax + ecx*2]
call fcn.1001ade0
mov edi, eax
lea ecx, [edi + 1]
call fcn.1001d260
mov esi, dword [esi + 0x14]
lea edx, [edi + 1]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x40], eax
lea ecx, [esi + ecx*2]
push ecx
mov ecx, dword [esp + 0x7c]
lea ecx, [esi + ecx*2]
mov esi, eax
push ecx
mov ecx, esi
call fcn.1001aca0
add esp, 8
mov ecx, esi
call fcn.1001d280
test esi, esi
je 0x10041fd2
mov eax, dword [0x100c6d88]
test eax, eax
je 0x10041fd2
dec dword [eax + 0x36c]
push esi
call fcn.1005ad82
mov edi, dword [0x100c6d88]
add esp, 4
mov al, byte [esp + 0x22]
mov dword [esp + 0x44], edi
mov esi, dword [esp + 0x14]
test al, al
je 0x100413a1
mov eax, dword [esi + 0x3c]
cmp eax, dword [esi + 0x40]
jne 0x10042011
mov eax, dword [esi + 4]
mov dword [esi + 0x3c], 0
mov dword [esi + 0x40], eax
mov dword [esi + 0x38], eax
mov byte [esi + 0x47], 0
mov byte [esi + 0xe60], 1
mov edx, dword [esi + 0x40]
mov ecx, dword [esi + 0x3c]
cmp ecx, edx
je 0x100413a1
mov eax, dword [esi + 4]
cmp ecx, eax
mov dword [esp + 0x24], eax
lea eax, [esi + 0x38]
jle 0x1004203b
mov ecx, dword [esp + 0x24]
mov dword [eax + 4], ecx
cmp edx, dword [esp + 0x24]
jle 0x10042048
mov edx, dword [esp + 0x24]
mov dword [eax + 8], edx
cmp ecx, edx
jne 0x10042052
mov dword [eax], ecx
mov esi, ecx
jmp 0x10042054
mov esi, dword [eax]
cmp esi, dword [esp + 0x24]
mov esi, dword [esp + 0x14]
jle 0x10042068
mov esi, dword [esp + 0x24]
mov dword [eax], esi
mov esi, dword [esp + 0x14]
cmp ecx, edx
je 0x100420ab
jge 0x10042086
sub edx, ecx
push edx
push ecx
mov edx, eax
mov ecx, esi
call fcn.1003ee00
mov ecx, dword [esi + 0x3c]
lea eax, [esi + 0x38]
mov dword [eax + 8], ecx
jmp 0x1004209c
sub ecx, edx
push ecx
push edx
mov edx, eax
mov ecx, esi
call fcn.1003ee00
mov ecx, dword [esi + 0x40]
lea eax, [esi + 0x38]
mov dword [eax + 4], ecx
mov dword [eax], ecx
add esp, 8
mov edi, dword [0x100c6d88]
mov dword [esp + 0x44], edi
mov byte [eax + 0xf], 0
jmp 0x100413a1
movzx eax, dh
mov ecx, esi
xor eax, 1
add eax, 0x1000a
push eax
call fcn.1003fd50
mov eax, dword [esi + 0x38]
mov dword [esi + 0x40], eax
mov dword [esi + 0x3c], eax
jmp 0x10041393
sbb eax, eax
or eax, 1
test eax, eax
je 0x100420ed
mov eax, dword [esi + 0x2c]
mov dword [esp + 0x4c], eax
mov eax, dword [esi + 0x24]
dec eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x3c]
test dh, dh
je 0x100420fd
test al, 0x20
jne 0x100421bb
mov ecx, dword [esp + 0x24]
cmp dword [esp + 0x4c], 0
je 0x1004248b
cmp dword [esp + 0x60], ecx
je 0x10042460
cmp byte [esp + 0x70], 0
je 0x10042460
mov dword [esp + 0x144], eax
xorps xmm0, xmm0
mov eax, dword [esp + 0x48]
mov dword [esp + 0x154], eax
lea eax, [ecx + 1]
cmp dword [ebp + 8], eax
movlpd qword [esp + 0x14c], xmm0
cmovge eax, dword [ebp + 8]
mov dword [esp + 0x15c], eax
lea eax, [esp + 0x140]
push eax
xor eax, eax
movlpd qword [esp + 0x164], xmm0
movlpd qword [esp + 0x16c], xmm0
mov dword [esp + 0x144], 0x40000
mov dword [esp + 0x15c], ecx
mov dword [esp + 0x14c], 0
call eax
mov edx, dword [esp + 0x160]
add esp, 4
mov eax, dword [esp + 0x154]
mov dword [esp + 0x48], eax
lea ecx, [edx - 1]
cmp dword [esp + 0x158], ecx
cmovl ecx, dword [esp + 0x158]
jmp 0x10042463
mov eax, dword [esp + 0x3c]
cmp byte [esp + 0x5c], 0
jne 0x100421fc
mov edi, dword [esp + 0x14]
lea ecx, [esi + 0x18]
mov eax, dword [edi + 0xc]
lea eax, [eax*4 + 1]
push eax
call fcn.1002bab0
mov edx, dword [esi + 0x18]
mov esi, edi
push 0
push dword [edi + 0x14]
mov ecx, dword [esi + 0x20]
call fcn.1001aca0
mov edi, dword [0x100c6d88]
add esp, 8
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x44], edi
test eax, 0x1c0
je 0x10042408
test al, 0x40
je 0x10042225
mov dl, 1
xor ecx, ecx
call fcn.10019970
test al, al
je 0x10042221
mov eax, 0x40
xor ecx, ecx
jmp 0x10042274
mov eax, dword [esp + 0x3c]
test al, al
jns 0x1004225f
mov dl, 1
mov ecx, 3
call fcn.10019970
test al, al
je 0x10042243
mov eax, 0x80
lea ecx, [eax - 0x7d]
jmp 0x10042274
mov ecx, 4
call fcn.10019970
test al, al
je 0x1004225b
mov eax, 0x80
lea ecx, [eax - 0x7c]
jmp 0x10042274
mov eax, dword [esp + 0x3c]
test eax, 0x100
je 0x10042408
mov eax, 0x100
mov ecx, 0x15
mov dword [esp + 0x110], eax
xor edx, edx
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x114], eax
mov eax, dword [esi + 0x20]
mov dword [esp + 0x124], eax
mov eax, dword [esi + 8]
mov dword [esp + 0x128], eax
mov eax, dword [esi + 0x30]
mov esi, dword [esi + 0x14]
mov dword [esp + 0x12c], eax
mov eax, dword [esp + 0x14]
mov word [esp + 0x131], dx
mov byte [esp + 0x133], dl
mov dword [esp + 0x118], edx
mov eax, dword [eax + 0x38]
mov dword [esp + 0x120], ecx
mov ecx, esi
mov byte [esp + 0x130], dl
mov dword [esp + 0x11c], 0
lea edx, [esi + eax*2]
call fcn.1001ade0
mov edi, eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x134], edi
mov ecx, dword [eax + 0x3c]
lea edx, [esi + ecx*2]
mov ecx, esi
call fcn.1001ade0
mov dword [esp + 0x28], eax
mov ecx, esi
mov dword [esp + 0x138], eax
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 0x40]
lea edx, [esi + edx*2]
call fcn.1001ade0
mov dword [esp + 0x78], eax
mov dword [esp + 0x13c], eax
lea eax, [esp + 0x110]
push eax
xor eax, eax
call eax
mov ecx, dword [esp + 0x138]
add esp, 4
cmp ecx, edi
mov edi, dword [esp + 0x124]
je 0x10042365
lea edx, [ecx + edi]
mov ecx, edi
call fcn.1001a990
mov esi, dword [esp + 0x14]
mov dword [esi + 0x38], eax
mov byte [esi + 0xe60], 1
jmp 0x10042369
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x138]
cmp eax, dword [esp + 0x28]
je 0x10042383
lea edx, [eax + edi]
mov ecx, edi
call fcn.1001a990
mov dword [esi + 0x3c], eax
mov eax, dword [esp + 0x13c]
cmp eax, dword [esp + 0x78]
je 0x1004239d
lea edx, [eax + edi]
mov ecx, edi
call fcn.1001a990
mov dword [esi + 0x40], eax
cmp byte [esp + 0x130], 0
je 0x100423fa
mov eax, dword [esp + 0x128]
mov edx, dword [esp + 0x60]
cmp eax, edx
jle 0x100423d1
cmp byte [esp + 0x70], 0
je 0x100423d1
lea ecx, [esi + 0xc]
sub eax, edx
add eax, dword [ecx]
push eax
call fcn.1002baf0
mov edi, dword [esp + 0x124]
mov edx, dword [esi + 0xc]
push 0
push ecx
mov ecx, dword [esi + 0x14]
push edi
call fcn.1001a770
mov dword [esi + 4], eax
add esp, 0xc
mov eax, dword [esp + 0x128]
mov dword [esi + 8], eax
mov dword [esi + 0xe5c], 0xbe99999a
mov edi, dword [0x100c6d88]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x44], edi
cmp byte [esp + 0x5c], 0
jne 0x100420fd
mov ecx, dword [esp + 0x48]
mov eax, dword [esi + 0x20]
nop word [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10042440
test dl, dl
je 0x1004243c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10042440
add eax, 2
add ecx, 2
test dl, dl
jne 0x10042420
xor eax, eax
jmp 0x10042445
sbb eax, eax
or eax, 1
test eax, eax
mov eax, dword [esp + 0x3c]
je 0x100420fd
mov ecx, dword [esi + 0x20]
mov dword [esp + 0x4c], ecx
mov ecx, dword [esi + 8]
jmp 0x10042101
mov edx, dword [ebp + 8]
lea eax, [ecx + 1]
mov ecx, dword [esp + 0x48]
cmp eax, edx
cmovl edx, eax
push edx
mov edx, dword [esp + 0x50]
call fcn.1001a320
mov edi, dword [0x100c6d88]
add esp, 4
mov byte [esp + 0x53], 1
mov dword [esp + 0x44], edi
mov eax, dword [esp + 0x1c]
mov dword [esi + 0xe64], 0
mov dword [esi + 0xe68], 0
mov dword [esi + 0xe6c], 0
mov eax, dword [eax + 0x19bc]
cmp byte [esp + 0x1b], 0
mov ecx, dword [esp + 0x30]
je 0x100424cb
cmp eax, ecx
jne 0x100424cb
call fcn.1001ca50
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x38]
test dl, dl
jne 0x100425b9
mov edx, ecx
lea ecx, [esp + 0x8c]
push 1
call fcn.1001baa0
movss xmm1, dword [0x100b9a58]
add esp, 4
mov ecx, 7
push dword [esp + 0x98]
push dword [esp + 0x98]
push dword [esp + 0x98]
push dword [esp + 0x98]
call fcn.1001afc0
mov ecx, dword [esp + 0x2c]
mov dl, 1
movss xmm2, dword [ecx + 0x153c]
mov ecx, eax
call fcn.1001b6e0
movss xmm1, dword [esp + 0x78]
add esp, 0x10
movss xmm2, dword [esp + 0xac]
movaps xmm0, xmm1
movss xmm3, dword [esp + 0xcc]
addss xmm0, xmm2
mov ecx, dword [esp + 0x1c]
movss xmm4, dword [esp + 0x84]
mov edi, dword [0x100c6d88]
addss xmm4, xmm3
mov edx, dword [esp + 0x38]
movss dword [esp + 0xc4], xmm0
movaps xmm0, xmm3
addss xmm0, dword [ecx + 0x1538]
movss dword [esp + 0xbc], xmm1
addss xmm1, dword [ecx + 0x1534]
movss dword [esp + 0xc0], xmm3
movss dword [esp + 0xc8], xmm4
movss dword [esp + 0x90], xmm0
mov dword [esp + 0x44], edi
movss dword [esp + 0x8c], xmm1
jmp 0x10042628
movss xmm0, dword [esp + 0x68]
movss xmm1, dword [esp + 0xcc]
movss xmm2, dword [esp + 0xac]
movss xmm4, dword [esp + 0x84]
mov ecx, dword [esp + 0x6c]
addss xmm4, xmm1
movss dword [esp + 0xbc], xmm0
addss xmm0, xmm2
movss dword [esp + 0xc0], xmm1
movss dword [esp + 0xc8], xmm4
movss dword [esp + 0xc4], xmm0
mov eax, dword [ecx + 0xc8]
mov ecx, dword [ecx + 0xcc]
mov dword [esp + 0x90], ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x8c], eax
movss dword [esp + 0x24], xmm4
lea eax, [esp + 0x8c]
movss xmm0, dword [eax]
xorps xmm6, xmm6
movss dword [esp + 0x7c], xmm0
movss xmm0, dword [eax + 4]
movss dword [esp + 0x54], xmm0
movss dword [esp + 0x80], xmm0
xorps xmm0, xmm0
mov dword [esp + 0x4c], eax
movss dword [esp + 0x78], xmm0
movss dword [esp + 0x28], xmm0
test esi, esi
je 0x1004267b
cmp byte [esp + 0x5c], 0
jne 0x1004267b
mov eax, dword [esi + 0x20]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x30]
cmp dword [ecx + 0x19bc], eax
je 0x10042692
cmp byte [esp + 0x37], 0
jne 0x10042692
xor cl, cl
jmp 0x10042694
mov cl, 1
mov byte [esp + 0x1b], cl
test esi, esi
je 0x100426a8
mov eax, dword [esi + 0x3c]
cmp eax, dword [esi + 0x40]
je 0x100426a8
mov al, 1
jmp 0x100426aa
xor al, al
mov byte [esp + 0x22], al
test cl, cl
jne 0x1004279c
test al, al
jne 0x1004279c
test dl, dl
je 0x1004271c
mov edx, dword [esp + 0x48]
xor ecx, ecx
mov al, byte [edx]
inc edx
mov byte [esp + 0x37], al
test al, al
je 0x100426eb
cmp byte [esp + 0x37], 0xa
lea eax, [ecx + 1]
cmovne eax, ecx
mov ecx, eax
mov al, byte [edx]
inc edx
mov byte [esp + 0x37], al
test al, al
jne 0x100426d3
mov al, byte [edx - 1]
dec edx
cmp al, 0xa
je 0x100426f8
cmp al, 0xd
je 0x100426f8
inc ecx
mov esi, dword [esp + 0x1c]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [esi + 0x18bc]
movss dword [esp + 0x28], xmm0
movaps xmm0, xmm2
movss dword [esp + 0x78], xmm0
jmp 0x10042741
mov esi, dword [esp + 0x48]
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10042725
sub ecx, edx
lea edx, [ecx + esi]
cmp ecx, 0x200000
jge 0x10043258
mov esi, dword [esp + 0x1c]
movss xmm1, dword [0x100b9a58]
lea eax, [esp + 0xbc]
xor ecx, ecx
cmp byte [esp + 0x38], cl
cmovne eax, ecx
push eax
push ecx
mov dword [esp], ecx
push edx
push dword [esp + 0x54]
call fcn.1001afc0
movss xmm2, dword [esi + 0x18bc]
push eax
lea eax, [esp + 0x90]
push eax
mov eax, dword [esp + 0x84]
push dword [esi + 0x18b8]
mov ecx, dword [eax + 0x274]
call fcn.10035d40
mov edi, dword [0x100c6d88]
jmp 0x1004318c
mov ecx, dword [esi + 0x14]
xor edx, edx
xorps xmm7, xmm7
mov dword [esp + 0x30], ecx
movss dword [esp + 0x9c], xmm0
mov dword [esp + 0x60], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x68], 0xfffffc18
mov dword [esp + 0x64], 0xfffffc18
cmp byte [esp + 0x1b], dl
je 0x100427ee
mov eax, dword [esi + 0x38]
mov edx, 1
mov dword [esp + 0x68], 0xffffffff
lea eax, [ecx + eax*2]
mov dword [esp + 0x60], eax
cmp byte [esp + 0x22], 0
je 0x10042817
mov ecx, dword [esi + 0x40]
cmp dword [esi + 0x3c], ecx
mov eax, dword [esp + 0x30]
cmovl ecx, dword [esi + 0x3c]
inc edx
mov dword [esp + 0x64], 0xffffffff
lea eax, [eax + ecx*2]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x38]
movzx eax, al
add edx, eax
xor eax, eax
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x30]
movzx eax, word [eax]
test ax, ax
je 0x10042897
mov edi, dword [esp + 0x68]
mov esi, eax
nop dword [eax + eax]
cmp si, 0xa
jne 0x1004287d
mov eax, dword [esp + 0xb0]
inc eax
mov dword [esp + 0xb0], eax
cmp edi, 0xffffffff
jne 0x10042867
cmp ecx, dword [esp + 0x60]
jb 0x10042867
dec edx
mov edi, eax
test edx, edx
jle 0x1004288b
cmp dword [esp + 0x64], 0xffffffff
jne 0x1004287d
cmp ecx, dword [esp + 0x40]
jb 0x1004287d
dec edx
mov dword [esp + 0x64], eax
test edx, edx
jle 0x1004288b
movzx eax, word [ecx + 2]
add ecx, 2
mov esi, eax
test ax, ax
jne 0x10042840
mov esi, dword [esp + 0x14]
mov dword [esp + 0x68], edi
mov edi, dword [esp + 0x44]
mov ecx, dword [esp + 0xb0]
mov eax, dword [esp + 0x64]
inc ecx
cmp dword [esp + 0x68], 0xffffffff
mov edx, ecx
mov dword [esp + 0xb0], ecx
cmovne edx, dword [esp + 0x68]
cmp eax, 0xffffffff
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x60]
cmove eax, ecx
mov ecx, edx
mov dword [esp + 0x64], eax
cmp edx, dword [esp + 0x30]
jbe 0x100428e6
mov esi, dword [esp + 0x30]
cmp word [ecx - 2], 0xa
je 0x100428e2
add ecx, 0xfffffffe
cmp ecx, esi
ja 0x100428d4
mov esi, dword [esp + 0x14]
mov eax, dword [edi + 0x18b8]
movaps xmm1, xmm6
movss xmm3, dword [edi + 0x18bc]
movaps xmm4, xmm6
divss xmm3, dword [eax + 0x10]
cmp ecx, edx
jae 0x10042947
mov esi, eax
movzx eax, word [ecx]
add ecx, 2
mov edx, eax
cmp eax, 0xa
jne 0x1004291b
maxss xmm1, xmm4
movaps xmm4, xmm6
jmp 0x1004293d
cmp edx, 0xd
je 0x1004293d
mov edx, eax
cmp edx, dword [esi]
jge 0x10042930
mov eax, dword [esi + 8]
movss xmm0, dword [eax + edx*4]
jmp 0x10042935
movss xmm0, dword [esi + 0xc]
mulss xmm0, xmm3
addss xmm4, xmm0
cmp ecx, dword [esp + 0x60]
jb 0x10042905
mov esi, dword [esp + 0x14]
cmp dword [esp + 0x64], 0
maxss xmm4, xmm1
movd xmm5, dword [esp + 0x70]
mov ecx, dword [esp + 0x1c]
cvtdq2ps xmm5, xmm5
movss xmm2, dword [ecx + 0x18bc]
mulss xmm5, xmm2
movss dword [esp + 0xec], xmm4
movss dword [esp + 0x10c], xmm5
jl 0x10042a13
mov edx, dword [esp + 0x40]
mov ecx, edx
cmp edx, dword [esp + 0x30]
jbe 0x100429a3
mov edi, dword [esp + 0x30]
cmp word [ecx - 2], 0xa
je 0x1004299f
add ecx, 0xfffffffe
cmp ecx, edi
ja 0x10042991
mov edi, dword [esp + 0x44]
movaps xmm1, xmm6
movaps xmm7, xmm6
cmp ecx, edx
jae 0x100429f5
mov esi, dword [edi + 0x18b8]
movzx eax, word [ecx]
add ecx, 2
mov edx, eax
cmp eax, 0xa
jne 0x100429c9
maxss xmm1, xmm7
movaps xmm7, xmm6
jmp 0x100429eb
cmp edx, 0xd
je 0x100429eb
mov edx, eax
cmp edx, dword [esi]
jge 0x100429de
mov eax, dword [esi + 8]
movss xmm0, dword [eax + edx*4]
jmp 0x100429e3
movss xmm0, dword [esi + 0xc]
mulss xmm0, xmm3
addss xmm7, xmm0
cmp ecx, dword [esp + 0x40]
jb 0x100429b3
mov esi, dword [esp + 0x14]
movd xmm0, dword [esp + 0x64]
maxss xmm7, xmm1
mov ecx, dword [esp + 0x1c]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
movss dword [esp + 0x9c], xmm0
mov edx, dword [esp + 0x38]
movss xmm3, dword [esp + 0xac]
test dl, dl
je 0x10042a43
movd xmm0, dword [esp + 0xb0]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
movss dword [esp + 0x28], xmm0
movaps xmm0, xmm3
movss dword [esp + 0x78], xmm0
cmp byte [esp + 0x1b], 0
je 0x10042b24
cmp byte [esi + 0xe60], 0
je 0x10042b24
test dword [esp + 0x3c], 0x1000
jne 0x10042aa9
movss xmm2, dword [esi + 0x34]
movaps xmm0, xmm3
comiss xmm2, xmm4
mulss xmm0, dword [0x100b99fc]
movaps xmm1, xmm4
jbe 0x10042a8a
subss xmm1, xmm0
movaps xmm0, xmm6
maxss xmm0, xmm1
jmp 0x10042a97
subss xmm1, xmm3
comiss xmm1, xmm2
jb 0x10042ab0
addss xmm0, xmm1
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esi + 0x34], xmm0
jmp 0x10042ab0
mov dword [esi + 0x34], 0
test dl, dl
je 0x10042b1d
mov eax, dword [esp + 0x6c]
movaps xmm1, xmm5
subss xmm1, dword [ecx + 0x18bc]
movss xmm6, dword [eax + 0x5c]
comiss xmm6, xmm1
jbe 0x10042ad6
xorps xmm0, xmm0
maxss xmm0, xmm1
jmp 0x10042ae6
movaps xmm0, xmm5
subss xmm0, dword [esp + 0x84]
maxss xmm0, xmm6
subss xmm6, xmm0
movss dword [eax + 0x5c], xmm0
addss xmm6, dword [eax + 0xcc]
movss dword [eax + 0xcc], xmm6
movss xmm0, dword [esp + 0xc8]
movss dword [esp + 0x54], xmm6
movss dword [esp + 0x80], xmm6
movss dword [esp + 0x24], xmm0
mov byte [esi + 0xe60], 0
cmp byte [esp + 0x22], 0
movss xmm0, dword [esi + 0x34]
movss dword [esp + 0x60], xmm0
je 0x10042dcd
mov edx, dword [esi + 0x40]
mov eax, edx
mov ecx, dword [esi + 0x3c]
cmp ecx, edx
mov esi, dword [esp + 0x30]
cmovl eax, ecx
cmovge edx, ecx
cmp byte [esp + 0x1b], 0
lea esi, [esi + eax*2]
mov eax, dword [esp + 0x30]
lea edx, [eax + edx*2]
mov dword [esp + 0x84], edx
je 0x10042b70
movss xmm1, dword [0x100b9a58]
jmp 0x10042b78
movss xmm1, dword [0x100b9a24]
mov ecx, 0x2b
call fcn.1001afc0
cmp byte [esp + 0x38], 0
mov dword [esp + 0x68], eax
je 0x10042ba1
xorps xmm0, xmm0
movss dword [esp + 0xd0], xmm0
movss dword [esp + 0x70], xmm0
jmp 0x10042bb2
movss xmm0, dword [0x100b9a9c]
movss dword [esp + 0x70], xmm0
xorps xmm0, xmm0
movss xmm6, dword [esp + 0x9c]
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x40], esi
addss xmm6, dword [esp + 0x54]
addss xmm7, dword [eax]
subss xmm6, xmm0
subss xmm7, dword [esp + 0x60]
movss dword [esp + 0x9c], xmm6
cmp esi, edx
jae 0x10042dc9
mov ecx, dword [esp + 0x1c]
mov edi, eax
movss xmm5, dword [esp + 0x24]
movss xmm1, dword [ecx + 0x18bc]
nop dword [eax]
movaps xmm0, xmm5
addss xmm0, xmm1
comiss xmm6, xmm0
ja 0x10042dbd
movss xmm0, dword [esp + 0xc0]
comiss xmm0, xmm6
jbe 0x10042c42
cmp esi, edx
jae 0x10042d93
movzx eax, word [esi]
add esi, 2
mov dword [esp + 0x40], esi
cmp eax, 0xa
je 0x10042d93
cmp esi, edx
jb 0x10042c26
jmp 0x10042d93
push 1
push ecx
lea eax, [esp + 0x48]
push eax
push edx
mov edx, esi
lea ecx, [esp + 0xc0]
call fcn.1003e5f0
movss xmm1, dword [esp + 0xc0]
xorps xmm2, xmm2
add esp, 0x10
comiss xmm2, xmm1
jb 0x10042caa
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x18b8]
cmp dword [eax], 0x20
jle 0x10042c89
mov eax, dword [eax + 8]
movss xmm0, dword [eax + 0x80]
jmp 0x10042c8e
movss xmm0, dword [eax + 0xc]
mulss xmm0, dword [0x100b9a18]
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss dword [esp + 0xb0], xmm1
mov edx, dword [esp + 0x1c]
addss xmm1, xmm7
movss xmm0, dword [esp + 0x70]
addss xmm7, xmm2
movss xmm2, dword [esp + 0xd0]
addss xmm0, xmm6
movss xmm5, dword [esp + 0xc8]
subss xmm2, dword [edx + 0x18bc]
movss xmm3, dword [esp + 0xbc]
movss xmm4, dword [esp + 0xc4]
maxss xmm7, xmm3
minss xmm0, xmm5
minss xmm1, xmm4
addss xmm2, xmm6
movss dword [esp + 0xf0], xmm7
comiss xmm0, dword [esp + 0xc0]
maxss xmm2, dword [esp + 0xc0]
movss dword [esp + 0xf8], xmm1
movss dword [esp + 0xfc], xmm0
movss dword [esp + 0xf4], xmm2
jbe 0x10042d84
comiss xmm5, xmm2
jbe 0x10042d84
comiss xmm1, xmm3
jbe 0x10042d84
comiss xmm4, xmm7
jbe 0x10042d84
push 0xf
push ecx
mov dword [esp], 0
lea eax, [esp + 0x100]
push dword [esp + 0x70]
push eax
lea eax, [esp + 0x100]
push eax
mov eax, dword [esp + 0x80]
mov ecx, dword [eax + 0x274]
call fcn.10035960
movss xmm5, dword [esp + 0xc8]
movss xmm6, dword [esp + 0x9c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x84]
mov esi, dword [esp + 0x40]
movss xmm1, dword [ecx + 0x18bc]
movss xmm7, dword [edi]
movaps xmm0, xmm1
addss xmm6, xmm0
subss xmm7, dword [esp + 0x60]
movss dword [esp + 0x9c], xmm6
cmp esi, edx
jb 0x10042c00
mov edi, dword [0x100c6d88]
movss dword [esp + 0x24], xmm5
mov esi, dword [esp + 0x14]
cmp byte [esp + 0x38], 0
mov edx, dword [esi + 8]
jne 0x10042de3
cmp edx, 0x200000
jge 0x10042fb5
mov eax, dword [esp + 0x6c]
xor ecx, ecx
movss xmm1, dword [0x100b9a58]
mov eax, dword [eax + 0x274]
mov dword [esp + 0xd0], eax
call fcn.1001afc0
mov dword [esp + 0x40], eax
xorps xmm1, xmm1
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x68], 0
movss xmm0, dword [eax]
subss xmm0, dword [esp + 0x60]
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x18b8]
movss xmm2, dword [eax + 0x18bc]
mov eax, dword [esp + 0x48]
movss dword [esp + 0x9c], xmm0
add eax, edx
movss xmm0, dword [esp + 0x54]
lea edx, [esp + 0xbc]
cmp byte [esp + 0x38], 0
subss xmm0, xmm1
mov dword [esp + 0x84], ecx
cmovne edx, dword [esp + 0x68]
test dword [esp + 0x40], 0xff000000
mov dword [esp + 0x70], eax
movss dword [esp + 0xa0], xmm0
je 0x10042fb8
test eax, eax
jne 0x10042eac
mov ecx, dword [esp + 0x48]
lea eax, [ecx + 1]
mov dword [esp + 0x70], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10042e90
sub ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x48]
add eax, ecx
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x70], eax
cmp dword [esp + 0x48], eax
je 0x10042fb8
mov edi, dword [esp + 0xd0]
test ecx, ecx
jne 0x10042ece
mov eax, dword [edi + 0x28]
mov eax, dword [eax + 8]
mov dword [esp + 0x84], eax
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jp 0x10042edf
mov eax, dword [edi + 0x28]
movss xmm2, dword [eax + 0xc]
mov ecx, dword [edi + 0x3c]
mov eax, dword [edi + 0x44]
shl ecx, 4
movups xmm0, xmmword [ecx + eax - 0x10]
movups xmmword [esp + 0xd0], xmm0
test edx, edx
je 0x10042f62
movss xmm1, dword [edx]
movss xmm0, dword [esp + 0xd0]
comiss xmm0, xmm1
jae 0x10042f14
movss dword [esp + 0xd0], xmm1
movss xmm1, dword [edx + 4]
movss xmm0, dword [esp + 0xd4]
comiss xmm0, xmm1
jae 0x10042f30
movss dword [esp + 0xd4], xmm1
movss xmm0, dword [edx + 8]
comiss xmm0, dword [esp + 0xd8]
ja 0x10042f48
movss dword [esp + 0xd8], xmm0
movss xmm0, dword [edx + 0xc]
comiss xmm0, dword [esp + 0xdc]
ja 0x10042f60
movss dword [esp + 0xdc], xmm0
test edx, edx
setne al
movzx eax, al
push eax
push ecx
mov ecx, dword [esp + 0x8c]
lea eax, [esp + 0xd8]
mov dword [esp], 0
push dword [esp + 0x78]
push dword [esp + 0x54]
push eax
push dword [esp + 0x54]
push dword [esp + 0xb8]
push dword [esp + 0xb8]
push edi
call fcn.100386e0
movss xmm0, dword [esp + 0xc8]
mov edi, dword [0x100c6d88]
movss dword [esp + 0x24], xmm0
xorps xmm1, xmm1
cmp byte [esp + 0x1b], 0
je 0x10043188
mov eax, dword [esp + 0x1c]
movss xmm0, dword [eax + 0x18]
addss xmm0, dword [esi + 0xe5c]
movss dword [esi + 0xe5c], xmm0
mov esi, eax
cmp byte [esi + 0xae], 0
je 0x1004302f
comiss xmm1, xmm0
jae 0x1004302f
cvtps2pd xmm0, xmm0
movsd qword [esp + 0xd0], xmm0
fld qword [esp + 0xd0]
fld qword [0x100b9a90]
call fcn.10078fc0
movss xmm0, dword [0x100b9a40]
fstp qword [esp + 0xd0]
movsd xmm1, qword [esp + 0xd0]
cvtpd2ps xmm1, xmm1
comiss xmm0, xmm1
jae 0x1004302f
xor cl, cl
jmp 0x10043031
mov cl, 1
movss xmm3, dword [esp + 0x54]
mov eax, dword [esp + 0x4c]
movss xmm5, dword [0x100b9a58]
addss xmm3, dword [esp + 0x10c]
movss xmm4, dword [eax]
addss xmm4, dword [esp + 0xec]
subss xmm3, dword [0x100b9974]
subss xmm4, dword [esp + 0x60]
movss dword [esp + 0x54], xmm3
movaps xmm0, xmm3
movaps xmm1, xmm3
subss xmm0, dword [esi + 0x18bc]
movss dword [esp + 0xec], xmm4
movaps xmm2, xmm4
movss dword [esp + 0xf0], xmm4
addss xmm2, xmm5
subss xmm1, dword [0x100b9a6c]
addss xmm0, dword [0x100b9a18]
movss dword [esp + 0xf8], xmm2
movss dword [esp + 0xfc], xmm1
movss dword [esp + 0xf4], xmm0
test cl, cl
je 0x10043163
comiss xmm1, dword [esp + 0xc0]
jbe 0x10043163
movss xmm3, dword [esp + 0x24]
comiss xmm3, xmm0
jbe 0x1004315d
comiss xmm2, dword [esp + 0xbc]
jbe 0x1004315d
movss xmm0, dword [esp + 0xc4]
comiss xmm0, xmm4
jbe 0x1004315d
sub esp, 8
movss dword [esp + 0x98], xmm1
movaps xmm1, xmm5
movss dword [esp + 0x94], xmm4
xor ecx, ecx
mov dword [esp + 4], 0x3f800000
call fcn.1001afc0
add esp, 4
push eax
lea eax, [esp + 0x94]
push eax
lea eax, [esp + 0xfc]
push eax
mov eax, dword [esp + 0x7c]
mov ecx, dword [eax + 0x274]
call fcn.10035760
mov edi, dword [0x100c6d88]
movss xmm4, dword [esp + 0xec]
movss xmm5, dword [0x100b9a58]
movss xmm3, dword [esp + 0x54]
cmp byte [esp + 0x5c], 0
jne 0x1004318c
subss xmm3, dword [esi + 0x18bc]
subss xmm4, xmm5
movss dword [esi + 0x2c40], xmm3
movss dword [esi + 0x2c3c], xmm4
jmp 0x1004318c
mov esi, dword [esp + 0x1c]
cmp byte [esp + 0x38], 0
je 0x10043258
mov eax, dword [edi + 0x199c]
movss xmm2, dword [esi + 0x18bc]
mov byte [eax + 0x7c], 1
mov eax, dword [edi + 0x199c]
cmp byte [eax + 0x7f], 0
jne 0x10043248
movss xmm4, dword [esp + 0x78]
lea ecx, [esp + 0x8c]
movss xmm3, dword [esp + 0x28]
xorps xmm5, xmm5
movss xmm1, dword [eax + 0xc8]
addss xmm4, xmm5
movss xmm0, dword [eax + 0xcc]
addss xmm3, xmm2
movss dword [esp + 0xf0], xmm1
movss dword [esp + 0xf4], xmm0
addss xmm4, xmm1
addss xmm3, xmm0
movss dword [esp + 0xf8], xmm4
subss xmm4, xmm1
movss dword [esp + 0xfc], xmm3
xorps xmm1, xmm1
subss xmm3, xmm0
movss dword [esp + 0x8c], xmm4
movss dword [esp + 0x90], xmm3
call fcn.1001cb40
push 0
xor edx, edx
lea ecx, [esp + 0xf4]
call fcn.1001cc50
add esp, 4
call fcn.1001ff70
call fcn.10025380
mov edi, dword [0x100c6d88]
mov ecx, dword [esp + 0xb8]
test cl, cl
je 0x100432bd
mov eax, dword [edi + 0x199c]
mov esi, edi
mov ecx, dword [eax + 0x274]
dec dword [ecx + 0x48]
call fcn.100339f0
mov ecx, dword [edi + 0x1a1c]
sub ecx, 1
mov dword [edi + 0x1a1c], ecx
mov edi, dword [0x100c6d88]
jne 0x100432a7
mov ecx, dword [edi + 0xa0]
test ecx, ecx
jne 0x100432b1
mov eax, dword [edi + 0x94]
mov eax, dword [eax + 0x3c]
mov ecx, dword [eax]
jmp 0x100432b1
mov eax, dword [esi + 0x1a24]
mov ecx, dword [eax + ecx*4 - 4]
call fcn.10024c20
mov ecx, dword [esp + 0xb8]
mov eax, dword [esp + 0x1c]
cmp byte [eax + 0x2c78], 0
je 0x100432ea
test cl, cl
jne 0x100432ea
mov edx, dword [esp + 0x48]
lea ecx, [esp + 0x7c]
push 0
call fcn.1002a6d0
mov edi, dword [0x100c6d88]
add esp, 4
mov eax, dword [esp + 0x1c]
movss xmm0, dword [esp + 0xe4]
comiss xmm0, dword [0x100b9974]
jbe 0x10043354
movss xmm0, dword [esp + 0x108]
xor edx, edx
addss xmm0, dword [eax + 0x154c]
mov ecx, dword [esp + 0xe8]
movss dword [esp + 0x7c], xmm0
movss xmm0, dword [esp + 0xcc]
addss xmm0, dword [eax + 0x1538]
movss dword [esp + 0x80], xmm0
push dword [esp + 0x80]
push dword [esp + 0x80]
push 1
call fcn.1001b250
mov edi, dword [0x100c6d88]
add esp, 0xc
mov cl, byte [esp + 0x53]
test cl, cl
je 0x10043370
mov eax, dword [edi + 0x199c]
mov byte [edi + 0x19cf], 1
or dword [eax + 0x110], 4
test byte [esp + 0x3c], 0x20
movzx eax, cl
movzx ecx, byte [esp + 0x12]
pop edi
cmovne eax, ecx
pop esi
mov esp, ebp
pop ebp
ret