	.file	"extr_gets.c_ngets.c"
	.intel_syntax noprefix
	.text
	.p2align 4
	.globl	ngets
	.type	ngets, @function
ngets:
.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
	lea	r14d, -1[rsi]
	push	r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	movsx	r14, r14d
	mov	r13d, esi
	push	r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	mov	r12, rdi
	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
	lea	rbx, .L7[rip]
	sub	rsp, 8
	.cfi_def_cfa_offset 64
.L2:
	xor	eax, eax
	call	getchar@PLT
	mov	edi, eax
	cmp	eax, -1
	je	.L1
.L23:
	mov	edx, eax
	and	edx, 127
	cmp	edx, 23
	jg	.L4
	test	al, 120
	je	.L5
	sub	edx, 8
	cmp	edx, 15
	ja	.L5
	movsx	rdx, DWORD PTR [rbx+rdx*4]
	add	rdx, rbx
	notrack jmp	rdx
	.section	.rodata
	.align 4
	.align 4
.L7:
	.long	.L10-.L7
	.long	.L5-.L7
	.long	.L9-.L7
	.long	.L5-.L7
	.long	.L5-.L7
	.long	.L9-.L7
	.long	.L5-.L7
	.long	.L5-.L7
	.long	.L5-.L7
	.long	.L5-.L7
	.long	.L8-.L7
	.long	.L5-.L7
	.long	.L5-.L7
	.long	.L6-.L7
	.long	.L5-.L7
	.long	.L6-.L7
	.text
.L6:
	mov	edi, 10
	mov	rbp, r12
	call	putchar@PLT
	xor	eax, eax
	call	getchar@PLT
	mov	edi, eax
	cmp	eax, -1
	jne	.L23
.L1:
	add	rsp, 8
	.cfi_remember_state
	.cfi_def_cfa_offset 56
	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
.L8:
	.cfi_restore_state
	mov	edi, 10
	call	putchar@PLT
	cmp	rbp, r12
	jbe	.L2
	mov	r15, r12
	.p2align 4,,10
	.p2align 3
.L12:
	movsx	edi, BYTE PTR [r15]
	add	r15, 1
	call	putchar@PLT
	cmp	rbp, r15
	jne	.L12
	jmp	.L2
.L9:
	mov	BYTE PTR 0[rbp], 0
	add	rsp, 8
	.cfi_remember_state
	.cfi_def_cfa_offset 56
	mov	edi, 10
	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
	jmp	putchar@PLT
	.p2align 4,,10
	.p2align 3
.L4:
	.cfi_restore_state
	cmp	edx, 127
	jne	.L5
.L10:
	cmp	rbp, r12
	jbe	.L2
	mov	edi, 8
	sub	rbp, 1
	call	putchar@PLT
	mov	edi, 32
	call	putchar@PLT
	mov	edi, 8
	call	putchar@PLT
	jmp	.L2
.L5:
	test	r13d, r13d
	jle	.L13
	mov	rax, rbp
	sub	rax, r12
	cmp	rax, r14
	jge	.L2
.L13:
	mov	BYTE PTR 0[rbp], dil
	lea	r15, 1[rbp]
	mov	rbp, r15
	call	putchar@PLT
	jmp	.L2
	.cfi_endproc
.LFE0:
	.size	ngets, .-ngets
	.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_gets.c_ngets.c"
	.text
	.align	2
	.global	ngets
	.syntax unified
	.arm
	.fpu softvfp
	.type	ngets, %function
ngets:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 0, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, lr}
	mov	r5, r0
	mov	r6, r1
	mov	r4, r0
	sub	r7, r1, #1
.L2:
	bl	getchar
	cmn	r0, #1
	popeq	{r4, r5, r6, r7, r8, pc}
	and	r3, r0, #127
	cmp	r3, #23
	bgt	.L4
	tst	r0, #120
	beq	.L5
	sub	r3, r3, #8
	cmp	r3, #15
	ldrls	pc, [pc, r3, asl #2]
	b	.L5
.L7:
	.word	.L10
	.word	.L5
	.word	.L9
	.word	.L5
	.word	.L5
	.word	.L9
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L8
	.word	.L5
	.word	.L5
	.word	.L6
	.word	.L5
	.word	.L6
.L6:
	mov	r0, #10
	bl	putchar
	mov	r4, r5
	b	.L2
.L8:
	mov	r0, #10
	bl	putchar
	cmp	r4, r5
	bls	.L2
	mov	r8, r5
.L12:
	ldrb	r0, [r8], #1	@ zero_extendqisi2
	bl	putchar
	cmp	r4, r8
	bne	.L12
	b	.L2
.L9:
	mov	r3, #0
	strb	r3, [r4]
	mov	r0, #10
	pop	{r4, r5, r6, r7, r8, lr}
	b	putchar
.L4:
	cmp	r3, #127
	bne	.L5
.L10:
	cmp	r4, r5
	bls	.L2
	mov	r0, #8
	bl	putchar
	mov	r0, #32
	bl	putchar
	mov	r0, #8
	sub	r4, r4, #1
	bl	putchar
	b	.L2
.L5:
	cmp	r6, #0
	ble	.L13
	sub	r3, r4, r5
	cmp	r3, r7
	bge	.L2
.L13:
	strb	r0, [r4], #1
	bl	putchar
	b	.L2
	.size	ngets, .-ngets
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
