41d6ee:	66 89 4d f8          	mov    %cx,-0x8(%ebp)
41d6f2:	d9 6d f8             	fldcw  -0x8(%ebp)
41d6f5:	0f bf 45 fc          	movswl -0x4(%ebp),%eax
41d6f9:	8b e5                	mov    %ebp,%esp
41d6fb:	5d                   	pop    %ebp
41d6fc:	c3                   	ret
41d6fd:	8b ff                	mov    %edi,%edi
41d6ff:	55                   	push   %ebp
41d700:	8b ec                	mov    %esp,%ebp
41d702:	8b 4d 08             	mov    0x8(%ebp),%ecx
41d705:	83 ec 0c             	sub    $0xc,%esp
41d708:	f6 c1 01             	test   $0x1,%cl
41d70b:	74 0a                	je     0x41d717
41d70d:	db 2d d8 d7 42 00    	fldt   0x42d7d8
41d713:	db 5d fc             	fistpl -0x4(%ebp)
41d716:	9b                   	fwait
41d717:	f6 c1 08             	test   $0x8,%cl
41d71a:	74 10                	je     0x41d72c
41d71c:	9b df e0             	fstsw  %ax
41d71f:	db 2d d8 d7 42 00    	fldt   0x42d7d8
41d725:	dd 5d f4             	fstpl  -0xc(%ebp)
41d728:	9b 9b df e0          	fstsw  %ax
41d72c:	f6 c1 10             	test   $0x10,%cl
41d72f:	74 0a                	je     0x41d73b
41d731:	db 2d e4 d7 42 00    	fldt   0x42d7e4
41d737:	dd 5d f4             	fstpl  -0xc(%ebp)
41d73a:	9b                   	fwait
41d73b:	f6 c1 04             	test   $0x4,%cl
41d73e:	74 09                	je     0x41d749
41d740:	d9 ee                	fldz
41d742:	d9 e8                	fld1
41d744:	de f1                	fdivp  %st,%st(1)
41d746:	dd d8                	fstp   %st(0)
41d748:	9b                   	fwait
41d749:	f6 c1 20             	test   $0x20,%cl
41d74c:	74 06                	je     0x41d754
41d74e:	d9 eb                	fldpi
41d750:	dd 5d f4             	fstpl  -0xc(%ebp)
41d753:	9b                   	fwait
41d754:	8b e5                	mov    %ebp,%esp
41d756:	5d                   	pop    %ebp
41d757:	c3                   	ret
41d758:	8b ff                	mov    %edi,%edi
41d75a:	55                   	push   %ebp
41d75b:	8b ec                	mov    %esp,%ebp
41d75d:	51                   	push   %ecx
41d75e:	9b dd 7d fc          	fstsw  -0x4(%ebp)
41d762:	0f bf 45 fc          	movswl -0x4(%ebp),%eax
41d766:	8b e5                	mov    %ebp,%esp
41d768:	5d                   	pop    %ebp
41d769:	c3                   	ret
41d76a:	8b ff                	mov    %edi,%edi
41d76c:	55                   	push   %ebp
41d76d:	8b ec                	mov    %esp,%ebp
41d76f:	66 8b 4d 0e          	mov    0xe(%ebp),%cx
41d773:	ba f0 7f 00 00       	mov    $0x7ff0,%edx
41d778:	66 8b c1             	mov    %cx,%ax
41d77b:	66 23 c2             	and    %dx,%ax
41d77e:	66 3b c2             	cmp    %dx,%ax
41d781:	75 33                	jne    0x41d7b6
41d783:	dd 45 08             	fldl   0x8(%ebp)
41d786:	51                   	push   %ecx
41d787:	51                   	push   %ecx
41d788:	dd 1c 24             	fstpl  (%esp)
41d78b:	e8 5a fe ff ff       	call   0x41d5ea
41d790:	59                   	pop    %ecx
41d791:	59                   	pop    %ecx
41d792:	83 e8 01             	sub    $0x1,%eax
41d795:	74 18                	je     0x41d7af
41d797:	83 e8 01             	sub    $0x1,%eax
41d79a:	74 0e                	je     0x41d7aa
41d79c:	83 e8 01             	sub    $0x1,%eax
41d79f:	74 05                	je     0x41d7a6
41d7a1:	33 c0                	xor    %eax,%eax
41d7a3:	40                   	inc    %eax
41d7a4:	5d                   	pop    %ebp
41d7a5:	c3                   	ret
41d7a6:	6a 02                	push   $0x2
41d7a8:	eb 02                	jmp    0x41d7ac
41d7aa:	6a 04                	push   $0x4
41d7ac:	58                   	pop    %eax
41d7ad:	5d                   	pop    %ebp
41d7ae:	c3                   	ret
41d7af:	b8 00 02 00 00       	mov    $0x200,%eax
41d7b4:	5d                   	pop    %ebp
41d7b5:	c3                   	ret
41d7b6:	0f b7 c9             	movzwl %cx,%ecx
41d7b9:	81 e1 00 80 00 00    	and    $0x8000,%ecx
41d7bf:	66 85 c0             	test   %ax,%ax
41d7c2:	75 1e                	jne    0x41d7e2
41d7c4:	f7 45 0c ff ff 0f 00 	testl  $0xfffff,0xc(%ebp)
41d7cb:	75 06                	jne    0x41d7d3
41d7cd:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
41d7d1:	74 0f                	je     0x41d7e2
41d7d3:	f7 d9                	neg    %ecx
41d7d5:	1b c9                	sbb    %ecx,%ecx
41d7d7:	83 e1 90             	and    $0xffffff90,%ecx
41d7da:	8d 81 80 00 00 00    	lea    0x80(%ecx),%eax
41d7e0:	5d                   	pop    %ebp
41d7e1:	c3                   	ret
41d7e2:	dd 45 08             	fldl   0x8(%ebp)
41d7e5:	d9 ee                	fldz
41d7e7:	da e9                	fucompp
41d7e9:	df e0                	fnstsw %ax
41d7eb:	f6 c4 44             	test   $0x44,%ah
41d7ee:	7a 0c                	jp     0x41d7fc
41d7f0:	f7 d9                	neg    %ecx
41d7f2:	1b c9                	sbb    %ecx,%ecx
41d7f4:	83 e1 e0             	and    $0xffffffe0,%ecx
41d7f7:	8d 41 40             	lea    0x40(%ecx),%eax
41d7fa:	5d                   	pop    %ebp
41d7fb:	c3                   	ret
41d7fc:	f7 d9                	neg    %ecx
41d7fe:	1b c9                	sbb    %ecx,%ecx
41d800:	81 e1 08 ff ff ff    	and    $0xffffff08,%ecx
41d806:	8d 81 00 01 00 00    	lea    0x100(%ecx),%eax
41d80c:	5d                   	pop    %ebp
41d80d:	c3                   	ret
41d80e:	cc                   	int3
41d80f:	cc                   	int3
41d810:	55                   	push   %ebp
41d811:	8b ec                	mov    %esp,%ebp
41d813:	83 ec 10             	sub    $0x10,%esp
41d816:	83 e4 f0             	and    $0xfffffff0,%esp
41d819:	d9 c9                	fxch   %st(1)
41d81b:	dd 1c 24             	fstpl  (%esp)
41d81e:	dd 5c 24 08          	fstpl  0x8(%esp)
41d822:	e8 02 00 00 00       	call   0x41d829
41d827:	c9                   	leave
41d828:	c3                   	ret
41d829:	66 0f 12 44 24 04    	movlpd 0x4(%esp),%xmm0
41d82f:	66 0f 12 3d 00 d8 42 	movlpd 0x42d800,%xmm7
41d836:	00
41d837:	66 0f 12 15 10 d8 42 	movlpd 0x42d810,%xmm2
41d83e:	00
41d83f:	66 0f 54 f8          	andpd  %xmm0,%xmm7
41d843:	f2 0f 10 e0          	movsd  %xmm0,%xmm4
41d847:	66 0f 73 d0 2c       	psrlq  $0x2c,%xmm0
41d84c:	66 0f c5 c0 00       	pextrw $0x0,%xmm0,%eax
41d851:	66 0f 56 fa          	orpd   %xmm2,%xmm7
41d855:	66 0f c5 cc 03       	pextrw $0x3,%xmm4,%ecx
41d85a:	25 ff 00 00 00       	and    $0xff,%eax
41d85f:	83 c0 01             	add    $0x1,%eax
41d862:	25 fe 01 00 00       	and    $0x1fe,%eax
41d867:	f2 0f 59 3c 85 50 24 	mulsd  0x432450(,%eax,4),%xmm7
41d86e:	43 00
41d870:	66 0f 12 2c 85 50 24 	movlpd 0x432450(,%eax,4),%xmm5
41d877:	43 00
41d879:	03 c0                	add    %eax,%eax
41d87b:	66 0f 28 34 85 60 28 	movapd 0x432860(,%eax,4),%xmm6
41d882:	43 00
41d884:	ba ef 7f 00 00       	mov    $0x7fef,%edx
41d889:	2b d1                	sub    %ecx,%edx
41d88b:	83 e9 10             	sub    $0x10,%ecx
41d88e:	0b ca                	or     %edx,%ecx
41d890:	81 f9 00 00 00 80    	cmp    $0x80000000,%ecx
41d896:	0f 83 db 02 00 00    	jae    0x41db77
41d89c:	b9 00 00 00 00       	mov    $0x0,%ecx
41d8a1:	ba 7f fe 03 00       	mov    $0x3fe7f,%edx
41d8a6:	66 0f 6e ca          	movd   %edx,%xmm1
41d8aa:	66 0f fb c1          	psubq  %xmm1,%xmm0
41d8ae:	66 0f 73 d0 08       	psrlq  $0x8,%xmm0
41d8b3:	f3 0f e6 c0          	cvtdq2pd %xmm0,%xmm0
41d8b7:	66 0f 12 0d 58 d8 42 	movlpd 0x42d858,%xmm1
41d8be:	00
41d8bf:	f2 0f 10 df          	movsd  %xmm7,%xmm3
41d8c3:	66 0f 73 d7 26       	psrlq  $0x26,%xmm7
41d8c8:	66 0f c5 c7 00       	pextrw $0x0,%xmm7,%eax
41d8cd:	66 0f 54 25 00 d8 42 	andpd  0x42d800,%xmm4
41d8d4:	00
41d8d5:	25 ff 00 00 00       	and    $0xff,%eax
41d8da:	83 c0 01             	add    $0x1,%eax
41d8dd:	25 fe 01 00 00       	and    $0x1fe,%eax
41d8e2:	f2 0f 59 1c 85 70 30 	mulsd  0x433070(,%eax,4),%xmm3
41d8e9:	43 00
41d8eb:	f2 0f 59 2c 85 70 30 	mulsd  0x433070(,%eax,4),%xmm5
41d8f2:	43 00
41d8f4:	03 c0                	add    %eax,%eax
41d8f6:	66 0f 58 34 85 80 34 	addpd  0x433480(,%eax,4),%xmm6
41d8fd:	43 00
41d8ff:	66 0f 56 25 10 d8 42 	orpd   0x42d810,%xmm4
41d906:	00
41d907:	f2 0f 58 f0          	addsd  %xmm0,%xmm6
41d90b:	66 0f 54 cc          	andpd  %xmm4,%xmm1
41d90f:	f2 0f 10 d3          	movsd  %xmm3,%xmm2
41d913:	66 0f 73 d3 1f       	psrlq  $0x1f,%xmm3
41d918:	66 0f c5 c3 00       	pextrw $0x0,%xmm3,%eax
41d91d:	66 0f 12 05 58 d8 42 	movlpd 0x42d858,%xmm0
41d924:	00
41d925:	f2 0f 5c e1          	subsd  %xmm1,%xmm4
41d929:	66 0f 12 3d 60 d8 42 	movlpd 0x42d860,%xmm7
41d930:	00
41d931:	25 ff 01 00 00       	and    $0x1ff,%eax
41d936:	83 c0 01             	add    $0x1,%eax
41d939:	25 fe 03 00 00       	and    $0x3fe,%eax
41d93e:	f2 0f 59 2c 85 90 3c 	mulsd  0x433c90(,%eax,4),%xmm5
41d945:	43 00
41d947:	f2 0f 59 14 85 90 3c 	mulsd  0x433c90(,%eax,4),%xmm2
41d94e:	43 00
41d950:	66 0f 58 34 c5 a0 44 	addpd  0x4344a0(,%eax,8),%xmm6
41d957:	43 00
41d959:	66 0f 54 c5          	andpd  %xmm5,%xmm0
41d95d:	f2 0f 5c e8          	subsd  %xmm0,%xmm5
41d961:	f2 0f 58 fa          	addsd  %xmm2,%xmm7
41d965:	f2 0f 10 d8          	movsd  %xmm0,%xmm3
41d969:	f2 0f 59 c1          	mulsd  %xmm1,%xmm0
41d96d:	f2 0f 59 cd          	mulsd  %xmm5,%xmm1
41d971:	f2 0f 59 dc          	mulsd  %xmm4,%xmm3
41d975:	f2 0f 5c d0          	subsd  %xmm0,%xmm2
41d979:	f2 0f 59 e5          	mulsd  %xmm5,%xmm4
41d97d:	f2 0f 10 c6          	movsd  %xmm6,%xmm0
41d981:	f2 0f 5c d1          	subsd  %xmm1,%xmm2
41d985:	f2 0f 58 f7          	addsd  %xmm7,%xmm6
41d989:	66 0f 12 4c 24 0c    	movlpd 0xc(%esp),%xmm1
41d98f:	66 0f c5 c1 03       	pextrw $0x3,%xmm1,%eax
41d994:	f2 0f 5c d3          	subsd  %xmm3,%xmm2
41d998:	f2 0f 5c c6          	subsd  %xmm6,%xmm0
41d99c:	66 0f 12 1d 58 d8 42 	movlpd 0x42d858,%xmm3
41d9a3:	00
41d9a4:	66 0f c5 d6 03       	pextrw $0x3,%xmm6,%edx
41d9a9:	f2 0f 5c d4          	subsd  %xmm4,%xmm2
41d9ad:	f2 0f 10 e6          	movsd  %xmm6,%xmm4
41d9b1:	f2 0f 58 c7          	addsd  %xmm7,%xmm0
41d9b5:	f2 0f 5c fa          	subsd  %xmm2,%xmm7
41d9b9:	f2 0f 5c f2          	subsd  %xmm2,%xmm6
41d9bd:	66 0f 14 ff          	unpcklpd %xmm7,%xmm7
41d9c1:	25 f0 7f 00 00       	and    $0x7ff0,%eax
41d9c6:	3d f0 7f 00 00       	cmp    $0x7ff0,%eax
41d9cb:	0f 83 17 05 00 00    	jae    0x41dee8
41d9d1:	81 e2 f0 7f 00 00    	and    $0x7ff0,%edx
41d9d7:	2d f0 3f 00 00       	sub    $0x3ff0,%eax
41d9dc:	03 c2                	add    %edx,%eax
41d9de:	ba a0 40 00 00       	mov    $0x40a0,%edx
41d9e3:	2b d0                	sub    %eax,%edx
41d9e5:	2d 70 3c 00 00       	sub    $0x3c70,%eax
41d9ea:	0b d0                	or     %eax,%edx
41d9ec:	81 fa 00 00 00 80    	cmp    $0x80000000,%edx
41d9f2:	0f 83 b2 08 00 00    	jae    0x41e2aa
41d9f8:	f2 0f 5c e6          	subsd  %xmm6,%xmm4
41d9fc:	f2 0f 5c d4          	subsd  %xmm4,%xmm2
41da00:	66 0f 12 25 58 d8 42 	movlpd 0x42d858,%xmm4
41da07:	00
41da08:	66 0f 54 d9          	andpd  %xmm1,%xmm3
41da0c:	66 0f 54 e6          	andpd  %xmm6,%xmm4
41da10:	f2 0f 5c c2          	subsd  %xmm2,%xmm0
41da14:	66 0f 57 d2          	xorpd  %xmm2,%xmm2
41da18:	ba 60 40 00 00       	mov    $0x4060,%edx
41da1d:	66 0f c4 d2 03       	pinsrw $0x3,%edx,%xmm2
41da22:	f2 0f 10 eb          	movsd  %xmm3,%xmm5
41da26:	f2 0f 59 dc          	mulsd  %xmm4,%xmm3
41da2a:	f2 0f 5c f4          	subsd  %xmm4,%xmm6
41da2e:	f2 0f 5c cd          	subsd  %xmm5,%xmm1
41da32:	f2 0f 59 da          	mulsd  %xmm2,%xmm3
41da36:	f2 0f 59 ee          	mulsd  %xmm6,%xmm5
41da3a:	66 0f 28 15 b0 54 43 	movapd 0x4354b0,%xmm2
41da41:	00
41da42:	f2 0f 59 e1          	mulsd  %xmm1,%xmm4
41da46:	f2 0f 2d c3          	cvtsd2si %xmm3,%eax
41da4a:	f2 0f 59 f1          	mulsd  %xmm1,%xmm6
41da4e:	66 0f 28 0d c0 54 43 	movapd 0x4354c0,%xmm1
41da55:	00
41da56:	f2 0f 58 ec          	addsd  %xmm4,%xmm5
41da5a:	66 0f 70 e6 ee       	pshufd $0xee,%xmm6,%xmm4
41da5f:	f2 0f 58 ee          	addsd  %xmm6,%xmm5
41da63:	ba 7f ff 01 00       	mov    $0x1ff7f,%edx
41da68:	2b d0                	sub    %eax,%edx
41da6a:	05 ff e1 01 00       	add    $0x1e1ff,%eax
41da6f:	0b d0                	or     %eax,%edx
41da71:	2d ff e1 01 00       	sub    $0x1e1ff,%eax
41da76:	83 fa 00             	cmp    $0x0,%edx
41da79:	0f 8e af 05 00 00    	jle    0x41e02e
41da7f:	03 c8                	add    %eax,%ecx
41da81:	83 e0 7f             	and    $0x7f,%eax
41da84:	83 e1 80             	and    $0xffffff80,%ecx
41da87:	81 c1 80 ff 01 00    	add    $0x1ff80,%ecx
41da8d:	f2 0f 58 e0          	addsd  %xmm0,%xmm4
41da91:	f2 0f 10 c3          	movsd  %xmm3,%xmm0
41da95:	f2 0f 58 1d f0 d7 42 	addsd  0x42d7f0,%xmm3
41da9c:	00
41da9d:	66 0f 59 d7          	mulpd  %xmm7,%xmm2
41daa1:	f2 0f 5c 1d f0 d7 42 	subsd  0x42d7f0,%xmm3
41daa8:	00
41daa9:	66 0f 59 ff          	mulpd  %xmm7,%xmm7
41daad:	f2 0f 5c c3          	subsd  %xmm3,%xmm0
41dab1:	03 c0                	add    %eax,%eax
41dab3:	03 c0                	add    %eax,%eax
41dab5:	03 c0                	add    %eax,%eax
41dab7:	03 c0                	add    %eax,%eax
41dab9:	66 0f 28 98 d0 54 43 	movapd 0x4354d0(%eax),%xmm3
41dac0:	00
41dac1:	66 0f 28 35 30 d8 42 	movapd 0x42d830,%xmm6
41dac8:	00
41dac9:	66 0f 59 cf          	mulpd  %xmm7,%xmm1
41dacd:	66 0f 58 d1          	addpd  %xmm1,%xmm2
41dad1:	66 0f 70 ca ee       	pshufd $0xee,%xmm2,%xmm1
41dad6:	f2 0f 59 d7          	mulsd  %xmm7,%xmm2
41dada:	66 0f 57 ff          	xorpd  %xmm7,%xmm7
41dade:	ba 80 3f 00 00       	mov    $0x3f80,%edx
41dae3:	f2 0f 58 d1          	addsd  %xmm1,%xmm2
41dae7:	66 0f c4 fa 03       	pinsrw $0x3,%edx,%xmm7
41daec:	f2 0f 58 d4          	addsd  %xmm4,%xmm2
41daf0:	66 0f 12 25 50 d8 42 	movlpd 0x42d850,%xmm4
41daf7:	00
41daf8:	66 0f 6e c9          	movd   %ecx,%xmm1
41dafc:	f2 0f 59 54 24 0c    	mulsd  0xc(%esp),%xmm2
41db02:	f2 0f 59 c7          	mulsd  %xmm7,%xmm0
41db06:	66 0f 73 f1 2d       	psllq  $0x2d,%xmm1
41db0b:	66 0f 70 c9 44       	pshufd $0x44,%xmm1,%xmm1
41db10:	66 0f 28 3d 40 d8 42 	movapd 0x42d840,%xmm7
41db17:	00
41db18:	f2 0f 58 ea          	addsd  %xmm2,%xmm5
41db1c:	66 0f 59 d9          	mulpd  %xmm1,%xmm3
41db20:	f2 0f 58 c5          	addsd  %xmm5,%xmm0
41db24:	66 0f 14 c0          	unpcklpd %xmm0,%xmm0
41db28:	66 0f 59 f0          	mulpd  %xmm0,%xmm6
41db2c:	f2 0f 59 e0          	mulsd  %xmm0,%xmm4
41db30:	66 0f 59 c0          	mulpd  %xmm0,%xmm0
41db34:	66 0f 58 fe          	addpd  %xmm6,%xmm7
41db38:	66 0f 59 f8          	mulpd  %xmm0,%xmm7
41db3c:	f2 0f 59 c3          	mulsd  %xmm3,%xmm0
41db40:	66 0f 70 f7 ee       	pshufd $0xee,%xmm7,%xmm6
41db45:	f2 0f 59 c7          	mulsd  %xmm7,%xmm0
41db49:	66 0f 70 eb ee       	pshufd $0xee,%xmm3,%xmm5
41db4e:	f2 0f 59 f3          	mulsd  %xmm3,%xmm6
41db52:	f2 0f 59 e3          	mulsd  %xmm3,%xmm4
41db56:	f2 0f 58 c5          	addsd  %xmm5,%xmm0
41db5a:	83 ec 10             	sub    $0x10,%esp
41db5d:	f2 0f 58 c6          	addsd  %xmm6,%xmm0
41db61:	f2 0f 58 c4          	addsd  %xmm4,%xmm0
41db65:	f2 0f 58 c3          	addsd  %xmm3,%xmm0
41db69:	66 0f 13 44 24 04    	movlpd %xmm0,0x4(%esp)
41db6f:	dd 44 24 04          	fldl   0x4(%esp)
41db73:	83 c4 10             	add    $0x10,%esp
41db76:	c3                   	ret
41db77:	66 0f 12 4c 24 0c    	movlpd 0xc(%esp),%xmm1
41db7d:	66 0f 12 1d 20 d8 42 	movlpd 0x42d820,%xmm3
41db84:	00
41db85:	66 0f 7e c8          	movd   %xmm1,%eax
41db89:	f2 0f 10 d1          	movsd  %xmm1,%xmm2
41db8d:	66 0f 54 cb          	andpd  %xmm3,%xmm1
41db91:	66 0f 73 d1 20       	psrlq  $0x20,%xmm1
41db96:	66 0f 7e c9          	movd   %xmm1,%ecx
41db9a:	81 f9 00 00 f0 7f    	cmp    $0x7ff00000,%ecx
41dba0:	0f 83 da 00 00 00    	jae    0x41dc80
41dba6:	0b c1                	or     %ecx,%eax
41dba8:	83 f8 00             	cmp    $0x0,%eax
41dbab:	0f 84 f4 03 00 00    	je     0x41dfa5
41dbb1:	83 fa 00             	cmp    $0x0,%edx
41dbb4:	0f 8d 05 01 00 00    	jge    0x41dcbf
41dbba:	f7 da                	neg    %edx