140021845:	66 66 66
140021848:	48 f7 e9             	imul   %rcx
14002184b:	48 c1 fa 02          	sar    $0x2,%rdx
14002184f:	48 8b c2             	mov    %rdx,%rax
140021852:	48 c1 e8 3f          	shr    $0x3f,%rax
140021856:	48 03 d0             	add    %rax,%rdx
140021859:	8d 04 17             	lea    (%rdi,%rdx,1),%eax
14002185c:	41 88 00             	mov    %al,(%r8)
14002185f:	49 ff c0             	inc    %r8
140021862:	48 6b c2 f6          	imul   $0xfffffffffffffff6,%rdx,%rax
140021866:	48 03 c8             	add    %rax,%rcx
140021869:	40 02 cf             	add    %dil,%cl
14002186c:	41 88 08             	mov    %cl,(%r8)
14002186f:	45 88 58 01          	mov    %r11b,0x1(%r8)
140021873:	33 c0                	xor    %eax,%eax
140021875:	4c 8d 5c 24 50       	lea    0x50(%rsp),%r11
14002187a:	49 8b 5b 30          	mov    0x30(%r11),%rbx
14002187e:	49 8b 6b 40          	mov    0x40(%r11),%rbp
140021882:	49 8b 73 48          	mov    0x48(%r11),%rsi
140021886:	49 8b e3             	mov    %r11,%rsp
140021889:	41 5f                	pop    %r15
14002188b:	41 5e                	pop    %r14
14002188d:	41 5d                	pop    %r13
14002188f:	41 5c                	pop    %r12
140021891:	5f                   	pop    %rdi
140021892:	c3                   	ret
140021893:	cc                   	int3
140021894:	4c 8b dc             	mov    %rsp,%r11
140021897:	49 89 5b 08          	mov    %rbx,0x8(%r11)
14002189b:	49 89 6b 10          	mov    %rbp,0x10(%r11)
14002189f:	49 89 73 18          	mov    %rsi,0x18(%r11)
1400218a3:	49 89 7b 20          	mov    %rdi,0x20(%r11)
1400218a7:	41 56                	push   %r14
1400218a9:	48 83 ec 50          	sub    $0x50,%rsp
1400218ad:	48 8b 84 24 80 00 00 	mov    0x80(%rsp),%rax
1400218b4:	00
1400218b5:	49 8b f0             	mov    %r8,%rsi
1400218b8:	8b ac 24 88 00 00 00 	mov    0x88(%rsp),%ebp
1400218bf:	48 8b fa             	mov    %rdx,%rdi
1400218c2:	48 8b 09             	mov    (%rcx),%rcx
1400218c5:	41 b8 01 00 00 00    	mov    $0x1,%r8d
1400218cb:	49 89 43 d0          	mov    %rax,-0x30(%r11)
1400218cf:	4d 89 4b c8          	mov    %r9,-0x38(%r11)
1400218d3:	4d 8d 4b e8          	lea    -0x18(%r11),%r9
1400218d7:	8d 55 01             	lea    0x1(%rbp),%edx
1400218da:	e8 fd b6 00 00       	call   0x14002cfdc
1400218df:	4c 8b b4 24 a8 00 00 	mov    0xa8(%rsp),%r14
1400218e6:	00
1400218e7:	44 8d 45 01          	lea    0x1(%rbp),%r8d
1400218eb:	45 33 c9             	xor    %r9d,%r9d
1400218ee:	4c 89 74 24 30       	mov    %r14,0x30(%rsp)
1400218f3:	83 7c 24 40 2d       	cmpl   $0x2d,0x40(%rsp)
1400218f8:	44 8b d0             	mov    %eax,%r10d
1400218fb:	8b 84 24 a0 00 00 00 	mov    0xa0(%rsp),%eax
140021902:	48 8b d6             	mov    %rsi,%rdx
140021905:	41 0f 94 c1          	sete   %r9b
140021909:	89 44 24 28          	mov    %eax,0x28(%rsp)
14002190d:	33 c9                	xor    %ecx,%ecx
14002190f:	44 89 54 24 20       	mov    %r10d,0x20(%rsp)
140021914:	85 ed                	test   %ebp,%ebp
140021916:	0f 9f c1             	setg   %cl
140021919:	48 2b d1             	sub    %rcx,%rdx
14002191c:	49 2b d1             	sub    %r9,%rdx
14002191f:	48 83 fe ff          	cmp    $0xffffffffffffffff,%rsi
140021923:	48 0f 44 d6          	cmove  %rsi,%rdx
140021927:	49 03 c9             	add    %r9,%rcx
14002192a:	48 03 cf             	add    %rdi,%rcx
14002192d:	4c 8d 4c 24 40       	lea    0x40(%rsp),%r9
140021932:	e8 95 b5 00 00       	call   0x14002cecc
140021937:	85 c0                	test   %eax,%eax
140021939:	74 05                	je     0x140021940
14002193b:	c6 07 00             	movb   $0x0,(%rdi)
14002193e:	eb 35                	jmp    0x140021975
140021940:	44 8a 8c 24 90 00 00 	mov    0x90(%rsp),%r9b
140021947:	00
140021948:	48 8d 44 24 40       	lea    0x40(%rsp),%rax
14002194d:	4c 89 74 24 38       	mov    %r14,0x38(%rsp)
140021952:	44 8b c5             	mov    %ebp,%r8d
140021955:	c6 44 24 30 00       	movb   $0x0,0x30(%rsp)
14002195a:	48 8b d6             	mov    %rsi,%rdx
14002195d:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140021962:	48 8b cf             	mov    %rdi,%rcx
140021965:	8b 84 24 98 00 00 00 	mov    0x98(%rsp),%eax
14002196c:	89 44 24 20          	mov    %eax,0x20(%rsp)
140021970:	e8 1b 00 00 00       	call   0x140021990
140021975:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
14002197a:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
14002197f:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
140021984:	48 8b 7c 24 78       	mov    0x78(%rsp),%rdi
140021989:	48 83 c4 50          	add    $0x50,%rsp
14002198d:	41 5e                	pop    %r14
14002198f:	c3                   	ret
140021990:	4c 8b dc             	mov    %rsp,%r11
140021993:	49 89 5b 08          	mov    %rbx,0x8(%r11)
140021997:	49 89 6b 10          	mov    %rbp,0x10(%r11)
14002199b:	49 89 73 18          	mov    %rsi,0x18(%r11)
14002199f:	49 89 7b 20          	mov    %rdi,0x20(%r11)
1400219a3:	41 55                	push   %r13
1400219a5:	41 56                	push   %r14
1400219a7:	41 57                	push   %r15
1400219a9:	48 83 ec 30          	sub    $0x30,%rsp
1400219ad:	33 c0                	xor    %eax,%eax
1400219af:	49 63 e8             	movslq %r8d,%rbp
1400219b2:	45 85 c0             	test   %r8d,%r8d
1400219b5:	45 8a e9             	mov    %r9b,%r13b
1400219b8:	4c 8b fa             	mov    %rdx,%r15
1400219bb:	48 8b f9             	mov    %rcx,%rdi
1400219be:	0f 4f c5             	cmovg  %ebp,%eax
1400219c1:	83 c0 09             	add    $0x9,%eax
1400219c4:	48 98                	cltq
1400219c6:	48 3b d0             	cmp    %rax,%rdx
1400219c9:	77 4d                	ja     0x140021a18
1400219cb:	48 8b 8c 24 88 00 00 	mov    0x88(%rsp),%rcx
1400219d2:	00
1400219d3:	bb 22 00 00 00       	mov    $0x22,%ebx
1400219d8:	49 89 4b e0          	mov    %rcx,-0x20(%r11)
1400219dc:	45 33 c9             	xor    %r9d,%r9d
1400219df:	49 83 63 d8 00       	andq   $0x0,-0x28(%r11)
1400219e4:	45 33 c0             	xor    %r8d,%r8d
1400219e7:	33 d2                	xor    %edx,%edx
1400219e9:	c6 41 30 01          	movb   $0x1,0x30(%rcx)
1400219ed:	89 59 2c             	mov    %ebx,0x2c(%rcx)
1400219f0:	33 c9                	xor    %ecx,%ecx
1400219f2:	e8 91 d4 fe ff       	call   0x14000ee88
1400219f7:	8b c3                	mov    %ebx,%eax
1400219f9:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
1400219fe:	48 8b 6c 24 58       	mov    0x58(%rsp),%rbp
140021a03:	48 8b 74 24 60       	mov    0x60(%rsp),%rsi
140021a08:	48 8b 7c 24 68       	mov    0x68(%rsp),%rdi
140021a0d:	48 83 c4 30          	add    $0x30,%rsp
140021a11:	41 5f                	pop    %r15
140021a13:	41 5e                	pop    %r14
140021a15:	41 5d                	pop    %r13
140021a17:	c3                   	ret
140021a18:	80 bc 24 80 00 00 00 	cmpb   $0x0,0x80(%rsp)
140021a1f:	00
140021a20:	48 8b 74 24 78       	mov    0x78(%rsp),%rsi
140021a25:	74 2a                	je     0x140021a51
140021a27:	33 d2                	xor    %edx,%edx
140021a29:	83 3e 2d             	cmpl   $0x2d,(%rsi)
140021a2c:	0f 94 c2             	sete   %dl
140021a2f:	48 03 d7             	add    %rdi,%rdx
140021a32:	45 85 c0             	test   %r8d,%r8d
140021a35:	7e 1a                	jle    0x140021a51
140021a37:	49 83 c8 ff          	or     $0xffffffffffffffff,%r8
140021a3b:	49 ff c0             	inc    %r8
140021a3e:	42 80 3c 02 00       	cmpb   $0x0,(%rdx,%r8,1)
140021a43:	75 f6                	jne    0x140021a3b
140021a45:	49 ff c0             	inc    %r8
140021a48:	48 8d 4a 01          	lea    0x1(%rdx),%rcx
140021a4c:	e8 bf 8d 01 00       	call   0x14003a810
140021a51:	83 3e 2d             	cmpl   $0x2d,(%rsi)
140021a54:	48 8b df             	mov    %rdi,%rbx
140021a57:	75 07                	jne    0x140021a60
140021a59:	c6 07 2d             	movb   $0x2d,(%rdi)
140021a5c:	48 8d 5f 01          	lea    0x1(%rdi),%rbx
140021a60:	85 ed                	test   %ebp,%ebp
140021a62:	7e 31                	jle    0x140021a95
140021a64:	8a 43 01             	mov    0x1(%rbx),%al
140021a67:	4c 8b b4 24 88 00 00 	mov    0x88(%rsp),%r14
140021a6e:	00
140021a6f:	88 03                	mov    %al,(%rbx)
140021a71:	48 ff c3             	inc    %rbx
140021a74:	41 80 7e 28 00       	cmpb   $0x0,0x28(%r14)
140021a79:	75 08                	jne    0x140021a83
140021a7b:	49 8b ce             	mov    %r14,%rcx
140021a7e:	e8 bd 2b ff ff       	call   0x140014640
140021a83:	49 8b 46 18          	mov    0x18(%r14),%rax
140021a87:	48 8b 88 f8 00 00 00 	mov    0xf8(%rax),%rcx
140021a8e:	48 8b 01             	mov    (%rcx),%rax
140021a91:	8a 08                	mov    (%rax),%cl
140021a93:	88 0b                	mov    %cl,(%rbx)
140021a95:	0f b6 8c 24 80 00 00 	movzbl 0x80(%rsp),%ecx
140021a9c:	00
140021a9d:	4c 8d 05 98 df 01 00 	lea    0x1df98(%rip),%r8        # 0x14003fa3c
140021aa4:	48 83 f1 01          	xor    $0x1,%rcx
140021aa8:	48 03 dd             	add    %rbp,%rbx
140021aab:	48 03 d9             	add    %rcx,%rbx
140021aae:	48 2b fb             	sub    %rbx,%rdi
140021ab1:	48 8b cb             	mov    %rbx,%rcx
140021ab4:	49 83 ff ff          	cmp    $0xffffffffffffffff,%r15
140021ab8:	49 8d 14 3f          	lea    (%r15,%rdi,1),%rdx
140021abc:	49 0f 44 d7          	cmove  %r15,%rdx
140021ac0:	e8 73 ed ff ff       	call   0x140020838
140021ac5:	85 c0                	test   %eax,%eax
140021ac7:	0f 85 8e 00 00 00    	jne    0x140021b5b
140021acd:	48 8d 4b 02          	lea    0x2(%rbx),%rcx
140021ad1:	45 84 ed             	test   %r13b,%r13b
140021ad4:	74 03                	je     0x140021ad9
140021ad6:	c6 03 45             	movb   $0x45,(%rbx)
140021ad9:	48 8b 46 08          	mov    0x8(%rsi),%rax
140021add:	80 38 30             	cmpb   $0x30,(%rax)
140021ae0:	74 57                	je     0x140021b39
140021ae2:	44 8b 46 04          	mov    0x4(%rsi),%r8d
140021ae6:	41 83 e8 01          	sub    $0x1,%r8d
140021aea:	79 07                	jns    0x140021af3
140021aec:	41 f7 d8             	neg    %r8d
140021aef:	c6 43 01 2d          	movb   $0x2d,0x1(%rbx)
140021af3:	41 83 f8 64          	cmp    $0x64,%r8d
140021af7:	7c 1b                	jl     0x140021b14
140021af9:	b8 1f 85 eb 51       	mov    $0x51eb851f,%eax
140021afe:	41 f7 e8             	imul   %r8d
140021b01:	c1 fa 05             	sar    $0x5,%edx
140021b04:	8b c2                	mov    %edx,%eax
140021b06:	c1 e8 1f             	shr    $0x1f,%eax
140021b09:	03 d0                	add    %eax,%edx
140021b0b:	00 53 02             	add    %dl,0x2(%rbx)
140021b0e:	6b c2 9c             	imul   $0xffffff9c,%edx,%eax
140021b11:	44 03 c0             	add    %eax,%r8d
140021b14:	41 83 f8 0a          	cmp    $0xa,%r8d
140021b18:	7c 1b                	jl     0x140021b35
140021b1a:	b8 67 66 66 66       	mov    $0x66666667,%eax
140021b1f:	41 f7 e8             	imul   %r8d
140021b22:	c1 fa 02             	sar    $0x2,%edx
140021b25:	8b c2                	mov    %edx,%eax
140021b27:	c1 e8 1f             	shr    $0x1f,%eax
140021b2a:	03 d0                	add    %eax,%edx
140021b2c:	00 53 03             	add    %dl,0x3(%rbx)
140021b2f:	6b c2 f6             	imul   $0xfffffff6,%edx,%eax
140021b32:	44 03 c0             	add    %eax,%r8d
140021b35:	44 00 43 04          	add    %r8b,0x4(%rbx)
140021b39:	83 7c 24 70 02       	cmpl   $0x2,0x70(%rsp)
140021b3e:	75 14                	jne    0x140021b54
140021b40:	80 39 30             	cmpb   $0x30,(%rcx)
140021b43:	75 0f                	jne    0x140021b54
140021b45:	48 8d 51 01          	lea    0x1(%rcx),%rdx
140021b49:	41 b8 03 00 00 00    	mov    $0x3,%r8d
140021b4f:	e8 bc 8c 01 00       	call   0x14003a810
140021b54:	33 c0                	xor    %eax,%eax
140021b56:	e9 9e fe ff ff       	jmp    0x1400219f9
140021b5b:	48 83 64 24 20 00    	andq   $0x0,0x20(%rsp)
140021b61:	45 33 c9             	xor    %r9d,%r9d
140021b64:	45 33 c0             	xor    %r8d,%r8d
140021b67:	33 d2                	xor    %edx,%edx
140021b69:	33 c9                	xor    %ecx,%ecx
140021b6b:	e8 34 d4 fe ff       	call   0x14000efa4
140021b70:	cc                   	int3
140021b71:	cc                   	int3
140021b72:	cc                   	int3
140021b73:	cc                   	int3
140021b74:	4c 8b dc             	mov    %rsp,%r11
140021b77:	49 89 5b 08          	mov    %rbx,0x8(%r11)
140021b7b:	49 89 6b 10          	mov    %rbp,0x10(%r11)
140021b7f:	49 89 73 18          	mov    %rsi,0x18(%r11)
140021b83:	57                   	push   %rdi
140021b84:	48 83 ec 50          	sub    $0x50,%rsp
140021b88:	48 8b 84 24 80 00 00 	mov    0x80(%rsp),%rax
140021b8f:	00
140021b90:	49 8b f8             	mov    %r8,%rdi
140021b93:	8b b4 24 88 00 00 00 	mov    0x88(%rsp),%esi
140021b9a:	48 8b da             	mov    %rdx,%rbx
140021b9d:	48 8b 09             	mov    (%rcx),%rcx
140021ba0:	0f 57 c0             	xorps  %xmm0,%xmm0
140021ba3:	49 89 43 d0          	mov    %rax,-0x30(%r11)
140021ba7:	45 33 c0             	xor    %r8d,%r8d
140021baa:	4d 89 4b c8          	mov    %r9,-0x38(%r11)
140021bae:	8b d6                	mov    %esi,%edx
140021bb0:	4d 8d 4b e8          	lea    -0x18(%r11),%r9
140021bb4:	0f 11 44 24 40       	movups %xmm0,0x40(%rsp)
140021bb9:	e8 1e b4 00 00       	call   0x14002cfdc
140021bbe:	44 8b 44 24 44       	mov    0x44(%rsp),%r8d
140021bc3:	45 33 c9             	xor    %r9d,%r9d
140021bc6:	83 7c 24 40 2d       	cmpl   $0x2d,0x40(%rsp)
140021bcb:	44 8b d0             	mov    %eax,%r10d
140021bce:	8b 84 24 90 00 00 00 	mov    0x90(%rsp),%eax
140021bd5:	48 8b d7             	mov    %rdi,%rdx
140021bd8:	48 8b ac 24 98 00 00 	mov    0x98(%rsp),%rbp
140021bdf:	00
140021be0:	41 0f 94 c1          	sete   %r9b
140021be4:	49 2b d1             	sub    %r9,%rdx
140021be7:	48 89 6c 24 30       	mov    %rbp,0x30(%rsp)
140021bec:	44 03 c6             	add    %esi,%r8d
140021bef:	89 44 24 28          	mov    %eax,0x28(%rsp)
140021bf3:	48 83 ff ff          	cmp    $0xffffffffffffffff,%rdi
140021bf7:	44 89 54 24 20       	mov    %r10d,0x20(%rsp)
140021bfc:	49 8d 0c 19          	lea    (%r9,%rbx,1),%rcx
140021c00:	48 0f 44 d7          	cmove  %rdi,%rdx
140021c04:	4c 8d 4c 24 40       	lea    0x40(%rsp),%r9
140021c09:	e8 be b2 00 00       	call   0x14002cecc
140021c0e:	85 c0                	test   %eax,%eax
140021c10:	74 05                	je     0x140021c17
140021c12:	c6 03 00             	movb   $0x0,(%rbx)
140021c15:	eb 1d                	jmp    0x140021c34
140021c17:	48 89 6c 24 28       	mov    %rbp,0x28(%rsp)
140021c1c:	4c 8d 4c 24 40       	lea    0x40(%rsp),%r9
140021c21:	44 8b c6             	mov    %esi,%r8d
140021c24:	c6 44 24 20 00       	movb   $0x0,0x20(%rsp)
140021c29:	48 8b d7             	mov    %rdi,%rdx
140021c2c:	48 8b cb             	mov    %rbx,%rcx
140021c2f:	e8 18 00 00 00       	call   0x140021c4c
140021c34:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
140021c39:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
140021c3e:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
140021c43:	48 83 c4 50          	add    $0x50,%rsp
140021c47:	5f                   	pop    %rdi
140021c48:	c3                   	ret
140021c49:	cc                   	int3
140021c4a:	cc                   	int3
140021c4b:	cc                   	int3
140021c4c:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140021c51:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140021c56:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140021c5b:	57                   	push   %rdi
140021c5c:	41 56                	push   %r14
140021c5e:	41 57                	push   %r15
140021c60:	48 83 ec 20          	sub    $0x20,%rsp
140021c64:	80 7c 24 60 00       	cmpb   $0x0,0x60(%rsp)
140021c69:	48 8b d9             	mov    %rcx,%rbx
140021c6c:	49 63 49 04          	movslq 0x4(%r9),%rcx
140021c70:	4d 8b f1             	mov    %r9,%r14
140021c73:	41 8b e8             	mov    %r8d,%ebp
140021c76:	74 1b                	je     0x140021c93
140021c78:	8d 41 ff             	lea    -0x1(%rcx),%eax
140021c7b:	41 3b c0             	cmp    %r8d,%eax
140021c7e:	75 13                	jne    0x140021c93
140021c80:	33 c0                	xor    %eax,%eax
140021c82:	41 83 39 2d          	cmpl   $0x2d,(%r9)
140021c86:	0f 94 c0             	sete   %al
140021c89:	48 03 c3             	add    %rbx,%rax
140021c8c:	66 c7 44 01 ff 30 00 	movw   $0x30,-0x1(%rcx,%rax,1)
140021c93:	41 83 39 2d          	cmpl   $0x2d,(%r9)
140021c97:	75 06                	jne    0x140021c9f
140021c99:	c6 03 2d             	movb   $0x2d,(%rbx)
140021c9c:	48 ff c3             	inc    %rbx
140021c9f:	49 63 41 04          	movslq 0x4(%r9),%rax
140021ca3:	48 83 cf ff          	or     $0xffffffffffffffff,%rdi
140021ca7:	85 c0                	test   %eax,%eax
140021ca9:	7f 49                	jg     0x140021cf4
140021cab:	75 0d                	jne    0x140021cba
140021cad:	49 8b 41 08          	mov    0x8(%r9),%rax
140021cb1:	80 38 30             	cmpb   $0x30,(%rax)
140021cb4:	75 04                	jne    0x140021cba
140021cb6:	b0 01                	mov    $0x1,%al
140021cb8:	eb 02                	jmp    0x140021cbc
140021cba:	32 c0                	xor    %al,%al
140021cbc:	80 7c 24 60 00       	cmpb   $0x0,0x60(%rsp)
140021cc1:	74 0a                	je     0x140021ccd
140021cc3:	84 c0                	test   %al,%al
140021cc5:	74 06                	je     0x140021ccd
140021cc7:	48 8d 73 01          	lea    0x1(%rbx),%rsi
140021ccb:	eb 1f                	jmp    0x140021cec
140021ccd:	48 8d 73 01          	lea    0x1(%rbx),%rsi
140021cd1:	4c 8b c7             	mov    %rdi,%r8
140021cd4:	49 ff c0             	inc    %r8
140021cd7:	42 80 3c 03 00       	cmpb   $0x0,(%rbx,%r8,1)
140021cdc:	75 f6                	jne    0x140021cd4
140021cde:	49 ff c0             	inc    %r8
140021ce1:	48 8b d3             	mov    %rbx,%rdx
140021ce4:	48 8b ce             	mov    %rsi,%rcx
140021ce7:	e8 24 8b 01 00       	call   0x14003a810