140064764:	56                   	push   %rsi
140064765:	57                   	push   %rdi
140064766:	53                   	push   %rbx
140064767:	48 83 ec 30          	sub    $0x30,%rsp
14006476b:	48 8b 05 ce c8 09 00 	mov    0x9c8ce(%rip),%rax        # 0x140101040
140064772:	48 31 e0             	xor    %rsp,%rax
140064775:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
14006477a:	4c 8b 31             	mov    (%rcx),%r14
14006477d:	4d 85 f6             	test   %r14,%r14
140064780:	75 23                	jne    0x1400647a5
140064782:	48 8b 4c 24 28       	mov    0x28(%rsp),%rcx
140064787:	48 31 e1             	xor    %rsp,%rcx
14006478a:	48 3b 0d af c8 09 00 	cmp    0x9c8af(%rip),%rcx        # 0x140101040
140064791:	74 06                	je     0x140064799
140064793:	e8 38 ab 00 00       	call   0x14006f2d0
140064798:	cc                   	int3
140064799:	48 83 c4 30          	add    $0x30,%rsp
14006479d:	5b                   	pop    %rbx
14006479e:	5f                   	pop    %rdi
14006479f:	5e                   	pop    %rsi
1400647a0:	41 5e                	pop    %r14
1400647a2:	41 5f                	pop    %r15
1400647a4:	c3                   	ret
1400647a5:	48 89 ce             	mov    %rcx,%rsi
1400647a8:	4c 8b 79 08          	mov    0x8(%rcx),%r15
1400647ac:	4c 89 f1             	mov    %r14,%rcx
1400647af:	4d 39 fe             	cmp    %r15,%r14
1400647b2:	74 4e                	je     0x140064802
1400647b4:	49 83 c7 e0          	add    $0xffffffffffffffe0,%r15
1400647b8:	48 8d 7c 24 20       	lea    0x20(%rsp),%rdi
1400647bd:	4d 85 ff             	test   %r15,%r15
1400647c0:	74 58                	je     0x14006481a
1400647c2:	49 8b 5f 18          	mov    0x18(%r15),%rbx
1400647c6:	49 c7 47 18 00 00 00 	movq   $0x0,0x18(%r15)
1400647cd:	00
1400647ce:	48 85 db             	test   %rbx,%rbx
1400647d1:	74 19                	je     0x1400647ec
1400647d3:	48 8b 53 18          	mov    0x18(%rbx),%rdx
1400647d7:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
1400647dc:	48 89 f9             	mov    %rdi,%rcx
1400647df:	e8 fc 07 00 00       	call   0x140064fe0
1400647e4:	48 89 d9             	mov    %rbx,%rcx
1400647e7:	e8 e4 96 00 00       	call   0x14006ded0
1400647ec:	41 80 7f 17 00       	cmpb   $0x0,0x17(%r15)
1400647f1:	78 1d                	js     0x140064810
1400647f3:	49 8d 47 e0          	lea    -0x20(%r15),%rax
1400647f7:	4d 39 f7             	cmp    %r14,%r15
1400647fa:	49 89 c7             	mov    %rax,%r15
1400647fd:	75 be                	jne    0x1400647bd
1400647ff:	48 8b 0e             	mov    (%rsi),%rcx
140064802:	4c 89 76 08          	mov    %r14,0x8(%rsi)
140064806:	e8 c5 96 00 00       	call   0x14006ded0
14006480b:	e9 72 ff ff ff       	jmp    0x140064782
140064810:	49 8b 0f             	mov    (%r15),%rcx
140064813:	e8 b8 96 00 00       	call   0x14006ded0
140064818:	eb d9                	jmp    0x1400647f3
14006481a:	0f 0b                	ud2
14006481c:	cc                   	int3
14006481d:	cc                   	int3
14006481e:	cc                   	int3
14006481f:	cc                   	int3
140064820:	41 57                	push   %r15
140064822:	41 56                	push   %r14
140064824:	41 55                	push   %r13
140064826:	41 54                	push   %r12
140064828:	56                   	push   %rsi
140064829:	57                   	push   %rdi
14006482a:	55                   	push   %rbp
14006482b:	53                   	push   %rbx
14006482c:	48 81 ec 88 00 00 00 	sub    $0x88,%rsp
140064833:	4c 89 c3             	mov    %r8,%rbx
140064836:	48 89 d7             	mov    %rdx,%rdi
140064839:	48 89 ce             	mov    %rcx,%rsi
14006483c:	48 8b 05 fd c7 09 00 	mov    0x9c7fd(%rip),%rax        # 0x140101040
140064843:	48 31 e0             	xor    %rsp,%rax
140064846:	48 89 84 24 80 00 00 	mov    %rax,0x80(%rsp)
14006484d:	00
14006484e:	b9 20 00 00 00       	mov    $0x20,%ecx
140064853:	e8 3c 96 00 00       	call   0x14006de94
140064858:	48 c7 40 18 ff ff ff 	movq   $0xffffffffffffffff,0x18(%rax)
14006485f:	ff
140064860:	4c 8b 43 18          	mov    0x18(%rbx),%r8
140064864:	49 8d 48 ff          	lea    -0x1(%r8),%rcx
140064868:	48 83 f9 1f          	cmp    $0x1f,%rcx
14006486c:	77 2c                	ja     0x14006489a
14006486e:	48 8d 15 8b c8 08 00 	lea    0x8c88b(%rip),%rdx        # 0x1400f1100
140064875:	48 63 0c 8a          	movslq (%rdx,%rcx,4),%rcx
140064879:	48 01 d1             	add    %rdx,%rcx
14006487c:	ff e1                	jmp    *%rcx
14006487e:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
140064882:	48 89 48 10          	mov    %rcx,0x10(%rax)
140064886:	0f 10 03             	movups (%rbx),%xmm0
140064889:	0f 11 00             	movups %xmm0,(%rax)
14006488c:	0f 57 c0             	xorps  %xmm0,%xmm0
14006488f:	0f 11 03             	movups %xmm0,(%rbx)
140064892:	48 c7 43 10 00 00 00 	movq   $0x0,0x10(%rbx)
140064899:	00
14006489a:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
14006489f:	4c 89 40 18          	mov    %r8,0x18(%rax)
1400648a3:	48 8b 1e             	mov    (%rsi),%rbx
1400648a6:	48 89 74 24 30       	mov    %rsi,0x30(%rsp)
1400648ab:	48 8b 46 08          	mov    0x8(%rsi),%rax
1400648af:	48 89 c5             	mov    %rax,%rbp
1400648b2:	48 29 dd             	sub    %rbx,%rbp
1400648b5:	48 c1 fd 05          	sar    $0x5,%rbp
1400648b9:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
1400648be:	48 39 d8             	cmp    %rbx,%rax
1400648c1:	48 89 5c 24 38       	mov    %rbx,0x38(%rsp)
1400648c6:	48 89 7c 24 40       	mov    %rdi,0x40(%rsp)
1400648cb:	74 68                	je     0x140064935
1400648cd:	4c 8b 27             	mov    (%rdi),%r12
1400648d0:	48 8b 7f 08          	mov    0x8(%rdi),%rdi
1400648d4:	49 89 ee             	mov    %rbp,%r14
1400648d7:	4d 89 f5             	mov    %r14,%r13
1400648da:	49 d1 ed             	shr    $1,%r13
1400648dd:	4c 89 e8             	mov    %r13,%rax
1400648e0:	48 c1 e0 05          	shl    $0x5,%rax
1400648e4:	48 8d 34 03          	lea    (%rbx,%rax,1),%rsi
1400648e8:	4c 0f be 7c 03 17    	movsbq 0x17(%rbx,%rax,1),%r15
1400648ee:	48 89 f2             	mov    %rsi,%rdx
1400648f1:	4d 85 ff             	test   %r15,%r15
1400648f4:	79 09                	jns    0x1400648ff
1400648f6:	4c 8b 7c 03 08       	mov    0x8(%rbx,%rax,1),%r15
1400648fb:	48 8b 14 03          	mov    (%rbx,%rax,1),%rdx
1400648ff:	49 39 ff             	cmp    %rdi,%r15
140064902:	49 89 f8             	mov    %rdi,%r8
140064905:	4d 0f 42 c7          	cmovb  %r15,%r8
140064909:	4c 89 e1             	mov    %r12,%rcx
14006490c:	e8 5f 91 03 00       	call   0x14009da70
140064911:	85 c0                	test   %eax,%eax
140064913:	0f 84 c8 01 00 00    	je     0x140064ae1
140064919:	48 83 c6 20          	add    $0x20,%rsi
14006491d:	4c 89 e9             	mov    %r13,%rcx
140064920:	48 f7 d1             	not    %rcx
140064923:	49 01 ce             	add    %rcx,%r14
140064926:	85 c0                	test   %eax,%eax
140064928:	4d 0f 4e f5          	cmovle %r13,%r14
14006492c:	48 0f 4f de          	cmovg  %rsi,%rbx
140064930:	4d 85 f6             	test   %r14,%r14
140064933:	75 a2                	jne    0x1400648d7
140064935:	4c 8b 7c 24 48       	mov    0x48(%rsp),%r15
14006493a:	4c 39 fb             	cmp    %r15,%rbx
14006493d:	48 8b 7c 24 30       	mov    0x30(%rsp),%rdi
140064942:	48 8b 4c 24 40       	mov    0x40(%rsp),%rcx
140064947:	0f 85 16 03 00 00    	jne    0x140064c63
14006494d:	48 8b 47 10          	mov    0x10(%rdi),%rax
140064951:	49 39 c7             	cmp    %rax,%r15
140064954:	0f 82 fa 01 00 00    	jb     0x140064b54
14006495a:	49 89 de             	mov    %rbx,%r14
14006495d:	48 8b 54 24 38       	mov    0x38(%rsp),%rdx
140064962:	49 29 d6             	sub    %rdx,%r14
140064965:	48 ff c5             	inc    %rbp
140064968:	48 89 e9             	mov    %rbp,%rcx
14006496b:	48 c1 e9 3b          	shr    $0x3b,%rcx
14006496f:	0f 85 41 05 00 00    	jne    0x140064eb6
140064975:	49 b8 ff ff ff ff ff 	movabs $0x7ffffffffffffff,%r8
14006497c:	ff ff 07
14006497f:	48 bf f7 ff ff ff ff 	movabs $0x7ffffffffffffff7,%rdi
140064986:	ff ff 7f
140064989:	48 29 d0             	sub    %rdx,%rax
14006498c:	48 8d 4f e9          	lea    -0x17(%rdi),%rcx
140064990:	48 89 c6             	mov    %rax,%rsi
140064993:	48 c1 fe 04          	sar    $0x4,%rsi
140064997:	48 39 ee             	cmp    %rbp,%rsi
14006499a:	48 0f 46 f5          	cmovbe %rbp,%rsi
14006499e:	48 39 c8             	cmp    %rcx,%rax
1400649a1:	49 0f 43 f0          	cmovae %r8,%rsi
1400649a5:	48 85 f6             	test   %rsi,%rsi
1400649a8:	0f 84 1a 05 00 00    	je     0x140064ec8
1400649ae:	4c 39 c6             	cmp    %r8,%rsi
1400649b1:	0f 87 24 05 00 00    	ja     0x140064edb
1400649b7:	4c 89 c5             	mov    %r8,%rbp
1400649ba:	48 89 f1             	mov    %rsi,%rcx
1400649bd:	48 c1 e1 05          	shl    $0x5,%rcx
1400649c1:	e8 ce 94 00 00       	call   0x14006de94
1400649c6:	49 89 c5             	mov    %rax,%r13
1400649c9:	4c 89 f0             	mov    %r14,%rax
1400649cc:	48 c1 f8 05          	sar    $0x5,%rax
1400649d0:	49 89 c4             	mov    %rax,%r12
1400649d3:	49 c1 e4 05          	shl    $0x5,%r12
1400649d7:	4d 01 ec             	add    %r13,%r12
1400649da:	49 89 f7             	mov    %rsi,%r15
1400649dd:	49 c1 e7 05          	shl    $0x5,%r15
1400649e1:	4d 01 ef             	add    %r13,%r15
1400649e4:	48 39 f0             	cmp    %rsi,%rax
1400649e7:	0f 84 f3 04 00 00    	je     0x140064ee0
1400649ed:	4d 89 e5             	mov    %r12,%r13
1400649f0:	4d 85 ed             	test   %r13,%r13
1400649f3:	48 8b 44 24 40       	mov    0x40(%rsp),%rax
1400649f8:	0f 84 b6 04 00 00    	je     0x140064eb4
1400649fe:	48 8b 68 08          	mov    0x8(%rax),%rbp
140064a02:	48 39 fd             	cmp    %rdi,%rbp
140064a05:	0f 87 b5 04 00 00    	ja     0x140064ec0
140064a0b:	4c 8b 30             	mov    (%rax),%r14
140064a0e:	48 83 fd 16          	cmp    $0x16,%rbp
140064a12:	0f 87 b1 01 00 00    	ja     0x140064bc9
140064a18:	41 88 6d 17          	mov    %bpl,0x17(%r13)
140064a1c:	4c 89 e9             	mov    %r13,%rcx
140064a1f:	48 8b 7c 24 30       	mov    0x30(%rsp),%rdi
140064a24:	48 8d 34 29          	lea    (%rcx,%rbp,1),%rsi
140064a28:	49 39 ce             	cmp    %rcx,%r14
140064a2b:	0f 92 c0             	setb   %al
140064a2e:	49 39 f6             	cmp    %rsi,%r14
140064a31:	0f 93 c2             	setae  %dl
140064a34:	08 c2                	or     %al,%dl
140064a36:	0f 84 78 04 00 00    	je     0x140064eb4
140064a3c:	48 85 ed             	test   %rbp,%rbp
140064a3f:	74 0b                	je     0x140064a4c
140064a41:	4c 89 f2             	mov    %r14,%rdx
140064a44:	49 89 e8             	mov    %rbp,%r8
140064a47:	e8 24 91 03 00       	call   0x14009db70
140064a4c:	c6 06 00             	movb   $0x0,(%rsi)
140064a4f:	48 8b 74 24 28       	mov    0x28(%rsp),%rsi
140064a54:	49 89 75 18          	mov    %rsi,0x18(%r13)
140064a58:	49 83 c5 20          	add    $0x20,%r13
140064a5c:	4c 8b 47 08          	mov    0x8(%rdi),%r8
140064a60:	48 89 d8             	mov    %rbx,%rax
140064a63:	4c 39 c3             	cmp    %r8,%rbx
140064a66:	0f 85 8c 00 00 00    	jne    0x140064af8
140064a6c:	48 29 d8             	sub    %rbx,%rax
140064a6f:	49 01 c5             	add    %rax,%r13
140064a72:	48 89 5f 08          	mov    %rbx,0x8(%rdi)
140064a76:	48 8b 17             	mov    (%rdi),%rdx
140064a79:	48 29 d3             	sub    %rdx,%rbx
140064a7c:	49 29 dc             	sub    %rbx,%r12
140064a7f:	48 89 d8             	mov    %rbx,%rax
140064a82:	48 c1 c0 3b          	rol    $0x3b,%rax
140064a86:	48 83 f8 04          	cmp    $0x4,%rax
140064a8a:	77 15                	ja     0x140064aa1
140064a8c:	48 8d 0d ed c6 08 00 	lea    0x8c6ed(%rip),%rcx        # 0x1400f1180
140064a93:	48 63 04 81          	movslq (%rcx,%rax,4),%rax
140064a97:	48 01 c8             	add    %rcx,%rax
140064a9a:	ff e0                	jmp    *%rax
140064a9c:	bb 20 00 00 00       	mov    $0x20,%ebx
140064aa1:	4c 89 e1             	mov    %r12,%rcx
140064aa4:	49 89 d8             	mov    %rbx,%r8
140064aa7:	e8 c4 90 03 00       	call   0x14009db70
140064aac:	48 8b 17             	mov    (%rdi),%rdx
140064aaf:	4c 89 27             	mov    %r12,(%rdi)
140064ab2:	4c 89 6f 08          	mov    %r13,0x8(%rdi)
140064ab6:	4c 89 7f 10          	mov    %r15,0x10(%rdi)
140064aba:	48 85 d2             	test   %rdx,%rdx
140064abd:	74 08                	je     0x140064ac7
140064abf:	48 89 d1             	mov    %rdx,%rcx
140064ac2:	e8 09 94 00 00       	call   0x14006ded0
140064ac7:	48 8b 8c 24 80 00 00 	mov    0x80(%rsp),%rcx
140064ace:	00
140064acf:	48 31 e1             	xor    %rsp,%rcx
140064ad2:	48 3b 0d 67 c5 09 00 	cmp    0x9c567(%rip),%rcx        # 0x140101040
140064ad9:	74 34                	je     0x140064b0f
140064adb:	e8 f0 a7 00 00       	call   0x14006f2d0
140064ae0:	cc                   	int3
140064ae1:	31 c0                	xor    %eax,%eax
140064ae3:	4c 39 ff             	cmp    %r15,%rdi
140064ae6:	0f 84 2d fe ff ff    	je     0x140064919
140064aec:	e9 72 03 00 00       	jmp    0x140064e63
140064af1:	bb 40 00 00 00       	mov    $0x40,%ebx
140064af6:	eb a9                	jmp    0x140064aa1
140064af8:	49 29 d8             	sub    %rbx,%r8
140064afb:	4c 89 e9             	mov    %r13,%rcx
140064afe:	48 89 da             	mov    %rbx,%rdx
140064b01:	e8 6a 90 03 00       	call   0x14009db70
140064b06:	48 8b 47 08          	mov    0x8(%rdi),%rax
140064b0a:	e9 5d ff ff ff       	jmp    0x140064a6c
140064b0f:	48 89 f0             	mov    %rsi,%rax
140064b12:	48 81 c4 88 00 00 00 	add    $0x88,%rsp
140064b19:	5b                   	pop    %rbx
140064b1a:	5d                   	pop    %rbp
140064b1b:	5f                   	pop    %rdi
140064b1c:	5e                   	pop    %rsi
140064b1d:	41 5c                	pop    %r12
140064b1f:	41 5d                	pop    %r13
140064b21:	41 5e                	pop    %r14
140064b23:	41 5f                	pop    %r15
140064b25:	c3                   	ret
140064b26:	48 8b 0b             	mov    (%rbx),%rcx
140064b29:	48 89 08             	mov    %rcx,(%rax)
140064b2c:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
140064b30:	48 89 48 08          	mov    %rcx,0x8(%rax)
140064b34:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
140064b38:	48 89 48 10          	mov    %rcx,0x10(%rax)
140064b3c:	e9 4b fd ff ff       	jmp    0x14006488c
140064b41:	bb 80 00 00 00       	mov    $0x80,%ebx
140064b46:	e9 56 ff ff ff       	jmp    0x140064aa1
140064b4b:	8a 0b                	mov    (%rbx),%cl
140064b4d:	88 08                	mov    %cl,(%rax)
140064b4f:	e9 46 fd ff ff       	jmp    0x14006489a
140064b54:	4d 85 ff             	test   %r15,%r15
140064b57:	0f 84 57 03 00 00    	je     0x140064eb4
140064b5d:	48 be f7 ff ff ff ff 	movabs $0x7ffffffffffffff7,%rsi
140064b64:	ff ff 7f
140064b67:	48 8b 59 08          	mov    0x8(%rcx),%rbx
140064b6b:	48 39 f3             	cmp    %rsi,%rbx
140064b6e:	0f 87 5f 03 00 00    	ja     0x140064ed3
140064b74:	4c 8b 31             	mov    (%rcx),%r14
140064b77:	48 83 fb 16          	cmp    $0x16,%rbx
140064b7b:	0f 87 83 00 00 00    	ja     0x140064c04
140064b81:	41 88 5f 17          	mov    %bl,0x17(%r15)
140064b85:	4c 89 f9             	mov    %r15,%rcx
140064b88:	48 8d 34 19          	lea    (%rcx,%rbx,1),%rsi
140064b8c:	49 39 ce             	cmp    %rcx,%r14
140064b8f:	0f 92 c0             	setb   %al
140064b92:	49 39 f6             	cmp    %rsi,%r14
140064b95:	0f 93 c2             	setae  %dl
140064b98:	08 c2                	or     %al,%dl
140064b9a:	0f 84 14 03 00 00    	je     0x140064eb4
140064ba0:	48 85 db             	test   %rbx,%rbx
140064ba3:	74 0b                	je     0x140064bb0
140064ba5:	4c 89 f2             	mov    %r14,%rdx
140064ba8:	49 89 d8             	mov    %rbx,%r8
140064bab:	e8 c0 8f 03 00       	call   0x14009db70
140064bb0:	c6 06 00             	movb   $0x0,(%rsi)
140064bb3:	48 8b 74 24 28       	mov    0x28(%rsp),%rsi
140064bb8:	49 89 77 18          	mov    %rsi,0x18(%r15)
140064bbc:	49 83 c7 20          	add    $0x20,%r15
140064bc0:	4c 89 7f 08          	mov    %r15,0x8(%rdi)
140064bc4:	e9 fe fe ff ff       	jmp    0x140064ac7
140064bc9:	48 89 e8             	mov    %rbp,%rax
140064bcc:	48 83 c8 07          	or     $0x7,%rax
140064bd0:	48 8d 48 01          	lea    0x1(%rax),%rcx
140064bd4:	48 83 f8 17          	cmp    $0x17,%rax
140064bd8:	be 19 00 00 00       	mov    $0x19,%esi
140064bdd:	48 0f 45 f1          	cmovne %rcx,%rsi
140064be1:	48 89 f1             	mov    %rsi,%rcx
140064be4:	e8 ab 92 00 00       	call   0x14006de94
140064be9:	48 89 c1             	mov    %rax,%rcx
140064bec:	49 89 45 00          	mov    %rax,0x0(%r13)
140064bf0:	48 83 c7 09          	add    $0x9,%rdi
140064bf4:	48 09 f7             	or     %rsi,%rdi
140064bf7:	49 89 7d 10          	mov    %rdi,0x10(%r13)
140064bfb:	49 89 6d 08          	mov    %rbp,0x8(%r13)
140064bff:	e9 1b fe ff ff       	jmp    0x140064a1f
140064c04:	48 89 d8             	mov    %rbx,%rax
140064c07:	48 83 c8 07          	or     $0x7,%rax
140064c0b:	48 8d 48 01          	lea    0x1(%rax),%rcx
140064c0f:	48 83 f8 17          	cmp    $0x17,%rax
140064c13:	41 bc 19 00 00 00    	mov    $0x19,%r12d
140064c19:	4c 0f 45 e1          	cmovne %rcx,%r12
140064c1d:	4c 89 e1             	mov    %r12,%rcx
140064c20:	e8 6f 92 00 00       	call   0x14006de94
140064c25:	48 89 c1             	mov    %rax,%rcx
140064c28:	49 89 07             	mov    %rax,(%r15)
140064c2b:	48 83 c6 09          	add    $0x9,%rsi
140064c2f:	4c 09 e6             	or     %r12,%rsi
140064c32:	49 89 77 10          	mov    %rsi,0x10(%r15)
140064c36:	49 89 5f 08          	mov    %rbx,0x8(%r15)
140064c3a:	e9 49 ff ff ff       	jmp    0x140064b88
140064c3f:	49 39 f5             	cmp    %rsi,%r13
140064c42:	0f 85 2a 02 00 00    	jne    0x140064e72
140064c48:	48 8b 7b 18          	mov    0x18(%rbx),%rdi