	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_main                           ## -- Begin function main
	.p2align	4, 0x90
_main:                                  ## @main
	.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	$24, %rsp
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	%rsi, %rbx
	movl	%edi, %r14d
	leaq	L_.str(%rip), %r15
	movq	_is_debugging@GOTPCREL(%rip), %r13
	movq	_is_daemon@GOTPCREL(%rip), %r12
	jmp	LBB0_1
	.p2align	4, 0x90
LBB0_5:                                 ##   in Loop: Header=BB0_1 Depth=1
	movl	$0, (%r12)
LBB0_1:                                 ## =>This Inner Loop Header: Depth=1
	movl	%r14d, %edi
	movq	%rbx, %rsi
	movq	%r15, %rdx
	callq	_getopt
	cmpl	$100, %eax
	je	LBB0_6
## %bb.2:                               ##   in Loop: Header=BB0_1 Depth=1
	cmpl	$110, %eax
	je	LBB0_5
## %bb.3:                               ##   in Loop: Header=BB0_1 Depth=1
	cmpl	$-1, %eax
	je	LBB0_7
## %bb.4:                               ##   in Loop: Header=BB0_1 Depth=1
	movq	(%rbx), %rdi
	callq	_usage
	jmp	LBB0_1
	.p2align	4, 0x90
LBB0_6:                                 ##   in Loop: Header=BB0_1 Depth=1
	movl	$1, (%r13)
	jmp	LBB0_1
LBB0_7:
	movq	_LOG_USER@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	leaq	L_.str.1(%rip), %rdi
	xorl	%esi, %esi
	callq	_openlog
	cmpl	$1, (%r12)
	jne	LBB0_9
## %bb.8:
	movl	$1, %edi
	xorl	%esi, %esi
	callq	_daemon
	jmp	LBB0_10
LBB0_9:
	movq	_LOG_DEBUG@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	leaq	L_.str.2(%rip), %rsi
	xorl	%eax, %eax
	callq	_VSS_LOG
LBB0_10:
	movq	_LOG_INFO@GOTPCREL(%rip), %rax
	movl	(%rax), %ebx
	xorl	%eax, %eax
	callq	_getpid
	leaq	L_.str.3(%rip), %rsi
	movl	%ebx, %edi
	movl	%eax, %edx
	xorl	%eax, %eax
	callq	_VSS_LOG
	leaq	-48(%rbp), %rdi
	xorl	%esi, %esi
	movl	$8, %edx
	callq	_memset
	movq	_FS_VSS_DEV_NAME@GOTPCREL(%rip), %rbx
	movl	(%rbx), %edi
	callq	_VSS_DEV
	movq	_O_RDWR@GOTPCREL(%rip), %rcx
	movl	(%rcx), %esi
	movl	%eax, %edi
	callq	_open
	testl	%eax, %eax
	jns	LBB0_12
## %bb.11:
	movq	_LOG_ERR@GOTPCREL(%rip), %rax
	movl	(%rax), %r14d
	movl	(%rbx), %edi
	callq	_VSS_DEV
	movl	%eax, %r15d
	movq	_errno@GOTPCREL(%rip), %rax
	movq	(%rax), %rbx
	movq	%rbx, %rdi
	callq	_strerror
	leaq	L_.str.4(%rip), %rsi
	movl	%r14d, %edi
	movl	%r15d, %edx
	movq	%rbx, %rcx
	movl	%eax, %r8d
	xorl	%eax, %eax
	callq	_VSS_LOG
LBB0_34:
	movq	_EXIT_FAILURE@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	callq	_exit
LBB0_12:
	movl	%eax, %r15d
	movl	%eax, -64(%rbp)
	movq	_POLLIN@GOTPCREL(%rip), %rax
	movq	_POLLRDNORM@GOTPCREL(%rip), %rcx
	movl	(%rcx), %ecx
	orl	(%rax), %ecx
	movl	%ecx, -60(%rbp)
	movq	_INFTIM@GOTPCREL(%rip), %r13
	movq	_LOG_DEBUG@GOTPCREL(%rip), %r14
	leaq	L_.str.5(%rip), %r12
	jmp	LBB0_13
	.p2align	4, 0x90
LBB0_22:                                ##   in Loop: Header=BB0_13 Depth=1
	movq	_LOG_ERR@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	leaq	L_.str.10(%rip), %rsi
	xorl	%eax, %eax
	callq	_VSS_LOG
LBB0_13:                                ## =>This Inner Loop Header: Depth=1
	movl	(%r13), %edx
	leaq	-64(%rbp), %rdi
	movl	$1, %esi
	callq	_poll
	movl	%eax, %ebx
	movl	(%r14), %edi
	movq	-56(%rbp), %rcx
	movq	%r12, %rsi
	movl	%eax, %edx
	xorl	%eax, %eax
	callq	_VSS_LOG
	testl	%ebx, %ebx
	je	LBB0_13
## %bb.14:                              ##   in Loop: Header=BB0_13 Depth=1
	js	LBB0_15
## %bb.19:                              ##   in Loop: Header=BB0_13 Depth=1
	movq	_IOCHVVSSREAD@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movl	%r15d, %edi
	leaq	-48(%rbp), %rdx
	callq	_ioctl
	testl	%eax, %eax
	js	LBB0_20
## %bb.21:                              ##   in Loop: Header=BB0_13 Depth=1
	cmpl	$0, -48(%rbp)
	jne	LBB0_22
## %bb.23:                              ##   in Loop: Header=BB0_13 Depth=1
	movq	%r13, %rbx
	movl	-44(%rbp), %r13d
	cmpl	$128, %r13d
	je	LBB0_28
## %bb.24:                              ##   in Loop: Header=BB0_13 Depth=1
	cmpl	$129, %r13d
	je	LBB0_27
## %bb.25:                              ##   in Loop: Header=BB0_13 Depth=1
	cmpl	$130, %r13d
	jne	LBB0_29
## %bb.26:                              ##   in Loop: Header=BB0_13 Depth=1
	xorl	%eax, %eax
	callq	_check
	jmp	LBB0_30
	.p2align	4, 0x90
LBB0_15:                                ##   in Loop: Header=BB0_13 Depth=1
	movq	_errno@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	_EAGAIN@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	je	LBB0_13
## %bb.16:                              ##   in Loop: Header=BB0_13 Depth=1
	movq	_EINTR@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	je	LBB0_13
	jmp	LBB0_17
LBB0_28:                                ##   in Loop: Header=BB0_13 Depth=1
	xorl	%eax, %eax
	callq	_thaw
	jmp	LBB0_30
LBB0_27:                                ##   in Loop: Header=BB0_13 Depth=1
	xorl	%eax, %eax
	callq	_freeze
	jmp	LBB0_30
LBB0_29:                                ##   in Loop: Header=BB0_13 Depth=1
	movq	_LOG_ERR@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	leaq	L_.str.11(%rip), %rsi
	movl	%r13d, %edx
	xorl	%eax, %eax
	callq	_VSS_LOG
	movq	_VSS_FAIL@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
LBB0_30:                                ##   in Loop: Header=BB0_13 Depth=1
	movq	_VSS_FAIL@GOTPCREL(%rip), %rcx
	testl	%eax, %eax
	jne	LBB0_32
## %bb.31:                              ##   in Loop: Header=BB0_13 Depth=1
	movq	_VSS_SUCCESS@GOTPCREL(%rip), %rcx
LBB0_32:                                ##   in Loop: Header=BB0_13 Depth=1
	movl	(%rcx), %eax
	movl	%eax, -48(%rbp)
	movq	_IOCHVVSSWRITE@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movl	%r15d, %edi
	leaq	-48(%rbp), %rdx
	callq	_ioctl
	testl	%eax, %eax
	jne	LBB0_33
## %bb.35:                              ##   in Loop: Header=BB0_13 Depth=1
	movq	_LOG_INFO@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	cmpl	$128, %r13d
	leaq	L_.str.16(%rip), %rcx
	leaq	L_.str.15(%rip), %rax
	cmoveq	%rax, %rcx
	movl	-48(%rbp), %edx
	cmpl	$129, %r13d
	leaq	L_.str.14(%rip), %rax
	cmoveq	%rax, %rcx
	leaq	L_.str.13(%rip), %rsi
	xorl	%eax, %eax
	callq	_VSS_LOG
	movq	%rbx, %r13
	jmp	LBB0_13
LBB0_20:
	movq	_LOG_ERR@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	leaq	L_.str.8(%rip), %rsi
	xorl	%eax, %eax
	callq	_VSS_LOG
	leaq	L_.str.9(%rip), %rdi
	jmp	LBB0_18
LBB0_17:
	movq	_LOG_ERR@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	leaq	L_.str.6(%rip), %rsi
	xorl	%eax, %eax
	callq	_VSS_LOG
	leaq	L_.str.7(%rip), %rdi
LBB0_18:
	callq	_perror
	movq	_EIO@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	callq	_exit
LBB0_33:
	movq	_LOG_ERR@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	leaq	L_.str.12(%rip), %rsi
	xorl	%eax, %eax
	callq	_VSS_LOG
	jmp	LBB0_34
	.cfi_endproc
                                        ## -- End function
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"dnh"

	.comm	_is_daemon,4,2                  ## @is_daemon
	.comm	_is_debugging,4,2               ## @is_debugging
L_.str.1:                               ## @.str.1
	.asciz	"HV_VSS"

	.comm	_LOG_USER,4,2                   ## @LOG_USER
	.comm	_LOG_DEBUG,4,2                  ## @LOG_DEBUG
L_.str.2:                               ## @.str.2
	.asciz	"Run as regular process.\n"

	.comm	_LOG_INFO,4,2                   ## @LOG_INFO
L_.str.3:                               ## @.str.3
	.asciz	"HV_VSS starting; pid is: %d\n"

	.comm	_FS_VSS_DEV_NAME,4,2            ## @FS_VSS_DEV_NAME
	.comm	_O_RDWR,4,2                     ## @O_RDWR
	.comm	_LOG_ERR,4,2                    ## @LOG_ERR
L_.str.4:                               ## @.str.4
	.asciz	"Fail to open %s, error: %d %s\n"

	.comm	_errno,8,3                      ## @errno
	.comm	_EXIT_FAILURE,4,2               ## @EXIT_FAILURE
	.comm	_POLLIN,4,2                     ## @POLLIN
	.comm	_POLLRDNORM,4,2                 ## @POLLRDNORM
	.comm	_INFTIM,4,2                     ## @INFTIM
L_.str.5:                               ## @.str.5
	.asciz	"poll returned r = %d, revent = 0x%x\n"

	.comm	_EAGAIN,8,3                     ## @EAGAIN
	.comm	_EINTR,8,3                      ## @EINTR
L_.str.6:                               ## @.str.6
	.asciz	"Poll failed.\n"

L_.str.7:                               ## @.str.7
	.asciz	"poll"

	.comm	_EIO,4,2                        ## @EIO
	.comm	_IOCHVVSSREAD,4,2               ## @IOCHVVSSREAD
L_.str.8:                               ## @.str.8
	.asciz	"Read failed.\n"

L_.str.9:                               ## @.str.9
	.asciz	"pread"

L_.str.10:                              ## @.str.10
	.asciz	"data read error\n"

L_.str.11:                              ## @.str.11
	.asciz	"Illegal operation: %d\n"

	.comm	_VSS_FAIL,8,3                   ## @VSS_FAIL
	.comm	_VSS_SUCCESS,4,2                ## @VSS_SUCCESS
	.comm	_IOCHVVSSWRITE,4,2              ## @IOCHVVSSWRITE
L_.str.12:                              ## @.str.12
	.asciz	"Fail to write to device\n"

L_.str.13:                              ## @.str.13
	.asciz	"Send response %d for %s to kernel\n"

L_.str.14:                              ## @.str.14
	.asciz	"Freeze"

L_.str.15:                              ## @.str.15
	.asciz	"Thaw"

L_.str.16:                              ## @.str.16
	.asciz	"Check"

.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_main                           ; -- Begin function main
	.p2align	2
_main:                                  ; @main
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #144
	.cfi_def_cfa_offset 144
	stp	x28, x27, [sp, #48]             ; 16-byte Folded Spill
	stp	x26, x25, [sp, #64]             ; 16-byte Folded Spill
	stp	x24, x23, [sp, #80]             ; 16-byte Folded Spill
	stp	x22, x21, [sp, #96]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #112]            ; 16-byte Folded Spill
	stp	x29, x30, [sp, #128]            ; 16-byte Folded Spill
	add	x29, sp, #128
	.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, x1
	mov	x20, x0
Lloh0:
	adrp	x23, _is_debugging@GOTPAGE
Lloh1:
	ldr	x23, [x23, _is_debugging@GOTPAGEOFF]
	mov	w24, #1
Lloh2:
	adrp	x22, _is_daemon@GOTPAGE
Lloh3:
	ldr	x22, [x22, _is_daemon@GOTPAGEOFF]
Lloh4:
	adrp	x21, l_.str@PAGE
Lloh5:
	add	x21, x21, l_.str@PAGEOFF
	b	LBB0_2
LBB0_1:                                 ;   in Loop: Header=BB0_2 Depth=1
	str	wzr, [x22]
LBB0_2:                                 ; =>This Inner Loop Header: Depth=1
	mov	x0, x20
	mov	x1, x19
	mov	x2, x21
	bl	_getopt
	cmp	w0, #100
	b.eq	LBB0_6
; %bb.3:                                ;   in Loop: Header=BB0_2 Depth=1
	cmp	w0, #110
	b.eq	LBB0_1
; %bb.4:                                ;   in Loop: Header=BB0_2 Depth=1
	cmn	w0, #1
	b.eq	LBB0_7
; %bb.5:                                ;   in Loop: Header=BB0_2 Depth=1
	ldr	x0, [x19]
	bl	_usage
	b	LBB0_2
LBB0_6:                                 ;   in Loop: Header=BB0_2 Depth=1
	str	w24, [x23]
	b	LBB0_2
LBB0_7:
Lloh6:
	adrp	x8, _LOG_USER@GOTPAGE
Lloh7:
	ldr	x8, [x8, _LOG_USER@GOTPAGEOFF]
Lloh8:
	ldr	w2, [x8]
Lloh9:
	adrp	x0, l_.str.1@PAGE
Lloh10:
	add	x0, x0, l_.str.1@PAGEOFF
	mov	w1, #0
	bl	_openlog
	ldr	w8, [x22]
Lloh11:
	adrp	x25, _LOG_DEBUG@GOTPAGE
Lloh12:
	ldr	x25, [x25, _LOG_DEBUG@GOTPAGEOFF]
	cmp	w8, #1
	b.ne	LBB0_9
; %bb.8:
	mov	w0, #1
	mov	w1, #0
	bl	_daemon
	b	LBB0_10
LBB0_9:
	ldr	w0, [x25]
Lloh13:
	adrp	x1, l_.str.2@PAGE
Lloh14:
	add	x1, x1, l_.str.2@PAGEOFF
	bl	_VSS_LOG
LBB0_10:
Lloh15:
	adrp	x8, _LOG_INFO@GOTPAGE
Lloh16:
	ldr	x8, [x8, _LOG_INFO@GOTPAGEOFF]
Lloh17:
	ldr	w19, [x8]
	bl	_getpid
                                        ; kill: def $w0 killed $w0 def $x0
	str	x0, [sp]
Lloh18:
	adrp	x1, l_.str.3@PAGE
Lloh19:
	add	x1, x1, l_.str.3@PAGEOFF
	mov	x0, x19
	bl	_VSS_LOG
	add	x0, sp, #40
	mov	w1, #0
	mov	w2, #8
	bl	_memset
Lloh20:
	adrp	x20, _FS_VSS_DEV_NAME@GOTPAGE
Lloh21:
	ldr	x20, [x20, _FS_VSS_DEV_NAME@GOTPAGEOFF]
	ldr	w0, [x20]
	bl	_VSS_DEV
Lloh22:
	adrp	x8, _O_RDWR@GOTPAGE
Lloh23:
	ldr	x8, [x8, _O_RDWR@GOTPAGEOFF]
Lloh24:
	ldr	w1, [x8]
	bl	_open
	tbz	w0, #31, LBB0_13
; %bb.11:
Lloh25:
	adrp	x8, _LOG_ERR@GOTPAGE
Lloh26:
	ldr	x8, [x8, _LOG_ERR@GOTPAGEOFF]
Lloh27:
	ldr	w19, [x8]
	ldr	w0, [x20]
	bl	_VSS_DEV
	mov	x20, x0
Lloh28:
	adrp	x8, _errno@GOTPAGE
Lloh29:
	ldr	x8, [x8, _errno@GOTPAGEOFF]
Lloh30:
	ldr	x21, [x8]
	mov	x0, x21
	bl	_strerror
                                        ; kill: def $w0 killed $w0 def $x0
	stp	x21, x0, [sp, #8]
	str	x20, [sp]
Lloh31:
	adrp	x1, l_.str.4@PAGE
Lloh32:
	add	x1, x1, l_.str.4@PAGEOFF
	mov	x0, x19
LBB0_12:
	bl	_VSS_LOG
Lloh33:
	adrp	x8, _EXIT_FAILURE@GOTPAGE
Lloh34:
	ldr	x8, [x8, _EXIT_FAILURE@GOTPAGEOFF]
Lloh35:
	ldr	w0, [x8]
	bl	_exit
LBB0_13:
	mov	x19, x0
Lloh36:
	adrp	x8, _POLLIN@GOTPAGE
Lloh37:
	ldr	x8, [x8, _POLLIN@GOTPAGEOFF]
Lloh38:
	ldr	w8, [x8]
Lloh39:
	adrp	x9, _POLLRDNORM@GOTPAGE
Lloh40:
	ldr	x9, [x9, _POLLRDNORM@GOTPAGEOFF]
Lloh41:
	ldr	w9, [x9]
	orr	w8, w9, w8
Lloh42:
	adrp	x27, _INFTIM@GOTPAGE
Lloh43:
	ldr	x27, [x27, _INFTIM@GOTPAGEOFF]
Lloh44:
	adrp	x20, l_.str.5@PAGE
Lloh45:
	add	x20, x20, l_.str.5@PAGEOFF
	stp	w0, w8, [sp, #24]
Lloh46:
	adrp	x22, _EAGAIN@GOTPAGE
Lloh47:
	ldr	x22, [x22, _EAGAIN@GOTPAGEOFF]
Lloh48:
	adrp	x26, _EINTR@GOTPAGE
Lloh49:
	ldr	x26, [x26, _EINTR@GOTPAGEOFF]
Lloh50:
	adrp	x21, _IOCHVVSSREAD@GOTPAGE
Lloh51:
	ldr	x21, [x21, _IOCHVVSSREAD@GOTPAGEOFF]
Lloh52:
	adrp	x28, _LOG_ERR@GOTPAGE
Lloh53:
	ldr	x28, [x28, _LOG_ERR@GOTPAGEOFF]
Lloh54:
	adrp	x23, l_.str.10@PAGE
Lloh55:
	add	x23, x23, l_.str.10@PAGEOFF
	b	LBB0_15
LBB0_14:                                ;   in Loop: Header=BB0_15 Depth=1
Lloh56:
	adrp	x8, _errno@GOTPAGE
Lloh57:
	ldr	x8, [x8, _errno@GOTPAGEOFF]
Lloh58:
	ldr	x8, [x8]
	ldr	x9, [x22]
	ldr	x10, [x26]
	cmp	x8, x9
	ccmp	x8, x10, #4, ne
	b.ne	LBB0_30
LBB0_15:                                ; =>This Inner Loop Header: Depth=1
	ldr	w2, [x27]
	add	x0, sp, #24
	mov	w1, #1
	bl	_poll
	mov	x24, x0
	ldr	w0, [x25]
	ldr	x8, [sp, #32]
	stp	x24, x8, [sp]
	mov	x1, x20
	bl	_VSS_LOG
	cbz	w24, LBB0_15
; %bb.16:                               ;   in Loop: Header=BB0_15 Depth=1
	tbnz	w24, #31, LBB0_14
; %bb.17:                               ;   in Loop: Header=BB0_15 Depth=1
	ldr	w1, [x21]
	add	x2, sp, #40
	mov	x0, x19
	bl	_ioctl
	tbnz	w0, #31, LBB0_29
; %bb.18:                               ;   in Loop: Header=BB0_15 Depth=1
	ldr	w8, [sp, #40]
	cbz	w8, LBB0_20
; %bb.19:                               ;   in Loop: Header=BB0_15 Depth=1
	ldr	w0, [x28]
	mov	x1, x23
	bl	_VSS_LOG
	b	LBB0_15
LBB0_20:                                ;   in Loop: Header=BB0_15 Depth=1
	ldr	w24, [sp, #44]
	cmp	w24, #128
	b.eq	LBB0_24
; %bb.21:                               ;   in Loop: Header=BB0_15 Depth=1
	cmp	w24, #129
	b.eq	LBB0_25
; %bb.22:                               ;   in Loop: Header=BB0_15 Depth=1
	cmp	w24, #130
	b.ne	LBB0_26
; %bb.23:                               ;   in Loop: Header=BB0_15 Depth=1
	bl	_check
	b	LBB0_27
LBB0_24:                                ;   in Loop: Header=BB0_15 Depth=1
	bl	_thaw
	b	LBB0_27
LBB0_25:                                ;   in Loop: Header=BB0_15 Depth=1
	bl	_freeze
	b	LBB0_27
LBB0_26:                                ;   in Loop: Header=BB0_15 Depth=1
	ldr	w0, [x28]
	str	x24, [sp]
Lloh59:
	adrp	x1, l_.str.11@PAGE
Lloh60:
	add	x1, x1, l_.str.11@PAGEOFF
	bl	_VSS_LOG
Lloh61:
	adrp	x8, _VSS_FAIL@GOTPAGE
Lloh62:
	ldr	x8, [x8, _VSS_FAIL@GOTPAGEOFF]
Lloh63:
	ldr	w0, [x8]
LBB0_27:                                ;   in Loop: Header=BB0_15 Depth=1
	cmp	w0, #0
Lloh64:
	adrp	x8, _VSS_SUCCESS@GOTPAGE
Lloh65:
	ldr	x8, [x8, _VSS_SUCCESS@GOTPAGEOFF]
Lloh66:
	adrp	x9, _VSS_FAIL@GOTPAGE
Lloh67:
	ldr	x9, [x9, _VSS_FAIL@GOTPAGEOFF]
	csel	x8, x8, x9, eq
	ldr	w8, [x8]
	str	w8, [sp, #40]
Lloh68:
	adrp	x8, _IOCHVVSSWRITE@GOTPAGE
Lloh69:
	ldr	x8, [x8, _IOCHVVSSWRITE@GOTPAGEOFF]
Lloh70:
	ldr	w1, [x8]
	add	x2, sp, #40
	mov	x0, x19
	bl	_ioctl
	cbnz	w0, LBB0_32
; %bb.28:                               ;   in Loop: Header=BB0_15 Depth=1
Lloh71:
	adrp	x8, _LOG_INFO@GOTPAGE
Lloh72:
	ldr	x8, [x8, _LOG_INFO@GOTPAGEOFF]
Lloh73:
	ldr	w0, [x8]
	cmp	w24, #128
Lloh74:
	adrp	x8, l_.str.16@PAGE
Lloh75:
	add	x8, x8, l_.str.16@PAGEOFF
Lloh76:
	adrp	x9, l_.str.15@PAGE
Lloh77:
	add	x9, x9, l_.str.15@PAGEOFF
	csel	x8, x9, x8, eq
	cmp	w24, #129
Lloh78:
	adrp	x9, l_.str.14@PAGE
Lloh79:
	add	x9, x9, l_.str.14@PAGEOFF
	csel	x8, x9, x8, eq
	ldr	w9, [sp, #40]
	stp	x9, x8, [sp]
Lloh80:
	adrp	x1, l_.str.13@PAGE
Lloh81:
	add	x1, x1, l_.str.13@PAGEOFF
	bl	_VSS_LOG
	b	LBB0_15
LBB0_29:
	ldr	w0, [x28]
Lloh82:
	adrp	x1, l_.str.8@PAGE
Lloh83:
	add	x1, x1, l_.str.8@PAGEOFF
	bl	_VSS_LOG
Lloh84:
	adrp	x0, l_.str.9@PAGE
Lloh85:
	add	x0, x0, l_.str.9@PAGEOFF
	b	LBB0_31
LBB0_30:
	ldr	w0, [x28]
Lloh86:
	adrp	x1, l_.str.6@PAGE
Lloh87:
	add	x1, x1, l_.str.6@PAGEOFF
	bl	_VSS_LOG
Lloh88:
	adrp	x0, l_.str.7@PAGE
Lloh89:
	add	x0, x0, l_.str.7@PAGEOFF
LBB0_31:
	bl	_perror
Lloh90:
	adrp	x8, _EIO@GOTPAGE
Lloh91:
	ldr	x8, [x8, _EIO@GOTPAGEOFF]
Lloh92:
	ldr	w0, [x8]
	bl	_exit
LBB0_32:
	ldr	w0, [x28]
Lloh93:
	adrp	x1, l_.str.12@PAGE
Lloh94:
	add	x1, x1, l_.str.12@PAGEOFF
	b	LBB0_12
	.loh AdrpAdd	Lloh4, Lloh5
	.loh AdrpLdrGot	Lloh2, Lloh3
	.loh AdrpLdrGot	Lloh0, Lloh1
	.loh AdrpLdrGot	Lloh11, Lloh12
	.loh AdrpAdd	Lloh9, Lloh10
	.loh AdrpLdrGotLdr	Lloh6, Lloh7, Lloh8
	.loh AdrpAdd	Lloh13, Lloh14
	.loh AdrpLdrGotLdr	Lloh22, Lloh23, Lloh24
	.loh AdrpLdrGot	Lloh20, Lloh21
	.loh AdrpAdd	Lloh18, Lloh19
	.loh AdrpLdrGotLdr	Lloh15, Lloh16, Lloh17
	.loh AdrpAdd	Lloh31, Lloh32
	.loh AdrpLdrGotLdr	Lloh28, Lloh29, Lloh30
	.loh AdrpLdrGotLdr	Lloh25, Lloh26, Lloh27
	.loh AdrpLdrGotLdr	Lloh33, Lloh34, Lloh35
	.loh AdrpAdd	Lloh54, Lloh55
	.loh AdrpLdrGot	Lloh52, Lloh53
	.loh AdrpLdrGot	Lloh50, Lloh51
	.loh AdrpLdrGot	Lloh48, Lloh49
	.loh AdrpLdrGot	Lloh46, Lloh47
	.loh AdrpAdd	Lloh44, Lloh45
	.loh AdrpLdrGot	Lloh42, Lloh43
	.loh AdrpLdrGotLdr	Lloh39, Lloh40, Lloh41
	.loh AdrpLdrGotLdr	Lloh36, Lloh37, Lloh38
	.loh AdrpLdrGotLdr	Lloh56, Lloh57, Lloh58
	.loh AdrpLdrGotLdr	Lloh61, Lloh62, Lloh63
	.loh AdrpAdd	Lloh59, Lloh60
	.loh AdrpLdrGotLdr	Lloh68, Lloh69, Lloh70
	.loh AdrpLdrGot	Lloh66, Lloh67
	.loh AdrpLdrGot	Lloh64, Lloh65
	.loh AdrpAdd	Lloh80, Lloh81
	.loh AdrpAdd	Lloh78, Lloh79
	.loh AdrpAdd	Lloh76, Lloh77
	.loh AdrpAdd	Lloh74, Lloh75
	.loh AdrpLdrGotLdr	Lloh71, Lloh72, Lloh73
	.loh AdrpAdd	Lloh84, Lloh85
	.loh AdrpAdd	Lloh82, Lloh83
	.loh AdrpAdd	Lloh88, Lloh89
	.loh AdrpAdd	Lloh86, Lloh87
	.loh AdrpLdrGotLdr	Lloh90, Lloh91, Lloh92
	.loh AdrpAdd	Lloh93, Lloh94
	.cfi_endproc
                                        ; -- End function
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"dnh"

	.comm	_is_daemon,4,2                  ; @is_daemon
	.comm	_is_debugging,4,2               ; @is_debugging
l_.str.1:                               ; @.str.1
	.asciz	"HV_VSS"

	.comm	_LOG_USER,4,2                   ; @LOG_USER
	.comm	_LOG_DEBUG,4,2                  ; @LOG_DEBUG
l_.str.2:                               ; @.str.2
	.asciz	"Run as regular process.\n"

	.comm	_LOG_INFO,4,2                   ; @LOG_INFO
l_.str.3:                               ; @.str.3
	.asciz	"HV_VSS starting; pid is: %d\n"

	.comm	_FS_VSS_DEV_NAME,4,2            ; @FS_VSS_DEV_NAME
	.comm	_O_RDWR,4,2                     ; @O_RDWR
	.comm	_LOG_ERR,4,2                    ; @LOG_ERR
l_.str.4:                               ; @.str.4
	.asciz	"Fail to open %s, error: %d %s\n"

	.comm	_errno,8,3                      ; @errno
	.comm	_EXIT_FAILURE,4,2               ; @EXIT_FAILURE
	.comm	_POLLIN,4,2                     ; @POLLIN
	.comm	_POLLRDNORM,4,2                 ; @POLLRDNORM
	.comm	_INFTIM,4,2                     ; @INFTIM
l_.str.5:                               ; @.str.5
	.asciz	"poll returned r = %d, revent = 0x%x\n"

	.comm	_EAGAIN,8,3                     ; @EAGAIN
	.comm	_EINTR,8,3                      ; @EINTR
l_.str.6:                               ; @.str.6
	.asciz	"Poll failed.\n"

l_.str.7:                               ; @.str.7
	.asciz	"poll"

	.comm	_EIO,4,2                        ; @EIO
	.comm	_IOCHVVSSREAD,4,2               ; @IOCHVVSSREAD
l_.str.8:                               ; @.str.8
	.asciz	"Read failed.\n"

l_.str.9:                               ; @.str.9
	.asciz	"pread"

l_.str.10:                              ; @.str.10
	.asciz	"data read error\n"

l_.str.11:                              ; @.str.11
	.asciz	"Illegal operation: %d\n"

	.comm	_VSS_FAIL,8,3                   ; @VSS_FAIL
	.comm	_VSS_SUCCESS,4,2                ; @VSS_SUCCESS
	.comm	_IOCHVVSSWRITE,4,2              ; @IOCHVVSSWRITE
l_.str.12:                              ; @.str.12
	.asciz	"Fail to write to device\n"

l_.str.13:                              ; @.str.13
	.asciz	"Send response %d for %s to kernel\n"

l_.str.14:                              ; @.str.14
	.asciz	"Freeze"

l_.str.15:                              ; @.str.15
	.asciz	"Thaw"

l_.str.16:                              ; @.str.16
	.asciz	"Check"

.subsections_via_symbols
