1400206e5:	5f                   	pop    %rdi
1400206e6:	5e                   	pop    %rsi
1400206e7:	5b                   	pop    %rbx
1400206e8:	c3                   	ret
1400206e9:	e8 7a b6 ff ff       	call   0x14001bd68
1400206ee:	cc                   	int3
1400206ef:	90                   	nop
1400206f0:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
1400206f5:	53                   	push   %rbx
1400206f6:	56                   	push   %rsi
1400206f7:	57                   	push   %rdi
1400206f8:	41 54                	push   %r12
1400206fa:	41 55                	push   %r13
1400206fc:	41 56                	push   %r14
1400206fe:	41 57                	push   %r15
140020700:	48 83 ec 30          	sub    $0x30,%rsp
140020704:	4c 8b fa             	mov    %rdx,%r15
140020707:	48 8b f1             	mov    %rcx,%rsi
14002070a:	4c 8b ea             	mov    %rdx,%r13
14002070d:	4c 2b 29             	sub    (%rcx),%r13
140020710:	48 8b 41 08          	mov    0x8(%rcx),%rax
140020714:	48 2b 01             	sub    (%rcx),%rax
140020717:	48 c1 f8 04          	sar    $0x4,%rax
14002071b:	49 b9 ff ff ff ff ff 	movabs $0xfffffffffffffff,%r9
140020722:	ff ff 0f
140020725:	49 3b c1             	cmp    %r9,%rax
140020728:	0f 84 34 02 00 00    	je     0x140020962
14002072e:	4c 8d 60 01          	lea    0x1(%rax),%r12
140020732:	48 8b 49 10          	mov    0x10(%rcx),%rcx
140020736:	48 2b 0e             	sub    (%rsi),%rcx
140020739:	48 c1 f9 04          	sar    $0x4,%rcx
14002073d:	48 8b d1             	mov    %rcx,%rdx
140020740:	48 d1 ea             	shr    $1,%rdx
140020743:	49 8b c1             	mov    %r9,%rax
140020746:	48 2b c2             	sub    %rdx,%rax
140020749:	48 3b c8             	cmp    %rax,%rcx
14002074c:	76 05                	jbe    0x140020753
14002074e:	49 8b f9             	mov    %r9,%rdi
140020751:	eb 0b                	jmp    0x14002075e
140020753:	48 8d 3c 0a          	lea    (%rdx,%rcx,1),%rdi
140020757:	49 3b fc             	cmp    %r12,%rdi
14002075a:	49 0f 42 fc          	cmovb  %r12,%rdi
14002075e:	48 89 bc 24 88 00 00 	mov    %rdi,0x88(%rsp)
140020765:	00
140020766:	49 3b f9             	cmp    %r9,%rdi
140020769:	0f 87 ed 01 00 00    	ja     0x14002095c
14002076f:	48 c1 e7 04          	shl    $0x4,%rdi
140020773:	45 33 c9             	xor    %r9d,%r9d
140020776:	48 85 ff             	test   %rdi,%rdi
140020779:	75 0a                	jne    0x140020785
14002077b:	41 8b d9             	mov    %r9d,%ebx
14002077e:	48 89 5c 24 70       	mov    %rbx,0x70(%rsp)
140020783:	eb 5f                	jmp    0x1400207e4
140020785:	48 81 ff 00 10 00 00 	cmp    $0x1000,%rdi
14002078c:	72 2e                	jb     0x1400207bc
14002078e:	48 8d 4f 27          	lea    0x27(%rdi),%rcx
140020792:	48 3b cf             	cmp    %rdi,%rcx
140020795:	0f 86 c1 01 00 00    	jbe    0x14002095c
14002079b:	ff 15 27 c1 ae 00    	call   *0xaec127(%rip)        # 0x140b0c8c8
1400207a1:	45 33 c9             	xor    %r9d,%r9d
1400207a4:	48 85 c0             	test   %rax,%rax
1400207a7:	74 27                	je     0x1400207d0
1400207a9:	48 8d 58 27          	lea    0x27(%rax),%rbx
1400207ad:	48 83 e3 e0          	and    $0xffffffffffffffe0,%rbx
1400207b1:	48 89 43 f8          	mov    %rax,-0x8(%rbx)
1400207b5:	48 89 5c 24 70       	mov    %rbx,0x70(%rsp)
1400207ba:	eb 20                	jmp    0x1400207dc
1400207bc:	48 8b cf             	mov    %rdi,%rcx
1400207bf:	ff 15 03 c1 ae 00    	call   *0xaec103(%rip)        # 0x140b0c8c8
1400207c5:	48 8b d8             	mov    %rax,%rbx
1400207c8:	45 33 c9             	xor    %r9d,%r9d
1400207cb:	48 85 c0             	test   %rax,%rax
1400207ce:	75 07                	jne    0x1400207d7
1400207d0:	ff 15 c2 bc ae 00    	call   *0xaebcc2(%rip)        # 0x140b0c498
1400207d6:	cc                   	int3
1400207d7:	48 89 44 24 70       	mov    %rax,0x70(%rsp)
1400207dc:	4c 8b 84 24 80 00 00 	mov    0x80(%rsp),%r8
1400207e3:	00
1400207e4:	49 83 e5 f0          	and    $0xfffffffffffffff0,%r13
1400207e8:	4a 8d 0c 2b          	lea    (%rbx,%r13,1),%rcx
1400207ec:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
1400207f1:	4c 8d 71 10          	lea    0x10(%rcx),%r14
1400207f5:	4c 89 74 24 28       	mov    %r14,0x28(%rsp)
1400207fa:	4c 89 09             	mov    %r9,(%rcx)
1400207fd:	4c 89 49 08          	mov    %r9,0x8(%rcx)
140020801:	49 8b 40 08          	mov    0x8(%r8),%rax
140020805:	48 85 c0             	test   %rax,%rax
140020808:	74 04                	je     0x14002080e
14002080a:	f0 ff 40 08          	lock incl 0x8(%rax)
14002080e:	49 8b 00             	mov    (%r8),%rax
140020811:	48 89 01             	mov    %rax,(%rcx)
140020814:	49 8b 40 08          	mov    0x8(%r8),%rax
140020818:	48 89 41 08          	mov    %rax,0x8(%rcx)
14002081c:	48 89 4c 24 78       	mov    %rcx,0x78(%rsp)
140020821:	4c 8b 46 08          	mov    0x8(%rsi),%r8
140020825:	48 8b 16             	mov    (%rsi),%rdx
140020828:	48 8b cb             	mov    %rbx,%rcx
14002082b:	4d 3b f8             	cmp    %r8,%r15
14002082e:	75 57                	jne    0x140020887
140020830:	eb 24                	jmp    0x140020856
140020832:	4c 89 09             	mov    %r9,(%rcx)
140020835:	4c 89 49 08          	mov    %r9,0x8(%rcx)
140020839:	48 8b 02             	mov    (%rdx),%rax
14002083c:	48 89 01             	mov    %rax,(%rcx)
14002083f:	48 8b 42 08          	mov    0x8(%rdx),%rax
140020843:	48 89 41 08          	mov    %rax,0x8(%rcx)
140020847:	4c 89 0a             	mov    %r9,(%rdx)
14002084a:	4c 89 4a 08          	mov    %r9,0x8(%rdx)
14002084e:	48 83 c1 10          	add    $0x10,%rcx
140020852:	48 83 c2 10          	add    $0x10,%rdx
140020856:	49 3b d0             	cmp    %r8,%rdx
140020859:	75 d7                	jne    0x140020832
14002085b:	48 8b d1             	mov    %rcx,%rdx
14002085e:	e9 81 00 00 00       	jmp    0x1400208e4
140020863:	4c 89 09             	mov    %r9,(%rcx)
140020866:	4c 89 49 08          	mov    %r9,0x8(%rcx)
14002086a:	48 8b 02             	mov    (%rdx),%rax
14002086d:	48 89 01             	mov    %rax,(%rcx)
140020870:	48 8b 42 08          	mov    0x8(%rdx),%rax
140020874:	48 89 41 08          	mov    %rax,0x8(%rcx)
140020878:	4c 89 0a             	mov    %r9,(%rdx)
14002087b:	4c 89 4a 08          	mov    %r9,0x8(%rdx)
14002087f:	48 83 c1 10          	add    $0x10,%rcx
140020883:	48 83 c2 10          	add    $0x10,%rdx
140020887:	49 3b d7             	cmp    %r15,%rdx
14002088a:	75 d7                	jne    0x140020863
14002088c:	48 8b d1             	mov    %rcx,%rdx
14002088f:	e8 dc d9 ff ff       	call   0x14001e270
140020894:	48 89 5c 24 78       	mov    %rbx,0x78(%rsp)
140020899:	48 8b 4e 08          	mov    0x8(%rsi),%rcx
14002089d:	4c 3b f9             	cmp    %rcx,%r15
1400208a0:	74 3c                	je     0x1400208de
1400208a2:	4d 2b fd             	sub    %r13,%r15
1400208a5:	4c 2b fb             	sub    %rbx,%r15
1400208a8:	49 83 26 00          	andq   $0x0,(%r14)
1400208ac:	49 83 66 08 00       	andq   $0x0,0x8(%r14)
1400208b1:	4b 8b 44 3e f0       	mov    -0x10(%r14,%r15,1),%rax
1400208b6:	49 89 06             	mov    %rax,(%r14)
1400208b9:	4b 8b 44 37 f8       	mov    -0x8(%r15,%r14,1),%rax
1400208be:	49 89 46 08          	mov    %rax,0x8(%r14)
1400208c2:	4b 83 64 3e f0 00    	andq   $0x0,-0x10(%r14,%r15,1)
1400208c8:	4b 83 64 37 f8 00    	andq   $0x0,-0x8(%r15,%r14,1)
1400208ce:	49 83 c6 10          	add    $0x10,%r14
1400208d2:	49 8d 47 f0          	lea    -0x10(%r15),%rax
1400208d6:	49 03 c6             	add    %r14,%rax
1400208d9:	48 3b c1             	cmp    %rcx,%rax
1400208dc:	75 ca                	jne    0x1400208a8
1400208de:	49 8b d6             	mov    %r14,%rdx
1400208e1:	49 8b ce             	mov    %r14,%rcx
1400208e4:	e8 87 d9 ff ff       	call   0x14001e270
1400208e9:	48 8b 0e             	mov    (%rsi),%rcx
1400208ec:	48 85 c9             	test   %rcx,%rcx
1400208ef:	74 39                	je     0x14002092a
1400208f1:	48 8b 56 08          	mov    0x8(%rsi),%rdx
1400208f5:	e8 76 d9 ff ff       	call   0x14001e270
1400208fa:	48 8b 0e             	mov    (%rsi),%rcx
1400208fd:	48 8b 46 10          	mov    0x10(%rsi),%rax
140020901:	48 2b c1             	sub    %rcx,%rax
140020904:	48 83 e0 f0          	and    $0xfffffffffffffff0,%rax
140020908:	48 3d 00 10 00 00    	cmp    $0x1000,%rax
14002090e:	72 14                	jb     0x140020924
140020910:	48 8b 51 f8          	mov    -0x8(%rcx),%rdx
140020914:	48 2b ca             	sub    %rdx,%rcx
140020917:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
14002091b:	48 83 f8 1f          	cmp    $0x1f,%rax
14002091f:	77 34                	ja     0x140020955
140020921:	48 8b ca             	mov    %rdx,%rcx
140020924:	ff 15 96 bf ae 00    	call   *0xaebf96(%rip)        # 0x140b0c8c0
14002092a:	48 89 1e             	mov    %rbx,(%rsi)
14002092d:	49 c1 e4 04          	shl    $0x4,%r12
140020931:	4c 03 e3             	add    %rbx,%r12
140020934:	4c 89 66 08          	mov    %r12,0x8(%rsi)
140020938:	48 8d 0c 1f          	lea    (%rdi,%rbx,1),%rcx
14002093c:	48 89 4e 10          	mov    %rcx,0x10(%rsi)
140020940:	48 8b 44 24 20       	mov    0x20(%rsp),%rax
140020945:	48 83 c4 30          	add    $0x30,%rsp
140020949:	41 5f                	pop    %r15
14002094b:	41 5e                	pop    %r14
14002094d:	41 5d                	pop    %r13
14002094f:	41 5c                	pop    %r12
140020951:	5f                   	pop    %rdi
140020952:	5e                   	pop    %rsi
140020953:	5b                   	pop    %rbx
140020954:	c3                   	ret
140020955:	ff 15 3d c0 ae 00    	call   *0xaec03d(%rip)        # 0x140b0c998
14002095b:	cc                   	int3
14002095c:	e8 6f 33 fe ff       	call   0x140003cd0
140020961:	cc                   	int3
140020962:	e8 01 b4 ff ff       	call   0x14001bd68
140020967:	cc                   	int3
140020968:	40 53                	rex push %rbx
14002096a:	56                   	push   %rsi
14002096b:	57                   	push   %rdi
14002096c:	41 54                	push   %r12
14002096e:	41 55                	push   %r13
140020970:	41 56                	push   %r14
140020972:	41 57                	push   %r15
140020974:	48 83 ec 30          	sub    $0x30,%rsp
140020978:	4d 8b e8             	mov    %r8,%r13
14002097b:	48 8b fa             	mov    %rdx,%rdi
14002097e:	48 8b f1             	mov    %rcx,%rsi
140020981:	4c 8b ca             	mov    %rdx,%r9
140020984:	4c 2b 09             	sub    (%rcx),%r9
140020987:	48 b8 67 66 66 66 66 	movabs $0x6666666666666667,%rax
14002098e:	66 66 66
140020991:	49 f7 e9             	imul   %r9
140020994:	4c 8b fa             	mov    %rdx,%r15
140020997:	49 c1 ff 04          	sar    $0x4,%r15
14002099b:	49 8b c7             	mov    %r15,%rax
14002099e:	48 c1 e8 3f          	shr    $0x3f,%rax
1400209a2:	4c 03 f8             	add    %rax,%r15
1400209a5:	48 8b 41 08          	mov    0x8(%rcx),%rax
1400209a9:	48 2b 01             	sub    (%rcx),%rax
1400209ac:	48 c1 f8 03          	sar    $0x3,%rax
1400209b0:	48 ba cd cc cc cc cc 	movabs $0xcccccccccccccccd,%rdx
1400209b7:	cc cc cc
1400209ba:	48 0f af c2          	imul   %rdx,%rax
1400209be:	49 b9 66 66 66 66 66 	movabs $0x666666666666666,%r9
1400209c5:	66 66 06
1400209c8:	49 3b c1             	cmp    %r9,%rax
1400209cb:	0f 84 fb 02 00 00    	je     0x140020ccc
1400209d1:	4c 8d 40 01          	lea    0x1(%rax),%r8
1400209d5:	4c 89 44 24 20       	mov    %r8,0x20(%rsp)
1400209da:	48 8b 49 10          	mov    0x10(%rcx),%rcx
1400209de:	48 2b 0e             	sub    (%rsi),%rcx
1400209e1:	48 c1 f9 03          	sar    $0x3,%rcx
1400209e5:	48 0f af ca          	imul   %rdx,%rcx
1400209e9:	48 8b d1             	mov    %rcx,%rdx
1400209ec:	48 d1 ea             	shr    $1,%rdx
1400209ef:	49 8b c1             	mov    %r9,%rax
1400209f2:	48 2b c2             	sub    %rdx,%rax
1400209f5:	48 3b c8             	cmp    %rax,%rcx
1400209f8:	76 05                	jbe    0x1400209ff
1400209fa:	49 8b c1             	mov    %r9,%rax
1400209fd:	eb 0b                	jmp    0x140020a0a
1400209ff:	48 8d 04 11          	lea    (%rcx,%rdx,1),%rax
140020a03:	49 3b c0             	cmp    %r8,%rax
140020a06:	49 0f 42 c0          	cmovb  %r8,%rax
140020a0a:	48 89 84 24 88 00 00 	mov    %rax,0x88(%rsp)
140020a11:	00
140020a12:	49 3b c1             	cmp    %r9,%rax
140020a15:	0f 87 ab 02 00 00    	ja     0x140020cc6
140020a1b:	48 8d 04 80          	lea    (%rax,%rax,4),%rax
140020a1f:	4c 8d 34 c5 00 00 00 	lea    0x0(,%rax,8),%r14
140020a26:	00
140020a27:	4d 85 f6             	test   %r14,%r14
140020a2a:	0f 85 e2 00 00 00    	jne    0x140020b12
140020a30:	33 db                	xor    %ebx,%ebx
140020a32:	48 89 5c 24 70       	mov    %rbx,0x70(%rsp)
140020a37:	4b 8d 04 bf          	lea    (%r15,%r15,4),%rax
140020a3b:	4c 8d 1c c5 00 00 00 	lea    0x0(,%rax,8),%r11
140020a42:	00
140020a43:	4e 8d 24 1b          	lea    (%rbx,%r11,1),%r12
140020a47:	49 8d 44 24 28       	lea    0x28(%r12),%rax
140020a4c:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140020a51:	49 8b 55 10          	mov    0x10(%r13),%rdx
140020a55:	45 33 ff             	xor    %r15d,%r15d
140020a58:	4d 89 7d 10          	mov    %r15,0x10(%r13)
140020a5c:	49 8b 4d 08          	mov    0x8(%r13),%rcx
140020a60:	4d 89 7d 08          	mov    %r15,0x8(%r13)
140020a64:	49 8b 45 00          	mov    0x0(%r13),%rax
140020a68:	4d 89 7d 00          	mov    %r15,0x0(%r13)
140020a6c:	49 89 04 24          	mov    %rax,(%r12)
140020a70:	49 89 4c 24 08       	mov    %rcx,0x8(%r12)
140020a75:	49 89 54 24 10       	mov    %rdx,0x10(%r12)
140020a7a:	4d 89 7c 24 18       	mov    %r15,0x18(%r12)
140020a7f:	4d 89 7c 24 20       	mov    %r15,0x20(%r12)
140020a84:	49 8b 45 18          	mov    0x18(%r13),%rax
140020a88:	49 89 44 24 18       	mov    %rax,0x18(%r12)
140020a8d:	49 8b 45 20          	mov    0x20(%r13),%rax
140020a91:	49 89 44 24 20       	mov    %rax,0x20(%r12)
140020a96:	4d 89 7d 18          	mov    %r15,0x18(%r13)
140020a9a:	4d 89 7d 20          	mov    %r15,0x20(%r13)
140020a9e:	4c 89 64 24 78       	mov    %r12,0x78(%rsp)
140020aa3:	4c 8b 56 08          	mov    0x8(%rsi),%r10
140020aa7:	4c 8b 06             	mov    (%rsi),%r8
140020aaa:	49 3b fa             	cmp    %r10,%rdi
140020aad:	0f 85 ad 00 00 00    	jne    0x140020b60
140020ab3:	4d 3b c2             	cmp    %r10,%r8
140020ab6:	0f 84 6f 01 00 00    	je     0x140020c2b
140020abc:	4c 8d 4b 20          	lea    0x20(%rbx),%r9
140020ac0:	49 8b 50 10          	mov    0x10(%r8),%rdx
140020ac4:	4d 89 78 10          	mov    %r15,0x10(%r8)
140020ac8:	49 8b 48 08          	mov    0x8(%r8),%rcx
140020acc:	4d 89 78 08          	mov    %r15,0x8(%r8)
140020ad0:	49 8b 00             	mov    (%r8),%rax
140020ad3:	4d 89 38             	mov    %r15,(%r8)
140020ad6:	49 89 41 e0          	mov    %rax,-0x20(%r9)
140020ada:	49 89 49 e8          	mov    %rcx,-0x18(%r9)
140020ade:	49 89 51 f0          	mov    %rdx,-0x10(%r9)
140020ae2:	4d 89 79 f8          	mov    %r15,-0x8(%r9)
140020ae6:	4d 89 39             	mov    %r15,(%r9)
140020ae9:	49 8b 40 18          	mov    0x18(%r8),%rax
140020aed:	49 89 41 f8          	mov    %rax,-0x8(%r9)
140020af1:	49 8b 40 20          	mov    0x20(%r8),%rax
140020af5:	49 89 01             	mov    %rax,(%r9)
140020af8:	4d 89 78 18          	mov    %r15,0x18(%r8)
140020afc:	4d 89 78 20          	mov    %r15,0x20(%r8)
140020b00:	4d 8d 49 28          	lea    0x28(%r9),%r9
140020b04:	49 83 c0 28          	add    $0x28,%r8
140020b08:	4d 3b c2             	cmp    %r10,%r8
140020b0b:	75 b3                	jne    0x140020ac0
140020b0d:	e9 19 01 00 00       	jmp    0x140020c2b
140020b12:	49 81 fe 00 10 00 00 	cmp    $0x1000,%r14
140020b19:	72 29                	jb     0x140020b44
140020b1b:	49 8d 4e 27          	lea    0x27(%r14),%rcx
140020b1f:	49 3b ce             	cmp    %r14,%rcx
140020b22:	0f 86 9e 01 00 00    	jbe    0x140020cc6
140020b28:	ff 15 9a bd ae 00    	call   *0xaebd9a(%rip)        # 0x140b0c8c8
140020b2e:	48 85 c0             	test   %rax,%rax
140020b31:	74 26                	je     0x140020b59
140020b33:	48 8d 58 27          	lea    0x27(%rax),%rbx
140020b37:	48 83 e3 e0          	and    $0xffffffffffffffe0,%rbx
140020b3b:	48 89 43 f8          	mov    %rax,-0x8(%rbx)
140020b3f:	e9 ee fe ff ff       	jmp    0x140020a32
140020b44:	49 8b ce             	mov    %r14,%rcx
140020b47:	ff 15 7b bd ae 00    	call   *0xaebd7b(%rip)        # 0x140b0c8c8
140020b4d:	48 8b d8             	mov    %rax,%rbx
140020b50:	48 85 c0             	test   %rax,%rax
140020b53:	0f 85 d9 fe ff ff    	jne    0x140020a32
140020b59:	ff 15 39 b9 ae 00    	call   *0xaeb939(%rip)        # 0x140b0c498
140020b5f:	90                   	nop
140020b60:	4c 3b c7             	cmp    %rdi,%r8
140020b63:	74 51                	je     0x140020bb6
140020b65:	4c 8d 4b 20          	lea    0x20(%rbx),%r9
140020b69:	49 8b 50 10          	mov    0x10(%r8),%rdx
140020b6d:	4d 89 78 10          	mov    %r15,0x10(%r8)
140020b71:	49 8b 48 08          	mov    0x8(%r8),%rcx
140020b75:	4d 89 78 08          	mov    %r15,0x8(%r8)
140020b79:	49 8b 00             	mov    (%r8),%rax
140020b7c:	4d 89 38             	mov    %r15,(%r8)
140020b7f:	49 89 41 e0          	mov    %rax,-0x20(%r9)
140020b83:	49 89 49 e8          	mov    %rcx,-0x18(%r9)
140020b87:	49 89 51 f0          	mov    %rdx,-0x10(%r9)
140020b8b:	4d 89 79 f8          	mov    %r15,-0x8(%r9)
140020b8f:	4d 89 39             	mov    %r15,(%r9)
140020b92:	49 8b 40 18          	mov    0x18(%r8),%rax
140020b96:	49 89 41 f8          	mov    %rax,-0x8(%r9)
140020b9a:	49 8b 40 20          	mov    0x20(%r8),%rax
140020b9e:	49 89 01             	mov    %rax,(%r9)
140020ba1:	4d 89 78 18          	mov    %r15,0x18(%r8)
140020ba5:	4d 89 78 20          	mov    %r15,0x20(%r8)
140020ba9:	4d 8d 49 28          	lea    0x28(%r9),%r9
140020bad:	49 83 c0 28          	add    $0x28,%r8
140020bb1:	4c 3b c7             	cmp    %rdi,%r8
140020bb4:	75 b3                	jne    0x140020b69
140020bb6:	48 89 5c 24 78       	mov    %rbx,0x78(%rsp)
140020bbb:	4c 8b 4e 08          	mov    0x8(%rsi),%r9
140020bbf:	49 3b f9             	cmp    %r9,%rdi
140020bc2:	74 67                	je     0x140020c2b