1400244fa:	48 23 c8             	and    %rax,%rcx
1400244fd:	e8 02 bc 00 00       	call   0x140030104
140024502:	48 8b 4d 07          	mov    0x7(%rbp),%rcx
140024506:	4c 89 65 07          	mov    %r12,0x7(%rbp)
14002450a:	48 85 c9             	test   %rcx,%rcx
14002450d:	74 05                	je     0x140024514
14002450f:	e8 a2 bb 00 00       	call   0x1400300b6
140024514:	48 8b 4d 1f          	mov    0x1f(%rbp),%rcx
140024518:	4c 89 65 1f          	mov    %r12,0x1f(%rbp)
14002451c:	48 85 c9             	test   %rcx,%rcx
14002451f:	74 05                	je     0x140024526
140024521:	e8 90 bb 00 00       	call   0x1400300b6
140024526:	44 88 65 3f          	mov    %r12b,0x3f(%rbp)
14002452a:	48 8b 4d 1f          	mov    0x1f(%rbp),%rcx
14002452e:	4c 89 65 1f          	mov    %r12,0x1f(%rbp)
140024532:	48 85 c9             	test   %rcx,%rcx
140024535:	74 05                	je     0x14002453c
140024537:	e8 7a bb 00 00       	call   0x1400300b6
14002453c:	48 8b 4d 07          	mov    0x7(%rbp),%rcx
140024540:	4c 89 65 07          	mov    %r12,0x7(%rbp)
140024544:	48 85 c9             	test   %rcx,%rcx
140024547:	74 05                	je     0x14002454e
140024549:	e8 68 bb 00 00       	call   0x1400300b6
14002454e:	4c 8d 9c 24 b0 00 00 	lea    0xb0(%rsp),%r11
140024555:	00
140024556:	40 8a c7             	mov    %dil,%al
140024559:	49 8b 5b 20          	mov    0x20(%r11),%rbx
14002455d:	49 8b 73 28          	mov    0x28(%r11),%rsi
140024561:	49 8b 7b 30          	mov    0x30(%r11),%rdi
140024565:	4d 8b 63 38          	mov    0x38(%r11),%r12
140024569:	49 8b e3             	mov    %r11,%rsp
14002456c:	41 5f                	pop    %r15
14002456e:	41 5e                	pop    %r14
140024570:	5d                   	pop    %rbp
140024571:	c3                   	ret
140024572:	90                   	nop
140024573:	90                   	nop
140024574:	48 3b ca             	cmp    %rdx,%rcx
140024577:	74 2d                	je     0x1400245a6
140024579:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14002457e:	57                   	push   %rdi
14002457f:	48 83 ec 20          	sub    $0x20,%rsp
140024583:	48 8b fa             	mov    %rdx,%rdi
140024586:	48 8b d9             	mov    %rcx,%rbx
140024589:	33 d2                	xor    %edx,%edx
14002458b:	48 8b cb             	mov    %rbx,%rcx
14002458e:	e8 4d b3 ff ff       	call   0x14001f8e0
140024593:	48 83 c3 28          	add    $0x28,%rbx
140024597:	48 3b df             	cmp    %rdi,%rbx
14002459a:	75 ed                	jne    0x140024589
14002459c:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1400245a1:	48 83 c4 20          	add    $0x20,%rsp
1400245a5:	5f                   	pop    %rdi
1400245a6:	c3                   	ret
1400245a7:	90                   	nop
1400245a8:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
1400245ad:	53                   	push   %rbx
1400245ae:	56                   	push   %rsi
1400245af:	57                   	push   %rdi
1400245b0:	41 54                	push   %r12
1400245b2:	41 55                	push   %r13
1400245b4:	41 56                	push   %r14
1400245b6:	41 57                	push   %r15
1400245b8:	48 83 ec 30          	sub    $0x30,%rsp
1400245bc:	4d 8b e0             	mov    %r8,%r12
1400245bf:	48 8b fa             	mov    %rdx,%rdi
1400245c2:	4c 8b f1             	mov    %rcx,%r14
1400245c5:	4c 8b ca             	mov    %rdx,%r9
1400245c8:	4c 2b 09             	sub    (%rcx),%r9
1400245cb:	49 ba 67 66 66 66 66 	movabs $0x6666666666666667,%r10
1400245d2:	66 66 66
1400245d5:	49 8b c2             	mov    %r10,%rax
1400245d8:	49 f7 e9             	imul   %r9
1400245db:	48 8b f2             	mov    %rdx,%rsi
1400245de:	48 c1 fe 04          	sar    $0x4,%rsi
1400245e2:	48 8b c6             	mov    %rsi,%rax
1400245e5:	48 c1 e8 3f          	shr    $0x3f,%rax
1400245e9:	48 03 f0             	add    %rax,%rsi
1400245ec:	48 8b 49 08          	mov    0x8(%rcx),%rcx
1400245f0:	49 2b 0e             	sub    (%r14),%rcx
1400245f3:	49 8b c2             	mov    %r10,%rax
1400245f6:	48 f7 e9             	imul   %rcx
1400245f9:	48 c1 fa 04          	sar    $0x4,%rdx
1400245fd:	48 8b c2             	mov    %rdx,%rax
140024600:	48 c1 e8 3f          	shr    $0x3f,%rax
140024604:	48 03 d0             	add    %rax,%rdx
140024607:	49 b8 66 66 66 66 66 	movabs $0x666666666666666,%r8
14002460e:	66 66 06
140024611:	49 3b d0             	cmp    %r8,%rdx
140024614:	0f 84 3e 02 00 00    	je     0x140024858
14002461a:	4c 8d 7a 01          	lea    0x1(%rdx),%r15
14002461e:	49 8b 4e 10          	mov    0x10(%r14),%rcx
140024622:	49 2b 0e             	sub    (%r14),%rcx
140024625:	49 8b c2             	mov    %r10,%rax
140024628:	48 f7 e9             	imul   %rcx
14002462b:	48 c1 fa 04          	sar    $0x4,%rdx
14002462f:	48 8b c2             	mov    %rdx,%rax
140024632:	48 c1 e8 3f          	shr    $0x3f,%rax
140024636:	48 03 d0             	add    %rax,%rdx
140024639:	48 8b ca             	mov    %rdx,%rcx
14002463c:	48 d1 e9             	shr    $1,%rcx
14002463f:	49 8b c0             	mov    %r8,%rax
140024642:	48 2b c1             	sub    %rcx,%rax
140024645:	48 3b d0             	cmp    %rax,%rdx
140024648:	76 05                	jbe    0x14002464f
14002464a:	49 8b d8             	mov    %r8,%rbx
14002464d:	eb 0b                	jmp    0x14002465a
14002464f:	48 8d 1c 11          	lea    (%rcx,%rdx,1),%rbx
140024653:	49 3b df             	cmp    %r15,%rbx
140024656:	49 0f 42 df          	cmovb  %r15,%rbx
14002465a:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
14002465f:	49 3b d8             	cmp    %r8,%rbx
140024662:	0f 87 f6 01 00 00    	ja     0x14002485e
140024668:	48 8d 0c 9b          	lea    (%rbx,%rbx,4),%rcx
14002466c:	48 c1 e1 03          	shl    $0x3,%rcx
140024670:	45 33 ed             	xor    %r13d,%r13d
140024673:	48 85 c9             	test   %rcx,%rcx
140024676:	0f 85 d4 00 00 00    	jne    0x140024750
14002467c:	41 8b d5             	mov    %r13d,%edx
14002467f:	48 89 54 24 78       	mov    %rdx,0x78(%rsp)
140024684:	48 8d 04 b6          	lea    (%rsi,%rsi,4),%rax
140024688:	4c 8d 1c c5 00 00 00 	lea    0x0(,%rax,8),%r11
14002468f:	00
140024690:	4a 8d 34 1a          	lea    (%rdx,%r11,1),%rsi
140024694:	48 8d 46 28          	lea    0x28(%rsi),%rax
140024698:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
14002469d:	41 8b 04 24          	mov    (%r12),%eax
1400246a1:	89 06                	mov    %eax,(%rsi)
1400246a3:	0f 57 c0             	xorps  %xmm0,%xmm0
1400246a6:	0f 11 46 08          	movups %xmm0,0x8(%rsi)
1400246aa:	4c 89 6e 18          	mov    %r13,0x18(%rsi)
1400246ae:	4c 89 6e 20          	mov    %r13,0x20(%rsi)
1400246b2:	41 0f 10 44 24 08    	movups 0x8(%r12),%xmm0
1400246b8:	0f 11 46 08          	movups %xmm0,0x8(%rsi)
1400246bc:	41 0f 10 4c 24 18    	movups 0x18(%r12),%xmm1
1400246c2:	0f 11 4e 18          	movups %xmm1,0x18(%rsi)
1400246c6:	4d 89 6c 24 18       	mov    %r13,0x18(%r12)
1400246cb:	49 c7 44 24 20 07 00 	movq   $0x7,0x20(%r12)
1400246d2:	00 00
1400246d4:	66 45 89 6c 24 08    	mov    %r13w,0x8(%r12)
1400246da:	48 89 b4 24 88 00 00 	mov    %rsi,0x88(%rsp)
1400246e1:	00
1400246e2:	4d 8b 56 08          	mov    0x8(%r14),%r10
1400246e6:	49 8b 0e             	mov    (%r14),%rcx
1400246e9:	49 3b fa             	cmp    %r10,%rdi
1400246ec:	0f 85 8b 00 00 00    	jne    0x14002477d
1400246f2:	49 3b ca             	cmp    %r10,%rcx
1400246f5:	0f 84 3c 01 00 00    	je     0x140024837
1400246fb:	4c 8d 49 08          	lea    0x8(%rcx),%r9
1400246ff:	4c 8d 42 08          	lea    0x8(%rdx),%r8
140024703:	8b 01                	mov    (%rcx),%eax
140024705:	41 89 40 f8          	mov    %eax,-0x8(%r8)
140024709:	0f 57 c0             	xorps  %xmm0,%xmm0
14002470c:	41 0f 11 00          	movups %xmm0,(%r8)
140024710:	4d 89 68 10          	mov    %r13,0x10(%r8)
140024714:	4d 89 68 18          	mov    %r13,0x18(%r8)
140024718:	41 0f 10 01          	movups (%r9),%xmm0
14002471c:	41 0f 11 00          	movups %xmm0,(%r8)
140024720:	41 0f 10 49 10       	movups 0x10(%r9),%xmm1
140024725:	41 0f 11 48 10       	movups %xmm1,0x10(%r8)
14002472a:	4d 89 69 10          	mov    %r13,0x10(%r9)
14002472e:	49 c7 41 18 07 00 00 	movq   $0x7,0x18(%r9)
140024735:	00
140024736:	66 45 89 29          	mov    %r13w,(%r9)
14002473a:	4d 8d 40 28          	lea    0x28(%r8),%r8
14002473e:	48 83 c1 28          	add    $0x28,%rcx
140024742:	4d 8d 49 28          	lea    0x28(%r9),%r9
140024746:	49 3b ca             	cmp    %r10,%rcx
140024749:	75 b8                	jne    0x140024703
14002474b:	e9 e7 00 00 00       	jmp    0x140024837
140024750:	48 81 f9 00 10 00 00 	cmp    $0x1000,%rcx
140024757:	72 0d                	jb     0x140024766
140024759:	e8 ae 4a fe ff       	call   0x14000920c
14002475e:	48 8b d0             	mov    %rax,%rdx
140024761:	e9 19 ff ff ff       	jmp    0x14002467f
140024766:	ff 15 a4 fd 00 00    	call   *0xfda4(%rip)        # 0x140034510
14002476c:	48 8b d0             	mov    %rax,%rdx
14002476f:	48 85 c0             	test   %rax,%rax
140024772:	0f 84 ec 00 00 00    	je     0x140024864
140024778:	e9 02 ff ff ff       	jmp    0x14002467f
14002477d:	48 3b cf             	cmp    %rdi,%rcx
140024780:	74 50                	je     0x1400247d2
140024782:	4c 8d 49 08          	lea    0x8(%rcx),%r9
140024786:	4c 8d 42 08          	lea    0x8(%rdx),%r8
14002478a:	8b 01                	mov    (%rcx),%eax
14002478c:	41 89 40 f8          	mov    %eax,-0x8(%r8)
140024790:	0f 57 c0             	xorps  %xmm0,%xmm0
140024793:	41 0f 11 00          	movups %xmm0,(%r8)
140024797:	4d 89 68 10          	mov    %r13,0x10(%r8)
14002479b:	4d 89 68 18          	mov    %r13,0x18(%r8)
14002479f:	41 0f 10 01          	movups (%r9),%xmm0
1400247a3:	41 0f 11 00          	movups %xmm0,(%r8)
1400247a7:	41 0f 10 49 10       	movups 0x10(%r9),%xmm1
1400247ac:	41 0f 11 48 10       	movups %xmm1,0x10(%r8)
1400247b1:	4d 89 69 10          	mov    %r13,0x10(%r9)
1400247b5:	49 c7 41 18 07 00 00 	movq   $0x7,0x18(%r9)
1400247bc:	00
1400247bd:	66 45 89 29          	mov    %r13w,(%r9)
1400247c1:	4d 8d 40 28          	lea    0x28(%r8),%r8
1400247c5:	48 83 c1 28          	add    $0x28,%rcx
1400247c9:	4d 8d 49 28          	lea    0x28(%r9),%r9
1400247cd:	48 3b cf             	cmp    %rdi,%rcx
1400247d0:	75 b8                	jne    0x14002478a
1400247d2:	48 89 94 24 88 00 00 	mov    %rdx,0x88(%rsp)
1400247d9:	00
1400247da:	4d 8b 4e 08          	mov    0x8(%r14),%r9
1400247de:	49 3b f9             	cmp    %r9,%rdi
1400247e1:	74 54                	je     0x140024837
1400247e3:	48 8d 4e 30          	lea    0x30(%rsi),%rcx
1400247e7:	49 2b fb             	sub    %r11,%rdi
1400247ea:	48 2b fa             	sub    %rdx,%rdi
1400247ed:	8b 44 39 d0          	mov    -0x30(%rcx,%rdi,1),%eax
1400247f1:	89 41 f8             	mov    %eax,-0x8(%rcx)
1400247f4:	0f 57 c0             	xorps  %xmm0,%xmm0
1400247f7:	0f 11 01             	movups %xmm0,(%rcx)
1400247fa:	4c 89 69 10          	mov    %r13,0x10(%rcx)
1400247fe:	4c 89 69 18          	mov    %r13,0x18(%rcx)
140024802:	0f 10 44 0f d8       	movups -0x28(%rdi,%rcx,1),%xmm0
140024807:	0f 11 01             	movups %xmm0,(%rcx)
14002480a:	0f 10 4c 0f e8       	movups -0x18(%rdi,%rcx,1),%xmm1
14002480f:	0f 11 49 10          	movups %xmm1,0x10(%rcx)
140024813:	4c 89 6c 0f e8       	mov    %r13,-0x18(%rdi,%rcx,1)
140024818:	48 c7 44 0f f0 07 00 	movq   $0x7,-0x10(%rdi,%rcx,1)
14002481f:	00 00
140024821:	66 44 89 6c 0f d8    	mov    %r13w,-0x28(%rdi,%rcx,1)
140024827:	48 83 c1 28          	add    $0x28,%rcx
14002482b:	48 8d 47 d0          	lea    -0x30(%rdi),%rax
14002482f:	48 03 c1             	add    %rcx,%rax
140024832:	49 3b c1             	cmp    %r9,%rax
140024835:	75 b6                	jne    0x1400247ed
140024837:	4c 8b cb             	mov    %rbx,%r9
14002483a:	4d 8b c7             	mov    %r15,%r8
14002483d:	49 8b ce             	mov    %r14,%rcx
140024840:	e8 d7 1f 00 00       	call   0x14002681c
140024845:	48 8b c6             	mov    %rsi,%rax
140024848:	48 83 c4 30          	add    $0x30,%rsp
14002484c:	41 5f                	pop    %r15
14002484e:	41 5e                	pop    %r14
140024850:	41 5d                	pop    %r13
140024852:	41 5c                	pop    %r12
140024854:	5f                   	pop    %rdi
140024855:	5e                   	pop    %rsi
140024856:	5b                   	pop    %rbx
140024857:	c3                   	ret
140024858:	e8 33 2c ff ff       	call   0x140017490
14002485d:	cc                   	int3
14002485e:	e8 ed 4f fe ff       	call   0x140009850
140024863:	cc                   	int3
140024864:	e8 8a d2 00 00       	call   0x140031af3
140024869:	cc                   	int3
14002486a:	90                   	nop
14002486b:	90                   	nop
14002486c:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140024871:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
140024876:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
14002487b:	41 56                	push   %r14
14002487d:	48 83 ec 30          	sub    $0x30,%rsp
140024881:	4c 8b f2             	mov    %rdx,%r14
140024884:	48 8b d9             	mov    %rcx,%rbx
140024887:	b9 50 00 00 00       	mov    $0x50,%ecx
14002488c:	ff 15 7e fc 00 00    	call   *0xfc7e(%rip)        # 0x140034510
140024892:	48 8b f8             	mov    %rax,%rdi
140024895:	48 89 44 24 50       	mov    %rax,0x50(%rsp)
14002489a:	48 85 c0             	test   %rax,%rax
14002489d:	74 44                	je     0x1400248e3
14002489f:	b8 01 00 00 00       	mov    $0x1,%eax
1400248a4:	89 47 08             	mov    %eax,0x8(%rdi)
1400248a7:	89 47 0c             	mov    %eax,0xc(%rdi)
1400248aa:	48 8d 05 2f 0a 01 00 	lea    0x10a2f(%rip),%rax        # 0x1400352e0
1400248b1:	48 89 07             	mov    %rax,(%rdi)
1400248b4:	48 8d 77 10          	lea    0x10(%rdi),%rsi
1400248b8:	49 8b d6             	mov    %r14,%rdx
1400248bb:	48 8b ce             	mov    %rsi,%rcx
1400248be:	e8 29 00 00 00       	call   0x1400248ec
1400248c3:	48 89 33             	mov    %rsi,(%rbx)
1400248c6:	48 89 7b 08          	mov    %rdi,0x8(%rbx)
1400248ca:	48 8b c3             	mov    %rbx,%rax
1400248cd:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
1400248d2:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
1400248d7:	48 8b 7c 24 58       	mov    0x58(%rsp),%rdi
1400248dc:	48 83 c4 30          	add    $0x30,%rsp
1400248e0:	41 5e                	pop    %r14
1400248e2:	c3                   	ret
1400248e3:	e8 0b d2 00 00       	call   0x140031af3
1400248e8:	cc                   	int3
1400248e9:	90                   	nop
1400248ea:	90                   	nop
1400248eb:	90                   	nop
1400248ec:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1400248f1:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
1400248f6:	57                   	push   %rdi
1400248f7:	48 83 ec 20          	sub    $0x20,%rsp
1400248fb:	33 c0                	xor    %eax,%eax
1400248fd:	0f 57 c0             	xorps  %xmm0,%xmm0
140024900:	33 f6                	xor    %esi,%esi
140024902:	48 8b fa             	mov    %rdx,%rdi
140024905:	48 8b d9             	mov    %rcx,%rbx
140024908:	0f 11 01             	movups %xmm0,(%rcx)
14002490b:	48 89 41 10          	mov    %rax,0x10(%rcx)
14002490f:	48 3b ca             	cmp    %rdx,%rcx
140024912:	74 1b                	je     0x14002492f
140024914:	0f 10 02             	movups (%rdx),%xmm0
140024917:	0f 11 01             	movups %xmm0,(%rcx)
14002491a:	f2 0f 10 4a 10       	movsd  0x10(%rdx),%xmm1
14002491f:	f2 0f 11 49 10       	movsd  %xmm1,0x10(%rcx)
140024924:	48 89 32             	mov    %rsi,(%rdx)
140024927:	66 89 72 08          	mov    %si,0x8(%rdx)
14002492b:	48 89 72 10          	mov    %rsi,0x10(%rdx)
14002492f:	48 83 c1 18          	add    $0x18,%rcx
140024933:	48 8d 42 18          	lea    0x18(%rdx),%rax
140024937:	0f 57 c0             	xorps  %xmm0,%xmm0
14002493a:	0f 11 01             	movups %xmm0,(%rcx)
14002493d:	0f 11 41 10          	movups %xmm0,0x10(%rcx)
140024941:	48 3b c8             	cmp    %rax,%rcx
140024944:	74 15                	je     0x14002495b
140024946:	0f 10 00             	movups (%rax),%xmm0
140024949:	0f 11 01             	movups %xmm0,(%rcx)
14002494c:	0f 10 48 10          	movups 0x10(%rax),%xmm1
140024950:	0f 11 49 10          	movups %xmm1,0x10(%rcx)
140024954:	48 89 30             	mov    %rsi,(%rax)
140024957:	48 89 70 10          	mov    %rsi,0x10(%rax)
14002495b:	8a 42 38             	mov    0x38(%rdx),%al
14002495e:	88 43 38             	mov    %al,0x38(%rbx)
140024961:	84 c0                	test   %al,%al
140024963:	74 05                	je     0x14002496a
140024965:	e8 9a b7 00 00       	call   0x140030104
14002496a:	48 89 5b 28          	mov    %rbx,0x28(%rbx)
14002496e:	48 8b c3             	mov    %rbx,%rax
140024971:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140024976:	40 88 77 38          	mov    %sil,0x38(%rdi)
14002497a:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
14002497f:	48 83 c4 20          	add    $0x20,%rsp
140024983:	5f                   	pop    %rdi
140024984:	c3                   	ret
140024985:	90                   	nop
140024986:	90                   	nop
140024987:	90                   	nop
140024988:	90                   	nop
140024989:	90                   	nop
14002498a:	90                   	nop
14002498b:	90                   	nop
14002498c:	90                   	nop
14002498d:	90                   	nop
14002498e:	90                   	nop
14002498f:	90                   	nop
140024990:	40 53                	rex push %rbx
140024992:	48 83 ec 20          	sub    $0x20,%rsp
140024996:	48 8d 05 43 09 01 00 	lea    0x10943(%rip),%rax        # 0x1400352e0
14002499d:	48 8b d9             	mov    %rcx,%rbx
1400249a0:	48 89 01             	mov    %rax,(%rcx)