1400228fc:	41 56                	push   %r14
1400228fe:	41 57                	push   %r15
140022900:	48 83 ec 50          	sub    $0x50,%rsp
140022904:	48 8b 05 b5 b8 02 00 	mov    0x2b8b5(%rip),%rax        # 0x14004e1c0
14002290b:	48 33 c4             	xor    %rsp,%rax
14002290e:	48 89 44 24 40       	mov    %rax,0x40(%rsp)
140022913:	8b 42 14             	mov    0x14(%rdx),%eax
140022916:	49 8b e8             	mov    %r8,%rbp
140022919:	c1 e8 0c             	shr    $0xc,%eax
14002291c:	48 8b fa             	mov    %rdx,%rdi
14002291f:	0f b7 f1             	movzwl %cx,%esi
140022922:	90                   	nop
140022923:	a8 01                	test   $0x1,%al
140022925:	74 19                	je     0x140022940
140022927:	83 42 10 fe          	addl   $0xfffffffe,0x10(%rdx)
14002292b:	0f 88 16 01 00 00    	js     0x140022a47
140022931:	48 8b 02             	mov    (%rdx),%rax
140022934:	66 89 30             	mov    %si,(%rax)
140022937:	48 83 02 02          	addq   $0x2,(%rdx)
14002293b:	e9 1a 01 00 00       	jmp    0x140022a5a
140022940:	48 8b cf             	mov    %rdi,%rcx
140022943:	e8 7c fd ff ff       	call   0x1400226c4
140022948:	4c 8d 35 b1 bb 02 00 	lea    0x2bbb1(%rip),%r14        # 0x14004e500
14002294f:	4c 8d 3d aa f7 02 00 	lea    0x2f7aa(%rip),%r15        # 0x140052100
140022956:	83 f8 ff             	cmp    $0xffffffff,%eax
140022959:	74 35                	je     0x140022990
14002295b:	48 8b cf             	mov    %rdi,%rcx
14002295e:	e8 61 fd ff ff       	call   0x1400226c4
140022963:	83 f8 fe             	cmp    $0xfffffffe,%eax
140022966:	74 28                	je     0x140022990
140022968:	48 8b cf             	mov    %rdi,%rcx
14002296b:	e8 54 fd ff ff       	call   0x1400226c4
140022970:	48 63 d8             	movslq %eax,%rbx
140022973:	48 8b cf             	mov    %rdi,%rcx
140022976:	48 c1 fb 06          	sar    $0x6,%rbx
14002297a:	e8 45 fd ff ff       	call   0x1400226c4
14002297f:	83 e0 3f             	and    $0x3f,%eax
140022982:	48 8d 14 c0          	lea    (%rax,%rax,8),%rdx
140022986:	48 c1 e2 03          	shl    $0x3,%rdx
14002298a:	49 03 14 df          	add    (%r15,%rbx,8),%rdx
14002298e:	eb 03                	jmp    0x140022993
140022990:	49 8b d6             	mov    %r14,%rdx
140022993:	8a 42 39             	mov    0x39(%rdx),%al
140022996:	fe c8                	dec    %al
140022998:	3c 01                	cmp    $0x1,%al
14002299a:	0f 86 9b 00 00 00    	jbe    0x140022a3b
1400229a0:	48 8b cf             	mov    %rdi,%rcx
1400229a3:	e8 1c fd ff ff       	call   0x1400226c4
1400229a8:	83 f8 ff             	cmp    $0xffffffff,%eax
1400229ab:	74 33                	je     0x1400229e0
1400229ad:	48 8b cf             	mov    %rdi,%rcx
1400229b0:	e8 0f fd ff ff       	call   0x1400226c4
1400229b5:	83 f8 fe             	cmp    $0xfffffffe,%eax
1400229b8:	74 26                	je     0x1400229e0
1400229ba:	48 8b cf             	mov    %rdi,%rcx
1400229bd:	e8 02 fd ff ff       	call   0x1400226c4
1400229c2:	48 63 d8             	movslq %eax,%rbx
1400229c5:	48 8b cf             	mov    %rdi,%rcx
1400229c8:	48 c1 fb 06          	sar    $0x6,%rbx
1400229cc:	e8 f3 fc ff ff       	call   0x1400226c4
1400229d1:	83 e0 3f             	and    $0x3f,%eax
1400229d4:	4c 8d 34 c0          	lea    (%rax,%rax,8),%r14
1400229d8:	49 c1 e6 03          	shl    $0x3,%r14
1400229dc:	4d 03 34 df          	add    (%r15,%rbx,8),%r14
1400229e0:	33 db                	xor    %ebx,%ebx
1400229e2:	41 38 5e 38          	cmp    %bl,0x38(%r14)
1400229e6:	7d 53                	jge    0x140022a3b
1400229e8:	44 0f b7 ce          	movzwl %si,%r9d
1400229ec:	48 89 6c 24 20       	mov    %rbp,0x20(%rsp)
1400229f1:	44 8d 43 05          	lea    0x5(%rbx),%r8d
1400229f5:	48 8d 54 24 34       	lea    0x34(%rsp),%rdx
1400229fa:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
1400229ff:	e8 f4 f8 ff ff       	call   0x1400222f8
140022a04:	85 c0                	test   %eax,%eax
140022a06:	75 2c                	jne    0x140022a34
140022a08:	39 5c 24 30          	cmp    %ebx,0x30(%rsp)
140022a0c:	7e 4c                	jle    0x140022a5a
140022a0e:	4c 8d 74 24 34       	lea    0x34(%rsp),%r14
140022a13:	41 0f be 0e          	movsbl (%r14),%ecx
140022a17:	4c 8b c5             	mov    %rbp,%r8
140022a1a:	48 8b d7             	mov    %rdi,%rdx
140022a1d:	e8 c6 01 00 00       	call   0x140022be8
140022a22:	83 f8 ff             	cmp    $0xffffffff,%eax
140022a25:	74 0d                	je     0x140022a34
140022a27:	ff c3                	inc    %ebx
140022a29:	49 ff c6             	inc    %r14
140022a2c:	3b 5c 24 30          	cmp    0x30(%rsp),%ebx
140022a30:	7c e1                	jl     0x140022a13
140022a32:	eb 26                	jmp    0x140022a5a
140022a34:	b8 ff ff 00 00       	mov    $0xffff,%eax
140022a39:	eb 22                	jmp    0x140022a5d
140022a3b:	83 47 10 fe          	addl   $0xfffffffe,0x10(%rdi)
140022a3f:	79 0f                	jns    0x140022a50
140022a41:	4c 8b c5             	mov    %rbp,%r8
140022a44:	48 8b d7             	mov    %rdi,%rdx
140022a47:	8b ce                	mov    %esi,%ecx
140022a49:	e8 9a be 00 00       	call   0x14002e8e8
140022a4e:	eb 0d                	jmp    0x140022a5d
140022a50:	48 8b 07             	mov    (%rdi),%rax
140022a53:	66 89 30             	mov    %si,(%rax)
140022a56:	48 83 07 02          	addq   $0x2,(%rdi)
140022a5a:	0f b7 c6             	movzwl %si,%eax
140022a5d:	48 8b 4c 24 40       	mov    0x40(%rsp),%rcx
140022a62:	48 33 cc             	xor    %rsp,%rcx
140022a65:	e8 36 69 fe ff       	call   0x1400093a0
140022a6a:	48 8b 9c 24 88 00 00 	mov    0x88(%rsp),%rbx
140022a71:	00
140022a72:	48 83 c4 50          	add    $0x50,%rsp
140022a76:	41 5f                	pop    %r15
140022a78:	41 5e                	pop    %r14
140022a7a:	5f                   	pop    %rdi
140022a7b:	5e                   	pop    %rsi
140022a7c:	5d                   	pop    %rbp
140022a7d:	c3                   	ret
140022a7e:	cc                   	int3
140022a7f:	cc                   	int3
140022a80:	48 8b c4             	mov    %rsp,%rax
140022a83:	48 89 58 08          	mov    %rbx,0x8(%rax)
140022a87:	48 89 70 18          	mov    %rsi,0x18(%rax)
140022a8b:	48 89 50 10          	mov    %rdx,0x10(%rax)
140022a8f:	57                   	push   %rdi
140022a90:	48 83 ec 40          	sub    $0x40,%rsp
140022a94:	48 89 64 24 30       	mov    %rsp,0x30(%rsp)
140022a99:	49 8b f8             	mov    %r8,%rdi
140022a9c:	48 8b da             	mov    %rdx,%rbx
140022a9f:	8b f1                	mov    %ecx,%esi
140022aa1:	48 85 d2             	test   %rdx,%rdx
140022aa4:	75 35                	jne    0x140022adb
140022aa6:	41 c6 40 30 01       	movb   $0x1,0x30(%r8)
140022aab:	41 c7 40 2c 16 00 00 	movl   $0x16,0x2c(%r8)
140022ab2:	00
140022ab3:	4c 89 40 e0          	mov    %r8,-0x20(%rax)
140022ab7:	48 21 50 d8          	and    %rdx,-0x28(%rax)
140022abb:	45 33 c9             	xor    %r9d,%r9d
140022abe:	45 33 c0             	xor    %r8d,%r8d
140022ac1:	33 c9                	xor    %ecx,%ecx
140022ac3:	e8 c0 c3 fe ff       	call   0x14000ee88
140022ac8:	83 c8 ff             	or     $0xffffffff,%eax
140022acb:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
140022ad0:	48 8b 74 24 60       	mov    0x60(%rsp),%rsi
140022ad5:	48 83 c4 40          	add    $0x40,%rsp
140022ad9:	5f                   	pop    %rdi
140022ada:	c3                   	ret
140022adb:	48 8b cb             	mov    %rbx,%rcx
140022ade:	e8 e1 fd ff ff       	call   0x1400228c4
140022ae3:	90                   	nop
140022ae4:	8b 43 14             	mov    0x14(%rbx),%eax
140022ae7:	90                   	nop
140022ae8:	c1 e8 0c             	shr    $0xc,%eax
140022aeb:	24 01                	and    $0x1,%al
140022aed:	75 7a                	jne    0x140022b69
140022aef:	48 8b cb             	mov    %rbx,%rcx
140022af2:	e8 cd fb ff ff       	call   0x1400226c4
140022af7:	4c 63 c0             	movslq %eax,%r8
140022afa:	41 8d 48 02          	lea    0x2(%r8),%ecx
140022afe:	49 8b d0             	mov    %r8,%rdx
140022b01:	4c 8d 15 f8 f5 02 00 	lea    0x2f5f8(%rip),%r10        # 0x140052100
140022b08:	83 f9 01             	cmp    $0x1,%ecx
140022b0b:	76 22                	jbe    0x140022b2f
140022b0d:	49 8b c0             	mov    %r8,%rax
140022b10:	48 c1 f8 06          	sar    $0x6,%rax
140022b14:	49 8b c8             	mov    %r8,%rcx
140022b17:	83 e1 3f             	and    $0x3f,%ecx
140022b1a:	48 8d 0c c9          	lea    (%rcx,%rcx,8),%rcx
140022b1e:	49 8b 04 c2          	mov    (%r10,%rax,8),%rax
140022b22:	4c 8d 0c c8          	lea    (%rax,%rcx,8),%r9
140022b26:	48 8d 0d d3 b9 02 00 	lea    0x2b9d3(%rip),%rcx        # 0x14004e500
140022b2d:	eb 0a                	jmp    0x140022b39
140022b2f:	48 8d 0d ca b9 02 00 	lea    0x2b9ca(%rip),%rcx        # 0x14004e500
140022b36:	4c 8b c9             	mov    %rcx,%r9
140022b39:	41 80 79 39 00       	cmpb   $0x0,0x39(%r9)
140022b3e:	75 25                	jne    0x140022b65
140022b40:	41 8d 40 02          	lea    0x2(%r8),%eax
140022b44:	83 f8 01             	cmp    $0x1,%eax
140022b47:	76 16                	jbe    0x140022b5f
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