14066c435:	4d 8b 48 10          	mov    0x10(%r8),%r9
14066c439:	49 83 78 18 0f       	cmpq   $0xf,0x18(%r8)
14066c43e:	76 03                	jbe    0x14066c443
14066c440:	4d 8b 00             	mov    (%r8),%r8
14066c443:	48 bf 25 23 22 84 e4 	movabs $0xcbf29ce484222325,%rdi
14066c44a:	9c f2 cb
14066c44d:	33 f6                	xor    %esi,%esi
14066c44f:	8b ce                	mov    %esi,%ecx
14066c451:	4d 85 c9             	test   %r9,%r9
14066c454:	74 1e                	je     0x14066c474
14066c456:	48 ba b3 01 00 00 00 	movabs $0x100000001b3,%rdx
14066c45d:	01 00 00
14066c460:	41 0f b6 04 08       	movzbl (%r8,%rcx,1),%eax
14066c465:	48 33 f8             	xor    %rax,%rdi
14066c468:	48 0f af fa          	imul   %rdx,%rdi
14066c46c:	48 ff c1             	inc    %rcx
14066c46f:	49 3b c9             	cmp    %r9,%rcx
14066c472:	72 ec                	jb     0x14066c460
14066c474:	4c 8b cf             	mov    %rdi,%r9
14066c477:	4c 8b c3             	mov    %rbx,%r8
14066c47a:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
14066c47f:	49 8b cd             	mov    %r13,%rcx
14066c482:	e8 79 7d ba ff       	call   0x140214200
14066c487:	48 8b 44 24 28       	mov    0x28(%rsp),%rax
14066c48c:	48 85 c0             	test   %rax,%rax
14066c48f:	74 0c                	je     0x14066c49d
14066c491:	49 89 07             	mov    %rax,(%r15)
14066c494:	41 88 77 08          	mov    %sil,0x8(%r15)
14066c498:	e9 38 02 00 00       	jmp    0x14066c6d5
14066c49d:	48 b8 49 92 24 49 92 	movabs $0x249249249249249,%rax
14066c4a4:	24 49 02
14066c4a7:	49 39 45 10          	cmp    %rax,0x10(%r13)
14066c4ab:	0f 84 45 02 00 00    	je     0x14066c6f6
14066c4b1:	49 8d 6d 08          	lea    0x8(%r13),%rbp
14066c4b5:	48 89 6c 24 30       	mov    %rbp,0x30(%rsp)
14066c4ba:	48 89 74 24 38       	mov    %rsi,0x38(%rsp)
14066c4bf:	b9 70 00 00 00       	mov    $0x70,%ecx
14066c4c4:	e8 3f ec 7a 00       	call   0x140e1b108
14066c4c9:	4c 8b f0             	mov    %rax,%r14
14066c4cc:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
14066c4d1:	48 8d 48 10          	lea    0x10(%rax),%rcx
14066c4d5:	48 89 4c 24 70       	mov    %rcx,0x70(%rsp)
14066c4da:	0f 57 c0             	xorps  %xmm0,%xmm0
14066c4dd:	0f 11 01             	movups %xmm0,(%rcx)
14066c4e0:	48 89 71 10          	mov    %rsi,0x10(%rcx)
14066c4e4:	48 89 71 18          	mov    %rsi,0x18(%rcx)
14066c4e8:	0f 10 03             	movups (%rbx),%xmm0
14066c4eb:	0f 11 01             	movups %xmm0,(%rcx)
14066c4ee:	0f 10 4b 10          	movups 0x10(%rbx),%xmm1
14066c4f2:	0f 11 49 10          	movups %xmm1,0x10(%rcx)
14066c4f6:	48 89 73 10          	mov    %rsi,0x10(%rbx)
14066c4fa:	48 c7 43 18 0f 00 00 	movq   $0xf,0x18(%rbx)
14066c501:	00
14066c502:	c6 03 00             	movb   $0x0,(%rbx)
14066c505:	48 83 c1 20          	add    $0x20,%rcx
14066c509:	e8 e2 df f3 ff       	call   0x1405aa4f0
14066c50e:	90                   	nop
14066c50f:	49 8b 4d 10          	mov    0x10(%r13),%rcx
14066c513:	f3 41 0f 10 5d 00    	movss  0x0(%r13),%xmm3
14066c519:	48 83 c1 01          	add    $0x1,%rcx
14066c51d:	0f 57 c0             	xorps  %xmm0,%xmm0
14066c520:	78 07                	js     0x14066c529
14066c522:	f3 48 0f 2a c1       	cvtsi2ss %rcx,%xmm0
14066c527:	eb 15                	jmp    0x14066c53e
14066c529:	48 8b c1             	mov    %rcx,%rax
14066c52c:	48 d1 e8             	shr    $1,%rax
14066c52f:	83 e1 01             	and    $0x1,%ecx
14066c532:	48 0b c1             	or     %rcx,%rax
14066c535:	f3 48 0f 2a c0       	cvtsi2ss %rax,%xmm0
14066c53a:	f3 0f 58 c0          	addss  %xmm0,%xmm0
14066c53e:	49 8b 5d 38          	mov    0x38(%r13),%rbx
14066c542:	0f 57 d2             	xorps  %xmm2,%xmm2
14066c545:	48 85 db             	test   %rbx,%rbx
14066c548:	78 07                	js     0x14066c551
14066c54a:	f3 48 0f 2a d3       	cvtsi2ss %rbx,%xmm2
14066c54f:	eb 18                	jmp    0x14066c569
14066c551:	48 8b cb             	mov    %rbx,%rcx
14066c554:	48 d1 e9             	shr    $1,%rcx
14066c557:	48 8b c3             	mov    %rbx,%rax
14066c55a:	83 e0 01             	and    $0x1,%eax
14066c55d:	48 0b c8             	or     %rax,%rcx
14066c560:	f3 48 0f 2a d1       	cvtsi2ss %rcx,%xmm2
14066c565:	f3 0f 58 d2          	addss  %xmm2,%xmm2
14066c569:	0f 28 c8             	movaps %xmm0,%xmm1
14066c56c:	f3 0f 5e ca          	divss  %xmm2,%xmm1
14066c570:	0f 2f cb             	comiss %xmm3,%xmm1
14066c573:	0f 86 04 01 00 00    	jbe    0x14066c67d
14066c579:	f3 0f 5e c3          	divss  %xmm3,%xmm0
14066c57d:	e8 9e 4b 7c 00       	call   0x140e31120
14066c582:	33 c9                	xor    %ecx,%ecx
14066c584:	f3 0f 10 0d d8 20 94 	movss  0x9420d8(%rip),%xmm1        # 0x140fae664
14066c58b:	00
14066c58c:	0f 2f c1             	comiss %xmm1,%xmm0
14066c58f:	72 16                	jb     0x14066c5a7
14066c591:	f3 0f 5c c1          	subss  %xmm1,%xmm0
14066c595:	0f 2f c1             	comiss %xmm1,%xmm0
14066c598:	73 0d                	jae    0x14066c5a7
14066c59a:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
14066c5a1:	00 00 80
14066c5a4:	48 8b c8             	mov    %rax,%rcx
14066c5a7:	f3 48 0f 2c c0       	cvttss2si %xmm0,%rax
14066c5ac:	48 03 c1             	add    %rcx,%rax
14066c5af:	b9 08 00 00 00       	mov    $0x8,%ecx
14066c5b4:	48 3b c1             	cmp    %rcx,%rax
14066c5b7:	48 0f 47 c8          	cmova  %rax,%rcx
14066c5bb:	48 3b d9             	cmp    %rcx,%rbx
14066c5be:	73 19                	jae    0x14066c5d9
14066c5c0:	48 81 fb 00 02 00 00 	cmp    $0x200,%rbx
14066c5c7:	73 0d                	jae    0x14066c5d6
14066c5c9:	48 8d 1c dd 00 00 00 	lea    0x0(,%rbx,8),%rbx
14066c5d0:	00
14066c5d1:	48 3b d9             	cmp    %rcx,%rbx
14066c5d4:	73 03                	jae    0x14066c5d9
14066c5d6:	48 8b d9             	mov    %rcx,%rbx
14066c5d9:	48 8b d3             	mov    %rbx,%rdx
14066c5dc:	49 8b cd             	mov    %r13,%rcx
14066c5df:	e8 8c 22 00 00       	call   0x14066e870
14066c5e4:	49 8b 45 30          	mov    0x30(%r13),%rax
14066c5e8:	48 23 c7             	and    %rdi,%rax
14066c5eb:	48 03 c0             	add    %rax,%rax
14066c5ee:	4d 8b 65 18          	mov    0x18(%r13),%r12
14066c5f2:	49 8b 5c c4 08       	mov    0x8(%r12,%rax,8),%rbx
14066c5f7:	48 8b 4d 00          	mov    0x0(%rbp),%rcx
14066c5fb:	48 3b d9             	cmp    %rcx,%rbx
14066c5fe:	75 07                	jne    0x14066c607
14066c600:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
14066c605:	eb 62                	jmp    0x14066c669
14066c607:	4d 8b 24 c4          	mov    (%r12,%rax,8),%r12
14066c60b:	49 8b 6e 20          	mov    0x20(%r14),%rbp
14066c60f:	90                   	nop
14066c610:	48 8d 53 10          	lea    0x10(%rbx),%rdx
14066c614:	48 8b 42 10          	mov    0x10(%rdx),%rax
14066c618:	48 83 7a 18 0f       	cmpq   $0xf,0x18(%rdx)
14066c61d:	76 03                	jbe    0x14066c622
14066c61f:	48 8b 12             	mov    (%rdx),%rdx
14066c622:	49 8d 4e 10          	lea    0x10(%r14),%rcx
14066c626:	49 83 7e 28 0f       	cmpq   $0xf,0x28(%r14)
14066c62b:	76 04                	jbe    0x14066c631
14066c62d:	49 8b 4e 10          	mov    0x10(%r14),%rcx
14066c631:	48 3b e8             	cmp    %rax,%rbp
14066c634:	75 0c                	jne    0x14066c642
14066c636:	4c 8b c5             	mov    %rbp,%r8
14066c639:	e8 12 34 87 00       	call   0x140edfa50
14066c63e:	85 c0                	test   %eax,%eax
14066c640:	74 0b                	je     0x14066c64d
14066c642:	49 3b dc             	cmp    %r12,%rbx
14066c645:	74 19                	je     0x14066c660
14066c647:	48 8b 5b 08          	mov    0x8(%rbx),%rbx
14066c64b:	eb c3                	jmp    0x14066c610
14066c64d:	48 8b 03             	mov    (%rbx),%rax
14066c650:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
14066c655:	48 89 5c 24 28       	mov    %rbx,0x28(%rsp)
14066c65a:	49 8d 6d 08          	lea    0x8(%r13),%rbp
14066c65e:	eb 12                	jmp    0x14066c672
14066c660:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
14066c665:	49 8d 6d 08          	lea    0x8(%r13),%rbp
14066c669:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
14066c670:	00 00
14066c672:	0f 28 44 24 20       	movaps 0x20(%rsp),%xmm0
14066c677:	66 0f 7f 44 24 20    	movdqa %xmm0,0x20(%rsp)
14066c67d:	48 8b 54 24 20       	mov    0x20(%rsp),%rdx
14066c682:	4c 8b 42 08          	mov    0x8(%rdx),%r8
14066c686:	49 ff 45 10          	incq   0x10(%r13)
14066c68a:	49 89 16             	mov    %rdx,(%r14)
14066c68d:	4d 89 46 08          	mov    %r8,0x8(%r14)
14066c691:	4d 89 30             	mov    %r14,(%r8)
14066c694:	4c 89 72 08          	mov    %r14,0x8(%rdx)
14066c698:	49 8b 4d 18          	mov    0x18(%r13),%rcx
14066c69c:	49 8b 45 30          	mov    0x30(%r13),%rax
14066c6a0:	48 23 c7             	and    %rdi,%rax
14066c6a3:	48 03 c0             	add    %rax,%rax
14066c6a6:	4c 8b 0c c1          	mov    (%rcx,%rax,8),%r9
14066c6aa:	4c 3b 4d 00          	cmp    0x0(%rbp),%r9
14066c6ae:	75 06                	jne    0x14066c6b6
14066c6b0:	4c 89 34 c1          	mov    %r14,(%rcx,%rax,8)
14066c6b4:	eb 12                	jmp    0x14066c6c8
14066c6b6:	4c 3b ca             	cmp    %rdx,%r9
14066c6b9:	75 06                	jne    0x14066c6c1
14066c6bb:	4c 89 34 c1          	mov    %r14,(%rcx,%rax,8)
14066c6bf:	eb 0c                	jmp    0x14066c6cd
14066c6c1:	4c 39 44 c1 08       	cmp    %r8,0x8(%rcx,%rax,8)
14066c6c6:	75 05                	jne    0x14066c6cd
14066c6c8:	4c 89 74 c1 08       	mov    %r14,0x8(%rcx,%rax,8)
14066c6cd:	4d 89 37             	mov    %r14,(%r15)
14066c6d0:	41 c6 47 08 01       	movb   $0x1,0x8(%r15)
14066c6d5:	49 8b c7             	mov    %r15,%rax
14066c6d8:	4c 8d 5c 24 40       	lea    0x40(%rsp),%r11
14066c6dd:	49 8b 5b 38          	mov    0x38(%r11),%rbx
14066c6e1:	49 8b 6b 40          	mov    0x40(%r11),%rbp
14066c6e5:	49 8b 73 48          	mov    0x48(%r11),%rsi
14066c6e9:	49 8b e3             	mov    %r11,%rsp
14066c6ec:	41 5f                	pop    %r15
14066c6ee:	41 5e                	pop    %r14
14066c6f0:	41 5d                	pop    %r13
14066c6f2:	41 5c                	pop    %r12
14066c6f4:	5f                   	pop    %rdi
14066c6f5:	c3                   	ret
14066c6f6:	48 8d 0d a3 1d 94 00 	lea    0x941da3(%rip),%rcx        # 0x140fae4a0
14066c6fd:	e8 b2 ec 78 00       	call   0x140dfb3b4
14066c702:	cc                   	int3
14066c703:	cc                   	int3
14066c704:	cc                   	int3
14066c705:	cc                   	int3
14066c706:	cc                   	int3
14066c707:	cc                   	int3
14066c708:	cc                   	int3
14066c709:	cc                   	int3
14066c70a:	cc                   	int3
14066c70b:	cc                   	int3
14066c70c:	cc                   	int3
14066c70d:	cc                   	int3
14066c70e:	cc                   	int3
14066c70f:	cc                   	int3
14066c710:	4d 8b c8             	mov    %r8,%r9
14066c713:	48 3b ca             	cmp    %rdx,%rcx
14066c716:	0f 84 81 00 00 00    	je     0x14066c79d
14066c71c:	4d 8b d1             	mov    %r9,%r10
14066c71f:	4c 8d 41 08          	lea    0x8(%rcx),%r8
14066c723:	4c 2b d1             	sub    %rcx,%r10
14066c726:	45 33 db             	xor    %r11d,%r11d
14066c729:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
14066c730:	49 8b 40 f8          	mov    -0x8(%r8),%rax
14066c734:	4d 89 58 f8          	mov    %r11,-0x8(%r8)
14066c738:	4d 8d 40 30          	lea    0x30(%r8),%r8
14066c73c:	49 89 01             	mov    %rax,(%r9)
14066c73f:	49 83 c1 30          	add    $0x30,%r9
14066c743:	49 8b 40 d0          	mov    -0x30(%r8),%rax
14066c747:	4d 89 58 d0          	mov    %r11,-0x30(%r8)
14066c74b:	4b 89 44 02 d0       	mov    %rax,-0x30(%r10,%r8,1)
14066c750:	49 8b 40 d8          	mov    -0x28(%r8),%rax
14066c754:	4d 89 58 d8          	mov    %r11,-0x28(%r8)
14066c758:	4f 89 5c 02 e0       	mov    %r11,-0x20(%r10,%r8,1)
14066c75d:	4f 89 5c 02 e8       	mov    %r11,-0x18(%r10,%r8,1)
14066c762:	4b 89 44 02 d8       	mov    %rax,-0x28(%r10,%r8,1)
14066c767:	49 8b 40 e0          	mov    -0x20(%r8),%rax
14066c76b:	4b 89 44 02 e0       	mov    %rax,-0x20(%r10,%r8,1)
14066c770:	49 8b 48 e8          	mov    -0x18(%r8),%rcx
14066c774:	4b 89 4c 02 e8       	mov    %rcx,-0x18(%r10,%r8,1)
14066c779:	4d 89 58 e0          	mov    %r11,-0x20(%r8)
14066c77d:	4d 89 58 e8          	mov    %r11,-0x18(%r8)
14066c781:	41 8b 48 f0          	mov    -0x10(%r8),%ecx
14066c785:	43 89 4c 02 f0       	mov    %ecx,-0x10(%r10,%r8,1)
14066c78a:	41 0f b6 48 f4       	movzbl -0xc(%r8),%ecx
14066c78f:	43 88 4c 02 f4       	mov    %cl,-0xc(%r10,%r8,1)
14066c794:	49 8d 48 f8          	lea    -0x8(%r8),%rcx
14066c798:	48 3b ca             	cmp    %rdx,%rcx
14066c79b:	75 93                	jne    0x14066c730
14066c79d:	49 8b c1             	mov    %r9,%rax
14066c7a0:	c3                   	ret
14066c7a1:	cc                   	int3
14066c7a2:	cc                   	int3
14066c7a3:	cc                   	int3
14066c7a4:	cc                   	int3
14066c7a5:	cc                   	int3
14066c7a6:	cc                   	int3
14066c7a7:	cc                   	int3
14066c7a8:	cc                   	int3
14066c7a9:	cc                   	int3
14066c7aa:	cc                   	int3
14066c7ab:	cc                   	int3
14066c7ac:	cc                   	int3
14066c7ad:	cc                   	int3
14066c7ae:	cc                   	int3
14066c7af:	cc                   	int3
14066c7b0:	48 83 ec 38          	sub    $0x38,%rsp
14066c7b4:	4c 8b d2             	mov    %rdx,%r10
14066c7b7:	48 8b 44 24 68       	mov    0x68(%rsp),%rax
14066c7bc:	8b 10                	mov    (%rax),%edx
14066c7be:	48 8b 44 24 60       	mov    0x60(%rsp),%rax
14066c7c3:	48 8b 08             	mov    (%rax),%rcx
14066c7c6:	48 89 4c 24 68       	mov    %rcx,0x68(%rsp)
14066c7cb:	48 85 c9             	test   %rcx,%rcx
14066c7ce:	74 14                	je     0x14066c7e4
14066c7d0:	8b 41 10             	mov    0x10(%rcx),%eax
14066c7d3:	ff c0                	inc    %eax
14066c7d5:	89 41 10             	mov    %eax,0x10(%rcx)
14066c7d8:	83 f8 01             	cmp    $0x1,%eax
14066c7db:	7e 74                	jle    0x14066c851
14066c7dd:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
14066c7e2:	74 75                	je     0x14066c859
14066c7e4:	49 8b 09             	mov    (%r9),%rcx
14066c7e7:	48 89 4c 24 60       	mov    %rcx,0x60(%rsp)
14066c7ec:	48 85 c9             	test   %rcx,%rcx
14066c7ef:	74 14                	je     0x14066c805
14066c7f1:	8b 41 10             	mov    0x10(%rcx),%eax
14066c7f4:	ff c0                	inc    %eax
14066c7f6:	89 41 10             	mov    %eax,0x10(%rcx)
14066c7f9:	83 f8 01             	cmp    $0x1,%eax
14066c7fc:	7e 66                	jle    0x14066c864
14066c7fe:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
14066c803:	74 67                	je     0x14066c86c
14066c805:	49 8b 08             	mov    (%r8),%rcx
14066c808:	48 89 4c 24 48       	mov    %rcx,0x48(%rsp)
14066c80d:	48 85 c9             	test   %rcx,%rcx
14066c810:	74 14                	je     0x14066c826
14066c812:	8b 41 10             	mov    0x10(%rcx),%eax
14066c815:	ff c0                	inc    %eax
14066c817:	89 41 10             	mov    %eax,0x10(%rcx)
14066c81a:	83 f8 01             	cmp    $0x1,%eax
14066c81d:	7e 58                	jle    0x14066c877
14066c81f:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
14066c824:	74 20                	je     0x14066c846
14066c826:	89 54 24 20          	mov    %edx,0x20(%rsp)
14066c82a:	4c 8d 4c 24 68       	lea    0x68(%rsp),%r9
14066c82f:	4c 8d 44 24 60       	lea    0x60(%rsp),%r8
14066c834:	48 8d 54 24 48       	lea    0x48(%rsp),%rdx
14066c839:	49 8b ca             	mov    %r10,%rcx
14066c83c:	e8 df 03 00 00       	call   0x14066cc20
14066c841:	48 83 c4 38          	add    $0x38,%rsp
14066c845:	c3                   	ret
14066c846:	b9 01 00 00 00       	mov    $0x1,%ecx
14066c84b:	e8 b0 de 11 00       	call   0x14078a700
14066c850:	90                   	nop
14066c851:	33 c9                	xor    %ecx,%ecx
14066c853:	e8 a8 de 11 00       	call   0x14078a700
14066c858:	cc                   	int3
14066c859:	b9 01 00 00 00       	mov    $0x1,%ecx
14066c85e:	e8 9d de 11 00       	call   0x14078a700
14066c863:	90                   	nop
14066c864:	33 c9                	xor    %ecx,%ecx
14066c866:	e8 95 de 11 00       	call   0x14078a700
14066c86b:	cc                   	int3
14066c86c:	b9 01 00 00 00       	mov    $0x1,%ecx
14066c871:	e8 8a de 11 00       	call   0x14078a700
14066c876:	90                   	nop
14066c877:	33 c9                	xor    %ecx,%ecx
14066c879:	e8 82 de 11 00       	call   0x14078a700
14066c87e:	cc                   	int3
14066c87f:	cc                   	int3
14066c880:	48 83 ec 38          	sub    $0x38,%rsp
14066c884:	4c 8b d2             	mov    %rdx,%r10
14066c887:	48 8b 44 24 68       	mov    0x68(%rsp),%rax
14066c88c:	8b 10                	mov    (%rax),%edx
14066c88e:	48 8b 44 24 60       	mov    0x60(%rsp),%rax
14066c893:	48 8b 08             	mov    (%rax),%rcx
14066c896:	45 33 db             	xor    %r11d,%r11d
14066c899:	4c 89 18             	mov    %r11,(%rax)
14066c89c:	48 89 4c 24 68       	mov    %rcx,0x68(%rsp)
14066c8a1:	49 8b 01             	mov    (%r9),%rax
14066c8a4:	4d 89 19             	mov    %r11,(%r9)
14066c8a7:	48 89 44 24 60       	mov    %rax,0x60(%rsp)
14066c8ac:	49 8b 08             	mov    (%r8),%rcx
14066c8af:	48 89 4c 24 48       	mov    %rcx,0x48(%rsp)
14066c8b4:	48 85 c9             	test   %rcx,%rcx
14066c8b7:	74 14                	je     0x14066c8cd
14066c8b9:	8b 41 10             	mov    0x10(%rcx),%eax
14066c8bc:	ff c0                	inc    %eax
14066c8be:	89 41 10             	mov    %eax,0x10(%rcx)
14066c8c1:	83 f8 01             	cmp    $0x1,%eax
14066c8c4:	7e 32                	jle    0x14066c8f8