14023d7b2:	00
14023d7b3:	4d 8b e8             	mov    %r8,%r13
14023d7b6:	48 89 54 24 20       	mov    %rdx,0x20(%rsp)
14023d7bb:	48 8b d1             	mov    %rcx,%rdx
14023d7be:	4c 89 4c 24 30       	mov    %r9,0x30(%rsp)
14023d7c3:	48 89 4c 24 28       	mov    %rcx,0x28(%rsp)
14023d7c8:	4c 89 54 24 38       	mov    %r10,0x38(%rsp)
14023d7cd:	4d 85 c0             	test   %r8,%r8
14023d7d0:	0f 84 61 01 00 00    	je     0x14023d937
14023d7d6:	48 89 9c 24 b0 00 00 	mov    %rbx,0xb0(%rsp)
14023d7dd:	00
14023d7de:	48 89 ac 24 88 00 00 	mov    %rbp,0x88(%rsp)
14023d7e5:	00
14023d7e6:	4c 89 a4 24 80 00 00 	mov    %r12,0x80(%rsp)
14023d7ed:	00
14023d7ee:	4c 8d 64 24 42       	lea    0x42(%rsp),%r12
14023d7f3:	4c 89 74 24 78       	mov    %r14,0x78(%rsp)
14023d7f8:	4c 8d 74 24 41       	lea    0x41(%rsp),%r14
14023d7fd:	4c 89 7c 24 70       	mov    %r15,0x70(%rsp)
14023d802:	4c 2b f6             	sub    %rsi,%r14
14023d805:	4c 8d 7c 24 40       	lea    0x40(%rsp),%r15
14023d80a:	4c 2b fe             	sub    %rsi,%r15
14023d80d:	4c 2b e6             	sub    %rsi,%r12
14023d810:	0f 10 06             	movups (%rsi),%xmm0
14023d813:	40 0f b6 c7          	movzbl %dil,%eax
14023d817:	b9 07 00 00 00       	mov    $0x7,%ecx
14023d81c:	24 07                	and    $0x7,%al
14023d81e:	48 8b ef             	mov    %rdi,%rbp
14023d821:	2a c8                	sub    %al,%cl
14023d823:	48 c1 ed 03          	shr    $0x3,%rbp
14023d827:	b8 01 00 00 00       	mov    $0x1,%eax
14023d82c:	4d 8b c1             	mov    %r9,%r8
14023d82f:	d3 e0                	shl    %cl,%eax
14023d831:	48 8b ce             	mov    %rsi,%rcx
14023d834:	0f 11 44 24 40       	movups %xmm0,0x40(%rsp)
14023d839:	22 04 2a             	and    (%rdx,%rbp,1),%al
14023d83c:	48 8b d6             	mov    %rsi,%rdx
14023d83f:	f6 d8                	neg    %al
14023d841:	1a db                	sbb    %bl,%bl
14023d843:	80 e3 80             	and    $0x80,%bl
14023d846:	41 ff d2             	call   *%r10
14023d849:	83 bc 24 e0 00 00 00 	cmpl   $0x0,0xe0(%rsp)
14023d850:	00
14023d851:	0f b6 0e             	movzbl (%rsi),%ecx
14023d854:	74 0b                	je     0x14023d861
14023d856:	0f b6 c1             	movzbl %cl,%eax
14023d859:	32 c3                	xor    %bl,%al
14023d85b:	88 44 24 50          	mov    %al,0x50(%rsp)
14023d85f:	eb 04                	jmp    0x14023d865
14023d861:	88 5c 24 50          	mov    %bl,0x50(%rsp)
14023d865:	32 d9                	xor    %cl,%bl
14023d867:	48 8d 46 02          	lea    0x2(%rsi),%rax
14023d86b:	41 ba 04 00 00 00    	mov    $0x4,%r10d
14023d871:	45 0f b6 44 06 fe    	movzbl -0x2(%r14,%rax,1),%r8d
14023d877:	45 0f b6 0c 07       	movzbl (%r15,%rax,1),%r9d
14023d87c:	41 0f b6 c8          	movzbl %r8b,%ecx
14023d880:	41 0f b6 54 07 fe    	movzbl -0x2(%r15,%rax,1),%edx
14023d886:	48 8d 40 04          	lea    0x4(%rax),%rax
14023d88a:	c0 e9 07             	shr    $0x7,%cl
14023d88d:	02 d2                	add    %dl,%dl
14023d88f:	0a d1                	or     %cl,%dl
14023d891:	45 02 c0             	add    %r8b,%r8b
14023d894:	88 50 fa             	mov    %dl,-0x6(%rax)
14023d897:	41 0f b6 c9          	movzbl %r9b,%ecx
14023d89b:	41 0f b6 54 06 fc    	movzbl -0x4(%r14,%rax,1),%edx
14023d8a1:	45 02 c9             	add    %r9b,%r9b
14023d8a4:	c0 e9 07             	shr    $0x7,%cl
14023d8a7:	41 0a c8             	or     %r8b,%cl
14023d8aa:	88 48 fb             	mov    %cl,-0x5(%rax)
14023d8ad:	0f b6 ca             	movzbl %dl,%ecx
14023d8b0:	c0 e9 07             	shr    $0x7,%cl
14023d8b3:	02 d2                	add    %dl,%dl
14023d8b5:	41 0a c9             	or     %r9b,%cl
14023d8b8:	88 48 fc             	mov    %cl,-0x4(%rax)
14023d8bb:	41 0f b6 4c 04 fc    	movzbl -0x4(%r12,%rax,1),%ecx
14023d8c1:	c0 e9 07             	shr    $0x7,%cl
14023d8c4:	0a ca                	or     %dl,%cl
14023d8c6:	88 48 fd             	mov    %cl,-0x3(%rax)
14023d8c9:	49 83 ea 01          	sub    $0x1,%r10
14023d8cd:	75 a2                	jne    0x14023d871
14023d8cf:	4c 8b 44 24 20       	mov    0x20(%rsp),%r8
14023d8d4:	8b cf                	mov    %edi,%ecx
14023d8d6:	4c 8b 4c 24 30       	mov    0x30(%rsp),%r9
14023d8db:	83 e1 07             	and    $0x7,%ecx
14023d8de:	4c 8b 54 24 38       	mov    0x38(%rsp),%r10
14023d8e3:	80 e3 80             	and    $0x80,%bl
14023d8e6:	b8 07 00 00 00       	mov    $0x7,%eax
14023d8eb:	41 0f b6 14 28       	movzbl (%r8,%rbp,1),%edx
14023d8f0:	2b c1                	sub    %ecx,%eax
14023d8f2:	0f b3 c2             	btr    %eax,%edx
14023d8f5:	40 0f b6 cf          	movzbl %dil,%ecx
14023d8f9:	80 e1 07             	and    $0x7,%cl
14023d8fc:	48 ff c7             	inc    %rdi
14023d8ff:	d2 eb                	shr    %cl,%bl
14023d901:	0a d3                	or     %bl,%dl
14023d903:	41 88 14 28          	mov    %dl,(%r8,%rbp,1)
14023d907:	48 8b 54 24 28       	mov    0x28(%rsp),%rdx
14023d90c:	49 3b fd             	cmp    %r13,%rdi
14023d90f:	0f 82 fb fe ff ff    	jb     0x14023d810
14023d915:	4c 8b 7c 24 70       	mov    0x70(%rsp),%r15
14023d91a:	4c 8b 74 24 78       	mov    0x78(%rsp),%r14
14023d91f:	4c 8b a4 24 80 00 00 	mov    0x80(%rsp),%r12
14023d926:	00
14023d927:	48 8b ac 24 88 00 00 	mov    0x88(%rsp),%rbp
14023d92e:	00
14023d92f:	48 8b 9c 24 b0 00 00 	mov    0xb0(%rsp),%rbx
14023d936:	00
14023d937:	48 8b 4c 24 68       	mov    0x68(%rsp),%rcx
14023d93c:	48 33 cc             	xor    %rsp,%rcx
14023d93f:	e8 6c 25 07 00       	call   0x1402afeb0
14023d944:	48 81 c4 90 00 00 00 	add    $0x90,%rsp
14023d94b:	41 5d                	pop    %r13
14023d94d:	5f                   	pop    %rdi
14023d94e:	5e                   	pop    %rsi
14023d94f:	c3                   	ret
14023d950:	4d 85 c0             	test   %r8,%r8
14023d953:	0f 84 bd 00 00 00    	je     0x14023da16
14023d959:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
14023d95e:	56                   	push   %rsi
14023d95f:	57                   	push   %rdi
14023d960:	41 54                	push   %r12
14023d962:	41 56                	push   %r14
14023d964:	41 57                	push   %r15
14023d966:	b8 50 00 00 00       	mov    $0x50,%eax
14023d96b:	e8 c0 31 07 00       	call   0x1402b0b30
14023d970:	48 2b e0             	sub    %rax,%rsp
14023d973:	48 8b 05 06 81 19 00 	mov    0x198106(%rip),%rax        # 0x1403d5a80
14023d97a:	48 33 c4             	xor    %rsp,%rax
14023d97d:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
14023d982:	48 8b bc 24 a0 00 00 	mov    0xa0(%rsp),%rdi
14023d989:	00
14023d98a:	4c 8b f2             	mov    %rdx,%r14
14023d98d:	4c 8b a4 24 b8 00 00 	mov    0xb8(%rsp),%r12
14023d994:	00
14023d995:	4c 2b f1             	sub    %rcx,%r14
14023d998:	48 89 ac 24 80 00 00 	mov    %rbp,0x80(%rsp)
14023d99f:	00
14023d9a0:	4d 8b f9             	mov    %r9,%r15
14023d9a3:	8b ac 24 b0 00 00 00 	mov    0xb0(%rsp),%ebp
14023d9aa:	49 8b f0             	mov    %r8,%rsi
14023d9ad:	48 8b d9             	mov    %rcx,%rbx
14023d9b0:	0f 10 07             	movups (%rdi),%xmm0
14023d9b3:	4d 8b c7             	mov    %r15,%r8
14023d9b6:	48 8b d7             	mov    %rdi,%rdx
14023d9b9:	48 8b cf             	mov    %rdi,%rcx
14023d9bc:	0f 11 44 24 20       	movups %xmm0,0x20(%rsp)
14023d9c1:	41 ff d4             	call   *%r12
14023d9c4:	0f b6 0b             	movzbl (%rbx),%ecx
14023d9c7:	0f b6 07             	movzbl (%rdi),%eax
14023d9ca:	32 c1                	xor    %cl,%al
14023d9cc:	41 88 04 1e          	mov    %al,(%r14,%rbx,1)
14023d9d0:	88 44 24 30          	mov    %al,0x30(%rsp)
14023d9d4:	85 ed                	test   %ebp,%ebp
14023d9d6:	75 04                	jne    0x14023d9dc
14023d9d8:	88 4c 24 30          	mov    %cl,0x30(%rsp)
14023d9dc:	0f 10 44 24 21       	movups 0x21(%rsp),%xmm0
14023d9e1:	48 ff c3             	inc    %rbx
14023d9e4:	0f 11 07             	movups %xmm0,(%rdi)
14023d9e7:	48 83 ee 01          	sub    $0x1,%rsi
14023d9eb:	75 c3                	jne    0x14023d9b0
14023d9ed:	48 8b ac 24 80 00 00 	mov    0x80(%rsp),%rbp
14023d9f4:	00
14023d9f5:	48 8b 4c 24 48       	mov    0x48(%rsp),%rcx
14023d9fa:	48 33 cc             	xor    %rsp,%rcx
14023d9fd:	e8 ae 24 07 00       	call   0x1402afeb0
14023da02:	48 8b 9c 24 90 00 00 	mov    0x90(%rsp),%rbx
14023da09:	00
14023da0a:	48 83 c4 50          	add    $0x50,%rsp
14023da0e:	41 5f                	pop    %r15
14023da10:	41 5e                	pop    %r14
14023da12:	41 5c                	pop    %r12
14023da14:	5f                   	pop    %rdi
14023da15:	5e                   	pop    %rsi
14023da16:	c3                   	ret
14023da17:	cc                   	int3
14023da18:	cc                   	int3
14023da19:	cc                   	int3
14023da1a:	cc                   	int3
14023da1b:	cc                   	int3
14023da1c:	cc                   	int3
14023da1d:	cc                   	int3
14023da1e:	cc                   	int3
14023da1f:	cc                   	int3
14023da20:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
14023da25:	53                   	push   %rbx
14023da26:	56                   	push   %rsi
14023da27:	57                   	push   %rdi
14023da28:	41 56                	push   %r14
14023da2a:	41 57                	push   %r15
14023da2c:	b8 30 00 00 00       	mov    $0x30,%eax
14023da31:	e8 fa 30 07 00       	call   0x1402b0b30
14023da36:	48 2b e0             	sub    %rax,%rsp
14023da39:	4c 8b bc 24 88 00 00 	mov    0x88(%rsp),%r15
14023da40:	00
14023da41:	4d 8b d1             	mov    %r9,%r10
14023da44:	49 8b f8             	mov    %r8,%rdi
14023da47:	48 8b f2             	mov    %rdx,%rsi
14023da4a:	4c 8b f1             	mov    %rcx,%r14
14023da4d:	41 8b 1f             	mov    (%r15),%ebx
14023da50:	85 db                	test   %ebx,%ebx
14023da52:	79 13                	jns    0x14023da67
14023da54:	41 c7 07 ff ff ff ff 	movl   $0xffffffff,(%r15)
14023da5b:	48 83 c4 30          	add    $0x30,%rsp
14023da5f:	41 5f                	pop    %r15
14023da61:	41 5e                	pop    %r14
14023da63:	5f                   	pop    %rdi
14023da64:	5e                   	pop    %rsi
14023da65:	5b                   	pop    %rbx
14023da66:	c3                   	ret
14023da67:	83 bc 24 90 00 00 00 	cmpl   $0x0,0x90(%rsp)
14023da6e:	00
14023da6f:	48 89 6c 24 60       	mov    %rbp,0x60(%rsp)
14023da74:	48 8b ac 24 80 00 00 	mov    0x80(%rsp),%rbp
14023da7b:	00
14023da7c:	4c 89 64 24 28       	mov    %r12,0x28(%rsp)
14023da81:	4c 89 6c 24 20       	mov    %r13,0x20(%rsp)
14023da86:	0f 84 12 01 00 00    	je     0x14023db9e
14023da8c:	85 db                	test   %ebx,%ebx
14023da8e:	74 24                	je     0x14023dab4
14023da90:	48 85 ff             	test   %rdi,%rdi
14023da93:	74 1f                	je     0x14023dab4
14023da95:	41 0f b6 06          	movzbl (%r14),%eax
14023da99:	48 ff cf             	dec    %rdi
14023da9c:	8b cb                	mov    %ebx,%ecx
14023da9e:	49 ff c6             	inc    %r14
14023daa1:	30 04 29             	xor    %al,(%rcx,%rbp,1)
14023daa4:	0f b6 04 29          	movzbl (%rcx,%rbp,1),%eax
14023daa8:	88 06                	mov    %al,(%rsi)
14023daaa:	48 ff c6             	inc    %rsi
14023daad:	ff c3                	inc    %ebx
14023daaf:	83 e3 0f             	and    $0xf,%ebx
14023dab2:	75 dc                	jne    0x14023da90
14023dab4:	4c 8b 8c 24 98 00 00 	mov    0x98(%rsp),%r9
14023dabb:	00
14023dabc:	48 83 ff 10          	cmp    $0x10,%rdi
14023dac0:	0f 82 9e 00 00 00    	jb     0x14023db64
14023dac6:	4c 8b fe             	mov    %rsi,%r15
14023dac9:	4c 8b ef             	mov    %rdi,%r13
14023dacc:	49 c1 ed 04          	shr    $0x4,%r13
14023dad0:	4d 8b e6             	mov    %r14,%r12
14023dad3:	49 6b c5 f0          	imul   $0xfffffffffffffff0,%r13,%rax
14023dad7:	4c 2b fd             	sub    %rbp,%r15
14023dada:	4c 2b e5             	sub    %rbp,%r12
14023dadd:	48 03 f8             	add    %rax,%rdi
14023dae0:	49 8b c5             	mov    %r13,%rax
14023dae3:	48 c1 e0 04          	shl    $0x4,%rax
14023dae7:	48 03 f0             	add    %rax,%rsi
14023daea:	48 89 74 24 68       	mov    %rsi,0x68(%rsp)
14023daef:	4c 03 f0             	add    %rax,%r14
14023daf2:	48 8b 74 24 78       	mov    0x78(%rsp),%rsi
14023daf7:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
14023dafe:	00 00
14023db00:	4c 8b c6             	mov    %rsi,%r8
14023db03:	48 8b d5             	mov    %rbp,%rdx
14023db06:	48 8b cd             	mov    %rbp,%rcx
14023db09:	41 ff d1             	call   *%r9
14023db0c:	83 fb 10             	cmp    $0x10,%ebx
14023db0f:	73 29                	jae    0x14023db3a
14023db11:	ba 0f 00 00 00       	mov    $0xf,%edx
14023db16:	8b cb                	mov    %ebx,%ecx
14023db18:	2b d3                	sub    %ebx,%edx
14023db1a:	48 03 cd             	add    %rbp,%rcx
14023db1d:	c1 ea 03             	shr    $0x3,%edx
14023db20:	ff c2                	inc    %edx
14023db22:	49 8b 04 0c          	mov    (%r12,%rcx,1),%rax
14023db26:	48 31 01             	xor    %rax,(%rcx)
14023db29:	48 8b 01             	mov    (%rcx),%rax
14023db2c:	49 89 04 0f          	mov    %rax,(%r15,%rcx,1)
14023db30:	48 8d 49 08          	lea    0x8(%rcx),%rcx
14023db34:	48 83 ea 01          	sub    $0x1,%rdx
14023db38:	75 e8                	jne    0x14023db22
14023db3a:	4c 8b 8c 24 98 00 00 	mov    0x98(%rsp),%r9
14023db41:	00
14023db42:	49 83 c7 10          	add    $0x10,%r15
14023db46:	49 83 c4 10          	add    $0x10,%r12
14023db4a:	33 db                	xor    %ebx,%ebx
14023db4c:	49 83 ed 01          	sub    $0x1,%r13
14023db50:	75 ae                	jne    0x14023db00
14023db52:	48 8b 74 24 68       	mov    0x68(%rsp),%rsi
14023db57:	4c 8b 54 24 78       	mov    0x78(%rsp),%r10
14023db5c:	4c 8b bc 24 88 00 00 	mov    0x88(%rsp),%r15
14023db63:	00
14023db64:	48 85 ff             	test   %rdi,%rdi
14023db67:	0f 84 3e 01 00 00    	je     0x14023dcab
14023db6d:	4d 8b c2             	mov    %r10,%r8
14023db70:	48 8b d5             	mov    %rbp,%rdx
14023db73:	48 8b cd             	mov    %rbp,%rcx
14023db76:	41 ff d1             	call   *%r9
14023db79:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
14023db80:	8b cb                	mov    %ebx,%ecx
14023db82:	ff c3                	inc    %ebx
14023db84:	42 0f b6 04 31       	movzbl (%rcx,%r14,1),%eax
14023db89:	30 04 29             	xor    %al,(%rcx,%rbp,1)
14023db8c:	0f b6 04 29          	movzbl (%rcx,%rbp,1),%eax
14023db90:	88 04 31             	mov    %al,(%rcx,%rsi,1)
14023db93:	48 83 ef 01          	sub    $0x1,%rdi
14023db97:	75 e7                	jne    0x14023db80
14023db99:	e9 0d 01 00 00       	jmp    0x14023dcab
14023db9e:	85 db                	test   %ebx,%ebx
14023dba0:	74 26                	je     0x14023dbc8
14023dba2:	48 85 ff             	test   %rdi,%rdi
14023dba5:	74 21                	je     0x14023dbc8
14023dba7:	41 0f b6 16          	movzbl (%r14),%edx
14023dbab:	48 ff cf             	dec    %rdi
14023dbae:	8b cb                	mov    %ebx,%ecx
14023dbb0:	49 ff c6             	inc    %r14
14023dbb3:	0f b6 c2             	movzbl %dl,%eax
14023dbb6:	32 04 29             	xor    (%rcx,%rbp,1),%al
14023dbb9:	88 06                	mov    %al,(%rsi)
14023dbbb:	48 ff c6             	inc    %rsi
14023dbbe:	ff c3                	inc    %ebx
14023dbc0:	88 14 29             	mov    %dl,(%rcx,%rbp,1)
14023dbc3:	83 e3 0f             	and    $0xf,%ebx
14023dbc6:	75 da                	jne    0x14023dba2
14023dbc8:	4c 8b ac 24 98 00 00 	mov    0x98(%rsp),%r13
14023dbcf:	00
14023dbd0:	48 83 ff 10          	cmp    $0x10,%rdi
14023dbd4:	0f 82 9c 00 00 00    	jb     0x14023dc76
14023dbda:	4c 8b e7             	mov    %rdi,%r12
14023dbdd:	4c 8b fe             	mov    %rsi,%r15
14023dbe0:	49 c1 ec 04          	shr    $0x4,%r12
14023dbe4:	4c 2b fd             	sub    %rbp,%r15
14023dbe7:	49 6b c4 f0          	imul   $0xfffffffffffffff0,%r12,%rax
14023dbeb:	48 03 f8             	add    %rax,%rdi
14023dbee:	48 89 7c 24 70       	mov    %rdi,0x70(%rsp)
14023dbf3:	48 8b 7c 24 78       	mov    0x78(%rsp),%rdi
14023dbf8:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
14023dbff:	00
14023dc00:	4c 8b c7             	mov    %rdi,%r8
14023dc03:	48 8b d5             	mov    %rbp,%rdx
14023dc06:	48 8b cd             	mov    %rbp,%rcx
14023dc09:	41 ff d5             	call   *%r13
14023dc0c:	83 fb 10             	cmp    $0x10,%ebx
14023dc0f:	73 3f                	jae    0x14023dc50
14023dc11:	41 b9 0f 00 00 00    	mov    $0xf,%r9d
14023dc17:	44 8b c3             	mov    %ebx,%r8d
14023dc1a:	44 2b cb             	sub    %ebx,%r9d
14023dc1d:	4d 8b d6             	mov    %r14,%r10
14023dc20:	41 c1 e9 03          	shr    $0x3,%r9d
14023dc24:	4c 03 c5             	add    %rbp,%r8
14023dc27:	4c 2b d6             	sub    %rsi,%r10
14023dc2a:	41 ff c1             	inc    %r9d
14023dc2d:	0f 1f 00             	nopl   (%rax)
14023dc30:	4b 8d 0c 07          	lea    (%r15,%r8,1),%rcx
14023dc34:	4a 8b 14 11          	mov    (%rcx,%r10,1),%rdx
14023dc38:	4d 8d 40 08          	lea    0x8(%r8),%r8
14023dc3c:	48 8b c2             	mov    %rdx,%rax
14023dc3f:	49 33 40 f8          	xor    -0x8(%r8),%rax
14023dc43:	48 89 01             	mov    %rax,(%rcx)
14023dc46:	49 89 50 f8          	mov    %rdx,-0x8(%r8)