60633d:	0f bf c9             	movswl %cx,%ecx
606340:	e8 1b bd fd ff       	call   0x5e2060
606345:	66 83 f8 08          	cmp    $0x8,%ax
606349:	76 35                	jbe    0x606380
60634b:	6a 30                	push   $0x30
60634d:	8d 46 ff             	lea    -0x1(%esi),%eax
606350:	5b                   	pop    %ebx
606351:	8a 08                	mov    (%eax),%cl
606353:	80 f9 66             	cmp    $0x66,%cl
606356:	74 05                	je     0x60635d
606358:	80 f9 46             	cmp    $0x46,%cl
60635b:	75 05                	jne    0x606362
60635d:	88 18                	mov    %bl,(%eax)
60635f:	48                   	dec    %eax
606360:	eb ef                	jmp    0x606351
606362:	8b 5d 08             	mov    0x8(%ebp),%ebx
606365:	3b 45 dc             	cmp    -0x24(%ebp),%eax
606368:	74 13                	je     0x60637d
60636a:	80 f9 39             	cmp    $0x39,%cl
60636d:	75 08                	jne    0x606377
60636f:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
606372:	80 c1 3a             	add    $0x3a,%cl
606375:	eb 02                	jmp    0x606379
606377:	fe c1                	inc    %cl
606379:	88 08                	mov    %cl,(%eax)
60637b:	eb 03                	jmp    0x606380
60637d:	fe 40 ff             	incb   -0x1(%eax)
606380:	85 ff                	test   %edi,%edi
606382:	7e 13                	jle    0x606397
606384:	57                   	push   %edi
606385:	6a 30                	push   $0x30
606387:	58                   	pop    %eax
606388:	50                   	push   %eax
606389:	56                   	push   %esi
60638a:	e8 71 d6 fd ff       	call   0x5e3a00
60638f:	83 c4 0c             	add    $0xc,%esp
606392:	03 f7                	add    %edi,%esi
606394:	89 75 f4             	mov    %esi,-0xc(%ebp)
606397:	8b 45 dc             	mov    -0x24(%ebp),%eax
60639a:	80 38 00             	cmpb   $0x0,(%eax)
60639d:	75 05                	jne    0x6063a4
60639f:	8b f0                	mov    %eax,%esi
6063a1:	89 75 f4             	mov    %esi,-0xc(%ebp)
6063a4:	8a 45 ff             	mov    -0x1(%ebp),%al
6063a7:	b1 34                	mov    $0x34,%cl
6063a9:	c0 e0 05             	shl    $0x5,%al
6063ac:	04 50                	add    $0x50,%al
6063ae:	88 06                	mov    %al,(%esi)
6063b0:	8b 03                	mov    (%ebx),%eax
6063b2:	8b 53 04             	mov    0x4(%ebx),%edx
6063b5:	e8 a6 bc fd ff       	call   0x5e2060
6063ba:	8b c8                	mov    %eax,%ecx
6063bc:	33 f6                	xor    %esi,%esi
6063be:	8b 45 f4             	mov    -0xc(%ebp),%eax
6063c1:	81 e1 ff 07 00 00    	and    $0x7ff,%ecx
6063c7:	2b 4d f0             	sub    -0x10(%ebp),%ecx
6063ca:	1b f6                	sbb    %esi,%esi
6063cc:	8d 50 02             	lea    0x2(%eax),%edx
6063cf:	89 55 dc             	mov    %edx,-0x24(%ebp)
6063d2:	78 0a                	js     0x6063de
6063d4:	7f 04                	jg     0x6063da
6063d6:	85 c9                	test   %ecx,%ecx
6063d8:	72 04                	jb     0x6063de
6063da:	b3 2b                	mov    $0x2b,%bl
6063dc:	eb 0a                	jmp    0x6063e8
6063de:	f7 d9                	neg    %ecx
6063e0:	6a 2d                	push   $0x2d
6063e2:	83 d6 00             	adc    $0x0,%esi
6063e5:	f7 de                	neg    %esi
6063e7:	5b                   	pop    %ebx
6063e8:	88 58 01             	mov    %bl,0x1(%eax)
6063eb:	8b fa                	mov    %edx,%edi
6063ed:	6a 30                	push   $0x30
6063ef:	58                   	pop    %eax
6063f0:	88 02                	mov    %al,(%edx)
6063f2:	33 c0                	xor    %eax,%eax
6063f4:	3b f0                	cmp    %eax,%esi
6063f6:	7c 28                	jl     0x606420
6063f8:	bb e8 03 00 00       	mov    $0x3e8,%ebx
6063fd:	7f 04                	jg     0x606403
6063ff:	3b cb                	cmp    %ebx,%ecx
606401:	72 1d                	jb     0x606420
606403:	53                   	push   %ebx
606404:	50                   	push   %eax
606405:	53                   	push   %ebx
606406:	56                   	push   %esi
606407:	51                   	push   %ecx
606408:	e8 e3 bc fd ff       	call   0x5e20f0
60640d:	8b f3                	mov    %ebx,%esi
60640f:	5b                   	pop    %ebx
606410:	90                   	nop
606411:	89 55 e4             	mov    %edx,-0x1c(%ebp)
606414:	04 30                	add    $0x30,%al
606416:	8b 55 dc             	mov    -0x24(%ebp),%edx
606419:	88 02                	mov    %al,(%edx)
60641b:	8d 7a 01             	lea    0x1(%edx),%edi
60641e:	33 c0                	xor    %eax,%eax
606420:	3b fa                	cmp    %edx,%edi
606422:	75 0b                	jne    0x60642f
606424:	3b f0                	cmp    %eax,%esi
606426:	7c 23                	jl     0x60644b
606428:	7f 05                	jg     0x60642f
60642a:	83 f9 64             	cmp    $0x64,%ecx
60642d:	72 1c                	jb     0x60644b
60642f:	53                   	push   %ebx
606430:	50                   	push   %eax
606431:	6a 64                	push   $0x64
606433:	56                   	push   %esi
606434:	51                   	push   %ecx
606435:	e8 b6 bc fd ff       	call   0x5e20f0
60643a:	8b f3                	mov    %ebx,%esi
60643c:	5b                   	pop    %ebx
60643d:	90                   	nop
60643e:	04 30                	add    $0x30,%al
606440:	89 55 e4             	mov    %edx,-0x1c(%ebp)
606443:	8b 55 dc             	mov    -0x24(%ebp),%edx
606446:	88 07                	mov    %al,(%edi)
606448:	47                   	inc    %edi
606449:	33 c0                	xor    %eax,%eax
60644b:	3b fa                	cmp    %edx,%edi
60644d:	75 0b                	jne    0x60645a
60644f:	3b f0                	cmp    %eax,%esi
606451:	7c 1e                	jl     0x606471
606453:	7f 05                	jg     0x60645a
606455:	83 f9 0a             	cmp    $0xa,%ecx
606458:	72 17                	jb     0x606471
60645a:	53                   	push   %ebx
60645b:	50                   	push   %eax
60645c:	6a 0a                	push   $0xa
60645e:	56                   	push   %esi
60645f:	51                   	push   %ecx
606460:	e8 8b bc fd ff       	call   0x5e20f0
606465:	5b                   	pop    %ebx
606466:	90                   	nop
606467:	04 30                	add    $0x30,%al
606469:	89 55 dc             	mov    %edx,-0x24(%ebp)
60646c:	88 07                	mov    %al,(%edi)
60646e:	47                   	inc    %edi
60646f:	33 c0                	xor    %eax,%eax
606471:	80 c1 30             	add    $0x30,%cl
606474:	88 0f                	mov    %cl,(%edi)
606476:	88 47 01             	mov    %al,0x1(%edi)
606479:	8b f8                	mov    %eax,%edi
60647b:	80 7d d4 00          	cmpb   $0x0,-0x2c(%ebp)
60647f:	5e                   	pop    %esi
606480:	5b                   	pop    %ebx
606481:	74 0a                	je     0x60648d
606483:	8b 4d c8             	mov    -0x38(%ebp),%ecx
606486:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
60648d:	8b c7                	mov    %edi,%eax
60648f:	5f                   	pop    %edi
606490:	c9                   	leave
606491:	c3                   	ret
606492:	8b ff                	mov    %edi,%edi
606494:	55                   	push   %ebp
606495:	8b ec                	mov    %esp,%ebp
606497:	83 ec 0c             	sub    $0xc,%esp
60649a:	56                   	push   %esi
60649b:	8b 75 1c             	mov    0x1c(%ebp),%esi
60649e:	57                   	push   %edi
60649f:	8d 7e 01             	lea    0x1(%esi),%edi
6064a2:	8d 47 02             	lea    0x2(%edi),%eax
6064a5:	3b 45 18             	cmp    0x18(%ebp),%eax
6064a8:	72 03                	jb     0x6064ad
6064aa:	8b 45 18             	mov    0x18(%ebp),%eax
6064ad:	50                   	push   %eax
6064ae:	ff 75 14             	push   0x14(%ebp)
6064b1:	8d 45 f4             	lea    -0xc(%ebp),%eax
6064b4:	50                   	push   %eax
6064b5:	8b 45 08             	mov    0x8(%ebp),%eax
6064b8:	57                   	push   %edi
6064b9:	ff 70 04             	push   0x4(%eax)
6064bc:	ff 30                	push   (%eax)
6064be:	e8 c9 a2 00 00       	call   0x61078c
6064c3:	83 c9 ff             	or     $0xffffffff,%ecx
6064c6:	83 c4 18             	add    $0x18,%esp
6064c9:	39 4d 10             	cmp    %ecx,0x10(%ebp)
6064cc:	74 17                	je     0x6064e5
6064ce:	8b 4d 10             	mov    0x10(%ebp),%ecx
6064d1:	33 c0                	xor    %eax,%eax
6064d3:	83 7d f4 2d          	cmpl   $0x2d,-0xc(%ebp)
6064d7:	0f 94 c0             	sete   %al
6064da:	2b c8                	sub    %eax,%ecx
6064dc:	33 c0                	xor    %eax,%eax
6064de:	85 f6                	test   %esi,%esi
6064e0:	0f 9f c0             	setg   %al
6064e3:	2b c8                	sub    %eax,%ecx
6064e5:	8d 45 f4             	lea    -0xc(%ebp),%eax
6064e8:	50                   	push   %eax
6064e9:	57                   	push   %edi
6064ea:	8b 7d 0c             	mov    0xc(%ebp),%edi
6064ed:	51                   	push   %ecx
6064ee:	33 c9                	xor    %ecx,%ecx
6064f0:	83 7d f4 2d          	cmpl   $0x2d,-0xc(%ebp)
6064f4:	0f 94 c1             	sete   %cl
6064f7:	33 c0                	xor    %eax,%eax
6064f9:	85 f6                	test   %esi,%esi
6064fb:	0f 9f c0             	setg   %al
6064fe:	03 cf                	add    %edi,%ecx
606500:	03 c1                	add    %ecx,%eax
606502:	50                   	push   %eax
606503:	e8 c4 a1 00 00       	call   0x6106cc
606508:	83 c4 10             	add    $0x10,%esp
60650b:	85 c0                	test   %eax,%eax
60650d:	74 05                	je     0x606514
60650f:	c6 07 00             	movb   $0x0,(%edi)
606512:	eb 1c                	jmp    0x606530
606514:	ff 75 28             	push   0x28(%ebp)
606517:	8d 45 f4             	lea    -0xc(%ebp),%eax
60651a:	6a 00                	push   $0x0
60651c:	50                   	push   %eax
60651d:	ff 75 24             	push   0x24(%ebp)
606520:	ff 75 20             	push   0x20(%ebp)
606523:	56                   	push   %esi
606524:	ff 75 10             	push   0x10(%ebp)
606527:	57                   	push   %edi
606528:	e8 07 00 00 00       	call   0x606534
60652d:	83 c4 20             	add    $0x20,%esp
606530:	5f                   	pop    %edi
606531:	5e                   	pop    %esi
606532:	c9                   	leave
606533:	c3                   	ret
606534:	8b ff                	mov    %edi,%edi
606536:	55                   	push   %ebp
606537:	8b ec                	mov    %esp,%ebp
606539:	83 ec 10             	sub    $0x10,%esp
60653c:	56                   	push   %esi
60653d:	57                   	push   %edi
60653e:	8b 7d 10             	mov    0x10(%ebp),%edi
606541:	85 ff                	test   %edi,%edi
606543:	7e 04                	jle    0x606549
606545:	8b c7                	mov    %edi,%eax
606547:	eb 02                	jmp    0x60654b
606549:	33 c0                	xor    %eax,%eax
60654b:	83 c0 09             	add    $0x9,%eax
60654e:	39 45 0c             	cmp    %eax,0xc(%ebp)
606551:	77 15                	ja     0x606568
606553:	e8 a1 6a fe ff       	call   0x5ecff9
606558:	6a 22                	push   $0x22
60655a:	5e                   	pop    %esi
60655b:	89 30                	mov    %esi,(%eax)
60655d:	e8 bd 69 fe ff       	call   0x5ecf1f
606562:	8b c6                	mov    %esi,%eax
606564:	5f                   	pop    %edi
606565:	5e                   	pop    %esi
606566:	c9                   	leave
606567:	c3                   	ret
606568:	53                   	push   %ebx
606569:	ff 75 24             	push   0x24(%ebp)
60656c:	8d 4d f0             	lea    -0x10(%ebp),%ecx
60656f:	e8 19 76 fe ff       	call   0x5edb8d
606574:	8a 55 20             	mov    0x20(%ebp),%dl
606577:	8b 5d 08             	mov    0x8(%ebp),%ebx
60657a:	84 d2                	test   %dl,%dl
60657c:	74 25                	je     0x6065a3
60657e:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
606581:	33 c0                	xor    %eax,%eax
606583:	85 ff                	test   %edi,%edi
606585:	0f 9f c0             	setg   %al
606588:	50                   	push   %eax
606589:	33 c0                	xor    %eax,%eax
60658b:	83 39 2d             	cmpl   $0x2d,(%ecx)
60658e:	0f 94 c0             	sete   %al
606591:	03 c3                	add    %ebx,%eax
606593:	50                   	push   %eax
606594:	ff 75 0c             	push   0xc(%ebp)
606597:	53                   	push   %ebx
606598:	e8 91 03 00 00       	call   0x60692e
60659d:	8a 55 20             	mov    0x20(%ebp),%dl
6065a0:	83 c4 10             	add    $0x10,%esp
6065a3:	8b 45 1c             	mov    0x1c(%ebp),%eax
6065a6:	8b f3                	mov    %ebx,%esi
6065a8:	83 38 2d             	cmpl   $0x2d,(%eax)
6065ab:	75 06                	jne    0x6065b3
6065ad:	c6 03 2d             	movb   $0x2d,(%ebx)
6065b0:	8d 73 01             	lea    0x1(%ebx),%esi
6065b3:	85 ff                	test   %edi,%edi
6065b5:	7e 15                	jle    0x6065cc
6065b7:	8a 46 01             	mov    0x1(%esi),%al
6065ba:	88 06                	mov    %al,(%esi)
6065bc:	46                   	inc    %esi
6065bd:	8b 45 f4             	mov    -0xc(%ebp),%eax
6065c0:	8b 80 88 00 00 00    	mov    0x88(%eax),%eax
6065c6:	8b 00                	mov    (%eax),%eax
6065c8:	8a 00                	mov    (%eax),%al
6065ca:	88 06                	mov    %al,(%esi)
6065cc:	0f b6 c2             	movzbl %dl,%eax
6065cf:	83 f0 01             	xor    $0x1,%eax
6065d2:	03 c7                	add    %edi,%eax
6065d4:	03 f0                	add    %eax,%esi
6065d6:	83 c8 ff             	or     $0xffffffff,%eax
6065d9:	39 45 0c             	cmp    %eax,0xc(%ebp)
6065dc:	74 07                	je     0x6065e5
6065de:	8b c3                	mov    %ebx,%eax
6065e0:	2b c6                	sub    %esi,%eax
6065e2:	03 45 0c             	add    0xc(%ebp),%eax
6065e5:	68 10 4b 6d 00       	push   $0x6d4b10
6065ea:	50                   	push   %eax
6065eb:	56                   	push   %esi
6065ec:	e8 1a 23 ff ff       	call   0x5f890b
6065f1:	83 c4 0c             	add    $0xc,%esp
6065f4:	5b                   	pop    %ebx
6065f5:	85 c0                	test   %eax,%eax
6065f7:	75 76                	jne    0x60666f
6065f9:	8d 4e 02             	lea    0x2(%esi),%ecx
6065fc:	38 45 14             	cmp    %al,0x14(%ebp)
6065ff:	74 03                	je     0x606604
606601:	c6 06 45             	movb   $0x45,(%esi)
606604:	8b 55 1c             	mov    0x1c(%ebp),%edx
606607:	8b 42 08             	mov    0x8(%edx),%eax
60660a:	80 38 30             	cmpb   $0x30,(%eax)
60660d:	74 2f                	je     0x60663e
60660f:	8b 52 04             	mov    0x4(%edx),%edx
606612:	83 ea 01             	sub    $0x1,%edx
606615:	79 06                	jns    0x60661d
606617:	f7 da                	neg    %edx
606619:	c6 46 01 2d          	movb   $0x2d,0x1(%esi)
60661d:	6a 64                	push   $0x64
60661f:	5f                   	pop    %edi
606620:	3b d7                	cmp    %edi,%edx
606622:	7c 08                	jl     0x60662c
606624:	8b c2                	mov    %edx,%eax
606626:	99                   	cltd
606627:	f7 ff                	idiv   %edi
606629:	00 46 02             	add    %al,0x2(%esi)
60662c:	6a 0a                	push   $0xa
60662e:	5f                   	pop    %edi
60662f:	3b d7                	cmp    %edi,%edx
606631:	7c 08                	jl     0x60663b
606633:	8b c2                	mov    %edx,%eax
606635:	99                   	cltd
606636:	f7 ff                	idiv   %edi
606638:	00 46 03             	add    %al,0x3(%esi)
60663b:	00 56 04             	add    %dl,0x4(%esi)
60663e:	83 7d 18 02          	cmpl   $0x2,0x18(%ebp)
606642:	75 14                	jne    0x606658
606644:	80 39 30             	cmpb   $0x30,(%ecx)
606647:	75 0f                	jne    0x606658
606649:	6a 03                	push   $0x3
60664b:	8d 41 01             	lea    0x1(%ecx),%eax
60664e:	50                   	push   %eax
60664f:	51                   	push   %ecx
606650:	e8 2b ce fd ff       	call   0x5e3480
606655:	83 c4 0c             	add    $0xc,%esp
606658:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
60665c:	74 0a                	je     0x606668
60665e:	8b 45 f0             	mov    -0x10(%ebp),%eax
606661:	83 a0 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%eax)
606668:	33 c0                	xor    %eax,%eax
60666a:	e9 f5 fe ff ff       	jmp    0x606564