140022997:	48 8b 00             	mov    (%rax),%rax
14002299a:	48 8b 48 10          	mov    0x10(%rax),%rcx
14002299e:	48 85 c9             	test   %rcx,%rcx
1400229a1:	74 10                	je     0x1400229b3
1400229a3:	48 89 f2             	mov    %rsi,%rdx
1400229a6:	e8 cd 74 1c 00       	call   0x1401e9e78
1400229ab:	85 c0                	test   %eax,%eax
1400229ad:	0f 84 cd 01 00 00    	je     0x140022b80
1400229b3:	48 89 f1             	mov    %rsi,%rcx
1400229b6:	e8 85 48 0c 00       	call   0x1400e7240
1400229bb:	85 c0                	test   %eax,%eax
1400229bd:	0f 85 4d 01 00 00    	jne    0x140022b10
1400229c3:	31 f6                	xor    %esi,%esi
1400229c5:	eb 68                	jmp    0x140022a2f
1400229c7:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
1400229ce:	00 00
1400229d0:	49 8b 46 10          	mov    0x10(%r14),%rax
1400229d4:	80 7c 30 ff 2f       	cmpb   $0x2f,-0x1(%rax,%rsi,1)
1400229d9:	0f 84 a0 fe ff ff    	je     0x14002287f
1400229df:	49 8b 16             	mov    (%r14),%rdx
1400229e2:	48 85 d2             	test   %rdx,%rdx
1400229e5:	0f 84 65 01 00 00    	je     0x140022b50
1400229eb:	48 29 f2             	sub    %rsi,%rdx
1400229ee:	48 83 fa 01          	cmp    $0x1,%rdx
1400229f2:	0f 84 58 01 00 00    	je     0x140022b50
1400229f8:	48 8d 56 01          	lea    0x1(%rsi),%rdx
1400229fc:	49 89 56 08          	mov    %rdx,0x8(%r14)
140022a00:	c6 04 30 2f          	movb   $0x2f,(%rax,%rsi,1)
140022a04:	49 8b 56 10          	mov    0x10(%r14),%rdx
140022a08:	49 8b 46 08          	mov    0x8(%r14),%rax
140022a0c:	c6 04 02 00          	movb   $0x0,(%rdx,%rax,1)
140022a10:	49 8b 76 08          	mov    0x8(%r14),%rsi
140022a14:	e9 66 fe ff ff       	jmp    0x14002287f
140022a19:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
140022a20:	48 85 ed             	test   %rbp,%rbp
140022a23:	74 0a                	je     0x140022a2f
140022a25:	31 c0                	xor    %eax,%eax
140022a27:	85 f6                	test   %esi,%esi
140022a29:	0f 94 c0             	sete   %al
140022a2c:	89 45 00             	mov    %eax,0x0(%rbp)
140022a2f:	48 8b 1d ba 60 21 00 	mov    0x2160ba(%rip),%rbx        # 0x140238af0
140022a36:	48 8b 84 24 b8 00 00 	mov    0xb8(%rsp),%rax
140022a3d:	00
140022a3e:	48 2b 03             	sub    (%rbx),%rax
140022a41:	0f 85 5b 01 00 00    	jne    0x140022ba2
140022a47:	89 f0                	mov    %esi,%eax
140022a49:	48 81 c4 c8 00 00 00 	add    $0xc8,%rsp
140022a50:	5b                   	pop    %rbx
140022a51:	5e                   	pop    %rsi
140022a52:	5f                   	pop    %rdi
140022a53:	5d                   	pop    %rbp
140022a54:	41 5c                	pop    %r12
140022a56:	41 5d                	pop    %r13
140022a58:	41 5e                	pop    %r14
140022a5a:	41 5f                	pop    %r15
140022a5c:	c3                   	ret
140022a5d:	0f 1f 00             	nopl   (%rax)
140022a60:	48 8b 05 99 69 21 00 	mov    0x216999(%rip),%rax        # 0x140239400
140022a67:	48 8b 51 10          	mov    0x10(%rcx),%rdx
140022a6b:	4c 8d 8c 24 90 00 00 	lea    0x90(%rsp),%r9
140022a72:	00
140022a73:	4c 8d 05 88 7d 1d 00 	lea    0x1d7d88(%rip),%r8        # 0x1401fa802
140022a7a:	48 8b 08             	mov    (%rax),%rcx
140022a7d:	e8 6e 2c 04 00       	call   0x1400656f0
140022a82:	85 c0                	test   %eax,%eax
140022a84:	0f 85 cf fd ff ff    	jne    0x140022859
140022a8a:	48 85 ed             	test   %rbp,%rbp
140022a8d:	0f 84 30 ff ff ff    	je     0x1400229c3
140022a93:	c7 45 00 01 00 00 00 	movl   $0x1,0x0(%rbp)
140022a9a:	31 f6                	xor    %esi,%esi
140022a9c:	eb 91                	jmp    0x140022a2f
140022a9e:	66 90                	xchg   %ax,%ax
140022aa0:	48 8b 0d f9 68 21 00 	mov    0x2168f9(%rip),%rcx        # 0x1402393a0
140022aa7:	80 39 00             	cmpb   $0x0,(%rcx)
140022aaa:	0f 84 22 fe ff ff    	je     0x1400228d2
140022ab0:	e8 eb ed ff ff       	call   0x1400218a0
140022ab5:	0f 1f 00             	nopl   (%rax)
140022ab8:	48 8b 1d 61 c9 28 00 	mov    0x28c961(%rip),%rbx        # 0x1402af420
140022abf:	ff d3                	call   *%rbx
140022ac1:	83 38 02             	cmpl   $0x2,(%rax)
140022ac4:	74 3a                	je     0x140022b00
140022ac6:	ff d3                	call   *%rbx
140022ac8:	83 38 0d             	cmpl   $0xd,(%rax)
140022acb:	0f 85 af 00 00 00    	jne    0x140022b80
140022ad1:	45 85 ed             	test   %r13d,%r13d
140022ad4:	0f 85 a6 00 00 00    	jne    0x140022b80
140022ada:	49 8b 4e 10          	mov    0x10(%r14),%rcx
140022ade:	e8 5d 47 0c 00       	call   0x1400e7240
140022ae3:	89 c6                	mov    %eax,%esi
140022ae5:	e9 45 ff ff ff       	jmp    0x140022a2f
140022aea:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
140022af0:	80 38 00             	cmpb   $0x0,(%rax)
140022af3:	0f 84 80 fe ff ff    	je     0x140022979
140022af9:	eb b5                	jmp    0x140022ab0
140022afb:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140022b00:	44 89 ee             	mov    %r13d,%esi
140022b03:	c1 ee 02             	shr    $0x2,%esi
140022b06:	f7 de                	neg    %esi
140022b08:	e9 22 ff ff ff       	jmp    0x140022a2f
140022b0d:	0f 1f 00             	nopl   (%rax)
140022b10:	ff 15 0a c9 28 00    	call   *0x28c90a(%rip)        # 0x1402af420
140022b16:	31 f6                	xor    %esi,%esi
140022b18:	83 38 02             	cmpl   $0x2,(%rax)
140022b1b:	40 0f 95 c6          	setne  %sil
140022b1f:	f7 de                	neg    %esi
140022b21:	e9 09 ff ff ff       	jmp    0x140022a2f
140022b26:	66 2e 0f 1f 84 00 00 	cs nopw 0x0(%rax,%rax,1)
140022b2d:	00 00 00
140022b30:	8b 54 24 2c          	mov    0x2c(%rsp),%edx
140022b34:	4c 8d 44 24 3c       	lea    0x3c(%rsp),%r8
140022b39:	4c 89 f1             	mov    %r14,%rcx
140022b3c:	e8 cf fc ff ff       	call   0x140022810
140022b41:	85 c0                	test   %eax,%eax
140022b43:	0f 85 f4 fd ff ff    	jne    0x14002293d
140022b49:	e9 46 fd ff ff       	jmp    0x140022894
140022b4e:	66 90                	xchg   %ax,%ax
140022b50:	ba 01 00 00 00       	mov    $0x1,%edx
140022b55:	4c 89 f1             	mov    %r14,%rcx
140022b58:	e8 43 80 07 00       	call   0x14009aba0
140022b5d:	49 8b 46 10          	mov    0x10(%r14),%rax
140022b61:	49 8b 76 08          	mov    0x8(%r14),%rsi
140022b65:	e9 8e fe ff ff       	jmp    0x1400229f8
140022b6a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
140022b70:	31 f6                	xor    %esi,%esi
140022b72:	e9 cb fd ff ff       	jmp    0x140022942
140022b77:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
140022b7e:	00 00
140022b80:	be ff ff ff ff       	mov    $0xffffffff,%esi
140022b85:	e9 a5 fe ff ff       	jmp    0x140022a2f
140022b8a:	4c 8d 05 76 7c 1d 00 	lea    0x1d7c76(%rip),%r8        # 0x1401fa807
140022b91:	ba a7 00 00 00       	mov    $0xa7,%edx
140022b96:	48 8d 0d 9e 7b 1d 00 	lea    0x1d7b9e(%rip),%rcx        # 0x1401fa73b
140022b9d:	e8 ee 0b 0a 00       	call   0x1400c3790
140022ba2:	e8 c9 1c 1c 00       	call   0x1401e4870
140022ba7:	90                   	nop
140022ba8:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
140022baf:	00
140022bb0:	31 d2                	xor    %edx,%edx
140022bb2:	0f b6 01             	movzbl (%rcx),%eax
140022bb5:	84 c0                	test   %al,%al
140022bb7:	74 1c                	je     0x140022bd5
140022bb9:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
140022bc0:	48 83 c1 01          	add    $0x1,%rcx
140022bc4:	3c 2f                	cmp    $0x2f,%al
140022bc6:	0f 94 c0             	sete   %al
140022bc9:	0f b6 c0             	movzbl %al,%eax
140022bcc:	01 c2                	add    %eax,%edx
140022bce:	0f b6 01             	movzbl (%rcx),%eax
140022bd1:	84 c0                	test   %al,%al
140022bd3:	75 eb                	jne    0x140022bc0
140022bd5:	89 d0                	mov    %edx,%eax
140022bd7:	c3                   	ret
140022bd8:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
140022bdf:	00
140022be0:	48 8b 05 19 65 21 00 	mov    0x216519(%rip),%rax        # 0x140239100
140022be7:	8b 00                	mov    (%rax),%eax
140022be9:	85 c0                	test   %eax,%eax
140022beb:	75 0b                	jne    0x140022bf8
140022bed:	e9 86 72 1c 00       	jmp    0x1401e9e78
140022bf2:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
140022bf8:	48 ff 25 b1 c8 28 00 	rex.W jmp *0x28c8b1(%rip)        # 0x1402af4b0
140022bff:	90                   	nop
140022c00:	48 83 ec 28          	sub    $0x28,%rsp
140022c04:	e8 97 66 0c 00       	call   0x1400e92a0
140022c09:	85 c0                	test   %eax,%eax
140022c0b:	0f 94 c0             	sete   %al
140022c0e:	0f b6 c0             	movzbl %al,%eax
140022c11:	48 83 c4 28          	add    $0x28,%rsp
140022c15:	c3                   	ret
140022c16:	66 2e 0f 1f 84 00 00 	cs nopw 0x0(%rax,%rax,1)
140022c1d:	00 00 00
140022c20:	48 8b 05 d9 64 21 00 	mov    0x2164d9(%rip),%rax        # 0x140239100
140022c27:	8b 00                	mov    (%rax),%eax
140022c29:	85 c0                	test   %eax,%eax
140022c2b:	75 0b                	jne    0x140022c38
140022c2d:	e9 6e 72 1c 00       	jmp    0x1401e9ea0
140022c32:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
140022c38:	48 ff 25 81 c8 28 00 	rex.W jmp *0x28c881(%rip)        # 0x1402af4c0
140022c3f:	90                   	nop
140022c40:	57                   	push   %rdi
140022c41:	56                   	push   %rsi
140022c42:	53                   	push   %rbx
140022c43:	48 83 ec 20          	sub    $0x20,%rsp
140022c47:	48 89 d6             	mov    %rdx,%rsi
140022c4a:	48 89 cb             	mov    %rcx,%rbx
140022c4d:	e8 46 72 1c 00       	call   0x1401e9e98
140022c52:	48 89 f1             	mov    %rsi,%rcx
140022c55:	48 89 c7             	mov    %rax,%rdi
140022c58:	e8 3b 72 1c 00       	call   0x1401e9e98
140022c5d:	48 39 c7             	cmp    %rax,%rdi
140022c60:	74 5e                	je     0x140022cc0
140022c62:	72 1c                	jb     0x140022c80
140022c64:	0f be 0c 03          	movsbl (%rbx,%rax,1),%ecx
140022c68:	83 f9 2f             	cmp    $0x2f,%ecx
140022c6b:	74 2b                	je     0x140022c98
140022c6d:	31 d2                	xor    %edx,%edx
140022c6f:	83 f9 5c             	cmp    $0x5c,%ecx
140022c72:	74 24                	je     0x140022c98
140022c74:	89 d0                	mov    %edx,%eax
140022c76:	48 83 c4 20          	add    $0x20,%rsp
140022c7a:	5b                   	pop    %rbx
140022c7b:	5e                   	pop    %rsi
140022c7c:	5f                   	pop    %rdi
140022c7d:	c3                   	ret
140022c7e:	66 90                	xchg   %ax,%ax
140022c80:	0f be 04 3e          	movsbl (%rsi,%rdi,1),%eax
140022c84:	83 f8 2f             	cmp    $0x2f,%eax
140022c87:	74 07                	je     0x140022c90
140022c89:	31 d2                	xor    %edx,%edx
140022c8b:	83 f8 5c             	cmp    $0x5c,%eax
140022c8e:	75 e4                	jne    0x140022c74
140022c90:	49 89 f8             	mov    %rdi,%r8
140022c93:	eb 06                	jmp    0x140022c9b
140022c95:	0f 1f 00             	nopl   (%rax)
140022c98:	49 89 c0             	mov    %rax,%r8
140022c9b:	48 89 f2             	mov    %rsi,%rdx
140022c9e:	48 89 d9             	mov    %rbx,%rcx
140022ca1:	e8 fa 64 0c 00       	call   0x1400e91a0
140022ca6:	31 d2                	xor    %edx,%edx
140022ca8:	85 c0                	test   %eax,%eax
140022caa:	0f 94 c2             	sete   %dl
140022cad:	89 d0                	mov    %edx,%eax
140022caf:	48 83 c4 20          	add    $0x20,%rsp
140022cb3:	5b                   	pop    %rbx
140022cb4:	5e                   	pop    %rsi
140022cb5:	5f                   	pop    %rdi
140022cb6:	c3                   	ret
140022cb7:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
140022cbe:	00 00
140022cc0:	48 89 f2             	mov    %rsi,%rdx
140022cc3:	48 89 d9             	mov    %rbx,%rcx
140022cc6:	e8 d5 65 0c 00       	call   0x1400e92a0
140022ccb:	31 d2                	xor    %edx,%edx
140022ccd:	85 c0                	test   %eax,%eax
140022ccf:	0f 94 c2             	sete   %dl
140022cd2:	89 d0                	mov    %edx,%eax
140022cd4:	48 83 c4 20          	add    $0x20,%rsp
140022cd8:	5b                   	pop    %rbx
140022cd9:	5e                   	pop    %rsi
140022cda:	5f                   	pop    %rdi
140022cdb:	c3                   	ret
140022cdc:	0f 1f 40 00          	nopl   0x0(%rax)
140022ce0:	48 8b 05 19 64 21 00 	mov    0x216419(%rip),%rax        # 0x140239100
140022ce7:	8b 00                	mov    (%rax),%eax
140022ce9:	85 c0                	test   %eax,%eax
140022ceb:	74 0b                	je     0x140022cf8
140022ced:	e9 6e bd 00 00       	jmp    0x14002ea60
140022cf2:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
140022cf8:	e9 23 bd 00 00       	jmp    0x14002ea20
140022cfd:	0f 1f 00             	nopl   (%rax)
140022d00:	55                   	push   %rbp
140022d01:	57                   	push   %rdi
140022d02:	56                   	push   %rsi
140022d03:	53                   	push   %rbx
140022d04:	48 83 ec 28          	sub    $0x28,%rsp
140022d08:	48 89 cd             	mov    %rcx,%rbp
140022d0b:	48 89 d6             	mov    %rdx,%rsi
140022d0e:	4c 89 c7             	mov    %r8,%rdi
140022d11:	45 85 c9             	test   %r9d,%r9d
140022d14:	7f 32                	jg     0x140022d48
140022d16:	f6 45 20 01          	testb  $0x1,0x20(%rbp)
140022d1a:	75 64                	jne    0x140022d80
140022d1c:	8b 45 10             	mov    0x10(%rbp),%eax
140022d1f:	41 89 c0             	mov    %eax,%r8d
140022d22:	41 c1 e8 04          	shr    $0x4,%r8d
140022d26:	41 83 e0 01          	and    $0x1,%r8d
140022d2a:	a8 08                	test   $0x8,%al
140022d2c:	74 04                	je     0x140022d32
140022d2e:	41 83 c8 02          	or     $0x2,%r8d
140022d32:	48 89 fa             	mov    %rdi,%rdx
140022d35:	48 89 f1             	mov    %rsi,%rcx
140022d38:	48 83 c4 28          	add    $0x28,%rsp
140022d3c:	5b                   	pop    %rbx
140022d3d:	5e                   	pop    %rsi
140022d3e:	5f                   	pop    %rdi
140022d3f:	5d                   	pop    %rbp
140022d40:	e9 7b 47 0a 00       	jmp    0x1400c74c0
140022d45:	0f 1f 00             	nopl   (%rax)
140022d48:	49 63 d9             	movslq %r9d,%rbx
140022d4b:	48 89 fa             	mov    %rdi,%rdx
140022d4e:	48 89 f1             	mov    %rsi,%rcx
140022d51:	49 89 d8             	mov    %rbx,%r8
140022d54:	f6 45 10 10          	testb  $0x10,0x10(%rbp)
140022d58:	75 66                	jne    0x140022dc0
140022d5a:	e8 41 71 1c 00       	call   0x1401e9ea0
140022d5f:	48 01 de             	add    %rbx,%rsi
140022d62:	48 01 df             	add    %rbx,%rdi
140022d65:	85 c0                	test   %eax,%eax
140022d67:	74 ad                	je     0x140022d16
140022d69:	b8 01 00 00 00       	mov    $0x1,%eax
140022d6e:	48 83 c4 28          	add    $0x28,%rsp
140022d72:	5b                   	pop    %rbx
140022d73:	5e                   	pop    %rsi
140022d74:	5f                   	pop    %rdi
140022d75:	5d                   	pop    %rbp
140022d76:	c3                   	ret
140022d77:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
140022d7e:	00 00
140022d80:	48 83 c6 01          	add    $0x1,%rsi
140022d84:	48 89 f1             	mov    %rsi,%rcx
140022d87:	e8 0c 71 1c 00       	call   0x1401e9e98
140022d8c:	48 89 f9             	mov    %rdi,%rcx
140022d8f:	48 89 c3             	mov    %rax,%rbx
140022d92:	e8 01 71 1c 00       	call   0x1401e9e98
140022d97:	39 c3                	cmp    %eax,%ebx
140022d99:	7f ce                	jg     0x140022d69
140022d9b:	48 98                	cltq
140022d9d:	48 63 db             	movslq %ebx,%rbx
140022da0:	48 89 f1             	mov    %rsi,%rcx
140022da3:	48 29 d8             	sub    %rbx,%rax
140022da6:	48 8d 14 07          	lea    (%rdi,%rax,1),%rdx
140022daa:	f6 45 10 10          	testb  $0x10,0x10(%rbp)
140022dae:	75 20                	jne    0x140022dd0
140022db0:	e8 c3 70 1c 00       	call   0x1401e9e78
140022db5:	85 c0                	test   %eax,%eax
140022db7:	0f 95 c0             	setne  %al
140022dba:	0f b6 c0             	movzbl %al,%eax
140022dbd:	eb af                	jmp    0x140022d6e
140022dbf:	90                   	nop
140022dc0:	ff 15 fa c6 28 00    	call   *0x28c6fa(%rip)        # 0x1402af4c0
140022dc6:	eb 97                	jmp    0x140022d5f
140022dc8:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
140022dcf:	00
140022dd0:	ff 15 da c6 28 00    	call   *0x28c6da(%rip)        # 0x1402af4b0
140022dd6:	eb dd                	jmp    0x140022db5
140022dd8:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
140022ddf:	00
140022de0:	41 57                	push   %r15
140022de2:	41 56                	push   %r14
140022de4:	41 55                	push   %r13
140022de6:	41 54                	push   %r12
140022de8:	55                   	push   %rbp
140022de9:	57                   	push   %rdi
140022dea:	56                   	push   %rsi
140022deb:	53                   	push   %rbx
140022dec:	48 83 ec 58          	sub    $0x58,%rsp
140022df0:	4c 8b ac 24 c8 00 00 	mov    0xc8(%rsp),%r13
140022df7:	00
140022df8:	49 89 d4             	mov    %rdx,%r12
140022dfb:	44 89 ca             	mov    %r9d,%edx
140022dfe:	49 89 cb             	mov    %rcx,%r11
140022e01:	4c 89 c5             	mov    %r8,%rbp
140022e04:	45 8b 4c 24 08       	mov    0x8(%r12),%r9d
140022e09:	8b 8c 24 d0 00 00 00 	mov    0xd0(%rsp),%ecx
140022e10:	41 83 f9 7f          	cmp    $0x7f,%r9d
140022e14:	0f 87 0b 05 00 00    	ja     0x140023325
140022e1a:	41 8b 04 24          	mov    (%r12),%eax
140022e1e:	85 c0                	test   %eax,%eax
140022e20:	0f 84 7a 01 00 00    	je     0x140022fa0
140022e26:	48 63 b4 24 c0 00 00 	movslq 0xc0(%rsp),%rsi