458422:	49                   	dec    %ecx
458423:	80 c2 30             	add    $0x30,%dl
458426:	89 4e 28             	mov    %ecx,0x28(%esi)
458429:	8b d8                	mov    %eax,%ebx
45842b:	80 fa 39             	cmp    $0x39,%dl
45842e:	7e 11                	jle    0x458441
458430:	80 7d 10 00          	cmpb   $0x0,0x10(%ebp)
458434:	0f 94 c0             	sete   %al
458437:	fe c8                	dec    %al
458439:	24 e0                	and    $0xe0,%al
45843b:	04 61                	add    $0x61,%al
45843d:	2c 3a                	sub    $0x3a,%al
45843f:	02 d0                	add    %al,%dl
458441:	8b 46 34             	mov    0x34(%esi),%eax
458444:	88 10                	mov    %dl,(%eax)
458446:	ff 4e 34             	decl   0x34(%esi)
458449:	eb c5                	jmp    0x458410
45844b:	2b 7e 34             	sub    0x34(%esi),%edi
45844e:	89 7e 38             	mov    %edi,0x38(%esi)
458451:	ff 46 34             	incl   0x34(%esi)
458454:	5f                   	pop    %edi
458455:	5e                   	pop    %esi
458456:	5b                   	pop    %ebx
458457:	5d                   	pop    %ebp
458458:	c2 0c 00             	ret    $0xc
45845b:	8b ff                	mov    %edi,%edi
45845d:	55                   	push   %ebp
45845e:	8b ec                	mov    %esp,%ebp
458460:	53                   	push   %ebx
458461:	56                   	push   %esi
458462:	8b f1                	mov    %ecx,%esi
458464:	57                   	push   %edi
458465:	8d 4e 40             	lea    0x40(%esi),%ecx
458468:	8b b9 04 04 00 00    	mov    0x404(%ecx),%edi
45846e:	85 ff                	test   %edi,%edi
458470:	75 02                	jne    0x458474
458472:	8b f9                	mov    %ecx,%edi
458474:	e8 21 d5 ff ff       	call   0x45599a
458479:	8b 5d 08             	mov    0x8(%ebp),%ebx
45847c:	48                   	dec    %eax
45847d:	03 f8                	add    %eax,%edi
45847f:	89 7e 34             	mov    %edi,0x34(%esi)
458482:	8b 4e 28             	mov    0x28(%esi),%ecx
458485:	85 c9                	test   %ecx,%ecx
458487:	7f 04                	jg     0x45848d
458489:	85 db                	test   %ebx,%ebx
45848b:	74 30                	je     0x4584bd
45848d:	33 d2                	xor    %edx,%edx
45848f:	8b c3                	mov    %ebx,%eax
458491:	f7 75 0c             	divl   0xc(%ebp)
458494:	49                   	dec    %ecx
458495:	80 c2 30             	add    $0x30,%dl
458498:	89 4e 28             	mov    %ecx,0x28(%esi)
45849b:	8b d8                	mov    %eax,%ebx
45849d:	80 fa 39             	cmp    $0x39,%dl
4584a0:	7e 11                	jle    0x4584b3
4584a2:	80 7d 10 00          	cmpb   $0x0,0x10(%ebp)
4584a6:	0f 94 c0             	sete   %al
4584a9:	fe c8                	dec    %al
4584ab:	24 e0                	and    $0xe0,%al
4584ad:	04 61                	add    $0x61,%al
4584af:	2c 3a                	sub    $0x3a,%al
4584b1:	02 d0                	add    %al,%dl
4584b3:	8b 46 34             	mov    0x34(%esi),%eax
4584b6:	88 10                	mov    %dl,(%eax)
4584b8:	ff 4e 34             	decl   0x34(%esi)
4584bb:	eb c5                	jmp    0x458482
4584bd:	2b 7e 34             	sub    0x34(%esi),%edi
4584c0:	89 7e 38             	mov    %edi,0x38(%esi)
4584c3:	ff 46 34             	incl   0x34(%esi)
4584c6:	5f                   	pop    %edi
4584c7:	5e                   	pop    %esi
4584c8:	5b                   	pop    %ebx
4584c9:	5d                   	pop    %ebp
4584ca:	c2 0c 00             	ret    $0xc
4584cd:	8b ff                	mov    %edi,%edi
4584cf:	55                   	push   %ebp
4584d0:	8b ec                	mov    %esp,%ebp
4584d2:	53                   	push   %ebx
4584d3:	56                   	push   %esi
4584d4:	8b f1                	mov    %ecx,%esi
4584d6:	57                   	push   %edi
4584d7:	8d 4e 40             	lea    0x40(%esi),%ecx
4584da:	8b b9 04 04 00 00    	mov    0x404(%ecx),%edi
4584e0:	85 ff                	test   %edi,%edi
4584e2:	75 02                	jne    0x4584e6
4584e4:	8b f9                	mov    %ecx,%edi
4584e6:	e8 af d4 ff ff       	call   0x45599a
4584eb:	8b 5d 08             	mov    0x8(%ebp),%ebx
4584ee:	48                   	dec    %eax
4584ef:	03 f8                	add    %eax,%edi
4584f1:	89 7e 34             	mov    %edi,0x34(%esi)
4584f4:	8b 4e 28             	mov    0x28(%esi),%ecx
4584f7:	85 c9                	test   %ecx,%ecx
4584f9:	7f 04                	jg     0x4584ff
4584fb:	85 db                	test   %ebx,%ebx
4584fd:	74 30                	je     0x45852f
4584ff:	33 d2                	xor    %edx,%edx
458501:	8b c3                	mov    %ebx,%eax
458503:	f7 75 0c             	divl   0xc(%ebp)
458506:	49                   	dec    %ecx
458507:	80 c2 30             	add    $0x30,%dl
45850a:	89 4e 28             	mov    %ecx,0x28(%esi)
45850d:	8b d8                	mov    %eax,%ebx
45850f:	80 fa 39             	cmp    $0x39,%dl
458512:	7e 11                	jle    0x458525
458514:	80 7d 10 00          	cmpb   $0x0,0x10(%ebp)
458518:	0f 94 c0             	sete   %al
45851b:	fe c8                	dec    %al
45851d:	24 e0                	and    $0xe0,%al
45851f:	04 61                	add    $0x61,%al
458521:	2c 3a                	sub    $0x3a,%al
458523:	02 d0                	add    %al,%dl
458525:	8b 46 34             	mov    0x34(%esi),%eax
458528:	88 10                	mov    %dl,(%eax)
45852a:	ff 4e 34             	decl   0x34(%esi)
45852d:	eb c5                	jmp    0x4584f4
45852f:	2b 7e 34             	sub    0x34(%esi),%edi
458532:	89 7e 38             	mov    %edi,0x38(%esi)
458535:	ff 46 34             	incl   0x34(%esi)
458538:	5f                   	pop    %edi
458539:	5e                   	pop    %esi
45853a:	5b                   	pop    %ebx
45853b:	5d                   	pop    %ebp
45853c:	c2 0c 00             	ret    $0xc
45853f:	8b ff                	mov    %edi,%edi
458541:	55                   	push   %ebp
458542:	8b ec                	mov    %esp,%ebp
458544:	53                   	push   %ebx
458545:	56                   	push   %esi
458546:	8b f1                	mov    %ecx,%esi
458548:	57                   	push   %edi
458549:	8d 4e 40             	lea    0x40(%esi),%ecx
45854c:	8b b9 04 04 00 00    	mov    0x404(%ecx),%edi
458552:	85 ff                	test   %edi,%edi
458554:	75 02                	jne    0x458558
458556:	8b f9                	mov    %ecx,%edi
458558:	e8 3d d4 ff ff       	call   0x45599a
45855d:	8b 5d 08             	mov    0x8(%ebp),%ebx
458560:	48                   	dec    %eax
458561:	03 f8                	add    %eax,%edi
458563:	89 7e 34             	mov    %edi,0x34(%esi)
458566:	8b 4e 28             	mov    0x28(%esi),%ecx
458569:	85 c9                	test   %ecx,%ecx
45856b:	7f 04                	jg     0x458571
45856d:	85 db                	test   %ebx,%ebx
45856f:	74 30                	je     0x4585a1
458571:	33 d2                	xor    %edx,%edx
458573:	8b c3                	mov    %ebx,%eax
458575:	f7 75 0c             	divl   0xc(%ebp)
458578:	49                   	dec    %ecx
458579:	80 c2 30             	add    $0x30,%dl
45857c:	89 4e 28             	mov    %ecx,0x28(%esi)
45857f:	8b d8                	mov    %eax,%ebx
458581:	80 fa 39             	cmp    $0x39,%dl
458584:	7e 11                	jle    0x458597
458586:	80 7d 10 00          	cmpb   $0x0,0x10(%ebp)
45858a:	0f 94 c0             	sete   %al
45858d:	fe c8                	dec    %al
45858f:	24 e0                	and    $0xe0,%al
458591:	04 61                	add    $0x61,%al
458593:	2c 3a                	sub    $0x3a,%al
458595:	02 d0                	add    %al,%dl
458597:	8b 46 34             	mov    0x34(%esi),%eax
45859a:	88 10                	mov    %dl,(%eax)
45859c:	ff 4e 34             	decl   0x34(%esi)
45859f:	eb c5                	jmp    0x458566
4585a1:	2b 7e 34             	sub    0x34(%esi),%edi
4585a4:	89 7e 38             	mov    %edi,0x38(%esi)
4585a7:	ff 46 34             	incl   0x34(%esi)
4585aa:	5f                   	pop    %edi
4585ab:	5e                   	pop    %esi
4585ac:	5b                   	pop    %ebx
4585ad:	5d                   	pop    %ebp
4585ae:	c2 0c 00             	ret    $0xc
4585b1:	8b ff                	mov    %edi,%edi
4585b3:	55                   	push   %ebp
4585b4:	8b ec                	mov    %esp,%ebp
4585b6:	53                   	push   %ebx
4585b7:	56                   	push   %esi
4585b8:	8b f1                	mov    %ecx,%esi
4585ba:	57                   	push   %edi
4585bb:	8d 4e 40             	lea    0x40(%esi),%ecx
4585be:	8b b9 04 04 00 00    	mov    0x404(%ecx),%edi
4585c4:	85 ff                	test   %edi,%edi
4585c6:	75 02                	jne    0x4585ca
4585c8:	8b f9                	mov    %ecx,%edi
4585ca:	e8 e3 d3 ff ff       	call   0x4559b2
4585cf:	8b 5d 08             	mov    0x8(%ebp),%ebx
4585d2:	8d 3c 47             	lea    (%edi,%eax,2),%edi
4585d5:	83 c7 fe             	add    $0xfffffffe,%edi
4585d8:	89 7e 34             	mov    %edi,0x34(%esi)
4585db:	8b 4e 28             	mov    0x28(%esi),%ecx
4585de:	85 c9                	test   %ecx,%ecx
4585e0:	7f 04                	jg     0x4585e6
4585e2:	85 db                	test   %ebx,%ebx
4585e4:	74 3e                	je     0x458624
4585e6:	8b c3                	mov    %ebx,%eax
4585e8:	33 d2                	xor    %edx,%edx
4585ea:	f7 75 0c             	divl   0xc(%ebp)
4585ed:	49                   	dec    %ecx
4585ee:	8b d8                	mov    %eax,%ebx
4585f0:	89 4e 28             	mov    %ecx,0x28(%esi)
4585f3:	8d 42 30             	lea    0x30(%edx),%eax
4585f6:	0f b7 c8             	movzwl %ax,%ecx
4585f9:	83 f9 39             	cmp    $0x39,%ecx
4585fc:	76 16                	jbe    0x458614
4585fe:	80 7d 10 00          	cmpb   $0x0,0x10(%ebp)
458602:	0f 94 c0             	sete   %al
458605:	fe c8                	dec    %al
458607:	24 e0                	and    $0xe0,%al
458609:	04 61                	add    $0x61,%al
45860b:	2c 3a                	sub    $0x3a,%al
45860d:	02 c1                	add    %cl,%al
45860f:	66 98                	cbtw
458611:	0f b7 c8             	movzwl %ax,%ecx
458614:	8b 46 34             	mov    0x34(%esi),%eax
458617:	66 0f be c9          	movsbw %cl,%cx
45861b:	66 89 08             	mov    %cx,(%eax)
45861e:	83 46 34 fe          	addl   $0xfffffffe,0x34(%esi)
458622:	eb b7                	jmp    0x4585db
458624:	2b 7e 34             	sub    0x34(%esi),%edi
458627:	d1 ff                	sar    $1,%edi
458629:	89 7e 38             	mov    %edi,0x38(%esi)
45862c:	83 46 34 02          	addl   $0x2,0x34(%esi)
458630:	5f                   	pop    %edi
458631:	5e                   	pop    %esi
458632:	5b                   	pop    %ebx
458633:	5d                   	pop    %ebp
458634:	c2 0c 00             	ret    $0xc
458637:	8b ff                	mov    %edi,%edi
458639:	55                   	push   %ebp
45863a:	8b ec                	mov    %esp,%ebp
45863c:	53                   	push   %ebx
45863d:	56                   	push   %esi
45863e:	8b f1                	mov    %ecx,%esi
458640:	57                   	push   %edi
458641:	8d 4e 40             	lea    0x40(%esi),%ecx
458644:	8b b9 04 04 00 00    	mov    0x404(%ecx),%edi
45864a:	85 ff                	test   %edi,%edi
45864c:	75 02                	jne    0x458650
45864e:	8b f9                	mov    %ecx,%edi
458650:	e8 5d d3 ff ff       	call   0x4559b2
458655:	8b 5d 08             	mov    0x8(%ebp),%ebx
458658:	8d 3c 47             	lea    (%edi,%eax,2),%edi
45865b:	83 c7 fe             	add    $0xfffffffe,%edi
45865e:	89 7e 34             	mov    %edi,0x34(%esi)
458661:	8b 4e 28             	mov    0x28(%esi),%ecx
458664:	85 c9                	test   %ecx,%ecx
458666:	7f 04                	jg     0x45866c
458668:	85 db                	test   %ebx,%ebx
45866a:	74 3e                	je     0x4586aa
45866c:	8b c3                	mov    %ebx,%eax
45866e:	33 d2                	xor    %edx,%edx
458670:	f7 75 0c             	divl   0xc(%ebp)
458673:	49                   	dec    %ecx
458674:	8b d8                	mov    %eax,%ebx
458676:	89 4e 28             	mov    %ecx,0x28(%esi)
458679:	8d 42 30             	lea    0x30(%edx),%eax
45867c:	0f b7 c8             	movzwl %ax,%ecx
45867f:	83 f9 39             	cmp    $0x39,%ecx
458682:	76 16                	jbe    0x45869a
458684:	80 7d 10 00          	cmpb   $0x0,0x10(%ebp)
458688:	0f 94 c0             	sete   %al
45868b:	fe c8                	dec    %al
45868d:	24 e0                	and    $0xe0,%al
45868f:	04 61                	add    $0x61,%al
458691:	2c 3a                	sub    $0x3a,%al
458693:	02 c1                	add    %cl,%al
458695:	66 98                	cbtw
458697:	0f b7 c8             	movzwl %ax,%ecx
45869a:	8b 46 34             	mov    0x34(%esi),%eax
45869d:	66 0f be c9          	movsbw %cl,%cx
4586a1:	66 89 08             	mov    %cx,(%eax)
4586a4:	83 46 34 fe          	addl   $0xfffffffe,0x34(%esi)
4586a8:	eb b7                	jmp    0x458661
4586aa:	2b 7e 34             	sub    0x34(%esi),%edi
4586ad:	d1 ff                	sar    $1,%edi
4586af:	89 7e 38             	mov    %edi,0x38(%esi)
4586b2:	83 46 34 02          	addl   $0x2,0x34(%esi)
4586b6:	5f                   	pop    %edi
4586b7:	5e                   	pop    %esi
4586b8:	5b                   	pop    %ebx
4586b9:	5d                   	pop    %ebp
4586ba:	c2 0c 00             	ret    $0xc
4586bd:	8b ff                	mov    %edi,%edi
4586bf:	55                   	push   %ebp
4586c0:	8b ec                	mov    %esp,%ebp
4586c2:	53                   	push   %ebx
4586c3:	56                   	push   %esi
4586c4:	8b f1                	mov    %ecx,%esi
4586c6:	57                   	push   %edi
4586c7:	8d 4e 40             	lea    0x40(%esi),%ecx
4586ca:	8b b9 04 04 00 00    	mov    0x404(%ecx),%edi
4586d0:	85 ff                	test   %edi,%edi
4586d2:	75 02                	jne    0x4586d6
4586d4:	8b f9                	mov    %ecx,%edi
4586d6:	e8 d7 d2 ff ff       	call   0x4559b2
4586db:	8b 5d 08             	mov    0x8(%ebp),%ebx
4586de:	8d 3c 47             	lea    (%edi,%eax,2),%edi
4586e1:	83 c7 fe             	add    $0xfffffffe,%edi
4586e4:	89 7e 34             	mov    %edi,0x34(%esi)
4586e7:	8b 4e 28             	mov    0x28(%esi),%ecx
4586ea:	85 c9                	test   %ecx,%ecx
4586ec:	7f 04                	jg     0x4586f2
4586ee:	85 db                	test   %ebx,%ebx
4586f0:	74 3e                	je     0x458730
4586f2:	8b c3                	mov    %ebx,%eax
4586f4:	33 d2                	xor    %edx,%edx
4586f6:	f7 75 0c             	divl   0xc(%ebp)
4586f9:	49                   	dec    %ecx
4586fa:	8b d8                	mov    %eax,%ebx
4586fc:	89 4e 28             	mov    %ecx,0x28(%esi)
4586ff:	8d 42 30             	lea    0x30(%edx),%eax
458702:	0f b7 c8             	movzwl %ax,%ecx
458705:	83 f9 39             	cmp    $0x39,%ecx
458708:	76 16                	jbe    0x458720
45870a:	80 7d 10 00          	cmpb   $0x0,0x10(%ebp)
45870e:	0f 94 c0             	sete   %al
458711:	fe c8                	dec    %al
458713:	24 e0                	and    $0xe0,%al
458715:	04 61                	add    $0x61,%al
458717:	2c 3a                	sub    $0x3a,%al
458719:	02 c1                	add    %cl,%al
45871b:	66 98                	cbtw
45871d:	0f b7 c8             	movzwl %ax,%ecx
458720:	8b 46 34             	mov    0x34(%esi),%eax
458723:	66 0f be c9          	movsbw %cl,%cx
458727:	66 89 08             	mov    %cx,(%eax)
45872a:	83 46 34 fe          	addl   $0xfffffffe,0x34(%esi)
45872e:	eb b7                	jmp    0x4586e7
458730:	2b 7e 34             	sub    0x34(%esi),%edi
458733:	d1 ff                	sar    $1,%edi
458735:	89 7e 38             	mov    %edi,0x38(%esi)
458738:	83 46 34 02          	addl   $0x2,0x34(%esi)
45873c:	5f                   	pop    %edi
45873d:	5e                   	pop    %esi
45873e:	5b                   	pop    %ebx
45873f:	5d                   	pop    %ebp
458740:	c2 0c 00             	ret    $0xc
458743:	8b ff                	mov    %edi,%edi
458745:	55                   	push   %ebp
458746:	8b ec                	mov    %esp,%ebp
458748:	53                   	push   %ebx
458749:	56                   	push   %esi
45874a:	8b f1                	mov    %ecx,%esi
45874c:	57                   	push   %edi
45874d:	8d 4e 40             	lea    0x40(%esi),%ecx
458750:	8b b9 04 04 00 00    	mov    0x404(%ecx),%edi
458756:	85 ff                	test   %edi,%edi