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
426095:	8b 45 dc             	mov    -0x24(%ebp),%eax
426098:	03 c0                	add    %eax,%eax
42609a:	8b 4d f0             	mov    -0x10(%ebp),%ecx
42609d:	8d 04 c1             	lea    (%ecx,%eax,8),%eax
4260a0:	e8 27 fe ff ff       	call   0x425ecc
4260a5:	59                   	pop    %ecx
4260a6:	84 c0                	test   %al,%al
4260a8:	74 06                	je     0x4260b0
4260aa:	89 75 dc             	mov    %esi,-0x24(%ebp)
4260ad:	89 5d e0             	mov    %ebx,-0x20(%ebp)
4260b0:	46                   	inc    %esi
4260b1:	4f                   	dec    %edi
4260b2:	75 b9                	jne    0x42606d
4260b4:	8b 45 dc             	mov    -0x24(%ebp),%eax
4260b7:	03 c0                	add    %eax,%eax
4260b9:	8b 55 f0             	mov    -0x10(%ebp),%edx
4260bc:	8d 04 c2             	lea    (%edx,%eax,8),%eax
4260bf:	89 45 c0             	mov    %eax,-0x40(%ebp)
4260c2:	8b 45 c0             	mov    -0x40(%ebp),%eax
4260c5:	0f b6 00             	movzbl (%eax),%eax
4260c8:	8b 55 08             	mov    0x8(%ebp),%edx
4260cb:	89 02                	mov    %eax,(%edx)
4260cd:	8b 45 c0             	mov    -0x40(%ebp),%eax
4260d0:	0f b6 40 01          	movzbl 0x1(%eax),%eax
4260d4:	8b 55 08             	mov    0x8(%ebp),%edx
4260d7:	89 42 04             	mov    %eax,0x4(%edx)
4260da:	8b 45 c0             	mov    -0x40(%ebp),%eax
4260dd:	8b 40 08             	mov    0x8(%eax),%eax
4260e0:	e8 ff cb fd ff       	call   0x402ce4
4260e5:	89 45 d4             	mov    %eax,-0x2c(%ebp)
4260e8:	33 c0                	xor    %eax,%eax
4260ea:	55                   	push   %ebp
4260eb:	68 35 62 42 00       	push   $0x426235
4260f0:	64 ff 30             	push   %fs:(%eax)
4260f3:	64 89 20             	mov    %esp,%fs:(%eax)
4260f6:	8b 45 c0             	mov    -0x40(%ebp),%eax
4260f9:	8b 50 0c             	mov    0xc(%eax),%edx
4260fc:	8b 45 ec             	mov    -0x14(%ebp),%eax
4260ff:	03 45 10             	add    0x10(%ebp),%eax
426102:	2b d0                	sub    %eax,%edx
426104:	66 b9 01 00          	mov    $0x1,%cx
426108:	8b 45 fc             	mov    -0x4(%ebp),%eax
42610b:	8b 18                	mov    (%eax),%ebx
42610d:	ff 53 14             	call   *0x14(%ebx)
426110:	8b 45 c0             	mov    -0x40(%ebp),%eax
426113:	8b 48 08             	mov    0x8(%eax),%ecx
426116:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
426119:	8b d3                	mov    %ebx,%edx
42611b:	8b 45 fc             	mov    -0x4(%ebp),%eax
42611e:	8b 30                	mov    (%eax),%esi
426120:	ff 56 0c             	call   *0xc(%esi)
426123:	8b 45 08             	mov    0x8(%ebp),%eax
426126:	50                   	push   %eax
426127:	8d 4d c8             	lea    -0x38(%ebp),%ecx
42612a:	8d 55 cc             	lea    -0x34(%ebp),%edx
42612d:	8b c3                	mov    %ebx,%eax
42612f:	e8 cc fb ff ff       	call   0x425d00
426134:	8d 45 90             	lea    -0x70(%ebp),%eax
426137:	50                   	push   %eax
426138:	6a 18                	push   $0x18
42613a:	8b 45 c8             	mov    -0x38(%ebp),%eax
42613d:	50                   	push   %eax
42613e:	e8 45 0b fe ff       	call   0x406c88
426143:	8d 45 a8             	lea    -0x58(%ebp),%eax
426146:	50                   	push   %eax
426147:	6a 18                	push   $0x18
426149:	8b 45 cc             	mov    -0x34(%ebp),%eax
42614c:	50                   	push   %eax
42614d:	e8 36 0b fe ff       	call   0x406c88
426152:	8b 5d 9c             	mov    -0x64(%ebp),%ebx
426155:	0f af 5d 98          	imul   -0x68(%ebp),%ebx
426159:	0f b7 45 a0          	movzwl -0x60(%ebp),%eax
42615d:	0f af d8             	imul   %eax,%ebx
426160:	8b 45 b4             	mov    -0x4c(%ebp),%eax
426163:	f7 6d b0             	imull  -0x50(%ebp)
426166:	0f b7 55 b8          	movzwl -0x48(%ebp),%edx
42616a:	f7 ea                	imul   %edx
42616c:	89 45 c4             	mov    %eax,-0x3c(%ebp)
42616f:	8b 45 c4             	mov    -0x3c(%ebp),%eax
426172:	03 c3                	add    %ebx,%eax
426174:	89 45 e8             	mov    %eax,-0x18(%ebp)
426177:	8b 45 e8             	mov    -0x18(%ebp),%eax
42617a:	e8 65 cb fd ff       	call   0x402ce4
42617f:	89 45 d0             	mov    %eax,-0x30(%ebp)
426182:	33 c0                	xor    %eax,%eax
426184:	55                   	push   %ebp
426185:	68 12 62 42 00       	push   $0x426212
42618a:	64 ff 30             	push   %fs:(%eax)
42618d:	64 89 20             	mov    %esp,%fs:(%eax)
426190:	8b 7d d0             	mov    -0x30(%ebp),%edi
426193:	8b 75 d0             	mov    -0x30(%ebp),%esi
426196:	03 f3                	add    %ebx,%esi
426198:	57                   	push   %edi
426199:	53                   	push   %ebx
42619a:	8b 45 c8             	mov    -0x38(%ebp),%eax
42619d:	50                   	push   %eax
42619e:	e8 85 0a fe ff       	call   0x406c28
4261a3:	56                   	push   %esi
4261a4:	8b 45 c4             	mov    -0x3c(%ebp),%eax
4261a7:	50                   	push   %eax
4261a8:	8b 45 cc             	mov    -0x34(%ebp),%eax
4261ab:	50                   	push   %eax
4261ac:	e8 77 0a fe ff       	call   0x406c28
4261b1:	8b 45 cc             	mov    -0x34(%ebp),%eax
4261b4:	50                   	push   %eax
4261b5:	e8 56 0a fe ff       	call   0x406c10
4261ba:	8b 45 c8             	mov    -0x38(%ebp),%eax
4261bd:	50                   	push   %eax
4261be:	e8 4d 0a fe ff       	call   0x406c10
4261c3:	56                   	push   %esi
4261c4:	57                   	push   %edi
4261c5:	0f b6 45 ba          	movzbl -0x46(%ebp),%eax
4261c9:	50                   	push   %eax
4261ca:	0f b6 45 b8          	movzbl -0x48(%ebp),%eax
4261ce:	50                   	push   %eax
4261cf:	8b 45 08             	mov    0x8(%ebp),%eax
4261d2:	8b 40 04             	mov    0x4(%eax),%eax
4261d5:	50                   	push   %eax
4261d6:	8b 45 08             	mov    0x8(%ebp),%eax
4261d9:	8b 00                	mov    (%eax),%eax
4261db:	50                   	push   %eax
4261dc:	a1 f8 a7 4a 00       	mov    0x4aa7f8,%eax
4261e1:	50                   	push   %eax
4261e2:	e8 51 0c fe ff       	call   0x406e38
4261e7:	8b 55 f8             	mov    -0x8(%ebp),%edx
4261ea:	89 02                	mov    %eax,(%edx)
4261ec:	8b 45 f8             	mov    -0x8(%ebp),%eax
4261ef:	83 38 00             	cmpl   $0x0,(%eax)
4261f2:	75 05                	jne    0x4261f9
4261f4:	e8 6f f2 ff ff       	call   0x425468
4261f9:	33 c0                	xor    %eax,%eax
4261fb:	5a                   	pop    %edx
4261fc:	59                   	pop    %ecx
4261fd:	59                   	pop    %ecx
4261fe:	64 89 10             	mov    %edx,%fs:(%eax)
426201:	68 19 62 42 00       	push   $0x426219
426206:	8b 55 e8             	mov    -0x18(%ebp),%edx
426209:	8b 45 d0             	mov    -0x30(%ebp),%eax
42620c:	e8 07 cb fd ff       	call   0x402d18
426211:	c3                   	ret
426212:	e9 99 de fd ff       	jmp    0x4040b0
426217:	eb ed                	jmp    0x426206
426219:	33 c0                	xor    %eax,%eax
42621b:	5a                   	pop    %edx
42621c:	59                   	pop    %ecx
42621d:	59                   	pop    %ecx
42621e:	64 89 10             	mov    %edx,%fs:(%eax)
426221:	68 3c 62 42 00       	push   $0x42623c
426226:	8b 45 c0             	mov    -0x40(%ebp),%eax
426229:	8b 50 08             	mov    0x8(%eax),%edx
42622c:	8b 45 d4             	mov    -0x2c(%ebp),%eax
42622f:	e8 e4 ca fd ff       	call   0x402d18
426234:	c3                   	ret
426235:	e9 76 de fd ff       	jmp    0x4040b0
42623a:	eb ea                	jmp    0x426226
42623c:	33 c0                	xor    %eax,%eax
42623e:	5a                   	pop    %edx
42623f:	59                   	pop    %ecx
426240:	59                   	pop    %ecx
426241:	64 89 10             	mov    %edx,%fs:(%eax)
426244:	68 5c 62 42 00       	push   $0x42625c
426249:	8b 55 ec             	mov    -0x14(%ebp),%edx
42624c:	8b 45 f0             	mov    -0x10(%ebp),%eax
42624f:	e8 c4 ca fd ff       	call   0x402d18
426254:	c3                   	ret
426255:	e9 56 de fd ff       	jmp    0x4040b0
42625a:	eb ed                	jmp    0x426249
42625c:	5f                   	pop    %edi
42625d:	5e                   	pop    %esi
42625e:	5b                   	pop    %ebx
42625f:	8b e5                	mov    %ebp,%esp
426261:	5d                   	pop    %ebp
426262:	c2 0c 00             	ret    $0xc
426265:	8d 40 00             	lea    0x0(%eax),%eax
426268:	33 c9                	xor    %ecx,%ecx