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
45e91c:	48                   	dec    %eax
45e91d:	83 e8 01             	sub    $0x1,%eax
45e920:	75 e4                	jne    0x45e906
45e922:	51                   	push   %ecx
45e923:	8b ce                	mov    %esi,%ecx
45e925:	e8 87 2d 00 00       	call   0x4616b1
45e92a:	eb d2                	jmp    0x45e8fe
45e92c:	8b ce                	mov    %esi,%ecx
45e92e:	e8 bd 15 00 00       	call   0x45fef0
45e933:	eb c9                	jmp    0x45e8fe
45e935:	83 f8 70             	cmp    $0x70,%eax
45e938:	7f 4d                	jg     0x45e987
45e93a:	74 3f                	je     0x45e97b
45e93c:	83 f8 67             	cmp    $0x67,%eax
45e93f:	7e 31                	jle    0x45e972
45e941:	83 f8 69             	cmp    $0x69,%eax
45e944:	74 1c                	je     0x45e962
45e946:	83 f8 6e             	cmp    $0x6e,%eax
45e949:	74 0e                	je     0x45e959
45e94b:	83 f8 6f             	cmp    $0x6f,%eax
45e94e:	75 b6                	jne    0x45e906
45e950:	8b ce                	mov    %esi,%ecx
45e952:	e8 7f 49 00 00       	call   0x4632d6
45e957:	eb a5                	jmp    0x45e8fe
45e959:	8b ce                	mov    %esi,%ecx
45e95b:	e8 65 45 00 00       	call   0x462ec5
45e960:	eb 9c                	jmp    0x45e8fe
45e962:	83 4e 20 10          	orl    $0x10,0x20(%esi)
45e966:	51                   	push   %ecx
45e967:	6a 0a                	push   $0xa
45e969:	8b ce                	mov    %esi,%ecx
45e96b:	e8 25 39 00 00       	call   0x462295
45e970:	eb 8c                	jmp    0x45e8fe
45e972:	8b ce                	mov    %esi,%ecx
45e974:	e8 64 1f 00 00       	call   0x4608dd
45e979:	eb 83                	jmp    0x45e8fe
45e97b:	8b ce                	mov    %esi,%ecx
45e97d:	e8 a5 4a 00 00       	call   0x463427
45e982:	e9 77 ff ff ff       	jmp    0x45e8fe
45e987:	83 e8 73             	sub    $0x73,%eax
45e98a:	0f 84 67 ff ff ff    	je     0x45e8f7
45e990:	48                   	dec    %eax
45e991:	83 e8 01             	sub    $0x1,%eax
45e994:	74 d0                	je     0x45e966
45e996:	83 e8 03             	sub    $0x3,%eax
45e999:	0f 85 67 ff ff ff    	jne    0x45e906
45e99f:	51                   	push   %ecx
45e9a0:	e9 69 ff ff ff       	jmp    0x45e90e
45e9a5:	80 7e 30 00          	cmpb   $0x0,0x30(%esi)
45e9a9:	74 07                	je     0x45e9b2
45e9ab:	8a c3                	mov    %bl,%al
45e9ad:	e9 29 01 00 00       	jmp    0x45eadb
45e9b2:	8b 56 20             	mov    0x20(%esi),%edx
45e9b5:	33 c0                	xor    %eax,%eax
45e9b7:	57                   	push   %edi
45e9b8:	66 89 45 fc          	mov    %ax,-0x4(%ebp)
45e9bc:	8b f8                	mov    %eax,%edi
45e9be:	88 45 fe             	mov    %al,-0x2(%ebp)
45e9c1:	8b c2                	mov    %edx,%eax
45e9c3:	c1 e8 04             	shr    $0x4,%eax
45e9c6:	84 c3                	test   %al,%bl
45e9c8:	74 27                	je     0x45e9f1
45e9ca:	8b c2                	mov    %edx,%eax
45e9cc:	c1 e8 06             	shr    $0x6,%eax
45e9cf:	84 c3                	test   %al,%bl
45e9d1:	74 06                	je     0x45e9d9
45e9d3:	c6 45 fc 2d          	movb   $0x2d,-0x4(%ebp)
45e9d7:	eb 16                	jmp    0x45e9ef
45e9d9:	84 d3                	test   %dl,%bl
45e9db:	74 06                	je     0x45e9e3
45e9dd:	c6 45 fc 2b          	movb   $0x2b,-0x4(%ebp)
45e9e1:	eb 0c                	jmp    0x45e9ef
45e9e3:	8b c2                	mov    %edx,%eax
45e9e5:	d1 e8                	shr    $1,%eax
45e9e7:	84 c3                	test   %al,%bl
45e9e9:	74 06                	je     0x45e9f1
45e9eb:	c6 45 fc 20          	movb   $0x20,-0x4(%ebp)
45e9ef:	8b fb                	mov    %ebx,%edi
45e9f1:	8a 4e 31             	mov    0x31(%esi),%cl
45e9f4:	80 f9 78             	cmp    $0x78,%cl
45e9f7:	74 05                	je     0x45e9fe
45e9f9:	80 f9 58             	cmp    $0x58,%cl
45e9fc:	75 09                	jne    0x45ea07
45e9fe:	8b c2                	mov    %edx,%eax
45ea00:	c1 e8 05             	shr    $0x5,%eax
45ea03:	84 c3                	test   %al,%bl
45ea05:	75 02                	jne    0x45ea09
45ea07:	32 db                	xor    %bl,%bl
45ea09:	80 f9 61             	cmp    $0x61,%cl
45ea0c:	74 09                	je     0x45ea17
45ea0e:	80 f9 41             	cmp    $0x41,%cl
45ea11:	74 04                	je     0x45ea17
45ea13:	32 c0                	xor    %al,%al
45ea15:	eb 02                	jmp    0x45ea19
45ea17:	b0 01                	mov    $0x1,%al
45ea19:	84 db                	test   %bl,%bl
45ea1b:	75 04                	jne    0x45ea21
45ea1d:	84 c0                	test   %al,%al
45ea1f:	74 27                	je     0x45ea48
45ea21:	c6 44 3d fc 30       	movb   $0x30,-0x4(%ebp,%edi,1)
45ea26:	80 f9 58             	cmp    $0x58,%cl
45ea29:	74 09                	je     0x45ea34
45ea2b:	80 f9 41             	cmp    $0x41,%cl
45ea2e:	74 04                	je     0x45ea34
45ea30:	32 c0                	xor    %al,%al
45ea32:	eb 02                	jmp    0x45ea36
45ea34:	b0 01                	mov    $0x1,%al
45ea36:	84 c0                	test   %al,%al
45ea38:	0f 94 c0             	sete   %al
45ea3b:	fe c8                	dec    %al
45ea3d:	24 e0                	and    $0xe0,%al
45ea3f:	04 78                	add    $0x78,%al
45ea41:	88 44 3d fd          	mov    %al,-0x3(%ebp,%edi,1)
45ea45:	83 c7 02             	add    $0x2,%edi
45ea48:	8b 5e 24             	mov    0x24(%esi),%ebx
45ea4b:	2b 5e 38             	sub    0x38(%esi),%ebx
45ea4e:	2b df                	sub    %edi,%ebx
45ea50:	f6 c2 0c             	test   $0xc,%dl
45ea53:	75 16                	jne    0x45ea6b
45ea55:	8d 46 18             	lea    0x18(%esi),%eax
45ea58:	50                   	push   %eax
45ea59:	53                   	push   %ebx
45ea5a:	8d 86 48 04 00 00    	lea    0x448(%esi),%eax
45ea60:	6a 20                	push   $0x20
45ea62:	50                   	push   %eax
45ea63:	e8 96 a5 ff ff       	call   0x458ffe
45ea68:	83 c4 10             	add    $0x10,%esp
45ea6b:	8d 46 0c             	lea    0xc(%esi),%eax
45ea6e:	50                   	push   %eax
45ea6f:	8d 4e 18             	lea    0x18(%esi),%ecx
45ea72:	51                   	push   %ecx
45ea73:	57                   	push   %edi
45ea74:	8d 45 fc             	lea    -0x4(%ebp),%eax
45ea77:	50                   	push   %eax
45ea78:	8d 8e 48 04 00 00    	lea    0x448(%esi),%ecx
45ea7e:	e8 dc 6d 00 00       	call   0x46585f
45ea83:	8b 4e 20             	mov    0x20(%esi),%ecx
45ea86:	8d 7e 18             	lea    0x18(%esi),%edi
45ea89:	8b c1                	mov    %ecx,%eax
45ea8b:	c1 e8 03             	shr    $0x3,%eax
45ea8e:	a8 01                	test   $0x1,%al
45ea90:	74 1b                	je     0x45eaad
45ea92:	c1 e9 02             	shr    $0x2,%ecx
45ea95:	f6 c1 01             	test   $0x1,%cl
45ea98:	75 13                	jne    0x45eaad
45ea9a:	57                   	push   %edi
45ea9b:	53                   	push   %ebx
45ea9c:	8d 86 48 04 00 00    	lea    0x448(%esi),%eax
45eaa2:	6a 30                	push   $0x30
45eaa4:	50                   	push   %eax
45eaa5:	e8 54 a5 ff ff       	call   0x458ffe
45eaaa:	83 c4 10             	add    $0x10,%esp
45eaad:	6a 00                	push   $0x0
45eaaf:	8b ce                	mov    %esi,%ecx
45eab1:	e8 49 68 00 00       	call   0x4652ff
45eab6:	83 3f 00             	cmpl   $0x0,(%edi)
45eab9:	7c 1d                	jl     0x45ead8
45eabb:	8b 46 20             	mov    0x20(%esi),%eax
45eabe:	c1 e8 02             	shr    $0x2,%eax
45eac1:	a8 01                	test   $0x1,%al
45eac3:	74 13                	je     0x45ead8
45eac5:	57                   	push   %edi
45eac6:	53                   	push   %ebx
45eac7:	8d 86 48 04 00 00    	lea    0x448(%esi),%eax
45eacd:	6a 20                	push   $0x20
45eacf:	50                   	push   %eax
45ead0:	e8 29 a5 ff ff       	call   0x458ffe
45ead5:	83 c4 10             	add    $0x10,%esp
45ead8:	b0 01                	mov    $0x1,%al
45eada:	5f                   	pop    %edi
45eadb:	5e                   	pop    %esi
45eadc:	5b                   	pop    %ebx
45eadd:	8b e5                	mov    %ebp,%esp
45eadf:	5d                   	pop    %ebp
45eae0:	c3                   	ret