1401fb384:	48 85 db             	test   %rbx,%rbx
1401fb387:	74 6b                	je     0x1401fb3f4
1401fb389:	48 8b 71 08          	mov    0x8(%rcx),%rsi
1401fb38d:	eb 0e                	jmp    0x1401fb39d
1401fb38f:	33 d2                	xor    %edx,%edx
1401fb391:	48 8b cb             	mov    %rbx,%rcx
1401fb394:	e8 13 94 ff ff       	call   0x1401f47ac
1401fb399:	48 83 c3 28          	add    $0x28,%rbx
1401fb39d:	48 3b de             	cmp    %rsi,%rbx
1401fb3a0:	75 ed                	jne    0x1401fb38f
1401fb3a2:	4c 8b 07             	mov    (%rdi),%r8
1401fb3a5:	48 b8 67 66 66 66 66 	movabs $0x6666666666666667,%rax
1401fb3ac:	66 66 66
1401fb3af:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
1401fb3b3:	49 2b c8             	sub    %r8,%rcx
1401fb3b6:	48 f7 e9             	imul   %rcx
1401fb3b9:	48 c1 fa 04          	sar    $0x4,%rdx
1401fb3bd:	48 8b c2             	mov    %rdx,%rax
1401fb3c0:	48 c1 e8 3f          	shr    $0x3f,%rax
1401fb3c4:	48 03 d0             	add    %rax,%rdx
1401fb3c7:	48 8d 04 92          	lea    (%rdx,%rdx,4),%rax
1401fb3cb:	48 c1 e0 03          	shl    $0x3,%rax
1401fb3cf:	48 3d 00 10 00 00    	cmp    $0x1000,%rax
1401fb3d5:	72 14                	jb     0x1401fb3eb
1401fb3d7:	49 8b 48 f8          	mov    -0x8(%r8),%rcx
1401fb3db:	4c 2b c1             	sub    %rcx,%r8
1401fb3de:	49 8d 40 f8          	lea    -0x8(%r8),%rax
1401fb3e2:	48 83 f8 1f          	cmp    $0x1f,%rax
1401fb3e6:	77 41                	ja     0x1401fb429
1401fb3e8:	4c 8b c1             	mov    %rcx,%r8
1401fb3eb:	49 8b c8             	mov    %r8,%rcx
1401fb3ee:	ff 15 4c 77 01 00    	call   *0x1774c(%rip)        # 0x140212b40
1401fb3f4:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
1401fb3f9:	4b 8d 04 a4          	lea    (%r12,%r12,4),%rax
1401fb3fd:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
1401fb402:	49 8d 0c c6          	lea    (%r14,%rax,8),%rcx
1401fb406:	4c 89 37             	mov    %r14,(%rdi)
1401fb409:	4b 8d 04 bf          	lea    (%r15,%r15,4),%rax
1401fb40d:	48 89 4f 08          	mov    %rcx,0x8(%rdi)
1401fb411:	49 8d 0c c6          	lea    (%r14,%rax,8),%rcx
1401fb415:	48 89 4f 10          	mov    %rcx,0x10(%rdi)
1401fb419:	48 8b 7c 24 50       	mov    0x50(%rsp),%rdi
1401fb41e:	48 83 c4 20          	add    $0x20,%rsp
1401fb422:	41 5f                	pop    %r15
1401fb424:	41 5e                	pop    %r14
1401fb426:	41 5c                	pop    %r12
1401fb428:	c3                   	ret
1401fb429:	ff 15 51 77 01 00    	call   *0x17751(%rip)        # 0x140212b80
1401fb42f:	cc                   	int3
1401fb430:	48 83 ec 28          	sub    $0x28,%rsp
1401fb434:	e8 73 8b e1 ff       	call   0x140013fac
1401fb439:	85 c0                	test   %eax,%eax
1401fb43b:	0f 95 c0             	setne  %al
1401fb43e:	48 83 c4 28          	add    $0x28,%rsp
1401fb442:	c3                   	ret
1401fb443:	90                   	nop
1401fb444:	48 3b ca             	cmp    %rdx,%rcx
1401fb447:	74 34                	je     0x1401fb47d
1401fb449:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1401fb44e:	57                   	push   %rdi
1401fb44f:	48 83 ec 20          	sub    $0x20,%rsp
1401fb453:	48 8b fa             	mov    %rdx,%rdi
1401fb456:	48 8b d9             	mov    %rcx,%rbx
1401fb459:	48 8b 03             	mov    (%rbx),%rax
1401fb45c:	33 d2                	xor    %edx,%edx
1401fb45e:	48 8b cb             	mov    %rbx,%rcx
1401fb461:	48 8b 00             	mov    (%rax),%rax
1401fb464:	ff 15 c6 79 01 00    	call   *0x179c6(%rip)        # 0x140212e30
1401fb46a:	48 83 c3 50          	add    $0x50,%rbx
1401fb46e:	48 3b df             	cmp    %rdi,%rbx
1401fb471:	75 e6                	jne    0x1401fb459
1401fb473:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1401fb478:	48 83 c4 20          	add    $0x20,%rsp
1401fb47c:	5f                   	pop    %rdi
1401fb47d:	c3                   	ret
1401fb47e:	90                   	nop
1401fb47f:	90                   	nop
1401fb480:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
1401fb485:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
1401fb48a:	53                   	push   %rbx
1401fb48b:	56                   	push   %rsi
1401fb48c:	57                   	push   %rdi
1401fb48d:	41 54                	push   %r12
1401fb48f:	41 55                	push   %r13
1401fb491:	41 56                	push   %r14
1401fb493:	41 57                	push   %r15
1401fb495:	48 83 ec 30          	sub    $0x30,%rsp
1401fb499:	4c 8b ea             	mov    %rdx,%r13
1401fb49c:	48 8b f1             	mov    %rcx,%rsi
1401fb49f:	4c 8b ca             	mov    %rdx,%r9
1401fb4a2:	4c 2b 09             	sub    (%rcx),%r9
1401fb4a5:	49 ba 67 66 66 66 66 	movabs $0x6666666666666667,%r10
1401fb4ac:	66 66 66
1401fb4af:	49 8b c2             	mov    %r10,%rax
1401fb4b2:	49 f7 e9             	imul   %r9
1401fb4b5:	4c 8b f2             	mov    %rdx,%r14
1401fb4b8:	49 c1 fe 05          	sar    $0x5,%r14
1401fb4bc:	49 8b c6             	mov    %r14,%rax
1401fb4bf:	48 c1 e8 3f          	shr    $0x3f,%rax
1401fb4c3:	4c 03 f0             	add    %rax,%r14
1401fb4c6:	48 8b 49 08          	mov    0x8(%rcx),%rcx
1401fb4ca:	48 2b 0e             	sub    (%rsi),%rcx
1401fb4cd:	49 8b c2             	mov    %r10,%rax
1401fb4d0:	48 f7 e9             	imul   %rcx
1401fb4d3:	48 c1 fa 05          	sar    $0x5,%rdx
1401fb4d7:	48 8b c2             	mov    %rdx,%rax
1401fb4da:	48 c1 e8 3f          	shr    $0x3f,%rax
1401fb4de:	48 03 d0             	add    %rax,%rdx
1401fb4e1:	49 b9 33 33 33 33 33 	movabs $0x333333333333333,%r9
1401fb4e8:	33 33 03
1401fb4eb:	49 3b d1             	cmp    %r9,%rdx
1401fb4ee:	0f 84 13 01 00 00    	je     0x1401fb607
1401fb4f4:	4c 8d 62 01          	lea    0x1(%rdx),%r12
1401fb4f8:	48 8b 4e 10          	mov    0x10(%rsi),%rcx
1401fb4fc:	48 2b 0e             	sub    (%rsi),%rcx
1401fb4ff:	49 8b c2             	mov    %r10,%rax
1401fb502:	48 f7 e9             	imul   %rcx
1401fb505:	48 c1 fa 05          	sar    $0x5,%rdx
1401fb509:	48 8b c2             	mov    %rdx,%rax
1401fb50c:	48 c1 e8 3f          	shr    $0x3f,%rax
1401fb510:	48 03 d0             	add    %rax,%rdx
1401fb513:	48 8b ca             	mov    %rdx,%rcx
1401fb516:	48 d1 e9             	shr    $1,%rcx
1401fb519:	49 8b c1             	mov    %r9,%rax
1401fb51c:	48 2b c1             	sub    %rcx,%rax
1401fb51f:	48 3b d0             	cmp    %rax,%rdx
1401fb522:	76 05                	jbe    0x1401fb529
1401fb524:	49 8b f9             	mov    %r9,%rdi
1401fb527:	eb 0b                	jmp    0x1401fb534
1401fb529:	48 8d 3c 0a          	lea    (%rdx,%rcx,1),%rdi
1401fb52d:	49 3b fc             	cmp    %r12,%rdi
1401fb530:	49 0f 42 fc          	cmovb  %r12,%rdi
1401fb534:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
1401fb539:	49 3b f9             	cmp    %r9,%rdi
1401fb53c:	0f 87 cb 00 00 00    	ja     0x1401fb60d
1401fb542:	48 8d 0c bf          	lea    (%rdi,%rdi,4),%rcx
1401fb546:	48 c1 e1 04          	shl    $0x4,%rcx
1401fb54a:	33 db                	xor    %ebx,%ebx
1401fb54c:	48 85 c9             	test   %rcx,%rcx
1401fb54f:	75 07                	jne    0x1401fb558
1401fb551:	48 89 5c 24 78       	mov    %rbx,0x78(%rsp)
1401fb556:	eb 1e                	jmp    0x1401fb576
1401fb558:	48 81 f9 00 10 00 00 	cmp    $0x1000,%rcx
1401fb55f:	72 4d                	jb     0x1401fb5ae
1401fb561:	e8 ee a2 e0 ff       	call   0x140005854
1401fb566:	4c 8b 84 24 80 00 00 	mov    0x80(%rsp),%r8
1401fb56d:	00
1401fb56e:	48 89 44 24 78       	mov    %rax,0x78(%rsp)
1401fb573:	48 8b d8             	mov    %rax,%rbx
1401fb576:	4f 8d 34 b6          	lea    (%r14,%r14,4),%r14
1401fb57a:	49 c1 e6 04          	shl    $0x4,%r14
1401fb57e:	4c 03 f3             	add    %rbx,%r14
1401fb581:	4d 8d 7e 50          	lea    0x50(%r14),%r15
1401fb585:	4c 89 7c 24 28       	mov    %r15,0x28(%rsp)
1401fb58a:	49 8b d0             	mov    %r8,%rdx
1401fb58d:	49 8b ce             	mov    %r14,%rcx
1401fb590:	e8 c7 90 ff ff       	call   0x1401f465c
1401fb595:	4c 89 b4 24 88 00 00 	mov    %r14,0x88(%rsp)
1401fb59c:	00
1401fb59d:	48 8b 56 08          	mov    0x8(%rsi),%rdx
1401fb5a1:	48 8b 0e             	mov    (%rsi),%rcx
1401fb5a4:	4c 3b ea             	cmp    %rdx,%r13
1401fb5a7:	75 12                	jne    0x1401fb5bb
1401fb5a9:	4c 8b fb             	mov    %rbx,%r15
1401fb5ac:	eb 2a                	jmp    0x1401fb5d8
1401fb5ae:	ff 15 9c 75 01 00    	call   *0x1759c(%rip)        # 0x140212b50
1401fb5b4:	48 85 c0             	test   %rax,%rax
1401fb5b7:	74 5a                	je     0x1401fb613
1401fb5b9:	eb ab                	jmp    0x1401fb566
1401fb5bb:	4c 8b ce             	mov    %rsi,%r9
1401fb5be:	4c 8b c3             	mov    %rbx,%r8
1401fb5c1:	49 8b d5             	mov    %r13,%rdx
1401fb5c4:	e8 13 05 00 00       	call   0x1401fbadc
1401fb5c9:	48 89 9c 24 88 00 00 	mov    %rbx,0x88(%rsp)
1401fb5d0:	00
1401fb5d1:	49 8b cd             	mov    %r13,%rcx
1401fb5d4:	48 8b 56 08          	mov    0x8(%rsi),%rdx
1401fb5d8:	4c 8b ce             	mov    %rsi,%r9
1401fb5db:	4d 8b c7             	mov    %r15,%r8
1401fb5de:	e8 f9 04 00 00       	call   0x1401fbadc
1401fb5e3:	4c 8b cf             	mov    %rdi,%r9
1401fb5e6:	4d 8b c4             	mov    %r12,%r8
1401fb5e9:	48 8b d3             	mov    %rbx,%rdx
1401fb5ec:	48 8b ce             	mov    %rsi,%rcx
1401fb5ef:	e8 a4 20 00 00       	call   0x1401fd698
1401fb5f4:	49 8b c6             	mov    %r14,%rax
1401fb5f7:	48 83 c4 30          	add    $0x30,%rsp
1401fb5fb:	41 5f                	pop    %r15
1401fb5fd:	41 5e                	pop    %r14
1401fb5ff:	41 5d                	pop    %r13
1401fb601:	41 5c                	pop    %r12
1401fb603:	5f                   	pop    %rdi
1401fb604:	5e                   	pop    %rsi
1401fb605:	5b                   	pop    %rbx
1401fb606:	c3                   	ret
1401fb607:	e8 cc 22 ff ff       	call   0x1401ed8d8
1401fb60c:	cc                   	int3
1401fb60d:	e8 5a a3 e0 ff       	call   0x14000596c
1401fb612:	cc                   	int3
1401fb613:	e8 a0 a5 00 00       	call   0x140205bb8
1401fb618:	cc                   	int3
1401fb619:	90                   	nop
1401fb61a:	90                   	nop
1401fb61b:	90                   	nop
1401fb61c:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1401fb621:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
1401fb626:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1401fb62b:	57                   	push   %rdi
1401fb62c:	48 83 ec 20          	sub    $0x20,%rsp
1401fb630:	49 8b e8             	mov    %r8,%rbp
1401fb633:	48 8b f2             	mov    %rdx,%rsi
1401fb636:	48 8b d9             	mov    %rcx,%rbx
1401fb639:	48 3b ca             	cmp    %rdx,%rcx
1401fb63c:	74 4a                	je     0x1401fb688
1401fb63e:	48 8d 79 28          	lea    0x28(%rcx),%rdi
1401fb642:	8b 45 08             	mov    0x8(%rbp),%eax
1401fb645:	39 47 e0             	cmp    %eax,-0x20(%rdi)
1401fb648:	75 31                	jne    0x1401fb67b
1401fb64a:	48 8d 55 10          	lea    0x10(%rbp),%rdx
1401fb64e:	48 83 7a 18 07       	cmpq   $0x7,0x18(%rdx)
1401fb653:	48 8b 42 10          	mov    0x10(%rdx),%rax
1401fb657:	76 03                	jbe    0x1401fb65c
1401fb659:	48 8b 12             	mov    (%rdx),%rdx
1401fb65c:	48 83 3f 07          	cmpq   $0x7,(%rdi)
1401fb660:	48 8d 4f e8          	lea    -0x18(%rdi),%rcx
1401fb664:	4c 8b 47 f8          	mov    -0x8(%rdi),%r8
1401fb668:	76 03                	jbe    0x1401fb66d
1401fb66a:	48 8b 09             	mov    (%rcx),%rcx
1401fb66d:	4c 3b c0             	cmp    %rax,%r8
1401fb670:	75 09                	jne    0x1401fb67b
1401fb672:	e8 55 d5 e0 ff       	call   0x140008bcc
1401fb677:	85 c0                	test   %eax,%eax
1401fb679:	74 0d                	je     0x1401fb688
1401fb67b:	48 83 c3 50          	add    $0x50,%rbx
1401fb67f:	48 83 c7 50          	add    $0x50,%rdi
1401fb683:	48 3b de             	cmp    %rsi,%rbx
1401fb686:	75 ba                	jne    0x1401fb642
1401fb688:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
1401fb68d:	48 8b c3             	mov    %rbx,%rax
1401fb690:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1401fb695:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
1401fb69a:	48 83 c4 20          	add    $0x20,%rsp
1401fb69e:	5f                   	pop    %rdi
1401fb69f:	c3                   	ret
1401fb6a0:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
1401fb6a5:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
1401fb6aa:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
1401fb6af:	53                   	push   %rbx
1401fb6b0:	56                   	push   %rsi
1401fb6b1:	57                   	push   %rdi
1401fb6b2:	41 54                	push   %r12
1401fb6b4:	41 55                	push   %r13
1401fb6b6:	41 56                	push   %r14
1401fb6b8:	41 57                	push   %r15
1401fb6ba:	48 83 ec 30          	sub    $0x30,%rsp
1401fb6be:	4d 8b f9             	mov    %r9,%r15
1401fb6c1:	49 8b d8             	mov    %r8,%rbx
1401fb6c4:	48 8b fa             	mov    %rdx,%rdi
1401fb6c7:	4c 8b e9             	mov    %rcx,%r13
1401fb6ca:	4c 8d 41 08          	lea    0x8(%rcx),%r8
1401fb6ce:	4c 89 44 24 20       	mov    %r8,0x20(%rsp)
1401fb6d3:	48 8b 31             	mov    (%rcx),%rsi
1401fb6d6:	4d 8b 30             	mov    (%r8),%r14
1401fb6d9:	4c 89 74 24 28       	mov    %r14,0x28(%rsp)
1401fb6de:	48 8b 51 10          	mov    0x10(%rcx),%rdx
1401fb6e2:	48 8b c2             	mov    %rdx,%rax
1401fb6e5:	49 2b c6             	sub    %r14,%rax
1401fb6e8:	48 c1 f8 03          	sar    $0x3,%rax
1401fb6ec:	4d 85 c9             	test   %r9,%r9
1401fb6ef:	0f 84 86 01 00 00    	je     0x1401fb87b
1401fb6f5:	4c 3b c8             	cmp    %rax,%r9
1401fb6f8:	0f 86 8d 01 00 00    	jbe    0x1401fb88b
1401fb6fe:	49 8b ce             	mov    %r14,%rcx
1401fb701:	48 2b ce             	sub    %rsi,%rcx
1401fb704:	48 c1 f9 03          	sar    $0x3,%rcx
1401fb708:	49 b8 ff ff ff ff ff 	movabs $0x1fffffffffffffff,%r8
1401fb70f:	ff ff 1f
1401fb712:	49 8b c0             	mov    %r8,%rax
1401fb715:	48 2b c1             	sub    %rcx,%rax
1401fb718:	4c 3b c8             	cmp    %rax,%r9
1401fb71b:	0f 87 9d 02 00 00    	ja     0x1401fb9be
1401fb721:	4e 8d 1c 09          	lea    (%rcx,%r9,1),%r11
1401fb725:	4c 89 9c 24 88 00 00 	mov    %r11,0x88(%rsp)
1401fb72c:	00
1401fb72d:	48 2b d6             	sub    %rsi,%rdx
1401fb730:	48 c1 fa 03          	sar    $0x3,%rdx
1401fb734:	48 8b ca             	mov    %rdx,%rcx
1401fb737:	48 d1 e9             	shr    $1,%rcx
1401fb73a:	49 8b c0             	mov    %r8,%rax
1401fb73d:	48 2b c1             	sub    %rcx,%rax
1401fb740:	48 3b d0             	cmp    %rax,%rdx
1401fb743:	76 05                	jbe    0x1401fb74a
1401fb745:	4d 8b e0             	mov    %r8,%r12
1401fb748:	eb 0b                	jmp    0x1401fb755
1401fb74a:	4c 8d 24 11          	lea    (%rcx,%rdx,1),%r12
1401fb74e:	4d 3b e3             	cmp    %r11,%r12
1401fb751:	4d 0f 42 e3          	cmovb  %r11,%r12
1401fb755:	4c 89 64 24 20       	mov    %r12,0x20(%rsp)
1401fb75a:	4d 3b e0             	cmp    %r8,%r12
1401fb75d:	0f 87 61 02 00 00    	ja     0x1401fb9c4
1401fb763:	4a 8d 0c e5 00 00 00 	lea    0x0(,%r12,8),%rcx
1401fb76a:	00
1401fb76b:	48 85 c9             	test   %rcx,%rcx
1401fb76e:	75 09                	jne    0x1401fb779
1401fb770:	33 d2                	xor    %edx,%edx
1401fb772:	48 89 54 24 78       	mov    %rdx,0x78(%rsp)
1401fb777:	eb 22                	jmp    0x1401fb79b
1401fb779:	48 81 f9 00 10 00 00 	cmp    $0x1000,%rcx
1401fb780:	0f 82 8a 00 00 00    	jb     0x1401fb810
1401fb786:	e8 c9 a0 e0 ff       	call   0x140005854
1401fb78b:	48 8b d0             	mov    %rax,%rdx
1401fb78e:	4c 8b 9c 24 88 00 00 	mov    0x88(%rsp),%r11
1401fb795:	00
1401fb796:	48 89 44 24 78       	mov    %rax,0x78(%rsp)
1401fb79b:	4c 8b c7             	mov    %rdi,%r8
1401fb79e:	4c 2b c6             	sub    %rsi,%r8
1401fb7a1:	49 c1 f8 03          	sar    $0x3,%r8
1401fb7a5:	4b 8d 04 38          	lea    (%r8,%r15,1),%rax
1401fb7a9:	48 8d 0c c5 00 00 00 	lea    0x0(,%rax,8),%rcx
1401fb7b0:	00
1401fb7b1:	48 8d 04 0a          	lea    (%rdx,%rcx,1),%rax
1401fb7b5:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
1401fb7ba:	4e 8d 14 c2          	lea    (%rdx,%r8,8),%r10
1401fb7be:	4d 8b cf             	mov    %r15,%r9
1401fb7c1:	4d 8b c2             	mov    %r10,%r8
1401fb7c4:	4c 2b c3             	sub    %rbx,%r8
1401fb7c7:	48 8b 03             	mov    (%rbx),%rax
1401fb7ca:	48 83 23 00          	andq   $0x0,(%rbx)
1401fb7ce:	49 89 04 18          	mov    %rax,(%r8,%rbx,1)
1401fb7d2:	48 8d 5b 08          	lea    0x8(%rbx),%rbx
1401fb7d6:	49 83 e9 01          	sub    $0x1,%r9
1401fb7da:	75 eb                	jne    0x1401fb7c7
1401fb7dc:	4c 89 94 24 88 00 00 	mov    %r10,0x88(%rsp)
1401fb7e3:	00
1401fb7e4:	49 83 ff 01          	cmp    $0x1,%r15
1401fb7e8:	75 3d                	jne    0x1401fb827
1401fb7ea:	49 3b fe             	cmp    %r14,%rdi
1401fb7ed:	75 38                	jne    0x1401fb827
1401fb7ef:	49 3b f6             	cmp    %r14,%rsi
1401fb7f2:	74 79                	je     0x1401fb86d
1401fb7f4:	48 8b ca             	mov    %rdx,%rcx
1401fb7f7:	48 2b ce             	sub    %rsi,%rcx
1401fb7fa:	48 8b 06             	mov    (%rsi),%rax
1401fb7fd:	48 83 26 00          	andq   $0x0,(%rsi)
1401fb801:	48 89 04 0e          	mov    %rax,(%rsi,%rcx,1)
1401fb805:	48 83 c6 08          	add    $0x8,%rsi
1401fb809:	49 3b f6             	cmp    %r14,%rsi
1401fb80c:	75 ec                	jne    0x1401fb7fa
1401fb80e:	eb 5d                	jmp    0x1401fb86d
1401fb810:	ff 15 3a 73 01 00    	call   *0x1733a(%rip)        # 0x140212b50