459ad9:	85 c9                	test   %ecx,%ecx
459adb:	0f 84 dc 00 00 00    	je     0x459bbd
459ae1:	8b 41 48             	mov    0x48(%ecx),%eax
459ae4:	85 c0                	test   %eax,%eax
459ae6:	0f 84 d1 00 00 00    	je     0x459bbd
459aec:	8b 40 48             	mov    0x48(%eax),%eax
459aef:	85 c0                	test   %eax,%eax
459af1:	0f 84 c6 00 00 00    	je     0x459bbd
459af7:	39 50 04             	cmp    %edx,0x4(%eax)
459afa:	0f 84 bd 00 00 00    	je     0x459bbd
459b00:	89 4f 04             	mov    %ecx,0x4(%edi)
459b03:	8b 41 48             	mov    0x48(%ecx),%eax
459b06:	8b 40 48             	mov    0x48(%eax),%eax
459b09:	8b 40 04             	mov    0x4(%eax),%eax
459b0c:	8b 40 08             	mov    0x8(%eax),%eax
459b0f:	89 47 24             	mov    %eax,0x24(%edi)
459b12:	8b 41 48             	mov    0x48(%ecx),%eax
459b15:	8b 40 48             	mov    0x48(%eax),%eax
459b18:	8b 40 04             	mov    0x4(%eax),%eax
459b1b:	8b 40 0c             	mov    0xc(%eax),%eax
459b1e:	89 47 28             	mov    %eax,0x28(%edi)
459b21:	8b 41 48             	mov    0x48(%ecx),%eax
459b24:	33 c9                	xor    %ecx,%ecx
459b26:	41                   	inc    %ecx
459b27:	51                   	push   %ecx
459b28:	8b 40 48             	mov    0x48(%eax),%eax
459b2b:	8b 40 04             	mov    0x4(%eax),%eax
459b2e:	8b 70 2c             	mov    0x2c(%eax),%esi
459b31:	89 48 2c             	mov    %ecx,0x2c(%eax)
459b34:	8b 47 04             	mov    0x4(%edi),%eax
459b37:	8b 40 48             	mov    0x48(%eax),%eax
459b3a:	8b 48 48             	mov    0x48(%eax),%ecx
459b3d:	8b 49 04             	mov    0x4(%ecx),%ecx
459b40:	e8 2f 5f fc ff       	call   0x41fa74
459b45:	8b 47 04             	mov    0x4(%edi),%eax
459b48:	8b 40 48             	mov    0x48(%eax),%eax
459b4b:	8b 40 48             	mov    0x48(%eax),%eax
459b4e:	8b 40 04             	mov    0x4(%eax),%eax
459b51:	89 70 2c             	mov    %esi,0x2c(%eax)
459b54:	8b 47 04             	mov    0x4(%edi),%eax
459b57:	8b 40 48             	mov    0x48(%eax),%eax
459b5a:	8b 40 48             	mov    0x48(%eax),%eax
459b5d:	8b 40 04             	mov    0x4(%eax),%eax
459b60:	ff 70 30             	push   0x30(%eax)
459b63:	ff 15 54 72 4a 00    	call   *0x4a7254
459b69:	89 47 08             	mov    %eax,0x8(%edi)
459b6c:	85 c0                	test   %eax,%eax
459b6e:	74 4d                	je     0x459bbd
459b70:	8b c8                	mov    %eax,%ecx
459b72:	e8 ed 41 fd ff       	call   0x42dd64
459b77:	8b 77 08             	mov    0x8(%edi),%esi
459b7a:	8b ce                	mov    %esi,%ecx
459b7c:	89 47 18             	mov    %eax,0x18(%edi)
459b7f:	e8 ee 3d fd ff       	call   0x42d972
459b84:	8b 57 04             	mov    0x4(%edi),%edx
459b87:	0f b7 c0             	movzwl %ax,%eax
459b8a:	03 06                	add    (%esi),%eax
459b8c:	03 c6                	add    %esi,%eax
459b8e:	89 47 0c             	mov    %eax,0xc(%edi)
459b91:	8b 42 48             	mov    0x48(%edx),%eax
459b94:	8b 48 60             	mov    0x60(%eax),%ecx
459b97:	8b 40 64             	mov    0x64(%eax),%eax
459b9a:	89 47 20             	mov    %eax,0x20(%edi)
459b9d:	89 4f 1c             	mov    %ecx,0x1c(%edi)
459ba0:	8b 42 48             	mov    0x48(%edx),%eax
459ba3:	dd 40 58             	fldl   0x58(%eax)
459ba6:	8d 47 2c             	lea    0x2c(%edi),%eax
459ba9:	50                   	push   %eax
459baa:	dd 5f 10             	fstpl  0x10(%edi)
459bad:	ff 15 00 7d 4a 00    	call   *0x4a7d00
459bb3:	c7 43 18 01 00 00 00 	movl   $0x1,0x18(%ebx)
459bba:	89 7b 20             	mov    %edi,0x20(%ebx)
459bbd:	8b c7                	mov    %edi,%eax
459bbf:	e8 dd 68 03 00       	call   0x4904a1
459bc4:	c2 08 00             	ret    $0x8
459bc7:	cc                   	int3
459bc8:	cc                   	int3
459bc9:	cc                   	int3
459bca:	cc                   	int3
459bcb:	cc                   	int3
459bcc:	cc                   	int3
459bcd:	cc                   	int3
459bce:	cc                   	int3
459bcf:	cc                   	int3
459bd0:	8b ff                	mov    %edi,%edi
459bd2:	55                   	push   %ebp
459bd3:	8b ec                	mov    %esp,%ebp
459bd5:	56                   	push   %esi
459bd6:	8b f1                	mov    %ecx,%esi
459bd8:	8b 46 04             	mov    0x4(%esi),%eax
459bdb:	c7 06 ec 44 40 00    	movl   $0x4044ec,(%esi)
459be1:	8b 40 48             	mov    0x48(%eax),%eax
459be4:	8b 40 48             	mov    0x48(%eax),%eax
459be7:	8b 40 04             	mov    0x4(%eax),%eax
459bea:	ff 70 30             	push   0x30(%eax)
459bed:	ff 15 50 72 4a 00    	call   *0x4a7250
459bf3:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
459bf7:	c7 06 4c 14 40 00    	movl   $0x40144c,(%esi)
459bfd:	74 08                	je     0x459c07
459bff:	56                   	push   %esi
459c00:	ff 15 10 74 4a 00    	call   *0x4a7410
459c06:	59                   	pop    %ecx
459c07:	8b c6                	mov    %esi,%eax
459c09:	5e                   	pop    %esi
459c0a:	5d                   	pop    %ebp
459c0b:	c2 04 00             	ret    $0x4
459c0e:	8b ff                	mov    %edi,%edi
459c10:	55                   	push   %ebp
459c11:	8b ec                	mov    %esp,%ebp
459c13:	83 e4 f8             	and    $0xfffffff8,%esp
459c16:	83 ec 5c             	sub    $0x5c,%esp
459c19:	53                   	push   %ebx
459c1a:	56                   	push   %esi
459c1b:	8b 75 08             	mov    0x8(%ebp),%esi
459c1e:	8b d9                	mov    %ecx,%ebx
459c20:	57                   	push   %edi
459c21:	85 f6                	test   %esi,%esi
459c23:	0f 84 bb 02 00 00    	je     0x459ee4
459c29:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
459c2d:	0f 84 b1 02 00 00    	je     0x459ee4
459c33:	8b 4b 04             	mov    0x4(%ebx),%ecx
459c36:	6a 00                	push   $0x0
459c38:	6a 00                	push   $0x0
459c3a:	8b 49 48             	mov    0x48(%ecx),%ecx
459c3d:	e8 f9 9a fd ff       	call   0x43373b
459c42:	d9 e8                	fld1
459c44:	6a 01                	push   $0x1
459c46:	51                   	push   %ecx
459c47:	51                   	push   %ecx
459c48:	8b 4b 04             	mov    0x4(%ebx),%ecx
459c4b:	dd 1c 24             	fstpl  (%esp)
459c4e:	8b 49 48             	mov    0x48(%ecx),%ecx
459c51:	e8 c7 99 fd ff       	call   0x43361d
459c56:	6a 08                	push   $0x8
459c58:	ff 76 08             	push   0x8(%esi)
459c5b:	ff 15 64 71 4a 00    	call   *0x4a7164
459c61:	6a 0a                	push   $0xa
459c63:	ff 76 08             	push   0x8(%esi)
459c66:	89 44 24 1c          	mov    %eax,0x1c(%esp)
459c6a:	ff 15 64 71 4a 00    	call   *0x4a7164
459c70:	6a 04                	push   $0x4
459c72:	ff 76 08             	push   0x8(%esi)
459c75:	89 44 24 20          	mov    %eax,0x20(%esp)
459c79:	ff 15 64 71 4a 00    	call   *0x4a7164
459c7f:	6a 06                	push   $0x6
459c81:	ff 76 08             	push   0x8(%esi)
459c84:	89 44 24 24          	mov    %eax,0x24(%esp)
459c88:	ff 15 64 71 4a 00    	call   *0x4a7164
459c8e:	6a 6e                	push   $0x6e
459c90:	ff 76 08             	push   0x8(%esi)
459c93:	89 44 24 28          	mov    %eax,0x28(%esp)
459c97:	ff 15 64 71 4a 00    	call   *0x4a7164
459c9d:	6a 6f                	push   $0x6f
459c9f:	ff 76 08             	push   0x8(%esi)
459ca2:	8b f8                	mov    %eax,%edi
459ca4:	ff 15 64 71 4a 00    	call   *0x4a7164
459caa:	8b f0                	mov    %eax,%esi
459cac:	8b 45 08             	mov    0x8(%ebp),%eax
459caf:	6a 70                	push   $0x70
459cb1:	ff 70 08             	push   0x8(%eax)
459cb4:	ff 15 64 71 4a 00    	call   *0x4a7164
459cba:	89 44 24 0c          	mov    %eax,0xc(%esp)
459cbe:	8b 45 08             	mov    0x8(%ebp),%eax
459cc1:	6a 71                	push   $0x71
459cc3:	ff 70 08             	push   0x8(%eax)
459cc6:	ff 15 64 71 4a 00    	call   *0x4a7164
459ccc:	db 44 24 14          	fildl  0x14(%esp)
459cd0:	2b 7c 24 0c          	sub    0xc(%esp),%edi
459cd4:	2b f0                	sub    %eax,%esi
459cd6:	2b 7c 24 14          	sub    0x14(%esp),%edi
459cda:	2b 74 24 18          	sub    0x18(%esp),%esi
459cde:	89 44 24 10          	mov    %eax,0x10(%esp)
459ce2:	dd 5c 24 28          	fstpl  0x28(%esp)
459ce6:	dd 44 24 28          	fldl   0x28(%esp)
459cea:	dd 05 d8 42 41 00    	fldl   0x4142d8
459cf0:	dc c9                	fmul   %st,%st(1)
459cf2:	db 44 24 1c          	fildl  0x1c(%esp)
459cf6:	dd 5c 24 28          	fstpl  0x28(%esp)
459cfa:	dd 44 24 28          	fldl   0x28(%esp)
459cfe:	de fa                	fdivrp %st,%st(2)
459d00:	db 44 24 18          	fildl  0x18(%esp)
459d04:	dd 5c 24 28          	fstpl  0x28(%esp)
459d08:	dc 4c 24 28          	fmull  0x28(%esp)
459d0c:	db 44 24 20          	fildl  0x20(%esp)
459d10:	dd 5c 24 28          	fstpl  0x28(%esp)
459d14:	dc 74 24 28          	fdivl  0x28(%esp)
459d18:	db 05 80 58 4a 00    	fildl  0x4a5880
459d1e:	dd 5c 24 28          	fstpl  0x28(%esp)
459d22:	dd 44 24 28          	fldl   0x28(%esp)
459d26:	d8 ca                	fmul   %st(2),%st
459d28:	dd 05 30 44 41 00    	fldl   0x414430
459d2e:	dc f9                	fdivr  %st,%st(1)
459d30:	d9 c9                	fxch   %st(1)
459d32:	e8 ea 72 03 00       	call   0x491021
459d37:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
459d3b:	f7 d9                	neg    %ecx
459d3d:	2b c8                	sub    %eax,%ecx
459d3f:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
459d43:	79 06                	jns    0x459d4b
459d45:	33 c9                	xor    %ecx,%ecx
459d47:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
459d4b:	89 4b 2c             	mov    %ecx,0x2c(%ebx)
459d4e:	db 05 84 58 4a 00    	fildl  0x4a5884
459d54:	dd 5c 24 28          	fstpl  0x28(%esp)
459d58:	dd 44 24 28          	fldl   0x28(%esp)
459d5c:	d8 ca                	fmul   %st(2),%st
459d5e:	d8 f1                	fdiv   %st(1),%st
459d60:	e8 bc 72 03 00       	call   0x491021
459d65:	8b 4c 24 10          	mov    0x10(%esp),%ecx
459d69:	f7 d9                	neg    %ecx
459d6b:	2b c8                	sub    %eax,%ecx
459d6d:	89 4c 24 10          	mov    %ecx,0x10(%esp)
459d71:	79 06                	jns    0x459d79
459d73:	33 c9                	xor    %ecx,%ecx
459d75:	89 4c 24 10          	mov    %ecx,0x10(%esp)
459d79:	89 4b 30             	mov    %ecx,0x30(%ebx)
459d7c:	db 05 88 58 4a 00    	fildl  0x4a5888
459d82:	dd 5c 24 28          	fstpl  0x28(%esp)
459d86:	dd 44 24 28          	fldl   0x28(%esp)
459d8a:	d8 cb                	fmul   %st(3),%st
459d8c:	d8 f1                	fdiv   %st(1),%st
459d8e:	e8 8e 72 03 00       	call   0x491021
459d93:	f7 df                	neg    %edi
459d95:	2b f8                	sub    %eax,%edi
459d97:	79 02                	jns    0x459d9b
459d99:	33 ff                	xor    %edi,%edi
459d9b:	89 7b 34             	mov    %edi,0x34(%ebx)
459d9e:	db 05 8c 58 4a 00    	fildl  0x4a588c
459da4:	dd 5c 24 28          	fstpl  0x28(%esp)
459da8:	dd 44 24 28          	fldl   0x28(%esp)
459dac:	d8 ca                	fmul   %st(2),%st
459dae:	de f1                	fdivp  %st,%st(1)
459db0:	e8 6c 72 03 00       	call   0x491021
459db5:	f7 de                	neg    %esi
459db7:	2b f0                	sub    %eax,%esi
459db9:	79 02                	jns    0x459dbd
459dbb:	33 f6                	xor    %esi,%esi
459dbd:	8b 44 24 0c          	mov    0xc(%esp),%eax
459dc1:	03 c7                	add    %edi,%eax
459dc3:	89 73 38             	mov    %esi,0x38(%ebx)
459dc6:	3b 44 24 14          	cmp    0x14(%esp),%eax
459dca:	7c 08                	jl     0x459dd4
459dcc:	83 63 34 00          	andl   $0x0,0x34(%ebx)
459dd0:	83 63 2c 00          	andl   $0x0,0x2c(%ebx)
459dd4:	8b 44 24 10          	mov    0x10(%esp),%eax
459dd8:	03 c6                	add    %esi,%eax
459dda:	3b 44 24 18          	cmp    0x18(%esp),%eax
459dde:	7c 08                	jl     0x459de8
459de0:	83 63 38 00          	andl   $0x0,0x38(%ebx)
459de4:	83 63 30 00          	andl   $0x0,0x30(%ebx)
459de8:	8b 43 04             	mov    0x4(%ebx),%eax
459deb:	8b 40 48             	mov    0x48(%eax),%eax
459dee:	8b 48 48             	mov    0x48(%eax),%ecx
459df1:	8b 41 3c             	mov    0x3c(%ecx),%eax
459df4:	85 c0                	test   %eax,%eax
459df6:	75 07                	jne    0x459dff
459df8:	6b 05 28 59 4a 00 0a 	imul   $0xa,0x4a5928,%eax
459dff:	89 44 24 18          	mov    %eax,0x18(%esp)
459e03:	8b 41 40             	mov    0x40(%ecx),%eax
459e06:	db 44 24 18          	fildl  0x18(%esp)
459e0a:	85 c0                	test   %eax,%eax
459e0c:	75 07                	jne    0x459e15
459e0e:	6b 05 2c 59 4a 00 0a 	imul   $0xa,0x4a592c,%eax
459e15:	db 43 24             	fildl  0x24(%ebx)
459e18:	89 44 24 18          	mov    %eax,0x18(%esp)
459e1c:	a1 90 58 4a 00       	mov    0x4a5890,%eax
459e21:	89 44 24 30          	mov    %eax,0x30(%esp)
459e25:	a1 94 58 4a 00       	mov    0x4a5894,%eax
459e2a:	89 44 24 34          	mov    %eax,0x34(%esp)
459e2e:	a1 98 58 4a 00       	mov    0x4a5898,%eax
459e33:	89 44 24 38          	mov    %eax,0x38(%esp)
459e37:	a1 9c 58 4a 00       	mov    0x4a589c,%eax
459e3c:	89 44 24 3c          	mov    %eax,0x3c(%esp)
459e40:	a1 a0 58 4a 00       	mov    0x4a58a0,%eax
459e45:	89 44 24 40          	mov    %eax,0x40(%esp)
459e49:	a1 a4 58 4a 00       	mov    0x4a58a4,%eax
459e4e:	89 44 24 44          	mov    %eax,0x44(%esp)
459e52:	dd 5c 24 28          	fstpl  0x28(%esp)
459e56:	dd 44 24 28          	fldl   0x28(%esp)
459e5a:	de cb                	fmulp  %st,%st(3)
459e5c:	8b 75 08             	mov    0x8(%ebp),%esi
459e5f:	6a 08                	push   $0x8
459e61:	de fa                	fdivrp %st,%st(2)
459e63:	d9 c9                	fxch   %st(1)
459e65:	dd 5c 24 4c          	fstpl  0x4c(%esp)
459e69:	db 43 28             	fildl  0x28(%ebx)
459e6c:	dd 5c 24 2c          	fstpl  0x2c(%esp)
459e70:	dc 4c 24 2c          	fmull  0x2c(%esp)
459e74:	db 44 24 1c          	fildl  0x1c(%esp)
459e78:	dd 5c 24 2c          	fstpl  0x2c(%esp)
459e7c:	dc 74 24 2c          	fdivl  0x2c(%esp)
459e80:	ff 76 08             	push   0x8(%esi)
459e83:	dd 5c 24 58          	fstpl  0x58(%esp)
459e87:	ff 15 64 71 4a 00    	call   *0x4a7164
459e8d:	2b 43 34             	sub    0x34(%ebx),%eax
459e90:	8d 7b 4c             	lea    0x4c(%ebx),%edi
459e93:	2b 43 2c             	sub    0x2c(%ebx),%eax
459e96:	6a 0a                	push   $0xa
459e98:	89 07                	mov    %eax,(%edi)
459e9a:	ff 76 08             	push   0x8(%esi)
459e9d:	ff 15 64 71 4a 00    	call   *0x4a7164
459ea3:	2b 43 38             	sub    0x38(%ebx),%eax
459ea6:	8d 73 54             	lea    0x54(%ebx),%esi
459ea9:	2b 43 30             	sub    0x30(%ebx),%eax
459eac:	8d 4c 24 30          	lea    0x30(%esp),%ecx
459eb0:	89 43 50             	mov    %eax,0x50(%ebx)
459eb3:	8d 44 24 24          	lea    0x24(%esp),%eax
459eb7:	50                   	push   %eax
459eb8:	56                   	push   %esi
459eb9:	8d 43 44             	lea    0x44(%ebx),%eax
459ebc:	50                   	push   %eax
459ebd:	8d 43 3c             	lea    0x3c(%ebx),%eax
459ec0:	50                   	push   %eax
459ec1:	57                   	push   %edi
459ec2:	e8 78 f5 ff ff       	call   0x45943f
459ec7:	8b 55 0c             	mov    0xc(%ebp),%edx
459eca:	8b 0e                	mov    (%esi),%ecx
459ecc:	0f af 4c 24 24       	imul   0x24(%esp),%ecx
459ed1:	8b 02                	mov    (%edx),%eax
459ed3:	8b 40 60             	mov    0x60(%eax),%eax
459ed6:	66 89 48 1e          	mov    %cx,0x1e(%eax)
459eda:	33 c0                	xor    %eax,%eax
459edc:	40                   	inc    %eax
459edd:	3b c8                	cmp    %eax,%ecx
459edf:	75 03                	jne    0x459ee4
459ee1:	89 42 18             	mov    %eax,0x18(%edx)
459ee4:	5f                   	pop    %edi
459ee5:	5e                   	pop    %esi
459ee6:	5b                   	pop    %ebx
459ee7:	8b e5                	mov    %ebp,%esp
459ee9:	5d                   	pop    %ebp
459eea:	c2 08 00             	ret    $0x8
459eed:	cc                   	int3
459eee:	8b ff                	mov    %edi,%edi
459ef0:	55                   	push   %ebp
459ef1:	8b ec                	mov    %esp,%ebp
459ef3:	83 ec 1c             	sub    $0x1c,%esp
459ef6:	56                   	push   %esi
459ef7:	8b f1                	mov    %ecx,%esi
459ef9:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
459efd:	75 07                	jne    0x459f06
459eff:	33 c0                	xor    %eax,%eax
459f01:	e9 73 01 00 00       	jmp    0x45a079
459f06:	8b 45 0c             	mov    0xc(%ebp),%eax
459f09:	33 d2                	xor    %edx,%edx
459f0b:	8b 4e 4c             	mov    0x4c(%esi),%ecx
459f0e:	53                   	push   %ebx
459f0f:	8b 5e 3c             	mov    0x3c(%esi),%ebx
459f12:	8b 40 14             	mov    0x14(%eax),%eax
459f15:	48                   	dec    %eax