47739a:	6a 01                	push   $0x1
47739c:	ff 75 10             	push   0x10(%ebp)
47739f:	51                   	push   %ecx
4773a0:	51                   	push   %ecx
4773a1:	8b c4                	mov    %esp,%eax
4773a3:	ff 75 0c             	push   0xc(%ebp)
4773a6:	ff 75 08             	push   0x8(%ebp)
4773a9:	50                   	push   %eax
4773aa:	e8 3b 60 fd ff       	call   0x44d3ea
4773af:	83 c4 0c             	add    $0xc,%esp
4773b2:	6a 00                	push   $0x0
4773b4:	e8 e5 91 ff ff       	call   0x47059e
4773b9:	83 c4 14             	add    $0x14,%esp
4773bc:	8b e5                	mov    %ebp,%esp
4773be:	5d                   	pop    %ebp
4773bf:	c3                   	ret
4773c0:	8b ff                	mov    %edi,%edi
4773c2:	55                   	push   %ebp
4773c3:	8b ec                	mov    %esp,%ebp
4773c5:	51                   	push   %ecx
4773c6:	6a 01                	push   $0x1
4773c8:	ff 75 10             	push   0x10(%ebp)
4773cb:	51                   	push   %ecx
4773cc:	51                   	push   %ecx
4773cd:	8b c4                	mov    %esp,%eax
4773cf:	ff 75 0c             	push   0xc(%ebp)
4773d2:	ff 75 08             	push   0x8(%ebp)
4773d5:	50                   	push   %eax
4773d6:	e8 0f 60 fd ff       	call   0x44d3ea
4773db:	83 c4 0c             	add    $0xc,%esp
4773de:	6a 00                	push   $0x0
4773e0:	e8 46 9b ff ff       	call   0x470f2b
4773e5:	83 c4 14             	add    $0x14,%esp
4773e8:	8b e5                	mov    %ebp,%esp
4773ea:	5d                   	pop    %ebp
4773eb:	c3                   	ret
4773ec:	8b ff                	mov    %edi,%edi
4773ee:	55                   	push   %ebp
4773ef:	8b ec                	mov    %esp,%ebp
4773f1:	51                   	push   %ecx
4773f2:	6a 00                	push   $0x0
4773f4:	ff 75 10             	push   0x10(%ebp)
4773f7:	51                   	push   %ecx
4773f8:	51                   	push   %ecx
4773f9:	8b c4                	mov    %esp,%eax
4773fb:	ff 75 0c             	push   0xc(%ebp)
4773fe:	ff 75 08             	push   0x8(%ebp)
477401:	50                   	push   %eax
477402:	e8 e3 5f fd ff       	call   0x44d3ea
477407:	83 c4 0c             	add    $0xc,%esp
47740a:	6a 00                	push   $0x0
47740c:	e8 8d 91 ff ff       	call   0x47059e
477411:	83 c4 14             	add    $0x14,%esp
477414:	8b e5                	mov    %ebp,%esp
477416:	5d                   	pop    %ebp
477417:	c3                   	ret
477418:	8b ff                	mov    %edi,%edi
47741a:	55                   	push   %ebp
47741b:	8b ec                	mov    %esp,%ebp
47741d:	51                   	push   %ecx
47741e:	6a 00                	push   $0x0
477420:	ff 75 10             	push   0x10(%ebp)
477423:	51                   	push   %ecx
477424:	51                   	push   %ecx
477425:	8b c4                	mov    %esp,%eax
477427:	ff 75 0c             	push   0xc(%ebp)
47742a:	ff 75 08             	push   0x8(%ebp)
47742d:	50                   	push   %eax
47742e:	e8 b7 5f fd ff       	call   0x44d3ea
477433:	83 c4 0c             	add    $0xc,%esp
477436:	6a 00                	push   $0x0
477438:	e8 ee 9a ff ff       	call   0x470f2b
47743d:	83 c4 14             	add    $0x14,%esp
477440:	8b e5                	mov    %ebp,%esp
477442:	5d                   	pop    %ebp
477443:	c3                   	ret
477444:	8b ff                	mov    %edi,%edi
477446:	55                   	push   %ebp
477447:	8b ec                	mov    %esp,%ebp
477449:	51                   	push   %ecx
47744a:	6a 00                	push   $0x0
47744c:	ff 75 10             	push   0x10(%ebp)
47744f:	51                   	push   %ecx
477450:	51                   	push   %ecx
477451:	8b c4                	mov    %esp,%eax
477453:	ff 75 0c             	push   0xc(%ebp)
477456:	ff 75 08             	push   0x8(%ebp)
477459:	50                   	push   %eax
47745a:	e8 8b 5f fd ff       	call   0x44d3ea
47745f:	83 c4 0c             	add    $0xc,%esp
477462:	6a 00                	push   $0x0
477464:	e8 c2 9a ff ff       	call   0x470f2b
477469:	83 c4 14             	add    $0x14,%esp
47746c:	8b e5                	mov    %ebp,%esp
47746e:	5d                   	pop    %ebp
47746f:	c3                   	ret
477470:	8b ff                	mov    %edi,%edi
477472:	55                   	push   %ebp
477473:	8b ec                	mov    %esp,%ebp
477475:	83 ec 10             	sub    $0x10,%esp
477478:	53                   	push   %ebx
477479:	56                   	push   %esi
47747a:	8b 75 0c             	mov    0xc(%ebp),%esi
47747d:	85 f6                	test   %esi,%esi
47747f:	74 18                	je     0x477499
477481:	8b 5d 10             	mov    0x10(%ebp),%ebx
477484:	85 db                	test   %ebx,%ebx
477486:	74 11                	je     0x477499
477488:	80 3e 00             	cmpb   $0x0,(%esi)
47748b:	75 14                	jne    0x4774a1
47748d:	8b 45 08             	mov    0x8(%ebp),%eax
477490:	85 c0                	test   %eax,%eax
477492:	74 05                	je     0x477499
477494:	33 c9                	xor    %ecx,%ecx
477496:	66 89 08             	mov    %cx,(%eax)
477499:	33 c0                	xor    %eax,%eax
47749b:	5e                   	pop    %esi
47749c:	5b                   	pop    %ebx
47749d:	8b e5                	mov    %ebp,%esp
47749f:	5d                   	pop    %ebp
4774a0:	c3                   	ret
4774a1:	57                   	push   %edi
4774a2:	ff 75 14             	push   0x14(%ebp)
4774a5:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4774a8:	e8 5b 7b fd ff       	call   0x44f008
4774ad:	8b 45 f4             	mov    -0xc(%ebp),%eax
4774b0:	83 b8 a8 00 00 00 00 	cmpl   $0x0,0xa8(%eax)
4774b7:	75 15                	jne    0x4774ce
4774b9:	8b 4d 08             	mov    0x8(%ebp),%ecx
4774bc:	85 c9                	test   %ecx,%ecx
4774be:	74 06                	je     0x4774c6
4774c0:	0f b6 06             	movzbl (%esi),%eax
4774c3:	66 89 01             	mov    %ax,(%ecx)
4774c6:	33 ff                	xor    %edi,%edi
4774c8:	47                   	inc    %edi
4774c9:	e9 84 00 00 00       	jmp    0x477552
4774ce:	8d 45 f4             	lea    -0xc(%ebp),%eax
4774d1:	50                   	push   %eax
4774d2:	0f b6 06             	movzbl (%esi),%eax
4774d5:	50                   	push   %eax
4774d6:	e8 05 3e 00 00       	call   0x47b2e0
4774db:	59                   	pop    %ecx
4774dc:	59                   	pop    %ecx
4774dd:	85 c0                	test   %eax,%eax
4774df:	74 40                	je     0x477521
4774e1:	8b 7d f4             	mov    -0xc(%ebp),%edi
4774e4:	83 7f 04 01          	cmpl   $0x1,0x4(%edi)
4774e8:	7e 27                	jle    0x477511
4774ea:	3b 5f 04             	cmp    0x4(%edi),%ebx
4774ed:	7c 25                	jl     0x477514
4774ef:	33 c0                	xor    %eax,%eax
4774f1:	39 45 08             	cmp    %eax,0x8(%ebp)
4774f4:	0f 95 c0             	setne  %al
4774f7:	50                   	push   %eax
4774f8:	ff 75 08             	push   0x8(%ebp)
4774fb:	ff 77 04             	push   0x4(%edi)
4774fe:	56                   	push   %esi
4774ff:	6a 09                	push   $0x9
477501:	ff 77 08             	push   0x8(%edi)
477504:	ff 15 74 41 49 00    	call   *0x494174
47750a:	8b 7d f4             	mov    -0xc(%ebp),%edi
47750d:	85 c0                	test   %eax,%eax
47750f:	75 0b                	jne    0x47751c
477511:	3b 5f 04             	cmp    0x4(%edi),%ebx
477514:	72 2e                	jb     0x477544
477516:	80 7e 01 00          	cmpb   $0x0,0x1(%esi)
47751a:	74 28                	je     0x477544
47751c:	8b 7f 04             	mov    0x4(%edi),%edi
47751f:	eb 31                	jmp    0x477552
477521:	33 c0                	xor    %eax,%eax
477523:	39 45 08             	cmp    %eax,0x8(%ebp)
477526:	0f 95 c0             	setne  %al
477529:	33 ff                	xor    %edi,%edi
47752b:	50                   	push   %eax
47752c:	ff 75 08             	push   0x8(%ebp)
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