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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x16c
mov eax, dword [0x1008700c]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
mov ebx, dword [ebp + 0x10]
push esi
mov esi, dword [0x10089244]
mov dword [ebp - 0x164], ecx
mov ecx, esi
mov dword [ebp - 0xd4], eax
push edi
mov dword [ebp - 0xb4], ecx
mov eax, dword [ecx + 0x1a00]
mov byte [eax + 0x7c], 1
mov edi, dword [ecx + 0x1a00]
mov dword [ebp - 0x120], edi
cmp byte [edi + 0x7f], 0
jne 0x1002e527
mov ecx, dword [ebp + 0x14]
mov eax, ecx
shr eax, 0xe
mov edx, ecx
and eax, 0xffffff01
shr edx, 0x14
mov dword [ebp - 0xe8], eax
and edx, 0xffffff01
mov eax, ecx
mov dword [ebp - 0xd0], ecx
shr eax, 0xf
and eax, 0xffffff01
mov dword [ebp - 0xd8], edx
mov dword [ebp - 0x160], eax
mov eax, ecx
shr eax, 0x10
not al
and eax, 0xffffff01
mov dword [ebp - 0x134], eax
mov eax, ecx
shr eax, 0x12
and eax, 0xffffff01
mov dword [ebp - 0x108], eax
test dl, dl
je 0x1002e201
call fcn.10014ea0
mov esi, dword [0x10089244]
mov ecx, dword [edi + 0xbc]
xor edx, edx
mov eax, dword [edi + 0xc4]
push dword [eax + ecx*4 - 4]
mov ecx, dword [ebp - 0x164]
call fcn.10009a40
add esp, 4
mov dword [ebp - 0xc4], eax
cmp dword [esi + 0x1a34], eax
jne 0x1002e235
mov dword [esi + 0x1a38], eax
cmp dword [esi + 0x1a6c], eax
jne 0x1002e244
mov byte [esi + 0x1a70], 1
mov eax, dword [ebp - 0x164]
mov ecx, eax
cmp eax, 0xffffffff
jae 0x1002e267
mov dl, byte [ecx]
test dl, dl
je 0x1002e267
cmp dl, 0x23
jne 0x1002e261
cmp byte [ecx + 1], dl
je 0x1002e267
inc ecx
cmp ecx, 0xffffffff
jb 0x1002e251
movss xmm2, dword [esi + 0x18d0]
xorps xmm6, xmm6
cmp eax, ecx
jne 0x1002e280
movss dword [ebp - 0x16c], xmm6
jmp 0x1002e2d4
movss xmm3, dword [0x1007df7c]
push 0
push ecx
push eax
push ecx
mov ecx, dword [esi + 0x18cc]
lea eax, [ebp - 0x12c]
mov dword [esp], 0xbf800000
push eax
call fcn.10026770
movss xmm0, dword [ebp - 0x12c]
xorps xmm6, xmm6
addss xmm0, dword [0x1007de40]
movss xmm2, dword [ebp - 0x128]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x16c], xmm0
cmp byte [ebp - 0xd8], 0
mov edx, dword [ebp - 0xb4]
je 0x1002e2f3
movss xmm2, dword [edx + 0x18d0]
mulss xmm2, dword [0x1007df10]
test byte [esi + 0x1ad8], 1
mov ecx, dword [esi + 0x1a00]
je 0x1002e30c
movss xmm0, dword [esi + 0x1adc]
jmp 0x1002e314
movss xmm0, dword [ecx + 0x1a8]
comiss xmm6, xmm0
movss xmm3, dword [0x1007de44]
jbe 0x1002e34f
mov eax, ecx
cmp dword [eax + 0x190], 0
movss xmm1, dword [eax + 0x244]
je 0x1002e33c
movss xmm1, dword [eax + 0x224]
subss xmm1, dword [ecx + 0xc8]
addss xmm1, xmm0
movaps xmm0, xmm3
maxss xmm0, xmm1
movss xmm5, dword [edx + 0x1554]
xorps xmm1, xmm1
movss xmm7, dword [ebx]
movaps xmm3, xmm5
comiss xmm6, xmm7
cvttss2si eax, xmm0
addss xmm3, xmm5
movss dword [ebp - 0x130], xmm7
xorps xmm0, xmm0
movd xmm4, eax
addss xmm3, xmm2
movss xmm2, dword [ebx + 4]
cvtdq2ps xmm4, xmm4
movss dword [ebp - 0x138], xmm2
ja 0x1002e396
comiss xmm6, xmm2
jbe 0x1002e3b7
cmp dword [ecx + 0x190], 0
movss xmm0, dword [ecx + 0x244]
movss xmm1, dword [ecx + 0x248]
je 0x1002e3b7
movss xmm0, dword [ecx + 0x224]
movss xmm2, dword [0x1007df00]
ucomiss xmm7, xmm6
lahf
test ah, 0x44
jp 0x1002e3d5
movaps xmm7, xmm4
movss dword [ebp - 0x130], xmm7
jmp 0x1002e3fe
comiss xmm6, xmm7
jbe 0x1002e3fe
subss xmm0, dword [ecx + 0xc8]
addss xmm7, xmm0
comiss xmm2, xmm7
movss dword [ebp - 0x130], xmm7
jb 0x1002e3fe
movaps xmm7, xmm2
movss dword [ebp - 0x130], xmm2
movss xmm0, dword [ebp - 0x138]
ucomiss xmm0, xmm6
lahf
test ah, 0x44
jp 0x1002e419
movss dword [ebp - 0x138], xmm3
jmp 0x1002e43f
comiss xmm6, xmm0
jbe 0x1002e43f
subss xmm1, dword [ecx + 0xcc]
addss xmm0, xmm1
comiss xmm2, xmm0
movss dword [ebp - 0x138], xmm0
jb 0x1002e43f
movss dword [ebp - 0x138], xmm2
movss xmm0, dword [ebp - 0x16c]
comiss xmm0, xmm6
mov ebx, dword [ebp - 0xb4]
jbe 0x1002e45f
movaps xmm2, xmm0
addss xmm2, dword [ebx + 0x1568]
jmp 0x1002e462
xorps xmm2, xmm2
cmp byte [ebp - 0xd8], 0
addss xmm2, xmm7
movss xmm4, dword [edi + 0xcc]
movss xmm3, dword [edi + 0xc8]
movaps xmm0, xmm4
addss xmm0, dword [ebp - 0x138]
movaps xmm1, xmm3
movss dword [ebp - 0x4c], xmm3
addss xmm1, xmm7
movss dword [ebp - 0x48], xmm4
addss xmm2, xmm3
movss dword [ebp - 0x14], xmm3
movss dword [ebp - 0x10], xmm4
movss dword [ebp - 0x40], xmm0
movaps xmm0, xmm4
addss xmm0, dword [ebp - 0x138]
movss dword [ebp - 0x44], xmm1
movss dword [ebp - 0xc], xmm2
mov dword [ebp - 0x100], edi
movss dword [ebp - 8], xmm0
je 0x1002e715
mov edx, dword [ebp - 0xc4]
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x14]
call fcn.10014ce0
add esp, 4
test al, al
jne 0x1002e53a
movss xmm0, dword [ebp - 0xc]
lea ecx, [ebp - 0x12c]
subss xmm0, dword [ebp - 0x14]
movss xmm1, dword [ebx + 0x1554]
movss dword [ebp - 0x12c], xmm0
movss xmm0, dword [ebp - 8]
subss xmm0, dword [ebp - 0x10]
movss dword [ebp - 0x128], xmm0
call fcn.10014b60
call fcn.10014fd0
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100427b4
mov esp, ebp
pop ebp
ret
mov esi, dword [0x10089244]
lea eax, [ebp - 0x28]
push eax
mov dword [ebp - 0x28], 3
movups xmm0, xmmword [esi + 0x15fc]
lea ecx, [esi + 0x1aec]
movups xmmword [ebp - 0x24], xmm0
call fcn.10019f00
movups xmm0, xmmword [ebx + 0x163c]
lea eax, [ebp - 0x10]
mov dword [ebp - 0x10], 6
push eax
movups xmmword [esi + 0x15fc], xmm0
mov esi, dword [0x10089244]
movss xmm0, dword [ebx + 0x1558]
movss dword [ebp - 0xc0], xmm0
movss xmm0, dword [esi + 0x1540]
lea ecx, [esi + 0x1af8]
movss dword [ebp - 0xc], xmm0
call fcn.10019e40
movss xmm0, dword [ebp - 0xc0]
lea eax, [ebp - 0x10]
movss dword [esi + 0x1540], xmm0
mov esi, dword [0x10089244]
movss xmm0, dword [ebx + 0x155c]
movss dword [ebp - 0xc0], xmm0
push eax
movss xmm0, dword [esi + 0x1544]
lea ecx, [esi + 0x1af8]
mov dword [ebp - 0x10], 7
movss dword [ebp - 0xc], xmm0
call fcn.10019e40
movss xmm0, dword [ebp - 0xc0]
lea eax, [ebp - 0x10]
movss dword [esi + 0x1544], xmm0
mov esi, dword [0x10089244]
push eax
mov dword [ebp - 0x10], 1
movss xmm0, dword [esi + 0x151c]
lea ecx, [esi + 0x1af8]
movss xmm1, dword [esi + 0x1520]
movss dword [ebp - 0xc], xmm0
movss dword [ebp - 8], xmm1
call fcn.10019e40
movss xmm0, dword [ebp - 0x44]
sub esp, 8
subss xmm0, dword [ebp - 0x4c]
mov eax, dword [ebx + 0x1550]
mov ecx, dword [ebx + 0x1554]
mov edx, dword [ebp - 0xc4]
mov dword [esi + 0x151c], eax
lea eax, [ebp - 0x12c]
movss dword [ebp - 0x12c], xmm0
movss xmm0, dword [ebp - 0x40]
subss xmm0, dword [ebp - 0x48]
mov dword [esi + 0x1520], ecx
mov ecx, dword [ebp - 0x164]
push eax
movss dword [ebp - 0x128], xmm0
call fcn.1000ec90
add esp, 0xc
mov ecx, 3
mov bl, al
call fcn.1000a1b0
mov esi, dword [0x10089244]
mov ecx, dword [esi + 0x1aec]
lea edx, [ecx + ecx*4]
mov ecx, dword [esi + 0x1af4]
mov eax, dword [ecx + edx*4 - 0x14]
movups xmm0, xmmword [ecx + edx*4 - 0x10]
shl eax, 4
movups xmmword [eax + esi + 0x15cc], xmm0
dec dword [esi + 0x1aec]
test bl, bl
jne 0x1002e6da
call fcn.1000eea0
jmp 0x1002e522
mov ebx, dword [ebp - 0xb4]
movss xmm0, dword [ebp - 0x130]
mov esi, dword [ebp - 0xc4]
mov ecx, dword [ebx + 0x1a00]
mov dword [ebp - 0x100], ecx
subss xmm0, dword [ecx + 0x70]
mov eax, dword [ecx + 0x138]
or dword [ecx + 0x140], eax
movss dword [ebp - 0x130], xmm0
jmp 0x1002e75a
subss xmm2, xmm3
movaps xmm1, xmm5
subss xmm0, xmm4
lea ecx, [ebp - 0x12c]
movss dword [ebp - 0x12c], xmm2
movss dword [ebp - 0x128], xmm0
call fcn.10014b60
mov esi, dword [ebp - 0xc4]
lea eax, [ebp - 0x4c]
push eax
mov edx, esi
lea ecx, [ebp - 0x14]
call fcn.10014ce0
add esp, 4
test al, al
je 0x1002e527
mov edx, esi
lea ecx, [ebp - 0x4c]
call fcn.1000c300
mov byte [ebp - 0xad], al
test al, al
je 0x1002e778
mov dword [ebx + 0x1d94], 1
mov ebx, dword [0x10089244]
xor eax, eax
add ebx, 0x1e64
mov edx, esi
mov ecx, edi
cmp dword [ebx], esi
cmovne ebx, eax
mov dword [ebp - 0x15c], ebx
call fcn.1000c570
mov edx, dword [ebp - 0xb4]
mov byte [ebp - 0xeb], al
test al, al
je 0x1002e820
cmp dword [edx + 0x1c40], edi
jne 0x1002e820
mov ecx, dword [edx + 0x1c48]
cmp ecx, dword [edi + 0x19c]
jne 0x1002e820
mov byte [ebp - 0xb6], 1
mov byte [ebp - 0xca], 0
cmp byte [ebp - 0xad], 0
je 0x1002e7e7
cmp byte [edx + 0x3e0], 0
mov byte [ebp - 0xae], 1
jne 0x1002e7ee
mov byte [ebp - 0xae], 0
mov esi, dword [edx + 0x1a34]
mov eax, dword [ebp - 0xc4]
cmp esi, eax
je 0x1002e83b
cmp dword [edx + 0x1b40], eax
je 0x1002e817
cmp dword [edx + 0x1b34], eax
jne 0x1002e83b
cmp dword [edx + 0x1b58], 3
jne 0x1002e83b
mov byte [ebp - 0xb7], 1
jmp 0x1002e842
mov byte [ebp - 0xb6], 0
test al, al
je 0x1002e7c7
mov byte [ebp - 0xca], 1
mov byte [ebp - 0xb6], 0
jmp 0x1002e7ce
mov byte [ebp - 0xb7], 0
mov eax, dword [ebp - 0xd8]
test al, al
je 0x1002e896
test ebx, ebx
je 0x1002e896
test esi, esi
jne 0x1002e896
mov eax, dword [ebp - 0x100]
xor edx, edx
mov ecx, dword [eax + 0xbc]
mov eax, dword [eax + 0xc4]
push dword [eax + ecx*4 - 4]
mov ecx, str.SCROLLY
call fcn.10009a40
mov ecx, dword [ebp - 0xb4]
add esp, 4
cmp dword [ecx + 0x1a6c], eax
jne 0x1002e890
mov byte [ebp - 0xb5], 1
jmp 0x1002e8ac
mov eax, dword [ebp - 0xd8]
mov byte [ebp - 0xb5], 0
test al, al
je 0x1002e8d9
mov byte [ebp - 0xb5], 0
test ebx, ebx
je 0x1002e8d9
mov eax, dword [ebp - 0x100]
xor edx, edx
mov ecx, dword [eax + 0xbc]
mov eax, dword [eax + 0xc4]
push dword [eax + ecx*4 - 4]
mov ecx, str.SCROLLY
call fcn.10009a40
add esp, 4
cmp esi, eax
jne 0x1002e8d9
mov al, 1
jmp 0x1002e8db
xor al, al
mov cl, byte [ebp - 0xb7]
mov byte [ebp - 0xb8], al
mov byte [ebp - 0xe1], 0
cmp esi, dword [ebp - 0xc4]
je 0x1002e915
mov edx, dword [ebp - 0xd0]
test dl, 0x10
jne 0x1002e905
test cl, cl
je 0x1002e915
cmp byte [ebp - 0xd8], 0
mov byte [ebp - 0xbc], 1
je 0x1002e91c
mov byte [ebp - 0xbc], 0
cmp byte [ebp - 0xeb], 0
jne 0x1002e950
cmp byte [ebp - 0xae], 0
jne 0x1002e950
cmp byte [ebp - 0xb5], 0
jne 0x1002e950
test cl, cl
jne 0x1002e950
mov byte [ebp - 0xb5], cl
test al, al
jne 0x1002e957
mov byte [ebp - 0xc9], al
jmp 0x1002eba0
mov byte [ebp - 0xb5], 1
mov ecx, dword [ebp - 0xc4]
mov byte [ebp - 0xc9], 1
mov dword [ebp - 0x15c], ebx
cmp esi, ecx
je 0x1002eba6
mov ebx, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xd4]
add ebx, 0x1e64
mov dword [ebp - 0x15c], ebx
mov dword [ebx + 0xe60], 0xbe99999a
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1002e997
mov edi, dword [ebx + 0x28]
lea eax, [ebx + 0x24]
sub ecx, edx
lea esi, [ecx + 1]
cmp esi, edi
jle 0x1002e9d6
test edi, edi
je 0x1002e9be
mov eax, edi
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, edi
jmp 0x1002e9c3
mov ecx, 8
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
lea ecx, [ebx + 0x24]
push eax
call fcn.1001a340
lea eax, [ebx + 0x24]
push esi
push dword [ebp - 0xd4]
mov dword [eax], esi
push dword [ebx + 0x2c]
call fcn.10045830
mov esi, dword [ebx + 0x10]
add esp, 0xc
cmp esi, 0x21
jge 0x1002ea1b
test esi, esi
je 0x1002ea03
mov eax, esi
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, esi
jmp 0x1002ea08
mov ecx, 8
mov eax, 0x21
cmp ecx, eax
cmovg eax, ecx
lea ecx, [ebx + 0xc]
push eax
call fcn.1001a3b0
mov dword [ebx + 0xc], 0x21
mov ecx, dword [ebx + 0x1c]
test ecx, ecx
jns 0x1002ea42
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
xor ecx, ecx
test eax, eax
cmovg ecx, eax
push ecx
lea ecx, [ebx + 0x18]
call fcn.1001a340
mov edx, dword [ebp - 0xd4]
mov edi, edx
mov dword [ebx + 0x18], 0
mov ecx, dword [ebx + 0x14]
mov esi, ecx
mov byte [ebx + 0x30], 0
mov dword [ebp - 0xe0], ecx
lea eax, [ecx + 0x3e]
cmp ecx, eax
jae 0x1002eaa3
cmp byte [edi], 0
je 0x1002ea9d
push 0
mov edx, edi
lea ecx, [ebp - 0xc0]
call fcn.10009cb0
mov ecx, dword [ebp - 0xe0]
add edi, eax
mov eax, dword [ebp - 0xc0]
add esp, 4
test eax, eax
je 0x1002ea9d
mov word [esi], ax
add esi, 2
lea eax, [ecx + 0x3e]
cmp esi, eax
jb 0x1002ea67
mov edx, dword [ebp - 0xd4]
xor eax, eax
sub edi, edx
mov word [esi], ax
sub esi, ecx
mov eax, dword [ebp - 0xc4]
sar esi, 1
mov dword [ebx + 4], esi
mov dword [ebx + 8], edi
cmp dword [ebx], eax
jne 0x1002eae2
cmp dword [ebx + 0x3c], esi
mov ecx, esi
cmovl ecx, dword [ebx + 0x3c]
cmp dword [ebx + 0x40], esi
mov dword [ebx + 0x3c], ecx
mov ecx, esi
cmovl ecx, dword [ebx + 0x40]
cmp dword [ebx + 0x44], esi
mov dword [ebx + 0x40], ecx
cmovl esi, dword [ebx + 0x44]
mov dword [ebx + 0x44], esi
jmp 0x1002eb5b
mov ecx, dword [ebp - 0xd8]
mov dword [ebx], eax
mov al, cl
xor al, 1
mov dword [ebx + 0x38], 0
mov dword [ebx + 0xe52], 0x630000
mov dword [ebx + 0xe58], 0
mov dword [ebx + 0xe5c], 0x3e7
mov dword [ebx + 0x40], 0
mov dword [ebx + 0x44], 0
mov dword [ebx + 0x3c], 0
mov dword [ebx + 0x48], 0x10000
mov dword [ebx + 0x50], 0
mov byte [ebx + 0x4c], al
test cl, cl
jne 0x1002eb61
mov ecx, dword [ebp - 0xbc]
mov eax, 1
cmp byte [ebp - 0xb6], 0
movzx ecx, cl
cmovne ecx, eax
mov dword [ebp - 0xbc], ecx
mov ecx, dword [ebp - 0xd8]
test dword [ebp - 0xd0], 0x2000
je 0x1002eb71
mov byte [ebx + 0x48], 1
test cl, cl
jne 0x1002eb9a
cmp byte [ebp - 0xca], cl
jne 0x1002eb93
cmp byte [ebp - 0xae], cl
je 0x1002eb9a
mov eax, dword [ebp - 0xb4]
cmp byte [eax + 0x100], cl
je 0x1002eb9a
mov byte [ebp - 0xbc], 1
mov edi, dword [ebp - 0x120]
mov ecx, dword [ebp - 0xc4]
mov esi, dword [ebp - 0xb4]
cmp dword [esi + 0x1a34], ecx
je 0x1002ec5c
cmp byte [ebp - 0xb5], 0
je 0x1002ec5c
mov edx, edi
call fcn.1000c0c0
mov ecx, dword [ebp - 0xc4]
call fcn.10016400
mov ecx, edi
call fcn.10014480
mov eax, dword [esi + 0x1a48]
mov edx, dword [ebp - 0xd0]
or eax, 3
cmp byte [ebp - 0xd8], 0
mov dword [esi + 0x1a48], eax
jne 0x1002ec00
test dl, dl
jns 0x1002ec09
or eax, 0xc
mov dword [esi + 0x1a48], eax
mov eax, dword [esi + 0x1a50]
or dword [esi + 0x1a4c], 2
or eax, 0x180
cmp byte [ebp - 0xd8], 0
mov ecx, dword [esi + 0x1a54]
mov dword [esi + 0x1a50], eax
mov dword [esi + 0x1a54], ecx
je 0x1002ec45
or eax, 0x60
mov dword [esi + 0x1a54], ecx
mov dword [esi + 0x1a50], eax
test edx, 0x440
je 0x1002ec5c
or eax, 1
mov dword [esi + 0x1a54], ecx
mov dword [esi + 0x1a50], eax
mov edi, dword [ebp - 0xc4]
cmp dword [esi + 0x1a34], edi
jne 0x1002eca1
test ebx, ebx
jne 0x1002ec73
call fcn.1000c1a0
cmp dword [esi + 0x1a34], edi
jne 0x1002eca1
cmp byte [esi + 0x3e0], 0
je 0x1002ecae
cmp byte [ebp - 0xc9], 0
jne 0x1002ecae
cmp byte [ebp - 0xb5], 0
jne 0x1002ecae
mov byte [ebp - 0xe1], 1
mov cl, 1
jmp 0x1002ecb4
test ebx, ebx
je 0x1002ecb2
cmp byte [ebp - 0xb8], 0
je 0x1002ecb2
mov cl, 1
jmp 0x1002ecb4
xor cl, cl
mov byte [ebp - 0xb6], cl
test ebx, ebx
je 0x1002ecd1
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
je 0x1002ecd1
test cl, cl
je 0x1002ecd1
mov edx, 1
jmp 0x1002ecd3
xor dl, dl
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0x11c], edx
mov byte [ebp - 0xea], dl
mov byte [ebp - 0xeb], 0
mov byte [ebp - 0xca], 0
test al, al
je 0x1002edfb
test ebx, ebx
je 0x1002edfb
test cl, cl
jne 0x1002ed0f
test dl, dl
je 0x1002ee03
mov ecx, dword [ebx + 0x10]
cmp ecx, 0x21
jge 0x1002ed3f
test ecx, ecx
je 0x1002ed26
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x1002ed2b
mov eax, 8
cmp eax, 0x21
mov ecx, 0x21
cmovg ecx, eax
push ecx
lea ecx, [ebx + 0xc]
call fcn.1001a3b0
mov edx, dword [ebp - 0xd4]
mov edi, edx
mov dword [ebx + 0xc], 0x21
mov ecx, dword [ebx + 0x14]
mov esi, ecx
mov dword [ebp - 0xe0], ecx
lea eax, [ecx + 0x40]
cmp ecx, eax
jae 0x1002ed9c
cmp byte [edi], 0
je 0x1002ed96
push 0
mov edx, edi
lea ecx, [ebp - 0xc0]
call fcn.10009cb0
mov ecx, dword [ebp - 0xe0]
add edi, eax
mov eax, dword [ebp - 0xc0]
add esp, 4
test eax, eax
je 0x1002ed96
mov word [esi], ax
add esi, 2
lea eax, [ecx + 0x40]
cmp esi, eax
jb 0x1002ed60
mov edx, dword [ebp - 0xd4]
xor eax, eax
sub edi, edx
mov word [esi], ax
sub esi, ecx
movzx eax, byte [ebp - 0xea]
sar esi, 1
cmp dword [ebx + 0x3c], esi
mov ecx, esi
mov dword [ebx + 4], esi
cmovl ecx, dword [ebx + 0x3c]
cmp dword [ebx + 0x40], esi
mov dword [ebx + 0x3c], ecx
mov ecx, esi
cmovl ecx, dword [ebx + 0x40]
cmp dword [ebx + 0x44], esi
mov dword [ebx + 8], edi
cmovl esi, dword [ebx + 0x44]
xor edx, edx
mov edi, dword [ebp - 0xc4]
cmp ecx, esi
mov dword [ebx + 0x40], ecx
mov cl, byte [ebp - 0xb6]
cmovne edx, eax
mov eax, dword [ebp - 0xe8]
mov dword [ebx + 0x44], esi
mov esi, dword [ebp - 0xb4]
mov dword [ebp - 0x11c], edx
test cl, cl
jne 0x1002ee0b
test dl, dl
jne 0x1002ee0b
cmp dword [esi + 0x1a34], edi
jne 0x1002ee1f
test al, al
jne 0x1002ee1f
test ebx, ebx
je 0x1002ee1f
mov byte [ebp - 0xea], 1
cmp byte [ebx + 0x30], al
jne 0x1002ee26
mov byte [ebp - 0xea], 0
cmp byte [ebp - 0x160], 0
je 0x1002eecd
mov esi, dword [esi + 0x18cc]
cmp dword [esi + 0x14], 0x2a
ja 0x1002ee44
mov edi, dword [esi + 0x2c]
jmp 0x1002ee63
mov eax, dword [esi + 0x1c]
mov ecx, 0xffff
movzx eax, word [eax + 0x54]
cmp ax, cx
jne 0x1002ee5a
mov edi, dword [esi + 0x2c]
jmp 0x1002ee63
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x28]
lea edi, [eax + ecx*8]
mov eax, dword [esi + 0x10]
mov esi, dword [ebp - 0xb4]
mov edx, dword [ebp - 0xb4]
add edx, 0x2cd8
mov dword [edx + 0x10], eax
mov eax, dword [esi + 0x18cc]
mov eax, dword [eax + 0x48]
mov dword [edx + 0x48], eax
mov eax, dword [esi + 0x18cc]
mov ecx, dword [eax + 0x30]
mov eax, dword [eax + 0x34]
mov dword [edx + 0x30], ecx
mov ecx, edx
mov dword [edx + 0x34], eax
mov eax, dword [esi + 0x18cc]
mov eax, dword [eax + 0x4c]
mov dword [edx + 0x4c], eax
mov eax, dword [esi + 0x18cc]
mov eax, dword [eax + 0x50]
mov dword [edx + 0x50], eax
mov eax, dword [esi + 0x18cc]
mov eax, dword [eax + 0x38]
mov dword [edx + 0x38], eax
mov dword [edx + 0x2c], edi
mov eax, dword [edi + 4]
mov dword [edx + 0xc], eax
call fcn.100146b0
mov edx, dword [ebp - 0xc4]
movss xmm1, dword [ebp - 0x4c]
movss xmm0, dword [0x1007de14]
mov dword [ebp - 0x144], 0
movss dword [ebp - 0x120], xmm1
cmp dword [esi + 0x1a34], edx
jne 0x1002f3c6
mov eax, dword [ebx + 8]
mov dword [ebx + 0x34], 0x20
mov dword [ebx + 0xe6c], 0
mov dword [ebx + 0xe70], 0
mov dword [ebp - 0x144], eax
mov eax, dword [ebp - 0xd0]
mov dword [ebx + 0xe68], eax
mov dl, byte [esi + 0xf0]
test dl, dl
mov dword [esi + 0x2fec], 1
sete al
cmp byte [ebp - 0xd8], 0
mov byte [esi + 0x1a41], al
movss xmm7, dword [esi + 0xe8]
subss xmm7, xmm1
subss xmm7, dword [esi + 0x1550]
addss xmm7, dword [ebx + 0x38]
je 0x1002ef8b
mov eax, dword [ebp - 0x100]
movss xmm2, dword [esi + 0xec]
subss xmm2, dword [eax + 0xcc]
subss xmm2, dword [esi + 0x1554]
jmp 0x1002ef97
movss xmm2, dword [esi + 0x18d0]
mulss xmm2, xmm0
cmp byte [ebp - 0xbc], 0
mov al, byte [esi + 0xb1]
mov byte [ebp - 0xe9], al
jne 0x1002f169
mov cl, byte [ebp - 0xad]
test cl, cl
je 0x1002efce
test al, al
jne 0x1002f07c
cmp byte [esi + 0x3e5], al
jne 0x1002f169
mov edi, dword [ebp - 0xb4]
lea esi, [ebx + 0xe65]
mov al, byte [esi]
cmp byte [edi + 0x3e0], 0
je 0x1002f0e0
test al, al
jne 0x1002f0e0
test cl, cl
je 0x1002f02f
cmp byte [ebx + 0x4c], al
je 0x1002f00e
push 0
mov edx, ebx
lea ecx, [ebp - 0x2c]
call fcn.1002c700
movss xmm2, dword [ebp - 0x20]
add esp, 4
movaps xmm1, xmm7
mov ecx, ebx
call fcn.1002ca10
mov dword [ebx + 0x3c], eax
mov dword [ebx + 0x40], eax
mov dword [ebx + 0x44], eax
mov byte [ebx + 0x4b], 0
mov dword [ebx + 0xe60], 0xbe99999a
mov ecx, esi
mov esi, edi
cmp byte [ecx], 0
je 0x1002f044
cmp byte [esi + 0xf0], 0
jne 0x1002f044
mov byte [ecx], 0
cmp byte [esi + 0x100], 0
je 0x1002f056
cmp byte [esi + 0x102], 0
je 0x1002f070
cmp byte [ebp - 0xe9], 0
je 0x1002f18b
cmp byte [esi + 0x103], 0
je 0x1002f18b
mov byte [ebp - 0xae], 1
jmp 0x1002f192
cmp byte [esi + 0x3e5], 0
je 0x1002efce
push 0x20000c
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.1002ce40
add esp, 4
mov byte [ebx + 0xe64], 1
lea edx, [ebx + 0x3c]
mov dword [ebx + 0xe60], 0xbe99999a
mov ecx, ebx
push 0x60000d
call fcn.1002ce40
mov esi, dword [ebp - 0xb4]
lea ecx, [ebx + 0xe65]
add esp, 4
mov byte [ebx + 0xe64], 1
mov dword [ebx + 0xe60], 0xbe99999a
jmp 0x1002f033
mov ecx, esi
test dl, dl
je 0x1002f031
test al, al
jne 0x1002f031
movss xmm0, dword [edi + 0x378]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x1002f11b
movss xmm0, dword [edi + 0x37c]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1002f031
cmp byte [ebx + 0x4c], 0
je 0x1002f135
push 0
mov edx, ebx
lea ecx, [ebp - 0x2c]
call fcn.1002c700
movss xmm2, dword [ebp - 0x20]
add esp, 4
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
jne 0x1002f143
mov eax, dword [ebx + 0x3c]
mov dword [ebx + 0x40], eax
movaps xmm1, xmm7
mov ecx, ebx
call fcn.1002ca10
mov dword [ebx + 0x44], eax
mov dword [ebx + 0x3c], eax
mov dword [ebx + 0xe60], 0xbe99999a
mov byte [ebx + 0xe64], 1
jmp 0x1002f02f
mov eax, dword [ebx + 4]
lea ecx, [ebx + 0xe65]
mov dword [ebx + 0x40], 0
mov dword [ebx + 0x44], eax
mov dword [ebx + 0x3c], eax
mov byte [ebx + 0x4b], 0
mov byte [ecx], 1
jmp 0x1002f033
mov byte [ebp - 0xae], 0
test dword [ebp - 0xd0], 0x400
je 0x1002f259
mov edi, dword [0x10089244]
mov ecx, dword [edi + 0x34]
test ecx, ecx
js 0x1002f25f
call fcn.1000ebd0
mov ecx, dword [ebp - 0xe8]
test al, al
mov al, byte [ebp - 0xae]
je 0x1002f26b
test al, al
jne 0x1002f26b
cmp byte [esi + 0x101], al
jne 0x1002f26b
test cl, cl
jne 0x1002f26b
mov ecx, dword [esi + 0x1514]
mov eax, dword [esi + 0x150c]
lea edx, [ecx + eax*2]
cmp ecx, edx
jae 0x1002f210
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
cmp ax, 9
je 0x1002f25f
cmp ecx, edx
jb 0x1002f200
mov edx, dword [ebp - 0xd0]
lea ecx, [ebp - 0xe0]
sub esp, 8
mov dword [ebp - 0xe0], 9
call fcn.1002df90
add esp, 8
test al, al
je 0x1002f259
push dword [ebp - 0xe0]
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.1002ce40
add esp, 4
mov byte [ebx + 0xe64], 1
mov dword [ebx + 0xe60], 0xbe99999a
mov edi, dword [0x10089244]
mov ecx, dword [ebp - 0xe8]
mov al, byte [ebp - 0xae]
add esi, 0x150c
mov dword [ebp - 0xc0], esi
cmp dword [esi], 0
jle 0x1002f34d
test al, al
jne 0x1002f322
test cl, cl
jne 0x1002f322
cmp byte [ebp - 0xb7], cl
jne 0x1002f322
mov edi, dword [ebp - 0xb4]
xor esi, esi
nop dword [eax]
nop dword [eax + eax]
mov eax, dword [edi + 0x1514]
movzx eax, word [eax + esi*2]
mov dword [ebp - 0xe0], eax
cmp eax, 9
jne 0x1002f2ce
cmp byte [edi + 0x101], 0
jne 0x1002f30d
mov edx, dword [ebp - 0xd0]
lea ecx, [ebp - 0xe0]
sub esp, 8
call fcn.1002df90
add esp, 8
test al, al
je 0x1002f30d
push dword [ebp - 0xe0]
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.1002ce40
add esp, 4
mov byte [ebx + 0xe64], 1
mov dword [ebx + 0xe60], 0xbe99999a
inc esi
cmp esi, dword [edi + 0x150c]
jl 0x1002f2b0
mov edi, dword [0x10089244]
mov esi, dword [ebp - 0xc0]
mov ecx, dword [esi + 4]
test ecx, ecx
jns 0x1002f347
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
xor ecx, ecx
test eax, eax
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.1001a3b0
mov edi, dword [0x10089244]
mov dword [esi], 0
mov esi, dword [ebp - 0xb4]
mov eax, dword [ebp - 0xc4]
xor dl, dl
mov byte [ebp - 0xad], dl
cmp dword [esi + 0x1a34], eax
jne 0x100305a4
cmp byte [esi + 0x1a40], dl
jne 0x1002fe72
cmp byte [ebp - 0xe1], dl
jne 0x1002fe72
mov edx, dword [ebp - 0xb4]
xor esi, esi
mov eax, 0x400000
cmp byte [edx + 0x101], 0
mov ch, byte [edx + 0xb1]
cmovne esi, eax
mov byte [ebp - 0x10d], ch
test ch, ch
je 0x1002f3ce
mov eax, dword [edx + 0x380]
mov dword [ebp - 0xbc], eax
cmp eax, 0xa
jne 0x1002f3ce
mov byte [ebp - 0xb8], 1
jmp 0x1002f3e5
mov edi, dword [0x10089244]
jmp 0x1002f353
mov eax, dword [edx + 0x380]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0
test ch, ch
je 0x1002f413
cmp byte [edx + 0x103], 0
mov cl, byte [edx + 0x102]
mov byte [ebp - 0xb5], cl
je 0x1002f426
cmp byte [edx + 0x100], 0
jne 0x1002f426
test cl, cl
jne 0x1002f426
mov byte [ebp - 0xb7], 1
cmp eax, 8
jmp 0x1002f44c
mov cl, byte [edx + 0x100]
mov byte [ebp - 0xb8], 0
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb5], cl
mov byte [ebp - 0xb7], 0
test ch, ch
je 0x1002f43c
cmp eax, 8
jmp 0x1002f44c
cmp eax, 1
mov byte [ebp - 0xb5], cl
mov byte [ebp - 0xb7], 0
sete dl
mov byte [ebp - 0xae], dl
test dl, dl
je 0x1002f472
mov ecx, dword [edi + 0x80]
test ecx, ecx
js 0x1002f472
call fcn.1000ebd0
test al, al
jne 0x1002f487
mov eax, dword [ebp - 0xbc]
cmp eax, 2
jne 0x1002f4b3
mov ecx, dword [edi + 0x5c]
test ecx, ecx
js 0x1002f4b3
call fcn.1000ebd0
test al, al
je 0x1002f4b3
cmp byte [ebp - 0xe8], 0
jne 0x1002f4b3
cmp byte [ebp - 0x160], 0
jne 0x1002f4b3
cmp byte [ebp - 0xd8], 0
je 0x1002f4aa
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
je 0x1002f4b3
mov byte [ebp - 0xc9], 1
jmp 0x1002f4ba
mov byte [ebp - 0xc9], 0
cmp byte [ebp - 0xae], 0
je 0x1002f4d3
mov ecx, dword [edi + 0x78]
test ecx, ecx
js 0x1002f4d3
call fcn.1000ebd0
test al, al
jne 0x1002f4ec
cmp dword [ebp - 0xbc], 1
jne 0x1002f50f
mov ecx, dword [edi + 0x58]
test ecx, ecx
js 0x1002f50f
call fcn.1000ebd0
test al, al
je 0x1002f50f
cmp byte [ebp - 0x160], 0
jne 0x1002f50f
cmp byte [ebp - 0xd8], 0
je 0x1002f506
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
je 0x1002f50f
mov byte [ebp - 0x101], 1
jmp 0x1002f516
mov byte [ebp - 0x101], 0
cmp byte [ebp - 0xae], 0
je 0x1002f52f
mov ecx, dword [edi + 0x7c]
test ecx, ecx
js 0x1002f52f
call fcn.1000ebd0
test al, al
jne 0x1002f548
cmp dword [ebp - 0xbc], 2
jne 0x1002f558
mov ecx, dword [edi + 0x58]
test ecx, ecx
js 0x1002f558
call fcn.1000ebd0
test al, al
je 0x1002f558
cmp byte [ebp - 0xe8], 0
mov byte [ebp - 0xe9], 1
je 0x1002f55f
mov byte [ebp - 0xe9], 0
mov al, byte [ebp - 0xae]
test al, al
je 0x1002f59d
mov ecx, dword [edi + 0x88]
test ecx, ecx
js 0x1002f59d
call fcn.1000ebd0
test al, al
je 0x1002f597
cmp byte [ebp - 0xe8], 0
jne 0x1002f597
cmp byte [ebp - 0x134], 0
je 0x1002f597
mov byte [ebp - 0xf9], 1
jmp 0x1002f5a8
mov al, byte [ebp - 0xae]
mov byte [ebp - 0xf9], 0
test al, al
je 0x1002f5bb
mov ecx, dword [edi + 0x84]
test ecx, ecx
js 0x1002f5bb
call fcn.1000ebd0
test al, al
jne 0x1002f5d7
cmp byte [ebp - 0xb8], 0
je 0x1002f5f0
mov ecx, dword [edi + 0x88]
test ecx, ecx
js 0x1002f5f0
call fcn.1000ebd0
test al, al
je 0x1002f5f0
cmp byte [ebp - 0xe8], 0
jne 0x1002f5f0
cmp byte [ebp - 0x134], 0
mov byte [ebp - 0xb8], 1
jne 0x1002f5f7
mov byte [ebp - 0xb8], 0
mov ecx, dword [edi + 0x38]
test ecx, ecx
js 0x1002f682
call fcn.1000ebd0
test al, al
je 0x1002f682
cmp byte [ebp - 0xb7], 0
je 0x1002f61b
mov eax, 0x200004
jmp 0x1002f62f
cmp byte [ebp - 0xb5], 0
mov eax, 0x200000
mov ecx, 0x20000c
cmovne eax, ecx
or eax, esi
push eax
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.1002ce40
mov dword [ebx + 0xe60], 0xbe99999a
mov byte [ebx + 0xe64], 1
add esp, 4
mov edi, dword [0x10089244]
mov esi, dword [ebp - 0xb4]
mov dl, byte [ebp - 0xad]
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
je 0x1002fe64
cmp byte [ebp - 0xb6], 0
je 0x1002fe64
mov al, 1
jmp 0x1002fe66
mov ecx, dword [edi + 0x3c]
test ecx, ecx
js 0x1002f6dc
call fcn.1000ebd0
test al, al
je 0x1002f6dc
cmp byte [ebp - 0xb7], 0
je 0x1002f6a2
mov eax, 0x200005
jmp 0x1002f6b6
cmp byte [ebp - 0xb5], 0
mov eax, 0x200001
mov ecx, 0x20000d
cmovne eax, ecx
or eax, esi
lea edx, [ebx + 0x3c]
push eax
mov ecx, ebx
call fcn.1002ce40
add esp, 4
mov byte [ebx + 0xe64], 1
mov dword [ebx + 0xe60], 0xbe99999a
jmp 0x1002f650
mov ecx, dword [edi + 0x40]
test ecx, ecx
js 0x1002f744
call fcn.1000ebd0
test al, al
je 0x1002f744
cmp byte [ebp - 0xd8], 0
je 0x1002f744
mov eax, dword [ebp - 0xb4]
cmp byte [eax + 0x100], 0
je 0x1002f731
mov ecx, dword [ebp - 0x100]
mov esi, eax
xorps xmm1, xmm1
movss xmm0, dword [ecx + 0x54]
subss xmm0, dword [esi + 0x18d0]
mov dword [ecx + 0x6c], 0
maxss xmm0, xmm1
movss dword [ecx + 0x64], xmm0
jmp 0x1002f65c
movzx eax, byte [ebp - 0xb7]
lea eax, [eax*4 + 0x200002]
jmp 0x1002f62f
mov ecx, dword [edi + 0x44]
test ecx, ecx
js 0x1002f7b0
call fcn.1000ebd0
test al, al
je 0x1002f7b0
cmp byte [ebp - 0xd8], 0
je 0x1002f7b0
mov eax, dword [ebp - 0xb4]
cmp byte [eax + 0x100], 0
je 0x1002f79d
mov ecx, dword [ebp - 0x100]
mov esi, eax
mov eax, dword [edi + 0x1a00]
movss xmm0, dword [esi + 0x18d0]
addss xmm0, dword [ecx + 0x54]
minss xmm0, dword [eax + 0x5c]
mov dword [ecx + 0x6c], 0
movss dword [ecx + 0x64], xmm0
jmp 0x1002f65c
movzx eax, byte [ebp - 0xb7]
lea eax, [eax*4 + 0x200003]
jmp 0x1002f62f
mov ecx, dword [edi + 0x50]
test ecx, ecx
js 0x1002f7e3
call fcn.1000ebd0
test al, al
je 0x1002f7e3
mov ecx, dword [ebp - 0xb4]
mov eax, esi
or eax, 0x200006
or esi, 0x200004
cmp byte [ecx + 0x100], 0
cmovne esi, eax
push esi
jmp 0x1002f632
mov ecx, dword [edi + 0x54]
test ecx, ecx
js 0x1002f816
call fcn.1000ebd0
test al, al
je 0x1002f816
mov ecx, dword [ebp - 0xb4]
mov eax, esi
or eax, 0x200007
or esi, 0x200005
cmp byte [ecx + 0x100], 0
cmovne esi, eax
push esi
jmp 0x1002f632
mov ecx, dword [edi + 0x5c]
test ecx, ecx
js 0x1002f83b
call fcn.1000ebd0
test al, al
je 0x1002f83b
cmp byte [ebp - 0xe8], 0
jne 0x1002f83b
or esi, 0x200008
push esi
jmp 0x1002f632
mov ecx, dword [edi + 0x60]
test ecx, ecx
js 0x1002f8c9
call fcn.1000ebd0
test al, al
je 0x1002f8c9
cmp byte [ebp - 0xe8], 0
jne 0x1002f8c9
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
jne 0x1002f8bd
cmp byte [ebp - 0xb5], 0
je 0x1002f870
push 0x60000c
jmp 0x1002f89f
cmp byte [ebp - 0x10d], 0
je 0x1002f8bd
mov eax, dword [ebp - 0xb4]
cmp byte [eax + 0x103], 0
je 0x1002f8bd
cmp byte [eax + 0x102], 0
jne 0x1002f8bd
cmp byte [eax + 0x100], 0
jne 0x1002f8bd
push 0x600004
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.1002ce40
mov dword [ebx + 0xe60], 0xbe99999a
add esp, 4
mov byte [ebx + 0xe64], 1
or esi, 0x200009
push esi
jmp 0x1002f632
mov ecx, dword [edi + 0x68]
test ecx, ecx
js 0x1002f8d9
call fcn.1000ebd0
test al, al
jne 0x1002f8f1
mov ecx, dword [edi + 0x70]
test ecx, ecx
js 0x1002f991
call fcn.1000ebd0
test al, al
je 0x1002f991
mov edx, dword [ebp - 0xd0]
mov eax, edx
mov esi, dword [ebp - 0xb4]
shr eax, 0xb
and al, 1
cmp byte [ebp - 0xd8], 0
je 0x1002f91b
mov cl, byte [esi + 0x100]
test al, al
je 0x1002f92e
test cl, cl
jne 0x1002f932
mov byte [ebp - 0xe1], 1
mov byte [ebp - 0xca], 1
jmp 0x1002f65c
test cl, cl
jne 0x1002f91b
cmp byte [ebp - 0xe8], 0
jne 0x1002f65c
sub esp, 8
mov dword [ebp - 0xe0], 0xa
lea ecx, [ebp - 0xe0]
call fcn.1002df90
add esp, 8
test al, al
je 0x1002fa55
push dword [ebp - 0xe0]
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.1002ce40
mov edi, dword [0x10089244]
add esp, 4
mov byte [ebx + 0xe64], 1
mov dword [ebx + 0xe60], 0xbe99999a
jmp 0x1002f65c
mov ecx, dword [edi + 0x6c]
test ecx, ecx
js 0x1002f9b4
call fcn.1000ebd0
test al, al
je 0x1002f9b4
mov esi, dword [ebp - 0xb4]
mov dl, 1
mov byte [ebp - 0xe1], dl
jmp 0x1002f662
mov al, byte [ebp - 0xf9]
test al, al
jne 0x1002fe40
cmp byte [ebp - 0xb8], al
jne 0x1002fe40
cmp byte [ebp - 0xae], al
je 0x1002fa06
mov ecx, dword [edi + 0x74]
test ecx, ecx
js 0x1002fa06
call fcn.1000ebd0
test al, al
je 0x1002fa06
mov eax, dword [ebx + 4]
mov dword [ebx + 0x40], 0
mov dword [ebx + 0x44], eax
mov dword [ebx + 0x3c], eax
mov byte [ebx + 0x4b], 0
mov byte [ebx + 0xe64], 1
jmp 0x1002f656
mov al, byte [ebp - 0xc9]
test al, al
jne 0x1002fcce
cmp byte [ebp - 0x101], al
jne 0x1002fcce
cmp byte [ebp - 0xe9], al
je 0x1002f656
mov eax, dword [edi + 0xd0]
test eax, eax
je 0x1002fa60
push dword [edi + 0xd8]
call eax
mov esi, eax
add esp, 4
test esi, esi
je 0x1002fa4f
mov edi, dword [0x10089244]
jmp 0x1002fa65
mov esi, dword [ebp - 0xb4]
mov edi, dword [0x10089244]
jmp 0x1002f65c
mov esi, 0x1007cedf
mov ecx, esi
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1002fa70
sub ecx, edx
test edi, edi
je 0x1002fa83
inc dword [edi + 0x374]
lea eax, [ecx*2 + 2]
push eax
call fcn.10050b3a
xor edi, edi
mov dword [ebp - 0x114], eax
add esp, 4
mov dword [ebp - 0xf8], edi
cmp byte [esi], 0
je 0x1002fb0b
mov ebx, eax
nop dword [eax + eax]
push 0
mov edx, esi
lea ecx, [ebp - 0xc8]
call fcn.10009cb0
add esp, 4
add esi, eax
cmp dword [ebp - 0xc8], 0
je 0x1002faf9
mov edx, dword [ebp - 0xd0]
lea ecx, [ebp - 0xc8]
sub esp, 8
call fcn.1002df90
add esp, 8
test al, al
je 0x1002faf4
mov ax, word [ebp - 0xc8]
mov word [ebx + edi*2], ax
inc edi
cmp byte [esi], 0
jne 0x1002fab0
mov ebx, dword [ebp - 0x15c]
mov eax, dword [ebp - 0x114]
mov dword [ebp - 0xf8], edi
xor ecx, ecx
mov word [eax + edi*2], cx
test edi, edi
jle 0x1002fcaf
mov ecx, dword [ebx + 0x44]
lea esi, [ebx + 0x3c]
mov eax, dword [esi + 4]
mov edx, dword [ebx + 4]
mov dword [ebp - 0xdc], edx
cmp eax, ecx
je 0x1002fb88
mov dword [ebp - 0xf4], eax
lea esi, [ebx + 0x3c]
cmp eax, edx
mov eax, edx
jle 0x1002fb4a
mov dword [esi + 4], eax
mov edx, dword [ebx + 4]
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0xbc], ecx
cmp ecx, eax
jle 0x1002fb62
mov dword [esi + 8], eax
mov edx, dword [ebx + 4]
mov dword [ebp - 0xbc], eax
jmp 0x1002fb68
mov eax, dword [ebp - 0xbc]
mov ebx, dword [ebp - 0xbc]
mov ecx, eax
mov eax, dword [ebp - 0xf4]
cmp eax, ebx
mov ebx, dword [ebp - 0x15c]
jne 0x1002fb88
mov ecx, dword [ebp - 0xbc]
mov dword [esi], eax
mov edi, dword [esi]
mov esi, edi
mov dword [ebp - 0xf0], edi
mov edi, dword [ebp - 0xf8]
cmp esi, dword [ebp - 0xdc]
jle 0x1002fbb5
mov edi, dword [ebp - 0xdc]
mov dword [ebx + 0x3c], edi
mov dword [ebp - 0xf0], edi
mov edi, dword [ebp - 0xf8]
cmp eax, ecx
je 0x1002fc1a
mov dword [ebp - 0xf4], eax
cmp eax, edx
jle 0x1002fbd0
mov eax, edx
mov dword [ebx + 0x40], edx
mov dword [ebp - 0xf4], eax
jmp 0x1002fbd6
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0xbc], ecx
cmp ecx, edx
jle 0x1002fbe9
mov dword [ebx + 0x44], edx
mov dword [ebp - 0xbc], edx
mov ecx, dword [ebp - 0xf0]
mov dword [ebp - 0xf0], ecx
mov ecx, dword [ebp - 0xbc]
mov edi, ecx
cmp dword [ebp - 0xf4], edi
mov edi, dword [ebp - 0xf8]
jne 0x1002fc1a
mov eax, dword [ebp - 0xf4]
mov dword [ebx + 0x3c], eax
mov dword [ebp - 0xf0], eax
cmp dword [ebp - 0xf0], edx
jle 0x1002fc25
mov dword [ebx + 0x3c], edx
cmp eax, ecx
je 0x1002fc5c
lea edx, [ebx + 0x3c]
jge 0x1002fc41
sub ecx, eax
push ecx
push eax
mov ecx, ebx
call fcn.1002cd00
mov eax, dword [ebx + 0x40]
mov dword [ebx + 0x44], eax
jmp 0x1002fc52
sub eax, ecx
push eax
push ecx
mov ecx, ebx
call fcn.1002cd00
mov eax, dword [ebx + 0x44]
mov dword [ebx + 0x40], eax
mov dword [ebx + 0x3c], eax
add esp, 8
mov byte [ebx + 0x4b], 0
mov edx, dword [ebx + 0x3c]
mov ecx, ebx
push edi
push dword [ebp - 0x114]
call fcn.1002c8e0
add esp, 8
test al, al
je 0x1002fc8e
mov edx, dword [ebx + 0x3c]
lea ecx, [ebx + 0x54]
push edi
push 0
call fcn.1002dad0
add esp, 8
mov byte [ebx + 0x4b], 0
add dword [ebx + 0x3c], edi
jmp 0x1002fca2
movzx eax, word [ebx + 0xe52]
test ax, ax
je 0x1002fca2
dec eax
mov word [ebx + 0xe52], ax
mov eax, dword [ebp - 0x114]
mov byte [ebx + 0xe64], 1
test eax, eax
je 0x1002fcc3
mov ecx, dword [0x10089244]
test ecx, ecx
je 0x1002fcc3
dec dword [ecx + 0x374]
push eax
call fcn.10049769
jmp 0x1002f64d
mov esi, dword [ebp - 0xb4]
cmp dword [esi + 0xd4], 0
je 0x1002fda0
mov ecx, dword [ebx + 0x44]
mov eax, dword [ebx + 0x40]
cmp eax, ecx
je 0x1002fcf5
mov esi, ecx
cmovge ecx, eax
cmovl esi, eax
jmp 0x1002fcfa
mov ecx, dword [ebx + 4]
xor esi, esi
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0xe0], ecx
mov dword [ebp - 0x134], esi
lea edx, [eax + ecx*2]
lea ecx, [eax + esi*2]
call fcn.10009f20
inc eax
mov dword [ebp - 0xc0], eax
test edi, edi
je 0x1002fd25
inc dword [edi + 0x374]
push eax
call fcn.10050b3a
mov esi, dword [ebx + 0x14]
add esp, 4
mov ecx, dword [ebp - 0xe0]
mov edi, eax
mov edx, dword [ebp - 0xc0]
lea ecx, [esi + ecx*2]
push ecx
mov ecx, dword [ebp - 0x134]
lea ecx, [esi + ecx*2]
push ecx
mov ecx, edi
call fcn.10009e50
mov eax, dword [0x10089244]
add esp, 8
mov ecx, dword [eax + 0xd4]
test ecx, ecx
je 0x1002fd77
push edi
push dword [eax + 0xd8]
call ecx
mov eax, dword [0x10089244]
add esp, 8
test edi, edi
je 0x1002fd85
test eax, eax
je 0x1002fd85
dec dword [eax + 0x374]
push edi
call fcn.10049769
mov edi, dword [0x10089244]
add esp, 4
mov esi, dword [ebp - 0xb4]
mov al, byte [ebp - 0xc9]
test al, al
je 0x1002f65c
mov eax, dword [ebx + 0x40]
lea esi, [ebx + 0x3c]
cmp eax, dword [ebx + 0x44]
jne 0x1002fdc6
mov eax, dword [ebx + 4]
mov dword [ebx + 0x40], 0
mov dword [ebx + 0x44], eax
mov dword [esi], eax
mov byte [ebx + 0x4b], 0
mov byte [ebx + 0xe64], 1
mov ecx, dword [esi + 8]
mov eax, dword [esi + 4]
cmp eax, ecx
je 0x1002f656
mov edx, dword [ebx + 4]
cmp eax, edx
jle 0x1002fde7
mov dword [esi + 4], edx
mov eax, edx
cmp ecx, edx
jle 0x1002fdf0
mov dword [esi + 8], edx
mov ecx, edx
cmp eax, ecx
jne 0x1002fdf6
mov dword [esi], eax
cmp dword [esi], edx
jle 0x1002fdfc
mov dword [esi], edx
cmp eax, ecx
je 0x1002fe37
mov edx, esi
jge 0x1002fe17
sub ecx, eax
push ecx
push eax
mov ecx, ebx
call fcn.1002cd00
mov eax, dword [esi + 4]
mov dword [esi + 8], eax
jmp 0x1002fe28
sub eax, ecx
push eax
push ecx
mov ecx, ebx
call fcn.1002cd00
mov eax, dword [esi + 8]
mov dword [esi + 4], eax
mov dword [esi], eax
add esp, 8
mov edi, dword [0x10089244]
mov byte [esi + 0xf], 0
mov byte [esi + 0xf], 0
jmp 0x1002f656
movzx eax, al
lea edx, [ebx + 0x3c]
xor eax, 1
mov ecx, ebx
add eax, 0x20000a
push eax
call fcn.1002ce40
mov eax, dword [ebx + 0x3c]
mov dword [ebx + 0x44], eax
mov dword [ebx + 0x40], eax
jmp 0x1002f63c
xor al, al
or byte [ebp - 0x11c], al
mov eax, dword [ebp - 0xc4]
cmp dword [esi + 0x1a34], eax
jne 0x100305a4
xor ecx, ecx
mov dword [ebp - 0xbc], 0
mov dword [ebp - 0xdc], ecx
test dl, dl
je 0x100301aa
cmp byte [ebp - 0xe8], cl
jne 0x100300d7
mov esi, dword [ebx + 0x2c]
mov ecx, esi
mov eax, dword [ebp - 0xd4]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1002fed0
test dl, dl
je 0x1002fecc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1002fed0
add eax, 2
add ecx, 2
test dl, dl
jne 0x1002feb0
xor eax, eax
jmp 0x1002fed5
sbb eax, eax
or eax, 1
test eax, eax
je 0x100300d7
mov eax, dword [ebx + 0x24]
xor ecx, ecx
dec eax
mov dword [ebp - 0x114], ecx
mov dword [ebp - 0xdc], eax
mov edx, esi
mov dword [ebp - 0xbc], edx
test eax, eax
jle 0x1002ffff
lea esi, [eax + edx]
mov edi, edx
xor eax, eax
mov dword [ebp - 0xc8], eax
test esi, esi
je 0x1002ff14
cmp edi, esi
jae 0x1002ff3e
cmp byte [edi], 0
je 0x1002ff3e
push esi
mov edx, edi
lea ecx, [ebp - 0xc0]
call fcn.10009cb0
add edi, eax
add esp, 4
cmp dword [ebp - 0xc0], 0
mov eax, dword [ebp - 0xc8]
je 0x1002ff3e
inc eax
jmp 0x1002ff06
mov edi, dword [0x10089244]
lea ecx, [eax + 1]
mov dword [ebp - 0xe0], ecx
test ecx, ecx
jle 0x1002ff86
mov edx, 8
mov eax, ecx
cmp ecx, edx
cmovl eax, edx
test eax, eax
jle 0x1002ff86
test edi, edi
je 0x1002ff6b
inc dword [edi + 0x374]
add eax, eax
push eax
call fcn.10050b3a
mov ecx, dword [ebp - 0xe0]
mov edx, eax
add esp, 4
mov dword [ebp - 0x114], edx
jmp 0x1002ff88
xor edx, edx
mov edi, dword [ebp - 0xbc]
mov eax, edx
lea edx, [edx + ecx*2]
mov dword [ebp - 0xc8], eax
add edx, 0xfffffffe
mov dword [ebp - 0x10c], edx
cmp dword [ebp - 0x114], edx
jae 0x1002fffa
nop word [eax + eax]
test esi, esi
je 0x1002ffb8
cmp edi, esi
jae 0x1002fff4
cmp byte [edi], 0
je 0x1002fff4
push esi
mov edx, edi
lea ecx, [ebp - 0xc0]
call fcn.10009cb0
mov ecx, dword [ebp - 0xc0]
add edi, eax
mov eax, dword [ebp - 0xc8]
add esp, 4
test ecx, ecx
je 0x1002fff4
mov word [eax], cx
add eax, 2
mov dword [ebp - 0xc8], eax
cmp eax, dword [ebp - 0x10c]
jb 0x1002ffb0
mov ecx, dword [ebp - 0xe0]
xor edx, edx
mov word [eax], dx
mov esi, dword [ebx + 4]
lea eax, [ecx - 1]
mov ecx, dword [ebp - 0xdc]
xor edx, edx
test ecx, ecx
lea ecx, [ebx + 0x54]
cmovle eax, edx
push eax
push esi
mov dword [ebp - 0xc0], eax
call fcn.1002dad0
mov edx, eax
add esp, 8
test edx, edx
je 0x10030041
xor ecx, ecx
test esi, esi
jle 0x10030041
mov eax, dword [ebx + 0x14]
mov ax, word [eax + ecx*2]
mov word [edx + ecx*2], ax
inc ecx
cmp ecx, esi
jl 0x10030031
mov eax, dword [ebx + 4]
mov edi, dword [ebx + 0x14]
mov ecx, edi
lea esi, [edi + eax*2]
mov edx, esi
call fcn.10009f20
sub dword [ebx + 8], eax
mov dword [ebx + 4], 0
movzx eax, word [esi]
add esi, 2
test ax, ax
je 0x10030082
nop dword [eax + eax]
mov word [edi], ax
lea esi, [esi + 2]
movzx eax, word [esi - 2]
add edi, 2
test ax, ax
jne 0x10030070
mov esi, dword [ebp - 0xc0]
xor eax, eax
mov word [edi], ax
test esi, esi
jle 0x100300af
push esi
push dword [ebp - 0x114]
xor edx, edx
mov ecx, ebx
call fcn.1002c8e0
add esp, 8
test al, al
je 0x100300af
mov dword [ebx + 0x3c], esi
mov byte [ebx + 0x4b], 0
mov ecx, dword [ebp - 0x114]
test ecx, ecx
je 0x100300d1
mov eax, dword [0x10089244]
test eax, eax
je 0x100300c8
dec dword [eax + 0x374]
push ecx
call fcn.10049769
add esp, 4
mov edi, dword [0x10089244]
cmp byte [ebp - 0xca], 0
mov eax, dword [ebp - 0xd0]
je 0x100300ee
test al, 0x20
jne 0x100301b0
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ebp - 0xbc]
test edx, edx
je 0x10030580
cmp byte [ebp - 0x108], 0
je 0x10030541
mov dword [ebp - 0xa8], eax
xorps xmm0, xmm0
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0x98], eax
lea eax, [ecx + 1]
mov dword [ebp - 0x94], ecx
mov ecx, 0x20
cmp eax, ecx
movlpd qword [ebp - 0xa0], xmm0
movlpd qword [ebp - 0x8c], xmm0
cmovle eax, ecx
movlpd qword [ebp - 0x84], xmm0
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0xac]
push eax
xor eax, eax
mov dword [ebp - 0xac], 0x40000
mov dword [ebp - 0xa4], 0
call eax
mov esi, dword [ebp - 0x90]
add esp, 4
mov eax, dword [ebp - 0x98]
mov edi, dword [0x10089244]
mov edx, dword [ebp - 0xbc]
lea ecx, [esi - 1]
mov dword [ebp - 0xd4], eax
cmp dword [ebp - 0x94], ecx
cmovl ecx, dword [ebp - 0x94]
jmp 0x10030546
mov eax, dword [ebp - 0xd0]
cmp byte [ebp - 0xe8], 0
jne 0x10030219
mov eax, dword [ebx + 0xc]
mov byte [ebx + 0x30], 1
lea esi, [eax*4 + 1]
mov eax, dword [ebx + 0x1c]
cmp esi, eax
jle 0x100301fe
test eax, eax
je 0x100301e1
cdq
sub eax, edx
lea edx, [ebx + 0x18]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x100301e9
mov ecx, 8
lea edx, [ebx + 0x18]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.1001a340
mov edi, dword [0x10089244]
mov dword [ebx + 0x18], esi
mov edx, esi
mov ecx, dword [ebx + 0x20]
push 0
push dword [ebx + 0x14]
call fcn.10009e50
mov eax, dword [ebp - 0xd0]
add esp, 8
test eax, 0x1c0
je 0x100304e5
mov esi, 0x16
test al, 0x40
je 0x1003024a
mov ecx, dword [edi + 0x34]
test ecx, ecx
js 0x1003024a
call fcn.1000ebd0
test al, al
je 0x10030244
lea eax, [esi + 0x2a]
xor esi, esi
jmp 0x1003029e
mov eax, dword [ebp - 0xd0]
test al, al
jns 0x1003028e
mov ecx, dword [edi + 0x40]
test ecx, ecx
js 0x1003026e
call fcn.1000ebd0
test al, al
je 0x10030268
mov eax, 0x80
lea esi, [eax - 0x7d]
jmp 0x1003029e
mov eax, dword [ebp - 0xd0]
mov ecx, dword [edi + 0x44]
test ecx, ecx
js 0x1003028e
call fcn.1000ebd0
test al, al
je 0x10030288
mov eax, 0x80
lea esi, [eax - 0x7c]
jmp 0x1003029e
mov eax, dword [ebp - 0xd0]
test eax, 0x100
je 0x100304e5
mov eax, 0x100
mov dword [ebp - 0x7c], eax
xor ecx, ecx
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0x78], eax
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0x68], eax
mov eax, dword [ebx + 8]
mov dword [ebp - 0x64], eax
mov eax, dword [ebx + 0x34]
mov dword [ebp - 0x6c], esi
mov esi, dword [ebx + 0x14]
mov dword [ebp - 0x60], eax
mov eax, dword [ebx + 0x3c]
mov word [ebp - 0x5b], cx
mov byte [ebp - 0x59], cl
mov dword [ebp - 0x74], ecx
mov byte [ebp - 0x5c], cl
lea edx, [esi + eax*2]
mov ecx, esi
mov dword [ebp - 0x70], 0
call fcn.10009f20
mov ecx, dword [ebx + 0x40]
mov edi, eax
mov dword [ebp - 0x58], edi
lea edx, [esi + ecx*2]
mov ecx, esi
call fcn.10009f20
mov ecx, dword [ebx + 0x44]
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x54], eax
lea edx, [esi + ecx*2]
mov ecx, esi
call fcn.10009f20
mov dword [ebp - 0x124], eax
mov dword [ebp - 0x50], eax
lea eax, [ebp - 0x7c]
push eax
xor eax, eax
call eax
mov ecx, dword [ebp - 0x58]
add esp, 4
cmp ecx, edi
je 0x10030372
mov esi, dword [ebp - 0x68]
xor eax, eax
lea edi, [ecx + esi]
mov dword [ebp - 0xc8], eax
test edi, edi
je 0x1003033e
cmp esi, edi
jae 0x10030368
cmp byte [esi], 0
je 0x10030368
push edi
mov edx, esi
lea ecx, [ebp - 0xc0]
call fcn.10009cb0
add esi, eax
add esp, 4
cmp dword [ebp - 0xc0], 0
mov eax, dword [ebp - 0xc8]
je 0x10030368
inc eax
jmp 0x10030330
mov dword [ebx + 0x3c], eax
mov byte [ebx + 0xe64], 1
mov eax, dword [ebp - 0x54]
cmp eax, dword [ebp - 0x10c]
je 0x100303c0
mov esi, dword [ebp - 0x68]
lea edi, [eax + esi]
xor eax, eax
mov dword [ebp - 0xc8], eax
test edi, edi
je 0x10030393
cmp esi, edi
jae 0x100303bd
cmp byte [esi], 0
je 0x100303bd
push edi
mov edx, esi
lea ecx, [ebp - 0xc0]
call fcn.10009cb0
add esi, eax
add esp, 4
cmp dword [ebp - 0xc0], 0
mov eax, dword [ebp - 0xc8]
je 0x100303bd
inc eax
jmp 0x10030385
mov dword [ebx + 0x40], eax
mov eax, dword [ebp - 0x50]
cmp eax, dword [ebp - 0x124]
je 0x1003040e
mov esi, dword [ebp - 0x68]
lea edi, [eax + esi]
xor eax, eax
mov dword [ebp - 0xc8], eax
test edi, edi
je 0x100303e1
cmp esi, edi
jae 0x1003040b
cmp byte [esi], 0
je 0x1003040b
push edi
mov edx, esi
lea ecx, [ebp - 0xc0]
call fcn.10009cb0
add esi, eax
add esp, 4
cmp dword [ebp - 0xc0], 0
mov eax, dword [ebp - 0xc8]
je 0x1003040b
inc eax
jmp 0x100303d3
mov dword [ebx + 0x44], eax
cmp byte [ebp - 0x5c], 0
je 0x100304d9
mov esi, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x144]
cmp esi, ecx
jle 0x10030467
cmp byte [ebp - 0x108], 0
je 0x10030467
mov edi, dword [ebx + 0x10]
lea eax, [ebx + 0xc]
sub esi, ecx
add esi, dword [eax]
cmp esi, edi
jle 0x10030465
test edi, edi
je 0x1003044d
mov eax, edi
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, edi
jmp 0x10030452
mov ecx, 8
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
lea ecx, [ebx + 0xc]
push eax
call fcn.1001a3b0
lea eax, [ebx + 0xc]
mov dword [eax], esi
mov ecx, dword [ebx + 0x14]
mov esi, ecx
mov eax, dword [ebx + 0xc]
mov edi, dword [ebp - 0x68]
dec eax
mov dword [ebp - 0x124], ecx
lea eax, [ecx + eax*2]
mov dword [ebp - 0x10c], eax
cmp ecx, eax
jae 0x100304bd
cmp byte [edi], 0
je 0x100304b7
push 0
mov edx, edi
lea ecx, [ebp - 0xc0]
call fcn.10009cb0
add edi, eax
add esp, 4
mov eax, dword [ebp - 0xc0]
test eax, eax
je 0x100304b7
mov word [esi], ax
add esi, 2
cmp esi, dword [ebp - 0x10c]
jb 0x10030486
mov ecx, dword [ebp - 0x124]
xor eax, eax
mov word [esi], ax
sub esi, ecx
mov eax, dword [ebp - 0x64]
sar esi, 1
mov dword [ebx + 4], esi
mov dword [ebx + 8], eax
mov dword [ebx + 0xe60], 0xbe99999a
mov eax, dword [ebp - 0xd0]
mov edi, dword [0x10089244]
cmp byte [ebp - 0xe8], 0
jne 0x100300ee
mov esi, dword [ebx + 0x20]
mov eax, esi
mov ecx, dword [ebp - 0xd4]
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10030520
test dl, dl
je 0x1003051c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10030520
add eax, 2
add ecx, 2
test dl, dl
jne 0x10030500
xor eax, eax
jmp 0x10030525
sbb eax, eax
or eax, 1
test eax, eax
mov eax, dword [ebp - 0xd0]
je 0x100300ee
mov ecx, dword [ebx + 8]
mov dword [ebp - 0xbc], esi
jmp 0x100300f4
mov esi, 0x20
lea eax, [ecx + 1]
cmp eax, esi
cmovl esi, eax
cmp esi, 1
jb 0x10030579
jbe 0x1003056e
lea eax, [esi - 1]
push eax
push edx
push dword [ebp - 0xd4]
call fcn.1004af00
mov edi, dword [0x10089244]
add esp, 0xc
mov eax, dword [ebp - 0xd4]
mov byte [esi + eax - 1], 0
mov byte [ebp - 0xeb], 1
mov esi, dword [ebp - 0xb4]
mov dword [ebx + 0xe68], 0
mov dword [ebx + 0xe6c], 0
mov dword [ebx + 0xe70], 0
cmp byte [ebp - 0xe1], 0
mov edx, dword [ebp - 0xc4]
je 0x100305c6
cmp dword [esi + 0x1a34], edx
jne 0x100305c6
call fcn.1000c1a0
mov edx, dword [ebp - 0xc4]
cmp byte [ebp - 0xd8], 0
movss xmm3, dword [0x1007df5c]
jne 0x10030750
push 1
lea ecx, [ebp - 0x4c]
call fcn.1000b470
mov eax, dword [0x10089244]
xorps xmm3, xmm3
movss xmm6, dword [0x1007de44]
add esp, 4
movups xmm2, xmmword [eax + 0x163c]
comiss xmm3, xmm2
movaps xmm1, xmm2
shufps xmm1, xmm2, 0xff
mulss xmm1, dword [eax + 0x1518]
movups xmmword [ebp - 0x24], xmm2
jbe 0x1003061c
xorps xmm0, xmm0
jmp 0x10030623
movaps xmm0, xmm6
minss xmm0, xmm2
movss xmm4, dword [0x1007df5c]
movss xmm5, dword [0x1007de14]
movss xmm2, dword [ebp - 0x20]
comiss xmm3, xmm2
mulss xmm0, xmm4
addss xmm0, xmm5
cvttss2si edx, xmm0
jbe 0x1003064e
xorps xmm0, xmm0
jmp 0x10030655
movaps xmm0, xmm6
minss xmm0, xmm2
movss xmm2, dword [ebp - 0x1c]
mulss xmm0, xmm4
addss xmm0, xmm5
cvttss2si eax, xmm0
shl eax, 8
or edx, eax
comiss xmm3, xmm2
jbe 0x10030675
xorps xmm0, xmm0
jmp 0x1003067c
movaps xmm0, xmm6
minss xmm0, xmm2
mulss xmm0, xmm4
addss xmm0, xmm5
cvttss2si eax, xmm0
shl eax, 0x10
or edx, eax
comiss xmm3, xmm1
jbe 0x10030697
xorps xmm0, xmm0
jmp 0x1003069e
movaps xmm0, xmm6
minss xmm0, xmm1
push dword [ebp - 0x40]
movss xmm2, dword [esi + 0x1558]
push dword [ebp - 0x44]
mulss xmm0, xmm4
push dword [ebp - 0x48]
push dword [ebp - 0x4c]
addss xmm0, xmm5
cvttss2si ecx, xmm0
shl ecx, 0x18
or ecx, edx
mov dl, 1
call fcn.1000ad80
movss xmm6, dword [ebp - 0x120]
add esp, 0x10
movss xmm4, dword [ebp - 0x48]
movaps xmm0, xmm6
addss xmm0, dword [esi + 0x1550]
movss xmm5, dword [ebp - 0x130]
movaps xmm2, xmm6
mov edi, dword [0x10089244]
addss xmm2, xmm5
movss xmm3, dword [0x1007df5c]
movaps xmm1, xmm4
addss xmm1, dword [ebp - 0x138]
movss dword [ebp - 0xc], xmm0
movaps xmm0, xmm4
addss xmm0, dword [esi + 0x1554]
movss dword [ebp - 0x3c], xmm6
movss dword [ebp - 0x10c], xmm4
movss dword [ebp - 0x38], xmm4
movss dword [ebp - 0x124], xmm2
movss dword [ebp - 0x34], xmm2
movss dword [ebp - 0x108], xmm1
movss dword [ebp - 0x30], xmm1
movss dword [ebp - 8], xmm0
jmp 0x100307be
movss xmm0, dword [ebp - 0x120]
movss xmm1, dword [ebp - 0x48]
movaps xmm2, xmm0
movss xmm5, dword [ebp - 0x130]
mov ecx, dword [ebp - 0x100]
addss xmm2, xmm5
movss dword [ebp - 0x10c], xmm1
movss dword [ebp - 0x38], xmm1
addss xmm1, dword [ebp - 0x138]
mov eax, dword [ecx + 0xc8]
mov ecx, dword [ecx + 0xcc]
movss dword [ebp - 0x3c], xmm0
movaps xmm0, xmm2
movss dword [ebp - 0x124], xmm0
movss dword [ebp - 0x34], xmm0
movaps xmm0, xmm1
movss dword [ebp - 0x108], xmm0
movss dword [ebp - 0x30], xmm0
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], ecx
cmp byte [ebp - 0xea], 0
lea eax, [ebp - 0xc]
movss xmm0, dword [eax]
xorps xmm7, xmm7
movss dword [ebp - 0x12c], xmm0
movss xmm0, dword [eax + 4]
movss dword [ebp - 0xbc], xmm0
movss dword [ebp - 0x128], xmm0
xorps xmm0, xmm0
mov dword [ebp - 0xf0], eax
movss dword [ebp - 0x144], xmm1
movss dword [ebp - 0xc8], xmm2
movss dword [ebp - 0x134], xmm0
movss dword [ebp - 0xe0], xmm0
je 0x10030822
mov edx, dword [ebx + 0x20]
mov dword [ebp - 0xd4], edx
jmp 0x10030828
mov edx, dword [ebp - 0xd4]
cmp byte [ebp - 0xb6], 0
jne 0x10030b27
cmp byte [ebp - 0x11c], 0
jne 0x10030b27
cmp byte [ebp - 0xd8], 0
je 0x100308a9
mov ebx, dword [ebp - 0xd4]
xor ecx, ecx
mov dl, byte [edx]
inc ebx
test dl, dl
je 0x10030872
nop word [eax + eax]
cmp dl, 0xa
lea eax, [ecx + 1]
mov dl, byte [ebx]
cmovne eax, ecx
inc ebx
mov ecx, eax
test dl, dl
jne 0x10030860
mov al, byte [ebx - 1]
dec ebx
mov dword [ebp - 0xc4], ebx
cmp al, 0xa
je 0x10030885
cmp al, 0xd
je 0x10030885
inc ecx
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [esi + 0x18d0]
movss dword [ebp - 0xe0], xmm0
movaps xmm0, xmm5
movss dword [ebp - 0x134], xmm0
jmp 0x100308ea
mov eax, dword [ebp - 0xc4]
cmp dword [esi + 0x1a34], eax
jne 0x100308be
mov ebx, dword [ebx + 8]
add ebx, edx
jmp 0x100308d5
mov ecx, edx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100308c3
sub ecx, edx
mov edx, dword [ebp - 0xd4]
lea ebx, [edx + ecx]
mov eax, ebx
mov dword [ebp - 0xc4], ebx
sub eax, edx
cmp eax, 0x200000
jge 0x10031881
movups xmm2, xmmword [edi + 0x15cc]
movss xmm5, dword [0x1007de44]
comiss xmm7, xmm2
movaps xmm1, xmm2
shufps xmm1, xmm2, 0xff
mulss xmm1, dword [edi + 0x1518]
movups xmmword [ebp - 0x24], xmm2
jbe 0x10030916
movaps xmm0, xmm7
jmp 0x1003091d
movaps xmm0, xmm5
minss xmm0, xmm2
movss xmm4, dword [0x1007de14]
movss xmm2, dword [ebp - 0x20]
comiss xmm7, xmm2
mulss xmm0, xmm3
addss xmm0, xmm4
cvttss2si ecx, xmm0
jbe 0x10030940
movaps xmm0, xmm7
jmp 0x10030947
movaps xmm0, xmm5
minss xmm0, xmm2
movss xmm2, dword [ebp - 0x1c]
mulss xmm0, xmm3
addss xmm0, xmm4
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm7, xmm2
jbe 0x10030967
movaps xmm0, xmm7
jmp 0x1003096e
movaps xmm0, xmm5
minss xmm0, xmm2
mulss xmm0, xmm3
addss xmm0, xmm4
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
comiss xmm7, xmm1
jbe 0x10030989
movaps xmm5, xmm7
jmp 0x1003098d
minss xmm5, xmm1
mov eax, dword [ebp - 0x100]
lea edx, [ebp - 0x3c]
mulss xmm5, xmm3
mov dword [ebp - 0xc0], 0
mov ebx, dword [eax + 0x278]
mov eax, dword [ebp - 0xb4]
addss xmm5, xmm4
add eax, 0x18d0
movss xmm2, dword [eax]
cvttss2si esi, xmm5
shl esi, 0x18
or esi, ecx
cmp byte [ebp - 0xd8], 0
mov ecx, dword [ebp - 0xc4]
cmovne edx, dword [ebp - 0xc0]
mov dword [ebp - 0xc8], ecx
test esi, 0xff000000
je 0x100317d5
test ecx, ecx
jne 0x10030a19
mov ecx, dword [ebp - 0xd4]
lea eax, [ecx + 1]
mov dword [ebp - 0xc0], eax
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10030a00
sub ecx, dword [ebp - 0xc0]
add ecx, dword [ebp - 0xd4]
mov dword [ebp - 0xc8], ecx
mov eax, dword [ebp - 0xb4]
mov edi, dword [0x10089244]
add eax, 0x18d0
cmp dword [ebp - 0xd4], ecx
je 0x100317d5
mov eax, dword [ebp - 0xb4]
mov edi, dword [eax + 0x18cc]
test edi, edi
jne 0x10030a4c
mov eax, dword [ebx + 0x28]
mov edi, dword [eax + 8]
ucomiss xmm2, xmm7
lahf
test ah, 0x44
jp 0x10030a5d
mov eax, dword [ebx + 0x28]
movss xmm2, dword [eax + 0xc]
mov ecx, dword [ebx + 0x40]
mov eax, dword [ebx + 0x48]
shl ecx, 4
movups xmm0, xmmword [eax + ecx - 0x10]
movups xmmword [ebp - 0x158], xmm0
test edx, edx
je 0x10030ad5
movss xmm1, dword [edx]
movss xmm0, dword [ebp - 0x158]
comiss xmm0, xmm1
jae 0x10030a8f
movss dword [ebp - 0x158], xmm1
movss xmm1, dword [edx + 4]
movss xmm0, dword [ebp - 0x154]
comiss xmm0, xmm1
jae 0x10030aa9
movss dword [ebp - 0x154], xmm1
movss xmm0, dword [edx + 8]
comiss xmm0, dword [ebp - 0x150]
ja 0x10030abf
movss dword [ebp - 0x150], xmm0
movss xmm0, dword [edx + 0xc]
comiss xmm0, dword [ebp - 0x14c]
ja 0x10030ad5
movss dword [ebp - 0x14c], xmm0
mov eax, dword [ebp - 0xf0]
test edx, edx
push dword [eax + 4]
push dword [eax]
setne al
movzx eax, al
push eax
push ecx
mov dword [esp], 0
lea eax, [ebp - 0x158]
push dword [ebp - 0xc8]
mov ecx, edi
push dword [ebp - 0xd4]
push eax
push esi
push ebx
call fcn.10026a80
mov esi, dword [ebp - 0xb4]
mov edi, dword [0x10089244]
lea eax, [esi + 0x18d0]
xorps xmm7, xmm7
jmp 0x100317db
mov eax, dword [ebx + 8]
mov esi, 0xfffffc18
mov ecx, dword [ebx + 0x14]
xorps xmm5, xmm5
mov dword [ebp - 0x14c], eax
xorps xmm4, xmm4
add eax, edx
mov dword [ebp - 0xf8], ecx
xor edx, edx
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0x13c], 0
mov dword [ebp - 0xf4], 0
mov dword [ebp - 0x114], esi
mov dword [ebp - 0xdc], esi
cmp byte [ebp - 0xb6], dl
je 0x10030b8e
mov eax, dword [ebx + 0x3c]
or esi, 0xffffffff
mov dword [ebp - 0x114], esi
lea eax, [ecx + eax*2]
mov dword [ebp - 0x13c], eax
lea edx, [esi + 2]
cmp byte [ebp - 0x11c], 0
je 0x10030bc1
mov ecx, dword [ebx + 0x44]
cmp dword [ebx + 0x40], ecx
mov eax, dword [ebp - 0xf8]
cmovl ecx, dword [ebx + 0x40]
inc edx
mov dword [ebp - 0xdc], 0xffffffff
lea eax, [eax + ecx*2]
mov ecx, dword [ebp - 0xf8]
mov dword [ebp - 0xf4], eax
mov edi, dword [ebp - 0xf8]
mov eax, dword [ebp - 0xd8]
movzx eax, al
add edx, eax
xor eax, eax
movzx edi, word [edi]
test di, di
mov edi, dword [0x10089244]
je 0x10030c60
mov ebx, dword [ebp - 0xf8]
mov edi, dword [ebp - 0x114]
movzx esi, word [ebx]
xor ebx, ebx
cmp si, 0xa
jne 0x10030c2e
inc ebx
cmp edi, 0xffffffff
jne 0x10030c12
cmp ecx, dword [ebp - 0x13c]
jb 0x10030c12
dec edx
mov edi, ebx
test edx, edx
jle 0x10030c3c
cmp dword [ebp - 0xdc], 0xffffffff
jne 0x10030c2e
cmp ecx, dword [ebp - 0xf4]
jb 0x10030c2e
dec edx
mov dword [ebp - 0xdc], ebx
test edx, edx
jle 0x10030c3c
movzx eax, word [ecx + 2]
add ecx, 2
mov esi, eax
test ax, ax
jne 0x10030bf7
mov dword [ebp - 0x140], ebx
mov ebx, dword [ebp - 0x15c]
mov eax, dword [ebp - 0x140]
mov dword [ebp - 0x114], edi
mov edi, dword [0x10089244]
mov esi, dword [ebp - 0x114]
mov edx, dword [ebp - 0xf8]
inc eax
cmp esi, 0xffffffff
mov dword [ebp - 0x140], eax
mov ecx, eax
cmovne ecx, esi
mov esi, dword [ebp - 0x13c]
mov dword [ebp - 0xc0], ecx
mov ecx, dword [ebp - 0xdc]
cmp ecx, 0xffffffff
cmove ecx, eax
mov dword [ebp - 0xdc], ecx
mov ecx, esi
cmp esi, edx
jbe 0x10030cae
nop dword [eax]
cmp word [ecx - 2], 0xa
je 0x10030cae
add ecx, 0xfffffffe
cmp ecx, edx
ja 0x10030ca0
mov edx, dword [edi + 0x18cc]
movaps xmm1, xmm7
movss xmm2, dword [edi + 0x18d0]
movaps xmm6, xmm7
divss xmm2, dword [edx + 0x10]
cmp ecx, esi
jae 0x10030d13
mov edi, dword [ebp - 0x13c]
movzx eax, word [ecx]
add ecx, 2
mov esi, eax
cmp eax, 0xa
jne 0x10030ce7
maxss xmm1, xmm6
movaps xmm6, xmm7
jmp 0x10030d09
cmp esi, 0xd
je 0x10030d09
mov esi, eax
cmp esi, dword [edx]
jge 0x10030cfc
mov eax, dword [edx + 8]
movss xmm0, dword [eax + esi*4]
jmp 0x10030d01
movss xmm0, dword [edx + 0xc]
mulss xmm0, xmm2
addss xmm6, xmm0
cmp ecx, edi
jb 0x10030cd1
mov edi, dword [0x10089244]
movd xmm0, dword [ebp - 0xc0]
maxss xmm6, xmm1
mov ecx, dword [ebp - 0xb4]
add ecx, 0x18d0
cmp dword [ebp - 0xdc], 0
cvtdq2ps xmm0, xmm0
mov dword [ebp - 0x13c], ecx
movss xmm3, dword [ecx]
mulss xmm0, xmm3
movss dword [ebp - 0x168], xmm6
movss dword [ebp - 0xc0], xmm0
jl 0x10030ded
mov eax, dword [ebp - 0xf4]
mov ecx, eax
mov esi, dword [ebp - 0xf8]
cmp eax, esi
jbe 0x10030d84
nop dword [eax + eax]
cmp word [ecx - 2], 0xa
je 0x10030d7e
add ecx, 0xfffffffe
cmp ecx, esi
ja 0x10030d70
mov eax, dword [ebp - 0xf4]
movaps xmm1, xmm7
movaps xmm4, xmm7
cmp ecx, eax
jae 0x10030dd4
mov edi, dword [ebp - 0xf4]
movzx eax, word [ecx]
add ecx, 2
cmp eax, 0xa
jne 0x10030da8
maxss xmm1, xmm4
movaps xmm4, xmm7
jmp 0x10030dca
cmp eax, 0xd
je 0x10030dca
mov esi, eax
cmp esi, dword [edx]
jge 0x10030dbd
mov eax, dword [edx + 8]
movss xmm0, dword [eax + esi*4]
jmp 0x10030dc2
movss xmm0, dword [edx + 0xc]
mulss xmm0, xmm2
addss xmm4, xmm0
cmp ecx, edi
jb 0x10030d94
mov edi, dword [0x10089244]
movd xmm5, dword [ebp - 0xdc]
maxss xmm4, xmm1
mov ecx, dword [ebp - 0x13c]
cvtdq2ps xmm5, xmm5
mulss xmm5, xmm3
mov edx, dword [ebp - 0xd8]
test dl, dl
je 0x10030e23
movd xmm0, dword [ebp - 0x140]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm3
movss xmm3, dword [ebp - 0x130]
movss dword [ebp - 0xe0], xmm0
movaps xmm0, xmm3
movss dword [ebp - 0x134], xmm0
jmp 0x10030e2b
movss xmm3, dword [ebp - 0x130]
cmp byte [ebp - 0xb6], 0
je 0x10030eff
cmp byte [ebx + 0xe64], 0
je 0x10030eff
test dword [ebp - 0xd0], 0x1000
jne 0x10030e95
movss xmm2, dword [ebx + 0x38]
movaps xmm0, xmm3
comiss xmm2, xmm6
mulss xmm0, dword [0x1007ddf8]
movaps xmm1, xmm6
jbe 0x10030e76
subss xmm1, xmm0
movaps xmm0, xmm7
maxss xmm0, xmm1
jmp 0x10030e83
subss xmm1, xmm3
comiss xmm1, xmm2
jb 0x10030e9c
addss xmm0, xmm1
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebx + 0x38], xmm0
jmp 0x10030e9c
mov dword [ebx + 0x38], 0
test dl, dl
je 0x10030ef8
movss xmm0, dword [ebp - 0xc0]
mov edx, dword [ebp - 0x100]
movaps xmm2, xmm0
subss xmm2, dword [ecx]
movss xmm1, dword [edx + 0x54]
comiss xmm1, xmm2
jbe 0x10030ec8
movaps xmm0, xmm7
maxss xmm0, xmm2
jmp 0x10030ed4
subss xmm0, dword [ebp - 0x138]
maxss xmm0, xmm1
mov eax, dword [ebp - 0xf0]
subss xmm1, xmm0
movss dword [edx + 0x54], xmm0
addss xmm1, dword [eax + 4]
movss dword [ebp - 0xbc], xmm1
movss dword [ebp - 0x128], xmm1
mov byte [ebx + 0xe64], 0
cmp byte [ebp - 0x11c], 0
movss xmm6, dword [ebx + 0x38]
movss dword [ebp - 0x140], xmm6
je 0x100312c1
mov ecx, dword [ebx + 0x40]
mov edx, dword [ebx + 0x44]
mov eax, edx
mov esi, dword [ebp - 0xf8]
cmp ecx, edx
movss xmm3, dword [0x1007de44]
cmovl eax, ecx
cmovge edx, ecx
cmp byte [ebp - 0xb6], 0
lea esi, [esi + eax*2]
mov eax, dword [ebp - 0xf8]
lea ecx, [eax + edx*2]
mov dword [ebp - 0x11c], ecx
je 0x10030f57
movaps xmm1, xmm3
jmp 0x10030f5f
movss xmm1, dword [0x1007de18]
movups xmm2, xmmword [edi + 0x186c]
mulss xmm1, dword [edi + 0x1518]
comiss xmm7, xmm2
movaps xmm0, xmm2
shufps xmm0, xmm2, 0xff
movups xmmword [ebp - 0x24], xmm2
mulss xmm1, xmm0
jbe 0x10030f87
movaps xmm0, xmm7
jmp 0x10030f8e
movaps xmm0, xmm3
minss xmm0, xmm2
movss xmm3, dword [0x1007df5c]
movss xmm2, dword [ebp - 0x20]
comiss xmm7, xmm2
mulss xmm0, xmm3
addss xmm0, dword [0x1007de14]
cvttss2si edx, xmm0
jbe 0x10030fb5
movaps xmm0, xmm7
jmp 0x10030fc1
movss xmm0, dword [0x1007de44]
minss xmm0, xmm2
movss xmm2, dword [ebp - 0x1c]
mulss xmm0, xmm3
addss xmm0, dword [0x1007de14]
cvttss2si eax, xmm0
shl eax, 8
or edx, eax
comiss xmm7, xmm2
jbe 0x10030fe5
movaps xmm0, xmm7
jmp 0x10030ff1
movss xmm0, dword [0x1007de44]
minss xmm0, xmm2
movss xmm2, dword [0x1007de14]
mulss xmm0, xmm3
addss xmm0, xmm2
cvttss2si eax, xmm0
shl eax, 0x10
or edx, eax
comiss xmm7, xmm1
jbe 0x10031014
movaps xmm0, xmm7
jmp 0x10031020
movss xmm0, dword [0x1007de44]
minss xmm0, xmm1
mulss xmm0, xmm3
addss xmm0, xmm2
cvttss2si eax, xmm0
shl eax, 0x18
or eax, edx
cmp byte [ebp - 0xd8], 0
mov dword [ebp - 0xf8], eax
je 0x10031052
movss dword [ebp - 0xf4], xmm7
movss dword [ebp - 0x114], xmm7
jmp 0x10031072
movss xmm0, dword [0x1007df88]
movss dword [ebp - 0xf4], xmm0
movss xmm0, dword [0x1007de84]
movss dword [ebp - 0x114], xmm0
mov edx, dword [ebp - 0xf0]
movss xmm3, dword [edx]
addss xmm3, xmm4
movss xmm4, dword [ebp - 0xbc]
addss xmm4, xmm5
subss xmm3, xmm6
subss xmm4, xmm7
movss dword [ebp - 0xdc], xmm4
cmp esi, ecx
jae 0x100312c1
movss xmm5, dword [ebp - 0x108]
mov ebx, dword [ebp - 0xb4]
nop dword [eax]
nop word [eax + eax]
movss xmm6, dword [ebx + 0x18d0]
movaps xmm0, xmm5
addss xmm0, xmm6
comiss xmm4, xmm0
ja 0x100312b3
movss xmm0, dword [ebp - 0x48]
comiss xmm0, xmm4
jbe 0x10031109
cmp esi, ecx
jae 0x10031289
nop word [eax + eax]
mov ax, word [esi]
add esi, 2
cmp ax, 0xa
je 0x10031289
cmp esi, ecx
jb 0x100310f0
jmp 0x10031289
mov edx, dword [edi + 0x18cc]
movaps xmm5, xmm7
movss xmm2, dword [edi + 0x18d0]
movaps xmm1, xmm7
divss xmm2, dword [edx + 0x10]
cmp esi, ecx
jae 0x10031169
movzx eax, word [esi]
add esi, 2
cmp eax, 0xa
je 0x1003115f
cmp eax, 0xd
je 0x10031159
mov ecx, eax
cmp ecx, dword [edx]
jge 0x10031146
mov eax, dword [edx + 8]
movss xmm0, dword [eax + ecx*4]
jmp 0x1003114b
movss xmm0, dword [edx + 0xc]
mov ecx, dword [ebp - 0x11c]
mulss xmm0, xmm2
addss xmm1, xmm0
cmp esi, ecx
jb 0x10031126
jmp 0x10031169
movaps xmm5, xmm7
maxss xmm5, xmm1
movaps xmm1, xmm7
maxss xmm1, xmm5
comiss xmm7, xmm1
jb 0x100311a2
mov eax, dword [ebx + 0x18cc]
cmp dword [eax], 0x20
jle 0x1003118a
mov eax, dword [eax + 8]
movss xmm0, dword [eax + 0x80]
jmp 0x1003118f
movss xmm0, dword [eax + 0xc]
mulss xmm0, dword [0x1007de14]
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss xmm2, dword [ebp - 0xf4]
addss xmm1, xmm3
movss xmm0, dword [ebp - 0x114]
subss xmm2, xmm6
movss xmm5, dword [ebp - 0x108]
addss xmm0, xmm4
movss xmm6, dword [ebp - 0x124]
addss xmm3, xmm7
minss xmm1, xmm6
addss xmm2, xmm4
minss xmm0, xmm5
maxss xmm3, dword [ebp - 0x120]
movss dword [ebp - 0x1c], xmm1
maxss xmm2, dword [ebp - 0x48]
comiss xmm0, dword [ebp - 0x10c]
movss dword [ebp - 0x24], xmm3
movss dword [ebp - 0x20], xmm2
movss dword [ebp - 0x18], xmm0
jbe 0x10031283
comiss xmm5, xmm2
jbe 0x10031283
comiss xmm1, dword [ebp - 0x120]
jbe 0x10031283
comiss xmm6, xmm3
jbe 0x10031283
push 0xf
push ecx
mov dword [esp], 0
lea eax, [ebp - 0x1c]
push dword [ebp - 0xf8]
push eax
lea eax, [ebp - 0x24]
push eax
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 0x278]
call fcn.10023900
movss xmm0, dword [ebp - 0xc8]
xorps xmm7, xmm7
mov edi, dword [0x10089244]
movss xmm4, dword [ebp - 0xdc]
movss xmm5, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x11c]
movss dword [ebp - 0xc8], xmm0
movss xmm0, dword [ebp - 0x144]
movss dword [ebp - 0x144], xmm0
mov edx, dword [ebp - 0xf0]
movss xmm3, dword [edx]
movss xmm6, dword [ebp - 0x140]
subss xmm3, xmm6
addss xmm4, dword [ebx + 0x18d0]
movss dword [ebp - 0xdc], xmm4
cmp esi, ecx
jb 0x100310c0
jmp 0x100312bb
movss xmm6, dword [ebp - 0x140]
mov ebx, dword [ebp - 0x15c]
cmp byte [ebp - 0xd8], 0
jne 0x100312da
cmp dword [ebp - 0x14c], 0x200000
jge 0x1003154b
movups xmm2, xmmword [edi + 0x15cc]
movss xmm5, dword [0x1007de44]
comiss xmm7, xmm2
movaps xmm1, xmm2
shufps xmm1, xmm2, 0xff
mulss xmm1, dword [edi + 0x1518]
movups xmmword [ebp - 0x24], xmm2
jbe 0x10031306
movaps xmm0, xmm7
jmp 0x1003130d
movaps xmm0, xmm5
minss xmm0, xmm2
movss xmm3, dword [0x1007df5c]
movss xmm4, dword [0x1007de14]
movss xmm2, dword [ebp - 0x20]
comiss xmm7, xmm2
mulss xmm0, xmm3
addss xmm0, xmm4
cvttss2si ecx, xmm0
jbe 0x10031338
movaps xmm0, xmm7
jmp 0x1003133f
movaps xmm0, xmm5
minss xmm0, xmm2
movss xmm2, dword [ebp - 0x1c]
mulss xmm0, xmm3
addss xmm0, xmm4
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm7, xmm2
jbe 0x1003135f
movaps xmm0, xmm7
jmp 0x10031366
movaps xmm0, xmm5
minss xmm0, xmm2
mulss xmm0, xmm3
addss xmm0, xmm4
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
comiss xmm7, xmm1
jbe 0x10031381
movaps xmm0, xmm7
jmp 0x10031388
movaps xmm0, xmm5
minss xmm0, xmm1
mov eax, dword [ebp - 0xf0]
lea edx, [ebp - 0x3c]
mulss xmm0, xmm3
mov dword [ebp - 0x14c], 0
addss xmm0, xmm4
cvttss2si esi, xmm0
movss xmm0, dword [eax]
mov eax, dword [ebp - 0x100]
subss xmm0, xmm6
shl esi, 0x18
or esi, ecx
cmp byte [ebp - 0xd8], 0
mov ecx, dword [eax + 0x278]
mov eax, dword [ebp - 0xb4]
cmovne edx, dword [ebp - 0x14c]
movss dword [ebp - 0x118], xmm0
movss xmm0, dword [ebp - 0xbc]
mov eax, dword [eax + 0x18cc]
subss xmm0, xmm7
mov dword [ebp - 0x108], eax
mov eax, dword [ebp - 0x13c]
mov dword [ebp - 0x10c], ecx
movss dword [ebp - 0x114], xmm0
movss xmm2, dword [eax]
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0x124], eax
test esi, 0xff000000
je 0x1003154b
test eax, eax
jne 0x10031458
mov ecx, dword [ebp - 0xd4]
lea eax, [ecx + 1]
mov dword [ebp - 0x14c], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10031437
sub ecx, dword [ebp - 0x14c]
mov eax, dword [ebp - 0xd4]
add eax, ecx
mov ecx, dword [ebp - 0x10c]
mov dword [ebp - 0x124], eax
cmp dword [ebp - 0xd4], eax
je 0x1003154b
cmp dword [ebp - 0x108], 0
jne 0x10031479
mov eax, dword [ecx + 0x28]
mov eax, dword [eax + 8]
mov dword [ebp - 0x108], eax
ucomiss xmm2, xmm7
lahf
test ah, 0x44
jp 0x1003148a
mov eax, dword [ecx + 0x28]
movss xmm2, dword [eax + 0xc]
mov edi, dword [ebp - 0x10c]
mov ecx, dword [ecx + 0x40]
shl ecx, 4
mov eax, dword [edi + 0x48]
movups xmm0, xmmword [eax + ecx - 0x10]
movups xmmword [ebp - 0x158], xmm0
test edx, edx
je 0x10031508
movss xmm1, dword [edx]
movss xmm0, dword [ebp - 0x158]
comiss xmm0, xmm1
jae 0x100314c2
movss dword [ebp - 0x158], xmm1
movss xmm1, dword [edx + 4]
movss xmm0, dword [ebp - 0x154]
comiss xmm0, xmm1
jae 0x100314dc
movss dword [ebp - 0x154], xmm1
movss xmm0, dword [edx + 8]
comiss xmm0, dword [ebp - 0x150]
ja 0x100314f2
movss dword [ebp - 0x150], xmm0
movss xmm0, dword [edx + 0xc]
comiss xmm0, dword [ebp - 0x14c]
ja 0x10031508
movss dword [ebp - 0x14c], xmm0
push dword [ebp - 0x114]
test edx, edx
push dword [ebp - 0x118]
setne al
movzx eax, al
push eax
push ecx
mov ecx, dword [ebp - 0x108]
lea eax, [ebp - 0x158]
mov dword [esp], 0
push dword [ebp - 0x124]
push dword [ebp - 0xd4]
push eax
push esi
push edi
call fcn.10026a80
mov edi, dword [0x10089244]
cmp byte [ebp - 0xb6], 0
mov eax, dword [ebp - 0x13c]
mov esi, dword [ebp - 0xb4]
je 0x10030b1f
movss xmm0, dword [esi + 0x18]
addss xmm0, dword [ebx + 0xe60]
movss dword [ebx + 0xe60], xmm0
cmp byte [esi + 0xb2], 0
je 0x100315c9
xorps xmm1, xmm1
comiss xmm1, xmm0
jae 0x100315c9
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x150], xmm0
fld qword [ebp - 0x150]
fld qword [0x1007de78]
call fcn.100660d0
movss xmm0, dword [0x1007de38]
fstp qword [ebp - 0x150]
movsd xmm1, qword [ebp - 0x150]
cvtpd2ps xmm1, xmm1
comiss xmm0, xmm1
jae 0x100315c9
xor al, al
jmp 0x100315cb
mov al, 1
movss xmm2, dword [ebp - 0xbc]
xorps xmm7, xmm7
mov ecx, dword [ebp - 0xf0]
movss xmm6, dword [0x1007de14]
movss xmm4, dword [0x1007de44]
addss xmm2, dword [ebp - 0xc0]
movss xmm5, dword [ecx]
addss xmm5, dword [ebp - 0x168]
subss xmm2, xmm7
subss xmm5, dword [ebp - 0x140]
movss dword [ebp - 0xbc], xmm2
movaps xmm0, xmm2
movaps xmm3, xmm2
movss dword [ebp - 0x168], xmm5
movaps xmm1, xmm5
movss dword [ebp - 0x24], xmm5
addss xmm1, xmm4
subss xmm0, dword [esi + 0x18d0]
subss xmm3, dword [0x1007de58]
movss dword [ebp - 0x1c], xmm1
addss xmm0, xmm6
movss dword [ebp - 0x18], xmm3
movss dword [ebp - 0x20], xmm0
test al, al
je 0x100317a2
comiss xmm3, dword [ebp - 0x48]
jbe 0x100317a2
movss xmm4, dword [ebp - 0x144]
comiss xmm4, xmm0
jbe 0x1003179a
comiss xmm1, dword [ebp - 0x120]
jbe 0x1003179a
movss xmm0, dword [ebp - 0xc8]
comiss xmm0, xmm5
jbe 0x1003179a
movups xmm2, xmmword [edi + 0x15cc]
comiss xmm7, xmm2
movaps xmm1, xmm2
shufps xmm1, xmm2, 0xff
mulss xmm1, dword [edi + 0x1518]
movups xmmword [ebp - 0x3c], xmm2
jbe 0x100316b6
xorps xmm0, xmm0
jmp 0x100316c2
movss xmm0, dword [0x1007de44]
minss xmm0, xmm2
movss xmm4, dword [0x1007df5c]
movss xmm2, dword [ebp - 0x38]
comiss xmm7, xmm2
mulss xmm0, xmm4
addss xmm0, xmm6
cvttss2si ecx, xmm0
jbe 0x100316e5
xorps xmm0, xmm0
jmp 0x100316f1
movss xmm0, dword [0x1007de44]
minss xmm0, xmm2
movss xmm2, dword [ebp - 0x34]
mulss xmm0, xmm4
addss xmm0, xmm6
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm7, xmm2
jbe 0x10031711
xorps xmm0, xmm0
jmp 0x1003171d
movss xmm0, dword [0x1007de44]
minss xmm0, xmm2
mulss xmm0, xmm4
addss xmm0, xmm6
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
comiss xmm7, xmm1
jbe 0x10031738
xorps xmm0, xmm0
jmp 0x10031744
movss xmm0, dword [0x1007de44]
minss xmm0, xmm1
mulss xmm0, xmm4
push ecx
mov dword [esp], 0x3f800000
movss dword [ebp - 0xc], xmm5
addss xmm0, xmm6
movss dword [ebp - 8], xmm3
cvttss2si eax, xmm0
shl eax, 0x18
or eax, ecx
push eax
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x24]
push eax
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 0x278]
call fcn.100237e0
mov edi, dword [0x10089244]
xorps xmm7, xmm7
movss xmm5, dword [ebp - 0x168]
movss xmm2, dword [ebp - 0xbc]
movss xmm4, dword [0x1007de44]
cmp byte [ebp - 0xe8], 0
lea eax, [esi + 0x18d0]
jne 0x100317db
subss xmm2, dword [esi + 0x18d0]
subss xmm5, xmm4
lea eax, [esi + 0x18d0]
movss dword [esi + 0x2d90], xmm2
movss dword [esi + 0x2d8c], xmm5
jmp 0x100317db
mov esi, dword [ebp - 0xb4]
cmp byte [ebp - 0xd8], 0
je 0x1003187b
movss xmm1, dword [ebp - 0xe0]
addss xmm1, dword [eax]
mov eax, dword [edi + 0x1a00]
movss xmm3, dword [ebp - 0x134]
addss xmm3, xmm7
mov byte [eax + 0x7c], 1
mov eax, dword [edi + 0x1a00]
movss dword [ebp - 8], xmm1
movss dword [ebp - 0xc], xmm3
cmp byte [eax + 0x7f], 0
jne 0x1003186b
movss xmm0, dword [eax + 0xcc]
lea ecx, [ebp - 0xc]
movss xmm2, dword [eax + 0xc8]
addss xmm1, xmm0
addss xmm3, xmm2
movss dword [ebp - 0x24], xmm2
movss dword [ebp - 0x20], xmm0
movss dword [ebp - 0x18], xmm1
movss xmm1, dword [0x1007df88]
movss dword [ebp - 0x1c], xmm3
call fcn.10014b60
push 0
xor edx, edx
lea ecx, [ebp - 0x24]
call fcn.10014ce0
add esp, 4
call fcn.1000eea0
call fcn.10014fd0
mov edi, dword [0x10089244]
mov ebx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0x160]
test al, al
je 0x1003189c
call fcn.100147f0
mov edi, dword [0x10089244]
mov eax, dword [ebp - 0x160]
cmp byte [esi + 0x2dc8], 0
je 0x100318c4
test al, al
jne 0x100318c4
mov edx, dword [ebp - 0xd4]
lea ecx, [ebp - 0x12c]
push ebx
call fcn.10019040
mov edi, dword [0x10089244]
add esp, 4
movss xmm0, dword [ebp - 0x16c]
xorps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x10031922
movss xmm0, dword [ebp - 0x44]
xor edx, edx
addss xmm0, dword [esi + 0x1568]
mov ecx, dword [ebp - 0x164]
movss dword [ebp - 0x12c], xmm0
movss xmm0, dword [ebp - 0x48]
addss xmm0, dword [esi + 0x1554]
movss dword [ebp - 0x128], xmm0
push dword [ebp - 0x128]
push dword [ebp - 0x12c]
push 1
call fcn.1000a230
mov edi, dword [0x10089244]
add esp, 0xc
mov dl, byte [ebp - 0xeb]
mov ecx, dword [ebp - 0xd0]
test dl, dl
je 0x10031950
test ecx, 0x200000
jne 0x10031950
mov eax, dword [edi + 0x1a00]
mov word [edi + 0x1a43], 0x101
or dword [eax + 0x110], 4
test cl, 0x20
movzx eax, dl
movzx ecx, byte [ebp - 0xca]
cmovne eax, ecx
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.100427b4
mov esp, ebp
pop ebp
ret