47752f:	8b 45 f4             	mov    -0xc(%ebp),%eax
477532:	47                   	inc    %edi
477533:	57                   	push   %edi
477534:	56                   	push   %esi
477535:	6a 09                	push   $0x9
477537:	ff 70 08             	push   0x8(%eax)
47753a:	ff 15 74 41 49 00    	call   *0x494174
477540:	85 c0                	test   %eax,%eax
477542:	75 0e                	jne    0x477552
477544:	e8 e6 58 fd ff       	call   0x44ce2f
477549:	83 cf ff             	or     $0xffffffff,%edi
47754c:	c7 00 2a 00 00 00    	movl   $0x2a,(%eax)
477552:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
477556:	74 0a                	je     0x477562
477558:	8b 4d f0             	mov    -0x10(%ebp),%ecx
47755b:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
477562:	8b c7                	mov    %edi,%eax
477564:	5f                   	pop    %edi
477565:	e9 31 ff ff ff       	jmp    0x47749b
47756a:	8b ff                	mov    %edi,%edi
47756c:	55                   	push   %ebp
47756d:	8b ec                	mov    %esp,%ebp
47756f:	6a 00                	push   $0x0
477571:	ff 75 10             	push   0x10(%ebp)
477574:	ff 75 0c             	push   0xc(%ebp)
477577:	ff 75 08             	push   0x8(%ebp)
47757a:	e8 f1 fe ff ff       	call   0x477470
47757f:	83 c4 10             	add    $0x10,%esp
477582:	5d                   	pop    %ebp
477583:	c3                   	ret
477584:	8b ff                	mov    %edi,%edi
477586:	55                   	push   %ebp
477587:	8b ec                	mov    %esp,%ebp
477589:	83 ec 14             	sub    $0x14,%esp
47758c:	ff 75 10             	push   0x10(%ebp)
47758f:	8d 4d ec             	lea    -0x14(%ebp),%ecx
477592:	e8 71 7a fd ff       	call   0x44f008
477597:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
47759b:	8d 45 f0             	lea    -0x10(%ebp),%eax
47759e:	50                   	push   %eax
47759f:	8b 45 f0             	mov    -0x10(%ebp),%eax
4775a2:	ff 75 0c             	push   0xc(%ebp)
4775a5:	ff 70 04             	push   0x4(%eax)
4775a8:	8d 45 fc             	lea    -0x4(%ebp),%eax
4775ab:	ff 75 08             	push   0x8(%ebp)
4775ae:	50                   	push   %eax
4775af:	e8 23 00 00 00       	call   0x4775d7
4775b4:	83 c4 14             	add    $0x14,%esp
4775b7:	85 c0                	test   %eax,%eax
4775b9:	74 05                	je     0x4775c0
4775bb:	83 c8 ff             	or     $0xffffffff,%eax
4775be:	eb 03                	jmp    0x4775c3
4775c0:	8b 45 fc             	mov    -0x4(%ebp),%eax
4775c3:	80 7d f8 00          	cmpb   $0x0,-0x8(%ebp)
4775c7:	74 0a                	je     0x4775d3
4775c9:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4775cc:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
4775d3:	8b e5                	mov    %ebp,%esp
4775d5:	5d                   	pop    %ebp
4775d6:	c3                   	ret
4775d7:	8b ff                	mov    %edi,%edi
4775d9:	55                   	push   %ebp
4775da:	8b ec                	mov    %esp,%ebp
4775dc:	83 ec 14             	sub    $0x14,%esp
4775df:	53                   	push   %ebx
4775e0:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4775e3:	57                   	push   %edi
4775e4:	8b 7d 10             	mov    0x10(%ebp),%edi
4775e7:	85 db                	test   %ebx,%ebx
4775e9:	75 12                	jne    0x4775fd
4775eb:	85 ff                	test   %edi,%edi
4775ed:	74 0e                	je     0x4775fd
4775ef:	8b 45 08             	mov    0x8(%ebp),%eax
4775f2:	85 c0                	test   %eax,%eax
4775f4:	74 03                	je     0x4775f9
4775f6:	83 20 00             	andl   $0x0,(%eax)
4775f9:	33 c0                	xor    %eax,%eax
4775fb:	eb 7a                	jmp    0x477677
4775fd:	8b 45 08             	mov    0x8(%ebp),%eax
477600:	85 c0                	test   %eax,%eax
477602:	74 03                	je     0x477607
477604:	83 08 ff             	orl    $0xffffffff,(%eax)
477607:	56                   	push   %esi
477608:	81 ff ff ff ff 7f    	cmp    $0x7fffffff,%edi
47760e:	76 11                	jbe    0x477621
477610:	e8 1a 58 fd ff       	call   0x44ce2f
477615:	6a 16                	push   $0x16
477617:	5e                   	pop    %esi
477618:	89 30                	mov    %esi,(%eax)
47761a:	e8 b7 56 fd ff       	call   0x44ccd6
47761f:	eb 53                	jmp    0x477674
477621:	ff 75 18             	push   0x18(%ebp)
477624:	8d 4d ec             	lea    -0x14(%ebp),%ecx
477627:	e8 dc 79 fd ff       	call   0x44f008
47762c:	8b 45 f0             	mov    -0x10(%ebp),%eax
47762f:	33 f6                	xor    %esi,%esi
477631:	39 b0 a8 00 00 00    	cmp    %esi,0xa8(%eax)
477637:	75 5d                	jne    0x477696
477639:	66 8b 45 14          	mov    0x14(%ebp),%ax
47763d:	b9 ff 00 00 00       	mov    $0xff,%ecx
477642:	66 3b c1             	cmp    %cx,%ax
477645:	76 36                	jbe    0x47767d
477647:	85 db                	test   %ebx,%ebx
477649:	74 0f                	je     0x47765a
47764b:	85 ff                	test   %edi,%edi
47764d:	74 0b                	je     0x47765a
47764f:	57                   	push   %edi
477650:	56                   	push   %esi
477651:	53                   	push   %ebx
477652:	e8 09 c8 fc ff       	call   0x443e60
477657:	83 c4 0c             	add    $0xc,%esp
47765a:	e8 d0 57 fd ff       	call   0x44ce2f
47765f:	6a 2a                	push   $0x2a
477661:	5e                   	pop    %esi
477662:	89 30                	mov    %esi,(%eax)
477664:	80 7d f8 00          	cmpb   $0x0,-0x8(%ebp)
477668:	74 0a                	je     0x477674
47766a:	8b 4d ec             	mov    -0x14(%ebp),%ecx
47766d:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
477674:	8b c6                	mov    %esi,%eax
477676:	5e                   	pop    %esi
477677:	5f                   	pop    %edi
477678:	5b                   	pop    %ebx
477679:	8b e5                	mov    %ebp,%esp
47767b:	5d                   	pop    %ebp
47767c:	c3                   	ret
47767d:	85 db                	test   %ebx,%ebx
47767f:	74 06                	je     0x477687
477681:	85 ff                	test   %edi,%edi
477683:	74 5f                	je     0x4776e4
477685:	88 03                	mov    %al,(%ebx)
477687:	8b 45 08             	mov    0x8(%ebp),%eax
47768a:	85 c0                	test   %eax,%eax
47768c:	74 d6                	je     0x477664
47768e:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
477694:	eb ce                	jmp    0x477664
477696:	8d 4d fc             	lea    -0x4(%ebp),%ecx
477699:	89 75 fc             	mov    %esi,-0x4(%ebp)
47769c:	51                   	push   %ecx
47769d:	56                   	push   %esi
47769e:	57                   	push   %edi
47769f:	53                   	push   %ebx
4776a0:	6a 01                	push   $0x1
4776a2:	8d 4d 14             	lea    0x14(%ebp),%ecx
4776a5:	51                   	push   %ecx
4776a6:	56                   	push   %esi
4776a7:	ff 70 08             	push   0x8(%eax)
4776aa:	ff 15 78 41 49 00    	call   *0x494178
4776b0:	8b c8                	mov    %eax,%ecx
4776b2:	85 c9                	test   %ecx,%ecx
4776b4:	74 10                	je     0x4776c6
4776b6:	39 75 fc             	cmp    %esi,-0x4(%ebp)
4776b9:	75 9f                	jne    0x47765a
4776bb:	8b 45 08             	mov    0x8(%ebp),%eax
4776be:	85 c0                	test   %eax,%eax
4776c0:	74 a2                	je     0x477664
4776c2:	89 08                	mov    %ecx,(%eax)
4776c4:	eb 9e                	jmp    0x477664
4776c6:	ff 15 24 41 49 00    	call   *0x494124
4776cc:	83 f8 7a             	cmp    $0x7a,%eax
4776cf:	75 89                	jne    0x47765a
4776d1:	85 db                	test   %ebx,%ebx
4776d3:	74 0f                	je     0x4776e4
4776d5:	85 ff                	test   %edi,%edi
4776d7:	74 0b                	je     0x4776e4
4776d9:	57                   	push   %edi
4776da:	56                   	push   %esi
4776db:	53                   	push   %ebx
4776dc:	e8 7f c7 fc ff       	call   0x443e60
4776e1:	83 c4 0c             	add    $0xc,%esp
4776e4:	e8 46 57 fd ff       	call   0x44ce2f
4776e9:	6a 22                	push   $0x22
4776eb:	5e                   	pop    %esi
4776ec:	89 30                	mov    %esi,(%eax)
4776ee:	e8 e3 55 fd ff       	call   0x44ccd6
4776f3:	e9 6c ff ff ff       	jmp    0x477664
4776f8:	8b ff                	mov    %edi,%edi
4776fa:	55                   	push   %ebp
4776fb:	8b ec                	mov    %esp,%ebp
4776fd:	51                   	push   %ecx
4776fe:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
477702:	6a 00                	push   $0x0
477704:	ff 75 0c             	push   0xc(%ebp)
477707:	e8 2d 0a ff ff       	call   0x468139
47770c:	50                   	push   %eax
47770d:	ff 75 08             	push   0x8(%ebp)
477710:	8d 45 fc             	lea    -0x4(%ebp),%eax
477713:	50                   	push   %eax
477714:	e8 be fe ff ff       	call   0x4775d7
477719:	83 c4 14             	add    $0x14,%esp
47771c:	85 c0                	test   %eax,%eax
47771e:	74 05                	je     0x477725
477720:	83 c8 ff             	or     $0xffffffff,%eax
477723:	eb 03                	jmp    0x477728
477725:	8b 45 fc             	mov    -0x4(%ebp),%eax
477728:	8b e5                	mov    %ebp,%esp
47772a:	5d                   	pop    %ebp
47772b:	c3                   	ret
47772c:	8b ff                	mov    %edi,%edi
47772e:	55                   	push   %ebp
47772f:	8b ec                	mov    %esp,%ebp
477731:	6a 00                	push   $0x0
477733:	ff 75 14             	push   0x14(%ebp)
477736:	ff 75 10             	push   0x10(%ebp)
477739:	ff 75 0c             	push   0xc(%ebp)
47773c:	ff 75 08             	push   0x8(%ebp)
47773f:	e8 93 fe ff ff       	call   0x4775d7
477744:	83 c4 14             	add    $0x14,%esp
477747:	5d                   	pop    %ebp
477748:	c3                   	ret
477749:	8b ff                	mov    %edi,%edi
47774b:	55                   	push   %ebp
47774c:	8b ec                	mov    %esp,%ebp
47774e:	8b 45 08             	mov    0x8(%ebp),%eax
477751:	b9 ff 07 00 00       	mov    $0x7ff,%ecx
477756:	53                   	push   %ebx
477757:	56                   	push   %esi
477758:	33 d2                	xor    %edx,%edx
47775a:	8b 18                	mov    (%eax),%ebx
47775c:	8b 70 04             	mov    0x4(%eax),%esi
47775f:	8b c6                	mov    %esi,%eax
477761:	c1 e8 14             	shr    $0x14,%eax
477764:	23 c1                	and    %ecx,%eax
477766:	57                   	push   %edi
477767:	3b c1                	cmp    %ecx,%eax
477769:	75 3f                	jne    0x4777aa
47776b:	8b fe                	mov    %esi,%edi
47776d:	8b c3                	mov    %ebx,%eax
47776f:	81 e7 ff ff 0f 00    	and    $0xfffff,%edi
477775:	0b c7                	or     %edi,%eax
477777:	75 03                	jne    0x47777c
477779:	40                   	inc    %eax
47777a:	eb 30                	jmp    0x4777ac
47777c:	8b ce                	mov    %esi,%ecx
47777e:	8b c2                	mov    %edx,%eax
477780:	81 e1 00 00 00 80    	and    $0x80000000,%ecx
477786:	0b c1                	or     %ecx,%eax
477788:	b8 00 00 08 00       	mov    $0x80000,%eax
47778d:	74 0d                	je     0x47779c
47778f:	3b da                	cmp    %edx,%ebx
477791:	75 09                	jne    0x47779c
477793:	3b f8                	cmp    %eax,%edi
477795:	75 05                	jne    0x47779c
477797:	6a 04                	push   $0x4
477799:	58                   	pop    %eax
47779a:	eb 10                	jmp    0x4777ac
47779c:	23 f0                	and    %eax,%esi
47779e:	0b d6                	or     %esi,%edx
4777a0:	74 04                	je     0x4777a6
4777a2:	6a 02                	push   $0x2
4777a4:	eb f3                	jmp    0x477799
4777a6:	6a 03                	push   $0x3
4777a8:	eb ef                	jmp    0x477799
4777aa:	33 c0                	xor    %eax,%eax
4777ac:	5f                   	pop    %edi
4777ad:	5e                   	pop    %esi
4777ae:	5b                   	pop    %ebx
4777af:	5d                   	pop    %ebp
4777b0:	c3                   	ret
4777b1:	8b ff                	mov    %edi,%edi
4777b3:	55                   	push   %ebp
4777b4:	8b ec                	mov    %esp,%ebp
4777b6:	8b 45 08             	mov    0x8(%ebp),%eax
4777b9:	33 d2                	xor    %edx,%edx
4777bb:	8b 48 04             	mov    0x4(%eax),%ecx
4777be:	8b c2                	mov    %edx,%eax
4777c0:	81 e1 00 00 00 80    	and    $0x80000000,%ecx
4777c6:	0b c1                	or     %ecx,%eax
4777c8:	74 01                	je     0x4777cb
4777ca:	42                   	inc    %edx
4777cb:	8a c2                	mov    %dl,%al
4777cd:	5d                   	pop    %ebp
4777ce:	c3                   	ret
4777cf:	8b ff                	mov    %edi,%edi
4777d1:	55                   	push   %ebp
4777d2:	8b ec                	mov    %esp,%ebp
4777d4:	83 ec 30             	sub    $0x30,%esp
4777d7:	53                   	push   %ebx
4777d8:	56                   	push   %esi
4777d9:	8b 75 1c             	mov    0x1c(%ebp),%esi
4777dc:	33 db                	xor    %ebx,%ebx
4777de:	57                   	push   %edi
4777df:	85 f6                	test   %esi,%esi
4777e1:	79 02                	jns    0x4777e5
4777e3:	8b f3                	mov    %ebx,%esi
4777e5:	8b 7d 0c             	mov    0xc(%ebp),%edi
4777e8:	8d 4d d0             	lea    -0x30(%ebp),%ecx
4777eb:	ff 75 28             	push   0x28(%ebp)
4777ee:	88 1f                	mov    %bl,(%edi)
4777f0:	e8 13 78 fd ff       	call   0x44f008
4777f5:	8d 46 0b             	lea    0xb(%esi),%eax
4777f8:	39 45 10             	cmp    %eax,0x10(%ebp)
4777fb:	77 14                	ja     0x477811
4777fd:	e8 2d 56 fd ff       	call   0x44ce2f
477802:	6a 22                	push   $0x22
477804:	5e                   	pop    %esi
477805:	89 30                	mov    %esi,(%eax)
477807:	e8 ca 54 fd ff       	call   0x44ccd6
47780c:	e9 b9 02 00 00       	jmp    0x477aca
477811:	8b 55 08             	mov    0x8(%ebp),%edx
477814:	8b 02                	mov    (%edx),%eax
477816:	8b 4a 04             	mov    0x4(%edx),%ecx
477819:	89 45 e0             	mov    %eax,-0x20(%ebp)
47781c:	8b c1                	mov    %ecx,%eax
47781e:	c1 e8 14             	shr    $0x14,%eax
477821:	25 ff 07 00 00       	and    $0x7ff,%eax
477826:	3d ff 07 00 00       	cmp    $0x7ff,%eax
47782b:	75 4e                	jne    0x47787b
47782d:	53                   	push   %ebx
47782e:	ff 75 24             	push   0x24(%ebp)
477831:	53                   	push   %ebx
477832:	56                   	push   %esi
477833:	ff 75 18             	push   0x18(%ebp)
477836:	ff 75 14             	push   0x14(%ebp)
477839:	ff 75 10             	push   0x10(%ebp)
47783c:	57                   	push   %edi
47783d:	52                   	push   %edx
47783e:	e8 a0 02 00 00       	call   0x477ae3
477843:	8b f0                	mov    %eax,%esi
477845:	83 c4 24             	add    $0x24,%esp
477848:	85 f6                	test   %esi,%esi
47784a:	74 07                	je     0x477853
47784c:	88 1f                	mov    %bl,(%edi)
47784e:	e9 77 02 00 00       	jmp    0x477aca
477853:	6a 65                	push   $0x65
477855:	57                   	push   %edi
477856:	e8 f5 21 01 00       	call   0x489a50
47785b:	59                   	pop    %ecx
47785c:	59                   	pop    %ecx
47785d:	85 c0                	test   %eax,%eax
47785f:	74 13                	je     0x477874
477861:	38 5d 20             	cmp    %bl,0x20(%ebp)
477864:	0f 94 c1             	sete   %cl
477867:	fe c9                	dec    %cl
477869:	80 e1 e0             	and    $0xe0,%cl
47786c:	80 c1 70             	add    $0x70,%cl
47786f:	88 08                	mov    %cl,(%eax)
477871:	88 58 03             	mov    %bl,0x3(%eax)
477874:	8b f3                	mov    %ebx,%esi
477876:	e9 4f 02 00 00       	jmp    0x477aca
47787b:	81 e1 00 00 00 80    	and    $0x80000000,%ecx
477881:	8b c3                	mov    %ebx,%eax
477883:	0b c1                	or     %ecx,%eax
477885:	74 04                	je     0x47788b
477887:	c6 07 2d             	movb   $0x2d,(%edi)
47788a:	47                   	inc    %edi
47788b:	8b 4a 04             	mov    0x4(%edx),%ecx
47788e:	33 db                	xor    %ebx,%ebx
477890:	38 5d 20             	cmp    %bl,0x20(%ebp)
477893:	6a 30                	push   $0x30