1400324d3:	48 d1 fe             	sar    $1,%rsi
1400324d6:	48 03 f1             	add    %rcx,%rsi
1400324d9:	49 8b cd             	mov    %r13,%rcx
1400324dc:	4c 8b 75 f8          	mov    -0x8(%rbp),%r14
1400324e0:	49 2b ce             	sub    %r14,%rcx
1400324e3:	48 83 e1 f0          	and    $0xfffffffffffffff0,%rcx
1400324e7:	4c 8b 7d f0          	mov    -0x10(%rbp),%r15
1400324eb:	49 8b c7             	mov    %r15,%rax
1400324ee:	48 2b c7             	sub    %rdi,%rax
1400324f1:	48 83 e0 f0          	and    $0xfffffffffffffff0,%rax
1400324f5:	4c 8b cb             	mov    %rbx,%r9
1400324f8:	4c 8b c6             	mov    %rsi,%r8
1400324fb:	48 3b c1             	cmp    %rcx,%rax
1400324fe:	7d 10                	jge    0x140032510
140032500:	49 8b d7             	mov    %r15,%rdx
140032503:	48 8b cf             	mov    %rdi,%rcx
140032506:	e8 6d ff ff ff       	call   0x140032478
14003250b:	49 8b fe             	mov    %r14,%rdi
14003250e:	eb 0e                	jmp    0x14003251e
140032510:	49 8b d5             	mov    %r13,%rdx
140032513:	49 8b ce             	mov    %r14,%rcx
140032516:	e8 5d ff ff ff       	call   0x140032478
14003251b:	4d 8b ef             	mov    %r15,%r13
14003251e:	49 8b c5             	mov    %r13,%rax
140032521:	48 2b c7             	sub    %rdi,%rax
140032524:	48 83 e0 f0          	and    $0xfffffffffffffff0,%rax
140032528:	49 3b c4             	cmp    %r12,%rax
14003252b:	7f 84                	jg     0x1400324b1
14003252d:	49 3b fd             	cmp    %r13,%rdi
140032530:	0f 84 cf 00 00 00    	je     0x140032605
140032536:	48 8d 77 10          	lea    0x10(%rdi),%rsi
14003253a:	49 3b f5             	cmp    %r13,%rsi
14003253d:	0f 84 c2 00 00 00    	je     0x140032605
140032543:	41 83 ce ff          	or     $0xffffffff,%r14d
140032547:	4c 8b e6             	mov    %rsi,%r12
14003254a:	48 8b 06             	mov    (%rsi),%rax
14003254d:	48 89 45 f0          	mov    %rax,-0x10(%rbp)
140032551:	48 8b 46 08          	mov    0x8(%rsi),%rax
140032555:	48 89 45 f8          	mov    %rax,-0x8(%rbp)
140032559:	48 83 26 00          	andq   $0x0,(%rsi)
14003255d:	48 83 66 08 00       	andq   $0x0,0x8(%rsi)
140032562:	48 8b 4b 38          	mov    0x38(%rbx),%rcx
140032566:	48 85 c9             	test   %rcx,%rcx
140032569:	0f 84 a1 02 00 00    	je     0x140032810
14003256f:	48 8b 01             	mov    (%rcx),%rax
140032572:	4c 8b c7             	mov    %rdi,%r8
140032575:	48 8d 55 f0          	lea    -0x10(%rbp),%rdx
140032579:	48 8b 40 10          	mov    0x10(%rax),%rax
14003257d:	ff 15 b5 a6 ad 00    	call   *0xada6b5(%rip)        # 0x140b0cc38
140032583:	4c 8b fe             	mov    %rsi,%r15
140032586:	84 c0                	test   %al,%al
140032588:	0f 84 49 02 00 00    	je     0x1400327d7
14003258e:	48 3b f7             	cmp    %rdi,%rsi
140032591:	74 14                	je     0x1400325a7
140032593:	49 8b cf             	mov    %r15,%rcx
140032596:	49 83 ef 10          	sub    $0x10,%r15
14003259a:	49 8b d7             	mov    %r15,%rdx
14003259d:	e8 42 3d fd ff       	call   0x1400062e4
1400325a2:	4c 3b ff             	cmp    %rdi,%r15
1400325a5:	75 ec                	jne    0x140032593
1400325a7:	48 8b cf             	mov    %rdi,%rcx
1400325aa:	48 8d 55 f0          	lea    -0x10(%rbp),%rdx
1400325ae:	e8 31 3d fd ff       	call   0x1400062e4
1400325b3:	90                   	nop
1400325b4:	4c 8b 7d f8          	mov    -0x8(%rbp),%r15
1400325b8:	4d 85 ff             	test   %r15,%r15
1400325bb:	74 3b                	je     0x1400325f8
1400325bd:	41 8b c6             	mov    %r14d,%eax
1400325c0:	f0 41 0f c1 47 08    	lock xadd %eax,0x8(%r15)
1400325c6:	41 03 c6             	add    %r14d,%eax
1400325c9:	75 2d                	jne    0x1400325f8
1400325cb:	49 8b 07             	mov    (%r15),%rax
1400325ce:	49 8b cf             	mov    %r15,%rcx
1400325d1:	48 8b 00             	mov    (%rax),%rax
1400325d4:	ff 15 5e a6 ad 00    	call   *0xada65e(%rip)        # 0x140b0cc38
1400325da:	41 8b c6             	mov    %r14d,%eax
1400325dd:	f0 41 0f c1 47 0c    	lock xadd %eax,0xc(%r15)
1400325e3:	41 03 c6             	add    %r14d,%eax
1400325e6:	75 10                	jne    0x1400325f8
1400325e8:	49 8b 07             	mov    (%r15),%rax
1400325eb:	49 8b cf             	mov    %r15,%rcx
1400325ee:	48 8b 40 08          	mov    0x8(%rax),%rax
1400325f2:	ff 15 40 a6 ad 00    	call   *0xada640(%rip)        # 0x140b0cc38
1400325f8:	48 83 c6 10          	add    $0x10,%rsi
1400325fc:	49 3b f5             	cmp    %r13,%rsi
1400325ff:	0f 85 42 ff ff ff    	jne    0x140032547
140032605:	4c 8d 5c 24 40       	lea    0x40(%rsp),%r11
14003260a:	49 8b 5b 38          	mov    0x38(%r11),%rbx
14003260e:	49 8b 73 40          	mov    0x40(%r11),%rsi
140032612:	49 8b 7b 48          	mov    0x48(%r11),%rdi
140032616:	49 8b e3             	mov    %r11,%rsp
140032619:	41 5f                	pop    %r15
14003261b:	41 5e                	pop    %r14
14003261d:	41 5d                	pop    %r13
14003261f:	41 5c                	pop    %r12
140032621:	5d                   	pop    %rbp
140032622:	c3                   	ret
140032623:	4d 8b e5             	mov    %r13,%r12
140032626:	4c 2b e7             	sub    %rdi,%r12
140032629:	49 c1 fc 04          	sar    $0x4,%r12
14003262d:	4d 8b fc             	mov    %r12,%r15
140032630:	49 d1 ff             	sar    $1,%r15
140032633:	41 83 ce ff          	or     $0xffffffff,%r14d
140032637:	4d 85 ff             	test   %r15,%r15
14003263a:	0f 8e 89 00 00 00    	jle    0x1400326c9
140032640:	49 8b f7             	mov    %r15,%rsi
140032643:	48 c1 e6 04          	shl    $0x4,%rsi
140032647:	48 03 f7             	add    %rdi,%rsi
14003264a:	49 ff cf             	dec    %r15
14003264d:	48 8d 76 f0          	lea    -0x10(%rsi),%rsi
140032651:	48 8b 06             	mov    (%rsi),%rax
140032654:	48 89 45 f0          	mov    %rax,-0x10(%rbp)
140032658:	48 8b 46 08          	mov    0x8(%rsi),%rax
14003265c:	48 89 45 f8          	mov    %rax,-0x8(%rbp)
140032660:	48 83 26 00          	andq   $0x0,(%rsi)
140032664:	48 83 66 08 00       	andq   $0x0,0x8(%rsi)
140032669:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
14003266e:	4c 8d 4d f0          	lea    -0x10(%rbp),%r9
140032672:	4d 8b c4             	mov    %r12,%r8
140032675:	49 8b d7             	mov    %r15,%rdx
140032678:	48 8b cf             	mov    %rdi,%rcx
14003267b:	e8 cc 0e 00 00       	call   0x14003354c
140032680:	48 8b 4d f8          	mov    -0x8(%rbp),%rcx
140032684:	48 89 4d 30          	mov    %rcx,0x30(%rbp)
140032688:	48 85 c9             	test   %rcx,%rcx
14003268b:	74 37                	je     0x1400326c4
14003268d:	41 8b c6             	mov    %r14d,%eax
140032690:	f0 0f c1 41 08       	lock xadd %eax,0x8(%rcx)
140032695:	41 03 c6             	add    %r14d,%eax
140032698:	75 2a                	jne    0x1400326c4
14003269a:	48 8b 01             	mov    (%rcx),%rax
14003269d:	48 8b 00             	mov    (%rax),%rax
1400326a0:	ff 15 92 a5 ad 00    	call   *0xada592(%rip)        # 0x140b0cc38
1400326a6:	41 8b c6             	mov    %r14d,%eax
1400326a9:	48 8b 4d 30          	mov    0x30(%rbp),%rcx
1400326ad:	f0 0f c1 41 0c       	lock xadd %eax,0xc(%rcx)
1400326b2:	41 03 c6             	add    %r14d,%eax
1400326b5:	75 0d                	jne    0x1400326c4
1400326b7:	48 8b 01             	mov    (%rcx),%rax
1400326ba:	48 8b 40 08          	mov    0x8(%rax),%rax
1400326be:	ff 15 74 a5 ad 00    	call   *0xada574(%rip)        # 0x140b0cc38
1400326c4:	4d 85 ff             	test   %r15,%r15
1400326c7:	7f 81                	jg     0x14003264a
1400326c9:	49 83 fc 02          	cmp    $0x2,%r12
1400326cd:	0f 8c 32 ff ff ff    	jl     0x140032605
1400326d3:	49 83 c5 f8          	add    $0xfffffffffffffff8,%r13
1400326d7:	49 c7 c4 f8 ff ff ff 	mov    $0xfffffffffffffff8,%r12
1400326de:	4c 2b e7             	sub    %rdi,%r12
1400326e1:	41 bf 08 00 00 00    	mov    $0x8,%r15d
1400326e7:	4c 2b ff             	sub    %rdi,%r15
1400326ea:	49 8b 45 f8          	mov    -0x8(%r13),%rax
1400326ee:	48 89 45 f0          	mov    %rax,-0x10(%rbp)
1400326f2:	49 8b 45 00          	mov    0x0(%r13),%rax
1400326f6:	48 89 45 f8          	mov    %rax,-0x8(%rbp)
1400326fa:	49 83 65 f8 00       	andq   $0x0,-0x8(%r13)
1400326ff:	49 83 65 00 00       	andq   $0x0,0x0(%r13)
140032704:	48 8b 07             	mov    (%rdi),%rax
140032707:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
14003270b:	48 83 27 00          	andq   $0x0,(%rdi)
14003270f:	48 83 67 08 00       	andq   $0x0,0x8(%rdi)
140032714:	49 89 45 f8          	mov    %rax,-0x8(%r13)
140032718:	49 8b 75 00          	mov    0x0(%r13),%rsi
14003271c:	49 89 4d 00          	mov    %rcx,0x0(%r13)
140032720:	48 85 f6             	test   %rsi,%rsi
140032723:	74 39                	je     0x14003275e
140032725:	41 8b c6             	mov    %r14d,%eax
140032728:	f0 0f c1 46 08       	lock xadd %eax,0x8(%rsi)
14003272d:	41 03 c6             	add    %r14d,%eax
140032730:	75 2c                	jne    0x14003275e
140032732:	48 8b 06             	mov    (%rsi),%rax
140032735:	48 8b ce             	mov    %rsi,%rcx
140032738:	48 8b 00             	mov    (%rax),%rax
14003273b:	ff 15 f7 a4 ad 00    	call   *0xada4f7(%rip)        # 0x140b0cc38
140032741:	41 8b c6             	mov    %r14d,%eax
140032744:	f0 0f c1 46 0c       	lock xadd %eax,0xc(%rsi)
140032749:	41 03 c6             	add    %r14d,%eax
14003274c:	75 10                	jne    0x14003275e
14003274e:	48 8b 06             	mov    (%rsi),%rax
140032751:	48 8b ce             	mov    %rsi,%rcx
140032754:	48 8b 40 08          	mov    0x8(%rax),%rax
140032758:	ff 15 da a4 ad 00    	call   *0xada4da(%rip)        # 0x140b0cc38
14003275e:	4f 8d 04 2c          	lea    (%r12,%r13,1),%r8
140032762:	49 c1 f8 04          	sar    $0x4,%r8
140032766:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
14003276b:	4c 8d 4d f0          	lea    -0x10(%rbp),%r9
14003276f:	33 d2                	xor    %edx,%edx
140032771:	48 8b cf             	mov    %rdi,%rcx
140032774:	e8 d3 0d 00 00       	call   0x14003354c
140032779:	90                   	nop
14003277a:	48 8b 75 f8          	mov    -0x8(%rbp),%rsi
14003277e:	48 85 f6             	test   %rsi,%rsi
140032781:	74 39                	je     0x1400327bc
140032783:	41 8b c6             	mov    %r14d,%eax
140032786:	f0 0f c1 46 08       	lock xadd %eax,0x8(%rsi)
14003278b:	41 03 c6             	add    %r14d,%eax
14003278e:	75 2c                	jne    0x1400327bc
140032790:	48 8b 06             	mov    (%rsi),%rax
140032793:	48 8b ce             	mov    %rsi,%rcx
140032796:	48 8b 00             	mov    (%rax),%rax
140032799:	ff 15 99 a4 ad 00    	call   *0xada499(%rip)        # 0x140b0cc38
14003279f:	41 8b c6             	mov    %r14d,%eax
1400327a2:	f0 0f c1 46 0c       	lock xadd %eax,0xc(%rsi)
1400327a7:	41 03 c6             	add    %r14d,%eax
1400327aa:	75 10                	jne    0x1400327bc
1400327ac:	48 8b 06             	mov    (%rsi),%rax
1400327af:	48 8b ce             	mov    %rsi,%rcx
1400327b2:	48 8b 40 08          	mov    0x8(%rax),%rax
1400327b6:	ff 15 7c a4 ad 00    	call   *0xada47c(%rip)        # 0x140b0cc38
1400327bc:	49 83 ed 10          	sub    $0x10,%r13
1400327c0:	4b 8d 04 2f          	lea    (%r15,%r13,1),%rax
1400327c4:	48 83 e0 f0          	and    $0xfffffffffffffff0,%rax
1400327c8:	48 83 f8 20          	cmp    $0x20,%rax
1400327cc:	0f 8d 18 ff ff ff    	jge    0x1400326ea
1400327d2:	e9 2e fe ff ff       	jmp    0x140032605
1400327d7:	49 83 ef 10          	sub    $0x10,%r15
1400327db:	48 8b 4b 38          	mov    0x38(%rbx),%rcx
1400327df:	48 85 c9             	test   %rcx,%rcx
1400327e2:	74 2c                	je     0x140032810
1400327e4:	48 8b 01             	mov    (%rcx),%rax
1400327e7:	4d 8b c7             	mov    %r15,%r8
1400327ea:	48 8d 55 f0          	lea    -0x10(%rbp),%rdx
1400327ee:	48 8b 40 10          	mov    0x10(%rax),%rax
1400327f2:	ff 15 40 a4 ad 00    	call   *0xada440(%rip)        # 0x140b0cc38
1400327f8:	49 8b cc             	mov    %r12,%rcx
1400327fb:	84 c0                	test   %al,%al
1400327fd:	0f 84 a7 fd ff ff    	je     0x1400325aa
140032803:	49 8b d7             	mov    %r15,%rdx
140032806:	e8 d9 3a fd ff       	call   0x1400062e4
14003280b:	4d 8b e7             	mov    %r15,%r12
14003280e:	eb c7                	jmp    0x1400327d7
140032810:	ff 15 a2 9c ad 00    	call   *0xad9ca2(%rip)        # 0x140b0c4b8
140032816:	cc                   	int3
140032817:	90                   	nop
140032818:	48 8b c4             	mov    %rsp,%rax
14003281b:	4c 89 48 20          	mov    %r9,0x20(%rax)
14003281f:	4c 89 40 18          	mov    %r8,0x18(%rax)
140032823:	48 89 50 10          	mov    %rdx,0x10(%rax)
140032827:	48 89 48 08          	mov    %rcx,0x8(%rax)
14003282b:	53                   	push   %rbx
14003282c:	56                   	push   %rsi
14003282d:	57                   	push   %rdi
14003282e:	41 54                	push   %r12
140032830:	41 55                	push   %r13
140032832:	41 56                	push   %r14
140032834:	41 57                	push   %r15
140032836:	48 83 ec 40          	sub    $0x40,%rsp
14003283a:	4d 8b f1             	mov    %r9,%r14
14003283d:	4d 8b e8             	mov    %r8,%r13
140032840:	48 8b da             	mov    %rdx,%rbx
140032843:	4c 8d 79 08          	lea    0x8(%rcx),%r15
140032847:	4c 89 7c 24 20       	mov    %r15,0x20(%rsp)
14003284c:	48 8b 39             	mov    (%rcx),%rdi
14003284f:	49 8b 37             	mov    (%r15),%rsi
140032852:	48 89 74 24 28       	mov    %rsi,0x28(%rsp)
140032857:	48 8b 51 10          	mov    0x10(%rcx),%rdx
14003285b:	48 8b c2             	mov    %rdx,%rax
14003285e:	48 2b c6             	sub    %rsi,%rax
140032861:	48 c1 f8 04          	sar    $0x4,%rax
140032865:	45 33 c0             	xor    %r8d,%r8d
140032868:	4d 85 c9             	test   %r9,%r9
14003286b:	0f 84 04 02 00 00    	je     0x140032a75
140032871:	4c 3b c8             	cmp    %rax,%r9
140032874:	0f 86 0b 02 00 00    	jbe    0x140032a85
14003287a:	48 8b ce             	mov    %rsi,%rcx
14003287d:	48 2b cf             	sub    %rdi,%rcx
140032880:	48 c1 f9 04          	sar    $0x4,%rcx
140032884:	49 bd ff ff ff ff ff 	movabs $0xfffffffffffffff,%r13
14003288b:	ff ff 0f
14003288e:	49 8b c5             	mov    %r13,%rax
140032891:	48 2b c1             	sub    %rcx,%rax
140032894:	4c 3b c8             	cmp    %rax,%r9
140032897:	0f 87 71 03 00 00    	ja     0x140032c0e
14003289d:	4e 8d 04 09          	lea    (%rcx,%r9,1),%r8
1400328a1:	4c 89 44 24 20       	mov    %r8,0x20(%rsp)
1400328a6:	48 2b d7             	sub    %rdi,%rdx
1400328a9:	48 c1 fa 04          	sar    $0x4,%rdx
1400328ad:	48 8b ca             	mov    %rdx,%rcx
1400328b0:	48 d1 e9             	shr    $1,%rcx
1400328b3:	49 8b c5             	mov    %r13,%rax
1400328b6:	48 2b c1             	sub    %rcx,%rax
1400328b9:	48 3b d0             	cmp    %rax,%rdx
1400328bc:	77 0b                	ja     0x1400328c9
1400328be:	4c 8d 2c 11          	lea    (%rcx,%rdx,1),%r13
1400328c2:	4d 3b e8             	cmp    %r8,%r13
1400328c5:	4d 0f 42 e8          	cmovb  %r8,%r13
1400328c9:	4c 89 ac 24 98 00 00 	mov    %r13,0x98(%rsp)
1400328d0:	00
1400328d1:	4c 89 ac 24 88 00 00 	mov    %r13,0x88(%rsp)
1400328d8:	00
1400328d9:	48 8d 94 24 88 00 00 	lea    0x88(%rsp),%rdx
1400328e0:	00
1400328e1:	e8 f2 f9 fe ff       	call   0x1400222d8
1400328e6:	4c 8b e0             	mov    %rax,%r12
1400328e9:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
1400328ee:	48 8b c3             	mov    %rbx,%rax
1400328f1:	48 2b c7             	sub    %rdi,%rax
1400328f4:	48 c1 f8 04          	sar    $0x4,%rax
1400328f8:	49 8d 0c 06          	lea    (%r14,%rax,1),%rcx
1400328fc:	48 c1 e1 04          	shl    $0x4,%rcx
140032900:	48 89 4c 24 28       	mov    %rcx,0x28(%rsp)
140032905:	4e 8d 3c 21          	lea    (%rcx,%r12,1),%r15
140032909:	4c 89 7c 24 30       	mov    %r15,0x30(%rsp)
14003290e:	48 03 c0             	add    %rax,%rax
140032911:	4d 8d 04 c4          	lea    (%r12,%rax,8),%r8
140032915:	4c 89 84 24 88 00 00 	mov    %r8,0x88(%rsp)
14003291c:	00
14003291d:	4d 8b ce             	mov    %r14,%r9
140032920:	49 8b c8             	mov    %r8,%rcx
140032923:	48 8b 84 24 90 00 00 	mov    0x90(%rsp),%rax
14003292a:	00
14003292b:	48 8d 50 08          	lea    0x8(%rax),%rdx
14003292f:	4c 2b c0             	sub    %rax,%r8
140032932:	48 83 21 00          	andq   $0x0,(%rcx)
140032936:	4a 83 24 02 00       	andq   $0x0,(%rdx,%r8,1)
14003293b:	48 8b 02             	mov    (%rdx),%rax
14003293e:	48 85 c0             	test   %rax,%rax
140032941:	74 04                	je     0x140032947
140032943:	f0 ff 40 08          	lock incl 0x8(%rax)
140032947:	48 8b 42 f8          	mov    -0x8(%rdx),%rax
14003294b:	48 89 01             	mov    %rax,(%rcx)
14003294e:	48 8b 02             	mov    (%rdx),%rax
140032951:	4a 89 04 02          	mov    %rax,(%rdx,%r8,1)
140032955:	48 83 c1 10          	add    $0x10,%rcx
140032959:	48 83 c2 10          	add    $0x10,%rdx
14003295d:	49 83 e9 01          	sub    $0x1,%r9
140032961:	75 cf                	jne    0x140032932
140032963:	48 8b d1             	mov    %rcx,%rdx
140032966:	e8 05 b9 fe ff       	call   0x14001e270
14003296b:	48 8b 84 24 88 00 00 	mov    0x88(%rsp),%rax
140032972:	00
140032973:	48 89 84 24 88 00 00 	mov    %rax,0x88(%rsp)
14003297a:	00
14003297b:	49 83 fe 01          	cmp    $0x1,%r14
14003297f:	75 47                	jne    0x1400329c8
140032981:	48 3b de             	cmp    %rsi,%rbx
140032984:	75 42                	jne    0x1400329c8
140032986:	49 8b cc             	mov    %r12,%rcx
140032989:	48 3b fe             	cmp    %rsi,%rdi
14003298c:	74 32                	je     0x1400329c0
14003298e:	49 2b fc             	sub    %r12,%rdi
140032991:	33 d2                	xor    %edx,%edx
140032993:	48 89 11             	mov    %rdx,(%rcx)
140032996:	48 89 51 08          	mov    %rdx,0x8(%rcx)
14003299a:	48 8b 04 39          	mov    (%rcx,%rdi,1),%rax
14003299e:	48 89 01             	mov    %rax,(%rcx)
1400329a1:	48 8b 44 39 08       	mov    0x8(%rcx,%rdi,1),%rax
1400329a6:	48 89 41 08          	mov    %rax,0x8(%rcx)
1400329aa:	48 89 14 39          	mov    %rdx,(%rcx,%rdi,1)
1400329ae:	48 89 54 39 08       	mov    %rdx,0x8(%rcx,%rdi,1)
1400329b3:	48 83 c1 10          	add    $0x10,%rcx