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
140021cec:	c6 03 30             	movb   $0x30,(%rbx)
140021cef:	48 8b de             	mov    %rsi,%rbx
140021cf2:	eb 03                	jmp    0x140021cf7
140021cf4:	48 03 d8             	add    %rax,%rbx
140021cf7:	85 ed                	test   %ebp,%ebp
140021cf9:	0f 8e 88 00 00 00    	jle    0x140021d87
140021cff:	48 8d 73 01          	lea    0x1(%rbx),%rsi
140021d03:	4c 8b c7             	mov    %rdi,%r8
140021d06:	49 ff c0             	inc    %r8
140021d09:	42 80 3c 03 00       	cmpb   $0x0,(%rbx,%r8,1)
140021d0e:	75 f6                	jne    0x140021d06
140021d10:	49 ff c0             	inc    %r8
140021d13:	48 8b d3             	mov    %rbx,%rdx
140021d16:	48 8b ce             	mov    %rsi,%rcx
140021d19:	e8 f2 8a 01 00       	call   0x14003a810
140021d1e:	4c 8b 7c 24 68       	mov    0x68(%rsp),%r15
140021d23:	41 80 7f 28 00       	cmpb   $0x0,0x28(%r15)
140021d28:	75 08                	jne    0x140021d32
140021d2a:	49 8b cf             	mov    %r15,%rcx
140021d2d:	e8 0e 29 ff ff       	call   0x140014640
140021d32:	49 8b 47 18          	mov    0x18(%r15),%rax
140021d36:	48 8b 88 f8 00 00 00 	mov    0xf8(%rax),%rcx
140021d3d:	48 8b 01             	mov    (%rcx),%rax
140021d40:	8a 08                	mov    (%rax),%cl
140021d42:	88 0b                	mov    %cl,(%rbx)
140021d44:	41 8b 46 04          	mov    0x4(%r14),%eax
140021d48:	85 c0                	test   %eax,%eax
140021d4a:	79 3b                	jns    0x140021d87
140021d4c:	f7 d8                	neg    %eax
140021d4e:	80 7c 24 60 00       	cmpb   $0x0,0x60(%rsp)
140021d53:	75 04                	jne    0x140021d59
140021d55:	3b c5                	cmp    %ebp,%eax
140021d57:	7d 02                	jge    0x140021d5b
140021d59:	8b e8                	mov    %eax,%ebp
140021d5b:	48 63 dd             	movslq %ebp,%rbx
140021d5e:	48 ff c7             	inc    %rdi
140021d61:	80 3c 3e 00          	cmpb   $0x0,(%rsi,%rdi,1)
140021d65:	75 f7                	jne    0x140021d5e
140021d67:	4c 8d 47 01          	lea    0x1(%rdi),%r8
140021d6b:	48 8b d6             	mov    %rsi,%rdx
140021d6e:	48 8d 0c 33          	lea    (%rbx,%rsi,1),%rcx
140021d72:	e8 99 8a 01 00       	call   0x14003a810
140021d77:	4c 8b c3             	mov    %rbx,%r8
140021d7a:	ba 30 00 00 00       	mov    $0x30,%edx
140021d7f:	48 8b ce             	mov    %rsi,%rcx
140021d82:	e8 29 91 01 00       	call   0x14003aeb0
140021d87:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140021d8c:	33 c0                	xor    %eax,%eax
140021d8e:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
140021d93:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
140021d98:	48 83 c4 20          	add    $0x20,%rsp
140021d9c:	41 5f                	pop    %r15
140021d9e:	41 5e                	pop    %r14
140021da0:	5f                   	pop    %rdi
140021da1:	c3                   	ret
140021da2:	cc                   	int3
140021da3:	cc                   	int3
140021da4:	4c 8b dc             	mov    %rsp,%r11
140021da7:	49 89 5b 08          	mov    %rbx,0x8(%r11)
140021dab:	49 89 6b 10          	mov    %rbp,0x10(%r11)
140021daf:	49 89 7b 18          	mov    %rdi,0x18(%r11)
140021db3:	4d 89 73 20          	mov    %r14,0x20(%r11)
140021db7:	41 57                	push   %r15
140021db9:	48 83 ec 50          	sub    $0x50,%rsp
140021dbd:	48 8b 84 24 80 00 00 	mov    0x80(%rsp),%rax
140021dc4:	00
140021dc5:	49 8b e8             	mov    %r8,%rbp
140021dc8:	48 8b 09             	mov    (%rcx),%rcx
140021dcb:	48 8b fa             	mov    %rdx,%rdi
140021dce:	8b 94 24 88 00 00 00 	mov    0x88(%rsp),%edx
140021dd5:	0f 57 c0             	xorps  %xmm0,%xmm0
140021dd8:	49 89 43 d0          	mov    %rax,-0x30(%r11)
140021ddc:	45 33 c0             	xor    %r8d,%r8d
140021ddf:	4d 89 4b c8          	mov    %r9,-0x38(%r11)
140021de3:	4d 8d 4b e8          	lea    -0x18(%r11),%r9
140021de7:	0f 11 44 24 40       	movups %xmm0,0x40(%rsp)
140021dec:	e8 eb b1 00 00       	call   0x14002cfdc
140021df1:	44 8b 7c 24 44       	mov    0x44(%rsp),%r15d
140021df6:	45 33 c0             	xor    %r8d,%r8d
140021df9:	83 7c 24 40 2d       	cmpl   $0x2d,0x40(%rsp)
140021dfe:	44 8b c8             	mov    %eax,%r9d
140021e01:	8b 84 24 a0 00 00 00 	mov    0xa0(%rsp),%eax
140021e08:	48 8b d5             	mov    %rbp,%rdx
140021e0b:	4c 8b b4 24 a8 00 00 	mov    0xa8(%rsp),%r14
140021e12:	00
140021e13:	41 0f 94 c0          	sete   %r8b
140021e17:	49 2b d0             	sub    %r8,%rdx
140021e1a:	4c 89 74 24 30       	mov    %r14,0x30(%rsp)
140021e1f:	89 44 24 28          	mov    %eax,0x28(%rsp)
140021e23:	41 ff cf             	dec    %r15d
140021e26:	44 89 4c 24 20       	mov    %r9d,0x20(%rsp)
140021e2b:	48 83 fd ff          	cmp    $0xffffffffffffffff,%rbp
140021e2f:	49 8d 1c 38          	lea    (%r8,%rdi,1),%rbx
140021e33:	44 8b 84 24 88 00 00 	mov    0x88(%rsp),%r8d
140021e3a:	00
140021e3b:	48 0f 44 d5          	cmove  %rbp,%rdx
140021e3f:	4c 8d 4c 24 40       	lea    0x40(%rsp),%r9
140021e44:	48 8b cb             	mov    %rbx,%rcx
140021e47:	e8 80 b0 00 00       	call   0x14002cecc
140021e4c:	85 c0                	test   %eax,%eax
140021e4e:	74 08                	je     0x140021e58
140021e50:	c6 07 00             	movb   $0x0,(%rdi)
140021e53:	e9 83 00 00 00       	jmp    0x140021edb
140021e58:	8b 44 24 44          	mov    0x44(%rsp),%eax
140021e5c:	ff c8                	dec    %eax
140021e5e:	83 f8 fc             	cmp    $0xfffffffc,%eax
140021e61:	7c 3e                	jl     0x140021ea1
140021e63:	3b 84 24 88 00 00 00 	cmp    0x88(%rsp),%eax
140021e6a:	7d 35                	jge    0x140021ea1
140021e6c:	44 3b f8             	cmp    %eax,%r15d
140021e6f:	7d 0c                	jge    0x140021e7d
140021e71:	8a 03                	mov    (%rbx),%al
140021e73:	48 ff c3             	inc    %rbx
140021e76:	84 c0                	test   %al,%al
140021e78:	75 f7                	jne    0x140021e71
140021e7a:	88 43 fe             	mov    %al,-0x2(%rbx)
140021e7d:	44 8b 84 24 88 00 00 	mov    0x88(%rsp),%r8d
140021e84:	00
140021e85:	4c 8d 4c 24 40       	lea    0x40(%rsp),%r9
140021e8a:	4c 89 74 24 28       	mov    %r14,0x28(%rsp)
140021e8f:	48 8b d5             	mov    %rbp,%rdx
140021e92:	48 8b cf             	mov    %rdi,%rcx
140021e95:	c6 44 24 20 01       	movb   $0x1,0x20(%rsp)
140021e9a:	e8 ad fd ff ff       	call   0x140021c4c
140021e9f:	eb 3a                	jmp    0x140021edb
140021ea1:	44 8a 8c 24 90 00 00 	mov    0x90(%rsp),%r9b
140021ea8:	00
140021ea9:	48 8d 44 24 40       	lea    0x40(%rsp),%rax
140021eae:	44 8b 84 24 88 00 00 	mov    0x88(%rsp),%r8d
140021eb5:	00
140021eb6:	48 8b d5             	mov    %rbp,%rdx
140021eb9:	4c 89 74 24 38       	mov    %r14,0x38(%rsp)
140021ebe:	48 8b cf             	mov    %rdi,%rcx
140021ec1:	c6 44 24 30 01       	movb   $0x1,0x30(%rsp)
140021ec6:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140021ecb:	8b 84 24 98 00 00 00 	mov    0x98(%rsp),%eax
140021ed2:	89 44 24 20          	mov    %eax,0x20(%rsp)
140021ed6:	e8 b5 fa ff ff       	call   0x140021990
140021edb:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
140021ee0:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
140021ee5:	48 8b 7c 24 70       	mov    0x70(%rsp),%rdi
140021eea:	4c 8b 74 24 78       	mov    0x78(%rsp),%r14
140021eef:	48 83 c4 50          	add    $0x50,%rsp
140021ef3:	41 5f                	pop    %r15
140021ef5:	c3                   	ret
140021ef6:	cc                   	int3
140021ef7:	cc                   	int3
140021ef8:	48 8b c4             	mov    %rsp,%rax
140021efb:	48 89 58 08          	mov    %rbx,0x8(%rax)
140021eff:	48 89 68 10          	mov    %rbp,0x10(%rax)
140021f03:	48 89 70 18          	mov    %rsi,0x18(%rax)
140021f07:	48 89 78 20          	mov    %rdi,0x20(%rax)
140021f0b:	41 54                	push   %r12
140021f0d:	41 56                	push   %r14
140021f0f:	41 57                	push   %r15
140021f11:	48 83 ec 20          	sub    $0x20,%rsp
140021f15:	48 8b 19             	mov    (%rcx),%rbx
140021f18:	49 bc ff ff ff ff ff 	movabs $0xfffffffffffff,%r12
140021f1f:	ff 0f 00
140021f22:	48 23 da             	and    %rdx,%rbx
140021f25:	45 0f bf f0          	movswl %r8w,%r14d
140021f29:	49 23 dc             	and    %r12,%rbx
140021f2c:	48 8b f9             	mov    %rcx,%rdi
140021f2f:	41 8b ce             	mov    %r14d,%ecx
140021f32:	45 33 ff             	xor    %r15d,%r15d
140021f35:	48 d3 eb             	shr    %cl,%rbx
140021f38:	48 8b ea             	mov    %rdx,%rbp
140021f3b:	45 85 c9             	test   %r9d,%r9d
140021f3e:	75 0c                	jne    0x140021f4c
140021f40:	66 83 fb 08          	cmp    $0x8,%bx
140021f44:	0f 93 c0             	setae  %al
140021f47:	e9 a3 00 00 00       	jmp    0x140021fef
140021f4c:	e8 1f 40 00 00       	call   0x140025f70
140021f51:	85 c0                	test   %eax,%eax
140021f53:	75 72                	jne    0x140021fc7