1400218d3:	48 89 cb             	mov    %rcx,%rbx
1400218d6:	48 89 d5             	mov    %rdx,%rbp
1400218d9:	49 63 f8             	movslq %r8d,%rdi
1400218dc:	85 c0                	test   %eax,%eax
1400218de:	0f 85 7c 00 00 00    	jne    0x140021960
1400218e4:	41 89 f8             	mov    %edi,%r8d
1400218e7:	e8 f4 97 03 00       	call   0x14005b0e0
1400218ec:	99                   	cltd
1400218ed:	31 c2                	xor    %eax,%edx
1400218ef:	8b 43 0c             	mov    0xc(%rbx),%eax
1400218f2:	39 c2                	cmp    %eax,%edx
1400218f4:	73 5b                	jae    0x140021951
1400218f6:	48 8b 0b             	mov    (%rbx),%rcx
1400218f9:	4c 63 c2             	movslq %edx,%r8
1400218fc:	29 d0                	sub    %edx,%eax
1400218fe:	4c 01 c0             	add    %r8,%rax
140021901:	4a 8d 1c c1          	lea    (%rcx,%r8,8),%rbx
140021905:	4c 8d 24 c1          	lea    (%rcx,%rax,8),%r12
140021909:	eb 30                	jmp    0x14002193b
14002190b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140021910:	0f b6 44 3e 6c       	movzbl 0x6c(%rsi,%rdi,1),%eax
140021915:	3c 2f                	cmp    $0x2f,%al
140021917:	77 38                	ja     0x140021951
140021919:	74 54                	je     0x14002196f
14002191b:	84 c0                	test   %al,%al
14002191d:	75 13                	jne    0x140021932
14002191f:	8b 46 34             	mov    0x34(%rsi),%eax
140021922:	25 00 f0 00 00       	and    $0xf000,%eax
140021927:	3d 00 e0 00 00       	cmp    $0xe000,%eax
14002192c:	0f 84 8e 00 00 00    	je     0x1400219c0
140021932:	48 83 c3 08          	add    $0x8,%rbx
140021936:	4c 39 e3             	cmp    %r12,%rbx
140021939:	74 16                	je     0x140021951
14002193b:	48 8b 33             	mov    (%rbx),%rsi
14002193e:	49 89 f8             	mov    %rdi,%r8
140021941:	48 89 ea             	mov    %rbp,%rdx
140021944:	48 8d 4e 6c          	lea    0x6c(%rsi),%rcx
140021948:	e8 53 85 1c 00       	call   0x1401e9ea0
14002194d:	85 c0                	test   %eax,%eax
14002194f:	74 bf                	je     0x140021910
140021951:	31 c0                	xor    %eax,%eax
140021953:	48 83 c4 20          	add    $0x20,%rsp
140021957:	5b                   	pop    %rbx
140021958:	5e                   	pop    %rsi
140021959:	5f                   	pop    %rdi
14002195a:	5d                   	pop    %rbp
14002195b:	41 5c                	pop    %r12
14002195d:	c3                   	ret
14002195e:	66 90                	xchg   %ax,%ax
140021960:	45 31 c9             	xor    %r9d,%r9d
140021963:	41 89 f8             	mov    %edi,%r8d
140021966:	e8 35 17 01 00       	call   0x1400330a0
14002196b:	85 c0                	test   %eax,%eax
14002196d:	74 11                	je     0x140021980
14002196f:	b8 01 00 00 00       	mov    $0x1,%eax
140021974:	48 83 c4 20          	add    $0x20,%rsp
140021978:	5b                   	pop    %rbx
140021979:	5e                   	pop    %rsi
14002197a:	5f                   	pop    %rdi
14002197b:	5d                   	pop    %rbp
14002197c:	41 5c                	pop    %r12
14002197e:	c3                   	ret
14002197f:	90                   	nop
140021980:	44 8b 0e             	mov    (%rsi),%r9d
140021983:	41 89 f8             	mov    %edi,%r8d
140021986:	48 89 ea             	mov    %rbp,%rdx
140021989:	48 89 d9             	mov    %rbx,%rcx
14002198c:	e8 0f 19 01 00       	call   0x1400332a0
140021991:	48 85 c0             	test   %rax,%rax
140021994:	74 bb                	je     0x140021951
140021996:	8b 40 34             	mov    0x34(%rax),%eax
140021999:	25 00 f0 00 00       	and    $0xf000,%eax
14002199e:	3d 00 e0 00 00       	cmp    $0xe000,%eax
1400219a3:	0f 94 c0             	sete   %al
1400219a6:	0f b6 c0             	movzbl %al,%eax
1400219a9:	01 c0                	add    %eax,%eax
1400219ab:	48 83 c4 20          	add    $0x20,%rsp
1400219af:	5b                   	pop    %rbx
1400219b0:	5e                   	pop    %rsi
1400219b1:	5f                   	pop    %rdi
1400219b2:	5d                   	pop    %rbp
1400219b3:	41 5c                	pop    %r12
1400219b5:	c3                   	ret
1400219b6:	66 2e 0f 1f 84 00 00 	cs nopw 0x0(%rax,%rax,1)
1400219bd:	00 00 00
1400219c0:	b8 02 00 00 00       	mov    $0x2,%eax
1400219c5:	eb 8c                	jmp    0x140021953
1400219c7:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
1400219ce:	00 00
1400219d0:	41 54                	push   %r12
1400219d2:	55                   	push   %rbp
1400219d3:	57                   	push   %rdi
1400219d4:	56                   	push   %rsi
1400219d5:	53                   	push   %rbx
1400219d6:	48 83 ec 30          	sub    $0x30,%rsp
1400219da:	4c 8b 25 0f 71 21 00 	mov    0x21710f(%rip),%r12        # 0x140238af0
1400219e1:	49 8b 04 24          	mov    (%r12),%rax
1400219e5:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
1400219ea:	31 c0                	xor    %eax,%eax
1400219ec:	48 8b 05 0d 7a 21 00 	mov    0x217a0d(%rip),%rax        # 0x140239400
1400219f3:	48 89 ce             	mov    %rcx,%rsi
1400219f6:	48 89 d3             	mov    %rdx,%rbx
1400219f9:	49 c7 00 00 00 00 00 	movq   $0x0,(%r8)
140021a00:	4c 89 c5             	mov    %r8,%rbp
140021a03:	4c 89 cf             	mov    %r9,%rdi
140021a06:	48 89 f2             	mov    %rsi,%rdx
140021a09:	49 c7 01 00 00 00 00 	movq   $0x0,(%r9)
140021a10:	48 8b 08             	mov    (%rax),%rcx
140021a13:	4c 8d 4c 24 24       	lea    0x24(%rsp),%r9
140021a18:	4c 8d 44 24 20       	lea    0x20(%rsp),%r8
140021a1d:	e8 ae 88 01 00       	call   0x14003a2d0
140021a22:	48 89 c1             	mov    %rax,%rcx
140021a25:	48 85 c0             	test   %rax,%rax
140021a28:	74 56                	je     0x140021a80
140021a2a:	83 7c 24 20 03       	cmpl   $0x3,0x20(%rsp)
140021a2f:	75 4f                	jne    0x140021a80
140021a31:	48 85 db             	test   %rbx,%rbx
140021a34:	74 29                	je     0x140021a5f
140021a36:	66 0f ef c0          	pxor   %xmm0,%xmm0
140021a3a:	c7 43 20 00 00 00 00 	movl   $0x0,0x20(%rbx)
140021a41:	0f 11 03             	movups %xmm0,(%rbx)
140021a44:	0f 11 43 10          	movups %xmm0,0x10(%rbx)
140021a48:	f3 0f 6f 0e          	movdqu (%rsi),%xmm1
140021a4c:	0f 11 4b 24          	movups %xmm1,0x24(%rbx)
140021a50:	f3 0f 6f 56 10       	movdqu 0x10(%rsi),%xmm2
140021a55:	0f 11 53 34          	movups %xmm2,0x34(%rbx)
140021a59:	8b 46 20             	mov    0x20(%rsi),%eax
140021a5c:	89 43 44             	mov    %eax,0x44(%rbx)
140021a5f:	8b 54 24 24          	mov    0x24(%rsp),%edx
140021a63:	85 d2                	test   %edx,%edx
140021a65:	74 69                	je     0x140021ad0
140021a67:	8d 42 ff             	lea    -0x1(%rdx),%eax
140021a6a:	80 3c 01 0a          	cmpb   $0xa,(%rcx,%rax,1)
140021a6e:	75 30                	jne    0x140021aa0
140021a70:	89 d0                	mov    %edx,%eax
140021a72:	48 89 45 00          	mov    %rax,0x0(%rbp)
140021a76:	b8 01 00 00 00       	mov    $0x1,%eax
140021a7b:	48 89 0f             	mov    %rcx,(%rdi)
140021a7e:	eb 0a                	jmp    0x140021a8a
140021a80:	e8 2b 74 0d 00       	call   0x1400f8eb0
140021a85:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
140021a8a:	48 8b 54 24 28       	mov    0x28(%rsp),%rdx
140021a8f:	49 2b 14 24          	sub    (%r12),%rdx
140021a93:	75 44                	jne    0x140021ad9
140021a95:	48 83 c4 30          	add    $0x30,%rsp
140021a99:	5b                   	pop    %rbx
140021a9a:	5e                   	pop    %rsi
140021a9b:	5f                   	pop    %rdi
140021a9c:	5d                   	pop    %rbp
140021a9d:	41 5c                	pop    %r12
140021a9f:	c3                   	ret
140021aa0:	48 83 c2 01          	add    $0x1,%rdx
140021aa4:	e8 97 91 0a 00       	call   0x1400cac40
140021aa9:	48 89 c1             	mov    %rax,%rcx
140021aac:	8b 44 24 24          	mov    0x24(%rsp),%eax
140021ab0:	8d 50 01             	lea    0x1(%rax),%edx
140021ab3:	89 54 24 24          	mov    %edx,0x24(%rsp)
140021ab7:	c6 04 01 0a          	movb   $0xa,(%rcx,%rax,1)
140021abb:	8b 54 24 24          	mov    0x24(%rsp),%edx
140021abf:	89 d0                	mov    %edx,%eax
140021ac1:	48 89 45 00          	mov    %rax,0x0(%rbp)
140021ac5:	b8 01 00 00 00       	mov    $0x1,%eax
140021aca:	48 89 0f             	mov    %rcx,(%rdi)
140021acd:	eb bb                	jmp    0x140021a8a
140021acf:	90                   	nop
140021ad0:	e8 db 73 0d 00       	call   0x1400f8eb0
140021ad5:	31 c0                	xor    %eax,%eax
140021ad7:	eb b1                	jmp    0x140021a8a
140021ad9:	e8 92 2d 1c 00       	call   0x1401e4870
140021ade:	90                   	nop
140021adf:	90                   	nop
140021ae0:	57                   	push   %rdi
140021ae1:	56                   	push   %rsi
140021ae2:	53                   	push   %rbx
140021ae3:	48 83 ec 20          	sub    $0x20,%rsp
140021ae7:	4c 89 c7             	mov    %r8,%rdi
140021aea:	48 89 ce             	mov    %rcx,%rsi
140021aed:	e8 7e fb ff ff       	call   0x140021670
140021af2:	48 8b 05 07 79 21 00 	mov    0x217907(%rip),%rax        # 0x140239400
140021af9:	48 8d 4e 24          	lea    0x24(%rsi),%rcx
140021afd:	48 89 fa             	mov    %rdi,%rdx
140021b00:	48 8b 00             	mov    (%rax),%rax
140021b03:	48 8b 98 90 01 00 00 	mov    0x190(%rax),%rbx
140021b0a:	4c 8b 43 10          	mov    0x10(%rbx),%r8
140021b0e:	e8 dd 82 1c 00       	call   0x1401e9df0
140021b13:	48 8b 53 10          	mov    0x10(%rbx),%rdx
140021b17:	48 89 c1             	mov    %rax,%rcx
140021b1a:	48 83 fa 1f          	cmp    $0x1f,%rdx
140021b1e:	76 30                	jbe    0x140021b50
140021b20:	48 2b 1d 79 75 21 00 	sub    0x217579(%rip),%rbx        # 0x1402390a0
140021b27:	c7 46 48 01 00 00 00 	movl   $0x1,0x48(%rsi)
140021b2e:	48 b8 39 8e e3 38 8e 	movabs $0x8e38e38e38e38e39,%rax
140021b35:	e3 38 8e
140021b38:	48 c1 fb 04          	sar    $0x4,%rbx
140021b3c:	48 0f af d8          	imul   %rax,%rbx
140021b40:	89 5e 44             	mov    %ebx,0x44(%rsi)
140021b43:	48 83 c4 20          	add    $0x20,%rsp
140021b47:	5b                   	pop    %rbx
140021b48:	5e                   	pop    %rsi
140021b49:	5f                   	pop    %rdi
140021b4a:	c3                   	ret
140021b4b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140021b50:	b8 20 00 00 00       	mov    $0x20,%eax
140021b55:	48 01 d1             	add    %rdx,%rcx
140021b58:	45 31 c0             	xor    %r8d,%r8d
140021b5b:	48 29 d0             	sub    %rdx,%rax
140021b5e:	83 f8 08             	cmp    $0x8,%eax
140021b61:	72 3d                	jb     0x140021ba0
140021b63:	89 c2                	mov    %eax,%edx
140021b65:	48 c7 01 00 00 00 00 	movq   $0x0,(%rcx)
140021b6c:	48 c7 44 11 f8 00 00 	movq   $0x0,-0x8(%rcx,%rdx,1)
140021b73:	00 00
140021b75:	48 8d 51 08          	lea    0x8(%rcx),%rdx
140021b79:	48 83 e2 f8          	and    $0xfffffffffffffff8,%rdx
140021b7d:	48 29 d1             	sub    %rdx,%rcx
140021b80:	01 c8                	add    %ecx,%eax
140021b82:	83 e0 f8             	and    $0xfffffff8,%eax
140021b85:	83 f8 08             	cmp    $0x8,%eax
140021b88:	72 96                	jb     0x140021b20
140021b8a:	83 e0 f8             	and    $0xfffffff8,%eax
140021b8d:	31 c9                	xor    %ecx,%ecx
140021b8f:	41 89 c9             	mov    %ecx,%r9d
140021b92:	83 c1 08             	add    $0x8,%ecx
140021b95:	4e 89 04 0a          	mov    %r8,(%rdx,%r9,1)
140021b99:	39 c1                	cmp    %eax,%ecx
140021b9b:	72 f2                	jb     0x140021b8f
140021b9d:	eb 81                	jmp    0x140021b20
140021b9f:	90                   	nop
140021ba0:	a8 04                	test   $0x4,%al
140021ba2:	75 24                	jne    0x140021bc8
140021ba4:	85 c0                	test   %eax,%eax
140021ba6:	0f 84 74 ff ff ff    	je     0x140021b20
140021bac:	c6 01 00             	movb   $0x0,(%rcx)
140021baf:	a8 02                	test   $0x2,%al
140021bb1:	0f 84 69 ff ff ff    	je     0x140021b20
140021bb7:	89 c0                	mov    %eax,%eax
140021bb9:	31 d2                	xor    %edx,%edx
140021bbb:	66 89 54 01 fe       	mov    %dx,-0x2(%rcx,%rax,1)
140021bc0:	e9 5b ff ff ff       	jmp    0x140021b20
140021bc5:	0f 1f 00             	nopl   (%rax)
140021bc8:	89 c0                	mov    %eax,%eax
140021bca:	c7 01 00 00 00 00    	movl   $0x0,(%rcx)
140021bd0:	c7 44 01 fc 00 00 00 	movl   $0x0,-0x4(%rcx,%rax,1)
140021bd7:	00
140021bd8:	e9 43 ff ff ff       	jmp    0x140021b20
140021bdd:	0f 1f 00             	nopl   (%rax)
140021be0:	55                   	push   %rbp
140021be1:	57                   	push   %rdi
140021be2:	56                   	push   %rsi
140021be3:	53                   	push   %rbx
140021be4:	48 83 ec 28          	sub    $0x28,%rsp
140021be8:	48 63 ea             	movslq %edx,%rbp
140021beb:	48 89 cf             	mov    %rcx,%rdi
140021bee:	48 83 fd fb          	cmp    $0xfffffffffffffffb,%rbp
140021bf2:	77 30                	ja     0x140021c24
140021bf4:	74 42                	je     0x140021c38
140021bf6:	48 8d 55 05          	lea    0x5(%rbp),%rdx
140021bfa:	b9 01 00 00 00       	mov    $0x1,%ecx
140021bff:	e8 9c 90 0a 00       	call   0x1400caca0
140021c04:	49 89 e8             	mov    %rbp,%r8
140021c07:	48 89 fa             	mov    %rdi,%rdx
140021c0a:	48 89 c3             	mov    %rax,%rbx
140021c0d:	48 8d 48 04          	lea    0x4(%rax),%rcx
140021c11:	e8 da 81 1c 00       	call   0x1401e9df0
140021c16:	48 89 d8             	mov    %rbx,%rax
140021c19:	89 2b                	mov    %ebp,(%rbx)
140021c1b:	48 83 c4 28          	add    $0x28,%rsp
140021c1f:	5b                   	pop    %rbx
140021c20:	5e                   	pop    %rsi
140021c21:	5f                   	pop    %rdi
140021c22:	5d                   	pop    %rbp
140021c23:	c3                   	ret
140021c24:	49 89 e8             	mov    %rbp,%r8
140021c27:	ba 04 00 00 00       	mov    $0x4,%edx
140021c2c:	48 8d 0d 25 8b 1d 00 	lea    0x1d8b25(%rip),%rcx        # 0x1401fa758
140021c33:	e8 58 17 0a 00       	call   0x1400c3390
140021c38:	41 b8 01 00 00 00    	mov    $0x1,%r8d
140021c3e:	48 83 ca ff          	or     $0xffffffffffffffff,%rdx
140021c42:	48 8d 0d 0f 8b 1d 00 	lea    0x1d8b0f(%rip),%rcx        # 0x1401fa758
140021c49:	e8 42 17 0a 00       	call   0x1400c3390
140021c4e:	90                   	nop
140021c4f:	90                   	nop
140021c50:	57                   	push   %rdi
140021c51:	56                   	push   %rsi
140021c52:	53                   	push   %rbx
140021c53:	48 83 ec 20          	sub    $0x20,%rsp
140021c57:	48 8b 05 a2 74 21 00 	mov    0x2174a2(%rip),%rax        # 0x140239100
140021c5e:	4c 89 c6             	mov    %r8,%rsi
140021c61:	44 89 cf             	mov    %r9d,%edi
140021c64:	44 8b 08             	mov    (%rax),%r9d
140021c67:	48 89 cb             	mov    %rcx,%rbx
140021c6a:	41 89 f8             	mov    %edi,%r8d
140021c6d:	48 89 d1             	mov    %rdx,%rcx
140021c70:	48 89 f2             	mov    %rsi,%rdx
140021c73:	e8 28 16 01 00       	call   0x1400332a0
140021c78:	48 85 c0             	test   %rax,%rax
140021c7b:	75 5b                	jne    0x140021cd8
140021c7d:	48 63 4b 04          	movslq 0x4(%rbx),%rcx
140021c81:	8b 43 30             	mov    0x30(%rbx),%eax
140021c84:	39 c1                	cmp    %eax,%ecx
140021c86:	7c 58                	jl     0x140021ce0
140021c88:	8d 54 40 30          	lea    0x30(%rax,%rax,2),%edx
140021c8c:	89 d0                	mov    %edx,%eax
140021c8e:	c1 e8 1f             	shr    $0x1f,%eax
140021c91:	01 d0                	add    %edx,%eax
140021c93:	8d 51 01             	lea    0x1(%rcx),%edx
140021c96:	d1 f8                	sar    $1,%eax
140021c98:	39 c1                	cmp    %eax,%ecx
140021c9a:	0f 4c d0             	cmovl  %eax,%edx
140021c9d:	89 53 30             	mov    %edx,0x30(%rbx)
140021ca0:	48 63 d2             	movslq %edx,%rdx
140021ca3:	48 89 d0             	mov    %rdx,%rax
140021ca6:	48 c1 e8 3d          	shr    $0x3d,%rax
140021caa:	75 3a                	jne    0x140021ce6
140021cac:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
140021cb0:	48 c1 e2 03          	shl    $0x3,%rdx
140021cb4:	e8 87 8f 0a 00       	call   0x1400cac40
140021cb9:	48 63 4b 04          	movslq 0x4(%rbx),%rcx
140021cbd:	48 89 43 10          	mov    %rax,0x10(%rbx)
140021cc1:	8d 51 01             	lea    0x1(%rcx),%edx
140021cc4:	89 53 04             	mov    %edx,0x4(%rbx)
140021cc7:	48 8d 1c c8          	lea    (%rax,%rcx,8),%rbx
140021ccb:	89 fa                	mov    %edi,%edx
140021ccd:	48 89 f1             	mov    %rsi,%rcx
140021cd0:	e8 0b ff ff ff       	call   0x140021be0
140021cd5:	48 89 03             	mov    %rax,(%rbx)
140021cd8:	48 83 c4 20          	add    $0x20,%rsp
140021cdc:	5b                   	pop    %rbx
140021cdd:	5e                   	pop    %rsi
140021cde:	5f                   	pop    %rdi
140021cdf:	c3                   	ret
140021ce0:	48 8b 43 10          	mov    0x10(%rbx),%rax
140021ce4:	eb db                	jmp    0x140021cc1
140021ce6:	49 89 d0             	mov    %rdx,%r8
140021ce9:	48 8d 0d 88 8a 1d 00 	lea    0x1d8a88(%rip),%rcx        # 0x1401fa778
140021cf0:	ba 08 00 00 00       	mov    $0x8,%edx
140021cf5:	e8 96 16 0a 00       	call   0x1400c3390
140021cfa:	90                   	nop
140021cfb:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140021d00:	41 57                	push   %r15
140021d02:	41 56                	push   %r14
140021d04:	41 55                	push   %r13
140021d06:	41 54                	push   %r12
140021d08:	55                   	push   %rbp
140021d09:	57                   	push   %rdi
140021d0a:	56                   	push   %rsi
140021d0b:	53                   	push   %rbx
140021d0c:	48 81 ec b8 00 00 00 	sub    $0xb8,%rsp
140021d13:	4c 8b 2d d6 6d 21 00 	mov    0x216dd6(%rip),%r13        # 0x140238af0
140021d1a:	49 8b 45 00          	mov    0x0(%r13),%rax