	.file	"extr_vfs_subr.c_vnode_authorize_simple.c"
	.intel_syntax noprefix
	.text
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC0:
	.string	" CHECKIMMUTABLE"
.LC1:
	.string	""
.LC2:
	.string	" READ_SECURITY"
.LC3:
	.string	" WRITE_EXTATTRIBUTES"
.LC4:
	.string	" READ_EXTATTRIBUTES"
.LC5:
	.string	" WRITE_ATTRIBUTES"
.LC6:
	.string	" READ_ATTRIBUTES"
.LC7:
	.string	" DELETE_CHILD"
.LC8:
	.string	" APPEND_DATA"
.LC9:
	.string	" ADD_SUBDIRECTORY"
.LC10:
	.string	" DELETE"
.LC11:
	.string	" EXECUTE"
.LC12:
	.string	" SEARCH"
.LC13:
	.string	" WRITE_DATA"
.LC14:
	.string	" ADD_FILE"
.LC15:
	.string	" READ_DATA"
.LC16:
	.string	" LIST_DIRECTORY"
	.section	.rodata.str1.8,"aMS",@progbits,1
	.align 8
.LC17:
	.string	"%p    ALLOWED - implicit or no rights required"
	.align 8
.LC18:
	.string	"%p    ERROR during ACL processing - %d"
	.section	.rodata.str1.1
.LC19:
	.string	"%p    DENIED - by ACL"
	.section	.rodata.str1.8
	.align 8
.LC20:
	.string	"%p    ALLOWED - all rights granted by ACL"
	.align 8
.LC21:
	.string	"%p    DEFERRED - directory ACL"
	.align 8
.LC22:
	.string	"%p    ALLOWED - rights already authorized"
	.align 8
.LC23:
	.string	"%p    DENIED - CHANGE_OWNER not permitted"
	.align 8
.LC24:
	.string	"%p    DENIED - WRITE_SECURITY not permitted"
	.align 8
.LC25:
	.string	"%p    ALLOWED - residual rights %s%s%s%s%s%s%s%s%s%s%s%s%s%s granted due to no posix mapping"
	.text
	.p2align 4
	.type	vnode_authorize_simple, @function
vnode_authorize_simple:
.LFB0:
	.cfi_startproc
	endbr64
	push	r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	push	r14
	.cfi_def_cfa_offset 24
	.cfi_offset 14, -24
	mov	r14, rcx
	push	r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	mov	r13d, edx
	push	r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	push	rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	mov	rbp, rdi
	push	rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	mov	ebx, esi
	sub	rsp, 152
	.cfi_def_cfa_offset 208
	mov	r12, QWORD PTR 16[rdi]
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR 136[rsp], rax
	xor	eax, eax
	mov	rax, QWORD PTR 8[rdi]
	mov	r15d, DWORD PTR [rax]
	call	vauth_file_owner@PLT
	test	rax, rax
	je	.L2
	mov	eax, DWORD PTR KAUTH_VNODE_WRITE_SECURITY[rip]
	not	eax
	and	ebx, eax
.L2:
	test	DWORD PTR KAUTH_VNODE_TAKE_OWNERSHIP[rip], ebx
	je	.L3
	mov	eax, DWORD PTR KAUTH_VNODE_WRITE_SECURITY[rip]
	test	eax, ebx
	je	.L4
	not	eax
	and	ebx, eax
.L3:
	test	ebx, ebx
	je	.L84
.L4:
	mov	esi, DWORD PTR va_acl[rip]
	xor	edx, edx
	mov	rdi, r12
	call	VATTR_IS_NOT@PLT
	test	rax, rax
	jne	.L85
.L6:
	not	r13d
	mov	rdi, rbp
	and	ebx, r13d
	mov	DWORD PTR 88[rsp], ebx
	call	vauth_file_owner@PLT
	test	rax, rax
	jne	.L16
	mov	r11d, DWORD PTR 88[rsp]
.L17:
	test	r11d, r11d
	je	.L86
	test	DWORD PTR KAUTH_VNODE_CHANGE_OWNER[rip], r11d
	jne	.L87
	test	DWORD PTR KAUTH_VNODE_WRITE_SECURITY[rip], r11d
	jne	.L88
	mov	r8d, DWORD PTR KAUTH_VNODE_READ_EXTATTRIBUTES[rip]
	mov	r12d, DWORD PTR KAUTH_VNODE_READ_DATA[rip]
	or	r12d, DWORD PTR KAUTH_VNODE_LIST_DIRECTORY[rip]
	mov	ecx, DWORD PTR KAUTH_VNODE_DELETE_CHILD[rip]
	or	r12d, r8d
	mov	edi, DWORD PTR KAUTH_VNODE_WRITE_ATTRIBUTES[rip]
	mov	eax, DWORD PTR KAUTH_VNODE_WRITE_DATA[rip]
	and	r12d, r11d
	cmovne	r12d, DWORD PTR VREAD[rip]
	or	eax, DWORD PTR KAUTH_VNODE_ADD_FILE[rip]
	or	eax, DWORD PTR KAUTH_VNODE_ADD_SUBDIRECTORY[rip]
	mov	r9d, DWORD PTR KAUTH_VNODE_WRITE_EXTATTRIBUTES[rip]
	or	eax, ecx
	or	eax, edi
	or	eax, r9d
	test	eax, r11d
	je	.L22
	or	r12d, DWORD PTR VWRITE[rip]
.L22:
	mov	eax, DWORD PTR KAUTH_VNODE_EXECUTE[rip]
	mov	edx, DWORD PTR KAUTH_VNODE_SEARCH[rip]
	or	edx, eax
	test	edx, r11d
	je	.L23
	or	r12d, DWORD PTR VEXEC[rip]
.L23:
	test	r12d, r12d
	jne	.L89
	lea	rsi, .LC0[rip]
	lea	r15, .LC1[rip]
	mov	QWORD PTR [rsp], rsi
	test	DWORD PTR KAUTH_VNODE_CHECKIMMUTABLE[rip], r11d
	jne	.L25
	mov	QWORD PTR [rsp], r15
.L25:
	lea	rdx, .LC1[rip]
	test	DWORD PTR KAUTH_VNODE_READ_SECURITY[rip], r11d
	lea	r14, .LC2[rip]
	cmove	r14, rdx
	lea	r13, .LC3[rip]
	test	r9d, r11d
	cmove	r13, rdx
	lea	rbx, .LC4[rip]
	test	r8d, r11d
	cmove	rbx, rdx
	test	edi, r11d
	lea	rdi, .LC5[rip]
	cmove	rdi, rdx
	test	DWORD PTR KAUTH_VNODE_READ_ATTRIBUTES[rip], r11d
	mov	QWORD PTR 8[rsp], rdi
	lea	rdi, .LC6[rip]
	cmove	rdi, rdx
	test	ecx, r11d
	lea	rcx, .LC7[rip]
	cmove	rcx, rdx
	mov	QWORD PTR 16[rsp], rdi
	mov	edi, DWORD PTR 0[rbp]
	mov	QWORD PTR 24[rsp], rcx
	test	DWORD PTR KAUTH_VNODE_APPEND_DATA[rip], r11d
	jne	.L90
.L32:
	lea	r8, .LC1[rip]
	test	DWORD PTR KAUTH_VNODE_DELETE[rip], r11d
	lea	r9, .LC10[rip]
	cmove	r9, r8
	test	eax, r11d
	jne	.L91
.L35:
	lea	rcx, .LC1[rip]
	test	DWORD PTR KAUTH_VNODE_WRITE_DATA[rip], r11d
	jne	.L92
.L37:
	lea	r10, .LC1[rip]
	test	DWORD PTR KAUTH_VNODE_READ_DATA[rip], r11d
	jne	.L93
.L39:
	push	r15
	.cfi_def_cfa_offset 216
	mov	esi, edi
	xor	eax, eax
	lea	rdi, .LC25[rip]
	push	QWORD PTR 8[rsp]
	.cfi_def_cfa_offset 224
	push	r15
	.cfi_def_cfa_offset 232
	push	r14
	.cfi_def_cfa_offset 240
	push	r13
	.cfi_def_cfa_offset 248
	push	rbx
	.cfi_def_cfa_offset 256
	push	QWORD PTR 56[rsp]
	.cfi_def_cfa_offset 264
	push	QWORD PTR 72[rsp]
	.cfi_def_cfa_offset 272
	push	QWORD PTR 88[rsp]
	.cfi_def_cfa_offset 280
	push	rdx
	.cfi_def_cfa_offset 288
	mov	rdx, r10
	call	KAUTH_DEBUG@PLT
	add	rsp, 80
	.cfi_def_cfa_offset 208
	jmp	.L1
	.p2align 4,,10
	.p2align 3
.L84:
	mov	esi, DWORD PTR 0[rbp]
	lea	rdi, .LC17[rip]
	xor	eax, eax
	xor	r12d, r12d
	call	KAUTH_DEBUG@PLT
.L1:
	mov	rax, QWORD PTR 136[rsp]
	xor	rax, QWORD PTR fs:40
	jne	.L94
	add	rsp, 152
	.cfi_remember_state
	.cfi_def_cfa_offset 56
	mov	eax, r12d
	pop	rbx
	.cfi_def_cfa_offset 48
	pop	rbp
	.cfi_def_cfa_offset 40
	pop	r12
	.cfi_def_cfa_offset 32
	pop	r13
	.cfi_def_cfa_offset 24
	pop	r14
	.cfi_def_cfa_offset 16
	pop	r15
	.cfi_def_cfa_offset 8
	ret
	.p2align 4,,10
	.p2align 3
.L85:
	.cfi_restore_state
	mov	rax, QWORD PTR [r12]
	mov	rdi, rbp
	mov	DWORD PTR 80[rsp], ebx
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR 112[rsp], 0
	mov	QWORD PTR 120[rsp], rdx
	mov	DWORD PTR 116[rsp], eax
	call	vauth_file_owner@PLT
	test	rax, rax
	je	.L7
	mov	eax, DWORD PTR KAUTH_AEVAL_IS_OWNER[rip]
	or	DWORD PTR 112[rsp], eax
.L7:
	mov	edx, DWORD PTR ENOENT[rip]
	lea	rsi, 76[rsp]
	mov	rdi, rbp
	call	vauth_file_ingroup@PLT
	mov	r12d, eax
	test	eax, eax
	jne	.L95
	mov	edx, DWORD PTR ENOENT[rip]
	test	edx, edx
	je	.L9
	mov	eax, DWORD PTR 76[rsp]
	test	eax, eax
	je	.L11
	mov	eax, DWORD PTR KAUTH_AEVAL_IN_GROUP[rip]
	or	DWORD PTR 112[rsp], eax
.L11:
	mov	eax, DWORD PTR KAUTH_VNODE_GENERIC_ALL_BITS[rip]
	lea	rsi, 80[rsp]
	mov	edi, r15d
	mov	DWORD PTR 108[rsp], eax
	mov	eax, DWORD PTR KAUTH_VNODE_GENERIC_READ_BITS[rip]
	mov	DWORD PTR 104[rsp], eax
	mov	eax, DWORD PTR KAUTH_VNODE_GENERIC_WRITE_BITS[rip]
	mov	DWORD PTR 100[rsp], eax
	mov	eax, DWORD PTR KAUTH_VNODE_GENERIC_EXECUTE_BITS[rip]
	mov	DWORD PTR 96[rsp], eax
	call	kauth_acl_evaluate@PLT
	mov	r12d, eax
	test	eax, eax
	jne	.L96
	mov	eax, DWORD PTR 84[rsp]
	mov	esi, DWORD PTR 0[rbp]
	cmp	eax, 128
	je	.L13
	cmp	eax, 130
	je	.L14
	lea	rdi, .LC21[rip]
	xor	eax, eax
	call	KAUTH_DEBUG@PLT
	mov	eax, DWORD PTR 92[rsp]
	mov	ebx, DWORD PTR 88[rsp]
	mov	DWORD PTR [r14], eax
	jmp	.L6
	.p2align 4,,10
	.p2align 3
.L16:
	mov	r11d, DWORD PTR KAUTH_VNODE_WRITE_ATTRIBUTES[rip]
	not	r11d
	and	r11d, DWORD PTR 88[rsp]
	mov	DWORD PTR 88[rsp], r11d
	jmp	.L17
	.p2align 4,,10
	.p2align 3
.L95:
	cmp	DWORD PTR ENOENT[rip], eax
	jne	.L1
.L9:
	mov	eax, DWORD PTR KAUTH_AEVAL_IN_GROUP_UNKNOWN[rip]
	or	DWORD PTR 112[rsp], eax
	jmp	.L11
	.p2align 4,,10
	.p2align 3
.L86:
	mov	esi, DWORD PTR 0[rbp]
	lea	rdi, .LC22[rip]
	xor	eax, eax
	xor	r12d, r12d
	call	KAUTH_DEBUG@PLT
	jmp	.L1
	.p2align 4,,10
	.p2align 3
.L87:
	mov	esi, DWORD PTR 0[rbp]
	lea	rdi, .LC23[rip]
	xor	eax, eax
	call	KAUTH_DEBUG@PLT
	mov	r12d, DWORD PTR EACCES[rip]
	jmp	.L1
	.p2align 4,,10
	.p2align 3
.L93:
	mov	QWORD PTR 56[rsp], rcx
	mov	QWORD PTR 48[rsp], r8
	mov	QWORD PTR 40[rsp], r9
	mov	QWORD PTR 32[rsp], rdx
	call	vnode_isdir@PLT
	mov	edi, DWORD PTR 0[rbp]
	mov	rdx, QWORD PTR 32[rsp]
	lea	r10, .LC16[rip]
	test	rax, rax
	mov	r9, QWORD PTR 40[rsp]
	mov	r8, QWORD PTR 48[rsp]
	mov	rcx, QWORD PTR 56[rsp]
	jne	.L39
	lea	r10, .LC15[rip]
	jmp	.L39
	.p2align 4,,10
	.p2align 3
.L92:
	mov	QWORD PTR 48[rsp], r8
	mov	QWORD PTR 40[rsp], r9
	mov	QWORD PTR 32[rsp], rdx
	call	vnode_isdir@PLT
	mov	r11d, DWORD PTR 88[rsp]
	mov	edi, DWORD PTR 0[rbp]
	lea	rcx, .LC14[rip]
	test	rax, rax
	mov	rdx, QWORD PTR 32[rsp]
	mov	r9, QWORD PTR 40[rsp]
	mov	r8, QWORD PTR 48[rsp]
	jne	.L37
	lea	rcx, .LC13[rip]
	jmp	.L37
	.p2align 4,,10
	.p2align 3
.L91:
	mov	QWORD PTR 40[rsp], r9
	mov	QWORD PTR 32[rsp], rdx
	call	vnode_isdir@PLT
	mov	r11d, DWORD PTR 88[rsp]
	mov	edi, DWORD PTR 0[rbp]
	lea	r8, .LC12[rip]
	test	rax, rax
	mov	rdx, QWORD PTR 32[rsp]
	mov	r9, QWORD PTR 40[rsp]
	jne	.L35
	lea	r8, .LC11[rip]
	jmp	.L35
	.p2align 4,,10
	.p2align 3
.L90:
	call	vnode_isdir@PLT
	mov	r11d, DWORD PTR 88[rsp]
	mov	edi, DWORD PTR 0[rbp]
	lea	rdx, .LC9[rip]
	test	rax, rax
	mov	eax, DWORD PTR KAUTH_VNODE_EXECUTE[rip]
	jne	.L32
	lea	rdx, .LC8[rip]
	jmp	.L32
	.p2align 4,,10
	.p2align 3
.L88:
	mov	esi, DWORD PTR 0[rbp]
	lea	rdi, .LC24[rip]
	xor	eax, eax
	call	KAUTH_DEBUG@PLT
	mov	r12d, DWORD PTR EACCES[rip]
	jmp	.L1
	.p2align 4,,10
	.p2align 3
.L89:
	mov	esi, r12d
	xor	edx, edx
	mov	rdi, rbp
	call	vnode_authorize_posix@PLT
	mov	r12d, eax
	jmp	.L1
	.p2align 4,,10
	.p2align 3
.L13:
	lea	rdi, .LC19[rip]
	xor	eax, eax
	call	KAUTH_DEBUG@PLT
	mov	r12d, DWORD PTR EACCES[rip]
	jmp	.L1
	.p2align 4,,10
	.p2align 3
.L14:
	lea	rdi, .LC20[rip]
	xor	eax, eax
	call	KAUTH_DEBUG@PLT
	jmp	.L1
	.p2align 4,,10
	.p2align 3
.L96:
	mov	esi, DWORD PTR 0[rbp]
	mov	edx, eax
	lea	rdi, .LC18[rip]
	xor	eax, eax
	call	KAUTH_DEBUG@PLT
	jmp	.L1
.L94:
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE0:
	.size	vnode_authorize_simple, .-vnode_authorize_simple
	.comm	va_acl,4,4
	.comm	VWRITE,4,4
	.comm	VREAD,4,4
	.comm	VEXEC,4,4
	.comm	KAUTH_VNODE_WRITE_SECURITY,4,4
	.comm	KAUTH_VNODE_WRITE_EXTATTRIBUTES,4,4
	.comm	KAUTH_VNODE_WRITE_DATA,4,4
	.comm	KAUTH_VNODE_WRITE_ATTRIBUTES,4,4
	.comm	KAUTH_VNODE_TAKE_OWNERSHIP,4,4
	.comm	KAUTH_VNODE_SEARCH,4,4
	.comm	KAUTH_VNODE_READ_SECURITY,4,4
	.comm	KAUTH_VNODE_READ_EXTATTRIBUTES,4,4
	.comm	KAUTH_VNODE_READ_DATA,4,4
	.comm	KAUTH_VNODE_READ_ATTRIBUTES,4,4
	.comm	KAUTH_VNODE_LIST_DIRECTORY,4,4
	.comm	KAUTH_VNODE_GENERIC_WRITE_BITS,4,4
	.comm	KAUTH_VNODE_GENERIC_READ_BITS,4,4
	.comm	KAUTH_VNODE_GENERIC_EXECUTE_BITS,4,4
	.comm	KAUTH_VNODE_GENERIC_ALL_BITS,4,4
	.comm	KAUTH_VNODE_EXECUTE,4,4
	.comm	KAUTH_VNODE_DELETE_CHILD,4,4
	.comm	KAUTH_VNODE_DELETE,4,4
	.comm	KAUTH_VNODE_CHECKIMMUTABLE,4,4
	.comm	KAUTH_VNODE_CHANGE_OWNER,4,4
	.comm	KAUTH_VNODE_APPEND_DATA,4,4
	.comm	KAUTH_VNODE_ADD_SUBDIRECTORY,4,4
	.comm	KAUTH_VNODE_ADD_FILE,4,4
	.comm	KAUTH_AEVAL_IS_OWNER,4,4
	.comm	KAUTH_AEVAL_IN_GROUP_UNKNOWN,4,4
	.comm	KAUTH_AEVAL_IN_GROUP,4,4
	.comm	ENOENT,4,4
	.comm	EACCES,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	 1f - 0f
	.long	 4f - 1f
	.long	 5
0:
	.string	 "GNU"
1:
	.align 8
	.long	 0xc0000002
	.long	 3f - 2f
2:
	.long	 0x3
3:
	.align 8
4:

	.arch armv5t
	.eabi_attribute 20, 1
	.eabi_attribute 21, 1
	.eabi_attribute 23, 3
	.eabi_attribute 24, 1
	.eabi_attribute 25, 1
	.eabi_attribute 26, 2
	.eabi_attribute 30, 2
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"extr_vfs_subr.c_vnode_authorize_simple.c"
	.text
	.section	.rodata.str1.4,"aMS",%progbits,1
	.align	2
.LC0:
	.ascii	" READ_DATA\000"
	.align	2
.LC1:
	.ascii	" LIST_DIRECTORY\000"
	.align	2
.LC2:
	.ascii	"\000"
	.align	2
.LC3:
	.ascii	" WRITE_DATA\000"
	.align	2
.LC4:
	.ascii	" ADD_FILE\000"
	.align	2
.LC5:
	.ascii	" EXECUTE\000"
	.align	2
.LC6:
	.ascii	" SEARCH\000"
	.align	2
.LC7:
	.ascii	" DELETE\000"
	.align	2
.LC8:
	.ascii	" APPEND_DATA\000"
	.align	2
.LC9:
	.ascii	" ADD_SUBDIRECTORY\000"
	.align	2
.LC10:
	.ascii	" DELETE_CHILD\000"
	.align	2
.LC11:
	.ascii	" READ_ATTRIBUTES\000"
	.align	2
.LC12:
	.ascii	" WRITE_ATTRIBUTES\000"
	.align	2
.LC13:
	.ascii	" READ_EXTATTRIBUTES\000"
	.align	2
.LC14:
	.ascii	" WRITE_EXTATTRIBUTES\000"
	.align	2
.LC15:
	.ascii	" READ_SECURITY\000"
	.align	2
.LC16:
	.ascii	" WRITE_SECURITY\000"
	.align	2
.LC17:
	.ascii	" CHECKIMMUTABLE\000"
	.align	2
.LC18:
	.ascii	" CHANGE_OWNER\000"
	.align	2
.LC19:
	.ascii	"%p    ALLOWED - implicit or no rights required\000"
	.align	2
.LC20:
	.ascii	"%p    ERROR during ACL processing - %d\000"
	.align	2
.LC21:
	.ascii	"%p    DENIED - by ACL\000"
	.align	2
.LC22:
	.ascii	"%p    ALLOWED - all rights granted by ACL\000"
	.align	2
.LC23:
	.ascii	"%p    DEFERRED - directory ACL\000"
	.align	2
.LC24:
	.ascii	"%p    ALLOWED - rights already authorized\000"
	.align	2
.LC25:
	.ascii	"%p    DENIED - CHANGE_OWNER not permitted\000"
	.align	2
.LC26:
	.ascii	"%p    DENIED - WRITE_SECURITY not permitted\000"
	.align	2
.LC27:
	.ascii	"%p    ALLOWED - residual rights %s%s%s%s%s%s%s%s%s%"
	.ascii	"s%s%s%s%s granted due to no posix mapping\000"
	.section	.rodata.cst4,"aM",%progbits,4
	.align	2
.LC28:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	vnode_authorize_simple, %function
vnode_authorize_simple:
	@ args = 0, pretend = 0, frame = 80
	@ frame_needed = 0, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, r10, fp, lr}
	ldr	ip, [r0, #4]
	mov	r7, r3
	ldr	r3, .L101
	sub	sp, sp, #132
	ldr	r3, [r3]
	str	r3, [sp, #124]
	mov	r3,#0
	mov	r4, r1
	mov	r5, r0
	mov	r6, r2
	ldr	r8, [ip]
	ldr	r9, [r0, #8]
	bl	vauth_file_owner
	cmp	r0, #0
	ldrne	r3, .L101+4
	ldrne	r3, [r3]
	bicne	r4, r4, r3
	ldr	r3, .L101+8
	ldr	r3, [r3]
	tst	r4, r3
	beq	.L3
	ldr	r3, .L101+4
	ldr	r3, [r3]
	tst	r3, r4
	beq	.L4
	bic	r4, r4, r3
.L3:
	cmp	r4, #0
	beq	.L88
.L4:
	ldr	r3, .L101+12
	mov	r2, #0
	mov	r0, r9
	ldr	r1, [r3]
	bl	VATTR_IS_NOT
	cmp	r0, #0
	bne	.L89
.L6:
	mov	r0, r5
	bic	r4, r4, r6
	str	r4, [sp, #88]
	bl	vauth_file_owner
	cmp	r0, #0
	ldrne	r3, .L101+16
	ldrne	ip, [sp, #88]
	ldrne	r3, [r3]
	ldreq	ip, [sp, #88]
	bicne	ip, ip, r3
	strne	ip, [sp, #88]
	cmp	ip, #0
	beq	.L90
	ldr	r6, .L101+20
	ldr	r3, [r6]
	tst	ip, r3
	bne	.L91
	ldr	r7, .L101+4
	ldr	r3, [r7]
	tst	ip, r3
	bne	.L92
	ldr	r3, .L101+24
	ldr	r2, .L101+28
	ldr	r9, .L101+32
	ldr	r4, [r3]
	ldr	lr, [r2]
	ldr	r0, [r9]
	orr	r4, lr, r4
	orr	r4, r4, r0
	ands	r4, r4, ip
	ldrne	r3, .L101+36
	ldr	r2, .L101+40
	ldrne	r4, [r3]
	ldr	r3, .L101+44
	ldr	r1, .L101+48
	ldr	r0, [r2]
	ldr	r3, [r3]
	ldr	r1, [r1]
	ldr	fp, .L101+52
	orr	r3, r0, r3
	orr	r3, r3, r1
	ldr	r10, .L101+16
	ldr	r1, [fp]
	ldr	r8, .L101+56
	orr	r3, r3, r1
	ldr	r1, [r10]
	orr	r3, r3, r1
	ldr	r1, [r8]
	orr	r3, r3, r1
	tst	r3, ip
	ldrne	r3, .L101+60
	ldr	r1, .L101+64
	ldrne	r3, [r3]
	ldr	r1, [r1]
	orrne	r4, r4, r3
	ldr	r3, .L101+68
	ldr	r2, [r3]
	orr	r1, r2, r1
	tst	r1, ip
	ldrne	r1, .L101+72
	ldrne	r1, [r1]
	orrne	r4, r4, r1
	cmp	r4, #0
	bne	.L93
	ldr	r2, [r5]
	tst	lr, ip
	str	r2, [sp, #52]
	bne	.L94
	ldr	r2, .L101+76
	str	r2, [sp, #60]
.L25:
	tst	ip, r0
	ldreq	r1, .L101+76
	bne	.L95
.L27:
	ldr	r3, [r3]
	tst	ip, r3
	bne	.L96
	ldr	r3, .L101+76
	str	r3, [sp, #64]
.L29:
	ldr	r2, .L101+80
	ldr	r3, .L101+84
	ldr	lr, [r2]
	ldr	r2, [r3]
	ldr	r3, .L101+76
	tst	ip, lr
	ldr	r0, .L101+88
	moveq	r0, r3
	tst	ip, r2
	str	r0, [sp, #56]
	bne	.L97
.L32:
	ldr	r2, [fp]
	ldr	r0, .L101+92
	tst	ip, r2
	ldr	r5, [r0]
	ldr	r2, .L101+76
	ldr	lr, [r10]
	ldr	fp, .L101+96
	moveq	fp, r2
	tst	ip, r5
	ldr	r5, .L101+100
	ldr	r0, [r9]
	ldr	r9, [r8]
	movne	r8, r5
	moveq	r8, r2
	tst	ip, lr
	ldr	lr, .L101+104
	ldr	r5, .L101+108
	ldr	lr, [lr]
	moveq	r5, r2
	tst	ip, r0
	ldr	r0, [r7]
	ldr	r7, .L101+112
	moveq	r7, r2
	tst	ip, r9
	ldr	r9, .L101+116
	moveq	r9, r2
	tst	ip, lr
	ldr	lr, [sp, #56]
	ldr	r10, [r6]
	str	r3, [sp, #8]
	ldr	r3, .L101+120
	str	lr, [sp, #4]
	ldr	r3, [r3]
	ldr	lr, [sp, #64]
	ldr	r6, .L101+124
	moveq	r6, r2
	tst	ip, r0
	str	lr, [sp]
	ldr	lr, .L101+128
	moveq	lr, r2
	tst	ip, r3
	ldr	r0, .L101+132
	moveq	r0, r2
	tst	ip, r10
	ldr	ip, .L101+136
	moveq	ip, r2
	mov	r3, r1
	str	r0, [sp, #40]
	ldr	r2, [sp, #60]
	ldr	r1, [sp, #52]
	str	fp, [sp, #12]
	str	r8, [sp, #16]
	str	r5, [sp, #20]
	str	r7, [sp, #24]
	ldr	r0, .L101+140
	str	r9, [sp, #28]
	str	r6, [sp, #32]
	str	lr, [sp, #36]
	str	ip, [sp, #44]
	bl	KAUTH_DEBUG
	b	.L1
.L88:
	ldr	r1, [r5]
	ldr	r0, .L101+144
	bl	KAUTH_DEBUG
.L1:
	ldr	r3, .L101
	ldr	r2, [r3]
	ldr	r3, [sp, #124]
	eors	r2, r3, r2
	mov	r3, #0
	bne	.L98
	mov	r0, r4
	add	sp, sp, #132
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, r10, fp, pc}
.L89:
	mov	r2, #0
	ldr	r3, [r9]
	mov	r0, r5
	ldr	r1, [r3, #4]
	ldr	r3, [r3]
	str	r4, [sp, #80]
	str	r3, [sp, #116]
	str	r2, [sp, #112]
	str	r1, [sp, #120]
	bl	vauth_file_owner
	cmp	r0, #0
	ldrne	r2, .L101+148
	ldrne	r3, [sp, #112]
	ldrne	r2, [r2]
	ldr	r9, .L101+152
	orrne	r3, r3, r2
	mov	r0, r5
	ldr	r2, [r9]
	add	r1, sp, #76
	strne	r3, [sp, #112]
	bl	vauth_file_ingroup
	subs	r4, r0, #0
	ldr	r3, [r9]
	bne	.L99
	cmp	r3, #0
	beq	.L9
	ldr	r3, [sp, #76]
	cmp	r3, #0
	ldrne	r2, .L101+156
	ldrne	r3, [sp, #112]
	ldrne	r2, [r2]
	orrne	r3, r3, r2
	strne	r3, [sp, #112]
.L11:
	ldr	r1, .L101+160
	ldr	r2, .L101+164
	ldr	r3, .L101+168
	ldr	ip, [r1]
	ldr	r1, [r2]
	ldr	r2, [r3]
	ldr	r3, .L101+172
	str	r1, [sp, #104]
	ldr	r3, [r3]
	mov	r0, r8
	add	r1, sp, #80
	str	ip, [sp, #108]
	str	r2, [sp, #100]
	str	r3, [sp, #96]
	bl	kauth_acl_evaluate
	subs	r4, r0, #0
	bne	.L100
	ldr	r3, [sp, #84]
	ldr	r1, [r5]
	cmp	r3, #128
	beq	.L13
	cmp	r3, #130
	beq	.L14
	ldr	r0, .L101+176
	bl	KAUTH_DEBUG
	ldr	r3, [sp, #92]
	ldr	r4, [sp, #88]
	str	r3, [r7]
	b	.L6
.L99:
	cmp	r3, r4
	bne	.L1
.L9:
	ldr	r2, .L101+180
	ldr	r3, [sp, #112]
	ldr	r2, [r2]
	orr	r3, r3, r2
	str	r3, [sp, #112]
	b	.L11
.L90:
	ldr	r1, [r5]
	ldr	r0, .L101+184
	mov	r4, ip
	bl	KAUTH_DEBUG
	b	.L1
.L91:
	ldr	r1, [r5]
	ldr	r0, .L101+188
	bl	KAUTH_DEBUG
	ldr	r3, .L101+192
	ldr	r4, [r3]
	b	.L1
.L97:
	ldr	r0, [r5]
	str	r1, [sp, #68]
	bl	vnode_isdir
	cmp	r0, #0
	ldr	ip, [sp, #88]
	ldr	r1, [sp, #68]
	ldrne	r3, .L101+196
	ldreq	r3, .L101+200
	b	.L32
.L96:
	ldr	r0, [r5]
	str	r1, [sp, #56]
	bl	vnode_isdir
	cmp	r0, #0
	ldrne	r3, .L101+204
	ldreq	r3, .L101+208
	ldr	ip, [sp, #88]
	ldr	r1, [sp, #56]
	str	r3, [sp, #64]
	b	.L29
.L95:
	ldr	r0, [r5]
	bl	vnode_isdir
	cmp	r0, #0
	ldr	ip, [sp, #88]
	ldr	r3, .L101+68
	ldrne	r1, .L101+212
	ldreq	r1, .L101+216
	b	.L27
.L94:
	mov	r0, r2
	bl	vnode_isdir
	ldr	r2, .L101+40
	cmp	r0, #0
	ldr	r0, [r2]
	ldrne	r2, .L101+220
	ldreq	r2, .L101+224
	ldr	r3, .L101+68
	ldr	ip, [sp, #88]
	str	r2, [sp, #60]
	b	.L25
.L92:
	ldr	r1, [r5]
	ldr	r0, .L101+228
	bl	KAUTH_DEBUG
	ldr	r3, .L101+192
	ldr	r4, [r3]
	b	.L1
.L93:
	mov	r1, r4
	mov	r0, r5
	mov	r2, #0
	bl	vnode_authorize_posix
	mov	r4, r0
	b	.L1
.L13:
	ldr	r0, .L101+232
	bl	KAUTH_DEBUG
	ldr	r3, .L101+192
	ldr	r4, [r3]
	b	.L1
.L14:
	ldr	r0, .L101+236
	bl	KAUTH_DEBUG
	b	.L1
.L100:
	mov	r2, r4
	ldr	r1, [r5]
	ldr	r0, .L101+240
	bl	KAUTH_DEBUG
	b	.L1
.L98:
	bl	__stack_chk_fail
.L102:
	.align	2
.L101:
	.word	.LC28
	.word	KAUTH_VNODE_WRITE_SECURITY
	.word	KAUTH_VNODE_TAKE_OWNERSHIP
	.word	va_acl
	.word	KAUTH_VNODE_WRITE_ATTRIBUTES
	.word	KAUTH_VNODE_CHANGE_OWNER
	.word	KAUTH_VNODE_LIST_DIRECTORY
	.word	KAUTH_VNODE_READ_DATA
	.word	KAUTH_VNODE_READ_EXTATTRIBUTES
	.word	VREAD
	.word	KAUTH_VNODE_WRITE_DATA
	.word	KAUTH_VNODE_ADD_FILE
	.word	KAUTH_VNODE_ADD_SUBDIRECTORY
	.word	KAUTH_VNODE_DELETE_CHILD
	.word	KAUTH_VNODE_WRITE_EXTATTRIBUTES
	.word	VWRITE
	.word	KAUTH_VNODE_SEARCH
	.word	KAUTH_VNODE_EXECUTE
	.word	VEXEC
	.word	.LC2
	.word	KAUTH_VNODE_DELETE
	.word	KAUTH_VNODE_APPEND_DATA
	.word	.LC7
	.word	KAUTH_VNODE_READ_ATTRIBUTES
	.word	.LC10
	.word	.LC11
	.word	KAUTH_VNODE_READ_SECURITY
	.word	.LC12
	.word	.LC13
	.word	.LC14
	.word	KAUTH_VNODE_CHECKIMMUTABLE
	.word	.LC15
	.word	.LC16
	.word	.LC17
	.word	.LC18
	.word	.LC27
	.word	.LC19
	.word	KAUTH_AEVAL_IS_OWNER
	.word	ENOENT
	.word	KAUTH_AEVAL_IN_GROUP
	.word	KAUTH_VNODE_GENERIC_ALL_BITS
	.word	KAUTH_VNODE_GENERIC_READ_BITS
	.word	KAUTH_VNODE_GENERIC_WRITE_BITS
	.word	KAUTH_VNODE_GENERIC_EXECUTE_BITS
	.word	.LC23
	.word	KAUTH_AEVAL_IN_GROUP_UNKNOWN
	.word	.LC24
	.word	.LC25
	.word	EACCES
	.word	.LC9
	.word	.LC8
	.word	.LC6
	.word	.LC5
	.word	.LC4
	.word	.LC3
	.word	.LC1
	.word	.LC0
	.word	.LC26
	.word	.LC21
	.word	.LC22
	.word	.LC20
	.size	vnode_authorize_simple, .-vnode_authorize_simple
	.comm	va_acl,4,4
	.comm	VWRITE,4,4
	.comm	VREAD,4,4
	.comm	VEXEC,4,4
	.comm	KAUTH_VNODE_WRITE_SECURITY,4,4
	.comm	KAUTH_VNODE_WRITE_EXTATTRIBUTES,4,4
	.comm	KAUTH_VNODE_WRITE_DATA,4,4
	.comm	KAUTH_VNODE_WRITE_ATTRIBUTES,4,4
	.comm	KAUTH_VNODE_TAKE_OWNERSHIP,4,4
	.comm	KAUTH_VNODE_SEARCH,4,4
	.comm	KAUTH_VNODE_READ_SECURITY,4,4
	.comm	KAUTH_VNODE_READ_EXTATTRIBUTES,4,4
	.comm	KAUTH_VNODE_READ_DATA,4,4
	.comm	KAUTH_VNODE_READ_ATTRIBUTES,4,4
	.comm	KAUTH_VNODE_LIST_DIRECTORY,4,4
	.comm	KAUTH_VNODE_GENERIC_WRITE_BITS,4,4
	.comm	KAUTH_VNODE_GENERIC_READ_BITS,4,4
	.comm	KAUTH_VNODE_GENERIC_EXECUTE_BITS,4,4
	.comm	KAUTH_VNODE_GENERIC_ALL_BITS,4,4
	.comm	KAUTH_VNODE_EXECUTE,4,4
	.comm	KAUTH_VNODE_DELETE_CHILD,4,4
	.comm	KAUTH_VNODE_DELETE,4,4
	.comm	KAUTH_VNODE_CHECKIMMUTABLE,4,4
	.comm	KAUTH_VNODE_CHANGE_OWNER,4,4
	.comm	KAUTH_VNODE_APPEND_DATA,4,4
	.comm	KAUTH_VNODE_ADD_SUBDIRECTORY,4,4
	.comm	KAUTH_VNODE_ADD_FILE,4,4
	.comm	KAUTH_AEVAL_IS_OWNER,4,4
	.comm	KAUTH_AEVAL_IN_GROUP_UNKNOWN,4,4
	.comm	KAUTH_AEVAL_IN_GROUP,4,4
	.comm	ENOENT,4,4
	.comm	EACCES,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
