	.file	"572048.c"
	.intel_syntax noprefix
	.text
	.section	.rodata
	.align 32
	.type	copyright, @object
	.size	copyright, 99
copyright:
	.string	"@(#) Copyright (c) 1980, 1993\n\tThe Regents of the University of California.  All rights reserved.\n"
	.align 32
	.type	rcsid, @object
	.size	rcsid, 80
rcsid:
	.string	"$FreeBSD: soc2013/dpl/head/usr.bin/ul/ul.c 246291 2013-01-06 03:08:27Z andrew $"
	.local	must_use_uc
	.comm	must_use_uc,4,4
	.local	must_overstrike
	.comm	must_overstrike,4,4
	.local	CURS_UP
	.comm	CURS_UP,8,8
	.local	CURS_RIGHT
	.comm	CURS_RIGHT,8,8
	.local	CURS_LEFT
	.comm	CURS_LEFT,8,8
	.local	ENTER_STANDOUT
	.comm	ENTER_STANDOUT,8,8
	.local	EXIT_STANDOUT
	.comm	EXIT_STANDOUT,8,8
	.local	ENTER_UNDERLINE
	.comm	ENTER_UNDERLINE,8,8
	.local	EXIT_UNDERLINE
	.comm	EXIT_UNDERLINE,8,8
	.local	ENTER_DIM
	.comm	ENTER_DIM,8,8
	.local	ENTER_BOLD
	.comm	ENTER_BOLD,8,8
	.local	ENTER_REVERSE
	.comm	ENTER_REVERSE,8,8
	.local	UNDER_CHAR
	.comm	UNDER_CHAR,8,8
	.local	EXIT_ATTRIBUTES
	.comm	EXIT_ATTRIBUTES,8,8
	.local	obuf
	.comm	obuf,6144,32
	.local	col
	.comm	col,4,4
	.local	maxcol
	.comm	maxcol,4,4
	.local	mode
	.comm	mode,4,4
	.local	halfpos
	.comm	halfpos,4,4
	.local	upln
	.comm	upln,4,4
	.local	iflag
	.comm	iflag,4,4
.LC0:
	.string	""
.LC1:
	.string	"TERM"
.LC2:
	.string	"lpr"
.LC3:
	.string	"it:T:"
.LC4:
	.string	"trouble reading termcap"
.LC5:
	.string	"os"
.LC6:
	.string	"ul"
.LC7:
	.string	"r"
.LC8:
	.string	"%s"
	.text
	.globl	main
	.type	main, @function
main:
.LFB6:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 1088
	mov	DWORD PTR -1076[rbp], edi
	mov	QWORD PTR -1088[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rsi, .LC0[rip]
	mov	edi, 6
	call	setlocale@PLT
	lea	rdi, .LC1[rip]
	call	getenv@PLT
	mov	QWORD PTR -1056[rbp], rax
	cmp	QWORD PTR -1056[rbp], 0
	je	.L2
	mov	rax, QWORD PTR -1088[rbp]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 99
	jne	.L4
	mov	edi, 1
	call	isatty@PLT
	test	eax, eax
	jne	.L4
.L2:
	lea	rax, .LC2[rip]
	mov	QWORD PTR -1056[rbp], rax
	jmp	.L4
.L8:
	cmp	DWORD PTR -1060[rbp], 116
	je	.L5
	cmp	DWORD PTR -1060[rbp], 116
	jg	.L6
	cmp	DWORD PTR -1060[rbp], 84
	je	.L5
	cmp	DWORD PTR -1060[rbp], 105
	je	.L7
	jmp	.L6
.L5:
	mov	rax, QWORD PTR optarg[rip]
	mov	QWORD PTR -1056[rbp], rax
	jmp	.L4
.L7:
	mov	DWORD PTR iflag[rip], 1
	jmp	.L4
.L6:
	call	usage
.L4:
	mov	rcx, QWORD PTR -1088[rbp]
	mov	eax, DWORD PTR -1076[rbp]
	lea	rdx, .LC3[rip]
	mov	rsi, rcx
	mov	edi, eax
	call	getopt@PLT
	mov	DWORD PTR -1060[rbp], eax
	cmp	DWORD PTR -1060[rbp], -1
	jne	.L8
	mov	rdx, QWORD PTR -1056[rbp]
	lea	rax, -1040[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	tgetent@PLT
	test	eax, eax
	je	.L9
	cmp	eax, 1
	je	.L21
	lea	rdi, .LC4[rip]
	mov	eax, 0
	call	warnx@PLT
.L9:
	lea	rax, -1040[rbp]
	movabs	rsi, 4211832373071672676
	movabs	rdi, 7150080376074694499
	mov	QWORD PTR [rax], rsi
	mov	QWORD PTR 8[rax], rdi
	movabs	rcx, 4424350378181410162
	mov	QWORD PTR 16[rax], rcx
	mov	DWORD PTR 24[rax], 1631210078
	mov	WORD PTR 28[rax], 14957
	mov	BYTE PTR 30[rax], 0
	jmp	.L11
.L21:
	nop
.L11:
	call	initcap
	lea	rdi, .LC5[rip]
	call	tgetflag@PLT
	test	eax, eax
	je	.L12
	mov	rax, QWORD PTR ENTER_BOLD[rip]
	test	rax, rax
	je	.L13
.L12:
	lea	rdi, .LC6[rip]
	call	tgetflag@PLT
	test	eax, eax
	je	.L14
	mov	rax, QWORD PTR ENTER_UNDERLINE[rip]
	test	rax, rax
	jne	.L14
	mov	rax, QWORD PTR UNDER_CHAR[rip]
	test	rax, rax
	jne	.L14
.L13:
	mov	DWORD PTR must_overstrike[rip], 1
.L14:
	call	initbuf
	mov	eax, DWORD PTR optind[rip]
	cmp	DWORD PTR -1076[rbp], eax
	jne	.L17
	mov	rax, QWORD PTR stdin[rip]
	mov	rdi, rax
	call	filter
	jmp	.L16
.L19:
	mov	eax, DWORD PTR optind[rip]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -1088[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	lea	rsi, .LC7[rip]
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR -1048[rbp], rax
	cmp	QWORD PTR -1048[rbp], 0
	jne	.L18
	mov	eax, DWORD PTR optind[rip]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -1088[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, rax
	lea	rsi, .LC8[rip]
	mov	edi, 1
	mov	eax, 0
	call	err@PLT
.L18:
	mov	rax, QWORD PTR -1048[rbp]
	mov	rdi, rax
	call	filter
	mov	eax, DWORD PTR optind[rip]
	add	eax, 1
	mov	DWORD PTR optind[rip], eax
.L17:
	mov	eax, DWORD PTR optind[rip]
	cmp	DWORD PTR -1076[rbp], eax
	jg	.L19
.L16:
	mov	edi, 0
	call	exit@PLT
	.cfi_endproc
.LFE6:
	.size	main, .-main
	.section	.rodata
	.align 8
.LC9:
	.string	"usage: ul [-i] [-t terminal] [file ...]\n"
	.text
	.type	usage, @function
usage:
.LFB7:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 40
	mov	esi, 1
	lea	rdi, .LC9[rip]
	call	fwrite@PLT
	mov	edi, 1
	call	exit@PLT
	.cfi_endproc
.LFE7:
	.size	usage, .-usage
	.section	.rodata
	.align 8
.LC10:
	.string	"unknown escape sequence in input: %o, %o"
	.text
	.type	filter, @function
filter:
.LFB8:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	jmp	.L24
.L77:
	cmp	DWORD PTR -4[rbp], 32
	ja	.L25
	cmp	DWORD PTR -4[rbp], 8
	jb	.L26
	mov	eax, DWORD PTR -4[rbp]
	sub	eax, 8
	cmp	eax, 24
	ja	.L26
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L28[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L28[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L28:
	.long	.L36-.L28
	.long	.L35-.L28
	.long	.L34-.L28
	.long	.L26-.L28
	.long	.L33-.L28
	.long	.L32-.L28
	.long	.L31-.L28
	.long	.L30-.L28
	.long	.L26-.L28
	.long	.L26-.L28
	.long	.L26-.L28
	.long	.L26-.L28
	.long	.L26-.L28
	.long	.L26-.L28
	.long	.L26-.L28
	.long	.L26-.L28
	.long	.L26-.L28
	.long	.L26-.L28
	.long	.L26-.L28
	.long	.L29-.L28
	.long	.L26-.L28
	.long	.L26-.L28
	.long	.L26-.L28
	.long	.L26-.L28
	.long	.L27-.L28
	.text
.L25:
	cmp	DWORD PTR -4[rbp], 95
	je	.L37
	jmp	.L26
.L36:
	mov	eax, DWORD PTR col[rip]
	test	eax, eax
	jle	.L24
	mov	eax, DWORD PTR col[rip]
	sub	eax, 1
	mov	DWORD PTR col[rip], eax
	jmp	.L24
.L35:
	mov	eax, DWORD PTR col[rip]
	add	eax, 8
	and	eax, -8
	mov	DWORD PTR col[rip], eax
	mov	edx, DWORD PTR col[rip]
	mov	eax, DWORD PTR maxcol[rip]
	cmp	edx, eax
	jle	.L24
	mov	eax, DWORD PTR col[rip]
	mov	DWORD PTR maxcol[rip], eax
	jmp	.L24
.L32:
	mov	DWORD PTR col[rip], 0
	jmp	.L24
.L31:
	mov	eax, DWORD PTR mode[rip]
	or	eax, 1
	mov	DWORD PTR mode[rip], eax
	jmp	.L24
.L30:
	mov	eax, DWORD PTR mode[rip]
	and	eax, -2
	mov	DWORD PTR mode[rip], eax
	jmp	.L24
.L29:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	getwc@PLT
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 57
	je	.L40
	cmp	DWORD PTR -4[rbp], 57
	ja	.L41
	cmp	DWORD PTR -4[rbp], 55
	je	.L42
	cmp	DWORD PTR -4[rbp], 56
	jne	.L41
	mov	eax, DWORD PTR halfpos[rip]
	test	eax, eax
	jne	.L43
	mov	eax, DWORD PTR mode[rip]
	or	eax, 2
	mov	DWORD PTR mode[rip], eax
	mov	eax, DWORD PTR halfpos[rip]
	sub	eax, 1
	mov	DWORD PTR halfpos[rip], eax
	jmp	.L24
.L43:
	mov	eax, DWORD PTR halfpos[rip]
	test	eax, eax
	jle	.L45
	mov	eax, DWORD PTR mode[rip]
	and	eax, -5
	mov	DWORD PTR mode[rip], eax
	mov	eax, DWORD PTR halfpos[rip]
	sub	eax, 1
	mov	DWORD PTR halfpos[rip], eax
	jmp	.L24
.L45:
	mov	DWORD PTR halfpos[rip], 0
	call	reverse
	jmp	.L24
.L40:
	mov	eax, DWORD PTR halfpos[rip]
	test	eax, eax
	jne	.L46
	mov	eax, DWORD PTR mode[rip]
	or	eax, 4
	mov	DWORD PTR mode[rip], eax
	mov	eax, DWORD PTR halfpos[rip]
	add	eax, 1
	mov	DWORD PTR halfpos[rip], eax
	jmp	.L24
.L46:
	mov	eax, DWORD PTR halfpos[rip]
	test	eax, eax
	jns	.L48
	mov	eax, DWORD PTR mode[rip]
	and	eax, -3
	mov	DWORD PTR mode[rip], eax
	mov	eax, DWORD PTR halfpos[rip]
	add	eax, 1
	mov	DWORD PTR halfpos[rip], eax
	jmp	.L24
.L48:
	mov	DWORD PTR halfpos[rip], 0
	call	fwd
	jmp	.L24
.L42:
	call	reverse
	jmp	.L24
.L41:
	mov	eax, DWORD PTR -4[rbp]
	mov	ecx, eax
	mov	edx, 27
	lea	rsi, .LC10[rip]
	mov	edi, 1
	mov	eax, 0
	call	errx@PLT
.L37:
	mov	eax, DWORD PTR col[rip]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, obuf[rip+4]
	mov	eax, DWORD PTR [rdx+rax]
	test	eax, eax
	jne	.L51
	mov	eax, DWORD PTR col[rip]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, obuf[rip+8]
	mov	eax, DWORD PTR [rdx+rax]
	test	eax, eax
	jns	.L50
	jmp	.L51
.L53:
	mov	eax, DWORD PTR col[rip]
	sub	eax, 1
	mov	DWORD PTR col[rip], eax
.L51:
	mov	eax, DWORD PTR col[rip]
	test	eax, eax
	jle	.L52
	mov	eax, DWORD PTR col[rip]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, obuf[rip+8]
	mov	eax, DWORD PTR [rdx+rax]
	test	eax, eax
	js	.L53
.L52:
	mov	eax, DWORD PTR col[rip]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, obuf[rip+8]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -8[rbp], eax
	mov	DWORD PTR -12[rbp], 0
	jmp	.L54
.L55:
	mov	edx, DWORD PTR col[rip]
	lea	eax, 1[rdx]
	mov	DWORD PTR col[rip], eax
	movsx	rcx, edx
	mov	rax, rcx
	add	rax, rax
	add	rax, rcx
	sal	rax, 2
	mov	rcx, rax
	lea	rax, obuf[rip]
	movzx	eax, BYTE PTR [rcx+rax]
	mov	ecx, DWORD PTR mode[rip]
	or	ecx, 8
	or	ecx, eax
	movsx	rdx, edx
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, obuf[rip]
	mov	BYTE PTR [rdx+rax], cl
	add	DWORD PTR -12[rbp], 1
.L54:
	mov	eax, DWORD PTR -12[rbp]
	cmp	eax, DWORD PTR -8[rbp]
	jl	.L55
	mov	edx, DWORD PTR col[rip]
	mov	eax, DWORD PTR maxcol[rip]
	cmp	edx, eax
	jle	.L24
	mov	eax, DWORD PTR col[rip]
	mov	DWORD PTR maxcol[rip], eax
	jmp	.L24
.L50:
	mov	eax, DWORD PTR col[rip]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, obuf[rip+4]
	mov	DWORD PTR [rdx+rax], 95
	mov	eax, DWORD PTR col[rip]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, obuf[rip+8]
	mov	DWORD PTR [rdx+rax], 1
.L27:
	mov	eax, DWORD PTR col[rip]
	add	eax, 1
	mov	DWORD PTR col[rip], eax
	mov	edx, DWORD PTR col[rip]
	mov	eax, DWORD PTR maxcol[rip]
	cmp	edx, eax
	jle	.L24
	mov	eax, DWORD PTR col[rip]
	mov	DWORD PTR maxcol[rip], eax
	jmp	.L24
.L34:
	call	flushln
	jmp	.L24
.L33:
	call	flushln
	mov	edi, 12
	call	putwchar@PLT
	jmp	.L24
.L26:
	mov	eax, DWORD PTR -4[rbp]
	mov	edi, eax
	mov	eax, 0
	call	wcwidth@PLT
	mov	DWORD PTR -8[rbp], eax
	cmp	DWORD PTR -8[rbp], 0
	jg	.L58
	jmp	.L24
.L58:
	mov	eax, DWORD PTR col[rip]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, obuf[rip+4]
	mov	eax, DWORD PTR [rdx+rax]
	test	eax, eax
	jne	.L59
	mov	eax, DWORD PTR col[rip]
	mov	edx, DWORD PTR -4[rbp]
	movsx	rcx, eax
	mov	rax, rcx
	add	rax, rax
	add	rax, rcx
	sal	rax, 2
	mov	rcx, rax
	lea	rax, obuf[rip+4]
	mov	DWORD PTR [rcx+rax], edx
	mov	DWORD PTR -12[rbp], 0
	jmp	.L60
.L61:
	mov	edx, DWORD PTR mode[rip]
	mov	ecx, DWORD PTR col[rip]
	mov	eax, DWORD PTR -12[rbp]
	add	eax, ecx
	mov	ecx, edx
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, obuf[rip]
	mov	BYTE PTR [rdx+rax], cl
	add	DWORD PTR -12[rbp], 1
.L60:
	mov	eax, DWORD PTR -12[rbp]
	cmp	eax, DWORD PTR -8[rbp]
	jl	.L61
	mov	eax, DWORD PTR col[rip]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rcx, rax
	lea	rdx, obuf[rip+8]
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR [rcx+rdx], eax
	mov	DWORD PTR -12[rbp], 1
	jmp	.L62
.L63:
	mov	edx, DWORD PTR col[rip]
	mov	eax, DWORD PTR -12[rbp]
	add	eax, edx
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, obuf[rip+8]
	mov	DWORD PTR [rdx+rax], -1
	add	DWORD PTR -12[rbp], 1
.L62:
	mov	eax, DWORD PTR -12[rbp]
	cmp	eax, DWORD PTR -8[rbp]
	jl	.L63
	jmp	.L64
.L59:
	mov	eax, DWORD PTR col[rip]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, obuf[rip+4]
	mov	eax, DWORD PTR [rdx+rax]
	cmp	eax, 95
	jne	.L65
	mov	eax, DWORD PTR col[rip]
	mov	edx, DWORD PTR -4[rbp]
	movsx	rcx, eax
	mov	rax, rcx
	add	rax, rax
	add	rax, rcx
	sal	rax, 2
	mov	rcx, rax
	lea	rax, obuf[rip+4]
	mov	DWORD PTR [rcx+rax], edx
	mov	DWORD PTR -12[rbp], 0
	jmp	.L66
.L67:
	mov	edx, DWORD PTR col[rip]
	mov	eax, DWORD PTR -12[rbp]
	add	eax, edx
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, obuf[rip]
	movzx	edx, BYTE PTR [rdx+rax]
	mov	eax, DWORD PTR mode[rip]
	or	eax, 8
	mov	esi, eax
	mov	ecx, DWORD PTR col[rip]
	mov	eax, DWORD PTR -12[rbp]
	add	eax, ecx
	mov	ecx, edx
	or	ecx, esi
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, obuf[rip]
	mov	BYTE PTR [rdx+rax], cl
	add	DWORD PTR -12[rbp], 1
.L66:
	mov	eax, DWORD PTR -12[rbp]
	cmp	eax, DWORD PTR -8[rbp]
	jl	.L67
	mov	eax, DWORD PTR col[rip]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rcx, rax
	lea	rdx, obuf[rip+8]
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR [rcx+rdx], eax
	mov	DWORD PTR -12[rbp], 1
	jmp	.L68
.L69:
	mov	edx, DWORD PTR col[rip]
	mov	eax, DWORD PTR -12[rbp]
	add	eax, edx
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, obuf[rip+8]
	mov	DWORD PTR [rdx+rax], -1
	add	DWORD PTR -12[rbp], 1
.L68:
	mov	eax, DWORD PTR -12[rbp]
	cmp	eax, DWORD PTR -8[rbp]
	jl	.L69
	jmp	.L64
.L65:
	mov	eax, DWORD PTR col[rip]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, obuf[rip+4]
	mov	edx, DWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -4[rbp]
	cmp	edx, eax
	jne	.L70
	mov	DWORD PTR -12[rbp], 0
	jmp	.L71
.L72:
	mov	edx, DWORD PTR col[rip]
	mov	eax, DWORD PTR -12[rbp]
	add	eax, edx
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, obuf[rip]
	movzx	edx, BYTE PTR [rdx+rax]
	mov	eax, DWORD PTR mode[rip]
	or	eax, 16
	mov	esi, eax
	mov	ecx, DWORD PTR col[rip]
	mov	eax, DWORD PTR -12[rbp]
	add	eax, ecx
	mov	ecx, edx
	or	ecx, esi
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, obuf[rip]
	mov	BYTE PTR [rdx+rax], cl
	add	DWORD PTR -12[rbp], 1
.L71:
	mov	eax, DWORD PTR -12[rbp]
	cmp	eax, DWORD PTR -8[rbp]
	jl	.L72
	jmp	.L64
.L70:
	mov	eax, DWORD PTR col[rip]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, obuf[rip+8]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -8[rbp], eax
	mov	DWORD PTR -12[rbp], 0
	jmp	.L73
.L74:
	mov	edx, DWORD PTR mode[rip]
	mov	ecx, DWORD PTR col[rip]
	mov	eax, DWORD PTR -12[rbp]
	add	eax, ecx
	mov	ecx, edx
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, obuf[rip]
	mov	BYTE PTR [rdx+rax], cl
	add	DWORD PTR -12[rbp], 1
.L73:
	mov	eax, DWORD PTR -12[rbp]
	cmp	eax, DWORD PTR -8[rbp]
	jl	.L74
.L64:
	mov	edx, DWORD PTR col[rip]
	mov	eax, DWORD PTR -8[rbp]
	add	eax, edx
	mov	DWORD PTR col[rip], eax
	mov	edx, DWORD PTR col[rip]
	mov	eax, DWORD PTR maxcol[rip]
	cmp	edx, eax
	jle	.L81
	mov	eax, DWORD PTR col[rip]
	mov	DWORD PTR maxcol[rip], eax
.L81:
	nop
.L24:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	getwc@PLT
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], -1
	je	.L76
	mov	eax, DWORD PTR col[rip]
	cmp	eax, 511
	jle	.L77
.L76:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	ferror@PLT
	test	eax, eax
	je	.L78
	mov	esi, 0
	mov	edi, 1
	mov	eax, 0
	call	err@PLT
.L78:
	mov	eax, DWORD PTR maxcol[rip]
	test	eax, eax
	je	.L80
	call	flushln
.L80:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	filter, .-filter
	.type	flushln, @function
flushln:
.LFB9:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -4[rbp], 0
	mov	DWORD PTR -12[rbp], 0
	mov	DWORD PTR -8[rbp], 0
	jmp	.L83
.L89:
	mov	eax, DWORD PTR -8[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, obuf[rip]
	movzx	eax, BYTE PTR [rdx+rax]
	movsx	eax, al
	cmp	DWORD PTR -12[rbp], eax
	je	.L84
	add	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -8[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, obuf[rip]
	movzx	eax, BYTE PTR [rdx+rax]
	movsx	eax, al
	mov	edi, eax
	call	setnewmode
	mov	eax, DWORD PTR -8[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, obuf[rip]
	movzx	eax, BYTE PTR [rdx+rax]
	movsx	eax, al
	mov	DWORD PTR -12[rbp], eax
.L84:
	mov	eax, DWORD PTR -8[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, obuf[rip+4]
	mov	eax, DWORD PTR [rdx+rax]
	test	eax, eax
	jne	.L85
	mov	eax, DWORD PTR upln[rip]
	test	eax, eax
	je	.L86
	mov	rax, QWORD PTR CURS_RIGHT[rip]
	test	rax, rax
	je	.L87
	mov	rax, QWORD PTR CURS_RIGHT[rip]
	lea	rdx, outchar[rip]
	mov	esi, 1
	mov	rdi, rax
	call	tputs@PLT
	jmp	.L87
.L86:
	mov	esi, 1
	mov	edi, 32
	call	outc
	jmp	.L87
.L85:
	mov	eax, DWORD PTR -8[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, obuf[rip+8]
	mov	edx, DWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -8[rbp]
	movsx	rcx, eax
	mov	rax, rcx
	add	rax, rax
	add	rax, rcx
	sal	rax, 2
	mov	rcx, rax
	lea	rax, obuf[rip+4]
	mov	eax, DWORD PTR [rcx+rax]
	mov	esi, edx
	mov	edi, eax
	call	outc
.L87:
	mov	eax, DWORD PTR -8[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, obuf[rip+8]
	mov	eax, DWORD PTR [rdx+rax]
	cmp	eax, 1
	jle	.L88
	mov	eax, DWORD PTR -8[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, obuf[rip+8]
	mov	eax, DWORD PTR [rdx+rax]
	sub	eax, 1
	add	DWORD PTR -8[rbp], eax
.L88:
	add	DWORD PTR -8[rbp], 1
.L83:
	mov	eax, DWORD PTR maxcol[rip]
	cmp	DWORD PTR -8[rbp], eax
	jl	.L89
	cmp	DWORD PTR -12[rbp], 0
	je	.L90
	mov	edi, 0
	call	setnewmode
.L90:
	mov	eax, DWORD PTR must_overstrike[rip]
	test	eax, eax
	je	.L91
	cmp	DWORD PTR -4[rbp], 0
	je	.L91
	call	overstrike
.L91:
	mov	edi, 10
	call	putwchar@PLT
	mov	eax, DWORD PTR iflag[rip]
	test	eax, eax
	je	.L92
	cmp	DWORD PTR -4[rbp], 0
	je	.L92
	call	iattr
.L92:
	mov	rax, QWORD PTR stdout[rip]
	mov	rdi, rax
	call	fflush@PLT
	mov	eax, DWORD PTR upln[rip]
	test	eax, eax
	je	.L93
	mov	eax, DWORD PTR upln[rip]
	sub	eax, 1
	mov	DWORD PTR upln[rip], eax
.L93:
	call	initbuf
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	flushln, .-flushln
	.type	overstrike, @function
overstrike:
.LFB10:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 1056
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rax, -1040[rbp]
	mov	QWORD PTR -1048[rbp], rax
	mov	DWORD PTR -1052[rbp], 0
	mov	DWORD PTR -1056[rbp], 0
	jmp	.L95
.L100:
	mov	eax, DWORD PTR -1056[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, obuf[rip]
	movzx	eax, BYTE PTR [rdx+rax]
	movsx	eax, al
	cmp	eax, 8
	je	.L96
	cmp	eax, 16
	je	.L97
	mov	rax, QWORD PTR -1048[rbp]
	lea	rdx, 4[rax]
	mov	QWORD PTR -1048[rbp], rdx
	mov	DWORD PTR [rax], 32
	jmp	.L98
.L96:
	mov	rax, QWORD PTR -1048[rbp]
	lea	rdx, 4[rax]
	mov	QWORD PTR -1048[rbp], rdx
	mov	DWORD PTR [rax], 95
	jmp	.L98
.L97:
	mov	rdx, QWORD PTR -1048[rbp]
	lea	rax, 4[rdx]
	mov	QWORD PTR -1048[rbp], rax
	mov	eax, DWORD PTR -1056[rbp]
	movsx	rcx, eax
	mov	rax, rcx
	add	rax, rax
	add	rax, rcx
	sal	rax, 2
	mov	rcx, rax
	lea	rax, obuf[rip+4]
	mov	eax, DWORD PTR [rcx+rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -1056[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, obuf[rip+8]
	mov	eax, DWORD PTR [rdx+rax]
	cmp	eax, 1
	jle	.L99
	mov	eax, DWORD PTR -1056[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, obuf[rip+8]
	mov	eax, DWORD PTR [rdx+rax]
	sub	eax, 1
	add	DWORD PTR -1056[rbp], eax
.L99:
	mov	DWORD PTR -1052[rbp], 1
	nop
.L98:
	add	DWORD PTR -1056[rbp], 1
.L95:
	mov	eax, DWORD PTR maxcol[rip]
	cmp	DWORD PTR -1056[rbp], eax
	jl	.L100
	mov	edi, 13
	call	putwchar@PLT
	mov	rax, QWORD PTR -1048[rbp]
	mov	DWORD PTR [rax], 32
	jmp	.L101
.L102:
	mov	rax, QWORD PTR -1048[rbp]
	mov	DWORD PTR [rax], 0
	sub	QWORD PTR -1048[rbp], 4
.L101:
	mov	rax, QWORD PTR -1048[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 32
	je	.L102
	lea	rax, -1040[rbp]
	mov	QWORD PTR -1048[rbp], rax
	jmp	.L103
.L104:
	mov	rax, QWORD PTR -1048[rbp]
	mov	eax, DWORD PTR [rax]
	mov	edi, eax
	call	putwchar@PLT
	add	QWORD PTR -1048[rbp], 4
.L103:
	mov	rax, QWORD PTR -1048[rbp]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jne	.L104
	cmp	DWORD PTR -1052[rbp], 0
	je	.L115
	mov	edi, 13
	call	putwchar@PLT
	lea	rax, -1040[rbp]
	mov	QWORD PTR -1048[rbp], rax
	jmp	.L106
.L109:
	mov	rax, QWORD PTR -1048[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 95
	je	.L107
	mov	rax, QWORD PTR -1048[rbp]
	mov	eax, DWORD PTR [rax]
	jmp	.L108
.L107:
	mov	eax, 32
.L108:
	mov	edi, eax
	call	putwchar@PLT
	add	QWORD PTR -1048[rbp], 4
.L106:
	mov	rax, QWORD PTR -1048[rbp]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jne	.L109
	mov	edi, 13
	call	putwchar@PLT
	lea	rax, -1040[rbp]
	mov	QWORD PTR -1048[rbp], rax
	jmp	.L110
.L113:
	mov	rax, QWORD PTR -1048[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 95
	je	.L111
	mov	rax, QWORD PTR -1048[rbp]
	mov	eax, DWORD PTR [rax]
	jmp	.L112
.L111:
	mov	eax, 32
.L112:
	mov	edi, eax
	call	putwchar@PLT
	add	QWORD PTR -1048[rbp], 4
.L110:
	mov	rax, QWORD PTR -1048[rbp]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jne	.L113
.L115:
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L114
	call	__stack_chk_fail@PLT
.L114:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	overstrike, .-overstrike
	.type	iattr, @function
iattr:
.LFB11:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 1056
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rax, -1040[rbp]
	mov	QWORD PTR -1048[rbp], rax
	mov	DWORD PTR -1052[rbp], 0
	jmp	.L117
.L127:
	mov	eax, DWORD PTR -1052[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, obuf[rip]
	movzx	eax, BYTE PTR [rdx+rax]
	movsx	eax, al
	cmp	eax, 16
	ja	.L118
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L120[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L120[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L120:
	.long	.L125-.L120
	.long	.L124-.L120
	.long	.L123-.L120
	.long	.L118-.L120
	.long	.L122-.L120
	.long	.L118-.L120
	.long	.L118-.L120
	.long	.L118-.L120
	.long	.L121-.L120
	.long	.L118-.L120
	.long	.L118-.L120
	.long	.L118-.L120
	.long	.L118-.L120
	.long	.L118-.L120
	.long	.L118-.L120
	.long	.L118-.L120
	.long	.L119-.L120
	.text
.L125:
	mov	rax, QWORD PTR -1048[rbp]
	lea	rdx, 4[rax]
	mov	QWORD PTR -1048[rbp], rdx
	mov	DWORD PTR [rax], 32
	jmp	.L126
.L124:
	mov	rax, QWORD PTR -1048[rbp]
	lea	rdx, 4[rax]
	mov	QWORD PTR -1048[rbp], rdx
	mov	DWORD PTR [rax], 103
	jmp	.L126
.L123:
	mov	rax, QWORD PTR -1048[rbp]
	lea	rdx, 4[rax]
	mov	QWORD PTR -1048[rbp], rdx
	mov	DWORD PTR [rax], 94
	jmp	.L126
.L122:
	mov	rax, QWORD PTR -1048[rbp]
	lea	rdx, 4[rax]
	mov	QWORD PTR -1048[rbp], rdx
	mov	DWORD PTR [rax], 118
	jmp	.L126
.L121:
	mov	rax, QWORD PTR -1048[rbp]
	lea	rdx, 4[rax]
	mov	QWORD PTR -1048[rbp], rdx
	mov	DWORD PTR [rax], 95
	jmp	.L126
.L119:
	mov	rax, QWORD PTR -1048[rbp]
	lea	rdx, 4[rax]
	mov	QWORD PTR -1048[rbp], rdx
	mov	DWORD PTR [rax], 33
	jmp	.L126
.L118:
	mov	rax, QWORD PTR -1048[rbp]
	lea	rdx, 4[rax]
	mov	QWORD PTR -1048[rbp], rdx
	mov	DWORD PTR [rax], 88
	nop
.L126:
	add	DWORD PTR -1052[rbp], 1
.L117:
	mov	eax, DWORD PTR maxcol[rip]
	cmp	DWORD PTR -1052[rbp], eax
	jl	.L127
	mov	rax, QWORD PTR -1048[rbp]
	mov	DWORD PTR [rax], 32
	jmp	.L128
.L129:
	mov	rax, QWORD PTR -1048[rbp]
	mov	DWORD PTR [rax], 0
	sub	QWORD PTR -1048[rbp], 4
.L128:
	mov	rax, QWORD PTR -1048[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 32
	je	.L129
	lea	rax, -1040[rbp]
	mov	QWORD PTR -1048[rbp], rax
	jmp	.L130
.L131:
	mov	rax, QWORD PTR -1048[rbp]
	mov	eax, DWORD PTR [rax]
	mov	edi, eax
	call	putwchar@PLT
	add	QWORD PTR -1048[rbp], 4
.L130:
	mov	rax, QWORD PTR -1048[rbp]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jne	.L131
	mov	edi, 10
	call	putwchar@PLT
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L132
	call	__stack_chk_fail@PLT
.L132:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	iattr, .-iattr
	.type	initbuf, @function
initbuf:
.LFB12:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	lea	rdx, obuf[rip]
	mov	eax, 0
	mov	ecx, 768
	mov	rdi, rdx
	rep stosq
	mov	DWORD PTR col[rip], 0
	mov	DWORD PTR maxcol[rip], 0
	mov	eax, DWORD PTR mode[rip]
	and	eax, 1
	mov	DWORD PTR mode[rip], eax
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE12:
	.size	initbuf, .-initbuf
	.type	fwd, @function
fwd:
.LFB13:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	eax, DWORD PTR col[rip]
	mov	DWORD PTR -8[rbp], eax
	mov	eax, DWORD PTR maxcol[rip]
	mov	DWORD PTR -4[rbp], eax
	call	flushln
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR col[rip], eax
	mov	eax, DWORD PTR -4[rbp]
	mov	DWORD PTR maxcol[rip], eax
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE13:
	.size	fwd, .-fwd
	.type	reverse, @function
reverse:
.LFB14:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, DWORD PTR upln[rip]
	add	eax, 1
	mov	DWORD PTR upln[rip], eax
	call	fwd
	mov	rax, QWORD PTR CURS_UP[rip]
	test	rax, rax
	je	.L136
	mov	rax, QWORD PTR CURS_UP[rip]
	lea	rdx, outchar[rip]
	mov	esi, 1
	mov	rdi, rax
	call	tputs@PLT
.L136:
	mov	rax, QWORD PTR CURS_UP[rip]
	test	rax, rax
	je	.L137
	mov	rax, QWORD PTR CURS_UP[rip]
	lea	rdx, outchar[rip]
	mov	esi, 1
	mov	rdi, rax
	call	tputs@PLT
.L137:
	mov	eax, DWORD PTR upln[rip]
	add	eax, 1
	mov	DWORD PTR upln[rip], eax
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE14:
	.size	reverse, .-reverse
	.section	.rodata
.LC11:
	.string	"up"
.LC12:
	.string	"ri"
.LC13:
	.string	"nd"
.LC14:
	.string	"le"
.LC15:
	.string	"bc"
.LC16:
	.string	"bs"
.LC17:
	.string	"\b"
.LC18:
	.string	"so"
.LC19:
	.string	"se"
.LC20:
	.string	"us"
.LC21:
	.string	"ue"
.LC22:
	.string	"mh"
.LC23:
	.string	"md"
.LC24:
	.string	"mr"
.LC25:
	.string	"me"
.LC26:
	.string	"uc"
	.text
	.type	initcap, @function
initcap:
.LFB15:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rax, tcapbuf.0[rip]
	mov	QWORD PTR -16[rbp], rax
	lea	rax, -16[rbp]
	mov	rsi, rax
	lea	rdi, .LC11[rip]
	call	tgetstr@PLT
	mov	QWORD PTR CURS_UP[rip], rax
	lea	rax, -16[rbp]
	mov	rsi, rax
	lea	rdi, .LC12[rip]
	call	tgetstr@PLT
	mov	QWORD PTR CURS_RIGHT[rip], rax
	mov	rax, QWORD PTR CURS_RIGHT[rip]
	test	rax, rax
	jne	.L139
	lea	rax, -16[rbp]
	mov	rsi, rax
	lea	rdi, .LC13[rip]
	call	tgetstr@PLT
	mov	QWORD PTR CURS_RIGHT[rip], rax
.L139:
	lea	rax, -16[rbp]
	mov	rsi, rax
	lea	rdi, .LC14[rip]
	call	tgetstr@PLT
	mov	QWORD PTR CURS_LEFT[rip], rax
	mov	rax, QWORD PTR CURS_LEFT[rip]
	test	rax, rax
	jne	.L140
	lea	rax, -16[rbp]
	mov	rsi, rax
	lea	rdi, .LC15[rip]
	call	tgetstr@PLT
	mov	QWORD PTR CURS_LEFT[rip], rax
.L140:
	mov	rax, QWORD PTR CURS_LEFT[rip]
	test	rax, rax
	jne	.L141
	lea	rdi, .LC16[rip]
	call	tgetflag@PLT
	test	eax, eax
	je	.L141
	lea	rax, .LC17[rip]
	mov	QWORD PTR CURS_LEFT[rip], rax
.L141:
	lea	rax, -16[rbp]
	mov	rsi, rax
	lea	rdi, .LC18[rip]
	call	tgetstr@PLT
	mov	QWORD PTR ENTER_STANDOUT[rip], rax
	lea	rax, -16[rbp]
	mov	rsi, rax
	lea	rdi, .LC19[rip]
	call	tgetstr@PLT
	mov	QWORD PTR EXIT_STANDOUT[rip], rax
	lea	rax, -16[rbp]
	mov	rsi, rax
	lea	rdi, .LC20[rip]
	call	tgetstr@PLT
	mov	QWORD PTR ENTER_UNDERLINE[rip], rax
	lea	rax, -16[rbp]
	mov	rsi, rax
	lea	rdi, .LC21[rip]
	call	tgetstr@PLT
	mov	QWORD PTR EXIT_UNDERLINE[rip], rax
	lea	rax, -16[rbp]
	mov	rsi, rax
	lea	rdi, .LC22[rip]
	call	tgetstr@PLT
	mov	QWORD PTR ENTER_DIM[rip], rax
	lea	rax, -16[rbp]
	mov	rsi, rax
	lea	rdi, .LC23[rip]
	call	tgetstr@PLT
	mov	QWORD PTR ENTER_BOLD[rip], rax
	lea	rax, -16[rbp]
	mov	rsi, rax
	lea	rdi, .LC24[rip]
	call	tgetstr@PLT
	mov	QWORD PTR ENTER_REVERSE[rip], rax
	lea	rax, -16[rbp]
	mov	rsi, rax
	lea	rdi, .LC25[rip]
	call	tgetstr@PLT
	mov	QWORD PTR EXIT_ATTRIBUTES[rip], rax
	mov	rax, QWORD PTR ENTER_BOLD[rip]
	test	rax, rax
	jne	.L142
	mov	rax, QWORD PTR ENTER_REVERSE[rip]
	test	rax, rax
	je	.L142
	mov	rax, QWORD PTR ENTER_REVERSE[rip]
	mov	QWORD PTR ENTER_BOLD[rip], rax
.L142:
	mov	rax, QWORD PTR ENTER_BOLD[rip]
	test	rax, rax
	jne	.L143
	mov	rax, QWORD PTR ENTER_STANDOUT[rip]
	test	rax, rax
	je	.L143
	mov	rax, QWORD PTR ENTER_STANDOUT[rip]
	mov	QWORD PTR ENTER_BOLD[rip], rax
.L143:
	mov	rax, QWORD PTR ENTER_UNDERLINE[rip]
	test	rax, rax
	jne	.L144
	mov	rax, QWORD PTR ENTER_STANDOUT[rip]
	test	rax, rax
	je	.L144
	mov	rax, QWORD PTR ENTER_STANDOUT[rip]
	mov	QWORD PTR ENTER_UNDERLINE[rip], rax
	mov	rax, QWORD PTR EXIT_STANDOUT[rip]
	mov	QWORD PTR EXIT_UNDERLINE[rip], rax
.L144:
	mov	rax, QWORD PTR ENTER_DIM[rip]
	test	rax, rax
	jne	.L145
	mov	rax, QWORD PTR ENTER_STANDOUT[rip]
	test	rax, rax
	je	.L145
	mov	rax, QWORD PTR ENTER_STANDOUT[rip]
	mov	QWORD PTR ENTER_DIM[rip], rax
.L145:
	mov	rax, QWORD PTR ENTER_REVERSE[rip]
	test	rax, rax
	jne	.L146
	mov	rax, QWORD PTR ENTER_STANDOUT[rip]
	test	rax, rax
	je	.L146
	mov	rax, QWORD PTR ENTER_STANDOUT[rip]
	mov	QWORD PTR ENTER_REVERSE[rip], rax
.L146:
	mov	rax, QWORD PTR EXIT_ATTRIBUTES[rip]
	test	rax, rax
	jne	.L147
	mov	rax, QWORD PTR EXIT_STANDOUT[rip]
	test	rax, rax
	je	.L147
	mov	rax, QWORD PTR EXIT_STANDOUT[rip]
	mov	QWORD PTR EXIT_ATTRIBUTES[rip], rax
.L147:
	lea	rax, -16[rbp]
	mov	rsi, rax
	lea	rdi, .LC26[rip]
	call	tgetstr@PLT
	mov	QWORD PTR UNDER_CHAR[rip], rax
	mov	rax, QWORD PTR UNDER_CHAR[rip]
	test	rax, rax
	je	.L148
	mov	rax, QWORD PTR ENTER_UNDERLINE[rip]
	test	rax, rax
	jne	.L148
	mov	eax, 1
	jmp	.L149
.L148:
	mov	eax, 0
.L149:
	mov	DWORD PTR must_use_uc[rip], eax
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L150
	call	__stack_chk_fail@PLT
.L150:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE15:
	.size	initcap, .-initcap
	.type	outchar, @function
outchar:
.LFB16:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -4[rbp], edi
	mov	eax, DWORD PTR -4[rbp]
	mov	edi, eax
	call	putwchar@PLT
	cmp	eax, -1
	je	.L152
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L154
.L152:
	mov	eax, -1
.L154:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE16:
	.size	outchar, .-outchar
	.local	curmode
	.comm	curmode,4,4
	.type	outc, @function
outc:
.LFB17:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -24[rbp], esi
	mov	eax, DWORD PTR -20[rbp]
	mov	edi, eax
	call	putwchar@PLT
	mov	eax, DWORD PTR must_use_uc[rip]
	test	eax, eax
	je	.L163
	mov	eax, DWORD PTR curmode[rip]
	and	eax, 8
	test	eax, eax
	je	.L163
	mov	DWORD PTR -4[rbp], 0
	jmp	.L157
.L159:
	mov	rax, QWORD PTR CURS_LEFT[rip]
	test	rax, rax
	je	.L158
	mov	rax, QWORD PTR CURS_LEFT[rip]
	lea	rdx, outchar[rip]
	mov	esi, 1
	mov	rdi, rax
	call	tputs@PLT
.L158:
	add	DWORD PTR -4[rbp], 1
.L157:
	mov	eax, DWORD PTR -4[rbp]
	cmp	eax, DWORD PTR -24[rbp]
	jl	.L159
	mov	DWORD PTR -4[rbp], 0
	jmp	.L160
.L162:
	mov	rax, QWORD PTR UNDER_CHAR[rip]
	test	rax, rax
	je	.L161
	mov	rax, QWORD PTR UNDER_CHAR[rip]
	lea	rdx, outchar[rip]
	mov	esi, 1
	mov	rdi, rax
	call	tputs@PLT
.L161:
	add	DWORD PTR -4[rbp], 1
.L160:
	mov	eax, DWORD PTR -4[rbp]
	cmp	eax, DWORD PTR -24[rbp]
	jl	.L162
.L163:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE17:
	.size	outc, .-outc
	.type	setnewmode, @function
setnewmode:
.LFB18:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -4[rbp], edi
	mov	eax, DWORD PTR iflag[rip]
	test	eax, eax
	jne	.L189
	mov	eax, DWORD PTR curmode[rip]
	test	eax, eax
	je	.L166
	cmp	DWORD PTR -4[rbp], 0
	je	.L166
	mov	edi, 0
	call	setnewmode
.L166:
	cmp	DWORD PTR -4[rbp], 16
	ja	.L167
	mov	eax, DWORD PTR -4[rbp]
	lea	rdx, 0[0+rax*4]
	lea	rax, .L169[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L169[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L169:
	.long	.L174-.L169
	.long	.L173-.L169
	.long	.L172-.L169
	.long	.L167-.L169
	.long	.L171-.L169
	.long	.L167-.L169
	.long	.L167-.L169
	.long	.L167-.L169
	.long	.L170-.L169
	.long	.L167-.L169
	.long	.L167-.L169
	.long	.L167-.L169
	.long	.L167-.L169
	.long	.L167-.L169
	.long	.L167-.L169
	.long	.L167-.L169
	.long	.L168-.L169
	.text
.L174:
	mov	eax, DWORD PTR curmode[rip]
	test	eax, eax
	je	.L190
	cmp	eax, 8
	jne	.L188
	mov	rax, QWORD PTR EXIT_UNDERLINE[rip]
	test	rax, rax
	je	.L191
	mov	rax, QWORD PTR EXIT_UNDERLINE[rip]
	lea	rdx, outchar[rip]
	mov	esi, 1
	mov	rdi, rax
	call	tputs@PLT
	jmp	.L191
.L188:
	mov	rax, QWORD PTR EXIT_ATTRIBUTES[rip]
	test	rax, rax
	je	.L192
	mov	rax, QWORD PTR EXIT_ATTRIBUTES[rip]
	lea	rdx, outchar[rip]
	mov	esi, 1
	mov	rdi, rax
	call	tputs@PLT
	jmp	.L192
.L190:
	nop
	jmp	.L165
.L191:
	nop
	jmp	.L165
.L192:
	nop
	jmp	.L165
.L173:
	mov	rax, QWORD PTR ENTER_REVERSE[rip]
	test	rax, rax
	je	.L193
	mov	rax, QWORD PTR ENTER_REVERSE[rip]
	lea	rdx, outchar[rip]
	mov	esi, 1
	mov	rdi, rax
	call	tputs@PLT
	jmp	.L193
.L172:
	mov	rax, QWORD PTR ENTER_UNDERLINE[rip]
	test	rax, rax
	je	.L182
	mov	rax, QWORD PTR ENTER_UNDERLINE[rip]
	lea	rdx, outchar[rip]
	mov	esi, 1
	mov	rdi, rax
	call	tputs@PLT
.L182:
	mov	rax, QWORD PTR ENTER_DIM[rip]
	test	rax, rax
	je	.L194
	mov	rax, QWORD PTR ENTER_DIM[rip]
	lea	rdx, outchar[rip]
	mov	esi, 1
	mov	rdi, rax
	call	tputs@PLT
	jmp	.L194
.L171:
	mov	rax, QWORD PTR ENTER_DIM[rip]
	test	rax, rax
	je	.L195
	mov	rax, QWORD PTR ENTER_DIM[rip]
	lea	rdx, outchar[rip]
	mov	esi, 1
	mov	rdi, rax
	call	tputs@PLT
	jmp	.L195
.L170:
	mov	rax, QWORD PTR ENTER_UNDERLINE[rip]
	test	rax, rax
	je	.L196
	mov	rax, QWORD PTR ENTER_UNDERLINE[rip]
	lea	rdx, outchar[rip]
	mov	esi, 1
	mov	rdi, rax
	call	tputs@PLT
	jmp	.L196
.L168:
	mov	rax, QWORD PTR ENTER_BOLD[rip]
	test	rax, rax
	je	.L197
	mov	rax, QWORD PTR ENTER_BOLD[rip]
	lea	rdx, outchar[rip]
	mov	esi, 1
	mov	rdi, rax
	call	tputs@PLT
	jmp	.L197
.L167:
	mov	rax, QWORD PTR ENTER_STANDOUT[rip]
	test	rax, rax
	je	.L198
	mov	rax, QWORD PTR ENTER_STANDOUT[rip]
	lea	rdx, outchar[rip]
	mov	esi, 1
	mov	rdi, rax
	call	tputs@PLT
	jmp	.L198
.L189:
	nop
	jmp	.L165
.L193:
	nop
	jmp	.L165
.L194:
	nop
	jmp	.L165
.L195:
	nop
	jmp	.L165
.L196:
	nop
	jmp	.L165
.L197:
	nop
	jmp	.L165
.L198:
	nop
.L165:
	mov	eax, DWORD PTR -4[rbp]
	mov	DWORD PTR curmode[rip], eax
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE18:
	.size	setnewmode, .-setnewmode
	.local	tcapbuf.0
	.comm	tcapbuf.0,512,32
	.ident	"GCC: (Ubuntu 10.5.0-1ubuntu1~20.04) 10.5.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, 6
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"572048.c"
	.text
	.section	.rodata
	.align	2
	.type	copyright, %object
	.size	copyright, 99
copyright:
	.ascii	"@(#) Copyright (c) 1980, 1993\012\011The Regents of"
	.ascii	" the University of California.  All rights reserved"
	.ascii	".\012\000"
	.align	2
	.type	rcsid, %object
	.size	rcsid, 80
rcsid:
	.ascii	"$FreeBSD: soc2013/dpl/head/usr.bin/ul/ul.c 246291 2"
	.ascii	"013-01-06 03:08:27Z andrew $\000"
	.local	must_use_uc
	.comm	must_use_uc,4,4
	.local	must_overstrike
	.comm	must_overstrike,4,4
	.local	CURS_UP
	.comm	CURS_UP,4,4
	.local	CURS_RIGHT
	.comm	CURS_RIGHT,4,4
	.local	CURS_LEFT
	.comm	CURS_LEFT,4,4
	.local	ENTER_STANDOUT
	.comm	ENTER_STANDOUT,4,4
	.local	EXIT_STANDOUT
	.comm	EXIT_STANDOUT,4,4
	.local	ENTER_UNDERLINE
	.comm	ENTER_UNDERLINE,4,4
	.local	EXIT_UNDERLINE
	.comm	EXIT_UNDERLINE,4,4
	.local	ENTER_DIM
	.comm	ENTER_DIM,4,4
	.local	ENTER_BOLD
	.comm	ENTER_BOLD,4,4
	.local	ENTER_REVERSE
	.comm	ENTER_REVERSE,4,4
	.local	UNDER_CHAR
	.comm	UNDER_CHAR,4,4
	.local	EXIT_ATTRIBUTES
	.comm	EXIT_ATTRIBUTES,4,4
	.local	obuf
	.comm	obuf,6144,4
	.local	col
	.comm	col,4,4
	.local	maxcol
	.comm	maxcol,4,4
	.local	mode
	.comm	mode,4,4
	.local	halfpos
	.comm	halfpos,4,4
	.local	upln
	.comm	upln,4,4
	.local	iflag
	.comm	iflag,4,4
	.align	2
.LC0:
	.ascii	"\000"
	.align	2
.LC1:
	.ascii	"TERM\000"
	.align	2
.LC2:
	.ascii	"lpr\000"
	.align	2
.LC3:
	.ascii	"it:T:\000"
	.align	2
.LC4:
	.ascii	"trouble reading termcap\000"
	.align	2
.LC5:
	.ascii	"dumb:os:col#80:cr=^M:sf=^J:am:\000"
	.align	2
.LC6:
	.ascii	"os\000"
	.align	2
.LC7:
	.ascii	"ul\000"
	.align	2
.LC8:
	.ascii	"r\000"
	.align	2
.LC9:
	.ascii	"%s\000"
	.align	2
.LC10:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 1048
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #1040
	sub	sp, sp, #8
	str	r0, [fp, #-1048]
	str	r1, [fp, #-1052]
	ldr	r3, .L22
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r1, .L22+4
	mov	r0, #6
	bl	setlocale
	ldr	r0, .L22+8
	bl	getenv
	str	r0, [fp, #-1044]
	ldr	r3, [fp, #-1044]
	cmp	r3, #0
	beq	.L2
	ldr	r3, [fp, #-1052]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #99
	bne	.L4
	mov	r0, #1
	bl	isatty
	mov	r3, r0
	cmp	r3, #0
	bne	.L4
.L2:
	ldr	r3, .L22+12
	str	r3, [fp, #-1044]
	b	.L4
.L8:
	ldr	r3, [fp, #-1040]
	cmp	r3, #116
	beq	.L5
	ldr	r3, [fp, #-1040]
	cmp	r3, #116
	bgt	.L6
	ldr	r3, [fp, #-1040]
	cmp	r3, #84
	beq	.L5
	ldr	r3, [fp, #-1040]
	cmp	r3, #105
	beq	.L7
	b	.L6
.L5:
	ldr	r3, .L22+16
	ldr	r3, [r3]
	str	r3, [fp, #-1044]
	b	.L4
.L7:
	ldr	r3, .L22+20
	mov	r2, #1
	str	r2, [r3]
	b	.L4
.L6:
	bl	usage
.L4:
	ldr	r2, .L22+24
	ldr	r1, [fp, #-1052]
	ldr	r0, [fp, #-1048]
	bl	getopt
	str	r0, [fp, #-1040]
	ldr	r3, [fp, #-1040]
	cmn	r3, #1
	bne	.L8
	sub	r3, fp, #1024
	sub	r3, r3, #4
	sub	r3, r3, #4
	ldr	r1, [fp, #-1044]
	mov	r0, r3
	bl	tgetent
	mov	r3, r0
	cmp	r3, #0
	beq	.L9
	cmp	r3, #1
	beq	.L21
	ldr	r0, .L22+28
	bl	warnx
.L9:
	sub	r3, fp, #1024
	sub	r3, r3, #4
	sub	r3, r3, #4
	ldr	r2, .L22+32
	mov	ip, r3
	mov	lr, r2
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldm	lr, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2}
	strh	r3, [ip]	@ movhi
	add	ip, ip, #2
	lsr	r3, r3, #16
	strb	r3, [ip]
	b	.L11
.L21:
	nop
.L11:
	bl	initcap
	ldr	r0, .L22+36
	bl	tgetflag
	mov	r3, r0
	cmp	r3, #0
	beq	.L12
	ldr	r3, .L22+40
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L13
.L12:
	ldr	r0, .L22+44
	bl	tgetflag
	mov	r3, r0
	cmp	r3, #0
	beq	.L14
	ldr	r3, .L22+48
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L14
	ldr	r3, .L22+52
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L14
.L13:
	ldr	r3, .L22+56
	mov	r2, #1
	str	r2, [r3]
.L14:
	bl	initbuf
	ldr	r3, .L22+60
	ldr	r3, [r3]
	ldr	r2, [fp, #-1048]
	cmp	r2, r3
	bne	.L17
	ldr	r3, .L22+64
	ldr	r3, [r3]
	mov	r0, r3
	bl	filter
	b	.L16
.L19:
	ldr	r3, .L22+60
	ldr	r3, [r3]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-1052]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, .L22+68
	mov	r0, r3
	bl	fopen
	str	r0, [fp, #-1036]
	ldr	r3, [fp, #-1036]
	cmp	r3, #0
	bne	.L18
	ldr	r3, .L22+60
	ldr	r3, [r3]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-1052]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, .L22+72
	mov	r0, #1
	bl	err
.L18:
	ldr	r0, [fp, #-1036]
	bl	filter
	ldr	r3, .L22+60
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L22+60
	str	r3, [r2]
.L17:
	ldr	r3, .L22+60
	ldr	r3, [r3]
	ldr	r2, [fp, #-1048]
	cmp	r2, r3
	bgt	.L19
.L16:
	mov	r0, #0
	bl	exit
.L23:
	.align	2
.L22:
	.word	.LC10
	.word	.LC0
	.word	.LC1
	.word	.LC2
	.word	optarg
	.word	iflag
	.word	.LC3
	.word	.LC4
	.word	.LC5
	.word	.LC6
	.word	ENTER_BOLD
	.word	.LC7
	.word	ENTER_UNDERLINE
	.word	UNDER_CHAR
	.word	must_overstrike
	.word	optind
	.word	stdin
	.word	.LC8
	.word	.LC9
	.size	main, .-main
	.section	.rodata
	.align	2
.LC11:
	.ascii	"usage: ul [-i] [-t terminal] [file ...]\012\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	usage, %function
usage:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L25
	ldr	r3, [r3]
	mov	r2, #40
	mov	r1, #1
	ldr	r0, .L25+4
	bl	fwrite
	mov	r0, #1
	bl	exit
.L26:
	.align	2
.L25:
	.word	stderr
	.word	.LC11
	.size	usage, .-usage
	.section	.rodata
	.align	2
.LC12:
	.ascii	"unknown escape sequence in input: %o, %o\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	filter, %function
filter:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	b	.L28
.L81:
	ldr	r3, [fp, #-8]
	cmp	r3, #32
	bhi	.L29
	ldr	r3, [fp, #-8]
	cmp	r3, #8
	bcc	.L30
	ldr	r3, [fp, #-8]
	sub	r3, r3, #8
	cmp	r3, #24
	ldrls	pc, [pc, r3, asl #2]
	b	.L30
.L32:
	.word	.L40
	.word	.L39
	.word	.L38
	.word	.L30
	.word	.L37
	.word	.L36
	.word	.L35
	.word	.L34
	.word	.L30
	.word	.L30
	.word	.L30
	.word	.L30
	.word	.L30
	.word	.L30
	.word	.L30
	.word	.L30
	.word	.L30
	.word	.L30
	.word	.L30
	.word	.L33
	.word	.L30
	.word	.L30
	.word	.L30
	.word	.L30
	.word	.L31
.L29:
	ldr	r3, [fp, #-8]
	cmp	r3, #95
	beq	.L41
	b	.L30
.L40:
	ldr	r3, .L86
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L28
	ldr	r3, .L86
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L86
	str	r3, [r2]
	b	.L28
.L39:
	ldr	r3, .L86
	ldr	r3, [r3]
	add	r3, r3, #8
	bic	r3, r3, #7
	ldr	r2, .L86
	str	r3, [r2]
	ldr	r3, .L86
	ldr	r2, [r3]
	ldr	r3, .L86+4
	ldr	r3, [r3]
	cmp	r2, r3
	ble	.L28
	ldr	r3, .L86
	ldr	r3, [r3]
	ldr	r2, .L86+4
	str	r3, [r2]
	b	.L28
.L36:
	ldr	r3, .L86
	mov	r2, #0
	str	r2, [r3]
	b	.L28
.L35:
	ldr	r3, .L86+8
	ldr	r3, [r3]
	orr	r3, r3, #1
	ldr	r2, .L86+8
	str	r3, [r2]
	b	.L28
.L34:
	ldr	r3, .L86+8
	ldr	r3, [r3]
	bic	r3, r3, #1
	ldr	r2, .L86+8
	str	r3, [r2]
	b	.L28
.L33:
	ldr	r0, [fp, #-24]
	bl	getwc
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #57
	beq	.L44
	ldr	r3, [fp, #-8]
	cmp	r3, #57
	bhi	.L45
	ldr	r3, [fp, #-8]
	cmp	r3, #55
	beq	.L46
	ldr	r3, [fp, #-8]
	cmp	r3, #56
	bne	.L45
	ldr	r3, .L86+12
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L47
	ldr	r3, .L86+8
	ldr	r3, [r3]
	orr	r3, r3, #2
	ldr	r2, .L86+8
	str	r3, [r2]
	ldr	r3, .L86+12
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L86+12
	str	r3, [r2]
	b	.L28
.L47:
	ldr	r3, .L86+12
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L49
	ldr	r3, .L86+8
	ldr	r3, [r3]
	bic	r3, r3, #4
	ldr	r2, .L86+8
	str	r3, [r2]
	ldr	r3, .L86+12
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L86+12
	str	r3, [r2]
	b	.L28
.L49:
	ldr	r3, .L86+12
	mov	r2, #0
	str	r2, [r3]
	bl	reverse
	b	.L28
.L44:
	ldr	r3, .L86+12
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L50
	ldr	r3, .L86+8
	ldr	r3, [r3]
	orr	r3, r3, #4
	ldr	r2, .L86+8
	str	r3, [r2]
	ldr	r3, .L86+12
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L86+12
	str	r3, [r2]
	b	.L28
.L50:
	ldr	r3, .L86+12
	ldr	r3, [r3]
	cmp	r3, #0
	bge	.L52
	ldr	r3, .L86+8
	ldr	r3, [r3]
	bic	r3, r3, #2
	ldr	r2, .L86+8
	str	r3, [r2]
	ldr	r3, .L86+12
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L86+12
	str	r3, [r2]
	b	.L28
.L52:
	ldr	r3, .L86+12
	mov	r2, #0
	str	r2, [r3]
	bl	fwd
	b	.L28
.L46:
	bl	reverse
	b	.L28
.L45:
	ldr	r3, [fp, #-8]
	mov	r2, #27
	ldr	r1, .L86+16
	mov	r0, #1
	bl	errx
.L41:
	ldr	r3, .L86
	ldr	r2, [r3]
	ldr	r1, .L86+20
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	add	r3, r3, #4
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L55
	ldr	r3, .L86
	ldr	r2, [r3]
	ldr	r1, .L86+20
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	add	r3, r3, #8
	ldr	r3, [r3]
	cmp	r3, #0
	bge	.L54
	b	.L55
.L57:
	ldr	r3, .L86
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L86
	str	r3, [r2]
.L55:
	ldr	r3, .L86
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L56
	ldr	r3, .L86
	ldr	r2, [r3]
	ldr	r1, .L86+20
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	add	r3, r3, #8
	ldr	r3, [r3]
	cmp	r3, #0
	blt	.L57
.L56:
	ldr	r3, .L86
	ldr	r2, [r3]
	ldr	r1, .L86+20
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	add	r3, r3, #8
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L58
.L59:
	ldr	r3, .L86
	ldr	r2, [r3]
	add	r3, r2, #1
	ldr	r1, .L86
	str	r3, [r1]
	ldr	r1, .L86+20
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L86+8
	ldr	r3, [r3]
	and	r3, r3, #255
	orr	r3, r1, r3
	and	r3, r3, #255
	orr	r3, r3, #8
	and	r0, r3, #255
	ldr	r1, .L86+20
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	mov	r2, r0
	strb	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L58:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	blt	.L59
	ldr	r3, .L86
	ldr	r2, [r3]
	ldr	r3, .L86+4
	ldr	r3, [r3]
	cmp	r2, r3
	ble	.L28
	ldr	r3, .L86
	ldr	r3, [r3]
	ldr	r2, .L86+4
	str	r3, [r2]
	b	.L28
.L54:
	ldr	r3, .L86
	ldr	r2, [r3]
	ldr	r1, .L86+20
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	add	r3, r3, #4
	mov	r2, #95
	str	r2, [r3]
	ldr	r3, .L86
	ldr	r2, [r3]
	ldr	r1, .L86+20
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	add	r3, r3, #8
	mov	r2, #1
	str	r2, [r3]
.L31:
	ldr	r3, .L86
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L86
	str	r3, [r2]
	ldr	r3, .L86
	ldr	r2, [r3]
	ldr	r3, .L86+4
	ldr	r3, [r3]
	cmp	r2, r3
	ble	.L28
	ldr	r3, .L86
	ldr	r3, [r3]
	ldr	r2, .L86+4
	str	r3, [r2]
	b	.L28
.L38:
	bl	flushln
	b	.L28
.L37:
	bl	flushln
	mov	r0, #12
	bl	putwchar
	b	.L28
.L30:
	ldr	r0, [fp, #-8]
	bl	wcwidth
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bgt	.L62
	b	.L28
.L62:
	ldr	r3, .L86
	ldr	r2, [r3]
	ldr	r1, .L86+20
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	add	r3, r3, #4
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L63
	ldr	r3, .L86
	ldr	r2, [r3]
	ldr	r1, .L86+20
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	add	r3, r3, #4
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L64
.L65:
	ldr	r3, .L86+8
	ldr	r3, [r3]
	ldr	r2, .L86
	ldr	r1, [r2]
	ldr	r2, [fp, #-16]
	add	r2, r1, r2
	and	r0, r3, #255
	ldr	r1, .L86+20
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	mov	r2, r0
	strb	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L64:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	blt	.L65
	ldr	r3, .L86
	ldr	r2, [r3]
	ldr	r1, .L86+20
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	add	r3, r3, #8
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	mov	r3, #1
	str	r3, [fp, #-16]
	b	.L66
.L67:
	ldr	r3, .L86
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r2, r2, r3
	ldr	r1, .L86+20
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	add	r3, r3, #8
	mvn	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L66:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	blt	.L67
	b	.L68
.L63:
	ldr	r3, .L86
	ldr	r2, [r3]
	ldr	r1, .L86+20
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	add	r3, r3, #4
	ldr	r3, [r3]
	cmp	r3, #95
	bne	.L69
	ldr	r3, .L86
	ldr	r2, [r3]
	ldr	r1, .L86+20
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	add	r3, r3, #4
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L70
.L71:
	ldr	r3, .L86
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r2, r2, r3
	ldr	r1, .L86+20
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L86+8
	ldr	r3, [r3]
	and	r3, r3, #255
	orr	r3, r2, r3
	and	r3, r3, #255
	ldr	r2, .L86
	ldr	r1, [r2]
	ldr	r2, [fp, #-16]
	add	r2, r1, r2
	orr	r3, r3, #8
	and	r0, r3, #255
	ldr	r1, .L86+20
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	mov	r2, r0
	strb	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L70:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	blt	.L71
	ldr	r3, .L86
	ldr	r2, [r3]
	ldr	r1, .L86+20
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	add	r3, r3, #8
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	mov	r3, #1
	str	r3, [fp, #-16]
	b	.L72
.L73:
	ldr	r3, .L86
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r2, r2, r3
	ldr	r1, .L86+20
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	add	r3, r3, #8
	mvn	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L72:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	blt	.L73
	b	.L68
.L69:
	ldr	r3, .L86
	ldr	r2, [r3]
	ldr	r1, .L86+20
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	add	r3, r3, #4
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	bne	.L74
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L75
.L76:
	ldr	r3, .L86
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r2, r2, r3
	ldr	r1, .L86+20
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L86+8
	ldr	r3, [r3]
	and	r3, r3, #255
	orr	r3, r2, r3
	and	r3, r3, #255
	ldr	r2, .L86
	ldr	r1, [r2]
	ldr	r2, [fp, #-16]
	add	r2, r1, r2
	orr	r3, r3, #16
	and	r0, r3, #255
	ldr	r1, .L86+20
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	mov	r2, r0
	strb	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L75:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	blt	.L76
	b	.L68
.L74:
	ldr	r3, .L86
	ldr	r2, [r3]
	ldr	r1, .L86+20
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	add	r3, r3, #8
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L77
.L78:
	ldr	r3, .L86+8
	ldr	r3, [r3]
	ldr	r2, .L86
	ldr	r1, [r2]
	ldr	r2, [fp, #-16]
	add	r2, r1, r2
	and	r0, r3, #255
	ldr	r1, .L86+20
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	mov	r2, r0
	strb	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L77:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	blt	.L78
.L68:
	ldr	r3, .L86
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	ldr	r2, .L86
	str	r3, [r2]
	ldr	r3, .L86
	ldr	r2, [r3]
	ldr	r3, .L86+4
	ldr	r3, [r3]
	cmp	r2, r3
	ble	.L85
	ldr	r3, .L86
	ldr	r3, [r3]
	ldr	r2, .L86+4
	str	r3, [r2]
.L85:
	nop
.L28:
	ldr	r0, [fp, #-24]
	bl	getwc
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmn	r3, #1
	beq	.L80
	ldr	r3, .L86
	ldr	r3, [r3]
	cmp	r3, #512
	blt	.L81
.L80:
	ldr	r0, [fp, #-24]
	bl	ferror
	mov	r3, r0
	cmp	r3, #0
	beq	.L82
	mov	r1, #0
	mov	r0, #1
	bl	err
.L82:
	ldr	r3, .L86+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L84
	bl	flushln
.L84:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L87:
	.align	2
.L86:
	.word	col
	.word	maxcol
	.word	mode
	.word	halfpos
	.word	.LC12
	.word	obuf
	.size	filter, .-filter
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	flushln, %function
flushln:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	mov	r3, #0
	str	r3, [fp, #-8]
	mov	r3, #0
	str	r3, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L89
.L95:
	ldr	r1, .L100
	ldr	r2, [fp, #-12]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-16]
	cmp	r3, r2
	beq	.L90
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
	ldr	r1, .L100
	ldr	r2, [fp, #-12]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r0, r3
	bl	setnewmode
	ldr	r1, .L100
	ldr	r2, [fp, #-12]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-16]
.L90:
	ldr	r1, .L100
	ldr	r2, [fp, #-12]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	add	r3, r3, #4
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L91
	ldr	r3, .L100+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L92
	ldr	r3, .L100+8
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L93
	ldr	r3, .L100+8
	ldr	r3, [r3]
	ldr	r2, .L100+12
	mov	r1, #1
	mov	r0, r3
	bl	tputs
	b	.L93
.L92:
	mov	r1, #1
	mov	r0, #32
	bl	outc
	b	.L93
.L91:
	ldr	r1, .L100
	ldr	r2, [fp, #-12]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	add	r3, r3, #4
	ldr	r0, [r3]
	ldr	r1, .L100
	ldr	r2, [fp, #-12]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	add	r3, r3, #8
	ldr	r3, [r3]
	mov	r1, r3
	bl	outc
.L93:
	ldr	r1, .L100
	ldr	r2, [fp, #-12]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	add	r3, r3, #8
	ldr	r3, [r3]
	cmp	r3, #1
	ble	.L94
	ldr	r1, .L100
	ldr	r2, [fp, #-12]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	add	r3, r3, #8
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, [fp, #-12]
	add	r3, r2, r3
	str	r3, [fp, #-12]
.L94:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L89:
	ldr	r3, .L100+16
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	blt	.L95
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L96
	mov	r0, #0
	bl	setnewmode
.L96:
	ldr	r3, .L100+20
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L97
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L97
	bl	overstrike
.L97:
	mov	r0, #10
	bl	putwchar
	ldr	r3, .L100+24
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L98
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L98
	bl	iattr
.L98:
	ldr	r3, .L100+28
	ldr	r3, [r3]
	mov	r0, r3
	bl	fflush
	ldr	r3, .L100+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L99
	ldr	r3, .L100+4
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L100+4
	str	r3, [r2]
.L99:
	bl	initbuf
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L101:
	.align	2
.L100:
	.word	obuf
	.word	upln
	.word	CURS_RIGHT
	.word	outchar
	.word	maxcol
	.word	must_overstrike
	.word	iflag
	.word	stdout
	.size	flushln, .-flushln
	.section	.rodata
	.align	2
.LC13:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	overstrike, %function
overstrike:
	@ args = 0, pretend = 0, frame = 1040
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #1040
	ldr	r3, .L124
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #1024
	sub	r3, r3, #4
	sub	r3, r3, #4
	str	r3, [fp, #-1040]
	mov	r3, #0
	str	r3, [fp, #-1036]
	mov	r3, #0
	str	r3, [fp, #-1044]
	b	.L103
.L108:
	ldr	r1, .L124+4
	ldr	r2, [fp, #-1044]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #8
	beq	.L104
	cmp	r3, #16
	beq	.L105
	ldr	r3, [fp, #-1040]
	add	r2, r3, #4
	str	r2, [fp, #-1040]
	mov	r2, #32
	str	r2, [r3]
	b	.L106
.L104:
	ldr	r3, [fp, #-1040]
	add	r2, r3, #4
	str	r2, [fp, #-1040]
	mov	r2, #95
	str	r2, [r3]
	b	.L106
.L105:
	ldr	r2, [fp, #-1040]
	add	r3, r2, #4
	str	r3, [fp, #-1040]
	ldr	r0, .L124+4
	ldr	r1, [fp, #-1044]
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	lsl	r3, r3, #2
	add	r3, r0, r3
	add	r3, r3, #4
	ldr	r3, [r3]
	str	r3, [r2]
	ldr	r1, .L124+4
	ldr	r2, [fp, #-1044]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	add	r3, r3, #8
	ldr	r3, [r3]
	cmp	r3, #1
	ble	.L107
	ldr	r1, .L124+4
	ldr	r2, [fp, #-1044]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	add	r3, r3, #8
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, [fp, #-1044]
	add	r3, r2, r3
	str	r3, [fp, #-1044]
.L107:
	mov	r3, #1
	str	r3, [fp, #-1036]
	nop
.L106:
	ldr	r3, [fp, #-1044]
	add	r3, r3, #1
	str	r3, [fp, #-1044]
.L103:
	ldr	r3, .L124+8
	ldr	r3, [r3]
	ldr	r2, [fp, #-1044]
	cmp	r2, r3
	blt	.L108
	mov	r0, #13
	bl	putwchar
	ldr	r3, [fp, #-1040]
	mov	r2, #32
	str	r2, [r3]
	b	.L109
.L110:
	ldr	r3, [fp, #-1040]
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-1040]
	sub	r3, r3, #4
	str	r3, [fp, #-1040]
.L109:
	ldr	r3, [fp, #-1040]
	ldr	r3, [r3]
	cmp	r3, #32
	beq	.L110
	sub	r3, fp, #1024
	sub	r3, r3, #4
	sub	r3, r3, #4
	str	r3, [fp, #-1040]
	b	.L111
.L112:
	ldr	r3, [fp, #-1040]
	ldr	r3, [r3]
	mov	r0, r3
	bl	putwchar
	ldr	r3, [fp, #-1040]
	add	r3, r3, #4
	str	r3, [fp, #-1040]
.L111:
	ldr	r3, [fp, #-1040]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L112
	ldr	r3, [fp, #-1036]
	cmp	r3, #0
	beq	.L123
	mov	r0, #13
	bl	putwchar
	sub	r3, fp, #1024
	sub	r3, r3, #4
	sub	r3, r3, #4
	str	r3, [fp, #-1040]
	b	.L114
.L117:
	ldr	r3, [fp, #-1040]
	ldr	r3, [r3]
	cmp	r3, #95
	beq	.L115
	ldr	r3, [fp, #-1040]
	ldr	r3, [r3]
	b	.L116
.L115:
	mov	r3, #32
.L116:
	mov	r0, r3
	bl	putwchar
	ldr	r3, [fp, #-1040]
	add	r3, r3, #4
	str	r3, [fp, #-1040]
.L114:
	ldr	r3, [fp, #-1040]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L117
	mov	r0, #13
	bl	putwchar
	sub	r3, fp, #1024
	sub	r3, r3, #4
	sub	r3, r3, #4
	str	r3, [fp, #-1040]
	b	.L118
.L121:
	ldr	r3, [fp, #-1040]
	ldr	r3, [r3]
	cmp	r3, #95
	beq	.L119
	ldr	r3, [fp, #-1040]
	ldr	r3, [r3]
	b	.L120
.L119:
	mov	r3, #32
.L120:
	mov	r0, r3
	bl	putwchar
	ldr	r3, [fp, #-1040]
	add	r3, r3, #4
	str	r3, [fp, #-1040]
.L118:
	ldr	r3, [fp, #-1040]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L121
.L123:
	nop
	ldr	r3, .L124
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L122
	bl	__stack_chk_fail
.L122:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L125:
	.align	2
.L124:
	.word	.LC13
	.word	obuf
	.word	maxcol
	.size	overstrike, .-overstrike
	.section	.rodata
	.align	2
.LC14:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	iattr, %function
iattr:
	@ args = 0, pretend = 0, frame = 1040
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #1040
	ldr	r3, .L143
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #1024
	sub	r3, r3, #4
	sub	r3, r3, #4
	str	r3, [fp, #-1036]
	mov	r3, #0
	str	r3, [fp, #-1040]
	b	.L127
.L137:
	ldr	r1, .L143+4
	ldr	r2, [fp, #-1040]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #16
	ldrls	pc, [pc, r3, asl #2]
	b	.L128
.L130:
	.word	.L135
	.word	.L134
	.word	.L133
	.word	.L128
	.word	.L132
	.word	.L128
	.word	.L128
	.word	.L128
	.word	.L131
	.word	.L128
	.word	.L128
	.word	.L128
	.word	.L128
	.word	.L128
	.word	.L128
	.word	.L128
	.word	.L129
.L135:
	ldr	r3, [fp, #-1036]
	add	r2, r3, #4
	str	r2, [fp, #-1036]
	mov	r2, #32
	str	r2, [r3]
	b	.L136
.L134:
	ldr	r3, [fp, #-1036]
	add	r2, r3, #4
	str	r2, [fp, #-1036]
	mov	r2, #103
	str	r2, [r3]
	b	.L136
.L133:
	ldr	r3, [fp, #-1036]
	add	r2, r3, #4
	str	r2, [fp, #-1036]
	mov	r2, #94
	str	r2, [r3]
	b	.L136
.L132:
	ldr	r3, [fp, #-1036]
	add	r2, r3, #4
	str	r2, [fp, #-1036]
	mov	r2, #118
	str	r2, [r3]
	b	.L136
.L131:
	ldr	r3, [fp, #-1036]
	add	r2, r3, #4
	str	r2, [fp, #-1036]
	mov	r2, #95
	str	r2, [r3]
	b	.L136
.L129:
	ldr	r3, [fp, #-1036]
	add	r2, r3, #4
	str	r2, [fp, #-1036]
	mov	r2, #33
	str	r2, [r3]
	b	.L136
.L128:
	ldr	r3, [fp, #-1036]
	add	r2, r3, #4
	str	r2, [fp, #-1036]
	mov	r2, #88
	str	r2, [r3]
	nop
.L136:
	ldr	r3, [fp, #-1040]
	add	r3, r3, #1
	str	r3, [fp, #-1040]
.L127:
	ldr	r3, .L143+8
	ldr	r3, [r3]
	ldr	r2, [fp, #-1040]
	cmp	r2, r3
	blt	.L137
	ldr	r3, [fp, #-1036]
	mov	r2, #32
	str	r2, [r3]
	b	.L138
.L139:
	ldr	r3, [fp, #-1036]
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-1036]
	sub	r3, r3, #4
	str	r3, [fp, #-1036]
.L138:
	ldr	r3, [fp, #-1036]
	ldr	r3, [r3]
	cmp	r3, #32
	beq	.L139
	sub	r3, fp, #1024
	sub	r3, r3, #4
	sub	r3, r3, #4
	str	r3, [fp, #-1036]
	b	.L140
.L141:
	ldr	r3, [fp, #-1036]
	ldr	r3, [r3]
	mov	r0, r3
	bl	putwchar
	ldr	r3, [fp, #-1036]
	add	r3, r3, #4
	str	r3, [fp, #-1036]
.L140:
	ldr	r3, [fp, #-1036]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L141
	mov	r0, #10
	bl	putwchar
	nop
	ldr	r3, .L143
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L142
	bl	__stack_chk_fail
.L142:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L144:
	.align	2
.L143:
	.word	.LC14
	.word	obuf
	.word	maxcol
	.size	iattr, .-iattr
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	initbuf, %function
initbuf:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L146
	mov	r0, r3
	mov	r3, #6144
	mov	r2, r3
	mov	r1, #0
	bl	memset
	ldr	r3, .L146+4
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L146+8
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L146+12
	ldr	r3, [r3]
	and	r3, r3, #1
	ldr	r2, .L146+12
	str	r3, [r2]
	nop
	pop	{fp, pc}
.L147:
	.align	2
.L146:
	.word	obuf
	.word	col
	.word	maxcol
	.word	mode
	.size	initbuf, .-initbuf
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	fwd, %function
fwd:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	ldr	r3, .L149
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, .L149+4
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	bl	flushln
	ldr	r2, .L149
	ldr	r3, [fp, #-12]
	str	r3, [r2]
	ldr	r2, .L149+4
	ldr	r3, [fp, #-8]
	str	r3, [r2]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L150:
	.align	2
.L149:
	.word	col
	.word	maxcol
	.size	fwd, .-fwd
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	reverse, %function
reverse:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L154
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L154
	str	r3, [r2]
	bl	fwd
	ldr	r3, .L154+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L152
	ldr	r3, .L154+4
	ldr	r3, [r3]
	ldr	r2, .L154+8
	mov	r1, #1
	mov	r0, r3
	bl	tputs
.L152:
	ldr	r3, .L154+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L153
	ldr	r3, .L154+4
	ldr	r3, [r3]
	ldr	r2, .L154+8
	mov	r1, #1
	mov	r0, r3
	bl	tputs
.L153:
	ldr	r3, .L154
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L154
	str	r3, [r2]
	nop
	pop	{fp, pc}
.L155:
	.align	2
.L154:
	.word	upln
	.word	CURS_UP
	.word	outchar
	.size	reverse, .-reverse
	.section	.rodata
	.align	2
.LC15:
	.ascii	"up\000"
	.align	2
.LC16:
	.ascii	"ri\000"
	.align	2
.LC17:
	.ascii	"nd\000"
	.align	2
.LC18:
	.ascii	"le\000"
	.align	2
.LC19:
	.ascii	"bc\000"
	.align	2
.LC20:
	.ascii	"bs\000"
	.align	2
.LC21:
	.ascii	"\010\000"
	.align	2
.LC22:
	.ascii	"so\000"
	.align	2
.LC23:
	.ascii	"se\000"
	.align	2
.LC24:
	.ascii	"us\000"
	.align	2
.LC25:
	.ascii	"ue\000"
	.align	2
.LC26:
	.ascii	"mh\000"
	.align	2
.LC27:
	.ascii	"md\000"
	.align	2
.LC28:
	.ascii	"mr\000"
	.align	2
.LC29:
	.ascii	"me\000"
	.align	2
.LC30:
	.ascii	"uc\000"
	.align	2
.LC31:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	initcap, %function
initcap:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	ldr	r3, .L169
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L169+4
	str	r3, [fp, #-12]
	sub	r3, fp, #12
	mov	r1, r3
	ldr	r0, .L169+8
	bl	tgetstr
	mov	r3, r0
	ldr	r2, .L169+12
	str	r3, [r2]
	sub	r3, fp, #12
	mov	r1, r3
	ldr	r0, .L169+16
	bl	tgetstr
	mov	r3, r0
	ldr	r2, .L169+20
	str	r3, [r2]
	ldr	r3, .L169+20
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L157
	sub	r3, fp, #12
	mov	r1, r3
	ldr	r0, .L169+24
	bl	tgetstr
	mov	r3, r0
	ldr	r2, .L169+20
	str	r3, [r2]
.L157:
	sub	r3, fp, #12
	mov	r1, r3
	ldr	r0, .L169+28
	bl	tgetstr
	mov	r3, r0
	ldr	r2, .L169+32
	str	r3, [r2]
	ldr	r3, .L169+32
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L158
	sub	r3, fp, #12
	mov	r1, r3
	ldr	r0, .L169+36
	bl	tgetstr
	mov	r3, r0
	ldr	r2, .L169+32
	str	r3, [r2]
.L158:
	ldr	r3, .L169+32
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L159
	ldr	r0, .L169+40
	bl	tgetflag
	mov	r3, r0
	cmp	r3, #0
	beq	.L159
	ldr	r3, .L169+32
	ldr	r2, .L169+44
	str	r2, [r3]
.L159:
	sub	r3, fp, #12
	mov	r1, r3
	ldr	r0, .L169+48
	bl	tgetstr
	mov	r3, r0
	ldr	r2, .L169+52
	str	r3, [r2]
	sub	r3, fp, #12
	mov	r1, r3
	ldr	r0, .L169+56
	bl	tgetstr
	mov	r3, r0
	ldr	r2, .L169+60
	str	r3, [r2]
	sub	r3, fp, #12
	mov	r1, r3
	ldr	r0, .L169+64
	bl	tgetstr
	mov	r3, r0
	ldr	r2, .L169+68
	str	r3, [r2]
	sub	r3, fp, #12
	mov	r1, r3
	ldr	r0, .L169+72
	bl	tgetstr
	mov	r3, r0
	ldr	r2, .L169+76
	str	r3, [r2]
	sub	r3, fp, #12
	mov	r1, r3
	ldr	r0, .L169+80
	bl	tgetstr
	mov	r3, r0
	ldr	r2, .L169+84
	str	r3, [r2]
	sub	r3, fp, #12
	mov	r1, r3
	ldr	r0, .L169+88
	bl	tgetstr
	mov	r3, r0
	ldr	r2, .L169+92
	str	r3, [r2]
	sub	r3, fp, #12
	mov	r1, r3
	ldr	r0, .L169+96
	bl	tgetstr
	mov	r3, r0
	ldr	r2, .L169+100
	str	r3, [r2]
	sub	r3, fp, #12
	mov	r1, r3
	ldr	r0, .L169+104
	bl	tgetstr
	mov	r3, r0
	ldr	r2, .L169+108
	str	r3, [r2]
	ldr	r3, .L169+92
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L160
	ldr	r3, .L169+100
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L160
	ldr	r3, .L169+100
	ldr	r3, [r3]
	ldr	r2, .L169+92
	str	r3, [r2]
.L160:
	ldr	r3, .L169+92
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L161
	ldr	r3, .L169+52
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L161
	ldr	r3, .L169+52
	ldr	r3, [r3]
	ldr	r2, .L169+92
	str	r3, [r2]
.L161:
	ldr	r3, .L169+68
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L162
	ldr	r3, .L169+52
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L162
	ldr	r3, .L169+52
	ldr	r3, [r3]
	ldr	r2, .L169+68
	str	r3, [r2]
	ldr	r3, .L169+60
	ldr	r3, [r3]
	ldr	r2, .L169+76
	str	r3, [r2]
.L162:
	ldr	r3, .L169+84
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L163
	ldr	r3, .L169+52
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L163
	ldr	r3, .L169+52
	ldr	r3, [r3]
	ldr	r2, .L169+84
	str	r3, [r2]
.L163:
	ldr	r3, .L169+100
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L164
	ldr	r3, .L169+52
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L164
	ldr	r3, .L169+52
	ldr	r3, [r3]
	ldr	r2, .L169+100
	str	r3, [r2]
.L164:
	ldr	r3, .L169+108
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L165
	ldr	r3, .L169+60
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L165
	ldr	r3, .L169+60
	ldr	r3, [r3]
	ldr	r2, .L169+108
	str	r3, [r2]
.L165:
	sub	r3, fp, #12
	mov	r1, r3
	ldr	r0, .L169+112
	bl	tgetstr
	mov	r3, r0
	ldr	r2, .L169+116
	str	r3, [r2]
	ldr	r3, .L169+116
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L166
	ldr	r3, .L169+68
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L166
	mov	r3, #1
	b	.L167
.L166:
	mov	r3, #0
.L167:
	ldr	r2, .L169+120
	str	r3, [r2]
	nop
	ldr	r3, .L169
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L168
	bl	__stack_chk_fail
.L168:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L170:
	.align	2
.L169:
	.word	.LC31
	.word	tcapbuf.6599
	.word	.LC15
	.word	CURS_UP
	.word	.LC16
	.word	CURS_RIGHT
	.word	.LC17
	.word	.LC18
	.word	CURS_LEFT
	.word	.LC19
	.word	.LC20
	.word	.LC21
	.word	.LC22
	.word	ENTER_STANDOUT
	.word	.LC23
	.word	EXIT_STANDOUT
	.word	.LC24
	.word	ENTER_UNDERLINE
	.word	.LC25
	.word	EXIT_UNDERLINE
	.word	.LC26
	.word	ENTER_DIM
	.word	.LC27
	.word	ENTER_BOLD
	.word	.LC28
	.word	ENTER_REVERSE
	.word	.LC29
	.word	EXIT_ATTRIBUTES
	.word	.LC30
	.word	UNDER_CHAR
	.word	must_use_uc
	.size	initcap, .-initcap
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	outchar, %function
outchar:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	bl	putwchar
	mov	r3, r0
	cmn	r3, #1
	beq	.L172
	ldr	r3, [fp, #-8]
	b	.L174
.L172:
	mvn	r3, #0
.L174:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	outchar, .-outchar
	.local	curmode
	.comm	curmode,4,4
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	outc, %function
outc:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	putwchar
	ldr	r3, .L184
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L183
	ldr	r3, .L184+4
	ldr	r3, [r3]
	and	r3, r3, #8
	cmp	r3, #0
	beq	.L183
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L177
.L179:
	ldr	r3, .L184+8
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L178
	ldr	r3, .L184+8
	ldr	r3, [r3]
	ldr	r2, .L184+12
	mov	r1, #1
	mov	r0, r3
	bl	tputs
.L178:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L177:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	blt	.L179
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L180
.L182:
	ldr	r3, .L184+16
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L181
	ldr	r3, .L184+16
	ldr	r3, [r3]
	ldr	r2, .L184+12
	mov	r1, #1
	mov	r0, r3
	bl	tputs
.L181:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L180:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	blt	.L182
.L183:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L185:
	.align	2
.L184:
	.word	must_use_uc
	.word	curmode
	.word	CURS_LEFT
	.word	outchar
	.word	UNDER_CHAR
	.size	outc, .-outc
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	setnewmode, %function
setnewmode:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, .L221
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L211
	ldr	r3, .L221+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L188
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L188
	mov	r0, #0
	bl	setnewmode
.L188:
	ldr	r3, [fp, #-8]
	cmp	r3, #16
	ldrls	pc, [pc, r3, asl #2]
	b	.L189
.L191:
	.word	.L196
	.word	.L195
	.word	.L194
	.word	.L189
	.word	.L193
	.word	.L189
	.word	.L189
	.word	.L189
	.word	.L192
	.word	.L189
	.word	.L189
	.word	.L189
	.word	.L189
	.word	.L189
	.word	.L189
	.word	.L189
	.word	.L190
.L196:
	ldr	r3, .L221+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L212
	cmp	r3, #8
	bne	.L210
	ldr	r3, .L221+8
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L213
	ldr	r3, .L221+8
	ldr	r3, [r3]
	ldr	r2, .L221+12
	mov	r1, #1
	mov	r0, r3
	bl	tputs
	b	.L213
.L210:
	ldr	r3, .L221+16
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L214
	ldr	r3, .L221+16
	ldr	r3, [r3]
	ldr	r2, .L221+12
	mov	r1, #1
	mov	r0, r3
	bl	tputs
	b	.L214
.L212:
	nop
	b	.L187
.L213:
	nop
	b	.L187
.L214:
	nop
	b	.L187
.L195:
	ldr	r3, .L221+20
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L215
	ldr	r3, .L221+20
	ldr	r3, [r3]
	ldr	r2, .L221+12
	mov	r1, #1
	mov	r0, r3
	bl	tputs
	b	.L215
.L194:
	ldr	r3, .L221+24
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L204
	ldr	r3, .L221+24
	ldr	r3, [r3]
	ldr	r2, .L221+12
	mov	r1, #1
	mov	r0, r3
	bl	tputs
.L204:
	ldr	r3, .L221+28
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L216
	ldr	r3, .L221+28
	ldr	r3, [r3]
	ldr	r2, .L221+12
	mov	r1, #1
	mov	r0, r3
	bl	tputs
	b	.L216
.L193:
	ldr	r3, .L221+28
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L217
	ldr	r3, .L221+28
	ldr	r3, [r3]
	ldr	r2, .L221+12
	mov	r1, #1
	mov	r0, r3
	bl	tputs
	b	.L217
.L192:
	ldr	r3, .L221+24
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L218
	ldr	r3, .L221+24
	ldr	r3, [r3]
	ldr	r2, .L221+12
	mov	r1, #1
	mov	r0, r3
	bl	tputs
	b	.L218
.L190:
	ldr	r3, .L221+32
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L219
	ldr	r3, .L221+32
	ldr	r3, [r3]
	ldr	r2, .L221+12
	mov	r1, #1
	mov	r0, r3
	bl	tputs
	b	.L219
.L189:
	ldr	r3, .L221+36
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L220
	ldr	r3, .L221+36
	ldr	r3, [r3]
	ldr	r2, .L221+12
	mov	r1, #1
	mov	r0, r3
	bl	tputs
	b	.L220
.L211:
	nop
	b	.L187
.L215:
	nop
	b	.L187
.L216:
	nop
	b	.L187
.L217:
	nop
	b	.L187
.L218:
	nop
	b	.L187
.L219:
	nop
	b	.L187
.L220:
	nop
.L187:
	ldr	r2, .L221+4
	ldr	r3, [fp, #-8]
	str	r3, [r2]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L222:
	.align	2
.L221:
	.word	iflag
	.word	curmode
	.word	EXIT_UNDERLINE
	.word	outchar
	.word	EXIT_ATTRIBUTES
	.word	ENTER_REVERSE
	.word	ENTER_UNDERLINE
	.word	ENTER_DIM
	.word	ENTER_BOLD
	.word	ENTER_STANDOUT
	.size	setnewmode, .-setnewmode
	.local	tcapbuf.6599
	.comm	tcapbuf.6599,512,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
