140022b49:	48 8b c2             	mov    %rdx,%rax
140022b4c:	48 c1 f8 06          	sar    $0x6,%rax
140022b50:	83 e2 3f             	and    $0x3f,%edx
140022b53:	48 8d 0c d2          	lea    (%rdx,%rdx,8),%rcx
140022b57:	49 8b 04 c2          	mov    (%r10,%rax,8),%rax
140022b5b:	48 8d 0c c8          	lea    (%rax,%rcx,8),%rcx
140022b5f:	f6 41 3d 01          	testb  $0x1,0x3d(%rcx)
140022b63:	74 04                	je     0x140022b69
140022b65:	33 c0                	xor    %eax,%eax
140022b67:	eb 05                	jmp    0x140022b6e
140022b69:	b8 01 00 00 00       	mov    $0x1,%eax
140022b6e:	85 c0                	test   %eax,%eax
140022b70:	75 40                	jne    0x140022bb2
140022b72:	c6 47 30 01          	movb   $0x1,0x30(%rdi)
140022b76:	c7 47 2c 16 00 00 00 	movl   $0x16,0x2c(%rdi)
140022b7d:	48 89 7c 24 28       	mov    %rdi,0x28(%rsp)
140022b82:	48 83 64 24 20 00    	andq   $0x0,0x20(%rsp)
140022b88:	45 33 c9             	xor    %r9d,%r9d
140022b8b:	45 33 c0             	xor    %r8d,%r8d
140022b8e:	33 d2                	xor    %edx,%edx
140022b90:	33 c9                	xor    %ecx,%ecx
140022b92:	e8 f1 c2 fe ff       	call   0x14000ee88
140022b97:	48 8d 15 0c 00 00 00 	lea    0xc(%rip),%rdx        # 0x140022baa
140022b9e:	48 8b 4c 24 30       	mov    0x30(%rsp),%rcx
140022ba3:	e8 90 6d 01 00       	call   0x140039938
140022ba8:	90                   	nop
140022ba9:	90                   	nop
140022baa:	83 c8 ff             	or     $0xffffffff,%eax
140022bad:	e9 19 ff ff ff       	jmp    0x140022acb
140022bb2:	83 6b 10 01          	subl   $0x1,0x10(%rbx)
140022bb6:	79 11                	jns    0x140022bc9
140022bb8:	4c 8b c7             	mov    %rdi,%r8
140022bbb:	48 8b d3             	mov    %rbx,%rdx
140022bbe:	8b ce                	mov    %esi,%ecx
140022bc0:	e8 57 bc 00 00       	call   0x14002e81c
140022bc5:	8b f8                	mov    %eax,%edi
140022bc7:	eb 0d                	jmp    0x140022bd6
140022bc9:	48 8b 03             	mov    (%rbx),%rax
140022bcc:	40 88 30             	mov    %sil,(%rax)
140022bcf:	48 ff 03             	incq   (%rbx)
140022bd2:	40 0f b6 fe          	movzbl %sil,%edi
140022bd6:	48 8b cb             	mov    %rbx,%rcx
140022bd9:	e8 f2 fc ff ff       	call   0x1400228d0
140022bde:	8b c7                	mov    %edi,%eax
140022be0:	e9 e6 fe ff ff       	jmp    0x140022acb
140022be5:	cc                   	int3
140022be6:	cc                   	int3
140022be7:	cc                   	int3
140022be8:	83 6a 10 01          	subl   $0x1,0x10(%rdx)
140022bec:	0f 88 2a bc 00 00    	js     0x14002e81c
140022bf2:	48 8b 02             	mov    (%rdx),%rax
140022bf5:	88 08                	mov    %cl,(%rax)
140022bf7:	48 ff 02             	incq   (%rdx)
140022bfa:	0f b6 c1             	movzbl %cl,%eax
140022bfd:	c3                   	ret
140022bfe:	cc                   	int3
140022bff:	cc                   	int3
140022c00:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140022c05:	48 89 7c 24 10       	mov    %rdi,0x10(%rsp)
140022c0a:	55                   	push   %rbp
140022c0b:	48 8b ec             	mov    %rsp,%rbp
140022c0e:	48 83 ec 60          	sub    $0x60,%rsp
140022c12:	48 83 65 c0 00       	andq   $0x0,-0x40(%rbp)
140022c17:	83 3d 5e f4 02 00 00 	cmpl   $0x0,0x2f45e(%rip)        # 0x14005207c
140022c1e:	c6 45 d0 00          	movb   $0x0,-0x30(%rbp)
140022c22:	c6 45 e8 00          	movb   $0x0,-0x18(%rbp)
140022c26:	c6 45 f0 00          	movb   $0x0,-0x10(%rbp)
140022c2a:	c6 45 f8 00          	movb   $0x0,-0x8(%rbp)
140022c2e:	75 10                	jne    0x140022c40
140022c30:	0f 10 05 91 b7 02 00 	movups 0x2b791(%rip),%xmm0        # 0x14004e3c8
140022c37:	c6 45 e8 01          	movb   $0x1,-0x18(%rbp)
140022c3b:	f3 0f 7f 45 d8       	movdqu %xmm0,-0x28(%rbp)
140022c40:	4c 8d 45 c0          	lea    -0x40(%rbp),%r8
140022c44:	e8 37 fe ff ff       	call   0x140022a80
140022c49:	80 7d e8 02          	cmpb   $0x2,-0x18(%rbp)
140022c4d:	8b f8                	mov    %eax,%edi
140022c4f:	75 0b                	jne    0x140022c5c
140022c51:	48 8b 4d c0          	mov    -0x40(%rbp),%rcx
140022c55:	83 a1 a8 03 00 00 fd 	andl   $0xfffffffd,0x3a8(%rcx)
140022c5c:	80 7d f0 00          	cmpb   $0x0,-0x10(%rbp)
140022c60:	74 0f                	je     0x140022c71
140022c62:	8b 5d ec             	mov    -0x14(%rbp),%ebx
140022c65:	48 8d 4d c0          	lea    -0x40(%rbp),%rcx
140022c69:	e8 fa be fe ff       	call   0x14000eb68
140022c6e:	89 58 20             	mov    %ebx,0x20(%rax)
140022c71:	80 7d f8 00          	cmpb   $0x0,-0x8(%rbp)
140022c75:	74 0f                	je     0x140022c86
140022c77:	8b 5d f4             	mov    -0xc(%rbp),%ebx
140022c7a:	48 8d 4d c0          	lea    -0x40(%rbp),%rcx
140022c7e:	e8 e5 be fe ff       	call   0x14000eb68
140022c83:	89 58 24             	mov    %ebx,0x24(%rax)
140022c86:	48 8b 5c 24 70       	mov    0x70(%rsp),%rbx
140022c8b:	8b c7                	mov    %edi,%eax
140022c8d:	48 8b 7c 24 78       	mov    0x78(%rsp),%rdi
140022c92:	48 83 c4 60          	add    $0x60,%rsp
140022c96:	5d                   	pop    %rbp
140022c97:	c3                   	ret
140022c98:	40 53                	rex push %rbx
140022c9a:	48 83 ec 20          	sub    $0x20,%rsp
140022c9e:	48 8b d9             	mov    %rcx,%rbx
140022ca1:	b9 02 00 00 00       	mov    $0x2,%ecx
140022ca6:	e8 61 fb ff ff       	call   0x14002280c
140022cab:	48 3b d8             	cmp    %rax,%rbx
140022cae:	74 29                	je     0x140022cd9
140022cb0:	b9 01 00 00 00       	mov    $0x1,%ecx
140022cb5:	e8 52 fb ff ff       	call   0x14002280c
140022cba:	48 3b d8             	cmp    %rax,%rbx
140022cbd:	75 16                	jne    0x140022cd5
140022cbf:	48 8b cb             	mov    %rbx,%rcx
140022cc2:	e8 fd f9 ff ff       	call   0x1400226c4
140022cc7:	8b c8                	mov    %eax,%ecx
140022cc9:	e8 e6 bc 00 00       	call   0x14002e9b4
140022cce:	85 c0                	test   %eax,%eax
140022cd0:	0f 95 c0             	setne  %al
140022cd3:	eb 06                	jmp    0x140022cdb
140022cd5:	32 c0                	xor    %al,%al
140022cd7:	eb 02                	jmp    0x140022cdb
140022cd9:	b0 01                	mov    $0x1,%al
140022cdb:	48 83 c4 20          	add    $0x20,%rsp
140022cdf:	5b                   	pop    %rbx
140022ce0:	c3                   	ret
140022ce1:	cc                   	int3
140022ce2:	cc                   	int3
140022ce3:	cc                   	int3
140022ce4:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140022ce9:	57                   	push   %rdi
140022cea:	48 83 ec 20          	sub    $0x20,%rsp
140022cee:	48 8b d9             	mov    %rcx,%rbx
140022cf1:	e8 a2 ff ff ff       	call   0x140022c98
140022cf6:	84 c0                	test   %al,%al
140022cf8:	0f 84 a0 00 00 00    	je     0x140022d9e
140022cfe:	b9 01 00 00 00       	mov    $0x1,%ecx
140022d03:	e8 04 fb ff ff       	call   0x14002280c
140022d08:	48 3b d8             	cmp    %rax,%rbx
140022d0b:	75 09                	jne    0x140022d16
140022d0d:	48 8d 3d d4 f3 02 00 	lea    0x2f3d4(%rip),%rdi        # 0x1400520e8
140022d14:	eb 16                	jmp    0x140022d2c
140022d16:	b9 02 00 00 00       	mov    $0x2,%ecx
140022d1b:	e8 ec fa ff ff       	call   0x14002280c
140022d20:	48 3b d8             	cmp    %rax,%rbx
140022d23:	75 79                	jne    0x140022d9e
140022d25:	48 8d 3d c4 f3 02 00 	lea    0x2f3c4(%rip),%rdi        # 0x1400520f0
140022d2c:	ff 05 a6 f3 02 00    	incl   0x2f3a6(%rip)        # 0x1400520d8
140022d32:	8b 43 14             	mov    0x14(%rbx),%eax
140022d35:	90                   	nop
140022d36:	a9 c0 04 00 00       	test   $0x4c0,%eax
140022d3b:	75 61                	jne    0x140022d9e
140022d3d:	f0 81 4b 14 82 02 00 	lock orl $0x282,0x14(%rbx)
140022d44:	00
140022d45:	48 83 3f 00          	cmpq   $0x0,(%rdi)
140022d49:	75 14                	jne    0x140022d5f
140022d4b:	b9 00 10 00 00       	mov    $0x1000,%ecx
140022d50:	e8 ab e7 fd ff       	call   0x140001500
140022d55:	33 c9                	xor    %ecx,%ecx
140022d57:	48 89 07             	mov    %rax,(%rdi)
140022d5a:	e8 81 e7 fd ff       	call   0x1400014e0
140022d5f:	48 8b 0f             	mov    (%rdi),%rcx
140022d62:	48 85 c9             	test   %rcx,%rcx
140022d65:	75 1d                	jne    0x140022d84
140022d67:	48 8d 4b 1c          	lea    0x1c(%rbx),%rcx
140022d6b:	c7 43 10 02 00 00 00 	movl   $0x2,0x10(%rbx)
140022d72:	48 89 4b 08          	mov    %rcx,0x8(%rbx)
140022d76:	48 89 0b             	mov    %rcx,(%rbx)
140022d79:	c7 43 20 02 00 00 00 	movl   $0x2,0x20(%rbx)
140022d80:	b0 01                	mov    $0x1,%al
140022d82:	eb 1c                	jmp    0x140022da0
140022d84:	48 89 4b 08          	mov    %rcx,0x8(%rbx)
140022d88:	48 8b 07             	mov    (%rdi),%rax
140022d8b:	48 89 03             	mov    %rax,(%rbx)
140022d8e:	c7 43 10 00 10 00 00 	movl   $0x1000,0x10(%rbx)
140022d95:	c7 43 20 00 10 00 00 	movl   $0x1000,0x20(%rbx)
140022d9c:	eb e2                	jmp    0x140022d80
140022d9e:	32 c0                	xor    %al,%al
140022da0:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140022da5:	48 83 c4 20          	add    $0x20,%rsp
140022da9:	5f                   	pop    %rdi
140022daa:	c3                   	ret
140022dab:	cc                   	int3
140022dac:	84 c9                	test   %cl,%cl
140022dae:	74 38                	je     0x140022de8
140022db0:	53                   	push   %rbx
140022db1:	48 83 ec 20          	sub    $0x20,%rsp
140022db5:	8b 42 14             	mov    0x14(%rdx),%eax
140022db8:	48 8b da             	mov    %rdx,%rbx
140022dbb:	c1 e8 09             	shr    $0x9,%eax
140022dbe:	90                   	nop
140022dbf:	a8 01                	test   $0x1,%al
140022dc1:	74 20                	je     0x140022de3
140022dc3:	49 8b d0             	mov    %r8,%rdx
140022dc6:	48 8b cb             	mov    %rbx,%rcx
140022dc9:	e8 e6 28 00 00       	call   0x1400256b4
140022dce:	f0 81 63 14 7f fd ff 	lock andl $0xfffffd7f,0x14(%rbx)
140022dd5:	ff
140022dd6:	83 63 20 00          	andl   $0x0,0x20(%rbx)
140022dda:	48 83 63 08 00       	andq   $0x0,0x8(%rbx)
140022ddf:	48 83 23 00          	andq   $0x0,(%rbx)
140022de3:	48 83 c4 20          	add    $0x20,%rsp
140022de7:	5b                   	pop    %rbx
140022de8:	c3                   	ret
140022de9:	cc                   	int3
140022dea:	cc                   	int3
140022deb:	cc                   	int3
140022dec:	48 8b c4             	mov    %rsp,%rax
140022def:	48 89 58 08          	mov    %rbx,0x8(%rax)
140022df3:	48 89 68 10          	mov    %rbp,0x10(%rax)
140022df7:	48 89 70 18          	mov    %rsi,0x18(%rax)
140022dfb:	48 89 78 20          	mov    %rdi,0x20(%rax)
140022dff:	41 56                	push   %r14
140022e01:	48 81 ec 90 00 00 00 	sub    $0x90,%rsp
140022e08:	48 8d 48 88          	lea    -0x78(%rax),%rcx
140022e0c:	ff 15 4e 95 01 00    	call   *0x1954e(%rip)        # 0x14003c360
140022e12:	45 33 f6             	xor    %r14d,%r14d
140022e15:	66 44 39 74 24 62    	cmp    %r14w,0x62(%rsp)
140022e1b:	0f 84 9a 00 00 00    	je     0x140022ebb
140022e21:	48 8b 44 24 68       	mov    0x68(%rsp),%rax
140022e26:	48 85 c0             	test   %rax,%rax
140022e29:	0f 84 8c 00 00 00    	je     0x140022ebb
140022e2f:	48 63 18             	movslq (%rax),%rbx
140022e32:	48 8d 70 04          	lea    0x4(%rax),%rsi
140022e36:	bf 00 20 00 00       	mov    $0x2000,%edi
140022e3b:	48 03 de             	add    %rsi,%rbx
140022e3e:	39 38                	cmp    %edi,(%rax)
140022e40:	0f 4c 38             	cmovl  (%rax),%edi
140022e43:	8b cf                	mov    %edi,%ecx
140022e45:	e8 12 34 00 00       	call   0x14002625c
140022e4a:	3b 3d b0 f6 02 00    	cmp    0x2f6b0(%rip),%edi        # 0x140052500
140022e50:	0f 4f 3d a9 f6 02 00 	cmovg  0x2f6a9(%rip),%edi        # 0x140052500
140022e57:	85 ff                	test   %edi,%edi
140022e59:	74 60                	je     0x140022ebb
140022e5b:	41 8b ee             	mov    %r14d,%ebp
140022e5e:	48 83 3b ff          	cmpq   $0xffffffffffffffff,(%rbx)
140022e62:	74 47                	je     0x140022eab
140022e64:	48 83 3b fe          	cmpq   $0xfffffffffffffffe,(%rbx)
140022e68:	74 41                	je     0x140022eab
140022e6a:	f6 06 01             	testb  $0x1,(%rsi)
140022e6d:	74 3c                	je     0x140022eab
140022e6f:	f6 06 08             	testb  $0x8,(%rsi)
140022e72:	75 0d                	jne    0x140022e81
140022e74:	48 8b 0b             	mov    (%rbx),%rcx
140022e77:	ff 15 03 93 01 00    	call   *0x19303(%rip)        # 0x14003c180
140022e7d:	85 c0                	test   %eax,%eax
140022e7f:	74 2a                	je     0x140022eab
140022e81:	48 8b c5             	mov    %rbp,%rax
140022e84:	4c 8d 05 75 f2 02 00 	lea    0x2f275(%rip),%r8        # 0x140052100
140022e8b:	48 8b cd             	mov    %rbp,%rcx
140022e8e:	48 c1 f9 06          	sar    $0x6,%rcx
140022e92:	83 e0 3f             	and    $0x3f,%eax
140022e95:	49 8b 0c c8          	mov    (%r8,%rcx,8),%rcx
140022e99:	48 8d 14 c0          	lea    (%rax,%rax,8),%rdx
140022e9d:	48 8b 03             	mov    (%rbx),%rax
140022ea0:	48 89 44 d1 28       	mov    %rax,0x28(%rcx,%rdx,8)
140022ea5:	8a 06                	mov    (%rsi),%al
140022ea7:	88 44 d1 38          	mov    %al,0x38(%rcx,%rdx,8)
140022eab:	48 ff c5             	inc    %rbp
140022eae:	48 ff c6             	inc    %rsi
140022eb1:	48 83 c3 08          	add    $0x8,%rbx
140022eb5:	48 83 ef 01          	sub    $0x1,%rdi
140022eb9:	75 a3                	jne    0x140022e5e
140022ebb:	4c 8d 9c 24 90 00 00 	lea    0x90(%rsp),%r11
140022ec2:	00
140022ec3:	49 8b 5b 10          	mov    0x10(%r11),%rbx
140022ec7:	49 8b 6b 18          	mov    0x18(%r11),%rbp
140022ecb:	49 8b 73 20          	mov    0x20(%r11),%rsi
140022ecf:	49 8b 7b 28          	mov    0x28(%r11),%rdi
140022ed3:	49 8b e3             	mov    %r11,%rsp
140022ed6:	41 5e                	pop    %r14
140022ed8:	c3                   	ret
140022ed9:	cc                   	int3
140022eda:	cc                   	int3
140022edb:	cc                   	int3
140022edc:	48 8b c4             	mov    %rsp,%rax
140022edf:	48 89 58 08          	mov    %rbx,0x8(%rax)
140022ee3:	48 89 68 10          	mov    %rbp,0x10(%rax)
140022ee7:	48 89 70 18          	mov    %rsi,0x18(%rax)
140022eeb:	48 89 78 20          	mov    %rdi,0x20(%rax)
140022eef:	41 56                	push   %r14
140022ef1:	48 83 ec 20          	sub    $0x20,%rsp
140022ef5:	33 f6                	xor    %esi,%esi
140022ef7:	45 33 f6             	xor    %r14d,%r14d
140022efa:	48 63 ce             	movslq %esi,%rcx
140022efd:	48 8d 3d fc f1 02 00 	lea    0x2f1fc(%rip),%rdi        # 0x140052100
140022f04:	48 8b c1             	mov    %rcx,%rax
140022f07:	83 e1 3f             	and    $0x3f,%ecx
140022f0a:	48 c1 f8 06          	sar    $0x6,%rax
140022f0e:	48 8d 1c c9          	lea    (%rcx,%rcx,8),%rbx
140022f12:	48 8b 3c c7          	mov    (%rdi,%rax,8),%rdi
140022f16:	48 8b 44 df 28       	mov    0x28(%rdi,%rbx,8),%rax
140022f1b:	48 83 c0 02          	add    $0x2,%rax
140022f1f:	48 83 f8 01          	cmp    $0x1,%rax
140022f23:	76 0a                	jbe    0x140022f2f
140022f25:	80 4c df 38 80       	orb    $0x80,0x38(%rdi,%rbx,8)
140022f2a:	e9 8b 00 00 00       	jmp    0x140022fba
140022f2f:	c6 44 df 38 81       	movb   $0x81,0x38(%rdi,%rbx,8)
140022f34:	8b ce                	mov    %esi,%ecx
140022f36:	85 f6                	test   %esi,%esi
140022f38:	74 16                	je     0x140022f50
140022f3a:	83 e9 01             	sub    $0x1,%ecx
140022f3d:	74 0a                	je     0x140022f49
140022f3f:	83 f9 01             	cmp    $0x1,%ecx
140022f42:	b9 f4 ff ff ff       	mov    $0xfffffff4,%ecx
140022f47:	eb 0c                	jmp    0x140022f55
140022f49:	b9 f5 ff ff ff       	mov    $0xfffffff5,%ecx
140022f4e:	eb 05                	jmp    0x140022f55
140022f50:	b9 f6 ff ff ff       	mov    $0xfffffff6,%ecx
140022f55:	ff 15 1d 92 01 00    	call   *0x1921d(%rip)        # 0x14003c178
140022f5b:	48 8b e8             	mov    %rax,%rbp
140022f5e:	48 8d 48 01          	lea    0x1(%rax),%rcx
140022f62:	48 83 f9 01          	cmp    $0x1,%rcx
140022f66:	76 2d                	jbe    0x140022f95
140022f68:	48 8b c8             	mov    %rax,%rcx
140022f6b:	ff 15 0f 92 01 00    	call   *0x1920f(%rip)        # 0x14003c180
140022f71:	85 c0                	test   %eax,%eax
140022f73:	74 20                	je     0x140022f95
140022f75:	0f b6 c0             	movzbl %al,%eax
140022f78:	48 89 6c df 28       	mov    %rbp,0x28(%rdi,%rbx,8)
140022f7d:	83 f8 02             	cmp    $0x2,%eax
140022f80:	75 07                	jne    0x140022f89
140022f82:	80 4c df 38 40       	orb    $0x40,0x38(%rdi,%rbx,8)
140022f87:	eb 31                	jmp    0x140022fba
140022f89:	83 f8 03             	cmp    $0x3,%eax
140022f8c:	75 2c                	jne    0x140022fba
140022f8e:	80 4c df 38 08       	orb    $0x8,0x38(%rdi,%rbx,8)
140022f93:	eb 25                	jmp    0x140022fba
140022f95:	80 4c df 38 40       	orb    $0x40,0x38(%rdi,%rbx,8)
140022f9a:	48 c7 44 df 28 fe ff 	movq   $0xfffffffffffffffe,0x28(%rdi,%rbx,8)
140022fa1:	ff ff
140022fa3:	48 8b 05 26 f1 02 00 	mov    0x2f126(%rip),%rax        # 0x1400520d0
140022faa:	48 85 c0             	test   %rax,%rax
140022fad:	74 0b                	je     0x140022fba
140022faf:	49 8b 04 06          	mov    (%r14,%rax,1),%rax
140022fb3:	c7 40 18 fe ff ff ff 	movl   $0xfffffffe,0x18(%rax)
140022fba:	ff c6                	inc    %esi
140022fbc:	49 83 c6 08          	add    $0x8,%r14
140022fc0:	83 fe 03             	cmp    $0x3,%esi
140022fc3:	0f 85 31 ff ff ff    	jne    0x140022efa
140022fc9:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140022fce:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
140022fd3:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
140022fd8:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
140022fdd:	48 83 c4 20          	add    $0x20,%rsp
140022fe1:	41 5e                	pop    %r14
140022fe3:	c3                   	ret
140022fe4:	40 53                	rex push %rbx
140022fe6:	48 83 ec 20          	sub    $0x20,%rsp
140022fea:	b9 07 00 00 00       	mov    $0x7,%ecx
140022fef:	e8 34 68 00 00       	call   0x140029828
140022ff4:	33 db                	xor    %ebx,%ebx
140022ff6:	33 c9                	xor    %ecx,%ecx
140022ff8:	e8 5f 32 00 00       	call   0x14002625c
140022ffd:	85 c0                	test   %eax,%eax