658c97:	e9 bc b2 da ff       	jmp    0x403f58
658c9c:	e8 1f b6 da ff       	call   0x4042c0
658ca1:	5f                   	pop    %edi
658ca2:	5e                   	pop    %esi
658ca3:	5b                   	pop    %ebx
658ca4:	8b e5                	mov    %ebp,%esp
658ca6:	5d                   	pop    %ebp
658ca7:	c3                   	ret
658ca8:	55                   	push   %ebp
658ca9:	8b ec                	mov    %esp,%ebp
658cab:	83 c4 ac             	add    $0xffffffac,%esp
658cae:	53                   	push   %ebx
658caf:	56                   	push   %esi
658cb0:	57                   	push   %edi
658cb1:	8b d8                	mov    %eax,%ebx
658cb3:	33 d2                	xor    %edx,%edx
658cb5:	55                   	push   %ebp
658cb6:	68 13 91 65 00       	push   $0x659113
658cbb:	64 ff 32             	push   %fs:(%edx)
658cbe:	64 89 22             	mov    %esp,%fs:(%edx)
658cc1:	b1 80                	mov    $0x80,%cl
658cc3:	b2 80                	mov    $0x80,%dl
658cc5:	b0 80                	mov    $0x80,%al
658cc7:	e8 80 f2 da ff       	call   0x407f4c
658ccc:	8b d0                	mov    %eax,%edx
658cce:	8b 83 f8 02 00 00    	mov    0x2f8(%ebx),%eax
658cd4:	8b 80 60 01 00 00    	mov    0x160(%eax),%eax
658cda:	8b 40 14             	mov    0x14(%eax),%eax
658cdd:	e8 a2 f5 dc ff       	call   0x428284
658ce2:	8d 55 b0             	lea    -0x50(%ebp),%edx
658ce5:	8b b3 f8 02 00 00    	mov    0x2f8(%ebx),%esi
658ceb:	8b c6                	mov    %esi,%eax
658ced:	8b 08                	mov    (%eax),%ecx
658cef:	ff 51 44             	call   *0x44(%ecx)
658cf2:	8d 55 b0             	lea    -0x50(%ebp),%edx
658cf5:	8b 86 60 01 00 00    	mov    0x160(%esi),%eax
658cfb:	e8 fc f9 dc ff       	call   0x4286fc
658d00:	8b c3                	mov    %ebx,%eax
658d02:	e8 21 04 00 00       	call   0x659128
658d07:	dd 5d d0             	fstpl  -0x30(%ebp)
658d0a:	9b                   	fwait
658d0b:	83 bb 58 03 00 00 00 	cmpl   $0x0,0x358(%ebx)
658d12:	75 26                	jne    0x658d3a
658d14:	db 83 50 03 00 00    	fildl  0x350(%ebx)
658d1a:	8b 83 f0 02 00 00    	mov    0x2f0(%ebx),%eax
658d20:	db 40 48             	fildl  0x48(%eax)
658d23:	de f9                	fdivrp %st,%st(1)
658d25:	dd 5d c8             	fstpl  -0x38(%ebp)
658d28:	9b db 83 54 03 00 00 	fildl  0x354(%ebx)
658d2f:	db 40 4c             	fildl  0x4c(%eax)
658d32:	de f9                	fdivrp %st,%st(1)
658d34:	dd 5d c0             	fstpl  -0x40(%ebp)
658d37:	9b                   	fwait
658d38:	eb 18                	jmp    0x658d52
658d3a:	33 c0                	xor    %eax,%eax
658d3c:	89 45 c8             	mov    %eax,-0x38(%ebp)
658d3f:	c7 45 cc 00 00 e0 3f 	movl   $0x3fe00000,-0x34(%ebp)
658d46:	33 c0                	xor    %eax,%eax
658d48:	89 45 c0             	mov    %eax,-0x40(%ebp)
658d4b:	c7 45 c4 00 00 e0 3f 	movl   $0x3fe00000,-0x3c(%ebp)
658d52:	8b 83 f8 02 00 00    	mov    0x2f8(%ebx),%eax
658d58:	8b 50 48             	mov    0x48(%eax),%edx
658d5b:	89 55 fc             	mov    %edx,-0x4(%ebp)
658d5e:	8b 40 4c             	mov    0x4c(%eax),%eax
658d61:	89 45 f8             	mov    %eax,-0x8(%ebp)
658d64:	db 45 fc             	fildl  -0x4(%ebp)
658d67:	dc 75 d0             	fdivl  -0x30(%ebp)
658d6a:	83 c4 f4             	add    $0xfffffff4,%esp
658d6d:	db 3c 24             	fstpt  (%esp)
658d70:	9b                   	fwait
658d71:	e8 ee 6a dd ff       	call   0x42f864
658d76:	89 45 f4             	mov    %eax,-0xc(%ebp)
658d79:	db 45 f8             	fildl  -0x8(%ebp)
658d7c:	dc 75 d0             	fdivl  -0x30(%ebp)
658d7f:	83 c4 f4             	add    $0xfffffff4,%esp
658d82:	db 3c 24             	fstpt  (%esp)
658d85:	9b                   	fwait
658d86:	e8 d9 6a dd ff       	call   0x42f864
658d8b:	89 45 f0             	mov    %eax,-0x10(%ebp)
658d8e:	8b 93 50 03 00 00    	mov    0x350(%ebx),%edx
658d94:	8b 83 f0 02 00 00    	mov    0x2f0(%ebx),%eax
658d9a:	e8 11 04 f8 ff       	call   0x5d91b0
658d9f:	8b f0                	mov    %eax,%esi
658da1:	8b 93 54 03 00 00    	mov    0x354(%ebx),%edx
658da7:	8b 83 f0 02 00 00    	mov    0x2f0(%ebx),%eax
658dad:	e8 4a 04 f8 ff       	call   0x5d91fc
658db2:	8b f8                	mov    %eax,%edi
658db4:	db 45 f4             	fildl  -0xc(%ebp)
658db7:	dc 4d c8             	fmull  -0x38(%ebp)
658dba:	89 75 ac             	mov    %esi,-0x54(%ebp)
658dbd:	db 45 ac             	fildl  -0x54(%ebp)
658dc0:	de e1                	fsubp  %st,%st(1)
658dc2:	83 c4 f4             	add    $0xfffffff4,%esp
658dc5:	db 3c 24             	fstpt  (%esp)
658dc8:	9b                   	fwait
658dc9:	e8 96 6a dd ff       	call   0x42f864
658dce:	8b f0                	mov    %eax,%esi
658dd0:	db 45 f0             	fildl  -0x10(%ebp)
658dd3:	dc 4d c0             	fmull  -0x40(%ebp)
658dd6:	89 7d ac             	mov    %edi,-0x54(%ebp)
658dd9:	db 45 ac             	fildl  -0x54(%ebp)
658ddc:	de e1                	fsubp  %st,%st(1)
658dde:	83 c4 f4             	add    $0xfffffff4,%esp
658de1:	db 3c 24             	fstpt  (%esp)
658de4:	9b                   	fwait
658de5:	e8 7a 6a dd ff       	call   0x42f864
658dea:	8b f8                	mov    %eax,%edi
658dec:	33 c0                	xor    %eax,%eax
658dee:	89 45 ec             	mov    %eax,-0x14(%ebp)
658df1:	33 c0                	xor    %eax,%eax
658df3:	89 45 e8             	mov    %eax,-0x18(%ebp)
658df6:	85 f6                	test   %esi,%esi
658df8:	7d 1a                	jge    0x658e14
658dfa:	f7 de                	neg    %esi
658dfc:	89 75 ac             	mov    %esi,-0x54(%ebp)
658dff:	db 45 ac             	fildl  -0x54(%ebp)
658e02:	dc 4d d0             	fmull  -0x30(%ebp)
658e05:	83 c4 f4             	add    $0xfffffff4,%esp
658e08:	db 3c 24             	fstpt  (%esp)
658e0b:	9b                   	fwait
658e0c:	e8 53 6a dd ff       	call   0x42f864
658e11:	89 45 ec             	mov    %eax,-0x14(%ebp)
658e14:	85 ff                	test   %edi,%edi
658e16:	7d 1a                	jge    0x658e32
658e18:	f7 df                	neg    %edi
658e1a:	89 7d ac             	mov    %edi,-0x54(%ebp)
658e1d:	db 45 ac             	fildl  -0x54(%ebp)
658e20:	dc 4d d0             	fmull  -0x30(%ebp)
658e23:	83 c4 f4             	add    $0xfffffff4,%esp
658e26:	db 3c 24             	fstpt  (%esp)
658e29:	9b                   	fwait
658e2a:	e8 35 6a dd ff       	call   0x42f864
658e2f:	89 45 e8             	mov    %eax,-0x18(%ebp)
658e32:	8b 93 50 03 00 00    	mov    0x350(%ebx),%edx
658e38:	8b 83 f0 02 00 00    	mov    0x2f0(%ebx),%eax
658e3e:	e8 6d 03 f8 ff       	call   0x5d91b0
658e43:	8b f0                	mov    %eax,%esi
658e45:	8b 93 54 03 00 00    	mov    0x354(%ebx),%edx
658e4b:	8b 83 f0 02 00 00    	mov    0x2f0(%ebx),%eax
658e51:	e8 a6 03 f8 ff       	call   0x5d91fc
658e56:	8b f8                	mov    %eax,%edi
658e58:	89 75 ac             	mov    %esi,-0x54(%ebp)
658e5b:	db 45 ac             	fildl  -0x54(%ebp)
658e5e:	dc 4d d0             	fmull  -0x30(%ebp)
658e61:	e8 5a 9e da ff       	call   0x402cc0
658e66:	50                   	push   %eax
658e67:	db 45 fc             	fildl  -0x4(%ebp)
658e6a:	dc 4d c8             	fmull  -0x38(%ebp)
658e6d:	e8 4e 9e da ff       	call   0x402cc0
658e72:	5a                   	pop    %edx
658e73:	2b d0                	sub    %eax,%edx
658e75:	8b f2                	mov    %edx,%esi
658e77:	89 7d ac             	mov    %edi,-0x54(%ebp)
658e7a:	db 45 ac             	fildl  -0x54(%ebp)
658e7d:	dc 4d d0             	fmull  -0x30(%ebp)
658e80:	e8 3b 9e da ff       	call   0x402cc0
658e85:	50                   	push   %eax
658e86:	db 45 f8             	fildl  -0x8(%ebp)
658e89:	dc 4d c0             	fmull  -0x40(%ebp)
658e8c:	e8 2f 9e da ff       	call   0x402cc0
658e91:	5a                   	pop    %edx
658e92:	2b d0                	sub    %eax,%edx
658e94:	8b fa                	mov    %edx,%edi
658e96:	33 d2                	xor    %edx,%edx
658e98:	8b c6                	mov    %esi,%eax
658e9a:	e8 71 6b dd ff       	call   0x42fa10
658e9f:	8b f0                	mov    %eax,%esi
658ea1:	33 d2                	xor    %edx,%edx
658ea3:	8b c7                	mov    %edi,%eax
658ea5:	e8 66 6b dd ff       	call   0x42fa10
658eaa:	8b f8                	mov    %eax,%edi
658eac:	8b 83 f0 02 00 00    	mov    0x2f0(%ebx),%eax
658eb2:	8b 10                	mov    (%eax),%edx
658eb4:	ff 92 d0 00 00 00    	call   *0xd0(%edx)
658eba:	8b 10                	mov    (%eax),%edx
658ebc:	ff 52 0c             	call   *0xc(%edx)
658ebf:	89 45 ac             	mov    %eax,-0x54(%ebp)
658ec2:	db 45 ac             	fildl  -0x54(%ebp)
658ec5:	dc 4d d0             	fmull  -0x30(%ebp)
658ec8:	e8 f3 9d da ff       	call   0x402cc0
658ecd:	89 45 e0             	mov    %eax,-0x20(%ebp)
658ed0:	8b 83 f0 02 00 00    	mov    0x2f0(%ebx),%eax
658ed6:	8b 10                	mov    (%eax),%edx
658ed8:	ff 92 d0 00 00 00    	call   *0xd0(%edx)
658ede:	8b 10                	mov    (%eax),%edx
658ee0:	ff 52 08             	call   *0x8(%edx)
658ee3:	89 45 ac             	mov    %eax,-0x54(%ebp)
658ee6:	db 45 ac             	fildl  -0x54(%ebp)
658ee9:	dc 4d d0             	fmull  -0x30(%ebp)
658eec:	e8 cf 9d da ff       	call   0x402cc0
658ef1:	89 45 dc             	mov    %eax,-0x24(%ebp)
658ef4:	8b 55 e0             	mov    -0x20(%ebp),%edx
658ef7:	2b d6                	sub    %esi,%edx
658ef9:	8b 45 fc             	mov    -0x4(%ebp),%eax
658efc:	e8 8b 6a dd ff       	call   0x42f98c
658f01:	89 45 f4             	mov    %eax,-0xc(%ebp)
658f04:	8b 55 dc             	mov    -0x24(%ebp),%edx
658f07:	2b d7                	sub    %edi,%edx
658f09:	8b 45 f8             	mov    -0x8(%ebp),%eax
658f0c:	e8 7b 6a dd ff       	call   0x42f98c
658f11:	89 45 f0             	mov    %eax,-0x10(%ebp)
658f14:	83 bb 58 03 00 00 00 	cmpl   $0x0,0x358(%ebx)
658f1b:	0f 85 40 01 00 00    	jne    0x659061
658f21:	8b 45 e0             	mov    -0x20(%ebp),%eax
658f24:	3b 45 fc             	cmp    -0x4(%ebp),%eax
658f27:	7e 5b                	jle    0x658f84
658f29:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
658f2d:	7e 2e                	jle    0x658f5d
658f2f:	8b 45 f4             	mov    -0xc(%ebp),%eax
658f32:	03 c6                	add    %esi,%eax
658f34:	8b 55 e0             	mov    -0x20(%ebp),%edx
658f37:	2b d0                	sub    %eax,%edx
658f39:	89 55 e4             	mov    %edx,-0x1c(%ebp)
658f3c:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
658f40:	7e 7f                	jle    0x658fc1
658f42:	8b 55 e4             	mov    -0x1c(%ebp),%edx
658f45:	2b 55 ec             	sub    -0x14(%ebp),%edx
658f48:	33 c0                	xor    %eax,%eax
658f4a:	e8 3d 6a dd ff       	call   0x42f98c
658f4f:	8b d0                	mov    %eax,%edx
658f51:	33 c0                	xor    %eax,%eax
658f53:	e8 b8 6a dd ff       	call   0x42fa10
658f58:	89 45 ec             	mov    %eax,-0x14(%ebp)
658f5b:	eb 64                	jmp    0x658fc1
658f5d:	8b 45 f4             	mov    -0xc(%ebp),%eax
658f60:	3b 45 fc             	cmp    -0x4(%ebp),%eax
658f63:	7d 5c                	jge    0x658fc1
658f65:	85 f6                	test   %esi,%esi
658f67:	7e 58                	jle    0x658fc1
658f69:	8b 45 fc             	mov    -0x4(%ebp),%eax
658f6c:	2b 45 f4             	sub    -0xc(%ebp),%eax
658f6f:	8b d6                	mov    %esi,%edx
658f71:	e8 16 6a dd ff       	call   0x42f98c
658f76:	89 45 e4             	mov    %eax,-0x1c(%ebp)
658f79:	8b 45 e4             	mov    -0x1c(%ebp),%eax
658f7c:	01 45 f4             	add    %eax,-0xc(%ebp)
658f7f:	2b 75 e4             	sub    -0x1c(%ebp),%esi
658f82:	eb 3d                	jmp    0x658fc1
658f84:	85 f6                	test   %esi,%esi
658f86:	7e 19                	jle    0x658fa1
658f88:	33 c0                	xor    %eax,%eax
658f8a:	89 45 ec             	mov    %eax,-0x14(%ebp)
658f8d:	33 f6                	xor    %esi,%esi
658f8f:	8b 55 e0             	mov    -0x20(%ebp),%edx
658f92:	2b d6                	sub    %esi,%edx
658f94:	8b 45 fc             	mov    -0x4(%ebp),%eax
658f97:	e8 f0 69 dd ff       	call   0x42f98c
658f9c:	89 45 f4             	mov    %eax,-0xc(%ebp)
658f9f:	eb 20                	jmp    0x658fc1
658fa1:	8b 45 fc             	mov    -0x4(%ebp),%eax
658fa4:	2b 45 e0             	sub    -0x20(%ebp),%eax
658fa7:	3b 45 ec             	cmp    -0x14(%ebp),%eax
658faa:	7d 15                	jge    0x658fc1
658fac:	89 45 ec             	mov    %eax,-0x14(%ebp)
658faf:	33 f6                	xor    %esi,%esi
658fb1:	8b 55 e0             	mov    -0x20(%ebp),%edx
658fb4:	2b d6                	sub    %esi,%edx
658fb6:	8b 45 fc             	mov    -0x4(%ebp),%eax
658fb9:	e8 ce 69 dd ff       	call   0x42f98c
658fbe:	89 45 f4             	mov    %eax,-0xc(%ebp)
658fc1:	8b 45 dc             	mov    -0x24(%ebp),%eax
658fc4:	3b 45 f8             	cmp    -0x8(%ebp),%eax
658fc7:	7e 5b                	jle    0x659024
658fc9:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
658fcd:	7e 2e                	jle    0x658ffd
658fcf:	8b 45 f0             	mov    -0x10(%ebp),%eax
658fd2:	03 c7                	add    %edi,%eax
658fd4:	8b 55 dc             	mov    -0x24(%ebp),%edx
658fd7:	2b d0                	sub    %eax,%edx
658fd9:	89 55 e4             	mov    %edx,-0x1c(%ebp)
658fdc:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
658fe0:	7e 7f                	jle    0x659061
658fe2:	8b 55 e4             	mov    -0x1c(%ebp),%edx
658fe5:	2b 55 e8             	sub    -0x18(%ebp),%edx
658fe8:	33 c0                	xor    %eax,%eax
658fea:	e8 9d 69 dd ff       	call   0x42f98c
658fef:	8b d0                	mov    %eax,%edx
658ff1:	33 c0                	xor    %eax,%eax
658ff3:	e8 18 6a dd ff       	call   0x42fa10
658ff8:	89 45 e8             	mov    %eax,-0x18(%ebp)
658ffb:	eb 64                	jmp    0x659061
658ffd:	8b 45 f0             	mov    -0x10(%ebp),%eax
659000:	3b 45 f8             	cmp    -0x8(%ebp),%eax
659003:	7d 5c                	jge    0x659061
659005:	85 ff                	test   %edi,%edi
659007:	7e 58                	jle    0x659061
659009:	8b 45 f8             	mov    -0x8(%ebp),%eax
65900c:	2b 45 f0             	sub    -0x10(%ebp),%eax
65900f:	8b d7                	mov    %edi,%edx
659011:	e8 76 69 dd ff       	call   0x42f98c
659016:	89 45 e4             	mov    %eax,-0x1c(%ebp)
659019:	8b 45 e4             	mov    -0x1c(%ebp),%eax
65901c:	01 45 f0             	add    %eax,-0x10(%ebp)
65901f:	2b 7d e4             	sub    -0x1c(%ebp),%edi
659022:	eb 3d                	jmp    0x659061
659024:	85 ff                	test   %edi,%edi
659026:	7e 19                	jle    0x659041
659028:	33 c0                	xor    %eax,%eax
65902a:	89 45 e8             	mov    %eax,-0x18(%ebp)
65902d:	33 ff                	xor    %edi,%edi
65902f:	8b 55 dc             	mov    -0x24(%ebp),%edx
659032:	2b d7                	sub    %edi,%edx
659034:	8b 45 f8             	mov    -0x8(%ebp),%eax
659037:	e8 50 69 dd ff       	call   0x42f98c
65903c:	89 45 f0             	mov    %eax,-0x10(%ebp)
65903f:	eb 20                	jmp    0x659061
659041:	8b 45 f8             	mov    -0x8(%ebp),%eax
659044:	2b 45 dc             	sub    -0x24(%ebp),%eax
659047:	3b 45 e8             	cmp    -0x18(%ebp),%eax
65904a:	7d 15                	jge    0x659061
65904c:	89 45 e8             	mov    %eax,-0x18(%ebp)
65904f:	33 ff                	xor    %edi,%edi
659051:	8b 55 dc             	mov    -0x24(%ebp),%edx
659054:	2b d7                	sub    %edi,%edx
659056:	8b 45 f8             	mov    -0x8(%ebp),%eax
659059:	e8 2e 69 dd ff       	call   0x42f98c
65905e:	89 45 f0             	mov    %eax,-0x10(%ebp)
659061:	dd 45 d0             	fldl   -0x30(%ebp)
659064:	d8 1d 24 91 65 00    	fcomps 0x659124
65906a:	df e0                	fnstsw %ax
65906c:	9e                   	sahf
65906d:	75 5b                	jne    0x6590ca
65906f:	8b 83 f0 02 00 00    	mov    0x2f0(%ebx),%eax
659075:	8b 10                	mov    (%eax),%edx
659077:	ff 92 d8 00 00 00    	call   *0xd8(%edx)
65907d:	84 c0                	test   %al,%al
65907f:	75 49                	jne    0x6590ca
659081:	68 20 00 cc 00       	push   $0xcc0020
659086:	57                   	push   %edi
659087:	56                   	push   %esi
659088:	8b 83 f0 02 00 00    	mov    0x2f0(%ebx),%eax
65908e:	8b 10                	mov    (%eax),%edx
659090:	ff 92 d0 00 00 00    	call   *0xd0(%edx)
659096:	e8 35 36 fa ff       	call   0x5fc6d0
65909b:	e8 20 fc dc ff       	call   0x428cc0
6590a0:	50                   	push   %eax
6590a1:	8b 45 f0             	mov    -0x10(%ebp),%eax
6590a4:	50                   	push   %eax
6590a5:	8b 45 f4             	mov    -0xc(%ebp),%eax
6590a8:	50                   	push   %eax
6590a9:	8b 45 e8             	mov    -0x18(%ebp),%eax
6590ac:	50                   	push   %eax
6590ad:	8b 45 ec             	mov    -0x14(%ebp),%eax
6590b0:	50                   	push   %eax
6590b1:	8b 83 f8 02 00 00    	mov    0x2f8(%ebx),%eax
6590b7:	8b 80 60 01 00 00    	mov    0x160(%eax),%eax
6590bd:	e8 fe fb dc ff       	call   0x428cc0
6590c2:	50                   	push   %eax
6590c3:	e8 70 e3 da ff       	call   0x407438
6590c8:	eb 3f                	jmp    0x659109