487d02:	0f b6 46 03          	movzbl 0x3(%esi),%eax
487d06:	d9 5d f8             	fstps  -0x8(%ebp)
487d09:	d9 45 f8             	flds   -0x8(%ebp)
487d0c:	dc 0d 88 41 41 00    	fmull  0x414188
487d12:	d9 5d ec             	fstps  -0x14(%ebp)
487d15:	d9 45 ec             	flds   -0x14(%ebp)
487d18:	89 45 ec             	mov    %eax,-0x14(%ebp)
487d1b:	db 45 ec             	fildl  -0x14(%ebp)
487d1e:	dd 5d e8             	fstpl  -0x18(%ebp)
487d21:	dc 4d e8             	fmull  -0x18(%ebp)
487d24:	e8 f2 92 00 00       	call   0x49101b
487d29:	88 46 03             	mov    %al,0x3(%esi)
487d2c:	eb 04                	jmp    0x487d32
487d2e:	dd d8                	fstp   %st(0)
487d30:	dd d8                	fstp   %st(0)
487d32:	dd 45 c8             	fldl   -0x38(%ebp)
487d35:	83 c6 04             	add    $0x4,%esi
487d38:	dd 45 d8             	fldl   -0x28(%ebp)
487d3b:	47                   	inc    %edi
487d3c:	89 7d f8             	mov    %edi,-0x8(%ebp)
487d3f:	3b fb                	cmp    %ebx,%edi
487d41:	0f 8c 58 ff ff ff    	jl     0x487c9f
487d47:	89 75 f4             	mov    %esi,-0xc(%ebp)
487d4a:	dd d9                	fstp   %st(1)
487d4c:	8b 75 fc             	mov    -0x4(%ebp),%esi
487d4f:	dd d8                	fstp   %st(0)
487d51:	dd 45 d8             	fldl   -0x28(%ebp)
487d54:	46                   	inc    %esi
487d55:	89 75 fc             	mov    %esi,-0x4(%ebp)
487d58:	3b f3                	cmp    %ebx,%esi
487d5a:	0f 8c 1f ff ff ff    	jl     0x487c7f
487d60:	8b 7d 08             	mov    0x8(%ebp),%edi
487d63:	dd d8                	fstp   %st(0)
487d65:	8d 45 a0             	lea    -0x60(%ebp),%eax
487d68:	50                   	push   %eax
487d69:	ff 77 04             	push   0x4(%edi)
487d6c:	ff 15 04 c1 4a 00    	call   *0x4ac104
487d72:	85 c0                	test   %eax,%eax
487d74:	74 03                	je     0x487d79
487d76:	89 47 08             	mov    %eax,0x8(%edi)
487d79:	ff 75 d0             	push   -0x30(%ebp)
487d7c:	ff 15 2c c0 4a 00    	call   *0x4ac02c
487d82:	5f                   	pop    %edi
487d83:	5e                   	pop    %esi
487d84:	5b                   	pop    %ebx
487d85:	c9                   	leave
487d86:	c2 08 00             	ret    $0x8
487d89:	8b ff                	mov    %edi,%edi
487d8b:	55                   	push   %ebp
487d8c:	8b ec                	mov    %esp,%ebp
487d8e:	83 ec 2c             	sub    $0x2c,%esp
487d91:	db 45 0c             	fildl  0xc(%ebp)
487d94:	53                   	push   %ebx
487d95:	8b 5d 0c             	mov    0xc(%ebp),%ebx
487d98:	56                   	push   %esi
487d99:	8b f2                	mov    %edx,%esi
487d9b:	d9 5d f8             	fstps  -0x8(%ebp)
487d9e:	d9 45 f8             	flds   -0x8(%ebp)
487da1:	57                   	push   %edi
487da2:	f6 c3 01             	test   $0x1,%bl
487da5:	74 1a                	je     0x487dc1
487da7:	8b c3                	mov    %ebx,%eax
487da9:	99                   	cltd
487daa:	2b c2                	sub    %edx,%eax
487dac:	d1 f8                	sar    $1,%eax
487dae:	89 45 f8             	mov    %eax,-0x8(%ebp)
487db1:	db 45 f8             	fildl  -0x8(%ebp)
487db4:	d9 5d fc             	fstps  -0x4(%ebp)
487db7:	dd 05 88 41 41 00    	fldl   0x414188
487dbd:	dc e9                	fsubr  %st,%st(1)
487dbf:	eb 1c                	jmp    0x487ddd
487dc1:	8d 43 ff             	lea    -0x1(%ebx),%eax
487dc4:	89 45 f8             	mov    %eax,-0x8(%ebp)
487dc7:	db 45 f8             	fildl  -0x8(%ebp)
487dca:	d9 5d f8             	fstps  -0x8(%ebp)
487dcd:	d9 45 f8             	flds   -0x8(%ebp)
487dd0:	dd 05 88 41 41 00    	fldl   0x414188
487dd6:	dc c9                	fmul   %st,%st(1)
487dd8:	d9 c9                	fxch   %st(1)
487dda:	d9 5d fc             	fstps  -0x4(%ebp)
487ddd:	d9 45 fc             	flds   -0x4(%ebp)
487de0:	8d 4d e0             	lea    -0x20(%ebp),%ecx
487de3:	ff 75 08             	push   0x8(%ebp)
487de6:	d9 5d fc             	fstps  -0x4(%ebp)
487de9:	de c9                	fmulp  %st,%st(1)
487deb:	d9 5d f4             	fstps  -0xc(%ebp)
487dee:	e8 b5 17 fb ff       	call   0x4395a8
487df3:	8b 7d e0             	mov    -0x20(%ebp),%edi
487df6:	6a 01                	push   $0x1
487df8:	57                   	push   %edi
487df9:	ff 15 4c c0 4a 00    	call   *0x4ac04c
487dff:	53                   	push   %ebx
487e00:	53                   	push   %ebx
487e01:	6a 00                	push   $0x0
487e03:	6a 00                	push   $0x0
487e05:	ff 76 04             	push   0x4(%esi)
487e08:	57                   	push   %edi
487e09:	ff 15 40 c0 4a 00    	call   *0x4ac040
487e0f:	33 f6                	xor    %esi,%esi
487e11:	89 75 f8             	mov    %esi,-0x8(%ebp)
487e14:	85 db                	test   %ebx,%ebx
487e16:	0f 8e 9e 00 00 00    	jle    0x487eba
487e1c:	d9 45 fc             	flds   -0x4(%ebp)
487e1f:	dd 55 e8             	fstl   -0x18(%ebp)
487e22:	db 45 f8             	fildl  -0x8(%ebp)
487e25:	33 ff                	xor    %edi,%edi
487e27:	89 7d fc             	mov    %edi,-0x4(%ebp)
487e2a:	d9 5d f8             	fstps  -0x8(%ebp)
487e2d:	d9 45 f8             	flds   -0x8(%ebp)
487e30:	d8 e1                	fsub   %st(1),%st
487e32:	d9 5d f8             	fstps  -0x8(%ebp)
487e35:	d9 45 f8             	flds   -0x8(%ebp)
487e38:	dc c8                	fmul   %st,%st(0)
487e3a:	dd 55 d8             	fstl   -0x28(%ebp)
487e3d:	eb 02                	jmp    0x487e41
487e3f:	d9 c9                	fxch   %st(1)
487e41:	db 45 fc             	fildl  -0x4(%ebp)
487e44:	d9 5d f8             	fstps  -0x8(%ebp)
487e47:	d9 45 f8             	flds   -0x8(%ebp)
487e4a:	de e2                	fsubp  %st,%st(2)
487e4c:	d9 c9                	fxch   %st(1)
487e4e:	d9 5d f8             	fstps  -0x8(%ebp)
487e51:	d9 45 f8             	flds   -0x8(%ebp)
487e54:	dc c8                	fmul   %st,%st(0)
487e56:	de c1                	faddp  %st,%st(1)
487e58:	d9 5d f8             	fstps  -0x8(%ebp)
487e5b:	d9 45 f8             	flds   -0x8(%ebp)
487e5e:	e8 7e 90 00 00       	call   0x490ee1
487e63:	d9 5d f8             	fstps  -0x8(%ebp)
487e66:	d9 45 f8             	flds   -0x8(%ebp)
487e69:	d9 45 f4             	flds   -0xc(%ebp)
487e6c:	de d9                	fcompp
487e6e:	df e0                	fnstsw %ax
487e70:	f6 c4 05             	test   $0x5,%ah
487e73:	7a 1f                	jp     0x487e94
487e75:	8b 45 08             	mov    0x8(%ebp),%eax
487e78:	68 ff ff ff 00       	push   $0xffffff
487e7d:	56                   	push   %esi
487e7e:	57                   	push   %edi
487e7f:	ff 70 04             	push   0x4(%eax)
487e82:	ff 15 10 c1 4a 00    	call   *0x4ac110
487e88:	8b c8                	mov    %eax,%ecx
487e8a:	85 c9                	test   %ecx,%ecx
487e8c:	74 06                	je     0x487e94
487e8e:	8b 45 08             	mov    0x8(%ebp),%eax
487e91:	89 48 08             	mov    %ecx,0x8(%eax)
487e94:	dd 45 d8             	fldl   -0x28(%ebp)
487e97:	47                   	inc    %edi
487e98:	dd 45 e8             	fldl   -0x18(%ebp)
487e9b:	89 7d fc             	mov    %edi,-0x4(%ebp)
487e9e:	3b fb                	cmp    %ebx,%edi
487ea0:	7c 9d                	jl     0x487e3f
487ea2:	dd d9                	fstp   %st(1)
487ea4:	46                   	inc    %esi
487ea5:	89 75 f8             	mov    %esi,-0x8(%ebp)
487ea8:	dd d8                	fstp   %st(0)
487eaa:	dd 45 e8             	fldl   -0x18(%ebp)
487ead:	3b f3                	cmp    %ebx,%esi
487eaf:	0f 8c 6d ff ff ff    	jl     0x487e22
487eb5:	8b 7d e0             	mov    -0x20(%ebp),%edi
487eb8:	dd d8                	fstp   %st(0)
487eba:	57                   	push   %edi
487ebb:	ff 15 2c c0 4a 00    	call   *0x4ac02c
487ec1:	5f                   	pop    %edi
487ec2:	5e                   	pop    %esi
487ec3:	5b                   	pop    %ebx
487ec4:	c9                   	leave
487ec5:	c2 08 00             	ret    $0x8
487ec8:	8b ff                	mov    %edi,%edi
487eca:	55                   	push   %ebp
487ecb:	8b ec                	mov    %esp,%ebp
487ecd:	83 ec 14             	sub    $0x14,%esp
487ed0:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
487ed4:	8d 45 fc             	lea    -0x4(%ebp),%eax
487ed7:	53                   	push   %ebx
487ed8:	56                   	push   %esi
487ed9:	57                   	push   %edi
487eda:	8b f9                	mov    %ecx,%edi
487edc:	8b da                	mov    %edx,%ebx
487ede:	50                   	push   %eax
487edf:	ff 37                	push   (%edi)
487ee1:	ff 15 d8 c0 4a 00    	call   *0x4ac0d8
487ee7:	85 c0                	test   %eax,%eax
487ee9:	74 03                	je     0x487eee
487eeb:	89 47 04             	mov    %eax,0x4(%edi)
487eee:	8b 75 10             	mov    0x10(%ebp),%esi
487ef1:	8d 46 ff             	lea    -0x1(%esi),%eax
487ef4:	83 f8 0f             	cmp    $0xf,%eax
487ef7:	77 5c                	ja     0x487f55
487ef9:	8b 04 b5 5c 48 4a 00 	mov    0x4a485c(,%esi,4),%eax
487f00:	85 c0                	test   %eax,%eax
487f02:	75 25                	jne    0x487f29
487f04:	6a 10                	push   $0x10
487f06:	ff 15 08 c0 4a 00    	call   *0x4ac008
487f0c:	85 c0                	test   %eax,%eax
487f0e:	74 10                	je     0x487f20
487f10:	68 0a 20 26 00       	push   $0x26200a
487f15:	56                   	push   %esi
487f16:	56                   	push   %esi
487f17:	8b c8                	mov    %eax,%ecx
487f19:	e8 de 16 fb ff       	call   0x4395fc
487f1e:	eb 02                	jmp    0x487f22
487f20:	33 c0                	xor    %eax,%eax
487f22:	89 04 b5 5c 48 4a 00 	mov    %eax,0x4a485c(,%esi,4)
487f29:	83 7d fc 03          	cmpl   $0x3,-0x4(%ebp)
487f2d:	8b d3                	mov    %ebx,%edx
487f2f:	56                   	push   %esi
487f30:	50                   	push   %eax
487f31:	75 07                	jne    0x487f3a
487f33:	e8 51 fe ff ff       	call   0x487d89
487f38:	eb 05                	jmp    0x487f3f
487f3a:	e8 5e fc ff ff       	call   0x487b9d
487f3f:	ff 75 0c             	push   0xc(%ebp)
487f42:	8b cf                	mov    %edi,%ecx
487f44:	ff 75 08             	push   0x8(%ebp)
487f47:	ff 34 b5 5c 48 4a 00 	push   0x4a485c(,%esi,4)
487f4e:	e8 d4 a2 ff ff       	call   0x482227
487f53:	eb 42                	jmp    0x487f97
487f55:	68 0a 20 26 00       	push   $0x26200a
487f5a:	56                   	push   %esi
487f5b:	56                   	push   %esi
487f5c:	8d 4d ec             	lea    -0x14(%ebp),%ecx
487f5f:	e8 98 16 fb ff       	call   0x4395fc
487f64:	83 7d fc 03          	cmpl   $0x3,-0x4(%ebp)
487f68:	8d 45 ec             	lea    -0x14(%ebp),%eax
487f6b:	56                   	push   %esi
487f6c:	8b d3                	mov    %ebx,%edx
487f6e:	50                   	push   %eax
487f6f:	75 07                	jne    0x487f78
487f71:	e8 13 fe ff ff       	call   0x487d89
487f76:	eb 05                	jmp    0x487f7d
487f78:	e8 20 fc ff ff       	call   0x487b9d
487f7d:	ff 75 0c             	push   0xc(%ebp)
487f80:	8d 45 ec             	lea    -0x14(%ebp),%eax
487f83:	8b cf                	mov    %edi,%ecx
487f85:	ff 75 08             	push   0x8(%ebp)
487f88:	50                   	push   %eax
487f89:	e8 99 a2 ff ff       	call   0x482227
487f8e:	ff 75 f0             	push   -0x10(%ebp)
487f91:	ff 15 10 c0 4a 00    	call   *0x4ac010
487f97:	5f                   	pop    %edi
487f98:	5e                   	pop    %esi
487f99:	5b                   	pop    %ebx
487f9a:	c9                   	leave
487f9b:	c2 10 00             	ret    $0x10
487f9e:	8b ff                	mov    %edi,%edi
487fa0:	55                   	push   %ebp
487fa1:	8b ec                	mov    %esp,%ebp
487fa3:	83 ec 4c             	sub    $0x4c,%esp
487fa6:	a1 dc 38 4a 00       	mov    0x4a38dc,%eax
487fab:	33 c5                	xor    %ebp,%eax
487fad:	89 45 fc             	mov    %eax,-0x4(%ebp)
487fb0:	8b 45 08             	mov    0x8(%ebp),%eax
487fb3:	53                   	push   %ebx
487fb4:	8b d9                	mov    %ecx,%ebx
487fb6:	40                   	inc    %eax
487fb7:	56                   	push   %esi
487fb8:	89 45 e8             	mov    %eax,-0x18(%ebp)
487fbb:	8b 45 0c             	mov    0xc(%ebp),%eax
487fbe:	57                   	push   %edi
487fbf:	33 ff                	xor    %edi,%edi
487fc1:	89 5d c8             	mov    %ebx,-0x38(%ebp)
487fc4:	40                   	inc    %eax
487fc5:	89 3b                	mov    %edi,(%ebx)
487fc7:	57                   	push   %edi
487fc8:	89 45 e0             	mov    %eax,-0x20(%ebp)
487fcb:	89 7b 04             	mov    %edi,0x4(%ebx)
487fce:	89 7b 08             	mov    %edi,0x8(%ebx)
487fd1:	89 7b 0c             	mov    %edi,0xc(%ebx)
487fd4:	ff 15 74 71 4a 00    	call   *0x4a7174
487fda:	8b f0                	mov    %eax,%esi
487fdc:	89 75 d8             	mov    %esi,-0x28(%ebp)
487fdf:	85 f6                	test   %esi,%esi
487fe1:	0f 84 35 02 00 00    	je     0x48821c
487fe7:	ff 75 e0             	push   -0x20(%ebp)
487fea:	ff 75 e8             	push   -0x18(%ebp)
487fed:	56                   	push   %esi
487fee:	ff 15 78 71 4a 00    	call   *0x4a7178
487ff4:	89 45 b8             	mov    %eax,-0x48(%ebp)
487ff7:	85 c0                	test   %eax,%eax
487ff9:	0f 84 1d 02 00 00    	je     0x48821c
487fff:	50                   	push   %eax
488000:	56                   	push   %esi
488001:	ff 15 68 71 4a 00    	call   *0x4a7168
488007:	68 ff ff ff 02       	push   $0x2ffffff
48800c:	89 45 bc             	mov    %eax,-0x44(%ebp)
48800f:	ff 15 40 71 4a 00    	call   *0x4a7140
488015:	8b f0                	mov    %eax,%esi
488017:	89 7d ec             	mov    %edi,-0x14(%ebp)
48801a:	8b 45 e8             	mov    -0x18(%ebp),%eax
48801d:	89 45 f4             	mov    %eax,-0xc(%ebp)
488020:	8b 45 e0             	mov    -0x20(%ebp),%eax
488023:	89 45 f8             	mov    %eax,-0x8(%ebp)
488026:	8d 45 ec             	lea    -0x14(%ebp),%eax
488029:	56                   	push   %esi
48802a:	50                   	push   %eax
48802b:	ff 75 d8             	push   -0x28(%ebp)
48802e:	89 7d f0             	mov    %edi,-0x10(%ebp)
488031:	ff 15 e4 7c 4a 00    	call   *0x4a7ce4
488037:	56                   	push   %esi
488038:	ff 15 60 71 4a 00    	call   *0x4a7160
48803e:	6a 08                	push   $0x8
488040:	ff 15 34 71 4a 00    	call   *0x4a7134
488046:	8b 75 d8             	mov    -0x28(%ebp),%esi
488049:	50                   	push   %eax
48804a:	56                   	push   %esi
48804b:	ff 15 68 71 4a 00    	call   *0x4a7168
488051:	6a 04                	push   $0x4
488053:	ff 15 34 71 4a 00    	call   *0x4a7134
488059:	50                   	push   %eax
48805a:	56                   	push   %esi
48805b:	ff 15 68 71 4a 00    	call   *0x4a7168
488061:	8d 45 e4             	lea    -0x1c(%ebp),%eax
488064:	89 7d e4             	mov    %edi,-0x1c(%ebp)
488067:	50                   	push   %eax
488068:	56                   	push   %esi
488069:	ff 15 28 c0 4a 00    	call   *0x4ac028
48806f:	89 45 c4             	mov    %eax,-0x3c(%ebp)
488072:	8b 45 e4             	mov    -0x1c(%ebp),%eax
488075:	6a 03                	push   $0x3
488077:	50                   	push   %eax
488078:	89 45 c0             	mov    %eax,-0x40(%ebp)
48807b:	ff 15 50 c0 4a 00    	call   *0x4ac050
488081:	85 c0                	test   %eax,%eax
488083:	74 03                	je     0x488088
488085:	89 45 c4             	mov    %eax,-0x3c(%ebp)
488088:	8d 45 e4             	lea    -0x1c(%ebp),%eax
48808b:	c7 45 e4 00 00 00 ff 	movl   $0xff000000,-0x1c(%ebp)
488092:	50                   	push   %eax
488093:	8d 4d f0             	lea    -0x10(%ebp),%ecx
488096:	e8 8b 29 fb ff       	call   0x43aa26
48809b:	51                   	push   %ecx
48809c:	ff 75 e8             	push   -0x18(%ebp)
48809f:	8d 55 f0             	lea    -0x10(%ebp),%edx
4880a2:	57                   	push   %edi
4880a3:	57                   	push   %edi
4880a4:	8d 4d c0             	lea    -0x40(%ebp),%ecx
4880a7:	e8 1c fe ff ff       	call   0x487ec8
4880ac:	8b 45 e8             	mov    -0x18(%ebp),%eax
4880af:	8b f7                	mov    %edi,%esi
4880b1:	48                   	dec    %eax
4880b2:	89 7d cc             	mov    %edi,-0x34(%ebp)
4880b5:	89 7d d0             	mov    %edi,-0x30(%ebp)
4880b8:	89 45 d4             	mov    %eax,-0x2c(%ebp)
4880bb:	85 c0                	test   %eax,%eax
4880bd:	7e 1e                	jle    0x4880dd
4880bf:	8b 5d d8             	mov    -0x28(%ebp),%ebx
4880c2:	57                   	push   %edi
4880c3:	56                   	push   %esi
4880c4:	53                   	push   %ebx