14001858a:	0f 57 d2             	xorps  %xmm2,%xmm2
14001858d:	66 0f 2f d3          	comisd %xmm3,%xmm2
140018591:	8b df                	mov    %edi,%ebx
140018593:	41 0f 97 c2          	seta   %r10b
140018597:	45 85 d2             	test   %r10d,%r10d
14001859a:	74 08                	je     0x1400185a4
14001859c:	66 c7 01 2d 00       	movw   $0x2d,(%rcx)
1400185a1:	41 8b df             	mov    %r15d,%ebx
1400185a4:	0f 54 1d d5 7c 2a 00 	andps  0x2a7cd5(%rip),%xmm3        # 0x1402c0280
1400185ab:	66 0f 2f 1d 15 7b 2a 	comisd 0x2a7b15(%rip),%xmm3        # 0x1402c00c8
1400185b2:	00
1400185b3:	f2 0f 10 2d dd 7a 2a 	movsd  0x2a7add(%rip),%xmm5        # 0x1402c0098
1400185ba:	00
1400185bb:	0f 28 cd             	movaps %xmm5,%xmm1
1400185be:	76 46                	jbe    0x140018606
1400185c0:	83 fd 06             	cmp    $0x6,%ebp
1400185c3:	0f 8e 9f 04 00 00    	jle    0x140018a68
1400185c9:	0f ae e8             	lfence
1400185cc:	8b c5                	mov    %ebp,%eax
1400185ce:	2b c3                	sub    %ebx,%eax
1400185d0:	85 c0                	test   %eax,%eax
1400185d2:	7e 22                	jle    0x1400185f6
1400185d4:	0f ae e8             	lfence
1400185d7:	8b c3                	mov    %ebx,%eax
1400185d9:	4c 8d 05 88 4c 23 00 	lea    0x234c88(%rip),%r8        # 0x14024d268
1400185e0:	8b cb                	mov    %ebx,%ecx
1400185e2:	48 8b d5             	mov    %rbp,%rdx
1400185e5:	48 2b d0             	sub    %rax,%rdx
1400185e8:	49 83 c9 ff          	or     $0xffffffffffffffff,%r9
1400185ec:	48 8d 0c 4e          	lea    (%rsi,%rcx,2),%rcx
1400185f0:	ff 15 fa a6 1f 00    	call   *0x1fa6fa(%rip)        # 0x140212cf0
1400185f6:	8d 4b 06             	lea    0x6(%rbx),%ecx
1400185f9:	8d 45 ff             	lea    -0x1(%rbp),%eax
1400185fc:	3b c8                	cmp    %eax,%ecx
1400185fe:	0f 4c c1             	cmovl  %ecx,%eax
140018601:	e9 67 04 00 00       	jmp    0x140018a6d
140018606:	66 0f 2e da          	ucomisd %xmm2,%xmm3
14001860a:	7a 02                	jp     0x14001860e
14001860c:	74 08                	je     0x140018616
14001860e:	66 0f 2e dd          	ucomisd %xmm5,%xmm3
140018612:	7a 07                	jp     0x14001861b
140018614:	75 05                	jne    0x14001861b
140018616:	44 8b df             	mov    %edi,%r11d
140018619:	eb 44                	jmp    0x14001865f
14001861b:	66 0f 2f dd          	comisd %xmm5,%xmm3
14001861f:	44 8b df             	mov    %edi,%r11d
140018622:	76 24                	jbe    0x140018648
140018624:	0f 28 c3             	movaps %xmm3,%xmm0
140018627:	f2 0f 5e 05 71 7a 2a 	divsd  0x2a7a71(%rip),%xmm0        # 0x1402c00a0
14001862e:	00
14001862f:	66 0f 2f c5          	comisd %xmm5,%xmm0
140018633:	72 2a                	jb     0x14001865f
140018635:	f2 0f 59 0d 63 7a 2a 	mulsd  0x2a7a63(%rip),%xmm1        # 0x1402c00a0
14001863c:	00
14001863d:	45 03 df             	add    %r15d,%r11d
140018640:	66 0f 2f c1          	comisd %xmm1,%xmm0
140018644:	73 ef                	jae    0x140018635
140018646:	eb 17                	jmp    0x14001865f
140018648:	66 0f 2f eb          	comisd %xmm3,%xmm5
14001864c:	76 11                	jbe    0x14001865f
14001864e:	f2 0f 5e 0d 4a 7a 2a 	divsd  0x2a7a4a(%rip),%xmm1        # 0x1402c00a0
140018655:	00
140018656:	45 2b df             	sub    %r15d,%r11d
140018659:	66 0f 2f cb          	comisd %xmm3,%xmm1
14001865d:	77 ef                	ja     0x14001864e
14001865f:	f2 0f 10 35 29 7a 2a 	movsd  0x2a7a29(%rip),%xmm6        # 0x1402c0090
140018666:	00
140018667:	0f 28 e3             	movaps %xmm3,%xmm4
14001866a:	8b d7                	mov    %edi,%edx
14001866c:	41 bc 09 00 00 00    	mov    $0x9,%r12d
140018672:	41 83 fb 05          	cmp    $0x5,%r11d
140018676:	77 76                	ja     0x1400186ee
140018678:	66 0f 2f cd          	comisd %xmm5,%xmm1
14001867c:	45 8d 74 24 27       	lea    0x27(%r12),%r14d
140018681:	0f 28 f1             	movaps %xmm1,%xmm6
140018684:	72 5d                	jb     0x1400186e3
140018686:	8b cb                	mov    %ebx,%ecx
140018688:	8b d7                	mov    %edi,%edx
14001868a:	41 8b c4             	mov    %r12d,%eax
14001868d:	66 0f 6e c0          	movd   %eax,%xmm0
140018691:	f3 0f e6 c0          	cvtdq2pd %xmm0,%xmm0
140018695:	f2 0f 59 c6          	mulsd  %xmm6,%xmm0
140018699:	66 0f 2f e0          	comisd %xmm0,%xmm4
14001869d:	73 09                	jae    0x1400186a8
14001869f:	41 2b c7             	sub    %r15d,%eax
1400186a2:	85 c0                	test   %eax,%eax
1400186a4:	7f e7                	jg     0x14001868d
1400186a6:	eb 02                	jmp    0x1400186aa
1400186a8:	8b d0                	mov    %eax,%edx
1400186aa:	48 3b cd             	cmp    %rbp,%rcx
1400186ad:	0f 8d b5 03 00 00    	jge    0x140018a68
1400186b3:	66 0f 6e c2          	movd   %edx,%xmm0
1400186b7:	41 8d 04 16          	lea    (%r14,%rdx,1),%eax
1400186bb:	f3 0f e6 c0          	cvtdq2pd %xmm0,%xmm0
1400186bf:	66 89 04 4e          	mov    %ax,(%rsi,%rcx,2)
1400186c3:	41 03 df             	add    %r15d,%ebx
1400186c6:	49 03 cf             	add    %r15,%rcx
1400186c9:	f2 0f 59 c6          	mulsd  %xmm6,%xmm0
1400186cd:	f2 0f 5e 35 cb 79 2a 	divsd  0x2a79cb(%rip),%xmm6        # 0x1402c00a0
1400186d4:	00
1400186d5:	f2 0f 58 d0          	addsd  %xmm0,%xmm2
1400186d9:	66 0f 2f f5          	comisd %xmm5,%xmm6
1400186dd:	f2 0f 5c e0          	subsd  %xmm0,%xmm4
1400186e1:	73 a5                	jae    0x140018688
1400186e3:	41 8b cb             	mov    %r11d,%ecx
1400186e6:	0f 28 cd             	movaps %xmm5,%xmm1
1400186e9:	44 8b df             	mov    %edi,%r11d
1400186ec:	eb 61                	jmp    0x14001874f
1400186ee:	41 8d 43 04          	lea    0x4(%r11),%eax
1400186f2:	83 f8 03             	cmp    $0x3,%eax
1400186f5:	77 16                	ja     0x14001870d
1400186f7:	8b c3                	mov    %ebx,%eax
1400186f9:	41 be 30 00 00 00    	mov    $0x30,%r14d
1400186ff:	66 44 89 34 41       	mov    %r14w,(%rcx,%rax,2)
140018704:	41 8d 4b 01          	lea    0x1(%r11),%ecx
140018708:	44 8b df             	mov    %edi,%r11d
14001870b:	eb 3f                	jmp    0x14001874c
14001870d:	f2 0f 5e e1          	divsd  %xmm1,%xmm4
140018711:	41 8b c4             	mov    %r12d,%eax
140018714:	66 0f 6e c0          	movd   %eax,%xmm0
140018718:	f3 0f e6 c0          	cvtdq2pd %xmm0,%xmm0
14001871c:	66 0f 2f e0          	comisd %xmm0,%xmm4
140018720:	73 09                	jae    0x14001872b
140018722:	41 2b c7             	sub    %r15d,%eax
140018725:	85 c0                	test   %eax,%eax
140018727:	7f eb                	jg     0x140018714
140018729:	eb 02                	jmp    0x14001872d
14001872b:	8b d0                	mov    %eax,%edx
14001872d:	8b cb                	mov    %ebx,%ecx
14001872f:	41 be 30 00 00 00    	mov    $0x30,%r14d
140018735:	66 0f 6e d2          	movd   %edx,%xmm2
140018739:	f3 0f e6 d2          	cvtdq2pd %xmm2,%xmm2
14001873d:	41 8d 04 16          	lea    (%r14,%rdx,1),%eax
140018741:	66 89 04 4e          	mov    %ax,(%rsi,%rcx,2)
140018745:	41 8b cf             	mov    %r15d,%ecx
140018748:	f2 0f 5c e2          	subsd  %xmm2,%xmm4
14001874c:	41 03 df             	add    %r15d,%ebx
14001874f:	3b dd                	cmp    %ebp,%ebx
140018751:	0f 8d 11 03 00 00    	jge    0x140018a68
140018757:	48 63 c3             	movslq %ebx,%rax
14001875a:	41 bd 2e 00 00 00    	mov    $0x2e,%r13d
140018760:	41 03 df             	add    %r15d,%ebx
140018763:	66 44 89 2c 46       	mov    %r13w,(%rsi,%rax,2)
140018768:	83 f9 10             	cmp    $0x10,%ecx
14001876b:	7d 73                	jge    0x1400187e0
14001876d:	4c 63 c3             	movslq %ebx,%r8
140018770:	8b d7                	mov    %edi,%edx
140018772:	41 8b c4             	mov    %r12d,%eax
140018775:	66 0f 6e c0          	movd   %eax,%xmm0
140018779:	f3 0f e6 c0          	cvtdq2pd %xmm0,%xmm0
14001877d:	f2 0f 59 c6          	mulsd  %xmm6,%xmm0
140018781:	66 0f 2f e0          	comisd %xmm0,%xmm4
140018785:	73 09                	jae    0x140018790
140018787:	41 2b c7             	sub    %r15d,%eax
14001878a:	85 c0                	test   %eax,%eax
14001878c:	7f e7                	jg     0x140018775
14001878e:	eb 02                	jmp    0x140018792
140018790:	8b d0                	mov    %eax,%edx
140018792:	83 f9 0f             	cmp    $0xf,%ecx
140018795:	74 4e                	je     0x1400187e5
140018797:	4c 3b c5             	cmp    %rbp,%r8
14001879a:	0f 8d c8 02 00 00    	jge    0x140018a68
1400187a0:	66 0f 6e c2          	movd   %edx,%xmm0
1400187a4:	41 8d 04 16          	lea    (%r14,%rdx,1),%eax
1400187a8:	f3 0f e6 c0          	cvtdq2pd %xmm0,%xmm0
1400187ac:	66 42 89 04 46       	mov    %ax,(%rsi,%r8,2)
1400187b1:	41 03 df             	add    %r15d,%ebx
1400187b4:	4d 03 c7             	add    %r15,%r8
1400187b7:	f2 0f 59 c6          	mulsd  %xmm6,%xmm0
1400187bb:	f2 0f 59 35 cd 78 2a 	mulsd  0x2a78cd(%rip),%xmm6        # 0x1402c0090
1400187c2:	00
1400187c3:	f2 0f 58 d0          	addsd  %xmm0,%xmm2
1400187c7:	f2 0f 5c e0          	subsd  %xmm0,%xmm4
1400187cb:	0f 28 c2             	movaps %xmm2,%xmm0
1400187ce:	f2 0f 59 c1          	mulsd  %xmm1,%xmm0
1400187d2:	66 0f 2f c3          	comisd %xmm3,%xmm0
1400187d6:	73 08                	jae    0x1400187e0
1400187d8:	41 03 cf             	add    %r15d,%ecx
1400187db:	83 f9 10             	cmp    $0x10,%ecx
1400187de:	7c 90                	jl     0x140018770
1400187e0:	83 f9 0f             	cmp    $0xf,%ecx
1400187e3:	75 15                	jne    0x1400187fa
1400187e5:	0f 28 c2             	movaps %xmm2,%xmm0
1400187e8:	f2 0f 59 c1          	mulsd  %xmm1,%xmm0
1400187ec:	66 0f 2f d8          	comisd %xmm0,%xmm3
1400187f0:	76 08                	jbe    0x1400187fa
1400187f2:	8d 42 fb             	lea    -0x5(%rdx),%eax
1400187f5:	83 f8 04             	cmp    $0x4,%eax
1400187f8:	76 20                	jbe    0x14001881a
1400187fa:	83 f9 0e             	cmp    $0xe,%ecx
1400187fd:	0f 85 f3 00 00 00    	jne    0x1400188f6
140018803:	f2 0f 59 d1          	mulsd  %xmm1,%xmm2
140018807:	66 0f 2f d3          	comisd %xmm3,%xmm2
14001880b:	0f 82 e5 00 00 00    	jb     0x1400188f6
140018811:	41 3b d4             	cmp    %r12d,%edx
140018814:	0f 85 dc 00 00 00    	jne    0x1400188f6
14001881a:	41 83 c9 ff          	or     $0xffffffff,%r9d
14001881e:	41 2b df             	sub    %r15d,%ebx
140018821:	48 63 c3             	movslq %ebx,%rax
140018824:	45 8d 61 2e          	lea    0x2e(%r9),%r12d
140018828:	4c 8d 04 46          	lea    (%rsi,%rax,2),%r8
14001882c:	41 0f b7 08          	movzwl (%r8),%ecx
140018830:	83 e9 2f             	sub    $0x2f,%ecx
140018833:	b8 67 66 66 66       	mov    $0x66666667,%eax
140018838:	f7 e9                	imul   %ecx
14001883a:	c1 fa 02             	sar    $0x2,%edx
14001883d:	8b c2                	mov    %edx,%eax
14001883f:	c1 e8 1f             	shr    $0x1f,%eax
140018842:	03 d0                	add    %eax,%edx
140018844:	8d 04 92             	lea    (%rdx,%rdx,4),%eax
140018847:	03 c0                	add    %eax,%eax
140018849:	2b c8                	sub    %eax,%ecx
14001884b:	66 41 03 ce          	add    %r14w,%cx
14001884f:	66 41 89 08          	mov    %cx,(%r8)
140018853:	66 41 3b ce          	cmp    %r14w,%cx
140018857:	74 0a                	je     0x140018863
140018859:	66 41 3b cc          	cmp    %r12w,%cx
14001885d:	0f 85 86 00 00 00    	jne    0x1400188e9
140018863:	49 83 e8 02          	sub    $0x2,%r8
140018867:	85 db                	test   %ebx,%ebx
140018869:	7e 32                	jle    0x14001889d
14001886b:	41 0f b7 10          	movzwl (%r8),%edx
14001886f:	0f b7 ca             	movzwl %dx,%ecx
140018872:	66 41 3b d5          	cmp    %r13w,%dx
140018876:	75 0c                	jne    0x140018884
140018878:	49 83 e8 02          	sub    $0x2,%r8
14001887c:	44 8d 4b ff          	lea    -0x1(%rbx),%r9d
140018880:	41 0f b7 08          	movzwl (%r8),%ecx
140018884:	66 41 3b d5          	cmp    %r13w,%dx
140018888:	8b c7                	mov    %edi,%eax
14001888a:	0f 94 c0             	sete   %al
14001888d:	41 03 c7             	add    %r15d,%eax
140018890:	2b d8                	sub    %eax,%ebx
140018892:	66 41 3b cc          	cmp    %r12w,%cx
140018896:	74 bb                	je     0x140018853
140018898:	0f b7 c9             	movzwl %cx,%ecx
14001889b:	eb 93                	jmp    0x140018830
14001889d:	45 8b c2             	mov    %r10d,%r8d
1400188a0:	41 83 c9 ff          	or     $0xffffffff,%r9d
1400188a4:	41 8b da             	mov    %r10d,%ebx
1400188a7:	4a 8d 14 46          	lea    (%rsi,%r8,2),%rdx
1400188ab:	66 44 39 32          	cmp    %r14w,(%rdx)
1400188af:	75 10                	jne    0x1400188c1
1400188b1:	48 8b c2             	mov    %rdx,%rax
1400188b4:	41 03 df             	add    %r15d,%ebx
1400188b7:	48 8d 40 02          	lea    0x2(%rax),%rax
1400188bb:	66 44 39 30          	cmp    %r14w,(%rax)
1400188bf:	74 f3                	je     0x1400188b4
1400188c1:	41 03 df             	add    %r15d,%ebx
1400188c4:	45 85 db             	test   %r11d,%r11d
1400188c7:	75 18                	jne    0x1400188e1
1400188c9:	48 63 cb             	movslq %ebx,%rcx
1400188cc:	eb 0c                	jmp    0x1400188da
1400188ce:	0f b7 04 4e          	movzwl (%rsi,%rcx,2),%eax
1400188d2:	66 89 44 4e 02       	mov    %ax,0x2(%rsi,%rcx,2)
1400188d7:	49 2b cf             	sub    %r15,%rcx
1400188da:	49 3b c8             	cmp    %r8,%rcx
1400188dd:	7d ef                	jge    0x1400188ce
1400188df:	eb 03                	jmp    0x1400188e4
1400188e1:	45 03 df             	add    %r15d,%r11d
1400188e4:	66 c7 02 31 00       	movw   $0x31,(%rdx)
1400188e9:	45 85 c9             	test   %r9d,%r9d
1400188ec:	44 0f 48 cb          	cmovs  %ebx,%r9d
1400188f0:	43 8d 1c 0f          	lea    (%r15,%r9,1),%ebx
1400188f4:	eb 06                	jmp    0x1400188fc
1400188f6:	41 bc 2d 00 00 00    	mov    $0x2d,%r12d
1400188fc:	48 63 c3             	movslq %ebx,%rax
1400188ff:	66 44 39 74 46 fe    	cmp    %r14w,-0x2(%rsi,%rax,2)
140018905:	75 14                	jne    0x14001891b
140018907:	48 ff c8             	dec    %rax
14001890a:	48 8d 04 46          	lea    (%rsi,%rax,2),%rax
14001890e:	41 2b df             	sub    %r15d,%ebx
140018911:	48 8d 40 fe          	lea    -0x2(%rax),%rax
140018915:	66 44 39 30          	cmp    %r14w,(%rax)
140018919:	74 f3                	je     0x14001890e
14001891b:	48 63 c3             	movslq %ebx,%rax
14001891e:	44 8d 53 01          	lea    0x1(%rbx),%r10d
140018922:	66 44 39 6c 46 fe    	cmp    %r13w,-0x2(%rsi,%rax,2)
140018928:	44 0f 45 d3          	cmovne %ebx,%r10d
14001892c:	45 85 db             	test   %r11d,%r11d
14001892f:	0f 84 1f 01 00 00    	je     0x140018a54
140018935:	44 3b d5             	cmp    %ebp,%r10d
140018938:	0f 8d 2a 01 00 00    	jge    0x140018a68
14001893e:	49 63 c2             	movslq %r10d,%rax
140018941:	41 ff c2             	inc    %r10d
140018944:	66 c7 04 46 45 00    	movw   $0x45,(%rsi,%rax,2)
14001894a:	45 85 db             	test   %r11d,%r11d
14001894d:	79 17                	jns    0x140018966
14001894f:	44 3b d5             	cmp    %ebp,%r10d
140018952:	0f 8d 10 01 00 00    	jge    0x140018a68
140018958:	49 63 c2             	movslq %r10d,%rax
14001895b:	45 03 d7             	add    %r15d,%r10d
14001895e:	41 f7 db             	neg    %r11d
140018961:	66 44 89 24 46       	mov    %r12w,(%rsi,%rax,2)
140018966:	41 83 fb 64          	cmp    $0x64,%r11d
14001896a:	0f 8c 85 00 00 00    	jl     0x1400189f5
140018970:	41 8d 42 02          	lea    0x2(%r10),%eax
140018974:	3b c5                	cmp    %ebp,%eax
140018976:	0f 8d ec 00 00 00    	jge    0x140018a68
14001897c:	49 63 ca             	movslq %r10d,%rcx
14001897f:	b8 1f 85 eb 51       	mov    $0x51eb851f,%eax
140018984:	41 f7 eb             	imul   %r11d
140018987:	45 03 d7             	add    %r15d,%r10d
14001898a:	c1 fa 05             	sar    $0x5,%edx
14001898d:	8b c2                	mov    %edx,%eax
14001898f:	4d 63 c2             	movslq %r10d,%r8
140018992:	c1 e8 1f             	shr    $0x1f,%eax
140018995:	45 03 d7             	add    %r15d,%r10d
140018998:	03 d0                	add    %eax,%edx
14001899a:	b8 67 66 66 66       	mov    $0x66666667,%eax
14001899f:	66 41 03 d6          	add    %r14w,%dx
1400189a3:	66 89 14 4e          	mov    %dx,(%rsi,%rcx,2)
1400189a7:	41 f7 eb             	imul   %r11d
1400189aa:	b8 67 66 66 66       	mov    $0x66666667,%eax
1400189af:	44 8b ca             	mov    %edx,%r9d
1400189b2:	41 c1 f9 02          	sar    $0x2,%r9d
1400189b6:	41 8b c9             	mov    %r9d,%ecx
1400189b9:	c1 e9 1f             	shr    $0x1f,%ecx
1400189bc:	44 03 c9             	add    %ecx,%r9d
1400189bf:	41 f7 e9             	imul   %r9d
1400189c2:	41 8b c9             	mov    %r9d,%ecx
1400189c5:	c1 fa 02             	sar    $0x2,%edx
1400189c8:	8b c2                	mov    %edx,%eax
1400189ca:	c1 e8 1f             	shr    $0x1f,%eax
1400189cd:	03 d0                	add    %eax,%edx
1400189cf:	8d 04 92             	lea    (%rdx,%rdx,4),%eax
1400189d2:	03 c0                	add    %eax,%eax
1400189d4:	2b c8                	sub    %eax,%ecx
1400189d6:	41 0f b7 c1          	movzwl %r9w,%eax
1400189da:	66 41 c1 e1 02       	shl    $0x2,%r9w
1400189df:	66 41 03 ce          	add    %r14w,%cx
1400189e3:	66 41 03 c1          	add    %r9w,%ax
1400189e7:	66 42 89 0c 46       	mov    %cx,(%rsi,%r8,2)
1400189ec:	66 03 c0             	add    %ax,%ax
1400189ef:	66 44 2b d8          	sub    %ax,%r11w
1400189f3:	eb 50                	jmp    0x140018a45
1400189f5:	41 83 fb 0a          	cmp    $0xa,%r11d
1400189f9:	7c 45                	jl     0x140018a40
1400189fb:	45 8d 42 01          	lea    0x1(%r10),%r8d
1400189ff:	44 3b c5             	cmp    %ebp,%r8d
140018a02:	7d 64                	jge    0x140018a68
140018a04:	49 63 ca             	movslq %r10d,%rcx
140018a07:	b8 67 66 66 66       	mov    $0x66666667,%eax
140018a0c:	41 f7 eb             	imul   %r11d
140018a0f:	4d 63 d0             	movslq %r8d,%r10
140018a12:	c1 fa 02             	sar    $0x2,%edx
140018a15:	8b c2                	mov    %edx,%eax
140018a17:	c1 e8 1f             	shr    $0x1f,%eax
140018a1a:	03 d0                	add    %eax,%edx
140018a1c:	41 8d 04 16          	lea    (%r14,%rdx,1),%eax