47850e:	8b f2                	mov    %edx,%esi
478510:	8b d8                	mov    %eax,%ebx
478512:	c6 45 fe 01          	movb   $0x1,-0x2(%ebp)
478516:	8b bb ac 00 00 00    	mov    0xac(%ebx),%edi
47851c:	85 ff                	test   %edi,%edi
47851e:	74 18                	je     0x478538
478520:	8b d6                	mov    %esi,%edx
478522:	8a 4d ff             	mov    -0x1(%ebp),%cl
478525:	8b c7                	mov    %edi,%eax
478527:	8b 38                	mov    (%eax),%edi
478529:	ff 57 28             	call   *0x28(%edi)
47852c:	8b 45 08             	mov    0x8(%ebp),%eax
47852f:	8b 40 fc             	mov    -0x4(%eax),%eax
478532:	80 78 5c 00          	cmpb   $0x0,0x5c(%eax)
478536:	75 22                	jne    0x47855a
478538:	66 83 3e 00          	cmpw   $0x0,(%esi)
47853c:	74 18                	je     0x478556
47853e:	8b d6                	mov    %esi,%edx
478540:	8a 4d ff             	mov    -0x1(%ebp),%cl
478543:	8b c3                	mov    %ebx,%eax
478545:	8b 18                	mov    (%eax),%ebx
478547:	ff 53 48             	call   *0x48(%ebx)
47854a:	8b 45 08             	mov    0x8(%ebp),%eax
47854d:	8b 40 fc             	mov    -0x4(%eax),%eax
478550:	80 78 5c 00          	cmpb   $0x0,0x5c(%eax)
478554:	75 04                	jne    0x47855a
478556:	c6 45 fe 00          	movb   $0x0,-0x2(%ebp)
47855a:	8a 45 fe             	mov    -0x2(%ebp),%al
47855d:	5f                   	pop    %edi
47855e:	5e                   	pop    %esi
47855f:	5b                   	pop    %ebx
478560:	59                   	pop    %ecx
478561:	5d                   	pop    %ebp
478562:	c3                   	ret
478563:	90                   	nop
478564:	55                   	push   %ebp
478565:	8b ec                	mov    %esp,%ebp
478567:	83 c4 f0             	add    $0xfffffff0,%esp
47856a:	53                   	push   %ebx
47856b:	56                   	push   %esi
47856c:	8b f2                	mov    %edx,%esi
47856e:	8b d8                	mov    %eax,%ebx
478570:	c7 45 f0 00 02 00 00 	movl   $0x200,-0x10(%ebp)
478577:	33 c0                	xor    %eax,%eax
478579:	89 45 f4             	mov    %eax,-0xc(%ebp)
47857c:	8b c6                	mov    %esi,%eax
47857e:	e8 05 fa f8 ff       	call   0x407f88
478583:	89 45 f8             	mov    %eax,-0x8(%ebp)
478586:	8d 4d f0             	lea    -0x10(%ebp),%ecx
478589:	a1 f4 6f 6a 00       	mov    0x6a6ff4,%eax
47858e:	8b 00                	mov    (%eax),%eax
478590:	8b d3                	mov    %ebx,%edx
478592:	e8 b5 21 ff ff       	call   0x46a74c
478597:	5e                   	pop    %esi
478598:	5b                   	pop    %ebx
478599:	8b e5                	mov    %ebp,%esp
47859b:	5d                   	pop    %ebp
47859c:	c3                   	ret
47859d:	8d 40 00             	lea    0x0(%eax),%eax
4785a0:	55                   	push   %ebp
4785a1:	8b ec                	mov    %esp,%ebp
4785a3:	83 c4 e4             	add    $0xffffffe4,%esp
4785a6:	53                   	push   %ebx
4785a7:	56                   	push   %esi
4785a8:	57                   	push   %edi
4785a9:	8b 45 08             	mov    0x8(%ebp),%eax
4785ac:	50                   	push   %eax
4785ad:	b8 24 8d 6a 00       	mov    $0x6a8d24,%eax
4785b2:	b2 01                	mov    $0x1,%dl
4785b4:	e8 6b fe ff ff       	call   0x478424
4785b9:	59                   	pop    %ecx
4785ba:	8b 45 08             	mov    0x8(%ebp),%eax
4785bd:	50                   	push   %eax
4785be:	e8 45 fe ff ff       	call   0x478408
4785c3:	59                   	pop    %ecx
4785c4:	8b d8                	mov    %eax,%ebx
4785c6:	33 c0                	xor    %eax,%eax
4785c8:	89 45 fc             	mov    %eax,-0x4(%ebp)
4785cb:	8b 83 ac 00 00 00    	mov    0xac(%ebx),%eax
4785d1:	85 c0                	test   %eax,%eax
4785d3:	0f 84 87 00 00 00    	je     0x478660
4785d9:	83 bb c8 00 00 00 00 	cmpl   $0x0,0xc8(%ebx)
4785e0:	74 7e                	je     0x478660
4785e2:	8b 70 1c             	mov    0x1c(%eax),%esi
4785e5:	8d 4d f4             	lea    -0xc(%ebp),%ecx
4785e8:	ba 24 8d 6a 00       	mov    $0x6a8d24,%edx
4785ed:	8b 83 c8 00 00 00    	mov    0xc8(%ebx),%eax
4785f3:	e8 18 fd fc ff       	call   0x448310
4785f8:	f6 83 b4 00 00 00 04 	testb  $0x4,0xb4(%ebx)
4785ff:	75 06                	jne    0x478607
478601:	f6 46 3f 80          	testb  $0x80,0x3f(%esi)
478605:	74 24                	je     0x47862b
478607:	80 7b 40 00          	cmpb   $0x0,0x40(%ebx)
47860b:	75 1e                	jne    0x47862b
47860d:	8b 83 c8 00 00 00    	mov    0xc8(%ebx),%eax
478613:	8b 10                	mov    (%eax),%edx
478615:	ff 92 88 00 00 00    	call   *0x88(%edx)
47861b:	8d 55 f4             	lea    -0xc(%ebp),%edx
47861e:	8b 83 c8 00 00 00    	mov    0xc8(%ebx),%eax
478624:	e8 3b ff ff ff       	call   0x478564
478629:	eb 0c                	jmp    0x478637
47862b:	a1 f4 6f 6a 00       	mov    0x6a6ff4,%eax
478630:	8b 00                	mov    (%eax),%eax
478632:	e8 a1 22 ff ff       	call   0x46a8d8
478637:	8b 83 ac 00 00 00    	mov    0xac(%ebx),%eax
47863d:	8d 70 04             	lea    0x4(%eax),%esi
478640:	8d 7d e4             	lea    -0x1c(%ebp),%edi
478643:	a5                   	movsl  %ds:(%esi),%es:(%edi)
478644:	a5                   	movsl  %ds:(%esi),%es:(%edi)
478645:	a5                   	movsl  %ds:(%esi),%es:(%edi)
478646:	a5                   	movsl  %ds:(%esi),%es:(%edi)
478647:	8b 55 e4             	mov    -0x1c(%ebp),%edx
47864a:	29 55 f4             	sub    %edx,-0xc(%ebp)
47864d:	8b 55 e8             	mov    -0x18(%ebp),%edx
478650:	29 55 f8             	sub    %edx,-0x8(%ebp)
478653:	8d 4d fc             	lea    -0x4(%ebp),%ecx
478656:	8d 55 f4             	lea    -0xc(%ebp),%edx
478659:	8b 18                	mov    (%eax),%ebx
47865b:	ff 53 1c             	call   *0x1c(%ebx)
47865e:	eb 0c                	jmp    0x47866c
478660:	a1 f4 6f 6a 00       	mov    0x6a6ff4,%eax
478665:	8b 00                	mov    (%eax),%eax
478667:	e8 6c 22 ff ff       	call   0x46a8d8
47866c:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
478670:	75 0f                	jne    0x478681
478672:	68 00 7f 00 00       	push   $0x7f00
478677:	6a 00                	push   $0x0
478679:	e8 9a f5 f8 ff       	call   0x407c18
47867e:	89 45 fc             	mov    %eax,-0x4(%ebp)
478681:	8b 45 fc             	mov    -0x4(%ebp),%eax
478684:	50                   	push   %eax
478685:	e8 c6 f6 f8 ff       	call   0x407d50
47868a:	5f                   	pop    %edi
47868b:	5e                   	pop    %esi
47868c:	5b                   	pop    %ebx
47868d:	8b e5                	mov    %ebp,%esp
47868f:	5d                   	pop    %ebp
478690:	c3                   	ret
478691:	8d 40 00             	lea    0x0(%eax),%eax
478694:	55                   	push   %ebp
478695:	8b ec                	mov    %esp,%ebp
478697:	6a 00                	push   $0x0
478699:	53                   	push   %ebx
47869a:	56                   	push   %esi
47869b:	33 c0                	xor    %eax,%eax
47869d:	55                   	push   %ebp
47869e:	68 13 87 47 00       	push   $0x478713
4786a3:	64 ff 30             	push   %fs:(%eax)
4786a6:	64 89 20             	mov    %esp,%fs:(%eax)
4786a9:	8b 45 08             	mov    0x8(%ebp),%eax
4786ac:	8b 58 fc             	mov    -0x4(%eax),%ebx
4786af:	eb 02                	jmp    0x4786b3
4786b1:	8b d8                	mov    %eax,%ebx
4786b3:	8b 83 90 00 00 00    	mov    0x90(%ebx),%eax
4786b9:	85 c0                	test   %eax,%eax
4786bb:	74 09                	je     0x4786c6
4786bd:	83 b8 ac 00 00 00 00 	cmpl   $0x0,0xac(%eax)
4786c4:	75 eb                	jne    0x4786b1
4786c6:	8b b3 ac 00 00 00    	mov    0xac(%ebx),%esi
4786cc:	85 f6                	test   %esi,%esi
4786ce:	74 1f                	je     0x4786ef
4786d0:	8d 55 fc             	lea    -0x4(%ebp),%edx
4786d3:	8b 46 1c             	mov    0x1c(%esi),%eax
4786d6:	8b 40 4c             	mov    0x4c(%eax),%eax
4786d9:	e8 3e d2 fc ff       	call   0x44591c
4786de:	8b 55 fc             	mov    -0x4(%ebp),%edx
4786e1:	a1 f4 6f 6a 00       	mov    0x6a6ff4,%eax
4786e6:	8b 00                	mov    (%eax),%eax
4786e8:	e8 53 1e ff ff       	call   0x46a540
4786ed:	eb 0e                	jmp    0x4786fd
4786ef:	a1 f4 6f 6a 00       	mov    0x6a6ff4,%eax
4786f4:	8b 00                	mov    (%eax),%eax
4786f6:	33 d2                	xor    %edx,%edx
4786f8:	e8 43 1e ff ff       	call   0x46a540
4786fd:	33 c0                	xor    %eax,%eax
4786ff:	5a                   	pop    %edx
478700:	59                   	pop    %ecx
478701:	59                   	pop    %ecx
478702:	64 89 10             	mov    %edx,%fs:(%eax)
478705:	68 1a 87 47 00       	push   $0x47871a
47870a:	8d 45 fc             	lea    -0x4(%ebp),%eax
47870d:	e8 56 c1 f8 ff       	call   0x404868
478712:	c3                   	ret
478713:	e9 f4 ba f8 ff       	jmp    0x40420c
478718:	eb f0                	jmp    0x47870a
47871a:	5e                   	pop    %esi
47871b:	5b                   	pop    %ebx
47871c:	59                   	pop    %ecx
47871d:	5d                   	pop    %ebp
47871e:	c3                   	ret
47871f:	90                   	nop
478720:	53                   	push   %ebx
478721:	8b d8                	mov    %eax,%ebx
478723:	80 ea 01             	sub    $0x1,%dl
478726:	72 0c                	jb     0x478734
478728:	74 1c                	je     0x478746
47872a:	fe ca                	dec    %dl
47872c:	74 21                	je     0x47874f
47872e:	fe ca                	dec    %dl
478730:	74 3c                	je     0x47876e
478732:	eb 57                	jmp    0x47878b
478734:	8b c3                	mov    %ebx,%eax
478736:	e8 29 ce ff ff       	call   0x475564
47873b:	33 d2                	xor    %edx,%edx
47873d:	8b c3                	mov    %ebx,%eax
47873f:	e8 98 cd ff ff       	call   0x4754dc
478744:	5b                   	pop    %ebx
478745:	c3                   	ret
478746:	8b c3                	mov    %ebx,%eax
478748:	e8 17 ce ff ff       	call   0x475564
47874d:	5b                   	pop    %ebx
47874e:	c3                   	ret
47874f:	80 bb b2 00 00 00 00 	cmpb   $0x0,0xb2(%ebx)
478756:	74 0b                	je     0x478763
478758:	33 d2                	xor    %edx,%edx
47875a:	8b c3                	mov    %ebx,%eax
47875c:	e8 b7 f9 ff ff       	call   0x478118
478761:	eb 28                	jmp    0x47878b
478763:	b2 02                	mov    $0x2,%dl
478765:	8b c3                	mov    %ebx,%eax
478767:	e8 0c cd ff ff       	call   0x475478
47876c:	5b                   	pop    %ebx
47876d:	c3                   	ret
47876e:	80 bb b1 00 00 00 00 	cmpb   $0x0,0xb1(%ebx)
478775:	74 0b                	je     0x478782
478777:	b2 01                	mov    $0x1,%dl
478779:	8b c3                	mov    %ebx,%eax
47877b:	e8 98 f9 ff ff       	call   0x478118
478780:	eb 09                	jmp    0x47878b
478782:	b2 03                	mov    $0x3,%dl
478784:	8b c3                	mov    %ebx,%eax
478786:	e8 ed cc ff ff       	call   0x475478
47878b:	5b                   	pop    %ebx
47878c:	c3                   	ret
47878d:	8d 40 00             	lea    0x0(%eax),%eax
478790:	55                   	push   %ebp
478791:	8b ec                	mov    %esp,%ebp
478793:	83 c4 a4             	add    $0xffffffa4,%esp
478796:	53                   	push   %ebx
478797:	56                   	push   %esi
478798:	57                   	push   %edi
478799:	8b d9                	mov    %ecx,%ebx
47879b:	89 55 fc             	mov    %edx,-0x4(%ebp)
47879e:	89 45 f8             	mov    %eax,-0x8(%ebp)
4787a1:	8d 75 c0             	lea    -0x40(%ebp),%esi
4787a4:	8b 45 fc             	mov    -0x4(%ebp),%eax
4787a7:	83 c0 5c             	add    $0x5c,%eax
4787aa:	33 c9                	xor    %ecx,%ecx
4787ac:	ba 0c 00 00 00       	mov    $0xc,%edx
4787b1:	e8 8a aa f8 ff       	call   0x403240
4787b6:	8b 45 fc             	mov    -0x4(%ebp),%eax
4787b9:	e8 c6 c4 ff ff       	call   0x474c84
4787be:	33 d2                	xor    %edx,%edx
4787c0:	55                   	push   %ebp
4787c1:	68 ed 8e 47 00       	push   $0x478eed
4787c6:	64 ff 32             	push   %fs:(%edx)
4787c9:	64 89 22             	mov    %esp,%fs:(%edx)
4787cc:	33 d2                	xor    %edx,%edx
4787ce:	55                   	push   %ebp
4787cf:	68 95 8e 47 00       	push   $0x478e95
4787d4:	64 ff 32             	push   %fs:(%edx)
4787d7:	64 89 22             	mov    %esp,%fs:(%edx)
4787da:	8b 45 f8             	mov    -0x8(%ebp),%eax
4787dd:	8b 40 08             	mov    0x8(%eax),%eax
4787e0:	8b 55 fc             	mov    -0x4(%ebp),%edx
4787e3:	89 42 44             	mov    %eax,0x44(%edx)
4787e6:	c6 45 f7 00          	movb   $0x0,-0x9(%ebp)
4787ea:	84 db                	test   %bl,%bl
4787ec:	74 64                	je     0x478852
4787ee:	e8 cd f2 f8 ff       	call   0x407ac0
4787f3:	89 45 b4             	mov    %eax,-0x4c(%ebp)
4787f6:	8b 45 b4             	mov    -0x4c(%ebp),%eax
4787f9:	8d 55 b8             	lea    -0x48(%ebp),%edx
4787fc:	e8 73 f7 f8 ff       	call   0x407f74
478801:	8d 55 b8             	lea    -0x48(%ebp),%edx
478804:	8d 4d ef             	lea    -0x11(%ebp),%ecx
478807:	8b 45 fc             	mov    -0x4(%ebp),%eax
47880a:	8b 80 ac 00 00 00    	mov    0xac(%eax),%eax
478810:	e8 77 bf ff ff       	call   0x47478c
478815:	8b 45 f3             	mov    -0xd(%ebp),%eax
478818:	50                   	push   %eax
478819:	8d 45 f7             	lea    -0x9(%ebp),%eax
47881c:	50                   	push   %eax
47881d:	8b 45 fc             	mov    -0x4(%ebp),%eax
478820:	8b 80 ac 00 00 00    	mov    0xac(%eax),%eax
478826:	8b 4d ef             	mov    -0x11(%ebp),%ecx
478829:	8a 15 00 8f 47 00    	mov    0x478f00,%dl
47882f:	8b 18                	mov    (%eax),%ebx
478831:	ff 53 34             	call   *0x34(%ebx)
478834:	8b 45 fc             	mov    -0x4(%ebp),%eax
478837:	80 78 5c 00          	cmpb   $0x0,0x5c(%eax)
47883b:	74 0f                	je     0x47884c
47883d:	e8 ae ba f8 ff       	call   0x4042f0
478842:	e8 a9 ba f8 ff       	call   0x4042f0
478847:	e9 a8 06 00 00       	jmp    0x478ef4
47884c:	c6 45 f7 00          	movb   $0x0,-0x9(%ebp)
478850:	eb 2c                	jmp    0x47887e
478852:	80 7d 10 00          	cmpb   $0x0,0x10(%ebp)
478856:	74 26                	je     0x47887e
478858:	8a 55 0c             	mov    0xc(%ebp),%dl
47885b:	80 f2 01             	xor    $0x1,%dl
47885e:	8b 45 fc             	mov    -0x4(%ebp),%eax
478861:	e8 2a f8 ff ff       	call   0x478090
478866:	8b 45 fc             	mov    -0x4(%ebp),%eax
478869:	80 78 5c 00          	cmpb   $0x0,0x5c(%eax)
47886d:	74 0f                	je     0x47887e
47886f:	e8 7c ba f8 ff       	call   0x4042f0
478874:	e8 77 ba f8 ff       	call   0x4042f0
478879:	e9 76 06 00 00       	jmp    0x478ef4
47887e:	b3 01                	mov    $0x1,%bl
478880:	e9 eb 05 00 00       	jmp    0x478e70
478885:	84 db                	test   %bl,%bl
478887:	75 05                	jne    0x47888e
478889:	e8 ea f5 f8 ff       	call   0x407e78
47888e:	33 db                	xor    %ebx,%ebx
478890:	e9 ba 05 00 00       	jmp    0x478e4f
478895:	8b 46 04             	mov    0x4(%esi),%eax
478898:	2d 01 02 00 00       	sub    $0x201,%eax
47889d:	74 09                	je     0x4788a8
47889f:	83 e8 03             	sub    $0x3,%eax
4788a2:	0f 85 eb 00 00 00    	jne    0x478993
4788a8:	8d 55 ef             	lea    -0x11(%ebp),%edx
4788ab:	8b 46 0c             	mov    0xc(%esi),%eax
4788ae:	e8 c1 f6 f8 ff       	call   0x407f74
4788b3:	8d 45 ef             	lea    -0x11(%ebp),%eax
4788b6:	50                   	push   %eax
4788b7:	8b 06                	mov    (%esi),%eax
4788b9:	50                   	push   %eax
4788ba:	e8 a1 ef f8 ff       	call   0x407860
4788bf:	8d 45 ef             	lea    -0x11(%ebp),%eax
4788c2:	b2 01                	mov    $0x1,%dl
4788c4:	e8 87 e7 fc ff       	call   0x447050
4788c9:	8b f8                	mov    %eax,%edi
4788cb:	8b c7                	mov    %edi,%eax
4788cd:	8b 15 7c 05 47 00    	mov    0x47057c,%edx
4788d3:	e8 2c b3 f8 ff       	call   0x403c04
4788d8:	84 c0                	test   %al,%al
4788da:	74 16                	je     0x4788f2
4788dc:	8b 97 14 02 00 00    	mov    0x214(%edi),%edx
4788e2:	8b 45 fc             	mov    -0x4(%ebp),%eax
4788e5:	e8 d6 c2 ff ff       	call   0x474bc0
4788ea:	84 c0                	test   %al,%al
4788ec:	0f 85 a1 00 00 00    	jne    0x478993
4788f2:	8b 45 fc             	mov    -0x4(%ebp),%eax
4788f5:	80 78 70 00          	cmpb   $0x0,0x70(%eax)
4788f9:	75 43                	jne    0x47893e
4788fb:	8b 45 fc             	mov    -0x4(%ebp),%eax
4788fe:	3b b8 c8 00 00 00    	cmp    0xc8(%eax),%edi
478904:	75 38                	jne    0x47893e
478906:	8d 4d b8             	lea    -0x48(%ebp),%ecx