180046228:	73 59                	jae    0x180046283
18004622a:	8b ce                	mov    %esi,%ecx
18004622c:	8b c5                	mov    %ebp,%eax
18004622e:	48 2b ca             	sub    %rdx,%rcx
180046231:	48 3b c8             	cmp    %rax,%rcx
180046234:	73 04                	jae    0x18004623a
180046236:	2b f2                	sub    %edx,%esi
180046238:	eb 02                	jmp    0x18004623c
18004623a:	8b f5                	mov    %ebp,%esi
18004623c:	48 8d 44 24 30       	lea    0x30(%rsp),%rax
180046241:	44 8b ce             	mov    %esi,%r9d
180046244:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
180046249:	4d 8d 46 18          	lea    0x18(%r14),%r8
18004624d:	ba 02 00 00 00       	mov    $0x2,%edx
180046252:	4c 89 7c 24 20       	mov    %r15,0x20(%rsp)
180046257:	49 8b ca             	mov    %r10,%rcx
18004625a:	e8 49 01 00 00       	call   0x1800463a8
18004625f:	8b f8                	mov    %eax,%edi
180046261:	85 c0                	test   %eax,%eax
180046263:	0f 88 14 01 00 00    	js     0x18004637d
180046269:	3d 02 00 e7 00       	cmp    $0xe70002,%eax
18004626e:	0f 84 09 01 00 00    	je     0x18004637d
180046274:	2b ee                	sub    %esi,%ebp
180046276:	8b c6                	mov    %esi,%eax
180046278:	4c 03 f8             	add    %rax,%r15
18004627b:	85 ed                	test   %ebp,%ebp
18004627d:	0f 84 f8 00 00 00    	je     0x18004637b
180046283:	4c 8b 94 24 90 00 00 	mov    0x90(%rsp),%r10
18004628a:	00
18004628b:	41 ff c4             	inc    %r12d
18004628e:	45 3b 65 04          	cmp    0x4(%r13),%r12d
180046292:	0f 82 e7 fe ff ff    	jb     0x18004617f
180046298:	8b 4c 24 48          	mov    0x48(%rsp),%ecx
18004629c:	4c 8b 74 24 38       	mov    0x38(%rsp),%r14
1800462a1:	85 ed                	test   %ebp,%ebp
1800462a3:	0f 84 d2 00 00 00    	je     0x18004637b
1800462a9:	45 8b e7             	mov    %r15d,%r12d
1800462ac:	8b fb                	mov    %ebx,%edi
1800462ae:	44 2b e1             	sub    %ecx,%r12d
1800462b1:	b9 e0 00 00 00       	mov    $0xe0,%ecx
1800462b6:	45 8b ec             	mov    %r12d,%r13d
1800462b9:	4d 03 6e 78          	add    0x78(%r14),%r13
1800462bd:	e8 52 06 00 00       	call   0x180046914
1800462c2:	48 85 c0             	test   %rax,%rax
1800462c5:	74 0d                	je     0x1800462d4
1800462c7:	48 8b c8             	mov    %rax,%rcx
1800462ca:	e8 99 0c 00 00       	call   0x180046f68
1800462cf:	48 8b f0             	mov    %rax,%rsi
1800462d2:	eb 03                	jmp    0x1800462d7
1800462d4:	48 8b f3             	mov    %rbx,%rsi
1800462d7:	48 85 f6             	test   %rsi,%rsi
1800462da:	75 0a                	jne    0x1800462e6
1800462dc:	bf 9a 00 00 c0       	mov    $0xc000009a,%edi
1800462e1:	e9 97 00 00 00       	jmp    0x18004637d
1800462e6:	39 5e 60             	cmp    %ebx,0x60(%rsi)
1800462e9:	75 1b                	jne    0x180046306
1800462eb:	44 8b cd             	mov    %ebp,%r9d
1800462ee:	88 5c 24 20          	mov    %bl,0x20(%rsp)
1800462f2:	45 8b c4             	mov    %r12d,%r8d
1800462f5:	49 8b d6             	mov    %r14,%rdx
1800462f8:	48 8b ce             	mov    %rsi,%rcx
1800462fb:	e8 3c 0e 00 00       	call   0x18004713c
180046300:	8b f8                	mov    %eax,%edi
180046302:	85 c0                	test   %eax,%eax
180046304:	78 51                	js     0x180046357
180046306:	4c 89 6e 78          	mov    %r13,0x78(%rsi)
18004630a:	48 8b d6             	mov    %rsi,%rdx
18004630d:	89 ae 80 00 00 00    	mov    %ebp,0x80(%rsi)
180046313:	49 8b ce             	mov    %r14,%rcx
180046316:	44 89 be 84 00 00 00 	mov    %r15d,0x84(%rsi)
18004631d:	48 89 5e 70          	mov    %rbx,0x70(%rsi)
180046321:	41 8a 86 98 00 00 00 	mov    0x98(%r14),%al
180046328:	88 86 98 00 00 00    	mov    %al,0x98(%rsi)
18004632e:	48 8b 84 24 90 00 00 	mov    0x90(%rsp),%rax
180046335:	00
180046336:	c6 86 9a 00 00 00 01 	movb   $0x1,0x9a(%rsi)
18004633d:	48 8b 40 08          	mov    0x8(%rax),%rax
180046341:	4c 8b 80 60 01 00 00 	mov    0x160(%rax),%r8
180046348:	4c 89 86 d8 00 00 00 	mov    %r8,0xd8(%rsi)
18004634f:	e8 58 0d 00 00       	call   0x1800470ac
180046354:	48 8b f3             	mov    %rbx,%rsi
180046357:	48 85 f6             	test   %rsi,%rsi
18004635a:	74 13                	je     0x18004636f
18004635c:	48 8b 06             	mov    (%rsi),%rax
18004635f:	ba 01 00 00 00       	mov    $0x1,%edx
180046364:	48 8b ce             	mov    %rsi,%rcx
180046367:	48 8b 00             	mov    (%rax),%rax
18004636a:	ff d0                	call   *%rax
18004636c:	0f 1f 00             	nopl   (%rax)
18004636f:	85 ff                	test   %edi,%edi
180046371:	78 0a                	js     0x18004637d
180046373:	81 ff 02 00 e7 00    	cmp    $0xe70002,%edi
180046379:	74 08                	je     0x180046383
18004637b:	8b fb                	mov    %ebx,%edi
18004637d:	81 ff 02 00 e7 00    	cmp    $0xe70002,%edi
180046383:	4c 8d 5c 24 60       	lea    0x60(%rsp),%r11
180046388:	0f 45 df             	cmovne %edi,%ebx
18004638b:	49 8b 6b 40          	mov    0x40(%r11),%rbp
18004638f:	8b c3                	mov    %ebx,%eax
180046391:	49 8b 5b 38          	mov    0x38(%r11),%rbx
180046395:	49 8b 73 48          	mov    0x48(%r11),%rsi
180046399:	49 8b e3             	mov    %r11,%rsp
18004639c:	41 5f                	pop    %r15
18004639e:	41 5e                	pop    %r14
1800463a0:	41 5d                	pop    %r13
1800463a2:	41 5c                	pop    %r12
1800463a4:	5f                   	pop    %rdi
1800463a5:	c3                   	ret
1800463a6:	cc                   	int3
1800463a7:	cc                   	int3
1800463a8:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
1800463ad:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
1800463b2:	55                   	push   %rbp
1800463b3:	56                   	push   %rsi
1800463b4:	57                   	push   %rdi
1800463b5:	41 54                	push   %r12
1800463b7:	41 55                	push   %r13
1800463b9:	41 56                	push   %r14
1800463bb:	41 57                	push   %r15
1800463bd:	48 83 ec 30          	sub    $0x30,%rsp
1800463c1:	48 8b 84 24 98 00 00 	mov    0x98(%rsp),%rax
1800463c8:	00
1800463c9:	33 ff                	xor    %edi,%edi
1800463cb:	4c 8b a4 24 90 00 00 	mov    0x90(%rsp),%r12
1800463d2:	00
1800463d3:	49 8b f0             	mov    %r8,%rsi
1800463d6:	41 8b cc             	mov    %r12d,%ecx
1800463d9:	45 8b f1             	mov    %r9d,%r14d
1800463dc:	44 8b fa             	mov    %edx,%r15d
1800463df:	c6 44 24 78 01       	movb   $0x1,0x78(%rsp)
1800463e4:	2b 48 18             	sub    0x18(%rax),%ecx
1800463e7:	4c 8b 68 08          	mov    0x8(%rax),%r13
1800463eb:	8b e9                	mov    %ecx,%ebp
1800463ed:	89 8c 24 98 00 00 00 	mov    %ecx,0x98(%rsp)
1800463f4:	8b ca                	mov    %edx,%ecx
1800463f6:	49 03 6d 78          	add    0x78(%r13),%rbp
1800463fa:	83 e9 01             	sub    $0x1,%ecx
1800463fd:	74 45                	je     0x180046444
1800463ff:	83 e9 01             	sub    $0x1,%ecx
180046402:	74 18                	je     0x18004641c
180046404:	83 e9 01             	sub    $0x1,%ecx
180046407:	74 3b                	je     0x180046444
180046409:	83 f9 01             	cmp    $0x1,%ecx
18004640c:	0f 84 ed 01 00 00    	je     0x1800465ff
180046412:	bf 0d 00 00 c0       	mov    $0xc000000d,%edi
180046417:	e9 e3 01 00 00       	jmp    0x1800465ff
18004641c:	41 8b 00             	mov    (%r8),%eax
18004641f:	83 f8 01             	cmp    $0x1,%eax
180046422:	74 0a                	je     0x18004642e
180046424:	83 c0 fe             	add    $0xfffffffe,%eax
180046427:	83 f8 01             	cmp    $0x1,%eax
18004642a:	76 18                	jbe    0x180046444
18004642c:	eb e4                	jmp    0x180046412
18004642e:	41 8b 40 0c          	mov    0xc(%r8),%eax
180046432:	49 8b 68 10          	mov    0x10(%r8),%rbp
180046436:	48 2b e8             	sub    %rax,%rbp
180046439:	c6 44 24 78 16       	movb   $0x16,0x78(%rsp)
18004643e:	41 8b c4             	mov    %r12d,%eax
180046441:	48 03 e8             	add    %rax,%rbp
180046444:	b9 e0 00 00 00       	mov    $0xe0,%ecx
180046449:	e8 c6 04 00 00       	call   0x180046914
18004644e:	45 33 db             	xor    %r11d,%r11d
180046451:	48 85 c0             	test   %rax,%rax
180046454:	74 0d                	je     0x180046463
180046456:	48 8b c8             	mov    %rax,%rcx
180046459:	e8 0a 0b 00 00       	call   0x180046f68
18004645e:	48 8b d8             	mov    %rax,%rbx
180046461:	eb 03                	jmp    0x180046466
180046463:	49 8b db             	mov    %r11,%rbx
180046466:	48 85 db             	test   %rbx,%rbx
180046469:	75 0a                	jne    0x180046475
18004646b:	bf 9a 00 00 c0       	mov    $0xc000009a,%edi
180046470:	e9 8a 01 00 00       	jmp    0x1800465ff
180046475:	41 83 ff 02          	cmp    $0x2,%r15d
180046479:	0f 85 df 00 00 00    	jne    0x18004655e
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