410bf6:	8b 45 f0             	mov    -0x10(%ebp),%eax
410bf9:	66 89 10             	mov    %dx,(%eax)
410bfc:	8b 4d f4             	mov    -0xc(%ebp),%ecx
410bff:	2b 4d e8             	sub    -0x18(%ebp),%ecx
410c02:	c1 e9 10             	shr    $0x10,%ecx
410c05:	8b 55 14             	mov    0x14(%ebp),%edx
410c08:	c1 ea 10             	shr    $0x10,%edx
410c0b:	2b ca                	sub    %edx,%ecx
410c0d:	89 4d ec             	mov    %ecx,-0x14(%ebp)
410c10:	83 7d ec 01          	cmpl   $0x1,-0x14(%ebp)
410c14:	75 16                	jne    0x410c2c
410c16:	8b 45 10             	mov    0x10(%ebp),%eax
410c19:	0f b7 48 fe          	movzwl -0x2(%eax),%ecx
410c1d:	81 c9 80 00 00 00    	or     $0x80,%ecx
410c23:	8b 55 10             	mov    0x10(%ebp),%edx
410c26:	66 89 4a fe          	mov    %cx,-0x2(%edx)
410c2a:	eb 17                	jmp    0x410c43
410c2c:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
410c30:	74 11                	je     0x410c43
410c32:	8b 45 10             	mov    0x10(%ebp),%eax
410c35:	0f b7 48 fe          	movzwl -0x2(%eax),%ecx
410c39:	83 c9 40             	or     $0x40,%ecx
410c3c:	8b 55 10             	mov    0x10(%ebp),%edx
410c3f:	66 89 4a fe          	mov    %cx,-0x2(%edx)
410c43:	e9 44 01 00 00       	jmp    0x410d8c
410c48:	0f b7 45 fc          	movzwl -0x4(%ebp),%eax
410c4c:	83 f8 02             	cmp    $0x2,%eax
410c4f:	75 21                	jne    0x410c72
410c51:	8b 4d f0             	mov    -0x10(%ebp),%ecx
410c54:	0f bf 11             	movswl (%ecx),%edx
410c57:	89 55 f4             	mov    %edx,-0xc(%ebp)
410c5a:	8b 45 f4             	mov    -0xc(%ebp),%eax
410c5d:	03 45 14             	add    0x14(%ebp),%eax
410c60:	89 45 f4             	mov    %eax,-0xc(%ebp)
410c63:	8b 4d f0             	mov    -0x10(%ebp),%ecx
410c66:	66 8b 55 f4          	mov    -0xc(%ebp),%dx
410c6a:	66 89 11             	mov    %dx,(%ecx)
410c6d:	e9 1a 01 00 00       	jmp    0x410d8c
410c72:	0f b7 45 fc          	movzwl -0x4(%ebp),%eax
410c76:	85 c0                	test   %eax,%eax
410c78:	75 05                	jne    0x410c7f
410c7a:	e9 0d 01 00 00       	jmp    0x410d8c
410c7f:	0f b7 4d fc          	movzwl -0x4(%ebp),%ecx
410c83:	83 f9 06             	cmp    $0x6,%ecx
410c86:	75 05                	jne    0x410c8d
410c88:	e9 ff 00 00 00       	jmp    0x410d8c
410c8d:	0f b7 55 fc          	movzwl -0x4(%ebp),%edx
410c91:	83 fa 07             	cmp    $0x7,%edx
410c94:	75 05                	jne    0x410c9b
410c96:	e9 f1 00 00 00       	jmp    0x410d8c
410c9b:	0f b7 45 fc          	movzwl -0x4(%ebp),%eax
410c9f:	83 f8 0b             	cmp    $0xb,%eax
410ca2:	0f 85 e0 00 00 00    	jne    0x410d88
410ca8:	8b 4d 10             	mov    0x10(%ebp),%ecx
410cab:	83 c1 02             	add    $0x2,%ecx
410cae:	89 4d 10             	mov    %ecx,0x10(%ebp)
410cb1:	8b 55 0c             	mov    0xc(%ebp),%edx
410cb4:	83 ea 01             	sub    $0x1,%edx
410cb7:	89 55 0c             	mov    %edx,0xc(%ebp)
410cba:	8b 45 f0             	mov    -0x10(%ebp),%eax
410cbd:	0f b7 00             	movzwl (%eax),%eax
410cc0:	c1 e0 10             	shl    $0x10,%eax
410cc3:	99                   	cltd
410cc4:	89 45 dc             	mov    %eax,-0x24(%ebp)
410cc7:	89 55 e0             	mov    %edx,-0x20(%ebp)
410cca:	b9 02 00 00 00       	mov    $0x2,%ecx
410ccf:	c1 e1 00             	shl    $0x0,%ecx
410cd2:	8b 55 10             	mov    0x10(%ebp),%edx
410cd5:	0f bf 04 0a          	movswl (%edx,%ecx,1),%eax
410cd9:	99                   	cltd
410cda:	03 45 dc             	add    -0x24(%ebp),%eax
410cdd:	13 55 e0             	adc    -0x20(%ebp),%edx
410ce0:	89 45 dc             	mov    %eax,-0x24(%ebp)
410ce3:	89 55 e0             	mov    %edx,-0x20(%ebp)
410ce6:	8b 45 dc             	mov    -0x24(%ebp),%eax
410ce9:	8b 55 e0             	mov    -0x20(%ebp),%edx
410cec:	b1 10                	mov    $0x10,%cl
410cee:	e8 6d a4 ff ff       	call   0x40b160
410cf3:	89 45 dc             	mov    %eax,-0x24(%ebp)
410cf6:	89 55 e0             	mov    %edx,-0x20(%ebp)
410cf9:	b8 02 00 00 00       	mov    $0x2,%eax
410cfe:	6b c8 00             	imul   $0x0,%eax,%ecx
410d01:	8b 55 10             	mov    0x10(%ebp),%edx
410d04:	0f b7 04 0a          	movzwl (%edx,%ecx,1),%eax
410d08:	99                   	cltd
410d09:	03 45 dc             	add    -0x24(%ebp),%eax
410d0c:	13 55 e0             	adc    -0x20(%ebp),%edx
410d0f:	89 45 dc             	mov    %eax,-0x24(%ebp)
410d12:	89 55 e0             	mov    %edx,-0x20(%ebp)
410d15:	8b 45 14             	mov    0x14(%ebp),%eax
410d18:	99                   	cltd
410d19:	03 45 dc             	add    -0x24(%ebp),%eax
410d1c:	13 55 e0             	adc    -0x20(%ebp),%edx
410d1f:	89 45 dc             	mov    %eax,-0x24(%ebp)
410d22:	89 55 e0             	mov    %edx,-0x20(%ebp)
410d25:	8b 45 dc             	mov    -0x24(%ebp),%eax
410d28:	05 00 80 00 00       	add    $0x8000,%eax
410d2d:	8b 4d e0             	mov    -0x20(%ebp),%ecx
410d30:	83 d1 00             	adc    $0x0,%ecx
410d33:	89 45 dc             	mov    %eax,-0x24(%ebp)
410d36:	89 4d e0             	mov    %ecx,-0x20(%ebp)
410d39:	8b 45 dc             	mov    -0x24(%ebp),%eax
410d3c:	8b 55 e0             	mov    -0x20(%ebp),%edx
410d3f:	b1 10                	mov    $0x10,%cl
410d41:	e8 3a a4 ff ff       	call   0x40b180
410d46:	89 45 dc             	mov    %eax,-0x24(%ebp)
410d49:	89 55 e0             	mov    %edx,-0x20(%ebp)
410d4c:	8b 55 dc             	mov    -0x24(%ebp),%edx
410d4f:	81 c2 00 80 00 00    	add    $0x8000,%edx
410d55:	8b 45 e0             	mov    -0x20(%ebp),%eax
410d58:	83 d0 00             	adc    $0x0,%eax
410d5b:	89 55 dc             	mov    %edx,-0x24(%ebp)
410d5e:	89 45 e0             	mov    %eax,-0x20(%ebp)
410d61:	8b 45 dc             	mov    -0x24(%ebp),%eax
410d64:	8b 55 e0             	mov    -0x20(%ebp),%edx
410d67:	b1 10                	mov    $0x10,%cl
410d69:	e8 12 a4 ff ff       	call   0x40b180
410d6e:	8b 4d f0             	mov    -0x10(%ebp),%ecx
410d71:	66 89 01             	mov    %ax,(%ecx)
410d74:	8b 55 10             	mov    0x10(%ebp),%edx
410d77:	83 c2 02             	add    $0x2,%edx
410d7a:	89 55 10             	mov    %edx,0x10(%ebp)
410d7d:	8b 45 0c             	mov    0xc(%ebp),%eax
410d80:	83 e8 01             	sub    $0x1,%eax
410d83:	89 45 0c             	mov    %eax,0xc(%ebp)
410d86:	eb 04                	jmp    0x410d8c
410d88:	33 c0                	xor    %eax,%eax
410d8a:	eb 11                	jmp    0x410d9d
410d8c:	8b 4d 10             	mov    0x10(%ebp),%ecx
410d8f:	83 c1 02             	add    $0x2,%ecx
410d92:	89 4d 10             	mov    %ecx,0x10(%ebp)
410d95:	e9 56 fd ff ff       	jmp    0x410af0
410d9a:	8b 45 10             	mov    0x10(%ebp),%eax
410d9d:	8b e5                	mov    %ebp,%esp
410d9f:	5d                   	pop    %ebp
410da0:	c3                   	ret
410da1:	cc                   	int3
410da2:	cc                   	int3
410da3:	cc                   	int3
410da4:	cc                   	int3
410da5:	cc                   	int3
410da6:	cc                   	int3
410da7:	cc                   	int3
410da8:	cc                   	int3
410da9:	cc                   	int3
410daa:	cc                   	int3
410dab:	cc                   	int3
410dac:	cc                   	int3
410dad:	cc                   	int3
410dae:	cc                   	int3
410daf:	cc                   	int3
410db0:	55                   	push   %ebp
410db1:	8b ec                	mov    %esp,%ebp
410db3:	83 ec 14             	sub    $0x14,%esp
410db6:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
410dbd:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
410dc4:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
410dcb:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
410dd2:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
410dd9:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
410ddd:	74 12                	je     0x410df1
410ddf:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
410de3:	74 0c                	je     0x410df1
410de5:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
410de9:	74 06                	je     0x410df1
410deb:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
410def:	75 07                	jne    0x410df8
410df1:	b8 0d 00 00 c0       	mov    $0xc000000d,%eax
410df6:	eb 7f                	jmp    0x410e77
410df8:	8b 45 14             	mov    0x14(%ebp),%eax
410dfb:	89 45 f8             	mov    %eax,-0x8(%ebp)
410dfe:	b9 08 00 00 00       	mov    $0x8,%ecx
410e03:	6b d1 05             	imul   $0x5,%ecx,%edx
410e06:	8b 45 10             	mov    0x10(%ebp),%eax
410e09:	8b 4c 10 7c          	mov    0x7c(%eax,%edx,1),%ecx
410e0d:	89 4d f4             	mov    %ecx,-0xc(%ebp)
410e10:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
410e14:	76 5f                	jbe    0x410e75
410e16:	8b 55 f8             	mov    -0x8(%ebp),%edx
410e19:	8b 42 04             	mov    0x4(%edx),%eax
410e1c:	89 45 fc             	mov    %eax,-0x4(%ebp)
410e1f:	8b 4d f4             	mov    -0xc(%ebp),%ecx
410e22:	2b 4d fc             	sub    -0x4(%ebp),%ecx
410e25:	89 4d f4             	mov    %ecx,-0xc(%ebp)
410e28:	8b 55 fc             	mov    -0x4(%ebp),%edx
410e2b:	83 ea 08             	sub    $0x8,%edx
410e2e:	89 55 fc             	mov    %edx,-0x4(%ebp)
410e31:	8b 45 fc             	mov    -0x4(%ebp),%eax
410e34:	d1 e8                	shr    $1,%eax
410e36:	89 45 fc             	mov    %eax,-0x4(%ebp)
410e39:	8b 4d f8             	mov    -0x8(%ebp),%ecx
410e3c:	83 c1 08             	add    $0x8,%ecx
410e3f:	89 4d f0             	mov    %ecx,-0x10(%ebp)
410e42:	8b 55 f8             	mov    -0x8(%ebp),%edx
410e45:	8b 45 08             	mov    0x8(%ebp),%eax
410e48:	03 02                	add    (%edx),%eax
410e4a:	89 45 ec             	mov    %eax,-0x14(%ebp)
410e4d:	8b 4d 0c             	mov    0xc(%ebp),%ecx
410e50:	51                   	push   %ecx
410e51:	8b 55 f0             	mov    -0x10(%ebp),%edx
410e54:	52                   	push   %edx
410e55:	8b 45 fc             	mov    -0x4(%ebp),%eax
410e58:	50                   	push   %eax
410e59:	8b 4d ec             	mov    -0x14(%ebp),%ecx
410e5c:	51                   	push   %ecx
410e5d:	e8 5e fc ff ff       	call   0x410ac0
410e62:	83 c4 10             	add    $0x10,%esp
410e65:	89 45 f8             	mov    %eax,-0x8(%ebp)
410e68:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
410e6c:	75 05                	jne    0x410e73
410e6e:	83 c8 ff             	or     $0xffffffff,%eax
410e71:	eb 04                	jmp    0x410e77
410e73:	eb 9b                	jmp    0x410e10
410e75:	33 c0                	xor    %eax,%eax
410e77:	8b e5                	mov    %ebp,%esp
410e79:	5d                   	pop    %ebp
410e7a:	c3                   	ret
410e7b:	cc                   	int3
410e7c:	cc                   	int3
410e7d:	cc                   	int3
410e7e:	cc                   	int3
410e7f:	cc                   	int3
410e80:	55                   	push   %ebp
410e81:	8b ec                	mov    %esp,%ebp
410e83:	83 ec 30             	sub    $0x30,%esp
410e86:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
410e8d:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
410e91:	74 0c                	je     0x410e9f
410e93:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
410e97:	74 06                	je     0x410e9f
410e99:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
410e9d:	75 08                	jne    0x410ea7
410e9f:	8b 45 e8             	mov    -0x18(%ebp),%eax
410ea2:	e9 84 01 00 00       	jmp    0x41102b
410ea7:	e8 a4 fb ff ff       	call   0x410a50
410eac:	89 45 f8             	mov    %eax,-0x8(%ebp)
410eaf:	8b 45 f8             	mov    -0x8(%ebp),%eax
410eb2:	50                   	push   %eax
410eb3:	e8 d8 fb ff ff       	call   0x410a90
410eb8:	83 c4 04             	add    $0x4,%esp
410ebb:	89 45 fc             	mov    %eax,-0x4(%ebp)
410ebe:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
410ec2:	0f 84 60 01 00 00    	je     0x411028
410ec8:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
410ecf:	8b 4d fc             	mov    -0x4(%ebp),%ecx
410ed2:	8b 51 50             	mov    0x50(%ecx),%edx
410ed5:	33 c0                	xor    %eax,%eax
410ed7:	89 55 d0             	mov    %edx,-0x30(%ebp)
410eda:	89 45 d4             	mov    %eax,-0x2c(%ebp)
410edd:	6a 00                	push   $0x0
410edf:	68 00 00 00 08       	push   $0x8000000
410ee4:	6a 40                	push   $0x40
410ee6:	8d 4d d0             	lea    -0x30(%ebp),%ecx
410ee9:	51                   	push   %ecx
410eea:	6a 00                	push   $0x0
410eec:	68 1f 00 0f 00       	push   $0xf001f
410ef1:	8d 55 f0             	lea    -0x10(%ebp),%edx
410ef4:	52                   	push   %edx
410ef5:	e8 c6 16 ff ff       	call   0x4025c0
410efa:	8b 80 98 00 00 00    	mov    0x98(%eax),%eax
410f00:	ff d0                	call   *%eax
410f02:	89 45 dc             	mov    %eax,-0x24(%ebp)
410f05:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
410f09:	0f 8c 19 01 00 00    	jl     0x411028
410f0f:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
410f16:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
410f1d:	6a 04                	push   $0x4
410f1f:	6a 00                	push   $0x0
410f21:	6a 01                	push   $0x1
410f23:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
410f26:	51                   	push   %ecx
410f27:	6a 00                	push   $0x0
410f29:	8b 55 fc             	mov    -0x4(%ebp),%edx
410f2c:	8b 42 50             	mov    0x50(%edx),%eax
410f2f:	50                   	push   %eax
410f30:	6a 00                	push   $0x0
410f32:	8d 4d f4             	lea    -0xc(%ebp),%ecx
410f35:	51                   	push   %ecx
410f36:	6a ff                	push   $0xffffffff
410f38:	8b 55 f0             	mov    -0x10(%ebp),%edx
410f3b:	52                   	push   %edx
410f3c:	e8 7f 16 ff ff       	call   0x4025c0
410f41:	8b 80 9c 00 00 00    	mov    0x9c(%eax),%eax
410f47:	ff d0                	call   *%eax
410f49:	85 c0                	test   %eax,%eax
410f4b:	0f 8c d7 00 00 00    	jl     0x411028
410f51:	8b 4d fc             	mov    -0x4(%ebp),%ecx
410f54:	8b 51 50             	mov    0x50(%ecx),%edx
410f57:	52                   	push   %edx
410f58:	8b 45 f8             	mov    -0x8(%ebp),%eax
410f5b:	50                   	push   %eax
410f5c:	8b 4d f4             	mov    -0xc(%ebp),%ecx
410f5f:	51                   	push   %ecx
410f60:	e8 3b 5a ff ff       	call   0x4069a0
410f65:	83 c4 0c             	add    $0xc,%esp
410f68:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
410f6f:	6a 40                	push   $0x40
410f71:	6a 00                	push   $0x0
410f73:	6a 01                	push   $0x1
410f75:	8d 55 e4             	lea    -0x1c(%ebp),%edx
410f78:	52                   	push   %edx
410f79:	6a 00                	push   $0x0
410f7b:	8b 45 fc             	mov    -0x4(%ebp),%eax
410f7e:	8b 48 50             	mov    0x50(%eax),%ecx
410f81:	51                   	push   %ecx
410f82:	6a 00                	push   $0x0
410f84:	8d 55 ec             	lea    -0x14(%ebp),%edx
410f87:	52                   	push   %edx
410f88:	8b 45 08             	mov    0x8(%ebp),%eax
410f8b:	50                   	push   %eax
410f8c:	8b 4d f0             	mov    -0x10(%ebp),%ecx
410f8f:	51                   	push   %ecx
410f90:	e8 2b 16 ff ff       	call   0x4025c0
410f95:	8b 90 9c 00 00 00    	mov    0x9c(%eax),%edx
410f9b:	ff d2                	call   *%edx
410f9d:	85 c0                	test   %eax,%eax
410f9f:	7c 63                	jl     0x411004
410fa1:	b8 08 00 00 00       	mov    $0x8,%eax
410fa6:	6b c8 05             	imul   $0x5,%eax,%ecx
410fa9:	8b 55 fc             	mov    -0x4(%ebp),%edx
410fac:	8b 44 0a 78          	mov    0x78(%edx,%ecx,1),%eax
410fb0:	89 45 e0             	mov    %eax,-0x20(%ebp)
410fb3:	b9 08 00 00 00       	mov    $0x8,%ecx
410fb8:	6b d1 05             	imul   $0x5,%ecx,%edx
410fbb:	8b 45 fc             	mov    -0x4(%ebp),%eax
410fbe:	8b 4c 10 7c          	mov    0x7c(%eax,%edx,1),%ecx
410fc2:	89 4d d8             	mov    %ecx,-0x28(%ebp)
410fc5:	83 7d e0 00          	cmpl   $0x0,-0x20(%ebp)
410fc9:	74 24                	je     0x410fef
410fcb:	83 7d d8 00          	cmpl   $0x0,-0x28(%ebp)
410fcf:	74 1e                	je     0x410fef
410fd1:	8b 55 f8             	mov    -0x8(%ebp),%edx
410fd4:	03 55 e0             	add    -0x20(%ebp),%edx
410fd7:	52                   	push   %edx
410fd8:	8b 45 fc             	mov    -0x4(%ebp),%eax
410fdb:	50                   	push   %eax
410fdc:	8b 4d ec             	mov    -0x14(%ebp),%ecx
410fdf:	2b 4d f8             	sub    -0x8(%ebp),%ecx
410fe2:	51                   	push   %ecx
410fe3:	8b 55 f4             	mov    -0xc(%ebp),%edx
410fe6:	52                   	push   %edx
410fe7:	e8 c4 fd ff ff       	call   0x410db0
410fec:	83 c4 10             	add    $0x10,%esp
410fef:	8b 45 0c             	mov    0xc(%ebp),%eax
410ff2:	2b 45 f8             	sub    -0x8(%ebp),%eax
410ff5:	03 45 ec             	add    -0x14(%ebp),%eax
410ff8:	8b 4d 10             	mov    0x10(%ebp),%ecx
410ffb:	89 01                	mov    %eax,(%ecx)
410ffd:	c7 45 e8 01 00 00 00 	movl   $0x1,-0x18(%ebp)
411004:	8b 55 f4             	mov    -0xc(%ebp),%edx