479494:	8b 45 e8             	mov    -0x18(%ebp),%eax
479497:	89 45 e4             	mov    %eax,-0x1c(%ebp)
47949a:	ff 45 e0             	incl   -0x20(%ebp)
47949d:	ff 4d c8             	decl   -0x38(%ebp)
4794a0:	0f 85 67 ff ff ff    	jne    0x47940d
4794a6:	e9 ed 03 00 00       	jmp    0x479898
4794ab:	6a 01                	push   $0x1
4794ad:	8b c8                	mov    %eax,%ecx
4794af:	b2 01                	mov    $0x1,%dl
4794b1:	8b c3                	mov    %ebx,%eax
4794b3:	e8 08 05 00 00       	call   0x4799c0
4794b8:	8b f8                	mov    %eax,%edi
4794ba:	8a 4e 06             	mov    0x6(%esi),%cl
4794bd:	8b 56 18             	mov    0x18(%esi),%edx
4794c0:	8b c3                	mov    %ebx,%eax
4794c2:	e8 a9 fd ff ff       	call   0x479270
4794c7:	50                   	push   %eax
4794c8:	33 c9                	xor    %ecx,%ecx
4794ca:	8b d7                	mov    %edi,%edx
4794cc:	8b c3                	mov    %ebx,%eax
4794ce:	e8 31 05 00 00       	call   0x479a04
4794d3:	e9 c0 03 00 00       	jmp    0x479898
4794d8:	88 45 df             	mov    %al,-0x21(%ebp)
4794db:	8b 46 18             	mov    0x18(%esi),%eax
4794de:	89 45 f4             	mov    %eax,-0xc(%ebp)
4794e1:	8b 46 1c             	mov    0x1c(%esi),%eax
4794e4:	89 45 f0             	mov    %eax,-0x10(%ebp)
4794e7:	8a 45 df             	mov    -0x21(%ebp),%al
4794ea:	04 fd                	add    $0xfd,%al
4794ec:	2c 06                	sub    $0x6,%al
4794ee:	73 2c                	jae    0x47951c
4794f0:	8b 45 f0             	mov    -0x10(%ebp),%eax
4794f3:	80 78 04 00          	cmpb   $0x0,0x4(%eax)
4794f7:	75 23                	jne    0x47951c
4794f9:	8b 45 f4             	mov    -0xc(%ebp),%eax
4794fc:	80 78 04 00          	cmpb   $0x0,0x4(%eax)
479500:	74 1a                	je     0x47951c
479502:	8b 45 f4             	mov    -0xc(%ebp),%eax
479505:	8b 55 f0             	mov    -0x10(%ebp),%edx
479508:	89 55 f4             	mov    %edx,-0xc(%ebp)
47950b:	89 45 f0             	mov    %eax,-0x10(%ebp)
47950e:	33 c0                	xor    %eax,%eax
479510:	8a 45 df             	mov    -0x21(%ebp),%al
479513:	8a 80 9d e2 48 00    	mov    0x48e29d(%eax),%al
479519:	88 45 df             	mov    %al,-0x21(%ebp)
47951c:	33 ff                	xor    %edi,%edi
47951e:	8b 55 f4             	mov    -0xc(%ebp),%edx
479521:	80 7a 04 00          	cmpb   $0x0,0x4(%edx)
479525:	0f 85 8f 01 00 00    	jne    0x4796ba
47952b:	8b 55 f0             	mov    -0x10(%ebp),%edx
47952e:	80 7a 04 01          	cmpb   $0x1,0x4(%edx)
479532:	0f 85 82 01 00 00    	jne    0x4796ba
479538:	8a 46 06             	mov    0x6(%esi),%al
47953b:	3c 03                	cmp    $0x3,%al
47953d:	74 0c                	je     0x47954b
47953f:	3c 04                	cmp    $0x4,%al
479541:	74 08                	je     0x47954b
479543:	3c 1e                	cmp    $0x1e,%al
479545:	0f 85 6f 01 00 00    	jne    0x4796ba
47954b:	8b 45 f0             	mov    -0x10(%ebp),%eax
47954e:	83 c0 08             	add    $0x8,%eax
479551:	e8 56 c0 f9 ff       	call   0x4155ac
479556:	84 c0                	test   %al,%al
479558:	74 5e                	je     0x4795b8
47955a:	8a 46 06             	mov    0x6(%esi),%al
47955d:	2c 03                	sub    $0x3,%al
47955f:	74 06                	je     0x479567
479561:	fe c8                	dec    %al
479563:	74 08                	je     0x47956d
479565:	eb 0c                	jmp    0x479573
479567:	c6 45 df 01          	movb   $0x1,-0x21(%ebp)
47956b:	eb 1d                	jmp    0x47958a
47956d:	c6 45 df 02          	movb   $0x2,-0x21(%ebp)
479571:	eb 17                	jmp    0x47958a
479573:	8d 55 c4             	lea    -0x3c(%ebp),%edx
479576:	a1 c0 af 49 00       	mov    0x49afc0,%eax
47957b:	e8 b8 cc f8 ff       	call   0x406238
479580:	8b 45 c4             	mov    -0x3c(%ebp),%eax
479583:	33 d2                	xor    %edx,%edx
479585:	e8 f6 04 ff ff       	call   0x469a80
47958a:	6a 01                	push   $0x1
47958c:	8a 4d df             	mov    -0x21(%ebp),%cl
47958f:	b2 01                	mov    $0x1,%dl
479591:	8b c3                	mov    %ebx,%eax
479593:	e8 28 04 00 00       	call   0x4799c0
479598:	8b f8                	mov    %eax,%edi
47959a:	8a 4e 06             	mov    0x6(%esi),%cl
47959d:	8b 55 f4             	mov    -0xc(%ebp),%edx
4795a0:	8b c3                	mov    %ebx,%eax
4795a2:	e8 c9 fc ff ff       	call   0x479270
4795a7:	50                   	push   %eax
4795a8:	33 c9                	xor    %ecx,%ecx
4795aa:	8b d7                	mov    %edi,%edx
4795ac:	8b c3                	mov    %ebx,%eax
4795ae:	e8 51 04 00 00       	call   0x479a04
4795b3:	e9 02 01 00 00       	jmp    0x4796ba
4795b8:	8b 45 f0             	mov    -0x10(%ebp),%eax
4795bb:	8a 40 20             	mov    0x20(%eax),%al
4795be:	2c 01                	sub    $0x1,%al
4795c0:	74 0e                	je     0x4795d0
4795c2:	04 ea                	add    $0xea,%al
4795c4:	2c 02                	sub    $0x2,%al
4795c6:	72 08                	jb     0x4795d0
4795c8:	2c 0a                	sub    $0xa,%al
4795ca:	0f 85 ea 00 00 00    	jne    0x4796ba
4795d0:	8d 45 cc             	lea    -0x34(%ebp),%eax
4795d3:	8b 55 f0             	mov    -0x10(%ebp),%edx
4795d6:	83 c2 08             	add    $0x8,%edx
4795d9:	e8 0e 9f f9 ff       	call   0x4134ec
4795de:	8b 45 cc             	mov    -0x34(%ebp),%eax
4795e1:	e8 3e ae f8 ff       	call   0x404424
4795e6:	89 45 d0             	mov    %eax,-0x30(%ebp)
4795e9:	83 7d d0 00          	cmpl   $0x0,-0x30(%ebp)
4795ed:	0f 84 c7 00 00 00    	je     0x4796ba
4795f3:	33 c0                	xor    %eax,%eax
4795f5:	89 45 d8             	mov    %eax,-0x28(%ebp)
4795f8:	33 c0                	xor    %eax,%eax
4795fa:	89 45 d4             	mov    %eax,-0x2c(%ebp)
4795fd:	f6 43 2e 01          	testb  $0x1,0x2e(%ebx)
479601:	74 07                	je     0x47960a
479603:	c7 45 d8 01 00 00 00 	movl   $0x1,-0x28(%ebp)
47960a:	80 7e 05 00          	cmpb   $0x0,0x5(%esi)
47960e:	74 08                	je     0x479618
479610:	8b 45 d0             	mov    -0x30(%ebp),%eax
479613:	89 45 d4             	mov    %eax,-0x2c(%ebp)
479616:	eb 30                	jmp    0x479648
479618:	f6 43 2e 02          	testb  $0x2,0x2e(%ebx)
47961c:	75 2a                	jne    0x479648
47961e:	83 7d d0 01          	cmpl   $0x1,-0x30(%ebp)
479622:	7e 24                	jle    0x479648
479624:	8b 45 cc             	mov    -0x34(%ebp),%eax
479627:	8b 55 d0             	mov    -0x30(%ebp),%edx
47962a:	80 7c 10 ff 2a       	cmpb   $0x2a,-0x1(%eax,%edx,1)
47962f:	75 17                	jne    0x479648
479631:	8d 45 cc             	lea    -0x34(%ebp),%eax
479634:	b9 01 00 00 00       	mov    $0x1,%ecx
479639:	8b 55 d0             	mov    -0x30(%ebp),%edx
47963c:	e8 83 b0 f8 ff       	call   0x4046c4
479641:	8b 45 d0             	mov    -0x30(%ebp),%eax
479644:	48                   	dec    %eax
479645:	89 45 d4             	mov    %eax,-0x2c(%ebp)
479648:	83 7d d8 00          	cmpl   $0x0,-0x28(%ebp)
47964c:	75 06                	jne    0x479654
47964e:	83 7d d4 00          	cmpl   $0x0,-0x2c(%ebp)
479652:	74 66                	je     0x4796ba
479654:	6a 04                	push   $0x4
479656:	8a 4d df             	mov    -0x21(%ebp),%cl
479659:	b2 03                	mov    $0x3,%dl
47965b:	8b c3                	mov    %ebx,%eax
47965d:	e8 5e 03 00 00       	call   0x4799c0
479662:	8b f8                	mov    %eax,%edi
479664:	8b 45 d8             	mov    -0x28(%ebp),%eax
479667:	50                   	push   %eax
479668:	33 c9                	xor    %ecx,%ecx
47966a:	8b d7                	mov    %edi,%edx
47966c:	8b c3                	mov    %ebx,%eax
47966e:	e8 91 03 00 00       	call   0x479a04
479673:	8b 45 d4             	mov    -0x2c(%ebp),%eax
479676:	50                   	push   %eax
479677:	b9 01 00 00 00       	mov    $0x1,%ecx
47967c:	8b d7                	mov    %edi,%edx
47967e:	8b c3                	mov    %ebx,%eax
479680:	e8 7f 03 00 00       	call   0x479a04
479685:	8a 4e 06             	mov    0x6(%esi),%cl
479688:	8b 55 f4             	mov    -0xc(%ebp),%edx
47968b:	8b c3                	mov    %ebx,%eax
47968d:	e8 de fb ff ff       	call   0x479270
479692:	50                   	push   %eax
479693:	b9 02 00 00 00       	mov    $0x2,%ecx
479698:	8b d7                	mov    %edi,%edx
47969a:	8b c3                	mov    %ebx,%eax
47969c:	e8 63 03 00 00       	call   0x479a04
4796a1:	8b 55 cc             	mov    -0x34(%ebp),%edx
4796a4:	8b c3                	mov    %ebx,%eax
4796a6:	e8 fd f8 ff ff       	call   0x478fa8
4796ab:	50                   	push   %eax
4796ac:	b9 03 00 00 00       	mov    $0x3,%ecx
4796b1:	8b d7                	mov    %edi,%edx
4796b3:	8b c3                	mov    %ebx,%eax
4796b5:	e8 4a 03 00 00       	call   0x479a04
4796ba:	85 ff                	test   %edi,%edi
4796bc:	0f 85 d6 01 00 00    	jne    0x479898
4796c2:	80 7d df 01          	cmpb   $0x1,-0x21(%ebp)
4796c6:	74 06                	je     0x4796ce
4796c8:	80 7d df 02          	cmpb   $0x2,-0x21(%ebp)
4796cc:	75 34                	jne    0x479702
4796ce:	6a 01                	push   $0x1
4796d0:	8a 4d df             	mov    -0x21(%ebp),%cl
4796d3:	b2 01                	mov    $0x1,%dl
4796d5:	8b c3                	mov    %ebx,%eax
4796d7:	e8 e4 02 00 00       	call   0x4799c0
4796dc:	8b f8                	mov    %eax,%edi
4796de:	8a 4e 06             	mov    0x6(%esi),%cl
4796e1:	8b 55 f4             	mov    -0xc(%ebp),%edx
4796e4:	8b c3                	mov    %ebx,%eax
4796e6:	e8 85 fb ff ff       	call   0x479270
4796eb:	89 45 ec             	mov    %eax,-0x14(%ebp)
4796ee:	8b 45 ec             	mov    -0x14(%ebp),%eax
4796f1:	50                   	push   %eax
4796f2:	33 c9                	xor    %ecx,%ecx
4796f4:	8b d7                	mov    %edi,%edx
4796f6:	8b c3                	mov    %ebx,%eax
4796f8:	e8 07 03 00 00       	call   0x479a04
4796fd:	e9 96 01 00 00       	jmp    0x479898
479702:	6a 02                	push   $0x2
479704:	8a 4d df             	mov    -0x21(%ebp),%cl
479707:	b2 02                	mov    $0x2,%dl
479709:	8b c3                	mov    %ebx,%eax
47970b:	e8 b0 02 00 00       	call   0x4799c0
479710:	8b f8                	mov    %eax,%edi
479712:	8a 4e 06             	mov    0x6(%esi),%cl
479715:	8b 55 f4             	mov    -0xc(%ebp),%edx
479718:	8b c3                	mov    %ebx,%eax
47971a:	e8 51 fb ff ff       	call   0x479270
47971f:	89 45 ec             	mov    %eax,-0x14(%ebp)
479722:	8a 4e 06             	mov    0x6(%esi),%cl
479725:	8b 55 f0             	mov    -0x10(%ebp),%edx
479728:	8b c3                	mov    %ebx,%eax
47972a:	e8 41 fb ff ff       	call   0x479270
47972f:	8b f0                	mov    %eax,%esi
479731:	8b 45 ec             	mov    -0x14(%ebp),%eax
479734:	50                   	push   %eax
479735:	33 c9                	xor    %ecx,%ecx
479737:	8b d7                	mov    %edi,%edx
479739:	8b c3                	mov    %ebx,%eax
47973b:	e8 c4 02 00 00       	call   0x479a04
479740:	56                   	push   %esi
479741:	b9 01 00 00 00       	mov    $0x1,%ecx
479746:	8b d7                	mov    %edi,%edx
479748:	8b c3                	mov    %ebx,%eax
47974a:	e8 b5 02 00 00       	call   0x479a04
47974f:	e9 44 01 00 00       	jmp    0x479898
479754:	6a 02                	push   $0x2
479756:	b1 23                	mov    $0x23,%cl
479758:	b2 0a                	mov    $0xa,%dl
47975a:	8b c3                	mov    %ebx,%eax
47975c:	e8 5f 02 00 00       	call   0x4799c0
479761:	8b f8                	mov    %eax,%edi
479763:	8d 45 c0             	lea    -0x40(%ebp),%eax
479766:	8d 56 08             	lea    0x8(%esi),%edx
479769:	e8 7e 9d f9 ff       	call   0x4134ec
47976e:	8b 45 c0             	mov    -0x40(%ebp),%eax
479771:	e8 ae ac f8 ff       	call   0x404424
479776:	40                   	inc    %eax
479777:	50                   	push   %eax
479778:	8d 45 bc             	lea    -0x44(%ebp),%eax
47977b:	8d 56 08             	lea    0x8(%esi),%edx
47977e:	e8 69 9d f9 ff       	call   0x4134ec
479783:	8b 45 bc             	mov    -0x44(%ebp),%eax
479786:	e8 99 ae f8 ff       	call   0x404624
47978b:	8b d0                	mov    %eax,%edx
47978d:	8b c3                	mov    %ebx,%eax
47978f:	59                   	pop    %ecx
479790:	e8 1b f9 ff ff       	call   0x4790b0
479795:	50                   	push   %eax
479796:	33 c9                	xor    %ecx,%ecx
479798:	8b d7                	mov    %edi,%edx
47979a:	8b c3                	mov    %ebx,%eax
47979c:	e8 63 02 00 00       	call   0x479a04
4797a1:	83 7e 28 00          	cmpl   $0x0,0x28(%esi)
4797a5:	0f 84 dd 00 00 00    	je     0x479888
4797ab:	6a 02                	push   $0x2
4797ad:	b1 24                	mov    $0x24,%cl
4797af:	b2 0b                	mov    $0xb,%dl
4797b1:	8b c3                	mov    %ebx,%eax
4797b3:	e8 08 02 00 00       	call   0x4799c0
4797b8:	89 45 e8             	mov    %eax,-0x18(%ebp)
4797bb:	8b 45 e8             	mov    -0x18(%ebp),%eax
4797be:	50                   	push   %eax
4797bf:	b9 01 00 00 00       	mov    $0x1,%ecx
4797c4:	8b d7                	mov    %edi,%edx
4797c6:	8b c3                	mov    %ebx,%eax
4797c8:	e8 37 02 00 00       	call   0x479a04
4797cd:	8b 45 e8             	mov    -0x18(%ebp),%eax
4797d0:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4797d3:	8b 46 28             	mov    0x28(%esi),%eax
4797d6:	8b 40 08             	mov    0x8(%eax),%eax
4797d9:	48                   	dec    %eax
4797da:	85 c0                	test   %eax,%eax
4797dc:	0f 8c b6 00 00 00    	jl     0x479898
4797e2:	40                   	inc    %eax
4797e3:	89 45 c8             	mov    %eax,-0x38(%ebp)
4797e6:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
4797ed:	8b 55 e0             	mov    -0x20(%ebp),%edx
4797f0:	8b 46 28             	mov    0x28(%esi),%eax
4797f3:	e8 f8 25 fa ff       	call   0x41bdf0
4797f8:	8b d0                	mov    %eax,%edx
4797fa:	8a 4e 06             	mov    0x6(%esi),%cl
4797fd:	8b c3                	mov    %ebx,%eax
4797ff:	e8 6c fa ff ff       	call   0x479270
479804:	89 45 ec             	mov    %eax,-0x14(%ebp)
479807:	83 7d e0 00          	cmpl   $0x0,-0x20(%ebp)
47980b:	75 23                	jne    0x479830
47980d:	8b 45 ec             	mov    -0x14(%ebp),%eax
479810:	50                   	push   %eax
479811:	33 c9                	xor    %ecx,%ecx
479813:	8b 55 e4             	mov    -0x1c(%ebp),%edx
479816:	8b c3                	mov    %ebx,%eax
479818:	e8 e7 01 00 00       	call   0x479a04
47981d:	6a 00                	push   $0x0
47981f:	b9 01 00 00 00       	mov    $0x1,%ecx
479824:	8b 55 e4             	mov    -0x1c(%ebp),%edx
479827:	8b c3                	mov    %ebx,%eax
479829:	e8 d6 01 00 00       	call   0x479a04
47982e:	eb 4a                	jmp    0x47987a
479830:	6a 02                	push   $0x2
479832:	b1 24                	mov    $0x24,%cl
479834:	b2 0b                	mov    $0xb,%dl
479836:	8b c3                	mov    %ebx,%eax
479838:	e8 83 01 00 00       	call   0x4799c0
47983d:	89 45 e8             	mov    %eax,-0x18(%ebp)
479840:	8b 45 ec             	mov    -0x14(%ebp),%eax
479843:	50                   	push   %eax
479844:	33 c9                	xor    %ecx,%ecx
479846:	8b 55 e8             	mov    -0x18(%ebp),%edx
479849:	8b c3                	mov    %ebx,%eax
47984b:	e8 b4 01 00 00       	call   0x479a04
479850:	6a 00                	push   $0x0
479852:	b9 01 00 00 00       	mov    $0x1,%ecx
479857:	8b 55 e8             	mov    -0x18(%ebp),%edx
47985a:	8b c3                	mov    %ebx,%eax
47985c:	e8 a3 01 00 00       	call   0x479a04
479861:	8b 45 e8             	mov    -0x18(%ebp),%eax
479864:	50                   	push   %eax
479865:	b9 01 00 00 00       	mov    $0x1,%ecx
47986a:	8b 55 e4             	mov    -0x1c(%ebp),%edx
47986d:	8b c3                	mov    %ebx,%eax
47986f:	e8 90 01 00 00       	call   0x479a04
479874:	8b 45 e8             	mov    -0x18(%ebp),%eax
479877:	89 45 e4             	mov    %eax,-0x1c(%ebp)
47987a:	ff 45 e0             	incl   -0x20(%ebp)
47987d:	ff 4d c8             	decl   -0x38(%ebp)
479880:	0f 85 67 ff ff ff    	jne    0x4797ed
479886:	eb 10                	jmp    0x479898
479888:	6a 00                	push   $0x0
47988a:	b9 01 00 00 00       	mov    $0x1,%ecx
47988f:	8b d7                	mov    %edi,%edx
479891:	8b c3                	mov    %ebx,%eax
479893:	e8 6c 01 00 00       	call   0x479a04
479898:	33 c0                	xor    %eax,%eax
47989a:	5a                   	pop    %edx
47989b:	59                   	pop    %ecx
47989c:	59                   	pop    %ecx
47989d:	64 89 10             	mov    %edx,%fs:(%eax)
4798a0:	68 c2 98 47 00       	push   $0x4798c2
4798a5:	8d 45 bc             	lea    -0x44(%ebp),%eax
4798a8:	ba 03 00 00 00       	mov    $0x3,%edx
4798ad:	e8 d6 a8 f8 ff       	call   0x404188
4798b2:	8d 45 cc             	lea    -0x34(%ebp),%eax
4798b5:	e8 aa a8 f8 ff       	call   0x404164