496717:	66 0f 12 2c 85 38 72 	movlpd 0x4a7238(,%eax,4),%xmm5
49671e:	4a 00
496720:	03 c0                	add    %eax,%eax
496722:	66 0f 28 34 85 50 76 	movapd 0x4a7650(,%eax,4),%xmm6
496729:	4a 00
49672b:	ba 7f 3e 04 00       	mov    $0x43e7f,%edx
496730:	e9 6e fb ff ff       	jmp    0x4962a3
496735:	8b d0                	mov    %eax,%edx
496737:	81 e2 ff ff ff 7f    	and    $0x7fffffff,%edx
49673d:	83 fa 00             	cmp    $0x0,%edx
496740:	75 a1                	jne    0x4966e3
496742:	8b 54 24 0c          	mov    0xc(%esp),%edx
496746:	81 e2 00 00 00 80    	and    $0x80000000,%edx
49674c:	83 fa 00             	cmp    $0x0,%edx
49674f:	74 30                	je     0x496781
496751:	c1 e1 0d             	shl    $0xd,%ecx
496754:	23 c1                	and    %ecx,%eax
496756:	ba 00 00 f0 7f       	mov    $0x7ff00000,%edx
49675b:	0b d0                	or     %eax,%edx
49675d:	66 0f 6e c2          	movd   %edx,%xmm0
496761:	66 0f 73 f0 20       	psllq  $0x20,%xmm0
496766:	66 0f 12 0d 20 75 4b 	movlpd 0x4b7520,%xmm1
49676d:	00
49676e:	66 0f 12 14 24       	movlpd (%esp),%xmm2
496773:	f2 0f 5e ca          	divsd  %xmm2,%xmm1
496777:	ba 1b 00 00 00       	mov    $0x1b,%edx
49677c:	e9 8f 02 00 00       	jmp    0x496a10
496781:	c1 e1 0d             	shl    $0xd,%ecx
496784:	23 c1                	and    %ecx,%eax
496786:	83 f8 00             	cmp    $0x0,%eax
496789:	0f 85 a7 00 00 00    	jne    0x496836
49678f:	66 0f 57 c0          	xorpd  %xmm0,%xmm0
496793:	83 c4 10             	add    $0x10,%esp
496796:	c3                   	ret
496797:	66 0f 12 1d 10 75 4b 	movlpd 0x4b7510,%xmm3
49679e:	00
49679f:	66 0f 57 c9          	xorpd  %xmm1,%xmm1
4967a3:	66 0f 54 dc          	andpd  %xmm4,%xmm3
4967a7:	66 0f 76 cb          	pcmpeqd %xmm3,%xmm1
4967ab:	66 0f d7 c9          	pmovmskb %xmm1,%ecx
4967af:	81 e1 ff 00 00 00    	and    $0xff,%ecx
4967b5:	81 f9 ff 00 00 00    	cmp    $0xff,%ecx
4967bb:	0f 85 cf 00 00 00    	jne    0x496890
4967c1:	66 0f c5 cc 03       	pextrw $0x3,%xmm4,%ecx
4967c6:	81 e1 00 80 00 00    	and    $0x8000,%ecx
4967cc:	83 f9 00             	cmp    $0x0,%ecx
4967cf:	0f 84 9a 00 00 00    	je     0x49686f
4967d5:	25 ff 00 00 00       	and    $0xff,%eax
4967da:	3d ff 00 00 00       	cmp    $0xff,%eax
4967df:	75 6d                	jne    0x49684e
4967e1:	66 0f 12 4c 24 08    	movlpd 0x8(%esp),%xmm1
4967e7:	66 0f 28 d1          	movapd %xmm1,%xmm2
4967eb:	b9 f4 03 00 00       	mov    $0x3f4,%ecx
4967f0:	66 0f 6e d9          	movd   %ecx,%xmm3
4967f4:	66 0f 54 0d 30 75 4b 	andpd  0x4b7530,%xmm1
4967fb:	00
4967fc:	66 0f 73 d1 34       	psrlq  $0x34,%xmm1
496801:	66 0f fa cb          	psubd  %xmm3,%xmm1
496805:	66 0f ef db          	pxor   %xmm3,%xmm3
496809:	66 0f f3 d1          	psllq  %xmm1,%xmm2
49680d:	66 0f 76 d3          	pcmpeqd %xmm3,%xmm2
496811:	66 0f d7 c2          	pmovmskb %xmm2,%eax
496815:	25 ff 00 00 00       	and    $0xff,%eax
49681a:	3d ff 00 00 00       	cmp    $0xff,%eax
49681f:	74 2d                	je     0x49684e
496821:	66 0f 12 4c 24 08    	movlpd 0x8(%esp),%xmm1
496827:	66 0f c5 c1 03       	pextrw $0x3,%xmm1,%eax
49682c:	25 00 80 00 00       	and    $0x8000,%eax
496831:	83 f8 00             	cmp    $0x0,%eax
496834:	74 0c                	je     0x496842
496836:	66 0f 12 05 90 75 4b 	movlpd 0x4b7590,%xmm0
49683d:	00
49683e:	83 c4 10             	add    $0x10,%esp
496841:	c3                   	ret
496842:	66 0f 12 05 88 75 4b 	movlpd 0x4b7588,%xmm0
496849:	00
49684a:	83 c4 10             	add    $0x10,%esp
49684d:	c3                   	ret
49684e:	66 0f 12 4c 24 08    	movlpd 0x8(%esp),%xmm1
496854:	66 0f c5 c1 03       	pextrw $0x3,%xmm1,%eax
496859:	25 00 80 00 00       	and    $0x8000,%eax
49685e:	83 f8 00             	cmp    $0x0,%eax
496861:	0f 84 39 01 00 00    	je     0x4969a0
496867:	66 0f 57 c0          	xorpd  %xmm0,%xmm0
49686b:	83 c4 10             	add    $0x10,%esp
49686e:	c3                   	ret
49686f:	66 0f 12 4c 24 08    	movlpd 0x8(%esp),%xmm1
496875:	66 0f c5 c1 03       	pextrw $0x3,%xmm1,%eax
49687a:	25 00 80 00 00       	and    $0x8000,%eax
49687f:	83 f8 00             	cmp    $0x0,%eax
496882:	0f 84 18 01 00 00    	je     0x4969a0
496888:	66 0f 57 c0          	xorpd  %xmm0,%xmm0
49688c:	83 c4 10             	add    $0x10,%esp
49688f:	c3                   	ret
496890:	f2 0f 58 e4          	addsd  %xmm4,%xmm4
496894:	f2 0f 10 c4          	movsd  %xmm4,%xmm0
496898:	ba ee 03 00 00       	mov    $0x3ee,%edx
49689d:	e9 6e 01 00 00       	jmp    0x496a10
4968a2:	66 0f 12 14 24       	movlpd (%esp),%xmm2
4968a7:	66 0f 7e d0          	movd   %xmm2,%eax
4968ab:	66 0f 73 d2 20       	psrlq  $0x20,%xmm2
4968b0:	66 0f 7e d2          	movd   %xmm2,%edx
4968b4:	81 e2 ff ff ff 7f    	and    $0x7fffffff,%edx
4968ba:	0b c2                	or     %edx,%eax
4968bc:	b9 00 00 00 00       	mov    $0x0,%ecx
4968c1:	83 f8 00             	cmp    $0x0,%eax
4968c4:	0f 84 6b fe ff ff    	je     0x496735
4968ca:	66 0f 12 0d 78 75 4b 	movlpd 0x4b7578,%xmm1
4968d1:	00
4968d2:	66 0f 12 05 b0 75 4b 	movlpd 0x4b75b0,%xmm0
4968d9:	00
4968da:	f2 0f 59 c9          	mulsd  %xmm1,%xmm1
4968de:	ba 1c 00 00 00       	mov    $0x1c,%edx
4968e3:	e9 28 01 00 00       	jmp    0x496a10
4968e8:	66 0f 12 24 24       	movlpd (%esp),%xmm4
4968ed:	66 0f 12 54 24 08    	movlpd 0x8(%esp),%xmm2
4968f3:	66 0f 7e e0          	movd   %xmm4,%eax
4968f7:	83 f8 00             	cmp    $0x0,%eax
4968fa:	75 29                	jne    0x496925
4968fc:	66 0f 73 d4 20       	psrlq  $0x20,%xmm4
496901:	66 0f 7e e2          	movd   %xmm4,%edx
496905:	81 fa 00 00 f0 3f    	cmp    $0x3ff00000,%edx
49690b:	0f 84 f3 00 00 00    	je     0x496a04
496911:	81 fa 00 00 f0 bf    	cmp    $0xbff00000,%edx
496917:	75 0c                	jne    0x496925
496919:	66 0f 12 05 20 75 4b 	movlpd 0x4b7520,%xmm0
496920:	00
496921:	83 c4 10             	add    $0x10,%esp
496924:	c3                   	ret
496925:	66 0f 12 1d 10 75 4b 	movlpd 0x4b7510,%xmm3
49692c:	00
49692d:	66 0f 57 c9          	xorpd  %xmm1,%xmm1
496931:	66 0f 54 da          	andpd  %xmm2,%xmm3
496935:	66 0f 76 cb          	pcmpeqd %xmm3,%xmm1
496939:	66 0f d7 c1          	pmovmskb %xmm1,%eax
49693d:	25 ff 00 00 00       	and    $0xff,%eax
496942:	3d ff 00 00 00       	cmp    $0xff,%eax
496947:	75 63                	jne    0x4969ac
496949:	66 0f c5 c2 03       	pextrw $0x3,%xmm2,%eax
49694e:	66 0f 12 24 24       	movlpd (%esp),%xmm4
496953:	25 00 80 00 00       	and    $0x8000,%eax
496958:	81 f1 00 00 f0 bf    	xor    $0xbff00000,%ecx
49695e:	0b d1                	or     %ecx,%edx
496960:	83 fa 00             	cmp    $0x0,%edx
496963:	0f 84 9b 00 00 00    	je     0x496a04
496969:	83 f8 00             	cmp    $0x0,%eax
49696c:	74 19                	je     0x496987
49696e:	66 0f c5 c4 03       	pextrw $0x3,%xmm4,%eax
496973:	25 f0 7f 00 00       	and    $0x7ff0,%eax
496978:	3d f0 3f 00 00       	cmp    $0x3ff0,%eax
49697d:	72 21                	jb     0x4969a0
49697f:	66 0f 57 c0          	xorpd  %xmm0,%xmm0
496983:	83 c4 10             	add    $0x10,%esp
496986:	c3                   	ret
496987:	66 0f c5 c4 03       	pextrw $0x3,%xmm4,%eax
49698c:	25 f0 7f 00 00       	and    $0x7ff0,%eax
496991:	3d f0 3f 00 00       	cmp    $0x3ff0,%eax
496996:	73 08                	jae    0x4969a0
496998:	66 0f 57 c0          	xorpd  %xmm0,%xmm0
49699c:	83 c4 10             	add    $0x10,%esp
49699f:	c3                   	ret
4969a0:	66 0f 12 05 80 75 4b 	movlpd 0x4b7580,%xmm0
4969a7:	00
4969a8:	83 c4 10             	add    $0x10,%esp
4969ab:	c3                   	ret
4969ac:	f2 0f 58 d2          	addsd  %xmm2,%xmm2
4969b0:	f2 0f 10 c2          	movsd  %xmm2,%xmm0
4969b4:	ba ee 03 00 00       	mov    $0x3ee,%edx
4969b9:	eb 55                	jmp    0x496a10
4969bb:	66 0f 7e e0          	movd   %xmm4,%eax
4969bf:	66 0f 73 d4 20       	psrlq  $0x20,%xmm4
4969c4:	66 0f 7e e2          	movd   %xmm4,%edx
4969c8:	81 e2 ff ff ff 7f    	and    $0x7fffffff,%edx
4969ce:	8b c8                	mov    %eax,%ecx
4969d0:	0b c2                	or     %edx,%eax
4969d2:	66 0f 12 05 20 75 4b 	movlpd 0x4b7520,%xmm0
4969d9:	00
4969da:	ba 1a 00 00 00       	mov    $0x1a,%edx
4969df:	83 f8 00             	cmp    $0x0,%eax
4969e2:	74 2c                	je     0x496a10
4969e4:	66 0f 7e e0          	movd   %xmm4,%eax
4969e8:	ba 1d 00 00 00       	mov    $0x1d,%edx
4969ed:	25 ff ff ff 7f       	and    $0x7fffffff,%eax
4969f2:	3d 00 00 f0 7f       	cmp    $0x7ff00000,%eax
4969f7:	77 17                	ja     0x496a10
4969f9:	72 05                	jb     0x496a00
4969fb:	83 f9 00             	cmp    $0x0,%ecx
4969fe:	77 10                	ja     0x496a10
496a00:	83 c4 10             	add    $0x10,%esp
496a03:	c3                   	ret
496a04:	66 0f 12 05 38 72 4a 	movlpd 0x4a7238,%xmm0
496a0b:	00
496a0c:	83 c4 10             	add    $0x10,%esp
496a0f:	c3                   	ret
496a10:	83 ec 18             	sub    $0x18,%esp
496a13:	66 0f 13 44 24 10    	movlpd %xmm0,0x10(%esp)
496a19:	89 54 24 0c          	mov    %edx,0xc(%esp)
496a1d:	8b d4                	mov    %esp,%edx
496a1f:	83 c2 10             	add    $0x10,%edx
496a22:	89 54 24 08          	mov    %edx,0x8(%esp)
496a26:	83 c2 10             	add    $0x10,%edx
496a29:	89 54 24 04          	mov    %edx,0x4(%esp)
496a2d:	83 ea 08             	sub    $0x8,%edx
496a30:	89 14 24             	mov    %edx,(%esp)
496a33:	e8 d6 da ff ff       	call   0x49450e
496a38:	66 0f 12 44 24 10    	movlpd 0x10(%esp),%xmm0
496a3e:	83 c4 28             	add    $0x28,%esp
496a41:	c3                   	ret
496a42:	83 f8 00             	cmp    $0x0,%eax
496a45:	7e 28                	jle    0x496a6f
496a47:	3d 00 00 04 00       	cmp    $0x40000,%eax
496a4c:	0f 83 22 02 00 00    	jae    0x496c74
496a52:	56                   	push   %esi
496a53:	8b d0                	mov    %eax,%edx
496a55:	83 e0 7f             	and    $0x7f,%eax
496a58:	81 c1 00 ff 03 00    	add    $0x3ff00,%ecx
496a5e:	81 ea 80 00 00 00    	sub    $0x80,%edx
496a64:	83 e2 80             	and    $0xffffff80,%edx
496a67:	57                   	push   %edi
496a68:	bf f0 3f 00 00       	mov    $0x3ff0,%edi
496a6d:	eb 26                	jmp    0x496a95
496a6f:	3d 00 02 fc ff       	cmp    $0xfffc0200,%eax
496a74:	0f 8e d7 01 00 00    	jle    0x496c51
496a7a:	56                   	push   %esi
496a7b:	8b d0                	mov    %eax,%edx
496a7d:	83 e0 7f             	and    $0x7f,%eax
496a80:	81 c1 80 00 00 00    	add    $0x80,%ecx
496a86:	83 e2 80             	and    $0xffffff80,%edx
496a89:	81 c2 80 fe 03 00    	add    $0x3fe80,%edx
496a8f:	57                   	push   %edi
496a90:	bf 00 00 00 00       	mov    $0x0,%edi
496a95:	f2 0f 58 e0          	addsd  %xmm0,%xmm4
496a99:	f2 0f 10 c3          	movsd  %xmm3,%xmm0
496a9d:	f2 0f 58 1d 00 75 4b 	addsd  0x4b7500,%xmm3
496aa4:	00
496aa5:	8b f2                	mov    %edx,%esi
496aa7:	81 ee 80 ff 01 00    	sub    $0x1ff80,%esi
496aad:	66 0f 59 d7          	mulpd  %xmm7,%xmm2
496ab1:	f2 0f 5c 1d 00 75 4b 	subsd  0x4b7500,%xmm3
496ab8:	00
496ab9:	66 0f 59 ff          	mulpd  %xmm7,%xmm7
496abd:	f2 0f 5c c3          	subsd  %xmm3,%xmm0
496ac1:	03 c0                	add    %eax,%eax
496ac3:	03 c0                	add    %eax,%eax
496ac5:	03 c0                	add    %eax,%eax
496ac7:	03 c0                	add    %eax,%eax
496ac9:	66 0f 28 98 c0 a2 4a 	movapd 0x4aa2c0(%eax),%xmm3
496ad0:	00
496ad1:	66 0f 28 35 40 75 4b 	movapd 0x4b7540,%xmm6
496ad8:	00
496ad9:	66 0f 59 cf          	mulpd  %xmm7,%xmm1
496add:	66 0f 58 d1          	addpd  %xmm1,%xmm2
496ae1:	66 0f 70 ca ee       	pshufd $0xee,%xmm2,%xmm1
496ae6:	f2 0f 59 d7          	mulsd  %xmm7,%xmm2
496aea:	f2 0f 58 d1          	addsd  %xmm1,%xmm2
496aee:	f2 0f 58 d4          	addsd  %xmm4,%xmm2
496af2:	66 0f 12 25 60 75 4b 	movlpd 0x4b7560,%xmm4
496af9:	00
496afa:	66 0f 6e ca          	movd   %edx,%xmm1
496afe:	81 ea 80 ff 01 00    	sub    $0x1ff80,%edx
496b04:	f7 da                	neg    %edx
496b06:	c1 fa 07             	sar    $0x7,%edx
496b09:	83 c2 02             	add    $0x2,%edx
496b0c:	8b c2                	mov    %edx,%eax
496b0e:	83 e0 20             	and    $0x20,%eax
496b11:	03 d0                	add    %eax,%edx
496b13:	66 0f 57 ff          	xorpd  %xmm7,%xmm7
496b17:	b8 80 3f 00 00       	mov    $0x3f80,%eax
496b1c:	66 0f c4 f8 03       	pinsrw $0x3,%eax,%xmm7
496b21:	f2 0f 59 54 24 10    	mulsd  0x10(%esp),%xmm2
496b27:	f2 0f 59 c7          	mulsd  %xmm7,%xmm0
496b2b:	66 0f 73 f1 2d       	psllq  $0x2d,%xmm1
496b30:	66 0f 70 c9 44       	pshufd $0x44,%xmm1,%xmm1
496b35:	66 0f 28 3d 50 75 4b 	movapd 0x4b7550,%xmm7
496b3c:	00
496b3d:	f2 0f 58 ea          	addsd  %xmm2,%xmm5
496b41:	66 0f 59 d9          	mulpd  %xmm1,%xmm3
496b45:	f2 0f 58 c5          	addsd  %xmm5,%xmm0
496b49:	66 0f 14 c0          	unpcklpd %xmm0,%xmm0
496b4d:	66 0f 59 f0          	mulpd  %xmm0,%xmm6
496b51:	f2 0f 59 e0          	mulsd  %xmm0,%xmm4
496b55:	66 0f 59 c0          	mulpd  %xmm0,%xmm0
496b59:	66 0f 58 fe          	addpd  %xmm6,%xmm7
496b5d:	66 0f 59 f8          	mulpd  %xmm0,%xmm7
496b61:	f2 0f 59 c3          	mulsd  %xmm3,%xmm0
496b65:	66 0f 70 f7 ee       	pshufd $0xee,%xmm7,%xmm6
496b6a:	f2 0f 59 c7          	mulsd  %xmm7,%xmm0
496b6e:	66 0f 70 eb ee       	pshufd $0xee,%xmm3,%xmm5
496b73:	f2 0f 59 f3          	mulsd  %xmm3,%xmm6
496b77:	f2 0f 59 e3          	mulsd  %xmm3,%xmm4
496b7b:	66 0f 6e f9          	movd   %ecx,%xmm7
496b7f:	66 0f 73 f7 2d       	psllq  $0x2d,%xmm7
496b84:	66 0f 6e d2          	movd   %edx,%xmm2
496b88:	66 0f 76 c9          	pcmpeqd %xmm1,%xmm1
496b8c:	66 0f f3 ca          	psllq  %xmm2,%xmm1
496b90:	f2 0f 58 c5          	addsd  %xmm5,%xmm0
496b94:	f2 0f 58 c6          	addsd  %xmm6,%xmm0
496b98:	66 0f 54 cb          	andpd  %xmm3,%xmm1
496b9c:	f2 0f 58 c4          	addsd  %xmm4,%xmm0
496ba0:	66 0f 57 f6          	xorpd  %xmm6,%xmm6
496ba4:	66 0f 76 e4          	pcmpeqd %xmm4,%xmm4
496ba8:	66 0f f3 e2          	psllq  %xmm2,%xmm4
496bac:	f2 0f 5c d9          	subsd  %xmm1,%xmm3
496bb0:	f2 0f 10 d1          	movsd  %xmm1,%xmm2
496bb4:	f2 0f 58 c8          	addsd  %xmm0,%xmm1
496bb8:	66 0f 54 cc          	andpd  %xmm4,%xmm1
496bbc:	66 0f c4 f7 03       	pinsrw $0x3,%edi,%xmm6
496bc1:	5f                   	pop    %edi
496bc2:	f2 0f 5c d1          	subsd  %xmm1,%xmm2
496bc6:	f2 0f 58 c2          	addsd  %xmm2,%xmm0
496bca:	f2 0f 58 c3          	addsd  %xmm3,%xmm0
496bce:	83 fe 00             	cmp    $0x0,%esi
496bd1:	7f 41                	jg     0x496c14
496bd3:	5e                   	pop    %esi
496bd4:	f2 0f 59 c7          	mulsd  %xmm7,%xmm0
496bd8:	f2 0f 59 cf          	mulsd  %xmm7,%xmm1
496bdc:	f2 0f 58 c1          	addsd  %xmm1,%xmm0
496be0:	f2 0f 59 f0          	mulsd  %xmm0,%xmm6
496be4:	f2 0f 58 c6          	addsd  %xmm6,%xmm0
496be8:	66 0f c5 c0 03       	pextrw $0x3,%xmm0,%eax
496bed:	25 f0 7f 00 00       	and    $0x7ff0,%eax
496bf2:	ba 18 00 00 00       	mov    $0x18,%edx
496bf7:	3d f0 7f 00 00       	cmp    $0x7ff0,%eax
496bfc:	0f 84 0e fe ff ff    	je     0x496a10
496c02:	ba 19 00 00 00       	mov    $0x19,%edx
496c07:	83 f8 00             	cmp    $0x0,%eax
496c0a:	0f 84 00 fe ff ff    	je     0x496a10
496c10:	83 c4 10             	add    $0x10,%esp
496c13:	c3                   	ret
496c14:	5e                   	pop    %esi
496c15:	f2 0f 58 c1          	addsd  %xmm1,%xmm0
496c19:	f2 0f 59 c7          	mulsd  %xmm7,%xmm0
496c1d:	f2 0f 59 f0          	mulsd  %xmm0,%xmm6
496c21:	f2 0f 58 c6          	addsd  %xmm6,%xmm0
496c25:	66 0f c5 c0 03       	pextrw $0x3,%xmm0,%eax
496c2a:	25 f0 7f 00 00       	and    $0x7ff0,%eax
496c2f:	ba 18 00 00 00       	mov    $0x18,%edx
496c34:	3d f0 7f 00 00       	cmp    $0x7ff0,%eax
496c39:	0f 84 d1 fd ff ff    	je     0x496a10
496c3f:	ba 19 00 00 00       	mov    $0x19,%edx
496c44:	83 f8 00             	cmp    $0x0,%eax
496c47:	0f 84 c3 fd ff ff    	je     0x496a10
496c4d:	83 c4 10             	add    $0x10,%esp
496c50:	c3                   	ret
496c51:	66 0f 12 05 a8 75 4b 	movlpd 0x4b75a8,%xmm0
496c58:	00
496c59:	66 0f 6e c9          	movd   %ecx,%xmm1
496c5d:	f2 0f 59 c0          	mulsd  %xmm0,%xmm0
496c61:	66 0f 73 f1 2d       	psllq  $0x2d,%xmm1
496c66:	66 0f 56 c1          	orpd   %xmm1,%xmm0