45e595:	c1 e8 05             	shr    $0x5,%eax
45e598:	84 c3                	test   %al,%bl
45e59a:	75 02                	jne    0x45e59e
45e59c:	32 db                	xor    %bl,%bl
45e59e:	80 f9 61             	cmp    $0x61,%cl
45e5a1:	74 09                	je     0x45e5ac
45e5a3:	80 f9 41             	cmp    $0x41,%cl
45e5a6:	74 04                	je     0x45e5ac
45e5a8:	32 c0                	xor    %al,%al
45e5aa:	eb 02                	jmp    0x45e5ae
45e5ac:	b0 01                	mov    $0x1,%al
45e5ae:	84 db                	test   %bl,%bl
45e5b0:	75 04                	jne    0x45e5b6
45e5b2:	84 c0                	test   %al,%al
45e5b4:	74 27                	je     0x45e5dd
45e5b6:	c6 44 3d fc 30       	movb   $0x30,-0x4(%ebp,%edi,1)
45e5bb:	80 f9 58             	cmp    $0x58,%cl
45e5be:	74 09                	je     0x45e5c9
45e5c0:	80 f9 41             	cmp    $0x41,%cl
45e5c3:	74 04                	je     0x45e5c9
45e5c5:	32 c0                	xor    %al,%al
45e5c7:	eb 02                	jmp    0x45e5cb
45e5c9:	b0 01                	mov    $0x1,%al
45e5cb:	84 c0                	test   %al,%al
45e5cd:	0f 94 c0             	sete   %al
45e5d0:	fe c8                	dec    %al
45e5d2:	24 e0                	and    $0xe0,%al
45e5d4:	04 78                	add    $0x78,%al
45e5d6:	88 44 3d fd          	mov    %al,-0x3(%ebp,%edi,1)
45e5da:	83 c7 02             	add    $0x2,%edi
45e5dd:	8b 5e 24             	mov    0x24(%esi),%ebx
45e5e0:	2b 5e 38             	sub    0x38(%esi),%ebx
45e5e3:	2b df                	sub    %edi,%ebx
45e5e5:	f6 c2 0c             	test   $0xc,%dl
45e5e8:	75 16                	jne    0x45e600
45e5ea:	8d 46 18             	lea    0x18(%esi),%eax
45e5ed:	50                   	push   %eax
45e5ee:	53                   	push   %ebx
45e5ef:	8d 86 48 04 00 00    	lea    0x448(%esi),%eax
45e5f5:	6a 20                	push   $0x20
45e5f7:	50                   	push   %eax
45e5f8:	e8 01 aa ff ff       	call   0x458ffe
45e5fd:	83 c4 10             	add    $0x10,%esp
45e600:	8d 46 0c             	lea    0xc(%esi),%eax
45e603:	50                   	push   %eax
45e604:	8d 4e 18             	lea    0x18(%esi),%ecx
45e607:	51                   	push   %ecx
45e608:	57                   	push   %edi
45e609:	8d 45 fc             	lea    -0x4(%ebp),%eax
45e60c:	50                   	push   %eax
45e60d:	8d 8e 48 04 00 00    	lea    0x448(%esi),%ecx
45e613:	e8 47 72 00 00       	call   0x46585f
45e618:	8b 4e 20             	mov    0x20(%esi),%ecx
45e61b:	8d 7e 18             	lea    0x18(%esi),%edi
45e61e:	8b c1                	mov    %ecx,%eax
45e620:	c1 e8 03             	shr    $0x3,%eax
45e623:	a8 01                	test   $0x1,%al
45e625:	74 1b                	je     0x45e642
45e627:	c1 e9 02             	shr    $0x2,%ecx
45e62a:	f6 c1 01             	test   $0x1,%cl
45e62d:	75 13                	jne    0x45e642
45e62f:	57                   	push   %edi
45e630:	53                   	push   %ebx
45e631:	8d 86 48 04 00 00    	lea    0x448(%esi),%eax
45e637:	6a 30                	push   $0x30
45e639:	50                   	push   %eax
45e63a:	e8 bf a9 ff ff       	call   0x458ffe
45e63f:	83 c4 10             	add    $0x10,%esp
45e642:	6a 00                	push   $0x0
45e644:	8b ce                	mov    %esi,%ecx
45e646:	e8 62 6b 00 00       	call   0x4651ad
45e64b:	83 3f 00             	cmpl   $0x0,(%edi)
45e64e:	7c 1d                	jl     0x45e66d
45e650:	8b 46 20             	mov    0x20(%esi),%eax
45e653:	c1 e8 02             	shr    $0x2,%eax
45e656:	a8 01                	test   $0x1,%al
45e658:	74 13                	je     0x45e66d
45e65a:	57                   	push   %edi
45e65b:	53                   	push   %ebx
45e65c:	8d 86 48 04 00 00    	lea    0x448(%esi),%eax
45e662:	6a 20                	push   $0x20
45e664:	50                   	push   %eax
45e665:	e8 94 a9 ff ff       	call   0x458ffe
45e66a:	83 c4 10             	add    $0x10,%esp
45e66d:	b0 01                	mov    $0x1,%al
45e66f:	5f                   	pop    %edi
45e670:	5e                   	pop    %esi
45e671:	5b                   	pop    %ebx
45e672:	8b e5                	mov    %ebp,%esp
45e674:	5d                   	pop    %ebp
45e675:	c3                   	ret
45e676:	8b ff                	mov    %edi,%edi
45e678:	55                   	push   %ebp
45e679:	8b ec                	mov    %esp,%ebp
45e67b:	51                   	push   %ecx
45e67c:	53                   	push   %ebx
45e67d:	56                   	push   %esi
45e67e:	8b f1                	mov    %ecx,%esi
45e680:	33 db                	xor    %ebx,%ebx
45e682:	43                   	inc    %ebx
45e683:	33 c9                	xor    %ecx,%ecx
45e685:	0f be 46 31          	movsbl 0x31(%esi),%eax
45e689:	83 f8 64             	cmp    $0x64,%eax
45e68c:	7f 6c                	jg     0x45e6fa
45e68e:	0f 84 93 00 00 00    	je     0x45e727
45e694:	83 f8 58             	cmp    $0x58,%eax
45e697:	7f 3e                	jg     0x45e6d7
45e699:	74 37                	je     0x45e6d2
45e69b:	83 f8 41             	cmp    $0x41,%eax
45e69e:	0f 84 93 00 00 00    	je     0x45e737
45e6a4:	83 f8 43             	cmp    $0x43,%eax
45e6a7:	74 3e                	je     0x45e6e7
45e6a9:	83 f8 44             	cmp    $0x44,%eax
45e6ac:	7e 1d                	jle    0x45e6cb
45e6ae:	83 f8 47             	cmp    $0x47,%eax
45e6b1:	0f 8e 80 00 00 00    	jle    0x45e737
45e6b7:	83 f8 53             	cmp    $0x53,%eax
45e6ba:	75 0f                	jne    0x45e6cb
45e6bc:	8b ce                	mov    %esi,%ecx
45e6be:	e8 e1 4f 00 00       	call   0x4636a4
45e6c3:	84 c0                	test   %al,%al
45e6c5:	0f 85 9f 00 00 00    	jne    0x45e76a
45e6cb:	32 c0                	xor    %al,%al
45e6cd:	e9 d9 01 00 00       	jmp    0x45e8ab
45e6d2:	53                   	push   %ebx
45e6d3:	6a 10                	push   $0x10
45e6d5:	eb 57                	jmp    0x45e72e
45e6d7:	83 e8 5a             	sub    $0x5a,%eax
45e6da:	74 15                	je     0x45e6f1
45e6dc:	83 e8 07             	sub    $0x7,%eax
45e6df:	74 56                	je     0x45e737
45e6e1:	48                   	dec    %eax
45e6e2:	83 e8 01             	sub    $0x1,%eax
45e6e5:	75 e4                	jne    0x45e6cb
45e6e7:	51                   	push   %ecx
45e6e8:	8b ce                	mov    %esi,%ecx
45e6ea:	e8 02 2f 00 00       	call   0x4615f1
45e6ef:	eb d2                	jmp    0x45e6c3
45e6f1:	8b ce                	mov    %esi,%ecx
45e6f3:	e8 79 17 00 00       	call   0x45fe71
45e6f8:	eb c9                	jmp    0x45e6c3
45e6fa:	83 f8 70             	cmp    $0x70,%eax
45e6fd:	7f 4d                	jg     0x45e74c
45e6ff:	74 3f                	je     0x45e740
45e701:	83 f8 67             	cmp    $0x67,%eax
45e704:	7e 31                	jle    0x45e737
45e706:	83 f8 69             	cmp    $0x69,%eax
45e709:	74 1c                	je     0x45e727
45e70b:	83 f8 6e             	cmp    $0x6e,%eax
45e70e:	74 0e                	je     0x45e71e
45e710:	83 f8 6f             	cmp    $0x6f,%eax
45e713:	75 b6                	jne    0x45e6cb
45e715:	8b ce                	mov    %esi,%ecx
45e717:	e8 9b 4b 00 00       	call   0x4632b7
45e71c:	eb a5                	jmp    0x45e6c3
45e71e:	8b ce                	mov    %esi,%ecx
45e720:	e8 07 47 00 00       	call   0x462e2c
45e725:	eb 9c                	jmp    0x45e6c3
45e727:	83 4e 20 10          	orl    $0x10,0x20(%esi)
45e72b:	51                   	push   %ecx
45e72c:	6a 0a                	push   $0xa
45e72e:	8b ce                	mov    %esi,%ecx
45e730:	e8 de 39 00 00       	call   0x462113
45e735:	eb 8c                	jmp    0x45e6c3
45e737:	8b ce                	mov    %esi,%ecx
45e739:	e8 26 20 00 00       	call   0x460764
45e73e:	eb 83                	jmp    0x45e6c3
45e740:	8b ce                	mov    %esi,%ecx
45e742:	e8 c8 4c 00 00       	call   0x46340f
45e747:	e9 77 ff ff ff       	jmp    0x45e6c3
45e74c:	83 e8 73             	sub    $0x73,%eax
45e74f:	0f 84 67 ff ff ff    	je     0x45e6bc
45e755:	48                   	dec    %eax
45e756:	83 e8 01             	sub    $0x1,%eax
45e759:	74 d0                	je     0x45e72b
45e75b:	83 e8 03             	sub    $0x3,%eax
45e75e:	0f 85 67 ff ff ff    	jne    0x45e6cb
45e764:	51                   	push   %ecx
45e765:	e9 69 ff ff ff       	jmp    0x45e6d3
45e76a:	8b ce                	mov    %esi,%ecx
45e76c:	e8 37 d8 ff ff       	call   0x45bfa8
45e771:	84 c0                	test   %al,%al
45e773:	74 07                	je     0x45e77c
45e775:	8a c3                	mov    %bl,%al
45e777:	e9 2f 01 00 00       	jmp    0x45e8ab
45e77c:	80 7e 30 00          	cmpb   $0x0,0x30(%esi)
45e780:	75 f3                	jne    0x45e775
45e782:	8b 56 20             	mov    0x20(%esi),%edx
45e785:	33 c0                	xor    %eax,%eax
45e787:	57                   	push   %edi
45e788:	66 89 45 fc          	mov    %ax,-0x4(%ebp)
45e78c:	8b f8                	mov    %eax,%edi
45e78e:	88 45 fe             	mov    %al,-0x2(%ebp)
45e791:	8b c2                	mov    %edx,%eax
45e793:	c1 e8 04             	shr    $0x4,%eax
45e796:	84 c3                	test   %al,%bl
45e798:	74 27                	je     0x45e7c1
45e79a:	8b c2                	mov    %edx,%eax
45e79c:	c1 e8 06             	shr    $0x6,%eax
45e79f:	84 c3                	test   %al,%bl
45e7a1:	74 06                	je     0x45e7a9
45e7a3:	c6 45 fc 2d          	movb   $0x2d,-0x4(%ebp)
45e7a7:	eb 16                	jmp    0x45e7bf
45e7a9:	84 d3                	test   %dl,%bl
45e7ab:	74 06                	je     0x45e7b3
45e7ad:	c6 45 fc 2b          	movb   $0x2b,-0x4(%ebp)
45e7b1:	eb 0c                	jmp    0x45e7bf
45e7b3:	8b c2                	mov    %edx,%eax
45e7b5:	d1 e8                	shr    $1,%eax
45e7b7:	84 c3                	test   %al,%bl
45e7b9:	74 06                	je     0x45e7c1
45e7bb:	c6 45 fc 20          	movb   $0x20,-0x4(%ebp)
45e7bf:	8b fb                	mov    %ebx,%edi
45e7c1:	8a 4e 31             	mov    0x31(%esi),%cl
45e7c4:	80 f9 78             	cmp    $0x78,%cl
45e7c7:	74 05                	je     0x45e7ce
45e7c9:	80 f9 58             	cmp    $0x58,%cl
45e7cc:	75 09                	jne    0x45e7d7
45e7ce:	8b c2                	mov    %edx,%eax
45e7d0:	c1 e8 05             	shr    $0x5,%eax
45e7d3:	84 c3                	test   %al,%bl
45e7d5:	75 02                	jne    0x45e7d9
45e7d7:	32 db                	xor    %bl,%bl
45e7d9:	80 f9 61             	cmp    $0x61,%cl
45e7dc:	74 09                	je     0x45e7e7
45e7de:	80 f9 41             	cmp    $0x41,%cl
45e7e1:	74 04                	je     0x45e7e7
45e7e3:	32 c0                	xor    %al,%al
45e7e5:	eb 02                	jmp    0x45e7e9
45e7e7:	b0 01                	mov    $0x1,%al
45e7e9:	84 db                	test   %bl,%bl
45e7eb:	75 04                	jne    0x45e7f1
45e7ed:	84 c0                	test   %al,%al
45e7ef:	74 27                	je     0x45e818
45e7f1:	c6 44 3d fc 30       	movb   $0x30,-0x4(%ebp,%edi,1)
45e7f6:	80 f9 58             	cmp    $0x58,%cl
45e7f9:	74 09                	je     0x45e804
45e7fb:	80 f9 41             	cmp    $0x41,%cl
45e7fe:	74 04                	je     0x45e804
45e800:	32 c0                	xor    %al,%al
45e802:	eb 02                	jmp    0x45e806
45e804:	b0 01                	mov    $0x1,%al
45e806:	84 c0                	test   %al,%al
45e808:	0f 94 c0             	sete   %al
45e80b:	fe c8                	dec    %al
45e80d:	24 e0                	and    $0xe0,%al
45e80f:	04 78                	add    $0x78,%al
45e811:	88 44 3d fd          	mov    %al,-0x3(%ebp,%edi,1)
45e815:	83 c7 02             	add    $0x2,%edi
45e818:	8b 5e 24             	mov    0x24(%esi),%ebx
45e81b:	2b 5e 38             	sub    0x38(%esi),%ebx
45e81e:	2b df                	sub    %edi,%ebx
45e820:	f6 c2 0c             	test   $0xc,%dl
45e823:	75 16                	jne    0x45e83b
45e825:	8d 46 18             	lea    0x18(%esi),%eax
45e828:	50                   	push   %eax
45e829:	53                   	push   %ebx
45e82a:	8d 86 48 04 00 00    	lea    0x448(%esi),%eax
45e830:	6a 20                	push   $0x20
45e832:	50                   	push   %eax
45e833:	e8 c6 a7 ff ff       	call   0x458ffe
45e838:	83 c4 10             	add    $0x10,%esp
45e83b:	8d 46 0c             	lea    0xc(%esi),%eax
45e83e:	50                   	push   %eax
45e83f:	8d 4e 18             	lea    0x18(%esi),%ecx
45e842:	51                   	push   %ecx
45e843:	57                   	push   %edi
45e844:	8d 45 fc             	lea    -0x4(%ebp),%eax
45e847:	50                   	push   %eax
45e848:	8d 8e 48 04 00 00    	lea    0x448(%esi),%ecx
45e84e:	e8 0c 70 00 00       	call   0x46585f
45e853:	8b 4e 20             	mov    0x20(%esi),%ecx
45e856:	8d 7e 18             	lea    0x18(%esi),%edi
45e859:	8b c1                	mov    %ecx,%eax
45e85b:	c1 e8 03             	shr    $0x3,%eax
45e85e:	a8 01                	test   $0x1,%al
45e860:	74 1b                	je     0x45e87d
45e862:	c1 e9 02             	shr    $0x2,%ecx
45e865:	f6 c1 01             	test   $0x1,%cl
45e868:	75 13                	jne    0x45e87d
45e86a:	57                   	push   %edi
45e86b:	53                   	push   %ebx
45e86c:	8d 86 48 04 00 00    	lea    0x448(%esi),%eax
45e872:	6a 30                	push   $0x30
45e874:	50                   	push   %eax
45e875:	e8 84 a7 ff ff       	call   0x458ffe
45e87a:	83 c4 10             	add    $0x10,%esp
45e87d:	6a 00                	push   $0x0
45e87f:	8b ce                	mov    %esi,%ecx
45e881:	e8 d0 69 00 00       	call   0x465256
45e886:	83 3f 00             	cmpl   $0x0,(%edi)
45e889:	7c 1d                	jl     0x45e8a8
45e88b:	8b 46 20             	mov    0x20(%esi),%eax
45e88e:	c1 e8 02             	shr    $0x2,%eax
45e891:	a8 01                	test   $0x1,%al
45e893:	74 13                	je     0x45e8a8
45e895:	57                   	push   %edi
45e896:	53                   	push   %ebx
45e897:	8d 86 48 04 00 00    	lea    0x448(%esi),%eax
45e89d:	6a 20                	push   $0x20
45e89f:	50                   	push   %eax
45e8a0:	e8 59 a7 ff ff       	call   0x458ffe
45e8a5:	83 c4 10             	add    $0x10,%esp
45e8a8:	b0 01                	mov    $0x1,%al
45e8aa:	5f                   	pop    %edi
45e8ab:	5e                   	pop    %esi
45e8ac:	5b                   	pop    %ebx
45e8ad:	8b e5                	mov    %ebp,%esp
45e8af:	5d                   	pop    %ebp
45e8b0:	c3                   	ret
45e8b1:	8b ff                	mov    %edi,%edi
45e8b3:	55                   	push   %ebp
45e8b4:	8b ec                	mov    %esp,%ebp
45e8b6:	51                   	push   %ecx
45e8b7:	53                   	push   %ebx
45e8b8:	56                   	push   %esi
45e8b9:	8b f1                	mov    %ecx,%esi
45e8bb:	33 db                	xor    %ebx,%ebx
45e8bd:	43                   	inc    %ebx
45e8be:	33 c9                	xor    %ecx,%ecx
45e8c0:	0f be 46 31          	movsbl 0x31(%esi),%eax
45e8c4:	83 f8 64             	cmp    $0x64,%eax
45e8c7:	7f 6c                	jg     0x45e935
45e8c9:	0f 84 93 00 00 00    	je     0x45e962
45e8cf:	83 f8 58             	cmp    $0x58,%eax
45e8d2:	7f 3e                	jg     0x45e912
45e8d4:	74 37                	je     0x45e90d
45e8d6:	83 f8 41             	cmp    $0x41,%eax
45e8d9:	0f 84 93 00 00 00    	je     0x45e972
45e8df:	83 f8 43             	cmp    $0x43,%eax
45e8e2:	74 3e                	je     0x45e922
45e8e4:	83 f8 44             	cmp    $0x44,%eax
45e8e7:	7e 1d                	jle    0x45e906
45e8e9:	83 f8 47             	cmp    $0x47,%eax
45e8ec:	0f 8e 80 00 00 00    	jle    0x45e972
45e8f2:	83 f8 53             	cmp    $0x53,%eax
45e8f5:	75 0f                	jne    0x45e906
45e8f7:	8b ce                	mov    %esi,%ecx
45e8f9:	e8 22 4e 00 00       	call   0x463720
45e8fe:	84 c0                	test   %al,%al
45e900:	0f 85 9f 00 00 00    	jne    0x45e9a5
45e906:	32 c0                	xor    %al,%al
45e908:	e9 ce 01 00 00       	jmp    0x45eadb
45e90d:	53                   	push   %ebx
45e90e:	6a 10                	push   $0x10
45e910:	eb 57                	jmp    0x45e969
45e912:	83 e8 5a             	sub    $0x5a,%eax
45e915:	74 15                	je     0x45e92c
45e917:	83 e8 07             	sub    $0x7,%eax
45e91a:	74 56                	je     0x45e972