587e2b:	8b 55 c8             	mov    -0x38(%ebp),%edx
587e2e:	8b c6                	mov    %esi,%eax
587e30:	e8 a3 fe ff ff       	call   0x587cd8
587e35:	59                   	pop    %ecx
587e36:	50                   	push   %eax
587e37:	55                   	push   %ebp
587e38:	8b cb                	mov    %ebx,%ecx
587e3a:	8b 55 c8             	mov    -0x38(%ebp),%edx
587e3d:	8b c6                	mov    %esi,%eax
587e3f:	e8 94 fe ff ff       	call   0x587cd8
587e44:	59                   	pop    %ecx
587e45:	5a                   	pop    %edx
587e46:	92                   	xchg   %eax,%edx
587e47:	2b c2                	sub    %edx,%eax
587e49:	e9 96 02 00 00       	jmp    0x5880e4
587e4e:	8b 45 e4             	mov    -0x1c(%ebp),%eax
587e51:	3b 45 dc             	cmp    -0x24(%ebp),%eax
587e54:	7c 78                	jl     0x587ece
587e56:	8b 45 dc             	mov    -0x24(%ebp),%eax
587e59:	3b 45 e0             	cmp    -0x20(%ebp),%eax
587e5c:	7c 70                	jl     0x587ece
587e5e:	55                   	push   %ebp
587e5f:	8b cb                	mov    %ebx,%ecx
587e61:	8b 55 cc             	mov    -0x34(%ebp),%edx
587e64:	8b c6                	mov    %esi,%eax
587e66:	e8 6d fe ff ff       	call   0x587cd8
587e6b:	59                   	pop    %ecx
587e6c:	8b f8                	mov    %eax,%edi
587e6e:	55                   	push   %ebp
587e6f:	8b cb                	mov    %ebx,%ecx
587e71:	8b 55 cc             	mov    -0x34(%ebp),%edx
587e74:	8b 45 d0             	mov    -0x30(%ebp),%eax
587e77:	e8 5c fe ff ff       	call   0x587cd8
587e7c:	59                   	pop    %ecx
587e7d:	2b f8                	sub    %eax,%edi
587e7f:	89 7d d8             	mov    %edi,-0x28(%ebp)
587e82:	55                   	push   %ebp
587e83:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
587e86:	8b 55 c8             	mov    -0x38(%ebp),%edx
587e89:	8b c6                	mov    %esi,%eax
587e8b:	e8 48 fe ff ff       	call   0x587cd8
587e90:	59                   	pop    %ecx
587e91:	8b f8                	mov    %eax,%edi
587e93:	55                   	push   %ebp
587e94:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
587e97:	8b 55 cc             	mov    -0x34(%ebp),%edx
587e9a:	8b c6                	mov    %esi,%eax
587e9c:	e8 37 fe ff ff       	call   0x587cd8
587ea1:	59                   	pop    %ecx
587ea2:	2b f8                	sub    %eax,%edi
587ea4:	89 7d d4             	mov    %edi,-0x2c(%ebp)
587ea7:	55                   	push   %ebp
587ea8:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
587eab:	8b 55 cc             	mov    -0x34(%ebp),%edx
587eae:	8b c6                	mov    %esi,%eax
587eb0:	e8 23 fe ff ff       	call   0x587cd8
587eb5:	59                   	pop    %ecx
587eb6:	50                   	push   %eax
587eb7:	55                   	push   %ebp
587eb8:	8b cb                	mov    %ebx,%ecx
587eba:	8b 55 cc             	mov    -0x34(%ebp),%edx
587ebd:	8b c6                	mov    %esi,%eax
587ebf:	e8 14 fe ff ff       	call   0x587cd8
587ec4:	59                   	pop    %ecx
587ec5:	5a                   	pop    %edx
587ec6:	92                   	xchg   %eax,%edx
587ec7:	2b c2                	sub    %edx,%eax
587ec9:	e9 16 02 00 00       	jmp    0x5880e4
587ece:	8b 45 dc             	mov    -0x24(%ebp),%eax
587ed1:	3b 45 e4             	cmp    -0x1c(%ebp),%eax
587ed4:	7c 7c                	jl     0x587f52
587ed6:	8b 45 e4             	mov    -0x1c(%ebp),%eax
587ed9:	3b 45 e0             	cmp    -0x20(%ebp),%eax
587edc:	7c 74                	jl     0x587f52
587ede:	55                   	push   %ebp
587edf:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
587ee2:	8b 55 cc             	mov    -0x34(%ebp),%edx
587ee5:	8b c6                	mov    %esi,%eax
587ee7:	e8 ec fd ff ff       	call   0x587cd8
587eec:	59                   	pop    %ecx
587eed:	8b f8                	mov    %eax,%edi
587eef:	55                   	push   %ebp
587ef0:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
587ef3:	8b 55 cc             	mov    -0x34(%ebp),%edx
587ef6:	8b 45 d0             	mov    -0x30(%ebp),%eax
587ef9:	e8 da fd ff ff       	call   0x587cd8
587efe:	59                   	pop    %ecx
587eff:	2b f8                	sub    %eax,%edi
587f01:	89 7d d8             	mov    %edi,-0x28(%ebp)
587f04:	55                   	push   %ebp
587f05:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
587f08:	8b 55 c8             	mov    -0x38(%ebp),%edx
587f0b:	8b c6                	mov    %esi,%eax
587f0d:	e8 c6 fd ff ff       	call   0x587cd8
587f12:	59                   	pop    %ecx
587f13:	8b f8                	mov    %eax,%edi
587f15:	55                   	push   %ebp
587f16:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
587f19:	8b 55 cc             	mov    -0x34(%ebp),%edx
587f1c:	8b c6                	mov    %esi,%eax
587f1e:	e8 b5 fd ff ff       	call   0x587cd8
587f23:	59                   	pop    %ecx
587f24:	2b f8                	sub    %eax,%edi
587f26:	89 7d d4             	mov    %edi,-0x2c(%ebp)
587f29:	55                   	push   %ebp
587f2a:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
587f2d:	8b 55 cc             	mov    -0x34(%ebp),%edx
587f30:	8b 45 d0             	mov    -0x30(%ebp),%eax
587f33:	e8 a0 fd ff ff       	call   0x587cd8
587f38:	59                   	pop    %ecx
587f39:	50                   	push   %eax
587f3a:	55                   	push   %ebp
587f3b:	8b cb                	mov    %ebx,%ecx
587f3d:	8b 55 cc             	mov    -0x34(%ebp),%edx
587f40:	8b 45 d0             	mov    -0x30(%ebp),%eax
587f43:	e8 90 fd ff ff       	call   0x587cd8
587f48:	59                   	pop    %ecx
587f49:	5a                   	pop    %edx
587f4a:	92                   	xchg   %eax,%edx
587f4b:	2b c2                	sub    %edx,%eax
587f4d:	e9 92 01 00 00       	jmp    0x5880e4
587f52:	8b 45 e0             	mov    -0x20(%ebp),%eax
587f55:	3b 45 e4             	cmp    -0x1c(%ebp),%eax
587f58:	7c 78                	jl     0x587fd2
587f5a:	8b 45 e4             	mov    -0x1c(%ebp),%eax
587f5d:	3b 45 dc             	cmp    -0x24(%ebp),%eax
587f60:	7c 70                	jl     0x587fd2
587f62:	55                   	push   %ebp
587f63:	8b cb                	mov    %ebx,%ecx
587f65:	8b 55 c8             	mov    -0x38(%ebp),%edx
587f68:	8b c6                	mov    %esi,%eax
587f6a:	e8 69 fd ff ff       	call   0x587cd8
587f6f:	59                   	pop    %ecx
587f70:	8b f8                	mov    %eax,%edi
587f72:	55                   	push   %ebp
587f73:	8b cb                	mov    %ebx,%ecx
587f75:	8b 55 c8             	mov    -0x38(%ebp),%edx
587f78:	8b 45 d0             	mov    -0x30(%ebp),%eax
587f7b:	e8 58 fd ff ff       	call   0x587cd8
587f80:	59                   	pop    %ecx
587f81:	2b f8                	sub    %eax,%edi
587f83:	89 7d d8             	mov    %edi,-0x28(%ebp)
587f86:	55                   	push   %ebp
587f87:	8b cb                	mov    %ebx,%ecx
587f89:	8b 55 c8             	mov    -0x38(%ebp),%edx
587f8c:	8b 45 d0             	mov    -0x30(%ebp),%eax
587f8f:	e8 44 fd ff ff       	call   0x587cd8
587f94:	59                   	pop    %ecx
587f95:	8b f8                	mov    %eax,%edi
587f97:	55                   	push   %ebp
587f98:	8b cb                	mov    %ebx,%ecx
587f9a:	8b 55 cc             	mov    -0x34(%ebp),%edx
587f9d:	8b 45 d0             	mov    -0x30(%ebp),%eax
587fa0:	e8 33 fd ff ff       	call   0x587cd8
587fa5:	59                   	pop    %ecx
587fa6:	2b f8                	sub    %eax,%edi
587fa8:	89 7d d4             	mov    %edi,-0x2c(%ebp)
587fab:	55                   	push   %ebp
587fac:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
587faf:	8b 55 c8             	mov    -0x38(%ebp),%edx
587fb2:	8b c6                	mov    %esi,%eax
587fb4:	e8 1f fd ff ff       	call   0x587cd8
587fb9:	59                   	pop    %ecx
587fba:	50                   	push   %eax
587fbb:	55                   	push   %ebp
587fbc:	8b cb                	mov    %ebx,%ecx
587fbe:	8b 55 c8             	mov    -0x38(%ebp),%edx
587fc1:	8b c6                	mov    %esi,%eax
587fc3:	e8 10 fd ff ff       	call   0x587cd8
587fc8:	59                   	pop    %ecx
587fc9:	5a                   	pop    %edx
587fca:	92                   	xchg   %eax,%edx
587fcb:	2b c2                	sub    %edx,%eax
587fcd:	e9 12 01 00 00       	jmp    0x5880e4
587fd2:	8b 45 e0             	mov    -0x20(%ebp),%eax
587fd5:	3b 45 dc             	cmp    -0x24(%ebp),%eax
587fd8:	7c 7c                	jl     0x588056
587fda:	8b 45 dc             	mov    -0x24(%ebp),%eax
587fdd:	3b 45 e4             	cmp    -0x1c(%ebp),%eax
587fe0:	7c 74                	jl     0x588056
587fe2:	55                   	push   %ebp
587fe3:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
587fe6:	8b 55 c8             	mov    -0x38(%ebp),%edx
587fe9:	8b c6                	mov    %esi,%eax
587feb:	e8 e8 fc ff ff       	call   0x587cd8
587ff0:	59                   	pop    %ecx
587ff1:	8b f8                	mov    %eax,%edi
587ff3:	55                   	push   %ebp
587ff4:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
587ff7:	8b 55 c8             	mov    -0x38(%ebp),%edx
587ffa:	8b 45 d0             	mov    -0x30(%ebp),%eax
587ffd:	e8 d6 fc ff ff       	call   0x587cd8
588002:	59                   	pop    %ecx
588003:	2b f8                	sub    %eax,%edi
588005:	89 7d d8             	mov    %edi,-0x28(%ebp)
588008:	55                   	push   %ebp
588009:	8b cb                	mov    %ebx,%ecx
58800b:	8b 55 c8             	mov    -0x38(%ebp),%edx
58800e:	8b 45 d0             	mov    -0x30(%ebp),%eax
588011:	e8 c2 fc ff ff       	call   0x587cd8
588016:	59                   	pop    %ecx
588017:	8b f8                	mov    %eax,%edi
588019:	55                   	push   %ebp
58801a:	8b cb                	mov    %ebx,%ecx
58801c:	8b 55 cc             	mov    -0x34(%ebp),%edx
58801f:	8b 45 d0             	mov    -0x30(%ebp),%eax
588022:	e8 b1 fc ff ff       	call   0x587cd8
588027:	59                   	pop    %ecx
588028:	2b f8                	sub    %eax,%edi
58802a:	89 7d d4             	mov    %edi,-0x2c(%ebp)
58802d:	55                   	push   %ebp
58802e:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
588031:	8b 55 c8             	mov    -0x38(%ebp),%edx
588034:	8b 45 d0             	mov    -0x30(%ebp),%eax
588037:	e8 9c fc ff ff       	call   0x587cd8
58803c:	59                   	pop    %ecx
58803d:	50                   	push   %eax
58803e:	55                   	push   %ebp
58803f:	8b cb                	mov    %ebx,%ecx
588041:	8b 55 c8             	mov    -0x38(%ebp),%edx
588044:	8b 45 d0             	mov    -0x30(%ebp),%eax
588047:	e8 8c fc ff ff       	call   0x587cd8
58804c:	59                   	pop    %ecx
58804d:	5a                   	pop    %edx
58804e:	92                   	xchg   %eax,%edx
58804f:	2b c2                	sub    %edx,%eax
588051:	e9 8e 00 00 00       	jmp    0x5880e4
588056:	8b 45 dc             	mov    -0x24(%ebp),%eax
588059:	3b 45 e0             	cmp    -0x20(%ebp),%eax
58805c:	7c 7b                	jl     0x5880d9
58805e:	8b 45 e0             	mov    -0x20(%ebp),%eax
588061:	3b 45 e4             	cmp    -0x1c(%ebp),%eax
588064:	7c 73                	jl     0x5880d9
588066:	55                   	push   %ebp
588067:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
58806a:	8b 55 c8             	mov    -0x38(%ebp),%edx
58806d:	8b c6                	mov    %esi,%eax
58806f:	e8 64 fc ff ff       	call   0x587cd8
588074:	59                   	pop    %ecx
588075:	8b f8                	mov    %eax,%edi
588077:	55                   	push   %ebp
588078:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
58807b:	8b 55 c8             	mov    -0x38(%ebp),%edx
58807e:	8b 45 d0             	mov    -0x30(%ebp),%eax
588081:	e8 52 fc ff ff       	call   0x587cd8
588086:	59                   	pop    %ecx
588087:	2b f8                	sub    %eax,%edi
588089:	89 7d d8             	mov    %edi,-0x28(%ebp)
58808c:	55                   	push   %ebp
58808d:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
588090:	8b 55 c8             	mov    -0x38(%ebp),%edx
588093:	8b 45 d0             	mov    -0x30(%ebp),%eax
588096:	e8 3d fc ff ff       	call   0x587cd8
58809b:	59                   	pop    %ecx
58809c:	8b f8                	mov    %eax,%edi
58809e:	55                   	push   %ebp
58809f:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
5880a2:	8b 55 cc             	mov    -0x34(%ebp),%edx
5880a5:	8b 45 d0             	mov    -0x30(%ebp),%eax
5880a8:	e8 2b fc ff ff       	call   0x587cd8
5880ad:	59                   	pop    %ecx
5880ae:	2b f8                	sub    %eax,%edi
5880b0:	89 7d d4             	mov    %edi,-0x2c(%ebp)
5880b3:	55                   	push   %ebp
5880b4:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
5880b7:	8b 55 cc             	mov    -0x34(%ebp),%edx
5880ba:	8b 45 d0             	mov    -0x30(%ebp),%eax
5880bd:	e8 16 fc ff ff       	call   0x587cd8
5880c2:	59                   	pop    %ecx
5880c3:	50                   	push   %eax
5880c4:	55                   	push   %ebp
5880c5:	8b cb                	mov    %ebx,%ecx
5880c7:	8b 55 cc             	mov    -0x34(%ebp),%edx
5880ca:	8b 45 d0             	mov    -0x30(%ebp),%eax
5880cd:	e8 06 fc ff ff       	call   0x587cd8
5880d2:	59                   	pop    %ecx
5880d3:	5a                   	pop    %edx
5880d4:	92                   	xchg   %eax,%edx
5880d5:	2b c2                	sub    %edx,%eax
5880d7:	eb 0b                	jmp    0x5880e4
5880d9:	33 c0                	xor    %eax,%eax
5880db:	89 45 d4             	mov    %eax,-0x2c(%ebp)
5880de:	8b 55 d4             	mov    -0x2c(%ebp),%edx
5880e1:	89 55 d8             	mov    %edx,-0x28(%ebp)
5880e4:	8b 7d d8             	mov    -0x28(%ebp),%edi
5880e7:	0f af 7d e4          	imul   -0x1c(%ebp),%edi
5880eb:	8b 55 d4             	mov    -0x2c(%ebp),%edx
5880ee:	0f af 55 e0          	imul   -0x20(%ebp),%edx
5880f2:	03 fa                	add    %edx,%edi
5880f4:	f7 6d dc             	imull  -0x24(%ebp)
5880f7:	03 f8                	add    %eax,%edi
5880f9:	55                   	push   %ebp
5880fa:	8b cb                	mov    %ebx,%ecx
5880fc:	8b 55 cc             	mov    -0x34(%ebp),%edx
5880ff:	8b 45 d0             	mov    -0x30(%ebp),%eax
588102:	e8 d1 fb ff ff       	call   0x587cd8
588107:	59                   	pop    %ecx
588108:	50                   	push   %eax
588109:	8b c7                	mov    %edi,%eax
58810b:	e8 00 46 ff ff       	call   0x57c710
588110:	05 00 80 00 00       	add    $0x8000,%eax
588115:	c1 e8 10             	shr    $0x10,%eax
588118:	5a                   	pop    %edx
588119:	66 03 d0             	add    %ax,%dx
58811c:	8b 45 f0             	mov    -0x10(%ebp),%eax
58811f:	8b 4d f8             	mov    -0x8(%ebp),%ecx
588122:	66 89 14 48          	mov    %dx,(%eax,%ecx,2)
588126:	ff 45 f8             	incl   -0x8(%ebp)
588129:	ff 4d bc             	decl   -0x44(%ebp)
58812c:	0f 85 9e fc ff ff    	jne    0x587dd0
588132:	5f                   	pop    %edi
588133:	5e                   	pop    %esi
588134:	5b                   	pop    %ebx
588135:	8b e5                	mov    %ebp,%esp
588137:	5d                   	pop    %ebp
588138:	c2 04 00             	ret    $0x4
58813b:	90                   	nop
58813c:	53                   	push   %ebx
58813d:	56                   	push   %esi
58813e:	57                   	push   %edi
58813f:	55                   	push   %ebp
588140:	83 c4 e4             	add    $0xffffffe4,%esp
588143:	8b e8                	mov    %eax,%ebp
588145:	8d 85 30 01 00 00    	lea    0x130(%ebp),%eax
58814b:	89 44 24 18          	mov    %eax,0x18(%esp)
58814f:	b8 00 12 00 00       	mov    $0x1200,%eax
588154:	e8 53 a6 e7 ff       	call   0x4027ac
588159:	8b f8                	mov    %eax,%edi
58815b:	85 ff                	test   %edi,%edi
58815d:	75 07                	jne    0x588166
58815f:	33 c0                	xor    %eax,%eax
588161:	e9 2a 01 00 00       	jmp    0x588290
588166:	33 f6                	xor    %esi,%esi
588168:	8d 5c 24 04          	lea    0x4(%esp),%ebx
58816c:	8b c6                	mov    %esi,%eax
58816e:	e8 99 53 ff ff       	call   0x57d50c
588173:	66 89 44 24 08       	mov    %ax,0x8(%esp)
588178:	66 8b 44 24 08       	mov    0x8(%esp),%ax
58817d:	66 89 44 24 06       	mov    %ax,0x6(%esp)
588182:	66 89 44 24 04       	mov    %ax,0x4(%esp)
588187:	f6 45 00 02          	testb  $0x2,0x0(%ebp)
58818b:	74 25                	je     0x5881b2
58818d:	c7 04 24 03 00 00 00 	movl   $0x3,(%esp)
588194:	8d 8d c4 00 00 00    	lea    0xc4(%ebp),%ecx
58819a:	8b 54 b5 3c          	mov    0x3c(%ebp,%esi,4),%edx
58819e:	66 8b 03             	mov    (%ebx),%ax
5881a1:	e8 da 46 ff ff       	call   0x57c880
5881a6:	66 89 03             	mov    %ax,(%ebx)
5881a9:	ff 0c 24             	decl   (%esp)
5881ac:	75 e6                	jne    0x588194