425cf9:	5f                   	pop    %edi
425cfa:	5e                   	pop    %esi
425cfb:	5b                   	pop    %ebx
425cfc:	c3                   	ret
425cfd:	8d 40 00             	lea    0x0(%eax),%eax
425d00:	55                   	push   %ebp
425d01:	8b ec                	mov    %esp,%ebp
425d03:	83 c4 ec             	add    $0xffffffec,%esp
425d06:	53                   	push   %ebx
425d07:	56                   	push   %esi
425d08:	57                   	push   %edi
425d09:	89 4d f8             	mov    %ecx,-0x8(%ebp)
425d0c:	8b da                	mov    %edx,%ebx
425d0e:	89 45 fc             	mov    %eax,-0x4(%ebp)
425d11:	8b 45 fc             	mov    -0x4(%ebp),%eax
425d14:	d1 68 08             	shrl   $1,0x8(%eax)
425d17:	8b 55 fc             	mov    -0x4(%ebp),%edx
425d1a:	0f b7 52 0e          	movzwl 0xe(%edx),%edx
425d1e:	8b 45 fc             	mov    -0x4(%ebp),%eax
425d21:	8b 40 04             	mov    0x4(%eax),%eax
425d24:	b9 20 00 00 00       	mov    $0x20,%ecx
425d29:	e8 72 f9 ff ff       	call   0x4256a0
425d2e:	8b 55 fc             	mov    -0x4(%ebp),%edx
425d31:	f7 6a 08             	imull  0x8(%edx)
425d34:	8b 55 fc             	mov    -0x4(%ebp),%edx
425d37:	89 42 14             	mov    %eax,0x14(%edx)
425d3a:	8b 45 fc             	mov    -0x4(%ebp),%eax
425d3d:	0f b7 40 0e          	movzwl 0xe(%eax),%eax
425d41:	e8 3a f9 ff ff       	call   0x425680
425d46:	8b f0                	mov    %eax,%esi
425d48:	6a 00                	push   $0x0
425d4a:	e8 31 12 fe ff       	call   0x406f80
425d4f:	89 45 f0             	mov    %eax,-0x10(%ebp)
425d52:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
425d56:	75 05                	jne    0x425d5d
425d58:	e8 b7 f6 ff ff       	call   0x425414
425d5d:	33 d2                	xor    %edx,%edx
425d5f:	55                   	push   %ebp
425d60:	68 ad 5e 42 00       	push   $0x425ead
425d65:	64 ff 32             	push   %fs:(%edx)
425d68:	64 89 22             	mov    %esp,%fs:(%edx)
425d6b:	8b 7d fc             	mov    -0x4(%ebp),%edi
425d6e:	8b c7                	mov    %edi,%eax
425d70:	83 c0 28             	add    $0x28,%eax
425d73:	8b d6                	mov    %esi,%edx
425d75:	03 d2                	add    %edx,%edx
425d77:	03 d2                	add    %edx,%edx
425d79:	03 c2                	add    %edx,%eax
425d7b:	89 45 ec             	mov    %eax,-0x14(%ebp)
425d7e:	6a 00                	push   $0x0
425d80:	8b 45 fc             	mov    -0x4(%ebp),%eax
425d83:	57                   	push   %edi
425d84:	8b 45 ec             	mov    -0x14(%ebp),%eax
425d87:	50                   	push   %eax
425d88:	6a 04                	push   $0x4
425d8a:	8b 45 fc             	mov    -0x4(%ebp),%eax
425d8d:	50                   	push   %eax
425d8e:	8b 45 f0             	mov    -0x10(%ebp),%eax
425d91:	50                   	push   %eax
425d92:	e8 31 0e fe ff       	call   0x406bc8
425d97:	e8 74 f7 ff ff       	call   0x425510
425d9c:	89 45 f4             	mov    %eax,-0xc(%ebp)
425d9f:	33 c0                	xor    %eax,%eax
425da1:	55                   	push   %ebp
425da2:	68 d3 5d 42 00       	push   $0x425dd3
425da7:	64 ff 30             	push   %fs:(%eax)
425daa:	64 89 20             	mov    %esp,%fs:(%eax)
425dad:	8b 55 08             	mov    0x8(%ebp),%edx
425db0:	33 c9                	xor    %ecx,%ecx
425db2:	8b 45 f4             	mov    -0xc(%ebp),%eax
425db5:	e8 66 f7 ff ff       	call   0x425520
425dba:	89 03                	mov    %eax,(%ebx)
425dbc:	33 c0                	xor    %eax,%eax
425dbe:	5a                   	pop    %edx
425dbf:	59                   	pop    %ecx
425dc0:	59                   	pop    %ecx
425dc1:	64 89 10             	mov    %edx,%fs:(%eax)
425dc4:	68 da 5d 42 00       	push   $0x425dda
425dc9:	8b 45 f4             	mov    -0xc(%ebp),%eax
425dcc:	50                   	push   %eax
425dcd:	e8 3e 0e fe ff       	call   0x406c10
425dd2:	c3                   	ret
425dd3:	e9 d8 e2 fd ff       	jmp    0x4040b0
425dd8:	eb ef                	jmp    0x425dc9
425dda:	8b 45 fc             	mov    -0x4(%ebp),%eax
425ddd:	8b 40 14             	mov    0x14(%eax),%eax
425de0:	01 45 ec             	add    %eax,-0x14(%ebp)
425de3:	8b 45 fc             	mov    -0x4(%ebp),%eax
425de6:	66 bb 01 00          	mov    $0x1,%bx
425dea:	66 89 58 0e          	mov    %bx,0xe(%eax)
425dee:	8b 45 fc             	mov    -0x4(%ebp),%eax
425df1:	0f b7 d3             	movzwl %bx,%edx
425df4:	8b 45 fc             	mov    -0x4(%ebp),%eax
425df7:	8b 40 04             	mov    0x4(%eax),%eax
425dfa:	b9 20 00 00 00       	mov    $0x20,%ecx
425dff:	e8 9c f8 ff ff       	call   0x4256a0
425e04:	8b 55 fc             	mov    -0x4(%ebp),%edx
425e07:	f7 6a 08             	imull  0x8(%edx)
425e0a:	8b 55 fc             	mov    -0x4(%ebp),%edx
425e0d:	89 42 14             	mov    %eax,0x14(%edx)
425e10:	8b 45 fc             	mov    -0x4(%ebp),%eax
425e13:	c7 40 20 02 00 00 00 	movl   $0x2,0x20(%eax)
425e1a:	8b 45 fc             	mov    -0x4(%ebp),%eax
425e1d:	c7 40 24 02 00 00 00 	movl   $0x2,0x24(%eax)
425e24:	8b 45 fc             	mov    -0x4(%ebp),%eax
425e27:	83 c0 28             	add    $0x28,%eax
425e2a:	33 d2                	xor    %edx,%edx
425e2c:	89 10                	mov    %edx,(%eax)
425e2e:	c7 40 04 ff ff ff 00 	movl   $0xffffff,0x4(%eax)
425e35:	6a 00                	push   $0x0
425e37:	8b 5d fc             	mov    -0x4(%ebp),%ebx
425e3a:	53                   	push   %ebx
425e3b:	8b 45 ec             	mov    -0x14(%ebp),%eax
425e3e:	50                   	push   %eax
425e3f:	6a 04                	push   $0x4
425e41:	8b 45 fc             	mov    -0x4(%ebp),%eax
425e44:	53                   	push   %ebx
425e45:	8b 45 f0             	mov    -0x10(%ebp),%eax
425e48:	50                   	push   %eax
425e49:	e8 7a 0d fe ff       	call   0x406bc8
425e4e:	e8 bd f6 ff ff       	call   0x425510
425e53:	89 45 f4             	mov    %eax,-0xc(%ebp)
425e56:	33 c0                	xor    %eax,%eax
425e58:	55                   	push   %ebp
425e59:	68 8d 5e 42 00       	push   $0x425e8d
425e5e:	64 ff 30             	push   %fs:(%eax)
425e61:	64 89 20             	mov    %esp,%fs:(%eax)
425e64:	8b 55 08             	mov    0x8(%ebp),%edx
425e67:	b1 01                	mov    $0x1,%cl
425e69:	8b 45 f4             	mov    -0xc(%ebp),%eax
425e6c:	e8 af f6 ff ff       	call   0x425520
425e71:	8b 55 f8             	mov    -0x8(%ebp),%edx
425e74:	89 02                	mov    %eax,(%edx)
425e76:	33 c0                	xor    %eax,%eax
425e78:	5a                   	pop    %edx
425e79:	59                   	pop    %ecx
425e7a:	59                   	pop    %ecx
425e7b:	64 89 10             	mov    %edx,%fs:(%eax)
425e7e:	68 94 5e 42 00       	push   $0x425e94
425e83:	8b 45 f4             	mov    -0xc(%ebp),%eax
425e86:	50                   	push   %eax
425e87:	e8 84 0d fe ff       	call   0x406c10
425e8c:	c3                   	ret
425e8d:	e9 1e e2 fd ff       	jmp    0x4040b0
425e92:	eb ef                	jmp    0x425e83
425e94:	33 c0                	xor    %eax,%eax
425e96:	5a                   	pop    %edx
425e97:	59                   	pop    %ecx
425e98:	59                   	pop    %ecx
425e99:	64 89 10             	mov    %edx,%fs:(%eax)
425e9c:	68 b4 5e 42 00       	push   $0x425eb4
425ea1:	8b 45 f0             	mov    -0x10(%ebp),%eax
425ea4:	50                   	push   %eax
425ea5:	6a 00                	push   $0x0
425ea7:	e8 5c 13 fe ff       	call   0x407208
425eac:	c3                   	ret
425ead:	e9 fe e1 fd ff       	jmp    0x4040b0
425eb2:	eb ed                	jmp    0x425ea1
425eb4:	5f                   	pop    %edi
425eb5:	5e                   	pop    %esi
425eb6:	5b                   	pop    %ebx
425eb7:	8b e5                	mov    %ebp,%esp
425eb9:	5d                   	pop    %ebp
425eba:	c2 04 00             	ret    $0x4
425ebd:	8d 40 00             	lea    0x0(%eax),%eax
425ec0:	85 c0                	test   %eax,%eax
425ec2:	75 05                	jne    0x425ec9
425ec4:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
425ec9:	c3                   	ret
425eca:	8b c0                	mov    %eax,%eax
425ecc:	55                   	push   %ebp
425ecd:	8b ec                	mov    %esp,%ebp
425ecf:	83 c4 f8             	add    $0xfffffff8,%esp
425ed2:	53                   	push   %ebx
425ed3:	56                   	push   %esi
425ed4:	57                   	push   %edi
425ed5:	89 45 fc             	mov    %eax,-0x4(%ebp)
425ed8:	0f b6 0a             	movzbl (%edx),%ecx
425edb:	8b 45 08             	mov    0x8(%ebp),%eax
425ede:	8b 40 08             	mov    0x8(%eax),%eax
425ee1:	8b 00                	mov    (%eax),%eax
425ee3:	2b c8                	sub    %eax,%ecx
425ee5:	0f b6 5a 01          	movzbl 0x1(%edx),%ebx
425ee9:	8b 55 08             	mov    0x8(%ebp),%edx
425eec:	8b 52 08             	mov    0x8(%edx),%edx
425eef:	2b 5a 04             	sub    0x4(%edx),%ebx
425ef2:	8b 75 fc             	mov    -0x4(%ebp),%esi
425ef5:	0f b6 36             	movzbl (%esi),%esi
425ef8:	8b 55 08             	mov    0x8(%ebp),%edx
425efb:	8b 52 08             	mov    0x8(%edx),%edx
425efe:	2b f0                	sub    %eax,%esi
425f00:	8b 45 fc             	mov    -0x4(%ebp),%eax
425f03:	0f b6 40 01          	movzbl 0x1(%eax),%eax
425f07:	8b 55 08             	mov    0x8(%ebp),%edx
425f0a:	8b 52 08             	mov    0x8(%edx),%edx
425f0d:	2b 42 04             	sub    0x4(%edx),%eax
425f10:	89 45 f8             	mov    %eax,-0x8(%ebp)
425f13:	8b c1                	mov    %ecx,%eax
425f15:	99                   	cltd
425f16:	33 c2                	xor    %edx,%eax
425f18:	2b c2                	sub    %edx,%eax
425f1a:	8b f8                	mov    %eax,%edi
425f1c:	8b c6                	mov    %esi,%eax
425f1e:	99                   	cltd
425f1f:	33 c2                	xor    %edx,%eax
425f21:	2b c2                	sub    %edx,%eax
425f23:	3b f8                	cmp    %eax,%edi
425f25:	7f 26                	jg     0x425f4d
425f27:	85 c9                	test   %ecx,%ecx
425f29:	7e 04                	jle    0x425f2f
425f2b:	3b f1                	cmp    %ecx,%esi
425f2d:	7c 1e                	jl     0x425f4d
425f2f:	8b c3                	mov    %ebx,%eax
425f31:	99                   	cltd
425f32:	33 c2                	xor    %edx,%eax
425f34:	2b c2                	sub    %edx,%eax
425f36:	8b c8                	mov    %eax,%ecx
425f38:	8b 45 f8             	mov    -0x8(%ebp),%eax
425f3b:	99                   	cltd
425f3c:	33 c2                	xor    %edx,%eax
425f3e:	2b c2                	sub    %edx,%eax
425f40:	3b c8                	cmp    %eax,%ecx
425f42:	7f 09                	jg     0x425f4d
425f44:	85 db                	test   %ebx,%ebx
425f46:	7e 09                	jle    0x425f51
425f48:	3b 5d f8             	cmp    -0x8(%ebp),%ebx
425f4b:	7e 04                	jle    0x425f51
425f4d:	33 c0                	xor    %eax,%eax
425f4f:	eb 02                	jmp    0x425f53
425f51:	b0 01                	mov    $0x1,%al
425f53:	5f                   	pop    %edi
425f54:	5e                   	pop    %esi
425f55:	5b                   	pop    %ebx
425f56:	59                   	pop    %ecx
425f57:	59                   	pop    %ecx
425f58:	5d                   	pop    %ebp
425f59:	c3                   	ret
425f5a:	8b c0                	mov    %eax,%eax
425f5c:	55                   	push   %ebp
425f5d:	8b ec                	mov    %esp,%ebp
425f5f:	83 c4 90             	add    $0xffffff90,%esp
425f62:	53                   	push   %ebx
425f63:	56                   	push   %esi
425f64:	57                   	push   %edi
425f65:	89 4d f4             	mov    %ecx,-0xc(%ebp)
425f68:	89 55 f8             	mov    %edx,-0x8(%ebp)
425f6b:	89 45 fc             	mov    %eax,-0x4(%ebp)
425f6e:	8b 5d 0c             	mov    0xc(%ebp),%ebx
425f71:	8b 45 f4             	mov    -0xc(%ebp),%eax
425f74:	c1 e0 04             	shl    $0x4,%eax
425f77:	89 45 ec             	mov    %eax,-0x14(%ebp)
425f7a:	8b 45 ec             	mov    -0x14(%ebp),%eax
425f7d:	e8 62 cd fd ff       	call   0x402ce4
425f82:	89 45 f0             	mov    %eax,-0x10(%ebp)
425f85:	33 d2                	xor    %edx,%edx
425f87:	55                   	push   %ebp
425f88:	68 55 62 42 00       	push   $0x426255
425f8d:	64 ff 32             	push   %fs:(%edx)
425f90:	64 89 22             	mov    %esp,%fs:(%edx)
425f93:	8b 55 f0             	mov    -0x10(%ebp),%edx
425f96:	8b 4d ec             	mov    -0x14(%ebp),%ecx
425f99:	8b 45 fc             	mov    -0x4(%ebp),%eax
425f9c:	8b 30                	mov    (%eax),%esi
425f9e:	ff 56 0c             	call   *0xc(%esi)
425fa1:	8b 03                	mov    (%ebx),%eax
425fa3:	0b 43 04             	or     0x4(%ebx),%eax
425fa6:	75 1b                	jne    0x425fc3
425fa8:	6a 0b                	push   $0xb
425faa:	e8 d1 10 fe ff       	call   0x407080
425faf:	8b 55 08             	mov    0x8(%ebp),%edx
425fb2:	89 02                	mov    %eax,(%edx)
425fb4:	6a 0c                	push   $0xc
425fb6:	e8 c5 10 fe ff       	call   0x407080
425fbb:	8b 55 08             	mov    0x8(%ebp),%edx
425fbe:	89 42 04             	mov    %eax,0x4(%edx)
425fc1:	eb 0d                	jmp    0x425fd0
425fc3:	8b 45 08             	mov    0x8(%ebp),%eax
425fc6:	8b 13                	mov    (%ebx),%edx
425fc8:	89 10                	mov    %edx,(%eax)
425fca:	8b 53 04             	mov    0x4(%ebx),%edx
425fcd:	89 50 04             	mov    %edx,0x4(%eax)
425fd0:	6a 00                	push   $0x0
425fd2:	e8 a9 0f fe ff       	call   0x406f80
425fd7:	89 45 d8             	mov    %eax,-0x28(%ebp)
425fda:	83 7d d8 00          	cmpl   $0x0,-0x28(%ebp)
425fde:	75 05                	jne    0x425fe5
425fe0:	e8 2f f4 ff ff       	call   0x425414
425fe5:	33 d2                	xor    %edx,%edx
425fe7:	55                   	push   %ebp
425fe8:	68 45 60 42 00       	push   $0x426045
425fed:	64 ff 32             	push   %fs:(%edx)
425ff0:	64 89 22             	mov    %esp,%fs:(%edx)
425ff3:	6a 0e                	push   $0xe
425ff5:	8b 45 d8             	mov    -0x28(%ebp),%eax
425ff8:	50                   	push   %eax
425ff9:	e8 62 0c fe ff       	call   0x406c60
425ffe:	8b d8                	mov    %eax,%ebx
426000:	6a 0c                	push   $0xc
426002:	8b 45 d8             	mov    -0x28(%ebp),%eax
426005:	50                   	push   %eax
426006:	e8 55 0c fe ff       	call   0x406c60
42600b:	66 0f af d8          	imul   %ax,%bx
42600f:	8b c3                	mov    %ebx,%eax
426011:	66 83 f8 08          	cmp    $0x8,%ax
426015:	76 09                	jbe    0x426020
426017:	c7 45 e4 ff ff ff 7f 	movl   $0x7fffffff,-0x1c(%ebp)
42601e:	eb 0c                	jmp    0x42602c
426020:	8b c8                	mov    %eax,%ecx
426022:	b8 01 00 00 00       	mov    $0x1,%eax
426027:	d3 e0                	shl    %cl,%eax
426029:	89 45 e4             	mov    %eax,-0x1c(%ebp)
42602c:	33 c0                	xor    %eax,%eax
42602e:	5a                   	pop    %edx
42602f:	59                   	pop    %ecx
426030:	59                   	pop    %ecx
426031:	64 89 10             	mov    %edx,%fs:(%eax)
426034:	68 4c 60 42 00       	push   $0x42604c
426039:	8b 45 d8             	mov    -0x28(%ebp),%eax
42603c:	50                   	push   %eax
42603d:	6a 00                	push   $0x0
42603f:	e8 c4 11 fe ff       	call   0x407208
426044:	c3                   	ret
426045:	e9 66 e0 fd ff       	jmp    0x4040b0
42604a:	eb ed                	jmp    0x426039
42604c:	33 c0                	xor    %eax,%eax
42604e:	89 45 dc             	mov    %eax,-0x24(%ebp)
426051:	8b 45 f0             	mov    -0x10(%ebp),%eax
426054:	0f b7 40 02          	movzwl 0x2(%eax),%eax
426058:	e8 63 fe ff ff       	call   0x425ec0
42605d:	89 45 e0             	mov    %eax,-0x20(%ebp)
426060:	8b 7d f4             	mov    -0xc(%ebp),%edi
426063:	4f                   	dec    %edi
426064:	85 ff                	test   %edi,%edi
426066:	7e 4c                	jle    0x4260b4
426068:	be 01 00 00 00       	mov    $0x1,%esi
42606d:	8b c6                	mov    %esi,%eax
42606f:	03 c0                	add    %eax,%eax
426071:	8b 55 f0             	mov    -0x10(%ebp),%edx
426074:	0f b7 44 c2 02       	movzwl 0x2(%edx,%eax,8),%eax
426079:	e8 42 fe ff ff       	call   0x425ec0
42607e:	8b d8                	mov    %eax,%ebx
426080:	3b 5d e4             	cmp    -0x1c(%ebp),%ebx
426083:	7f 2b                	jg     0x4260b0
426085:	3b 5d e0             	cmp    -0x20(%ebp),%ebx
426088:	7c 26                	jl     0x4260b0
42608a:	55                   	push   %ebp
42608b:	8b c6                	mov    %esi,%eax
42608d:	03 c0                	add    %eax,%eax
42608f:	8b 55 f0             	mov    -0x10(%ebp),%edx
426092:	8d 14 c2             	lea    (%edx,%eax,8),%edx