140021391:	48 83 ea 18          	sub    $0x18,%rdx
140021395:	f0 0f c1 42 10       	lock xadd %eax,0x10(%rdx)
14002139a:	03 c7                	add    %edi,%eax
14002139c:	85 c0                	test   %eax,%eax
14002139e:	7f 10                	jg     0x1400213b0
1400213a0:	48 8b 0a             	mov    (%rdx),%rcx
1400213a3:	48 8b 01             	mov    (%rcx),%rax
1400213a6:	48 8b 40 08          	mov    0x8(%rax),%rax
1400213aa:	ff 15 d8 e2 04 00    	call   *0x4e2d8(%rip)        # 0x14006f688
1400213b0:	48 8b 53 18          	mov    0x18(%rbx),%rdx
1400213b4:	8b c7                	mov    %edi,%eax
1400213b6:	48 83 ea 18          	sub    $0x18,%rdx
1400213ba:	f0 0f c1 42 10       	lock xadd %eax,0x10(%rdx)
1400213bf:	03 c7                	add    %edi,%eax
1400213c1:	85 c0                	test   %eax,%eax
1400213c3:	7f 10                	jg     0x1400213d5
1400213c5:	48 8b 0a             	mov    (%rdx),%rcx
1400213c8:	48 8b 01             	mov    (%rcx),%rax
1400213cb:	48 8b 40 08          	mov    0x8(%rax),%rax
1400213cf:	ff 15 b3 e2 04 00    	call   *0x4e2b3(%rip)        # 0x14006f688
1400213d5:	48 8b 53 10          	mov    0x10(%rbx),%rdx
1400213d9:	8b c7                	mov    %edi,%eax
1400213db:	48 83 ea 18          	sub    $0x18,%rdx
1400213df:	f0 0f c1 42 10       	lock xadd %eax,0x10(%rdx)
1400213e4:	03 c7                	add    %edi,%eax
1400213e6:	85 c0                	test   %eax,%eax
1400213e8:	7f 10                	jg     0x1400213fa
1400213ea:	48 8b 0a             	mov    (%rdx),%rcx
1400213ed:	48 8b 01             	mov    (%rcx),%rax
1400213f0:	48 8b 40 08          	mov    0x8(%rax),%rax
1400213f4:	ff 15 8e e2 04 00    	call   *0x4e28e(%rip)        # 0x14006f688
1400213fa:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1400213ff:	48 83 c4 20          	add    $0x20,%rsp
140021403:	5f                   	pop    %rdi
140021404:	c3                   	ret
140021405:	90                   	nop
140021406:	90                   	nop
140021407:	90                   	nop
140021408:	48 8b c4             	mov    %rsp,%rax
14002140b:	48 89 58 08          	mov    %rbx,0x8(%rax)
14002140f:	48 89 68 10          	mov    %rbp,0x10(%rax)
140021413:	48 89 70 18          	mov    %rsi,0x18(%rax)
140021417:	48 89 78 20          	mov    %rdi,0x20(%rax)
14002141b:	41 54                	push   %r12
14002141d:	41 56                	push   %r14
14002141f:	41 57                	push   %r15
140021421:	48 83 ec 20          	sub    $0x20,%rsp
140021425:	48 8b 01             	mov    (%rcx),%rax
140021428:	4c 8b f2             	mov    %rdx,%r14
14002142b:	4c 2b f0             	sub    %rax,%r14
14002142e:	45 33 e4             	xor    %r12d,%r12d
140021431:	49 d1 fe             	sar    $1,%r14
140021434:	48 8b fa             	mov    %rdx,%rdi
140021437:	48 8b f1             	mov    %rcx,%rsi
14002143a:	44 8b 78 f0          	mov    -0x10(%rax),%r15d
14002143e:	45 85 c0             	test   %r8d,%r8d
140021441:	0f 88 cd 00 00 00    	js     0x140021514
140021447:	48 85 d2             	test   %rdx,%rdx
14002144a:	75 05                	jne    0x140021451
14002144c:	41 8b ec             	mov    %r12d,%ebp
14002144f:	eb 0f                	jmp    0x140021460
140021451:	49 63 d0             	movslq %r8d,%rdx
140021454:	48 8b cf             	mov    %rdi,%rcx
140021457:	ff 15 0b e1 04 00    	call   *0x4e10b(%rip)        # 0x14006f568
14002145d:	48 8b e8             	mov    %rax,%rbp
140021460:	b9 ff ff ff 7f       	mov    $0x7fffffff,%ecx
140021465:	2b cd                	sub    %ebp,%ecx
140021467:	41 3b cf             	cmp    %r15d,%ecx
14002146a:	0f 8c a4 00 00 00    	jl     0x140021514
140021470:	41 8d 1c 2f          	lea    (%r15,%rbp,1),%ebx
140021474:	85 db                	test   %ebx,%ebx
140021476:	0f 88 98 00 00 00    	js     0x140021514
14002147c:	48 8b 0e             	mov    (%rsi),%rcx
14002147f:	ba 01 00 00 00       	mov    $0x1,%edx
140021484:	8b 41 f4             	mov    -0xc(%rcx),%eax
140021487:	2b 51 f8             	sub    -0x8(%rcx),%edx
14002148a:	2b c3                	sub    %ebx,%eax
14002148c:	0b d0                	or     %eax,%edx
14002148e:	7d 0a                	jge    0x14002149a
140021490:	8b d3                	mov    %ebx,%edx
140021492:	48 8b ce             	mov    %rsi,%rcx
140021495:	e8 36 05 00 00       	call   0x1400219d0
14002149a:	48 8b 06             	mov    (%rsi),%rax
14002149d:	4d 3b f7             	cmp    %r15,%r14
1400214a0:	77 04                	ja     0x1400214a6
1400214a2:	4a 8d 3c 70          	lea    (%rax,%r14,2),%rdi
1400214a6:	4c 63 c5             	movslq %ebp,%r8
1400214a9:	4a 8d 0c 78          	lea    (%rax,%r15,2),%rcx
1400214ad:	4d 03 c0             	add    %r8,%r8
1400214b0:	74 2d                	je     0x1400214df
1400214b2:	48 85 c9             	test   %rcx,%rcx
1400214b5:	74 16                	je     0x1400214cd
1400214b7:	48 85 ff             	test   %rdi,%rdi
1400214ba:	74 0a                	je     0x1400214c6
1400214bc:	48 8b d7             	mov    %rdi,%rdx
1400214bf:	e8 4c 8e 04 00       	call   0x14006a310
1400214c4:	eb 19                	jmp    0x1400214df
1400214c6:	33 d2                	xor    %edx,%edx
1400214c8:	e8 49 8e 04 00       	call   0x14006a316
1400214cd:	ff 15 65 df 04 00    	call   *0x4df65(%rip)        # 0x14006f438
1400214d3:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
1400214d9:	ff 15 f9 df 04 00    	call   *0x4dff9(%rip)        # 0x14006f4d8
1400214df:	48 8b 06             	mov    (%rsi),%rax
1400214e2:	3b 58 f4             	cmp    -0xc(%rax),%ebx
1400214e5:	7f 2d                	jg     0x140021514
1400214e7:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
1400214ec:	48 8b 7c 24 58       	mov    0x58(%rsp),%rdi
1400214f1:	89 58 f0             	mov    %ebx,-0x10(%rax)
1400214f4:	48 8b 06             	mov    (%rsi),%rax
1400214f7:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
1400214fc:	48 63 cb             	movslq %ebx,%rcx
1400214ff:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140021504:	66 44 89 24 48       	mov    %r12w,(%rax,%rcx,2)
140021509:	48 83 c4 20          	add    $0x20,%rsp
14002150d:	41 5f                	pop    %r15
14002150f:	41 5e                	pop    %r14
140021511:	41 5c                	pop    %r12
140021513:	c3                   	ret
140021514:	b9 57 00 07 80       	mov    $0x80070057,%ecx
140021519:	e8 b2 d0 ff ff       	call   0x14001e5d0
14002151e:	cc                   	int3
14002151f:	90                   	nop
140021520:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140021525:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
14002152a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14002152f:	57                   	push   %rdi
140021530:	41 56                	push   %r14
140021532:	41 57                	push   %r15
140021534:	48 83 ec 20          	sub    $0x20,%rsp
140021538:	44 0f b7 f2          	movzwl %dx,%r14d
14002153c:	8b f1                	mov    %ecx,%esi
14002153e:	33 d2                	xor    %edx,%edx
140021540:	48 8d 0d 39 5e 0a 00 	lea    0xa5e39(%rip),%rcx        # 0x1400c7380
140021547:	e8 48 4a 03 00       	call   0x140055f94
14002154c:	41 bf 01 00 00 00    	mov    $0x1,%r15d
140021552:	48 8b d8             	mov    %rax,%rbx
140021555:	41 8b ff             	mov    %r15d,%edi
140021558:	48 85 c0             	test   %rax,%rax
14002155b:	74 55                	je     0x1400215b2
14002155d:	44 8b c6             	mov    %esi,%r8d
140021560:	41 c1 e8 04          	shr    $0x4,%r8d
140021564:	66 45 03 c7          	add    %r15w,%r8w
140021568:	41 0f b7 e8          	movzwl %r8w,%ebp
14002156c:	45 0f b7 ce          	movzwl %r14w,%r9d
140021570:	4c 8b c5             	mov    %rbp,%r8
140021573:	ba 06 00 00 00       	mov    $0x6,%edx
140021578:	48 8b cb             	mov    %rbx,%rcx
14002157b:	ff 15 77 db 04 00    	call   *0x4db77(%rip)        # 0x14006f0f8
140021581:	48 85 c0             	test   %rax,%rax
140021584:	74 0e                	je     0x140021594
140021586:	44 8b c6             	mov    %esi,%r8d
140021589:	48 8b d0             	mov    %rax,%rdx
14002158c:	48 8b cb             	mov    %rbx,%rcx
14002158f:	e8 c0 07 00 00       	call   0x140021d54
140021594:	48 85 c0             	test   %rax,%rax
140021597:	75 34                	jne    0x1400215cd
140021599:	8b d7                	mov    %edi,%edx
14002159b:	48 8d 0d de 5d 0a 00 	lea    0xa5dde(%rip),%rcx        # 0x1400c7380
1400215a2:	41 03 ff             	add    %r15d,%edi
1400215a5:	e8 ea 49 03 00       	call   0x140055f94
1400215aa:	48 8b d8             	mov    %rax,%rbx
1400215ad:	48 85 c0             	test   %rax,%rax
1400215b0:	75 ba                	jne    0x14002156c
1400215b2:	33 c0                	xor    %eax,%eax
1400215b4:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
1400215b9:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
1400215be:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
1400215c3:	48 83 c4 20          	add    $0x20,%rsp
1400215c7:	41 5f                	pop    %r15
1400215c9:	41 5e                	pop    %r14
1400215cb:	5f                   	pop    %rdi
1400215cc:	c3                   	ret
1400215cd:	48 8b c3             	mov    %rbx,%rax
1400215d0:	eb e2                	jmp    0x1400215b4
1400215d2:	cc                   	int3
1400215d3:	90                   	nop
1400215d4:	90                   	nop
1400215d5:	90                   	nop
1400215d6:	90                   	nop
1400215d7:	90                   	nop
1400215d8:	90                   	nop
1400215d9:	90                   	nop
1400215da:	90                   	nop
1400215db:	90                   	nop
1400215dc:	90                   	nop
1400215dd:	90                   	nop
1400215de:	90                   	nop
1400215df:	90                   	nop
1400215e0:	48 85 d2             	test   %rdx,%rdx
1400215e3:	74 56                	je     0x14002163b
1400215e5:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1400215ea:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
1400215ef:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1400215f4:	57                   	push   %rdi
1400215f5:	48 83 ec 20          	sub    $0x20,%rsp
1400215f9:	48 8b ea             	mov    %rdx,%rbp
1400215fc:	48 8b f1             	mov    %rcx,%rsi
1400215ff:	33 db                	xor    %ebx,%ebx
140021601:	48 8b 3c de          	mov    (%rsi,%rbx,8),%rdi
140021605:	48 85 ff             	test   %rdi,%rdi
140021608:	74 10                	je     0x14002161a
14002160a:	48 8b cf             	mov    %rdi,%rcx
14002160d:	e8 36 fd ff ff       	call   0x140021348
140021612:	48 8b cf             	mov    %rdi,%rcx
140021615:	e8 c6 42 03 00       	call   0x1400558e0
14002161a:	48 83 24 de 00       	andq   $0x0,(%rsi,%rbx,8)
14002161f:	48 ff c3             	inc    %rbx
140021622:	48 3b dd             	cmp    %rbp,%rbx
140021625:	72 da                	jb     0x140021601
140021627:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14002162c:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
140021631:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
140021636:	48 83 c4 20          	add    $0x20,%rsp
14002163a:	5f                   	pop    %rdi
14002163b:	c3                   	ret
14002163c:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140021641:	57                   	push   %rdi
140021642:	48 83 ec 20          	sub    $0x20,%rsp
140021646:	48 8b d9             	mov    %rcx,%rbx
140021649:	48 8b 01             	mov    (%rcx),%rax
14002164c:	48 8d 50 e8          	lea    -0x18(%rax),%rdx
140021650:	48 8b 3a             	mov    (%rdx),%rdi
140021653:	33 c9                	xor    %ecx,%ecx
140021655:	39 4a 08             	cmp    %ecx,0x8(%rdx)
140021658:	74 49                	je     0x1400216a3
14002165a:	39 4a 10             	cmp    %ecx,0x10(%rdx)
14002165d:	7d 10                	jge    0x14002166f
14002165f:	39 48 f4             	cmp    %ecx,-0xc(%rax)
140021662:	7c 4a                	jl     0x1400216ae
140021664:	89 48 f0             	mov    %ecx,-0x10(%rax)
140021667:	48 8b 03             	mov    (%rbx),%rax
14002166a:	66 89 08             	mov    %cx,(%rax)
14002166d:	eb 34                	jmp    0x1400216a3
14002166f:	83 c8 ff             	or     $0xffffffff,%eax
140021672:	f0 0f c1 42 10       	lock xadd %eax,0x10(%rdx)
140021677:	83 e8 01             	sub    $0x1,%eax
14002167a:	7f 10                	jg     0x14002168c
14002167c:	48 8b 0a             	mov    (%rdx),%rcx
14002167f:	48 8b 01             	mov    (%rcx),%rax
140021682:	48 8b 40 08          	mov    0x8(%rax),%rax
140021686:	ff 15 fc df 04 00    	call   *0x4dffc(%rip)        # 0x14006f688
14002168c:	48 8b 07             	mov    (%rdi),%rax
14002168f:	48 8b cf             	mov    %rdi,%rcx
140021692:	48 8b 40 18          	mov    0x18(%rax),%rax
140021696:	ff 15 ec df 04 00    	call   *0x4dfec(%rip)        # 0x14006f688
14002169c:	48 83 c0 18          	add    $0x18,%rax
1400216a0:	48 89 03             	mov    %rax,(%rbx)
1400216a3:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1400216a8:	48 83 c4 20          	add    $0x20,%rsp
1400216ac:	5f                   	pop    %rdi
1400216ad:	c3                   	ret
1400216ae:	b9 57 00 07 80       	mov    $0x80070057,%ecx
1400216b3:	e8 18 cf ff ff       	call   0x14001e5d0
1400216b8:	cc                   	int3
1400216b9:	90                   	nop
1400216ba:	90                   	nop
1400216bb:	90                   	nop
1400216bc:	48 8b 0d dd 5b 0a 00 	mov    0xa5bdd(%rip),%rcx        # 0x1400c72a0
1400216c3:	48 85 c9             	test   %rcx,%rcx
1400216c6:	0f 85 3c 51 03 00    	jne    0x140056808
1400216cc:	b8 ff ff 00 80       	mov    $0x8000ffff,%eax
1400216d1:	c3                   	ret
1400216d2:	90                   	nop
1400216d3:	90                   	nop
1400216d4:	48 8b c4             	mov    %rsp,%rax
1400216d7:	48 89 58 08          	mov    %rbx,0x8(%rax)
1400216db:	48 89 68 10          	mov    %rbp,0x10(%rax)
1400216df:	48 89 70 18          	mov    %rsi,0x18(%rax)
1400216e3:	48 89 78 20          	mov    %rdi,0x20(%rax)
1400216e7:	41 54                	push   %r12
1400216e9:	41 56                	push   %r14
1400216eb:	41 57                	push   %r15
1400216ed:	48 83 ec 20          	sub    $0x20,%rsp
1400216f1:	4c 8b 31             	mov    (%rcx),%r14
1400216f4:	4c 8b e1             	mov    %rcx,%r12
1400216f7:	8b da                	mov    %edx,%ebx
1400216f9:	49 8d 76 e8          	lea    -0x18(%r14),%rsi
1400216fd:	48 8b 0e             	mov    (%rsi),%rcx
140021700:	8b 6e 08             	mov    0x8(%rsi),%ebp
140021703:	48 8b 01             	mov    (%rcx),%rax
140021706:	48 8b 40 20          	mov    0x20(%rax),%rax
14002170a:	ff 15 78 df 04 00    	call   *0x4df78(%rip)        # 0x14006f688
140021710:	48 8b c8             	mov    %rax,%rcx
140021713:	41 b8 02 00 00 00    	mov    $0x2,%r8d
140021719:	48 8b 10             	mov    (%rax),%rdx
14002171c:	48 8b 02             	mov    (%rdx),%rax
14002171f:	8b d3                	mov    %ebx,%edx
140021721:	ff 15 61 df 04 00    	call   *0x4df61(%rip)        # 0x14006f688
140021727:	4c 8b f8             	mov    %rax,%r15
14002172a:	48 85 c0             	test   %rax,%rax
14002172d:	0f 84 8a 00 00 00    	je     0x1400217bd
140021733:	3b eb                	cmp    %ebx,%ebp
140021735:	48 8d 78 18          	lea    0x18(%rax),%rdi
140021739:	0f 4c dd             	cmovl  %ebp,%ebx
14002173c:	ff c3                	inc    %ebx
14002173e:	4c 63 c3             	movslq %ebx,%r8
140021741:	4d 03 c0             	add    %r8,%r8
140021744:	74 30                	je     0x140021776
140021746:	48 85 ff             	test   %rdi,%rdi
140021749:	74 19                	je     0x140021764
14002174b:	48 8b cf             	mov    %rdi,%rcx
14002174e:	4d 85 f6             	test   %r14,%r14
140021751:	74 0a                	je     0x14002175d
140021753:	49 8b d6             	mov    %r14,%rdx
140021756:	e8 b5 8b 04 00       	call   0x14006a310
14002175b:	eb 19                	jmp    0x140021776
14002175d:	33 d2                	xor    %edx,%edx
14002175f:	e8 b2 8b 04 00       	call   0x14006a316
140021764:	ff 15 ce dc 04 00    	call   *0x4dcce(%rip)        # 0x14006f438
14002176a:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
140021770:	ff 15 62 dd 04 00    	call   *0x4dd62(%rip)        # 0x14006f4d8
140021776:	41 89 6f 08          	mov    %ebp,0x8(%r15)
14002177a:	83 c8 ff             	or     $0xffffffff,%eax
14002177d:	f0 0f c1 46 10       	lock xadd %eax,0x10(%rsi)
140021782:	83 e8 01             	sub    $0x1,%eax
140021785:	7f 13                	jg     0x14002179a
140021787:	48 8b 0e             	mov    (%rsi),%rcx
14002178a:	48 8b d6             	mov    %rsi,%rdx
14002178d:	48 8b 01             	mov    (%rcx),%rax
140021790:	48 8b 40 08          	mov    0x8(%rax),%rax
140021794:	ff 15 ee de 04 00    	call   *0x4deee(%rip)        # 0x14006f688
14002179a:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
14002179f:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
1400217a4:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
1400217a9:	49 89 3c 24          	mov    %rdi,(%r12)
1400217ad:	48 8b 7c 24 58       	mov    0x58(%rsp),%rdi
1400217b2:	48 83 c4 20          	add    $0x20,%rsp
1400217b6:	41 5f                	pop    %r15
1400217b8:	41 5e                	pop    %r14
1400217ba:	41 5c                	pop    %r12
1400217bc:	c3                   	ret
1400217bd:	e8 82 05 00 00       	call   0x140021d44
1400217c2:	cc                   	int3
1400217c3:	90                   	nop
1400217c4:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
1400217c9:	57                   	push   %rdi
1400217ca:	48 83 ec 40          	sub    $0x40,%rsp
1400217ce:	e8 fd d3 ff ff       	call   0x14001ebd0
1400217d3:	48 8b c8             	mov    %rax,%rcx
1400217d6:	33 ff                	xor    %edi,%edi
1400217d8:	48 85 c0             	test   %rax,%rax
1400217db:	0f 84 de 00 00 00    	je     0x1400218bf
1400217e1:	48 8b 00             	mov    (%rax),%rax
1400217e4:	48 8b 40 18          	mov    0x18(%rax),%rax
1400217e8:	ff 15 9a de 04 00    	call   *0x4de9a(%rip)        # 0x14006f688
1400217ee:	48 83 c0 18          	add    $0x18,%rax
1400217f2:	48 89 44 24 50       	mov    %rax,0x50(%rsp)
1400217f7:	48 8d 15 22 71 05 00 	lea    0x57122(%rip),%rdx        # 0x140078920
1400217fe:	49 83 c8 ff          	or     $0xffffffffffffffff,%r8
140021802:	49 ff c0             	inc    %r8