4f6d36:	8b 55 e4             	mov    -0x1c(%ebp),%edx
4f6d39:	8b c3                	mov    %ebx,%eax
4f6d3b:	8b 08                	mov    (%eax),%ecx
4f6d3d:	ff 11                	call   *(%ecx)
4f6d3f:	89 45 c4             	mov    %eax,-0x3c(%ebp)
4f6d42:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4f6d45:	89 45 c0             	mov    %eax,-0x40(%ebp)
4f6d48:	8b c3                	mov    %ebx,%eax
4f6d4a:	8b 10                	mov    (%eax),%edx
4f6d4c:	ff 52 0c             	call   *0xc(%edx)
4f6d4f:	8b c8                	mov    %eax,%ecx
4f6d51:	0f af 4d a8          	imul   -0x58(%ebp),%ecx
4f6d55:	8b 55 c4             	mov    -0x3c(%ebp),%edx
4f6d58:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4f6d5b:	e8 60 11 f1 ff       	call   0x407ec0
4f6d60:	8b 7d a4             	mov    -0x5c(%ebp),%edi
4f6d63:	85 ff                	test   %edi,%edi
4f6d65:	7c 16                	jl     0x4f6d7d
4f6d67:	47                   	inc    %edi
4f6d68:	8b 55 c0             	mov    -0x40(%ebp),%edx
4f6d6b:	8b 45 c0             	mov    -0x40(%ebp),%eax
4f6d6e:	83 c0 02             	add    $0x2,%eax
4f6d71:	e8 06 27 0b 00       	call   0x5a947c
4f6d76:	83 45 c0 03          	addl   $0x3,-0x40(%ebp)
4f6d7a:	4f                   	dec    %edi
4f6d7b:	75 eb                	jne    0x4f6d68
4f6d7d:	8b 45 0c             	mov    0xc(%ebp),%eax
4f6d80:	8b 40 04             	mov    0x4(%eax),%eax
4f6d83:	48                   	dec    %eax
4f6d84:	74 0e                	je     0x4f6d94
4f6d86:	83 e8 04             	sub    $0x4,%eax
4f6d89:	74 20                	je     0x4f6dab
4f6d8b:	2d 00 80 00 00       	sub    $0x8000,%eax
4f6d90:	74 2d                	je     0x4f6dbf
4f6d92:	eb 40                	jmp    0x4f6dd4
4f6d94:	8b 45 e0             	mov    -0x20(%ebp),%eax
4f6d97:	50                   	push   %eax
4f6d98:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
4f6d9b:	8b 55 08             	mov    0x8(%ebp),%edx
4f6d9e:	8b 52 28             	mov    0x28(%edx),%edx
4f6da1:	8b 45 ec             	mov    -0x14(%ebp),%eax
4f6da4:	e8 53 f1 0f 00       	call   0x5f5efc
4f6da9:	eb 29                	jmp    0x4f6dd4
4f6dab:	8d 45 f0             	lea    -0x10(%ebp),%eax
4f6dae:	50                   	push   %eax
4f6daf:	8b 7d 0c             	mov    0xc(%ebp),%edi
4f6db2:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4f6db5:	8b 55 e0             	mov    -0x20(%ebp),%edx
4f6db8:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4f6dbb:	ff 17                	call   *(%edi)
4f6dbd:	eb 15                	jmp    0x4f6dd4
4f6dbf:	8b 45 08             	mov    0x8(%ebp),%eax
4f6dc2:	8b 40 28             	mov    0x28(%eax),%eax
4f6dc5:	50                   	push   %eax
4f6dc6:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4f6dc9:	8b 55 e0             	mov    -0x20(%ebp),%edx
4f6dcc:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4f6dcf:	e8 48 f4 ff ff       	call   0x4f621c
4f6dd4:	8b 45 08             	mov    0x8(%ebp),%eax
4f6dd7:	8b 40 28             	mov    0x28(%eax),%eax
4f6dda:	80 38 00             	cmpb   $0x0,(%eax)
4f6ddd:	75 6a                	jne    0x4f6e49
4f6ddf:	ff 45 98             	incl   -0x68(%ebp)
4f6de2:	8b 45 98             	mov    -0x68(%ebp),%eax
4f6de5:	3b 45 9c             	cmp    -0x64(%ebp),%eax
4f6de8:	74 08                	je     0x4f6df2
4f6dea:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4f6ded:	3b 45 a0             	cmp    -0x60(%ebp),%eax
4f6df0:	75 4b                	jne    0x4f6e3d
4f6df2:	55                   	push   %ebp
4f6df3:	e8 48 f5 ff ff       	call   0x4f6340
4f6df8:	59                   	pop    %ecx
4f6df9:	33 c0                	xor    %eax,%eax
4f6dfb:	89 45 f0             	mov    %eax,-0x10(%ebp)
4f6dfe:	8b 45 ec             	mov    -0x14(%ebp),%eax
4f6e01:	e8 b2 78 f2 ff       	call   0x41e6b8
4f6e06:	8b 55 90             	mov    -0x70(%ebp),%edx
4f6e09:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
4f6e0c:	2b 04 8a             	sub    (%edx,%ecx,4),%eax
4f6e0f:	8b 55 8c             	mov    -0x74(%ebp),%edx
4f6e12:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
4f6e15:	89 04 8a             	mov    %eax,(%edx,%ecx,4)
4f6e18:	8b 75 94             	mov    -0x6c(%ebp),%esi
4f6e1b:	46                   	inc    %esi
4f6e1c:	33 c0                	xor    %eax,%eax
4f6e1e:	89 45 98             	mov    %eax,-0x68(%ebp)
4f6e21:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4f6e24:	3b 45 a0             	cmp    -0x60(%ebp),%eax
4f6e27:	7d 14                	jge    0x4f6e3d
4f6e29:	ff 45 94             	incl   -0x6c(%ebp)
4f6e2c:	8b 45 ec             	mov    -0x14(%ebp),%eax
4f6e2f:	e8 84 78 f2 ff       	call   0x41e6b8
4f6e34:	8b 55 90             	mov    -0x70(%ebp),%edx
4f6e37:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
4f6e3a:	89 04 8a             	mov    %eax,(%edx,%ecx,4)
4f6e3d:	ff 45 e4             	incl   -0x1c(%ebp)
4f6e40:	ff 4d 84             	decl   -0x7c(%ebp)
4f6e43:	0f 85 94 fb ff ff    	jne    0x4f69dd
4f6e49:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4f6e4c:	e8 7b b9 f0 ff       	call   0x4027cc
4f6e51:	e9 32 05 00 00       	jmp    0x4f7388
4f6e56:	8b 45 0c             	mov    0xc(%ebp),%eax
4f6e59:	83 78 04 07          	cmpl   $0x7,0x4(%eax)
4f6e5d:	0f 84 b2 05 00 00    	je     0x4f7415
4f6e63:	c7 45 a8 03 00 00 00 	movl   $0x3,-0x58(%ebp)
4f6e6a:	8b c3                	mov    %ebx,%eax
4f6e6c:	8b 10                	mov    (%eax),%edx
4f6e6e:	ff 52 0c             	call   *0xc(%edx)
4f6e71:	8b 55 0c             	mov    0xc(%ebp),%edx
4f6e74:	8b 52 1c             	mov    0x1c(%edx),%edx
4f6e77:	0f af 55 a8          	imul   -0x58(%ebp),%edx
4f6e7b:	f7 ea                	imul   %edx
4f6e7d:	89 45 e0             	mov    %eax,-0x20(%ebp)
4f6e80:	f6 45 e0 07          	testb  $0x7,-0x20(%ebp)
4f6e84:	74 13                	je     0x4f6e99
4f6e86:	8b 45 e0             	mov    -0x20(%ebp),%eax
4f6e89:	85 c0                	test   %eax,%eax
4f6e8b:	79 03                	jns    0x4f6e90
4f6e8d:	83 c0 07             	add    $0x7,%eax
4f6e90:	c1 f8 03             	sar    $0x3,%eax
4f6e93:	40                   	inc    %eax
4f6e94:	89 45 e0             	mov    %eax,-0x20(%ebp)
4f6e97:	eb 10                	jmp    0x4f6ea9
4f6e99:	8b 45 e0             	mov    -0x20(%ebp),%eax
4f6e9c:	85 c0                	test   %eax,%eax
4f6e9e:	79 03                	jns    0x4f6ea3
4f6ea0:	83 c0 07             	add    $0x7,%eax
4f6ea3:	c1 f8 03             	sar    $0x3,%eax
4f6ea6:	89 45 e0             	mov    %eax,-0x20(%ebp)
4f6ea9:	8b c3                	mov    %ebx,%eax
4f6eab:	8b 10                	mov    (%eax),%edx
4f6ead:	ff 52 08             	call   *0x8(%edx)
4f6eb0:	89 45 80             	mov    %eax,-0x80(%ebp)
4f6eb3:	db 45 80             	fildl  -0x80(%ebp)
4f6eb6:	d8 3d 24 74 4f 00    	fdivrs 0x4f7424
4f6ebc:	8b 45 08             	mov    0x8(%ebp),%eax
4f6ebf:	dd 58 18             	fstpl  0x18(%eax)
4f6ec2:	9b                   	fwait
4f6ec3:	8b c3                	mov    %ebx,%eax
4f6ec5:	8b 10                	mov    (%eax),%edx
4f6ec7:	ff 52 0c             	call   *0xc(%edx)
4f6eca:	8b f8                	mov    %eax,%edi
4f6ecc:	0f af 7d a8          	imul   -0x58(%ebp),%edi
4f6ed0:	8b 55 0c             	mov    0xc(%ebp),%edx
4f6ed3:	8b 52 1c             	mov    0x1c(%edx),%edx
4f6ed6:	85 d2                	test   %edx,%edx
4f6ed8:	79 03                	jns    0x4f6edd
4f6eda:	83 c2 07             	add    $0x7,%edx
4f6edd:	c1 fa 03             	sar    $0x3,%edx
4f6ee0:	b8 01 00 00 00       	mov    $0x1,%eax
4f6ee5:	e8 2a 25 0b 00       	call   0x5a9414
4f6eea:	0f af f8             	imul   %eax,%edi
4f6eed:	8b c7                	mov    %edi,%eax
4f6eef:	83 c0 04             	add    $0x4,%eax
4f6ef2:	e8 b5 b8 f0 ff       	call   0x4027ac
4f6ef7:	89 45 d4             	mov    %eax,-0x2c(%ebp)
4f6efa:	33 c0                	xor    %eax,%eax
4f6efc:	89 45 98             	mov    %eax,-0x68(%ebp)
4f6eff:	33 c0                	xor    %eax,%eax
4f6f01:	89 45 94             	mov    %eax,-0x6c(%ebp)
4f6f04:	8b 45 ec             	mov    -0x14(%ebp),%eax
4f6f07:	e8 ac 77 f2 ff       	call   0x41e6b8
4f6f0c:	8b 55 90             	mov    -0x70(%ebp),%edx
4f6f0f:	89 02                	mov    %eax,(%edx)
4f6f11:	8b 45 a0             	mov    -0x60(%ebp),%eax
4f6f14:	85 c0                	test   %eax,%eax
4f6f16:	0f 8c c3 01 00 00    	jl     0x4f70df
4f6f1c:	40                   	inc    %eax
4f6f1d:	89 45 84             	mov    %eax,-0x7c(%ebp)
4f6f20:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
4f6f27:	8b 45 08             	mov    0x8(%ebp),%eax
4f6f2a:	66 83 78 02 00       	cmpw   $0x0,0x2(%eax)
4f6f2f:	74 1e                	je     0x4f6f4f
4f6f31:	db 45 e4             	fildl  -0x1c(%ebp)
4f6f34:	8b 45 08             	mov    0x8(%ebp),%eax
4f6f37:	dc 48 18             	fmull  0x18(%eax)
4f6f3a:	e8 8d bd f0 ff       	call   0x402ccc
4f6f3f:	8b c8                	mov    %eax,%ecx
4f6f41:	8b 7d 08             	mov    0x8(%ebp),%edi
4f6f44:	8b 55 08             	mov    0x8(%ebp),%edx
4f6f47:	8b 52 08             	mov    0x8(%edx),%edx
4f6f4a:	8b 47 04             	mov    0x4(%edi),%eax
4f6f4d:	ff 17                	call   *(%edi)
4f6f4f:	8b 45 0c             	mov    0xc(%ebp),%eax
4f6f52:	83 78 14 02          	cmpl   $0x2,0x14(%eax)
4f6f56:	0f 85 96 00 00 00    	jne    0x4f6ff2
4f6f5c:	8b 45 a4             	mov    -0x5c(%ebp),%eax
4f6f5f:	03 c0                	add    %eax,%eax
4f6f61:	8d 04 40             	lea    (%eax,%eax,2),%eax
4f6f64:	03 45 d4             	add    -0x2c(%ebp),%eax
4f6f67:	89 45 b8             	mov    %eax,-0x48(%ebp)
4f6f6a:	8b 55 e4             	mov    -0x1c(%ebp),%edx
4f6f6d:	8b c3                	mov    %ebx,%eax
4f6f6f:	8b 08                	mov    (%eax),%ecx
4f6f71:	ff 11                	call   *(%ecx)
4f6f73:	8b d0                	mov    %eax,%edx
4f6f75:	8b 45 a4             	mov    -0x5c(%ebp),%eax
4f6f78:	03 c0                	add    %eax,%eax
4f6f7a:	8d 04 40             	lea    (%eax,%eax,2),%eax
4f6f7d:	03 d0                	add    %eax,%edx
4f6f7f:	89 55 b4             	mov    %edx,-0x4c(%ebp)
4f6f82:	83 6d b4 06          	subl   $0x6,-0x4c(%ebp)
4f6f86:	8b 45 a4             	mov    -0x5c(%ebp),%eax
4f6f89:	83 f8 01             	cmp    $0x1,%eax
4f6f8c:	7c 43                	jl     0x4f6fd1
4f6f8e:	66 8b 4a 04          	mov    0x4(%edx),%cx
4f6f92:	8b 7d b4             	mov    -0x4c(%ebp),%edi
4f6f95:	66 2b 4f 04          	sub    0x4(%edi),%cx
4f6f99:	8b 7d b8             	mov    -0x48(%ebp),%edi
4f6f9c:	66 89 4f 04          	mov    %cx,0x4(%edi)
4f6fa0:	66 8b 4a 02          	mov    0x2(%edx),%cx
4f6fa4:	8b 7d b4             	mov    -0x4c(%ebp),%edi
4f6fa7:	66 2b 4f 02          	sub    0x2(%edi),%cx
4f6fab:	8b 7d b8             	mov    -0x48(%ebp),%edi
4f6fae:	66 89 4f 02          	mov    %cx,0x2(%edi)
4f6fb2:	66 8b 0a             	mov    (%edx),%cx
4f6fb5:	8b 7d b4             	mov    -0x4c(%ebp),%edi
4f6fb8:	66 2b 0f             	sub    (%edi),%cx
4f6fbb:	8b 7d b8             	mov    -0x48(%ebp),%edi
4f6fbe:	66 89 0f             	mov    %cx,(%edi)
4f6fc1:	83 6d b8 06          	subl   $0x6,-0x48(%ebp)
4f6fc5:	83 ea 06             	sub    $0x6,%edx
4f6fc8:	83 6d b4 06          	subl   $0x6,-0x4c(%ebp)
4f6fcc:	48                   	dec    %eax
4f6fcd:	85 c0                	test   %eax,%eax
4f6fcf:	75 bd                	jne    0x4f6f8e
4f6fd1:	66 8b 42 04          	mov    0x4(%edx),%ax
4f6fd5:	8b 4d b8             	mov    -0x48(%ebp),%ecx
4f6fd8:	66 89 41 04          	mov    %ax,0x4(%ecx)
4f6fdc:	66 8b 42 02          	mov    0x2(%edx),%ax
4f6fe0:	8b 4d b8             	mov    -0x48(%ebp),%ecx
4f6fe3:	66 89 41 02          	mov    %ax,0x2(%ecx)
4f6fe7:	66 8b 02             	mov    (%edx),%ax
4f6fea:	8b 55 b8             	mov    -0x48(%ebp),%edx
4f6fed:	66 89 02             	mov    %ax,(%edx)
4f6ff0:	eb 21                	jmp    0x4f7013
4f6ff2:	8b 55 e4             	mov    -0x1c(%ebp),%edx
4f6ff5:	8b c3                	mov    %ebx,%eax
4f6ff7:	8b 08                	mov    (%eax),%ecx
4f6ff9:	ff 11                	call   *(%ecx)
4f6ffb:	50                   	push   %eax
4f6ffc:	8b c3                	mov    %ebx,%eax
4f6ffe:	8b 10                	mov    (%eax),%edx
4f7000:	ff 52 0c             	call   *0xc(%edx)
4f7003:	f7 6d a8             	imull  -0x58(%ebp)
4f7006:	8b c8                	mov    %eax,%ecx
4f7008:	03 c9                	add    %ecx,%ecx
4f700a:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4f700d:	5a                   	pop    %edx
4f700e:	e8 ad 0e f1 ff       	call   0x407ec0
4f7013:	8b 45 0c             	mov    0xc(%ebp),%eax
4f7016:	8b 40 04             	mov    0x4(%eax),%eax
4f7019:	48                   	dec    %eax
4f701a:	74 0e                	je     0x4f702a
4f701c:	83 e8 04             	sub    $0x4,%eax
4f701f:	74 20                	je     0x4f7041
4f7021:	2d 00 80 00 00       	sub    $0x8000,%eax
4f7026:	74 2d                	je     0x4f7055
4f7028:	eb 40                	jmp    0x4f706a
4f702a:	8b 45 e0             	mov    -0x20(%ebp),%eax
4f702d:	50                   	push   %eax
4f702e:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
4f7031:	8b 55 08             	mov    0x8(%ebp),%edx
4f7034:	8b 52 28             	mov    0x28(%edx),%edx
4f7037:	8b 45 ec             	mov    -0x14(%ebp),%eax
4f703a:	e8 bd ee 0f 00       	call   0x5f5efc
4f703f:	eb 29                	jmp    0x4f706a
4f7041:	8d 45 f0             	lea    -0x10(%ebp),%eax
4f7044:	50                   	push   %eax
4f7045:	8b 7d 0c             	mov    0xc(%ebp),%edi
4f7048:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4f704b:	8b 55 e0             	mov    -0x20(%ebp),%edx
4f704e:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4f7051:	ff 17                	call   *(%edi)
4f7053:	eb 15                	jmp    0x4f706a
4f7055:	8b 45 08             	mov    0x8(%ebp),%eax
4f7058:	8b 40 28             	mov    0x28(%eax),%eax
4f705b:	50                   	push   %eax
4f705c:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4f705f:	8b 55 e0             	mov    -0x20(%ebp),%edx
4f7062:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4f7065:	e8 b2 f1 ff ff       	call   0x4f621c
4f706a:	8b 45 08             	mov    0x8(%ebp),%eax
4f706d:	8b 40 28             	mov    0x28(%eax),%eax
4f7070:	80 38 00             	cmpb   $0x0,(%eax)
4f7073:	75 6a                	jne    0x4f70df
4f7075:	ff 45 98             	incl   -0x68(%ebp)
4f7078:	8b 45 98             	mov    -0x68(%ebp),%eax
4f707b:	3b 45 9c             	cmp    -0x64(%ebp),%eax
4f707e:	74 08                	je     0x4f7088
4f7080:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4f7083:	3b 45 a0             	cmp    -0x60(%ebp),%eax
4f7086:	75 4b                	jne    0x4f70d3
4f7088:	55                   	push   %ebp
4f7089:	e8 b2 f2 ff ff       	call   0x4f6340
4f708e:	59                   	pop    %ecx
4f708f:	33 c0                	xor    %eax,%eax
4f7091:	89 45 f0             	mov    %eax,-0x10(%ebp)
4f7094:	8b 45 ec             	mov    -0x14(%ebp),%eax
4f7097:	e8 1c 76 f2 ff       	call   0x41e6b8
4f709c:	8b 55 90             	mov    -0x70(%ebp),%edx
4f709f:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
4f70a2:	2b 04 8a             	sub    (%edx,%ecx,4),%eax
4f70a5:	8b 55 8c             	mov    -0x74(%ebp),%edx
4f70a8:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
4f70ab:	89 04 8a             	mov    %eax,(%edx,%ecx,4)
4f70ae:	8b 75 94             	mov    -0x6c(%ebp),%esi
4f70b1:	46                   	inc    %esi
4f70b2:	33 c0                	xor    %eax,%eax
4f70b4:	89 45 98             	mov    %eax,-0x68(%ebp)
4f70b7:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4f70ba:	3b 45 a0             	cmp    -0x60(%ebp),%eax
4f70bd:	7d 14                	jge    0x4f70d3
4f70bf:	ff 45 94             	incl   -0x6c(%ebp)
4f70c2:	8b 45 ec             	mov    -0x14(%ebp),%eax
4f70c5:	e8 ee 75 f2 ff       	call   0x41e6b8
4f70ca:	8b 55 90             	mov    -0x70(%ebp),%edx
4f70cd:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
4f70d0:	89 04 8a             	mov    %eax,(%edx,%ecx,4)
4f70d3:	ff 45 e4             	incl   -0x1c(%ebp)
4f70d6:	ff 4d 84             	decl   -0x7c(%ebp)
4f70d9:	0f 85 48 fe ff ff    	jne    0x4f6f27
4f70df:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4f70e2:	e8 e5 b6 f0 ff       	call   0x4027cc
4f70e7:	e9 9c 02 00 00       	jmp    0x4f7388
4f70ec:	8b c3                	mov    %ebx,%eax
4f70ee:	8b 10                	mov    (%eax),%edx
4f70f0:	ff 52 08             	call   *0x8(%edx)
4f70f3:	89 45 80             	mov    %eax,-0x80(%ebp)
4f70f6:	db 45 80             	fildl  -0x80(%ebp)
4f70f9:	d8 3d 24 74 4f 00    	fdivrs 0x4f7424
4f70ff:	8b 45 08             	mov    0x8(%ebp),%eax
4f7102:	dd 58 18             	fstpl  0x18(%eax)
4f7105:	9b                   	fwait
4f7106:	8b c3                	mov    %ebx,%eax
4f7108:	8b 10                	mov    (%eax),%edx
4f710a:	ff 52 0c             	call   *0xc(%edx)
4f710d:	85 c0                	test   %eax,%eax
4f710f:	79 03                	jns    0x4f7114
4f7111:	83 c0 07             	add    $0x7,%eax
4f7114:	c1 f8 03             	sar    $0x3,%eax
4f7117:	89 45 e0             	mov    %eax,-0x20(%ebp)
4f711a:	8b c3                	mov    %ebx,%eax
4f711c:	8b 10                	mov    (%eax),%edx
4f711e:	ff 52 0c             	call   *0xc(%edx)
4f7121:	25 07 00 00 80       	and    $0x80000007,%eax
4f7126:	79 05                	jns    0x4f712d
4f7128:	48                   	dec    %eax
4f7129:	83 c8 f8             	or     $0xfffffff8,%eax
4f712c:	40                   	inc    %eax