40d8c0:	8a c1                	mov    %cl,%al
40d8c2:	24 0f                	and    $0xf,%al
40d8c4:	d7                   	xlat   %ds:(%ebx)
40d8c5:	0f be c0             	movsbl %al,%eax
40d8c8:	81 e1 04 04 00 00    	and    $0x404,%ecx
40d8ce:	8b da                	mov    %edx,%ebx
40d8d0:	03 d8                	add    %eax,%ebx
40d8d2:	83 c3 10             	add    $0x10,%ebx
40d8d5:	50                   	push   %eax
40d8d6:	52                   	push   %edx
40d8d7:	51                   	push   %ecx
40d8d8:	8b 0b                	mov    (%ebx),%ecx
40d8da:	ff 15 18 f1 40 00    	call   *0x40f118
40d8e0:	59                   	pop    %ecx
40d8e1:	5a                   	pop    %edx
40d8e2:	58                   	pop    %eax
40d8e3:	ff 23                	jmp    *(%ebx)
40d8e5:	80 7a 0e 05          	cmpb   $0x5,0xe(%edx)
40d8e9:	75 11                	jne    0x40d8fc
40d8eb:	66 8b 9d 5c ff ff ff 	mov    -0xa4(%ebp),%bx
40d8f2:	80 cf 02             	or     $0x2,%bh
40d8f5:	80 e7 fe             	and    $0xfe,%bh
40d8f8:	b3 3f                	mov    $0x3f,%bl
40d8fa:	eb 04                	jmp    0x40d900
40d8fc:	66 bb 3f 13          	mov    $0x133f,%bx
40d900:	66 89 9d 5e ff ff ff 	mov    %bx,-0xa2(%ebp)
40d907:	d9 ad 5e ff ff ff    	fldcw  -0xa2(%ebp)
40d90d:	bb ae 32 41 00       	mov    $0x4132ae,%ebx
40d912:	d9 e5                	fxam
40d914:	89 95 6c ff ff ff    	mov    %edx,-0x94(%ebp)
40d91a:	9b dd bd 60 ff ff ff 	fstsw  -0xa0(%ebp)
40d921:	c6 85 70 ff ff ff 00 	movb   $0x0,-0x90(%ebp)
40d928:	d9 c9                	fxch   %st(1)
40d92a:	8a 8d 61 ff ff ff    	mov    -0x9f(%ebp),%cl
40d930:	d9 e5                	fxam
40d932:	9b dd bd 60 ff ff ff 	fstsw  -0xa0(%ebp)
40d939:	d9 c9                	fxch   %st(1)
40d93b:	8a ad 61 ff ff ff    	mov    -0x9f(%ebp),%ch
40d941:	d0 e5                	shl    $1,%ch
40d943:	d0 fd                	sar    $1,%ch
40d945:	d0 c5                	rol    $1,%ch
40d947:	8a c5                	mov    %ch,%al
40d949:	24 0f                	and    $0xf,%al
40d94b:	d7                   	xlat   %ds:(%ebx)
40d94c:	8a e0                	mov    %al,%ah
40d94e:	d0 e1                	shl    $1,%cl
40d950:	d0 f9                	sar    $1,%cl
40d952:	d0 c1                	rol    $1,%cl
40d954:	8a c1                	mov    %cl,%al
40d956:	24 0f                	and    $0xf,%al
40d958:	d7                   	xlat   %ds:(%ebx)
40d959:	d0 e4                	shl    $1,%ah
40d95b:	d0 e4                	shl    $1,%ah
40d95d:	0a c4                	or     %ah,%al
40d95f:	0f be c0             	movsbl %al,%eax
40d962:	81 e1 04 04 00 00    	and    $0x404,%ecx
40d968:	8b da                	mov    %edx,%ebx
40d96a:	03 d8                	add    %eax,%ebx
40d96c:	83 c3 10             	add    $0x10,%ebx
40d96f:	50                   	push   %eax
40d970:	52                   	push   %edx
40d971:	51                   	push   %ecx
40d972:	8b 0b                	mov    (%ebx),%ecx
40d974:	ff 15 18 f1 40 00    	call   *0x40f118
40d97a:	59                   	pop    %ecx
40d97b:	5a                   	pop    %edx
40d97c:	58                   	pop    %eax
40d97d:	ff 23                	jmp    *(%ebx)
40d97f:	e8 0f 01 00 00       	call   0x40da93
40d984:	d9 c9                	fxch   %st(1)
40d986:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
40d98d:	8d 49 00             	lea    0x0(%ecx),%ecx
40d990:	dd d8                	fstp   %st(0)
40d992:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
40d999:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
40d9a0:	c3                   	ret
40d9a1:	e8 ed 00 00 00       	call   0x40da93
40d9a6:	eb e8                	jmp    0x40d990
40d9a8:	dd d8                	fstp   %st(0)
40d9aa:	dd d8                	fstp   %st(0)
40d9ac:	d9 ee                	fldz
40d9ae:	c3                   	ret
40d9af:	90                   	nop
40d9b0:	dd d8                	fstp   %st(0)
40d9b2:	dd d8                	fstp   %st(0)
40d9b4:	d9 ee                	fldz
40d9b6:	84 ed                	test   %ch,%ch
40d9b8:	74 02                	je     0x40d9bc
40d9ba:	d9 e0                	fchs
40d9bc:	c3                   	ret
40d9bd:	dd d8                	fstp   %st(0)
40d9bf:	90                   	nop
40d9c0:	dd d8                	fstp   %st(0)
40d9c2:	d9 e8                	fld1
40d9c4:	c3                   	ret
40d9c5:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
40d9cc:	8d 64 24 00          	lea    0x0(%esp),%esp
40d9d0:	db bd 62 ff ff ff    	fstpt  -0x9e(%ebp)
40d9d6:	db ad 62 ff ff ff    	fldt   -0x9e(%ebp)
40d9dc:	f6 85 69 ff ff ff 40 	testb  $0x40,-0x97(%ebp)
40d9e3:	74 08                	je     0x40d9ed
40d9e5:	c6 85 70 ff ff ff 00 	movb   $0x0,-0x90(%ebp)
40d9ec:	c3                   	ret
40d9ed:	c6 85 70 ff ff ff 00 	movb   $0x0,-0x90(%ebp)
40d9f4:	dc 05 9e 32 41 00    	faddl  0x41329e
40d9fa:	c3                   	ret
40d9fb:	eb 03                	jmp    0x40da00
40d9fd:	cc                   	int3
40d9fe:	cc                   	int3
40d9ff:	cc                   	int3
40da00:	d9 c9                	fxch   %st(1)
40da02:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
40da09:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
40da10:	db bd 62 ff ff ff    	fstpt  -0x9e(%ebp)
40da16:	db ad 62 ff ff ff    	fldt   -0x9e(%ebp)
40da1c:	f6 85 69 ff ff ff 40 	testb  $0x40,-0x97(%ebp)
40da23:	74 09                	je     0x40da2e
40da25:	c6 85 70 ff ff ff 00 	movb   $0x0,-0x90(%ebp)
40da2c:	eb 07                	jmp    0x40da35
40da2e:	c6 85 70 ff ff ff 00 	movb   $0x0,-0x90(%ebp)
40da35:	de c1                	faddp  %st,%st(1)
40da37:	c3                   	ret
40da38:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
40da3f:	90                   	nop
40da40:	db bd 62 ff ff ff    	fstpt  -0x9e(%ebp)
40da46:	db ad 62 ff ff ff    	fldt   -0x9e(%ebp)
40da4c:	f6 85 69 ff ff ff 40 	testb  $0x40,-0x97(%ebp)
40da53:	74 20                	je     0x40da75
40da55:	d9 c9                	fxch   %st(1)
40da57:	db bd 62 ff ff ff    	fstpt  -0x9e(%ebp)
40da5d:	db ad 62 ff ff ff    	fldt   -0x9e(%ebp)
40da63:	f6 85 69 ff ff ff 40 	testb  $0x40,-0x97(%ebp)
40da6a:	74 09                	je     0x40da75
40da6c:	c6 85 70 ff ff ff 00 	movb   $0x0,-0x90(%ebp)
40da73:	eb 07                	jmp    0x40da7c
40da75:	c6 85 70 ff ff ff 01 	movb   $0x1,-0x90(%ebp)
40da7c:	de c1                	faddp  %st,%st(1)
40da7e:	c3                   	ret
40da7f:	90                   	nop
40da80:	dd d8                	fstp   %st(0)
40da82:	dd d8                	fstp   %st(0)
40da84:	db 2d 80 32 41 00    	fldt   0x413280
40da8a:	80 bd 70 ff ff ff 00 	cmpb   $0x0,-0x90(%ebp)
40da91:	7f 07                	jg     0x40da9a
40da93:	c6 85 70 ff ff ff 01 	movb   $0x1,-0x90(%ebp)
40da9a:	0a c9                	or     %cl,%cl
40da9c:	c3                   	ret
40da9d:	8d 49 00             	lea    0x0(%ecx),%ecx
40daa0:	dd d8                	fstp   %st(0)
40daa2:	dd d8                	fstp   %st(0)
40daa4:	db 2d 94 32 41 00    	fldt   0x413294
40daaa:	0a ed                	or     %ch,%ch
40daac:	74 02                	je     0x40dab0
40daae:	d9 e0                	fchs
40dab0:	0a c9                	or     %cl,%cl
40dab2:	74 08                	je     0x40dabc
40dab4:	dd 05 a6 32 41 00    	fldl   0x4132a6
40daba:	de c9                	fmulp  %st,%st(1)
40dabc:	c3                   	ret
40dabd:	0a c9                	or     %cl,%cl
40dabf:	74 02                	je     0x40dac3
40dac1:	d9 e0                	fchs
40dac3:	c3                   	ret
40dac4:	cc                   	int3
40dac5:	cc                   	int3
40dac6:	cc                   	int3
40dac7:	cc                   	int3
40dac8:	cc                   	int3
40dac9:	cc                   	int3
40daca:	cc                   	int3
40dacb:	cc                   	int3
40dacc:	cc                   	int3
40dacd:	cc                   	int3
40dace:	cc                   	int3
40dacf:	cc                   	int3
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