478626:	85 c0                	test   %eax,%eax
478628:	74 09                	je     0x478633
47862a:	8b 45 08             	mov    0x8(%ebp),%eax
47862d:	fe c2                	inc    %dl
47862f:	8b 09                	mov    (%ecx),%ecx
478631:	89 08                	mov    %ecx,(%eax)
478633:	8a c2                	mov    %dl,%al
478635:	5d                   	pop    %ebp
478636:	c2 04 00             	ret    $0x4
478639:	8b ff                	mov    %edi,%edi
47863b:	55                   	push   %ebp
47863c:	8b ec                	mov    %esp,%ebp
47863e:	51                   	push   %ecx
47863f:	8b 45 0c             	mov    0xc(%ebp),%eax
478642:	53                   	push   %ebx
478643:	56                   	push   %esi
478644:	8b 75 08             	mov    0x8(%ebp),%esi
478647:	2b f2                	sub    %edx,%esi
478649:	89 4d fc             	mov    %ecx,-0x4(%ebp)
47864c:	83 c6 03             	add    $0x3,%esi
47864f:	57                   	push   %edi
478650:	33 ff                	xor    %edi,%edi
478652:	c1 ee 02             	shr    $0x2,%esi
478655:	39 55 08             	cmp    %edx,0x8(%ebp)
478658:	1b db                	sbb    %ebx,%ebx
47865a:	f7 d3                	not    %ebx
47865c:	23 de                	and    %esi,%ebx
47865e:	74 12                	je     0x478672
478660:	8b 0a                	mov    (%edx),%ecx
478662:	8d 52 04             	lea    0x4(%edx),%edx
478665:	89 08                	mov    %ecx,(%eax)
478667:	83 c0 04             	add    $0x4,%eax
47866a:	47                   	inc    %edi
47866b:	3b fb                	cmp    %ebx,%edi
47866d:	75 f1                	jne    0x478660
47866f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
478672:	5f                   	pop    %edi
478673:	5e                   	pop    %esi
478674:	89 01                	mov    %eax,(%ecx)
478676:	8b c1                	mov    %ecx,%eax
478678:	5b                   	pop    %ebx
478679:	c9                   	leave
47867a:	c3                   	ret
47867b:	cc                   	int3
47867c:	cc                   	int3
47867d:	cc                   	int3
47867e:	cc                   	int3
47867f:	cc                   	int3
478680:	8b ff                	mov    %edi,%edi
478682:	55                   	push   %ebp
478683:	8b ec                	mov    %esp,%ebp
478685:	8b 51 08             	mov    0x8(%ecx),%edx
478688:	8b 02                	mov    (%edx),%eax
47868a:	3b c2                	cmp    %edx,%eax
47868c:	74 14                	je     0x4786a2
47868e:	56                   	push   %esi
47868f:	8b 75 08             	mov    0x8(%ebp),%esi
478692:	39 70 08             	cmp    %esi,0x8(%eax)
478695:	74 06                	je     0x47869d
478697:	8b 00                	mov    (%eax),%eax
478699:	3b c2                	cmp    %edx,%eax
47869b:	75 f5                	jne    0x478692
47869d:	5e                   	pop    %esi
47869e:	3b c2                	cmp    %edx,%eax
4786a0:	75 0c                	jne    0x4786ae
4786a2:	8d 45 08             	lea    0x8(%ebp),%eax
4786a5:	83 c1 04             	add    $0x4,%ecx
4786a8:	50                   	push   %eax
4786a9:	e8 e0 00 00 00       	call   0x47878e
4786ae:	5d                   	pop    %ebp
4786af:	c2 04 00             	ret    $0x4
4786b2:	cc                   	int3
4786b3:	cc                   	int3
4786b4:	cc                   	int3
4786b5:	cc                   	int3
4786b6:	cc                   	int3
4786b7:	cc                   	int3
4786b8:	cc                   	int3
4786b9:	cc                   	int3
4786ba:	cc                   	int3
4786bb:	cc                   	int3
4786bc:	cc                   	int3
4786bd:	cc                   	int3
4786be:	cc                   	int3
4786bf:	cc                   	int3
4786c0:	8b ff                	mov    %edi,%edi
4786c2:	55                   	push   %ebp
4786c3:	8b ec                	mov    %esp,%ebp
4786c5:	53                   	push   %ebx
4786c6:	8b d9                	mov    %ecx,%ebx
4786c8:	8b 4d 08             	mov    0x8(%ebp),%ecx
4786cb:	56                   	push   %esi
4786cc:	8b 73 08             	mov    0x8(%ebx),%esi
4786cf:	8b 06                	mov    (%esi),%eax
4786d1:	8b d0                	mov    %eax,%edx
4786d3:	3b d6                	cmp    %esi,%edx
4786d5:	74 40                	je     0x478717
4786d7:	39 4a 08             	cmp    %ecx,0x8(%edx)
4786da:	74 04                	je     0x4786e0
4786dc:	8b 12                	mov    (%edx),%edx
4786de:	eb f3                	jmp    0x4786d3
4786e0:	3b d6                	cmp    %esi,%edx
4786e2:	74 33                	je     0x478717
4786e4:	3b c6                	cmp    %esi,%eax
4786e6:	74 2f                	je     0x478717
4786e8:	57                   	push   %edi
4786e9:	8b 38                	mov    (%eax),%edi
4786eb:	39 48 08             	cmp    %ecx,0x8(%eax)
4786ee:	75 20                	jne    0x478710
4786f0:	3b 43 08             	cmp    0x8(%ebx),%eax
4786f3:	74 1b                	je     0x478710
4786f5:	8b 48 04             	mov    0x4(%eax),%ecx
4786f8:	50                   	push   %eax
4786f9:	89 39                	mov    %edi,(%ecx)
4786fb:	8b 10                	mov    (%eax),%edx
4786fd:	8b 48 04             	mov    0x4(%eax),%ecx
478700:	89 4a 04             	mov    %ecx,0x4(%edx)
478703:	ff 15 10 74 4a 00    	call   *0x4a7410
478709:	ff 4b 0c             	decl   0xc(%ebx)
47870c:	59                   	pop    %ecx
47870d:	8b 4d 08             	mov    0x8(%ebp),%ecx
478710:	8b c7                	mov    %edi,%eax
478712:	3b fe                	cmp    %esi,%edi
478714:	75 d3                	jne    0x4786e9
478716:	5f                   	pop    %edi
478717:	5e                   	pop    %esi
478718:	5b                   	pop    %ebx
478719:	5d                   	pop    %ebp
47871a:	c2 04 00             	ret    $0x4
47871d:	8b ff                	mov    %edi,%edi
47871f:	55                   	push   %ebp
478720:	8b ec                	mov    %esp,%ebp
478722:	56                   	push   %esi
478723:	57                   	push   %edi
478724:	8b f9                	mov    %ecx,%edi
478726:	6a 00                	push   $0x0
478728:	ff 75 08             	push   0x8(%ebp)
47872b:	8b 07                	mov    (%edi),%eax
47872d:	8b 70 08             	mov    0x8(%eax),%esi
478730:	8b ce                	mov    %esi,%ecx
478732:	ff 15 2c 81 4a 00    	call   *0x4a812c
478738:	8b cf                	mov    %edi,%ecx
47873a:	ff d6                	call   *%esi
47873c:	5f                   	pop    %edi
47873d:	5e                   	pop    %esi
47873e:	5d                   	pop    %ebp
47873f:	c2 04 00             	ret    $0x4
478742:	cc                   	int3
478743:	cc                   	int3
478744:	cc                   	int3
478745:	cc                   	int3
478746:	cc                   	int3
478747:	cc                   	int3
478748:	cc                   	int3
478749:	cc                   	int3
47874a:	cc                   	int3
47874b:	cc                   	int3
47874c:	cc                   	int3
47874d:	cc                   	int3
47874e:	cc                   	int3
47874f:	cc                   	int3
478750:	8b ff                	mov    %edi,%edi
478752:	55                   	push   %ebp
478753:	8b ec                	mov    %esp,%ebp
478755:	51                   	push   %ecx
478756:	56                   	push   %esi
478757:	57                   	push   %edi
478758:	8b 79 08             	mov    0x8(%ecx),%edi
47875b:	8b 37                	mov    (%edi),%esi
47875d:	3b f7                	cmp    %edi,%esi
47875f:	74 27                	je     0x478788
478761:	53                   	push   %ebx
478762:	8b 46 08             	mov    0x8(%esi),%eax
478765:	89 45 fc             	mov    %eax,-0x4(%ebp)
478768:	3b 45 0c             	cmp    0xc(%ebp),%eax
47876b:	74 14                	je     0x478781
47876d:	8b 00                	mov    (%eax),%eax
47876f:	ff 75 08             	push   0x8(%ebp)
478772:	8b 18                	mov    (%eax),%ebx
478774:	8b cb                	mov    %ebx,%ecx
478776:	ff 15 2c 81 4a 00    	call   *0x4a812c
47877c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
47877f:	ff d3                	call   *%ebx
478781:	8b 36                	mov    (%esi),%esi
478783:	3b f7                	cmp    %edi,%esi
478785:	75 db                	jne    0x478762
478787:	5b                   	pop    %ebx
478788:	5f                   	pop    %edi
478789:	5e                   	pop    %esi
47878a:	c9                   	leave
47878b:	c2 08 00             	ret    $0x8
47878e:	6a 48                	push   $0x48
478790:	b8 86 16 49 00       	mov    $0x491686,%eax
478795:	e8 6c 7d 01 00       	call   0x490506
47879a:	8b f1                	mov    %ecx,%esi
47879c:	8b 7e 04             	mov    0x4(%esi),%edi
47879f:	8b 45 08             	mov    0x8(%ebp),%eax
4787a2:	50                   	push   %eax
4787a3:	ff 77 04             	push   0x4(%edi)
4787a6:	57                   	push   %edi
4787a7:	e8 d3 8d fa ff       	call   0x42157f
4787ac:	8b d0                	mov    %eax,%edx
4787ae:	b9 ff ff ff 3f       	mov    $0x3fffffff,%ecx
4787b3:	8b 46 08             	mov    0x8(%esi),%eax
4787b6:	2b c8                	sub    %eax,%ecx
4787b8:	83 f9 01             	cmp    $0x1,%ecx
4787bb:	72 14                	jb     0x4787d1
4787bd:	40                   	inc    %eax
4787be:	89 46 08             	mov    %eax,0x8(%esi)
4787c1:	89 57 04             	mov    %edx,0x4(%edi)
4787c4:	8b 42 04             	mov    0x4(%edx),%eax
4787c7:	89 10                	mov    %edx,(%eax)
4787c9:	e8 e7 7c 01 00       	call   0x4904b5
4787ce:	c2 04 00             	ret    $0x4
4787d1:	68 ec fb 40 00       	push   $0x40fbec
4787d6:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
4787d9:	e8 ae 36 fa ff       	call   0x41be8c
4787de:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4787e2:	8d 45 d4             	lea    -0x2c(%ebp),%eax
4787e5:	50                   	push   %eax
4787e6:	8d 4d ac             	lea    -0x54(%ebp),%ecx
4787e9:	e8 7c 31 fa ff       	call   0x41b96a
4787ee:	68 c8 ea 49 00       	push   $0x49eac8
4787f3:	8d 45 ac             	lea    -0x54(%ebp),%eax
4787f6:	50                   	push   %eax
4787f7:	e8 9f 7c 01 00       	call   0x49049b
4787fc:	cc                   	int3
4787fd:	8b ff                	mov    %edi,%edi
4787ff:	55                   	push   %ebp
478800:	8b ec                	mov    %esp,%ebp
478802:	51                   	push   %ecx
478803:	56                   	push   %esi
478804:	8b f1                	mov    %ecx,%esi
478806:	89 75 fc             	mov    %esi,-0x4(%ebp)
478809:	c7 06 80 5f 40 00    	movl   $0x405f80,(%esi)
47880f:	e8 4f 8b fa ff       	call   0x421363
478814:	83 66 0c 00          	andl   $0x0,0xc(%esi)
478818:	89 46 08             	mov    %eax,0x8(%esi)
47881b:	8b c6                	mov    %esi,%eax
47881d:	5e                   	pop    %esi
47881e:	c9                   	leave
47881f:	c3                   	ret
478820:	8b ff                	mov    %edi,%edi
478822:	55                   	push   %ebp
478823:	8b ec                	mov    %esp,%ebp
478825:	56                   	push   %esi
478826:	8b f1                	mov    %ecx,%esi
478828:	e8 15 00 00 00       	call   0x478842
47882d:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
478831:	74 08                	je     0x47883b
478833:	56                   	push   %esi
478834:	ff 15 10 74 4a 00    	call   *0x4a7410
47883a:	59                   	pop    %ecx
47883b:	8b c6                	mov    %esi,%eax
47883d:	5e                   	pop    %esi
47883e:	5d                   	pop    %ebp
47883f:	c2 04 00             	ret    $0x4
478842:	8b ff                	mov    %edi,%edi
478844:	55                   	push   %ebp
478845:	8b ec                	mov    %esp,%ebp
478847:	51                   	push   %ecx
478848:	53                   	push   %ebx
478849:	8b d9                	mov    %ecx,%ebx
47884b:	56                   	push   %esi
47884c:	8b 43 08             	mov    0x8(%ebx),%eax
47884f:	c7 03 80 5f 40 00    	movl   $0x405f80,(%ebx)
478855:	8b 30                	mov    (%eax),%esi
478857:	3b f0                	cmp    %eax,%esi
478859:	74 26                	je     0x478881
47885b:	57                   	push   %edi
47885c:	8b 46 08             	mov    0x8(%esi),%eax
47885f:	89 45 fc             	mov    %eax,-0x4(%ebp)
478862:	85 c0                	test   %eax,%eax
478864:	74 13                	je     0x478879
478866:	8b 00                	mov    (%eax),%eax
478868:	6a 01                	push   $0x1
47886a:	8b 38                	mov    (%eax),%edi
47886c:	8b cf                	mov    %edi,%ecx
47886e:	ff 15 2c 81 4a 00    	call   *0x4a812c
478874:	8b 4d fc             	mov    -0x4(%ebp),%ecx
478877:	ff d7                	call   *%edi
478879:	8b 36                	mov    (%esi),%esi
47887b:	3b 73 08             	cmp    0x8(%ebx),%esi
47887e:	75 dc                	jne    0x47885c
478880:	5f                   	pop    %edi
478881:	8d 4b 04             	lea    0x4(%ebx),%ecx
478884:	e8 dc 46 fc ff       	call   0x43cf65
478889:	8d 4b 04             	lea    0x4(%ebx),%ecx
47888c:	e8 d4 46 fc ff       	call   0x43cf65
478891:	ff 73 08             	push   0x8(%ebx)
478894:	ff 15 10 74 4a 00    	call   *0x4a7410
47889a:	83 63 08 00          	andl   $0x0,0x8(%ebx)
47889e:	59                   	pop    %ecx
47889f:	5e                   	pop    %esi
4788a0:	5b                   	pop    %ebx
4788a1:	c9                   	leave
4788a2:	c3                   	ret
4788a3:	6a 4c                	push   $0x4c
4788a5:	b8 be 12 49 00       	mov    $0x4912be,%eax
4788aa:	e8 57 7c 01 00       	call   0x490506
4788af:	8b d9                	mov    %ecx,%ebx
4788b1:	8b 7d 08             	mov    0x8(%ebp),%edi
4788b4:	8b 07                	mov    (%edi),%eax
4788b6:	8b 70 04             	mov    0x4(%eax),%esi
4788b9:	8b ce                	mov    %esi,%ecx
4788bb:	ff 15 2c 81 4a 00    	call   *0x4a812c
4788c1:	8b cf                	mov    %edi,%ecx
4788c3:	ff d6                	call   *%esi
4788c5:	8b 73 08             	mov    0x8(%ebx),%esi
4788c8:	89 45 a8             	mov    %eax,-0x58(%ebp)
4788cb:	8d 45 a8             	lea    -0x58(%ebp),%eax
4788ce:	50                   	push   %eax
4788cf:	ff 76 04             	push   0x4(%esi)
4788d2:	56                   	push   %esi
4788d3:	e8 a7 8c fa ff       	call   0x42157f
4788d8:	8b d0                	mov    %eax,%edx
4788da:	b9 ff ff ff 3f       	mov    $0x3fffffff,%ecx
4788df:	8b 43 0c             	mov    0xc(%ebx),%eax
4788e2:	2b c8                	sub    %eax,%ecx
4788e4:	83 f9 01             	cmp    $0x1,%ecx
4788e7:	72 14                	jb     0x4788fd
4788e9:	40                   	inc    %eax
4788ea:	89 43 0c             	mov    %eax,0xc(%ebx)
4788ed:	89 56 04             	mov    %edx,0x4(%esi)
4788f0:	8b 42 04             	mov    0x4(%edx),%eax
4788f3:	89 10                	mov    %edx,(%eax)
4788f5:	e8 bb 7b 01 00       	call   0x4904b5
4788fa:	c2 04 00             	ret    $0x4
4788fd:	68 ec fb 40 00       	push   $0x40fbec
478902:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
478905:	e8 82 35 fa ff       	call   0x41be8c
47890a:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
47890e:	8d 45 d4             	lea    -0x2c(%ebp),%eax
478911:	50                   	push   %eax
478912:	8d 4d ac             	lea    -0x54(%ebp),%ecx
478915:	e8 50 30 fa ff       	call   0x41b96a
47891a:	68 c8 ea 49 00       	push   $0x49eac8
47891f:	8d 45 ac             	lea    -0x54(%ebp),%eax
478922:	50                   	push   %eax
478923:	e8 73 7b 01 00       	call   0x49049b
478928:	cc                   	int3
478929:	8b ff                	mov    %edi,%edi
47892b:	55                   	push   %ebp
47892c:	8b ec                	mov    %esp,%ebp
47892e:	51                   	push   %ecx
47892f:	8b c1                	mov    %ecx,%eax
478931:	89 45 fc             	mov    %eax,-0x4(%ebp)
478934:	56                   	push   %esi
478935:	8b 40 08             	mov    0x8(%eax),%eax
478938:	8b 30                	mov    (%eax),%esi