	.file	"106529.c"
	.intel_syntax noprefix
	.text
	.globl	COLOR_FG
	.section	.rodata
.LC0:
	.string	"@17"
	.section	.data.rel.local,"aw"
	.align 8
	.type	COLOR_FG, @object
	.size	COLOR_FG, 8
COLOR_FG:
	.quad	.LC0
	.globl	COLOR_BG
	.section	.rodata
.LC1:
	.string	"@0"
	.section	.data.rel.local
	.align 8
	.type	COLOR_BG, @object
	.size	COLOR_BG, 8
COLOR_BG:
	.quad	.LC1
	.globl	COLOR_ALT_FG
	.align 8
	.type	COLOR_ALT_FG, @object
	.size	COLOR_ALT_FG, 8
COLOR_ALT_FG:
	.quad	.LC0
	.globl	COLOR_ALT_BG
	.align 8
	.type	COLOR_ALT_BG, @object
	.size	COLOR_ALT_BG, 8
COLOR_ALT_BG:
	.quad	.LC1
	.globl	COLOR_NUMBER_FG
	.align 8
	.type	COLOR_NUMBER_FG, @object
	.size	COLOR_NUMBER_FG, 8
COLOR_NUMBER_FG:
	.quad	.LC0
	.globl	COLOR_NUMBER_BG
	.align 8
	.type	COLOR_NUMBER_BG, @object
	.size	COLOR_NUMBER_BG, 8
COLOR_NUMBER_BG:
	.quad	.LC1
	.globl	COLOR_STATUS_FG
	.align 8
	.type	COLOR_STATUS_FG, @object
	.size	COLOR_STATUS_FG, 8
COLOR_STATUS_FG:
	.quad	.LC0
	.globl	COLOR_STATUS_BG
	.align 8
	.type	COLOR_STATUS_BG, @object
	.size	COLOR_STATUS_BG, 8
COLOR_STATUS_BG:
	.quad	.LC1
	.globl	COLOR_TABBAR_BG
	.align 8
	.type	COLOR_TABBAR_BG, @object
	.size	COLOR_TABBAR_BG, 8
COLOR_TABBAR_BG:
	.quad	.LC1
	.globl	COLOR_TAB_BG
	.align 8
	.type	COLOR_TAB_BG, @object
	.size	COLOR_TAB_BG, 8
COLOR_TAB_BG:
	.quad	.LC1
	.globl	COLOR_ERROR_FG
	.align 8
	.type	COLOR_ERROR_FG, @object
	.size	COLOR_ERROR_FG, 8
COLOR_ERROR_FG:
	.quad	.LC0
	.globl	COLOR_ERROR_BG
	.align 8
	.type	COLOR_ERROR_BG, @object
	.size	COLOR_ERROR_BG, 8
COLOR_ERROR_BG:
	.quad	.LC1
	.globl	COLOR_SEARCH_FG
	.align 8
	.type	COLOR_SEARCH_FG, @object
	.size	COLOR_SEARCH_FG, 8
COLOR_SEARCH_FG:
	.quad	.LC0
	.globl	COLOR_SEARCH_BG
	.align 8
	.type	COLOR_SEARCH_BG, @object
	.size	COLOR_SEARCH_BG, 8
COLOR_SEARCH_BG:
	.quad	.LC1
	.globl	COLOR_KEYWORD
	.align 8
	.type	COLOR_KEYWORD, @object
	.size	COLOR_KEYWORD, 8
COLOR_KEYWORD:
	.quad	.LC0
	.globl	COLOR_STRING
	.align 8
	.type	COLOR_STRING, @object
	.size	COLOR_STRING, 8
COLOR_STRING:
	.quad	.LC0
	.globl	COLOR_COMMENT
	.align 8
	.type	COLOR_COMMENT, @object
	.size	COLOR_COMMENT, 8
COLOR_COMMENT:
	.quad	.LC0
	.globl	COLOR_TYPE
	.align 8
	.type	COLOR_TYPE, @object
	.size	COLOR_TYPE, 8
COLOR_TYPE:
	.quad	.LC0
	.globl	COLOR_PRAGMA
	.align 8
	.type	COLOR_PRAGMA, @object
	.size	COLOR_PRAGMA, 8
COLOR_PRAGMA:
	.quad	.LC0
	.globl	COLOR_NUMERAL
	.align 8
	.type	COLOR_NUMERAL, @object
	.size	COLOR_NUMERAL, 8
COLOR_NUMERAL:
	.quad	.LC0
	.globl	COLOR_SELECTFG
	.align 8
	.type	COLOR_SELECTFG, @object
	.size	COLOR_SELECTFG, 8
COLOR_SELECTFG:
	.quad	.LC1
	.globl	COLOR_SELECTBG
	.align 8
	.type	COLOR_SELECTBG, @object
	.size	COLOR_SELECTBG, 8
COLOR_SELECTBG:
	.quad	.LC0
	.globl	COLOR_RED
	.section	.rodata
.LC2:
	.string	"@1"
	.section	.data.rel.local
	.align 8
	.type	COLOR_RED, @object
	.size	COLOR_RED, 8
COLOR_RED:
	.quad	.LC2
	.globl	COLOR_GREEN
	.section	.rodata
.LC3:
	.string	"@2"
	.section	.data.rel.local
	.align 8
	.type	COLOR_GREEN, @object
	.size	COLOR_GREEN, 8
COLOR_GREEN:
	.quad	.LC3
	.globl	current_theme
	.section	.rodata
.LC4:
	.string	"none"
	.section	.data.rel.local
	.align 8
	.type	current_theme, @object
	.size	current_theme, 8
current_theme:
	.quad	.LC4
	.text
	.globl	flag_to_color
	.type	flag_to_color, @function
flag_to_color:
.LFB6:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	mov	eax, DWORD PTR -20[rbp]
	and	eax, 15
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 16
	ja	.L2
	mov	eax, DWORD PTR -4[rbp]
	lea	rdx, 0[0+rax*4]
	lea	rax, .L4[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L4[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L4:
	.long	.L2-.L4
	.long	.L12-.L4
	.long	.L7-.L4
	.long	.L11-.L4
	.long	.L10-.L4
	.long	.L9-.L4
	.long	.L8-.L4
	.long	.L7-.L4
	.long	.L6-.L4
	.long	.L5-.L4
	.long	.L2-.L4
	.long	.L2-.L4
	.long	.L2-.L4
	.long	.L2-.L4
	.long	.L2-.L4
	.long	.L2-.L4
	.long	.L3-.L4
	.text
.L12:
	mov	rax, QWORD PTR COLOR_KEYWORD[rip]
	jmp	.L13
.L7:
	mov	rax, QWORD PTR COLOR_STRING[rip]
	jmp	.L13
.L11:
	mov	rax, QWORD PTR COLOR_COMMENT[rip]
	jmp	.L13
.L10:
	mov	rax, QWORD PTR COLOR_TYPE[rip]
	jmp	.L13
.L8:
	mov	rax, QWORD PTR COLOR_NUMERAL[rip]
	jmp	.L13
.L9:
	mov	rax, QWORD PTR COLOR_PRAGMA[rip]
	jmp	.L13
.L6:
	mov	rax, QWORD PTR COLOR_GREEN[rip]
	jmp	.L13
.L5:
	mov	rax, QWORD PTR COLOR_RED[rip]
	jmp	.L13
.L3:
	mov	rax, QWORD PTR COLOR_FG[rip]
	jmp	.L13
.L2:
	mov	rax, QWORD PTR COLOR_FG[rip]
.L13:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	flag_to_color, .-flag_to_color
	.globl	global_config
	.section	.rodata
.LC5:
	.string	"~/.bimrc"
	.section	.data.rel.local
	.align 32
	.type	global_config, @object
	.size	global_config, 120
global_config:
	.long	0
	.long	0
	.long	2
	.long	1
	.long	0
	.zero	4
	.quad	0
	.quad	0
	.long	0
	.long	0
	.quad	.LC5
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	4
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.globl	_bim_unget
	.data
	.align 4
	.type	_bim_unget, @object
	.size	_bim_unget, 4
_bim_unget:
	.long	-1
	.text
	.globl	bim_unget
	.type	bim_unget, @function
bim_unget:
.LFB7:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	mov	eax, DWORD PTR -4[rbp]
	mov	DWORD PTR _bim_unget[rip], eax
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	bim_unget, .-bim_unget
	.globl	bim_getch_timeout
	.type	bim_getch_timeout, @function
bim_getch_timeout:
.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, 48
	mov	DWORD PTR -36[rbp], edi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	eax, DWORD PTR _bim_unget[rip]
	cmp	eax, -1
	je	.L16
	mov	eax, DWORD PTR _bim_unget[rip]
	mov	DWORD PTR -24[rbp], eax
	mov	DWORD PTR _bim_unget[rip], -1
	mov	eax, DWORD PTR -24[rbp]
	jmp	.L19
.L16:
	mov	eax, DWORD PTR global_config[rip+44]
	mov	DWORD PTR -20[rbp], eax
	mov	WORD PTR -16[rbp], 1
	mov	edx, DWORD PTR -36[rbp]
	lea	rax, -20[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	poll@PLT
	mov	DWORD PTR -28[rbp], eax
	cmp	DWORD PTR -28[rbp], 0
	jle	.L18
	movzx	eax, WORD PTR -14[rbp]
	cwde
	and	eax, 1
	test	eax, eax
	je	.L18
	mov	eax, DWORD PTR global_config[rip+44]
	lea	rcx, -9[rbp]
	mov	edx, 1
	mov	rsi, rcx
	mov	edi, eax
	call	read@PLT
	movzx	eax, BYTE PTR -9[rbp]
	movzx	eax, al
	jmp	.L19
.L18:
	mov	eax, -1
.L19:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L20
	call	__stack_chk_fail@PLT
.L20:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	bim_getch_timeout, .-bim_getch_timeout
	.globl	env
	.bss
	.align 8
	.type	env, @object
	.size	env, 8
env:
	.zero	8
	.globl	buffers_len
	.align 4
	.type	buffers_len, @object
	.size	buffers_len, 4
buffers_len:
	.zero	4
	.globl	buffers_avail
	.align 4
	.type	buffers_avail, @object
	.size	buffers_avail, 4
buffers_avail:
	.zero	4
	.globl	buffers
	.align 8
	.type	buffers, @object
	.size	buffers, 8
buffers:
	.zero	8
	.text
	.globl	buffer_new
	.type	buffer_new, @function
buffer_new:
.LFB9:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 8
	.cfi_offset 3, -24
	mov	edx, DWORD PTR buffers_len[rip]
	mov	eax, DWORD PTR buffers_avail[rip]
	cmp	edx, eax
	jne	.L22
	mov	eax, DWORD PTR buffers_avail[rip]
	add	eax, eax
	mov	DWORD PTR buffers_avail[rip], eax
	mov	eax, DWORD PTR buffers_avail[rip]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR buffers[rip]
	mov	rsi, rdx
	mov	rdi, rax
	call	realloc@PLT
	mov	QWORD PTR buffers[rip], rax
.L22:
	mov	rdx, QWORD PTR buffers[rip]
	mov	eax, DWORD PTR buffers_len[rip]
	cdqe
	sal	rax, 3
	lea	rbx, [rdx+rax]
	mov	edi, 88
	call	malloc@PLT
	mov	QWORD PTR [rbx], rax
	mov	rdx, QWORD PTR buffers[rip]
	mov	eax, DWORD PTR buffers_len[rip]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, 88
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	eax, DWORD PTR buffers_len[rip]
	add	eax, 1
	mov	DWORD PTR buffers_len[rip], eax
	mov	rdx, QWORD PTR buffers[rip]
	mov	eax, DWORD PTR buffers_len[rip]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	buffer_new, .-buffer_new
	.globl	buffer_close
	.type	buffer_close, @function
buffer_close:
.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, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -4[rbp], 0
	jmp	.L25
.L28:
	mov	rdx, QWORD PTR buffers[rip]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	cmp	QWORD PTR -24[rbp], rax
	je	.L34
	add	DWORD PTR -4[rbp], 1
.L25:
	mov	eax, DWORD PTR buffers_len[rip]
	cmp	DWORD PTR -4[rbp], eax
	jl	.L28
	jmp	.L27
.L34:
	nop
.L27:
	mov	eax, DWORD PTR buffers_len[rip]
	cmp	DWORD PTR -4[rbp], eax
	jne	.L29
	mov	rax, QWORD PTR env[rip]
	jmp	.L30
.L29:
	mov	eax, DWORD PTR buffers_len[rip]
	sub	eax, 1
	cmp	DWORD PTR -4[rbp], eax
	je	.L31
	mov	eax, DWORD PTR buffers_len[rip]
	sub	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rcx, QWORD PTR buffers[rip]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	add	rax, 1
	sal	rax, 3
	add	rcx, rax
	mov	rsi, QWORD PTR buffers[rip]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 3
	add	rax, rsi
	mov	rsi, rcx
	mov	rdi, rax
	call	memmove@PLT
.L31:
	mov	eax, DWORD PTR buffers_len[rip]
	sub	eax, 1
	mov	DWORD PTR buffers_len[rip], eax
	mov	eax, DWORD PTR buffers_len[rip]
	test	eax, eax
	jne	.L32
	mov	eax, 0
	jmp	.L30
.L32:
	mov	eax, DWORD PTR buffers_len[rip]
	cmp	DWORD PTR -4[rbp], eax
	jne	.L33
	mov	rdx, QWORD PTR buffers[rip]
	mov	eax, DWORD PTR buffers_len[rip]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	jmp	.L30
.L33:
	mov	rdx, QWORD PTR buffers[rip]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
.L30:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	buffer_close, .-buffer_close
	.section	.rodata
.LC6:
	.string	"@7"
.LC7:
	.string	"@9"
.LC8:
	.string	"@10"
.LC9:
	.string	"@5"
.LC10:
	.string	"@3"
.LC11:
	.string	"@4"
.LC12:
	.string	"@14"
.LC13:
	.string	"@13"
.LC14:
	.string	"ansi"
	.text
	.globl	load_colorscheme_ansi
	.type	load_colorscheme_ansi, @function
load_colorscheme_ansi:
.LFB11:
	.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 global_config[rip+76]
	test	eax, eax
	je	.L36
	lea	rax, .LC0[rip]
	jmp	.L37
.L36:
	lea	rax, .LC6[rip]
.L37:
	mov	QWORD PTR COLOR_FG[rip], rax
	mov	eax, DWORD PTR global_config[rip+76]
	test	eax, eax
	je	.L38
	lea	rax, .LC7[rip]
	jmp	.L39
.L38:
	lea	rax, .LC1[rip]
.L39:
	mov	QWORD PTR COLOR_BG[rip], rax
	mov	eax, DWORD PTR global_config[rip+76]
	test	eax, eax
	je	.L40
	lea	rax, .LC8[rip]
	jmp	.L41
.L40:
	lea	rax, .LC9[rip]
.L41:
	mov	QWORD PTR COLOR_ALT_FG[rip], rax
	lea	rax, .LC7[rip]
	mov	QWORD PTR COLOR_ALT_BG[rip], rax
	lea	rax, .LC10[rip]
	mov	QWORD PTR COLOR_NUMBER_FG[rip], rax
	lea	rax, .LC7[rip]
	mov	QWORD PTR COLOR_NUMBER_BG[rip], rax
	mov	eax, DWORD PTR global_config[rip+76]
	test	eax, eax
	je	.L42
	lea	rax, .LC0[rip]
	jmp	.L43
.L42:
	lea	rax, .LC6[rip]
.L43:
	mov	QWORD PTR COLOR_STATUS_FG[rip], rax
	lea	rax, .LC11[rip]
	mov	QWORD PTR COLOR_STATUS_BG[rip], rax
	lea	rax, .LC11[rip]
	mov	QWORD PTR COLOR_TABBAR_BG[rip], rax
	lea	rax, .LC11[rip]
	mov	QWORD PTR COLOR_TAB_BG[rip], rax
	mov	eax, DWORD PTR global_config[rip+76]
	test	eax, eax
	je	.L44
	lea	rax, .LC12[rip]
	jmp	.L45
.L44:
	lea	rax, .LC11[rip]
.L45:
	mov	QWORD PTR COLOR_KEYWORD[rip], rax
	lea	rax, .LC3[rip]
	mov	QWORD PTR COLOR_STRING[rip], rax
	mov	eax, DWORD PTR global_config[rip+76]
	test	eax, eax
	je	.L46
	lea	rax, .LC8[rip]
	jmp	.L47
.L46:
	lea	rax, .LC9[rip]
.L47:
	mov	QWORD PTR COLOR_COMMENT[rip], rax
	lea	rax, .LC10[rip]
	mov	QWORD PTR COLOR_TYPE[rip], rax
	lea	rax, .LC2[rip]
	mov	QWORD PTR COLOR_PRAGMA[rip], rax
	lea	rax, .LC2[rip]
	mov	QWORD PTR COLOR_NUMERAL[rip], rax
	mov	eax, DWORD PTR global_config[rip+76]
	test	eax, eax
	je	.L48
	lea	rax, .LC0[rip]
	jmp	.L49
.L48:
	lea	rax, .LC6[rip]
.L49:
	mov	QWORD PTR COLOR_ERROR_FG[rip], rax
	lea	rax, .LC2[rip]
	mov	QWORD PTR COLOR_ERROR_BG[rip], rax
	lea	rax, .LC1[rip]
	mov	QWORD PTR COLOR_SEARCH_FG[rip], rax
	mov	eax, DWORD PTR global_config[rip+76]
	test	eax, eax
	je	.L50
	lea	rax, .LC13[rip]
	jmp	.L51
.L50:
	lea	rax, .LC10[rip]
.L51:
	mov	QWORD PTR COLOR_SEARCH_BG[rip], rax
	mov	eax, DWORD PTR global_config[rip+76]
	test	eax, eax
	je	.L52
	lea	rax, .LC0[rip]
	jmp	.L53
.L52:
	lea	rax, .LC6[rip]
.L53:
	mov	QWORD PTR COLOR_SELECTBG[rip], rax
	lea	rax, .LC1[rip]
	mov	QWORD PTR COLOR_SELECTFG[rip], rax
	lea	rax, .LC2[rip]
	mov	QWORD PTR COLOR_RED[rip], rax
	lea	rax, .LC3[rip]
	mov	QWORD PTR COLOR_GREEN[rip], rax
	lea	rax, .LC14[rip]
	mov	QWORD PTR current_theme[rip], rax
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	load_colorscheme_ansi, .-load_colorscheme_ansi
	.section	.rodata
.LC15:
	.string	"5;230"
.LC16:
	.string	"5;235"
.LC17:
	.string	"5;244"
.LC18:
	.string	"5;236"
.LC19:
	.string	"5;232"
.LC20:
	.string	"5;101"
.LC21:
	.string	"5;238"
.LC22:
	.string	"5;248"
.LC23:
	.string	"5;117"
.LC24:
	.string	"5;113"
.LC25:
	.string	"5;102;3"
.LC26:
	.string	"5;102"
.LC27:
	.string	"5;186"
.LC28:
	.string	"5;173"
.LC29:
	.string	"5;15"
.LC30:
	.string	"5;196"
.LC31:
	.string	"5;234"
.LC32:
	.string	"5;226"
.LC33:
	.string	"wombat"
	.text
	.globl	load_colorscheme_wombat
	.type	load_colorscheme_wombat, @function
load_colorscheme_wombat:
.LFB12:
	.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 global_config[rip+108]
	test	eax, eax
	je	.L59
	lea	rax, .LC15[rip]
	mov	QWORD PTR COLOR_FG[rip], rax
	lea	rax, .LC16[rip]
	mov	QWORD PTR COLOR_BG[rip], rax
	lea	rax, .LC17[rip]
	mov	QWORD PTR COLOR_ALT_FG[rip], rax
	lea	rax, .LC18[rip]
	mov	QWORD PTR COLOR_ALT_BG[rip], rax
	lea	rax, .LC19[rip]
	mov	QWORD PTR COLOR_NUMBER_BG[rip], rax
	lea	rax, .LC20[rip]
	mov	QWORD PTR COLOR_NUMBER_FG[rip], rax
	lea	rax, .LC15[rip]
	mov	QWORD PTR COLOR_STATUS_FG[rip], rax
	lea	rax, .LC21[rip]
	mov	QWORD PTR COLOR_STATUS_BG[rip], rax
	lea	rax, .LC15[rip]
	mov	QWORD PTR COLOR_TABBAR_BG[rip], rax
	lea	rax, .LC22[rip]
	mov	QWORD PTR COLOR_TAB_BG[rip], rax
	lea	rax, .LC23[rip]
	mov	QWORD PTR COLOR_KEYWORD[rip], rax
	lea	rax, .LC24[rip]
	mov	QWORD PTR COLOR_STRING[rip], rax
	mov	eax, DWORD PTR global_config[rip+112]
	test	eax, eax
	je	.L57
	lea	rax, .LC25[rip]
	jmp	.L58
.L57:
	lea	rax, .LC26[rip]
.L58:
	mov	QWORD PTR COLOR_COMMENT[rip], rax
	lea	rax, .LC27[rip]
	mov	QWORD PTR COLOR_TYPE[rip], rax
	lea	rax, .LC28[rip]
	mov	QWORD PTR COLOR_PRAGMA[rip], rax
	mov	rax, QWORD PTR COLOR_PRAGMA[rip]
	mov	QWORD PTR COLOR_NUMERAL[rip], rax
	lea	rax, .LC29[rip]
	mov	QWORD PTR COLOR_ERROR_FG[rip], rax
	lea	rax, .LC30[rip]
	mov	QWORD PTR COLOR_ERROR_BG[rip], rax
	lea	rax, .LC31[rip]
	mov	QWORD PTR COLOR_SEARCH_FG[rip], rax
	lea	rax, .LC32[rip]
	mov	QWORD PTR COLOR_SEARCH_BG[rip], rax
	lea	rax, .LC16[rip]
	mov	QWORD PTR COLOR_SELECTFG[rip], rax
	lea	rax, .LC15[rip]
	mov	QWORD PTR COLOR_SELECTBG[rip], rax
	lea	rax, .LC2[rip]
	mov	QWORD PTR COLOR_RED[rip], rax
	lea	rax, .LC3[rip]
	mov	QWORD PTR COLOR_GREEN[rip], rax
	lea	rax, .LC33[rip]
	mov	QWORD PTR current_theme[rip], rax
	jmp	.L54
.L59:
	nop
.L54:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE12:
	.size	load_colorscheme_wombat, .-load_colorscheme_wombat
	.section	.rodata
.LC34:
	.string	"2;151;178;198"
.LC35:
	.string	"2;29;37;44"
.LC36:
	.string	"2;45;55;65"
.LC37:
	.string	"2;33;42;50"
.LC38:
	.string	"2;71;89;103"
.LC39:
	.string	"2;37;47;56"
.LC40:
	.string	"2;116;144;166"
.LC41:
	.string	"2;53;67;78"
.LC42:
	.string	"2;94;196;255"
.LC43:
	.string	"2;83;154;252"
.LC44:
	.string	"2;107;133;153;3"
.LC45:
	.string	"2;139;212;156"
.LC46:
	.string	"2;0;139;148"
.LC47:
	.string	"2;207;118;132"
.LC48:
	.string	"2;222;53;53"
.LC49:
	.string	"2;55;167;0"
.LC50:
	.string	"citylights"
	.text
	.globl	load_colorscheme_citylights
	.type	load_colorscheme_citylights, @function
load_colorscheme_citylights:
.LFB13:
	.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 global_config[rip+104]
	test	eax, eax
	je	.L63
	lea	rax, .LC34[rip]
	mov	QWORD PTR COLOR_FG[rip], rax
	lea	rax, .LC35[rip]
	mov	QWORD PTR COLOR_BG[rip], rax
	lea	rax, .LC36[rip]
	mov	QWORD PTR COLOR_ALT_FG[rip], rax
	lea	rax, .LC37[rip]
	mov	QWORD PTR COLOR_ALT_BG[rip], rax
	lea	rax, .LC38[rip]
	mov	QWORD PTR COLOR_NUMBER_FG[rip], rax
	lea	rax, .LC39[rip]
	mov	QWORD PTR COLOR_NUMBER_BG[rip], rax
	lea	rax, .LC40[rip]
	mov	QWORD PTR COLOR_STATUS_FG[rip], rax
	lea	rax, .LC41[rip]
	mov	QWORD PTR COLOR_STATUS_BG[rip], rax
	lea	rax, .LC39[rip]
	mov	QWORD PTR COLOR_TABBAR_BG[rip], rax
	lea	rax, .LC35[rip]
	mov	QWORD PTR COLOR_TAB_BG[rip], rax
	lea	rax, .LC42[rip]
	mov	QWORD PTR COLOR_KEYWORD[rip], rax
	lea	rax, .LC43[rip]
	mov	QWORD PTR COLOR_STRING[rip], rax
	lea	rax, .LC44[rip]
	mov	QWORD PTR COLOR_COMMENT[rip], rax
	lea	rax, .LC45[rip]
	mov	QWORD PTR COLOR_TYPE[rip], rax
	lea	rax, .LC46[rip]
	mov	QWORD PTR COLOR_PRAGMA[rip], rax
	lea	rax, .LC47[rip]
	mov	QWORD PTR COLOR_NUMERAL[rip], rax
	lea	rax, .LC29[rip]
	mov	QWORD PTR COLOR_ERROR_FG[rip], rax
	lea	rax, .LC30[rip]
	mov	QWORD PTR COLOR_ERROR_BG[rip], rax
	lea	rax, .LC31[rip]
	mov	QWORD PTR COLOR_SEARCH_FG[rip], rax
	lea	rax, .LC32[rip]
	mov	QWORD PTR COLOR_SEARCH_BG[rip], rax
	lea	rax, .LC35[rip]
	mov	QWORD PTR COLOR_SELECTFG[rip], rax
	lea	rax, .LC34[rip]
	mov	QWORD PTR COLOR_SELECTBG[rip], rax
	lea	rax, .LC48[rip]
	mov	QWORD PTR COLOR_RED[rip], rax
	lea	rax, .LC49[rip]
	mov	QWORD PTR COLOR_GREEN[rip], rax
	lea	rax, .LC50[rip]
	mov	QWORD PTR current_theme[rip], rax
	jmp	.L60
.L63:
	nop
.L60:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE13:
	.size	load_colorscheme_citylights, .-load_colorscheme_citylights
	.section	.rodata
.LC51:
	.string	"2;147;161;161"
.LC52:
	.string	"2;0;43;54"
.LC53:
	.string	"2;7;54;66"
.LC54:
	.string	"2;131;148;149"
.LC55:
	.string	"2;131;148;150"
.LC56:
	.string	"2;133;153;0"
.LC57:
	.string	"2;42;161;152"
.LC58:
	.string	"2;101;123;131"
.LC59:
	.string	"2;181;137;0"
.LC60:
	.string	"2;203;75;22"
.LC61:
	.string	"2;220;50;47"
.LC62:
	.string	"solarized-dark"
	.text
	.globl	load_colorscheme_solarized_dark
	.type	load_colorscheme_solarized_dark, @function
load_colorscheme_solarized_dark:
.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 global_config[rip+104]
	test	eax, eax
	je	.L67
	lea	rax, .LC51[rip]
	mov	QWORD PTR COLOR_FG[rip], rax
	lea	rax, .LC52[rip]
	mov	QWORD PTR COLOR_BG[rip], rax
	lea	rax, .LC51[rip]
	mov	QWORD PTR COLOR_ALT_FG[rip], rax
	lea	rax, .LC53[rip]
	mov	QWORD PTR COLOR_ALT_BG[rip], rax
	lea	rax, .LC54[rip]
	mov	QWORD PTR COLOR_NUMBER_FG[rip], rax
	lea	rax, .LC53[rip]
	mov	QWORD PTR COLOR_NUMBER_BG[rip], rax
	lea	rax, .LC55[rip]
	mov	QWORD PTR COLOR_STATUS_FG[rip], rax
	lea	rax, .LC53[rip]
	mov	QWORD PTR COLOR_STATUS_BG[rip], rax
	lea	rax, .LC53[rip]
	mov	QWORD PTR COLOR_TABBAR_BG[rip], rax
	lea	rax, .LC55[rip]
	mov	QWORD PTR COLOR_TAB_BG[rip], rax
	lea	rax, .LC56[rip]
	mov	QWORD PTR COLOR_KEYWORD[rip], rax
	lea	rax, .LC57[rip]
	mov	QWORD PTR COLOR_STRING[rip], rax
	lea	rax, .LC58[rip]
	mov	QWORD PTR COLOR_COMMENT[rip], rax
	lea	rax, .LC59[rip]
	mov	QWORD PTR COLOR_TYPE[rip], rax
	lea	rax, .LC60[rip]
	mov	QWORD PTR COLOR_PRAGMA[rip], rax
	lea	rax, .LC61[rip]
	mov	QWORD PTR COLOR_NUMERAL[rip], rax
	lea	rax, .LC29[rip]
	mov	QWORD PTR COLOR_ERROR_FG[rip], rax
	lea	rax, .LC30[rip]
	mov	QWORD PTR COLOR_ERROR_BG[rip], rax
	lea	rax, .LC31[rip]
	mov	QWORD PTR COLOR_SEARCH_FG[rip], rax
	lea	rax, .LC32[rip]
	mov	QWORD PTR COLOR_SEARCH_BG[rip], rax
	lea	rax, .LC52[rip]
	mov	QWORD PTR COLOR_SELECTFG[rip], rax
	lea	rax, .LC51[rip]
	mov	QWORD PTR COLOR_SELECTBG[rip], rax
	lea	rax, .LC48[rip]
	mov	QWORD PTR COLOR_RED[rip], rax
	lea	rax, .LC49[rip]
	mov	QWORD PTR COLOR_GREEN[rip], rax
	lea	rax, .LC62[rip]
	mov	QWORD PTR current_theme[rip], rax
	jmp	.L64
.L67:
	nop
.L64:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE14:
	.size	load_colorscheme_solarized_dark, .-load_colorscheme_solarized_dark
	.section	.rodata
.LC63:
	.string	"5;188"
.LC64:
	.string	"5;59"
.LC65:
	.string	"5;74"
.LC66:
	.string	"5;71"
.LC67:
	.string	"5;221"
.LC68:
	.string	"5;160"
.LC69:
	.string	"5;161"
.LC70:
	.string	"5;17"
.LC71:
	.string	"5;109"
.LC72:
	.string	"sunsmoke256"
	.text
	.globl	load_colorscheme_sunsmoke256
	.type	load_colorscheme_sunsmoke256, @function
load_colorscheme_sunsmoke256:
.LFB15:
	.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 global_config[rip+108]
	test	eax, eax
	je	.L73
	lea	rax, .LC63[rip]
	mov	QWORD PTR COLOR_FG[rip], rax
	lea	rax, .LC31[rip]
	mov	QWORD PTR COLOR_BG[rip], rax
	lea	rax, .LC17[rip]
	mov	QWORD PTR COLOR_ALT_FG[rip], rax
	lea	rax, .LC18[rip]
	mov	QWORD PTR COLOR_ALT_BG[rip], rax
	lea	rax, .LC20[rip]
	mov	QWORD PTR COLOR_NUMBER_FG[rip], rax
	lea	rax, .LC19[rip]
	mov	QWORD PTR COLOR_NUMBER_BG[rip], rax
	lea	rax, .LC63[rip]
	mov	QWORD PTR COLOR_STATUS_FG[rip], rax
	lea	rax, .LC64[rip]
	mov	QWORD PTR COLOR_STATUS_BG[rip], rax
	lea	rax, .LC64[rip]
	mov	QWORD PTR COLOR_TABBAR_BG[rip], rax
	lea	rax, .LC64[rip]
	mov	QWORD PTR COLOR_TAB_BG[rip], rax
	lea	rax, .LC65[rip]
	mov	QWORD PTR COLOR_KEYWORD[rip], rax
	lea	rax, .LC66[rip]
	mov	QWORD PTR COLOR_STRING[rip], rax
	mov	eax, DWORD PTR global_config[rip+112]
	test	eax, eax
	je	.L71
	lea	rax, .LC25[rip]
	jmp	.L72
.L71:
	lea	rax, .LC26[rip]
.L72:
	mov	QWORD PTR COLOR_COMMENT[rip], rax
	lea	rax, .LC67[rip]
	mov	QWORD PTR COLOR_TYPE[rip], rax
	lea	rax, .LC68[rip]
	mov	QWORD PTR COLOR_PRAGMA[rip], rax
	lea	rax, .LC69[rip]
	mov	QWORD PTR COLOR_NUMERAL[rip], rax
	lea	rax, .LC29[rip]
	mov	QWORD PTR COLOR_ERROR_FG[rip], rax
	lea	rax, .LC30[rip]
	mov	QWORD PTR COLOR_ERROR_BG[rip], rax
	lea	rax, .LC31[rip]
	mov	QWORD PTR COLOR_SEARCH_FG[rip], rax
	lea	rax, .LC32[rip]
	mov	QWORD PTR COLOR_SEARCH_BG[rip], rax
	lea	rax, .LC70[rip]
	mov	QWORD PTR COLOR_SELECTFG[rip], rax
	lea	rax, .LC71[rip]
	mov	QWORD PTR COLOR_SELECTBG[rip], rax
	lea	rax, .LC2[rip]
	mov	QWORD PTR COLOR_RED[rip], rax
	lea	rax, .LC3[rip]
	mov	QWORD PTR COLOR_GREEN[rip], rax
	lea	rax, .LC72[rip]
	mov	QWORD PTR current_theme[rip], rax
	jmp	.L68
.L73:
	nop
.L68:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE15:
	.size	load_colorscheme_sunsmoke256, .-load_colorscheme_sunsmoke256
	.section	.rodata
.LC73:
	.string	"2;230;230;230"
.LC74:
	.string	"2;31;31;31"
.LC75:
	.string	"2;122;122;122"
.LC76:
	.string	"2;46;43;46"
.LC77:
	.string	"2;150;139;57"
.LC78:
	.string	"2;0;0;0"
.LC79:
	.string	"2;71;64;58"
.LC80:
	.string	"2;51;162;230"
.LC81:
	.string	"2;72;176;72"
.LC82:
	.string	"2;158;153;129;3"
.LC83:
	.string	"2;230;206;110"
.LC84:
	.string	"2;194;70;54"
.LC85:
	.string	"2;230;43;127"
.LC86:
	.string	"sunsmoke"
	.text
	.globl	load_colorscheme_sunsmoke
	.type	load_colorscheme_sunsmoke, @function
load_colorscheme_sunsmoke:
.LFB16:
	.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 global_config[rip+104]
	test	eax, eax
	jne	.L75
	call	load_colorscheme_sunsmoke256
	jmp	.L74
.L75:
	lea	rax, .LC73[rip]
	mov	QWORD PTR COLOR_FG[rip], rax
	lea	rax, .LC74[rip]
	mov	QWORD PTR COLOR_BG[rip], rax
	lea	rax, .LC75[rip]
	mov	QWORD PTR COLOR_ALT_FG[rip], rax
	lea	rax, .LC76[rip]
	mov	QWORD PTR COLOR_ALT_BG[rip], rax
	lea	rax, .LC77[rip]
	mov	QWORD PTR COLOR_NUMBER_FG[rip], rax
	lea	rax, .LC78[rip]
	mov	QWORD PTR COLOR_NUMBER_BG[rip], rax
	lea	rax, .LC73[rip]
	mov	QWORD PTR COLOR_STATUS_FG[rip], rax
	lea	rax, .LC79[rip]
	mov	QWORD PTR COLOR_STATUS_BG[rip], rax
	lea	rax, .LC79[rip]
	mov	QWORD PTR COLOR_TABBAR_BG[rip], rax
	lea	rax, .LC79[rip]
	mov	QWORD PTR COLOR_TAB_BG[rip], rax
	lea	rax, .LC80[rip]
	mov	QWORD PTR COLOR_KEYWORD[rip], rax
	lea	rax, .LC81[rip]
	mov	QWORD PTR COLOR_STRING[rip], rax
	lea	rax, .LC82[rip]
	mov	QWORD PTR COLOR_COMMENT[rip], rax
	lea	rax, .LC83[rip]
	mov	QWORD PTR COLOR_TYPE[rip], rax
	lea	rax, .LC84[rip]
	mov	QWORD PTR COLOR_PRAGMA[rip], rax
	lea	rax, .LC85[rip]
	mov	QWORD PTR COLOR_NUMERAL[rip], rax
	lea	rax, .LC29[rip]
	mov	QWORD PTR COLOR_ERROR_FG[rip], rax
	lea	rax, .LC30[rip]
	mov	QWORD PTR COLOR_ERROR_BG[rip], rax
	lea	rax, .LC31[rip]
	mov	QWORD PTR COLOR_SEARCH_FG[rip], rax
	lea	rax, .LC32[rip]
	mov	QWORD PTR COLOR_SEARCH_BG[rip], rax
	lea	rax, .LC52[rip]
	mov	QWORD PTR COLOR_SELECTFG[rip], rax
	lea	rax, .LC51[rip]
	mov	QWORD PTR COLOR_SELECTBG[rip], rax
	lea	rax, .LC48[rip]
	mov	QWORD PTR COLOR_RED[rip], rax
	lea	rax, .LC49[rip]
	mov	QWORD PTR COLOR_GREEN[rip], rax
	lea	rax, .LC86[rip]
	mov	QWORD PTR current_theme[rip], rax
.L74:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE16:
	.size	load_colorscheme_sunsmoke, .-load_colorscheme_sunsmoke
	.globl	themes
	.section	.data.rel.local
	.align 32
	.type	themes, @object
	.size	themes, 112
themes:
	.quad	.LC33
	.quad	load_colorscheme_wombat
	.quad	.LC50
	.quad	load_colorscheme_citylights
	.quad	.LC62
	.quad	load_colorscheme_solarized_dark
	.quad	.LC14
	.quad	load_colorscheme_ansi
	.quad	.LC86
	.quad	load_colorscheme_sunsmoke
	.quad	.LC72
	.quad	load_colorscheme_sunsmoke256
	.quad	0
	.quad	0
	.text
	.globl	syn_c_iskeywordchar
	.type	syn_c_iskeywordchar, @function
syn_c_iskeywordchar:
.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, 16
	mov	DWORD PTR -4[rbp], edi
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8
	test	eax, eax
	je	.L78
	mov	eax, 1
	jmp	.L79
.L78:
	cmp	DWORD PTR -4[rbp], 95
	jne	.L80
	mov	eax, 1
	jmp	.L79
.L80:
	mov	eax, 0
.L79:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE17:
	.size	syn_c_iskeywordchar, .-syn_c_iskeywordchar
	.section	.rodata
.LC87:
	.string	"while"
.LC88:
	.string	"if"
.LC89:
	.string	"for"
.LC90:
	.string	"continue"
.LC91:
	.string	"return"
.LC92:
	.string	"break"
.LC93:
	.string	"switch"
.LC94:
	.string	"case"
.LC95:
	.string	"sizeof"
.LC96:
	.string	"struct"
.LC97:
	.string	"union"
.LC98:
	.string	"typedef"
.LC99:
	.string	"do"
.LC100:
	.string	"default"
.LC101:
	.string	"else"
.LC102:
	.string	"goto"
.LC103:
	.string	"alignas"
.LC104:
	.string	"alignof"
.LC105:
	.string	"offsetof"
.LC106:
	.string	"asm"
.LC107:
	.string	"__asm__public"
.LC108:
	.string	"private"
.LC109:
	.string	"class"
.LC110:
	.string	"using"
.LC111:
	.string	"namespace"
.LC112:
	.string	"virtual"
.LC113:
	.string	"override"
.LC114:
	.string	"protected"
	.section	.data.rel.local
	.align 32
	.type	syn_c_keywords, @object
	.size	syn_c_keywords, 232
syn_c_keywords:
	.quad	.LC87
	.quad	.LC88
	.quad	.LC89
	.quad	.LC90
	.quad	.LC91
	.quad	.LC92
	.quad	.LC93
	.quad	.LC94
	.quad	.LC95
	.quad	.LC96
	.quad	.LC97
	.quad	.LC98
	.quad	.LC99
	.quad	.LC100
	.quad	.LC101
	.quad	.LC102
	.quad	.LC103
	.quad	.LC104
	.quad	.LC105
	.quad	.LC106
	.quad	.LC107
	.quad	.LC108
	.quad	.LC109
	.quad	.LC110
	.quad	.LC111
	.quad	.LC112
	.quad	.LC113
	.quad	.LC114
	.quad	0
	.section	.rodata
.LC115:
	.string	"static"
.LC116:
	.string	"int"
.LC117:
	.string	"char"
.LC118:
	.string	"short"
.LC119:
	.string	"float"
.LC120:
	.string	"double"
.LC121:
	.string	"void"
.LC122:
	.string	"unsigned"
.LC123:
	.string	"volatile"
.LC124:
	.string	"const"
.LC125:
	.string	"register"
.LC126:
	.string	"long"
.LC127:
	.string	"inline"
.LC128:
	.string	"restrict"
.LC129:
	.string	"enum"
.LC130:
	.string	"auto"
.LC131:
	.string	"extern"
.LC132:
	.string	"bool"
.LC133:
	.string	"complex"
.LC134:
	.string	"uint8_t"
.LC135:
	.string	"uint16_t"
.LC136:
	.string	"uint32_t"
.LC137:
	.string	"uint64_t"
.LC138:
	.string	"int8_t"
.LC139:
	.string	"int16_t"
.LC140:
	.string	"int32_t"
.LC141:
	.string	"int64_t"
.LC142:
	.string	"FILE"
.LC143:
	.string	"ssize_t"
.LC144:
	.string	"size_t"
.LC145:
	.string	"uintptr_t"
.LC146:
	.string	"intptr_t"
.LC147:
	.string	"__volatile__"
	.section	.data.rel.local
	.align 32
	.type	syn_c_types, @object
	.size	syn_c_types, 272
syn_c_types:
	.quad	.LC115
	.quad	.LC116
	.quad	.LC117
	.quad	.LC118
	.quad	.LC119
	.quad	.LC120
	.quad	.LC121
	.quad	.LC122
	.quad	.LC123
	.quad	.LC124
	.quad	.LC125
	.quad	.LC126
	.quad	.LC127
	.quad	.LC128
	.quad	.LC129
	.quad	.LC130
	.quad	.LC131
	.quad	.LC132
	.quad	.LC133
	.quad	.LC134
	.quad	.LC135
	.quad	.LC136
	.quad	.LC137
	.quad	.LC138
	.quad	.LC139
	.quad	.LC140
	.quad	.LC141
	.quad	.LC142
	.quad	.LC143
	.quad	.LC144
	.quad	.LC145
	.quad	.LC146
	.quad	.LC147
	.quad	0
	.section	.rodata
.LC148:
	.string	"NULL"
.LC149:
	.string	"stdin"
.LC150:
	.string	"stdout"
.LC151:
	.string	"stderr"
.LC152:
	.string	"STDIN_FILENO"
.LC153:
	.string	"STDOUT_FILENO"
.LC154:
	.string	"STDERR_FILENO"
	.section	.data.rel.local
	.align 32
	.type	syn_c_special, @object
	.size	syn_c_special, 64
syn_c_special:
	.quad	.LC148
	.quad	.LC149
	.quad	.LC150
	.quad	.LC151
	.quad	.LC152
	.quad	.LC153
	.quad	.LC154
	.quad	0
	.text
	.type	syn_c_extended, @function
syn_c_extended:
.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, 80
	mov	QWORD PTR -56[rbp], rdi
	mov	DWORD PTR -60[rbp], esi
	mov	DWORD PTR -64[rbp], edx
	mov	DWORD PTR -68[rbp], ecx
	mov	QWORD PTR -80[rbp], r8
	cmp	DWORD PTR -60[rbp], 0
	jne	.L82
	cmp	DWORD PTR -64[rbp], 35
	jne	.L82
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 4[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -80[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 4[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -56[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	cmp	eax, 92
	jne	.L83
	mov	eax, 69
	jmp	.L84
.L83:
	mov	eax, 5
	jmp	.L84
.L82:
	cmp	DWORD PTR -68[rbp], 0
	je	.L85
	mov	eax, DWORD PTR -68[rbp]
	mov	edi, eax
	call	syn_c_iskeywordchar
	test	eax, eax
	jne	.L86
.L85:
	mov	eax, DWORD PTR -64[rbp]
	mov	edi, eax
	call	syn_c_iskeywordchar
	test	eax, eax
	je	.L86
	mov	eax, DWORD PTR -60[rbp]
	mov	DWORD PTR -12[rbp], eax
	mov	DWORD PTR -44[rbp], 0
	jmp	.L87
.L93:
	mov	DWORD PTR -40[rbp], 0
	jmp	.L88
.L90:
	add	DWORD PTR -40[rbp], 1
.L88:
	mov	edx, DWORD PTR -12[rbp]
	mov	eax, DWORD PTR -40[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 4[rax]
	sub	eax, 1
	cmp	edx, eax
	jge	.L89
	mov	edx, DWORD PTR -12[rbp]
	mov	eax, DWORD PTR -40[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	mov	ecx, eax
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, syn_c_special[rip]
	mov	rdx, QWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	cmp	ecx, eax
	je	.L90
.L89:
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, syn_c_special[rip]
	mov	rdx, QWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L91
	mov	edx, DWORD PTR -12[rbp]
	mov	eax, DWORD PTR -40[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	edx, eax
	jg	.L92
	mov	edx, DWORD PTR -12[rbp]
	mov	eax, DWORD PTR -40[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	mov	edi, eax
	call	syn_c_iskeywordchar
	test	eax, eax
	jne	.L91
.L92:
	mov	eax, DWORD PTR -40[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -80[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 6
	jmp	.L84
.L91:
	add	DWORD PTR -44[rbp], 1
.L87:
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, syn_c_special[rip]
	mov	rax, QWORD PTR [rdx+rax]
	test	rax, rax
	jne	.L93
.L86:
	cmp	DWORD PTR -68[rbp], 0
	je	.L94
	mov	eax, DWORD PTR -68[rbp]
	mov	edi, eax
	call	syn_c_iskeywordchar
	test	eax, eax
	jne	.L95
.L94:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 2048
	test	eax, eax
	je	.L95
	cmp	DWORD PTR -64[rbp], 48
	jne	.L96
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 4[rax]
	sub	eax, 1
	cmp	DWORD PTR -60[rbp], eax
	jge	.L96
	mov	eax, DWORD PTR -60[rbp]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -56[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	cmp	eax, 120
	jne	.L96
	mov	DWORD PTR -36[rbp], 2
	jmp	.L97
.L99:
	add	DWORD PTR -36[rbp], 1
.L97:
	mov	edx, DWORD PTR -60[rbp]
	mov	eax, DWORD PTR -36[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	edx, eax
	jge	.L98
	call	__ctype_b_loc@PLT
	mov	rcx, QWORD PTR [rax]
	mov	edx, DWORD PTR -60[rbp]
	mov	eax, DWORD PTR -36[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	mov	eax, eax
	add	rax, rax
	add	rax, rcx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 4096
	test	eax, eax
	jne	.L99
.L98:
	mov	edx, DWORD PTR -60[rbp]
	mov	eax, DWORD PTR -36[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	edx, eax
	jge	.L100
	mov	edx, DWORD PTR -60[rbp]
	mov	eax, DWORD PTR -36[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	mov	edi, eax
	call	syn_c_iskeywordchar
	test	eax, eax
	je	.L100
	mov	eax, 0
	jmp	.L84
.L100:
	mov	eax, DWORD PTR -36[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -80[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 6
	jmp	.L84
.L96:
	mov	DWORD PTR -32[rbp], 1
	jmp	.L101
.L103:
	add	DWORD PTR -32[rbp], 1
.L101:
	mov	edx, DWORD PTR -60[rbp]
	mov	eax, DWORD PTR -32[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	edx, eax
	jge	.L102
	call	__ctype_b_loc@PLT
	mov	rcx, QWORD PTR [rax]
	mov	edx, DWORD PTR -60[rbp]
	mov	eax, DWORD PTR -32[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	mov	eax, eax
	add	rax, rax
	add	rax, rcx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 2048
	test	eax, eax
	jne	.L103
.L102:
	mov	edx, DWORD PTR -60[rbp]
	mov	eax, DWORD PTR -32[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	edx, eax
	jge	.L104
	mov	edx, DWORD PTR -60[rbp]
	mov	eax, DWORD PTR -32[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	mov	edi, eax
	call	syn_c_iskeywordchar
	test	eax, eax
	je	.L104
	mov	eax, 0
	jmp	.L84
.L104:
	mov	eax, DWORD PTR -32[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -80[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 6
	jmp	.L84
.L95:
	cmp	DWORD PTR -64[rbp], 47
	jne	.L105
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 4[rax]
	sub	eax, 1
	cmp	DWORD PTR -60[rbp], eax
	jge	.L106
	mov	eax, DWORD PTR -60[rbp]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -56[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	cmp	eax, 47
	jne	.L106
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 4[rax]
	add	eax, 1
	sub	eax, DWORD PTR -60[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -80[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 3
	jmp	.L84
.L106:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 4[rax]
	sub	eax, 1
	cmp	DWORD PTR -60[rbp], eax
	jge	.L105
	mov	eax, DWORD PTR -60[rbp]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -56[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	cmp	eax, 42
	jne	.L105
	mov	DWORD PTR -28[rbp], 0
	mov	eax, DWORD PTR -60[rbp]
	add	eax, 2
	mov	DWORD PTR -24[rbp], eax
	jmp	.L107
.L109:
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR -24[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	mov	DWORD PTR -8[rbp], eax
	cmp	DWORD PTR -8[rbp], 47
	jne	.L108
	cmp	DWORD PTR -28[rbp], 42
	jne	.L108
	mov	eax, DWORD PTR -24[rbp]
	sub	eax, DWORD PTR -60[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -80[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 3
	jmp	.L84
.L108:
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR -28[rbp], eax
	add	DWORD PTR -24[rbp], 1
.L107:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -24[rbp], eax
	jl	.L109
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 4[rax]
	add	eax, 1
	sub	eax, DWORD PTR -60[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -80[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 67
	jmp	.L84
.L105:
	cmp	DWORD PTR -64[rbp], 39
	jne	.L110
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 4[rax]
	sub	eax, 3
	cmp	DWORD PTR -60[rbp], eax
	jge	.L111
	mov	eax, DWORD PTR -60[rbp]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -56[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	cmp	eax, 92
	jne	.L111
	mov	eax, DWORD PTR -60[rbp]
	lea	edx, 3[rax]
	mov	rax, QWORD PTR -56[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	cmp	eax, 39
	jne	.L111
	mov	rax, QWORD PTR -80[rbp]
	mov	DWORD PTR [rax], 3
	mov	eax, 6
	jmp	.L84
.L111:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 4[rax]
	sub	eax, 2
	cmp	DWORD PTR -60[rbp], eax
	jge	.L110
	mov	eax, DWORD PTR -60[rbp]
	lea	edx, 2[rax]
	mov	rax, QWORD PTR -56[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	cmp	eax, 39
	jne	.L110
	mov	rax, QWORD PTR -80[rbp]
	mov	DWORD PTR [rax], 2
	mov	eax, 6
	jmp	.L84
.L110:
	cmp	DWORD PTR -64[rbp], 34
	jne	.L112
	mov	DWORD PTR -20[rbp], 0
	mov	eax, DWORD PTR -60[rbp]
	add	eax, 1
	mov	DWORD PTR -16[rbp], eax
	jmp	.L113
.L116:
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR -16[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -20[rbp], 92
	je	.L114
	cmp	DWORD PTR -4[rbp], 34
	jne	.L114
	mov	eax, DWORD PTR -16[rbp]
	sub	eax, DWORD PTR -60[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -80[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 2
	jmp	.L84
.L114:
	cmp	DWORD PTR -20[rbp], 92
	jne	.L115
	cmp	DWORD PTR -4[rbp], 92
	jne	.L115
	mov	DWORD PTR -20[rbp], 0
.L115:
	mov	eax, DWORD PTR -4[rbp]
	mov	DWORD PTR -20[rbp], eax
	add	DWORD PTR -16[rbp], 1
.L113:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -16[rbp], eax
	jl	.L116
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 4[rax]
	add	eax, 1
	sub	eax, DWORD PTR -60[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -80[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 2
	jmp	.L84
.L112:
	mov	eax, 0
.L84:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE18:
	.size	syn_c_extended, .-syn_c_extended
	.globl	syn_c_ext
	.section	.rodata
.LC155:
	.string	".c"
.LC156:
	.string	".h"
.LC157:
	.string	".cpp"
.LC158:
	.string	".hpp"
.LC159:
	.string	".c++"
.LC160:
	.string	".h++"
	.section	.data.rel.local
	.align 32
	.type	syn_c_ext, @object
	.size	syn_c_ext, 56
syn_c_ext:
	.quad	.LC155
	.quad	.LC156
	.quad	.LC157
	.quad	.LC158
	.quad	.LC159
	.quad	.LC160
	.quad	0
	.text
	.type	syn_c_finish, @function
syn_c_finish:
.LFB19:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -36[rbp], edx
	cmp	DWORD PTR -36[rbp], 67
	jne	.L118
	mov	DWORD PTR -8[rbp], 0
	mov	DWORD PTR -4[rbp], 0
	jmp	.L119
.L122:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -4[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	cmp	eax, 47
	jne	.L120
	cmp	DWORD PTR -8[rbp], 42
	jne	.L120
	mov	eax, DWORD PTR -4[rbp]
	lea	edx, 2[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 3
	jmp	.L121
.L120:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -4[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	mov	DWORD PTR -8[rbp], eax
	add	DWORD PTR -4[rbp], 1
.L119:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -4[rbp], eax
	jl	.L122
	mov	eax, 67
	jmp	.L121
.L118:
	cmp	DWORD PTR -36[rbp], 69
	jne	.L123
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 4[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 4[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	cmp	eax, 92
	jne	.L124
	mov	eax, 69
	jmp	.L121
.L124:
	mov	eax, 5
	jmp	.L121
.L123:
	mov	eax, 0
.L121:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE19:
	.size	syn_c_finish, .-syn_c_finish
	.section	.rodata
.LC161:
	.string	"def"
.LC162:
	.string	"del"
.LC163:
	.string	"elif"
.LC164:
	.string	"assert"
.LC165:
	.string	"as"
.LC166:
	.string	"and"
.LC167:
	.string	"or"
.LC168:
	.string	"except"
.LC169:
	.string	"finally"
.LC170:
	.string	"from"
.LC171:
	.string	"global"
.LC172:
	.string	"import"
.LC173:
	.string	"in"
.LC174:
	.string	"is"
.LC175:
	.string	"lambda"
.LC176:
	.string	"with"
.LC177:
	.string	"nonlocal"
.LC178:
	.string	"not"
.LC179:
	.string	"pass"
.LC180:
	.string	"raise"
.LC181:
	.string	"try"
.LC182:
	.string	"yield"
	.section	.data.rel.local
	.align 32
	.type	syn_py_keywords, @object
	.size	syn_py_keywords, 248
syn_py_keywords:
	.quad	.LC109
	.quad	.LC161
	.quad	.LC91
	.quad	.LC162
	.quad	.LC88
	.quad	.LC101
	.quad	.LC163
	.quad	.LC89
	.quad	.LC87
	.quad	.LC90
	.quad	.LC92
	.quad	.LC164
	.quad	.LC165
	.quad	.LC166
	.quad	.LC167
	.quad	.LC168
	.quad	.LC169
	.quad	.LC170
	.quad	.LC171
	.quad	.LC172
	.quad	.LC173
	.quad	.LC174
	.quad	.LC175
	.quad	.LC176
	.quad	.LC177
	.quad	.LC178
	.quad	.LC179
	.quad	.LC180
	.quad	.LC181
	.quad	.LC182
	.quad	0
	.section	.rodata
.LC183:
	.string	"True"
.LC184:
	.string	"False"
.LC185:
	.string	"None"
.LC186:
	.string	"object"
.LC187:
	.string	"set"
.LC188:
	.string	"dict"
.LC189:
	.string	"str"
.LC190:
	.string	"bytes"
	.section	.data.rel.local
	.align 32
	.type	syn_py_types, @object
	.size	syn_py_types, 80
syn_py_types:
	.quad	.LC183
	.quad	.LC184
	.quad	.LC185
	.quad	.LC186
	.quad	.LC187
	.quad	.LC188
	.quad	.LC116
	.quad	.LC189
	.quad	.LC190
	.quad	0
	.section	.rodata
.LC191:
	.string	"import "
	.text
	.type	syn_py_extended, @function
syn_py_extended:
.LFB20:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	QWORD PTR -72[rbp], rdi
	mov	DWORD PTR -76[rbp], esi
	mov	DWORD PTR -80[rbp], edx
	mov	DWORD PTR -84[rbp], ecx
	mov	QWORD PTR -96[rbp], r8
	cmp	DWORD PTR -76[rbp], 0
	jne	.L126
	cmp	DWORD PTR -80[rbp], 105
	jne	.L126
	lea	rax, .LC191[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	DWORD PTR -56[rbp], 0
	jmp	.L127
.L131:
	mov	eax, DWORD PTR -56[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L128
	mov	eax, DWORD PTR -56[rbp]
	lea	edx, -2[rax]
	mov	rax, QWORD PTR -96[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 5
	jmp	.L129
.L128:
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, DWORD PTR -56[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	mov	ecx, eax
	mov	eax, DWORD PTR -56[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	cmp	ecx, eax
	jne	.L166
	add	DWORD PTR -56[rbp], 1
.L127:
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -56[rbp], eax
	jle	.L131
	jmp	.L126
.L166:
	nop
.L126:
	cmp	DWORD PTR -80[rbp], 35
	jne	.L132
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 4[rax]
	add	eax, 1
	sub	eax, DWORD PTR -76[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -96[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 3
	jmp	.L129
.L132:
	cmp	DWORD PTR -80[rbp], 64
	jne	.L133
	mov	eax, DWORD PTR -76[rbp]
	add	eax, 1
	mov	DWORD PTR -20[rbp], eax
	nop
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -20[rbp], eax
	jg	.L133
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, DWORD PTR -20[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	mov	edi, eax
	call	syn_c_iskeywordchar
	test	eax, eax
	jne	.L135
	mov	eax, DWORD PTR -20[rbp]
	sub	eax, DWORD PTR -76[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -96[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 5
	jmp	.L129
.L135:
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 4[rax]
	add	eax, 1
	sub	eax, DWORD PTR -76[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -96[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 5
	jmp	.L129
.L133:
	cmp	DWORD PTR -84[rbp], 0
	je	.L137
	mov	eax, DWORD PTR -84[rbp]
	mov	edi, eax
	call	syn_c_iskeywordchar
	test	eax, eax
	jne	.L138
.L137:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 2048
	test	eax, eax
	je	.L138
	cmp	DWORD PTR -80[rbp], 48
	jne	.L139
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 4[rax]
	sub	eax, 1
	cmp	DWORD PTR -76[rbp], eax
	jge	.L139
	mov	eax, DWORD PTR -76[rbp]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -72[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	cmp	eax, 120
	jne	.L139
	mov	DWORD PTR -52[rbp], 2
	jmp	.L140
.L142:
	add	DWORD PTR -52[rbp], 1
.L140:
	mov	edx, DWORD PTR -76[rbp]
	mov	eax, DWORD PTR -52[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	edx, eax
	jge	.L141
	call	__ctype_b_loc@PLT
	mov	rcx, QWORD PTR [rax]
	mov	edx, DWORD PTR -76[rbp]
	mov	eax, DWORD PTR -52[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -72[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	mov	eax, eax
	add	rax, rax
	add	rax, rcx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 4096
	test	eax, eax
	jne	.L142
.L141:
	mov	edx, DWORD PTR -76[rbp]
	mov	eax, DWORD PTR -52[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	edx, eax
	jge	.L143
	mov	edx, DWORD PTR -76[rbp]
	mov	eax, DWORD PTR -52[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -72[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	mov	edi, eax
	call	syn_c_iskeywordchar
	test	eax, eax
	je	.L143
	mov	eax, 0
	jmp	.L129
.L143:
	mov	eax, DWORD PTR -52[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -96[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 6
	jmp	.L129
.L139:
	mov	DWORD PTR -48[rbp], 1
	jmp	.L144
.L146:
	add	DWORD PTR -48[rbp], 1
.L144:
	mov	edx, DWORD PTR -76[rbp]
	mov	eax, DWORD PTR -48[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	edx, eax
	jge	.L145
	call	__ctype_b_loc@PLT
	mov	rcx, QWORD PTR [rax]
	mov	edx, DWORD PTR -76[rbp]
	mov	eax, DWORD PTR -48[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -72[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	mov	eax, eax
	add	rax, rax
	add	rax, rcx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 2048
	test	eax, eax
	jne	.L146
.L145:
	mov	edx, DWORD PTR -76[rbp]
	mov	eax, DWORD PTR -48[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	edx, eax
	jge	.L147
	mov	edx, DWORD PTR -76[rbp]
	mov	eax, DWORD PTR -48[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -72[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	mov	edi, eax
	call	syn_c_iskeywordchar
	test	eax, eax
	je	.L147
	mov	eax, 0
	jmp	.L129
.L147:
	mov	eax, DWORD PTR -48[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -96[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 6
	jmp	.L129
.L138:
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, DWORD PTR -76[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	cmp	eax, 39
	jne	.L148
	mov	eax, DWORD PTR -76[rbp]
	lea	edx, 2[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	edx, eax
	jge	.L149
	mov	eax, DWORD PTR -76[rbp]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -72[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	cmp	eax, 39
	jne	.L149
	mov	eax, DWORD PTR -76[rbp]
	lea	edx, 2[rax]
	mov	rax, QWORD PTR -72[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	cmp	eax, 39
	jne	.L149
	mov	eax, DWORD PTR -76[rbp]
	add	eax, 3
	mov	DWORD PTR -44[rbp], eax
	jmp	.L150
.L152:
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, DWORD PTR -44[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	cmp	eax, 39
	jne	.L151
	mov	eax, DWORD PTR -44[rbp]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -72[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	cmp	eax, 39
	jne	.L151
	mov	eax, DWORD PTR -44[rbp]
	lea	edx, 2[rax]
	mov	rax, QWORD PTR -72[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	cmp	eax, 39
	jne	.L151
	mov	eax, DWORD PTR -44[rbp]
	add	eax, 2
	sub	eax, DWORD PTR -76[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -96[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 2
	jmp	.L129
.L151:
	add	DWORD PTR -44[rbp], 1
.L150:
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 4[rax]
	sub	eax, 2
	cmp	DWORD PTR -44[rbp], eax
	jl	.L152
	mov	eax, 66
	jmp	.L129
.L149:
	mov	DWORD PTR -40[rbp], 0
	mov	eax, DWORD PTR -76[rbp]
	add	eax, 1
	mov	DWORD PTR -36[rbp], eax
	jmp	.L153
.L156:
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, DWORD PTR -36[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	mov	DWORD PTR -12[rbp], eax
	cmp	DWORD PTR -40[rbp], 92
	je	.L154
	cmp	DWORD PTR -12[rbp], 39
	jne	.L154
	mov	eax, DWORD PTR -36[rbp]
	sub	eax, DWORD PTR -76[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -96[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 2
	jmp	.L129
.L154:
	cmp	DWORD PTR -40[rbp], 92
	jne	.L155
	cmp	DWORD PTR -12[rbp], 92
	jne	.L155
	mov	DWORD PTR -40[rbp], 0
.L155:
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR -40[rbp], eax
	add	DWORD PTR -36[rbp], 1
.L153:
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -36[rbp], eax
	jl	.L156
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 4[rax]
	add	eax, 1
	sub	eax, DWORD PTR -76[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -96[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 2
	jmp	.L129
.L148:
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, DWORD PTR -76[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	cmp	eax, 34
	jne	.L157
	mov	eax, DWORD PTR -76[rbp]
	lea	edx, 2[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	edx, eax
	jge	.L158
	mov	eax, DWORD PTR -76[rbp]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -72[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	cmp	eax, 34
	jne	.L158
	mov	eax, DWORD PTR -76[rbp]
	lea	edx, 2[rax]
	mov	rax, QWORD PTR -72[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	cmp	eax, 34
	jne	.L158
	mov	eax, DWORD PTR -76[rbp]
	add	eax, 3
	mov	DWORD PTR -32[rbp], eax
	jmp	.L159
.L161:
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, DWORD PTR -32[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	cmp	eax, 34
	jne	.L160
	mov	eax, DWORD PTR -32[rbp]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -72[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	cmp	eax, 34
	jne	.L160
	mov	eax, DWORD PTR -32[rbp]
	lea	edx, 2[rax]
	mov	rax, QWORD PTR -72[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	cmp	eax, 34
	jne	.L160
	mov	eax, DWORD PTR -32[rbp]
	add	eax, 2
	sub	eax, DWORD PTR -76[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -96[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 2
	jmp	.L129
.L160:
	add	DWORD PTR -32[rbp], 1
.L159:
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 4[rax]
	sub	eax, 2
	cmp	DWORD PTR -32[rbp], eax
	jl	.L161
	mov	eax, 71
	jmp	.L129
.L158:
	mov	DWORD PTR -28[rbp], 0
	mov	eax, DWORD PTR -76[rbp]
	add	eax, 1
	mov	DWORD PTR -24[rbp], eax
	jmp	.L162
.L165:
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, DWORD PTR -24[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	mov	DWORD PTR -16[rbp], eax
	cmp	DWORD PTR -28[rbp], 92
	je	.L163
	cmp	DWORD PTR -16[rbp], 34
	jne	.L163
	mov	eax, DWORD PTR -24[rbp]
	sub	eax, DWORD PTR -76[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -96[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 2
	jmp	.L129
.L163:
	cmp	DWORD PTR -28[rbp], 92
	jne	.L164
	cmp	DWORD PTR -16[rbp], 92
	jne	.L164
	mov	DWORD PTR -28[rbp], 0
.L164:
	mov	eax, DWORD PTR -16[rbp]
	mov	DWORD PTR -28[rbp], eax
	add	DWORD PTR -24[rbp], 1
.L162:
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -24[rbp], eax
	jl	.L165
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 4[rax]
	add	eax, 1
	sub	eax, DWORD PTR -76[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -96[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 2
	jmp	.L129
.L157:
	mov	eax, 0
.L129:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE20:
	.size	syn_py_extended, .-syn_py_extended
	.type	syn_py_finish, @function
syn_py_finish:
.LFB21:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -36[rbp], edx
	cmp	DWORD PTR -36[rbp], 66
	jne	.L168
	mov	DWORD PTR -8[rbp], 0
	jmp	.L169
.L172:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -8[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	cmp	eax, 39
	jne	.L170
	mov	eax, DWORD PTR -8[rbp]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	cmp	eax, 39
	jne	.L170
	mov	eax, DWORD PTR -8[rbp]
	lea	edx, 2[rax]
	mov	rax, QWORD PTR -24[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	cmp	eax, 39
	jne	.L170
	mov	eax, DWORD PTR -8[rbp]
	lea	edx, 3[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 2
	jmp	.L171
.L170:
	add	DWORD PTR -8[rbp], 1
.L169:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 4[rax]
	sub	eax, 2
	cmp	DWORD PTR -8[rbp], eax
	jl	.L172
	mov	eax, 66
	jmp	.L171
.L168:
	cmp	DWORD PTR -36[rbp], 71
	jne	.L173
	mov	DWORD PTR -4[rbp], 0
	jmp	.L174
.L176:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -4[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	cmp	eax, 34
	jne	.L175
	mov	eax, DWORD PTR -4[rbp]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	cmp	eax, 34
	jne	.L175
	mov	eax, DWORD PTR -4[rbp]
	lea	edx, 2[rax]
	mov	rax, QWORD PTR -24[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	cmp	eax, 34
	jne	.L175
	mov	eax, DWORD PTR -4[rbp]
	lea	edx, 3[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 7
	jmp	.L171
.L175:
	add	DWORD PTR -4[rbp], 1
.L174:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 4[rax]
	sub	eax, 2
	cmp	DWORD PTR -4[rbp], eax
	jl	.L176
	mov	eax, 71
	jmp	.L171
.L173:
	mov	eax, 0
.L171:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE21:
	.size	syn_py_finish, .-syn_py_finish
	.globl	syn_py_ext
	.section	.rodata
.LC192:
	.string	".py"
	.section	.data.rel.local
	.align 16
	.type	syn_py_ext, @object
	.size	syn_py_ext, 16
syn_py_ext:
	.quad	.LC192
	.quad	0
	.section	.rodata
.LC193:
	.string	"cd"
.LC194:
	.string	"exit"
.LC195:
	.string	"export"
.LC196:
	.string	"help"
.LC197:
	.string	"history"
.LC198:
	.string	"empty?"
.LC199:
	.string	"equals?"
.LC200:
	.string	"export-cmd"
.LC201:
	.string	"read"
.LC202:
	.string	"source"
.LC203:
	.string	"exec"
.LC204:
	.string	"then"
.LC205:
	.string	"echo"
.LC206:
	.string	"ln"
.LC207:
	.string	"tar"
.LC208:
	.string	"rm"
.LC209:
	.string	"cp"
.LC210:
	.string	"chmod"
	.section	.data.rel.local
	.align 32
	.type	syn_sh_keywords, @object
	.size	syn_sh_keywords, 200
syn_sh_keywords:
	.quad	.LC193
	.quad	.LC194
	.quad	.LC195
	.quad	.LC196
	.quad	.LC197
	.quad	.LC88
	.quad	.LC198
	.quad	.LC199
	.quad	.LC91
	.quad	.LC200
	.quad	.LC201
	.quad	.LC202
	.quad	.LC203
	.quad	.LC178
	.quad	.LC87
	.quad	.LC204
	.quad	.LC101
	.quad	.LC205
	.quad	.LC193
	.quad	.LC206
	.quad	.LC207
	.quad	.LC208
	.quad	.LC209
	.quad	.LC210
	.quad	0
	.text
	.type	variable_char, @function
variable_char:
.LFB22:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, edi
	mov	BYTE PTR -4[rbp], al
	cmp	BYTE PTR -4[rbp], 64
	jbe	.L178
	cmp	BYTE PTR -4[rbp], 90
	ja	.L178
	mov	eax, 1
	jmp	.L179
.L178:
	cmp	BYTE PTR -4[rbp], 96
	jbe	.L180
	cmp	BYTE PTR -4[rbp], 122
	ja	.L180
	mov	eax, 1
	jmp	.L179
.L180:
	cmp	BYTE PTR -4[rbp], 47
	jbe	.L181
	cmp	BYTE PTR -4[rbp], 57
	ja	.L181
	mov	eax, 1
	jmp	.L179
.L181:
	cmp	BYTE PTR -4[rbp], 95
	jne	.L182
	mov	eax, 1
	jmp	.L179
.L182:
	cmp	BYTE PTR -4[rbp], 63
	jne	.L183
	mov	eax, 1
	jmp	.L179
.L183:
	mov	eax, 0
.L179:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE22:
	.size	variable_char, .-variable_char
	.type	syn_sh_extended, @function
syn_sh_extended:
.LFB23:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	DWORD PTR -48[rbp], edx
	mov	DWORD PTR -52[rbp], ecx
	mov	QWORD PTR -64[rbp], r8
	cmp	DWORD PTR -48[rbp], 35
	jne	.L185
	cmp	DWORD PTR -52[rbp], 92
	je	.L185
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 4[rax]
	add	eax, 1
	sub	eax, DWORD PTR -44[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -64[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 3
	jmp	.L186
.L185:
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR -44[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	cmp	eax, 39
	jne	.L187
	cmp	DWORD PTR -52[rbp], 92
	je	.L187
	mov	DWORD PTR -32[rbp], 0
	mov	eax, DWORD PTR -44[rbp]
	add	eax, 1
	mov	DWORD PTR -28[rbp], eax
	jmp	.L188
.L191:
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR -28[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	mov	DWORD PTR -8[rbp], eax
	cmp	DWORD PTR -32[rbp], 92
	je	.L189
	cmp	DWORD PTR -8[rbp], 39
	jne	.L189
	mov	eax, DWORD PTR -28[rbp]
	sub	eax, DWORD PTR -44[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -64[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 2
	jmp	.L186
.L189:
	cmp	DWORD PTR -32[rbp], 92
	jne	.L190
	cmp	DWORD PTR -8[rbp], 92
	jne	.L190
	mov	DWORD PTR -32[rbp], 0
.L190:
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR -32[rbp], eax
	add	DWORD PTR -28[rbp], 1
.L188:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -28[rbp], eax
	jle	.L191
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 4[rax]
	add	eax, 1
	sub	eax, DWORD PTR -44[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -64[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 2
	jmp	.L186
.L187:
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR -44[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	cmp	eax, 36
	jne	.L192
	cmp	DWORD PTR -52[rbp], 92
	je	.L192
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 4[rax]
	sub	eax, 1
	cmp	DWORD PTR -44[rbp], eax
	jge	.L193
	mov	eax, DWORD PTR -44[rbp]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -40[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	cmp	eax, 123
	jne	.L193
	mov	eax, DWORD PTR -44[rbp]
	add	eax, 2
	mov	DWORD PTR -24[rbp], eax
	jmp	.L194
.L197:
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR -24[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	cmp	eax, 125
	je	.L207
	add	DWORD PTR -24[rbp], 1
.L194:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -24[rbp], eax
	jle	.L197
	jmp	.L196
.L207:
	nop
.L196:
	mov	eax, DWORD PTR -24[rbp]
	sub	eax, DWORD PTR -44[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -64[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 6
	jmp	.L186
.L193:
	mov	eax, DWORD PTR -44[rbp]
	add	eax, 1
	mov	DWORD PTR -20[rbp], eax
	jmp	.L198
.L201:
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR -20[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	movzx	eax, al
	mov	edi, eax
	call	variable_char
	test	eax, eax
	je	.L208
	add	DWORD PTR -20[rbp], 1
.L198:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -20[rbp], eax
	jle	.L201
	jmp	.L200
.L208:
	nop
.L200:
	mov	eax, DWORD PTR -20[rbp]
	sub	eax, DWORD PTR -44[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -64[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 6
	jmp	.L186
.L192:
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR -44[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	cmp	eax, 34
	jne	.L202
	cmp	DWORD PTR -52[rbp], 92
	je	.L202
	mov	DWORD PTR -16[rbp], 0
	mov	eax, DWORD PTR -44[rbp]
	add	eax, 1
	mov	DWORD PTR -12[rbp], eax
	jmp	.L203
.L206:
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR -12[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -16[rbp], 92
	je	.L204
	cmp	DWORD PTR -4[rbp], 34
	jne	.L204
	mov	eax, DWORD PTR -12[rbp]
	sub	eax, DWORD PTR -44[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -64[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 2
	jmp	.L186
.L204:
	cmp	DWORD PTR -16[rbp], 92
	jne	.L205
	cmp	DWORD PTR -4[rbp], 92
	jne	.L205
	mov	DWORD PTR -16[rbp], 0
.L205:
	mov	eax, DWORD PTR -4[rbp]
	mov	DWORD PTR -16[rbp], eax
	add	DWORD PTR -12[rbp], 1
.L203:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -12[rbp], eax
	jle	.L206
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 4[rax]
	add	eax, 1
	sub	eax, DWORD PTR -44[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -64[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 2
	jmp	.L186
.L202:
	mov	eax, 0
.L186:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE23:
	.size	syn_sh_extended, .-syn_sh_extended
	.type	syn_sh_iskeywordchar, @function
syn_sh_iskeywordchar:
.LFB24:
	.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
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8
	test	eax, eax
	je	.L210
	mov	eax, 1
	jmp	.L211
.L210:
	cmp	DWORD PTR -4[rbp], 45
	jne	.L212
	mov	eax, 1
	jmp	.L211
.L212:
	cmp	DWORD PTR -4[rbp], 95
	jne	.L213
	mov	eax, 1
	jmp	.L211
.L213:
	cmp	DWORD PTR -4[rbp], 63
	jne	.L214
	mov	eax, 1
	jmp	.L211
.L214:
	mov	eax, 0
.L211:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE24:
	.size	syn_sh_iskeywordchar, .-syn_sh_iskeywordchar
	.section	.rodata
.LC211:
	.string	".sh"
.LC212:
	.string	".eshrc"
.LC213:
	.string	".esh"
	.section	.data.rel.local
	.align 32
	.type	syn_sh_ext, @object
	.size	syn_sh_ext, 32
syn_sh_ext:
	.quad	.LC211
	.quad	.LC212
	.quad	.LC213
	.quad	0
	.section	.rodata
.LC214:
	.string	"Makefile"
.LC215:
	.string	"makefile"
.LC216:
	.string	"GNUmakefile"
.LC217:
	.string	".mak"
	.section	.data.rel.local
	.align 32
	.type	syn_make_ext, @object
	.size	syn_make_ext, 40
syn_make_ext:
	.quad	.LC214
	.quad	.LC215
	.quad	.LC216
	.quad	.LC217
	.quad	0
	.section	.rodata
.LC218:
	.string	"define"
.LC219:
	.string	"endef"
.LC220:
	.string	"undefine"
.LC221:
	.string	"ifdef"
.LC222:
	.string	"ifndef"
.LC223:
	.string	"ifeq"
.LC224:
	.string	"ifneq"
.LC225:
	.string	"endif"
.LC226:
	.string	"include"
.LC227:
	.string	"sinclude"
.LC228:
	.string	"unexport"
.LC229:
	.string	"vpath"
.LC230:
	.string	"-include"
	.section	.data.rel.local
	.align 32
	.type	syn_make_commands, @object
	.size	syn_make_commands, 144
syn_make_commands:
	.quad	.LC218
	.quad	.LC219
	.quad	.LC220
	.quad	.LC221
	.quad	.LC222
	.quad	.LC223
	.quad	.LC224
	.quad	.LC101
	.quad	.LC225
	.quad	.LC226
	.quad	.LC227
	.quad	.LC113
	.quad	.LC195
	.quad	.LC228
	.quad	.LC108
	.quad	.LC229
	.quad	.LC230
	.quad	0
	.section	.rodata
.LC231:
	.string	"subst"
.LC232:
	.string	"patsubst"
.LC233:
	.string	"findstring"
.LC234:
	.string	"filter"
.LC235:
	.string	"filter-out"
.LC236:
	.string	"sort"
.LC237:
	.string	"word"
.LC238:
	.string	"words"
.LC239:
	.string	"wordlist"
.LC240:
	.string	"firstword"
.LC241:
	.string	"lastword"
.LC242:
	.string	"dir"
.LC243:
	.string	"notdir"
.LC244:
	.string	"suffix"
.LC245:
	.string	"basename"
.LC246:
	.string	"addsuffix"
.LC247:
	.string	"addprefix"
.LC248:
	.string	"join"
.LC249:
	.string	"wildcard"
.LC250:
	.string	"realpath"
.LC251:
	.string	"abspath"
.LC252:
	.string	"error"
.LC253:
	.string	"warning"
.LC254:
	.string	"shell"
.LC255:
	.string	"origin"
.LC256:
	.string	"flavor"
.LC257:
	.string	"foreach"
.LC258:
	.string	"call"
.LC259:
	.string	"eval"
.LC260:
	.string	"file"
.LC261:
	.string	"value"
	.section	.data.rel.local
	.align 32
	.type	syn_make_functions, @object
	.size	syn_make_functions, 280
syn_make_functions:
	.quad	.LC231
	.quad	.LC232
	.quad	.LC233
	.quad	.LC234
	.quad	.LC235
	.quad	.LC236
	.quad	.LC237
	.quad	.LC238
	.quad	.LC239
	.quad	.LC240
	.quad	.LC241
	.quad	.LC242
	.quad	.LC243
	.quad	.LC244
	.quad	.LC245
	.quad	.LC246
	.quad	.LC247
	.quad	.LC248
	.quad	.LC249
	.quad	.LC250
	.quad	.LC251
	.quad	.LC252
	.quad	.LC253
	.quad	.LC254
	.quad	.LC255
	.quad	.LC256
	.quad	.LC257
	.quad	.LC88
	.quad	.LC167
	.quad	.LC166
	.quad	.LC258
	.quad	.LC259
	.quad	.LC260
	.quad	.LC261
	.quad	0
	.text
	.type	syn_make_extended, @function
syn_make_extended:
.LFB25:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	DWORD PTR -48[rbp], edx
	mov	DWORD PTR -52[rbp], ecx
	mov	QWORD PTR -64[rbp], r8
	cmp	DWORD PTR -48[rbp], 35
	jne	.L216
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 4[rax]
	add	eax, 1
	sub	eax, DWORD PTR -44[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -64[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 3
	jmp	.L217
.L216:
	cmp	DWORD PTR -48[rbp], 9
	jne	.L218
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 4[rax]
	add	eax, 1
	sub	eax, DWORD PTR -44[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -64[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 6
	jmp	.L217
.L218:
	cmp	DWORD PTR -44[rbp], 0
	jne	.L219
	mov	DWORD PTR -28[rbp], 0
	jmp	.L220
.L223:
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR -28[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	cmp	eax, 32
	jne	.L243
	add	DWORD PTR -28[rbp], 1
.L220:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -28[rbp], eax
	jl	.L223
	jmp	.L222
.L243:
	nop
.L222:
	mov	DWORD PTR -24[rbp], 0
	jmp	.L224
.L229:
	mov	DWORD PTR -20[rbp], 0
	jmp	.L225
.L227:
	add	DWORD PTR -20[rbp], 1
.L225:
	mov	edx, DWORD PTR -28[rbp]
	mov	eax, DWORD PTR -20[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	edx, eax
	jge	.L226
	mov	edx, DWORD PTR -28[rbp]
	mov	eax, DWORD PTR -20[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	mov	ecx, eax
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, syn_make_commands[rip]
	mov	rdx, QWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	cmp	ecx, eax
	je	.L227
.L226:
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, syn_make_commands[rip]
	mov	rdx, QWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L228
	mov	edx, DWORD PTR -28[rbp]
	mov	eax, DWORD PTR -20[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -64[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 5
	jmp	.L217
.L228:
	add	DWORD PTR -24[rbp], 1
.L224:
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, syn_make_commands[rip]
	mov	rax, QWORD PTR [rdx+rax]
	test	rax, rax
	jne	.L229
.L219:
	cmp	DWORD PTR -52[rbp], 40
	jne	.L230
	cmp	DWORD PTR -44[rbp], 1
	jle	.L230
	mov	eax, DWORD PTR -44[rbp]
	lea	edx, -2[rax]
	mov	rax, QWORD PTR -40[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	cmp	eax, 36
	jne	.L230
	mov	eax, DWORD PTR -44[rbp]
	mov	DWORD PTR -4[rbp], eax
	mov	DWORD PTR -16[rbp], 0
	jmp	.L231
.L237:
	mov	DWORD PTR -12[rbp], 0
	jmp	.L232
.L234:
	add	DWORD PTR -12[rbp], 1
.L232:
	mov	edx, DWORD PTR -4[rbp]
	mov	eax, DWORD PTR -12[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	edx, eax
	jge	.L233
	mov	edx, DWORD PTR -4[rbp]
	mov	eax, DWORD PTR -12[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	mov	ecx, eax
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, syn_make_functions[rip]
	mov	rdx, QWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	cmp	ecx, eax
	je	.L234
.L233:
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, syn_make_functions[rip]
	mov	rdx, QWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L235
	mov	edx, DWORD PTR -4[rbp]
	mov	eax, DWORD PTR -12[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	edx, eax
	je	.L236
	mov	edx, DWORD PTR -4[rbp]
	mov	eax, DWORD PTR -12[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	cmp	eax, 41
	je	.L236
	mov	edx, DWORD PTR -4[rbp]
	mov	eax, DWORD PTR -12[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	cmp	eax, 32
	jne	.L235
.L236:
	mov	rax, QWORD PTR -64[rbp]
	mov	edx, DWORD PTR -12[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 1
	jmp	.L217
.L235:
	add	DWORD PTR -16[rbp], 1
.L231:
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, syn_make_functions[rip]
	mov	rax, QWORD PTR [rdx+rax]
	test	rax, rax
	jne	.L237
.L230:
	cmp	DWORD PTR -44[rbp], 0
	jne	.L238
	mov	DWORD PTR -8[rbp], 0
	jmp	.L239
.L242:
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR -8[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	cmp	eax, 61
	jne	.L240
	mov	rax, QWORD PTR -64[rbp]
	mov	edx, DWORD PTR -8[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 4
	jmp	.L217
.L240:
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR -8[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	cmp	eax, 58
	jne	.L241
	mov	rax, QWORD PTR -64[rbp]
	mov	edx, DWORD PTR -8[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 4
	jmp	.L217
.L241:
	add	DWORD PTR -8[rbp], 1
.L239:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -8[rbp], eax
	jl	.L242
.L238:
	mov	eax, 0
.L217:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE25:
	.size	syn_make_extended, .-syn_make_extended
	.section	.rodata
.LC262:
	.string	"theme"
.LC263:
	.string	"padding"
	.section	.data.rel.local
	.align 16
	.type	syn_bimrc_keywords, @object
	.size	syn_bimrc_keywords, 24
syn_bimrc_keywords:
	.quad	.LC262
	.quad	.LC263
	.quad	0
	.text
	.type	syn_bimrc_extended, @function
syn_bimrc_extended:
.LFB26:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	mov	DWORD PTR -16[rbp], edx
	mov	DWORD PTR -20[rbp], ecx
	mov	QWORD PTR -32[rbp], r8
	cmp	DWORD PTR -12[rbp], 0
	jne	.L245
	cmp	DWORD PTR -16[rbp], 35
	jne	.L245
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 4[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 3
	jmp	.L246
.L245:
	mov	eax, 0
.L246:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE26:
	.size	syn_bimrc_extended, .-syn_bimrc_extended
	.section	.rodata
.LC264:
	.string	".bimrc"
	.section	.data.rel.local
	.align 16
	.type	syn_bimrc_ext, @object
	.size	syn_bimrc_ext, 16
syn_bimrc_ext:
	.quad	.LC264
	.quad	0
	.text
	.type	syn_gitcommit_extended, @function
syn_gitcommit_extended:
.LFB27:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	mov	DWORD PTR -16[rbp], edx
	mov	DWORD PTR -20[rbp], ecx
	mov	QWORD PTR -32[rbp], r8
	cmp	DWORD PTR -16[rbp], 35
	jne	.L248
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 4[rax]
	add	eax, 1
	sub	eax, DWORD PTR -12[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 3
	jmp	.L249
.L248:
	mov	eax, 0
.L249:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE27:
	.size	syn_gitcommit_extended, .-syn_gitcommit_extended
	.section	.rodata
.LC265:
	.string	"COMMIT_EDITMSG"
	.section	.data.rel.local
	.align 16
	.type	syn_gitcommit_ext, @object
	.size	syn_gitcommit_ext, 16
syn_gitcommit_ext:
	.quad	.LC265
	.quad	0
	.section	.rodata
.LC266:
	.string	"p "
.LC267:
	.string	"r "
.LC268:
	.string	"e "
.LC269:
	.string	"s "
.LC270:
	.string	"f "
.LC271:
	.string	"x "
.LC272:
	.string	" d"
.LC273:
	.string	"pick "
.LC274:
	.string	"reword "
.LC275:
	.string	"edit "
.LC276:
	.string	"squash "
.LC277:
	.string	"fixup "
.LC278:
	.string	"exec "
.LC279:
	.string	"drop "
	.section	.data.rel.local
	.align 32
	.type	syn_gitrebase_commands, @object
	.size	syn_gitrebase_commands, 120
syn_gitrebase_commands:
	.quad	.LC266
	.quad	.LC267
	.quad	.LC268
	.quad	.LC269
	.quad	.LC270
	.quad	.LC271
	.quad	.LC272
	.quad	.LC273
	.quad	.LC274
	.quad	.LC275
	.quad	.LC276
	.quad	.LC277
	.quad	.LC278
	.quad	.LC279
	.quad	0
	.text
	.type	syn_gitrebase_extended, @function
syn_gitrebase_extended:
.LFB28:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	DWORD PTR -32[rbp], edx
	mov	DWORD PTR -36[rbp], ecx
	mov	QWORD PTR -48[rbp], r8
	cmp	DWORD PTR -32[rbp], 35
	jne	.L251
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 4[rax]
	add	eax, 1
	sub	eax, DWORD PTR -28[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 3
	jmp	.L252
.L251:
	cmp	DWORD PTR -28[rbp], 0
	jne	.L253
	mov	eax, DWORD PTR -28[rbp]
	mov	DWORD PTR -4[rbp], eax
	mov	DWORD PTR -16[rbp], 0
	jmp	.L254
.L259:
	mov	DWORD PTR -12[rbp], 0
	jmp	.L255
.L257:
	add	DWORD PTR -12[rbp], 1
.L255:
	mov	edx, DWORD PTR -4[rbp]
	mov	eax, DWORD PTR -12[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	edx, eax
	jge	.L256
	mov	edx, DWORD PTR -4[rbp]
	mov	eax, DWORD PTR -12[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	mov	ecx, eax
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, syn_gitrebase_commands[rip]
	mov	rdx, QWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	cmp	ecx, eax
	je	.L257
.L256:
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, syn_gitrebase_commands[rip]
	mov	rdx, QWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L258
	mov	edx, DWORD PTR -4[rbp]
	mov	eax, DWORD PTR -12[rbp]
	add	eax, edx
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 1
	jmp	.L252
.L258:
	add	DWORD PTR -16[rbp], 1
.L254:
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, syn_gitrebase_commands[rip]
	mov	rax, QWORD PTR [rdx+rax]
	test	rax, rax
	jne	.L259
.L253:
	cmp	DWORD PTR -28[rbp], 0
	jle	.L260
	mov	eax, DWORD PTR -28[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	movsx	rdx, edx
	movzx	eax, WORD PTR 12[rax+rdx*4]
	shr	ax, 4
	and	eax, 127
	movzx	eax, al
	and	eax, 1
	test	eax, eax
	je	.L260
	mov	eax, DWORD PTR -28[rbp]
	mov	DWORD PTR -8[rbp], eax
	jmp	.L261
.L262:
	add	DWORD PTR -8[rbp], 1
.L261:
	call	__ctype_b_loc@PLT
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -8[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	mov	eax, eax
	add	rax, rax
	add	rax, rcx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 4096
	test	eax, eax
	jne	.L262
	mov	eax, DWORD PTR -8[rbp]
	sub	eax, DWORD PTR -28[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 6
	jmp	.L252
.L260:
	mov	eax, 0
.L252:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE28:
	.size	syn_gitrebase_extended, .-syn_gitrebase_extended
	.section	.rodata
.LC280:
	.string	"git-rebase-todo"
	.section	.data.rel.local
	.align 16
	.type	syn_gitrebase_ext, @object
	.size	syn_gitrebase_ext, 16
syn_gitrebase_ext:
	.quad	.LC280
	.quad	0
	.text
	.type	syn_diff_extended, @function
syn_diff_extended:
.LFB29:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	mov	DWORD PTR -16[rbp], edx
	mov	DWORD PTR -20[rbp], ecx
	mov	QWORD PTR -32[rbp], r8
	cmp	DWORD PTR -12[rbp], 0
	jne	.L264
	cmp	DWORD PTR -16[rbp], 43
	jne	.L265
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 4[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 8
	jmp	.L266
.L265:
	cmp	DWORD PTR -16[rbp], 45
	jne	.L267
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 4[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 9
	jmp	.L266
.L267:
	cmp	DWORD PTR -16[rbp], 64
	jne	.L268
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 4[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 4
	jmp	.L266
.L268:
	cmp	DWORD PTR -16[rbp], 32
	je	.L264
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 4[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 1
	jmp	.L266
.L264:
	mov	eax, 0
.L266:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE29:
	.size	syn_diff_extended, .-syn_diff_extended
	.section	.rodata
.LC281:
	.string	".diff"
.LC282:
	.string	".patch"
	.section	.data.rel.local
	.align 16
	.type	syn_diff_ext, @object
	.size	syn_diff_ext, 24
syn_diff_ext:
	.quad	.LC281
	.quad	.LC282
	.quad	0
	.section	.rodata
.LC283:
	.string	"crate"
.LC284:
	.string	"false"
.LC285:
	.string	"fn"
.LC286:
	.string	"impl"
.LC287:
	.string	"let"
.LC288:
	.string	"loop"
.LC289:
	.string	"match"
.LC290:
	.string	"mod"
.LC291:
	.string	"move"
.LC292:
	.string	"mut"
.LC293:
	.string	"pub"
.LC294:
	.string	"ref"
.LC295:
	.string	"Self"
.LC296:
	.string	"self"
.LC297:
	.string	"super"
.LC298:
	.string	"trait"
.LC299:
	.string	"true"
.LC300:
	.string	"type"
.LC301:
	.string	"unsafe"
.LC302:
	.string	"use"
.LC303:
	.string	"where"
	.section	.data.rel.local
	.align 32
	.type	syn_rust_keywords, @object
	.size	syn_rust_keywords, 288
syn_rust_keywords:
	.quad	.LC165
	.quad	.LC92
	.quad	.LC124
	.quad	.LC90
	.quad	.LC283
	.quad	.LC101
	.quad	.LC129
	.quad	.LC131
	.quad	.LC284
	.quad	.LC285
	.quad	.LC89
	.quad	.LC88
	.quad	.LC286
	.quad	.LC173
	.quad	.LC287
	.quad	.LC288
	.quad	.LC289
	.quad	.LC290
	.quad	.LC291
	.quad	.LC292
	.quad	.LC293
	.quad	.LC294
	.quad	.LC91
	.quad	.LC295
	.quad	.LC296
	.quad	.LC115
	.quad	.LC96
	.quad	.LC297
	.quad	.LC298
	.quad	.LC299
	.quad	.LC300
	.quad	.LC301
	.quad	.LC302
	.quad	.LC303
	.quad	.LC87
	.quad	0
	.section	.rodata
.LC304:
	.string	"i8"
.LC305:
	.string	"i16"
.LC306:
	.string	"i32"
.LC307:
	.string	"i64"
.LC308:
	.string	"u8"
.LC309:
	.string	"u16"
.LC310:
	.string	"u32"
.LC311:
	.string	"u64"
.LC312:
	.string	"isize"
.LC313:
	.string	"usize"
.LC314:
	.string	"f32"
.LC315:
	.string	"f64"
	.section	.data.rel.local
	.align 32
	.type	syn_rust_types, @object
	.size	syn_rust_types, 128
syn_rust_types:
	.quad	.LC132
	.quad	.LC117
	.quad	.LC189
	.quad	.LC304
	.quad	.LC305
	.quad	.LC306
	.quad	.LC307
	.quad	.LC308
	.quad	.LC309
	.quad	.LC310
	.quad	.LC311
	.quad	.LC312
	.quad	.LC313
	.quad	.LC314
	.quad	.LC315
	.quad	0
	.text
	.type	syn_rust_extended, @function
syn_rust_extended:
.LFB30:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	DWORD PTR -48[rbp], edx
	mov	DWORD PTR -52[rbp], ecx
	mov	QWORD PTR -64[rbp], r8
	cmp	DWORD PTR -52[rbp], 0
	je	.L270
	mov	eax, DWORD PTR -52[rbp]
	mov	edi, eax
	call	syn_c_iskeywordchar
	test	eax, eax
	jne	.L271
.L270:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -48[rbp]
	cdqe
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 2048
	test	eax, eax
	je	.L271
	cmp	DWORD PTR -48[rbp], 48
	jne	.L272
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 4[rax]
	sub	eax, 1
	cmp	DWORD PTR -44[rbp], eax
	jge	.L272
	mov	eax, DWORD PTR -44[rbp]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -40[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	cmp	eax, 120
	jne	.L272
	mov	DWORD PTR -32[rbp], 2
	jmp	.L273
.L275:
	add	DWORD PTR -32[rbp], 1
.L273:
	mov	edx, DWORD PTR -44[rbp]
	mov	eax, DWORD PTR -32[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	edx, eax
	jge	.L274
	call	__ctype_b_loc@PLT
	mov	rcx, QWORD PTR [rax]
	mov	edx, DWORD PTR -44[rbp]
	mov	eax, DWORD PTR -32[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	mov	eax, eax
	add	rax, rax
	add	rax, rcx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 4096
	test	eax, eax
	jne	.L275
.L274:
	mov	edx, DWORD PTR -44[rbp]
	mov	eax, DWORD PTR -32[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	edx, eax
	jge	.L276
	mov	edx, DWORD PTR -44[rbp]
	mov	eax, DWORD PTR -32[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	mov	edi, eax
	call	syn_c_iskeywordchar
	test	eax, eax
	je	.L276
	mov	eax, 0
	jmp	.L277
.L276:
	mov	eax, DWORD PTR -32[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -64[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 6
	jmp	.L277
.L272:
	mov	DWORD PTR -28[rbp], 1
	jmp	.L278
.L280:
	add	DWORD PTR -28[rbp], 1
.L278:
	mov	edx, DWORD PTR -44[rbp]
	mov	eax, DWORD PTR -28[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	edx, eax
	jge	.L279
	call	__ctype_b_loc@PLT
	mov	rcx, QWORD PTR [rax]
	mov	edx, DWORD PTR -44[rbp]
	mov	eax, DWORD PTR -28[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	mov	eax, eax
	add	rax, rax
	add	rax, rcx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 2048
	test	eax, eax
	jne	.L280
.L279:
	mov	edx, DWORD PTR -44[rbp]
	mov	eax, DWORD PTR -28[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	edx, eax
	jge	.L281
	mov	edx, DWORD PTR -44[rbp]
	mov	eax, DWORD PTR -28[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	mov	edi, eax
	call	syn_c_iskeywordchar
	test	eax, eax
	je	.L281
	mov	eax, 0
	jmp	.L277
.L281:
	mov	eax, DWORD PTR -28[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -64[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 6
	jmp	.L277
.L271:
	cmp	DWORD PTR -48[rbp], 47
	jne	.L282
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 4[rax]
	sub	eax, 1
	cmp	DWORD PTR -44[rbp], eax
	jge	.L283
	mov	eax, DWORD PTR -44[rbp]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -40[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	cmp	eax, 47
	jne	.L283
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 4[rax]
	add	eax, 1
	sub	eax, DWORD PTR -44[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -64[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 3
	jmp	.L277
.L283:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 4[rax]
	sub	eax, 1
	cmp	DWORD PTR -44[rbp], eax
	jge	.L282
	mov	eax, DWORD PTR -44[rbp]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -40[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	cmp	eax, 42
	jne	.L282
	mov	DWORD PTR -24[rbp], 0
	mov	eax, DWORD PTR -44[rbp]
	add	eax, 2
	mov	DWORD PTR -20[rbp], eax
	jmp	.L284
.L286:
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR -20[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	mov	DWORD PTR -8[rbp], eax
	cmp	DWORD PTR -8[rbp], 47
	jne	.L285
	cmp	DWORD PTR -24[rbp], 42
	jne	.L285
	mov	eax, DWORD PTR -20[rbp]
	sub	eax, DWORD PTR -44[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -64[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 3
	jmp	.L277
.L285:
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR -24[rbp], eax
	add	DWORD PTR -20[rbp], 1
.L284:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -20[rbp], eax
	jl	.L286
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 4[rax]
	add	eax, 1
	sub	eax, DWORD PTR -44[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -64[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 67
	jmp	.L277
.L282:
	cmp	DWORD PTR -48[rbp], 39
	jne	.L287
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 4[rax]
	sub	eax, 3
	cmp	DWORD PTR -44[rbp], eax
	jge	.L288
	mov	eax, DWORD PTR -44[rbp]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -40[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	cmp	eax, 92
	jne	.L288
	mov	eax, DWORD PTR -44[rbp]
	lea	edx, 3[rax]
	mov	rax, QWORD PTR -40[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	cmp	eax, 39
	jne	.L288
	mov	rax, QWORD PTR -64[rbp]
	mov	DWORD PTR [rax], 3
	mov	eax, 6
	jmp	.L277
.L288:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 4[rax]
	sub	eax, 2
	cmp	DWORD PTR -44[rbp], eax
	jge	.L287
	mov	eax, DWORD PTR -44[rbp]
	lea	edx, 2[rax]
	mov	rax, QWORD PTR -40[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	cmp	eax, 39
	jne	.L287
	mov	rax, QWORD PTR -64[rbp]
	mov	DWORD PTR [rax], 2
	mov	eax, 6
	jmp	.L277
.L287:
	cmp	DWORD PTR -48[rbp], 34
	jne	.L289
	mov	DWORD PTR -16[rbp], 0
	mov	eax, DWORD PTR -44[rbp]
	add	eax, 1
	mov	DWORD PTR -12[rbp], eax
	jmp	.L290
.L293:
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR -12[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -16[rbp], 92
	je	.L291
	cmp	DWORD PTR -4[rbp], 34
	jne	.L291
	mov	eax, DWORD PTR -12[rbp]
	sub	eax, DWORD PTR -44[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -64[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 2
	jmp	.L277
.L291:
	cmp	DWORD PTR -16[rbp], 92
	jne	.L292
	cmp	DWORD PTR -4[rbp], 92
	jne	.L292
	mov	DWORD PTR -16[rbp], 0
.L292:
	mov	eax, DWORD PTR -4[rbp]
	mov	DWORD PTR -16[rbp], eax
	add	DWORD PTR -12[rbp], 1
.L290:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -12[rbp], eax
	jl	.L293
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 4[rax]
	add	eax, 1
	sub	eax, DWORD PTR -44[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -64[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 2
	jmp	.L277
.L289:
	mov	eax, 0
.L277:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE30:
	.size	syn_rust_extended, .-syn_rust_extended
	.type	syn_rust_finish, @function
syn_rust_finish:
.LFB31:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -36[rbp], edx
	cmp	DWORD PTR -36[rbp], 67
	jne	.L295
	mov	DWORD PTR -8[rbp], 0
	mov	DWORD PTR -4[rbp], 0
	jmp	.L296
.L299:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -4[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	cmp	eax, 47
	jne	.L297
	cmp	DWORD PTR -8[rbp], 42
	jne	.L297
	mov	eax, DWORD PTR -4[rbp]
	lea	edx, 2[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 3
	jmp	.L298
.L297:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -4[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	mov	DWORD PTR -8[rbp], eax
	add	DWORD PTR -4[rbp], 1
.L296:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -4[rbp], eax
	jl	.L299
	mov	eax, 67
	jmp	.L298
.L295:
	mov	eax, 0
.L298:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE31:
	.size	syn_rust_finish, .-syn_rust_finish
	.section	.rodata
.LC316:
	.string	".rs"
	.section	.data.rel.local
	.align 16
	.type	syn_rust_ext, @object
	.size	syn_rust_ext, 16
syn_rust_ext:
	.quad	.LC316
	.quad	0
	.text
	.type	syn_conf_extended, @function
syn_conf_extended:
.LFB32:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	DWORD PTR -32[rbp], edx
	mov	DWORD PTR -36[rbp], ecx
	mov	QWORD PTR -48[rbp], r8
	cmp	DWORD PTR -28[rbp], 0
	jne	.L301
	cmp	DWORD PTR -32[rbp], 59
	jne	.L302
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 4[rax]
	add	eax, 1
	sub	eax, DWORD PTR -28[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 3
	jmp	.L303
.L302:
	cmp	DWORD PTR -32[rbp], 91
	jne	.L304
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 4[rax]
	add	eax, 1
	sub	eax, DWORD PTR -28[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 1
	jmp	.L303
.L304:
	mov	DWORD PTR -4[rbp], 0
	jmp	.L305
.L307:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -4[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	cmp	eax, 61
	jne	.L306
	mov	rax, QWORD PTR -48[rbp]
	mov	edx, DWORD PTR -4[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 4
	jmp	.L303
.L306:
	add	DWORD PTR -4[rbp], 1
.L305:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -4[rbp], eax
	jl	.L307
.L301:
	mov	eax, 0
.L303:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE32:
	.size	syn_conf_extended, .-syn_conf_extended
	.section	.rodata
.LC317:
	.string	".conf"
	.section	.data.rel.local
	.align 16
	.type	syn_conf_ext, @object
	.size	syn_conf_ext, 16
syn_conf_ext:
	.quad	.LC317
	.quad	0
	.globl	syntaxes
	.section	.rodata
.LC318:
	.string	"c"
.LC319:
	.string	"python"
.LC320:
	.string	"esh"
.LC321:
	.string	"make"
.LC322:
	.string	"bimrc"
.LC323:
	.string	"gitcommit"
.LC324:
	.string	"gitrebase"
.LC325:
	.string	"diff"
.LC326:
	.string	"rust"
.LC327:
	.string	"conf"
	.section	.data.rel.local
	.align 32
	.type	syntaxes, @object
	.size	syntaxes, 616
syntaxes:
	.quad	.LC318
	.quad	syn_c_ext
	.quad	syn_c_keywords
	.quad	syn_c_types
	.quad	syn_c_extended
	.quad	syn_c_iskeywordchar
	.quad	syn_c_finish
	.quad	.LC319
	.quad	syn_py_ext
	.quad	syn_py_keywords
	.quad	syn_py_types
	.quad	syn_py_extended
	.quad	syn_c_iskeywordchar
	.quad	syn_py_finish
	.quad	.LC320
	.quad	syn_sh_ext
	.quad	syn_sh_keywords
	.quad	0
	.quad	syn_sh_extended
	.quad	syn_sh_iskeywordchar
	.quad	0
	.quad	.LC321
	.quad	syn_make_ext
	.quad	0
	.quad	0
	.quad	syn_make_extended
	.quad	0
	.quad	0
	.quad	.LC322
	.quad	syn_bimrc_ext
	.quad	syn_bimrc_keywords
	.quad	0
	.quad	syn_bimrc_extended
	.quad	syn_c_iskeywordchar
	.quad	0
	.quad	.LC323
	.quad	syn_gitcommit_ext
	.quad	0
	.quad	0
	.quad	syn_gitcommit_extended
	.quad	0
	.quad	0
	.quad	.LC324
	.quad	syn_gitrebase_ext
	.quad	0
	.quad	0
	.quad	syn_gitrebase_extended
	.quad	0
	.quad	0
	.quad	.LC325
	.quad	syn_diff_ext
	.quad	0
	.quad	0
	.quad	syn_diff_extended
	.quad	0
	.quad	0
	.quad	.LC326
	.quad	syn_rust_ext
	.quad	syn_rust_keywords
	.quad	syn_rust_types
	.quad	syn_rust_extended
	.quad	syn_c_iskeywordchar
	.quad	syn_rust_finish
	.quad	.LC327
	.quad	syn_conf_ext
	.quad	0
	.quad	0
	.quad	syn_conf_extended
	.quad	0
	.quad	0
	.quad	0
	.zero	48
	.text
	.globl	check_line
	.type	check_line, @function
check_line:
.LFB33:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	QWORD PTR -40[rbp], rdx
	mov	DWORD PTR -32[rbp], ecx
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 56[rax]
	mov	rdx, QWORD PTR 40[rax]
	mov	eax, DWORD PTR -32[rbp]
	mov	edi, eax
	call	rdx
	test	eax, eax
	je	.L309
	mov	eax, 0
	jmp	.L310
.L309:
	mov	eax, DWORD PTR -28[rbp]
	mov	DWORD PTR -4[rbp], eax
	jmp	.L311
.L314:
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L312
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 56[rax]
	mov	rax, QWORD PTR 40[rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	ecx, DWORD PTR -4[rbp]
	movsx	rcx, ecx
	mov	edx, DWORD PTR 12[rdx+rcx*4]
	shr	edx, 11
	mov	edi, edx
	call	rax
	test	eax, eax
	jne	.L312
	mov	eax, 1
	jmp	.L310
.L312:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -4[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	cmp	edx, eax
	jne	.L313
	add	DWORD PTR -4[rbp], 1
	add	QWORD PTR -40[rbp], 1
	jmp	.L311
.L313:
	mov	eax, 0
	jmp	.L310
.L311:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -4[rbp], eax
	jl	.L314
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L315
	mov	eax, 1
	jmp	.L310
.L315:
	mov	eax, 0
.L310:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE33:
	.size	check_line, .-check_line
	.globl	recalculate_syntax
	.type	recalculate_syntax, @function
recalculate_syntax:
.LFB34:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -72[rbp], rdi
	mov	DWORD PTR -76[rbp], esi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 56[rax]
	test	rax, rax
	jne	.L317
	mov	DWORD PTR -60[rbp], 0
	jmp	.L318
.L319:
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, DWORD PTR -60[rbp]
	movsx	rdx, edx
	movzx	ecx, WORD PTR 12[rax+rdx*4]
	and	cx, -2033
	mov	WORD PTR 12[rax+rdx*4], cx
	add	DWORD PTR -60[rbp], 1
.L318:
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -60[rbp], eax
	jl	.L319
	jmp	.L316
.L317:
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	DWORD PTR -56[rbp], eax
	mov	DWORD PTR -64[rbp], 0
	mov	DWORD PTR -52[rbp], 0
	cmp	DWORD PTR -56[rbp], 0
	je	.L321
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 56[rax]
	mov	r8, QWORD PTR 48[rax]
	mov	edx, DWORD PTR -56[rbp]
	lea	rcx, -64[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	DWORD PTR -56[rbp], eax
	mov	eax, DWORD PTR -56[rbp]
	and	eax, 64
	test	eax, eax
	je	.L321
	mov	DWORD PTR -48[rbp], 0
	jmp	.L322
.L323:
	mov	eax, DWORD PTR -56[rbp]
	and	eax, 127
	mov	rdx, QWORD PTR -72[rbp]
	mov	ecx, DWORD PTR -48[rbp]
	movsx	rcx, ecx
	movzx	eax, al
	and	eax, 127
	sal	eax, 4
	mov	esi, eax
	movzx	eax, WORD PTR 12[rdx+rcx*4]
	and	ax, -2033
	or	eax, esi
	mov	WORD PTR 12[rdx+rcx*4], ax
	add	DWORD PTR -48[rbp], 1
.L322:
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -48[rbp], eax
	jl	.L323
	jmp	.L324
.L321:
	mov	DWORD PTR -44[rbp], 0
	jmp	.L325
.L342:
	mov	eax, DWORD PTR -64[rbp]
	test	eax, eax
	jne	.L326
	mov	DWORD PTR -56[rbp], 0
.L326:
	cmp	DWORD PTR -56[rbp], 0
	je	.L327
	mov	eax, DWORD PTR -64[rbp]
	sub	eax, 1
	mov	DWORD PTR -64[rbp], eax
	mov	eax, DWORD PTR -56[rbp]
	and	eax, 127
	mov	rdx, QWORD PTR -72[rbp]
	mov	ecx, DWORD PTR -44[rbp]
	movsx	rcx, ecx
	movzx	eax, al
	and	eax, 127
	sal	eax, 4
	mov	esi, eax
	movzx	eax, WORD PTR 12[rdx+rcx*4]
	and	ax, -2033
	or	eax, esi
	mov	WORD PTR 12[rdx+rcx*4], ax
	mov	eax, DWORD PTR -64[rbp]
	test	eax, eax
	jne	.L345
	mov	DWORD PTR -56[rbp], 0
	jmp	.L345
.L327:
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, DWORD PTR -44[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	mov	DWORD PTR -40[rbp], eax
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, DWORD PTR -44[rbp]
	movsx	rdx, edx
	movzx	ecx, WORD PTR 12[rax+rdx*4]
	and	cx, -2033
	mov	WORD PTR 12[rax+rdx*4], cx
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 56[rax]
	mov	rax, QWORD PTR 32[rax]
	test	rax, rax
	je	.L330
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 56[rax]
	mov	r9, QWORD PTR 32[rax]
	lea	rdi, -64[rbp]
	mov	ecx, DWORD PTR -52[rbp]
	mov	edx, DWORD PTR -40[rbp]
	mov	esi, DWORD PTR -44[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	r8, rdi
	mov	rdi, rax
	call	r9
	mov	DWORD PTR -36[rbp], eax
	cmp	DWORD PTR -36[rbp], 0
	je	.L330
	mov	eax, DWORD PTR -36[rbp]
	mov	DWORD PTR -56[rbp], eax
	mov	eax, DWORD PTR -56[rbp]
	and	eax, 64
	test	eax, eax
	je	.L346
	jmp	.L332
.L333:
	mov	eax, DWORD PTR -56[rbp]
	and	eax, 127
	mov	rdx, QWORD PTR -72[rbp]
	mov	ecx, DWORD PTR -44[rbp]
	movsx	rcx, ecx
	movzx	eax, al
	and	eax, 127
	sal	eax, 4
	mov	esi, eax
	movzx	eax, WORD PTR 12[rdx+rcx*4]
	and	ax, -2033
	or	eax, esi
	mov	WORD PTR 12[rdx+rcx*4], ax
	add	DWORD PTR -44[rbp], 1
.L332:
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -44[rbp], eax
	jl	.L333
	jmp	.L324
.L330:
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 56[rax]
	mov	rax, QWORD PTR 16[rax]
	test	rax, rax
	je	.L335
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 56[rax]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -24[rbp], rax
	jmp	.L336
.L338:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	ecx, DWORD PTR -52[rbp]
	mov	esi, DWORD PTR -44[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	call	check_line
	mov	DWORD PTR -32[rbp], eax
	cmp	DWORD PTR -32[rbp], 1
	jne	.L337
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	strlen@PLT
	sub	eax, 1
	mov	DWORD PTR -64[rbp], eax
	mov	DWORD PTR -56[rbp], 1
	jmp	.L334
.L337:
	add	QWORD PTR -24[rbp], 8
.L336:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L338
.L335:
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 56[rax]
	mov	rax, QWORD PTR 24[rax]
	test	rax, rax
	je	.L347
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 56[rax]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L339
.L341:
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	ecx, DWORD PTR -52[rbp]
	mov	esi, DWORD PTR -44[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	call	check_line
	mov	DWORD PTR -28[rbp], eax
	cmp	DWORD PTR -28[rbp], 1
	jne	.L340
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	strlen@PLT
	sub	eax, 1
	mov	DWORD PTR -64[rbp], eax
	mov	DWORD PTR -56[rbp], 4
	jmp	.L334
.L340:
	add	QWORD PTR -16[rbp], 8
.L339:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L341
	jmp	.L347
.L346:
	nop
	jmp	.L334
.L347:
	nop
.L334:
	mov	eax, DWORD PTR -56[rbp]
	and	eax, 127
	mov	rdx, QWORD PTR -72[rbp]
	mov	ecx, DWORD PTR -44[rbp]
	movsx	rcx, ecx
	movzx	eax, al
	and	eax, 127
	sal	eax, 4
	mov	esi, eax
	movzx	eax, WORD PTR 12[rdx+rcx*4]
	and	ax, -2033
	or	eax, esi
	mov	WORD PTR 12[rdx+rcx*4], ax
	jmp	.L329
.L345:
	nop
.L329:
	mov	eax, DWORD PTR -44[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -44[rbp], edx
	mov	rdx, QWORD PTR -72[rbp]
	cdqe
	mov	eax, DWORD PTR 12[rdx+rax*4]
	shr	eax, 11
	mov	DWORD PTR -52[rbp], eax
.L325:
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -44[rbp], eax
	jl	.L342
	mov	DWORD PTR -56[rbp], 0
.L324:
	mov	eax, DWORD PTR -76[rbp]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 28[rax]
	cmp	edx, eax
	jge	.L316
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	add	rax, 1
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 8[rax]
	cmp	DWORD PTR -56[rbp], eax
	je	.L316
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	add	rax, 1
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -56[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	eax, DWORD PTR -76[rbp]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	rcx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	add	rax, 1
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	esi, edx
	mov	rdi, rax
	call	recalculate_syntax
	mov	eax, DWORD PTR -76[rbp]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 16[rax]
	cmp	edx, eax
	jl	.L316
	mov	eax, DWORD PTR -76[rbp]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	ecx, DWORD PTR 16[rax]
	mov	eax, DWORD PTR global_config[rip+4]
	add	eax, ecx
	mov	ecx, DWORD PTR global_config[rip+8]
	sub	eax, ecx
	sub	eax, 1
	cmp	edx, eax
	jge	.L316
	mov	eax, DWORD PTR -76[rbp]
	lea	edx, 1[rax]
	mov	eax, DWORD PTR -76[rbp]
	lea	ecx, 1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	esi, DWORD PTR 16[rax]
	mov	eax, ecx
	sub	eax, esi
	mov	esi, edx
	mov	edi, eax
	call	redraw_line
.L316:
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L344
	call	__stack_chk_fail@PLT
.L344:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE34:
	.size	recalculate_syntax, .-recalculate_syntax
	.globl	recalculate_tabs
	.type	recalculate_tabs, @function
recalculate_tabs:
.LFB35:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR env[rip]
	movzx	eax, BYTE PTR [rax]
	and	eax, 1
	test	al, al
	jne	.L354
	mov	DWORD PTR -8[rbp], 0
	mov	DWORD PTR -4[rbp], 0
	jmp	.L351
.L353:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -4[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	cmp	eax, 9
	jne	.L352
	mov	rax, QWORD PTR env[rip]
	movzx	eax, WORD PTR 4[rax]
	mov	esi, eax
	mov	rax, QWORD PTR env[rip]
	movzx	eax, WORD PTR 4[rax]
	movsx	ecx, ax
	mov	eax, DWORD PTR -8[rbp]
	cdq
	idiv	ecx
	mov	eax, edx
	mov	edx, eax
	mov	eax, esi
	sub	eax, edx
	and	eax, 15
	mov	ecx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -4[rbp]
	movsx	rdx, edx
	mov	esi, ecx
	and	esi, 15
	movzx	ecx, BYTE PTR 12[rax+rdx*4]
	and	ecx, -16
	or	ecx, esi
	mov	BYTE PTR 12[rax+rdx*4], cl
.L352:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -4[rbp]
	movsx	rdx, edx
	movzx	eax, BYTE PTR 12[rax+rdx*4]
	and	eax, 15
	movzx	eax, al
	add	DWORD PTR -8[rbp], eax
	add	DWORD PTR -4[rbp], 1
.L351:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -4[rbp], eax
	jl	.L353
	jmp	.L348
.L354:
	nop
.L348:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE35:
	.size	recalculate_tabs, .-recalculate_tabs
	.globl	recursive_history_free
	.type	recursive_history_free, @function
recursive_history_free:
.LFB36:
	.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
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L361
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	recursive_history_free
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	cmp	eax, 4
	je	.L358
	cmp	eax, 6
	jne	.L362
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	rdi, rax
	call	free@PLT
.L358:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 40[rax]
	mov	rdi, rax
	call	free@PLT
	jmp	.L360
.L362:
	nop
.L360:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 8[rax], 0
	jmp	.L355
.L361:
	nop
.L355:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE36:
	.size	recursive_history_free, .-recursive_history_free
	.globl	set_history_break
	.type	set_history_break, @function
set_history_break:
.LFB37:
	.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 global_config[rip+88]
	test	eax, eax
	je	.L367
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 72[rax]
	mov	eax, DWORD PTR 16[rax]
	cmp	eax, 10
	je	.L363
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 72[rax]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	je	.L363
	mov	edi, 48
	call	malloc@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], 10
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 72[rax]
	test	rax, rax
	je	.L366
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 72[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 72[rax]
	mov	rdi, rax
	call	recursive_history_free
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 72[rax]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], 0
.L366:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 72[rax], rdx
	jmp	.L363
.L367:
	nop
.L363:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE37:
	.size	set_history_break, .-set_history_break
	.globl	line_insert
	.type	line_insert, @function
line_insert:
.LFB38:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	DWORD PTR -32[rbp], edx
	mov	DWORD PTR -36[rbp], ecx
	mov	rax, QWORD PTR env[rip]
	movzx	eax, BYTE PTR [rax]
	and	eax, 1
	test	al, al
	jne	.L369
	mov	eax, DWORD PTR global_config[rip+88]
	test	eax, eax
	je	.L369
	mov	edi, 48
	call	malloc@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], 1
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -36[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -32[rbp]
	mov	DWORD PTR 28[rax], edx
	movzx	eax, BYTE PTR -27[rbp]
	shr	al, 3
	movzx	edx, al
	movzx	eax, BYTE PTR -26[rbp]
	sal	rax, 5
	or	rdx, rax
	movzx	eax, BYTE PTR -25[rbp]
	sal	rax, 13
	or	rax, rdx
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 72[rax]
	test	rax, rax
	je	.L370
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 72[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 72[rax]
	mov	rdi, rax
	call	recursive_history_free
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 72[rax]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], 0
.L370:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 72[rax], rdx
.L369:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	edx, eax
	jne	.L371
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jne	.L372
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR [rax], 8
	jmp	.L373
.L372:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	lea	edx, [rax+rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR [rax], edx
.L373:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	cdqe
	add	rax, 3
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	realloc@PLT
	mov	QWORD PTR -24[rbp], rax
.L371:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -32[rbp], eax
	jge	.L374
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 4[rax]
	sub	eax, DWORD PTR -32[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	eax, DWORD PTR -32[rbp]
	cdqe
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rcx
	lea	rcx, 12[rax]
	mov	eax, DWORD PTR -32[rbp]
	add	eax, 1
	cdqe
	lea	rsi, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rsi
	add	rax, 12
	mov	rsi, rcx
	mov	rdi, rax
	call	memmove@PLT
.L374:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -32[rbp]
	movsx	rdx, edx
	mov	ecx, DWORD PTR -28[rbp]
	mov	DWORD PTR 12[rax+rdx*4], ecx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 4[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 4[rax], edx
	mov	rax, QWORD PTR env[rip]
	movzx	eax, BYTE PTR [rax]
	and	eax, 1
	test	al, al
	jne	.L375
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	recalculate_tabs
	mov	edx, DWORD PTR -36[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	recalculate_syntax
.L375:
	mov	rax, QWORD PTR -24[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE38:
	.size	line_insert, .-line_insert
	.globl	line_delete
	.type	line_delete, @function
line_delete:
.LFB39:
	.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
	mov	DWORD PTR -28[rbp], esi
	mov	DWORD PTR -32[rbp], edx
	cmp	DWORD PTR -28[rbp], 0
	je	.L383
	mov	rax, QWORD PTR env[rip]
	movzx	eax, BYTE PTR [rax]
	and	eax, 1
	test	al, al
	jne	.L380
	mov	eax, DWORD PTR global_config[rip+88]
	test	eax, eax
	je	.L380
	mov	edi, 48
	call	malloc@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], 2
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -32[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -28[rbp]
	mov	DWORD PTR 28[rax], edx
	mov	eax, DWORD PTR -28[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 72[rax]
	test	rax, rax
	je	.L381
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 72[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 72[rax]
	mov	rdi, rax
	call	recursive_history_free
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 72[rax]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], 0
.L381:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 72[rax], rdx
.L380:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -28[rbp], eax
	jge	.L382
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 4[rax]
	sub	eax, DWORD PTR -28[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rcx
	lea	rcx, 12[rax]
	mov	eax, DWORD PTR -28[rbp]
	sub	eax, 1
	cdqe
	lea	rsi, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rsi
	add	rax, 12
	mov	rsi, rcx
	mov	rdi, rax
	call	memmove@PLT
.L382:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 4[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 4[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	recalculate_tabs
	mov	edx, DWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	recalculate_syntax
	jmp	.L377
.L383:
	nop
.L377:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE39:
	.size	line_delete, .-line_delete
	.globl	line_replace
	.type	line_replace, @function
line_replace:
.LFB40:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	DWORD PTR -32[rbp], edx
	mov	DWORD PTR -36[rbp], ecx
	mov	rax, QWORD PTR env[rip]
	movzx	eax, BYTE PTR [rax]
	and	eax, 1
	test	al, al
	jne	.L385
	mov	eax, DWORD PTR global_config[rip+88]
	test	eax, eax
	je	.L385
	mov	edi, 48
	call	malloc@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], 3
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -36[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -32[rbp]
	mov	DWORD PTR 28[rax], edx
	movzx	eax, BYTE PTR -27[rbp]
	shr	al, 3
	movzx	edx, al
	movzx	eax, BYTE PTR -26[rbp]
	sal	rax, 5
	or	rdx, rax
	movzx	eax, BYTE PTR -25[rbp]
	sal	rax, 13
	or	rax, rdx
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -32[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 72[rax]
	test	rax, rax
	je	.L386
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 72[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 72[rax]
	mov	rdi, rax
	call	recursive_history_free
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 72[rax]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], 0
.L386:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 72[rax], rdx
.L385:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -32[rbp]
	movsx	rdx, edx
	mov	ecx, DWORD PTR -28[rbp]
	mov	DWORD PTR 12[rax+rdx*4], ecx
	mov	rax, QWORD PTR env[rip]
	movzx	eax, BYTE PTR [rax]
	and	eax, 1
	test	al, al
	jne	.L388
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	recalculate_tabs
	mov	edx, DWORD PTR -36[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	recalculate_syntax
.L388:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE40:
	.size	line_replace, .-line_replace
	.globl	remove_line
	.type	remove_line, @function
remove_line:
.LFB41:
	.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
	mov	DWORD PTR -28[rbp], esi
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 28[rax]
	cmp	eax, 1
	jne	.L390
	jmp	.L391
.L392:
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	ecx, DWORD PTR 4[rax]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -28[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	line_delete
.L391:
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 4[rax]
	test	eax, eax
	jg	.L392
	mov	rax, QWORD PTR -24[rbp]
	jmp	.L393
.L390:
	mov	rax, QWORD PTR env[rip]
	movzx	eax, BYTE PTR [rax]
	and	eax, 1
	test	al, al
	jne	.L394
	mov	eax, DWORD PTR global_config[rip+88]
	test	eax, eax
	je	.L394
	mov	edi, 48
	call	malloc@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], 4
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -28[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR [rax]
	cdqe
	add	rax, 3
	sal	rax, 2
	mov	rdi, rax
	call	malloc@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 40[rax], rdx
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR [rax]
	cdqe
	add	rax, 3
	lea	rdx, 0[0+rax*4]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rcx
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 40[rax]
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 72[rax]
	test	rax, rax
	je	.L395
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 72[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 72[rax]
	mov	rdi, rax
	call	recursive_history_free
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 72[rax]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], 0
.L395:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 72[rax], rdx
.L394:
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 28[rax]
	cmp	DWORD PTR -28[rbp], eax
	jge	.L396
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 28[rax]
	mov	edx, DWORD PTR -28[rbp]
	sub	edx, 1
	sub	eax, edx
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	add	rax, 1
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -24[rbp]
	add	rcx, rax
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	lea	rsi, 0[0+rax*8]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rsi
	mov	rsi, rcx
	mov	rdi, rax
	call	memmove@PLT
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 28[rax]
	cdqe
	sal	rax, 3
	lea	rdx, -8[rax]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	QWORD PTR [rax], 0
.L396:
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 28[rax]
	mov	rax, QWORD PTR env[rip]
	sub	edx, 1
	mov	DWORD PTR 28[rax], edx
	mov	rax, QWORD PTR -24[rbp]
.L393:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE41:
	.size	remove_line, .-remove_line
	.globl	add_line
	.type	add_line, @function
add_line:
.LFB42:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 40
	.cfi_offset 3, -24
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 28[rax]
	cmp	DWORD PTR -44[rbp], eax
	jle	.L398
	mov	rax, QWORD PTR -40[rbp]
	jmp	.L399
.L398:
	mov	rax, QWORD PTR env[rip]
	movzx	eax, BYTE PTR [rax]
	and	eax, 1
	test	al, al
	jne	.L400
	mov	eax, DWORD PTR global_config[rip+88]
	test	eax, eax
	je	.L400
	mov	edi, 48
	call	malloc@PLT
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 16[rax], 5
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -44[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 72[rax]
	test	rax, rax
	je	.L401
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 72[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 72[rax]
	mov	rdi, rax
	call	recursive_history_free
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 72[rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 8[rax], 0
.L401:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 72[rax], rdx
.L400:
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 28[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 32[rax]
	cmp	edx, eax
	jne	.L402
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR env[rip]
	add	edx, edx
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 32[rax]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	realloc@PLT
	mov	QWORD PTR -40[rbp], rax
.L402:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 28[rax]
	cmp	DWORD PTR -44[rbp], eax
	jge	.L403
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 28[rax]
	sub	eax, DWORD PTR -44[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rcx, rax
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	add	rax, 1
	lea	rsi, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rsi
	mov	rsi, rcx
	mov	rdi, rax
	call	memmove@PLT
.L403:
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	lea	rbx, [rdx+rax]
	mov	edi, 140
	call	malloc@PLT
	mov	QWORD PTR [rbx], rax
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	DWORD PTR [rax], 32
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	DWORD PTR 4[rax], 0
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	DWORD PTR 8[rax], 0
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 28[rax]
	mov	rax, QWORD PTR env[rip]
	add	edx, 1
	mov	DWORD PTR 28[rax], edx
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR 64[rax], rdx
	cmp	DWORD PTR -44[rbp], 0
	jle	.L404
	mov	rax, QWORD PTR env[rip]
	movzx	eax, BYTE PTR [rax]
	and	eax, 1
	test	al, al
	jne	.L404
	mov	eax, DWORD PTR -44[rbp]
	lea	edx, -1[rax]
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	sal	rax, 3
	lea	rcx, -8[rax]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	esi, edx
	mov	rdi, rax
	call	recalculate_syntax
.L404:
	mov	rax, QWORD PTR -40[rbp]
.L399:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE42:
	.size	add_line, .-add_line
	.globl	replace_line
	.type	replace_line, @function
replace_line:
.LFB43:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 56
	.cfi_offset 3, -24
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	QWORD PTR -56[rbp], rdx
	mov	rax, QWORD PTR env[rip]
	movzx	eax, BYTE PTR [rax]
	and	eax, 1
	test	al, al
	jne	.L406
	mov	eax, DWORD PTR global_config[rip+88]
	test	eax, eax
	je	.L406
	mov	edi, 48
	call	malloc@PLT
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 16[rax], 6
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -44[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR [rax]
	cdqe
	add	rax, 3
	sal	rax, 2
	mov	rdi, rax
	call	malloc@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 40[rax], rdx
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR [rax]
	cdqe
	add	rax, 3
	lea	rdx, 0[0+rax*4]
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rcx
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 40[rax]
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR [rax]
	cdqe
	add	rax, 3
	sal	rax, 2
	mov	rdi, rax
	call	malloc@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 32[rax], rdx
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR [rax]
	cdqe
	add	rax, 3
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	rcx, QWORD PTR -56[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 72[rax]
	test	rax, rax
	je	.L407
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 72[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 72[rax]
	mov	rdi, rax
	call	recursive_history_free
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 72[rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 8[rax], 0
.L407:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 72[rax], rdx
.L406:
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	edx, eax
	jge	.L408
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR [rax]
	cdqe
	add	rax, 3
	lea	rdx, 0[0+rax*4]
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	ecx, DWORD PTR -44[rbp]
	movsx	rcx, ecx
	lea	rsi, 0[0+rcx*8]
	mov	rcx, QWORD PTR -40[rbp]
	lea	rbx, [rsi+rcx]
	mov	rsi, rdx
	mov	rdi, rax
	call	realloc@PLT
	mov	QWORD PTR [rbx], rax
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR [rdx]
	mov	DWORD PTR [rax], edx
.L408:
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR 4[rdx]
	mov	DWORD PTR 4[rax], edx
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 4[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -56[rbp]
	lea	rcx, 12[rax]
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	lea	rsi, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rsi
	mov	rax, QWORD PTR [rax]
	add	rax, 12
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
	mov	rax, QWORD PTR env[rip]
	movzx	eax, BYTE PTR [rax]
	and	eax, 1
	test	al, al
	jne	.L410
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -44[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	recalculate_syntax
.L410:
	nop
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE43:
	.size	replace_line, .-replace_line
	.globl	merge_lines
	.type	merge_lines, @function
merge_lines:
.LFB44:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 40
	.cfi_offset 3, -24
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	eax, DWORD PTR -44[rbp]
	sub	eax, 1
	mov	DWORD PTR -28[rbp], eax
	mov	rax, QWORD PTR env[rip]
	movzx	eax, BYTE PTR [rax]
	and	eax, 1
	test	al, al
	jne	.L414
	mov	eax, DWORD PTR global_config[rip+88]
	test	eax, eax
	je	.L414
	mov	edi, 48
	call	malloc@PLT
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 16[rax], 7
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -44[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 28[rax], edx
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 72[rax]
	test	rax, rax
	je	.L413
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 72[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 72[rax]
	mov	rdi, rax
	call	recursive_history_free
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 72[rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 8[rax], 0
.L413:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 72[rax], rdx
	jmp	.L414
.L417:
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jne	.L415
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	DWORD PTR [rax], 8
	jmp	.L416
.L415:
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	add	edx, edx
	mov	DWORD PTR [rax], edx
.L416:
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR [rax]
	cdqe
	add	rax, 3
	lea	rdx, 0[0+rax*4]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	ecx, DWORD PTR -28[rbp]
	movsx	rcx, ecx
	lea	rsi, 0[0+rcx*8]
	mov	rcx, QWORD PTR -40[rbp]
	lea	rbx, [rsi+rcx]
	mov	rsi, rdx
	mov	rdi, rax
	call	realloc@PLT
	mov	QWORD PTR [rbx], rax
.L414:
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	ecx, DWORD PTR 4[rax]
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	lea	rsi, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rsi
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 4[rax]
	add	eax, ecx
	cmp	edx, eax
	jl	.L417
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 4[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	lea	rcx, 12[rax]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	lea	rsi, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rsi
	mov	rsi, QWORD PTR [rax]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	lea	rdi, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdi
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 4[rax]
	cdqe
	sal	rax, 2
	add	rax, rsi
	add	rax, 12
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	ecx, DWORD PTR 4[rax]
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 4[rax]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	lea	rsi, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rsi
	mov	rax, QWORD PTR [rax]
	add	edx, ecx
	mov	DWORD PTR 4[rax], edx
	mov	rax, QWORD PTR env[rip]
	movzx	eax, BYTE PTR [rax]
	and	eax, 1
	test	al, al
	jne	.L418
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	recalculate_tabs
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -28[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	recalculate_syntax
.L418:
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 28[rax]
	cmp	DWORD PTR -44[rbp], eax
	jge	.L419
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 28[rax]
	mov	edx, DWORD PTR -44[rbp]
	sub	edx, 1
	sub	eax, edx
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	add	rax, 1
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rcx, rax
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	lea	rsi, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rsi
	mov	rsi, rcx
	mov	rdi, rax
	call	memmove@PLT
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 28[rax]
	cdqe
	sal	rax, 3
	lea	rdx, -8[rax]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	QWORD PTR [rax], 0
.L419:
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 28[rax]
	mov	rax, QWORD PTR env[rip]
	sub	edx, 1
	mov	DWORD PTR 28[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE44:
	.size	merge_lines, .-merge_lines
	.globl	split_line
	.type	split_line, @function
split_line:
.LFB45:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 40
	.cfi_offset 3, -24
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	DWORD PTR -48[rbp], edx
	cmp	DWORD PTR -48[rbp], 0
	jne	.L422
	mov	edx, DWORD PTR -44[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	add_line
	jmp	.L423
.L422:
	mov	rax, QWORD PTR env[rip]
	movzx	eax, BYTE PTR [rax]
	and	eax, 1
	test	al, al
	jne	.L424
	mov	eax, DWORD PTR global_config[rip+88]
	test	eax, eax
	je	.L424
	mov	edi, 48
	call	malloc@PLT
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 16[rax], 8
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -44[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -48[rbp]
	mov	DWORD PTR 28[rax], edx
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 72[rax]
	test	rax, rax
	je	.L425
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 72[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 72[rax]
	mov	rdi, rax
	call	recursive_history_free
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 72[rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 8[rax], 0
.L425:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 72[rax], rdx
.L424:
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 28[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 32[rax]
	cmp	edx, eax
	jne	.L426
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR env[rip]
	add	edx, edx
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 32[rax]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	realloc@PLT
	mov	QWORD PTR -40[rbp], rax
.L426:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 28[rax]
	cmp	DWORD PTR -44[rbp], eax
	jge	.L427
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 28[rax]
	sub	eax, DWORD PTR -44[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	add	rax, 1
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rcx, rax
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	add	rax, 2
	lea	rsi, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rsi
	mov	rsi, rcx
	mov	rdi, rax
	call	memmove@PLT
.L427:
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 4[rax]
	sub	eax, DWORD PTR -48[rbp]
	mov	DWORD PTR -32[rbp], eax
	mov	eax, DWORD PTR -32[rbp]
	mov	DWORD PTR -28[rbp], eax
	sub	DWORD PTR -28[rbp], 1
	mov	eax, DWORD PTR -28[rbp]
	sar	eax
	or	DWORD PTR -28[rbp], eax
	mov	eax, DWORD PTR -28[rbp]
	sar	eax, 2
	or	DWORD PTR -28[rbp], eax
	mov	eax, DWORD PTR -28[rbp]
	sar	eax, 4
	or	DWORD PTR -28[rbp], eax
	mov	eax, DWORD PTR -28[rbp]
	sar	eax, 8
	or	DWORD PTR -28[rbp], eax
	mov	eax, DWORD PTR -28[rbp]
	sar	eax, 16
	or	DWORD PTR -28[rbp], eax
	add	DWORD PTR -28[rbp], 1
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	add	rax, 3
	sal	rax, 2
	mov	edx, DWORD PTR -44[rbp]
	movsx	rdx, edx
	add	rdx, 1
	lea	rcx, 0[0+rdx*8]
	mov	rdx, QWORD PTR -40[rbp]
	lea	rbx, [rcx+rdx]
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR [rbx], rax
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -28[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -32[rbp]
	mov	DWORD PTR 4[rax], edx
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	DWORD PTR 8[rax], 0
	mov	eax, DWORD PTR -32[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rcx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -48[rbp]
	cdqe
	sal	rax, 2
	add	rax, rcx
	lea	rcx, 12[rax]
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	add	rax, 1
	lea	rsi, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rsi
	mov	rax, QWORD PTR [rax]
	add	rax, 12
	mov	rsi, rcx
	mov	rdi, rax
	call	memmove@PLT
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -48[rbp]
	mov	DWORD PTR 4[rax], edx
	mov	rax, QWORD PTR env[rip]
	movzx	eax, BYTE PTR [rax]
	and	eax, 1
	test	al, al
	jne	.L428
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	recalculate_tabs
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	recalculate_tabs
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -44[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	recalculate_syntax
	mov	eax, DWORD PTR -44[rbp]
	lea	edx, 1[rax]
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	add	rax, 1
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	esi, edx
	mov	rdi, rax
	call	recalculate_syntax
.L428:
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 28[rax]
	mov	rax, QWORD PTR env[rip]
	add	edx, 1
	mov	DWORD PTR 28[rax], edx
	mov	rax, QWORD PTR -40[rbp]
.L423:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE45:
	.size	split_line, .-split_line
	.globl	add_indent
	.type	add_indent, @function
add_indent:
.LFB46:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 56
	.cfi_offset 3, -24
	mov	DWORD PTR -52[rbp], edi
	mov	DWORD PTR -56[rbp], esi
	mov	DWORD PTR -60[rbp], edx
	mov	rax, QWORD PTR env[rip]
	movzx	eax, BYTE PTR [rax]
	and	eax, 16
	test	al, al
	je	.L447
	mov	DWORD PTR -40[rbp], 0
	mov	DWORD PTR -36[rbp], 0
	jmp	.L431
.L434:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -36[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	cmp	eax, 32
	je	.L432
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -36[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	cmp	eax, 9
	jne	.L433
.L432:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rsi, QWORD PTR [rax]
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -52[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR env[rip]
	mov	rcx, QWORD PTR 64[rdx]
	mov	edx, DWORD PTR -52[rbp]
	movsx	rdx, edx
	sal	rdx, 3
	lea	rbx, [rcx+rdx]
	mov	ecx, DWORD PTR -52[rbp]
	mov	edx, DWORD PTR -36[rbp]
	mov	edi, DWORD PTR -36[rbp]
	movsx	rdi, edi
	mov	esi, DWORD PTR 12[rsi+rdi*4]
	mov	rdi, rax
	call	line_insert
	mov	QWORD PTR [rbx], rax
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 36[rax]
	add	edx, 1
	mov	DWORD PTR 36[rax], edx
	mov	DWORD PTR -40[rbp], 1
	add	DWORD PTR -36[rbp], 1
.L431:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -36[rbp], eax
	jl	.L434
.L433:
	mov	eax, DWORD PTR -56[rbp]
	cmp	eax, DWORD PTR -52[rbp]
	jge	.L435
	cmp	DWORD PTR -60[rbp], 0
	jne	.L435
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR env[rip]
	mov	rcx, QWORD PTR 64[rdx]
	mov	edx, DWORD PTR -56[rbp]
	movsx	rdx, edx
	sal	rdx, 3
	add	rdx, rcx
	mov	rdx, QWORD PTR [rdx]
	mov	edx, DWORD PTR 4[rdx]
	sub	edx, 1
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	cmp	eax, 123
	je	.L436
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR env[rip]
	mov	rcx, QWORD PTR 64[rdx]
	mov	edx, DWORD PTR -56[rbp]
	movsx	rdx, edx
	sal	rdx, 3
	add	rdx, rcx
	mov	rdx, QWORD PTR [rdx]
	mov	edx, DWORD PTR 4[rdx]
	sub	edx, 1
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	cmp	eax, 58
	jne	.L435
.L436:
	mov	rax, QWORD PTR env[rip]
	movzx	eax, BYTE PTR [rax]
	and	eax, 2
	test	al, al
	je	.L437
	mov	eax, DWORD PTR -20[rbp]
	and	eax, 2047
	or	ah, 72
	mov	DWORD PTR -20[rbp], eax
	mov	rax, QWORD PTR env[rip]
	movzx	eax, WORD PTR 4[rax]
	and	eax, 15
	and	eax, 15
	mov	edx, eax
	movzx	eax, BYTE PTR -20[rbp]
	and	eax, -16
	or	eax, edx
	mov	BYTE PTR -20[rbp], al
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -52[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR env[rip]
	mov	rcx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -52[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	rcx, QWORD PTR env[rip]
	mov	rsi, QWORD PTR 64[rcx]
	mov	ecx, DWORD PTR -52[rbp]
	movsx	rcx, ecx
	sal	rcx, 3
	lea	rbx, [rsi+rcx]
	mov	ecx, DWORD PTR -52[rbp]
	mov	esi, DWORD PTR -20[rbp]
	mov	rdi, rax
	call	line_insert
	mov	QWORD PTR [rbx], rax
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 36[rax]
	add	edx, 1
	mov	DWORD PTR 36[rax], edx
	mov	DWORD PTR -40[rbp], 1
	jmp	.L435
.L437:
	mov	DWORD PTR -32[rbp], 0
	jmp	.L438
.L439:
	mov	eax, DWORD PTR -20[rbp]
	and	eax, 2047
	or	eax, 65536
	mov	DWORD PTR -20[rbp], eax
	movzx	eax, BYTE PTR -20[rbp]
	and	eax, -16
	or	eax, 1
	mov	BYTE PTR -20[rbp], al
	movzx	eax, WORD PTR -20[rbp]
	and	ax, -2033
	or	ah, 1
	mov	WORD PTR -20[rbp], ax
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -52[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR env[rip]
	mov	rcx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -52[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	rcx, QWORD PTR env[rip]
	mov	rsi, QWORD PTR 64[rcx]
	mov	ecx, DWORD PTR -52[rbp]
	movsx	rcx, ecx
	sal	rcx, 3
	lea	rbx, [rsi+rcx]
	mov	ecx, DWORD PTR -52[rbp]
	mov	esi, DWORD PTR -20[rbp]
	mov	rdi, rax
	call	line_insert
	mov	QWORD PTR [rbx], rax
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 36[rax]
	add	edx, 1
	mov	DWORD PTR 36[rax], edx
	add	DWORD PTR -32[rbp], 1
.L438:
	mov	rax, QWORD PTR env[rip]
	movzx	eax, WORD PTR 4[rax]
	cwde
	cmp	DWORD PTR -32[rbp], eax
	jl	.L439
	mov	DWORD PTR -40[rbp], 1
.L435:
	mov	DWORD PTR -28[rbp], 1
	mov	DWORD PTR -24[rbp], 0
	jmp	.L440
.L443:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -24[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	cmp	eax, 32
	je	.L441
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -24[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	cmp	eax, 9
	je	.L441
	mov	DWORD PTR -28[rbp], 0
	jmp	.L442
.L441:
	add	DWORD PTR -24[rbp], 1
.L440:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -24[rbp], eax
	jl	.L443
.L442:
	cmp	DWORD PTR -28[rbp], 0
	je	.L444
	jmp	.L445
.L446:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	ecx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -56[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	line_delete
.L445:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 4[rax]
	test	eax, eax
	jne	.L446
.L444:
	cmp	DWORD PTR -40[rbp], 0
	je	.L447
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -52[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -52[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	recalculate_syntax
.L447:
	nop
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE46:
	.size	add_indent, .-add_indent
	.globl	setup_buffer
	.type	setup_buffer, @function
setup_buffer:
.LFB47:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 40
	.cfi_offset 3, -24
	mov	QWORD PTR -40[rbp], rdi
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 64[rax]
	test	rax, rax
	je	.L449
	mov	DWORD PTR -20[rbp], 0
	jmp	.L450
.L451:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	free@PLT
	add	DWORD PTR -20[rbp], 1
.L450:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 28[rax]
	cmp	DWORD PTR -20[rbp], eax
	jl	.L451
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 64[rax]
	mov	rdi, rax
	call	free@PLT
.L449:
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 24[rax], 1
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 36[rax], 1
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 28[rax], 1
	mov	rax, QWORD PTR -40[rbp]
	movzx	edx, BYTE PTR [rax]
	and	edx, -5
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -40[rbp]
	movzx	edx, BYTE PTR [rax]
	and	edx, -9
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 16[rax], 0
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 32[rax], 8
	mov	rax, QWORD PTR -40[rbp]
	movzx	edx, BYTE PTR [rax]
	or	edx, 2
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -40[rbp]
	mov	WORD PTR 4[rax], 4
	mov	rax, QWORD PTR -40[rbp]
	movzx	edx, BYTE PTR [rax]
	or	edx, 16
	mov	BYTE PTR [rax], dl
	mov	edi, 48
	call	malloc@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR 72[rax], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 72[rax]
	mov	edx, 48
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 72[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR 80[rax], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 32[rax]
	cdqe
	sal	rax, 3
	mov	rdi, rax
	call	malloc@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR 64[rax], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	rbx, QWORD PTR 64[rax]
	mov	edi, 140
	call	malloc@PLT
	mov	QWORD PTR [rbx], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 64[rax]
	mov	rax, QWORD PTR [rax]
	mov	DWORD PTR [rax], 32
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 64[rax]
	mov	rax, QWORD PTR [rax]
	mov	DWORD PTR 4[rax], 0
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 64[rax]
	mov	rax, QWORD PTR [rax]
	mov	DWORD PTR 8[rax], 0
	nop
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE47:
	.size	setup_buffer, .-setup_buffer
	.globl	old
	.bss
	.align 32
	.type	old, @object
	.size	old, 60
old:
	.zero	60
	.text
	.globl	get_initial_termios
	.type	get_initial_termios, @function
get_initial_termios:
.LFB48:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	lea	rsi, old[rip]
	mov	edi, 1
	call	tcgetattr@PLT
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE48:
	.size	get_initial_termios, .-get_initial_termios
	.globl	set_unbuffered
	.type	set_unbuffered, @function
set_unbuffered:
.LFB49:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR old[rip]
	mov	rdx, QWORD PTR old[rip+8]
	mov	QWORD PTR -80[rbp], rax
	mov	QWORD PTR -72[rbp], rdx
	mov	rax, QWORD PTR old[rip+16]
	mov	rdx, QWORD PTR old[rip+24]
	mov	QWORD PTR -64[rbp], rax
	mov	QWORD PTR -56[rbp], rdx
	mov	rax, QWORD PTR old[rip+32]
	mov	rdx, QWORD PTR old[rip+40]
	mov	QWORD PTR -48[rbp], rax
	mov	QWORD PTR -40[rbp], rdx
	mov	rax, QWORD PTR old[rip+48]
	mov	QWORD PTR -32[rbp], rax
	mov	eax, DWORD PTR old[rip+56]
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -80[rbp]
	and	ah, -2
	mov	DWORD PTR -80[rbp], eax
	mov	eax, DWORD PTR -68[rbp]
	and	eax, -11
	mov	DWORD PTR -68[rbp], eax
	mov	BYTE PTR -63[rbp], 0
	lea	rax, -80[rbp]
	mov	rdx, rax
	mov	esi, 2
	mov	edi, 1
	call	tcsetattr@PLT
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L454
	call	__stack_chk_fail@PLT
.L454:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE49:
	.size	set_unbuffered, .-set_unbuffered
	.globl	set_buffered
	.type	set_buffered, @function
set_buffered:
.LFB50:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	lea	rdx, old[rip]
	mov	esi, 2
	mov	edi, 1
	call	tcsetattr@PLT
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE50:
	.size	set_buffered, .-set_buffered
	.globl	to_eight
	.type	to_eight, @function
to_eight:
.LFB51:
	.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	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, 7
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	cmp	DWORD PTR -4[rbp], 127
	ja	.L457
	mov	eax, DWORD PTR -4[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	mov	BYTE PTR [rax], dl
	jmp	.L458
.L457:
	cmp	DWORD PTR -4[rbp], 2047
	ja	.L459
	mov	eax, DWORD PTR -4[rbp]
	shr	eax, 6
	or	eax, -64
	mov	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	mov	BYTE PTR [rax], dl
	mov	eax, DWORD PTR -4[rbp]
	and	eax, 63
	or	eax, -128
	mov	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 1
	mov	BYTE PTR [rax], dl
	jmp	.L458
.L459:
	cmp	DWORD PTR -4[rbp], 65535
	ja	.L460
	mov	eax, DWORD PTR -4[rbp]
	shr	eax, 12
	or	eax, -32
	mov	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	mov	BYTE PTR [rax], dl
	mov	eax, DWORD PTR -4[rbp]
	shr	eax, 6
	and	eax, 63
	or	eax, -128
	mov	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 1
	mov	BYTE PTR [rax], dl
	mov	eax, DWORD PTR -4[rbp]
	and	eax, 63
	or	eax, -128
	mov	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 2
	mov	BYTE PTR [rax], dl
	jmp	.L458
.L460:
	cmp	DWORD PTR -4[rbp], 2097151
	ja	.L461
	mov	eax, DWORD PTR -4[rbp]
	shr	eax, 18
	or	eax, -16
	mov	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	mov	BYTE PTR [rax], dl
	mov	eax, DWORD PTR -4[rbp]
	shr	eax, 12
	and	eax, 63
	or	eax, -128
	mov	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 1
	mov	BYTE PTR [rax], dl
	mov	eax, DWORD PTR -4[rbp]
	shr	eax, 6
	and	eax, 63
	or	eax, -128
	mov	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 2
	mov	BYTE PTR [rax], dl
	mov	eax, DWORD PTR -4[rbp]
	and	eax, 63
	or	eax, -128
	mov	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 3
	mov	BYTE PTR [rax], dl
	jmp	.L458
.L461:
	cmp	DWORD PTR -4[rbp], 67108863
	ja	.L462
	mov	eax, DWORD PTR -4[rbp]
	shr	eax, 24
	or	eax, -8
	mov	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	mov	BYTE PTR [rax], dl
	mov	eax, DWORD PTR -4[rbp]
	shr	eax, 18
	or	eax, -128
	mov	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 1
	mov	BYTE PTR [rax], dl
	mov	eax, DWORD PTR -4[rbp]
	shr	eax, 12
	and	eax, 63
	or	eax, -128
	mov	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 2
	mov	BYTE PTR [rax], dl
	mov	eax, DWORD PTR -4[rbp]
	shr	eax, 6
	and	eax, 63
	or	eax, -128
	mov	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 3
	mov	BYTE PTR [rax], dl
	mov	eax, DWORD PTR -4[rbp]
	and	eax, 63
	or	eax, -128
	mov	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 4
	mov	BYTE PTR [rax], dl
	jmp	.L458
.L462:
	mov	eax, DWORD PTR -4[rbp]
	shr	eax, 30
	or	eax, -8
	mov	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	mov	BYTE PTR [rax], dl
	mov	eax, DWORD PTR -4[rbp]
	shr	eax, 24
	and	eax, 63
	or	eax, -128
	mov	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 1
	mov	BYTE PTR [rax], dl
	mov	eax, DWORD PTR -4[rbp]
	shr	eax, 18
	and	eax, 63
	or	eax, -128
	mov	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 2
	mov	BYTE PTR [rax], dl
	mov	eax, DWORD PTR -4[rbp]
	shr	eax, 12
	and	eax, 63
	or	eax, -128
	mov	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 3
	mov	BYTE PTR [rax], dl
	mov	eax, DWORD PTR -4[rbp]
	shr	eax, 6
	and	eax, 63
	or	eax, -128
	mov	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 4
	mov	BYTE PTR [rax], dl
	mov	eax, DWORD PTR -4[rbp]
	and	eax, 63
	or	eax, -128
	mov	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 5
	mov	BYTE PTR [rax], dl
.L458:
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	strlen@PLT
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE51:
	.size	to_eight, .-to_eight
	.globl	codepoint_width
	.type	codepoint_width, @function
codepoint_width:
.LFB52:
	.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
	cmp	DWORD PTR -20[rbp], 9
	jne	.L465
	mov	eax, 1
	jmp	.L466
.L465:
	cmp	DWORD PTR -20[rbp], 31
	jg	.L467
	mov	eax, 2
	jmp	.L466
.L467:
	cmp	DWORD PTR -20[rbp], 127
	jne	.L468
	mov	eax, 2
	jmp	.L466
.L468:
	cmp	DWORD PTR -20[rbp], 127
	jle	.L469
	cmp	DWORD PTR -20[rbp], 159
	jg	.L469
	mov	eax, 4
	jmp	.L466
.L469:
	cmp	DWORD PTR -20[rbp], 160
	jne	.L470
	mov	eax, 1
	jmp	.L466
.L470:
	cmp	DWORD PTR -20[rbp], 256
	jle	.L471
	mov	eax, DWORD PTR global_config[rip+72]
	test	eax, eax
	je	.L472
	mov	eax, DWORD PTR -20[rbp]
	mov	edi, eax
	call	wcwidth@PLT
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	jle	.L472
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L466
.L472:
	cmp	DWORD PTR -20[rbp], 65535
	jg	.L473
	mov	eax, 8
	jmp	.L466
.L473:
	mov	eax, 10
	jmp	.L466
.L471:
	mov	eax, 1
.L466:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE52:
	.size	codepoint_width, .-codepoint_width
	.section	.rodata
.LC328:
	.string	"\033[%d;%dH"
	.text
	.globl	place_cursor
	.type	place_cursor, @function
place_cursor:
.LFB53:
	.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	DWORD PTR -8[rbp], esi
	mov	edx, DWORD PTR -4[rbp]
	mov	eax, DWORD PTR -8[rbp]
	mov	esi, eax
	lea	rdi, .LC328[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR stdout[rip]
	mov	rdi, rax
	call	fflush@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE53:
	.size	place_cursor, .-place_cursor
	.section	.rodata
.LC329:
	.string	"\033[22;23;"
.LC330:
	.string	"4%d;"
.LC331:
	.string	"10%d;"
.LC332:
	.string	"48;%s;"
.LC333:
	.string	"3%dm"
.LC334:
	.string	"9%dm"
.LC335:
	.string	"38;%sm"
	.text
	.globl	set_colors
	.type	set_colors, @function
set_colors:
.LFB54:
	.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
	mov	QWORD PTR -32[rbp], rsi
	lea	rdi, .LC329[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 64
	jne	.L477
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 1
	mov	rdi, rax
	call	atoi@PLT
	mov	DWORD PTR -8[rbp], eax
	cmp	DWORD PTR -8[rbp], 9
	jg	.L478
	mov	eax, DWORD PTR -8[rbp]
	mov	esi, eax
	lea	rdi, .LC330[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L479
.L478:
	mov	eax, DWORD PTR -8[rbp]
	sub	eax, 10
	mov	esi, eax
	lea	rdi, .LC331[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L479
.L477:
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rax
	lea	rdi, .LC332[rip]
	mov	eax, 0
	call	printf@PLT
.L479:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 64
	jne	.L480
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 1
	mov	rdi, rax
	call	atoi@PLT
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 9
	jg	.L481
	mov	eax, DWORD PTR -4[rbp]
	mov	esi, eax
	lea	rdi, .LC333[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L482
.L481:
	mov	eax, DWORD PTR -4[rbp]
	sub	eax, 10
	mov	esi, eax
	lea	rdi, .LC334[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L482
.L480:
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rax
	lea	rdi, .LC335[rip]
	mov	eax, 0
	call	printf@PLT
.L482:
	mov	rax, QWORD PTR stdout[rip]
	mov	rdi, rax
	call	fflush@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE54:
	.size	set_colors, .-set_colors
	.globl	set_fg_color
	.type	set_fg_color, @function
set_fg_color:
.LFB55:
	.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
	lea	rdi, .LC329[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 64
	jne	.L484
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 1
	mov	rdi, rax
	call	atoi@PLT
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 9
	jg	.L485
	mov	eax, DWORD PTR -4[rbp]
	mov	esi, eax
	lea	rdi, .LC333[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L486
.L485:
	mov	eax, DWORD PTR -4[rbp]
	sub	eax, 10
	mov	esi, eax
	lea	rdi, .LC334[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L486
.L484:
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rax
	lea	rdi, .LC335[rip]
	mov	eax, 0
	call	printf@PLT
.L486:
	mov	rax, QWORD PTR stdout[rip]
	mov	rdi, rax
	call	fflush@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE55:
	.size	set_fg_color, .-set_fg_color
	.section	.rodata
.LC336:
	.string	"\033[K"
	.text
	.globl	clear_to_end
	.type	clear_to_end, @function
clear_to_end:
.LFB56:
	.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 global_config[rip+84]
	test	eax, eax
	je	.L489
	lea	rdi, .LC336[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR stdout[rip]
	mov	rdi, rax
	call	fflush@PLT
.L489:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE56:
	.size	clear_to_end, .-clear_to_end
	.globl	paint_line
	.type	paint_line, @function
paint_line:
.LFB57:
	.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
	mov	eax, DWORD PTR global_config[rip+84]
	test	eax, eax
	jne	.L494
	mov	rax, QWORD PTR COLOR_FG[rip]
	mov	rdx, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	set_colors
	mov	DWORD PTR -4[rbp], 0
	jmp	.L492
.L493:
	mov	edi, 32
	call	putchar@PLT
	add	DWORD PTR -4[rbp], 1
.L492:
	mov	eax, DWORD PTR global_config[rip]
	cmp	DWORD PTR -4[rbp], eax
	jl	.L493
	mov	edi, 13
	call	putchar@PLT
.L494:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE57:
	.size	paint_line, .-paint_line
	.section	.rodata
.LC337:
	.string	"\033[1m"
	.text
	.globl	set_bold
	.type	set_bold, @function
set_bold:
.LFB58:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	lea	rdi, .LC337[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR stdout[rip]
	mov	rdi, rax
	call	fflush@PLT
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE58:
	.size	set_bold, .-set_bold
	.section	.rodata
.LC338:
	.string	"\033[4m"
	.text
	.globl	set_underline
	.type	set_underline, @function
set_underline:
.LFB59:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	lea	rdi, .LC338[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR stdout[rip]
	mov	rdi, rax
	call	fflush@PLT
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE59:
	.size	set_underline, .-set_underline
	.section	.rodata
.LC339:
	.string	"\033[0m"
	.text
	.globl	reset
	.type	reset, @function
reset:
.LFB60:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	lea	rdi, .LC339[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR stdout[rip]
	mov	rdi, rax
	call	fflush@PLT
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE60:
	.size	reset, .-reset
	.section	.rodata
.LC340:
	.string	"\033[H\033[2J"
	.text
	.globl	clear_screen
	.type	clear_screen, @function
clear_screen:
.LFB61:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	lea	rdi, .LC340[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR stdout[rip]
	mov	rdi, rax
	call	fflush@PLT
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE61:
	.size	clear_screen, .-clear_screen
	.section	.rodata
.LC341:
	.string	"\033[?25l"
	.text
	.globl	hide_cursor
	.type	hide_cursor, @function
hide_cursor:
.LFB62:
	.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 global_config[rip+60]
	test	eax, eax
	je	.L500
	lea	rdi, .LC341[rip]
	mov	eax, 0
	call	printf@PLT
.L500:
	mov	rax, QWORD PTR stdout[rip]
	mov	rdi, rax
	call	fflush@PLT
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE62:
	.size	hide_cursor, .-hide_cursor
	.section	.rodata
.LC342:
	.string	"\033[?25h"
	.text
	.globl	show_cursor
	.type	show_cursor, @function
show_cursor:
.LFB63:
	.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 global_config[rip+60]
	test	eax, eax
	je	.L502
	lea	rdi, .LC342[rip]
	mov	eax, 0
	call	printf@PLT
.L502:
	mov	rax, QWORD PTR stdout[rip]
	mov	rdi, rax
	call	fflush@PLT
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE63:
	.size	show_cursor, .-show_cursor
	.section	.rodata
.LC343:
	.string	"\033[?1000h"
	.text
	.globl	mouse_enable
	.type	mouse_enable, @function
mouse_enable:
.LFB64:
	.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 global_config[rip+68]
	test	eax, eax
	je	.L504
	lea	rdi, .LC343[rip]
	mov	eax, 0
	call	printf@PLT
.L504:
	mov	rax, QWORD PTR stdout[rip]
	mov	rdi, rax
	call	fflush@PLT
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE64:
	.size	mouse_enable, .-mouse_enable
	.section	.rodata
.LC344:
	.string	"\033[?1000l"
	.text
	.globl	mouse_disable
	.type	mouse_disable, @function
mouse_disable:
.LFB65:
	.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 global_config[rip+68]
	test	eax, eax
	je	.L506
	lea	rdi, .LC344[rip]
	mov	eax, 0
	call	printf@PLT
.L506:
	mov	rax, QWORD PTR stdout[rip]
	mov	rdi, rax
	call	fflush@PLT
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE65:
	.size	mouse_disable, .-mouse_disable
	.section	.rodata
.LC345:
	.string	"\033[1S"
	.text
	.globl	shift_up
	.type	shift_up, @function
shift_up:
.LFB66:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	lea	rdi, .LC345[rip]
	mov	eax, 0
	call	printf@PLT
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE66:
	.size	shift_up, .-shift_up
	.section	.rodata
.LC346:
	.string	"\033[1T"
	.text
	.globl	shift_down
	.type	shift_down, @function
shift_down:
.LFB67:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	lea	rdi, .LC346[rip]
	mov	eax, 0
	call	printf@PLT
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE67:
	.size	shift_down, .-shift_down
	.section	.rodata
.LC347:
	.string	"\033[?1049h"
	.text
	.globl	set_alternate_screen
	.type	set_alternate_screen, @function
set_alternate_screen:
.LFB68:
	.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 global_config[rip+64]
	test	eax, eax
	je	.L511
	lea	rdi, .LC347[rip]
	mov	eax, 0
	call	printf@PLT
.L511:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE68:
	.size	set_alternate_screen, .-set_alternate_screen
	.section	.rodata
.LC348:
	.string	"\033[?1049l"
	.text
	.globl	unset_alternate_screen
	.type	unset_alternate_screen, @function
unset_alternate_screen:
.LFB69:
	.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 global_config[rip+64]
	test	eax, eax
	je	.L514
	lea	rdi, .LC348[rip]
	mov	eax, 0
	call	printf@PLT
.L514:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE69:
	.size	unset_alternate_screen, .-unset_alternate_screen
	.globl	file_basename
	.type	file_basename, @function
file_basename:
.LFB70:
	.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
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, 47
	mov	rdi, rax
	call	strrchr@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L516
	mov	rax, QWORD PTR -24[rbp]
	jmp	.L517
.L516:
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 1
.L517:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE70:
	.size	file_basename, .-file_basename
	.section	.rodata
.LC349:
	.string	"[No Name]"
.LC350:
	.string	" +"
.LC351:
	.string	""
.LC352:
	.string	"%s %.40s "
	.text
	.globl	draw_tab_name
	.type	draw_tab_name, @function
draw_tab_name:
.LFB71:
	.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	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L519
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	file_basename
	mov	rdx, rax
	jmp	.L520
.L519:
	lea	rdx, .LC349[rip]
.L520:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	and	eax, 4
	test	al, al
	je	.L521
	lea	rax, .LC350[rip]
	jmp	.L522
.L521:
	lea	rax, .LC351[rip]
.L522:
	mov	rdi, QWORD PTR -16[rbp]
	mov	rcx, rdx
	mov	rdx, rax
	lea	rsi, .LC352[rip]
	mov	eax, 0
	call	sprintf@PLT
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE71:
	.size	draw_tab_name, .-draw_tab_name
	.section	.rodata
.LC353:
	.string	"%*s"
.LC354:
	.string	"%s"
	.text
	.globl	redraw_tabbar
	.type	redraw_tabbar, @function
redraw_tabbar:
.LFB72:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 112
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	call	hide_cursor
	mov	esi, 1
	mov	edi, 1
	call	place_cursor
	mov	rax, QWORD PTR COLOR_TABBAR_BG[rip]
	mov	rdi, rax
	call	paint_line
	mov	DWORD PTR -100[rbp], 0
	mov	DWORD PTR -96[rbp], 0
	jmp	.L525
.L531:
	mov	rdx, QWORD PTR buffers[rip]
	mov	eax, DWORD PTR -96[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -88[rbp], rax
	mov	rax, QWORD PTR env[rip]
	cmp	QWORD PTR -88[rbp], rax
	jne	.L526
	call	reset
	mov	rdx, QWORD PTR COLOR_BG[rip]
	mov	rax, QWORD PTR COLOR_FG[rip]
	mov	rsi, rdx
	mov	rdi, rax
	call	set_colors
	call	set_bold
	jmp	.L527
.L526:
	call	reset
	mov	rdx, QWORD PTR COLOR_TAB_BG[rip]
	mov	rax, QWORD PTR COLOR_FG[rip]
	mov	rsi, rdx
	mov	rdi, rax
	call	set_colors
	call	set_underline
.L527:
	lea	rdx, -80[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	draw_tab_name
	mov	DWORD PTR -92[rbp], eax
	mov	edx, DWORD PTR -100[rbp]
	mov	eax, DWORD PTR -92[rbp]
	add	edx, eax
	mov	eax, DWORD PTR global_config[rip]
	cmp	edx, eax
	jl	.L528
	mov	eax, DWORD PTR global_config[rip]
	sub	eax, DWORD PTR -100[rbp]
	cmp	eax, 1
	jle	.L533
	mov	eax, DWORD PTR global_config[rip]
	sub	eax, DWORD PTR -100[rbp]
	lea	ecx, -1[rax]
	lea	rax, -80[rbp]
	mov	rdx, rax
	mov	esi, ecx
	lea	rdi, .LC353[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L530
.L528:
	lea	rax, -80[rbp]
	mov	rsi, rax
	lea	rdi, .LC354[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR -92[rbp]
	add	DWORD PTR -100[rbp], eax
	add	DWORD PTR -96[rbp], 1
.L525:
	mov	eax, DWORD PTR buffers_len[rip]
	cmp	DWORD PTR -96[rbp], eax
	jl	.L531
	jmp	.L530
.L533:
	nop
.L530:
	call	reset
	mov	rdx, QWORD PTR COLOR_TABBAR_BG[rip]
	mov	rax, QWORD PTR COLOR_FG[rip]
	mov	rsi, rdx
	mov	rdi, rax
	call	set_colors
	call	clear_to_end
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L532
	call	__stack_chk_fail@PLT
.L532:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE72:
	.size	redraw_tabbar, .-redraw_tabbar
	.globl	log_base_10
	.type	log_base_10, @function
log_base_10:
.LFB73:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	cmp	DWORD PTR -20[rbp], 999999999
	ja	.L535
	cmp	DWORD PTR -20[rbp], 99999999
	ja	.L536
	cmp	DWORD PTR -20[rbp], 9999999
	ja	.L537
	cmp	DWORD PTR -20[rbp], 999999
	ja	.L538
	cmp	DWORD PTR -20[rbp], 99999
	ja	.L539
	cmp	DWORD PTR -20[rbp], 9999
	ja	.L540
	cmp	DWORD PTR -20[rbp], 999
	ja	.L541
	cmp	DWORD PTR -20[rbp], 99
	ja	.L542
	cmp	DWORD PTR -20[rbp], 9
	seta	al
	movzx	eax, al
	jmp	.L550
.L542:
	mov	eax, 2
	jmp	.L550
.L541:
	mov	eax, 3
	jmp	.L550
.L540:
	mov	eax, 4
	jmp	.L550
.L539:
	mov	eax, 5
	jmp	.L550
.L538:
	mov	eax, 6
	jmp	.L550
.L537:
	mov	eax, 7
	jmp	.L550
.L536:
	mov	eax, 8
	jmp	.L550
.L535:
	mov	eax, 9
.L550:
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE73:
	.size	log_base_10, .-log_base_10
	.section	.rodata
.LC355:
	.string	"\302\273"
.LC356:
	.string	"\302\267"
.LC357:
	.string	"^%c"
.LC358:
	.string	"^?"
.LC359:
	.string	"<%2x>"
.LC360:
	.string	"[U+%04x]"
.LC361:
	.string	"[U+%06x]"
	.text
	.globl	render_line
	.type	render_line, @function
render_line:
.LFB74:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -72[rbp], rdi
	mov	DWORD PTR -76[rbp], esi
	mov	DWORD PTR -80[rbp], edx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -64[rbp], 0
	mov	DWORD PTR -60[rbp], 0
	mov	QWORD PTR -32[rbp], 0
	mov	DWORD PTR -56[rbp], 0
	mov	DWORD PTR -52[rbp], 0
	mov	rdx, QWORD PTR COLOR_BG[rip]
	mov	rax, QWORD PTR COLOR_FG[rip]
	mov	rsi, rdx
	mov	rdi, rax
	call	set_colors
	mov	DWORD PTR -48[rbp], 0
	jmp	.L553
.L609:
	cmp	DWORD PTR -48[rbp], 0
	je	.L554
	mov	eax, DWORD PTR -60[rbp]
	cmp	eax, DWORD PTR -80[rbp]
	jl	.L555
	mov	rdx, QWORD PTR COLOR_ALT_BG[rip]
	mov	rax, QWORD PTR COLOR_ALT_FG[rip]
	mov	rsi, rdx
	mov	rdi, rax
	call	set_colors
	mov	edi, 45
	call	putchar@PLT
	mov	rdx, QWORD PTR COLOR_BG[rip]
	mov	rax, QWORD PTR COLOR_FG[rip]
	mov	rsi, rdx
	mov	rdi, rax
	call	set_colors
.L555:
	sub	DWORD PTR -48[rbp], 1
	add	DWORD PTR -60[rbp], 1
	cmp	DWORD PTR -48[rbp], 0
	jne	.L553
	add	DWORD PTR -64[rbp], 1
	jmp	.L553
.L554:
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, DWORD PTR -64[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	mov	DWORD PTR -36[rbp], eax
	mov	eax, DWORD PTR -60[rbp]
	cmp	eax, DWORD PTR -80[rbp]
	jl	.L557
	mov	eax, DWORD PTR -60[rbp]
	sub	eax, DWORD PTR -80[rbp]
	mov	edx, eax
	movzx	eax, BYTE PTR -36[rbp]
	and	eax, 15
	movzx	eax, al
	add	eax, edx
	cmp	DWORD PTR -76[rbp], eax
	jg	.L558
	mov	rdx, QWORD PTR COLOR_ALT_BG[rip]
	mov	rax, QWORD PTR COLOR_ALT_FG[rip]
	mov	rsi, rdx
	mov	rdi, rax
	call	set_colors
	jmp	.L559
.L560:
	mov	edi, 45
	call	putchar@PLT
	add	DWORD PTR -60[rbp], 1
.L559:
	mov	eax, DWORD PTR -60[rbp]
	sub	eax, DWORD PTR -80[rbp]
	mov	edx, DWORD PTR -76[rbp]
	sub	edx, 1
	cmp	eax, edx
	jl	.L560
	mov	edi, 62
	call	putchar@PLT
	mov	rdx, QWORD PTR COLOR_BG[rip]
	mov	rax, QWORD PTR COLOR_FG[rip]
	mov	rsi, rdx
	mov	rdi, rax
	call	set_colors
	jmp	.L552
.L558:
	movzx	eax, WORD PTR -36[rbp]
	shr	ax, 4
	and	eax, 127
	movzx	eax, al
	mov	edi, eax
	call	flag_to_color
	mov	QWORD PTR -24[rbp], rax
	movzx	eax, WORD PTR -36[rbp]
	shr	ax, 4
	and	eax, 127
	movzx	eax, al
	and	eax, 16
	test	eax, eax
	je	.L562
	mov	rdx, QWORD PTR COLOR_SELECTBG[rip]
	mov	rax, QWORD PTR COLOR_SELECTFG[rip]
	mov	rsi, rdx
	mov	rdi, rax
	call	set_colors
	mov	DWORD PTR -56[rbp], 1
	jmp	.L563
.L562:
	movzx	eax, WORD PTR -36[rbp]
	shr	ax, 4
	and	eax, 127
	movzx	eax, al
	and	eax, 32
	test	eax, eax
	je	.L564
	mov	rdx, QWORD PTR COLOR_SEARCH_BG[rip]
	mov	rax, QWORD PTR COLOR_SEARCH_FG[rip]
	mov	rsi, rdx
	mov	rdi, rax
	call	set_colors
	mov	DWORD PTR -52[rbp], 1
	jmp	.L563
.L564:
	cmp	DWORD PTR -56[rbp], 0
	jne	.L565
	cmp	DWORD PTR -52[rbp], 0
	je	.L566
.L565:
	mov	rdx, QWORD PTR COLOR_BG[rip]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	set_colors
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -32[rbp], rax
	jmp	.L563
.L566:
	cmp	QWORD PTR -32[rbp], 0
	je	.L567
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	je	.L563
.L567:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	set_fg_color
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -32[rbp], rax
.L563:
	mov	eax, DWORD PTR -36[rbp]
	shr	eax, 11
	cmp	eax, 9
	jne	.L568
	movzx	eax, WORD PTR -36[rbp]
	shr	ax, 4
	and	eax, 127
	movzx	eax, al
	and	eax, 16
	test	eax, eax
	jne	.L569
	mov	rdx, QWORD PTR COLOR_ALT_BG[rip]
	mov	rax, QWORD PTR COLOR_ALT_FG[rip]
	mov	rsi, rdx
	mov	rdi, rax
	call	set_colors
.L569:
	mov	eax, DWORD PTR global_config[rip+72]
	test	eax, eax
	je	.L570
	lea	rdi, .LC355[rip]
	mov	eax, 0
	call	printf@PLT
	mov	DWORD PTR -44[rbp], 1
	jmp	.L571
.L572:
	lea	rdi, .LC356[rip]
	mov	eax, 0
	call	printf@PLT
	add	DWORD PTR -44[rbp], 1
.L571:
	movzx	eax, BYTE PTR -36[rbp]
	and	eax, 15
	movzx	eax, al
	cmp	DWORD PTR -44[rbp], eax
	jl	.L572
	jmp	.L573
.L570:
	mov	edi, 62
	call	putchar@PLT
	mov	DWORD PTR -40[rbp], 1
	jmp	.L574
.L575:
	mov	edi, 45
	call	putchar@PLT
	add	DWORD PTR -40[rbp], 1
.L574:
	movzx	eax, BYTE PTR -36[rbp]
	and	eax, 15
	movzx	eax, al
	cmp	DWORD PTR -40[rbp], eax
	jl	.L575
.L573:
	movzx	eax, WORD PTR -36[rbp]
	shr	ax, 4
	and	eax, 127
	movzx	eax, al
	and	eax, 16
	test	eax, eax
	jne	.L576
	mov	rdx, QWORD PTR COLOR_BG[rip]
	cmp	QWORD PTR -32[rbp], 0
	je	.L577
	mov	rax, QWORD PTR -32[rbp]
	jmp	.L578
.L577:
	mov	rax, QWORD PTR COLOR_FG[rip]
.L578:
	mov	rsi, rdx
	mov	rdi, rax
	call	set_colors
	jmp	.L576
.L568:
	mov	eax, DWORD PTR -36[rbp]
	shr	eax, 11
	cmp	eax, 31
	ja	.L579
	movzx	eax, WORD PTR -36[rbp]
	shr	ax, 4
	and	eax, 127
	movzx	eax, al
	and	eax, 16
	test	eax, eax
	jne	.L580
	mov	rdx, QWORD PTR COLOR_ALT_BG[rip]
	mov	rax, QWORD PTR COLOR_ALT_FG[rip]
	mov	rsi, rdx
	mov	rdi, rax
	call	set_colors
.L580:
	mov	eax, DWORD PTR -36[rbp]
	shr	eax, 11
	add	eax, 64
	mov	esi, eax
	lea	rdi, .LC357[rip]
	mov	eax, 0
	call	printf@PLT
	movzx	eax, WORD PTR -36[rbp]
	shr	ax, 4
	and	eax, 127
	movzx	eax, al
	and	eax, 16
	test	eax, eax
	jne	.L576
	mov	rdx, QWORD PTR COLOR_BG[rip]
	cmp	QWORD PTR -32[rbp], 0
	je	.L581
	mov	rax, QWORD PTR -32[rbp]
	jmp	.L582
.L581:
	mov	rax, QWORD PTR COLOR_FG[rip]
.L582:
	mov	rsi, rdx
	mov	rdi, rax
	call	set_colors
	jmp	.L576
.L579:
	mov	eax, DWORD PTR -36[rbp]
	shr	eax, 11
	cmp	eax, 127
	jne	.L583
	movzx	eax, WORD PTR -36[rbp]
	shr	ax, 4
	and	eax, 127
	movzx	eax, al
	and	eax, 16
	test	eax, eax
	jne	.L584
	mov	rdx, QWORD PTR COLOR_ALT_BG[rip]
	mov	rax, QWORD PTR COLOR_ALT_FG[rip]
	mov	rsi, rdx
	mov	rdi, rax
	call	set_colors
.L584:
	lea	rdi, .LC358[rip]
	mov	eax, 0
	call	printf@PLT
	movzx	eax, WORD PTR -36[rbp]
	shr	ax, 4
	and	eax, 127
	movzx	eax, al
	and	eax, 16
	test	eax, eax
	jne	.L576
	mov	rdx, QWORD PTR COLOR_BG[rip]
	cmp	QWORD PTR -32[rbp], 0
	je	.L585
	mov	rax, QWORD PTR -32[rbp]
	jmp	.L586
.L585:
	mov	rax, QWORD PTR COLOR_FG[rip]
.L586:
	mov	rsi, rdx
	mov	rdi, rax
	call	set_colors
	jmp	.L576
.L583:
	mov	eax, DWORD PTR -36[rbp]
	shr	eax, 11
	cmp	eax, 127
	jbe	.L587
	mov	eax, DWORD PTR -36[rbp]
	shr	eax, 11
	cmp	eax, 159
	ja	.L587
	movzx	eax, WORD PTR -36[rbp]
	shr	ax, 4
	and	eax, 127
	movzx	eax, al
	and	eax, 16
	test	eax, eax
	jne	.L588
	mov	rdx, QWORD PTR COLOR_ALT_BG[rip]
	mov	rax, QWORD PTR COLOR_ALT_FG[rip]
	mov	rsi, rdx
	mov	rdi, rax
	call	set_colors
.L588:
	mov	eax, DWORD PTR -36[rbp]
	shr	eax, 11
	mov	esi, eax
	lea	rdi, .LC359[rip]
	mov	eax, 0
	call	printf@PLT
	movzx	eax, WORD PTR -36[rbp]
	shr	ax, 4
	and	eax, 127
	movzx	eax, al
	and	eax, 16
	test	eax, eax
	jne	.L576
	mov	rdx, QWORD PTR COLOR_BG[rip]
	cmp	QWORD PTR -32[rbp], 0
	je	.L590
	mov	rax, QWORD PTR -32[rbp]
	jmp	.L591
.L590:
	mov	rax, QWORD PTR COLOR_FG[rip]
.L591:
	mov	rsi, rdx
	mov	rdi, rax
	call	set_colors
	jmp	.L576
.L587:
	mov	eax, DWORD PTR -36[rbp]
	shr	eax, 11
	cmp	eax, 160
	jne	.L592
	movzx	eax, WORD PTR -36[rbp]
	shr	ax, 4
	and	eax, 127
	movzx	eax, al
	and	eax, 16
	test	eax, eax
	jne	.L593
	mov	rdx, QWORD PTR COLOR_ALT_BG[rip]
	mov	rax, QWORD PTR COLOR_ALT_FG[rip]
	mov	rsi, rdx
	mov	rdi, rax
	call	set_colors
.L593:
	mov	edi, 95
	call	putchar@PLT
	movzx	eax, WORD PTR -36[rbp]
	shr	ax, 4
	and	eax, 127
	movzx	eax, al
	and	eax, 16
	test	eax, eax
	jne	.L576
	mov	rdx, QWORD PTR COLOR_BG[rip]
	cmp	QWORD PTR -32[rbp], 0
	je	.L594
	mov	rax, QWORD PTR -32[rbp]
	jmp	.L595
.L594:
	mov	rax, QWORD PTR COLOR_FG[rip]
.L595:
	mov	rsi, rdx
	mov	rdi, rax
	call	set_colors
	jmp	.L576
.L592:
	movzx	eax, BYTE PTR -36[rbp]
	and	eax, 15
	cmp	al, 8
	jne	.L596
	movzx	eax, WORD PTR -36[rbp]
	shr	ax, 4
	and	eax, 127
	movzx	eax, al
	and	eax, 16
	test	eax, eax
	jne	.L597
	mov	rdx, QWORD PTR COLOR_ALT_BG[rip]
	mov	rax, QWORD PTR COLOR_ALT_FG[rip]
	mov	rsi, rdx
	mov	rdi, rax
	call	set_colors
.L597:
	mov	eax, DWORD PTR -36[rbp]
	shr	eax, 11
	mov	esi, eax
	lea	rdi, .LC360[rip]
	mov	eax, 0
	call	printf@PLT
	movzx	eax, WORD PTR -36[rbp]
	shr	ax, 4
	and	eax, 127
	movzx	eax, al
	and	eax, 16
	test	eax, eax
	jne	.L576
	mov	rdx, QWORD PTR COLOR_BG[rip]
	cmp	QWORD PTR -32[rbp], 0
	je	.L598
	mov	rax, QWORD PTR -32[rbp]
	jmp	.L599
.L598:
	mov	rax, QWORD PTR COLOR_FG[rip]
.L599:
	mov	rsi, rdx
	mov	rdi, rax
	call	set_colors
	jmp	.L576
.L596:
	movzx	eax, BYTE PTR -36[rbp]
	and	eax, 15
	cmp	al, 10
	jne	.L600
	movzx	eax, WORD PTR -36[rbp]
	shr	ax, 4
	and	eax, 127
	movzx	eax, al
	and	eax, 16
	test	eax, eax
	jne	.L601
	mov	rdx, QWORD PTR COLOR_ALT_BG[rip]
	mov	rax, QWORD PTR COLOR_ALT_FG[rip]
	mov	rsi, rdx
	mov	rdi, rax
	call	set_colors
.L601:
	mov	eax, DWORD PTR -36[rbp]
	shr	eax, 11
	mov	esi, eax
	lea	rdi, .LC361[rip]
	mov	eax, 0
	call	printf@PLT
	movzx	eax, WORD PTR -36[rbp]
	shr	ax, 4
	and	eax, 127
	movzx	eax, al
	and	eax, 16
	test	eax, eax
	jne	.L576
	mov	rdx, QWORD PTR COLOR_BG[rip]
	cmp	QWORD PTR -32[rbp], 0
	je	.L602
	mov	rax, QWORD PTR -32[rbp]
	jmp	.L603
.L602:
	mov	rax, QWORD PTR COLOR_FG[rip]
.L603:
	mov	rsi, rdx
	mov	rdi, rax
	call	set_colors
	jmp	.L576
.L600:
	mov	eax, DWORD PTR -36[rbp]
	shr	eax, 11
	cmp	eax, 32
	jne	.L604
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 4[rax]
	sub	eax, 1
	cmp	DWORD PTR -64[rbp], eax
	jne	.L604
	movzx	eax, WORD PTR -36[rbp]
	shr	ax, 4
	and	eax, 127
	movzx	eax, al
	and	eax, 16
	test	eax, eax
	jne	.L605
	mov	rdx, QWORD PTR COLOR_ALT_BG[rip]
	mov	rax, QWORD PTR COLOR_ALT_FG[rip]
	mov	rsi, rdx
	mov	rdi, rax
	call	set_colors
.L605:
	lea	rdi, .LC356[rip]
	mov	eax, 0
	call	printf@PLT
	movzx	eax, WORD PTR -36[rbp]
	shr	ax, 4
	and	eax, 127
	movzx	eax, al
	and	eax, 16
	test	eax, eax
	jne	.L576
	mov	rdx, QWORD PTR COLOR_BG[rip]
	mov	rax, QWORD PTR COLOR_FG[rip]
	mov	rsi, rdx
	mov	rdi, rax
	call	set_colors
	jmp	.L576
.L604:
	mov	eax, DWORD PTR -36[rbp]
	shr	eax, 11
	mov	edx, eax
	lea	rax, -15[rbp]
	mov	rsi, rax
	mov	edi, edx
	call	to_eight
	lea	rax, -15[rbp]
	mov	rsi, rax
	lea	rdi, .LC354[rip]
	mov	eax, 0
	call	printf@PLT
.L576:
	movzx	eax, BYTE PTR -36[rbp]
	and	eax, 15
	movzx	eax, al
	add	DWORD PTR -60[rbp], eax
	add	DWORD PTR -64[rbp], 1
	jmp	.L553
.L557:
	movzx	eax, BYTE PTR -36[rbp]
	and	eax, 15
	cmp	al, 1
	jbe	.L608
	movzx	eax, BYTE PTR -36[rbp]
	and	eax, 15
	movzx	eax, al
	sub	eax, 1
	mov	DWORD PTR -48[rbp], eax
	add	DWORD PTR -60[rbp], 1
	jmp	.L553
.L608:
	add	DWORD PTR -60[rbp], 1
	add	DWORD PTR -64[rbp], 1
.L553:
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -64[rbp], eax
	jl	.L609
	mov	rax, QWORD PTR env[rip]
	movzx	eax, WORD PTR 2[rax]
	cmp	ax, 2
	je	.L610
	mov	rdx, QWORD PTR COLOR_BG[rip]
	mov	rax, QWORD PTR COLOR_FG[rip]
	mov	rsi, rdx
	mov	rdi, rax
	call	set_colors
.L610:
	mov	eax, DWORD PTR global_config[rip+84]
	test	eax, eax
	jne	.L611
	jmp	.L612
.L613:
	mov	edi, 32
	call	putchar@PLT
	add	DWORD PTR -60[rbp], 1
.L612:
	mov	eax, DWORD PTR -60[rbp]
	cmp	eax, DWORD PTR -76[rbp]
	jl	.L613
.L611:
	call	clear_to_end
.L552:
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L614
	call	__stack_chk_fail@PLT
.L614:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE74:
	.size	render_line, .-render_line
	.globl	num_width
	.type	num_width, @function
num_width:
.LFB75:
	.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 env[rip]
	mov	eax, DWORD PTR 28[rax]
	mov	edi, eax
	call	log_base_10
	add	eax, 1
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 1
	jg	.L616
	mov	eax, 2
	jmp	.L617
.L616:
	mov	eax, DWORD PTR -4[rbp]
.L617:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE75:
	.size	num_width, .-num_width
	.section	.rodata
.LC362:
	.string	"%d%c"
	.text
	.globl	draw_line_number
	.type	draw_line_number, @function
draw_line_number:
.LFB76:
	.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	rdx, QWORD PTR COLOR_NUMBER_BG[rip]
	mov	rax, QWORD PTR COLOR_NUMBER_FG[rip]
	mov	rsi, rdx
	mov	rdi, rax
	call	set_colors
	call	num_width
	mov	DWORD PTR -4[rbp], eax
	mov	DWORD PTR -8[rbp], 0
	jmp	.L619
.L620:
	mov	edi, 32
	call	putchar@PLT
	add	DWORD PTR -8[rbp], 1
.L619:
	mov	eax, DWORD PTR -20[rbp]
	add	eax, 1
	mov	edi, eax
	call	log_base_10
	mov	edx, eax
	mov	eax, DWORD PTR -4[rbp]
	sub	eax, edx
	cmp	DWORD PTR -8[rbp], eax
	jl	.L620
	mov	eax, DWORD PTR -20[rbp]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cmp	edx, eax
	jne	.L621
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 20[rax]
	test	eax, eax
	jle	.L621
	mov	edx, 60
	jmp	.L622
.L621:
	mov	edx, 32
.L622:
	mov	eax, DWORD PTR -20[rbp]
	add	eax, 1
	mov	esi, eax
	lea	rdi, .LC362[rip]
	mov	eax, 0
	call	printf@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE76:
	.size	draw_line_number, .-draw_line_number
	.globl	redraw_line
	.type	redraw_line, @function
redraw_line:
.LFB77:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	r12
	push	rbx
	sub	rsp, 16
	.cfi_offset 12, -24
	.cfi_offset 3, -32
	mov	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -24[rbp], esi
	mov	rax, QWORD PTR env[rip]
	movzx	eax, BYTE PTR [rax]
	and	eax, 1
	test	al, al
	jne	.L628
	call	hide_cursor
	mov	eax, DWORD PTR -20[rbp]
	add	eax, 2
	mov	esi, eax
	mov	edi, 1
	call	place_cursor
	mov	rdx, QWORD PTR COLOR_ALT_FG[rip]
	mov	rax, QWORD PTR COLOR_NUMBER_FG[rip]
	mov	rsi, rdx
	mov	rdi, rax
	call	set_colors
	mov	edi, 32
	call	putchar@PLT
	mov	eax, DWORD PTR -24[rbp]
	mov	edi, eax
	call	draw_line_number
	mov	eax, DWORD PTR -24[rbp]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cmp	edx, eax
	jne	.L626
	mov	rax, QWORD PTR env[rip]
	mov	ebx, DWORD PTR 20[rax]
	jmp	.L627
.L626:
	mov	ebx, 0
.L627:
	mov	eax, DWORD PTR global_config[rip]
	lea	r12d, -3[rax]
	call	num_width
	mov	ecx, r12d
	sub	ecx, eax
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, ebx
	mov	esi, ecx
	mov	rdi, rax
	call	render_line
	jmp	.L623
.L628:
	nop
.L623:
	add	rsp, 16
	pop	rbx
	pop	r12
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE77:
	.size	redraw_line, .-redraw_line
	.globl	draw_excess_line
	.type	draw_excess_line, @function
draw_excess_line:
.LFB78:
	.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]
	add	eax, 2
	mov	esi, eax
	mov	edi, 1
	call	place_cursor
	mov	rax, QWORD PTR COLOR_ALT_BG[rip]
	mov	rdi, rax
	call	paint_line
	mov	rdx, QWORD PTR COLOR_ALT_BG[rip]
	mov	rax, QWORD PTR COLOR_ALT_FG[rip]
	mov	rsi, rdx
	mov	rdi, rax
	call	set_colors
	mov	edi, 126
	call	putchar@PLT
	call	clear_to_end
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE78:
	.size	draw_excess_line, .-draw_excess_line
	.globl	redraw_text
	.type	redraw_text, @function
redraw_text:
.LFB79:
	.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
	call	hide_cursor
	mov	eax, DWORD PTR global_config[rip+4]
	mov	edx, DWORD PTR global_config[rip+8]
	sub	eax, edx
	sub	eax, 1
	mov	DWORD PTR -4[rbp], eax
	mov	DWORD PTR -12[rbp], 0
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 16[rax]
	mov	DWORD PTR -8[rbp], eax
	jmp	.L631
.L633:
	mov	edx, DWORD PTR -8[rbp]
	mov	eax, DWORD PTR -12[rbp]
	mov	esi, edx
	mov	edi, eax
	call	redraw_line
	add	DWORD PTR -12[rbp], 1
	add	DWORD PTR -8[rbp], 1
.L631:
	mov	eax, DWORD PTR -12[rbp]
	cmp	eax, DWORD PTR -4[rbp]
	jge	.L634
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 28[rax]
	cmp	DWORD PTR -8[rbp], eax
	jl	.L633
	jmp	.L634
.L635:
	mov	eax, DWORD PTR -12[rbp]
	mov	edi, eax
	call	draw_excess_line
	add	DWORD PTR -12[rbp], 1
.L634:
	mov	eax, DWORD PTR -12[rbp]
	cmp	eax, DWORD PTR -4[rbp]
	jl	.L635
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE79:
	.size	redraw_text, .-redraw_text
	.section	.rodata
.LC363:
	.string	"[%s]"
.LC364:
	.string	"[+]"
.LC365:
	.string	"[ro]"
.LC366:
	.string	"[tabs]"
.LC367:
	.string	"[spaces=%d]"
.LC368:
	.string	"[y:%ld]"
.LC369:
	.string	"[indent]"
.LC370:
	.string	"Line %d/%d Col: %d "
	.text
	.globl	redraw_statusbar
	.type	redraw_statusbar, @function
redraw_statusbar:
.LFB80:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	r12
	push	rbx
	sub	rsp, 1040
	.cfi_offset 12, -24
	.cfi_offset 3, -32
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -24[rbp], rax
	xor	eax, eax
	call	hide_cursor
	mov	eax, DWORD PTR global_config[rip+4]
	sub	eax, 1
	mov	esi, eax
	mov	edi, 1
	call	place_cursor
	mov	rax, QWORD PTR COLOR_STATUS_BG[rip]
	mov	rdi, rax
	call	paint_line
	mov	rdx, QWORD PTR COLOR_STATUS_BG[rip]
	mov	rax, QWORD PTR COLOR_STATUS_FG[rip]
	mov	rsi, rdx
	mov	rdi, rax
	call	set_colors
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L637
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 8[rax]
	mov	rsi, rax
	lea	rdi, .LC354[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L638
.L637:
	lea	rdi, .LC349[rip]
	mov	eax, 0
	call	printf@PLT
.L638:
	mov	edi, 32
	call	putchar@PLT
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 56[rax]
	test	rax, rax
	je	.L639
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 56[rax]
	mov	rax, QWORD PTR [rax]
	mov	rsi, rax
	lea	rdi, .LC363[rip]
	mov	eax, 0
	call	printf@PLT
.L639:
	mov	rax, QWORD PTR env[rip]
	movzx	eax, BYTE PTR [rax]
	and	eax, 4
	test	al, al
	je	.L640
	lea	rdi, .LC364[rip]
	mov	eax, 0
	call	printf@PLT
.L640:
	mov	rax, QWORD PTR env[rip]
	movzx	eax, BYTE PTR [rax]
	and	eax, 8
	test	al, al
	je	.L641
	lea	rdi, .LC365[rip]
	mov	eax, 0
	call	printf@PLT
.L641:
	mov	edi, 32
	call	putchar@PLT
	mov	rax, QWORD PTR env[rip]
	movzx	eax, BYTE PTR [rax]
	and	eax, 2
	test	al, al
	je	.L642
	lea	rdi, .LC366[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L643
.L642:
	mov	rax, QWORD PTR env[rip]
	movzx	eax, WORD PTR 4[rax]
	cwde
	mov	esi, eax
	lea	rdi, .LC367[rip]
	mov	eax, 0
	call	printf@PLT
.L643:
	mov	rax, QWORD PTR global_config[rip+24]
	test	rax, rax
	je	.L644
	mov	rax, QWORD PTR global_config[rip+32]
	mov	rsi, rax
	lea	rdi, .LC368[rip]
	mov	eax, 0
	call	printf@PLT
.L644:
	mov	rax, QWORD PTR env[rip]
	movzx	eax, BYTE PTR [rax]
	and	eax, 16
	test	al, al
	je	.L645
	lea	rdi, .LC369[rip]
	mov	eax, 0
	call	printf@PLT
.L645:
	call	clear_to_end
	mov	rax, QWORD PTR env[rip]
	mov	esi, DWORD PTR 36[rax]
	mov	rax, QWORD PTR env[rip]
	mov	ecx, DWORD PTR 28[rax]
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 24[rax]
	lea	rax, -1056[rbp]
	mov	r9d, esi
	mov	r8d, ecx
	mov	ecx, edx
	lea	rdx, .LC370[rip]
	mov	esi, 1024
	mov	rdi, rax
	mov	eax, 0
	call	snprintf@PLT
	mov	eax, DWORD PTR global_config[rip+4]
	lea	ebx, -1[rax]
	mov	eax, DWORD PTR global_config[rip]
	mov	r12d, eax
	lea	rax, -1056[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	edx, eax
	mov	eax, r12d
	sub	eax, edx
	mov	esi, ebx
	mov	edi, eax
	call	place_cursor
	lea	rax, -1056[rbp]
	mov	rsi, rax
	lea	rdi, .LC354[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR stdout[rip]
	mov	rdi, rax
	call	fflush@PLT
	nop
	mov	rax, QWORD PTR -24[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L646
	call	__stack_chk_fail@PLT
.L646:
	add	rsp, 1040
	pop	rbx
	pop	r12
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE80:
	.size	redraw_statusbar, .-redraw_statusbar
	.section	.rodata
.LC371:
	.string	"-- INSERT --"
.LC372:
	.string	"-- LINE SELECTION --"
.LC373:
	.string	"-- REPLACE --"
.LC374:
	.string	"-- CHAR SELECTION --"
	.text
	.globl	redraw_commandline
	.type	redraw_commandline, @function
redraw_commandline:
.LFB81:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	call	hide_cursor
	mov	eax, DWORD PTR global_config[rip+4]
	mov	esi, eax
	mov	edi, 1
	call	place_cursor
	mov	rax, QWORD PTR COLOR_BG[rip]
	mov	rdi, rax
	call	paint_line
	mov	rdx, QWORD PTR COLOR_BG[rip]
	mov	rax, QWORD PTR COLOR_FG[rip]
	mov	rsi, rdx
	mov	rdi, rax
	call	set_colors
	mov	rax, QWORD PTR env[rip]
	movzx	eax, WORD PTR 2[rax]
	cmp	ax, 1
	jne	.L648
	call	set_bold
	lea	rdi, .LC371[rip]
	mov	eax, 0
	call	printf@PLT
	call	clear_to_end
	call	reset
	jmp	.L653
.L648:
	mov	rax, QWORD PTR env[rip]
	movzx	eax, WORD PTR 2[rax]
	cmp	ax, 2
	jne	.L650
	call	set_bold
	lea	rdi, .LC372[rip]
	mov	eax, 0
	call	printf@PLT
	call	clear_to_end
	call	reset
	jmp	.L653
.L650:
	mov	rax, QWORD PTR env[rip]
	movzx	eax, WORD PTR 2[rax]
	cmp	ax, 3
	jne	.L651
	call	set_bold
	lea	rdi, .LC373[rip]
	mov	eax, 0
	call	printf@PLT
	call	clear_to_end
	call	reset
	jmp	.L653
.L651:
	mov	rax, QWORD PTR env[rip]
	movzx	eax, WORD PTR 2[rax]
	cmp	ax, 4
	jne	.L652
	call	set_bold
	lea	rdi, .LC374[rip]
	mov	eax, 0
	call	printf@PLT
	call	clear_to_end
	call	reset
	jmp	.L653
.L652:
	call	clear_to_end
.L653:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE81:
	.size	redraw_commandline, .-redraw_commandline
	.globl	render_commandline_message
	.type	render_commandline_message, @function
render_commandline_message:
.LFB82:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 1264
	mov	QWORD PTR -1256[rbp], rdi
	mov	QWORD PTR -168[rbp], rsi
	mov	QWORD PTR -160[rbp], rdx
	mov	QWORD PTR -152[rbp], rcx
	mov	QWORD PTR -144[rbp], r8
	mov	QWORD PTR -136[rbp], r9
	test	al, al
	je	.L655
	movaps	XMMWORD PTR -128[rbp], xmm0
	movaps	XMMWORD PTR -112[rbp], xmm1
	movaps	XMMWORD PTR -96[rbp], xmm2
	movaps	XMMWORD PTR -80[rbp], xmm3
	movaps	XMMWORD PTR -64[rbp], xmm4
	movaps	XMMWORD PTR -48[rbp], xmm5
	movaps	XMMWORD PTR -32[rbp], xmm6
	movaps	XMMWORD PTR -16[rbp], xmm7
.L655:
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -184[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -1240[rbp], 8
	mov	DWORD PTR -1236[rbp], 48
	lea	rax, 16[rbp]
	mov	QWORD PTR -1232[rbp], rax
	lea	rax, -176[rbp]
	mov	QWORD PTR -1224[rbp], rax
	lea	rcx, -1240[rbp]
	mov	rdx, QWORD PTR -1256[rbp]
	lea	rax, -1216[rbp]
	mov	esi, 1024
	mov	rdi, rax
	call	vsnprintf@PLT
	call	hide_cursor
	mov	eax, DWORD PTR global_config[rip+4]
	mov	esi, eax
	mov	edi, 1
	call	place_cursor
	mov	rax, QWORD PTR COLOR_BG[rip]
	mov	rdi, rax
	call	paint_line
	mov	rdx, QWORD PTR COLOR_BG[rip]
	mov	rax, QWORD PTR COLOR_FG[rip]
	mov	rsi, rdx
	mov	rdi, rax
	call	set_colors
	lea	rax, -1216[rbp]
	mov	rsi, rax
	lea	rdi, .LC354[rip]
	mov	eax, 0
	call	printf@PLT
	call	clear_to_end
	nop
	mov	rax, QWORD PTR -184[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L656
	call	__stack_chk_fail@PLT
.L656:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE82:
	.size	render_commandline_message, .-render_commandline_message
	.globl	redraw_all
	.type	redraw_all, @function
redraw_all:
.LFB83:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	call	redraw_tabbar
	call	redraw_text
	call	redraw_statusbar
	call	redraw_commandline
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE83:
	.size	redraw_all, .-redraw_all
	.section	.rodata
.LC375:
	.string	"\033]%d;%s%s (%s) - BIM\007"
	.text
	.globl	update_title
	.type	update_title, @function
update_title:
.LFB84:
	.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
	mov	eax, DWORD PTR global_config[rip+80]
	test	eax, eax
	je	.L668
	mov	QWORD PTR -1040[rbp], 47
	mov	QWORD PTR -1032[rbp], 0
	lea	rdx, -1024[rbp]
	mov	eax, 0
	mov	ecx, 126
	mov	rdi, rdx
	rep stosq
	lea	rax, -1040[rbp]
	mov	esi, 1024
	mov	rdi, rax
	call	getcwd@PLT
	mov	DWORD PTR -1044[rbp], 1
	jmp	.L661
.L666:
	mov	rax, QWORD PTR env[rip]
	movzx	eax, BYTE PTR [rax]
	and	eax, 4
	test	al, al
	je	.L662
	lea	rdx, .LC350[rip]
	jmp	.L663
.L662:
	lea	rdx, .LC351[rip]
.L663:
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L664
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 8[rax]
	jmp	.L665
.L664:
	lea	rax, .LC349[rip]
.L665:
	lea	rcx, -1040[rbp]
	mov	esi, DWORD PTR -1044[rbp]
	mov	r8, rcx
	mov	rcx, rdx
	mov	rdx, rax
	lea	rdi, .LC375[rip]
	mov	eax, 0
	call	printf@PLT
	add	DWORD PTR -1044[rbp], 1
.L661:
	cmp	DWORD PTR -1044[rbp], 2
	jle	.L666
	jmp	.L658
.L668:
	nop
.L658:
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L667
	call	__stack_chk_fail@PLT
.L667:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE84:
	.size	update_title, .-update_title
	.globl	set_modified
	.type	set_modified, @function
set_modified:
.LFB85:
	.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 env[rip]
	movzx	eax, BYTE PTR [rax]
	and	eax, 4
	test	al, al
	jne	.L672
	mov	rax, QWORD PTR env[rip]
	movzx	edx, BYTE PTR [rax]
	or	edx, 4
	mov	BYTE PTR [rax], dl
	call	update_title
	call	redraw_tabbar
	call	redraw_statusbar
	jmp	.L669
.L672:
	nop
.L669:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE85:
	.size	set_modified, .-set_modified
	.globl	render_status_message
	.type	render_status_message, @function
render_status_message:
.LFB86:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 1264
	mov	QWORD PTR -1256[rbp], rdi
	mov	QWORD PTR -168[rbp], rsi
	mov	QWORD PTR -160[rbp], rdx
	mov	QWORD PTR -152[rbp], rcx
	mov	QWORD PTR -144[rbp], r8
	mov	QWORD PTR -136[rbp], r9
	test	al, al
	je	.L674
	movaps	XMMWORD PTR -128[rbp], xmm0
	movaps	XMMWORD PTR -112[rbp], xmm1
	movaps	XMMWORD PTR -96[rbp], xmm2
	movaps	XMMWORD PTR -80[rbp], xmm3
	movaps	XMMWORD PTR -64[rbp], xmm4
	movaps	XMMWORD PTR -48[rbp], xmm5
	movaps	XMMWORD PTR -32[rbp], xmm6
	movaps	XMMWORD PTR -16[rbp], xmm7
.L674:
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -184[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -1240[rbp], 8
	mov	DWORD PTR -1236[rbp], 48
	lea	rax, 16[rbp]
	mov	QWORD PTR -1232[rbp], rax
	lea	rax, -176[rbp]
	mov	QWORD PTR -1224[rbp], rax
	lea	rcx, -1240[rbp]
	mov	rdx, QWORD PTR -1256[rbp]
	lea	rax, -1216[rbp]
	mov	esi, 1024
	mov	rdi, rax
	call	vsnprintf@PLT
	call	hide_cursor
	mov	eax, DWORD PTR global_config[rip+4]
	sub	eax, 1
	mov	esi, eax
	mov	edi, 1
	call	place_cursor
	mov	rax, QWORD PTR COLOR_STATUS_BG[rip]
	mov	rdi, rax
	call	paint_line
	mov	rdx, QWORD PTR COLOR_STATUS_BG[rip]
	mov	rax, QWORD PTR COLOR_STATUS_FG[rip]
	mov	rsi, rdx
	mov	rdi, rax
	call	set_colors
	lea	rax, -1216[rbp]
	mov	rsi, rax
	lea	rdi, .LC354[rip]
	mov	eax, 0
	call	printf@PLT
	call	clear_to_end
	nop
	mov	rax, QWORD PTR -184[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L675
	call	__stack_chk_fail@PLT
.L675:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE86:
	.size	render_status_message, .-render_status_message
	.globl	render_error
	.type	render_error, @function
render_error:
.LFB87:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 1264
	mov	QWORD PTR -1256[rbp], rdi
	mov	QWORD PTR -168[rbp], rsi
	mov	QWORD PTR -160[rbp], rdx
	mov	QWORD PTR -152[rbp], rcx
	mov	QWORD PTR -144[rbp], r8
	mov	QWORD PTR -136[rbp], r9
	test	al, al
	je	.L677
	movaps	XMMWORD PTR -128[rbp], xmm0
	movaps	XMMWORD PTR -112[rbp], xmm1
	movaps	XMMWORD PTR -96[rbp], xmm2
	movaps	XMMWORD PTR -80[rbp], xmm3
	movaps	XMMWORD PTR -64[rbp], xmm4
	movaps	XMMWORD PTR -48[rbp], xmm5
	movaps	XMMWORD PTR -32[rbp], xmm6
	movaps	XMMWORD PTR -16[rbp], xmm7
.L677:
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -184[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -1240[rbp], 8
	mov	DWORD PTR -1236[rbp], 48
	lea	rax, 16[rbp]
	mov	QWORD PTR -1232[rbp], rax
	lea	rax, -176[rbp]
	mov	QWORD PTR -1224[rbp], rax
	lea	rcx, -1240[rbp]
	mov	rdx, QWORD PTR -1256[rbp]
	lea	rax, -1216[rbp]
	mov	esi, 1024
	mov	rdi, rax
	call	vsnprintf@PLT
	call	hide_cursor
	mov	eax, DWORD PTR global_config[rip+4]
	mov	esi, eax
	mov	edi, 1
	call	place_cursor
	mov	rdx, QWORD PTR COLOR_ERROR_BG[rip]
	mov	rax, QWORD PTR COLOR_ERROR_FG[rip]
	mov	rsi, rdx
	mov	rdi, rax
	call	set_colors
	lea	rax, -1216[rbp]
	mov	rsi, rax
	lea	rdi, .LC354[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR stdout[rip]
	mov	rdi, rax
	call	fflush@PLT
	nop
	mov	rax, QWORD PTR -184[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L678
	call	__stack_chk_fail@PLT
.L678:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE87:
	.size	render_error, .-render_error
	.globl	paren_pairs
	.section	.rodata
.LC376:
	.string	"()[]{}<>"
	.section	.data.rel.local
	.align 8
	.type	paren_pairs, @object
	.size	paren_pairs, 8
paren_pairs:
	.quad	.LC376
	.text
	.globl	is_paren
	.type	is_paren, @function
is_paren:
.LFB88:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	mov	rax, QWORD PTR paren_pairs[rip]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L680
.L683:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	cmp	DWORD PTR -20[rbp], eax
	jne	.L681
	mov	eax, 1
	jmp	.L682
.L681:
	add	QWORD PTR -8[rbp], 1
.L680:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L683
	mov	eax, 0
.L682:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE88:
	.size	is_paren, .-is_paren
	.globl	highlight_matching_paren
	.type	highlight_matching_paren, @function
highlight_matching_paren:
.LFB89:
	.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	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR env[rip]
	movzx	eax, WORD PTR 2[rax]
	cmp	ax, 2
	je	.L702
	mov	rax, QWORD PTR env[rip]
	movzx	eax, WORD PTR 2[rax]
	cmp	ax, 4
	je	.L702
	mov	eax, DWORD PTR global_config[rip+96]
	test	eax, eax
	je	.L703
	mov	DWORD PTR -28[rbp], -1
	mov	DWORD PTR -24[rbp], -1
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 28[rax]
	cmp	edx, eax
	jg	.L689
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 36[rax]
	mov	rax, QWORD PTR env[rip]
	mov	rcx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 4[rax]
	cmp	edx, eax
	jg	.L689
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR env[rip]
	mov	edx, DWORD PTR 36[rdx]
	sub	edx, 1
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	mov	edi, eax
	call	is_paren
	test	eax, eax
	je	.L689
	lea	rdx, -24[rbp]
	lea	rax, -28[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	find_matching_paren
	mov	eax, DWORD PTR -28[rbp]
	cmp	eax, -1
	je	.L689
	mov	rax, QWORD PTR env[rip]
	movzx	edx, BYTE PTR [rax]
	or	edx, 32
	mov	BYTE PTR [rax], dl
.L689:
	mov	rax, QWORD PTR env[rip]
	movzx	eax, BYTE PTR [rax]
	and	eax, 32
	test	al, al
	je	.L704
	mov	DWORD PTR -20[rbp], 0
	jmp	.L691
.L698:
	mov	DWORD PTR -16[rbp], 0
	mov	DWORD PTR -12[rbp], 0
	jmp	.L692
.L696:
	mov	eax, DWORD PTR -28[rbp]
	sub	eax, 1
	cmp	DWORD PTR -20[rbp], eax
	jne	.L693
	mov	eax, DWORD PTR -24[rbp]
	sub	eax, 1
	cmp	DWORD PTR -12[rbp], eax
	jne	.L693
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -24[rbp]
	sub	edx, 1
	movsx	rdx, edx
	movzx	eax, WORD PTR 12[rax+rdx*4]
	shr	ax, 4
	mov	ecx, eax
	and	ecx, 127
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -24[rbp]
	sub	edx, 1
	or	ecx, 16
	movsx	rdx, edx
	movzx	ecx, cl
	and	ecx, 127
	mov	esi, ecx
	sal	esi, 4
	movzx	ecx, WORD PTR 12[rax+rdx*4]
	and	cx, -2033
	or	ecx, esi
	mov	WORD PTR 12[rax+rdx*4], cx
	mov	DWORD PTR -16[rbp], 1
	jmp	.L694
.L693:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -12[rbp]
	movsx	rdx, edx
	movzx	eax, WORD PTR 12[rax+rdx*4]
	shr	ax, 4
	and	eax, 127
	movzx	eax, al
	and	eax, 16
	test	eax, eax
	je	.L695
	mov	DWORD PTR -16[rbp], 1
.L695:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -12[rbp]
	movsx	rdx, edx
	movzx	eax, WORD PTR 12[rax+rdx*4]
	shr	ax, 4
	mov	edx, eax
	and	edx, 127
	mov	rax, QWORD PTR env[rip]
	mov	rcx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	ecx, edx
	and	ecx, 111
	mov	edx, DWORD PTR -12[rbp]
	movsx	rdx, edx
	movzx	ecx, cl
	and	ecx, 127
	mov	esi, ecx
	sal	esi, 4
	movzx	ecx, WORD PTR 12[rax+rdx*4]
	and	cx, -2033
	or	ecx, esi
	mov	WORD PTR 12[rax+rdx*4], cx
.L694:
	add	DWORD PTR -12[rbp], 1
.L692:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -12[rbp], eax
	jl	.L696
	cmp	DWORD PTR -16[rbp], 0
	je	.L697
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 16[rax]
	mov	eax, DWORD PTR -20[rbp]
	sub	eax, edx
	test	eax, eax
	js	.L697
	mov	rax, QWORD PTR env[rip]
	mov	ecx, DWORD PTR 16[rax]
	mov	eax, DWORD PTR -20[rbp]
	sub	eax, ecx
	mov	edx, eax
	mov	eax, DWORD PTR global_config[rip+4]
	mov	ecx, DWORD PTR global_config[rip+8]
	sub	eax, ecx
	sub	eax, 1
	cmp	edx, eax
	jge	.L697
	mov	rax, QWORD PTR env[rip]
	mov	ecx, DWORD PTR 16[rax]
	mov	eax, DWORD PTR -20[rbp]
	sub	eax, ecx
	mov	edx, eax
	mov	eax, DWORD PTR -20[rbp]
	mov	esi, eax
	mov	edi, edx
	call	redraw_line
.L697:
	add	DWORD PTR -20[rbp], 1
.L691:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 28[rax]
	cmp	DWORD PTR -20[rbp], eax
	jl	.L698
	mov	eax, DWORD PTR -28[rbp]
	cmp	eax, -1
	jne	.L684
	mov	rax, QWORD PTR env[rip]
	movzx	edx, BYTE PTR [rax]
	and	edx, -33
	mov	BYTE PTR [rax], dl
	jmp	.L684
.L702:
	nop
	jmp	.L684
.L703:
	nop
	jmp	.L684
.L704:
	nop
.L684:
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L701
	call	__stack_chk_fail@PLT
.L701:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE89:
	.size	highlight_matching_paren, .-highlight_matching_paren
	.globl	place_cursor_actual
	.type	place_cursor_actual, @function
place_cursor_actual:
.LFB90:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	test	eax, eax
	jg	.L706
	mov	rax, QWORD PTR env[rip]
	mov	DWORD PTR 24[rax], 1
.L706:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 36[rax]
	test	eax, eax
	jg	.L707
	mov	rax, QWORD PTR env[rip]
	mov	DWORD PTR 36[rax], 1
.L707:
	call	num_width
	add	eax, 3
	mov	DWORD PTR -20[rbp], eax
	mov	eax, DWORD PTR -20[rbp]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	ecx, DWORD PTR 20[rax]
	mov	eax, edx
	sub	eax, ecx
	mov	DWORD PTR -36[rbp], eax
	mov	DWORD PTR -32[rbp], 0
	jmp	.L708
.L709:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -32[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	add	rax, 12
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	movzx	eax, al
	add	DWORD PTR -36[rbp], eax
	add	DWORD PTR -32[rbp], 1
.L708:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 36[rax]
	sub	eax, 1
	cmp	DWORD PTR -32[rbp], eax
	jl	.L709
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR env[rip]
	mov	ecx, DWORD PTR 16[rax]
	mov	eax, edx
	sub	eax, ecx
	add	eax, 1
	mov	DWORD PTR -28[rbp], eax
	mov	DWORD PTR -24[rbp], 0
	jmp	.L710
.L712:
	add	DWORD PTR -28[rbp], 1
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	DWORD PTR -24[rbp], 1
.L710:
	mov	eax, DWORD PTR global_config[rip+92]
	add	eax, 1
	cmp	DWORD PTR -28[rbp], eax
	jg	.L713
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L712
	jmp	.L713
.L714:
	sub	DWORD PTR -28[rbp], 1
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	DWORD PTR -24[rbp], 1
.L713:
	mov	eax, DWORD PTR global_config[rip+4]
	mov	edx, DWORD PTR global_config[rip+8]
	sub	eax, edx
	mov	edx, DWORD PTR global_config[rip+92]
	sub	eax, edx
	cmp	DWORD PTR -28[rbp], eax
	jg	.L714
	cmp	DWORD PTR -24[rbp], 0
	je	.L715
	call	redraw_text
	call	redraw_tabbar
	call	redraw_statusbar
	call	redraw_commandline
.L715:
	mov	eax, DWORD PTR global_config[rip]
	cmp	DWORD PTR -36[rbp], eax
	jl	.L716
	mov	eax, DWORD PTR global_config[rip]
	lea	edx, -1[rax]
	mov	eax, DWORD PTR -36[rbp]
	sub	eax, edx
	mov	DWORD PTR -16[rbp], eax
	mov	rax, QWORD PTR env[rip]
	mov	ecx, DWORD PTR 20[rax]
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR -16[rbp]
	add	edx, ecx
	mov	DWORD PTR 20[rax], edx
	mov	eax, DWORD PTR -16[rbp]
	sub	DWORD PTR -36[rbp], eax
	call	redraw_text
.L716:
	mov	eax, DWORD PTR -20[rbp]
	cmp	eax, DWORD PTR -36[rbp]
	jl	.L717
	mov	eax, DWORD PTR -20[rbp]
	add	eax, 1
	sub	eax, DWORD PTR -36[rbp]
	mov	DWORD PTR -12[rbp], eax
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 20[rax]
	mov	rax, QWORD PTR env[rip]
	sub	edx, DWORD PTR -12[rbp]
	mov	DWORD PTR 20[rax], edx
	mov	eax, DWORD PTR -12[rbp]
	add	DWORD PTR -36[rbp], eax
	call	redraw_text
.L717:
	call	highlight_matching_paren
	mov	edx, DWORD PTR -28[rbp]
	mov	eax, DWORD PTR -36[rbp]
	mov	esi, edx
	mov	edi, eax
	call	place_cursor
	call	show_cursor
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE90:
	.size	place_cursor_actual, .-place_cursor_actual
	.globl	update_screen_size
	.type	update_screen_size, @function
update_screen_size:
.LFB91:
	.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, -16[rbp]
	mov	rdx, rax
	mov	esi, 21523
	mov	edi, 1
	mov	eax, 0
	call	ioctl@PLT
	movzx	eax, WORD PTR -14[rbp]
	movzx	eax, ax
	mov	DWORD PTR global_config[rip], eax
	movzx	eax, WORD PTR -16[rbp]
	movzx	eax, ax
	mov	DWORD PTR global_config[rip+4], eax
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L719
	call	__stack_chk_fail@PLT
.L719:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE91:
	.size	update_screen_size, .-update_screen_size
	.globl	SIGWINCH_handler
	.type	SIGWINCH_handler, @function
SIGWINCH_handler:
.LFB92:
	.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
	call	update_screen_size
	call	redraw_all
	lea	rsi, SIGWINCH_handler[rip]
	mov	edi, 28
	call	signal@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE92:
	.size	SIGWINCH_handler, .-SIGWINCH_handler
	.globl	SIGTSTP_handler
	.type	SIGTSTP_handler, @function
SIGTSTP_handler:
.LFB93:
	.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
	call	mouse_disable
	call	set_buffered
	call	reset
	call	clear_screen
	call	show_cursor
	call	unset_alternate_screen
	mov	rax, QWORD PTR stdout[rip]
	mov	rdi, rax
	call	fflush@PLT
	mov	esi, 0
	mov	edi, 20
	call	signal@PLT
	mov	edi, 20
	call	raise@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE93:
	.size	SIGTSTP_handler, .-SIGTSTP_handler
	.globl	SIGCONT_handler
	.type	SIGCONT_handler, @function
SIGCONT_handler:
.LFB94:
	.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
	call	set_alternate_screen
	call	set_unbuffered
	call	mouse_enable
	call	redraw_all
	lea	rsi, SIGCONT_handler[rip]
	mov	edi, 18
	call	signal@PLT
	lea	rsi, SIGTSTP_handler[rip]
	mov	edi, 20
	call	signal@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE94:
	.size	SIGCONT_handler, .-SIGCONT_handler
	.globl	goto_line
	.type	goto_line, @function
goto_line:
.LFB95:
	.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
	cmp	DWORD PTR -4[rbp], 0
	jg	.L724
	mov	DWORD PTR -4[rbp], 1
.L724:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 28[rax]
	cmp	DWORD PTR -4[rbp], eax
	jle	.L725
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 28[rax]
	mov	DWORD PTR -4[rbp], eax
.L725:
	mov	rax, QWORD PTR env[rip]
	mov	DWORD PTR 20[rax], 0
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR -4[rbp]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR -4[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR env[rip]
	mov	DWORD PTR 36[rax], 1
	call	redraw_all
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE95:
	.size	goto_line, .-goto_line
	.local	codepoint_r
	.comm	codepoint_r,4,4
	.local	state
	.comm	state,4,4
	.type	decode, @function
decode:
.LFB96:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	DWORD PTR -20[rbp], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jne	.L727
	mov	eax, DWORD PTR -20[rbp]
	shr	eax, 3
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, mask_bytes.2[rip]
	mov	eax, DWORD PTR [rdx+rax]
	and	eax, DWORD PTR -20[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, DWORD PTR -20[rbp]
	shr	eax, 3
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, state_table.1[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], edx
	jmp	.L728
.L727:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	je	.L728
	mov	eax, DWORD PTR -20[rbp]
	and	eax, 63
	mov	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	sal	eax, 6
	or	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, next.0[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], edx
.L728:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE96:
	.size	decode, .-decode
	.globl	add_buffer
	.type	add_buffer, @function
add_buffer:
.LFB97:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 56
	.cfi_offset 3, -24
	mov	QWORD PTR -56[rbp], rdi
	mov	DWORD PTR -60[rbp], esi
	mov	DWORD PTR -44[rbp], 0
	jmp	.L731
.L736:
	mov	eax, DWORD PTR -44[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	edx, eax
	lea	rsi, codepoint_r[rip]
	lea	rdi, state[rip]
	call	decode
	test	eax, eax
	jne	.L732
	mov	eax, DWORD PTR codepoint_r[rip]
	mov	DWORD PTR -40[rbp], eax
	cmp	DWORD PTR -40[rbp], 10
	jne	.L733
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 64[rax]
	mov	rbx, QWORD PTR env[rip]
	mov	esi, edx
	mov	rdi, rax
	call	add_line
	mov	QWORD PTR 64[rbx], rax
	mov	rax, QWORD PTR env[rip]
	mov	DWORD PTR 36[rax], 1
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR env[rip]
	add	edx, 1
	mov	DWORD PTR 24[rax], edx
	jmp	.L734
.L733:
	mov	eax, DWORD PTR -40[rbp]
	and	eax, 2097151
	sal	eax, 11
	mov	edx, eax
	mov	eax, DWORD PTR -36[rbp]
	and	eax, 2047
	or	eax, edx
	mov	DWORD PTR -36[rbp], eax
	movzx	eax, WORD PTR -36[rbp]
	and	ax, -2033
	mov	WORD PTR -36[rbp], ax
	mov	eax, DWORD PTR -40[rbp]
	mov	edi, eax
	call	codepoint_width
	and	eax, 15
	and	eax, 15
	mov	edx, eax
	movzx	eax, BYTE PTR -36[rbp]
	and	eax, -16
	or	eax, edx
	mov	BYTE PTR -36[rbp], al
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	lea	ecx, -1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, -1[rax]
	mov	esi, DWORD PTR -36[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	line_insert
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	cmp	rax, QWORD PTR -24[rbp]
	je	.L735
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR [rdx], rax
.L735:
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 36[rax]
	mov	rax, QWORD PTR env[rip]
	add	edx, 1
	mov	DWORD PTR 36[rax], edx
	jmp	.L734
.L732:
	mov	eax, DWORD PTR state[rip]
	cmp	eax, 1
	jne	.L734
	mov	DWORD PTR state[rip], 0
.L734:
	add	DWORD PTR -44[rbp], 1
.L731:
	mov	eax, DWORD PTR -44[rbp]
	cmp	eax, DWORD PTR -60[rbp]
	jl	.L736
	nop
	nop
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE97:
	.size	add_buffer, .-add_buffer
	.globl	match_syntax
	.type	match_syntax, @function
match_syntax:
.LFB98:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	lea	rax, syntaxes[rip]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L738
.L747:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L739
.L746:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	DWORD PTR -24[rbp], eax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	strlen@PLT
	mov	DWORD PTR -20[rbp], eax
.L745:
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	cmp	dl, al
	jne	.L748
	cmp	DWORD PTR -20[rbp], 0
	jne	.L742
	mov	rax, QWORD PTR -16[rbp]
	jmp	.L743
.L742:
	cmp	DWORD PTR -24[rbp], 0
	je	.L749
	sub	DWORD PTR -24[rbp], 1
	sub	DWORD PTR -20[rbp], 1
	jmp	.L745
.L748:
	nop
	jmp	.L741
.L749:
	nop
.L741:
	add	QWORD PTR -8[rbp], 8
.L739:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L746
	add	QWORD PTR -16[rbp], 56
.L738:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L747
	mov	eax, 0
.L743:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE98:
	.size	match_syntax, .-match_syntax
	.globl	is_all_numbers
	.type	is_all_numbers, @function
is_all_numbers:
.LFB99:
	.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	QWORD PTR -8[rbp], rdi
	jmp	.L751
.L754:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	rax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 2048
	test	eax, eax
	jne	.L752
	mov	eax, 0
	jmp	.L753
.L752:
	add	QWORD PTR -8[rbp], 1
.L751:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L754
	mov	eax, 1
.L753:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE99:
	.size	is_all_numbers, .-is_all_numbers
	.section	.rodata
.LC377:
	.string	"-"
.LC378:
	.string	"r"
	.text
	.globl	open_file
	.type	open_file, @function
open_file:
.LFB100:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 4096
	or	QWORD PTR [rsp], 0
	sub	rsp, 88
	.cfi_offset 3, -24
	mov	QWORD PTR -4184[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -24[rbp], rax
	xor	eax, eax
	call	buffer_new
	mov	QWORD PTR env[rip], rax
	mov	rax, QWORD PTR env[rip]
	movzx	edx, BYTE PTR [rax]
	or	edx, 1
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR env[rip]
	mov	rdi, rax
	call	setup_buffer
	mov	DWORD PTR -4176[rbp], 1
	mov	rax, QWORD PTR -4184[rbp]
	lea	rsi, .LC377[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L756
	mov	rax, QWORD PTR stdin[rip]
	mov	QWORD PTR -4152[rbp], rax
	mov	DWORD PTR global_config[rip+44], 2
	mov	rax, QWORD PTR env[rip]
	movzx	edx, BYTE PTR [rax]
	or	edx, 4
	mov	BYTE PTR [rax], dl
	jmp	.L757
.L756:
	mov	rax, QWORD PTR -4184[rbp]
	mov	esi, 58
	mov	rdi, rax
	call	strrchr@PLT
	mov	QWORD PTR -4144[rbp], rax
	cmp	QWORD PTR -4144[rbp], 0
	je	.L758
	mov	rax, QWORD PTR -4144[rbp]
	add	rax, 1
	mov	rdi, rax
	call	is_all_numbers
	test	eax, eax
	je	.L758
	mov	rax, QWORD PTR -4144[rbp]
	mov	BYTE PTR [rax], 0
	add	QWORD PTR -4144[rbp], 1
	mov	rax, QWORD PTR -4144[rbp]
	mov	rdi, rax
	call	atoi@PLT
	mov	DWORD PTR -4176[rbp], eax
.L758:
	mov	rax, QWORD PTR -4184[rbp]
	lea	rsi, .LC378[rip]
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR -4152[rbp], rax
	mov	rbx, QWORD PTR env[rip]
	mov	rax, QWORD PTR -4184[rbp]
	mov	rdi, rax
	call	strdup@PLT
	mov	QWORD PTR 8[rbx], rax
.L757:
	cmp	QWORD PTR -4152[rbp], 0
	jne	.L759
	mov	eax, DWORD PTR global_config[rip+12]
	test	eax, eax
	je	.L760
	mov	rbx, QWORD PTR env[rip]
	mov	rax, QWORD PTR -4184[rbp]
	mov	rdi, rax
	call	match_syntax
	mov	QWORD PTR 56[rbx], rax
.L760:
	mov	rax, QWORD PTR env[rip]
	movzx	edx, BYTE PTR [rax]
	and	edx, -2
	mov	BYTE PTR [rax], dl
	jmp	.L755
.L759:
	mov	DWORD PTR state[rip], 0
	jmp	.L762
.L764:
	mov	rdx, QWORD PTR -4152[rbp]
	lea	rax, -4128[rbp]
	mov	rcx, rdx
	mov	edx, 4096
	mov	esi, 1
	mov	rdi, rax
	call	fread@PLT
	mov	QWORD PTR -4136[rbp], rax
	mov	rax, QWORD PTR -4136[rbp]
	mov	edx, eax
	lea	rax, -4128[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	add_buffer
.L762:
	mov	rax, QWORD PTR -4152[rbp]
	mov	rdi, rax
	call	feof@PLT
	test	eax, eax
	jne	.L763
	mov	rax, QWORD PTR -4152[rbp]
	mov	rdi, rax
	call	ferror@PLT
	test	eax, eax
	je	.L764
.L763:
	mov	rax, QWORD PTR -4152[rbp]
	mov	rdi, rax
	call	ferror@PLT
	test	eax, eax
	je	.L765
	mov	rax, QWORD PTR env[rip]
	movzx	edx, BYTE PTR [rax]
	and	edx, -2
	mov	BYTE PTR [rax], dl
	jmp	.L755
.L765:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	test	eax, eax
	je	.L766
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L766
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 4[rax]
	test	eax, eax
	jne	.L766
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 64[rax]
	mov	esi, edx
	mov	rdi, rax
	call	remove_line
.L766:
	mov	eax, DWORD PTR global_config[rip+12]
	test	eax, eax
	je	.L767
	mov	rbx, QWORD PTR env[rip]
	mov	rax, QWORD PTR -4184[rbp]
	mov	rdi, rax
	call	match_syntax
	mov	QWORD PTR 56[rbx], rax
	mov	DWORD PTR -4172[rbp], 0
	jmp	.L768
.L769:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -4172[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -4172[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	recalculate_syntax
	add	DWORD PTR -4172[rbp], 1
.L768:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 28[rax]
	cmp	DWORD PTR -4172[rbp], eax
	jl	.L769
.L767:
	mov	DWORD PTR -4168[rbp], 0
	mov	DWORD PTR -4164[rbp], 0
	mov	DWORD PTR -4160[rbp], 0
	jmp	.L770
.L773:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -4160[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 4[rax]
	cmp	eax, 1
	jle	.L771
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -4160[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 12[rax]
	and	eax, -2048
	cmp	eax, 18432
	jne	.L772
	add	DWORD PTR -4168[rbp], 1
.L772:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -4160[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 12[rax]
	and	eax, -2048
	cmp	eax, 65536
	jne	.L771
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -4160[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 16[rax]
	and	eax, -2048
	cmp	eax, 65536
	jne	.L771
	add	DWORD PTR -4164[rbp], 1
.L771:
	add	DWORD PTR -4160[rbp], 1
.L770:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 28[rax]
	cmp	DWORD PTR -4160[rbp], eax
	jl	.L773
	mov	eax, DWORD PTR -4164[rbp]
	cmp	eax, DWORD PTR -4168[rbp]
	jle	.L774
	mov	rax, QWORD PTR env[rip]
	movzx	edx, BYTE PTR [rax]
	and	edx, -3
	mov	BYTE PTR [rax], dl
.L774:
	mov	rax, QWORD PTR env[rip]
	movzx	edx, BYTE PTR [rax]
	and	edx, -2
	mov	BYTE PTR [rax], dl
	mov	DWORD PTR -4156[rbp], 0
	jmp	.L775
.L776:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -4156[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	recalculate_tabs
	add	DWORD PTR -4156[rbp], 1
.L775:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 28[rax]
	cmp	DWORD PTR -4156[rbp], eax
	jl	.L776
	mov	eax, DWORD PTR global_config[rip+116]
	test	eax, eax
	je	.L777
	mov	eax, DWORD PTR -4176[rbp]
	mov	edi, eax
	call	goto_line
.L777:
	mov	rax, QWORD PTR -4152[rbp]
	mov	rdi, rax
	call	fclose@PLT
.L755:
	mov	rax, QWORD PTR -24[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L779
	call	__stack_chk_fail@PLT
.L779:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE100:
	.size	open_file, .-open_file
	.globl	quit
	.type	quit, @function
quit:
.LFB101:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	call	mouse_disable
	call	set_buffered
	call	reset
	call	clear_screen
	call	show_cursor
	call	unset_alternate_screen
	mov	edi, 0
	call	exit@PLT
	.cfi_endproc
.LFE101:
	.size	quit, .-quit
	.section	.rodata
	.align 8
.LC379:
	.string	"Modifications made to file `%s` in tab %d. Aborting."
	.align 8
.LC380:
	.string	"Unsaved new file in tab %d. Aborting."
	.text
	.globl	try_quit
	.type	try_quit, @function
try_quit:
.LFB102:
	.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 -12[rbp], 0
	jmp	.L782
.L787:
	mov	rdx, QWORD PTR buffers[rip]
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	and	eax, 4
	test	al, al
	je	.L783
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L784
	mov	eax, DWORD PTR -12[rbp]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rsi, rax
	lea	rdi, .LC379[rip]
	mov	eax, 0
	call	render_error
	jmp	.L781
.L784:
	mov	eax, DWORD PTR -12[rbp]
	add	eax, 1
	mov	esi, eax
	lea	rdi, .LC380[rip]
	mov	eax, 0
	call	render_error
	jmp	.L781
.L783:
	add	DWORD PTR -12[rbp], 1
.L782:
	mov	eax, DWORD PTR buffers_len[rip]
	cmp	DWORD PTR -12[rbp], eax
	jl	.L787
	call	quit
.L781:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE102:
	.size	try_quit, .-try_quit
	.globl	previous_tab
	.type	previous_tab, @function
previous_tab:
.LFB103:
	.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 -16[rbp], 0
	mov	DWORD PTR -20[rbp], 0
	jmp	.L789
.L793:
	mov	rdx, QWORD PTR buffers[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR env[rip]
	cmp	QWORD PTR -8[rbp], rax
	jne	.L790
	cmp	QWORD PTR -16[rbp], 0
	je	.L791
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR env[rip], rax
	call	redraw_all
	jmp	.L788
.L791:
	mov	rdx, QWORD PTR buffers[rip]
	mov	eax, DWORD PTR buffers_len[rip]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR env[rip], rax
	call	redraw_all
	jmp	.L788
.L790:
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR -16[rbp], rax
	add	DWORD PTR -20[rbp], 1
.L789:
	mov	eax, DWORD PTR buffers_len[rip]
	cmp	DWORD PTR -20[rbp], eax
	jl	.L793
.L788:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE103:
	.size	previous_tab, .-previous_tab
	.globl	next_tab
	.type	next_tab, @function
next_tab:
.LFB104:
	.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 -12[rbp], 0
	jmp	.L795
.L799:
	mov	rdx, QWORD PTR buffers[rip]
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR env[rip]
	cmp	QWORD PTR -8[rbp], rax
	jne	.L796
	mov	eax, DWORD PTR buffers_len[rip]
	sub	eax, 1
	cmp	DWORD PTR -12[rbp], eax
	je	.L797
	mov	rdx, QWORD PTR buffers[rip]
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	add	rax, 1
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR env[rip], rax
	call	redraw_all
	jmp	.L794
.L797:
	mov	rax, QWORD PTR buffers[rip]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR env[rip], rax
	call	redraw_all
	jmp	.L794
.L796:
	add	DWORD PTR -12[rbp], 1
.L795:
	mov	eax, DWORD PTR buffers_len[rip]
	cmp	DWORD PTR -12[rbp], eax
	jl	.L799
.L794:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE104:
	.size	next_tab, .-next_tab
	.section	.rodata
.LC381:
	.string	"Need a file to write to."
.LC382:
	.string	"w+"
	.align 8
.LC383:
	.string	"Failed to open file for writing."
	.text
	.globl	write_file
	.type	write_file, @function
write_file:
.LFB105:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 72
	.cfi_offset 3, -24
	mov	QWORD PTR -72[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -24[rbp], rax
	xor	eax, eax
	cmp	QWORD PTR -72[rbp], 0
	jne	.L801
	lea	rdi, .LC381[rip]
	mov	eax, 0
	call	render_error
	jmp	.L800
.L801:
	mov	rax, QWORD PTR -72[rbp]
	lea	rsi, .LC382[rip]
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR -48[rbp], rax
	cmp	QWORD PTR -48[rbp], 0
	jne	.L803
	lea	rdi, .LC383[rip]
	mov	eax, 0
	call	render_error
	jmp	.L800
.L803:
	mov	DWORD PTR -64[rbp], 0
	jmp	.L804
.L809:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -40[rbp], rax
	mov	DWORD PTR -60[rbp], 0
	jmp	.L805
.L808:
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR -60[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	mov	DWORD PTR -52[rbp], eax
	mov	eax, DWORD PTR -52[rbp]
	shr	eax, 11
	test	eax, eax
	jne	.L806
	mov	BYTE PTR -32[rbp], 0
	mov	rdx, QWORD PTR -48[rbp]
	lea	rax, -32[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	esi, 1
	mov	rdi, rax
	call	fwrite@PLT
	jmp	.L807
.L806:
	mov	QWORD PTR -32[rbp], 0
	mov	eax, DWORD PTR -52[rbp]
	shr	eax, 11
	mov	edx, eax
	lea	rax, -32[rbp]
	mov	rsi, rax
	mov	edi, edx
	call	to_eight
	mov	DWORD PTR -56[rbp], eax
	mov	eax, DWORD PTR -56[rbp]
	movsx	rsi, eax
	mov	rdx, QWORD PTR -48[rbp]
	lea	rax, -32[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	rdi, rax
	call	fwrite@PLT
.L807:
	add	DWORD PTR -60[rbp], 1
.L805:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -60[rbp], eax
	jl	.L808
	mov	rax, QWORD PTR -48[rbp]
	mov	rsi, rax
	mov	edi, 10
	call	fputc@PLT
	add	DWORD PTR -64[rbp], 1
.L804:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 28[rax]
	cmp	DWORD PTR -64[rbp], eax
	jl	.L809
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	rax, QWORD PTR env[rip]
	movzx	edx, BYTE PTR [rax]
	and	edx, -5
	mov	BYTE PTR [rax], dl
	mov	rdx, QWORD PTR env[rip]
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 72[rdx]
	mov	QWORD PTR 80[rax], rdx
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	jne	.L810
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	call	strlen@PLT
	add	rax, 1
	mov	rbx, QWORD PTR env[rip]
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR 8[rbx], rax
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	call	strlen@PLT
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 8[rax]
	mov	rcx, QWORD PTR -72[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
.L810:
	call	update_title
	call	redraw_all
.L800:
	mov	rax, QWORD PTR -24[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L811
	call	__stack_chk_fail@PLT
.L811:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE105:
	.size	write_file, .-write_file
	.section	.rodata
.LC384:
	.string	"lolwat"
	.text
	.globl	close_buffer
	.type	close_buffer, @function
close_buffer:
.LFB106:
	.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 env[rip]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR env[rip]
	mov	rdi, rax
	call	buffer_close
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	cmp	rax, QWORD PTR -16[rbp]
	jne	.L813
	lea	rdi, .LC384[rip]
	mov	eax, 0
	call	render_error
.L813:
	cmp	QWORD PTR -8[rbp], 0
	jne	.L814
	call	quit
.L814:
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR env[rip], rax
	call	redraw_all
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE106:
	.size	close_buffer, .-close_buffer
	.globl	set_preferred_column
	.type	set_preferred_column, @function
set_preferred_column:
.LFB107:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -8[rbp], 0
	mov	DWORD PTR -4[rbp], 0
	jmp	.L816
.L818:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -4[rbp]
	movsx	rdx, edx
	movzx	eax, BYTE PTR 12[rax+rdx*4]
	and	eax, 15
	movzx	eax, al
	add	DWORD PTR -8[rbp], eax
	add	DWORD PTR -4[rbp], 1
.L816:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -4[rbp], eax
	jge	.L817
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 36[rax]
	sub	eax, 1
	cmp	DWORD PTR -4[rbp], eax
	jl	.L818
.L817:
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR -8[rbp]
	mov	DWORD PTR 40[rax], edx
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE107:
	.size	set_preferred_column, .-set_preferred_column
	.globl	cursor_down
	.type	cursor_down, @function
cursor_down:
.LFB108:
	.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	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 28[rax]
	cmp	edx, eax
	jge	.L819
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR env[rip]
	add	edx, 1
	mov	DWORD PTR 24[rax], edx
	mov	DWORD PTR -24[rbp], 0
	mov	DWORD PTR -20[rbp], 0
	jmp	.L821
.L824:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	add	rax, 12
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	movzx	eax, al
	add	DWORD PTR -24[rbp], eax
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR -20[rbp]
	add	edx, 1
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 40[rax]
	cmp	DWORD PTR -24[rbp], eax
	jg	.L834
	add	DWORD PTR -20[rbp], 1
.L821:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -20[rbp], eax
	jl	.L824
	jmp	.L823
.L834:
	nop
.L823:
	mov	rax, QWORD PTR env[rip]
	movzx	eax, WORD PTR 2[rax]
	cmp	ax, 1
	jne	.L825
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 40[rax]
	cmp	DWORD PTR -24[rbp], eax
	jg	.L825
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR env[rip]
	add	edx, 1
	mov	DWORD PTR 36[rax], edx
.L825:
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 36[rax]
	mov	rax, QWORD PTR env[rip]
	mov	rcx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	ecx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR env[rip]
	movzx	eax, WORD PTR 2[rax]
	cmp	ax, 1
	sete	al
	movzx	eax, al
	add	eax, ecx
	cmp	edx, eax
	jle	.L826
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	ecx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR env[rip]
	movzx	eax, WORD PTR 2[rax]
	cmp	ax, 1
	sete	al
	movzx	edx, al
	mov	rax, QWORD PTR env[rip]
	add	edx, ecx
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 36[rax]
	test	eax, eax
	jne	.L826
	mov	rax, QWORD PTR env[rip]
	mov	DWORD PTR 36[rax], 1
.L826:
	mov	DWORD PTR -16[rbp], 0
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 20[rax]
	test	eax, eax
	je	.L827
	mov	rax, QWORD PTR env[rip]
	mov	DWORD PTR 20[rax], 0
	mov	DWORD PTR -16[rbp], 1
.L827:
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR env[rip]
	mov	ecx, DWORD PTR 16[rax]
	mov	eax, DWORD PTR global_config[rip+4]
	add	eax, ecx
	mov	ecx, DWORD PTR global_config[rip+8]
	sub	eax, ecx
	sub	eax, 1
	mov	ecx, DWORD PTR global_config[rip+92]
	sub	eax, ecx
	cmp	edx, eax
	jle	.L828
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 16[rax]
	mov	rax, QWORD PTR env[rip]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR global_config[rip+56]
	test	eax, eax
	je	.L829
	call	shift_up
	mov	eax, DWORD PTR global_config[rip+4]
	mov	edx, DWORD PTR global_config[rip+8]
	sub	eax, edx
	sub	eax, 1
	mov	DWORD PTR -12[rbp], eax
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 28[rax]
	mov	rax, QWORD PTR env[rip]
	mov	ecx, DWORD PTR 16[rax]
	mov	eax, DWORD PTR -12[rbp]
	add	eax, ecx
	cmp	edx, eax
	jl	.L830
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 16[rax]
	mov	eax, DWORD PTR -12[rbp]
	add	eax, edx
	lea	edx, -1[rax]
	mov	eax, DWORD PTR -12[rbp]
	sub	eax, 1
	mov	esi, edx
	mov	edi, eax
	call	redraw_line
	jmp	.L831
.L830:
	mov	eax, DWORD PTR -12[rbp]
	sub	eax, 1
	mov	edi, eax
	call	draw_excess_line
.L831:
	call	redraw_tabbar
	call	redraw_statusbar
	call	redraw_commandline
	call	place_cursor_actual
	jmp	.L819
.L829:
	call	redraw_all
	jmp	.L819
.L828:
	cmp	DWORD PTR -16[rbp], 0
	je	.L833
	call	redraw_text
.L833:
	call	redraw_statusbar
	call	place_cursor_actual
.L819:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE108:
	.size	cursor_down, .-cursor_down
	.globl	cursor_up
	.type	cursor_up, @function
cursor_up:
.LFB109:
	.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	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cmp	eax, 1
	jle	.L835
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR env[rip]
	sub	edx, 1
	mov	DWORD PTR 24[rax], edx
	mov	DWORD PTR -24[rbp], 0
	mov	DWORD PTR -20[rbp], 0
	jmp	.L837
.L840:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	add	rax, 12
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	movzx	eax, al
	add	DWORD PTR -24[rbp], eax
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR -20[rbp]
	add	edx, 1
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 40[rax]
	cmp	DWORD PTR -24[rbp], eax
	jg	.L850
	add	DWORD PTR -20[rbp], 1
.L837:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -20[rbp], eax
	jl	.L840
	jmp	.L839
.L850:
	nop
.L839:
	mov	rax, QWORD PTR env[rip]
	movzx	eax, WORD PTR 2[rax]
	cmp	ax, 1
	jne	.L841
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 40[rax]
	cmp	DWORD PTR -24[rbp], eax
	jg	.L841
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR env[rip]
	add	edx, 1
	mov	DWORD PTR 36[rax], edx
.L841:
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 36[rax]
	mov	rax, QWORD PTR env[rip]
	mov	rcx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	ecx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR env[rip]
	movzx	eax, WORD PTR 2[rax]
	cmp	ax, 1
	sete	al
	movzx	eax, al
	add	eax, ecx
	cmp	edx, eax
	jle	.L842
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	ecx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR env[rip]
	movzx	eax, WORD PTR 2[rax]
	cmp	ax, 1
	sete	al
	movzx	edx, al
	mov	rax, QWORD PTR env[rip]
	add	edx, ecx
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 36[rax]
	test	eax, eax
	jne	.L842
	mov	rax, QWORD PTR env[rip]
	mov	DWORD PTR 36[rax], 1
.L842:
	mov	DWORD PTR -16[rbp], 0
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 20[rax]
	test	eax, eax
	je	.L843
	mov	rax, QWORD PTR env[rip]
	mov	DWORD PTR 20[rax], 0
	mov	DWORD PTR -16[rbp], 1
.L843:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jne	.L844
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 16[rax]
	jmp	.L845
.L844:
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 16[rax]
	mov	eax, DWORD PTR global_config[rip+92]
	add	eax, edx
.L845:
	mov	DWORD PTR -12[rbp], eax
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -12[rbp], eax
	jl	.L846
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 16[rax]
	mov	rax, QWORD PTR env[rip]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR global_config[rip+56]
	test	eax, eax
	je	.L847
	call	shift_down
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 16[rax]
	mov	esi, eax
	mov	edi, 0
	call	redraw_line
	call	redraw_tabbar
	call	redraw_statusbar
	call	redraw_commandline
	call	place_cursor_actual
	jmp	.L835
.L847:
	call	redraw_all
	jmp	.L835
.L846:
	cmp	DWORD PTR -16[rbp], 0
	je	.L849
	call	redraw_text
.L849:
	call	redraw_statusbar
	call	place_cursor_actual
.L835:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE109:
	.size	cursor_up, .-cursor_up
	.globl	cursor_left
	.type	cursor_left, @function
cursor_left:
.LFB110:
	.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 env[rip]
	mov	eax, DWORD PTR 36[rax]
	cmp	eax, 1
	jle	.L852
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 36[rax]
	mov	rax, QWORD PTR env[rip]
	sub	edx, 1
	mov	DWORD PTR 36[rax], edx
	call	redraw_statusbar
	call	place_cursor_actual
.L852:
	call	set_preferred_column
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE110:
	.size	cursor_left, .-cursor_left
	.globl	cursor_right
	.type	cursor_right, @function
cursor_right:
.LFB111:
	.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 env[rip]
	mov	edx, DWORD PTR 36[rax]
	mov	rax, QWORD PTR env[rip]
	mov	rcx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	ecx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR env[rip]
	movzx	eax, WORD PTR 2[rax]
	cmp	ax, 1
	sete	al
	movzx	eax, al
	add	eax, ecx
	cmp	edx, eax
	jge	.L854
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 36[rax]
	mov	rax, QWORD PTR env[rip]
	add	edx, 1
	mov	DWORD PTR 36[rax], edx
	call	redraw_statusbar
	call	place_cursor_actual
.L854:
	call	set_preferred_column
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE111:
	.size	cursor_right, .-cursor_right
	.globl	cursor_home
	.type	cursor_home, @function
cursor_home:
.LFB112:
	.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 env[rip]
	mov	DWORD PTR 36[rax], 1
	call	set_preferred_column
	call	redraw_statusbar
	call	place_cursor_actual
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE112:
	.size	cursor_home, .-cursor_home
	.globl	cursor_end
	.type	cursor_end, @function
cursor_end:
.LFB113:
	.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 env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	ecx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR env[rip]
	movzx	eax, WORD PTR 2[rax]
	cmp	ax, 1
	sete	al
	movzx	edx, al
	mov	rax, QWORD PTR env[rip]
	add	edx, ecx
	mov	DWORD PTR 36[rax], edx
	call	set_preferred_column
	call	redraw_statusbar
	call	place_cursor_actual
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE113:
	.size	cursor_end, .-cursor_end
	.globl	leave_insert
	.type	leave_insert, @function
leave_insert:
.LFB114:
	.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 env[rip]
	mov	edx, DWORD PTR 36[rax]
	mov	rax, QWORD PTR env[rip]
	mov	rcx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 4[rax]
	cmp	edx, eax
	jle	.L858
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 4[rdx]
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 36[rax]
	test	eax, eax
	jne	.L859
	mov	rax, QWORD PTR env[rip]
	mov	DWORD PTR 36[rax], 1
.L859:
	call	set_preferred_column
.L858:
	call	set_history_break
	mov	rax, QWORD PTR env[rip]
	mov	WORD PTR 2[rax], 0
	call	redraw_commandline
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE114:
	.size	leave_insert, .-leave_insert
	.section	.rodata
.LC385:
	.string	"\n"
.LC386:
	.string	"\n\nPress ENTER to continue."
.LC387:
	.string	" "
.LC388:
	.string	"e"
.LC389:
	.string	"Expected a file to open..."
.LC390:
	.string	"tabnew"
.LC391:
	.string	"w"
.LC392:
	.string	"wq"
.LC393:
	.string	"q"
	.align 8
.LC394:
	.string	"No write since last change. Use :q! to force exit."
.LC395:
	.string	"q!"
.LC396:
	.string	"qa"
.LC397:
	.string	"qall"
.LC398:
	.string	"qa!"
.LC399:
	.string	"tabp"
.LC400:
	.string	"tabn"
.LC401:
	.string	"indent"
.LC402:
	.string	"noindent"
.LC403:
	.string	"cursorcolumn"
.LC404:
	.string	"cursorcolumn=%d"
.LC405:
	.string	"noh"
	.align 8
.LC406:
	.string	" \033[1mbim - The standard ToaruOS Text Editor\033[22m\n"
.LC407:
	.string	" Available commands:\n"
	.align 8
.LC408:
	.string	"   Quit with \033[3m:q\033[23m, \033[3m:qa\033[23m, \033[3m:q!\033[23m, \033[3m:qa!\033[23m\n"
	.align 8
.LC409:
	.string	"   Write out with \033[3m:w \033[4mfile\033[24;23m\n"
	.align 8
.LC410:
	.string	"   Set syntax with \033[3m:syntax \033[4mlanguage\033[24;23m\n"
	.align 8
.LC411:
	.string	"   Open a new tab with \033[3m:e \033[4mpath/to/file\033[24;23m\n"
	.align 8
.LC412:
	.string	"   \033[3m:tabn\033[23m and \033[3m:tabp\033[23m can be used to switch tabs\n"
	.align 8
.LC413:
	.string	"   Set the color scheme with \033[3m:theme \033[4mtheme\033[24;23m\n"
	.align 8
.LC414:
	.string	"   Set the behavior of the tab key with \033[3m:tabs\033[23m or \033[3m:spaces\033[23m\n"
	.align 8
.LC415:
	.string	"   Set tabstop with \033[3m:tabstop \033[4mwidth\033[24;23m\n"
	.align 8
.LC416:
	.string	"Copyright 2012-2018 K. Lange <\033[3mklange@toaruos.org\033[23m>"
.LC417:
	.string	" %s\n"
.LC418:
	.string	"theme=%s"
.LC419:
	.string	"syntax"
.LC420:
	.string	"syntax=%s"
.LC421:
	.string	"unrecognized syntax type"
.LC422:
	.string	"recalc"
.LC423:
	.string	"tabs"
.LC424:
	.string	"spaces"
.LC425:
	.string	"tabstop"
.LC426:
	.string	"tabstop=%d"
.LC427:
	.string	"Invalid tabstop: %s"
.LC428:
	.string	"clearyank"
.LC429:
	.string	"padding=%d"
.LC430:
	.string	"smartcase"
.LC431:
	.string	"smartcase=%d"
.LC432:
	.string	"hlparen"
.LC433:
	.string	"hlparen=%d"
.LC434:
	.string	"Not an editor command: %s"
	.text
	.globl	process_command
	.type	process_command, @function
process_command:
.LFB115:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 4096
	or	QWORD PTR [rsp], 0
	add	rsp, -128
	mov	QWORD PTR -4216[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -4216[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 33
	jne	.L861
	call	reset
	lea	rdi, .LC385[rip]
	call	puts@PLT
	call	set_buffered
	mov	rax, QWORD PTR -4216[rbp]
	add	rax, 1
	mov	rdi, rax
	call	system@PLT
	call	set_unbuffered
	lea	rdi, .LC386[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR stdout[rip]
	mov	rdi, rax
	call	fflush@PLT
	nop
.L864:
	mov	edi, 200
	call	bim_getch_timeout
	mov	DWORD PTR -4148[rbp], eax
	cmp	DWORD PTR -4148[rbp], 13
	je	.L862
	cmp	DWORD PTR -4148[rbp], 10
	je	.L862
	mov	eax, 1
	jmp	.L863
.L862:
	mov	eax, 0
.L863:
	test	eax, eax
	jne	.L864
	call	redraw_all
	jmp	.L860
.L861:
	mov	DWORD PTR -4200[rbp], 0
	lea	rdx, -4144[rbp]
	mov	rax, QWORD PTR -4216[rbp]
	lea	rsi, .LC387[rip]
	mov	rdi, rax
	call	strtok_r@PLT
	mov	QWORD PTR -4136[rbp], rax
	jmp	.L866
.L868:
	cmp	DWORD PTR -4200[rbp], 510
	jg	.L867
	mov	eax, DWORD PTR -4200[rbp]
	cdqe
	mov	rdx, QWORD PTR -4136[rbp]
	mov	QWORD PTR -4112[rbp+rax*8], rdx
.L867:
	lea	rax, -4144[rbp]
	mov	rdx, rax
	lea	rsi, .LC387[rip]
	mov	edi, 0
	call	strtok_r@PLT
	mov	QWORD PTR -4136[rbp], rax
	add	DWORD PTR -4200[rbp], 1
.L866:
	cmp	QWORD PTR -4136[rbp], 0
	jne	.L868
	mov	eax, DWORD PTR -4200[rbp]
	cdqe
	mov	QWORD PTR -4112[rbp+rax*8], 0
	cmp	DWORD PTR -4200[rbp], 0
	jle	.L942
	mov	rax, QWORD PTR -4112[rbp]
	lea	rsi, .LC388[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L870
	cmp	DWORD PTR -4200[rbp], 1
	jle	.L871
	mov	rax, QWORD PTR -4104[rbp]
	mov	rdi, rax
	call	open_file
	call	update_title
	jmp	.L860
.L871:
	lea	rdi, .LC389[rip]
	mov	eax, 0
	call	render_error
	jmp	.L860
.L870:
	mov	rax, QWORD PTR -4112[rbp]
	lea	rsi, .LC390[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L873
	cmp	DWORD PTR -4200[rbp], 1
	jle	.L874
	mov	rax, QWORD PTR -4104[rbp]
	mov	rdi, rax
	call	open_file
	call	update_title
	jmp	.L860
.L874:
	call	buffer_new
	mov	QWORD PTR env[rip], rax
	mov	rax, QWORD PTR env[rip]
	mov	rdi, rax
	call	setup_buffer
	call	redraw_all
	call	update_title
	jmp	.L860
.L873:
	mov	rax, QWORD PTR -4112[rbp]
	lea	rsi, .LC391[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L875
	cmp	DWORD PTR -4200[rbp], 1
	jle	.L876
	mov	rax, QWORD PTR -4104[rbp]
	mov	rdi, rax
	call	write_file
	jmp	.L860
.L876:
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	write_file
	jmp	.L860
.L875:
	mov	rax, QWORD PTR -4112[rbp]
	lea	rsi, .LC392[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L877
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	write_file
	call	close_buffer
	jmp	.L860
.L877:
	mov	rax, QWORD PTR -4112[rbp]
	lea	rsi, .LC393[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L878
	mov	rax, QWORD PTR env[rip]
	movzx	eax, BYTE PTR [rax]
	and	eax, 4
	test	al, al
	je	.L879
	lea	rdi, .LC394[rip]
	mov	eax, 0
	call	render_error
	jmp	.L860
.L879:
	call	close_buffer
	jmp	.L860
.L878:
	mov	rax, QWORD PTR -4112[rbp]
	lea	rsi, .LC395[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L880
	call	close_buffer
	jmp	.L860
.L880:
	mov	rax, QWORD PTR -4112[rbp]
	lea	rsi, .LC396[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	je	.L881
	mov	rax, QWORD PTR -4112[rbp]
	lea	rsi, .LC397[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L882
.L881:
	call	try_quit
	jmp	.L860
.L882:
	mov	rax, QWORD PTR -4112[rbp]
	lea	rsi, .LC398[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L883
	call	quit
	jmp	.L860
.L883:
	mov	rax, QWORD PTR -4112[rbp]
	lea	rsi, .LC399[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L884
	call	previous_tab
	call	update_title
	jmp	.L860
.L884:
	mov	rax, QWORD PTR -4112[rbp]
	lea	rsi, .LC400[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L885
	call	next_tab
	call	update_title
	jmp	.L860
.L885:
	mov	rax, QWORD PTR -4112[rbp]
	lea	rsi, .LC401[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L886
	mov	rax, QWORD PTR env[rip]
	movzx	edx, BYTE PTR [rax]
	or	edx, 16
	mov	BYTE PTR [rax], dl
	call	redraw_statusbar
	jmp	.L860
.L886:
	mov	rax, QWORD PTR -4112[rbp]
	lea	rsi, .LC402[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L887
	mov	rax, QWORD PTR env[rip]
	movzx	edx, BYTE PTR [rax]
	and	edx, -17
	mov	BYTE PTR [rax], dl
	call	redraw_statusbar
	jmp	.L860
.L887:
	mov	rax, QWORD PTR -4112[rbp]
	lea	rsi, .LC403[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L888
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 40[rax]
	mov	esi, eax
	lea	rdi, .LC404[rip]
	mov	eax, 0
	call	render_status_message
	jmp	.L860
.L888:
	mov	rax, QWORD PTR -4112[rbp]
	lea	rsi, .LC405[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L889
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 48[rax]
	test	rax, rax
	je	.L860
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 48[rax]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR env[rip]
	mov	QWORD PTR 48[rax], 0
	mov	DWORD PTR -4196[rbp], 0
	jmp	.L890
.L891:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -4196[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -4196[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	recalculate_syntax
	add	DWORD PTR -4196[rbp], 1
.L890:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 28[rax]
	cmp	DWORD PTR -4196[rbp], eax
	jl	.L891
	call	redraw_text
	jmp	.L860
.L889:
	mov	rax, QWORD PTR -4112[rbp]
	lea	rsi, .LC196[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L892
	lea	rdi, .LC351[rip]
	mov	eax, 0
	call	render_commandline_message
	lea	rdi, .LC385[rip]
	mov	eax, 0
	call	render_commandline_message
	lea	rdi, .LC406[rip]
	mov	eax, 0
	call	render_commandline_message
	lea	rdi, .LC385[rip]
	mov	eax, 0
	call	render_commandline_message
	lea	rdi, .LC407[rip]
	mov	eax, 0
	call	render_commandline_message
	lea	rdi, .LC408[rip]
	mov	eax, 0
	call	render_commandline_message
	lea	rdi, .LC409[rip]
	mov	eax, 0
	call	render_commandline_message
	lea	rdi, .LC410[rip]
	mov	eax, 0
	call	render_commandline_message
	lea	rdi, .LC411[rip]
	mov	eax, 0
	call	render_commandline_message
	lea	rdi, .LC412[rip]
	mov	eax, 0
	call	render_commandline_message
	lea	rdi, .LC413[rip]
	mov	eax, 0
	call	render_commandline_message
	lea	rdi, .LC414[rip]
	mov	eax, 0
	call	render_commandline_message
	lea	rdi, .LC415[rip]
	mov	eax, 0
	call	render_commandline_message
	lea	rdi, .LC385[rip]
	mov	eax, 0
	call	render_commandline_message
	lea	rsi, .LC416[rip]
	lea	rdi, .LC417[rip]
	mov	eax, 0
	call	render_commandline_message
	lea	rdi, .LC385[rip]
	mov	eax, 0
	call	render_commandline_message
	call	redraw_tabbar
	call	redraw_commandline
	mov	rax, QWORD PTR stdout[rip]
	mov	rdi, rax
	call	fflush@PLT
	nop
.L893:
	mov	edi, 200
	call	bim_getch_timeout
	mov	DWORD PTR -4152[rbp], eax
	cmp	DWORD PTR -4152[rbp], -1
	je	.L893
	mov	eax, DWORD PTR -4152[rbp]
	mov	edi, eax
	call	bim_unget
	call	redraw_all
	jmp	.L860
.L892:
	mov	rax, QWORD PTR -4112[rbp]
	lea	rsi, .LC262[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L894
	cmp	DWORD PTR -4200[rbp], 1
	jg	.L895
	mov	rax, QWORD PTR current_theme[rip]
	mov	rsi, rax
	lea	rdi, .LC418[rip]
	mov	eax, 0
	call	render_status_message
	jmp	.L860
.L895:
	lea	rax, themes[rip]
	mov	QWORD PTR -4128[rbp], rax
	jmp	.L896
.L898:
	mov	rax, QWORD PTR -4128[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -4104[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L897
	mov	rax, QWORD PTR -4128[rbp]
	mov	rax, QWORD PTR 8[rax]
	call	rax
	call	redraw_all
	jmp	.L860
.L897:
	add	QWORD PTR -4128[rbp], 16
.L896:
	mov	rax, QWORD PTR -4128[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L898
	jmp	.L860
.L894:
	mov	rax, QWORD PTR -4112[rbp]
	lea	rsi, .LC419[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L899
	cmp	DWORD PTR -4200[rbp], 1
	jg	.L900
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 56[rax]
	test	rax, rax
	je	.L901
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 56[rax]
	mov	rax, QWORD PTR [rax]
	jmp	.L902
.L901:
	lea	rax, .LC4[rip]
.L902:
	mov	rsi, rax
	lea	rdi, .LC420[rip]
	mov	eax, 0
	call	render_status_message
	jmp	.L860
.L900:
	mov	rax, QWORD PTR -4104[rbp]
	lea	rsi, .LC4[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L903
	mov	DWORD PTR -4192[rbp], 0
	jmp	.L904
.L907:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -4192[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	DWORD PTR 8[rax], 0
	mov	DWORD PTR -4188[rbp], 0
	jmp	.L905
.L906:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -4192[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -4188[rbp]
	movsx	rdx, edx
	movzx	ecx, WORD PTR 12[rax+rdx*4]
	and	cx, -2033
	mov	WORD PTR 12[rax+rdx*4], cx
	add	DWORD PTR -4188[rbp], 1
.L905:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -4192[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -4188[rbp], eax
	jl	.L906
	add	DWORD PTR -4192[rbp], 1
.L904:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 28[rax]
	cmp	DWORD PTR -4192[rbp], eax
	jl	.L907
	call	redraw_all
	jmp	.L860
.L903:
	lea	rax, syntaxes[rip]
	mov	QWORD PTR -4120[rbp], rax
	jmp	.L908
.L914:
	mov	rax, QWORD PTR -4120[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -4104[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L909
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR -4120[rbp]
	mov	QWORD PTR 56[rax], rdx
	mov	DWORD PTR -4184[rbp], 0
	jmp	.L910
.L911:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -4184[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	DWORD PTR 8[rax], 0
	add	DWORD PTR -4184[rbp], 1
.L910:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 28[rax]
	cmp	DWORD PTR -4184[rbp], eax
	jl	.L911
	mov	DWORD PTR -4180[rbp], 0
	jmp	.L912
.L913:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -4180[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -4180[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	recalculate_syntax
	add	DWORD PTR -4180[rbp], 1
.L912:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 28[rax]
	cmp	DWORD PTR -4180[rbp], eax
	jl	.L913
	call	redraw_all
	jmp	.L860
.L909:
	add	QWORD PTR -4120[rbp], 56
.L908:
	mov	rax, QWORD PTR -4120[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L914
	lea	rdi, .LC421[rip]
	mov	eax, 0
	call	render_error
	jmp	.L860
.L899:
	mov	rax, QWORD PTR -4112[rbp]
	lea	rsi, .LC422[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L915
	mov	DWORD PTR -4176[rbp], 0
	jmp	.L916
.L917:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -4176[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	DWORD PTR 8[rax], 0
	add	DWORD PTR -4176[rbp], 1
.L916:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 28[rax]
	cmp	DWORD PTR -4176[rbp], eax
	jl	.L917
	mov	DWORD PTR -4172[rbp], 0
	jmp	.L918
.L919:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -4172[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -4172[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	recalculate_syntax
	add	DWORD PTR -4172[rbp], 1
.L918:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 28[rax]
	cmp	DWORD PTR -4172[rbp], eax
	jl	.L919
	call	redraw_all
	jmp	.L860
.L915:
	mov	rax, QWORD PTR -4112[rbp]
	lea	rsi, .LC423[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L920
	mov	rax, QWORD PTR env[rip]
	movzx	edx, BYTE PTR [rax]
	or	edx, 2
	mov	BYTE PTR [rax], dl
	call	redraw_statusbar
	jmp	.L860
.L920:
	mov	rax, QWORD PTR -4112[rbp]
	lea	rsi, .LC424[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L921
	mov	rax, QWORD PTR env[rip]
	movzx	edx, BYTE PTR [rax]
	and	edx, -3
	mov	BYTE PTR [rax], dl
	call	redraw_statusbar
	jmp	.L860
.L921:
	mov	rax, QWORD PTR -4112[rbp]
	lea	rsi, .LC425[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L922
	cmp	DWORD PTR -4200[rbp], 1
	jg	.L923
	mov	rax, QWORD PTR env[rip]
	movzx	eax, WORD PTR 4[rax]
	cwde
	mov	esi, eax
	lea	rdi, .LC426[rip]
	mov	eax, 0
	call	render_status_message
	jmp	.L860
.L923:
	mov	rax, QWORD PTR -4104[rbp]
	mov	rdi, rax
	call	atoi@PLT
	mov	DWORD PTR -4156[rbp], eax
	cmp	DWORD PTR -4156[rbp], 0
	jle	.L925
	cmp	DWORD PTR -4156[rbp], 31
	jg	.L925
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR -4156[rbp]
	mov	WORD PTR 4[rax], dx
	mov	DWORD PTR -4168[rbp], 0
	jmp	.L926
.L927:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -4168[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	recalculate_tabs
	add	DWORD PTR -4168[rbp], 1
.L926:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 28[rax]
	cmp	DWORD PTR -4168[rbp], eax
	jl	.L927
	call	redraw_all
	jmp	.L860
.L925:
	mov	rax, QWORD PTR -4104[rbp]
	mov	rsi, rax
	lea	rdi, .LC427[rip]
	mov	eax, 0
	call	render_error
	jmp	.L860
.L922:
	mov	rax, QWORD PTR -4112[rbp]
	lea	rsi, .LC428[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L928
	mov	rax, QWORD PTR global_config[rip+24]
	test	rax, rax
	je	.L860
	mov	DWORD PTR -4164[rbp], 0
	jmp	.L929
.L930:
	mov	rdx, QWORD PTR global_config[rip+24]
	mov	eax, DWORD PTR -4164[rbp]
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	free@PLT
	add	DWORD PTR -4164[rbp], 1
.L929:
	mov	edx, DWORD PTR -4164[rbp]
	mov	rax, QWORD PTR global_config[rip+32]
	cmp	rdx, rax
	jb	.L930
	mov	rax, QWORD PTR global_config[rip+24]
	mov	rdi, rax
	call	free@PLT
	mov	QWORD PTR global_config[rip+24], 0
	mov	QWORD PTR global_config[rip+32], 0
	call	redraw_statusbar
	jmp	.L860
.L928:
	mov	rax, QWORD PTR -4112[rbp]
	lea	rsi, .LC263[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L931
	cmp	DWORD PTR -4200[rbp], 1
	jg	.L932
	mov	eax, DWORD PTR global_config[rip+92]
	mov	esi, eax
	lea	rdi, .LC429[rip]
	mov	eax, 0
	call	render_status_message
	jmp	.L860
.L932:
	mov	rax, QWORD PTR -4104[rbp]
	mov	rdi, rax
	call	atoi@PLT
	mov	DWORD PTR global_config[rip+92], eax
	call	place_cursor_actual
	jmp	.L860
.L931:
	mov	rax, QWORD PTR -4112[rbp]
	lea	rsi, .LC430[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L933
	cmp	DWORD PTR -4200[rbp], 1
	jg	.L934
	mov	eax, DWORD PTR global_config[rip+100]
	mov	esi, eax
	lea	rdi, .LC431[rip]
	mov	eax, 0
	call	render_status_message
	jmp	.L860
.L934:
	mov	rax, QWORD PTR -4104[rbp]
	mov	rdi, rax
	call	atoi@PLT
	mov	DWORD PTR global_config[rip+100], eax
	call	place_cursor_actual
	jmp	.L860
.L933:
	mov	rax, QWORD PTR -4112[rbp]
	lea	rsi, .LC432[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L935
	cmp	DWORD PTR -4200[rbp], 1
	jg	.L936
	mov	eax, DWORD PTR global_config[rip+96]
	mov	esi, eax
	lea	rdi, .LC433[rip]
	mov	eax, 0
	call	render_status_message
	jmp	.L860
.L936:
	mov	rax, QWORD PTR -4104[rbp]
	mov	rdi, rax
	call	atoi@PLT
	mov	DWORD PTR global_config[rip+96], eax
	mov	DWORD PTR -4160[rbp], 0
	jmp	.L937
.L938:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -4160[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -4160[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	recalculate_syntax
	add	DWORD PTR -4160[rbp], 1
.L937:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 28[rax]
	cmp	DWORD PTR -4160[rbp], eax
	jl	.L938
	call	redraw_text
	call	place_cursor_actual
	jmp	.L860
.L935:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -4112[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	rax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 2048
	test	eax, eax
	je	.L939
	mov	rax, QWORD PTR -4112[rbp]
	mov	rdi, rax
	call	atoi@PLT
	mov	edi, eax
	call	goto_line
	jmp	.L860
.L939:
	mov	rax, QWORD PTR -4112[rbp]
	mov	rsi, rax
	lea	rdi, .LC434[rip]
	mov	eax, 0
	call	render_error
	jmp	.L860
.L942:
	nop
.L860:
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L941
	call	__stack_chk_fail@PLT
.L941:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE115:
	.size	process_command, .-process_command
	.section	.rodata
.LC435:
	.string	"/"
.LC436:
	.string	"."
.LC437:
	.string	"%s/%s"
.LC438:
	.string	":%s"
	.text
	.globl	command_tab_complete
	.type	command_tab_complete, @function
command_tab_complete:
.LFB116:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	r12
	push	rbx
	sub	rsp, 1872
	.cfi_offset 12, -24
	.cfi_offset 3, -32
	mov	QWORD PTR -1880[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -24[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -1868[rbp], 0
	mov	rax, QWORD PTR -1880[rbp]
	mov	rdi, rax
	call	strdup@PLT
	mov	QWORD PTR -1672[rbp], rax
	mov	rax, QWORD PTR -1672[rbp]
	mov	QWORD PTR -1744[rbp], rax
	mov	DWORD PTR -1864[rbp], 0
	mov	DWORD PTR -1860[rbp], 4
	mov	eax, DWORD PTR -1860[rbp]
	cdqe
	sal	rax, 3
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -1736[rbp], rax
	jmp	.L944
.L945:
	add	QWORD PTR -1744[rbp], 1
.L944:
	mov	rax, QWORD PTR -1744[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 32
	je	.L945
	mov	rax, QWORD PTR -1744[rbp]
	mov	QWORD PTR -1728[rbp], rax
	mov	rax, QWORD PTR -1728[rbp]
	mov	QWORD PTR -1312[rbp], rax
	jmp	.L946
.L948:
	add	QWORD PTR -1744[rbp], 1
.L946:
	mov	rax, QWORD PTR -1744[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L949
	mov	rax, QWORD PTR -1744[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 32
	jne	.L948
	jmp	.L949
.L951:
	mov	rax, QWORD PTR -1744[rbp]
	mov	BYTE PTR [rax], 0
	add	QWORD PTR -1744[rbp], 1
.L950:
	mov	rax, QWORD PTR -1744[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 32
	je	.L951
	mov	rax, QWORD PTR -1744[rbp]
	mov	QWORD PTR -1728[rbp], rax
	add	DWORD PTR -1868[rbp], 1
	cmp	DWORD PTR -1868[rbp], 31
	jg	.L953
	mov	eax, DWORD PTR -1868[rbp]
	cdqe
	mov	rdx, QWORD PTR -1728[rbp]
	mov	QWORD PTR -1312[rbp+rax*8], rdx
	jmp	.L953
.L954:
	add	QWORD PTR -1744[rbp], 1
.L953:
	mov	rax, QWORD PTR -1744[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L949
	mov	rax, QWORD PTR -1744[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 32
	jne	.L954
.L949:
	mov	rax, QWORD PTR -1744[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L950
	cmp	DWORD PTR -1868[rbp], 0
	jne	.L956
	mov	eax, DWORD PTR -1868[rbp]
	cdqe
	mov	rax, QWORD PTR -1312[rbp+rax*8]
	mov	QWORD PTR -1608[rbp], rax
	mov	rax, QWORD PTR -1608[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -1608[rbp]
	lea	rsi, .LC196[rip]
	mov	rdi, rax
	call	strncmp@PLT
	mov	DWORD PTR -1816[rbp], eax
	cmp	DWORD PTR -1816[rbp], 0
	jne	.L957
	mov	eax, DWORD PTR -1864[rbp]
	cmp	eax, DWORD PTR -1860[rbp]
	jne	.L958
	sal	DWORD PTR -1860[rbp]
	mov	eax, DWORD PTR -1860[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -1736[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	realloc@PLT
	mov	QWORD PTR -1736[rbp], rax
.L958:
	mov	eax, DWORD PTR -1864[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -1736[rbp]
	lea	rbx, [rdx+rax]
	lea	rdi, .LC196[rip]
	call	strdup@PLT
	mov	QWORD PTR [rbx], rax
	add	DWORD PTR -1864[rbp], 1
.L957:
	mov	eax, DWORD PTR -1868[rbp]
	cdqe
	mov	rax, QWORD PTR -1312[rbp+rax*8]
	mov	QWORD PTR -1600[rbp], rax
	mov	rax, QWORD PTR -1600[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -1600[rbp]
	lea	rsi, .LC422[rip]
	mov	rdi, rax
	call	strncmp@PLT
	mov	DWORD PTR -1812[rbp], eax
	cmp	DWORD PTR -1812[rbp], 0
	jne	.L959
	mov	eax, DWORD PTR -1864[rbp]
	cmp	eax, DWORD PTR -1860[rbp]
	jne	.L960
	sal	DWORD PTR -1860[rbp]
	mov	eax, DWORD PTR -1860[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -1736[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	realloc@PLT
	mov	QWORD PTR -1736[rbp], rax
.L960:
	mov	eax, DWORD PTR -1864[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -1736[rbp]
	lea	rbx, [rdx+rax]
	lea	rdi, .LC422[rip]
	call	strdup@PLT
	mov	QWORD PTR [rbx], rax
	add	DWORD PTR -1864[rbp], 1
.L959:
	mov	eax, DWORD PTR -1868[rbp]
	cdqe
	mov	rax, QWORD PTR -1312[rbp+rax*8]
	mov	QWORD PTR -1592[rbp], rax
	mov	rax, QWORD PTR -1592[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -1592[rbp]
	lea	rsi, .LC419[rip]
	mov	rdi, rax
	call	strncmp@PLT
	mov	DWORD PTR -1808[rbp], eax
	cmp	DWORD PTR -1808[rbp], 0
	jne	.L961
	mov	eax, DWORD PTR -1864[rbp]
	cmp	eax, DWORD PTR -1860[rbp]
	jne	.L962
	sal	DWORD PTR -1860[rbp]
	mov	eax, DWORD PTR -1860[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -1736[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	realloc@PLT
	mov	QWORD PTR -1736[rbp], rax
.L962:
	mov	eax, DWORD PTR -1864[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -1736[rbp]
	lea	rbx, [rdx+rax]
	lea	rdi, .LC419[rip]
	call	strdup@PLT
	mov	QWORD PTR [rbx], rax
	add	DWORD PTR -1864[rbp], 1
.L961:
	mov	eax, DWORD PTR -1868[rbp]
	cdqe
	mov	rax, QWORD PTR -1312[rbp+rax*8]
	mov	QWORD PTR -1584[rbp], rax
	mov	rax, QWORD PTR -1584[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -1584[rbp]
	lea	rsi, .LC400[rip]
	mov	rdi, rax
	call	strncmp@PLT
	mov	DWORD PTR -1804[rbp], eax
	cmp	DWORD PTR -1804[rbp], 0
	jne	.L963
	mov	eax, DWORD PTR -1864[rbp]
	cmp	eax, DWORD PTR -1860[rbp]
	jne	.L964
	sal	DWORD PTR -1860[rbp]
	mov	eax, DWORD PTR -1860[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -1736[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	realloc@PLT
	mov	QWORD PTR -1736[rbp], rax
.L964:
	mov	eax, DWORD PTR -1864[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -1736[rbp]
	lea	rbx, [rdx+rax]
	lea	rdi, .LC400[rip]
	call	strdup@PLT
	mov	QWORD PTR [rbx], rax
	add	DWORD PTR -1864[rbp], 1
.L963:
	mov	eax, DWORD PTR -1868[rbp]
	cdqe
	mov	rax, QWORD PTR -1312[rbp+rax*8]
	mov	QWORD PTR -1576[rbp], rax
	mov	rax, QWORD PTR -1576[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -1576[rbp]
	lea	rsi, .LC399[rip]
	mov	rdi, rax
	call	strncmp@PLT
	mov	DWORD PTR -1800[rbp], eax
	cmp	DWORD PTR -1800[rbp], 0
	jne	.L965
	mov	eax, DWORD PTR -1864[rbp]
	cmp	eax, DWORD PTR -1860[rbp]
	jne	.L966
	sal	DWORD PTR -1860[rbp]
	mov	eax, DWORD PTR -1860[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -1736[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	realloc@PLT
	mov	QWORD PTR -1736[rbp], rax
.L966:
	mov	eax, DWORD PTR -1864[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -1736[rbp]
	lea	rbx, [rdx+rax]
	lea	rdi, .LC399[rip]
	call	strdup@PLT
	mov	QWORD PTR [rbx], rax
	add	DWORD PTR -1864[rbp], 1
.L965:
	mov	eax, DWORD PTR -1868[rbp]
	cdqe
	mov	rax, QWORD PTR -1312[rbp+rax*8]
	mov	QWORD PTR -1568[rbp], rax
	mov	rax, QWORD PTR -1568[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -1568[rbp]
	lea	rsi, .LC390[rip]
	mov	rdi, rax
	call	strncmp@PLT
	mov	DWORD PTR -1796[rbp], eax
	cmp	DWORD PTR -1796[rbp], 0
	jne	.L967
	mov	eax, DWORD PTR -1864[rbp]
	cmp	eax, DWORD PTR -1860[rbp]
	jne	.L968
	sal	DWORD PTR -1860[rbp]
	mov	eax, DWORD PTR -1860[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -1736[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	realloc@PLT
	mov	QWORD PTR -1736[rbp], rax
.L968:
	mov	eax, DWORD PTR -1864[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -1736[rbp]
	lea	rbx, [rdx+rax]
	lea	rdi, .LC390[rip]
	call	strdup@PLT
	mov	QWORD PTR [rbx], rax
	add	DWORD PTR -1864[rbp], 1
.L967:
	mov	eax, DWORD PTR -1868[rbp]
	cdqe
	mov	rax, QWORD PTR -1312[rbp+rax*8]
	mov	QWORD PTR -1560[rbp], rax
	mov	rax, QWORD PTR -1560[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -1560[rbp]
	lea	rsi, .LC262[rip]
	mov	rdi, rax
	call	strncmp@PLT
	mov	DWORD PTR -1792[rbp], eax
	cmp	DWORD PTR -1792[rbp], 0
	jne	.L969
	mov	eax, DWORD PTR -1864[rbp]
	cmp	eax, DWORD PTR -1860[rbp]
	jne	.L970
	sal	DWORD PTR -1860[rbp]
	mov	eax, DWORD PTR -1860[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -1736[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	realloc@PLT
	mov	QWORD PTR -1736[rbp], rax
.L970:
	mov	eax, DWORD PTR -1864[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -1736[rbp]
	lea	rbx, [rdx+rax]
	lea	rdi, .LC262[rip]
	call	strdup@PLT
	mov	QWORD PTR [rbx], rax
	add	DWORD PTR -1864[rbp], 1
.L969:
	mov	eax, DWORD PTR -1868[rbp]
	cdqe
	mov	rax, QWORD PTR -1312[rbp+rax*8]
	mov	QWORD PTR -1552[rbp], rax
	mov	rax, QWORD PTR -1552[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -1552[rbp]
	lea	rsi, .LC423[rip]
	mov	rdi, rax
	call	strncmp@PLT
	mov	DWORD PTR -1788[rbp], eax
	cmp	DWORD PTR -1788[rbp], 0
	jne	.L971
	mov	eax, DWORD PTR -1864[rbp]
	cmp	eax, DWORD PTR -1860[rbp]
	jne	.L972
	sal	DWORD PTR -1860[rbp]
	mov	eax, DWORD PTR -1860[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -1736[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	realloc@PLT
	mov	QWORD PTR -1736[rbp], rax
.L972:
	mov	eax, DWORD PTR -1864[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -1736[rbp]
	lea	rbx, [rdx+rax]
	lea	rdi, .LC423[rip]
	call	strdup@PLT
	mov	QWORD PTR [rbx], rax
	add	DWORD PTR -1864[rbp], 1
.L971:
	mov	eax, DWORD PTR -1868[rbp]
	cdqe
	mov	rax, QWORD PTR -1312[rbp+rax*8]
	mov	QWORD PTR -1544[rbp], rax
	mov	rax, QWORD PTR -1544[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -1544[rbp]
	lea	rsi, .LC425[rip]
	mov	rdi, rax
	call	strncmp@PLT
	mov	DWORD PTR -1784[rbp], eax
	cmp	DWORD PTR -1784[rbp], 0
	jne	.L973
	mov	eax, DWORD PTR -1864[rbp]
	cmp	eax, DWORD PTR -1860[rbp]
	jne	.L974
	sal	DWORD PTR -1860[rbp]
	mov	eax, DWORD PTR -1860[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -1736[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	realloc@PLT
	mov	QWORD PTR -1736[rbp], rax
.L974:
	mov	eax, DWORD PTR -1864[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -1736[rbp]
	lea	rbx, [rdx+rax]
	lea	rdi, .LC425[rip]
	call	strdup@PLT
	mov	QWORD PTR [rbx], rax
	add	DWORD PTR -1864[rbp], 1
.L973:
	mov	eax, DWORD PTR -1868[rbp]
	cdqe
	mov	rax, QWORD PTR -1312[rbp+rax*8]
	mov	QWORD PTR -1536[rbp], rax
	mov	rax, QWORD PTR -1536[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -1536[rbp]
	lea	rsi, .LC424[rip]
	mov	rdi, rax
	call	strncmp@PLT
	mov	DWORD PTR -1780[rbp], eax
	cmp	DWORD PTR -1780[rbp], 0
	jne	.L975
	mov	eax, DWORD PTR -1864[rbp]
	cmp	eax, DWORD PTR -1860[rbp]
	jne	.L976
	sal	DWORD PTR -1860[rbp]
	mov	eax, DWORD PTR -1860[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -1736[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	realloc@PLT
	mov	QWORD PTR -1736[rbp], rax
.L976:
	mov	eax, DWORD PTR -1864[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -1736[rbp]
	lea	rbx, [rdx+rax]
	lea	rdi, .LC424[rip]
	call	strdup@PLT
	mov	QWORD PTR [rbx], rax
	add	DWORD PTR -1864[rbp], 1
.L975:
	mov	eax, DWORD PTR -1868[rbp]
	cdqe
	mov	rax, QWORD PTR -1312[rbp+rax*8]
	mov	QWORD PTR -1528[rbp], rax
	mov	rax, QWORD PTR -1528[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -1528[rbp]
	lea	rsi, .LC405[rip]
	mov	rdi, rax
	call	strncmp@PLT
	mov	DWORD PTR -1776[rbp], eax
	cmp	DWORD PTR -1776[rbp], 0
	jne	.L977
	mov	eax, DWORD PTR -1864[rbp]
	cmp	eax, DWORD PTR -1860[rbp]
	jne	.L978
	sal	DWORD PTR -1860[rbp]
	mov	eax, DWORD PTR -1860[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -1736[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	realloc@PLT
	mov	QWORD PTR -1736[rbp], rax
.L978:
	mov	eax, DWORD PTR -1864[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -1736[rbp]
	lea	rbx, [rdx+rax]
	lea	rdi, .LC405[rip]
	call	strdup@PLT
	mov	QWORD PTR [rbx], rax
	add	DWORD PTR -1864[rbp], 1
.L977:
	mov	eax, DWORD PTR -1868[rbp]
	cdqe
	mov	rax, QWORD PTR -1312[rbp+rax*8]
	mov	QWORD PTR -1520[rbp], rax
	mov	rax, QWORD PTR -1520[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -1520[rbp]
	lea	rsi, .LC428[rip]
	mov	rdi, rax
	call	strncmp@PLT
	mov	DWORD PTR -1772[rbp], eax
	cmp	DWORD PTR -1772[rbp], 0
	jne	.L979
	mov	eax, DWORD PTR -1864[rbp]
	cmp	eax, DWORD PTR -1860[rbp]
	jne	.L980
	sal	DWORD PTR -1860[rbp]
	mov	eax, DWORD PTR -1860[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -1736[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	realloc@PLT
	mov	QWORD PTR -1736[rbp], rax
.L980:
	mov	eax, DWORD PTR -1864[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -1736[rbp]
	lea	rbx, [rdx+rax]
	lea	rdi, .LC428[rip]
	call	strdup@PLT
	mov	QWORD PTR [rbx], rax
	add	DWORD PTR -1864[rbp], 1
.L979:
	mov	eax, DWORD PTR -1868[rbp]
	cdqe
	mov	rax, QWORD PTR -1312[rbp+rax*8]
	mov	QWORD PTR -1512[rbp], rax
	mov	rax, QWORD PTR -1512[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -1512[rbp]
	lea	rsi, .LC401[rip]
	mov	rdi, rax
	call	strncmp@PLT
	mov	DWORD PTR -1768[rbp], eax
	cmp	DWORD PTR -1768[rbp], 0
	jne	.L981
	mov	eax, DWORD PTR -1864[rbp]
	cmp	eax, DWORD PTR -1860[rbp]
	jne	.L982
	sal	DWORD PTR -1860[rbp]
	mov	eax, DWORD PTR -1860[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -1736[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	realloc@PLT
	mov	QWORD PTR -1736[rbp], rax
.L982:
	mov	eax, DWORD PTR -1864[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -1736[rbp]
	lea	rbx, [rdx+rax]
	lea	rdi, .LC401[rip]
	call	strdup@PLT
	mov	QWORD PTR [rbx], rax
	add	DWORD PTR -1864[rbp], 1
.L981:
	mov	eax, DWORD PTR -1868[rbp]
	cdqe
	mov	rax, QWORD PTR -1312[rbp+rax*8]
	mov	QWORD PTR -1504[rbp], rax
	mov	rax, QWORD PTR -1504[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -1504[rbp]
	lea	rsi, .LC402[rip]
	mov	rdi, rax
	call	strncmp@PLT
	mov	DWORD PTR -1764[rbp], eax
	cmp	DWORD PTR -1764[rbp], 0
	jne	.L983
	mov	eax, DWORD PTR -1864[rbp]
	cmp	eax, DWORD PTR -1860[rbp]
	jne	.L984
	sal	DWORD PTR -1860[rbp]
	mov	eax, DWORD PTR -1860[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -1736[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	realloc@PLT
	mov	QWORD PTR -1736[rbp], rax
.L984:
	mov	eax, DWORD PTR -1864[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -1736[rbp]
	lea	rbx, [rdx+rax]
	lea	rdi, .LC402[rip]
	call	strdup@PLT
	mov	QWORD PTR [rbx], rax
	add	DWORD PTR -1864[rbp], 1
.L983:
	mov	eax, DWORD PTR -1868[rbp]
	cdqe
	mov	rax, QWORD PTR -1312[rbp+rax*8]
	mov	QWORD PTR -1496[rbp], rax
	mov	rax, QWORD PTR -1496[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -1496[rbp]
	lea	rsi, .LC263[rip]
	mov	rdi, rax
	call	strncmp@PLT
	mov	DWORD PTR -1760[rbp], eax
	cmp	DWORD PTR -1760[rbp], 0
	jne	.L985
	mov	eax, DWORD PTR -1864[rbp]
	cmp	eax, DWORD PTR -1860[rbp]
	jne	.L986
	sal	DWORD PTR -1860[rbp]
	mov	eax, DWORD PTR -1860[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -1736[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	realloc@PLT
	mov	QWORD PTR -1736[rbp], rax
.L986:
	mov	eax, DWORD PTR -1864[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -1736[rbp]
	lea	rbx, [rdx+rax]
	lea	rdi, .LC263[rip]
	call	strdup@PLT
	mov	QWORD PTR [rbx], rax
	add	DWORD PTR -1864[rbp], 1
.L985:
	mov	eax, DWORD PTR -1868[rbp]
	cdqe
	mov	rax, QWORD PTR -1312[rbp+rax*8]
	mov	QWORD PTR -1488[rbp], rax
	mov	rax, QWORD PTR -1488[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -1488[rbp]
	lea	rsi, .LC432[rip]
	mov	rdi, rax
	call	strncmp@PLT
	mov	DWORD PTR -1756[rbp], eax
	cmp	DWORD PTR -1756[rbp], 0
	jne	.L987
	mov	eax, DWORD PTR -1864[rbp]
	cmp	eax, DWORD PTR -1860[rbp]
	jne	.L988
	sal	DWORD PTR -1860[rbp]
	mov	eax, DWORD PTR -1860[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -1736[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	realloc@PLT
	mov	QWORD PTR -1736[rbp], rax
.L988:
	mov	eax, DWORD PTR -1864[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -1736[rbp]
	lea	rbx, [rdx+rax]
	lea	rdi, .LC432[rip]
	call	strdup@PLT
	mov	QWORD PTR [rbx], rax
	add	DWORD PTR -1864[rbp], 1
.L987:
	mov	eax, DWORD PTR -1868[rbp]
	cdqe
	mov	rax, QWORD PTR -1312[rbp+rax*8]
	mov	QWORD PTR -1480[rbp], rax
	mov	rax, QWORD PTR -1480[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -1480[rbp]
	lea	rsi, .LC403[rip]
	mov	rdi, rax
	call	strncmp@PLT
	mov	DWORD PTR -1752[rbp], eax
	cmp	DWORD PTR -1752[rbp], 0
	jne	.L989
	mov	eax, DWORD PTR -1864[rbp]
	cmp	eax, DWORD PTR -1860[rbp]
	jne	.L990
	sal	DWORD PTR -1860[rbp]
	mov	eax, DWORD PTR -1860[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -1736[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	realloc@PLT
	mov	QWORD PTR -1736[rbp], rax
.L990:
	mov	eax, DWORD PTR -1864[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -1736[rbp]
	lea	rbx, [rdx+rax]
	lea	rdi, .LC403[rip]
	call	strdup@PLT
	mov	QWORD PTR [rbx], rax
	add	DWORD PTR -1864[rbp], 1
.L989:
	mov	eax, DWORD PTR -1868[rbp]
	cdqe
	mov	rax, QWORD PTR -1312[rbp+rax*8]
	mov	QWORD PTR -1472[rbp], rax
	mov	rax, QWORD PTR -1472[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -1472[rbp]
	lea	rsi, .LC430[rip]
	mov	rdi, rax
	call	strncmp@PLT
	mov	DWORD PTR -1748[rbp], eax
	cmp	DWORD PTR -1748[rbp], 0
	jne	.L1043
	mov	eax, DWORD PTR -1864[rbp]
	cmp	eax, DWORD PTR -1860[rbp]
	jne	.L992
	sal	DWORD PTR -1860[rbp]
	mov	eax, DWORD PTR -1860[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -1736[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	realloc@PLT
	mov	QWORD PTR -1736[rbp], rax
.L992:
	mov	eax, DWORD PTR -1864[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -1736[rbp]
	lea	rbx, [rdx+rax]
	lea	rdi, .LC430[rip]
	call	strdup@PLT
	mov	QWORD PTR [rbx], rax
	add	DWORD PTR -1864[rbp], 1
	jmp	.L1043
.L956:
	cmp	DWORD PTR -1868[rbp], 1
	jne	.L994
	mov	rax, QWORD PTR -1312[rbp]
	lea	rsi, .LC419[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L994
	mov	eax, DWORD PTR -1868[rbp]
	cdqe
	mov	rax, QWORD PTR -1312[rbp+rax*8]
	mov	QWORD PTR -1664[rbp], rax
	mov	rax, QWORD PTR -1664[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -1664[rbp]
	lea	rsi, .LC4[rip]
	mov	rdi, rax
	call	strncmp@PLT
	mov	DWORD PTR -1832[rbp], eax
	cmp	DWORD PTR -1832[rbp], 0
	jne	.L995
	mov	eax, DWORD PTR -1864[rbp]
	cmp	eax, DWORD PTR -1860[rbp]
	jne	.L996
	sal	DWORD PTR -1860[rbp]
	mov	eax, DWORD PTR -1860[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -1736[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	realloc@PLT
	mov	QWORD PTR -1736[rbp], rax
.L996:
	mov	eax, DWORD PTR -1864[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -1736[rbp]
	lea	rbx, [rdx+rax]
	lea	rdi, .LC4[rip]
	call	strdup@PLT
	mov	QWORD PTR [rbx], rax
	add	DWORD PTR -1864[rbp], 1
.L995:
	lea	rax, syntaxes[rip]
	mov	QWORD PTR -1720[rbp], rax
	jmp	.L997
.L1000:
	mov	eax, DWORD PTR -1868[rbp]
	cdqe
	mov	rax, QWORD PTR -1312[rbp+rax*8]
	mov	QWORD PTR -1656[rbp], rax
	mov	rax, QWORD PTR -1656[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -1720[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -1656[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	strncmp@PLT
	mov	DWORD PTR -1828[rbp], eax
	cmp	DWORD PTR -1828[rbp], 0
	jne	.L998
	mov	eax, DWORD PTR -1864[rbp]
	cmp	eax, DWORD PTR -1860[rbp]
	jne	.L999
	sal	DWORD PTR -1860[rbp]
	mov	eax, DWORD PTR -1860[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -1736[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	realloc@PLT
	mov	QWORD PTR -1736[rbp], rax
.L999:
	mov	rax, QWORD PTR -1720[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -1864[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*8]
	mov	rdx, QWORD PTR -1736[rbp]
	lea	rbx, [rcx+rdx]
	mov	rdi, rax
	call	strdup@PLT
	mov	QWORD PTR [rbx], rax
	add	DWORD PTR -1864[rbp], 1
.L998:
	add	QWORD PTR -1720[rbp], 56
.L997:
	mov	rax, QWORD PTR -1720[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L1000
	jmp	.L993
.L994:
	cmp	DWORD PTR -1868[rbp], 1
	jne	.L1001
	mov	rax, QWORD PTR -1312[rbp]
	lea	rsi, .LC262[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L1001
	lea	rax, themes[rip]
	mov	QWORD PTR -1712[rbp], rax
	jmp	.L1002
.L1005:
	mov	eax, DWORD PTR -1868[rbp]
	cdqe
	mov	rax, QWORD PTR -1312[rbp+rax*8]
	mov	QWORD PTR -1648[rbp], rax
	mov	rax, QWORD PTR -1648[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -1712[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -1648[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	strncmp@PLT
	mov	DWORD PTR -1824[rbp], eax
	cmp	DWORD PTR -1824[rbp], 0
	jne	.L1003
	mov	eax, DWORD PTR -1864[rbp]
	cmp	eax, DWORD PTR -1860[rbp]
	jne	.L1004
	sal	DWORD PTR -1860[rbp]
	mov	eax, DWORD PTR -1860[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -1736[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	realloc@PLT
	mov	QWORD PTR -1736[rbp], rax
.L1004:
	mov	rax, QWORD PTR -1712[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -1864[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*8]
	mov	rdx, QWORD PTR -1736[rbp]
	lea	rbx, [rcx+rdx]
	mov	rdi, rax
	call	strdup@PLT
	mov	QWORD PTR [rbx], rax
	add	DWORD PTR -1864[rbp], 1
.L1003:
	add	QWORD PTR -1712[rbp], 16
.L1002:
	mov	rax, QWORD PTR -1712[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L1005
	jmp	.L993
.L1001:
	cmp	DWORD PTR -1868[rbp], 1
	jne	.L1044
	mov	rax, QWORD PTR -1312[rbp]
	lea	rsi, .LC388[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	je	.L1006
	mov	rax, QWORD PTR -1312[rbp]
	lea	rsi, .LC390[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L1044
.L1006:
	mov	eax, DWORD PTR -1868[rbp]
	cdqe
	mov	rax, QWORD PTR -1312[rbp+rax*8]
	mov	rdi, rax
	call	strdup@PLT
	mov	QWORD PTR -1640[rbp], rax
	mov	rax, QWORD PTR -1640[rbp]
	mov	esi, 47
	mov	rdi, rax
	call	strrchr@PLT
	mov	QWORD PTR -1632[rbp], rax
	cmp	QWORD PTR -1632[rbp], 0
	je	.L1007
	mov	rax, QWORD PTR -1632[rbp]
	mov	BYTE PTR [rax], 0
	mov	rax, QWORD PTR -1632[rbp]
	cmp	rax, QWORD PTR -1640[rbp]
	jne	.L1008
	lea	rdi, .LC435[rip]
	call	opendir@PLT
	mov	QWORD PTR -1704[rbp], rax
	jmp	.L1009
.L1008:
	mov	rax, QWORD PTR -1640[rbp]
	mov	rdi, rax
	call	opendir@PLT
	mov	QWORD PTR -1704[rbp], rax
	jmp	.L1009
.L1007:
	lea	rdi, .LC436[rip]
	call	opendir@PLT
	mov	QWORD PTR -1704[rbp], rax
	mov	rax, QWORD PTR -1640[rbp]
	mov	BYTE PTR [rax], 0
.L1009:
	cmp	QWORD PTR -1704[rbp], 0
	jne	.L1010
	mov	rax, QWORD PTR -1640[rbp]
	mov	rdi, rax
	call	free@PLT
	jmp	.L1011
.L1010:
	mov	rax, QWORD PTR -1704[rbp]
	mov	rdi, rax
	call	readdir@PLT
	mov	QWORD PTR -1696[rbp], rax
	jmp	.L1012
.L1023:
	mov	rax, QWORD PTR -1696[rbp]
	movzx	eax, BYTE PTR 19[rax]
	cmp	al, 46
	jne	.L1013
	cmp	QWORD PTR -1632[rbp], 0
	je	.L1014
	mov	rax, QWORD PTR -1632[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 46
	je	.L1013
	jmp	.L1015
.L1014:
	mov	rax, QWORD PTR -1640[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 46
	jne	.L1015
.L1013:
	cmp	QWORD PTR -1632[rbp], 0
	je	.L1016
	mov	rax, QWORD PTR -1640[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	rbx, rax
	mov	rax, QWORD PTR -1696[rbp]
	add	rax, 19
	mov	rdi, rax
	call	strlen@PLT
	add	rax, rbx
	add	rax, 2
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -1624[rbp], rax
	mov	rax, QWORD PTR -1696[rbp]
	lea	rbx, 19[rax]
	mov	rax, QWORD PTR -1640[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	r12, rax
	mov	rax, QWORD PTR -1696[rbp]
	add	rax, 19
	mov	rdi, rax
	call	strlen@PLT
	add	rax, r12
	lea	rsi, 2[rax]
	mov	rdx, QWORD PTR -1640[rbp]
	mov	rax, QWORD PTR -1624[rbp]
	mov	r8, rbx
	mov	rcx, rdx
	lea	rdx, .LC437[rip]
	mov	rdi, rax
	mov	eax, 0
	call	snprintf@PLT
	lea	rdx, -1456[rbp]
	mov	rax, QWORD PTR -1624[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	stat@PLT
	mov	rax, QWORD PTR -1624[rbp]
	mov	rdi, rax
	call	free@PLT
	jmp	.L1017
.L1016:
	mov	rax, QWORD PTR -1696[rbp]
	lea	rdx, 19[rax]
	lea	rax, -1456[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	call	stat@PLT
.L1017:
	mov	QWORD PTR -1056[rbp], 0
	mov	QWORD PTR -1048[rbp], 0
	lea	rdx, -1040[rbp]
	mov	eax, 0
	mov	ecx, 126
	mov	rdi, rdx
	rep stosq
	mov	rax, QWORD PTR -1632[rbp]
	cmp	rax, QWORD PTR -1640[rbp]
	jne	.L1018
	lea	rax, -1056[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	rdx, rax
	lea	rax, -1056[rbp]
	add	rax, rdx
	mov	WORD PTR [rax], 47
	jmp	.L1019
.L1018:
	mov	rax, QWORD PTR -1640[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L1019
	mov	rdx, QWORD PTR -1640[rbp]
	lea	rax, -1056[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcat@PLT
	lea	rax, -1056[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	rdx, rax
	lea	rax, -1056[rbp]
	add	rax, rdx
	mov	WORD PTR [rax], 47
.L1019:
	mov	rax, QWORD PTR -1696[rbp]
	lea	rdx, 19[rax]
	lea	rax, -1056[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcat@PLT
	mov	eax, DWORD PTR -1432[rbp]
	and	eax, 61440
	cmp	eax, 16384
	jne	.L1020
	lea	rax, -1056[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	rdx, rax
	lea	rax, -1056[rbp]
	add	rax, rdx
	mov	WORD PTR [rax], 47
.L1020:
	mov	eax, DWORD PTR -1868[rbp]
	cdqe
	mov	rax, QWORD PTR -1312[rbp+rax*8]
	mov	QWORD PTR -1616[rbp], rax
	mov	rax, QWORD PTR -1616[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	rdx, rax
	lea	rcx, -1056[rbp]
	mov	rax, QWORD PTR -1616[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	strncmp@PLT
	mov	DWORD PTR -1820[rbp], eax
	cmp	DWORD PTR -1820[rbp], 0
	jne	.L1015
	mov	eax, DWORD PTR -1864[rbp]
	cmp	eax, DWORD PTR -1860[rbp]
	jne	.L1022
	sal	DWORD PTR -1860[rbp]
	mov	eax, DWORD PTR -1860[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -1736[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	realloc@PLT
	mov	QWORD PTR -1736[rbp], rax
.L1022:
	mov	eax, DWORD PTR -1864[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -1736[rbp]
	lea	rbx, [rdx+rax]
	lea	rax, -1056[rbp]
	mov	rdi, rax
	call	strdup@PLT
	mov	QWORD PTR [rbx], rax
	add	DWORD PTR -1864[rbp], 1
.L1015:
	mov	rax, QWORD PTR -1704[rbp]
	mov	rdi, rax
	call	readdir@PLT
	mov	QWORD PTR -1696[rbp], rax
.L1012:
	cmp	QWORD PTR -1696[rbp], 0
	jne	.L1023
	mov	rax, QWORD PTR -1704[rbp]
	mov	rdi, rax
	call	closedir@PLT
	mov	rax, QWORD PTR -1640[rbp]
	mov	rdi, rax
	call	free@PLT
	jmp	.L993
.L1043:
	nop
	jmp	.L993
.L1044:
	nop
.L993:
	cmp	DWORD PTR -1864[rbp], 0
	jne	.L1024
	call	redraw_statusbar
	jmp	.L1011
.L1024:
	cmp	DWORD PTR -1864[rbp], 1
	jne	.L1025
	call	redraw_statusbar
	mov	rax, QWORD PTR -1728[rbp]
	sub	rax, QWORD PTR -1672[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -1880[rbp]
	add	rax, rdx
	mov	QWORD PTR -1688[rbp], rax
	mov	DWORD PTR -1856[rbp], 0
	jmp	.L1026
.L1027:
	mov	rax, QWORD PTR -1736[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -1856[rbp]
	add	rax, rdx
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -1688[rbp]
	mov	BYTE PTR [rax], dl
	add	QWORD PTR -1688[rbp], 1
	add	DWORD PTR -1856[rbp], 1
.L1026:
	mov	ebx, DWORD PTR -1856[rbp]
	mov	rax, QWORD PTR -1736[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	strlen@PLT
	cmp	rbx, rax
	jb	.L1027
	mov	rax, QWORD PTR -1688[rbp]
	mov	BYTE PTR [rax], 0
	jmp	.L1028
.L1025:
	mov	eax, DWORD PTR global_config[rip]
	add	eax, 1
	cdqe
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -1464[rbp], rax
	mov	eax, DWORD PTR global_config[rip]
	add	eax, 1
	movsx	rdx, eax
	mov	rax, QWORD PTR -1464[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	DWORD PTR -1852[rbp], 0
	mov	DWORD PTR -1848[rbp], 0
	jmp	.L1029
.L1033:
	mov	eax, DWORD PTR global_config[rip]
	lea	ebx, -4[rax]
	mov	eax, DWORD PTR -1852[rbp]
	lea	r12d, 1[rax]
	mov	eax, DWORD PTR -1848[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -1736[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	strlen@PLT
	add	eax, r12d
	cmp	ebx, eax
	jg	.L1030
	mov	rax, QWORD PTR -1464[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -1464[rbp]
	add	rax, rdx
	mov	DWORD PTR [rax], 3026478
	jmp	.L1031
.L1030:
	cmp	DWORD PTR -1852[rbp], 0
	jle	.L1032
	mov	rax, QWORD PTR -1464[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -1464[rbp]
	add	rax, rdx
	mov	WORD PTR [rax], 32
	add	DWORD PTR -1852[rbp], 1
.L1032:
	mov	eax, DWORD PTR -1848[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -1736[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -1464[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcat@PLT
	mov	eax, DWORD PTR -1848[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -1736[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	strlen@PLT
	mov	edx, eax
	mov	eax, DWORD PTR -1852[rbp]
	add	eax, edx
	mov	DWORD PTR -1852[rbp], eax
	add	DWORD PTR -1848[rbp], 1
.L1029:
	mov	eax, DWORD PTR -1848[rbp]
	cmp	eax, DWORD PTR -1864[rbp]
	jl	.L1033
.L1031:
	mov	rax, QWORD PTR -1464[rbp]
	mov	rsi, rax
	lea	rdi, .LC354[rip]
	mov	eax, 0
	call	render_status_message
	mov	rax, QWORD PTR -1464[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -1728[rbp]
	sub	rax, QWORD PTR -1672[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -1880[rbp]
	add	rax, rdx
	mov	QWORD PTR -1680[rbp], rax
	mov	DWORD PTR -1844[rbp], 0
	jmp	.L1034
.L1039:
	mov	DWORD PTR -1840[rbp], 1
	jmp	.L1035
.L1038:
	mov	rax, QWORD PTR -1736[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -1844[rbp]
	cdqe
	add	rax, rdx
	movzx	edx, BYTE PTR [rax]
	mov	eax, DWORD PTR -1840[rbp]
	cdqe
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -1736[rbp]
	add	rax, rcx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -1844[rbp]
	cdqe
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	cmp	dl, al
	jne	.L1045
	add	DWORD PTR -1840[rbp], 1
.L1035:
	mov	eax, DWORD PTR -1840[rbp]
	cmp	eax, DWORD PTR -1864[rbp]
	jl	.L1038
	mov	rax, QWORD PTR -1736[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -1844[rbp]
	cdqe
	add	rax, rdx
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -1680[rbp]
	mov	BYTE PTR [rax], dl
	add	QWORD PTR -1680[rbp], 1
	add	DWORD PTR -1844[rbp], 1
.L1034:
	cmp	DWORD PTR -1844[rbp], 1022
	jle	.L1039
	jmp	.L1037
.L1045:
	nop
.L1037:
	mov	rax, QWORD PTR -1680[rbp]
	mov	BYTE PTR [rax], 0
.L1028:
	mov	DWORD PTR -1836[rbp], 0
	jmp	.L1040
.L1041:
	mov	eax, DWORD PTR -1836[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -1736[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	free@PLT
	add	DWORD PTR -1836[rbp], 1
.L1040:
	mov	eax, DWORD PTR -1836[rbp]
	cmp	eax, DWORD PTR -1864[rbp]
	jl	.L1041
	nop
.L1011:
	call	redraw_commandline
	mov	rax, QWORD PTR -1880[rbp]
	mov	rsi, rax
	lea	rdi, .LC438[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -1736[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -1672[rbp]
	mov	rdi, rax
	call	free@PLT
	nop
	mov	rax, QWORD PTR -24[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L1042
	call	__stack_chk_fail@PLT
.L1042:
	add	rsp, 1872
	pop	rbx
	pop	r12
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE116:
	.size	command_tab_complete, .-command_tab_complete
	.globl	command_mode
	.type	command_mode, @function
command_mode:
.LFB117:
	.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
	mov	QWORD PTR -1040[rbp], 0
	mov	QWORD PTR -1032[rbp], 0
	lea	rdx, -1024[rbp]
	mov	eax, 0
	mov	ecx, 126
	mov	rdi, rdx
	rep stosq
	mov	DWORD PTR -1048[rbp], 0
	call	redraw_commandline
	mov	edi, 58
	call	putchar@PLT
	call	show_cursor
	jmp	.L1047
.L1059:
	cmp	DWORD PTR -1044[rbp], -1
	jne	.L1048
	jmp	.L1047
.L1048:
	cmp	DWORD PTR -1044[rbp], 27
	je	.L1061
	cmp	DWORD PTR -1044[rbp], 13
	je	.L1051
	cmp	DWORD PTR -1044[rbp], 10
	jne	.L1052
.L1051:
	lea	rax, -1040[rbp]
	mov	rdi, rax
	call	process_command
	jmp	.L1050
.L1052:
	cmp	DWORD PTR -1044[rbp], 9
	jne	.L1053
	lea	rax, -1040[rbp]
	mov	rdi, rax
	call	command_tab_complete
	lea	rax, -1040[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	DWORD PTR -1048[rbp], eax
	jmp	.L1054
.L1053:
	cmp	DWORD PTR -1044[rbp], 8
	je	.L1055
	cmp	DWORD PTR -1044[rbp], 127
	jne	.L1056
.L1055:
	cmp	DWORD PTR -1048[rbp], 0
	jle	.L1057
	sub	DWORD PTR -1048[rbp], 1
	mov	eax, DWORD PTR -1048[rbp]
	cdqe
	mov	BYTE PTR -1040[rbp+rax], 0
	call	redraw_commandline
	lea	rax, -1040[rbp]
	mov	rsi, rax
	lea	rdi, .LC438[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L1054
.L1057:
	call	redraw_commandline
	jmp	.L1050
.L1056:
	mov	eax, DWORD PTR -1044[rbp]
	mov	edx, eax
	mov	eax, DWORD PTR -1048[rbp]
	cdqe
	mov	BYTE PTR -1040[rbp+rax], dl
	add	DWORD PTR -1048[rbp], 1
	mov	eax, DWORD PTR -1044[rbp]
	mov	edi, eax
	call	putchar@PLT
.L1054:
	call	show_cursor
.L1047:
	mov	edi, 200
	call	bim_getch_timeout
	mov	DWORD PTR -1044[rbp], eax
	cmp	DWORD PTR -1044[rbp], 0
	jne	.L1059
	jmp	.L1050
.L1061:
	nop
.L1050:
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L1060
	call	__stack_chk_fail@PLT
.L1060:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE117:
	.size	command_mode, .-command_mode
	.globl	search_matches
	.type	search_matches, @function
search_matches:
.LFB118:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 24
	.cfi_offset 3, -24
	mov	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -24[rbp], esi
	mov	DWORD PTR -28[rbp], edx
	cmp	DWORD PTR -28[rbp], 0
	jne	.L1063
	mov	eax, DWORD PTR -20[rbp]
	cmp	eax, DWORD PTR -24[rbp]
	sete	al
	movzx	eax, al
	jmp	.L1064
.L1063:
	cmp	DWORD PTR -28[rbp], 1
	jne	.L1065
	mov	eax, DWORD PTR -20[rbp]
	mov	edi, eax
	call	tolower@PLT
	mov	ebx, eax
	mov	eax, DWORD PTR -24[rbp]
	mov	edi, eax
	call	tolower@PLT
	cmp	ebx, eax
	sete	al
	movzx	eax, al
	jmp	.L1064
.L1065:
	mov	eax, 0
.L1064:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE118:
	.size	search_matches, .-search_matches
	.globl	smart_case
	.type	smart_case, @function
smart_case:
.LFB119:
	.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
	mov	eax, DWORD PTR global_config[rip+100]
	test	eax, eax
	jne	.L1067
	mov	eax, 0
	jmp	.L1068
.L1067:
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L1069
.L1071:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	mov	edi, eax
	call	tolower@PLT
	mov	rdx, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR [rdx]
	cmp	eax, edx
	je	.L1070
	mov	eax, 0
	jmp	.L1068
.L1070:
	add	QWORD PTR -8[rbp], 4
.L1069:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jne	.L1071
	mov	eax, 1
.L1068:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE119:
	.size	smart_case, .-smart_case
	.globl	find_match
	.type	find_match, @function
find_match:
.LFB120:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	DWORD PTR -52[rbp], edi
	mov	DWORD PTR -56[rbp], esi
	mov	QWORD PTR -64[rbp], rdx
	mov	QWORD PTR -72[rbp], rcx
	mov	QWORD PTR -80[rbp], r8
	mov	eax, DWORD PTR -56[rbp]
	mov	DWORD PTR -36[rbp], eax
	mov	rax, QWORD PTR -80[rbp]
	mov	rdi, rax
	call	smart_case
	mov	DWORD PTR -20[rbp], eax
	mov	eax, DWORD PTR -52[rbp]
	mov	DWORD PTR -32[rbp], eax
	jmp	.L1073
.L1082:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -32[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	mov	eax, DWORD PTR -36[rbp]
	sub	eax, 1
	mov	DWORD PTR -28[rbp], eax
	jmp	.L1074
.L1081:
	mov	eax, DWORD PTR -28[rbp]
	mov	DWORD PTR -24[rbp], eax
	mov	rax, QWORD PTR -80[rbp]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L1075
.L1080:
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jne	.L1076
	mov	rax, QWORD PTR -64[rbp]
	mov	edx, DWORD PTR -32[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, DWORD PTR -28[rbp]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR [rax], edx
	jmp	.L1072
.L1076:
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -24[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	mov	ecx, eax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	mov	edx, DWORD PTR -20[rbp]
	mov	esi, ecx
	mov	edi, eax
	call	search_matches
	test	eax, eax
	je	.L1083
	add	QWORD PTR -16[rbp], 4
	add	DWORD PTR -24[rbp], 1
.L1075:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -24[rbp], eax
	jle	.L1080
	jmp	.L1079
.L1083:
	nop
.L1079:
	add	DWORD PTR -28[rbp], 1
.L1074:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -28[rbp], eax
	jle	.L1081
	mov	DWORD PTR -36[rbp], 0
	add	DWORD PTR -32[rbp], 1
.L1073:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 28[rax]
	cmp	DWORD PTR -32[rbp], eax
	jle	.L1082
.L1072:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE120:
	.size	find_match, .-find_match
	.globl	find_match_backwards
	.type	find_match_backwards, @function
find_match_backwards:
.LFB121:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	DWORD PTR -52[rbp], edi
	mov	DWORD PTR -56[rbp], esi
	mov	QWORD PTR -64[rbp], rdx
	mov	QWORD PTR -72[rbp], rcx
	mov	QWORD PTR -80[rbp], r8
	mov	eax, DWORD PTR -56[rbp]
	mov	DWORD PTR -36[rbp], eax
	mov	rax, QWORD PTR -80[rbp]
	mov	rdi, rax
	call	smart_case
	mov	DWORD PTR -20[rbp], eax
	mov	eax, DWORD PTR -52[rbp]
	mov	DWORD PTR -32[rbp], eax
	jmp	.L1085
.L1096:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -32[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	mov	eax, DWORD PTR -36[rbp]
	sub	eax, 1
	mov	DWORD PTR -28[rbp], eax
	jmp	.L1086
.L1093:
	mov	eax, DWORD PTR -28[rbp]
	mov	DWORD PTR -24[rbp], eax
	mov	rax, QWORD PTR -80[rbp]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L1087
.L1092:
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jne	.L1088
	mov	rax, QWORD PTR -64[rbp]
	mov	edx, DWORD PTR -32[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, DWORD PTR -28[rbp]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR [rax], edx
	jmp	.L1084
.L1088:
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -24[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	mov	ecx, eax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	mov	edx, DWORD PTR -20[rbp]
	mov	esi, ecx
	mov	edi, eax
	call	search_matches
	test	eax, eax
	je	.L1097
	add	QWORD PTR -16[rbp], 4
	add	DWORD PTR -24[rbp], 1
.L1087:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -24[rbp], eax
	jle	.L1092
	jmp	.L1091
.L1097:
	nop
.L1091:
	sub	DWORD PTR -28[rbp], 1
.L1086:
	cmp	DWORD PTR -28[rbp], 0
	jns	.L1093
	cmp	DWORD PTR -32[rbp], 1
	jle	.L1094
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -32[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 16
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 4[rax]
	jmp	.L1095
.L1094:
	mov	eax, -1
.L1095:
	mov	DWORD PTR -36[rbp], eax
	sub	DWORD PTR -32[rbp], 1
.L1085:
	cmp	DWORD PTR -32[rbp], 0
	jg	.L1096
.L1084:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE121:
	.size	find_match_backwards, .-find_match_backwards
	.section	.rodata
.LC439:
	.string	"?"
	.text
	.globl	draw_search_match
	.type	draw_search_match, @function
draw_search_match:
.LFB122:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	QWORD PTR -88[rbp], rdi
	mov	DWORD PTR -92[rbp], esi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -60[rbp], 0
	jmp	.L1099
.L1102:
	mov	DWORD PTR -56[rbp], 0
	jmp	.L1100
.L1101:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -60[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -56[rbp]
	movsx	rdx, edx
	movzx	eax, WORD PTR 12[rax+rdx*4]
	shr	ax, 4
	mov	edx, eax
	and	edx, 127
	mov	rax, QWORD PTR env[rip]
	mov	rcx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -60[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	ecx, edx
	and	ecx, 95
	mov	edx, DWORD PTR -56[rbp]
	movsx	rdx, edx
	movzx	ecx, cl
	and	ecx, 127
	mov	esi, ecx
	sal	esi, 4
	movzx	ecx, WORD PTR 12[rax+rdx*4]
	and	cx, -2033
	or	ecx, esi
	mov	WORD PTR 12[rax+rdx*4], cx
	add	DWORD PTR -56[rbp], 1
.L1100:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -60[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -56[rbp], eax
	jl	.L1101
	add	DWORD PTR -60[rbp], 1
.L1099:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 28[rax]
	cmp	DWORD PTR -60[rbp], eax
	jl	.L1102
	mov	DWORD PTR -68[rbp], -1
	mov	DWORD PTR -64[rbp], -1
	mov	DWORD PTR -52[rbp], 1
	mov	DWORD PTR -48[rbp], 1
.L1106:
	mov	rdi, QWORD PTR -88[rbp]
	lea	rcx, -64[rbp]
	lea	rdx, -68[rbp]
	mov	esi, DWORD PTR -48[rbp]
	mov	eax, DWORD PTR -52[rbp]
	mov	r8, rdi
	mov	edi, eax
	call	find_match
	mov	eax, DWORD PTR -68[rbp]
	cmp	eax, -1
	je	.L1103
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR -40[rbp], rax
	mov	eax, DWORD PTR -64[rbp]
	mov	DWORD PTR -44[rbp], eax
	jmp	.L1104
.L1105:
	mov	eax, DWORD PTR -44[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	movsx	rdx, edx
	movzx	eax, WORD PTR 12[rax+rdx*4]
	shr	ax, 4
	mov	ecx, eax
	and	ecx, 127
	mov	eax, DWORD PTR -44[rbp]
	lea	edx, -1[rax]
	or	ecx, 32
	mov	rax, QWORD PTR -24[rbp]
	movsx	rdx, edx
	movzx	ecx, cl
	and	ecx, 127
	mov	esi, ecx
	sal	esi, 4
	movzx	ecx, WORD PTR 12[rax+rdx*4]
	and	cx, -2033
	or	ecx, esi
	mov	WORD PTR 12[rax+rdx*4], cx
	add	DWORD PTR -44[rbp], 1
	add	QWORD PTR -40[rbp], 4
.L1104:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jne	.L1105
.L1103:
	mov	eax, DWORD PTR -68[rbp]
	mov	DWORD PTR -52[rbp], eax
	mov	eax, DWORD PTR -64[rbp]
	add	eax, 1
	mov	DWORD PTR -48[rbp], eax
	mov	DWORD PTR -68[rbp], -1
	mov	DWORD PTR -64[rbp], -1
	cmp	DWORD PTR -52[rbp], -1
	jne	.L1106
	call	redraw_text
	call	place_cursor_actual
	call	redraw_statusbar
	call	redraw_commandline
	cmp	DWORD PTR -92[rbp], -1
	je	.L1113
	cmp	DWORD PTR -92[rbp], 1
	jne	.L1108
	lea	rax, .LC435[rip]
	jmp	.L1109
.L1108:
	lea	rax, .LC439[rip]
.L1109:
	mov	rdi, rax
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR -32[rbp], rax
	jmp	.L1110
.L1111:
	mov	DWORD PTR -15[rbp], 0
	mov	WORD PTR -11[rbp], 0
	mov	BYTE PTR -9[rbp], 0
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR [rax]
	lea	rdx, -15[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	to_eight
	lea	rax, -15[rbp]
	mov	rsi, rax
	lea	rdi, .LC354[rip]
	mov	eax, 0
	call	printf@PLT
	add	QWORD PTR -32[rbp], 4
.L1110:
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jne	.L1111
.L1113:
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L1112
	call	__stack_chk_fail@PLT
.L1112:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE122:
	.size	draw_search_match, .-draw_search_match
	.globl	search_mode
	.type	search_mode, @function
search_mode:
.LFB123:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 4096
	or	QWORD PTR [rsp], 0
	sub	rsp, 88
	.cfi_offset 3, -24
	mov	DWORD PTR -4180[rbp], edi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -24[rbp], rax
	xor	eax, eax
	lea	rdx, -4128[rbp]
	mov	eax, 0
	mov	ecx, 512
	mov	rdi, rdx
	rep stosq
	mov	DWORD PTR -4160[rbp], 0
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	mov	DWORD PTR -4148[rbp], eax
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 36[rax]
	mov	DWORD PTR -4144[rbp], eax
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 20[rax]
	mov	DWORD PTR -4140[rbp], eax
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 16[rax]
	mov	DWORD PTR -4136[rbp], eax
	call	redraw_commandline
	cmp	DWORD PTR -4180[rbp], 1
	jne	.L1115
	lea	rax, .LC435[rip]
	jmp	.L1116
.L1115:
	lea	rax, .LC439[rip]
.L1116:
	mov	rdi, rax
	mov	eax, 0
	call	printf@PLT
	call	show_cursor
	mov	DWORD PTR -4172[rbp], 0
	jmp	.L1117
.L1141:
	cmp	DWORD PTR -4132[rbp], -1
	jne	.L1118
	jmp	.L1117
.L1118:
	mov	edx, DWORD PTR -4132[rbp]
	lea	rcx, -4176[rbp]
	lea	rax, -4172[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	decode
	test	eax, eax
	jne	.L1119
	mov	eax, DWORD PTR -4176[rbp]
	cmp	eax, 27
	jne	.L1120
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR -4148[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR -4144[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	DWORD PTR -4156[rbp], 0
	jmp	.L1121
.L1124:
	mov	DWORD PTR -4152[rbp], 0
	jmp	.L1122
.L1123:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -4156[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -4152[rbp]
	movsx	rdx, edx
	movzx	eax, WORD PTR 12[rax+rdx*4]
	shr	ax, 4
	mov	edx, eax
	and	edx, 127
	mov	rax, QWORD PTR env[rip]
	mov	rcx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -4156[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	ecx, edx
	and	ecx, 95
	mov	edx, DWORD PTR -4152[rbp]
	movsx	rdx, edx
	movzx	ecx, cl
	and	ecx, 127
	mov	esi, ecx
	sal	esi, 4
	movzx	ecx, WORD PTR 12[rax+rdx*4]
	and	cx, -2033
	or	ecx, esi
	mov	WORD PTR 12[rax+rdx*4], cx
	add	DWORD PTR -4152[rbp], 1
.L1122:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -4156[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -4152[rbp], eax
	jl	.L1123
	add	DWORD PTR -4156[rbp], 1
.L1121:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 28[rax]
	cmp	DWORD PTR -4156[rbp], eax
	jl	.L1124
	call	redraw_all
	jmp	.L1125
.L1120:
	mov	eax, DWORD PTR -4176[rbp]
	cmp	eax, 13
	je	.L1126
	mov	eax, DWORD PTR -4176[rbp]
	cmp	eax, 10
	jne	.L1127
.L1126:
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 48[rax]
	test	rax, rax
	je	.L1128
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 48[rax]
	mov	rdi, rax
	call	free@PLT
.L1128:
	mov	eax, DWORD PTR -4160[rbp]
	add	eax, 1
	cdqe
	sal	rax, 2
	mov	rbx, QWORD PTR env[rip]
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR 48[rbx], rax
	mov	eax, DWORD PTR -4160[rbp]
	add	eax, 1
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 48[rax]
	lea	rcx, -4128[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
	jmp	.L1125
.L1127:
	mov	eax, DWORD PTR -4176[rbp]
	cmp	eax, 8
	je	.L1129
	mov	eax, DWORD PTR -4176[rbp]
	cmp	eax, 127
	jne	.L1130
.L1129:
	cmp	DWORD PTR -4160[rbp], 0
	jle	.L1131
	sub	DWORD PTR -4160[rbp], 1
	mov	eax, DWORD PTR -4160[rbp]
	cdqe
	mov	DWORD PTR -4128[rbp+rax*4], 0
	mov	DWORD PTR -4168[rbp], -1
	mov	DWORD PTR -4164[rbp], -1
	cmp	DWORD PTR -4180[rbp], 1
	jne	.L1132
	lea	rdi, -4128[rbp]
	lea	rcx, -4164[rbp]
	lea	rdx, -4168[rbp]
	mov	esi, DWORD PTR -4144[rbp]
	mov	eax, DWORD PTR -4148[rbp]
	mov	r8, rdi
	mov	edi, eax
	call	find_match
	jmp	.L1133
.L1132:
	lea	rdi, -4128[rbp]
	lea	rcx, -4164[rbp]
	lea	rdx, -4168[rbp]
	mov	esi, DWORD PTR -4144[rbp]
	mov	eax, DWORD PTR -4148[rbp]
	mov	r8, rdi
	mov	edi, eax
	call	find_match_backwards
.L1133:
	mov	eax, DWORD PTR -4168[rbp]
	cmp	eax, -1
	je	.L1134
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR -4164[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR -4168[rbp]
	mov	DWORD PTR 24[rax], edx
	call	set_preferred_column
.L1134:
	mov	edx, DWORD PTR -4180[rbp]
	lea	rax, -4128[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	draw_search_match
	jmp	.L1136
.L1131:
	call	redraw_commandline
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR -4140[rbp]
	mov	DWORD PTR 20[rax], edx
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR -4136[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR -4144[rbp]
	mov	DWORD PTR 36[rax], edx
	call	set_preferred_column
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR -4148[rbp]
	mov	DWORD PTR 24[rax], edx
	call	redraw_all
	jmp	.L1125
.L1130:
	mov	edx, DWORD PTR -4176[rbp]
	mov	eax, DWORD PTR -4160[rbp]
	cdqe
	mov	DWORD PTR -4128[rbp+rax*4], edx
	add	DWORD PTR -4160[rbp], 1
	mov	eax, DWORD PTR -4160[rbp]
	cdqe
	mov	DWORD PTR -4128[rbp+rax*4], 0
	mov	DWORD PTR -31[rbp], 0
	mov	WORD PTR -27[rbp], 0
	mov	BYTE PTR -25[rbp], 0
	mov	eax, DWORD PTR -4176[rbp]
	lea	rdx, -31[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	to_eight
	lea	rax, -31[rbp]
	mov	rsi, rax
	lea	rdi, .LC354[rip]
	mov	eax, 0
	call	printf@PLT
	mov	DWORD PTR -4168[rbp], -1
	mov	DWORD PTR -4164[rbp], -1
	cmp	DWORD PTR -4180[rbp], 1
	jne	.L1137
	lea	rdi, -4128[rbp]
	lea	rcx, -4164[rbp]
	lea	rdx, -4168[rbp]
	mov	esi, DWORD PTR -4144[rbp]
	mov	eax, DWORD PTR -4148[rbp]
	mov	r8, rdi
	mov	edi, eax
	call	find_match
	jmp	.L1138
.L1137:
	lea	rdi, -4128[rbp]
	lea	rcx, -4164[rbp]
	lea	rdx, -4168[rbp]
	mov	esi, DWORD PTR -4144[rbp]
	mov	eax, DWORD PTR -4148[rbp]
	mov	r8, rdi
	mov	edi, eax
	call	find_match_backwards
.L1138:
	mov	eax, DWORD PTR -4168[rbp]
	cmp	eax, -1
	je	.L1139
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR -4164[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR -4168[rbp]
	mov	DWORD PTR 24[rax], edx
	call	set_preferred_column
	jmp	.L1140
.L1139:
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR -4140[rbp]
	mov	DWORD PTR 20[rax], edx
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR -4136[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR -4144[rbp]
	mov	DWORD PTR 36[rax], edx
	call	set_preferred_column
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR -4148[rbp]
	mov	DWORD PTR 24[rax], edx
.L1140:
	mov	edx, DWORD PTR -4180[rbp]
	lea	rax, -4128[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	draw_search_match
.L1136:
	call	show_cursor
	jmp	.L1117
.L1119:
	mov	eax, DWORD PTR -4172[rbp]
	cmp	eax, 1
	jne	.L1117
	mov	DWORD PTR -4172[rbp], 0
.L1117:
	mov	edi, 200
	call	bim_getch_timeout
	mov	DWORD PTR -4132[rbp], eax
	cmp	DWORD PTR -4132[rbp], 0
	jne	.L1141
.L1125:
	nop
	mov	rax, QWORD PTR -24[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L1142
	call	__stack_chk_fail@PLT
.L1142:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE123:
	.size	search_mode, .-search_mode
	.globl	search_next
	.type	search_next, @function
search_next:
.LFB124:
	.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
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 48[rax]
	test	rax, rax
	je	.L1150
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 20[rax]
	test	eax, eax
	je	.L1146
	mov	rax, QWORD PTR env[rip]
	mov	DWORD PTR 20[rax], 0
.L1146:
	mov	DWORD PTR -16[rbp], -1
	mov	DWORD PTR -12[rbp], -1
	mov	rax, QWORD PTR env[rip]
	mov	rdi, QWORD PTR 48[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 36[rax]
	lea	esi, 1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	lea	rcx, -12[rbp]
	lea	rdx, -16[rbp]
	mov	r8, rdi
	mov	edi, eax
	call	find_match
	mov	eax, DWORD PTR -16[rbp]
	cmp	eax, -1
	jne	.L1147
	mov	rax, QWORD PTR env[rip]
	mov	rcx, QWORD PTR 48[rax]
	lea	rdx, -12[rbp]
	lea	rax, -16[rbp]
	mov	r8, rcx
	mov	rcx, rdx
	mov	rdx, rax
	mov	esi, 1
	mov	edi, 1
	call	find_match
	mov	eax, DWORD PTR -16[rbp]
	cmp	eax, -1
	je	.L1151
.L1147:
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR -12[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR -16[rbp]
	mov	DWORD PTR 24[rax], edx
	call	set_preferred_column
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 48[rax]
	mov	esi, -1
	mov	rdi, rax
	call	draw_search_match
	jmp	.L1143
.L1150:
	nop
	jmp	.L1143
.L1151:
	nop
.L1143:
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L1149
	call	__stack_chk_fail@PLT
.L1149:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE124:
	.size	search_next, .-search_next
	.globl	search_prev
	.type	search_prev, @function
search_prev:
.LFB125:
	.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
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 48[rax]
	test	rax, rax
	je	.L1159
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 20[rax]
	test	eax, eax
	je	.L1155
	mov	rax, QWORD PTR env[rip]
	mov	DWORD PTR 20[rax], 0
.L1155:
	mov	DWORD PTR -16[rbp], -1
	mov	DWORD PTR -12[rbp], -1
	mov	rax, QWORD PTR env[rip]
	mov	rdi, QWORD PTR 48[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 36[rax]
	lea	esi, -1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	lea	rcx, -12[rbp]
	lea	rdx, -16[rbp]
	mov	r8, rdi
	mov	edi, eax
	call	find_match_backwards
	mov	eax, DWORD PTR -16[rbp]
	cmp	eax, -1
	jne	.L1156
	mov	rax, QWORD PTR env[rip]
	mov	rdi, QWORD PTR 48[rax]
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 28[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	esi, DWORD PTR 4[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 28[rax]
	lea	rcx, -12[rbp]
	lea	rdx, -16[rbp]
	mov	r8, rdi
	mov	edi, eax
	call	find_match_backwards
	mov	eax, DWORD PTR -16[rbp]
	cmp	eax, -1
	je	.L1160
.L1156:
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR -12[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR -16[rbp]
	mov	DWORD PTR 24[rax], edx
	call	set_preferred_column
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 48[rax]
	mov	esi, -1
	mov	rdi, rax
	call	draw_search_match
	jmp	.L1152
.L1159:
	nop
	jmp	.L1152
.L1160:
	nop
.L1152:
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L1158
	call	__stack_chk_fail@PLT
.L1158:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE125:
	.size	search_prev, .-search_prev
	.globl	find_matching_paren
	.type	find_matching_paren, @function
find_matching_paren:
.LFB126:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 36[rax]
	mov	rax, QWORD PTR env[rip]
	mov	rcx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 4[rax]
	cmp	edx, eax
	jg	.L1185
	mov	DWORD PTR -32[rbp], 0
	mov	DWORD PTR -28[rbp], 0
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR env[rip]
	mov	edx, DWORD PTR 36[rdx]
	sub	edx, 1
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	mov	DWORD PTR -8[rbp], eax
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR env[rip]
	mov	edx, DWORD PTR 36[rdx]
	sub	edx, 1
	movsx	rdx, edx
	movzx	eax, WORD PTR 12[rax+rdx*4]
	shr	ax, 4
	and	eax, 127
	movzx	eax, al
	and	eax, 15
	mov	DWORD PTR -4[rbp], eax
	mov	DWORD PTR -24[rbp], 0
	mov	DWORD PTR -20[rbp], 0
	jmp	.L1164
.L1171:
	mov	rdx, QWORD PTR paren_pairs[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	cmp	DWORD PTR -8[rbp], eax
	jne	.L1165
	mov	eax, DWORD PTR -20[rbp]
	and	eax, 1
	test	eax, eax
	jne	.L1166
	mov	eax, 1
	jmp	.L1167
.L1166:
	mov	eax, -1
.L1167:
	mov	DWORD PTR -28[rbp], eax
	mov	rdx, QWORD PTR paren_pairs[rip]
	mov	eax, DWORD PTR -20[rbp]
	and	eax, 1
	test	eax, eax
	jne	.L1168
	mov	eax, DWORD PTR -20[rbp]
	add	eax, 1
	cdqe
	jmp	.L1169
.L1168:
	mov	eax, DWORD PTR -20[rbp]
	sub	eax, 1
	cdqe
.L1169:
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	DWORD PTR -32[rbp], eax
	jmp	.L1170
.L1165:
	add	DWORD PTR -20[rbp], 1
.L1164:
	mov	rdx, QWORD PTR paren_pairs[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L1171
.L1170:
	cmp	DWORD PTR -32[rbp], 0
	je	.L1186
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	mov	DWORD PTR -16[rbp], eax
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 36[rax]
	mov	DWORD PTR -12[rbp], eax
	jmp	.L1173
.L1178:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -12[rbp]
	sub	edx, 1
	movsx	rdx, edx
	movzx	eax, WORD PTR 12[rax+rdx*4]
	shr	ax, 4
	and	eax, 127
	movzx	eax, al
	and	eax, 15
	cmp	DWORD PTR -4[rbp], eax
	jne	.L1174
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -12[rbp]
	sub	edx, 1
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	cmp	DWORD PTR -8[rbp], eax
	jne	.L1175
	add	DWORD PTR -24[rbp], 1
.L1175:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -12[rbp]
	sub	edx, 1
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	cmp	DWORD PTR -32[rbp], eax
	jne	.L1174
	sub	DWORD PTR -24[rbp], 1
	cmp	DWORD PTR -24[rbp], 0
	je	.L1187
.L1174:
	mov	eax, DWORD PTR -28[rbp]
	add	DWORD PTR -12[rbp], eax
.L1173:
	cmp	DWORD PTR -12[rbp], 0
	jle	.L1177
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -12[rbp], eax
	jle	.L1178
.L1177:
	mov	eax, DWORD PTR -28[rbp]
	add	DWORD PTR -16[rbp], eax
	cmp	DWORD PTR -16[rbp], 0
	je	.L1188
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 28[rax]
	add	eax, 1
	cmp	DWORD PTR -16[rbp], eax
	je	.L1188
	cmp	DWORD PTR -28[rbp], 0
	jle	.L1181
	mov	DWORD PTR -12[rbp], 1
	jmp	.L1173
.L1181:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 4[rax]
	mov	DWORD PTR -12[rbp], eax
	jmp	.L1173
.L1187:
	nop
.L1176:
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR -16[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -48[rbp]
	mov	edx, DWORD PTR -12[rbp]
	mov	DWORD PTR [rax], edx
	jmp	.L1161
.L1185:
	nop
	jmp	.L1161
.L1186:
	nop
	jmp	.L1161
.L1188:
	nop
.L1161:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE126:
	.size	find_matching_paren, .-find_matching_paren
	.globl	handle_mouse
	.type	handle_mouse, @function
handle_mouse:
.LFB127:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 144
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	edi, 200
	call	bim_getch_timeout
	sub	eax, 32
	mov	DWORD PTR -112[rbp], eax
	mov	edi, 200
	call	bim_getch_timeout
	sub	eax, 32
	mov	DWORD PTR -108[rbp], eax
	mov	edi, 200
	call	bim_getch_timeout
	sub	eax, 32
	mov	DWORD PTR -104[rbp], eax
	cmp	DWORD PTR -112[rbp], 64
	jne	.L1190
	mov	DWORD PTR -144[rbp], 0
	jmp	.L1191
.L1192:
	call	cursor_up
	add	DWORD PTR -144[rbp], 1
.L1191:
	cmp	DWORD PTR -144[rbp], 4
	jle	.L1192
	jmp	.L1189
.L1190:
	cmp	DWORD PTR -112[rbp], 65
	jne	.L1194
	mov	DWORD PTR -140[rbp], 0
	jmp	.L1195
.L1196:
	call	cursor_down
	add	DWORD PTR -140[rbp], 1
.L1195:
	cmp	DWORD PTR -140[rbp], 4
	jle	.L1196
	jmp	.L1189
.L1194:
	cmp	DWORD PTR -112[rbp], 3
	jne	.L1214
	cmp	DWORD PTR -108[rbp], 0
	js	.L1215
	cmp	DWORD PTR -104[rbp], 0
	js	.L1216
	cmp	DWORD PTR -104[rbp], 1
	jne	.L1200
	mov	DWORD PTR -136[rbp], 0
	mov	DWORD PTR -132[rbp], 0
	jmp	.L1201
.L1203:
	mov	rdx, QWORD PTR buffers[rip]
	mov	eax, DWORD PTR -132[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -88[rbp], rax
	lea	rdx, -80[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	draw_tab_name
	add	DWORD PTR -136[rbp], eax
	mov	eax, DWORD PTR -136[rbp]
	cmp	eax, DWORD PTR -108[rbp]
	jl	.L1202
	mov	rdx, QWORD PTR buffers[rip]
	mov	eax, DWORD PTR -132[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR env[rip], rax
	call	redraw_all
	jmp	.L1189
.L1202:
	add	DWORD PTR -132[rbp], 1
.L1201:
	mov	eax, DWORD PTR buffers_len[rip]
	cmp	DWORD PTR -132[rbp], eax
	jl	.L1203
	jmp	.L1189
.L1200:
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 16[rax]
	mov	eax, DWORD PTR -104[rbp]
	add	eax, edx
	sub	eax, 1
	mov	DWORD PTR -128[rbp], eax
	mov	DWORD PTR -124[rbp], -1
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 28[rax]
	cmp	DWORD PTR -128[rbp], eax
	jle	.L1204
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 28[rax]
	mov	DWORD PTR -128[rbp], eax
.L1204:
	call	num_width
	add	eax, 3
	mov	DWORD PTR -100[rbp], eax
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -128[rbp], eax
	jne	.L1205
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 20[rax]
	jmp	.L1206
.L1205:
	mov	edx, 0
.L1206:
	mov	eax, DWORD PTR -100[rbp]
	sub	eax, edx
	mov	DWORD PTR -120[rbp], eax
	mov	DWORD PTR -116[rbp], 0
	jmp	.L1207
.L1210:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -128[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -116[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	add	rax, 12
	mov	QWORD PTR -96[rbp], rax
	mov	rax, QWORD PTR -96[rbp]
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	movzx	eax, al
	add	DWORD PTR -120[rbp], eax
	mov	eax, DWORD PTR -108[rbp]
	cmp	eax, DWORD PTR -120[rbp]
	jg	.L1208
	mov	eax, DWORD PTR -116[rbp]
	add	eax, 1
	mov	DWORD PTR -124[rbp], eax
	jmp	.L1209
.L1208:
	add	DWORD PTR -116[rbp], 1
.L1207:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -128[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -116[rbp], eax
	jl	.L1210
.L1209:
	cmp	DWORD PTR -124[rbp], -1
	je	.L1211
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -128[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -124[rbp], eax
	jle	.L1212
.L1211:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -128[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 4[rax]
	mov	DWORD PTR -124[rbp], eax
.L1212:
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR -128[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR -124[rbp]
	mov	DWORD PTR 36[rax], edx
	call	set_preferred_column
	call	place_cursor_actual
.L1214:
	nop
	jmp	.L1189
.L1215:
	nop
	jmp	.L1189
.L1216:
	nop
.L1189:
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L1213
	call	__stack_chk_fail@PLT
.L1213:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE127:
	.size	handle_mouse, .-handle_mouse
	.section	.rodata
.LC440:
	.string	"Inserted nil byte?"
	.text
	.globl	insert_char
	.type	insert_char, @function
insert_char:
.LFB128:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	DWORD PTR -36[rbp], edi
	cmp	DWORD PTR -36[rbp], 0
	jne	.L1218
	lea	rdi, .LC440[rip]
	mov	eax, 0
	call	render_error
	jmp	.L1217
.L1218:
	mov	eax, DWORD PTR -36[rbp]
	and	eax, 2097151
	sal	eax, 11
	mov	edx, eax
	mov	eax, DWORD PTR -20[rbp]
	and	eax, 2047
	or	eax, edx
	mov	DWORD PTR -20[rbp], eax
	movzx	eax, WORD PTR -20[rbp]
	and	ax, -2033
	mov	WORD PTR -20[rbp], ax
	mov	eax, DWORD PTR -36[rbp]
	mov	edi, eax
	call	codepoint_width
	and	eax, 15
	and	eax, 15
	mov	edx, eax
	movzx	eax, BYTE PTR -20[rbp]
	and	eax, -16
	or	eax, edx
	mov	BYTE PTR -20[rbp], al
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	lea	ecx, -1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, -1[rax]
	mov	esi, DWORD PTR -20[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	line_insert
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	cmp	rax, QWORD PTR -8[rbp]
	je	.L1220
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rdx], rax
.L1220:
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 36[rax]
	mov	rax, QWORD PTR env[rip]
	add	edx, 1
	mov	DWORD PTR 36[rax], edx
	call	set_modified
.L1217:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE128:
	.size	insert_char, .-insert_char
	.globl	replace_char
	.type	replace_char, @function
replace_char:
.LFB129:
	.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	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 36[rax]
	test	eax, eax
	jle	.L1225
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 36[rax]
	mov	rax, QWORD PTR env[rip]
	mov	rcx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 4[rax]
	cmp	edx, eax
	jg	.L1225
	mov	eax, DWORD PTR -20[rbp]
	and	eax, 2097151
	sal	eax, 11
	mov	edx, eax
	mov	eax, DWORD PTR -4[rbp]
	and	eax, 2047
	or	eax, edx
	mov	DWORD PTR -4[rbp], eax
	movzx	eax, WORD PTR -4[rbp]
	and	ax, -2033
	mov	WORD PTR -4[rbp], ax
	mov	eax, DWORD PTR -20[rbp]
	mov	edi, eax
	call	codepoint_width
	and	eax, 15
	and	eax, 15
	mov	edx, eax
	movzx	eax, BYTE PTR -4[rbp]
	and	eax, -16
	or	eax, edx
	mov	BYTE PTR -4[rbp], al
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	lea	ecx, -1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	rsi, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rsi
	mov	rax, QWORD PTR [rax]
	mov	esi, DWORD PTR -4[rbp]
	mov	rdi, rax
	call	line_replace
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	ecx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR env[rip]
	mov	esi, DWORD PTR 16[rax]
	mov	eax, ecx
	sub	eax, esi
	sub	eax, 1
	mov	esi, edx
	mov	edi, eax
	call	redraw_line
	call	set_modified
	jmp	.L1221
.L1225:
	nop
.L1221:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE129:
	.size	replace_char, .-replace_char
	.section	.rodata
.LC441:
	.string	"Already at oldest change"
.LC442:
	.string	"Unknown type %d!\n"
.LC443:
	.string	"s"
	.align 8
.LC444:
	.string	"%d character%s, %d line%s changed"
	.text
	.globl	undo_history
	.type	undo_history, @function
undo_history:
.LFB130:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 40
	.cfi_offset 3, -24
	mov	eax, DWORD PTR global_config[rip+88]
	test	eax, eax
	je	.L1255
	mov	rax, QWORD PTR env[rip]
	movzx	edx, BYTE PTR [rax]
	or	edx, 1
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 72[rax]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jne	.L1229
	mov	rax, QWORD PTR env[rip]
	movzx	edx, BYTE PTR [rax]
	and	edx, -2
	mov	BYTE PTR [rax], dl
	lea	rdi, .LC441[rip]
	mov	eax, 0
	call	render_commandline_message
	jmp	.L1226
.L1229:
	mov	DWORD PTR -44[rbp], 0
	mov	DWORD PTR -40[rbp], 0
.L1244:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	je	.L1256
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	cmp	eax, 10
	ja	.L1232
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L1234[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L1234[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L1234:
	.long	.L1232-.L1234
	.long	.L1242-.L1234
	.long	.L1241-.L1234
	.long	.L1240-.L1234
	.long	.L1239-.L1234
	.long	.L1238-.L1234
	.long	.L1237-.L1234
	.long	.L1236-.L1234
	.long	.L1235-.L1234
	.long	.L1232-.L1234
	.long	.L1257-.L1234
	.text
.L1242:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 28[rax]
	lea	ecx, 1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	rsi, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	add	rax, rsi
	mov	rax, QWORD PTR [rax]
	mov	esi, ecx
	mov	rdi, rax
	call	line_delete
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR env[rip]
	add	edx, 1
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 28[rax]
	mov	rax, QWORD PTR env[rip]
	add	edx, 1
	mov	DWORD PTR 36[rax], edx
	add	DWORD PTR -44[rbp], 1
	jmp	.L1243
.L1241:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 36[rax]
	mov	edi, eax
	call	codepoint_width
	and	eax, 15
	and	eax, 15
	mov	edx, eax
	movzx	eax, BYTE PTR -28[rbp]
	and	eax, -16
	or	eax, edx
	mov	BYTE PTR -28[rbp], al
	movzx	eax, WORD PTR -28[rbp]
	and	ax, -2033
	mov	WORD PTR -28[rbp], ax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 36[rax]
	and	eax, 2097151
	sal	eax, 11
	mov	edx, eax
	mov	eax, DWORD PTR -28[rbp]
	and	eax, 2047
	or	eax, edx
	mov	DWORD PTR -28[rbp], eax
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 28[rax]
	lea	edi, -1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	rcx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	rcx, QWORD PTR env[rip]
	mov	rsi, QWORD PTR 64[rcx]
	mov	rcx, QWORD PTR -24[rbp]
	mov	ecx, DWORD PTR 24[rcx]
	movsx	rcx, ecx
	sal	rcx, 3
	lea	rbx, [rsi+rcx]
	mov	esi, DWORD PTR -28[rbp]
	mov	ecx, edx
	mov	edx, edi
	mov	rdi, rax
	call	line_insert
	mov	QWORD PTR [rbx], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR env[rip]
	add	edx, 1
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 28[rax]
	mov	rax, QWORD PTR env[rip]
	add	edx, 2
	mov	DWORD PTR 36[rax], edx
	add	DWORD PTR -44[rbp], 1
	jmp	.L1243
.L1240:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 36[rax]
	mov	edi, eax
	call	codepoint_width
	and	eax, 15
	and	eax, 15
	mov	edx, eax
	movzx	eax, BYTE PTR -28[rbp]
	and	eax, -16
	or	eax, edx
	mov	BYTE PTR -28[rbp], al
	movzx	eax, WORD PTR -28[rbp]
	and	ax, -2033
	mov	WORD PTR -28[rbp], ax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 36[rax]
	and	eax, 2097151
	sal	eax, 11
	mov	edx, eax
	mov	eax, DWORD PTR -28[rbp]
	and	eax, 2047
	or	eax, edx
	mov	DWORD PTR -28[rbp], eax
	mov	rax, QWORD PTR -24[rbp]
	mov	ecx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 28[rax]
	mov	rax, QWORD PTR env[rip]
	mov	rsi, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	add	rax, rsi
	mov	rax, QWORD PTR [rax]
	mov	esi, DWORD PTR -28[rbp]
	mov	rdi, rax
	call	line_replace
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR env[rip]
	add	edx, 1
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 28[rax]
	mov	rax, QWORD PTR env[rip]
	add	edx, 1
	mov	DWORD PTR 36[rax], edx
	add	DWORD PTR -44[rbp], 1
	jmp	.L1243
.L1239:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 64[rax]
	mov	rbx, QWORD PTR env[rip]
	mov	esi, edx
	mov	rdi, rax
	call	add_line
	mov	QWORD PTR 64[rbx], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 40[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	ecx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 64[rax]
	mov	esi, ecx
	mov	rdi, rax
	call	replace_line
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR env[rip]
	add	edx, 2
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR env[rip]
	mov	DWORD PTR 36[rax], 1
	add	DWORD PTR -40[rbp], 1
	jmp	.L1243
.L1238:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 64[rax]
	mov	rbx, QWORD PTR env[rip]
	mov	esi, edx
	mov	rdi, rax
	call	remove_line
	mov	QWORD PTR 64[rbx], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR env[rip]
	add	edx, 1
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR env[rip]
	mov	DWORD PTR 36[rax], 1
	add	DWORD PTR -40[rbp], 1
	jmp	.L1243
.L1237:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 40[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	ecx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 64[rax]
	mov	esi, ecx
	mov	rdi, rax
	call	replace_line
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR env[rip]
	add	edx, 1
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR env[rip]
	mov	DWORD PTR 36[rax], 1
	add	DWORD PTR -40[rbp], 1
	jmp	.L1243
.L1235:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 24[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 64[rax]
	mov	rbx, QWORD PTR env[rip]
	mov	esi, edx
	mov	rdi, rax
	call	merge_lines
	mov	QWORD PTR 64[rbx], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR env[rip]
	add	edx, 2
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR env[rip]
	mov	DWORD PTR 36[rax], 1
	add	DWORD PTR -40[rbp], 1
	jmp	.L1243
.L1236:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 28[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 24[rax]
	lea	ecx, -1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 64[rax]
	mov	rbx, QWORD PTR env[rip]
	mov	esi, ecx
	mov	rdi, rax
	call	split_line
	mov	QWORD PTR 64[rbx], rax
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 24[rdx]
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR env[rip]
	mov	DWORD PTR 36[rax], 1
	add	DWORD PTR -40[rbp], 1
	jmp	.L1243
.L1232:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	mov	esi, eax
	lea	rdi, .LC442[rip]
	mov	eax, 0
	call	render_error
	jmp	.L1243
.L1257:
	nop
.L1243:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rdx]
	mov	QWORD PTR 72[rax], rdx
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 72[rax]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	cmp	eax, 10
	jne	.L1244
	jmp	.L1231
.L1256:
	nop
.L1231:
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 28[rax]
	cmp	edx, eax
	jle	.L1245
	mov	rdx, QWORD PTR env[rip]
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 28[rdx]
	mov	DWORD PTR 24[rax], edx
.L1245:
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 36[rax]
	mov	rax, QWORD PTR env[rip]
	mov	rcx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 4[rax]
	cmp	edx, eax
	jle	.L1246
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 4[rdx]
	mov	DWORD PTR 36[rax], edx
.L1246:
	mov	rax, QWORD PTR env[rip]
	mov	rcx, QWORD PTR 72[rax]
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 80[rax]
	mov	rax, QWORD PTR env[rip]
	cmp	rcx, rdx
	setne	dl
	and	edx, 1
	lea	ecx, 0[0+rdx*4]
	movzx	edx, BYTE PTR [rax]
	and	edx, -5
	or	edx, ecx
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR env[rip]
	movzx	edx, BYTE PTR [rax]
	and	edx, -2
	mov	BYTE PTR [rax], dl
	mov	DWORD PTR -36[rbp], 0
	jmp	.L1247
.L1248:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	DWORD PTR 8[rax], 0
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	recalculate_tabs
	add	DWORD PTR -36[rbp], 1
.L1247:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 28[rax]
	cmp	DWORD PTR -36[rbp], eax
	jl	.L1248
	mov	DWORD PTR -32[rbp], 0
	jmp	.L1249
.L1250:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -32[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -32[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	recalculate_syntax
	add	DWORD PTR -32[rbp], 1
.L1249:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 28[rax]
	cmp	DWORD PTR -32[rbp], eax
	jl	.L1250
	call	place_cursor_actual
	call	update_title
	call	redraw_all
	cmp	DWORD PTR -40[rbp], 1
	jne	.L1251
	lea	rdx, .LC351[rip]
	jmp	.L1252
.L1251:
	lea	rdx, .LC443[rip]
.L1252:
	cmp	DWORD PTR -44[rbp], 1
	jne	.L1253
	lea	rax, .LC351[rip]
	jmp	.L1254
.L1253:
	lea	rax, .LC443[rip]
.L1254:
	mov	ecx, DWORD PTR -40[rbp]
	mov	esi, DWORD PTR -44[rbp]
	mov	r8, rdx
	mov	rdx, rax
	lea	rdi, .LC444[rip]
	mov	eax, 0
	call	render_commandline_message
	jmp	.L1226
.L1255:
	nop
.L1226:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE130:
	.size	undo_history, .-undo_history
	.section	.rodata
.LC445:
	.string	"Already at newest change"
	.text
	.globl	redo_history
	.type	redo_history, @function
redo_history:
.LFB131:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 40
	.cfi_offset 3, -24
	mov	eax, DWORD PTR global_config[rip+88]
	test	eax, eax
	je	.L1288
	mov	rax, QWORD PTR env[rip]
	movzx	edx, BYTE PTR [rax]
	or	edx, 1
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 72[rax]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	jne	.L1261
	mov	rax, QWORD PTR env[rip]
	movzx	edx, BYTE PTR [rax]
	and	edx, -2
	mov	BYTE PTR [rax], dl
	lea	rdi, .LC445[rip]
	mov	eax, 0
	call	render_commandline_message
	jmp	.L1258
.L1261:
	mov	DWORD PTR -44[rbp], 0
	mov	DWORD PTR -40[rbp], 0
	jmp	.L1262
.L1277:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	cmp	eax, 10
	jne	.L1263
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 72[rax], rdx
	jmp	.L1264
.L1263:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	cmp	eax, 10
	ja	.L1265
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L1267[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L1267[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L1267:
	.long	.L1265-.L1267
	.long	.L1275-.L1267
	.long	.L1274-.L1267
	.long	.L1273-.L1267
	.long	.L1272-.L1267
	.long	.L1271-.L1267
	.long	.L1270-.L1267
	.long	.L1269-.L1267
	.long	.L1268-.L1267
	.long	.L1265-.L1267
	.long	.L1289-.L1267
	.text
.L1275:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 32[rax]
	mov	edi, eax
	call	codepoint_width
	and	eax, 15
	and	eax, 15
	mov	edx, eax
	movzx	eax, BYTE PTR -28[rbp]
	and	eax, -16
	or	eax, edx
	mov	BYTE PTR -28[rbp], al
	movzx	eax, WORD PTR -28[rbp]
	and	ax, -2033
	mov	WORD PTR -28[rbp], ax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 32[rax]
	and	eax, 2097151
	sal	eax, 11
	mov	edx, eax
	mov	eax, DWORD PTR -28[rbp]
	and	eax, 2047
	or	eax, edx
	mov	DWORD PTR -28[rbp], eax
	mov	rax, QWORD PTR -24[rbp]
	mov	ecx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 28[rax]
	mov	rax, QWORD PTR env[rip]
	mov	rsi, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	add	rax, rsi
	mov	rax, QWORD PTR [rax]
	mov	rsi, QWORD PTR env[rip]
	mov	rdi, QWORD PTR 64[rsi]
	mov	rsi, QWORD PTR -24[rbp]
	mov	esi, DWORD PTR 24[rsi]
	movsx	rsi, esi
	sal	rsi, 3
	lea	rbx, [rdi+rsi]
	mov	esi, DWORD PTR -28[rbp]
	mov	rdi, rax
	call	line_insert
	mov	QWORD PTR [rbx], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR env[rip]
	add	edx, 1
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 28[rax]
	mov	rax, QWORD PTR env[rip]
	add	edx, 2
	mov	DWORD PTR 36[rax], edx
	add	DWORD PTR -44[rbp], 1
	jmp	.L1276
.L1274:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	ecx, DWORD PTR 28[rax]
	mov	rax, QWORD PTR env[rip]
	mov	rsi, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	add	rax, rsi
	mov	rax, QWORD PTR [rax]
	mov	esi, ecx
	mov	rdi, rax
	call	line_delete
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR env[rip]
	add	edx, 1
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 28[rax]
	mov	rax, QWORD PTR env[rip]
	add	edx, 1
	mov	DWORD PTR 36[rax], edx
	add	DWORD PTR -44[rbp], 1
	jmp	.L1276
.L1273:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 32[rax]
	mov	edi, eax
	call	codepoint_width
	and	eax, 15
	and	eax, 15
	mov	edx, eax
	movzx	eax, BYTE PTR -28[rbp]
	and	eax, -16
	or	eax, edx
	mov	BYTE PTR -28[rbp], al
	movzx	eax, WORD PTR -28[rbp]
	and	ax, -2033
	mov	WORD PTR -28[rbp], ax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 32[rax]
	and	eax, 2097151
	sal	eax, 11
	mov	edx, eax
	mov	eax, DWORD PTR -28[rbp]
	and	eax, 2047
	or	eax, edx
	mov	DWORD PTR -28[rbp], eax
	mov	rax, QWORD PTR -24[rbp]
	mov	ecx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 28[rax]
	mov	rax, QWORD PTR env[rip]
	mov	rsi, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	add	rax, rsi
	mov	rax, QWORD PTR [rax]
	mov	esi, DWORD PTR -28[rbp]
	mov	rdi, rax
	call	line_replace
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR env[rip]
	add	edx, 1
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 28[rax]
	mov	rax, QWORD PTR env[rip]
	add	edx, 2
	mov	DWORD PTR 36[rax], edx
	add	DWORD PTR -44[rbp], 1
	jmp	.L1276
.L1271:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 64[rax]
	mov	rbx, QWORD PTR env[rip]
	mov	esi, edx
	mov	rdi, rax
	call	add_line
	mov	QWORD PTR 64[rbx], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR env[rip]
	add	edx, 2
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR env[rip]
	mov	DWORD PTR 36[rax], 1
	add	DWORD PTR -40[rbp], 1
	jmp	.L1276
.L1272:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 64[rax]
	mov	rbx, QWORD PTR env[rip]
	mov	esi, edx
	mov	rdi, rax
	call	remove_line
	mov	QWORD PTR 64[rbx], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR env[rip]
	add	edx, 1
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR env[rip]
	mov	DWORD PTR 36[rax], 1
	add	DWORD PTR -40[rbp], 1
	jmp	.L1276
.L1270:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	ecx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 64[rax]
	mov	esi, ecx
	mov	rdi, rax
	call	replace_line
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR env[rip]
	add	edx, 2
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR env[rip]
	mov	DWORD PTR 36[rax], 1
	add	DWORD PTR -40[rbp], 1
	jmp	.L1276
.L1269:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 64[rax]
	mov	rbx, QWORD PTR env[rip]
	mov	esi, edx
	mov	rdi, rax
	call	merge_lines
	mov	QWORD PTR 64[rbx], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR env[rip]
	add	edx, 1
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR env[rip]
	mov	DWORD PTR 36[rax], 1
	add	DWORD PTR -40[rbp], 1
	jmp	.L1276
.L1268:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 28[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	ecx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 64[rax]
	mov	rbx, QWORD PTR env[rip]
	mov	esi, ecx
	mov	rdi, rax
	call	split_line
	mov	QWORD PTR 64[rbx], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR env[rip]
	add	edx, 2
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR env[rip]
	mov	DWORD PTR 36[rax], 1
	add	DWORD PTR -40[rbp], 1
	jmp	.L1276
.L1265:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	mov	esi, eax
	lea	rdi, .LC442[rip]
	mov	eax, 0
	call	render_error
	jmp	.L1276
.L1289:
	nop
.L1276:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 72[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -24[rbp], rax
.L1262:
	cmp	QWORD PTR -24[rbp], 0
	jne	.L1277
.L1264:
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 28[rax]
	cmp	edx, eax
	jle	.L1278
	mov	rdx, QWORD PTR env[rip]
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 28[rdx]
	mov	DWORD PTR 24[rax], edx
.L1278:
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 36[rax]
	mov	rax, QWORD PTR env[rip]
	mov	rcx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 4[rax]
	cmp	edx, eax
	jle	.L1279
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 4[rdx]
	mov	DWORD PTR 36[rax], edx
.L1279:
	mov	rax, QWORD PTR env[rip]
	mov	rcx, QWORD PTR 72[rax]
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 80[rax]
	mov	rax, QWORD PTR env[rip]
	cmp	rcx, rdx
	setne	dl
	and	edx, 1
	lea	ecx, 0[0+rdx*4]
	movzx	edx, BYTE PTR [rax]
	and	edx, -5
	or	edx, ecx
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR env[rip]
	movzx	edx, BYTE PTR [rax]
	and	edx, -2
	mov	BYTE PTR [rax], dl
	mov	DWORD PTR -36[rbp], 0
	jmp	.L1280
.L1281:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	DWORD PTR 8[rax], 0
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	recalculate_tabs
	add	DWORD PTR -36[rbp], 1
.L1280:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 28[rax]
	cmp	DWORD PTR -36[rbp], eax
	jl	.L1281
	mov	DWORD PTR -32[rbp], 0
	jmp	.L1282
.L1283:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -32[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -32[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	recalculate_syntax
	add	DWORD PTR -32[rbp], 1
.L1282:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 28[rax]
	cmp	DWORD PTR -32[rbp], eax
	jl	.L1283
	call	place_cursor_actual
	call	update_title
	call	redraw_all
	cmp	DWORD PTR -40[rbp], 1
	jne	.L1284
	lea	rdx, .LC351[rip]
	jmp	.L1285
.L1284:
	lea	rdx, .LC443[rip]
.L1285:
	cmp	DWORD PTR -44[rbp], 1
	jne	.L1286
	lea	rax, .LC351[rip]
	jmp	.L1287
.L1286:
	lea	rax, .LC443[rip]
.L1287:
	mov	ecx, DWORD PTR -40[rbp]
	mov	esi, DWORD PTR -44[rbp]
	mov	r8, rdx
	mov	rdx, rax
	lea	rdi, .LC444[rip]
	mov	eax, 0
	call	render_commandline_message
	jmp	.L1258
.L1288:
	nop
.L1258:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE131:
	.size	redo_history, .-redo_history
	.globl	word_left
	.type	word_left, @function
word_left:
.LFB132:
	.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 env[rip]
	mov	eax, DWORD PTR 24[rax]
	mov	DWORD PTR -8[rbp], eax
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 36[rax]
	mov	DWORD PTR -4[rbp], eax
.L1295:
	sub	DWORD PTR -4[rbp], 1
	jmp	.L1291
.L1294:
	sub	DWORD PTR -8[rbp], 1
	cmp	DWORD PTR -8[rbp], 0
	jne	.L1292
	mov	edi, 1
	call	goto_line
	call	set_preferred_column
	jmp	.L1290
.L1292:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 4[rax]
	mov	DWORD PTR -4[rbp], eax
.L1291:
	cmp	DWORD PTR -4[rbp], 0
	je	.L1294
	call	__ctype_b_loc@PLT
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -4[rbp]
	sub	edx, 1
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	mov	eax, eax
	add	rax, rax
	add	rax, rcx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8192
	test	eax, eax
	jne	.L1295
.L1299:
	sub	DWORD PTR -4[rbp], 1
	cmp	DWORD PTR -4[rbp], 0
	jne	.L1296
	mov	DWORD PTR -4[rbp], 1
	jmp	.L1297
.L1296:
	cmp	DWORD PTR -4[rbp], 1
	jne	.L1298
	mov	rax, QWORD PTR env[rip]
	mov	DWORD PTR 36[rax], 1
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR -8[rbp]
	mov	DWORD PTR 24[rax], edx
	call	set_preferred_column
	call	redraw_statusbar
	call	place_cursor_actual
	jmp	.L1290
.L1298:
	call	__ctype_b_loc@PLT
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -4[rbp]
	sub	edx, 1
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	mov	eax, eax
	add	rax, rax
	add	rax, rcx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8192
	test	eax, eax
	je	.L1299
.L1297:
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR -4[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR -8[rbp]
	mov	DWORD PTR 24[rax], edx
	call	set_preferred_column
	call	cursor_right
.L1290:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE132:
	.size	word_left, .-word_left
	.globl	word_right
	.type	word_right, @function
word_right:
.LFB133:
	.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 env[rip]
	mov	eax, DWORD PTR 24[rax]
	mov	DWORD PTR -8[rbp], eax
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 36[rax]
	mov	DWORD PTR -4[rbp], eax
.L1305:
	add	DWORD PTR -4[rbp], 1
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -4[rbp], eax
	jle	.L1301
	add	DWORD PTR -8[rbp], 1
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 28[rax]
	cmp	DWORD PTR -8[rbp], eax
	jle	.L1302
	mov	rdx, QWORD PTR env[rip]
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 28[rdx]
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 4[rdx]
	mov	DWORD PTR 36[rax], edx
	call	set_preferred_column
	call	redraw_statusbar
	call	place_cursor_actual
	jmp	.L1300
.L1302:
	mov	DWORD PTR -4[rbp], 0
	jmp	.L1309
.L1301:
	call	__ctype_b_loc@PLT
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -4[rbp]
	sub	edx, 1
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	mov	eax, eax
	add	rax, rax
	add	rax, rcx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8192
	test	eax, eax
	je	.L1305
.L1309:
	add	DWORD PTR -4[rbp], 1
	jmp	.L1306
.L1308:
	add	DWORD PTR -8[rbp], 1
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 28[rax]
	cmp	DWORD PTR -8[rbp], eax
	jl	.L1307
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 28[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 4[rdx]
	mov	DWORD PTR 36[rax], edx
	mov	rdx, QWORD PTR env[rip]
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 28[rdx]
	mov	DWORD PTR 24[rax], edx
	call	set_preferred_column
	call	redraw_statusbar
	call	place_cursor_actual
	jmp	.L1300
.L1307:
	mov	DWORD PTR -4[rbp], 1
.L1306:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -4[rbp], eax
	jg	.L1308
	call	__ctype_b_loc@PLT
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -4[rbp]
	sub	edx, 1
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	mov	eax, eax
	add	rax, rax
	add	rax, rcx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8192
	test	eax, eax
	jne	.L1309
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR -4[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR -8[rbp]
	mov	DWORD PTR 24[rax], edx
	call	set_preferred_column
	call	redraw_statusbar
	call	place_cursor_actual
	nop
.L1300:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE133:
	.size	word_right, .-word_right
	.globl	delete_at_cursor
	.type	delete_at_cursor, @function
delete_at_cursor:
.LFB134:
	.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 env[rip]
	mov	eax, DWORD PTR 36[rax]
	cmp	eax, 1
	jle	.L1311
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 36[rax]
	lea	ecx, -1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	rsi, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rsi
	mov	rax, QWORD PTR [rax]
	mov	esi, ecx
	mov	rdi, rax
	call	line_delete
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 36[rax]
	mov	rax, QWORD PTR env[rip]
	sub	edx, 1
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 20[rax]
	test	eax, eax
	jle	.L1312
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 20[rax]
	sub	edx, 1
	mov	DWORD PTR 20[rax], edx
.L1312:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	ecx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR env[rip]
	mov	esi, DWORD PTR 16[rax]
	mov	eax, ecx
	sub	eax, esi
	sub	eax, 1
	mov	esi, edx
	mov	edi, eax
	call	redraw_line
	call	set_modified
	call	redraw_statusbar
	call	place_cursor_actual
	jmp	.L1314
.L1311:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cmp	eax, 1
	jle	.L1314
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 16
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 4[rax]
	mov	DWORD PTR -4[rbp], eax
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 64[rax]
	mov	esi, edx
	mov	rdi, rax
	call	merge_lines
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR env[rip]
	sub	edx, 1
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR -4[rbp]
	add	edx, 1
	mov	DWORD PTR 36[rax], edx
	call	set_preferred_column
	call	redraw_text
	call	set_modified
	call	redraw_statusbar
	call	place_cursor_actual
.L1314:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE134:
	.size	delete_at_cursor, .-delete_at_cursor
	.globl	delete_word
	.type	delete_word, @function
delete_word:
.LFB135:
	.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 env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L1321
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 36[rax]
	cmp	eax, 1
	jle	.L1315
.L1320:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 36[rax]
	cmp	eax, 1
	jle	.L1318
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 36[rax]
	lea	ecx, -1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	rsi, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rsi
	mov	rax, QWORD PTR [rax]
	mov	esi, ecx
	mov	rdi, rax
	call	line_delete
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 36[rax]
	mov	rax, QWORD PTR env[rip]
	sub	edx, 1
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 20[rax]
	test	eax, eax
	jle	.L1318
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 20[rax]
	sub	edx, 1
	mov	DWORD PTR 20[rax], edx
.L1318:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 36[rax]
	cmp	eax, 1
	jle	.L1319
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR env[rip]
	mov	edx, DWORD PTR 36[rdx]
	sub	edx, 2
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	cmp	eax, 32
	jne	.L1320
.L1319:
	call	set_preferred_column
	call	redraw_text
	call	set_modified
	call	redraw_statusbar
	call	place_cursor_actual
	jmp	.L1315
.L1321:
	nop
.L1315:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE135:
	.size	delete_word, .-delete_word
	.globl	insert_line_feed
	.type	insert_line_feed, @function
insert_line_feed:
.LFB136:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 8
	.cfi_offset 3, -24
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 36[rax]
	mov	rax, QWORD PTR env[rip]
	mov	rcx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 4[rax]
	add	eax, 1
	cmp	edx, eax
	jne	.L1323
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 64[rax]
	mov	rbx, QWORD PTR env[rip]
	mov	esi, edx
	mov	rdi, rax
	call	add_line
	mov	QWORD PTR 64[rbx], rax
	jmp	.L1324
.L1323:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	lea	ecx, -1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 64[rax]
	mov	rbx, QWORD PTR env[rip]
	mov	esi, ecx
	mov	rdi, rax
	call	split_line
	mov	QWORD PTR 64[rbx], rax
.L1324:
	mov	rax, QWORD PTR env[rip]
	mov	DWORD PTR 36[rax], 1
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR env[rip]
	add	edx, 1
	mov	DWORD PTR 24[rax], edx
	call	set_preferred_column
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	lea	ecx, -2[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	sub	eax, 1
	mov	edx, 0
	mov	esi, ecx
	mov	edi, eax
	call	add_indent
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 16[rax]
	mov	eax, DWORD PTR global_config[rip+4]
	add	eax, edx
	mov	ecx, DWORD PTR global_config[rip+8]
	sub	eax, ecx
	mov	edx, eax
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cmp	edx, eax
	jg	.L1325
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 16[rax]
	mov	rax, QWORD PTR env[rip]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
.L1325:
	call	set_modified
	nop
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE136:
	.size	insert_line_feed, .-insert_line_feed
	.globl	yank_lines
	.type	yank_lines, @function
yank_lines:
.LFB137:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 56
	.cfi_offset 3, -24
	mov	DWORD PTR -52[rbp], edi
	mov	DWORD PTR -56[rbp], esi
	mov	rax, QWORD PTR global_config[rip+24]
	test	rax, rax
	je	.L1327
	mov	DWORD PTR -36[rbp], 0
	jmp	.L1328
.L1329:
	mov	rdx, QWORD PTR global_config[rip+24]
	mov	eax, DWORD PTR -36[rbp]
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	free@PLT
	add	DWORD PTR -36[rbp], 1
.L1328:
	mov	edx, DWORD PTR -36[rbp]
	mov	rax, QWORD PTR global_config[rip+32]
	cmp	rdx, rax
	jb	.L1329
	mov	rax, QWORD PTR global_config[rip+24]
	mov	rdi, rax
	call	free@PLT
.L1327:
	mov	eax, DWORD PTR -52[rbp]
	cmp	eax, DWORD PTR -56[rbp]
	jg	.L1330
	mov	eax, DWORD PTR -56[rbp]
	sub	eax, DWORD PTR -52[rbp]
	add	eax, 1
	mov	DWORD PTR -32[rbp], eax
	mov	eax, DWORD PTR -52[rbp]
	sub	eax, 1
	mov	DWORD PTR -28[rbp], eax
	jmp	.L1331
.L1330:
	mov	eax, DWORD PTR -52[rbp]
	sub	eax, DWORD PTR -56[rbp]
	add	eax, 1
	mov	DWORD PTR -32[rbp], eax
	mov	eax, DWORD PTR -56[rbp]
	sub	eax, 1
	mov	DWORD PTR -28[rbp], eax
.L1331:
	mov	eax, DWORD PTR -32[rbp]
	cdqe
	sal	rax, 3
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR global_config[rip+24], rax
	mov	eax, DWORD PTR -32[rbp]
	cdqe
	mov	QWORD PTR global_config[rip+32], rax
	mov	DWORD PTR global_config[rip+40], 1
	mov	DWORD PTR -24[rbp], 0
	jmp	.L1332
.L1335:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	ecx, DWORD PTR -28[rbp]
	mov	eax, DWORD PTR -24[rbp]
	add	eax, ecx
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR [rax]
	cdqe
	add	rax, 3
	sal	rax, 2
	mov	rcx, QWORD PTR global_config[rip+24]
	mov	edx, DWORD PTR -24[rbp]
	movsx	rdx, edx
	sal	rdx, 3
	lea	rbx, [rcx+rdx]
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR [rbx], rax
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	ecx, DWORD PTR -28[rbp]
	mov	eax, DWORD PTR -24[rbp]
	add	eax, ecx
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rcx, QWORD PTR global_config[rip+24]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR [rdx]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	ecx, DWORD PTR -28[rbp]
	mov	eax, DWORD PTR -24[rbp]
	add	eax, ecx
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rcx, QWORD PTR global_config[rip+24]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 4[rdx]
	mov	DWORD PTR 4[rax], edx
	mov	rdx, QWORD PTR global_config[rip+24]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	DWORD PTR 8[rax], 0
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	ecx, DWORD PTR -28[rbp]
	mov	eax, DWORD PTR -24[rbp]
	add	eax, ecx
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 4[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR env[rip]
	mov	rcx, QWORD PTR 64[rax]
	mov	esi, DWORD PTR -28[rbp]
	mov	eax, DWORD PTR -24[rbp]
	add	eax, esi
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	lea	rcx, 12[rax]
	mov	rsi, QWORD PTR global_config[rip+24]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	sal	rax, 3
	add	rax, rsi
	mov	rax, QWORD PTR [rax]
	add	rax, 12
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
	mov	DWORD PTR -20[rbp], 0
	jmp	.L1333
.L1334:
	mov	rdx, QWORD PTR global_config[rip+24]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -20[rbp]
	movsx	rdx, edx
	movzx	ecx, WORD PTR 12[rax+rdx*4]
	and	cx, -2033
	mov	WORD PTR 12[rax+rdx*4], cx
	add	DWORD PTR -20[rbp], 1
.L1333:
	mov	rdx, QWORD PTR global_config[rip+24]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -20[rbp], eax
	jl	.L1334
	add	DWORD PTR -24[rbp], 1
.L1332:
	mov	eax, DWORD PTR -24[rbp]
	cmp	eax, DWORD PTR -32[rbp]
	jl	.L1335
	nop
	nop
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE137:
	.size	yank_lines, .-yank_lines
	.globl	yank_partial_line
	.type	yank_partial_line, @function
yank_partial_line:
.LFB138:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 40
	.cfi_offset 3, -24
	mov	DWORD PTR -36[rbp], edi
	mov	DWORD PTR -40[rbp], esi
	mov	DWORD PTR -44[rbp], edx
	mov	DWORD PTR -48[rbp], ecx
	mov	eax, DWORD PTR -48[rbp]
	add	eax, 1
	cdqe
	add	rax, 3
	sal	rax, 2
	mov	rcx, QWORD PTR global_config[rip+24]
	mov	edx, DWORD PTR -36[rbp]
	movsx	rdx, edx
	sal	rdx, 3
	lea	rbx, [rcx+rdx]
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR [rbx], rax
	mov	rdx, QWORD PTR global_config[rip+24]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -48[rbp]
	add	edx, 1
	mov	DWORD PTR [rax], edx
	mov	rdx, QWORD PTR global_config[rip+24]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -48[rbp]
	mov	DWORD PTR 4[rax], edx
	mov	rdx, QWORD PTR global_config[rip+24]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	DWORD PTR 8[rax], 0
	mov	eax, DWORD PTR -48[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR env[rip]
	mov	rcx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	sal	rax, 2
	add	rax, rcx
	lea	rcx, 12[rax]
	mov	rsi, QWORD PTR global_config[rip+24]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	sal	rax, 3
	add	rax, rsi
	mov	rax, QWORD PTR [rax]
	add	rax, 12
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
	mov	DWORD PTR -20[rbp], 0
	jmp	.L1337
.L1338:
	mov	rdx, QWORD PTR global_config[rip+24]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -20[rbp]
	movsx	rdx, edx
	movzx	ecx, WORD PTR 12[rax+rdx*4]
	and	cx, -2033
	mov	WORD PTR 12[rax+rdx*4], cx
	add	DWORD PTR -20[rbp], 1
.L1337:
	mov	eax, DWORD PTR -20[rbp]
	cmp	eax, DWORD PTR -48[rbp]
	jl	.L1338
	nop
	nop
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE138:
	.size	yank_partial_line, .-yank_partial_line
	.globl	yank_text
	.type	yank_text, @function
yank_text:
.LFB139:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 56
	.cfi_offset 3, -24
	mov	DWORD PTR -52[rbp], edi
	mov	DWORD PTR -56[rbp], esi
	mov	DWORD PTR -60[rbp], edx
	mov	DWORD PTR -64[rbp], ecx
	mov	rax, QWORD PTR global_config[rip+24]
	test	rax, rax
	je	.L1340
	mov	DWORD PTR -36[rbp], 0
	jmp	.L1341
.L1342:
	mov	rdx, QWORD PTR global_config[rip+24]
	mov	eax, DWORD PTR -36[rbp]
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	free@PLT
	add	DWORD PTR -36[rbp], 1
.L1341:
	mov	edx, DWORD PTR -36[rbp]
	mov	rax, QWORD PTR global_config[rip+32]
	cmp	rdx, rax
	jb	.L1342
	mov	rax, QWORD PTR global_config[rip+24]
	mov	rdi, rax
	call	free@PLT
.L1340:
	mov	eax, DWORD PTR -60[rbp]
	sub	eax, DWORD PTR -52[rbp]
	add	eax, 1
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -52[rbp]
	sub	eax, 1
	mov	DWORD PTR -20[rbp], eax
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	sal	rax, 3
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR global_config[rip+24], rax
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	mov	QWORD PTR global_config[rip+32], rax
	mov	DWORD PTR global_config[rip+40], 0
	cmp	DWORD PTR -24[rbp], 1
	jne	.L1343
	mov	eax, DWORD PTR -64[rbp]
	sub	eax, DWORD PTR -56[rbp]
	lea	ecx, 1[rax]
	mov	eax, DWORD PTR -56[rbp]
	lea	edx, -1[rax]
	mov	eax, DWORD PTR -20[rbp]
	mov	esi, eax
	mov	edi, 0
	call	yank_partial_line
	jmp	.L1349
.L1343:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 4[rax]
	sub	eax, DWORD PTR -56[rbp]
	lea	ecx, 1[rax]
	mov	eax, DWORD PTR -56[rbp]
	lea	edx, -1[rax]
	mov	eax, DWORD PTR -20[rbp]
	mov	esi, eax
	mov	edi, 0
	call	yank_partial_line
	mov	DWORD PTR -32[rbp], 1
	jmp	.L1345
.L1348:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	ecx, DWORD PTR -20[rbp]
	mov	eax, DWORD PTR -32[rbp]
	add	eax, ecx
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR [rax]
	cdqe
	add	rax, 3
	sal	rax, 2
	mov	rcx, QWORD PTR global_config[rip+24]
	mov	edx, DWORD PTR -32[rbp]
	movsx	rdx, edx
	sal	rdx, 3
	lea	rbx, [rcx+rdx]
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR [rbx], rax
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	ecx, DWORD PTR -20[rbp]
	mov	eax, DWORD PTR -32[rbp]
	add	eax, ecx
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rcx, QWORD PTR global_config[rip+24]
	mov	eax, DWORD PTR -32[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR [rdx]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	ecx, DWORD PTR -20[rbp]
	mov	eax, DWORD PTR -32[rbp]
	add	eax, ecx
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rcx, QWORD PTR global_config[rip+24]
	mov	eax, DWORD PTR -32[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 4[rdx]
	mov	DWORD PTR 4[rax], edx
	mov	rdx, QWORD PTR global_config[rip+24]
	mov	eax, DWORD PTR -32[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	DWORD PTR 8[rax], 0
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	ecx, DWORD PTR -20[rbp]
	mov	eax, DWORD PTR -32[rbp]
	add	eax, ecx
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 4[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR env[rip]
	mov	rcx, QWORD PTR 64[rax]
	mov	esi, DWORD PTR -20[rbp]
	mov	eax, DWORD PTR -32[rbp]
	add	eax, esi
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	lea	rcx, 12[rax]
	mov	rsi, QWORD PTR global_config[rip+24]
	mov	eax, DWORD PTR -32[rbp]
	cdqe
	sal	rax, 3
	add	rax, rsi
	mov	rax, QWORD PTR [rax]
	add	rax, 12
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
	mov	DWORD PTR -28[rbp], 0
	jmp	.L1346
.L1347:
	mov	rdx, QWORD PTR global_config[rip+24]
	mov	eax, DWORD PTR -32[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -28[rbp]
	movsx	rdx, edx
	movzx	ecx, WORD PTR 12[rax+rdx*4]
	and	cx, -2033
	mov	WORD PTR 12[rax+rdx*4], cx
	add	DWORD PTR -28[rbp], 1
.L1346:
	mov	rdx, QWORD PTR global_config[rip+24]
	mov	eax, DWORD PTR -32[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -28[rbp], eax
	jl	.L1347
	add	DWORD PTR -32[rbp], 1
.L1345:
	mov	eax, DWORD PTR -24[rbp]
	sub	eax, 1
	cmp	DWORD PTR -32[rbp], eax
	jl	.L1348
	mov	eax, DWORD PTR -60[rbp]
	lea	esi, -1[rax]
	mov	eax, DWORD PTR -24[rbp]
	lea	edi, -1[rax]
	mov	eax, DWORD PTR -64[rbp]
	mov	ecx, eax
	mov	edx, 0
	call	yank_partial_line
.L1349:
	nop
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE139:
	.size	yank_text, .-yank_text
	.section	.rodata
	.align 8
.LC446:
	.string	"Unrecognized escape sequence identifier: %c"
	.text
	.globl	handle_escape
	.type	handle_escape, @function
handle_escape:
.LFB140:
	.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 -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	DWORD PTR -20[rbp], edx
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jle	.L1351
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	cdqe
	sal	rax, 2
	lea	rdx, -4[rax]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	eax, 27
	jne	.L1351
	cmp	DWORD PTR -20[rbp], 27
	jne	.L1351
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -8[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 1
	jmp	.L1352
.L1351:
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jle	.L1353
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	cdqe
	sal	rax, 2
	lea	rdx, -4[rax]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	eax, 27
	jne	.L1353
	cmp	DWORD PTR -20[rbp], 91
	je	.L1353
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR [rax], 0
	mov	eax, DWORD PTR -20[rbp]
	mov	edi, eax
	call	bim_unget
	mov	eax, 1
	jmp	.L1352
.L1353:
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jle	.L1354
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	cdqe
	sal	rax, 2
	lea	rdx, -4[rax]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	eax, 27
	jne	.L1354
	cmp	DWORD PTR -20[rbp], 91
	jne	.L1354
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR [rax], 1
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -8[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 0
	jmp	.L1352
.L1354:
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 1
	jle	.L1355
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 27
	jne	.L1355
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 4
	mov	eax, DWORD PTR [rax]
	cmp	eax, 91
	jne	.L1355
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 2048
	test	eax, eax
	jne	.L1356
	cmp	DWORD PTR -20[rbp], 59
	jne	.L1355
.L1356:
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -8[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 0
	jmp	.L1352
.L1355:
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 1
	jle	.L1357
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 27
	jne	.L1357
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 4
	mov	eax, DWORD PTR [rax]
	cmp	eax, 91
	jne	.L1357
	mov	eax, DWORD PTR -20[rbp]
	sub	eax, 65
	cmp	eax, 61
	ja	.L1358
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L1360[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L1360[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L1360:
	.long	.L1370-.L1360
	.long	.L1369-.L1360
	.long	.L1368-.L1360
	.long	.L1367-.L1360
	.long	.L1358-.L1360
	.long	.L1366-.L1360
	.long	.L1365-.L1360
	.long	.L1364-.L1360
	.long	.L1363-.L1360
	.long	.L1358-.L1360
	.long	.L1358-.L1360
	.long	.L1358-.L1360
	.long	.L1362-.L1360
	.long	.L1358-.L1360
	.long	.L1358-.L1360
	.long	.L1358-.L1360
	.long	.L1358-.L1360
	.long	.L1358-.L1360
	.long	.L1358-.L1360
	.long	.L1358-.L1360
	.long	.L1358-.L1360
	.long	.L1358-.L1360
	.long	.L1358-.L1360
	.long	.L1358-.L1360
	.long	.L1358-.L1360
	.long	.L1361-.L1360
	.long	.L1358-.L1360
	.long	.L1358-.L1360
	.long	.L1358-.L1360
	.long	.L1358-.L1360
	.long	.L1358-.L1360
	.long	.L1358-.L1360
	.long	.L1358-.L1360
	.long	.L1358-.L1360
	.long	.L1358-.L1360
	.long	.L1358-.L1360
	.long	.L1358-.L1360
	.long	.L1358-.L1360
	.long	.L1358-.L1360
	.long	.L1358-.L1360
	.long	.L1358-.L1360
	.long	.L1358-.L1360
	.long	.L1358-.L1360
	.long	.L1358-.L1360
	.long	.L1358-.L1360
	.long	.L1358-.L1360
	.long	.L1358-.L1360
	.long	.L1358-.L1360
	.long	.L1358-.L1360
	.long	.L1358-.L1360
	.long	.L1358-.L1360
	.long	.L1358-.L1360
	.long	.L1358-.L1360
	.long	.L1358-.L1360
	.long	.L1358-.L1360
	.long	.L1358-.L1360
	.long	.L1358-.L1360
	.long	.L1358-.L1360
	.long	.L1358-.L1360
	.long	.L1358-.L1360
	.long	.L1358-.L1360
	.long	.L1359-.L1360
	.text
.L1362:
	call	handle_mouse
	jmp	.L1371
.L1370:
	call	cursor_up
	jmp	.L1371
.L1369:
	call	cursor_down
	jmp	.L1371
.L1368:
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	cdqe
	sal	rax, 2
	lea	rdx, -4[rax]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	eax, 53
	jne	.L1372
	call	word_right
	jmp	.L1371
.L1372:
	call	cursor_right
	jmp	.L1371
.L1367:
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	cdqe
	sal	rax, 2
	lea	rdx, -4[rax]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	eax, 53
	jne	.L1374
	call	word_left
	jmp	.L1371
.L1374:
	call	cursor_left
	jmp	.L1371
.L1364:
	call	cursor_home
	jmp	.L1371
.L1366:
	call	cursor_end
	jmp	.L1371
.L1363:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	mov	edx, DWORD PTR global_config[rip+4]
	sub	edx, 6
	sub	eax, edx
	mov	edi, eax
	call	goto_line
	jmp	.L1371
.L1365:
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 24[rax]
	mov	eax, DWORD PTR global_config[rip+4]
	add	eax, edx
	sub	eax, 6
	mov	edi, eax
	call	goto_line
	jmp	.L1371
.L1361:
	mov	rax, QWORD PTR env[rip]
	movzx	eax, WORD PTR 2[rax]
	cmp	ax, 2
	jne	.L1387
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR [rax], 0
	mov	eax, 90
	jmp	.L1352
.L1359:
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	cdqe
	sal	rax, 2
	lea	rdx, -4[rax]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	sub	eax, 49
	cmp	eax, 5
	ja	.L1388
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L1379[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L1379[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L1379:
	.long	.L1383-.L1379
	.long	.L1388-.L1379
	.long	.L1382-.L1379
	.long	.L1381-.L1379
	.long	.L1380-.L1379
	.long	.L1378-.L1379
	.text
.L1383:
	call	cursor_home
	jmp	.L1377
.L1382:
	mov	rax, QWORD PTR env[rip]
	movzx	eax, WORD PTR 2[rax]
	cmp	ax, 1
	je	.L1384
	mov	rax, QWORD PTR env[rip]
	movzx	eax, WORD PTR 2[rax]
	cmp	ax, 3
	jne	.L1389
.L1384:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 36[rax]
	cmp	edx, eax
	jl	.L1386
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	ecx, DWORD PTR 36[rax]
	mov	rax, QWORD PTR env[rip]
	mov	rsi, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rsi
	mov	rax, QWORD PTR [rax]
	mov	esi, ecx
	mov	rdi, rax
	call	line_delete
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	ecx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR env[rip]
	mov	esi, DWORD PTR 16[rax]
	mov	eax, ecx
	sub	eax, esi
	sub	eax, 1
	mov	esi, edx
	mov	edi, eax
	call	redraw_line
	call	set_modified
	call	redraw_statusbar
	call	place_cursor_actual
	jmp	.L1389
.L1386:
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 28[rax]
	cmp	edx, eax
	jge	.L1389
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 64[rax]
	mov	esi, edx
	mov	rdi, rax
	call	merge_lines
	call	redraw_text
	call	set_modified
	call	redraw_statusbar
	call	place_cursor_actual
	jmp	.L1389
.L1381:
	call	cursor_end
	jmp	.L1377
.L1380:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	mov	edx, DWORD PTR global_config[rip+4]
	sub	edx, 6
	sub	eax, edx
	mov	edi, eax
	call	goto_line
	jmp	.L1377
.L1378:
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 24[rax]
	mov	eax, DWORD PTR global_config[rip+4]
	add	eax, edx
	sub	eax, 6
	mov	edi, eax
	call	goto_line
	jmp	.L1377
.L1389:
	nop
.L1377:
	jmp	.L1388
.L1358:
	mov	eax, DWORD PTR -20[rbp]
	mov	esi, eax
	lea	rdi, .LC446[rip]
	mov	eax, 0
	call	render_error
	jmp	.L1371
.L1387:
	nop
	jmp	.L1371
.L1388:
	nop
.L1371:
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR [rax], 0
	mov	eax, 0
	jmp	.L1352
.L1357:
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR [rax], 0
	mov	eax, 0
.L1352:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE140:
	.size	handle_escape, .-handle_escape
	.globl	handle_navigation
	.type	handle_navigation, @function
handle_navigation:
.LFB141:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	DWORD PTR -36[rbp], edi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	eax, DWORD PTR -36[rbp]
	sub	eax, 32
	cmp	eax, 93
	ja	.L1421
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L1393[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L1393[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L1393:
	.long	.L1408-.L1393
	.long	.L1421-.L1393
	.long	.L1421-.L1393
	.long	.L1421-.L1393
	.long	.L1407-.L1393
	.long	.L1406-.L1393
	.long	.L1421-.L1393
	.long	.L1421-.L1393
	.long	.L1421-.L1393
	.long	.L1421-.L1393
	.long	.L1421-.L1393
	.long	.L1421-.L1393
	.long	.L1421-.L1393
	.long	.L1421-.L1393
	.long	.L1421-.L1393
	.long	.L1405-.L1393
	.long	.L1401-.L1393
	.long	.L1421-.L1393
	.long	.L1421-.L1393
	.long	.L1421-.L1393
	.long	.L1421-.L1393
	.long	.L1421-.L1393
	.long	.L1421-.L1393
	.long	.L1421-.L1393
	.long	.L1421-.L1393
	.long	.L1421-.L1393
	.long	.L1404-.L1393
	.long	.L1421-.L1393
	.long	.L1421-.L1393
	.long	.L1421-.L1393
	.long	.L1421-.L1393
	.long	.L1403-.L1393
	.long	.L1421-.L1393
	.long	.L1421-.L1393
	.long	.L1421-.L1393
	.long	.L1421-.L1393
	.long	.L1421-.L1393
	.long	.L1421-.L1393
	.long	.L1421-.L1393
	.long	.L1421-.L1393
	.long	.L1421-.L1393
	.long	.L1421-.L1393
	.long	.L1421-.L1393
	.long	.L1421-.L1393
	.long	.L1421-.L1393
	.long	.L1421-.L1393
	.long	.L1402-.L1393
	.long	.L1421-.L1393
	.long	.L1421-.L1393
	.long	.L1421-.L1393
	.long	.L1421-.L1393
	.long	.L1421-.L1393
	.long	.L1421-.L1393
	.long	.L1421-.L1393
	.long	.L1421-.L1393
	.long	.L1421-.L1393
	.long	.L1421-.L1393
	.long	.L1421-.L1393
	.long	.L1421-.L1393
	.long	.L1421-.L1393
	.long	.L1421-.L1393
	.long	.L1421-.L1393
	.long	.L1401-.L1393
	.long	.L1421-.L1393
	.long	.L1421-.L1393
	.long	.L1421-.L1393
	.long	.L1421-.L1393
	.long	.L1421-.L1393
	.long	.L1421-.L1393
	.long	.L1421-.L1393
	.long	.L1421-.L1393
	.long	.L1421-.L1393
	.long	.L1400-.L1393
	.long	.L1421-.L1393
	.long	.L1399-.L1393
	.long	.L1398-.L1393
	.long	.L1397-.L1393
	.long	.L1421-.L1393
	.long	.L1396-.L1393
	.long	.L1421-.L1393
	.long	.L1421-.L1393
	.long	.L1421-.L1393
	.long	.L1421-.L1393
	.long	.L1421-.L1393
	.long	.L1421-.L1393
	.long	.L1421-.L1393
	.long	.L1421-.L1393
	.long	.L1395-.L1393
	.long	.L1421-.L1393
	.long	.L1421-.L1393
	.long	.L1421-.L1393
	.long	.L1394-.L1393
	.long	.L1421-.L1393
	.long	.L1392-.L1393
	.text
.L1404:
	call	command_mode
	jmp	.L1391
.L1405:
	mov	edi, 1
	call	search_mode
	jmp	.L1391
.L1403:
	mov	edi, 0
	call	search_mode
	jmp	.L1391
.L1396:
	call	search_next
	jmp	.L1391
.L1402:
	call	search_prev
	jmp	.L1391
.L1399:
	call	cursor_down
	jmp	.L1391
.L1398:
	call	cursor_up
	jmp	.L1391
.L1400:
	call	cursor_left
	jmp	.L1391
.L1397:
	call	cursor_right
	jmp	.L1391
.L1395:
	call	word_right
	jmp	.L1391
.L1408:
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 24[rax]
	mov	eax, DWORD PTR global_config[rip+4]
	add	eax, edx
	sub	eax, 6
	mov	edi, eax
	call	goto_line
	jmp	.L1391
.L1406:
	mov	rax, QWORD PTR env[rip]
	movzx	eax, WORD PTR 2[rax]
	cmp	ax, 2
	je	.L1409
	mov	rax, QWORD PTR env[rip]
	movzx	eax, WORD PTR 2[rax]
	cmp	ax, 4
	jne	.L1410
.L1409:
	mov	DWORD PTR -12[rbp], 0
	jmp	.L1411
.L1412:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -12[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	recalculate_syntax
	add	DWORD PTR -12[rbp], 1
.L1411:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 28[rax]
	cmp	DWORD PTR -12[rbp], eax
	jl	.L1412
.L1410:
	mov	DWORD PTR -20[rbp], -1
	mov	DWORD PTR -16[rbp], -1
	lea	rdx, -16[rbp]
	lea	rax, -20[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	find_matching_paren
	mov	eax, DWORD PTR -20[rbp]
	cmp	eax, -1
	je	.L1422
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR -20[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR -16[rbp]
	mov	DWORD PTR 36[rax], edx
	call	set_preferred_column
	call	place_cursor_actual
	call	redraw_statusbar
	jmp	.L1422
.L1394:
	mov	rax, QWORD PTR env[rip]
	mov	DWORD PTR 36[rax], 1
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cmp	eax, 1
	je	.L1423
.L1414:
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 24[rax]
	sub	edx, 1
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 4[rax]
	test	eax, eax
	je	.L1424
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cmp	eax, 1
	jg	.L1414
	jmp	.L1416
.L1424:
	nop
.L1416:
	call	set_preferred_column
	call	redraw_statusbar
	jmp	.L1391
.L1392:
	mov	rax, QWORD PTR env[rip]
	mov	DWORD PTR 36[rax], 1
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 28[rax]
	cmp	edx, eax
	je	.L1425
.L1417:
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 24[rax]
	add	edx, 1
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 4[rax]
	test	eax, eax
	je	.L1426
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 28[rax]
	cmp	edx, eax
	jl	.L1417
	jmp	.L1419
.L1426:
	nop
.L1419:
	call	set_preferred_column
	call	redraw_statusbar
	jmp	.L1391
.L1407:
	call	cursor_end
	jmp	.L1391
.L1401:
	call	cursor_home
	jmp	.L1391
.L1422:
	nop
	jmp	.L1421
.L1423:
	nop
	jmp	.L1421
.L1425:
	nop
.L1391:
.L1421:
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L1420
	call	__stack_chk_fail@PLT
.L1420:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE141:
	.size	handle_navigation, .-handle_navigation
	.globl	adjust_indent
	.type	adjust_indent, @function
adjust_indent:
.LFB142:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 72
	.cfi_offset 3, -24
	mov	DWORD PTR -68[rbp], edi
	mov	DWORD PTR -72[rbp], esi
	mov	DWORD PTR -52[rbp], 0
	mov	DWORD PTR -48[rbp], 0
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -68[rbp], eax
	jg	.L1428
	mov	eax, DWORD PTR -68[rbp]
	sub	eax, 1
	mov	DWORD PTR -48[rbp], eax
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	sub	eax, DWORD PTR -68[rbp]
	add	eax, 1
	mov	DWORD PTR -52[rbp], eax
	jmp	.L1429
.L1428:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	sub	eax, 1
	mov	DWORD PTR -48[rbp], eax
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 24[rax]
	mov	eax, DWORD PTR -68[rbp]
	sub	eax, edx
	add	eax, 1
	mov	DWORD PTR -52[rbp], eax
.L1429:
	mov	DWORD PTR -44[rbp], 0
	jmp	.L1430
.L1471:
	cmp	DWORD PTR -72[rbp], -1
	jne	.L1431
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	ecx, DWORD PTR -48[rbp]
	mov	eax, DWORD PTR -44[rbp]
	add	eax, ecx
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 4[rax]
	test	eax, eax
	jle	.L1473
.L1431:
	cmp	DWORD PTR -72[rbp], -1
	jne	.L1433
	mov	rax, QWORD PTR env[rip]
	movzx	eax, BYTE PTR [rax]
	and	eax, 2
	test	al, al
	je	.L1434
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	ecx, DWORD PTR -48[rbp]
	mov	eax, DWORD PTR -44[rbp]
	add	eax, ecx
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 12[rax]
	and	eax, -2048
	cmp	eax, 18432
	jne	.L1432
	mov	edx, DWORD PTR -48[rbp]
	mov	eax, DWORD PTR -44[rbp]
	add	edx, eax
	mov	rax, QWORD PTR env[rip]
	mov	rcx, QWORD PTR 64[rax]
	mov	esi, DWORD PTR -48[rbp]
	mov	eax, DWORD PTR -44[rbp]
	add	eax, esi
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	esi, 1
	mov	rdi, rax
	call	line_delete
	mov	edx, DWORD PTR -48[rbp]
	mov	eax, DWORD PTR -44[rbp]
	add	edx, eax
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 28[rax]
	cmp	edx, eax
	jle	.L1436
	mov	edx, DWORD PTR -48[rbp]
	mov	eax, DWORD PTR -44[rbp]
	add	eax, edx
	lea	edx, 1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 16[rax]
	sub	edx, eax
	mov	eax, DWORD PTR global_config[rip+4]
	mov	ecx, DWORD PTR global_config[rip+8]
	sub	eax, ecx
	cmp	edx, eax
	jge	.L1474
	mov	edx, DWORD PTR -48[rbp]
	mov	eax, DWORD PTR -44[rbp]
	add	eax, edx
	lea	edx, 1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	ecx, DWORD PTR 16[rax]
	mov	eax, edx
	sub	eax, ecx
	sub	eax, 1
	mov	edi, eax
	call	draw_excess_line
	jmp	.L1474
.L1436:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -68[rbp], eax
	jle	.L1438
	mov	edx, DWORD PTR -48[rbp]
	mov	eax, DWORD PTR -44[rbp]
	add	eax, edx
	lea	edx, 1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cmp	edx, eax
	jl	.L1439
	mov	edx, DWORD PTR -48[rbp]
	mov	eax, DWORD PTR -44[rbp]
	add	eax, edx
	cmp	DWORD PTR -68[rbp], eax
	jle	.L1439
.L1438:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -68[rbp], eax
	jge	.L1440
	mov	edx, DWORD PTR -48[rbp]
	mov	eax, DWORD PTR -44[rbp]
	add	edx, eax
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cmp	edx, eax
	jge	.L1439
	mov	edx, DWORD PTR -48[rbp]
	mov	eax, DWORD PTR -44[rbp]
	add	eax, edx
	add	eax, 1
	cmp	DWORD PTR -68[rbp], eax
	jg	.L1439
.L1440:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -68[rbp], eax
	jne	.L1441
	mov	edx, DWORD PTR -48[rbp]
	mov	eax, DWORD PTR -44[rbp]
	add	eax, edx
	add	eax, 1
	cmp	DWORD PTR -68[rbp], eax
	je	.L1441
.L1439:
	mov	edx, DWORD PTR -48[rbp]
	mov	eax, DWORD PTR -44[rbp]
	add	edx, eax
	mov	rax, QWORD PTR env[rip]
	mov	rcx, QWORD PTR 64[rax]
	mov	esi, DWORD PTR -48[rbp]
	mov	eax, DWORD PTR -44[rbp]
	add	eax, esi
	add	eax, 1
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	esi, edx
	mov	rdi, rax
	call	recalculate_syntax
	jmp	.L1442
.L1441:
	mov	DWORD PTR -40[rbp], 0
	jmp	.L1443
.L1444:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	ecx, DWORD PTR -48[rbp]
	mov	eax, DWORD PTR -44[rbp]
	add	eax, ecx
	add	eax, 1
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -40[rbp]
	movsx	rdx, edx
	movzx	eax, WORD PTR 12[rax+rdx*4]
	shr	ax, 4
	mov	edx, eax
	and	edx, 127
	mov	rax, QWORD PTR env[rip]
	mov	rcx, QWORD PTR 64[rax]
	mov	esi, DWORD PTR -48[rbp]
	mov	eax, DWORD PTR -44[rbp]
	add	eax, esi
	add	eax, 1
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	ecx, edx
	or	ecx, 16
	mov	edx, DWORD PTR -40[rbp]
	movsx	rdx, edx
	movzx	ecx, cl
	and	ecx, 127
	mov	esi, ecx
	sal	esi, 4
	movzx	ecx, WORD PTR 12[rax+rdx*4]
	and	cx, -2033
	or	ecx, esi
	mov	WORD PTR 12[rax+rdx*4], cx
	add	DWORD PTR -40[rbp], 1
.L1443:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	ecx, DWORD PTR -48[rbp]
	mov	eax, DWORD PTR -44[rbp]
	add	eax, ecx
	add	eax, 1
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -40[rbp], eax
	jl	.L1444
.L1442:
	mov	edx, DWORD PTR -48[rbp]
	mov	eax, DWORD PTR -44[rbp]
	add	eax, edx
	lea	edx, 1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	ecx, DWORD PTR 16[rax]
	mov	eax, edx
	sub	eax, ecx
	test	eax, eax
	jle	.L1432
	mov	edx, DWORD PTR -48[rbp]
	mov	eax, DWORD PTR -44[rbp]
	add	eax, edx
	lea	edx, 1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 16[rax]
	sub	edx, eax
	mov	eax, DWORD PTR global_config[rip+4]
	mov	ecx, DWORD PTR global_config[rip+8]
	sub	eax, ecx
	cmp	edx, eax
	jge	.L1432
	mov	edx, DWORD PTR -48[rbp]
	mov	eax, DWORD PTR -44[rbp]
	add	edx, eax
	mov	ecx, DWORD PTR -48[rbp]
	mov	eax, DWORD PTR -44[rbp]
	add	eax, ecx
	lea	ecx, 1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	esi, DWORD PTR 16[rax]
	mov	eax, ecx
	sub	eax, esi
	sub	eax, 1
	mov	esi, edx
	mov	edi, eax
	call	redraw_line
	jmp	.L1432
.L1434:
	mov	DWORD PTR -36[rbp], 0
	jmp	.L1446
.L1448:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	ecx, DWORD PTR -48[rbp]
	mov	eax, DWORD PTR -44[rbp]
	add	eax, ecx
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 12[rax]
	and	eax, -2048
	cmp	eax, 65536
	jne	.L1447
	mov	edx, DWORD PTR -48[rbp]
	mov	eax, DWORD PTR -44[rbp]
	add	edx, eax
	mov	rax, QWORD PTR env[rip]
	mov	rcx, QWORD PTR 64[rax]
	mov	esi, DWORD PTR -48[rbp]
	mov	eax, DWORD PTR -44[rbp]
	add	eax, esi
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	esi, 1
	mov	rdi, rax
	call	line_delete
.L1447:
	add	DWORD PTR -36[rbp], 1
.L1446:
	mov	rax, QWORD PTR env[rip]
	movzx	eax, WORD PTR 4[rax]
	cwde
	cmp	DWORD PTR -36[rbp], eax
	jl	.L1448
	mov	edx, DWORD PTR -48[rbp]
	mov	eax, DWORD PTR -44[rbp]
	add	edx, eax
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 28[rax]
	cmp	edx, eax
	jle	.L1449
	mov	edx, DWORD PTR -48[rbp]
	mov	eax, DWORD PTR -44[rbp]
	add	eax, edx
	lea	edx, 1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 16[rax]
	sub	edx, eax
	mov	eax, DWORD PTR global_config[rip+4]
	mov	ecx, DWORD PTR global_config[rip+8]
	sub	eax, ecx
	cmp	edx, eax
	jge	.L1475
	mov	edx, DWORD PTR -48[rbp]
	mov	eax, DWORD PTR -44[rbp]
	add	eax, edx
	lea	edx, 1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	ecx, DWORD PTR 16[rax]
	mov	eax, edx
	sub	eax, ecx
	sub	eax, 1
	mov	edi, eax
	call	draw_excess_line
	jmp	.L1475
.L1449:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -68[rbp], eax
	jle	.L1451
	mov	edx, DWORD PTR -48[rbp]
	mov	eax, DWORD PTR -44[rbp]
	add	eax, edx
	lea	edx, 1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cmp	edx, eax
	jl	.L1452
	mov	edx, DWORD PTR -48[rbp]
	mov	eax, DWORD PTR -44[rbp]
	add	eax, edx
	cmp	DWORD PTR -68[rbp], eax
	jle	.L1452
.L1451:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -68[rbp], eax
	jge	.L1453
	mov	edx, DWORD PTR -48[rbp]
	mov	eax, DWORD PTR -44[rbp]
	add	edx, eax
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cmp	edx, eax
	jge	.L1452
	mov	edx, DWORD PTR -48[rbp]
	mov	eax, DWORD PTR -44[rbp]
	add	eax, edx
	add	eax, 1
	cmp	DWORD PTR -68[rbp], eax
	jg	.L1452
.L1453:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -68[rbp], eax
	jne	.L1454
	mov	edx, DWORD PTR -48[rbp]
	mov	eax, DWORD PTR -44[rbp]
	add	eax, edx
	add	eax, 1
	cmp	DWORD PTR -68[rbp], eax
	je	.L1454
.L1452:
	mov	edx, DWORD PTR -48[rbp]
	mov	eax, DWORD PTR -44[rbp]
	add	edx, eax
	mov	rax, QWORD PTR env[rip]
	mov	rcx, QWORD PTR 64[rax]
	mov	esi, DWORD PTR -48[rbp]
	mov	eax, DWORD PTR -44[rbp]
	add	eax, esi
	add	eax, 1
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	esi, edx
	mov	rdi, rax
	call	recalculate_syntax
	jmp	.L1455
.L1454:
	mov	DWORD PTR -32[rbp], 0
	jmp	.L1456
.L1457:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	ecx, DWORD PTR -48[rbp]
	mov	eax, DWORD PTR -44[rbp]
	add	eax, ecx
	add	eax, 1
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -32[rbp]
	movsx	rdx, edx
	movzx	eax, WORD PTR 12[rax+rdx*4]
	shr	ax, 4
	mov	edx, eax
	and	edx, 127
	mov	rax, QWORD PTR env[rip]
	mov	rcx, QWORD PTR 64[rax]
	mov	esi, DWORD PTR -48[rbp]
	mov	eax, DWORD PTR -44[rbp]
	add	eax, esi
	add	eax, 1
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	ecx, edx
	or	ecx, 16
	mov	edx, DWORD PTR -32[rbp]
	movsx	rdx, edx
	movzx	ecx, cl
	and	ecx, 127
	mov	esi, ecx
	sal	esi, 4
	movzx	ecx, WORD PTR 12[rax+rdx*4]
	and	cx, -2033
	or	ecx, esi
	mov	WORD PTR 12[rax+rdx*4], cx
	add	DWORD PTR -32[rbp], 1
.L1456:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	ecx, DWORD PTR -48[rbp]
	mov	eax, DWORD PTR -44[rbp]
	add	eax, ecx
	add	eax, 1
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -32[rbp], eax
	jl	.L1457
.L1455:
	mov	edx, DWORD PTR -48[rbp]
	mov	eax, DWORD PTR -44[rbp]
	add	eax, edx
	lea	edx, 1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	ecx, DWORD PTR 16[rax]
	mov	eax, edx
	sub	eax, ecx
	test	eax, eax
	jle	.L1432
	mov	edx, DWORD PTR -48[rbp]
	mov	eax, DWORD PTR -44[rbp]
	add	eax, edx
	lea	edx, 1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 16[rax]
	sub	edx, eax
	mov	eax, DWORD PTR global_config[rip+4]
	mov	ecx, DWORD PTR global_config[rip+8]
	sub	eax, ecx
	cmp	edx, eax
	jge	.L1432
	mov	edx, DWORD PTR -48[rbp]
	mov	eax, DWORD PTR -44[rbp]
	add	edx, eax
	mov	ecx, DWORD PTR -48[rbp]
	mov	eax, DWORD PTR -44[rbp]
	add	eax, ecx
	lea	ecx, 1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	esi, DWORD PTR 16[rax]
	mov	eax, ecx
	sub	eax, esi
	sub	eax, 1
	mov	esi, edx
	mov	edi, eax
	call	redraw_line
	jmp	.L1432
.L1433:
	cmp	DWORD PTR -72[rbp], 1
	jne	.L1432
	mov	rax, QWORD PTR env[rip]
	movzx	eax, BYTE PTR [rax]
	and	eax, 2
	test	al, al
	je	.L1458
	mov	eax, DWORD PTR -20[rbp]
	and	eax, 2047
	or	ah, 72
	mov	DWORD PTR -20[rbp], eax
	mov	rax, QWORD PTR env[rip]
	movzx	eax, WORD PTR 4[rax]
	and	eax, 15
	and	eax, 15
	mov	edx, eax
	movzx	eax, BYTE PTR -20[rbp]
	and	eax, -16
	or	eax, edx
	mov	BYTE PTR -20[rbp], al
	movzx	eax, WORD PTR -20[rbp]
	and	ax, -2033
	or	ah, 1
	mov	WORD PTR -20[rbp], ax
	mov	edx, DWORD PTR -48[rbp]
	mov	eax, DWORD PTR -44[rbp]
	add	edx, eax
	mov	rax, QWORD PTR env[rip]
	mov	rcx, QWORD PTR 64[rax]
	mov	esi, DWORD PTR -48[rbp]
	mov	eax, DWORD PTR -44[rbp]
	add	eax, esi
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	rcx, QWORD PTR env[rip]
	mov	rsi, QWORD PTR 64[rcx]
	mov	edi, DWORD PTR -48[rbp]
	mov	ecx, DWORD PTR -44[rbp]
	add	ecx, edi
	movsx	rcx, ecx
	sal	rcx, 3
	lea	rbx, [rsi+rcx]
	mov	esi, DWORD PTR -20[rbp]
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	line_insert
	mov	QWORD PTR [rbx], rax
	jmp	.L1459
.L1458:
	mov	DWORD PTR -28[rbp], 0
	jmp	.L1460
.L1461:
	mov	eax, DWORD PTR -20[rbp]
	and	eax, 2047
	or	eax, 65536
	mov	DWORD PTR -20[rbp], eax
	movzx	eax, BYTE PTR -20[rbp]
	and	eax, -16
	or	eax, 1
	mov	BYTE PTR -20[rbp], al
	movzx	eax, WORD PTR -20[rbp]
	and	ax, -2033
	or	ah, 1
	mov	WORD PTR -20[rbp], ax
	mov	edx, DWORD PTR -48[rbp]
	mov	eax, DWORD PTR -44[rbp]
	add	edx, eax
	mov	rax, QWORD PTR env[rip]
	mov	rcx, QWORD PTR 64[rax]
	mov	esi, DWORD PTR -48[rbp]
	mov	eax, DWORD PTR -44[rbp]
	add	eax, esi
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	rcx, QWORD PTR env[rip]
	mov	rsi, QWORD PTR 64[rcx]
	mov	edi, DWORD PTR -48[rbp]
	mov	ecx, DWORD PTR -44[rbp]
	add	ecx, edi
	movsx	rcx, ecx
	sal	rcx, 3
	lea	rbx, [rsi+rcx]
	mov	esi, DWORD PTR -20[rbp]
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	line_insert
	mov	QWORD PTR [rbx], rax
	add	DWORD PTR -28[rbp], 1
.L1460:
	mov	rax, QWORD PTR env[rip]
	movzx	eax, WORD PTR 4[rax]
	cwde
	cmp	DWORD PTR -28[rbp], eax
	jl	.L1461
.L1459:
	mov	edx, DWORD PTR -48[rbp]
	mov	eax, DWORD PTR -44[rbp]
	add	edx, eax
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 28[rax]
	cmp	edx, eax
	jle	.L1462
	mov	edx, DWORD PTR -48[rbp]
	mov	eax, DWORD PTR -44[rbp]
	add	eax, edx
	lea	edx, 1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 16[rax]
	sub	edx, eax
	mov	eax, DWORD PTR global_config[rip+4]
	mov	ecx, DWORD PTR global_config[rip+8]
	sub	eax, ecx
	cmp	edx, eax
	jge	.L1476
	mov	edx, DWORD PTR -48[rbp]
	mov	eax, DWORD PTR -44[rbp]
	add	eax, edx
	lea	edx, 1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	ecx, DWORD PTR 16[rax]
	mov	eax, edx
	sub	eax, ecx
	sub	eax, 1
	mov	edi, eax
	call	draw_excess_line
	jmp	.L1476
.L1462:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -68[rbp], eax
	jle	.L1464
	mov	edx, DWORD PTR -48[rbp]
	mov	eax, DWORD PTR -44[rbp]
	add	eax, edx
	lea	edx, 1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cmp	edx, eax
	jl	.L1465
	mov	edx, DWORD PTR -48[rbp]
	mov	eax, DWORD PTR -44[rbp]
	add	eax, edx
	cmp	DWORD PTR -68[rbp], eax
	jle	.L1465
.L1464:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -68[rbp], eax
	jge	.L1466
	mov	edx, DWORD PTR -48[rbp]
	mov	eax, DWORD PTR -44[rbp]
	add	edx, eax
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cmp	edx, eax
	jge	.L1465
	mov	edx, DWORD PTR -48[rbp]
	mov	eax, DWORD PTR -44[rbp]
	add	eax, edx
	add	eax, 1
	cmp	DWORD PTR -68[rbp], eax
	jg	.L1465
.L1466:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -68[rbp], eax
	jne	.L1467
	mov	edx, DWORD PTR -48[rbp]
	mov	eax, DWORD PTR -44[rbp]
	add	eax, edx
	add	eax, 1
	cmp	DWORD PTR -68[rbp], eax
	je	.L1467
.L1465:
	mov	edx, DWORD PTR -48[rbp]
	mov	eax, DWORD PTR -44[rbp]
	add	edx, eax
	mov	rax, QWORD PTR env[rip]
	mov	rcx, QWORD PTR 64[rax]
	mov	esi, DWORD PTR -48[rbp]
	mov	eax, DWORD PTR -44[rbp]
	add	eax, esi
	add	eax, 1
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	esi, edx
	mov	rdi, rax
	call	recalculate_syntax
	jmp	.L1468
.L1467:
	mov	DWORD PTR -24[rbp], 0
	jmp	.L1469
.L1470:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	ecx, DWORD PTR -48[rbp]
	mov	eax, DWORD PTR -44[rbp]
	add	eax, ecx
	add	eax, 1
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -24[rbp]
	movsx	rdx, edx
	movzx	eax, WORD PTR 12[rax+rdx*4]
	shr	ax, 4
	mov	edx, eax
	and	edx, 127
	mov	rax, QWORD PTR env[rip]
	mov	rcx, QWORD PTR 64[rax]
	mov	esi, DWORD PTR -48[rbp]
	mov	eax, DWORD PTR -44[rbp]
	add	eax, esi
	add	eax, 1
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	ecx, edx
	or	ecx, 16
	mov	edx, DWORD PTR -24[rbp]
	movsx	rdx, edx
	movzx	ecx, cl
	and	ecx, 127
	mov	esi, ecx
	sal	esi, 4
	movzx	ecx, WORD PTR 12[rax+rdx*4]
	and	cx, -2033
	or	ecx, esi
	mov	WORD PTR 12[rax+rdx*4], cx
	add	DWORD PTR -24[rbp], 1
.L1469:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	ecx, DWORD PTR -48[rbp]
	mov	eax, DWORD PTR -44[rbp]
	add	eax, ecx
	add	eax, 1
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -24[rbp], eax
	jl	.L1470
.L1468:
	mov	edx, DWORD PTR -48[rbp]
	mov	eax, DWORD PTR -44[rbp]
	add	eax, edx
	lea	edx, 1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	ecx, DWORD PTR 16[rax]
	mov	eax, edx
	sub	eax, ecx
	test	eax, eax
	jle	.L1432
	mov	edx, DWORD PTR -48[rbp]
	mov	eax, DWORD PTR -44[rbp]
	add	eax, edx
	lea	edx, 1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 16[rax]
	sub	edx, eax
	mov	eax, DWORD PTR global_config[rip+4]
	mov	ecx, DWORD PTR global_config[rip+8]
	sub	eax, ecx
	cmp	edx, eax
	jge	.L1432
	mov	edx, DWORD PTR -48[rbp]
	mov	eax, DWORD PTR -44[rbp]
	add	edx, eax
	mov	ecx, DWORD PTR -48[rbp]
	mov	eax, DWORD PTR -44[rbp]
	add	eax, ecx
	lea	ecx, 1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	esi, DWORD PTR 16[rax]
	mov	eax, ecx
	sub	eax, esi
	sub	eax, 1
	mov	esi, edx
	mov	edi, eax
	call	redraw_line
	jmp	.L1432
.L1473:
	nop
	jmp	.L1432
.L1474:
	nop
	jmp	.L1432
.L1475:
	nop
	jmp	.L1432
.L1476:
	nop
.L1432:
	add	DWORD PTR -44[rbp], 1
.L1430:
	mov	eax, DWORD PTR -44[rbp]
	cmp	eax, DWORD PTR -52[rbp]
	jl	.L1471
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 36[rax]
	mov	rax, QWORD PTR env[rip]
	mov	rcx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 4[rax]
	cmp	edx, eax
	jle	.L1472
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 4[rdx]
	mov	DWORD PTR 36[rax], edx
.L1472:
	call	set_preferred_column
	call	set_modified
	nop
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE142:
	.size	adjust_indent, .-adjust_indent
	.section	.rodata
.LC447:
	.string	"Buffer is read-only"
	.text
	.globl	line_selection_mode
	.type	line_selection_mode, @function
line_selection_mode:
.LFB143:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 160
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	mov	DWORD PTR -112[rbp], eax
	mov	eax, DWORD PTR -112[rbp]
	mov	DWORD PTR -152[rbp], eax
	mov	rax, QWORD PTR env[rip]
	mov	WORD PTR 2[rax], 2
	call	redraw_commandline
	mov	DWORD PTR -156[rbp], 0
	mov	DWORD PTR -148[rbp], 0
	jmp	.L1478
.L1479:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -148[rbp]
	movsx	rdx, edx
	movzx	eax, WORD PTR 12[rax+rdx*4]
	shr	ax, 4
	mov	edx, eax
	and	edx, 127
	mov	rax, QWORD PTR env[rip]
	mov	rcx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	ecx, edx
	or	ecx, 16
	mov	edx, DWORD PTR -148[rbp]
	movsx	rdx, edx
	movzx	ecx, cl
	and	ecx, 127
	mov	esi, ecx
	sal	esi, 4
	movzx	ecx, WORD PTR 12[rax+rdx*4]
	and	cx, -2033
	or	ecx, esi
	mov	WORD PTR 12[rax+rdx*4], cx
	add	DWORD PTR -148[rbp], 1
.L1478:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -148[rbp], eax
	jl	.L1479
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	ecx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR env[rip]
	mov	esi, DWORD PTR 16[rax]
	mov	eax, ecx
	sub	eax, esi
	sub	eax, 1
	mov	esi, edx
	mov	edi, eax
	call	redraw_line
	jmp	.L1480
.L1548:
	cmp	DWORD PTR -108[rbp], -1
	jne	.L1481
	mov	eax, DWORD PTR -156[rbp]
	test	eax, eax
	je	.L1482
	mov	eax, DWORD PTR -156[rbp]
	sub	eax, 1
	cdqe
	mov	eax, DWORD PTR -96[rbp+rax*4]
	cmp	eax, 27
	je	.L1552
.L1482:
	mov	DWORD PTR -156[rbp], 0
	jmp	.L1480
.L1481:
	mov	eax, DWORD PTR -156[rbp]
	test	eax, eax
	jne	.L1484
	cmp	DWORD PTR -108[rbp], 127
	je	.L1485
	cmp	DWORD PTR -108[rbp], 127
	jg	.L1486
	cmp	DWORD PTR -108[rbp], 121
	je	.L1487
	cmp	DWORD PTR -108[rbp], 121
	jg	.L1486
	cmp	DWORD PTR -108[rbp], 100
	je	.L1488
	cmp	DWORD PTR -108[rbp], 100
	jg	.L1486
	cmp	DWORD PTR -108[rbp], 86
	je	.L1553
	cmp	DWORD PTR -108[rbp], 86
	jg	.L1486
	cmp	DWORD PTR -108[rbp], 68
	je	.L1488
	cmp	DWORD PTR -108[rbp], 68
	jg	.L1486
	cmp	DWORD PTR -108[rbp], 27
	je	.L1490
	cmp	DWORD PTR -108[rbp], 27
	jg	.L1486
	cmp	DWORD PTR -108[rbp], 8
	je	.L1485
	cmp	DWORD PTR -108[rbp], 9
	je	.L1491
	jmp	.L1486
.L1490:
	mov	eax, DWORD PTR -156[rbp]
	test	eax, eax
	jne	.L1554
	mov	eax, DWORD PTR -156[rbp]
	cdqe
	mov	edx, DWORD PTR -108[rbp]
	mov	DWORD PTR -96[rbp+rax*4], edx
	mov	eax, DWORD PTR -156[rbp]
	add	eax, 1
	mov	DWORD PTR -156[rbp], eax
	jmp	.L1554
.L1485:
	call	cursor_left
	jmp	.L1505
.L1491:
	mov	rax, QWORD PTR env[rip]
	movzx	eax, BYTE PTR [rax]
	and	eax, 8
	test	al, al
	jne	.L1555
	mov	eax, DWORD PTR -112[rbp]
	mov	esi, 1
	mov	edi, eax
	call	adjust_indent
	jmp	.L1505
.L1487:
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 24[rax]
	mov	eax, DWORD PTR -112[rbp]
	mov	esi, edx
	mov	edi, eax
	call	yank_lines
	jmp	.L1483
.L1488:
	mov	rax, QWORD PTR env[rip]
	movzx	eax, BYTE PTR [rax]
	and	eax, 8
	test	al, al
	jne	.L1556
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 24[rax]
	mov	eax, DWORD PTR -112[rbp]
	mov	esi, edx
	mov	edi, eax
	call	yank_lines
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -112[rbp], eax
	jg	.L1497
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	sub	eax, DWORD PTR -112[rbp]
	add	eax, 1
	mov	DWORD PTR -100[rbp], eax
	mov	DWORD PTR -144[rbp], 0
	jmp	.L1498
.L1499:
	mov	eax, DWORD PTR -112[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 64[rax]
	mov	esi, edx
	mov	rdi, rax
	call	remove_line
	add	DWORD PTR -144[rbp], 1
.L1498:
	mov	eax, DWORD PTR -144[rbp]
	cmp	eax, DWORD PTR -100[rbp]
	jl	.L1499
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR -112[rbp]
	mov	DWORD PTR 24[rax], edx
	jmp	.L1500
.L1497:
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 24[rax]
	mov	eax, DWORD PTR -112[rbp]
	sub	eax, edx
	add	eax, 1
	mov	DWORD PTR -104[rbp], eax
	mov	DWORD PTR -140[rbp], 0
	jmp	.L1501
.L1502:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 64[rax]
	mov	esi, edx
	mov	rdi, rax
	call	remove_line
	add	DWORD PTR -140[rbp], 1
.L1501:
	mov	eax, DWORD PTR -140[rbp]
	cmp	eax, DWORD PTR -104[rbp]
	jl	.L1502
.L1500:
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 28[rax]
	cmp	edx, eax
	jle	.L1503
	mov	rdx, QWORD PTR env[rip]
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 28[rdx]
	mov	DWORD PTR 24[rax], edx
.L1503:
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 36[rax]
	mov	rax, QWORD PTR env[rip]
	mov	rcx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 4[rax]
	cmp	edx, eax
	jle	.L1504
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 4[rdx]
	mov	DWORD PTR 36[rax], edx
.L1504:
	call	set_preferred_column
	call	set_modified
	jmp	.L1483
.L1486:
	mov	eax, DWORD PTR -108[rbp]
	mov	edi, eax
	call	handle_navigation
	jmp	.L1505
.L1484:
	mov	edx, DWORD PTR -108[rbp]
	lea	rcx, -156[rbp]
	lea	rax, -96[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	handle_escape
	cmp	eax, 1
	je	.L1506
	cmp	eax, 90
	je	.L1507
	jmp	.L1505
.L1506:
	mov	eax, DWORD PTR -108[rbp]
	mov	edi, eax
	call	bim_unget
	jmp	.L1483
.L1507:
	mov	rax, QWORD PTR env[rip]
	movzx	eax, BYTE PTR [rax]
	and	eax, 8
	test	al, al
	jne	.L1557
	mov	eax, DWORD PTR -112[rbp]
	mov	esi, -1
	mov	edi, eax
	call	adjust_indent
	jmp	.L1505
.L1554:
	nop
.L1505:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -112[rbp], eax
	je	.L1558
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 28[rax]
	add	eax, 1
	cmp	edx, eax
	jle	.L1511
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 16[rax]
	sub	edx, eax
	mov	eax, DWORD PTR global_config[rip+4]
	mov	ecx, DWORD PTR global_config[rip+8]
	sub	eax, ecx
	cmp	edx, eax
	jge	.L1558
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR env[rip]
	mov	ecx, DWORD PTR 16[rax]
	mov	eax, edx
	sub	eax, ecx
	sub	eax, 1
	mov	edi, eax
	call	draw_excess_line
	jmp	.L1558
.L1511:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -112[rbp], eax
	jle	.L1513
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -112[rbp], eax
	jl	.L1514
.L1513:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -112[rbp], eax
	jge	.L1515
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -112[rbp], eax
	jg	.L1514
.L1515:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -112[rbp], eax
	jne	.L1516
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -112[rbp], eax
	je	.L1516
.L1514:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	rcx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	esi, edx
	mov	rdi, rax
	call	recalculate_syntax
	jmp	.L1517
.L1516:
	mov	DWORD PTR -136[rbp], 0
	jmp	.L1518
.L1519:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -136[rbp]
	movsx	rdx, edx
	movzx	eax, WORD PTR 12[rax+rdx*4]
	shr	ax, 4
	mov	edx, eax
	and	edx, 127
	mov	rax, QWORD PTR env[rip]
	mov	rcx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	ecx, edx
	or	ecx, 16
	mov	edx, DWORD PTR -136[rbp]
	movsx	rdx, edx
	movzx	ecx, cl
	and	ecx, 127
	mov	esi, ecx
	sal	esi, 4
	movzx	ecx, WORD PTR 12[rax+rdx*4]
	and	cx, -2033
	or	ecx, esi
	mov	WORD PTR 12[rax+rdx*4], cx
	add	DWORD PTR -136[rbp], 1
.L1518:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -136[rbp], eax
	jl	.L1519
.L1517:
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR env[rip]
	mov	ecx, DWORD PTR 16[rax]
	mov	eax, edx
	sub	eax, ecx
	test	eax, eax
	jle	.L1510
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 16[rax]
	sub	edx, eax
	mov	eax, DWORD PTR global_config[rip+4]
	mov	ecx, DWORD PTR global_config[rip+8]
	sub	eax, ecx
	cmp	edx, eax
	jge	.L1510
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	ecx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR env[rip]
	mov	esi, DWORD PTR 16[rax]
	mov	eax, ecx
	sub	eax, esi
	sub	eax, 1
	mov	esi, edx
	mov	edi, eax
	call	redraw_line
	jmp	.L1510
.L1558:
	nop
.L1510:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -152[rbp], eax
	jge	.L1520
	mov	eax, DWORD PTR -152[rbp]
	mov	DWORD PTR -132[rbp], eax
	jmp	.L1521
.L1533:
	mov	eax, DWORD PTR -132[rbp]
	cmp	eax, DWORD PTR -112[rbp]
	je	.L1559
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 28[rax]
	add	eax, 1
	cmp	DWORD PTR -132[rbp], eax
	jle	.L1524
	mov	rax, QWORD PTR env[rip]
	mov	ecx, DWORD PTR 16[rax]
	mov	eax, DWORD PTR -132[rbp]
	sub	eax, ecx
	mov	edx, eax
	mov	eax, DWORD PTR global_config[rip+4]
	mov	ecx, DWORD PTR global_config[rip+8]
	sub	eax, ecx
	cmp	edx, eax
	jge	.L1559
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 16[rax]
	mov	eax, DWORD PTR -132[rbp]
	sub	eax, edx
	sub	eax, 1
	mov	edi, eax
	call	draw_excess_line
	jmp	.L1559
.L1524:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -112[rbp], eax
	jle	.L1526
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -132[rbp], eax
	jl	.L1527
	mov	eax, DWORD PTR -132[rbp]
	cmp	eax, DWORD PTR -112[rbp]
	jg	.L1527
.L1526:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -112[rbp], eax
	jge	.L1528
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -132[rbp], eax
	jg	.L1527
	mov	eax, DWORD PTR -132[rbp]
	cmp	eax, DWORD PTR -112[rbp]
	jl	.L1527
.L1528:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -112[rbp], eax
	jne	.L1529
	mov	eax, DWORD PTR -132[rbp]
	cmp	eax, DWORD PTR -112[rbp]
	je	.L1529
.L1527:
	mov	eax, DWORD PTR -132[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	rcx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -132[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	esi, edx
	mov	rdi, rax
	call	recalculate_syntax
	jmp	.L1530
.L1529:
	mov	DWORD PTR -128[rbp], 0
	jmp	.L1531
.L1532:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -132[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -128[rbp]
	movsx	rdx, edx
	movzx	eax, WORD PTR 12[rax+rdx*4]
	shr	ax, 4
	mov	edx, eax
	and	edx, 127
	mov	rax, QWORD PTR env[rip]
	mov	rcx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -132[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	ecx, edx
	or	ecx, 16
	mov	edx, DWORD PTR -128[rbp]
	movsx	rdx, edx
	movzx	ecx, cl
	and	ecx, 127
	mov	esi, ecx
	sal	esi, 4
	movzx	ecx, WORD PTR 12[rax+rdx*4]
	and	cx, -2033
	or	ecx, esi
	mov	WORD PTR 12[rax+rdx*4], cx
	add	DWORD PTR -128[rbp], 1
.L1531:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -132[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -128[rbp], eax
	jl	.L1532
.L1530:
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 16[rax]
	mov	eax, DWORD PTR -132[rbp]
	sub	eax, edx
	test	eax, eax
	jle	.L1523
	mov	rax, QWORD PTR env[rip]
	mov	ecx, DWORD PTR 16[rax]
	mov	eax, DWORD PTR -132[rbp]
	sub	eax, ecx
	mov	edx, eax
	mov	eax, DWORD PTR global_config[rip+4]
	mov	ecx, DWORD PTR global_config[rip+8]
	sub	eax, ecx
	cmp	edx, eax
	jge	.L1523
	mov	eax, DWORD PTR -132[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	ecx, DWORD PTR 16[rax]
	mov	eax, DWORD PTR -132[rbp]
	sub	eax, ecx
	sub	eax, 1
	mov	esi, edx
	mov	edi, eax
	call	redraw_line
	jmp	.L1523
.L1559:
	nop
.L1523:
	add	DWORD PTR -132[rbp], 1
.L1521:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -132[rbp], eax
	jl	.L1533
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	mov	DWORD PTR -152[rbp], eax
	jmp	.L1534
.L1520:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -152[rbp], eax
	jle	.L1534
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	add	eax, 1
	mov	DWORD PTR -124[rbp], eax
	jmp	.L1535
.L1547:
	mov	eax, DWORD PTR -124[rbp]
	cmp	eax, DWORD PTR -112[rbp]
	je	.L1560
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 28[rax]
	add	eax, 1
	cmp	DWORD PTR -124[rbp], eax
	jle	.L1538
	mov	rax, QWORD PTR env[rip]
	mov	ecx, DWORD PTR 16[rax]
	mov	eax, DWORD PTR -124[rbp]
	sub	eax, ecx
	mov	edx, eax
	mov	eax, DWORD PTR global_config[rip+4]
	mov	ecx, DWORD PTR global_config[rip+8]
	sub	eax, ecx
	cmp	edx, eax
	jge	.L1560
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 16[rax]
	mov	eax, DWORD PTR -124[rbp]
	sub	eax, edx
	sub	eax, 1
	mov	edi, eax
	call	draw_excess_line
	jmp	.L1560
.L1538:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -112[rbp], eax
	jle	.L1540
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -124[rbp], eax
	jl	.L1541
	mov	eax, DWORD PTR -124[rbp]
	cmp	eax, DWORD PTR -112[rbp]
	jg	.L1541
.L1540:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -112[rbp], eax
	jge	.L1542
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -124[rbp], eax
	jg	.L1541
	mov	eax, DWORD PTR -124[rbp]
	cmp	eax, DWORD PTR -112[rbp]
	jl	.L1541
.L1542:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -112[rbp], eax
	jne	.L1543
	mov	eax, DWORD PTR -124[rbp]
	cmp	eax, DWORD PTR -112[rbp]
	je	.L1543
.L1541:
	mov	eax, DWORD PTR -124[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	rcx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -124[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	esi, edx
	mov	rdi, rax
	call	recalculate_syntax
	jmp	.L1544
.L1543:
	mov	DWORD PTR -120[rbp], 0
	jmp	.L1545
.L1546:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -124[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -120[rbp]
	movsx	rdx, edx
	movzx	eax, WORD PTR 12[rax+rdx*4]
	shr	ax, 4
	mov	edx, eax
	and	edx, 127
	mov	rax, QWORD PTR env[rip]
	mov	rcx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -124[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	ecx, edx
	or	ecx, 16
	mov	edx, DWORD PTR -120[rbp]
	movsx	rdx, edx
	movzx	ecx, cl
	and	ecx, 127
	mov	esi, ecx
	sal	esi, 4
	movzx	ecx, WORD PTR 12[rax+rdx*4]
	and	cx, -2033
	or	ecx, esi
	mov	WORD PTR 12[rax+rdx*4], cx
	add	DWORD PTR -120[rbp], 1
.L1545:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -124[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -120[rbp], eax
	jl	.L1546
.L1544:
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 16[rax]
	mov	eax, DWORD PTR -124[rbp]
	sub	eax, edx
	test	eax, eax
	jle	.L1537
	mov	rax, QWORD PTR env[rip]
	mov	ecx, DWORD PTR 16[rax]
	mov	eax, DWORD PTR -124[rbp]
	sub	eax, ecx
	mov	edx, eax
	mov	eax, DWORD PTR global_config[rip+4]
	mov	ecx, DWORD PTR global_config[rip+8]
	sub	eax, ecx
	cmp	edx, eax
	jge	.L1537
	mov	eax, DWORD PTR -124[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	ecx, DWORD PTR 16[rax]
	mov	eax, DWORD PTR -124[rbp]
	sub	eax, ecx
	sub	eax, 1
	mov	esi, edx
	mov	edi, eax
	call	redraw_line
	jmp	.L1537
.L1560:
	nop
.L1537:
	add	DWORD PTR -124[rbp], 1
.L1535:
	mov	eax, DWORD PTR -124[rbp]
	cmp	eax, DWORD PTR -152[rbp]
	jle	.L1547
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	mov	DWORD PTR -152[rbp], eax
.L1534:
	call	place_cursor_actual
	jmp	.L1480
.L1555:
	nop
	jmp	.L1495
.L1556:
	nop
	jmp	.L1495
.L1557:
	nop
.L1495:
	lea	rdi, .LC447[rip]
	mov	eax, 0
	call	render_error
.L1480:
	mov	edi, 200
	call	bim_getch_timeout
	mov	DWORD PTR -108[rbp], eax
	cmp	DWORD PTR -108[rbp], 0
	jne	.L1548
	jmp	.L1483
.L1552:
	nop
	jmp	.L1483
.L1553:
	nop
.L1483:
	call	set_history_break
	mov	rax, QWORD PTR env[rip]
	mov	WORD PTR 2[rax], 0
	mov	DWORD PTR -116[rbp], 0
	jmp	.L1549
.L1550:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -116[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -116[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	recalculate_syntax
	add	DWORD PTR -116[rbp], 1
.L1549:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 28[rax]
	cmp	DWORD PTR -116[rbp], eax
	jl	.L1550
	call	redraw_all
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L1551
	call	__stack_chk_fail@PLT
.L1551:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE143:
	.size	line_selection_mode, .-line_selection_mode
	.globl	point_in_range
	.type	point_in_range, @function
point_in_range:
.LFB144:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -24[rbp], esi
	mov	DWORD PTR -28[rbp], edx
	mov	DWORD PTR -32[rbp], ecx
	mov	DWORD PTR -36[rbp], r8d
	mov	DWORD PTR -40[rbp], r9d
	mov	eax, DWORD PTR -20[rbp]
	cmp	eax, DWORD PTR -24[rbp]
	jne	.L1562
	mov	eax, DWORD PTR -32[rbp]
	cmp	eax, DWORD PTR -28[rbp]
	jge	.L1563
	mov	eax, DWORD PTR -32[rbp]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -28[rbp]
	mov	DWORD PTR -32[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	mov	DWORD PTR -28[rbp], eax
.L1563:
	mov	eax, DWORD PTR -40[rbp]
	cmp	eax, DWORD PTR -28[rbp]
	jl	.L1564
	mov	eax, DWORD PTR -40[rbp]
	cmp	eax, DWORD PTR -32[rbp]
	jg	.L1564
	mov	eax, 1
	jmp	.L1566
.L1564:
	mov	eax, 0
	jmp	.L1566
.L1562:
	mov	eax, DWORD PTR -20[rbp]
	cmp	eax, DWORD PTR -24[rbp]
	jle	.L1567
	mov	eax, DWORD PTR -24[rbp]
	mov	DWORD PTR -8[rbp], eax
	mov	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR -20[rbp], eax
	mov	eax, DWORD PTR -32[rbp]
	mov	DWORD PTR -8[rbp], eax
	mov	eax, DWORD PTR -28[rbp]
	mov	DWORD PTR -32[rbp], eax
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR -28[rbp], eax
.L1567:
	mov	eax, DWORD PTR -36[rbp]
	cmp	eax, DWORD PTR -20[rbp]
	jl	.L1568
	mov	eax, DWORD PTR -36[rbp]
	cmp	eax, DWORD PTR -24[rbp]
	jle	.L1569
.L1568:
	mov	eax, 0
	jmp	.L1566
.L1569:
	mov	eax, DWORD PTR -36[rbp]
	cmp	eax, DWORD PTR -20[rbp]
	jne	.L1570
	mov	eax, DWORD PTR -40[rbp]
	cmp	eax, DWORD PTR -28[rbp]
	setge	al
	movzx	eax, al
	jmp	.L1566
.L1570:
	mov	eax, DWORD PTR -36[rbp]
	cmp	eax, DWORD PTR -24[rbp]
	jne	.L1571
	mov	eax, DWORD PTR -40[rbp]
	cmp	eax, DWORD PTR -32[rbp]
	setle	al
	movzx	eax, al
	jmp	.L1566
.L1571:
	mov	eax, 1
.L1566:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE144:
	.size	point_in_range, .-point_in_range
	.globl	char_selection_mode
	.type	char_selection_mode, @function
char_selection_mode:
.LFB145:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 192
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	mov	DWORD PTR -188[rbp], eax
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 36[rax]
	mov	DWORD PTR -184[rbp], eax
	mov	eax, DWORD PTR -188[rbp]
	mov	DWORD PTR -180[rbp], eax
	mov	rax, QWORD PTR env[rip]
	mov	WORD PTR 2[rax], 4
	call	redraw_commandline
	mov	DWORD PTR -192[rbp], 0
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR env[rip]
	mov	edx, DWORD PTR 36[rdx]
	sub	edx, 1
	movsx	rdx, edx
	movzx	eax, WORD PTR 12[rax+rdx*4]
	shr	ax, 4
	mov	ecx, eax
	and	ecx, 127
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR env[rip]
	mov	edx, DWORD PTR 36[rdx]
	sub	edx, 1
	or	ecx, 16
	movsx	rdx, edx
	movzx	ecx, cl
	and	ecx, 127
	mov	esi, ecx
	sal	esi, 4
	movzx	ecx, WORD PTR 12[rax+rdx*4]
	and	cx, -2033
	or	ecx, esi
	mov	WORD PTR 12[rax+rdx*4], cx
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	ecx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR env[rip]
	mov	esi, DWORD PTR 16[rax]
	mov	eax, ecx
	sub	eax, esi
	sub	eax, 1
	mov	esi, edx
	mov	edi, eax
	call	redraw_line
	jmp	.L1573
.L1646:
	cmp	DWORD PTR -120[rbp], -1
	jne	.L1574
	mov	eax, DWORD PTR -192[rbp]
	test	eax, eax
	je	.L1575
	mov	eax, DWORD PTR -192[rbp]
	sub	eax, 1
	cdqe
	mov	eax, DWORD PTR -96[rbp+rax*4]
	cmp	eax, 27
	je	.L1651
.L1575:
	mov	DWORD PTR -192[rbp], 0
	jmp	.L1573
.L1574:
	mov	eax, DWORD PTR -192[rbp]
	test	eax, eax
	jne	.L1577
	cmp	DWORD PTR -120[rbp], 127
	je	.L1578
	cmp	DWORD PTR -120[rbp], 127
	jg	.L1579
	cmp	DWORD PTR -120[rbp], 121
	je	.L1580
	cmp	DWORD PTR -120[rbp], 121
	jg	.L1579
	cmp	DWORD PTR -120[rbp], 118
	je	.L1652
	cmp	DWORD PTR -120[rbp], 118
	jg	.L1579
	cmp	DWORD PTR -120[rbp], 100
	je	.L1582
	cmp	DWORD PTR -120[rbp], 100
	jg	.L1579
	cmp	DWORD PTR -120[rbp], 68
	je	.L1582
	cmp	DWORD PTR -120[rbp], 68
	jg	.L1579
	cmp	DWORD PTR -120[rbp], 8
	je	.L1578
	cmp	DWORD PTR -120[rbp], 27
	jne	.L1579
	mov	eax, DWORD PTR -192[rbp]
	test	eax, eax
	jne	.L1653
	mov	eax, DWORD PTR -192[rbp]
	cdqe
	mov	edx, DWORD PTR -120[rbp]
	mov	DWORD PTR -96[rbp+rax*4], edx
	mov	eax, DWORD PTR -192[rbp]
	add	eax, 1
	mov	DWORD PTR -192[rbp], eax
	jmp	.L1653
.L1578:
	call	cursor_left
	jmp	.L1602
.L1580:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	mov	DWORD PTR -176[rbp], eax
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 36[rax]
	mov	DWORD PTR -172[rbp], eax
	mov	eax, DWORD PTR -188[rbp]
	cmp	eax, DWORD PTR -176[rbp]
	jne	.L1585
	mov	eax, DWORD PTR -184[rbp]
	cmp	eax, DWORD PTR -172[rbp]
	jle	.L1586
	mov	eax, DWORD PTR -184[rbp]
	mov	DWORD PTR -112[rbp], eax
	mov	eax, DWORD PTR -172[rbp]
	mov	DWORD PTR -184[rbp], eax
	mov	eax, DWORD PTR -112[rbp]
	mov	DWORD PTR -172[rbp], eax
	jmp	.L1586
.L1585:
	mov	eax, DWORD PTR -188[rbp]
	cmp	eax, DWORD PTR -176[rbp]
	jle	.L1586
	mov	eax, DWORD PTR -188[rbp]
	mov	DWORD PTR -116[rbp], eax
	mov	eax, DWORD PTR -176[rbp]
	mov	DWORD PTR -188[rbp], eax
	mov	eax, DWORD PTR -116[rbp]
	mov	DWORD PTR -176[rbp], eax
	mov	eax, DWORD PTR -184[rbp]
	mov	DWORD PTR -116[rbp], eax
	mov	eax, DWORD PTR -172[rbp]
	mov	DWORD PTR -184[rbp], eax
	mov	eax, DWORD PTR -116[rbp]
	mov	DWORD PTR -172[rbp], eax
.L1586:
	mov	ecx, DWORD PTR -172[rbp]
	mov	edx, DWORD PTR -176[rbp]
	mov	esi, DWORD PTR -184[rbp]
	mov	eax, DWORD PTR -188[rbp]
	mov	edi, eax
	call	yank_text
	jmp	.L1576
.L1582:
	mov	rax, QWORD PTR env[rip]
	movzx	eax, BYTE PTR [rax]
	and	eax, 8
	test	al, al
	jne	.L1654
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	mov	DWORD PTR -168[rbp], eax
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 36[rax]
	mov	DWORD PTR -164[rbp], eax
	mov	eax, DWORD PTR -188[rbp]
	cmp	eax, DWORD PTR -168[rbp]
	jne	.L1589
	mov	eax, DWORD PTR -184[rbp]
	cmp	eax, DWORD PTR -164[rbp]
	jle	.L1590
	mov	eax, DWORD PTR -184[rbp]
	mov	DWORD PTR -100[rbp], eax
	mov	eax, DWORD PTR -164[rbp]
	mov	DWORD PTR -184[rbp], eax
	mov	eax, DWORD PTR -100[rbp]
	mov	DWORD PTR -164[rbp], eax
.L1590:
	mov	ecx, DWORD PTR -164[rbp]
	mov	edx, DWORD PTR -168[rbp]
	mov	esi, DWORD PTR -184[rbp]
	mov	eax, DWORD PTR -188[rbp]
	mov	edi, eax
	call	yank_text
	mov	eax, DWORD PTR -184[rbp]
	mov	DWORD PTR -160[rbp], eax
	jmp	.L1591
.L1592:
	mov	eax, DWORD PTR -188[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	rcx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -188[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	ecx, DWORD PTR -184[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	line_delete
	add	DWORD PTR -160[rbp], 1
.L1591:
	mov	eax, DWORD PTR -160[rbp]
	cmp	eax, DWORD PTR -164[rbp]
	jle	.L1592
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR -184[rbp]
	mov	DWORD PTR 36[rax], edx
	jmp	.L1593
.L1589:
	mov	eax, DWORD PTR -188[rbp]
	cmp	eax, DWORD PTR -168[rbp]
	jle	.L1594
	mov	eax, DWORD PTR -188[rbp]
	mov	DWORD PTR -108[rbp], eax
	mov	eax, DWORD PTR -168[rbp]
	mov	DWORD PTR -188[rbp], eax
	mov	eax, DWORD PTR -108[rbp]
	mov	DWORD PTR -168[rbp], eax
	mov	eax, DWORD PTR -184[rbp]
	mov	DWORD PTR -108[rbp], eax
	mov	eax, DWORD PTR -164[rbp]
	mov	DWORD PTR -184[rbp], eax
	mov	eax, DWORD PTR -108[rbp]
	mov	DWORD PTR -164[rbp], eax
.L1594:
	mov	ecx, DWORD PTR -164[rbp]
	mov	edx, DWORD PTR -168[rbp]
	mov	esi, DWORD PTR -184[rbp]
	mov	eax, DWORD PTR -188[rbp]
	mov	edi, eax
	call	yank_text
	mov	eax, DWORD PTR -188[rbp]
	add	eax, 1
	mov	DWORD PTR -156[rbp], eax
	jmp	.L1595
.L1596:
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 64[rax]
	mov	edx, DWORD PTR -188[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	remove_line
	add	DWORD PTR -156[rbp], 1
.L1595:
	mov	eax, DWORD PTR -156[rbp]
	cmp	eax, DWORD PTR -168[rbp]
	jl	.L1596
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -188[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 4[rax]
	mov	DWORD PTR -104[rbp], eax
	mov	eax, DWORD PTR -184[rbp]
	mov	DWORD PTR -152[rbp], eax
	jmp	.L1597
.L1598:
	mov	eax, DWORD PTR -188[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	rcx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -188[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	ecx, DWORD PTR -184[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	line_delete
	add	DWORD PTR -152[rbp], 1
.L1597:
	mov	eax, DWORD PTR -152[rbp]
	cmp	eax, DWORD PTR -104[rbp]
	jle	.L1598
	mov	DWORD PTR -148[rbp], 1
	jmp	.L1599
.L1600:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -188[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -188[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	line_delete
	add	DWORD PTR -148[rbp], 1
.L1599:
	mov	eax, DWORD PTR -148[rbp]
	cmp	eax, DWORD PTR -164[rbp]
	jle	.L1600
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 64[rax]
	mov	edx, DWORD PTR -188[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	merge_lines
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR -188[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR -184[rbp]
	mov	DWORD PTR 36[rax], edx
.L1593:
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 28[rax]
	cmp	edx, eax
	jle	.L1601
	mov	rdx, QWORD PTR env[rip]
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 28[rdx]
	mov	DWORD PTR 24[rax], edx
.L1601:
	call	set_preferred_column
	call	set_modified
	jmp	.L1576
.L1579:
	mov	eax, DWORD PTR -120[rbp]
	mov	edi, eax
	call	handle_navigation
	jmp	.L1602
.L1577:
	mov	edx, DWORD PTR -120[rbp]
	lea	rcx, -192[rbp]
	lea	rax, -96[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	handle_escape
	cmp	eax, 1
	jne	.L1602
	mov	eax, DWORD PTR -120[rbp]
	mov	edi, eax
	call	bim_unget
	jmp	.L1576
.L1653:
	nop
.L1602:
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 28[rax]
	add	eax, 1
	cmp	edx, eax
	jle	.L1603
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 16[rax]
	sub	edx, eax
	mov	eax, DWORD PTR global_config[rip+4]
	mov	ecx, DWORD PTR global_config[rip+8]
	sub	eax, ecx
	cmp	edx, eax
	jge	.L1655
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR env[rip]
	mov	ecx, DWORD PTR 16[rax]
	mov	eax, edx
	sub	eax, ecx
	sub	eax, 1
	mov	edi, eax
	call	draw_excess_line
	jmp	.L1655
.L1603:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -188[rbp], eax
	jle	.L1606
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -188[rbp], eax
	jl	.L1607
.L1606:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -188[rbp], eax
	jge	.L1608
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -188[rbp], eax
	jg	.L1607
.L1608:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -188[rbp], eax
	jne	.L1609
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -188[rbp], eax
	je	.L1609
.L1607:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	rcx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	esi, edx
	mov	rdi, rax
	call	recalculate_syntax
	jmp	.L1610
.L1609:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	rcx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	esi, edx
	mov	rdi, rax
	call	recalculate_syntax
	mov	DWORD PTR -144[rbp], 0
	jmp	.L1611
.L1613:
	mov	eax, DWORD PTR -144[rbp]
	lea	r8d, 1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	edi, DWORD PTR 24[rax]
	mov	rax, QWORD PTR env[rip]
	mov	ecx, DWORD PTR 36[rax]
	mov	rax, QWORD PTR env[rip]
	mov	esi, DWORD PTR 24[rax]
	mov	edx, DWORD PTR -184[rbp]
	mov	eax, DWORD PTR -188[rbp]
	mov	r9d, r8d
	mov	r8d, edi
	mov	edi, eax
	call	point_in_range
	test	eax, eax
	je	.L1612
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -144[rbp]
	movsx	rdx, edx
	movzx	eax, WORD PTR 12[rax+rdx*4]
	shr	ax, 4
	mov	edx, eax
	and	edx, 127
	mov	rax, QWORD PTR env[rip]
	mov	rcx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	ecx, edx
	or	ecx, 16
	mov	edx, DWORD PTR -144[rbp]
	movsx	rdx, edx
	movzx	ecx, cl
	and	ecx, 127
	mov	esi, ecx
	sal	esi, 4
	movzx	ecx, WORD PTR 12[rax+rdx*4]
	and	cx, -2033
	or	ecx, esi
	mov	WORD PTR 12[rax+rdx*4], cx
.L1612:
	add	DWORD PTR -144[rbp], 1
.L1611:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -144[rbp], eax
	jl	.L1613
.L1610:
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR env[rip]
	mov	ecx, DWORD PTR 16[rax]
	mov	eax, edx
	sub	eax, ecx
	test	eax, eax
	jle	.L1605
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 16[rax]
	sub	edx, eax
	mov	eax, DWORD PTR global_config[rip+4]
	mov	ecx, DWORD PTR global_config[rip+8]
	sub	eax, ecx
	cmp	edx, eax
	jge	.L1605
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	ecx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR env[rip]
	mov	esi, DWORD PTR 16[rax]
	mov	eax, ecx
	sub	eax, esi
	sub	eax, 1
	mov	esi, edx
	mov	edi, eax
	call	redraw_line
	jmp	.L1605
.L1655:
	nop
.L1605:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -180[rbp], eax
	jge	.L1614
	mov	eax, DWORD PTR -180[rbp]
	mov	DWORD PTR -140[rbp], eax
	jmp	.L1615
.L1629:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 28[rax]
	add	eax, 1
	cmp	DWORD PTR -140[rbp], eax
	jle	.L1616
	mov	rax, QWORD PTR env[rip]
	mov	ecx, DWORD PTR 16[rax]
	mov	eax, DWORD PTR -140[rbp]
	sub	eax, ecx
	mov	edx, eax
	mov	eax, DWORD PTR global_config[rip+4]
	mov	ecx, DWORD PTR global_config[rip+8]
	sub	eax, ecx
	cmp	edx, eax
	jge	.L1656
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 16[rax]
	mov	eax, DWORD PTR -140[rbp]
	sub	eax, edx
	sub	eax, 1
	mov	edi, eax
	call	draw_excess_line
	jmp	.L1656
.L1616:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -188[rbp], eax
	jle	.L1619
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -140[rbp], eax
	jl	.L1620
	mov	eax, DWORD PTR -140[rbp]
	cmp	eax, DWORD PTR -188[rbp]
	jg	.L1620
.L1619:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -188[rbp], eax
	jge	.L1621
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -140[rbp], eax
	jg	.L1620
	mov	eax, DWORD PTR -140[rbp]
	cmp	eax, DWORD PTR -188[rbp]
	jl	.L1620
.L1621:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -188[rbp], eax
	jne	.L1622
	mov	eax, DWORD PTR -140[rbp]
	cmp	eax, DWORD PTR -188[rbp]
	je	.L1622
.L1620:
	mov	eax, DWORD PTR -140[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	rcx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -140[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	esi, edx
	mov	rdi, rax
	call	recalculate_syntax
	jmp	.L1623
.L1622:
	mov	eax, DWORD PTR -140[rbp]
	cmp	eax, DWORD PTR -188[rbp]
	je	.L1624
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -140[rbp], eax
	jne	.L1625
.L1624:
	mov	eax, DWORD PTR -140[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	rcx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -140[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	esi, edx
	mov	rdi, rax
	call	recalculate_syntax
.L1625:
	mov	DWORD PTR -136[rbp], 0
	jmp	.L1626
.L1628:
	mov	eax, DWORD PTR -136[rbp]
	lea	r8d, 1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	ecx, DWORD PTR 36[rax]
	mov	rax, QWORD PTR env[rip]
	mov	esi, DWORD PTR 24[rax]
	mov	edi, DWORD PTR -140[rbp]
	mov	edx, DWORD PTR -184[rbp]
	mov	eax, DWORD PTR -188[rbp]
	mov	r9d, r8d
	mov	r8d, edi
	mov	edi, eax
	call	point_in_range
	test	eax, eax
	je	.L1627
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -140[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -136[rbp]
	movsx	rdx, edx
	movzx	eax, WORD PTR 12[rax+rdx*4]
	shr	ax, 4
	mov	edx, eax
	and	edx, 127
	mov	rax, QWORD PTR env[rip]
	mov	rcx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -140[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	ecx, edx
	or	ecx, 16
	mov	edx, DWORD PTR -136[rbp]
	movsx	rdx, edx
	movzx	ecx, cl
	and	ecx, 127
	mov	esi, ecx
	sal	esi, 4
	movzx	ecx, WORD PTR 12[rax+rdx*4]
	and	cx, -2033
	or	ecx, esi
	mov	WORD PTR 12[rax+rdx*4], cx
.L1627:
	add	DWORD PTR -136[rbp], 1
.L1626:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -140[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -136[rbp], eax
	jl	.L1628
.L1623:
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 16[rax]
	mov	eax, DWORD PTR -140[rbp]
	sub	eax, edx
	test	eax, eax
	jle	.L1618
	mov	rax, QWORD PTR env[rip]
	mov	ecx, DWORD PTR 16[rax]
	mov	eax, DWORD PTR -140[rbp]
	sub	eax, ecx
	mov	edx, eax
	mov	eax, DWORD PTR global_config[rip+4]
	mov	ecx, DWORD PTR global_config[rip+8]
	sub	eax, ecx
	cmp	edx, eax
	jge	.L1618
	mov	eax, DWORD PTR -140[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	ecx, DWORD PTR 16[rax]
	mov	eax, DWORD PTR -140[rbp]
	sub	eax, ecx
	sub	eax, 1
	mov	esi, edx
	mov	edi, eax
	call	redraw_line
	jmp	.L1618
.L1656:
	nop
.L1618:
	add	DWORD PTR -140[rbp], 1
.L1615:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -140[rbp], eax
	jl	.L1629
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	mov	DWORD PTR -180[rbp], eax
	jmp	.L1630
.L1614:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -180[rbp], eax
	jle	.L1630
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	add	eax, 1
	mov	DWORD PTR -132[rbp], eax
	jmp	.L1631
.L1645:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 28[rax]
	add	eax, 1
	cmp	DWORD PTR -132[rbp], eax
	jle	.L1632
	mov	rax, QWORD PTR env[rip]
	mov	ecx, DWORD PTR 16[rax]
	mov	eax, DWORD PTR -132[rbp]
	sub	eax, ecx
	mov	edx, eax
	mov	eax, DWORD PTR global_config[rip+4]
	mov	ecx, DWORD PTR global_config[rip+8]
	sub	eax, ecx
	cmp	edx, eax
	jge	.L1657
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 16[rax]
	mov	eax, DWORD PTR -132[rbp]
	sub	eax, edx
	sub	eax, 1
	mov	edi, eax
	call	draw_excess_line
	jmp	.L1657
.L1632:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -188[rbp], eax
	jle	.L1635
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -132[rbp], eax
	jl	.L1636
	mov	eax, DWORD PTR -132[rbp]
	cmp	eax, DWORD PTR -188[rbp]
	jg	.L1636
.L1635:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -188[rbp], eax
	jge	.L1637
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -132[rbp], eax
	jg	.L1636
	mov	eax, DWORD PTR -132[rbp]
	cmp	eax, DWORD PTR -188[rbp]
	jl	.L1636
.L1637:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -188[rbp], eax
	jne	.L1638
	mov	eax, DWORD PTR -132[rbp]
	cmp	eax, DWORD PTR -188[rbp]
	je	.L1638
.L1636:
	mov	eax, DWORD PTR -132[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	rcx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -132[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	esi, edx
	mov	rdi, rax
	call	recalculate_syntax
	jmp	.L1639
.L1638:
	mov	eax, DWORD PTR -132[rbp]
	cmp	eax, DWORD PTR -188[rbp]
	je	.L1640
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -132[rbp], eax
	jne	.L1641
.L1640:
	mov	eax, DWORD PTR -132[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	rcx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -132[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	esi, edx
	mov	rdi, rax
	call	recalculate_syntax
.L1641:
	mov	DWORD PTR -128[rbp], 0
	jmp	.L1642
.L1644:
	mov	eax, DWORD PTR -128[rbp]
	lea	r8d, 1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	ecx, DWORD PTR 36[rax]
	mov	rax, QWORD PTR env[rip]
	mov	esi, DWORD PTR 24[rax]
	mov	edi, DWORD PTR -132[rbp]
	mov	edx, DWORD PTR -184[rbp]
	mov	eax, DWORD PTR -188[rbp]
	mov	r9d, r8d
	mov	r8d, edi
	mov	edi, eax
	call	point_in_range
	test	eax, eax
	je	.L1643
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -132[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -128[rbp]
	movsx	rdx, edx
	movzx	eax, WORD PTR 12[rax+rdx*4]
	shr	ax, 4
	mov	edx, eax
	and	edx, 127
	mov	rax, QWORD PTR env[rip]
	mov	rcx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -132[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	ecx, edx
	or	ecx, 16
	mov	edx, DWORD PTR -128[rbp]
	movsx	rdx, edx
	movzx	ecx, cl
	and	ecx, 127
	mov	esi, ecx
	sal	esi, 4
	movzx	ecx, WORD PTR 12[rax+rdx*4]
	and	cx, -2033
	or	ecx, esi
	mov	WORD PTR 12[rax+rdx*4], cx
.L1643:
	add	DWORD PTR -128[rbp], 1
.L1642:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -132[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -128[rbp], eax
	jl	.L1644
.L1639:
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 16[rax]
	mov	eax, DWORD PTR -132[rbp]
	sub	eax, edx
	test	eax, eax
	jle	.L1634
	mov	rax, QWORD PTR env[rip]
	mov	ecx, DWORD PTR 16[rax]
	mov	eax, DWORD PTR -132[rbp]
	sub	eax, ecx
	mov	edx, eax
	mov	eax, DWORD PTR global_config[rip+4]
	mov	ecx, DWORD PTR global_config[rip+8]
	sub	eax, ecx
	cmp	edx, eax
	jge	.L1634
	mov	eax, DWORD PTR -132[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	ecx, DWORD PTR 16[rax]
	mov	eax, DWORD PTR -132[rbp]
	sub	eax, ecx
	sub	eax, 1
	mov	esi, edx
	mov	edi, eax
	call	redraw_line
	jmp	.L1634
.L1657:
	nop
.L1634:
	add	DWORD PTR -132[rbp], 1
.L1631:
	mov	eax, DWORD PTR -132[rbp]
	cmp	eax, DWORD PTR -180[rbp]
	jle	.L1645
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	mov	DWORD PTR -180[rbp], eax
.L1630:
	call	place_cursor_actual
	jmp	.L1573
.L1654:
	nop
.L1588:
	lea	rdi, .LC447[rip]
	mov	eax, 0
	call	render_error
.L1573:
	mov	edi, 200
	call	bim_getch_timeout
	mov	DWORD PTR -120[rbp], eax
	cmp	DWORD PTR -120[rbp], 0
	jne	.L1646
	jmp	.L1576
.L1651:
	nop
	jmp	.L1576
.L1652:
	nop
.L1576:
	call	set_history_break
	mov	rax, QWORD PTR env[rip]
	mov	WORD PTR 2[rax], 0
	mov	DWORD PTR -124[rbp], 0
	jmp	.L1647
.L1648:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -124[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -124[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	recalculate_syntax
	add	DWORD PTR -124[rbp], 1
.L1647:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 28[rax]
	cmp	DWORD PTR -124[rbp], eax
	jl	.L1648
	call	redraw_all
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L1649
	call	__stack_chk_fail@PLT
.L1649:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE145:
	.size	char_selection_mode, .-char_selection_mode
	.section	.rodata
.LC448:
	.string	"^V"
	.text
	.globl	insert_mode
	.type	insert_mode, @function
insert_mode:
.LFB146:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 144
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR env[rip]
	mov	WORD PTR 2[rax], 1
	call	redraw_commandline
	call	place_cursor_actual
	mov	DWORD PTR -132[rbp], 0
	mov	DWORD PTR -128[rbp], 0
	mov	DWORD PTR -116[rbp], 0
	jmp	.L1659
.L1695:
	cmp	DWORD PTR -100[rbp], -1
	jne	.L1660
	cmp	DWORD PTR -116[rbp], 0
	je	.L1661
	mov	eax, DWORD PTR -116[rbp]
	and	eax, 2
	test	eax, eax
	je	.L1662
	call	redraw_text
	jmp	.L1663
.L1662:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	ecx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR env[rip]
	mov	esi, DWORD PTR 16[rax]
	mov	eax, ecx
	sub	eax, esi
	sub	eax, 1
	mov	esi, edx
	mov	edi, eax
	call	redraw_line
.L1663:
	call	redraw_statusbar
	call	place_cursor_actual
	mov	DWORD PTR -116[rbp], 0
.L1661:
	mov	eax, DWORD PTR -132[rbp]
	test	eax, eax
	je	.L1664
	mov	eax, DWORD PTR -132[rbp]
	sub	eax, 1
	cdqe
	mov	eax, DWORD PTR -96[rbp+rax*4]
	cmp	eax, 27
	jne	.L1664
	call	leave_insert
	jmp	.L1658
.L1664:
	mov	DWORD PTR -132[rbp], 0
	jmp	.L1659
.L1660:
	mov	edx, DWORD PTR -100[rbp]
	lea	rcx, -136[rbp]
	lea	rax, -128[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	decode
	test	eax, eax
	jne	.L1666
	mov	eax, DWORD PTR -132[rbp]
	test	eax, eax
	jne	.L1667
	mov	eax, DWORD PTR -136[rbp]
	cmp	eax, 127
	je	.L1668
	cmp	eax, 127
	ja	.L1669
	cmp	eax, 27
	ja	.L1670
	cmp	eax, 8
	jb	.L1669
	sub	eax, 8
	cmp	eax, 19
	ja	.L1669
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L1672[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L1672[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L1672:
	.long	.L1668-.L1672
	.long	.L1676-.L1672
	.long	.L1675-.L1672
	.long	.L1669-.L1672
	.long	.L1669-.L1672
	.long	.L1675-.L1672
	.long	.L1669-.L1672
	.long	.L1669-.L1672
	.long	.L1669-.L1672
	.long	.L1669-.L1672
	.long	.L1669-.L1672
	.long	.L1669-.L1672
	.long	.L1669-.L1672
	.long	.L1669-.L1672
	.long	.L1674-.L1672
	.long	.L1673-.L1672
	.long	.L1669-.L1672
	.long	.L1669-.L1672
	.long	.L1669-.L1672
	.long	.L1671-.L1672
	.text
.L1670:
	cmp	eax, 125
	je	.L1677
	jmp	.L1669
.L1671:
	mov	eax, DWORD PTR -132[rbp]
	test	eax, eax
	jne	.L1698
	mov	edx, DWORD PTR -136[rbp]
	mov	eax, DWORD PTR -132[rbp]
	cdqe
	mov	DWORD PTR -96[rbp+rax*4], edx
	mov	eax, DWORD PTR -132[rbp]
	add	eax, 1
	mov	DWORD PTR -132[rbp], eax
	jmp	.L1698
.L1668:
	call	delete_at_cursor
	jmp	.L1659
.L1675:
	call	insert_line_feed
	or	DWORD PTR -116[rbp], 2
	jmp	.L1659
.L1674:
	lea	rdi, .LC448[rip]
	mov	eax, 0
	call	render_commandline_message
	call	place_cursor_actual
	nop
.L1680:
	mov	edi, 200
	call	bim_getch_timeout
	mov	DWORD PTR -100[rbp], eax
	cmp	DWORD PTR -100[rbp], -1
	je	.L1680
	mov	eax, DWORD PTR -100[rbp]
	mov	edi, eax
	call	insert_char
	call	redraw_commandline
	or	DWORD PTR -116[rbp], 1
	jmp	.L1659
.L1673:
	call	delete_word
	call	set_preferred_column
	jmp	.L1659
.L1676:
	mov	rax, QWORD PTR env[rip]
	movzx	eax, BYTE PTR [rax]
	and	eax, 2
	test	al, al
	je	.L1681
	mov	edi, 9
	call	insert_char
	jmp	.L1682
.L1681:
	mov	DWORD PTR -112[rbp], 0
	jmp	.L1683
.L1684:
	mov	edi, 32
	call	insert_char
	add	DWORD PTR -112[rbp], 1
.L1683:
	mov	rax, QWORD PTR env[rip]
	movzx	eax, WORD PTR 4[rax]
	cwde
	cmp	DWORD PTR -112[rbp], eax
	jl	.L1684
.L1682:
	or	DWORD PTR -116[rbp], 1
	call	set_preferred_column
	jmp	.L1659
.L1677:
	mov	rax, QWORD PTR env[rip]
	movzx	eax, BYTE PTR [rax]
	and	eax, 16
	test	al, al
	je	.L1669
	mov	DWORD PTR -108[rbp], 1
	mov	DWORD PTR -104[rbp], 0
	jmp	.L1685
.L1688:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -104[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	cmp	eax, 32
	je	.L1686
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -104[rbp]
	movsx	rdx, edx
	mov	eax, DWORD PTR 12[rax+rdx*4]
	shr	eax, 11
	cmp	eax, 9
	je	.L1686
	mov	DWORD PTR -108[rbp], 0
	jmp	.L1687
.L1686:
	add	DWORD PTR -104[rbp], 1
.L1685:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -104[rbp], eax
	jl	.L1688
.L1687:
	mov	edi, 125
	call	insert_char
	cmp	DWORD PTR -108[rbp], 0
	je	.L1689
	mov	DWORD PTR -124[rbp], -1
	mov	DWORD PTR -120[rbp], -1
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 36[rax]
	sub	edx, 1
	mov	DWORD PTR 36[rax], edx
	lea	rdx, -120[rbp]
	lea	rax, -124[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	find_matching_paren
	mov	eax, DWORD PTR -124[rbp]
	cmp	eax, -1
	je	.L1689
	jmp	.L1691
.L1692:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	rcx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	ecx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR env[rip]
	mov	rsi, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rsi
	mov	rax, QWORD PTR [rax]
	mov	esi, ecx
	mov	rdi, rax
	call	line_delete
.L1691:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 4[rax]
	test	eax, eax
	jne	.L1692
	mov	eax, DWORD PTR -124[rbp]
	lea	ecx, -1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	sub	eax, 1
	mov	edx, 1
	mov	esi, ecx
	mov	edi, eax
	call	add_indent
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR env[rip]
	add	edx, 1
	mov	DWORD PTR 36[rax], edx
	mov	edi, 125
	call	insert_char
.L1689:
	call	set_preferred_column
	or	DWORD PTR -116[rbp], 1
	jmp	.L1659
.L1669:
	mov	eax, DWORD PTR -136[rbp]
	mov	edi, eax
	call	insert_char
	call	set_preferred_column
	or	DWORD PTR -116[rbp], 1
	jmp	.L1659
.L1698:
	nop
	jmp	.L1659
.L1667:
	mov	eax, DWORD PTR -136[rbp]
	mov	edx, eax
	lea	rcx, -132[rbp]
	lea	rax, -96[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	handle_escape
	test	eax, eax
	je	.L1659
	mov	eax, DWORD PTR -136[rbp]
	mov	edi, eax
	call	bim_unget
	call	leave_insert
	jmp	.L1658
.L1666:
	mov	eax, DWORD PTR -128[rbp]
	cmp	eax, 1
	jne	.L1659
	mov	DWORD PTR -128[rbp], 0
.L1659:
	cmp	DWORD PTR -116[rbp], 0
	je	.L1693
	mov	eax, 10
	jmp	.L1694
.L1693:
	mov	eax, 200
.L1694:
	mov	edi, eax
	call	bim_getch_timeout
	mov	DWORD PTR -100[rbp], eax
	cmp	DWORD PTR -100[rbp], 0
	jne	.L1695
.L1658:
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L1697
	call	__stack_chk_fail@PLT
.L1697:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE146:
	.size	insert_mode, .-insert_mode
	.globl	replace_mode
	.type	replace_mode, @function
replace_mode:
.LFB147:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 112
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR env[rip]
	mov	WORD PTR 2[rax], 3
	call	redraw_commandline
	call	place_cursor_actual
	mov	DWORD PTR -108[rbp], 0
	mov	DWORD PTR -104[rbp], 0
	jmp	.L1700
.L1716:
	cmp	DWORD PTR -100[rbp], -1
	jne	.L1701
	mov	eax, DWORD PTR -108[rbp]
	test	eax, eax
	je	.L1702
	mov	eax, DWORD PTR -108[rbp]
	sub	eax, 1
	cdqe
	mov	eax, DWORD PTR -96[rbp+rax*4]
	cmp	eax, 27
	jne	.L1702
	call	leave_insert
	jmp	.L1699
.L1702:
	mov	DWORD PTR -108[rbp], 0
	jmp	.L1700
.L1701:
	mov	edx, DWORD PTR -100[rbp]
	lea	rcx, -112[rbp]
	lea	rax, -104[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	decode
	test	eax, eax
	jne	.L1704
	mov	eax, DWORD PTR -108[rbp]
	test	eax, eax
	jne	.L1705
	mov	eax, DWORD PTR -112[rbp]
	cmp	eax, 127
	je	.L1706
	cmp	eax, 127
	ja	.L1707
	cmp	eax, 27
	je	.L1708
	cmp	eax, 27
	ja	.L1707
	cmp	eax, 13
	je	.L1709
	cmp	eax, 13
	ja	.L1707
	cmp	eax, 8
	je	.L1706
	cmp	eax, 10
	je	.L1709
	jmp	.L1707
.L1708:
	mov	eax, DWORD PTR -108[rbp]
	test	eax, eax
	jne	.L1719
	mov	edx, DWORD PTR -112[rbp]
	mov	eax, DWORD PTR -108[rbp]
	cdqe
	mov	DWORD PTR -96[rbp+rax*4], edx
	mov	eax, DWORD PTR -108[rbp]
	add	eax, 1
	mov	DWORD PTR -108[rbp], eax
	jmp	.L1719
.L1706:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cmp	eax, 1
	jle	.L1712
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 36[rax]
	cmp	eax, 1
	jne	.L1712
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 24[rax]
	sub	edx, 1
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 4[rdx]
	mov	DWORD PTR 36[rax], edx
	call	set_preferred_column
	call	place_cursor_actual
	jmp	.L1700
.L1712:
	call	cursor_left
	jmp	.L1700
.L1709:
	call	insert_line_feed
	call	redraw_text
	call	set_modified
	call	redraw_statusbar
	call	place_cursor_actual
	jmp	.L1700
.L1707:
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 36[rax]
	mov	rax, QWORD PTR env[rip]
	mov	rcx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 4[rax]
	cmp	edx, eax
	jg	.L1714
	mov	eax, DWORD PTR -112[rbp]
	mov	edi, eax
	call	replace_char
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 36[rax]
	mov	rax, QWORD PTR env[rip]
	add	edx, 1
	mov	DWORD PTR 36[rax], edx
	jmp	.L1715
.L1714:
	mov	eax, DWORD PTR -112[rbp]
	mov	edi, eax
	call	insert_char
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	ecx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR env[rip]
	mov	esi, DWORD PTR 16[rax]
	mov	eax, ecx
	sub	eax, esi
	sub	eax, 1
	mov	esi, edx
	mov	edi, eax
	call	redraw_line
.L1715:
	call	redraw_statusbar
	call	place_cursor_actual
	jmp	.L1700
.L1719:
	nop
	jmp	.L1700
.L1705:
	mov	eax, DWORD PTR -112[rbp]
	mov	edx, eax
	lea	rcx, -108[rbp]
	lea	rax, -96[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	handle_escape
	test	eax, eax
	je	.L1700
	mov	eax, DWORD PTR -112[rbp]
	mov	edi, eax
	call	bim_unget
	call	leave_insert
	jmp	.L1699
.L1704:
	mov	eax, DWORD PTR -104[rbp]
	cmp	eax, 1
	jne	.L1700
	mov	DWORD PTR -104[rbp], 0
.L1700:
	mov	edi, 200
	call	bim_getch_timeout
	mov	DWORD PTR -100[rbp], eax
	cmp	DWORD PTR -100[rbp], 0
	jne	.L1716
.L1699:
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L1718
	call	__stack_chk_fail@PLT
.L1718:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE147:
	.size	replace_mode, .-replace_mode
	.globl	normal_mode
	.type	normal_mode, @function
normal_mode:
.LFB148:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 152
	.cfi_offset 3, -24
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -24[rbp], rax
	xor	eax, eax
.L1776:
	call	place_cursor_actual
	mov	DWORD PTR -156[rbp], 0
	jmp	.L1721
.L1775:
	cmp	DWORD PTR -116[rbp], -1
	jne	.L1722
	jmp	.L1721
.L1722:
	mov	eax, DWORD PTR -156[rbp]
	test	eax, eax
	jne	.L1723
	mov	eax, DWORD PTR -116[rbp]
	sub	eax, 8
	cmp	eax, 119
	ja	.L1724
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L1726[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L1726[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L1726:
	.long	.L1725-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1738-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1737-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1736-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1735-.L1726
	.long	.L1729-.L1726
	.long	.L1724-.L1726
	.long	.L1734-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1733-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1732-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1731-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1730-.L1726
	.long	.L1729-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1728-.L1726
	.long	.L1727-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1724-.L1726
	.long	.L1725-.L1726
	.text
.L1736:
	mov	eax, DWORD PTR -156[rbp]
	test	eax, eax
	jne	.L1778
	mov	eax, DWORD PTR -156[rbp]
	cdqe
	mov	edx, DWORD PTR -116[rbp]
	mov	DWORD PTR -112[rbp+rax*4], edx
	mov	eax, DWORD PTR -156[rbp]
	add	eax, 1
	mov	DWORD PTR -156[rbp], eax
	jmp	.L1778
.L1725:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cmp	eax, 1
	jle	.L1741
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 36[rax]
	cmp	eax, 1
	jne	.L1741
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 24[rax]
	sub	edx, 1
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 4[rdx]
	mov	DWORD PTR 36[rax], edx
	call	set_preferred_column
	call	place_cursor_actual
	jmp	.L1774
.L1741:
	call	cursor_left
	jmp	.L1774
.L1733:
	call	line_selection_mode
	jmp	.L1774
.L1727:
	call	char_selection_mode
	jmp	.L1774
.L1735:
	mov	rax, QWORD PTR env[rip]
	movzx	eax, BYTE PTR [rax]
	and	eax, 8
	test	al, al
	jne	.L1779
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 64[rax]
	mov	rbx, QWORD PTR env[rip]
	mov	esi, edx
	mov	rdi, rax
	call	add_line
	mov	QWORD PTR 64[rbx], rax
	mov	rax, QWORD PTR env[rip]
	mov	DWORD PTR 36[rax], 1
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	mov	rdx, QWORD PTR env[rip]
	mov	edx, DWORD PTR 24[rdx]
	lea	ecx, -1[rdx]
	mov	edx, 0
	mov	esi, eax
	mov	edi, ecx
	call	add_indent
	call	redraw_text
	call	set_preferred_column
	call	set_modified
	call	place_cursor_actual
	jmp	.L1731
.L1730:
	mov	rax, QWORD PTR env[rip]
	movzx	eax, BYTE PTR [rax]
	and	eax, 8
	test	al, al
	jne	.L1780
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 64[rax]
	mov	rbx, QWORD PTR env[rip]
	mov	esi, edx
	mov	rdi, rax
	call	add_line
	mov	QWORD PTR 64[rbx], rax
	mov	rax, QWORD PTR env[rip]
	mov	DWORD PTR 36[rax], 1
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR env[rip]
	add	edx, 1
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	lea	ecx, -2[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	sub	eax, 1
	mov	edx, 0
	mov	esi, ecx
	mov	edi, eax
	call	add_indent
	call	set_preferred_column
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 16[rax]
	mov	eax, DWORD PTR global_config[rip+4]
	add	eax, edx
	mov	ecx, DWORD PTR global_config[rip+8]
	sub	eax, ecx
	mov	edx, eax
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cmp	edx, eax
	jg	.L1746
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 16[rax]
	mov	rax, QWORD PTR env[rip]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
.L1746:
	call	redraw_text
	call	set_modified
	call	place_cursor_actual
	jmp	.L1731
.L1732:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 36[rax]
	cmp	edx, eax
	jl	.L1781
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 36[rax]
	mov	rax, QWORD PTR env[rip]
	add	edx, 1
	mov	DWORD PTR 36[rax], edx
	jmp	.L1781
.L1729:
	mov	rax, QWORD PTR env[rip]
	movzx	eax, BYTE PTR [rax]
	and	eax, 8
	test	al, al
	jne	.L1782
	mov	rax, QWORD PTR global_config[rip+24]
	test	rax, rax
	je	.L1783
	mov	eax, DWORD PTR global_config[rip+40]
	test	eax, eax
	jne	.L1750
	cmp	DWORD PTR -116[rbp], 80
	jne	.L1751
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 36[rax]
	jmp	.L1752
.L1751:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 36[rax]
	add	eax, 1
.L1752:
	mov	DWORD PTR -152[rbp], eax
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 4[rax]
	add	eax, 1
	cmp	DWORD PTR -152[rbp], eax
	jle	.L1753
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 4[rax]
	add	eax, 1
	mov	DWORD PTR -152[rbp], eax
.L1753:
	mov	rax, QWORD PTR global_config[rip+32]
	cmp	rax, 1
	jbe	.L1754
	mov	eax, DWORD PTR -152[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	lea	ecx, -1[rax]
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 64[rax]
	mov	rbx, QWORD PTR env[rip]
	mov	esi, ecx
	mov	rdi, rax
	call	split_line
	mov	QWORD PTR 64[rbx], rax
.L1754:
	mov	DWORD PTR -148[rbp], 0
	jmp	.L1755
.L1756:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	lea	ecx, -1[rax]
	mov	edx, DWORD PTR -152[rbp]
	mov	eax, DWORD PTR -148[rbp]
	add	eax, edx
	lea	edx, -1[rax]
	mov	rax, QWORD PTR global_config[rip+24]
	mov	rsi, QWORD PTR [rax]
	mov	rax, QWORD PTR env[rip]
	mov	rdi, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdi
	mov	rax, QWORD PTR [rax]
	mov	rdi, QWORD PTR env[rip]
	mov	r8, QWORD PTR 64[rdi]
	mov	rdi, QWORD PTR env[rip]
	mov	edi, DWORD PTR 24[rdi]
	movsx	rdi, edi
	sal	rdi, 3
	sub	rdi, 8
	lea	rbx, [r8+rdi]
	mov	edi, DWORD PTR -148[rbp]
	movsx	rdi, edi
	mov	esi, DWORD PTR 12[rsi+rdi*4]
	mov	rdi, rax
	call	line_insert
	mov	QWORD PTR [rbx], rax
	add	DWORD PTR -148[rbp], 1
.L1755:
	mov	rax, QWORD PTR global_config[rip+24]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -148[rbp], eax
	jl	.L1756
	mov	rax, QWORD PTR global_config[rip+32]
	cmp	rax, 1
	jbe	.L1757
	mov	DWORD PTR -144[rbp], 1
	jmp	.L1758
.L1759:
	mov	rax, QWORD PTR env[rip]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 64[rax]
	mov	rbx, QWORD PTR env[rip]
	mov	esi, edx
	mov	rdi, rax
	call	add_line
	mov	QWORD PTR 64[rbx], rax
	add	DWORD PTR -144[rbp], 1
.L1758:
	mov	eax, DWORD PTR -144[rbp]
	mov	rdx, QWORD PTR global_config[rip+32]
	sub	rdx, 1
	cmp	rax, rdx
	jb	.L1759
	mov	DWORD PTR -140[rbp], 1
	jmp	.L1760
.L1761:
	mov	rdx, QWORD PTR global_config[rip+24]
	mov	eax, DWORD PTR -140[rbp]
	sal	rax, 3
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	mov	ecx, eax
	mov	eax, DWORD PTR -140[rbp]
	add	eax, ecx
	sub	eax, 1
	mov	ecx, eax
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 64[rax]
	mov	esi, ecx
	mov	rdi, rax
	call	replace_line
	add	DWORD PTR -140[rbp], 1
.L1760:
	mov	eax, DWORD PTR -140[rbp]
	mov	rdx, QWORD PTR global_config[rip+32]
	sub	rdx, 1
	cmp	rax, rdx
	jb	.L1761
	mov	DWORD PTR -136[rbp], 0
	jmp	.L1762
.L1763:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	mov	edx, eax
	mov	rax, QWORD PTR global_config[rip+32]
	add	eax, edx
	sub	eax, 2
	mov	edi, eax
	mov	rdx, QWORD PTR global_config[rip+24]
	mov	rax, QWORD PTR global_config[rip+32]
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	movsx	rsi, eax
	mov	rax, QWORD PTR global_config[rip+32]
	add	rax, rsi
	sal	rax, 3
	sub	rax, 16
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR env[rip]
	mov	rsi, QWORD PTR 64[rdx]
	mov	rdx, QWORD PTR env[rip]
	mov	edx, DWORD PTR 24[rdx]
	movsx	r8, edx
	mov	rdx, QWORD PTR global_config[rip+32]
	add	rdx, r8
	sal	rdx, 3
	sub	rdx, 16
	lea	rbx, [rsi+rdx]
	mov	edx, DWORD PTR -136[rbp]
	mov	esi, DWORD PTR -136[rbp]
	movsx	rsi, esi
	mov	esi, DWORD PTR 12[rcx+rsi*4]
	mov	ecx, edi
	mov	rdi, rax
	call	line_insert
	mov	QWORD PTR [rbx], rax
	add	DWORD PTR -136[rbp], 1
.L1762:
	mov	rdx, QWORD PTR global_config[rip+24]
	mov	rax, QWORD PTR global_config[rip+32]
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -136[rbp], eax
	jl	.L1763
	jmp	.L1757
.L1750:
	mov	DWORD PTR -132[rbp], 0
	jmp	.L1764
.L1765:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -116[rbp], 80
	sete	dl
	movzx	ecx, dl
	sub	eax, ecx
	mov	edx, eax
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 64[rax]
	mov	rbx, QWORD PTR env[rip]
	mov	esi, edx
	mov	rdi, rax
	call	add_line
	mov	QWORD PTR 64[rbx], rax
	add	DWORD PTR -132[rbp], 1
.L1764:
	mov	edx, DWORD PTR -132[rbp]
	mov	rax, QWORD PTR global_config[rip+32]
	cmp	rdx, rax
	jb	.L1765
	mov	DWORD PTR -128[rbp], 0
	jmp	.L1766
.L1767:
	mov	rdx, QWORD PTR global_config[rip+24]
	mov	eax, DWORD PTR -128[rbp]
	sal	rax, 3
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -116[rbp], 80
	sete	cl
	movzx	ecx, cl
	sub	eax, ecx
	mov	ecx, eax
	mov	eax, DWORD PTR -128[rbp]
	add	eax, ecx
	mov	ecx, eax
	mov	rax, QWORD PTR env[rip]
	mov	rax, QWORD PTR 64[rax]
	mov	esi, ecx
	mov	rdi, rax
	call	replace_line
	add	DWORD PTR -128[rbp], 1
.L1766:
	mov	edx, DWORD PTR -128[rbp]
	mov	rax, QWORD PTR global_config[rip+32]
	cmp	rdx, rax
	jb	.L1767
.L1757:
	mov	DWORD PTR -124[rbp], 0
	jmp	.L1768
.L1769:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -124[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	DWORD PTR 8[rax], 0
	add	DWORD PTR -124[rbp], 1
.L1768:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 28[rax]
	cmp	DWORD PTR -124[rbp], eax
	jl	.L1769
	mov	DWORD PTR -120[rbp], 0
	jmp	.L1770
.L1771:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -120[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -120[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	recalculate_syntax
	add	DWORD PTR -120[rbp], 1
.L1770:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 28[rax]
	cmp	DWORD PTR -120[rbp], eax
	jl	.L1771
	call	set_history_break
	call	set_modified
	call	redraw_all
	jmp	.L1783
.L1728:
	call	undo_history
	jmp	.L1774
.L1737:
	call	redo_history
	jmp	.L1774
.L1738:
	call	redraw_all
	jmp	.L1774
.L1781:
	nop
.L1731:
	mov	rax, QWORD PTR env[rip]
	movzx	eax, BYTE PTR [rax]
	and	eax, 8
	test	al, al
	jne	.L1784
	call	insert_mode
	call	redraw_statusbar
	call	redraw_commandline
	mov	DWORD PTR -156[rbp], 0
	jmp	.L1774
.L1734:
	mov	rax, QWORD PTR env[rip]
	movzx	eax, BYTE PTR [rax]
	and	eax, 8
	test	al, al
	jne	.L1785
	call	replace_mode
	call	redraw_statusbar
	call	redraw_commandline
	mov	DWORD PTR -156[rbp], 0
	jmp	.L1774
.L1779:
	nop
	jmp	.L1744
.L1780:
	nop
	jmp	.L1744
.L1782:
	nop
	jmp	.L1744
.L1784:
	nop
	jmp	.L1744
.L1785:
	nop
.L1744:
	lea	rdi, .LC447[rip]
	mov	eax, 0
	call	render_error
	jmp	.L1774
.L1724:
	mov	eax, DWORD PTR -116[rbp]
	mov	edi, eax
	call	handle_navigation
	jmp	.L1774
.L1723:
	mov	edx, DWORD PTR -116[rbp]
	lea	rcx, -156[rbp]
	lea	rax, -112[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	handle_escape
	jmp	.L1774
.L1778:
	nop
	jmp	.L1774
.L1783:
	nop
.L1774:
	call	place_cursor_actual
.L1721:
	mov	edi, 200
	call	bim_getch_timeout
	mov	DWORD PTR -116[rbp], eax
	cmp	DWORD PTR -116[rbp], 0
	jne	.L1775
	jmp	.L1776
	.cfi_endproc
.LFE148:
	.size	normal_mode, .-normal_mode
	.section	.rodata
	.align 8
.LC449:
	.ascii	"bim - Text editor\n\nusage: %s [options] [file]\n       %s ["
	.ascii	"options] -- -\n\n -R     \033[3mopen initial buffer read-onl"
	.ascii	"y\033[0m\n -O     \033[3mset various options:\033[0m\n      "
	.ascii	"  noscroll    \033[3mdisable terminal scrolling\033[0m\n    "
	.ascii	"    noaltscreen \033[3mdisable alternate screen buffer\033[0"
	.ascii	"m\n        nomouse     \033[3mdisable mouse support\033[0m\n"
	.ascii	"        nounicode   \033[3mdisable unicode display\033[0m\n "
	.ascii	"       nobright    \033[3mdisable bright next\033[0m\n      "
	.ascii	"  nohideshow  \033[3mdisable togglging cursor visibility\033"
	.ascii	"[0m\n        nosyntax    \033[3mdisable syntax highlighting "
	.ascii	"on load\033[0m\n        notitle     \033[3mdisable title-set"
	.ascii	"ting e"
	.string	"scapes\033[0m\n        history     \033[3menable experimental undo/redo\033[0m\n -c,-C  \033[3mprint file to stdout with syntax hilighting\033[0m\n        \033[3m-C includes line numbers, -c does not\033[0m\n -u     \033[3moverride bimrc file\033[0m\n -?     \033[3mshow this help text\033[0m\n\n"
	.text
	.type	show_usage, @function
show_usage:
.LFB149:
	.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	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rsi, rax
	lea	rdi, .LC449[rip]
	mov	eax, 0
	call	printf@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE149:
	.size	show_usage, .-show_usage
	.section	.rodata
.LC450:
	.string	"HOME"
.LC451:
	.string	"%s%s"
	.text
	.globl	load_bimrc
	.type	load_bimrc, @function
load_bimrc:
.LFB150:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 1104
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR global_config[rip+48]
	test	rax, rax
	je	.L1813
	mov	rax, QWORD PTR global_config[rip+48]
	mov	rdi, rax
	call	strdup@PLT
	mov	QWORD PTR -1096[rbp], rax
	mov	rax, QWORD PTR -1096[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L1790
	mov	rax, QWORD PTR -1096[rbp]
	mov	rdi, rax
	call	free@PLT
	jmp	.L1787
.L1790:
	mov	rax, QWORD PTR -1096[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 126
	jne	.L1791
	mov	QWORD PTR -1040[rbp], 0
	mov	QWORD PTR -1032[rbp], 0
	lea	rdx, -1024[rbp]
	mov	eax, 0
	mov	ecx, 126
	mov	rdi, rdx
	rep stosq
	lea	rdi, .LC450[rip]
	call	getenv@PLT
	mov	QWORD PTR -1072[rbp], rax
	cmp	QWORD PTR -1072[rbp], 0
	jne	.L1792
	mov	rax, QWORD PTR -1096[rbp]
	mov	rdi, rax
	call	free@PLT
	jmp	.L1787
.L1792:
	mov	rax, QWORD PTR -1096[rbp]
	lea	rcx, 1[rax]
	mov	rdx, QWORD PTR -1072[rbp]
	lea	rax, -1040[rbp]
	mov	r8, rcx
	mov	rcx, rdx
	lea	rdx, .LC451[rip]
	mov	esi, 1024
	mov	rdi, rax
	mov	eax, 0
	call	snprintf@PLT
	mov	rax, QWORD PTR -1096[rbp]
	mov	rdi, rax
	call	free@PLT
	lea	rax, -1040[rbp]
	mov	rdi, rax
	call	strdup@PLT
	mov	QWORD PTR -1096[rbp], rax
.L1791:
	mov	rax, QWORD PTR -1096[rbp]
	lea	rsi, .LC378[rip]
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR -1064[rbp], rax
	cmp	QWORD PTR -1064[rbp], 0
	jne	.L1794
	mov	rax, QWORD PTR -1096[rbp]
	mov	rdi, rax
	call	free@PLT
	jmp	.L1787
.L1810:
	mov	rdx, QWORD PTR -1064[rbp]
	lea	rax, -1040[rbp]
	mov	esi, 1023
	mov	rdi, rax
	call	fgets@PLT
	mov	QWORD PTR -1056[rbp], rax
	cmp	QWORD PTR -1056[rbp], 0
	je	.L1814
	mov	rax, QWORD PTR -1056[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L1797
	jmp	.L1794
.L1797:
	mov	rax, QWORD PTR -1056[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	jne	.L1798
	jmp	.L1794
.L1798:
	mov	rax, QWORD PTR -1056[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 35
	jne	.L1799
	jmp	.L1794
.L1799:
	mov	rax, QWORD PTR -1056[rbp]
	mov	esi, 10
	mov	rdi, rax
	call	strchr@PLT
	mov	QWORD PTR -1048[rbp], rax
	cmp	QWORD PTR -1048[rbp], 0
	je	.L1800
	mov	rax, QWORD PTR -1048[rbp]
	mov	BYTE PTR [rax], 0
.L1800:
	mov	rax, QWORD PTR -1056[rbp]
	mov	esi, 61
	mov	rdi, rax
	call	strchr@PLT
	mov	QWORD PTR -1088[rbp], rax
	cmp	QWORD PTR -1088[rbp], 0
	je	.L1801
	mov	rax, QWORD PTR -1088[rbp]
	mov	BYTE PTR [rax], 0
	add	QWORD PTR -1088[rbp], 1
.L1801:
	mov	rax, QWORD PTR -1056[rbp]
	lea	rsi, .LC262[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L1802
	cmp	QWORD PTR -1088[rbp], 0
	je	.L1802
	lea	rax, themes[rip]
	mov	QWORD PTR -1080[rbp], rax
	jmp	.L1803
.L1805:
	mov	rax, QWORD PTR -1080[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -1088[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L1804
	mov	rax, QWORD PTR -1080[rbp]
	mov	rax, QWORD PTR 8[rax]
	call	rax
	jmp	.L1802
.L1804:
	add	QWORD PTR -1080[rbp], 16
.L1803:
	mov	rax, QWORD PTR -1080[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L1805
.L1802:
	mov	rax, QWORD PTR -1056[rbp]
	lea	rsi, .LC197[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L1806
	cmp	QWORD PTR -1088[rbp], 0
	je	.L1807
	mov	rax, QWORD PTR -1088[rbp]
	mov	rdi, rax
	call	atoi@PLT
	jmp	.L1808
.L1807:
	mov	eax, 1
.L1808:
	mov	DWORD PTR global_config[rip+88], eax
.L1806:
	mov	rax, QWORD PTR -1056[rbp]
	lea	rsi, .LC263[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L1809
	cmp	QWORD PTR -1088[rbp], 0
	je	.L1809
	mov	rax, QWORD PTR -1088[rbp]
	mov	rdi, rax
	call	atoi@PLT
	mov	DWORD PTR global_config[rip+92], eax
.L1809:
	mov	rax, QWORD PTR -1056[rbp]
	lea	rsi, .LC432[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L1794
	cmp	QWORD PTR -1088[rbp], 0
	je	.L1794
	mov	rax, QWORD PTR -1088[rbp]
	mov	rdi, rax
	call	atoi@PLT
	mov	DWORD PTR global_config[rip+96], eax
.L1794:
	mov	rax, QWORD PTR -1064[rbp]
	mov	rdi, rax
	call	feof@PLT
	test	eax, eax
	je	.L1810
	jmp	.L1796
.L1814:
	nop
.L1796:
	mov	rax, QWORD PTR -1064[rbp]
	mov	rdi, rax
	call	fclose@PLT
	jmp	.L1787
.L1813:
	nop
.L1787:
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L1812
	call	__stack_chk_fail@PLT
.L1812:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE150:
	.size	load_bimrc, .-load_bimrc
	.section	.rodata
.LC452:
	.string	"TERM"
.LC453:
	.string	"linux"
.LC454:
	.string	"cons25"
.LC455:
	.string	"sortix"
.LC456:
	.string	"tmux"
.LC457:
	.string	"screen"
.LC458:
	.string	"toaru-vga"
	.text
	.globl	detect_weird_terminals
	.type	detect_weird_terminals, @function
detect_weird_terminals:
.LFB151:
	.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
	lea	rdi, .LC452[rip]
	call	getenv@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L1816
	mov	rax, QWORD PTR -8[rbp]
	lea	rsi, .LC453[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L1816
	mov	DWORD PTR global_config[rip+56], 0
.L1816:
	cmp	QWORD PTR -8[rbp], 0
	je	.L1817
	mov	rax, QWORD PTR -8[rbp]
	lea	rsi, .LC454[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L1817
	mov	DWORD PTR global_config[rip+60], 0
	mov	DWORD PTR global_config[rip+64], 0
	mov	DWORD PTR global_config[rip+68], 0
	mov	DWORD PTR global_config[rip+72], 0
	mov	DWORD PTR global_config[rip+76], 0
.L1817:
	cmp	QWORD PTR -8[rbp], 0
	je	.L1818
	mov	rax, QWORD PTR -8[rbp]
	lea	rsi, .LC455[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L1818
	mov	DWORD PTR global_config[rip+80], 0
.L1818:
	cmp	QWORD PTR -8[rbp], 0
	je	.L1819
	mov	rax, QWORD PTR -8[rbp]
	lea	rsi, .LC456[rip]
	mov	rdi, rax
	call	strstr@PLT
	cmp	QWORD PTR -8[rbp], rax
	jne	.L1819
	mov	DWORD PTR global_config[rip+56], 0
	mov	DWORD PTR global_config[rip+84], 0
.L1819:
	cmp	QWORD PTR -8[rbp], 0
	je	.L1820
	mov	rax, QWORD PTR -8[rbp]
	lea	rsi, .LC457[rip]
	mov	rdi, rax
	call	strstr@PLT
	cmp	QWORD PTR -8[rbp], rax
	jne	.L1820
	mov	DWORD PTR global_config[rip+104], 0
	mov	DWORD PTR global_config[rip+112], 0
.L1820:
	cmp	QWORD PTR -8[rbp], 0
	je	.L1822
	mov	rax, QWORD PTR -8[rbp]
	lea	rsi, .LC458[rip]
	mov	rdi, rax
	call	strstr@PLT
	cmp	QWORD PTR -8[rbp], rax
	jne	.L1822
	mov	DWORD PTR global_config[rip+64], 0
	mov	DWORD PTR global_config[rip+104], 0
	mov	DWORD PTR global_config[rip+108], 0
.L1822:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE151:
	.size	detect_weird_terminals, .-detect_weird_terminals
	.globl	initialize
	.type	initialize, @function
initialize:
.LFB152:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	lea	rsi, .LC351[rip]
	mov	edi, 6
	call	setlocale@PLT
	call	detect_weird_terminals
	call	load_colorscheme_ansi
	call	load_bimrc
	mov	DWORD PTR buffers_avail[rip], 4
	mov	eax, DWORD PTR buffers_avail[rip]
	cdqe
	sal	rax, 3
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR buffers[rip], rax
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE152:
	.size	initialize, .-initialize
	.globl	init_terminal
	.type	init_terminal, @function
init_terminal:
.LFB153:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	call	set_alternate_screen
	call	update_screen_size
	call	get_initial_termios
	call	set_unbuffered
	call	mouse_enable
	lea	rsi, SIGWINCH_handler[rip]
	mov	edi, 28
	call	signal@PLT
	lea	rsi, SIGCONT_handler[rip]
	mov	edi, 18
	call	signal@PLT
	lea	rsi, SIGTSTP_handler[rip]
	mov	edi, 20
	call	signal@PLT
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE153:
	.size	init_terminal, .-init_terminal
	.section	.rodata
.LC459:
	.string	"noaltscreen"
.LC460:
	.string	"noscroll"
.LC461:
	.string	"nomouse"
.LC462:
	.string	"nounicode"
.LC463:
	.string	"nobright"
.LC464:
	.string	"nohideshow"
.LC465:
	.string	"nosyntax"
.LC466:
	.string	"nohistory"
.LC467:
	.string	"notitle"
.LC468:
	.string	"nobce"
	.align 8
.LC469:
	.string	"%s: unrecognized -O option: %s\n"
.LC470:
	.string	"version"
.LC471:
	.string	"1.1.5"
.LC472:
	.string	"bim %s %s\n"
	.align 8
.LC473:
	.string	" Available syntax highlighters:"
.LC474:
	.string	" %s"
.LC475:
	.string	" Available color themes:"
.LC476:
	.string	"?c:C:u:RO:-:"
	.text
	.globl	main
	.type	main, @function
main:
.LFB154:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	DWORD PTR -36[rbp], edi
	mov	QWORD PTR -48[rbp], rsi
	jmp	.L1826
.L1854:
	cmp	DWORD PTR -20[rbp], 117
	je	.L1827
	cmp	DWORD PTR -20[rbp], 117
	jg	.L1826
	cmp	DWORD PTR -20[rbp], 45
	je	.L1828
	cmp	DWORD PTR -20[rbp], 45
	jl	.L1826
	cmp	DWORD PTR -20[rbp], 99
	jg	.L1826
	cmp	DWORD PTR -20[rbp], 63
	jl	.L1826
	mov	eax, DWORD PTR -20[rbp]
	sub	eax, 63
	cmp	eax, 36
	ja	.L1826
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L1830[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L1830[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L1830:
	.long	.L1833-.L1830
	.long	.L1826-.L1830
	.long	.L1826-.L1830
	.long	.L1826-.L1830
	.long	.L1829-.L1830
	.long	.L1826-.L1830
	.long	.L1826-.L1830
	.long	.L1826-.L1830
	.long	.L1826-.L1830
	.long	.L1826-.L1830
	.long	.L1826-.L1830
	.long	.L1826-.L1830
	.long	.L1826-.L1830
	.long	.L1826-.L1830
	.long	.L1826-.L1830
	.long	.L1826-.L1830
	.long	.L1832-.L1830
	.long	.L1826-.L1830
	.long	.L1826-.L1830
	.long	.L1831-.L1830
	.long	.L1826-.L1830
	.long	.L1826-.L1830
	.long	.L1826-.L1830
	.long	.L1826-.L1830
	.long	.L1826-.L1830
	.long	.L1826-.L1830
	.long	.L1826-.L1830
	.long	.L1826-.L1830
	.long	.L1826-.L1830
	.long	.L1826-.L1830
	.long	.L1826-.L1830
	.long	.L1826-.L1830
	.long	.L1826-.L1830
	.long	.L1826-.L1830
	.long	.L1826-.L1830
	.long	.L1826-.L1830
	.long	.L1829-.L1830
	.text
.L1831:
	mov	DWORD PTR global_config[rip+16], 1
	jmp	.L1826
.L1829:
	call	initialize
	mov	DWORD PTR global_config[rip+116], 0
	mov	rax, QWORD PTR optarg[rip]
	mov	rdi, rax
	call	open_file
	mov	DWORD PTR -24[rbp], 0
	jmp	.L1834
.L1836:
	cmp	DWORD PTR -20[rbp], 67
	jne	.L1835
	mov	eax, DWORD PTR -24[rbp]
	mov	edi, eax
	call	draw_line_number
.L1835:
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 4[rax]
	lea	edx, 1[rax]
	mov	eax, edx
	add	eax, eax
	add	eax, edx
	add	eax, eax
	mov	ecx, eax
	mov	rax, QWORD PTR env[rip]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, 0
	mov	esi, ecx
	mov	rdi, rax
	call	render_line
	call	reset
	mov	rax, QWORD PTR stdout[rip]
	mov	rsi, rax
	mov	edi, 10
	call	fputc@PLT
	add	DWORD PTR -24[rbp], 1
.L1834:
	mov	rax, QWORD PTR env[rip]
	mov	eax, DWORD PTR 28[rax]
	cmp	DWORD PTR -24[rbp], eax
	jl	.L1836
	mov	eax, 0
	jmp	.L1837
.L1827:
	mov	rax, QWORD PTR optarg[rip]
	mov	QWORD PTR global_config[rip+48], rax
	jmp	.L1826
.L1832:
	mov	rax, QWORD PTR optarg[rip]
	lea	rsi, .LC459[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L1838
	mov	DWORD PTR global_config[rip+64], 0
	jmp	.L1826
.L1838:
	mov	rax, QWORD PTR optarg[rip]
	lea	rsi, .LC460[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L1840
	mov	DWORD PTR global_config[rip+56], 0
	jmp	.L1826
.L1840:
	mov	rax, QWORD PTR optarg[rip]
	lea	rsi, .LC461[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L1841
	mov	DWORD PTR global_config[rip+68], 0
	jmp	.L1826
.L1841:
	mov	rax, QWORD PTR optarg[rip]
	lea	rsi, .LC462[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L1842
	mov	DWORD PTR global_config[rip+72], 0
	jmp	.L1826
.L1842:
	mov	rax, QWORD PTR optarg[rip]
	lea	rsi, .LC463[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L1843
	mov	DWORD PTR global_config[rip+76], 0
	jmp	.L1826
.L1843:
	mov	rax, QWORD PTR optarg[rip]
	lea	rsi, .LC464[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L1844
	mov	DWORD PTR global_config[rip+60], 0
	jmp	.L1826
.L1844:
	mov	rax, QWORD PTR optarg[rip]
	lea	rsi, .LC465[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L1845
	mov	DWORD PTR global_config[rip+12], 0
	jmp	.L1826
.L1845:
	mov	rax, QWORD PTR optarg[rip]
	lea	rsi, .LC466[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L1846
	mov	DWORD PTR global_config[rip+88], 0
	jmp	.L1826
.L1846:
	mov	rax, QWORD PTR optarg[rip]
	lea	rsi, .LC467[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L1847
	mov	DWORD PTR global_config[rip+80], 0
	jmp	.L1826
.L1847:
	mov	rax, QWORD PTR optarg[rip]
	lea	rsi, .LC468[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L1848
	mov	DWORD PTR global_config[rip+84], 0
	jmp	.L1826
.L1848:
	mov	rcx, QWORD PTR optarg[rip]
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR stderr[rip]
	lea	rsi, .LC469[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, 1
	jmp	.L1837
.L1828:
	mov	rax, QWORD PTR optarg[rip]
	lea	rsi, .LC470[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L1826
	mov	rax, QWORD PTR stderr[rip]
	lea	rcx, .LC416[rip]
	lea	rdx, .LC471[rip]
	lea	rsi, .LC472[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 31
	mov	esi, 1
	lea	rdi, .LC473[rip]
	call	fwrite@PLT
	lea	rax, syntaxes[rip]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L1850
.L1851:
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR stderr[rip]
	lea	rsi, .LC474[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	add	QWORD PTR -16[rbp], 56
.L1850:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L1851
	mov	rax, QWORD PTR stderr[rip]
	mov	rsi, rax
	mov	edi, 10
	call	fputc@PLT
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 24
	mov	esi, 1
	lea	rdi, .LC475[rip]
	call	fwrite@PLT
	lea	rax, themes[rip]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L1852
.L1853:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR stderr[rip]
	lea	rsi, .LC474[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	add	QWORD PTR -8[rbp], 16
.L1852:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L1853
	mov	rax, QWORD PTR stderr[rip]
	mov	rsi, rax
	mov	edi, 10
	call	fputc@PLT
	mov	eax, 0
	jmp	.L1837
.L1833:
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	show_usage
	mov	eax, 0
	jmp	.L1837
.L1826:
	mov	rcx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -36[rbp]
	lea	rdx, .LC476[rip]
	mov	rsi, rcx
	mov	edi, eax
	call	getopt@PLT
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], -1
	jne	.L1854
	call	initialize
	call	init_terminal
	mov	eax, DWORD PTR optind[rip]
	cmp	DWORD PTR -36[rbp], eax
	jle	.L1855
	mov	eax, DWORD PTR optind[rip]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -48[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	open_file
	call	update_title
	mov	eax, DWORD PTR global_config[rip+16]
	test	eax, eax
	je	.L1856
	mov	rax, QWORD PTR env[rip]
	movzx	edx, BYTE PTR [rax]
	or	edx, 8
	mov	BYTE PTR [rax], dl
	jmp	.L1856
.L1855:
	call	buffer_new
	mov	QWORD PTR env[rip], rax
	call	update_title
	mov	rax, QWORD PTR env[rip]
	mov	rdi, rax
	call	setup_buffer
.L1856:
	call	redraw_all
	call	normal_mode
	mov	eax, 0
.L1837:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE154:
	.size	main, .-main
	.data
	.align 32
	.type	mask_bytes.2, @object
	.size	mask_bytes.2, 128
mask_bytes.2:
	.long	127
	.long	127
	.long	127
	.long	127
	.long	127
	.long	127
	.long	127
	.long	127
	.long	127
	.long	127
	.long	127
	.long	127
	.long	127
	.long	127
	.long	127
	.long	127
	.long	0
	.long	0
	.long	0
	.long	0
	.long	0
	.long	0
	.long	0
	.long	0
	.long	31
	.long	31
	.long	31
	.long	31
	.long	15
	.long	15
	.long	7
	.long	0
	.align 32
	.type	state_table.1, @object
	.size	state_table.1, 128
state_table.1:
	.long	0
	.long	0
	.long	0
	.long	0
	.long	0
	.long	0
	.long	0
	.long	0
	.long	0
	.long	0
	.long	0
	.long	0
	.long	0
	.long	0
	.long	0
	.long	0
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	2
	.long	2
	.long	2
	.long	2
	.long	3
	.long	3
	.long	4
	.long	1
	.align 16
	.type	next.0, @object
	.size	next.0, 20
next.0:
	.long	0
	.long	1
	.long	0
	.long	2
	.long	3
	.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	"106529.c"
	.text
	.global	COLOR_FG
	.section	.rodata
	.align	2
.LC0:
	.ascii	"@17\000"
	.data
	.align	2
	.type	COLOR_FG, %object
	.size	COLOR_FG, 4
COLOR_FG:
	.word	.LC0
	.global	COLOR_BG
	.section	.rodata
	.align	2
.LC1:
	.ascii	"@0\000"
	.data
	.align	2
	.type	COLOR_BG, %object
	.size	COLOR_BG, 4
COLOR_BG:
	.word	.LC1
	.global	COLOR_ALT_FG
	.align	2
	.type	COLOR_ALT_FG, %object
	.size	COLOR_ALT_FG, 4
COLOR_ALT_FG:
	.word	.LC0
	.global	COLOR_ALT_BG
	.align	2
	.type	COLOR_ALT_BG, %object
	.size	COLOR_ALT_BG, 4
COLOR_ALT_BG:
	.word	.LC1
	.global	COLOR_NUMBER_FG
	.align	2
	.type	COLOR_NUMBER_FG, %object
	.size	COLOR_NUMBER_FG, 4
COLOR_NUMBER_FG:
	.word	.LC0
	.global	COLOR_NUMBER_BG
	.align	2
	.type	COLOR_NUMBER_BG, %object
	.size	COLOR_NUMBER_BG, 4
COLOR_NUMBER_BG:
	.word	.LC1
	.global	COLOR_STATUS_FG
	.align	2
	.type	COLOR_STATUS_FG, %object
	.size	COLOR_STATUS_FG, 4
COLOR_STATUS_FG:
	.word	.LC0
	.global	COLOR_STATUS_BG
	.align	2
	.type	COLOR_STATUS_BG, %object
	.size	COLOR_STATUS_BG, 4
COLOR_STATUS_BG:
	.word	.LC1
	.global	COLOR_TABBAR_BG
	.align	2
	.type	COLOR_TABBAR_BG, %object
	.size	COLOR_TABBAR_BG, 4
COLOR_TABBAR_BG:
	.word	.LC1
	.global	COLOR_TAB_BG
	.align	2
	.type	COLOR_TAB_BG, %object
	.size	COLOR_TAB_BG, 4
COLOR_TAB_BG:
	.word	.LC1
	.global	COLOR_ERROR_FG
	.align	2
	.type	COLOR_ERROR_FG, %object
	.size	COLOR_ERROR_FG, 4
COLOR_ERROR_FG:
	.word	.LC0
	.global	COLOR_ERROR_BG
	.align	2
	.type	COLOR_ERROR_BG, %object
	.size	COLOR_ERROR_BG, 4
COLOR_ERROR_BG:
	.word	.LC1
	.global	COLOR_SEARCH_FG
	.align	2
	.type	COLOR_SEARCH_FG, %object
	.size	COLOR_SEARCH_FG, 4
COLOR_SEARCH_FG:
	.word	.LC0
	.global	COLOR_SEARCH_BG
	.align	2
	.type	COLOR_SEARCH_BG, %object
	.size	COLOR_SEARCH_BG, 4
COLOR_SEARCH_BG:
	.word	.LC1
	.global	COLOR_KEYWORD
	.align	2
	.type	COLOR_KEYWORD, %object
	.size	COLOR_KEYWORD, 4
COLOR_KEYWORD:
	.word	.LC0
	.global	COLOR_STRING
	.align	2
	.type	COLOR_STRING, %object
	.size	COLOR_STRING, 4
COLOR_STRING:
	.word	.LC0
	.global	COLOR_COMMENT
	.align	2
	.type	COLOR_COMMENT, %object
	.size	COLOR_COMMENT, 4
COLOR_COMMENT:
	.word	.LC0
	.global	COLOR_TYPE
	.align	2
	.type	COLOR_TYPE, %object
	.size	COLOR_TYPE, 4
COLOR_TYPE:
	.word	.LC0
	.global	COLOR_PRAGMA
	.align	2
	.type	COLOR_PRAGMA, %object
	.size	COLOR_PRAGMA, 4
COLOR_PRAGMA:
	.word	.LC0
	.global	COLOR_NUMERAL
	.align	2
	.type	COLOR_NUMERAL, %object
	.size	COLOR_NUMERAL, 4
COLOR_NUMERAL:
	.word	.LC0
	.global	COLOR_SELECTFG
	.align	2
	.type	COLOR_SELECTFG, %object
	.size	COLOR_SELECTFG, 4
COLOR_SELECTFG:
	.word	.LC1
	.global	COLOR_SELECTBG
	.align	2
	.type	COLOR_SELECTBG, %object
	.size	COLOR_SELECTBG, 4
COLOR_SELECTBG:
	.word	.LC0
	.global	COLOR_RED
	.section	.rodata
	.align	2
.LC2:
	.ascii	"@1\000"
	.data
	.align	2
	.type	COLOR_RED, %object
	.size	COLOR_RED, 4
COLOR_RED:
	.word	.LC2
	.global	COLOR_GREEN
	.section	.rodata
	.align	2
.LC3:
	.ascii	"@2\000"
	.data
	.align	2
	.type	COLOR_GREEN, %object
	.size	COLOR_GREEN, 4
COLOR_GREEN:
	.word	.LC3
	.global	current_theme
	.section	.rodata
	.align	2
.LC4:
	.ascii	"none\000"
	.data
	.align	2
	.type	current_theme, %object
	.size	current_theme, 4
current_theme:
	.word	.LC4
	.text
	.align	2
	.global	flag_to_color
	.syntax unified
	.arm
	.fpu softvfp
	.type	flag_to_color, %function
flag_to_color:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	and	r3, r3, #15
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	sub	r3, r3, #1
	cmp	r3, #15
	ldrls	pc, [pc, r3, asl #2]
	b	.L2
.L4:
	.word	.L12
	.word	.L7
	.word	.L11
	.word	.L10
	.word	.L9
	.word	.L8
	.word	.L7
	.word	.L6
	.word	.L5
	.word	.L2
	.word	.L2
	.word	.L2
	.word	.L2
	.word	.L2
	.word	.L2
	.word	.L3
.L12:
	ldr	r3, .L14
	ldr	r3, [r3]
	b	.L13
.L7:
	ldr	r3, .L14+4
	ldr	r3, [r3]
	b	.L13
.L11:
	ldr	r3, .L14+8
	ldr	r3, [r3]
	b	.L13
.L10:
	ldr	r3, .L14+12
	ldr	r3, [r3]
	b	.L13
.L8:
	ldr	r3, .L14+16
	ldr	r3, [r3]
	b	.L13
.L9:
	ldr	r3, .L14+20
	ldr	r3, [r3]
	b	.L13
.L6:
	ldr	r3, .L14+24
	ldr	r3, [r3]
	b	.L13
.L5:
	ldr	r3, .L14+28
	ldr	r3, [r3]
	b	.L13
.L3:
	ldr	r3, .L14+32
	ldr	r3, [r3]
	b	.L13
.L2:
	ldr	r3, .L14+32
	ldr	r3, [r3]
.L13:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L15:
	.align	2
.L14:
	.word	COLOR_KEYWORD
	.word	COLOR_STRING
	.word	COLOR_COMMENT
	.word	COLOR_TYPE
	.word	COLOR_NUMERAL
	.word	COLOR_PRAGMA
	.word	COLOR_GREEN
	.word	COLOR_RED
	.word	COLOR_FG
	.size	flag_to_color, .-flag_to_color
	.global	global_config
	.section	.rodata
	.align	2
.LC5:
	.ascii	"~/.bimrc\000"
	.data
	.align	2
	.type	global_config, %object
	.size	global_config, 104
global_config:
	.word	0
	.word	0
	.word	2
	.word	1
	.word	0
	.word	0
	.word	0
	.word	0
	.word	0
	.word	.LC5
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	4
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.global	_bim_unget
	.align	2
	.type	_bim_unget, %object
	.size	_bim_unget, 4
_bim_unget:
	.word	-1
	.text
	.align	2
	.global	bim_unget
	.syntax unified
	.arm
	.fpu softvfp
	.type	bim_unget, %function
bim_unget:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r2, .L17
	ldr	r3, [fp, #-8]
	str	r3, [r2]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L18:
	.align	2
.L17:
	.word	_bim_unget
	.size	bim_unget, .-bim_unget
	.section	.rodata
	.align	2
.LC6:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	bim_getch_timeout
	.syntax unified
	.arm
	.fpu softvfp
	.type	bim_getch_timeout, %function
bim_getch_timeout:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-32]
	ldr	r3, .L25
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L25+4
	ldr	r3, [r3]
	cmn	r3, #1
	beq	.L20
	ldr	r3, .L25+4
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	ldr	r3, .L25+4
	mvn	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	b	.L23
.L20:
	ldr	r3, .L25+8
	ldr	r3, [r3, #32]
	str	r3, [fp, #-20]
	mov	r3, #1
	strh	r3, [fp, #-16]	@ movhi
	sub	r3, fp, #20
	ldr	r2, [fp, #-32]
	mov	r1, #1
	mov	r0, r3
	bl	poll
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	ble	.L22
	ldrsh	r3, [fp, #-14]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L22
	ldr	r3, .L25+8
	ldr	r3, [r3, #32]
	sub	r1, fp, #12
	mov	r2, #1
	mov	r0, r3
	bl	read
	ldrb	r3, [fp, #-12]	@ zero_extendqisi2
	b	.L23
.L22:
	mvn	r3, #0
.L23:
	ldr	r2, .L25
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L24
	bl	__stack_chk_fail
.L24:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L26:
	.align	2
.L25:
	.word	.LC6
	.word	_bim_unget
	.word	global_config
	.size	bim_getch_timeout, .-bim_getch_timeout
	.comm	env,4,4
	.comm	buffers_len,4,4
	.comm	buffers_avail,4,4
	.comm	buffers,4,4
	.align	2
	.global	buffer_new
	.syntax unified
	.arm
	.fpu softvfp
	.type	buffer_new, %function
buffer_new:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	ldr	r3, .L30
	ldr	r2, [r3]
	ldr	r3, .L30+4
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L28
	ldr	r3, .L30+4
	ldr	r3, [r3]
	lsl	r3, r3, #1
	ldr	r2, .L30+4
	str	r3, [r2]
	ldr	r3, .L30+8
	ldr	r3, [r3]
	ldr	r2, .L30+4
	ldr	r2, [r2]
	lsl	r2, r2, #2
	mov	r1, r2
	mov	r0, r3
	bl	realloc
	mov	r3, r0
	ldr	r2, .L30+8
	str	r3, [r2]
.L28:
	ldr	r3, .L30+8
	ldr	r2, [r3]
	ldr	r3, .L30
	ldr	r3, [r3]
	lsl	r3, r3, #2
	add	r4, r2, r3
	mov	r0, #60
	bl	malloc
	mov	r3, r0
	str	r3, [r4]
	ldr	r3, .L30+8
	ldr	r2, [r3]
	ldr	r3, .L30
	ldr	r3, [r3]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, #60
	mov	r1, #0
	mov	r0, r3
	bl	memset
	ldr	r3, .L30
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L30
	str	r3, [r2]
	ldr	r3, .L30+8
	ldr	r2, [r3]
	ldr	r3, .L30
	ldr	r3, [r3]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	pop	{r4, r5, fp, pc}
.L31:
	.align	2
.L30:
	.word	buffers_len
	.word	buffers_avail
	.word	buffers
	.size	buffer_new, .-buffer_new
	.align	2
	.global	buffer_close
	.syntax unified
	.arm
	.fpu softvfp
	.type	buffer_close, %function
buffer_close:
	@ 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]
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L33
.L36:
	ldr	r3, .L43
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	beq	.L42
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L33:
	ldr	r3, .L43+4
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	blt	.L36
	b	.L35
.L42:
	nop
.L35:
	ldr	r3, .L43+4
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	bne	.L37
	ldr	r3, .L43+8
	ldr	r3, [r3]
	b	.L38
.L37:
	ldr	r3, .L43+4
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	beq	.L39
	ldr	r3, .L43
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r0, r2, r3
	ldr	r3, .L43
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	lsl	r3, r3, #2
	add	r1, r2, r3
	ldr	r3, .L43+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	sub	r3, r2, r3
	lsl	r3, r3, #2
	mov	r2, r3
	bl	memmove
.L39:
	ldr	r3, .L43+4
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L43+4
	str	r3, [r2]
	ldr	r3, .L43+4
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L40
	mov	r3, #0
	b	.L38
.L40:
	ldr	r3, .L43+4
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	bne	.L41
	ldr	r3, .L43
	ldr	r2, [r3]
	ldr	r3, .L43+4
	ldr	r3, [r3]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	b	.L38
.L41:
	ldr	r3, .L43
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
.L38:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L44:
	.align	2
.L43:
	.word	buffers
	.word	buffers_len
	.word	env
	.size	buffer_close, .-buffer_close
	.section	.rodata
	.align	2
.LC7:
	.ascii	"@7\000"
	.align	2
.LC8:
	.ascii	"@9\000"
	.align	2
.LC9:
	.ascii	"@10\000"
	.align	2
.LC10:
	.ascii	"@5\000"
	.align	2
.LC11:
	.ascii	"@3\000"
	.align	2
.LC12:
	.ascii	"@4\000"
	.align	2
.LC13:
	.ascii	"@14\000"
	.align	2
.LC14:
	.ascii	"@13\000"
	.align	2
.LC15:
	.ascii	"ansi\000"
	.text
	.align	2
	.global	load_colorscheme_ansi
	.syntax unified
	.arm
	.fpu softvfp
	.type	load_colorscheme_ansi, %function
load_colorscheme_ansi:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	ldr	r3, .L64
	ldr	r3, [r3, #60]
	cmp	r3, #0
	beq	.L46
	ldr	r3, .L64+4
	b	.L47
.L46:
	ldr	r3, .L64+8
.L47:
	ldr	r2, .L64+12
	str	r3, [r2]
	ldr	r3, .L64
	ldr	r3, [r3, #60]
	cmp	r3, #0
	beq	.L48
	ldr	r3, .L64+16
	b	.L49
.L48:
	ldr	r3, .L64+20
.L49:
	ldr	r2, .L64+24
	str	r3, [r2]
	ldr	r3, .L64
	ldr	r3, [r3, #60]
	cmp	r3, #0
	beq	.L50
	ldr	r3, .L64+28
	b	.L51
.L50:
	ldr	r3, .L64+32
.L51:
	ldr	r2, .L64+36
	str	r3, [r2]
	ldr	r3, .L64+40
	ldr	r2, .L64+16
	str	r2, [r3]
	ldr	r3, .L64+44
	ldr	r2, .L64+48
	str	r2, [r3]
	ldr	r3, .L64+52
	ldr	r2, .L64+16
	str	r2, [r3]
	ldr	r3, .L64
	ldr	r3, [r3, #60]
	cmp	r3, #0
	beq	.L52
	ldr	r3, .L64+4
	b	.L53
.L52:
	ldr	r3, .L64+8
.L53:
	ldr	r2, .L64+56
	str	r3, [r2]
	ldr	r3, .L64+60
	ldr	r2, .L64+64
	str	r2, [r3]
	ldr	r3, .L64+68
	ldr	r2, .L64+64
	str	r2, [r3]
	ldr	r3, .L64+72
	ldr	r2, .L64+64
	str	r2, [r3]
	ldr	r3, .L64
	ldr	r3, [r3, #60]
	cmp	r3, #0
	beq	.L54
	ldr	r3, .L64+76
	b	.L55
.L54:
	ldr	r3, .L64+64
.L55:
	ldr	r2, .L64+80
	str	r3, [r2]
	ldr	r3, .L64+84
	ldr	r2, .L64+88
	str	r2, [r3]
	ldr	r3, .L64
	ldr	r3, [r3, #60]
	cmp	r3, #0
	beq	.L56
	ldr	r3, .L64+28
	b	.L57
.L56:
	ldr	r3, .L64+32
.L57:
	ldr	r2, .L64+92
	str	r3, [r2]
	ldr	r3, .L64+96
	ldr	r2, .L64+48
	str	r2, [r3]
	ldr	r3, .L64+100
	ldr	r2, .L64+104
	str	r2, [r3]
	ldr	r3, .L64+108
	ldr	r2, .L64+104
	str	r2, [r3]
	ldr	r3, .L64
	ldr	r3, [r3, #60]
	cmp	r3, #0
	beq	.L58
	ldr	r3, .L64+4
	b	.L59
.L58:
	ldr	r3, .L64+8
.L59:
	ldr	r2, .L64+112
	str	r3, [r2]
	ldr	r3, .L64+116
	ldr	r2, .L64+104
	str	r2, [r3]
	ldr	r3, .L64+120
	ldr	r2, .L64+20
	str	r2, [r3]
	ldr	r3, .L64
	ldr	r3, [r3, #60]
	cmp	r3, #0
	beq	.L60
	ldr	r3, .L64+124
	b	.L61
.L60:
	ldr	r3, .L64+48
.L61:
	ldr	r2, .L64+128
	str	r3, [r2]
	ldr	r3, .L64
	ldr	r3, [r3, #60]
	cmp	r3, #0
	beq	.L62
	ldr	r3, .L64+4
	b	.L63
.L62:
	ldr	r3, .L64+8
.L63:
	ldr	r2, .L64+132
	str	r3, [r2]
	ldr	r3, .L64+136
	ldr	r2, .L64+20
	str	r2, [r3]
	ldr	r3, .L64+140
	ldr	r2, .L64+104
	str	r2, [r3]
	ldr	r3, .L64+144
	ldr	r2, .L64+88
	str	r2, [r3]
	ldr	r3, .L64+148
	ldr	r2, .L64+152
	str	r2, [r3]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L65:
	.align	2
.L64:
	.word	global_config
	.word	.LC0
	.word	.LC7
	.word	COLOR_FG
	.word	.LC8
	.word	.LC1
	.word	COLOR_BG
	.word	.LC9
	.word	.LC10
	.word	COLOR_ALT_FG
	.word	COLOR_ALT_BG
	.word	COLOR_NUMBER_FG
	.word	.LC11
	.word	COLOR_NUMBER_BG
	.word	COLOR_STATUS_FG
	.word	COLOR_STATUS_BG
	.word	.LC12
	.word	COLOR_TABBAR_BG
	.word	COLOR_TAB_BG
	.word	.LC13
	.word	COLOR_KEYWORD
	.word	COLOR_STRING
	.word	.LC3
	.word	COLOR_COMMENT
	.word	COLOR_TYPE
	.word	COLOR_PRAGMA
	.word	.LC2
	.word	COLOR_NUMERAL
	.word	COLOR_ERROR_FG
	.word	COLOR_ERROR_BG
	.word	COLOR_SEARCH_FG
	.word	.LC14
	.word	COLOR_SEARCH_BG
	.word	COLOR_SELECTBG
	.word	COLOR_SELECTFG
	.word	COLOR_RED
	.word	COLOR_GREEN
	.word	current_theme
	.word	.LC15
	.size	load_colorscheme_ansi, .-load_colorscheme_ansi
	.section	.rodata
	.align	2
.LC16:
	.ascii	"5;230\000"
	.align	2
.LC17:
	.ascii	"5;235\000"
	.align	2
.LC18:
	.ascii	"5;244\000"
	.align	2
.LC19:
	.ascii	"5;236\000"
	.align	2
.LC20:
	.ascii	"5;232\000"
	.align	2
.LC21:
	.ascii	"5;101\000"
	.align	2
.LC22:
	.ascii	"5;238\000"
	.align	2
.LC23:
	.ascii	"5;248\000"
	.align	2
.LC24:
	.ascii	"5;117\000"
	.align	2
.LC25:
	.ascii	"5;113\000"
	.align	2
.LC26:
	.ascii	"5;102;3\000"
	.align	2
.LC27:
	.ascii	"5;102\000"
	.align	2
.LC28:
	.ascii	"5;186\000"
	.align	2
.LC29:
	.ascii	"5;173\000"
	.align	2
.LC30:
	.ascii	"5;15\000"
	.align	2
.LC31:
	.ascii	"5;196\000"
	.align	2
.LC32:
	.ascii	"5;234\000"
	.align	2
.LC33:
	.ascii	"5;226\000"
	.align	2
.LC34:
	.ascii	"wombat\000"
	.text
	.align	2
	.global	load_colorscheme_wombat
	.syntax unified
	.arm
	.fpu softvfp
	.type	load_colorscheme_wombat, %function
load_colorscheme_wombat:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	ldr	r3, .L72
	ldr	r3, [r3, #92]
	cmp	r3, #0
	beq	.L71
	ldr	r3, .L72+4
	ldr	r2, .L72+8
	str	r2, [r3]
	ldr	r3, .L72+12
	ldr	r2, .L72+16
	str	r2, [r3]
	ldr	r3, .L72+20
	ldr	r2, .L72+24
	str	r2, [r3]
	ldr	r3, .L72+28
	ldr	r2, .L72+32
	str	r2, [r3]
	ldr	r3, .L72+36
	ldr	r2, .L72+40
	str	r2, [r3]
	ldr	r3, .L72+44
	ldr	r2, .L72+48
	str	r2, [r3]
	ldr	r3, .L72+52
	ldr	r2, .L72+8
	str	r2, [r3]
	ldr	r3, .L72+56
	ldr	r2, .L72+60
	str	r2, [r3]
	ldr	r3, .L72+64
	ldr	r2, .L72+8
	str	r2, [r3]
	ldr	r3, .L72+68
	ldr	r2, .L72+72
	str	r2, [r3]
	ldr	r3, .L72+76
	ldr	r2, .L72+80
	str	r2, [r3]
	ldr	r3, .L72+84
	ldr	r2, .L72+88
	str	r2, [r3]
	ldr	r3, .L72
	ldr	r3, [r3, #96]
	cmp	r3, #0
	beq	.L69
	ldr	r3, .L72+92
	b	.L70
.L69:
	ldr	r3, .L72+96
.L70:
	ldr	r2, .L72+100
	str	r3, [r2]
	ldr	r3, .L72+104
	ldr	r2, .L72+108
	str	r2, [r3]
	ldr	r3, .L72+112
	ldr	r2, .L72+116
	str	r2, [r3]
	ldr	r3, .L72+112
	ldr	r3, [r3]
	ldr	r2, .L72+120
	str	r3, [r2]
	ldr	r3, .L72+124
	ldr	r2, .L72+128
	str	r2, [r3]
	ldr	r3, .L72+132
	ldr	r2, .L72+136
	str	r2, [r3]
	ldr	r3, .L72+140
	ldr	r2, .L72+144
	str	r2, [r3]
	ldr	r3, .L72+148
	ldr	r2, .L72+152
	str	r2, [r3]
	ldr	r3, .L72+156
	ldr	r2, .L72+16
	str	r2, [r3]
	ldr	r3, .L72+160
	ldr	r2, .L72+8
	str	r2, [r3]
	ldr	r3, .L72+164
	ldr	r2, .L72+168
	str	r2, [r3]
	ldr	r3, .L72+172
	ldr	r2, .L72+176
	str	r2, [r3]
	ldr	r3, .L72+180
	ldr	r2, .L72+184
	str	r2, [r3]
	b	.L66
.L71:
	nop
.L66:
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L73:
	.align	2
.L72:
	.word	global_config
	.word	COLOR_FG
	.word	.LC16
	.word	COLOR_BG
	.word	.LC17
	.word	COLOR_ALT_FG
	.word	.LC18
	.word	COLOR_ALT_BG
	.word	.LC19
	.word	COLOR_NUMBER_BG
	.word	.LC20
	.word	COLOR_NUMBER_FG
	.word	.LC21
	.word	COLOR_STATUS_FG
	.word	COLOR_STATUS_BG
	.word	.LC22
	.word	COLOR_TABBAR_BG
	.word	COLOR_TAB_BG
	.word	.LC23
	.word	COLOR_KEYWORD
	.word	.LC24
	.word	COLOR_STRING
	.word	.LC25
	.word	.LC26
	.word	.LC27
	.word	COLOR_COMMENT
	.word	COLOR_TYPE
	.word	.LC28
	.word	COLOR_PRAGMA
	.word	.LC29
	.word	COLOR_NUMERAL
	.word	COLOR_ERROR_FG
	.word	.LC30
	.word	COLOR_ERROR_BG
	.word	.LC31
	.word	COLOR_SEARCH_FG
	.word	.LC32
	.word	COLOR_SEARCH_BG
	.word	.LC33
	.word	COLOR_SELECTFG
	.word	COLOR_SELECTBG
	.word	COLOR_RED
	.word	.LC2
	.word	COLOR_GREEN
	.word	.LC3
	.word	current_theme
	.word	.LC34
	.size	load_colorscheme_wombat, .-load_colorscheme_wombat
	.section	.rodata
	.align	2
.LC35:
	.ascii	"2;151;178;198\000"
	.align	2
.LC36:
	.ascii	"2;29;37;44\000"
	.align	2
.LC37:
	.ascii	"2;45;55;65\000"
	.align	2
.LC38:
	.ascii	"2;33;42;50\000"
	.align	2
.LC39:
	.ascii	"2;71;89;103\000"
	.align	2
.LC40:
	.ascii	"2;37;47;56\000"
	.align	2
.LC41:
	.ascii	"2;116;144;166\000"
	.align	2
.LC42:
	.ascii	"2;53;67;78\000"
	.align	2
.LC43:
	.ascii	"2;94;196;255\000"
	.align	2
.LC44:
	.ascii	"2;83;154;252\000"
	.align	2
.LC45:
	.ascii	"2;107;133;153;3\000"
	.align	2
.LC46:
	.ascii	"2;139;212;156\000"
	.align	2
.LC47:
	.ascii	"2;0;139;148\000"
	.align	2
.LC48:
	.ascii	"2;207;118;132\000"
	.align	2
.LC49:
	.ascii	"2;222;53;53\000"
	.align	2
.LC50:
	.ascii	"2;55;167;0\000"
	.align	2
.LC51:
	.ascii	"citylights\000"
	.text
	.align	2
	.global	load_colorscheme_citylights
	.syntax unified
	.arm
	.fpu softvfp
	.type	load_colorscheme_citylights, %function
load_colorscheme_citylights:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	ldr	r3, .L78
	ldr	r3, [r3, #88]
	cmp	r3, #0
	beq	.L77
	ldr	r3, .L78+4
	ldr	r2, .L78+8
	str	r2, [r3]
	ldr	r3, .L78+12
	ldr	r2, .L78+16
	str	r2, [r3]
	ldr	r3, .L78+20
	ldr	r2, .L78+24
	str	r2, [r3]
	ldr	r3, .L78+28
	ldr	r2, .L78+32
	str	r2, [r3]
	ldr	r3, .L78+36
	ldr	r2, .L78+40
	str	r2, [r3]
	ldr	r3, .L78+44
	ldr	r2, .L78+48
	str	r2, [r3]
	ldr	r3, .L78+52
	ldr	r2, .L78+56
	str	r2, [r3]
	ldr	r3, .L78+60
	ldr	r2, .L78+64
	str	r2, [r3]
	ldr	r3, .L78+68
	ldr	r2, .L78+48
	str	r2, [r3]
	ldr	r3, .L78+72
	ldr	r2, .L78+16
	str	r2, [r3]
	ldr	r3, .L78+76
	ldr	r2, .L78+80
	str	r2, [r3]
	ldr	r3, .L78+84
	ldr	r2, .L78+88
	str	r2, [r3]
	ldr	r3, .L78+92
	ldr	r2, .L78+96
	str	r2, [r3]
	ldr	r3, .L78+100
	ldr	r2, .L78+104
	str	r2, [r3]
	ldr	r3, .L78+108
	ldr	r2, .L78+112
	str	r2, [r3]
	ldr	r3, .L78+116
	ldr	r2, .L78+120
	str	r2, [r3]
	ldr	r3, .L78+124
	ldr	r2, .L78+128
	str	r2, [r3]
	ldr	r3, .L78+132
	ldr	r2, .L78+136
	str	r2, [r3]
	ldr	r3, .L78+140
	ldr	r2, .L78+144
	str	r2, [r3]
	ldr	r3, .L78+148
	ldr	r2, .L78+152
	str	r2, [r3]
	ldr	r3, .L78+156
	ldr	r2, .L78+16
	str	r2, [r3]
	ldr	r3, .L78+160
	ldr	r2, .L78+8
	str	r2, [r3]
	ldr	r3, .L78+164
	ldr	r2, .L78+168
	str	r2, [r3]
	ldr	r3, .L78+172
	ldr	r2, .L78+176
	str	r2, [r3]
	ldr	r3, .L78+180
	ldr	r2, .L78+184
	str	r2, [r3]
	b	.L74
.L77:
	nop
.L74:
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L79:
	.align	2
.L78:
	.word	global_config
	.word	COLOR_FG
	.word	.LC35
	.word	COLOR_BG
	.word	.LC36
	.word	COLOR_ALT_FG
	.word	.LC37
	.word	COLOR_ALT_BG
	.word	.LC38
	.word	COLOR_NUMBER_FG
	.word	.LC39
	.word	COLOR_NUMBER_BG
	.word	.LC40
	.word	COLOR_STATUS_FG
	.word	.LC41
	.word	COLOR_STATUS_BG
	.word	.LC42
	.word	COLOR_TABBAR_BG
	.word	COLOR_TAB_BG
	.word	COLOR_KEYWORD
	.word	.LC43
	.word	COLOR_STRING
	.word	.LC44
	.word	COLOR_COMMENT
	.word	.LC45
	.word	COLOR_TYPE
	.word	.LC46
	.word	COLOR_PRAGMA
	.word	.LC47
	.word	COLOR_NUMERAL
	.word	.LC48
	.word	COLOR_ERROR_FG
	.word	.LC30
	.word	COLOR_ERROR_BG
	.word	.LC31
	.word	COLOR_SEARCH_FG
	.word	.LC32
	.word	COLOR_SEARCH_BG
	.word	.LC33
	.word	COLOR_SELECTFG
	.word	COLOR_SELECTBG
	.word	COLOR_RED
	.word	.LC49
	.word	COLOR_GREEN
	.word	.LC50
	.word	current_theme
	.word	.LC51
	.size	load_colorscheme_citylights, .-load_colorscheme_citylights
	.section	.rodata
	.align	2
.LC52:
	.ascii	"2;147;161;161\000"
	.align	2
.LC53:
	.ascii	"2;0;43;54\000"
	.align	2
.LC54:
	.ascii	"2;7;54;66\000"
	.align	2
.LC55:
	.ascii	"2;131;148;149\000"
	.align	2
.LC56:
	.ascii	"2;131;148;150\000"
	.align	2
.LC57:
	.ascii	"2;133;153;0\000"
	.align	2
.LC58:
	.ascii	"2;42;161;152\000"
	.align	2
.LC59:
	.ascii	"2;101;123;131\000"
	.align	2
.LC60:
	.ascii	"2;181;137;0\000"
	.align	2
.LC61:
	.ascii	"2;203;75;22\000"
	.align	2
.LC62:
	.ascii	"2;220;50;47\000"
	.align	2
.LC63:
	.ascii	"solarized-dark\000"
	.text
	.align	2
	.global	load_colorscheme_solarized_dark
	.syntax unified
	.arm
	.fpu softvfp
	.type	load_colorscheme_solarized_dark, %function
load_colorscheme_solarized_dark:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	ldr	r3, .L84
	ldr	r3, [r3, #88]
	cmp	r3, #0
	beq	.L83
	ldr	r3, .L84+4
	ldr	r2, .L84+8
	str	r2, [r3]
	ldr	r3, .L84+12
	ldr	r2, .L84+16
	str	r2, [r3]
	ldr	r3, .L84+20
	ldr	r2, .L84+8
	str	r2, [r3]
	ldr	r3, .L84+24
	ldr	r2, .L84+28
	str	r2, [r3]
	ldr	r3, .L84+32
	ldr	r2, .L84+36
	str	r2, [r3]
	ldr	r3, .L84+40
	ldr	r2, .L84+28
	str	r2, [r3]
	ldr	r3, .L84+44
	ldr	r2, .L84+48
	str	r2, [r3]
	ldr	r3, .L84+52
	ldr	r2, .L84+28
	str	r2, [r3]
	ldr	r3, .L84+56
	ldr	r2, .L84+28
	str	r2, [r3]
	ldr	r3, .L84+60
	ldr	r2, .L84+48
	str	r2, [r3]
	ldr	r3, .L84+64
	ldr	r2, .L84+68
	str	r2, [r3]
	ldr	r3, .L84+72
	ldr	r2, .L84+76
	str	r2, [r3]
	ldr	r3, .L84+80
	ldr	r2, .L84+84
	str	r2, [r3]
	ldr	r3, .L84+88
	ldr	r2, .L84+92
	str	r2, [r3]
	ldr	r3, .L84+96
	ldr	r2, .L84+100
	str	r2, [r3]
	ldr	r3, .L84+104
	ldr	r2, .L84+108
	str	r2, [r3]
	ldr	r3, .L84+112
	ldr	r2, .L84+116
	str	r2, [r3]
	ldr	r3, .L84+120
	ldr	r2, .L84+124
	str	r2, [r3]
	ldr	r3, .L84+128
	ldr	r2, .L84+132
	str	r2, [r3]
	ldr	r3, .L84+136
	ldr	r2, .L84+140
	str	r2, [r3]
	ldr	r3, .L84+144
	ldr	r2, .L84+16
	str	r2, [r3]
	ldr	r3, .L84+148
	ldr	r2, .L84+8
	str	r2, [r3]
	ldr	r3, .L84+152
	ldr	r2, .L84+156
	str	r2, [r3]
	ldr	r3, .L84+160
	ldr	r2, .L84+164
	str	r2, [r3]
	ldr	r3, .L84+168
	ldr	r2, .L84+172
	str	r2, [r3]
	b	.L80
.L83:
	nop
.L80:
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L85:
	.align	2
.L84:
	.word	global_config
	.word	COLOR_FG
	.word	.LC52
	.word	COLOR_BG
	.word	.LC53
	.word	COLOR_ALT_FG
	.word	COLOR_ALT_BG
	.word	.LC54
	.word	COLOR_NUMBER_FG
	.word	.LC55
	.word	COLOR_NUMBER_BG
	.word	COLOR_STATUS_FG
	.word	.LC56
	.word	COLOR_STATUS_BG
	.word	COLOR_TABBAR_BG
	.word	COLOR_TAB_BG
	.word	COLOR_KEYWORD
	.word	.LC57
	.word	COLOR_STRING
	.word	.LC58
	.word	COLOR_COMMENT
	.word	.LC59
	.word	COLOR_TYPE
	.word	.LC60
	.word	COLOR_PRAGMA
	.word	.LC61
	.word	COLOR_NUMERAL
	.word	.LC62
	.word	COLOR_ERROR_FG
	.word	.LC30
	.word	COLOR_ERROR_BG
	.word	.LC31
	.word	COLOR_SEARCH_FG
	.word	.LC32
	.word	COLOR_SEARCH_BG
	.word	.LC33
	.word	COLOR_SELECTFG
	.word	COLOR_SELECTBG
	.word	COLOR_RED
	.word	.LC49
	.word	COLOR_GREEN
	.word	.LC50
	.word	current_theme
	.word	.LC63
	.size	load_colorscheme_solarized_dark, .-load_colorscheme_solarized_dark
	.section	.rodata
	.align	2
.LC64:
	.ascii	"5;188\000"
	.align	2
.LC65:
	.ascii	"5;59\000"
	.align	2
.LC66:
	.ascii	"5;74\000"
	.align	2
.LC67:
	.ascii	"5;71\000"
	.align	2
.LC68:
	.ascii	"5;221\000"
	.align	2
.LC69:
	.ascii	"5;160\000"
	.align	2
.LC70:
	.ascii	"5;161\000"
	.align	2
.LC71:
	.ascii	"5;17\000"
	.align	2
.LC72:
	.ascii	"5;109\000"
	.align	2
.LC73:
	.ascii	"sunsmoke256\000"
	.text
	.align	2
	.global	load_colorscheme_sunsmoke256
	.syntax unified
	.arm
	.fpu softvfp
	.type	load_colorscheme_sunsmoke256, %function
load_colorscheme_sunsmoke256:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	ldr	r3, .L92
	ldr	r3, [r3, #92]
	cmp	r3, #0
	beq	.L91
	ldr	r3, .L92+4
	ldr	r2, .L92+8
	str	r2, [r3]
	ldr	r3, .L92+12
	ldr	r2, .L92+16
	str	r2, [r3]
	ldr	r3, .L92+20
	ldr	r2, .L92+24
	str	r2, [r3]
	ldr	r3, .L92+28
	ldr	r2, .L92+32
	str	r2, [r3]
	ldr	r3, .L92+36
	ldr	r2, .L92+40
	str	r2, [r3]
	ldr	r3, .L92+44
	ldr	r2, .L92+48
	str	r2, [r3]
	ldr	r3, .L92+52
	ldr	r2, .L92+8
	str	r2, [r3]
	ldr	r3, .L92+56
	ldr	r2, .L92+60
	str	r2, [r3]
	ldr	r3, .L92+64
	ldr	r2, .L92+60
	str	r2, [r3]
	ldr	r3, .L92+68
	ldr	r2, .L92+60
	str	r2, [r3]
	ldr	r3, .L92+72
	ldr	r2, .L92+76
	str	r2, [r3]
	ldr	r3, .L92+80
	ldr	r2, .L92+84
	str	r2, [r3]
	ldr	r3, .L92
	ldr	r3, [r3, #96]
	cmp	r3, #0
	beq	.L89
	ldr	r3, .L92+88
	b	.L90
.L89:
	ldr	r3, .L92+92
.L90:
	ldr	r2, .L92+96
	str	r3, [r2]
	ldr	r3, .L92+100
	ldr	r2, .L92+104
	str	r2, [r3]
	ldr	r3, .L92+108
	ldr	r2, .L92+112
	str	r2, [r3]
	ldr	r3, .L92+116
	ldr	r2, .L92+120
	str	r2, [r3]
	ldr	r3, .L92+124
	ldr	r2, .L92+128
	str	r2, [r3]
	ldr	r3, .L92+132
	ldr	r2, .L92+136
	str	r2, [r3]
	ldr	r3, .L92+140
	ldr	r2, .L92+16
	str	r2, [r3]
	ldr	r3, .L92+144
	ldr	r2, .L92+148
	str	r2, [r3]
	ldr	r3, .L92+152
	ldr	r2, .L92+156
	str	r2, [r3]
	ldr	r3, .L92+160
	ldr	r2, .L92+164
	str	r2, [r3]
	ldr	r3, .L92+168
	ldr	r2, .L92+172
	str	r2, [r3]
	ldr	r3, .L92+176
	ldr	r2, .L92+180
	str	r2, [r3]
	ldr	r3, .L92+184
	ldr	r2, .L92+188
	str	r2, [r3]
	b	.L86
.L91:
	nop
.L86:
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L93:
	.align	2
.L92:
	.word	global_config
	.word	COLOR_FG
	.word	.LC64
	.word	COLOR_BG
	.word	.LC32
	.word	COLOR_ALT_FG
	.word	.LC18
	.word	COLOR_ALT_BG
	.word	.LC19
	.word	COLOR_NUMBER_FG
	.word	.LC21
	.word	COLOR_NUMBER_BG
	.word	.LC20
	.word	COLOR_STATUS_FG
	.word	COLOR_STATUS_BG
	.word	.LC65
	.word	COLOR_TABBAR_BG
	.word	COLOR_TAB_BG
	.word	COLOR_KEYWORD
	.word	.LC66
	.word	COLOR_STRING
	.word	.LC67
	.word	.LC26
	.word	.LC27
	.word	COLOR_COMMENT
	.word	COLOR_TYPE
	.word	.LC68
	.word	COLOR_PRAGMA
	.word	.LC69
	.word	COLOR_NUMERAL
	.word	.LC70
	.word	COLOR_ERROR_FG
	.word	.LC30
	.word	COLOR_ERROR_BG
	.word	.LC31
	.word	COLOR_SEARCH_FG
	.word	COLOR_SEARCH_BG
	.word	.LC33
	.word	COLOR_SELECTFG
	.word	.LC71
	.word	COLOR_SELECTBG
	.word	.LC72
	.word	COLOR_RED
	.word	.LC2
	.word	COLOR_GREEN
	.word	.LC3
	.word	current_theme
	.word	.LC73
	.size	load_colorscheme_sunsmoke256, .-load_colorscheme_sunsmoke256
	.section	.rodata
	.align	2
.LC74:
	.ascii	"2;230;230;230\000"
	.align	2
.LC75:
	.ascii	"2;31;31;31\000"
	.align	2
.LC76:
	.ascii	"2;122;122;122\000"
	.align	2
.LC77:
	.ascii	"2;46;43;46\000"
	.align	2
.LC78:
	.ascii	"2;150;139;57\000"
	.align	2
.LC79:
	.ascii	"2;0;0;0\000"
	.align	2
.LC80:
	.ascii	"2;71;64;58\000"
	.align	2
.LC81:
	.ascii	"2;51;162;230\000"
	.align	2
.LC82:
	.ascii	"2;72;176;72\000"
	.align	2
.LC83:
	.ascii	"2;158;153;129;3\000"
	.align	2
.LC84:
	.ascii	"2;230;206;110\000"
	.align	2
.LC85:
	.ascii	"2;194;70;54\000"
	.align	2
.LC86:
	.ascii	"2;230;43;127\000"
	.align	2
.LC87:
	.ascii	"sunsmoke\000"
	.text
	.align	2
	.global	load_colorscheme_sunsmoke
	.syntax unified
	.arm
	.fpu softvfp
	.type	load_colorscheme_sunsmoke, %function
load_colorscheme_sunsmoke:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L97
	ldr	r3, [r3, #88]
	cmp	r3, #0
	bne	.L95
	bl	load_colorscheme_sunsmoke256
	pop	{fp, pc}
.L95:
	ldr	r3, .L97+4
	ldr	r2, .L97+8
	str	r2, [r3]
	ldr	r3, .L97+12
	ldr	r2, .L97+16
	str	r2, [r3]
	ldr	r3, .L97+20
	ldr	r2, .L97+24
	str	r2, [r3]
	ldr	r3, .L97+28
	ldr	r2, .L97+32
	str	r2, [r3]
	ldr	r3, .L97+36
	ldr	r2, .L97+40
	str	r2, [r3]
	ldr	r3, .L97+44
	ldr	r2, .L97+48
	str	r2, [r3]
	ldr	r3, .L97+52
	ldr	r2, .L97+8
	str	r2, [r3]
	ldr	r3, .L97+56
	ldr	r2, .L97+60
	str	r2, [r3]
	ldr	r3, .L97+64
	ldr	r2, .L97+60
	str	r2, [r3]
	ldr	r3, .L97+68
	ldr	r2, .L97+60
	str	r2, [r3]
	ldr	r3, .L97+72
	ldr	r2, .L97+76
	str	r2, [r3]
	ldr	r3, .L97+80
	ldr	r2, .L97+84
	str	r2, [r3]
	ldr	r3, .L97+88
	ldr	r2, .L97+92
	str	r2, [r3]
	ldr	r3, .L97+96
	ldr	r2, .L97+100
	str	r2, [r3]
	ldr	r3, .L97+104
	ldr	r2, .L97+108
	str	r2, [r3]
	ldr	r3, .L97+112
	ldr	r2, .L97+116
	str	r2, [r3]
	ldr	r3, .L97+120
	ldr	r2, .L97+124
	str	r2, [r3]
	ldr	r3, .L97+128
	ldr	r2, .L97+132
	str	r2, [r3]
	ldr	r3, .L97+136
	ldr	r2, .L97+140
	str	r2, [r3]
	ldr	r3, .L97+144
	ldr	r2, .L97+148
	str	r2, [r3]
	ldr	r3, .L97+152
	ldr	r2, .L97+156
	str	r2, [r3]
	ldr	r3, .L97+160
	ldr	r2, .L97+164
	str	r2, [r3]
	ldr	r3, .L97+168
	ldr	r2, .L97+172
	str	r2, [r3]
	ldr	r3, .L97+176
	ldr	r2, .L97+180
	str	r2, [r3]
	ldr	r3, .L97+184
	ldr	r2, .L97+188
	str	r2, [r3]
	pop	{fp, pc}
.L98:
	.align	2
.L97:
	.word	global_config
	.word	COLOR_FG
	.word	.LC74
	.word	COLOR_BG
	.word	.LC75
	.word	COLOR_ALT_FG
	.word	.LC76
	.word	COLOR_ALT_BG
	.word	.LC77
	.word	COLOR_NUMBER_FG
	.word	.LC78
	.word	COLOR_NUMBER_BG
	.word	.LC79
	.word	COLOR_STATUS_FG
	.word	COLOR_STATUS_BG
	.word	.LC80
	.word	COLOR_TABBAR_BG
	.word	COLOR_TAB_BG
	.word	COLOR_KEYWORD
	.word	.LC81
	.word	COLOR_STRING
	.word	.LC82
	.word	COLOR_COMMENT
	.word	.LC83
	.word	COLOR_TYPE
	.word	.LC84
	.word	COLOR_PRAGMA
	.word	.LC85
	.word	COLOR_NUMERAL
	.word	.LC86
	.word	COLOR_ERROR_FG
	.word	.LC30
	.word	COLOR_ERROR_BG
	.word	.LC31
	.word	COLOR_SEARCH_FG
	.word	.LC32
	.word	COLOR_SEARCH_BG
	.word	.LC33
	.word	COLOR_SELECTFG
	.word	.LC53
	.word	COLOR_SELECTBG
	.word	.LC52
	.word	COLOR_RED
	.word	.LC49
	.word	COLOR_GREEN
	.word	.LC50
	.word	current_theme
	.word	.LC87
	.size	load_colorscheme_sunsmoke, .-load_colorscheme_sunsmoke
	.global	themes
	.data
	.align	2
	.type	themes, %object
	.size	themes, 56
themes:
	.word	.LC34
	.word	load_colorscheme_wombat
	.word	.LC51
	.word	load_colorscheme_citylights
	.word	.LC63
	.word	load_colorscheme_solarized_dark
	.word	.LC15
	.word	load_colorscheme_ansi
	.word	.LC87
	.word	load_colorscheme_sunsmoke
	.word	.LC73
	.word	load_colorscheme_sunsmoke256
	.word	0
	.word	0
	.text
	.align	2
	.global	syn_c_iskeywordchar
	.syntax unified
	.arm
	.fpu softvfp
	.type	syn_c_iskeywordchar, %function
syn_c_iskeywordchar:
	@ 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]
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8
	cmp	r3, #0
	beq	.L100
	mov	r3, #1
	b	.L101
.L100:
	ldr	r3, [fp, #-8]
	cmp	r3, #95
	bne	.L102
	mov	r3, #1
	b	.L101
.L102:
	mov	r3, #0
.L101:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	syn_c_iskeywordchar, .-syn_c_iskeywordchar
	.section	.rodata
	.align	2
.LC88:
	.ascii	"while\000"
	.align	2
.LC89:
	.ascii	"if\000"
	.align	2
.LC90:
	.ascii	"for\000"
	.align	2
.LC91:
	.ascii	"continue\000"
	.align	2
.LC92:
	.ascii	"return\000"
	.align	2
.LC93:
	.ascii	"break\000"
	.align	2
.LC94:
	.ascii	"switch\000"
	.align	2
.LC95:
	.ascii	"case\000"
	.align	2
.LC96:
	.ascii	"sizeof\000"
	.align	2
.LC97:
	.ascii	"struct\000"
	.align	2
.LC98:
	.ascii	"union\000"
	.align	2
.LC99:
	.ascii	"typedef\000"
	.align	2
.LC100:
	.ascii	"do\000"
	.align	2
.LC101:
	.ascii	"default\000"
	.align	2
.LC102:
	.ascii	"else\000"
	.align	2
.LC103:
	.ascii	"goto\000"
	.align	2
.LC104:
	.ascii	"alignas\000"
	.align	2
.LC105:
	.ascii	"alignof\000"
	.align	2
.LC106:
	.ascii	"offsetof\000"
	.align	2
.LC107:
	.ascii	"asm\000"
	.align	2
.LC108:
	.ascii	"__asm__public\000"
	.align	2
.LC109:
	.ascii	"private\000"
	.align	2
.LC110:
	.ascii	"class\000"
	.align	2
.LC111:
	.ascii	"using\000"
	.align	2
.LC112:
	.ascii	"namespace\000"
	.align	2
.LC113:
	.ascii	"virtual\000"
	.align	2
.LC114:
	.ascii	"override\000"
	.align	2
.LC115:
	.ascii	"protected\000"
	.data
	.align	2
	.type	syn_c_keywords, %object
	.size	syn_c_keywords, 116
syn_c_keywords:
	.word	.LC88
	.word	.LC89
	.word	.LC90
	.word	.LC91
	.word	.LC92
	.word	.LC93
	.word	.LC94
	.word	.LC95
	.word	.LC96
	.word	.LC97
	.word	.LC98
	.word	.LC99
	.word	.LC100
	.word	.LC101
	.word	.LC102
	.word	.LC103
	.word	.LC104
	.word	.LC105
	.word	.LC106
	.word	.LC107
	.word	.LC108
	.word	.LC109
	.word	.LC110
	.word	.LC111
	.word	.LC112
	.word	.LC113
	.word	.LC114
	.word	.LC115
	.word	0
	.section	.rodata
	.align	2
.LC116:
	.ascii	"static\000"
	.align	2
.LC117:
	.ascii	"int\000"
	.align	2
.LC118:
	.ascii	"char\000"
	.align	2
.LC119:
	.ascii	"short\000"
	.align	2
.LC120:
	.ascii	"float\000"
	.align	2
.LC121:
	.ascii	"double\000"
	.align	2
.LC122:
	.ascii	"void\000"
	.align	2
.LC123:
	.ascii	"unsigned\000"
	.align	2
.LC124:
	.ascii	"volatile\000"
	.align	2
.LC125:
	.ascii	"const\000"
	.align	2
.LC126:
	.ascii	"register\000"
	.align	2
.LC127:
	.ascii	"long\000"
	.align	2
.LC128:
	.ascii	"inline\000"
	.align	2
.LC129:
	.ascii	"restrict\000"
	.align	2
.LC130:
	.ascii	"enum\000"
	.align	2
.LC131:
	.ascii	"auto\000"
	.align	2
.LC132:
	.ascii	"extern\000"
	.align	2
.LC133:
	.ascii	"bool\000"
	.align	2
.LC134:
	.ascii	"complex\000"
	.align	2
.LC135:
	.ascii	"uint8_t\000"
	.align	2
.LC136:
	.ascii	"uint16_t\000"
	.align	2
.LC137:
	.ascii	"uint32_t\000"
	.align	2
.LC138:
	.ascii	"uint64_t\000"
	.align	2
.LC139:
	.ascii	"int8_t\000"
	.align	2
.LC140:
	.ascii	"int16_t\000"
	.align	2
.LC141:
	.ascii	"int32_t\000"
	.align	2
.LC142:
	.ascii	"int64_t\000"
	.align	2
.LC143:
	.ascii	"FILE\000"
	.align	2
.LC144:
	.ascii	"ssize_t\000"
	.align	2
.LC145:
	.ascii	"size_t\000"
	.align	2
.LC146:
	.ascii	"uintptr_t\000"
	.align	2
.LC147:
	.ascii	"intptr_t\000"
	.align	2
.LC148:
	.ascii	"__volatile__\000"
	.data
	.align	2
	.type	syn_c_types, %object
	.size	syn_c_types, 136
syn_c_types:
	.word	.LC116
	.word	.LC117
	.word	.LC118
	.word	.LC119
	.word	.LC120
	.word	.LC121
	.word	.LC122
	.word	.LC123
	.word	.LC124
	.word	.LC125
	.word	.LC126
	.word	.LC127
	.word	.LC128
	.word	.LC129
	.word	.LC130
	.word	.LC131
	.word	.LC132
	.word	.LC133
	.word	.LC134
	.word	.LC135
	.word	.LC136
	.word	.LC137
	.word	.LC138
	.word	.LC139
	.word	.LC140
	.word	.LC141
	.word	.LC142
	.word	.LC143
	.word	.LC144
	.word	.LC145
	.word	.LC146
	.word	.LC147
	.word	.LC148
	.word	0
	.section	.rodata
	.align	2
.LC149:
	.ascii	"NULL\000"
	.align	2
.LC150:
	.ascii	"stdin\000"
	.align	2
.LC151:
	.ascii	"stdout\000"
	.align	2
.LC152:
	.ascii	"stderr\000"
	.align	2
.LC153:
	.ascii	"STDIN_FILENO\000"
	.align	2
.LC154:
	.ascii	"STDOUT_FILENO\000"
	.align	2
.LC155:
	.ascii	"STDERR_FILENO\000"
	.data
	.align	2
	.type	syn_c_special, %object
	.size	syn_c_special, 32
syn_c_special:
	.word	.LC149
	.word	.LC150
	.word	.LC151
	.word	.LC152
	.word	.LC153
	.word	.LC154
	.word	.LC155
	.word	0
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	syn_c_extended, %function
syn_c_extended:
	@ args = 4, pretend = 0, frame = 64
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #64
	str	r0, [fp, #-56]
	str	r1, [fp, #-60]
	str	r2, [fp, #-64]
	str	r3, [fp, #-68]
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	bne	.L104
	ldr	r3, [fp, #-64]
	cmp	r3, #35
	bne	.L104
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #4]
	add	r2, r3, #1
	ldr	r3, [fp, #4]
	str	r2, [r3]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #4]
	sub	r3, r3, #1
	ldr	r2, [fp, #-56]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	cmp	r3, #92
	bne	.L105
	mov	r3, #69
	b	.L106
.L105:
	mov	r3, #5
	b	.L106
.L104:
	ldr	r3, [fp, #-68]
	cmp	r3, #0
	beq	.L107
	ldr	r0, [fp, #-68]
	bl	syn_c_iskeywordchar
	mov	r3, r0
	cmp	r3, #0
	bne	.L108
.L107:
	ldr	r0, [fp, #-64]
	bl	syn_c_iskeywordchar
	mov	r3, r0
	cmp	r3, #0
	beq	.L108
	ldr	r3, [fp, #-60]
	str	r3, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-48]
	b	.L109
.L115:
	mov	r3, #0
	str	r3, [fp, #-44]
	b	.L110
.L112:
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L110:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-44]
	add	r2, r2, r3
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #4]
	sub	r3, r3, #1
	cmp	r2, r3
	bge	.L111
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-44]
	add	r3, r2, r3
	ldr	r2, [fp, #-56]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r2, r3, #11
	ldr	r1, .L139
	ldr	r3, [fp, #-48]
	ldr	r1, [r1, r3, lsl #2]
	ldr	r3, [fp, #-44]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	bic	r3, r3, #-16777216
	bic	r3, r3, #14680064
	cmp	r2, r3
	beq	.L112
.L111:
	ldr	r2, .L139
	ldr	r3, [fp, #-48]
	ldr	r2, [r2, r3, lsl #2]
	ldr	r3, [fp, #-44]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L113
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-44]
	add	r2, r2, r3
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #4]
	cmp	r2, r3
	bgt	.L114
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-44]
	add	r3, r2, r3
	ldr	r2, [fp, #-56]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	mov	r0, r3
	bl	syn_c_iskeywordchar
	mov	r3, r0
	cmp	r3, #0
	bne	.L113
.L114:
	ldr	r3, [fp, #-44]
	sub	r2, r3, #1
	ldr	r3, [fp, #4]
	str	r2, [r3]
	mov	r3, #6
	b	.L106
.L113:
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-48]
.L109:
	ldr	r2, .L139
	ldr	r3, [fp, #-48]
	ldr	r3, [r2, r3, lsl #2]
	cmp	r3, #0
	bne	.L115
.L108:
	ldr	r3, [fp, #-68]
	cmp	r3, #0
	beq	.L116
	ldr	r0, [fp, #-68]
	bl	syn_c_iskeywordchar
	mov	r3, r0
	cmp	r3, #0
	bne	.L117
.L116:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-64]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #2048
	cmp	r3, #0
	beq	.L117
	ldr	r3, [fp, #-64]
	cmp	r3, #48
	bne	.L118
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #4]
	sub	r3, r3, #1
	ldr	r2, [fp, #-60]
	cmp	r2, r3
	bge	.L118
	ldr	r3, [fp, #-60]
	add	r3, r3, #1
	ldr	r2, [fp, #-56]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	cmp	r3, #120
	bne	.L118
	mov	r3, #2
	str	r3, [fp, #-40]
	b	.L119
.L121:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
.L119:
	ldr	r2, [fp, #-60]
	ldr	r3, [fp, #-40]
	add	r2, r2, r3
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #4]
	cmp	r2, r3
	bge	.L120
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r1, [fp, #-60]
	ldr	r3, [fp, #-40]
	add	r3, r1, r3
	ldr	r1, [fp, #-56]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #4096
	cmp	r3, #0
	bne	.L121
.L120:
	ldr	r2, [fp, #-60]
	ldr	r3, [fp, #-40]
	add	r2, r2, r3
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #4]
	cmp	r2, r3
	bge	.L122
	ldr	r2, [fp, #-60]
	ldr	r3, [fp, #-40]
	add	r3, r2, r3
	ldr	r2, [fp, #-56]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	mov	r0, r3
	bl	syn_c_iskeywordchar
	mov	r3, r0
	cmp	r3, #0
	beq	.L122
	mov	r3, #0
	b	.L106
.L122:
	ldr	r3, [fp, #-40]
	sub	r2, r3, #1
	ldr	r3, [fp, #4]
	str	r2, [r3]
	mov	r3, #6
	b	.L106
.L118:
	mov	r3, #1
	str	r3, [fp, #-36]
	b	.L123
.L125:
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
.L123:
	ldr	r2, [fp, #-60]
	ldr	r3, [fp, #-36]
	add	r2, r2, r3
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #4]
	cmp	r2, r3
	bge	.L124
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r1, [fp, #-60]
	ldr	r3, [fp, #-36]
	add	r3, r1, r3
	ldr	r1, [fp, #-56]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #2048
	cmp	r3, #0
	bne	.L125
.L124:
	ldr	r2, [fp, #-60]
	ldr	r3, [fp, #-36]
	add	r2, r2, r3
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #4]
	cmp	r2, r3
	bge	.L126
	ldr	r2, [fp, #-60]
	ldr	r3, [fp, #-36]
	add	r3, r2, r3
	ldr	r2, [fp, #-56]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	mov	r0, r3
	bl	syn_c_iskeywordchar
	mov	r3, r0
	cmp	r3, #0
	beq	.L126
	mov	r3, #0
	b	.L106
.L126:
	ldr	r3, [fp, #-36]
	sub	r2, r3, #1
	ldr	r3, [fp, #4]
	str	r2, [r3]
	mov	r3, #6
	b	.L106
.L117:
	ldr	r3, [fp, #-64]
	cmp	r3, #47
	bne	.L127
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #4]
	sub	r3, r3, #1
	ldr	r2, [fp, #-60]
	cmp	r2, r3
	bge	.L128
	ldr	r3, [fp, #-60]
	add	r3, r3, #1
	ldr	r2, [fp, #-56]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	cmp	r3, #47
	bne	.L128
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #4]
	add	r2, r3, #1
	ldr	r3, [fp, #-60]
	sub	r2, r2, r3
	ldr	r3, [fp, #4]
	str	r2, [r3]
	mov	r3, #3
	b	.L106
.L128:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #4]
	sub	r3, r3, #1
	ldr	r2, [fp, #-60]
	cmp	r2, r3
	bge	.L127
	ldr	r3, [fp, #-60]
	add	r3, r3, #1
	ldr	r2, [fp, #-56]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	cmp	r3, #42
	bne	.L127
	mov	r3, #0
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-60]
	add	r3, r3, #2
	str	r3, [fp, #-28]
	b	.L129
.L131:
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-28]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #47
	bne	.L130
	ldr	r3, [fp, #-32]
	cmp	r3, #42
	bne	.L130
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-60]
	sub	r2, r2, r3
	ldr	r3, [fp, #4]
	str	r2, [r3]
	mov	r3, #3
	b	.L106
.L130:
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L129:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-28]
	cmp	r2, r3
	blt	.L131
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #4]
	add	r2, r3, #1
	ldr	r3, [fp, #-60]
	sub	r2, r2, r3
	ldr	r3, [fp, #4]
	str	r2, [r3]
	mov	r3, #67
	b	.L106
.L127:
	ldr	r3, [fp, #-64]
	cmp	r3, #39
	bne	.L132
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #4]
	sub	r3, r3, #3
	ldr	r2, [fp, #-60]
	cmp	r2, r3
	bge	.L133
	ldr	r3, [fp, #-60]
	add	r3, r3, #1
	ldr	r2, [fp, #-56]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	cmp	r3, #92
	bne	.L133
	ldr	r3, [fp, #-60]
	add	r3, r3, #3
	ldr	r2, [fp, #-56]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	cmp	r3, #39
	bne	.L133
	ldr	r3, [fp, #4]
	mov	r2, #3
	str	r2, [r3]
	mov	r3, #6
	b	.L106
.L133:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #4]
	sub	r3, r3, #2
	ldr	r2, [fp, #-60]
	cmp	r2, r3
	bge	.L132
	ldr	r3, [fp, #-60]
	add	r3, r3, #2
	ldr	r2, [fp, #-56]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	cmp	r3, #39
	bne	.L132
	ldr	r3, [fp, #4]
	mov	r2, #2
	str	r2, [r3]
	mov	r3, #6
	b	.L106
.L132:
	ldr	r3, [fp, #-64]
	cmp	r3, #34
	bne	.L134
	mov	r3, #0
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-60]
	add	r3, r3, #1
	str	r3, [fp, #-20]
	b	.L135
.L138:
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-20]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-24]
	cmp	r3, #92
	beq	.L136
	ldr	r3, [fp, #-8]
	cmp	r3, #34
	bne	.L136
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-60]
	sub	r2, r2, r3
	ldr	r3, [fp, #4]
	str	r2, [r3]
	mov	r3, #2
	b	.L106
.L136:
	ldr	r3, [fp, #-24]
	cmp	r3, #92
	bne	.L137
	ldr	r3, [fp, #-8]
	cmp	r3, #92
	bne	.L137
	mov	r3, #0
	str	r3, [fp, #-24]
.L137:
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L135:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	blt	.L138
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #4]
	add	r2, r3, #1
	ldr	r3, [fp, #-60]
	sub	r2, r2, r3
	ldr	r3, [fp, #4]
	str	r2, [r3]
	mov	r3, #2
	b	.L106
.L134:
	mov	r3, #0
.L106:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L140:
	.align	2
.L139:
	.word	syn_c_special
	.size	syn_c_extended, .-syn_c_extended
	.global	syn_c_ext
	.section	.rodata
	.align	2
.LC156:
	.ascii	".c\000"
	.align	2
.LC157:
	.ascii	".h\000"
	.align	2
.LC158:
	.ascii	".cpp\000"
	.align	2
.LC159:
	.ascii	".hpp\000"
	.align	2
.LC160:
	.ascii	".c++\000"
	.align	2
.LC161:
	.ascii	".h++\000"
	.data
	.align	2
	.type	syn_c_ext, %object
	.size	syn_c_ext, 28
syn_c_ext:
	.word	.LC156
	.word	.LC157
	.word	.LC158
	.word	.LC159
	.word	.LC160
	.word	.LC161
	.word	0
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	syn_c_finish, %function
syn_c_finish:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #28
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #67
	bne	.L142
	mov	r3, #0
	str	r3, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L143
.L146:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-8]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	cmp	r3, #47
	bne	.L144
	ldr	r3, [fp, #-12]
	cmp	r3, #42
	bne	.L144
	ldr	r3, [fp, #-8]
	add	r2, r3, #2
	ldr	r3, [fp, #-20]
	str	r2, [r3]
	mov	r3, #3
	b	.L145
.L144:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-8]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L143:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	blt	.L146
	mov	r3, #67
	b	.L145
.L142:
	ldr	r3, [fp, #-24]
	cmp	r3, #69
	bne	.L147
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	add	r2, r3, #1
	ldr	r3, [fp, #-20]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	sub	r3, r3, #1
	ldr	r2, [fp, #-16]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	cmp	r3, #92
	bne	.L148
	mov	r3, #69
	b	.L145
.L148:
	mov	r3, #5
	b	.L145
.L147:
	mov	r3, #0
.L145:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	syn_c_finish, .-syn_c_finish
	.section	.rodata
	.align	2
.LC162:
	.ascii	"def\000"
	.align	2
.LC163:
	.ascii	"del\000"
	.align	2
.LC164:
	.ascii	"elif\000"
	.align	2
.LC165:
	.ascii	"assert\000"
	.align	2
.LC166:
	.ascii	"as\000"
	.align	2
.LC167:
	.ascii	"and\000"
	.align	2
.LC168:
	.ascii	"or\000"
	.align	2
.LC169:
	.ascii	"except\000"
	.align	2
.LC170:
	.ascii	"finally\000"
	.align	2
.LC171:
	.ascii	"from\000"
	.align	2
.LC172:
	.ascii	"global\000"
	.align	2
.LC173:
	.ascii	"import\000"
	.align	2
.LC174:
	.ascii	"in\000"
	.align	2
.LC175:
	.ascii	"is\000"
	.align	2
.LC176:
	.ascii	"lambda\000"
	.align	2
.LC177:
	.ascii	"with\000"
	.align	2
.LC178:
	.ascii	"nonlocal\000"
	.align	2
.LC179:
	.ascii	"not\000"
	.align	2
.LC180:
	.ascii	"pass\000"
	.align	2
.LC181:
	.ascii	"raise\000"
	.align	2
.LC182:
	.ascii	"try\000"
	.align	2
.LC183:
	.ascii	"yield\000"
	.data
	.align	2
	.type	syn_py_keywords, %object
	.size	syn_py_keywords, 124
syn_py_keywords:
	.word	.LC110
	.word	.LC162
	.word	.LC92
	.word	.LC163
	.word	.LC89
	.word	.LC102
	.word	.LC164
	.word	.LC90
	.word	.LC88
	.word	.LC91
	.word	.LC93
	.word	.LC165
	.word	.LC166
	.word	.LC167
	.word	.LC168
	.word	.LC169
	.word	.LC170
	.word	.LC171
	.word	.LC172
	.word	.LC173
	.word	.LC174
	.word	.LC175
	.word	.LC176
	.word	.LC177
	.word	.LC178
	.word	.LC179
	.word	.LC180
	.word	.LC181
	.word	.LC182
	.word	.LC183
	.word	0
	.section	.rodata
	.align	2
.LC184:
	.ascii	"True\000"
	.align	2
.LC185:
	.ascii	"False\000"
	.align	2
.LC186:
	.ascii	"None\000"
	.align	2
.LC187:
	.ascii	"object\000"
	.align	2
.LC188:
	.ascii	"set\000"
	.align	2
.LC189:
	.ascii	"dict\000"
	.align	2
.LC190:
	.ascii	"str\000"
	.align	2
.LC191:
	.ascii	"bytes\000"
	.data
	.align	2
	.type	syn_py_types, %object
	.size	syn_py_types, 40
syn_py_types:
	.word	.LC184
	.word	.LC185
	.word	.LC186
	.word	.LC187
	.word	.LC188
	.word	.LC189
	.word	.LC117
	.word	.LC190
	.word	.LC191
	.word	0
	.section	.rodata
	.align	2
.LC192:
	.ascii	"import \000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	syn_py_extended, %function
syn_py_extended:
	@ args = 4, pretend = 0, frame = 72
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #72
	str	r0, [fp, #-64]
	str	r1, [fp, #-68]
	str	r2, [fp, #-72]
	str	r3, [fp, #-76]
	ldr	r3, [fp, #-68]
	cmp	r3, #0
	bne	.L150
	ldr	r3, [fp, #-72]
	cmp	r3, #105
	bne	.L150
	ldr	r3, .L191
	str	r3, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-56]
	b	.L151
.L155:
	ldr	r3, [fp, #-56]
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L152
	ldr	r3, [fp, #-56]
	sub	r2, r3, #2
	ldr	r3, [fp, #4]
	str	r2, [r3]
	mov	r3, #5
	b	.L153
.L152:
	ldr	r2, [fp, #-64]
	ldr	r3, [fp, #-56]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r2, r3, #11
	ldr	r3, [fp, #-56]
	ldr	r1, [fp, #-20]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	bic	r3, r3, #-16777216
	bic	r3, r3, #14680064
	cmp	r2, r3
	bne	.L190
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	str	r3, [fp, #-56]
.L151:
	ldr	r3, [fp, #-64]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-56]
	cmp	r2, r3
	ble	.L155
	b	.L150
.L190:
	nop
.L150:
	ldr	r3, [fp, #-72]
	cmp	r3, #35
	bne	.L156
	ldr	r3, [fp, #-64]
	ldr	r3, [r3, #4]
	add	r2, r3, #1
	ldr	r3, [fp, #-68]
	sub	r2, r2, r3
	ldr	r3, [fp, #4]
	str	r2, [r3]
	mov	r3, #3
	b	.L153
.L156:
	ldr	r3, [fp, #-72]
	cmp	r3, #64
	bne	.L157
	ldr	r3, [fp, #-68]
	add	r3, r3, #1
	str	r3, [fp, #-16]
	nop
	ldr	r3, [fp, #-64]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	bgt	.L157
	ldr	r2, [fp, #-64]
	ldr	r3, [fp, #-16]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	mov	r0, r3
	bl	syn_c_iskeywordchar
	mov	r3, r0
	cmp	r3, #0
	bne	.L159
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-68]
	sub	r3, r2, r3
	sub	r2, r3, #1
	ldr	r3, [fp, #4]
	str	r2, [r3]
	mov	r3, #5
	b	.L153
.L159:
	ldr	r3, [fp, #-64]
	ldr	r3, [r3, #4]
	add	r2, r3, #1
	ldr	r3, [fp, #-68]
	sub	r2, r2, r3
	ldr	r3, [fp, #4]
	str	r2, [r3]
	mov	r3, #5
	b	.L153
.L157:
	ldr	r3, [fp, #-76]
	cmp	r3, #0
	beq	.L161
	ldr	r0, [fp, #-76]
	bl	syn_c_iskeywordchar
	mov	r3, r0
	cmp	r3, #0
	bne	.L162
.L161:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-72]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #2048
	cmp	r3, #0
	beq	.L162
	ldr	r3, [fp, #-72]
	cmp	r3, #48
	bne	.L163
	ldr	r3, [fp, #-64]
	ldr	r3, [r3, #4]
	sub	r3, r3, #1
	ldr	r2, [fp, #-68]
	cmp	r2, r3
	bge	.L163
	ldr	r3, [fp, #-68]
	add	r3, r3, #1
	ldr	r2, [fp, #-64]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	cmp	r3, #120
	bne	.L163
	mov	r3, #2
	str	r3, [fp, #-52]
	b	.L164
.L166:
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	str	r3, [fp, #-52]
.L164:
	ldr	r2, [fp, #-68]
	ldr	r3, [fp, #-52]
	add	r2, r2, r3
	ldr	r3, [fp, #-64]
	ldr	r3, [r3, #4]
	cmp	r2, r3
	bge	.L165
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r1, [fp, #-68]
	ldr	r3, [fp, #-52]
	add	r3, r1, r3
	ldr	r1, [fp, #-64]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #4096
	cmp	r3, #0
	bne	.L166
.L165:
	ldr	r2, [fp, #-68]
	ldr	r3, [fp, #-52]
	add	r2, r2, r3
	ldr	r3, [fp, #-64]
	ldr	r3, [r3, #4]
	cmp	r2, r3
	bge	.L167
	ldr	r2, [fp, #-68]
	ldr	r3, [fp, #-52]
	add	r3, r2, r3
	ldr	r2, [fp, #-64]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	mov	r0, r3
	bl	syn_c_iskeywordchar
	mov	r3, r0
	cmp	r3, #0
	beq	.L167
	mov	r3, #0
	b	.L153
.L167:
	ldr	r3, [fp, #-52]
	sub	r2, r3, #1
	ldr	r3, [fp, #4]
	str	r2, [r3]
	mov	r3, #6
	b	.L153
.L163:
	mov	r3, #1
	str	r3, [fp, #-48]
	b	.L168
.L170:
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-48]
.L168:
	ldr	r2, [fp, #-68]
	ldr	r3, [fp, #-48]
	add	r2, r2, r3
	ldr	r3, [fp, #-64]
	ldr	r3, [r3, #4]
	cmp	r2, r3
	bge	.L169
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r1, [fp, #-68]
	ldr	r3, [fp, #-48]
	add	r3, r1, r3
	ldr	r1, [fp, #-64]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #2048
	cmp	r3, #0
	bne	.L170
.L169:
	ldr	r2, [fp, #-68]
	ldr	r3, [fp, #-48]
	add	r2, r2, r3
	ldr	r3, [fp, #-64]
	ldr	r3, [r3, #4]
	cmp	r2, r3
	bge	.L171
	ldr	r2, [fp, #-68]
	ldr	r3, [fp, #-48]
	add	r3, r2, r3
	ldr	r2, [fp, #-64]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	mov	r0, r3
	bl	syn_c_iskeywordchar
	mov	r3, r0
	cmp	r3, #0
	beq	.L171
	mov	r3, #0
	b	.L153
.L171:
	ldr	r3, [fp, #-48]
	sub	r2, r3, #1
	ldr	r3, [fp, #4]
	str	r2, [r3]
	mov	r3, #6
	b	.L153
.L162:
	ldr	r2, [fp, #-64]
	ldr	r3, [fp, #-68]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	cmp	r3, #39
	bne	.L172
	ldr	r3, [fp, #-68]
	add	r2, r3, #2
	ldr	r3, [fp, #-64]
	ldr	r3, [r3, #4]
	cmp	r2, r3
	bge	.L173
	ldr	r3, [fp, #-68]
	add	r3, r3, #1
	ldr	r2, [fp, #-64]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	cmp	r3, #39
	bne	.L173
	ldr	r3, [fp, #-68]
	add	r3, r3, #2
	ldr	r2, [fp, #-64]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	cmp	r3, #39
	bne	.L173
	ldr	r3, [fp, #-68]
	add	r3, r3, #3
	str	r3, [fp, #-44]
	b	.L174
.L176:
	ldr	r2, [fp, #-64]
	ldr	r3, [fp, #-44]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	cmp	r3, #39
	bne	.L175
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	ldr	r2, [fp, #-64]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	cmp	r3, #39
	bne	.L175
	ldr	r3, [fp, #-44]
	add	r3, r3, #2
	ldr	r2, [fp, #-64]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	cmp	r3, #39
	bne	.L175
	ldr	r3, [fp, #-44]
	add	r2, r3, #2
	ldr	r3, [fp, #-68]
	sub	r2, r2, r3
	ldr	r3, [fp, #4]
	str	r2, [r3]
	mov	r3, #2
	b	.L153
.L175:
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L174:
	ldr	r3, [fp, #-64]
	ldr	r3, [r3, #4]
	sub	r3, r3, #2
	ldr	r2, [fp, #-44]
	cmp	r2, r3
	blt	.L176
	mov	r3, #66
	b	.L153
.L173:
	mov	r3, #0
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-68]
	add	r3, r3, #1
	str	r3, [fp, #-36]
	b	.L177
.L180:
	ldr	r2, [fp, #-64]
	ldr	r3, [fp, #-36]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-40]
	cmp	r3, #92
	beq	.L178
	ldr	r3, [fp, #-8]
	cmp	r3, #39
	bne	.L178
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-68]
	sub	r2, r2, r3
	ldr	r3, [fp, #4]
	str	r2, [r3]
	mov	r3, #2
	b	.L153
.L178:
	ldr	r3, [fp, #-40]
	cmp	r3, #92
	bne	.L179
	ldr	r3, [fp, #-8]
	cmp	r3, #92
	bne	.L179
	mov	r3, #0
	str	r3, [fp, #-40]
.L179:
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
.L177:
	ldr	r3, [fp, #-64]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-36]
	cmp	r2, r3
	blt	.L180
	ldr	r3, [fp, #-64]
	ldr	r3, [r3, #4]
	add	r2, r3, #1
	ldr	r3, [fp, #-68]
	sub	r2, r2, r3
	ldr	r3, [fp, #4]
	str	r2, [r3]
	mov	r3, #2
	b	.L153
.L172:
	ldr	r2, [fp, #-64]
	ldr	r3, [fp, #-68]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	cmp	r3, #34
	bne	.L181
	ldr	r3, [fp, #-68]
	add	r2, r3, #2
	ldr	r3, [fp, #-64]
	ldr	r3, [r3, #4]
	cmp	r2, r3
	bge	.L182
	ldr	r3, [fp, #-68]
	add	r3, r3, #1
	ldr	r2, [fp, #-64]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	cmp	r3, #34
	bne	.L182
	ldr	r3, [fp, #-68]
	add	r3, r3, #2
	ldr	r2, [fp, #-64]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	cmp	r3, #34
	bne	.L182
	ldr	r3, [fp, #-68]
	add	r3, r3, #3
	str	r3, [fp, #-32]
	b	.L183
.L185:
	ldr	r2, [fp, #-64]
	ldr	r3, [fp, #-32]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	cmp	r3, #34
	bne	.L184
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	ldr	r2, [fp, #-64]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	cmp	r3, #34
	bne	.L184
	ldr	r3, [fp, #-32]
	add	r3, r3, #2
	ldr	r2, [fp, #-64]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	cmp	r3, #34
	bne	.L184
	ldr	r3, [fp, #-32]
	add	r2, r3, #2
	ldr	r3, [fp, #-68]
	sub	r2, r2, r3
	ldr	r3, [fp, #4]
	str	r2, [r3]
	mov	r3, #2
	b	.L153
.L184:
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L183:
	ldr	r3, [fp, #-64]
	ldr	r3, [r3, #4]
	sub	r3, r3, #2
	ldr	r2, [fp, #-32]
	cmp	r2, r3
	blt	.L185
	mov	r3, #71
	b	.L153
.L182:
	mov	r3, #0
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-68]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	b	.L186
.L189:
	ldr	r2, [fp, #-64]
	ldr	r3, [fp, #-24]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-28]
	cmp	r3, #92
	beq	.L187
	ldr	r3, [fp, #-12]
	cmp	r3, #34
	bne	.L187
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-68]
	sub	r2, r2, r3
	ldr	r3, [fp, #4]
	str	r2, [r3]
	mov	r3, #2
	b	.L153
.L187:
	ldr	r3, [fp, #-28]
	cmp	r3, #92
	bne	.L188
	ldr	r3, [fp, #-12]
	cmp	r3, #92
	bne	.L188
	mov	r3, #0
	str	r3, [fp, #-28]
.L188:
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L186:
	ldr	r3, [fp, #-64]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	blt	.L189
	ldr	r3, [fp, #-64]
	ldr	r3, [r3, #4]
	add	r2, r3, #1
	ldr	r3, [fp, #-68]
	sub	r2, r2, r3
	ldr	r3, [fp, #4]
	str	r2, [r3]
	mov	r3, #2
	b	.L153
.L181:
	mov	r3, #0
.L153:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L192:
	.align	2
.L191:
	.word	.LC192
	.size	syn_py_extended, .-syn_py_extended
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	syn_py_finish, %function
syn_py_finish:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #28
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #66
	bne	.L194
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L195
.L198:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	cmp	r3, #39
	bne	.L196
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	ldr	r2, [fp, #-16]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	cmp	r3, #39
	bne	.L196
	ldr	r3, [fp, #-12]
	add	r3, r3, #2
	ldr	r2, [fp, #-16]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	cmp	r3, #39
	bne	.L196
	ldr	r3, [fp, #-12]
	add	r2, r3, #3
	ldr	r3, [fp, #-20]
	str	r2, [r3]
	mov	r3, #2
	b	.L197
.L196:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L195:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	sub	r3, r3, #2
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	blt	.L198
	mov	r3, #66
	b	.L197
.L194:
	ldr	r3, [fp, #-24]
	cmp	r3, #71
	bne	.L199
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L200
.L202:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-8]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	cmp	r3, #34
	bne	.L201
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	ldr	r2, [fp, #-16]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	cmp	r3, #34
	bne	.L201
	ldr	r3, [fp, #-8]
	add	r3, r3, #2
	ldr	r2, [fp, #-16]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	cmp	r3, #34
	bne	.L201
	ldr	r3, [fp, #-8]
	add	r2, r3, #3
	ldr	r3, [fp, #-20]
	str	r2, [r3]
	mov	r3, #7
	b	.L197
.L201:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L200:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	sub	r3, r3, #2
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	blt	.L202
	mov	r3, #71
	b	.L197
.L199:
	mov	r3, #0
.L197:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	syn_py_finish, .-syn_py_finish
	.global	syn_py_ext
	.section	.rodata
	.align	2
.LC193:
	.ascii	".py\000"
	.data
	.align	2
	.type	syn_py_ext, %object
	.size	syn_py_ext, 8
syn_py_ext:
	.word	.LC193
	.word	0
	.section	.rodata
	.align	2
.LC194:
	.ascii	"cd\000"
	.align	2
.LC195:
	.ascii	"exit\000"
	.align	2
.LC196:
	.ascii	"export\000"
	.align	2
.LC197:
	.ascii	"help\000"
	.align	2
.LC198:
	.ascii	"history\000"
	.align	2
.LC199:
	.ascii	"empty?\000"
	.align	2
.LC200:
	.ascii	"equals?\000"
	.align	2
.LC201:
	.ascii	"export-cmd\000"
	.align	2
.LC202:
	.ascii	"read\000"
	.align	2
.LC203:
	.ascii	"source\000"
	.align	2
.LC204:
	.ascii	"exec\000"
	.align	2
.LC205:
	.ascii	"then\000"
	.align	2
.LC206:
	.ascii	"echo\000"
	.align	2
.LC207:
	.ascii	"ln\000"
	.align	2
.LC208:
	.ascii	"tar\000"
	.align	2
.LC209:
	.ascii	"rm\000"
	.align	2
.LC210:
	.ascii	"cp\000"
	.align	2
.LC211:
	.ascii	"chmod\000"
	.data
	.align	2
	.type	syn_sh_keywords, %object
	.size	syn_sh_keywords, 100
syn_sh_keywords:
	.word	.LC194
	.word	.LC195
	.word	.LC196
	.word	.LC197
	.word	.LC198
	.word	.LC89
	.word	.LC199
	.word	.LC200
	.word	.LC92
	.word	.LC201
	.word	.LC202
	.word	.LC203
	.word	.LC204
	.word	.LC179
	.word	.LC88
	.word	.LC205
	.word	.LC102
	.word	.LC206
	.word	.LC194
	.word	.LC207
	.word	.LC208
	.word	.LC209
	.word	.LC210
	.word	.LC211
	.word	0
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	variable_char, %function
variable_char:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	mov	r3, r0
	strb	r3, [fp, #-5]
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
	cmp	r3, #64
	bls	.L204
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
	cmp	r3, #90
	bhi	.L204
	mov	r3, #1
	b	.L205
.L204:
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
	cmp	r3, #96
	bls	.L206
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
	cmp	r3, #122
	bhi	.L206
	mov	r3, #1
	b	.L205
.L206:
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
	cmp	r3, #47
	bls	.L207
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
	cmp	r3, #57
	bhi	.L207
	mov	r3, #1
	b	.L205
.L207:
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
	cmp	r3, #95
	bne	.L208
	mov	r3, #1
	b	.L205
.L208:
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
	cmp	r3, #63
	bne	.L209
	mov	r3, #1
	b	.L205
.L209:
	mov	r3, #0
.L205:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	variable_char, .-variable_char
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	syn_sh_extended, %function
syn_sh_extended:
	@ args = 4, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	str	r2, [fp, #-48]
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-48]
	cmp	r3, #35
	bne	.L211
	ldr	r3, [fp, #-52]
	cmp	r3, #92
	beq	.L211
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	add	r2, r3, #1
	ldr	r3, [fp, #-44]
	sub	r2, r2, r3
	ldr	r3, [fp, #4]
	str	r2, [r3]
	mov	r3, #3
	b	.L212
.L211:
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-44]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	cmp	r3, #39
	bne	.L213
	ldr	r3, [fp, #-52]
	cmp	r3, #92
	beq	.L213
	mov	r3, #0
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-32]
	b	.L214
.L217:
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-32]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-36]
	cmp	r3, #92
	beq	.L215
	ldr	r3, [fp, #-12]
	cmp	r3, #39
	bne	.L215
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-44]
	sub	r2, r2, r3
	ldr	r3, [fp, #4]
	str	r2, [r3]
	mov	r3, #2
	b	.L212
.L215:
	ldr	r3, [fp, #-36]
	cmp	r3, #92
	bne	.L216
	ldr	r3, [fp, #-12]
	cmp	r3, #92
	bne	.L216
	mov	r3, #0
	str	r3, [fp, #-36]
.L216:
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L214:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-32]
	cmp	r2, r3
	ble	.L217
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	add	r2, r3, #1
	ldr	r3, [fp, #-44]
	sub	r2, r2, r3
	ldr	r3, [fp, #4]
	str	r2, [r3]
	mov	r3, #2
	b	.L212
.L213:
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-44]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	cmp	r3, #36
	bne	.L218
	ldr	r3, [fp, #-52]
	cmp	r3, #92
	beq	.L218
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	sub	r3, r3, #1
	ldr	r2, [fp, #-44]
	cmp	r2, r3
	bge	.L219
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	ldr	r2, [fp, #-40]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	cmp	r3, #123
	bne	.L219
	ldr	r3, [fp, #-44]
	add	r3, r3, #2
	str	r3, [fp, #-28]
	b	.L220
.L223:
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-28]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	cmp	r3, #125
	beq	.L233
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L220:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-28]
	cmp	r2, r3
	ble	.L223
	b	.L222
.L233:
	nop
.L222:
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-44]
	sub	r2, r2, r3
	ldr	r3, [fp, #4]
	str	r2, [r3]
	mov	r3, #6
	b	.L212
.L219:
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	b	.L224
.L227:
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-24]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	and	r3, r3, #255
	mov	r0, r3
	bl	variable_char
	mov	r3, r0
	cmp	r3, #0
	beq	.L234
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L224:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	ble	.L227
	b	.L226
.L234:
	nop
.L226:
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-44]
	sub	r3, r2, r3
	sub	r2, r3, #1
	ldr	r3, [fp, #4]
	str	r2, [r3]
	mov	r3, #6
	b	.L212
.L218:
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-44]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	cmp	r3, #34
	bne	.L228
	ldr	r3, [fp, #-52]
	cmp	r3, #92
	beq	.L228
	mov	r3, #0
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-16]
	b	.L229
.L232:
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-16]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-20]
	cmp	r3, #92
	beq	.L230
	ldr	r3, [fp, #-8]
	cmp	r3, #34
	bne	.L230
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-44]
	sub	r2, r2, r3
	ldr	r3, [fp, #4]
	str	r2, [r3]
	mov	r3, #2
	b	.L212
.L230:
	ldr	r3, [fp, #-20]
	cmp	r3, #92
	bne	.L231
	ldr	r3, [fp, #-8]
	cmp	r3, #92
	bne	.L231
	mov	r3, #0
	str	r3, [fp, #-20]
.L231:
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L229:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	ble	.L232
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	add	r2, r3, #1
	ldr	r3, [fp, #-44]
	sub	r2, r2, r3
	ldr	r3, [fp, #4]
	str	r2, [r3]
	mov	r3, #2
	b	.L212
.L228:
	mov	r3, #0
.L212:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	syn_sh_extended, .-syn_sh_extended
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	syn_sh_iskeywordchar, %function
syn_sh_iskeywordchar:
	@ 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]
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8
	cmp	r3, #0
	beq	.L236
	mov	r3, #1
	b	.L237
.L236:
	ldr	r3, [fp, #-8]
	cmp	r3, #45
	bne	.L238
	mov	r3, #1
	b	.L237
.L238:
	ldr	r3, [fp, #-8]
	cmp	r3, #95
	bne	.L239
	mov	r3, #1
	b	.L237
.L239:
	ldr	r3, [fp, #-8]
	cmp	r3, #63
	bne	.L240
	mov	r3, #1
	b	.L237
.L240:
	mov	r3, #0
.L237:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	syn_sh_iskeywordchar, .-syn_sh_iskeywordchar
	.section	.rodata
	.align	2
.LC212:
	.ascii	".sh\000"
	.align	2
.LC213:
	.ascii	".eshrc\000"
	.align	2
.LC214:
	.ascii	".esh\000"
	.data
	.align	2
	.type	syn_sh_ext, %object
	.size	syn_sh_ext, 16
syn_sh_ext:
	.word	.LC212
	.word	.LC213
	.word	.LC214
	.word	0
	.section	.rodata
	.align	2
.LC215:
	.ascii	"Makefile\000"
	.align	2
.LC216:
	.ascii	"makefile\000"
	.align	2
.LC217:
	.ascii	"GNUmakefile\000"
	.align	2
.LC218:
	.ascii	".mak\000"
	.data
	.align	2
	.type	syn_make_ext, %object
	.size	syn_make_ext, 20
syn_make_ext:
	.word	.LC215
	.word	.LC216
	.word	.LC217
	.word	.LC218
	.word	0
	.section	.rodata
	.align	2
.LC219:
	.ascii	"define\000"
	.align	2
.LC220:
	.ascii	"endef\000"
	.align	2
.LC221:
	.ascii	"undefine\000"
	.align	2
.LC222:
	.ascii	"ifdef\000"
	.align	2
.LC223:
	.ascii	"ifndef\000"
	.align	2
.LC224:
	.ascii	"ifeq\000"
	.align	2
.LC225:
	.ascii	"ifneq\000"
	.align	2
.LC226:
	.ascii	"endif\000"
	.align	2
.LC227:
	.ascii	"include\000"
	.align	2
.LC228:
	.ascii	"sinclude\000"
	.align	2
.LC229:
	.ascii	"unexport\000"
	.align	2
.LC230:
	.ascii	"vpath\000"
	.align	2
.LC231:
	.ascii	"-include\000"
	.data
	.align	2
	.type	syn_make_commands, %object
	.size	syn_make_commands, 72
syn_make_commands:
	.word	.LC219
	.word	.LC220
	.word	.LC221
	.word	.LC222
	.word	.LC223
	.word	.LC224
	.word	.LC225
	.word	.LC102
	.word	.LC226
	.word	.LC227
	.word	.LC228
	.word	.LC114
	.word	.LC196
	.word	.LC229
	.word	.LC109
	.word	.LC230
	.word	.LC231
	.word	0
	.section	.rodata
	.align	2
.LC232:
	.ascii	"subst\000"
	.align	2
.LC233:
	.ascii	"patsubst\000"
	.align	2
.LC234:
	.ascii	"findstring\000"
	.align	2
.LC235:
	.ascii	"filter\000"
	.align	2
.LC236:
	.ascii	"filter-out\000"
	.align	2
.LC237:
	.ascii	"sort\000"
	.align	2
.LC238:
	.ascii	"word\000"
	.align	2
.LC239:
	.ascii	"words\000"
	.align	2
.LC240:
	.ascii	"wordlist\000"
	.align	2
.LC241:
	.ascii	"firstword\000"
	.align	2
.LC242:
	.ascii	"lastword\000"
	.align	2
.LC243:
	.ascii	"dir\000"
	.align	2
.LC244:
	.ascii	"notdir\000"
	.align	2
.LC245:
	.ascii	"suffix\000"
	.align	2
.LC246:
	.ascii	"basename\000"
	.align	2
.LC247:
	.ascii	"addsuffix\000"
	.align	2
.LC248:
	.ascii	"addprefix\000"
	.align	2
.LC249:
	.ascii	"join\000"
	.align	2
.LC250:
	.ascii	"wildcard\000"
	.align	2
.LC251:
	.ascii	"realpath\000"
	.align	2
.LC252:
	.ascii	"abspath\000"
	.align	2
.LC253:
	.ascii	"error\000"
	.align	2
.LC254:
	.ascii	"warning\000"
	.align	2
.LC255:
	.ascii	"shell\000"
	.align	2
.LC256:
	.ascii	"origin\000"
	.align	2
.LC257:
	.ascii	"flavor\000"
	.align	2
.LC258:
	.ascii	"foreach\000"
	.align	2
.LC259:
	.ascii	"call\000"
	.align	2
.LC260:
	.ascii	"eval\000"
	.align	2
.LC261:
	.ascii	"file\000"
	.align	2
.LC262:
	.ascii	"value\000"
	.data
	.align	2
	.type	syn_make_functions, %object
	.size	syn_make_functions, 140
syn_make_functions:
	.word	.LC232
	.word	.LC233
	.word	.LC234
	.word	.LC235
	.word	.LC236
	.word	.LC237
	.word	.LC238
	.word	.LC239
	.word	.LC240
	.word	.LC241
	.word	.LC242
	.word	.LC243
	.word	.LC244
	.word	.LC245
	.word	.LC246
	.word	.LC247
	.word	.LC248
	.word	.LC249
	.word	.LC250
	.word	.LC251
	.word	.LC252
	.word	.LC253
	.word	.LC254
	.word	.LC255
	.word	.LC256
	.word	.LC257
	.word	.LC258
	.word	.LC89
	.word	.LC168
	.word	.LC167
	.word	.LC259
	.word	.LC260
	.word	.LC261
	.word	.LC262
	.word	0
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	syn_make_extended, %function
syn_make_extended:
	@ args = 4, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #52
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	str	r2, [fp, #-48]
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-48]
	cmp	r3, #35
	bne	.L242
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	add	r2, r3, #1
	ldr	r3, [fp, #-44]
	sub	r2, r2, r3
	ldr	r3, [fp, #4]
	str	r2, [r3]
	mov	r3, #3
	b	.L243
.L242:
	ldr	r3, [fp, #-48]
	cmp	r3, #9
	bne	.L244
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	add	r2, r3, #1
	ldr	r3, [fp, #-44]
	sub	r2, r2, r3
	ldr	r3, [fp, #4]
	str	r2, [r3]
	mov	r3, #6
	b	.L243
.L244:
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	bne	.L245
	mov	r3, #0
	str	r3, [fp, #-32]
	b	.L246
.L249:
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-32]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	cmp	r3, #32
	bne	.L269
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L246:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-32]
	cmp	r2, r3
	blt	.L249
	b	.L248
.L269:
	nop
.L248:
	mov	r3, #0
	str	r3, [fp, #-28]
	b	.L250
.L255:
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L251
.L253:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L251:
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-24]
	add	r2, r2, r3
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	cmp	r2, r3
	bge	.L252
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	ldr	r2, [fp, #-40]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r2, r3, #11
	ldr	r1, .L270
	ldr	r3, [fp, #-28]
	ldr	r1, [r1, r3, lsl #2]
	ldr	r3, [fp, #-24]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	bic	r3, r3, #-16777216
	bic	r3, r3, #14680064
	cmp	r2, r3
	beq	.L253
.L252:
	ldr	r2, .L270
	ldr	r3, [fp, #-28]
	ldr	r2, [r2, r3, lsl #2]
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L254
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-24]
	add	r2, r2, r3
	ldr	r3, [fp, #4]
	str	r2, [r3]
	mov	r3, #5
	b	.L243
.L254:
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L250:
	ldr	r2, .L270
	ldr	r3, [fp, #-28]
	ldr	r3, [r2, r3, lsl #2]
	cmp	r3, #0
	bne	.L255
.L245:
	ldr	r3, [fp, #-52]
	cmp	r3, #40
	bne	.L256
	ldr	r3, [fp, #-44]
	cmp	r3, #1
	ble	.L256
	ldr	r3, [fp, #-44]
	sub	r3, r3, #2
	ldr	r2, [fp, #-40]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	cmp	r3, #36
	bne	.L256
	ldr	r3, [fp, #-44]
	str	r3, [fp, #-8]
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L257
.L263:
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L258
.L260:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L258:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-16]
	add	r2, r2, r3
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	cmp	r2, r3
	bge	.L259
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	ldr	r2, [fp, #-40]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r2, r3, #11
	ldr	r1, .L270+4
	ldr	r3, [fp, #-20]
	ldr	r1, [r1, r3, lsl #2]
	ldr	r3, [fp, #-16]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	bic	r3, r3, #-16777216
	bic	r3, r3, #14680064
	cmp	r2, r3
	beq	.L260
.L259:
	ldr	r2, .L270+4
	ldr	r3, [fp, #-20]
	ldr	r2, [r2, r3, lsl #2]
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L261
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-16]
	add	r2, r2, r3
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	cmp	r2, r3
	beq	.L262
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	ldr	r2, [fp, #-40]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	cmp	r3, #41
	beq	.L262
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	ldr	r2, [fp, #-40]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	cmp	r3, #32
	bne	.L261
.L262:
	ldr	r3, [fp, #4]
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	mov	r3, #1
	b	.L243
.L261:
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L257:
	ldr	r2, .L270+4
	ldr	r3, [fp, #-20]
	ldr	r3, [r2, r3, lsl #2]
	cmp	r3, #0
	bne	.L263
.L256:
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	bne	.L264
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L265
.L268:
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-12]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	cmp	r3, #61
	bne	.L266
	ldr	r3, [fp, #4]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	mov	r3, #4
	b	.L243
.L266:
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-12]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	cmp	r3, #58
	bne	.L267
	ldr	r3, [fp, #4]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	mov	r3, #4
	b	.L243
.L267:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L265:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	blt	.L268
.L264:
	mov	r3, #0
.L243:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L271:
	.align	2
.L270:
	.word	syn_make_commands
	.word	syn_make_functions
	.size	syn_make_extended, .-syn_make_extended
	.section	.rodata
	.align	2
.LC263:
	.ascii	"theme\000"
	.align	2
.LC264:
	.ascii	"padding\000"
	.data
	.align	2
	.type	syn_bimrc_keywords, %object
	.size	syn_bimrc_keywords, 12
syn_bimrc_keywords:
	.word	.LC263
	.word	.LC264
	.word	0
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	syn_bimrc_extended, %function
syn_bimrc_extended:
	@ args = 4, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L273
	ldr	r3, [fp, #-16]
	cmp	r3, #35
	bne	.L273
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	add	r2, r3, #1
	ldr	r3, [fp, #4]
	str	r2, [r3]
	mov	r3, #3
	b	.L274
.L273:
	mov	r3, #0
.L274:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	syn_bimrc_extended, .-syn_bimrc_extended
	.section	.rodata
	.align	2
.LC265:
	.ascii	".bimrc\000"
	.data
	.align	2
	.type	syn_bimrc_ext, %object
	.size	syn_bimrc_ext, 8
syn_bimrc_ext:
	.word	.LC265
	.word	0
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	syn_gitcommit_extended, %function
syn_gitcommit_extended:
	@ args = 4, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-16]
	cmp	r3, #35
	bne	.L276
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	add	r2, r3, #1
	ldr	r3, [fp, #-12]
	sub	r2, r2, r3
	ldr	r3, [fp, #4]
	str	r2, [r3]
	mov	r3, #3
	b	.L277
.L276:
	mov	r3, #0
.L277:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	syn_gitcommit_extended, .-syn_gitcommit_extended
	.section	.rodata
	.align	2
.LC266:
	.ascii	"COMMIT_EDITMSG\000"
	.data
	.align	2
	.type	syn_gitcommit_ext, %object
	.size	syn_gitcommit_ext, 8
syn_gitcommit_ext:
	.word	.LC266
	.word	0
	.section	.rodata
	.align	2
.LC267:
	.ascii	"p \000"
	.align	2
.LC268:
	.ascii	"r \000"
	.align	2
.LC269:
	.ascii	"e \000"
	.align	2
.LC270:
	.ascii	"s \000"
	.align	2
.LC271:
	.ascii	"f \000"
	.align	2
.LC272:
	.ascii	"x \000"
	.align	2
.LC273:
	.ascii	" d\000"
	.align	2
.LC274:
	.ascii	"pick \000"
	.align	2
.LC275:
	.ascii	"reword \000"
	.align	2
.LC276:
	.ascii	"edit \000"
	.align	2
.LC277:
	.ascii	"squash \000"
	.align	2
.LC278:
	.ascii	"fixup \000"
	.align	2
.LC279:
	.ascii	"exec \000"
	.align	2
.LC280:
	.ascii	"drop \000"
	.data
	.align	2
	.type	syn_gitrebase_commands, %object
	.size	syn_gitrebase_commands, 60
syn_gitrebase_commands:
	.word	.LC267
	.word	.LC268
	.word	.LC269
	.word	.LC270
	.word	.LC271
	.word	.LC272
	.word	.LC273
	.word	.LC274
	.word	.LC275
	.word	.LC276
	.word	.LC277
	.word	.LC278
	.word	.LC279
	.word	.LC280
	.word	0
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	syn_gitrebase_extended, %function
syn_gitrebase_extended:
	@ args = 4, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-32]
	cmp	r3, #35
	bne	.L279
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	add	r2, r3, #1
	ldr	r3, [fp, #-28]
	sub	r2, r2, r3
	ldr	r3, [fp, #4]
	str	r2, [r3]
	mov	r3, #3
	b	.L280
.L279:
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L281
	ldr	r3, [fp, #-28]
	str	r3, [fp, #-8]
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L282
.L287:
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L283
.L285:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L283:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-16]
	add	r2, r2, r3
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	cmp	r2, r3
	bge	.L284
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	ldr	r2, [fp, #-24]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r2, r3, #11
	ldr	r1, .L291
	ldr	r3, [fp, #-20]
	ldr	r1, [r1, r3, lsl #2]
	ldr	r3, [fp, #-16]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	bic	r3, r3, #-16777216
	bic	r3, r3, #14680064
	cmp	r2, r3
	beq	.L285
.L284:
	ldr	r2, .L291
	ldr	r3, [fp, #-20]
	ldr	r2, [r2, r3, lsl #2]
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L286
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	sub	r2, r3, #1
	ldr	r3, [fp, #4]
	str	r2, [r3]
	mov	r3, #1
	b	.L280
.L286:
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L282:
	ldr	r2, .L291
	ldr	r3, [fp, #-20]
	ldr	r3, [r2, r3, lsl #2]
	cmp	r3, #0
	bne	.L287
.L281:
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	ble	.L288
	ldr	r3, [fp, #-28]
	sub	r3, r3, #1
	ldr	r2, [fp, #-24]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	add	r3, r3, #4
	ldrh	r3, [r3]
	lsr	r3, r3, #4
	and	r3, r3, #127
	and	r3, r3, #255
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L288
	ldr	r3, [fp, #-28]
	str	r3, [fp, #-12]
	b	.L289
.L290:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L289:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r1, [fp, #-24]
	ldr	r3, [fp, #-12]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #4096
	cmp	r3, #0
	bne	.L290
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-28]
	sub	r3, r2, r3
	sub	r2, r3, #1
	ldr	r3, [fp, #4]
	str	r2, [r3]
	mov	r3, #6
	b	.L280
.L288:
	mov	r3, #0
.L280:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L292:
	.align	2
.L291:
	.word	syn_gitrebase_commands
	.size	syn_gitrebase_extended, .-syn_gitrebase_extended
	.section	.rodata
	.align	2
.LC281:
	.ascii	"git-rebase-todo\000"
	.data
	.align	2
	.type	syn_gitrebase_ext, %object
	.size	syn_gitrebase_ext, 8
syn_gitrebase_ext:
	.word	.LC281
	.word	0
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	syn_diff_extended, %function
syn_diff_extended:
	@ args = 4, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L294
	ldr	r3, [fp, #-16]
	cmp	r3, #43
	bne	.L295
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	add	r2, r3, #1
	ldr	r3, [fp, #4]
	str	r2, [r3]
	mov	r3, #8
	b	.L296
.L295:
	ldr	r3, [fp, #-16]
	cmp	r3, #45
	bne	.L297
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	add	r2, r3, #1
	ldr	r3, [fp, #4]
	str	r2, [r3]
	mov	r3, #9
	b	.L296
.L297:
	ldr	r3, [fp, #-16]
	cmp	r3, #64
	bne	.L298
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	add	r2, r3, #1
	ldr	r3, [fp, #4]
	str	r2, [r3]
	mov	r3, #4
	b	.L296
.L298:
	ldr	r3, [fp, #-16]
	cmp	r3, #32
	beq	.L294
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	add	r2, r3, #1
	ldr	r3, [fp, #4]
	str	r2, [r3]
	mov	r3, #1
	b	.L296
.L294:
	mov	r3, #0
.L296:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	syn_diff_extended, .-syn_diff_extended
	.section	.rodata
	.align	2
.LC282:
	.ascii	".diff\000"
	.align	2
.LC283:
	.ascii	".patch\000"
	.data
	.align	2
	.type	syn_diff_ext, %object
	.size	syn_diff_ext, 12
syn_diff_ext:
	.word	.LC282
	.word	.LC283
	.word	0
	.section	.rodata
	.align	2
.LC284:
	.ascii	"crate\000"
	.align	2
.LC285:
	.ascii	"false\000"
	.align	2
.LC286:
	.ascii	"fn\000"
	.align	2
.LC287:
	.ascii	"impl\000"
	.align	2
.LC288:
	.ascii	"let\000"
	.align	2
.LC289:
	.ascii	"loop\000"
	.align	2
.LC290:
	.ascii	"match\000"
	.align	2
.LC291:
	.ascii	"mod\000"
	.align	2
.LC292:
	.ascii	"move\000"
	.align	2
.LC293:
	.ascii	"mut\000"
	.align	2
.LC294:
	.ascii	"pub\000"
	.align	2
.LC295:
	.ascii	"ref\000"
	.align	2
.LC296:
	.ascii	"Self\000"
	.align	2
.LC297:
	.ascii	"self\000"
	.align	2
.LC298:
	.ascii	"super\000"
	.align	2
.LC299:
	.ascii	"trait\000"
	.align	2
.LC300:
	.ascii	"true\000"
	.align	2
.LC301:
	.ascii	"type\000"
	.align	2
.LC302:
	.ascii	"unsafe\000"
	.align	2
.LC303:
	.ascii	"use\000"
	.align	2
.LC304:
	.ascii	"where\000"
	.data
	.align	2
	.type	syn_rust_keywords, %object
	.size	syn_rust_keywords, 144
syn_rust_keywords:
	.word	.LC166
	.word	.LC93
	.word	.LC125
	.word	.LC91
	.word	.LC284
	.word	.LC102
	.word	.LC130
	.word	.LC132
	.word	.LC285
	.word	.LC286
	.word	.LC90
	.word	.LC89
	.word	.LC287
	.word	.LC174
	.word	.LC288
	.word	.LC289
	.word	.LC290
	.word	.LC291
	.word	.LC292
	.word	.LC293
	.word	.LC294
	.word	.LC295
	.word	.LC92
	.word	.LC296
	.word	.LC297
	.word	.LC116
	.word	.LC97
	.word	.LC298
	.word	.LC299
	.word	.LC300
	.word	.LC301
	.word	.LC302
	.word	.LC303
	.word	.LC304
	.word	.LC88
	.word	0
	.section	.rodata
	.align	2
.LC305:
	.ascii	"i8\000"
	.align	2
.LC306:
	.ascii	"i16\000"
	.align	2
.LC307:
	.ascii	"i32\000"
	.align	2
.LC308:
	.ascii	"i64\000"
	.align	2
.LC309:
	.ascii	"u8\000"
	.align	2
.LC310:
	.ascii	"u16\000"
	.align	2
.LC311:
	.ascii	"u32\000"
	.align	2
.LC312:
	.ascii	"u64\000"
	.align	2
.LC313:
	.ascii	"isize\000"
	.align	2
.LC314:
	.ascii	"usize\000"
	.align	2
.LC315:
	.ascii	"f32\000"
	.align	2
.LC316:
	.ascii	"f64\000"
	.data
	.align	2
	.type	syn_rust_types, %object
	.size	syn_rust_types, 64
syn_rust_types:
	.word	.LC133
	.word	.LC118
	.word	.LC190
	.word	.LC305
	.word	.LC306
	.word	.LC307
	.word	.LC308
	.word	.LC309
	.word	.LC310
	.word	.LC311
	.word	.LC312
	.word	.LC313
	.word	.LC314
	.word	.LC315
	.word	.LC316
	.word	0
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	syn_rust_extended, %function
syn_rust_extended:
	@ args = 4, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	str	r2, [fp, #-48]
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	beq	.L300
	ldr	r0, [fp, #-52]
	bl	syn_c_iskeywordchar
	mov	r3, r0
	cmp	r3, #0
	bne	.L301
.L300:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #2048
	cmp	r3, #0
	beq	.L301
	ldr	r3, [fp, #-48]
	cmp	r3, #48
	bne	.L302
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	sub	r3, r3, #1
	ldr	r2, [fp, #-44]
	cmp	r2, r3
	bge	.L302
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	ldr	r2, [fp, #-40]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	cmp	r3, #120
	bne	.L302
	mov	r3, #2
	str	r3, [fp, #-36]
	b	.L303
.L305:
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
.L303:
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-36]
	add	r2, r2, r3
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	cmp	r2, r3
	bge	.L304
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r1, [fp, #-44]
	ldr	r3, [fp, #-36]
	add	r3, r1, r3
	ldr	r1, [fp, #-40]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #4096
	cmp	r3, #0
	bne	.L305
.L304:
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-36]
	add	r2, r2, r3
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	cmp	r2, r3
	bge	.L306
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-36]
	add	r3, r2, r3
	ldr	r2, [fp, #-40]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	mov	r0, r3
	bl	syn_c_iskeywordchar
	mov	r3, r0
	cmp	r3, #0
	beq	.L306
	mov	r3, #0
	b	.L307
.L306:
	ldr	r3, [fp, #-36]
	sub	r2, r3, #1
	ldr	r3, [fp, #4]
	str	r2, [r3]
	mov	r3, #6
	b	.L307
.L302:
	mov	r3, #1
	str	r3, [fp, #-32]
	b	.L308
.L310:
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L308:
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-32]
	add	r2, r2, r3
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	cmp	r2, r3
	bge	.L309
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r1, [fp, #-44]
	ldr	r3, [fp, #-32]
	add	r3, r1, r3
	ldr	r1, [fp, #-40]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #2048
	cmp	r3, #0
	bne	.L310
.L309:
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-32]
	add	r2, r2, r3
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	cmp	r2, r3
	bge	.L311
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-32]
	add	r3, r2, r3
	ldr	r2, [fp, #-40]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	mov	r0, r3
	bl	syn_c_iskeywordchar
	mov	r3, r0
	cmp	r3, #0
	beq	.L311
	mov	r3, #0
	b	.L307
.L311:
	ldr	r3, [fp, #-32]
	sub	r2, r3, #1
	ldr	r3, [fp, #4]
	str	r2, [r3]
	mov	r3, #6
	b	.L307
.L301:
	ldr	r3, [fp, #-48]
	cmp	r3, #47
	bne	.L312
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	sub	r3, r3, #1
	ldr	r2, [fp, #-44]
	cmp	r2, r3
	bge	.L313
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	ldr	r2, [fp, #-40]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	cmp	r3, #47
	bne	.L313
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	add	r2, r3, #1
	ldr	r3, [fp, #-44]
	sub	r2, r2, r3
	ldr	r3, [fp, #4]
	str	r2, [r3]
	mov	r3, #3
	b	.L307
.L313:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	sub	r3, r3, #1
	ldr	r2, [fp, #-44]
	cmp	r2, r3
	bge	.L312
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	ldr	r2, [fp, #-40]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	cmp	r3, #42
	bne	.L312
	mov	r3, #0
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-44]
	add	r3, r3, #2
	str	r3, [fp, #-24]
	b	.L314
.L316:
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-24]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #47
	bne	.L315
	ldr	r3, [fp, #-28]
	cmp	r3, #42
	bne	.L315
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-44]
	sub	r2, r2, r3
	ldr	r3, [fp, #4]
	str	r2, [r3]
	mov	r3, #3
	b	.L307
.L315:
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L314:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	blt	.L316
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	add	r2, r3, #1
	ldr	r3, [fp, #-44]
	sub	r2, r2, r3
	ldr	r3, [fp, #4]
	str	r2, [r3]
	mov	r3, #67
	b	.L307
.L312:
	ldr	r3, [fp, #-48]
	cmp	r3, #39
	bne	.L317
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	sub	r3, r3, #3
	ldr	r2, [fp, #-44]
	cmp	r2, r3
	bge	.L318
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	ldr	r2, [fp, #-40]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	cmp	r3, #92
	bne	.L318
	ldr	r3, [fp, #-44]
	add	r3, r3, #3
	ldr	r2, [fp, #-40]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	cmp	r3, #39
	bne	.L318
	ldr	r3, [fp, #4]
	mov	r2, #3
	str	r2, [r3]
	mov	r3, #6
	b	.L307
.L318:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	sub	r3, r3, #2
	ldr	r2, [fp, #-44]
	cmp	r2, r3
	bge	.L317
	ldr	r3, [fp, #-44]
	add	r3, r3, #2
	ldr	r2, [fp, #-40]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	cmp	r3, #39
	bne	.L317
	ldr	r3, [fp, #4]
	mov	r2, #2
	str	r2, [r3]
	mov	r3, #6
	b	.L307
.L317:
	ldr	r3, [fp, #-48]
	cmp	r3, #34
	bne	.L319
	mov	r3, #0
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-16]
	b	.L320
.L323:
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-16]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-20]
	cmp	r3, #92
	beq	.L321
	ldr	r3, [fp, #-8]
	cmp	r3, #34
	bne	.L321
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-44]
	sub	r2, r2, r3
	ldr	r3, [fp, #4]
	str	r2, [r3]
	mov	r3, #2
	b	.L307
.L321:
	ldr	r3, [fp, #-20]
	cmp	r3, #92
	bne	.L322
	ldr	r3, [fp, #-8]
	cmp	r3, #92
	bne	.L322
	mov	r3, #0
	str	r3, [fp, #-20]
.L322:
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L320:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	blt	.L323
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	add	r2, r3, #1
	ldr	r3, [fp, #-44]
	sub	r2, r2, r3
	ldr	r3, [fp, #4]
	str	r2, [r3]
	mov	r3, #2
	b	.L307
.L319:
	mov	r3, #0
.L307:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	syn_rust_extended, .-syn_rust_extended
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	syn_rust_finish, %function
syn_rust_finish:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #28
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #67
	bne	.L325
	mov	r3, #0
	str	r3, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L326
.L329:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-8]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	cmp	r3, #47
	bne	.L327
	ldr	r3, [fp, #-12]
	cmp	r3, #42
	bne	.L327
	ldr	r3, [fp, #-8]
	add	r2, r3, #2
	ldr	r3, [fp, #-20]
	str	r2, [r3]
	mov	r3, #3
	b	.L328
.L327:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-8]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L326:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	blt	.L329
	mov	r3, #67
	b	.L328
.L325:
	mov	r3, #0
.L328:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	syn_rust_finish, .-syn_rust_finish
	.section	.rodata
	.align	2
.LC317:
	.ascii	".rs\000"
	.data
	.align	2
	.type	syn_rust_ext, %object
	.size	syn_rust_ext, 8
syn_rust_ext:
	.word	.LC317
	.word	0
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	syn_conf_extended, %function
syn_conf_extended:
	@ args = 4, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #28
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L331
	ldr	r3, [fp, #-24]
	cmp	r3, #59
	bne	.L332
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	add	r2, r3, #1
	ldr	r3, [fp, #-20]
	sub	r2, r2, r3
	ldr	r3, [fp, #4]
	str	r2, [r3]
	mov	r3, #3
	b	.L333
.L332:
	ldr	r3, [fp, #-24]
	cmp	r3, #91
	bne	.L334
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	add	r2, r3, #1
	ldr	r3, [fp, #-20]
	sub	r2, r2, r3
	ldr	r3, [fp, #4]
	str	r2, [r3]
	mov	r3, #1
	b	.L333
.L334:
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L335
.L337:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-8]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	cmp	r3, #61
	bne	.L336
	ldr	r3, [fp, #4]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	mov	r3, #4
	b	.L333
.L336:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L335:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	blt	.L337
.L331:
	mov	r3, #0
.L333:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	syn_conf_extended, .-syn_conf_extended
	.section	.rodata
	.align	2
.LC318:
	.ascii	".conf\000"
	.data
	.align	2
	.type	syn_conf_ext, %object
	.size	syn_conf_ext, 8
syn_conf_ext:
	.word	.LC318
	.word	0
	.global	syntaxes
	.section	.rodata
	.align	2
.LC319:
	.ascii	"c\000"
	.align	2
.LC320:
	.ascii	"python\000"
	.align	2
.LC321:
	.ascii	"esh\000"
	.align	2
.LC322:
	.ascii	"make\000"
	.align	2
.LC323:
	.ascii	"bimrc\000"
	.align	2
.LC324:
	.ascii	"gitcommit\000"
	.align	2
.LC325:
	.ascii	"gitrebase\000"
	.align	2
.LC326:
	.ascii	"diff\000"
	.align	2
.LC327:
	.ascii	"rust\000"
	.align	2
.LC328:
	.ascii	"conf\000"
	.data
	.align	2
	.type	syntaxes, %object
	.size	syntaxes, 308
syntaxes:
	.word	.LC319
	.word	syn_c_ext
	.word	syn_c_keywords
	.word	syn_c_types
	.word	syn_c_extended
	.word	syn_c_iskeywordchar
	.word	syn_c_finish
	.word	.LC320
	.word	syn_py_ext
	.word	syn_py_keywords
	.word	syn_py_types
	.word	syn_py_extended
	.word	syn_c_iskeywordchar
	.word	syn_py_finish
	.word	.LC321
	.word	syn_sh_ext
	.word	syn_sh_keywords
	.word	0
	.word	syn_sh_extended
	.word	syn_sh_iskeywordchar
	.word	0
	.word	.LC322
	.word	syn_make_ext
	.word	0
	.word	0
	.word	syn_make_extended
	.word	0
	.word	0
	.word	.LC323
	.word	syn_bimrc_ext
	.word	syn_bimrc_keywords
	.word	0
	.word	syn_bimrc_extended
	.word	syn_c_iskeywordchar
	.word	0
	.word	.LC324
	.word	syn_gitcommit_ext
	.word	0
	.word	0
	.word	syn_gitcommit_extended
	.word	0
	.word	0
	.word	.LC325
	.word	syn_gitrebase_ext
	.word	0
	.word	0
	.word	syn_gitrebase_extended
	.word	0
	.word	0
	.word	.LC326
	.word	syn_diff_ext
	.word	0
	.word	0
	.word	syn_diff_extended
	.word	0
	.word	0
	.word	.LC327
	.word	syn_rust_ext
	.word	syn_rust_keywords
	.word	syn_rust_types
	.word	syn_rust_extended
	.word	syn_c_iskeywordchar
	.word	syn_rust_finish
	.word	.LC328
	.word	syn_conf_ext
	.word	0
	.word	0
	.word	syn_conf_extended
	.word	0
	.word	0
	.word	0
	.space	24
	.text
	.align	2
	.global	check_line
	.syntax unified
	.arm
	.fpu softvfp
	.type	check_line, %function
check_line:
	@ 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, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	ldr	r3, .L346
	ldr	r3, [r3]
	ldr	r3, [r3, #44]
	ldr	r3, [r3, #20]
	ldr	r0, [fp, #-28]
	blx	r3
	mov	r3, r0
	cmp	r3, #0
	beq	.L339
	mov	r3, #0
	b	.L340
.L339:
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-8]
	b	.L341
.L344:
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L342
	ldr	r3, .L346
	ldr	r3, [r3]
	ldr	r3, [r3, #44]
	ldr	r2, [r3, #20]
	ldr	r1, [fp, #-16]
	ldr	r3, [fp, #-8]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	mov	r0, r3
	blx	r2
	mov	r3, r0
	cmp	r3, #0
	bne	.L342
	mov	r3, #1
	b	.L340
.L342:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-8]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r2, r3, #11
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	bic	r3, r3, #-16777216
	bic	r3, r3, #14680064
	cmp	r2, r3
	bne	.L343
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	b	.L341
.L343:
	mov	r3, #0
	b	.L340
.L341:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	blt	.L344
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L345
	mov	r3, #1
	b	.L340
.L345:
	mov	r3, #0
.L340:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L347:
	.align	2
.L346:
	.word	env
	.size	check_line, .-check_line
	.section	.rodata
	.align	2
.LC329:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	recalculate_syntax
	.syntax unified
	.arm
	.fpu softvfp
	.type	recalculate_syntax, %function
recalculate_syntax:
	@ args = 0, pretend = 0, frame = 64
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #76
	str	r0, [fp, #-72]
	str	r1, [fp, #-76]
	ldr	r3, .L380
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	ldr	r3, .L380+4
	ldr	r3, [r3]
	ldr	r3, [r3, #44]
	cmp	r3, #0
	bne	.L349
	mov	r3, #0
	str	r3, [fp, #-60]
	b	.L350
.L351:
	ldr	r2, [fp, #-72]
	ldr	r3, [fp, #-60]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	add	r2, r3, #4
	ldrh	r3, [r2]	@ movhi
	bic	r3, r3, #2032
	strh	r3, [r2]	@ movhi
	ldr	r3, [fp, #-60]
	add	r3, r3, #1
	str	r3, [fp, #-60]
.L350:
	ldr	r3, [fp, #-72]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-60]
	cmp	r2, r3
	blt	.L351
	b	.L348
.L349:
	ldr	r3, [fp, #-72]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-56]
	mov	r3, #0
	str	r3, [fp, #-64]
	mov	r3, #0
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	beq	.L353
	ldr	r3, .L380+4
	ldr	r3, [r3]
	ldr	r3, [r3, #44]
	ldr	r3, [r3, #24]
	sub	r1, fp, #64
	ldr	r2, [fp, #-56]
	ldr	r0, [fp, #-72]
	blx	r3
	str	r0, [fp, #-56]
	ldr	r3, [fp, #-56]
	and	r3, r3, #64
	cmp	r3, #0
	beq	.L353
	mov	r3, #0
	str	r3, [fp, #-48]
	b	.L354
.L355:
	ldr	r3, [fp, #-56]
	and	r3, r3, #127
	and	r3, r3, #255
	ldr	r1, [fp, #-72]
	ldr	r2, [fp, #-48]
	add	r2, r2, #2
	lsl	r2, r2, #2
	add	r2, r1, r2
	add	r1, r2, #4
	ldrh	r2, [r1]	@ movhi
	and	r3, r3, #127
	bic	r2, r2, #2032
	lsl	r3, r3, #4
	orr	r3, r3, r2
	mov	r2, r3	@ movhi
	strh	r2, [r1]	@ movhi
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-48]
.L354:
	ldr	r3, [fp, #-72]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-48]
	cmp	r2, r3
	blt	.L355
	b	.L356
.L353:
	mov	r3, #0
	str	r3, [fp, #-44]
	b	.L357
.L374:
	ldr	r3, [fp, #-64]
	cmp	r3, #0
	bne	.L358
	mov	r3, #0
	str	r3, [fp, #-56]
.L358:
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	beq	.L359
	ldr	r3, [fp, #-64]
	sub	r3, r3, #1
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-56]
	and	r3, r3, #127
	and	r3, r3, #255
	ldr	r1, [fp, #-72]
	ldr	r2, [fp, #-44]
	add	r2, r2, #2
	lsl	r2, r2, #2
	add	r2, r1, r2
	add	r1, r2, #4
	ldrh	r2, [r1]	@ movhi
	and	r3, r3, #127
	bic	r2, r2, #2032
	lsl	r3, r3, #4
	orr	r3, r3, r2
	mov	r2, r3	@ movhi
	strh	r2, [r1]	@ movhi
	ldr	r3, [fp, #-64]
	cmp	r3, #0
	bne	.L377
	mov	r3, #0
	str	r3, [fp, #-56]
	b	.L377
.L359:
	ldr	r2, [fp, #-72]
	ldr	r3, [fp, #-44]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	str	r3, [fp, #-32]
	ldr	r2, [fp, #-72]
	ldr	r3, [fp, #-44]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	add	r2, r3, #4
	ldrh	r3, [r2]	@ movhi
	bic	r3, r3, #2032
	strh	r3, [r2]	@ movhi
	ldr	r3, .L380+4
	ldr	r3, [r3]
	ldr	r3, [r3, #44]
	ldr	r3, [r3, #16]
	cmp	r3, #0
	beq	.L362
	ldr	r3, .L380+4
	ldr	r3, [r3]
	ldr	r3, [r3, #44]
	ldr	r4, [r3, #16]
	sub	r3, fp, #64
	str	r3, [sp]
	ldr	r3, [fp, #-52]
	ldr	r2, [fp, #-32]
	ldr	r1, [fp, #-44]
	ldr	r0, [fp, #-72]
	blx	r4
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	beq	.L362
	ldr	r3, [fp, #-28]
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-56]
	and	r3, r3, #64
	cmp	r3, #0
	beq	.L378
	b	.L364
.L365:
	ldr	r3, [fp, #-56]
	and	r3, r3, #127
	and	r3, r3, #255
	ldr	r1, [fp, #-72]
	ldr	r2, [fp, #-44]
	add	r2, r2, #2
	lsl	r2, r2, #2
	add	r2, r1, r2
	add	r1, r2, #4
	ldrh	r2, [r1]	@ movhi
	and	r3, r3, #127
	bic	r2, r2, #2032
	lsl	r3, r3, #4
	orr	r3, r3, r2
	mov	r2, r3	@ movhi
	strh	r2, [r1]	@ movhi
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L364:
	ldr	r3, [fp, #-72]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-44]
	cmp	r2, r3
	blt	.L365
	b	.L356
.L362:
	ldr	r3, .L380+4
	ldr	r3, [r3]
	ldr	r3, [r3, #44]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	beq	.L367
	ldr	r3, .L380+4
	ldr	r3, [r3]
	ldr	r3, [r3, #44]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-40]
	b	.L368
.L370:
	ldr	r3, [fp, #-40]
	ldr	r2, [r3]
	ldr	r3, [fp, #-52]
	ldr	r1, [fp, #-44]
	ldr	r0, [fp, #-72]
	bl	check_line
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #1
	bne	.L369
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	sub	r3, r3, #1
	str	r3, [fp, #-64]
	mov	r3, #1
	str	r3, [fp, #-56]
	b	.L366
.L369:
	ldr	r3, [fp, #-40]
	add	r3, r3, #4
	str	r3, [fp, #-40]
.L368:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L370
.L367:
	ldr	r3, .L380+4
	ldr	r3, [r3]
	ldr	r3, [r3, #44]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	beq	.L379
	ldr	r3, .L380+4
	ldr	r3, [r3]
	ldr	r3, [r3, #44]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-36]
	b	.L371
.L373:
	ldr	r3, [fp, #-36]
	ldr	r2, [r3]
	ldr	r3, [fp, #-52]
	ldr	r1, [fp, #-44]
	ldr	r0, [fp, #-72]
	bl	check_line
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #1
	bne	.L372
	ldr	r3, [fp, #-36]
	ldr	r3, [r3]
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	sub	r3, r3, #1
	str	r3, [fp, #-64]
	mov	r3, #4
	str	r3, [fp, #-56]
	b	.L366
.L372:
	ldr	r3, [fp, #-36]
	add	r3, r3, #4
	str	r3, [fp, #-36]
.L371:
	ldr	r3, [fp, #-36]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L373
	b	.L379
.L378:
	nop
	b	.L366
.L379:
	nop
.L366:
	ldr	r3, [fp, #-56]
	and	r3, r3, #127
	and	r3, r3, #255
	ldr	r1, [fp, #-72]
	ldr	r2, [fp, #-44]
	add	r2, r2, #2
	lsl	r2, r2, #2
	add	r2, r1, r2
	add	r1, r2, #4
	ldrh	r2, [r1]	@ movhi
	and	r3, r3, #127
	bic	r2, r2, #2032
	lsl	r3, r3, #4
	orr	r3, r3, r2
	mov	r2, r3	@ movhi
	strh	r2, [r1]	@ movhi
	b	.L361
.L377:
	nop
.L361:
	ldr	r3, [fp, #-44]
	add	r2, r3, #1
	str	r2, [fp, #-44]
	ldr	r2, [fp, #-72]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	str	r3, [fp, #-52]
.L357:
	ldr	r3, [fp, #-72]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-44]
	cmp	r2, r3
	blt	.L374
	mov	r3, #0
	str	r3, [fp, #-56]
.L356:
	ldr	r3, [fp, #-76]
	add	r2, r3, #1
	ldr	r3, .L380+4
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	cmp	r2, r3
	bge	.L348
	ldr	r3, .L380+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-76]
	add	r3, r3, #1
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-56]
	cmp	r2, r3
	beq	.L348
	ldr	r3, .L380+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-76]
	add	r3, r3, #1
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-56]
	str	r2, [r3, #8]
	ldr	r3, .L380+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-76]
	add	r3, r3, #1
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-76]
	add	r3, r3, #1
	mov	r1, r3
	mov	r0, r2
	bl	recalculate_syntax
	ldr	r3, [fp, #-76]
	add	r2, r3, #1
	ldr	r3, .L380+4
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	cmp	r2, r3
	blt	.L348
	ldr	r3, [fp, #-76]
	add	r2, r3, #1
	ldr	r3, .L380+4
	ldr	r3, [r3]
	ldr	r1, [r3, #12]
	ldr	r3, .L380+8
	ldr	r3, [r3, #4]
	add	r1, r1, r3
	ldr	r3, .L380+8
	ldr	r3, [r3, #8]
	sub	r3, r1, r3
	sub	r3, r3, #1
	cmp	r2, r3
	bge	.L348
	ldr	r3, [fp, #-76]
	add	r2, r3, #1
	ldr	r3, .L380+4
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	sub	r2, r2, r3
	ldr	r3, [fp, #-76]
	add	r3, r3, #1
	mov	r1, r3
	mov	r0, r2
	bl	redraw_line
.L348:
	ldr	r3, .L380
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L376
	bl	__stack_chk_fail
.L376:
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L381:
	.align	2
.L380:
	.word	.LC329
	.word	env
	.word	global_config
	.size	recalculate_syntax, .-recalculate_syntax
	.global	__aeabi_idivmod
	.align	2
	.global	recalculate_tabs
	.syntax unified
	.arm
	.fpu softvfp
	.type	recalculate_tabs, %function
recalculate_tabs:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #20
	str	r0, [fp, #-24]
	ldr	r3, .L389
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	bne	.L388
	mov	r3, #0
	str	r3, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L385
.L387:
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-16]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	cmp	r3, #9
	bne	.L386
	ldr	r3, .L389
	ldr	r3, [r3]
	ldrsh	r3, [r3, #4]
	and	r4, r3, #255
	ldr	r3, .L389
	ldr	r3, [r3]
	ldrsh	r3, [r3, #4]
	mov	r2, r3
	ldr	r3, [fp, #-20]
	mov	r1, r2
	mov	r0, r3
	bl	__aeabi_idivmod
	mov	r3, r1
	and	r3, r3, #255
	sub	r3, r4, r3
	and	r3, r3, #255
	and	r3, r3, #15
	and	r1, r3, #255
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-16]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldrb	r2, [r3, #4]
	and	r1, r1, #15
	bic	r2, r2, #15
	orr	r2, r1, r2
	strb	r2, [r3, #4]
.L386:
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-16]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldrb	r3, [r3, #4]
	and	r3, r3, #15
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-20]
	add	r3, r3, r2
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L385:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	blt	.L387
	b	.L382
.L388:
	nop
.L382:
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L390:
	.align	2
.L389:
	.word	env
	.size	recalculate_tabs, .-recalculate_tabs
	.align	2
	.global	recursive_history_free
	.syntax unified
	.arm
	.fpu softvfp
	.type	recursive_history_free, %function
recursive_history_free:
	@ 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]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L397
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-8]
	ldr	r0, [fp, #-8]
	bl	recursive_history_free
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	cmp	r3, #4
	beq	.L394
	cmp	r3, #6
	bne	.L398
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #16]
	mov	r0, r3
	bl	free
.L394:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #20]
	mov	r0, r3
	bl	free
	b	.L396
.L398:
	nop
.L396:
	ldr	r0, [fp, #-8]
	bl	free
	ldr	r3, [fp, #-16]
	mov	r2, #0
	str	r2, [r3, #4]
	b	.L391
.L397:
	nop
.L391:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	recursive_history_free, .-recursive_history_free
	.align	2
	.global	set_history_break
	.syntax unified
	.arm
	.fpu softvfp
	.type	set_history_break, %function
set_history_break:
	@ 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, .L404
	ldr	r3, [r3, #72]
	cmp	r3, #0
	beq	.L403
	ldr	r3, .L404+4
	ldr	r3, [r3]
	ldr	r3, [r3, #52]
	ldr	r3, [r3, #8]
	cmp	r3, #10
	beq	.L399
	ldr	r3, .L404+4
	ldr	r3, [r3]
	ldr	r3, [r3, #52]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	beq	.L399
	mov	r0, #28
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, #10
	str	r2, [r3, #8]
	ldr	r3, .L404+4
	ldr	r3, [r3]
	ldr	r3, [r3, #52]
	cmp	r3, #0
	beq	.L402
	ldr	r3, .L404+4
	ldr	r3, [r3]
	ldr	r2, [r3, #52]
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	ldr	r3, .L404+4
	ldr	r3, [r3]
	ldr	r3, [r3, #52]
	mov	r0, r3
	bl	recursive_history_free
	ldr	r3, .L404+4
	ldr	r3, [r3]
	ldr	r3, [r3, #52]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #4]
.L402:
	ldr	r3, .L404+4
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #52]
	b	.L399
.L403:
	nop
.L399:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L405:
	.align	2
.L404:
	.word	global_config
	.word	env
	.size	set_history_break, .-set_history_break
	.align	2
	.global	line_insert
	.syntax unified
	.arm
	.fpu softvfp
	.type	line_insert, %function
line_insert:
	@ 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, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	ldr	r3, .L415
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	bne	.L407
	ldr	r3, .L415+4
	ldr	r3, [r3, #72]
	cmp	r3, #0
	beq	.L407
	mov	r0, #28
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-28]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-24]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-20]
	lsr	r3, r3, #11
	mov	r2, r3
	ldr	r3, [fp, #-8]
	str	r2, [r3, #20]
	ldr	r3, .L415
	ldr	r3, [r3]
	ldr	r3, [r3, #52]
	cmp	r3, #0
	beq	.L408
	ldr	r3, .L415
	ldr	r3, [r3]
	ldr	r2, [r3, #52]
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	ldr	r3, .L415
	ldr	r3, [r3]
	ldr	r3, [r3, #52]
	mov	r0, r3
	bl	recursive_history_free
	ldr	r3, .L415
	ldr	r3, [r3]
	ldr	r3, [r3, #52]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #4]
.L408:
	ldr	r3, .L415
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #52]
.L407:
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L409
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L410
	ldr	r3, [fp, #-16]
	mov	r2, #8
	str	r2, [r3]
	b	.L411
.L410:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	lsl	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3]
.L411:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	add	r3, r3, #3
	lsl	r3, r3, #2
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	realloc
	str	r0, [fp, #-16]
.L409:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	bge	.L412
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	add	r3, r3, #2
	lsl	r3, r3, #2
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	add	r0, r3, #4
	ldr	r3, [fp, #-24]
	add	r3, r3, #2
	lsl	r3, r3, #2
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	add	r1, r3, #4
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-24]
	sub	r3, r2, r3
	lsl	r3, r3, #2
	mov	r2, r3
	bl	memmove
.L412:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-24]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-20]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #4]
	ldr	r3, .L415
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	bne	.L413
	ldr	r0, [fp, #-16]
	bl	recalculate_tabs
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-16]
	bl	recalculate_syntax
.L413:
	ldr	r3, [fp, #-16]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L416:
	.align	2
.L415:
	.word	env
	.word	global_config
	.size	line_insert, .-line_insert
	.align	2
	.global	line_delete
	.syntax unified
	.arm
	.fpu softvfp
	.type	line_delete, %function
line_delete:
	@ 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, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L423
	ldr	r3, .L424
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	bne	.L420
	ldr	r3, .L424+4
	ldr	r3, [r3, #72]
	cmp	r3, #0
	beq	.L420
	mov	r0, #28
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, #2
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-24]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-20]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-20]
	sub	r3, r3, #1
	ldr	r2, [fp, #-16]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	mov	r2, r3
	ldr	r3, [fp, #-8]
	str	r2, [r3, #24]
	ldr	r3, .L424
	ldr	r3, [r3]
	ldr	r3, [r3, #52]
	cmp	r3, #0
	beq	.L421
	ldr	r3, .L424
	ldr	r3, [r3]
	ldr	r2, [r3, #52]
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	ldr	r3, .L424
	ldr	r3, [r3]
	ldr	r3, [r3, #52]
	mov	r0, r3
	bl	recursive_history_free
	ldr	r3, .L424
	ldr	r3, [r3]
	ldr	r3, [r3, #52]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #4]
.L421:
	ldr	r3, .L424
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #52]
.L420:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	bge	.L422
	ldr	r3, [fp, #-20]
	sub	r3, r3, #1
	add	r3, r3, #2
	lsl	r3, r3, #2
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	add	r0, r3, #4
	ldr	r3, [fp, #-20]
	add	r3, r3, #2
	lsl	r3, r3, #2
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	add	r1, r3, #4
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-20]
	sub	r3, r2, r3
	lsl	r3, r3, #2
	mov	r2, r3
	bl	memmove
.L422:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	sub	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #4]
	ldr	r0, [fp, #-16]
	bl	recalculate_tabs
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-16]
	bl	recalculate_syntax
	b	.L417
.L423:
	nop
.L417:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L425:
	.align	2
.L424:
	.word	env
	.word	global_config
	.size	line_delete, .-line_delete
	.align	2
	.global	line_replace
	.syntax unified
	.arm
	.fpu softvfp
	.type	line_replace, %function
line_replace:
	@ 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, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	ldr	r3, .L431
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	bne	.L427
	ldr	r3, .L431+4
	ldr	r3, [r3, #72]
	cmp	r3, #0
	beq	.L427
	mov	r0, #28
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, #3
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-28]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-24]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-20]
	lsr	r3, r3, #11
	mov	r2, r3
	ldr	r3, [fp, #-8]
	str	r2, [r3, #20]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-24]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	mov	r2, r3
	ldr	r3, [fp, #-8]
	str	r2, [r3, #24]
	ldr	r3, .L431
	ldr	r3, [r3]
	ldr	r3, [r3, #52]
	cmp	r3, #0
	beq	.L428
	ldr	r3, .L431
	ldr	r3, [r3]
	ldr	r2, [r3, #52]
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	ldr	r3, .L431
	ldr	r3, [r3]
	ldr	r3, [r3, #52]
	mov	r0, r3
	bl	recursive_history_free
	ldr	r3, .L431
	ldr	r3, [r3]
	ldr	r3, [r3, #52]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #4]
.L428:
	ldr	r3, .L431
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #52]
.L427:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-24]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-20]
	str	r2, [r3, #4]
	ldr	r3, .L431
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	bne	.L430
	ldr	r0, [fp, #-16]
	bl	recalculate_tabs
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-16]
	bl	recalculate_syntax
.L430:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L432:
	.align	2
.L431:
	.word	env
	.word	global_config
	.size	line_replace, .-line_replace
	.align	2
	.global	remove_line
	.syntax unified
	.arm
	.fpu softvfp
	.type	remove_line, %function
remove_line:
	@ 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	r3, .L441
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	cmp	r3, #1
	bne	.L434
	b	.L435
.L436:
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-20]
	mov	r1, r3
	bl	line_delete
.L435:
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bgt	.L436
	ldr	r3, [fp, #-16]
	b	.L437
.L434:
	ldr	r3, .L441
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	bne	.L438
	ldr	r3, .L441+4
	ldr	r3, [r3, #72]
	cmp	r3, #0
	beq	.L438
	mov	r0, #28
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, #4
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-20]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3]
	add	r3, r3, #3
	lsl	r3, r3, #2
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-8]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-8]
	ldr	r0, [r3, #20]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3]
	add	r3, r3, #3
	lsl	r3, r3, #2
	mov	r2, r3
	bl	memcpy
	ldr	r3, .L441
	ldr	r3, [r3]
	ldr	r3, [r3, #52]
	cmp	r3, #0
	beq	.L439
	ldr	r3, .L441
	ldr	r3, [r3]
	ldr	r2, [r3, #52]
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	ldr	r3, .L441
	ldr	r3, [r3]
	ldr	r3, [r3, #52]
	mov	r0, r3
	bl	recursive_history_free
	ldr	r3, .L441
	ldr	r3, [r3]
	ldr	r3, [r3, #52]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #4]
.L439:
	ldr	r3, .L441
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #52]
.L438:
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	free
	ldr	r3, .L441
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	bge	.L440
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-16]
	add	r0, r2, r3
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-16]
	add	r1, r2, r3
	ldr	r3, .L441
	ldr	r3, [r3]
	ldr	r2, [r3, #24]
	ldr	r3, [fp, #-20]
	sub	r3, r3, #1
	sub	r3, r2, r3
	lsl	r3, r3, #2
	mov	r2, r3
	bl	memmove
	ldr	r3, .L441
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3]
.L440:
	ldr	r3, .L441
	ldr	r3, [r3]
	ldr	r2, [r3, #24]
	ldr	r3, .L441
	ldr	r3, [r3]
	sub	r2, r2, #1
	str	r2, [r3, #24]
	ldr	r3, [fp, #-16]
.L437:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L442:
	.align	2
.L441:
	.word	env
	.word	global_config
	.size	remove_line, .-remove_line
	.align	2
	.global	add_line
	.syntax unified
	.arm
	.fpu softvfp
	.type	add_line, %function
add_line:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #20
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	ldr	r3, .L451
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	ldr	r2, [fp, #-28]
	cmp	r2, r3
	ble	.L444
	ldr	r3, [fp, #-24]
	b	.L445
.L444:
	ldr	r3, .L451
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	bne	.L446
	ldr	r3, .L451+4
	ldr	r3, [r3, #72]
	cmp	r3, #0
	beq	.L446
	mov	r0, #28
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	mov	r2, #5
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-28]
	str	r2, [r3, #12]
	ldr	r3, .L451
	ldr	r3, [r3]
	ldr	r3, [r3, #52]
	cmp	r3, #0
	beq	.L447
	ldr	r3, .L451
	ldr	r3, [r3]
	ldr	r2, [r3, #52]
	ldr	r3, [fp, #-16]
	str	r2, [r3]
	ldr	r3, .L451
	ldr	r3, [r3]
	ldr	r3, [r3, #52]
	mov	r0, r3
	bl	recursive_history_free
	ldr	r3, .L451
	ldr	r3, [r3]
	ldr	r3, [r3, #52]
	ldr	r2, [fp, #-16]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-16]
	mov	r2, #0
	str	r2, [r3, #4]
.L447:
	ldr	r3, .L451
	ldr	r3, [r3]
	ldr	r2, [fp, #-16]
	str	r2, [r3, #52]
.L446:
	ldr	r3, .L451
	ldr	r3, [r3]
	ldr	r2, [r3, #24]
	ldr	r3, .L451
	ldr	r3, [r3]
	ldr	r3, [r3, #28]
	cmp	r2, r3
	bne	.L448
	ldr	r3, .L451
	ldr	r3, [r3]
	ldr	r2, [r3, #28]
	ldr	r3, .L451
	ldr	r3, [r3]
	lsl	r2, r2, #1
	str	r2, [r3, #28]
	ldr	r3, .L451
	ldr	r3, [r3]
	ldr	r3, [r3, #28]
	lsl	r3, r3, #2
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	realloc
	str	r0, [fp, #-24]
.L448:
	ldr	r3, .L451
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	ldr	r2, [fp, #-28]
	cmp	r2, r3
	bge	.L449
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r0, r2, r3
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r1, r2, r3
	ldr	r3, .L451
	ldr	r3, [r3]
	ldr	r2, [r3, #24]
	ldr	r3, [fp, #-28]
	sub	r3, r2, r3
	lsl	r3, r3, #2
	mov	r2, r3
	bl	memmove
.L449:
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r4, r2, r3
	mov	r0, #140
	bl	malloc
	mov	r3, r0
	str	r3, [r4]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, #32
	str	r2, [r3]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, #0
	str	r2, [r3, #8]
	ldr	r3, .L451
	ldr	r3, [r3]
	ldr	r2, [r3, #24]
	ldr	r3, .L451
	ldr	r3, [r3]
	add	r2, r2, #1
	str	r2, [r3, #24]
	ldr	r3, .L451
	ldr	r3, [r3]
	ldr	r2, [fp, #-24]
	str	r2, [r3, #48]
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	ble	.L450
	ldr	r3, .L451
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	bne	.L450
	ldr	r3, [fp, #-28]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-28]
	sub	r3, r3, #1
	mov	r1, r3
	mov	r0, r2
	bl	recalculate_syntax
.L450:
	ldr	r3, [fp, #-24]
.L445:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L452:
	.align	2
.L451:
	.word	env
	.word	global_config
	.size	add_line, .-add_line
	.align	2
	.global	replace_line
	.syntax unified
	.arm
	.fpu softvfp
	.type	replace_line, %function
replace_line:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #28
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	ldr	r3, .L459
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	bne	.L454
	ldr	r3, .L459+4
	ldr	r3, [r3, #72]
	cmp	r3, #0
	beq	.L454
	mov	r0, #28
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	mov	r2, #6
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-28]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3]
	add	r3, r3, #3
	lsl	r3, r3, #2
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-16]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-16]
	ldr	r0, [r3, #20]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3]
	add	r3, r3, #3
	lsl	r3, r3, #2
	mov	r2, r3
	bl	memcpy
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	add	r3, r3, #3
	lsl	r3, r3, #2
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-16]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-16]
	ldr	r0, [r3, #16]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	add	r3, r3, #3
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r1, [fp, #-32]
	bl	memcpy
	ldr	r3, .L459
	ldr	r3, [r3]
	ldr	r3, [r3, #52]
	cmp	r3, #0
	beq	.L455
	ldr	r3, .L459
	ldr	r3, [r3]
	ldr	r2, [r3, #52]
	ldr	r3, [fp, #-16]
	str	r2, [r3]
	ldr	r3, .L459
	ldr	r3, [r3]
	ldr	r3, [r3, #52]
	mov	r0, r3
	bl	recursive_history_free
	ldr	r3, .L459
	ldr	r3, [r3]
	ldr	r3, [r3, #52]
	ldr	r2, [fp, #-16]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-16]
	mov	r2, #0
	str	r2, [r3, #4]
.L455:
	ldr	r3, .L459
	ldr	r3, [r3]
	ldr	r2, [fp, #-16]
	str	r2, [r3, #52]
.L454:
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #4]
	cmp	r2, r3
	bge	.L456
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	add	r3, r3, #3
	lsl	r1, r3, #2
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r4, r2, r3
	bl	realloc
	mov	r3, r0
	str	r3, [r4]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-32]
	ldr	r2, [r2]
	str	r2, [r3]
.L456:
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-32]
	ldr	r2, [r2, #4]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r3, [r3]
	add	r0, r3, #12
	ldr	r3, [fp, #-32]
	add	r1, r3, #12
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #4]
	lsl	r3, r3, #2
	mov	r2, r3
	bl	memcpy
	ldr	r3, .L459
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	bne	.L458
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, [fp, #-28]
	mov	r0, r3
	bl	recalculate_syntax
.L458:
	nop
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L460:
	.align	2
.L459:
	.word	env
	.word	global_config
	.size	replace_line, .-replace_line
	.align	2
	.global	merge_lines
	.syntax unified
	.arm
	.fpu softvfp
	.type	merge_lines, %function
merge_lines:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #20
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	ldr	r3, [fp, #-28]
	sub	r3, r3, #1
	str	r3, [fp, #-20]
	ldr	r3, .L471
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	bne	.L464
	ldr	r3, .L471+4
	ldr	r3, [r3, #72]
	cmp	r3, #0
	beq	.L464
	mov	r0, #28
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	mov	r2, #7
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-28]
	str	r2, [r3, #12]
	ldr	r3, .L471
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-16]
	str	r2, [r3, #16]
	ldr	r3, .L471
	ldr	r3, [r3]
	ldr	r3, [r3, #52]
	cmp	r3, #0
	beq	.L463
	ldr	r3, .L471
	ldr	r3, [r3]
	ldr	r2, [r3, #52]
	ldr	r3, [fp, #-16]
	str	r2, [r3]
	ldr	r3, .L471
	ldr	r3, [r3]
	ldr	r3, [r3, #52]
	mov	r0, r3
	bl	recursive_history_free
	ldr	r3, .L471
	ldr	r3, [r3]
	ldr	r3, [r3, #52]
	ldr	r2, [fp, #-16]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-16]
	mov	r2, #0
	str	r2, [r3, #4]
.L463:
	ldr	r3, .L471
	ldr	r3, [r3]
	ldr	r2, [fp, #-16]
	str	r2, [r3, #52]
	b	.L464
.L467:
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L465
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, #8
	str	r2, [r3]
	b	.L466
.L465:
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-24]
	add	r3, r1, r3
	ldr	r3, [r3]
	lsl	r2, r2, #1
	str	r2, [r3]
.L466:
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3]
	add	r3, r3, #3
	lsl	r1, r3, #2
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r4, r2, r3
	bl	realloc
	mov	r3, r0
	str	r3, [r4]
.L464:
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-24]
	add	r3, r1, r3
	ldr	r3, [r3]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	ldr	r0, [fp, #-24]
	add	r3, r0, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	add	r3, r1, r3
	cmp	r2, r3
	blt	.L467
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-24]
	add	r3, r1, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	add	r0, r3, #4
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r3, [r3]
	add	r1, r3, #12
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	lsl	r3, r3, #2
	mov	r2, r3
	bl	memcpy
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	ldr	r0, [fp, #-24]
	add	r3, r0, r3
	ldr	r3, [r3]
	add	r2, r1, r2
	str	r2, [r3, #4]
	ldr	r3, .L471
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	bne	.L468
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	recalculate_tabs
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, [fp, #-20]
	mov	r0, r3
	bl	recalculate_syntax
.L468:
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	free
	ldr	r3, .L471
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	ldr	r2, [fp, #-28]
	cmp	r2, r3
	bge	.L469
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r0, r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r1, r2, r3
	ldr	r3, .L471
	ldr	r3, [r3]
	ldr	r2, [r3, #24]
	ldr	r3, [fp, #-28]
	sub	r3, r3, #1
	sub	r3, r2, r3
	lsl	r3, r3, #2
	mov	r2, r3
	bl	memmove
	ldr	r3, .L471
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3]
.L469:
	ldr	r3, .L471
	ldr	r3, [r3]
	ldr	r2, [r3, #24]
	ldr	r3, .L471
	ldr	r3, [r3]
	sub	r2, r2, #1
	str	r2, [r3, #24]
	ldr	r3, [fp, #-24]
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L472:
	.align	2
.L471:
	.word	env
	.word	global_config
	.size	merge_lines, .-merge_lines
	.align	2
	.global	split_line
	.syntax unified
	.arm
	.fpu softvfp
	.type	split_line, %function
split_line:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #36
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	str	r2, [fp, #-40]
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	bne	.L474
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	add_line
	mov	r3, r0
	b	.L475
.L474:
	ldr	r3, .L481
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	bne	.L476
	ldr	r3, .L481+4
	ldr	r3, [r3, #72]
	cmp	r3, #0
	beq	.L476
	mov	r0, #28
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	mov	r2, #8
	str	r2, [r3, #8]
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-36]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-40]
	str	r2, [r3, #16]
	ldr	r3, .L481
	ldr	r3, [r3]
	ldr	r3, [r3, #52]
	cmp	r3, #0
	beq	.L477
	ldr	r3, .L481
	ldr	r3, [r3]
	ldr	r2, [r3, #52]
	ldr	r3, [fp, #-24]
	str	r2, [r3]
	ldr	r3, .L481
	ldr	r3, [r3]
	ldr	r3, [r3, #52]
	mov	r0, r3
	bl	recursive_history_free
	ldr	r3, .L481
	ldr	r3, [r3]
	ldr	r3, [r3, #52]
	ldr	r2, [fp, #-24]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-24]
	mov	r2, #0
	str	r2, [r3, #4]
.L477:
	ldr	r3, .L481
	ldr	r3, [r3]
	ldr	r2, [fp, #-24]
	str	r2, [r3, #52]
.L476:
	ldr	r3, .L481
	ldr	r3, [r3]
	ldr	r2, [r3, #24]
	ldr	r3, .L481
	ldr	r3, [r3]
	ldr	r3, [r3, #28]
	cmp	r2, r3
	bne	.L478
	ldr	r3, .L481
	ldr	r3, [r3]
	ldr	r2, [r3, #28]
	ldr	r3, .L481
	ldr	r3, [r3]
	lsl	r2, r2, #1
	str	r2, [r3, #28]
	ldr	r3, .L481
	ldr	r3, [r3]
	ldr	r3, [r3, #28]
	lsl	r3, r3, #2
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	realloc
	str	r0, [fp, #-32]
.L478:
	ldr	r3, .L481
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	ldr	r2, [fp, #-36]
	cmp	r2, r3
	bge	.L479
	ldr	r3, [fp, #-36]
	add	r3, r3, #2
	lsl	r3, r3, #2
	ldr	r2, [fp, #-32]
	add	r0, r2, r3
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-32]
	add	r1, r2, r3
	ldr	r3, .L481
	ldr	r3, [r3]
	ldr	r2, [r3, #24]
	ldr	r3, [fp, #-36]
	sub	r3, r2, r3
	lsl	r3, r3, #2
	mov	r2, r3
	bl	memmove
.L479:
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-40]
	sub	r3, r2, r3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	sub	r3, r3, #1
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	asr	r3, r3, #1
	ldr	r2, [fp, #-16]
	orr	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	asr	r3, r3, #2
	ldr	r2, [fp, #-16]
	orr	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	asr	r3, r3, #4
	ldr	r2, [fp, #-16]
	orr	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	asr	r3, r3, #8
	ldr	r2, [fp, #-16]
	orr	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	asr	r3, r3, #16
	ldr	r2, [fp, #-16]
	orr	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	add	r3, r3, #3
	lsl	r1, r3, #2
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-32]
	add	r4, r2, r3
	mov	r0, r1
	bl	malloc
	mov	r3, r0
	str	r3, [r4]
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, #0
	str	r2, [r3, #8]
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	ldr	r3, [r3]
	add	r0, r3, #12
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-40]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	add	r1, r3, #4
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	mov	r2, r3
	bl	memmove
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-40]
	str	r2, [r3, #4]
	ldr	r3, .L481
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	bne	.L480
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	recalculate_tabs
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	recalculate_tabs
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, [fp, #-36]
	mov	r0, r3
	bl	recalculate_syntax
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	mov	r1, r3
	mov	r0, r2
	bl	recalculate_syntax
.L480:
	ldr	r3, .L481
	ldr	r3, [r3]
	ldr	r2, [r3, #24]
	ldr	r3, .L481
	ldr	r3, [r3]
	add	r2, r2, #1
	str	r2, [r3, #24]
	ldr	r3, [fp, #-32]
.L475:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L482:
	.align	2
.L481:
	.word	env
	.word	global_config
	.size	split_line, .-split_line
	.align	2
	.global	add_indent
	.syntax unified
	.arm
	.fpu softvfp
	.type	add_indent, %function
add_indent:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #44
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	str	r2, [fp, #-48]
	ldr	r3, .L502
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #16
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L501
	mov	r3, #0
	str	r3, [fp, #-32]
	mov	r3, #0
	str	r3, [fp, #-28]
	b	.L485
.L488:
	ldr	r3, .L502
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-28]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	cmp	r3, #32
	beq	.L486
	ldr	r3, .L502
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-28]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	cmp	r3, #9
	bne	.L487
.L486:
	ldr	r3, .L502
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r3, .L502
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, .L502
	ldr	r2, [r2]
	ldr	r1, [r2, #48]
	ldr	r2, [fp, #-40]
	lsl	r2, r2, #2
	add	r4, r1, r2
	ldr	r2, [fp, #-28]
	add	r2, r2, #2
	lsl	r1, r2, #2
	add	r1, r3, r1
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-28]
	ldr	r1, [r1, #4]
	bl	line_insert
	mov	r3, r0
	str	r3, [r4]
	ldr	r3, .L502
	ldr	r3, [r3]
	ldr	r2, [r3, #32]
	add	r2, r2, #1
	str	r2, [r3, #32]
	mov	r3, #1
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L485:
	ldr	r3, .L502
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-28]
	cmp	r2, r3
	blt	.L488
.L487:
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-40]
	cmp	r2, r3
	bge	.L489
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	bne	.L489
	ldr	r3, .L502
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, .L502
	ldr	r3, [r3]
	ldr	r1, [r3, #48]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	sub	r3, r3, #1
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	cmp	r3, #123
	beq	.L490
	ldr	r3, .L502
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, .L502
	ldr	r3, [r3]
	ldr	r1, [r3, #48]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	sub	r3, r3, #1
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	cmp	r3, #58
	bne	.L489
.L490:
	ldr	r3, .L502
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #2
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L491
	ldr	r3, [fp, #-36]
	ldr	r2, .L502+4
	and	r2, r2, r3
	orr	r3, r2, #18432
	str	r3, [fp, #-36]
	ldr	r3, .L502
	ldr	r3, [r3]
	ldrsh	r3, [r3, #4]
	and	r3, r3, #15
	and	r2, r3, #255
	ldrb	r3, [fp, #-36]
	and	r2, r2, #15
	bic	r3, r3, #15
	orr	r3, r2, r3
	strb	r3, [fp, #-36]
	ldr	r3, .L502
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r3, .L502
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, [r3, #4]
	ldr	r3, .L502
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #2
	add	r4, r2, r3
	ldr	r3, [fp, #-40]
	mov	r2, r1
	ldr	r1, [fp, #-36]
	bl	line_insert
	mov	r3, r0
	str	r3, [r4]
	ldr	r3, .L502
	ldr	r3, [r3]
	ldr	r2, [r3, #32]
	add	r2, r2, #1
	str	r2, [r3, #32]
	mov	r3, #1
	str	r3, [fp, #-32]
	b	.L489
.L491:
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L492
.L493:
	ldr	r3, [fp, #-36]
	ldr	r2, .L502+8
	and	r2, r2, r3
	orr	r3, r2, #65536
	str	r3, [fp, #-36]
	ldrb	r3, [fp, #-36]
	bic	r3, r3, #14
	orr	r3, r3, #1
	strb	r3, [fp, #-36]
	ldrh	r3, [fp, #-36]	@ movhi
	bic	r3, r3, #1776
	orr	r3, r3, #256
	strh	r3, [fp, #-36]	@ movhi
	ldr	r3, .L502
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r3, .L502
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, [r3, #4]
	ldr	r3, .L502
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #2
	add	r4, r2, r3
	ldr	r3, [fp, #-40]
	mov	r2, r1
	ldr	r1, [fp, #-36]
	bl	line_insert
	mov	r3, r0
	str	r3, [r4]
	ldr	r3, .L502
	ldr	r3, [r3]
	ldr	r2, [r3, #32]
	add	r2, r2, #1
	str	r2, [r3, #32]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L492:
	ldr	r3, .L502
	ldr	r3, [r3]
	ldrsh	r3, [r3, #4]
	mov	r2, r3
	ldr	r3, [fp, #-24]
	cmp	r3, r2
	blt	.L493
	mov	r3, #1
	str	r3, [fp, #-32]
.L489:
	mov	r3, #1
	str	r3, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L494
.L497:
	ldr	r3, .L502
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	cmp	r3, #32
	beq	.L495
	ldr	r3, .L502
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	cmp	r3, #9
	beq	.L495
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L496
.L495:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L494:
	ldr	r3, .L502
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	blt	.L497
.L496:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L498
	b	.L499
.L500:
	ldr	r3, .L502
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r3, .L502
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-44]
	mov	r1, r3
	bl	line_delete
.L499:
	ldr	r3, .L502
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L500
.L498:
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	beq	.L501
	ldr	r3, .L502
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, [fp, #-40]
	mov	r0, r3
	bl	recalculate_syntax
.L501:
	nop
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L503:
	.align	2
.L502:
	.word	env
	.word	20479
	.word	67583
	.size	add_indent, .-add_indent
	.align	2
	.global	setup_buffer
	.syntax unified
	.arm
	.fpu softvfp
	.type	setup_buffer, %function
setup_buffer:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #20
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #48]
	cmp	r3, #0
	beq	.L505
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L506
.L507:
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	free
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L506:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #24]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	blt	.L507
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #48]
	mov	r0, r3
	bl	free
.L505:
	ldr	r3, [fp, #-24]
	mov	r2, #1
	str	r2, [r3, #20]
	ldr	r3, [fp, #-24]
	mov	r2, #1
	str	r2, [r3, #32]
	ldr	r3, [fp, #-24]
	mov	r2, #1
	str	r2, [r3, #24]
	ldr	r2, [fp, #-24]
	ldrb	r3, [r2]
	bic	r3, r3, #4
	strb	r3, [r2]
	ldr	r2, [fp, #-24]
	ldrb	r3, [r2]
	bic	r3, r3, #8
	strb	r3, [r2]
	ldr	r3, [fp, #-24]
	mov	r2, #0
	str	r2, [r3, #12]
	ldr	r3, [fp, #-24]
	mov	r2, #8
	str	r2, [r3, #28]
	ldr	r2, [fp, #-24]
	ldrb	r3, [r2]
	orr	r3, r3, #2
	strb	r3, [r2]
	ldr	r3, [fp, #-24]
	mov	r2, #4
	strh	r2, [r3, #4]	@ movhi
	ldr	r2, [fp, #-24]
	ldrb	r3, [r2]
	orr	r3, r3, #16
	strb	r3, [r2]
	mov	r0, #28
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-24]
	str	r2, [r3, #52]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #52]
	mov	r2, #28
	mov	r1, #0
	mov	r0, r3
	bl	memset
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #52]
	ldr	r3, [fp, #-24]
	str	r2, [r3, #56]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #28]
	lsl	r3, r3, #2
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-24]
	str	r2, [r3, #48]
	ldr	r3, [fp, #-24]
	ldr	r4, [r3, #48]
	mov	r0, #140
	bl	malloc
	mov	r3, r0
	str	r3, [r4]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #48]
	ldr	r3, [r3]
	mov	r2, #32
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #48]
	ldr	r3, [r3]
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #48]
	ldr	r3, [r3]
	mov	r2, #0
	str	r2, [r3, #8]
	nop
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
	.size	setup_buffer, .-setup_buffer
	.comm	old,60,4
	.align	2
	.global	get_initial_termios
	.syntax unified
	.arm
	.fpu softvfp
	.type	get_initial_termios, %function
get_initial_termios:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r1, .L509
	mov	r0, #1
	bl	tcgetattr
	nop
	pop	{fp, pc}
.L510:
	.align	2
.L509:
	.word	old
	.size	get_initial_termios, .-get_initial_termios
	.section	.rodata
	.align	2
.LC330:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	set_unbuffered
	.syntax unified
	.arm
	.fpu softvfp
	.type	set_unbuffered, %function
set_unbuffered:
	@ args = 0, pretend = 0, frame = 64
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #64
	ldr	r3, .L513
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L513+4
	sub	ip, fp, #68
	mov	lr, r3
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldm	lr, {r0, r1, r2}
	stm	ip, {r0, r1, r2}
	ldr	r3, [fp, #-68]
	bic	r3, r3, #256
	str	r3, [fp, #-68]
	ldr	r3, [fp, #-56]
	bic	r3, r3, #10
	str	r3, [fp, #-56]
	mov	r3, #0
	strb	r3, [fp, #-51]
	sub	r3, fp, #68
	mov	r2, r3
	mov	r1, #2
	mov	r0, #1
	bl	tcsetattr
	nop
	ldr	r3, .L513
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L512
	bl	__stack_chk_fail
.L512:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L514:
	.align	2
.L513:
	.word	.LC330
	.word	old
	.size	set_unbuffered, .-set_unbuffered
	.align	2
	.global	set_buffered
	.syntax unified
	.arm
	.fpu softvfp
	.type	set_buffered, %function
set_buffered:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r2, .L516
	mov	r1, #2
	mov	r0, #1
	bl	tcsetattr
	nop
	pop	{fp, pc}
.L517:
	.align	2
.L516:
	.word	old
	.size	set_buffered, .-set_buffered
	.align	2
	.global	to_eight
	.syntax unified
	.arm
	.fpu softvfp
	.type	to_eight, %function
to_eight:
	@ 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]
	str	r1, [fp, #-12]
	mov	r2, #7
	mov	r1, #0
	ldr	r0, [fp, #-12]
	bl	memset
	ldr	r3, [fp, #-8]
	cmp	r3, #127
	bhi	.L519
	ldr	r3, [fp, #-8]
	and	r2, r3, #255
	ldr	r3, [fp, #-12]
	strb	r2, [r3]
	b	.L520
.L519:
	ldr	r3, [fp, #-8]
	cmp	r3, #2048
	bcs	.L521
	ldr	r3, [fp, #-8]
	lsr	r3, r3, #6
	and	r3, r3, #255
	mvn	r3, r3, lsl #26
	mvn	r3, r3, lsr #26
	and	r2, r3, #255
	ldr	r3, [fp, #-12]
	strb	r2, [r3]
	ldr	r3, [fp, #-8]
	and	r3, r3, #255
	and	r3, r3, #63
	and	r3, r3, #255
	ldr	r2, [fp, #-12]
	add	r2, r2, #1
	mvn	r3, r3, lsl #25
	mvn	r3, r3, lsr #25
	and	r3, r3, #255
	strb	r3, [r2]
	b	.L520
.L521:
	ldr	r3, [fp, #-8]
	cmp	r3, #65536
	bcs	.L522
	ldr	r3, [fp, #-8]
	lsr	r3, r3, #12
	and	r3, r3, #255
	mvn	r3, r3, lsl #27
	mvn	r3, r3, lsr #27
	and	r2, r3, #255
	ldr	r3, [fp, #-12]
	strb	r2, [r3]
	ldr	r3, [fp, #-8]
	lsr	r3, r3, #6
	and	r3, r3, #255
	and	r3, r3, #63
	and	r3, r3, #255
	ldr	r2, [fp, #-12]
	add	r2, r2, #1
	mvn	r3, r3, lsl #25
	mvn	r3, r3, lsr #25
	and	r3, r3, #255
	strb	r3, [r2]
	ldr	r3, [fp, #-8]
	and	r3, r3, #255
	and	r3, r3, #63
	and	r3, r3, #255
	ldr	r2, [fp, #-12]
	add	r2, r2, #2
	mvn	r3, r3, lsl #25
	mvn	r3, r3, lsr #25
	and	r3, r3, #255
	strb	r3, [r2]
	b	.L520
.L522:
	ldr	r3, [fp, #-8]
	cmp	r3, #2097152
	bcs	.L523
	ldr	r3, [fp, #-8]
	lsr	r3, r3, #18
	and	r3, r3, #255
	mvn	r3, r3, lsl #28
	mvn	r3, r3, lsr #28
	and	r2, r3, #255
	ldr	r3, [fp, #-12]
	strb	r2, [r3]
	ldr	r3, [fp, #-8]
	lsr	r3, r3, #12
	and	r3, r3, #255
	and	r3, r3, #63
	and	r3, r3, #255
	ldr	r2, [fp, #-12]
	add	r2, r2, #1
	mvn	r3, r3, lsl #25
	mvn	r3, r3, lsr #25
	and	r3, r3, #255
	strb	r3, [r2]
	ldr	r3, [fp, #-8]
	lsr	r3, r3, #6
	and	r3, r3, #255
	and	r3, r3, #63
	and	r3, r3, #255
	ldr	r2, [fp, #-12]
	add	r2, r2, #2
	mvn	r3, r3, lsl #25
	mvn	r3, r3, lsr #25
	and	r3, r3, #255
	strb	r3, [r2]
	ldr	r3, [fp, #-8]
	and	r3, r3, #255
	and	r3, r3, #63
	and	r3, r3, #255
	ldr	r2, [fp, #-12]
	add	r2, r2, #3
	mvn	r3, r3, lsl #25
	mvn	r3, r3, lsr #25
	and	r3, r3, #255
	strb	r3, [r2]
	b	.L520
.L523:
	ldr	r3, [fp, #-8]
	cmn	r3, #-67108863
	bhi	.L524
	ldr	r3, [fp, #-8]
	lsr	r3, r3, #24
	and	r3, r3, #255
	mvn	r3, r3, lsl #29
	mvn	r3, r3, lsr #29
	and	r2, r3, #255
	ldr	r3, [fp, #-12]
	strb	r2, [r3]
	ldr	r3, [fp, #-8]
	lsr	r3, r3, #18
	and	r3, r3, #255
	ldr	r2, [fp, #-12]
	add	r2, r2, #1
	mvn	r3, r3, lsl #25
	mvn	r3, r3, lsr #25
	and	r3, r3, #255
	strb	r3, [r2]
	ldr	r3, [fp, #-8]
	lsr	r3, r3, #12
	and	r3, r3, #255
	and	r3, r3, #63
	and	r3, r3, #255
	ldr	r2, [fp, #-12]
	add	r2, r2, #2
	mvn	r3, r3, lsl #25
	mvn	r3, r3, lsr #25
	and	r3, r3, #255
	strb	r3, [r2]
	ldr	r3, [fp, #-8]
	lsr	r3, r3, #6
	and	r3, r3, #255
	and	r3, r3, #63
	and	r3, r3, #255
	ldr	r2, [fp, #-12]
	add	r2, r2, #3
	mvn	r3, r3, lsl #25
	mvn	r3, r3, lsr #25
	and	r3, r3, #255
	strb	r3, [r2]
	ldr	r3, [fp, #-8]
	and	r3, r3, #255
	and	r3, r3, #63
	and	r3, r3, #255
	ldr	r2, [fp, #-12]
	add	r2, r2, #4
	mvn	r3, r3, lsl #25
	mvn	r3, r3, lsr #25
	and	r3, r3, #255
	strb	r3, [r2]
	b	.L520
.L524:
	ldr	r3, [fp, #-8]
	lsr	r3, r3, #30
	and	r3, r3, #255
	mvn	r3, r3, lsl #29
	mvn	r3, r3, lsr #29
	and	r2, r3, #255
	ldr	r3, [fp, #-12]
	strb	r2, [r3]
	ldr	r3, [fp, #-8]
	lsr	r3, r3, #24
	and	r3, r3, #255
	and	r3, r3, #63
	and	r3, r3, #255
	ldr	r2, [fp, #-12]
	add	r2, r2, #1
	mvn	r3, r3, lsl #25
	mvn	r3, r3, lsr #25
	and	r3, r3, #255
	strb	r3, [r2]
	ldr	r3, [fp, #-8]
	lsr	r3, r3, #18
	and	r3, r3, #255
	and	r3, r3, #63
	and	r3, r3, #255
	ldr	r2, [fp, #-12]
	add	r2, r2, #2
	mvn	r3, r3, lsl #25
	mvn	r3, r3, lsr #25
	and	r3, r3, #255
	strb	r3, [r2]
	ldr	r3, [fp, #-8]
	lsr	r3, r3, #12
	and	r3, r3, #255
	and	r3, r3, #63
	and	r3, r3, #255
	ldr	r2, [fp, #-12]
	add	r2, r2, #3
	mvn	r3, r3, lsl #25
	mvn	r3, r3, lsr #25
	and	r3, r3, #255
	strb	r3, [r2]
	ldr	r3, [fp, #-8]
	lsr	r3, r3, #6
	and	r3, r3, #255
	and	r3, r3, #63
	and	r3, r3, #255
	ldr	r2, [fp, #-12]
	add	r2, r2, #4
	mvn	r3, r3, lsl #25
	mvn	r3, r3, lsr #25
	and	r3, r3, #255
	strb	r3, [r2]
	ldr	r3, [fp, #-8]
	and	r3, r3, #255
	and	r3, r3, #63
	and	r3, r3, #255
	ldr	r2, [fp, #-12]
	add	r2, r2, #5
	mvn	r3, r3, lsl #25
	mvn	r3, r3, lsr #25
	and	r3, r3, #255
	strb	r3, [r2]
.L520:
	ldr	r0, [fp, #-12]
	bl	strlen
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	to_eight, .-to_eight
	.align	2
	.global	codepoint_width
	.syntax unified
	.arm
	.fpu softvfp
	.type	codepoint_width, %function
codepoint_width:
	@ 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]
	ldr	r3, [fp, #-16]
	cmp	r3, #9
	bne	.L527
	mov	r3, #1
	b	.L528
.L527:
	ldr	r3, [fp, #-16]
	cmp	r3, #31
	bhi	.L529
	mov	r3, #2
	b	.L528
.L529:
	ldr	r3, [fp, #-16]
	cmp	r3, #127
	bne	.L530
	mov	r3, #2
	b	.L528
.L530:
	ldr	r3, [fp, #-16]
	cmp	r3, #127
	bls	.L531
	ldr	r3, [fp, #-16]
	cmp	r3, #159
	bhi	.L531
	mov	r3, #4
	b	.L528
.L531:
	ldr	r3, [fp, #-16]
	cmp	r3, #160
	bne	.L532
	mov	r3, #1
	b	.L528
.L532:
	ldr	r3, [fp, #-16]
	cmp	r3, #256
	bls	.L533
	ldr	r3, .L537
	ldr	r3, [r3, #56]
	cmp	r3, #0
	beq	.L534
	ldr	r0, [fp, #-16]
	bl	wcwidth
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	ble	.L534
	ldr	r3, [fp, #-8]
	b	.L528
.L534:
	ldr	r3, [fp, #-16]
	cmp	r3, #65536
	bcs	.L535
	mov	r3, #8
	b	.L528
.L535:
	mov	r3, #10
	b	.L528
.L533:
	mov	r3, #1
.L528:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L538:
	.align	2
.L537:
	.word	global_config
	.size	codepoint_width, .-codepoint_width
	.section	.rodata
	.align	2
.LC331:
	.ascii	"\033[%d;%dH\000"
	.text
	.align	2
	.global	place_cursor
	.syntax unified
	.arm
	.fpu softvfp
	.type	place_cursor, %function
place_cursor:
	@ 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]
	str	r1, [fp, #-12]
	ldr	r2, [fp, #-8]
	ldr	r1, [fp, #-12]
	ldr	r0, .L540
	bl	printf
	ldr	r3, .L540+4
	ldr	r3, [r3]
	mov	r0, r3
	bl	fflush
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L541:
	.align	2
.L540:
	.word	.LC331
	.word	stdout
	.size	place_cursor, .-place_cursor
	.section	.rodata
	.align	2
.LC332:
	.ascii	"\033[22;23;\000"
	.align	2
.LC333:
	.ascii	"4%d;\000"
	.align	2
.LC334:
	.ascii	"10%d;\000"
	.align	2
.LC335:
	.ascii	"48;%s;\000"
	.align	2
.LC336:
	.ascii	"3%dm\000"
	.align	2
.LC337:
	.ascii	"9%dm\000"
	.align	2
.LC338:
	.ascii	"38;%sm\000"
	.text
	.align	2
	.global	set_colors
	.syntax unified
	.arm
	.fpu softvfp
	.type	set_colors, %function
set_colors:
	@ 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, .L549
	bl	printf
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #64
	bne	.L543
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	mov	r0, r3
	bl	atoi
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #9
	bgt	.L544
	ldr	r1, [fp, #-12]
	ldr	r0, .L549+4
	bl	printf
	b	.L545
.L544:
	ldr	r3, [fp, #-12]
	sub	r3, r3, #10
	mov	r1, r3
	ldr	r0, .L549+8
	bl	printf
	b	.L545
.L543:
	ldr	r1, [fp, #-20]
	ldr	r0, .L549+12
	bl	printf
.L545:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #64
	bne	.L546
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	mov	r0, r3
	bl	atoi
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #9
	bgt	.L547
	ldr	r1, [fp, #-8]
	ldr	r0, .L549+16
	bl	printf
	b	.L548
.L547:
	ldr	r3, [fp, #-8]
	sub	r3, r3, #10
	mov	r1, r3
	ldr	r0, .L549+20
	bl	printf
	b	.L548
.L546:
	ldr	r1, [fp, #-16]
	ldr	r0, .L549+24
	bl	printf
.L548:
	ldr	r3, .L549+28
	ldr	r3, [r3]
	mov	r0, r3
	bl	fflush
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L550:
	.align	2
.L549:
	.word	.LC332
	.word	.LC333
	.word	.LC334
	.word	.LC335
	.word	.LC336
	.word	.LC337
	.word	.LC338
	.word	stdout
	.size	set_colors, .-set_colors
	.align	2
	.global	set_fg_color
	.syntax unified
	.arm
	.fpu softvfp
	.type	set_fg_color, %function
set_fg_color:
	@ 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]
	ldr	r0, .L555
	bl	printf
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #64
	bne	.L552
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	mov	r0, r3
	bl	atoi
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #9
	bgt	.L553
	ldr	r1, [fp, #-8]
	ldr	r0, .L555+4
	bl	printf
	b	.L554
.L553:
	ldr	r3, [fp, #-8]
	sub	r3, r3, #10
	mov	r1, r3
	ldr	r0, .L555+8
	bl	printf
	b	.L554
.L552:
	ldr	r1, [fp, #-16]
	ldr	r0, .L555+12
	bl	printf
.L554:
	ldr	r3, .L555+16
	ldr	r3, [r3]
	mov	r0, r3
	bl	fflush
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L556:
	.align	2
.L555:
	.word	.LC332
	.word	.LC336
	.word	.LC337
	.word	.LC338
	.word	stdout
	.size	set_fg_color, .-set_fg_color
	.section	.rodata
	.align	2
.LC339:
	.ascii	"\033[K\000"
	.text
	.align	2
	.global	clear_to_end
	.syntax unified
	.arm
	.fpu softvfp
	.type	clear_to_end, %function
clear_to_end:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L560
	ldr	r3, [r3, #68]
	cmp	r3, #0
	beq	.L559
	ldr	r0, .L560+4
	bl	printf
	ldr	r3, .L560+8
	ldr	r3, [r3]
	mov	r0, r3
	bl	fflush
.L559:
	nop
	pop	{fp, pc}
.L561:
	.align	2
.L560:
	.word	global_config
	.word	.LC339
	.word	stdout
	.size	clear_to_end, .-clear_to_end
	.align	2
	.global	paint_line
	.syntax unified
	.arm
	.fpu softvfp
	.type	paint_line, %function
paint_line:
	@ 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]
	ldr	r3, .L567
	ldr	r3, [r3, #68]
	cmp	r3, #0
	bne	.L566
	ldr	r3, .L567+4
	ldr	r3, [r3]
	ldr	r1, [fp, #-16]
	mov	r0, r3
	bl	set_colors
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L564
.L565:
	mov	r0, #32
	bl	putchar
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L564:
	ldr	r3, .L567
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	blt	.L565
	mov	r0, #13
	bl	putchar
.L566:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L568:
	.align	2
.L567:
	.word	global_config
	.word	COLOR_FG
	.size	paint_line, .-paint_line
	.section	.rodata
	.align	2
.LC340:
	.ascii	"\033[1m\000"
	.text
	.align	2
	.global	set_bold
	.syntax unified
	.arm
	.fpu softvfp
	.type	set_bold, %function
set_bold:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r0, .L570
	bl	printf
	ldr	r3, .L570+4
	ldr	r3, [r3]
	mov	r0, r3
	bl	fflush
	nop
	pop	{fp, pc}
.L571:
	.align	2
.L570:
	.word	.LC340
	.word	stdout
	.size	set_bold, .-set_bold
	.section	.rodata
	.align	2
.LC341:
	.ascii	"\033[4m\000"
	.text
	.align	2
	.global	set_underline
	.syntax unified
	.arm
	.fpu softvfp
	.type	set_underline, %function
set_underline:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r0, .L573
	bl	printf
	ldr	r3, .L573+4
	ldr	r3, [r3]
	mov	r0, r3
	bl	fflush
	nop
	pop	{fp, pc}
.L574:
	.align	2
.L573:
	.word	.LC341
	.word	stdout
	.size	set_underline, .-set_underline
	.section	.rodata
	.align	2
.LC342:
	.ascii	"\033[0m\000"
	.text
	.align	2
	.global	reset
	.syntax unified
	.arm
	.fpu softvfp
	.type	reset, %function
reset:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r0, .L576
	bl	printf
	ldr	r3, .L576+4
	ldr	r3, [r3]
	mov	r0, r3
	bl	fflush
	nop
	pop	{fp, pc}
.L577:
	.align	2
.L576:
	.word	.LC342
	.word	stdout
	.size	reset, .-reset
	.section	.rodata
	.align	2
.LC343:
	.ascii	"\033[H\033[2J\000"
	.text
	.align	2
	.global	clear_screen
	.syntax unified
	.arm
	.fpu softvfp
	.type	clear_screen, %function
clear_screen:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r0, .L579
	bl	printf
	ldr	r3, .L579+4
	ldr	r3, [r3]
	mov	r0, r3
	bl	fflush
	nop
	pop	{fp, pc}
.L580:
	.align	2
.L579:
	.word	.LC343
	.word	stdout
	.size	clear_screen, .-clear_screen
	.section	.rodata
	.align	2
.LC344:
	.ascii	"\033[?25l\000"
	.text
	.align	2
	.global	hide_cursor
	.syntax unified
	.arm
	.fpu softvfp
	.type	hide_cursor, %function
hide_cursor:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L583
	ldr	r3, [r3, #44]
	cmp	r3, #0
	beq	.L582
	ldr	r0, .L583+4
	bl	printf
.L582:
	ldr	r3, .L583+8
	ldr	r3, [r3]
	mov	r0, r3
	bl	fflush
	nop
	pop	{fp, pc}
.L584:
	.align	2
.L583:
	.word	global_config
	.word	.LC344
	.word	stdout
	.size	hide_cursor, .-hide_cursor
	.section	.rodata
	.align	2
.LC345:
	.ascii	"\033[?25h\000"
	.text
	.align	2
	.global	show_cursor
	.syntax unified
	.arm
	.fpu softvfp
	.type	show_cursor, %function
show_cursor:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L587
	ldr	r3, [r3, #44]
	cmp	r3, #0
	beq	.L586
	ldr	r0, .L587+4
	bl	printf
.L586:
	ldr	r3, .L587+8
	ldr	r3, [r3]
	mov	r0, r3
	bl	fflush
	nop
	pop	{fp, pc}
.L588:
	.align	2
.L587:
	.word	global_config
	.word	.LC345
	.word	stdout
	.size	show_cursor, .-show_cursor
	.section	.rodata
	.align	2
.LC346:
	.ascii	"\033[?1000h\000"
	.text
	.align	2
	.global	mouse_enable
	.syntax unified
	.arm
	.fpu softvfp
	.type	mouse_enable, %function
mouse_enable:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L591
	ldr	r3, [r3, #52]
	cmp	r3, #0
	beq	.L590
	ldr	r0, .L591+4
	bl	printf
.L590:
	ldr	r3, .L591+8
	ldr	r3, [r3]
	mov	r0, r3
	bl	fflush
	nop
	pop	{fp, pc}
.L592:
	.align	2
.L591:
	.word	global_config
	.word	.LC346
	.word	stdout
	.size	mouse_enable, .-mouse_enable
	.section	.rodata
	.align	2
.LC347:
	.ascii	"\033[?1000l\000"
	.text
	.align	2
	.global	mouse_disable
	.syntax unified
	.arm
	.fpu softvfp
	.type	mouse_disable, %function
mouse_disable:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L595
	ldr	r3, [r3, #52]
	cmp	r3, #0
	beq	.L594
	ldr	r0, .L595+4
	bl	printf
.L594:
	ldr	r3, .L595+8
	ldr	r3, [r3]
	mov	r0, r3
	bl	fflush
	nop
	pop	{fp, pc}
.L596:
	.align	2
.L595:
	.word	global_config
	.word	.LC347
	.word	stdout
	.size	mouse_disable, .-mouse_disable
	.section	.rodata
	.align	2
.LC348:
	.ascii	"\033[1S\000"
	.text
	.align	2
	.global	shift_up
	.syntax unified
	.arm
	.fpu softvfp
	.type	shift_up, %function
shift_up:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r0, .L598
	bl	printf
	nop
	pop	{fp, pc}
.L599:
	.align	2
.L598:
	.word	.LC348
	.size	shift_up, .-shift_up
	.section	.rodata
	.align	2
.LC349:
	.ascii	"\033[1T\000"
	.text
	.align	2
	.global	shift_down
	.syntax unified
	.arm
	.fpu softvfp
	.type	shift_down, %function
shift_down:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r0, .L601
	bl	printf
	nop
	pop	{fp, pc}
.L602:
	.align	2
.L601:
	.word	.LC349
	.size	shift_down, .-shift_down
	.section	.rodata
	.align	2
.LC350:
	.ascii	"\033[?1049h\000"
	.text
	.align	2
	.global	set_alternate_screen
	.syntax unified
	.arm
	.fpu softvfp
	.type	set_alternate_screen, %function
set_alternate_screen:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L606
	ldr	r3, [r3, #48]
	cmp	r3, #0
	beq	.L605
	ldr	r0, .L606+4
	bl	printf
.L605:
	nop
	pop	{fp, pc}
.L607:
	.align	2
.L606:
	.word	global_config
	.word	.LC350
	.size	set_alternate_screen, .-set_alternate_screen
	.section	.rodata
	.align	2
.LC351:
	.ascii	"\033[?1049l\000"
	.text
	.align	2
	.global	unset_alternate_screen
	.syntax unified
	.arm
	.fpu softvfp
	.type	unset_alternate_screen, %function
unset_alternate_screen:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L611
	ldr	r3, [r3, #48]
	cmp	r3, #0
	beq	.L610
	ldr	r0, .L611+4
	bl	printf
.L610:
	nop
	pop	{fp, pc}
.L612:
	.align	2
.L611:
	.word	global_config
	.word	.LC351
	.size	unset_alternate_screen, .-unset_alternate_screen
	.align	2
	.global	file_basename
	.syntax unified
	.arm
	.fpu softvfp
	.type	file_basename, %function
file_basename:
	@ 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]
	mov	r1, #47
	ldr	r0, [fp, #-16]
	bl	strrchr
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L614
	ldr	r3, [fp, #-16]
	b	.L615
.L614:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
.L615:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	file_basename, .-file_basename
	.section	.rodata
	.align	2
.LC352:
	.ascii	" +\000"
	.align	2
.LC353:
	.ascii	"\000"
	.align	2
.LC354:
	.ascii	"[No Name]\000"
	.align	2
.LC355:
	.ascii	"%s %.40s \000"
	.text
	.align	2
	.global	draw_tab_name
	.syntax unified
	.arm
	.fpu softvfp
	.type	draw_tab_name, %function
draw_tab_name:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #12
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #4
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L617
	ldr	r4, .L622
	b	.L618
.L617:
	ldr	r4, .L622+4
.L618:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	beq	.L619
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	file_basename
	mov	r3, r0
	b	.L620
.L619:
	ldr	r3, .L622+8
.L620:
	mov	r2, r4
	ldr	r1, .L622+12
	ldr	r0, [fp, #-20]
	bl	sprintf
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L623:
	.align	2
.L622:
	.word	.LC352
	.word	.LC353
	.word	.LC354
	.word	.LC355
	.size	draw_tab_name, .-draw_tab_name
	.section	.rodata
	.align	2
.LC356:
	.ascii	"%*s\000"
	.align	2
.LC357:
	.ascii	"%s\000"
	.align	2
.LC358:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	redraw_tabbar
	.syntax unified
	.arm
	.fpu softvfp
	.type	redraw_tabbar, %function
redraw_tabbar:
	@ args = 0, pretend = 0, frame = 88
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #88
	ldr	r3, .L634
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	bl	hide_cursor
	mov	r1, #1
	mov	r0, #1
	bl	place_cursor
	ldr	r3, .L634+4
	ldr	r3, [r3]
	mov	r0, r3
	bl	paint_line
	mov	r3, #0
	str	r3, [fp, #-88]
	mov	r3, #0
	str	r3, [fp, #-84]
	b	.L625
.L631:
	ldr	r3, .L634+8
	ldr	r2, [r3]
	ldr	r3, [fp, #-84]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-80]
	ldr	r3, .L634+12
	ldr	r3, [r3]
	ldr	r2, [fp, #-80]
	cmp	r2, r3
	bne	.L626
	bl	reset
	ldr	r3, .L634+16
	ldr	r3, [r3]
	ldr	r2, .L634+20
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	set_colors
	bl	set_bold
	b	.L627
.L626:
	bl	reset
	ldr	r3, .L634+16
	ldr	r3, [r3]
	ldr	r2, .L634+24
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	set_colors
	bl	set_underline
.L627:
	sub	r3, fp, #72
	mov	r1, r3
	ldr	r0, [fp, #-80]
	bl	draw_tab_name
	str	r0, [fp, #-76]
	ldr	r2, [fp, #-88]
	ldr	r3, [fp, #-76]
	add	r2, r2, r3
	ldr	r3, .L634+28
	ldr	r3, [r3]
	cmp	r2, r3
	blt	.L628
	ldr	r3, .L634+28
	ldr	r2, [r3]
	ldr	r3, [fp, #-88]
	sub	r3, r2, r3
	cmp	r3, #1
	ble	.L633
	ldr	r3, .L634+28
	ldr	r2, [r3]
	ldr	r3, [fp, #-88]
	sub	r3, r2, r3
	sub	r3, r3, #1
	sub	r2, fp, #72
	mov	r1, r3
	ldr	r0, .L634+32
	bl	printf
	b	.L630
.L628:
	sub	r3, fp, #72
	mov	r1, r3
	ldr	r0, .L634+36
	bl	printf
	ldr	r2, [fp, #-88]
	ldr	r3, [fp, #-76]
	add	r3, r2, r3
	str	r3, [fp, #-88]
	ldr	r3, [fp, #-84]
	add	r3, r3, #1
	str	r3, [fp, #-84]
.L625:
	ldr	r3, .L634+40
	ldr	r3, [r3]
	ldr	r2, [fp, #-84]
	cmp	r2, r3
	blt	.L631
	b	.L630
.L633:
	nop
.L630:
	bl	reset
	ldr	r3, .L634+16
	ldr	r3, [r3]
	ldr	r2, .L634+4
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	set_colors
	bl	clear_to_end
	nop
	ldr	r3, .L634
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L632
	bl	__stack_chk_fail
.L632:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L635:
	.align	2
.L634:
	.word	.LC358
	.word	COLOR_TABBAR_BG
	.word	buffers
	.word	env
	.word	COLOR_FG
	.word	COLOR_BG
	.word	COLOR_TAB_BG
	.word	global_config
	.word	.LC356
	.word	.LC357
	.word	buffers_len
	.size	redraw_tabbar, .-redraw_tabbar
	.align	2
	.global	log_base_10
	.syntax unified
	.arm
	.fpu softvfp
	.type	log_base_10, %function
log_base_10:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r2, .L654
	cmp	r3, r2
	bhi	.L637
	ldr	r3, [fp, #-16]
	ldr	r2, .L654+4
	cmp	r3, r2
	bhi	.L638
	ldr	r3, [fp, #-16]
	ldr	r2, .L654+8
	cmp	r3, r2
	bhi	.L639
	ldr	r3, [fp, #-16]
	ldr	r2, .L654+12
	cmp	r3, r2
	bcs	.L640
	ldr	r3, [fp, #-16]
	ldr	r2, .L654+16
	cmp	r3, r2
	bcs	.L641
	ldr	r3, [fp, #-16]
	ldr	r2, .L654+20
	cmp	r3, r2
	bhi	.L642
	ldr	r3, [fp, #-16]
	cmp	r3, #1000
	bcs	.L643
	ldr	r3, [fp, #-16]
	cmp	r3, #99
	bhi	.L644
	ldr	r3, [fp, #-16]
	cmp	r3, #9
	movhi	r3, #1
	movls	r3, #0
	and	r3, r3, #255
	b	.L652
.L644:
	mov	r3, #2
	b	.L652
.L643:
	mov	r3, #3
	b	.L652
.L642:
	mov	r3, #4
	b	.L652
.L641:
	mov	r3, #5
	b	.L652
.L640:
	mov	r3, #6
	b	.L652
.L639:
	mov	r3, #7
	b	.L652
.L638:
	mov	r3, #8
	b	.L652
.L637:
	mov	r3, #9
.L652:
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L655:
	.align	2
.L654:
	.word	999999999
	.word	99999999
	.word	9999999
	.word	1000000
	.word	100000
	.word	9999
	.size	log_base_10, .-log_base_10
	.section	.rodata
	.align	2
.LC359:
	.ascii	"\302\273\000"
	.align	2
.LC360:
	.ascii	"\302\267\000"
	.align	2
.LC361:
	.ascii	"^%c\000"
	.align	2
.LC362:
	.ascii	"^?\000"
	.align	2
.LC363:
	.ascii	"<%2x>\000"
	.align	2
.LC364:
	.ascii	"[U+%04x]\000"
	.align	2
.LC365:
	.ascii	"[U+%06x]\000"
	.align	2
.LC366:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	render_line
	.syntax unified
	.arm
	.fpu softvfp
	.type	render_line, %function
render_line:
	@ args = 0, pretend = 0, frame = 72
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #72
	str	r0, [fp, #-64]
	str	r1, [fp, #-68]
	str	r2, [fp, #-72]
	ldr	r3, .L719
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-52]
	mov	r3, #0
	str	r3, [fp, #-48]
	mov	r3, #0
	str	r3, [fp, #-44]
	mov	r3, #0
	str	r3, [fp, #-40]
	mov	r3, #0
	str	r3, [fp, #-36]
	ldr	r3, .L719+4
	ldr	r3, [r3]
	ldr	r2, .L719+8
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	set_colors
	mov	r3, #0
	str	r3, [fp, #-32]
	b	.L657
.L713:
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	beq	.L658
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-72]
	cmp	r2, r3
	blt	.L659
	ldr	r3, .L719+12
	ldr	r3, [r3]
	ldr	r2, .L719+16
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	set_colors
	mov	r0, #45
	bl	putchar
	ldr	r3, .L719+4
	ldr	r3, [r3]
	ldr	r2, .L719+8
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	set_colors
.L659:
	ldr	r3, [fp, #-32]
	sub	r3, r3, #1
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L657
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	str	r3, [fp, #-52]
	b	.L657
.L658:
	ldr	r2, [fp, #-64]
	ldr	r3, [fp, #-52]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	str	r3, [fp, #-56]
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-72]
	cmp	r2, r3
	blt	.L661
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-72]
	sub	r3, r2, r3
	ldrb	r2, [fp, #-56]
	and	r2, r2, #15
	and	r2, r2, #255
	add	r3, r3, r2
	ldr	r2, [fp, #-68]
	cmp	r2, r3
	bgt	.L662
	ldr	r3, .L719+12
	ldr	r3, [r3]
	ldr	r2, .L719+16
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	set_colors
	b	.L663
.L664:
	mov	r0, #45
	bl	putchar
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-48]
.L663:
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-72]
	sub	r2, r2, r3
	ldr	r3, [fp, #-68]
	sub	r3, r3, #1
	cmp	r2, r3
	blt	.L664
	mov	r0, #62
	bl	putchar
	ldr	r3, .L719+4
	ldr	r3, [r3]
	ldr	r2, .L719+8
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	set_colors
	b	.L656
.L662:
	ldrh	r3, [fp, #-56]
	lsr	r3, r3, #4
	and	r3, r3, #127
	and	r3, r3, #255
	mov	r0, r3
	bl	flag_to_color
	str	r0, [fp, #-20]
	ldrh	r3, [fp, #-56]
	lsr	r3, r3, #4
	and	r3, r3, #127
	and	r3, r3, #255
	and	r3, r3, #16
	cmp	r3, #0
	beq	.L666
	ldr	r3, .L719+20
	ldr	r3, [r3]
	ldr	r2, .L719+24
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	set_colors
	mov	r3, #1
	str	r3, [fp, #-40]
	b	.L667
.L666:
	ldrh	r3, [fp, #-56]
	lsr	r3, r3, #4
	and	r3, r3, #127
	and	r3, r3, #255
	and	r3, r3, #32
	cmp	r3, #0
	beq	.L668
	ldr	r3, .L719+28
	ldr	r3, [r3]
	ldr	r2, .L719+32
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	set_colors
	mov	r3, #1
	str	r3, [fp, #-36]
	b	.L667
.L668:
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	bne	.L669
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L670
.L669:
	ldr	r3, .L719+8
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-20]
	bl	set_colors
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-44]
	b	.L667
.L670:
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	beq	.L671
	ldr	r1, [fp, #-44]
	ldr	r0, [fp, #-20]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	beq	.L667
.L671:
	ldr	r0, [fp, #-20]
	bl	set_fg_color
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-44]
.L667:
	ldr	r3, [fp, #-56]
	lsr	r3, r3, #11
	cmp	r3, #9
	bne	.L672
	ldrh	r3, [fp, #-56]
	lsr	r3, r3, #4
	and	r3, r3, #127
	and	r3, r3, #255
	and	r3, r3, #16
	cmp	r3, #0
	bne	.L673
	ldr	r3, .L719+12
	ldr	r3, [r3]
	ldr	r2, .L719+16
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	set_colors
.L673:
	ldr	r3, .L719+36
	ldr	r3, [r3, #56]
	cmp	r3, #0
	beq	.L674
	ldr	r0, .L719+40
	bl	printf
	mov	r3, #1
	str	r3, [fp, #-28]
	b	.L675
.L676:
	ldr	r0, .L719+44
	bl	printf
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L675:
	ldrb	r3, [fp, #-56]
	and	r3, r3, #15
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-28]
	cmp	r3, r2
	blt	.L676
	b	.L677
.L674:
	mov	r0, #62
	bl	putchar
	mov	r3, #1
	str	r3, [fp, #-24]
	b	.L678
.L679:
	mov	r0, #45
	bl	putchar
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L678:
	ldrb	r3, [fp, #-56]
	and	r3, r3, #15
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-24]
	cmp	r3, r2
	blt	.L679
.L677:
	ldrh	r3, [fp, #-56]
	lsr	r3, r3, #4
	and	r3, r3, #127
	and	r3, r3, #255
	and	r3, r3, #16
	cmp	r3, #0
	bne	.L680
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	beq	.L681
	ldr	r3, [fp, #-44]
	b	.L682
.L681:
	ldr	r3, .L719+4
	ldr	r3, [r3]
.L682:
	ldr	r2, .L719+8
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	set_colors
	b	.L680
.L672:
	ldr	r3, [fp, #-56]
	lsr	r3, r3, #11
	cmp	r3, #31
	bhi	.L683
	ldrh	r3, [fp, #-56]
	lsr	r3, r3, #4
	and	r3, r3, #127
	and	r3, r3, #255
	and	r3, r3, #16
	cmp	r3, #0
	bne	.L684
	ldr	r3, .L719+12
	ldr	r3, [r3]
	ldr	r2, .L719+16
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	set_colors
.L684:
	ldr	r3, [fp, #-56]
	lsr	r3, r3, #11
	add	r3, r3, #64
	mov	r1, r3
	ldr	r0, .L719+48
	bl	printf
	ldrh	r3, [fp, #-56]
	lsr	r3, r3, #4
	and	r3, r3, #127
	and	r3, r3, #255
	and	r3, r3, #16
	cmp	r3, #0
	bne	.L680
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	beq	.L685
	ldr	r3, [fp, #-44]
	b	.L686
.L685:
	ldr	r3, .L719+4
	ldr	r3, [r3]
.L686:
	ldr	r2, .L719+8
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	set_colors
	b	.L680
.L683:
	ldr	r3, [fp, #-56]
	lsr	r3, r3, #11
	cmp	r3, #127
	bne	.L687
	ldrh	r3, [fp, #-56]
	lsr	r3, r3, #4
	and	r3, r3, #127
	and	r3, r3, #255
	and	r3, r3, #16
	cmp	r3, #0
	bne	.L688
	ldr	r3, .L719+12
	ldr	r3, [r3]
	ldr	r2, .L719+16
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	set_colors
.L688:
	ldr	r0, .L719+52
	bl	printf
	ldrh	r3, [fp, #-56]
	lsr	r3, r3, #4
	and	r3, r3, #127
	and	r3, r3, #255
	and	r3, r3, #16
	cmp	r3, #0
	bne	.L680
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	beq	.L689
	ldr	r3, [fp, #-44]
	b	.L690
.L689:
	ldr	r3, .L719+4
	ldr	r3, [r3]
.L690:
	ldr	r2, .L719+8
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	set_colors
	b	.L680
.L687:
	ldr	r3, [fp, #-56]
	lsr	r3, r3, #11
	cmp	r3, #127
	bls	.L691
	ldr	r3, [fp, #-56]
	lsr	r3, r3, #11
	cmp	r3, #159
	bhi	.L691
	ldrh	r3, [fp, #-56]
	lsr	r3, r3, #4
	and	r3, r3, #127
	and	r3, r3, #255
	and	r3, r3, #16
	cmp	r3, #0
	bne	.L692
	ldr	r3, .L719+12
	ldr	r3, [r3]
	ldr	r2, .L719+16
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	set_colors
.L692:
	ldr	r3, [fp, #-56]
	lsr	r3, r3, #11
	mov	r1, r3
	ldr	r0, .L719+56
	bl	printf
	ldrh	r3, [fp, #-56]
	lsr	r3, r3, #4
	and	r3, r3, #127
	and	r3, r3, #255
	and	r3, r3, #16
	cmp	r3, #0
	bne	.L680
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	beq	.L694
	ldr	r3, [fp, #-44]
	b	.L695
.L694:
	ldr	r3, .L719+4
	ldr	r3, [r3]
.L695:
	ldr	r2, .L719+8
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	set_colors
	b	.L680
.L691:
	ldr	r3, [fp, #-56]
	lsr	r3, r3, #11
	cmp	r3, #160
	bne	.L696
	ldrh	r3, [fp, #-56]
	lsr	r3, r3, #4
	and	r3, r3, #127
	and	r3, r3, #255
	and	r3, r3, #16
	cmp	r3, #0
	bne	.L697
	ldr	r3, .L719+12
	ldr	r3, [r3]
	ldr	r2, .L719+16
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	set_colors
.L697:
	mov	r0, #95
	bl	putchar
	ldrh	r3, [fp, #-56]
	lsr	r3, r3, #4
	and	r3, r3, #127
	and	r3, r3, #255
	and	r3, r3, #16
	cmp	r3, #0
	bne	.L680
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	beq	.L698
	ldr	r3, [fp, #-44]
	b	.L699
.L698:
	ldr	r3, .L719+4
	ldr	r3, [r3]
.L699:
	ldr	r2, .L719+8
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	set_colors
	b	.L680
.L696:
	ldrb	r3, [fp, #-56]	@ zero_extendqisi2
	and	r3, r3, #15
	and	r3, r3, #255
	cmp	r3, #8
	bne	.L700
	ldrh	r3, [fp, #-56]
	lsr	r3, r3, #4
	and	r3, r3, #127
	and	r3, r3, #255
	and	r3, r3, #16
	cmp	r3, #0
	bne	.L701
	ldr	r3, .L719+12
	ldr	r3, [r3]
	ldr	r2, .L719+16
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	set_colors
.L701:
	ldr	r3, [fp, #-56]
	lsr	r3, r3, #11
	mov	r1, r3
	ldr	r0, .L719+60
	bl	printf
	ldrh	r3, [fp, #-56]
	lsr	r3, r3, #4
	and	r3, r3, #127
	and	r3, r3, #255
	and	r3, r3, #16
	cmp	r3, #0
	bne	.L680
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	beq	.L702
	ldr	r3, [fp, #-44]
	b	.L703
.L702:
	ldr	r3, .L719+4
	ldr	r3, [r3]
.L703:
	ldr	r2, .L719+8
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	set_colors
	b	.L680
.L700:
	ldrb	r3, [fp, #-56]	@ zero_extendqisi2
	and	r3, r3, #15
	and	r3, r3, #255
	cmp	r3, #10
	bne	.L704
	ldrh	r3, [fp, #-56]
	lsr	r3, r3, #4
	and	r3, r3, #127
	and	r3, r3, #255
	and	r3, r3, #16
	cmp	r3, #0
	bne	.L705
	ldr	r3, .L719+12
	ldr	r3, [r3]
	ldr	r2, .L719+16
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	set_colors
.L705:
	ldr	r3, [fp, #-56]
	lsr	r3, r3, #11
	mov	r1, r3
	ldr	r0, .L719+64
	bl	printf
	ldrh	r3, [fp, #-56]
	lsr	r3, r3, #4
	and	r3, r3, #127
	and	r3, r3, #255
	and	r3, r3, #16
	cmp	r3, #0
	bne	.L680
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	beq	.L706
	ldr	r3, [fp, #-44]
	b	.L707
.L706:
	ldr	r3, .L719+4
	ldr	r3, [r3]
.L707:
	ldr	r2, .L719+8
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	set_colors
	b	.L680
.L704:
	ldr	r3, [fp, #-56]
	lsr	r3, r3, #11
	cmp	r3, #32
	bne	.L708
	ldr	r3, [fp, #-64]
	ldr	r3, [r3, #4]
	sub	r3, r3, #1
	ldr	r2, [fp, #-52]
	cmp	r2, r3
	bne	.L708
	ldrh	r3, [fp, #-56]
	lsr	r3, r3, #4
	and	r3, r3, #127
	and	r3, r3, #255
	and	r3, r3, #16
	cmp	r3, #0
	bne	.L709
	ldr	r3, .L719+12
	ldr	r3, [r3]
	ldr	r2, .L719+16
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	set_colors
.L709:
	ldr	r0, .L719+44
	bl	printf
	ldrh	r3, [fp, #-56]
	lsr	r3, r3, #4
	and	r3, r3, #127
	and	r3, r3, #255
	and	r3, r3, #16
	cmp	r3, #0
	bne	.L680
	ldr	r3, .L719+4
	ldr	r3, [r3]
	ldr	r2, .L719+8
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	set_colors
	b	.L680
.L708:
	ldr	r3, [fp, #-56]
	lsr	r3, r3, #11
	mov	r2, r3
	sub	r3, fp, #16
	mov	r1, r3
	mov	r0, r2
	bl	to_eight
	sub	r3, fp, #16
	mov	r1, r3
	ldr	r0, .L719+68
	bl	printf
.L680:
	ldrb	r3, [fp, #-56]
	and	r3, r3, #15
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-48]
	add	r3, r3, r2
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	str	r3, [fp, #-52]
	b	.L657
.L661:
	ldrb	r3, [fp, #-56]
	and	r3, r3, #15
	and	r3, r3, #255
	cmp	r3, #1
	bls	.L712
	ldrb	r3, [fp, #-56]
	and	r3, r3, #15
	and	r3, r3, #255
	sub	r3, r3, #1
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-48]
	b	.L657
.L712:
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	str	r3, [fp, #-52]
.L657:
	ldr	r3, [fp, #-64]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-52]
	cmp	r2, r3
	blt	.L713
	ldr	r3, .L719+72
	ldr	r3, [r3]
	ldrsh	r3, [r3, #2]
	cmp	r3, #2
	beq	.L714
	ldr	r3, .L719+4
	ldr	r3, [r3]
	ldr	r2, .L719+8
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	set_colors
.L714:
	ldr	r3, .L719+36
	ldr	r3, [r3, #68]
	cmp	r3, #0
	bne	.L715
	b	.L716
.L717:
	mov	r0, #32
	bl	putchar
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-48]
.L716:
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-68]
	cmp	r2, r3
	blt	.L717
.L715:
	bl	clear_to_end
.L656:
	ldr	r3, .L719
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L718
	bl	__stack_chk_fail
.L718:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L720:
	.align	2
.L719:
	.word	.LC366
	.word	COLOR_FG
	.word	COLOR_BG
	.word	COLOR_ALT_FG
	.word	COLOR_ALT_BG
	.word	COLOR_SELECTFG
	.word	COLOR_SELECTBG
	.word	COLOR_SEARCH_FG
	.word	COLOR_SEARCH_BG
	.word	global_config
	.word	.LC359
	.word	.LC360
	.word	.LC361
	.word	.LC362
	.word	.LC363
	.word	.LC364
	.word	.LC365
	.word	.LC357
	.word	env
	.size	render_line, .-render_line
	.align	2
	.global	num_width
	.syntax unified
	.arm
	.fpu softvfp
	.type	num_width, %function
num_width:
	@ 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, .L724
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	mov	r0, r3
	bl	log_base_10
	mov	r3, r0
	add	r3, r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	bgt	.L722
	mov	r3, #2
	b	.L723
.L722:
	ldr	r3, [fp, #-8]
.L723:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L725:
	.align	2
.L724:
	.word	env
	.size	num_width, .-num_width
	.section	.rodata
	.align	2
.LC367:
	.ascii	"%d%c\000"
	.text
	.align	2
	.global	draw_line_number
	.syntax unified
	.arm
	.fpu softvfp
	.type	draw_line_number, %function
draw_line_number:
	@ 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]
	ldr	r3, .L731
	ldr	r3, [r3]
	ldr	r2, .L731+4
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	set_colors
	bl	num_width
	str	r0, [fp, #-8]
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L727
.L728:
	mov	r0, #32
	bl	putchar
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L727:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	mov	r0, r3
	bl	log_base_10
	mov	r2, r0
	ldr	r3, [fp, #-8]
	sub	r3, r3, r2
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	blt	.L728
	ldr	r3, [fp, #-16]
	add	r1, r3, #1
	ldr	r3, [fp, #-16]
	add	r2, r3, #1
	ldr	r3, .L731+8
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	cmp	r2, r3
	bne	.L729
	ldr	r3, .L731+8
	ldr	r3, [r3]
	ldr	r3, [r3, #16]
	cmp	r3, #0
	ble	.L729
	mov	r3, #60
	b	.L730
.L729:
	mov	r3, #32
.L730:
	mov	r2, r3
	ldr	r0, .L731+12
	bl	printf
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L732:
	.align	2
.L731:
	.word	COLOR_NUMBER_FG
	.word	COLOR_NUMBER_BG
	.word	env
	.word	.LC367
	.size	draw_line_number, .-draw_line_number
	.align	2
	.global	redraw_line
	.syntax unified
	.arm
	.fpu softvfp
	.type	redraw_line, %function
redraw_line:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #8
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, .L739
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	bne	.L738
	bl	hide_cursor
	ldr	r3, [fp, #-16]
	add	r3, r3, #2
	mov	r1, r3
	mov	r0, #1
	bl	place_cursor
	ldr	r3, .L739+4
	ldr	r3, [r3]
	ldr	r2, .L739+8
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	set_colors
	mov	r0, #32
	bl	putchar
	ldr	r0, [fp, #-20]
	bl	draw_line_number
	ldr	r3, .L739
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r5, [r3]
	ldr	r3, .L739+12
	ldr	r3, [r3]
	sub	r4, r3, #3
	bl	num_width
	mov	r3, r0
	sub	r1, r4, r3
	ldr	r3, [fp, #-20]
	add	r2, r3, #1
	ldr	r3, .L739
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	cmp	r2, r3
	bne	.L736
	ldr	r3, .L739
	ldr	r3, [r3]
	ldr	r3, [r3, #16]
	b	.L737
.L736:
	mov	r3, #0
.L737:
	mov	r2, r3
	mov	r0, r5
	bl	render_line
	b	.L733
.L738:
	nop
.L733:
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L740:
	.align	2
.L739:
	.word	env
	.word	COLOR_NUMBER_FG
	.word	COLOR_ALT_FG
	.word	global_config
	.size	redraw_line, .-redraw_line
	.align	2
	.global	draw_excess_line
	.syntax unified
	.arm
	.fpu softvfp
	.type	draw_excess_line, %function
draw_excess_line:
	@ 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]
	add	r3, r3, #2
	mov	r1, r3
	mov	r0, #1
	bl	place_cursor
	ldr	r3, .L742
	ldr	r3, [r3]
	mov	r0, r3
	bl	paint_line
	ldr	r3, .L742+4
	ldr	r3, [r3]
	ldr	r2, .L742
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	set_colors
	mov	r0, #126
	bl	putchar
	bl	clear_to_end
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L743:
	.align	2
.L742:
	.word	COLOR_ALT_BG
	.word	COLOR_ALT_FG
	.size	draw_excess_line, .-draw_excess_line
	.align	2
	.global	redraw_text
	.syntax unified
	.arm
	.fpu softvfp
	.type	redraw_text, %function
redraw_text:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	bl	hide_cursor
	ldr	r3, .L750
	ldr	r2, [r3, #4]
	ldr	r3, .L750
	ldr	r3, [r3, #8]
	sub	r3, r2, r3
	sub	r3, r3, #1
	str	r3, [fp, #-8]
	mov	r3, #0
	str	r3, [fp, #-16]
	ldr	r3, .L750+4
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-12]
	b	.L745
.L747:
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-16]
	bl	redraw_line
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L745:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-8]
	cmp	r2, r3
	bge	.L748
	ldr	r3, .L750+4
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	blt	.L747
	b	.L748
.L749:
	ldr	r0, [fp, #-16]
	bl	draw_excess_line
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L748:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-8]
	cmp	r2, r3
	blt	.L749
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L751:
	.align	2
.L750:
	.word	global_config
	.word	env
	.size	redraw_text, .-redraw_text
	.section	.rodata
	.align	2
.LC368:
	.ascii	"[%s]\000"
	.align	2
.LC369:
	.ascii	"[+]\000"
	.align	2
.LC370:
	.ascii	"[ro]\000"
	.align	2
.LC371:
	.ascii	"[tabs]\000"
	.align	2
.LC372:
	.ascii	"[spaces=%d]\000"
	.align	2
.LC373:
	.ascii	"[y:%ld]\000"
	.align	2
.LC374:
	.ascii	"[indent]\000"
	.align	2
.LC375:
	.ascii	"Line %d/%d Col: %d \000"
	.align	2
.LC376:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	redraw_statusbar
	.syntax unified
	.arm
	.fpu softvfp
	.type	redraw_statusbar, %function
redraw_statusbar:
	@ args = 0, pretend = 0, frame = 1032
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #1040
	sub	sp, sp, #4
	ldr	r3, .L763
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	bl	hide_cursor
	ldr	r3, .L763+4
	ldr	r3, [r3, #4]
	sub	r3, r3, #1
	mov	r1, r3
	mov	r0, #1
	bl	place_cursor
	ldr	r3, .L763+8
	ldr	r3, [r3]
	mov	r0, r3
	bl	paint_line
	ldr	r3, .L763+12
	ldr	r3, [r3]
	ldr	r2, .L763+8
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	set_colors
	ldr	r3, .L763+16
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	beq	.L753
	ldr	r3, .L763+16
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	mov	r1, r3
	ldr	r0, .L763+20
	bl	printf
	b	.L754
.L753:
	ldr	r0, .L763+24
	bl	printf
.L754:
	mov	r0, #32
	bl	putchar
	ldr	r3, .L763+16
	ldr	r3, [r3]
	ldr	r3, [r3, #44]
	cmp	r3, #0
	beq	.L755
	ldr	r3, .L763+16
	ldr	r3, [r3]
	ldr	r3, [r3, #44]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L763+28
	bl	printf
.L755:
	ldr	r3, .L763+16
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #4
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L756
	ldr	r0, .L763+32
	bl	printf
.L756:
	ldr	r3, .L763+16
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #8
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L757
	ldr	r0, .L763+36
	bl	printf
.L757:
	mov	r0, #32
	bl	putchar
	ldr	r3, .L763+16
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #2
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L758
	ldr	r0, .L763+40
	bl	printf
	b	.L759
.L758:
	ldr	r3, .L763+16
	ldr	r3, [r3]
	ldrsh	r3, [r3, #4]
	mov	r1, r3
	ldr	r0, .L763+44
	bl	printf
.L759:
	ldr	r3, .L763+4
	ldr	r3, [r3, #20]
	cmp	r3, #0
	beq	.L760
	ldr	r3, .L763+4
	ldr	r3, [r3, #24]
	mov	r1, r3
	ldr	r0, .L763+48
	bl	printf
.L760:
	ldr	r3, .L763+16
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #16
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L761
	ldr	r0, .L763+52
	bl	printf
.L761:
	bl	clear_to_end
	ldr	r3, .L763+16
	ldr	r3, [r3]
	ldr	r1, [r3, #20]
	ldr	r3, .L763+16
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	ldr	r2, .L763+16
	ldr	r2, [r2]
	ldr	r2, [r2, #32]
	sub	r0, fp, #1024
	sub	r0, r0, #12
	sub	r0, r0, #4
	str	r2, [sp, #4]
	str	r3, [sp]
	mov	r3, r1
	ldr	r2, .L763+56
	mov	r1, #1024
	bl	snprintf
	ldr	r3, .L763+4
	ldr	r3, [r3]
	mov	r4, r3
	sub	r3, fp, #1024
	sub	r3, r3, #12
	sub	r3, r3, #4
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	sub	r3, r4, r3
	mov	r2, r3
	ldr	r3, .L763+4
	ldr	r3, [r3, #4]
	sub	r3, r3, #1
	mov	r1, r3
	mov	r0, r2
	bl	place_cursor
	sub	r3, fp, #1024
	sub	r3, r3, #12
	sub	r3, r3, #4
	mov	r1, r3
	ldr	r0, .L763+20
	bl	printf
	ldr	r3, .L763+60
	ldr	r3, [r3]
	mov	r0, r3
	bl	fflush
	nop
	ldr	r3, .L763
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L762
	bl	__stack_chk_fail
.L762:
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L764:
	.align	2
.L763:
	.word	.LC376
	.word	global_config
	.word	COLOR_STATUS_BG
	.word	COLOR_STATUS_FG
	.word	env
	.word	.LC357
	.word	.LC354
	.word	.LC368
	.word	.LC369
	.word	.LC370
	.word	.LC371
	.word	.LC372
	.word	.LC373
	.word	.LC374
	.word	.LC375
	.word	stdout
	.size	redraw_statusbar, .-redraw_statusbar
	.section	.rodata
	.align	2
.LC377:
	.ascii	"-- INSERT --\000"
	.align	2
.LC378:
	.ascii	"-- LINE SELECTION --\000"
	.align	2
.LC379:
	.ascii	"-- REPLACE --\000"
	.align	2
.LC380:
	.ascii	"-- CHAR SELECTION --\000"
	.text
	.align	2
	.global	redraw_commandline
	.syntax unified
	.arm
	.fpu softvfp
	.type	redraw_commandline, %function
redraw_commandline:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	bl	hide_cursor
	ldr	r3, .L772
	ldr	r3, [r3, #4]
	mov	r1, r3
	mov	r0, #1
	bl	place_cursor
	ldr	r3, .L772+4
	ldr	r3, [r3]
	mov	r0, r3
	bl	paint_line
	ldr	r3, .L772+8
	ldr	r3, [r3]
	ldr	r2, .L772+4
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	set_colors
	ldr	r3, .L772+12
	ldr	r3, [r3]
	ldrsh	r3, [r3, #2]
	cmp	r3, #1
	bne	.L766
	bl	set_bold
	ldr	r0, .L772+16
	bl	printf
	bl	clear_to_end
	bl	reset
	b	.L771
.L766:
	ldr	r3, .L772+12
	ldr	r3, [r3]
	ldrsh	r3, [r3, #2]
	cmp	r3, #2
	bne	.L768
	bl	set_bold
	ldr	r0, .L772+20
	bl	printf
	bl	clear_to_end
	bl	reset
	b	.L771
.L768:
	ldr	r3, .L772+12
	ldr	r3, [r3]
	ldrsh	r3, [r3, #2]
	cmp	r3, #3
	bne	.L769
	bl	set_bold
	ldr	r0, .L772+24
	bl	printf
	bl	clear_to_end
	bl	reset
	b	.L771
.L769:
	ldr	r3, .L772+12
	ldr	r3, [r3]
	ldrsh	r3, [r3, #2]
	cmp	r3, #4
	bne	.L770
	bl	set_bold
	ldr	r0, .L772+28
	bl	printf
	bl	clear_to_end
	bl	reset
	b	.L771
.L770:
	bl	clear_to_end
.L771:
	nop
	pop	{fp, pc}
.L773:
	.align	2
.L772:
	.word	global_config
	.word	COLOR_BG
	.word	COLOR_FG
	.word	env
	.word	.LC377
	.word	.LC378
	.word	.LC379
	.word	.LC380
	.size	redraw_commandline, .-redraw_commandline
	.section	.rodata
	.align	2
.LC381:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	render_commandline_message
	.syntax unified
	.arm
	.fpu softvfp
	.type	render_commandline_message, %function
render_commandline_message:
	@ args = 4, pretend = 16, frame = 1040
	@ frame_needed = 1, uses_anonymous_args = 1
	push	{r0, r1, r2, r3}
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #1040
	ldr	r3, [fp, #4]
	str	r3, [fp, #-1040]
	ldr	r3, .L776
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	add	r3, fp, #8
	str	r3, [fp, #-1036]
	sub	r0, fp, #1024
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r3, [fp, #-1036]
	ldr	r2, [fp, #-1040]
	mov	r1, #1024
	bl	vsnprintf
	bl	hide_cursor
	ldr	r3, .L776+4
	ldr	r3, [r3, #4]
	mov	r1, r3
	mov	r0, #1
	bl	place_cursor
	ldr	r3, .L776+8
	ldr	r3, [r3]
	mov	r0, r3
	bl	paint_line
	ldr	r3, .L776+12
	ldr	r3, [r3]
	ldr	r2, .L776+8
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	set_colors
	sub	r3, fp, #1024
	sub	r3, r3, #4
	sub	r3, r3, #4
	mov	r1, r3
	ldr	r0, .L776+16
	bl	printf
	bl	clear_to_end
	nop
	ldr	r3, .L776
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L775
	bl	__stack_chk_fail
.L775:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, lr}
	add	sp, sp, #16
	bx	lr
.L777:
	.align	2
.L776:
	.word	.LC381
	.word	global_config
	.word	COLOR_BG
	.word	COLOR_FG
	.word	.LC357
	.size	render_commandline_message, .-render_commandline_message
	.align	2
	.global	redraw_all
	.syntax unified
	.arm
	.fpu softvfp
	.type	redraw_all, %function
redraw_all:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	bl	redraw_tabbar
	bl	redraw_text
	bl	redraw_statusbar
	bl	redraw_commandline
	nop
	pop	{fp, pc}
	.size	redraw_all, .-redraw_all
	.section	.rodata
	.align	2
.LC382:
	.ascii	"\033]%d;%s%s (%s) - BIM\007\000"
	.align	2
.LC383:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	update_title
	.syntax unified
	.arm
	.fpu softvfp
	.type	update_title, %function
update_title:
	@ args = 0, pretend = 0, frame = 1032
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #1040
	ldr	r3, .L790
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L790+4
	ldr	r3, [r3, #64]
	cmp	r3, #0
	beq	.L789
	mov	r3, #47
	str	r3, [fp, #-1032]
	sub	r3, fp, #1024
	sub	r3, r3, #4
	mov	r2, #1020
	mov	r1, #0
	mov	r0, r3
	bl	memset
	sub	r3, fp, #1024
	sub	r3, r3, #4
	sub	r3, r3, #4
	mov	r1, #1024
	mov	r0, r3
	bl	getcwd
	mov	r3, #1
	str	r3, [fp, #-1036]
	b	.L782
.L787:
	ldr	r3, .L790+8
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	beq	.L783
	ldr	r3, .L790+8
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	b	.L784
.L783:
	ldr	r2, .L790+12
.L784:
	ldr	r3, .L790+8
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #4
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L785
	ldr	r1, .L790+16
	b	.L786
.L785:
	ldr	r1, .L790+20
.L786:
	sub	r3, fp, #1024
	sub	r3, r3, #4
	sub	r3, r3, #4
	str	r3, [sp]
	mov	r3, r1
	ldr	r1, [fp, #-1036]
	ldr	r0, .L790+24
	bl	printf
	ldr	r3, [fp, #-1036]
	add	r3, r3, #1
	str	r3, [fp, #-1036]
.L782:
	ldr	r3, [fp, #-1036]
	cmp	r3, #2
	ble	.L787
	b	.L779
.L789:
	nop
.L779:
	ldr	r3, .L790
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L788
	bl	__stack_chk_fail
.L788:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L791:
	.align	2
.L790:
	.word	.LC383
	.word	global_config
	.word	env
	.word	.LC354
	.word	.LC352
	.word	.LC353
	.word	.LC382
	.size	update_title, .-update_title
	.align	2
	.global	set_modified
	.syntax unified
	.arm
	.fpu softvfp
	.type	set_modified, %function
set_modified:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L796
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #4
	and	r3, r3, #255
	cmp	r3, #0
	bne	.L795
	ldr	r3, .L796
	ldr	r2, [r3]
	ldrb	r3, [r2]
	orr	r3, r3, #4
	strb	r3, [r2]
	bl	update_title
	bl	redraw_tabbar
	bl	redraw_statusbar
	pop	{fp, pc}
.L795:
	nop
	pop	{fp, pc}
.L797:
	.align	2
.L796:
	.word	env
	.size	set_modified, .-set_modified
	.section	.rodata
	.align	2
.LC384:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	render_status_message
	.syntax unified
	.arm
	.fpu softvfp
	.type	render_status_message, %function
render_status_message:
	@ args = 4, pretend = 16, frame = 1040
	@ frame_needed = 1, uses_anonymous_args = 1
	push	{r0, r1, r2, r3}
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #1040
	ldr	r3, [fp, #4]
	str	r3, [fp, #-1040]
	ldr	r3, .L800
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	add	r3, fp, #8
	str	r3, [fp, #-1036]
	sub	r0, fp, #1024
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r3, [fp, #-1036]
	ldr	r2, [fp, #-1040]
	mov	r1, #1024
	bl	vsnprintf
	bl	hide_cursor
	ldr	r3, .L800+4
	ldr	r3, [r3, #4]
	sub	r3, r3, #1
	mov	r1, r3
	mov	r0, #1
	bl	place_cursor
	ldr	r3, .L800+8
	ldr	r3, [r3]
	mov	r0, r3
	bl	paint_line
	ldr	r3, .L800+12
	ldr	r3, [r3]
	ldr	r2, .L800+8
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	set_colors
	sub	r3, fp, #1024
	sub	r3, r3, #4
	sub	r3, r3, #4
	mov	r1, r3
	ldr	r0, .L800+16
	bl	printf
	bl	clear_to_end
	nop
	ldr	r3, .L800
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L799
	bl	__stack_chk_fail
.L799:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, lr}
	add	sp, sp, #16
	bx	lr
.L801:
	.align	2
.L800:
	.word	.LC384
	.word	global_config
	.word	COLOR_STATUS_BG
	.word	COLOR_STATUS_FG
	.word	.LC357
	.size	render_status_message, .-render_status_message
	.section	.rodata
	.align	2
.LC385:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	render_error
	.syntax unified
	.arm
	.fpu softvfp
	.type	render_error, %function
render_error:
	@ args = 4, pretend = 16, frame = 1040
	@ frame_needed = 1, uses_anonymous_args = 1
	push	{r0, r1, r2, r3}
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #1040
	ldr	r3, [fp, #4]
	str	r3, [fp, #-1040]
	ldr	r3, .L804
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	add	r3, fp, #8
	str	r3, [fp, #-1036]
	sub	r0, fp, #1024
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r3, [fp, #-1036]
	ldr	r2, [fp, #-1040]
	mov	r1, #1024
	bl	vsnprintf
	bl	hide_cursor
	ldr	r3, .L804+4
	ldr	r3, [r3, #4]
	mov	r1, r3
	mov	r0, #1
	bl	place_cursor
	ldr	r3, .L804+8
	ldr	r3, [r3]
	ldr	r2, .L804+12
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	set_colors
	sub	r3, fp, #1024
	sub	r3, r3, #4
	sub	r3, r3, #4
	mov	r1, r3
	ldr	r0, .L804+16
	bl	printf
	ldr	r3, .L804+20
	ldr	r3, [r3]
	mov	r0, r3
	bl	fflush
	nop
	ldr	r3, .L804
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L803
	bl	__stack_chk_fail
.L803:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, lr}
	add	sp, sp, #16
	bx	lr
.L805:
	.align	2
.L804:
	.word	.LC385
	.word	global_config
	.word	COLOR_ERROR_FG
	.word	COLOR_ERROR_BG
	.word	.LC357
	.word	stdout
	.size	render_error, .-render_error
	.global	paren_pairs
	.section	.rodata
	.align	2
.LC386:
	.ascii	"()[]{}<>\000"
	.data
	.align	2
	.type	paren_pairs, %object
	.size	paren_pairs, 4
paren_pairs:
	.word	.LC386
	.text
	.align	2
	.global	is_paren
	.syntax unified
	.arm
	.fpu softvfp
	.type	is_paren, %function
is_paren:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	ldr	r3, .L811
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	b	.L807
.L810:
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-16]
	cmp	r3, r2
	bne	.L808
	mov	r3, #1
	b	.L809
.L808:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L807:
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L810
	mov	r3, #0
.L809:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L812:
	.align	2
.L811:
	.word	paren_pairs
	.size	is_paren, .-is_paren
	.section	.rodata
	.align	2
.LC387:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	highlight_matching_paren
	.syntax unified
	.arm
	.fpu softvfp
	.type	highlight_matching_paren, %function
highlight_matching_paren:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	ldr	r3, .L834
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L834+4
	ldr	r3, [r3]
	ldrsh	r3, [r3, #2]
	cmp	r3, #2
	beq	.L831
	ldr	r3, .L834+4
	ldr	r3, [r3]
	ldrsh	r3, [r3, #2]
	cmp	r3, #4
	beq	.L831
	ldr	r3, .L834+8
	ldr	r3, [r3, #80]
	cmp	r3, #0
	beq	.L832
	mvn	r3, #0
	str	r3, [fp, #-28]
	mvn	r3, #0
	str	r3, [fp, #-24]
	ldr	r3, .L834+4
	ldr	r3, [r3]
	ldr	r2, [r3, #20]
	ldr	r3, .L834+4
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	cmp	r2, r3
	bgt	.L818
	ldr	r3, .L834+4
	ldr	r3, [r3]
	ldr	r2, [r3, #32]
	ldr	r3, .L834+4
	ldr	r3, [r3]
	ldr	r1, [r3, #48]
	ldr	r3, .L834+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	cmp	r2, r3
	bgt	.L818
	ldr	r3, .L834+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, .L834+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, .L834+4
	ldr	r3, [r3]
	ldr	r3, [r3, #32]
	sub	r3, r3, #1
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	mov	r0, r3
	bl	is_paren
	mov	r3, r0
	cmp	r3, #0
	beq	.L818
	sub	r2, fp, #24
	sub	r3, fp, #28
	mov	r1, r2
	mov	r0, r3
	bl	find_matching_paren
	ldr	r3, [fp, #-28]
	cmn	r3, #1
	beq	.L818
	ldr	r3, .L834+4
	ldr	r2, [r3]
	ldrb	r3, [r2]
	orr	r3, r3, #32
	strb	r3, [r2]
.L818:
	ldr	r3, .L834+4
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #32
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L833
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L820
.L827:
	mov	r3, #0
	str	r3, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L821
.L825:
	ldr	r3, [fp, #-28]
	sub	r3, r3, #1
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	bne	.L822
	ldr	r3, [fp, #-24]
	sub	r3, r3, #1
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	bne	.L822
	ldr	r3, .L834+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-28]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	sub	r3, r3, #1
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	add	r3, r3, #4
	ldrh	r3, [r3]
	lsr	r3, r3, #4
	and	r3, r3, #127
	and	r3, r3, #255
	ldr	r2, .L834+4
	ldr	r2, [r2]
	ldr	r1, [r2, #48]
	ldr	r2, [fp, #-28]
	sub	r2, r2, #-1073741823
	lsl	r2, r2, #2
	add	r2, r1, r2
	ldr	r1, [r2]
	ldr	r2, [fp, #-24]
	sub	r2, r2, #1
	orr	r3, r3, #16
	and	r3, r3, #255
	add	r2, r2, #2
	lsl	r2, r2, #2
	add	r2, r1, r2
	add	r1, r2, #4
	ldrh	r2, [r1]	@ movhi
	and	r3, r3, #127
	bic	r2, r2, #2032
	lsl	r3, r3, #4
	orr	r3, r3, r2
	mov	r2, r3	@ movhi
	strh	r2, [r1]	@ movhi
	mov	r3, #1
	str	r3, [fp, #-16]
	b	.L823
.L822:
	ldr	r3, .L834+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	add	r3, r3, #4
	ldrh	r3, [r3]
	lsr	r3, r3, #4
	and	r3, r3, #127
	and	r3, r3, #255
	and	r3, r3, #16
	cmp	r3, #0
	beq	.L824
	mov	r3, #1
	str	r3, [fp, #-16]
.L824:
	ldr	r3, .L834+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	add	r3, r3, #4
	ldrh	r3, [r3]
	lsr	r3, r3, #4
	and	r3, r3, #127
	and	r3, r3, #255
	ldr	r2, .L834+4
	ldr	r2, [r2]
	ldr	r1, [r2, #48]
	ldr	r2, [fp, #-20]
	lsl	r2, r2, #2
	add	r2, r1, r2
	ldr	r1, [r2]
	and	r3, r3, #111
	and	r3, r3, #255
	ldr	r2, [fp, #-12]
	add	r2, r2, #2
	lsl	r2, r2, #2
	add	r2, r1, r2
	add	r1, r2, #4
	ldrh	r2, [r1]	@ movhi
	and	r3, r3, #127
	bic	r2, r2, #2032
	lsl	r3, r3, #4
	orr	r3, r3, r2
	mov	r2, r3	@ movhi
	strh	r2, [r1]	@ movhi
.L823:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L821:
	ldr	r3, .L834+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	blt	.L825
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L826
	ldr	r3, .L834+4
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-20]
	sub	r3, r2, r3
	cmp	r3, #0
	blt	.L826
	ldr	r3, .L834+4
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-20]
	sub	r2, r2, r3
	ldr	r3, .L834+8
	ldr	r1, [r3, #4]
	ldr	r3, .L834+8
	ldr	r3, [r3, #8]
	sub	r3, r1, r3
	sub	r3, r3, #1
	cmp	r2, r3
	bge	.L826
	ldr	r3, .L834+4
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-20]
	sub	r3, r2, r3
	ldr	r1, [fp, #-20]
	mov	r0, r3
	bl	redraw_line
.L826:
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L820:
	ldr	r3, .L834+4
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	blt	.L827
	ldr	r3, [fp, #-28]
	cmn	r3, #1
	bne	.L813
	ldr	r3, .L834+4
	ldr	r2, [r3]
	ldrb	r3, [r2]
	bic	r3, r3, #32
	strb	r3, [r2]
	b	.L813
.L831:
	nop
	b	.L813
.L832:
	nop
	b	.L813
.L833:
	nop
.L813:
	ldr	r3, .L834
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L830
	bl	__stack_chk_fail
.L830:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L835:
	.align	2
.L834:
	.word	.LC387
	.word	env
	.word	global_config
	.size	highlight_matching_paren, .-highlight_matching_paren
	.align	2
	.global	place_cursor_actual
	.syntax unified
	.arm
	.fpu softvfp
	.type	place_cursor_actual, %function
place_cursor_actual:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	ldr	r3, .L849
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	bgt	.L837
	ldr	r3, .L849
	ldr	r3, [r3]
	mov	r2, #1
	str	r2, [r3, #20]
.L837:
	ldr	r3, .L849
	ldr	r3, [r3]
	ldr	r3, [r3, #32]
	cmp	r3, #0
	bgt	.L838
	ldr	r3, .L849
	ldr	r3, [r3]
	mov	r2, #1
	str	r2, [r3, #32]
.L838:
	bl	num_width
	mov	r3, r0
	add	r3, r3, #3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	add	r2, r3, #1
	ldr	r3, .L849
	ldr	r3, [r3]
	ldr	r3, [r3, #16]
	sub	r3, r2, r3
	str	r3, [fp, #-36]
	mov	r3, #0
	str	r3, [fp, #-32]
	b	.L839
.L840:
	ldr	r3, .L849
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, .L849
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	add	r3, r3, #4
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]
	and	r3, r3, #15
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-36]
	add	r3, r3, r2
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L839:
	ldr	r3, .L849
	ldr	r3, [r3]
	ldr	r3, [r3, #32]
	sub	r3, r3, #1
	ldr	r2, [fp, #-32]
	cmp	r2, r3
	blt	.L840
	ldr	r3, .L849
	ldr	r3, [r3]
	ldr	r2, [r3, #20]
	ldr	r3, .L849
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	sub	r3, r2, r3
	add	r3, r3, #1
	str	r3, [fp, #-28]
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L841
.L843:
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r3, .L849
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	sub	r2, r2, #1
	str	r2, [r3, #12]
	mov	r3, #1
	str	r3, [fp, #-24]
.L841:
	ldr	r3, .L849+4
	ldr	r3, [r3, #76]
	add	r3, r3, #1
	ldr	r2, [fp, #-28]
	cmp	r2, r3
	bgt	.L844
	ldr	r3, .L849
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	bgt	.L843
	b	.L844
.L845:
	ldr	r3, [fp, #-28]
	sub	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r3, .L849
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	add	r2, r2, #1
	str	r2, [r3, #12]
	mov	r3, #1
	str	r3, [fp, #-24]
.L844:
	ldr	r3, .L849+4
	ldr	r2, [r3, #4]
	ldr	r3, .L849+4
	ldr	r3, [r3, #8]
	sub	r2, r2, r3
	ldr	r3, .L849+4
	ldr	r3, [r3, #76]
	sub	r3, r2, r3
	ldr	r2, [fp, #-28]
	cmp	r2, r3
	bgt	.L845
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L846
	bl	redraw_text
	bl	redraw_tabbar
	bl	redraw_statusbar
	bl	redraw_commandline
.L846:
	ldr	r3, .L849+4
	ldr	r3, [r3]
	ldr	r2, [fp, #-36]
	cmp	r2, r3
	blt	.L847
	ldr	r3, .L849+4
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, [fp, #-36]
	sub	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r3, .L849
	ldr	r3, [r3]
	ldr	r1, [r3, #16]
	ldr	r3, .L849
	ldr	r3, [r3]
	ldr	r2, [fp, #-16]
	add	r2, r1, r2
	str	r2, [r3, #16]
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-16]
	sub	r3, r2, r3
	str	r3, [fp, #-36]
	bl	redraw_text
.L847:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-36]
	cmp	r2, r3
	blt	.L848
	ldr	r3, [fp, #-20]
	add	r2, r3, #1
	ldr	r3, [fp, #-36]
	sub	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, .L849
	ldr	r3, [r3]
	ldr	r1, [r3, #16]
	ldr	r3, .L849
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	sub	r2, r1, r2
	str	r2, [r3, #16]
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	str	r3, [fp, #-36]
	bl	redraw_text
.L848:
	bl	highlight_matching_paren
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-36]
	bl	place_cursor
	bl	show_cursor
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L850:
	.align	2
.L849:
	.word	env
	.word	global_config
	.size	place_cursor_actual, .-place_cursor_actual
	.section	.rodata
	.align	2
.LC388:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	update_screen_size
	.syntax unified
	.arm
	.fpu softvfp
	.type	update_screen_size, %function
update_screen_size:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	ldr	r3, .L853
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #16
	mov	r2, r3
	ldr	r1, .L853+4
	mov	r0, #1
	bl	ioctl
	ldrh	r3, [fp, #-14]
	mov	r2, r3
	ldr	r3, .L853+8
	str	r2, [r3]
	ldrh	r3, [fp, #-16]
	mov	r2, r3
	ldr	r3, .L853+8
	str	r2, [r3, #4]
	nop
	ldr	r3, .L853
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L852
	bl	__stack_chk_fail
.L852:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L854:
	.align	2
.L853:
	.word	.LC388
	.word	21523
	.word	global_config
	.size	update_screen_size, .-update_screen_size
	.align	2
	.global	SIGWINCH_handler
	.syntax unified
	.arm
	.fpu softvfp
	.type	SIGWINCH_handler, %function
SIGWINCH_handler:
	@ 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]
	bl	update_screen_size
	bl	redraw_all
	ldr	r1, .L856
	mov	r0, #28
	bl	signal
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L857:
	.align	2
.L856:
	.word	SIGWINCH_handler
	.size	SIGWINCH_handler, .-SIGWINCH_handler
	.align	2
	.global	SIGTSTP_handler
	.syntax unified
	.arm
	.fpu softvfp
	.type	SIGTSTP_handler, %function
SIGTSTP_handler:
	@ 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]
	bl	mouse_disable
	bl	set_buffered
	bl	reset
	bl	clear_screen
	bl	show_cursor
	bl	unset_alternate_screen
	ldr	r3, .L859
	ldr	r3, [r3]
	mov	r0, r3
	bl	fflush
	mov	r1, #0
	mov	r0, #20
	bl	signal
	mov	r0, #20
	bl	raise
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L860:
	.align	2
.L859:
	.word	stdout
	.size	SIGTSTP_handler, .-SIGTSTP_handler
	.align	2
	.global	SIGCONT_handler
	.syntax unified
	.arm
	.fpu softvfp
	.type	SIGCONT_handler, %function
SIGCONT_handler:
	@ 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]
	bl	set_alternate_screen
	bl	set_unbuffered
	bl	mouse_enable
	bl	redraw_all
	ldr	r1, .L862
	mov	r0, #18
	bl	signal
	ldr	r1, .L862+4
	mov	r0, #20
	bl	signal
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L863:
	.align	2
.L862:
	.word	SIGCONT_handler
	.word	SIGTSTP_handler
	.size	SIGCONT_handler, .-SIGCONT_handler
	.align	2
	.global	goto_line
	.syntax unified
	.arm
	.fpu softvfp
	.type	goto_line, %function
goto_line:
	@ 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]
	cmp	r3, #0
	bgt	.L865
	mov	r3, #1
	str	r3, [fp, #-8]
.L865:
	ldr	r3, .L867
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	ble	.L866
	ldr	r3, .L867
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	str	r3, [fp, #-8]
.L866:
	ldr	r3, .L867
	ldr	r3, [r3]
	mov	r2, #0
	str	r2, [r3, #16]
	ldr	r3, .L867
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	sub	r2, r2, #1
	str	r2, [r3, #12]
	ldr	r3, .L867
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #20]
	ldr	r3, .L867
	ldr	r3, [r3]
	mov	r2, #1
	str	r2, [r3, #32]
	bl	redraw_all
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L868:
	.align	2
.L867:
	.word	env
	.size	goto_line, .-goto_line
	.local	codepoint_r
	.comm	codepoint_r,4,4
	.local	state
	.comm	state,4,4
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	decode, %function
decode:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L870
	ldr	r3, [fp, #-16]
	lsr	r3, r3, #3
	ldr	r2, .L873
	ldr	r3, [r2, r3, lsl #2]
	mov	r2, r3
	ldr	r3, [fp, #-16]
	and	r2, r2, r3
	ldr	r3, [fp, #-12]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	lsr	r3, r3, #3
	ldr	r2, .L873+4
	ldr	r3, [r2, r3, lsl #2]
	mov	r2, r3
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	b	.L871
.L870:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L871
	ldr	r3, [fp, #-16]
	and	r2, r3, #63
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	lsl	r3, r3, #6
	orr	r2, r2, r3
	ldr	r3, [fp, #-12]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldr	r2, .L873+8
	ldr	r3, [r2, r3, lsl #2]
	mov	r2, r3
	ldr	r3, [fp, #-8]
	str	r2, [r3]
.L871:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L874:
	.align	2
.L873:
	.word	mask_bytes.7847
	.word	state_table.7846
	.word	next.7848
	.size	decode, .-decode
	.align	2
	.global	add_buffer
	.syntax unified
	.arm
	.fpu softvfp
	.type	add_buffer, %function
add_buffer:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #36
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	mov	r3, #0
	str	r3, [fp, #-28]
	b	.L876
.L881:
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r1, .L882
	ldr	r0, .L882+4
	bl	decode
	mov	r3, r0
	cmp	r3, #0
	bne	.L877
	ldr	r3, .L882
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #10
	bne	.L878
	ldr	r3, .L882+8
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, .L882+8
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	ldr	r1, .L882+8
	ldr	r4, [r1]
	mov	r1, r3
	mov	r0, r2
	bl	add_line
	mov	r3, r0
	str	r3, [r4, #48]
	ldr	r3, .L882+8
	ldr	r3, [r3]
	mov	r2, #1
	str	r2, [r3, #32]
	ldr	r3, .L882+8
	ldr	r3, [r3]
	ldr	r2, [r3, #20]
	ldr	r3, .L882+8
	ldr	r3, [r3]
	add	r2, r2, #1
	str	r2, [r3, #20]
	b	.L879
.L878:
	ldr	r3, [fp, #-24]
	bic	r2, r3, #-16777216
	bic	r2, r2, #14680064
	ldr	r3, [fp, #-32]
	lsl	r2, r2, #11
	lsl	r3, r3, #21
	lsr	r3, r3, #21
	orr	r3, r3, r2
	str	r3, [fp, #-32]
	ldrh	r3, [fp, #-32]	@ movhi
	bic	r3, r3, #2032
	strh	r3, [fp, #-32]	@ movhi
	ldr	r0, [fp, #-24]
	bl	codepoint_width
	mov	r3, r0
	and	r3, r3, #15
	and	r2, r3, #255
	ldrb	r3, [fp, #-32]
	and	r2, r2, #15
	bic	r3, r3, #15
	orr	r3, r2, r3
	strb	r3, [fp, #-32]
	ldr	r3, .L882+8
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, .L882+8
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	ldr	r3, .L882+8
	ldr	r3, [r3]
	ldr	r3, [r3, #32]
	sub	r2, r3, #1
	ldr	r3, .L882+8
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #1
	ldr	r1, [fp, #-32]
	ldr	r0, [fp, #-20]
	bl	line_insert
	str	r0, [fp, #-16]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	beq	.L880
	ldr	r3, .L882+8
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, .L882+8
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-16]
	str	r2, [r3]
.L880:
	ldr	r3, .L882+8
	ldr	r3, [r3]
	ldr	r2, [r3, #32]
	ldr	r3, .L882+8
	ldr	r3, [r3]
	add	r2, r2, #1
	str	r2, [r3, #32]
	b	.L879
.L877:
	ldr	r3, .L882+4
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L879
	ldr	r3, .L882+4
	mov	r2, #0
	str	r2, [r3]
.L879:
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L876:
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-44]
	cmp	r2, r3
	blt	.L881
	nop
	nop
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L883:
	.align	2
.L882:
	.word	codepoint_r
	.word	state
	.word	env
	.size	add_buffer, .-add_buffer
	.align	2
	.global	match_syntax
	.syntax unified
	.arm
	.fpu softvfp
	.type	match_syntax, %function
match_syntax:
	@ 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]
	ldr	r3, .L897
	str	r3, [fp, #-20]
	b	.L885
.L894:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-16]
	b	.L886
.L893:
	ldr	r0, [fp, #-24]
	bl	strlen
	mov	r3, r0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	str	r3, [fp, #-8]
.L892:
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-16]
	ldr	r1, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r2, r3
	bne	.L895
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L889
	ldr	r3, [fp, #-20]
	b	.L890
.L889:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L896
	ldr	r3, [fp, #-12]
	sub	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-8]
	sub	r3, r3, #1
	str	r3, [fp, #-8]
	b	.L892
.L895:
	nop
	b	.L888
.L896:
	nop
.L888:
	ldr	r3, [fp, #-16]
	add	r3, r3, #4
	str	r3, [fp, #-16]
.L886:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L893
	ldr	r3, [fp, #-20]
	add	r3, r3, #28
	str	r3, [fp, #-20]
.L885:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L894
	mov	r3, #0
.L890:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L898:
	.align	2
.L897:
	.word	syntaxes
	.size	match_syntax, .-match_syntax
	.align	2
	.global	is_all_numbers
	.syntax unified
	.arm
	.fpu softvfp
	.type	is_all_numbers, %function
is_all_numbers:
	@ 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]
	b	.L900
.L903:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #2048
	cmp	r3, #0
	bne	.L901
	mov	r3, #0
	b	.L902
.L901:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L900:
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L903
	mov	r3, #1
.L902:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	is_all_numbers, .-is_all_numbers
	.section	.rodata
	.align	2
.LC389:
	.ascii	"-\000"
	.align	2
.LC390:
	.ascii	"r\000"
	.align	2
.LC391:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	open_file
	.syntax unified
	.arm
	.fpu softvfp
	.type	open_file, %function
open_file:
	@ args = 0, pretend = 0, frame = 4144
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #4096
	sub	sp, sp, #52
	sub	r3, fp, #4096
	sub	r3, r3, #12
	str	r0, [r3, #-44]
	ldr	r3, .L929
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	bl	buffer_new
	mov	r3, r0
	ldr	r2, .L929+4
	str	r3, [r2]
	ldr	r3, .L929+4
	ldr	r2, [r3]
	ldrb	r3, [r2]
	orr	r3, r3, #1
	strb	r3, [r2]
	ldr	r3, .L929+4
	ldr	r3, [r3]
	mov	r0, r3
	bl	setup_buffer
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #1
	str	r3, [r2, #-36]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r1, .L929+8
	ldr	r0, [r3, #-44]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L905
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	ldr	r3, .L929+12
	ldr	r3, [r3]
	str	r3, [r2, #-40]
	ldr	r3, .L929+16
	mov	r2, #2
	str	r2, [r3, #32]
	ldr	r3, .L929+4
	ldr	r2, [r3]
	ldrb	r3, [r2]
	orr	r3, r3, #4
	strb	r3, [r2]
	b	.L906
.L905:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r4, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r1, #58
	ldr	r0, [r3, #-44]
	bl	strrchr
	str	r0, [r4, #-12]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-12]
	cmp	r3, #0
	beq	.L907
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-12]
	add	r3, r3, #1
	mov	r0, r3
	bl	is_all_numbers
	mov	r3, r0
	cmp	r3, #0
	beq	.L907
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-12]
	mov	r2, #0
	strb	r2, [r3]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-12]
	add	r3, r3, #1
	str	r3, [r2, #-12]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r4, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r0, [r3, #-12]
	bl	atoi
	str	r0, [r4, #-36]
.L907:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r4, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r1, .L929+20
	ldr	r0, [r3, #-44]
	bl	fopen
	str	r0, [r4, #-40]
	ldr	r3, .L929+4
	ldr	r4, [r3]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r0, [r3, #-44]
	bl	strdup
	mov	r3, r0
	str	r3, [r4, #8]
.L906:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-40]
	cmp	r3, #0
	bne	.L908
	ldr	r3, .L929+16
	ldr	r3, [r3, #12]
	cmp	r3, #0
	beq	.L909
	ldr	r3, .L929+4
	ldr	r4, [r3]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r0, [r3, #-44]
	bl	match_syntax
	mov	r3, r0
	str	r3, [r4, #44]
.L909:
	ldr	r3, .L929+4
	ldr	r2, [r3]
	ldrb	r3, [r2]
	bic	r3, r3, #1
	strb	r3, [r2]
	b	.L904
.L908:
	ldr	r3, .L929+24
	mov	r2, #0
	str	r2, [r3]
	b	.L911
.L913:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r4, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	sub	r0, fp, #4096
	sub	r0, r0, #12
	sub	r0, r0, #4
	ldr	r3, [r3, #-40]
	mov	r2, #4096
	mov	r1, #1
	bl	fread
	str	r0, [r4, #-8]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r2, [r3, #-8]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	sub	r3, r3, #4
	mov	r1, r2
	mov	r0, r3
	bl	add_buffer
.L911:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r0, [r3, #-40]
	bl	feof
	mov	r3, r0
	cmp	r3, #0
	bne	.L912
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r0, [r3, #-40]
	bl	ferror
	mov	r3, r0
	cmp	r3, #0
	beq	.L913
.L912:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r0, [r3, #-40]
	bl	ferror
	mov	r3, r0
	cmp	r3, #0
	beq	.L914
	ldr	r3, .L929+4
	ldr	r2, [r3]
	ldrb	r3, [r2]
	bic	r3, r3, #1
	strb	r3, [r2]
	b	.L904
.L914:
	ldr	r3, .L929+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	beq	.L915
	ldr	r3, .L929+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, .L929+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L915
	ldr	r3, .L929+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, .L929+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L915
	ldr	r3, .L929+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, .L929+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #1
	mov	r1, r3
	mov	r0, r2
	bl	remove_line
.L915:
	ldr	r3, .L929+16
	ldr	r3, [r3, #12]
	cmp	r3, #0
	beq	.L916
	ldr	r3, .L929+4
	ldr	r4, [r3]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r0, [r3, #-44]
	bl	match_syntax
	mov	r3, r0
	str	r3, [r4, #44]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-32]
	b	.L917
.L918:
	ldr	r3, .L929+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-32]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	sub	r2, fp, #4096
	sub	r2, r2, #12
	ldr	r1, [r2, #-32]
	mov	r0, r3
	bl	recalculate_syntax
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-32]
	add	r3, r3, #1
	str	r3, [r2, #-32]
.L917:
	ldr	r3, .L929+4
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	sub	r2, fp, #4096
	sub	r2, r2, #12
	ldr	r2, [r2, #-32]
	cmp	r2, r3
	blt	.L918
.L916:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-28]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-24]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-20]
	b	.L919
.L922:
	ldr	r3, .L929+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-20]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	cmp	r3, #1
	ble	.L920
	ldr	r3, .L929+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-20]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	bic	r3, r3, #2032
	bic	r3, r3, #15
	cmp	r3, #18432
	bne	.L921
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-28]
	add	r3, r3, #1
	str	r3, [r2, #-28]
.L921:
	ldr	r3, .L929+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-20]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	bic	r3, r3, #2032
	bic	r3, r3, #15
	cmp	r3, #65536
	bne	.L920
	ldr	r3, .L929+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-20]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #16]
	bic	r3, r3, #2032
	bic	r3, r3, #15
	cmp	r3, #65536
	bne	.L920
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-24]
	add	r3, r3, #1
	str	r3, [r2, #-24]
.L920:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-20]
	add	r3, r3, #1
	str	r3, [r2, #-20]
.L919:
	ldr	r3, .L929+4
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	sub	r2, fp, #4096
	sub	r2, r2, #12
	ldr	r2, [r2, #-20]
	cmp	r2, r3
	blt	.L922
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r2, [r2, #-24]
	ldr	r3, [r3, #-28]
	cmp	r2, r3
	ble	.L923
	ldr	r3, .L929+4
	ldr	r2, [r3]
	ldrb	r3, [r2]
	bic	r3, r3, #2
	strb	r3, [r2]
.L923:
	ldr	r3, .L929+4
	ldr	r2, [r3]
	ldrb	r3, [r2]
	bic	r3, r3, #1
	strb	r3, [r2]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-16]
	b	.L924
.L925:
	ldr	r3, .L929+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-16]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	recalculate_tabs
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-16]
	add	r3, r3, #1
	str	r3, [r2, #-16]
.L924:
	ldr	r3, .L929+4
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	sub	r2, fp, #4096
	sub	r2, r2, #12
	ldr	r2, [r2, #-16]
	cmp	r2, r3
	blt	.L925
	ldr	r3, .L929+16
	ldr	r3, [r3, #100]
	cmp	r3, #0
	beq	.L926
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r0, [r3, #-36]
	bl	goto_line
.L926:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r0, [r3, #-40]
	bl	fclose
.L904:
	ldr	r3, .L929
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L928
	bl	__stack_chk_fail
.L928:
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L930:
	.align	2
.L929:
	.word	.LC391
	.word	env
	.word	.LC389
	.word	stdin
	.word	global_config
	.word	.LC390
	.word	state
	.size	open_file, .-open_file
	.align	2
	.global	quit
	.syntax unified
	.arm
	.fpu softvfp
	.type	quit, %function
quit:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	bl	mouse_disable
	bl	set_buffered
	bl	reset
	bl	clear_screen
	bl	show_cursor
	bl	unset_alternate_screen
	mov	r0, #0
	bl	exit
	.size	quit, .-quit
	.section	.rodata
	.align	2
.LC392:
	.ascii	"Modifications made to file `%s` in tab %d. Aborting"
	.ascii	".\000"
	.align	2
.LC393:
	.ascii	"Unsaved new file in tab %d. Aborting.\000"
	.text
	.align	2
	.global	try_quit
	.syntax unified
	.arm
	.fpu softvfp
	.type	try_quit, %function
try_quit:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L933
.L938:
	ldr	r3, .L939
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #4
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L934
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	beq	.L935
	ldr	r3, [fp, #-8]
	ldr	r1, [r3, #8]
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	mov	r2, r3
	ldr	r0, .L939+4
	bl	render_error
	b	.L932
.L935:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	mov	r1, r3
	ldr	r0, .L939+8
	bl	render_error
	b	.L932
.L934:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L933:
	ldr	r3, .L939+12
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	blt	.L938
	bl	quit
.L932:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L940:
	.align	2
.L939:
	.word	buffers
	.word	.LC392
	.word	.LC393
	.word	buffers_len
	.size	try_quit, .-try_quit
	.align	2
	.global	previous_tab
	.syntax unified
	.arm
	.fpu softvfp
	.type	previous_tab, %function
previous_tab:
	@ 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, #-16]
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L942
.L946:
	ldr	r3, .L947
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, .L947+4
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	bne	.L943
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L944
	ldr	r2, .L947+4
	ldr	r3, [fp, #-16]
	str	r3, [r2]
	bl	redraw_all
	b	.L941
.L944:
	ldr	r3, .L947
	ldr	r2, [r3]
	ldr	r3, .L947+8
	ldr	r3, [r3]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, .L947+4
	str	r3, [r2]
	bl	redraw_all
	b	.L941
.L943:
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L942:
	ldr	r3, .L947+8
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	blt	.L946
.L941:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L948:
	.align	2
.L947:
	.word	buffers
	.word	env
	.word	buffers_len
	.size	previous_tab, .-previous_tab
	.align	2
	.global	next_tab
	.syntax unified
	.arm
	.fpu softvfp
	.type	next_tab, %function
next_tab:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L950
.L954:
	ldr	r3, .L955
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, .L955+4
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	bne	.L951
	ldr	r3, .L955+8
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	beq	.L952
	ldr	r3, .L955
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, .L955+4
	str	r3, [r2]
	bl	redraw_all
	b	.L949
.L952:
	ldr	r3, .L955
	ldr	r3, [r3]
	ldr	r3, [r3]
	ldr	r2, .L955+4
	str	r3, [r2]
	bl	redraw_all
	b	.L949
.L951:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L950:
	ldr	r3, .L955+8
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	blt	.L954
.L949:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L956:
	.align	2
.L955:
	.word	buffers
	.word	env
	.word	buffers_len
	.size	next_tab, .-next_tab
	.section	.rodata
	.align	2
.LC394:
	.ascii	"Need a file to write to.\000"
	.align	2
.LC395:
	.ascii	"w+\000"
	.align	2
.LC396:
	.ascii	"Failed to open file for writing.\000"
	.align	2
.LC397:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	write_file
	.syntax unified
	.arm
	.fpu softvfp
	.type	write_file, %function
write_file:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #52
	str	r0, [fp, #-56]
	ldr	r3, .L969
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	bne	.L958
	ldr	r0, .L969+4
	bl	render_error
	b	.L957
.L958:
	ldr	r1, .L969+8
	ldr	r0, [fp, #-56]
	bl	fopen
	str	r0, [fp, #-36]
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	bne	.L960
	ldr	r0, .L969+12
	bl	render_error
	b	.L957
.L960:
	mov	r3, #0
	str	r3, [fp, #-44]
	b	.L961
.L966:
	ldr	r3, .L969+16
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	mov	r3, #0
	str	r3, [fp, #-40]
	b	.L962
.L965:
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-40]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	lsr	r3, r3, #11
	cmp	r3, #0
	bne	.L963
	mov	r3, #0
	strb	r3, [fp, #-24]
	sub	r0, fp, #24
	ldr	r3, [fp, #-36]
	mov	r2, #1
	mov	r1, #1
	bl	fwrite
	b	.L964
.L963:
	mov	r3, #0
	str	r3, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-48]
	lsr	r3, r3, #11
	mov	r2, r3
	sub	r3, fp, #24
	mov	r1, r3
	mov	r0, r2
	bl	to_eight
	str	r0, [fp, #-28]
	ldr	r1, [fp, #-28]
	sub	r0, fp, #24
	ldr	r3, [fp, #-36]
	mov	r2, #1
	bl	fwrite
.L964:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
.L962:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-40]
	cmp	r2, r3
	blt	.L965
	ldr	r1, [fp, #-36]
	mov	r0, #10
	bl	fputc
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L961:
	ldr	r3, .L969+16
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	ldr	r2, [fp, #-44]
	cmp	r2, r3
	blt	.L966
	ldr	r0, [fp, #-36]
	bl	fclose
	ldr	r3, .L969+16
	ldr	r2, [r3]
	ldrb	r3, [r2]
	bic	r3, r3, #4
	strb	r3, [r2]
	ldr	r3, .L969+16
	ldr	r2, [r3]
	ldr	r3, .L969+16
	ldr	r3, [r3]
	ldr	r2, [r2, #52]
	str	r2, [r3, #56]
	ldr	r3, .L969+16
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L967
	ldr	r0, [fp, #-56]
	bl	strlen
	mov	r3, r0
	add	r3, r3, #1
	ldr	r2, .L969+16
	ldr	r4, [r2]
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [r4, #8]
	ldr	r3, .L969+16
	ldr	r3, [r3]
	ldr	r4, [r3, #8]
	ldr	r0, [fp, #-56]
	bl	strlen
	mov	r3, r0
	add	r3, r3, #1
	mov	r2, r3
	ldr	r1, [fp, #-56]
	mov	r0, r4
	bl	memcpy
.L967:
	bl	update_title
	bl	redraw_all
.L957:
	ldr	r3, .L969
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L968
	bl	__stack_chk_fail
.L968:
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L970:
	.align	2
.L969:
	.word	.LC397
	.word	.LC394
	.word	.LC395
	.word	.LC396
	.word	env
	.size	write_file, .-write_file
	.section	.rodata
	.align	2
.LC398:
	.ascii	"lolwat\000"
	.text
	.align	2
	.global	close_buffer
	.syntax unified
	.arm
	.fpu softvfp
	.type	close_buffer, %function
close_buffer:
	@ 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, .L974
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, .L974
	ldr	r3, [r3]
	mov	r0, r3
	bl	buffer_close
	str	r0, [fp, #-8]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	bne	.L972
	ldr	r0, .L974+4
	bl	render_error
.L972:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L973
	bl	quit
.L973:
	ldr	r0, [fp, #-12]
	bl	free
	ldr	r2, .L974
	ldr	r3, [fp, #-8]
	str	r3, [r2]
	bl	redraw_all
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L975:
	.align	2
.L974:
	.word	env
	.word	.LC398
	.size	close_buffer, .-close_buffer
	.align	2
	.global	set_preferred_column
	.syntax unified
	.arm
	.fpu softvfp
	.type	set_preferred_column, %function
set_preferred_column:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	mov	r3, #0
	str	r3, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L977
.L979:
	ldr	r3, .L980
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, .L980
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldrb	r3, [r3, #4]
	and	r3, r3, #15
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-12]
	add	r3, r3, r2
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L977:
	ldr	r3, .L980
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, .L980
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	bge	.L978
	ldr	r3, .L980
	ldr	r3, [r3]
	ldr	r3, [r3, #32]
	sub	r3, r3, #1
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	blt	.L979
.L978:
	ldr	r3, .L980
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #36]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L981:
	.align	2
.L980:
	.word	env
	.size	set_preferred_column, .-set_preferred_column
	.align	2
	.global	cursor_down
	.syntax unified
	.arm
	.fpu softvfp
	.type	cursor_down, %function
cursor_down:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	ldr	r3, .L998
	ldr	r3, [r3]
	ldr	r2, [r3, #20]
	ldr	r3, .L998
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	cmp	r2, r3
	bge	.L982
	ldr	r3, .L998
	ldr	r3, [r3]
	ldr	r2, [r3, #20]
	ldr	r3, .L998
	ldr	r3, [r3]
	add	r2, r2, #1
	str	r2, [r3, #20]
	mov	r3, #0
	str	r3, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L984
.L987:
	ldr	r3, .L998
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, .L998
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	add	r3, r3, #4
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3]
	and	r3, r3, #15
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-24]
	add	r3, r3, r2
	str	r3, [fp, #-24]
	ldr	r3, .L998
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	add	r2, r2, #1
	str	r2, [r3, #32]
	ldr	r3, .L998
	ldr	r3, [r3]
	ldr	r3, [r3, #36]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	bgt	.L997
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L984:
	ldr	r3, .L998
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, .L998
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	blt	.L987
	b	.L986
.L997:
	nop
.L986:
	ldr	r3, .L998
	ldr	r3, [r3]
	ldrsh	r3, [r3, #2]
	cmp	r3, #1
	bne	.L988
	ldr	r3, .L998
	ldr	r3, [r3]
	ldr	r3, [r3, #36]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	bgt	.L988
	ldr	r3, .L998
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, .L998
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	ldr	r3, .L998
	ldr	r3, [r3]
	add	r2, r2, #1
	str	r2, [r3, #32]
.L988:
	ldr	r3, .L998
	ldr	r3, [r3]
	ldr	r2, [r3, #32]
	ldr	r3, .L998
	ldr	r3, [r3]
	ldr	r1, [r3, #48]
	ldr	r3, .L998
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r1, .L998
	ldr	r1, [r1]
	ldrsh	r1, [r1, #2]
	cmp	r1, #1
	moveq	r1, #1
	movne	r1, #0
	and	r1, r1, #255
	add	r3, r3, r1
	cmp	r2, r3
	ble	.L989
	ldr	r3, .L998
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, .L998
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	ldr	r3, .L998
	ldr	r3, [r3]
	ldrsh	r3, [r3, #2]
	cmp	r3, #1
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	mov	r1, r3
	ldr	r3, .L998
	ldr	r3, [r3]
	add	r2, r2, r1
	str	r2, [r3, #32]
	ldr	r3, .L998
	ldr	r3, [r3]
	ldr	r3, [r3, #32]
	cmp	r3, #0
	bne	.L989
	ldr	r3, .L998
	ldr	r3, [r3]
	mov	r2, #1
	str	r2, [r3, #32]
.L989:
	mov	r3, #0
	str	r3, [fp, #-16]
	ldr	r3, .L998
	ldr	r3, [r3]
	ldr	r3, [r3, #16]
	cmp	r3, #0
	beq	.L990
	ldr	r3, .L998
	ldr	r3, [r3]
	mov	r2, #0
	str	r2, [r3, #16]
	mov	r3, #1
	str	r3, [fp, #-16]
.L990:
	ldr	r3, .L998
	ldr	r3, [r3]
	ldr	r2, [r3, #20]
	ldr	r3, .L998
	ldr	r3, [r3]
	ldr	r1, [r3, #12]
	ldr	r3, .L998+4
	ldr	r3, [r3, #4]
	add	r1, r1, r3
	ldr	r3, .L998+4
	ldr	r3, [r3, #8]
	sub	r3, r1, r3
	sub	r1, r3, #1
	ldr	r3, .L998+4
	ldr	r3, [r3, #76]
	sub	r3, r1, r3
	cmp	r2, r3
	ble	.L991
	ldr	r3, .L998
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, .L998
	ldr	r3, [r3]
	add	r2, r2, #1
	str	r2, [r3, #12]
	ldr	r3, .L998+4
	ldr	r3, [r3, #40]
	cmp	r3, #0
	beq	.L992
	bl	shift_up
	ldr	r3, .L998+4
	ldr	r2, [r3, #4]
	ldr	r3, .L998+4
	ldr	r3, [r3, #8]
	sub	r3, r2, r3
	sub	r3, r3, #1
	str	r3, [fp, #-8]
	ldr	r3, .L998
	ldr	r3, [r3]
	ldr	r2, [r3, #24]
	ldr	r3, .L998
	ldr	r3, [r3]
	ldr	r1, [r3, #12]
	ldr	r3, [fp, #-8]
	add	r3, r1, r3
	cmp	r2, r3
	blt	.L993
	ldr	r3, [fp, #-8]
	sub	r0, r3, #1
	ldr	r3, .L998
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	sub	r3, r3, #1
	mov	r1, r3
	bl	redraw_line
	b	.L994
.L993:
	ldr	r3, [fp, #-8]
	sub	r3, r3, #1
	mov	r0, r3
	bl	draw_excess_line
.L994:
	bl	redraw_tabbar
	bl	redraw_statusbar
	bl	redraw_commandline
	bl	place_cursor_actual
	b	.L982
.L992:
	bl	redraw_all
	b	.L982
.L991:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L996
	bl	redraw_text
.L996:
	bl	redraw_statusbar
	bl	place_cursor_actual
.L982:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L999:
	.align	2
.L998:
	.word	env
	.word	global_config
	.size	cursor_down, .-cursor_down
	.align	2
	.global	cursor_up
	.syntax unified
	.arm
	.fpu softvfp
	.type	cursor_up, %function
cursor_up:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	ldr	r3, .L1016
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	cmp	r3, #1
	ble	.L1000
	ldr	r3, .L1016
	ldr	r3, [r3]
	ldr	r2, [r3, #20]
	ldr	r3, .L1016
	ldr	r3, [r3]
	sub	r2, r2, #1
	str	r2, [r3, #20]
	mov	r3, #0
	str	r3, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L1002
.L1005:
	ldr	r3, .L1016
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, .L1016
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	add	r3, r3, #4
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3]
	and	r3, r3, #15
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-24]
	add	r3, r3, r2
	str	r3, [fp, #-24]
	ldr	r3, .L1016
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	add	r2, r2, #1
	str	r2, [r3, #32]
	ldr	r3, .L1016
	ldr	r3, [r3]
	ldr	r3, [r3, #36]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	bgt	.L1015
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L1002:
	ldr	r3, .L1016
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, .L1016
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	blt	.L1005
	b	.L1004
.L1015:
	nop
.L1004:
	ldr	r3, .L1016
	ldr	r3, [r3]
	ldrsh	r3, [r3, #2]
	cmp	r3, #1
	bne	.L1006
	ldr	r3, .L1016
	ldr	r3, [r3]
	ldr	r3, [r3, #36]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	bgt	.L1006
	ldr	r3, .L1016
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, .L1016
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	ldr	r3, .L1016
	ldr	r3, [r3]
	add	r2, r2, #1
	str	r2, [r3, #32]
.L1006:
	ldr	r3, .L1016
	ldr	r3, [r3]
	ldr	r2, [r3, #32]
	ldr	r3, .L1016
	ldr	r3, [r3]
	ldr	r1, [r3, #48]
	ldr	r3, .L1016
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r1, .L1016
	ldr	r1, [r1]
	ldrsh	r1, [r1, #2]
	cmp	r1, #1
	moveq	r1, #1
	movne	r1, #0
	and	r1, r1, #255
	add	r3, r3, r1
	cmp	r2, r3
	ble	.L1007
	ldr	r3, .L1016
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, .L1016
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	ldr	r3, .L1016
	ldr	r3, [r3]
	ldrsh	r3, [r3, #2]
	cmp	r3, #1
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	mov	r1, r3
	ldr	r3, .L1016
	ldr	r3, [r3]
	add	r2, r2, r1
	str	r2, [r3, #32]
	ldr	r3, .L1016
	ldr	r3, [r3]
	ldr	r3, [r3, #32]
	cmp	r3, #0
	bne	.L1007
	ldr	r3, .L1016
	ldr	r3, [r3]
	mov	r2, #1
	str	r2, [r3, #32]
.L1007:
	mov	r3, #0
	str	r3, [fp, #-16]
	ldr	r3, .L1016
	ldr	r3, [r3]
	ldr	r3, [r3, #16]
	cmp	r3, #0
	beq	.L1008
	ldr	r3, .L1016
	ldr	r3, [r3]
	mov	r2, #0
	str	r2, [r3, #16]
	mov	r3, #1
	str	r3, [fp, #-16]
.L1008:
	ldr	r3, .L1016
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	bne	.L1009
	ldr	r3, .L1016
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	b	.L1010
.L1009:
	ldr	r3, .L1016
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, .L1016+4
	ldr	r3, [r3, #76]
	add	r3, r2, r3
.L1010:
	str	r3, [fp, #-8]
	ldr	r3, .L1016
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	blt	.L1011
	ldr	r3, .L1016
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, .L1016
	ldr	r3, [r3]
	sub	r2, r2, #1
	str	r2, [r3, #12]
	ldr	r3, .L1016+4
	ldr	r3, [r3, #40]
	cmp	r3, #0
	beq	.L1012
	bl	shift_down
	ldr	r3, .L1016
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	mov	r1, r3
	mov	r0, #0
	bl	redraw_line
	bl	redraw_tabbar
	bl	redraw_statusbar
	bl	redraw_commandline
	bl	place_cursor_actual
	b	.L1000
.L1012:
	bl	redraw_all
	b	.L1000
.L1011:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L1014
	bl	redraw_text
.L1014:
	bl	redraw_statusbar
	bl	place_cursor_actual
.L1000:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1017:
	.align	2
.L1016:
	.word	env
	.word	global_config
	.size	cursor_up, .-cursor_up
	.align	2
	.global	cursor_left
	.syntax unified
	.arm
	.fpu softvfp
	.type	cursor_left, %function
cursor_left:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L1020
	ldr	r3, [r3]
	ldr	r3, [r3, #32]
	cmp	r3, #1
	ble	.L1019
	ldr	r3, .L1020
	ldr	r3, [r3]
	ldr	r2, [r3, #32]
	ldr	r3, .L1020
	ldr	r3, [r3]
	sub	r2, r2, #1
	str	r2, [r3, #32]
	bl	redraw_statusbar
	bl	place_cursor_actual
.L1019:
	bl	set_preferred_column
	nop
	pop	{fp, pc}
.L1021:
	.align	2
.L1020:
	.word	env
	.size	cursor_left, .-cursor_left
	.align	2
	.global	cursor_right
	.syntax unified
	.arm
	.fpu softvfp
	.type	cursor_right, %function
cursor_right:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L1024
	ldr	r3, [r3]
	ldr	r2, [r3, #32]
	ldr	r3, .L1024
	ldr	r3, [r3]
	ldr	r1, [r3, #48]
	ldr	r3, .L1024
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r1, .L1024
	ldr	r1, [r1]
	ldrsh	r1, [r1, #2]
	cmp	r1, #1
	moveq	r1, #1
	movne	r1, #0
	and	r1, r1, #255
	add	r3, r3, r1
	cmp	r2, r3
	bge	.L1023
	ldr	r3, .L1024
	ldr	r3, [r3]
	ldr	r2, [r3, #32]
	ldr	r3, .L1024
	ldr	r3, [r3]
	add	r2, r2, #1
	str	r2, [r3, #32]
	bl	redraw_statusbar
	bl	place_cursor_actual
.L1023:
	bl	set_preferred_column
	nop
	pop	{fp, pc}
.L1025:
	.align	2
.L1024:
	.word	env
	.size	cursor_right, .-cursor_right
	.align	2
	.global	cursor_home
	.syntax unified
	.arm
	.fpu softvfp
	.type	cursor_home, %function
cursor_home:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L1027
	ldr	r3, [r3]
	mov	r2, #1
	str	r2, [r3, #32]
	bl	set_preferred_column
	bl	redraw_statusbar
	bl	place_cursor_actual
	nop
	pop	{fp, pc}
.L1028:
	.align	2
.L1027:
	.word	env
	.size	cursor_home, .-cursor_home
	.align	2
	.global	cursor_end
	.syntax unified
	.arm
	.fpu softvfp
	.type	cursor_end, %function
cursor_end:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L1030
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, .L1030
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	ldr	r3, .L1030
	ldr	r3, [r3]
	ldrsh	r3, [r3, #2]
	cmp	r3, #1
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	mov	r1, r3
	ldr	r3, .L1030
	ldr	r3, [r3]
	add	r2, r2, r1
	str	r2, [r3, #32]
	bl	set_preferred_column
	bl	redraw_statusbar
	bl	place_cursor_actual
	nop
	pop	{fp, pc}
.L1031:
	.align	2
.L1030:
	.word	env
	.size	cursor_end, .-cursor_end
	.align	2
	.global	leave_insert
	.syntax unified
	.arm
	.fpu softvfp
	.type	leave_insert, %function
leave_insert:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L1035
	ldr	r3, [r3]
	ldr	r2, [r3, #32]
	ldr	r3, .L1035
	ldr	r3, [r3]
	ldr	r1, [r3, #48]
	ldr	r3, .L1035
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	cmp	r2, r3
	ble	.L1033
	ldr	r3, .L1035
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, .L1035
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, .L1035
	ldr	r3, [r3]
	ldr	r2, [r2, #4]
	str	r2, [r3, #32]
	ldr	r3, .L1035
	ldr	r3, [r3]
	ldr	r3, [r3, #32]
	cmp	r3, #0
	bne	.L1034
	ldr	r3, .L1035
	ldr	r3, [r3]
	mov	r2, #1
	str	r2, [r3, #32]
.L1034:
	bl	set_preferred_column
.L1033:
	bl	set_history_break
	ldr	r3, .L1035
	ldr	r3, [r3]
	mov	r2, #0
	strh	r2, [r3, #2]	@ movhi
	bl	redraw_commandline
	nop
	pop	{fp, pc}
.L1036:
	.align	2
.L1035:
	.word	env
	.size	leave_insert, .-leave_insert
	.section	.rodata
	.align	2
.LC399:
	.ascii	"\012\000"
	.align	2
.LC400:
	.ascii	"\012\012Press ENTER to continue.\000"
	.align	2
.LC401:
	.ascii	" \000"
	.align	2
.LC402:
	.ascii	"e\000"
	.align	2
.LC403:
	.ascii	"Expected a file to open...\000"
	.align	2
.LC404:
	.ascii	"tabnew\000"
	.align	2
.LC405:
	.ascii	"w\000"
	.align	2
.LC406:
	.ascii	"wq\000"
	.align	2
.LC407:
	.ascii	"q\000"
	.align	2
.LC408:
	.ascii	"No write since last change. Use :q! to force exit.\000"
	.align	2
.LC409:
	.ascii	"q!\000"
	.align	2
.LC410:
	.ascii	"qa\000"
	.align	2
.LC411:
	.ascii	"qall\000"
	.align	2
.LC412:
	.ascii	"qa!\000"
	.align	2
.LC413:
	.ascii	"tabp\000"
	.align	2
.LC414:
	.ascii	"tabn\000"
	.align	2
.LC415:
	.ascii	"indent\000"
	.align	2
.LC416:
	.ascii	"noindent\000"
	.align	2
.LC417:
	.ascii	"cursorcolumn\000"
	.align	2
.LC418:
	.ascii	"cursorcolumn=%d\000"
	.align	2
.LC419:
	.ascii	"noh\000"
	.align	2
.LC420:
	.ascii	" \033[1mbim - The standard ToaruOS Text Editor\033["
	.ascii	"22m\012\000"
	.align	2
.LC421:
	.ascii	" Available commands:\012\000"
	.align	2
.LC422:
	.ascii	"   Quit with \033[3m:q\033[23m, \033[3m:qa\033[23m,"
	.ascii	" \033[3m:q!\033[23m, \033[3m:qa!\033[23m\012\000"
	.align	2
.LC423:
	.ascii	"   Write out with \033[3m:w \033[4mfile\033[24;23m\012"
	.ascii	"\000"
	.align	2
.LC424:
	.ascii	"   Set syntax with \033[3m:syntax \033[4mlanguage\033"
	.ascii	"[24;23m\012\000"
	.align	2
.LC425:
	.ascii	"   Open a new tab with \033[3m:e \033[4mpath/to/fil"
	.ascii	"e\033[24;23m\012\000"
	.align	2
.LC426:
	.ascii	"   \033[3m:tabn\033[23m and \033[3m:tabp\033[23m ca"
	.ascii	"n be used to switch tabs\012\000"
	.align	2
.LC427:
	.ascii	"   Set the color scheme with \033[3m:theme \033[4mt"
	.ascii	"heme\033[24;23m\012\000"
	.align	2
.LC428:
	.ascii	"   Set the behavior of the tab key with \033[3m:tab"
	.ascii	"s\033[23m or \033[3m:spaces\033[23m\012\000"
	.align	2
.LC429:
	.ascii	"   Set tabstop with \033[3m:tabstop \033[4mwidth\033"
	.ascii	"[24;23m\012\000"
	.align	2
.LC430:
	.ascii	"Copyright 2012-2018 K. Lange <\033[3mklange@toaruos"
	.ascii	".org\033[23m>\000"
	.align	2
.LC431:
	.ascii	" %s\012\000"
	.align	2
.LC432:
	.ascii	"theme=%s\000"
	.align	2
.LC433:
	.ascii	"syntax\000"
	.align	2
.LC434:
	.ascii	"syntax=%s\000"
	.align	2
.LC435:
	.ascii	"unrecognized syntax type\000"
	.align	2
.LC436:
	.ascii	"recalc\000"
	.align	2
.LC437:
	.ascii	"tabs\000"
	.align	2
.LC438:
	.ascii	"spaces\000"
	.align	2
.LC439:
	.ascii	"tabstop\000"
	.align	2
.LC440:
	.ascii	"tabstop=%d\000"
	.align	2
.LC441:
	.ascii	"Invalid tabstop: %s\000"
	.align	2
.LC442:
	.ascii	"clearyank\000"
	.align	2
.LC443:
	.ascii	"padding=%d\000"
	.align	2
.LC444:
	.ascii	"smartcase\000"
	.align	2
.LC445:
	.ascii	"smartcase=%d\000"
	.align	2
.LC446:
	.ascii	"hlparen\000"
	.align	2
.LC447:
	.ascii	"hlparen=%d\000"
	.align	2
.LC448:
	.ascii	"Not an editor command: %s\000"
	.align	2
.LC449:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	process_command
	.syntax unified
	.arm
	.fpu softvfp
	.type	process_command, %function
process_command:
	@ args = 0, pretend = 0, frame = 2136
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #2128
	sub	sp, sp, #8
	str	r0, [fp, #-2136]
	ldr	r3, .L1120
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-2136]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #33
	bne	.L1038
	bl	reset
	ldr	r0, .L1120+4
	bl	puts
	bl	set_buffered
	ldr	r3, [fp, #-2136]
	add	r3, r3, #1
	mov	r0, r3
	bl	system
	bl	set_unbuffered
	ldr	r0, .L1120+8
	bl	printf
	ldr	r3, .L1120+12
	ldr	r3, [r3]
	mov	r0, r3
	bl	fflush
	nop
.L1041:
	mov	r0, #200
	bl	bim_getch_timeout
	str	r0, [fp, #-2060]
	ldr	r3, [fp, #-2060]
	cmp	r3, #13
	beq	.L1039
	ldr	r3, [fp, #-2060]
	cmp	r3, #10
	beq	.L1039
	mov	r3, #1
	b	.L1040
.L1039:
	mov	r3, #0
.L1040:
	cmp	r3, #0
	bne	.L1041
	bl	redraw_all
	b	.L1037
.L1038:
	mov	r3, #0
	str	r3, [fp, #-2120]
	sub	r3, fp, #2112
	sub	r3, r3, #4
	sub	r3, r3, #12
	mov	r2, r3
	ldr	r1, .L1120+16
	ldr	r0, [fp, #-2136]
	bl	strtok_r
	str	r0, [fp, #-2124]
	b	.L1043
.L1045:
	ldr	r3, [fp, #-2120]
	ldr	r2, .L1120+20
	cmp	r3, r2
	bgt	.L1044
	ldr	r3, [fp, #-2120]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r2, [fp, #-2124]
	str	r2, [r3, #-2052]
.L1044:
	sub	r3, fp, #2112
	sub	r3, r3, #4
	sub	r3, r3, #12
	mov	r2, r3
	ldr	r1, .L1120+16
	mov	r0, #0
	bl	strtok_r
	str	r0, [fp, #-2124]
	ldr	r3, [fp, #-2120]
	add	r3, r3, #1
	str	r3, [fp, #-2120]
.L1043:
	ldr	r3, [fp, #-2124]
	cmp	r3, #0
	bne	.L1045
	ldr	r3, [fp, #-2120]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3, #-2052]
	ldr	r3, [fp, #-2120]
	cmp	r3, #0
	ble	.L1119
	ldr	r3, [fp, #-2056]
	ldr	r1, .L1120+24
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L1047
	ldr	r3, [fp, #-2120]
	cmp	r3, #1
	ble	.L1048
	ldr	r3, [fp, #-2052]
	mov	r0, r3
	bl	open_file
	bl	update_title
	b	.L1037
.L1048:
	ldr	r0, .L1120+28
	bl	render_error
	b	.L1037
.L1047:
	ldr	r3, [fp, #-2056]
	ldr	r1, .L1120+32
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L1050
	ldr	r3, [fp, #-2120]
	cmp	r3, #1
	ble	.L1051
	ldr	r3, [fp, #-2052]
	mov	r0, r3
	bl	open_file
	bl	update_title
	b	.L1037
.L1051:
	bl	buffer_new
	mov	r3, r0
	ldr	r2, .L1120+36
	str	r3, [r2]
	ldr	r3, .L1120+36
	ldr	r3, [r3]
	mov	r0, r3
	bl	setup_buffer
	bl	redraw_all
	bl	update_title
	b	.L1037
.L1050:
	ldr	r3, [fp, #-2056]
	ldr	r1, .L1120+40
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L1052
	ldr	r3, [fp, #-2120]
	cmp	r3, #1
	ble	.L1053
	ldr	r3, [fp, #-2052]
	mov	r0, r3
	bl	write_file
	b	.L1037
.L1053:
	ldr	r3, .L1120+36
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	write_file
	b	.L1037
.L1052:
	ldr	r3, [fp, #-2056]
	ldr	r1, .L1120+44
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L1054
	ldr	r3, .L1120+36
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	write_file
	bl	close_buffer
	b	.L1037
.L1054:
	ldr	r3, [fp, #-2056]
	ldr	r1, .L1120+48
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L1055
	ldr	r3, .L1120+36
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #4
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L1056
	ldr	r0, .L1120+52
	bl	render_error
	b	.L1037
.L1056:
	bl	close_buffer
	b	.L1037
.L1055:
	ldr	r3, [fp, #-2056]
	ldr	r1, .L1120+56
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L1057
	bl	close_buffer
	b	.L1037
.L1057:
	ldr	r3, [fp, #-2056]
	ldr	r1, .L1120+60
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	beq	.L1058
	ldr	r3, [fp, #-2056]
	ldr	r1, .L1120+64
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L1059
.L1058:
	bl	try_quit
	b	.L1037
.L1059:
	ldr	r3, [fp, #-2056]
	ldr	r1, .L1120+68
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L1060
	bl	quit
	b	.L1037
.L1060:
	ldr	r3, [fp, #-2056]
	ldr	r1, .L1120+72
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L1061
	bl	previous_tab
	bl	update_title
	b	.L1037
.L1061:
	ldr	r3, [fp, #-2056]
	ldr	r1, .L1120+76
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L1062
	bl	next_tab
	bl	update_title
	b	.L1037
.L1062:
	ldr	r3, [fp, #-2056]
	ldr	r1, .L1120+80
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L1063
	ldr	r3, .L1120+36
	ldr	r2, [r3]
	ldrb	r3, [r2]
	orr	r3, r3, #16
	strb	r3, [r2]
	bl	redraw_statusbar
	b	.L1037
.L1063:
	ldr	r3, [fp, #-2056]
	ldr	r1, .L1120+84
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L1064
	ldr	r3, .L1120+36
	ldr	r2, [r3]
	ldrb	r3, [r2]
	bic	r3, r3, #16
	strb	r3, [r2]
	bl	redraw_statusbar
	b	.L1037
.L1064:
	ldr	r3, [fp, #-2056]
	ldr	r1, .L1120+88
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L1065
	ldr	r3, .L1120+36
	ldr	r3, [r3]
	ldr	r3, [r3, #36]
	mov	r1, r3
	ldr	r0, .L1120+92
	bl	render_status_message
	b	.L1037
.L1065:
	ldr	r3, [fp, #-2056]
	ldr	r1, .L1120+96
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L1066
	ldr	r3, .L1120+36
	ldr	r3, [r3]
	ldr	r3, [r3, #40]
	cmp	r3, #0
	beq	.L1037
	ldr	r3, .L1120+36
	ldr	r3, [r3]
	ldr	r3, [r3, #40]
	mov	r0, r3
	bl	free
	ldr	r3, .L1120+36
	ldr	r3, [r3]
	mov	r2, #0
	str	r2, [r3, #40]
	mov	r3, #0
	str	r3, [fp, #-2116]
	b	.L1067
.L1068:
	ldr	r3, .L1120+36
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-2116]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, [fp, #-2116]
	mov	r0, r3
	bl	recalculate_syntax
	ldr	r3, [fp, #-2116]
	add	r3, r3, #1
	str	r3, [fp, #-2116]
.L1067:
	ldr	r3, .L1120+36
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	ldr	r2, [fp, #-2116]
	cmp	r2, r3
	blt	.L1068
	bl	redraw_text
	b	.L1037
.L1066:
	ldr	r3, [fp, #-2056]
	ldr	r1, .L1120+100
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L1069
	ldr	r0, .L1120+104
	bl	render_commandline_message
	ldr	r0, .L1120+4
	bl	render_commandline_message
	ldr	r0, .L1120+108
	bl	render_commandline_message
	ldr	r0, .L1120+4
	bl	render_commandline_message
	ldr	r0, .L1120+112
	bl	render_commandline_message
	ldr	r0, .L1120+116
	bl	render_commandline_message
	ldr	r0, .L1120+120
	bl	render_commandline_message
	ldr	r0, .L1120+124
	bl	render_commandline_message
	ldr	r0, .L1120+128
	bl	render_commandline_message
	ldr	r0, .L1120+132
	bl	render_commandline_message
	ldr	r0, .L1120+136
	bl	render_commandline_message
	ldr	r0, .L1120+140
	bl	render_commandline_message
	ldr	r0, .L1120+144
	bl	render_commandline_message
	ldr	r0, .L1120+4
	bl	render_commandline_message
	ldr	r1, .L1120+148
	ldr	r0, .L1120+152
	bl	render_commandline_message
	ldr	r0, .L1120+4
	bl	render_commandline_message
	bl	redraw_tabbar
	bl	redraw_commandline
	ldr	r3, .L1120+12
	ldr	r3, [r3]
	mov	r0, r3
	bl	fflush
	nop
.L1070:
	mov	r0, #200
	bl	bim_getch_timeout
	str	r0, [fp, #-2064]
	ldr	r3, [fp, #-2064]
	cmn	r3, #1
	beq	.L1070
	ldr	r0, [fp, #-2064]
	bl	bim_unget
	bl	redraw_all
	b	.L1037
.L1069:
	ldr	r3, [fp, #-2056]
	ldr	r1, .L1120+156
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L1071
	ldr	r3, [fp, #-2120]
	cmp	r3, #1
	bgt	.L1072
	ldr	r3, .L1120+160
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L1120+164
	bl	render_status_message
	b	.L1037
.L1072:
	ldr	r3, .L1120+168
	str	r3, [fp, #-2112]
	b	.L1073
.L1075:
	ldr	r2, [fp, #-2052]
	ldr	r3, [fp, #-2112]
	ldr	r3, [r3]
	mov	r1, r3
	mov	r0, r2
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L1074
	ldr	r3, [fp, #-2112]
	ldr	r3, [r3, #4]
	blx	r3
	bl	redraw_all
	b	.L1037
.L1074:
	ldr	r3, [fp, #-2112]
	add	r3, r3, #8
	str	r3, [fp, #-2112]
.L1073:
	ldr	r3, [fp, #-2112]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1075
	b	.L1037
.L1071:
	ldr	r3, [fp, #-2056]
	ldr	r1, .L1120+172
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L1076
	ldr	r3, [fp, #-2120]
	cmp	r3, #1
	bgt	.L1077
	ldr	r3, .L1120+36
	ldr	r3, [r3]
	ldr	r3, [r3, #44]
	cmp	r3, #0
	beq	.L1078
	ldr	r3, .L1120+36
	ldr	r3, [r3]
	ldr	r3, [r3, #44]
	ldr	r3, [r3]
	b	.L1079
.L1078:
	ldr	r3, .L1120+176
.L1079:
	mov	r1, r3
	ldr	r0, .L1120+180
	bl	render_status_message
	b	.L1037
.L1077:
	ldr	r3, [fp, #-2052]
	ldr	r1, .L1120+176
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L1080
	mov	r3, #0
	str	r3, [fp, #-2108]
	b	.L1081
.L1084:
	ldr	r3, .L1120+36
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-2108]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, #0
	str	r2, [r3, #8]
	mov	r3, #0
	str	r3, [fp, #-2104]
	b	.L1082
.L1083:
	ldr	r3, .L1120+36
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-2108]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2104]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	add	r2, r3, #4
	ldrh	r3, [r2]	@ movhi
	bic	r3, r3, #2032
	strh	r3, [r2]	@ movhi
	ldr	r3, [fp, #-2104]
	add	r3, r3, #1
	str	r3, [fp, #-2104]
.L1082:
	ldr	r3, .L1120+36
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-2108]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-2104]
	cmp	r2, r3
	blt	.L1083
	ldr	r3, [fp, #-2108]
	add	r3, r3, #1
	str	r3, [fp, #-2108]
.L1081:
	ldr	r3, .L1120+36
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	ldr	r2, [fp, #-2108]
	cmp	r2, r3
	blt	.L1084
	bl	redraw_all
	b	.L1037
.L1080:
	ldr	r3, .L1120+184
	str	r3, [fp, #-2100]
	b	.L1085
.L1091:
	ldr	r2, [fp, #-2052]
	ldr	r3, [fp, #-2100]
	ldr	r3, [r3]
	mov	r1, r3
	mov	r0, r2
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L1086
	ldr	r3, .L1120+36
	ldr	r3, [r3]
	ldr	r2, [fp, #-2100]
	str	r2, [r3, #44]
	mov	r3, #0
	str	r3, [fp, #-2096]
	b	.L1087
.L1088:
	ldr	r3, .L1120+36
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-2096]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, #0
	str	r2, [r3, #8]
	ldr	r3, [fp, #-2096]
	add	r3, r3, #1
	str	r3, [fp, #-2096]
.L1087:
	ldr	r3, .L1120+36
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	ldr	r2, [fp, #-2096]
	cmp	r2, r3
	blt	.L1088
	mov	r3, #0
	str	r3, [fp, #-2092]
	b	.L1089
.L1090:
	ldr	r3, .L1120+36
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-2092]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, [fp, #-2092]
	mov	r0, r3
	bl	recalculate_syntax
	ldr	r3, [fp, #-2092]
	add	r3, r3, #1
	str	r3, [fp, #-2092]
.L1089:
	ldr	r3, .L1120+36
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	ldr	r2, [fp, #-2092]
	cmp	r2, r3
	blt	.L1090
	bl	redraw_all
	b	.L1037
.L1086:
	ldr	r3, [fp, #-2100]
	add	r3, r3, #28
	str	r3, [fp, #-2100]
.L1085:
	ldr	r3, [fp, #-2100]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1091
	ldr	r0, .L1120+188
	bl	render_error
	b	.L1037
.L1076:
	ldr	r3, [fp, #-2056]
	ldr	r1, .L1120+192
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L1092
	mov	r3, #0
	str	r3, [fp, #-2088]
	b	.L1093
.L1094:
	ldr	r3, .L1120+36
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-2088]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, #0
	str	r2, [r3, #8]
	ldr	r3, [fp, #-2088]
	add	r3, r3, #1
	str	r3, [fp, #-2088]
.L1093:
	ldr	r3, .L1120+36
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	ldr	r2, [fp, #-2088]
	cmp	r2, r3
	blt	.L1094
	mov	r3, #0
	str	r3, [fp, #-2084]
	b	.L1095
.L1096:
	ldr	r3, .L1120+36
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-2084]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, [fp, #-2084]
	mov	r0, r3
	bl	recalculate_syntax
	ldr	r3, [fp, #-2084]
	add	r3, r3, #1
	str	r3, [fp, #-2084]
.L1095:
	ldr	r3, .L1120+36
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	ldr	r2, [fp, #-2084]
	cmp	r2, r3
	blt	.L1096
	bl	redraw_all
	b	.L1037
.L1092:
	ldr	r3, [fp, #-2056]
	ldr	r1, .L1120+196
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L1097
	ldr	r3, .L1120+36
	ldr	r2, [r3]
	ldrb	r3, [r2]
	orr	r3, r3, #2
	strb	r3, [r2]
	bl	redraw_statusbar
	b	.L1037
.L1097:
	ldr	r3, [fp, #-2056]
	ldr	r1, .L1120+200
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L1098
	ldr	r3, .L1120+36
	ldr	r2, [r3]
	ldrb	r3, [r2]
	bic	r3, r3, #2
	strb	r3, [r2]
	bl	redraw_statusbar
	b	.L1037
.L1098:
	ldr	r3, [fp, #-2056]
	ldr	r1, .L1120+204
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L1099
	ldr	r3, [fp, #-2120]
	cmp	r3, #1
	bgt	.L1100
	ldr	r3, .L1120+36
	ldr	r3, [r3]
	ldrsh	r3, [r3, #4]
	mov	r1, r3
	ldr	r0, .L1120+208
	bl	render_status_message
	b	.L1037
.L1100:
	ldr	r3, [fp, #-2052]
	mov	r0, r3
	bl	atoi
	str	r0, [fp, #-2068]
	ldr	r3, [fp, #-2068]
	cmp	r3, #0
	ble	.L1102
	ldr	r3, [fp, #-2068]
	cmp	r3, #31
	bgt	.L1102
	ldr	r3, .L1120+36
	ldr	r3, [r3]
	ldr	r2, [fp, #-2068]
	lsl	r2, r2, #16
	asr	r2, r2, #16
	strh	r2, [r3, #4]	@ movhi
	mov	r3, #0
	str	r3, [fp, #-2080]
	b	.L1103
.L1104:
	ldr	r3, .L1120+36
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-2080]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	recalculate_tabs
	ldr	r3, [fp, #-2080]
	add	r3, r3, #1
	str	r3, [fp, #-2080]
.L1103:
	ldr	r3, .L1120+36
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	ldr	r2, [fp, #-2080]
	cmp	r2, r3
	blt	.L1104
	bl	redraw_all
	b	.L1037
.L1102:
	ldr	r3, [fp, #-2052]
	mov	r1, r3
	ldr	r0, .L1120+212
	bl	render_error
	b	.L1037
.L1099:
	ldr	r3, [fp, #-2056]
	ldr	r1, .L1120+216
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L1105
	ldr	r3, .L1120+220
	ldr	r3, [r3, #20]
	cmp	r3, #0
	beq	.L1037
	mov	r3, #0
	str	r3, [fp, #-2076]
	b	.L1106
.L1107:
	ldr	r3, .L1120+220
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-2076]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	free
	ldr	r3, [fp, #-2076]
	add	r3, r3, #1
	str	r3, [fp, #-2076]
.L1106:
	ldr	r3, .L1120+220
	ldr	r3, [r3, #24]
	ldr	r2, [fp, #-2076]
	cmp	r2, r3
	bcc	.L1107
	ldr	r3, .L1120+220
	ldr	r3, [r3, #20]
	mov	r0, r3
	bl	free
	ldr	r3, .L1120+220
	mov	r2, #0
	str	r2, [r3, #20]
	ldr	r3, .L1120+220
	mov	r2, #0
	str	r2, [r3, #24]
	bl	redraw_statusbar
	b	.L1037
.L1105:
	ldr	r3, [fp, #-2056]
	ldr	r1, .L1120+224
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L1108
	ldr	r3, [fp, #-2120]
	cmp	r3, #1
	bgt	.L1109
	ldr	r3, .L1120+220
	ldr	r3, [r3, #76]
	mov	r1, r3
	ldr	r0, .L1120+228
	bl	render_status_message
	b	.L1037
.L1109:
	ldr	r3, [fp, #-2052]
	mov	r0, r3
	bl	atoi
	mov	r3, r0
	ldr	r2, .L1120+220
	str	r3, [r2, #76]
	bl	place_cursor_actual
	b	.L1037
.L1108:
	ldr	r3, [fp, #-2056]
	ldr	r1, .L1120+232
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L1110
	ldr	r3, [fp, #-2120]
	cmp	r3, #1
	bgt	.L1111
	ldr	r3, .L1120+220
	ldr	r3, [r3, #84]
	mov	r1, r3
	ldr	r0, .L1120+236
	bl	render_status_message
	b	.L1037
.L1111:
	ldr	r3, [fp, #-2052]
	mov	r0, r3
	bl	atoi
	mov	r3, r0
	ldr	r2, .L1120+220
	str	r3, [r2, #84]
	bl	place_cursor_actual
	b	.L1037
.L1110:
	ldr	r3, [fp, #-2056]
	ldr	r1, .L1120+240
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L1112
	ldr	r3, [fp, #-2120]
	cmp	r3, #1
	bgt	.L1113
	ldr	r3, .L1120+220
	ldr	r3, [r3, #80]
	mov	r1, r3
	ldr	r0, .L1120+244
	bl	render_status_message
	b	.L1037
.L1113:
	ldr	r3, [fp, #-2052]
	mov	r0, r3
	bl	atoi
	mov	r3, r0
	ldr	r2, .L1120+220
	str	r3, [r2, #80]
	mov	r3, #0
	str	r3, [fp, #-2072]
	b	.L1114
.L1115:
	ldr	r3, .L1120+36
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-2072]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, [fp, #-2072]
	mov	r0, r3
	bl	recalculate_syntax
	ldr	r3, [fp, #-2072]
	add	r3, r3, #1
	str	r3, [fp, #-2072]
.L1114:
	ldr	r3, .L1120+36
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	ldr	r2, [fp, #-2072]
	cmp	r2, r3
	blt	.L1115
	bl	redraw_text
	bl	place_cursor_actual
	b	.L1037
.L1112:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-2056]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #2048
	cmp	r3, #0
	beq	.L1116
	ldr	r3, [fp, #-2056]
	mov	r0, r3
	bl	atoi
	mov	r3, r0
	mov	r0, r3
	bl	goto_line
	b	.L1037
.L1116:
	ldr	r3, [fp, #-2056]
	mov	r1, r3
	ldr	r0, .L1120+248
	bl	render_error
	b	.L1037
.L1119:
	nop
.L1037:
	ldr	r3, .L1120
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L1118
	bl	__stack_chk_fail
.L1118:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1121:
	.align	2
.L1120:
	.word	.LC449
	.word	.LC399
	.word	.LC400
	.word	stdout
	.word	.LC401
	.word	510
	.word	.LC402
	.word	.LC403
	.word	.LC404
	.word	env
	.word	.LC405
	.word	.LC406
	.word	.LC407
	.word	.LC408
	.word	.LC409
	.word	.LC410
	.word	.LC411
	.word	.LC412
	.word	.LC413
	.word	.LC414
	.word	.LC415
	.word	.LC416
	.word	.LC417
	.word	.LC418
	.word	.LC419
	.word	.LC197
	.word	.LC353
	.word	.LC420
	.word	.LC421
	.word	.LC422
	.word	.LC423
	.word	.LC424
	.word	.LC425
	.word	.LC426
	.word	.LC427
	.word	.LC428
	.word	.LC429
	.word	.LC430
	.word	.LC431
	.word	.LC263
	.word	current_theme
	.word	.LC432
	.word	themes
	.word	.LC433
	.word	.LC4
	.word	.LC434
	.word	syntaxes
	.word	.LC435
	.word	.LC436
	.word	.LC437
	.word	.LC438
	.word	.LC439
	.word	.LC440
	.word	.LC441
	.word	.LC442
	.word	global_config
	.word	.LC264
	.word	.LC443
	.word	.LC444
	.word	.LC445
	.word	.LC446
	.word	.LC447
	.word	.LC448
	.size	process_command, .-process_command
	.section	.rodata
	.align	2
.LC450:
	.ascii	"/\000"
	.align	2
.LC451:
	.ascii	".\000"
	.align	2
.LC452:
	.ascii	"%s/%s\000"
	.align	2
.LC453:
	.ascii	"...\000"
	.align	2
.LC454:
	.ascii	":%s\000"
	.align	2
.LC455:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	command_tab_complete
	.syntax unified
	.arm
	.fpu softvfp
	.type	command_tab_complete, %function
command_tab_complete:
	@ args = 0, pretend = 0, frame = 1528
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #1536
	sub	sp, sp, #4
	str	r0, [fp, #-1536]
	ldr	r3, .L1225
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-1528]
	ldr	r0, [fp, #-1536]
	bl	strdup
	mov	r3, r0
	str	r3, [fp, #-1456]
	ldr	r3, [fp, #-1456]
	str	r3, [fp, #-1524]
	mov	r3, #0
	str	r3, [fp, #-1520]
	mov	r3, #4
	str	r3, [fp, #-1516]
	ldr	r3, [fp, #-1516]
	lsl	r3, r3, #2
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-1512]
	b	.L1123
.L1124:
	ldr	r3, [fp, #-1524]
	add	r3, r3, #1
	str	r3, [fp, #-1524]
.L1123:
	ldr	r3, [fp, #-1524]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #32
	beq	.L1124
	ldr	r3, [fp, #-1524]
	str	r3, [fp, #-1508]
	ldr	r3, [fp, #-1508]
	str	r3, [fp, #-1168]
	b	.L1125
.L1127:
	ldr	r3, [fp, #-1524]
	add	r3, r3, #1
	str	r3, [fp, #-1524]
.L1125:
	ldr	r3, [fp, #-1524]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L1128
	ldr	r3, [fp, #-1524]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #32
	bne	.L1127
	b	.L1128
.L1130:
	ldr	r3, [fp, #-1524]
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-1524]
	add	r3, r3, #1
	str	r3, [fp, #-1524]
.L1129:
	ldr	r3, [fp, #-1524]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #32
	beq	.L1130
	ldr	r3, [fp, #-1524]
	str	r3, [fp, #-1508]
	ldr	r3, [fp, #-1528]
	add	r3, r3, #1
	str	r3, [fp, #-1528]
	ldr	r3, [fp, #-1528]
	cmp	r3, #31
	bgt	.L1132
	ldr	r3, [fp, #-1528]
	lsl	r3, r3, #2
	sub	r2, fp, #12
	add	r3, r2, r3
	ldr	r2, [fp, #-1508]
	str	r2, [r3, #-1156]
	b	.L1132
.L1133:
	ldr	r3, [fp, #-1524]
	add	r3, r3, #1
	str	r3, [fp, #-1524]
.L1132:
	ldr	r3, [fp, #-1524]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L1128
	ldr	r3, [fp, #-1524]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #32
	bne	.L1133
.L1128:
	ldr	r3, [fp, #-1524]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L1129
	ldr	r3, [fp, #-1528]
	cmp	r3, #0
	bne	.L1135
	ldr	r3, [fp, #-1528]
	lsl	r3, r3, #2
	sub	r2, fp, #12
	add	r3, r2, r3
	ldr	r3, [r3, #-1156]
	str	r3, [fp, #-1408]
	ldr	r0, [fp, #-1408]
	bl	strlen
	mov	r3, r0
	mov	r2, r3
	ldr	r1, .L1225+4
	ldr	r0, [fp, #-1408]
	bl	strncmp
	str	r0, [fp, #-1404]
	ldr	r3, [fp, #-1404]
	cmp	r3, #0
	bne	.L1136
	ldr	r2, [fp, #-1520]
	ldr	r3, [fp, #-1516]
	cmp	r2, r3
	bne	.L1137
	ldr	r3, [fp, #-1516]
	lsl	r3, r3, #1
	str	r3, [fp, #-1516]
	ldr	r3, [fp, #-1516]
	lsl	r3, r3, #2
	mov	r1, r3
	ldr	r0, [fp, #-1512]
	bl	realloc
	str	r0, [fp, #-1512]
.L1137:
	ldr	r3, [fp, #-1520]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-1512]
	add	r4, r2, r3
	ldr	r0, .L1225+4
	bl	strdup
	mov	r3, r0
	str	r3, [r4]
	ldr	r3, [fp, #-1520]
	add	r3, r3, #1
	str	r3, [fp, #-1520]
.L1136:
	ldr	r3, [fp, #-1528]
	lsl	r3, r3, #2
	sub	r2, fp, #12
	add	r3, r2, r3
	ldr	r3, [r3, #-1156]
	str	r3, [fp, #-1400]
	ldr	r0, [fp, #-1400]
	bl	strlen
	mov	r3, r0
	mov	r2, r3
	ldr	r1, .L1225+8
	ldr	r0, [fp, #-1400]
	bl	strncmp
	str	r0, [fp, #-1396]
	ldr	r3, [fp, #-1396]
	cmp	r3, #0
	bne	.L1138
	ldr	r2, [fp, #-1520]
	ldr	r3, [fp, #-1516]
	cmp	r2, r3
	bne	.L1139
	ldr	r3, [fp, #-1516]
	lsl	r3, r3, #1
	str	r3, [fp, #-1516]
	ldr	r3, [fp, #-1516]
	lsl	r3, r3, #2
	mov	r1, r3
	ldr	r0, [fp, #-1512]
	bl	realloc
	str	r0, [fp, #-1512]
.L1139:
	ldr	r3, [fp, #-1520]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-1512]
	add	r4, r2, r3
	ldr	r0, .L1225+8
	bl	strdup
	mov	r3, r0
	str	r3, [r4]
	ldr	r3, [fp, #-1520]
	add	r3, r3, #1
	str	r3, [fp, #-1520]
.L1138:
	ldr	r3, [fp, #-1528]
	lsl	r3, r3, #2
	sub	r2, fp, #12
	add	r3, r2, r3
	ldr	r3, [r3, #-1156]
	str	r3, [fp, #-1392]
	ldr	r0, [fp, #-1392]
	bl	strlen
	mov	r3, r0
	mov	r2, r3
	ldr	r1, .L1225+12
	ldr	r0, [fp, #-1392]
	bl	strncmp
	str	r0, [fp, #-1388]
	ldr	r3, [fp, #-1388]
	cmp	r3, #0
	bne	.L1140
	ldr	r2, [fp, #-1520]
	ldr	r3, [fp, #-1516]
	cmp	r2, r3
	bne	.L1141
	ldr	r3, [fp, #-1516]
	lsl	r3, r3, #1
	str	r3, [fp, #-1516]
	ldr	r3, [fp, #-1516]
	lsl	r3, r3, #2
	mov	r1, r3
	ldr	r0, [fp, #-1512]
	bl	realloc
	str	r0, [fp, #-1512]
.L1141:
	ldr	r3, [fp, #-1520]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-1512]
	add	r4, r2, r3
	ldr	r0, .L1225+12
	bl	strdup
	mov	r3, r0
	str	r3, [r4]
	ldr	r3, [fp, #-1520]
	add	r3, r3, #1
	str	r3, [fp, #-1520]
.L1140:
	ldr	r3, [fp, #-1528]
	lsl	r3, r3, #2
	sub	r2, fp, #12
	add	r3, r2, r3
	ldr	r3, [r3, #-1156]
	str	r3, [fp, #-1384]
	ldr	r0, [fp, #-1384]
	bl	strlen
	mov	r3, r0
	mov	r2, r3
	ldr	r1, .L1225+16
	ldr	r0, [fp, #-1384]
	bl	strncmp
	str	r0, [fp, #-1380]
	ldr	r3, [fp, #-1380]
	cmp	r3, #0
	bne	.L1142
	ldr	r2, [fp, #-1520]
	ldr	r3, [fp, #-1516]
	cmp	r2, r3
	bne	.L1143
	ldr	r3, [fp, #-1516]
	lsl	r3, r3, #1
	str	r3, [fp, #-1516]
	ldr	r3, [fp, #-1516]
	lsl	r3, r3, #2
	mov	r1, r3
	ldr	r0, [fp, #-1512]
	bl	realloc
	str	r0, [fp, #-1512]
.L1143:
	ldr	r3, [fp, #-1520]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-1512]
	add	r4, r2, r3
	ldr	r0, .L1225+16
	bl	strdup
	mov	r3, r0
	str	r3, [r4]
	ldr	r3, [fp, #-1520]
	add	r3, r3, #1
	str	r3, [fp, #-1520]
.L1142:
	ldr	r3, [fp, #-1528]
	lsl	r3, r3, #2
	sub	r2, fp, #12
	add	r3, r2, r3
	ldr	r3, [r3, #-1156]
	str	r3, [fp, #-1376]
	ldr	r0, [fp, #-1376]
	bl	strlen
	mov	r3, r0
	mov	r2, r3
	ldr	r1, .L1225+20
	ldr	r0, [fp, #-1376]
	bl	strncmp
	str	r0, [fp, #-1372]
	ldr	r3, [fp, #-1372]
	cmp	r3, #0
	bne	.L1144
	ldr	r2, [fp, #-1520]
	ldr	r3, [fp, #-1516]
	cmp	r2, r3
	bne	.L1145
	ldr	r3, [fp, #-1516]
	lsl	r3, r3, #1
	str	r3, [fp, #-1516]
	ldr	r3, [fp, #-1516]
	lsl	r3, r3, #2
	mov	r1, r3
	ldr	r0, [fp, #-1512]
	bl	realloc
	str	r0, [fp, #-1512]
.L1145:
	ldr	r3, [fp, #-1520]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-1512]
	add	r4, r2, r3
	ldr	r0, .L1225+20
	bl	strdup
	mov	r3, r0
	str	r3, [r4]
	ldr	r3, [fp, #-1520]
	add	r3, r3, #1
	str	r3, [fp, #-1520]
.L1144:
	ldr	r3, [fp, #-1528]
	lsl	r3, r3, #2
	sub	r2, fp, #12
	add	r3, r2, r3
	ldr	r3, [r3, #-1156]
	str	r3, [fp, #-1368]
	ldr	r0, [fp, #-1368]
	bl	strlen
	mov	r3, r0
	mov	r2, r3
	ldr	r1, .L1225+88
	ldr	r0, [fp, #-1368]
	bl	strncmp
	str	r0, [fp, #-1364]
	ldr	r3, [fp, #-1364]
	cmp	r3, #0
	bne	.L1146
	ldr	r2, [fp, #-1520]
	ldr	r3, [fp, #-1516]
	cmp	r2, r3
	bne	.L1147
	ldr	r3, [fp, #-1516]
	lsl	r3, r3, #1
	str	r3, [fp, #-1516]
	ldr	r3, [fp, #-1516]
	lsl	r3, r3, #2
	mov	r1, r3
	ldr	r0, [fp, #-1512]
	bl	realloc
	str	r0, [fp, #-1512]
.L1147:
	ldr	r3, [fp, #-1520]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-1512]
	add	r4, r2, r3
	ldr	r0, .L1225+88
	bl	strdup
	mov	r3, r0
	str	r3, [r4]
	ldr	r3, [fp, #-1520]
	add	r3, r3, #1
	str	r3, [fp, #-1520]
.L1146:
	ldr	r3, [fp, #-1528]
	lsl	r3, r3, #2
	sub	r2, fp, #12
	add	r3, r2, r3
	ldr	r3, [r3, #-1156]
	str	r3, [fp, #-1360]
	ldr	r0, [fp, #-1360]
	bl	strlen
	mov	r3, r0
	mov	r2, r3
	ldr	r1, .L1225+24
	ldr	r0, [fp, #-1360]
	bl	strncmp
	str	r0, [fp, #-1356]
	ldr	r3, [fp, #-1356]
	cmp	r3, #0
	bne	.L1148
	ldr	r2, [fp, #-1520]
	ldr	r3, [fp, #-1516]
	cmp	r2, r3
	bne	.L1149
	ldr	r3, [fp, #-1516]
	lsl	r3, r3, #1
	str	r3, [fp, #-1516]
	ldr	r3, [fp, #-1516]
	lsl	r3, r3, #2
	mov	r1, r3
	ldr	r0, [fp, #-1512]
	bl	realloc
	str	r0, [fp, #-1512]
.L1149:
	ldr	r3, [fp, #-1520]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-1512]
	add	r4, r2, r3
	ldr	r0, .L1225+24
	bl	strdup
	mov	r3, r0
	str	r3, [r4]
	ldr	r3, [fp, #-1520]
	add	r3, r3, #1
	str	r3, [fp, #-1520]
.L1148:
	ldr	r3, [fp, #-1528]
	lsl	r3, r3, #2
	sub	r2, fp, #12
	add	r3, r2, r3
	ldr	r3, [r3, #-1156]
	str	r3, [fp, #-1352]
	ldr	r0, [fp, #-1352]
	bl	strlen
	mov	r3, r0
	mov	r2, r3
	ldr	r1, .L1225+28
	ldr	r0, [fp, #-1352]
	bl	strncmp
	str	r0, [fp, #-1348]
	ldr	r3, [fp, #-1348]
	cmp	r3, #0
	bne	.L1150
	ldr	r2, [fp, #-1520]
	ldr	r3, [fp, #-1516]
	cmp	r2, r3
	bne	.L1151
	ldr	r3, [fp, #-1516]
	lsl	r3, r3, #1
	str	r3, [fp, #-1516]
	ldr	r3, [fp, #-1516]
	lsl	r3, r3, #2
	mov	r1, r3
	ldr	r0, [fp, #-1512]
	bl	realloc
	str	r0, [fp, #-1512]
.L1151:
	ldr	r3, [fp, #-1520]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-1512]
	add	r4, r2, r3
	ldr	r0, .L1225+28
	bl	strdup
	mov	r3, r0
	str	r3, [r4]
	ldr	r3, [fp, #-1520]
	add	r3, r3, #1
	str	r3, [fp, #-1520]
.L1150:
	ldr	r3, [fp, #-1528]
	lsl	r3, r3, #2
	sub	r2, fp, #12
	add	r3, r2, r3
	ldr	r3, [r3, #-1156]
	str	r3, [fp, #-1344]
	ldr	r0, [fp, #-1344]
	bl	strlen
	mov	r3, r0
	mov	r2, r3
	ldr	r1, .L1225+32
	ldr	r0, [fp, #-1344]
	bl	strncmp
	str	r0, [fp, #-1340]
	ldr	r3, [fp, #-1340]
	cmp	r3, #0
	bne	.L1152
	ldr	r2, [fp, #-1520]
	ldr	r3, [fp, #-1516]
	cmp	r2, r3
	bne	.L1153
	ldr	r3, [fp, #-1516]
	lsl	r3, r3, #1
	str	r3, [fp, #-1516]
	ldr	r3, [fp, #-1516]
	lsl	r3, r3, #2
	mov	r1, r3
	ldr	r0, [fp, #-1512]
	bl	realloc
	str	r0, [fp, #-1512]
.L1153:
	ldr	r3, [fp, #-1520]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-1512]
	add	r4, r2, r3
	ldr	r0, .L1225+32
	bl	strdup
	mov	r3, r0
	str	r3, [r4]
	ldr	r3, [fp, #-1520]
	add	r3, r3, #1
	str	r3, [fp, #-1520]
.L1152:
	ldr	r3, [fp, #-1528]
	lsl	r3, r3, #2
	sub	r2, fp, #12
	add	r3, r2, r3
	ldr	r3, [r3, #-1156]
	str	r3, [fp, #-1336]
	ldr	r0, [fp, #-1336]
	bl	strlen
	mov	r3, r0
	mov	r2, r3
	ldr	r1, .L1225+36
	ldr	r0, [fp, #-1336]
	bl	strncmp
	str	r0, [fp, #-1332]
	ldr	r3, [fp, #-1332]
	cmp	r3, #0
	bne	.L1154
	ldr	r2, [fp, #-1520]
	ldr	r3, [fp, #-1516]
	cmp	r2, r3
	bne	.L1155
	ldr	r3, [fp, #-1516]
	lsl	r3, r3, #1
	str	r3, [fp, #-1516]
	ldr	r3, [fp, #-1516]
	lsl	r3, r3, #2
	mov	r1, r3
	ldr	r0, [fp, #-1512]
	bl	realloc
	str	r0, [fp, #-1512]
.L1155:
	ldr	r3, [fp, #-1520]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-1512]
	add	r4, r2, r3
	ldr	r0, .L1225+36
	bl	strdup
	mov	r3, r0
	str	r3, [r4]
	ldr	r3, [fp, #-1520]
	add	r3, r3, #1
	str	r3, [fp, #-1520]
.L1154:
	ldr	r3, [fp, #-1528]
	lsl	r3, r3, #2
	sub	r2, fp, #12
	add	r3, r2, r3
	ldr	r3, [r3, #-1156]
	str	r3, [fp, #-1328]
	ldr	r0, [fp, #-1328]
	bl	strlen
	mov	r3, r0
	mov	r2, r3
	ldr	r1, .L1225+40
	ldr	r0, [fp, #-1328]
	bl	strncmp
	str	r0, [fp, #-1324]
	ldr	r3, [fp, #-1324]
	cmp	r3, #0
	bne	.L1156
	ldr	r2, [fp, #-1520]
	ldr	r3, [fp, #-1516]
	cmp	r2, r3
	bne	.L1157
	ldr	r3, [fp, #-1516]
	lsl	r3, r3, #1
	str	r3, [fp, #-1516]
	ldr	r3, [fp, #-1516]
	lsl	r3, r3, #2
	mov	r1, r3
	ldr	r0, [fp, #-1512]
	bl	realloc
	str	r0, [fp, #-1512]
.L1157:
	ldr	r3, [fp, #-1520]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-1512]
	add	r4, r2, r3
	ldr	r0, .L1225+40
	bl	strdup
	mov	r3, r0
	str	r3, [r4]
	ldr	r3, [fp, #-1520]
	add	r3, r3, #1
	str	r3, [fp, #-1520]
.L1156:
	ldr	r3, [fp, #-1528]
	lsl	r3, r3, #2
	sub	r2, fp, #12
	add	r3, r2, r3
	ldr	r3, [r3, #-1156]
	str	r3, [fp, #-1320]
	ldr	r0, [fp, #-1320]
	bl	strlen
	mov	r3, r0
	mov	r2, r3
	ldr	r1, .L1225+44
	ldr	r0, [fp, #-1320]
	bl	strncmp
	str	r0, [fp, #-1316]
	ldr	r3, [fp, #-1316]
	cmp	r3, #0
	bne	.L1158
	ldr	r2, [fp, #-1520]
	ldr	r3, [fp, #-1516]
	cmp	r2, r3
	bne	.L1159
	ldr	r3, [fp, #-1516]
	lsl	r3, r3, #1
	str	r3, [fp, #-1516]
	ldr	r3, [fp, #-1516]
	lsl	r3, r3, #2
	mov	r1, r3
	ldr	r0, [fp, #-1512]
	bl	realloc
	str	r0, [fp, #-1512]
.L1159:
	ldr	r3, [fp, #-1520]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-1512]
	add	r4, r2, r3
	ldr	r0, .L1225+44
	bl	strdup
	mov	r3, r0
	str	r3, [r4]
	ldr	r3, [fp, #-1520]
	add	r3, r3, #1
	str	r3, [fp, #-1520]
.L1158:
	ldr	r3, [fp, #-1528]
	lsl	r3, r3, #2
	sub	r2, fp, #12
	add	r3, r2, r3
	ldr	r3, [r3, #-1156]
	str	r3, [fp, #-1312]
	ldr	r0, [fp, #-1312]
	bl	strlen
	mov	r3, r0
	mov	r2, r3
	ldr	r1, .L1225+48
	ldr	r0, [fp, #-1312]
	bl	strncmp
	str	r0, [fp, #-1308]
	ldr	r3, [fp, #-1308]
	cmp	r3, #0
	bne	.L1160
	ldr	r2, [fp, #-1520]
	ldr	r3, [fp, #-1516]
	cmp	r2, r3
	bne	.L1161
	ldr	r3, [fp, #-1516]
	lsl	r3, r3, #1
	str	r3, [fp, #-1516]
	ldr	r3, [fp, #-1516]
	lsl	r3, r3, #2
	mov	r1, r3
	ldr	r0, [fp, #-1512]
	bl	realloc
	str	r0, [fp, #-1512]
.L1161:
	ldr	r3, [fp, #-1520]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-1512]
	add	r4, r2, r3
	ldr	r0, .L1225+48
	bl	strdup
	mov	r3, r0
	str	r3, [r4]
	ldr	r3, [fp, #-1520]
	add	r3, r3, #1
	str	r3, [fp, #-1520]
.L1160:
	ldr	r3, [fp, #-1528]
	lsl	r3, r3, #2
	sub	r2, fp, #12
	add	r3, r2, r3
	ldr	r3, [r3, #-1156]
	str	r3, [fp, #-1304]
	ldr	r0, [fp, #-1304]
	bl	strlen
	mov	r3, r0
	mov	r2, r3
	ldr	r1, .L1225+52
	ldr	r0, [fp, #-1304]
	bl	strncmp
	str	r0, [fp, #-1300]
	ldr	r3, [fp, #-1300]
	cmp	r3, #0
	bne	.L1162
	ldr	r2, [fp, #-1520]
	ldr	r3, [fp, #-1516]
	cmp	r2, r3
	bne	.L1163
	ldr	r3, [fp, #-1516]
	lsl	r3, r3, #1
	str	r3, [fp, #-1516]
	ldr	r3, [fp, #-1516]
	lsl	r3, r3, #2
	mov	r1, r3
	ldr	r0, [fp, #-1512]
	bl	realloc
	str	r0, [fp, #-1512]
.L1163:
	ldr	r3, [fp, #-1520]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-1512]
	add	r4, r2, r3
	ldr	r0, .L1225+52
	bl	strdup
	mov	r3, r0
	str	r3, [r4]
	ldr	r3, [fp, #-1520]
	add	r3, r3, #1
	str	r3, [fp, #-1520]
.L1162:
	ldr	r3, [fp, #-1528]
	lsl	r3, r3, #2
	sub	r2, fp, #12
	add	r3, r2, r3
	ldr	r3, [r3, #-1156]
	str	r3, [fp, #-1296]
	ldr	r0, [fp, #-1296]
	bl	strlen
	mov	r3, r0
	mov	r2, r3
	ldr	r1, .L1225+56
	ldr	r0, [fp, #-1296]
	bl	strncmp
	str	r0, [fp, #-1292]
	ldr	r3, [fp, #-1292]
	cmp	r3, #0
	bne	.L1164
	ldr	r2, [fp, #-1520]
	ldr	r3, [fp, #-1516]
	cmp	r2, r3
	bne	.L1165
	ldr	r3, [fp, #-1516]
	lsl	r3, r3, #1
	str	r3, [fp, #-1516]
	ldr	r3, [fp, #-1516]
	lsl	r3, r3, #2
	mov	r1, r3
	ldr	r0, [fp, #-1512]
	bl	realloc
	str	r0, [fp, #-1512]
.L1165:
	ldr	r3, [fp, #-1520]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-1512]
	add	r4, r2, r3
	ldr	r0, .L1225+56
	bl	strdup
	mov	r3, r0
	str	r3, [r4]
	ldr	r3, [fp, #-1520]
	add	r3, r3, #1
	str	r3, [fp, #-1520]
.L1164:
	ldr	r3, [fp, #-1528]
	lsl	r3, r3, #2
	sub	r2, fp, #12
	add	r3, r2, r3
	ldr	r3, [r3, #-1156]
	str	r3, [fp, #-1288]
	ldr	r0, [fp, #-1288]
	bl	strlen
	mov	r3, r0
	mov	r2, r3
	ldr	r1, .L1225+60
	ldr	r0, [fp, #-1288]
	bl	strncmp
	str	r0, [fp, #-1284]
	ldr	r3, [fp, #-1284]
	cmp	r3, #0
	bne	.L1166
	ldr	r2, [fp, #-1520]
	ldr	r3, [fp, #-1516]
	cmp	r2, r3
	bne	.L1167
	ldr	r3, [fp, #-1516]
	lsl	r3, r3, #1
	str	r3, [fp, #-1516]
	ldr	r3, [fp, #-1516]
	lsl	r3, r3, #2
	mov	r1, r3
	ldr	r0, [fp, #-1512]
	bl	realloc
	str	r0, [fp, #-1512]
.L1167:
	ldr	r3, [fp, #-1520]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-1512]
	add	r4, r2, r3
	ldr	r0, .L1225+60
	bl	strdup
	mov	r3, r0
	str	r3, [r4]
	ldr	r3, [fp, #-1520]
	add	r3, r3, #1
	str	r3, [fp, #-1520]
.L1166:
	ldr	r3, [fp, #-1528]
	lsl	r3, r3, #2
	sub	r2, fp, #12
	add	r3, r2, r3
	ldr	r3, [r3, #-1156]
	str	r3, [fp, #-1280]
	ldr	r0, [fp, #-1280]
	bl	strlen
	mov	r3, r0
	mov	r2, r3
	ldr	r1, .L1225+64
	ldr	r0, [fp, #-1280]
	bl	strncmp
	str	r0, [fp, #-1276]
	ldr	r3, [fp, #-1276]
	cmp	r3, #0
	bne	.L1168
	ldr	r2, [fp, #-1520]
	ldr	r3, [fp, #-1516]
	cmp	r2, r3
	bne	.L1169
	ldr	r3, [fp, #-1516]
	lsl	r3, r3, #1
	str	r3, [fp, #-1516]
	ldr	r3, [fp, #-1516]
	lsl	r3, r3, #2
	mov	r1, r3
	ldr	r0, [fp, #-1512]
	bl	realloc
	str	r0, [fp, #-1512]
.L1169:
	ldr	r3, [fp, #-1520]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-1512]
	add	r4, r2, r3
	ldr	r0, .L1225+64
	bl	strdup
	mov	r3, r0
	str	r3, [r4]
	ldr	r3, [fp, #-1520]
	add	r3, r3, #1
	str	r3, [fp, #-1520]
.L1168:
	ldr	r3, [fp, #-1528]
	lsl	r3, r3, #2
	sub	r2, fp, #12
	add	r3, r2, r3
	ldr	r3, [r3, #-1156]
	str	r3, [fp, #-1272]
	ldr	r0, [fp, #-1272]
	bl	strlen
	mov	r3, r0
	mov	r2, r3
	ldr	r1, .L1225+68
	ldr	r0, [fp, #-1272]
	bl	strncmp
	str	r0, [fp, #-1268]
	ldr	r3, [fp, #-1268]
	cmp	r3, #0
	bne	.L1222
	ldr	r2, [fp, #-1520]
	ldr	r3, [fp, #-1516]
	cmp	r2, r3
	bne	.L1171
	ldr	r3, [fp, #-1516]
	lsl	r3, r3, #1
	str	r3, [fp, #-1516]
	ldr	r3, [fp, #-1516]
	lsl	r3, r3, #2
	mov	r1, r3
	ldr	r0, [fp, #-1512]
	bl	realloc
	str	r0, [fp, #-1512]
.L1171:
	ldr	r3, [fp, #-1520]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-1512]
	add	r4, r2, r3
	ldr	r0, .L1225+68
	bl	strdup
	mov	r3, r0
	str	r3, [r4]
	ldr	r3, [fp, #-1520]
	add	r3, r3, #1
	str	r3, [fp, #-1520]
	b	.L1222
.L1135:
	ldr	r3, [fp, #-1528]
	cmp	r3, #1
	bne	.L1173
	ldr	r3, [fp, #-1168]
	ldr	r1, .L1225+12
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L1173
	ldr	r3, [fp, #-1528]
	lsl	r3, r3, #2
	sub	r2, fp, #12
	add	r3, r2, r3
	ldr	r3, [r3, #-1156]
	str	r3, [fp, #-1452]
	ldr	r0, [fp, #-1452]
	bl	strlen
	mov	r3, r0
	mov	r2, r3
	ldr	r1, .L1225+72
	ldr	r0, [fp, #-1452]
	bl	strncmp
	str	r0, [fp, #-1448]
	ldr	r3, [fp, #-1448]
	cmp	r3, #0
	bne	.L1174
	ldr	r2, [fp, #-1520]
	ldr	r3, [fp, #-1516]
	cmp	r2, r3
	bne	.L1175
	ldr	r3, [fp, #-1516]
	lsl	r3, r3, #1
	str	r3, [fp, #-1516]
	ldr	r3, [fp, #-1516]
	lsl	r3, r3, #2
	mov	r1, r3
	ldr	r0, [fp, #-1512]
	bl	realloc
	str	r0, [fp, #-1512]
.L1175:
	ldr	r3, [fp, #-1520]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-1512]
	add	r4, r2, r3
	ldr	r0, .L1225+72
	bl	strdup
	mov	r3, r0
	str	r3, [r4]
	ldr	r3, [fp, #-1520]
	add	r3, r3, #1
	str	r3, [fp, #-1520]
.L1174:
	ldr	r3, .L1225+76
	str	r3, [fp, #-1504]
	b	.L1176
.L1179:
	ldr	r3, [fp, #-1528]
	lsl	r3, r3, #2
	sub	r2, fp, #12
	add	r3, r2, r3
	ldr	r3, [r3, #-1156]
	str	r3, [fp, #-1444]
	ldr	r3, [fp, #-1504]
	ldr	r4, [r3]
	ldr	r0, [fp, #-1444]
	bl	strlen
	mov	r3, r0
	mov	r2, r3
	mov	r1, r4
	ldr	r0, [fp, #-1444]
	bl	strncmp
	str	r0, [fp, #-1440]
	ldr	r3, [fp, #-1440]
	cmp	r3, #0
	bne	.L1177
	ldr	r2, [fp, #-1520]
	ldr	r3, [fp, #-1516]
	cmp	r2, r3
	bne	.L1178
	ldr	r3, [fp, #-1516]
	lsl	r3, r3, #1
	str	r3, [fp, #-1516]
	ldr	r3, [fp, #-1516]
	lsl	r3, r3, #2
	mov	r1, r3
	ldr	r0, [fp, #-1512]
	bl	realloc
	str	r0, [fp, #-1512]
.L1178:
	ldr	r3, [fp, #-1504]
	ldr	r1, [r3]
	ldr	r3, [fp, #-1520]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-1512]
	add	r4, r2, r3
	mov	r0, r1
	bl	strdup
	mov	r3, r0
	str	r3, [r4]
	ldr	r3, [fp, #-1520]
	add	r3, r3, #1
	str	r3, [fp, #-1520]
.L1177:
	ldr	r3, [fp, #-1504]
	add	r3, r3, #28
	str	r3, [fp, #-1504]
.L1176:
	ldr	r3, [fp, #-1504]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1179
	b	.L1172
.L1173:
	ldr	r3, [fp, #-1528]
	cmp	r3, #1
	bne	.L1180
	ldr	r3, [fp, #-1168]
	ldr	r1, .L1225+24
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L1180
	ldr	r3, .L1225+80
	str	r3, [fp, #-1500]
	b	.L1181
.L1184:
	ldr	r3, [fp, #-1528]
	lsl	r3, r3, #2
	sub	r2, fp, #12
	add	r3, r2, r3
	ldr	r3, [r3, #-1156]
	str	r3, [fp, #-1436]
	ldr	r3, [fp, #-1500]
	ldr	r4, [r3]
	ldr	r0, [fp, #-1436]
	bl	strlen
	mov	r3, r0
	mov	r2, r3
	mov	r1, r4
	ldr	r0, [fp, #-1436]
	bl	strncmp
	str	r0, [fp, #-1432]
	ldr	r3, [fp, #-1432]
	cmp	r3, #0
	bne	.L1182
	ldr	r2, [fp, #-1520]
	ldr	r3, [fp, #-1516]
	cmp	r2, r3
	bne	.L1183
	ldr	r3, [fp, #-1516]
	lsl	r3, r3, #1
	str	r3, [fp, #-1516]
	ldr	r3, [fp, #-1516]
	lsl	r3, r3, #2
	mov	r1, r3
	ldr	r0, [fp, #-1512]
	bl	realloc
	str	r0, [fp, #-1512]
.L1183:
	ldr	r3, [fp, #-1500]
	ldr	r1, [r3]
	ldr	r3, [fp, #-1520]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-1512]
	add	r4, r2, r3
	mov	r0, r1
	bl	strdup
	mov	r3, r0
	str	r3, [r4]
	ldr	r3, [fp, #-1520]
	add	r3, r3, #1
	str	r3, [fp, #-1520]
.L1182:
	ldr	r3, [fp, #-1500]
	add	r3, r3, #8
	str	r3, [fp, #-1500]
.L1181:
	ldr	r3, [fp, #-1500]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1184
	b	.L1172
.L1226:
	.align	2
.L1225:
	.word	.LC455
	.word	.LC197
	.word	.LC436
	.word	.LC433
	.word	.LC414
	.word	.LC413
	.word	.LC263
	.word	.LC437
	.word	.LC439
	.word	.LC438
	.word	.LC419
	.word	.LC442
	.word	.LC415
	.word	.LC416
	.word	.LC264
	.word	.LC446
	.word	.LC417
	.word	.LC444
	.word	.LC4
	.word	syntaxes
	.word	themes
	.word	.LC402
	.word	.LC404
	.word	.LC451
	.word	.LC452
	.word	.LC450
	.word	global_config
	.word	.LC453
	.word	.LC401
	.word	.LC357
	.word	1022
	.word	.LC454
	.word	.LC455
.L1180:
	ldr	r3, [fp, #-1528]
	cmp	r3, #1
	bne	.L1223
	ldr	r3, [fp, #-1168]
	ldr	r1, .L1225+84
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	beq	.L1185
	ldr	r3, [fp, #-1168]
	ldr	r1, .L1225+88
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L1223
.L1185:
	ldr	r3, [fp, #-1528]
	lsl	r3, r3, #2
	sub	r2, fp, #12
	add	r3, r2, r3
	ldr	r3, [r3, #-1156]
	mov	r0, r3
	bl	strdup
	mov	r3, r0
	str	r3, [fp, #-1428]
	mov	r1, #47
	ldr	r0, [fp, #-1428]
	bl	strrchr
	str	r0, [fp, #-1424]
	ldr	r3, [fp, #-1424]
	cmp	r3, #0
	beq	.L1186
	ldr	r3, [fp, #-1424]
	mov	r2, #0
	strb	r2, [r3]
	ldr	r2, [fp, #-1424]
	ldr	r3, [fp, #-1428]
	cmp	r2, r3
	bne	.L1187
	ldr	r0, .L1225+100
	bl	opendir
	str	r0, [fp, #-1496]
	b	.L1188
.L1187:
	ldr	r0, [fp, #-1428]
	bl	opendir
	str	r0, [fp, #-1496]
	b	.L1188
.L1186:
	ldr	r0, .L1225+92
	bl	opendir
	str	r0, [fp, #-1496]
	ldr	r3, [fp, #-1428]
	mov	r2, #0
	strb	r2, [r3]
.L1188:
	ldr	r3, [fp, #-1496]
	cmp	r3, #0
	bne	.L1189
	ldr	r0, [fp, #-1428]
	bl	free
	b	.L1190
.L1189:
	ldr	r0, [fp, #-1496]
	bl	readdir
	str	r0, [fp, #-1492]
	b	.L1191
.L1202:
	ldr	r3, [fp, #-1492]
	ldrb	r3, [r3, #11]	@ zero_extendqisi2
	cmp	r3, #46
	bne	.L1192
	ldr	r3, [fp, #-1424]
	cmp	r3, #0
	beq	.L1193
	ldr	r3, [fp, #-1424]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #46
	beq	.L1192
	b	.L1194
.L1193:
	ldr	r3, [fp, #-1428]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #46
	bne	.L1194
.L1192:
	ldr	r3, [fp, #-1424]
	cmp	r3, #0
	beq	.L1195
	ldr	r0, [fp, #-1428]
	bl	strlen
	mov	r4, r0
	ldr	r3, [fp, #-1492]
	add	r3, r3, #11
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	add	r3, r4, r3
	add	r3, r3, #2
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-1420]
	ldr	r0, [fp, #-1428]
	bl	strlen
	mov	r4, r0
	ldr	r3, [fp, #-1492]
	add	r3, r3, #11
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	add	r3, r4, r3
	add	r1, r3, #2
	ldr	r3, [fp, #-1492]
	add	r3, r3, #11
	str	r3, [sp]
	ldr	r3, [fp, #-1428]
	ldr	r2, .L1225+96
	ldr	r0, [fp, #-1420]
	bl	snprintf
	sub	r3, fp, #1248
	sub	r3, r3, #12
	mov	r1, r3
	ldr	r0, [fp, #-1420]
	bl	stat
	ldr	r0, [fp, #-1420]
	bl	free
	b	.L1196
.L1195:
	ldr	r3, [fp, #-1492]
	add	r3, r3, #11
	sub	r2, fp, #1248
	sub	r2, r2, #12
	mov	r1, r2
	mov	r0, r3
	bl	stat
.L1196:
	mov	r3, #0
	str	r3, [fp, #-1040]
	sub	r3, fp, #1024
	sub	r3, r3, #12
	mov	r2, #1020
	mov	r1, #0
	mov	r0, r3
	bl	memset
	ldr	r2, [fp, #-1424]
	ldr	r3, [fp, #-1428]
	cmp	r2, r3
	bne	.L1197
	sub	r3, fp, #1024
	sub	r3, r3, #12
	sub	r3, r3, #4
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	mov	r2, r3
	sub	r3, fp, #1024
	sub	r3, r3, #12
	sub	r3, r3, #4
	add	r3, r3, r2
	ldr	r2, .L1225+100
	mov	r0, r3
	mov	r1, r2
	mov	r3, #2
	mov	r2, r3
	bl	memcpy
	b	.L1198
.L1197:
	ldr	r3, [fp, #-1428]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L1198
	sub	r3, fp, #1024
	sub	r3, r3, #12
	sub	r3, r3, #4
	ldr	r1, [fp, #-1428]
	mov	r0, r3
	bl	strcat
	sub	r3, fp, #1024
	sub	r3, r3, #12
	sub	r3, r3, #4
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	mov	r2, r3
	sub	r3, fp, #1024
	sub	r3, r3, #12
	sub	r3, r3, #4
	add	r3, r3, r2
	ldr	r2, .L1225+100
	mov	r0, r3
	mov	r1, r2
	mov	r3, #2
	mov	r2, r3
	bl	memcpy
.L1198:
	ldr	r3, [fp, #-1492]
	add	r2, r3, #11
	sub	r3, fp, #1024
	sub	r3, r3, #12
	sub	r3, r3, #4
	mov	r1, r2
	mov	r0, r3
	bl	strcat
	ldr	r3, [fp, #-1244]
	and	r3, r3, #61440
	cmp	r3, #16384
	bne	.L1199
	sub	r3, fp, #1024
	sub	r3, r3, #12
	sub	r3, r3, #4
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	mov	r2, r3
	sub	r3, fp, #1024
	sub	r3, r3, #12
	sub	r3, r3, #4
	add	r3, r3, r2
	ldr	r2, .L1225+100
	mov	r0, r3
	mov	r1, r2
	mov	r3, #2
	mov	r2, r3
	bl	memcpy
.L1199:
	ldr	r3, [fp, #-1528]
	lsl	r3, r3, #2
	sub	r2, fp, #12
	add	r3, r2, r3
	ldr	r3, [r3, #-1156]
	str	r3, [fp, #-1416]
	ldr	r0, [fp, #-1416]
	bl	strlen
	mov	r2, r0
	sub	r3, fp, #1024
	sub	r3, r3, #12
	sub	r3, r3, #4
	mov	r1, r3
	ldr	r0, [fp, #-1416]
	bl	strncmp
	str	r0, [fp, #-1412]
	ldr	r3, [fp, #-1412]
	cmp	r3, #0
	bne	.L1194
	ldr	r2, [fp, #-1520]
	ldr	r3, [fp, #-1516]
	cmp	r2, r3
	bne	.L1201
	ldr	r3, [fp, #-1516]
	lsl	r3, r3, #1
	str	r3, [fp, #-1516]
	ldr	r3, [fp, #-1516]
	lsl	r3, r3, #2
	mov	r1, r3
	ldr	r0, [fp, #-1512]
	bl	realloc
	str	r0, [fp, #-1512]
.L1201:
	ldr	r3, [fp, #-1520]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-1512]
	add	r4, r2, r3
	sub	r3, fp, #1024
	sub	r3, r3, #12
	sub	r3, r3, #4
	mov	r0, r3
	bl	strdup
	mov	r3, r0
	str	r3, [r4]
	ldr	r3, [fp, #-1520]
	add	r3, r3, #1
	str	r3, [fp, #-1520]
.L1194:
	ldr	r0, [fp, #-1496]
	bl	readdir
	str	r0, [fp, #-1492]
.L1191:
	ldr	r3, [fp, #-1492]
	cmp	r3, #0
	bne	.L1202
	ldr	r0, [fp, #-1496]
	bl	closedir
	ldr	r0, [fp, #-1428]
	bl	free
	b	.L1172
.L1222:
	nop
	b	.L1172
.L1223:
	nop
.L1172:
	ldr	r3, [fp, #-1520]
	cmp	r3, #0
	bne	.L1203
	bl	redraw_statusbar
	b	.L1190
.L1203:
	ldr	r3, [fp, #-1520]
	cmp	r3, #1
	bne	.L1204
	bl	redraw_statusbar
	ldr	r2, [fp, #-1508]
	ldr	r3, [fp, #-1456]
	sub	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-1536]
	add	r3, r3, r2
	str	r3, [fp, #-1488]
	mov	r3, #0
	str	r3, [fp, #-1484]
	b	.L1205
.L1206:
	ldr	r3, [fp, #-1512]
	ldr	r2, [r3]
	ldr	r3, [fp, #-1484]
	add	r3, r2, r3
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-1488]
	strb	r2, [r3]
	ldr	r3, [fp, #-1488]
	add	r3, r3, #1
	str	r3, [fp, #-1488]
	ldr	r3, [fp, #-1484]
	add	r3, r3, #1
	str	r3, [fp, #-1484]
.L1205:
	ldr	r3, [fp, #-1512]
	ldr	r3, [r3]
	mov	r0, r3
	bl	strlen
	mov	r2, r0
	ldr	r3, [fp, #-1484]
	cmp	r3, r2
	bcc	.L1206
	ldr	r3, [fp, #-1488]
	mov	r2, #0
	strb	r2, [r3]
	b	.L1207
.L1204:
	ldr	r3, .L1225+104
	ldr	r3, [r3]
	add	r3, r3, #1
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-1264]
	ldr	r3, .L1225+104
	ldr	r3, [r3]
	add	r3, r3, #1
	mov	r2, r3
	mov	r1, #0
	ldr	r0, [fp, #-1264]
	bl	memset
	mov	r3, #0
	str	r3, [fp, #-1480]
	mov	r3, #0
	str	r3, [fp, #-1476]
	b	.L1208
.L1212:
	ldr	r3, .L1225+104
	ldr	r3, [r3]
	sub	r4, r3, #4
	ldr	r3, [fp, #-1476]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-1512]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	strlen
	mov	r2, r0
	ldr	r3, [fp, #-1480]
	add	r3, r2, r3
	add	r3, r3, #1
	cmp	r4, r3
	bgt	.L1209
	ldr	r0, [fp, #-1264]
	bl	strlen
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-1264]
	add	r3, r3, r2
	ldr	r2, .L1225+108
	mov	r0, r3
	mov	r1, r2
	mov	r3, #4
	mov	r2, r3
	bl	memcpy
	b	.L1210
.L1209:
	ldr	r3, [fp, #-1480]
	cmp	r3, #0
	ble	.L1211
	ldr	r0, [fp, #-1264]
	bl	strlen
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-1264]
	add	r3, r3, r2
	ldr	r2, .L1225+112
	mov	r0, r3
	mov	r1, r2
	mov	r3, #2
	mov	r2, r3
	bl	memcpy
	ldr	r3, [fp, #-1480]
	add	r3, r3, #1
	str	r3, [fp, #-1480]
.L1211:
	ldr	r3, [fp, #-1476]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-1512]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-1264]
	bl	strcat
	ldr	r3, [fp, #-1476]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-1512]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	strlen
	mov	r2, r0
	ldr	r3, [fp, #-1480]
	add	r3, r2, r3
	str	r3, [fp, #-1480]
	ldr	r3, [fp, #-1476]
	add	r3, r3, #1
	str	r3, [fp, #-1476]
.L1208:
	ldr	r2, [fp, #-1476]
	ldr	r3, [fp, #-1520]
	cmp	r2, r3
	blt	.L1212
.L1210:
	ldr	r1, [fp, #-1264]
	ldr	r0, .L1225+116
	bl	render_status_message
	ldr	r0, [fp, #-1264]
	bl	free
	ldr	r2, [fp, #-1508]
	ldr	r3, [fp, #-1456]
	sub	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-1536]
	add	r3, r3, r2
	str	r3, [fp, #-1472]
	mov	r3, #0
	str	r3, [fp, #-1468]
	b	.L1213
.L1218:
	mov	r3, #1
	str	r3, [fp, #-1464]
	b	.L1214
.L1217:
	ldr	r3, [fp, #-1512]
	ldr	r2, [r3]
	ldr	r3, [fp, #-1468]
	add	r3, r2, r3
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-1464]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-1512]
	add	r3, r1, r3
	ldr	r1, [r3]
	ldr	r3, [fp, #-1468]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r2, r3
	bne	.L1224
	ldr	r3, [fp, #-1464]
	add	r3, r3, #1
	str	r3, [fp, #-1464]
.L1214:
	ldr	r2, [fp, #-1464]
	ldr	r3, [fp, #-1520]
	cmp	r2, r3
	blt	.L1217
	ldr	r3, [fp, #-1512]
	ldr	r2, [r3]
	ldr	r3, [fp, #-1468]
	add	r3, r2, r3
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-1472]
	strb	r2, [r3]
	ldr	r3, [fp, #-1472]
	add	r3, r3, #1
	str	r3, [fp, #-1472]
	ldr	r3, [fp, #-1468]
	add	r3, r3, #1
	str	r3, [fp, #-1468]
.L1213:
	ldr	r3, [fp, #-1468]
	ldr	r2, .L1225+120
	cmp	r3, r2
	ble	.L1218
	b	.L1216
.L1224:
	nop
.L1216:
	ldr	r3, [fp, #-1472]
	mov	r2, #0
	strb	r2, [r3]
.L1207:
	mov	r3, #0
	str	r3, [fp, #-1460]
	b	.L1219
.L1220:
	ldr	r3, [fp, #-1460]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-1512]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	free
	ldr	r3, [fp, #-1460]
	add	r3, r3, #1
	str	r3, [fp, #-1460]
.L1219:
	ldr	r2, [fp, #-1460]
	ldr	r3, [fp, #-1520]
	cmp	r2, r3
	blt	.L1220
	nop
.L1190:
	bl	redraw_commandline
	ldr	r1, [fp, #-1536]
	ldr	r0, .L1225+124
	bl	printf
	ldr	r0, [fp, #-1512]
	bl	free
	ldr	r0, [fp, #-1456]
	bl	free
	nop
	ldr	r3, .L1225+128
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L1221
	bl	__stack_chk_fail
.L1221:
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
	.size	command_tab_complete, .-command_tab_complete
	.section	.rodata
	.align	2
.LC456:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	command_mode
	.syntax unified
	.arm
	.fpu softvfp
	.type	command_mode, %function
command_mode:
	@ 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, .L1243
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-1032]
	sub	r3, fp, #1024
	sub	r3, r3, #4
	mov	r2, #1020
	mov	r1, #0
	mov	r0, r3
	bl	memset
	mov	r3, #0
	str	r3, [fp, #-1040]
	bl	redraw_commandline
	mov	r0, #58
	bl	putchar
	bl	show_cursor
	b	.L1228
.L1240:
	ldr	r3, [fp, #-1036]
	cmn	r3, #1
	bne	.L1229
	b	.L1228
.L1229:
	ldr	r3, [fp, #-1036]
	cmp	r3, #27
	beq	.L1242
	ldr	r3, [fp, #-1036]
	cmp	r3, #13
	beq	.L1232
	ldr	r3, [fp, #-1036]
	cmp	r3, #10
	bne	.L1233
.L1232:
	sub	r3, fp, #1024
	sub	r3, r3, #4
	sub	r3, r3, #4
	mov	r0, r3
	bl	process_command
	b	.L1231
.L1233:
	ldr	r3, [fp, #-1036]
	cmp	r3, #9
	bne	.L1234
	sub	r3, fp, #1024
	sub	r3, r3, #4
	sub	r3, r3, #4
	mov	r0, r3
	bl	command_tab_complete
	sub	r3, fp, #1024
	sub	r3, r3, #4
	sub	r3, r3, #4
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	str	r3, [fp, #-1040]
	b	.L1235
.L1234:
	ldr	r3, [fp, #-1036]
	cmp	r3, #8
	beq	.L1236
	ldr	r3, [fp, #-1036]
	cmp	r3, #127
	bne	.L1237
.L1236:
	ldr	r3, [fp, #-1040]
	cmp	r3, #0
	ble	.L1238
	ldr	r3, [fp, #-1040]
	sub	r3, r3, #1
	str	r3, [fp, #-1040]
	sub	r3, fp, #1024
	sub	r3, r3, #4
	sub	r3, r3, #4
	ldr	r2, [fp, #-1040]
	add	r3, r3, r2
	mov	r2, #0
	strb	r2, [r3]
	bl	redraw_commandline
	sub	r3, fp, #1024
	sub	r3, r3, #4
	sub	r3, r3, #4
	mov	r1, r3
	ldr	r0, .L1243+4
	bl	printf
	b	.L1235
.L1238:
	bl	redraw_commandline
	b	.L1231
.L1237:
	ldr	r3, [fp, #-1036]
	and	r1, r3, #255
	sub	r3, fp, #1024
	sub	r3, r3, #4
	sub	r3, r3, #4
	ldr	r2, [fp, #-1040]
	add	r3, r3, r2
	mov	r2, r1
	strb	r2, [r3]
	ldr	r3, [fp, #-1040]
	add	r3, r3, #1
	str	r3, [fp, #-1040]
	ldr	r0, [fp, #-1036]
	bl	putchar
.L1235:
	bl	show_cursor
.L1228:
	mov	r0, #200
	bl	bim_getch_timeout
	str	r0, [fp, #-1036]
	ldr	r3, [fp, #-1036]
	cmp	r3, #0
	bne	.L1240
	b	.L1231
.L1242:
	nop
.L1231:
	nop
	ldr	r3, .L1243
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L1241
	bl	__stack_chk_fail
.L1241:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1244:
	.align	2
.L1243:
	.word	.LC456
	.word	.LC454
	.size	command_mode, .-command_mode
	.align	2
	.global	search_matches
	.syntax unified
	.arm
	.fpu softvfp
	.type	search_matches, %function
search_matches:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L1246
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	b	.L1247
.L1246:
	ldr	r3, [fp, #-24]
	cmp	r3, #1
	bne	.L1248
	ldr	r3, [fp, #-16]
	mov	r0, r3
	bl	tolower
	mov	r4, r0
	ldr	r3, [fp, #-20]
	mov	r0, r3
	bl	tolower
	mov	r3, r0
	cmp	r4, r3
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	b	.L1247
.L1248:
	mov	r3, #0
.L1247:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
	.size	search_matches, .-search_matches
	.align	2
	.global	smart_case
	.syntax unified
	.arm
	.fpu softvfp
	.type	smart_case, %function
smart_case:
	@ 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]
	ldr	r3, .L1255
	ldr	r3, [r3, #84]
	cmp	r3, #0
	bne	.L1250
	mov	r3, #0
	b	.L1251
.L1250:
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-8]
	b	.L1252
.L1254:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	mov	r0, r3
	bl	tolower
	mov	r2, r0
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	cmp	r2, r3
	beq	.L1253
	mov	r3, #0
	b	.L1251
.L1253:
	ldr	r3, [fp, #-8]
	add	r3, r3, #4
	str	r3, [fp, #-8]
.L1252:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1254
	mov	r3, #1
.L1251:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1256:
	.align	2
.L1255:
	.word	global_config
	.size	smart_case, .-smart_case
	.align	2
	.global	find_match
	.syntax unified
	.arm
	.fpu softvfp
	.type	find_match, %function
find_match:
	@ args = 4, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	str	r2, [fp, #-48]
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-44]
	str	r3, [fp, #-32]
	ldr	r0, [fp, #4]
	bl	smart_case
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-40]
	str	r3, [fp, #-28]
	b	.L1258
.L1267:
	ldr	r3, .L1269
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-28]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-32]
	sub	r3, r3, #1
	str	r3, [fp, #-24]
	b	.L1259
.L1266:
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #4]
	str	r3, [fp, #-16]
	b	.L1260
.L1265:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1261
	ldr	r3, [fp, #-48]
	ldr	r2, [fp, #-28]
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	add	r2, r3, #1
	ldr	r3, [fp, #-52]
	str	r2, [r3]
	b	.L1257
.L1261:
	ldr	r3, [fp, #-16]
	ldr	r0, [r3]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-20]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	ldr	r2, [fp, #-12]
	mov	r1, r3
	bl	search_matches
	mov	r3, r0
	cmp	r3, #0
	beq	.L1268
	ldr	r3, [fp, #-16]
	add	r3, r3, #4
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L1260:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	ble	.L1265
	b	.L1264
.L1268:
	nop
.L1264:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L1259:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	ble	.L1266
	mov	r3, #0
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L1258:
	ldr	r3, .L1269
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	ldr	r2, [fp, #-28]
	cmp	r2, r3
	ble	.L1267
.L1257:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1270:
	.align	2
.L1269:
	.word	env
	.size	find_match, .-find_match
	.align	2
	.global	find_match_backwards
	.syntax unified
	.arm
	.fpu softvfp
	.type	find_match_backwards, %function
find_match_backwards:
	@ args = 4, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	str	r2, [fp, #-48]
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-44]
	str	r3, [fp, #-32]
	ldr	r0, [fp, #4]
	bl	smart_case
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-40]
	str	r3, [fp, #-28]
	b	.L1272
.L1283:
	ldr	r3, .L1285
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-28]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-32]
	sub	r3, r3, #1
	str	r3, [fp, #-24]
	b	.L1273
.L1280:
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #4]
	str	r3, [fp, #-16]
	b	.L1274
.L1279:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1275
	ldr	r3, [fp, #-48]
	ldr	r2, [fp, #-28]
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	add	r2, r3, #1
	ldr	r3, [fp, #-52]
	str	r2, [r3]
	b	.L1271
.L1275:
	ldr	r3, [fp, #-16]
	ldr	r0, [r3]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-20]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	ldr	r2, [fp, #-12]
	mov	r1, r3
	bl	search_matches
	mov	r3, r0
	cmp	r3, #0
	beq	.L1284
	ldr	r3, [fp, #-16]
	add	r3, r3, #4
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L1274:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	ble	.L1279
	b	.L1278
.L1284:
	nop
.L1278:
	ldr	r3, [fp, #-24]
	sub	r3, r3, #1
	str	r3, [fp, #-24]
.L1273:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bge	.L1280
	ldr	r3, [fp, #-28]
	cmp	r3, #1
	ble	.L1281
	ldr	r3, .L1285
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-28]
	sub	r3, r3, #-1073741822
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	b	.L1282
.L1281:
	mvn	r3, #0
.L1282:
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-28]
	sub	r3, r3, #1
	str	r3, [fp, #-28]
.L1272:
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bgt	.L1283
.L1271:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1286:
	.align	2
.L1285:
	.word	env
	.size	find_match_backwards, .-find_match_backwards
	.section	.rodata
	.align	2
.LC457:
	.ascii	"?\000"
	.align	2
.LC458:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	draw_search_match
	.syntax unified
	.arm
	.fpu softvfp
	.type	draw_search_match, %function
draw_search_match:
	@ args = 0, pretend = 0, frame = 64
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #72
	str	r0, [fp, #-64]
	str	r1, [fp, #-68]
	ldr	r3, .L1303
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-48]
	b	.L1288
.L1291:
	mov	r3, #0
	str	r3, [fp, #-44]
	b	.L1289
.L1290:
	ldr	r3, .L1303+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-44]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	add	r3, r3, #4
	ldrh	r3, [r3]
	lsr	r3, r3, #4
	and	r3, r3, #127
	and	r3, r3, #255
	ldr	r2, .L1303+4
	ldr	r2, [r2]
	ldr	r1, [r2, #48]
	ldr	r2, [fp, #-48]
	lsl	r2, r2, #2
	add	r2, r1, r2
	ldr	r1, [r2]
	and	r3, r3, #95
	and	r3, r3, #255
	ldr	r2, [fp, #-44]
	add	r2, r2, #2
	lsl	r2, r2, #2
	add	r2, r1, r2
	add	r1, r2, #4
	ldrh	r2, [r1]	@ movhi
	and	r3, r3, #127
	bic	r2, r2, #2032
	lsl	r3, r3, #4
	orr	r3, r3, r2
	mov	r2, r3	@ movhi
	strh	r2, [r1]	@ movhi
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L1289:
	ldr	r3, .L1303+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-44]
	cmp	r2, r3
	blt	.L1290
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-48]
.L1288:
	ldr	r3, .L1303+4
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	ldr	r2, [fp, #-48]
	cmp	r2, r3
	blt	.L1291
	mvn	r3, #0
	str	r3, [fp, #-56]
	mvn	r3, #0
	str	r3, [fp, #-52]
	mov	r3, #1
	str	r3, [fp, #-40]
	mov	r3, #1
	str	r3, [fp, #-36]
.L1295:
	sub	r1, fp, #52
	sub	r2, fp, #56
	ldr	r3, [fp, #-64]
	str	r3, [sp]
	mov	r3, r1
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-40]
	bl	find_match
	ldr	r3, [fp, #-56]
	cmn	r3, #1
	beq	.L1292
	ldr	r3, .L1303+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-56]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-64]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-52]
	str	r3, [fp, #-28]
	b	.L1293
.L1294:
	ldr	r3, [fp, #-28]
	sub	r3, r3, #1
	ldr	r2, [fp, #-20]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	add	r3, r3, #4
	ldrh	r3, [r3]
	lsr	r3, r3, #4
	and	r3, r3, #127
	and	r3, r3, #255
	ldr	r2, [fp, #-28]
	sub	r2, r2, #1
	orr	r3, r3, #32
	and	r3, r3, #255
	ldr	r1, [fp, #-20]
	add	r2, r2, #2
	lsl	r2, r2, #2
	add	r2, r1, r2
	add	r1, r2, #4
	ldrh	r2, [r1]	@ movhi
	and	r3, r3, #127
	bic	r2, r2, #2032
	lsl	r3, r3, #4
	orr	r3, r3, r2
	mov	r2, r3	@ movhi
	strh	r2, [r1]	@ movhi
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-32]
	add	r3, r3, #4
	str	r3, [fp, #-32]
.L1293:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1294
.L1292:
	ldr	r3, [fp, #-56]
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	str	r3, [fp, #-36]
	mvn	r3, #0
	str	r3, [fp, #-56]
	mvn	r3, #0
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-40]
	cmn	r3, #1
	bne	.L1295
	bl	redraw_text
	bl	place_cursor_actual
	bl	redraw_statusbar
	bl	redraw_commandline
	ldr	r3, [fp, #-68]
	cmn	r3, #1
	beq	.L1302
	ldr	r3, [fp, #-68]
	cmp	r3, #1
	bne	.L1297
	ldr	r3, .L1303+8
	b	.L1298
.L1297:
	ldr	r3, .L1303+12
.L1298:
	mov	r0, r3
	bl	printf
	ldr	r3, [fp, #-64]
	str	r3, [fp, #-24]
	b	.L1299
.L1300:
	mov	r3, #0
	str	r3, [fp, #-16]
	sub	r3, fp, #12
	mov	r2, #0
	strh	r2, [r3]	@ movhi
	strb	r2, [r3, #2]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	sub	r2, fp, #16
	mov	r1, r2
	mov	r0, r3
	bl	to_eight
	sub	r3, fp, #16
	mov	r1, r3
	ldr	r0, .L1303+16
	bl	printf
	ldr	r3, [fp, #-24]
	add	r3, r3, #4
	str	r3, [fp, #-24]
.L1299:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1300
.L1302:
	nop
	ldr	r3, .L1303
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L1301
	bl	__stack_chk_fail
.L1301:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1304:
	.align	2
.L1303:
	.word	.LC458
	.word	env
	.word	.LC450
	.word	.LC457
	.word	.LC357
	.size	draw_search_match, .-draw_search_match
	.section	.rodata
	.align	2
.LC459:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	search_mode
	.syntax unified
	.arm
	.fpu softvfp
	.type	search_mode, %function
search_mode:
	@ args = 0, pretend = 0, frame = 4168
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #4160
	sub	sp, sp, #20
	sub	r3, fp, #4096
	sub	r3, r3, #12
	str	r0, [r3, #-68]
	ldr	r3, .L1334
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	sub	r3, fp, #4096
	sub	r3, r3, #12
	sub	r3, r3, #12
	mov	r2, #4096
	mov	r1, #0
	mov	r0, r3
	bl	memset
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-44]
	ldr	r3, .L1334+4
	ldr	r3, [r3]
	sub	r2, fp, #4096
	sub	r2, r2, #12
	ldr	r3, [r3, #20]
	str	r3, [r2, #-32]
	ldr	r3, .L1334+4
	ldr	r3, [r3]
	sub	r2, fp, #4096
	sub	r2, r2, #12
	ldr	r3, [r3, #32]
	str	r3, [r2, #-28]
	ldr	r3, .L1334+4
	ldr	r3, [r3]
	sub	r2, fp, #4096
	sub	r2, r2, #12
	ldr	r3, [r3, #16]
	str	r3, [r2, #-24]
	ldr	r3, .L1334+4
	ldr	r3, [r3]
	sub	r2, fp, #4096
	sub	r2, r2, #12
	ldr	r3, [r3, #12]
	str	r3, [r2, #-20]
	bl	redraw_commandline
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-68]
	cmp	r3, #1
	bne	.L1306
	ldr	r3, .L1334+8
	b	.L1307
.L1306:
	ldr	r3, .L1334+12
.L1307:
	mov	r0, r3
	bl	printf
	bl	show_cursor
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-56]
	b	.L1308
.L1332:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-16]
	cmn	r3, #1
	bne	.L1309
	b	.L1308
.L1309:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r2, [r3, #-16]
	sub	r1, fp, #4096
	sub	r1, r1, #12
	sub	r1, r1, #60
	sub	r3, fp, #4096
	sub	r3, r3, #12
	sub	r3, r3, #56
	mov	r0, r3
	bl	decode
	mov	r3, r0
	cmp	r3, #0
	bne	.L1310
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-60]
	cmp	r3, #27
	bne	.L1311
	ldr	r3, .L1334+4
	ldr	r3, [r3]
	sub	r2, fp, #4096
	sub	r2, r2, #12
	ldr	r2, [r2, #-32]
	str	r2, [r3, #20]
	ldr	r3, .L1334+4
	ldr	r3, [r3]
	sub	r2, fp, #4096
	sub	r2, r2, #12
	ldr	r2, [r2, #-28]
	str	r2, [r3, #32]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-40]
	b	.L1312
.L1315:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-36]
	b	.L1313
.L1314:
	ldr	r3, .L1334+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-40]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-36]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	add	r3, r3, #4
	ldrh	r3, [r3]
	lsr	r3, r3, #4
	and	r3, r3, #127
	and	r3, r3, #255
	ldr	r2, .L1334+4
	ldr	r2, [r2]
	ldr	r1, [r2, #48]
	sub	r2, fp, #4096
	sub	r2, r2, #12
	ldr	r2, [r2, #-40]
	lsl	r2, r2, #2
	add	r2, r1, r2
	ldr	r1, [r2]
	and	r3, r3, #95
	and	r3, r3, #255
	sub	r2, fp, #4096
	sub	r2, r2, #12
	ldr	r2, [r2, #-36]
	add	r2, r2, #2
	lsl	r2, r2, #2
	add	r2, r1, r2
	add	r1, r2, #4
	ldrh	r2, [r1]	@ movhi
	and	r3, r3, #127
	bic	r2, r2, #2032
	lsl	r3, r3, #4
	orr	r3, r3, r2
	mov	r2, r3	@ movhi
	strh	r2, [r1]	@ movhi
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-36]
	add	r3, r3, #1
	str	r3, [r2, #-36]
.L1313:
	ldr	r3, .L1334+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-40]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	sub	r2, fp, #4096
	sub	r2, r2, #12
	ldr	r2, [r2, #-36]
	cmp	r2, r3
	blt	.L1314
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-40]
	add	r3, r3, #1
	str	r3, [r2, #-40]
.L1312:
	ldr	r3, .L1334+4
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	sub	r2, fp, #4096
	sub	r2, r2, #12
	ldr	r2, [r2, #-40]
	cmp	r2, r3
	blt	.L1315
	bl	redraw_all
	b	.L1316
.L1311:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-60]
	cmp	r3, #13
	beq	.L1317
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-60]
	cmp	r3, #10
	bne	.L1318
.L1317:
	ldr	r3, .L1334+4
	ldr	r3, [r3]
	ldr	r3, [r3, #40]
	cmp	r3, #0
	beq	.L1319
	ldr	r3, .L1334+4
	ldr	r3, [r3]
	ldr	r3, [r3, #40]
	mov	r0, r3
	bl	free
.L1319:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-44]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, .L1334+4
	ldr	r4, [r2]
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [r4, #40]
	ldr	r3, .L1334+4
	ldr	r3, [r3]
	ldr	r0, [r3, #40]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-44]
	add	r3, r3, #1
	lsl	r2, r3, #2
	sub	r3, fp, #4096
	sub	r3, r3, #12
	sub	r3, r3, #12
	mov	r1, r3
	bl	memcpy
	b	.L1316
.L1318:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-60]
	cmp	r3, #8
	beq	.L1320
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-60]
	cmp	r3, #127
	bne	.L1321
.L1320:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-44]
	cmp	r3, #0
	ble	.L1322
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-44]
	sub	r3, r3, #1
	str	r3, [r2, #-44]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-44]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3, #-12]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	mvn	r3, #0
	str	r3, [r2, #-52]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	mvn	r3, #0
	str	r3, [r2, #-48]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-68]
	cmp	r3, #1
	bne	.L1323
	sub	r1, fp, #4096
	sub	r1, r1, #12
	sub	r1, r1, #48
	sub	r2, fp, #4096
	sub	r2, r2, #12
	sub	r2, r2, #52
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	ip, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r0, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	sub	r3, r3, #12
	str	r3, [sp]
	mov	r3, r1
	ldr	r1, [ip, #-28]
	ldr	r0, [r0, #-32]
	bl	find_match
	b	.L1324
.L1323:
	sub	r1, fp, #4096
	sub	r1, r1, #12
	sub	r1, r1, #48
	sub	r2, fp, #4096
	sub	r2, r2, #12
	sub	r2, r2, #52
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	ip, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r0, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	sub	r3, r3, #12
	str	r3, [sp]
	mov	r3, r1
	ldr	r1, [ip, #-28]
	ldr	r0, [r0, #-32]
	bl	find_match_backwards
.L1324:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-52]
	cmn	r3, #1
	beq	.L1325
	ldr	r3, .L1334+4
	ldr	r3, [r3]
	sub	r2, fp, #4096
	sub	r2, r2, #12
	ldr	r2, [r2, #-48]
	str	r2, [r3, #32]
	ldr	r3, .L1334+4
	ldr	r3, [r3]
	sub	r2, fp, #4096
	sub	r2, r2, #12
	ldr	r2, [r2, #-52]
	str	r2, [r3, #20]
	bl	set_preferred_column
.L1325:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	sub	r3, r3, #12
	ldr	r1, [r2, #-68]
	mov	r0, r3
	bl	draw_search_match
	b	.L1327
.L1322:
	bl	redraw_commandline
	ldr	r3, .L1334+4
	ldr	r3, [r3]
	sub	r2, fp, #4096
	sub	r2, r2, #12
	ldr	r2, [r2, #-24]
	str	r2, [r3, #16]
	ldr	r3, .L1334+4
	ldr	r3, [r3]
	sub	r2, fp, #4096
	sub	r2, r2, #12
	ldr	r2, [r2, #-20]
	str	r2, [r3, #12]
	ldr	r3, .L1334+4
	ldr	r3, [r3]
	sub	r2, fp, #4096
	sub	r2, r2, #12
	ldr	r2, [r2, #-28]
	str	r2, [r3, #32]
	bl	set_preferred_column
	ldr	r3, .L1334+4
	ldr	r3, [r3]
	sub	r2, fp, #4096
	sub	r2, r2, #12
	ldr	r2, [r2, #-32]
	str	r2, [r3, #20]
	bl	redraw_all
	b	.L1316
.L1321:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r2, [r3, #-60]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r1, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-44]
	lsl	r3, r3, #2
	add	r3, r1, r3
	str	r2, [r3, #-12]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-44]
	add	r3, r3, #1
	str	r3, [r2, #-44]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-44]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3, #-12]
	mov	r3, #0
	str	r3, [fp, #-24]
	sub	r3, fp, #20
	mov	r2, #0
	strh	r2, [r3]	@ movhi
	strb	r2, [r3, #2]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-60]
	sub	r2, fp, #24
	mov	r1, r2
	mov	r0, r3
	bl	to_eight
	sub	r3, fp, #24
	mov	r1, r3
	ldr	r0, .L1334+16
	bl	printf
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	mvn	r3, #0
	str	r3, [r2, #-52]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	mvn	r3, #0
	str	r3, [r2, #-48]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-68]
	cmp	r3, #1
	bne	.L1328
	sub	r1, fp, #4096
	sub	r1, r1, #12
	sub	r1, r1, #48
	sub	r2, fp, #4096
	sub	r2, r2, #12
	sub	r2, r2, #52
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	ip, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r0, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	sub	r3, r3, #12
	str	r3, [sp]
	mov	r3, r1
	ldr	r1, [ip, #-28]
	ldr	r0, [r0, #-32]
	bl	find_match
	b	.L1329
.L1328:
	sub	r1, fp, #4096
	sub	r1, r1, #12
	sub	r1, r1, #48
	sub	r2, fp, #4096
	sub	r2, r2, #12
	sub	r2, r2, #52
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	ip, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r0, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	sub	r3, r3, #12
	str	r3, [sp]
	mov	r3, r1
	ldr	r1, [ip, #-28]
	ldr	r0, [r0, #-32]
	bl	find_match_backwards
.L1329:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-52]
	cmn	r3, #1
	beq	.L1330
	ldr	r3, .L1334+4
	ldr	r3, [r3]
	sub	r2, fp, #4096
	sub	r2, r2, #12
	ldr	r2, [r2, #-48]
	str	r2, [r3, #32]
	ldr	r3, .L1334+4
	ldr	r3, [r3]
	sub	r2, fp, #4096
	sub	r2, r2, #12
	ldr	r2, [r2, #-52]
	str	r2, [r3, #20]
	bl	set_preferred_column
	b	.L1331
.L1330:
	ldr	r3, .L1334+4
	ldr	r3, [r3]
	sub	r2, fp, #4096
	sub	r2, r2, #12
	ldr	r2, [r2, #-24]
	str	r2, [r3, #16]
	ldr	r3, .L1334+4
	ldr	r3, [r3]
	sub	r2, fp, #4096
	sub	r2, r2, #12
	ldr	r2, [r2, #-20]
	str	r2, [r3, #12]
	ldr	r3, .L1334+4
	ldr	r3, [r3]
	sub	r2, fp, #4096
	sub	r2, r2, #12
	ldr	r2, [r2, #-28]
	str	r2, [r3, #32]
	bl	set_preferred_column
	ldr	r3, .L1334+4
	ldr	r3, [r3]
	sub	r2, fp, #4096
	sub	r2, r2, #12
	ldr	r2, [r2, #-32]
	str	r2, [r3, #20]
.L1331:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	sub	r3, r3, #12
	ldr	r1, [r2, #-68]
	mov	r0, r3
	bl	draw_search_match
.L1327:
	bl	show_cursor
	b	.L1308
.L1310:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-56]
	sub	r2, fp, #4096
	sub	r2, r2, #12
	mov	r1, r2
	sub	r2, fp, #4096
	sub	r2, r2, #12
	ldr	r2, [r2, #-44]
	str	r2, [r1, #-44]
	cmp	r3, #1
	bne	.L1308
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-56]
.L1308:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r4, r3
	mov	r0, #200
	bl	bim_getch_timeout
	str	r0, [r4, #-16]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-16]
	cmp	r3, #0
	bne	.L1332
.L1316:
	nop
	ldr	r3, .L1334
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L1333
	bl	__stack_chk_fail
.L1333:
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L1335:
	.align	2
.L1334:
	.word	.LC459
	.word	env
	.word	.LC450
	.word	.LC457
	.word	.LC357
	.size	search_mode, .-search_mode
	.section	.rodata
	.align	2
.LC460:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	search_next
	.syntax unified
	.arm
	.fpu softvfp
	.type	search_next, %function
search_next:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	ldr	r3, .L1345
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L1345+4
	ldr	r3, [r3]
	ldr	r3, [r3, #40]
	cmp	r3, #0
	beq	.L1343
	ldr	r3, .L1345+4
	ldr	r3, [r3]
	ldr	r3, [r3, #16]
	cmp	r3, #0
	beq	.L1339
	ldr	r3, .L1345+4
	ldr	r3, [r3]
	mov	r2, #0
	str	r2, [r3, #16]
.L1339:
	mvn	r3, #0
	str	r3, [fp, #-16]
	mvn	r3, #0
	str	r3, [fp, #-12]
	ldr	r3, .L1345+4
	ldr	r3, [r3]
	ldr	r0, [r3, #20]
	ldr	r3, .L1345+4
	ldr	r3, [r3]
	ldr	r3, [r3, #32]
	add	r1, r3, #1
	ldr	r3, .L1345+4
	ldr	r3, [r3]
	ldr	r3, [r3, #40]
	sub	ip, fp, #12
	sub	r2, fp, #16
	str	r3, [sp]
	mov	r3, ip
	bl	find_match
	ldr	r3, [fp, #-16]
	cmn	r3, #1
	bne	.L1340
	ldr	r3, .L1345+4
	ldr	r3, [r3]
	ldr	r3, [r3, #40]
	sub	r1, fp, #12
	sub	r2, fp, #16
	str	r3, [sp]
	mov	r3, r1
	mov	r1, #1
	mov	r0, #1
	bl	find_match
	ldr	r3, [fp, #-16]
	cmn	r3, #1
	beq	.L1344
.L1340:
	ldr	r3, .L1345+4
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #32]
	ldr	r3, .L1345+4
	ldr	r3, [r3]
	ldr	r2, [fp, #-16]
	str	r2, [r3, #20]
	bl	set_preferred_column
	ldr	r3, .L1345+4
	ldr	r3, [r3]
	ldr	r3, [r3, #40]
	mvn	r1, #0
	mov	r0, r3
	bl	draw_search_match
	b	.L1336
.L1343:
	nop
	b	.L1336
.L1344:
	nop
.L1336:
	ldr	r3, .L1345
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L1342
	bl	__stack_chk_fail
.L1342:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1346:
	.align	2
.L1345:
	.word	.LC460
	.word	env
	.size	search_next, .-search_next
	.section	.rodata
	.align	2
.LC461:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	search_prev
	.syntax unified
	.arm
	.fpu softvfp
	.type	search_prev, %function
search_prev:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	ldr	r3, .L1356
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L1356+4
	ldr	r3, [r3]
	ldr	r3, [r3, #40]
	cmp	r3, #0
	beq	.L1354
	ldr	r3, .L1356+4
	ldr	r3, [r3]
	ldr	r3, [r3, #16]
	cmp	r3, #0
	beq	.L1350
	ldr	r3, .L1356+4
	ldr	r3, [r3]
	mov	r2, #0
	str	r2, [r3, #16]
.L1350:
	mvn	r3, #0
	str	r3, [fp, #-16]
	mvn	r3, #0
	str	r3, [fp, #-12]
	ldr	r3, .L1356+4
	ldr	r3, [r3]
	ldr	r0, [r3, #20]
	ldr	r3, .L1356+4
	ldr	r3, [r3]
	ldr	r3, [r3, #32]
	sub	r1, r3, #1
	ldr	r3, .L1356+4
	ldr	r3, [r3]
	ldr	r3, [r3, #40]
	sub	ip, fp, #12
	sub	r2, fp, #16
	str	r3, [sp]
	mov	r3, ip
	bl	find_match_backwards
	ldr	r3, [fp, #-16]
	cmn	r3, #1
	bne	.L1351
	ldr	r3, .L1356+4
	ldr	r3, [r3]
	ldr	r0, [r3, #24]
	ldr	r3, .L1356+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, .L1356+4
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, [r3, #4]
	ldr	r3, .L1356+4
	ldr	r3, [r3]
	ldr	r3, [r3, #40]
	sub	ip, fp, #12
	sub	r2, fp, #16
	str	r3, [sp]
	mov	r3, ip
	bl	find_match_backwards
	ldr	r3, [fp, #-16]
	cmn	r3, #1
	beq	.L1355
.L1351:
	ldr	r3, .L1356+4
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #32]
	ldr	r3, .L1356+4
	ldr	r3, [r3]
	ldr	r2, [fp, #-16]
	str	r2, [r3, #20]
	bl	set_preferred_column
	ldr	r3, .L1356+4
	ldr	r3, [r3]
	ldr	r3, [r3, #40]
	mvn	r1, #0
	mov	r0, r3
	bl	draw_search_match
	b	.L1347
.L1354:
	nop
	b	.L1347
.L1355:
	nop
.L1347:
	ldr	r3, .L1356
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L1353
	bl	__stack_chk_fail
.L1353:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1357:
	.align	2
.L1356:
	.word	.LC461
	.word	env
	.size	search_prev, .-search_prev
	.align	2
	.global	find_matching_paren
	.syntax unified
	.arm
	.fpu softvfp
	.type	find_matching_paren, %function
find_matching_paren:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #44
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	ldr	r3, .L1386
	ldr	r3, [r3]
	ldr	r2, [r3, #32]
	ldr	r3, .L1386
	ldr	r3, [r3]
	ldr	r1, [r3, #48]
	ldr	r3, .L1386
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	cmp	r2, r3
	bgt	.L1382
	mov	r3, #0
	str	r3, [fp, #-36]
	mov	r3, #0
	str	r3, [fp, #-32]
	ldr	r3, .L1386
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, .L1386
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, .L1386
	ldr	r3, [r3]
	ldr	r3, [r3, #32]
	sub	r3, r3, #1
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	str	r3, [fp, #-12]
	ldr	r3, .L1386
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, .L1386
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, .L1386
	ldr	r3, [r3]
	ldr	r3, [r3, #32]
	sub	r3, r3, #1
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	add	r3, r3, #4
	ldrh	r3, [r3]
	lsr	r3, r3, #4
	and	r3, r3, #127
	and	r3, r3, #255
	and	r3, r3, #15
	str	r3, [fp, #-8]
	mov	r3, #0
	str	r3, [fp, #-28]
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L1361
.L1368:
	ldr	r3, .L1386+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-12]
	cmp	r3, r2
	bne	.L1362
	ldr	r3, [fp, #-24]
	and	r3, r3, #1
	cmp	r3, #0
	bne	.L1363
	mov	r3, #1
	b	.L1364
.L1363:
	mvn	r3, #0
.L1364:
	str	r3, [fp, #-32]
	ldr	r3, .L1386+4
	ldr	r3, [r3]
	ldr	r2, [fp, #-24]
	and	r2, r2, #1
	cmp	r2, #0
	bne	.L1365
	ldr	r2, [fp, #-24]
	add	r2, r2, #1
	b	.L1366
.L1365:
	ldr	r2, [fp, #-24]
	sub	r2, r2, #1
.L1366:
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-36]
	b	.L1367
.L1362:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L1361:
	ldr	r3, .L1386+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L1368
.L1367:
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L1383
	ldr	r3, .L1386
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	str	r3, [fp, #-20]
	ldr	r3, .L1386
	ldr	r3, [r3]
	ldr	r3, [r3, #32]
	str	r3, [fp, #-16]
	b	.L1370
.L1375:
	ldr	r3, .L1386
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	sub	r3, r3, #1
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	add	r3, r3, #4
	ldrh	r3, [r3]
	lsr	r3, r3, #4
	and	r3, r3, #127
	and	r3, r3, #255
	and	r3, r3, #15
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	bne	.L1371
	ldr	r3, .L1386
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	sub	r3, r3, #1
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	mov	r2, r3
	ldr	r3, [fp, #-12]
	cmp	r3, r2
	bne	.L1372
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L1372:
	ldr	r3, .L1386
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	sub	r3, r3, #1
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	mov	r2, r3
	ldr	r3, [fp, #-36]
	cmp	r3, r2
	bne	.L1371
	ldr	r3, [fp, #-28]
	sub	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	beq	.L1384
.L1371:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-32]
	add	r3, r2, r3
	str	r3, [fp, #-16]
.L1370:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	ble	.L1374
	ldr	r3, .L1386
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	ble	.L1375
.L1374:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-32]
	add	r3, r2, r3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L1385
	ldr	r3, .L1386
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	add	r3, r3, #1
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	beq	.L1385
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	ble	.L1378
	mov	r3, #1
	str	r3, [fp, #-16]
	b	.L1370
.L1378:
	ldr	r3, .L1386
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-16]
	b	.L1370
.L1384:
	nop
.L1373:
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	ldr	r3, [fp, #-44]
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	b	.L1358
.L1382:
	nop
	b	.L1358
.L1383:
	nop
	b	.L1358
.L1385:
	nop
.L1358:
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L1387:
	.align	2
.L1386:
	.word	env
	.word	paren_pairs
	.size	find_matching_paren, .-find_matching_paren
	.section	.rodata
	.align	2
.LC462:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	handle_mouse
	.syntax unified
	.arm
	.fpu softvfp
	.type	handle_mouse, %function
handle_mouse:
	@ args = 0, pretend = 0, frame = 128
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #128
	ldr	r3, .L1416
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r0, #200
	bl	bim_getch_timeout
	mov	r3, r0
	sub	r3, r3, #32
	str	r3, [fp, #-96]
	mov	r0, #200
	bl	bim_getch_timeout
	mov	r3, r0
	sub	r3, r3, #32
	str	r3, [fp, #-92]
	mov	r0, #200
	bl	bim_getch_timeout
	mov	r3, r0
	sub	r3, r3, #32
	str	r3, [fp, #-88]
	ldr	r3, [fp, #-96]
	cmp	r3, #64
	bne	.L1389
	mov	r3, #0
	str	r3, [fp, #-128]
	b	.L1390
.L1391:
	bl	cursor_up
	ldr	r3, [fp, #-128]
	add	r3, r3, #1
	str	r3, [fp, #-128]
.L1390:
	ldr	r3, [fp, #-128]
	cmp	r3, #4
	ble	.L1391
	b	.L1388
.L1389:
	ldr	r3, [fp, #-96]
	cmp	r3, #65
	bne	.L1393
	mov	r3, #0
	str	r3, [fp, #-124]
	b	.L1394
.L1395:
	bl	cursor_down
	ldr	r3, [fp, #-124]
	add	r3, r3, #1
	str	r3, [fp, #-124]
.L1394:
	ldr	r3, [fp, #-124]
	cmp	r3, #4
	ble	.L1395
	b	.L1388
.L1393:
	ldr	r3, [fp, #-96]
	cmp	r3, #3
	bne	.L1413
	ldr	r3, [fp, #-92]
	cmp	r3, #0
	blt	.L1414
	ldr	r3, [fp, #-88]
	cmp	r3, #0
	blt	.L1415
	ldr	r3, [fp, #-88]
	cmp	r3, #1
	bne	.L1399
	mov	r3, #0
	str	r3, [fp, #-120]
	mov	r3, #0
	str	r3, [fp, #-116]
	b	.L1400
.L1402:
	ldr	r3, .L1416+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-116]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-76]
	sub	r3, fp, #72
	mov	r1, r3
	ldr	r0, [fp, #-76]
	bl	draw_tab_name
	mov	r2, r0
	ldr	r3, [fp, #-120]
	add	r3, r3, r2
	str	r3, [fp, #-120]
	ldr	r2, [fp, #-120]
	ldr	r3, [fp, #-92]
	cmp	r2, r3
	blt	.L1401
	ldr	r3, .L1416+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-116]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, .L1416+8
	str	r3, [r2]
	bl	redraw_all
	b	.L1388
.L1401:
	ldr	r3, [fp, #-116]
	add	r3, r3, #1
	str	r3, [fp, #-116]
.L1400:
	ldr	r3, .L1416+12
	ldr	r3, [r3]
	ldr	r2, [fp, #-116]
	cmp	r2, r3
	blt	.L1402
	b	.L1388
.L1399:
	ldr	r3, .L1416+8
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-88]
	add	r3, r2, r3
	sub	r3, r3, #1
	str	r3, [fp, #-112]
	mvn	r3, #0
	str	r3, [fp, #-108]
	ldr	r3, .L1416+8
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	ldr	r2, [fp, #-112]
	cmp	r2, r3
	ble	.L1403
	ldr	r3, .L1416+8
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	str	r3, [fp, #-112]
.L1403:
	bl	num_width
	mov	r3, r0
	add	r3, r3, #3
	str	r3, [fp, #-84]
	ldr	r3, .L1416+8
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-112]
	cmp	r2, r3
	bne	.L1404
	ldr	r3, .L1416+8
	ldr	r3, [r3]
	ldr	r3, [r3, #16]
	b	.L1405
.L1404:
	mov	r3, #0
.L1405:
	ldr	r2, [fp, #-84]
	sub	r3, r2, r3
	str	r3, [fp, #-104]
	mov	r3, #0
	str	r3, [fp, #-100]
	b	.L1406
.L1409:
	ldr	r3, .L1416+8
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-112]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-100]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	add	r3, r3, #4
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-80]
	ldrb	r3, [r3]
	and	r3, r3, #15
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-104]
	add	r3, r3, r2
	str	r3, [fp, #-104]
	ldr	r2, [fp, #-92]
	ldr	r3, [fp, #-104]
	cmp	r2, r3
	bgt	.L1407
	ldr	r3, [fp, #-100]
	add	r3, r3, #1
	str	r3, [fp, #-108]
	b	.L1408
.L1407:
	ldr	r3, [fp, #-100]
	add	r3, r3, #1
	str	r3, [fp, #-100]
.L1406:
	ldr	r3, .L1416+8
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-112]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-100]
	cmp	r2, r3
	blt	.L1409
.L1408:
	ldr	r3, [fp, #-108]
	cmn	r3, #1
	beq	.L1410
	ldr	r3, .L1416+8
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-112]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-108]
	cmp	r2, r3
	ble	.L1411
.L1410:
	ldr	r3, .L1416+8
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-112]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-108]
.L1411:
	ldr	r3, .L1416+8
	ldr	r3, [r3]
	ldr	r2, [fp, #-112]
	str	r2, [r3, #20]
	ldr	r3, .L1416+8
	ldr	r3, [r3]
	ldr	r2, [fp, #-108]
	str	r2, [r3, #32]
	bl	set_preferred_column
	bl	place_cursor_actual
.L1413:
	nop
	b	.L1388
.L1414:
	nop
	b	.L1388
.L1415:
	nop
.L1388:
	ldr	r3, .L1416
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L1412
	bl	__stack_chk_fail
.L1412:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1417:
	.align	2
.L1416:
	.word	.LC462
	.word	buffers
	.word	env
	.word	buffers_len
	.size	handle_mouse, .-handle_mouse
	.section	.rodata
	.align	2
.LC463:
	.ascii	"Inserted nil byte?\000"
	.text
	.align	2
	.global	insert_char
	.syntax unified
	.arm
	.fpu softvfp
	.type	insert_char, %function
insert_char:
	@ 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]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L1419
	ldr	r0, .L1422
	bl	render_error
	b	.L1418
.L1419:
	ldr	r3, [fp, #-24]
	bic	r2, r3, #-16777216
	bic	r2, r2, #14680064
	ldr	r3, [fp, #-16]
	lsl	r2, r2, #11
	lsl	r3, r3, #21
	lsr	r3, r3, #21
	orr	r3, r3, r2
	str	r3, [fp, #-16]
	ldrh	r3, [fp, #-16]	@ movhi
	bic	r3, r3, #2032
	strh	r3, [fp, #-16]	@ movhi
	ldr	r0, [fp, #-24]
	bl	codepoint_width
	mov	r3, r0
	and	r3, r3, #15
	and	r2, r3, #255
	ldrb	r3, [fp, #-16]
	and	r2, r2, #15
	bic	r3, r3, #15
	orr	r3, r2, r3
	strb	r3, [fp, #-16]
	ldr	r3, .L1422+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, .L1422+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, .L1422+4
	ldr	r3, [r3]
	ldr	r3, [r3, #32]
	sub	r2, r3, #1
	ldr	r3, .L1422+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #1
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-12]
	bl	line_insert
	str	r0, [fp, #-8]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-8]
	cmp	r2, r3
	beq	.L1421
	ldr	r3, .L1422+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, .L1422+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-8]
	str	r2, [r3]
.L1421:
	ldr	r3, .L1422+4
	ldr	r3, [r3]
	ldr	r2, [r3, #32]
	ldr	r3, .L1422+4
	ldr	r3, [r3]
	add	r2, r2, #1
	str	r2, [r3, #32]
	bl	set_modified
.L1418:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1423:
	.align	2
.L1422:
	.word	.LC463
	.word	env
	.size	insert_char, .-insert_char
	.align	2
	.global	replace_char
	.syntax unified
	.arm
	.fpu softvfp
	.type	replace_char, %function
replace_char:
	@ 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]
	ldr	r3, .L1429
	ldr	r3, [r3]
	ldr	r3, [r3, #32]
	cmp	r3, #0
	ble	.L1428
	ldr	r3, .L1429
	ldr	r3, [r3]
	ldr	r2, [r3, #32]
	ldr	r3, .L1429
	ldr	r3, [r3]
	ldr	r1, [r3, #48]
	ldr	r3, .L1429
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	cmp	r2, r3
	bgt	.L1428
	ldr	r3, [fp, #-16]
	bic	r2, r3, #-16777216
	bic	r2, r2, #14680064
	ldr	r3, [fp, #-8]
	lsl	r2, r2, #11
	lsl	r3, r3, #21
	lsr	r3, r3, #21
	orr	r3, r3, r2
	str	r3, [fp, #-8]
	ldrh	r3, [fp, #-8]	@ movhi
	bic	r3, r3, #2032
	strh	r3, [fp, #-8]	@ movhi
	ldr	r0, [fp, #-16]
	bl	codepoint_width
	mov	r3, r0
	and	r3, r3, #15
	and	r2, r3, #255
	ldrb	r3, [fp, #-8]
	and	r2, r2, #15
	bic	r3, r3, #15
	orr	r3, r2, r3
	strb	r3, [fp, #-8]
	ldr	r3, .L1429
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, .L1429
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r3, .L1429
	ldr	r3, [r3]
	ldr	r3, [r3, #32]
	sub	r2, r3, #1
	ldr	r3, .L1429
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #1
	ldr	r1, [fp, #-8]
	bl	line_replace
	ldr	r3, .L1429
	ldr	r3, [r3]
	ldr	r2, [r3, #20]
	ldr	r3, .L1429
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	sub	r3, r2, r3
	sub	r2, r3, #1
	ldr	r3, .L1429
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #1
	mov	r1, r3
	mov	r0, r2
	bl	redraw_line
	bl	set_modified
	b	.L1424
.L1428:
	nop
.L1424:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1430:
	.align	2
.L1429:
	.word	env
	.size	replace_char, .-replace_char
	.section	.rodata
	.align	2
.LC464:
	.ascii	"Already at oldest change\000"
	.align	2
.LC465:
	.ascii	"Unknown type %d!\012\000"
	.align	2
.LC466:
	.ascii	"s\000"
	.align	2
.LC467:
	.ascii	"%d character%s, %d line%s changed\000"
	.text
	.align	2
	.global	undo_history
	.syntax unified
	.arm
	.fpu softvfp
	.type	undo_history, %function
undo_history:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #36
	ldr	r3, .L1463
	ldr	r3, [r3, #72]
	cmp	r3, #0
	beq	.L1460
	ldr	r3, .L1463+4
	ldr	r2, [r3]
	ldrb	r3, [r2]
	orr	r3, r3, #1
	strb	r3, [r2]
	ldr	r3, .L1463+4
	ldr	r3, [r3]
	ldr	r3, [r3, #52]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L1434
	ldr	r3, .L1463+4
	ldr	r2, [r3]
	ldrb	r3, [r2]
	bic	r3, r3, #1
	strb	r3, [r2]
	ldr	r0, .L1463+8
	bl	render_commandline_message
	b	.L1431
.L1434:
	mov	r3, #0
	str	r3, [fp, #-28]
	mov	r3, #0
	str	r3, [fp, #-24]
.L1449:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	beq	.L1461
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #8]
	sub	r3, r3, #1
	cmp	r3, #9
	ldrls	pc, [pc, r3, asl #2]
	b	.L1437
.L1439:
	.word	.L1447
	.word	.L1446
	.word	.L1445
	.word	.L1444
	.word	.L1443
	.word	.L1442
	.word	.L1441
	.word	.L1440
	.word	.L1437
	.word	.L1462
.L1447:
	ldr	r3, .L1463+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #16]
	add	r1, r3, #1
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	mov	r2, r3
	bl	line_delete
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #12]
	ldr	r3, .L1463+4
	ldr	r3, [r3]
	add	r2, r2, #1
	str	r2, [r3, #20]
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #16]
	ldr	r3, .L1463+4
	ldr	r3, [r3]
	add	r2, r2, #1
	str	r2, [r3, #32]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	b	.L1448
.L1446:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #24]
	mov	r0, r3
	bl	codepoint_width
	mov	r3, r0
	and	r3, r3, #15
	and	r2, r3, #255
	ldrb	r3, [fp, #-36]
	and	r2, r2, #15
	bic	r3, r3, #15
	orr	r3, r2, r3
	strb	r3, [fp, #-36]
	ldrh	r3, [fp, #-36]	@ movhi
	bic	r3, r3, #2032
	strh	r3, [fp, #-36]	@ movhi
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #24]
	bic	r2, r3, #-16777216
	bic	r2, r2, #14680064
	ldr	r3, [fp, #-36]
	lsl	r2, r2, #11
	lsl	r3, r3, #21
	lsr	r3, r3, #21
	orr	r3, r3, r2
	str	r3, [fp, #-36]
	ldr	r3, .L1463+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #16]
	sub	r1, r3, #1
	ldr	r3, [fp, #-32]
	ldr	ip, [r3, #12]
	ldr	r3, .L1463+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	lsl	r3, r3, #2
	add	r4, r2, r3
	mov	r3, ip
	mov	r2, r1
	ldr	r1, [fp, #-36]
	bl	line_insert
	mov	r3, r0
	str	r3, [r4]
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #12]
	ldr	r3, .L1463+4
	ldr	r3, [r3]
	add	r2, r2, #1
	str	r2, [r3, #20]
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #16]
	ldr	r3, .L1463+4
	ldr	r3, [r3]
	add	r2, r2, #2
	str	r2, [r3, #32]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	b	.L1448
.L1445:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #24]
	mov	r0, r3
	bl	codepoint_width
	mov	r3, r0
	and	r3, r3, #15
	and	r2, r3, #255
	ldrb	r3, [fp, #-36]
	and	r2, r2, #15
	bic	r3, r3, #15
	orr	r3, r2, r3
	strb	r3, [fp, #-36]
	ldrh	r3, [fp, #-36]	@ movhi
	bic	r3, r3, #2032
	strh	r3, [fp, #-36]	@ movhi
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #24]
	bic	r2, r3, #-16777216
	bic	r2, r2, #14680064
	ldr	r3, [fp, #-36]
	lsl	r2, r2, #11
	lsl	r3, r3, #21
	lsr	r3, r3, #21
	orr	r3, r3, r2
	str	r3, [fp, #-36]
	ldr	r3, .L1463+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	ldr	r1, [fp, #-36]
	bl	line_replace
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #12]
	ldr	r3, .L1463+4
	ldr	r3, [r3]
	add	r2, r2, #1
	str	r2, [r3, #20]
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #16]
	ldr	r3, .L1463+4
	ldr	r3, [r3]
	add	r2, r2, #1
	str	r2, [r3, #32]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	b	.L1448
.L1444:
	ldr	r3, .L1463+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	ldr	r1, .L1463+4
	ldr	r4, [r1]
	mov	r1, r3
	mov	r0, r2
	bl	add_line
	mov	r3, r0
	str	r3, [r4, #48]
	ldr	r3, .L1463+4
	ldr	r3, [r3]
	ldr	r0, [r3, #48]
	ldr	r3, [fp, #-32]
	ldr	r1, [r3, #12]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #20]
	mov	r2, r3
	bl	replace_line
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #12]
	ldr	r3, .L1463+4
	ldr	r3, [r3]
	add	r2, r2, #2
	str	r2, [r3, #20]
	ldr	r3, .L1463+4
	ldr	r3, [r3]
	mov	r2, #1
	str	r2, [r3, #32]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	b	.L1448
.L1443:
	ldr	r3, .L1463+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	ldr	r1, .L1463+4
	ldr	r4, [r1]
	mov	r1, r3
	mov	r0, r2
	bl	remove_line
	mov	r3, r0
	str	r3, [r4, #48]
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #12]
	ldr	r3, .L1463+4
	ldr	r3, [r3]
	add	r2, r2, #1
	str	r2, [r3, #20]
	ldr	r3, .L1463+4
	ldr	r3, [r3]
	mov	r2, #1
	str	r2, [r3, #32]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	b	.L1448
.L1442:
	ldr	r3, .L1463+4
	ldr	r3, [r3]
	ldr	r0, [r3, #48]
	ldr	r3, [fp, #-32]
	ldr	r1, [r3, #12]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #20]
	mov	r2, r3
	bl	replace_line
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #12]
	ldr	r3, .L1463+4
	ldr	r3, [r3]
	add	r2, r2, #1
	str	r2, [r3, #20]
	ldr	r3, .L1463+4
	ldr	r3, [r3]
	mov	r2, #1
	str	r2, [r3, #32]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	b	.L1448
.L1440:
	ldr	r3, .L1463+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	add	r3, r3, #1
	ldr	r1, .L1463+4
	ldr	r4, [r1]
	mov	r1, r3
	mov	r0, r2
	bl	merge_lines
	mov	r3, r0
	str	r3, [r4, #48]
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #12]
	ldr	r3, .L1463+4
	ldr	r3, [r3]
	add	r2, r2, #2
	str	r2, [r3, #20]
	ldr	r3, .L1463+4
	ldr	r3, [r3]
	mov	r2, #1
	str	r2, [r3, #32]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	b	.L1448
.L1441:
	ldr	r3, .L1463+4
	ldr	r3, [r3]
	ldr	r0, [r3, #48]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	sub	r1, r3, #1
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #16]
	ldr	r2, .L1463+4
	ldr	r4, [r2]
	mov	r2, r3
	bl	split_line
	mov	r3, r0
	str	r3, [r4, #48]
	ldr	r3, .L1463+4
	ldr	r3, [r3]
	ldr	r2, [fp, #-32]
	ldr	r2, [r2, #12]
	str	r2, [r3, #20]
	ldr	r3, .L1463+4
	ldr	r3, [r3]
	mov	r2, #1
	str	r2, [r3, #32]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	b	.L1448
.L1437:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #8]
	mov	r1, r3
	ldr	r0, .L1463+12
	bl	render_error
	b	.L1448
.L1462:
	nop
.L1448:
	ldr	r3, .L1463+4
	ldr	r3, [r3]
	ldr	r2, [fp, #-32]
	ldr	r2, [r2]
	str	r2, [r3, #52]
	ldr	r3, .L1463+4
	ldr	r3, [r3]
	ldr	r3, [r3, #52]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #8]
	cmp	r3, #10
	bne	.L1449
	b	.L1436
.L1461:
	nop
.L1436:
	ldr	r3, .L1463+4
	ldr	r3, [r3]
	ldr	r2, [r3, #20]
	ldr	r3, .L1463+4
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	cmp	r2, r3
	ble	.L1450
	ldr	r3, .L1463+4
	ldr	r2, [r3]
	ldr	r3, .L1463+4
	ldr	r3, [r3]
	ldr	r2, [r2, #24]
	str	r2, [r3, #20]
.L1450:
	ldr	r3, .L1463+4
	ldr	r3, [r3]
	ldr	r2, [r3, #32]
	ldr	r3, .L1463+4
	ldr	r3, [r3]
	ldr	r1, [r3, #48]
	ldr	r3, .L1463+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	cmp	r2, r3
	ble	.L1451
	ldr	r3, .L1463+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, .L1463+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, .L1463+4
	ldr	r3, [r3]
	ldr	r2, [r2, #4]
	str	r2, [r3, #32]
.L1451:
	ldr	r3, .L1463+4
	ldr	r3, [r3]
	ldr	r2, [r3, #52]
	ldr	r3, .L1463+4
	ldr	r3, [r3]
	ldr	r3, [r3, #56]
	ldr	r1, .L1463+4
	ldr	r1, [r1]
	cmp	r2, r3
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	ldrb	r2, [r1]
	and	r3, r3, #1
	bic	r2, r2, #4
	lsl	r3, r3, #2
	orr	r3, r3, r2
	mov	r2, r3
	strb	r2, [r1]
	ldr	r3, .L1463+4
	ldr	r2, [r3]
	ldrb	r3, [r2]
	bic	r3, r3, #1
	strb	r3, [r2]
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L1452
.L1453:
	ldr	r3, .L1463+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, #0
	str	r2, [r3, #8]
	ldr	r3, .L1463+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	recalculate_tabs
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L1452:
	ldr	r3, .L1463+4
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	blt	.L1453
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L1454
.L1455:
	ldr	r3, .L1463+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, [fp, #-16]
	mov	r0, r3
	bl	recalculate_syntax
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L1454:
	ldr	r3, .L1463+4
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	blt	.L1455
	bl	place_cursor_actual
	bl	update_title
	bl	redraw_all
	ldr	r3, [fp, #-28]
	cmp	r3, #1
	bne	.L1456
	ldr	r2, .L1463+16
	b	.L1457
.L1456:
	ldr	r2, .L1463+20
.L1457:
	ldr	r3, [fp, #-24]
	cmp	r3, #1
	bne	.L1458
	ldr	r3, .L1463+16
	b	.L1459
.L1458:
	ldr	r3, .L1463+20
.L1459:
	str	r3, [sp]
	ldr	r3, [fp, #-24]
	ldr	r1, [fp, #-28]
	ldr	r0, .L1463+24
	bl	render_commandline_message
	b	.L1431
.L1460:
	nop
.L1431:
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L1464:
	.align	2
.L1463:
	.word	global_config
	.word	env
	.word	.LC464
	.word	.LC465
	.word	.LC353
	.word	.LC466
	.word	.LC467
	.size	undo_history, .-undo_history
	.section	.rodata
	.align	2
.LC468:
	.ascii	"Already at newest change\000"
	.text
	.align	2
	.global	redo_history
	.syntax unified
	.arm
	.fpu softvfp
	.type	redo_history, %function
redo_history:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #36
	ldr	r3, .L1497
	ldr	r3, [r3, #72]
	cmp	r3, #0
	beq	.L1495
	ldr	r3, .L1497+4
	ldr	r2, [r3]
	ldrb	r3, [r2]
	orr	r3, r3, #1
	strb	r3, [r2]
	ldr	r3, .L1497+4
	ldr	r3, [r3]
	ldr	r3, [r3, #52]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L1468
	ldr	r3, .L1497+4
	ldr	r2, [r3]
	ldrb	r3, [r2]
	bic	r3, r3, #1
	strb	r3, [r2]
	ldr	r0, .L1497+8
	bl	render_commandline_message
	b	.L1465
.L1468:
	mov	r3, #0
	str	r3, [fp, #-28]
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L1469
.L1484:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #8]
	cmp	r3, #10
	bne	.L1470
	ldr	r3, .L1497+4
	ldr	r3, [r3]
	ldr	r2, [fp, #-32]
	str	r2, [r3, #52]
	b	.L1471
.L1470:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #8]
	sub	r3, r3, #1
	cmp	r3, #9
	ldrls	pc, [pc, r3, asl #2]
	b	.L1472
.L1474:
	.word	.L1482
	.word	.L1481
	.word	.L1480
	.word	.L1479
	.word	.L1478
	.word	.L1477
	.word	.L1476
	.word	.L1475
	.word	.L1472
	.word	.L1496
.L1482:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #20]
	mov	r0, r3
	bl	codepoint_width
	mov	r3, r0
	and	r3, r3, #15
	and	r2, r3, #255
	ldrb	r3, [fp, #-36]
	and	r2, r2, #15
	bic	r3, r3, #15
	orr	r3, r2, r3
	strb	r3, [fp, #-36]
	ldrh	r3, [fp, #-36]	@ movhi
	bic	r3, r3, #2032
	strh	r3, [fp, #-36]	@ movhi
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #20]
	bic	r2, r3, #-16777216
	bic	r2, r2, #14680064
	ldr	r3, [fp, #-36]
	lsl	r2, r2, #11
	lsl	r3, r3, #21
	lsr	r3, r3, #21
	orr	r3, r3, r2
	str	r3, [fp, #-36]
	ldr	r3, .L1497+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r3, [fp, #-32]
	ldr	r1, [r3, #16]
	ldr	r3, [fp, #-32]
	ldr	ip, [r3, #12]
	ldr	r3, .L1497+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	lsl	r3, r3, #2
	add	r4, r2, r3
	mov	r3, ip
	mov	r2, r1
	ldr	r1, [fp, #-36]
	bl	line_insert
	mov	r3, r0
	str	r3, [r4]
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #12]
	ldr	r3, .L1497+4
	ldr	r3, [r3]
	add	r2, r2, #1
	str	r2, [r3, #20]
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #16]
	ldr	r3, .L1497+4
	ldr	r3, [r3]
	add	r2, r2, #2
	str	r2, [r3, #32]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	b	.L1483
.L1481:
	ldr	r3, .L1497+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r3, [fp, #-32]
	ldr	r1, [r3, #16]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	mov	r2, r3
	bl	line_delete
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #12]
	ldr	r3, .L1497+4
	ldr	r3, [r3]
	add	r2, r2, #1
	str	r2, [r3, #20]
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #16]
	ldr	r3, .L1497+4
	ldr	r3, [r3]
	add	r2, r2, #1
	str	r2, [r3, #32]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	b	.L1483
.L1480:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #20]
	mov	r0, r3
	bl	codepoint_width
	mov	r3, r0
	and	r3, r3, #15
	and	r2, r3, #255
	ldrb	r3, [fp, #-36]
	and	r2, r2, #15
	bic	r3, r3, #15
	orr	r3, r2, r3
	strb	r3, [fp, #-36]
	ldrh	r3, [fp, #-36]	@ movhi
	bic	r3, r3, #2032
	strh	r3, [fp, #-36]	@ movhi
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #20]
	bic	r2, r3, #-16777216
	bic	r2, r2, #14680064
	ldr	r3, [fp, #-36]
	lsl	r2, r2, #11
	lsl	r3, r3, #21
	lsr	r3, r3, #21
	orr	r3, r3, r2
	str	r3, [fp, #-36]
	ldr	r3, .L1497+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	ldr	r1, [fp, #-36]
	bl	line_replace
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #12]
	ldr	r3, .L1497+4
	ldr	r3, [r3]
	add	r2, r2, #1
	str	r2, [r3, #20]
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #16]
	ldr	r3, .L1497+4
	ldr	r3, [r3]
	add	r2, r2, #2
	str	r2, [r3, #32]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	b	.L1483
.L1478:
	ldr	r3, .L1497+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	ldr	r1, .L1497+4
	ldr	r4, [r1]
	mov	r1, r3
	mov	r0, r2
	bl	add_line
	mov	r3, r0
	str	r3, [r4, #48]
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #12]
	ldr	r3, .L1497+4
	ldr	r3, [r3]
	add	r2, r2, #2
	str	r2, [r3, #20]
	ldr	r3, .L1497+4
	ldr	r3, [r3]
	mov	r2, #1
	str	r2, [r3, #32]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	b	.L1483
.L1479:
	ldr	r3, .L1497+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	ldr	r1, .L1497+4
	ldr	r4, [r1]
	mov	r1, r3
	mov	r0, r2
	bl	remove_line
	mov	r3, r0
	str	r3, [r4, #48]
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #12]
	ldr	r3, .L1497+4
	ldr	r3, [r3]
	add	r2, r2, #1
	str	r2, [r3, #20]
	ldr	r3, .L1497+4
	ldr	r3, [r3]
	mov	r2, #1
	str	r2, [r3, #32]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	b	.L1483
.L1477:
	ldr	r3, .L1497+4
	ldr	r3, [r3]
	ldr	r0, [r3, #48]
	ldr	r3, [fp, #-32]
	ldr	r1, [r3, #12]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #16]
	mov	r2, r3
	bl	replace_line
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #12]
	ldr	r3, .L1497+4
	ldr	r3, [r3]
	add	r2, r2, #2
	str	r2, [r3, #20]
	ldr	r3, .L1497+4
	ldr	r3, [r3]
	mov	r2, #1
	str	r2, [r3, #32]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	b	.L1483
.L1476:
	ldr	r3, .L1497+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	ldr	r1, .L1497+4
	ldr	r4, [r1]
	mov	r1, r3
	mov	r0, r2
	bl	merge_lines
	mov	r3, r0
	str	r3, [r4, #48]
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #12]
	ldr	r3, .L1497+4
	ldr	r3, [r3]
	add	r2, r2, #1
	str	r2, [r3, #20]
	ldr	r3, .L1497+4
	ldr	r3, [r3]
	mov	r2, #1
	str	r2, [r3, #32]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	b	.L1483
.L1475:
	ldr	r3, .L1497+4
	ldr	r3, [r3]
	ldr	r0, [r3, #48]
	ldr	r3, [fp, #-32]
	ldr	r1, [r3, #12]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #16]
	ldr	r2, .L1497+4
	ldr	r4, [r2]
	mov	r2, r3
	bl	split_line
	mov	r3, r0
	str	r3, [r4, #48]
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #12]
	ldr	r3, .L1497+4
	ldr	r3, [r3]
	add	r2, r2, #2
	str	r2, [r3, #20]
	ldr	r3, .L1497+4
	ldr	r3, [r3]
	mov	r2, #1
	str	r2, [r3, #32]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	b	.L1483
.L1472:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #8]
	mov	r1, r3
	ldr	r0, .L1497+12
	bl	render_error
	b	.L1483
.L1496:
	nop
.L1483:
	ldr	r3, .L1497+4
	ldr	r3, [r3]
	ldr	r2, [fp, #-32]
	str	r2, [r3, #52]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-32]
.L1469:
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L1484
.L1471:
	ldr	r3, .L1497+4
	ldr	r3, [r3]
	ldr	r2, [r3, #20]
	ldr	r3, .L1497+4
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	cmp	r2, r3
	ble	.L1485
	ldr	r3, .L1497+4
	ldr	r2, [r3]
	ldr	r3, .L1497+4
	ldr	r3, [r3]
	ldr	r2, [r2, #24]
	str	r2, [r3, #20]
.L1485:
	ldr	r3, .L1497+4
	ldr	r3, [r3]
	ldr	r2, [r3, #32]
	ldr	r3, .L1497+4
	ldr	r3, [r3]
	ldr	r1, [r3, #48]
	ldr	r3, .L1497+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	cmp	r2, r3
	ble	.L1486
	ldr	r3, .L1497+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, .L1497+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, .L1497+4
	ldr	r3, [r3]
	ldr	r2, [r2, #4]
	str	r2, [r3, #32]
.L1486:
	ldr	r3, .L1497+4
	ldr	r3, [r3]
	ldr	r2, [r3, #52]
	ldr	r3, .L1497+4
	ldr	r3, [r3]
	ldr	r3, [r3, #56]
	ldr	r1, .L1497+4
	ldr	r1, [r1]
	cmp	r2, r3
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	ldrb	r2, [r1]
	and	r3, r3, #1
	bic	r2, r2, #4
	lsl	r3, r3, #2
	orr	r3, r3, r2
	mov	r2, r3
	strb	r2, [r1]
	ldr	r3, .L1497+4
	ldr	r2, [r3]
	ldrb	r3, [r2]
	bic	r3, r3, #1
	strb	r3, [r2]
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L1487
.L1488:
	ldr	r3, .L1497+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, #0
	str	r2, [r3, #8]
	ldr	r3, .L1497+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	recalculate_tabs
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L1487:
	ldr	r3, .L1497+4
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	blt	.L1488
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L1489
.L1490:
	ldr	r3, .L1497+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, [fp, #-16]
	mov	r0, r3
	bl	recalculate_syntax
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L1489:
	ldr	r3, .L1497+4
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	blt	.L1490
	bl	place_cursor_actual
	bl	update_title
	bl	redraw_all
	ldr	r3, [fp, #-28]
	cmp	r3, #1
	bne	.L1491
	ldr	r2, .L1497+16
	b	.L1492
.L1491:
	ldr	r2, .L1497+20
.L1492:
	ldr	r3, [fp, #-24]
	cmp	r3, #1
	bne	.L1493
	ldr	r3, .L1497+16
	b	.L1494
.L1493:
	ldr	r3, .L1497+20
.L1494:
	str	r3, [sp]
	ldr	r3, [fp, #-24]
	ldr	r1, [fp, #-28]
	ldr	r0, .L1497+24
	bl	render_commandline_message
	b	.L1465
.L1495:
	nop
.L1465:
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L1498:
	.align	2
.L1497:
	.word	global_config
	.word	env
	.word	.LC468
	.word	.LC465
	.word	.LC353
	.word	.LC466
	.word	.LC467
	.size	redo_history, .-redo_history
	.align	2
	.global	word_left
	.syntax unified
	.arm
	.fpu softvfp
	.type	word_left, %function
word_left:
	@ 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, .L1509
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	str	r3, [fp, #-12]
	ldr	r3, .L1509
	ldr	r3, [r3]
	ldr	r3, [r3, #32]
	str	r3, [fp, #-8]
.L1504:
	ldr	r3, [fp, #-8]
	sub	r3, r3, #1
	str	r3, [fp, #-8]
	b	.L1500
.L1503:
	ldr	r3, [fp, #-12]
	sub	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L1501
	mov	r0, #1
	bl	goto_line
	bl	set_preferred_column
	b	.L1499
.L1501:
	ldr	r3, .L1509
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-12]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-8]
.L1500:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L1503
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, .L1509
	ldr	r3, [r3]
	ldr	r1, [r3, #48]
	ldr	r3, [fp, #-12]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r1, [r3]
	ldr	r3, [fp, #-8]
	sub	r3, r3, #1
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8192
	cmp	r3, #0
	bne	.L1504
.L1508:
	ldr	r3, [fp, #-8]
	sub	r3, r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L1505
	mov	r3, #1
	str	r3, [fp, #-8]
	b	.L1506
.L1505:
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	bne	.L1507
	ldr	r3, .L1509
	ldr	r3, [r3]
	mov	r2, #1
	str	r2, [r3, #32]
	ldr	r3, .L1509
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #20]
	bl	set_preferred_column
	bl	redraw_statusbar
	bl	place_cursor_actual
	b	.L1499
.L1507:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, .L1509
	ldr	r3, [r3]
	ldr	r1, [r3, #48]
	ldr	r3, [fp, #-12]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r1, [r3]
	ldr	r3, [fp, #-8]
	sub	r3, r3, #1
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8192
	cmp	r3, #0
	beq	.L1508
.L1506:
	ldr	r3, .L1509
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #32]
	ldr	r3, .L1509
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #20]
	bl	set_preferred_column
	bl	cursor_right
.L1499:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1510:
	.align	2
.L1509:
	.word	env
	.size	word_left, .-word_left
	.align	2
	.global	word_right
	.syntax unified
	.arm
	.fpu softvfp
	.type	word_right, %function
word_right:
	@ 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, .L1521
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	str	r3, [fp, #-12]
	ldr	r3, .L1521
	ldr	r3, [r3]
	ldr	r3, [r3, #32]
	str	r3, [fp, #-8]
.L1516:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
	ldr	r3, .L1521
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-12]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	ble	.L1512
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, .L1521
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	ble	.L1513
	ldr	r3, .L1521
	ldr	r2, [r3]
	ldr	r3, .L1521
	ldr	r3, [r3]
	ldr	r2, [r2, #24]
	str	r2, [r3, #20]
	ldr	r3, .L1521
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, .L1521
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, .L1521
	ldr	r3, [r3]
	ldr	r2, [r2, #4]
	str	r2, [r3, #32]
	bl	set_preferred_column
	bl	redraw_statusbar
	bl	place_cursor_actual
	b	.L1511
.L1513:
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L1520
.L1512:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, .L1521
	ldr	r3, [r3]
	ldr	r1, [r3, #48]
	ldr	r3, [fp, #-12]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r1, [r3]
	ldr	r3, [fp, #-8]
	sub	r3, r3, #1
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8192
	cmp	r3, #0
	beq	.L1516
.L1520:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
	b	.L1517
.L1519:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, .L1521
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	blt	.L1518
	ldr	r3, .L1521
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, .L1521
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, .L1521
	ldr	r3, [r3]
	ldr	r2, [r2, #4]
	str	r2, [r3, #32]
	ldr	r3, .L1521
	ldr	r2, [r3]
	ldr	r3, .L1521
	ldr	r3, [r3]
	ldr	r2, [r2, #24]
	str	r2, [r3, #20]
	bl	set_preferred_column
	bl	redraw_statusbar
	bl	place_cursor_actual
	b	.L1511
.L1518:
	mov	r3, #1
	str	r3, [fp, #-8]
.L1517:
	ldr	r3, .L1521
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-12]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	bgt	.L1519
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, .L1521
	ldr	r3, [r3]
	ldr	r1, [r3, #48]
	ldr	r3, [fp, #-12]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r1, [r3]
	ldr	r3, [fp, #-8]
	sub	r3, r3, #1
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8192
	cmp	r3, #0
	bne	.L1520
	ldr	r3, .L1521
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #32]
	ldr	r3, .L1521
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #20]
	bl	set_preferred_column
	bl	redraw_statusbar
	bl	place_cursor_actual
	nop
.L1511:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1522:
	.align	2
.L1521:
	.word	env
	.size	word_right, .-word_right
	.align	2
	.global	delete_at_cursor
	.syntax unified
	.arm
	.fpu softvfp
	.type	delete_at_cursor, %function
delete_at_cursor:
	@ 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, .L1528
	ldr	r3, [r3]
	ldr	r3, [r3, #32]
	cmp	r3, #1
	ble	.L1524
	ldr	r3, .L1528
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, .L1528
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r3, .L1528
	ldr	r3, [r3]
	ldr	r3, [r3, #32]
	sub	r1, r3, #1
	ldr	r3, .L1528
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #1
	mov	r2, r3
	bl	line_delete
	ldr	r3, .L1528
	ldr	r3, [r3]
	ldr	r2, [r3, #32]
	ldr	r3, .L1528
	ldr	r3, [r3]
	sub	r2, r2, #1
	str	r2, [r3, #32]
	ldr	r3, .L1528
	ldr	r3, [r3]
	ldr	r3, [r3, #16]
	cmp	r3, #0
	ble	.L1525
	ldr	r3, .L1528
	ldr	r3, [r3]
	ldr	r2, [r3, #16]
	sub	r2, r2, #1
	str	r2, [r3, #16]
.L1525:
	ldr	r3, .L1528
	ldr	r3, [r3]
	ldr	r2, [r3, #20]
	ldr	r3, .L1528
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	sub	r3, r2, r3
	sub	r2, r3, #1
	ldr	r3, .L1528
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #1
	mov	r1, r3
	mov	r0, r2
	bl	redraw_line
	bl	set_modified
	bl	redraw_statusbar
	bl	place_cursor_actual
	b	.L1527
.L1524:
	ldr	r3, .L1528
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	cmp	r3, #1
	ble	.L1527
	ldr	r3, .L1528
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, .L1528
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #-1073741822
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-8]
	ldr	r3, .L1528
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, .L1528
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #1
	mov	r1, r3
	mov	r0, r2
	bl	merge_lines
	ldr	r3, .L1528
	ldr	r3, [r3]
	ldr	r2, [r3, #20]
	ldr	r3, .L1528
	ldr	r3, [r3]
	sub	r2, r2, #1
	str	r2, [r3, #20]
	ldr	r3, .L1528
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	add	r2, r2, #1
	str	r2, [r3, #32]
	bl	set_preferred_column
	bl	redraw_text
	bl	set_modified
	bl	redraw_statusbar
	bl	place_cursor_actual
.L1527:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1529:
	.align	2
.L1528:
	.word	env
	.size	delete_at_cursor, .-delete_at_cursor
	.align	2
	.global	delete_word
	.syntax unified
	.arm
	.fpu softvfp
	.type	delete_word, %function
delete_word:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L1537
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, .L1537
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1536
	ldr	r3, .L1537
	ldr	r3, [r3]
	ldr	r3, [r3, #32]
	cmp	r3, #1
	pople	{fp, pc}
.L1535:
	ldr	r3, .L1537
	ldr	r3, [r3]
	ldr	r3, [r3, #32]
	cmp	r3, #1
	ble	.L1533
	ldr	r3, .L1537
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, .L1537
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r3, .L1537
	ldr	r3, [r3]
	ldr	r3, [r3, #32]
	sub	r1, r3, #1
	ldr	r3, .L1537
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #1
	mov	r2, r3
	bl	line_delete
	ldr	r3, .L1537
	ldr	r3, [r3]
	ldr	r2, [r3, #32]
	ldr	r3, .L1537
	ldr	r3, [r3]
	sub	r2, r2, #1
	str	r2, [r3, #32]
	ldr	r3, .L1537
	ldr	r3, [r3]
	ldr	r3, [r3, #16]
	cmp	r3, #0
	ble	.L1533
	ldr	r3, .L1537
	ldr	r3, [r3]
	ldr	r2, [r3, #16]
	sub	r2, r2, #1
	str	r2, [r3, #16]
.L1533:
	ldr	r3, .L1537
	ldr	r3, [r3]
	ldr	r3, [r3, #32]
	cmp	r3, #1
	ble	.L1534
	ldr	r3, .L1537
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, .L1537
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, .L1537
	ldr	r3, [r3]
	ldr	r3, [r3, #32]
	sub	r3, r3, #2
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	cmp	r3, #32
	bne	.L1535
.L1534:
	bl	set_preferred_column
	bl	redraw_text
	bl	set_modified
	bl	redraw_statusbar
	bl	place_cursor_actual
	pop	{fp, pc}
.L1536:
	nop
	pop	{fp, pc}
.L1538:
	.align	2
.L1537:
	.word	env
	.size	delete_word, .-delete_word
	.align	2
	.global	insert_line_feed
	.syntax unified
	.arm
	.fpu softvfp
	.type	insert_line_feed, %function
insert_line_feed:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	ldr	r3, .L1543
	ldr	r3, [r3]
	ldr	r2, [r3, #32]
	ldr	r3, .L1543
	ldr	r3, [r3]
	ldr	r1, [r3, #48]
	ldr	r3, .L1543
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	add	r3, r3, #1
	cmp	r2, r3
	bne	.L1540
	ldr	r3, .L1543
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, .L1543
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	ldr	r1, .L1543
	ldr	r4, [r1]
	mov	r1, r3
	mov	r0, r2
	bl	add_line
	mov	r3, r0
	str	r3, [r4, #48]
	b	.L1541
.L1540:
	ldr	r3, .L1543
	ldr	r3, [r3]
	ldr	r0, [r3, #48]
	ldr	r3, .L1543
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r1, r3, #1
	ldr	r3, .L1543
	ldr	r3, [r3]
	ldr	r3, [r3, #32]
	sub	r3, r3, #1
	ldr	r2, .L1543
	ldr	r4, [r2]
	mov	r2, r3
	bl	split_line
	mov	r3, r0
	str	r3, [r4, #48]
.L1541:
	ldr	r3, .L1543
	ldr	r3, [r3]
	mov	r2, #1
	str	r2, [r3, #32]
	ldr	r3, .L1543
	ldr	r3, [r3]
	ldr	r2, [r3, #20]
	ldr	r3, .L1543
	ldr	r3, [r3]
	add	r2, r2, #1
	str	r2, [r3, #20]
	bl	set_preferred_column
	ldr	r3, .L1543
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r0, r3, #1
	ldr	r3, .L1543
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #2
	mov	r2, #0
	mov	r1, r3
	bl	add_indent
	ldr	r3, .L1543
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, .L1543+4
	ldr	r3, [r3, #4]
	add	r2, r2, r3
	ldr	r3, .L1543+4
	ldr	r3, [r3, #8]
	sub	r2, r2, r3
	ldr	r3, .L1543
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	cmp	r2, r3
	bgt	.L1542
	ldr	r3, .L1543
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, .L1543
	ldr	r3, [r3]
	add	r2, r2, #1
	str	r2, [r3, #12]
.L1542:
	bl	set_modified
	nop
	pop	{r4, r5, fp, pc}
.L1544:
	.align	2
.L1543:
	.word	env
	.word	global_config
	.size	insert_line_feed, .-insert_line_feed
	.align	2
	.global	yank_lines
	.syntax unified
	.arm
	.fpu softvfp
	.type	yank_lines, %function
yank_lines:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #36
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	ldr	r3, .L1555
	ldr	r3, [r3, #20]
	cmp	r3, #0
	beq	.L1546
	mov	r3, #0
	str	r3, [fp, #-32]
	b	.L1547
.L1548:
	ldr	r3, .L1555
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	free
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L1547:
	ldr	r3, .L1555
	ldr	r3, [r3, #24]
	ldr	r2, [fp, #-32]
	cmp	r2, r3
	bcc	.L1548
	ldr	r3, .L1555
	ldr	r3, [r3, #20]
	mov	r0, r3
	bl	free
.L1546:
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-44]
	cmp	r2, r3
	bgt	.L1549
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-40]
	sub	r3, r2, r3
	add	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-40]
	sub	r3, r3, #1
	str	r3, [fp, #-24]
	b	.L1550
.L1549:
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-44]
	sub	r3, r2, r3
	add	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-44]
	sub	r3, r3, #1
	str	r3, [fp, #-24]
.L1550:
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L1555
	str	r2, [r3, #20]
	ldr	r3, [fp, #-28]
	ldr	r2, .L1555
	str	r3, [r2, #24]
	ldr	r3, .L1555
	mov	r2, #1
	str	r2, [r3, #28]
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L1551
.L1554:
	ldr	r3, .L1555+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r1, [fp, #-24]
	ldr	r3, [fp, #-20]
	add	r3, r1, r3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3]
	add	r3, r3, #3
	lsl	r1, r3, #2
	ldr	r3, .L1555
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	add	r4, r2, r3
	mov	r0, r1
	bl	malloc
	mov	r3, r0
	str	r3, [r4]
	ldr	r3, .L1555+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r1, [fp, #-24]
	ldr	r3, [fp, #-20]
	add	r3, r1, r3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, .L1555
	ldr	r1, [r3, #20]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3]
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, .L1555+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r1, [fp, #-24]
	ldr	r3, [fp, #-20]
	add	r3, r1, r3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, .L1555
	ldr	r1, [r3, #20]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3]
	ldr	r2, [r2, #4]
	str	r2, [r3, #4]
	ldr	r3, .L1555
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, #0
	str	r2, [r3, #8]
	ldr	r3, .L1555
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	add	r0, r3, #12
	ldr	r3, .L1555+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r1, [fp, #-24]
	ldr	r3, [fp, #-20]
	add	r3, r1, r3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	add	ip, r3, #12
	ldr	r3, .L1555+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r1, [fp, #-24]
	ldr	r3, [fp, #-20]
	add	r3, r1, r3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	lsl	r3, r3, #2
	mov	r2, r3
	mov	r1, ip
	bl	memcpy
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L1552
.L1553:
	ldr	r3, .L1555
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	add	r2, r3, #4
	ldrh	r3, [r2]	@ movhi
	bic	r3, r3, #2032
	strh	r3, [r2]	@ movhi
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L1552:
	ldr	r3, .L1555
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	blt	.L1553
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L1551:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-28]
	cmp	r2, r3
	blt	.L1554
	nop
	nop
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L1556:
	.align	2
.L1555:
	.word	global_config
	.word	env
	.size	yank_lines, .-yank_lines
	.align	2
	.global	yank_partial_line
	.syntax unified
	.arm
	.fpu softvfp
	.type	yank_partial_line, %function
yank_partial_line:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #28
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-36]
	add	r3, r3, #4
	lsl	r1, r3, #2
	ldr	r3, .L1560
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	add	r4, r2, r3
	mov	r0, r1
	bl	malloc
	mov	r3, r0
	str	r3, [r4]
	ldr	r3, .L1560
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-36]
	add	r2, r2, #1
	str	r2, [r3]
	ldr	r3, .L1560
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-36]
	str	r2, [r3, #4]
	ldr	r3, .L1560
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, #0
	str	r2, [r3, #8]
	ldr	r3, .L1560
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	add	r0, r3, #12
	ldr	r3, .L1560+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	add	r1, r3, #4
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	mov	r2, r3
	bl	memcpy
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L1558
.L1559:
	ldr	r3, .L1560
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	add	r2, r3, #4
	ldrh	r3, [r2]	@ movhi
	bic	r3, r3, #2032
	strh	r3, [r2]	@ movhi
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L1558:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-36]
	cmp	r2, r3
	blt	.L1559
	nop
	nop
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L1561:
	.align	2
.L1560:
	.word	global_config
	.word	env
	.size	yank_partial_line, .-yank_partial_line
	.align	2
	.global	yank_text
	.syntax unified
	.arm
	.fpu softvfp
	.type	yank_text, %function
yank_text:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #44
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	str	r2, [fp, #-48]
	str	r3, [fp, #-52]
	ldr	r3, .L1573
	ldr	r3, [r3, #20]
	cmp	r3, #0
	beq	.L1563
	mov	r3, #0
	str	r3, [fp, #-32]
	b	.L1564
.L1565:
	ldr	r3, .L1573
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	free
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L1564:
	ldr	r3, .L1573
	ldr	r3, [r3, #24]
	ldr	r2, [fp, #-32]
	cmp	r2, r3
	bcc	.L1565
	ldr	r3, .L1573
	ldr	r3, [r3, #20]
	mov	r0, r3
	bl	free
.L1563:
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-40]
	sub	r3, r2, r3
	add	r3, r3, #1
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-40]
	sub	r3, r3, #1
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L1573
	str	r2, [r3, #20]
	ldr	r3, [fp, #-20]
	ldr	r2, .L1573
	str	r3, [r2, #24]
	ldr	r3, .L1573
	mov	r2, #0
	str	r2, [r3, #28]
	ldr	r3, [fp, #-20]
	cmp	r3, #1
	bne	.L1566
	ldr	r3, [fp, #-44]
	sub	r1, r3, #1
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #-44]
	sub	r3, r2, r3
	add	r3, r3, #1
	mov	r2, r1
	ldr	r1, [fp, #-16]
	mov	r0, #0
	bl	yank_partial_line
	b	.L1572
.L1566:
	ldr	r3, [fp, #-44]
	sub	r1, r3, #1
	ldr	r3, .L1573+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-44]
	sub	r3, r2, r3
	add	r3, r3, #1
	mov	r2, r1
	ldr	r1, [fp, #-16]
	mov	r0, #0
	bl	yank_partial_line
	mov	r3, #1
	str	r3, [fp, #-28]
	b	.L1568
.L1571:
	ldr	r3, .L1573+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r1, [fp, #-16]
	ldr	r3, [fp, #-28]
	add	r3, r1, r3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3]
	add	r3, r3, #3
	lsl	r1, r3, #2
	ldr	r3, .L1573
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	add	r4, r2, r3
	mov	r0, r1
	bl	malloc
	mov	r3, r0
	str	r3, [r4]
	ldr	r3, .L1573+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r1, [fp, #-16]
	ldr	r3, [fp, #-28]
	add	r3, r1, r3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, .L1573
	ldr	r1, [r3, #20]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3]
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, .L1573+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r1, [fp, #-16]
	ldr	r3, [fp, #-28]
	add	r3, r1, r3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, .L1573
	ldr	r1, [r3, #20]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3]
	ldr	r2, [r2, #4]
	str	r2, [r3, #4]
	ldr	r3, .L1573
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, #0
	str	r2, [r3, #8]
	ldr	r3, .L1573
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	add	r0, r3, #12
	ldr	r3, .L1573+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r1, [fp, #-16]
	ldr	r3, [fp, #-28]
	add	r3, r1, r3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	add	ip, r3, #12
	ldr	r3, .L1573+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r1, [fp, #-16]
	ldr	r3, [fp, #-28]
	add	r3, r1, r3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	lsl	r3, r3, #2
	mov	r2, r3
	mov	r1, ip
	bl	memcpy
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L1569
.L1570:
	ldr	r3, .L1573
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	add	r2, r3, #4
	ldrh	r3, [r2]	@ movhi
	bic	r3, r3, #2032
	strh	r3, [r2]	@ movhi
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L1569:
	ldr	r3, .L1573
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	blt	.L1570
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L1568:
	ldr	r3, [fp, #-20]
	sub	r3, r3, #1
	ldr	r2, [fp, #-28]
	cmp	r2, r3
	blt	.L1571
	ldr	r3, [fp, #-20]
	sub	r0, r3, #1
	ldr	r3, [fp, #-48]
	sub	r1, r3, #1
	ldr	r3, [fp, #-52]
	mov	r2, #0
	bl	yank_partial_line
.L1572:
	nop
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L1574:
	.align	2
.L1573:
	.word	global_config
	.word	env
	.size	yank_text, .-yank_text
	.section	.rodata
	.align	2
.LC469:
	.ascii	"Unrecognized escape sequence identifier: %c\000"
	.text
	.align	2
	.global	handle_escape
	.syntax unified
	.arm
	.fpu softvfp
	.type	handle_escape, %function
handle_escape:
	@ 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, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L1576
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	ldr	r2, [fp, #-8]
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #27
	bne	.L1576
	ldr	r3, [fp, #-16]
	cmp	r3, #27
	bne	.L1576
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-8]
	add	r3, r2, r3
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3]
	mov	r3, #1
	b	.L1577
.L1576:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L1578
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	ldr	r2, [fp, #-8]
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #27
	bne	.L1578
	ldr	r3, [fp, #-16]
	cmp	r3, #91
	beq	.L1578
	ldr	r3, [fp, #-12]
	mov	r2, #0
	str	r2, [r3]
	ldr	r0, [fp, #-16]
	bl	bim_unget
	mov	r3, #1
	b	.L1577
.L1578:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L1579
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	ldr	r2, [fp, #-8]
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #27
	bne	.L1579
	ldr	r3, [fp, #-16]
	cmp	r3, #91
	bne	.L1579
	ldr	r3, [fp, #-12]
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-8]
	add	r3, r2, r3
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3]
	mov	r3, #0
	b	.L1577
.L1579:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	cmp	r3, #1
	ble	.L1580
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	cmp	r3, #27
	bne	.L1580
	ldr	r3, [fp, #-8]
	add	r3, r3, #4
	ldr	r3, [r3]
	cmp	r3, #91
	bne	.L1580
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #2048
	cmp	r3, #0
	bne	.L1581
	ldr	r3, [fp, #-16]
	cmp	r3, #59
	bne	.L1580
.L1581:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-8]
	add	r3, r2, r3
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3]
	mov	r3, #0
	b	.L1577
.L1580:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	cmp	r3, #1
	ble	.L1582
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	cmp	r3, #27
	bne	.L1582
	ldr	r3, [fp, #-8]
	add	r3, r3, #4
	ldr	r3, [r3]
	cmp	r3, #91
	bne	.L1582
	ldr	r3, [fp, #-16]
	sub	r3, r3, #65
	cmp	r3, #61
	ldrls	pc, [pc, r3, asl #2]
	b	.L1583
.L1585:
	.word	.L1595
	.word	.L1594
	.word	.L1593
	.word	.L1592
	.word	.L1583
	.word	.L1591
	.word	.L1590
	.word	.L1589
	.word	.L1588
	.word	.L1583
	.word	.L1583
	.word	.L1583
	.word	.L1587
	.word	.L1583
	.word	.L1583
	.word	.L1583
	.word	.L1583
	.word	.L1583
	.word	.L1583
	.word	.L1583
	.word	.L1583
	.word	.L1583
	.word	.L1583
	.word	.L1583
	.word	.L1583
	.word	.L1586
	.word	.L1583
	.word	.L1583
	.word	.L1583
	.word	.L1583
	.word	.L1583
	.word	.L1583
	.word	.L1583
	.word	.L1583
	.word	.L1583
	.word	.L1583
	.word	.L1583
	.word	.L1583
	.word	.L1583
	.word	.L1583
	.word	.L1583
	.word	.L1583
	.word	.L1583
	.word	.L1583
	.word	.L1583
	.word	.L1583
	.word	.L1583
	.word	.L1583
	.word	.L1583
	.word	.L1583
	.word	.L1583
	.word	.L1583
	.word	.L1583
	.word	.L1583
	.word	.L1583
	.word	.L1583
	.word	.L1583
	.word	.L1583
	.word	.L1583
	.word	.L1583
	.word	.L1583
	.word	.L1584
.L1587:
	bl	handle_mouse
	b	.L1596
.L1595:
	bl	cursor_up
	b	.L1596
.L1594:
	bl	cursor_down
	b	.L1596
.L1593:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	ldr	r2, [fp, #-8]
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #53
	bne	.L1597
	bl	word_right
	b	.L1596
.L1597:
	bl	cursor_right
	b	.L1596
.L1592:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	ldr	r2, [fp, #-8]
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #53
	bne	.L1599
	bl	word_left
	b	.L1596
.L1599:
	bl	cursor_left
	b	.L1596
.L1589:
	bl	cursor_home
	b	.L1596
.L1591:
	bl	cursor_end
	b	.L1596
.L1588:
	ldr	r3, .L1615
	ldr	r3, [r3]
	ldr	r2, [r3, #20]
	ldr	r3, .L1615+4
	ldr	r3, [r3, #4]
	sub	r3, r3, #6
	sub	r3, r2, r3
	mov	r0, r3
	bl	goto_line
	b	.L1596
.L1590:
	ldr	r3, .L1615
	ldr	r3, [r3]
	ldr	r2, [r3, #20]
	ldr	r3, .L1615+4
	ldr	r3, [r3, #4]
	add	r3, r2, r3
	sub	r3, r3, #6
	mov	r0, r3
	bl	goto_line
	b	.L1596
.L1586:
	ldr	r3, .L1615
	ldr	r3, [r3]
	ldrsh	r3, [r3, #2]
	cmp	r3, #2
	bne	.L1612
	ldr	r3, [fp, #-12]
	mov	r2, #0
	str	r2, [r3]
	mov	r3, #90
	b	.L1577
.L1584:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	ldr	r2, [fp, #-8]
	add	r3, r2, r3
	ldr	r3, [r3]
	sub	r3, r3, #49
	cmp	r3, #5
	ldrls	pc, [pc, r3, asl #2]
	b	.L1613
.L1604:
	.word	.L1608
	.word	.L1613
	.word	.L1607
	.word	.L1606
	.word	.L1605
	.word	.L1603
.L1608:
	bl	cursor_home
	b	.L1602
.L1607:
	ldr	r3, .L1615
	ldr	r3, [r3]
	ldrsh	r3, [r3, #2]
	cmp	r3, #1
	beq	.L1609
	ldr	r3, .L1615
	ldr	r3, [r3]
	ldrsh	r3, [r3, #2]
	cmp	r3, #3
	bne	.L1614
.L1609:
	ldr	r3, .L1615
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, .L1615
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	ldr	r3, .L1615
	ldr	r3, [r3]
	ldr	r3, [r3, #32]
	cmp	r2, r3
	blt	.L1611
	ldr	r3, .L1615
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, .L1615
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r3, .L1615
	ldr	r3, [r3]
	ldr	r1, [r3, #32]
	ldr	r3, .L1615
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #1
	mov	r2, r3
	bl	line_delete
	ldr	r3, .L1615
	ldr	r3, [r3]
	ldr	r2, [r3, #20]
	ldr	r3, .L1615
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	sub	r3, r2, r3
	sub	r2, r3, #1
	ldr	r3, .L1615
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #1
	mov	r1, r3
	mov	r0, r2
	bl	redraw_line
	bl	set_modified
	bl	redraw_statusbar
	bl	place_cursor_actual
	b	.L1614
.L1611:
	ldr	r3, .L1615
	ldr	r3, [r3]
	ldr	r2, [r3, #20]
	ldr	r3, .L1615
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	cmp	r2, r3
	bge	.L1614
	ldr	r3, .L1615
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, .L1615
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	mov	r1, r3
	mov	r0, r2
	bl	merge_lines
	bl	redraw_text
	bl	set_modified
	bl	redraw_statusbar
	bl	place_cursor_actual
	b	.L1614
.L1606:
	bl	cursor_end
	b	.L1602
.L1605:
	ldr	r3, .L1615
	ldr	r3, [r3]
	ldr	r2, [r3, #20]
	ldr	r3, .L1615+4
	ldr	r3, [r3, #4]
	sub	r3, r3, #6
	sub	r3, r2, r3
	mov	r0, r3
	bl	goto_line
	b	.L1602
.L1603:
	ldr	r3, .L1615
	ldr	r3, [r3]
	ldr	r2, [r3, #20]
	ldr	r3, .L1615+4
	ldr	r3, [r3, #4]
	add	r3, r2, r3
	sub	r3, r3, #6
	mov	r0, r3
	bl	goto_line
	b	.L1602
.L1614:
	nop
.L1602:
	b	.L1613
.L1583:
	ldr	r1, [fp, #-16]
	ldr	r0, .L1615+8
	bl	render_error
	b	.L1596
.L1612:
	nop
	b	.L1596
.L1613:
	nop
.L1596:
	ldr	r3, [fp, #-12]
	mov	r2, #0
	str	r2, [r3]
	mov	r3, #0
	b	.L1577
.L1582:
	ldr	r3, [fp, #-12]
	mov	r2, #0
	str	r2, [r3]
	mov	r3, #0
.L1577:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1616:
	.align	2
.L1615:
	.word	env
	.word	global_config
	.word	.LC469
	.size	handle_escape, .-handle_escape
	.section	.rodata
	.align	2
.LC470:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	handle_navigation
	.syntax unified
	.arm
	.fpu softvfp
	.type	handle_navigation, %function
handle_navigation:
	@ 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]
	ldr	r3, .L1654
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-24]
	sub	r3, r3, #32
	cmp	r3, #93
	ldrls	pc, [pc, r3, asl #2]
	b	.L1648
.L1620:
	.word	.L1635
	.word	.L1648
	.word	.L1648
	.word	.L1648
	.word	.L1634
	.word	.L1633
	.word	.L1648
	.word	.L1648
	.word	.L1648
	.word	.L1648
	.word	.L1648
	.word	.L1648
	.word	.L1648
	.word	.L1648
	.word	.L1648
	.word	.L1632
	.word	.L1628
	.word	.L1648
	.word	.L1648
	.word	.L1648
	.word	.L1648
	.word	.L1648
	.word	.L1648
	.word	.L1648
	.word	.L1648
	.word	.L1648
	.word	.L1631
	.word	.L1648
	.word	.L1648
	.word	.L1648
	.word	.L1648
	.word	.L1630
	.word	.L1648
	.word	.L1648
	.word	.L1648
	.word	.L1648
	.word	.L1648
	.word	.L1648
	.word	.L1648
	.word	.L1648
	.word	.L1648
	.word	.L1648
	.word	.L1648
	.word	.L1648
	.word	.L1648
	.word	.L1648
	.word	.L1629
	.word	.L1648
	.word	.L1648
	.word	.L1648
	.word	.L1648
	.word	.L1648
	.word	.L1648
	.word	.L1648
	.word	.L1648
	.word	.L1648
	.word	.L1648
	.word	.L1648
	.word	.L1648
	.word	.L1648
	.word	.L1648
	.word	.L1648
	.word	.L1628
	.word	.L1648
	.word	.L1648
	.word	.L1648
	.word	.L1648
	.word	.L1648
	.word	.L1648
	.word	.L1648
	.word	.L1648
	.word	.L1648
	.word	.L1627
	.word	.L1648
	.word	.L1626
	.word	.L1625
	.word	.L1624
	.word	.L1648
	.word	.L1623
	.word	.L1648
	.word	.L1648
	.word	.L1648
	.word	.L1648
	.word	.L1648
	.word	.L1648
	.word	.L1648
	.word	.L1648
	.word	.L1622
	.word	.L1648
	.word	.L1648
	.word	.L1648
	.word	.L1621
	.word	.L1648
	.word	.L1619
.L1631:
	bl	command_mode
	b	.L1618
.L1632:
	mov	r0, #1
	bl	search_mode
	b	.L1618
.L1630:
	mov	r0, #0
	bl	search_mode
	b	.L1618
.L1623:
	bl	search_next
	b	.L1618
.L1629:
	bl	search_prev
	b	.L1618
.L1626:
	bl	cursor_down
	b	.L1618
.L1625:
	bl	cursor_up
	b	.L1618
.L1627:
	bl	cursor_left
	b	.L1618
.L1624:
	bl	cursor_right
	b	.L1618
.L1622:
	bl	word_right
	b	.L1618
.L1635:
	ldr	r3, .L1654+4
	ldr	r3, [r3]
	ldr	r2, [r3, #20]
	ldr	r3, .L1654+8
	ldr	r3, [r3, #4]
	add	r3, r2, r3
	sub	r3, r3, #6
	mov	r0, r3
	bl	goto_line
	b	.L1618
.L1633:
	ldr	r3, .L1654+4
	ldr	r3, [r3]
	ldrsh	r3, [r3, #2]
	cmp	r3, #2
	beq	.L1636
	ldr	r3, .L1654+4
	ldr	r3, [r3]
	ldrsh	r3, [r3, #2]
	cmp	r3, #4
	bne	.L1637
.L1636:
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L1638
.L1639:
	ldr	r3, .L1654+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, [fp, #-12]
	mov	r0, r3
	bl	recalculate_syntax
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L1638:
	ldr	r3, .L1654+4
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	blt	.L1639
.L1637:
	mvn	r3, #0
	str	r3, [fp, #-20]
	mvn	r3, #0
	str	r3, [fp, #-16]
	sub	r2, fp, #16
	sub	r3, fp, #20
	mov	r1, r2
	mov	r0, r3
	bl	find_matching_paren
	ldr	r3, [fp, #-20]
	cmn	r3, #1
	beq	.L1649
	ldr	r3, .L1654+4
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	str	r2, [r3, #20]
	ldr	r3, .L1654+4
	ldr	r3, [r3]
	ldr	r2, [fp, #-16]
	str	r2, [r3, #32]
	bl	set_preferred_column
	bl	place_cursor_actual
	bl	redraw_statusbar
	b	.L1649
.L1621:
	ldr	r3, .L1654+4
	ldr	r3, [r3]
	mov	r2, #1
	str	r2, [r3, #32]
	ldr	r3, .L1654+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	cmp	r3, #1
	beq	.L1650
.L1641:
	ldr	r3, .L1654+4
	ldr	r3, [r3]
	ldr	r2, [r3, #20]
	sub	r2, r2, #1
	str	r2, [r3, #20]
	ldr	r3, .L1654+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, .L1654+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L1651
	ldr	r3, .L1654+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	cmp	r3, #1
	bgt	.L1641
	b	.L1643
.L1651:
	nop
.L1643:
	bl	set_preferred_column
	bl	redraw_statusbar
	b	.L1618
.L1619:
	ldr	r3, .L1654+4
	ldr	r3, [r3]
	mov	r2, #1
	str	r2, [r3, #32]
	ldr	r3, .L1654+4
	ldr	r3, [r3]
	ldr	r2, [r3, #20]
	ldr	r3, .L1654+4
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	cmp	r2, r3
	beq	.L1652
.L1644:
	ldr	r3, .L1654+4
	ldr	r3, [r3]
	ldr	r2, [r3, #20]
	add	r2, r2, #1
	str	r2, [r3, #20]
	ldr	r3, .L1654+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, .L1654+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L1653
	ldr	r3, .L1654+4
	ldr	r3, [r3]
	ldr	r2, [r3, #20]
	ldr	r3, .L1654+4
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	cmp	r2, r3
	blt	.L1644
	b	.L1646
.L1653:
	nop
.L1646:
	bl	set_preferred_column
	bl	redraw_statusbar
	b	.L1618
.L1634:
	bl	cursor_end
	b	.L1618
.L1628:
	bl	cursor_home
	b	.L1618
.L1649:
	nop
	b	.L1648
.L1650:
	nop
	b	.L1648
.L1652:
	nop
.L1618:
.L1648:
	nop
	ldr	r3, .L1654
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L1647
	bl	__stack_chk_fail
.L1647:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1655:
	.align	2
.L1654:
	.word	.LC470
	.word	env
	.word	global_config
	.size	handle_navigation, .-handle_navigation
	.align	2
	.global	adjust_indent
	.syntax unified
	.arm
	.fpu softvfp
	.type	adjust_indent, %function
adjust_indent:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #52
	str	r0, [fp, #-56]
	str	r1, [fp, #-60]
	mov	r3, #0
	str	r3, [fp, #-44]
	mov	r3, #0
	str	r3, [fp, #-40]
	ldr	r3, .L1706
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-56]
	cmp	r2, r3
	bgt	.L1657
	ldr	r3, [fp, #-56]
	sub	r3, r3, #1
	str	r3, [fp, #-40]
	ldr	r3, .L1706
	ldr	r3, [r3]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-56]
	sub	r3, r2, r3
	add	r3, r3, #1
	str	r3, [fp, #-44]
	b	.L1658
.L1657:
	ldr	r3, .L1706
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #1
	str	r3, [fp, #-40]
	ldr	r3, .L1706
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-56]
	sub	r3, r2, r3
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L1658:
	mov	r3, #0
	str	r3, [fp, #-36]
	b	.L1659
.L1700:
	ldr	r3, [fp, #-60]
	cmn	r3, #1
	bne	.L1660
	ldr	r3, .L1706
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r1, [fp, #-40]
	ldr	r3, [fp, #-36]
	add	r3, r1, r3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	ble	.L1702
.L1660:
	ldr	r3, [fp, #-60]
	cmn	r3, #1
	bne	.L1662
	ldr	r3, .L1706
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #2
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L1663
	ldr	r3, .L1706
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r1, [fp, #-40]
	ldr	r3, [fp, #-36]
	add	r3, r1, r3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	bic	r3, r3, #2032
	bic	r3, r3, #15
	cmp	r3, #18432
	bne	.L1661
	ldr	r3, .L1706
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r1, [fp, #-40]
	ldr	r3, [fp, #-36]
	add	r3, r1, r3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	add	r3, r2, r3
	mov	r2, r3
	mov	r1, #1
	bl	line_delete
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	add	r2, r2, r3
	ldr	r3, .L1706
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	cmp	r2, r3
	ble	.L1665
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	add	r3, r2, r3
	add	r2, r3, #1
	ldr	r3, .L1706
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	sub	r2, r2, r3
	ldr	r3, .L1706+4
	ldr	r1, [r3, #4]
	ldr	r3, .L1706+4
	ldr	r3, [r3, #8]
	sub	r3, r1, r3
	cmp	r2, r3
	bge	.L1703
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	add	r3, r2, r3
	add	r2, r3, #1
	ldr	r3, .L1706
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	sub	r3, r2, r3
	sub	r3, r3, #1
	mov	r0, r3
	bl	draw_excess_line
	b	.L1703
.L1665:
	ldr	r3, .L1706
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-56]
	cmp	r2, r3
	ble	.L1667
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	add	r3, r2, r3
	add	r2, r3, #1
	ldr	r3, .L1706
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	cmp	r2, r3
	blt	.L1668
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	add	r3, r2, r3
	ldr	r2, [fp, #-56]
	cmp	r2, r3
	ble	.L1668
.L1667:
	ldr	r3, .L1706
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-56]
	cmp	r2, r3
	bge	.L1669
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	add	r2, r2, r3
	ldr	r3, .L1706
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	cmp	r2, r3
	bge	.L1668
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	add	r3, r2, r3
	add	r3, r3, #1
	ldr	r2, [fp, #-56]
	cmp	r2, r3
	bgt	.L1668
.L1669:
	ldr	r3, .L1706
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-56]
	cmp	r2, r3
	bne	.L1670
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	add	r3, r2, r3
	add	r3, r3, #1
	ldr	r2, [fp, #-56]
	cmp	r2, r3
	beq	.L1670
.L1668:
	ldr	r3, .L1706
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r1, [fp, #-40]
	ldr	r3, [fp, #-36]
	add	r3, r1, r3
	add	r3, r3, #1073741824
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	add	r3, r2, r3
	mov	r1, r3
	bl	recalculate_syntax
	b	.L1671
.L1670:
	mov	r3, #0
	str	r3, [fp, #-32]
	b	.L1672
.L1673:
	ldr	r3, .L1706
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r1, [fp, #-40]
	ldr	r3, [fp, #-36]
	add	r3, r1, r3
	add	r3, r3, #1073741824
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	add	r3, r3, #4
	ldrh	r3, [r3]
	lsr	r3, r3, #4
	and	r3, r3, #127
	and	r3, r3, #255
	ldr	r2, .L1706
	ldr	r2, [r2]
	ldr	r1, [r2, #48]
	ldr	r0, [fp, #-40]
	ldr	r2, [fp, #-36]
	add	r2, r0, r2
	add	r2, r2, #1073741824
	lsl	r2, r2, #2
	add	r2, r1, r2
	ldr	r1, [r2]
	orr	r3, r3, #16
	and	r3, r3, #255
	ldr	r2, [fp, #-32]
	add	r2, r2, #2
	lsl	r2, r2, #2
	add	r2, r1, r2
	add	r1, r2, #4
	ldrh	r2, [r1]	@ movhi
	and	r3, r3, #127
	bic	r2, r2, #2032
	lsl	r3, r3, #4
	orr	r3, r3, r2
	mov	r2, r3	@ movhi
	strh	r2, [r1]	@ movhi
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L1672:
	ldr	r3, .L1706
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r1, [fp, #-40]
	ldr	r3, [fp, #-36]
	add	r3, r1, r3
	add	r3, r3, #1073741824
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-32]
	cmp	r2, r3
	blt	.L1673
.L1671:
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	add	r3, r2, r3
	add	r2, r3, #1
	ldr	r3, .L1706
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	sub	r3, r2, r3
	cmp	r3, #0
	ble	.L1661
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	add	r3, r2, r3
	add	r2, r3, #1
	ldr	r3, .L1706
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	sub	r2, r2, r3
	ldr	r3, .L1706+4
	ldr	r1, [r3, #4]
	ldr	r3, .L1706+4
	ldr	r3, [r3, #8]
	sub	r3, r1, r3
	cmp	r2, r3
	bge	.L1661
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	add	r3, r2, r3
	add	r2, r3, #1
	ldr	r3, .L1706
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	sub	r3, r2, r3
	sub	r0, r3, #1
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	add	r3, r2, r3
	mov	r1, r3
	bl	redraw_line
	b	.L1661
.L1663:
	mov	r3, #0
	str	r3, [fp, #-28]
	b	.L1675
.L1677:
	ldr	r3, .L1706
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r1, [fp, #-40]
	ldr	r3, [fp, #-36]
	add	r3, r1, r3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	bic	r3, r3, #2032
	bic	r3, r3, #15
	cmp	r3, #65536
	bne	.L1676
	ldr	r3, .L1706
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r1, [fp, #-40]
	ldr	r3, [fp, #-36]
	add	r3, r1, r3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	add	r3, r2, r3
	mov	r2, r3
	mov	r1, #1
	bl	line_delete
.L1676:
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L1675:
	ldr	r3, .L1706
	ldr	r3, [r3]
	ldrsh	r3, [r3, #4]
	mov	r2, r3
	ldr	r3, [fp, #-28]
	cmp	r3, r2
	blt	.L1677
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	add	r2, r2, r3
	ldr	r3, .L1706
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	cmp	r2, r3
	ble	.L1678
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	add	r3, r2, r3
	add	r2, r3, #1
	ldr	r3, .L1706
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	sub	r2, r2, r3
	ldr	r3, .L1706+4
	ldr	r1, [r3, #4]
	ldr	r3, .L1706+4
	ldr	r3, [r3, #8]
	sub	r3, r1, r3
	cmp	r2, r3
	bge	.L1704
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	add	r3, r2, r3
	add	r2, r3, #1
	ldr	r3, .L1706
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	sub	r3, r2, r3
	sub	r3, r3, #1
	mov	r0, r3
	bl	draw_excess_line
	b	.L1704
.L1678:
	ldr	r3, .L1706
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-56]
	cmp	r2, r3
	ble	.L1680
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	add	r3, r2, r3
	add	r2, r3, #1
	ldr	r3, .L1706
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	cmp	r2, r3
	blt	.L1681
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	add	r3, r2, r3
	ldr	r2, [fp, #-56]
	cmp	r2, r3
	ble	.L1681
.L1680:
	ldr	r3, .L1706
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-56]
	cmp	r2, r3
	bge	.L1682
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	add	r2, r2, r3
	ldr	r3, .L1706
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	cmp	r2, r3
	bge	.L1681
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	add	r3, r2, r3
	add	r3, r3, #1
	ldr	r2, [fp, #-56]
	cmp	r2, r3
	bgt	.L1681
.L1682:
	ldr	r3, .L1706
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-56]
	cmp	r2, r3
	bne	.L1683
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	add	r3, r2, r3
	add	r3, r3, #1
	ldr	r2, [fp, #-56]
	cmp	r2, r3
	beq	.L1683
.L1681:
	ldr	r3, .L1706
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r1, [fp, #-40]
	ldr	r3, [fp, #-36]
	add	r3, r1, r3
	add	r3, r3, #1073741824
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	add	r3, r2, r3
	mov	r1, r3
	bl	recalculate_syntax
	b	.L1684
.L1683:
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L1685
.L1686:
	ldr	r3, .L1706
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r1, [fp, #-40]
	ldr	r3, [fp, #-36]
	add	r3, r1, r3
	add	r3, r3, #1073741824
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	add	r3, r3, #4
	ldrh	r3, [r3]
	lsr	r3, r3, #4
	and	r3, r3, #127
	and	r3, r3, #255
	ldr	r2, .L1706
	ldr	r2, [r2]
	ldr	r1, [r2, #48]
	ldr	r0, [fp, #-40]
	ldr	r2, [fp, #-36]
	add	r2, r0, r2
	add	r2, r2, #1073741824
	lsl	r2, r2, #2
	add	r2, r1, r2
	ldr	r1, [r2]
	orr	r3, r3, #16
	and	r3, r3, #255
	ldr	r2, [fp, #-24]
	add	r2, r2, #2
	lsl	r2, r2, #2
	add	r2, r1, r2
	add	r1, r2, #4
	ldrh	r2, [r1]	@ movhi
	and	r3, r3, #127
	bic	r2, r2, #2032
	lsl	r3, r3, #4
	orr	r3, r3, r2
	mov	r2, r3	@ movhi
	strh	r2, [r1]	@ movhi
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L1685:
	ldr	r3, .L1706
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r1, [fp, #-40]
	ldr	r3, [fp, #-36]
	add	r3, r1, r3
	add	r3, r3, #1073741824
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	blt	.L1686
.L1684:
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	add	r3, r2, r3
	add	r2, r3, #1
	ldr	r3, .L1706
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	sub	r3, r2, r3
	cmp	r3, #0
	ble	.L1661
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	add	r3, r2, r3
	add	r2, r3, #1
	ldr	r3, .L1706
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	sub	r2, r2, r3
	ldr	r3, .L1706+4
	ldr	r1, [r3, #4]
	ldr	r3, .L1706+4
	ldr	r3, [r3, #8]
	sub	r3, r1, r3
	cmp	r2, r3
	bge	.L1661
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	add	r3, r2, r3
	add	r2, r3, #1
	ldr	r3, .L1706
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	sub	r3, r2, r3
	sub	r0, r3, #1
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	add	r3, r2, r3
	mov	r1, r3
	bl	redraw_line
	b	.L1661
.L1662:
	ldr	r3, [fp, #-60]
	cmp	r3, #1
	bne	.L1661
	ldr	r3, .L1706
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #2
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L1687
	ldr	r3, [fp, #-48]
	ldr	r2, .L1706+8
	and	r2, r2, r3
	orr	r3, r2, #18432
	str	r3, [fp, #-48]
	ldr	r3, .L1706
	ldr	r3, [r3]
	ldrsh	r3, [r3, #4]
	and	r3, r3, #15
	and	r2, r3, #255
	ldrb	r3, [fp, #-48]
	and	r2, r2, #15
	bic	r3, r3, #15
	orr	r3, r2, r3
	strb	r3, [fp, #-48]
	ldrh	r3, [fp, #-48]	@ movhi
	bic	r3, r3, #1776
	orr	r3, r3, #256
	strh	r3, [fp, #-48]	@ movhi
	ldr	r3, .L1706
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r1, [fp, #-40]
	ldr	r3, [fp, #-36]
	add	r3, r1, r3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	add	ip, r2, r3
	ldr	r3, .L1706
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r1, [fp, #-40]
	ldr	r3, [fp, #-36]
	add	r3, r1, r3
	lsl	r3, r3, #2
	add	r4, r2, r3
	mov	r3, ip
	mov	r2, #0
	ldr	r1, [fp, #-48]
	bl	line_insert
	mov	r3, r0
	str	r3, [r4]
	b	.L1688
.L1687:
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L1689
.L1690:
	ldr	r3, [fp, #-48]
	ldr	r2, .L1706+12
	and	r2, r2, r3
	orr	r3, r2, #65536
	str	r3, [fp, #-48]
	ldrb	r3, [fp, #-48]
	bic	r3, r3, #14
	orr	r3, r3, #1
	strb	r3, [fp, #-48]
	ldrh	r3, [fp, #-48]	@ movhi
	bic	r3, r3, #1776
	orr	r3, r3, #256
	strh	r3, [fp, #-48]	@ movhi
	ldr	r3, .L1706
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r1, [fp, #-40]
	ldr	r3, [fp, #-36]
	add	r3, r1, r3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	add	ip, r2, r3
	ldr	r3, .L1706
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r1, [fp, #-40]
	ldr	r3, [fp, #-36]
	add	r3, r1, r3
	lsl	r3, r3, #2
	add	r4, r2, r3
	mov	r3, ip
	mov	r2, #0
	ldr	r1, [fp, #-48]
	bl	line_insert
	mov	r3, r0
	str	r3, [r4]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L1689:
	ldr	r3, .L1706
	ldr	r3, [r3]
	ldrsh	r3, [r3, #4]
	mov	r2, r3
	ldr	r3, [fp, #-20]
	cmp	r3, r2
	blt	.L1690
.L1688:
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	add	r2, r2, r3
	ldr	r3, .L1706
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	cmp	r2, r3
	ble	.L1691
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	add	r3, r2, r3
	add	r2, r3, #1
	ldr	r3, .L1706
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	sub	r2, r2, r3
	ldr	r3, .L1706+4
	ldr	r1, [r3, #4]
	ldr	r3, .L1706+4
	ldr	r3, [r3, #8]
	sub	r3, r1, r3
	cmp	r2, r3
	bge	.L1705
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	add	r3, r2, r3
	add	r2, r3, #1
	ldr	r3, .L1706
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	sub	r3, r2, r3
	sub	r3, r3, #1
	mov	r0, r3
	bl	draw_excess_line
	b	.L1705
.L1691:
	ldr	r3, .L1706
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-56]
	cmp	r2, r3
	ble	.L1693
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	add	r3, r2, r3
	add	r2, r3, #1
	ldr	r3, .L1706
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	cmp	r2, r3
	blt	.L1694
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	add	r3, r2, r3
	ldr	r2, [fp, #-56]
	cmp	r2, r3
	ble	.L1694
.L1693:
	ldr	r3, .L1706
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-56]
	cmp	r2, r3
	bge	.L1695
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	add	r2, r2, r3
	ldr	r3, .L1706
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	cmp	r2, r3
	bge	.L1694
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	add	r3, r2, r3
	add	r3, r3, #1
	ldr	r2, [fp, #-56]
	cmp	r2, r3
	bgt	.L1694
.L1695:
	ldr	r3, .L1706
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-56]
	cmp	r2, r3
	bne	.L1696
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	add	r3, r2, r3
	add	r3, r3, #1
	ldr	r2, [fp, #-56]
	cmp	r2, r3
	beq	.L1696
.L1694:
	ldr	r3, .L1706
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r1, [fp, #-40]
	ldr	r3, [fp, #-36]
	add	r3, r1, r3
	add	r3, r3, #1073741824
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	add	r3, r2, r3
	mov	r1, r3
	bl	recalculate_syntax
	b	.L1697
.L1696:
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L1698
.L1699:
	ldr	r3, .L1706
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r1, [fp, #-40]
	ldr	r3, [fp, #-36]
	add	r3, r1, r3
	add	r3, r3, #1073741824
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	add	r3, r3, #4
	ldrh	r3, [r3]
	lsr	r3, r3, #4
	and	r3, r3, #127
	and	r3, r3, #255
	ldr	r2, .L1706
	ldr	r2, [r2]
	ldr	r1, [r2, #48]
	ldr	r0, [fp, #-40]
	ldr	r2, [fp, #-36]
	add	r2, r0, r2
	add	r2, r2, #1073741824
	lsl	r2, r2, #2
	add	r2, r1, r2
	ldr	r1, [r2]
	orr	r3, r3, #16
	and	r3, r3, #255
	ldr	r2, [fp, #-16]
	add	r2, r2, #2
	lsl	r2, r2, #2
	add	r2, r1, r2
	add	r1, r2, #4
	ldrh	r2, [r1]	@ movhi
	and	r3, r3, #127
	bic	r2, r2, #2032
	lsl	r3, r3, #4
	orr	r3, r3, r2
	mov	r2, r3	@ movhi
	strh	r2, [r1]	@ movhi
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L1698:
	ldr	r3, .L1706
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r1, [fp, #-40]
	ldr	r3, [fp, #-36]
	add	r3, r1, r3
	add	r3, r3, #1073741824
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	blt	.L1699
.L1697:
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	add	r3, r2, r3
	add	r2, r3, #1
	ldr	r3, .L1706
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	sub	r3, r2, r3
	cmp	r3, #0
	ble	.L1661
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	add	r3, r2, r3
	add	r2, r3, #1
	ldr	r3, .L1706
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	sub	r2, r2, r3
	ldr	r3, .L1706+4
	ldr	r1, [r3, #4]
	ldr	r3, .L1706+4
	ldr	r3, [r3, #8]
	sub	r3, r1, r3
	cmp	r2, r3
	bge	.L1661
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	add	r3, r2, r3
	add	r2, r3, #1
	ldr	r3, .L1706
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	sub	r3, r2, r3
	sub	r0, r3, #1
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	add	r3, r2, r3
	mov	r1, r3
	bl	redraw_line
	b	.L1661
.L1702:
	nop
	b	.L1661
.L1703:
	nop
	b	.L1661
.L1704:
	nop
	b	.L1661
.L1705:
	nop
.L1661:
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
.L1659:
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-44]
	cmp	r2, r3
	blt	.L1700
	ldr	r3, .L1706
	ldr	r3, [r3]
	ldr	r2, [r3, #32]
	ldr	r3, .L1706
	ldr	r3, [r3]
	ldr	r1, [r3, #48]
	ldr	r3, .L1706
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	cmp	r2, r3
	ble	.L1701
	ldr	r3, .L1706
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, .L1706
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, .L1706
	ldr	r3, [r3]
	ldr	r2, [r2, #4]
	str	r2, [r3, #32]
.L1701:
	bl	set_preferred_column
	bl	set_modified
	nop
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L1707:
	.align	2
.L1706:
	.word	env
	.word	global_config
	.word	20479
	.word	67583
	.size	adjust_indent, .-adjust_indent
	.section	.rodata
	.align	2
.LC471:
	.ascii	"Buffer is read-only\000"
	.align	2
.LC472:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	line_selection_mode
	.syntax unified
	.arm
	.fpu softvfp
	.type	line_selection_mode, %function
line_selection_mode:
	@ args = 0, pretend = 0, frame = 144
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #144
	ldr	r3, .L1792
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	str	r3, [fp, #-104]
	ldr	r3, [fp, #-104]
	str	r3, [fp, #-144]
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	mov	r2, #2
	strh	r2, [r3, #2]	@ movhi
	bl	redraw_commandline
	mov	r3, #0
	str	r3, [fp, #-148]
	mov	r3, #0
	str	r3, [fp, #-140]
	b	.L1709
.L1710:
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-140]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	add	r3, r3, #4
	ldrh	r3, [r3]
	lsr	r3, r3, #4
	and	r3, r3, #127
	and	r3, r3, #255
	ldr	r2, .L1792+4
	ldr	r2, [r2]
	ldr	r1, [r2, #48]
	ldr	r2, .L1792+4
	ldr	r2, [r2]
	ldr	r2, [r2, #20]
	sub	r2, r2, #-1073741823
	lsl	r2, r2, #2
	add	r2, r1, r2
	ldr	r1, [r2]
	orr	r3, r3, #16
	and	r3, r3, #255
	ldr	r2, [fp, #-140]
	add	r2, r2, #2
	lsl	r2, r2, #2
	add	r2, r1, r2
	add	r1, r2, #4
	ldrh	r2, [r1]	@ movhi
	and	r3, r3, #127
	bic	r2, r2, #2032
	lsl	r3, r3, #4
	orr	r3, r3, r2
	mov	r2, r3	@ movhi
	strh	r2, [r1]	@ movhi
	ldr	r3, [fp, #-140]
	add	r3, r3, #1
	str	r3, [fp, #-140]
.L1709:
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-140]
	cmp	r2, r3
	blt	.L1710
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r2, [r3, #20]
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	sub	r3, r2, r3
	sub	r2, r3, #1
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #1
	mov	r1, r3
	mov	r0, r2
	bl	redraw_line
	b	.L1711
.L1779:
	ldr	r3, [fp, #-100]
	cmn	r3, #1
	bne	.L1712
	ldr	r3, [fp, #-148]
	cmp	r3, #0
	beq	.L1713
	ldr	r3, [fp, #-148]
	sub	r3, r3, #1
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-84]
	cmp	r3, #27
	beq	.L1783
.L1713:
	mov	r3, #0
	str	r3, [fp, #-148]
	b	.L1711
.L1712:
	ldr	r3, [fp, #-148]
	cmp	r3, #0
	bne	.L1715
	ldr	r3, [fp, #-100]
	cmp	r3, #127
	beq	.L1716
	ldr	r3, [fp, #-100]
	cmp	r3, #127
	bgt	.L1717
	ldr	r3, [fp, #-100]
	cmp	r3, #121
	beq	.L1718
	ldr	r3, [fp, #-100]
	cmp	r3, #121
	bgt	.L1717
	ldr	r3, [fp, #-100]
	cmp	r3, #100
	beq	.L1719
	ldr	r3, [fp, #-100]
	cmp	r3, #100
	bgt	.L1717
	ldr	r3, [fp, #-100]
	cmp	r3, #86
	beq	.L1784
	ldr	r3, [fp, #-100]
	cmp	r3, #86
	bgt	.L1717
	ldr	r3, [fp, #-100]
	cmp	r3, #68
	beq	.L1719
	ldr	r3, [fp, #-100]
	cmp	r3, #68
	bgt	.L1717
	ldr	r3, [fp, #-100]
	cmp	r3, #27
	beq	.L1721
	ldr	r3, [fp, #-100]
	cmp	r3, #27
	bgt	.L1717
	ldr	r3, [fp, #-100]
	cmp	r3, #8
	beq	.L1716
	ldr	r3, [fp, #-100]
	cmp	r3, #9
	beq	.L1722
	b	.L1717
.L1721:
	ldr	r3, [fp, #-148]
	cmp	r3, #0
	bne	.L1785
	ldr	r3, [fp, #-148]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r2, [fp, #-100]
	str	r2, [r3, #-84]
	ldr	r3, [fp, #-148]
	add	r3, r3, #1
	str	r3, [fp, #-148]
	b	.L1785
.L1716:
	bl	cursor_left
	b	.L1736
.L1722:
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #8
	and	r3, r3, #255
	cmp	r3, #0
	bne	.L1786
	mov	r1, #1
	ldr	r0, [fp, #-104]
	bl	adjust_indent
	b	.L1736
.L1718:
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	mov	r1, r3
	ldr	r0, [fp, #-104]
	bl	yank_lines
	b	.L1714
.L1719:
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #8
	and	r3, r3, #255
	cmp	r3, #0
	bne	.L1787
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	mov	r1, r3
	ldr	r0, [fp, #-104]
	bl	yank_lines
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-104]
	cmp	r2, r3
	bgt	.L1728
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-104]
	sub	r3, r2, r3
	add	r3, r3, #1
	str	r3, [fp, #-92]
	mov	r3, #0
	str	r3, [fp, #-136]
	b	.L1729
.L1730:
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-104]
	sub	r3, r3, #1
	mov	r1, r3
	mov	r0, r2
	bl	remove_line
	ldr	r3, [fp, #-136]
	add	r3, r3, #1
	str	r3, [fp, #-136]
.L1729:
	ldr	r2, [fp, #-136]
	ldr	r3, [fp, #-92]
	cmp	r2, r3
	blt	.L1730
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r2, [fp, #-104]
	str	r2, [r3, #20]
	b	.L1731
.L1728:
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-104]
	sub	r3, r2, r3
	add	r3, r3, #1
	str	r3, [fp, #-96]
	mov	r3, #0
	str	r3, [fp, #-132]
	b	.L1732
.L1733:
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #1
	mov	r1, r3
	mov	r0, r2
	bl	remove_line
	ldr	r3, [fp, #-132]
	add	r3, r3, #1
	str	r3, [fp, #-132]
.L1732:
	ldr	r2, [fp, #-132]
	ldr	r3, [fp, #-96]
	cmp	r2, r3
	blt	.L1733
.L1731:
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r2, [r3, #20]
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	cmp	r2, r3
	ble	.L1734
	ldr	r3, .L1792+4
	ldr	r2, [r3]
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r2, [r2, #24]
	str	r2, [r3, #20]
.L1734:
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r2, [r3, #32]
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r1, [r3, #48]
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	cmp	r2, r3
	ble	.L1735
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r2, [r2, #4]
	str	r2, [r3, #32]
.L1735:
	bl	set_preferred_column
	bl	set_modified
	b	.L1714
.L1717:
	ldr	r0, [fp, #-100]
	bl	handle_navigation
	b	.L1736
.L1715:
	sub	r1, fp, #148
	sub	r3, fp, #88
	ldr	r2, [fp, #-100]
	mov	r0, r3
	bl	handle_escape
	mov	r3, r0
	cmp	r3, #1
	beq	.L1737
	cmp	r3, #90
	beq	.L1738
	b	.L1736
.L1737:
	ldr	r0, [fp, #-100]
	bl	bim_unget
	b	.L1714
.L1738:
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #8
	and	r3, r3, #255
	cmp	r3, #0
	bne	.L1788
	mvn	r1, #0
	ldr	r0, [fp, #-104]
	bl	adjust_indent
	b	.L1736
.L1785:
	nop
.L1736:
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-104]
	cmp	r2, r3
	beq	.L1789
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r2, [r3, #20]
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	add	r3, r3, #1
	cmp	r2, r3
	ble	.L1742
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r2, [r3, #20]
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	sub	r2, r2, r3
	ldr	r3, .L1792+8
	ldr	r1, [r3, #4]
	ldr	r3, .L1792+8
	ldr	r3, [r3, #8]
	sub	r3, r1, r3
	cmp	r2, r3
	bge	.L1789
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r2, [r3, #20]
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	sub	r3, r2, r3
	sub	r3, r3, #1
	mov	r0, r3
	bl	draw_excess_line
	b	.L1789
.L1742:
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-104]
	cmp	r2, r3
	ble	.L1744
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-104]
	cmp	r2, r3
	blt	.L1745
.L1744:
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-104]
	cmp	r2, r3
	bge	.L1746
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-104]
	cmp	r2, r3
	bgt	.L1745
.L1746:
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-104]
	cmp	r2, r3
	bne	.L1747
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-104]
	cmp	r2, r3
	beq	.L1747
.L1745:
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #1
	mov	r1, r3
	mov	r0, r2
	bl	recalculate_syntax
	b	.L1748
.L1747:
	mov	r3, #0
	str	r3, [fp, #-128]
	b	.L1749
.L1750:
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-128]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	add	r3, r3, #4
	ldrh	r3, [r3]
	lsr	r3, r3, #4
	and	r3, r3, #127
	and	r3, r3, #255
	ldr	r2, .L1792+4
	ldr	r2, [r2]
	ldr	r1, [r2, #48]
	ldr	r2, .L1792+4
	ldr	r2, [r2]
	ldr	r2, [r2, #20]
	sub	r2, r2, #-1073741823
	lsl	r2, r2, #2
	add	r2, r1, r2
	ldr	r1, [r2]
	orr	r3, r3, #16
	and	r3, r3, #255
	ldr	r2, [fp, #-128]
	add	r2, r2, #2
	lsl	r2, r2, #2
	add	r2, r1, r2
	add	r1, r2, #4
	ldrh	r2, [r1]	@ movhi
	and	r3, r3, #127
	bic	r2, r2, #2032
	lsl	r3, r3, #4
	orr	r3, r3, r2
	mov	r2, r3	@ movhi
	strh	r2, [r1]	@ movhi
	ldr	r3, [fp, #-128]
	add	r3, r3, #1
	str	r3, [fp, #-128]
.L1749:
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-128]
	cmp	r2, r3
	blt	.L1750
.L1748:
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r2, [r3, #20]
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	sub	r3, r2, r3
	cmp	r3, #0
	ble	.L1741
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r2, [r3, #20]
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	sub	r2, r2, r3
	ldr	r3, .L1792+8
	ldr	r1, [r3, #4]
	ldr	r3, .L1792+8
	ldr	r3, [r3, #8]
	sub	r3, r1, r3
	cmp	r2, r3
	bge	.L1741
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r2, [r3, #20]
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	sub	r3, r2, r3
	sub	r2, r3, #1
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #1
	mov	r1, r3
	mov	r0, r2
	bl	redraw_line
	b	.L1741
.L1789:
	nop
.L1741:
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-144]
	cmp	r2, r3
	bge	.L1751
	ldr	r3, [fp, #-144]
	str	r3, [fp, #-124]
	b	.L1752
.L1764:
	ldr	r2, [fp, #-124]
	ldr	r3, [fp, #-104]
	cmp	r2, r3
	beq	.L1790
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	add	r3, r3, #1
	ldr	r2, [fp, #-124]
	cmp	r2, r3
	ble	.L1755
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-124]
	sub	r2, r2, r3
	ldr	r3, .L1792+8
	ldr	r1, [r3, #4]
	ldr	r3, .L1792+8
	ldr	r3, [r3, #8]
	sub	r3, r1, r3
	cmp	r2, r3
	bge	.L1790
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-124]
	sub	r3, r2, r3
	sub	r3, r3, #1
	mov	r0, r3
	bl	draw_excess_line
	b	.L1790
.L1755:
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-104]
	cmp	r2, r3
	ble	.L1757
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-124]
	cmp	r2, r3
	blt	.L1758
	ldr	r2, [fp, #-124]
	ldr	r3, [fp, #-104]
	cmp	r2, r3
	bgt	.L1758
.L1757:
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-104]
	cmp	r2, r3
	bge	.L1759
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-124]
	cmp	r2, r3
	bgt	.L1758
	ldr	r2, [fp, #-124]
	ldr	r3, [fp, #-104]
	cmp	r2, r3
	blt	.L1758
.L1759:
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-104]
	cmp	r2, r3
	bne	.L1760
	ldr	r2, [fp, #-124]
	ldr	r3, [fp, #-104]
	cmp	r2, r3
	beq	.L1760
.L1758:
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-124]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-124]
	sub	r3, r3, #1
	mov	r1, r3
	mov	r0, r2
	bl	recalculate_syntax
	b	.L1761
.L1760:
	mov	r3, #0
	str	r3, [fp, #-120]
	b	.L1762
.L1763:
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-124]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-120]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	add	r3, r3, #4
	ldrh	r3, [r3]
	lsr	r3, r3, #4
	and	r3, r3, #127
	and	r3, r3, #255
	ldr	r2, .L1792+4
	ldr	r2, [r2]
	ldr	r1, [r2, #48]
	ldr	r2, [fp, #-124]
	sub	r2, r2, #-1073741823
	lsl	r2, r2, #2
	add	r2, r1, r2
	ldr	r1, [r2]
	orr	r3, r3, #16
	and	r3, r3, #255
	ldr	r2, [fp, #-120]
	add	r2, r2, #2
	lsl	r2, r2, #2
	add	r2, r1, r2
	add	r1, r2, #4
	ldrh	r2, [r1]	@ movhi
	and	r3, r3, #127
	bic	r2, r2, #2032
	lsl	r3, r3, #4
	orr	r3, r3, r2
	mov	r2, r3	@ movhi
	strh	r2, [r1]	@ movhi
	ldr	r3, [fp, #-120]
	add	r3, r3, #1
	str	r3, [fp, #-120]
.L1762:
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-124]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-120]
	cmp	r2, r3
	blt	.L1763
.L1761:
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-124]
	sub	r3, r2, r3
	cmp	r3, #0
	ble	.L1754
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-124]
	sub	r2, r2, r3
	ldr	r3, .L1792+8
	ldr	r1, [r3, #4]
	ldr	r3, .L1792+8
	ldr	r3, [r3, #8]
	sub	r3, r1, r3
	cmp	r2, r3
	bge	.L1754
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-124]
	sub	r3, r2, r3
	sub	r2, r3, #1
	ldr	r3, [fp, #-124]
	sub	r3, r3, #1
	mov	r1, r3
	mov	r0, r2
	bl	redraw_line
	b	.L1754
.L1790:
	nop
.L1754:
	ldr	r3, [fp, #-124]
	add	r3, r3, #1
	str	r3, [fp, #-124]
.L1752:
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-124]
	cmp	r2, r3
	blt	.L1764
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	str	r3, [fp, #-144]
	b	.L1765
.L1751:
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-144]
	cmp	r2, r3
	ble	.L1765
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	add	r3, r3, #1
	str	r3, [fp, #-116]
	b	.L1766
.L1778:
	ldr	r2, [fp, #-116]
	ldr	r3, [fp, #-104]
	cmp	r2, r3
	beq	.L1791
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	add	r3, r3, #1
	ldr	r2, [fp, #-116]
	cmp	r2, r3
	ble	.L1769
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-116]
	sub	r2, r2, r3
	ldr	r3, .L1792+8
	ldr	r1, [r3, #4]
	ldr	r3, .L1792+8
	ldr	r3, [r3, #8]
	sub	r3, r1, r3
	cmp	r2, r3
	bge	.L1791
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-116]
	sub	r3, r2, r3
	sub	r3, r3, #1
	mov	r0, r3
	bl	draw_excess_line
	b	.L1791
.L1769:
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-104]
	cmp	r2, r3
	ble	.L1771
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-116]
	cmp	r2, r3
	blt	.L1772
	ldr	r2, [fp, #-116]
	ldr	r3, [fp, #-104]
	cmp	r2, r3
	bgt	.L1772
.L1771:
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-104]
	cmp	r2, r3
	bge	.L1773
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-116]
	cmp	r2, r3
	bgt	.L1772
	ldr	r2, [fp, #-116]
	ldr	r3, [fp, #-104]
	cmp	r2, r3
	blt	.L1772
.L1773:
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-104]
	cmp	r2, r3
	bne	.L1774
	ldr	r2, [fp, #-116]
	ldr	r3, [fp, #-104]
	cmp	r2, r3
	beq	.L1774
.L1772:
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-116]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-116]
	sub	r3, r3, #1
	mov	r1, r3
	mov	r0, r2
	bl	recalculate_syntax
	b	.L1775
.L1774:
	mov	r3, #0
	str	r3, [fp, #-112]
	b	.L1776
.L1777:
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-116]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-112]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	add	r3, r3, #4
	ldrh	r3, [r3]
	lsr	r3, r3, #4
	and	r3, r3, #127
	and	r3, r3, #255
	ldr	r2, .L1792+4
	ldr	r2, [r2]
	ldr	r1, [r2, #48]
	ldr	r2, [fp, #-116]
	sub	r2, r2, #-1073741823
	lsl	r2, r2, #2
	add	r2, r1, r2
	ldr	r1, [r2]
	orr	r3, r3, #16
	and	r3, r3, #255
	ldr	r2, [fp, #-112]
	add	r2, r2, #2
	lsl	r2, r2, #2
	add	r2, r1, r2
	add	r1, r2, #4
	ldrh	r2, [r1]	@ movhi
	and	r3, r3, #127
	bic	r2, r2, #2032
	lsl	r3, r3, #4
	orr	r3, r3, r2
	mov	r2, r3	@ movhi
	strh	r2, [r1]	@ movhi
	ldr	r3, [fp, #-112]
	add	r3, r3, #1
	str	r3, [fp, #-112]
.L1776:
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-116]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-112]
	cmp	r2, r3
	blt	.L1777
.L1775:
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-116]
	sub	r3, r2, r3
	cmp	r3, #0
	ble	.L1768
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-116]
	sub	r2, r2, r3
	ldr	r3, .L1792+8
	ldr	r1, [r3, #4]
	ldr	r3, .L1792+8
	ldr	r3, [r3, #8]
	sub	r3, r1, r3
	cmp	r2, r3
	bge	.L1768
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-116]
	sub	r3, r2, r3
	sub	r2, r3, #1
	ldr	r3, [fp, #-116]
	sub	r3, r3, #1
	mov	r1, r3
	mov	r0, r2
	bl	redraw_line
	b	.L1768
.L1791:
	nop
.L1768:
	ldr	r3, [fp, #-116]
	add	r3, r3, #1
	str	r3, [fp, #-116]
.L1766:
	ldr	r2, [fp, #-116]
	ldr	r3, [fp, #-144]
	cmp	r2, r3
	ble	.L1778
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	str	r3, [fp, #-144]
.L1765:
	bl	place_cursor_actual
	b	.L1711
.L1786:
	nop
	b	.L1726
.L1787:
	nop
	b	.L1726
.L1788:
	nop
.L1726:
	ldr	r0, .L1792+12
	bl	render_error
.L1711:
	mov	r0, #200
	bl	bim_getch_timeout
	str	r0, [fp, #-100]
	ldr	r3, [fp, #-100]
	cmp	r3, #0
	bne	.L1779
	b	.L1714
.L1783:
	nop
	b	.L1714
.L1784:
	nop
.L1714:
	bl	set_history_break
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	mov	r2, #0
	strh	r2, [r3, #2]	@ movhi
	mov	r3, #0
	str	r3, [fp, #-108]
	b	.L1780
.L1781:
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-108]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, [fp, #-108]
	mov	r0, r3
	bl	recalculate_syntax
	ldr	r3, [fp, #-108]
	add	r3, r3, #1
	str	r3, [fp, #-108]
.L1780:
	ldr	r3, .L1792+4
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	ldr	r2, [fp, #-108]
	cmp	r2, r3
	blt	.L1781
	bl	redraw_all
	nop
	ldr	r3, .L1792
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L1782
	bl	__stack_chk_fail
.L1782:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1793:
	.align	2
.L1792:
	.word	.LC472
	.word	env
	.word	global_config
	.word	.LC471
	.size	line_selection_mode, .-line_selection_mode
	.align	2
	.global	point_in_range
	.syntax unified
	.arm
	.fpu softvfp
	.type	point_in_range, %function
point_in_range:
	@ args = 8, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #28
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	bne	.L1795
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	bge	.L1796
	ldr	r3, [fp, #-28]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-24]
.L1796:
	ldr	r2, [fp, #8]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	blt	.L1797
	ldr	r2, [fp, #8]
	ldr	r3, [fp, #-28]
	cmp	r2, r3
	bgt	.L1797
	mov	r3, #1
	b	.L1799
.L1797:
	mov	r3, #0
	b	.L1799
.L1795:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	ble	.L1800
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-28]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-24]
.L1800:
	ldr	r2, [fp, #4]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	blt	.L1801
	ldr	r2, [fp, #4]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	ble	.L1802
.L1801:
	mov	r3, #0
	b	.L1799
.L1802:
	ldr	r2, [fp, #4]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	bne	.L1803
	ldr	r2, [fp, #8]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	movge	r3, #1
	movlt	r3, #0
	and	r3, r3, #255
	b	.L1799
.L1803:
	ldr	r2, [fp, #4]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	bne	.L1804
	ldr	r2, [fp, #8]
	ldr	r3, [fp, #-28]
	cmp	r2, r3
	movle	r3, #1
	movgt	r3, #0
	and	r3, r3, #255
	b	.L1799
.L1804:
	mov	r3, #1
.L1799:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	point_in_range, .-point_in_range
	.section	.rodata
	.align	2
.LC473:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	char_selection_mode
	.syntax unified
	.arm
	.fpu softvfp
	.type	char_selection_mode, %function
char_selection_mode:
	@ args = 0, pretend = 0, frame = 184
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #192
	ldr	r3, .L1894+12
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	str	r3, [fp, #-180]
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r3, [r3, #32]
	str	r3, [fp, #-176]
	ldr	r3, [fp, #-180]
	str	r3, [fp, #-172]
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	mov	r2, #4
	strh	r2, [r3, #2]	@ movhi
	bl	redraw_commandline
	mov	r3, #0
	str	r3, [fp, #-184]
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r3, [r3, #32]
	sub	r3, r3, #1
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	add	r3, r3, #4
	ldrh	r3, [r3]
	lsr	r3, r3, #4
	and	r3, r3, #127
	and	r3, r3, #255
	ldr	r2, .L1894+8
	ldr	r2, [r2]
	ldr	r1, [r2, #48]
	ldr	r2, .L1894+8
	ldr	r2, [r2]
	ldr	r2, [r2, #20]
	sub	r2, r2, #-1073741823
	lsl	r2, r2, #2
	add	r2, r1, r2
	ldr	r1, [r2]
	ldr	r2, .L1894+8
	ldr	r2, [r2]
	ldr	r2, [r2, #32]
	sub	r2, r2, #1
	orr	r3, r3, #16
	and	r3, r3, #255
	add	r2, r2, #2
	lsl	r2, r2, #2
	add	r2, r1, r2
	add	r1, r2, #4
	ldrh	r2, [r1]	@ movhi
	and	r3, r3, #127
	bic	r2, r2, #2032
	lsl	r3, r3, #4
	orr	r3, r3, r2
	mov	r2, r3	@ movhi
	strh	r2, [r1]	@ movhi
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r2, [r3, #20]
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	sub	r3, r2, r3
	sub	r2, r3, #1
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #1
	mov	r1, r3
	mov	r0, r2
	bl	redraw_line
	b	.L1806
.L1882:
	ldr	r3, [fp, #-112]
	cmn	r3, #1
	bne	.L1807
	ldr	r3, [fp, #-184]
	cmp	r3, #0
	beq	.L1808
	ldr	r3, [fp, #-184]
	sub	r3, r3, #1
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-84]
	cmp	r3, #27
	beq	.L1887
.L1808:
	mov	r3, #0
	str	r3, [fp, #-184]
	b	.L1806
.L1807:
	ldr	r3, [fp, #-184]
	cmp	r3, #0
	bne	.L1810
	ldr	r3, [fp, #-112]
	cmp	r3, #127
	bgt	.L1811
	ldr	r3, [fp, #-112]
	cmp	r3, #100
	bge	.L1812
	ldr	r3, [fp, #-112]
	cmp	r3, #68
	beq	.L1813
	ldr	r3, [fp, #-112]
	cmp	r3, #68
	bgt	.L1811
	ldr	r3, [fp, #-112]
	cmp	r3, #8
	beq	.L1814
	ldr	r3, [fp, #-112]
	cmp	r3, #27
	beq	.L1815
	b	.L1811
.L1812:
	ldr	r3, [fp, #-112]
	sub	r3, r3, #100
	cmp	r3, #27
	ldrls	pc, [pc, r3, asl #2]
	b	.L1811
.L1816:
	.word	.L1813
	.word	.L1811
	.word	.L1811
	.word	.L1811
	.word	.L1811
	.word	.L1811
	.word	.L1811
	.word	.L1811
	.word	.L1811
	.word	.L1811
	.word	.L1811
	.word	.L1811
	.word	.L1811
	.word	.L1811
	.word	.L1811
	.word	.L1811
	.word	.L1811
	.word	.L1811
	.word	.L1888
	.word	.L1811
	.word	.L1811
	.word	.L1817
	.word	.L1811
	.word	.L1811
	.word	.L1811
	.word	.L1811
	.word	.L1811
	.word	.L1814
.L1815:
	ldr	r3, [fp, #-184]
	cmp	r3, #0
	bne	.L1889
	ldr	r3, [fp, #-184]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r2, [fp, #-112]
	str	r2, [r3, #-84]
	ldr	r3, [fp, #-184]
	add	r3, r3, #1
	str	r3, [fp, #-184]
	b	.L1889
.L1814:
	bl	cursor_left
	b	.L1838
.L1817:
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	str	r3, [fp, #-168]
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r3, [r3, #32]
	str	r3, [fp, #-164]
	ldr	r2, [fp, #-180]
	ldr	r3, [fp, #-168]
	cmp	r2, r3
	bne	.L1821
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-164]
	cmp	r2, r3
	ble	.L1822
	ldr	r3, [fp, #-176]
	str	r3, [fp, #-104]
	ldr	r3, [fp, #-164]
	str	r3, [fp, #-176]
	ldr	r3, [fp, #-104]
	str	r3, [fp, #-164]
	b	.L1822
.L1821:
	ldr	r2, [fp, #-180]
	ldr	r3, [fp, #-168]
	cmp	r2, r3
	ble	.L1822
	ldr	r3, [fp, #-180]
	str	r3, [fp, #-108]
	ldr	r3, [fp, #-168]
	str	r3, [fp, #-180]
	ldr	r3, [fp, #-108]
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-176]
	str	r3, [fp, #-108]
	ldr	r3, [fp, #-164]
	str	r3, [fp, #-176]
	ldr	r3, [fp, #-108]
	str	r3, [fp, #-164]
.L1822:
	ldr	r3, [fp, #-164]
	ldr	r2, [fp, #-168]
	ldr	r1, [fp, #-176]
	ldr	r0, [fp, #-180]
	bl	yank_text
	b	.L1809
.L1813:
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #8
	and	r3, r3, #255
	cmp	r3, #0
	bne	.L1890
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	str	r3, [fp, #-160]
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r3, [r3, #32]
	str	r3, [fp, #-156]
	ldr	r2, [fp, #-180]
	ldr	r3, [fp, #-160]
	cmp	r2, r3
	bne	.L1825
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-156]
	cmp	r2, r3
	ble	.L1826
	ldr	r3, [fp, #-176]
	str	r3, [fp, #-92]
	ldr	r3, [fp, #-156]
	str	r3, [fp, #-176]
	ldr	r3, [fp, #-92]
	str	r3, [fp, #-156]
.L1826:
	ldr	r3, [fp, #-156]
	ldr	r2, [fp, #-160]
	ldr	r1, [fp, #-176]
	ldr	r0, [fp, #-180]
	bl	yank_text
	ldr	r3, [fp, #-176]
	str	r3, [fp, #-152]
	b	.L1827
.L1828:
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-180]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r3, [fp, #-180]
	sub	r3, r3, #1
	mov	r2, r3
	ldr	r1, [fp, #-176]
	bl	line_delete
	ldr	r3, [fp, #-152]
	add	r3, r3, #1
	str	r3, [fp, #-152]
.L1827:
	ldr	r2, [fp, #-152]
	ldr	r3, [fp, #-156]
	cmp	r2, r3
	ble	.L1828
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r2, [fp, #-176]
	str	r2, [r3, #32]
	b	.L1829
.L1825:
	ldr	r2, [fp, #-180]
	ldr	r3, [fp, #-160]
	cmp	r2, r3
	ble	.L1830
	ldr	r3, [fp, #-180]
	str	r3, [fp, #-100]
	ldr	r3, [fp, #-160]
	str	r3, [fp, #-180]
	ldr	r3, [fp, #-100]
	str	r3, [fp, #-160]
	ldr	r3, [fp, #-176]
	str	r3, [fp, #-100]
	ldr	r3, [fp, #-156]
	str	r3, [fp, #-176]
	ldr	r3, [fp, #-100]
	str	r3, [fp, #-156]
.L1830:
	ldr	r3, [fp, #-156]
	ldr	r2, [fp, #-160]
	ldr	r1, [fp, #-176]
	ldr	r0, [fp, #-180]
	bl	yank_text
	ldr	r3, [fp, #-180]
	add	r3, r3, #1
	str	r3, [fp, #-148]
	b	.L1831
.L1832:
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r3, [r3, #48]
	ldr	r1, [fp, #-180]
	mov	r0, r3
	bl	remove_line
	ldr	r3, [fp, #-148]
	add	r3, r3, #1
	str	r3, [fp, #-148]
.L1831:
	ldr	r2, [fp, #-148]
	ldr	r3, [fp, #-160]
	cmp	r2, r3
	blt	.L1832
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-180]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-96]
	ldr	r3, [fp, #-176]
	str	r3, [fp, #-144]
	b	.L1833
.L1834:
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-180]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r3, [fp, #-180]
	sub	r3, r3, #1
	mov	r2, r3
	ldr	r1, [fp, #-176]
	bl	line_delete
	ldr	r3, [fp, #-144]
	add	r3, r3, #1
	str	r3, [fp, #-144]
.L1833:
	ldr	r2, [fp, #-144]
	ldr	r3, [fp, #-96]
	cmp	r2, r3
	ble	.L1834
	mov	r3, #1
	str	r3, [fp, #-140]
	b	.L1835
.L1836:
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-180]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-180]
	mov	r1, #1
	mov	r0, r3
	bl	line_delete
	ldr	r3, [fp, #-140]
	add	r3, r3, #1
	str	r3, [fp, #-140]
.L1835:
	ldr	r2, [fp, #-140]
	ldr	r3, [fp, #-156]
	cmp	r2, r3
	ble	.L1836
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r3, [r3, #48]
	ldr	r1, [fp, #-180]
	mov	r0, r3
	bl	merge_lines
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r2, [fp, #-180]
	str	r2, [r3, #20]
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r2, [fp, #-176]
	str	r2, [r3, #32]
.L1829:
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r2, [r3, #20]
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	cmp	r2, r3
	ble	.L1837
	ldr	r3, .L1894+8
	ldr	r2, [r3]
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r2, [r2, #24]
	str	r2, [r3, #20]
.L1837:
	bl	set_preferred_column
	bl	set_modified
	b	.L1809
.L1811:
	ldr	r0, [fp, #-112]
	bl	handle_navigation
	b	.L1838
.L1810:
	sub	r1, fp, #184
	sub	r3, fp, #88
	ldr	r2, [fp, #-112]
	mov	r0, r3
	bl	handle_escape
	mov	r3, r0
	cmp	r3, #1
	bne	.L1838
	ldr	r0, [fp, #-112]
	bl	bim_unget
	b	.L1809
.L1889:
	nop
.L1838:
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r2, [r3, #20]
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	add	r3, r3, #1
	cmp	r2, r3
	ble	.L1839
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r2, [r3, #20]
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	sub	r2, r2, r3
	ldr	r3, .L1894
	ldr	r1, [r3, #4]
	ldr	r3, .L1894
	ldr	r3, [r3, #8]
	sub	r3, r1, r3
	cmp	r2, r3
	bge	.L1891
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r2, [r3, #20]
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	sub	r3, r2, r3
	sub	r3, r3, #1
	mov	r0, r3
	bl	draw_excess_line
	b	.L1891
.L1839:
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-180]
	cmp	r2, r3
	ble	.L1842
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-180]
	cmp	r2, r3
	blt	.L1843
.L1842:
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-180]
	cmp	r2, r3
	bge	.L1844
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-180]
	cmp	r2, r3
	bgt	.L1843
.L1844:
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-180]
	cmp	r2, r3
	bne	.L1845
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-180]
	cmp	r2, r3
	beq	.L1845
.L1843:
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #1
	mov	r1, r3
	mov	r0, r2
	bl	recalculate_syntax
	b	.L1846
.L1845:
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #1
	mov	r1, r3
	mov	r0, r2
	bl	recalculate_syntax
	mov	r3, #0
	str	r3, [fp, #-136]
	b	.L1847
.L1849:
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r1, [r3, #20]
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r0, [r3, #32]
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-136]
	add	r2, r2, #1
	str	r2, [sp, #4]
	str	r3, [sp]
	mov	r3, r0
	ldr	r2, [fp, #-176]
	ldr	r0, [fp, #-180]
	bl	point_in_range
	mov	r3, r0
	cmp	r3, #0
	beq	.L1848
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-136]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	add	r3, r3, #4
	ldrh	r3, [r3]
	lsr	r3, r3, #4
	and	r3, r3, #127
	and	r3, r3, #255
	ldr	r2, .L1894+8
	ldr	r2, [r2]
	ldr	r1, [r2, #48]
	ldr	r2, .L1894+8
	ldr	r2, [r2]
	ldr	r2, [r2, #20]
	sub	r2, r2, #-1073741823
	lsl	r2, r2, #2
	add	r2, r1, r2
	ldr	r1, [r2]
	orr	r3, r3, #16
	and	r3, r3, #255
	ldr	r2, [fp, #-136]
	add	r2, r2, #2
	lsl	r2, r2, #2
	add	r2, r1, r2
	add	r1, r2, #4
	ldrh	r2, [r1]	@ movhi
	and	r3, r3, #127
	bic	r2, r2, #2032
	lsl	r3, r3, #4
	orr	r3, r3, r2
	mov	r2, r3	@ movhi
	strh	r2, [r1]	@ movhi
.L1848:
	ldr	r3, [fp, #-136]
	add	r3, r3, #1
	str	r3, [fp, #-136]
.L1847:
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-136]
	cmp	r2, r3
	blt	.L1849
.L1846:
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r2, [r3, #20]
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	sub	r3, r2, r3
	cmp	r3, #0
	ble	.L1841
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r2, [r3, #20]
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	sub	r2, r2, r3
	ldr	r3, .L1894
	ldr	r1, [r3, #4]
	ldr	r3, .L1894
	ldr	r3, [r3, #8]
	sub	r3, r1, r3
	cmp	r2, r3
	bge	.L1841
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r2, [r3, #20]
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	sub	r3, r2, r3
	sub	r2, r3, #1
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #1
	mov	r1, r3
	mov	r0, r2
	bl	redraw_line
	b	.L1841
.L1891:
	nop
.L1841:
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-172]
	cmp	r2, r3
	bge	.L1850
	ldr	r3, [fp, #-172]
	str	r3, [fp, #-132]
	b	.L1851
.L1865:
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	add	r3, r3, #1
	ldr	r2, [fp, #-132]
	cmp	r2, r3
	ble	.L1852
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-132]
	sub	r2, r2, r3
	ldr	r3, .L1894
	ldr	r1, [r3, #4]
	ldr	r3, .L1894
	ldr	r3, [r3, #8]
	sub	r3, r1, r3
	cmp	r2, r3
	bge	.L1892
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-132]
	sub	r3, r2, r3
	sub	r3, r3, #1
	mov	r0, r3
	bl	draw_excess_line
	b	.L1892
.L1852:
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-180]
	cmp	r2, r3
	ble	.L1855
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-132]
	cmp	r2, r3
	blt	.L1856
	ldr	r2, [fp, #-132]
	ldr	r3, [fp, #-180]
	cmp	r2, r3
	bgt	.L1856
.L1855:
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-180]
	cmp	r2, r3
	bge	.L1857
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-132]
	cmp	r2, r3
	bgt	.L1856
	ldr	r2, [fp, #-132]
	ldr	r3, [fp, #-180]
	cmp	r2, r3
	blt	.L1856
.L1857:
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-180]
	cmp	r2, r3
	bne	.L1858
	ldr	r2, [fp, #-132]
	ldr	r3, [fp, #-180]
	cmp	r2, r3
	beq	.L1858
.L1856:
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-132]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-132]
	sub	r3, r3, #1
	mov	r1, r3
	mov	r0, r2
	bl	recalculate_syntax
	b	.L1859
.L1858:
	ldr	r2, [fp, #-132]
	ldr	r3, [fp, #-180]
	cmp	r2, r3
	beq	.L1860
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-132]
	cmp	r2, r3
	bne	.L1861
.L1860:
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-132]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-132]
	sub	r3, r3, #1
	mov	r1, r3
	mov	r0, r2
	bl	recalculate_syntax
.L1861:
	mov	r3, #0
	str	r3, [fp, #-128]
	b	.L1862
.L1864:
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r1, [r3, #20]
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r2, [r3, #32]
	ldr	r3, [fp, #-128]
	add	r3, r3, #1
	str	r3, [sp, #4]
	ldr	r3, [fp, #-132]
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [fp, #-176]
	ldr	r0, [fp, #-180]
	bl	point_in_range
	mov	r3, r0
	cmp	r3, #0
	beq	.L1863
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-132]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-128]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	add	r3, r3, #4
	ldrh	r3, [r3]
	lsr	r3, r3, #4
	and	r3, r3, #127
	and	r3, r3, #255
	ldr	r2, .L1894+8
	ldr	r2, [r2]
	ldr	r1, [r2, #48]
	ldr	r2, [fp, #-132]
	sub	r2, r2, #-1073741823
	lsl	r2, r2, #2
	add	r2, r1, r2
	ldr	r1, [r2]
	orr	r3, r3, #16
	and	r3, r3, #255
	ldr	r2, [fp, #-128]
	add	r2, r2, #2
	lsl	r2, r2, #2
	add	r2, r1, r2
	add	r1, r2, #4
	ldrh	r2, [r1]	@ movhi
	and	r3, r3, #127
	bic	r2, r2, #2032
	lsl	r3, r3, #4
	orr	r3, r3, r2
	mov	r2, r3	@ movhi
	strh	r2, [r1]	@ movhi
.L1863:
	ldr	r3, [fp, #-128]
	add	r3, r3, #1
	str	r3, [fp, #-128]
.L1862:
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-132]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-128]
	cmp	r2, r3
	blt	.L1864
.L1859:
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-132]
	sub	r3, r2, r3
	cmp	r3, #0
	ble	.L1854
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-132]
	sub	r2, r2, r3
	ldr	r3, .L1894
	ldr	r1, [r3, #4]
	ldr	r3, .L1894
	ldr	r3, [r3, #8]
	sub	r3, r1, r3
	cmp	r2, r3
	bge	.L1854
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-132]
	sub	r3, r2, r3
	sub	r2, r3, #1
	ldr	r3, [fp, #-132]
	sub	r3, r3, #1
	mov	r1, r3
	mov	r0, r2
	bl	redraw_line
	b	.L1854
.L1892:
	nop
.L1854:
	ldr	r3, [fp, #-132]
	add	r3, r3, #1
	str	r3, [fp, #-132]
.L1851:
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-132]
	cmp	r2, r3
	blt	.L1865
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	str	r3, [fp, #-172]
	b	.L1866
.L1850:
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-172]
	cmp	r2, r3
	ble	.L1866
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	add	r3, r3, #1
	str	r3, [fp, #-124]
	b	.L1867
.L1881:
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	add	r3, r3, #1
	ldr	r2, [fp, #-124]
	cmp	r2, r3
	ble	.L1868
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-124]
	sub	r2, r2, r3
	ldr	r3, .L1894
	ldr	r1, [r3, #4]
	ldr	r3, .L1894
	ldr	r3, [r3, #8]
	sub	r3, r1, r3
	cmp	r2, r3
	bge	.L1893
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-124]
	sub	r3, r2, r3
	sub	r3, r3, #1
	mov	r0, r3
	bl	draw_excess_line
	b	.L1893
.L1868:
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-180]
	cmp	r2, r3
	ble	.L1871
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-124]
	cmp	r2, r3
	blt	.L1872
	ldr	r2, [fp, #-124]
	ldr	r3, [fp, #-180]
	cmp	r2, r3
	bgt	.L1872
.L1871:
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-180]
	cmp	r2, r3
	bge	.L1873
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-124]
	cmp	r2, r3
	bgt	.L1872
	ldr	r2, [fp, #-124]
	ldr	r3, [fp, #-180]
	cmp	r2, r3
	blt	.L1872
.L1873:
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-180]
	cmp	r2, r3
	bne	.L1874
	ldr	r2, [fp, #-124]
	ldr	r3, [fp, #-180]
	cmp	r2, r3
	beq	.L1874
.L1872:
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-124]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-124]
	sub	r3, r3, #1
	mov	r1, r3
	mov	r0, r2
	bl	recalculate_syntax
	b	.L1875
.L1874:
	ldr	r2, [fp, #-124]
	ldr	r3, [fp, #-180]
	cmp	r2, r3
	beq	.L1876
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-124]
	cmp	r2, r3
	bne	.L1877
.L1876:
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-124]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-124]
	sub	r3, r3, #1
	mov	r1, r3
	mov	r0, r2
	bl	recalculate_syntax
.L1877:
	mov	r3, #0
	str	r3, [fp, #-120]
	b	.L1878
.L1895:
	.align	2
.L1894:
	.word	global_config
	.word	.LC471
	.word	env
	.word	.LC473
.L1880:
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r1, [r3, #20]
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r2, [r3, #32]
	ldr	r3, [fp, #-120]
	add	r3, r3, #1
	str	r3, [sp, #4]
	ldr	r3, [fp, #-124]
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [fp, #-176]
	ldr	r0, [fp, #-180]
	bl	point_in_range
	mov	r3, r0
	cmp	r3, #0
	beq	.L1879
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-124]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-120]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	add	r3, r3, #4
	ldrh	r3, [r3]
	lsr	r3, r3, #4
	and	r3, r3, #127
	and	r3, r3, #255
	ldr	r2, .L1894+8
	ldr	r2, [r2]
	ldr	r1, [r2, #48]
	ldr	r2, [fp, #-124]
	sub	r2, r2, #-1073741823
	lsl	r2, r2, #2
	add	r2, r1, r2
	ldr	r1, [r2]
	orr	r3, r3, #16
	and	r3, r3, #255
	ldr	r2, [fp, #-120]
	add	r2, r2, #2
	lsl	r2, r2, #2
	add	r2, r1, r2
	add	r1, r2, #4
	ldrh	r2, [r1]	@ movhi
	and	r3, r3, #127
	bic	r2, r2, #2032
	lsl	r3, r3, #4
	orr	r3, r3, r2
	mov	r2, r3	@ movhi
	strh	r2, [r1]	@ movhi
.L1879:
	ldr	r3, [fp, #-120]
	add	r3, r3, #1
	str	r3, [fp, #-120]
.L1878:
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-124]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-120]
	cmp	r2, r3
	blt	.L1880
.L1875:
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-124]
	sub	r3, r2, r3
	cmp	r3, #0
	ble	.L1870
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-124]
	sub	r2, r2, r3
	ldr	r3, .L1894
	ldr	r1, [r3, #4]
	ldr	r3, .L1894
	ldr	r3, [r3, #8]
	sub	r3, r1, r3
	cmp	r2, r3
	bge	.L1870
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-124]
	sub	r3, r2, r3
	sub	r2, r3, #1
	ldr	r3, [fp, #-124]
	sub	r3, r3, #1
	mov	r1, r3
	mov	r0, r2
	bl	redraw_line
	b	.L1870
.L1893:
	nop
.L1870:
	ldr	r3, [fp, #-124]
	add	r3, r3, #1
	str	r3, [fp, #-124]
.L1867:
	ldr	r2, [fp, #-124]
	ldr	r3, [fp, #-172]
	cmp	r2, r3
	ble	.L1881
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	str	r3, [fp, #-172]
.L1866:
	bl	place_cursor_actual
	b	.L1806
.L1890:
	nop
.L1824:
	ldr	r0, .L1894+4
	bl	render_error
.L1806:
	mov	r0, #200
	bl	bim_getch_timeout
	str	r0, [fp, #-112]
	ldr	r3, [fp, #-112]
	cmp	r3, #0
	bne	.L1882
	b	.L1809
.L1887:
	nop
	b	.L1809
.L1888:
	nop
.L1809:
	bl	set_history_break
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	mov	r2, #0
	strh	r2, [r3, #2]	@ movhi
	mov	r3, #0
	str	r3, [fp, #-116]
	b	.L1883
.L1884:
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-116]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, [fp, #-116]
	mov	r0, r3
	bl	recalculate_syntax
	ldr	r3, [fp, #-116]
	add	r3, r3, #1
	str	r3, [fp, #-116]
.L1883:
	ldr	r3, .L1894+8
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	ldr	r2, [fp, #-116]
	cmp	r2, r3
	blt	.L1884
	bl	redraw_all
	nop
	ldr	r3, .L1894+12
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L1885
	bl	__stack_chk_fail
.L1885:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	char_selection_mode, .-char_selection_mode
	.section	.rodata
	.align	2
.LC474:
	.ascii	"^V\000"
	.align	2
.LC475:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	insert_mode
	.syntax unified
	.arm
	.fpu softvfp
	.type	insert_mode, %function
insert_mode:
	@ args = 0, pretend = 0, frame = 128
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #128
	ldr	r3, .L1937
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L1937+4
	ldr	r3, [r3]
	mov	r2, #1
	strh	r2, [r3, #2]	@ movhi
	bl	redraw_commandline
	bl	place_cursor_actual
	mov	r3, #0
	str	r3, [fp, #-124]
	mov	r3, #0
	str	r3, [fp, #-120]
	mov	r3, #0
	str	r3, [fp, #-108]
	b	.L1897
.L1933:
	ldr	r3, [fp, #-92]
	cmn	r3, #1
	bne	.L1898
	ldr	r3, [fp, #-108]
	cmp	r3, #0
	beq	.L1899
	ldr	r3, [fp, #-108]
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L1900
	bl	redraw_text
	b	.L1901
.L1900:
	ldr	r3, .L1937+4
	ldr	r3, [r3]
	ldr	r2, [r3, #20]
	ldr	r3, .L1937+4
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	sub	r3, r2, r3
	sub	r2, r3, #1
	ldr	r3, .L1937+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #1
	mov	r1, r3
	mov	r0, r2
	bl	redraw_line
.L1901:
	bl	redraw_statusbar
	bl	place_cursor_actual
	mov	r3, #0
	str	r3, [fp, #-108]
.L1899:
	ldr	r3, [fp, #-124]
	cmp	r3, #0
	beq	.L1902
	ldr	r3, [fp, #-124]
	sub	r3, r3, #1
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-84]
	cmp	r3, #27
	bne	.L1902
	bl	leave_insert
	b	.L1896
.L1902:
	mov	r3, #0
	str	r3, [fp, #-124]
	b	.L1897
.L1898:
	ldr	r2, [fp, #-92]
	sub	r1, fp, #128
	sub	r3, fp, #120
	mov	r0, r3
	bl	decode
	mov	r3, r0
	cmp	r3, #0
	bne	.L1904
	ldr	r3, [fp, #-124]
	cmp	r3, #0
	bne	.L1905
	ldr	r3, [fp, #-128]
	cmp	r3, #127
	beq	.L1906
	cmp	r3, #127
	bhi	.L1907
	cmp	r3, #27
	bhi	.L1908
	cmp	r3, #8
	bcc	.L1907
	sub	r3, r3, #8
	cmp	r3, #19
	ldrls	pc, [pc, r3, asl #2]
	b	.L1907
.L1910:
	.word	.L1906
	.word	.L1914
	.word	.L1913
	.word	.L1907
	.word	.L1907
	.word	.L1913
	.word	.L1907
	.word	.L1907
	.word	.L1907
	.word	.L1907
	.word	.L1907
	.word	.L1907
	.word	.L1907
	.word	.L1907
	.word	.L1912
	.word	.L1911
	.word	.L1907
	.word	.L1907
	.word	.L1907
	.word	.L1909
.L1908:
	cmp	r3, #125
	beq	.L1915
	b	.L1907
.L1909:
	ldr	r3, [fp, #-124]
	cmp	r3, #0
	bne	.L1936
	ldr	r2, [fp, #-128]
	ldr	r3, [fp, #-124]
	lsl	r3, r3, #2
	sub	r1, fp, #4
	add	r3, r1, r3
	str	r2, [r3, #-84]
	ldr	r3, [fp, #-124]
	add	r3, r3, #1
	str	r3, [fp, #-124]
	b	.L1936
.L1906:
	bl	delete_at_cursor
	b	.L1897
.L1913:
	bl	insert_line_feed
	ldr	r3, [fp, #-108]
	orr	r3, r3, #2
	str	r3, [fp, #-108]
	b	.L1897
.L1912:
	ldr	r0, .L1937+8
	bl	render_commandline_message
	bl	place_cursor_actual
	nop
.L1918:
	mov	r0, #200
	bl	bim_getch_timeout
	str	r0, [fp, #-92]
	ldr	r3, [fp, #-92]
	cmn	r3, #1
	beq	.L1918
	ldr	r3, [fp, #-92]
	mov	r0, r3
	bl	insert_char
	bl	redraw_commandline
	ldr	r3, [fp, #-108]
	orr	r3, r3, #1
	str	r3, [fp, #-108]
	b	.L1897
.L1911:
	bl	delete_word
	bl	set_preferred_column
	b	.L1897
.L1914:
	ldr	r3, .L1937+4
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #2
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L1919
	mov	r0, #9
	bl	insert_char
	b	.L1920
.L1919:
	mov	r3, #0
	str	r3, [fp, #-104]
	b	.L1921
.L1922:
	mov	r0, #32
	bl	insert_char
	ldr	r3, [fp, #-104]
	add	r3, r3, #1
	str	r3, [fp, #-104]
.L1921:
	ldr	r3, .L1937+4
	ldr	r3, [r3]
	ldrsh	r3, [r3, #4]
	mov	r2, r3
	ldr	r3, [fp, #-104]
	cmp	r3, r2
	blt	.L1922
.L1920:
	ldr	r3, [fp, #-108]
	orr	r3, r3, #1
	str	r3, [fp, #-108]
	bl	set_preferred_column
	b	.L1897
.L1915:
	ldr	r3, .L1937+4
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #16
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L1907
	mov	r3, #1
	str	r3, [fp, #-100]
	mov	r3, #0
	str	r3, [fp, #-96]
	b	.L1923
.L1926:
	ldr	r3, .L1937+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, .L1937+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-96]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	cmp	r3, #32
	beq	.L1924
	ldr	r3, .L1937+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, .L1937+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-96]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsr	r3, r3, #11
	cmp	r3, #9
	beq	.L1924
	mov	r3, #0
	str	r3, [fp, #-100]
	b	.L1925
.L1924:
	ldr	r3, [fp, #-96]
	add	r3, r3, #1
	str	r3, [fp, #-96]
.L1923:
	ldr	r3, .L1937+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, .L1937+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-96]
	cmp	r2, r3
	blt	.L1926
.L1925:
	mov	r0, #125
	bl	insert_char
	ldr	r3, [fp, #-100]
	cmp	r3, #0
	beq	.L1927
	mvn	r3, #0
	str	r3, [fp, #-116]
	mvn	r3, #0
	str	r3, [fp, #-112]
	ldr	r3, .L1937+4
	ldr	r3, [r3]
	ldr	r2, [r3, #32]
	sub	r2, r2, #1
	str	r2, [r3, #32]
	sub	r2, fp, #112
	sub	r3, fp, #116
	mov	r1, r2
	mov	r0, r3
	bl	find_matching_paren
	ldr	r3, [fp, #-116]
	cmn	r3, #1
	beq	.L1927
	b	.L1929
.L1930:
	ldr	r3, .L1937+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, .L1937+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r3, .L1937+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, .L1937+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, [r3, #4]
	ldr	r3, .L1937+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #1
	mov	r2, r3
	bl	line_delete
.L1929:
	ldr	r3, .L1937+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, .L1937+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L1930
	ldr	r3, .L1937+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r0, r3, #1
	ldr	r3, [fp, #-116]
	sub	r3, r3, #1
	mov	r2, #1
	mov	r1, r3
	bl	add_indent
	ldr	r3, .L1937+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, .L1937+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	ldr	r3, .L1937+4
	ldr	r3, [r3]
	add	r2, r2, #1
	str	r2, [r3, #32]
	mov	r0, #125
	bl	insert_char
.L1927:
	bl	set_preferred_column
	ldr	r3, [fp, #-108]
	orr	r3, r3, #1
	str	r3, [fp, #-108]
	b	.L1897
.L1907:
	ldr	r3, [fp, #-128]
	mov	r0, r3
	bl	insert_char
	bl	set_preferred_column
	ldr	r3, [fp, #-108]
	orr	r3, r3, #1
	str	r3, [fp, #-108]
	b	.L1897
.L1936:
	nop
	b	.L1897
.L1905:
	ldr	r3, [fp, #-128]
	mov	r2, r3
	sub	r1, fp, #124
	sub	r3, fp, #88
	mov	r0, r3
	bl	handle_escape
	mov	r3, r0
	cmp	r3, #0
	beq	.L1897
	ldr	r3, [fp, #-128]
	mov	r0, r3
	bl	bim_unget
	bl	leave_insert
	b	.L1896
.L1904:
	ldr	r3, [fp, #-120]
	cmp	r3, #1
	bne	.L1897
	mov	r3, #0
	str	r3, [fp, #-120]
.L1897:
	ldr	r3, [fp, #-108]
	cmp	r3, #0
	beq	.L1931
	mov	r3, #10
	b	.L1932
.L1931:
	mov	r3, #200
.L1932:
	mov	r0, r3
	bl	bim_getch_timeout
	str	r0, [fp, #-92]
	ldr	r3, [fp, #-92]
	cmp	r3, #0
	bne	.L1933
.L1896:
	ldr	r3, .L1937
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L1935
	bl	__stack_chk_fail
.L1935:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1938:
	.align	2
.L1937:
	.word	.LC475
	.word	env
	.word	.LC474
	.size	insert_mode, .-insert_mode
	.section	.rodata
	.align	2
.LC476:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	replace_mode
	.syntax unified
	.arm
	.fpu softvfp
	.type	replace_mode, %function
replace_mode:
	@ args = 0, pretend = 0, frame = 104
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #104
	ldr	r3, .L1962
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L1962+4
	ldr	r3, [r3]
	mov	r2, #3
	strh	r2, [r3, #2]	@ movhi
	bl	redraw_commandline
	bl	place_cursor_actual
	mov	r3, #0
	str	r3, [fp, #-100]
	mov	r3, #0
	str	r3, [fp, #-96]
	b	.L1940
.L1958:
	ldr	r3, [fp, #-92]
	cmn	r3, #1
	bne	.L1941
	ldr	r3, [fp, #-100]
	cmp	r3, #0
	beq	.L1942
	ldr	r3, [fp, #-100]
	sub	r3, r3, #1
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-84]
	cmp	r3, #27
	bne	.L1942
	bl	leave_insert
	b	.L1939
.L1942:
	mov	r3, #0
	str	r3, [fp, #-100]
	b	.L1940
.L1941:
	ldr	r2, [fp, #-92]
	sub	r1, fp, #104
	sub	r3, fp, #96
	mov	r0, r3
	bl	decode
	mov	r3, r0
	cmp	r3, #0
	bne	.L1944
	ldr	r3, [fp, #-100]
	cmp	r3, #0
	bne	.L1945
	ldr	r3, [fp, #-104]
	cmp	r3, #27
	bhi	.L1946
	cmp	r3, #8
	bcc	.L1947
	sub	r3, r3, #8
	cmp	r3, #19
	ldrls	pc, [pc, r3, asl #2]
	b	.L1947
.L1949:
	.word	.L1951
	.word	.L1947
	.word	.L1950
	.word	.L1947
	.word	.L1947
	.word	.L1950
	.word	.L1947
	.word	.L1947
	.word	.L1947
	.word	.L1947
	.word	.L1947
	.word	.L1947
	.word	.L1947
	.word	.L1947
	.word	.L1947
	.word	.L1947
	.word	.L1947
	.word	.L1947
	.word	.L1947
	.word	.L1948
.L1946:
	cmp	r3, #127
	beq	.L1951
	b	.L1947
.L1948:
	ldr	r3, [fp, #-100]
	cmp	r3, #0
	bne	.L1961
	ldr	r2, [fp, #-104]
	ldr	r3, [fp, #-100]
	lsl	r3, r3, #2
	sub	r1, fp, #4
	add	r3, r1, r3
	str	r2, [r3, #-84]
	ldr	r3, [fp, #-100]
	add	r3, r3, #1
	str	r3, [fp, #-100]
	b	.L1961
.L1951:
	ldr	r3, .L1962+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	cmp	r3, #1
	ble	.L1954
	ldr	r3, .L1962+4
	ldr	r3, [r3]
	ldr	r3, [r3, #32]
	cmp	r3, #1
	bne	.L1954
	ldr	r3, .L1962+4
	ldr	r3, [r3]
	ldr	r2, [r3, #20]
	sub	r2, r2, #1
	str	r2, [r3, #20]
	ldr	r3, .L1962+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, .L1962+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, .L1962+4
	ldr	r3, [r3]
	ldr	r2, [r2, #4]
	str	r2, [r3, #32]
	bl	set_preferred_column
	bl	place_cursor_actual
	b	.L1940
.L1954:
	bl	cursor_left
	b	.L1940
.L1950:
	bl	insert_line_feed
	bl	redraw_text
	bl	set_modified
	bl	redraw_statusbar
	bl	place_cursor_actual
	b	.L1940
.L1947:
	ldr	r3, .L1962+4
	ldr	r3, [r3]
	ldr	r2, [r3, #32]
	ldr	r3, .L1962+4
	ldr	r3, [r3]
	ldr	r1, [r3, #48]
	ldr	r3, .L1962+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	cmp	r2, r3
	bgt	.L1956
	ldr	r3, [fp, #-104]
	mov	r0, r3
	bl	replace_char
	ldr	r3, .L1962+4
	ldr	r3, [r3]
	ldr	r2, [r3, #32]
	ldr	r3, .L1962+4
	ldr	r3, [r3]
	add	r2, r2, #1
	str	r2, [r3, #32]
	b	.L1957
.L1956:
	ldr	r3, [fp, #-104]
	mov	r0, r3
	bl	insert_char
	ldr	r3, .L1962+4
	ldr	r3, [r3]
	ldr	r2, [r3, #20]
	ldr	r3, .L1962+4
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	sub	r3, r2, r3
	sub	r2, r3, #1
	ldr	r3, .L1962+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #1
	mov	r1, r3
	mov	r0, r2
	bl	redraw_line
.L1957:
	bl	redraw_statusbar
	bl	place_cursor_actual
	b	.L1940
.L1961:
	nop
	b	.L1940
.L1945:
	ldr	r3, [fp, #-104]
	mov	r2, r3
	sub	r1, fp, #100
	sub	r3, fp, #88
	mov	r0, r3
	bl	handle_escape
	mov	r3, r0
	cmp	r3, #0
	beq	.L1940
	ldr	r3, [fp, #-104]
	mov	r0, r3
	bl	bim_unget
	bl	leave_insert
	b	.L1939
.L1944:
	ldr	r3, [fp, #-96]
	cmp	r3, #1
	bne	.L1940
	mov	r3, #0
	str	r3, [fp, #-96]
.L1940:
	mov	r0, #200
	bl	bim_getch_timeout
	str	r0, [fp, #-92]
	ldr	r3, [fp, #-92]
	cmp	r3, #0
	bne	.L1958
.L1939:
	ldr	r3, .L1962
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L1960
	bl	__stack_chk_fail
.L1960:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1963:
	.align	2
.L1962:
	.word	.LC476
	.word	env
	.size	replace_mode, .-replace_mode
	.section	.rodata
	.align	2
.LC477:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	normal_mode
	.syntax unified
	.arm
	.fpu softvfp
	.type	normal_mode, %function
normal_mode:
	@ args = 0, pretend = 0, frame = 128
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #132
	ldr	r3, .L2030
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
.L2020:
	bl	place_cursor_actual
	mov	r3, #0
	str	r3, [fp, #-140]
	b	.L1965
.L2019:
	ldr	r3, [fp, #-100]
	cmn	r3, #1
	bne	.L1966
	b	.L1965
.L1966:
	ldr	r3, [fp, #-140]
	cmp	r3, #0
	bne	.L1967
	ldr	r3, [fp, #-100]
	sub	r3, r3, #8
	cmp	r3, #119
	ldrls	pc, [pc, r3, asl #2]
	b	.L1968
.L1970:
	.word	.L1969
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1982
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1981
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1980
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1979
	.word	.L1973
	.word	.L1968
	.word	.L1978
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1977
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1976
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1975
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1974
	.word	.L1973
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1972
	.word	.L1971
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1968
	.word	.L1969
.L1980:
	ldr	r3, [fp, #-140]
	cmp	r3, #0
	bne	.L2022
	ldr	r3, [fp, #-140]
	lsl	r3, r3, #2
	sub	r2, fp, #12
	add	r3, r2, r3
	ldr	r2, [fp, #-100]
	str	r2, [r3, #-84]
	ldr	r3, [fp, #-140]
	add	r3, r3, #1
	str	r3, [fp, #-140]
	b	.L2022
.L1969:
	ldr	r3, .L2030+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	cmp	r3, #1
	ble	.L1985
	ldr	r3, .L2030+4
	ldr	r3, [r3]
	ldr	r3, [r3, #32]
	cmp	r3, #1
	bne	.L1985
	ldr	r3, .L2030+4
	ldr	r3, [r3]
	ldr	r2, [r3, #20]
	sub	r2, r2, #1
	str	r2, [r3, #20]
	ldr	r3, .L2030+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, .L2030+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, .L2030+4
	ldr	r3, [r3]
	ldr	r2, [r2, #4]
	str	r2, [r3, #32]
	bl	set_preferred_column
	bl	place_cursor_actual
	b	.L2018
.L1985:
	bl	cursor_left
	b	.L2018
.L1977:
	bl	line_selection_mode
	b	.L2018
.L1971:
	bl	char_selection_mode
	b	.L2018
.L1979:
	ldr	r3, .L2030+4
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #8
	and	r3, r3, #255
	cmp	r3, #0
	bne	.L2023
	ldr	r3, .L2030+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, .L2030+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #1
	ldr	r1, .L2030+4
	ldr	r4, [r1]
	mov	r1, r3
	mov	r0, r2
	bl	add_line
	mov	r3, r0
	str	r3, [r4, #48]
	ldr	r3, .L2030+4
	ldr	r3, [r3]
	mov	r2, #1
	str	r2, [r3, #32]
	ldr	r3, .L2030+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r0, r3, #1
	ldr	r3, .L2030+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	mov	r2, #0
	mov	r1, r3
	bl	add_indent
	bl	redraw_text
	bl	set_preferred_column
	bl	set_modified
	bl	place_cursor_actual
	b	.L1975
.L1974:
	ldr	r3, .L2030+4
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #8
	and	r3, r3, #255
	cmp	r3, #0
	bne	.L2024
	ldr	r3, .L2030+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, .L2030+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	ldr	r1, .L2030+4
	ldr	r4, [r1]
	mov	r1, r3
	mov	r0, r2
	bl	add_line
	mov	r3, r0
	str	r3, [r4, #48]
	ldr	r3, .L2030+4
	ldr	r3, [r3]
	mov	r2, #1
	str	r2, [r3, #32]
	ldr	r3, .L2030+4
	ldr	r3, [r3]
	ldr	r2, [r3, #20]
	ldr	r3, .L2030+4
	ldr	r3, [r3]
	add	r2, r2, #1
	str	r2, [r3, #20]
	ldr	r3, .L2030+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r0, r3, #1
	ldr	r3, .L2030+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #2
	mov	r2, #0
	mov	r1, r3
	bl	add_indent
	bl	set_preferred_column
	ldr	r3, .L2030+4
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, .L2030+8
	ldr	r3, [r3, #4]
	add	r2, r2, r3
	ldr	r3, .L2030+8
	ldr	r3, [r3, #8]
	sub	r2, r2, r3
	ldr	r3, .L2030+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	cmp	r2, r3
	bgt	.L1990
	ldr	r3, .L2030+4
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, .L2030+4
	ldr	r3, [r3]
	add	r2, r2, #1
	str	r2, [r3, #12]
.L1990:
	bl	redraw_text
	bl	set_modified
	bl	place_cursor_actual
	b	.L1975
.L1976:
	ldr	r3, .L2030+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, .L2030+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	ldr	r3, .L2030+4
	ldr	r3, [r3]
	ldr	r3, [r3, #32]
	cmp	r2, r3
	blt	.L2025
	ldr	r3, .L2030+4
	ldr	r3, [r3]
	ldr	r2, [r3, #32]
	ldr	r3, .L2030+4
	ldr	r3, [r3]
	add	r2, r2, #1
	str	r2, [r3, #32]
	b	.L2025
.L1973:
	ldr	r3, .L2030+4
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #8
	and	r3, r3, #255
	cmp	r3, #0
	bne	.L2026
	ldr	r3, .L2030+8
	ldr	r3, [r3, #20]
	cmp	r3, #0
	beq	.L2027
	ldr	r3, .L2030+8
	ldr	r3, [r3, #28]
	cmp	r3, #0
	bne	.L1994
	ldr	r3, [fp, #-100]
	cmp	r3, #80
	bne	.L1995
	ldr	r3, .L2030+4
	ldr	r3, [r3]
	ldr	r3, [r3, #32]
	b	.L1996
.L1995:
	ldr	r3, .L2030+4
	ldr	r3, [r3]
	ldr	r3, [r3, #32]
	add	r3, r3, #1
.L1996:
	str	r3, [fp, #-136]
	ldr	r3, .L2030+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, .L2030+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	add	r3, r3, #1
	ldr	r2, [fp, #-136]
	cmp	r2, r3
	ble	.L1997
	ldr	r3, .L2030+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, .L2030+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	add	r3, r3, #1
	str	r3, [fp, #-136]
.L1997:
	ldr	r3, .L2030+8
	ldr	r3, [r3, #24]
	cmp	r3, #1
	bls	.L1998
	ldr	r3, .L2030+4
	ldr	r3, [r3]
	ldr	r0, [r3, #48]
	ldr	r3, .L2030+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r1, r3, #1
	ldr	r3, [fp, #-136]
	sub	r3, r3, #1
	ldr	r2, .L2030+4
	ldr	r4, [r2]
	mov	r2, r3
	bl	split_line
	mov	r3, r0
	str	r3, [r4, #48]
.L1998:
	mov	r3, #0
	str	r3, [fp, #-132]
	b	.L1999
.L2000:
	ldr	r3, .L2030+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, .L2030+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r3, .L2030+8
	ldr	r3, [r3, #20]
	ldr	r3, [r3]
	ldr	r1, [fp, #-136]
	ldr	r2, [fp, #-132]
	add	r2, r1, r2
	sub	ip, r2, #1
	ldr	r2, .L2030+4
	ldr	r2, [r2]
	ldr	r2, [r2, #20]
	sub	lr, r2, #1
	ldr	r2, .L2030+4
	ldr	r2, [r2]
	ldr	r1, [r2, #48]
	ldr	r2, .L2030+4
	ldr	r2, [r2]
	ldr	r2, [r2, #20]
	sub	r2, r2, #-1073741823
	lsl	r2, r2, #2
	add	r4, r1, r2
	ldr	r2, [fp, #-132]
	add	r2, r2, #2
	lsl	r1, r2, #2
	add	r1, r3, r1
	mov	r3, lr
	mov	r2, ip
	ldr	r1, [r1, #4]
	bl	line_insert
	mov	r3, r0
	str	r3, [r4]
	ldr	r3, [fp, #-132]
	add	r3, r3, #1
	str	r3, [fp, #-132]
.L1999:
	ldr	r3, .L2030+8
	ldr	r3, [r3, #20]
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-132]
	cmp	r2, r3
	blt	.L2000
	ldr	r3, .L2030+8
	ldr	r3, [r3, #24]
	cmp	r3, #1
	bls	.L2001
	mov	r3, #1
	str	r3, [fp, #-128]
	b	.L2002
.L2003:
	ldr	r3, .L2030+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, .L2030+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	ldr	r1, .L2030+4
	ldr	r4, [r1]
	mov	r1, r3
	mov	r0, r2
	bl	add_line
	mov	r3, r0
	str	r3, [r4, #48]
	ldr	r3, [fp, #-128]
	add	r3, r3, #1
	str	r3, [fp, #-128]
.L2002:
	ldr	r3, .L2030+8
	ldr	r3, [r3, #24]
	sub	r3, r3, #1
	ldr	r2, [fp, #-128]
	cmp	r2, r3
	bcc	.L2003
	mov	r3, #1
	str	r3, [fp, #-124]
	b	.L2004
.L2005:
	ldr	r3, .L2030+4
	ldr	r3, [r3]
	ldr	r0, [r3, #48]
	ldr	r3, .L2030+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	mov	r2, r3
	ldr	r3, [fp, #-124]
	add	r3, r2, r3
	sub	r3, r3, #1
	mov	r1, r3
	ldr	r3, .L2030+8
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-124]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	bl	replace_line
	ldr	r3, [fp, #-124]
	add	r3, r3, #1
	str	r3, [fp, #-124]
.L2004:
	ldr	r3, .L2030+8
	ldr	r3, [r3, #24]
	sub	r3, r3, #1
	ldr	r2, [fp, #-124]
	cmp	r2, r3
	bcc	.L2005
	mov	r3, #0
	str	r3, [fp, #-120]
	b	.L2006
.L2007:
	ldr	r3, .L2030+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, .L2030+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	mov	r1, r3
	ldr	r3, .L2030+8
	ldr	r3, [r3, #24]
	add	r3, r1, r3
	sub	r3, r3, #-1073741822
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r3, .L2030+8
	ldr	r2, [r3, #20]
	ldr	r3, .L2030+8
	ldr	r3, [r3, #24]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, .L2030+4
	ldr	r2, [r2]
	ldr	r2, [r2, #20]
	mov	r1, r2
	ldr	r2, .L2030+8
	ldr	r2, [r2, #24]
	add	r2, r1, r2
	sub	r2, r2, #2
	mov	lr, r2
	ldr	r2, .L2030+4
	ldr	r2, [r2]
	ldr	r1, [r2, #48]
	ldr	r2, .L2030+4
	ldr	r2, [r2]
	ldr	r2, [r2, #20]
	mov	ip, r2
	ldr	r2, .L2030+8
	ldr	r2, [r2, #24]
	add	r2, ip, r2
	sub	r2, r2, #-1073741822
	lsl	r2, r2, #2
	add	r4, r1, r2
	ldr	r2, [fp, #-120]
	add	r2, r2, #2
	lsl	r1, r2, #2
	add	r1, r3, r1
	mov	r3, lr
	ldr	r2, [fp, #-120]
	ldr	r1, [r1, #4]
	bl	line_insert
	mov	r3, r0
	str	r3, [r4]
	ldr	r3, [fp, #-120]
	add	r3, r3, #1
	str	r3, [fp, #-120]
.L2006:
	ldr	r3, .L2030+8
	ldr	r2, [r3, #20]
	ldr	r3, .L2030+8
	ldr	r3, [r3, #24]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-120]
	cmp	r2, r3
	blt	.L2007
	b	.L2001
.L1994:
	mov	r3, #0
	str	r3, [fp, #-116]
	b	.L2008
.L2009:
	ldr	r3, .L2030+4
	ldr	r3, [r3]
	ldr	r0, [r3, #48]
	ldr	r3, .L2030+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-100]
	cmp	r2, #80
	moveq	r2, #1
	movne	r2, #0
	and	r2, r2, #255
	sub	r3, r3, r2
	ldr	r2, .L2030+4
	ldr	r4, [r2]
	mov	r1, r3
	bl	add_line
	mov	r3, r0
	str	r3, [r4, #48]
	ldr	r3, [fp, #-116]
	add	r3, r3, #1
	str	r3, [fp, #-116]
.L2008:
	ldr	r3, .L2030+8
	ldr	r3, [r3, #24]
	ldr	r2, [fp, #-116]
	cmp	r2, r3
	bcc	.L2009
	mov	r3, #0
	str	r3, [fp, #-112]
	b	.L2010
.L2011:
	ldr	r3, .L2030+4
	ldr	r3, [r3]
	ldr	r0, [r3, #48]
	ldr	r3, .L2030+4
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-100]
	cmp	r2, #80
	moveq	r2, #1
	movne	r2, #0
	and	r2, r2, #255
	sub	r3, r3, r2
	mov	r2, r3
	ldr	r3, [fp, #-112]
	add	r3, r2, r3
	mov	r1, r3
	ldr	r3, .L2030+8
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-112]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	bl	replace_line
	ldr	r3, [fp, #-112]
	add	r3, r3, #1
	str	r3, [fp, #-112]
.L2010:
	ldr	r3, .L2030+8
	ldr	r3, [r3, #24]
	ldr	r2, [fp, #-112]
	cmp	r2, r3
	bcc	.L2011
.L2001:
	mov	r3, #0
	str	r3, [fp, #-108]
	b	.L2012
.L2013:
	ldr	r3, .L2030+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-108]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, #0
	str	r2, [r3, #8]
	ldr	r3, [fp, #-108]
	add	r3, r3, #1
	str	r3, [fp, #-108]
.L2012:
	ldr	r3, .L2030+4
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	ldr	r2, [fp, #-108]
	cmp	r2, r3
	blt	.L2013
	mov	r3, #0
	str	r3, [fp, #-104]
	b	.L2014
.L2015:
	ldr	r3, .L2030+4
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-104]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, [fp, #-104]
	mov	r0, r3
	bl	recalculate_syntax
	ldr	r3, [fp, #-104]
	add	r3, r3, #1
	str	r3, [fp, #-104]
.L2014:
	ldr	r3, .L2030+4
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	ldr	r2, [fp, #-104]
	cmp	r2, r3
	blt	.L2015
	bl	set_history_break
	bl	set_modified
	bl	redraw_all
	b	.L2027
.L1972:
	bl	undo_history
	b	.L2018
.L1981:
	bl	redo_history
	b	.L2018
.L1982:
	bl	redraw_all
	b	.L2018
.L2025:
	nop
.L1975:
	ldr	r3, .L2030+4
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #8
	and	r3, r3, #255
	cmp	r3, #0
	bne	.L2028
	bl	insert_mode
	bl	redraw_statusbar
	bl	redraw_commandline
	mov	r3, #0
	str	r3, [fp, #-140]
	b	.L2018
.L1978:
	ldr	r3, .L2030+4
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #8
	and	r3, r3, #255
	cmp	r3, #0
	bne	.L2029
	bl	replace_mode
	bl	redraw_statusbar
	bl	redraw_commandline
	mov	r3, #0
	str	r3, [fp, #-140]
	b	.L2018
.L2023:
	nop
	b	.L1988
.L2024:
	nop
	b	.L1988
.L2026:
	nop
	b	.L1988
.L2028:
	nop
	b	.L1988
.L2029:
	nop
.L1988:
	ldr	r0, .L2030+12
	bl	render_error
	b	.L2018
.L1968:
	ldr	r0, [fp, #-100]
	bl	handle_navigation
	b	.L2018
.L1967:
	sub	r1, fp, #140
	sub	r3, fp, #96
	ldr	r2, [fp, #-100]
	mov	r0, r3
	bl	handle_escape
	b	.L2018
.L2022:
	nop
	b	.L2018
.L2027:
	nop
.L2018:
	bl	place_cursor_actual
.L1965:
	mov	r0, #200
	bl	bim_getch_timeout
	str	r0, [fp, #-100]
	ldr	r3, [fp, #-100]
	cmp	r3, #0
	bne	.L2019
	b	.L2020
.L2031:
	.align	2
.L2030:
	.word	.LC477
	.word	env
	.word	global_config
	.word	.LC471
	.size	normal_mode, .-normal_mode
	.section	.rodata
	.align	2
.LC478:
	.ascii	"bim - Text editor\012\012usage: %s [options] [file]"
	.ascii	"\012       %s [options] -- -\012\012 -R     \033[3m"
	.ascii	"open initial buffer read-only\033[0m\012 -O     \033"
	.ascii	"[3mset various options:\033[0m\012        noscroll "
	.ascii	"   \033[3mdisable terminal scrolling\033[0m\012    "
	.ascii	"    noaltscreen \033[3mdisable alternate screen buf"
	.ascii	"fer\033[0m\012        nomouse     \033[3mdisable mo"
	.ascii	"use support\033[0m\012        nounicode   \033[3mdi"
	.ascii	"sable unicode display\033[0m\012        nobright   "
	.ascii	" \033[3mdisable bright next\033[0m\012        nohid"
	.ascii	"eshow  \033[3mdisable togglging cursor visibility\033"
	.ascii	"[0m\012        nosyntax    \033[3mdisable syntax hi"
	.ascii	"ghlighting on load\033[0m\012        notitle     \033"
	.ascii	"[3mdisable title-setting escapes\033[0m\012        "
	.ascii	"history     \033[3menable experimental undo/redo\033"
	.ascii	"[0m\012 -c,-C  \033[3mprint file to stdout with syn"
	.ascii	"tax hilighting\033[0m\012        \033[3m-C includes"
	.ascii	" line numbers, -c does not\033[0m\012 -u     \033[3"
	.ascii	"moverride bimrc file\033[0m\012 -?     \033[3mshow "
	.ascii	"this help text\033[0m\012\012\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	show_usage, %function
show_usage:
	@ 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]
	ldr	r1, [r3]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r0, .L2033
	bl	printf
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2034:
	.align	2
.L2033:
	.word	.LC478
	.size	show_usage, .-show_usage
	.section	.rodata
	.align	2
.LC479:
	.ascii	"HOME\000"
	.align	2
.LC480:
	.ascii	"%s%s\000"
	.align	2
.LC481:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	load_bimrc
	.syntax unified
	.arm
	.fpu softvfp
	.type	load_bimrc, %function
load_bimrc:
	@ args = 0, pretend = 0, frame = 1056
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #1056
	sub	sp, sp, #8
	ldr	r3, .L2063
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L2063+4
	ldr	r3, [r3, #36]
	cmp	r3, #0
	beq	.L2061
	ldr	r3, .L2063+4
	ldr	r3, [r3, #36]
	mov	r0, r3
	bl	strdup
	mov	r3, r0
	str	r3, [fp, #-1060]
	ldr	r3, [fp, #-1060]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L2038
	ldr	r0, [fp, #-1060]
	bl	free
	b	.L2035
.L2038:
	ldr	r3, [fp, #-1060]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #126
	bne	.L2039
	mov	r3, #0
	str	r3, [fp, #-1032]
	sub	r3, fp, #1024
	sub	r3, r3, #4
	mov	r2, #1020
	mov	r1, #0
	mov	r0, r3
	bl	memset
	ldr	r0, .L2063+8
	bl	getenv
	str	r0, [fp, #-1048]
	ldr	r3, [fp, #-1048]
	cmp	r3, #0
	bne	.L2040
	ldr	r0, [fp, #-1060]
	bl	free
	b	.L2035
.L2040:
	ldr	r3, [fp, #-1060]
	add	r3, r3, #1
	sub	r0, fp, #1024
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	ldr	r3, [fp, #-1048]
	ldr	r2, .L2063+12
	mov	r1, #1024
	bl	snprintf
	ldr	r0, [fp, #-1060]
	bl	free
	sub	r3, fp, #1024
	sub	r3, r3, #4
	sub	r3, r3, #4
	mov	r0, r3
	bl	strdup
	mov	r3, r0
	str	r3, [fp, #-1060]
.L2039:
	ldr	r1, .L2063+16
	ldr	r0, [fp, #-1060]
	bl	fopen
	str	r0, [fp, #-1044]
	ldr	r3, [fp, #-1044]
	cmp	r3, #0
	bne	.L2042
	ldr	r0, [fp, #-1060]
	bl	free
	b	.L2035
.L2058:
	sub	r3, fp, #1024
	sub	r3, r3, #4
	sub	r3, r3, #4
	ldr	r2, [fp, #-1044]
	ldr	r1, .L2063+20
	mov	r0, r3
	bl	fgets
	str	r0, [fp, #-1040]
	ldr	r3, [fp, #-1040]
	cmp	r3, #0
	beq	.L2062
	ldr	r3, [fp, #-1040]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L2045
	b	.L2042
.L2045:
	ldr	r3, [fp, #-1040]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	bne	.L2046
	b	.L2042
.L2046:
	ldr	r3, [fp, #-1040]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #35
	bne	.L2047
	b	.L2042
.L2047:
	mov	r1, #10
	ldr	r0, [fp, #-1040]
	bl	strchr
	str	r0, [fp, #-1036]
	ldr	r3, [fp, #-1036]
	cmp	r3, #0
	beq	.L2048
	ldr	r3, [fp, #-1036]
	mov	r2, #0
	strb	r2, [r3]
.L2048:
	mov	r1, #61
	ldr	r0, [fp, #-1040]
	bl	strchr
	str	r0, [fp, #-1056]
	ldr	r3, [fp, #-1056]
	cmp	r3, #0
	beq	.L2049
	ldr	r3, [fp, #-1056]
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-1056]
	add	r3, r3, #1
	str	r3, [fp, #-1056]
.L2049:
	ldr	r1, .L2063+24
	ldr	r0, [fp, #-1040]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L2050
	ldr	r3, [fp, #-1056]
	cmp	r3, #0
	beq	.L2050
	ldr	r3, .L2063+28
	str	r3, [fp, #-1052]
	b	.L2051
.L2053:
	ldr	r3, [fp, #-1052]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-1056]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L2052
	ldr	r3, [fp, #-1052]
	ldr	r3, [r3, #4]
	blx	r3
	b	.L2050
.L2052:
	ldr	r3, [fp, #-1052]
	add	r3, r3, #8
	str	r3, [fp, #-1052]
.L2051:
	ldr	r3, [fp, #-1052]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L2053
.L2050:
	ldr	r1, .L2063+32
	ldr	r0, [fp, #-1040]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L2054
	ldr	r3, [fp, #-1056]
	cmp	r3, #0
	beq	.L2055
	ldr	r0, [fp, #-1056]
	bl	atoi
	mov	r3, r0
	b	.L2056
.L2055:
	mov	r3, #1
.L2056:
	ldr	r2, .L2063+4
	str	r3, [r2, #72]
.L2054:
	ldr	r1, .L2063+36
	ldr	r0, [fp, #-1040]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L2057
	ldr	r3, [fp, #-1056]
	cmp	r3, #0
	beq	.L2057
	ldr	r0, [fp, #-1056]
	bl	atoi
	mov	r3, r0
	ldr	r2, .L2063+4
	str	r3, [r2, #76]
.L2057:
	ldr	r1, .L2063+40
	ldr	r0, [fp, #-1040]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L2042
	ldr	r3, [fp, #-1056]
	cmp	r3, #0
	beq	.L2042
	ldr	r0, [fp, #-1056]
	bl	atoi
	mov	r3, r0
	ldr	r2, .L2063+4
	str	r3, [r2, #80]
.L2042:
	ldr	r0, [fp, #-1044]
	bl	feof
	mov	r3, r0
	cmp	r3, #0
	beq	.L2058
	b	.L2044
.L2062:
	nop
.L2044:
	ldr	r0, [fp, #-1044]
	bl	fclose
	b	.L2035
.L2061:
	nop
.L2035:
	ldr	r3, .L2063
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L2060
	bl	__stack_chk_fail
.L2060:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2064:
	.align	2
.L2063:
	.word	.LC481
	.word	global_config
	.word	.LC479
	.word	.LC480
	.word	.LC390
	.word	1023
	.word	.LC263
	.word	themes
	.word	.LC198
	.word	.LC264
	.word	.LC446
	.size	load_bimrc, .-load_bimrc
	.section	.rodata
	.align	2
.LC482:
	.ascii	"TERM\000"
	.align	2
.LC483:
	.ascii	"linux\000"
	.align	2
.LC484:
	.ascii	"cons25\000"
	.align	2
.LC485:
	.ascii	"sortix\000"
	.align	2
.LC486:
	.ascii	"tmux\000"
	.align	2
.LC487:
	.ascii	"screen\000"
	.align	2
.LC488:
	.ascii	"toaru-vga\000"
	.text
	.align	2
	.global	detect_weird_terminals
	.syntax unified
	.arm
	.fpu softvfp
	.type	detect_weird_terminals, %function
detect_weird_terminals:
	@ 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	r0, .L2073
	bl	getenv
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L2066
	ldr	r1, .L2073+4
	ldr	r0, [fp, #-8]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L2066
	ldr	r3, .L2073+8
	mov	r2, #0
	str	r2, [r3, #40]
.L2066:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L2067
	ldr	r1, .L2073+12
	ldr	r0, [fp, #-8]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L2067
	ldr	r3, .L2073+8
	mov	r2, #0
	str	r2, [r3, #44]
	ldr	r3, .L2073+8
	mov	r2, #0
	str	r2, [r3, #48]
	ldr	r3, .L2073+8
	mov	r2, #0
	str	r2, [r3, #52]
	ldr	r3, .L2073+8
	mov	r2, #0
	str	r2, [r3, #56]
	ldr	r3, .L2073+8
	mov	r2, #0
	str	r2, [r3, #60]
.L2067:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L2068
	ldr	r1, .L2073+16
	ldr	r0, [fp, #-8]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L2068
	ldr	r3, .L2073+8
	mov	r2, #0
	str	r2, [r3, #64]
.L2068:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L2069
	ldr	r1, .L2073+20
	ldr	r0, [fp, #-8]
	bl	strstr
	mov	r2, r0
	ldr	r3, [fp, #-8]
	cmp	r3, r2
	bne	.L2069
	ldr	r3, .L2073+8
	mov	r2, #0
	str	r2, [r3, #40]
	ldr	r3, .L2073+8
	mov	r2, #0
	str	r2, [r3, #68]
.L2069:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L2070
	ldr	r1, .L2073+24
	ldr	r0, [fp, #-8]
	bl	strstr
	mov	r2, r0
	ldr	r3, [fp, #-8]
	cmp	r3, r2
	bne	.L2070
	ldr	r3, .L2073+8
	mov	r2, #0
	str	r2, [r3, #88]
	ldr	r3, .L2073+8
	mov	r2, #0
	str	r2, [r3, #96]
.L2070:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L2072
	ldr	r1, .L2073+28
	ldr	r0, [fp, #-8]
	bl	strstr
	mov	r2, r0
	ldr	r3, [fp, #-8]
	cmp	r3, r2
	bne	.L2072
	ldr	r3, .L2073+8
	mov	r2, #0
	str	r2, [r3, #48]
	ldr	r3, .L2073+8
	mov	r2, #0
	str	r2, [r3, #88]
	ldr	r3, .L2073+8
	mov	r2, #0
	str	r2, [r3, #92]
.L2072:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2074:
	.align	2
.L2073:
	.word	.LC482
	.word	.LC483
	.word	global_config
	.word	.LC484
	.word	.LC485
	.word	.LC486
	.word	.LC487
	.word	.LC488
	.size	detect_weird_terminals, .-detect_weird_terminals
	.align	2
	.global	initialize
	.syntax unified
	.arm
	.fpu softvfp
	.type	initialize, %function
initialize:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r1, .L2076
	mov	r0, #6
	bl	setlocale
	bl	detect_weird_terminals
	bl	load_colorscheme_ansi
	bl	load_bimrc
	ldr	r3, .L2076+4
	mov	r2, #4
	str	r2, [r3]
	ldr	r3, .L2076+4
	ldr	r3, [r3]
	lsl	r3, r3, #2
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L2076+8
	str	r2, [r3]
	nop
	pop	{fp, pc}
.L2077:
	.align	2
.L2076:
	.word	.LC353
	.word	buffers_avail
	.word	buffers
	.size	initialize, .-initialize
	.align	2
	.global	init_terminal
	.syntax unified
	.arm
	.fpu softvfp
	.type	init_terminal, %function
init_terminal:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	bl	set_alternate_screen
	bl	update_screen_size
	bl	get_initial_termios
	bl	set_unbuffered
	bl	mouse_enable
	ldr	r1, .L2079
	mov	r0, #28
	bl	signal
	ldr	r1, .L2079+4
	mov	r0, #18
	bl	signal
	ldr	r1, .L2079+8
	mov	r0, #20
	bl	signal
	nop
	pop	{fp, pc}
.L2080:
	.align	2
.L2079:
	.word	SIGWINCH_handler
	.word	SIGCONT_handler
	.word	SIGTSTP_handler
	.size	init_terminal, .-init_terminal
	.section	.rodata
	.align	2
.LC489:
	.ascii	"noaltscreen\000"
	.align	2
.LC490:
	.ascii	"noscroll\000"
	.align	2
.LC491:
	.ascii	"nomouse\000"
	.align	2
.LC492:
	.ascii	"nounicode\000"
	.align	2
.LC493:
	.ascii	"nobright\000"
	.align	2
.LC494:
	.ascii	"nohideshow\000"
	.align	2
.LC495:
	.ascii	"nosyntax\000"
	.align	2
.LC496:
	.ascii	"nohistory\000"
	.align	2
.LC497:
	.ascii	"notitle\000"
	.align	2
.LC498:
	.ascii	"nobce\000"
	.align	2
.LC499:
	.ascii	"%s: unrecognized -O option: %s\012\000"
	.align	2
.LC500:
	.ascii	"version\000"
	.align	2
.LC501:
	.ascii	"1.1.5\000"
	.align	2
.LC502:
	.ascii	"bim %s %s\012\000"
	.align	2
.LC503:
	.ascii	" Available syntax highlighters:\000"
	.align	2
.LC504:
	.ascii	" %s\000"
	.align	2
.LC505:
	.ascii	" Available color themes:\000"
	.align	2
.LC506:
	.ascii	"?c:C:u:RO:-:\000"
	.text
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ 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]
	str	r1, [fp, #-28]
	b	.L2082
.L2110:
	ldr	r3, [fp, #-8]
	cmp	r3, #117
	beq	.L2083
	ldr	r3, [fp, #-8]
	cmp	r3, #117
	bgt	.L2082
	ldr	r3, [fp, #-8]
	cmp	r3, #45
	beq	.L2084
	ldr	r3, [fp, #-8]
	cmp	r3, #45
	blt	.L2082
	ldr	r3, [fp, #-8]
	cmp	r3, #99
	bgt	.L2082
	ldr	r3, [fp, #-8]
	cmp	r3, #63
	blt	.L2082
	ldr	r3, [fp, #-8]
	sub	r3, r3, #63
	cmp	r3, #36
	ldrls	pc, [pc, r3, asl #2]
	b	.L2082
.L2086:
	.word	.L2089
	.word	.L2082
	.word	.L2082
	.word	.L2082
	.word	.L2085
	.word	.L2082
	.word	.L2082
	.word	.L2082
	.word	.L2082
	.word	.L2082
	.word	.L2082
	.word	.L2082
	.word	.L2082
	.word	.L2082
	.word	.L2082
	.word	.L2082
	.word	.L2088
	.word	.L2082
	.word	.L2082
	.word	.L2087
	.word	.L2082
	.word	.L2082
	.word	.L2082
	.word	.L2082
	.word	.L2082
	.word	.L2082
	.word	.L2082
	.word	.L2082
	.word	.L2082
	.word	.L2082
	.word	.L2082
	.word	.L2082
	.word	.L2082
	.word	.L2082
	.word	.L2082
	.word	.L2082
	.word	.L2085
.L2087:
	ldr	r3, .L2113
	mov	r2, #1
	str	r2, [r3, #16]
	b	.L2082
.L2085:
	bl	initialize
	ldr	r3, .L2113
	mov	r2, #0
	str	r2, [r3, #100]
	ldr	r3, .L2113+4
	ldr	r3, [r3]
	mov	r0, r3
	bl	open_file
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L2090
.L2092:
	ldr	r3, [fp, #-8]
	cmp	r3, #67
	bne	.L2091
	ldr	r0, [fp, #-20]
	bl	draw_line_number
.L2091:
	ldr	r3, .L2113+8
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r3, .L2113+8
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	add	r2, r3, #1
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #1
	mov	r2, #0
	mov	r1, r3
	bl	render_line
	bl	reset
	ldr	r3, .L2113+12
	ldr	r3, [r3]
	mov	r1, r3
	mov	r0, #10
	bl	fputc
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L2090:
	ldr	r3, .L2113+8
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	blt	.L2092
	mov	r3, #0
	b	.L2093
.L2083:
	ldr	r3, .L2113+4
	ldr	r3, [r3]
	ldr	r2, .L2113
	str	r3, [r2, #36]
	b	.L2082
.L2088:
	ldr	r3, .L2113+4
	ldr	r3, [r3]
	ldr	r1, .L2113+16
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L2094
	ldr	r3, .L2113
	mov	r2, #0
	str	r2, [r3, #48]
	b	.L2082
.L2094:
	ldr	r3, .L2113+4
	ldr	r3, [r3]
	ldr	r1, .L2113+20
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L2096
	ldr	r3, .L2113
	mov	r2, #0
	str	r2, [r3, #40]
	b	.L2082
.L2096:
	ldr	r3, .L2113+4
	ldr	r3, [r3]
	ldr	r1, .L2113+24
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L2097
	ldr	r3, .L2113
	mov	r2, #0
	str	r2, [r3, #52]
	b	.L2082
.L2097:
	ldr	r3, .L2113+4
	ldr	r3, [r3]
	ldr	r1, .L2113+28
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L2098
	ldr	r3, .L2113
	mov	r2, #0
	str	r2, [r3, #56]
	b	.L2082
.L2098:
	ldr	r3, .L2113+4
	ldr	r3, [r3]
	ldr	r1, .L2113+32
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L2099
	ldr	r3, .L2113
	mov	r2, #0
	str	r2, [r3, #60]
	b	.L2082
.L2099:
	ldr	r3, .L2113+4
	ldr	r3, [r3]
	ldr	r1, .L2113+36
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L2100
	ldr	r3, .L2113
	mov	r2, #0
	str	r2, [r3, #44]
	b	.L2082
.L2100:
	ldr	r3, .L2113+4
	ldr	r3, [r3]
	ldr	r1, .L2113+40
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L2101
	ldr	r3, .L2113
	mov	r2, #0
	str	r2, [r3, #12]
	b	.L2082
.L2101:
	ldr	r3, .L2113+4
	ldr	r3, [r3]
	ldr	r1, .L2113+44
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L2102
	ldr	r3, .L2113
	mov	r2, #0
	str	r2, [r3, #72]
	b	.L2082
.L2102:
	ldr	r3, .L2113+4
	ldr	r3, [r3]
	ldr	r1, .L2113+48
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L2103
	ldr	r3, .L2113
	mov	r2, #0
	str	r2, [r3, #64]
	b	.L2082
.L2103:
	ldr	r3, .L2113+4
	ldr	r3, [r3]
	ldr	r1, .L2113+52
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L2104
	ldr	r3, .L2113
	mov	r2, #0
	str	r2, [r3, #68]
	b	.L2082
.L2104:
	ldr	r3, .L2113+56
	ldr	r0, [r3]
	ldr	r3, [fp, #-28]
	ldr	r2, [r3]
	ldr	r3, .L2113+4
	ldr	r3, [r3]
	ldr	r1, .L2113+60
	bl	fprintf
	mov	r3, #1
	b	.L2093
.L2084:
	ldr	r3, .L2113+4
	ldr	r3, [r3]
	ldr	r1, .L2113+64
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L2082
	ldr	r3, .L2113+56
	ldr	r0, [r3]
	ldr	r3, .L2113+68
	ldr	r2, .L2113+72
	ldr	r1, .L2113+76
	bl	fprintf
	ldr	r3, .L2113+56
	ldr	r3, [r3]
	mov	r2, #31
	mov	r1, #1
	ldr	r0, .L2113+80
	bl	fwrite
	ldr	r3, .L2113+84
	str	r3, [fp, #-16]
	b	.L2106
.L2107:
	ldr	r3, .L2113+56
	ldr	r0, [r3]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, .L2113+88
	bl	fprintf
	ldr	r3, [fp, #-16]
	add	r3, r3, #28
	str	r3, [fp, #-16]
.L2106:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L2107
	ldr	r3, .L2113+56
	ldr	r3, [r3]
	mov	r1, r3
	mov	r0, #10
	bl	fputc
	ldr	r3, .L2113+56
	ldr	r3, [r3]
	mov	r2, #24
	mov	r1, #1
	ldr	r0, .L2113+92
	bl	fwrite
	ldr	r3, .L2113+96
	str	r3, [fp, #-12]
	b	.L2108
.L2109:
	ldr	r3, .L2113+56
	ldr	r0, [r3]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, .L2113+88
	bl	fprintf
	ldr	r3, [fp, #-12]
	add	r3, r3, #8
	str	r3, [fp, #-12]
.L2108:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L2109
	ldr	r3, .L2113+56
	ldr	r3, [r3]
	mov	r1, r3
	mov	r0, #10
	bl	fputc
	mov	r3, #0
	b	.L2093
.L2089:
	ldr	r0, [fp, #-28]
	bl	show_usage
	mov	r3, #0
	b	.L2093
.L2082:
	ldr	r2, .L2113+100
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	getopt
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmn	r3, #1
	bne	.L2110
	bl	initialize
	bl	init_terminal
	ldr	r3, .L2113+104
	ldr	r3, [r3]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	ble	.L2111
	ldr	r3, .L2113+104
	ldr	r3, [r3]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-28]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	open_file
	bl	update_title
	ldr	r3, .L2113
	ldr	r3, [r3, #16]
	cmp	r3, #0
	beq	.L2112
	ldr	r3, .L2113+8
	ldr	r2, [r3]
	ldrb	r3, [r2]
	orr	r3, r3, #8
	strb	r3, [r2]
	b	.L2112
.L2111:
	bl	buffer_new
	mov	r3, r0
	ldr	r2, .L2113+8
	str	r3, [r2]
	bl	update_title
	ldr	r3, .L2113+8
	ldr	r3, [r3]
	mov	r0, r3
	bl	setup_buffer
.L2112:
	bl	redraw_all
	bl	normal_mode
	mov	r3, #0
.L2093:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2114:
	.align	2
.L2113:
	.word	global_config
	.word	optarg
	.word	env
	.word	stdout
	.word	.LC489
	.word	.LC490
	.word	.LC491
	.word	.LC492
	.word	.LC493
	.word	.LC494
	.word	.LC495
	.word	.LC496
	.word	.LC497
	.word	.LC498
	.word	stderr
	.word	.LC499
	.word	.LC500
	.word	.LC430
	.word	.LC501
	.word	.LC502
	.word	.LC503
	.word	syntaxes
	.word	.LC504
	.word	.LC505
	.word	themes
	.word	.LC506
	.word	optind
	.size	main, .-main
	.data
	.align	2
	.type	mask_bytes.7847, %object
	.size	mask_bytes.7847, 128
mask_bytes.7847:
	.word	127
	.word	127
	.word	127
	.word	127
	.word	127
	.word	127
	.word	127
	.word	127
	.word	127
	.word	127
	.word	127
	.word	127
	.word	127
	.word	127
	.word	127
	.word	127
	.word	0
	.word	0
	.word	0
	.word	0
	.word	0
	.word	0
	.word	0
	.word	0
	.word	31
	.word	31
	.word	31
	.word	31
	.word	15
	.word	15
	.word	7
	.word	0
	.align	2
	.type	state_table.7846, %object
	.size	state_table.7846, 128
state_table.7846:
	.word	0
	.word	0
	.word	0
	.word	0
	.word	0
	.word	0
	.word	0
	.word	0
	.word	0
	.word	0
	.word	0
	.word	0
	.word	0
	.word	0
	.word	0
	.word	0
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	2
	.word	2
	.word	2
	.word	2
	.word	3
	.word	3
	.word	4
	.word	1
	.align	2
	.type	next.7848, %object
	.size	next.7848, 20
next.7848:
	.word	0
	.word	1
	.word	0
	.word	2
	.word	3
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
