4700e7:	75 19                	jne    0x470102
4700e9:	8b 04 97             	mov    (%edi,%edx,4),%eax
4700ec:	8b 00                	mov    (%eax),%eax
4700ee:	80 b8 90 00 00 00 16 	cmpb   $0x16,0x90(%eax)
4700f5:	75 0b                	jne    0x470102
4700f7:	56                   	push   %esi
4700f8:	52                   	push   %edx
4700f9:	e8 64 df ff ff       	call   0x46e062
4700fe:	84 c0                	test   %al,%al
470100:	75 2b                	jne    0x47012d
470102:	0f b7 4d 14          	movzwl 0x14(%ebp),%ecx
470106:	ff 75 0c             	push   0xc(%ebp)
470109:	0f b7 c6             	movzwl %si,%eax
47010c:	c1 e1 10             	shl    $0x10,%ecx
47010f:	0b c8                	or     %eax,%ecx
470111:	83 7d 18 00          	cmpl   $0x0,0x18(%ebp)
470115:	51                   	push   %ecx
470116:	74 07                	je     0x47011f
470118:	68 14 01 00 00       	push   $0x114
47011d:	eb 05                	jmp    0x470124
47011f:	68 15 01 00 00       	push   $0x115
470124:	ff 75 08             	push   0x8(%ebp)
470127:	ff 15 64 d5 48 00    	call   *0x48d564
47012d:	5f                   	pop    %edi
47012e:	5e                   	pop    %esi
47012f:	5d                   	pop    %ebp
470130:	c2 14 00             	ret    $0x14
470133:	55                   	push   %ebp
470134:	8b ec                	mov    %esp,%ebp
470136:	83 ec 10             	sub    $0x10,%esp
470139:	53                   	push   %ebx
47013a:	56                   	push   %esi
47013b:	ff 75 08             	push   0x8(%ebp)
47013e:	b9 28 16 4c 00       	mov    $0x4c1628,%ecx
470143:	e8 06 b2 fa ff       	call   0x41b34e
470148:	8b 0d 88 16 4c 00    	mov    0x4c1688,%ecx
47014e:	8b 04 81             	mov    (%ecx,%eax,4),%eax
470151:	8b 18                	mov    (%eax),%ebx
470153:	89 5d f4             	mov    %ebx,-0xc(%ebp)
470156:	83 bb 9c 01 00 00 00 	cmpl   $0x0,0x19c(%ebx)
47015d:	8b 73 44             	mov    0x44(%ebx),%esi
470160:	8b 4b 48             	mov    0x48(%ebx),%ecx
470163:	89 75 f8             	mov    %esi,-0x8(%ebp)
470166:	89 4d fc             	mov    %ecx,-0x4(%ebp)
470169:	74 10                	je     0x47017b
47016b:	6a 0f                	push   $0xf
47016d:	ff 15 38 d5 48 00    	call   *0x48d538
470173:	8b 4d fc             	mov    -0x4(%ebp),%ecx
470176:	2b c8                	sub    %eax,%ecx
470178:	89 4d fc             	mov    %ecx,-0x4(%ebp)
47017b:	8b 55 10             	mov    0x10(%ebp),%edx
47017e:	85 f6                	test   %esi,%esi
470180:	0f 8e a3 02 00 00    	jle    0x470429
470186:	85 c9                	test   %ecx,%ecx
470188:	0f 8e 9b 02 00 00    	jle    0x470429
47018e:	85 d2                	test   %edx,%edx
470190:	0f 8e 93 02 00 00    	jle    0x470429
470196:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
47019a:	0f 8e 89 02 00 00    	jle    0x470429
4701a0:	83 7d 0c 01          	cmpl   $0x1,0xc(%ebp)
4701a4:	0f 84 7f 02 00 00    	je     0x470429
4701aa:	57                   	push   %edi
4701ab:	6a 03                	push   $0x3
4701ad:	5f                   	pop    %edi
4701ae:	89 7d 08             	mov    %edi,0x8(%ebp)
4701b1:	39 3d ac 16 4c 00    	cmp    %edi,0x4c16ac
4701b7:	0f 8c 13 02 00 00    	jl     0x4703d0
4701bd:	a1 9c 16 4c 00       	mov    0x4c169c,%eax
4701c2:	8b 04 b8             	mov    (%eax,%edi,4),%eax
4701c5:	8b 38                	mov    (%eax),%edi
4701c7:	85 ff                	test   %edi,%edi
4701c9:	0f 84 ee 01 00 00    	je     0x4703bd
4701cf:	8b 47 04             	mov    0x4(%edi),%eax
4701d2:	3b 43 04             	cmp    0x4(%ebx),%eax
4701d5:	0f 85 e2 01 00 00    	jne    0x4703bd
4701db:	83 3f 00             	cmpl   $0x0,(%edi)
4701de:	0f 84 d9 01 00 00    	je     0x4703bd
4701e4:	0f bf 87 88 00 00 00 	movswl 0x88(%edi),%eax
4701eb:	89 45 f0             	mov    %eax,-0x10(%ebp)
4701ee:	0f af c2             	imul   %edx,%eax
4701f1:	99                   	cltd
4701f2:	f7 fe                	idiv   %esi
4701f4:	8b f0                	mov    %eax,%esi
4701f6:	0f bf 87 8a 00 00 00 	movswl 0x8a(%edi),%eax
4701fd:	0f af 45 14          	imul   0x14(%ebp),%eax
470201:	99                   	cltd
470202:	f7 f9                	idiv   %ecx
470204:	8b c8                	mov    %eax,%ecx
470206:	0f bf 87 8c 00 00 00 	movswl 0x8c(%edi),%eax
47020d:	0f af 45 10          	imul   0x10(%ebp),%eax
470211:	99                   	cltd
470212:	f7 7d f8             	idivl  -0x8(%ebp)
470215:	89 45 0c             	mov    %eax,0xc(%ebp)
470218:	0f bf 87 8e 00 00 00 	movswl 0x8e(%edi),%eax
47021f:	0f af 45 14          	imul   0x14(%ebp),%eax
470223:	99                   	cltd
470224:	f7 7d fc             	idivl  -0x4(%ebp)
470227:	0f b7 97 86 00 00 00 	movzwl 0x86(%edi),%edx
47022e:	8b d8                	mov    %eax,%ebx
470230:	66 85 d2             	test   %dx,%dx
470233:	0f 84 4a 01 00 00    	je     0x470383
470239:	f7 c2 00 01 00 00    	test   $0x100,%edx
47023f:	74 5a                	je     0x47029b
470241:	0f bf 87 8c 00 00 00 	movswl 0x8c(%edi),%eax
470248:	89 45 0c             	mov    %eax,0xc(%ebp)
47024b:	f6 c2 06             	test   $0x6,%dl
47024e:	75 4b                	jne    0x47029b
470250:	8b 45 10             	mov    0x10(%ebp),%eax
470253:	f6 c2 08             	test   $0x8,%dl
470256:	74 15                	je     0x47026d
470258:	2b 45 f8             	sub    -0x8(%ebp),%eax
47025b:	99                   	cltd
47025c:	2b c2                	sub    %edx,%eax
47025e:	8b f0                	mov    %eax,%esi
470260:	0f bf 87 88 00 00 00 	movswl 0x88(%edi),%eax
470267:	d1 fe                	sar    $1,%esi
470269:	03 f0                	add    %eax,%esi
47026b:	eb 27                	jmp    0x470294
47026d:	99                   	cltd
47026e:	2b c2                	sub    %edx,%eax
470270:	d1 f8                	sar    $1,%eax
470272:	3b f0                	cmp    %eax,%esi
470274:	7e 1e                	jle    0x470294
470276:	0f bf 97 88 00 00 00 	movswl 0x88(%edi),%edx
47027d:	8b 45 f8             	mov    -0x8(%ebp),%eax
470280:	8b 75 10             	mov    0x10(%ebp),%esi
470283:	2b c2                	sub    %edx,%eax
470285:	2b 45 0c             	sub    0xc(%ebp),%eax
470288:	0f af c6             	imul   %esi,%eax
47028b:	99                   	cltd
47028c:	f7 7d f8             	idivl  -0x8(%ebp)
47028f:	2b f0                	sub    %eax,%esi
470291:	2b 75 0c             	sub    0xc(%ebp),%esi
470294:	0f b7 97 86 00 00 00 	movzwl 0x86(%edi),%edx
47029b:	f7 c2 00 02 00 00    	test   $0x200,%edx
4702a1:	74 55                	je     0x4702f8
4702a3:	0f bf 9f 8e 00 00 00 	movswl 0x8e(%edi),%ebx
4702aa:	f6 c2 60             	test   $0x60,%dl
4702ad:	75 49                	jne    0x4702f8
4702af:	8b 45 14             	mov    0x14(%ebp),%eax
4702b2:	84 d2                	test   %dl,%dl
4702b4:	79 15                	jns    0x4702cb
4702b6:	2b 45 fc             	sub    -0x4(%ebp),%eax
4702b9:	99                   	cltd
4702ba:	2b c2                	sub    %edx,%eax
4702bc:	8b c8                	mov    %eax,%ecx
4702be:	0f bf 87 8a 00 00 00 	movswl 0x8a(%edi),%eax
4702c5:	d1 f9                	sar    $1,%ecx
4702c7:	03 c8                	add    %eax,%ecx
4702c9:	eb 26                	jmp    0x4702f1
4702cb:	99                   	cltd
4702cc:	2b c2                	sub    %edx,%eax
4702ce:	d1 f8                	sar    $1,%eax
4702d0:	3b c8                	cmp    %eax,%ecx
4702d2:	7e 1d                	jle    0x4702f1
4702d4:	0f bf 97 8a 00 00 00 	movswl 0x8a(%edi),%edx
4702db:	8b 45 fc             	mov    -0x4(%ebp),%eax
4702de:	2b c2                	sub    %edx,%eax
4702e0:	2b c3                	sub    %ebx,%eax
4702e2:	0f af 45 14          	imul   0x14(%ebp),%eax
4702e6:	99                   	cltd
4702e7:	f7 7d fc             	idivl  -0x4(%ebp)
4702ea:	8b 4d 14             	mov    0x14(%ebp),%ecx
4702ed:	2b c8                	sub    %eax,%ecx
4702ef:	2b cb                	sub    %ebx,%ecx
4702f1:	0f b7 97 86 00 00 00 	movzwl 0x86(%edi),%edx
4702f8:	8b c2                	mov    %edx,%eax
4702fa:	83 e0 02             	and    $0x2,%eax
4702fd:	74 07                	je     0x470306
4702ff:	0f bf b7 88 00 00 00 	movswl 0x88(%edi),%esi
470306:	f6 c2 04             	test   $0x4,%dl
470309:	74 35                	je     0x470340
47030b:	66 85 c0             	test   %ax,%ax
47030e:	74 17                	je     0x470327
470310:	0f bf 87 8c 00 00 00 	movswl 0x8c(%edi),%eax
470317:	2b c6                	sub    %esi,%eax
470319:	2b 45 f8             	sub    -0x8(%ebp),%eax
47031c:	03 45 f0             	add    -0x10(%ebp),%eax
47031f:	03 45 10             	add    0x10(%ebp),%eax
470322:	89 45 0c             	mov    %eax,0xc(%ebp)
470325:	eb 19                	jmp    0x470340
470327:	0f bf b7 8c 00 00 00 	movswl 0x8c(%edi),%esi
47032e:	2b 75 0c             	sub    0xc(%ebp),%esi
470331:	0f bf 87 88 00 00 00 	movswl 0x88(%edi),%eax
470338:	2b 75 f8             	sub    -0x8(%ebp),%esi
47033b:	03 f0                	add    %eax,%esi
47033d:	03 75 10             	add    0x10(%ebp),%esi
470340:	8b c2                	mov    %edx,%eax
470342:	83 e0 20             	and    $0x20,%eax
470345:	74 07                	je     0x47034e
470347:	0f bf 8f 8a 00 00 00 	movswl 0x8a(%edi),%ecx
47034e:	f6 c2 40             	test   $0x40,%dl
470351:	74 30                	je     0x470383
470353:	66 85 c0             	test   %ax,%ax
470356:	0f bf 87 8a 00 00 00 	movswl 0x8a(%edi),%eax
47035d:	74 13                	je     0x470372
47035f:	0f bf 9f 8e 00 00 00 	movswl 0x8e(%edi),%ebx
470366:	2b d9                	sub    %ecx,%ebx
470368:	2b 5d fc             	sub    -0x4(%ebp),%ebx
47036b:	03 d8                	add    %eax,%ebx
47036d:	03 5d 14             	add    0x14(%ebp),%ebx
470370:	eb 11                	jmp    0x470383
470372:	0f bf 8f 8e 00 00 00 	movswl 0x8e(%edi),%ecx
470379:	2b cb                	sub    %ebx,%ecx
47037b:	2b 4d fc             	sub    -0x4(%ebp),%ecx
47037e:	03 c8                	add    %eax,%ecx
470380:	03 4d 14             	add    0x14(%ebp),%ecx
470383:	6a 00                	push   $0x0
470385:	53                   	push   %ebx
470386:	ff 75 0c             	push   0xc(%ebp)
470389:	51                   	push   %ecx
47038a:	56                   	push   %esi
47038b:	ff 37                	push   (%edi)
47038d:	ff 15 e8 d6 48 00    	call   *0x48d6e8
470393:	8a 87 90 00 00 00    	mov    0x90(%edi),%al
470399:	84 c0                	test   %al,%al
47039b:	75 49                	jne    0x4703e6
47039d:	68 ff ff 00 00       	push   $0xffff
4703a2:	6a 00                	push   $0x0
4703a4:	68 42 01 00 00       	push   $0x142
4703a9:	ff 37                	push   (%edi)
4703ab:	ff 15 70 d6 48 00    	call   *0x48d670
4703b1:	8b 5d f4             	mov    -0xc(%ebp),%ebx
4703b4:	8b 75 f8             	mov    -0x8(%ebp),%esi
4703b7:	8b 55 10             	mov    0x10(%ebp),%edx
4703ba:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4703bd:	8b 7d 08             	mov    0x8(%ebp),%edi
4703c0:	47                   	inc    %edi
4703c1:	89 7d 08             	mov    %edi,0x8(%ebp)
4703c4:	3b 3d ac 16 4c 00    	cmp    0x4c16ac,%edi
4703ca:	0f 8e ed fd ff ff    	jle    0x4701bd
4703d0:	6a 01                	push   $0x1
4703d2:	6a 00                	push   $0x0
4703d4:	ff 33                	push   (%ebx)
4703d6:	ff 15 40 d6 48 00    	call   *0x48d640
4703dc:	c6 83 84 01 00 00 01 	movb   $0x1,0x184(%ebx)
4703e3:	5f                   	pop    %edi
4703e4:	eb 60                	jmp    0x470446
4703e6:	3c 16                	cmp    $0x16,%al
4703e8:	75 c7                	jne    0x4703b1
4703ea:	f6 87 92 00 00 00 20 	testb  $0x20,0x92(%edi)
4703f1:	75 be                	jne    0x4703b1
4703f3:	6a 00                	push   $0x0
4703f5:	ff 77 34             	push   0x34(%edi)
4703f8:	68 69 04 00 00       	push   $0x469
4703fd:	ff 37                	push   (%edi)
4703ff:	ff 15 70 d6 48 00    	call   *0x48d670
470405:	8a 87 93 00 00 00    	mov    0x93(%edi),%al
47040b:	8b 5d f4             	mov    -0xc(%ebp),%ebx
47040e:	3c ff                	cmp    $0xff,%al
470410:	74 a2                	je     0x4703b4
470412:	0f b6 c0             	movzbl %al,%eax
470415:	3b 83 90 01 00 00    	cmp    0x190(%ebx),%eax
47041b:	74 97                	je     0x4703b4
47041d:	6a 00                	push   $0x0
47041f:	ff 37                	push   (%edi)
470421:	ff 15 04 d7 48 00    	call   *0x48d704
470427:	eb 8b                	jmp    0x4703b4
470429:	8b 4d 14             	mov    0x14(%ebp),%ecx
47042c:	0f b7 c9             	movzwl %cx,%ecx
47042f:	0f b7 c2             	movzwl %dx,%eax
470432:	c1 e1 10             	shl    $0x10,%ecx
470435:	0b c8                	or     %eax,%ecx
470437:	51                   	push   %ecx
470438:	ff 75 0c             	push   0xc(%ebp)
47043b:	6a 05                	push   $0x5
47043d:	ff 75 08             	push   0x8(%ebp)
470440:	ff 15 64 d5 48 00    	call   *0x48d564
470446:	5e                   	pop    %esi
470447:	5b                   	pop    %ebx
470448:	c9                   	leave
470449:	c2 10 00             	ret    $0x10
47044c:	55                   	push   %ebp
47044d:	8b ec                	mov    %esp,%ebp
47044f:	56                   	push   %esi
470450:	ff 75 08             	push   0x8(%ebp)
470453:	be 28 16 4c 00       	mov    $0x4c1628,%esi
470458:	8b ce                	mov    %esi,%ecx
47045a:	e8 ef ae fa ff       	call   0x41b34e
47045f:	8b 0d 88 16 4c 00    	mov    0x4c1688,%ecx
470465:	8b 04 81             	mov    (%ecx,%eax,4),%eax
470468:	8b 10                	mov    (%eax),%edx
47046a:	8b 45 0c             	mov    0xc(%ebp),%eax
47046d:	25 f0 ff 00 00       	and    $0xfff0,%eax
470472:	2d 00 f0 00 00       	sub    $0xf000,%eax
470477:	74 5b                	je     0x4704d4
470479:	83 e8 20             	sub    $0x20,%eax
47047c:	74 38                	je     0x4704b6
47047e:	83 e8 10             	sub    $0x10,%eax
470481:	74 2a                	je     0x4704ad
470483:	83 e8 30             	sub    $0x30,%eax
470486:	74 15                	je     0x47049d
470488:	2d c0 00 00 00       	sub    $0xc0,%eax
47048d:	75 4c                	jne    0x4704db
47048f:	50                   	push   %eax
470490:	50                   	push   %eax
470491:	52                   	push   %edx
470492:	6a fb                	push   $0xfffffffb
470494:	8b ce                	mov    %esi,%ecx
470496:	e8 c1 89 ff ff       	call   0x468e5c
47049b:	eb 2c                	jmp    0x4704c9
47049d:	6a 00                	push   $0x0
47049f:	6a 00                	push   $0x0
4704a1:	52                   	push   %edx
4704a2:	6a fd                	push   $0xfffffffd
4704a4:	8b ce                	mov    %esi,%ecx
4704a6:	e8 b1 89 ff ff       	call   0x468e5c
4704ab:	eb 4d                	jmp    0x4704fa
4704ad:	6a 00                	push   $0x0
4704af:	6a 00                	push   $0x0
4704b1:	52                   	push   %edx
4704b2:	6a fa                	push   $0xfffffffa
4704b4:	eb de                	jmp    0x470494
4704b6:	6a 00                	push   $0x0
4704b8:	6a 00                	push   $0x0
4704ba:	52                   	push   %edx
4704bb:	6a fc                	push   $0xfffffffc
4704bd:	8b ce                	mov    %esi,%ecx
4704bf:	e8 98 89 ff ff       	call   0x468e5c
4704c4:	e8 ab d4 ff ff       	call   0x46d974
4704c9:	f6 05 38 16 4c 00 01 	testb  $0x1,0x4c1638
4704d0:	75 28                	jne    0x4704fa
4704d2:	eb 07                	jmp    0x4704db
4704d4:	c6 82 84 01 00 00 01 	movb   $0x1,0x184(%edx)
4704db:	0f b7 4d 14          	movzwl 0x14(%ebp),%ecx
4704df:	0f b7 45 10          	movzwl 0x10(%ebp),%eax
4704e3:	c1 e1 10             	shl    $0x10,%ecx
4704e6:	0b c8                	or     %eax,%ecx
4704e8:	51                   	push   %ecx
4704e9:	ff 75 0c             	push   0xc(%ebp)
4704ec:	68 12 01 00 00       	push   $0x112
4704f1:	ff 75 08             	push   0x8(%ebp)
4704f4:	ff 15 64 d5 48 00    	call   *0x48d564
4704fa:	5e                   	pop    %esi
4704fb:	5d                   	pop    %ebp
4704fc:	c2 10 00             	ret    $0x10
4704ff:	55                   	push   %ebp
470500:	8b ec                	mov    %esp,%ebp
470502:	51                   	push   %ecx
470503:	51                   	push   %ecx
470504:	53                   	push   %ebx
470505:	56                   	push   %esi
470506:	0f b7 31             	movzwl (%ecx),%esi
470509:	57                   	push   %edi
47050a:	8b fa                	mov    %edx,%edi
47050c:	66 85 f6             	test   %si,%si
47050f:	0f 84 2e 01 00 00    	je     0x470643
470515:	bb 95 00 00 00       	mov    $0x95,%ebx
47051a:	c7 45 fc 10 00 00 00 	movl   $0x10,-0x4(%ebp)
470521:	c7 45 f8 0f 00 00 00 	movl   $0xf,-0x8(%ebp)