140255498:	48 8b 06             	mov    (%rsi),%rax
14025549b:	48 8b 0f             	mov    (%rdi),%rcx
14025549e:	48 89 07             	mov    %rax,(%rdi)
1402554a1:	48 8b 46 08          	mov    0x8(%rsi),%rax
1402554a5:	48 89 0e             	mov    %rcx,(%rsi)
1402554a8:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
1402554ac:	48 89 47 08          	mov    %rax,0x8(%rdi)
1402554b0:	48 89 4e 08          	mov    %rcx,0x8(%rsi)
1402554b4:	e9 c8 fe ff ff       	jmp    0x140255381
1402554b9:	48 89 5d 08          	mov    %rbx,0x8(%rbp)
1402554bd:	48 8b c5             	mov    %rbp,%rax
1402554c0:	48 8b 5c 24 68       	mov    0x68(%rsp),%rbx
1402554c5:	4c 89 7d 00          	mov    %r15,0x0(%rbp)
1402554c9:	48 83 c4 20          	add    $0x20,%rsp
1402554cd:	41 5f                	pop    %r15
1402554cf:	41 5e                	pop    %r14
1402554d1:	41 5d                	pop    %r13
1402554d3:	41 5c                	pop    %r12
1402554d5:	5f                   	pop    %rdi
1402554d6:	5e                   	pop    %rsi
1402554d7:	5d                   	pop    %rbp
1402554d8:	c3                   	ret
1402554d9:	90                   	nop
1402554da:	90                   	nop
1402554db:	90                   	nop
1402554dc:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
1402554e1:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
1402554e6:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
1402554eb:	55                   	push   %rbp
1402554ec:	56                   	push   %rsi
1402554ed:	57                   	push   %rdi
1402554ee:	41 54                	push   %r12
1402554f0:	41 55                	push   %r13
1402554f2:	41 56                	push   %r14
1402554f4:	41 57                	push   %r15
1402554f6:	48 83 ec 20          	sub    $0x20,%rsp
1402554fa:	4d 8b f8             	mov    %r8,%r15
1402554fd:	49 8d 78 f0          	lea    -0x10(%r8),%rdi
140255501:	4c 2b fa             	sub    %rdx,%r15
140255504:	48 8b f7             	mov    %rdi,%rsi
140255507:	49 c1 ff 05          	sar    $0x5,%r15
14025550b:	48 2b f2             	sub    %rdx,%rsi
14025550e:	49 c1 e7 04          	shl    $0x4,%r15
140255512:	48 8b e9             	mov    %rcx,%rbp
140255515:	4c 03 fa             	add    %rdx,%r15
140255518:	48 c1 fe 04          	sar    $0x4,%rsi
14025551c:	49 8b d9             	mov    %r9,%rbx
14025551f:	4d 8b e8             	mov    %r8,%r13
140255522:	4c 8b e2             	mov    %rdx,%r12
140255525:	48 8b ca             	mov    %rdx,%rcx
140255528:	48 83 fe 28          	cmp    $0x28,%rsi
14025552c:	7e 67                	jle    0x140255595
14025552e:	48 ff c6             	inc    %rsi
140255531:	48 c1 fe 03          	sar    $0x3,%rsi
140255535:	4c 8b f6             	mov    %rsi,%r14
140255538:	48 c1 e6 04          	shl    $0x4,%rsi
14025553c:	49 c1 e6 05          	shl    $0x5,%r14
140255540:	48 8d 2c 16          	lea    (%rsi,%rdx,1),%rbp
140255544:	4d 8d 04 16          	lea    (%r14,%rdx,1),%r8
140255548:	48 8b d5             	mov    %rbp,%rdx
14025554b:	e8 8c 08 00 00       	call   0x140255ddc
140255550:	49 8b cf             	mov    %r15,%rcx
140255553:	4e 8d 04 3e          	lea    (%rsi,%r15,1),%r8
140255557:	48 2b ce             	sub    %rsi,%rcx
14025555a:	4c 8b cb             	mov    %rbx,%r9
14025555d:	49 8b d7             	mov    %r15,%rdx
140255560:	e8 77 08 00 00       	call   0x140255ddc
140255565:	4d 8d 45 f0          	lea    -0x10(%r13),%r8
140255569:	48 2b fe             	sub    %rsi,%rdi
14025556c:	49 8b c8             	mov    %r8,%rcx
14025556f:	4c 8b cb             	mov    %rbx,%r9
140255572:	49 2b ce             	sub    %r14,%rcx
140255575:	48 8b d7             	mov    %rdi,%rdx
140255578:	e8 5f 08 00 00       	call   0x140255ddc
14025557d:	4c 8b cb             	mov    %rbx,%r9
140255580:	4c 8b c7             	mov    %rdi,%r8
140255583:	49 8b d7             	mov    %r15,%rdx
140255586:	48 8b cd             	mov    %rbp,%rcx
140255589:	e8 4e 08 00 00       	call   0x140255ddc
14025558e:	48 8b 6c 24 60       	mov    0x60(%rsp),%rbp
140255593:	eb 0b                	jmp    0x1402555a0
140255595:	4c 8b c7             	mov    %rdi,%r8
140255598:	49 8b d7             	mov    %r15,%rdx
14025559b:	e8 3c 08 00 00       	call   0x140255ddc
1402555a0:	49 8d 5f 10          	lea    0x10(%r15),%rbx
1402555a4:	4d 3b e7             	cmp    %r15,%r12
1402555a7:	73 62                	jae    0x14025560b
1402555a9:	49 8d 7f f0          	lea    -0x10(%r15),%rdi
1402555ad:	4d 8b c7             	mov    %r15,%r8
1402555b0:	48 8b d7             	mov    %rdi,%rdx
1402555b3:	48 8d 4c 24 78       	lea    0x78(%rsp),%rcx
1402555b8:	e8 43 d5 ff ff       	call   0x140252b00
1402555bd:	84 c0                	test   %al,%al
1402555bf:	75 4a                	jne    0x14025560b
1402555c1:	4c 8b c7             	mov    %rdi,%r8
1402555c4:	48 8d 4c 24 78       	lea    0x78(%rsp),%rcx
1402555c9:	49 8b d7             	mov    %r15,%rdx
1402555cc:	e8 2f d5 ff ff       	call   0x140252b00
1402555d1:	84 c0                	test   %al,%al
1402555d3:	75 36                	jne    0x14025560b
1402555d5:	4c 8b ff             	mov    %rdi,%r15
1402555d8:	4c 3b e7             	cmp    %rdi,%r12
1402555db:	72 cc                	jb     0x1402555a9
1402555dd:	eb 2c                	jmp    0x14025560b
1402555df:	4d 8b c7             	mov    %r15,%r8
1402555e2:	48 8d 4c 24 78       	lea    0x78(%rsp),%rcx
1402555e7:	48 8b d3             	mov    %rbx,%rdx
1402555ea:	e8 11 d5 ff ff       	call   0x140252b00
1402555ef:	84 c0                	test   %al,%al
1402555f1:	75 1d                	jne    0x140255610
1402555f3:	4c 8b c3             	mov    %rbx,%r8
1402555f6:	48 8d 4c 24 78       	lea    0x78(%rsp),%rcx
1402555fb:	49 8b d7             	mov    %r15,%rdx
1402555fe:	e8 fd d4 ff ff       	call   0x140252b00
140255603:	84 c0                	test   %al,%al
140255605:	75 09                	jne    0x140255610
140255607:	48 83 c3 10          	add    $0x10,%rbx
14025560b:	49 3b dd             	cmp    %r13,%rbx
14025560e:	72 cf                	jb     0x1402555df
140255610:	48 8b fb             	mov    %rbx,%rdi
140255613:	49 8b f7             	mov    %r15,%rsi
140255616:	eb 51                	jmp    0x140255669
140255618:	4c 8b c7             	mov    %rdi,%r8
14025561b:	48 8d 4c 24 78       	lea    0x78(%rsp),%rcx
140255620:	49 8b d7             	mov    %r15,%rdx
140255623:	e8 d8 d4 ff ff       	call   0x140252b00
140255628:	84 c0                	test   %al,%al
14025562a:	75 39                	jne    0x140255665
14025562c:	4d 8b c7             	mov    %r15,%r8
14025562f:	48 8d 4c 24 78       	lea    0x78(%rsp),%rcx
140255634:	48 8b d7             	mov    %rdi,%rdx
140255637:	e8 c4 d4 ff ff       	call   0x140252b00
14025563c:	84 c0                	test   %al,%al
14025563e:	75 2e                	jne    0x14025566e
140255640:	48 3b df             	cmp    %rdi,%rbx
140255643:	74 1c                	je     0x140255661
140255645:	48 8b 07             	mov    (%rdi),%rax
140255648:	48 8b 0b             	mov    (%rbx),%rcx
14025564b:	48 89 03             	mov    %rax,(%rbx)
14025564e:	48 8b 47 08          	mov    0x8(%rdi),%rax
140255652:	48 89 0f             	mov    %rcx,(%rdi)
140255655:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
140255659:	48 89 43 08          	mov    %rax,0x8(%rbx)
14025565d:	48 89 4f 08          	mov    %rcx,0x8(%rdi)
140255661:	48 83 c3 10          	add    $0x10,%rbx
140255665:	48 83 c7 10          	add    $0x10,%rdi
140255669:	49 3b fd             	cmp    %r13,%rdi
14025566c:	72 aa                	jb     0x140255618
14025566e:	49 3b f4             	cmp    %r12,%rsi
140255671:	76 61                	jbe    0x1402556d4
140255673:	4c 8d 76 f0          	lea    -0x10(%rsi),%r14
140255677:	4d 8b c7             	mov    %r15,%r8
14025567a:	48 8d 4c 24 78       	lea    0x78(%rsp),%rcx
14025567f:	49 8b d6             	mov    %r14,%rdx
140255682:	e8 79 d4 ff ff       	call   0x140252b00
140255687:	84 c0                	test   %al,%al
140255689:	75 39                	jne    0x1402556c4
14025568b:	4d 8b c6             	mov    %r14,%r8
14025568e:	48 8d 4c 24 78       	lea    0x78(%rsp),%rcx
140255693:	49 8b d7             	mov    %r15,%rdx
140255696:	e8 65 d4 ff ff       	call   0x140252b00
14025569b:	84 c0                	test   %al,%al
14025569d:	75 32                	jne    0x1402556d1
14025569f:	49 83 ef 10          	sub    $0x10,%r15
1402556a3:	4d 3b fe             	cmp    %r14,%r15
1402556a6:	74 1c                	je     0x1402556c4
1402556a8:	49 8b 06             	mov    (%r14),%rax
1402556ab:	49 8b 0f             	mov    (%r15),%rcx
1402556ae:	49 89 07             	mov    %rax,(%r15)
1402556b1:	49 8b 46 08          	mov    0x8(%r14),%rax
1402556b5:	49 89 0e             	mov    %rcx,(%r14)
1402556b8:	49 8b 4f 08          	mov    0x8(%r15),%rcx
1402556bc:	49 89 47 08          	mov    %rax,0x8(%r15)
1402556c0:	49 89 4e 08          	mov    %rcx,0x8(%r14)
1402556c4:	48 83 ee 10          	sub    $0x10,%rsi
1402556c8:	49 83 ee 10          	sub    $0x10,%r14
1402556cc:	4c 3b e6             	cmp    %rsi,%r12
1402556cf:	72 a6                	jb     0x140255677
1402556d1:	49 3b f4             	cmp    %r12,%rsi
1402556d4:	75 53                	jne    0x140255729
1402556d6:	49 3b fd             	cmp    %r13,%rdi
1402556d9:	0f 84 be 00 00 00    	je     0x14025579d
1402556df:	48 3b df             	cmp    %rdi,%rbx
1402556e2:	74 1c                	je     0x140255700
1402556e4:	48 8b 03             	mov    (%rbx),%rax
1402556e7:	49 8b 0f             	mov    (%r15),%rcx
1402556ea:	49 89 07             	mov    %rax,(%r15)
1402556ed:	48 8b 43 08          	mov    0x8(%rbx),%rax
1402556f1:	48 89 0b             	mov    %rcx,(%rbx)
1402556f4:	49 8b 4f 08          	mov    0x8(%r15),%rcx
1402556f8:	49 89 47 08          	mov    %rax,0x8(%r15)
1402556fc:	48 89 4b 08          	mov    %rcx,0x8(%rbx)
140255700:	49 8b 0f             	mov    (%r15),%rcx
140255703:	48 83 c3 10          	add    $0x10,%rbx
140255707:	48 8b 07             	mov    (%rdi),%rax
14025570a:	49 89 07             	mov    %rax,(%r15)
14025570d:	48 8b 47 08          	mov    0x8(%rdi),%rax
140255711:	48 89 0f             	mov    %rcx,(%rdi)
140255714:	49 8b 4f 08          	mov    0x8(%r15),%rcx
140255718:	49 89 47 08          	mov    %rax,0x8(%r15)
14025571c:	49 83 c7 10          	add    $0x10,%r15
140255720:	48 89 4f 08          	mov    %rcx,0x8(%rdi)
140255724:	e9 3c ff ff ff       	jmp    0x140255665
140255729:	48 83 c6 f0          	add    $0xfffffffffffffff0,%rsi
14025572d:	49 3b fd             	cmp    %r13,%rdi
140255730:	75 4a                	jne    0x14025577c
140255732:	49 83 ef 10          	sub    $0x10,%r15
140255736:	49 8d 57 08          	lea    0x8(%r15),%rdx
14025573a:	49 3b f7             	cmp    %r15,%rsi
14025573d:	74 1a                	je     0x140255759
14025573f:	49 8b 07             	mov    (%r15),%rax
140255742:	48 8b 0e             	mov    (%rsi),%rcx
140255745:	48 89 06             	mov    %rax,(%rsi)
140255748:	48 8b 02             	mov    (%rdx),%rax
14025574b:	49 89 0f             	mov    %rcx,(%r15)
14025574e:	48 8b 4e 08          	mov    0x8(%rsi),%rcx
140255752:	48 89 46 08          	mov    %rax,0x8(%rsi)
140255756:	48 89 0a             	mov    %rcx,(%rdx)
140255759:	49 8b 0f             	mov    (%r15),%rcx
14025575c:	48 83 eb 10          	sub    $0x10,%rbx
140255760:	48 8b 03             	mov    (%rbx),%rax
140255763:	49 89 07             	mov    %rax,(%r15)
140255766:	48 8b 43 08          	mov    0x8(%rbx),%rax
14025576a:	48 89 0b             	mov    %rcx,(%rbx)
14025576d:	48 8b 0a             	mov    (%rdx),%rcx
140255770:	48 89 02             	mov    %rax,(%rdx)
140255773:	48 89 4b 08          	mov    %rcx,0x8(%rbx)
140255777:	e9 ed fe ff ff       	jmp    0x140255669
14025577c:	48 8b 06             	mov    (%rsi),%rax
14025577f:	48 8b 0f             	mov    (%rdi),%rcx
140255782:	48 89 07             	mov    %rax,(%rdi)
140255785:	48 8b 46 08          	mov    0x8(%rsi),%rax
140255789:	48 89 0e             	mov    %rcx,(%rsi)
14025578c:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
140255790:	48 89 47 08          	mov    %rax,0x8(%rdi)
140255794:	48 89 4e 08          	mov    %rcx,0x8(%rsi)
140255798:	e9 c8 fe ff ff       	jmp    0x140255665
14025579d:	48 89 5d 08          	mov    %rbx,0x8(%rbp)
1402557a1:	48 8b c5             	mov    %rbp,%rax
1402557a4:	48 8b 5c 24 68       	mov    0x68(%rsp),%rbx
1402557a9:	4c 89 7d 00          	mov    %r15,0x0(%rbp)
1402557ad:	48 83 c4 20          	add    $0x20,%rsp
1402557b1:	41 5f                	pop    %r15
1402557b3:	41 5e                	pop    %r14
1402557b5:	41 5d                	pop    %r13
1402557b7:	41 5c                	pop    %r12
1402557b9:	5f                   	pop    %rdi
1402557ba:	5e                   	pop    %rsi
1402557bb:	5d                   	pop    %rbp
1402557bc:	c3                   	ret
1402557bd:	90                   	nop
1402557be:	90                   	nop
1402557bf:	90                   	nop
1402557c0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1402557c5:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
1402557ca:	57                   	push   %rdi
1402557cb:	48 83 ec 20          	sub    $0x20,%rsp
1402557cf:	49 8b f8             	mov    %r8,%rdi
1402557d2:	48 8b f2             	mov    %rdx,%rsi
1402557d5:	48 8b d9             	mov    %rcx,%rbx
1402557d8:	48 3b ca             	cmp    %rdx,%rcx
1402557db:	74 47                	je     0x140255824
1402557dd:	48 8b 03             	mov    (%rbx),%rax
1402557e0:	48 83 23 00          	andq   $0x0,(%rbx)
1402557e4:	4c 8b 43 08          	mov    0x8(%rbx),%r8
1402557e8:	48 83 63 08 00       	andq   $0x0,0x8(%rbx)
1402557ed:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
1402557f1:	48 89 07             	mov    %rax,(%rdi)
1402557f4:	4c 89 47 08          	mov    %r8,0x8(%rdi)
1402557f8:	48 85 c9             	test   %rcx,%rcx
1402557fb:	74 1a                	je     0x140255817
1402557fd:	83 c8 ff             	or     $0xffffffff,%eax
140255800:	f0 0f c1 41 0c       	lock xadd %eax,0xc(%rcx)
140255805:	83 f8 01             	cmp    $0x1,%eax
140255808:	75 0d                	jne    0x140255817
14025580a:	48 8b 01             	mov    (%rcx),%rax
14025580d:	48 8b 40 08          	mov    0x8(%rax),%rax
140255811:	ff 15 21 74 8b 00    	call   *0x8b7421(%rip)        # 0x140b0cc38
140255817:	48 83 c7 10          	add    $0x10,%rdi
14025581b:	48 83 c3 10          	add    $0x10,%rbx
14025581f:	48 3b de             	cmp    %rsi,%rbx
140255822:	75 b9                	jne    0x1402557dd
140255824:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140255829:	48 8b c7             	mov    %rdi,%rax
14025582c:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140255831:	48 83 c4 20          	add    $0x20,%rsp
140255835:	5f                   	pop    %rdi
140255836:	c3                   	ret
140255837:	90                   	nop
140255838:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14025583d:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140255842:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140255847:	57                   	push   %rdi
140255848:	41 54                	push   %r12
14025584a:	41 55                	push   %r13
14025584c:	41 56                	push   %r14
14025584e:	41 57                	push   %r15
140255850:	48 83 ec 20          	sub    $0x20,%rsp
140255854:	4d 8d 68 ff          	lea    -0x1(%r8),%r13
140255858:	4d 8b e1             	mov    %r9,%r12
14025585b:	4d 8b f5             	mov    %r13,%r14
14025585e:	49 8b e8             	mov    %r8,%rbp
140255861:	49 d1 fe             	sar    $1,%r14
140255864:	48 8b fa             	mov    %rdx,%rdi
140255867:	48 8b f1             	mov    %rcx,%rsi
14025586a:	4c 8b fa             	mov    %rdx,%r15
14025586d:	48 8b da             	mov    %rdx,%rbx
140255870:	49 3b d6             	cmp    %r14,%rdx
140255873:	7d 47                	jge    0x1402558bc
140255875:	48 8b 4c 24 70       	mov    0x70(%rsp),%rcx
14025587a:	48 03 db             	add    %rbx,%rbx
14025587d:	48 8d 53 02          	lea    0x2(%rbx),%rdx
140255881:	48 c1 e2 04          	shl    $0x4,%rdx
140255885:	48 03 d6             	add    %rsi,%rdx
140255888:	4c 8d 42 f0          	lea    -0x10(%rdx),%r8
14025588c:	e8 9b bd ff ff       	call   0x14025162c
140255891:	0f b6 c0             	movzbl %al,%eax
140255894:	48 03 ff             	add    %rdi,%rdi
140255897:	48 83 f0 01          	xor    $0x1,%rax
14025589b:	48 ff c0             	inc    %rax
14025589e:	48 03 d8             	add    %rax,%rbx
1402558a1:	48 8b d3             	mov    %rbx,%rdx
1402558a4:	48 8d 0c fe          	lea    (%rsi,%rdi,8),%rcx
1402558a8:	48 c1 e2 04          	shl    $0x4,%rdx
1402558ac:	48 03 d6             	add    %rsi,%rdx
1402558af:	e8 30 0a db ff       	call   0x1400062e4
1402558b4:	48 8b fb             	mov    %rbx,%rdi
1402558b7:	49 3b de             	cmp    %r14,%rbx
1402558ba:	7c b9                	jl     0x140255875
1402558bc:	49 3b de             	cmp    %r14,%rbx
1402558bf:	75 20                	jne    0x1402558e1
1402558c1:	40 f6 c5 01          	test   $0x1,%bpl
1402558c5:	75 1a                	jne    0x1402558e1
1402558c7:	48 03 ff             	add    %rdi,%rdi
1402558ca:	48 c1 e5 04          	shl    $0x4,%rbp
1402558ce:	48 8d 56 f0          	lea    -0x10(%rsi),%rdx
1402558d2:	48 03 d5             	add    %rbp,%rdx
1402558d5:	48 8d 0c fe          	lea    (%rsi,%rdi,8),%rcx
1402558d9:	e8 06 0a db ff       	call   0x1400062e4
1402558de:	49 8b fd             	mov    %r13,%rdi
1402558e1:	4c 3b ff             	cmp    %rdi,%r15
1402558e4:	7d 3c                	jge    0x140255922
1402558e6:	48 8b 4c 24 70       	mov    0x70(%rsp),%rcx
1402558eb:	48 8d 5f ff          	lea    -0x1(%rdi),%rbx
1402558ef:	48 d1 fb             	sar    $1,%rbx
1402558f2:	4d 8b c4             	mov    %r12,%r8
1402558f5:	48 8b eb             	mov    %rbx,%rbp
1402558f8:	48 c1 e5 04          	shl    $0x4,%rbp
1402558fc:	48 03 ee             	add    %rsi,%rbp
1402558ff:	48 8b d5             	mov    %rbp,%rdx