	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_vi                             ## -- Begin function vi
	.p2align	4, 0x90
_vi:                                    ## @vi
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	pushq	%r15
	pushq	%r14
	pushq	%r13
	pushq	%r12
	pushq	%rbx
	subq	$216, %rsp
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	xorps	%xmm0, %xmm0
	movaps	%xmm0, -112(%rbp)
	movaps	%xmm0, -128(%rbp)
	movaps	%xmm0, -144(%rbp)
	movaps	%xmm0, -160(%rbp)
	movaps	%xmm0, -176(%rbp)
	movaps	%xmm0, -192(%rbp)
	movaps	%xmm0, -208(%rbp)
	movaps	%xmm0, -224(%rbp)
	movaps	%xmm0, -240(%rbp)
	movaps	%xmm0, -256(%rbp)
	movq	%rdi, -80(%rbp)                 ## 8-byte Spill
	movq	(%rdi), %r13
	movq	56(%r13), %rax
	movq	%rax, -64(%rbp)                 ## 8-byte Spill
	leaq	-256(%rbp), %rdi
	movl	$131, %esi
	callq	_F_SET
	movq	%r13, %rdi
	callq	_v_init
	movl	$1, %r14d
	testq	%rax, %rax
	jne	LBB0_73
## %bb.1:
	movq	40(%r13), %rax
	movq	56(%r13), %rcx
	movl	(%rax), %esi
	movq	%r13, %rdi
	movl	$1, %edx
	callq	*48(%rcx)
	movq	%r13, %rdi
	callq	_VIP
	movq	%rax, %r12
LBB0_2:                                 ## =>This Loop Header: Depth=1
                                        ##     Child Loop BB0_3 Depth 2
	movq	_VIP_S_REFRESH@GOTPCREL(%rip), %rbx
	movq	_DOT@GOTPCREL(%rip), %r14
LBB0_3:                                 ##   Parent Loop BB0_2 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	movq	%r13, %rdi
	callq	_MAPPED_KEYS_WAITING
	testq	%rax, %rax
	jne	LBB0_5
## %bb.4:                               ##   in Loop: Header=BB0_3 Depth=2
	movq	%r13, %rdi
	xorl	%esi, %esi
	xorl	%edx, %edx
	callq	_vs_resolve
	testq	%rax, %rax
	jne	LBB0_75
LBB0_5:                                 ##   in Loop: Header=BB0_3 Depth=2
	movl	(%rbx), %esi
	movq	%r12, %rdi
	callq	_F_ISSET
	testl	%eax, %eax
	je	LBB0_7
## %bb.6:                               ##   in Loop: Header=BB0_3 Depth=2
	movl	(%rbx), %esi
	movq	%r12, %rdi
	callq	_F_CLR
	jmp	LBB0_8
	.p2align	4, 0x90
LBB0_7:                                 ##   in Loop: Header=BB0_3 Depth=2
	movq	_SM_COMMAND@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	%eax, 152(%r13)
	movq	%r13, %rdi
	xorl	%esi, %esi
	callq	_vs_refresh
	testq	%rax, %rax
	jne	LBB0_75
LBB0_8:                                 ##   in Loop: Header=BB0_3 Depth=2
	leaq	-256(%rbp), %r15
	movq	%r15, %rdi
	movl	$131, %esi
	callq	_F_ISSET
	testl	%eax, %eax
	je	LBB0_10
## %bb.9:                               ##   in Loop: Header=BB0_3 Depth=2
	movq	_VIP_RCM_LAST@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r12, %rdi
	callq	_F_CLR
	leaq	148(%r13), %rsi
	movq	%r13, %rdi
	callq	_vs_column
LBB0_10:                                ##   in Loop: Header=BB0_3 Depth=2
	movq	%r13, %rdi
	callq	_MAPPED_KEYS_WAITING
	movl	$1, %ecx
	testq	%rax, %rax
	je	LBB0_14
LBB0_11:                                ##   in Loop: Header=BB0_3 Depth=2
	movl	%ecx, -44(%rbp)
	movq	-64(%rbp), %rdi                 ## 8-byte Reload
	callq	_EXCMD_RUNNING
	testq	%rax, %rax
	je	LBB0_25
## %bb.12:                              ##   in Loop: Header=BB0_3 Depth=2
	movq	_vikeys@GOTPCREL(%rip), %rax
	movq	(%rax), %rcx
	movl	$9280, %eax                     ## imm = 0x2440
	addq	%rax, %rcx
	movq	%rcx, -160(%rbp)
LBB0_13:                                ##   in Loop: Header=BB0_3 Depth=2
	movq	%r13, %rdi
	movq	%r15, %rsi
	callq	*88(%rcx)
	testq	%rax, %rax
	jne	LBB0_15
	jmp	LBB0_27
	.p2align	4, 0x90
LBB0_14:                                ##   in Loop: Header=BB0_3 Depth=2
	movq	%r13, %rdi
	callq	_log_cursor
	testq	%rax, %rax
	je	LBB0_36
LBB0_15:                                ##   in Loop: Header=BB0_3 Depth=2
	movq	_CH_MAPPED@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r13, %rdi
	callq	_v_event_flush
	testq	%rax, %rax
	je	LBB0_17
## %bb.16:                              ##   in Loop: Header=BB0_3 Depth=2
	movq	_M_BERR@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r13, %rdi
	leaq	L_.str(%rip), %rdx
	callq	_msgq
LBB0_17:                                ##   in Loop: Header=BB0_3 Depth=2
	movq	%r13, %rdi
	callq	_INTERRUPTED
	testq	%rax, %rax
	je	LBB0_19
LBB0_18:                                ##   in Loop: Header=BB0_3 Depth=2
	movq	%r13, %rdi
	callq	_CLR_INTERRUPT
	movq	_CH_MAPPED@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r13, %rdi
	callq	_v_event_flush
	testq	%rax, %rax
	movq	_M_ERR@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	leaq	L_.str.1(%rip), %rdx
	leaq	L_.str.2(%rip), %rax
	cmoveq	%rax, %rdx
	movq	%r13, %rdi
	callq	_msgq
LBB0_19:                                ##   in Loop: Header=BB0_3 Depth=2
	movq	_SC_SSWITCH@GOTPCREL(%rip), %rbx
	movl	(%rbx), %esi
	movq	%r13, %rdi
	callq	_F_ISSET
	testl	%eax, %eax
	je	LBB0_21
## %bb.20:                              ##   in Loop: Header=BB0_3 Depth=2
	movl	(%rbx), %esi
	movq	%r13, %rdi
	callq	_F_CLR
	movq	_SC_STATUS@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r13, %rdi
	callq	_F_SET
	movq	64(%r13), %r13
	movq	%r13, %rdi
	callq	_VIP
	movq	%rax, %r12
	movq	40(%r13), %rax
	movq	56(%r13), %rcx
	movl	(%rax), %esi
	movl	$1, %r14d
	movq	%r13, %rdi
	movl	$1, %edx
	callq	*48(%rcx)
	movq	_VIP_CUR_INVALID@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r12, %rdi
	callq	_F_SET
	movq	%r13, %rdi
	movl	$1, %esi
	callq	_vs_refresh
	testq	%rax, %rax
	jne	LBB0_73
LBB0_21:                                ##   in Loop: Header=BB0_3 Depth=2
	movq	_SC_FSWITCH@GOTPCREL(%rip), %rbx
	movl	(%rbx), %esi
	movq	%r13, %rdi
	callq	_F_ISSET
	testl	%eax, %eax
	je	LBB0_23
## %bb.22:                              ##   in Loop: Header=BB0_3 Depth=2
	movl	(%rbx), %esi
	movq	%r13, %rdi
	callq	_F_CLR
	movq	40(%r13), %rax
	movq	56(%r13), %rcx
	movl	(%rax), %esi
	movq	%r13, %rdi
	movl	$1, %edx
	callq	*48(%rcx)
LBB0_23:                                ##   in Loop: Header=BB0_3 Depth=2
	movq	_G_SRESTART@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	-64(%rbp), %rdi                 ## 8-byte Reload
	callq	_F_ISSET
	testl	%eax, %eax
	movq	_VIP_S_REFRESH@GOTPCREL(%rip), %rbx
	movq	_DOT@GOTPCREL(%rip), %r14
	jne	LBB0_72
## %bb.24:                              ##   in Loop: Header=BB0_3 Depth=2
	movq	_SC_EX@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r13, %rdi
	callq	_F_ISSET
	testl	%eax, %eax
	je	LBB0_3
	jmp	LBB0_72
	.p2align	4, 0x90
LBB0_25:                                ##   in Loop: Header=BB0_3 Depth=2
	movq	%r15, %rdi
	xorl	%esi, %esi
	movl	$160, %edx
	callq	_memset
	movq	(%r14), %rsi
	movq	%r13, %rdi
	movq	%r15, %rdx
	xorl	%ecx, %ecx
	leaq	-68(%rbp), %r8
	leaq	-44(%rbp), %r9
	callq	_v_cmd
                                        ## kill: def $eax killed $eax def $rax
	addl	$-134, %eax
	cmpl	$4, %eax
	ja	LBB0_37
## %bb.26:                              ##   in Loop: Header=BB0_3 Depth=2
	movl	$1, %r14d
	leaq	LJTI0_0(%rip), %rcx
	movslq	(%rcx,%rax,4), %rax
	addq	%rcx, %rax
	jmpq	*%rax
LBB0_27:                                ##   in Loop: Header=BB0_3 Depth=2
	movq	_SC_EXIT_FORCE@GOTPCREL(%rip), %rbx
	movl	(%rbx), %esi
	movq	_SC_EXIT@GOTPCREL(%rip), %rax
	orl	(%rax), %esi
	movq	%r13, %rdi
	callq	_F_ISSET
	testl	%eax, %eax
	jne	LBB0_64
## %bb.28:                              ##   in Loop: Header=BB0_3 Depth=2
	movq	_V_DOT@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r15, %rdi
	callq	_F_ISSET
	testl	%eax, %eax
	je	LBB0_33
## %bb.29:                              ##   in Loop: Header=BB0_3 Depth=2
	cmpl	$0, -44(%rbp)
	jne	LBB0_33
## %bb.30:                              ##   in Loop: Header=BB0_3 Depth=2
	movq	_DOT@GOTPCREL(%rip), %r14
	movq	(%r14), %rdi
	movl	$160, %edx
	movq	%r15, %rsi
	callq	_memcpy
	movq	(%r14), %rdi
	movq	_VC_ISDOT@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	callq	_F_SET
	movq	_VC_C1RESET@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r15, %rdi
	callq	_F_ISSET
	testl	%eax, %eax
	je	LBB0_32
## %bb.31:                              ##   in Loop: Header=BB0_3 Depth=2
	movq	(%r14), %rdi
	movq	_VC_C1SET@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	callq	_F_SET
LBB0_32:                                ##   in Loop: Header=BB0_3 Depth=2
	movq	(%r14), %rdi
	movq	_VM_RCM_MASK@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_VM_COMMASK@GOTPCREL(%rip), %rax
	orl	(%rax), %esi
	callq	_F_CLR
LBB0_33:                                ##   in Loop: Header=BB0_3 Depth=2
	movq	_VM_RCM_MASK@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r15, %rdi
	callq	_F_ISSET
                                        ## kill: def $eax killed $eax def $rax
	leal	-128(%rax), %ecx
	cmpl	$4, %ecx
	ja	LBB0_45
## %bb.34:                              ##   in Loop: Header=BB0_3 Depth=2
	leaq	LJTI0_1(%rip), %rdx
	movslq	(%rdx,%rcx,4), %rax
	addq	%rdx, %rax
	jmpq	*%rax
LBB0_35:                                ##   in Loop: Header=BB0_3 Depth=2
	movq	_VIP_RCM_LAST@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r12, %rdi
	callq	_F_SET
	jmp	LBB0_49
LBB0_36:                                ##   in Loop: Header=BB0_3 Depth=2
	xorl	%ecx, %ecx
	movq	_DOT@GOTPCREL(%rip), %r14
	jmp	LBB0_11
LBB0_37:                                ##   in Loop: Header=BB0_3 Depth=2
	movq	-160(%rbp), %rdi
	movq	_V_SECURE@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	callq	_F_ISSET
	testl	%eax, %eax
	je	LBB0_40
## %bb.38:                              ##   in Loop: Header=BB0_3 Depth=2
	movq	_O_SECURE@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r13, %rdi
	callq	_O_ISSET
	testq	%rax, %rax
	je	LBB0_40
## %bb.39:                              ##   in Loop: Header=BB0_3 Depth=2
	movl	-112(%rbp), %esi
	movq	%r13, %rdi
	callq	_KEY_NAME
	movq	_EXM_SECURE@GOTPCREL(%rip), %rcx
	movl	(%rcx), %edx
	movq	%r13, %rdi
	movl	%eax, %esi
	callq	_ex_emsg
	jmp	LBB0_15
LBB0_40:                                ##   in Loop: Header=BB0_3 Depth=2
	movq	_VC_ISDOT@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r15, %rdi
	callq	_F_ISSET
	testl	%eax, %eax
	je	LBB0_43
## %bb.41:                              ##   in Loop: Header=BB0_3 Depth=2
	cmpl	$0, -68(%rbp)
	je	LBB0_43
## %bb.42:                              ##   in Loop: Header=BB0_3 Depth=2
	movq	_DOTMOTION@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movl	$1, (%rax)
LBB0_43:                                ##   in Loop: Header=BB0_3 Depth=2
	movq	-160(%rbp), %rax
	movl	(%rax), %esi
	movq	%r15, %rdi
	callq	_F_SET
	movq	_V_ABS_C@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_V_ABS@GOTPCREL(%rip), %rax
	orl	(%rax), %esi
	movq	_V_ABS_L@GOTPCREL(%rip), %rax
	orl	(%rax), %esi
	movq	%r15, %rdi
	callq	_F_ISSET
	movq	8(%r13), %rcx
	testl	%eax, %eax
	je	LBB0_56
## %bb.44:                              ##   in Loop: Header=BB0_3 Depth=2
	movq	%rcx, -96(%rbp)
	movq	16(%r13), %rax
	movq	%rax, -88(%rbp)
	jmp	LBB0_57
LBB0_45:                                ##   in Loop: Header=BB0_3 Depth=2
	testl	%eax, %eax
	je	LBB0_49
	jmp	LBB0_77
LBB0_46:                                ##   in Loop: Header=BB0_3 Depth=2
	movq	$0, -176(%rbp)
LBB0_47:                                ##   in Loop: Header=BB0_3 Depth=2
	movq	-184(%rbp), %rsi
	movq	%r13, %rdi
	leaq	-176(%rbp), %rdx
	callq	_nonblank
	testl	%eax, %eax
	jne	LBB0_15
	jmp	LBB0_49
LBB0_48:                                ##   in Loop: Header=BB0_3 Depth=2
	movq	-184(%rbp), %r14
	movq	_VIP_RCM_LAST@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r12, %rdi
	callq	_F_ISSET
	movq	%r13, %rdi
	movq	%r14, %rsi
	movl	%eax, %edx
	callq	_vs_rcm
	movq	%rax, -176(%rbp)
LBB0_49:                                ##   in Loop: Header=BB0_3 Depth=2
	movups	-184(%rbp), %xmm0
	movups	%xmm0, 8(%r13)
	movq	_V_ABS@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r15, %rdi
	callq	_F_ISSET
	testl	%eax, %eax
	je	LBB0_51
LBB0_50:                                ##   in Loop: Header=BB0_3 Depth=2
	movq	_ABSMARK1@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r13, %rdi
	leaq	-96(%rbp), %rdx
	movl	$1, %ecx
	callq	_mark_set
	testq	%rax, %rax
	jne	LBB0_15
	jmp	LBB0_17
LBB0_51:                                ##   in Loop: Header=BB0_3 Depth=2
	movq	_V_ABS_L@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r15, %rdi
	callq	_F_ISSET
	testl	%eax, %eax
	je	LBB0_53
## %bb.52:                              ##   in Loop: Header=BB0_3 Depth=2
	movq	8(%r13), %rax
	cmpq	-96(%rbp), %rax
	jne	LBB0_50
LBB0_53:                                ##   in Loop: Header=BB0_3 Depth=2
	movq	_V_ABS_C@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r15, %rdi
	callq	_F_ISSET
	testl	%eax, %eax
	je	LBB0_17
## %bb.54:                              ##   in Loop: Header=BB0_3 Depth=2
	movq	8(%r13), %rax
	cmpq	-96(%rbp), %rax
	jne	LBB0_50
## %bb.55:                              ##   in Loop: Header=BB0_3 Depth=2
	movq	16(%r13), %rax
	cmpq	-88(%rbp), %rax
	je	LBB0_17
	jmp	LBB0_50
LBB0_56:                                ##   in Loop: Header=BB0_3 Depth=2
	movq	16(%r13), %rax
LBB0_57:                                ##   in Loop: Header=BB0_3 Depth=2
	movq	%rcx, -184(%rbp)
	movq	%rcx, -144(%rbp)
	movq	%rcx, -128(%rbp)
	movq	%rax, -176(%rbp)
	movq	%rax, -136(%rbp)
	movq	%rax, -120(%rbp)
	movq	_V_MOTION@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r15, %rdi
	callq	_F_ISSET
	testl	%eax, %eax
	je	LBB0_60
## %bb.58:                              ##   in Loop: Header=BB0_3 Depth=2
	movq	_DOTMOTION@GOTPCREL(%rip), %rax
	movq	(%rax), %rsi
	movq	%r13, %rdi
	movq	%r15, %rdx
	leaq	-44(%rbp), %rcx
	callq	_v_motion
	testq	%rax, %rax
	je	LBB0_60
## %bb.59:                              ##   in Loop: Header=BB0_3 Depth=2
	movq	%r13, %rdi
	callq	_INTERRUPTED
	testq	%rax, %rax
	jne	LBB0_18
	jmp	LBB0_15
LBB0_60:                                ##   in Loop: Header=BB0_3 Depth=2
	movq	_VC_C1SET@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r15, %rdi
	callq	_F_ISSET
	testl	%eax, %eax
	je	LBB0_63
## %bb.61:                              ##   in Loop: Header=BB0_3 Depth=2
	movq	_VM_LMODE@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r15, %rdi
	callq	_F_ISSET
	testl	%eax, %eax
	je	LBB0_63
## %bb.62:                              ##   in Loop: Header=BB0_3 Depth=2
	movslq	-232(%rbp), %rax
	movq	-144(%rbp), %rcx
	addq	%rcx, %rax
	decq	%rax
	movq	%rax, -144(%rbp)
LBB0_63:                                ##   in Loop: Header=BB0_3 Depth=2
	incl	104(%r13)
	movq	-160(%rbp), %rcx
	jmp	LBB0_13
	.p2align	4, 0x90
LBB0_64:                                ##   in Loop: Header=BB0_2 Depth=1
	movl	(%rbx), %esi
	movq	%r13, %rdi
	callq	_F_ISSET
	movq	%r13, %rdi
	xorl	%esi, %esi
	movl	%eax, %edx
	callq	_file_end
	movl	$1, %r14d
	testq	%rax, %rax
	jne	LBB0_73
## %bb.65:                              ##   in Loop: Header=BB0_2 Depth=1
	movq	%r13, %rdi
	leaq	-56(%rbp), %rsi
	callq	_vs_discard
	testq	%rax, %rax
	jne	LBB0_73
## %bb.66:                              ##   in Loop: Header=BB0_2 Depth=1
	movq	-56(%rbp), %rax
	testq	%rax, %rax
	jne	LBB0_69
## %bb.67:                              ##   in Loop: Header=BB0_2 Depth=1
	movq	%r13, %rdi
	leaq	-56(%rbp), %rsi
	xorl	%edx, %edx
	callq	_vs_swap
	testq	%rax, %rax
	jne	LBB0_73
## %bb.68:                              ##   in Loop: Header=BB0_2 Depth=1
	movq	-56(%rbp), %rax
LBB0_69:                                ##   in Loop: Header=BB0_2 Depth=1
	movq	-80(%rbp), %rcx                 ## 8-byte Reload
	movq	%rax, (%rcx)
	movq	%r13, %rdi
	callq	_screen_end
	testq	%rax, %rax
	jne	LBB0_73
## %bb.70:                              ##   in Loop: Header=BB0_2 Depth=1
	movq	-56(%rbp), %r13
	testq	%r13, %r13
	je	LBB0_76
## %bb.71:                              ##   in Loop: Header=BB0_2 Depth=1
	movq	%r13, %rdi
	callq	_VIP
	movq	%rax, %r12
	movq	40(%r13), %rax
	movq	56(%r13), %rcx
	movl	(%rax), %esi
	movq	%r13, %rdi
	movl	$1, %edx
	callq	*48(%rcx)
	movq	_VIP_CUR_INVALID@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r12, %rdi
	callq	_F_SET
	jmp	LBB0_2
LBB0_72:
	movq	-80(%rbp), %rax                 ## 8-byte Reload
	movq	%r13, (%rax)
	movq	%r13, %rdi
	callq	_v_dtoh
	xorl	%r14d, %r14d
	movq	%r13, %rdi
	xorl	%esi, %esi
	movq	-64(%rbp), %rax                 ## 8-byte Reload
	callq	*32(%rax)
	jmp	LBB0_73
LBB0_75:
	movl	$1, %r14d
LBB0_73:
	movl	%r14d, %eax
	addq	$216, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_76:
	xorl	%r14d, %r14d
	jmp	LBB0_73
LBB0_77:
	xorl	%eax, %eax
	callq	_abort
	.cfi_endproc
	.p2align	2, 0x90
	.data_region jt32
.set L0_0_set_18, LBB0_18-LJTI0_0
.set L0_0_set_73, LBB0_73-LJTI0_0
.set L0_0_set_27, LBB0_27-LJTI0_0
.set L0_0_set_17, LBB0_17-LJTI0_0
.set L0_0_set_15, LBB0_15-LJTI0_0
LJTI0_0:
	.long	L0_0_set_18
	.long	L0_0_set_73
	.long	L0_0_set_27
	.long	L0_0_set_17
	.long	L0_0_set_15
.set L0_1_set_47, LBB0_47-LJTI0_1
.set L0_1_set_35, LBB0_35-LJTI0_1
.set L0_1_set_46, LBB0_46-LJTI0_1
.set L0_1_set_49, LBB0_49-LJTI0_1
.set L0_1_set_48, LBB0_48-LJTI0_1
LJTI0_1:
	.long	L0_1_set_47
	.long	L0_1_set_35
	.long	L0_1_set_46
	.long	L0_1_set_49
	.long	L0_1_set_48
	.end_data_region
                                        ## -- End function
	.comm	_VIP_S_REFRESH,4,2              ## @VIP_S_REFRESH
	.comm	_SM_COMMAND,4,2                 ## @SM_COMMAND
	.comm	_VIP_RCM_LAST,4,2               ## @VIP_RCM_LAST
	.comm	_vikeys,8,3                     ## @vikeys
	.comm	_DOT,8,3                        ## @DOT
	.comm	_V_SECURE,4,2                   ## @V_SECURE
	.comm	_O_SECURE,4,2                   ## @O_SECURE
	.comm	_EXM_SECURE,4,2                 ## @EXM_SECURE
	.comm	_VC_ISDOT,4,2                   ## @VC_ISDOT
	.comm	_DOTMOTION,8,3                  ## @DOTMOTION
	.comm	_V_ABS,4,2                      ## @V_ABS
	.comm	_V_ABS_C,4,2                    ## @V_ABS_C
	.comm	_V_ABS_L,4,2                    ## @V_ABS_L
	.comm	_V_MOTION,4,2                   ## @V_MOTION
	.comm	_VC_C1SET,4,2                   ## @VC_C1SET
	.comm	_VM_LMODE,4,2                   ## @VM_LMODE
	.comm	_SC_EXIT,4,2                    ## @SC_EXIT
	.comm	_SC_EXIT_FORCE,4,2              ## @SC_EXIT_FORCE
	.comm	_VIP_CUR_INVALID,4,2            ## @VIP_CUR_INVALID
	.comm	_V_DOT,4,2                      ## @V_DOT
	.comm	_VC_C1RESET,4,2                 ## @VC_C1RESET
	.comm	_VM_COMMASK,4,2                 ## @VM_COMMASK
	.comm	_VM_RCM_MASK,4,2                ## @VM_RCM_MASK
	.comm	_ABSMARK1,4,2                   ## @ABSMARK1
	.comm	_CH_MAPPED,4,2                  ## @CH_MAPPED
	.comm	_M_BERR,4,2                     ## @M_BERR
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"110|Vi command failed: mapped keys discarded"

	.comm	_M_ERR,4,2                      ## @M_ERR
L_.str.1:                               ## @.str.1
	.asciz	"231|Interrupted: mapped keys discarded"

L_.str.2:                               ## @.str.2
	.asciz	"236|Interrupted"

	.comm	_SC_SSWITCH,4,2                 ## @SC_SSWITCH
	.comm	_SC_STATUS,4,2                  ## @SC_STATUS
	.comm	_SC_FSWITCH,4,2                 ## @SC_FSWITCH
	.comm	_G_SRESTART,4,2                 ## @G_SRESTART
	.comm	_SC_EX,4,2                      ## @SC_EX
	.comm	_G_TMP_INUSE,4,2                ## @G_TMP_INUSE
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_vi                             ; -- Begin function vi
	.p2align	2
_vi:                                    ; @vi
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #320
	.cfi_def_cfa_offset 320
	stp	x28, x27, [sp, #224]            ; 16-byte Folded Spill
	stp	x26, x25, [sp, #240]            ; 16-byte Folded Spill
	stp	x24, x23, [sp, #256]            ; 16-byte Folded Spill
	stp	x22, x21, [sp, #272]            ; 16-byte Folded Spill
	stp	x20, x19, [sp, #288]            ; 16-byte Folded Spill
	stp	x29, x30, [sp, #304]            ; 16-byte Folded Spill
	add	x29, sp, #304
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	.cfi_offset w19, -24
	.cfi_offset w20, -32
	.cfi_offset w21, -40
	.cfi_offset w22, -48
	.cfi_offset w23, -56
	.cfi_offset w24, -64
	.cfi_offset w25, -72
	.cfi_offset w26, -80
	.cfi_offset w27, -88
	.cfi_offset w28, -96
	mov	x19, x0
	add	x8, sp, #16
	movi.2d	v0, #0000000000000000
	stp	q0, q0, [x8, #128]
	stp	q0, q0, [sp, #112]
	stp	q0, q0, [sp, #80]
	stp	q0, q0, [sp, #48]
	stp	q0, q0, [sp, #16]
	ldr	x21, [x0]
	ldr	x20, [x21, #56]
	add	x22, sp, #16
	add	x0, sp, #16
	mov	w1, #131
	bl	_F_SET
	mov	x0, x21
	bl	_v_init
	mov	w25, #1
	cbnz	x0, LBB0_75
; %bb.1:
	ldr	x8, [x21, #56]
	ldr	x8, [x8, #48]
	ldr	x9, [x21, #40]
	ldr	w1, [x9]
	mov	x0, x21
	mov	w2, #1
	blr	x8
	mov	x0, x21
	bl	_VIP
	mov	x24, x0
Lloh0:
	adrp	x28, _VIP_S_REFRESH@GOTPAGE
Lloh1:
	ldr	x28, [x28, _VIP_S_REFRESH@GOTPAGEOFF]
Lloh2:
	adrp	x25, _DOT@GOTPAGE
Lloh3:
	ldr	x25, [x25, _DOT@GOTPAGEOFF]
	add	x8, x22, #80
	str	x8, [sp]                        ; 8-byte Folded Spill
Lloh4:
	adrp	x23, _SC_SSWITCH@GOTPAGE
Lloh5:
	ldr	x23, [x23, _SC_SSWITCH@GOTPAGEOFF]
Lloh6:
	adrp	x22, _SC_FSWITCH@GOTPAGE
Lloh7:
	ldr	x22, [x22, _SC_FSWITCH@GOTPAGEOFF]
Lloh8:
	adrp	x26, _CH_MAPPED@GOTPAGE
Lloh9:
	ldr	x26, [x26, _CH_MAPPED@GOTPAGEOFF]
	mov	x27, x25
LBB0_2:                                 ; =>This Inner Loop Header: Depth=1
	mov	x0, x21
	bl	_MAPPED_KEYS_WAITING
	cbnz	x0, LBB0_4
; %bb.3:                                ;   in Loop: Header=BB0_2 Depth=1
	mov	x0, x21
	mov	x1, #0
	mov	w2, #0
	bl	_vs_resolve
	cbnz	x0, LBB0_74
LBB0_4:                                 ;   in Loop: Header=BB0_2 Depth=1
	ldr	w1, [x28]
	mov	x0, x24
	bl	_F_ISSET
	cbz	w0, LBB0_6
; %bb.5:                                ;   in Loop: Header=BB0_2 Depth=1
	ldr	w1, [x28]
	mov	x0, x24
	bl	_F_CLR
	b	LBB0_7
LBB0_6:                                 ;   in Loop: Header=BB0_2 Depth=1
Lloh10:
	adrp	x8, _SM_COMMAND@GOTPAGE
Lloh11:
	ldr	x8, [x8, _SM_COMMAND@GOTPAGEOFF]
Lloh12:
	ldr	w8, [x8]
	str	w8, [x21, #152]
	mov	x0, x21
	mov	w1, #0
	bl	_vs_refresh
	cbnz	x0, LBB0_74
LBB0_7:                                 ;   in Loop: Header=BB0_2 Depth=1
	add	x0, sp, #16
	mov	w1, #131
	bl	_F_ISSET
	cbz	w0, LBB0_9
; %bb.8:                                ;   in Loop: Header=BB0_2 Depth=1
Lloh13:
	adrp	x8, _VIP_RCM_LAST@GOTPAGE
Lloh14:
	ldr	x8, [x8, _VIP_RCM_LAST@GOTPAGEOFF]
Lloh15:
	ldr	w1, [x8]
	mov	x0, x24
	bl	_F_CLR
	add	x1, x21, #148
	mov	x0, x21
	bl	_vs_column
LBB0_9:                                 ;   in Loop: Header=BB0_2 Depth=1
	mov	x0, x21
	bl	_MAPPED_KEYS_WAITING
	cbz	x0, LBB0_14
; %bb.10:                               ;   in Loop: Header=BB0_2 Depth=1
	mov	w8, #1
LBB0_11:                                ;   in Loop: Header=BB0_2 Depth=1
	str	w8, [sp, #8]
	mov	x0, x20
	bl	_EXCMD_RUNNING
	cbz	x0, LBB0_25
; %bb.12:                               ;   in Loop: Header=BB0_2 Depth=1
Lloh16:
	adrp	x8, _vikeys@GOTPAGE
Lloh17:
	ldr	x8, [x8, _vikeys@GOTPAGEOFF]
Lloh18:
	ldr	x8, [x8]
	mov	w9, #9280
	add	x8, x8, x9
	str	x8, [sp, #112]
LBB0_13:                                ;   in Loop: Header=BB0_2 Depth=1
	ldr	x8, [x8, #88]
	add	x1, sp, #16
	mov	x0, x21
	blr	x8
	cbnz	x0, LBB0_15
	b	LBB0_27
LBB0_14:                                ;   in Loop: Header=BB0_2 Depth=1
	mov	x0, x21
	bl	_log_cursor
	cbz	x0, LBB0_36
LBB0_15:                                ;   in Loop: Header=BB0_2 Depth=1
	ldr	w1, [x26]
	mov	x0, x21
	bl	_v_event_flush
	cbz	x0, LBB0_17
; %bb.16:                               ;   in Loop: Header=BB0_2 Depth=1
Lloh19:
	adrp	x8, _M_BERR@GOTPAGE
Lloh20:
	ldr	x8, [x8, _M_BERR@GOTPAGEOFF]
Lloh21:
	ldr	w1, [x8]
	mov	x0, x21
Lloh22:
	adrp	x2, l_.str@PAGE
Lloh23:
	add	x2, x2, l_.str@PAGEOFF
	bl	_msgq
LBB0_17:                                ;   in Loop: Header=BB0_2 Depth=1
	mov	x0, x21
	bl	_INTERRUPTED
	cbz	x0, LBB0_19
LBB0_18:                                ;   in Loop: Header=BB0_2 Depth=1
	mov	x0, x21
	bl	_CLR_INTERRUPT
	ldr	w1, [x26]
	mov	x0, x21
	bl	_v_event_flush
Lloh24:
	adrp	x8, _M_ERR@GOTPAGE
Lloh25:
	ldr	x8, [x8, _M_ERR@GOTPAGEOFF]
Lloh26:
	ldr	w1, [x8]
	cmp	x0, #0
Lloh27:
	adrp	x8, l_.str.1@PAGE
Lloh28:
	add	x8, x8, l_.str.1@PAGEOFF
Lloh29:
	adrp	x9, l_.str.2@PAGE
Lloh30:
	add	x9, x9, l_.str.2@PAGEOFF
	csel	x2, x9, x8, eq
	mov	x0, x21
	bl	_msgq
LBB0_19:                                ;   in Loop: Header=BB0_2 Depth=1
	ldr	w1, [x23]
	mov	x0, x21
	bl	_F_ISSET
	cbz	w0, LBB0_21
; %bb.20:                               ;   in Loop: Header=BB0_2 Depth=1
	ldr	w1, [x23]
	mov	x0, x21
	bl	_F_CLR
Lloh31:
	adrp	x8, _SC_STATUS@GOTPAGE
Lloh32:
	ldr	x8, [x8, _SC_STATUS@GOTPAGEOFF]
Lloh33:
	ldr	w1, [x8]
	mov	x0, x21
	bl	_F_SET
	ldr	x21, [x21, #64]
	mov	x0, x21
	bl	_VIP
	mov	x24, x0
	ldr	x8, [x21, #56]
	ldr	x8, [x8, #48]
	ldr	x9, [x21, #40]
	ldr	w1, [x9]
	mov	w25, #1
	mov	x0, x21
	mov	w2, #1
	blr	x8
Lloh34:
	adrp	x8, _VIP_CUR_INVALID@GOTPAGE
Lloh35:
	ldr	x8, [x8, _VIP_CUR_INVALID@GOTPAGEOFF]
Lloh36:
	ldr	w1, [x8]
	mov	x0, x24
	bl	_F_SET
	mov	x0, x21
	mov	w1, #1
	bl	_vs_refresh
	cbnz	x0, LBB0_75
LBB0_21:                                ;   in Loop: Header=BB0_2 Depth=1
	ldr	w1, [x22]
	mov	x0, x21
	bl	_F_ISSET
	mov	x25, x27
	cbz	w0, LBB0_23
; %bb.22:                               ;   in Loop: Header=BB0_2 Depth=1
	ldr	w1, [x22]
	mov	x0, x21
	bl	_F_CLR
	ldr	x8, [x21, #56]
	ldr	x8, [x8, #48]
	ldr	x9, [x21, #40]
	ldr	w1, [x9]
	mov	x0, x21
	mov	w2, #1
	blr	x8
LBB0_23:                                ;   in Loop: Header=BB0_2 Depth=1
Lloh37:
	adrp	x8, _G_SRESTART@GOTPAGE
Lloh38:
	ldr	x8, [x8, _G_SRESTART@GOTPAGEOFF]
Lloh39:
	ldr	w1, [x8]
	mov	x0, x20
	bl	_F_ISSET
	cbnz	w0, LBB0_72
; %bb.24:                               ;   in Loop: Header=BB0_2 Depth=1
Lloh40:
	adrp	x8, _SC_EX@GOTPAGE
Lloh41:
	ldr	x8, [x8, _SC_EX@GOTPAGEOFF]
Lloh42:
	ldr	w1, [x8]
	mov	x0, x21
	bl	_F_ISSET
	cbz	w0, LBB0_2
	b	LBB0_72
LBB0_25:                                ;   in Loop: Header=BB0_2 Depth=1
	add	x0, sp, #16
	mov	w1, #0
	mov	w2, #160
	bl	_memset
	ldr	x1, [x25]
	add	x2, sp, #16
	add	x4, sp, #12
	add	x5, sp, #8
	mov	x0, x21
	mov	x3, #0
	bl	_v_cmd
	sub	w8, w0, #134
	cmp	w8, #4
	b.hi	LBB0_45
; %bb.26:                               ;   in Loop: Header=BB0_2 Depth=1
	mov	w25, #1
Lloh43:
	adrp	x11, lJTI0_0@PAGE
Lloh44:
	add	x11, x11, lJTI0_0@PAGEOFF
	adr	x9, LBB0_15
	ldrh	w10, [x11, x8, lsl #1]
	add	x9, x9, x10, lsl #2
	br	x9
LBB0_27:                                ;   in Loop: Header=BB0_2 Depth=1
Lloh45:
	adrp	x8, _SC_EXIT@GOTPAGE
Lloh46:
	ldr	x8, [x8, _SC_EXIT@GOTPAGEOFF]
Lloh47:
	ldr	w8, [x8]
Lloh48:
	adrp	x25, _SC_EXIT_FORCE@GOTPAGE
Lloh49:
	ldr	x25, [x25, _SC_EXIT_FORCE@GOTPAGEOFF]
	ldr	w9, [x25]
	orr	w1, w9, w8
	mov	x0, x21
	bl	_F_ISSET
	cbz	w0, LBB0_37
; %bb.28:                               ;   in Loop: Header=BB0_2 Depth=1
	ldr	w1, [x25]
	mov	x0, x21
	bl	_F_ISSET
	mov	x2, x0
	mov	x0, x21
	mov	x1, #0
	bl	_file_end
	cbnz	x0, LBB0_74
; %bb.29:                               ;   in Loop: Header=BB0_2 Depth=1
	mov	x25, x27
	sub	x1, x29, #120
	mov	x0, x21
	bl	_vs_discard
	cbnz	x0, LBB0_74
; %bb.30:                               ;   in Loop: Header=BB0_2 Depth=1
	ldur	x8, [x29, #-120]
	cbnz	x8, LBB0_33
; %bb.31:                               ;   in Loop: Header=BB0_2 Depth=1
	sub	x1, x29, #120
	mov	x0, x21
	mov	x2, #0
	bl	_vs_swap
	cbnz	x0, LBB0_74
; %bb.32:                               ;   in Loop: Header=BB0_2 Depth=1
	ldur	x8, [x29, #-120]
LBB0_33:                                ;   in Loop: Header=BB0_2 Depth=1
	str	x8, [x19]
	mov	x0, x21
	bl	_screen_end
	cbnz	x0, LBB0_74
; %bb.34:                               ;   in Loop: Header=BB0_2 Depth=1
	ldur	x21, [x29, #-120]
	cbz	x21, LBB0_73
; %bb.35:                               ;   in Loop: Header=BB0_2 Depth=1
	mov	x0, x21
	bl	_VIP
	mov	x24, x0
	ldr	x8, [x21, #56]
	ldr	x8, [x8, #48]
	ldr	x9, [x21, #40]
	ldr	w1, [x9]
	mov	x0, x21
	mov	w2, #1
	blr	x8
Lloh50:
	adrp	x8, _VIP_CUR_INVALID@GOTPAGE
Lloh51:
	ldr	x8, [x8, _VIP_CUR_INVALID@GOTPAGEOFF]
Lloh52:
	ldr	w1, [x8]
	mov	x0, x24
	bl	_F_SET
	b	LBB0_2
LBB0_36:                                ;   in Loop: Header=BB0_2 Depth=1
	mov	w8, #0
	mov	x25, x27
	b	LBB0_11
LBB0_37:                                ;   in Loop: Header=BB0_2 Depth=1
Lloh53:
	adrp	x8, _V_DOT@GOTPAGE
Lloh54:
	ldr	x8, [x8, _V_DOT@GOTPAGEOFF]
Lloh55:
	ldr	w1, [x8]
	add	x0, sp, #16
	bl	_F_ISSET
	cbz	w0, LBB0_42
; %bb.38:                               ;   in Loop: Header=BB0_2 Depth=1
	ldr	w8, [sp, #8]
	cbnz	w8, LBB0_42
; %bb.39:                               ;   in Loop: Header=BB0_2 Depth=1
	mov	x25, x27
	ldr	x8, [x27]
	ldp	q0, q1, [sp, #16]
	stp	q0, q1, [x8]
	ldp	q0, q1, [sp, #48]
	ldp	q2, q3, [sp, #80]
	stp	q2, q3, [x8, #64]
	stp	q0, q1, [x8, #32]
	ldp	q0, q1, [sp, #112]
	add	x9, sp, #16
	ldp	q2, q3, [x9, #128]
	stp	q2, q3, [x8, #128]
	stp	q0, q1, [x8, #96]
	ldr	x0, [x27]
Lloh56:
	adrp	x8, _VC_ISDOT@GOTPAGE
Lloh57:
	ldr	x8, [x8, _VC_ISDOT@GOTPAGEOFF]
Lloh58:
	ldr	w1, [x8]
	bl	_F_SET
Lloh59:
	adrp	x8, _VC_C1RESET@GOTPAGE
Lloh60:
	ldr	x8, [x8, _VC_C1RESET@GOTPAGEOFF]
Lloh61:
	ldr	w1, [x8]
	add	x0, sp, #16
	bl	_F_ISSET
	cbz	w0, LBB0_41
; %bb.40:                               ;   in Loop: Header=BB0_2 Depth=1
	ldr	x0, [x25]
Lloh62:
	adrp	x8, _VC_C1SET@GOTPAGE
Lloh63:
	ldr	x8, [x8, _VC_C1SET@GOTPAGEOFF]
Lloh64:
	ldr	w1, [x8]
	bl	_F_SET
LBB0_41:                                ;   in Loop: Header=BB0_2 Depth=1
	ldr	x0, [x25]
Lloh65:
	adrp	x8, _VM_COMMASK@GOTPAGE
Lloh66:
	ldr	x8, [x8, _VM_COMMASK@GOTPAGEOFF]
Lloh67:
	ldr	w8, [x8]
Lloh68:
	adrp	x9, _VM_RCM_MASK@GOTPAGE
Lloh69:
	ldr	x9, [x9, _VM_RCM_MASK@GOTPAGEOFF]
Lloh70:
	ldr	w9, [x9]
	orr	w1, w9, w8
	bl	_F_CLR
LBB0_42:                                ;   in Loop: Header=BB0_2 Depth=1
Lloh71:
	adrp	x8, _VM_RCM_MASK@GOTPAGE
Lloh72:
	ldr	x8, [x8, _VM_RCM_MASK@GOTPAGEOFF]
Lloh73:
	ldr	w1, [x8]
	add	x0, sp, #16
	bl	_F_ISSET
	sub	w8, w0, #128
	cmp	w8, #4
	b.hi	LBB0_53
; %bb.43:                               ;   in Loop: Header=BB0_2 Depth=1
Lloh74:
	adrp	x11, lJTI0_1@PAGE
Lloh75:
	add	x11, x11, lJTI0_1@PAGEOFF
	adr	x9, LBB0_44
	ldrb	w10, [x11, x8]
	add	x9, x9, x10, lsl #2
	br	x9
LBB0_44:                                ;   in Loop: Header=BB0_2 Depth=1
Lloh76:
	adrp	x8, _VIP_RCM_LAST@GOTPAGE
Lloh77:
	ldr	x8, [x8, _VIP_RCM_LAST@GOTPAGEOFF]
Lloh78:
	ldr	w1, [x8]
	mov	x0, x24
	bl	_F_SET
	b	LBB0_57
LBB0_45:                                ;   in Loop: Header=BB0_2 Depth=1
	ldr	x0, [sp, #112]
Lloh79:
	adrp	x8, _V_SECURE@GOTPAGE
Lloh80:
	ldr	x8, [x8, _V_SECURE@GOTPAGEOFF]
Lloh81:
	ldr	w1, [x8]
	bl	_F_ISSET
	cbz	w0, LBB0_48
; %bb.46:                               ;   in Loop: Header=BB0_2 Depth=1
Lloh82:
	adrp	x8, _O_SECURE@GOTPAGE
Lloh83:
	ldr	x8, [x8, _O_SECURE@GOTPAGEOFF]
Lloh84:
	ldr	w1, [x8]
	mov	x0, x21
	bl	_O_ISSET
	cbz	x0, LBB0_48
; %bb.47:                               ;   in Loop: Header=BB0_2 Depth=1
	ldr	w1, [sp, #160]
	mov	x0, x21
	bl	_KEY_NAME
	mov	x1, x0
Lloh85:
	adrp	x8, _EXM_SECURE@GOTPAGE
Lloh86:
	ldr	x8, [x8, _EXM_SECURE@GOTPAGEOFF]
Lloh87:
	ldr	w2, [x8]
	mov	x0, x21
	bl	_ex_emsg
	b	LBB0_15
LBB0_48:                                ;   in Loop: Header=BB0_2 Depth=1
Lloh88:
	adrp	x8, _VC_ISDOT@GOTPAGE
Lloh89:
	ldr	x8, [x8, _VC_ISDOT@GOTPAGEOFF]
Lloh90:
	ldr	w1, [x8]
	add	x0, sp, #16
	bl	_F_ISSET
	cbz	w0, LBB0_51
; %bb.49:                               ;   in Loop: Header=BB0_2 Depth=1
	ldr	w8, [sp, #12]
	cbz	w8, LBB0_51
; %bb.50:                               ;   in Loop: Header=BB0_2 Depth=1
Lloh91:
	adrp	x8, _DOTMOTION@GOTPAGE
Lloh92:
	ldr	x8, [x8, _DOTMOTION@GOTPAGEOFF]
Lloh93:
	ldr	x8, [x8]
	mov	w9, #1
	str	w9, [x8]
LBB0_51:                                ;   in Loop: Header=BB0_2 Depth=1
	ldr	x8, [sp, #112]
	ldr	w1, [x8]
	add	x0, sp, #16
	bl	_F_SET
Lloh94:
	adrp	x8, _V_ABS@GOTPAGE
Lloh95:
	ldr	x8, [x8, _V_ABS@GOTPAGEOFF]
Lloh96:
	ldr	w8, [x8]
Lloh97:
	adrp	x9, _V_ABS_C@GOTPAGE
Lloh98:
	ldr	x9, [x9, _V_ABS_C@GOTPAGEOFF]
Lloh99:
	ldr	w9, [x9]
	orr	w8, w9, w8
Lloh100:
	adrp	x9, _V_ABS_L@GOTPAGE
Lloh101:
	ldr	x9, [x9, _V_ABS_L@GOTPAGEOFF]
Lloh102:
	ldr	w9, [x9]
	orr	w1, w8, w9
	add	x0, sp, #16
	bl	_F_ISSET
	ldr	x8, [x21, #8]
	cbz	w0, LBB0_64
; %bb.52:                               ;   in Loop: Header=BB0_2 Depth=1
	ldr	x9, [x21, #16]
	stp	x8, x9, [x29, #-112]
	b	LBB0_65
LBB0_53:                                ;   in Loop: Header=BB0_2 Depth=1
	cbz	w0, LBB0_57
	b	LBB0_76
LBB0_54:                                ;   in Loop: Header=BB0_2 Depth=1
	str	xzr, [sp, #96]
LBB0_55:                                ;   in Loop: Header=BB0_2 Depth=1
	ldr	x1, [sp, #88]
	mov	x0, x21
	ldr	x2, [sp]                        ; 8-byte Folded Reload
	bl	_nonblank
	cbnz	w0, LBB0_15
	b	LBB0_57
LBB0_56:                                ;   in Loop: Header=BB0_2 Depth=1
	ldr	x25, [sp, #88]
Lloh103:
	adrp	x8, _VIP_RCM_LAST@GOTPAGE
Lloh104:
	ldr	x8, [x8, _VIP_RCM_LAST@GOTPAGEOFF]
Lloh105:
	ldr	w1, [x8]
	mov	x0, x24
	bl	_F_ISSET
	mov	x2, x0
	mov	x0, x21
	mov	x1, x25
	bl	_vs_rcm
	str	x0, [sp, #96]
LBB0_57:                                ;   in Loop: Header=BB0_2 Depth=1
	ldur	q0, [sp, #88]
	stur	q0, [x21, #8]
Lloh106:
	adrp	x8, _V_ABS@GOTPAGE
Lloh107:
	ldr	x8, [x8, _V_ABS@GOTPAGEOFF]
Lloh108:
	ldr	w1, [x8]
	add	x0, sp, #16
	bl	_F_ISSET
	cbz	w0, LBB0_59
LBB0_58:                                ;   in Loop: Header=BB0_2 Depth=1
Lloh109:
	adrp	x8, _ABSMARK1@GOTPAGE
Lloh110:
	ldr	x8, [x8, _ABSMARK1@GOTPAGEOFF]
Lloh111:
	ldr	w1, [x8]
	sub	x2, x29, #112
	mov	x0, x21
	mov	w3, #1
	bl	_mark_set
	cbnz	x0, LBB0_15
	b	LBB0_17
LBB0_59:                                ;   in Loop: Header=BB0_2 Depth=1
Lloh112:
	adrp	x8, _V_ABS_L@GOTPAGE
Lloh113:
	ldr	x8, [x8, _V_ABS_L@GOTPAGEOFF]
Lloh114:
	ldr	w1, [x8]
	add	x0, sp, #16
	bl	_F_ISSET
	cbz	w0, LBB0_61
; %bb.60:                               ;   in Loop: Header=BB0_2 Depth=1
	ldr	x8, [x21, #8]
	ldur	x9, [x29, #-112]
	cmp	x8, x9
	b.ne	LBB0_58
LBB0_61:                                ;   in Loop: Header=BB0_2 Depth=1
Lloh115:
	adrp	x8, _V_ABS_C@GOTPAGE
Lloh116:
	ldr	x8, [x8, _V_ABS_C@GOTPAGEOFF]
Lloh117:
	ldr	w1, [x8]
	add	x0, sp, #16
	bl	_F_ISSET
	cbz	w0, LBB0_17
; %bb.62:                               ;   in Loop: Header=BB0_2 Depth=1
	ldr	x8, [x21, #8]
	ldur	x9, [x29, #-112]
	cmp	x8, x9
	b.ne	LBB0_58
; %bb.63:                               ;   in Loop: Header=BB0_2 Depth=1
	ldr	x8, [x21, #16]
	ldur	x9, [x29, #-104]
	cmp	x8, x9
	b.eq	LBB0_17
	b	LBB0_58
LBB0_64:                                ;   in Loop: Header=BB0_2 Depth=1
	ldr	x9, [x21, #16]
LBB0_65:                                ;   in Loop: Header=BB0_2 Depth=1
	stp	x8, x9, [sp, #88]
	stp	x8, x9, [sp, #128]
	stp	x8, x9, [sp, #144]
Lloh118:
	adrp	x8, _V_MOTION@GOTPAGE
Lloh119:
	ldr	x8, [x8, _V_MOTION@GOTPAGEOFF]
Lloh120:
	ldr	w1, [x8]
	add	x0, sp, #16
	bl	_F_ISSET
	cbz	w0, LBB0_68
; %bb.66:                               ;   in Loop: Header=BB0_2 Depth=1
Lloh121:
	adrp	x8, _DOTMOTION@GOTPAGE
Lloh122:
	ldr	x8, [x8, _DOTMOTION@GOTPAGEOFF]
Lloh123:
	ldr	x1, [x8]
	add	x2, sp, #16
	add	x3, sp, #8
	mov	x0, x21
	bl	_v_motion
	cbz	x0, LBB0_68
; %bb.67:                               ;   in Loop: Header=BB0_2 Depth=1
	mov	x0, x21
	bl	_INTERRUPTED
	cbnz	x0, LBB0_18
	b	LBB0_15
LBB0_68:                                ;   in Loop: Header=BB0_2 Depth=1
Lloh124:
	adrp	x8, _VC_C1SET@GOTPAGE
Lloh125:
	ldr	x8, [x8, _VC_C1SET@GOTPAGEOFF]
Lloh126:
	ldr	w1, [x8]
	add	x0, sp, #16
	bl	_F_ISSET
	cbz	w0, LBB0_71
; %bb.69:                               ;   in Loop: Header=BB0_2 Depth=1
Lloh127:
	adrp	x8, _VM_LMODE@GOTPAGE
Lloh128:
	ldr	x8, [x8, _VM_LMODE@GOTPAGEOFF]
Lloh129:
	ldr	w1, [x8]
	add	x0, sp, #16
	bl	_F_ISSET
	cbz	w0, LBB0_71
; %bb.70:                               ;   in Loop: Header=BB0_2 Depth=1
	ldrsw	x8, [sp, #40]
	ldr	x9, [sp, #128]
	add	x8, x8, x9
	sub	x8, x8, #1
	str	x8, [sp, #128]
LBB0_71:                                ;   in Loop: Header=BB0_2 Depth=1
	ldr	w8, [x21, #104]
	add	w8, w8, #1
	str	w8, [x21, #104]
	ldr	x8, [sp, #112]
	b	LBB0_13
LBB0_72:
	str	x21, [x19]
	mov	x0, x21
	bl	_v_dtoh
	ldr	x8, [x20, #32]
	mov	x0, x21
	mov	x1, #0
	blr	x8
LBB0_73:
	mov	w25, #0
	b	LBB0_75
LBB0_74:
	mov	w25, #1
LBB0_75:
	mov	x0, x25
	ldp	x29, x30, [sp, #304]            ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #288]            ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #272]            ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #256]            ; 16-byte Folded Reload
	ldp	x26, x25, [sp, #240]            ; 16-byte Folded Reload
	ldp	x28, x27, [sp, #224]            ; 16-byte Folded Reload
	add	sp, sp, #320
	ret
LBB0_76:
	bl	_abort
	.loh AdrpLdrGot	Lloh8, Lloh9
	.loh AdrpLdrGot	Lloh6, Lloh7
	.loh AdrpLdrGot	Lloh4, Lloh5
	.loh AdrpLdrGot	Lloh2, Lloh3
	.loh AdrpLdrGot	Lloh0, Lloh1
	.loh AdrpLdrGotLdr	Lloh10, Lloh11, Lloh12
	.loh AdrpLdrGotLdr	Lloh13, Lloh14, Lloh15
	.loh AdrpLdrGotLdr	Lloh16, Lloh17, Lloh18
	.loh AdrpAdd	Lloh22, Lloh23
	.loh AdrpLdrGotLdr	Lloh19, Lloh20, Lloh21
	.loh AdrpAdd	Lloh29, Lloh30
	.loh AdrpAdd	Lloh27, Lloh28
	.loh AdrpLdrGotLdr	Lloh24, Lloh25, Lloh26
	.loh AdrpLdrGotLdr	Lloh34, Lloh35, Lloh36
	.loh AdrpLdrGotLdr	Lloh31, Lloh32, Lloh33
	.loh AdrpLdrGotLdr	Lloh37, Lloh38, Lloh39
	.loh AdrpLdrGotLdr	Lloh40, Lloh41, Lloh42
	.loh AdrpAdd	Lloh43, Lloh44
	.loh AdrpLdrGot	Lloh48, Lloh49
	.loh AdrpLdrGotLdr	Lloh45, Lloh46, Lloh47
	.loh AdrpLdrGotLdr	Lloh50, Lloh51, Lloh52
	.loh AdrpLdrGotLdr	Lloh53, Lloh54, Lloh55
	.loh AdrpLdrGotLdr	Lloh59, Lloh60, Lloh61
	.loh AdrpLdrGotLdr	Lloh56, Lloh57, Lloh58
	.loh AdrpLdrGotLdr	Lloh62, Lloh63, Lloh64
	.loh AdrpLdrGotLdr	Lloh68, Lloh69, Lloh70
	.loh AdrpLdrGotLdr	Lloh65, Lloh66, Lloh67
	.loh AdrpLdrGotLdr	Lloh71, Lloh72, Lloh73
	.loh AdrpAdd	Lloh74, Lloh75
	.loh AdrpLdrGotLdr	Lloh76, Lloh77, Lloh78
	.loh AdrpLdrGotLdr	Lloh79, Lloh80, Lloh81
	.loh AdrpLdrGotLdr	Lloh82, Lloh83, Lloh84
	.loh AdrpLdrGotLdr	Lloh85, Lloh86, Lloh87
	.loh AdrpLdrGotLdr	Lloh88, Lloh89, Lloh90
	.loh AdrpLdrGotLdr	Lloh91, Lloh92, Lloh93
	.loh AdrpLdrGotLdr	Lloh100, Lloh101, Lloh102
	.loh AdrpLdrGotLdr	Lloh97, Lloh98, Lloh99
	.loh AdrpLdrGotLdr	Lloh94, Lloh95, Lloh96
	.loh AdrpLdrGotLdr	Lloh103, Lloh104, Lloh105
	.loh AdrpLdrGotLdr	Lloh106, Lloh107, Lloh108
	.loh AdrpLdrGotLdr	Lloh109, Lloh110, Lloh111
	.loh AdrpLdrGotLdr	Lloh112, Lloh113, Lloh114
	.loh AdrpLdrGotLdr	Lloh115, Lloh116, Lloh117
	.loh AdrpLdrGotLdr	Lloh118, Lloh119, Lloh120
	.loh AdrpLdrGotLdr	Lloh121, Lloh122, Lloh123
	.loh AdrpLdrGotLdr	Lloh124, Lloh125, Lloh126
	.loh AdrpLdrGotLdr	Lloh127, Lloh128, Lloh129
	.cfi_endproc
	.section	__TEXT,__const
	.p2align	1
lJTI0_0:
	.short	(LBB0_18-LBB0_15)>>2
	.short	(LBB0_75-LBB0_15)>>2
	.short	(LBB0_27-LBB0_15)>>2
	.short	(LBB0_17-LBB0_15)>>2
	.short	(LBB0_15-LBB0_15)>>2
lJTI0_1:
	.byte	(LBB0_55-LBB0_44)>>2
	.byte	(LBB0_44-LBB0_44)>>2
	.byte	(LBB0_54-LBB0_44)>>2
	.byte	(LBB0_57-LBB0_44)>>2
	.byte	(LBB0_56-LBB0_44)>>2
                                        ; -- End function
	.comm	_VIP_S_REFRESH,4,2              ; @VIP_S_REFRESH
	.comm	_SM_COMMAND,4,2                 ; @SM_COMMAND
	.comm	_VIP_RCM_LAST,4,2               ; @VIP_RCM_LAST
	.comm	_vikeys,8,3                     ; @vikeys
	.comm	_DOT,8,3                        ; @DOT
	.comm	_V_SECURE,4,2                   ; @V_SECURE
	.comm	_O_SECURE,4,2                   ; @O_SECURE
	.comm	_EXM_SECURE,4,2                 ; @EXM_SECURE
	.comm	_VC_ISDOT,4,2                   ; @VC_ISDOT
	.comm	_DOTMOTION,8,3                  ; @DOTMOTION
	.comm	_V_ABS,4,2                      ; @V_ABS
	.comm	_V_ABS_C,4,2                    ; @V_ABS_C
	.comm	_V_ABS_L,4,2                    ; @V_ABS_L
	.comm	_V_MOTION,4,2                   ; @V_MOTION
	.comm	_VC_C1SET,4,2                   ; @VC_C1SET
	.comm	_VM_LMODE,4,2                   ; @VM_LMODE
	.comm	_SC_EXIT,4,2                    ; @SC_EXIT
	.comm	_SC_EXIT_FORCE,4,2              ; @SC_EXIT_FORCE
	.comm	_VIP_CUR_INVALID,4,2            ; @VIP_CUR_INVALID
	.comm	_V_DOT,4,2                      ; @V_DOT
	.comm	_VC_C1RESET,4,2                 ; @VC_C1RESET
	.comm	_VM_COMMASK,4,2                 ; @VM_COMMASK
	.comm	_VM_RCM_MASK,4,2                ; @VM_RCM_MASK
	.comm	_ABSMARK1,4,2                   ; @ABSMARK1
	.comm	_CH_MAPPED,4,2                  ; @CH_MAPPED
	.comm	_M_BERR,4,2                     ; @M_BERR
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"110|Vi command failed: mapped keys discarded"

	.comm	_M_ERR,4,2                      ; @M_ERR
l_.str.1:                               ; @.str.1
	.asciz	"231|Interrupted: mapped keys discarded"

l_.str.2:                               ; @.str.2
	.asciz	"236|Interrupted"

	.comm	_SC_SSWITCH,4,2                 ; @SC_SSWITCH
	.comm	_SC_STATUS,4,2                  ; @SC_STATUS
	.comm	_SC_FSWITCH,4,2                 ; @SC_FSWITCH
	.comm	_G_SRESTART,4,2                 ; @G_SRESTART
	.comm	_SC_EX,4,2                      ; @SC_EX
	.comm	_G_TMP_INUSE,4,2                ; @G_TMP_INUSE
.subsections_via_symbols
