14023c45a:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
14023c45f:	57                   	push   %rdi
14023c460:	48 83 ec 20          	sub    $0x20,%rsp
14023c464:	48 8b d9             	mov    %rcx,%rbx
14023c467:	49 8b f9             	mov    %r9,%rdi
14023c46a:	48 8b 09             	mov    (%rcx),%rcx
14023c46d:	49 8b f0             	mov    %r8,%rsi
14023c470:	48 8b ea             	mov    %rdx,%rbp
14023c473:	48 85 c9             	test   %rcx,%rcx
14023c476:	74 40                	je     0x14023c4b8
14023c478:	48 8b 53 08          	mov    0x8(%rbx),%rdx
14023c47c:	4c 8b c3             	mov    %rbx,%r8
14023c47f:	e8 cc ad f5 ff       	call   0x140197250
14023c484:	48 8b 0b             	mov    (%rbx),%rcx
14023c487:	48 8b 53 10          	mov    0x10(%rbx),%rdx
14023c48b:	48 2b d1             	sub    %rcx,%rdx
14023c48e:	48 83 e2 e0          	and    $0xffffffffffffffe0,%rdx
14023c492:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
14023c499:	72 18                	jb     0x14023c4b3
14023c49b:	4c 8b 41 f8          	mov    -0x8(%rcx),%r8
14023c49f:	48 83 c2 27          	add    $0x27,%rdx
14023c4a3:	49 2b c8             	sub    %r8,%rcx
14023c4a6:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
14023c4aa:	48 83 f8 1f          	cmp    $0x1f,%rax
14023c4ae:	77 36                	ja     0x14023c4e6
14023c4b0:	49 8b c8             	mov    %r8,%rcx
14023c4b3:	e8 8c ec bd 00       	call   0x140e1b144
14023c4b8:	48 89 2b             	mov    %rbp,(%rbx)
14023c4bb:	48 c1 e6 05          	shl    $0x5,%rsi
14023c4bf:	48 03 f5             	add    %rbp,%rsi
14023c4c2:	48 c1 e7 05          	shl    $0x5,%rdi
14023c4c6:	48 89 73 08          	mov    %rsi,0x8(%rbx)
14023c4ca:	48 03 fd             	add    %rbp,%rdi
14023c4cd:	48 8b 6c 24 40       	mov    0x40(%rsp),%rbp
14023c4d2:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
14023c4d7:	48 89 7b 10          	mov    %rdi,0x10(%rbx)
14023c4db:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
14023c4e0:	48 83 c4 20          	add    $0x20,%rsp
14023c4e4:	5f                   	pop    %rdi
14023c4e5:	c3                   	ret
14023c4e6:	e8 b9 dc be 00       	call   0x140e2a1a4
14023c4eb:	cc                   	int3
14023c4ec:	cc                   	int3
14023c4ed:	cc                   	int3
14023c4ee:	cc                   	int3
14023c4ef:	cc                   	int3
14023c4f0:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
14023c4f5:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
14023c4fa:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
14023c4ff:	57                   	push   %rdi
14023c500:	48 83 ec 20          	sub    $0x20,%rsp
14023c504:	48 8b d9             	mov    %rcx,%rbx
14023c507:	49 8b f9             	mov    %r9,%rdi
14023c50a:	48 8b 09             	mov    (%rcx),%rcx
14023c50d:	49 8b f0             	mov    %r8,%rsi
14023c510:	48 8b ea             	mov    %rdx,%rbp
14023c513:	48 85 c9             	test   %rcx,%rcx
14023c516:	74 40                	je     0x14023c558
14023c518:	48 8b 53 08          	mov    0x8(%rbx),%rdx
14023c51c:	4c 8b c3             	mov    %rbx,%r8
14023c51f:	e8 5c c5 ff ff       	call   0x140238a80
14023c524:	48 8b 0b             	mov    (%rbx),%rcx
14023c527:	48 8b 53 10          	mov    0x10(%rbx),%rdx
14023c52b:	48 2b d1             	sub    %rcx,%rdx
14023c52e:	48 83 e2 e0          	and    $0xffffffffffffffe0,%rdx
14023c532:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
14023c539:	72 18                	jb     0x14023c553
14023c53b:	4c 8b 41 f8          	mov    -0x8(%rcx),%r8
14023c53f:	48 83 c2 27          	add    $0x27,%rdx
14023c543:	49 2b c8             	sub    %r8,%rcx
14023c546:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
14023c54a:	48 83 f8 1f          	cmp    $0x1f,%rax
14023c54e:	77 36                	ja     0x14023c586
14023c550:	49 8b c8             	mov    %r8,%rcx
14023c553:	e8 ec eb bd 00       	call   0x140e1b144
14023c558:	48 89 2b             	mov    %rbp,(%rbx)
14023c55b:	48 c1 e6 05          	shl    $0x5,%rsi
14023c55f:	48 03 f5             	add    %rbp,%rsi
14023c562:	48 c1 e7 05          	shl    $0x5,%rdi
14023c566:	48 89 73 08          	mov    %rsi,0x8(%rbx)
14023c56a:	48 03 fd             	add    %rbp,%rdi
14023c56d:	48 8b 6c 24 40       	mov    0x40(%rsp),%rbp
14023c572:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
14023c577:	48 89 7b 10          	mov    %rdi,0x10(%rbx)
14023c57b:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
14023c580:	48 83 c4 20          	add    $0x20,%rsp
14023c584:	5f                   	pop    %rdi
14023c585:	c3                   	ret
14023c586:	e8 19 dc be 00       	call   0x140e2a1a4
14023c58b:	cc                   	int3
14023c58c:	cc                   	int3
14023c58d:	cc                   	int3
14023c58e:	cc                   	int3
14023c58f:	cc                   	int3
14023c590:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
14023c595:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
14023c59a:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
14023c59f:	57                   	push   %rdi
14023c5a0:	48 83 ec 20          	sub    $0x20,%rsp
14023c5a4:	48 8b d9             	mov    %rcx,%rbx
14023c5a7:	49 8b f1             	mov    %r9,%rsi
14023c5aa:	48 8b 09             	mov    (%rcx),%rcx
14023c5ad:	49 8b e8             	mov    %r8,%rbp
14023c5b0:	48 8b fa             	mov    %rdx,%rdi
14023c5b3:	48 85 c9             	test   %rcx,%rcx
14023c5b6:	74 31                	je     0x14023c5e9
14023c5b8:	48 8b 53 10          	mov    0x10(%rbx),%rdx
14023c5bc:	48 2b d1             	sub    %rcx,%rdx
14023c5bf:	48 83 e2 fc          	and    $0xfffffffffffffffc,%rdx
14023c5c3:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
14023c5ca:	72 18                	jb     0x14023c5e4
14023c5cc:	4c 8b 41 f8          	mov    -0x8(%rcx),%r8
14023c5d0:	48 83 c2 27          	add    $0x27,%rdx
14023c5d4:	49 2b c8             	sub    %r8,%rcx
14023c5d7:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
14023c5db:	48 83 f8 1f          	cmp    $0x1f,%rax
14023c5df:	77 30                	ja     0x14023c611
14023c5e1:	49 8b c8             	mov    %r8,%rcx
14023c5e4:	e8 5b eb bd 00       	call   0x140e1b144
14023c5e9:	48 8d 04 af          	lea    (%rdi,%rbp,4),%rax
14023c5ed:	48 89 3b             	mov    %rdi,(%rbx)
14023c5f0:	48 8b 6c 24 40       	mov    0x40(%rsp),%rbp
14023c5f5:	48 89 43 08          	mov    %rax,0x8(%rbx)
14023c5f9:	48 8d 04 b7          	lea    (%rdi,%rsi,4),%rax
14023c5fd:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
14023c602:	48 89 43 10          	mov    %rax,0x10(%rbx)
14023c606:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
14023c60b:	48 83 c4 20          	add    $0x20,%rsp
14023c60f:	5f                   	pop    %rdi
14023c610:	c3                   	ret
14023c611:	e8 8e db be 00       	call   0x140e2a1a4
14023c616:	cc                   	int3
14023c617:	cc                   	int3
14023c618:	cc                   	int3
14023c619:	cc                   	int3
14023c61a:	cc                   	int3
14023c61b:	cc                   	int3
14023c61c:	cc                   	int3
14023c61d:	cc                   	int3
14023c61e:	cc                   	int3
14023c61f:	cc                   	int3
14023c620:	40 56                	rex push %rsi
14023c622:	57                   	push   %rdi
14023c623:	48 83 ec 28          	sub    $0x28,%rsp
14023c627:	48 b8 ff ff ff ff ff 	movabs $0xfffffffffffffff,%rax
14023c62e:	ff ff 0f
14023c631:	48 8b f1             	mov    %rcx,%rsi
14023c634:	48 0f bd c8          	bsr    %rax,%rcx
14023c638:	bf 01 00 00 00       	mov    $0x1,%edi
14023c63d:	8b c7                	mov    %edi,%eax
14023c63f:	48 d3 e0             	shl    %cl,%rax
14023c642:	48 3b d0             	cmp    %rax,%rdx
14023c645:	0f 87 76 01 00 00    	ja     0x14023c7c1
14023c64b:	48 8d 42 ff          	lea    -0x1(%rdx),%rax
14023c64f:	48 89 5c 24 50       	mov    %rbx,0x50(%rsp)
14023c654:	48 8b 5e 08          	mov    0x8(%rsi),%rbx
14023c658:	48 0b c7             	or     %rdi,%rax
14023c65b:	48 0f bd c8          	bsr    %rax,%rcx
14023c65f:	4c 8b c3             	mov    %rbx,%r8
14023c662:	4c 89 74 24 20       	mov    %r14,0x20(%rsp)
14023c667:	ff c1                	inc    %ecx
14023c669:	48 d3 e7             	shl    %cl,%rdi
14023c66c:	48 8d 4e 18          	lea    0x18(%rsi),%rcx
14023c670:	48 8d 14 3f          	lea    (%rdi,%rdi,1),%rdx
14023c674:	e8 f7 72 fe ff       	call   0x140223970
14023c679:	48 8d 47 ff          	lea    -0x1(%rdi),%rax
14023c67d:	48 89 7e 38          	mov    %rdi,0x38(%rsi)
14023c681:	48 89 46 30          	mov    %rax,0x30(%rsi)
14023c685:	48 8b 46 08          	mov    0x8(%rsi),%rax
14023c689:	48 8b 00             	mov    (%rax),%rax
14023c68c:	48 8b c8             	mov    %rax,%rcx
14023c68f:	48 3b c3             	cmp    %rbx,%rax
14023c692:	0f 84 f2 00 00 00    	je     0x14023c78a
14023c698:	48 89 6c 24 58       	mov    %rbp,0x58(%rsp)
14023c69d:	48 bf b3 01 00 00 00 	movabs $0x100000001b3,%rdi
14023c6a4:	01 00 00
14023c6a7:	48 bd 25 23 22 84 e4 	movabs $0xcbf29ce484222325,%rbp
14023c6ae:	9c f2 cb
14023c6b1:	48 8b 09             	mov    (%rcx),%rcx
14023c6b4:	0f ae e8             	lfence
14023c6b7:	0f b6 50 11          	movzbl 0x11(%rax),%edx
14023c6bb:	44 0f b6 48 10       	movzbl 0x10(%rax),%r9d
14023c6c0:	4c 8b 5e 30          	mov    0x30(%rsi),%r11
14023c6c4:	4c 33 cd             	xor    %rbp,%r9
14023c6c7:	4c 0f af cf          	imul   %rdi,%r9
14023c6cb:	4c 33 ca             	xor    %rdx,%r9
14023c6ce:	0f b6 50 12          	movzbl 0x12(%rax),%edx
14023c6d2:	4c 0f af cf          	imul   %rdi,%r9
14023c6d6:	4c 33 ca             	xor    %rdx,%r9
14023c6d9:	0f b6 50 13          	movzbl 0x13(%rax),%edx
14023c6dd:	4c 0f af cf          	imul   %rdi,%r9
14023c6e1:	4c 33 ca             	xor    %rdx,%r9
14023c6e4:	4c 0f af cf          	imul   %rdi,%r9
14023c6e8:	4d 23 d9             	and    %r9,%r11
14023c6eb:	49 c1 e3 04          	shl    $0x4,%r11
14023c6ef:	4c 03 5e 18          	add    0x18(%rsi),%r11
14023c6f3:	4d 8b 0b             	mov    (%r11),%r9
14023c6f6:	4c 3b cb             	cmp    %rbx,%r9
14023c6f9:	75 09                	jne    0x14023c704
14023c6fb:	49 89 03             	mov    %rax,(%r11)
14023c6fe:	49 89 43 08          	mov    %rax,0x8(%r11)
14023c702:	eb 75                	jmp    0x14023c779
14023c704:	49 8b 53 08          	mov    0x8(%r11),%rdx
14023c708:	44 8b 40 10          	mov    0x10(%rax),%r8d
14023c70c:	44 3b 42 10          	cmp    0x10(%rdx),%r8d
14023c710:	75 2f                	jne    0x14023c741
14023c712:	4c 8b 12             	mov    (%rdx),%r10
14023c715:	4c 3b d0             	cmp    %rax,%r10
14023c718:	74 21                	je     0x14023c73b
14023c71a:	4c 8b 48 08          	mov    0x8(%rax),%r9
14023c71e:	49 89 09             	mov    %rcx,(%r9)
14023c721:	4c 8b 41 08          	mov    0x8(%rcx),%r8
14023c725:	4d 89 10             	mov    %r10,(%r8)
14023c728:	49 8b 52 08          	mov    0x8(%r10),%rdx
14023c72c:	48 89 02             	mov    %rax,(%rdx)
14023c72f:	4d 89 42 08          	mov    %r8,0x8(%r10)
14023c733:	4c 89 49 08          	mov    %r9,0x8(%rcx)
14023c737:	48 89 50 08          	mov    %rdx,0x8(%rax)
14023c73b:	49 89 43 08          	mov    %rax,0x8(%r11)
14023c73f:	eb 38                	jmp    0x14023c779
14023c741:	4c 3b ca             	cmp    %rdx,%r9
14023c744:	74 0f                	je     0x14023c755
14023c746:	48 8b 52 08          	mov    0x8(%rdx),%rdx
14023c74a:	44 3b 42 10          	cmp    0x10(%rdx),%r8d
14023c74e:	74 4b                	je     0x14023c79b
14023c750:	4c 3b ca             	cmp    %rdx,%r9
14023c753:	75 f1                	jne    0x14023c746
14023c755:	4c 8b 50 08          	mov    0x8(%rax),%r10
14023c759:	49 89 0a             	mov    %rcx,(%r10)
14023c75c:	4c 8b 49 08          	mov    0x8(%rcx),%r9
14023c760:	49 89 11             	mov    %rdx,(%r9)
14023c763:	4c 8b 42 08          	mov    0x8(%rdx),%r8
14023c767:	49 89 00             	mov    %rax,(%r8)
14023c76a:	4c 89 4a 08          	mov    %r9,0x8(%rdx)
14023c76e:	4c 89 51 08          	mov    %r10,0x8(%rcx)
14023c772:	4c 89 40 08          	mov    %r8,0x8(%rax)
14023c776:	49 89 03             	mov    %rax,(%r11)
14023c779:	48 8b c1             	mov    %rcx,%rax
14023c77c:	48 3b cb             	cmp    %rbx,%rcx
14023c77f:	0f 85 2c ff ff ff    	jne    0x14023c6b1
14023c785:	48 8b 6c 24 58       	mov    0x58(%rsp),%rbp
14023c78a:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
14023c78f:	4c 8b 74 24 20       	mov    0x20(%rsp),%r14
14023c794:	48 83 c4 28          	add    $0x28,%rsp
14023c798:	5f                   	pop    %rdi
14023c799:	5e                   	pop    %rsi
14023c79a:	c3                   	ret
14023c79b:	4c 8b 12             	mov    (%rdx),%r10
14023c79e:	4c 8b 48 08          	mov    0x8(%rax),%r9
14023c7a2:	49 89 09             	mov    %rcx,(%r9)
14023c7a5:	4c 8b 41 08          	mov    0x8(%rcx),%r8
14023c7a9:	4d 89 10             	mov    %r10,(%r8)
14023c7ac:	49 8b 52 08          	mov    0x8(%r10),%rdx
14023c7b0:	48 89 02             	mov    %rax,(%rdx)
14023c7b3:	4d 89 42 08          	mov    %r8,0x8(%r10)
14023c7b7:	4c 89 49 08          	mov    %r9,0x8(%rcx)
14023c7bb:	48 89 50 08          	mov    %rdx,0x8(%rax)
14023c7bf:	eb b8                	jmp    0x14023c779
14023c7c1:	48 8d 0d 28 1d d7 00 	lea    0xd71d28(%rip),%rcx        # 0x140fae4f0
14023c7c8:	e8 e7 eb bb 00       	call   0x140dfb3b4
14023c7cd:	cc                   	int3
14023c7ce:	cc                   	int3
14023c7cf:	cc                   	int3
14023c7d0:	4c 8b dc             	mov    %rsp,%r11
14023c7d3:	53                   	push   %rbx
14023c7d4:	41 57                	push   %r15
14023c7d6:	48 83 ec 58          	sub    $0x58,%rsp
14023c7da:	48 b8 ff ff ff ff ff 	movabs $0xfffffffffffffff,%rax
14023c7e1:	ff ff 0f
14023c7e4:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
14023c7e9:	4c 8b f9             	mov    %rcx,%r15
14023c7ec:	bb 01 00 00 00       	mov    $0x1,%ebx
14023c7f1:	48 0f bd c8          	bsr    %rax,%rcx
14023c7f5:	8b c3                	mov    %ebx,%eax
14023c7f7:	48 d3 e0             	shl    %cl,%rax
14023c7fa:	48 3b d0             	cmp    %rax,%rdx
14023c7fd:	0f 87 3f 02 00 00    	ja     0x14023ca42
14023c803:	49 89 6b 18          	mov    %rbp,0x18(%r11)
14023c807:	48 8d 42 ff          	lea    -0x1(%rdx),%rax
14023c80b:	49 8b 6f 08          	mov    0x8(%r15),%rbp
14023c80f:	48 0b c3             	or     %rbx,%rax
14023c812:	48 0f bd c8          	bsr    %rax,%rcx
14023c816:	49 89 73 e8          	mov    %rsi,-0x18(%r11)
14023c81a:	4c 8b c5             	mov    %rbp,%r8
14023c81d:	ff c1                	inc    %ecx
14023c81f:	49 89 7b e0          	mov    %rdi,-0x20(%r11)
14023c823:	48 d3 e3             	shl    %cl,%rbx
14023c826:	4d 89 6b d0          	mov    %r13,-0x30(%r11)
14023c82a:	4d 8d 6f 18          	lea    0x18(%r15),%r13
14023c82e:	49 8b cd             	mov    %r13,%rcx
14023c831:	48 8d 14 1b          	lea    (%rbx,%rbx,1),%rdx
14023c835:	e8 36 71 fe ff       	call   0x140223970
14023c83a:	49 89 5f 38          	mov    %rbx,0x38(%r15)
14023c83e:	48 8d 43 ff          	lea    -0x1(%rbx),%rax
14023c842:	49 89 47 30          	mov    %rax,0x30(%r15)
14023c846:	49 8b 7f 08          	mov    0x8(%r15),%rdi
14023c84a:	48 8b 3f             	mov    (%rdi),%rdi
14023c84d:	48 8b f7             	mov    %rdi,%rsi
14023c850:	48 3b fd             	cmp    %rbp,%rdi
14023c853:	0f 84 a4 01 00 00    	je     0x14023c9fd
14023c859:	4c 89 64 24 40       	mov    %r12,0x40(%rsp)
14023c85e:	48 b8 25 23 22 84 e4 	movabs $0xcbf29ce484222325,%rax
14023c865:	9c f2 cb
14023c868:	4c 89 74 24 30       	mov    %r14,0x30(%rsp)
14023c86d:	48 bb b3 01 00 00 00 	movabs $0x100000001b3,%rbx
14023c874:	01 00 00
14023c877:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
14023c87e:	00 00
14023c880:	4c 8b 67 28          	mov    0x28(%rdi),%r12
14023c884:	4c 8d 4f 10          	lea    0x10(%rdi),%r9
14023c888:	48 8b 36             	mov    (%rsi),%rsi
14023c88b:	4c 8b 47 20          	mov    0x20(%rdi),%r8
14023c88f:	49 83 fc 0f          	cmp    $0xf,%r12
14023c893:	76 04                	jbe    0x14023c899
14023c895:	4c 8b 4f 10          	mov    0x10(%rdi),%r9
14023c899:	33 c9                	xor    %ecx,%ecx
14023c89b:	48 8b d0             	mov    %rax,%rdx
14023c89e:	4d 8b d0             	mov    %r8,%r10
14023c8a1:	4d 8b dc             	mov    %r12,%r11
14023c8a4:	4d 85 c0             	test   %r8,%r8
14023c8a7:	74 1b                	je     0x14023c8c4
14023c8a9:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
14023c8b0:	41 0f b6 04 09       	movzbl (%r9,%rcx,1),%eax
14023c8b5:	48 ff c1             	inc    %rcx
14023c8b8:	48 33 d0             	xor    %rax,%rdx
14023c8bb:	48 0f af d3          	imul   %rbx,%rdx
14023c8bf:	49 3b c8             	cmp    %r8,%rcx
14023c8c2:	72 ec                	jb     0x14023c8b0
14023c8c4:	49 8b 45 00          	mov    0x0(%r13),%rax
14023c8c8:	49 8b 4f 30          	mov    0x30(%r15),%rcx
14023c8cc:	48 23 ca             	and    %rdx,%rcx
14023c8cf:	48 c1 e1 04          	shl    $0x4,%rcx
14023c8d3:	48 03 c1             	add    %rcx,%rax
14023c8d6:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
14023c8db:	4c 8b 28             	mov    (%rax),%r13
14023c8de:	4c 3b ed             	cmp    %rbp,%r13
14023c8e1:	75 0c                	jne    0x14023c8ef
14023c8e3:	48 89 38             	mov    %rdi,(%rax)
14023c8e6:	48 89 78 08          	mov    %rdi,0x8(%rax)
14023c8ea:	e9 ea 00 00 00       	jmp    0x14023c9d9
14023c8ef:	48 8b 58 08          	mov    0x8(%rax),%rbx
14023c8f3:	48 83 7b 28 0f       	cmpq   $0xf,0x28(%rbx)
14023c8f8:	48 8d 53 10          	lea    0x10(%rbx),%rdx
14023c8fc:	48 8b 42 10          	mov    0x10(%rdx),%rax
14023c900:	76 03                	jbe    0x14023c905
14023c902:	48 8b 12             	mov    (%rdx),%rdx
14023c905:	48 8d 4f 10          	lea    0x10(%rdi),%rcx
14023c909:	4d 8b f8             	mov    %r8,%r15
14023c90c:	49 83 fc 0f          	cmp    $0xf,%r12
14023c910:	76 0a                	jbe    0x14023c91c