43ae1b:	66 0f d7 c9          	pmovmskb %xmm1,%ecx
43ae1f:	81 e1 ff 00 00 00    	and    $0xff,%ecx
43ae25:	81 f9 ff 00 00 00    	cmp    $0xff,%ecx
43ae2b:	0f 85 cf 00 00 00    	jne    0x43af00
43ae31:	66 0f c5 cc 03       	pextrw $0x3,%xmm4,%ecx
43ae36:	81 e1 00 80 00 00    	and    $0x8000,%ecx
43ae3c:	83 f9 00             	cmp    $0x0,%ecx
43ae3f:	0f 84 9a 00 00 00    	je     0x43aedf
43ae45:	25 ff 00 00 00       	and    $0xff,%eax
43ae4a:	3d ff 00 00 00       	cmp    $0xff,%eax
43ae4f:	75 6d                	jne    0x43aebe
43ae51:	66 0f 12 4c 24 08    	movlpd 0x8(%esp),%xmm1
43ae57:	66 0f 28 d1          	movapd %xmm1,%xmm2
43ae5b:	b9 f4 03 00 00       	mov    $0x3f4,%ecx
43ae60:	66 0f 6e d9          	movd   %ecx,%xmm3
43ae64:	66 0f 54 0d c0 00 45 	andpd  0x4500c0,%xmm1
43ae6b:	00
43ae6c:	66 0f 73 d1 34       	psrlq  $0x34,%xmm1
43ae71:	66 0f fa cb          	psubd  %xmm3,%xmm1
43ae75:	66 0f ef db          	pxor   %xmm3,%xmm3
43ae79:	66 0f f3 d1          	psllq  %xmm1,%xmm2
43ae7d:	66 0f 76 d3          	pcmpeqd %xmm3,%xmm2
43ae81:	66 0f d7 c2          	pmovmskb %xmm2,%eax
43ae85:	25 ff 00 00 00       	and    $0xff,%eax
43ae8a:	3d ff 00 00 00       	cmp    $0xff,%eax
43ae8f:	74 2d                	je     0x43aebe
43ae91:	66 0f 12 4c 24 08    	movlpd 0x8(%esp),%xmm1
43ae97:	66 0f c5 c1 03       	pextrw $0x3,%xmm1,%eax
43ae9c:	25 00 80 00 00       	and    $0x8000,%eax
43aea1:	83 f8 00             	cmp    $0x0,%eax
43aea4:	74 0c                	je     0x43aeb2
43aea6:	66 0f 12 05 20 01 45 	movlpd 0x450120,%xmm0
43aead:	00
43aeae:	83 c4 10             	add    $0x10,%esp
43aeb1:	c3                   	ret
43aeb2:	66 0f 12 05 18 01 45 	movlpd 0x450118,%xmm0
43aeb9:	00
43aeba:	83 c4 10             	add    $0x10,%esp
43aebd:	c3                   	ret
43aebe:	66 0f 12 4c 24 08    	movlpd 0x8(%esp),%xmm1
43aec4:	66 0f c5 c1 03       	pextrw $0x3,%xmm1,%eax
43aec9:	25 00 80 00 00       	and    $0x8000,%eax
43aece:	83 f8 00             	cmp    $0x0,%eax
43aed1:	0f 84 39 01 00 00    	je     0x43b010
43aed7:	66 0f 57 c0          	xorpd  %xmm0,%xmm0
43aedb:	83 c4 10             	add    $0x10,%esp
43aede:	c3                   	ret
43aedf:	66 0f 12 4c 24 08    	movlpd 0x8(%esp),%xmm1
43aee5:	66 0f c5 c1 03       	pextrw $0x3,%xmm1,%eax
43aeea:	25 00 80 00 00       	and    $0x8000,%eax
43aeef:	83 f8 00             	cmp    $0x0,%eax
43aef2:	0f 84 18 01 00 00    	je     0x43b010
43aef8:	66 0f 57 c0          	xorpd  %xmm0,%xmm0
43aefc:	83 c4 10             	add    $0x10,%esp
43aeff:	c3                   	ret
43af00:	f2 0f 58 e4          	addsd  %xmm4,%xmm4
43af04:	f2 0f 10 c4          	movsd  %xmm4,%xmm0
43af08:	ba ee 03 00 00       	mov    $0x3ee,%edx
43af0d:	e9 6e 01 00 00       	jmp    0x43b080
43af12:	66 0f 12 14 24       	movlpd (%esp),%xmm2
43af17:	66 0f 7e d0          	movd   %xmm2,%eax
43af1b:	66 0f 73 d2 20       	psrlq  $0x20,%xmm2
43af20:	66 0f 7e d2          	movd   %xmm2,%edx
43af24:	81 e2 ff ff ff 7f    	and    $0x7fffffff,%edx
43af2a:	0b c2                	or     %edx,%eax
43af2c:	b9 00 00 00 00       	mov    $0x0,%ecx
43af31:	83 f8 00             	cmp    $0x0,%eax
43af34:	0f 84 6b fe ff ff    	je     0x43ada5
43af3a:	66 0f 12 0d 08 01 45 	movlpd 0x450108,%xmm1
43af41:	00
43af42:	66 0f 12 05 40 01 45 	movlpd 0x450140,%xmm0
43af49:	00
43af4a:	f2 0f 59 c9          	mulsd  %xmm1,%xmm1
43af4e:	ba 1c 00 00 00       	mov    $0x1c,%edx
43af53:	e9 28 01 00 00       	jmp    0x43b080
43af58:	66 0f 12 24 24       	movlpd (%esp),%xmm4
43af5d:	66 0f 12 54 24 08    	movlpd 0x8(%esp),%xmm2
43af63:	66 0f 7e e0          	movd   %xmm4,%eax
43af67:	83 f8 00             	cmp    $0x0,%eax
43af6a:	75 29                	jne    0x43af95
43af6c:	66 0f 73 d4 20       	psrlq  $0x20,%xmm4
43af71:	66 0f 7e e2          	movd   %xmm4,%edx
43af75:	81 fa 00 00 f0 3f    	cmp    $0x3ff00000,%edx
43af7b:	0f 84 f3 00 00 00    	je     0x43b074
43af81:	81 fa 00 00 f0 bf    	cmp    $0xbff00000,%edx
43af87:	75 0c                	jne    0x43af95
43af89:	66 0f 12 05 b0 00 45 	movlpd 0x4500b0,%xmm0
43af90:	00
43af91:	83 c4 10             	add    $0x10,%esp
43af94:	c3                   	ret
43af95:	66 0f 12 1d a0 00 45 	movlpd 0x4500a0,%xmm3
43af9c:	00
43af9d:	66 0f 57 c9          	xorpd  %xmm1,%xmm1
43afa1:	66 0f 54 da          	andpd  %xmm2,%xmm3
43afa5:	66 0f 76 cb          	pcmpeqd %xmm3,%xmm1
43afa9:	66 0f d7 c1          	pmovmskb %xmm1,%eax
43afad:	25 ff 00 00 00       	and    $0xff,%eax
43afb2:	3d ff 00 00 00       	cmp    $0xff,%eax
43afb7:	75 63                	jne    0x43b01c
43afb9:	66 0f c5 c2 03       	pextrw $0x3,%xmm2,%eax
43afbe:	66 0f 12 24 24       	movlpd (%esp),%xmm4
43afc3:	25 00 80 00 00       	and    $0x8000,%eax
43afc8:	81 f1 00 00 f0 bf    	xor    $0xbff00000,%ecx
43afce:	0b d1                	or     %ecx,%edx
43afd0:	83 fa 00             	cmp    $0x0,%edx
43afd3:	0f 84 9b 00 00 00    	je     0x43b074
43afd9:	83 f8 00             	cmp    $0x0,%eax
43afdc:	74 19                	je     0x43aff7
43afde:	66 0f c5 c4 03       	pextrw $0x3,%xmm4,%eax
43afe3:	25 f0 7f 00 00       	and    $0x7ff0,%eax
43afe8:	3d f0 3f 00 00       	cmp    $0x3ff0,%eax
43afed:	72 21                	jb     0x43b010
43afef:	66 0f 57 c0          	xorpd  %xmm0,%xmm0
43aff3:	83 c4 10             	add    $0x10,%esp
43aff6:	c3                   	ret
43aff7:	66 0f c5 c4 03       	pextrw $0x3,%xmm4,%eax
43affc:	25 f0 7f 00 00       	and    $0x7ff0,%eax
43b001:	3d f0 3f 00 00       	cmp    $0x3ff0,%eax
43b006:	73 08                	jae    0x43b010
43b008:	66 0f 57 c0          	xorpd  %xmm0,%xmm0
43b00c:	83 c4 10             	add    $0x10,%esp
43b00f:	c3                   	ret
43b010:	66 0f 12 05 10 01 45 	movlpd 0x450110,%xmm0
43b017:	00
43b018:	83 c4 10             	add    $0x10,%esp
43b01b:	c3                   	ret
43b01c:	f2 0f 58 d2          	addsd  %xmm2,%xmm2
43b020:	f2 0f 10 c2          	movsd  %xmm2,%xmm0
43b024:	ba ee 03 00 00       	mov    $0x3ee,%edx
43b029:	eb 55                	jmp    0x43b080
43b02b:	66 0f 7e e0          	movd   %xmm4,%eax
43b02f:	66 0f 73 d4 20       	psrlq  $0x20,%xmm4
43b034:	66 0f 7e e2          	movd   %xmm4,%edx
43b038:	81 e2 ff ff ff 7f    	and    $0x7fffffff,%edx
43b03e:	8b c8                	mov    %eax,%ecx
43b040:	0b c2                	or     %edx,%eax
43b042:	66 0f 12 05 b0 00 45 	movlpd 0x4500b0,%xmm0
43b049:	00
43b04a:	ba 1a 00 00 00       	mov    $0x1a,%edx
43b04f:	83 f8 00             	cmp    $0x0,%eax
43b052:	74 2c                	je     0x43b080
43b054:	66 0f 7e e0          	movd   %xmm4,%eax
43b058:	ba 1d 00 00 00       	mov    $0x1d,%edx
43b05d:	25 ff ff ff 7f       	and    $0x7fffffff,%eax
43b062:	3d 00 00 f0 7f       	cmp    $0x7ff00000,%eax
43b067:	77 17                	ja     0x43b080
43b069:	72 05                	jb     0x43b070
43b06b:	83 f9 00             	cmp    $0x0,%ecx
43b06e:	77 10                	ja     0x43b080
43b070:	83 c4 10             	add    $0x10,%esp
43b073:	c3                   	ret
43b074:	66 0f 12 05 40 59 44 	movlpd 0x445940,%xmm0
43b07b:	00
43b07c:	83 c4 10             	add    $0x10,%esp
43b07f:	c3                   	ret
43b080:	83 ec 18             	sub    $0x18,%esp
43b083:	66 0f 13 44 24 10    	movlpd %xmm0,0x10(%esp)
43b089:	89 54 24 0c          	mov    %edx,0xc(%esp)
43b08d:	8b d4                	mov    %esp,%edx
43b08f:	83 c2 10             	add    $0x10,%edx
43b092:	89 54 24 08          	mov    %edx,0x8(%esp)
43b096:	83 c2 10             	add    $0x10,%edx
43b099:	89 54 24 04          	mov    %edx,0x4(%esp)
43b09d:	83 ea 08             	sub    $0x8,%edx
43b0a0:	89 14 24             	mov    %edx,(%esp)
43b0a3:	e8 c9 d9 ff ff       	call   0x438a71
43b0a8:	66 0f 12 44 24 10    	movlpd 0x10(%esp),%xmm0
43b0ae:	83 c4 28             	add    $0x28,%esp
43b0b1:	c3                   	ret
43b0b2:	83 f8 00             	cmp    $0x0,%eax
43b0b5:	7e 28                	jle    0x43b0df
43b0b7:	3d 00 00 04 00       	cmp    $0x40000,%eax
43b0bc:	0f 83 22 02 00 00    	jae    0x43b2e4
43b0c2:	56                   	push   %esi
43b0c3:	8b d0                	mov    %eax,%edx
43b0c5:	83 e0 7f             	and    $0x7f,%eax
43b0c8:	81 c1 00 ff 03 00    	add    $0x3ff00,%ecx
43b0ce:	81 ea 80 00 00 00    	sub    $0x80,%edx
43b0d4:	83 e2 80             	and    $0xffffff80,%edx
43b0d7:	57                   	push   %edi
43b0d8:	bf f0 3f 00 00       	mov    $0x3ff0,%edi
43b0dd:	eb 26                	jmp    0x43b105
43b0df:	3d 00 02 fc ff       	cmp    $0xfffc0200,%eax
43b0e4:	0f 8e d7 01 00 00    	jle    0x43b2c1
43b0ea:	56                   	push   %esi
43b0eb:	8b d0                	mov    %eax,%edx
43b0ed:	83 e0 7f             	and    $0x7f,%eax
43b0f0:	81 c1 80 00 00 00    	add    $0x80,%ecx
43b0f6:	83 e2 80             	and    $0xffffff80,%edx
43b0f9:	81 c2 80 fe 03 00    	add    $0x3fe80,%edx
43b0ff:	57                   	push   %edi
43b100:	bf 00 00 00 00       	mov    $0x0,%edi
43b105:	f2 0f 58 e0          	addsd  %xmm0,%xmm4
43b109:	f2 0f 10 c3          	movsd  %xmm3,%xmm0
43b10d:	f2 0f 58 1d 90 00 45 	addsd  0x450090,%xmm3
43b114:	00
43b115:	8b f2                	mov    %edx,%esi
43b117:	81 ee 80 ff 01 00    	sub    $0x1ff80,%esi
43b11d:	66 0f 59 d7          	mulpd  %xmm7,%xmm2
43b121:	f2 0f 5c 1d 90 00 45 	subsd  0x450090,%xmm3
43b128:	00
43b129:	66 0f 59 ff          	mulpd  %xmm7,%xmm7
43b12d:	f2 0f 5c c3          	subsd  %xmm3,%xmm0
43b131:	03 c0                	add    %eax,%eax
43b133:	03 c0                	add    %eax,%eax
43b135:	03 c0                	add    %eax,%eax
43b137:	03 c0                	add    %eax,%eax
43b139:	66 0f 28 98 c0 89 44 	movapd 0x4489c0(%eax),%xmm3
43b140:	00
43b141:	66 0f 28 35 d0 00 45 	movapd 0x4500d0,%xmm6
43b148:	00
43b149:	66 0f 59 cf          	mulpd  %xmm7,%xmm1
43b14d:	66 0f 58 d1          	addpd  %xmm1,%xmm2
43b151:	66 0f 70 ca ee       	pshufd $0xee,%xmm2,%xmm1
43b156:	f2 0f 59 d7          	mulsd  %xmm7,%xmm2
43b15a:	f2 0f 58 d1          	addsd  %xmm1,%xmm2
43b15e:	f2 0f 58 d4          	addsd  %xmm4,%xmm2
43b162:	66 0f 12 25 f0 00 45 	movlpd 0x4500f0,%xmm4
43b169:	00
43b16a:	66 0f 6e ca          	movd   %edx,%xmm1
43b16e:	81 ea 80 ff 01 00    	sub    $0x1ff80,%edx
43b174:	f7 da                	neg    %edx
43b176:	c1 fa 07             	sar    $0x7,%edx
43b179:	83 c2 02             	add    $0x2,%edx
43b17c:	8b c2                	mov    %edx,%eax
43b17e:	83 e0 20             	and    $0x20,%eax
43b181:	03 d0                	add    %eax,%edx
43b183:	66 0f 57 ff          	xorpd  %xmm7,%xmm7
43b187:	b8 80 3f 00 00       	mov    $0x3f80,%eax
43b18c:	66 0f c4 f8 03       	pinsrw $0x3,%eax,%xmm7
43b191:	f2 0f 59 54 24 10    	mulsd  0x10(%esp),%xmm2
43b197:	f2 0f 59 c7          	mulsd  %xmm7,%xmm0
43b19b:	66 0f 73 f1 2d       	psllq  $0x2d,%xmm1
43b1a0:	66 0f 70 c9 44       	pshufd $0x44,%xmm1,%xmm1
43b1a5:	66 0f 28 3d e0 00 45 	movapd 0x4500e0,%xmm7
43b1ac:	00
43b1ad:	f2 0f 58 ea          	addsd  %xmm2,%xmm5
43b1b1:	66 0f 59 d9          	mulpd  %xmm1,%xmm3
43b1b5:	f2 0f 58 c5          	addsd  %xmm5,%xmm0
43b1b9:	66 0f 14 c0          	unpcklpd %xmm0,%xmm0
43b1bd:	66 0f 59 f0          	mulpd  %xmm0,%xmm6
43b1c1:	f2 0f 59 e0          	mulsd  %xmm0,%xmm4
43b1c5:	66 0f 59 c0          	mulpd  %xmm0,%xmm0
43b1c9:	66 0f 58 fe          	addpd  %xmm6,%xmm7
43b1cd:	66 0f 59 f8          	mulpd  %xmm0,%xmm7
43b1d1:	f2 0f 59 c3          	mulsd  %xmm3,%xmm0
43b1d5:	66 0f 70 f7 ee       	pshufd $0xee,%xmm7,%xmm6
43b1da:	f2 0f 59 c7          	mulsd  %xmm7,%xmm0
43b1de:	66 0f 70 eb ee       	pshufd $0xee,%xmm3,%xmm5
43b1e3:	f2 0f 59 f3          	mulsd  %xmm3,%xmm6
43b1e7:	f2 0f 59 e3          	mulsd  %xmm3,%xmm4
43b1eb:	66 0f 6e f9          	movd   %ecx,%xmm7
43b1ef:	66 0f 73 f7 2d       	psllq  $0x2d,%xmm7
43b1f4:	66 0f 6e d2          	movd   %edx,%xmm2
43b1f8:	66 0f 76 c9          	pcmpeqd %xmm1,%xmm1
43b1fc:	66 0f f3 ca          	psllq  %xmm2,%xmm1
43b200:	f2 0f 58 c5          	addsd  %xmm5,%xmm0
43b204:	f2 0f 58 c6          	addsd  %xmm6,%xmm0
43b208:	66 0f 54 cb          	andpd  %xmm3,%xmm1
43b20c:	f2 0f 58 c4          	addsd  %xmm4,%xmm0
43b210:	66 0f 57 f6          	xorpd  %xmm6,%xmm6
43b214:	66 0f 76 e4          	pcmpeqd %xmm4,%xmm4
43b218:	66 0f f3 e2          	psllq  %xmm2,%xmm4
43b21c:	f2 0f 5c d9          	subsd  %xmm1,%xmm3
43b220:	f2 0f 10 d1          	movsd  %xmm1,%xmm2
43b224:	f2 0f 58 c8          	addsd  %xmm0,%xmm1
43b228:	66 0f 54 cc          	andpd  %xmm4,%xmm1
43b22c:	66 0f c4 f7 03       	pinsrw $0x3,%edi,%xmm6
43b231:	5f                   	pop    %edi
43b232:	f2 0f 5c d1          	subsd  %xmm1,%xmm2
43b236:	f2 0f 58 c2          	addsd  %xmm2,%xmm0
43b23a:	f2 0f 58 c3          	addsd  %xmm3,%xmm0
43b23e:	83 fe 00             	cmp    $0x0,%esi
43b241:	7f 41                	jg     0x43b284
43b243:	5e                   	pop    %esi
43b244:	f2 0f 59 c7          	mulsd  %xmm7,%xmm0
43b248:	f2 0f 59 cf          	mulsd  %xmm7,%xmm1
43b24c:	f2 0f 58 c1          	addsd  %xmm1,%xmm0
43b250:	f2 0f 59 f0          	mulsd  %xmm0,%xmm6
43b254:	f2 0f 58 c6          	addsd  %xmm6,%xmm0
43b258:	66 0f c5 c0 03       	pextrw $0x3,%xmm0,%eax
43b25d:	25 f0 7f 00 00       	and    $0x7ff0,%eax
43b262:	ba 18 00 00 00       	mov    $0x18,%edx
43b267:	3d f0 7f 00 00       	cmp    $0x7ff0,%eax
43b26c:	0f 84 0e fe ff ff    	je     0x43b080
43b272:	ba 19 00 00 00       	mov    $0x19,%edx
43b277:	83 f8 00             	cmp    $0x0,%eax
43b27a:	0f 84 00 fe ff ff    	je     0x43b080
43b280:	83 c4 10             	add    $0x10,%esp
43b283:	c3                   	ret
43b284:	5e                   	pop    %esi
43b285:	f2 0f 58 c1          	addsd  %xmm1,%xmm0
43b289:	f2 0f 59 c7          	mulsd  %xmm7,%xmm0
43b28d:	f2 0f 59 f0          	mulsd  %xmm0,%xmm6
43b291:	f2 0f 58 c6          	addsd  %xmm6,%xmm0
43b295:	66 0f c5 c0 03       	pextrw $0x3,%xmm0,%eax
43b29a:	25 f0 7f 00 00       	and    $0x7ff0,%eax
43b29f:	ba 18 00 00 00       	mov    $0x18,%edx
43b2a4:	3d f0 7f 00 00       	cmp    $0x7ff0,%eax
43b2a9:	0f 84 d1 fd ff ff    	je     0x43b080
43b2af:	ba 19 00 00 00       	mov    $0x19,%edx
43b2b4:	83 f8 00             	cmp    $0x0,%eax
43b2b7:	0f 84 c3 fd ff ff    	je     0x43b080
43b2bd:	83 c4 10             	add    $0x10,%esp
43b2c0:	c3                   	ret
43b2c1:	66 0f 12 05 38 01 45 	movlpd 0x450138,%xmm0
43b2c8:	00
43b2c9:	66 0f 6e c9          	movd   %ecx,%xmm1
43b2cd:	f2 0f 59 c0          	mulsd  %xmm0,%xmm0
43b2d1:	66 0f 73 f1 2d       	psllq  $0x2d,%xmm1
43b2d6:	66 0f 56 c1          	orpd   %xmm1,%xmm0
43b2da:	ba 19 00 00 00       	mov    $0x19,%edx
43b2df:	e9 9c fd ff ff       	jmp    0x43b080
43b2e4:	ba 18 00 00 00       	mov    $0x18,%edx
43b2e9:	83 f9 00             	cmp    $0x0,%ecx
43b2ec:	74 15                	je     0x43b303
43b2ee:	66 0f 12 05 28 01 45 	movlpd 0x450128,%xmm0
43b2f5:	00
43b2f6:	f2 0f 59 05 30 01 45 	mulsd  0x450130,%xmm0
43b2fd:	00
43b2fe:	e9 7d fd ff ff       	jmp    0x43b080
43b303:	66 0f 12 05 30 01 45 	movlpd 0x450130,%xmm0
43b30a:	00
43b30b:	f2 0f 59 c0          	mulsd  %xmm0,%xmm0
43b30f:	e9 6c fd ff ff       	jmp    0x43b080
43b314:	66 0f 70 e1 44       	pshufd $0x44,%xmm1,%xmm4
43b319:	66 0f 59 e6          	mulpd  %xmm6,%xmm4
43b31d:	66 0f c5 c4 03       	pextrw $0x3,%xmm4,%eax
43b322:	25 f0 7f 00 00       	and    $0x7ff0,%eax
43b327:	ba a0 40 00 00       	mov    $0x40a0,%edx
43b32c:	2b d0                	sub    %eax,%edx
43b32e:	2d 70 3c 00 00       	sub    $0x3c70,%eax
43b333:	0b d0                	or     %eax,%edx
43b335:	81 fa 00 00 00 80    	cmp    $0x80000000,%edx
43b33b:	0f 82 24 f7 ff ff    	jb     0x43aa65
43b341:	3d 00 00 00 80       	cmp    $0x80000000,%eax
43b346:	72 13                	jb     0x43b35b
43b348:	81 c9 80 ff 01 00    	or     $0x1ff80,%ecx
43b34e:	66 0f 6e c1          	movd   %ecx,%xmm0
43b352:	66 0f 73 f0 2d       	psllq  $0x2d,%xmm0
43b357:	83 c4 10             	add    $0x10,%esp
43b35a:	c3                   	ret
43b35b:	66 0f 12 24 24       	movlpd (%esp),%xmm4
43b360:	66 0f c5 d4 03       	pextrw $0x3,%xmm4,%edx
43b365:	81 e2 f0 7f 00 00    	and    $0x7ff0,%edx
43b36b:	81 ea f0 3f 00 00    	sub    $0x3ff0,%edx
43b371:	66 0f c5 c1 03       	pextrw $0x3,%xmm1,%eax
43b376:	33 c2                	xor    %edx,%eax
43b378:	25 00 80 00 00       	and    $0x8000,%eax
43b37d:	83 f8 00             	cmp    $0x0,%eax