4079ff:	33 d2                	xor    %edx,%edx
407a01:	f7 f7                	div    %edi
407a03:	8b c8                	mov    %eax,%ecx
407a05:	8a 04 55 09 48 49 00 	mov    0x494809(,%edx,2),%al
407a0c:	88 46 ff             	mov    %al,-0x1(%esi)
407a0f:	83 ee 02             	sub    $0x2,%esi
407a12:	8a 04 55 08 48 49 00 	mov    0x494808(,%edx,2),%al
407a19:	88 06                	mov    %al,(%esi)
407a1b:	3b cf                	cmp    %edi,%ecx
407a1d:	73 de                	jae    0x4079fd
407a1f:	83 f9 0a             	cmp    $0xa,%ecx
407a22:	73 08                	jae    0x407a2c
407a24:	80 c1 30             	add    $0x30,%cl
407a27:	88 4e ff             	mov    %cl,-0x1(%esi)
407a2a:	eb 14                	jmp    0x407a40
407a2c:	8a 04 4d 09 48 49 00 	mov    0x494809(,%ecx,2),%al
407a33:	88 46 ff             	mov    %al,-0x1(%esi)
407a36:	8a 04 4d 08 48 49 00 	mov    0x494808(,%ecx,2),%al
407a3d:	88 46 fe             	mov    %al,-0x2(%esi)
407a40:	5f                   	pop    %edi
407a41:	5e                   	pop    %esi
407a42:	5d                   	pop    %ebp
407a43:	c3                   	ret
407a44:	55                   	push   %ebp
407a45:	8b ec                	mov    %esp,%ebp
407a47:	8b 4d 08             	mov    0x8(%ebp),%ecx
407a4a:	03 4d 10             	add    0x10(%ebp),%ecx
407a4d:	53                   	push   %ebx
407a4e:	8b 5d 0c             	mov    0xc(%ebp),%ebx
407a51:	57                   	push   %edi
407a52:	6a 64                	push   $0x64
407a54:	5f                   	pop    %edi
407a55:	3b df                	cmp    %edi,%ebx
407a57:	72 48                	jb     0x407aa1
407a59:	56                   	push   %esi
407a5a:	33 d2                	xor    %edx,%edx
407a5c:	8b c3                	mov    %ebx,%eax
407a5e:	f7 f7                	div    %edi
407a60:	49                   	dec    %ecx
407a61:	8b f2                	mov    %edx,%esi
407a63:	89 4d 08             	mov    %ecx,0x8(%ebp)
407a66:	8b d8                	mov    %eax,%ebx
407a68:	8a 04 75 09 48 49 00 	mov    0x494809(,%esi,2),%al
407a6f:	88 01                	mov    %al,(%ecx)
407a71:	8d 45 08             	lea    0x8(%ebp),%eax
407a74:	50                   	push   %eax
407a75:	8d 4d 14             	lea    0x14(%ebp),%ecx
407a78:	e8 aa a2 ff ff       	call   0x401d27
407a7d:	8b 4d 08             	mov    0x8(%ebp),%ecx
407a80:	8a 04 75 08 48 49 00 	mov    0x494808(,%esi,2),%al
407a87:	49                   	dec    %ecx
407a88:	89 4d 08             	mov    %ecx,0x8(%ebp)
407a8b:	88 01                	mov    %al,(%ecx)
407a8d:	8d 45 08             	lea    0x8(%ebp),%eax
407a90:	50                   	push   %eax
407a91:	8d 4d 14             	lea    0x14(%ebp),%ecx
407a94:	e8 8e a2 ff ff       	call   0x401d27
407a99:	8b 4d 08             	mov    0x8(%ebp),%ecx
407a9c:	3b df                	cmp    %edi,%ebx
407a9e:	73 ba                	jae    0x407a5a
407aa0:	5e                   	pop    %esi
407aa1:	83 fb 0a             	cmp    $0xa,%ebx
407aa4:	73 08                	jae    0x407aae
407aa6:	80 c3 30             	add    $0x30,%bl
407aa9:	88 59 ff             	mov    %bl,-0x1(%ecx)
407aac:	eb 26                	jmp    0x407ad4
407aae:	8a 04 5d 09 48 49 00 	mov    0x494809(,%ebx,2),%al
407ab5:	49                   	dec    %ecx
407ab6:	89 4d 08             	mov    %ecx,0x8(%ebp)
407ab9:	88 01                	mov    %al,(%ecx)
407abb:	8d 45 08             	lea    0x8(%ebp),%eax
407abe:	50                   	push   %eax
407abf:	8d 4d 14             	lea    0x14(%ebp),%ecx
407ac2:	e8 60 a2 ff ff       	call   0x401d27
407ac7:	8b 4d 08             	mov    0x8(%ebp),%ecx
407aca:	8a 04 5d 08 48 49 00 	mov    0x494808(,%ebx,2),%al
407ad1:	88 41 ff             	mov    %al,-0x1(%ecx)
407ad4:	5f                   	pop    %edi
407ad5:	5b                   	pop    %ebx
407ad6:	5d                   	pop    %ebp
407ad7:	c3                   	ret
407ad8:	55                   	push   %ebp
407ad9:	8b ec                	mov    %esp,%ebp
407adb:	8b 55 10             	mov    0x10(%ebp),%edx
407ade:	53                   	push   %ebx
407adf:	8b 5d 0c             	mov    0xc(%ebp),%ebx
407ae2:	57                   	push   %edi
407ae3:	8b 7d 08             	mov    0x8(%ebp),%edi
407ae6:	03 7d 14             	add    0x14(%ebp),%edi
407ae9:	85 d2                	test   %edx,%edx
407aeb:	75 05                	jne    0x407af2
407aed:	83 fb 64             	cmp    $0x64,%ebx
407af0:	72 37                	jb     0x407b29
407af2:	56                   	push   %esi
407af3:	53                   	push   %ebx
407af4:	6a 00                	push   $0x0
407af6:	6a 64                	push   $0x64
407af8:	52                   	push   %edx
407af9:	53                   	push   %ebx
407afa:	e8 21 82 03 00       	call   0x43fd20
407aff:	89 5d 10             	mov    %ebx,0x10(%ebp)
407b02:	5b                   	pop    %ebx
407b03:	8b f1                	mov    %ecx,%esi
407b05:	8b d8                	mov    %eax,%ebx
407b07:	8a 0c 75 09 48 49 00 	mov    0x494809(,%esi,2),%cl
407b0e:	88 4f ff             	mov    %cl,-0x1(%edi)
407b11:	83 ef 02             	sub    $0x2,%edi
407b14:	8a 04 75 08 48 49 00 	mov    0x494808(,%esi,2),%al
407b1b:	88 07                	mov    %al,(%edi)
407b1d:	85 d2                	test   %edx,%edx
407b1f:	77 d2                	ja     0x407af3
407b21:	72 05                	jb     0x407b28
407b23:	83 fb 64             	cmp    $0x64,%ebx
407b26:	73 cb                	jae    0x407af3
407b28:	5e                   	pop    %esi
407b29:	85 d2                	test   %edx,%edx
407b2b:	77 0f                	ja     0x407b3c
407b2d:	72 05                	jb     0x407b34
407b2f:	83 fb 0a             	cmp    $0xa,%ebx
407b32:	73 08                	jae    0x407b3c
407b34:	80 c3 30             	add    $0x30,%bl
407b37:	88 5f ff             	mov    %bl,-0x1(%edi)
407b3a:	eb 14                	jmp    0x407b50
407b3c:	8a 04 5d 09 48 49 00 	mov    0x494809(,%ebx,2),%al
407b43:	88 47 ff             	mov    %al,-0x1(%edi)
407b46:	8a 04 5d 08 48 49 00 	mov    0x494808(,%ebx,2),%al
407b4d:	88 47 fe             	mov    %al,-0x2(%edi)
407b50:	5f                   	pop    %edi
407b51:	5b                   	pop    %ebx
407b52:	5d                   	pop    %ebp
407b53:	c3                   	ret
407b54:	55                   	push   %ebp
407b55:	8b ec                	mov    %esp,%ebp
407b57:	8b 45 10             	mov    0x10(%ebp),%eax
407b5a:	53                   	push   %ebx
407b5b:	8b 5d 0c             	mov    0xc(%ebp),%ebx
407b5e:	57                   	push   %edi
407b5f:	8b 7d 08             	mov    0x8(%ebp),%edi
407b62:	03 7d 14             	add    0x14(%ebp),%edi
407b65:	85 c0                	test   %eax,%eax
407b67:	75 05                	jne    0x407b6e
407b69:	83 fb 64             	cmp    $0x64,%ebx
407b6c:	72 64                	jb     0x407bd2
407b6e:	56                   	push   %esi
407b6f:	53                   	push   %ebx
407b70:	6a 00                	push   $0x0
407b72:	6a 64                	push   $0x64
407b74:	50                   	push   %eax
407b75:	53                   	push   %ebx
407b76:	e8 a5 81 03 00       	call   0x43fd20
407b7b:	89 5d 10             	mov    %ebx,0x10(%ebp)
407b7e:	5b                   	pop    %ebx
407b7f:	8b f1                	mov    %ecx,%esi
407b81:	89 55 14             	mov    %edx,0x14(%ebp)
407b84:	4f                   	dec    %edi
407b85:	8d 4d 18             	lea    0x18(%ebp),%ecx
407b88:	8b d8                	mov    %eax,%ebx
407b8a:	89 7d 08             	mov    %edi,0x8(%ebp)
407b8d:	8a 04 75 09 48 49 00 	mov    0x494809(,%esi,2),%al
407b94:	88 07                	mov    %al,(%edi)
407b96:	8d 45 08             	lea    0x8(%ebp),%eax
407b99:	50                   	push   %eax
407b9a:	e8 88 a1 ff ff       	call   0x401d27
407b9f:	8b 4d 08             	mov    0x8(%ebp),%ecx
407ba2:	8a 04 75 08 48 49 00 	mov    0x494808(,%esi,2),%al
407ba9:	49                   	dec    %ecx
407baa:	89 4d 08             	mov    %ecx,0x8(%ebp)
407bad:	88 01                	mov    %al,(%ecx)
407baf:	8d 45 08             	lea    0x8(%ebp),%eax
407bb2:	50                   	push   %eax
407bb3:	8d 4d 18             	lea    0x18(%ebp),%ecx
407bb6:	e8 6c a1 ff ff       	call   0x401d27
407bbb:	8b 45 14             	mov    0x14(%ebp),%eax
407bbe:	85 c0                	test   %eax,%eax
407bc0:	77 07                	ja     0x407bc9
407bc2:	72 0a                	jb     0x407bce
407bc4:	83 fb 64             	cmp    $0x64,%ebx
407bc7:	72 05                	jb     0x407bce
407bc9:	8b 7d 08             	mov    0x8(%ebp),%edi
407bcc:	eb a1                	jmp    0x407b6f
407bce:	8b 7d 08             	mov    0x8(%ebp),%edi
407bd1:	5e                   	pop    %esi
407bd2:	85 c0                	test   %eax,%eax
407bd4:	77 0f                	ja     0x407be5
407bd6:	72 05                	jb     0x407bdd
407bd8:	83 fb 0a             	cmp    $0xa,%ebx
407bdb:	73 08                	jae    0x407be5
407bdd:	80 c3 30             	add    $0x30,%bl
407be0:	88 5f ff             	mov    %bl,-0x1(%edi)
407be3:	eb 26                	jmp    0x407c0b
407be5:	8a 04 5d 09 48 49 00 	mov    0x494809(,%ebx,2),%al
407bec:	8d 4d 18             	lea    0x18(%ebp),%ecx
407bef:	4f                   	dec    %edi
407bf0:	89 7d 08             	mov    %edi,0x8(%ebp)
407bf3:	88 07                	mov    %al,(%edi)
407bf5:	8d 45 08             	lea    0x8(%ebp),%eax
407bf8:	50                   	push   %eax
407bf9:	e8 29 a1 ff ff       	call   0x401d27
407bfe:	8b 4d 08             	mov    0x8(%ebp),%ecx
407c01:	8a 04 5d 08 48 49 00 	mov    0x494808(,%ebx,2),%al
407c08:	88 41 ff             	mov    %al,-0x1(%ecx)
407c0b:	5f                   	pop    %edi
407c0c:	5b                   	pop    %ebx
407c0d:	5d                   	pop    %ebp
407c0e:	c3                   	ret
407c0f:	55                   	push   %ebp
407c10:	8b ec                	mov    %esp,%ebp
407c12:	8b 45 14             	mov    0x14(%ebp),%eax
407c15:	f2 0f 10 45 1c       	movsd  0x1c(%ebp),%xmm0
407c1a:	51                   	push   %ecx
407c1b:	51                   	push   %ecx
407c1c:	f2 0f 11 04 24       	movsd  %xmm0,(%esp)
407c21:	85 c0                	test   %eax,%eax
407c23:	75 2e                	jne    0x407c53
407c25:	39 45 18             	cmp    %eax,0x18(%ebp)
407c28:	7d 13                	jge    0x407c3d
407c2a:	ff 75 10             	push   0x10(%ebp)
407c2d:	ff 75 0c             	push   0xc(%ebp)
407c30:	ff 75 08             	push   0x8(%ebp)
407c33:	e8 f2 93 01 00       	call   0x42102a
407c38:	83 c4 14             	add    $0x14,%esp
407c3b:	5d                   	pop    %ebp
407c3c:	c3                   	ret
407c3d:	ff 75 18             	push   0x18(%ebp)
407c40:	ff 75 10             	push   0x10(%ebp)
407c43:	ff 75 0c             	push   0xc(%ebp)
407c46:	ff 75 08             	push   0x8(%ebp)
407c49:	e8 dc 93 01 00       	call   0x42102a
407c4e:	83 c4 18             	add    $0x18,%esp
407c51:	5d                   	pop    %ebp
407c52:	c3                   	ret
407c53:	83 7d 18 00          	cmpl   $0x0,0x18(%ebp)
407c57:	7d 03                	jge    0x407c5c
407c59:	50                   	push   %eax
407c5a:	eb e4                	jmp    0x407c40
407c5c:	ff 75 18             	push   0x18(%ebp)
407c5f:	50                   	push   %eax
407c60:	ff 75 10             	push   0x10(%ebp)
407c63:	ff 75 0c             	push   0xc(%ebp)
407c66:	ff 75 08             	push   0x8(%ebp)
407c69:	e8 bc 93 01 00       	call   0x42102a
407c6e:	83 c4 1c             	add    $0x1c,%esp
407c71:	5d                   	pop    %ebp
407c72:	c3                   	ret
407c73:	55                   	push   %ebp
407c74:	8b ec                	mov    %esp,%ebp
407c76:	8b 45 14             	mov    0x14(%ebp),%eax
407c79:	f2 0f 10 45 1c       	movsd  0x1c(%ebp),%xmm0
407c7e:	51                   	push   %ecx
407c7f:	51                   	push   %ecx
407c80:	f2 0f 11 04 24       	movsd  %xmm0,(%esp)
407c85:	85 c0                	test   %eax,%eax
407c87:	75 2e                	jne    0x407cb7
407c89:	39 45 18             	cmp    %eax,0x18(%ebp)
407c8c:	7d 13                	jge    0x407ca1
407c8e:	ff 75 10             	push   0x10(%ebp)
407c91:	ff 75 0c             	push   0xc(%ebp)
407c94:	ff 75 08             	push   0x8(%ebp)
407c97:	e8 8e 93 01 00       	call   0x42102a
407c9c:	83 c4 14             	add    $0x14,%esp
407c9f:	5d                   	pop    %ebp
407ca0:	c3                   	ret
407ca1:	ff 75 18             	push   0x18(%ebp)
407ca4:	ff 75 10             	push   0x10(%ebp)
407ca7:	ff 75 0c             	push   0xc(%ebp)
407caa:	ff 75 08             	push   0x8(%ebp)
407cad:	e8 78 93 01 00       	call   0x42102a
407cb2:	83 c4 18             	add    $0x18,%esp
407cb5:	5d                   	pop    %ebp
407cb6:	c3                   	ret
407cb7:	83 7d 18 00          	cmpl   $0x0,0x18(%ebp)
407cbb:	7d 03                	jge    0x407cc0
407cbd:	50                   	push   %eax
407cbe:	eb e4                	jmp    0x407ca4
407cc0:	ff 75 18             	push   0x18(%ebp)
407cc3:	50                   	push   %eax
407cc4:	ff 75 10             	push   0x10(%ebp)
407cc7:	ff 75 0c             	push   0xc(%ebp)
407cca:	ff 75 08             	push   0x8(%ebp)
407ccd:	e8 58 93 01 00       	call   0x42102a
407cd2:	83 c4 1c             	add    $0x1c,%esp
407cd5:	5d                   	pop    %ebp
407cd6:	c3                   	ret
407cd7:	55                   	push   %ebp
407cd8:	8b ec                	mov    %esp,%ebp
407cda:	8a 45 08             	mov    0x8(%ebp),%al
407cdd:	3c 61                	cmp    $0x61,%al
407cdf:	7c 04                	jl     0x407ce5
407ce1:	3c 7a                	cmp    $0x7a,%al
407ce3:	7e 10                	jle    0x407cf5
407ce5:	3c 41                	cmp    $0x41,%al
407ce7:	7c 04                	jl     0x407ced
407ce9:	3c 5a                	cmp    $0x5a,%al
407ceb:	7e 08                	jle    0x407cf5
407ced:	3c 5f                	cmp    $0x5f,%al
407cef:	74 04                	je     0x407cf5
407cf1:	32 c0                	xor    %al,%al
407cf3:	5d                   	pop    %ebp
407cf4:	c3                   	ret
407cf5:	b0 01                	mov    $0x1,%al
407cf7:	5d                   	pop    %ebp
407cf8:	c3                   	ret
407cf9:	55                   	push   %ebp
407cfa:	8b ec                	mov    %esp,%ebp
407cfc:	6a ff                	push   $0xffffffff
407cfe:	68 55 aa 48 00       	push   $0x48aa55
407d03:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
407d09:	50                   	push   %eax
407d0a:	a1 94 80 4b 00       	mov    0x4b8094,%eax
407d0f:	33 c5                	xor    %ebp,%eax
407d11:	50                   	push   %eax
407d12:	8d 45 f4             	lea    -0xc(%ebp),%eax
407d15:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
407d1b:	f2 0f 10 45 08       	movsd  0x8(%ebp),%xmm0
407d20:	8d 45 08             	lea    0x8(%ebp),%eax
407d23:	50                   	push   %eax
407d24:	f2 0f 11 45 08       	movsd  %xmm0,0x8(%ebp)
407d29:	e8 04 bc 04 00       	call   0x453932
407d2e:	66 48                	dec    %ax
407d30:	66 f7 d8             	neg    %ax
407d33:	59                   	pop    %ecx
407d34:	1a c0                	sbb    %al,%al
407d36:	fe c0                	inc    %al
407d38:	8b 4d f4             	mov    -0xc(%ebp),%ecx
407d3b:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
407d42:	59                   	pop    %ecx
407d43:	c9                   	leave
407d44:	c3                   	ret
407d45:	55                   	push   %ebp
407d46:	8b ec                	mov    %esp,%ebp
407d48:	6a ff                	push   $0xffffffff
407d4a:	68 70 aa 48 00       	push   $0x48aa70
407d4f:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
407d55:	50                   	push   %eax
407d56:	a1 94 80 4b 00       	mov    0x4b8094,%eax
407d5b:	33 c5                	xor    %ebp,%eax
407d5d:	50                   	push   %eax
407d5e:	8d 45 f4             	lea    -0xc(%ebp),%eax
407d61:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
407d67:	f2 0f 10 45 08       	movsd  0x8(%ebp),%xmm0
407d6c:	8d 45 08             	lea    0x8(%ebp),%eax
407d6f:	50                   	push   %eax
407d70:	f2 0f 11 45 08       	movsd  %xmm0,0x8(%ebp)
407d75:	e8 68 bd 04 00       	call   0x453ae2
407d7a:	66 48                	dec    %ax
407d7c:	66 f7 d8             	neg    %ax
407d7f:	59                   	pop    %ecx
407d80:	1a c0                	sbb    %al,%al
407d82:	fe c0                	inc    %al
407d84:	8b 4d f4             	mov    -0xc(%ebp),%ecx