	.file	"extr_test.c_filstat.c"
	.intel_syntax noprefix
	.text
	.p2align 4
	.type	filstat, @function
filstat:
.LFB0:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rdi
	push	rbx
	.cfi_def_cfa_offset 24
	.cfi_offset 3, -24
	sub	rsp, 40
	.cfi_def_cfa_offset 64
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR 24[rsp], rax
	xor	eax, eax
	cmp	esi, 130
	je	.L29
	mov	ebx, esi
	mov	rsi, rsp
	call	stat@PLT
	test	rax, rax
	jne	.L5
	lea	esi, -128[rbx]
	cmp	esi, 16
	ja	.L24
	lea	rdx, .L7[rip]
	movsx	rax, DWORD PTR [rdx+rsi*4]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L7:
	.long	.L22-.L7
	.long	.L21-.L7
	.long	.L24-.L7
	.long	.L20-.L7
	.long	.L19-.L7
	.long	.L18-.L7
	.long	.L17-.L7
	.long	.L16-.L7
	.long	.L15-.L7
	.long	.L14-.L7
	.long	.L13-.L7
	.long	.L12-.L7
	.long	.L11-.L7
	.long	.L10-.L7
	.long	.L9-.L7
	.long	.L8-.L7
	.long	.L6-.L7
	.text
.L24:
	mov	eax, 1
.L1:
	mov	rcx, QWORD PTR 24[rsp]
	xor	rcx, QWORD PTR fs:40
	jne	.L30
	add	rsp, 40
	.cfi_remember_state
	.cfi_def_cfa_offset 24
	pop	rbx
	.cfi_def_cfa_offset 16
	pop	rbp
	.cfi_def_cfa_offset 8
	ret
	.p2align 4,,10
	.p2align 3
.L29:
	.cfi_restore_state
	mov	rsi, rsp
	call	lstat@PLT
	test	rax, rax
	je	.L3
.L5:
	xor	eax, eax
	jmp	.L1
.L8:
	mov	edi, DWORD PTR [rsp]
	call	S_ISCHR@PLT
	jmp	.L1
.L9:
	mov	edi, DWORD PTR [rsp]
	call	S_ISDIR@PLT
	jmp	.L1
.L10:
	mov	esi, DWORD PTR X_OK[rip]
	mov	rdi, rbp
	call	eaccess@PLT
	test	eax, eax
	jne	.L5
	mov	edi, DWORD PTR [rsp]
	call	S_ISDIR@PLT
	mov	r8d, eax
	mov	eax, 1
	test	r8d, r8d
	jne	.L1
	xor	eax, eax
	call	geteuid@PLT
	mov	r8d, eax
	mov	eax, DWORD PTR S_IXUSR[rip]
	or	eax, DWORD PTR S_IXGRP[rip]
	or	eax, DWORD PTR S_IXOTH[rip]
	and	eax, DWORD PTR [rsp]
	or	eax, r8d
	setne	al
	movzx	eax, al
	jmp	.L1
.L11:
	mov	esi, DWORD PTR F_OK[rip]
.L27:
	mov	rdi, rbp
	call	eaccess@PLT
	test	eax, eax
	sete	al
	movzx	eax, al
	jmp	.L1
.L12:
	mov	edi, DWORD PTR [rsp]
	call	S_ISFIFO@PLT
	jmp	.L1
.L13:
	mov	ebx, DWORD PTR 4[rsp]
	xor	eax, eax
	call	getegid@PLT
	cmp	ebx, eax
	sete	al
	movzx	eax, al
	jmp	.L1
.L14:
	mov	edx, DWORD PTR 12[rsp]
	xor	eax, eax
	test	edx, edx
	setg	al
	jmp	.L1
.L15:
	mov	esi, DWORD PTR R_OK[rip]
	jmp	.L27
.L16:
	mov	edi, DWORD PTR [rsp]
	call	S_ISREG@PLT
	jmp	.L1
.L17:
	mov	eax, DWORD PTR [rsp]
	test	DWORD PTR S_ISGID[rip], eax
	setne	al
	movzx	eax, al
	jmp	.L1
.L18:
	mov	edi, DWORD PTR [rsp]
	call	S_ISSOCK@PLT
	jmp	.L1
.L19:
	mov	eax, DWORD PTR [rsp]
	test	DWORD PTR S_ISVTX[rip], eax
	setne	al
	movzx	eax, al
	jmp	.L1
.L20:
	mov	eax, DWORD PTR [rsp]
	test	DWORD PTR S_ISUID[rip], eax
	setne	al
	movzx	eax, al
	jmp	.L1
.L6:
	mov	edi, DWORD PTR [rsp]
	call	S_ISBLK@PLT
	jmp	.L1
.L21:
	mov	ebx, DWORD PTR 8[rsp]
	xor	eax, eax
	call	geteuid@PLT
	cmp	ebx, eax
	sete	al
	movzx	eax, al
	jmp	.L1
.L22:
	mov	esi, DWORD PTR W_OK[rip]
	jmp	.L27
	.p2align 4,,10
	.p2align 3
.L3:
	mov	edi, DWORD PTR [rsp]
	call	S_ISLNK@PLT
	jmp	.L1
.L30:
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE0:
	.size	filstat, .-filstat
	.comm	X_OK,4,4
	.comm	W_OK,4,4
	.comm	S_IXUSR,4,4
	.comm	S_IXOTH,4,4
	.comm	S_IXGRP,4,4
	.comm	S_ISVTX,4,4
	.comm	S_ISUID,4,4
	.comm	S_ISGID,4,4
	.comm	R_OK,4,4
	.comm	F_OK,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_test.c_filstat.c"
	.text
	.section	.rodata.cst4,"aM",%progbits,4
	.align	2
.LC0:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	filstat, %function
filstat:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 0, uses_anonymous_args = 0
	push	{r4, r5, lr}
	ldr	r3, .L32
	sub	sp, sp, #28
	cmp	r1, #130
	ldr	r3, [r3]
	str	r3, [sp, #20]
	mov	r3,#0
	beq	.L30
	mov	r4, r1
	add	r1, sp, #4
	mov	r5, r0
	bl	stat
	cmp	r0, #0
	bne	.L5
	sub	r1, r4, #128
	cmp	r1, #16
	ldrls	pc, [pc, r1, asl #2]
	b	.L25
.L7:
	.word	.L22
	.word	.L21
	.word	.L25
	.word	.L20
	.word	.L19
	.word	.L18
	.word	.L17
	.word	.L16
	.word	.L15
	.word	.L14
	.word	.L13
	.word	.L12
	.word	.L11
	.word	.L10
	.word	.L9
	.word	.L8
	.word	.L6
.L25:
	mov	r0, #1
.L1:
	ldr	r3, .L32
	ldr	r2, [r3]
	ldr	r3, [sp, #20]
	eors	r2, r3, r2
	mov	r3, #0
	bne	.L31
	add	sp, sp, #28
	@ sp needed
	pop	{r4, r5, pc}
.L30:
	add	r1, sp, #4
	bl	lstat
	cmp	r0, #0
	beq	.L3
.L5:
	mov	r0, #0
	b	.L1
.L8:
	ldr	r0, [sp, #4]
	bl	S_ISCHR
	b	.L1
.L9:
	ldr	r0, [sp, #4]
	bl	S_ISDIR
	b	.L1
.L10:
	ldr	r3, .L32+4
	mov	r0, r5
	ldr	r1, [r3]
	bl	eaccess
	cmp	r0, #0
	bne	.L5
	ldr	r0, [sp, #4]
	bl	S_ISDIR
	cmp	r0, #0
	bne	.L25
	bl	geteuid
	ldr	r3, .L32+8
	ldr	r2, .L32+12
	ldr	r1, .L32+16
	ldr	r2, [r2]
	ldr	r3, [r3]
	ldr	r1, [r1]
	orr	r3, r3, r2
	ldr	r2, [sp, #4]
	orr	r3, r3, r1
	and	r3, r3, r2
	orrs	r3, r3, r0
	movne	r0, #1
	moveq	r0, #0
	b	.L1
.L11:
	ldr	r3, .L32+20
.L27:
	mov	r0, r5
	ldr	r1, [r3]
	bl	eaccess
	clz	r0, r0
	lsr	r0, r0, #5
	b	.L1
.L12:
	ldr	r0, [sp, #4]
	bl	S_ISFIFO
	b	.L1
.L13:
	ldr	r4, [sp, #8]
	bl	getegid
	sub	r0, r4, r0
	clz	r0, r0
	lsr	r0, r0, #5
	b	.L1
.L14:
	ldr	r0, [sp, #16]
	cmp	r0, #0
	movle	r0, #0
	movgt	r0, #1
	b	.L1
.L15:
	ldr	r3, .L32+24
	b	.L27
.L16:
	ldr	r0, [sp, #4]
	bl	S_ISREG
	b	.L1
.L17:
	ldr	r3, .L32+28
.L28:
	ldr	r2, [sp, #4]
	ldr	r3, [r3]
	tst	r2, r3
	movne	r0, #1
	moveq	r0, #0
	b	.L1
.L18:
	ldr	r0, [sp, #4]
	bl	S_ISSOCK
	b	.L1
.L19:
	ldr	r3, .L32+32
	b	.L28
.L20:
	ldr	r3, .L32+36
	b	.L28
.L6:
	ldr	r0, [sp, #4]
	bl	S_ISBLK
	b	.L1
.L21:
	ldr	r4, [sp, #12]
	bl	geteuid
	sub	r0, r4, r0
	clz	r0, r0
	lsr	r0, r0, #5
	b	.L1
.L22:
	ldr	r3, .L32+40
	b	.L27
.L3:
	ldr	r0, [sp, #4]
	bl	S_ISLNK
	b	.L1
.L31:
	bl	__stack_chk_fail
.L33:
	.align	2
.L32:
	.word	.LC0
	.word	X_OK
	.word	S_IXUSR
	.word	S_IXGRP
	.word	S_IXOTH
	.word	F_OK
	.word	R_OK
	.word	S_ISGID
	.word	S_ISVTX
	.word	S_ISUID
	.word	W_OK
	.size	filstat, .-filstat
	.comm	X_OK,4,4
	.comm	W_OK,4,4
	.comm	S_IXUSR,4,4
	.comm	S_IXOTH,4,4
	.comm	S_IXGRP,4,4
	.comm	S_ISVTX,4,4
	.comm	S_ISUID,4,4
	.comm	S_ISGID,4,4
	.comm	R_OK,4,4
	.comm	F_OK,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
