	.file	"extr_kilo.c_enableRawMode.c"
	.intel_syntax noprefix
	.text
	.p2align 4
	.globl	enableRawMode
	.type	enableRawMode, @function
enableRawMode:
.LFB0:
	.cfi_startproc
	endbr64
	push	r12
	.cfi_def_cfa_offset 16
	.cfi_offset 12, -16
	push	rbp
	.cfi_def_cfa_offset 24
	.cfi_offset 6, -24
	sub	rsp, 40
	.cfi_def_cfa_offset 64
	mov	r12d, DWORD PTR E[rip]
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR 24[rsp], rax
	xor	eax, eax
	test	r12d, r12d
	je	.L14
	xor	r12d, r12d
.L1:
	mov	rax, QWORD PTR 24[rsp]
	xor	rax, QWORD PTR fs:40
	jne	.L15
	add	rsp, 40
	.cfi_remember_state
	.cfi_def_cfa_offset 24
	mov	eax, r12d
	pop	rbp
	.cfi_def_cfa_offset 16
	pop	r12
	.cfi_def_cfa_offset 8
	ret
	.p2align 4,,10
	.p2align 3
.L14:
	.cfi_restore_state
	mov	ebp, edi
	mov	edi, DWORD PTR STDIN_FILENO[rip]
	call	isatty@PLT
	test	eax, eax
	je	.L3
	mov	edi, DWORD PTR editorAtExit[rip]
	call	atexit@PLT
	lea	rsi, orig_termios[rip]
	mov	edi, ebp
	call	tcgetattr@PLT
	cmp	eax, -1
	je	.L3
	mov	rax, QWORD PTR orig_termios[rip+16]
	movdqu	xmm0, XMMWORD PTR orig_termios[rip]
	mov	edi, ebp
	mov	rdx, QWORD PTR VMIN[rip]
	mov	QWORD PTR 16[rsp], rax
	mov	eax, DWORD PTR BRKINT[rip]
	or	eax, DWORD PTR ICRNL[rip]
	or	eax, DWORD PTR INPCK[rip]
	movaps	XMMWORD PTR [rsp], xmm0
	or	eax, DWORD PTR ISTRIP[rip]
	or	eax, DWORD PTR IXON[rip]
	not	eax
	and	DWORD PTR [rsp], eax
	mov	eax, DWORD PTR OPOST[rip]
	not	eax
	and	DWORD PTR 20[rsp], eax
	mov	eax, DWORD PTR CS8[rip]
	or	DWORD PTR 16[rsp], eax
	mov	eax, DWORD PTR ECHO[rip]
	or	eax, DWORD PTR ICANON[rip]
	or	eax, DWORD PTR IEXTEN[rip]
	or	eax, DWORD PTR ISIG[rip]
	not	eax
	and	DWORD PTR 4[rsp], eax
	mov	rax, QWORD PTR 8[rsp]
	mov	DWORD PTR [rax+rdx*4], 0
	mov	rdx, QWORD PTR VTIME[rip]
	mov	DWORD PTR [rax+rdx*4], 1
	mov	esi, DWORD PTR TCSAFLUSH[rip]
	mov	rdx, rsp
	call	tcsetattr@PLT
	test	rax, rax
	js	.L3
	mov	DWORD PTR E[rip], 1
	jmp	.L1
	.p2align 4,,10
	.p2align 3
.L3:
	mov	eax, DWORD PTR ENOTTY[rip]
	mov	r12d, -1
	mov	DWORD PTR errno[rip], eax
	jmp	.L1
.L15:
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE0:
	.size	enableRawMode, .-enableRawMode
	.comm	orig_termios,24,16
	.comm	errno,4,4
	.comm	editorAtExit,4,4
	.comm	VTIME,8,8
	.comm	VMIN,8,8
	.comm	TCSAFLUSH,4,4
	.comm	STDIN_FILENO,4,4
	.comm	OPOST,4,4
	.comm	IXON,4,4
	.comm	ISTRIP,4,4
	.comm	ISIG,4,4
	.comm	INPCK,4,4
	.comm	IEXTEN,4,4
	.comm	ICRNL,4,4
	.comm	ICANON,4,4
	.comm	ENOTTY,4,4
	.comm	ECHO,4,4
	.comm	E,4,4
	.comm	CS8,4,4
	.comm	BRKINT,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_kilo.c_enableRawMode.c"
	.text
	.section	.rodata.cst4,"aM",%progbits,4
	.align	2
.LC0:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	enableRawMode
	.syntax unified
	.arm
	.fpu softvfp
	.type	enableRawMode, %function
enableRawMode:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 0, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, r10, fp, lr}
	ldr	r7, .L16
	ldr	r3, .L16+4
	ldr	r4, [r7]
	sub	sp, sp, #28
	cmp	r4, #0
	ldr	r3, [r3]
	str	r3, [sp, #20]
	mov	r3,#0
	movne	r4, #0
	beq	.L14
.L1:
	ldr	r3, .L16+4
	ldr	r2, [r3]
	ldr	r3, [sp, #20]
	eors	r2, r3, r2
	mov	r3, #0
	bne	.L15
	mov	r0, r4
	add	sp, sp, #28
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, r10, fp, pc}
.L14:
	ldr	r3, .L16+8
	mov	r6, r0
	ldr	r0, [r3]
	bl	isatty
	cmp	r0, #0
	beq	.L3
	ldr	r3, .L16+12
	ldr	r0, [r3]
	bl	atexit
	mov	r0, r6
	ldr	r1, .L16+16
	bl	tcgetattr
	cmn	r0, #1
	beq	.L3
	mov	r5, sp
	mov	r8, #1
	ldr	r1, .L16+20
	ldr	r3, .L16+24
	ldr	ip, [r1]
	ldr	r3, [r3]
	ldr	r2, .L16+28
	orr	ip, ip, r3
	ldr	r9, .L16+32
	ldr	r3, .L16+36
	ldr	r1, [r2]
	ldr	r3, [r3]
	ldr	r9, [r9]
	ldr	r0, .L16+40
	ldr	r2, .L16+44
	ldr	lr, .L16+16
	ldr	fp, [r0]
	ldr	r10, [r2]
	orr	r9, r9, r3
	orr	ip, ip, r1
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	r5!, {r0, r1, r2, r3}
	ldr	r3, .L16+48
	ldr	r2, .L16+52
	ldr	r3, [r3]
	ldr	r1, .L16+56
	ldr	r0, [r2]
	ldr	r1, [r1]
	ldr	r2, [lr]
	orr	r3, r9, r3
	ldr	lr, .L16+60
	ldr	r9, [sp]
	orr	ip, ip, fp
	orr	ip, ip, r10
	ldr	r5, [lr]
	bic	ip, r9, ip
	orr	r3, r3, r0
	bic	r9, r2, r1
	ldr	lr, .L16+64
	ldr	r1, [sp, #4]
	ldr	r0, .L16+68
	ldr	r2, [sp, #12]
	ldr	lr, [lr]
	ldr	r0, [r0]
	bic	r3, r1, r3
	ldr	r1, [sp, #8]
	str	ip, [sp]
	orr	r2, r2, r5
	ldr	ip, .L16+72
	str	r3, [sp, #4]
	str	r2, [sp, #12]
	str	r9, [sp, #16]
	str	r4, [r1, lr, lsl #2]
	str	r8, [r1, r0, lsl #2]
	mov	r2, sp
	mov	r0, r6
	ldr	r1, [ip]
	bl	tcsetattr
	cmp	r0, #0
	strge	r8, [r7]
	bge	.L1
.L3:
	ldr	r2, .L16+76
	ldr	r3, .L16+80
	ldr	r2, [r2]
	mvn	r4, #0
	str	r2, [r3]
	b	.L1
.L15:
	bl	__stack_chk_fail
.L17:
	.align	2
.L16:
	.word	E
	.word	.LC0
	.word	STDIN_FILENO
	.word	editorAtExit
	.word	orig_termios
	.word	BRKINT
	.word	ICRNL
	.word	INPCK
	.word	ECHO
	.word	ICANON
	.word	ISTRIP
	.word	IXON
	.word	IEXTEN
	.word	ISIG
	.word	OPOST
	.word	CS8
	.word	VMIN
	.word	VTIME
	.word	TCSAFLUSH
	.word	ENOTTY
	.word	errno
	.size	enableRawMode, .-enableRawMode
	.comm	orig_termios,20,4
	.comm	errno,4,4
	.comm	editorAtExit,4,4
	.comm	VTIME,4,4
	.comm	VMIN,4,4
	.comm	TCSAFLUSH,4,4
	.comm	STDIN_FILENO,4,4
	.comm	OPOST,4,4
	.comm	IXON,4,4
	.comm	ISTRIP,4,4
	.comm	ISIG,4,4
	.comm	INPCK,4,4
	.comm	IEXTEN,4,4
	.comm	ICRNL,4,4
	.comm	ICANON,4,4
	.comm	ENOTTY,4,4
	.comm	ECHO,4,4
	.comm	E,4,4
	.comm	CS8,4,4
	.comm	BRKINT,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
