	.file	"extr_vfb.c_vfb_check_var.c"
	.intel_syntax noprefix
	.text
	.p2align 4
	.type	vfb_check_var, @function
vfb_check_var:
.LFB0:
	.cfi_startproc
	endbr64
	push	rbx
	.cfi_def_cfa_offset 16
	.cfi_offset 3, -16
	mov	rbx, rdi
	mov	eax, DWORD PTR [rdi]
	test	DWORD PTR FB_VMODE_CONUPDATE[rip], eax
	je	.L2
	or	eax, DWORD PTR FB_VMODE_YWRAP[rip]
	mov	DWORD PTR [rdi], eax
	mov	eax, DWORD PTR [rsi]
	mov	DWORD PTR 4[rdi], eax
	mov	eax, DWORD PTR 4[rsi]
	mov	DWORD PTR 8[rdi], eax
.L2:
	mov	eax, DWORD PTR 12[rbx]
	test	eax, eax
	jne	.L3
	mov	DWORD PTR 12[rbx], 1
	mov	eax, 1
.L3:
	mov	edx, DWORD PTR 16[rbx]
	test	edx, edx
	jne	.L4
	mov	DWORD PTR 16[rbx], 1
	mov	edx, 1
.L4:
	cmp	DWORD PTR 20[rbx], eax
	jge	.L5
	mov	DWORD PTR 20[rbx], eax
.L5:
	cmp	DWORD PTR 24[rbx], edx
	jge	.L6
	mov	DWORD PTR 24[rbx], edx
.L6:
	mov	ecx, DWORD PTR 28[rbx]
	cmp	ecx, 1
	jle	.L29
	cmp	ecx, 8
	jg	.L9
	mov	DWORD PTR 28[rbx], 8
	mov	esi, 8
.L8:
	mov	edi, DWORD PTR 20[rbx]
	add	eax, DWORD PTR 4[rbx]
	cmp	edi, eax
	jge	.L14
	mov	DWORD PTR 20[rbx], eax
	mov	edi, eax
.L14:
	add	edx, DWORD PTR 8[rbx]
	cmp	DWORD PTR 24[rbx], edx
	jge	.L15
	mov	DWORD PTR 24[rbx], edx
.L15:
	call	get_line_length@PLT
	imul	eax, DWORD PTR 24[rbx]
	cmp	eax, DWORD PTR videomemorysize[rip]
	jg	.L30
	cmp	DWORD PTR 28[rbx], 32
	ja	.L17
	mov	eax, DWORD PTR 28[rbx]
	lea	rdx, .L19[rip]
	movsx	rax, DWORD PTR [rdx+rax*4]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L19:
	.long	.L17-.L19
	.long	.L22-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L22-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L21-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L20-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L18-.L19
	.text
	.p2align 4,,10
	.p2align 3
.L9:
	cmp	ecx, 16
	jle	.L31
	cmp	ecx, 24
	jg	.L11
	mov	DWORD PTR 28[rbx], 24
	mov	esi, 24
	jmp	.L8
	.p2align 4,,10
	.p2align 3
.L21:
	mov	eax, DWORD PTR 36[rbx]
	mov	DWORD PTR 96[rbx], 0
	mov	DWORD PTR 80[rbx], 5
	test	eax, eax
	je	.L23
	movabs	rax, 21474836485
	mov	QWORD PTR 64[rbx], rax
	add	rax, 5
	mov	QWORD PTR 48[rbx], rax
	movabs	rax, 4294967311
	mov	QWORD PTR 32[rbx], rax
.L17:
	mov	QWORD PTR 88[rbx], 0
	xor	eax, eax
	mov	QWORD PTR 72[rbx], 0
	mov	QWORD PTR 56[rbx], 0
	mov	QWORD PTR 40[rbx], 0
	pop	rbx
	.cfi_remember_state
	.cfi_def_cfa_offset 8
	ret
	.p2align 4,,10
	.p2align 3
.L29:
	.cfi_restore_state
	mov	DWORD PTR 28[rbx], 1
	mov	esi, 1
	jmp	.L8
	.p2align 4,,10
	.p2align 3
.L30:
	mov	eax, DWORD PTR ENOMEM[rip]
	pop	rbx
	.cfi_remember_state
	.cfi_def_cfa_offset 8
	neg	eax
	ret
	.p2align 4,,10
	.p2align 3
.L31:
	.cfi_restore_state
	mov	DWORD PTR 28[rbx], 16
	mov	esi, 16
	jmp	.L8
	.p2align 4,,10
	.p2align 3
.L22:
	movabs	rax, 34359738368
	mov	DWORD PTR 96[rbx], 0
	mov	DWORD PTR 80[rbx], 8
	mov	QWORD PTR 64[rbx], rax
	mov	QWORD PTR 48[rbx], rax
	mov	QWORD PTR 32[rbx], 0
	jmp	.L17
	.p2align 4,,10
	.p2align 3
.L18:
	movabs	rax, 34359738376
	mov	DWORD PTR 96[rbx], 0
	mov	QWORD PTR 64[rbx], rax
	add	rax, 8
	mov	QWORD PTR 48[rbx], rax
	add	rax, 8
	mov	DWORD PTR 80[rbx], 8
	mov	QWORD PTR 32[rbx], rax
	jmp	.L17
	.p2align 4,,10
	.p2align 3
.L20:
	movabs	rax, 34359738376
	mov	DWORD PTR 96[rbx], 0
	mov	QWORD PTR 64[rbx], rax
	add	rax, 8
	mov	DWORD PTR 80[rbx], 8
	mov	QWORD PTR 48[rbx], rax
	mov	QWORD PTR 32[rbx], 0
	jmp	.L17
	.p2align 4,,10
	.p2align 3
.L11:
	cmp	ecx, 32
	jg	.L12
	mov	DWORD PTR 28[rbx], 32
	mov	esi, 32
	jmp	.L8
	.p2align 4,,10
	.p2align 3
.L23:
	movabs	rax, 25769803781
	mov	QWORD PTR 32[rbx], 0
	mov	QWORD PTR 64[rbx], rax
	movabs	rax, 21474836491
	mov	QWORD PTR 48[rbx], rax
	jmp	.L17
	.p2align 4,,10
	.p2align 3
.L12:
	mov	eax, DWORD PTR EINVAL[rip]
	pop	rbx
	.cfi_def_cfa_offset 8
	neg	eax
	ret
	.cfi_endproc
.LFE0:
	.size	vfb_check_var, .-vfb_check_var
	.comm	videomemorysize,4,4
	.comm	FB_VMODE_YWRAP,4,4
	.comm	FB_VMODE_CONUPDATE,4,4
	.comm	ENOMEM,4,4
	.comm	EINVAL,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_vfb.c_vfb_check_var.c"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	vfb_check_var, %function
vfb_check_var:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 0, uses_anonymous_args = 0
	ldr	r2, .L31
	ldr	r3, [r0]
	ldr	r2, [r2]
	push	{r4, lr}
	tst	r3, r2
	mov	r4, r0
	beq	.L2
	ldr	r2, .L31+4
	ldr	r0, [r1]
	ldr	r1, [r1, #4]
	ldr	r2, [r2]
	stmib	r4, {r0, r1}
	orr	r3, r2, r3
	str	r3, [r4]
.L2:
	ldr	r3, [r4, #12]
	cmp	r3, #0
	moveq	r2, #1
	moveq	r3, r2
	streq	r2, [r4, #12]
	ldr	r2, [r4, #16]
	cmp	r2, #0
	moveq	r1, #1
	moveq	r2, r1
	streq	r1, [r4, #16]
	ldr	r1, [r4, #20]
	cmp	r1, r3
	ldr	r1, [r4, #24]
	strlt	r3, [r4, #20]
	cmp	r1, r2
	ldr	r1, [r4, #28]
	strlt	r2, [r4, #24]
	cmp	r1, #1
	movle	r1, #1
	strle	r1, [r4, #28]
	ble	.L8
	cmp	r1, #8
	movle	r1, #8
	strle	r1, [r4, #28]
	bgt	.L29
.L8:
	ldr	ip, [r4, #4]
	ldr	r0, [r4, #20]
	add	r3, r3, ip
	cmp	r0, r3
	ldr	ip, [r4, #8]
	movlt	r0, r3
	strlt	r3, [r4, #20]
	ldr	r3, [r4, #24]
	add	r2, r2, ip
	cmp	r3, r2
	strlt	r2, [r4, #24]
	bl	get_line_length
	ldr	r2, [r4, #24]
	ldr	r3, .L31+8
	mul	r0, r2, r0
	ldr	r3, [r3]
	cmp	r0, r3
	bgt	.L30
	ldr	r3, [r4, #28]
	sub	r3, r3, #1
	cmp	r3, #31
	ldrls	pc, [pc, r3, asl #2]
	b	.L17
.L19:
	.word	.L22
	.word	.L17
	.word	.L17
	.word	.L17
	.word	.L17
	.word	.L17
	.word	.L17
	.word	.L22
	.word	.L17
	.word	.L17
	.word	.L17
	.word	.L17
	.word	.L17
	.word	.L17
	.word	.L17
	.word	.L21
	.word	.L17
	.word	.L17
	.word	.L17
	.word	.L17
	.word	.L17
	.word	.L17
	.word	.L17
	.word	.L20
	.word	.L17
	.word	.L17
	.word	.L17
	.word	.L17
	.word	.L17
	.word	.L17
	.word	.L17
	.word	.L18
.L21:
	ldr	r3, [r4, #36]
	cmp	r3, #0
	beq	.L23
	mov	r3, #5
	mov	ip, #0
	mov	r0, #10
	mov	r1, #15
	mov	r2, #1
	str	ip, [r4, #76]
	str	r3, [r4, #68]
	str	r3, [r4, #56]
	str	r3, [r4, #60]
	str	r3, [r4, #48]
	str	r0, [r4, #44]
	str	r1, [r4, #32]
	str	r2, [r4, #36]
.L17:
	mov	r3, #0
	mov	r0, r3
	str	r3, [r4, #72]
	str	r3, [r4, #64]
	str	r3, [r4, #52]
	str	r3, [r4, #40]
	pop	{r4, pc}
.L29:
	cmp	r1, #16
	movle	r1, #16
	strle	r1, [r4, #28]
	ble	.L8
	cmp	r1, #24
	movle	r1, #24
	strle	r1, [r4, #28]
	ble	.L8
	cmp	r1, #32
	bgt	.L12
	mov	r1, #32
	str	r1, [r4, #28]
	b	.L8
.L30:
	ldr	r3, .L31+12
	ldr	r0, [r3]
	rsb	r0, r0, #0
	pop	{r4, pc}
.L22:
	mov	r3, #0
	mov	r2, #8
	str	r3, [r4, #76]
	str	r3, [r4, #56]
	str	r3, [r4, #44]
	str	r3, [r4, #32]
	str	r3, [r4, #36]
	str	r2, [r4, #68]
	str	r2, [r4, #60]
	str	r2, [r4, #48]
	b	.L17
.L18:
	mov	r3, #8
	mov	r0, #0
	mov	r1, #16
	mov	r2, #24
	str	r0, [r4, #76]
	str	r3, [r4, #68]
	str	r3, [r4, #56]
	str	r3, [r4, #60]
	str	r3, [r4, #48]
	str	r3, [r4, #36]
	str	r1, [r4, #44]
	str	r2, [r4, #32]
	b	.L17
.L20:
	mov	r3, #8
	mov	r2, #0
	mov	r1, #16
	str	r2, [r4, #76]
	str	r2, [r4, #32]
	str	r2, [r4, #36]
	str	r3, [r4, #68]
	str	r3, [r4, #56]
	str	r3, [r4, #60]
	str	r3, [r4, #48]
	str	r1, [r4, #44]
	b	.L17
.L23:
	mov	r2, #5
	mov	r0, #6
	mov	r1, #11
	str	r3, [r4, #76]
	str	r3, [r4, #32]
	str	r2, [r4, #68]
	str	r2, [r4, #56]
	str	r2, [r4, #48]
	str	r0, [r4, #60]
	str	r1, [r4, #44]
	b	.L17
.L12:
	ldr	r3, .L31+16
	ldr	r0, [r3]
	rsb	r0, r0, #0
	pop	{r4, pc}
.L32:
	.align	2
.L31:
	.word	FB_VMODE_CONUPDATE
	.word	FB_VMODE_YWRAP
	.word	videomemorysize
	.word	ENOMEM
	.word	EINVAL
	.size	vfb_check_var, .-vfb_check_var
	.comm	videomemorysize,4,4
	.comm	FB_VMODE_YWRAP,4,4
	.comm	FB_VMODE_CONUPDATE,4,4
	.comm	ENOMEM,4,4
	.comm	EINVAL,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
