487349:	3b f0                	cmp    %eax,%esi
48734b:	7e 02                	jle    0x48734f
48734d:	8b f0                	mov    %eax,%esi
48734f:	6a 00                	push   $0x0
487351:	ff 75 18             	push   0x18(%ebp)
487354:	68 1d 10 00 00       	push   $0x101d
487359:	57                   	push   %edi
48735a:	ff d3                	call   *%ebx
48735c:	3b c6                	cmp    %esi,%eax
48735e:	7f 12                	jg     0x487372
487360:	0f b7 c6             	movzwl %si,%eax
487363:	8b 75 18             	mov    0x18(%ebp),%esi
487366:	50                   	push   %eax
487367:	56                   	push   %esi
487368:	68 1e 10 00 00       	push   $0x101e
48736d:	57                   	push   %edi
48736e:	ff d3                	call   *%ebx
487370:	eb 03                	jmp    0x487375
487372:	8b 75 18             	mov    0x18(%ebp),%esi
487375:	46                   	inc    %esi
487376:	89 75 18             	mov    %esi,0x18(%ebp)
487379:	e9 66 ff ff ff       	jmp    0x4872e4
48737e:	8d 45 bc             	lea    -0x44(%ebp),%eax
487381:	50                   	push   %eax
487382:	ff 75 10             	push   0x10(%ebp)
487385:	68 08 10 00 00       	push   $0x1008
48738a:	57                   	push   %edi
48738b:	ff d3                	call   *%ebx
48738d:	e9 29 fe ff ff       	jmp    0x4871bb
487392:	8b 45 0c             	mov    0xc(%ebp),%eax
487395:	80 b8 93 00 00 00 ff 	cmpb   $0xff,0x93(%eax)
48739c:	74 18                	je     0x4873b6
48739e:	8b 0d 24 68 4c 00    	mov    0x4c6824,%ecx
4873a4:	8b 45 fc             	mov    -0x4(%ebp),%eax
4873a7:	6a 01                	push   $0x1
4873a9:	8b 0c 81             	mov    (%ecx,%eax,4),%ecx
4873ac:	ff 31                	push   (%ecx)
4873ae:	ff 75 f0             	push   -0x10(%ebp)
4873b1:	e8 c9 41 00 00       	call   0x48b57f
4873b6:	b0 01                	mov    $0x1,%al
4873b8:	5f                   	pop    %edi
4873b9:	5e                   	pop    %esi
4873ba:	5b                   	pop    %ebx
4873bb:	8b e5                	mov    %ebp,%esp
4873bd:	5d                   	pop    %ebp
4873be:	c2 14 00             	ret    $0x14
4873c1:	55                   	push   %ebp
4873c2:	8b ec                	mov    %esp,%ebp
4873c4:	83 ec 34             	sub    $0x34,%esp
4873c7:	53                   	push   %ebx
4873c8:	56                   	push   %esi
4873c9:	57                   	push   %edi
4873ca:	6a 2c                	push   $0x2c
4873cc:	8d 45 d0             	lea    -0x30(%ebp),%eax
4873cf:	c7 45 cc 30 00 00 00 	movl   $0x30,-0x34(%ebp)
4873d6:	6a 00                	push   $0x0
4873d8:	50                   	push   %eax
4873d9:	e8 42 bc f9 ff       	call   0x423020
4873de:	83 c4 0c             	add    $0xc,%esp
4873e1:	83 7d 14 ff          	cmpl   $0xffffffff,0x14(%ebp)
4873e5:	75 3b                	jne    0x487422
4873e7:	8b 75 08             	mov    0x8(%ebp),%esi
4873ea:	8b 8e 9c 01 00 00    	mov    0x19c(%esi),%ecx
4873f0:	85 c9                	test   %ecx,%ecx
4873f2:	75 21                	jne    0x487415
4873f4:	ff 15 7c f5 48 00    	call   *0x48f57c
4873fa:	50                   	push   %eax
4873fb:	ff 36                	push   (%esi)
4873fd:	89 86 9c 01 00 00    	mov    %eax,0x19c(%esi)
487403:	ff 15 74 f5 48 00    	call   *0x48f574
487409:	8b 8e 9c 01 00 00    	mov    0x19c(%esi),%ecx
48740f:	89 8e a4 01 00 00    	mov    %ecx,0x1a4(%esi)
487415:	8b 7d 0c             	mov    0xc(%ebp),%edi
487418:	83 c7 0c             	add    $0xc,%edi
48741b:	89 0f                	mov    %ecx,(%edi)
48741d:	e9 8e 00 00 00       	jmp    0x4874b0
487422:	8d 45 fc             	lea    -0x4(%ebp),%eax
487425:	b9 b0 67 4c 00       	mov    $0x4c67b0,%ecx
48742a:	50                   	push   %eax
48742b:	8d 45 08             	lea    0x8(%ebp),%eax
48742e:	50                   	push   %eax
48742f:	ff 75 14             	push   0x14(%ebp)
487432:	e8 cb af f7 ff       	call   0x402402
487437:	84 c0                	test   %al,%al
487439:	0f 84 b6 00 00 00    	je     0x4874f5
48743f:	8b 4d 08             	mov    0x8(%ebp),%ecx
487442:	a1 10 68 4c 00       	mov    0x4c6810,%eax
487447:	8b 04 88             	mov    (%eax,%ecx,4),%eax
48744a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
48744d:	8b 30                	mov    (%eax),%esi
48744f:	a1 24 68 4c 00       	mov    0x4c6824,%eax
487454:	8b 04 88             	mov    (%eax,%ecx,4),%eax
487457:	8b 00                	mov    (%eax),%eax
487459:	8b 50 0c             	mov    0xc(%eax),%edx
48745c:	85 d2                	test   %edx,%edx
48745e:	0f 84 91 00 00 00    	je     0x4874f5
487464:	8b 7d 0c             	mov    0xc(%ebp),%edi
487467:	83 c7 0c             	add    $0xc,%edi
48746a:	89 17                	mov    %edx,(%edi)
48746c:	a1 24 68 4c 00       	mov    0x4c6824,%eax
487471:	8b 04 88             	mov    (%eax,%ecx,4),%eax
487474:	8b 00                	mov    (%eax),%eax
487476:	80 b8 90 00 00 00 0c 	cmpb   $0xc,0x90(%eax)
48747d:	74 20                	je     0x48749f
48747f:	8d 45 cc             	lea    -0x34(%ebp),%eax
487482:	c7 45 d0 04 00 00 00 	movl   $0x4,-0x30(%ebp)
487489:	50                   	push   %eax
48748a:	6a 00                	push   $0x0
48748c:	ff 75 14             	push   0x14(%ebp)
48748f:	52                   	push   %edx
487490:	ff 15 d4 f5 48 00    	call   *0x48f5d4
487496:	85 c0                	test   %eax,%eax
487498:	74 5b                	je     0x4874f5
48749a:	8b 45 e0             	mov    -0x20(%ebp),%eax
48749d:	89 07                	mov    %eax,(%edi)
48749f:	83 3f 00             	cmpl   $0x0,(%edi)
4874a2:	74 51                	je     0x4874f5
4874a4:	ff 37                	push   (%edi)
4874a6:	ff 15 b4 f5 48 00    	call   *0x48f5b4
4874ac:	85 c0                	test   %eax,%eax
4874ae:	74 45                	je     0x4874f5
4874b0:	ff 15 10 f7 48 00    	call   *0x48f710
4874b6:	8b d8                	mov    %eax,%ebx
4874b8:	85 db                	test   %ebx,%ebx
4874ba:	74 39                	je     0x4874f5
4874bc:	8b 45 18             	mov    0x18(%ebp),%eax
4874bf:	89 45 f0             	mov    %eax,-0x10(%ebp)
4874c2:	8b 45 10             	mov    0x10(%ebp),%eax
4874c5:	89 45 dc             	mov    %eax,-0x24(%ebp)
4874c8:	8d 45 cc             	lea    -0x34(%ebp),%eax
4874cb:	50                   	push   %eax
4874cc:	6a 01                	push   $0x1
4874ce:	ff 75 1c             	push   0x1c(%ebp)
4874d1:	c7 45 d0 46 00 00 00 	movl   $0x46,-0x30(%ebp)
4874d8:	ff 37                	push   (%edi)
4874da:	89 5d e0             	mov    %ebx,-0x20(%ebp)
4874dd:	ff 15 b0 f5 48 00    	call   *0x48f5b0
4874e3:	ff 36                	push   (%esi)
4874e5:	ff 15 6c f5 48 00    	call   *0x48f56c
4874eb:	89 9e a4 01 00 00    	mov    %ebx,0x1a4(%esi)
4874f1:	b0 01                	mov    $0x1,%al
4874f3:	eb 02                	jmp    0x4874f7
4874f5:	32 c0                	xor    %al,%al
4874f7:	5f                   	pop    %edi
4874f8:	5e                   	pop    %esi
4874f9:	5b                   	pop    %ebx
4874fa:	8b e5                	mov    %ebp,%esp
4874fc:	5d                   	pop    %ebp
4874fd:	c2 18 00             	ret    $0x18
487500:	55                   	push   %ebp
487501:	8b ec                	mov    %esp,%ebp
487503:	83 ec 38             	sub    $0x38,%esp
487506:	53                   	push   %ebx
487507:	56                   	push   %esi
487508:	57                   	push   %edi
487509:	6a 2c                	push   $0x2c
48750b:	33 db                	xor    %ebx,%ebx
48750d:	c7 45 c8 30 00 00 00 	movl   $0x30,-0x38(%ebp)
487514:	8d 45 cc             	lea    -0x34(%ebp),%eax
487517:	53                   	push   %ebx
487518:	50                   	push   %eax
487519:	e8 02 bb f9 ff       	call   0x423020
48751e:	83 c4 0c             	add    $0xc,%esp
487521:	83 7d 14 ff          	cmpl   $0xffffffff,0x14(%ebp)
487525:	75 20                	jne    0x487547
487527:	8b 7d 08             	mov    0x8(%ebp),%edi
48752a:	39 9f a4 01 00 00    	cmp    %ebx,0x1a4(%edi)
487530:	0f 84 07 01 00 00    	je     0x48763d
487536:	8b 75 0c             	mov    0xc(%ebp),%esi
487539:	8b 87 9c 01 00 00    	mov    0x19c(%edi),%eax
48753f:	89 46 0c             	mov    %eax,0xc(%esi)
487542:	e9 9b 00 00 00       	jmp    0x4875e2
487547:	8d 45 f8             	lea    -0x8(%ebp),%eax
48754a:	b9 b0 67 4c 00       	mov    $0x4c67b0,%ecx
48754f:	50                   	push   %eax
487550:	8d 45 08             	lea    0x8(%ebp),%eax
487553:	50                   	push   %eax
487554:	ff 75 14             	push   0x14(%ebp)
487557:	e8 a6 ae f7 ff       	call   0x402402
48755c:	84 c0                	test   %al,%al
48755e:	0f 84 d9 00 00 00    	je     0x48763d
487564:	8b 4d 08             	mov    0x8(%ebp),%ecx
487567:	a1 10 68 4c 00       	mov    0x4c6810,%eax
48756c:	8b 04 88             	mov    (%eax,%ecx,4),%eax
48756f:	8b 38                	mov    (%eax),%edi
487571:	39 9f a4 01 00 00    	cmp    %ebx,0x1a4(%edi)
487577:	0f 84 c0 00 00 00    	je     0x48763d
48757d:	8b 4d f8             	mov    -0x8(%ebp),%ecx
487580:	a1 24 68 4c 00       	mov    0x4c6824,%eax
487585:	8b 04 88             	mov    (%eax,%ecx,4),%eax
487588:	8b 00                	mov    (%eax),%eax
48758a:	8b 40 0c             	mov    0xc(%eax),%eax
48758d:	85 c0                	test   %eax,%eax
48758f:	0f 84 a8 00 00 00    	je     0x48763d
487595:	8b 75 0c             	mov    0xc(%ebp),%esi
487598:	89 46 0c             	mov    %eax,0xc(%esi)
48759b:	a1 24 68 4c 00       	mov    0x4c6824,%eax
4875a0:	8b 04 88             	mov    (%eax,%ecx,4),%eax
4875a3:	8b 00                	mov    (%eax),%eax
4875a5:	80 b8 90 00 00 00 0e 	cmpb   $0xe,0x90(%eax)
4875ac:	75 22                	jne    0x4875d0
4875ae:	8d 45 c8             	lea    -0x38(%ebp),%eax
4875b1:	c7 45 cc 04 00 00 00 	movl   $0x4,-0x34(%ebp)
4875b8:	50                   	push   %eax
4875b9:	53                   	push   %ebx
4875ba:	ff 75 14             	push   0x14(%ebp)
4875bd:	ff 76 0c             	push   0xc(%esi)
4875c0:	ff 15 d4 f5 48 00    	call   *0x48f5d4
4875c6:	85 c0                	test   %eax,%eax
4875c8:	74 73                	je     0x48763d
4875ca:	8b 45 dc             	mov    -0x24(%ebp),%eax
4875cd:	89 46 0c             	mov    %eax,0xc(%esi)
4875d0:	39 5e 0c             	cmp    %ebx,0xc(%esi)
4875d3:	74 68                	je     0x48763d
4875d5:	ff 76 0c             	push   0xc(%esi)
4875d8:	ff 15 b4 f5 48 00    	call   *0x48f5b4
4875de:	85 c0                	test   %eax,%eax
4875e0:	74 5b                	je     0x48763d
4875e2:	83 7d 20 01          	cmpl   $0x1,0x20(%ebp)
4875e6:	c7 45 cc 13 00 00 00 	movl   $0x13,-0x34(%ebp)
4875ed:	89 5d d0             	mov    %ebx,-0x30(%ebp)
4875f0:	75 07                	jne    0x4875f9
4875f2:	c7 45 d0 00 02 00 00 	movl   $0x200,-0x30(%ebp)
4875f9:	8b 45 18             	mov    0x18(%ebp),%eax
4875fc:	66 39 18             	cmp    %bx,(%eax)
4875ff:	74 05                	je     0x487606
487601:	89 45 ec             	mov    %eax,-0x14(%ebp)
487604:	eb 07                	jmp    0x48760d
487606:	c7 45 d0 00 08 00 00 	movl   $0x800,-0x30(%ebp)
48760d:	8b 45 10             	mov    0x10(%ebp),%eax
487610:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
487613:	89 45 d8             	mov    %eax,-0x28(%ebp)
487616:	8d 45 c8             	lea    -0x38(%ebp),%eax
487619:	50                   	push   %eax
48761a:	6a 01                	push   $0x1
48761c:	53                   	push   %ebx
48761d:	ff 76 0c             	push   0xc(%esi)
487620:	ff 15 b0 f5 48 00    	call   *0x48f5b0
487626:	85 c0                	test   %eax,%eax
487628:	74 13                	je     0x48763d
48762a:	66 89 9e 88 00 00 00 	mov    %bx,0x88(%esi)
487631:	ff 37                	push   (%edi)
487633:	ff 15 6c f5 48 00    	call   *0x48f56c
487639:	b0 01                	mov    $0x1,%al
48763b:	eb 02                	jmp    0x48763f
48763d:	32 c0                	xor    %al,%al
48763f:	5f                   	pop    %edi
487640:	5e                   	pop    %esi
487641:	5b                   	pop    %ebx
487642:	8b e5                	mov    %ebp,%esp
487644:	5d                   	pop    %ebp
487645:	c2 1c 00             	ret    $0x1c
487648:	55                   	push   %ebp
487649:	8b ec                	mov    %esp,%ebp
48764b:	8b 45 28             	mov    0x28(%ebp),%eax
48764e:	83 ec 24             	sub    $0x24,%esp
487651:	40                   	inc    %eax
487652:	f7 d8                	neg    %eax
487654:	53                   	push   %ebx
487655:	1b c0                	sbb    %eax,%eax
487657:	23 45 28             	and    0x28(%ebp),%eax
48765a:	56                   	push   %esi
48765b:	57                   	push   %edi
48765c:	0d 00 00 01 00       	or     $0x10000,%eax
487661:	50                   	push   %eax
487662:	e8 45 42 00 00       	call   0x48b8ac
487667:	8b 4d 2c             	mov    0x2c(%ebp),%ecx
48766a:	83 f9 ff             	cmp    $0xffffffff,%ecx
48766d:	75 05                	jne    0x487674
48766f:	b9 00 02 00 00       	mov    $0x200,%ecx
487674:	8b 75 20             	mov    0x20(%ebp),%esi
487677:	8b 7d 24             	mov    0x24(%ebp),%edi
48767a:	46                   	inc    %esi
48767b:	f7 de                	neg    %esi
48767d:	6a 01                	push   $0x1
48767f:	1b f6                	sbb    %esi,%esi
487681:	23 75 20             	and    0x20(%ebp),%esi
487684:	47                   	inc    %edi
487685:	51                   	push   %ecx
487686:	ff 75 10             	push   0x10(%ebp)
487689:	f7 df                	neg    %edi
48768b:	1b ff                	sbb    %edi,%edi
48768d:	23 7d 24             	and    0x24(%ebp),%edi
487690:	57                   	push   %edi
487691:	56                   	push   %esi
487692:	ff 75 1c             	push   0x1c(%ebp)
487695:	ff 75 18             	push   0x18(%ebp)
487698:	50                   	push   %eax
487699:	6a 00                	push   $0x0
48769b:	68 84 b7 4b 00       	push   $0x4bb784
4876a0:	51                   	push   %ecx
4876a1:	ff 75 08             	push   0x8(%ebp)
4876a4:	e8 8c a6 f7 ff       	call   0x401d35
4876a9:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4876ac:	89 03                	mov    %eax,(%ebx)
4876ae:	85 c0                	test   %eax,%eax
4876b0:	75 04                	jne    0x4876b6
4876b2:	32 c0                	xor    %al,%al
4876b4:	eb 6b                	jmp    0x487721
4876b6:	85 f6                	test   %esi,%esi
4876b8:	8b 35 88 f6 48 00    	mov    0x48f688,%esi
4876be:	74 04                	je     0x4876c4
4876c0:	85 ff                	test   %edi,%edi
4876c2:	75 26                	jne    0x4876ea
4876c4:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4876c7:	51                   	push   %ecx
4876c8:	6a 00                	push   $0x0
4876ca:	68 09 10 00 00       	push   $0x1009
4876cf:	50                   	push   %eax
4876d0:	ff d6                	call   *%esi
4876d2:	6a 04                	push   $0x4
4876d4:	ff 75 fc             	push   -0x4(%ebp)
4876d7:	ff 75 f8             	push   -0x8(%ebp)
4876da:	ff 75 1c             	push   0x1c(%ebp)
4876dd:	ff 75 18             	push   0x18(%ebp)
4876e0:	6a 00                	push   $0x0
4876e2:	ff 33                	push   (%ebx)
4876e4:	ff 15 d4 f4 48 00    	call   *0x48f4d4
4876ea:	8b 4d 14             	mov    0x14(%ebp),%ecx
4876ed:	8d 55 e0             	lea    -0x20(%ebp),%edx
4876f0:	6a 01                	push   $0x1
4876f2:	6a 01                	push   $0x1
4876f4:	e8 a6 e1 fd ff       	call   0x46589f
4876f9:	59                   	pop    %ecx
4876fa:	59                   	pop    %ecx
4876fb:	8d 45 e0             	lea    -0x20(%ebp),%eax
4876fe:	50                   	push   %eax
4876ff:	6a 00                	push   $0x0
487701:	68 02 10 00 00       	push   $0x1002
487706:	ff 33                	push   (%ebx)
487708:	ff d6                	call   *%esi
48770a:	83 3d b8 67 4c 00 00 	cmpl   $0x0,0x4c67b8
487711:	75 0c                	jne    0x48771f
487713:	b9 00 03 00 00       	mov    $0x300,%ecx
487718:	66 89 8b 86 00 00 00 	mov    %cx,0x86(%ebx)
48771f:	b0 01                	mov    $0x1,%al
487721:	5f                   	pop    %edi
487722:	5e                   	pop    %esi
487723:	5b                   	pop    %ebx
487724:	8b e5                	mov    %ebp,%esp
487726:	5d                   	pop    %ebp
487727:	c2 28 00             	ret    $0x28
48772a:	55                   	push   %ebp
48772b:	8b ec                	mov    %esp,%ebp
48772d:	8b 45 28             	mov    0x28(%ebp),%eax
487730:	83 f8 ff             	cmp    $0xffffffff,%eax
487733:	75 05                	jne    0x48773a
487735:	b8 00 01 00 00       	mov    $0x100,%eax
48773a:	53                   	push   %ebx
48773b:	56                   	push   %esi