4774fd:	5e                   	pop    %esi
4774fe:	0f b6 c3             	movzbl %bl,%eax
477501:	80 3c 38 78          	cmpb   $0x78,(%eax,%edi,1)
477505:	75 05                	jne    0x47750c
477507:	83 c2 02             	add    $0x2,%edx
47750a:	8a 1a                	mov    (%edx),%bl
47750c:	8b 81 88 00 00 00    	mov    0x88(%ecx),%eax
477512:	8b 00                	mov    (%eax),%eax
477514:	8a 00                	mov    (%eax),%al
477516:	88 02                	mov    %al,(%edx)
477518:	42                   	inc    %edx
477519:	8a 02                	mov    (%edx),%al
47751b:	8a cb                	mov    %bl,%cl
47751d:	88 1a                	mov    %bl,(%edx)
47751f:	42                   	inc    %edx
477520:	8a d8                	mov    %al,%bl
477522:	84 c9                	test   %cl,%cl
477524:	75 f3                	jne    0x477519
477526:	5f                   	pop    %edi
477527:	5b                   	pop    %ebx
477528:	5d                   	pop    %ebp
477529:	c3                   	ret
47752a:	cc                   	int3
47752b:	cc                   	int3
47752c:	cc                   	int3
47752d:	cc                   	int3
47752e:	cc                   	int3
47752f:	cc                   	int3
477530:	8b ff                	mov    %edi,%edi
477532:	55                   	push   %ebp
477533:	8b ec                	mov    %esp,%ebp
477535:	51                   	push   %ecx
477536:	56                   	push   %esi
477537:	57                   	push   %edi
477538:	8b f9                	mov    %ecx,%edi
47753a:	ff 15 30 e1 49 00    	call   *0x49e130
477540:	80 7f 08 00          	cmpb   $0x0,0x8(%edi)
477544:	89 45 fc             	mov    %eax,-0x4(%ebp)
477547:	75 0f                	jne    0x477558
477549:	c7 47 04 00 00 00 00 	movl   $0x0,0x4(%edi)
477550:	33 c0                	xor    %eax,%eax
477552:	c6 47 08 01          	movb   $0x1,0x8(%edi)
477556:	eb 03                	jmp    0x47755b
477558:	8b 47 04             	mov    0x4(%edi),%eax
47755b:	50                   	push   %eax
47755c:	8d 45 fc             	lea    -0x4(%ebp),%eax
47755f:	50                   	push   %eax
477560:	e8 56 f7 00 00       	call   0x486cbb
477565:	83 c4 08             	add    $0x8,%esp
477568:	8b f0                	mov    %eax,%esi
47756a:	89 37                	mov    %esi,(%edi)
47756c:	ff 75 fc             	push   -0x4(%ebp)
47756f:	ff 15 4c e1 49 00    	call   *0x49e14c
477575:	5f                   	pop    %edi
477576:	8b c6                	mov    %esi,%eax
477578:	5e                   	pop    %esi
477579:	8b e5                	mov    %ebp,%esp
47757b:	5d                   	pop    %ebp
47757c:	c3                   	ret
47757d:	cc                   	int3
47757e:	cc                   	int3
47757f:	cc                   	int3
477580:	8b ff                	mov    %edi,%edi
477582:	55                   	push   %ebp
477583:	8b ec                	mov    %esp,%ebp
477585:	51                   	push   %ecx
477586:	57                   	push   %edi
477587:	8b f9                	mov    %ecx,%edi
477589:	83 3f 00             	cmpl   $0x0,(%edi)
47758c:	75 41                	jne    0x4775cf
47758e:	ff 15 30 e1 49 00    	call   *0x49e130
477594:	80 7f 08 00          	cmpb   $0x0,0x8(%edi)
477598:	89 45 fc             	mov    %eax,-0x4(%ebp)
47759b:	75 0f                	jne    0x4775ac
47759d:	c7 47 04 00 00 00 00 	movl   $0x0,0x4(%edi)
4775a4:	33 c0                	xor    %eax,%eax
4775a6:	c6 47 08 01          	movb   $0x1,0x8(%edi)
4775aa:	eb 03                	jmp    0x4775af
4775ac:	8b 47 04             	mov    0x4(%edi),%eax
4775af:	56                   	push   %esi
4775b0:	50                   	push   %eax
4775b1:	8d 45 fc             	lea    -0x4(%ebp),%eax
4775b4:	50                   	push   %eax
4775b5:	e8 01 f7 00 00       	call   0x486cbb
4775ba:	83 c4 08             	add    $0x8,%esp
4775bd:	8b f0                	mov    %eax,%esi
4775bf:	89 37                	mov    %esi,(%edi)
4775c1:	ff 75 fc             	push   -0x4(%ebp)
4775c4:	ff 15 4c e1 49 00    	call   *0x49e14c
4775ca:	85 f6                	test   %esi,%esi
4775cc:	5e                   	pop    %esi
4775cd:	74 07                	je     0x4775d6
4775cf:	8b 07                	mov    (%edi),%eax
4775d1:	5f                   	pop    %edi
4775d2:	8b e5                	mov    %ebp,%esp
4775d4:	5d                   	pop    %ebp
4775d5:	c3                   	ret
4775d6:	e8 be b3 00 00       	call   0x482999
4775db:	cc                   	int3
4775dc:	8b ff                	mov    %edi,%edi
4775de:	55                   	push   %ebp
4775df:	8b ec                	mov    %esp,%ebp
4775e1:	83 ec 10             	sub    $0x10,%esp
4775e4:	53                   	push   %ebx
4775e5:	56                   	push   %esi
4775e6:	8b f1                	mov    %ecx,%esi
4775e8:	8d 55 fc             	lea    -0x4(%ebp),%edx
4775eb:	57                   	push   %edi
4775ec:	33 db                	xor    %ebx,%ebx
4775ee:	43                   	inc    %ebx
4775ef:	8b 7e 08             	mov    0x8(%esi),%edi
4775f2:	8b 4e 0c             	mov    0xc(%esi),%ecx
4775f5:	53                   	push   %ebx
4775f6:	49                   	dec    %ecx
4775f7:	8b 47 18             	mov    0x18(%edi),%eax
4775fa:	6a 0a                	push   $0xa
4775fc:	51                   	push   %ecx
4775fd:	89 45 f8             	mov    %eax,-0x8(%ebp)
477600:	8b 47 1c             	mov    0x1c(%edi),%eax
477603:	51                   	push   %ecx
477604:	89 45 f4             	mov    %eax,-0xc(%ebp)
477607:	8b c4                	mov    %esp,%eax
477609:	57                   	push   %edi
47760a:	89 08                	mov    %ecx,(%eax)
47760c:	89 50 04             	mov    %edx,0x4(%eax)
47760f:	89 4d fc             	mov    %ecx,-0x4(%ebp)
477612:	e8 15 e4 ff ff       	call   0x475a2c
477617:	8b c8                	mov    %eax,%ecx
477619:	83 c4 14             	add    $0x14,%esp
47761c:	8b 45 08             	mov    0x8(%ebp),%eax
47761f:	89 08                	mov    %ecx,(%eax)
477621:	8b 46 08             	mov    0x8(%esi),%eax
477624:	80 78 1c 00          	cmpb   $0x0,0x1c(%eax)
477628:	74 06                	je     0x477630
47762a:	83 78 18 22          	cmpl   $0x22,0x18(%eax)
47762e:	74 08                	je     0x477638
477630:	8b 45 fc             	mov    -0x4(%ebp),%eax
477633:	3b 46 0c             	cmp    0xc(%esi),%eax
477636:	73 04                	jae    0x47763c
477638:	32 db                	xor    %bl,%bl
47763a:	eb 03                	jmp    0x47763f
47763c:	89 46 0c             	mov    %eax,0xc(%esi)
47763f:	8b 45 f8             	mov    -0x8(%ebp),%eax
477642:	89 47 18             	mov    %eax,0x18(%edi)
477645:	8b 45 f4             	mov    -0xc(%ebp),%eax
477648:	89 47 1c             	mov    %eax,0x1c(%edi)
47764b:	8a c3                	mov    %bl,%al
47764d:	5f                   	pop    %edi
47764e:	5e                   	pop    %esi
47764f:	5b                   	pop    %ebx
477650:	c9                   	leave
477651:	c2 04 00             	ret    $0x4
477654:	8b ff                	mov    %edi,%edi
477656:	55                   	push   %ebp
477657:	8b ec                	mov    %esp,%ebp
477659:	83 ec 10             	sub    $0x10,%esp
47765c:	53                   	push   %ebx
47765d:	56                   	push   %esi
47765e:	8b f1                	mov    %ecx,%esi
477660:	8d 55 fc             	lea    -0x4(%ebp),%edx
477663:	57                   	push   %edi
477664:	33 db                	xor    %ebx,%ebx
477666:	43                   	inc    %ebx
477667:	8b 7e 08             	mov    0x8(%esi),%edi
47766a:	8b 4e 0c             	mov    0xc(%esi),%ecx
47766d:	53                   	push   %ebx
47766e:	83 e9 02             	sub    $0x2,%ecx
477671:	8b 47 18             	mov    0x18(%edi),%eax
477674:	6a 0a                	push   $0xa
477676:	51                   	push   %ecx
477677:	89 45 f8             	mov    %eax,-0x8(%ebp)
47767a:	8b 47 1c             	mov    0x1c(%edi),%eax
47767d:	51                   	push   %ecx
47767e:	89 45 f4             	mov    %eax,-0xc(%ebp)
477681:	8b c4                	mov    %esp,%eax
477683:	57                   	push   %edi
477684:	89 08                	mov    %ecx,(%eax)
477686:	89 50 04             	mov    %edx,0x4(%eax)
477689:	89 4d fc             	mov    %ecx,-0x4(%ebp)
47768c:	e8 aa e5 ff ff       	call   0x475c3b
477691:	8b c8                	mov    %eax,%ecx
477693:	83 c4 14             	add    $0x14,%esp
477696:	8b 45 08             	mov    0x8(%ebp),%eax
477699:	89 08                	mov    %ecx,(%eax)
47769b:	8b 46 08             	mov    0x8(%esi),%eax
47769e:	80 78 1c 00          	cmpb   $0x0,0x1c(%eax)
4776a2:	74 06                	je     0x4776aa
4776a4:	83 78 18 22          	cmpl   $0x22,0x18(%eax)
4776a8:	74 08                	je     0x4776b2
4776aa:	8b 45 fc             	mov    -0x4(%ebp),%eax
4776ad:	3b 46 0c             	cmp    0xc(%esi),%eax
4776b0:	73 04                	jae    0x4776b6
4776b2:	32 db                	xor    %bl,%bl
4776b4:	eb 03                	jmp    0x4776b9
4776b6:	89 46 0c             	mov    %eax,0xc(%esi)
4776b9:	8b 45 f8             	mov    -0x8(%ebp),%eax
4776bc:	89 47 18             	mov    %eax,0x18(%edi)
4776bf:	8b 45 f4             	mov    -0xc(%ebp),%eax
4776c2:	89 47 1c             	mov    %eax,0x1c(%edi)
4776c5:	8a c3                	mov    %bl,%al
4776c7:	5f                   	pop    %edi
4776c8:	5e                   	pop    %esi
4776c9:	5b                   	pop    %ebx
4776ca:	c9                   	leave
4776cb:	c2 04 00             	ret    $0x4
4776ce:	8b ff                	mov    %edi,%edi
4776d0:	55                   	push   %ebp
4776d1:	8b ec                	mov    %esp,%ebp
4776d3:	51                   	push   %ecx
4776d4:	51                   	push   %ecx
4776d5:	53                   	push   %ebx
4776d6:	56                   	push   %esi
4776d7:	8b f1                	mov    %ecx,%esi
4776d9:	57                   	push   %edi
4776da:	ff 76 08             	push   0x8(%esi)
4776dd:	8d 8e 48 04 00 00    	lea    0x448(%esi),%ecx
4776e3:	e8 9e 1a 00 00       	call   0x479186
4776e8:	84 c0                	test   %al,%al
4776ea:	74 27                	je     0x477713
4776ec:	8b 4e 0c             	mov    0xc(%esi),%ecx
4776ef:	85 c9                	test   %ecx,%ecx
4776f1:	75 28                	jne    0x47771b
4776f3:	33 db                	xor    %ebx,%ebx
4776f5:	8b 46 08             	mov    0x8(%esi),%eax
4776f8:	c7 40 18 16 00 00 00 	movl   $0x16,0x18(%eax)
4776ff:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
477703:	ff 76 08             	push   0x8(%esi)
477706:	53                   	push   %ebx
477707:	53                   	push   %ebx
477708:	53                   	push   %ebx
477709:	53                   	push   %ebx
47770a:	53                   	push   %ebx
47770b:	e8 94 1e 00 00       	call   0x4795a4
477710:	83 c4 18             	add    $0x18,%esp
477713:	83 c8 ff             	or     $0xffffffff,%eax
477716:	5f                   	pop    %edi
477717:	5e                   	pop    %esi
477718:	5b                   	pop    %ebx
477719:	c9                   	leave
47771a:	c3                   	ret
47771b:	8b 86 50 04 00 00    	mov    0x450(%esi),%eax
477721:	40                   	inc    %eax
477722:	89 86 50 04 00 00    	mov    %eax,0x450(%esi)
477728:	83 f8 02             	cmp    $0x2,%eax
47772b:	0f 84 45 02 00 00    	je     0x477976
477731:	33 db                	xor    %ebx,%ebx
477733:	89 5e 34             	mov    %ebx,0x34(%esi)
477736:	88 5e 18             	mov    %bl,0x18(%esi)
477739:	8a 11                	mov    (%ecx),%dl
47773b:	41                   	inc    %ecx
47773c:	88 55 ff             	mov    %dl,-0x1(%ebp)
47773f:	89 4e 0c             	mov    %ecx,0xc(%esi)
477742:	88 56 2d             	mov    %dl,0x2d(%esi)
477745:	84 d2                	test   %dl,%dl
477747:	0f 84 07 02 00 00    	je     0x477954
47774d:	88 55 fb             	mov    %dl,-0x5(%ebp)
477750:	39 5e 14             	cmp    %ebx,0x14(%esi)
477753:	0f 8c fb 01 00 00    	jl     0x477954
477759:	0f b6 46 18          	movzbl 0x18(%esi),%eax
47775d:	8b ce                	mov    %esi,%ecx
47775f:	50                   	push   %eax
477760:	ff 75 fb             	push   -0x5(%ebp)
477763:	e8 b2 fc ff ff       	call   0x47741a
477768:	88 46 18             	mov    %al,0x18(%esi)
47776b:	3c 08                	cmp    $0x8,%al
47776d:	0f 83 0b 02 00 00    	jae    0x47797e
477773:	0f b6 c0             	movzbl %al,%eax
477776:	83 f8 07             	cmp    $0x7,%eax
477779:	77 98                	ja     0x477713
47777b:	ff 24 85 92 79 47 00 	jmp    *0x477992(,%eax,4)
477782:	8b 7e 08             	mov    0x8(%esi),%edi
477785:	88 5e 38             	mov    %bl,0x38(%esi)
477788:	38 5f 14             	cmp    %bl,0x14(%edi)
47778b:	75 07                	jne    0x477794
47778d:	8b cf                	mov    %edi,%ecx
47778f:	e8 7c 19 00 00       	call   0x479110
477794:	8a 46 2d             	mov    0x2d(%esi),%al
477797:	88 45 ff             	mov    %al,-0x1(%ebp)
47779a:	0f be c0             	movsbl %al,%eax
47779d:	68 00 80 00 00       	push   $0x8000
4777a2:	50                   	push   %eax
4777a3:	8b 47 0c             	mov    0xc(%edi),%eax
4777a6:	ff 30                	push   (%eax)
4777a8:	e8 e2 1a 00 00       	call   0x47928f
4777ad:	83 c4 0c             	add    $0xc,%esp
4777b0:	8d be 48 04 00 00    	lea    0x448(%esi),%edi
4777b6:	85 c0                	test   %eax,%eax
4777b8:	74 76                	je     0x477830
4777ba:	8b 0f                	mov    (%edi),%ecx
4777bc:	8b 41 08             	mov    0x8(%ecx),%eax
4777bf:	3b 41 04             	cmp    0x4(%ecx),%eax
4777c2:	75 10                	jne    0x4777d4
4777c4:	38 59 0c             	cmp    %bl,0xc(%ecx)
4777c7:	74 05                	je     0x4777ce
4777c9:	ff 46 14             	incl   0x14(%esi)
4777cc:	eb 19                	jmp    0x4777e7
4777ce:	83 4e 14 ff          	orl    $0xffffffff,0x14(%esi)
4777d2:	eb 13                	jmp    0x4777e7
4777d4:	ff 46 14             	incl   0x14(%esi)
4777d7:	ff 41 08             	incl   0x8(%ecx)
4777da:	8b 07                	mov    (%edi),%eax
4777dc:	8a 4d ff             	mov    -0x1(%ebp),%cl
4777df:	8b 00                	mov    (%eax),%eax
4777e1:	88 08                	mov    %cl,(%eax)
4777e3:	8b 07                	mov    (%edi),%eax
4777e5:	ff 00                	incl   (%eax)
4777e7:	8b 46 0c             	mov    0xc(%esi),%eax
4777ea:	8a 08                	mov    (%eax),%cl
4777ec:	40                   	inc    %eax
4777ed:	89 46 0c             	mov    %eax,0xc(%esi)
4777f0:	88 4e 2d             	mov    %cl,0x2d(%esi)
4777f3:	84 c9                	test   %cl,%cl
4777f5:	75 3c                	jne    0x477833
4777f7:	8b 46 08             	mov    0x8(%esi),%eax
4777fa:	6a 16                	push   $0x16
4777fc:	5f                   	pop    %edi
4777fd:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
477801:	89 78 18             	mov    %edi,0x18(%eax)
477804:	ff 76 08             	push   0x8(%esi)
477807:	53                   	push   %ebx
477808:	53                   	push   %ebx
477809:	53                   	push   %ebx
47780a:	53                   	push   %ebx
47780b:	53                   	push   %ebx
47780c:	e8 93 1d 00 00       	call   0x4795a4
477811:	8b 46 08             	mov    0x8(%esi),%eax
477814:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
477818:	89 78 18             	mov    %edi,0x18(%eax)
47781b:	ff 76 08             	push   0x8(%esi)
47781e:	53                   	push   %ebx
47781f:	53                   	push   %ebx
477820:	53                   	push   %ebx
477821:	53                   	push   %ebx
477822:	53                   	push   %ebx
477823:	e8 7c 1d 00 00       	call   0x4795a4
477828:	83 c4 30             	add    $0x30,%esp
47782b:	e9 e3 fe ff ff       	jmp    0x477713
477830:	8a 4d ff             	mov    -0x1(%ebp),%cl
477833:	8b 17                	mov    (%edi),%edx
477835:	8b 42 08             	mov    0x8(%edx),%eax
477838:	3b 42 04             	cmp    0x4(%edx),%eax
47783b:	75 16                	jne    0x477853
47783d:	38 5a 0c             	cmp    %bl,0xc(%edx)
477840:	74 08                	je     0x47784a
477842:	ff 46 14             	incl   0x14(%esi)
477845:	e9 ee 00 00 00       	jmp    0x477938
47784a:	83 4e 14 ff          	orl    $0xffffffff,0x14(%esi)
47784e:	e9 e5 00 00 00       	jmp    0x477938
477853:	ff 46 14             	incl   0x14(%esi)
477856:	ff 42 08             	incl   0x8(%edx)