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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x118
mov eax, dword [0x1008f080]
xor eax, esp
mov dword [esp + 0x114], eax
push esi
push edi
mov edi, dword [0x1008fb10]
mov dword [esp + 0xa4], ecx
mov ecx, edi
mov dword [esp + 0x40], edx
mov dword [esp + 0xc], ecx
mov eax, dword [ecx + 0x1804]
mov byte [eax + 0x8e], 1
mov esi, dword [ecx + 0x1804]
mov dword [esp + 0x24], esi
cmp byte [esi + 0x90], 0
jne 0x1001d7cc
mov edx, dword [ebp + 0x10]
mov eax, edx
shr eax, 0xe
mov ecx, edx
not al
shr ecx, 0x14
and eax, 0xffffff01
and ecx, 0xffffff01
mov dword [esp + 0x44], eax
mov eax, edx
shr eax, 0xf
and eax, 0xffffff01
mov dword [esp + 0x3c], ecx
mov dword [esp + 0xa0], eax
mov eax, edx
shr eax, 0x10
not al
and eax, 0xffffff01
mov dword [esp + 0x48], eax
test cl, cl
je 0x1001d3f9
call fcn.10022a60
mov edi, dword [0x1008fb10]
mov ecx, dword [esi + 0x1a4]
xor edx, edx
mov eax, dword [esi + 0x1ac]
push dword [eax + ecx*4 - 4]
mov ecx, dword [esp + 0xa8]
call fcn.1000dc10
add esp, 4
mov dword [esp + 0x10], eax
cmp dword [edi + 0x1824], eax
jne 0x1001d42d
mov byte [edi + 0x1830], 1
mov eax, dword [esp + 0xa4]
mov ecx, eax
cmp eax, 0xffffffff
jae 0x1001d456
nop dword [eax + eax]
mov dl, byte [ecx]
test dl, dl
je 0x1001d456
cmp dl, 0x23
jne 0x1001d450
cmp byte [ecx + 1], dl
je 0x1001d456
inc ecx
cmp ecx, 0xffffffff
jb 0x1001d440
movss xmm0, dword [edi + 0x1734]
movss xmm1, dword [0x10082c9c]
mov esi, dword [edi + 0x1730]
movss dword [esp + 0xa8], xmm0
movss dword [esp + 0xb4], xmm1
cmp eax, ecx
jne 0x1001d490
xorps xmm5, xmm5
movss dword [esp + 0xac], xmm5
jmp 0x1001d4f3
movss xmm3, dword [0x10082c90]
movaps xmm2, xmm0
push ecx
push ecx
push eax
push ecx
lea eax, [esp + 0x7c]
mov dword [esp], 0xbf800000
push eax
mov ecx, esi
call fcn.10030200
movss xmm1, dword [esp + 0x6c]
xorps xmm5, xmm5
comiss xmm1, xmm5
jbe 0x1001d4d1
movss xmm0, dword [esp + 0xa8]
divss xmm0, dword [esi]
subss xmm1, xmm0
addss xmm1, dword [0x10082b78]
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp + 0xac], xmm0
movss xmm0, dword [esp + 0x70]
cmp byte [esp + 0x3c], 0
mov eax, dword [ebp + 0xc]
movss xmm7, dword [eax]
movss xmm6, dword [eax + 4]
movss dword [esp + 0x5c], xmm7
movss dword [esp + 0x60], xmm6
je 0x1001d522
movss xmm0, dword [edi + 0x1734]
mulss xmm0, dword [0x10082c08]
mov eax, dword [esp + 0xc]
mov esi, dword [edi + 0x1804]
movss xmm3, dword [eax + 0x1424]
movss xmm2, dword [esi + 0x144]
addss xmm3, xmm3
comiss xmm5, xmm2
addss xmm3, xmm0
movss xmm0, dword [0x10082b80]
jbe 0x1001d5bd
movss xmm4, dword [esi + 0xd8]
mov ecx, dword [esi + 0x1a0]
movss xmm1, dword [esi + 0x4c]
subss xmm4, dword [esi + 0x14]
test ecx, ecx
je 0x1001d5ae
mov edx, dword [ecx + 0xc]
movss xmm0, dword [ecx + 0x14]
lea eax, [edx + 1]
test eax, eax
cmovns edx, eax
lea ecx, [edx*8]
sub ecx, edx
mov edx, dword [esi + 0x1a0]
movss xmm1, dword [edx + 0x18]
mov eax, dword [edx + 0x34]
subss xmm1, xmm0
mulss xmm1, dword [eax + ecx*4]
addss xmm1, xmm0
movss xmm0, dword [0x10082b80]
subss xmm1, dword [esi + 0x54]
subss xmm1, xmm4
addss xmm1, xmm2
movaps xmm2, xmm0
maxss xmm2, xmm1
comiss xmm5, xmm7
cvttss2si eax, xmm2
xorps xmm2, xmm2
xorps xmm1, xmm1
movd xmm4, eax
cvtdq2ps xmm4, xmm4
ja 0x1001d5d8
comiss xmm5, xmm6
jbe 0x1001d631
mov ecx, dword [esi + 0x1a0]
movss xmm1, dword [esi + 0x4c]
movss xmm2, dword [esi + 0x50]
test ecx, ecx
je 0x1001d625
mov edx, dword [ecx + 0xc]
movss xmm0, dword [ecx + 0x14]
lea eax, [edx + 1]
test eax, eax
cmovns edx, eax
lea ecx, [edx*8]
sub ecx, edx
mov edx, dword [esi + 0x1a0]
movss xmm1, dword [edx + 0x18]
mov eax, dword [edx + 0x34]
subss xmm1, xmm0
mulss xmm1, dword [eax + ecx*4]
addss xmm1, xmm0
subss xmm1, dword [esi + 0x54]
mov eax, esi
addss xmm1, dword [eax + 0x14]
addss xmm2, dword [eax + 0x18]
comiss xmm5, xmm7
movss xmm0, dword [0x10082bf0]
jb 0x1001d66b
ucomiss xmm7, xmm5
lahf
test ah, 0x44
jp 0x1001d652
movaps xmm7, xmm4
movss dword [esp + 0x5c], xmm7
jmp 0x1001d66b
subss xmm1, dword [esi + 0xd8]
maxss xmm1, xmm0
addss xmm1, xmm7
movaps xmm7, xmm1
movss dword [esp + 0x5c], xmm1
comiss xmm5, xmm6
jb 0x1001d69d
ucomiss xmm6, xmm5
lahf
test ah, 0x44
jp 0x1001d684
movaps xmm6, xmm3
movss dword [esp + 0x60], xmm6
jmp 0x1001d69d
subss xmm2, dword [esi + 0xdc]
maxss xmm2, xmm0
addss xmm2, xmm6
movaps xmm6, xmm2
movss dword [esp + 0x60], xmm2
mov eax, dword [esp + 0x24]
movaps xmm1, xmm6
movss xmm0, dword [esp + 0xac]
comiss xmm0, xmm5
mov esi, dword [esp + 0xc]
movss xmm3, dword [eax + 0xd8]
movss xmm4, dword [eax + 0xdc]
addss xmm7, xmm3
addss xmm1, xmm4
movss dword [esp + 0x9c], xmm3
movss dword [esp + 0x78], xmm4
movss dword [esp + 0x100], xmm3
movss dword [esp + 0x104], xmm4
movss dword [esp + 0xbc], xmm7
movss dword [esp + 0x108], xmm7
movss dword [esp + 0x10c], xmm1
jbe 0x1001d717
movaps xmm2, xmm0
addss xmm2, dword [esi + 0x1438]
jmp 0x1001d71a
xorps xmm2, xmm2
cmp byte [esp + 0x3c], 0
movaps xmm0, xmm7
addss xmm0, xmm2
movss dword [esp + 0xf0], xmm3
movaps xmm2, xmm1
movss dword [esp + 0xf4], xmm4
addss xmm2, xmm5
mov dword [esp + 0x54], eax
movss dword [esp + 0xf8], xmm0
movss dword [esp + 0xfc], xmm2
je 0x1001d815
movaps xmm0, xmm7
subss xmm1, xmm4
subss xmm0, xmm3
push ecx
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x70]
movss dword [esp + 0x74], xmm1
movss dword [esp + 0x70], xmm0
call fcn.100136d0
add esp, 4
test al, al
jne 0x1001d7e2
call fcn.10013490
mov ecx, 3
call fcn.10018d60
mov esi, dword [0x1008fb10]
mov eax, dword [esi + 0x1844]
mov ecx, dword [esi + 0x184c]
lea edx, [eax + eax*4]
mov eax, dword [ecx + edx*4 - 0x14]
movups xmm0, xmmword [ecx + edx*4 - 0x10]
add eax, 0x148
shl eax, 4
add eax, esi
movups xmmword [eax], xmm0
dec dword [esi + 0x1844]
call fcn.10022b70
xor al, al
pop edi
pop esi
mov ecx, dword [esp + 0x114]
xor ecx, esp
call fcn.10046e53
mov esp, ebp
pop ebp
ret
mov edi, dword [0x1008fb10]
movss xmm7, dword [esp + 0x5c]
mov eax, dword [edi + 0x1804]
mov byte [eax + 0x8e], 1
mov eax, dword [edi + 0x1804]
mov dword [esp + 0x54], eax
subss xmm7, dword [eax + 0x84]
movss dword [esp + 0x5c], xmm7
jmp 0x1001d852
movss xmm1, dword [esi + 0x1424]
subss xmm0, xmm3
subss xmm2, xmm4
lea ecx, [esp + 0x6c]
movss dword [esp + 0x6c], xmm0
movss dword [esp + 0x70], xmm2
call fcn.1000ef90
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0xf0]
call fcn.1000f100
test al, al
je 0x1001d7cc
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x100]
call fcn.1000f230
mov byte [esp + 0x32], al
test al, al
je 0x1001d874
mov dword [esi + 0x1988], 1
cmp byte [esp + 0xa0], 0
je 0x1001d911
mov esi, dword [esi + 0x1730]
cmp dword [esi + 0x28], 0x2a
jle 0x1001d8aa
mov eax, dword [esi + 0x30]
mov ecx, 0xffff
movzx eax, word [eax + 0x54]
cmp ax, cx
je 0x1001d8aa
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x18]
lea edi, [eax + ecx*8]
jmp 0x1001d8ad
mov edi, dword [esi + 0x34]
mov eax, dword [esi]
mov edx, dword [esp + 0xc]
add edx, 0x26c8
mov dword [edx], eax
mov eax, dword [esi + 4]
mov esi, dword [esp + 0xc]
mov dword [edx + 4], eax
mov eax, dword [esi + 0x1730]
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 + 0x1730]
mov eax, dword [eax + 0x48]
mov dword [edx + 0x48], eax
mov eax, dword [esi + 0x1730]
mov eax, dword [eax + 0x4c]
mov dword [edx + 0x4c], eax
mov eax, dword [esi + 0x1730]
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.10018ab0
mov edi, dword [0x1008fb10]
mov edx, dword [esp + 0x10]
add esi, 0x19f4
test dword [ebp + 0x10], 0x440
mov ecx, dword [esp + 0x24]
sete al
mov dword [esp + 0x18], esi
movzx eax, al
push eax
call fcn.1000f3b0
add esp, 4
mov byte [esp + 0x2b], al
test al, al
je 0x1001d9ca
mov edx, dword [esp + 0x24]
mov ecx, dword [edx + 0x244]
cmp ecx, dword [edx + 0x24c]
jne 0x1001d9ca
mov byte [esp + 0x2a], 1
mov byte [esp + 0x31], 0
cmp byte [esp + 0x32], 0
mov edx, dword [esp + 0xc]
je 0x1001d97a
cmp byte [edx + 0x374], 0
mov byte [esp + 0x17], 1
jne 0x1001d97f
mov byte [esp + 0x17], 0
cmp byte [esp + 0x3c], 0
je 0x1001d9df
cmp dword [edx + 0x1824], 0
jne 0x1001d9df
mov eax, dword [esp + 0x10]
cmp dword [esi], eax
jne 0x1001d9df
mov eax, dword [esp + 0x54]
xor edx, edx
mov ecx, dword [eax + 0x1a4]
mov eax, dword [eax + 0x1ac]
push dword [eax + ecx*4 - 4]
mov ecx, str.SCROLLY
call fcn.1000dc10
mov edx, dword [esp + 0x10]
add esp, 4
cmp dword [edx + 0x1828], eax
jne 0x1001d9df
mov al, 1
jmp 0x1001d9e1
mov byte [esp + 0x2a], 0
test al, al
je 0x1001d95c
mov byte [esp + 0x31], 1
mov byte [esp + 0x2a], 0
jmp 0x1001d961
xor al, al
mov ecx, dword [edx + 0x1824]
mov byte [esp + 0x33], 0
cmp ecx, dword [esp + 0x10]
je 0x1001d9fd
test byte [ebp + 0x10], 0x10
mov byte [esp + 0x2c], 1
jne 0x1001da02
mov byte [esp + 0x2c], 0
cmp byte [esp + 0x2b], 0
mov dword [esp + 0xa8], 1
jne 0x1001da35
cmp byte [esp + 0x17], 0
jne 0x1001da35
test al, al
jne 0x1001da35
cmp byte [edx + 0x374], al
je 0x1001dc4f
mov byte [esp + 0x33], 1
jmp 0x1001dc4f
mov eax, dword [esp + 0x10]
cmp ecx, eax
je 0x1001dbf9
mov eax, dword [esi + 0x2c]
mov ecx, dword [ebp + 8]
inc ecx
mov dword [esp + 0x68], eax
mov eax, dword [esi + 8]
mov dword [esp + 0x20], ecx
cmp ecx, eax
jle 0x1001da88
lea edi, [esi + 4]
test eax, eax
je 0x1001da6a
cdq
sub eax, edx
mov edx, eax
sar edx, 1
add edx, dword [edi + 4]
jmp 0x1001da6f
mov edx, 8
cmp edx, ecx
mov eax, ecx
mov ecx, edi
cmovg eax, edx
push eax
call fcn.100240c0
mov edi, dword [0x1008fb10]
mov ecx, dword [esp + 0x20]
mov dword [esi + 4], ecx
mov eax, dword [esi + 0x14]
cmp ecx, eax
jle 0x1001dac3
lea edi, [esi + 0x10]
test eax, eax
je 0x1001daa5
cdq
sub eax, edx
mov edx, eax
sar edx, 1
add edx, dword [edi + 4]
jmp 0x1001daaa
mov edx, 8
cmp edx, ecx
mov eax, ecx
mov ecx, edi
cmovg eax, edx
push eax
call fcn.10024050
mov edi, dword [0x1008fb10]
mov ecx, dword [esp + 0x20]
mov dword [esi + 0x10], ecx
mov eax, dword [esi + 0x18]
mov dword [esp + 0x50], eax
cmp ecx, 1
jb 0x1001daf1
push ecx
push dword [esp + 0x44]
push eax
call fcn.10051e70
mov eax, dword [esp + 0x5c]
add esp, 0xc
mov ecx, dword [ebp + 8]
mov edi, dword [0x1008fb10]
mov byte [ecx + eax], 0
mov edx, dword [esi + 4]
lea eax, [esp + 0x20]
push eax
push ecx
push dword [esp + 0x48]
mov ecx, dword [esi + 0xc]
mov dword [esp + 0x2c], 0
call fcn.1000dec0
mov ecx, dword [esp + 0x2c]
mov edx, eax
sub ecx, dword [esp + 0x4c]
add esp, 0xc
mov eax, dword [esp + 0x10]
mov dword [esi + 0x2c], edx
mov dword [esi + 0x28], ecx
mov dword [esi + 0xccc], 0xbe99999a
cmp dword [esi], eax
jne 0x1001db61
cmp dword [esp + 0x68], edx
jne 0x1001db61
cmp dword [esi + 0x38], edx
mov ecx, edx
cmovl ecx, dword [esi + 0x38]
cmp dword [esi + 0x3c], edx
mov dword [esi + 0x38], ecx
mov ecx, edx
cmovl ecx, dword [esi + 0x3c]
cmp dword [esi + 0x40], edx
mov dword [esi + 0x3c], ecx
cmovl edx, dword [esi + 0x40]
mov ecx, dword [esp + 0x3c]
mov dword [esi + 0x40], edx
jmp 0x1001dbc7
mov ecx, dword [esp + 0x3c]
mov dword [esi], eax
mov al, cl
mov dword [esi + 0x34], 0
xor al, 1
mov dword [esi + 0xcc2], 0x630000
mov dword [esi + 0xcc6], 0x3e70000
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 0x1001dbc7
mov edx, dword [esp + 0x2c]
cmp byte [esp + 0x2a], cl
movzx edx, dl
cmovne edx, dword [esp + 0xa8]
mov dword [esp + 0x2c], edx
test dword [ebp + 0x10], 0x2000
je 0x1001dbd4
mov byte [esi + 0x44], 1
test cl, cl
jne 0x1001dbf5
cmp byte [esp + 0x31], cl
jne 0x1001dbf0
cmp byte [esp + 0x17], cl
je 0x1001dbf5
mov eax, dword [esp + 0xc]
cmp byte [eax + 0xe9], cl
je 0x1001dbf5
mov byte [esp + 0x2c], 1
mov eax, dword [esp + 0x10]
mov ecx, dword [edi + 0x1824]
cmp ecx, eax
setne al
mov byte [edi + 0x1831], al
mov eax, dword [esp + 0x10]
cmp ecx, eax
je 0x1001dc1c
mov dword [edi + 0x182c], 0
test eax, eax
mov dword [edi + 0x1824], eax
mov byte [edi + 0x1832], 0
setne al
or byte [edi + 0x1830], al
mov eax, dword [esp + 0x24]
mov ecx, eax
mov dword [edi + 0x183c], eax
call fcn.10018970
mov edi, dword [0x1008fb10]
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
movss xmm0, dword [0x10082b5c]
mov byte [esp + 0x4f], 0
mov byte [esp + 0x31], 0
cmp dword [edx + 0x1824], eax
jne 0x1001dfc9
cmp byte [esp + 0x44], 0
jne 0x1001dd35
cmp byte [edx + 0x1831], 0
jne 0x1001dd35
mov ecx, dword [ebp + 8]
mov eax, dword [esi + 8]
lea edx, [ecx + 1]
mov dword [esp + 0x20], edx
cmp edx, eax
jle 0x1001dcd7
lea edi, [esi + 4]
test eax, eax
je 0x1001dcb1
cdq
sub eax, edx
mov edx, dword [esp + 0x20]
mov ecx, eax
sar ecx, 1
add ecx, dword [edi + 4]
jmp 0x1001dcb6
mov ecx, 8
cmp ecx, edx
mov eax, edx
cmovg eax, ecx
mov ecx, edi
push eax
call fcn.100240c0
mov edi, dword [0x1008fb10]
movss xmm0, dword [0x10082b5c]
mov edx, dword [esp + 0x20]
lea eax, [esp + 0x20]
mov dword [esi + 4], edx
push eax
push ecx
push dword [esp + 0x48]
mov ecx, dword [esi + 0xc]
mov dword [esp + 0x2c], 0
call fcn.1000dec0
mov ecx, dword [esp + 0x2c]
mov esi, eax
mov eax, dword [esp + 0x24]
add esp, 0xc
sub ecx, dword [esp + 0x40]
mov edx, esi
cmp dword [eax + 0x38], esi
mov dword [eax + 0x28], ecx
mov ecx, esi
cmovl edx, dword [eax + 0x38]
cmp dword [eax + 0x3c], esi
mov dword [eax + 0x38], edx
mov edx, eax
cmovl ecx, dword [eax + 0x3c]
mov dword [eax + 0x2c], esi
cmp dword [edx + 0x40], esi
mov dword [edx + 0x3c], ecx
cmovl esi, dword [edx + 0x40]
mov dword [edx + 0x40], esi
mov esi, eax
mov edx, dword [esp + 0xc]
mov eax, dword [ebp + 8]
mov dword [esi + 0x30], eax
cmp byte [edx + 0xd8], 0
mov dword [edx + 0x2994], 1
sete al
cmp byte [esp + 0x3c], 0
mov byte [edx + 0x1832], al
movss xmm1, dword [edx + 0xd0]
subss xmm1, dword [esp + 0x9c]
subss xmm1, dword [edx + 0x1420]
addss xmm1, dword [esi + 0x34]
je 0x1001dd98
mov eax, dword [esp + 0x54]
movss xmm2, dword [edx + 0xd4]
subss xmm2, dword [eax + 0xdc]
subss xmm2, dword [edx + 0x1424]
jmp 0x1001dda4
movss xmm2, dword [edx + 0x1734]
mulss xmm2, xmm0
cmp byte [esp + 0x2c], 0
mov al, byte [edx + 0xac]
jne 0x1001dee3
mov cl, byte [esp + 0x32]
test cl, cl
je 0x1001ddcd
test al, al
jne 0x1001de16
cmp byte [edx + 0x379], al
jne 0x1001dee3
cmp byte [edx + 0x374], 0
je 0x1001de7a
cmp byte [esi + 0xcd1], 0
jne 0x1001de7a
test cl, cl
je 0x1001defe
mov ecx, esi
call fcn.1001bb70
mov edx, dword [esp + 0xc]
mov dword [esi + 0x38], eax
mov dword [esi + 0x3c], eax
mov dword [esi + 0x40], eax
mov byte [esi + 0x47], 0
mov dword [esi + 0xccc], 0xbe99999a
jmp 0x1001defe
cmp byte [edx + 0x379], 0
je 0x1001ddcd
mov edi, dword [esp + 0x18]
lea edx, [esi + 0x38]
push 0x1000c
mov ecx, edi
call fcn.1001bf90
add esp, 4
mov byte [edi + 0xcd0], 1
lea edx, [esi + 0x38]
mov dword [edi + 0xccc], 0xbe99999a
mov esi, edi
mov ecx, esi
push 0x3000d
call fcn.1001bf90
mov edi, dword [0x1008fb10]
add esp, 4
mov edx, dword [esp + 0xc]
mov byte [esi + 0xcd0], 1
mov dword [esi + 0xccc], 0xbe99999a
jmp 0x1001defe
cmp byte [edx + 0xd8], 0
je 0x1001defe
cmp byte [esi + 0xcd1], 0
jne 0x1001df07
movss xmm0, dword [edx + 0x328]
xorps xmm3, xmm3
ucomiss xmm0, xmm3
lahf
test ah, 0x44
jp 0x1001deb1
movss xmm0, dword [edx + 0x32c]
ucomiss xmm0, xmm3
lahf
test ah, 0x44
jnp 0x1001defe
mov ecx, esi
call fcn.1001bb70
mov ecx, dword [esi + 0x3c]
cmp ecx, dword [esi + 0x40]
jne 0x1001dec6
mov ecx, dword [esi + 0x38]
mov dword [esi + 0x3c], ecx
mov edx, dword [esp + 0xc]
mov dword [esi + 0x40], eax
mov dword [esi + 0x38], eax
mov dword [esi + 0xccc], 0xbe99999a
mov byte [esi + 0xcd0], 1
jmp 0x1001defe
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x3c], 0
mov dword [esi + 0x40], eax
mov dword [esi + 0x38], eax
mov byte [esi + 0x47], 0
mov byte [esi + 0xcd1], 1
cmp byte [esi + 0xcd1], 0
je 0x1001df17
cmp byte [edx + 0xd8], 0
jne 0x1001df17
mov byte [esi + 0xcd1], 0
cmp word [edx + 0x2ee], 0
lea eax, [edx + 0x2ee]
mov dword [esp + 0x64], eax
je 0x1001dfc9
cmp byte [edx + 0xe9], 0
je 0x1001df41
cmp byte [edx + 0xeb], 0
je 0x1001dfaf
cmp byte [esp + 0x44], 0
je 0x1001dfaf
xor edi, edi
nop word [eax + eax]
movzx eax, word [eax]
test ax, ax
je 0x1001dfa5
mov edx, dword [ebp + 0x10]
lea ecx, [esp + 0x20]
sub esp, 8
mov dword [esp + 0x28], eax
call fcn.1001d1c0
add esp, 8
test al, al
je 0x1001df94
push dword [esp + 0x20]
lea edx, [esi + 0x38]
mov ecx, esi
call fcn.1001bf90
add esp, 4
mov byte [esi + 0xcd0], 1
mov dword [esi + 0xccc], 0xbe99999a
mov eax, dword [esp + 0x64]
inc edi
add eax, 2
mov dword [esp + 0x64], eax
cmp edi, 0x11
jl 0x1001df50
mov edi, dword [0x1008fb10]
mov edx, dword [esp + 0xc]
xorps xmm0, xmm0
movups xmmword [edx + 0x2ee], xmm0
movups xmmword [edx + 0x2fe], xmm0
mov word [edx + 0x30e], 0
mov ecx, dword [esp + 0x10]
xor al, al
mov byte [esp + 0xb], al
cmp dword [edx + 0x1824], ecx
jne 0x1001f58a
cmp byte [edx + 0x1831], al
jne 0x1001f58a
cmp byte [esp + 0x33], al
jne 0x1001f58a
mov cl, byte [edx + 0xea]
xor eax, eax
mov dl, byte [edx + 0xac]
test cl, cl
mov dword [esp + 0x50], 0x20000
cmovne eax, dword [esp + 0x50]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc]
test dl, dl
je 0x1001e043
cmp byte [eax + 0xec], 0
je 0x1001e037
cmp byte [eax + 0xe9], 0
jne 0x1001e037
mov eax, 1
jmp 0x1001e039
xor eax, eax
test eax, eax
je 0x1001e066
mov eax, dword [esp + 0xc]
jmp 0x1001e055
cmp byte [eax + 0xe9], 0
je 0x1001e066
cmp byte [eax + 0xec], 0
jne 0x1001e066
cmp byte [eax + 0xeb], 0
jne 0x1001e066
test cl, cl
jne 0x1001e066
mov ah, 1
jmp 0x1001e068
xor ah, ah
test dl, dl
mov byte [esp + 0x2a], ah
mov edx, dword [esp + 0xc]
je 0x1001e0db
cmp byte [edx + 0xec], 0
mov al, byte [edx + 0xeb]
mov byte [esp + 0x17], al
je 0x1001e0e5
cmp byte [edx + 0xe9], 0
mov byte [esp + 0x17], al
jne 0x1001e0e5
mov byte [esp + 0x17], al
test al, al
jne 0x1001e0e5
mov cl, byte [edx + 0xe9]
mov byte [esp + 0x1f], 1
mov byte [esp + 0x17], al
mov edi, dword [esp + 0xc]
xor dl, dl
cmp byte [edi + 0xea], dl
mov edi, dword [0x1008fb10]
je 0x1001e125
test cl, cl
jne 0x1001e125
mov ecx, dword [esp + 0xc]
cmp byte [ecx + 0xeb], dl
jne 0x1001e125
cmp byte [ecx + 0xec], dl
jne 0x1001e125
mov dh, 1
jmp 0x1001e127
mov al, byte [edx + 0xe9]
mov byte [esp + 0x17], al
mov cl, byte [edx + 0xe9]
mov byte [esp + 0x1f], 0
test cl, cl
je 0x1001e0ab
cmp byte [edx + 0xea], 0
mov byte [esp + 0x1f], 0
jne 0x1001e0ab
cmp byte [edx + 0xeb], 0
mov byte [esp + 0x1f], 0
jne 0x1001e0ab
cmp byte [edx + 0xec], 0
mov byte [esp + 0x1f], 0
jne 0x1001e0ab
mov dl, 1
mov byte [esp + 0x1f], 0
xor dh, dh
xorps xmm4, xmm4
test ah, ah
je 0x1001e1c4
mov eax, dword [edi + 0x6c]
test eax, eax
js 0x1001e1c4
movss xmm1, dword [edi + eax*4 + 0x3ec]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1001e153
mov al, 1
jmp 0x1001e1bc
movss xmm2, dword [edi + 0x78]
comiss xmm1, xmm2
jbe 0x1001e1ba
movss xmm3, dword [edi + 0x7c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1001e177
mov eax, 1
test eax, eax
setg al
jmp 0x1001e1bc
comiss xmm2, xmm1
jae 0x1001e1b1
comiss xmm4, xmm3
jae 0x1001e1b1
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0xc]
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
test eax, eax
setg al
jmp 0x1001e1bc
xor eax, eax
test eax, eax
setg al
jmp 0x1001e1bc
xor al, al
test al, al
jne 0x1001e25a
test dh, dh
je 0x1001e281
mov eax, dword [edi + 0x50]
test eax, eax
js 0x1001e281
movss xmm1, dword [edi + eax*4 + 0x3ec]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1001e1ed
mov al, 1
jmp 0x1001e256
movss xmm2, dword [edi + 0x78]
comiss xmm1, xmm2
jbe 0x1001e254
movss xmm3, dword [edi + 0x7c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1001e211
mov eax, 1
test eax, eax
setg al
jmp 0x1001e256
comiss xmm2, xmm1
jae 0x1001e24b
comiss xmm4, xmm3
jae 0x1001e24b
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0xc]
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
test eax, eax
setg al
jmp 0x1001e256
xor eax, eax
test eax, eax
setg al
jmp 0x1001e256
xor al, al
test al, al
je 0x1001e281
cmp byte [esp + 0x44], 0
je 0x1001e281
cmp byte [esp + 0xa0], 0
jne 0x1001e281
cmp byte [esp + 0x3c], 0
je 0x1001e27a
mov eax, dword [esi + 0x3c]
cmp eax, dword [esi + 0x40]
je 0x1001e281
mov byte [esp + 0x32], 1
jmp 0x1001e286
mov byte [esp + 0x32], 0
cmp byte [esp + 0x2a], 0
je 0x1001e323
mov eax, dword [edi + 0x64]
test eax, eax
js 0x1001e323
movss xmm1, dword [edi + eax*4 + 0x3ec]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1001e2b2
mov al, 1
jmp 0x1001e31b
movss xmm2, dword [edi + 0x78]
comiss xmm1, xmm2
jbe 0x1001e319
movss xmm3, dword [edi + 0x7c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1001e2d6
mov eax, 1
test eax, eax
setg al
jmp 0x1001e31b
comiss xmm2, xmm1
jae 0x1001e310
comiss xmm4, xmm3
jae 0x1001e310
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0xc]
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
test eax, eax
setg al
jmp 0x1001e31b
xor eax, eax
test eax, eax
setg al
jmp 0x1001e31b
xor al, al
test al, al
jne 0x1001e3b9
test dl, dl
je 0x1001e3d9
mov eax, dword [edi + 0x4c]
test eax, eax
js 0x1001e3d9
movss xmm1, dword [edi + eax*4 + 0x3ec]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1001e34c
mov al, 1
jmp 0x1001e3b5
movss xmm2, dword [edi + 0x78]
comiss xmm1, xmm2
jbe 0x1001e3b3
movss xmm3, dword [edi + 0x7c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1001e370
mov eax, 1
test eax, eax
setg al
jmp 0x1001e3b5
comiss xmm2, xmm1
jae 0x1001e3aa
comiss xmm4, xmm3
jae 0x1001e3aa
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0xc]
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
test eax, eax
setg al
jmp 0x1001e3b5
xor eax, eax
test eax, eax
setg al
jmp 0x1001e3b5
xor al, al
test al, al
je 0x1001e3d9
cmp byte [esp + 0xa0], 0
jne 0x1001e3d9
cmp byte [esp + 0x3c], 0
je 0x1001e3d2
mov eax, dword [esi + 0x3c]
cmp eax, dword [esi + 0x40]
je 0x1001e3d9
mov byte [esp + 0x2b], 1
jmp 0x1001e3de
mov byte [esp + 0x2b], 0
cmp byte [esp + 0x2a], 0
je 0x1001e47b
mov eax, dword [edi + 0x68]
test eax, eax
js 0x1001e47b
movss xmm1, dword [edi + eax*4 + 0x3ec]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1001e40a
mov al, 1
jmp 0x1001e473
movss xmm2, dword [edi + 0x78]
comiss xmm1, xmm2
jbe 0x1001e471
movss xmm3, dword [edi + 0x7c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1001e42e
mov eax, 1
test eax, eax
setg al
jmp 0x1001e473
comiss xmm2, xmm1
jae 0x1001e468
comiss xmm4, xmm3
jae 0x1001e468
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0xc]
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
test eax, eax
setg al
jmp 0x1001e473
xor eax, eax
test eax, eax
setg al
jmp 0x1001e473
xor al, al
test al, al
jne 0x1001e511
test dh, dh
je 0x1001e51c
mov eax, dword [edi + 0x4c]
test eax, eax
js 0x1001e51c
movss xmm1, dword [edi + eax*4 + 0x3ec]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1001e4a4
mov al, 1
jmp 0x1001e50d
movss xmm2, dword [edi + 0x78]
comiss xmm1, xmm2
jbe 0x1001e50b
movss xmm3, dword [edi + 0x7c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1001e4c8
mov eax, 1
test eax, eax
setg al
jmp 0x1001e50d
comiss xmm2, xmm1
jae 0x1001e502
comiss xmm4, xmm3
jae 0x1001e502
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0xc]
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
test eax, eax
setg al
jmp 0x1001e50d
xor eax, eax
test eax, eax
setg al
jmp 0x1001e50d
xor al, al
test al, al
je 0x1001e51c
cmp byte [esp + 0x44], 0
je 0x1001e51c
mov dl, 1
jmp 0x1001e51e
xor dl, dl
mov eax, dword [edi + 0x2c]
test eax, eax
js 0x1001e71b
movss xmm1, dword [edi + eax*4 + 0x3ec]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1001e53f
mov al, 1
jmp 0x1001e5a8
movss xmm2, dword [edi + 0x78]
comiss xmm1, xmm2
jbe 0x1001e5a6
movss xmm3, dword [edi + 0x7c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1001e563
mov eax, 1
test eax, eax
setg al
jmp 0x1001e5a8
comiss xmm2, xmm1
jae 0x1001e59d
comiss xmm4, xmm3
jae 0x1001e59d
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0xc]
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
test eax, eax
setg al
jmp 0x1001e5a8
xor eax, eax
test eax, eax
setg al
jmp 0x1001e5a8
xor al, al
test al, al
je 0x1001e71b
cmp byte [esp + 0x1f], 0
je 0x1001e5be
mov eax, 0x10004
jmp 0x1001e5d0
mov eax, 0x10000
mov ecx, 0x1000c
cmp byte [esp + 0x17], 0
cmovne eax, ecx
or eax, dword [esp + 0x34]
push eax
lea edx, [esi + 0x38]
mov ecx, esi
call fcn.1001bf90
add esp, 4
mov byte [esi + 0xcd0], 1
mov dword [esi + 0xccc], 0xbe99999a
mov edi, dword [0x1008fb10]
mov edx, dword [esp + 0xc]
mov al, byte [esp + 0xb]
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
cmp dword [edx + 0x1824], ecx
jne 0x1001e65f
test al, al
je 0x1001f593
cmp byte [esp + 0x44], 0
je 0x1001e64c
mov eax, dword [ebp + 8]
cmp eax, 1
jb 0x1001e647
mov edi, dword [esp + 0x40]
push eax
push dword [esi + 0x18]
push edi
call fcn.10051e70
mov eax, dword [ebp + 8]
add esp, 0xc
mov byte [edi + eax - 1], 0
mov edi, dword [0x1008fb10]
mov byte [esp + 0x4f], 1
cmp byte [esp + 0x31], 0
je 0x1001e65f
mov ecx, dword [ebp + 0x10]
test cl, 0x20
jne 0x1001f596
mov esi, dword [esp + 0x18]
cmp byte [esp + 0x33], 0
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
je 0x1001e6b8
cmp dword [edx + 0x1824], eax
jne 0x1001e6ce
mov ecx, dword [edi + 0x1824]
test ecx, ecx
setne al
mov byte [edi + 0x1831], al
test ecx, ecx
je 0x1001e699
mov dword [edi + 0x182c], 0
mov eax, dword [esp + 0x10]
mov dword [edi + 0x1824], 0
mov byte [edi + 0x1832], 0
mov dword [edi + 0x183c], 0
cmp dword [edx + 0x1824], eax
jne 0x1001e6ce
cmp byte [esp + 0x44], 0
je 0x1001e6ce
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x40], ecx
cmp byte [esp + 0x3c], 0
movss xmm4, dword [0x10082c64]
jne 0x1001fc17
movups xmm1, xmmword [edi + 0x14f0]
movss xmm6, dword [0x10082b80]
xorps xmm3, xmm3
comiss xmm3, xmm1
movaps xmm2, xmm1
movaps xmmword [esp + 0xf0], xmm1
shufps xmm2, xmm1, 0xff
mulss xmm2, dword [edi + 0x13ec]
jbe 0x1001face
xorps xmm0, xmm0
jmp 0x1001fad5
mov eax, dword [edi + 0x30]
test eax, eax
js 0x1001e7c7
movss xmm1, dword [edi + eax*4 + 0x3ec]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1001e73c
mov al, 1
jmp 0x1001e7a5
movss xmm2, dword [edi + 0x78]
comiss xmm1, xmm2
jbe 0x1001e7a3
movss xmm3, dword [edi + 0x7c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1001e760
mov eax, 1
test eax, eax
setg al
jmp 0x1001e7a5
comiss xmm2, xmm1
jae 0x1001e79a
comiss xmm4, xmm3
jae 0x1001e79a
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0xc]
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
test eax, eax
setg al
jmp 0x1001e7a5
xor eax, eax
test eax, eax
setg al
jmp 0x1001e7a5
xor al, al
test al, al
je 0x1001e7c7
cmp byte [esp + 0x1f], 0
je 0x1001e7ba
mov eax, 0x10005
jmp 0x1001e5d0
mov eax, 0x10001
lea ecx, [eax + 0xc]
jmp 0x1001e5c8
mov eax, dword [edi + 0x34]
test eax, eax
js 0x1001e8b0
movss xmm1, dword [edi + eax*4 + 0x3ec]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1001e7e8
mov al, 1
jmp 0x1001e851
movss xmm2, dword [edi + 0x78]
comiss xmm1, xmm2
jbe 0x1001e84f
movss xmm3, dword [edi + 0x7c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1001e80c
mov eax, 1
test eax, eax
setg al
jmp 0x1001e851
comiss xmm2, xmm1
jae 0x1001e846
comiss xmm4, xmm3
jae 0x1001e846
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0xc]
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
test eax, eax
setg al
jmp 0x1001e851
xor eax, eax
test eax, eax
setg al
jmp 0x1001e851
xor al, al
test al, al
je 0x1001e8b0
cmp byte [esp + 0x3c], 0
je 0x1001e8b0
mov edx, dword [esp + 0xc]
cmp byte [edx + 0xe9], 0
je 0x1001e89f
mov eax, dword [esp + 0x54]
movss xmm1, dword [eax + 0x6c]
movaps xmm0, xmm1
subss xmm0, dword [edx + 0x1734]
addss xmm1, dword [eax + 0xf4]
maxss xmm0, xmm4
subss xmm1, xmm0
movss dword [eax + 0x6c], xmm0
movss dword [eax + 0xf4], xmm1
jmp 0x1001e5fd
movzx eax, byte [esp + 0x1f]
lea eax, [eax*4 + 0x10002]
jmp 0x1001e5d0
mov eax, dword [edi + 0x38]
test eax, eax
js 0x1001e9bc
movss xmm1, dword [edi + eax*4 + 0x3ec]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1001e8d1
mov al, 1
jmp 0x1001e93a
movss xmm2, dword [edi + 0x78]
comiss xmm1, xmm2
jbe 0x1001e938
movss xmm3, dword [edi + 0x7c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1001e8f5
mov eax, 1
test eax, eax
setg al
jmp 0x1001e93a
comiss xmm2, xmm1
jae 0x1001e92f
comiss xmm4, xmm3
jae 0x1001e92f
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0xc]
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
test eax, eax
setg al
jmp 0x1001e93a
xor eax, eax
test eax, eax
setg al
jmp 0x1001e93a
xor al, al
test al, al
je 0x1001e9bc
cmp byte [esp + 0x3c], 0
je 0x1001e9bc
mov edx, dword [esp + 0xc]
cmp byte [edx + 0xe9], 0
je 0x1001e9ab
mov eax, dword [edi + 0x1804]
mov ecx, dword [esp + 0x54]
movss xmm0, dword [eax + 0x28]
subss xmm0, dword [eax + 0x88]
movss xmm1, dword [eax + 0x38]
movss xmm3, dword [ecx + 0x6c]
movaps xmm2, xmm3
addss xmm2, dword [edx + 0x1734]
addss xmm3, dword [ecx + 0xf4]
subss xmm1, xmm0
xorps xmm0, xmm0
maxss xmm0, xmm1
minss xmm2, xmm0
subss xmm3, xmm2
movss dword [ecx + 0x6c], xmm2
movss dword [ecx + 0xf4], xmm3
jmp 0x1001e5fd
movzx eax, byte [esp + 0x1f]
lea eax, [eax*4 + 0x10003]
jmp 0x1001e5d0
mov eax, dword [edi + 0x44]
test eax, eax
js 0x1001ea6f
movss xmm1, dword [edi + eax*4 + 0x3ec]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1001e9dd
mov al, 1
jmp 0x1001ea46
movss xmm2, dword [edi + 0x78]
comiss xmm1, xmm2
jbe 0x1001ea44
movss xmm3, dword [edi + 0x7c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1001ea01
mov eax, 1
test eax, eax
setg al
jmp 0x1001ea46
comiss xmm2, xmm1
jae 0x1001ea3b
comiss xmm4, xmm3
jae 0x1001ea3b
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0xc]
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
test eax, eax
setg al
jmp 0x1001ea46
xor eax, eax
test eax, eax
setg al
jmp 0x1001ea46
xor al, al
test al, al
je 0x1001ea6f
mov ecx, dword [esp + 0x34]
mov eax, ecx
mov edx, dword [esp + 0xc]
or eax, 0x10006
or ecx, 0x10004
cmp byte [edx + 0xe9], 0
cmovne ecx, eax
push ecx
jmp 0x1001e5d5
mov eax, dword [edi + 0x48]
test eax, eax
js 0x1001eb22
movss xmm1, dword [edi + eax*4 + 0x3ec]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1001ea90
mov al, 1
jmp 0x1001eaf9
movss xmm2, dword [edi + 0x78]
comiss xmm1, xmm2
jbe 0x1001eaf7
movss xmm3, dword [edi + 0x7c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1001eab4
mov eax, 1
test eax, eax
setg al
jmp 0x1001eaf9
comiss xmm2, xmm1
jae 0x1001eaee
comiss xmm4, xmm3
jae 0x1001eaee
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0xc]
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
test eax, eax
setg al
jmp 0x1001eaf9
xor eax, eax
test eax, eax
setg al
jmp 0x1001eaf9
xor al, al
test al, al
je 0x1001eb22
mov ecx, dword [esp + 0x34]
mov eax, ecx
mov edx, dword [esp + 0xc]
or eax, 0x10007
or ecx, 0x10005
cmp byte [edx + 0xe9], 0
cmovne ecx, eax
push ecx
jmp 0x1001e5d5
mov eax, dword [edi + 0x50]
test eax, eax
js 0x1001ebc7
movss xmm1, dword [edi + eax*4 + 0x3ec]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1001eb43
mov al, 1
jmp 0x1001ebac
movss xmm2, dword [edi + 0x78]
comiss xmm1, xmm2
jbe 0x1001ebaa
movss xmm3, dword [edi + 0x7c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1001eb67
mov eax, 1
test eax, eax
setg al
jmp 0x1001ebac
comiss xmm2, xmm1
jae 0x1001eba1
comiss xmm4, xmm3
jae 0x1001eba1
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0xc]
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
test eax, eax
setg al
jmp 0x1001ebac
xor eax, eax
test eax, eax
setg al
jmp 0x1001ebac
xor al, al
test al, al
je 0x1001ebc7
cmp byte [esp + 0x44], 0
je 0x1001ebc7
mov ecx, dword [esp + 0x34]
or ecx, 0x10008
push ecx
jmp 0x1001e5d5
mov eax, dword [edi + 0x54]
test eax, eax
js 0x1001eccd
movss xmm1, dword [edi + eax*4 + 0x3ec]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1001ebe8
mov al, 1
jmp 0x1001ec51
movss xmm2, dword [edi + 0x78]
comiss xmm1, xmm2
jbe 0x1001ec4f
movss xmm3, dword [edi + 0x7c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1001ec0c
mov eax, 1
test eax, eax
setg al
jmp 0x1001ec51
comiss xmm2, xmm1
jae 0x1001ec46
comiss xmm4, xmm3
jae 0x1001ec46
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0xc]
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
test eax, eax
setg al
jmp 0x1001ec51
xor eax, eax
test eax, eax
setg al
jmp 0x1001ec51
xor al, al
test al, al
je 0x1001eccd
cmp byte [esp + 0x44], 0
je 0x1001eccd
mov eax, dword [esi + 0x3c]
cmp eax, dword [esi + 0x40]
jne 0x1001ecbd
cmp byte [esp + 0x17], 0
je 0x1001ec72
push 0x3000c
jmp 0x1001ec9f
mov eax, dword [esp + 0xc]
cmp byte [eax + 0xac], 0
je 0x1001ecbd
cmp byte [eax + 0xec], 0
je 0x1001ecbd
cmp byte [eax + 0xeb], 0
jne 0x1001ecbd
cmp byte [eax + 0xe9], 0
jne 0x1001ecbd
push 0x30004
lea edx, [esi + 0x38]
mov ecx, esi
call fcn.1001bf90
mov dword [esi + 0xccc], 0xbe99999a
add esp, 4
mov byte [esi + 0xcd0], 1
mov ecx, dword [esp + 0x34]
or ecx, 0x10009
push ecx
jmp 0x1001e5d5
mov eax, dword [edi + 0x58]
test eax, eax
js 0x1001edc5
movss xmm1, dword [edi + eax*4 + 0x3ec]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1001ecee
mov al, 1
jmp 0x1001ed57
movss xmm2, dword [edi + 0x78]
comiss xmm1, xmm2
jbe 0x1001ed55
movss xmm3, dword [edi + 0x7c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1001ed12
mov eax, 1
test eax, eax
setg al
jmp 0x1001ed57
comiss xmm2, xmm1
jae 0x1001ed4c
comiss xmm4, xmm3
jae 0x1001ed4c
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0xc]
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
test eax, eax
setg al
jmp 0x1001ed57
xor eax, eax
test eax, eax
setg al
jmp 0x1001ed57
xor al, al
test al, al
je 0x1001edc5
mov eax, dword [ebp + 0x10]
mov edx, dword [esp + 0xc]
shr eax, 0xb
and al, 1
cmp byte [esp + 0x3c], 0
je 0x1001ed7c
mov cl, byte [edx + 0xe9]
test al, al
je 0x1001ed8b
test cl, cl
jne 0x1001ed8f
mov byte [esp + 0x33], 1
mov byte [esp + 0x31], 1
jmp 0x1001e5fd
test cl, cl
jne 0x1001ed7c
cmp byte [esp + 0x44], 0
je 0x1001e5fd
mov edx, dword [ebp + 0x10]
mov dword [esp + 0x20], 0xa
sub esp, 8
lea ecx, [esp + 0x28]
call fcn.1001d1c0
add esp, 8
test al, al
je 0x1001e5f3
push dword [esp + 0x20]
jmp 0x1001e5d5
mov ecx, dword [ebp + 0x10]
test ecx, 0x400
je 0x1001ee9a
mov eax, dword [edi + 0x28]
test eax, eax
js 0x1001ee9a
movss xmm1, dword [edi + eax*4 + 0x3ec]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1001edf5
mov al, 1
jmp 0x1001ee61
movss xmm2, dword [edi + 0x78]
comiss xmm1, xmm2
jbe 0x1001ee5f
movss xmm3, dword [edi + 0x7c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1001ee19
mov eax, 1
test eax, eax
setg al
jmp 0x1001ee61
comiss xmm2, xmm1
jae 0x1001ee56
comiss xmm4, xmm3
jae 0x1001ee56
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0xc]
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 [ebp + 0x10]
test eax, eax
setg al
jmp 0x1001ee61
xor eax, eax
test eax, eax
setg al
jmp 0x1001ee61
xor al, al
test al, al
je 0x1001ee9a
mov eax, dword [esp + 0xc]
cmp byte [eax + 0xe9], 0
jne 0x1001ee9a
cmp byte [eax + 0xea], 0
jne 0x1001ee9a
cmp byte [eax + 0xeb], 0
jne 0x1001ee9a
cmp byte [esp + 0x44], 0
je 0x1001ee9a
mov dword [esp + 0x20], 9
mov edx, ecx
jmp 0x1001eda5
mov eax, dword [edi + 0x5c]
test eax, eax
js 0x1001ef37
movss xmm1, dword [edi + eax*4 + 0x3ec]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1001eebb
mov al, 1
jmp 0x1001ef24
movss xmm2, dword [edi + 0x78]
comiss xmm1, xmm2
jbe 0x1001ef22
movss xmm3, dword [edi + 0x7c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1001eedf
mov eax, 1
test eax, eax
setg al
jmp 0x1001ef24
comiss xmm2, xmm1
jae 0x1001ef19
comiss xmm4, xmm3
jae 0x1001ef19
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0xc]
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
test eax, eax
setg al
jmp 0x1001ef24
xor eax, eax
test eax, eax
setg al
jmp 0x1001ef24
xor al, al
test al, al
je 0x1001ef37
mov edx, dword [esp + 0xc]
mov al, 1
mov byte [esp + 0x33], al
jmp 0x1001e601
cmp byte [esp + 0x2a], 0
je 0x1001f177
mov eax, dword [edi + 0x74]
test eax, eax
js 0x1001f023
movss xmm1, dword [edi + eax*4 + 0x3ec]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1001ef63
mov al, 1
jmp 0x1001efcc
movss xmm2, dword [edi + 0x78]
comiss xmm1, xmm2
jbe 0x1001efca
movss xmm3, dword [edi + 0x7c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1001ef87
mov eax, 1
test eax, eax
setg al
jmp 0x1001efcc
comiss xmm2, xmm1
jae 0x1001efc1
comiss xmm4, xmm3
jae 0x1001efc1
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0xc]
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
test eax, eax
setg al
jmp 0x1001efcc
xor eax, eax
test eax, eax
setg al
jmp 0x1001efcc
xor al, al
test al, al
je 0x1001f023
cmp byte [esp + 0x44], 0
je 0x1001f023
cmp byte [esp + 0x48], 0
je 0x1001f023
push 0x1000a
mov edi, dword [esp + 0x1c]
lea edx, [esi + 0x38]
mov ecx, edi
call fcn.1001bf90
mov eax, dword [esi + 0x38]
add esp, 4
mov edx, dword [esp + 0xc]
mov esi, edi
mov byte [edi + 0xcd0], 1
mov dword [edi + 0xccc], 0xbe99999a
mov edi, dword [0x1008fb10]
mov dword [esi + 0x40], eax
mov dword [esi + 0x3c], eax
mov al, byte [esp + 0xb]
jmp 0x1001e605
mov eax, dword [edi + 0x70]
test eax, eax
js 0x1001f0c9
movss xmm1, dword [edi + eax*4 + 0x3ec]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1001f044
mov al, 1
jmp 0x1001f0ad
movss xmm2, dword [edi + 0x78]
comiss xmm1, xmm2
jbe 0x1001f0ab
movss xmm3, dword [edi + 0x7c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1001f068
mov eax, 1
test eax, eax
setg al
jmp 0x1001f0ad
comiss xmm2, xmm1
jae 0x1001f0a2
comiss xmm4, xmm3
jae 0x1001f0a2
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0xc]
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
test eax, eax
setg al
jmp 0x1001f0ad
xor eax, eax
test eax, eax
setg al
jmp 0x1001f0ad
xor al, al
test al, al
je 0x1001f0c9
cmp byte [esp + 0x44], 0
je 0x1001f0c9
cmp byte [esp + 0x48], 0
je 0x1001f0c9
push 0x1000b
jmp 0x1001efe3
mov eax, dword [edi + 0x60]
test eax, eax
js 0x1001f177
movss xmm1, dword [edi + eax*4 + 0x3ec]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1001f0ea
mov al, 1
jmp 0x1001f153
movss xmm2, dword [edi + 0x78]
comiss xmm1, xmm2
jbe 0x1001f151
movss xmm3, dword [edi + 0x7c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1001f10e
mov eax, 1
test eax, eax
setg al
jmp 0x1001f153
comiss xmm2, xmm1
jae 0x1001f148
comiss xmm4, xmm3
jae 0x1001f148
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0xc]
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
test eax, eax
setg al
jmp 0x1001f153
xor eax, eax
test eax, eax
setg al
jmp 0x1001f153
xor al, al
test al, al
je 0x1001f177
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x3c], 0
mov dword [esi + 0x40], eax
mov dword [esi + 0x38], eax
mov byte [esi + 0x47], 0
mov byte [esi + 0xcd0], 1
jmp 0x1001e5f9
cmp byte [esp + 0x32], 0
jne 0x1001f3e9
cmp byte [esp + 0x2b], 0
jne 0x1001f3e9
test dl, dl
je 0x1001e5f9
mov eax, dword [edi + 0xb4]
test eax, eax
je 0x1001f1bc
push dword [edi + 0xbc]
call eax
mov esi, eax
add esp, 4
test esi, esi
je 0x1001e5f3
mov edi, dword [0x1008fb10]
jmp 0x1001f1c1
mov esi, 0x1007a28e
mov edx, esi
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x1001f1c6
inc dword [edi + 0x318]
sub edx, ecx
mov ecx, dword [edi + 0xc0]
lea eax, [edx*2 + 2]
push eax
call ecx
xor edi, edi
add esp, 4
cmp byte [esi], 0
mov ecx, eax
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], edi
je 0x1001f252
nop dword [eax]
push 0
mov edx, esi
lea ecx, [esp + 0x3c]
call fcn.1000dd30
add esi, eax
add esp, 4
mov eax, dword [esp + 0x38]
test eax, eax
je 0x1001f24a
cmp eax, 0x10000
jae 0x1001f245
mov edx, dword [ebp + 0x10]
lea ecx, [esp + 0x38]
sub esp, 8
call fcn.1001d1c0
add esp, 8
test al, al
je 0x1001f245
mov ecx, dword [esp + 0x34]
mov ax, word [esp + 0x38]
mov word [ecx + edi*2], ax
inc edi
cmp byte [esi], 0
jne 0x1001f200
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x38], edi
xor eax, eax
mov word [ecx + edi*2], ax
test edi, edi
jle 0x1001f3b7
mov edi, dword [esp + 0x18]
mov ecx, dword [edi + 0x40]
lea esi, [edi + 0x38]
mov eax, dword [esi + 4]
mov edx, dword [edi + 0x2c]
mov dword [esp + 0x20], edx
cmp eax, ecx
je 0x1001f2b4
mov dword [esp + 0x24], eax
cmp eax, edx
jle 0x1001f287
mov dword [esi + 4], edx
mov dword [esp + 0x24], edx
mov eax, dword [esp + 0x24]
mov dword [esp + 0x2c], ecx
cmp ecx, edx
jle 0x1001f29e
mov ecx, edx
mov dword [esi + 8], edx
mov dword [esp + 0x2c], ecx
jmp 0x1001f2a2
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x2c]
cmp dword [esp + 0x24], edx
jne 0x1001f2b4
mov eax, dword [esp + 0x24]
mov ecx, edx
mov dword [esi], eax
mov edx, dword [esi]
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x20]
cmp dword [esi], edx
jle 0x1001f2c8
mov dword [esi], edx
mov dword [esp + 0x2c], edx
mov edx, dword [edi + 0x2c]
cmp eax, ecx
je 0x1001f312
mov dword [esp + 0x24], eax
cmp eax, edx
jle 0x1001f2de
mov dword [esi + 4], edx
mov dword [esp + 0x24], edx
mov eax, dword [esp + 0x24]
mov dword [esp + 0x58], ecx
cmp ecx, edx
jle 0x1001f2f1
mov dword [esi + 8], edx
mov dword [esp + 0x58], edx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x58]
mov esi, ecx
cmp dword [esp + 0x24], esi
lea esi, [edi + 0x38]
jne 0x1001f312
mov eax, dword [esp + 0x24]
mov dword [esi], eax
mov dword [esp + 0x2c], eax
cmp dword [esp + 0x2c], edx
jle 0x1001f31a
mov dword [esi], edx
cmp eax, ecx
je 0x1001f34f
mov edx, esi
jge 0x1001f335
sub ecx, eax
push ecx
push eax
mov ecx, edi
call fcn.1001be50
mov eax, dword [esi + 4]
mov dword [esi + 8], eax
jmp 0x1001f346
sub eax, ecx
push eax
push ecx
mov ecx, edi
call fcn.1001be50
mov eax, dword [esi + 8]
mov dword [esi + 4], eax
mov dword [esi], eax
add esp, 8
mov byte [esi + 0xf], 0
push dword [esp + 0x38]
mov edx, dword [esi]
mov ecx, edi
push dword [esp + 0x38]
call fcn.1001bac0
add esp, 8
test al, al
je 0x1001f392
mov edi, dword [esp + 0x38]
lea ecx, [esi + 0x18]
mov edx, dword [esi]
push edi
push 0
call fcn.1001cca0
mov ecx, dword [esp + 0x3c]
add esp, 8
add dword [esi], edi
mov byte [esi + 0xf], 0
mov esi, dword [esp + 0x18]
mov byte [esi + 0xcd0], 1
jmp 0x1001f3bb
movzx eax, word [esi + 0xc8a]
test ax, ax
je 0x1001f3a6
dec eax
mov word [esi + 0xc8a], ax
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x34]
mov byte [esi + 0xcd0], 1
jmp 0x1001f3bb
mov esi, dword [esp + 0x18]
mov eax, dword [0x1008fb10]
test ecx, ecx
je 0x1001f3ca
dec dword [eax + 0x318]
mov eax, dword [eax + 0xc4]
push ecx
call eax
mov edi, dword [0x1008fb10]
add esp, 4
mov al, byte [esp + 0xb]
mov edx, dword [esp + 0xc]
jmp 0x1001e605
mov edx, dword [esp + 0xc]
cmp dword [edx + 0xb8], 0
je 0x1001f4ac
mov eax, dword [esi + 0x40]
mov ecx, dword [esi + 0x3c]
cmp ecx, eax
je 0x1001f40e
mov edx, eax
cmovge eax, ecx
cmovl edx, ecx
jmp 0x1001f413
mov eax, dword [esi + 0x2c]
xor edx, edx
mov dword [esp + 0x64], eax
lea ecx, [esi + 0x1c]
sub eax, edx
mov dword [esp + 0x48], edx
lea edx, [eax*4 + 1]
mov eax, dword [ecx + 4]
mov dword [esp + 0x20], edx
cmp edx, eax
jle 0x1001f46a
lea edi, [esi + 0x1c]
test eax, eax
je 0x1001f449
cdq
sub eax, edx
mov edx, dword [esp + 0x20]
mov ecx, eax
sar ecx, 1
add ecx, dword [edi + 4]
jmp 0x1001f44e
mov ecx, 8
cmp ecx, edx
mov eax, edx
cmovg eax, ecx
mov ecx, edi
push eax
call fcn.10024050
mov edi, dword [0x1008fb10]
lea ecx, [esi + 0x1c]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x64]
mov dword [ecx], edx
mov ecx, dword [esi + 0xc]
lea eax, [ecx + eax*2]
push eax
mov eax, dword [esp + 0x4c]
lea eax, [ecx + eax*2]
mov ecx, dword [esi + 0x24]
push eax
call fcn.1000df30
mov eax, dword [edi + 0xb8]
add esp, 8
test eax, eax
je 0x1001f4a8
push dword [esi + 0x24]
push dword [edi + 0xbc]
call eax
mov edi, dword [0x1008fb10]
add esp, 8
mov edx, dword [esp + 0xc]
cmp byte [esp + 0x32], 0
je 0x1001f582
mov eax, dword [esi + 0x3c]
cmp eax, dword [esi + 0x40]
jne 0x1001f4d3
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x3c], 0
mov dword [esi + 0x40], eax
mov dword [esi + 0x38], eax
mov byte [esi + 0x47], 0
lea eax, [esi + 0x38]
mov byte [esi + 0xcd0], 1
mov edx, dword [eax + 8]
mov ecx, dword [eax + 4]
cmp ecx, edx
je 0x1001e5f9
mov edi, dword [esi + 0x2c]
mov dword [esp + 0x2c], edi
cmp ecx, edi
jle 0x1001f4fb
mov ecx, edi
mov dword [eax + 4], ecx
cmp edx, dword [esp + 0x2c]
jle 0x1001f508
mov edx, dword [esp + 0x2c]
mov dword [eax + 8], edx
cmp ecx, edx
jne 0x1001f50e
mov dword [eax], ecx
mov edi, dword [esp + 0x2c]
cmp dword [eax], edi
mov edi, dword [0x1008fb10]
jle 0x1001f528
mov edi, dword [esp + 0x2c]
mov dword [eax], edi
mov edi, dword [0x1008fb10]
cmp ecx, edx
je 0x1001f579
jge 0x1001f558
sub edx, ecx
push edx
push ecx
mov edx, eax
mov ecx, esi
call fcn.1001be50
mov ecx, dword [esi + 0x3c]
lea eax, [esi + 0x38]
mov dword [eax + 8], ecx
add esp, 8
mov dword [eax], ecx
mov edi, dword [0x1008fb10]
mov byte [eax + 0xf], 0
jmp 0x1001e5f9
sub ecx, edx
push ecx
push edx
mov edx, eax
mov ecx, esi
call fcn.1001be50
mov ecx, dword [esi + 0x40]
lea eax, [esi + 0x38]
mov dword [eax + 4], ecx
add esp, 8
mov dword [eax], ecx
mov edi, dword [0x1008fb10]
mov byte [eax + 0xf], 0
jmp 0x1001e5f9
mov al, byte [esp + 0xb]
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 0x18]
jmp 0x1001e609
mov ecx, dword [ebp + 0x10]
cmp byte [esp + 0x44], 0
je 0x1001f5f9
mov edx, dword [esi + 4]
mov eax, dword [esi + 0x20]
shl edx, 2
mov dword [esp + 0x20], edx
cmp edx, eax
jle 0x1001f5e3
lea edi, [esi + 0x1c]
test eax, eax
je 0x1001f5c5
cdq
sub eax, edx
mov edx, dword [esp + 0x20]
mov ecx, eax
sar ecx, 1
add ecx, dword [edi + 4]
jmp 0x1001f5ca
mov ecx, 8
cmp ecx, edx
mov eax, edx
cmovg eax, ecx
mov ecx, edi
push eax
call fcn.10024050
mov edi, dword [0x1008fb10]
mov edx, dword [esp + 0x20]
mov dword [esi + 0x1c], edx
mov ecx, dword [esi + 0x24]
push 0
push dword [esi + 0xc]
call fcn.1000df30
mov ecx, dword [ebp + 0x10]
add esp, 8
test ecx, 0x1c0
je 0x1001fa5a
xor edx, edx
xorps xmm4, xmm4
test cl, 0x40
je 0x1001f6b3
mov eax, dword [edi + 0x28]
test eax, eax
js 0x1001f6b3
movss xmm1, dword [edi + eax*4 + 0x3ec]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1001f634
mov al, 1
jmp 0x1001f6a0
movss xmm2, dword [edi + 0x78]
comiss xmm1, xmm2
jbe 0x1001f69e
movss xmm3, dword [edi + 0x7c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1001f658
mov eax, 1
test eax, eax
setg al
jmp 0x1001f6a0
comiss xmm2, xmm1
jae 0x1001f695
comiss xmm4, xmm3
jae 0x1001f695
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0xc]
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 [ebp + 0x10]
test eax, eax
setg al
jmp 0x1001f6a0
xor eax, eax
test eax, eax
setg al
jmp 0x1001f6a0
xor al, al
test al, al
je 0x1001f6b3
mov eax, dword [ebp + 0x10]
mov edx, 0x40
xor ecx, ecx
jmp 0x1001f809
test cl, cl
jns 0x1001f7f4
mov eax, dword [edi + 0x34]
test eax, eax
js 0x1001f759
movss xmm1, dword [edi + eax*4 + 0x3ec]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1001f6dc
mov al, 1
jmp 0x1001f745
movss xmm2, dword [edi + 0x78]
comiss xmm1, xmm2
jbe 0x1001f743
movss xmm3, dword [edi + 0x7c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1001f700
mov eax, 1
test eax, eax
setg al
jmp 0x1001f745
comiss xmm2, xmm1
jae 0x1001f73a
comiss xmm4, xmm3
jae 0x1001f73a
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0xc]
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
test eax, eax
setg al
jmp 0x1001f745
xor eax, eax
test eax, eax
setg al
jmp 0x1001f745
xor al, al
test al, al
je 0x1001f759
mov eax, dword [ebp + 0x10]
mov edx, 0x80
lea ecx, [edx - 0x7d]
jmp 0x1001f809
mov eax, dword [edi + 0x38]
test eax, eax
js 0x1001f7f4
movss xmm1, dword [edi + eax*4 + 0x3ec]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1001f77a
mov al, 1
jmp 0x1001f7e3
movss xmm2, dword [edi + 0x78]
comiss xmm1, xmm2
jbe 0x1001f7e1
movss xmm3, dword [edi + 0x7c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1001f79e
mov eax, 1
test eax, eax
setg al
jmp 0x1001f7e3
comiss xmm2, xmm1
jae 0x1001f7d8
comiss xmm4, xmm3
jae 0x1001f7d8
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0xc]
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
test eax, eax
setg al
jmp 0x1001f7e3
xor eax, eax
test eax, eax
setg al
jmp 0x1001f7e3
xor al, al
test al, al
je 0x1001f7f4
mov eax, dword [ebp + 0x10]
mov edx, 0x80
lea ecx, [edx - 0x7c]
jmp 0x1001f809
mov eax, dword [ebp + 0x10]
mov ecx, 0x100
test eax, 0x100
cmovne edx, ecx
mov ecx, 0x14
test edx, edx
je 0x1001fa5a
mov dword [esp + 0xc4], eax
xor edi, edi
mov al, byte [esp + 0x44]
xor al, 1
mov dword [esp + 0xc0], edx
mov byte [esp + 0xcc], al
mov eax, dword [esi + 0x24]
mov dword [esp + 0xd4], eax
mov eax, dword [esi + 0x28]
mov dword [esp + 0xd8], eax
mov eax, dword [esi + 0x30]
mov esi, dword [esi + 0xc]
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0xd0], ecx
mov ecx, esi
mov word [esp + 0xcd], di
mov byte [esp + 0xcf], 0
mov eax, dword [eax + 0x1a2c]
mov word [esp + 0xe1], di
mov byte [esp + 0xe3], 0
mov dword [esp + 0xc8], edi
lea edx, [esi + eax*2]
mov byte [esp + 0xe0], 0
call fcn.1000e060
mov edi, eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0xe4], edi
mov ecx, dword [eax + 0x1a30]
lea edx, [esi + ecx*2]
mov ecx, esi
call fcn.1000e060
mov dword [esp + 0x68], eax
mov dword [esp + 0xe8], eax
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x1a34]
lea edx, [esi + ecx*2]
mov ecx, esi
call fcn.1000e060
mov dword [esp + 0x7c], eax
mov dword [esp + 0xec], eax
lea eax, [esp + 0xc0]
push eax
xor eax, eax
call eax
mov ecx, dword [esp + 0xe8]
add esp, 4
cmp ecx, edi
je 0x1001f951
mov eax, dword [esp + 0xd4]
mov esi, eax
lea edi, [ecx + eax]
xor eax, eax
mov dword [esp + 0x24], eax
nop dword [eax]
test edi, edi
je 0x1001f918
cmp esi, edi
jae 0x1001f948
cmp byte [esi], 0
je 0x1001f948
push edi
mov edx, esi
lea ecx, [esp + 0x54]
call fcn.1000dd30
add esi, eax
add esp, 4
mov eax, dword [esp + 0x50]
test eax, eax
je 0x1001f944
cmp eax, 0x10000
mov eax, dword [esp + 0x24]
jae 0x1001f910
inc eax
jmp 0x1001f908
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x18]
mov dword [edi + 0x38], eax
jmp 0x1001f955
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0xe8]
cmp eax, dword [esp + 0x68]
je 0x1001f9bb
add eax, dword [esp + 0xd4]
xor ecx, ecx
mov esi, dword [esp + 0xd4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ecx
nop word [eax + eax]
test eax, eax
je 0x1001f988
cmp esi, eax
jae 0x1001f9b8
cmp byte [esi], 0
je 0x1001f9b8
push eax
mov edx, esi
lea ecx, [esp + 0x54]
call fcn.1000dd30
mov ecx, dword [esp + 0x28]
add esi, eax
mov eax, dword [esp + 0x54]
add esp, 4
test eax, eax
je 0x1001f9b8
cmp eax, 0x10000
mov eax, dword [esp + 0x20]
jae 0x1001f980
inc ecx
jmp 0x1001f976
mov dword [edi + 0x3c], ecx
mov eax, dword [esp + 0xec]
cmp eax, dword [esp + 0x7c]
je 0x1001fa1b
add eax, dword [esp + 0xd4]
xor ecx, ecx
mov esi, dword [esp + 0xd4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ecx
test eax, eax
je 0x1001f9e8
cmp esi, eax
jae 0x1001fa18
cmp byte [esi], 0
je 0x1001fa18
push eax
mov edx, esi
lea ecx, [esp + 0x54]
call fcn.1000dd30
mov ecx, dword [esp + 0x28]
add esi, eax
mov eax, dword [esp + 0x54]
add esp, 4
test eax, eax
je 0x1001fa18
cmp eax, 0x10000
mov eax, dword [esp + 0x20]
jae 0x1001f9e0
inc ecx
jmp 0x1001f9dc
mov dword [edi + 0x40], ecx
cmp byte [esp + 0xe0], 0
je 0x1001fa54
mov edx, dword [edi + 4]
push 0
push ecx
push dword [esp + 0xdc]
mov ecx, dword [edi + 0xc]
call fcn.1000dec0
mov dword [edi + 0x2c], eax
add esp, 0xc
mov eax, dword [esp + 0xd8]
mov dword [edi + 0x28], eax
mov dword [edi + 0xccc], 0xbe99999a
mov edi, dword [0x1008fb10]
cmp byte [esp + 0x44], 0
mov esi, dword [esp + 0x18]
je 0x1001e663
mov ecx, dword [esp + 0x40]
mov eax, dword [esi + 0x24]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1001fa90
test dl, dl
je 0x1001fa8c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1001fa90
add eax, 2
add ecx, 2
test dl, dl
jne 0x1001fa70
xor eax, eax
jmp 0x1001fa95
sbb eax, eax
or eax, 1
test eax, eax
je 0x1001e663
mov eax, dword [ebp + 8]
cmp eax, 1
jb 0x1001fac4
mov edi, dword [esp + 0x40]
push eax
push dword [esi + 0x24]
push edi
call fcn.10051e70
mov eax, dword [ebp + 8]
add esp, 0xc
mov byte [edi + eax - 1], 0
mov edi, dword [0x1008fb10]
mov byte [esp + 0x4f], 1
jmp 0x1001e663
movaps xmm0, xmm6
minss xmm0, xmm1
movss xmm5, dword [0x10082b5c]
movss xmm1, dword [esp + 0xf4]
comiss xmm3, xmm1
mulss xmm0, xmm4
addss xmm0, xmm5
cvttss2si edx, xmm0
jbe 0x1001fafc
xorps xmm0, xmm0
jmp 0x1001fb03
movaps xmm0, xmm6
minss xmm0, xmm1
movss xmm1, dword [esp + 0xf8]
mulss xmm0, xmm4
addss xmm0, xmm5
cvttss2si eax, xmm0
shl eax, 8
or edx, eax
comiss xmm3, xmm1
jbe 0x1001fb27
xorps xmm0, xmm0
jmp 0x1001fb2e
movaps xmm0, xmm6
minss xmm0, xmm1
mulss xmm0, xmm4
addss xmm0, xmm5
cvttss2si eax, xmm0
shl eax, 0x10
or edx, eax
comiss xmm3, xmm2
jbe 0x1001fb49
xorps xmm0, xmm0
jmp 0x1001fb50
movaps xmm0, xmm6
minss xmm0, xmm2
push dword [esp + 0x10c]
mov eax, dword [esp + 0x10]
push dword [esp + 0x10c]
mulss xmm0, xmm4
push dword [esp + 0x10c]
movss xmm2, dword [eax + 0x1428]
push dword [esp + 0x10c]
addss xmm0, xmm5
cvttss2si ecx, xmm0
shl ecx, 0x18
or ecx, edx
mov dl, 1
call fcn.10012920
movss xmm0, dword [esp + 0x88]
add esp, 0x10
movss xmm6, dword [esp + 0x9c]
movaps xmm1, xmm0
movss xmm5, dword [esp + 0x5c]
movaps xmm2, xmm6
addss xmm1, dword [esp + 0x60]
mov edx, dword [esp + 0xc]
movaps xmm3, xmm5
mov edi, dword [0x1008fb10]
addss xmm3, xmm6
movss xmm4, dword [0x10082c64]
mov eax, dword [esp + 0x10]
addss xmm2, dword [edx + 0x1420]
mov ecx, dword [esp + 0x54]
movss dword [esp + 0x104], xmm0
addss xmm0, dword [edx + 0x1424]
movss dword [esp + 0x100], xmm6
movss dword [esp + 0x7c], xmm3
movss dword [esp + 0x108], xmm3
movss dword [esp + 0x50], xmm3
movss dword [esp + 0x68], xmm1
jmp 0x1001fc86
movss xmm0, dword [esp + 0x9c]
movss xmm5, dword [esp + 0x5c]
movss xmm1, dword [esp + 0x78]
addss xmm5, xmm0
mov ecx, dword [esp + 0x54]
movaps xmm3, xmm1
addss xmm3, dword [esp + 0x60]
movss dword [esp + 0x100], xmm0
movss dword [esp + 0x104], xmm1
movss xmm2, dword [ecx + 0xd8]
movaps xmm0, xmm5
movss dword [esp + 0x50], xmm5
movss xmm5, dword [esp + 0x5c]
movaps xmm1, xmm3
movss dword [esp + 0x7c], xmm0
movss dword [esp + 0x108], xmm0
movss xmm0, dword [ecx + 0xdc]
movss dword [esp + 0x68], xmm3
xorps xmm7, xmm7
movss dword [esp + 0x94], xmm0
movss dword [esp + 0x58], xmm0
movss dword [esp + 0x70], xmm0
xorps xmm0, xmm0
movss dword [esp + 0x90], xmm2
movss dword [esp + 0x2c], xmm2
movss dword [esp + 0x10c], xmm1
movss dword [esp + 0x48], xmm1
movss dword [esp + 0x6c], xmm2
movss dword [esp + 0x64], xmm0
movss dword [esp + 0x20], xmm7
cmp dword [esi], eax
jne 0x1001fd0f
cmp byte [esp + 0x3c], 0
je 0x1001fd0f
mov eax, dword [esp + 0x54]
xor edx, edx
mov ecx, dword [ecx + 0x1a4]
mov eax, dword [eax + 0x1ac]
push dword [eax + ecx*4 - 4]
mov ecx, str.SCROLLY
call fcn.1000dc10
mov edx, dword [esp + 0x10]
add esp, 4
cmp dword [edx + 0x1824], eax
jne 0x1001fd0f
mov al, 1
jmp 0x1001fd11
xor al, al
mov ecx, dword [esp + 0x10]
cmp dword [edx + 0x1824], ecx
je 0x10020128
test al, al
jne 0x10020128
xor edx, edx
cmp byte [esp + 0x3c], dl
je 0x1001fd8b
mov edx, dword [esp + 0x40]
xor ecx, ecx
mov al, byte [edx]
inc edx
mov byte [esp + 0x2b], al
test al, al
je 0x1001fd5a
cmp byte [esp + 0x2b], 0xa
lea eax, [ecx + 1]
cmovne eax, ecx
mov ecx, eax
mov al, byte [edx]
inc edx
mov byte [esp + 0x2b], al
test al, al
jne 0x1001fd42
mov al, byte [edx - 1]
dec edx
cmp al, 0xa
je 0x1001fd67
cmp al, 0xd
je 0x1001fd67
inc ecx
mov esi, dword [esp + 0xc]
movaps xmm0, xmm5
movd xmm3, ecx
cvtdq2ps xmm3, xmm3
movss dword [esp + 0x64], xmm0
mulss xmm3, dword [esi + 0x1734]
movss dword [esp + 0x20], xmm3
jmp 0x1001fd8f
mov esi, dword [esp + 0xc]
movups xmm2, xmmword [edi + 0x1480]
mov eax, dword [esp + 0x54]
movss xmm5, dword [0x10082b80]
comiss xmm7, xmm2
mov eax, dword [eax + 0x234]
mov dword [esp + 0x48], eax
movaps xmm1, xmm2
movaps xmmword [esp + 0xf0], xmm2
shufps xmm1, xmm2, 0xff
mulss xmm1, dword [edi + 0x13ec]
jbe 0x1001fdcd
movaps xmm0, xmm7
jmp 0x1001fdd4
movaps xmm0, xmm5
minss xmm0, xmm2
movss xmm3, dword [0x10082b5c]
movss xmm2, dword [esp + 0xf4]
comiss xmm7, xmm2
mulss xmm0, xmm4
addss xmm0, xmm3
cvttss2si ecx, xmm0
jbe 0x1001fdfb
movaps xmm0, xmm7
jmp 0x1001fe02
movaps xmm0, xmm5
minss xmm0, xmm2
movss xmm2, dword [esp + 0xf8]
mulss xmm0, xmm4
addss xmm0, xmm3
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm7, xmm2
jbe 0x1001fe26
movaps xmm0, xmm7
jmp 0x1001fe2d
movaps xmm0, xmm5
minss xmm0, xmm2
mulss xmm0, xmm4
addss xmm0, xmm3
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
comiss xmm7, xmm1
jbe 0x1001fe48
movaps xmm5, xmm7
jmp 0x1001fe4c
minss xmm5, xmm1
movss xmm2, dword [esi + 0x1734]
mulss xmm5, xmm4
mov dword [esp + 0x50], 0
addss xmm5, xmm3
cvttss2si eax, xmm5
shl eax, 0x18
or eax, ecx
mov ecx, dword [esi + 0x1730]
cmp byte [esp + 0x3c], 0
lea esi, [esp + 0x100]
mov dword [esp + 0x68], eax
cmovne esi, dword [esp + 0x50]
mov dword [esp + 0x38], ecx
test eax, 0xff000000
je 0x1001ff9d
test edx, edx
jne 0x1001feb8
mov ecx, dword [esp + 0x40]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1001fea2
mov eax, dword [esp + 0x40]
sub ecx, edx
lea edx, [eax + ecx]
mov ecx, dword [esp + 0x38]
jmp 0x1001febc
mov eax, dword [esp + 0x40]
cmp eax, edx
je 0x1001ff9d
mov edi, dword [esp + 0x48]
test ecx, ecx
jne 0x1001fed6
mov eax, dword [edi + 0x28]
mov eax, dword [eax + 8]
mov dword [esp + 0x38], eax
ucomiss xmm2, xmm7
lahf
test ah, 0x44
jp 0x1001fee7
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 + 0x80], xmm0
test esi, esi
je 0x1001ff5c
movss xmm0, dword [esp + 0x80]
maxss xmm0, dword [esi]
movss dword [esp + 0x80], xmm0
movss xmm0, dword [esp + 0x84]
maxss xmm0, dword [esi + 4]
movss dword [esp + 0x84], xmm0
movss xmm0, dword [esp + 0x88]
minss xmm0, dword [esi + 8]
movss dword [esp + 0x88], xmm0
movss xmm0, dword [esp + 0x8c]
minss xmm0, dword [esi + 0xc]
movss dword [esp + 0x8c], xmm0
setne al
movzx eax, al
push eax
push ecx
mov ecx, dword [esp + 0x40]
lea eax, [esp + 0x88]
mov dword [esp], 0
push edx
push dword [esp + 0x4c]
push eax
push dword [esp + 0x7c]
push dword [esp + 0xac]
push dword [esp + 0xac]
push edi
call fcn.100303b0
mov edi, dword [0x1008fb10]
xorps xmm7, xmm7
mov esi, dword [esp + 0xc]
cmp byte [esp + 0x3c], 0
je 0x10020076
mov eax, dword [edi + 0x1804]
movss xmm4, dword [esp + 0x20]
addss xmm4, dword [esi + 0x1734]
movss xmm3, dword [esp + 0x64]
mov byte [eax + 0x8e], 1
addss xmm3, xmm7
mov eax, dword [edi + 0x1804]
cmp byte [eax + 0x90], 0
jne 0x10020056
movss xmm1, dword [eax + 0xdc]
lea ecx, [esp + 0x90]
movss xmm2, dword [eax + 0xd8]
movaps xmm0, xmm1
addss xmm3, xmm2
movss dword [esp + 0xf4], xmm1
addss xmm0, xmm4
movss dword [esp + 0xf0], xmm2
movss dword [esp + 0xf8], xmm3
subss xmm3, xmm2
movss dword [esp + 0xfc], xmm0
subss xmm0, xmm1
movaps xmm1, xmm7
movss dword [esp + 0x90], xmm3
movss dword [esp + 0x94], xmm0
call fcn.1000ef90
xor edx, edx
lea ecx, [esp + 0xf0]
call fcn.1000f100
call fcn.10013490
mov ecx, 3
call fcn.10018d60
mov ecx, dword [esp + 0xa8]
call fcn.10018c90
call fcn.10022b70
mov eax, dword [esp + 0xa0]
test al, al
je 0x1002008d
call fcn.10018bd0
mov eax, dword [esp + 0xa0]
cmp byte [esi + 0x2790], 0
je 0x100200ac
test al, al
jne 0x100200ac
mov edx, dword [esp + 0x40]
lea ecx, [esp + 0x6c]
push 0
call fcn.10011f30
add esp, 4
movss xmm0, dword [esp + 0xac]
xorps xmm3, xmm3
comiss xmm0, xmm3
jbe 0x10020103
movss xmm0, dword [esp + 0xbc]
xor edx, edx
addss xmm0, dword [esi + 0x1438]
mov ecx, dword [esp + 0xa4]
movss dword [esp + 0x6c], xmm0
movss xmm0, dword [esp + 0x78]
addss xmm0, dword [esi + 0x1424]
movss dword [esp + 0x70], xmm0
push dword [esp + 0x70]
push dword [esp + 0x70]
push 1
call fcn.10012060
add esp, 0xc
test byte [ebp + 0x10], 0x20
movzx ecx, byte [esp + 0x31]
movzx eax, byte [esp + 0x4f]
cmovne eax, ecx
mov ecx, dword [esp + 0x11c]
pop edi
pop esi
xor ecx, esp
call fcn.10046e53
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + 0xc]
xorps xmm6, xmm6
movss xmm0, dword [edx + 0xc]
xorps xmm3, xmm3
mov eax, dword [esi + 0x38]
addss xmm0, dword [esi + 0xccc]
mov edx, dword [esi + 0x3c]
mov dword [esp + 0x34], ecx
lea eax, [ecx + eax*2]
mov dword [esp + 0x38], 0
mov dword [esp + 0x98], eax
mov ecx, 1
mov eax, dword [esi + 0x40]
movss dword [esi + 0xccc], xmm0
mov dword [esp + 0x74], 0xffffffff
mov dword [esp + 0x10], 0xfffffc19
cmp edx, eax
je 0x10020199
mov ecx, dword [esp + 0x34]
cmovl eax, edx
mov dword [esp + 0x10], 0xffffffff
lea eax, [ecx + eax*2]
mov ecx, 2
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x3c]
movzx eax, al
add ecx, eax
xor eax, eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x34]
mov edx, eax
movzx eax, word [eax]
test ax, ax
je 0x1002020a
mov edi, eax
cmp di, 0xa
jne 0x100201f6
mov eax, dword [esp + 0x24]
inc eax
cmp dword [esp + 0x74], 0xffffffff
mov dword [esp + 0x24], eax
jne 0x100201e0
cmp edx, dword [esp + 0x98]
jb 0x100201e0
dec ecx
mov dword [esp + 0x74], eax
test ecx, ecx
jle 0x10020204
cmp dword [esp + 0x10], 0xffffffff
jne 0x100201f6
cmp edx, dword [esp + 0x38]
jb 0x100201f6
dec ecx
mov dword [esp + 0x10], eax
test ecx, ecx
jle 0x10020204
movzx eax, word [edx + 2]
add edx, 2
mov edi, eax
test ax, ax
jne 0x100201b8
mov edi, dword [0x1008fb10]
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
inc ecx
cmp dword [esp + 0x74], 0xffffffff
mov edx, ecx
mov dword [esp + 0x24], ecx
cmovne edx, dword [esp + 0x74]
cmp eax, 0xffffffff
mov dword [esp + 0x80], edx
mov edx, dword [esp + 0x98]
cmove eax, ecx
mov ecx, edx
mov dword [esp + 0x10], eax
cmp edx, dword [esp + 0x34]
jbe 0x1002025b
mov edi, dword [esp + 0x34]
cmp word [ecx - 2], 0xa
je 0x10020255
add ecx, 0xfffffffe
cmp ecx, edi
ja 0x10020247
mov edi, dword [0x1008fb10]
mov eax, dword [edi + 0x1730]
movaps xmm4, xmm7
movss xmm2, dword [edi + 0x1734]
movaps xmm1, xmm7
mov dword [esp + 0xb0], eax
movss dword [esp + 0x74], xmm4
divss xmm2, dword [eax]
cmp ecx, edx
jae 0x100202e2
mov edi, eax
movzx eax, word [ecx]
add ecx, 2
mov edx, eax
cmp eax, 0xa
jne 0x1002029c
maxss xmm4, xmm1
movaps xmm1, xmm7
jmp 0x100202bf
cmp edx, 0xd
je 0x100202bf
mov edx, eax
cmp edx, dword [edi + 0x1c]
jge 0x100202b2
mov eax, dword [edi + 0x24]
movss xmm0, dword [eax + edx*4]
jmp 0x100202b7
movss xmm0, dword [edi + 0x38]
mulss xmm0, xmm2
addss xmm1, xmm0
cmp ecx, dword [esp + 0x98]
jb 0x10020286
comiss xmm1, xmm4
mov edi, dword [0x1008fb10]
movss dword [esp + 0x74], xmm4
jbe 0x100202e2
movaps xmm4, xmm1
movss dword [esp + 0x74], xmm1
cmp dword [esp + 0x10], 0
movd xmm5, dword [esp + 0x80]
mov ecx, dword [esp + 0xc]
cvtdq2ps xmm5, xmm5
movss xmm0, dword [ecx + 0x1734]
mulss xmm5, xmm0
movss dword [esp + 0x90], xmm5
jl 0x100203c6
mov edx, dword [esp + 0x38]
mov ecx, edx
cmp edx, dword [esp + 0x34]
jbe 0x10020336
mov edi, dword [esp + 0x34]
cmp word [ecx - 2], 0xa
je 0x10020330
add ecx, 0xfffffffe
cmp ecx, edi
ja 0x10020322
mov edi, dword [0x1008fb10]
mov eax, dword [edi + 0x1730]
movaps xmm3, xmm7
movss xmm2, dword [edi + 0x1734]
movaps xmm1, xmm7
mov dword [esp + 0x80], eax
divss xmm2, dword [eax]
cmp ecx, edx
jae 0x100203ad
mov edi, eax
nop dword [eax + eax]
movzx eax, word [ecx]
add ecx, 2
mov edx, eax
cmp eax, 0xa
jne 0x10020376
maxss xmm3, xmm1
movaps xmm1, xmm7
jmp 0x10020399
cmp edx, 0xd
je 0x10020399
mov edx, eax
cmp edx, dword [edi + 0x1c]
jge 0x1002038c
mov eax, dword [edi + 0x24]
movss xmm0, dword [eax + edx*4]
jmp 0x10020391
movss xmm0, dword [edi + 0x38]
mulss xmm0, xmm2
addss xmm1, xmm0
cmp ecx, dword [esp + 0x38]
jb 0x10020360
comiss xmm1, xmm3
mov edi, dword [0x1008fb10]
jbe 0x100203ad
movaps xmm3, xmm1
movd xmm6, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
cvtdq2ps xmm6, xmm6
movss xmm0, dword [ecx + 0x1734]
mulss xmm6, xmm0
mov edx, dword [esp + 0x3c]
test dl, dl
je 0x100203f2
movd xmm1, dword [esp + 0x24]
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm0
movss dword [esp + 0x20], xmm1
movss xmm1, dword [esp + 0x5c]
movaps xmm0, xmm1
movss dword [esp + 0x64], xmm0
jmp 0x100203f8
movss xmm1, dword [esp + 0x5c]
cmp byte [esi + 0xcd0], 0
je 0x100204b3
test dword [ebp + 0x10], 0x1000
jne 0x10020454
movss xmm2, dword [esi + 0x34]
movaps xmm0, xmm1
comiss xmm2, xmm4
mulss xmm0, dword [0x10082b4c]
movaps xmm1, xmm4
jbe 0x10020433
subss xmm1, xmm0
movaps xmm0, xmm7
maxss xmm0, xmm1
jmp 0x10020442
subss xmm1, dword [esp + 0x5c]
comiss xmm1, xmm2
jb 0x1002045b
addss xmm0, xmm1
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esi + 0x34], xmm0
jmp 0x1002045b
mov dword [esi + 0x34], 0
test dl, dl
je 0x100204b3
mov eax, dword [esp + 0x54]
movaps xmm1, xmm5
subss xmm1, dword [ecx + 0x1734]
movss xmm2, dword [eax + 0x6c]
comiss xmm2, xmm1
jbe 0x10020481
movaps xmm0, xmm7
maxss xmm0, xmm1
jmp 0x1002048e
movaps xmm0, xmm5
subss xmm0, dword [esp + 0x60]
maxss xmm0, xmm2
subss xmm2, xmm0
movss dword [eax + 0x6c], xmm0
addss xmm2, dword [eax + 0xdc]
movss dword [esp + 0x58], xmm2
movss dword [eax + 0xdc], xmm2
movss dword [esp + 0x70], xmm2
movss xmm5, dword [esi + 0x34]
mov ecx, dword [esi + 0x40]
mov edx, dword [esi + 0x3c]
mov byte [esi + 0xcd0], 0
movss dword [esp + 0x60], xmm5
cmp edx, ecx
je 0x10020828
mov esi, dword [esp + 0x34]
mov eax, ecx
cmovl eax, edx
cmovge ecx, edx
cmp byte [esp + 0x3c], 0
lea esi, [esi + eax*2]
mov eax, dword [esp + 0x34]
lea eax, [eax + ecx*2]
mov dword [esp + 0x38], eax
je 0x10020508
movss dword [esp + 0xb4], xmm7
movss dword [esp + 0x98], xmm7
jmp 0x10020519
movss xmm0, dword [0x10082bbc]
movss dword [esp + 0x98], xmm0
movups xmm1, xmmword [edi + 0x1700]
comiss xmm7, xmm1
movaps xmm2, xmm1
movaps xmmword [esp + 0xf0], xmm1
shufps xmm2, xmm1, 0xff
mulss xmm2, dword [edi + 0x13ec]
jbe 0x10020541
movaps xmm0, xmm7
jmp 0x1002054d
movss xmm0, dword [0x10082b80]
minss xmm0, xmm1
movss xmm4, dword [0x10082c64]
movss xmm1, dword [esp + 0xf4]
comiss xmm7, xmm1
mulss xmm0, xmm4
addss xmm0, dword [0x10082b5c]
cvttss2si ecx, xmm0
jbe 0x10020578
movaps xmm0, xmm7
jmp 0x10020584
movss xmm0, dword [0x10082b80]
minss xmm0, xmm1
movss xmm1, dword [esp + 0xf8]
mulss xmm0, xmm4
addss xmm0, dword [0x10082b5c]
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm7, xmm1
jbe 0x100205ac
movaps xmm0, xmm7
jmp 0x100205b8
movss xmm0, dword [0x10082b80]
minss xmm0, xmm1
movss xmm1, dword [0x10082b5c]
mulss xmm0, xmm4
addss xmm0, xmm1
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
comiss xmm7, xmm2
jbe 0x100205db
movaps xmm0, xmm7
jmp 0x100205e7
movss xmm0, dword [0x10082b80]
minss xmm0, xmm2
mulss xmm0, xmm4
movss xmm4, dword [esp + 0x2c]
addss xmm4, xmm3
addss xmm0, xmm1
subss xmm4, xmm5
movss xmm5, dword [esp + 0x58]
cvttss2si eax, xmm0
addss xmm5, xmm6
shl eax, 0x18
or eax, ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x80], eax
subss xmm5, xmm7
movss dword [esp + 0x24], xmm5
cmp esi, ecx
jae 0x1002081e
movss xmm6, dword [esp + 0x48]
mov edx, dword [esp + 0xc]
nop word [eax + eax]
movaps xmm0, xmm6
addss xmm0, dword [edx + 0x1734]
comiss xmm5, xmm0
ja 0x1002081e
movss xmm0, dword [esp + 0x78]
comiss xmm0, xmm5
jbe 0x10020689
cmp esi, ecx
jae 0x100207fc
nop word [eax + eax]
mov ax, word [esi]
add esi, 2
cmp ax, 0xa
je 0x100207fc
cmp esi, ecx
jb 0x10020670
jmp 0x100207fc
mov edx, dword [edi + 0x1730]
movaps xmm3, xmm7
movss xmm2, dword [edi + 0x1734]
movaps xmm1, xmm7
divss xmm2, dword [edx]
cmp esi, ecx
jae 0x100206eb
movzx eax, word [esi]
add esi, 2
mov ecx, eax
cmp eax, 0xa
je 0x100206dd
cmp ecx, 0xd
je 0x100206d3
cmp ecx, dword [edx + 0x1c]
jge 0x100206c6
mov eax, dword [edx + 0x24]
movss xmm0, dword [eax + ecx*4]
jmp 0x100206cb
movss xmm0, dword [edx + 0x38]
mulss xmm0, xmm2
addss xmm1, xmm0
mov ecx, dword [esp + 0x38]
cmp esi, ecx
jb 0x100206a5
jmp 0x100206eb
mov ecx, dword [esp + 0x38]
movaps xmm3, xmm7
maxss xmm3, xmm1
movaps xmm1, xmm7
mov edx, dword [esp + 0xc]
maxss xmm1, xmm3
comiss xmm7, xmm1
jb 0x10020729
mov eax, dword [edx + 0x1730]
cmp dword [eax + 0x1c], 0x20
jle 0x10020711
mov eax, dword [eax + 0x24]
movss xmm0, dword [eax + 0x80]
jmp 0x10020716
movss xmm0, dword [eax + 0x38]
mulss xmm0, dword [0x10082b5c]
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss xmm2, dword [esp + 0xb4]
addss xmm1, xmm4
subss xmm2, dword [edx + 0x1734]
movss xmm0, dword [esp + 0x98]
addss xmm4, xmm7
movss xmm3, dword [esp + 0x7c]
addss xmm0, xmm5
minss xmm1, xmm3
addss xmm2, xmm5
maxss xmm4, dword [esp + 0x9c]
minss xmm0, xmm6
movss dword [esp + 0xf8], xmm1
maxss xmm2, dword [esp + 0x78]
movss dword [esp + 0xf0], xmm4
comiss xmm0, dword [esp + 0x78]
movss dword [esp + 0xf4], xmm2
movss dword [esp + 0xfc], xmm0
jbe 0x100207fc
comiss xmm6, xmm2
jbe 0x100207fc
comiss xmm1, dword [esp + 0x9c]
jbe 0x100207fc
comiss xmm3, xmm4
jbe 0x100207fc
push 0xf
push ecx
mov dword [esp], 0
lea eax, [esp + 0x100]
push dword [esp + 0x88]
push eax
lea eax, [esp + 0x100]
push eax
mov eax, dword [esp + 0x68]
mov ecx, dword [eax + 0x234]
call fcn.1002da50
mov edi, dword [0x1008fb10]
xorps xmm7, xmm7
movss xmm5, dword [esp + 0x24]
movss xmm6, dword [esp + 0x48]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0xc]
movss xmm4, dword [esp + 0x2c]
addss xmm5, dword [edx + 0x1734]
subss xmm4, dword [esp + 0x60]
movss dword [esp + 0x24], xmm5
cmp esi, ecx
jb 0x10020640
mov esi, dword [esp + 0x18]
movss xmm5, dword [esp + 0x60]
movups xmm1, xmmword [edi + 0x1480]
mov eax, dword [esp + 0x54]
mov esi, dword [esi + 0x28]
add esi, dword [esp + 0x40]
movaps xmm2, xmm1
comiss xmm7, xmm1
mov eax, dword [eax + 0x234]
mov dword [esp + 0x7c], eax
movss xmm6, dword [0x10082b80]
shufps xmm2, xmm1, 0xff
mulss xmm2, dword [edi + 0x13ec]
movaps xmmword [esp + 0xf0], xmm1
jbe 0x1002086d
movaps xmm0, xmm7
jmp 0x10020874
movaps xmm0, xmm6
minss xmm0, xmm1
movss xmm3, dword [0x10082c64]
movss xmm4, dword [0x10082b5c]
movss xmm1, dword [esp + 0xf4]
comiss xmm7, xmm1
mulss xmm0, xmm3
addss xmm0, xmm4
cvttss2si ecx, xmm0
jbe 0x100208a3
movaps xmm0, xmm7
jmp 0x100208aa
movaps xmm0, xmm6
minss xmm0, xmm1
movss xmm1, dword [esp + 0xf8]
mulss xmm0, xmm3
addss xmm0, xmm4
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm7, xmm1
jbe 0x100208ce
movaps xmm0, xmm7
jmp 0x100208d5
movaps xmm0, xmm6
minss xmm0, xmm1
mulss xmm0, xmm3
addss xmm0, xmm4
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
comiss xmm7, xmm2
jbe 0x100208f0
movaps xmm0, xmm7
jmp 0x100208f7
movaps xmm0, xmm6
minss xmm0, xmm2
mulss xmm0, xmm3
lea edx, [esp + 0x100]
mov dword [esp + 0x80], 0
addss xmm0, xmm4
cvttss2si eax, xmm0
movss xmm0, dword [esp + 0x2c]
subss xmm0, xmm5
shl eax, 0x18
or eax, ecx
mov ecx, dword [esp + 0xc]
cmp byte [esp + 0x3c], 0
mov dword [esp + 0xb0], eax
cmovne edx, dword [esp + 0x80]
movss xmm2, dword [ecx + 0x1734]
mov ecx, dword [ecx + 0x1730]
movss dword [esp + 0xb4], xmm0
movss xmm0, dword [esp + 0x58]
mov dword [esp + 0x48], ecx
subss xmm0, xmm7
movss dword [esp + 0xb8], xmm0
test eax, 0xff000000
je 0x10020a7e
test esi, esi
jne 0x10020996
mov ecx, dword [esp + 0x40]
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10020980
mov eax, dword [esp + 0x40]
sub ecx, esi
lea esi, [ecx + eax]
mov ecx, dword [esp + 0x48]
jmp 0x1002099a
mov eax, dword [esp + 0x40]
cmp eax, esi
je 0x10020a7e
mov edi, dword [esp + 0x7c]
test ecx, ecx
jne 0x100209b4
mov eax, dword [edi + 0x28]
mov eax, dword [eax + 8]
mov dword [esp + 0x48], eax
ucomiss xmm2, xmm7
lahf
test ah, 0x44
jp 0x100209c5
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 [esp + 0x80], xmm0
test edx, edx
je 0x10020a3a
movss xmm0, dword [esp + 0x80]
maxss xmm0, dword [edx]
movss dword [esp + 0x80], xmm0
movss xmm0, dword [esp + 0x84]
maxss xmm0, dword [edx + 4]
movss dword [esp + 0x84], xmm0
movss xmm0, dword [esp + 0x88]
minss xmm0, dword [edx + 8]
movss dword [esp + 0x88], xmm0
movss xmm0, dword [esp + 0x8c]
minss xmm0, dword [edx + 0xc]
movss dword [esp + 0x8c], xmm0
setne al
movzx eax, al
push eax
push ecx
mov ecx, dword [esp + 0x50]
lea eax, [esp + 0x88]
mov dword [esp], 0
push esi
push dword [esp + 0x4c]
push eax
push dword [esp + 0xc4]
push dword [esp + 0xd0]
push dword [esp + 0xd0]
push edi
call fcn.100303b0
mov edi, dword [0x1008fb10]
xorps xmm7, xmm7
mov esi, dword [esp + 0xc]
cmp byte [esi + 0xad], 0
je 0x10020adb
movss xmm0, dword [esi + 0x26c0]
comiss xmm7, xmm0
jae 0x10020adb
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x80], xmm0
fld qword [esp + 0x80]
fld qword [0x10082bb0]
call fcn.1006c3e0
movss xmm0, dword [0x10082b70]
fstp qword [esp + 0x80]
movsd xmm1, qword [esp + 0x80]
cvtpd2ps xmm1, xmm1
comiss xmm0, xmm1
jae 0x10020adb
xor al, al
jmp 0x10020add
mov al, 1
movss xmm2, dword [esp + 0x58]
xorps xmm7, xmm7
movss xmm5, dword [esp + 0x2c]
movss xmm6, dword [0x10082b5c]
movss xmm4, dword [0x10082b80]
addss xmm2, dword [esp + 0x90]
addss xmm5, dword [esp + 0x74]
subss xmm2, xmm7
subss xmm5, dword [esp + 0x60]
movss dword [esp + 0x58], xmm2
movaps xmm0, xmm2
movss dword [esp + 0x2c], xmm5
movaps xmm1, xmm5
movss dword [esp + 0xf0], xmm5
movaps xmm3, xmm2
addss xmm1, xmm4
subss xmm0, dword [esi + 0x1734]
subss xmm3, dword [0x10082b8c]
movss dword [esp + 0xf8], xmm1
addss xmm0, xmm6
movss dword [esp + 0xfc], xmm3
movss dword [esp + 0xf4], xmm0
test al, al
je 0x10020ccb
comiss xmm3, dword [esp + 0x78]
jbe 0x10020ccb
movss xmm4, dword [esp + 0x68]
comiss xmm4, xmm0
jbe 0x10020cc3
comiss xmm1, dword [esp + 0x9c]
jbe 0x10020cc3
movss xmm0, dword [esp + 0x50]
comiss xmm0, xmm5
jbe 0x10020cc3
movups xmm2, xmmword [edi + 0x1480]
comiss xmm7, xmm2
movaps xmm1, xmm2
movaps xmmword [esp + 0x100], xmm2
shufps xmm1, xmm2, 0xff
mulss xmm1, dword [edi + 0x13ec]
jbe 0x10020bcd
xorps xmm0, xmm0
jmp 0x10020bd9
movss xmm0, dword [0x10082b80]
minss xmm0, xmm2
movss xmm4, dword [0x10082c64]
movss xmm2, dword [esp + 0x104]
comiss xmm7, xmm2
mulss xmm0, xmm4
addss xmm0, xmm6
cvttss2si ecx, xmm0
jbe 0x10020c00
xorps xmm0, xmm0
jmp 0x10020c0c
movss xmm0, dword [0x10082b80]
minss xmm0, xmm2
movss xmm2, dword [esp + 0x108]
mulss xmm0, xmm4
addss xmm0, xmm6
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm7, xmm2
jbe 0x10020c30
xorps xmm0, xmm0
jmp 0x10020c3c
movss xmm0, dword [0x10082b80]
minss xmm0, xmm2
mulss xmm0, xmm4
addss xmm0, xmm6
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
comiss xmm7, xmm1
jbe 0x10020c57
xorps xmm0, xmm0
jmp 0x10020c63
movss xmm0, dword [0x10082b80]
minss xmm0, xmm1
mulss xmm0, xmm4
push ecx
mov dword [esp], 0x3f800000
movss dword [esp + 0x94], xmm5
addss xmm0, xmm6
movss dword [esp + 0x98], xmm3
cvttss2si eax, xmm0
shl eax, 0x18
or eax, ecx
push eax
lea eax, [esp + 0x98]
push eax
lea eax, [esp + 0xfc]
push eax
mov eax, dword [esp + 0x64]
mov ecx, dword [eax + 0x234]
call fcn.1002d850
mov edi, dword [0x1008fb10]
xorps xmm7, xmm7
movss xmm2, dword [esp + 0x58]
movss xmm5, dword [esp + 0x2c]
movss xmm4, dword [0x10082b80]
cmp byte [esp + 0x44], 0
je 0x1001ffa1
subss xmm2, dword [esi + 0x1734]
subss xmm5, xmm4
movss dword [esi + 0x2768], xmm2
movss dword [esi + 0x2764], xmm5
jmp 0x1001ffa1