475465:	8b bd a0 fb ff ff    	mov    -0x460(%ebp),%edi
47546b:	83 e0 02             	and    $0x2,%eax
47546e:	89 85 8c fb ff ff    	mov    %eax,-0x474(%ebp)
475474:	0b c3                	or     %ebx,%eax
475476:	89 bd 90 fb ff ff    	mov    %edi,-0x470(%ebp)
47547c:	89 b5 94 fb ff ff    	mov    %esi,-0x46c(%ebp)
475482:	89 9d 98 fb ff ff    	mov    %ebx,-0x468(%ebp)
475488:	75 0a                	jne    0x475494
47548a:	88 9d 9c fb ff ff    	mov    %bl,-0x464(%ebp)
475490:	85 ff                	test   %edi,%edi
475492:	75 07                	jne    0x47549b
475494:	c6 85 9c fb ff ff 01 	movb   $0x1,-0x464(%ebp)
47549b:	ff 75 20             	push   0x20(%ebp)
47549e:	8d 85 90 fb ff ff    	lea    -0x470(%ebp),%eax
4754a4:	51                   	push   %ecx
4754a5:	ff 75 18             	push   0x18(%ebp)
4754a8:	89 85 a0 fb ff ff    	mov    %eax,-0x460(%ebp)
4754ae:	8d 8d a4 fb ff ff    	lea    -0x45c(%ebp),%ecx
4754b4:	ff 75 0c             	push   0xc(%ebp)
4754b7:	8d 85 a0 fb ff ff    	lea    -0x460(%ebp),%eax
4754bd:	52                   	push   %edx
4754be:	50                   	push   %eax
4754bf:	e8 af 1d 00 00       	call   0x477273
4754c4:	8d 8d a4 fb ff ff    	lea    -0x45c(%ebp),%ecx
4754ca:	89 5d f4             	mov    %ebx,-0xc(%ebp)
4754cd:	e8 b4 27 00 00       	call   0x477c86
4754d2:	89 85 a0 fb ff ff    	mov    %eax,-0x460(%ebp)
4754d8:	85 ff                	test   %edi,%edi
4754da:	74 7f                	je     0x47555b
4754dc:	8b 4d 08             	mov    0x8(%ebp),%ecx
4754df:	83 e1 01             	and    $0x1,%ecx
4754e2:	0b cb                	or     %ebx,%ecx
4754e4:	74 24                	je     0x47550a
4754e6:	85 f6                	test   %esi,%esi
4754e8:	75 04                	jne    0x4754ee
4754ea:	85 c0                	test   %eax,%eax
4754ec:	75 4c                	jne    0x47553a
4754ee:	8b 8d 98 fb ff ff    	mov    -0x468(%ebp),%ecx
4754f4:	3b ce                	cmp    %esi,%ecx
4754f6:	74 08                	je     0x475500
4754f8:	33 c0                	xor    %eax,%eax
4754fa:	66 89 04 4f          	mov    %ax,(%edi,%ecx,2)
4754fe:	eb 5b                	jmp    0x47555b
475500:	85 c0                	test   %eax,%eax
475502:	78 57                	js     0x47555b
475504:	3b c6                	cmp    %esi,%eax
475506:	77 32                	ja     0x47553a
475508:	eb 51                	jmp    0x47555b
47550a:	8b 8d 8c fb ff ff    	mov    -0x474(%ebp),%ecx
475510:	0b cb                	or     %ebx,%ecx
475512:	74 22                	je     0x475536
475514:	85 f6                	test   %esi,%esi
475516:	74 43                	je     0x47555b
475518:	85 c0                	test   %eax,%eax
47551a:	79 07                	jns    0x475523
47551c:	33 c0                	xor    %eax,%eax
47551e:	66 89 07             	mov    %ax,(%edi)
475521:	eb 38                	jmp    0x47555b
475523:	8b 85 98 fb ff ff    	mov    -0x468(%ebp),%eax
475529:	3b c6                	cmp    %esi,%eax
47552b:	75 28                	jne    0x475555
47552d:	33 c0                	xor    %eax,%eax
47552f:	66 89 44 77 fe       	mov    %ax,-0x2(%edi,%esi,2)
475534:	eb 25                	jmp    0x47555b
475536:	85 f6                	test   %esi,%esi
475538:	75 05                	jne    0x47553f
47553a:	83 ce ff             	or     $0xffffffff,%esi
47553d:	eb 22                	jmp    0x475561
47553f:	8b 85 98 fb ff ff    	mov    -0x468(%ebp),%eax
475545:	3b c6                	cmp    %esi,%eax
475547:	75 0c                	jne    0x475555
475549:	33 c0                	xor    %eax,%eax
47554b:	6a fe                	push   $0xfffffffe
47554d:	66 89 44 77 fe       	mov    %ax,-0x2(%edi,%esi,2)
475552:	5e                   	pop    %esi
475553:	eb 0c                	jmp    0x475561
475555:	33 c9                	xor    %ecx,%ecx
475557:	66 89 0c 47          	mov    %cx,(%edi,%eax,2)
47555b:	8b b5 a0 fb ff ff    	mov    -0x460(%ebp),%esi
475561:	8d 8d e0 fb ff ff    	lea    -0x420(%ebp),%ecx
475567:	e8 10 1e 00 00       	call   0x47737c
47556c:	8b c6                	mov    %esi,%eax
47556e:	5f                   	pop    %edi
47556f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
475572:	5e                   	pop    %esi
475573:	33 cd                	xor    %ebp,%ecx
475575:	5b                   	pop    %ebx
475576:	e8 4f 44 ff ff       	call   0x4699ca
47557b:	c9                   	leave
47557c:	c3                   	ret
47557d:	8b ff                	mov    %edi,%edi
47557f:	55                   	push   %ebp
475580:	8b ec                	mov    %esp,%ebp
475582:	81 ec 74 04 00 00    	sub    $0x474,%esp
475588:	a1 14 40 4c 00       	mov    0x4c4014,%eax
47558d:	33 c5                	xor    %ebp,%eax
47558f:	89 45 fc             	mov    %eax,-0x4(%ebp)
475592:	83 7d 18 00          	cmpl   $0x0,0x18(%ebp)
475596:	8b 45 10             	mov    0x10(%ebp),%eax
475599:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
47559c:	53                   	push   %ebx
47559d:	56                   	push   %esi
47559e:	8b 75 14             	mov    0x14(%ebp),%esi
4755a1:	89 85 a0 fb ff ff    	mov    %eax,-0x460(%ebp)
4755a7:	75 23                	jne    0x4755cc
4755a9:	51                   	push   %ecx
4755aa:	33 db                	xor    %ebx,%ebx
4755ac:	c6 41 1c 01          	movb   $0x1,0x1c(%ecx)
4755b0:	53                   	push   %ebx
4755b1:	53                   	push   %ebx
4755b2:	53                   	push   %ebx
4755b3:	53                   	push   %ebx
4755b4:	53                   	push   %ebx
4755b5:	c7 41 18 16 00 00 00 	movl   $0x16,0x18(%ecx)
4755bc:	e8 e3 3f 00 00       	call   0x4795a4
4755c1:	83 c4 18             	add    $0x18,%esp
4755c4:	83 c8 ff             	or     $0xffffffff,%eax
4755c7:	e9 17 01 00 00       	jmp    0x4756e3
4755cc:	85 f6                	test   %esi,%esi
4755ce:	74 04                	je     0x4755d4
4755d0:	85 c0                	test   %eax,%eax
4755d2:	74 d5                	je     0x4755a9
4755d4:	8b 55 08             	mov    0x8(%ebp),%edx
4755d7:	33 c0                	xor    %eax,%eax
4755d9:	57                   	push   %edi
4755da:	8d bd 90 fb ff ff    	lea    -0x470(%ebp),%edi
4755e0:	33 db                	xor    %ebx,%ebx
4755e2:	ab                   	stos   %eax,%es:(%edi)
4755e3:	ab                   	stos   %eax,%es:(%edi)
4755e4:	ab                   	stos   %eax,%es:(%edi)
4755e5:	ab                   	stos   %eax,%es:(%edi)
4755e6:	8b c2                	mov    %edx,%eax
4755e8:	8b bd a0 fb ff ff    	mov    -0x460(%ebp),%edi
4755ee:	83 e0 02             	and    $0x2,%eax
4755f1:	89 85 8c fb ff ff    	mov    %eax,-0x474(%ebp)
4755f7:	0b c3                	or     %ebx,%eax
4755f9:	89 bd 90 fb ff ff    	mov    %edi,-0x470(%ebp)
4755ff:	89 b5 94 fb ff ff    	mov    %esi,-0x46c(%ebp)
475605:	89 9d 98 fb ff ff    	mov    %ebx,-0x468(%ebp)
47560b:	75 0a                	jne    0x475617
47560d:	88 9d 9c fb ff ff    	mov    %bl,-0x464(%ebp)
475613:	85 ff                	test   %edi,%edi
475615:	75 07                	jne    0x47561e
475617:	c6 85 9c fb ff ff 01 	movb   $0x1,-0x464(%ebp)
47561e:	ff 75 20             	push   0x20(%ebp)
475621:	8d 85 90 fb ff ff    	lea    -0x470(%ebp),%eax
475627:	51                   	push   %ecx
475628:	ff 75 18             	push   0x18(%ebp)
47562b:	89 85 a0 fb ff ff    	mov    %eax,-0x460(%ebp)
475631:	8d 8d a4 fb ff ff    	lea    -0x45c(%ebp),%ecx
475637:	ff 75 0c             	push   0xc(%ebp)
47563a:	8d 85 a0 fb ff ff    	lea    -0x460(%ebp),%eax
475640:	52                   	push   %edx
475641:	50                   	push   %eax
475642:	e8 c5 1b 00 00       	call   0x47720c
475647:	8d 8d a4 fb ff ff    	lea    -0x45c(%ebp),%ecx
47564d:	89 5d f4             	mov    %ebx,-0xc(%ebp)
475650:	e8 5d 23 00 00       	call   0x4779b2
475655:	89 85 a0 fb ff ff    	mov    %eax,-0x460(%ebp)
47565b:	85 ff                	test   %edi,%edi
47565d:	74 70                	je     0x4756cf
47565f:	8b 4d 08             	mov    0x8(%ebp),%ecx
475662:	83 e1 01             	and    $0x1,%ecx
475665:	0b cb                	or     %ebx,%ecx
475667:	74 21                	je     0x47568a
475669:	85 f6                	test   %esi,%esi
47566b:	75 04                	jne    0x475671
47566d:	85 c0                	test   %eax,%eax
47566f:	75 43                	jne    0x4756b4
475671:	8b 8d 98 fb ff ff    	mov    -0x468(%ebp),%ecx
475677:	3b ce                	cmp    %esi,%ecx
475679:	74 05                	je     0x475680
47567b:	88 1c 0f             	mov    %bl,(%edi,%ecx,1)
47567e:	eb 4f                	jmp    0x4756cf
475680:	85 c0                	test   %eax,%eax
475682:	78 4b                	js     0x4756cf
475684:	3b c6                	cmp    %esi,%eax
475686:	77 2c                	ja     0x4756b4
475688:	eb 45                	jmp    0x4756cf
47568a:	8b 8d 8c fb ff ff    	mov    -0x474(%ebp),%ecx
475690:	0b cb                	or     %ebx,%ecx
475692:	74 1c                	je     0x4756b0
475694:	85 f6                	test   %esi,%esi
475696:	74 37                	je     0x4756cf
475698:	85 c0                	test   %eax,%eax
47569a:	79 04                	jns    0x4756a0
47569c:	88 1f                	mov    %bl,(%edi)
47569e:	eb 2f                	jmp    0x4756cf
4756a0:	8b 85 98 fb ff ff    	mov    -0x468(%ebp),%eax
4756a6:	3b c6                	cmp    %esi,%eax
4756a8:	75 22                	jne    0x4756cc
4756aa:	88 5c 3e ff          	mov    %bl,-0x1(%esi,%edi,1)
4756ae:	eb 1f                	jmp    0x4756cf
4756b0:	85 f6                	test   %esi,%esi
4756b2:	75 05                	jne    0x4756b9
4756b4:	83 ce ff             	or     $0xffffffff,%esi
4756b7:	eb 1c                	jmp    0x4756d5
4756b9:	8b 85 98 fb ff ff    	mov    -0x468(%ebp),%eax
4756bf:	3b c6                	cmp    %esi,%eax
4756c1:	75 09                	jne    0x4756cc
4756c3:	6a fe                	push   $0xfffffffe
4756c5:	88 5c 3e ff          	mov    %bl,-0x1(%esi,%edi,1)
4756c9:	5e                   	pop    %esi
4756ca:	eb 09                	jmp    0x4756d5
4756cc:	88 1c 07             	mov    %bl,(%edi,%eax,1)
4756cf:	8b b5 a0 fb ff ff    	mov    -0x460(%ebp),%esi
4756d5:	8d 8d e0 fb ff ff    	lea    -0x420(%ebp),%ecx
4756db:	e8 9c 1c 00 00       	call   0x47737c
4756e0:	8b c6                	mov    %esi,%eax
4756e2:	5f                   	pop    %edi
4756e3:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4756e6:	5e                   	pop    %esi
4756e7:	33 cd                	xor    %ebp,%ecx
4756e9:	5b                   	pop    %ebx
4756ea:	e8 db 42 ff ff       	call   0x4699ca
4756ef:	c9                   	leave
4756f0:	c3                   	ret
4756f1:	8b ff                	mov    %edi,%edi
4756f3:	55                   	push   %ebp
4756f4:	8b ec                	mov    %esp,%ebp
4756f6:	83 7d 18 00          	cmpl   $0x0,0x18(%ebp)
4756fa:	57                   	push   %edi
4756fb:	75 23                	jne    0x475720
4756fd:	8b 45 1c             	mov    0x1c(%ebp),%eax
475700:	50                   	push   %eax
475701:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
475705:	c7 40 18 16 00 00 00 	movl   $0x16,0x18(%eax)
47570c:	33 c0                	xor    %eax,%eax
47570e:	50                   	push   %eax
47570f:	50                   	push   %eax
475710:	50                   	push   %eax
475711:	50                   	push   %eax
475712:	50                   	push   %eax
475713:	e8 8c 3e 00 00       	call   0x4795a4
475718:	83 c4 18             	add    $0x18,%esp
47571b:	83 c8 ff             	or     $0xffffffff,%eax
47571e:	eb 6d                	jmp    0x47578d
475720:	56                   	push   %esi
475721:	8b 75 10             	mov    0x10(%ebp),%esi
475724:	85 f6                	test   %esi,%esi
475726:	74 43                	je     0x47576b
475728:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
47572c:	76 3d                	jbe    0x47576b
47572e:	ff 75 20             	push   0x20(%ebp)
475731:	8b 7d 1c             	mov    0x1c(%ebp),%edi
475734:	57                   	push   %edi
475735:	ff 75 18             	push   0x18(%ebp)
475738:	ff 75 14             	push   0x14(%ebp)
47573b:	56                   	push   %esi
47573c:	ff 75 0c             	push   0xc(%ebp)
47573f:	ff 75 08             	push   0x8(%ebp)
475742:	e8 3f fb ff ff       	call   0x475286
475747:	8b c8                	mov    %eax,%ecx
475749:	83 c4 1c             	add    $0x1c,%esp
47574c:	33 c0                	xor    %eax,%eax
47574e:	85 c9                	test   %ecx,%ecx
475750:	79 02                	jns    0x475754
475752:	88 06                	mov    %al,(%esi)
475754:	83 f9 fe             	cmp    $0xfffffffe,%ecx
475757:	75 0e                	jne    0x475767
475759:	c6 47 1c 01          	movb   $0x1,0x1c(%edi)
47575d:	c7 47 18 22 00 00 00 	movl   $0x22,0x18(%edi)
475764:	57                   	push   %edi
475765:	eb 15                	jmp    0x47577c
475767:	8b c1                	mov    %ecx,%eax
475769:	eb 21                	jmp    0x47578c
47576b:	8b 45 1c             	mov    0x1c(%ebp),%eax
47576e:	50                   	push   %eax
47576f:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
475773:	c7 40 18 16 00 00 00 	movl   $0x16,0x18(%eax)
47577a:	33 c0                	xor    %eax,%eax
47577c:	50                   	push   %eax
47577d:	50                   	push   %eax
47577e:	50                   	push   %eax
47577f:	50                   	push   %eax
475780:	50                   	push   %eax
475781:	e8 1e 3e 00 00       	call   0x4795a4
475786:	83 c4 18             	add    $0x18,%esp
475789:	83 c8 ff             	or     $0xffffffff,%eax
47578c:	5e                   	pop    %esi
47578d:	5f                   	pop    %edi
47578e:	5d                   	pop    %ebp
47578f:	c3                   	ret
475790:	8b ff                	mov    %edi,%edi
475792:	55                   	push   %ebp
475793:	8b ec                	mov    %esp,%ebp
475795:	83 7d 18 00          	cmpl   $0x0,0x18(%ebp)
475799:	57                   	push   %edi
47579a:	75 23                	jne    0x4757bf
47579c:	8b 45 1c             	mov    0x1c(%ebp),%eax
47579f:	50                   	push   %eax
4757a0:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
4757a4:	c7 40 18 16 00 00 00 	movl   $0x16,0x18(%eax)
4757ab:	33 c0                	xor    %eax,%eax
4757ad:	50                   	push   %eax
4757ae:	50                   	push   %eax
4757af:	50                   	push   %eax
4757b0:	50                   	push   %eax
4757b1:	50                   	push   %eax
4757b2:	e8 ed 3d 00 00       	call   0x4795a4
4757b7:	83 c4 18             	add    $0x18,%esp
4757ba:	83 c8 ff             	or     $0xffffffff,%eax
4757bd:	eb 68                	jmp    0x475827
4757bf:	56                   	push   %esi
4757c0:	8b 75 10             	mov    0x10(%ebp),%esi
4757c3:	85 f6                	test   %esi,%esi
4757c5:	74 3e                	je     0x475805
4757c7:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
4757cb:	76 38                	jbe    0x475805
4757cd:	ff 75 20             	push   0x20(%ebp)
4757d0:	8b 7d 1c             	mov    0x1c(%ebp),%edi
4757d3:	57                   	push   %edi
4757d4:	ff 75 18             	push   0x18(%ebp)
4757d7:	ff 75 14             	push   0x14(%ebp)
4757da:	56                   	push   %esi
4757db:	ff 75 0c             	push   0xc(%ebp)
4757de:	ff 75 08             	push   0x8(%ebp)
4757e1:	e8 14 fc ff ff       	call   0x4753fa
4757e6:	83 c4 1c             	add    $0x1c,%esp
4757e9:	85 c0                	test   %eax,%eax
4757eb:	79 05                	jns    0x4757f2
4757ed:	33 c9                	xor    %ecx,%ecx
4757ef:	66 89 0e             	mov    %cx,(%esi)
4757f2:	83 f8 fe             	cmp    $0xfffffffe,%eax
4757f5:	75 2f                	jne    0x475826
4757f7:	c6 47 1c 01          	movb   $0x1,0x1c(%edi)
4757fb:	c7 47 18 22 00 00 00 	movl   $0x22,0x18(%edi)
475802:	57                   	push   %edi
475803:	eb 0f                	jmp    0x475814
475805:	8b 45 1c             	mov    0x1c(%ebp),%eax
475808:	50                   	push   %eax
475809:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
47580d:	c7 40 18 16 00 00 00 	movl   $0x16,0x18(%eax)
475814:	33 c0                	xor    %eax,%eax
475816:	50                   	push   %eax
475817:	50                   	push   %eax
475818:	50                   	push   %eax
475819:	50                   	push   %eax
47581a:	50                   	push   %eax
47581b:	e8 84 3d 00 00       	call   0x4795a4
475820:	83 c4 18             	add    $0x18,%esp
475823:	83 c8 ff             	or     $0xffffffff,%eax
475826:	5e                   	pop    %esi
475827:	5f                   	pop    %edi
475828:	5d                   	pop    %ebp
475829:	c3                   	ret
47582a:	83 b9 04 04 00 00 00 	cmpl   $0x0,0x404(%ecx)
475831:	75 06                	jne    0x475839
475833:	b8 00 02 00 00       	mov    $0x200,%eax
475838:	c3                   	ret