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

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x158
push esi
mov esi, dword [0x1021abec]
mov dword [ebp - 0xd8], ecx
mov ecx, esi
push edi
mov dword [ebp - 0x28], edx
mov dword [ebp - 8], ecx
mov eax, dword [ecx + 0x199c]
mov byte [eax + 0x78], 1
mov edi, dword [ecx + 0x199c]
mov dword [ebp - 0x1c], edi
cmp byte [edi + 0x7b], 0
jne 0x10089063
mov edx, dword [ebx + 0x10]
mov eax, edx
shr eax, 0xe
mov ecx, edx
not al
shr ecx, 0x14
and eax, 0xffffff01
and ecx, 0xffffff01
mov dword [ebp - 0x44], eax
mov eax, edx
shr eax, 0xf
and eax, 0xffffff01
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0xc4], eax
mov eax, edx
shr eax, 0x10
not al
and eax, 0xffffff01
mov dword [ebp - 0x54], eax
mov eax, edx
shr eax, 0x12
and eax, 0xffffff01
mov dword [ebp - 0x88], eax
test cl, cl
je 0x10088d9d
call fcn.10076df0
mov esi, dword [0x1021abec]
mov ecx, dword [edi + 0x1bc]
xor edx, edx
mov eax, dword [edi + 0x1c4]
push dword [eax + ecx*4 - 4]
mov ecx, dword [ebp - 0xd8]
call fcn.1006c490
add esp, 4
mov dword [ebp - 0x20], eax
cmp dword [esi + 0x19bc], eax
jne 0x10088dce
mov dword [esi + 0x19c4], eax
cmp dword [esi + 0x19c0], eax
jne 0x10088ddd
mov byte [esi + 0x19cf], 1
mov eax, dword [ebp - 0xd8]
mov ecx, eax
cmp eax, 0xffffffff
jae 0x10088e06
nop word [eax + eax]
mov dl, byte [ecx]
test dl, dl
je 0x10088e06
cmp dl, 0x23
jne 0x10088e00
cmp byte [ecx + 1], dl
je 0x10088e06
inc ecx
cmp ecx, 0xffffffff
jb 0x10088df0
movss xmm0, dword [esi + 0x18bc]
movss xmm1, dword [0x1013df50]
mov edi, dword [esi + 0x18b8]
movss dword [ebp - 0x40], xmm0
movss dword [ebp - 0xe4], xmm1
cmp eax, ecx
jne 0x10088e3a
xorps xmm4, xmm4
movss dword [ebp - 0xe0], xmm4
jmp 0x10088e96
movss xmm3, dword [0x10151bf0]
movaps xmm2, xmm0
push 0
push ecx
push eax
push ecx
lea eax, [ebp - 0x6c]
mov dword [esp], 0xbf800000
push eax
mov ecx, edi
call fcn.100abda0
movss xmm1, dword [ebp - 0x6c]
xorps xmm4, xmm4
comiss xmm1, xmm4
jbe 0x10088e76
movss xmm0, dword [ebp - 0x40]
divss xmm0, dword [edi]
subss xmm1, xmm0
addss xmm1, dword [0x101519e8]
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0xe0], xmm0
movss xmm0, dword [ebp - 0x68]
cmp byte [ebp - 0x2c], 0
je 0x10088eac
movss xmm0, dword [esi + 0x18bc]
mulss xmm0, dword [0x10151ae0]
mov edi, dword [ebp - 8]
mov esi, dword [esi + 0x199c]
movss xmm1, dword [edi + 0x1550]
movss xmm2, dword [esi + 0x168]
movaps xmm3, xmm1
comiss xmm4, xmm2
addss xmm3, xmm1
addss xmm3, xmm0
jbe 0x10088f40
movss xmm4, dword [esi + 0xc4]
movss xmm1, dword [esi + 0x210]
mov edi, dword [esi + 0x1b8]
subss xmm4, dword [esi + 0xc]
subss xmm1, dword [esi + 0xc]
test edi, edi
je 0x10088f29
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 [ebp - 8]
subss xmm1, xmm4
addss xmm1, xmm2
movss xmm2, dword [0x101519fc]
maxss xmm2, xmm1
mov eax, dword [ebx + 0xc]
lea ecx, [ebp - 0xb8]
push dword [eax + 4]
push dword [eax]
cvttss2si eax, xmm2
movaps xmm2, xmm3
movd xmm1, eax
cvtdq2ps xmm1, xmm1
call fcn.1006f340
mov esi, dword [ebp - 0x1c]
xorps xmm5, xmm5
movss xmm1, dword [ebp - 0xb8]
add esp, 8
movss xmm2, dword [ebp - 0xe0]
comiss xmm2, xmm5
movss xmm3, dword [esi + 0xc4]
movss xmm4, dword [esi + 0xc8]
movaps xmm0, xmm3
addss xmm0, xmm1
movss dword [ebp - 0x58], xmm1
movss xmm1, dword [ebp - 0xb4]
addss xmm1, xmm4
movss dword [ebp - 0x84], xmm3
movss dword [ebp - 0x80], xmm4
movss dword [ebp - 0x7c], xmm0
movss dword [ebp - 0x78], xmm1
jbe 0x10088fc8
addss xmm2, dword [edi + 0x1564]
jmp 0x10088fcb
xorps xmm2, xmm2
cmp byte [ebp - 0x2c], 0
addss xmm0, xmm2
addss xmm1, xmm5
movss dword [ebp - 0xa8], xmm3
movss dword [ebp - 0xa4], xmm4
mov dword [ebp - 0x48], esi
movss dword [ebp - 0xa0], xmm0
movss dword [ebp - 0x9c], xmm1
je 0x100890a7
mov edx, dword [ebp - 0x20]
lea eax, [ebp - 0x84]
push eax
lea ecx, [ebp - 0xa8]
call fcn.1006edf0
movss xmm0, dword [ebp - 0x7c]
lea edx, [ebp - 0x6c]
subss xmm0, dword [ebp - 0x84]
movss xmm1, dword [ebp - 0x80]
add esp, 4
mov ecx, dword [ebp - 0x20]
movss dword [ebp - 0xd4], xmm1
movss dword [ebp - 0x6c], xmm0
movss xmm0, dword [ebp - 0x78]
subss xmm0, xmm1
push 0
movss dword [ebp - 0x68], xmm0
call fcn.100716d0
add esp, 4
test al, al
jne 0x1008906e
call fcn.10071540
call fcn.10076f30
xor al, al
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov ecx, dword [0x1021abec]
movss xmm0, dword [ebp - 0xb8]
mov eax, dword [ecx + 0x199c]
mov byte [eax + 0x78], 1
mov ecx, dword [ecx + 0x199c]
mov dword [ebp - 0x48], ecx
subss xmm0, dword [ecx + 0x6c]
mov eax, dword [ecx + 0x134]
or dword [ecx + 0x13c], eax
movss dword [ebp - 0x58], xmm0
jmp 0x100890f6
subss xmm1, xmm4
subss xmm0, xmm3
lea ecx, [ebp - 0x6c]
movss dword [ebp - 0x68], xmm1
movss xmm1, dword [edi + 0x1550]
movss dword [ebp - 0x6c], xmm0
call fcn.1006ecd0
mov edx, dword [ebp - 0x20]
lea eax, [ebp - 0x84]
push eax
lea ecx, [ebp - 0xa8]
call fcn.1006edf0
add esp, 4
test al, al
je 0x10089063
movss xmm0, dword [ebp - 0x80]
movss dword [ebp - 0xd4], xmm0
mov edx, dword [ebp - 0x20]
lea ecx, [ebp - 0x84]
call fcn.1006f080
mov byte [ebp - 0xa], al
test al, al
je 0x10089115
mov dword [edi + 0x1c58], 1
cmp byte [ebp - 0xc4], 0
je 0x100891b1
mov esi, dword [edi + 0x18b8]
cmp dword [esi + 0x28], 0x2a
jg 0x10089133
mov edi, dword [esi + 0x34]
jmp 0x10089152
mov eax, dword [esi + 0x30]
mov ecx, 0xffff
movzx eax, word [eax + 0x54]
cmp ax, cx
jne 0x10089149
mov edi, dword [esi + 0x34]
jmp 0x10089152
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x18]
lea edi, [eax + ecx*8]
mov eax, dword [esi]
mov edx, dword [ebp - 8]
add edx, 0x2b84
mov dword [edx], eax
mov eax, dword [esi + 4]
mov esi, dword [ebp - 8]
mov dword [edx + 4], eax
mov eax, dword [esi + 0x18b8]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [edx + 8], ecx
mov ecx, edx
mov dword [edx + 0xc], eax
mov eax, dword [esi + 0x18b8]
mov eax, dword [eax + 0x48]
mov dword [edx + 0x48], eax
mov eax, dword [esi + 0x18b8]
mov eax, dword [eax + 0x4c]
mov dword [edx + 0x4c], eax
mov eax, dword [esi + 0x18b8]
mov eax, dword [eax + 0x44]
mov dword [edx + 0x44], eax
mov dword [edx + 0x34], edi
mov eax, dword [edi + 4]
mov dword [edx + 0x38], eax
call fcn.10076310
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 8]
mov ecx, esi
mov edx, dword [ebp - 0x20]
add edi, 0x1d14
test dword [ebx + 0x10], 0x440
mov dword [ebp - 0x18], edi
sete al
movzx eax, al
push eax
call fcn.1006f1f0
add esp, 4
mov byte [ebp - 0x35], al
test al, al
je 0x10089256
mov ecx, dword [esi + 0x324]
cmp ecx, dword [esi + 0x32c]
jne 0x10089256
mov byte [ebp - 0x12], 1
mov byte [ebp - 0x22], 0
cmp byte [ebp - 0xa], 0
mov edx, dword [ebp - 8]
je 0x1008920b
cmp byte [edx + 0x3f8], 0
mov byte [ebp - 0x11], 1
jne 0x1008920f
mov byte [ebp - 0x11], 0
cmp byte [ebp - 0x2c], 0
je 0x10089268
cmp dword [edx + 0x19bc], 0
jne 0x10089268
mov eax, dword [ebp - 0x20]
cmp dword [edi], eax
jne 0x10089268
mov eax, dword [ebp - 0x48]
xor edx, edx
mov ecx, dword [eax + 0x1bc]
mov eax, dword [eax + 0x1c4]
push dword [eax + ecx*4 - 4]
mov ecx, str.SCROLLY
call fcn.1006c490
mov edx, dword [ebp - 8]
add esp, 4
cmp dword [edx + 0x19c0], eax
jne 0x10089268
mov cl, 1
jmp 0x1008926a
mov byte [ebp - 0x12], 0
test al, al
je 0x100891f1
mov byte [ebp - 0x22], 1
mov byte [ebp - 0x12], 0
jmp 0x100891f5
xor cl, cl
mov eax, dword [edx + 0x19bc]
mov esi, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x20]
je 0x100892a8
mov esi, dword [ebp - 0x20]
cmp dword [edx + 0x1abc], esi
mov esi, dword [ebp - 0x1c]
je 0x1008929d
mov esi, dword [ebp - 0x20]
cmp dword [edx + 0x1ab0], esi
mov esi, dword [ebp - 0x1c]
jne 0x100892a8
cmp dword [edx + 0x1acc], 3
jne 0x100892a8
mov dl, 1
mov byte [ebp - 0x21], 0
mov byte [ebp - 2], dl
jmp 0x100892b6
xor dl, dl
mov byte [ebp - 0x21], 0
mov byte [ebp - 2], dl
cmp eax, dword [ebp - 0x20]
je 0x100892ca
test byte [ebx + 0x10], 0x10
jne 0x100892c0
test dl, dl
je 0x100892ca
cmp byte [ebp - 0x2c], 0
mov byte [ebp - 0x34], 1
je 0x100892ce
mov byte [ebp - 0x34], 0
cmp byte [ebp - 0x35], 0
jne 0x100892fa
cmp byte [ebp - 0x11], 0
jne 0x100892fa
test cl, cl
jne 0x100892fa
test dl, dl
jne 0x100892fa
mov esi, dword [ebp - 8]
cmp byte [esi + 0x3f8], dl
je 0x1008952f
mov byte [ebp - 0x21], 1
jmp 0x1008952f
mov ecx, dword [ebp - 0x20]
cmp eax, ecx
je 0x100894fe
mov esi, dword [ebp - 0x28]
mov eax, dword [edi + 0x2c]
mov dword [ebp - 0x64], eax
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x10089311
mov edx, dword [ebx + 8]
lea eax, [edi + 4]
mov edi, dword [eax + 4]
inc edx
sub esi, ecx
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x10], edx
cmp edx, edi
jle 0x1008935d
test edi, edi
je 0x10089342
mov eax, edi
cdq
sub eax, edx
mov edx, dword [ebp - 0x10]
mov ecx, eax
sar ecx, 1
add ecx, edi
jmp 0x10089347
mov ecx, 8
cmp ecx, edx
mov eax, edx
cmovg eax, ecx
mov ecx, dword [ebp - 0x5c]
push eax
call fcn.1007f6a0
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x5c]
mov dword [eax], edx
inc esi
mov eax, dword [ebp - 8]
add eax, 0x1d24
mov dword [ebp - 0x10], eax
mov edi, dword [eax + 4]
cmp esi, edi
jle 0x1008939b
test edi, edi
je 0x10089383
mov eax, edi
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, edi
jmp 0x10089388
mov ecx, 8
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, dword [ebp - 0x10]
push eax
call fcn.1007f3d0
mov eax, dword [ebp - 0x10]
mov dword [eax], esi
mov eax, dword [ebp - 8]
push esi
mov esi, dword [ebp - 0x28]
push esi
push dword [eax + 0x1d2c]
call fcn.100dab50
mov edx, dword [ebp - 0x18]
add esp, 0xc
mov eax, dword [ebx + 8]
mov edi, esi
dec eax
mov ecx, dword [edx + 0xc]
mov esi, ecx
mov dword [ebp - 0x10], ecx
lea eax, [ecx + eax*2]
cmp ecx, eax
jae 0x10089410
nop dword [eax + eax]
cmp byte [edi], 0
je 0x1008940d
push 0
mov edx, edi
lea ecx, [ebp - 0x40]
call fcn.1006c860
add edi, eax
add esp, 4
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x1008940a
cmp eax, 0x10000
jae 0x100893fa
mov word [esi], ax
add esi, 2
mov eax, dword [ebx + 8]
mov ecx, dword [ebp - 0x10]
dec eax
lea eax, [ecx + eax*2]
cmp esi, eax
jb 0x100893d0
jmp 0x1008940d
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x18]
sub edi, dword [ebp - 0x28]
xor eax, eax
mov word [esi], ax
sub esi, ecx
mov ecx, dword [ebp - 0x20]
mov dword [edx + 0x28], edi
mov edi, dword [ebp - 0x18]
sar esi, 1
mov dword [edx + 0x2c], esi
mov dword [edi + 0xe5c], 0xbe99999a
cmp dword [edi], ecx
jne 0x10089465
cmp dword [ebp - 0x64], esi
jne 0x10089465
cmp dword [edi + 0x38], esi
mov ecx, esi
mov edx, dword [ebp - 0x2c]
cmovl ecx, dword [edi + 0x38]
cmp dword [edi + 0x3c], esi
mov dword [edi + 0x38], ecx
mov ecx, esi
cmovl ecx, dword [edi + 0x3c]
cmp dword [edi + 0x40], esi
mov dword [edi + 0x3c], ecx
cmovl esi, dword [edi + 0x40]
mov ecx, dword [ebp - 0x20]
mov dword [edi + 0x40], esi
jmp 0x100894b9
mov edx, dword [ebp - 0x2c]
mov dword [edi + 0x34], eax
mov dword [edi], ecx
mov dword [edi + 0xe54], eax
mov dword [edi + 0x3c], eax
mov dword [edi + 0x40], eax
mov dword [edi + 0x38], eax
mov dword [edi + 0x4c], eax
mov al, dl
xor al, 1
mov dword [edi + 0xe4e], 0x630000
mov dword [edi + 0xe58], 0x3e7
mov dword [edi + 0x44], 0x10000
mov byte [edi + 0x48], al
test dl, dl
jne 0x100894b9
mov eax, dword [ebp - 0x34]
mov esi, 1
cmp byte [ebp - 0x12], dl
movzx eax, al
cmovne eax, esi
mov dword [ebp - 0x34], eax
test dword [ebx + 0x10], 0x2000
je 0x100894c6
mov byte [edi + 0x44], 1
test dl, dl
jne 0x100894fb
cmp byte [ebp - 0x22], dl
jne 0x100894df
cmp byte [ebp - 0x11], dl
je 0x100894fb
mov eax, dword [ebp - 8]
cmp byte [eax + 0xfc], dl
je 0x100894fb
mov edi, dword [ebp - 0x1c]
mov edx, edi
mov byte [ebp - 0x34], 1
call fcn.1006eaf0
call fcn.1006ebb0
mov ecx, edi
call fcn.10075f40
jmp 0x10089517
mov esi, dword [ebp - 0x1c]
mov edx, esi
call fcn.1006eaf0
call fcn.1006ebb0
mov ecx, esi
call fcn.10075f40
cmp byte [ebp - 0x2c], 0
jne 0x10089529
test byte [ebx + 0x10], 0x80
jne 0x10089529
mov esi, dword [ebp - 8]
or dword [esi + 0x19d4], 0xc
jmp 0x1008952c
mov esi, dword [ebp - 8]
mov edi, dword [ebp - 0x18]
xor cl, cl
mov byte [ebp - 0x35], 0
mov byte [ebp - 1], cl
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x60], 0
cmp dword [esi + 0x19bc], ecx
jne 0x10089938
cmp byte [ebp - 0x44], 0
jne 0x10089639
cmp byte [esi + 0x19cc], 0
jne 0x10089639
mov esi, dword [ebx + 8]
lea eax, [edi + 4]
mov edi, dword [eax + 4]
inc esi
mov dword [ebp - 0x10], eax
cmp esi, edi
jle 0x1008959f
test edi, edi
je 0x10089587
mov eax, edi
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, edi
jmp 0x1008958c
mov ecx, 8
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, dword [ebp - 0x10]
push eax
call fcn.1007f6a0
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x28]
mov dword [eax], esi
mov eax, dword [ebx + 8]
mov ecx, dword [edx + 0xc]
mov esi, ecx
mov dword [ebp - 0x10], ecx
lea eax, [ecx + eax*2]
cmp ecx, eax
jae 0x100895ff
nop dword [eax]
cmp byte [edi], 0
je 0x100895fc
push 0
mov edx, edi
lea ecx, [ebp - 0x40]
call fcn.1006c860
add edi, eax
add esp, 4
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x100895f9
cmp eax, 0x10000
jae 0x100895ea
mov word [esi], ax
add esi, 2
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebx + 8]
lea eax, [ecx + edx*2]
cmp esi, eax
jb 0x100895c0
jmp 0x100895fc
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x18]
sub edi, dword [ebp - 0x28]
xor eax, eax
mov word [esi], ax
sub esi, ecx
sar esi, 1
mov dword [edx + 0x28], edi
mov ecx, esi
mov edi, dword [ebp - 0x18]
mov dword [edx + 0x2c], esi
cmp dword [edi + 0x38], esi
cmovl ecx, dword [edi + 0x38]
cmp dword [edi + 0x3c], esi
mov dword [edi + 0x38], ecx
mov ecx, esi
cmovl ecx, dword [edi + 0x3c]
cmp dword [edi + 0x40], esi
mov dword [edi + 0x3c], ecx
cmovl esi, dword [edi + 0x40]
mov dword [edi + 0x40], esi
mov esi, dword [ebp - 8]
mov eax, dword [edi + 0x28]
mov edx, dword [ebx + 0x18]
mov dword [ebp - 0x60], eax
mov eax, dword [ebx + 8]
mov dword [edi + 0x30], eax
mov eax, dword [ebx + 0x10]
mov dword [edi + 0xe64], eax
mov eax, dword [ebx + 0x14]
mov dword [edi + 0xe68], eax
mov dword [edi + 0xe6c], edx
cmp byte [esi + 0xec], 0
mov dword [esi + 0x2e60], 1
sete al
cmp byte [ebp - 0x2c], 0
mov byte [esi + 0x19cd], al
movss xmm7, dword [esi + 0xe4]
subss xmm7, dword [ebp - 0x84]
subss xmm7, dword [esi + 0x154c]
addss xmm7, dword [edi + 0x34]
je 0x100896ba
mov eax, dword [ebp - 0x48]
movss xmm2, dword [esi + 0xe8]
subss xmm2, dword [eax + 0xc8]
subss xmm2, dword [esi + 0x1550]
jmp 0x100896ca
movss xmm2, dword [esi + 0x18bc]
mulss xmm2, dword [0x1015199c]
cmp byte [ebp - 0x34], 0
mov al, byte [esi + 0xbd]
mov byte [ebp - 9], al
jne 0x1008984c
mov cl, byte [ebp - 0xa]
test cl, cl
je 0x100896f4
test al, al
jne 0x1008975f
cmp byte [esi + 0x3fd], al
jne 0x1008984c
cmp byte [esi + 0x3f8], 0
je 0x100897b9
cmp byte [edi + 0xe61], 0
jne 0x100897b9
test cl, cl
je 0x1008986a
cmp byte [edi + 0x48], 0
je 0x10089736
push 0
mov edx, edi
lea ecx, [ebp - 0xb0]
call fcn.10087190
movss xmm2, dword [ebp - 0xa4]
add esp, 4
movaps xmm1, xmm7
mov ecx, edi
call fcn.100874c0
mov edx, dword [ebx + 0x18]
mov dword [edi + 0x38], eax
mov dword [edi + 0x3c], eax
mov dword [edi + 0x40], eax
mov byte [edi + 0x47], 0
mov dword [edi + 0xe5c], 0xbe99999a
jmp 0x10089867
cmp byte [esi + 0x3fd], 0
je 0x100896f4
push 0x1000c
lea edx, [edi + 0x38]
mov ecx, edi
call fcn.100878a0
add esp, 4
mov byte [edi + 0xe60], 1
lea edx, [edi + 0x38]
mov dword [edi + 0xe5c], 0xbe99999a
mov ecx, edi
push 0x3000d
call fcn.100878a0
mov esi, dword [ebp - 8]
add esp, 4
mov edx, dword [ebx + 0x18]
mov byte [edi + 0xe60], 1
mov dword [edi + 0xe5c], 0xbe99999a
jmp 0x10089867
cmp byte [esi + 0xec], 0
je 0x1008986a
cmp byte [edi + 0xe61], 0
jne 0x10089873
movss xmm0, dword [esi + 0x398]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x100897f8
movss xmm0, dword [esi + 0x39c]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1008986a
cmp byte [edi + 0x48], 0
je 0x10089818
push 0
mov edx, edi
lea ecx, [ebp - 0xb0]
call fcn.10087190
movss xmm2, dword [ebp - 0xa4]
add esp, 4
mov eax, dword [edi + 0x3c]
cmp eax, dword [edi + 0x40]
jne 0x10089826
mov eax, dword [edi + 0x38]
mov dword [edi + 0x3c], eax
movaps xmm1, xmm7
mov ecx, edi
call fcn.100874c0
mov edx, dword [ebx + 0x18]
mov dword [edi + 0x40], eax
mov dword [edi + 0x38], eax
mov dword [edi + 0xe5c], 0xbe99999a
mov byte [edi + 0xe60], 1
jmp 0x10089867
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x3c], 0
mov dword [edi + 0x40], eax
mov dword [edi + 0x38], eax
mov byte [edi + 0x47], 0
mov byte [edi + 0xe61], 1
mov al, byte [ebp - 9]
cmp byte [edi + 0xe61], 0
je 0x10089883
cmp byte [esi + 0xec], 0
jne 0x10089883
mov byte [edi + 0xe61], 0
cmp word [esi + 0x300], 0
je 0x10089938
cmp byte [esi + 0xfc], 0
je 0x100898a3
cmp byte [esi + 0xfe], 0
je 0x1008991e
test al, al
je 0x100898b0
cmp byte [esi + 0xff], 0
jne 0x1008991e
cmp byte [ebp - 0x44], 0
je 0x1008991e
cmp byte [ebp - 2], 0
jne 0x1008991e
xor edi, edi
add esi, 0x300
movzx eax, word [esi]
test ax, ax
je 0x10089918
push edx
push dword [ebx + 0x14]
mov edx, dword [ebx + 0x10]
lea ecx, [ebp - 0x10]
mov dword [ebp - 0x10], eax
call fcn.10088b50
add esp, 8
test al, al
je 0x1008990c
mov eax, dword [ebp - 0x18]
mov ecx, eax
push dword [ebp - 0x10]
lea edx, [eax + 0x38]
call fcn.100878a0
mov eax, dword [ebp - 0x18]
add esp, 4
mov byte [eax + 0xe60], 1
mov dword [eax + 0xe5c], 0xbe99999a
mov edx, dword [ebx + 0x18]
inc edi
add esi, 2
cmp edi, 0x11
jl 0x100898c4
mov edi, dword [ebp - 0x18]
mov esi, dword [ebp - 8]
xorps xmm0, xmm0
movups xmmword [esi + 0x300], xmm0
movups xmmword [esi + 0x310], xmm0
mov word [esi + 0x320], 0
mov eax, dword [ebp - 0x20]
xor cl, cl
mov byte [ebp - 2], cl
cmp dword [esi + 0x19bc], eax
jne 0x1008ac44
cmp byte [esi + 0x19cc], cl
jne 0x1008ac44
cmp byte [ebp - 0x21], cl
jne 0x1008ac44
mov cl, byte [esi + 0xfd]
xor eax, eax
test cl, cl
mov edx, 0x20000
cmovne eax, edx
mov dl, byte [esi + 0xbd]
mov dword [ebp - 0x1c], eax
mov byte [ebp - 0x4f], dl
test dl, dl
je 0x100899d0
cmp byte [esi + 0xff], 0
je 0x1008999c
cmp byte [esi + 0xfc], 0
jne 0x1008999c
mov eax, 1
jmp 0x1008999e
xor eax, eax
test eax, eax
jne 0x100899e2
xor ch, ch
mov byte [ebp - 0x11], ch
test dl, dl
je 0x100899f3
cmp byte [esi + 0xff], 0
je 0x100899f3
test cl, cl
je 0x100899f3
cmp byte [esi + 0xfc], 0
jne 0x100899f3
cmp byte [esi + 0xfe], 0
jne 0x100899f3
mov byte [ebp - 0x22], 1
jmp 0x100899fb
cmp byte [esi + 0xfc], 0
je 0x100899a2
cmp byte [esi + 0xff], 0
jne 0x100899a2
cmp byte [esi + 0xfe], 0
jne 0x100899a2
test cl, cl
jne 0x100899a2
mov ch, 1
jmp 0x100899a4
mov byte [ebp - 0x22], 0
test dl, dl
je 0x10089a46
cmp byte [esi + 0xff], 0
mov ah, byte [esi + 0xfe]
mov byte [ebp - 9], ah
je 0x10089a50
cmp byte [esi + 0xfc], 0
jne 0x10089a50
test ah, ah
jne 0x10089a50
mov cl, byte [esi + 0xfc]
mov byte [ebp - 0xa], 1
xor dl, dl
cmp byte [esi + 0xfd], dl
je 0x10089a9c
test cl, cl
jne 0x10089a9c
cmp byte [esi + 0xfe], cl
jne 0x10089a9c
cmp byte [esi + 0xff], cl
jne 0x10089a9c
mov dh, 1
jmp 0x10089a9e
mov ah, byte [esi + 0xfc]
mov byte [ebp - 0x22], 0
mov cl, byte [esi + 0xfc]
mov al, ah
mov byte [ebp - 9], al
mov byte [ebp - 0xa], 0
test cl, cl
je 0x10089a24
cmp byte [esi + 0xfd], 0
mov byte [ebp - 9], al
mov byte [ebp - 0xa], 0
jne 0x10089a24
cmp byte [esi + 0xfe], 0
mov byte [ebp - 9], al
mov byte [ebp - 0xa], 0
jne 0x10089a24
cmp byte [esi + 0xff], 0
mov byte [ebp - 9], al
mov byte [ebp - 0xa], 0
jne 0x10089a24
mov dl, 1
mov byte [ebp - 9], al
mov byte [ebp - 0xa], 0
xor dh, dh
mov esi, dword [0x1021abec]
xorps xmm4, xmm4
test ch, ch
je 0x10089b30
mov eax, dword [esi + 0x7c]
test eax, eax
js 0x10089b30
movss xmm1, dword [esi + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x10089bb5
movss xmm2, dword [esi + 0x88]
comiss xmm1, xmm2
jbe 0x10089b30
movss xmm3, dword [esi + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10089af1
mov eax, 1
jmp 0x10089b28
comiss xmm2, xmm1
jae 0x10089b26
comiss xmm4, xmm3
jae 0x10089b26
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [esi + 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 0x10089b28
xor eax, eax
test eax, eax
jg 0x10089bb5
test dh, dh
je 0x10089bd8
mov eax, dword [esi + 0x5c]
test eax, eax
js 0x10089bd8
movss xmm1, dword [esi + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x10089bb5
movss xmm2, dword [esi + 0x88]
comiss xmm1, xmm2
jbe 0x10089bd8
movss xmm3, dword [esi + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10089b7a
mov eax, 1
jmp 0x10089bb1
comiss xmm2, xmm1
jae 0x10089baf
comiss xmm4, xmm3
jae 0x10089baf
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [esi + 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 0x10089bb1
xor eax, eax
test eax, eax
jle 0x10089bd8
cmp byte [ebp - 0x44], 0
je 0x10089bd8
cmp byte [ebp - 0xc4], 0
jne 0x10089bd8
cmp byte [ebp - 0x2c], 0
je 0x10089bd2
mov eax, dword [edi + 0x3c]
cmp eax, dword [edi + 0x40]
je 0x10089bd8
mov byte [ebp - 0x12], 1
jmp 0x10089bdc
mov byte [ebp - 0x12], 0
cmp byte [ebp - 0x11], 0
je 0x10089c67
mov eax, dword [esi + 0x74]
test eax, eax
js 0x10089c67
movss xmm1, dword [esi + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x10089cec
movss xmm2, dword [esi + 0x88]
comiss xmm1, xmm2
jbe 0x10089c67
movss xmm3, dword [esi + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10089c28
mov eax, 1
jmp 0x10089c5f
comiss xmm2, xmm1
jae 0x10089c5d
comiss xmm4, xmm3
jae 0x10089c5d
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [esi + 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 0x10089c5f
xor eax, eax
test eax, eax
jg 0x10089cec
test dl, dl
je 0x10089d09
mov eax, dword [esi + 0x58]
test eax, eax
js 0x10089d09
movss xmm1, dword [esi + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x10089cec
movss xmm2, dword [esi + 0x88]
comiss xmm1, xmm2
jbe 0x10089d09
movss xmm3, dword [esi + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10089cb1
mov eax, 1
jmp 0x10089ce8
comiss xmm2, xmm1
jae 0x10089ce6
comiss xmm4, xmm3
jae 0x10089ce6
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [esi + 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 0x10089ce8
xor eax, eax
test eax, eax
jle 0x10089d09
cmp byte [ebp - 0xc4], 0
jne 0x10089d09
cmp byte [ebp - 0x2c], 0
je 0x10089d03
mov eax, dword [edi + 0x3c]
cmp eax, dword [edi + 0x40]
je 0x10089d09
mov byte [ebp - 0x4d], 1
jmp 0x10089d0d
mov byte [ebp - 0x4d], 0
mov dl, byte [ebp - 0x11]
test dl, dl
je 0x10089d99
mov eax, dword [esi + 0x78]
test eax, eax
js 0x10089d99
movss xmm1, dword [esi + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x10089e1a
movss xmm2, dword [esi + 0x88]
comiss xmm1, xmm2
jbe 0x10089d99
movss xmm3, dword [esi + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10089d5a
mov eax, 1
jmp 0x10089d91
comiss xmm2, xmm1
jae 0x10089d8f
comiss xmm4, xmm3
jae 0x10089d8f
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [esi + 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 0x10089d91
xor eax, eax
test eax, eax
jg 0x10089e1a
test dh, dh
je 0x10089e24
mov eax, dword [esi + 0x58]
test eax, eax
js 0x10089e24
movss xmm1, dword [esi + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x10089e1a
movss xmm2, dword [esi + 0x88]
comiss xmm1, xmm2
jbe 0x10089e24
movss xmm3, dword [esi + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10089ddf
mov eax, 1
jmp 0x10089e16
comiss xmm2, xmm1
jae 0x10089e14
comiss xmm4, xmm3
jae 0x10089e14
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [esi + 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 0x10089e16
xor eax, eax
test eax, eax
jle 0x10089e24
cmp byte [ebp - 0x44], 0
mov byte [ebp - 0x4e], 1
jne 0x10089e28
mov byte [ebp - 0x4e], 0
test dl, dl
je 0x10089ec0
mov eax, dword [esi + 0x84]
test eax, eax
js 0x10089ec0
movss xmm1, dword [esi + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x10089eb0
movss xmm2, dword [esi + 0x88]
comiss xmm1, xmm2
jbe 0x10089ec0
movss xmm3, dword [esi + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10089e75
mov eax, 1
jmp 0x10089eac
comiss xmm2, xmm1
jae 0x10089eaa
comiss xmm4, xmm3
jae 0x10089eaa
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [esi + 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 0x10089eac
xor eax, eax
test eax, eax
jle 0x10089ec0
cmp byte [ebp - 0x44], 0
je 0x10089ec0
cmp byte [ebp - 0x54], 0
je 0x10089ec0
mov dh, 1
jmp 0x10089eca
xor dh, dh
test dl, dl
je 0x10089f4e
mov eax, dword [esi + 0x80]
test eax, eax
js 0x10089f4e
movss xmm1, dword [esi + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x10089fd8
movss xmm2, dword [esi + 0x88]
comiss xmm1, xmm2
jbe 0x10089f4e
movss xmm3, dword [esi + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10089f0f
mov eax, 1
jmp 0x10089f46
comiss xmm2, xmm1
jae 0x10089f44
comiss xmm4, xmm3
jae 0x10089f44
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [esi + 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 0x10089f46
xor eax, eax
test eax, eax
jg 0x10089fd8
cmp byte [ebp - 0x22], 0
je 0x10089fe8
mov eax, dword [esi + 0x84]
test eax, eax
js 0x10089fe8
movss xmm1, dword [esi + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x10089fd8
movss xmm2, dword [esi + 0x88]
comiss xmm1, xmm2
jbe 0x10089fe8
movss xmm3, dword [esi + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10089f9d
mov eax, 1
jmp 0x10089fd4
comiss xmm2, xmm1
jae 0x10089fd2
comiss xmm4, xmm3
jae 0x10089fd2
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [esi + 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 0x10089fd4
xor eax, eax
test eax, eax
jle 0x10089fe8
cmp byte [ebp - 0x44], 0
je 0x10089fe8
cmp byte [ebp - 0x54], 0
je 0x10089fe8
mov dl, 1
jmp 0x10089fea
xor dl, dl
mov eax, dword [esi + 0x38]
test eax, eax
js 0x1008a0ad
movss xmm1, dword [esi + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1008a06b
movss xmm2, dword [esi + 0x88]
comiss xmm1, xmm2
jbe 0x1008a0ad
movss xmm3, dword [esi + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1008a030
mov eax, 1
jmp 0x1008a067
comiss xmm2, xmm1
jae 0x1008a065
comiss xmm4, xmm3
jae 0x1008a065
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [esi + 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 0x1008a067
xor eax, eax
test eax, eax
jle 0x1008a0ad
cmp byte [ebp - 0xa], 0
je 0x1008a089
mov eax, 0x10004
lea edx, [edi + 0x38]
or eax, dword [ebp - 0x1c]
mov ecx, edi
push eax
call fcn.100878a0
jmp 0x1008ac2a
mov eax, 0x10000
mov ecx, 0x1000c
cmp byte [ebp - 9], 0
lea edx, [edi + 0x38]
cmovne eax, ecx
mov ecx, edi
or eax, dword [ebp - 0x1c]
push eax
call fcn.100878a0
jmp 0x1008ac2a
mov eax, dword [esi + 0x3c]
test eax, eax
js 0x1008a155
movss xmm1, dword [esi + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1008a12a
movss xmm2, dword [esi + 0x88]
comiss xmm1, xmm2
jbe 0x1008a155
movss xmm3, dword [esi + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1008a0ef
mov eax, 1
jmp 0x1008a126
comiss xmm2, xmm1
jae 0x1008a124
comiss xmm4, xmm3
jae 0x1008a124
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [esi + 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 0x1008a126
xor eax, eax
test eax, eax
jle 0x1008a155
cmp byte [ebp - 0xa], 0
je 0x1008a148
mov eax, 0x10005
lea edx, [edi + 0x38]
or eax, dword [ebp - 0x1c]
mov ecx, edi
push eax
call fcn.100878a0
jmp 0x1008ac2a
mov eax, 0x10001
lea ecx, [eax + 0xc]
jmp 0x1008a093
mov eax, dword [esi + 0x40]
test eax, eax
js 0x1008a255
movss xmm1, dword [esi + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1008a1d6
movss xmm2, dword [esi + 0x88]
comiss xmm1, xmm2
jbe 0x1008a255
movss xmm3, dword [esi + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1008a19b
mov eax, 1
jmp 0x1008a1d2
comiss xmm2, xmm1
jae 0x1008a1d0
comiss xmm4, xmm3
jae 0x1008a1d0
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [esi + 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 0x1008a1d2
xor eax, eax
test eax, eax
jle 0x1008a255
cmp byte [ebp - 0x2c], 0
je 0x1008a255
mov esi, dword [ebp - 8]
cmp byte [esi + 0xfc], 0
je 0x1008a220
mov edx, dword [ebp - 0x48]
movss xmm1, dword [edx + 0x58]
movaps xmm0, xmm1
subss xmm0, dword [esi + 0x18bc]
addss xmm1, dword [edx + 0xe0]
maxss xmm0, xmm4
subss xmm1, xmm0
movss dword [edx + 0x58], xmm0
movss dword [edx + 0xe0], xmm1
mov cl, byte [ebp - 2]
jmp 0x1008ac44
movzx eax, byte [ebp - 0xa]
lea edx, [edi + 0x38]
mov ecx, edi
lea eax, [eax*4 + 0x10002]
or eax, dword [ebp - 0x1c]
push eax
call fcn.100878a0
mov cl, byte [ebp - 2]
add esp, 4
mov byte [edi + 0xe60], 1
mov dword [edi + 0xe5c], 0xbe99999a
jmp 0x1008ac44
mov eax, dword [esi + 0x44]
test eax, eax
js 0x1008a369
movss xmm1, dword [esi + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1008a2da
movss xmm2, dword [esi + 0x88]
comiss xmm1, xmm2
jbe 0x1008a369
movss xmm3, dword [esi + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1008a29b
mov eax, 1
jmp 0x1008a2d2
comiss xmm2, xmm1
jae 0x1008a2d0
comiss xmm4, xmm3
jae 0x1008a2d0
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [esi + 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 0x1008a2d2
xor eax, eax
test eax, eax
jle 0x1008a369
cmp byte [ebp - 0x2c], 0
je 0x1008a369
mov eax, dword [ebp - 8]
cmp byte [eax + 0xfc], 0
je 0x1008a34b
mov eax, dword [esi + 0x199c]
mov ecx, dword [ebp - 0x48]
mov esi, dword [ebp - 8]
movss xmm0, dword [eax + 0x20]
subss xmm0, dword [eax + 0x70]
movss xmm1, dword [eax + 0x30]
movss xmm3, dword [ecx + 0x58]
movaps xmm2, xmm3
addss xmm2, dword [esi + 0x18bc]
addss xmm3, dword [ecx + 0xe0]
subss xmm1, xmm0
xorps xmm0, xmm0
maxss xmm0, xmm1
minss xmm2, xmm0
subss xmm3, xmm2
movss dword [ecx + 0x58], xmm2
movss dword [ecx + 0xe0], xmm3
mov cl, byte [ebp - 2]
jmp 0x1008ac44
movzx eax, byte [ebp - 0xa]
lea edx, [edi + 0x38]
mov ecx, edi
lea eax, [eax*4 + 0x10003]
or eax, dword [ebp - 0x1c]
push eax
call fcn.100878a0
jmp 0x1008ac2a
mov eax, dword [esi + 0x50]
test eax, eax
js 0x1008a42e
movss xmm1, dword [esi + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1008a3ea
movss xmm2, dword [esi + 0x88]
comiss xmm1, xmm2
jbe 0x1008a42e
movss xmm3, dword [esi + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1008a3af
mov eax, 1
jmp 0x1008a3e6
comiss xmm2, xmm1
jae 0x1008a3e4
comiss xmm4, xmm3
jae 0x1008a3e4
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [esi + 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 0x1008a3e6
xor eax, eax
test eax, eax
jle 0x1008a42e
mov ecx, dword [ebp - 0x1c]
mov eax, ecx
or eax, 0x10006
or ecx, 0x10004
mov esi, dword [ebp - 8]
cmp byte [esi + 0xfc], 0
cmovne ecx, eax
push ecx
lea edx, [edi + 0x38]
mov ecx, edi
call fcn.100878a0
add esp, 4
mov byte [edi + 0xe60], 1
mov dword [edi + 0xe5c], 0xbe99999a
mov cl, byte [ebp - 2]
jmp 0x1008ac44
mov eax, dword [esi + 0x54]
test eax, eax
js 0x1008a4c0
movss xmm1, dword [esi + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1008a4ab
movss xmm2, dword [esi + 0x88]
comiss xmm1, xmm2
jbe 0x1008a4c0
movss xmm3, dword [esi + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1008a470
mov eax, 1
jmp 0x1008a4a7
comiss xmm2, xmm1
jae 0x1008a4a5
comiss xmm4, xmm3
jae 0x1008a4a5
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [esi + 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 0x1008a4a7
xor eax, eax
test eax, eax
jle 0x1008a4c0
mov ecx, dword [ebp - 0x1c]
mov eax, ecx
or eax, 0x10007
or ecx, 0x10005
jmp 0x1008a3fa
mov eax, dword [esi + 0x5c]
test eax, eax
js 0x1008a55c
movss xmm1, dword [esi + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1008a53d
movss xmm2, dword [esi + 0x88]
comiss xmm1, xmm2
jbe 0x1008a55c
movss xmm3, dword [esi + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1008a502
mov eax, 1
jmp 0x1008a539
comiss xmm2, xmm1
jae 0x1008a537
comiss xmm4, xmm3
jae 0x1008a537
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [esi + 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 0x1008a539
xor eax, eax
test eax, eax
jle 0x1008a55c
cmp byte [ebp - 0x44], 0
je 0x1008a55c
mov ecx, dword [ebp - 0x1c]
lea edx, [edi + 0x38]
or ecx, 0x10008
push ecx
mov ecx, edi
call fcn.100878a0
jmp 0x1008ac2a
mov eax, dword [esi + 0x60]
test eax, eax
js 0x1008a682
movss xmm1, dword [esi + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1008a5e1
movss xmm2, dword [esi + 0x88]
comiss xmm1, xmm2
jbe 0x1008a682
movss xmm3, dword [esi + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1008a5a2
mov eax, 1
jmp 0x1008a5d9
comiss xmm2, xmm1
jae 0x1008a5d7
comiss xmm4, xmm3
jae 0x1008a5d7
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [esi + 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 0x1008a5d9
xor eax, eax
test eax, eax
jle 0x1008a682
cmp byte [ebp - 0x44], 0
je 0x1008a682
mov eax, dword [edi + 0x3c]
cmp eax, dword [edi + 0x40]
jne 0x1008a61c
cmp byte [ebp - 9], 0
je 0x1008a62d
push 0x3000c
lea edx, [edi + 0x38]
mov ecx, edi
call fcn.100878a0
add esp, 4
mov byte [edi + 0xe60], 1
mov dword [edi + 0xe5c], 0xbe99999a
mov esi, dword [ebp - 8]
mov ecx, dword [ebp - 0x1c]
or ecx, 0x10009
jmp 0x1008a407
cmp byte [ebp - 0x4f], 0
je 0x1008a61c
mov esi, dword [ebp - 8]
cmp byte [esi + 0xff], 0
je 0x1008a61f
cmp byte [esi + 0xfe], 0
jne 0x1008a61f
cmp byte [esi + 0xfc], 0
jne 0x1008a61f
push 0x30004
lea edx, [edi + 0x38]
mov ecx, edi
call fcn.100878a0
mov ecx, dword [ebp - 0x1c]
add esp, 4
mov byte [edi + 0xe60], 1
or ecx, 0x10009
mov dword [edi + 0xe5c], 0xbe99999a
jmp 0x1008a407
mov eax, dword [esi + 0x68]
test eax, eax
js 0x1008a76b
movss xmm1, dword [esi + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1008a703
movss xmm2, dword [esi + 0x88]
comiss xmm1, xmm2
jbe 0x1008a76b
movss xmm3, dword [esi + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1008a6c8
mov eax, 1
jmp 0x1008a6ff
comiss xmm2, xmm1
jae 0x1008a6fd
comiss xmm4, xmm3
jae 0x1008a6fd
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [esi + 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 0x1008a6ff
xor eax, eax
test eax, eax
jle 0x1008a76b
mov edx, dword [ebx + 0x10]
mov eax, edx
mov esi, dword [ebp - 8]
shr eax, 0xb
and al, 1
cmp byte [ebp - 0x2c], 0
je 0x1008a724
mov cl, byte [esi + 0xfc]
test al, al
je 0x1008a735
test cl, cl
jne 0x1008a739
mov cl, byte [ebp - 2]
mov dh, 1
mov byte [ebp - 0x21], 1
mov byte [ebp - 1], dh
jmp 0x1008ac47
test cl, cl
jne 0x1008a724
cmp byte [ebp - 0x44], 0
je 0x1008a218
push dword [ebx + 0x18]
lea ecx, [ebp - 0x10]
mov dword [ebp - 0x10], 0xa
push dword [ebx + 0x14]
call fcn.10088b50
add esp, 8
test al, al
je 0x1008a426
push dword [ebp - 0x10]
jmp 0x1008a408
mov ecx, dword [ebx + 0x10]
test ecx, 0x400
je 0x1008a856
mov eax, dword [esi + 0x34]
test eax, eax
js 0x1008a856
movss xmm1, dword [esi + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1008a7fe
movss xmm2, dword [esi + 0x88]
comiss xmm1, xmm2
jbe 0x1008a856
movss xmm3, dword [esi + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1008a7c0
mov eax, 1
jmp 0x1008a7fa
comiss xmm2, xmm1
jae 0x1008a7f8
comiss xmm4, xmm3
jae 0x1008a7f8
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [esi + 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 [ebx + 0x10]
jmp 0x1008a7fa
xor eax, eax
test eax, eax
jle 0x1008a856
mov eax, dword [ebp - 8]
cmp byte [eax + 0xfc], 0
jne 0x1008a856
cmp byte [eax + 0xfd], 0
jne 0x1008a856
cmp byte [eax + 0xfe], 0
jne 0x1008a856
cmp byte [ebp - 0x44], 0
je 0x1008a856
push dword [ebx + 0x18]
mov edx, ecx
mov dword [ebp - 0x10], 9
push dword [ebx + 0x14]
lea ecx, [ebp - 0x10]
call fcn.10088b50
add esp, 8
test al, al
je 0x1008a9c0
push dword [ebp - 0x10]
lea edx, [edi + 0x38]
mov ecx, edi
call fcn.100878a0
jmp 0x1008ac2a
mov eax, dword [esi + 0x6c]
test eax, eax
js 0x1008a8d9
movss xmm1, dword [esi + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1008a8cf
movss xmm2, dword [esi + 0x88]
comiss xmm1, xmm2
jbe 0x1008a8d9
movss xmm3, dword [esi + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1008a894
mov eax, 1
jmp 0x1008a8cb
comiss xmm2, xmm1
jae 0x1008a8c9
comiss xmm4, xmm3
jae 0x1008a8c9
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [esi + 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 0x1008a8cb
xor eax, eax
test eax, eax
jle 0x1008a8d9
mov cl, 1
mov byte [ebp - 0x21], cl
jmp 0x1008ac41
test dh, dh
jne 0x1008ac0b
test dl, dl
jne 0x1008ac0b
cmp byte [ebp - 0x11], dl
je 0x1008a988
mov eax, dword [esi + 0x70]
test eax, eax
js 0x1008a988
movss xmm1, dword [esi + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1008a96f
movss xmm2, dword [esi + 0x88]
comiss xmm1, xmm2
jbe 0x1008a988
movss xmm3, dword [esi + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1008a934
mov eax, 1
jmp 0x1008a96b
comiss xmm2, xmm1
jae 0x1008a969
comiss xmm4, xmm3
jae 0x1008a969
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [esi + 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 0x1008a96b
xor eax, eax
test eax, eax
jle 0x1008a988
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x3c], 0
mov dword [edi + 0x40], eax
mov dword [edi + 0x38], eax
mov byte [edi + 0x47], 0
jmp 0x1008ac37
mov al, byte [ebp - 0x12]
test al, al
jne 0x1008ab13
cmp byte [ebp - 0x4d], al
jne 0x1008ab13
cmp byte [ebp - 0x4e], al
je 0x1008ac3e
mov eax, dword [esi + 0xcc]
test eax, eax
je 0x1008a9cb
push dword [esi + 0xd4]
call eax
mov esi, eax
add esp, 4
test esi, esi
jne 0x1008a9d0
mov esi, dword [ebp - 8]
mov cl, byte [ebp - 2]
jmp 0x1008ac44
mov esi, 0x1013c284
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1008a9d5
mov eax, dword [0x1021abec]
sub ecx, edx
test eax, eax
je 0x1008a9ed
inc dword [eax + 0x394]
lea eax, [ecx*2 + 2]
push eax
call fcn.100de29f
add esp, 4
mov ecx, eax
xor edi, edi
mov dword [ebp - 0x30], ecx
cmp byte [esi], 0
je 0x1008aa5b
nop dword [eax]
push 0
mov edx, esi
lea ecx, [ebp - 0x4c]
call fcn.1006c860
add esi, eax
add esp, 4
mov eax, dword [ebp - 0x4c]
test eax, eax
je 0x1008aa58
cmp eax, 0x10000
jae 0x1008aa53
push dword [ebx + 0x18]
mov edx, dword [ebx + 0x10]
lea ecx, [ebp - 0x4c]
push dword [ebx + 0x14]
call fcn.10088b50
add esp, 8
test al, al
je 0x1008aa53
mov ecx, dword [ebp - 0x30]
mov ax, word [ebp - 0x4c]
mov word [ecx + edi*2], ax
inc edi
cmp byte [esi], 0
jne 0x1008aa10
mov ecx, dword [ebp - 0x30]
xor eax, eax
mov word [ecx + edi*2], ax
test edi, edi
jle 0x1008aaf2
mov eax, dword [ebp - 0x18]
mov edx, dword [eax + 0x40]
lea esi, [eax + 0x38]
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0x2c]
cmp ecx, edx
je 0x1008aa94
cmp ecx, eax
jle 0x1008aa85
mov dword [esi + 4], eax
mov ecx, eax
cmp edx, eax
jle 0x1008aa8e
mov dword [esi + 8], eax
mov edx, eax
cmp ecx, edx
jne 0x1008aa94
mov dword [esi], ecx
cmp dword [esi], eax
jle 0x1008aa9a
mov dword [esi], eax
mov ecx, dword [ebp - 0x18]
mov edx, esi
call fcn.10087810
mov edx, dword [esi]
mov ecx, dword [ebp - 0x18]
push edi
push dword [ebp - 0x30]
call fcn.10087370
add esp, 8
test al, al
je 0x1008aad1
mov edx, dword [esi]
lea ecx, [esi + 0x18]
push edi
push 0
call fcn.100886d0
add esp, 8
mov byte [esi + 0xf], 0
add dword [esi], edi
jmp 0x1008aae5
movzx eax, word [esi + 0xe16]
test ax, ax
je 0x1008aae5
dec eax
mov word [esi + 0xe16], ax
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x30]
mov byte [eax + 0xe60], 1
test ecx, ecx
je 0x1008ab05
mov eax, dword [0x1021abec]
test eax, eax
je 0x1008ab05
dec dword [eax + 0x394]
push ecx
call fcn.100e02aa
add esp, 4
jmp 0x1008ac3e
mov esi, dword [ebp - 8]
cmp dword [esi + 0xd0], 0
je 0x1008abc8
mov esi, dword [edi + 0x40]
mov eax, dword [edi + 0x3c]
cmp eax, esi
je 0x1008ab37
mov ecx, esi
cmovge esi, eax
cmovl ecx, eax
jmp 0x1008ab3c
mov esi, dword [edi + 0x2c]
xor ecx, ecx
mov eax, esi
mov dword [ebp - 0x5c], ecx
sub eax, ecx
lea edx, [edi + 0x1c]
mov dword [ebp - 0x10], edx
lea edi, [eax*4 + 1]
mov eax, dword [edx + 4]
cmp edi, eax
jle 0x1008ab81
test eax, eax
je 0x1008ab6a
cdq
sub eax, edx
mov edx, dword [ebp - 0x10]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x1008ab6f
mov ecx, 8
cmp ecx, edi
mov eax, edi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.1007f3d0
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x18]
mov dword [edx], edi
mov edx, edi
mov edi, dword [ebp - 0x18]
mov ecx, dword [eax + 0xc]
lea eax, [ecx + esi*2]
push eax
mov eax, dword [ebp - 0x5c]
lea eax, [ecx + eax*2]
mov ecx, dword [edi + 0x24]
push eax
call fcn.1006c9f0
mov esi, dword [0x1021abec]
add esp, 8
mov eax, dword [esi + 0xd0]
test eax, eax
je 0x1008abc2
push dword [edi + 0x24]
push dword [esi + 0xd4]
call eax
add esp, 8
mov esi, dword [ebp - 8]
mov al, byte [ebp - 0x12]
test al, al
je 0x1008a218
mov eax, dword [edi + 0x3c]
cmp eax, dword [edi + 0x40]
jne 0x1008abec
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x3c], 0
mov dword [edi + 0x40], eax
mov dword [edi + 0x38], eax
mov byte [edi + 0x47], 0
mov byte [edi + 0xe60], 1
mov eax, dword [edi + 0x3c]
cmp eax, dword [edi + 0x40]
je 0x1008ac3e
lea edx, [edi + 0x38]
mov ecx, edi
call fcn.10087810
mov byte [edi + 0x47], 0
jmp 0x1008ac3e
movzx eax, dh
mov ecx, edi
xor eax, 1
lea edx, [edi + 0x38]
add eax, 0x1000a
push eax
call fcn.100878a0
mov eax, dword [edi + 0x38]
mov dword [edi + 0x40], eax
mov dword [edi + 0x3c], eax
mov dword [edi + 0xe5c], 0xbe99999a
add esp, 4
mov byte [edi + 0xe60], 1
mov cl, byte [ebp - 2]
mov esi, dword [ebp - 8]
mov dh, byte [ebp - 1]
mov edi, dword [ebp - 0x20]
cmp dword [esi + 0x19bc], edi
jne 0x1008b2ef
xor eax, eax
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x1c], eax
test cl, cl
je 0x1008acbc
mov edi, dword [ebp - 0x18]
cmp byte [ebp - 0x44], al
je 0x1008aca9
mov esi, dword [edi + 0x18]
mov ecx, esi
mov eax, dword [ebp - 0x28]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1008ac96
test dl, dl
je 0x1008ac92
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1008ac96
add eax, 2
add ecx, 2
test dl, dl
jne 0x1008ac76
xor eax, eax
jmp 0x1008ac9b
sbb eax, eax
or eax, 1
test eax, eax
je 0x1008aca9
mov eax, dword [edi + 0x10]
dec eax
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x1c], eax
mov eax, dword [ebx + 0x10]
test dh, dh
je 0x1008b1fb
test al, 0x20
je 0x1008b1fb
cmp byte [ebp - 0x44], 0
je 0x1008ad1e
mov eax, dword [ebp - 0x18]
mov edi, dword [eax + 0x20]
lea ecx, [eax + 0x1c]
mov dword [ebp - 0x10], ecx
mov eax, dword [eax + 4]
lea esi, [eax*4 + 1]
cmp esi, edi
jle 0x1008ad05
test edi, edi
je 0x1008aced
mov eax, edi
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, edi
jmp 0x1008acf2
mov ecx, 8
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, dword [ebp - 0x10]
push eax
call fcn.1007f3d0
mov ecx, dword [ebp - 0x10]
mov edi, dword [ebp - 0x18]
mov edx, esi
mov dword [ecx], esi
push 0
push dword [edi + 0xc]
mov ecx, dword [edi + 0x24]
call fcn.1006c9f0
add esp, 8
jmp 0x1008ad21
mov edi, dword [ebp - 0x18]
test dword [ebx + 0x10], 0x1c0
je 0x1008b1b9
mov eax, dword [ebx + 0x10]
xor edx, edx
xorps xmm4, xmm4
lea esi, [edx + 0x15]
test al, 0x40
je 0x1008adcd
mov ecx, dword [0x1021abec]
mov eax, dword [ecx + 0x34]
test eax, eax
js 0x1008adca
movss xmm1, dword [ecx + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1008adbe
movss xmm2, dword [ecx + 0x88]
comiss xmm1, xmm2
jbe 0x1008adca
movss xmm3, dword [ecx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1008ad83
lea eax, [edx + 1]
jmp 0x1008adba
comiss xmm2, xmm1
jae 0x1008adb8
comiss xmm4, xmm3
jae 0x1008adb8
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [ecx + 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 0x1008adba
xor eax, eax
test eax, eax
jle 0x1008adca
mov edx, 0x40
xor esi, esi
jmp 0x1008af15
mov eax, dword [ebx + 0x10]
test al, al
jns 0x1008af08
mov ecx, dword [0x1021abec]
mov eax, dword [ecx + 0x40]
test eax, eax
js 0x1008ae82
movss xmm1, dword [ecx + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1008adfc
mov al, 1
jmp 0x1008ae71
movss xmm2, dword [ecx + 0x88]
comiss xmm1, xmm2
jbe 0x1008ae6f
movss xmm3, dword [ecx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1008ae26
mov eax, 1
test eax, eax
setg al
jmp 0x1008ae71
comiss xmm2, xmm1
jae 0x1008ae66
comiss xmm4, xmm3
jae 0x1008ae66
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [ecx + 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 [0x1021abec]
test eax, eax
setg al
jmp 0x1008ae71
xor eax, eax
test eax, eax
setg al
jmp 0x1008ae71
xor al, al
test al, al
je 0x1008ae82
mov edx, 0x80
lea esi, [edx - 0x7d]
jmp 0x1008af15
mov eax, dword [ecx + 0x44]
test eax, eax
js 0x1008af05
movss xmm1, dword [ecx + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1008aefb
movss xmm2, dword [ecx + 0x88]
comiss xmm1, xmm2
jbe 0x1008af05
movss xmm3, dword [ecx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1008aec0
mov eax, 1
jmp 0x1008aef7
comiss xmm2, xmm1
jae 0x1008aef5
comiss xmm4, xmm3
jae 0x1008aef5
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [ecx + 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 0x1008aef7
xor eax, eax
test eax, eax
jle 0x1008af05
mov edx, 0x80
lea esi, [edx - 0x7c]
jmp 0x1008af15
mov eax, dword [ebx + 0x10]
test eax, 0x100
mov eax, 0x100
cmovne edx, eax
test edx, edx
je 0x1008b1b9
xor eax, eax
mov dword [ebp - 0x118], esi
mov esi, dword [edi + 0xc]
mov ecx, esi
mov word [ebp - 0x107], ax
mov byte [ebp - 0x105], al
mov eax, dword [ebx + 0x18]
mov dword [ebp - 0x120], eax
mov eax, dword [edi + 0x24]
mov dword [ebp - 0x114], eax
mov eax, dword [edi + 0x28]
mov dword [ebp - 0x110], eax
mov eax, dword [edi + 0x30]
mov dword [ebp - 0x10c], eax
mov eax, dword [edi + 0x38]
mov dword [ebp - 0x128], edx
mov edx, dword [ebx + 0x10]
mov dword [ebp - 0x124], edx
lea edx, [esi + eax*2]
mov dword [ebp - 0x11c], 0
mov byte [ebp - 0x108], 0
call fcn.1006cb20
mov edi, eax
mov ecx, esi
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x104], edi
mov edx, dword [eax + 0x3c]
lea edx, [esi + edx*2]
call fcn.1006cb20
mov dword [ebp - 0x64], eax
mov ecx, esi
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0x18]
mov edx, dword [eax + 0x40]
lea edx, [esi + edx*2]
call fcn.1006cb20
mov dword [ebp - 0x70], eax
mov dword [ebp - 0xfc], eax
lea eax, [ebp - 0x128]
push eax
call dword [ebx + 0x14]
mov edx, dword [ebp - 0x104]
add esp, 4
mov ecx, dword [ebp - 0x114]
mov dword [ebp - 0x34], ecx
cmp edx, edi
je 0x1008b036
lea edi, [edx + ecx]
mov esi, ecx
xor eax, eax
mov dword [ebp - 0x3c], eax
nop word [eax + eax]
test edi, edi
je 0x1008aff8
cmp esi, edi
jae 0x1008b024
cmp byte [esi], 0
je 0x1008b024
push edi
mov edx, esi
lea ecx, [ebp - 0x40]
call fcn.1006c860
add esi, eax
add esp, 4
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x1008b021
cmp eax, 0x10000
mov eax, dword [ebp - 0x3c]
jae 0x1008aff0
inc eax
jmp 0x1008afe7
mov eax, dword [ebp - 0x3c]
mov edi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x34]
mov dword [edi + 0x38], eax
mov byte [edi + 0xe60], 1
jmp 0x1008b039
mov edi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x100]
cmp eax, dword [ebp - 0x64]
je 0x1008b08d
lea edi, [eax + ecx]
mov esi, ecx
xor eax, eax
mov dword [ebp - 0x3c], eax
nop
test edi, edi
je 0x1008b058
cmp esi, edi
jae 0x1008b084
cmp byte [esi], 0
je 0x1008b084
push edi
mov edx, esi
lea ecx, [ebp - 0x40]
call fcn.1006c860
add esi, eax
add esp, 4
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x1008b081
cmp eax, 0x10000
mov eax, dword [ebp - 0x3c]
jae 0x1008b050
inc eax
jmp 0x1008b04b
mov eax, dword [ebp - 0x3c]
mov edi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x34]
mov dword [edi + 0x3c], eax
mov eax, dword [ebp - 0xfc]
cmp eax, dword [ebp - 0x70]
je 0x1008b0df
lea edi, [eax + ecx]
mov esi, ecx
xor eax, eax
mov dword [ebp - 0x3c], eax
test edi, edi
je 0x1008b0aa
cmp esi, edi
jae 0x1008b0d6
cmp byte [esi], 0
je 0x1008b0d6
push edi
mov edx, esi
lea ecx, [ebp - 0x40]
call fcn.1006c860
add esi, eax
add esp, 4
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x1008b0d3
cmp eax, 0x10000
mov eax, dword [ebp - 0x3c]
jae 0x1008b0a2
inc eax
jmp 0x1008b09f
mov eax, dword [ebp - 0x3c]
mov edi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x34]
mov dword [edi + 0x40], eax
cmp byte [ebp - 0x108], 0
je 0x1008b1b9
mov esi, dword [ebp - 0x110]
mov edx, dword [ebp - 0x60]
cmp esi, edx
jle 0x1008b147
cmp byte [ebp - 0x88], 0
je 0x1008b147
lea eax, [edi + 4]
sub esi, edx
add esi, dword [eax]
mov edi, dword [eax + 4]
mov dword [ebp - 0x10], eax
cmp esi, edi
jle 0x1008b145
test edi, edi
je 0x1008b124
mov eax, edi
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, edi
jmp 0x1008b129
mov ecx, 8
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, dword [ebp - 0x10]
push eax
call fcn.1007f6a0
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x34], ecx
mov dword [eax], esi
mov eax, dword [ebp - 0x18]
mov edx, dword [eax + 0xc]
mov esi, edx
mov edi, dword [eax + 4]
dec edi
mov dword [ebp - 0x64], edx
lea edi, [edx + edi*2]
cmp edx, edi
jae 0x1008b197
nop dword [eax]
cmp byte [ecx], 0
je 0x1008b194
mov edx, ecx
lea ecx, [ebp - 0x40]
push 0
call fcn.1006c860
mov ecx, dword [ebp - 0x34]
add esp, 4
add ecx, eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x34], ecx
test eax, eax
je 0x1008b194
cmp eax, 0x10000
jae 0x1008b190
mov word [esi], ax
add esi, 2
cmp esi, edi
jb 0x1008b160
mov edx, dword [ebp - 0x64]
mov edi, dword [ebp - 0x18]
xor eax, eax
mov word [esi], ax
sub esi, edx
mov eax, dword [ebp - 0x110]
sar esi, 1
mov dword [edi + 0x2c], esi
mov dword [edi + 0x28], eax
mov dword [edi + 0xe5c], 0xbe99999a
cmp byte [ebp - 0x44], 0
je 0x1008b1f8
mov esi, dword [edi + 0x24]
mov eax, esi
mov ecx, dword [ebp - 0x28]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1008b1e7
test dl, dl
je 0x1008b1e3
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1008b1e7
add eax, 2
add ecx, 2
test dl, dl
jne 0x1008b1c7
xor eax, eax
jmp 0x1008b1ec
sbb eax, eax
or eax, 1
test eax, eax
mov eax, dword [ebx + 0x10]
je 0x1008b1fb
mov ecx, dword [edi + 0x28]
jmp 0x1008b201
mov eax, dword [ebx + 0x10]
mov esi, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x1c]
test esi, esi
je 0x1008b2cc
cmp dword [ebp - 0x60], ecx
je 0x1008b2a0
cmp byte [ebp - 0x88], 0
je 0x1008b2a0
mov dword [ebp - 0x154], eax
xorps xmm0, xmm0
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x144], eax
lea eax, [ecx + 1]
cmp dword [ebx + 8], eax
movlpd qword [ebp - 0x14c], xmm0
cmovge eax, dword [ebx + 8]
mov dword [ebp - 0x13c], eax
mov eax, dword [ebx + 0x18]
mov dword [ebp - 0x150], eax
lea eax, [ebp - 0x158]
push eax
movlpd qword [ebp - 0x138], xmm0
movlpd qword [ebp - 0x130], xmm0
mov dword [ebp - 0x158], 0x40000
mov dword [ebp - 0x140], ecx
call dword [ebx + 0x14]
mov esi, dword [ebp - 0x13c]
add esp, 4
mov edx, dword [ebp - 0x144]
mov dword [ebp - 0x28], edx
lea ecx, [esi - 1]
cmp dword [ebp - 0x140], ecx
cmovl ecx, dword [ebp - 0x140]
jmp 0x1008b2a6
mov edx, dword [ebp - 0x28]
mov esi, dword [ebx + 8]
lea eax, [ecx + 1]
cmp eax, esi
cmovl esi, eax
cmp esi, 1
jb 0x1008b2c8
push esi
push dword [edi + 0x24]
push edx
call fcn.100de170
mov eax, dword [ebp - 0x28]
add esp, 0xc
mov byte [esi + eax - 1], 0
mov byte [ebp - 0x35], 1
mov esi, dword [ebp - 8]
mov dword [edi + 0xe64], 0
mov dword [edi + 0xe68], 0
mov dword [edi + 0xe6c], 0
jmp 0x1008b2f2
mov edi, dword [ebp - 0x18]
cmp byte [ebp - 0x21], 0
je 0x1008b308
mov ecx, dword [ebp - 0x20]
cmp dword [esi + 0x19bc], ecx
jne 0x1008b308
call fcn.1006ec70
mov eax, dword [ebp - 0x20]
cmp dword [esi + 0x19bc], eax
jne 0x1008b31f
cmp byte [ebp - 0x44], 0
je 0x1008b31f
mov ecx, dword [edi + 0x24]
mov dword [ebp - 0x28], ecx
mov edx, dword [ebp - 0x2c]
test dl, dl
jne 0x1008b3e8
push 1
mov edx, eax
lea ecx, [ebp - 0x84]
call fcn.1006e130
movss xmm1, dword [0x101519fc]
add esp, 4
mov ecx, 7
push dword [ebp - 0x78]
push dword [ebp - 0x7c]
push dword [ebp - 0x80]
push dword [ebp - 0x84]
call fcn.1006cdb0
movss xmm2, dword [esi + 0x1554]
mov dl, 1
mov ecx, eax
call fcn.1006dae0
movss xmm4, dword [ebp - 0x84]
add esp, 0x10
movss xmm7, dword [ebp - 0x80]
movaps xmm0, xmm4
addss xmm0, dword [esi + 0x154c]
movss xmm5, dword [ebp - 0x58]
movaps xmm2, xmm4
movss xmm1, dword [ebp - 0xb4]
addss xmm2, xmm5
mov edx, dword [ebp - 0x2c]
addss xmm1, xmm7
movss dword [ebp - 0xf4], xmm4
movss dword [ebp - 0xd0], xmm0
movaps xmm0, xmm7
addss xmm0, dword [esi + 0x1550]
movss dword [ebp - 0xf0], xmm7
movss dword [ebp - 0x64], xmm2
movss dword [ebp - 0xec], xmm2
movss dword [ebp - 0x4c], xmm2
movss dword [ebp - 0xcc], xmm0
movss dword [ebp - 0x60], xmm1
jmp 0x1008b455
movss xmm0, dword [ebp - 0x84]
movss xmm1, dword [ebp - 0x80]
movaps xmm3, xmm0
movss xmm5, dword [ebp - 0x58]
movss xmm2, dword [ebp - 0xb4]
addss xmm3, xmm5
mov ecx, dword [ebp - 0x48]
addss xmm2, xmm1
movss dword [ebp - 0xf4], xmm0
movss dword [ebp - 0xf0], xmm1
mov eax, dword [ecx + 0xc4]
movaps xmm0, xmm3
mov ecx, dword [ecx + 0xc8]
movaps xmm1, xmm2
movss dword [ebp - 0x4c], xmm3
movss dword [ebp - 0x64], xmm0
movss dword [ebp - 0xec], xmm0
movss dword [ebp - 0x60], xmm2
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], ecx
lea eax, [ebp - 0xd0]
movss dword [ebp - 0xe8], xmm1
movss xmm0, dword [eax]
xorps xmm6, xmm6
movss dword [ebp - 0x6c], xmm0
movss xmm0, dword [eax + 4]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x20]
movss dword [ebp - 0x34], xmm0
movss dword [ebp - 0x68], xmm0
xorps xmm0, xmm0
movss dword [ebp - 0x54], xmm1
movss dword [ebp - 0x5c], xmm0
movss dword [ebp - 0x10], xmm6
cmp dword [edi], eax
jne 0x1008b4cc
test dl, dl
je 0x1008b4cc
mov eax, dword [ebp - 0x48]
mov ecx, str.SCROLLY
mov edx, dword [eax + 0x1bc]
mov eax, dword [eax + 0x1c4]
push dword [eax + edx*4 - 4]
xor edx, edx
call fcn.1006c490
add esp, 4
cmp dword [esi + 0x19bc], eax
jne 0x1008b4cc
mov al, 1
jmp 0x1008b4ce
xor al, al
mov ecx, dword [ebp - 0x20]
cmp dword [esi + 0x19bc], ecx
je 0x1008b821
test al, al
jne 0x1008b821
cmp byte [ebp - 0x2c], al
je 0x1008b538
mov eax, dword [ebp - 0x28]
xor ecx, ecx
mov dl, byte [eax]
lea esi, [eax + 1]
test dl, dl
je 0x1008b50a
cmp dl, 0xa
lea eax, [ecx + 1]
mov dl, byte [esi]
cmovne eax, ecx
inc esi
mov ecx, eax
test dl, dl
jne 0x1008b4f8
mov al, byte [esi - 1]
dec esi
cmp al, 0xa
je 0x1008b517
cmp al, 0xd
je 0x1008b517
inc ecx
mov eax, dword [ebp - 8]
movaps xmm0, xmm5
movd xmm7, ecx
cvtdq2ps xmm7, xmm7
movss dword [ebp - 0x5c], xmm0
mulss xmm7, dword [eax + 0x18bc]
movss dword [ebp - 0x10], xmm7
jmp 0x1008b558
mov edi, dword [ebp - 0x28]
mov ecx, edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1008b540
sub ecx, edx
lea esi, [ecx + edi]
cmp ecx, 0x200000
jge 0x1008b766
mov eax, dword [ebp - 0x48]
xor ecx, ecx
movss xmm1, dword [0x101519fc]
mov edi, dword [eax + 0x270]
call fcn.1006cdb0
mov ecx, dword [ebp - 8]
lea edx, [ebp - 0xf4]
cmp byte [ebp - 0x2c], 0
mov dword [ebp - 0x40], 0
cmovne edx, dword [ebp - 0x40]
movss xmm2, dword [ecx + 0x18bc]
mov ecx, dword [ecx + 0x18b8]
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0x4c], ecx
test eax, 0xff000000
je 0x1008b6a0
test esi, esi
jne 0x1008b5c8
mov ecx, dword [ebp - 0x28]
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1008b5b4
mov eax, dword [ebp - 0x28]
sub ecx, esi
lea esi, [eax + ecx]
mov ecx, dword [ebp - 0x4c]
jmp 0x1008b5cb
mov eax, dword [ebp - 0x28]
cmp eax, esi
je 0x1008b6a0
test ecx, ecx
jne 0x1008b5e0
mov eax, dword [edi + 0x28]
mov eax, dword [eax + 8]
mov dword [ebp - 0x4c], eax
ucomiss xmm2, dword [0x1013df4c]
lahf
test ah, 0x44
jp 0x1008b5f5
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 [eax + ecx - 0x10]
movups xmmword [ebp - 0xc0], xmm0
test edx, edx
je 0x1008b66f
movss xmm1, dword [edx]
movss xmm0, dword [ebp - 0xc0]
comiss xmm0, xmm1
jae 0x1008b627
movss dword [ebp - 0xc0], xmm1
movss xmm1, dword [edx + 4]
movss xmm0, dword [ebp - 0xbc]
comiss xmm0, xmm1
jae 0x1008b641
movss dword [ebp - 0xbc], xmm1
movss xmm0, dword [edx + 8]
comiss xmm0, dword [ebp - 0xb8]
ja 0x1008b657
movss dword [ebp - 0xb8], xmm0
movss xmm0, dword [edx + 0xc]
comiss xmm0, dword [ebp - 0xb4]
ja 0x1008b66d
movss dword [ebp - 0xb4], xmm0
test edx, edx
setne al
movzx eax, al
push eax
push ecx
mov ecx, dword [ebp - 0x4c]
lea eax, [ebp - 0xc0]
mov dword [esp], 0
push esi
push dword [ebp - 0x28]
push eax
mov eax, dword [ebp - 0x1c]
push dword [ebp - 0xd4]
push dword [eax + 4]
push dword [eax]
push edi
call fcn.100abf70
mov esi, dword [ebp - 8]
cmp byte [ebp - 0x2c], 0
je 0x1008b763
mov ecx, dword [0x1021abec]
xorps xmm5, xmm5
movss xmm4, dword [ebp - 0x10]
addss xmm4, dword [esi + 0x18bc]
movss xmm3, dword [ebp - 0x5c]
mov eax, dword [ecx + 0x199c]
addss xmm3, xmm5
mov byte [eax + 0x78], 1
mov eax, dword [ecx + 0x199c]
cmp byte [eax + 0x7b], 0
jne 0x1008b759
movss xmm1, dword [eax + 0xc8]
lea ecx, [ebp - 0xd0]
movss xmm2, dword [eax + 0xc4]
movaps xmm0, xmm1
addss xmm3, xmm2
movss dword [ebp - 0xa4], xmm1
addss xmm0, xmm4
movss dword [ebp - 0xa8], xmm2
movss dword [ebp - 0xa0], xmm3
subss xmm3, xmm2
movss dword [ebp - 0x9c], xmm0
subss xmm0, xmm1
xorps xmm1, xmm1
movss dword [ebp - 0xd0], xmm3
movss dword [ebp - 0xcc], xmm0
call fcn.1006ecd0
push 0
xor edx, edx
lea ecx, [ebp - 0xa8]
call fcn.1006edf0
add esp, 4
call fcn.10071540
call fcn.10076f30
mov edi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0xc4]
test cl, cl
je 0x1008b77b
call fcn.10076410
mov ecx, dword [ebp - 0xc4]
mov eax, dword [ebp - 8]
cmp byte [eax + 0x2c54], 0
je 0x1008b79d
test cl, cl
jne 0x1008b79d
push 0
mov edx, edi
lea ecx, [ebp - 0x6c]
call fcn.1007c5c0
mov eax, dword [ebp - 8]
add esp, 4
movss xmm0, dword [ebp - 0xe0]
comiss xmm0, dword [0x1013df4c]
jbe 0x1008b7ea
movss xmm0, dword [ebp - 0x7c]
xor edx, edx
addss xmm0, dword [eax + 0x1564]
mov ecx, dword [ebp - 0xd8]
movss dword [ebp - 0x6c], xmm0
movss xmm0, dword [ebp - 0x80]
addss xmm0, dword [eax + 0x1550]
movss dword [ebp - 0x68], xmm0
push dword [ebp - 0x68]
push dword [ebp - 0x6c]
push 1
call fcn.1006d720
add esp, 0xc
mov cl, byte [ebp - 0x35]
test cl, cl
je 0x1008b80a
mov eax, dword [0x1021abec]
mov byte [eax + 0x19ce], 1
mov eax, dword [eax + 0x199c]
or dword [eax + 0x10c], 4
test byte [ebx + 0x10], 0x20
movzx eax, cl
movzx ecx, byte [ebp - 1]
pop edi
cmovne eax, ecx
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
movss xmm0, dword [esi + 0x18]
xorps xmm7, xmm7
mov esi, dword [edi + 0xc]
mov ecx, 1
mov eax, dword [edi + 0x38]
addss xmm0, dword [edi + 0xe5c]
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x3c], esi
lea eax, [esi + eax*2]
movss dword [ebp - 0x70], xmm6
mov dword [ebp - 0xc8], eax
mov eax, dword [edx + 0x40]
mov edx, dword [edx + 0x3c]
movss dword [edi + 0xe5c], xmm0
or edi, 0xffffffff
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x20], 0xfffffc19
cmp edx, eax
je 0x1008b88a
cmovl eax, edx
mov dword [ebp - 0x20], edi
mov ecx, 2
lea eax, [esi + eax*2]
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x2c]
xor esi, esi
movzx eax, al
add ecx, eax
mov dword [ebp - 0x30], esi
mov eax, dword [ebp - 0x3c]
mov edx, eax
movzx eax, word [eax]
test ax, ax
je 0x1008b8ee
mov esi, eax
cmp si, 0xa
jne 0x1008b8dd
mov esi, dword [ebp - 0x30]
inc esi
mov dword [ebp - 0x30], esi
cmp edi, 0xffffffff
jne 0x1008b8c7
cmp edx, dword [ebp - 0xc8]
jb 0x1008b8c7
dec ecx
mov edi, esi
test ecx, ecx
jle 0x1008b8ee
cmp dword [ebp - 0x20], 0xffffffff
jne 0x1008b8dd
cmp edx, dword [ebp - 0x88]
jb 0x1008b8dd
dec ecx
mov dword [ebp - 0x20], esi
test ecx, ecx
jle 0x1008b8ee
movzx eax, word [edx + 2]
add edx, 2
mov esi, eax
test ax, ax
jne 0x1008b8a6
mov esi, dword [ebp - 0x30]
mov edx, dword [ebp - 0x3c]
inc esi
cmp edi, 0xffffffff
mov dword [ebp - 0x30], esi
mov eax, esi
cmovne eax, edi
mov edi, dword [ebp - 0xc8]
mov dword [ebp - 0x74], eax
mov ecx, edi
mov eax, dword [ebp - 0x20]
cmp eax, 0xffffffff
cmove eax, esi
mov dword [ebp - 0x20], eax
cmp edi, edx
jbe 0x1008b926
cmp word [ecx - 2], 0xa
je 0x1008b926
add ecx, 0xfffffffe
cmp ecx, edx
ja 0x1008b918
mov eax, dword [0x1021abec]
movaps xmm1, xmm6
movaps xmm3, xmm6
mov esi, dword [eax + 0x18b8]
movss xmm2, dword [eax + 0x18bc]
divss xmm2, dword [esi]
cmp ecx, edi
jae 0x1008b987
movzx eax, word [ecx]
add ecx, 2
mov edx, eax
cmp eax, 0xa
jne 0x1008b95d
maxss xmm1, xmm3
movaps xmm3, xmm6
jmp 0x1008b980
cmp edx, 0xd
je 0x1008b980
mov edx, eax
cmp edx, dword [esi + 0x1c]
jge 0x1008b973
mov eax, dword [esi + 0x24]
movss xmm0, dword [eax + edx*4]
jmp 0x1008b978
movss xmm0, dword [esi + 0x38]
mulss xmm0, xmm2
addss xmm3, xmm0
cmp ecx, edi
jb 0x1008b947
mov edx, dword [ebp - 0x3c]
cmp dword [ebp - 0x20], 0
maxss xmm3, xmm1
movd xmm4, dword [ebp - 0x74]
mov ecx, dword [ebp - 8]
cvtdq2ps xmm4, xmm4
movss xmm0, dword [ecx + 0x18bc]
mulss xmm4, xmm0
movss dword [ebp - 0x40], xmm3
movss dword [ebp - 0xf8], xmm4
jl 0x1008ba56
mov edi, dword [ebp - 0x88]
mov ecx, edi
cmp edi, edx
jbe 0x1008b9d3
cmp word [ecx - 2], 0xa
je 0x1008b9d3
add ecx, 0xfffffffe
cmp ecx, edx
ja 0x1008b9c5
mov eax, dword [0x1021abec]
movaps xmm1, xmm6
movaps xmm7, xmm6
mov esi, dword [eax + 0x18b8]
movss xmm2, dword [eax + 0x18bc]
divss xmm2, dword [esi]
cmp ecx, edi
jae 0x1008ba31
movzx eax, word [ecx]
add ecx, 2
mov edx, eax
cmp eax, 0xa
jne 0x1008ba0a
maxss xmm1, xmm7
movaps xmm7, xmm6
jmp 0x1008ba2d
cmp edx, 0xd
je 0x1008ba2d
mov edx, eax
cmp edx, dword [esi + 0x1c]
jge 0x1008ba20
mov eax, dword [esi + 0x24]
movss xmm0, dword [eax + edx*4]
jmp 0x1008ba25
movss xmm0, dword [esi + 0x38]
mulss xmm0, xmm2
addss xmm7, xmm0
cmp ecx, edi
jb 0x1008b9f4
movd xmm3, dword [ebp - 0x20]
maxss xmm7, xmm1
mov ecx, dword [ebp - 8]
cvtdq2ps xmm3, xmm3
movss xmm0, dword [ecx + 0x18bc]
mulss xmm3, xmm0
movss dword [ebp - 0x70], xmm3
movss xmm3, dword [ebp - 0x40]
cmp byte [ebp - 0x2c], 0
je 0x1008ba77
movd xmm5, dword [ebp - 0x30]
cvtdq2ps xmm5, xmm5
mulss xmm5, xmm0
movss dword [ebp - 0x10], xmm5
movss xmm5, dword [ebp - 0x58]
movss dword [ebp - 0x5c], xmm5
mov edx, dword [ebp - 0x18]
cmp byte [edx + 0xe60], 0
je 0x1008bb34
test dword [ebx + 0x10], 0x1000
jne 0x1008bad4
movss xmm2, dword [edx + 0x34]
movaps xmm0, xmm5
comiss xmm2, xmm3
mulss xmm0, dword [0x10151988]
movaps xmm1, xmm3
jbe 0x1008bab5
subss xmm1, xmm0
movaps xmm0, xmm6
maxss xmm0, xmm1
jmp 0x1008bac2
subss xmm1, xmm5
comiss xmm1, xmm2
jb 0x1008badb
addss xmm0, xmm1
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edx + 0x34], xmm0
jmp 0x1008badb
mov dword [edx + 0x34], 0
cmp byte [ebp - 0x2c], 0
je 0x1008bb34
mov eax, dword [ebp - 0x48]
movaps xmm1, xmm4
subss xmm1, dword [ecx + 0x18bc]
movss xmm5, dword [eax + 0x58]
comiss xmm5, xmm1
jbe 0x1008bb02
movaps xmm0, xmm6
maxss xmm0, xmm1
jmp 0x1008bb11
movaps xmm0, xmm4
subss xmm0, dword [ebp - 0xb4]
maxss xmm0, xmm5
subss xmm5, xmm0
movss dword [eax + 0x58], xmm0
addss xmm5, dword [eax + 0xc8]
movss dword [ebp - 0x34], xmm5
movss dword [eax + 0xc8], xmm5
movss dword [ebp - 0x68], xmm5
movss xmm4, dword [edx + 0x34]
mov ecx, dword [edx + 0x40]
mov byte [edx + 0xe60], 0
mov edx, dword [edx + 0x3c]
movss dword [ebp - 0x30], xmm4
cmp edx, ecx
je 0x1008bdb2
mov edi, dword [ebp - 0x3c]
mov eax, ecx
cmovl eax, edx
cmovge ecx, edx
cmp byte [ebp - 0x2c], 0
lea esi, [edi + eax*2]
lea edi, [edi + ecx*2]
je 0x1008bb7c
movss dword [ebp - 0xe4], xmm6
movss dword [ebp - 0xc8], xmm6
jmp 0x1008bb8c
movss xmm0, dword [0x10151a64]
movss dword [ebp - 0xc8], xmm0
movss xmm1, dword [0x101519fc]
mov ecx, 0x2a
call fcn.1006cdb0
mov ecx, dword [ebp - 0x1c]
movss xmm6, dword [ebp - 0x34]
mov dword [ebp - 0x74], eax
movaps xmm5, xmm6
addss xmm5, dword [ebp - 0x70]
movss xmm4, dword [ecx]
addss xmm4, xmm7
xorps xmm7, xmm7
subss xmm5, xmm7
subss xmm4, dword [ebp - 0x30]
movss dword [ebp - 0x70], xmm5
cmp esi, edi
jae 0x1008be0a
movss xmm6, dword [ebp - 0x54]
mov edx, dword [ebp - 8]
nop word [eax + eax]
movaps xmm0, xmm6
addss xmm0, dword [edx + 0x18bc]
comiss xmm5, xmm0
ja 0x1008bdad
movss xmm0, dword [ebp - 0x80]
comiss xmm0, xmm5
jbe 0x1008bc1f
cmp esi, edi
jae 0x1008bd8f
mov ax, word [esi]
add esi, 2
cmp ax, 0xa
je 0x1008bd8f
cmp esi, edi
jb 0x1008bc06
jmp 0x1008bd8f
mov eax, dword [0x1021abec]
movaps xmm3, xmm7
movaps xmm1, xmm7
mov edx, dword [eax + 0x18b8]
movss xmm2, dword [eax + 0x18bc]
divss xmm2, dword [edx]
cmp esi, edi
jae 0x1008bc81
movzx eax, word [esi]
add esi, 2
mov ecx, eax
cmp eax, 0xa
je 0x1008bc74
cmp ecx, 0xd
je 0x1008bc6e
cmp ecx, dword [edx + 0x1c]
jge 0x1008bc61
mov eax, dword [edx + 0x24]
movss xmm0, dword [eax + ecx*4]
jmp 0x1008bc66
movss xmm0, dword [edx + 0x38]
mulss xmm0, xmm2
addss xmm1, xmm0
cmp esi, edi
jb 0x1008bc40
jmp 0x1008bc7e
movaps xmm3, xmm7
maxss xmm3, xmm1
movaps xmm1, xmm7
mov ecx, dword [ebp - 0x1c]
maxss xmm1, xmm3
comiss xmm7, xmm1
jb 0x1008bcbe
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x18b8]
cmp dword [eax + 0x1c], 0x20
jle 0x1008bca6
mov eax, dword [eax + 0x24]
movss xmm0, dword [eax + 0x80]
jmp 0x1008bcab
movss xmm0, dword [eax + 0x38]
mulss xmm0, dword [0x1015199c]
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mov edx, dword [ebp - 8]
addss xmm1, xmm4
movss xmm2, dword [ebp - 0xe4]
addss xmm4, xmm7
movss xmm0, dword [ebp - 0xc8]
movss xmm3, dword [ebp - 0x64]
addss xmm0, xmm5
subss xmm2, dword [edx + 0x18bc]
minss xmm1, xmm3
maxss xmm4, dword [ebp - 0x84]
minss xmm0, xmm6
addss xmm2, xmm5
movss dword [ebp - 0xa0], xmm1
movss dword [ebp - 0xa8], xmm4
comiss xmm0, dword [ebp - 0xd4]
maxss xmm2, dword [ebp - 0x80]
movss dword [ebp - 0x9c], xmm0
movss dword [ebp - 0xa4], xmm2
jbe 0x1008bd8f
comiss xmm6, xmm2
jbe 0x1008bd8f
comiss xmm1, dword [ebp - 0x84]
jbe 0x1008bd8f
comiss xmm3, xmm4
jbe 0x1008bd8f
push 0xf
push ecx
mov dword [esp], 0
lea eax, [ebp - 0xa0]
push dword [ebp - 0x74]
push eax
lea eax, [ebp - 0xa8]
push eax
mov eax, dword [ebp - 0x48]
mov ecx, dword [eax + 0x270]
call fcn.100a95a0
movss xmm0, dword [ebp - 0x4c]
xorps xmm7, xmm7
movss xmm5, dword [ebp - 0x70]
movss xmm6, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 8]
movss dword [ebp - 0x4c], xmm0
movss xmm0, dword [ebp - 0x60]
movss dword [ebp - 0x60], xmm0
movss xmm4, dword [ecx]
addss xmm5, dword [edx + 0x18bc]
subss xmm4, dword [ebp - 0x30]
movss dword [ebp - 0x70], xmm5
cmp esi, edi
jb 0x1008bbe0
movss xmm4, dword [ebp - 0x30]
movss xmm6, dword [ebp - 0x34]
cmp byte [ebp - 0x2c], 0
mov eax, dword [ebp - 0x18]
mov edx, dword [eax + 0x28]
jne 0x1008bdcf
cmp edx, 0x200000
jge 0x1008c00e
mov eax, dword [ebp - 0x48]
xorps xmm5, xmm5
mov eax, dword [eax + 0x270]
mov dword [ebp - 0x58], eax
mov eax, dword [0x1021abec]
movups xmm1, xmmword [eax + 0x15b8]
comiss xmm5, xmm1
movaps xmm2, xmm1
movaps xmmword [ebp - 0xb0], xmm1
shufps xmm2, xmm1, 0xff
mulss xmm2, dword [eax + 0x1518]
jbe 0x1008be11
xorps xmm0, xmm0
jmp 0x1008be1d
movss xmm4, dword [ebp - 0x30]
jmp 0x1008bdb7
movss xmm0, dword [0x101519fc]
minss xmm0, xmm1
movss xmm1, dword [0x10151b90]
movss xmm7, dword [0x1015199c]
movss xmm3, dword [ebp - 0xac]
comiss xmm5, xmm3
mulss xmm0, xmm1
addss xmm0, xmm7
cvttss2si ecx, xmm0
jbe 0x1008be4b
xorps xmm0, xmm0
jmp 0x1008be57
movss xmm0, dword [0x101519fc]
minss xmm0, xmm3
movss xmm3, dword [ebp - 0xa8]
mulss xmm0, xmm1
addss xmm0, xmm7
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm5, xmm3
jbe 0x1008be7a
xorps xmm0, xmm0
jmp 0x1008be86
movss xmm0, dword [0x101519fc]
minss xmm0, xmm3
mulss xmm0, xmm1
addss xmm0, xmm7
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
comiss xmm5, xmm2
jbe 0x1008bea1
xorps xmm0, xmm0
jmp 0x1008bead
movss xmm0, dword [0x101519fc]
minss xmm0, xmm2
mov eax, dword [ebp - 0x1c]
mulss xmm0, xmm1
mov dword [ebp - 0x74], 0
addss xmm0, xmm7
cvttss2si edi, xmm0
movss xmm0, dword [eax]
mov eax, dword [ebp - 8]
subss xmm0, xmm4
shl edi, 0x18
or edi, ecx
mov ecx, dword [ebp - 0x28]
cmp byte [ebp - 0x2c], 0
movss xmm2, dword [eax + 0x18bc]
mov eax, dword [eax + 0x18b8]
movss dword [ebp - 0xb8], xmm0
lea esi, [edx + ecx]
movaps xmm0, xmm6
mov dword [ebp - 0x54], eax
subss xmm0, xmm5
lea edx, [ebp - 0xf4]
cmovne edx, dword [ebp - 0x74]
movss dword [ebp - 0xb4], xmm0
test edi, 0xff000000
je 0x1008c011
test esi, esi
jne 0x1008bf36
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1008bf22
mov eax, dword [ebp - 0x54]
sub ecx, esi
mov esi, dword [ebp - 0x28]
add esi, ecx
mov ecx, dword [ebp - 0x28]
cmp ecx, esi
je 0x1008c011
mov ecx, dword [ebp - 0x58]
test eax, eax
jne 0x1008bf4e
mov eax, dword [ecx + 0x28]
mov eax, dword [eax + 8]
mov dword [ebp - 0x54], eax
ucomiss xmm2, xmm5
lahf
test ah, 0x44
jp 0x1008bf5f
mov eax, dword [ecx + 0x28]
movss xmm2, dword [eax + 0xc]
mov eax, dword [ebp - 0x58]
mov ecx, dword [ecx + 0x3c]
shl ecx, 4
mov eax, dword [eax + 0x44]
movups xmm0, xmmword [ecx + eax - 0x10]
movups xmmword [ebp - 0xb0], xmm0
test edx, edx
je 0x1008bfdc
movss xmm1, dword [edx]
movss xmm0, dword [ebp - 0xb0]
comiss xmm0, xmm1
jae 0x1008bf94
movss dword [ebp - 0xb0], xmm1
movss xmm1, dword [edx + 4]
movss xmm0, dword [ebp - 0xac]
comiss xmm0, xmm1
jae 0x1008bfae
movss dword [ebp - 0xac], xmm1
movss xmm0, dword [edx + 8]
comiss xmm0, dword [ebp - 0xa8]
ja 0x1008bfc4
movss dword [ebp - 0xa8], xmm0
movss xmm0, dword [edx + 0xc]
comiss xmm0, dword [ebp - 0xa4]
ja 0x1008bfda
movss dword [ebp - 0xa4], xmm0
test edx, edx
setne al
movzx eax, al
push eax
push ecx
mov ecx, dword [ebp - 0x54]
lea eax, [ebp - 0xb0]
mov dword [esp], 0
push esi
push dword [ebp - 0x28]
push eax
push edi
push dword [ebp - 0xb4]
push dword [ebp - 0xb8]
push dword [ebp - 0x58]
call fcn.100abf70
xorps xmm5, xmm5
mov esi, dword [ebp - 8]
cmp byte [esi + 0xbe], 0
je 0x1008c069
movss xmm0, dword [esi + 0x2b70]
comiss xmm5, xmm0
jae 0x1008c069
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0xb8], xmm0
fld qword [ebp - 0xb8]
fld qword [0x10151a58]
call fcn.100fb900
movss xmm0, dword [0x101519c4]
fstp qword [ebp - 0xb8]
movsd xmm1, qword [ebp - 0xb8]
cvtpd2ps xmm1, xmm1
comiss xmm0, xmm1
jae 0x1008c069
xor al, al
jmp 0x1008c06b
mov al, 1
movss xmm3, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x1c]
movss xmm6, dword [0x101519fc]
addss xmm3, dword [ebp - 0xf8]
movss xmm4, dword [ecx]
addss xmm4, dword [ebp - 0x40]
subss xmm3, dword [0x1013df4c]
subss xmm4, dword [ebp - 0x30]
movss dword [ebp - 0x34], xmm3
movaps xmm0, xmm3
movaps xmm1, xmm3
subss xmm0, dword [esi + 0x18bc]
movss dword [ebp - 0x74], xmm4
movaps xmm2, xmm4
movss dword [ebp - 0xa8], xmm4
addss xmm2, xmm6
subss xmm1, dword [0x10151a30]
addss xmm0, dword [0x1015199c]
movss dword [ebp - 0xa0], xmm2
movss dword [ebp - 0x9c], xmm1
movss dword [ebp - 0xa4], xmm0
test al, al
je 0x1008c16e
comiss xmm1, dword [ebp - 0x80]
jbe 0x1008c16e
movss xmm5, dword [ebp - 0x60]
comiss xmm5, xmm0
jbe 0x1008c16e
comiss xmm2, dword [ebp - 0x84]
jbe 0x1008c16e
movss xmm0, dword [ebp - 0x4c]
comiss xmm0, xmm4
jbe 0x1008c16e
sub esp, 8
movss dword [ebp - 0xcc], xmm1
movaps xmm1, xmm6
movss dword [ebp - 0xd0], xmm4
xor ecx, ecx
mov dword [esp + 4], 0x3f800000
call fcn.1006cdb0
add esp, 4
push eax
lea eax, [ebp - 0xd0]
push eax
lea eax, [ebp - 0xa8]
push eax
mov eax, dword [ebp - 0x48]
mov ecx, dword [eax + 0x270]
call fcn.100a9350
movss xmm3, dword [ebp - 0x34]
movss xmm4, dword [ebp - 0x74]
movss xmm6, dword [0x101519fc]
cmp byte [ebp - 0x44], 0
je 0x1008b6a3
subss xmm3, dword [esi + 0x18bc]
subss xmm4, xmm6
movss dword [esi + 0x2c1c], xmm3
movss dword [esi + 0x2c18], xmm4
jmp 0x1008b6a3