408a4c:	72 08                	jb     0x408a56
408a4e:	80 fa 7a             	cmp    $0x7a,%dl
408a51:	77 03                	ja     0x408a56
408a53:	80 ea 20             	sub    $0x20,%dl
408a56:	29 d0                	sub    %edx,%eax
408a58:	74 db                	je     0x408a35
408a5a:	5e                   	pop    %esi
408a5b:	5f                   	pop    %edi
408a5c:	c3                   	ret
408a5d:	8d 40 00             	lea    0x0(%eax),%eax
408a60:	57                   	push   %edi
408a61:	56                   	push   %esi
408a62:	53                   	push   %ebx
408a63:	89 d7                	mov    %edx,%edi
408a65:	89 c6                	mov    %eax,%esi
408a67:	89 cb                	mov    %ecx,%ebx
408a69:	31 c0                	xor    %eax,%eax
408a6b:	09 c9                	or     %ecx,%ecx
408a6d:	74 2f                	je     0x408a9e
408a6f:	f2 ae                	repnz scas %es:(%edi),%al
408a71:	29 cb                	sub    %ecx,%ebx
408a73:	89 d9                	mov    %ebx,%ecx
408a75:	89 d7                	mov    %edx,%edi
408a77:	31 d2                	xor    %edx,%edx
408a79:	f3 a6                	repz cmpsb %es:(%edi),%ds:(%esi)
408a7b:	74 21                	je     0x408a9e
408a7d:	8a 46 ff             	mov    -0x1(%esi),%al
408a80:	3c 61                	cmp    $0x61,%al
408a82:	72 06                	jb     0x408a8a
408a84:	3c 7a                	cmp    $0x7a,%al
408a86:	77 02                	ja     0x408a8a
408a88:	2c 20                	sub    $0x20,%al
408a8a:	8a 57 ff             	mov    -0x1(%edi),%dl
408a8d:	80 fa 61             	cmp    $0x61,%dl
408a90:	72 08                	jb     0x408a9a
408a92:	80 fa 7a             	cmp    $0x7a,%dl
408a95:	77 03                	ja     0x408a9a
408a97:	80 ea 20             	sub    $0x20,%dl
408a9a:	29 d0                	sub    %edx,%eax
408a9c:	74 db                	je     0x408a79
408a9e:	5b                   	pop    %ebx
408a9f:	5e                   	pop    %esi
408aa0:	5f                   	pop    %edi
408aa1:	c3                   	ret
408aa2:	8b c0                	mov    %eax,%eax
408aa4:	eb 08                	jmp    0x408aae
408aa6:	84 c9                	test   %cl,%cl
408aa8:	75 03                	jne    0x408aad
408aaa:	33 c0                	xor    %eax,%eax
408aac:	c3                   	ret
408aad:	40                   	inc    %eax
408aae:	8a 08                	mov    (%eax),%cl
408ab0:	3a d1                	cmp    %cl,%dl
408ab2:	75 f2                	jne    0x408aa6
408ab4:	c3                   	ret
408ab5:	8d 40 00             	lea    0x0(%eax),%eax
408ab8:	57                   	push   %edi
408ab9:	56                   	push   %esi
408aba:	53                   	push   %ebx
408abb:	09 c0                	or     %eax,%eax
408abd:	74 44                	je     0x408b03
408abf:	09 d2                	or     %edx,%edx
408ac1:	74 40                	je     0x408b03
408ac3:	89 c3                	mov    %eax,%ebx
408ac5:	89 d7                	mov    %edx,%edi
408ac7:	32 c0                	xor    %al,%al
408ac9:	b9 ff ff ff ff       	mov    $0xffffffff,%ecx
408ace:	f2 ae                	repnz scas %es:(%edi),%al
408ad0:	f7 d1                	not    %ecx
408ad2:	49                   	dec    %ecx
408ad3:	74 2e                	je     0x408b03
408ad5:	89 ce                	mov    %ecx,%esi
408ad7:	89 df                	mov    %ebx,%edi
408ad9:	b9 ff ff ff ff       	mov    $0xffffffff,%ecx
408ade:	f2 ae                	repnz scas %es:(%edi),%al
408ae0:	f7 d1                	not    %ecx
408ae2:	29 f1                	sub    %esi,%ecx
408ae4:	76 1d                	jbe    0x408b03
408ae6:	89 df                	mov    %ebx,%edi
408ae8:	8d 5e ff             	lea    -0x1(%esi),%ebx
408aeb:	89 d6                	mov    %edx,%esi
408aed:	ac                   	lods   %ds:(%esi),%al
408aee:	f2 ae                	repnz scas %es:(%edi),%al
408af0:	75 11                	jne    0x408b03
408af2:	89 c8                	mov    %ecx,%eax
408af4:	57                   	push   %edi
408af5:	89 d9                	mov    %ebx,%ecx
408af7:	f3 a6                	repz cmpsb %es:(%edi),%ds:(%esi)
408af9:	5f                   	pop    %edi
408afa:	89 c1                	mov    %eax,%ecx
408afc:	75 ed                	jne    0x408aeb
408afe:	8d 47 ff             	lea    -0x1(%edi),%eax
408b01:	eb 02                	jmp    0x408b05
408b03:	31 c0                	xor    %eax,%eax
408b05:	5b                   	pop    %ebx
408b06:	5e                   	pop    %esi
408b07:	5f                   	pop    %edi
408b08:	c3                   	ret
408b09:	8d 40 00             	lea    0x0(%eax),%eax
408b0c:	53                   	push   %ebx
408b0d:	56                   	push   %esi
408b0e:	8b f2                	mov    %edx,%esi
408b10:	8b d8                	mov    %eax,%ebx
408b12:	8b c6                	mov    %esi,%eax
408b14:	8b d3                	mov    %ebx,%edx
408b16:	e8 2d b7 ff ff       	call   0x404248
408b1b:	5e                   	pop    %esi
408b1c:	5b                   	pop    %ebx
408b1d:	c3                   	ret
408b1e:	8b c0                	mov    %eax,%eax
408b20:	53                   	push   %ebx
408b21:	8b d8                	mov    %eax,%ebx
408b23:	83 c3 04             	add    $0x4,%ebx
408b26:	8b c3                	mov    %ebx,%eax
408b28:	e8 c7 9b ff ff       	call   0x4026f4
408b2d:	89 18                	mov    %ebx,(%eax)
408b2f:	83 c0 04             	add    $0x4,%eax
408b32:	5b                   	pop    %ebx
408b33:	c3                   	ret
408b34:	83 e8 04             	sub    $0x4,%eax
408b37:	8b 00                	mov    (%eax),%eax
408b39:	83 e8 04             	sub    $0x4,%eax
408b3c:	c3                   	ret
408b3d:	8d 40 00             	lea    0x0(%eax),%eax
408b40:	53                   	push   %ebx
408b41:	56                   	push   %esi
408b42:	8b d8                	mov    %eax,%ebx
408b44:	85 db                	test   %ebx,%ebx
408b46:	75 05                	jne    0x408b4d
408b48:	33 c0                	xor    %eax,%eax
408b4a:	5e                   	pop    %esi
408b4b:	5b                   	pop    %ebx
408b4c:	c3                   	ret
408b4d:	8b c3                	mov    %ebx,%eax
408b4f:	e8 cc fd ff ff       	call   0x408920
408b54:	8b f0                	mov    %eax,%esi
408b56:	46                   	inc    %esi
408b57:	8b c6                	mov    %esi,%eax
408b59:	e8 c2 ff ff ff       	call   0x408b20
408b5e:	8b ce                	mov    %esi,%ecx
408b60:	8b d3                	mov    %ebx,%edx
408b62:	e8 e5 fd ff ff       	call   0x40894c
408b67:	5e                   	pop    %esi
408b68:	5b                   	pop    %ebx
408b69:	c3                   	ret
408b6a:	8b c0                	mov    %eax,%eax
408b6c:	85 c0                	test   %eax,%eax
408b6e:	74 0a                	je     0x408b7a
408b70:	83 e8 04             	sub    $0x4,%eax
408b73:	8b 10                	mov    (%eax),%edx
408b75:	e8 9a 9b ff ff       	call   0x402714
408b7a:	c3                   	ret
408b7b:	90                   	nop
408b7c:	53                   	push   %ebx
408b7d:	56                   	push   %esi
408b7e:	57                   	push   %edi
408b7f:	83 c4 d8             	add    $0xffffffd8,%esp
408b82:	8b d9                	mov    %ecx,%ebx
408b84:	8b f2                	mov    %edx,%esi
408b86:	8b f8                	mov    %eax,%edi
408b88:	83 fb 1f             	cmp    $0x1f,%ebx
408b8b:	76 05                	jbe    0x408b92
408b8d:	bb 1f 00 00 00       	mov    $0x1f,%ebx
408b92:	8b d3                	mov    %ebx,%edx
408b94:	4a                   	dec    %edx
408b95:	8b c6                	mov    %esi,%eax
408b97:	e8 30 39 00 00       	call   0x40c4cc
408b9c:	3c 01                	cmp    $0x1,%al
408b9e:	75 01                	jne    0x408ba1
408ba0:	4b                   	dec    %ebx
408ba1:	8b c4                	mov    %esp,%eax
408ba3:	8b cb                	mov    %ebx,%ecx
408ba5:	8b d6                	mov    %esi,%edx
408ba7:	e8 a0 fd ff ff       	call   0x40894c
408bac:	c6 04 1c 00          	movb   $0x0,(%esp,%ebx,1)
408bb0:	8b c4                	mov    %esp,%eax
408bb2:	89 44 24 20          	mov    %eax,0x20(%esp)
408bb6:	c6 44 24 24 06       	movb   $0x6,0x24(%esp)
408bbb:	8d 54 24 20          	lea    0x20(%esp),%edx
408bbf:	8b 04 bd 60 91 46 00 	mov    0x469160(,%edi,4),%eax
408bc6:	33 c9                	xor    %ecx,%ecx
408bc8:	e8 e3 f1 ff ff       	call   0x407db0
408bcd:	83 c4 28             	add    $0x28,%esp
408bd0:	5f                   	pop    %edi
408bd1:	5e                   	pop    %esi
408bd2:	5b                   	pop    %ebx
408bd3:	c3                   	ret
408bd4:	53                   	push   %ebx
408bd5:	8b 0d c0 48 47 00    	mov    0x4748c0,%ecx
408bdb:	83 39 00             	cmpl   $0x0,(%ecx)
408bde:	74 0c                	je     0x408bec
408be0:	8b 1d c0 48 47 00    	mov    0x4748c0,%ebx
408be6:	8b 1b                	mov    (%ebx),%ebx
408be8:	ff d3                	call   *%ebx
408bea:	5b                   	pop    %ebx
408beb:	c3                   	ret
408bec:	b0 10                	mov    $0x10,%al
408bee:	e8 5d 9c ff ff       	call   0x402850
408bf3:	5b                   	pop    %ebx
408bf4:	c3                   	ret
408bf5:	8d 40 00             	lea    0x0(%eax),%eax
408bf8:	53                   	push   %ebx
408bf9:	8b d8                	mov    %eax,%ebx
408bfb:	8b c3                	mov    %ebx,%eax
408bfd:	e8 4e b4 ff ff       	call   0x404050
408c02:	5b                   	pop    %ebx
408c03:	c3                   	ret
408c04:	55                   	push   %ebp
408c05:	8b ec                	mov    %esp,%ebp
408c07:	83 c4 94             	add    $0xffffff94,%esp
408c0a:	53                   	push   %ebx
408c0b:	33 db                	xor    %ebx,%ebx
408c0d:	89 5d ec             	mov    %ebx,-0x14(%ebp)
408c10:	53                   	push   %ebx
408c11:	56                   	push   %esi
408c12:	57                   	push   %edi
408c13:	89 c7                	mov    %eax,%edi
408c15:	89 ce                	mov    %ecx,%esi
408c17:	31 c0                	xor    %eax,%eax
408c19:	89 45 fc             	mov    %eax,-0x4(%ebp)
408c1c:	03 4d 10             	add    0x10(%ebp),%ecx
408c1f:	89 7d f8             	mov    %edi,-0x8(%ebp)
408c22:	31 c0                	xor    %eax,%eax
408c24:	89 45 f4             	mov    %eax,-0xc(%ebp)
408c27:	89 45 f0             	mov    %eax,-0x10(%ebp)
408c2a:	89 45 ec             	mov    %eax,-0x14(%ebp)
408c2d:	09 d2                	or     %edx,%edx
408c2f:	74 0d                	je     0x408c3e
408c31:	39 ce                	cmp    %ecx,%esi
408c33:	74 09                	je     0x408c3e
408c35:	ac                   	lods   %ds:(%esi),%al
408c36:	3c 25                	cmp    $0x25,%al
408c38:	74 0e                	je     0x408c48
408c3a:	aa                   	stos   %al,%es:(%edi)
408c3b:	4a                   	dec    %edx
408c3c:	75 f3                	jne    0x408c31
408c3e:	89 f8                	mov    %edi,%eax
408c40:	2b 45 f8             	sub    -0x8(%ebp),%eax
408c43:	e9 23 03 00 00       	jmp    0x408f6b
408c48:	39 ce                	cmp    %ecx,%esi
408c4a:	74 f2                	je     0x408c3e
408c4c:	ac                   	lods   %ds:(%esi),%al
408c4d:	3c 25                	cmp    $0x25,%al
408c4f:	74 e9                	je     0x408c3a
408c51:	8d 5e fe             	lea    -0x2(%esi),%ebx
408c54:	89 5d e8             	mov    %ebx,-0x18(%ebp)
408c57:	88 45 e7             	mov    %al,-0x19(%ebp)
408c5a:	3c 2d                	cmp    $0x2d,%al
408c5c:	75 05                	jne    0x408c63
408c5e:	39 ce                	cmp    %ecx,%esi
408c60:	74 dc                	je     0x408c3e
408c62:	ac                   	lods   %ds:(%esi),%al
408c63:	e8 7e 00 00 00       	call   0x408ce6
408c68:	3c 3a                	cmp    $0x3a,%al
408c6a:	75 0a                	jne    0x408c76
408c6c:	89 5d f4             	mov    %ebx,-0xc(%ebp)
408c6f:	39 ce                	cmp    %ecx,%esi
408c71:	74 cb                	je     0x408c3e
408c73:	ac                   	lods   %ds:(%esi),%al
408c74:	eb e1                	jmp    0x408c57
408c76:	89 5d e0             	mov    %ebx,-0x20(%ebp)
408c79:	bb ff ff ff ff       	mov    $0xffffffff,%ebx
408c7e:	3c 2e                	cmp    $0x2e,%al
408c80:	75 0a                	jne    0x408c8c
408c82:	39 ce                	cmp    %ecx,%esi
408c84:	74 b8                	je     0x408c3e
408c86:	ac                   	lods   %ds:(%esi),%al
408c87:	e8 5a 00 00 00       	call   0x408ce6
408c8c:	89 5d dc             	mov    %ebx,-0x24(%ebp)
408c8f:	89 75 d8             	mov    %esi,-0x28(%ebp)
408c92:	51                   	push   %ecx
408c93:	52                   	push   %edx
408c94:	e8 95 00 00 00       	call   0x408d2e
408c99:	5a                   	pop    %edx
408c9a:	8b 5d e0             	mov    -0x20(%ebp),%ebx
408c9d:	29 cb                	sub    %ecx,%ebx
408c9f:	73 02                	jae    0x408ca3
408ca1:	31 db                	xor    %ebx,%ebx
408ca3:	80 7d e7 2d          	cmpb   $0x2d,-0x19(%ebp)
408ca7:	75 0a                	jne    0x408cb3
408ca9:	29 ca                	sub    %ecx,%edx
408cab:	73 04                	jae    0x408cb1
408cad:	01 d1                	add    %edx,%ecx
408caf:	31 d2                	xor    %edx,%edx
408cb1:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
408cb3:	87 d9                	xchg   %ebx,%ecx
408cb5:	29 ca                	sub    %ecx,%edx
408cb7:	73 04                	jae    0x408cbd
408cb9:	01 d1                	add    %edx,%ecx
408cbb:	31 d2                	xor    %edx,%edx
408cbd:	b0 20                	mov    $0x20,%al
408cbf:	f3 aa                	rep stos %al,%es:(%edi)
408cc1:	87 d9                	xchg   %ebx,%ecx
408cc3:	29 ca                	sub    %ecx,%edx
408cc5:	73 04                	jae    0x408ccb
408cc7:	01 d1                	add    %edx,%ecx
408cc9:	31 d2                	xor    %edx,%edx
408ccb:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
408ccd:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
408cd1:	74 0a                	je     0x408cdd
408cd3:	52                   	push   %edx
408cd4:	8d 45 f0             	lea    -0x10(%ebp),%eax
408cd7:	e8 1c ff ff ff       	call   0x408bf8
408cdc:	5a                   	pop    %edx
408cdd:	59                   	pop    %ecx
408cde:	8b 75 d8             	mov    -0x28(%ebp),%esi
408ce1:	e9 47 ff ff ff       	jmp    0x408c2d
408ce6:	31 db                	xor    %ebx,%ebx
408ce8:	3c 2a                	cmp    $0x2a,%al
408cea:	74 22                	je     0x408d0e
408cec:	3c 30                	cmp    $0x30,%al
408cee:	72 3d                	jb     0x408d2d
408cf0:	3c 39                	cmp    $0x39,%al
408cf2:	77 39                	ja     0x408d2d
408cf4:	69 db 0a 00 00 00    	imul   $0xa,%ebx,%ebx
408cfa:	2c 30                	sub    $0x30,%al
408cfc:	0f b6 c0             	movzbl %al,%eax
408cff:	01 c3                	add    %eax,%ebx
408d01:	39 ce                	cmp    %ecx,%esi
408d03:	74 03                	je     0x408d08
408d05:	ac                   	lods   %ds:(%esi),%al
408d06:	eb e4                	jmp    0x408cec
408d08:	58                   	pop    %eax
408d09:	e9 30 ff ff ff       	jmp    0x408c3e
408d0e:	8b 45 f4             	mov    -0xc(%ebp),%eax
408d11:	3b 45 08             	cmp    0x8(%ebp),%eax
408d14:	7f 12                	jg     0x408d28
408d16:	ff 45 f4             	incl   -0xc(%ebp)
408d19:	8b 5d 0c             	mov    0xc(%ebp),%ebx
408d1c:	80 7c c3 04 00       	cmpb   $0x0,0x4(%ebx,%eax,8)
408d21:	8b 1c c3             	mov    (%ebx,%eax,8),%ebx
408d24:	74 02                	je     0x408d28
408d26:	31 db                	xor    %ebx,%ebx
408d28:	39 ce                	cmp    %ecx,%esi
408d2a:	74 dc                	je     0x408d08
408d2c:	ac                   	lods   %ds:(%esi),%al
408d2d:	c3                   	ret
408d2e:	24 df                	and    $0xdf,%al
408d30:	88 c1                	mov    %al,%cl
408d32:	b8 01 00 00 00       	mov    $0x1,%eax
408d37:	8b 5d f4             	mov    -0xc(%ebp),%ebx
408d3a:	3b 5d 08             	cmp    0x8(%ebp),%ebx
408d3d:	7f 5c                	jg     0x408d9b
408d3f:	ff 45 f4             	incl   -0xc(%ebp)
408d42:	8b 75 0c             	mov    0xc(%ebp),%esi
408d45:	8d 34 de             	lea    (%esi,%ebx,8),%esi
408d48:	8b 06                	mov    (%esi),%eax
408d4a:	0f b6 56 04          	movzbl 0x4(%esi),%edx
408d4e:	ff 24 95 55 8d 40 00 	jmp    *0x408d55(,%edx,4)
408d55:	e6 8d                	out    %al,$0x8d