140e474ea:	48 85 c9             	test   %rcx,%rcx
140e474ed:	75 30                	jne    0x140e4751f
140e474ef:	c6 42 30 01          	movb   $0x1,0x30(%rdx)
140e474f3:	c7 42 2c 16 00 00 00 	movl   $0x16,0x2c(%rdx)
140e474fa:	48 89 50 f0          	mov    %rdx,-0x10(%rax)
140e474fe:	48 21 48 e8          	and    %rcx,-0x18(%rax)
140e47502:	45 33 c9             	xor    %r9d,%r9d
140e47505:	45 33 c0             	xor    %r8d,%r8d
140e47508:	33 d2                	xor    %edx,%edx
140e4750a:	e8 a9 2b fe ff       	call   0x140e2a0b8
140e4750f:	48 8b 5c 24 48       	mov    0x48(%rsp),%rbx
140e47514:	48 8b 74 24 58       	mov    0x58(%rsp),%rsi
140e47519:	48 83 c4 30          	add    $0x30,%rsp
140e4751d:	5f                   	pop    %rdi
140e4751e:	c3                   	ret
140e4751f:	e8 3c b9 fe ff       	call   0x140e32e60
140e47524:	48 63 f0             	movslq %eax,%rsi
140e47527:	48 8b cb             	mov    %rbx,%rcx
140e4752a:	e8 25 b8 fe ff       	call   0x140e32d54
140e4752f:	90                   	nop
140e47530:	48 8b d7             	mov    %rdi,%rdx
140e47533:	48 8b cb             	mov    %rbx,%rcx
140e47536:	e8 85 6b ff ff       	call   0x140e3e0c0
140e4753b:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
140e4753f:	48 89 0b             	mov    %rcx,(%rbx)
140e47542:	83 63 10 00          	andl   $0x0,0x10(%rbx)
140e47546:	f0 83 63 14 e7       	lock andl $0xffffffe7,0x14(%rbx)
140e4754b:	8d 46 02             	lea    0x2(%rsi),%eax
140e4754e:	83 f8 01             	cmp    $0x1,%eax
140e47551:	76 22                	jbe    0x140e47575
140e47553:	48 8b ce             	mov    %rsi,%rcx
140e47556:	48 8b c6             	mov    %rsi,%rax
140e47559:	48 c1 f8 06          	sar    $0x6,%rax
140e4755d:	48 8d 15 0c 84 65 00 	lea    0x65840c(%rip),%rdx        # 0x14149f970
140e47564:	83 e1 3f             	and    $0x3f,%ecx
140e47567:	48 8d 0c c9          	lea    (%rcx,%rcx,8),%rcx
140e4756b:	48 8b 04 c2          	mov    (%rdx,%rax,8),%rax
140e4756f:	48 8d 14 c8          	lea    (%rax,%rcx,8),%rdx
140e47573:	eb 07                	jmp    0x140e4757c
140e47575:	48 8d 15 b4 1e 57 00 	lea    0x571eb4(%rip),%rdx        # 0x1413b9430
140e4757c:	8a 42 38             	mov    0x38(%rdx),%al
140e4757f:	24 fd                	and    $0xfd,%al
140e47581:	88 42 38             	mov    %al,0x38(%rdx)
140e47584:	8b 43 14             	mov    0x14(%rbx),%eax
140e47587:	90                   	nop
140e47588:	c1 e8 02             	shr    $0x2,%eax
140e4758b:	24 01                	and    $0x1,%al
140e4758d:	74 05                	je     0x140e47594
140e4758f:	f0 83 63 14 fc       	lock andl $0xfffffffc,0x14(%rbx)
140e47594:	4c 8b cf             	mov    %rdi,%r9
140e47597:	45 33 c0             	xor    %r8d,%r8d
140e4759a:	33 d2                	xor    %edx,%edx
140e4759c:	8b ce                	mov    %esi,%ecx
140e4759e:	e8 59 68 00 00       	call   0x140e4ddfc
140e475a3:	83 f8 ff             	cmp    $0xffffffff,%eax
140e475a6:	75 05                	jne    0x140e475ad
140e475a8:	f0 83 4b 14 10       	lock orl $0x10,0x14(%rbx)
140e475ad:	48 8b cb             	mov    %rbx,%rcx
140e475b0:	e8 ab b7 fe ff       	call   0x140e32d60
140e475b5:	e9 55 ff ff ff       	jmp    0x140e4750f
140e475ba:	cc                   	int3
140e475bb:	cc                   	int3
140e475bc:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140e475c1:	55                   	push   %rbp
140e475c2:	48 8b ec             	mov    %rsp,%rbp
140e475c5:	48 83 ec 60          	sub    $0x60,%rsp
140e475c9:	48 83 65 c0 00       	andq   $0x0,-0x40(%rbp)
140e475ce:	83 3d 87 82 65 00 00 	cmpl   $0x0,0x658287(%rip)        # 0x14149f85c
140e475d5:	c6 45 d0 00          	movb   $0x0,-0x30(%rbp)
140e475d9:	c6 45 e8 00          	movb   $0x0,-0x18(%rbp)
140e475dd:	c6 45 f0 00          	movb   $0x0,-0x10(%rbp)
140e475e1:	c6 45 f8 00          	movb   $0x0,-0x8(%rbp)
140e475e5:	75 10                	jne    0x140e475f7
140e475e7:	0f 10 05 2a 1e 57 00 	movups 0x571e2a(%rip),%xmm0        # 0x1413b9418
140e475ee:	c6 45 e8 01          	movb   $0x1,-0x18(%rbp)
140e475f2:	f3 0f 7f 45 d8       	movdqu %xmm0,-0x28(%rbp)
140e475f7:	48 8d 55 c0          	lea    -0x40(%rbp),%rdx
140e475fb:	e8 d0 fe ff ff       	call   0x140e474d0
140e47600:	80 7d e8 02          	cmpb   $0x2,-0x18(%rbp)
140e47604:	75 0b                	jne    0x140e47611
140e47606:	48 8b 45 c0          	mov    -0x40(%rbp),%rax
140e4760a:	83 a0 a8 03 00 00 fd 	andl   $0xfffffffd,0x3a8(%rax)
140e47611:	80 7d f0 00          	cmpb   $0x0,-0x10(%rbp)
140e47615:	74 0f                	je     0x140e47626
140e47617:	8b 5d ec             	mov    -0x14(%rbp),%ebx
140e4761a:	48 8d 4d c0          	lea    -0x40(%rbp),%rcx
140e4761e:	e8 75 27 fe ff       	call   0x140e29d98
140e47623:	89 58 20             	mov    %ebx,0x20(%rax)
140e47626:	80 7d f8 00          	cmpb   $0x0,-0x8(%rbp)
140e4762a:	74 0f                	je     0x140e4763b
140e4762c:	8b 5d f4             	mov    -0xc(%rbp),%ebx
140e4762f:	48 8d 4d c0          	lea    -0x40(%rbp),%rcx
140e47633:	e8 60 27 fe ff       	call   0x140e29d98
140e47638:	89 58 24             	mov    %ebx,0x24(%rax)
140e4763b:	48 8b 5c 24 70       	mov    0x70(%rsp),%rbx
140e47640:	48 83 c4 60          	add    $0x60,%rsp
140e47644:	5d                   	pop    %rbp
140e47645:	c3                   	ret
140e47646:	cc                   	int3
140e47647:	cc                   	int3
140e47648:	cc                   	int3
140e47649:	cc                   	int3
140e4764a:	cc                   	int3
140e4764b:	cc                   	int3
140e4764c:	cc                   	int3
140e4764d:	cc                   	int3
140e4764e:	cc                   	int3
140e4764f:	cc                   	int3
140e47650:	cc                   	int3
140e47651:	cc                   	int3
140e47652:	cc                   	int3
140e47653:	cc                   	int3
140e47654:	cc                   	int3
140e47655:	cc                   	int3
140e47656:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%rax,%rax,1)
140e4765d:	00 00 00
140e47660:	4c 8b d9             	mov    %rcx,%r11
140e47663:	4d 0b c0             	or     %r8,%r8
140e47666:	0f 84 af 00 00 00    	je     0x140e4771b
140e4766c:	f6 c1 07             	test   $0x7,%cl
140e4766f:	74 0f                	je     0x140e47680
140e47671:	8a 01                	mov    (%rcx),%al
140e47673:	84 c0                	test   %al,%al
140e47675:	74 7f                	je     0x140e476f6
140e47677:	48 ff c1             	inc    %rcx
140e4767a:	f6 c1 07             	test   $0x7,%cl
140e4767d:	75 f2                	jne    0x140e47671
140e4767f:	90                   	nop
140e47680:	48 8b 01             	mov    (%rcx),%rax
140e47683:	4c 8b d0             	mov    %rax,%r10
140e47686:	49 b9 ff fe fe fe fe 	movabs $0x7efefefefefefeff,%r9
140e4768d:	fe fe 7e
140e47690:	4d 03 ca             	add    %r10,%r9
140e47693:	49 83 f2 ff          	xor    $0xffffffffffffffff,%r10
140e47697:	4d 33 d1             	xor    %r9,%r10
140e4769a:	48 83 c1 08          	add    $0x8,%rcx
140e4769e:	49 b9 00 01 01 01 01 	movabs $0x8101010101010100,%r9
140e476a5:	01 01 81
140e476a8:	4d 85 d1             	test   %r10,%r9
140e476ab:	74 d3                	je     0x140e47680
140e476ad:	48 83 e9 08          	sub    $0x8,%rcx
140e476b1:	84 c0                	test   %al,%al
140e476b3:	74 41                	je     0x140e476f6
140e476b5:	48 ff c1             	inc    %rcx
140e476b8:	84 e4                	test   %ah,%ah
140e476ba:	74 3a                	je     0x140e476f6
140e476bc:	48 ff c1             	inc    %rcx
140e476bf:	48 c1 e8 10          	shr    $0x10,%rax
140e476c3:	84 c0                	test   %al,%al
140e476c5:	74 2f                	je     0x140e476f6
140e476c7:	48 ff c1             	inc    %rcx
140e476ca:	84 e4                	test   %ah,%ah
140e476cc:	74 28                	je     0x140e476f6
140e476ce:	48 ff c1             	inc    %rcx
140e476d1:	48 c1 e8 10          	shr    $0x10,%rax
140e476d5:	84 c0                	test   %al,%al
140e476d7:	74 1d                	je     0x140e476f6
140e476d9:	48 ff c1             	inc    %rcx
140e476dc:	84 e4                	test   %ah,%ah
140e476de:	74 16                	je     0x140e476f6
140e476e0:	48 ff c1             	inc    %rcx
140e476e3:	c1 e8 10             	shr    $0x10,%eax
140e476e6:	84 c0                	test   %al,%al
140e476e8:	74 0c                	je     0x140e476f6
140e476ea:	48 ff c1             	inc    %rcx
140e476ed:	84 e4                	test   %ah,%ah
140e476ef:	74 05                	je     0x140e476f6
140e476f1:	48 ff c1             	inc    %rcx
140e476f4:	eb 8a                	jmp    0x140e47680
140e476f6:	48 2b ca             	sub    %rdx,%rcx
140e476f9:	f6 c2 07             	test   $0x7,%dl
140e476fc:	74 2a                	je     0x140e47728
140e476fe:	8a 02                	mov    (%rdx),%al
140e47700:	88 04 0a             	mov    %al,(%rdx,%rcx,1)
140e47703:	84 c0                	test   %al,%al
140e47705:	74 14                	je     0x140e4771b
140e47707:	48 ff c2             	inc    %rdx
140e4770a:	49 ff c8             	dec    %r8
140e4770d:	74 07                	je     0x140e47716
140e4770f:	f6 c2 07             	test   $0x7,%dl
140e47712:	75 ea                	jne    0x140e476fe
140e47714:	eb 12                	jmp    0x140e47728
140e47716:	32 c0                	xor    %al,%al
140e47718:	88 04 0a             	mov    %al,(%rdx,%rcx,1)
140e4771b:	49 8b c3             	mov    %r11,%rax
140e4771e:	c3                   	ret
140e4771f:	90                   	nop
140e47720:	48 89 04 0a          	mov    %rax,(%rdx,%rcx,1)
140e47724:	48 83 c2 08          	add    $0x8,%rdx
140e47728:	48 8b 02             	mov    (%rdx),%rax
140e4772b:	49 83 e8 08          	sub    $0x8,%r8
140e4772f:	76 26                	jbe    0x140e47757
140e47731:	49 b9 ff fe fe fe fe 	movabs $0x7efefefefefefeff,%r9
140e47738:	fe fe 7e
140e4773b:	4c 03 c8             	add    %rax,%r9
140e4773e:	4c 8b d0             	mov    %rax,%r10
140e47741:	49 83 f2 ff          	xor    $0xffffffffffffffff,%r10
140e47745:	4d 33 d1             	xor    %r9,%r10
140e47748:	49 b9 00 01 01 01 01 	movabs $0x8101010101010100,%r9
140e4774f:	01 01 81
140e47752:	4d 85 d1             	test   %r10,%r9
140e47755:	74 c9                	je     0x140e47720
140e47757:	49 83 c0 08          	add    $0x8,%r8
140e4775b:	0f 84 8b 00 00 00    	je     0x140e477ec
140e47761:	84 c0                	test   %al,%al
140e47763:	88 04 0a             	mov    %al,(%rdx,%rcx,1)
140e47766:	0f 84 85 00 00 00    	je     0x140e477f1
140e4776c:	48 ff c2             	inc    %rdx
140e4776f:	49 ff c8             	dec    %r8
140e47772:	74 78                	je     0x140e477ec
140e47774:	84 e4                	test   %ah,%ah
140e47776:	88 24 0a             	mov    %ah,(%rdx,%rcx,1)
140e47779:	74 76                	je     0x140e477f1
140e4777b:	48 ff c2             	inc    %rdx
140e4777e:	49 ff c8             	dec    %r8
140e47781:	74 69                	je     0x140e477ec
140e47783:	48 c1 e8 10          	shr    $0x10,%rax
140e47787:	84 c0                	test   %al,%al
140e47789:	88 04 0a             	mov    %al,(%rdx,%rcx,1)
140e4778c:	74 63                	je     0x140e477f1
140e4778e:	48 ff c2             	inc    %rdx
140e47791:	49 ff c8             	dec    %r8
140e47794:	74 56                	je     0x140e477ec
140e47796:	84 e4                	test   %ah,%ah
140e47798:	88 24 0a             	mov    %ah,(%rdx,%rcx,1)
140e4779b:	74 54                	je     0x140e477f1
140e4779d:	48 ff c2             	inc    %rdx
140e477a0:	49 ff c8             	dec    %r8
140e477a3:	74 47                	je     0x140e477ec
140e477a5:	48 c1 e8 10          	shr    $0x10,%rax
140e477a9:	84 c0                	test   %al,%al
140e477ab:	88 04 0a             	mov    %al,(%rdx,%rcx,1)
140e477ae:	74 41                	je     0x140e477f1
140e477b0:	48 ff c2             	inc    %rdx
140e477b3:	49 ff c8             	dec    %r8
140e477b6:	74 34                	je     0x140e477ec
140e477b8:	84 e4                	test   %ah,%ah
140e477ba:	88 24 0a             	mov    %ah,(%rdx,%rcx,1)
140e477bd:	74 32                	je     0x140e477f1
140e477bf:	48 ff c2             	inc    %rdx
140e477c2:	49 ff c8             	dec    %r8
140e477c5:	74 25                	je     0x140e477ec
140e477c7:	c1 e8 10             	shr    $0x10,%eax
140e477ca:	84 c0                	test   %al,%al
140e477cc:	88 04 0a             	mov    %al,(%rdx,%rcx,1)
140e477cf:	74 20                	je     0x140e477f1
140e477d1:	48 ff c2             	inc    %rdx
140e477d4:	49 ff c8             	dec    %r8
140e477d7:	74 13                	je     0x140e477ec
140e477d9:	84 e4                	test   %ah,%ah
140e477db:	88 24 0a             	mov    %ah,(%rdx,%rcx,1)
140e477de:	74 11                	je     0x140e477f1
140e477e0:	48 ff c2             	inc    %rdx
140e477e3:	49 ff c8             	dec    %r8
140e477e6:	0f 85 3c ff ff ff    	jne    0x140e47728
140e477ec:	32 c0                	xor    %al,%al
140e477ee:	88 04 0a             	mov    %al,(%rdx,%rcx,1)
140e477f1:	49 8b c3             	mov    %r11,%rax
140e477f4:	c3                   	ret
140e477f5:	cc                   	int3
140e477f6:	cc                   	int3
140e477f7:	cc                   	int3
140e477f8:	cc                   	int3
140e477f9:	cc                   	int3
140e477fa:	cc                   	int3
140e477fb:	cc                   	int3
140e477fc:	cc                   	int3
140e477fd:	cc                   	int3
140e477fe:	cc                   	int3
140e477ff:	cc                   	int3
140e47800:	48 81 ec b8 00 00 00 	sub    $0xb8,%rsp
140e47807:	66 0f 7f 74 24 50    	movdqa %xmm6,0x50(%rsp)
140e4780d:	66 0f 7f 7c 24 60    	movdqa %xmm7,0x60(%rsp)
140e47813:	4c 8b 15 26 dc 39 00 	mov    0x39dc26(%rip),%r10        # 0x1411e5440
140e4781a:	66 49 0f 7e c0       	movq   %xmm0,%r8
140e4781f:	66 49 0f 7e c9       	movq   %xmm1,%r9
140e47824:	4c 23 05 55 dc 39 00 	and    0x39dc55(%rip),%r8        # 0x1411e5480
140e4782b:	4c 23 0d 4e dc 39 00 	and    0x39dc4e(%rip),%r9        # 0x1411e5480
140e47832:	4c 3b 0d 07 dc 39 00 	cmp    0x39dc07(%rip),%r9        # 0x1411e5440
140e47839:	0f 8f 71 02 00 00    	jg     0x140e47ab0
140e4783f:	4c 3b 05 fa db 39 00 	cmp    0x39dbfa(%rip),%r8        # 0x1411e5440
140e47846:	0f 8f 74 02 00 00    	jg     0x140e47ac0
140e4784c:	0f 84 fe 01 00 00    	je     0x140e47a50
140e47852:	49 83 f9 00          	cmp    $0x0,%r9
140e47856:	0f 84 44 02 00 00    	je     0x140e47aa0
140e4785c:	4d 3b c1             	cmp    %r9,%r8
140e4785f:	0f 84 cb 01 00 00    	je     0x140e47a30
140e47865:	66 49 0f 7e c0       	movq   %xmm0,%r8
140e4786a:	66 49 0f 7e c9       	movq   %xmm1,%r9
140e4786f:	66 0f 28 e0          	movapd %xmm0,%xmm4
140e47873:	66 0f 28 e9          	movapd %xmm1,%xmm5
140e47877:	66 0f 28 1d 01 dc 39 	movapd 0x39dc01(%rip),%xmm3        # 0x1411e5480
140e4787e:	00
140e4787f:	66 0f db e3          	pand   %xmm3,%xmm4
140e47883:	66 0f db eb          	pand   %xmm3,%xmm5
140e47887:	66 0f 2f e5          	comisd %xmm5,%xmm4
140e4788b:	0f 86 2f 02 00 00    	jbe    0x140e47ac0
140e47891:	4d 23 c2             	and    %r10,%r8
140e47894:	4d 23 ca             	and    %r10,%r9
140e47897:	49 c1 c8 34          	ror    $0x34,%r8
140e4789b:	49 c1 c9 34          	ror    $0x34,%r9
140e4789f:	4d 85 c0             	test   %r8,%r8
140e478a2:	0f 84 38 01 00 00    	je     0x140e479e0
140e478a8:	4d 8b d1             	mov    %r9,%r10
140e478ab:	4d 85 c9             	test   %r9,%r9
140e478ae:	0f 84 2c 01 00 00    	je     0x140e479e0
140e478b4:	4d 2b c1             	sub    %r9,%r8
140e478b7:	49 83 f8 34          	cmp    $0x34,%r8
140e478bb:	0f 8d 1f 01 00 00    	jge    0x140e479e0
140e478c1:	49 81 f8 ff 07 00 00 	cmp    $0x7ff,%r8
140e478c8:	0f 84 82 01 00 00    	je     0x140e47a50
140e478ce:	66 90                	xchg   %ax,%ax
140e478d0:	66 0f 28 d4          	movapd %xmm4,%xmm2
140e478d4:	66 0f 28 dd          	movapd %xmm5,%xmm3
140e478d8:	f2 0f 5e d3          	divsd  %xmm3,%xmm2
140e478dc:	f2 4c 0f 2c c2       	cvttsd2si %xmm2,%r8
140e478e1:	f2 49 0f 2a d0       	cvtsi2sd %r8,%xmm2
140e478e6:	66 49 0f 7e d2       	movq   %xmm2,%r10
140e478eb:	4c 23 15 4e db 39 00 	and    0x39db4e(%rip),%r10        # 0x1411e5440
140e478f2:	49 c1 ca 34          	ror    $0x34,%r10
140e478f6:	49 81 ea ff 03 00 00 	sub    $0x3ff,%r10
140e478fd:	49 81 e9 ff 03 00 00 	sub    $0x3ff,%r9
140e47904:	4d 03 d1             	add    %r9,%r10
140e47907:	49 81 fa ff 03 00 00 	cmp    $0x3ff,%r10
140e4790e:	0f 8d cc 00 00 00    	jge    0x140e479e0
140e47914:	66 0f 28 25 34 db 39 	movapd 0x39db34(%rip),%xmm4        # 0x1411e5450
140e4791b:	00
140e4791c:	66 0f 28 cd          	movapd %xmm5,%xmm1
140e47920:	66 0f 28 f2          	movapd %xmm2,%xmm6
140e47924:	66 0f 28 fa          	movapd %xmm2,%xmm7
140e47928:	f2 0f 59 fd          	mulsd  %xmm5,%xmm7
140e4792c:	66 0f 54 cc          	andpd  %xmm4,%xmm1
140e47930:	66 0f 54 d4          	andpd  %xmm4,%xmm2
140e47934:	f2 0f 5c e9          	subsd  %xmm1,%xmm5
140e47938:	f2 0f 5c f2          	subsd  %xmm2,%xmm6
140e4793c:	66 0f 28 e1          	movapd %xmm1,%xmm4
140e47940:	f2 0f 59 e2          	mulsd  %xmm2,%xmm4
140e47944:	f2 0f 5c e7          	subsd  %xmm7,%xmm4
140e47948:	f2 0f 59 ce          	mulsd  %xmm6,%xmm1
140e4794c:	f2 0f 58 e1          	addsd  %xmm1,%xmm4
140e47950:	f2 0f 59 d5          	mulsd  %xmm5,%xmm2
140e47954:	f2 0f 58 e2          	addsd  %xmm2,%xmm4
140e47958:	f2 0f 59 f5          	mulsd  %xmm5,%xmm6
140e4795c:	f2 0f 58 f4          	addsd  %xmm4,%xmm6
140e47960:	66 0f 28 c8          	movapd %xmm0,%xmm1
140e47964:	66 0f db 0d 14 db 39 	pand   0x39db14(%rip),%xmm1        # 0x1411e5480
140e4796b:	00
140e4796c:	66 0f 28 d1          	movapd %xmm1,%xmm2
140e47970:	f2 0f 5c cf          	subsd  %xmm7,%xmm1
140e47974:	f2 0f 5c d1          	subsd  %xmm1,%xmm2