1400373e9:	48 85 c0             	test   %rax,%rax
1400373ec:	75 96                	jne    0x140037384
1400373ee:	ff 15 a4 50 ad 00    	call   *0xad50a4(%rip)        # 0x140b0c498
1400373f4:	90                   	nop
1400373f5:	4d 8b c4             	mov    %r12,%r8
1400373f8:	4c 2b 06             	sub    (%rsi),%r8
1400373fb:	e8 66 90 ab 00       	call   0x140af0466
140037400:	49 8d 4f 10          	lea    0x10(%r15),%rcx
140037404:	4c 8b 46 08          	mov    0x8(%rsi),%r8
140037408:	4d 2b c4             	sub    %r12,%r8
14003740b:	49 8b d4             	mov    %r12,%rdx
14003740e:	e8 53 90 ab 00       	call   0x140af0466
140037413:	48 8b 0e             	mov    (%rsi),%rcx
140037416:	48 85 c9             	test   %rcx,%rcx
140037419:	74 2d                	je     0x140037448
14003741b:	48 8b 46 10          	mov    0x10(%rsi),%rax
14003741f:	48 2b c1             	sub    %rcx,%rax
140037422:	48 83 e0 f0          	and    $0xfffffffffffffff0,%rax
140037426:	48 3d 00 10 00 00    	cmp    $0x1000,%rax
14003742c:	72 14                	jb     0x140037442
14003742e:	48 8b 51 f8          	mov    -0x8(%rcx),%rdx
140037432:	48 2b ca             	sub    %rdx,%rcx
140037435:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
140037439:	48 83 f8 1f          	cmp    $0x1f,%rax
14003743d:	77 3a                	ja     0x140037479
14003743f:	48 8b ca             	mov    %rdx,%rcx
140037442:	ff 15 78 54 ad 00    	call   *0xad5478(%rip)        # 0x140b0c8c0
140037448:	48 89 3e             	mov    %rdi,(%rsi)
14003744b:	49 c1 e6 04          	shl    $0x4,%r14
14003744f:	4c 03 f7             	add    %rdi,%r14
140037452:	4c 89 76 08          	mov    %r14,0x8(%rsi)
140037456:	48 8d 0c 1f          	lea    (%rdi,%rbx,1),%rcx
14003745a:	48 89 4e 10          	mov    %rcx,0x10(%rsi)
14003745e:	49 8b c7             	mov    %r15,%rax
140037461:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
140037466:	48 8b 74 24 68       	mov    0x68(%rsp),%rsi
14003746b:	48 83 c4 20          	add    $0x20,%rsp
14003746f:	41 5f                	pop    %r15
140037471:	41 5e                	pop    %r14
140037473:	41 5d                	pop    %r13
140037475:	41 5c                	pop    %r12
140037477:	5f                   	pop    %rdi
140037478:	c3                   	ret
140037479:	ff 15 19 55 ad 00    	call   *0xad5519(%rip)        # 0x140b0c998
14003747f:	cc                   	int3
140037480:	e8 4b c8 fc ff       	call   0x140003cd0
140037485:	cc                   	int3
140037486:	e8 dd 48 fe ff       	call   0x14001bd68
14003748b:	cc                   	int3
14003748c:	90                   	nop
14003748d:	90                   	nop
14003748e:	90                   	nop
14003748f:	90                   	nop
140037490:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
140037495:	53                   	push   %rbx
140037496:	56                   	push   %rsi
140037497:	57                   	push   %rdi
140037498:	41 54                	push   %r12
14003749a:	41 55                	push   %r13
14003749c:	41 56                	push   %r14
14003749e:	41 57                	push   %r15
1400374a0:	48 83 ec 40          	sub    $0x40,%rsp
1400374a4:	4c 8b ea             	mov    %rdx,%r13
1400374a7:	48 8b f9             	mov    %rcx,%rdi
1400374aa:	4c 8b ca             	mov    %rdx,%r9
1400374ad:	4c 2b 09             	sub    (%rcx),%r9
1400374b0:	48 b8 67 66 66 66 66 	movabs $0x6666666666666667,%rax
1400374b7:	66 66 66
1400374ba:	49 f7 e9             	imul   %r9
1400374bd:	48 8b f2             	mov    %rdx,%rsi
1400374c0:	48 c1 fe 04          	sar    $0x4,%rsi
1400374c4:	48 8b c6             	mov    %rsi,%rax
1400374c7:	48 c1 e8 3f          	shr    $0x3f,%rax
1400374cb:	48 03 f0             	add    %rax,%rsi
1400374ce:	48 8b 41 08          	mov    0x8(%rcx),%rax
1400374d2:	48 2b 01             	sub    (%rcx),%rax
1400374d5:	48 c1 f8 03          	sar    $0x3,%rax
1400374d9:	48 ba cd cc cc cc cc 	movabs $0xcccccccccccccccd,%rdx
1400374e0:	cc cc cc
1400374e3:	48 0f af c2          	imul   %rdx,%rax
1400374e7:	49 ba 66 66 66 66 66 	movabs $0x666666666666666,%r10
1400374ee:	66 66 06
1400374f1:	49 3b c2             	cmp    %r10,%rax
1400374f4:	0f 84 ed 02 00 00    	je     0x1400377e7
1400374fa:	4c 8d 48 01          	lea    0x1(%rax),%r9
1400374fe:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
140037503:	48 8b 49 10          	mov    0x10(%rcx),%rcx
140037507:	48 2b 0f             	sub    (%rdi),%rcx
14003750a:	48 c1 f9 03          	sar    $0x3,%rcx
14003750e:	48 0f af ca          	imul   %rdx,%rcx
140037512:	48 8b d1             	mov    %rcx,%rdx
140037515:	48 d1 ea             	shr    $1,%rdx
140037518:	49 8b c2             	mov    %r10,%rax
14003751b:	48 2b c2             	sub    %rdx,%rax
14003751e:	48 3b c8             	cmp    %rax,%rcx
140037521:	76 05                	jbe    0x140037528
140037523:	49 8b c2             	mov    %r10,%rax
140037526:	eb 0b                	jmp    0x140037533
140037528:	48 8d 04 11          	lea    (%rcx,%rdx,1),%rax
14003752c:	49 3b c1             	cmp    %r9,%rax
14003752f:	49 0f 42 c1          	cmovb  %r9,%rax
140037533:	48 89 84 24 98 00 00 	mov    %rax,0x98(%rsp)
14003753a:	00
14003753b:	49 3b c2             	cmp    %r10,%rax
14003753e:	0f 87 9d 02 00 00    	ja     0x1400377e1
140037544:	48 8d 04 80          	lea    (%rax,%rax,4),%rax
140037548:	4c 8d 3c c5 00 00 00 	lea    0x0(,%rax,8),%r15
14003754f:	00
140037550:	4d 85 ff             	test   %r15,%r15
140037553:	75 0c                	jne    0x140037561
140037555:	33 db                	xor    %ebx,%ebx
140037557:	48 89 9c 24 88 00 00 	mov    %rbx,0x88(%rsp)
14003755e:	00
14003755f:	eb 5f                	jmp    0x1400375c0
140037561:	49 81 ff 00 10 00 00 	cmp    $0x1000,%r15
140037568:	72 2e                	jb     0x140037598
14003756a:	49 8d 4f 27          	lea    0x27(%r15),%rcx
14003756e:	49 3b cf             	cmp    %r15,%rcx
140037571:	0f 86 6a 02 00 00    	jbe    0x1400377e1
140037577:	ff 15 4b 53 ad 00    	call   *0xad534b(%rip)        # 0x140b0c8c8
14003757d:	48 85 c0             	test   %rax,%rax
140037580:	74 27                	je     0x1400375a9
140037582:	48 8d 58 27          	lea    0x27(%rax),%rbx
140037586:	48 83 e3 e0          	and    $0xffffffffffffffe0,%rbx
14003758a:	48 89 43 f8          	mov    %rax,-0x8(%rbx)
14003758e:	48 89 9c 24 88 00 00 	mov    %rbx,0x88(%rsp)
140037595:	00
140037596:	eb 20                	jmp    0x1400375b8
140037598:	49 8b cf             	mov    %r15,%rcx
14003759b:	ff 15 27 53 ad 00    	call   *0xad5327(%rip)        # 0x140b0c8c8
1400375a1:	48 8b d8             	mov    %rax,%rbx
1400375a4:	48 85 c0             	test   %rax,%rax
1400375a7:	75 07                	jne    0x1400375b0
1400375a9:	ff 15 e9 4e ad 00    	call   *0xad4ee9(%rip)        # 0x140b0c498
1400375af:	cc                   	int3
1400375b0:	48 89 84 24 88 00 00 	mov    %rax,0x88(%rsp)
1400375b7:	00
1400375b8:	4c 8b 84 24 90 00 00 	mov    0x90(%rsp),%r8
1400375bf:	00
1400375c0:	48 8d 04 b6          	lea    (%rsi,%rsi,4),%rax
1400375c4:	48 8d 34 c5 00 00 00 	lea    0x0(,%rax,8),%rsi
1400375cb:	00
1400375cc:	4c 8d 24 1e          	lea    (%rsi,%rbx,1),%r12
1400375d0:	4c 89 64 24 28       	mov    %r12,0x28(%rsp)
1400375d5:	4d 8d 74 24 28       	lea    0x28(%r12),%r14
1400375da:	4c 89 74 24 30       	mov    %r14,0x30(%rsp)
1400375df:	4c 89 b4 24 80 00 00 	mov    %r14,0x80(%rsp)
1400375e6:	00
1400375e7:	49 8b 00             	mov    (%r8),%rax
1400375ea:	49 89 04 24          	mov    %rax,(%r12)
1400375ee:	49 8b 40 08          	mov    0x8(%r8),%rax
1400375f2:	49 89 44 24 08       	mov    %rax,0x8(%r12)
1400375f7:	49 8d 4c 24 10       	lea    0x10(%r12),%rcx
1400375fc:	49 8d 50 10          	lea    0x10(%r8),%rdx
140037600:	e8 27 04 00 00       	call   0x140037a2c
140037605:	4c 89 a4 24 80 00 00 	mov    %r12,0x80(%rsp)
14003760c:	00
14003760d:	4c 8b 67 08          	mov    0x8(%rdi),%r12
140037611:	4c 8b 0f             	mov    (%rdi),%r9
140037614:	4d 3b ec             	cmp    %r12,%r13
140037617:	75 5f                	jne    0x140037678
140037619:	48 8b cb             	mov    %rbx,%rcx
14003761c:	4d 3b cc             	cmp    %r12,%r9
14003761f:	74 4f                	je     0x140037670
140037621:	4c 8d 5b 20          	lea    0x20(%rbx),%r11
140037625:	4d 8d 51 18          	lea    0x18(%r9),%r10
140037629:	49 8b 01             	mov    (%r9),%rax
14003762c:	48 89 01             	mov    %rax,(%rcx)
14003762f:	49 8b 42 f0          	mov    -0x10(%r10),%rax
140037633:	49 89 43 e8          	mov    %rax,-0x18(%r11)
140037637:	4d 8b 42 08          	mov    0x8(%r10),%r8
14003763b:	49 83 62 08 00       	andq   $0x0,0x8(%r10)
140037640:	49 8b 12             	mov    (%r10),%rdx
140037643:	49 83 22 00          	andq   $0x0,(%r10)
140037647:	49 8b 42 f8          	mov    -0x8(%r10),%rax
14003764b:	49 83 62 f8 00       	andq   $0x0,-0x8(%r10)
140037650:	49 89 43 f0          	mov    %rax,-0x10(%r11)
140037654:	49 89 53 f8          	mov    %rdx,-0x8(%r11)
140037658:	4d 89 03             	mov    %r8,(%r11)
14003765b:	48 83 c1 28          	add    $0x28,%rcx
14003765f:	4d 8d 5b 28          	lea    0x28(%r11),%r11
140037663:	49 83 c1 28          	add    $0x28,%r9
140037667:	4d 8d 52 28          	lea    0x28(%r10),%r10
14003766b:	4d 3b cc             	cmp    %r12,%r9
14003766e:	75 b9                	jne    0x140037629
140037670:	48 8b d1             	mov    %rcx,%rdx
140037673:	e9 d5 00 00 00       	jmp    0x14003774d
140037678:	4c 8b d3             	mov    %rbx,%r10
14003767b:	45 33 e4             	xor    %r12d,%r12d
14003767e:	4d 3b cd             	cmp    %r13,%r9
140037681:	74 4c                	je     0x1400376cf
140037683:	4c 8d 5b 20          	lea    0x20(%rbx),%r11
140037687:	4d 8d 41 18          	lea    0x18(%r9),%r8
14003768b:	49 8b 01             	mov    (%r9),%rax
14003768e:	49 89 02             	mov    %rax,(%r10)
140037691:	49 8b 40 f0          	mov    -0x10(%r8),%rax
140037695:	49 89 43 e8          	mov    %rax,-0x18(%r11)
140037699:	49 8b 50 08          	mov    0x8(%r8),%rdx
14003769d:	4d 89 60 08          	mov    %r12,0x8(%r8)
1400376a1:	49 8b 08             	mov    (%r8),%rcx
1400376a4:	4d 89 20             	mov    %r12,(%r8)
1400376a7:	49 8b 40 f8          	mov    -0x8(%r8),%rax
1400376ab:	4d 89 60 f8          	mov    %r12,-0x8(%r8)
1400376af:	49 89 43 f0          	mov    %rax,-0x10(%r11)
1400376b3:	49 89 4b f8          	mov    %rcx,-0x8(%r11)
1400376b7:	49 89 13             	mov    %rdx,(%r11)
1400376ba:	49 83 c2 28          	add    $0x28,%r10
1400376be:	4d 8d 5b 28          	lea    0x28(%r11),%r11
1400376c2:	49 83 c1 28          	add    $0x28,%r9
1400376c6:	4d 8d 40 28          	lea    0x28(%r8),%r8
1400376ca:	4d 3b cd             	cmp    %r13,%r9
1400376cd:	75 bc                	jne    0x14003768b
1400376cf:	49 8b d2             	mov    %r10,%rdx
1400376d2:	49 8b ca             	mov    %r10,%rcx
1400376d5:	e8 76 6c fe ff       	call   0x14001e350
1400376da:	48 89 9c 24 80 00 00 	mov    %rbx,0x80(%rsp)
1400376e1:	00
1400376e2:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
1400376e6:	4c 3b e9             	cmp    %rcx,%r13
1400376e9:	74 5c                	je     0x140037747
1400376eb:	4d 8b ce             	mov    %r14,%r9
1400376ee:	4c 2b ce             	sub    %rsi,%r9
1400376f1:	4c 2b cb             	sub    %rbx,%r9
1400376f4:	49 83 c1 f0          	add    $0xfffffffffffffff0,%r9
1400376f8:	4d 03 cd             	add    %r13,%r9
1400376fb:	49 2b f5             	sub    %r13,%rsi
1400376fe:	48 03 f3             	add    %rbx,%rsi
140037701:	49 8b 41 e8          	mov    -0x18(%r9),%rax
140037705:	49 89 06             	mov    %rax,(%r14)
140037708:	49 8b 41 f0          	mov    -0x10(%r9),%rax
14003770c:	4a 89 44 0e 18       	mov    %rax,0x18(%rsi,%r9,1)
140037711:	4d 8b 41 08          	mov    0x8(%r9),%r8
140037715:	4d 89 61 08          	mov    %r12,0x8(%r9)
140037719:	49 8b 11             	mov    (%r9),%rdx
14003771c:	4d 89 21             	mov    %r12,(%r9)
14003771f:	49 8b 41 f8          	mov    -0x8(%r9),%rax
140037723:	4d 89 61 f8          	mov    %r12,-0x8(%r9)
140037727:	4a 89 44 0e 20       	mov    %rax,0x20(%rsi,%r9,1)
14003772c:	4a 89 54 0e 28       	mov    %rdx,0x28(%rsi,%r9,1)
140037731:	4e 89 44 0e 30       	mov    %r8,0x30(%rsi,%r9,1)
140037736:	49 83 c6 28          	add    $0x28,%r14
14003773a:	4d 8d 49 28          	lea    0x28(%r9),%r9
14003773e:	49 8d 41 e8          	lea    -0x18(%r9),%rax
140037742:	48 3b c1             	cmp    %rcx,%rax
140037745:	75 ba                	jne    0x140037701
140037747:	49 8b d6             	mov    %r14,%rdx
14003774a:	49 8b ce             	mov    %r14,%rcx
14003774d:	e8 fe 6b fe ff       	call   0x14001e350
140037752:	48 8b 0f             	mov    (%rdi),%rcx
140037755:	48 85 c9             	test   %rcx,%rcx
140037758:	74 4f                	je     0x1400377a9
14003775a:	48 8b 57 08          	mov    0x8(%rdi),%rdx
14003775e:	e8 ed 6b fe ff       	call   0x14001e350
140037763:	48 8b 0f             	mov    (%rdi),%rcx
140037766:	48 8b 47 10          	mov    0x10(%rdi),%rax
14003776a:	48 2b c1             	sub    %rcx,%rax
14003776d:	48 c1 f8 03          	sar    $0x3,%rax
140037771:	48 ba cd cc cc cc cc 	movabs $0xcccccccccccccccd,%rdx
140037778:	cc cc cc
14003777b:	48 0f af c2          	imul   %rdx,%rax
14003777f:	48 8d 04 80          	lea    (%rax,%rax,4),%rax
140037783:	48 c1 e0 03          	shl    $0x3,%rax
140037787:	48 3d 00 10 00 00    	cmp    $0x1000,%rax
14003778d:	72 14                	jb     0x1400377a3
14003778f:	48 8b 51 f8          	mov    -0x8(%rcx),%rdx
140037793:	48 2b ca             	sub    %rdx,%rcx
140037796:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
14003779a:	48 83 f8 1f          	cmp    $0x1f,%rax
14003779e:	77 3a                	ja     0x1400377da
1400377a0:	48 8b ca             	mov    %rdx,%rcx
1400377a3:	ff 15 17 51 ad 00    	call   *0xad5117(%rip)        # 0x140b0c8c0
1400377a9:	48 89 1f             	mov    %rbx,(%rdi)
1400377ac:	48 8b 44 24 20       	mov    0x20(%rsp),%rax
1400377b1:	48 8d 0c 80          	lea    (%rax,%rax,4),%rcx
1400377b5:	48 8d 14 cb          	lea    (%rbx,%rcx,8),%rdx
1400377b9:	48 89 57 08          	mov    %rdx,0x8(%rdi)
1400377bd:	4a 8d 0c 3b          	lea    (%rbx,%r15,1),%rcx
1400377c1:	48 89 4f 10          	mov    %rcx,0x10(%rdi)
1400377c5:	48 8b 44 24 28       	mov    0x28(%rsp),%rax
1400377ca:	48 83 c4 40          	add    $0x40,%rsp
1400377ce:	41 5f                	pop    %r15
1400377d0:	41 5e                	pop    %r14
1400377d2:	41 5d                	pop    %r13
1400377d4:	41 5c                	pop    %r12
1400377d6:	5f                   	pop    %rdi
1400377d7:	5e                   	pop    %rsi
1400377d8:	5b                   	pop    %rbx
1400377d9:	c3                   	ret
1400377da:	ff 15 b8 51 ad 00    	call   *0xad51b8(%rip)        # 0x140b0c998
1400377e0:	cc                   	int3
1400377e1:	e8 ea c4 fc ff       	call   0x140003cd0
1400377e6:	cc                   	int3
1400377e7:	e8 7c 45 fe ff       	call   0x14001bd68
1400377ec:	cc                   	int3
1400377ed:	90                   	nop
1400377ee:	90                   	nop
1400377ef:	90                   	nop
1400377f0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1400377f5:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
1400377fa:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1400377ff:	57                   	push   %rdi
140037800:	48 83 ec 20          	sub    $0x20,%rsp
140037804:	41 80 78 19 00       	cmpb   $0x0,0x19(%r8)
140037809:	49 8b d8             	mov    %r8,%rbx
14003780c:	48 8b f2             	mov    %rdx,%rsi
14003780f:	48 8b e9             	mov    %rcx,%rbp
140037812:	75 69                	jne    0x14003787d
140037814:	4c 8b 43 10          	mov    0x10(%rbx),%r8
140037818:	48 8b d6             	mov    %rsi,%rdx
14003781b:	48 8b cd             	mov    %rbp,%rcx
14003781e:	e8 cd ff ff ff       	call   0x1400377f0
140037823:	48 8b fb             	mov    %rbx,%rdi
140037826:	48 8b 1b             	mov    (%rbx),%rbx
140037829:	48 8b 4f 28          	mov    0x28(%rdi),%rcx
14003782d:	48 85 c9             	test   %rcx,%rcx
140037830:	74 3c                	je     0x14003786e
140037832:	48 8b 47 38          	mov    0x38(%rdi),%rax
140037836:	48 2b c1             	sub    %rcx,%rax
140037839:	48 83 e0 fc          	and    $0xfffffffffffffffc,%rax
14003783d:	48 3d 00 10 00 00    	cmp    $0x1000,%rax
140037843:	72 14                	jb     0x140037859
140037845:	48 8b 51 f8          	mov    -0x8(%rcx),%rdx
140037849:	48 2b ca             	sub    %rdx,%rcx
14003784c:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
140037850:	48 83 f8 1f          	cmp    $0x1f,%rax
140037854:	77 3c                	ja     0x140037892
140037856:	48 8b ca             	mov    %rdx,%rcx
140037859:	ff 15 61 50 ad 00    	call   *0xad5061(%rip)        # 0x140b0c8c0
14003785f:	48 83 67 28 00       	andq   $0x0,0x28(%rdi)
140037864:	48 83 67 30 00       	andq   $0x0,0x30(%rdi)
140037869:	48 83 67 38 00       	andq   $0x0,0x38(%rdi)
14003786e:	48 8b cf             	mov    %rdi,%rcx
140037871:	ff 15 49 50 ad 00    	call   *0xad5049(%rip)        # 0x140b0c8c0
140037877:	80 7b 19 00          	cmpb   $0x0,0x19(%rbx)
14003787b:	74 97                	je     0x140037814
14003787d:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140037882:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
140037887:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
14003788c:	48 83 c4 20          	add    $0x20,%rsp
140037890:	5f                   	pop    %rdi
140037891:	c3                   	ret
140037892:	ff 15 00 51 ad 00    	call   *0xad5100(%rip)        # 0x140b0c998
140037898:	cc                   	int3
140037899:	90                   	nop
14003789a:	90                   	nop
14003789b:	90                   	nop
14003789c:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1400378a1:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
1400378a6:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1400378ab:	57                   	push   %rdi