40dad0:	d9 c0                	fld    %st(0)
40dad2:	d9 fc                	frndint
40dad4:	dc e1                	fsub   %st,%st(1)
40dad6:	d9 c9                	fxch   %st(1)
40dad8:	d9 e0                	fchs
40dada:	d9 f0                	f2xm1
40dadc:	d9 e8                	fld1
40dade:	de c1                	faddp  %st,%st(1)
40dae0:	d9 fd                	fscale
40dae2:	dd d9                	fstp   %st(1)
40dae4:	c3                   	ret
40dae5:	8b 54 24 04          	mov    0x4(%esp),%edx
40dae9:	81 e2 00 03 00 00    	and    $0x300,%edx
40daef:	83 ca 7f             	or     $0x7f,%edx
40daf2:	66 89 54 24 06       	mov    %dx,0x6(%esp)
40daf7:	d9 6c 24 06          	fldcw  0x6(%esp)
40dafb:	c3                   	ret
40dafc:	a9 00 00 08 00       	test   $0x80000,%eax
40db01:	74 06                	je     0x40db09
40db03:	b8 00 00 00 00       	mov    $0x0,%eax
40db08:	c3                   	ret
40db09:	dc 05 c0 32 41 00    	faddl  0x4132c0
40db0f:	b8 00 00 00 00       	mov    $0x0,%eax
40db14:	c3                   	ret
40db15:	8b 42 04             	mov    0x4(%edx),%eax
40db18:	25 00 00 f0 7f       	and    $0x7ff00000,%eax
40db1d:	3d 00 00 f0 7f       	cmp    $0x7ff00000,%eax
40db22:	74 03                	je     0x40db27
40db24:	dd 02                	fldl   (%edx)
40db26:	c3                   	ret
40db27:	8b 42 04             	mov    0x4(%edx),%eax
40db2a:	83 ec 0a             	sub    $0xa,%esp
40db2d:	0d 00 00 ff 7f       	or     $0x7fff0000,%eax
40db32:	89 44 24 06          	mov    %eax,0x6(%esp)
40db36:	8b 42 04             	mov    0x4(%edx),%eax
40db39:	8b 0a                	mov    (%edx),%ecx
40db3b:	0f a4 c8 0b          	shld   $0xb,%ecx,%eax
40db3f:	c1 e1 0b             	shl    $0xb,%ecx
40db42:	89 44 24 04          	mov    %eax,0x4(%esp)
40db46:	89 0c 24             	mov    %ecx,(%esp)
40db49:	db 2c 24             	fldt   (%esp)
40db4c:	83 c4 0a             	add    $0xa,%esp
40db4f:	a9 00 00 00 00       	test   $0x0,%eax
40db54:	8b 42 04             	mov    0x4(%edx),%eax
40db57:	c3                   	ret
40db58:	8b 44 24 08          	mov    0x8(%esp),%eax
40db5c:	25 00 00 f0 7f       	and    $0x7ff00000,%eax
40db61:	3d 00 00 f0 7f       	cmp    $0x7ff00000,%eax
40db66:	74 01                	je     0x40db69
40db68:	c3                   	ret
40db69:	8b 44 24 08          	mov    0x8(%esp),%eax
40db6d:	c3                   	ret
40db6e:	66 81 3c 24 7f 02    	cmpw   $0x27f,(%esp)
40db74:	74 03                	je     0x40db79
40db76:	d9 2c 24             	fldcw  (%esp)
40db79:	5a                   	pop    %edx
40db7a:	c3                   	ret
40db7b:	66 8b 04 24          	mov    (%esp),%ax
40db7f:	66 3d 7f 02          	cmp    $0x27f,%ax
40db83:	74 1e                	je     0x40dba3
40db85:	66 83 e0 20          	and    $0x20,%ax
40db89:	74 15                	je     0x40dba0
40db8b:	9b df e0             	fstsw  %ax
40db8e:	66 83 e0 20          	and    $0x20,%ax
40db92:	74 0c                	je     0x40dba0
40db94:	b8 08 00 00 00       	mov    $0x8,%eax
40db99:	e8 d9 00 00 00       	call   0x40dc77
40db9e:	5a                   	pop    %edx
40db9f:	c3                   	ret
40dba0:	d9 2c 24             	fldcw  (%esp)
40dba3:	5a                   	pop    %edx
40dba4:	c3                   	ret
40dba5:	83 ec 08             	sub    $0x8,%esp
40dba8:	dd 14 24             	fstl   (%esp)
40dbab:	8b 44 24 04          	mov    0x4(%esp),%eax
40dbaf:	83 c4 08             	add    $0x8,%esp
40dbb2:	25 00 00 f0 7f       	and    $0x7ff00000,%eax
40dbb7:	eb 14                	jmp    0x40dbcd
40dbb9:	83 ec 08             	sub    $0x8,%esp
40dbbc:	dd 14 24             	fstl   (%esp)
40dbbf:	8b 44 24 04          	mov    0x4(%esp),%eax
40dbc3:	83 c4 08             	add    $0x8,%esp
40dbc6:	25 00 00 f0 7f       	and    $0x7ff00000,%eax
40dbcb:	74 3d                	je     0x40dc0a
40dbcd:	3d 00 00 f0 7f       	cmp    $0x7ff00000,%eax
40dbd2:	74 5f                	je     0x40dc33
40dbd4:	66 8b 04 24          	mov    (%esp),%ax
40dbd8:	66 3d 7f 02          	cmp    $0x27f,%ax
40dbdc:	74 2a                	je     0x40dc08
40dbde:	66 83 e0 20          	and    $0x20,%ax
40dbe2:	75 21                	jne    0x40dc05
40dbe4:	9b df e0             	fstsw  %ax
40dbe7:	66 83 e0 20          	and    $0x20,%ax
40dbeb:	74 18                	je     0x40dc05
40dbed:	b8 08 00 00 00       	mov    $0x8,%eax
40dbf2:	83 fa 1d             	cmp    $0x1d,%edx
40dbf5:	74 07                	je     0x40dbfe
40dbf7:	e8 7b 00 00 00       	call   0x40dc77
40dbfc:	5a                   	pop    %edx
40dbfd:	c3                   	ret
40dbfe:	e8 5d 00 00 00       	call   0x40dc60
40dc03:	5a                   	pop    %edx
40dc04:	c3                   	ret
40dc05:	d9 2c 24             	fldcw  (%esp)
40dc08:	5a                   	pop    %edx
40dc09:	c3                   	ret
40dc0a:	dd 05 ec 32 41 00    	fldl   0x4132ec
40dc10:	d9 c9                	fxch   %st(1)
40dc12:	d9 fd                	fscale
40dc14:	dd d9                	fstp   %st(1)
40dc16:	d9 c0                	fld    %st(0)
40dc18:	d9 e1                	fabs
40dc1a:	dc 1d dc 32 41 00    	fcompl 0x4132dc
40dc20:	9b df e0             	fstsw  %ax
40dc23:	9e                   	sahf
40dc24:	b8 04 00 00 00       	mov    $0x4,%eax
40dc29:	73 c7                	jae    0x40dbf2
40dc2b:	dc 0d fc 32 41 00    	fmull  0x4132fc
40dc31:	eb bf                	jmp    0x40dbf2
40dc33:	dd 05 e4 32 41 00    	fldl   0x4132e4
40dc39:	d9 c9                	fxch   %st(1)
40dc3b:	d9 fd                	fscale
40dc3d:	dd d9                	fstp   %st(1)
40dc3f:	d9 c0                	fld    %st(0)
40dc41:	d9 e1                	fabs
40dc43:	dc 1d d4 32 41 00    	fcompl 0x4132d4
40dc49:	9b df e0             	fstsw  %ax
40dc4c:	9e                   	sahf
40dc4d:	b8 03 00 00 00       	mov    $0x3,%eax
40dc52:	76 9e                	jbe    0x40dbf2
40dc54:	dc 0d f4 32 41 00    	fmull  0x4132f4
40dc5a:	eb 96                	jmp    0x40dbf2
40dc5c:	cc                   	int3
40dc5d:	cc                   	int3
40dc5e:	cc                   	int3
40dc5f:	cc                   	int3
40dc60:	55                   	push   %ebp
40dc61:	8b ec                	mov    %esp,%ebp
40dc63:	83 c4 e0             	add    $0xffffffe0,%esp
40dc66:	89 45 e0             	mov    %eax,-0x20(%ebp)
40dc69:	8b 45 18             	mov    0x18(%ebp),%eax
40dc6c:	89 45 f0             	mov    %eax,-0x10(%ebp)
40dc6f:	8b 45 1c             	mov    0x1c(%ebp),%eax
40dc72:	89 45 f4             	mov    %eax,-0xc(%ebp)
40dc75:	eb 09                	jmp    0x40dc80
40dc77:	55                   	push   %ebp
40dc78:	8b ec                	mov    %esp,%ebp
40dc7a:	83 c4 e0             	add    $0xffffffe0,%esp
40dc7d:	89 45 e0             	mov    %eax,-0x20(%ebp)
40dc80:	dd 5d f8             	fstpl  -0x8(%ebp)
40dc83:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
40dc86:	8b 45 10             	mov    0x10(%ebp),%eax
40dc89:	8b 4d 14             	mov    0x14(%ebp),%ecx
40dc8c:	89 45 e8             	mov    %eax,-0x18(%ebp)
40dc8f:	89 4d ec             	mov    %ecx,-0x14(%ebp)
40dc92:	8d 45 08             	lea    0x8(%ebp),%eax
40dc95:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40dc98:	50                   	push   %eax
40dc99:	51                   	push   %ecx
40dc9a:	52                   	push   %edx
40dc9b:	e8 5b 04 00 00       	call   0x40e0fb
40dca0:	83 c4 0c             	add    $0xc,%esp
40dca3:	dd 45 f8             	fldl   -0x8(%ebp)
40dca6:	66 81 7d 08 7f 02    	cmpw   $0x27f,0x8(%ebp)
40dcac:	74 03                	je     0x40dcb1
40dcae:	d9 6d 08             	fldcw  0x8(%ebp)
40dcb1:	c9                   	leave
40dcb2:	c3                   	ret
40dcb3:	8b ff                	mov    %edi,%edi
40dcb5:	55                   	push   %ebp
40dcb6:	8b ec                	mov    %esp,%ebp
40dcb8:	83 ec 20             	sub    $0x20,%esp
40dcbb:	83 3d a4 73 41 00 00 	cmpl   $0x0,0x4173a4
40dcc2:	56                   	push   %esi
40dcc3:	57                   	push   %edi
40dcc4:	74 10                	je     0x40dcd6
40dcc6:	ff 35 b8 73 41 00    	push   0x4173b8
40dccc:	ff 15 04 f1 40 00    	call   *0x40f104
40dcd2:	8b f8                	mov    %eax,%edi
40dcd4:	eb 05                	jmp    0x40dcdb
40dcd6:	bf f9 5f 40 00       	mov    $0x405ff9,%edi
40dcdb:	8b 45 14             	mov    0x14(%ebp),%eax
40dcde:	83 f8 1a             	cmp    $0x1a,%eax
40dce1:	0f 8f de 00 00 00    	jg     0x40ddc5
40dce7:	0f 84 cc 00 00 00    	je     0x40ddb9
40dced:	83 f8 0e             	cmp    $0xe,%eax
40dcf0:	7f 65                	jg     0x40dd57
40dcf2:	74 50                	je     0x40dd44
40dcf4:	6a 02                	push   $0x2
40dcf6:	59                   	pop    %ecx
40dcf7:	2b c1                	sub    %ecx,%eax
40dcf9:	74 3a                	je     0x40dd35
40dcfb:	83 e8 01             	sub    $0x1,%eax
40dcfe:	74 29                	je     0x40dd29
40dd00:	83 e8 05             	sub    $0x5,%eax
40dd03:	74 15                	je     0x40dd1a
40dd05:	83 e8 01             	sub    $0x1,%eax
40dd08:	0f 85 95 01 00 00    	jne    0x40dea3
40dd0e:	c7 45 e4 08 33 41 00 	movl   $0x413308,-0x1c(%ebp)
40dd15:	e9 01 01 00 00       	jmp    0x40de1b
40dd1a:	89 4d e0             	mov    %ecx,-0x20(%ebp)
40dd1d:	c7 45 e4 08 33 41 00 	movl   $0x413308,-0x1c(%ebp)
40dd24:	e9 3f 01 00 00       	jmp    0x40de68
40dd29:	c7 45 e4 04 33 41 00 	movl   $0x413304,-0x1c(%ebp)
40dd30:	e9 e6 00 00 00       	jmp    0x40de1b
40dd35:	89 4d e0             	mov    %ecx,-0x20(%ebp)
40dd38:	c7 45 e4 04 33 41 00 	movl   $0x413304,-0x1c(%ebp)
40dd3f:	e9 24 01 00 00       	jmp    0x40de68
40dd44:	c7 45 e0 03 00 00 00 	movl   $0x3,-0x20(%ebp)
40dd4b:	c7 45 e4 10 33 41 00 	movl   $0x413310,-0x1c(%ebp)
40dd52:	e9 11 01 00 00       	jmp    0x40de68
40dd57:	83 e8 0f             	sub    $0xf,%eax
40dd5a:	74 54                	je     0x40ddb0
40dd5c:	83 e8 09             	sub    $0x9,%eax
40dd5f:	74 43                	je     0x40dda4
40dd61:	83 e8 01             	sub    $0x1,%eax
40dd64:	0f 85 39 01 00 00    	jne    0x40dea3
40dd6a:	c7 45 e4 14 33 41 00 	movl   $0x413314,-0x1c(%ebp)
40dd71:	8b 45 08             	mov    0x8(%ebp),%eax
40dd74:	8b cf                	mov    %edi,%ecx
40dd76:	8b 75 10             	mov    0x10(%ebp),%esi
40dd79:	c7 45 e0 04 00 00 00 	movl   $0x4,-0x20(%ebp)
40dd80:	dd 00                	fldl   (%eax)
40dd82:	8b 45 0c             	mov    0xc(%ebp),%eax
40dd85:	dd 5d e8             	fstpl  -0x18(%ebp)
40dd88:	dd 00                	fldl   (%eax)
40dd8a:	8d 45 e0             	lea    -0x20(%ebp),%eax
40dd8d:	dd 5d f0             	fstpl  -0x10(%ebp)
40dd90:	dd 06                	fldl   (%esi)
40dd92:	50                   	push   %eax
40dd93:	dd 5d f8             	fstpl  -0x8(%ebp)
40dd96:	ff 15 18 f1 40 00    	call   *0x40f118
40dd9c:	ff d7                	call   *%edi
40dd9e:	59                   	pop    %ecx
40dd9f:	e9 fa 00 00 00       	jmp    0x40de9e
40dda4:	c7 45 e0 03 00 00 00 	movl   $0x3,-0x20(%ebp)
40ddab:	e9 b1 00 00 00       	jmp    0x40de61
40ddb0:	c7 45 e4 10 33 41 00 	movl   $0x413310,-0x1c(%ebp)
40ddb7:	eb b8                	jmp    0x40dd71
40ddb9:	d9 e8                	fld1
40ddbb:	8b 45 10             	mov    0x10(%ebp),%eax
40ddbe:	dd 18                	fstpl  (%eax)
40ddc0:	e9 de 00 00 00       	jmp    0x40dea3
40ddc5:	83 e8 1b             	sub    $0x1b,%eax
40ddc8:	0f 84 8c 00 00 00    	je     0x40de5a
40ddce:	83 e8 01             	sub    $0x1,%eax
40ddd1:	74 41                	je     0x40de14
40ddd3:	83 e8 15             	sub    $0x15,%eax
40ddd6:	74 33                	je     0x40de0b
40ddd8:	83 e8 09             	sub    $0x9,%eax
40dddb:	74 25                	je     0x40de02
40dddd:	83 e8 03             	sub    $0x3,%eax
40dde0:	74 17                	je     0x40ddf9
40dde2:	2d ab 03 00 00       	sub    $0x3ab,%eax
40dde7:	74 09                	je     0x40ddf2
40dde9:	83 e8 01             	sub    $0x1,%eax
40ddec:	0f 85 b1 00 00 00    	jne    0x40dea3
40ddf2:	8b 45 08             	mov    0x8(%ebp),%eax
40ddf5:	dd 00                	fldl   (%eax)
40ddf7:	eb c2                	jmp    0x40ddbb
40ddf9:	c7 45 e4 18 33 41 00 	movl   $0x413318,-0x1c(%ebp)
40de00:	eb 19                	jmp    0x40de1b
40de02:	c7 45 e4 20 33 41 00 	movl   $0x413320,-0x1c(%ebp)
40de09:	eb 10                	jmp    0x40de1b
40de0b:	c7 45 e4 28 33 41 00 	movl   $0x413328,-0x1c(%ebp)
40de12:	eb 07                	jmp    0x40de1b
40de14:	c7 45 e4 14 33 41 00 	movl   $0x413314,-0x1c(%ebp)
40de1b:	8b 45 08             	mov    0x8(%ebp),%eax
40de1e:	8b cf                	mov    %edi,%ecx
40de20:	8b 75 10             	mov    0x10(%ebp),%esi
40de23:	c7 45 e0 01 00 00 00 	movl   $0x1,-0x20(%ebp)
40de2a:	dd 00                	fldl   (%eax)
40de2c:	8b 45 0c             	mov    0xc(%ebp),%eax
40de2f:	dd 5d e8             	fstpl  -0x18(%ebp)
40de32:	dd 00                	fldl   (%eax)
40de34:	8d 45 e0             	lea    -0x20(%ebp),%eax
40de37:	dd 5d f0             	fstpl  -0x10(%ebp)
40de3a:	dd 06                	fldl   (%esi)
40de3c:	50                   	push   %eax
40de3d:	dd 5d f8             	fstpl  -0x8(%ebp)
40de40:	ff 15 18 f1 40 00    	call   *0x40f118
40de46:	ff d7                	call   *%edi
40de48:	59                   	pop    %ecx
40de49:	85 c0                	test   %eax,%eax
40de4b:	75 51                	jne    0x40de9e
40de4d:	e8 fe 9a ff ff       	call   0x407950
40de52:	c7 00 21 00 00 00    	movl   $0x21,(%eax)
40de58:	eb 44                	jmp    0x40de9e
40de5a:	c7 45 e0 02 00 00 00 	movl   $0x2,-0x20(%ebp)
40de61:	c7 45 e4 14 33 41 00 	movl   $0x413314,-0x1c(%ebp)
40de68:	8b 45 08             	mov    0x8(%ebp),%eax
40de6b:	8b cf                	mov    %edi,%ecx
40de6d:	8b 75 10             	mov    0x10(%ebp),%esi
40de70:	dd 00                	fldl   (%eax)
40de72:	8b 45 0c             	mov    0xc(%ebp),%eax
40de75:	dd 5d e8             	fstpl  -0x18(%ebp)
40de78:	dd 00                	fldl   (%eax)
40de7a:	8d 45 e0             	lea    -0x20(%ebp),%eax
40de7d:	dd 5d f0             	fstpl  -0x10(%ebp)
40de80:	dd 06                	fldl   (%esi)
40de82:	50                   	push   %eax
40de83:	dd 5d f8             	fstpl  -0x8(%ebp)
40de86:	ff 15 18 f1 40 00    	call   *0x40f118
40de8c:	ff d7                	call   *%edi
40de8e:	59                   	pop    %ecx
40de8f:	85 c0                	test   %eax,%eax
40de91:	75 0b                	jne    0x40de9e
40de93:	e8 b8 9a ff ff       	call   0x407950
40de98:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
40de9e:	dd 45 f8             	fldl   -0x8(%ebp)
40dea1:	dd 1e                	fstpl  (%esi)
40dea3:	5f                   	pop    %edi
40dea4:	5e                   	pop    %esi
40dea5:	c9                   	leave
40dea6:	c3                   	ret
40dea7:	8b ff                	mov    %edi,%edi
40dea9:	55                   	push   %ebp
40deaa:	8b ec                	mov    %esp,%ebp
40deac:	51                   	push   %ecx
40dead:	51                   	push   %ecx
40deae:	53                   	push   %ebx
40deaf:	56                   	push   %esi
40deb0:	be ff ff 00 00       	mov    $0xffff,%esi
40deb5:	56                   	push   %esi
40deb6:	68 3f 1b 00 00       	push   $0x1b3f
40debb:	e8 62 e7 ff ff       	call   0x40c622
40dec0:	dd 45 08             	fldl   0x8(%ebp)
40dec3:	8b d8                	mov    %eax,%ebx
40dec5:	59                   	pop    %ecx
40dec6:	59                   	pop    %ecx
40dec7:	0f b7 4d 0e          	movzwl 0xe(%ebp),%ecx
40decb:	b8 f0 7f 00 00       	mov    $0x7ff0,%eax
40ded0:	23 c8                	and    %eax,%ecx
40ded2:	51                   	push   %ecx
40ded3:	51                   	push   %ecx
40ded4:	dd 1c 24             	fstpl  (%esp)
40ded7:	66 3b c8             	cmp    %ax,%cx
40deda:	75 46                	jne    0x40df22
40dedc:	e8 a4 0b 00 00       	call   0x40ea85
40dee1:	59                   	pop    %ecx
40dee2:	59                   	pop    %ecx
40dee3:	83 e8 01             	sub    $0x1,%eax
40dee6:	74 2e                	je     0x40df16
40dee8:	83 e8 01             	sub    $0x1,%eax
40deeb:	74 29                	je     0x40df16
40deed:	83 e8 01             	sub    $0x1,%eax
40def0:	74 24                	je     0x40df16
40def2:	dd 45 08             	fldl   0x8(%ebp)
40def5:	dd 05 30 33 41 00    	fldl   0x413330
40defb:	53                   	push   %ebx