18004647f:	44 39 3e             	cmp    %r15d,(%rsi)
180046482:	0f 85 d6 00 00 00    	jne    0x18004655e
180046488:	48 8d 56 0c          	lea    0xc(%rsi),%rdx
18004648c:	44 39 5e 18          	cmp    %r11d,0x18(%rsi)
180046490:	74 0c                	je     0x18004649e
180046492:	8b 02                	mov    (%rdx),%eax
180046494:	4c 3b e0             	cmp    %rax,%r12
180046497:	75 05                	jne    0x18004649e
180046499:	4d 8b d6             	mov    %r14,%r10
18004649c:	eb 1f                	jmp    0x1800464bd
18004649e:	44 39 5e 1c          	cmp    %r11d,0x1c(%rsi)
1800464a2:	0f 84 b6 00 00 00    	je     0x18004655e
1800464a8:	8b 4e 04             	mov    0x4(%rsi),%ecx
1800464ab:	4b 8d 04 26          	lea    (%r14,%r12,1),%rax
1800464af:	03 0a                	add    (%rdx),%ecx
1800464b1:	4d 8b d6             	mov    %r14,%r10
1800464b4:	48 3b c1             	cmp    %rcx,%rax
1800464b7:	0f 85 a1 00 00 00    	jne    0x18004655e
1800464bd:	4d 39 5d 68          	cmp    %r11,0x68(%r13)
1800464c1:	0f 84 94 00 00 00    	je     0x18004655b
1800464c7:	44 89 b3 80 00 00 00 	mov    %r14d,0x80(%rbx)
1800464ce:	45 8b c6             	mov    %r14d,%r8d
1800464d1:	bf 00 00 00 02       	mov    $0x2000000,%edi
1800464d6:	44 39 5e 18          	cmp    %r11d,0x18(%rsi)
1800464da:	74 18                	je     0x1800464f4
1800464dc:	8b 02                	mov    (%rdx),%eax
1800464de:	4c 3b e0             	cmp    %rax,%r12
1800464e1:	75 11                	jne    0x1800464f4
1800464e3:	09 7b 3c             	or     %edi,0x3c(%rbx)
1800464e6:	44 8b 46 18          	mov    0x18(%rsi),%r8d
1800464ea:	45 03 c6             	add    %r14d,%r8d
1800464ed:	44 89 83 80 00 00 00 	mov    %r8d,0x80(%rbx)
1800464f4:	45 8b c8             	mov    %r8d,%r9d
1800464f7:	44 39 5e 1c          	cmp    %r11d,0x1c(%rsi)
1800464fb:	74 21                	je     0x18004651e
1800464fd:	8b 4e 04             	mov    0x4(%rsi),%ecx
180046500:	4b 8d 04 22          	lea    (%r10,%r12,1),%rax
180046504:	03 0a                	add    (%rdx),%ecx
180046506:	48 3b c1             	cmp    %rcx,%rax
180046509:	72 13                	jb     0x18004651e
18004650b:	0f ba 6b 3c 18       	btsl   $0x18,0x3c(%rbx)
180046510:	44 8b 4e 1c          	mov    0x1c(%rsi),%r9d
180046514:	45 03 c8             	add    %r8d,%r9d
180046517:	44 89 8b 80 00 00 00 	mov    %r9d,0x80(%rbx)
18004651e:	45 33 c0             	xor    %r8d,%r8d
180046521:	48 8d 4b 60          	lea    0x60(%rbx),%rcx
180046525:	41 8d 50 03          	lea    0x3(%r8),%edx
180046529:	e8 6e 06 00 00       	call   0x180046b9c
18004652e:	8b 4b 3c             	mov    0x3c(%rbx),%ecx
180046531:	45 33 db             	xor    %r11d,%r11d
180046534:	85 c0                	test   %eax,%eax
180046536:	78 1a                	js     0x180046552
180046538:	85 cf                	test   %ecx,%edi
18004653a:	74 06                	je     0x180046542
18004653c:	8b 46 18             	mov    0x18(%rsi),%eax
18004653f:	48 2b e8             	sub    %rax,%rbp
180046542:	44 8b b3 80 00 00 00 	mov    0x80(%rbx),%r14d
180046549:	0f ba e9 1e          	bts    $0x1e,%ecx
18004654d:	89 4b 3c             	mov    %ecx,0x3c(%rbx)
180046550:	eb 0c                	jmp    0x18004655e
180046552:	81 e1 ff ff ff fc    	and    $0xfcffffff,%ecx
180046558:	89 4b 3c             	mov    %ecx,0x3c(%rbx)
18004655b:	49 8b f3             	mov    %r11,%rsi
18004655e:	41 8b fb             	mov    %r11d,%edi
180046561:	44 39 5b 60          	cmp    %r11d,0x60(%rbx)
180046565:	75 24                	jne    0x18004658b
180046567:	44 8b 84 24 98 00 00 	mov    0x98(%rsp),%r8d
18004656e:	00
18004656f:	45 8b ce             	mov    %r14d,%r9d
180046572:	49 8b d5             	mov    %r13,%rdx
180046575:	44 88 5c 24 20       	mov    %r11b,0x20(%rsp)
18004657a:	48 8b cb             	mov    %rbx,%rcx
18004657d:	e8 ba 0b 00 00       	call   0x18004713c
180046582:	45 33 db             	xor    %r11d,%r11d
180046585:	8b f8                	mov    %eax,%edi
180046587:	85 c0                	test   %eax,%eax
180046589:	78 5c                	js     0x1800465e7
18004658b:	8a 44 24 78          	mov    0x78(%rsp),%al
18004658f:	48 89 6b 78          	mov    %rbp,0x78(%rbx)
180046593:	3c 16                	cmp    $0x16,%al
180046595:	44 89 b3 80 00 00 00 	mov    %r14d,0x80(%rbx)
18004659c:	44 89 a3 84 00 00 00 	mov    %r12d,0x84(%rbx)
1800465a3:	48 89 73 70          	mov    %rsi,0x70(%rbx)
1800465a7:	41 8a 8d 98 00 00 00 	mov    0x98(%r13),%cl
1800465ae:	88 83 9a 00 00 00    	mov    %al,0x9a(%rbx)
1800465b4:	48 8b 44 24 70       	mov    0x70(%rsp),%rax
1800465b9:	88 8b 98 00 00 00    	mov    %cl,0x98(%rbx)
1800465bf:	75 06                	jne    0x1800465c7
1800465c1:	48 8b 40 10          	mov    0x10(%rax),%rax
1800465c5:	eb 04                	jmp    0x1800465cb
1800465c7:	48 8b 40 08          	mov    0x8(%rax),%rax
1800465cb:	48 8b 88 60 01 00 00 	mov    0x160(%rax),%rcx
1800465d2:	48 8b d3             	mov    %rbx,%rdx
1800465d5:	48 89 8b d8 00 00 00 	mov    %rcx,0xd8(%rbx)
1800465dc:	49 8b cd             	mov    %r13,%rcx
1800465df:	e8 c8 0a 00 00       	call   0x1800470ac
1800465e4:	49 8b db             	mov    %r11,%rbx
1800465e7:	48 85 db             	test   %rbx,%rbx
1800465ea:	74 13                	je     0x1800465ff
1800465ec:	48 8b 03             	mov    (%rbx),%rax
1800465ef:	ba 01 00 00 00       	mov    $0x1,%edx
1800465f4:	48 8b cb             	mov    %rbx,%rcx
1800465f7:	48 8b 00             	mov    (%rax),%rax
1800465fa:	ff d0                	call   *%rax
1800465fc:	0f 1f 00             	nopl   (%rax)
1800465ff:	48 8b 9c 24 80 00 00 	mov    0x80(%rsp),%rbx
180046606:	00
180046607:	8b c7                	mov    %edi,%eax
180046609:	48 83 c4 30          	add    $0x30,%rsp
18004660d:	41 5f                	pop    %r15
18004660f:	41 5e                	pop    %r14
180046611:	41 5d                	pop    %r13
180046613:	41 5c                	pop    %r12
180046615:	5f                   	pop    %rdi
180046616:	5e                   	pop    %rsi
180046617:	5d                   	pop    %rbp
180046618:	c3                   	ret
180046619:	cc                   	int3
18004661a:	cc                   	int3
18004661b:	cc                   	int3
18004661c:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180046621:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
180046626:	57                   	push   %rdi
180046627:	48 83 ec 30          	sub    $0x30,%rsp
18004662b:	48 8b 7a 70          	mov    0x70(%rdx),%rdi
18004662f:	48 8b da             	mov    %rdx,%rbx
180046632:	8b 92 a0 00 00 00    	mov    0xa0(%rdx),%edx
180046638:	45 33 c0             	xor    %r8d,%r8d
18004663b:	48 8b f1             	mov    %rcx,%rsi
18004663e:	44 0f b6 8b 9a 00 00 	movzbl 0x9a(%rbx),%r9d
180046645:	00
180046646:	41 83 e9 01          	sub    $0x1,%r9d
18004664a:	74 65                	je     0x1800466b1
18004664c:	41 83 f9 15          	cmp    $0x15,%r9d
180046650:	0f 85 27 01 00 00    	jne    0x18004677d
180046656:	85 d2                	test   %edx,%edx
180046658:	79 47                	jns    0x1800466a1
18004665a:	41 8b d0             	mov    %r8d,%edx
18004665d:	48 85 ff             	test   %rdi,%rdi
180046660:	0f 84 17 01 00 00    	je     0x18004677d
180046666:	83 3f 01             	cmpl   $0x1,(%rdi)
180046669:	0f 85 0e 01 00 00    	jne    0x18004677d
18004666f:	48 8b 53 10          	mov    0x10(%rbx),%rdx
180046673:	8b 8b 84 00 00 00    	mov    0x84(%rbx),%ecx
180046679:	8b 82 84 00 00 00    	mov    0x84(%rdx),%eax
18004667f:	48 2b c8             	sub    %rax,%rcx
180046682:	48 03 4a 78          	add    0x78(%rdx),%rcx
180046686:	48 89 4b 78          	mov    %rcx,0x78(%rbx)
18004668a:	c6 83 98 00 00 00 03 	movb   $0x3,0x98(%rbx)
180046691:	c6 83 9a 00 00 00 01 	movb   $0x1,0x9a(%rbx)
180046698:	48 8b 46 08          	mov    0x8(%rsi),%rax
18004669c:	e9 ba 00 00 00       	jmp    0x18004675b
1800466a1:	8b 83 80 00 00 00    	mov    0x80(%rbx),%eax
1800466a7:	f0 0f c1 47 08       	lock xadd %eax,0x8(%rdi)
1800466ac:	e9 cc 00 00 00       	jmp    0x18004677d
1800466b1:	85 d2                	test   %edx,%edx
1800466b3:	0f 88 c4 00 00 00    	js     0x18004677d
1800466b9:	48 85 ff             	test   %rdi,%rdi
1800466bc:	0f 84 bb 00 00 00    	je     0x18004677d
1800466c2:	83 3f 02             	cmpl   $0x2,(%rdi)
1800466c5:	0f 85 b2 00 00 00    	jne    0x18004677d
1800466cb:	8b 53 3c             	mov    0x3c(%rbx),%edx
1800466ce:	0f ba e2 1e          	bt     $0x1e,%edx
1800466d2:	73 47                	jae    0x18004671b
1800466d4:	4c 8b 5b 10          	mov    0x10(%rbx),%r11
1800466d8:	44 8b 53 78          	mov    0x78(%rbx),%r10d
1800466dc:	44 8b 8b 80 00 00 00 	mov    0x80(%rbx),%r9d
1800466e3:	45 2b 53 78          	sub    0x78(%r11),%r10d
1800466e7:	0f ba e2 19          	bt     $0x19,%edx
1800466eb:	73 0c                	jae    0x1800466f9
1800466ed:	8b 4f 18             	mov    0x18(%rdi),%ecx
1800466f0:	44 2b c9             	sub    %ecx,%r9d
1800466f3:	44 03 d1             	add    %ecx,%r10d
1800466f6:	44 8b c1             	mov    %ecx,%r8d
1800466f9:	0f ba e2 18          	bt     $0x18,%edx
1800466fd:	73 04                	jae    0x180046703
1800466ff:	44 2b 4f 1c          	sub    0x1c(%rdi),%r9d
180046703:	44 89 4c 24 20       	mov    %r9d,0x20(%rsp)
180046708:	48 8d 53 60          	lea    0x60(%rbx),%rdx
18004670c:	45 8b ca             	mov    %r10d,%r9d
18004670f:	49 8d 4b 60          	lea    0x60(%r11),%rcx
180046713:	e8 14 08 00 00       	call   0x180046f2c
180046718:	8b 53 3c             	mov    0x3c(%rbx),%edx
18004671b:	8b 47 0c             	mov    0xc(%rdi),%eax
18004671e:	44 8b 83 84 00 00 00 	mov    0x84(%rbx),%r8d
180046725:	4c 2b c0             	sub    %rax,%r8
180046728:	4c 03 47 10          	add    0x10(%rdi),%r8
18004672c:	4c 89 43 78          	mov    %r8,0x78(%rbx)
180046730:	0f ba e2 19          	bt     $0x19,%edx
180046734:	73 0a                	jae    0x180046740
180046736:	8b 47 18             	mov    0x18(%rdi),%eax
180046739:	4c 2b c0             	sub    %rax,%r8
18004673c:	4c 89 43 78          	mov    %r8,0x78(%rbx)
180046740:	81 e2 ff ff ff bc    	and    $0xbcffffff,%edx
180046746:	c6 83 98 00 00 00 04 	movb   $0x4,0x98(%rbx)
18004674d:	89 53 3c             	mov    %edx,0x3c(%rbx)
180046750:	c6 83 9a 00 00 00 16 	movb   $0x16,0x9a(%rbx)
180046757:	48 8b 46 10          	mov    0x10(%rsi),%rax
18004675b:	48 8b 88 60 01 00 00 	mov    0x160(%rax),%rcx
180046762:	48 8b d3             	mov    %rbx,%rdx
180046765:	48 89 8b d8 00 00 00 	mov    %rcx,0xd8(%rbx)
18004676c:	48 8b 01             	mov    (%rcx),%rax
18004676f:	48 8b 40 08          	mov    0x8(%rax),%rax
180046773:	ff d0                	call   *%rax
180046775:	0f 1f 00             	nopl   (%rax)
180046778:	ba 16 00 00 c0       	mov    $0xc0000016,%edx
18004677d:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
180046782:	8b c2                	mov    %edx,%eax
180046784:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
180046789:	48 83 c4 30          	add    $0x30,%rsp
18004678d:	5f                   	pop    %rdi
18004678e:	c3                   	ret
18004678f:	cc                   	int3
180046790:	48 8b c4             	mov    %rsp,%rax
180046793:	48 89 58 08          	mov    %rbx,0x8(%rax)
180046797:	48 89 68 10          	mov    %rbp,0x10(%rax)
18004679b:	48 89 70 18          	mov    %rsi,0x18(%rax)
18004679f:	48 89 78 20          	mov    %rdi,0x20(%rax)
1800467a3:	41 54                	push   %r12
1800467a5:	41 56                	push   %r14
1800467a7:	41 57                	push   %r15
1800467a9:	48 83 ec 30          	sub    $0x30,%rsp
1800467ad:	4c 8b 62 70          	mov    0x70(%rdx),%r12
1800467b1:	48 8b fa             	mov    %rdx,%rdi
1800467b4:	4c 8b f9             	mov    %rcx,%r15
1800467b7:	4d 85 c0             	test   %r8,%r8
1800467ba:	74 0a                	je     0x1800467c6
1800467bc:	bd 02 00 00 c0       	mov    $0xc0000002,%ebp
1800467c1:	e9 f9 00 00 00       	jmp    0x1800468bf
1800467c6:	45 33 f6             	xor    %r14d,%r14d
1800467c9:	45 85 f6             	test   %r14d,%r14d
1800467cc:	75 06                	jne    0x1800467d4
1800467ce:	48 8b 77 78          	mov    0x78(%rdi),%rsi
1800467d2:	eb 13                	jmp    0x1800467e7
1800467d4:	8b b7 84 00 00 00    	mov    0x84(%rdi),%esi
1800467da:	41 8b 44 24 0c       	mov    0xc(%r12),%eax
1800467df:	48 2b f0             	sub    %rax,%rsi
1800467e2:	49 03 74 24 10       	add    0x10(%r12),%rsi
1800467e7:	b9 e0 00 00 00       	mov    $0xe0,%ecx
1800467ec:	e8 23 01 00 00       	call   0x180046914
1800467f1:	48 85 c0             	test   %rax,%rax
1800467f4:	74 0d                	je     0x180046803
1800467f6:	48 8b c8             	mov    %rax,%rcx
1800467f9:	e8 6a 07 00 00       	call   0x180046f68
1800467fe:	48 8b d8             	mov    %rax,%rbx
180046801:	eb 02                	jmp    0x180046805
180046803:	33 db                	xor    %ebx,%ebx
180046805:	48 85 db             	test   %rbx,%rbx
180046808:	0f 84 94 00 00 00    	je     0x1800468a2
18004680e:	44 8b 8f 80 00 00 00 	mov    0x80(%rdi),%r9d
180046815:	45 33 c0             	xor    %r8d,%r8d
180046818:	48 8b d7             	mov    %rdi,%rdx
18004681b:	c6 44 24 20 01       	movb   $0x1,0x20(%rsp)
180046820:	48 8b cb             	mov    %rbx,%rcx
180046823:	e8 14 09 00 00       	call   0x18004713c
180046828:	8b e8                	mov    %eax,%ebp
18004682a:	85 c0                	test   %eax,%eax
18004682c:	78 79                	js     0x1800468a7
18004682e:	48 89 73 78          	mov    %rsi,0x78(%rbx)
180046832:	8b 8f 80 00 00 00    	mov    0x80(%rdi),%ecx
180046838:	89 8b 80 00 00 00    	mov    %ecx,0x80(%rbx)
18004683e:	8b 8f 84 00 00 00    	mov    0x84(%rdi),%ecx
180046844:	89 8b 84 00 00 00    	mov    %ecx,0x84(%rbx)
18004684a:	48 8b 4f 70          	mov    0x70(%rdi),%rcx
18004684e:	48 89 4b 70          	mov    %rcx,0x70(%rbx)
180046852:	41 8b ce             	mov    %r14d,%ecx
180046855:	f7 d9                	neg    %ecx
180046857:	c6 83 98 00 00 00 04 	movb   $0x4,0x98(%rbx)
18004685e:	1a d2                	sbb    %dl,%dl
180046860:	80 e2 15             	and    $0x15,%dl
180046863:	fe c2                	inc    %dl
180046865:	88 93 9a 00 00 00    	mov    %dl,0x9a(%rbx)
18004686b:	45 85 f6             	test   %r14d,%r14d
18004686e:	75 06                	jne    0x180046876
180046870:	49 8b 47 08          	mov    0x8(%r15),%rax
180046874:	eb 04                	jmp    0x18004687a
180046876:	49 8b 47 10          	mov    0x10(%r15),%rax
18004687a:	48 8b 88 60 01 00 00 	mov    0x160(%rax),%rcx
180046881:	48 8b d3             	mov    %rbx,%rdx
180046884:	48 89 8b d8 00 00 00 	mov    %rcx,0xd8(%rbx)
18004688b:	48 8b cf             	mov    %rdi,%rcx
18004688e:	e8 19 08 00 00       	call   0x1800470ac
180046893:	41 ff c6             	inc    %r14d
180046896:	41 83 fe 02          	cmp    $0x2,%r14d
18004689a:	0f 82 29 ff ff ff    	jb     0x1800467c9
1800468a0:	eb 1d                	jmp    0x1800468bf
1800468a2:	bd 9a 00 00 c0       	mov    $0xc000009a,%ebp
1800468a7:	48 85 db             	test   %rbx,%rbx
1800468aa:	74 13                	je     0x1800468bf
1800468ac:	48 8b 03             	mov    (%rbx),%rax
1800468af:	ba 01 00 00 00       	mov    $0x1,%edx
1800468b4:	48 8b cb             	mov    %rbx,%rcx
1800468b7:	48 8b 00             	mov    (%rax),%rax
1800468ba:	ff d0                	call   *%rax
1800468bc:	0f 1f 00             	nopl   (%rax)
1800468bf:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
1800468c4:	8b c5                	mov    %ebp,%eax
1800468c6:	48 8b 6c 24 58       	mov    0x58(%rsp),%rbp
1800468cb:	48 8b 74 24 60       	mov    0x60(%rsp),%rsi
1800468d0:	48 8b 7c 24 68       	mov    0x68(%rsp),%rdi
1800468d5:	48 83 c4 30          	add    $0x30,%rsp
1800468d9:	41 5f                	pop    %r15
1800468db:	41 5e                	pop    %r14
1800468dd:	41 5c                	pop    %r12
1800468df:	c3                   	ret
1800468e0:	cc                   	int3
1800468e1:	cc                   	int3
1800468e2:	cc                   	int3
1800468e3:	cc                   	int3
1800468e4:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1800468e9:	57                   	push   %rdi
1800468ea:	48 83 ec 20          	sub    $0x20,%rsp
1800468ee:	8b da                	mov    %edx,%ebx
1800468f0:	48 8b f9             	mov    %rcx,%rdi
1800468f3:	e8 40 07 00 00       	call   0x180047038
1800468f8:	f6 c3 01             	test   $0x1,%bl
1800468fb:	74 08                	je     0x180046905
1800468fd:	48 8b cf             	mov    %rdi,%rcx
180046900:	e8 57 00 00 00       	call   0x18004695c
180046905:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
18004690a:	48 8b c7             	mov    %rdi,%rax
18004690d:	48 83 c4 20          	add    $0x20,%rsp
180046911:	5f                   	pop    %rdi
180046912:	c3                   	ret
180046913:	cc                   	int3
180046914:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180046919:	57                   	push   %rdi
18004691a:	48 83 ec 20          	sub    $0x20,%rsp
18004691e:	48 8b f9             	mov    %rcx,%rdi
180046921:	48 81 f9 00 10 00 00 	cmp    $0x1000,%rcx
180046928:	73 07                	jae    0x180046931
18004692a:	e8 21 35 05 00       	call   0x180099e50
18004692f:	eb 05                	jmp    0x180046936
180046931:	e8 4a 00 00 00       	call   0x180046980
180046936:	48 8b d8             	mov    %rax,%rbx
180046939:	48 85 c0             	test   %rax,%rax
18004693c:	74 0d                	je     0x18004694b
18004693e:	4c 8b c7             	mov    %rdi,%r8
180046941:	33 d2                	xor    %edx,%edx
180046943:	48 8b c8             	mov    %rax,%rcx
180046946:	e8 35 f3 0e 00       	call   0x180135c80
18004694b:	48 8b c3             	mov    %rbx,%rax
18004694e:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
180046953:	48 83 c4 20          	add    $0x20,%rsp
180046957:	5f                   	pop    %rdi
180046958:	c3                   	ret
180046959:	cc                   	int3
18004695a:	cc                   	int3
18004695b:	cc                   	int3
18004695c:	40 53                	rex push %rbx