412c6a:	8d 7d 0c             	lea    0xc(%ebp),%edi
412c6d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412c6e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412c6f:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412c70:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
412c74:	75 1d                	jne    0x412c93
412c76:	6a 7c                	push   $0x7c
412c78:	5e                   	pop    %esi
412c79:	8d 4d 0c             	lea    0xc(%ebp),%ecx
412c7c:	e8 75 2d 00 00       	call   0x4159f6
412c81:	8b 4d 0c             	mov    0xc(%ebp),%ecx
412c84:	8b 5d 10             	mov    0x10(%ebp),%ebx
412c87:	0f b7 01             	movzwl (%ecx),%eax
412c8a:	66 3b c6             	cmp    %si,%ax
412c8d:	0f 84 81 c8 00 00    	je     0x41f514
412c93:	8b 45 08             	mov    0x8(%ebp),%eax
412c96:	8d 75 0c             	lea    0xc(%ebp),%esi
412c99:	8b f8                	mov    %eax,%edi
412c9b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412c9c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412c9d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412c9e:	5f                   	pop    %edi
412c9f:	5e                   	pop    %esi
412ca0:	5b                   	pop    %ebx
412ca1:	c9                   	leave
412ca2:	c2 10 00             	ret    $0x10
412ca5:	8b ff                	mov    %edi,%edi
412ca7:	55                   	push   %ebp
412ca8:	8b ec                	mov    %esp,%ebp
412caa:	83 ec 14             	sub    $0x14,%esp
412cad:	8d 45 f0             	lea    -0x10(%ebp),%eax
412cb0:	53                   	push   %ebx
412cb1:	56                   	push   %esi
412cb2:	57                   	push   %edi
412cb3:	83 ec 0c             	sub    $0xc,%esp
412cb6:	8d 75 0c             	lea    0xc(%ebp),%esi
412cb9:	8b fc                	mov    %esp,%edi
412cbb:	50                   	push   %eax
412cbc:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412cbd:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412cbe:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412cbf:	e8 3d 00 00 00       	call   0x412d01
412cc4:	8b f0                	mov    %eax,%esi
412cc6:	8d 7d 0c             	lea    0xc(%ebp),%edi
412cc9:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412cca:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412ccb:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412ccc:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
412cd0:	75 1d                	jne    0x412cef
412cd2:	6a 5e                	push   $0x5e
412cd4:	5e                   	pop    %esi
412cd5:	8d 4d 0c             	lea    0xc(%ebp),%ecx
412cd8:	e8 19 2d 00 00       	call   0x4159f6
412cdd:	8b 4d 0c             	mov    0xc(%ebp),%ecx
412ce0:	8b 5d 10             	mov    0x10(%ebp),%ebx
412ce3:	0f b7 01             	movzwl (%ecx),%eax
412ce6:	66 3b c6             	cmp    %si,%ax
412ce9:	0f 84 67 c8 00 00    	je     0x41f556
412cef:	8b 45 08             	mov    0x8(%ebp),%eax
412cf2:	8d 75 0c             	lea    0xc(%ebp),%esi
412cf5:	8b f8                	mov    %eax,%edi
412cf7:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412cf8:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412cf9:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412cfa:	5f                   	pop    %edi
412cfb:	5e                   	pop    %esi
412cfc:	5b                   	pop    %ebx
412cfd:	c9                   	leave
412cfe:	c2 10 00             	ret    $0x10
412d01:	8b ff                	mov    %edi,%edi
412d03:	55                   	push   %ebp
412d04:	8b ec                	mov    %esp,%ebp
412d06:	83 ec 14             	sub    $0x14,%esp
412d09:	8d 45 f0             	lea    -0x10(%ebp),%eax
412d0c:	53                   	push   %ebx
412d0d:	56                   	push   %esi
412d0e:	57                   	push   %edi
412d0f:	83 ec 0c             	sub    $0xc,%esp
412d12:	8d 75 0c             	lea    0xc(%ebp),%esi
412d15:	8b fc                	mov    %esp,%edi
412d17:	50                   	push   %eax
412d18:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412d19:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412d1a:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412d1b:	e8 3d 00 00 00       	call   0x412d5d
412d20:	8b f0                	mov    %eax,%esi
412d22:	8d 7d 0c             	lea    0xc(%ebp),%edi
412d25:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412d26:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412d27:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412d28:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
412d2c:	75 1d                	jne    0x412d4b
412d2e:	6a 26                	push   $0x26
412d30:	5e                   	pop    %esi
412d31:	8d 4d 0c             	lea    0xc(%ebp),%ecx
412d34:	e8 bd 2c 00 00       	call   0x4159f6
412d39:	8b 4d 0c             	mov    0xc(%ebp),%ecx
412d3c:	8b 5d 10             	mov    0x10(%ebp),%ebx
412d3f:	0f b7 01             	movzwl (%ecx),%eax
412d42:	66 3b c6             	cmp    %si,%ax
412d45:	0f 84 4d c8 00 00    	je     0x41f598
412d4b:	8b 45 08             	mov    0x8(%ebp),%eax
412d4e:	8d 75 0c             	lea    0xc(%ebp),%esi
412d51:	8b f8                	mov    %eax,%edi
412d53:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412d54:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412d55:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412d56:	5f                   	pop    %edi
412d57:	5e                   	pop    %esi
412d58:	5b                   	pop    %ebx
412d59:	c9                   	leave
412d5a:	c2 10 00             	ret    $0x10
412d5d:	8b ff                	mov    %edi,%edi
412d5f:	55                   	push   %ebp
412d60:	8b ec                	mov    %esp,%ebp
412d62:	83 ec 1c             	sub    $0x1c,%esp
412d65:	8d 45 e8             	lea    -0x18(%ebp),%eax
412d68:	53                   	push   %ebx
412d69:	56                   	push   %esi
412d6a:	57                   	push   %edi
412d6b:	83 ec 0c             	sub    $0xc,%esp
412d6e:	8d 75 0c             	lea    0xc(%ebp),%esi
412d71:	8b fc                	mov    %esp,%edi
412d73:	50                   	push   %eax
412d74:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412d75:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412d76:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412d77:	e8 a2 00 00 00       	call   0x412e1e
412d7c:	8b f0                	mov    %eax,%esi
412d7e:	8d 7d 0c             	lea    0xc(%ebp),%edi
412d81:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412d82:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412d83:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412d84:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
412d88:	75 26                	jne    0x412db0
412d8a:	8d 4d 0c             	lea    0xc(%ebp),%ecx
412d8d:	e8 64 2c 00 00       	call   0x4159f6
412d92:	8b 45 0c             	mov    0xc(%ebp),%eax
412d95:	8b 4d 10             	mov    0x10(%ebp),%ecx
412d98:	89 4d fc             	mov    %ecx,-0x4(%ebp)
412d9b:	0f b7 18             	movzwl (%eax),%ebx
412d9e:	83 fb 3c             	cmp    $0x3c,%ebx
412da1:	0f 84 33 c8 00 00    	je     0x41f5da
412da7:	83 fb 3e             	cmp    $0x3e,%ebx
412daa:	0f 84 2a c8 00 00    	je     0x41f5da
412db0:	8d 75 0c             	lea    0xc(%ebp),%esi
412db3:	8b 45 08             	mov    0x8(%ebp),%eax
412db6:	8b f8                	mov    %eax,%edi
412db8:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412db9:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412dba:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412dbb:	5f                   	pop    %edi
412dbc:	5e                   	pop    %esi
412dbd:	5b                   	pop    %ebx
412dbe:	c9                   	leave
412dbf:	c2 10 00             	ret    $0x10
412dc2:	8b ff                	mov    %edi,%edi
412dc4:	55                   	push   %ebp
412dc5:	8b ec                	mov    %esp,%ebp
412dc7:	83 e4 f8             	and    $0xfffffff8,%esp
412dca:	83 ec 10             	sub    $0x10,%esp
412dcd:	56                   	push   %esi
412dce:	57                   	push   %edi
412dcf:	83 ec 0c             	sub    $0xc,%esp
412dd2:	8d 75 0c             	lea    0xc(%ebp),%esi
412dd5:	8b fc                	mov    %esp,%edi
412dd7:	8d 44 24 14          	lea    0x14(%esp),%eax
412ddb:	50                   	push   %eax
412ddc:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412ddd:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412dde:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412ddf:	e8 cb 00 00 00       	call   0x412eaf
412de4:	8b f0                	mov    %eax,%esi
412de6:	8d 7d 0c             	lea    0xc(%ebp),%edi
412de9:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412dea:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412deb:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412dec:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
412df0:	75 11                	jne    0x412e03
412df2:	8d 4d 0c             	lea    0xc(%ebp),%ecx
412df5:	e8 fc 2b 00 00       	call   0x4159f6
412dfa:	8b 45 0c             	mov    0xc(%ebp),%eax
412dfd:	66 83 38 2c          	cmpw   $0x2c,(%eax)
412e01:	74 13                	je     0x412e16
412e03:	8b 45 08             	mov    0x8(%ebp),%eax
412e06:	8d 75 0c             	lea    0xc(%ebp),%esi
412e09:	8b f8                	mov    %eax,%edi
412e0b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412e0c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412e0d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412e0e:	5f                   	pop    %edi
412e0f:	5e                   	pop    %esi
412e10:	8b e5                	mov    %ebp,%esp
412e12:	5d                   	pop    %ebp
412e13:	c2 10 00             	ret    $0x10
412e16:	83 c0 02             	add    $0x2,%eax
412e19:	89 45 0c             	mov    %eax,0xc(%ebp)
412e1c:	eb b1                	jmp    0x412dcf
412e1e:	8b ff                	mov    %edi,%edi
412e20:	55                   	push   %ebp
412e21:	8b ec                	mov    %esp,%ebp
412e23:	83 ec 1c             	sub    $0x1c,%esp
412e26:	8d 45 e8             	lea    -0x18(%ebp),%eax
412e29:	53                   	push   %ebx
412e2a:	56                   	push   %esi
412e2b:	57                   	push   %edi
412e2c:	83 ec 0c             	sub    $0xc,%esp
412e2f:	8d 75 0c             	lea    0xc(%ebp),%esi
412e32:	8b fc                	mov    %esp,%edi
412e34:	50                   	push   %eax
412e35:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412e36:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412e37:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412e38:	e8 92 01 00 00       	call   0x412fcf
412e3d:	8b f0                	mov    %eax,%esi
412e3f:	8d 7d 0c             	lea    0xc(%ebp),%edi
412e42:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412e43:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412e44:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412e45:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
412e49:	75 1e                	jne    0x412e69
412e4b:	8d 4d 0c             	lea    0xc(%ebp),%ecx
412e4e:	e8 a3 2b 00 00       	call   0x4159f6
412e53:	8b 45 0c             	mov    0xc(%ebp),%eax
412e56:	8b 4d 10             	mov    0x10(%ebp),%ecx
412e59:	89 4d fc             	mov    %ecx,-0x4(%ebp)
412e5c:	0f b7 18             	movzwl (%eax),%ebx
412e5f:	83 fb 2b             	cmp    $0x2b,%ebx
412e62:	74 17                	je     0x412e7b
412e64:	83 fb 2d             	cmp    $0x2d,%ebx
412e67:	74 12                	je     0x412e7b
412e69:	8b 45 08             	mov    0x8(%ebp),%eax
412e6c:	8d 75 0c             	lea    0xc(%ebp),%esi
412e6f:	8b f8                	mov    %eax,%edi
412e71:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412e72:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412e73:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412e74:	5f                   	pop    %edi
412e75:	5e                   	pop    %esi
412e76:	5b                   	pop    %ebx
412e77:	c9                   	leave
412e78:	c2 10 00             	ret    $0x10
412e7b:	83 ec 0c             	sub    $0xc,%esp
412e7e:	8d 75 0c             	lea    0xc(%ebp),%esi
412e81:	8b fc                	mov    %esp,%edi
412e83:	83 c0 02             	add    $0x2,%eax
412e86:	89 45 0c             	mov    %eax,0xc(%ebp)
412e89:	8d 45 e8             	lea    -0x18(%ebp),%eax
412e8c:	50                   	push   %eax
412e8d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412e8e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412e8f:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412e90:	e8 3a 01 00 00       	call   0x412fcf
412e95:	8b f0                	mov    %eax,%esi
412e97:	8d 7d 0c             	lea    0xc(%ebp),%edi
412e9a:	8b d3                	mov    %ebx,%edx
412e9c:	8d 4d 0c             	lea    0xc(%ebp),%ecx
412e9f:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412ea0:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412ea1:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412ea2:	ff 75 10             	push   0x10(%ebp)
412ea5:	ff 75 fc             	push   -0x4(%ebp)
412ea8:	e8 e4 03 00 00       	call   0x413291
412ead:	eb 96                	jmp    0x412e45
412eaf:	8b ff                	mov    %edi,%edi
412eb1:	55                   	push   %ebp
412eb2:	8b ec                	mov    %esp,%ebp
412eb4:	83 ec 1c             	sub    $0x1c,%esp
412eb7:	8d 4d 0c             	lea    0xc(%ebp),%ecx
412eba:	53                   	push   %ebx
412ebb:	56                   	push   %esi
412ebc:	57                   	push   %edi
412ebd:	e8 34 2b 00 00       	call   0x4159f6
412ec2:	8b 45 0c             	mov    0xc(%ebp),%eax
412ec5:	8d 75 0c             	lea    0xc(%ebp),%esi
412ec8:	8d 7d e8             	lea    -0x18(%ebp),%edi
412ecb:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412ecc:	66 83 38 00          	cmpw   $0x0,(%eax)
412ed0:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412ed1:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412ed2:	0f 84 5b c7 00 00    	je     0x41f633
412ed8:	8d 45 fc             	lea    -0x4(%ebp),%eax
412edb:	50                   	push   %eax
412edc:	8d 55 f8             	lea    -0x8(%ebp),%edx
412edf:	8d 4d 0c             	lea    0xc(%ebp),%ecx
412ee2:	e8 03 03 00 00       	call   0x4131ea
412ee7:	85 c0                	test   %eax,%eax
412ee9:	0f 84 8c 00 00 00    	je     0x412f7b
412eef:	8d 4d 0c             	lea    0xc(%ebp),%ecx
412ef2:	e8 ff 2a 00 00       	call   0x4159f6
412ef7:	8b 75 0c             	mov    0xc(%ebp),%esi
412efa:	0f b7 1e             	movzwl (%esi),%ebx
412efd:	66 85 db             	test   %bx,%bx
412f00:	74 79                	je     0x412f7b
412f02:	6a 3d                	push   $0x3d
412f04:	5f                   	pop    %edi
412f05:	66 3b df             	cmp    %di,%bx
412f08:	0f 85 92 00 00 00    	jne    0x412fa0
412f0e:	8d 4d 0c             	lea    0xc(%ebp),%ecx
412f11:	e8 e0 2a 00 00       	call   0x4159f6
412f16:	8b 45 0c             	mov    0xc(%ebp),%eax
412f19:	66 39 38             	cmp    %di,(%eax)
412f1c:	75 5d                	jne    0x412f7b
412f1e:	83 ec 0c             	sub    $0xc,%esp
412f21:	8d 75 0c             	lea    0xc(%ebp),%esi
412f24:	8b fc                	mov    %esp,%edi
412f26:	83 c0 02             	add    $0x2,%eax
412f29:	89 45 0c             	mov    %eax,0xc(%ebp)
412f2c:	8d 45 e8             	lea    -0x18(%ebp),%eax
412f2f:	50                   	push   %eax
412f30:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412f31:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412f32:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412f33:	e8 77 ff ff ff       	call   0x412eaf
412f38:	8b f0                	mov    %eax,%esi
412f3a:	8d 7d 0c             	lea    0xc(%ebp),%edi
412f3d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412f3e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412f3f:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412f40:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
412f44:	75 49                	jne    0x412f8f
412f46:	8b 55 fc             	mov    -0x4(%ebp),%edx
412f49:	8b 4d f8             	mov    -0x8(%ebp),%ecx
412f4c:	e8 e8 f2 ff ff       	call   0x412239
412f51:	ff 75 10             	push   0x10(%ebp)
412f54:	8b d3                	mov    %ebx,%edx
412f56:	8d 4d 0c             	lea    0xc(%ebp),%ecx
412f59:	50                   	push   %eax
412f5a:	e8 32 03 00 00       	call   0x413291
412f5f:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
412f63:	75 11                	jne    0x412f76
412f65:	ff 75 10             	push   0x10(%ebp)
412f68:	8b 55 fc             	mov    -0x4(%ebp),%edx
412f6b:	8b 4d f8             	mov    -0x8(%ebp),%ecx
412f6e:	e8 10 48 ff ff       	call   0x407783
412f73:	89 45 14             	mov    %eax,0x14(%ebp)
412f76:	8d 75 0c             	lea    0xc(%ebp),%esi
412f79:	eb 16                	jmp    0x412f91
412f7b:	83 ec 0c             	sub    $0xc,%esp
412f7e:	8d 75 e8             	lea    -0x18(%ebp),%esi
412f81:	8b fc                	mov    %esp,%edi
412f83:	8d 45 e8             	lea    -0x18(%ebp),%eax
412f86:	50                   	push   %eax
412f87:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412f88:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412f89:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412f8a:	e8 ba fc ff ff       	call   0x412c49
412f8f:	8b f0                	mov    %eax,%esi
412f91:	8b 45 08             	mov    0x8(%ebp),%eax
412f94:	8b f8                	mov    %eax,%edi