1400182fc:	0f 86 80 01 00 00    	jbe    0x140018482
140018302:	48 8d 82 f0 00 ff ff 	lea    -0xff10(%rdx),%rax
140018309:	49 3b c0             	cmp    %r8,%rax
14001830c:	0f 86 70 01 00 00    	jbe    0x140018482
140018312:	b8 60 06 00 00       	mov    $0x660,%eax
140018317:	66 3b c1             	cmp    %cx,%ax
14001831a:	77 0d                	ja     0x140018329
14001831c:	48 81 fa 69 06 00 00 	cmp    $0x669,%rdx
140018323:	0f 86 59 01 00 00    	jbe    0x140018482
140018329:	48 8d 82 10 f9 ff ff 	lea    -0x6f0(%rdx),%rax
140018330:	49 3b c0             	cmp    %r8,%rax
140018333:	0f 86 49 01 00 00    	jbe    0x140018482
140018339:	48 8d 82 90 df ff ff 	lea    -0x2070(%rdx),%rax
140018340:	49 3b c0             	cmp    %r8,%rax
140018343:	0f 86 39 01 00 00    	jbe    0x140018482
140018349:	48 8d 82 80 df ff ff 	lea    -0x2080(%rdx),%rax
140018350:	49 3b c0             	cmp    %r8,%rax
140018353:	0f 86 29 01 00 00    	jbe    0x140018482
140018359:	48 8d 82 9a f6 ff ff 	lea    -0x966(%rdx),%rax
140018360:	49 3b c0             	cmp    %r8,%rax
140018363:	0f 86 0f 01 00 00    	jbe    0x140018478
140018369:	48 8d 82 1a f6 ff ff 	lea    -0x9e6(%rdx),%rax
140018370:	49 3b c0             	cmp    %r8,%rax
140018373:	0f 86 ff 00 00 00    	jbe    0x140018478
140018379:	48 8d 82 9a f5 ff ff 	lea    -0xa66(%rdx),%rax
140018380:	49 3b c0             	cmp    %r8,%rax
140018383:	0f 86 ef 00 00 00    	jbe    0x140018478
140018389:	48 8d 82 1a f5 ff ff 	lea    -0xae6(%rdx),%rax
140018390:	49 3b c0             	cmp    %r8,%rax
140018393:	0f 86 df 00 00 00    	jbe    0x140018478
140018399:	48 8d 82 9a f4 ff ff 	lea    -0xb66(%rdx),%rax
1400183a0:	49 3b c0             	cmp    %r8,%rax
1400183a3:	0f 86 cf 00 00 00    	jbe    0x140018478
1400183a9:	48 8d 82 1a f4 ff ff 	lea    -0xbe6(%rdx),%rax
1400183b0:	49 3b c0             	cmp    %r8,%rax
1400183b3:	0f 86 bf 00 00 00    	jbe    0x140018478
1400183b9:	48 8d 82 9a f3 ff ff 	lea    -0xc66(%rdx),%rax
1400183c0:	49 3b c0             	cmp    %r8,%rax
1400183c3:	0f 86 af 00 00 00    	jbe    0x140018478
1400183c9:	48 8d 82 1a f3 ff ff 	lea    -0xce6(%rdx),%rax
1400183d0:	49 3b c0             	cmp    %r8,%rax
1400183d3:	0f 86 9f 00 00 00    	jbe    0x140018478
1400183d9:	48 8d 82 9a f2 ff ff 	lea    -0xd66(%rdx),%rax
1400183e0:	49 3b c0             	cmp    %r8,%rax
1400183e3:	0f 86 8f 00 00 00    	jbe    0x140018478
1400183e9:	48 8d 82 b0 f1 ff ff 	lea    -0xe50(%rdx),%rax
1400183f0:	49 3b c0             	cmp    %r8,%rax
1400183f3:	0f 86 89 00 00 00    	jbe    0x140018482
1400183f9:	48 8d 82 30 f1 ff ff 	lea    -0xed0(%rdx),%rax
140018400:	49 3b c0             	cmp    %r8,%rax
140018403:	76 7d                	jbe    0x140018482
140018405:	48 8d 82 e0 f0 ff ff 	lea    -0xf20(%rdx),%rax
14001840c:	49 3b c0             	cmp    %r8,%rax
14001840f:	76 71                	jbe    0x140018482
140018411:	48 8d 82 20 e8 ff ff 	lea    -0x17e0(%rdx),%rax
140018418:	49 3b c0             	cmp    %r8,%rax
14001841b:	76 65                	jbe    0x140018482
14001841d:	41 b8 b2 00 00 00    	mov    $0xb2,%r8d
140018423:	0f b7 c1             	movzwl %cx,%eax
140018426:	66 41 2b c0          	sub    %r8w,%ax
14001842a:	66 83 f8 01          	cmp    $0x1,%ax
14001842e:	76 41                	jbe    0x140018471
140018430:	41 8d 40 07          	lea    0x7(%r8),%eax
140018434:	66 3b c8             	cmp    %ax,%cx
140018437:	74 38                	je     0x140018471
140018439:	48 8d 82 10 f4 ff ff 	lea    -0xbf0(%rdx),%rax
140018440:	48 83 f8 02          	cmp    $0x2,%rax
140018444:	77 28                	ja     0x14001846e
140018446:	41 b9 f0 0b 00 00    	mov    $0xbf0,%r9d
14001844c:	ba 64 00 00 00       	mov    $0x64,%edx
140018451:	b8 e8 03 00 00       	mov    $0x3e8,%eax
140018456:	45 8d 41 01          	lea    0x1(%r9),%r8d
14001845a:	66 41 3b c8          	cmp    %r8w,%cx
14001845e:	0f 44 c2             	cmove  %edx,%eax
140018461:	66 41 3b c9          	cmp    %r9w,%cx
140018465:	ba 0a 00 00 00       	mov    $0xa,%edx
14001846a:	0f 44 c2             	cmove  %edx,%eax
14001846d:	c3                   	ret
14001846e:	33 c0                	xor    %eax,%eax
140018470:	c3                   	ret
140018471:	0f b7 c1             	movzwl %cx,%eax
140018474:	83 e0 07             	and    $0x7,%eax
140018477:	c3                   	ret
140018478:	0f b7 c1             	movzwl %cx,%eax
14001847b:	83 e0 0f             	and    $0xf,%eax
14001847e:	83 e8 06             	sub    $0x6,%eax
140018481:	c3                   	ret
140018482:	0f b7 c1             	movzwl %cx,%eax
140018485:	83 e0 0f             	and    $0xf,%eax
140018488:	c3                   	ret
140018489:	90                   	nop
14001848a:	90                   	nop
14001848b:	90                   	nop
14001848c:	48 8b c4             	mov    %rsp,%rax
14001848f:	48 89 58 08          	mov    %rbx,0x8(%rax)
140018493:	48 89 70 10          	mov    %rsi,0x10(%rax)
140018497:	48 89 78 18          	mov    %rdi,0x18(%rax)
14001849b:	4c 89 70 20          	mov    %r14,0x20(%rax)
14001849f:	41 57                	push   %r15
1400184a1:	48 83 ec 20          	sub    $0x20,%rsp
1400184a5:	4c 8b f1             	mov    %rcx,%r14
1400184a8:	48 8b f9             	mov    %rcx,%rdi
1400184ab:	0f b7 09             	movzwl (%rcx),%ecx
1400184ae:	4c 8b fa             	mov    %rdx,%r15
1400184b1:	33 f6                	xor    %esi,%esi
1400184b3:	eb 07                	jmp    0x1400184bc
1400184b5:	48 83 c7 02          	add    $0x2,%rdi
1400184b9:	0f b7 0f             	movzwl (%rdi),%ecx
1400184bc:	e8 23 c6 00 00       	call   0x140024ae4
1400184c1:	85 c0                	test   %eax,%eax
1400184c3:	75 f0                	jne    0x1400184b5
1400184c5:	66 83 3f 2d          	cmpw   $0x2d,(%rdi)
1400184c9:	74 59                	je     0x140018524
1400184cb:	0f b7 0f             	movzwl (%rdi),%ecx
1400184ce:	66 83 f9 2b          	cmp    $0x2b,%cx
1400184d2:	75 04                	jne    0x1400184d8
1400184d4:	0f b7 4f 02          	movzwl 0x2(%rdi),%ecx
1400184d8:	48 8d 5f 02          	lea    0x2(%rdi),%rbx
1400184dc:	48 0f 45 df          	cmovne %rdi,%rbx
1400184e0:	e8 9f c5 00 00       	call   0x140024a84
1400184e5:	85 c0                	test   %eax,%eax
1400184e7:	74 2e                	je     0x140018517
1400184e9:	bf 99 99 99 19       	mov    $0x19999999,%edi
1400184ee:	0f b7 0b             	movzwl (%rbx),%ecx
1400184f1:	e8 f6 fd ff ff       	call   0x1400182ec
1400184f6:	3b f7                	cmp    %edi,%esi
1400184f8:	72 07                	jb     0x140018501
1400184fa:	75 28                	jne    0x140018524
1400184fc:	83 f8 05             	cmp    $0x5,%eax
1400184ff:	77 23                	ja     0x140018524
140018501:	8d 0c b6             	lea    (%rsi,%rsi,4),%ecx
140018504:	48 83 c3 02          	add    $0x2,%rbx
140018508:	8d 34 48             	lea    (%rax,%rcx,2),%esi
14001850b:	0f b7 0b             	movzwl (%rbx),%ecx
14001850e:	e8 71 c5 00 00       	call   0x140024a84
140018513:	85 c0                	test   %eax,%eax
140018515:	75 d7                	jne    0x1400184ee
140018517:	49 2b de             	sub    %r14,%rbx
14001851a:	41 89 37             	mov    %esi,(%r15)
14001851d:	48 d1 fb             	sar    $1,%rbx
140018520:	8b c3                	mov    %ebx,%eax
140018522:	eb 02                	jmp    0x140018526
140018524:	33 c0                	xor    %eax,%eax
140018526:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14001852b:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140018530:	48 8b 7c 24 40       	mov    0x40(%rsp),%rdi
140018535:	4c 8b 74 24 48       	mov    0x48(%rsp),%r14
14001853a:	48 83 c4 20          	add    $0x20,%rsp
14001853e:	41 5f                	pop    %r15
140018540:	c3                   	ret
140018541:	90                   	nop
140018542:	90                   	nop
140018543:	90                   	nop
140018544:	48 8b c4             	mov    %rsp,%rax
140018547:	48 89 58 08          	mov    %rbx,0x8(%rax)
14001854b:	48 89 68 10          	mov    %rbp,0x10(%rax)
14001854f:	48 89 70 18          	mov    %rsi,0x18(%rax)
140018553:	57                   	push   %rdi
140018554:	41 54                	push   %r12
140018556:	41 55                	push   %r13
140018558:	41 56                	push   %r14
14001855a:	41 57                	push   %r15
14001855c:	48 83 ec 30          	sub    $0x30,%rsp
140018560:	48 63 ea             	movslq %edx,%rbp
140018563:	41 bf 01 00 00 00    	mov    $0x1,%r15d
140018569:	33 ff                	xor    %edi,%edi
14001856b:	0f 29 70 c8          	movaps %xmm6,-0x38(%rax)
14001856f:	48 8b f1             	mov    %rcx,%rsi
140018572:	41 3b ef             	cmp    %r15d,%ebp
140018575:	7f 10                	jg     0x140018587
140018577:	85 d2                	test   %edx,%edx
140018579:	0f 8e ec 04 00 00    	jle    0x140018a6b
14001857f:	66 89 39             	mov    %di,(%rcx)
140018582:	e9 e4 04 00 00       	jmp    0x140018a6b
140018587:	44 8b d7             	mov    %edi,%r10d
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