47527b:	5b                   	pop    %ebx
47527c:	5d                   	pop    %ebp
47527d:	c2 04 00             	ret    $0x4
475280:	8b ff                	mov    %edi,%edi
475282:	55                   	push   %ebp
475283:	8b ec                	mov    %esp,%ebp
475285:	51                   	push   %ecx
475286:	53                   	push   %ebx
475287:	57                   	push   %edi
475288:	8b 7d 08             	mov    0x8(%ebp),%edi
47528b:	8b c1                	mov    %ecx,%eax
47528d:	89 45 fc             	mov    %eax,-0x4(%ebp)
475290:	8b df                	mov    %edi,%ebx
475292:	80 7f 45 00          	cmpb   $0x0,0x45(%edi)
475296:	75 39                	jne    0x4752d1
475298:	56                   	push   %esi
475299:	ff 73 08             	push   0x8(%ebx)
47529c:	8b c8                	mov    %eax,%ecx
47529e:	e8 dd ff ff ff       	call   0x475280
4752a3:	8b 1b                	mov    (%ebx),%ebx
4752a5:	8d 4f 28             	lea    0x28(%edi),%ecx
4752a8:	6a 00                	push   $0x0
4752aa:	6a 01                	push   $0x1
4752ac:	e8 13 75 fa ff       	call   0x41c7c4
4752b1:	6a 00                	push   $0x0
4752b3:	6a 01                	push   $0x1
4752b5:	8d 4f 0c             	lea    0xc(%edi),%ecx
4752b8:	e8 07 75 fa ff       	call   0x41c7c4
4752bd:	57                   	push   %edi
4752be:	ff 15 10 74 4a 00    	call   *0x4a7410
4752c4:	80 7b 45 00          	cmpb   $0x0,0x45(%ebx)
4752c8:	8b fb                	mov    %ebx,%edi
4752ca:	8b 45 fc             	mov    -0x4(%ebp),%eax
4752cd:	59                   	pop    %ecx
4752ce:	74 c9                	je     0x475299
4752d0:	5e                   	pop    %esi
4752d1:	5f                   	pop    %edi
4752d2:	5b                   	pop    %ebx
4752d3:	c9                   	leave
4752d4:	c2 04 00             	ret    $0x4
4752d7:	6a 24                	push   $0x24
4752d9:	b8 5a 3f 49 00       	mov    $0x493f5a,%eax
4752de:	e8 23 b2 01 00       	call   0x490506
4752e3:	8b f9                	mov    %ecx,%edi
4752e5:	89 7d d0             	mov    %edi,-0x30(%ebp)
4752e8:	8b 75 08             	mov    0x8(%ebp),%esi
4752eb:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
4752ee:	52                   	push   %edx
4752ef:	89 7d d0             	mov    %edi,-0x30(%ebp)
4752f2:	e8 e4 4c fa ff       	call   0x419fdb
4752f7:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4752fb:	8b c8                	mov    %eax,%ecx
4752fd:	6a ff                	push   $0xffffffff
4752ff:	6a 00                	push   $0x0
475301:	56                   	push   %esi
475302:	e8 ef eb fa ff       	call   0x423ef6
475307:	50                   	push   %eax
475308:	8b cf                	mov    %edi,%ecx
47530a:	e8 0f 4d fa ff       	call   0x41a01e
47530f:	6a 00                	push   $0x0
475311:	6a 01                	push   $0x1
475313:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
475316:	e8 a9 74 fa ff       	call   0x41c7c4
47531b:	8b c7                	mov    %edi,%eax
47531d:	e8 93 b1 01 00       	call   0x4904b5
475322:	c3                   	ret
475323:	8b ff                	mov    %edi,%edi
475325:	55                   	push   %ebp
475326:	8b ec                	mov    %esp,%ebp
475328:	51                   	push   %ecx
475329:	8b 55 0c             	mov    0xc(%ebp),%edx
47532c:	53                   	push   %ebx
47532d:	56                   	push   %esi
47532e:	8b f1                	mov    %ecx,%esi
475330:	57                   	push   %edi
475331:	39 56 14             	cmp    %edx,0x14(%esi)
475334:	73 03                	jae    0x475339
475336:	8b 56 14             	mov    0x14(%esi),%edx
475339:	8b 4d 14             	mov    0x14(%ebp),%ecx
47533c:	8b fa                	mov    %edx,%edi
47533e:	3b d1                	cmp    %ecx,%edx
475340:	72 02                	jb     0x475344
475342:	8b f9                	mov    %ecx,%edi
475344:	83 7e 18 08          	cmpl   $0x8,0x18(%esi)
475348:	8d 46 04             	lea    0x4(%esi),%eax
47534b:	72 02                	jb     0x47534f
47534d:	8b 00                	mov    (%eax),%eax
47534f:	8b 75 10             	mov    0x10(%ebp),%esi
475352:	85 ff                	test   %edi,%edi
475354:	74 1c                	je     0x475372
475356:	2b c6                	sub    %esi,%eax
475358:	0f b7 0e             	movzwl (%esi),%ecx
47535b:	0f b7 1c 30          	movzwl (%eax,%esi,1),%ebx
47535f:	89 4d fc             	mov    %ecx,-0x4(%ebp)
475362:	66 3b d9             	cmp    %cx,%bx
475365:	8b 4d 14             	mov    0x14(%ebp),%ecx
475368:	75 1a                	jne    0x475384
47536a:	83 c6 02             	add    $0x2,%esi
47536d:	83 ef 01             	sub    $0x1,%edi
475370:	75 e6                	jne    0x475358
475372:	33 c0                	xor    %eax,%eax
475374:	5f                   	pop    %edi
475375:	5e                   	pop    %esi
475376:	5b                   	pop    %ebx
475377:	85 c0                	test   %eax,%eax
475379:	75 1c                	jne    0x475397
47537b:	3b d1                	cmp    %ecx,%edx
47537d:	73 11                	jae    0x475390
47537f:	83 c8 ff             	or     $0xffffffff,%eax
475382:	eb 13                	jmp    0x475397
475384:	66 3b 5d fc          	cmp    -0x4(%ebp),%bx
475388:	1b c0                	sbb    %eax,%eax
47538a:	83 e0 fe             	and    $0xfffffffe,%eax
47538d:	40                   	inc    %eax
47538e:	eb e4                	jmp    0x475374
475390:	33 c0                	xor    %eax,%eax
475392:	3b d1                	cmp    %ecx,%edx
475394:	0f 95 c0             	setne  %al
475397:	c9                   	leave
475398:	c2 10 00             	ret    $0x10
47539b:	6a 08                	push   $0x8
47539d:	b8 e3 5e 49 00       	mov    $0x495ee3,%eax
4753a2:	e8 2c b1 01 00       	call   0x4904d3
4753a7:	8b f1                	mov    %ecx,%esi
4753a9:	89 75 f0             	mov    %esi,-0x10(%ebp)
4753ac:	33 ff                	xor    %edi,%edi
4753ae:	c7 46 24 07 00 00 00 	movl   $0x7,0x24(%esi)
4753b5:	33 c0                	xor    %eax,%eax
4753b7:	89 7e 20             	mov    %edi,0x20(%esi)
4753ba:	66 89 46 10          	mov    %ax,0x10(%esi)
4753be:	8b 45 08             	mov    0x8(%ebp),%eax
4753c1:	89 7d fc             	mov    %edi,-0x4(%ebp)
4753c4:	6a 60                	push   $0x60
4753c6:	89 06                	mov    %eax,(%esi)
4753c8:	c7 46 28 05 00 00 00 	movl   $0x5,0x28(%esi)
4753cf:	c7 46 2c 2c 01 00 00 	movl   $0x12c,0x2c(%esi)
4753d6:	89 7e 30             	mov    %edi,0x30(%esi)
4753d9:	c7 46 34 01 00 00 00 	movl   $0x1,0x34(%esi)
4753e0:	ff 15 14 74 4a 00    	call   *0x4a7414
4753e6:	59                   	pop    %ecx
4753e7:	89 45 ec             	mov    %eax,-0x14(%ebp)
4753ea:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
4753ee:	85 c0                	test   %eax,%eax
4753f0:	74 0c                	je     0x4753fe
4753f2:	ff 75 0c             	push   0xc(%ebp)
4753f5:	8b c8                	mov    %eax,%ecx
4753f7:	e8 6e d2 ff ff       	call   0x47266a
4753fc:	8b f8                	mov    %eax,%edi
4753fe:	89 7e 04             	mov    %edi,0x4(%esi)
475401:	8b c6                	mov    %esi,%eax
475403:	e8 99 b0 01 00       	call   0x4904a1
475408:	c2 10 00             	ret    $0x10
47540b:	69 41 28 e8 03 00 00 	imul   $0x3e8,0x28(%ecx),%eax
475412:	56                   	push   %esi
475413:	33 f6                	xor    %esi,%esi
475415:	56                   	push   %esi
475416:	50                   	push   %eax
475417:	51                   	push   %ecx
475418:	68 10 58 47 00       	push   $0x475810
47541d:	ff 15 cc 72 4a 00    	call   *0x4a72cc
475423:	85 c0                	test   %eax,%eax
475425:	75 01                	jne    0x475428
475427:	46                   	inc    %esi
475428:	8b c6                	mov    %esi,%eax
47542a:	5e                   	pop    %esi
47542b:	c3                   	ret
47542c:	6a 60                	push   $0x60
47542e:	b8 27 5f 49 00       	mov    $0x495f27,%eax
475433:	e8 ce b0 01 00       	call   0x490506
475438:	8b f9                	mov    %ecx,%edi
47543a:	33 db                	xor    %ebx,%ebx
47543c:	89 5d 98             	mov    %ebx,-0x68(%ebp)
47543f:	8b 37                	mov    (%edi),%esi
475441:	68 80 fa 40 00       	push   $0x40fa80
475446:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
475449:	89 5d fc             	mov    %ebx,-0x4(%ebp)
47544c:	e8 8a 4b fa ff       	call   0x419fdb
475451:	8b ce                	mov    %esi,%ecx
475453:	89 45 94             	mov    %eax,-0x6c(%ebp)
475456:	c7 45 98 01 00 00 00 	movl   $0x1,-0x68(%ebp)
47545d:	e8 68 08 00 00       	call   0x475cca
475462:	85 c0                	test   %eax,%eax
475464:	7e 0e                	jle    0x475474
475466:	6a ff                	push   $0xffffffff
475468:	53                   	push   %ebx
475469:	ff 76 04             	push   0x4(%esi)
47546c:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
47546f:	e8 97 72 fa ff       	call   0x41c70b
475474:	6a ff                	push   $0xffffffff
475476:	53                   	push   %ebx
475477:	ff 75 94             	push   -0x6c(%ebp)
47547a:	8d 77 0c             	lea    0xc(%edi),%esi
47547d:	8b ce                	mov    %esi,%ecx
47547f:	e8 87 72 fa ff       	call   0x41c70b
475484:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
475488:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
47548b:	53                   	push   %ebx
47548c:	6a 01                	push   $0x1
47548e:	e8 31 73 fa ff       	call   0x41c7c4
475493:	8b 4f 04             	mov    0x4(%edi),%ecx
475496:	56                   	push   %esi
475497:	e8 59 d9 ff ff       	call   0x472df5
47549c:	8b 4f 04             	mov    0x4(%edi),%ecx
47549f:	e8 71 de ff ff       	call   0x473315
4754a4:	85 c0                	test   %eax,%eax
4754a6:	74 56                	je     0x4754fe
4754a8:	8b 4f 04             	mov    0x4(%edi),%ecx
4754ab:	8d 45 9c             	lea    -0x64(%ebp),%eax
4754ae:	50                   	push   %eax
4754af:	e8 53 df ff ff       	call   0x473407
4754b4:	8b f0                	mov    %eax,%esi
4754b6:	8d 45 b8             	lea    -0x48(%ebp),%eax
4754b9:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
4754c0:	8b 4f 04             	mov    0x4(%edi),%ecx
4754c3:	50                   	push   %eax
4754c4:	e8 d4 df ff ff       	call   0x47349d
4754c9:	8b d0                	mov    %eax,%edx
4754cb:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
4754cf:	8b 7f 08             	mov    0x8(%edi),%edi
4754d2:	56                   	push   %esi
4754d3:	52                   	push   %edx
4754d4:	8b 07                	mov    (%edi),%eax
4754d6:	8b 70 10             	mov    0x10(%eax),%esi
4754d9:	8b ce                	mov    %esi,%ecx
4754db:	ff 15 2c 81 4a 00    	call   *0x4a812c
4754e1:	8b cf                	mov    %edi,%ecx
4754e3:	ff d6                	call   *%esi
4754e5:	53                   	push   %ebx
4754e6:	6a 01                	push   $0x1
4754e8:	8d 4d b8             	lea    -0x48(%ebp),%ecx
4754eb:	e8 d4 72 fa ff       	call   0x41c7c4
4754f0:	53                   	push   %ebx
4754f1:	6a 01                	push   $0x1
4754f3:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
4754f6:	e8 c9 72 fa ff       	call   0x41c7c4
4754fb:	33 db                	xor    %ebx,%ebx
4754fd:	43                   	inc    %ebx
4754fe:	8b c3                	mov    %ebx,%eax
475500:	e8 b0 af 01 00       	call   0x4904b5
475505:	c3                   	ret
475506:	6a 5c                	push   $0x5c
475508:	b8 ac 5f 49 00       	mov    $0x495fac,%eax
47550d:	e8 f4 af 01 00       	call   0x490506
475512:	8b d9                	mov    %ecx,%ebx
475514:	83 65 cc 00          	andl   $0x0,-0x34(%ebp)
475518:	33 c0                	xor    %eax,%eax
47551a:	c7 45 d0 07 00 00 00 	movl   $0x7,-0x30(%ebp)
475521:	66 89 45 bc          	mov    %ax,-0x44(%ebp)
475525:	21 45 fc             	and    %eax,-0x4(%ebp)
475528:	39 45 08             	cmp    %eax,0x8(%ebp)
47552b:	74 5e                	je     0x47558b
47552d:	8b 4b 04             	mov    0x4(%ebx),%ecx
475530:	8d 45 d4             	lea    -0x2c(%ebp),%eax
475533:	50                   	push   %eax
475534:	e8 0f e0 ff ff       	call   0x473548
475539:	6a ff                	push   $0xffffffff
47553b:	6a 00                	push   $0x0
47553d:	8d 73 0c             	lea    0xc(%ebx),%esi
475540:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
475544:	50                   	push   %eax
475545:	8b ce                	mov    %esi,%ecx
475547:	e8 bf 71 fa ff       	call   0x41c70b
47554c:	6a 00                	push   $0x0
47554e:	6a 01                	push   $0x1
475550:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
475553:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
475557:	e8 68 72 fa ff       	call   0x41c7c4
47555c:	8d 43 30             	lea    0x30(%ebx),%eax
47555f:	50                   	push   %eax
475560:	ff 15 c8 72 4a 00    	call   *0x4a72c8
475566:	8d 45 98             	lea    -0x68(%ebp),%eax
475569:	50                   	push   %eax
47556a:	33 c0                	xor    %eax,%eax
47556c:	50                   	push   %eax
47556d:	53                   	push   %ebx
47556e:	68 30 58 47 00       	push   $0x475830
475573:	50                   	push   %eax
475574:	50                   	push   %eax
475575:	ff 15 e4 7e 4a 00    	call   *0x4a7ee4
47557b:	51                   	push   %ecx
47557c:	8b 0b                	mov    (%ebx),%ecx
47557e:	56                   	push   %esi
47557f:	e8 4e 05 00 00       	call   0x475ad2
475584:	8b 0b                	mov    (%ebx),%ecx
475586:	e8 b9 04 00 00       	call   0x475a44
47558b:	68 d8 35 41 00       	push   $0x4135d8
475590:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
475593:	e8 43 4a fa ff       	call   0x419fdb
475598:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
47559c:	8d 45 d4             	lea    -0x2c(%ebp),%eax
47559f:	8b 4b 04             	mov    0x4(%ebx),%ecx
4755a2:	50                   	push   %eax
4755a3:	83 c1 54             	add    $0x54,%ecx
4755a6:	e8 b7 e2 ff ff       	call   0x473862
4755ab:	33 c9                	xor    %ecx,%ecx
4755ad:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
4755b1:	41                   	inc    %ecx
4755b2:	6a 00                	push   $0x0
4755b4:	89 08                	mov    %ecx,(%eax)
4755b6:	51                   	push   %ecx
4755b7:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
4755ba:	e8 05 72 fa ff       	call   0x41c7c4
4755bf:	8b 7b 08             	mov    0x8(%ebx),%edi
4755c2:	8b 07                	mov    (%edi),%eax
4755c4:	8b 70 1c             	mov    0x1c(%eax),%esi
4755c7:	8b ce                	mov    %esi,%ecx
4755c9:	ff 15 2c 81 4a 00    	call   *0x4a812c
4755cf:	8b cf                	mov    %edi,%ecx
4755d1:	ff d6                	call   *%esi
4755d3:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
4755d6:	68 c8 35 41 00       	push   $0x4135c8
4755db:	85 c0                	test   %eax,%eax
4755dd:	74 24                	je     0x475603
4755df:	e8 f7 49 fa ff       	call   0x419fdb
4755e4:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
4755e8:	8d 45 d4             	lea    -0x2c(%ebp),%eax
4755eb:	8b 4b 04             	mov    0x4(%ebx),%ecx
4755ee:	50                   	push   %eax
4755ef:	83 c1 54             	add    $0x54,%ecx
4755f2:	e8 6b e2 ff ff       	call   0x473862
4755f7:	33 c9                	xor    %ecx,%ecx
4755f9:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
4755fd:	41                   	inc    %ecx
4755fe:	6a 00                	push   $0x0
475600:	51                   	push   %ecx
475601:	eb 20                	jmp    0x475623
475603:	e8 d3 49 fa ff       	call   0x419fdb
475608:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
47560c:	8d 45 d4             	lea    -0x2c(%ebp),%eax
47560f:	8b 4b 04             	mov    0x4(%ebx),%ecx
475612:	50                   	push   %eax
475613:	83 c1 54             	add    $0x54,%ecx
475616:	e8 47 e2 ff ff       	call   0x473862
47561b:	33 c9                	xor    %ecx,%ecx
47561d:	51                   	push   %ecx
47561e:	88 4d fc             	mov    %cl,-0x4(%ebp)
475621:	6a 01                	push   $0x1
475623:	89 08                	mov    %ecx,(%eax)
475625:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
475628:	e8 97 71 fa ff       	call   0x41c7c4
47562d:	8b 7b 08             	mov    0x8(%ebx),%edi
475630:	8b 07                	mov    (%edi),%eax
475632:	8b 70 18             	mov    0x18(%eax),%esi
475635:	8b ce                	mov    %esi,%ecx
475637:	ff 15 2c 81 4a 00    	call   *0x4a812c
47563d:	8b cf                	mov    %edi,%ecx
47563f:	ff d6                	call   *%esi
475641:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
475644:	68 b4 35 41 00       	push   $0x4135b4
475649:	85 c0                	test   %eax,%eax