1800645ad:	33 d2                	xor    %edx,%edx
1800645af:	48 8b 40 28          	mov    0x28(%rax),%rax
1800645b3:	ff d0                	call   *%rax
1800645b5:	0f 1f 00             	nopl   (%rax)
1800645b8:	48 8b 43 18          	mov    0x18(%rbx),%rax
1800645bc:	48 39 43 10          	cmp    %rax,0x10(%rbx)
1800645c0:	75 04                	jne    0x1800645c6
1800645c2:	32 c0                	xor    %al,%al
1800645c4:	eb 02                	jmp    0x1800645c8
1800645c6:	b0 01                	mov    $0x1,%al
1800645c8:	48 83 c4 20          	add    $0x20,%rsp
1800645cc:	5b                   	pop    %rbx
1800645cd:	c3                   	ret
1800645ce:	cc                   	int3
1800645cf:	cc                   	int3
1800645d0:	4c 8b dc             	mov    %rsp,%r11
1800645d3:	49 89 5b 08          	mov    %rbx,0x8(%r11)
1800645d7:	49 89 6b 10          	mov    %rbp,0x10(%r11)
1800645db:	49 89 73 20          	mov    %rsi,0x20(%r11)
1800645df:	57                   	push   %rdi
1800645e0:	48 83 ec 30          	sub    $0x30,%rsp
1800645e4:	48 8b 41 10          	mov    0x10(%rcx),%rax
1800645e8:	41 8b f8             	mov    %r8d,%edi
1800645eb:	48 8b 29             	mov    (%rcx),%rbp
1800645ee:	45 33 c0             	xor    %r8d,%r8d
1800645f1:	48 8b f2             	mov    %rdx,%rsi
1800645f4:	48 8b d9             	mov    %rcx,%rbx
1800645f7:	45 89 43 18          	mov    %r8d,0x18(%r11)
1800645fb:	48 39 41 18          	cmp    %rax,0x18(%rcx)
1800645ff:	73 31                	jae    0x180064632
180064601:	4c 8b 49 20          	mov    0x20(%rcx),%r9
180064605:	4c 2b c8             	sub    %rax,%r9
180064608:	49 8d 43 18          	lea    0x18(%r11),%rax
18006460c:	49 89 43 f0          	mov    %rax,-0x10(%r11)
180064610:	49 c1 f9 02          	sar    $0x2,%r9
180064614:	89 7c 24 20          	mov    %edi,0x20(%rsp)
180064618:	e8 67 00 00 00       	call   0x180064684
18006461d:	44 8b 44 24 50       	mov    0x50(%rsp),%r8d
180064622:	41 2b f8             	sub    %r8d,%edi
180064625:	75 0b                	jne    0x180064632
180064627:	48 8b 45 28          	mov    0x28(%rbp),%rax
18006462b:	45 33 c0             	xor    %r8d,%r8d
18006462e:	33 d2                	xor    %edx,%edx
180064630:	eb 35                	jmp    0x180064667
180064632:	4c 8b 4b 18          	mov    0x18(%rbx),%r9
180064636:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
18006463b:	4c 2b 4b 10          	sub    0x10(%rbx),%r9
18006463f:	48 8b d6             	mov    %rsi,%rdx
180064642:	48 89 4c 24 28       	mov    %rcx,0x28(%rsp)
180064647:	48 8b cb             	mov    %rbx,%rcx
18006464a:	49 c1 f9 02          	sar    $0x2,%r9
18006464e:	89 7c 24 20          	mov    %edi,0x20(%rsp)
180064652:	e8 2d 00 00 00       	call   0x180064684
180064657:	48 8b 45 28          	mov    0x28(%rbp),%rax
18006465b:	2b 7c 24 50          	sub    0x50(%rsp),%edi
18006465f:	74 ca                	je     0x18006462b
180064661:	44 8b c7             	mov    %edi,%r8d
180064664:	48 8b d6             	mov    %rsi,%rdx
180064667:	48 8b cb             	mov    %rbx,%rcx
18006466a:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
18006466f:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
180064674:	48 8b 74 24 58       	mov    0x58(%rsp),%rsi
180064679:	48 83 c4 30          	add    $0x30,%rsp
18006467d:	5f                   	pop    %rdi
18006467e:	48 ff e0             	rex.W jmp *%rax
180064681:	cc                   	int3
180064682:	cc                   	int3
180064683:	cc                   	int3
180064684:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180064689:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
18006468e:	57                   	push   %rdi
18006468f:	48 83 ec 20          	sub    $0x20,%rsp
180064693:	44 8b 54 24 50       	mov    0x50(%rsp),%r10d
180064698:	48 8b f9             	mov    %rcx,%rdi
18006469b:	45 3b d1             	cmp    %r9d,%r10d
18006469e:	45 8b da             	mov    %r10d,%r11d
1800646a1:	45 0f 43 d9          	cmovae %r9d,%r11d
1800646a5:	45 8b ca             	mov    %r10d,%r9d
1800646a8:	45 2b c8             	sub    %r8d,%r9d
1800646ab:	43 8d 04 03          	lea    (%r11,%r8,1),%eax
1800646af:	41 3b c2             	cmp    %r10d,%eax
1800646b2:	41 8b c0             	mov    %r8d,%eax
1800646b5:	45 0f 46 cb          	cmovbe %r11d,%r9d
1800646b9:	41 8b d9             	mov    %r9d,%ebx
1800646bc:	48 8d 0c 82          	lea    (%rdx,%rax,4),%rcx
1800646c0:	48 c1 e3 02          	shl    $0x2,%rbx
1800646c4:	48 8b 57 10          	mov    0x10(%rdi),%rdx
1800646c8:	4c 8b c3             	mov    %rbx,%r8
1800646cb:	41 8b f1             	mov    %r9d,%esi
1800646ce:	e8 ed 12 0d 00       	call   0x1801359c0
1800646d3:	48 01 5f 10          	add    %rbx,0x10(%rdi)
1800646d7:	48 8b 47 10          	mov    0x10(%rdi),%rax
1800646db:	48 3b 47 20          	cmp    0x20(%rdi),%rax
1800646df:	75 08                	jne    0x1800646e9
1800646e1:	48 8b 47 08          	mov    0x8(%rdi),%rax
1800646e5:	48 89 47 10          	mov    %rax,0x10(%rdi)
1800646e9:	48 8b 44 24 58       	mov    0x58(%rsp),%rax
1800646ee:	48 85 c0             	test   %rax,%rax
1800646f1:	74 02                	je     0x1800646f5
1800646f3:	89 30                	mov    %esi,(%rax)
1800646f5:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1800646fa:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
1800646ff:	48 83 c4 20          	add    $0x20,%rsp
180064703:	5f                   	pop    %rdi
180064704:	c3                   	ret
180064705:	cc                   	int3
180064706:	cc                   	int3
180064707:	cc                   	int3
180064708:	4c 8b c1             	mov    %rcx,%r8
18006470b:	48 85 d2             	test   %rdx,%rdx
18006470e:	74 04                	je     0x180064714
180064710:	8b 02                	mov    (%rdx),%eax
180064712:	eb 0c                	jmp    0x180064720
180064714:	c7 44 24 08 20 00 01 	movl   $0x10020,0x8(%rsp)
18006471b:	00
18006471c:	8b 44 24 08          	mov    0x8(%rsp),%eax
180064720:	48 8b 49 18          	mov    0x18(%rcx),%rcx
180064724:	49 89 48 10          	mov    %rcx,0x10(%r8)
180064728:	49 8b 48 08          	mov    0x8(%r8),%rcx
18006472c:	eb 06                	jmp    0x180064734
18006472e:	89 01                	mov    %eax,(%rcx)
180064730:	48 83 c1 04          	add    $0x4,%rcx
180064734:	49 3b 48 20          	cmp    0x20(%r8),%rcx
180064738:	72 f4                	jb     0x18006472e
18006473a:	33 c0                	xor    %eax,%eax
18006473c:	c3                   	ret
18006473d:	cc                   	int3
18006473e:	cc                   	int3
18006473f:	cc                   	int3
180064740:	40 53                	rex push %rbx
180064742:	48 83 ec 20          	sub    $0x20,%rsp
180064746:	33 d2                	xor    %edx,%edx
180064748:	48 8b d9             	mov    %rcx,%rbx
18006474b:	e8 d0 00 00 00       	call   0x180064820
180064750:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
180064754:	48 83 c4 20          	add    $0x20,%rsp
180064758:	5b                   	pop    %rbx
180064759:	e9 9e 58 03 00       	jmp    0x180099ffc
18006475e:	cc                   	int3
18006475f:	cc                   	int3
180064760:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180064765:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
18006476a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
18006476f:	57                   	push   %rdi
180064770:	48 83 ec 20          	sub    $0x20,%rsp
180064774:	33 ed                	xor    %ebp,%ebp
180064776:	41 8b d8             	mov    %r8d,%ebx
180064779:	48 8b f2             	mov    %rdx,%rsi
18006477c:	48 8b f9             	mov    %rcx,%rdi
18006477f:	48 85 d2             	test   %rdx,%rdx
180064782:	74 1d                	je     0x1800647a1
180064784:	eb 17                	jmp    0x18006479d
180064786:	e8 7d 39 00 00       	call   0x180068108
18006478b:	8b c8                	mov    %eax,%ecx
18006478d:	c1 e9 10             	shr    $0x10,%ecx
180064790:	66 85 c9             	test   %cx,%cx
180064793:	74 08                	je     0x18006479d
180064795:	89 06                	mov    %eax,(%rsi)
180064797:	48 83 c6 04          	add    $0x4,%rsi
18006479b:	ff cb                	dec    %ebx
18006479d:	85 db                	test   %ebx,%ebx
18006479f:	75 e5                	jne    0x180064786
1800647a1:	48 8b 4f 18          	mov    0x18(%rdi),%rcx
1800647a5:	48 8b 57 10          	mov    0x10(%rdi),%rdx
1800647a9:	48 8d 42 fc          	lea    -0x4(%rdx),%rax
1800647ad:	48 3b c8             	cmp    %rax,%rcx
1800647b0:	74 53                	je     0x180064805
1800647b2:	48 3b 57 08          	cmp    0x8(%rdi),%rdx
1800647b6:	75 0d                	jne    0x1800647c5
1800647b8:	48 8b 47 20          	mov    0x20(%rdi),%rax
1800647bc:	48 83 e8 04          	sub    $0x4,%rax
1800647c0:	48 3b c8             	cmp    %rax,%rcx
1800647c3:	74 40                	je     0x180064805
1800647c5:	33 c9                	xor    %ecx,%ecx
1800647c7:	8b dd                	mov    %ebp,%ebx
1800647c9:	e8 86 39 00 00       	call   0x180068154
1800647ce:	84 c0                	test   %al,%al
1800647d0:	74 07                	je     0x1800647d9
1800647d2:	e8 31 39 00 00       	call   0x180068108
1800647d7:	8b d8                	mov    %eax,%ebx
1800647d9:	8b c3                	mov    %ebx,%eax
1800647db:	c1 e8 10             	shr    $0x10,%eax
1800647de:	66 85 c0             	test   %ax,%ax
1800647e1:	74 22                	je     0x180064805
1800647e3:	48 8b 47 18          	mov    0x18(%rdi),%rax
1800647e7:	89 18                	mov    %ebx,(%rax)
1800647e9:	48 8b 4f 18          	mov    0x18(%rdi),%rcx
1800647ed:	48 83 c1 04          	add    $0x4,%rcx
1800647f1:	48 89 4f 18          	mov    %rcx,0x18(%rdi)
1800647f5:	48 3b 4f 20          	cmp    0x20(%rdi),%rcx
1800647f9:	75 aa                	jne    0x1800647a5
1800647fb:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
1800647ff:	48 89 4f 18          	mov    %rcx,0x18(%rdi)
180064803:	eb a0                	jmp    0x1800647a5
180064805:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
18006480a:	33 c0                	xor    %eax,%eax
18006480c:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
180064811:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
180064816:	48 83 c4 20          	add    $0x20,%rsp
18006481a:	5f                   	pop    %rdi
18006481b:	c3                   	ret
18006481c:	cc                   	int3
18006481d:	cc                   	int3
18006481e:	cc                   	int3
18006481f:	cc                   	int3
180064820:	48 8b c4             	mov    %rsp,%rax
180064823:	48 89 58 10          	mov    %rbx,0x10(%rax)
180064827:	48 89 68 18          	mov    %rbp,0x18(%rax)
18006482b:	48 89 70 20          	mov    %rsi,0x20(%rax)
18006482f:	57                   	push   %rdi
180064830:	41 54                	push   %r12
180064832:	41 55                	push   %r13
180064834:	41 56                	push   %r14
180064836:	41 57                	push   %r15
180064838:	48 83 ec 20          	sub    $0x20,%rsp
18006483c:	41 bc 01 00 00 00    	mov    $0x1,%r12d
180064842:	48 85 d2             	test   %rdx,%rdx
180064845:	74 0c                	je     0x180064853
180064847:	8b 1a                	mov    (%rdx),%ebx
180064849:	89 58 08             	mov    %ebx,0x8(%rax)
18006484c:	44 0f b7 70 08       	movzwl 0x8(%rax),%r14d
180064851:	eb 12                	jmp    0x180064865
180064853:	c7 44 24 50 20 00 01 	movl   $0x10020,0x50(%rsp)
18006485a:	00
18006485b:	41 be 20 00 00 00    	mov    $0x20,%r14d
180064861:	8b 5c 24 50          	mov    0x50(%rsp),%ebx
180064865:	e8 9e fe ff ff       	call   0x180064708
18006486a:	44 8b f8             	mov    %eax,%r15d
18006486d:	33 f6                	xor    %esi,%esi
18006486f:	eb 05                	jmp    0x180064876
180064871:	e8 92 38 00 00       	call   0x180068108
180064876:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
18006487b:	e8 d4 38 00 00       	call   0x180068154
180064880:	84 c0                	test   %al,%al
180064882:	75 ed                	jne    0x180064871
180064884:	33 ff                	xor    %edi,%edi
180064886:	41 0f b7 ce          	movzwl %r14w,%ecx
18006488a:	e8 01 3a 00 00       	call   0x180068290
18006488f:	84 c0                	test   %al,%al
180064891:	74 0b                	je     0x18006489e
180064893:	41 03 fc             	add    %r12d,%edi
180064896:	81 ff 00 04 00 00    	cmp    $0x400,%edi
18006489c:	72 e8                	jb     0x180064886
18006489e:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
1800648a3:	e8 ac 38 00 00       	call   0x180068154
1800648a8:	41 bd 01 00 00 c0    	mov    $0xc0000001,%r13d
1800648ae:	eb 17                	jmp    0x1800648c7
1800648b0:	e8 53 38 00 00       	call   0x180068108
1800648b5:	3b c3                	cmp    %ebx,%eax
1800648b7:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
1800648bc:	41 0f 45 f5          	cmovne %r13d,%esi
1800648c0:	ff cf                	dec    %edi
1800648c2:	e8 8d 38 00 00       	call   0x180068154
1800648c7:	84 c0                	test   %al,%al
1800648c9:	75 e5                	jne    0x1800648b0
1800648cb:	85 ff                	test   %edi,%edi
1800648cd:	41 0f 45 f5          	cmovne %r13d,%esi
1800648d1:	0f 31                	rdtsc
1800648d3:	48 c1 e2 20          	shl    $0x20,%rdx
1800648d7:	bd 00 00 00 00       	mov    $0x0,%ebp
1800648dc:	48 0b c2             	or     %rdx,%rax
1800648df:	48 8b f8             	mov    %rax,%rdi
1800648e2:	c1 ef 04             	shr    $0x4,%edi
1800648e5:	83 e7 1f             	and    $0x1f,%edi
1800648e8:	76 23                	jbe    0x18006490d
1800648ea:	41 0f b7 ce          	movzwl %r14w,%ecx
1800648ee:	e8 9d 39 00 00       	call   0x180068290
1800648f3:	84 c0                	test   %al,%al
1800648f5:	74 16                	je     0x18006490d
1800648f7:	41 03 ec             	add    %r12d,%ebp
1800648fa:	3b ef                	cmp    %edi,%ebp
1800648fc:	72 ec                	jb     0x1800648ea
1800648fe:	eb 0d                	jmp    0x18006490d
180064900:	e8 03 38 00 00       	call   0x180068108
180064905:	3b c3                	cmp    %ebx,%eax
180064907:	41 0f 45 f5          	cmovne %r13d,%esi
18006490b:	ff cd                	dec    %ebp
18006490d:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
180064912:	e8 3d 38 00 00       	call   0x180068154
180064917:	84 c0                	test   %al,%al
180064919:	75 e5                	jne    0x180064900
18006491b:	48 8b 5c 24 58       	mov    0x58(%rsp),%rbx
180064920:	85 ed                	test   %ebp,%ebp
180064922:	48 8b 6c 24 60       	mov    0x60(%rsp),%rbp
180064927:	41 0f 45 f5          	cmovne %r13d,%esi
18006492b:	45 85 ff             	test   %r15d,%r15d
18006492e:	44 0f 49 fe          	cmovns %esi,%r15d
180064932:	48 8b 74 24 68       	mov    0x68(%rsp),%rsi
180064937:	41 8b c7             	mov    %r15d,%eax
18006493a:	48 83 c4 20          	add    $0x20,%rsp
18006493e:	41 5f                	pop    %r15
180064940:	41 5e                	pop    %r14
180064942:	41 5d                	pop    %r13
180064944:	41 5c                	pop    %r12
180064946:	5f                   	pop    %rdi
180064947:	c3                   	ret
180064948:	cc                   	int3
180064949:	cc                   	int3
18006494a:	cc                   	int3
18006494b:	cc                   	int3
18006494c:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
180064951:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
180064956:	57                   	push   %rdi
180064957:	48 81 ec 90 01 00 00 	sub    $0x190,%rsp
18006495e:	48 8b d9             	mov    %rcx,%rbx
180064961:	b9 00 02 00 00       	mov    $0x200,%ecx
180064966:	e8 e5 54 03 00       	call   0x180099e50
18006496b:	48 89 43 08          	mov    %rax,0x8(%rbx)
18006496f:	48 85 c0             	test   %rax,%rax
180064972:	75 0a                	jne    0x18006497e
180064974:	bf 9a 00 00 c0       	mov    $0xc000009a,%edi
180064979:	e9 a6 00 00 00       	jmp    0x180064a24
18006497e:	48 89 43 10          	mov    %rax,0x10(%rbx)
180064982:	48 8d 94 24 a8 01 00 	lea    0x1a8(%rsp),%rdx
180064989:	00
18006498a:	48 89 43 18          	mov    %rax,0x18(%rbx)
18006498e:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
180064993:	48 05 00 02 00 00    	add    $0x200,%rax
180064999:	c7 44 24 28 48 00 00 	movl   $0x48,0x28(%rsp)
1800649a0:	00
1800649a1:	48 89 43 20          	mov    %rax,0x20(%rbx)
1800649a5:	48 8d 05 74 f2 0d 00 	lea    0xdf274(%rip),%rax        # 0x180143c20
1800649ac:	48 89 03             	mov    %rax,(%rbx)
1800649af:	48 8d 05 7a f0 0d 00 	lea    0xdf07a(%rip),%rax        # 0x180143a30
1800649b6:	48 89 43 28          	mov    %rax,0x28(%rbx)
1800649ba:	e8 a1 1d 00 00       	call   0x180066760
1800649bf:	8b f8                	mov    %eax,%edi
1800649c1:	85 c0                	test   %eax,%eax
1800649c3:	78 56                	js     0x180064a1b
1800649c5:	45 33 c0             	xor    %r8d,%r8d
1800649c8:	4c 8d 8c 24 a0 01 00 	lea    0x1a0(%rsp),%r9
1800649cf:	00
1800649d0:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
1800649d5:	41 8d 50 03          	lea    0x3(%r8),%edx
1800649d9:	e8 32 28 fc ff       	call   0x180027210
1800649de:	8b f8                	mov    %eax,%edi
1800649e0:	85 c0                	test   %eax,%eax
1800649e2:	78 37                	js     0x180064a1b
1800649e4:	8b b4 24 a0 01 00 00 	mov    0x1a0(%rsp),%esi
1800649eb:	48 8d 54 24 70       	lea    0x70(%rsp),%rdx
1800649f0:	8b ce                	mov    %esi,%ecx
1800649f2:	e8 31 23 fc ff       	call   0x180026d28
1800649f7:	8b 84 24 a8 01 00 00 	mov    0x1a8(%rsp),%eax
1800649fe:	48 8d 54 24 70       	lea    0x70(%rsp),%rdx
180064a03:	8b ce                	mov    %esi,%ecx
180064a05:	89 44 24 78          	mov    %eax,0x78(%rsp)
180064a09:	e8 82 23 fc ff       	call   0x180026d90
180064a0e:	8b f8                	mov    %eax,%edi
180064a10:	85 c0                	test   %eax,%eax
180064a12:	79 28                	jns    0x180064a3c