5203ae:	85 c0                	test   %eax,%eax
5203b0:	79 19                	jns    0x5203cb
5203b2:	6a 48                	push   $0x48
5203b4:	68 8c 10 64 00       	push   $0x64108c
5203b9:	6a 66                	push   $0x66
5203bb:	6a 68                	push   $0x68
5203bd:	6a 35                	push   $0x35
5203bf:	e8 bc 8b fb ff       	call   0x4d8f80
5203c4:	83 c4 14             	add    $0x14,%esp
5203c7:	33 c0                	xor    %eax,%eax
5203c9:	5e                   	pop    %esi
5203ca:	c3                   	ret
5203cb:	85 f6                	test   %esi,%esi
5203cd:	75 19                	jne    0x5203e8
5203cf:	6a 4c                	push   $0x4c
5203d1:	68 8c 10 64 00       	push   $0x64108c
5203d6:	6a 69                	push   $0x69
5203d8:	6a 68                	push   $0x68
5203da:	6a 35                	push   $0x35
5203dc:	e8 9f 8b fb ff       	call   0x4d8f80
5203e1:	83 c4 14             	add    $0x14,%esp
5203e4:	33 c0                	xor    %eax,%eax
5203e6:	5e                   	pop    %esi
5203e7:	c3                   	ret
5203e8:	8b 4c 24 10          	mov    0x10(%esp),%ecx
5203ec:	8d 04 70             	lea    (%eax,%esi,2),%eax
5203ef:	83 c0 0a             	add    $0xa,%eax
5203f2:	3b c8                	cmp    %eax,%ecx
5203f4:	77 19                	ja     0x52040f
5203f6:	6a 52                	push   $0x52
5203f8:	68 8c 10 64 00       	push   $0x64108c
5203fd:	6a 68                	push   $0x68
5203ff:	6a 68                	push   $0x68
520401:	6a 35                	push   $0x35
520403:	e8 78 8b fb ff       	call   0x4d8f80
520408:	83 c4 14             	add    $0x14,%esp
52040b:	33 c0                	xor    %eax,%eax
52040d:	5e                   	pop    %esi
52040e:	c3                   	ret
52040f:	2b c8                	sub    %eax,%ecx
520411:	8b 44 24 14          	mov    0x14(%esp),%eax
520415:	5e                   	pop    %esi
520416:	89 08                	mov    %ecx,(%eax)
520418:	b8 01 00 00 00       	mov    $0x1,%eax
52041d:	c3                   	ret
52041e:	cc                   	int3
52041f:	cc                   	int3
520420:	b8 08 00 00 00       	mov    $0x8,%eax
520425:	e8 86 13 0b 00       	call   0x5d17b0
52042a:	53                   	push   %ebx
52042b:	8b 5c 24 18          	mov    0x18(%esp),%ebx
52042f:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
520436:	00
520437:	55                   	push   %ebp
520438:	56                   	push   %esi
520439:	57                   	push   %edi
52043a:	85 db                	test   %ebx,%ebx
52043c:	0f 84 d7 01 00 00    	je     0x520619
520442:	53                   	push   %ebx
520443:	e8 98 98 fb ff       	call   0x4d9ce0
520448:	8b 7c 24 20          	mov    0x20(%esp),%edi
52044c:	85 c0                	test   %eax,%eax
52044e:	68 80 00 00 00       	push   $0x80
520453:	ff 74 24 34          	push   0x34(%esp)
520457:	b9 64 25 60 00       	mov    $0x602564,%ecx
52045c:	bd 10 ae 62 00       	mov    $0x62ae10,%ebp
520461:	57                   	push   %edi
520462:	0f 44 e9             	cmove  %ecx,%ebp
520465:	e8 d6 8a fd ff       	call   0x4f8f40
52046a:	83 c4 10             	add    $0x10,%esp
52046d:	85 c0                	test   %eax,%eax
52046f:	74 27                	je     0x520498
520471:	53                   	push   %ebx
520472:	e8 e9 98 fb ff       	call   0x4d9d60
520477:	83 c4 04             	add    $0x4,%esp
52047a:	85 c0                	test   %eax,%eax
52047c:	74 24                	je     0x5204a2
52047e:	ff 74 24 20          	push   0x20(%esp)
520482:	68 ac 10 64 00       	push   $0x6410ac
520487:	57                   	push   %edi
520488:	e8 b3 20 fc ff       	call   0x4e2540
52048d:	83 c4 0c             	add    $0xc,%esp
520490:	85 c0                	test   %eax,%eax
520492:	0f 8f 81 01 00 00    	jg     0x520619
520498:	5f                   	pop    %edi
520499:	5e                   	pop    %esi
52049a:	5d                   	pop    %ebp
52049b:	33 c0                	xor    %eax,%eax
52049d:	5b                   	pop    %ebx
52049e:	83 c4 08             	add    $0x8,%esp
5204a1:	c3                   	ret
5204a2:	53                   	push   %ebx
5204a3:	e8 78 99 fb ff       	call   0x4d9e20
5204a8:	83 c4 04             	add    $0x4,%esp
5204ab:	83 c0 07             	add    $0x7,%eax
5204ae:	53                   	push   %ebx
5204af:	83 f8 28             	cmp    $0x28,%eax
5204b2:	7d 26                	jge    0x5204da
5204b4:	e8 07 fc fc ff       	call   0x4f00c0
5204b9:	53                   	push   %ebx
5204ba:	8b 30                	mov    (%eax),%esi
5204bc:	e8 ff fb fc ff       	call   0x4f00c0
5204c1:	56                   	push   %esi
5204c2:	55                   	push   %ebp
5204c3:	ff 30                	push   (%eax)
5204c5:	55                   	push   %ebp
5204c6:	ff 74 24 38          	push   0x38(%esp)
5204ca:	68 b4 10 64 00       	push   $0x6410b4
5204cf:	57                   	push   %edi
5204d0:	e8 6b 20 fc ff       	call   0x4e2540
5204d5:	83 c4 24             	add    $0x24,%esp
5204d8:	eb b6                	jmp    0x520490
5204da:	e8 41 99 fb ff       	call   0x4d9e20
5204df:	83 c0 07             	add    $0x7,%eax
5204e2:	99                   	cltd
5204e3:	83 e2 07             	and    $0x7,%edx
5204e6:	03 c2                	add    %edx,%eax
5204e8:	c1 f8 03             	sar    $0x3,%eax
5204eb:	6a 49                	push   $0x49
5204ed:	40                   	inc    %eax
5204ee:	68 c8 10 64 00       	push   $0x6410c8
5204f3:	50                   	push   %eax
5204f4:	89 44 24 24          	mov    %eax,0x24(%esp)
5204f8:	e8 53 02 fc ff       	call   0x4e0750
5204fd:	8b f0                	mov    %eax,%esi
5204ff:	83 c4 10             	add    $0x10,%esp
520502:	89 74 24 24          	mov    %esi,0x24(%esp)
520506:	85 f6                	test   %esi,%esi
520508:	0f 84 e8 00 00 00    	je     0x5205f6
52050e:	c6 06 00             	movb   $0x0,(%esi)
520511:	b8 64 25 60 00       	mov    $0x602564,%eax
520516:	80 7d 00 2d          	cmpb   $0x2d,0x0(%ebp)
52051a:	b9 e0 10 64 00       	mov    $0x6410e0,%ecx
52051f:	0f 45 c8             	cmovne %eax,%ecx
520522:	51                   	push   %ecx
520523:	ff 74 24 24          	push   0x24(%esp)
520527:	68 ec 10 64 00       	push   $0x6410ec
52052c:	57                   	push   %edi
52052d:	e8 0e 20 fc ff       	call   0x4e2540
520532:	83 c4 10             	add    $0x10,%esp
520535:	85 c0                	test   %eax,%eax
520537:	0f 8e b9 00 00 00    	jle    0x5205f6
52053d:	46                   	inc    %esi
52053e:	56                   	push   %esi
52053f:	53                   	push   %ebx
520540:	e8 bb 92 fb ff       	call   0x4d9800
520545:	83 c4 08             	add    $0x8,%esp
520548:	8b d8                	mov    %eax,%ebx
52054a:	80 3e 00             	cmpb   $0x0,(%esi)
52054d:	7d 07                	jge    0x520556
52054f:	8b 6c 24 24          	mov    0x24(%esp),%ebp
520553:	43                   	inc    %ebx
520554:	eb 02                	jmp    0x520558
520556:	8b ee                	mov    %esi,%ebp
520558:	33 f6                	xor    %esi,%esi
52055a:	85 db                	test   %ebx,%ebx
52055c:	74 78                	je     0x5205d6
52055e:	66 90                	xchg   %ax,%ax
520560:	b8 89 88 88 88       	mov    $0x88888889,%eax
520565:	f7 e6                	mul    %esi
520567:	8b c6                	mov    %esi,%eax
520569:	c1 ea 03             	shr    $0x3,%edx
52056c:	8b ca                	mov    %edx,%ecx
52056e:	c1 e1 04             	shl    $0x4,%ecx
520571:	2b ca                	sub    %edx,%ecx
520573:	2b c1                	sub    %ecx,%eax
520575:	75 30                	jne    0x5205a7
520577:	85 f6                	test   %esi,%esi
520579:	74 12                	je     0x52058d
52057b:	68 cc 26 60 00       	push   $0x6026cc
520580:	57                   	push   %edi
520581:	e8 4a 8d fd ff       	call   0x4f92d0
520586:	83 c4 08             	add    $0x8,%esp
520589:	85 c0                	test   %eax,%eax
52058b:	7e 69                	jle    0x5205f6
52058d:	8b 44 24 2c          	mov    0x2c(%esp),%eax
520591:	68 80 00 00 00       	push   $0x80
520596:	83 c0 04             	add    $0x4,%eax
520599:	50                   	push   %eax
52059a:	57                   	push   %edi
52059b:	e8 a0 89 fd ff       	call   0x4f8f40
5205a0:	83 c4 0c             	add    $0xc,%esp
5205a3:	85 c0                	test   %eax,%eax
5205a5:	74 4f                	je     0x5205f6
5205a7:	8d 43 ff             	lea    -0x1(%ebx),%eax
5205aa:	b9 64 25 60 00       	mov    $0x602564,%ecx
5205af:	3b f0                	cmp    %eax,%esi
5205b1:	b8 5c c0 60 00       	mov    $0x60c05c,%eax
5205b6:	0f 45 c8             	cmovne %eax,%ecx
5205b9:	0f b6 04 2e          	movzbl (%esi,%ebp,1),%eax
5205bd:	51                   	push   %ecx
5205be:	50                   	push   %eax
5205bf:	68 a4 10 64 00       	push   $0x6410a4
5205c4:	57                   	push   %edi
5205c5:	e8 76 1f fc ff       	call   0x4e2540
5205ca:	83 c4 10             	add    $0x10,%esp
5205cd:	85 c0                	test   %eax,%eax
5205cf:	7e 25                	jle    0x5205f6
5205d1:	46                   	inc    %esi
5205d2:	3b f3                	cmp    %ebx,%esi
5205d4:	72 8a                	jb     0x520560
5205d6:	6a 01                	push   $0x1
5205d8:	68 cc 26 60 00       	push   $0x6026cc
5205dd:	57                   	push   %edi
5205de:	e8 dd 8e fd ff       	call   0x4f94c0
5205e3:	33 c9                	xor    %ecx,%ecx
5205e5:	83 c4 0c             	add    $0xc,%esp
5205e8:	85 c0                	test   %eax,%eax
5205ea:	ba 01 00 00 00       	mov    $0x1,%edx
5205ef:	0f 4f ca             	cmovg  %edx,%ecx
5205f2:	89 4c 24 10          	mov    %ecx,0x10(%esp)
5205f6:	6a 5b                	push   $0x5b
5205f8:	68 c8 10 64 00       	push   $0x6410c8
5205fd:	ff 74 24 1c          	push   0x1c(%esp)
520601:	ff 74 24 30          	push   0x30(%esp)
520605:	e8 36 02 fc ff       	call   0x4e0840
52060a:	8b 44 24 20          	mov    0x20(%esp),%eax
52060e:	83 c4 10             	add    $0x10,%esp
520611:	5f                   	pop    %edi
520612:	5e                   	pop    %esi
520613:	5d                   	pop    %ebp
520614:	5b                   	pop    %ebx
520615:	83 c4 08             	add    $0x8,%esp
520618:	c3                   	ret
520619:	5f                   	pop    %edi
52061a:	5e                   	pop    %esi
52061b:	5d                   	pop    %ebp
52061c:	b8 01 00 00 00       	mov    $0x1,%eax
520621:	5b                   	pop    %ebx
520622:	83 c4 08             	add    $0x8,%esp
520625:	c3                   	ret
520626:	cc                   	int3
520627:	cc                   	int3
520628:	cc                   	int3
520629:	cc                   	int3
52062a:	cc                   	int3
52062b:	cc                   	int3
52062c:	cc                   	int3
52062d:	cc                   	int3
52062e:	cc                   	int3
52062f:	cc                   	int3
520630:	53                   	push   %ebx
520631:	8b 5c 24 10          	mov    0x10(%esp),%ebx
520635:	55                   	push   %ebp
520636:	56                   	push   %esi
520637:	33 f6                	xor    %esi,%esi
520639:	57                   	push   %edi
52063a:	8b 7c 24 14          	mov    0x14(%esp),%edi
52063e:	85 db                	test   %ebx,%ebx
520640:	74 77                	je     0x5206b9
520642:	8b 6c 24 20          	mov    0x20(%esp),%ebp
520646:	b8 89 88 88 88       	mov    $0x88888889,%eax
52064b:	f7 e6                	mul    %esi
52064d:	8b c6                	mov    %esi,%eax
52064f:	c1 ea 03             	shr    $0x3,%edx
520652:	8b ca                	mov    %edx,%ecx
520654:	c1 e1 04             	shl    $0x4,%ecx
520657:	2b ca                	sub    %edx,%ecx
520659:	2b c1                	sub    %ecx,%eax
52065b:	75 29                	jne    0x520686
52065d:	85 f6                	test   %esi,%esi
52065f:	74 12                	je     0x520673
520661:	68 cc 26 60 00       	push   $0x6026cc
520666:	57                   	push   %edi
520667:	e8 64 8c fd ff       	call   0x4f92d0
52066c:	83 c4 08             	add    $0x8,%esp
52066f:	85 c0                	test   %eax,%eax
520671:	7e 5a                	jle    0x5206cd
520673:	68 80 00 00 00       	push   $0x80
520678:	55                   	push   %ebp
520679:	57                   	push   %edi
52067a:	e8 c1 88 fd ff       	call   0x4f8f40
52067f:	83 c4 0c             	add    $0xc,%esp
520682:	85 c0                	test   %eax,%eax
520684:	74 47                	je     0x5206cd
520686:	8d 43 ff             	lea    -0x1(%ebx),%eax
520689:	b9 64 25 60 00       	mov    $0x602564,%ecx
52068e:	3b f0                	cmp    %eax,%esi
520690:	b8 5c c0 60 00       	mov    $0x60c05c,%eax
520695:	0f 45 c8             	cmovne %eax,%ecx
520698:	8b 44 24 18          	mov    0x18(%esp),%eax
52069c:	51                   	push   %ecx
52069d:	0f b6 04 06          	movzbl (%esi,%eax,1),%eax
5206a1:	50                   	push   %eax
5206a2:	68 a4 10 64 00       	push   $0x6410a4
5206a7:	57                   	push   %edi
5206a8:	e8 93 1e fc ff       	call   0x4e2540
5206ad:	83 c4 10             	add    $0x10,%esp
5206b0:	85 c0                	test   %eax,%eax
5206b2:	7e 19                	jle    0x5206cd
5206b4:	46                   	inc    %esi
5206b5:	3b f3                	cmp    %ebx,%esi
5206b7:	72 8d                	jb     0x520646
5206b9:	6a 01                	push   $0x1
5206bb:	68 cc 26 60 00       	push   $0x6026cc
5206c0:	57                   	push   %edi
5206c1:	e8 fa 8d fd ff       	call   0x4f94c0
5206c6:	83 c4 0c             	add    $0xc,%esp
5206c9:	85 c0                	test   %eax,%eax
5206cb:	7f 07                	jg     0x5206d4
5206cd:	5f                   	pop    %edi
5206ce:	5e                   	pop    %esi
5206cf:	5d                   	pop    %ebp
5206d0:	33 c0                	xor    %eax,%eax
5206d2:	5b                   	pop    %ebx
5206d3:	c3                   	ret
5206d4:	5f                   	pop    %edi
5206d5:	5e                   	pop    %esi
5206d6:	5d                   	pop    %ebp
5206d7:	b8 01 00 00 00       	mov    $0x1,%eax
5206dc:	5b                   	pop    %ebx
5206dd:	c3                   	ret
5206de:	cc                   	int3
5206df:	cc                   	int3
5206e0:	56                   	push   %esi
5206e1:	8b 74 24 08          	mov    0x8(%esp),%esi
5206e5:	8b 46 10             	mov    0x10(%esi),%eax
5206e8:	8b 00                	mov    (%eax),%eax
5206ea:	8b 40 6c             	mov    0x6c(%eax),%eax
5206ed:	85 c0                	test   %eax,%eax
5206ef:	74 18                	je     0x520709
5206f1:	ff 74 24 18          	push   0x18(%esp)
5206f5:	ff 74 24 18          	push   0x18(%esp)
5206f9:	ff 74 24 18          	push   0x18(%esp)
5206fd:	ff 74 24 18          	push   0x18(%esp)
520701:	56                   	push   %esi
520702:	ff d0                	call   *%eax
520704:	83 c4 14             	add    $0x14,%esp
520707:	5e                   	pop    %esi
520708:	c3                   	ret
520709:	83 7c 24 0c 00       	cmpl   $0x0,0xc(%esp)
52070e:	74 19                	je     0x520729
520710:	ff 74 24 18          	push   0x18(%esp)
520714:	ff 74 24 18          	push   0x18(%esp)
520718:	56                   	push   %esi
520719:	e8 b2 a6 ff ff       	call   0x51add0
52071e:	83 c4 0c             	add    $0xc,%esp
520721:	85 c0                	test   %eax,%eax
520723:	7f 04                	jg     0x520729
520725:	33 c0                	xor    %eax,%eax
520727:	5e                   	pop    %esi
520728:	c3                   	ret
520729:	ff 74 24 10          	push   0x10(%esp)
52072d:	ff 74 24 10          	push   0x10(%esp)
520731:	56                   	push   %esi
520732:	e8 09 00 00 00       	call   0x520740
520737:	83 c4 0c             	add    $0xc,%esp
52073a:	5e                   	pop    %esi
52073b:	c3                   	ret
52073c:	cc                   	int3