	.file	"145837.c"
	.intel_syntax noprefix
	.text
	.globl	version_str
	.section	.rodata
	.align 32
	.type	version_str, @object
	.size	version_str, 308
version_str:
	.ascii	"BootTerm 0.4.0 -- the terminal written for users by"
	.string	" its users\nBuilt with support for custom baud rates (TCGETS2).\nCopyright (C) 2020-2021 Willy Tarreau <w@1wt.eu>\nThis is free software: you are encouraged to improve and redistribute it.\nThere is no warranty of any kind, see the source for license details.\n"
	.globl	usage_msg
	.align 32
	.type	usage_msg, @object
	.size	usage_msg, 1615
usage_msg:
	.ascii	"Usage: %s [options] [/dev/ttyXXX | port#]\nOptions:\n  -h   "
	.ascii	"        display this help\n  -q           quiet mode: do not"
	.ascii	" report events\n  -p           only print selected port name"
	.ascii	" and quit\n  -l           list detected serial ports and qui"
	.ascii	"t\n  -a           wait for a port to be available (BT_SCAN_W"
	.ascii	"AIT_ANY)\n  -n           wait for a new port to be registere"
	.ascii	"d (BT_SCAN_WAIT_NEW)\n  -m <min>     specify lowest printabl"
	.ascii	"e character  (default: 0)\n  -M <max>     specify highest pr"
	.ascii	"intable character (default: 255)\n  -b <baud>    specify bau"
	.ascii	"d rate (BT_PORT_BAUD_RATE; default:115200; 0=current)\n  -c "
	.ascii	"{none|fixed|timed} enable capture to file (BT_CAPTURE_MODE)\n"
	.ascii	"  -t {none|abs|init|line} enable timestamps in captures (BT_"
	.ascii	"TIMESTAMP_MODE)\n  -T           enable timestamps in termina"
	.ascii	"l (see -t for formats)\n  -e <escape>  escape character or A"
	.ascii	"SCII code  (default: 29 = Ctrl-])\n  -f <fmt>     capture fi"
	.ascii	"le name (default: 'bootterm-%%Y%%m%%d-%%H%%M%%S.log')\n  -V "
	.ascii	"          show version and license\n  -B           send a br"
	.ascii	"eak sequence before starting the terminal\n  -N           do"
	.ascii	" not launch the terminal, just quit\n  -L <mode>    new line"
	.ascii	" mode: 0=CRLF, 1=LF only, 2=CR only (BT_PORT_CRLF)\n\nPorts "
	.ascii	"are sorted in reverse registration order so that port 0 is t"
	.ascii	"he most\nrecently added one. A number may be set instead of "
	.ascii	"the port. With no name nor\nnumber, last port is used. Use '"
	.string	"?' or 'help' in baud rate to list them all.\nComma-delimited lists of ports to exclude/include/restrict may be passed in\nBT_SCAN_EXCLUDE_PORTS, BT_SCAN_INCLUDE_PORTS, and BT_SCAN_RESTRICT_PORTS.\nBT_SCAN_EXCLUDE_DRIVERS ignores ports matching these drivers.\n"
	.globl	menu_str
	.align 32
	.type	menu_str, @object
	.size	menu_str, 452
menu_str:
	.ascii	"\r\nBootTerm supports several single-character commands afte"
	.ascii	"r the escape character:\r\n  H h ?      display this help\r\n"
	.ascii	"  Q q .      quit\r\n  P p        show port status\r\n  D d "
	.ascii	"       flip DTR pin\r\n  R"
	.string	" r        flip RTS pin\r\n  F f        flip both DTR and RTS pins\r\n  B b        send break\r\n  C c        enable / disable capture\r\n  T t        enable / disable timestamps on terminal\r\nEnter the escape character again after this menu to use these commands.\r\n"
	.globl	baud_rates
	.align 32
	.type	baud_rates, @object
	.size	baud_rates, 248
baud_rates:
	.long	50
	.long	1
	.long	75
	.long	2
	.long	110
	.long	3
	.long	134
	.long	4
	.long	150
	.long	5
	.long	200
	.long	6
	.long	300
	.long	7
	.long	600
	.long	8
	.long	1200
	.long	9
	.long	1800
	.long	10
	.long	2400
	.long	11
	.long	4800
	.long	12
	.long	9600
	.long	13
	.long	19200
	.long	14
	.long	38400
	.long	15
	.long	57600
	.long	4097
	.long	115200
	.long	4098
	.long	230400
	.long	4099
	.long	460800
	.long	4100
	.long	500000
	.long	4101
	.long	576000
	.long	4102
	.long	921600
	.long	4103
	.long	1000000
	.long	4104
	.long	1152000
	.long	4105
	.long	1500000
	.long	4106
	.long	2000000
	.long	4107
	.long	2500000
	.long	4108
	.long	3000000
	.long	4109
	.long	3500000
	.long	4110
	.long	4000000
	.long	4111
	.long	0
	.long	-1
	.globl	serial_ports
	.bss
	.align 32
	.type	serial_ports, @object
	.size	serial_ports, 3200
serial_ports:
	.zero	3200
	.globl	baud_rate_str
	.align 8
	.type	baud_rate_str, @object
	.size	baud_rate_str, 8
baud_rate_str:
	.zero	8
	.globl	cap_mode_str
	.align 8
	.type	cap_mode_str, @object
	.size	cap_mode_str, 8
cap_mode_str:
	.zero	8
	.globl	cap_mode
	.align 4
	.type	cap_mode, @object
	.size	cap_mode, 4
cap_mode:
	.zero	4
	.globl	crlf_mode
	.align 4
	.type	crlf_mode, @object
	.size	crlf_mode, 4
crlf_mode:
	.zero	4
	.globl	capture_fmt
	.section	.rodata
.LC0:
	.string	"bootterm-%Y%m%d-%H%M%S.log"
	.section	.data.rel.local,"aw"
	.align 8
	.type	capture_fmt, @object
	.size	capture_fmt, 8
capture_fmt:
	.quad	.LC0
	.globl	escape
	.data
	.type	escape, @object
	.size	escape, 1
escape:
	.byte	29
	.globl	chr_min
	.bss
	.type	chr_min, @object
	.size	chr_min, 1
chr_min:
	.zero	1
	.globl	chr_max
	.data
	.type	chr_max, @object
	.size	chr_max, 1
chr_max:
	.byte	-1
	.globl	port
	.bss
	.align 8
	.type	port, @object
	.size	port, 8
port:
	.zero	8
	.globl	nbports
	.align 4
	.type	nbports, @object
	.size	nbports, 4
nbports:
	.zero	4
	.globl	currport
	.data
	.align 4
	.type	currport, @object
	.size	currport, 4
currport:
	.long	-1
	.globl	quiet
	.bss
	.align 4
	.type	quiet, @object
	.size	quiet, 4
quiet:
	.zero	4
	.globl	baud
	.data
	.align 4
	.type	baud, @object
	.size	baud, 4
baud:
	.long	115200
	.globl	cap_name
	.bss
	.align 32
	.type	cap_name, @object
	.size	cap_name, 4096
cap_name:
	.zero	4096
	.globl	cap_fd
	.data
	.align 4
	.type	cap_fd, @object
	.size	cap_fd, 4
cap_fd:
	.long	-1
	.globl	last_cap_sec
	.bss
	.align 8
	.type	last_cap_sec, @object
	.size	last_cap_sec, 8
last_cap_sec:
	.zero	8
	.globl	start_ts
	.align 16
	.type	start_ts, @object
	.size	start_ts, 16
start_ts:
	.zero	16
	.globl	ts_mode
	.align 4
	.type	ts_mode, @object
	.size	ts_mode, 4
ts_mode:
	.zero	4
	.globl	line_state
	.data
	.align 4
	.type	line_state, @object
	.size	line_state, 4
line_state:
	.long	2
	.globl	ts_mode_str
	.bss
	.align 8
	.type	ts_mode_str, @object
	.size	ts_mode_str, 8
ts_mode_str:
	.zero	8
	.globl	ts_term
	.align 4
	.type	ts_term, @object
	.size	ts_term, 4
ts_term:
	.zero	4
	.globl	exclude_drivers
	.align 8
	.type	exclude_drivers, @object
	.size	exclude_drivers, 8
exclude_drivers:
	.zero	8
	.globl	exclude_list
	.align 8
	.type	exclude_list, @object
	.size	exclude_list, 8
exclude_list:
	.zero	8
	.globl	include_list
	.align 8
	.type	include_list, @object
	.size	include_list, 8
include_list:
	.zero	8
	.globl	restrict_list
	.align 8
	.type	restrict_list, @object
	.size	restrict_list, 8
restrict_list:
	.zero	8
	.globl	always_ignore
	.section	.rodata
	.align 8
.LC1:
	.string	"pty*,null,zero,rtc*,nvram*,mem,kmem,kbd*,mouse*,psaux*,audio*,dsp*,fb*,random,urandom,mt*,rmt*,console,ptmx,ptc,tty,stderr,stdin,stdout"
	.section	.data.rel.local
	.align 8
	.type	always_ignore, @object
	.size	always_ignore, 8
always_ignore:
	.quad	.LC1
	.text
	.globl	die
	.type	die, @function
die:
.LFB6:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 224
	mov	DWORD PTR -212[rbp], edi
	mov	QWORD PTR -224[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	.L2
	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
.L2:
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -184[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -208[rbp], 16
	mov	DWORD PTR -204[rbp], 48
	lea	rax, 16[rbp]
	mov	QWORD PTR -200[rbp], rax
	lea	rax, -176[rbp]
	mov	QWORD PTR -192[rbp], rax
	mov	rax, QWORD PTR stderr[rip]
	lea	rdx, -208[rbp]
	mov	rcx, QWORD PTR -224[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	vfprintf@PLT
	mov	eax, DWORD PTR -212[rbp]
	mov	edi, eax
	call	exit@PLT
	.cfi_endproc
.LFE6:
	.size	die, .-die
	.globl	usage
	.type	usage, @function
usage:
.LFB7:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -4[rbp], edi
	mov	QWORD PTR -16[rbp], rsi
	mov	rdx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -4[rbp]
	lea	rsi, usage_msg[rip]
	mov	edi, eax
	mov	eax, 0
	call	die
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	usage, .-usage
	.globl	parse_long
	.type	parse_long, @function
parse_long:
.LFB8:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	cmp	QWORD PTR -24[rbp], 0
	je	.L6
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L7
.L6:
	mov	eax, 0
	jmp	.L9
.L7:
	lea	rcx, -16[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	strtol@PLT
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	sete	al
	movzx	eax, al
.L9:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L10
	call	__stack_chk_fail@PLT
.L10:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	parse_long, .-parse_long
	.globl	parse_int
	.type	parse_int, @function
parse_int:
.LFB9:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	cmp	QWORD PTR -40[rbp], 0
	je	.L12
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L13
.L12:
	mov	eax, 0
	jmp	.L17
.L13:
	lea	rcx, -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	strtol@PLT
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L15
	movabs	rax, -2147483649
	cmp	QWORD PTR -16[rbp], rax
	jle	.L15
	mov	eax, 2147483648
	cmp	QWORD PTR -16[rbp], rax
	jge	.L15
	mov	eax, 1
	jmp	.L17
.L15:
	mov	eax, 0
.L17:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L18
	call	__stack_chk_fail@PLT
.L18:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	parse_int, .-parse_int
	.globl	parse_byte
	.type	parse_byte, @function
parse_byte:
.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, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	cmp	QWORD PTR -40[rbp], 0
	je	.L20
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L21
.L20:
	mov	eax, 0
	jmp	.L25
.L21:
	lea	rcx, -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	strtol@PLT
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -48[rbp]
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L23
	cmp	QWORD PTR -16[rbp], 0
	js	.L23
	cmp	QWORD PTR -16[rbp], 255
	jg	.L23
	mov	eax, 1
	jmp	.L25
.L23:
	mov	eax, 0
.L25:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L26
	call	__stack_chk_fail@PLT
.L26:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	parse_byte, .-parse_byte
	.globl	in_list
	.type	in_list, @function
in_list:
.LFB11:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	QWORD PTR -16[rbp], rax
	jmp	.L28
.L38:
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L29
.L31:
	add	QWORD PTR -24[rbp], 1
.L29:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L30
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 44
	je	.L30
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 42
	jne	.L31
.L30:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 42
	jne	.L32
	mov	rax, QWORD PTR -24[rbp]
	sub	rax, QWORD PTR -8[rbp]
	cmp	QWORD PTR -16[rbp], rax
	jb	.L32
	mov	rax, QWORD PTR -24[rbp]
	sub	rax, QWORD PTR -8[rbp]
	mov	rdx, rax
	mov	rcx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	strncmp@PLT
	test	eax, eax
	jne	.L32
	mov	eax, 1
	jmp	.L33
.L32:
	mov	rdx, QWORD PTR -16[rbp]
	mov	rcx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	strncmp@PLT
	test	eax, eax
	jne	.L39
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L35
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 44
	jne	.L39
.L35:
	mov	eax, 1
	jmp	.L33
.L39:
	nop
.L36:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L28
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -24[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 44
	jne	.L36
.L28:
	cmp	QWORD PTR -24[rbp], 0
	je	.L37
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L38
.L37:
	mov	eax, 0
.L33:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	in_list, .-in_list
	.globl	set_port
	.type	set_port, @function
set_port:
.LFB12:
	.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 -68[rbp], edi
	mov	DWORD PTR -72[rbp], esi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rdx, -64[rbp]
	mov	eax, DWORD PTR -68[rbp]
	mov	esi, 2150388778
	mov	edi, eax
	mov	eax, 0
	call	ioctl@PLT
	mov	eax, DWORD PTR -56[rbp]
	or	eax, 48
	mov	DWORD PTR -56[rbp], eax
	mov	eax, DWORD PTR -56[rbp]
	and	eax, -65
	mov	DWORD PTR -56[rbp], eax
	mov	eax, DWORD PTR -56[rbp]
	and	ah, -4
	mov	DWORD PTR -56[rbp], eax
	mov	eax, DWORD PTR -56[rbp]
	and	ah, -5
	mov	DWORD PTR -56[rbp], eax
	mov	eax, DWORD PTR -56[rbp]
	and	eax, 2147483647
	mov	DWORD PTR -56[rbp], eax
	mov	eax, DWORD PTR -56[rbp]
	or	al, -128
	mov	DWORD PTR -56[rbp], eax
	mov	eax, DWORD PTR -56[rbp]
	or	ah, 8
	mov	DWORD PTR -56[rbp], eax
	cmp	DWORD PTR -72[rbp], 0
	je	.L41
	mov	eax, DWORD PTR -56[rbp]
	and	eax, -269422608
	mov	DWORD PTR -56[rbp], eax
	mov	eax, DWORD PTR -56[rbp]
	or	eax, 268439552
	mov	DWORD PTR -56[rbp], eax
	mov	eax, DWORD PTR -72[rbp]
	mov	DWORD PTR -28[rbp], eax
	mov	eax, DWORD PTR -28[rbp]
	mov	DWORD PTR -24[rbp], eax
.L41:
	mov	DWORD PTR -64[rbp], 0
	mov	DWORD PTR -60[rbp], 0
	mov	DWORD PTR -52[rbp], 0
	lea	rdx, -64[rbp]
	mov	eax, DWORD PTR -68[rbp]
	mov	esi, 1076646955
	mov	edi, eax
	mov	eax, 0
	call	ioctl@PLT
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L43
	call	__stack_chk_fail@PLT
.L43:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE12:
	.size	set_port, .-set_port
	.globl	get_baud_rate
	.type	get_baud_rate, @function
get_baud_rate:
.LFB13:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	DWORD PTR -84[rbp], edi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rdx, -64[rbp]
	mov	eax, DWORD PTR -84[rbp]
	mov	esi, 2150388778
	mov	edi, eax
	mov	eax, 0
	call	ioctl@PLT
	mov	eax, DWORD PTR -56[rbp]
	and	eax, 4111
	cmp	eax, 4096
	jne	.L45
	mov	eax, DWORD PTR -24[rbp]
	jmp	.L50
.L45:
	mov	DWORD PTR -68[rbp], 0
	jmp	.L47
.L49:
	mov	eax, DWORD PTR -56[rbp]
	and	eax, 4111
	mov	ecx, eax
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, baud_rates[rip+4]
	mov	eax, DWORD PTR [rdx+rax]
	cmp	ecx, eax
	jne	.L48
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, baud_rates[rip]
	mov	eax, DWORD PTR [rdx+rax]
	jmp	.L50
.L48:
	add	DWORD PTR -68[rbp], 1
.L47:
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, baud_rates[rip]
	mov	eax, DWORD PTR [rdx+rax]
	test	eax, eax
	jne	.L49
	mov	eax, 0
.L50:
	mov	rsi, QWORD PTR -8[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L51
	call	__stack_chk_fail@PLT
.L51:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE13:
	.size	get_baud_rate, .-get_baud_rate
	.section	.rodata
	.align 8
.LC2:
	.string	"termios2 is supported, so any baud rate is supported"
	.text
	.globl	list_baud_rates
	.type	list_baud_rates, @function
list_baud_rates:
.LFB14:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	lea	rdi, .LC2[rip]
	call	puts@PLT
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE14:
	.size	list_baud_rates, .-list_baud_rates
	.type	tcgetattr, @function
tcgetattr:
.LFB15:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -4[rbp], edi
	mov	QWORD PTR -16[rbp], rsi
	mov	rdx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -4[rbp]
	mov	esi, 21505
	mov	edi, eax
	mov	eax, 0
	call	ioctl@PLT
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE15:
	.size	tcgetattr, .-tcgetattr
	.type	tcsetattr, @function
tcsetattr:
.LFB16:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -4[rbp], edi
	mov	DWORD PTR -8[rbp], esi
	mov	QWORD PTR -16[rbp], rdx
	mov	rdx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -4[rbp]
	mov	esi, 21506
	mov	edi, eax
	mov	eax, 0
	call	ioctl@PLT
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE16:
	.size	tcsetattr, .-tcsetattr
	.type	tcsendbreak, @function
tcsendbreak:
.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
	mov	DWORD PTR -8[rbp], esi
	mov	edx, DWORD PTR -8[rbp]
	mov	eax, DWORD PTR -4[rbp]
	mov	esi, 21513
	mov	edi, eax
	mov	eax, 0
	call	ioctl@PLT
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE17:
	.size	tcsendbreak, .-tcsendbreak
	.globl	get_conf
	.type	get_conf, @function
get_conf:
.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, 320
	mov	QWORD PTR -312[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	QWORD PTR -296[rbp], 0
	mov	rax, QWORD PTR -312[rbp]
	mov	rdi, rax
	call	strlen@PLT
	add	rax, 3
	cmp	rax, 255
	ja	.L60
	lea	rax, -272[rbp]
	mov	DWORD PTR [rax], 6247490
	lea	rax, -272[rbp]
	add	rax, 3
	mov	QWORD PTR -288[rbp], rax
	mov	rax, QWORD PTR -312[rbp]
	mov	QWORD PTR -280[rbp], rax
.L64:
	mov	rax, QWORD PTR -280[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -280[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -297[rbp], al
	cmp	BYTE PTR -297[rbp], 46
	je	.L61
	cmp	BYTE PTR -297[rbp], 45
	jne	.L62
.L61:
	mov	BYTE PTR -297[rbp], 95
	jmp	.L63
.L62:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	movsx	rax, BYTE PTR -297[rbp]
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 512
	test	eax, eax
	je	.L63
	movsx	eax, BYTE PTR -297[rbp]
	mov	edi, eax
	call	toupper@PLT
	mov	BYTE PTR -297[rbp], al
.L63:
	mov	rax, QWORD PTR -288[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -288[rbp], rdx
	movzx	edx, BYTE PTR -297[rbp]
	mov	BYTE PTR [rax], dl
	cmp	BYTE PTR -297[rbp], 0
	jne	.L64
	lea	rax, -272[rbp]
	mov	rdi, rax
	call	getenv@PLT
	mov	QWORD PTR -296[rbp], rax
	cmp	QWORD PTR -296[rbp], 0
	je	.L65
	mov	rax, QWORD PTR -296[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L60
.L65:
	mov	QWORD PTR -296[rbp], 0
.L60:
	mov	rax, QWORD PTR -296[rbp]
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L68
	call	__stack_chk_fail@PLT
.L68:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE18:
	.size	get_conf, .-get_conf
	.section	.rodata
.LC3:
	.string	"/dev/"
	.text
	.globl	set_port_list
	.type	set_port_list, @function
set_port_list:
.LFB19:
	.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
	mov	QWORD PTR -48[rbp], rsi
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR [rax], 0
	cmp	QWORD PTR -48[rbp], 0
	je	.L70
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	strdup@PLT
	jmp	.L71
.L70:
	mov	eax, 0
.L71:
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	je	.L80
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L74
.L76:
	add	QWORD PTR -16[rbp], 1
.L75:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 1
	test	eax, eax
	jne	.L76
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, 5
	lea	rsi, .LC3[rip]
	mov	rdi, rax
	call	strncmp@PLT
	test	eax, eax
	jne	.L77
	add	QWORD PTR -16[rbp], 5
	jmp	.L74
.L77:
	mov	rdx, QWORD PTR -16[rbp]
	lea	rax, 1[rdx]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	lea	rcx, 1[rax]
	mov	QWORD PTR -8[rbp], rcx
	movzx	edx, BYTE PTR [rdx]
	mov	BYTE PTR [rax], dl
.L74:
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L75
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	BYTE PTR [rax], 0
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L79
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	QWORD PTR -24[rbp], 0
.L79:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L69
.L80:
	nop
.L69:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE19:
	.size	set_port_list, .-set_port_list
	.section	.rodata
.LC4:
	.string	"r"
	.text
	.globl	read_line_from
	.type	read_line_from, @function
read_line_from:
.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, 4096
	or	QWORD PTR [rsp], 0
	sub	rsp, 4096
	or	QWORD PTR [rsp], 0
	sub	rsp, 256
	mov	QWORD PTR -8440[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	.L82
	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
.L82:
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -184[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -8428[rbp], 0
	mov	QWORD PTR -8424[rbp], 0
	mov	DWORD PTR -8408[rbp], 8
	mov	DWORD PTR -8404[rbp], 48
	lea	rax, 16[rbp]
	mov	QWORD PTR -8400[rbp], rax
	lea	rax, -176[rbp]
	mov	QWORD PTR -8392[rbp], rax
	lea	rcx, -8408[rbp]
	mov	rdx, QWORD PTR -8440[rbp]
	lea	rax, -8384[rbp]
	mov	esi, 4096
	mov	rdi, rax
	call	vsnprintf@PLT
	mov	DWORD PTR -8428[rbp], eax
	mov	eax, DWORD PTR -8428[rbp]
	cmp	eax, 4095
	ja	.L83
	lea	rax, -8384[rbp]
	lea	rsi, .LC4[rip]
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR -8416[rbp], rax
	cmp	QWORD PTR -8416[rbp], 0
	je	.L83
	mov	rdx, QWORD PTR -8416[rbp]
	lea	rax, -4288[rbp]
	mov	esi, 4096
	mov	rdi, rax
	call	fgets@PLT
	mov	QWORD PTR -8424[rbp], rax
	mov	rax, QWORD PTR -8416[rbp]
	mov	rdi, rax
	call	fclose@PLT
	cmp	QWORD PTR -8424[rbp], 0
	je	.L83
	mov	rax, QWORD PTR -8424[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L84
	mov	rax, QWORD PTR -8424[rbp]
	mov	rdi, rax
	call	strlen@PLT
	lea	rdx, -1[rax]
	mov	rax, QWORD PTR -8424[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	jne	.L84
	mov	rax, QWORD PTR -8424[rbp]
	mov	rdi, rax
	call	strlen@PLT
	lea	rdx, -1[rax]
	mov	rax, QWORD PTR -8424[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 0
.L84:
	mov	rax, QWORD PTR -8424[rbp]
	mov	rdi, rax
	call	strdup@PLT
	mov	QWORD PTR -8424[rbp], rax
.L83:
	mov	rax, QWORD PTR -8424[rbp]
	mov	rcx, QWORD PTR -184[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L86
	call	__stack_chk_fail@PLT
.L86:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE20:
	.size	read_line_from, .-read_line_from
	.globl	read_link_from
	.type	read_link_from, @function
read_link_from:
.LFB21:
	.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
	sub	rsp, 4096
	or	QWORD PTR [rsp], 0
	sub	rsp, 256
	mov	QWORD PTR -8440[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	.L88
	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
.L88:
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -184[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -8428[rbp], 0
	mov	QWORD PTR -8424[rbp], 0
	mov	DWORD PTR -8408[rbp], 8
	mov	DWORD PTR -8404[rbp], 48
	lea	rax, 16[rbp]
	mov	QWORD PTR -8400[rbp], rax
	lea	rax, -176[rbp]
	mov	QWORD PTR -8392[rbp], rax
	lea	rcx, -8408[rbp]
	mov	rdx, QWORD PTR -8440[rbp]
	lea	rax, -8384[rbp]
	mov	esi, 4096
	mov	rdi, rax
	call	vsnprintf@PLT
	mov	DWORD PTR -8428[rbp], eax
	mov	eax, DWORD PTR -8428[rbp]
	cmp	eax, 4095
	ja	.L89
	lea	rcx, -4288[rbp]
	lea	rax, -8384[rbp]
	mov	edx, 4095
	mov	rsi, rcx
	mov	rdi, rax
	call	readlink@PLT
	mov	QWORD PTR -8416[rbp], rax
	cmp	QWORD PTR -8416[rbp], 0
	jle	.L89
	lea	rdx, -4288[rbp]
	mov	rax, QWORD PTR -8416[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 0
	lea	rax, -4288[rbp]
	mov	rdi, rax
	call	strdup@PLT
	mov	QWORD PTR -8424[rbp], rax
.L89:
	mov	rax, QWORD PTR -8424[rbp]
	mov	rsi, QWORD PTR -184[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L91
	call	__stack_chk_fail@PLT
.L91:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE21:
	.size	read_link_from, .-read_link_from
	.globl	file_exists
	.type	file_exists, @function
file_exists:
.LFB22:
	.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
	sub	rsp, 384
	mov	QWORD PTR -4472[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	.L93
	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
.L93:
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -184[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -4460[rbp], 0
	mov	DWORD PTR -4456[rbp], 8
	mov	DWORD PTR -4452[rbp], 48
	lea	rax, 16[rbp]
	mov	QWORD PTR -4448[rbp], rax
	lea	rax, -176[rbp]
	mov	QWORD PTR -4440[rbp], rax
	lea	rcx, -4456[rbp]
	mov	rdx, QWORD PTR -4472[rbp]
	lea	rax, -4288[rbp]
	mov	esi, 4096
	mov	rdi, rax
	call	vsnprintf@PLT
	mov	DWORD PTR -4460[rbp], eax
	mov	eax, DWORD PTR -4460[rbp]
	cmp	eax, 4095
	ja	.L94
	lea	rdx, -4432[rbp]
	lea	rax, -4288[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	stat@PLT
	test	eax, eax
	sete	al
	movzx	eax, al
	jmp	.L96
.L94:
	mov	eax, 0
.L96:
	mov	rsi, QWORD PTR -184[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L97
	call	__stack_chk_fail@PLT
.L97:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE22:
	.size	file_exists, .-file_exists
	.globl	set_capture_name
	.type	set_capture_name, @function
set_capture_name:
.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, 4096
	or	QWORD PTR [rsp], 0
	sub	rsp, 32
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	eax, DWORD PTR cap_mode[rip]
	test	eax, eax
	jne	.L99
	mov	eax, DWORD PTR cap_fd[rip]
	cmp	eax, -1
	je	.L111
.L99:
	mov	eax, DWORD PTR cap_mode[rip]
	cmp	eax, 1
	jne	.L101
	mov	eax, DWORD PTR cap_fd[rip]
	test	eax, eax
	jns	.L112
.L101:
	mov	edi, 0
	call	time@PLT
	mov	QWORD PTR -4120[rbp], rax
	mov	rdx, QWORD PTR -4120[rbp]
	mov	rax, QWORD PTR last_cap_sec[rip]
	cmp	rdx, rax
	je	.L113
	mov	eax, DWORD PTR cap_mode[rip]
	test	eax, eax
	je	.L103
	lea	rax, -4120[rbp]
	mov	rdi, rax
	call	localtime@PLT
	mov	rcx, rax
	mov	rdx, QWORD PTR capture_fmt[rip]
	lea	rax, -4112[rbp]
	mov	esi, 4096
	mov	rdi, rax
	call	strftime@PLT
	test	rax, rax
	jne	.L104
.L103:
	mov	eax, DWORD PTR cap_fd[rip]
	test	eax, eax
	js	.L105
	mov	eax, DWORD PTR cap_fd[rip]
	mov	edi, eax
	call	close@PLT
.L105:
	mov	DWORD PTR cap_fd[rip], -1
	jmp	.L98
.L104:
	mov	eax, DWORD PTR cap_fd[rip]
	cmp	eax, -1
	je	.L106
	lea	rax, -4112[rbp]
	lea	rsi, cap_name[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	je	.L107
.L106:
	mov	eax, DWORD PTR cap_fd[rip]
	test	eax, eax
	js	.L108
	mov	eax, DWORD PTR cap_fd[rip]
	mov	edi, eax
	call	close@PLT
.L108:
	lea	rdx, cap_name[rip]
	lea	rax, -4112[rbp]
	mov	ecx, 512
	mov	rdi, rdx
	mov	rsi, rax
	rep movsq
	mov	edx, 438
	mov	esi, 132161
	lea	rdi, cap_name[rip]
	mov	eax, 0
	call	open@PLT
	mov	DWORD PTR cap_fd[rip], eax
.L107:
	mov	rax, QWORD PTR -4120[rbp]
	mov	QWORD PTR last_cap_sec[rip], rax
	jmp	.L98
.L111:
	nop
	jmp	.L98
.L112:
	nop
	jmp	.L98
.L113:
	nop
.L98:
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L110
	call	__stack_chk_fail@PLT
.L110:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE23:
	.size	set_capture_name, .-set_capture_name
	.type	serial_port_cmp, @function
serial_port_cmp:
.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, 64
	mov	QWORD PTR -56[rbp], rdi
	mov	QWORD PTR -64[rbp], rsi
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -64[rbp]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 24[rax]
	cmp	rdx, rax
	je	.L115
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	jmp	.L116
.L115:
	mov	DWORD PTR -36[rbp], 0
	jmp	.L117
.L119:
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L118
	mov	eax, 0
	jmp	.L116
.L118:
	add	DWORD PTR -36[rbp], 1
.L117:
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	add	rax, rdx
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	cmp	dl, al
	je	.L119
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L120
	mov	eax, -1
	jmp	.L116
.L120:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L121
	mov	eax, 1
	jmp	.L116
.L121:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 2048
	test	eax, eax
	jne	.L122
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 2048
	test	eax, eax
	jne	.L122
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	edx, al
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movsx	ecx, al
	mov	eax, edx
	sub	eax, ecx
	jmp	.L116
.L122:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 2048
	test	eax, eax
	je	.L123
	cmp	DWORD PTR -36[rbp], 0
	je	.L124
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	sub	rax, 1
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 2048
	test	eax, eax
	jne	.L123
.L124:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 2048
	test	eax, eax
	jne	.L123
	mov	eax, -1
	jmp	.L116
.L123:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 2048
	test	eax, eax
	je	.L127
	cmp	DWORD PTR -36[rbp], 0
	je	.L126
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	sub	rax, 1
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 2048
	test	eax, eax
	jne	.L127
.L126:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 2048
	test	eax, eax
	jne	.L127
	mov	eax, 1
	jmp	.L116
.L129:
	sub	DWORD PTR -36[rbp], 1
.L127:
	cmp	DWORD PTR -36[rbp], 0
	jle	.L128
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	sub	rax, 1
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 2048
	test	eax, eax
	jne	.L129
.L128:
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	add	rax, rdx
	mov	edx, 0
	mov	esi, 0
	mov	rdi, rax
	call	strtoll@PLT
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	add	rax, rdx
	mov	edx, 0
	mov	esi, 0
	mov	rdi, rax
	call	strtoll@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	cmp	rax, QWORD PTR -8[rbp]
	jge	.L130
	mov	eax, -1
	jmp	.L116
.L130:
	mov	eax, 1
.L116:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE24:
	.size	serial_port_cmp, .-serial_port_cmp
	.globl	file_isatty
	.type	file_isatty, @function
file_isatty:
.LFB25:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 240
	mov	QWORD PTR -232[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -224[rbp], 0
	mov	DWORD PTR -220[rbp], -1
	lea	rdx, -160[rbp]
	mov	rax, QWORD PTR -232[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	stat@PLT
	test	eax, eax
	jne	.L142
	mov	eax, DWORD PTR -136[rbp]
	and	eax, 61440
	cmp	eax, 8192
	jne	.L143
	mov	rax, QWORD PTR -232[rbp]
	mov	esi, 2304
	mov	rdi, rax
	mov	eax, 0
	call	open@PLT
	mov	DWORD PTR -220[rbp], eax
	cmp	DWORD PTR -220[rbp], -1
	je	.L144
	mov	eax, DWORD PTR -220[rbp]
	mov	edi, eax
	call	isatty@PLT
	mov	DWORD PTR -224[rbp], eax
	cmp	DWORD PTR -224[rbp], 0
	je	.L136
	lea	rdx, -216[rbp]
	mov	eax, DWORD PTR -220[rbp]
	mov	esi, 21523
	mov	edi, eax
	mov	eax, 0
	call	ioctl@PLT
	test	eax, eax
	jne	.L137
	movzx	eax, WORD PTR -216[rbp]
	test	ax, ax
	je	.L136
	movzx	eax, WORD PTR -214[rbp]
	test	ax, ax
	je	.L136
.L137:
	mov	DWORD PTR -224[rbp], 0
.L136:
	cmp	DWORD PTR -224[rbp], 0
	je	.L138
	lea	rdx, -208[rbp]
	mov	eax, DWORD PTR -220[rbp]
	mov	esi, 21505
	mov	edi, eax
	mov	eax, 0
	call	ioctl@PLT
	test	eax, eax
	jne	.L139
	mov	eax, DWORD PTR -200[rbp]
	and	eax, 2048
	test	eax, eax
	jne	.L138
.L139:
	mov	DWORD PTR -224[rbp], 0
.L138:
	mov	eax, DWORD PTR -220[rbp]
	mov	edi, eax
	call	close@PLT
	jmp	.L133
.L142:
	nop
	jmp	.L133
.L143:
	nop
	jmp	.L133
.L144:
	nop
.L133:
	mov	eax, DWORD PTR -224[rbp]
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L141
	call	__stack_chk_fail@PLT
.L141:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE25:
	.size	file_isatty, .-file_isatty
	.section	.rodata
.LC5:
	.string	"/dev"
.LC6:
	.string	"/dev/usb/tts"
.LC7:
	.string	"/dev/usb/acm"
.LC8:
	.string	"%s/%s"
.LC9:
	.string	"tty"
.LC10:
	.string	"vcs"
	.text
	.globl	scan_ports_generic
	.type	scan_ports_generic, @function
scan_ports_generic:
.LFB26:
	.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, 232
	.cfi_offset 3, -24
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -24[rbp], rax
	xor	eax, eax
	lea	rax, .LC5[rip]
	mov	QWORD PTR -4304[rbp], rax
	lea	rax, .LC6[rip]
	mov	QWORD PTR -4296[rbp], rax
	lea	rax, .LC7[rip]
	mov	QWORD PTR -4288[rbp], rax
	mov	QWORD PTR -4280[rbp], 0
	mov	DWORD PTR -4332[rbp], 0
	mov	QWORD PTR -4328[rbp], 0
	mov	DWORD PTR nbports[rip], 0
	mov	DWORD PTR -4332[rbp], 0
	jmp	.L146
.L160:
	mov	eax, DWORD PTR -4332[rbp]
	cdqe
	mov	rax, QWORD PTR -4304[rbp+rax*8]
	mov	rdi, rax
	call	opendir@PLT
	mov	QWORD PTR -4328[rbp], rax
	cmp	QWORD PTR -4328[rbp], 0
	je	.L164
	jmp	.L149
.L159:
	mov	rax, QWORD PTR -4328[rbp]
	mov	rdi, rax
	call	readdir@PLT
	mov	QWORD PTR -4320[rbp], rax
	cmp	QWORD PTR -4320[rbp], 0
	je	.L165
	mov	rax, QWORD PTR -4320[rbp]
	lea	rcx, 19[rax]
	mov	eax, DWORD PTR -4332[rbp]
	cdqe
	mov	rdx, QWORD PTR -4304[rbp+rax*8]
	lea	rax, -4128[rbp]
	mov	r8, rcx
	mov	rcx, rdx
	lea	rdx, .LC8[rip]
	mov	esi, 4096
	mov	rdi, rax
	mov	eax, 0
	call	snprintf@PLT
	lea	rax, -4128[rbp]
	add	rax, 5
	mov	QWORD PTR -4312[rbp], rax
	mov	rax, QWORD PTR always_ignore[rip]
	mov	rdx, QWORD PTR -4312[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	in_list
	test	eax, eax
	je	.L152
	jmp	.L149
.L152:
	mov	rax, QWORD PTR exclude_list[rip]
	mov	rdx, QWORD PTR -4312[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	in_list
	test	eax, eax
	je	.L153
	jmp	.L149
.L153:
	mov	rax, QWORD PTR restrict_list[rip]
	test	rax, rax
	je	.L154
	mov	rax, QWORD PTR restrict_list[rip]
	mov	rdx, QWORD PTR -4312[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	in_list
	test	eax, eax
	jne	.L154
	jmp	.L149
.L154:
	mov	rax, QWORD PTR -4312[rbp]
	mov	edx, 3
	lea	rsi, .LC9[rip]
	mov	rdi, rax
	call	strncmp@PLT
	test	eax, eax
	jne	.L155
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -4312[rbp]
	add	rax, 3
	movzx	eax, BYTE PTR [rax]
	movsx	rax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 512
	test	eax, eax
	jne	.L149
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -4312[rbp]
	add	rax, 3
	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	.L155
	jmp	.L149
.L155:
	mov	rax, QWORD PTR -4312[rbp]
	mov	edx, 3
	lea	rsi, .LC10[rip]
	mov	rdi, rax
	call	strncmp@PLT
	test	eax, eax
	jne	.L157
	jmp	.L149
.L157:
	lea	rax, -4128[rbp]
	mov	rdi, rax
	call	file_isatty
	test	eax, eax
	jne	.L158
	jmp	.L149
.L158:
	lea	rdx, -4272[rbp]
	lea	rax, -4128[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	stat@PLT
	test	eax, eax
	jne	.L149
	mov	ebx, DWORD PTR nbports[rip]
	mov	rax, QWORD PTR -4312[rbp]
	mov	rdi, rax
	call	strdup@PLT
	mov	rcx, rax
	movsx	rax, ebx
	sal	rax, 5
	mov	rdx, rax
	lea	rax, serial_ports[rip]
	mov	QWORD PTR [rdx+rax], rcx
	mov	eax, DWORD PTR nbports[rip]
	cdqe
	sal	rax, 5
	mov	rdx, rax
	lea	rax, serial_ports[rip+8]
	mov	QWORD PTR [rdx+rax], 0
	mov	eax, DWORD PTR nbports[rip]
	cdqe
	sal	rax, 5
	mov	rdx, rax
	lea	rax, serial_ports[rip+16]
	mov	QWORD PTR [rdx+rax], 0
	mov	edx, DWORD PTR nbports[rip]
	mov	rax, QWORD PTR -4168[rbp]
	movsx	rdx, edx
	mov	rcx, rdx
	sal	rcx, 5
	lea	rdx, serial_ports[rip+24]
	mov	QWORD PTR [rcx+rdx], rax
	mov	eax, DWORD PTR nbports[rip]
	add	eax, 1
	mov	DWORD PTR nbports[rip], eax
	nop
.L149:
	mov	eax, DWORD PTR nbports[rip]
	cmp	eax, 99
	jle	.L159
	jmp	.L151
.L165:
	nop
.L151:
	mov	rax, QWORD PTR -4328[rbp]
	mov	rdi, rax
	call	closedir@PLT
	jmp	.L148
.L164:
	nop
.L148:
	add	DWORD PTR -4332[rbp], 1
.L146:
	mov	eax, DWORD PTR -4332[rbp]
	cdqe
	mov	rax, QWORD PTR -4304[rbp+rax*8]
	test	rax, rax
	jne	.L160
	mov	eax, DWORD PTR nbports[rip]
	test	eax, eax
	je	.L161
	mov	eax, DWORD PTR nbports[rip]
	cdqe
	lea	rcx, serial_port_cmp[rip]
	mov	edx, 32
	mov	rsi, rax
	lea	rdi, serial_ports[rip]
	call	qsort@PLT
.L161:
	mov	eax, DWORD PTR nbports[rip]
	mov	rbx, QWORD PTR -24[rbp]
	sub	rbx, QWORD PTR fs:40
	je	.L163
	call	__stack_chk_fail@PLT
.L163:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE26:
	.size	scan_ports_generic, .-scan_ports_generic
	.section	.rodata
.LC11:
	.string	"/sys/class/tty"
.LC12:
	.string	"/sys/class/tty/%s/device/."
	.align 8
.LC13:
	.string	"/sys/class/tty/%s/device/resources"
	.align 8
.LC14:
	.string	"/sys/class/tty/%s/device/resource"
.LC15:
	.string	"/sys/class/tty/%s/device/bus"
	.align 8
.LC16:
	.string	"/sys/class/tty/%s/device/of_node"
	.align 8
.LC17:
	.string	"/sys/class/tty/%s/device/interface"
	.align 8
.LC18:
	.string	"/sys/class/tty/%s/device/bInterfaceClass"
	.align 8
.LC19:
	.string	"/sys/class/tty/%s/device/port_number"
.LC20:
	.string	"/sys/class/tty/%s/type"
	.align 8
.LC21:
	.string	"/sys/class/tty/%s/device/driver"
.LC22:
	.string	""
.LC23:
	.string	"/dev/%s"
	.align 8
.LC24:
	.string	"/sys/class/tty/%s/device/../interface"
	.align 8
.LC25:
	.string	"/sys/class/tty/%s/device/../../product"
	.align 8
.LC26:
	.string	"/sys/class/tty/%s/device/of_node/compatible"
	.text
	.globl	scan_ports
	.type	scan_ports, @function
scan_ports:
.LFB27:
	.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
	sub	rsp, 224
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	QWORD PTR -4272[rbp], 0
	mov	DWORD PTR -4308[rbp], 0
	mov	DWORD PTR nbports[rip], 0
	lea	rdi, .LC11[rip]
	call	opendir@PLT
	mov	QWORD PTR -4272[rbp], rax
	cmp	QWORD PTR -4272[rbp], 0
	jne	.L169
	mov	eax, 0
	call	scan_ports_generic
	jmp	.L191
.L188:
	mov	rax, QWORD PTR -4272[rbp]
	mov	rdi, rax
	call	readdir@PLT
	mov	QWORD PTR -4264[rbp], rax
	cmp	QWORD PTR -4264[rbp], 0
	je	.L193
	mov	rax, QWORD PTR -4264[rbp]
	lea	rdx, 19[rax]
	mov	rax, QWORD PTR always_ignore[rip]
	mov	rsi, rdx
	mov	rdi, rax
	call	in_list
	test	eax, eax
	je	.L172
	jmp	.L169
.L172:
	mov	rax, QWORD PTR -4264[rbp]
	lea	rdx, 19[rax]
	mov	rax, QWORD PTR exclude_list[rip]
	mov	rsi, rdx
	mov	rdi, rax
	call	in_list
	test	eax, eax
	je	.L173
	jmp	.L169
.L173:
	mov	rax, QWORD PTR restrict_list[rip]
	test	rax, rax
	je	.L174
	mov	rax, QWORD PTR -4264[rbp]
	lea	rdx, 19[rax]
	mov	rax, QWORD PTR restrict_list[rip]
	mov	rsi, rdx
	mov	rdi, rax
	call	in_list
	test	eax, eax
	jne	.L174
	jmp	.L169
.L174:
	mov	QWORD PTR -4280[rbp], 0
	mov	rax, QWORD PTR -4280[rbp]
	mov	QWORD PTR -4288[rbp], rax
	mov	rax, QWORD PTR -4288[rbp]
	mov	QWORD PTR -4296[rbp], rax
	mov	rax, QWORD PTR -4296[rbp]
	mov	QWORD PTR -4304[rbp], rax
	mov	rax, QWORD PTR -4264[rbp]
	lea	rdx, 19[rax]
	lea	rax, -4112[rbp]
	mov	rcx, rdx
	lea	rdx, .LC12[rip]
	mov	esi, 4096
	mov	rdi, rax
	mov	eax, 0
	call	snprintf@PLT
	lea	rdx, -4256[rbp]
	lea	rax, -4112[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	stat@PLT
	test	eax, eax
	jne	.L194
	mov	rax, QWORD PTR -4264[rbp]
	add	rax, 19
	mov	rsi, rax
	lea	rdi, .LC13[rip]
	mov	eax, 0
	call	file_exists
	test	eax, eax
	jne	.L176
	mov	rax, QWORD PTR -4264[rbp]
	add	rax, 19
	mov	rsi, rax
	lea	rdi, .LC14[rip]
	mov	eax, 0
	call	file_exists
	test	eax, eax
	jne	.L176
	mov	rax, QWORD PTR -4264[rbp]
	add	rax, 19
	mov	rsi, rax
	lea	rdi, .LC15[rip]
	mov	eax, 0
	call	file_exists
	test	eax, eax
	jne	.L176
	mov	rax, QWORD PTR -4264[rbp]
	add	rax, 19
	mov	rsi, rax
	lea	rdi, .LC16[rip]
	mov	eax, 0
	call	file_exists
	test	eax, eax
	jne	.L176
	mov	rax, QWORD PTR -4264[rbp]
	add	rax, 19
	mov	rsi, rax
	lea	rdi, .LC17[rip]
	mov	eax, 0
	call	file_exists
	test	eax, eax
	jne	.L176
	mov	rax, QWORD PTR -4264[rbp]
	add	rax, 19
	mov	rsi, rax
	lea	rdi, .LC18[rip]
	mov	eax, 0
	call	file_exists
	test	eax, eax
	jne	.L176
	mov	rax, QWORD PTR -4264[rbp]
	add	rax, 19
	mov	rsi, rax
	lea	rdi, .LC19[rip]
	mov	eax, 0
	call	file_exists
	test	eax, eax
	jne	.L176
	mov	rax, QWORD PTR -4264[rbp]
	add	rax, 19
	mov	rsi, rax
	lea	rdi, .LC20[rip]
	mov	eax, 0
	call	file_exists
	test	eax, eax
	jne	.L176
	mov	rax, QWORD PTR -4264[rbp]
	lea	rdx, 19[rax]
	mov	rax, QWORD PTR include_list[rip]
	mov	rsi, rdx
	mov	rdi, rax
	call	in_list
	test	eax, eax
	je	.L195
.L176:
	add	DWORD PTR -4308[rbp], 1
	mov	rax, QWORD PTR -4264[rbp]
	add	rax, 19
	mov	rsi, rax
	lea	rdi, .LC21[rip]
	mov	eax, 0
	call	read_link_from
	mov	QWORD PTR -4304[rbp], rax
	cmp	QWORD PTR -4304[rbp], 0
	je	.L177
	mov	rax, QWORD PTR -4304[rbp]
	mov	esi, 47
	mov	rdi, rax
	call	strrchr@PLT
	mov	QWORD PTR -4296[rbp], rax
	cmp	QWORD PTR -4296[rbp], 0
	je	.L178
	add	QWORD PTR -4296[rbp], 1
	jmp	.L179
.L178:
	mov	rax, QWORD PTR -4304[rbp]
	mov	QWORD PTR -4296[rbp], rax
.L179:
	mov	rax, QWORD PTR -4296[rbp]
	mov	rdi, rax
	call	strdup@PLT
	mov	QWORD PTR -4296[rbp], rax
	mov	rax, QWORD PTR -4304[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	QWORD PTR -4304[rbp], 0
	jmp	.L180
.L177:
	mov	rax, QWORD PTR -4264[rbp]
	lea	rdx, 19[rax]
	mov	rax, QWORD PTR include_list[rip]
	mov	rsi, rdx
	mov	rdi, rax
	call	in_list
	test	eax, eax
	jne	.L196
	lea	rdi, .LC22[rip]
	call	strdup@PLT
	mov	QWORD PTR -4296[rbp], rax
.L180:
	mov	rax, QWORD PTR -4296[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L182
	mov	rax, QWORD PTR exclude_drivers[rip]
	mov	rdx, QWORD PTR -4296[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	in_list
	test	eax, eax
	jne	.L197
.L182:
	mov	rax, QWORD PTR -4264[rbp]
	lea	rdx, 19[rax]
	lea	rax, -4112[rbp]
	mov	rcx, rdx
	lea	rdx, .LC23[rip]
	mov	esi, 4096
	mov	rdi, rax
	mov	eax, 0
	call	snprintf@PLT
	lea	rax, -4112[rbp]
	mov	rdi, rax
	call	file_isatty
	test	eax, eax
	je	.L198
	mov	rax, QWORD PTR -4264[rbp]
	add	rax, 19
	mov	rdi, rax
	call	strdup@PLT
	mov	QWORD PTR -4280[rbp], rax
	cmp	QWORD PTR -4280[rbp], 0
	je	.L199
	mov	rax, QWORD PTR -4264[rbp]
	add	rax, 19
	mov	rsi, rax
	lea	rdi, .LC24[rip]
	mov	eax, 0
	call	read_line_from
	mov	QWORD PTR -4288[rbp], rax
	cmp	QWORD PTR -4288[rbp], 0
	jne	.L185
	mov	rax, QWORD PTR -4264[rbp]
	add	rax, 19
	mov	rsi, rax
	lea	rdi, .LC17[rip]
	mov	eax, 0
	call	read_line_from
	mov	QWORD PTR -4288[rbp], rax
.L185:
	cmp	QWORD PTR -4288[rbp], 0
	jne	.L186
	mov	rax, QWORD PTR -4264[rbp]
	add	rax, 19
	mov	rsi, rax
	lea	rdi, .LC25[rip]
	mov	eax, 0
	call	read_line_from
	mov	QWORD PTR -4288[rbp], rax
.L186:
	cmp	QWORD PTR -4288[rbp], 0
	jne	.L187
	mov	rax, QWORD PTR -4264[rbp]
	add	rax, 19
	mov	rsi, rax
	lea	rdi, .LC26[rip]
	mov	eax, 0
	call	read_line_from
	mov	QWORD PTR -4288[rbp], rax
.L187:
	mov	eax, DWORD PTR nbports[rip]
	cdqe
	sal	rax, 5
	mov	rcx, rax
	lea	rdx, serial_ports[rip]
	mov	rax, QWORD PTR -4280[rbp]
	mov	QWORD PTR [rcx+rdx], rax
	mov	eax, DWORD PTR nbports[rip]
	cdqe
	sal	rax, 5
	mov	rcx, rax
	lea	rdx, serial_ports[rip+8]
	mov	rax, QWORD PTR -4296[rbp]
	mov	QWORD PTR [rcx+rdx], rax
	mov	eax, DWORD PTR nbports[rip]
	cdqe
	sal	rax, 5
	mov	rcx, rax
	lea	rdx, serial_ports[rip+16]
	mov	rax, QWORD PTR -4288[rbp]
	mov	QWORD PTR [rcx+rdx], rax
	mov	edx, DWORD PTR nbports[rip]
	mov	rax, QWORD PTR -4152[rbp]
	movsx	rdx, edx
	mov	rcx, rdx
	sal	rcx, 5
	lea	rdx, serial_ports[rip+24]
	mov	QWORD PTR [rcx+rdx], rax
	mov	eax, DWORD PTR nbports[rip]
	add	eax, 1
	mov	DWORD PTR nbports[rip], eax
	jmp	.L169
.L194:
	nop
	jmp	.L175
.L195:
	nop
	jmp	.L175
.L196:
	nop
	jmp	.L175
.L197:
	nop
	jmp	.L175
.L198:
	nop
	jmp	.L175
.L199:
	nop
.L175:
	mov	rax, QWORD PTR -4296[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -4304[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -4288[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -4280[rbp]
	mov	rdi, rax
	call	free@PLT
.L169:
	mov	eax, DWORD PTR nbports[rip]
	cmp	eax, 99
	jle	.L188
	jmp	.L171
.L193:
	nop
.L171:
	mov	rax, QWORD PTR -4272[rbp]
	mov	rdi, rax
	call	closedir@PLT
	mov	eax, DWORD PTR nbports[rip]
	test	eax, eax
	je	.L189
	mov	eax, DWORD PTR nbports[rip]
	cdqe
	lea	rcx, serial_port_cmp[rip]
	mov	edx, 32
	mov	rsi, rax
	lea	rdi, serial_ports[rip]
	call	qsort@PLT
	jmp	.L190
.L189:
	cmp	DWORD PTR -4308[rbp], 0
	jne	.L190
	mov	eax, 0
	call	scan_ports_generic
	jmp	.L191
.L190:
	mov	eax, DWORD PTR nbports[rip]
.L191:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L192
	call	__stack_chk_fail@PLT
.L192:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE27:
	.size	scan_ports, .-scan_ports
	.section	.rodata
	.align 8
.LC27:
	.string	" port |  age (sec) | device     | driver           | description          \n------+------------+------------+------------------+----------------------"
	.align 8
.LC28:
	.string	" %c%3d | %10u | %-10s | %-16s | %-16s \n"
	.text
	.globl	list_ports
	.type	list_ports, @function
list_ports:
.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, 32
	mov	DWORD PTR -20[rbp], edi
	lea	rdi, .LC27[rip]
	call	puts@PLT
	mov	edi, 0
	call	time@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	eax, 0
	cmp	DWORD PTR -20[rbp], 0
	cmovns	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR -12[rbp], eax
	jmp	.L201
.L210:
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	sal	rax, 5
	mov	rdx, rax
	lea	rax, serial_ports[rip+16]
	mov	rax, QWORD PTR [rdx+rax]
	test	rax, rax
	je	.L202
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	sal	rax, 5
	mov	rdx, rax
	lea	rax, serial_ports[rip+16]
	mov	rax, QWORD PTR [rdx+rax]
	jmp	.L203
.L202:
	lea	rax, .LC22[rip]
.L203:
	mov	edx, DWORD PTR -12[rbp]
	movsx	rdx, edx
	sal	rdx, 5
	mov	rcx, rdx
	lea	rdx, serial_ports[rip+8]
	mov	rdx, QWORD PTR [rcx+rdx]
	test	rdx, rdx
	je	.L204
	mov	edx, DWORD PTR -12[rbp]
	movsx	rdx, edx
	mov	rcx, rdx
	sal	rcx, 5
	lea	rdx, serial_ports[rip+8]
	mov	rdx, QWORD PTR [rcx+rdx]
	jmp	.L205
.L204:
	lea	rdx, .LC22[rip]
.L205:
	mov	ecx, DWORD PTR -12[rbp]
	movsx	rcx, ecx
	mov	rsi, rcx
	sal	rsi, 5
	lea	rcx, serial_ports[rip]
	mov	rdi, QWORD PTR [rsi+rcx]
	mov	rcx, QWORD PTR -8[rbp]
	mov	r8d, ecx
	mov	ecx, DWORD PTR -12[rbp]
	movsx	rcx, ecx
	mov	rsi, rcx
	sal	rsi, 5
	lea	rcx, serial_ports[rip+24]
	mov	rcx, QWORD PTR [rsi+rcx]
	mov	esi, ecx
	mov	ecx, r8d
	sub	ecx, esi
	cmp	DWORD PTR -20[rbp], 0
	jns	.L206
	mov	esi, DWORD PTR currport[rip]
	cmp	DWORD PTR -12[rbp], esi
	jne	.L206
	mov	r10d, 42
	jmp	.L207
.L206:
	mov	r10d, 32
.L207:
	mov	esi, DWORD PTR -12[rbp]
	sub	rsp, 8
	push	rax
	mov	r9, rdx
	mov	r8, rdi
	mov	edx, esi
	mov	esi, r10d
	lea	rdi, .LC28[rip]
	mov	eax, 0
	call	printf@PLT
	add	rsp, 16
	add	DWORD PTR -12[rbp], 1
.L201:
	cmp	DWORD PTR -20[rbp], 0
	js	.L208
	mov	eax, DWORD PTR -20[rbp]
	add	eax, 1
	jmp	.L209
.L208:
	mov	eax, DWORD PTR nbports[rip]
.L209:
	cmp	eax, DWORD PTR -12[rbp]
	jg	.L210
	mov	edi, 10
	call	putchar@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE28:
	.size	list_ports, .-list_ports
	.section	.rodata
.LC29:
	.string	"%s"
	.text
	.globl	open_port
	.type	open_port, @function
open_port:
.LFB29:
	.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
	sub	rsp, 48
	mov	QWORD PTR -4136[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -4136[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 47
	jne	.L212
	lea	rax, .LC29[rip]
	jmp	.L213
.L212:
	lea	rax, .LC23[rip]
.L213:
	mov	rdx, QWORD PTR -4136[rbp]
	lea	rdi, -4112[rbp]
	mov	rcx, rdx
	mov	rdx, rax
	mov	esi, 4096
	mov	eax, 0
	call	snprintf@PLT
	cmp	eax, 4096
	jbe	.L214
	call	__errno_location@PLT
	mov	DWORD PTR [rax], 36
	mov	eax, -1
	jmp	.L220
.L214:
	mov	DWORD PTR -4120[rbp], 3
	jmp	.L216
.L219:
	lea	rax, -4112[rbp]
	mov	esi, 2306
	mov	rdi, rax
	mov	eax, 0
	call	open@PLT
	mov	DWORD PTR -4116[rbp], eax
	cmp	DWORD PTR -4116[rbp], -1
	jne	.L222
	call	__errno_location@PLT
	mov	eax, DWORD PTR [rax]
	cmp	eax, 1
	jne	.L222
	mov	edi, 100000
	call	usleep@PLT
	sub	DWORD PTR -4120[rbp], 1
.L216:
	cmp	DWORD PTR -4120[rbp], 0
	jg	.L219
	jmp	.L218
.L222:
	nop
.L218:
	mov	eax, DWORD PTR -4116[rbp]
.L220:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L221
	call	__stack_chk_fail@PLT
.L221:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE29:
	.size	open_port, .-open_port
	.globl	b_peek
	.type	b_peek, @function
b_peek:
.LFB30:
	.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	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jne	.L224
	mov	eax, -1
	jmp	.L225
.L224:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	mov	rdx, QWORD PTR -8[rbp]
	cdqe
	movzx	eax, BYTE PTR 12[rdx+rax]
	movzx	eax, al
.L225:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE30:
	.size	b_peek, .-b_peek
	.globl	b_putchar
	.type	b_putchar, @function
b_putchar:
.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 -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	mov	DWORD PTR -16[rbp], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	eax, DWORD PTR -16[rbp]
	add	eax, edx
	cmp	eax, 2047
	jle	.L227
	mov	eax, 0
	jmp	.L228
.L227:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 4[rax]
	mov	edx, DWORD PTR -12[rbp]
	mov	ecx, edx
	mov	rdx, QWORD PTR -8[rbp]
	cdqe
	mov	BYTE PTR 12[rdx+rax], cl
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 4[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 4[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	eax, 2047
	jle	.L229
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 4[rax], 0
.L229:
	mov	eax, 1
.L228:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE31:
	.size	b_putchar, .-b_putchar
	.globl	b_puts
	.type	b_puts, @function
b_puts:
.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	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -36[rbp], edx
	mov	DWORD PTR -40[rbp], ecx
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	eax, DWORD PTR -40[rbp]
	add	edx, eax
	mov	eax, DWORD PTR -36[rbp]
	add	eax, edx
	cmp	eax, 2047
	jle	.L231
	mov	eax, 0
	jmp	.L232
.L231:
	mov	DWORD PTR -4[rbp], 0
	jmp	.L233
.L235:
	mov	eax, DWORD PTR -4[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 4[rax]
	mov	ecx, edx
	mov	rdx, QWORD PTR -24[rbp]
	cdqe
	mov	BYTE PTR 12[rdx+rax], cl
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 8[rax], edx
	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	eax, DWORD PTR 4[rax]
	cmp	eax, 2047
	jle	.L234
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 4[rax], 0
.L234:
	add	DWORD PTR -4[rbp], 1
.L233:
	mov	eax, DWORD PTR -4[rbp]
	cmp	eax, DWORD PTR -36[rbp]
	jl	.L235
	mov	eax, DWORD PTR -36[rbp]
.L232:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE32:
	.size	b_puts, .-b_puts
	.globl	b_skip
	.type	b_skip, @function
b_skip:
.LFB33:
	.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	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	sub	eax, DWORD PTR -12[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -12[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 2047
	jle	.L237
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], 0
.L237:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jne	.L239
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 4[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], edx
.L239:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE33:
	.size	b_skip, .-b_skip
	.type	tv_set, @function
tv_set:
.LFB34:
	.cfi_startproc
	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	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE34:
	.size	tv_set, .-tv_set
	.type	tv_unset, @function
tv_unset:
.LFB35:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	rsi, -1
	mov	edi, 0
	call	tv_set
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE35:
	.size	tv_unset, .-tv_unset
	.type	tv_zero, @function
tv_zero:
.LFB36:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	esi, 0
	mov	edi, 0
	call	tv_set
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE36:
	.size	tv_zero, .-tv_zero
	.type	tv_isset, @function
tv_isset:
.LFB37:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	rax, rdi
	mov	rcx, rsi
	mov	rdx, rcx
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	mov	rax, QWORD PTR -8[rbp]
	cmp	rax, -1
	setne	al
	movzx	eax, al
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE37:
	.size	tv_isset, .-tv_isset
	.type	tv_isbefore, @function
tv_isbefore:
.LFB38:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	rax, rsi
	mov	r8, rdi
	mov	rsi, r8
	mov	rdi, r9
	mov	rdi, rax
	mov	QWORD PTR -16[rbp], rsi
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -32[rbp], rdx
	mov	QWORD PTR -24[rbp], rcx
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rdx
	mov	rsi, rax
	call	tv_isset
	test	eax, eax
	je	.L249
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rdx
	mov	rsi, rax
	call	tv_isset
	test	eax, eax
	je	.L250
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -32[rbp]
	cmp	rdx, rax
	jl	.L249
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -32[rbp]
	cmp	rdx, rax
	jne	.L250
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	cmp	rdx, rax
	jge	.L250
.L249:
	mov	eax, 1
	jmp	.L252
.L250:
	mov	eax, 0
.L252:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE38:
	.size	tv_isbefore, .-tv_isbefore
	.type	tv_min, @function
tv_min:
.LFB39:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	rax, rsi
	mov	r8, rdi
	mov	rsi, r8
	mov	rdi, r9
	mov	rdi, rax
	mov	QWORD PTR -16[rbp], rsi
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -32[rbp], rdx
	mov	QWORD PTR -24[rbp], rcx
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	rdi, QWORD PTR -16[rbp]
	mov	rsi, QWORD PTR -8[rbp]
	mov	rcx, rdx
	mov	rdx, rax
	call	tv_isbefore
	test	eax, eax
	je	.L254
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	jmp	.L255
.L254:
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR -24[rbp]
.L255:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE39:
	.size	tv_min, .-tv_min
	.type	tv_add, @function
tv_add:
.LFB40:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	rax, rsi
	mov	r8, rdi
	mov	rsi, r8
	mov	rdi, r9
	mov	rdi, rax
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -48[rbp], rdx
	mov	QWORD PTR -40[rbp], rcx
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -48[rbp]
	add	rax, rdx
	mov	QWORD PTR -16[rbp], rax
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	cmp	rax, 999999
	jle	.L257
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, 1000000
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 1
	mov	QWORD PTR -16[rbp], rax
.L257:
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE40:
	.size	tv_add, .-tv_add
	.type	tv_diff, @function
tv_diff:
.LFB41:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	rax, rsi
	mov	r8, rdi
	mov	rsi, r8
	mov	rdi, r9
	mov	rdi, rax
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -48[rbp], rdx
	mov	QWORD PTR -40[rbp], rcx
	mov	QWORD PTR -16[rbp], 0
	mov	QWORD PTR -8[rbp], 0
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	rdi, QWORD PTR -32[rbp]
	mov	rsi, QWORD PTR -24[rbp]
	mov	rcx, rdx
	mov	rdx, rax
	call	tv_isbefore
	test	eax, eax
	je	.L260
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	sub	rax, rdx
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	sub	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	test	eax, eax
	jns	.L260
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 1000000
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	sub	rax, 1
	mov	QWORD PTR -16[rbp], rax
.L260:
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE41:
	.size	tv_diff, .-tv_diff
	.section	.rodata
.LC30:
	.string	"[%6u.%06u] "
.LC31:
	.string	"[%Y%m%d-%H%M%S."
.LC32:
	.string	"%06u] "
	.text
	.globl	write_ts
	.type	write_ts, @function
write_ts:
.LFB42:
	.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	QWORD PTR -56[rbp], rcx
	mov	QWORD PTR -64[rbp], r8
	cmp	DWORD PTR -48[rbp], 2
	jne	.L263
	mov	rax, QWORD PTR -64[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR [rax]
	mov	rdi, QWORD PTR start_ts[rip]
	mov	rsi, QWORD PTR start_ts[rip+8]
	mov	rcx, rdx
	mov	rdx, rax
	call	tv_diff
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, eax
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, eax
	mov	eax, DWORD PTR -44[rbp]
	movsx	rsi, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	lea	rdx, .LC30[rip]
	mov	rdi, rax
	mov	eax, 0
	call	snprintf@PLT
	mov	DWORD PTR -20[rbp], eax
	jmp	.L264
.L263:
	cmp	DWORD PTR -48[rbp], 3
	jne	.L265
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rdx
	mov	rsi, rax
	call	tv_isset
	test	eax, eax
	jne	.L266
	mov	eax, 0
	call	tv_zero
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	jmp	.L267
.L266:
	mov	rax, QWORD PTR -64[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR [rax]
	mov	rcx, QWORD PTR -56[rbp]
	mov	rdi, QWORD PTR [rcx]
	mov	rsi, QWORD PTR 8[rcx]
	mov	rcx, rdx
	mov	rdx, rax
	call	tv_diff
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
.L267:
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, eax
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, eax
	mov	eax, DWORD PTR -44[rbp]
	movsx	rsi, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	lea	rdx, .LC30[rip]
	mov	rdi, rax
	mov	eax, 0
	call	snprintf@PLT
	mov	DWORD PTR -20[rbp], eax
	jmp	.L264
.L265:
	mov	rax, QWORD PTR -64[rbp]
	mov	rdi, rax
	call	localtime@PLT
	mov	rdx, rax
	mov	eax, DWORD PTR -44[rbp]
	movsx	rsi, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, rdx
	lea	rdx, .LC31[rip]
	mov	rdi, rax
	call	strftime@PLT
	mov	DWORD PTR -20[rbp], eax
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	ecx, eax
	mov	eax, DWORD PTR -44[rbp]
	sub	eax, DWORD PTR -20[rbp]
	cdqe
	mov	edx, DWORD PTR -20[rbp]
	movsx	rsi, edx
	mov	rdx, QWORD PTR -40[rbp]
	lea	rdi, [rsi+rdx]
	lea	rdx, .LC32[rip]
	mov	rsi, rax
	mov	eax, 0
	call	snprintf@PLT
	add	DWORD PTR -20[rbp], eax
.L264:
	mov	eax, DWORD PTR -20[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE42:
	.size	write_ts, .-write_ts
	.globl	write_to_capture
	.type	write_to_capture, @function
write_to_capture:
.LFB43:
	.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	DWORD PTR -84[rbp], edi
	mov	QWORD PTR -96[rbp], rsi
	mov	DWORD PTR -88[rbp], edx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -68[rbp], 0
	jmp	.L270
.L276:
	mov	eax, DWORD PTR ts_mode[rip]
	test	eax, eax
	je	.L271
	mov	eax, DWORD PTR cap_bol.4[rip]
	test	eax, eax
	je	.L271
	mov	esi, 0
	lea	rdi, line_ts.3[rip]
	call	gettimeofday@PLT
	mov	edx, DWORD PTR ts_mode[rip]
	lea	rax, -48[rbp]
	lea	r8, line_ts.3[rip]
	lea	rcx, prev_ts.2[rip]
	mov	esi, 30
	mov	rdi, rax
	call	write_ts
	mov	DWORD PTR -60[rbp], eax
	mov	eax, DWORD PTR -60[rbp]
	movsx	rdx, eax
	lea	rcx, -48[rbp]
	mov	eax, DWORD PTR -84[rbp]
	mov	rsi, rcx
	mov	edi, eax
	call	write@PLT
	mov	DWORD PTR -60[rbp], eax
	mov	DWORD PTR cap_bol.4[rip], 0
.L271:
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	mov	rdx, QWORD PTR -96[rbp]
	lea	rsi, 12[rdx]
	mov	rdx, QWORD PTR -96[rbp]
	mov	edx, DWORD PTR 4[rdx]
	movsx	rcx, edx
	mov	edx, DWORD PTR -68[rbp]
	movsx	rdx, edx
	add	rdx, rcx
	lea	rcx, [rsi+rdx]
	mov	rdx, rax
	mov	esi, 10
	mov	rdi, rcx
	call	memchr@PLT
	mov	QWORD PTR -56[rbp], rax
	cmp	QWORD PTR -56[rbp], 0
	je	.L272
	mov	DWORD PTR cap_bol.4[rip], 1
	mov	rax, QWORD PTR -96[rbp]
	lea	rcx, 12[rax]
	mov	rax, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR 4[rax]
	movsx	rdx, eax
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	add	rax, rdx
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -56[rbp]
	sub	rax, rdx
	add	eax, 1
	mov	DWORD PTR -64[rbp], eax
	jmp	.L273
.L272:
	mov	eax, DWORD PTR -88[rbp]
	mov	DWORD PTR -64[rbp], eax
.L273:
	mov	eax, DWORD PTR -64[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, 12[rax]
	mov	rax, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR 4[rax]
	movsx	rcx, eax
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	add	rax, rcx
	lea	rcx, [rsi+rax]
	mov	eax, DWORD PTR -84[rbp]
	mov	rsi, rcx
	mov	edi, eax
	call	write@PLT
	mov	DWORD PTR -60[rbp], eax
	cmp	DWORD PTR -60[rbp], 0
	js	.L278
	mov	eax, DWORD PTR -60[rbp]
	add	DWORD PTR -68[rbp], eax
	mov	eax, DWORD PTR -60[rbp]
	sub	DWORD PTR -88[rbp], eax
	mov	rax, QWORD PTR line_ts.3[rip]
	mov	rdx, QWORD PTR line_ts.3[rip+8]
	mov	QWORD PTR prev_ts.2[rip], rax
	mov	QWORD PTR prev_ts.2[rip+8], rdx
.L270:
	cmp	DWORD PTR -88[rbp], 0
	jg	.L276
	jmp	.L275
.L278:
	nop
.L275:
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L277
	call	__stack_chk_fail@PLT
.L277:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE43:
	.size	write_to_capture, .-write_to_capture
	.globl	buf_to_fd
	.type	buf_to_fd, @function
buf_to_fd:
.LFB44:
	.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	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	js	.L284
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR [rax]
	mov	edx, 2048
	sub	edx, eax
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	edx, eax
	cmovle	eax, edx
	movsx	rdx, eax
	mov	rax, QWORD PTR -32[rbp]
	lea	rcx, 12[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR [rax]
	cdqe
	add	rcx, rax
	mov	eax, DWORD PTR -20[rbp]
	mov	rsi, rcx
	mov	edi, eax
	call	write@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jns	.L282
	call	__errno_location@PLT
	mov	eax, DWORD PTR [rax]
	cmp	eax, 11
	je	.L285
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR [rax], -1
	jmp	.L285
.L282:
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -32[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	b_skip
	jmp	.L279
.L284:
	nop
	jmp	.L279
.L285:
	nop
.L279:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE44:
	.size	buf_to_fd, .-buf_to_fd
	.globl	fd_to_buf
	.type	fd_to_buf, @function
fd_to_buf:
.LFB45:
	.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	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -24[rbp], edx
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 4[rax]
	test	eax, eax
	js	.L295
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	edx, eax
	jge	.L289
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	eax, 2048
	sub	eax, edx
	cdqe
	jmp	.L290
.L289:
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, DWORD PTR 4[rax]
	mov	eax, 2048
	sub	eax, edx
	cdqe
.L290:
	mov	rdx, QWORD PTR -32[rbp]
	lea	rcx, 12[rdx]
	mov	rdx, QWORD PTR -32[rbp]
	mov	edx, DWORD PTR 4[rdx]
	movsx	rdx, edx
	lea	rsi, [rcx+rdx]
	mov	ecx, DWORD PTR -20[rbp]
	mov	rdx, rax
	mov	edi, ecx
	call	read@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jg	.L291
	cmp	QWORD PTR -8[rbp], 0
	je	.L292
	call	__errno_location@PLT
	mov	eax, DWORD PTR [rax]
	cmp	eax, 11
	je	.L296
.L292:
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR 4[rax], -1
	jmp	.L296
.L291:
	cmp	DWORD PTR -24[rbp], 0
	js	.L294
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, eax
	mov	rcx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	edi, eax
	call	write_to_capture
.L294:
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	add	eax, edx
	mov	edx, eax
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 4[rax]
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	add	eax, edx
	mov	edx, eax
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR 4[rax], edx
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	eax, 2047
	jle	.L286
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR 4[rax], 0
	jmp	.L286
.L295:
	nop
	jmp	.L286
.L296:
	nop
.L286:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE45:
	.size	fd_to_buf, .-fd_to_buf
	.globl	fd_to_buf_slow
	.type	fd_to_buf_slow, @function
fd_to_buf_slow:
.LFB46:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 1088
	mov	DWORD PTR -1076[rbp], edi
	mov	QWORD PTR -1088[rbp], rsi
	mov	DWORD PTR -1080[rbp], edx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -1088[rbp]
	mov	eax, DWORD PTR 4[rax]
	test	eax, eax
	js	.L318
	mov	rax, QWORD PTR -1088[rbp]
	mov	edx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR -1088[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	edx, eax
	jge	.L300
	mov	rax, QWORD PTR -1088[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	eax, 2048
	sub	eax, edx
	jmp	.L301
.L300:
	mov	rax, QWORD PTR -1088[rbp]
	mov	edx, DWORD PTR 4[rax]
	mov	eax, 2048
	sub	eax, edx
.L301:
	mov	DWORD PTR -1052[rbp], eax
	cmp	DWORD PTR -1052[rbp], 1
	jle	.L319
	mov	eax, DWORD PTR -1052[rbp]
	mov	edx, eax
	shr	edx, 31
	add	eax, edx
	sar	eax
	mov	DWORD PTR -1052[rbp], eax
	mov	eax, DWORD PTR -1052[rbp]
	movsx	rdx, eax
	lea	rcx, -1040[rbp]
	mov	eax, DWORD PTR -1076[rbp]
	mov	rsi, rcx
	mov	edi, eax
	call	read@PLT
	mov	QWORD PTR -1048[rbp], rax
	cmp	QWORD PTR -1048[rbp], 0
	jg	.L303
	cmp	QWORD PTR -1048[rbp], 0
	je	.L304
	call	__errno_location@PLT
	mov	eax, DWORD PTR [rax]
	cmp	eax, 11
	je	.L320
.L304:
	mov	rax, QWORD PTR -1088[rbp]
	mov	DWORD PTR 4[rax], -1
	jmp	.L320
.L303:
	mov	DWORD PTR -1056[rbp], 0
	mov	rax, QWORD PTR -1088[rbp]
	mov	eax, DWORD PTR 4[rax]
	mov	DWORD PTR -1060[rbp], eax
	mov	DWORD PTR -1064[rbp], 0
	jmp	.L306
.L314:
	mov	eax, DWORD PTR -1064[rbp]
	cdqe
	movzx	eax, BYTE PTR -1040[rbp+rax]
	cmp	al, 10
	jne	.L307
	mov	eax, DWORD PTR crlf_mode[rip]
	cmp	eax, 1
	je	.L308
.L307:
	mov	eax, DWORD PTR -1064[rbp]
	cdqe
	movzx	eax, BYTE PTR -1040[rbp+rax]
	cmp	al, 13
	jne	.L309
	mov	eax, DWORD PTR crlf_mode[rip]
	cmp	eax, 2
	jne	.L309
.L308:
	mov	eax, DWORD PTR -1060[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -1060[rbp], edx
	mov	rdx, QWORD PTR -1088[rbp]
	cdqe
	mov	BYTE PTR 12[rdx+rax], 13
	cmp	DWORD PTR -1060[rbp], 2048
	jne	.L310
	mov	DWORD PTR -1060[rbp], 0
.L310:
	mov	eax, DWORD PTR -1060[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -1060[rbp], edx
	mov	rdx, QWORD PTR -1088[rbp]
	cdqe
	mov	BYTE PTR 12[rdx+rax], 10
	cmp	DWORD PTR -1060[rbp], 2048
	jne	.L311
	mov	DWORD PTR -1060[rbp], 0
.L311:
	add	DWORD PTR -1056[rbp], 2
	jmp	.L312
.L309:
	mov	eax, DWORD PTR -1060[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -1060[rbp], edx
	mov	edx, DWORD PTR -1064[rbp]
	movsx	rdx, edx
	movzx	ecx, BYTE PTR -1040[rbp+rdx]
	mov	rdx, QWORD PTR -1088[rbp]
	cdqe
	mov	BYTE PTR 12[rdx+rax], cl
	cmp	DWORD PTR -1060[rbp], 2048
	jne	.L313
	mov	DWORD PTR -1060[rbp], 0
.L313:
	add	DWORD PTR -1056[rbp], 1
.L312:
	add	DWORD PTR -1064[rbp], 1
.L306:
	mov	eax, DWORD PTR -1064[rbp]
	cdqe
	cmp	QWORD PTR -1048[rbp], rax
	jg	.L314
	cmp	DWORD PTR -1080[rbp], 0
	js	.L315
	mov	edx, DWORD PTR -1056[rbp]
	mov	rcx, QWORD PTR -1088[rbp]
	mov	eax, DWORD PTR -1080[rbp]
	mov	rsi, rcx
	mov	edi, eax
	call	write_to_capture
.L315:
	mov	rax, QWORD PTR -1088[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	eax, DWORD PTR -1056[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -1088[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -1088[rbp]
	mov	edx, DWORD PTR -1060[rbp]
	mov	DWORD PTR 4[rax], edx
	jmp	.L297
.L318:
	nop
	jmp	.L297
.L319:
	nop
	jmp	.L297
.L320:
	nop
.L297:
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L317
	call	__stack_chk_fail@PLT
.L317:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE46:
	.size	fd_to_buf_slow, .-fd_to_buf_slow
	.section	.rodata
.LC33:
	.string	"<0x%02X>"
	.text
	.globl	xfer_port_to_user
	.type	xfer_port_to_user, @function
xfer_port_to_user:
.LFB47:
	.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	QWORD PTR -88[rbp], rdi
	mov	QWORD PTR -96[rbp], rsi
	mov	DWORD PTR -100[rbp], edx
	mov	DWORD PTR -104[rbp], ecx
	mov	QWORD PTR -112[rbp], r8
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	jmp	.L322
.L346:
	mov	eax, DWORD PTR line_state[rip]
	mov	DWORD PTR -68[rbp], eax
	mov	rax, QWORD PTR -88[rbp]
	mov	rdi, rax
	call	b_peek
	mov	DWORD PTR -64[rbp], eax
	cmp	DWORD PTR -64[rbp], 10
	jne	.L323
	mov	eax, DWORD PTR line_state[rip]
	test	eax, eax
	je	.L324
	mov	eax, DWORD PTR line_state[rip]
	cmp	eax, 1
	je	.L324
.L323:
	cmp	DWORD PTR -64[rbp], 13
	jne	.L325
	mov	eax, DWORD PTR line_state[rip]
	cmp	eax, 3
	jne	.L325
.L324:
	mov	DWORD PTR -68[rbp], 0
	jmp	.L326
.L325:
	mov	eax, DWORD PTR line_state[rip]
	test	eax, eax
	jne	.L327
	cmp	DWORD PTR -64[rbp], 13
	jne	.L327
	mov	DWORD PTR -68[rbp], 1
	jmp	.L326
.L327:
	mov	eax, DWORD PTR line_state[rip]
	cmp	eax, 3
	je	.L328
	cmp	DWORD PTR -64[rbp], 10
	je	.L328
	cmp	DWORD PTR -64[rbp], 13
	je	.L328
	mov	DWORD PTR -68[rbp], 2
	jmp	.L326
.L328:
	mov	eax, DWORD PTR line_state[rip]
	cmp	eax, 2
	jne	.L326
	cmp	DWORD PTR -64[rbp], 10
	jne	.L329
	mov	DWORD PTR -68[rbp], 3
	jmp	.L326
.L329:
	cmp	DWORD PTR -64[rbp], 13
	jne	.L326
	mov	DWORD PTR -68[rbp], 1
.L326:
	mov	eax, DWORD PTR line_state[rip]
	cmp	eax, 1
	jne	.L330
	cmp	DWORD PTR -68[rbp], 2
	jne	.L330
	mov	eax, DWORD PTR ts_term[rip]
	test	eax, eax
	je	.L330
	mov	eax, DWORD PTR ts_mode[rip]
	test	eax, eax
	je	.L331
	mov	eax, DWORD PTR ts_mode[rip]
	jmp	.L332
.L331:
	mov	eax, 1
.L332:
	lea	rdi, -48[rbp]
	lea	r8, line_ts.0[rip]
	lea	rcx, prev_ts.1[rip]
	mov	edx, eax
	mov	esi, 30
	call	write_ts
	mov	DWORD PTR -60[rbp], eax
	mov	edx, DWORD PTR -60[rbp]
	lea	rsi, -48[rbp]
	mov	rax, QWORD PTR -96[rbp]
	mov	ecx, 0
	mov	rdi, rax
	call	b_puts
	mov	eax, DWORD PTR -68[rbp]
	mov	DWORD PTR line_state[rip], eax
.L330:
	mov	eax, DWORD PTR -64[rbp]
	cmp	eax, DWORD PTR -100[rbp]
	jl	.L333
	mov	eax, DWORD PTR -64[rbp]
	cmp	eax, DWORD PTR -104[rbp]
	jg	.L333
	cmp	QWORD PTR -112[rbp], 0
	je	.L334
	mov	rax, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jne	.L334
	cmp	DWORD PTR -64[rbp], 128
	jle	.L334
	cmp	DWORD PTR -64[rbp], 158
	jle	.L333
.L334:
	mov	ecx, DWORD PTR -64[rbp]
	mov	rax, QWORD PTR -96[rbp]
	mov	edx, 1024
	mov	esi, ecx
	mov	rdi, rax
	call	b_putchar
	test	eax, eax
	jne	.L337
	jmp	.L336
.L333:
	mov	edx, DWORD PTR -64[rbp]
	lea	rax, -55[rbp]
	mov	ecx, edx
	lea	rdx, .LC33[rip]
	mov	esi, 7
	mov	rdi, rax
	mov	eax, 0
	call	snprintf@PLT
	lea	rsi, -55[rbp]
	mov	rax, QWORD PTR -96[rbp]
	mov	ecx, 1024
	mov	edx, 6
	mov	rdi, rax
	call	b_puts
	test	eax, eax
	je	.L349
.L337:
	cmp	DWORD PTR -68[rbp], 0
	jne	.L339
	mov	rax, QWORD PTR line_ts.0[rip]
	mov	rdx, QWORD PTR line_ts.0[rip+8]
	mov	QWORD PTR prev_ts.1[rip], rax
	mov	QWORD PTR prev_ts.1[rip+8], rdx
	mov	esi, 0
	lea	rdi, line_ts.0[rip]
	call	gettimeofday@PLT
	mov	eax, DWORD PTR ts_term[rip]
	test	eax, eax
	je	.L339
	mov	eax, DWORD PTR ts_mode[rip]
	test	eax, eax
	je	.L340
	mov	eax, DWORD PTR ts_mode[rip]
	jmp	.L341
.L340:
	mov	eax, 1
.L341:
	lea	rdi, -48[rbp]
	lea	r8, line_ts.0[rip]
	lea	rcx, prev_ts.1[rip]
	mov	edx, eax
	mov	esi, 30
	call	write_ts
	mov	DWORD PTR -60[rbp], eax
	mov	edx, DWORD PTR -60[rbp]
	lea	rsi, -48[rbp]
	mov	rax, QWORD PTR -96[rbp]
	mov	ecx, 0
	mov	rdi, rax
	call	b_puts
.L339:
	mov	eax, DWORD PTR -68[rbp]
	mov	DWORD PTR line_state[rip], eax
	cmp	QWORD PTR -112[rbp], 0
	je	.L342
	mov	rax, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	je	.L343
	cmp	DWORD PTR -64[rbp], 127
	jle	.L344
	cmp	DWORD PTR -64[rbp], 191
	jle	.L343
.L344:
	mov	rax, QWORD PTR -112[rbp]
	mov	DWORD PTR [rax], 0
.L343:
	mov	rax, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jne	.L342
	cmp	DWORD PTR -64[rbp], 191
	jle	.L342
	cmp	DWORD PTR -64[rbp], 247
	jg	.L342
	mov	rax, QWORD PTR -112[rbp]
	mov	DWORD PTR [rax], 1
.L342:
	mov	rax, QWORD PTR -88[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	b_skip
	cmp	DWORD PTR -64[rbp], 10
	jne	.L322
	mov	eax, 1
	jmp	.L347
.L322:
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	je	.L336
	mov	rax, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 2047
	jle	.L346
	jmp	.L336
.L349:
	nop
.L336:
	mov	eax, 0
.L347:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L348
	call	__stack_chk_fail@PLT
.L348:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE47:
	.size	xfer_port_to_user, .-xfer_port_to_user
	.globl	xfer_user_to_port
	.type	xfer_user_to_port, @function
xfer_user_to_port:
.LFB48:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 40
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -36[rbp], edx
	jmp	.L351
.L356:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	b_peek
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	cmp	eax, DWORD PTR -36[rbp]
	jne	.L352
	mov	eax, -1
	jmp	.L353
.L352:
	mov	ecx, DWORD PTR -4[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, 1024
	mov	esi, ecx
	mov	rdi, rax
	call	b_putchar
	test	eax, eax
	je	.L357
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	b_skip
.L351:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	je	.L355
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 2047
	jle	.L356
	jmp	.L355
.L357:
	nop
.L355:
	mov	eax, 0
.L353:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE48:
	.size	xfer_user_to_port, .-xfer_user_to_port
	.section	.rodata
.LC34:
	.string	"RI"
.LC35:
	.string	"ri"
.LC36:
	.string	"CD"
.LC37:
	.string	"cd"
.LC38:
	.string	"DSR"
.LC39:
	.string	"dsr"
.LC40:
	.string	"CTS"
.LC41:
	.string	"cts"
.LC42:
	.string	"RTS"
.LC43:
	.string	"rts"
.LC44:
	.string	"DTR"
.LC45:
	.string	"dtr"
	.align 8
.LC46:
	.string	"\r\nPort name: %s    Speed: %d bps    Pins: %s %s %s %s %s %s\r\n"
	.text
	.globl	show_port
	.type	show_port, @function
show_port:
.LFB49:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	r15
	push	r14
	push	r13
	push	r12
	push	rbx
	sub	rsp, 56
	.cfi_offset 15, -24
	.cfi_offset 14, -32
	.cfi_offset 13, -40
	.cfi_offset 12, -48
	.cfi_offset 3, -56
	mov	DWORD PTR -68[rbp], edi
	mov	QWORD PTR -80[rbp], rsi
	mov	QWORD PTR -88[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -56[rbp], rax
	xor	eax, eax
	lea	rdx, -60[rbp]
	mov	eax, DWORD PTR -68[rbp]
	mov	esi, 21525
	mov	edi, eax
	mov	eax, 0
	call	ioctl@PLT
	mov	eax, DWORD PTR -60[rbp]
	and	eax, 128
	test	eax, eax
	je	.L359
	lea	r15, .LC34[rip]
	jmp	.L360
.L359:
	lea	r15, .LC35[rip]
.L360:
	mov	eax, DWORD PTR -60[rbp]
	and	eax, 64
	test	eax, eax
	je	.L361
	lea	r14, .LC36[rip]
	jmp	.L362
.L361:
	lea	r14, .LC37[rip]
.L362:
	mov	eax, DWORD PTR -60[rbp]
	and	eax, 256
	test	eax, eax
	je	.L363
	lea	r13, .LC38[rip]
	jmp	.L364
.L363:
	lea	r13, .LC39[rip]
.L364:
	mov	eax, DWORD PTR -60[rbp]
	and	eax, 32
	test	eax, eax
	je	.L365
	lea	r12, .LC40[rip]
	jmp	.L366
.L365:
	lea	r12, .LC41[rip]
.L366:
	mov	eax, DWORD PTR -60[rbp]
	and	eax, 4
	test	eax, eax
	je	.L367
	lea	rbx, .LC42[rip]
	jmp	.L368
.L367:
	lea	rbx, .LC43[rip]
.L368:
	mov	eax, DWORD PTR -60[rbp]
	and	eax, 2
	test	eax, eax
	je	.L369
	lea	rax, .LC44[rip]
	mov	QWORD PTR -96[rbp], rax
	jmp	.L370
.L369:
	lea	rax, .LC45[rip]
	mov	QWORD PTR -96[rbp], rax
.L370:
	mov	eax, DWORD PTR -68[rbp]
	mov	edi, eax
	call	get_baud_rate
	mov	ecx, eax
	mov	rdx, QWORD PTR port[rip]
	mov	rsi, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR -80[rbp]
	sub	rsp, 8
	push	r15
	push	r14
	push	r13
	push	r12
	push	rbx
	mov	r9, QWORD PTR -96[rbp]
	mov	r8d, ecx
	mov	rcx, rdx
	lea	rdx, .LC46[rip]
	mov	rdi, rax
	mov	eax, 0
	call	snprintf@PLT
	add	rsp, 48
	nop
	mov	rax, QWORD PTR -56[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L371
	call	__stack_chk_fail@PLT
.L371:
	lea	rsp, -40[rbp]
	pop	rbx
	pop	r12
	pop	r13
	pop	r14
	pop	r15
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE49:
	.size	show_port, .-show_port
	.section	.rodata
	.align 8
.LC47:
	.string	"Failed to retrieve stdio settings.\n"
	.align 8
.LC48:
	.string	"Failed to set stdio to raw mode.\n"
.LC49:
	.string	"\033[?5h"
.LC50:
	.string	"\033[?5l"
.LC51:
	.string	"Sent break\r\n"
.LC52:
	.string	"Enabling capture\r\n"
.LC53:
	.string	"Disabling capture\r\n"
	.align 8
.LC54:
	.string	"Enabling terminal timestamps\r\n"
	.align 8
.LC55:
	.string	"Disabling terminal timestamps\r\n"
	.align 8
.LC56:
	.string	"Failed to restore stdio settings. Try 'stty sane'\n"
	.text
	.globl	forward
	.type	forward, @function
forward:
.LFB50:
	.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
	sub	rsp, 4096
	or	QWORD PTR [rsp], 0
	sub	rsp, 2560
	mov	DWORD PTR -10740[rbp], edi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -10724[rbp], 0
	lea	rdx, -10320[rbp]
	mov	eax, 0
	mov	ecx, 257
	mov	rdi, rdx
	rep stosq
	mov	rdx, rdi
	mov	DWORD PTR [rdx], eax
	add	rdx, 4
	lea	rdx, -8256[rbp]
	mov	eax, 0
	mov	ecx, 257
	mov	rdi, rdx
	rep stosq
	mov	rdx, rdi
	mov	DWORD PTR [rdx], eax
	add	rdx, 4
	lea	rdx, -6192[rbp]
	mov	eax, 0
	mov	ecx, 257
	mov	rdi, rdx
	rep stosq
	mov	rdx, rdi
	mov	DWORD PTR [rdx], eax
	add	rdx, 4
	lea	rdx, -4128[rbp]
	mov	eax, 0
	mov	ecx, 257
	mov	rdi, rdx
	rep stosq
	mov	rdx, rdi
	mov	DWORD PTR [rdx], eax
	add	rdx, 4
	mov	eax, 0
	call	tv_unset
	mov	QWORD PTR -10688[rbp], rax
	mov	QWORD PTR -10680[rbp], rdx
	mov	eax, 0
	call	tv_unset
	mov	QWORD PTR -10672[rbp], rax
	mov	QWORD PTR -10664[rbp], rdx
	mov	DWORD PTR -10720[rbp], 0
	mov	DWORD PTR -10732[rbp], 0
	mov	DWORD PTR -10716[rbp], 0
	mov	edi, 0
	call	isatty@PLT
	test	eax, eax
	je	.L373
	mov	edi, 1
	call	isatty@PLT
	test	eax, eax
	je	.L373
	lea	rax, -10448[rbp]
	mov	rsi, rax
	mov	edi, 0
	call	tcgetattr
	test	eax, eax
	je	.L374
	lea	rsi, .LC47[rip]
	mov	edi, 4
	mov	eax, 0
	call	die
.L374:
	mov	rax, QWORD PTR -10448[rbp]
	mov	rdx, QWORD PTR -10440[rbp]
	mov	QWORD PTR -10624[rbp], rax
	mov	QWORD PTR -10616[rbp], rdx
	mov	rax, QWORD PTR -10432[rbp]
	mov	rdx, QWORD PTR -10424[rbp]
	mov	QWORD PTR -10608[rbp], rax
	mov	QWORD PTR -10600[rbp], rdx
	mov	eax, DWORD PTR -10416[rbp]
	mov	DWORD PTR -10592[rbp], eax
	mov	eax, DWORD PTR -10448[rbp]
	and	eax, -1516
	mov	DWORD PTR -10448[rbp], eax
	mov	eax, DWORD PTR -10444[rbp]
	and	eax, -2
	mov	DWORD PTR -10444[rbp], eax
	mov	eax, DWORD PTR -10436[rbp]
	and	eax, -32844
	mov	DWORD PTR -10436[rbp], eax
	mov	eax, DWORD PTR -10440[rbp]
	and	eax, -305
	mov	DWORD PTR -10440[rbp], eax
	mov	eax, DWORD PTR -10440[rbp]
	or	eax, 48
	mov	DWORD PTR -10440[rbp], eax
	lea	rax, -10448[rbp]
	mov	rdx, rax
	mov	esi, 0
	mov	edi, 0
	call	tcsetattr
	test	eax, eax
	je	.L375
	lea	rsi, .LC48[rip]
	mov	edi, 4
	mov	eax, 0
	call	die
.L375:
	mov	DWORD PTR -10724[rbp], 1
.L373:
	mov	eax, 0
	mov	ecx, 16
	lea	rdx, -10576[rbp]
	mov	rdi, rdx
#APP
# 1808 "the_stack_data/145837.c" 1
	cld; rep; stosq
# 0 "" 2
#NO_APP
	mov	eax, edi
	mov	edx, ecx
	mov	DWORD PTR -10712[rbp], edx
	mov	DWORD PTR -10708[rbp], eax
	mov	eax, 0
	mov	ecx, 16
	lea	rdx, -10448[rbp]
	mov	rdi, rdx
#APP
# 1809 "the_stack_data/145837.c" 1
	cld; rep; stosq
# 0 "" 2
#NO_APP
	mov	eax, edi
	mov	edx, ecx
	mov	DWORD PTR -10704[rbp], edx
	mov	DWORD PTR -10700[rbp], eax
	jmp	.L376
.L429:
	mov	eax, DWORD PTR -6188[rbp]
	test	eax, eax
	js	.L377
	mov	eax, DWORD PTR -6184[rbp]
	cmp	eax, 2047
	jg	.L377
	mov	rax, QWORD PTR -10576[rbp]
	or	rax, 1
	mov	QWORD PTR -10576[rbp], rax
	jmp	.L378
.L377:
	mov	rax, QWORD PTR -10576[rbp]
	and	rax, -2
	mov	QWORD PTR -10576[rbp], rax
.L378:
	mov	eax, DWORD PTR -4128[rbp]
	test	eax, eax
	js	.L379
	mov	eax, DWORD PTR -4120[rbp]
	test	eax, eax
	jle	.L379
	mov	rax, QWORD PTR -10448[rbp]
	or	rax, 2
	mov	QWORD PTR -10448[rbp], rax
	jmp	.L380
.L379:
	mov	rax, QWORD PTR -10448[rbp]
	and	rax, -3
	mov	QWORD PTR -10448[rbp], rax
.L380:
	mov	eax, DWORD PTR -10316[rbp]
	test	eax, eax
	js	.L381
	mov	eax, DWORD PTR -10312[rbp]
	cmp	eax, 2047
	jg	.L381
	mov	eax, DWORD PTR -10740[rbp]
	lea	edx, 63[rax]
	test	eax, eax
	cmovs	eax, edx
	sar	eax, 6
	mov	esi, eax
	movsx	rax, esi
	mov	rdi, QWORD PTR -10576[rbp+rax*8]
	mov	eax, DWORD PTR -10740[rbp]
	cdq
	shr	edx, 26
	add	eax, edx
	and	eax, 63
	sub	eax, edx
	mov	edx, 1
	mov	ecx, eax
	sal	rdx, cl
	mov	rax, rdx
	or	rdi, rax
	mov	rdx, rdi
	movsx	rax, esi
	mov	QWORD PTR -10576[rbp+rax*8], rdx
	jmp	.L382
.L381:
	mov	eax, DWORD PTR -10740[rbp]
	lea	edx, 63[rax]
	test	eax, eax
	cmovs	eax, edx
	sar	eax, 6
	mov	esi, eax
	movsx	rax, esi
	mov	rdi, QWORD PTR -10576[rbp+rax*8]
	mov	eax, DWORD PTR -10740[rbp]
	cdq
	shr	edx, 26
	add	eax, edx
	and	eax, 63
	sub	eax, edx
	mov	edx, 1
	mov	ecx, eax
	sal	rdx, cl
	mov	rax, rdx
	not	rax
	and	rdi, rax
	mov	rdx, rdi
	movsx	rax, esi
	mov	QWORD PTR -10576[rbp+rax*8], rdx
.L382:
	mov	eax, DWORD PTR -8256[rbp]
	test	eax, eax
	js	.L383
	mov	eax, DWORD PTR -8248[rbp]
	test	eax, eax
	jle	.L383
	mov	eax, DWORD PTR -10740[rbp]
	lea	edx, 63[rax]
	test	eax, eax
	cmovs	eax, edx
	sar	eax, 6
	mov	esi, eax
	movsx	rax, esi
	mov	rdi, QWORD PTR -10448[rbp+rax*8]
	mov	eax, DWORD PTR -10740[rbp]
	cdq
	shr	edx, 26
	add	eax, edx
	and	eax, 63
	sub	eax, edx
	mov	edx, 1
	mov	ecx, eax
	sal	rdx, cl
	mov	rax, rdx
	or	rdi, rax
	mov	rdx, rdi
	movsx	rax, esi
	mov	QWORD PTR -10448[rbp+rax*8], rdx
	jmp	.L384
.L383:
	mov	eax, DWORD PTR -10740[rbp]
	lea	edx, 63[rax]
	test	eax, eax
	cmovs	eax, edx
	sar	eax, 6
	mov	esi, eax
	movsx	rax, esi
	mov	rdi, QWORD PTR -10448[rbp+rax*8]
	mov	eax, DWORD PTR -10740[rbp]
	cdq
	shr	edx, 26
	add	eax, edx
	and	eax, 63
	sub	eax, edx
	mov	edx, 1
	mov	ecx, eax
	sal	rdx, cl
	mov	rax, rdx
	not	rax
	and	rdi, rax
	mov	rdx, rdi
	movsx	rax, esi
	mov	QWORD PTR -10448[rbp+rax*8], rdx
.L384:
	lea	rax, -10656[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	gettimeofday@PLT
	mov	eax, 0
	call	tv_unset
	mov	QWORD PTR -10640[rbp], rax
	mov	QWORD PTR -10632[rbp], rdx
	cmp	DWORD PTR -10716[rbp], 0
	je	.L385
	mov	rax, QWORD PTR -10688[rbp]
	mov	rdx, QWORD PTR -10680[rbp]
	mov	rdi, QWORD PTR -10656[rbp]
	mov	rsi, QWORD PTR -10648[rbp]
	mov	rcx, rdx
	mov	rdx, rax
	call	tv_diff
	mov	rdi, QWORD PTR -10640[rbp]
	mov	rsi, QWORD PTR -10632[rbp]
	mov	rcx, rdx
	mov	rdx, rax
	call	tv_min
	mov	QWORD PTR -10640[rbp], rax
	mov	QWORD PTR -10632[rbp], rdx
.L385:
	cmp	DWORD PTR -10720[rbp], 0
	je	.L386
	mov	rax, QWORD PTR -10672[rbp]
	mov	rdx, QWORD PTR -10664[rbp]
	mov	rdi, QWORD PTR -10656[rbp]
	mov	rsi, QWORD PTR -10648[rbp]
	mov	rcx, rdx
	mov	rdx, rax
	call	tv_diff
	mov	rdi, QWORD PTR -10640[rbp]
	mov	rsi, QWORD PTR -10632[rbp]
	mov	rcx, rdx
	mov	rdx, rax
	call	tv_min
	mov	QWORD PTR -10640[rbp], rax
	mov	QWORD PTR -10632[rbp], rdx
.L386:
	mov	rdx, QWORD PTR -10640[rbp]
	mov	rax, QWORD PTR -10632[rbp]
	mov	rdi, rdx
	mov	rsi, rax
	call	tv_isset
	test	eax, eax
	je	.L387
	lea	rcx, -10640[rbp]
	jmp	.L388
.L387:
	mov	ecx, 0
.L388:
	lea	rdx, -10448[rbp]
	lea	rax, -10576[rbp]
	mov	r8, rcx
	mov	ecx, 0
	mov	rsi, rax
	mov	edi, 1024
	call	select@PLT
	mov	DWORD PTR -10696[rbp], eax
	lea	rax, -10656[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	gettimeofday@PLT
	cmp	DWORD PTR -10716[rbp], 0
	je	.L389
	mov	rax, QWORD PTR -10688[rbp]
	mov	rdx, QWORD PTR -10680[rbp]
	mov	rdi, QWORD PTR -10656[rbp]
	mov	rsi, QWORD PTR -10648[rbp]
	mov	rcx, rdx
	mov	rdx, rax
	call	tv_isbefore
	test	eax, eax
	jne	.L389
	mov	DWORD PTR -10716[rbp], 0
	cmp	DWORD PTR -10724[rbp], 0
	je	.L389
	lea	rax, -4128[rbp]
	mov	ecx, 0
	mov	edx, 5
	lea	rsi, .LC49[rip]
	mov	rdi, rax
	call	b_puts
	mov	DWORD PTR -10720[rbp], 1
	mov	esi, 100000
	mov	edi, 0
	call	tv_set
	mov	rdi, QWORD PTR -10656[rbp]
	mov	rsi, QWORD PTR -10648[rbp]
	mov	rcx, rdx
	mov	rdx, rax
	call	tv_add
	mov	QWORD PTR -10672[rbp], rax
	mov	QWORD PTR -10664[rbp], rdx
.L389:
	cmp	DWORD PTR -10720[rbp], 0
	je	.L390
	mov	rax, QWORD PTR -10672[rbp]
	mov	rdx, QWORD PTR -10664[rbp]
	mov	rdi, QWORD PTR -10656[rbp]
	mov	rsi, QWORD PTR -10648[rbp]
	mov	rcx, rdx
	mov	rdx, rax
	call	tv_isbefore
	test	eax, eax
	jne	.L390
	lea	rax, -4128[rbp]
	mov	ecx, 0
	mov	edx, 5
	lea	rsi, .LC50[rip]
	mov	rdi, rax
	call	b_puts
	mov	DWORD PTR -10720[rbp], 0
.L390:
	cmp	DWORD PTR -10696[rbp], 0
	jg	.L391
	jmp	.L376
.L391:
	mov	eax, 0
	call	set_capture_name
	mov	rax, QWORD PTR -10448[rbp]
	and	eax, 2
	test	rax, rax
	je	.L392
	lea	rax, -4128[rbp]
	mov	rsi, rax
	mov	edi, 1
	call	buf_to_fd
.L392:
	mov	eax, DWORD PTR -10740[rbp]
	lea	edx, 63[rax]
	test	eax, eax
	cmovs	eax, edx
	sar	eax, 6
	cdqe
	mov	rsi, QWORD PTR -10448[rbp+rax*8]
	mov	eax, DWORD PTR -10740[rbp]
	cdq
	shr	edx, 26
	add	eax, edx
	and	eax, 63
	sub	eax, edx
	mov	edx, 1
	mov	ecx, eax
	sal	rdx, cl
	mov	rax, rdx
	and	rax, rsi
	test	rax, rax
	je	.L393
	lea	rdx, -8256[rbp]
	mov	eax, DWORD PTR -10740[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	buf_to_fd
.L393:
	mov	rax, QWORD PTR -10576[rbp]
	and	eax, 1
	test	rax, rax
	je	.L394
	lea	rax, -6192[rbp]
	mov	edx, -1
	mov	rsi, rax
	mov	edi, 0
	call	fd_to_buf
.L394:
	mov	eax, DWORD PTR -10740[rbp]
	lea	edx, 63[rax]
	test	eax, eax
	cmovs	eax, edx
	sar	eax, 6
	cdqe
	mov	rsi, QWORD PTR -10576[rbp+rax*8]
	mov	eax, DWORD PTR -10740[rbp]
	cdq
	shr	edx, 26
	add	eax, edx
	and	eax, 63
	sub	eax, edx
	mov	edx, 1
	mov	ecx, eax
	sal	rdx, cl
	mov	rax, rdx
	and	rax, rsi
	test	rax, rax
	je	.L395
	mov	edx, DWORD PTR cap_fd[rip]
	lea	rcx, -10320[rbp]
	mov	eax, DWORD PTR -10740[rbp]
	mov	rsi, rcx
	mov	edi, eax
	call	fd_to_buf_slow
.L395:
	cmp	DWORD PTR -10716[rbp], 0
	je	.L396
	lea	rax, -6192[rbp]
	mov	rdi, rax
	call	b_peek
	mov	DWORD PTR -10692[rbp], eax
	cmp	DWORD PTR -10692[rbp], 113
	je	.L424
	cmp	DWORD PTR -10692[rbp], 81
	je	.L424
	cmp	DWORD PTR -10692[rbp], 46
	je	.L424
	cmp	DWORD PTR -10692[rbp], 104
	je	.L398
	cmp	DWORD PTR -10692[rbp], 72
	je	.L398
	cmp	DWORD PTR -10692[rbp], 63
	jne	.L399
.L398:
	lea	rax, -4128[rbp]
	mov	ecx, 0
	mov	edx, 451
	lea	rsi, menu_str[rip]
	mov	rdi, rax
	call	b_puts
	test	eax, eax
	je	.L396
	mov	DWORD PTR -10716[rbp], 0
	lea	rax, -6192[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	b_skip
	jmp	.L396
.L399:
	cmp	DWORD PTR -10692[rbp], 100
	je	.L402
	cmp	DWORD PTR -10692[rbp], 68
	je	.L402
	cmp	DWORD PTR -10692[rbp], 102
	je	.L402
	cmp	DWORD PTR -10692[rbp], 70
	je	.L402
	cmp	DWORD PTR -10692[rbp], 114
	je	.L402
	cmp	DWORD PTR -10692[rbp], 82
	jne	.L403
.L402:
	lea	rdx, -10728[rbp]
	mov	eax, DWORD PTR -10740[rbp]
	mov	esi, 21525
	mov	edi, eax
	mov	eax, 0
	call	ioctl@PLT
	cmp	DWORD PTR -10692[rbp], 100
	je	.L404
	cmp	DWORD PTR -10692[rbp], 68
	je	.L404
	cmp	DWORD PTR -10692[rbp], 102
	je	.L404
	cmp	DWORD PTR -10692[rbp], 70
	jne	.L405
.L404:
	mov	eax, DWORD PTR -10728[rbp]
	xor	eax, 2
	mov	DWORD PTR -10728[rbp], eax
.L405:
	cmp	DWORD PTR -10692[rbp], 114
	je	.L406
	cmp	DWORD PTR -10692[rbp], 82
	je	.L406
	cmp	DWORD PTR -10692[rbp], 102
	je	.L406
	cmp	DWORD PTR -10692[rbp], 70
	jne	.L407
.L406:
	mov	eax, DWORD PTR -10728[rbp]
	xor	eax, 4
	mov	DWORD PTR -10728[rbp], eax
.L407:
	lea	rdx, -10728[rbp]
	mov	eax, DWORD PTR -10740[rbp]
	mov	esi, 21528
	mov	edi, eax
	mov	eax, 0
	call	ioctl@PLT
	lea	rcx, -2064[rbp]
	mov	eax, DWORD PTR -10740[rbp]
	mov	edx, 2048
	mov	rsi, rcx
	mov	edi, eax
	call	show_port
	lea	rax, -2064[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	edx, eax
	lea	rsi, -2064[rbp]
	lea	rax, -4128[rbp]
	mov	ecx, 0
	mov	rdi, rax
	call	b_puts
	test	eax, eax
	je	.L435
	mov	DWORD PTR -10716[rbp], 0
	lea	rax, -6192[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	b_skip
	jmp	.L435
.L403:
	cmp	DWORD PTR -10692[rbp], 98
	je	.L409
	cmp	DWORD PTR -10692[rbp], 66
	jne	.L410
.L409:
	mov	eax, DWORD PTR -10740[rbp]
	mov	esi, 0
	mov	edi, eax
	call	tcsendbreak
	lea	rax, -4128[rbp]
	mov	ecx, 0
	mov	edx, 12
	lea	rsi, .LC51[rip]
	mov	rdi, rax
	call	b_puts
	test	eax, eax
	je	.L396
	mov	DWORD PTR -10716[rbp], 0
	lea	rax, -6192[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	b_skip
	jmp	.L396
.L410:
	cmp	DWORD PTR -10692[rbp], 99
	je	.L412
	cmp	DWORD PTR -10692[rbp], 67
	jne	.L413
.L412:
	mov	eax, DWORD PTR cap_mode[rip]
	test	eax, eax
	jne	.L414
	lea	rax, -4128[rbp]
	mov	ecx, 0
	mov	edx, 18
	lea	rsi, .LC52[rip]
	mov	rdi, rax
	call	b_puts
	test	eax, eax
	je	.L414
	mov	DWORD PTR cap_mode[rip], 1
	mov	DWORD PTR -10716[rbp], 0
	lea	rax, -6192[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	b_skip
	jmp	.L436
.L414:
	mov	eax, DWORD PTR cap_mode[rip]
	test	eax, eax
	je	.L436
	lea	rax, -4128[rbp]
	mov	ecx, 0
	mov	edx, 19
	lea	rsi, .LC53[rip]
	mov	rdi, rax
	call	b_puts
	test	eax, eax
	je	.L436
	mov	DWORD PTR cap_mode[rip], 0
	mov	DWORD PTR -10716[rbp], 0
	lea	rax, -6192[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	b_skip
	jmp	.L436
.L413:
	cmp	DWORD PTR -10692[rbp], 116
	je	.L416
	cmp	DWORD PTR -10692[rbp], 84
	jne	.L417
.L416:
	mov	eax, DWORD PTR ts_term[rip]
	test	eax, eax
	jne	.L418
	lea	rax, -4128[rbp]
	mov	ecx, 0
	mov	edx, 30
	lea	rsi, .LC54[rip]
	mov	rdi, rax
	call	b_puts
	test	eax, eax
	je	.L418
	mov	DWORD PTR ts_term[rip], 1
	mov	DWORD PTR -10716[rbp], 0
	lea	rax, -6192[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	b_skip
	jmp	.L437
.L418:
	mov	eax, DWORD PTR ts_term[rip]
	test	eax, eax
	je	.L437
	lea	rax, -4128[rbp]
	mov	ecx, 0
	mov	edx, 31
	lea	rsi, .LC55[rip]
	mov	rdi, rax
	call	b_puts
	test	eax, eax
	je	.L437
	mov	DWORD PTR ts_term[rip], 0
	mov	DWORD PTR -10716[rbp], 0
	lea	rax, -6192[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	b_skip
	jmp	.L437
.L417:
	cmp	DWORD PTR -10692[rbp], 112
	je	.L420
	cmp	DWORD PTR -10692[rbp], 80
	jne	.L421
.L420:
	lea	rcx, -2064[rbp]
	mov	eax, DWORD PTR -10740[rbp]
	mov	edx, 2048
	mov	rsi, rcx
	mov	edi, eax
	call	show_port
	lea	rax, -2064[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	edx, eax
	lea	rsi, -2064[rbp]
	lea	rax, -4128[rbp]
	mov	ecx, 0
	mov	rdi, rax
	call	b_puts
	test	eax, eax
	je	.L396
	mov	DWORD PTR -10716[rbp], 0
	lea	rax, -6192[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	b_skip
	jmp	.L396
.L421:
	movzx	eax, BYTE PTR escape[rip]
	movzx	eax, al
	cmp	DWORD PTR -10692[rbp], eax
	jne	.L423
	mov	ecx, DWORD PTR -10692[rbp]
	lea	rax, -8256[rbp]
	mov	edx, 0
	mov	esi, ecx
	mov	rdi, rax
	call	b_putchar
	test	eax, eax
	je	.L396
	mov	DWORD PTR -10716[rbp], 0
	lea	rax, -6192[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	b_skip
	jmp	.L396
.L423:
	cmp	DWORD PTR -10692[rbp], 0
	js	.L396
	movzx	eax, BYTE PTR escape[rip]
	movzx	ecx, al
	lea	rax, -8256[rbp]
	mov	edx, 0
	mov	esi, ecx
	mov	rdi, rax
	call	b_putchar
	test	eax, eax
	je	.L396
	mov	DWORD PTR -10716[rbp], 0
	jmp	.L396
.L435:
	nop
	jmp	.L396
.L436:
	nop
	jmp	.L396
.L437:
	nop
.L396:
	cmp	DWORD PTR -10716[rbp], 0
	jne	.L439
	movzx	eax, BYTE PTR escape[rip]
	movzx	edx, al
	lea	rcx, -8256[rbp]
	lea	rax, -6192[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	xfer_user_to_port
	test	eax, eax
	jns	.L439
	lea	rax, -6192[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	b_skip
	mov	esi, 0
	mov	edi, 2
	call	tv_set
	mov	rdi, QWORD PTR -10656[rbp]
	mov	rsi, QWORD PTR -10648[rbp]
	mov	rcx, rdx
	mov	rdx, rax
	call	tv_add
	mov	QWORD PTR -10688[rbp], rax
	mov	QWORD PTR -10680[rbp], rdx
	mov	DWORD PTR -10716[rbp], 1
.L439:
	nop
.L426:
	movzx	eax, BYTE PTR chr_max[rip]
	movzx	ecx, al
	movzx	eax, BYTE PTR chr_min[rip]
	movzx	edx, al
	lea	rdi, -10732[rbp]
	lea	rsi, -4128[rbp]
	lea	rax, -10320[rbp]
	mov	r8, rdi
	mov	rdi, rax
	call	xfer_port_to_user
	test	eax, eax
	jg	.L426
.L376:
	mov	edx, DWORD PTR -4120[rbp]
	mov	eax, DWORD PTR -10312[rbp]
	add	eax, edx
	test	eax, eax
	jne	.L427
	mov	eax, DWORD PTR -10316[rbp]
	test	eax, eax
	js	.L428
.L427:
	mov	eax, DWORD PTR -4128[rbp]
	test	eax, eax
	jns	.L429
.L428:
	mov	edx, DWORD PTR -8248[rbp]
	mov	eax, DWORD PTR -6184[rbp]
	add	eax, edx
	test	eax, eax
	jne	.L430
	mov	eax, DWORD PTR -6188[rbp]
	test	eax, eax
	js	.L424
.L430:
	mov	eax, DWORD PTR -8256[rbp]
	test	eax, eax
	js	.L424
	mov	eax, DWORD PTR -10316[rbp]
	test	eax, eax
	jns	.L429
.L424:
	cmp	DWORD PTR -10724[rbp], 0
	je	.L431
	cmp	DWORD PTR -10720[rbp], 0
	je	.L431
	mov	edx, 5
	lea	rsi, .LC50[rip]
	mov	edi, 1
	call	write@PLT
.L431:
	cmp	DWORD PTR -10724[rbp], 0
	je	.L438
	lea	rax, -10624[rbp]
	mov	rdx, rax
	mov	esi, 0
	mov	edi, 0
	call	tcsetattr
	test	eax, eax
	je	.L433
	lea	rsi, .LC56[rip]
	mov	edi, 4
	mov	eax, 0
	call	die
.L433:
	mov	edi, 10
	call	putchar@PLT
.L438:
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L434
	call	__stack_chk_fail@PLT
.L434:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE50:
	.size	forward, .-forward
	.section	.rodata
.LC57:
	.string	"scan.exclude-drivers"
.LC58:
	.string	"scan.exclude-ports"
.LC59:
	.string	"scan.include-ports"
.LC60:
	.string	"scan.restrict-ports"
.LC61:
	.string	"scan.wait-any"
.LC62:
	.string	"scan.wait-new"
.LC63:
	.string	"port.baud-rate"
.LC64:
	.string	"port.crlf"
.LC65:
	.string	"capture.mode"
.LC66:
	.string	"timestamp.mode"
.LC67:
	.string	"missing argument for -%c\n"
	.align 8
.LC68:
	.string	"failed to parse escape code for -%c\n"
	.align 8
.LC69:
	.string	"failed to parse argument for -%c\n"
	.align 8
.LC70:
	.string	"Unknown option '%c'. Use -h to get help\n"
	.align 8
.LC71:
	.string	"Too many arguments: '%s'. Use -h to get help\n"
.LC72:
	.string	"none"
.LC73:
	.string	"fixed"
.LC74:
	.string	"timed"
	.align 8
.LC75:
	.string	"Unknown capture mode <%s>. Use -h for help.\n"
.LC76:
	.string	"abs"
.LC77:
	.string	"init"
.LC78:
	.string	"line"
	.align 8
.LC79:
	.string	"Unknown timestamp mode <%s>. Use -h for help.\n"
.LC80:
	.string	"?"
.LC81:
	.string	"help"
	.align 8
.LC82:
	.string	"Failed to parse baud rate <%s>\n"
	.align 8
.LC83:
	.string	"Port %d (%s) available, using it.\n"
	.align 8
.LC84:
	.string	"Waiting for port %s to appear...\n"
.LC85:
	.string	"Trying port %s..."
	.align 8
.LC86:
	.string	"Waiting for one port to appear..."
.LC87:
	.string	"Port %s available, using it.\n"
	.align 8
.LC88:
	.string	"%d ports found, waiting for a new one...\n"
	.align 8
.LC89:
	.string	"No such port number %d. Use -l to list ports.\n"
	.align 8
.LC90:
	.string	"No port specified, using %s (last registered). Use -l to list ports.\n"
	.align 8
.LC91:
	.string	"No port found nor specified. Use -a to wait or -h for help.\n"
	.align 8
.LC92:
	.string	"Waiting for port %s to appear.\n"
.LC93:
	.string	"Failed to open port %s: %s\n"
.LC94:
	.string	" Failed! (%s)\n"
.LC95:
	.string	"Failed to open port: %s\n"
.LC96:
	.string	" Failed."
.LC97:
	.string	"Failed to configure port: %s\n"
	.align 8
.LC98:
	.string	"Hint: maybe the baud rate is not supported by the port."
	.align 8
.LC99:
	.string	"Hint: the port might be listed but not physically present."
.LC100:
	.string	" Connected to %s at %d bps.\n"
.LC101:
	.string	"Tab"
.LC102:
	.string	"Esc"
.LC103:
	.string	"Ctrl-%c"
.LC104:
	.string	"%c"
.LC105:
	.string	"0x%02X"
	.align 8
.LC106:
	.string	"Escape character is '%s'. Use escape followed by '?' for help.\n"
	.text
	.globl	main
	.type	main, @function
main:
.LFB51:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	add	rsp, -128
	mov	DWORD PTR -116[rbp], edi
	mov	QWORD PTR -128[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	QWORD PTR -32[rbp], 0
	mov	QWORD PTR -24[rbp], 0
	mov	DWORD PTR -96[rbp], 0
	mov	DWORD PTR -92[rbp], 0
	mov	DWORD PTR -88[rbp], 0
	mov	DWORD PTR -84[rbp], 0
	mov	DWORD PTR -80[rbp], 0
	mov	DWORD PTR -76[rbp], 0
	mov	DWORD PTR -72[rbp], 0
	mov	DWORD PTR -68[rbp], 0
	mov	DWORD PTR -64[rbp], 0
	mov	rax, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR [rax]
	mov	esi, 47
	mov	rdi, rax
	call	strrchr@PLT
	mov	QWORD PTR -40[rbp], rax
	cmp	QWORD PTR -40[rbp], 0
	jne	.L441
	mov	rax, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -40[rbp], rax
	jmp	.L442
.L441:
	add	QWORD PTR -40[rbp], 1
.L442:
	lea	rdi, .LC57[rip]
	call	get_conf
	mov	rsi, rax
	lea	rdi, exclude_drivers[rip]
	call	set_port_list
	lea	rdi, .LC58[rip]
	call	get_conf
	mov	rsi, rax
	lea	rdi, exclude_list[rip]
	call	set_port_list
	lea	rdi, .LC59[rip]
	call	get_conf
	mov	rsi, rax
	lea	rdi, include_list[rip]
	call	set_port_list
	lea	rdi, .LC60[rip]
	call	get_conf
	mov	rsi, rax
	lea	rdi, restrict_list[rip]
	call	set_port_list
	lea	rdi, .LC61[rip]
	call	get_conf
	test	rax, rax
	setne	al
	movzx	eax, al
	mov	DWORD PTR -88[rbp], eax
	cmp	DWORD PTR -88[rbp], 0
	jne	.L443
	lea	rdi, .LC62[rip]
	call	get_conf
	test	rax, rax
	je	.L443
	mov	eax, 1
	jmp	.L444
.L443:
	mov	eax, 0
.L444:
	mov	DWORD PTR -92[rbp], eax
	lea	rdi, .LC63[rip]
	call	get_conf
	mov	QWORD PTR baud_rate_str[rip], rax
	lea	rdi, .LC64[rip]
	call	get_conf
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	je	.L445
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	atoi@PLT
	mov	DWORD PTR crlf_mode[rip], eax
.L445:
	lea	rdi, .LC65[rip]
	call	get_conf
	mov	QWORD PTR cap_mode_str[rip], rax
	lea	rdi, .LC66[rip]
	call	get_conf
	mov	QWORD PTR ts_mode_str[rip], rax
	mov	DWORD PTR -100[rbp], 0
.L490:
	cmp	DWORD PTR -100[rbp], 0
	je	.L446
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L446
	cmp	QWORD PTR -24[rbp], 0
	jne	.L447
.L446:
	cmp	DWORD PTR -100[rbp], 0
	je	.L448
	cmp	QWORD PTR -24[rbp], 0
	jne	.L448
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L448
	add	DWORD PTR -100[rbp], 1
.L448:
	add	DWORD PTR -100[rbp], 1
	mov	eax, DWORD PTR -100[rbp]
	cmp	eax, DWORD PTR -116[rbp]
	jge	.L449
	mov	eax, DWORD PTR -100[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	jmp	.L450
.L449:
	mov	eax, 0
.L450:
	mov	QWORD PTR -32[rbp], rax
	cmp	QWORD PTR -32[rbp], 0
	je	.L565
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 45
	jne	.L452
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L452
	add	QWORD PTR -32[rbp], 1
.L447:
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -32[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	DWORD PTR -52[rbp], eax
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L453
	mov	eax, DWORD PTR -100[rbp]
	add	eax, 1
	cmp	DWORD PTR -116[rbp], eax
	jle	.L454
	mov	eax, DWORD PTR -100[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	jmp	.L456
.L454:
	mov	eax, 0
	jmp	.L456
.L453:
	mov	rax, QWORD PTR -32[rbp]
.L456:
	mov	QWORD PTR -24[rbp], rax
	cmp	DWORD PTR -52[rbp], 45
	jne	.L457
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L458
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rax
	mov	edi, 1
	call	usage
.L458:
	add	DWORD PTR -100[rbp], 1
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -32[rbp], rax
	jmp	.L452
.L457:
	mov	eax, DWORD PTR -52[rbp]
	sub	eax, 66
	cmp	eax, 50
	ja	.L459
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L461[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L461[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L461:
	.long	.L478-.L461
	.long	.L459-.L461
	.long	.L459-.L461
	.long	.L459-.L461
	.long	.L459-.L461
	.long	.L459-.L461
	.long	.L459-.L461
	.long	.L459-.L461
	.long	.L459-.L461
	.long	.L459-.L461
	.long	.L477-.L461
	.long	.L476-.L461
	.long	.L475-.L461
	.long	.L459-.L461
	.long	.L459-.L461
	.long	.L459-.L461
	.long	.L459-.L461
	.long	.L459-.L461
	.long	.L474-.L461
	.long	.L459-.L461
	.long	.L473-.L461
	.long	.L459-.L461
	.long	.L459-.L461
	.long	.L459-.L461
	.long	.L459-.L461
	.long	.L459-.L461
	.long	.L459-.L461
	.long	.L459-.L461
	.long	.L459-.L461
	.long	.L459-.L461
	.long	.L459-.L461
	.long	.L472-.L461
	.long	.L471-.L461
	.long	.L470-.L461
	.long	.L459-.L461
	.long	.L469-.L461
	.long	.L468-.L461
	.long	.L459-.L461
	.long	.L467-.L461
	.long	.L459-.L461
	.long	.L459-.L461
	.long	.L459-.L461
	.long	.L466-.L461
	.long	.L465-.L461
	.long	.L464-.L461
	.long	.L459-.L461
	.long	.L463-.L461
	.long	.L462-.L461
	.long	.L459-.L461
	.long	.L459-.L461
	.long	.L460-.L461
	.text
.L467:
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rax
	mov	edi, 0
	call	usage
	jmp	.L479
.L473:
	lea	rsi, version_str[rip]
	mov	edi, 0
	mov	eax, 0
	call	die
	jmp	.L479
.L478:
	mov	DWORD PTR -80[rbp], 1
	jmp	.L479
.L475:
	mov	DWORD PTR -76[rbp], 1
	jmp	.L479
.L466:
	mov	DWORD PTR -96[rbp], 1
	jmp	.L479
.L463:
	mov	DWORD PTR -84[rbp], 1
	jmp	.L479
.L462:
	mov	DWORD PTR quiet[rip], 1
	jmp	.L479
.L474:
	mov	DWORD PTR ts_term[rip], 1
	jmp	.L479
.L472:
	mov	DWORD PTR -88[rbp], 1
	mov	DWORD PTR -92[rbp], 0
	jmp	.L479
.L464:
	mov	DWORD PTR -92[rbp], 1
	mov	DWORD PTR -88[rbp], 0
	jmp	.L479
.L471:
	cmp	QWORD PTR -24[rbp], 0
	jne	.L480
	mov	eax, DWORD PTR -52[rbp]
	mov	edx, eax
	lea	rsi, .LC67[rip]
	mov	edi, 1
	mov	eax, 0
	call	die
.L480:
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR baud_rate_str[rip], rax
	mov	QWORD PTR -24[rbp], 0
	jmp	.L479
.L470:
	cmp	QWORD PTR -24[rbp], 0
	jne	.L481
	mov	eax, DWORD PTR -52[rbp]
	mov	edx, eax
	lea	rsi, .LC67[rip]
	mov	edi, 1
	mov	eax, 0
	call	die
.L481:
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR cap_mode_str[rip], rax
	mov	QWORD PTR -24[rbp], 0
	jmp	.L479
.L460:
	cmp	QWORD PTR -24[rbp], 0
	jne	.L482
	mov	eax, DWORD PTR -52[rbp]
	mov	edx, eax
	lea	rsi, .LC67[rip]
	mov	edi, 1
	mov	eax, 0
	call	die
.L482:
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR ts_mode_str[rip], rax
	mov	QWORD PTR -24[rbp], 0
	jmp	.L479
.L469:
	cmp	QWORD PTR -24[rbp], 0
	jne	.L483
	mov	eax, DWORD PTR -52[rbp]
	mov	edx, eax
	lea	rsi, .LC67[rip]
	mov	edi, 1
	mov	eax, 0
	call	die
.L483:
	mov	rax, QWORD PTR -24[rbp]
	lea	rsi, escape[rip]
	mov	rdi, rax
	call	parse_byte
	test	eax, eax
	jne	.L484
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L485
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L485
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR escape[rip], al
	jmp	.L484
.L485:
	mov	eax, DWORD PTR -52[rbp]
	mov	edx, eax
	lea	rsi, .LC68[rip]
	mov	edi, 1
	mov	eax, 0
	call	die
.L484:
	mov	QWORD PTR -24[rbp], 0
	jmp	.L479
.L468:
	cmp	QWORD PTR -24[rbp], 0
	jne	.L486
	mov	eax, DWORD PTR -52[rbp]
	mov	edx, eax
	lea	rsi, .LC67[rip]
	mov	edi, 1
	mov	eax, 0
	call	die
.L486:
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR capture_fmt[rip], rax
	mov	QWORD PTR -24[rbp], 0
	jmp	.L479
.L465:
	mov	rax, QWORD PTR -24[rbp]
	lea	rsi, chr_min[rip]
	mov	rdi, rax
	call	parse_byte
	test	eax, eax
	jne	.L487
	mov	eax, DWORD PTR -52[rbp]
	mov	edx, eax
	lea	rsi, .LC69[rip]
	mov	edi, 1
	mov	eax, 0
	call	die
.L487:
	mov	QWORD PTR -24[rbp], 0
	jmp	.L479
.L476:
	mov	rax, QWORD PTR -24[rbp]
	lea	rsi, chr_max[rip]
	mov	rdi, rax
	call	parse_byte
	test	eax, eax
	jne	.L488
	mov	eax, DWORD PTR -52[rbp]
	mov	edx, eax
	lea	rsi, .LC69[rip]
	mov	edi, 1
	mov	eax, 0
	call	die
.L488:
	mov	QWORD PTR -24[rbp], 0
	jmp	.L479
.L477:
	cmp	QWORD PTR -24[rbp], 0
	jne	.L489
	mov	eax, DWORD PTR -52[rbp]
	mov	edx, eax
	lea	rsi, .LC67[rip]
	mov	edi, 1
	mov	eax, 0
	call	die
.L489:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	atoi@PLT
	mov	DWORD PTR crlf_mode[rip], eax
	mov	QWORD PTR -24[rbp], 0
	jmp	.L479
.L459:
	mov	eax, DWORD PTR -52[rbp]
	mov	edx, eax
	lea	rsi, .LC70[rip]
	mov	edi, 1
	mov	eax, 0
	call	die
	nop
.L479:
	jmp	.L490
.L565:
	nop
.L452:
	mov	eax, DWORD PTR -100[rbp]
	add	eax, 1
	cmp	DWORD PTR -116[rbp], eax
	jle	.L491
	mov	eax, DWORD PTR -100[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, rax
	lea	rsi, .LC71[rip]
	mov	edi, 1
	mov	eax, 0
	call	die
.L491:
	cmp	QWORD PTR -32[rbp], 0
	je	.L492
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L492
	mov	rax, QWORD PTR -32[rbp]
	jmp	.L493
.L492:
	mov	eax, 0
.L493:
	mov	QWORD PTR port[rip], rax
	mov	rax, QWORD PTR cap_mode_str[rip]
	test	rax, rax
	je	.L494
	mov	rax, QWORD PTR cap_mode_str[rip]
	lea	rsi, .LC72[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L495
	mov	DWORD PTR cap_mode[rip], 0
	jmp	.L494
.L495:
	mov	rax, QWORD PTR cap_mode_str[rip]
	lea	rsi, .LC73[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L496
	mov	DWORD PTR cap_mode[rip], 1
	jmp	.L494
.L496:
	mov	rax, QWORD PTR cap_mode_str[rip]
	lea	rsi, .LC74[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L497
	mov	DWORD PTR cap_mode[rip], 2
	jmp	.L494
.L497:
	mov	rax, QWORD PTR cap_mode_str[rip]
	mov	rdx, rax
	lea	rsi, .LC75[rip]
	mov	edi, 1
	mov	eax, 0
	call	die
.L494:
	mov	rax, QWORD PTR ts_mode_str[rip]
	test	rax, rax
	je	.L498
	mov	rax, QWORD PTR ts_mode_str[rip]
	lea	rsi, .LC72[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L499
	mov	DWORD PTR ts_mode[rip], 0
	jmp	.L498
.L499:
	mov	rax, QWORD PTR ts_mode_str[rip]
	lea	rsi, .LC76[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L500
	mov	DWORD PTR ts_mode[rip], 1
	jmp	.L498
.L500:
	mov	rax, QWORD PTR ts_mode_str[rip]
	lea	rsi, .LC77[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L501
	mov	DWORD PTR ts_mode[rip], 2
	jmp	.L498
.L501:
	mov	rax, QWORD PTR ts_mode_str[rip]
	lea	rsi, .LC78[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L502
	mov	DWORD PTR ts_mode[rip], 3
	jmp	.L498
.L502:
	mov	rax, QWORD PTR ts_mode_str[rip]
	mov	rdx, rax
	lea	rsi, .LC79[rip]
	mov	edi, 1
	mov	eax, 0
	call	die
.L498:
	mov	rax, QWORD PTR baud_rate_str[rip]
	test	rax, rax
	je	.L503
	mov	rax, QWORD PTR baud_rate_str[rip]
	lea	rsi, .LC80[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	je	.L504
	mov	rax, QWORD PTR baud_rate_str[rip]
	lea	rsi, .LC81[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L505
.L504:
	mov	eax, 0
	call	list_baud_rates
	mov	edi, 0
	call	exit@PLT
.L505:
	mov	rax, QWORD PTR baud_rate_str[rip]
	lea	rsi, baud[rip]
	mov	rdi, rax
	call	parse_int
	test	eax, eax
	jne	.L503
	mov	rax, QWORD PTR baud_rate_str[rip]
	mov	rdx, rax
	lea	rsi, .LC82[rip]
	mov	edi, 1
	mov	eax, 0
	call	die
.L503:
	mov	rax, QWORD PTR port[rip]
	test	rax, rax
	je	.L506
	mov	rax, QWORD PTR port[rip]
	lea	rsi, currport[rip]
	mov	rdi, rax
	call	parse_int
	test	eax, eax
	jne	.L506
	mov	DWORD PTR currport[rip], -1
	mov	DWORD PTR -68[rbp], 1
	mov	DWORD PTR -72[rbp], 1
.L506:
	mov	eax, DWORD PTR currport[rip]
	test	eax, eax
	js	.L507
	mov	DWORD PTR -72[rbp], 1
.L507:
	cmp	DWORD PTR -68[rbp], 0
	je	.L508
	cmp	DWORD PTR -88[rbp], 0
	jne	.L508
	cmp	DWORD PTR -92[rbp], 0
	jne	.L508
	cmp	DWORD PTR -96[rbp], 0
	je	.L509
.L508:
	mov	eax, 0
	call	scan_ports
.L509:
	cmp	DWORD PTR -88[rbp], 0
	je	.L510
	cmp	DWORD PTR -96[rbp], 0
	jne	.L510
	mov	eax, DWORD PTR currport[rip]
	test	eax, eax
	js	.L511
	mov	edx, DWORD PTR currport[rip]
	mov	eax, DWORD PTR nbports[rip]
	cmp	edx, eax
	jge	.L511
	mov	eax, DWORD PTR currport[rip]
	cdqe
	sal	rax, 5
	mov	rdx, rax
	lea	rax, serial_ports[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	QWORD PTR port[rip], rax
	mov	eax, DWORD PTR quiet[rip]
	test	eax, eax
	jne	.L566
	mov	rdx, QWORD PTR port[rip]
	mov	eax, DWORD PTR currport[rip]
	mov	esi, eax
	lea	rdi, .LC83[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L566
.L511:
	cmp	DWORD PTR -68[rbp], 0
	je	.L514
	mov	rax, QWORD PTR port[rip]
	mov	rdi, rax
	call	open_port
	mov	DWORD PTR -60[rbp], eax
	cmp	DWORD PTR -60[rbp], 0
	jns	.L515
	mov	eax, DWORD PTR quiet[rip]
	test	eax, eax
	jne	.L517
	mov	rax, QWORD PTR port[rip]
	mov	rsi, rax
	lea	rdi, .LC84[rip]
	mov	eax, 0
	call	printf@PLT
.L517:
	mov	edi, 100000
	call	usleep@PLT
	mov	rax, QWORD PTR port[rip]
	mov	rdi, rax
	call	open_port
	mov	DWORD PTR -60[rbp], eax
	cmp	DWORD PTR -60[rbp], -1
	je	.L517
.L515:
	mov	eax, DWORD PTR quiet[rip]
	test	eax, eax
	jne	.L567
	mov	rax, QWORD PTR port[rip]
	mov	rsi, rax
	lea	rdi, .LC85[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L567
.L514:
	mov	eax, DWORD PTR nbports[rip]
	test	eax, eax
	jne	.L520
	mov	eax, DWORD PTR quiet[rip]
	test	eax, eax
	jne	.L522
	lea	rdi, .LC86[rip]
	call	puts@PLT
.L522:
	mov	edi, 100000
	call	usleep@PLT
	mov	eax, 0
	call	scan_ports
	mov	eax, DWORD PTR nbports[rip]
	test	eax, eax
	je	.L522
.L520:
	mov	eax, DWORD PTR nbports[rip]
	sub	eax, 1
	mov	DWORD PTR currport[rip], eax
	mov	eax, DWORD PTR currport[rip]
	cdqe
	sal	rax, 5
	mov	rdx, rax
	lea	rax, serial_ports[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	QWORD PTR port[rip], rax
	mov	eax, DWORD PTR quiet[rip]
	test	eax, eax
	jne	.L523
	mov	rax, QWORD PTR port[rip]
	mov	rsi, rax
	lea	rdi, .LC87[rip]
	mov	eax, 0
	call	printf@PLT
.L523:
	mov	eax, DWORD PTR quiet[rip]
	test	eax, eax
	jne	.L510
	cmp	DWORD PTR -96[rbp], 0
	jne	.L510
	cmp	DWORD PTR -84[rbp], 0
	jne	.L510
	mov	eax, DWORD PTR nbports[rip]
	sub	eax, 1
	mov	edi, eax
	call	list_ports
.L510:
	cmp	DWORD PTR -68[rbp], 0
	jne	.L524
	cmp	DWORD PTR -92[rbp], 0
	je	.L524
	cmp	DWORD PTR -96[rbp], 0
	jne	.L524
	mov	eax, DWORD PTR nbports[rip]
	mov	DWORD PTR -56[rbp], eax
	mov	eax, DWORD PTR quiet[rip]
	test	eax, eax
	jne	.L527
	mov	eax, DWORD PTR nbports[rip]
	mov	esi, eax
	lea	rdi, .LC88[rip]
	mov	eax, 0
	call	printf@PLT
.L527:
	mov	edi, 100000
	call	usleep@PLT
	mov	eax, 0
	call	scan_ports
	mov	eax, DWORD PTR nbports[rip]
	cmp	DWORD PTR -56[rbp], eax
	jle	.L526
	mov	eax, DWORD PTR nbports[rip]
	mov	DWORD PTR -56[rbp], eax
.L526:
	mov	eax, DWORD PTR nbports[rip]
	cmp	DWORD PTR -56[rbp], eax
	jge	.L527
	mov	edx, DWORD PTR nbports[rip]
	mov	eax, DWORD PTR currport[rip]
	cmp	edx, eax
	jle	.L527
	mov	eax, DWORD PTR quiet[rip]
	test	eax, eax
	jne	.L524
	cmp	DWORD PTR -96[rbp], 0
	jne	.L524
	cmp	DWORD PTR -84[rbp], 0
	jne	.L524
	mov	eax, DWORD PTR nbports[rip]
	sub	eax, 1
	mov	edi, eax
	call	list_ports
.L524:
	mov	eax, DWORD PTR currport[rip]
	test	eax, eax
	js	.L528
	mov	edx, DWORD PTR currport[rip]
	mov	eax, DWORD PTR nbports[rip]
	cmp	edx, eax
	jge	.L528
	mov	eax, DWORD PTR currport[rip]
	cdqe
	sal	rax, 5
	mov	rdx, rax
	lea	rax, serial_ports[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	QWORD PTR port[rip], rax
.L528:
	cmp	DWORD PTR -68[rbp], 0
	jne	.L568
	mov	edx, DWORD PTR currport[rip]
	mov	eax, DWORD PTR nbports[rip]
	cmp	edx, eax
	jl	.L529
	mov	eax, DWORD PTR currport[rip]
	mov	edx, eax
	lea	rsi, .LC89[rip]
	mov	edi, 1
	mov	eax, 0
	call	die
	jmp	.L513
.L529:
	mov	eax, DWORD PTR currport[rip]
	test	eax, eax
	jns	.L568
	mov	edx, DWORD PTR nbports[rip]
	mov	eax, DWORD PTR currport[rip]
	add	eax, edx
	mov	DWORD PTR currport[rip], eax
	mov	eax, DWORD PTR currport[rip]
	test	eax, eax
	jns	.L568
	mov	DWORD PTR currport[rip], -1
	jmp	.L513
.L566:
	nop
	jmp	.L513
.L568:
	nop
.L513:
	cmp	DWORD PTR -96[rbp], 0
	je	.L530
	mov	edi, -1
	call	list_ports
	mov	eax, 0
	jmp	.L531
.L530:
	mov	eax, DWORD PTR currport[rip]
	test	eax, eax
	js	.L532
	mov	rax, QWORD PTR port[rip]
	test	rax, rax
	jne	.L533
	cmp	DWORD PTR -84[rbp], 0
	jne	.L533
	mov	eax, DWORD PTR quiet[rip]
	test	eax, eax
	jne	.L533
	cmp	DWORD PTR -92[rbp], 0
	jne	.L533
	mov	eax, DWORD PTR currport[rip]
	cdqe
	sal	rax, 5
	mov	rdx, rax
	lea	rax, serial_ports[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	rsi, rax
	lea	rdi, .LC90[rip]
	mov	eax, 0
	call	printf@PLT
.L533:
	mov	eax, DWORD PTR currport[rip]
	cdqe
	sal	rax, 5
	mov	rdx, rax
	lea	rax, serial_ports[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	QWORD PTR port[rip], rax
.L532:
	cmp	DWORD PTR -84[rbp], 0
	je	.L534
	mov	rax, QWORD PTR port[rip]
	test	rax, rax
	je	.L535
	mov	rax, QWORD PTR port[rip]
	mov	rdi, rax
	call	puts@PLT
	mov	eax, 0
	jmp	.L531
.L535:
	mov	eax, 1
	jmp	.L531
.L534:
	mov	rax, QWORD PTR port[rip]
	test	rax, rax
	jne	.L548
	lea	rsi, .LC91[rip]
	mov	edi, 2
	mov	eax, 0
	call	die
.L548:
	mov	eax, DWORD PTR quiet[rip]
	test	eax, eax
	jne	.L537
	cmp	DWORD PTR -72[rbp], 0
	je	.L538
	cmp	DWORD PTR -92[rbp], 0
	jne	.L537
.L538:
	mov	rax, QWORD PTR port[rip]
	mov	rsi, rax
	lea	rdi, .LC85[rip]
	mov	eax, 0
	call	printf@PLT
.L537:
	mov	rax, QWORD PTR port[rip]
	mov	rdi, rax
	call	open_port
	mov	DWORD PTR -60[rbp], eax
	cmp	DWORD PTR -60[rbp], -1
	jne	.L539
	call	__errno_location@PLT
	mov	eax, DWORD PTR [rax]
	cmp	eax, 2
	jne	.L540
	cmp	DWORD PTR -72[rbp], 0
	je	.L540
	cmp	DWORD PTR -92[rbp], 0
	je	.L540
	cmp	DWORD PTR -64[rbp], 0
	jne	.L541
	mov	rax, QWORD PTR port[rip]
	mov	rsi, rax
	lea	rdi, .LC92[rip]
	mov	eax, 0
	call	printf@PLT
.L541:
	mov	edi, 200000
	call	usleep@PLT
	add	DWORD PTR -64[rbp], 1
	jmp	.L539
.L540:
	cmp	DWORD PTR -72[rbp], 0
	jne	.L542
	mov	eax, DWORD PTR currport[rip]
	test	eax, eax
	jle	.L542
	call	__errno_location@PLT
	mov	eax, DWORD PTR [rax]
	cmp	eax, 16
	je	.L543
	call	__errno_location@PLT
	mov	eax, DWORD PTR [rax]
	cmp	eax, 19
	je	.L543
	call	__errno_location@PLT
	mov	eax, DWORD PTR [rax]
	cmp	eax, 2
	je	.L543
	call	__errno_location@PLT
	mov	eax, DWORD PTR [rax]
	cmp	eax, 12
	jne	.L542
.L543:
	mov	eax, DWORD PTR quiet[rip]
	test	eax, eax
	jne	.L544
	cmp	DWORD PTR -72[rbp], 0
	je	.L545
	cmp	DWORD PTR -92[rbp], 0
	je	.L545
	call	__errno_location@PLT
	mov	eax, DWORD PTR [rax]
	mov	edi, eax
	call	strerror@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR port[rip]
	mov	rsi, rax
	lea	rdi, .LC93[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L544
.L545:
	call	__errno_location@PLT
	mov	eax, DWORD PTR [rax]
	mov	edi, eax
	call	strerror@PLT
	mov	rsi, rax
	lea	rdi, .LC94[rip]
	mov	eax, 0
	call	printf@PLT
.L544:
	mov	eax, DWORD PTR currport[rip]
	sub	eax, 1
	mov	DWORD PTR currport[rip], eax
	mov	eax, DWORD PTR currport[rip]
	cdqe
	sal	rax, 5
	mov	rdx, rax
	lea	rax, serial_ports[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	QWORD PTR port[rip], rax
	jmp	.L539
.L542:
	mov	eax, DWORD PTR quiet[rip]
	test	eax, eax
	jne	.L546
	cmp	DWORD PTR -72[rbp], 0
	je	.L547
	cmp	DWORD PTR -92[rbp], 0
	je	.L547
	call	__errno_location@PLT
	mov	eax, DWORD PTR [rax]
	mov	edi, eax
	call	strerror@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR port[rip]
	mov	rsi, rax
	lea	rdi, .LC93[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L546
.L547:
	call	__errno_location@PLT
	mov	eax, DWORD PTR [rax]
	mov	edi, eax
	call	strerror@PLT
	mov	rsi, rax
	lea	rdi, .LC94[rip]
	mov	eax, 0
	call	printf@PLT
.L546:
	call	__errno_location@PLT
	mov	eax, DWORD PTR [rax]
	mov	edi, eax
	call	strerror@PLT
	mov	rdx, rax
	lea	rsi, .LC95[rip]
	mov	edi, 2
	mov	eax, 0
	call	die
.L539:
	cmp	DWORD PTR -60[rbp], -1
	je	.L548
	mov	eax, DWORD PTR quiet[rip]
	test	eax, eax
	jne	.L569
	cmp	DWORD PTR -72[rbp], 0
	je	.L569
	cmp	DWORD PTR -92[rbp], 0
	je	.L569
	mov	rax, QWORD PTR port[rip]
	mov	rsi, rax
	lea	rdi, .LC85[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L519
.L567:
	nop
	jmp	.L519
.L569:
	nop
.L519:
	mov	edx, DWORD PTR baud[rip]
	mov	eax, DWORD PTR -60[rbp]
	mov	esi, edx
	mov	edi, eax
	call	set_port
	mov	DWORD PTR -48[rbp], eax
	cmp	DWORD PTR -48[rbp], -1
	jne	.L549
	call	__errno_location@PLT
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -44[rbp], eax
	mov	eax, DWORD PTR quiet[rip]
	test	eax, eax
	jne	.L550
	lea	rdi, .LC96[rip]
	call	puts@PLT
.L550:
	mov	eax, DWORD PTR -44[rbp]
	mov	edi, eax
	call	strerror@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR stderr[rip]
	lea	rsi, .LC97[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR quiet[rip]
	test	eax, eax
	jne	.L551
	cmp	DWORD PTR -44[rbp], 22
	jne	.L551
	lea	rdi, .LC98[rip]
	call	puts@PLT
	mov	eax, 0
	call	list_baud_rates
	jmp	.L552
.L551:
	mov	eax, DWORD PTR quiet[rip]
	test	eax, eax
	jne	.L552
	cmp	DWORD PTR -44[rbp], 5
	jne	.L552
	lea	rdi, .LC99[rip]
	call	puts@PLT
.L552:
	mov	edi, 3
	call	exit@PLT
.L549:
	mov	eax, DWORD PTR quiet[rip]
	test	eax, eax
	jne	.L553
	mov	eax, DWORD PTR -60[rbp]
	mov	edi, eax
	call	get_baud_rate
	mov	edx, eax
	mov	rax, QWORD PTR port[rip]
	mov	rsi, rax
	lea	rdi, .LC100[rip]
	mov	eax, 0
	call	printf@PLT
	movzx	eax, BYTE PTR escape[rip]
	cmp	al, 31
	ja	.L554
	movzx	eax, BYTE PTR escape[rip]
	movzx	eax, al
	cmp	eax, 9
	je	.L555
	cmp	eax, 27
	je	.L556
	jmp	.L564
.L555:
	lea	rax, -16[rbp]
	lea	rdx, .LC101[rip]
	mov	esi, 8
	mov	rdi, rax
	mov	eax, 0
	call	snprintf@PLT
	jmp	.L559
.L556:
	lea	rax, -16[rbp]
	lea	rdx, .LC102[rip]
	mov	esi, 8
	mov	rdi, rax
	mov	eax, 0
	call	snprintf@PLT
	jmp	.L559
.L564:
	movzx	eax, BYTE PTR escape[rip]
	movzx	eax, al
	lea	edx, 64[rax]
	lea	rax, -16[rbp]
	mov	ecx, edx
	lea	rdx, .LC103[rip]
	mov	esi, 8
	mov	rdi, rax
	mov	eax, 0
	call	snprintf@PLT
	jmp	.L559
.L554:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	movzx	eax, BYTE PTR escape[rip]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 16384
	test	eax, eax
	je	.L560
	movzx	eax, BYTE PTR escape[rip]
	movzx	edx, al
	lea	rax, -16[rbp]
	mov	ecx, edx
	lea	rdx, .LC104[rip]
	mov	esi, 8
	mov	rdi, rax
	mov	eax, 0
	call	snprintf@PLT
	jmp	.L559
.L560:
	movzx	eax, BYTE PTR escape[rip]
	movzx	edx, al
	lea	rax, -16[rbp]
	mov	ecx, edx
	lea	rdx, .LC105[rip]
	mov	esi, 8
	mov	rdi, rax
	mov	eax, 0
	call	snprintf@PLT
.L559:
	lea	rax, -16[rbp]
	mov	rsi, rax
	lea	rdi, .LC106[rip]
	mov	eax, 0
	call	printf@PLT
.L553:
	cmp	DWORD PTR -80[rbp], 0
	je	.L561
	mov	eax, DWORD PTR -60[rbp]
	mov	esi, 0
	mov	edi, eax
	call	tcsendbreak
.L561:
	cmp	DWORD PTR -76[rbp], 0
	je	.L562
	mov	eax, 0
	jmp	.L531
.L562:
	mov	esi, 0
	lea	rdi, start_ts[rip]
	call	gettimeofday@PLT
	mov	eax, DWORD PTR -60[rbp]
	mov	edi, eax
	call	forward
	mov	eax, 0
.L531:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L563
	call	__stack_chk_fail@PLT
.L563:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE51:
	.size	main, .-main
	.data
	.align 4
	.type	cap_bol.4, @object
	.size	cap_bol.4, 4
cap_bol.4:
	.long	1
	.local	line_ts.3
	.comm	line_ts.3,16,16
	.local	prev_ts.2
	.comm	prev_ts.2,16,16
	.local	prev_ts.1
	.comm	prev_ts.1,16,16
	.local	line_ts.0
	.comm	line_ts.0,16,16
	.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	"145837.c"
	.section	.rodata
	.align	2
.LC0:
	.ascii	"/dev\000"
	.align	2
.LC1:
	.ascii	"/dev/usb/tts\000"
	.align	2
.LC2:
	.ascii	"/dev/usb/acm\000"
	.text
	.global	version_str
	.section	.rodata
	.align	2
	.type	version_str, %object
	.size	version_str, 308
version_str:
	.ascii	"BootTerm 0.4.0 -- the terminal written for users by"
	.ascii	" its users\012Built with support for custom baud ra"
	.ascii	"tes (TCGETS2).\012Copyright (C) 2020-2021 Willy Tar"
	.ascii	"reau <w@1wt.eu>\012This is free software: you are e"
	.ascii	"ncouraged to improve and redistribute it.\012There "
	.ascii	"is no warranty of any kind, see the source for lice"
	.ascii	"nse details.\012\000"
	.global	usage_msg
	.align	2
	.type	usage_msg, %object
	.size	usage_msg, 1615
usage_msg:
	.ascii	"Usage: %s [options] [/dev/ttyXXX | port#]\012Option"
	.ascii	"s:\012  -h           display this help\012  -q     "
	.ascii	"      quiet mode: do not report events\012  -p     "
	.ascii	"      only print selected port name and quit\012  -"
	.ascii	"l           list detected serial ports and quit\012"
	.ascii	"  -a           wait for a port to be available (BT_"
	.ascii	"SCAN_WAIT_ANY)\012  -n           wait for a new por"
	.ascii	"t to be registered (BT_SCAN_WAIT_NEW)\012  -m <min>"
	.ascii	"     specify lowest printable character  (default: "
	.ascii	"0)\012  -M <max>     specify highest printable char"
	.ascii	"acter (default: 255)\012  -b <baud>    specify baud"
	.ascii	" rate (BT_PORT_BAUD_RATE; default:115200; 0=current"
	.ascii	")\012  -c {none|fixed|timed} enable capture to file"
	.ascii	" (BT_CAPTURE_MODE)\012  -t {none|abs|init|line} ena"
	.ascii	"ble timestamps in captures (BT_TIMESTAMP_MODE)\012 "
	.ascii	" -T           enable timestamps in terminal (see -t"
	.ascii	" for formats)\012  -e <escape>  escape character or"
	.ascii	" ASCII code  (default: 29 = Ctrl-])\012  -f <fmt>  "
	.ascii	"   capture file name (default: 'bootterm-%%Y%%m%%d-"
	.ascii	"%%H%%M%%S.log')\012  -V           show version and "
	.ascii	"license\012  -B           send a break sequence bef"
	.ascii	"ore starting the terminal\012  -N           do not "
	.ascii	"launch the terminal, just quit\012  -L <mode>    ne"
	.ascii	"w line mode: 0=CRLF, 1=LF only, 2=CR only (BT_PORT_"
	.ascii	"CRLF)\012\012Ports are sorted in reverse registrati"
	.ascii	"on order so that port 0 is the most\012recently add"
	.ascii	"ed one. A number may be set instead of the port. Wi"
	.ascii	"th no name nor\012number, last port is used. Use '?"
	.ascii	"' or 'help' in baud rate to list them all.\012Comma"
	.ascii	"-delimited lists of ports to exclude/include/restri"
	.ascii	"ct may be passed in\012BT_SCAN_EXCLUDE_PORTS, BT_SC"
	.ascii	"AN_INCLUDE_PORTS, and BT_SCAN_RESTRICT_PORTS.\012BT"
	.ascii	"_SCAN_EXCLUDE_DRIVERS ignores ports matching these "
	.ascii	"drivers.\012\000"
	.global	menu_str
	.align	2
	.type	menu_str, %object
	.size	menu_str, 452
menu_str:
	.ascii	"\015\012BootTerm supports several single-character "
	.ascii	"commands after the escape character:\015\012  H h ?"
	.ascii	"      display this help\015\012  Q q .      quit\015"
	.ascii	"\012  P p        show port status\015\012  D d     "
	.ascii	"   flip DTR pin\015\012  R r        flip RTS pin\015"
	.ascii	"\012  F f        flip both DTR and RTS pins\015\012"
	.ascii	"  B b        send break\015\012  C c        enable "
	.ascii	"/ disable capture\015\012  T t        enable / disa"
	.ascii	"ble timestamps on terminal\015\012Enter the escape "
	.ascii	"character again after this menu to use these comman"
	.ascii	"ds.\015\012\000"
	.global	baud_rates
	.align	2
	.type	baud_rates, %object
	.size	baud_rates, 248
baud_rates:
	.word	50
	.word	1
	.word	75
	.word	2
	.word	110
	.word	3
	.word	134
	.word	4
	.word	150
	.word	5
	.word	200
	.word	6
	.word	300
	.word	7
	.word	600
	.word	8
	.word	1200
	.word	9
	.word	1800
	.word	10
	.word	2400
	.word	11
	.word	4800
	.word	12
	.word	9600
	.word	13
	.word	19200
	.word	14
	.word	38400
	.word	15
	.word	57600
	.word	4097
	.word	115200
	.word	4098
	.word	230400
	.word	4099
	.word	460800
	.word	4100
	.word	500000
	.word	4101
	.word	576000
	.word	4102
	.word	921600
	.word	4103
	.word	1000000
	.word	4104
	.word	1152000
	.word	4105
	.word	1500000
	.word	4106
	.word	2000000
	.word	4107
	.word	2500000
	.word	4108
	.word	3000000
	.word	4109
	.word	3500000
	.word	4110
	.word	4000000
	.word	4111
	.word	0
	.word	-1
	.comm	serial_ports,1600,4
	.global	baud_rate_str
	.bss
	.align	2
	.type	baud_rate_str, %object
	.size	baud_rate_str, 4
baud_rate_str:
	.space	4
	.global	cap_mode_str
	.align	2
	.type	cap_mode_str, %object
	.size	cap_mode_str, 4
cap_mode_str:
	.space	4
	.global	cap_mode
	.align	2
	.type	cap_mode, %object
	.size	cap_mode, 4
cap_mode:
	.space	4
	.global	crlf_mode
	.align	2
	.type	crlf_mode, %object
	.size	crlf_mode, 4
crlf_mode:
	.space	4
	.global	capture_fmt
	.section	.rodata
	.align	2
.LC4:
	.ascii	"bootterm-%Y%m%d-%H%M%S.log\000"
	.data
	.align	2
	.type	capture_fmt, %object
	.size	capture_fmt, 4
capture_fmt:
	.word	.LC4
	.global	escape
	.type	escape, %object
	.size	escape, 1
escape:
	.byte	29
	.global	chr_min
	.bss
	.type	chr_min, %object
	.size	chr_min, 1
chr_min:
	.space	1
	.global	chr_max
	.data
	.type	chr_max, %object
	.size	chr_max, 1
chr_max:
	.byte	-1
	.global	port
	.bss
	.align	2
	.type	port, %object
	.size	port, 4
port:
	.space	4
	.global	nbports
	.align	2
	.type	nbports, %object
	.size	nbports, 4
nbports:
	.space	4
	.global	currport
	.data
	.align	2
	.type	currport, %object
	.size	currport, 4
currport:
	.word	-1
	.global	quiet
	.bss
	.align	2
	.type	quiet, %object
	.size	quiet, 4
quiet:
	.space	4
	.global	baud
	.data
	.align	2
	.type	baud, %object
	.size	baud, 4
baud:
	.word	115200
	.comm	cap_name,4096,4
	.global	cap_fd
	.align	2
	.type	cap_fd, %object
	.size	cap_fd, 4
cap_fd:
	.word	-1
	.global	last_cap_sec
	.bss
	.align	2
	.type	last_cap_sec, %object
	.size	last_cap_sec, 4
last_cap_sec:
	.space	4
	.global	start_ts
	.align	2
	.type	start_ts, %object
	.size	start_ts, 8
start_ts:
	.space	8
	.global	ts_mode
	.align	2
	.type	ts_mode, %object
	.size	ts_mode, 4
ts_mode:
	.space	4
	.global	line_state
	.data
	.align	2
	.type	line_state, %object
	.size	line_state, 4
line_state:
	.word	2
	.global	ts_mode_str
	.bss
	.align	2
	.type	ts_mode_str, %object
	.size	ts_mode_str, 4
ts_mode_str:
	.space	4
	.global	ts_term
	.align	2
	.type	ts_term, %object
	.size	ts_term, 4
ts_term:
	.space	4
	.global	exclude_drivers
	.align	2
	.type	exclude_drivers, %object
	.size	exclude_drivers, 4
exclude_drivers:
	.space	4
	.global	exclude_list
	.align	2
	.type	exclude_list, %object
	.size	exclude_list, 4
exclude_list:
	.space	4
	.global	include_list
	.align	2
	.type	include_list, %object
	.size	include_list, 4
include_list:
	.space	4
	.global	restrict_list
	.align	2
	.type	restrict_list, %object
	.size	restrict_list, 4
restrict_list:
	.space	4
	.global	always_ignore
	.section	.rodata
	.align	2
.LC5:
	.ascii	"pty*,null,zero,rtc*,nvram*,mem,kmem,kbd*,mouse*,psa"
	.ascii	"ux*,audio*,dsp*,fb*,random,urandom,mt*,rmt*,console"
	.ascii	",ptmx,ptc,tty,stderr,stdin,stdout\000"
	.data
	.align	2
	.type	always_ignore, %object
	.size	always_ignore, 4
always_ignore:
	.word	.LC5
	.section	.rodata
	.align	2
.LC6:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	die
	.syntax unified
	.arm
	.fpu softvfp
	.type	die, %function
die:
	@ args = 4, pretend = 12, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 1
	push	{r1, r2, r3}
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #20
	str	r0, [fp, #-20]
	ldr	r3, [fp, #4]
	str	r3, [fp, #-24]
	ldr	r3, .L3
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	mov	r3,#0
	add	r3, fp, #8
	str	r3, [fp, #-16]
	ldr	r3, .L3+4
	ldr	r3, [r3]
	ldr	r2, [fp, #-16]
	ldr	r1, [fp, #-24]
	mov	r0, r3
	bl	vfprintf
	ldr	r0, [fp, #-20]
	bl	exit
.L4:
	.align	2
.L3:
	.word	.LC6
	.word	stderr
	.size	die, .-die
	.align	2
	.global	usage
	.syntax unified
	.arm
	.fpu softvfp
	.type	usage, %function
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]
	str	r1, [fp, #-12]
	ldr	r2, [fp, #-12]
	ldr	r1, .L6
	ldr	r0, [fp, #-8]
	bl	die
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L7:
	.align	2
.L6:
	.word	usage_msg
	.size	usage, .-usage
	.section	.rodata
	.align	2
.LC7:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	parse_long
	.syntax unified
	.arm
	.fpu softvfp
	.type	parse_long, %function
parse_long:
	@ 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, .L14
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L9
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L10
.L9:
	mov	r3, #0
	b	.L12
.L10:
	sub	r3, fp, #12
	mov	r2, #0
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	strtol
	mov	r2, r0
	ldr	r3, [fp, #-20]
	str	r2, [r3]
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
.L12:
	ldr	r2, .L14
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L13
	bl	__stack_chk_fail
.L13:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L15:
	.align	2
.L14:
	.word	.LC7
	.size	parse_long, .-parse_long
	.section	.rodata
	.align	2
.LC8:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	parse_int
	.syntax unified
	.arm
	.fpu softvfp
	.type	parse_int, %function
parse_int:
	@ 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]
	ldr	r3, .L22
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L17
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L18
.L17:
	mov	r3, #0
	b	.L20
.L18:
	sub	r3, fp, #16
	mov	r2, #0
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	strtol
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
.L20:
	ldr	r2, .L22
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L21
	bl	__stack_chk_fail
.L21:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L23:
	.align	2
.L22:
	.word	.LC8
	.size	parse_int, .-parse_int
	.section	.rodata
	.align	2
.LC9:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	parse_byte
	.syntax unified
	.arm
	.fpu softvfp
	.type	parse_byte, %function
parse_byte:
	@ 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]
	ldr	r3, .L32
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L25
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L26
.L25:
	mov	r3, #0
	b	.L30
.L26:
	sub	r3, fp, #16
	mov	r2, #0
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	strtol
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	and	r2, r3, #255
	ldr	r3, [fp, #-28]
	strb	r2, [r3]
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L28
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	blt	.L28
	ldr	r3, [fp, #-12]
	cmp	r3, #255
	bgt	.L28
	mov	r3, #1
	b	.L30
.L28:
	mov	r3, #0
.L30:
	ldr	r2, .L32
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L31
	bl	__stack_chk_fail
.L31:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L33:
	.align	2
.L32:
	.word	.LC9
	.size	parse_byte, .-parse_byte
	.align	2
	.global	in_list
	.syntax unified
	.arm
	.fpu softvfp
	.type	in_list, %function
in_list:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r0, [fp, #-20]
	bl	strlen
	str	r0, [fp, #-12]
	b	.L35
.L45:
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-8]
	b	.L36
.L38:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L36:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L37
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #44
	beq	.L37
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #42
	bne	.L38
.L37:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #42
	bne	.L39
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-8]
	sub	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-12]
	cmp	r3, r2
	bcc	.L39
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-8]
	sub	r3, r2, r3
	mov	r2, r3
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-8]
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L39
	mov	r3, #1
	b	.L40
.L39:
	ldr	r2, [fp, #-12]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-8]
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L46
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L42
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #44
	bne	.L46
.L42:
	mov	r3, #1
	b	.L40
.L46:
	nop
.L43:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L35
	ldr	r3, [fp, #-16]
	add	r2, r3, #1
	str	r2, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #44
	bne	.L43
.L35:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L44
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L45
.L44:
	mov	r3, #0
.L40:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	in_list, .-in_list
	.section	.rodata
	.align	2
.LC10:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	set_port
	.syntax unified
	.arm
	.fpu softvfp
	.type	set_port, %function
set_port:
	@ args = 0, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	str	r0, [fp, #-56]
	str	r1, [fp, #-60]
	ldr	r3, .L51
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #52
	mov	r2, r3
	ldr	r1, .L51+4
	ldr	r0, [fp, #-56]
	bl	ioctl
	ldr	r3, [fp, #-44]
	orr	r3, r3, #48
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-44]
	bic	r3, r3, #64
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-44]
	bic	r3, r3, #768
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-44]
	bic	r3, r3, #1024
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-44]
	bic	r3, r3, #-2147483648
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-44]
	orr	r3, r3, #128
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-44]
	orr	r3, r3, #2048
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	beq	.L48
	ldr	r3, [fp, #-44]
	bic	r3, r3, #268435471
	bic	r3, r3, #987136
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-44]
	orr	r3, r3, #268435456
	orr	r3, r3, #4096
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-60]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-12]
.L48:
	mov	r3, #0
	str	r3, [fp, #-52]
	mov	r3, #0
	str	r3, [fp, #-48]
	mov	r3, #0
	str	r3, [fp, #-40]
	sub	r3, fp, #52
	mov	r2, r3
	ldr	r1, .L51+8
	ldr	r0, [fp, #-56]
	bl	ioctl
	mov	r3, r0
	ldr	r2, .L51
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L50
	bl	__stack_chk_fail
.L50:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L52:
	.align	2
.L51:
	.word	.LC10
	.word	-2144578518
	.word	1076646955
	.size	set_port, .-set_port
	.section	.rodata
	.align	2
.LC11:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	get_baud_rate
	.syntax unified
	.arm
	.fpu softvfp
	.type	get_baud_rate, %function
get_baud_rate:
	@ args = 0, 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, #-64]
	ldr	r3, .L61
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #52
	mov	r2, r3
	ldr	r1, .L61+4
	ldr	r0, [fp, #-64]
	bl	ioctl
	ldr	r2, [fp, #-44]
	ldr	r3, .L61+8
	and	r3, r3, r2
	cmp	r3, #4096
	bne	.L54
	ldr	r3, [fp, #-12]
	b	.L59
.L54:
	mov	r3, #0
	str	r3, [fp, #-56]
	b	.L56
.L58:
	ldr	r3, [fp, #-44]
	ldr	r2, .L61+8
	and	r2, r2, r3
	ldr	r1, .L61+12
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #3
	add	r3, r1, r3
	ldr	r3, [r3, #4]
	cmp	r2, r3
	bne	.L57
	ldr	r2, .L61+12
	ldr	r3, [fp, #-56]
	ldr	r3, [r2, r3, lsl #3]
	b	.L59
.L57:
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	str	r3, [fp, #-56]
.L56:
	ldr	r2, .L61+12
	ldr	r3, [fp, #-56]
	ldr	r3, [r2, r3, lsl #3]
	cmp	r3, #0
	bne	.L58
	mov	r3, #0
.L59:
	ldr	r2, .L61
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L60
	bl	__stack_chk_fail
.L60:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L62:
	.align	2
.L61:
	.word	.LC11
	.word	-2144578518
	.word	4111
	.word	baud_rates
	.size	get_baud_rate, .-get_baud_rate
	.section	.rodata
	.align	2
.LC12:
	.ascii	"termios2 is supported, so any baud rate is supporte"
	.ascii	"d\000"
	.text
	.align	2
	.global	list_baud_rates
	.syntax unified
	.arm
	.fpu softvfp
	.type	list_baud_rates, %function
list_baud_rates:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r0, .L64
	bl	puts
	nop
	pop	{fp, pc}
.L65:
	.align	2
.L64:
	.word	.LC12
	.size	list_baud_rates, .-list_baud_rates
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	tcgetattr, %function
tcgetattr:
	@ 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, #-12]
	ldr	r1, .L68
	ldr	r0, [fp, #-8]
	bl	ioctl
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L69:
	.align	2
.L68:
	.word	21505
	.size	tcgetattr, .-tcgetattr
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	tcsetattr, %function
tcsetattr:
	@ 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	r2, [fp, #-16]
	ldr	r1, .L72
	ldr	r0, [fp, #-8]
	bl	ioctl
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L73:
	.align	2
.L72:
	.word	21506
	.size	tcsetattr, .-tcsetattr
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	tcsendbreak, %function
tcsendbreak:
	@ 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, #-12]
	ldr	r1, .L76
	ldr	r0, [fp, #-8]
	bl	ioctl
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L77:
	.align	2
.L76:
	.word	21513
	.size	tcsendbreak, .-tcsendbreak
	.section	.rodata
	.align	2
.LC13:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	get_conf
	.syntax unified
	.arm
	.fpu softvfp
	.type	get_conf, %function
get_conf:
	@ args = 0, pretend = 0, frame = 288
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #288
	str	r0, [fp, #-288]
	ldr	r3, .L88
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-276]
	ldr	r0, [fp, #-288]
	bl	strlen
	mov	r3, r0
	add	r3, r3, #3
	cmp	r3, #255
	bhi	.L79
	sub	r3, fp, #264
	ldr	r2, .L88+4
	str	r2, [r3]
	sub	r3, fp, #264
	add	r3, r3, #3
	str	r3, [fp, #-272]
	ldr	r3, [fp, #-288]
	str	r3, [fp, #-268]
.L83:
	ldr	r3, [fp, #-268]
	add	r2, r3, #1
	str	r2, [fp, #-268]
	ldrb	r3, [r3]
	strb	r3, [fp, #-277]
	ldrb	r3, [fp, #-277]	@ zero_extendqisi2
	cmp	r3, #46
	beq	.L80
	ldrb	r3, [fp, #-277]	@ zero_extendqisi2
	cmp	r3, #45
	bne	.L81
.L80:
	mov	r3, #95
	strb	r3, [fp, #-277]
	b	.L82
.L81:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldrb	r3, [fp, #-277]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #512
	cmp	r3, #0
	beq	.L82
	ldrb	r3, [fp, #-277]	@ zero_extendqisi2
	mov	r0, r3
	bl	toupper
	mov	r3, r0
	strb	r3, [fp, #-277]
.L82:
	ldr	r3, [fp, #-272]
	add	r2, r3, #1
	str	r2, [fp, #-272]
	ldrb	r2, [fp, #-277]
	strb	r2, [r3]
	ldrb	r3, [fp, #-277]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L83
	sub	r3, fp, #264
	mov	r0, r3
	bl	getenv
	str	r0, [fp, #-276]
	ldr	r3, [fp, #-276]
	cmp	r3, #0
	beq	.L84
	ldr	r3, [fp, #-276]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L79
.L84:
	mov	r3, #0
	str	r3, [fp, #-276]
.L79:
	ldr	r3, [fp, #-276]
	ldr	r2, .L88
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L87
	bl	__stack_chk_fail
.L87:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L89:
	.align	2
.L88:
	.word	.LC13
	.word	6247490
	.size	get_conf, .-get_conf
	.section	.rodata
	.align	2
.LC14:
	.ascii	"/dev/\000"
	.text
	.align	2
	.global	set_port_list
	.syntax unified
	.arm
	.fpu softvfp
	.type	set_port_list, %function
set_port_list:
	@ 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]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	mov	r0, r3
	bl	free
	ldr	r3, [fp, #-24]
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	beq	.L91
	ldr	r0, [fp, #-28]
	bl	strdup
	mov	r3, r0
	b	.L92
.L91:
	mov	r3, #0
.L92:
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L101
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-8]
	b	.L95
.L97:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L96:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #1
	cmp	r3, #0
	bne	.L97
	mov	r2, #5
	ldr	r1, .L102
	ldr	r0, [fp, #-12]
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L98
	ldr	r3, [fp, #-12]
	add	r3, r3, #5
	str	r3, [fp, #-12]
	b	.L95
.L98:
	ldr	r2, [fp, #-12]
	add	r3, r2, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-8]
	add	r1, r3, #1
	str	r1, [fp, #-8]
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
.L95:
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L96
	ldr	r3, [fp, #-8]
	add	r2, r3, #1
	str	r2, [fp, #-8]
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L100
	ldr	r0, [fp, #-16]
	bl	free
	mov	r3, #0
	str	r3, [fp, #-16]
.L100:
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	b	.L90
.L101:
	nop
.L90:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L103:
	.align	2
.L102:
	.word	.LC14
	.size	set_port_list, .-set_port_list
	.section	.rodata
	.align	2
.LC15:
	.ascii	"r\000"
	.align	2
.LC16:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	read_line_from
	.syntax unified
	.arm
	.fpu softvfp
	.type	read_line_from, %function
read_line_from:
	@ args = 4, pretend = 16, frame = 8224
	@ frame_needed = 1, uses_anonymous_args = 1
	push	{r0, r1, r2, r3}
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #8192
	sub	sp, sp, #36
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	ldr	r3, [fp, #4]
	str	r3, [r2, #-28]
	ldr	r3, .L109
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-12]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-16]
	add	r3, fp, #8
	sub	r2, fp, #8192
	sub	r2, r2, #12
	str	r3, [r2, #-20]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r4, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	sub	r2, fp, #8192
	sub	r2, r2, #12
	sub	r0, fp, #8192
	sub	r0, r0, #12
	sub	r0, r0, #4
	ldr	r3, [r3, #-20]
	ldr	r2, [r2, #-28]
	mov	r1, #4096
	bl	vsnprintf
	str	r0, [r4, #-12]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-12]
	cmp	r3, #4096
	bcs	.L105
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r4, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	sub	r3, r3, #4
	ldr	r1, .L109+4
	mov	r0, r3
	bl	fopen
	str	r0, [r4, #-8]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-8]
	cmp	r3, #0
	beq	.L105
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r4, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	sub	r3, r3, #4
	ldr	r2, [r2, #-8]
	mov	r1, #4096
	mov	r0, r3
	bl	fgets
	str	r0, [r4, #-16]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r0, [r3, #-8]
	bl	fclose
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-16]
	cmp	r3, #0
	beq	.L105
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L106
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r0, [r3, #-16]
	bl	strlen
	mov	r3, r0
	sub	r3, r3, #1
	sub	r2, fp, #8192
	sub	r2, r2, #12
	ldr	r2, [r2, #-16]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	bne	.L106
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r0, [r3, #-16]
	bl	strlen
	mov	r3, r0
	sub	r3, r3, #1
	sub	r2, fp, #8192
	sub	r2, r2, #12
	ldr	r2, [r2, #-16]
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3]
.L106:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r4, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r0, [r3, #-16]
	bl	strdup
	mov	r3, r0
	str	r3, [r4, #-16]
.L105:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-16]
	ldr	r2, .L109
	ldr	r1, [r2]
	ldr	r2, [fp, #-16]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L108
	bl	__stack_chk_fail
.L108:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, lr}
	add	sp, sp, #16
	bx	lr
.L110:
	.align	2
.L109:
	.word	.LC16
	.word	.LC15
	.size	read_line_from, .-read_line_from
	.section	.rodata
	.align	2
.LC17:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	read_link_from
	.syntax unified
	.arm
	.fpu softvfp
	.type	read_link_from, %function
read_link_from:
	@ args = 4, pretend = 16, frame = 8224
	@ frame_needed = 1, uses_anonymous_args = 1
	push	{r0, r1, r2, r3}
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #8192
	sub	sp, sp, #36
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	ldr	r3, [fp, #4]
	str	r3, [r2, #-28]
	ldr	r3, .L115
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-12]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-16]
	add	r3, fp, #8
	sub	r2, fp, #8192
	sub	r2, r2, #12
	str	r3, [r2, #-20]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r4, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	sub	r2, fp, #8192
	sub	r2, r2, #12
	sub	r0, fp, #8192
	sub	r0, r0, #12
	sub	r0, r0, #4
	ldr	r3, [r3, #-20]
	ldr	r2, [r2, #-28]
	mov	r1, #4096
	bl	vsnprintf
	str	r0, [r4, #-12]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-12]
	cmp	r3, #4096
	bcs	.L112
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r4, r3
	sub	r1, fp, #4096
	sub	r1, r1, #12
	sub	r1, r1, #4
	sub	r3, fp, #8192
	sub	r3, r3, #12
	sub	r3, r3, #4
	ldr	r2, .L115+4
	mov	r0, r3
	bl	readlink
	str	r0, [r4, #-8]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-8]
	cmp	r3, #0
	ble	.L112
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-8]
	add	r3, r2, r3
	sub	r3, r3, #4
	mov	r2, #0
	strb	r2, [r3]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r4, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	sub	r3, r3, #4
	mov	r0, r3
	bl	strdup
	mov	r3, r0
	str	r3, [r4, #-16]
.L112:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-16]
	ldr	r2, .L115
	ldr	r1, [r2]
	ldr	r2, [fp, #-16]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L114
	bl	__stack_chk_fail
.L114:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, lr}
	add	sp, sp, #16
	bx	lr
.L116:
	.align	2
.L115:
	.word	.LC17
	.word	4095
	.size	read_link_from, .-read_link_from
	.section	.rodata
	.align	2
.LC18:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	file_exists
	.syntax unified
	.arm
	.fpu softvfp
	.type	file_exists, %function
file_exists:
	@ args = 4, pretend = 16, frame = 4208
	@ frame_needed = 1, uses_anonymous_args = 1
	push	{r0, r1, r2, r3}
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #4160
	sub	sp, sp, #52
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	ldr	r3, [fp, #4]
	str	r3, [r2, #-108]
	ldr	r3, .L122
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-100]
	add	r3, fp, #8
	sub	r2, fp, #4096
	sub	r2, r2, #12
	str	r3, [r2, #-104]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r4, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	sub	r2, fp, #4096
	sub	r2, r2, #12
	sub	r0, fp, #4096
	sub	r0, r0, #12
	sub	r0, r0, #4
	ldr	r3, [r3, #-104]
	ldr	r2, [r2, #-108]
	mov	r1, #4096
	bl	vsnprintf
	str	r0, [r4, #-100]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-100]
	cmp	r3, #4096
	bcs	.L118
	sub	r2, fp, #4160
	sub	r2, r2, #12
	sub	r2, r2, #32
	sub	r3, fp, #4096
	sub	r3, r3, #12
	sub	r3, r3, #4
	mov	r1, r2
	mov	r0, r3
	bl	stat
	mov	r3, r0
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	b	.L120
.L118:
	mov	r3, #0
.L120:
	ldr	r2, .L122
	ldr	r1, [r2]
	ldr	r2, [fp, #-16]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L121
	bl	__stack_chk_fail
.L121:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, lr}
	add	sp, sp, #16
	bx	lr
.L123:
	.align	2
.L122:
	.word	.LC18
	.size	file_exists, .-file_exists
	.section	.rodata
	.align	2
.LC19:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	set_capture_name
	.syntax unified
	.arm
	.fpu softvfp
	.type	set_capture_name, %function
set_capture_name:
	@ args = 0, pretend = 0, frame = 4104
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #4096
	sub	sp, sp, #12
	ldr	r3, .L140
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	ldr	r3, .L140+4
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L125
	ldr	r3, .L140+8
	ldr	r3, [r3]
	cmn	r3, #1
	beq	.L137
.L125:
	ldr	r3, .L140+4
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L127
	ldr	r3, .L140+8
	ldr	r3, [r3]
	cmp	r3, #0
	bge	.L138
.L127:
	mov	r0, #0
	bl	time
	mov	r3, r0
	sub	r2, fp, #4096
	sub	r2, r2, #12
	str	r3, [r2, #-8]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r2, [r3, #-8]
	ldr	r3, .L140+12
	ldr	r3, [r3]
	cmp	r2, r3
	beq	.L139
	ldr	r3, .L140+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L129
	ldr	r3, .L140+16
	ldr	r4, [r3]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	sub	r3, r3, #8
	mov	r0, r3
	bl	localtime
	mov	r3, r0
	sub	r0, fp, #4096
	sub	r0, r0, #12
	sub	r0, r0, #4
	mov	r2, r4
	mov	r1, #4096
	bl	strftime
	mov	r3, r0
	cmp	r3, #0
	bne	.L130
.L129:
	ldr	r3, .L140+8
	ldr	r3, [r3]
	cmp	r3, #0
	blt	.L131
	ldr	r3, .L140+8
	ldr	r3, [r3]
	mov	r0, r3
	bl	close
.L131:
	ldr	r3, .L140+8
	mvn	r2, #0
	str	r2, [r3]
	b	.L124
.L130:
	ldr	r3, .L140+8
	ldr	r3, [r3]
	cmn	r3, #1
	beq	.L132
	sub	r3, fp, #4096
	sub	r3, r3, #12
	sub	r3, r3, #4
	ldr	r1, .L140+20
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	beq	.L133
.L132:
	ldr	r3, .L140+8
	ldr	r3, [r3]
	cmp	r3, #0
	blt	.L134
	ldr	r3, .L140+8
	ldr	r3, [r3]
	mov	r0, r3
	bl	close
.L134:
	ldr	r2, .L140+20
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r0, r2
	sub	r3, r3, #4
	mov	r2, #4096
	mov	r1, r3
	bl	memcpy
	ldr	r2, .L140+24
	ldr	r1, .L140+28
	ldr	r0, .L140+20
	bl	open
	mov	r3, r0
	ldr	r2, .L140+8
	str	r3, [r2]
.L133:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-8]
	ldr	r2, .L140+12
	str	r3, [r2]
	b	.L124
.L137:
	nop
	b	.L124
.L138:
	nop
	b	.L124
.L139:
	nop
.L124:
	ldr	r3, .L140
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L136
	bl	__stack_chk_fail
.L136:
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L141:
	.align	2
.L140:
	.word	.LC19
	.word	cap_mode
	.word	cap_fd
	.word	last_cap_sec
	.word	capture_fmt
	.word	cap_name
	.word	438
	.word	33857
	.size	set_capture_name, .-set_capture_name
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	serial_port_cmp, %function
serial_port_cmp:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	ldr	r3, [fp, #-40]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-44]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-28]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #12]
	cmp	r2, r3
	beq	.L143
	ldr	r3, [fp, #-28]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #12]
	sub	r3, r2, r3
	b	.L144
.L143:
	mov	r3, #0
	str	r3, [fp, #-32]
	b	.L145
.L147:
	ldr	r3, [fp, #-28]
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L146
	mov	r3, #0
	b	.L144
.L146:
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L145:
	ldr	r3, [fp, #-28]
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	add	r3, r2, r3
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-24]
	ldr	r1, [r3]
	ldr	r3, [fp, #-32]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r2, r3
	beq	.L147
	ldr	r3, [fp, #-28]
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L148
	mvn	r3, #0
	b	.L144
.L148:
	ldr	r3, [fp, #-24]
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L149
	mov	r3, #1
	b	.L144
.L149:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-28]
	ldr	r1, [r3]
	ldr	r3, [fp, #-32]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #2048
	cmp	r3, #0
	bne	.L150
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r1, [r3]
	ldr	r3, [fp, #-32]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #2048
	cmp	r3, #0
	bne	.L150
	ldr	r3, [fp, #-28]
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r3, [fp, #-24]
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r3, r1, r3
	b	.L144
.L150:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-28]
	ldr	r1, [r3]
	ldr	r3, [fp, #-32]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #2048
	cmp	r3, #0
	beq	.L151
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	beq	.L152
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-28]
	ldr	r1, [r3]
	ldr	r3, [fp, #-32]
	sub	r3, r3, #1
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #2048
	cmp	r3, #0
	bne	.L151
.L152:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r1, [r3]
	ldr	r3, [fp, #-32]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #2048
	cmp	r3, #0
	bne	.L151
	mvn	r3, #0
	b	.L144
.L151:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r1, [r3]
	ldr	r3, [fp, #-32]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #2048
	cmp	r3, #0
	beq	.L155
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	beq	.L154
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r1, [r3]
	ldr	r3, [fp, #-32]
	sub	r3, r3, #1
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #2048
	cmp	r3, #0
	bne	.L155
.L154:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-28]
	ldr	r1, [r3]
	ldr	r3, [fp, #-32]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #2048
	cmp	r3, #0
	bne	.L155
	mov	r3, #1
	b	.L144
.L157:
	ldr	r3, [fp, #-32]
	sub	r3, r3, #1
	str	r3, [fp, #-32]
.L155:
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	ble	.L156
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-28]
	ldr	r1, [r3]
	ldr	r3, [fp, #-32]
	sub	r3, r3, #1
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #2048
	cmp	r3, #0
	bne	.L157
.L156:
	ldr	r3, [fp, #-28]
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	add	r3, r2, r3
	mov	r2, #0
	mov	r1, #0
	mov	r0, r3
	bl	strtoll
	str	r0, [fp, #-20]
	str	r1, [fp, #-16]
	ldr	r3, [fp, #-24]
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	add	r3, r2, r3
	mov	r2, #0
	mov	r1, #0
	mov	r0, r3
	bl	strtoll
	str	r0, [fp, #-12]
	str	r1, [fp, #-8]
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	sub	r3, fp, #12
	ldmia	r3, {r2-r3}
	cmp	r0, r2
	sbcs	r3, r1, r3
	bge	.L158
	mvn	r3, #0
	b	.L144
.L158:
	mov	r3, #1
.L144:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	serial_port_cmp, .-serial_port_cmp
	.section	.rodata
	.align	2
.LC20:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	file_isatty
	.syntax unified
	.arm
	.fpu softvfp
	.type	file_isatty, %function
file_isatty:
	@ args = 0, pretend = 0, frame = 152
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #152
	str	r0, [fp, #-152]
	ldr	r3, .L173
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-148]
	mvn	r3, #0
	str	r3, [fp, #-144]
	sub	r3, fp, #132
	mov	r1, r3
	ldr	r0, [fp, #-152]
	bl	stat
	mov	r3, r0
	cmp	r3, #0
	bne	.L170
	ldr	r3, [fp, #-116]
	and	r3, r3, #61440
	cmp	r3, #8192
	bne	.L171
	mov	r1, #2304
	ldr	r0, [fp, #-152]
	bl	open
	str	r0, [fp, #-144]
	ldr	r3, [fp, #-144]
	cmn	r3, #1
	beq	.L172
	ldr	r0, [fp, #-144]
	bl	isatty
	str	r0, [fp, #-148]
	ldr	r3, [fp, #-148]
	cmp	r3, #0
	beq	.L164
	sub	r3, fp, #140
	mov	r2, r3
	ldr	r1, .L173+4
	ldr	r0, [fp, #-144]
	bl	ioctl
	mov	r3, r0
	cmp	r3, #0
	bne	.L165
	ldrh	r3, [fp, #-140]
	cmp	r3, #0
	beq	.L164
	ldrh	r3, [fp, #-138]
	cmp	r3, #0
	beq	.L164
.L165:
	mov	r3, #0
	str	r3, [fp, #-148]
.L164:
	ldr	r3, [fp, #-148]
	cmp	r3, #0
	beq	.L166
	sub	r3, fp, #44
	mov	r2, r3
	ldr	r1, .L173+8
	ldr	r0, [fp, #-144]
	bl	ioctl
	mov	r3, r0
	cmp	r3, #0
	bne	.L167
	ldr	r3, [fp, #-36]
	and	r3, r3, #2048
	cmp	r3, #0
	bne	.L166
.L167:
	mov	r3, #0
	str	r3, [fp, #-148]
.L166:
	ldr	r0, [fp, #-144]
	bl	close
	b	.L161
.L170:
	nop
	b	.L161
.L171:
	nop
	b	.L161
.L172:
	nop
.L161:
	ldr	r3, [fp, #-148]
	ldr	r2, .L173
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L169
	bl	__stack_chk_fail
.L169:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L174:
	.align	2
.L173:
	.word	.LC20
	.word	21523
	.word	21505
	.size	file_isatty, .-file_isatty
	.section	.rodata
	.align	2
.LC22:
	.ascii	"%s/%s\000"
	.align	2
.LC23:
	.ascii	"tty\000"
	.align	2
.LC24:
	.ascii	"vcs\000"
	.align	2
.LC21:
	.word	.LC0
	.word	.LC1
	.word	.LC2
	.word	0
	.align	2
.LC25:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	scan_ports_generic
	.syntax unified
	.arm
	.fpu softvfp
	.type	scan_ports_generic, %function
scan_ports_generic:
	@ args = 0, pretend = 0, frame = 4224
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #4224
	sub	sp, sp, #12
	ldr	r3, .L196
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r2, .L196+4
	sub	ip, r3, #20
	mov	r3, r2
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-128]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-124]
	ldr	r3, .L196+8
	mov	r2, #0
	str	r2, [r3]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-128]
	b	.L176
.L190:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-128]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #-20]
	sub	r2, fp, #4096
	sub	r2, r2, #12
	mov	r4, r2
	mov	r0, r3
	bl	opendir
	str	r0, [r4, #-124]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-124]
	cmp	r3, #0
	beq	.L194
	b	.L179
.L189:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r4, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r0, [r3, #-124]
	bl	readdir
	str	r0, [r4, #-120]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-120]
	cmp	r3, #0
	beq	.L195
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-128]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3, #-20]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-120]
	add	r3, r3, #11
	sub	r0, fp, #4096
	sub	r0, r0, #12
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, .L196+12
	mov	r1, #4096
	bl	snprintf
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	sub	r3, r3, #4
	add	r3, r3, #5
	str	r3, [r2, #-116]
	ldr	r3, .L196+16
	ldr	r3, [r3]
	sub	r2, fp, #4096
	sub	r2, r2, #12
	ldr	r1, [r2, #-116]
	mov	r0, r3
	bl	in_list
	mov	r3, r0
	cmp	r3, #0
	beq	.L182
	b	.L179
.L182:
	ldr	r3, .L196+20
	ldr	r3, [r3]
	sub	r2, fp, #4096
	sub	r2, r2, #12
	ldr	r1, [r2, #-116]
	mov	r0, r3
	bl	in_list
	mov	r3, r0
	cmp	r3, #0
	beq	.L183
	b	.L179
.L183:
	ldr	r3, .L196+24
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L184
	ldr	r3, .L196+24
	ldr	r3, [r3]
	sub	r2, fp, #4096
	sub	r2, r2, #12
	ldr	r1, [r2, #-116]
	mov	r0, r3
	bl	in_list
	mov	r3, r0
	cmp	r3, #0
	bne	.L184
	b	.L179
.L184:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, #3
	ldr	r1, .L196+28
	ldr	r0, [r3, #-116]
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L185
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-116]
	add	r3, r3, #3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #512
	cmp	r3, #0
	bne	.L179
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-116]
	add	r3, r3, #3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #2048
	cmp	r3, #0
	beq	.L185
	b	.L179
.L185:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, #3
	ldr	r1, .L196+32
	ldr	r0, [r3, #-116]
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L187
	b	.L179
.L187:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	sub	r3, r3, #4
	mov	r0, r3
	bl	file_isatty
	mov	r3, r0
	cmp	r3, #0
	bne	.L188
	b	.L179
.L188:
	sub	r2, fp, #4160
	sub	r2, r2, #12
	sub	r2, r2, #48
	sub	r3, fp, #4096
	sub	r3, r3, #12
	sub	r3, r3, #4
	mov	r1, r2
	mov	r0, r3
	bl	stat
	mov	r3, r0
	cmp	r3, #0
	bne	.L179
	ldr	r3, .L196+8
	ldr	r4, [r3]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r0, [r3, #-116]
	bl	strdup
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L196+36
	str	r2, [r3, r4, lsl #4]
	ldr	r3, .L196+8
	ldr	r3, [r3]
	ldr	r2, .L196+36
	lsl	r3, r3, #4
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, .L196+8
	ldr	r3, [r3]
	ldr	r2, .L196+36
	lsl	r3, r3, #4
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3, #8]
	ldr	r3, .L196+8
	ldr	r3, [r3]
	sub	r2, fp, #4096
	sub	r2, r2, #12
	ldr	r2, [r2, #-40]
	ldr	r1, .L196+36
	lsl	r3, r3, #4
	add	r3, r1, r3
	str	r2, [r3, #12]
	ldr	r3, .L196+8
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L196+8
	str	r3, [r2]
	nop
.L179:
	ldr	r3, .L196+8
	ldr	r3, [r3]
	cmp	r3, #99
	ble	.L189
	b	.L181
.L195:
	nop
.L181:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r0, [r3, #-124]
	bl	closedir
	b	.L178
.L194:
	nop
.L178:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-128]
	add	r3, r3, #1
	str	r3, [r2, #-128]
.L176:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-128]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #-20]
	cmp	r3, #0
	bne	.L190
	ldr	r3, .L196+8
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L191
	ldr	r3, .L196+8
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r3, .L196+40
	mov	r2, #16
	ldr	r0, .L196+36
	bl	qsort
.L191:
	ldr	r3, .L196+8
	ldr	r3, [r3]
	ldr	r2, .L196
	ldr	r1, [r2]
	ldr	r2, [fp, #-16]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L193
	bl	__stack_chk_fail
.L193:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L197:
	.align	2
.L196:
	.word	.LC25
	.word	.LC21
	.word	nbports
	.word	.LC22
	.word	always_ignore
	.word	exclude_list
	.word	restrict_list
	.word	.LC23
	.word	.LC24
	.word	serial_ports
	.word	serial_port_cmp
	.size	scan_ports_generic, .-scan_ports_generic
	.section	.rodata
	.align	2
.LC26:
	.ascii	"/sys/class/tty\000"
	.align	2
.LC27:
	.ascii	"/sys/class/tty/%s/device/.\000"
	.align	2
.LC28:
	.ascii	"/sys/class/tty/%s/device/resources\000"
	.align	2
.LC29:
	.ascii	"/sys/class/tty/%s/device/resource\000"
	.align	2
.LC30:
	.ascii	"/sys/class/tty/%s/device/bus\000"
	.align	2
.LC31:
	.ascii	"/sys/class/tty/%s/device/of_node\000"
	.align	2
.LC32:
	.ascii	"/sys/class/tty/%s/device/interface\000"
	.align	2
.LC33:
	.ascii	"/sys/class/tty/%s/device/bInterfaceClass\000"
	.align	2
.LC34:
	.ascii	"/sys/class/tty/%s/device/port_number\000"
	.align	2
.LC35:
	.ascii	"/sys/class/tty/%s/type\000"
	.align	2
.LC36:
	.ascii	"/sys/class/tty/%s/device/driver\000"
	.align	2
.LC37:
	.ascii	"\000"
	.align	2
.LC38:
	.ascii	"/dev/%s\000"
	.align	2
.LC39:
	.ascii	"/sys/class/tty/%s/device/../interface\000"
	.align	2
.LC40:
	.ascii	"/sys/class/tty/%s/device/../../product\000"
	.align	2
.LC41:
	.ascii	"/sys/class/tty/%s/device/of_node/compatible\000"
	.align	2
.LC42:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	scan_ports
	.syntax unified
	.arm
	.fpu softvfp
	.type	scan_ports, %function
scan_ports:
	@ args = 0, pretend = 0, frame = 4224
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #4224
	sub	sp, sp, #4
	ldr	r3, .L232
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-104]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-108]
	ldr	r3, .L232+4
	mov	r2, #0
	str	r2, [r3]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r4, r3
	ldr	r0, .L232+8
	bl	opendir
	str	r0, [r4, #-104]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-104]
	cmp	r3, #0
	bne	.L201
	bl	scan_ports_generic
	mov	r3, r0
	b	.L223
.L220:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r4, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r0, [r3, #-104]
	bl	readdir
	str	r0, [r4, #-100]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-100]
	cmp	r3, #0
	beq	.L225
	ldr	r3, .L232+12
	ldr	r2, [r3]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-100]
	add	r3, r3, #11
	mov	r1, r3
	mov	r0, r2
	bl	in_list
	mov	r3, r0
	cmp	r3, #0
	beq	.L204
	b	.L201
.L204:
	ldr	r3, .L232+16
	ldr	r2, [r3]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-100]
	add	r3, r3, #11
	mov	r1, r3
	mov	r0, r2
	bl	in_list
	mov	r3, r0
	cmp	r3, #0
	beq	.L205
	b	.L201
.L205:
	ldr	r3, .L232+20
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L206
	ldr	r3, .L232+20
	ldr	r2, [r3]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-100]
	add	r3, r3, #11
	mov	r1, r3
	mov	r0, r2
	bl	in_list
	mov	r3, r0
	cmp	r3, #0
	bne	.L206
	b	.L201
.L206:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-112]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-112]
	str	r3, [r2, #-116]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-116]
	str	r3, [r2, #-120]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-120]
	str	r3, [r2, #-124]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-100]
	add	r3, r3, #11
	sub	r0, fp, #4096
	sub	r0, r0, #12
	sub	r0, r0, #4
	ldr	r2, .L232+24
	mov	r1, #4096
	bl	snprintf
	sub	r2, fp, #4160
	sub	r2, r2, #12
	sub	r2, r2, #32
	sub	r3, fp, #4096
	sub	r3, r3, #12
	sub	r3, r3, #4
	mov	r1, r2
	mov	r0, r3
	bl	stat
	mov	r3, r0
	cmp	r3, #0
	bne	.L226
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-100]
	add	r3, r3, #11
	mov	r1, r3
	ldr	r0, .L232+28
	bl	file_exists
	mov	r3, r0
	cmp	r3, #0
	bne	.L208
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-100]
	add	r3, r3, #11
	mov	r1, r3
	ldr	r0, .L232+32
	bl	file_exists
	mov	r3, r0
	cmp	r3, #0
	bne	.L208
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-100]
	add	r3, r3, #11
	mov	r1, r3
	ldr	r0, .L232+36
	bl	file_exists
	mov	r3, r0
	cmp	r3, #0
	bne	.L208
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-100]
	add	r3, r3, #11
	mov	r1, r3
	ldr	r0, .L232+40
	bl	file_exists
	mov	r3, r0
	cmp	r3, #0
	bne	.L208
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-100]
	add	r3, r3, #11
	mov	r1, r3
	ldr	r0, .L232+44
	bl	file_exists
	mov	r3, r0
	cmp	r3, #0
	bne	.L208
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-100]
	add	r3, r3, #11
	mov	r1, r3
	ldr	r0, .L232+48
	bl	file_exists
	mov	r3, r0
	cmp	r3, #0
	bne	.L208
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-100]
	add	r3, r3, #11
	mov	r1, r3
	ldr	r0, .L232+52
	bl	file_exists
	mov	r3, r0
	cmp	r3, #0
	bne	.L208
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-100]
	add	r3, r3, #11
	mov	r1, r3
	ldr	r0, .L232+56
	bl	file_exists
	mov	r3, r0
	cmp	r3, #0
	bne	.L208
	ldr	r3, .L232+60
	ldr	r2, [r3]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-100]
	add	r3, r3, #11
	mov	r1, r3
	mov	r0, r2
	bl	in_list
	mov	r3, r0
	cmp	r3, #0
	beq	.L227
.L208:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-108]
	add	r3, r3, #1
	str	r3, [r2, #-108]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-100]
	add	r3, r3, #11
	sub	r2, fp, #4096
	sub	r2, r2, #12
	mov	r4, r2
	mov	r1, r3
	ldr	r0, .L232+64
	bl	read_link_from
	str	r0, [r4, #-124]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-124]
	cmp	r3, #0
	beq	.L209
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r4, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r1, #47
	ldr	r0, [r3, #-124]
	bl	strrchr
	str	r0, [r4, #-120]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-120]
	cmp	r3, #0
	beq	.L210
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-120]
	add	r3, r3, #1
	str	r3, [r2, #-120]
	b	.L211
.L210:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-124]
	str	r3, [r2, #-120]
.L211:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r4, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r0, [r3, #-120]
	bl	strdup
	mov	r3, r0
	str	r3, [r4, #-120]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r0, [r3, #-124]
	bl	free
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-124]
	b	.L212
.L209:
	ldr	r3, .L232+60
	ldr	r2, [r3]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-100]
	add	r3, r3, #11
	mov	r1, r3
	mov	r0, r2
	bl	in_list
	mov	r3, r0
	cmp	r3, #0
	bne	.L228
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r4, r3
	ldr	r0, .L232+68
	bl	strdup
	mov	r3, r0
	str	r3, [r4, #-120]
.L212:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-120]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L214
	ldr	r3, .L232+72
	ldr	r3, [r3]
	sub	r2, fp, #4096
	sub	r2, r2, #12
	ldr	r1, [r2, #-120]
	mov	r0, r3
	bl	in_list
	mov	r3, r0
	cmp	r3, #0
	bne	.L229
.L214:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-100]
	add	r3, r3, #11
	sub	r0, fp, #4096
	sub	r0, r0, #12
	sub	r0, r0, #4
	ldr	r2, .L232+76
	mov	r1, #4096
	bl	snprintf
	sub	r3, fp, #4096
	sub	r3, r3, #12
	sub	r3, r3, #4
	mov	r0, r3
	bl	file_isatty
	mov	r3, r0
	cmp	r3, #0
	beq	.L230
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-100]
	add	r3, r3, #11
	sub	r2, fp, #4096
	sub	r2, r2, #12
	mov	r4, r2
	mov	r0, r3
	bl	strdup
	mov	r3, r0
	str	r3, [r4, #-112]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-112]
	cmp	r3, #0
	beq	.L231
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-100]
	add	r3, r3, #11
	sub	r2, fp, #4096
	sub	r2, r2, #12
	mov	r4, r2
	mov	r1, r3
	ldr	r0, .L232+80
	bl	read_line_from
	str	r0, [r4, #-116]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-116]
	cmp	r3, #0
	bne	.L217
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-100]
	add	r3, r3, #11
	sub	r2, fp, #4096
	sub	r2, r2, #12
	mov	r4, r2
	mov	r1, r3
	ldr	r0, .L232+44
	bl	read_line_from
	str	r0, [r4, #-116]
.L217:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-116]
	cmp	r3, #0
	bne	.L218
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-100]
	add	r3, r3, #11
	sub	r2, fp, #4096
	sub	r2, r2, #12
	mov	r4, r2
	mov	r1, r3
	ldr	r0, .L232+84
	bl	read_line_from
	str	r0, [r4, #-116]
.L218:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-116]
	cmp	r3, #0
	bne	.L219
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-100]
	add	r3, r3, #11
	sub	r2, fp, #4096
	sub	r2, r2, #12
	mov	r4, r2
	mov	r1, r3
	ldr	r0, .L232+88
	bl	read_line_from
	str	r0, [r4, #-116]
.L219:
	ldr	r3, .L232+4
	ldr	r3, [r3]
	ldr	r1, .L232+92
	sub	r2, fp, #4096
	sub	r2, r2, #12
	ldr	r2, [r2, #-112]
	str	r2, [r1, r3, lsl #4]
	ldr	r3, .L232+4
	ldr	r3, [r3]
	ldr	r2, .L232+92
	lsl	r3, r3, #4
	add	r3, r2, r3
	sub	r2, fp, #4096
	sub	r2, r2, #12
	ldr	r2, [r2, #-120]
	str	r2, [r3, #4]
	ldr	r3, .L232+4
	ldr	r3, [r3]
	ldr	r2, .L232+92
	lsl	r3, r3, #4
	add	r3, r2, r3
	sub	r2, fp, #4096
	sub	r2, r2, #12
	ldr	r2, [r2, #-116]
	str	r2, [r3, #8]
	ldr	r3, .L232+4
	ldr	r3, [r3]
	sub	r2, fp, #4096
	sub	r2, r2, #12
	ldr	r2, [r2, #-24]
	ldr	r1, .L232+92
	lsl	r3, r3, #4
	add	r3, r1, r3
	str	r2, [r3, #12]
	ldr	r3, .L232+4
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L232+4
	str	r3, [r2]
	b	.L201
.L226:
	nop
	b	.L207
.L227:
	nop
	b	.L207
.L228:
	nop
	b	.L207
.L229:
	nop
	b	.L207
.L230:
	nop
	b	.L207
.L231:
	nop
.L207:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r0, [r3, #-120]
	bl	free
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r0, [r3, #-124]
	bl	free
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r0, [r3, #-116]
	bl	free
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r0, [r3, #-112]
	bl	free
.L201:
	ldr	r3, .L232+4
	ldr	r3, [r3]
	cmp	r3, #99
	ble	.L220
	b	.L203
.L225:
	nop
.L203:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r0, [r3, #-104]
	bl	closedir
	ldr	r3, .L232+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L221
	ldr	r3, .L232+4
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r3, .L232+96
	mov	r2, #16
	ldr	r0, .L232+92
	bl	qsort
	b	.L222
.L221:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-108]
	cmp	r3, #0
	bne	.L222
	bl	scan_ports_generic
	mov	r3, r0
	b	.L223
.L222:
	ldr	r3, .L232+4
	ldr	r3, [r3]
.L223:
	ldr	r2, .L232
	ldr	r1, [r2]
	ldr	r2, [fp, #-16]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L224
	bl	__stack_chk_fail
.L224:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L233:
	.align	2
.L232:
	.word	.LC42
	.word	nbports
	.word	.LC26
	.word	always_ignore
	.word	exclude_list
	.word	restrict_list
	.word	.LC27
	.word	.LC28
	.word	.LC29
	.word	.LC30
	.word	.LC31
	.word	.LC32
	.word	.LC33
	.word	.LC34
	.word	.LC35
	.word	include_list
	.word	.LC36
	.word	.LC37
	.word	exclude_drivers
	.word	.LC38
	.word	.LC39
	.word	.LC40
	.word	.LC41
	.word	serial_ports
	.word	serial_port_cmp
	.size	scan_ports, .-scan_ports
	.section	.rodata
	.align	2
.LC43:
	.ascii	" port |  age (sec) | device     | driver           "
	.ascii	"| description          \012------+------------+----"
	.ascii	"--------+------------------+----------------------\000"
	.align	2
.LC44:
	.ascii	" %c%3d | %10u | %-10s | %-16s | %-16s \012\000"
	.text
	.align	2
	.global	list_ports
	.syntax unified
	.arm
	.fpu softvfp
	.type	list_ports, %function
list_ports:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-16]
	ldr	r0, .L245
	bl	puts
	mov	r0, #0
	bl	time
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-16]
	bic	r3, r3, r3, asr #31
	str	r3, [fp, #-12]
	b	.L235
.L244:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bge	.L236
	ldr	r3, .L245+4
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	bne	.L236
	mov	r0, #42
	b	.L237
.L236:
	mov	r0, #32
.L237:
	ldr	r2, .L245+8
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-8]
	sub	r3, r2, r3
	mov	lr, r3
	ldr	r2, .L245+8
	ldr	r3, [fp, #-12]
	ldr	r1, [r2, r3, lsl #4]
	ldr	r2, .L245+8
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L238
	ldr	r2, .L245+8
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r2, [r3, #4]
	b	.L239
.L238:
	ldr	r2, .L245+12
.L239:
	ldr	ip, .L245+8
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #4
	add	r3, ip, r3
	ldr	r3, [r3, #8]
	cmp	r3, #0
	beq	.L240
	ldr	ip, .L245+8
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #4
	add	r3, ip, r3
	ldr	r3, [r3, #8]
	b	.L241
.L240:
	ldr	r3, .L245+12
.L241:
	str	r3, [sp, #8]
	str	r2, [sp, #4]
	str	r1, [sp]
	mov	r3, lr
	ldr	r2, [fp, #-12]
	mov	r1, r0
	ldr	r0, .L245+16
	bl	printf
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L235:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	blt	.L242
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	b	.L243
.L242:
	ldr	r3, .L245+20
	ldr	r3, [r3]
.L243:
	ldr	r2, [fp, #-12]
	cmp	r3, r2
	bgt	.L244
	mov	r0, #10
	bl	putchar
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L246:
	.align	2
.L245:
	.word	.LC43
	.word	currport
	.word	serial_ports
	.word	.LC37
	.word	.LC44
	.word	nbports
	.size	list_ports, .-list_ports
	.section	.rodata
	.align	2
.LC45:
	.ascii	"%s\000"
	.align	2
.LC46:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	open_port
	.syntax unified
	.arm
	.fpu softvfp
	.type	open_port, %function
open_port:
	@ args = 0, pretend = 0, frame = 4120
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #4096
	sub	sp, sp, #28
	sub	r3, fp, #4096
	sub	r3, r3, #12
	str	r0, [r3, #-20]
	ldr	r3, .L259
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #47
	bne	.L248
	ldr	r2, .L259+4
	b	.L249
.L248:
	ldr	r2, .L259+8
.L249:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	sub	r0, fp, #4096
	sub	r0, r0, #12
	sub	r0, r0, #4
	ldr	r3, [r3, #-20]
	mov	r1, #4096
	bl	snprintf
	mov	r3, r0
	cmp	r3, #4096
	bls	.L250
	bl	__errno_location
	mov	r3, r0
	mov	r2, #36
	str	r2, [r3]
	mvn	r3, #0
	b	.L256
.L250:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #3
	str	r3, [r2, #-12]
	b	.L252
.L255:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r4, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	sub	r3, r3, #4
	ldr	r1, .L259+12
	mov	r0, r3
	bl	open
	str	r0, [r4, #-8]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-8]
	cmn	r3, #1
	bne	.L258
	bl	__errno_location
	mov	r3, r0
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L258
	ldr	r0, .L259+16
	bl	usleep
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-12]
	sub	r3, r3, #1
	str	r3, [r2, #-12]
.L252:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-12]
	cmp	r3, #0
	bgt	.L255
	b	.L254
.L258:
	nop
.L254:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-8]
.L256:
	ldr	r2, .L259
	ldr	r1, [r2]
	ldr	r2, [fp, #-16]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L257
	bl	__stack_chk_fail
.L257:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L260:
	.align	2
.L259:
	.word	.LC46
	.word	.LC45
	.word	.LC38
	.word	2306
	.word	100000
	.size	open_port, .-open_port
	.align	2
	.global	b_peek
	.syntax unified
	.arm
	.fpu softvfp
	.type	b_peek, %function
b_peek:
	@ 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	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L262
	mvn	r3, #0
	b	.L263
.L262:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	add	r3, r2, r3
	ldrb	r3, [r3, #12]	@ zero_extendqisi2
.L263:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	b_peek, .-b_peek
	.align	2
	.global	b_putchar
	.syntax unified
	.arm
	.fpu softvfp
	.type	b_putchar, %function
b_putchar:
	@ 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	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	cmp	r3, #2048
	blt	.L265
	mov	r3, #0
	b	.L266
.L265:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-12]
	and	r1, r2, #255
	ldr	r2, [fp, #-8]
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	cmp	r3, #2048
	blt	.L267
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #4]
.L267:
	mov	r3, #1
.L266:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	b_putchar, .-b_putchar
	.align	2
	.global	b_puts
	.syntax unified
	.arm
	.fpu softvfp
	.type	b_puts, %function
b_puts:
	@ 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]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-28]
	add	r2, r2, r3
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	cmp	r3, #2048
	blt	.L269
	mov	r3, #0
	b	.L270
.L269:
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L271
.L273:
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-20]
	add	r2, r2, r3
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	ldrb	r1, [r2]	@ zero_extendqisi2
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3, #12]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	cmp	r3, #2048
	blt	.L272
	ldr	r3, [fp, #-16]
	mov	r2, #0
	str	r2, [r3, #4]
.L272:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L271:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	blt	.L273
	ldr	r3, [fp, #-24]
.L270:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	b_puts, .-b_puts
	.align	2
	.global	b_skip
	.syntax unified
	.arm
	.fpu softvfp
	.type	b_skip, %function
b_skip:
	@ 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]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-12]
	sub	r2, r2, r3
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	add	r2, r2, r3
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	cmp	r3, #2048
	blt	.L275
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3]
.L275:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L277
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	str	r2, [r3]
.L277:
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	b_skip, .-b_skip
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	tv_set, %function
tv_set:
	@ 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, #-20]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	mov	r2, r3
	sub	r3, fp, #12
	ldm	r3, {r0, r1}
	stm	r2, {r0, r1}
	ldr	r0, [fp, #-16]
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	tv_set, .-tv_set
	.section	.rodata
	.align	2
.LC47:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	tv_unset, %function
tv_unset:
	@ 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, .L283
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-16]
	mvn	r2, #0
	mov	r1, #0
	mov	r0, r3
	bl	tv_set
	ldr	r3, .L283
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L282
	bl	__stack_chk_fail
.L282:
	ldr	r0, [fp, #-16]
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L284:
	.align	2
.L283:
	.word	.LC47
	.size	tv_unset, .-tv_unset
	.section	.rodata
	.align	2
.LC48:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	tv_zero, %function
tv_zero:
	@ 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, .L288
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-16]
	mov	r2, #0
	mov	r1, #0
	mov	r0, r3
	bl	tv_set
	ldr	r3, .L288
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L287
	bl	__stack_chk_fail
.L287:
	ldr	r0, [fp, #-16]
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L289:
	.align	2
.L288:
	.word	.LC48
	.size	tv_zero, .-tv_zero
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	tv_isset, %function
tv_isset:
	@ 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
	sub	r3, fp, #12
	stm	r3, {r0, r1}
	ldr	r3, [fp, #-8]
	cmn	r3, #1
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	tv_isset, .-tv_isset
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	tv_isbefore, %function
tv_isbefore:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	sub	ip, fp, #12
	stm	ip, {r0, r1}
	sub	r1, fp, #20
	stm	r1, {r2, r3}
	sub	r3, fp, #20
	ldm	r3, {r0, r1}
	bl	tv_isset
	mov	r3, r0
	cmp	r3, #0
	beq	.L293
	sub	r3, fp, #12
	ldm	r3, {r0, r1}
	bl	tv_isset
	mov	r3, r0
	cmp	r3, #0
	beq	.L294
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	blt	.L293
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	bne	.L294
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	bge	.L294
.L293:
	mov	r3, #1
	b	.L296
.L294:
	mov	r3, #0
.L296:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	tv_isbefore, .-tv_isbefore
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	tv_min, %function
tv_min:
	@ args = 12, pretend = 8, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	sub	sp, sp, #8
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	sub	r0, fp, #16
	stm	r0, {r1, r2}
	str	r3, [fp, #8]
	add	r3, fp, #8
	ldm	r3, {r2, r3}
	sub	r1, fp, #16
	ldm	r1, {r0, r1}
	bl	tv_isbefore
	mov	r3, r0
	cmp	r3, #0
	beq	.L298
	ldr	r3, [fp, #-8]
	mov	r2, r3
	sub	r3, fp, #16
	ldm	r3, {r0, r1}
	stm	r2, {r0, r1}
	b	.L297
.L298:
	ldr	r3, [fp, #-8]
	mov	r2, r3
	add	r3, fp, #8
	ldm	r3, {r0, r1}
	stm	r2, {r0, r1}
.L297:
	ldr	r0, [fp, #-8]
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, lr}
	add	sp, sp, #8
	bx	lr
	.size	tv_min, .-tv_min
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	tv_add, %function
tv_add:
	@ args = 12, pretend = 8, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	sub	sp, sp, #8
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #28
	str	r0, [fp, #-16]
	sub	r0, fp, #24
	stm	r0, {r1, r2}
	str	r3, [fp, #8]
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #8]
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #12]
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r2, .L303
	cmp	r3, r2
	blt	.L301
	ldr	r3, [fp, #-8]
	sub	r3, r3, #999424
	sub	r3, r3, #576
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L301:
	ldr	r3, [fp, #-16]
	mov	r2, r3
	sub	r3, fp, #12
	ldm	r3, {r0, r1}
	stm	r2, {r0, r1}
	ldr	r0, [fp, #-16]
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	add	sp, sp, #8
	bx	lr
.L304:
	.align	2
.L303:
	.word	1000000
	.size	tv_add, .-tv_add
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	tv_diff, %function
tv_diff:
	@ args = 12, pretend = 8, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	sub	sp, sp, #8
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	sub	r0, fp, #24
	stm	r0, {r1, r2}
	str	r3, [fp, #8]
	mov	r3, #0
	str	r3, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-8]
	add	r3, fp, #8
	ldm	r3, {r2, r3}
	sub	r1, fp, #24
	ldm	r1, {r0, r1}
	bl	tv_isbefore
	mov	r3, r0
	cmp	r3, #0
	beq	.L306
	ldr	r2, [fp, #8]
	ldr	r3, [fp, #-24]
	sub	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r2, [fp, #12]
	ldr	r3, [fp, #-20]
	sub	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bge	.L306
	ldr	r3, [fp, #-8]
	add	r3, r3, #999424
	add	r3, r3, #576
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-12]
	sub	r3, r3, #1
	str	r3, [fp, #-12]
.L306:
	ldr	r3, [fp, #-16]
	mov	r2, r3
	sub	r3, fp, #12
	ldm	r3, {r0, r1}
	stm	r2, {r0, r1}
	ldr	r0, [fp, #-16]
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, lr}
	add	sp, sp, #8
	bx	lr
	.size	tv_diff, .-tv_diff
	.section	.rodata
	.align	2
.LC49:
	.ascii	"[%6u.%06u] \000"
	.align	2
.LC50:
	.ascii	"[%Y%m%d-%H%M%S.\000"
	.align	2
.LC51:
	.ascii	"%06u] \000"
	.align	2
.LC52:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	write_ts
	.syntax unified
	.arm
	.fpu softvfp
	.type	write_ts, %function
write_ts:
	@ args = 4, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #60
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	str	r2, [fp, #-40]
	str	r3, [fp, #-44]
	ldr	r3, [fp, #4]
	str	r3, [fp, #-48]
	ldr	r3, .L316
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	ldr	r3, [fp, #-40]
	cmp	r3, #2
	bne	.L309
	sub	r0, fp, #24
	ldr	r3, [fp, #-48]
	ldr	r1, .L316+4
	ldr	r2, [r3, #4]
	str	r2, [sp]
	ldr	r3, [r3]
	ldm	r1, {r1, r2}
	bl	tv_diff
	ldr	r1, [fp, #-36]
	ldr	r3, [fp, #-24]
	mov	r2, r3
	ldr	r3, [fp, #-20]
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, .L316+8
	ldr	r0, [fp, #-32]
	bl	snprintf
	str	r0, [fp, #-28]
	b	.L310
.L309:
	ldr	r3, [fp, #-40]
	cmp	r3, #3
	bne	.L311
	ldr	r3, [fp, #-44]
	ldm	r3, {r0, r1}
	bl	tv_isset
	mov	r3, r0
	cmp	r3, #0
	bne	.L312
	sub	r3, fp, #60
	mov	r0, r3
	bl	tv_zero
	sub	r3, fp, #24
	sub	r2, fp, #60
	ldm	r2, {r0, r1}
	stm	r3, {r0, r1}
	b	.L313
.L312:
	sub	r0, fp, #60
	ldr	r3, [fp, #-48]
	ldr	r2, [fp, #-44]
	ldr	r1, [r3, #4]
	str	r1, [sp]
	ldr	r3, [r3]
	ldm	r2, {r1, r2}
	bl	tv_diff
	sub	r3, fp, #24
	sub	r2, fp, #60
	ldm	r2, {r0, r1}
	stm	r3, {r0, r1}
.L313:
	ldr	r1, [fp, #-36]
	ldr	r3, [fp, #-24]
	mov	r2, r3
	ldr	r3, [fp, #-20]
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, .L316+8
	ldr	r0, [fp, #-32]
	bl	snprintf
	str	r0, [fp, #-28]
	b	.L310
.L311:
	ldr	r4, [fp, #-36]
	ldr	r3, [fp, #-48]
	mov	r0, r3
	bl	localtime
	mov	r3, r0
	ldr	r2, .L316+12
	mov	r1, r4
	ldr	r0, [fp, #-32]
	bl	strftime
	mov	r3, r0
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-32]
	add	r0, r2, r3
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-28]
	sub	r3, r2, r3
	mov	r1, r3
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #4]
	ldr	r2, .L316+16
	bl	snprintf
	mov	r2, r0
	ldr	r3, [fp, #-28]
	add	r3, r3, r2
	str	r3, [fp, #-28]
.L310:
	ldr	r3, [fp, #-28]
	ldr	r2, .L316
	ldr	r1, [r2]
	ldr	r2, [fp, #-16]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L315
	bl	__stack_chk_fail
.L315:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L317:
	.align	2
.L316:
	.word	.LC52
	.word	start_ts
	.word	.LC49
	.word	.LC50
	.word	.LC51
	.size	write_ts, .-write_ts
	.section	.rodata
	.align	2
.LC53:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	write_to_capture
	.syntax unified
	.arm
	.fpu softvfp
	.type	write_to_capture, %function
write_to_capture:
	@ args = 0, pretend = 0, frame = 72
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #80
	str	r0, [fp, #-64]
	str	r1, [fp, #-68]
	str	r2, [fp, #-72]
	ldr	r3, .L328
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-56]
	b	.L319
.L325:
	ldr	r3, .L328+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L320
	ldr	r3, .L328+8
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L320
	mov	r1, #0
	ldr	r0, .L328+12
	bl	gettimeofday
	ldr	r3, .L328+4
	ldr	r2, [r3]
	sub	r0, fp, #40
	ldr	r3, .L328+12
	str	r3, [sp]
	ldr	r3, .L328+16
	mov	r1, #30
	bl	write_ts
	str	r0, [fp, #-48]
	ldr	r2, [fp, #-48]
	sub	r3, fp, #40
	mov	r1, r3
	ldr	r0, [fp, #-64]
	bl	write
	str	r0, [fp, #-48]
	ldr	r3, .L328+8
	mov	r2, #0
	str	r2, [r3]
.L320:
	ldr	r3, [fp, #-68]
	add	r2, r3, #12
	ldr	r3, [fp, #-68]
	ldr	r3, [r3, #4]
	mov	r1, r3
	ldr	r3, [fp, #-56]
	add	r3, r1, r3
	add	r3, r2, r3
	ldr	r2, [fp, #-72]
	mov	r1, #10
	mov	r0, r3
	bl	memchr
	str	r0, [fp, #-44]
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	beq	.L321
	ldr	r3, .L328+8
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-68]
	add	r2, r3, #12
	ldr	r3, [fp, #-68]
	ldr	r3, [r3, #4]
	mov	r1, r3
	ldr	r3, [fp, #-56]
	add	r3, r1, r3
	add	r3, r2, r3
	ldr	r2, [fp, #-44]
	sub	r3, r2, r3
	add	r3, r3, #1
	str	r3, [fp, #-52]
	b	.L322
.L321:
	ldr	r3, [fp, #-72]
	str	r3, [fp, #-52]
.L322:
	ldr	r3, [fp, #-68]
	add	r2, r3, #12
	ldr	r3, [fp, #-68]
	ldr	r3, [r3, #4]
	mov	r1, r3
	ldr	r3, [fp, #-56]
	add	r3, r1, r3
	add	r3, r2, r3
	ldr	r2, [fp, #-52]
	mov	r1, r3
	ldr	r0, [fp, #-64]
	bl	write
	str	r0, [fp, #-48]
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	blt	.L327
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-48]
	add	r3, r2, r3
	str	r3, [fp, #-56]
	ldr	r2, [fp, #-72]
	ldr	r3, [fp, #-48]
	sub	r3, r2, r3
	str	r3, [fp, #-72]
	ldr	r3, .L328+16
	ldr	r2, .L328+12
	ldm	r2, {r0, r1}
	stm	r3, {r0, r1}
.L319:
	ldr	r3, [fp, #-72]
	cmp	r3, #0
	bgt	.L325
	b	.L324
.L327:
	nop
.L324:
	nop
	ldr	r3, .L328
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L326
	bl	__stack_chk_fail
.L326:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L329:
	.align	2
.L328:
	.word	.LC53
	.word	ts_mode
	.word	cap_bol.6801
	.word	line_ts.6800
	.word	prev_ts.6799
	.size	write_to_capture, .-write_to_capture
	.align	2
	.global	buf_to_fd
	.syntax unified
	.arm
	.fpu softvfp
	.type	buf_to_fd, %function
buf_to_fd:
	@ 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, [fp, #-20]
	ldr	r3, [r3]
	cmp	r3, #0
	blt	.L335
	ldr	r3, [fp, #-20]
	add	r3, r3, #12
	ldr	r2, [fp, #-20]
	ldr	r2, [r2]
	add	r1, r3, r2
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	rsb	r2, r3, #2048
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #8]
	cmp	r2, r3
	movlt	r3, r2
	movge	r3, r3
	mov	r2, r3
	ldr	r0, [fp, #-16]
	bl	write
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bge	.L333
	bl	__errno_location
	mov	r3, r0
	ldr	r3, [r3]
	cmp	r3, #11
	beq	.L336
	ldr	r3, [fp, #-20]
	mvn	r2, #0
	str	r2, [r3]
	b	.L336
.L333:
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-20]
	bl	b_skip
	b	.L330
.L335:
	nop
	b	.L330
.L336:
	nop
.L330:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	buf_to_fd, .-buf_to_fd
	.align	2
	.global	fd_to_buf
	.syntax unified
	.arm
	.fpu softvfp
	.type	fd_to_buf, %function
fd_to_buf:
	@ 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]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	blt	.L346
	ldr	r3, [fp, #-20]
	add	r3, r3, #12
	ldr	r2, [fp, #-20]
	ldr	r2, [r2, #4]
	add	r1, r3, r2
	ldr	r3, [fp, #-20]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #8]
	cmp	r2, r3
	bge	.L340
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #8]
	rsb	r3, r3, #2048
	b	.L341
.L340:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #4]
	rsb	r3, r3, #2048
.L341:
	mov	r2, r3
	ldr	r0, [fp, #-16]
	bl	read
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bgt	.L342
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L343
	bl	__errno_location
	mov	r3, r0
	ldr	r3, [r3]
	cmp	r3, #11
	beq	.L347
.L343:
	ldr	r3, [fp, #-20]
	mvn	r2, #0
	str	r2, [r3, #4]
	b	.L347
.L342:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	blt	.L345
	ldr	r2, [fp, #-8]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-24]
	bl	write_to_capture
.L345:
	ldr	r3, [fp, #-20]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	add	r2, r2, r3
	ldr	r3, [fp, #-20]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-20]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	add	r2, r2, r3
	ldr	r3, [fp, #-20]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #4]
	cmp	r3, #2048
	blt	.L337
	ldr	r3, [fp, #-20]
	mov	r2, #0
	str	r2, [r3, #4]
	b	.L337
.L346:
	nop
	b	.L337
.L347:
	nop
.L337:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	fd_to_buf, .-fd_to_buf
	.section	.rodata
	.align	2
.LC54:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	fd_to_buf_slow
	.syntax unified
	.arm
	.fpu softvfp
	.type	fd_to_buf_slow, %function
fd_to_buf_slow:
	@ args = 0, pretend = 0, frame = 1064
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #1056
	sub	sp, sp, #8
	str	r0, [fp, #-1056]
	str	r1, [fp, #-1060]
	str	r2, [fp, #-1064]
	ldr	r3, .L372
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-1060]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	blt	.L369
	ldr	r3, [fp, #-1060]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-1060]
	ldr	r3, [r3, #8]
	cmp	r2, r3
	bge	.L351
	ldr	r3, [fp, #-1060]
	ldr	r3, [r3, #8]
	rsb	r3, r3, #2048
	b	.L352
.L351:
	ldr	r3, [fp, #-1060]
	ldr	r3, [r3, #4]
	rsb	r3, r3, #2048
.L352:
	str	r3, [fp, #-1040]
	ldr	r3, [fp, #-1040]
	cmp	r3, #1
	ble	.L370
	ldr	r3, [fp, #-1040]
	lsr	r2, r3, #31
	add	r3, r2, r3
	asr	r3, r3, #1
	str	r3, [fp, #-1040]
	ldr	r2, [fp, #-1040]
	sub	r3, fp, #1024
	sub	r3, r3, #4
	sub	r3, r3, #4
	mov	r1, r3
	ldr	r0, [fp, #-1056]
	bl	read
	str	r0, [fp, #-1036]
	ldr	r3, [fp, #-1036]
	cmp	r3, #0
	bgt	.L354
	ldr	r3, [fp, #-1036]
	cmp	r3, #0
	beq	.L355
	bl	__errno_location
	mov	r3, r0
	ldr	r3, [r3]
	cmp	r3, #11
	beq	.L371
.L355:
	ldr	r3, [fp, #-1060]
	mvn	r2, #0
	str	r2, [r3, #4]
	b	.L371
.L354:
	mov	r3, #0
	str	r3, [fp, #-1044]
	ldr	r3, [fp, #-1060]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-1048]
	mov	r3, #0
	str	r3, [fp, #-1052]
	b	.L357
.L365:
	sub	r3, fp, #1024
	sub	r3, r3, #4
	sub	r3, r3, #4
	ldr	r2, [fp, #-1052]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	bne	.L358
	ldr	r3, .L372+4
	ldr	r3, [r3]
	cmp	r3, #1
	beq	.L359
.L358:
	sub	r3, fp, #1024
	sub	r3, r3, #4
	sub	r3, r3, #4
	ldr	r2, [fp, #-1052]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #13
	bne	.L360
	ldr	r3, .L372+4
	ldr	r3, [r3]
	cmp	r3, #2
	bne	.L360
.L359:
	ldr	r3, [fp, #-1048]
	add	r2, r3, #1
	str	r2, [fp, #-1048]
	ldr	r2, [fp, #-1060]
	add	r3, r2, r3
	mov	r2, #13
	strb	r2, [r3, #12]
	ldr	r3, [fp, #-1048]
	cmp	r3, #2048
	bne	.L361
	mov	r3, #0
	str	r3, [fp, #-1048]
.L361:
	ldr	r3, [fp, #-1048]
	add	r2, r3, #1
	str	r2, [fp, #-1048]
	ldr	r2, [fp, #-1060]
	add	r3, r2, r3
	mov	r2, #10
	strb	r2, [r3, #12]
	ldr	r3, [fp, #-1048]
	cmp	r3, #2048
	bne	.L362
	mov	r3, #0
	str	r3, [fp, #-1048]
.L362:
	ldr	r3, [fp, #-1044]
	add	r3, r3, #2
	str	r3, [fp, #-1044]
	b	.L363
.L360:
	ldr	r2, [fp, #-1048]
	add	r3, r2, #1
	str	r3, [fp, #-1048]
	sub	r3, fp, #1024
	sub	r3, r3, #4
	sub	r3, r3, #4
	ldr	r1, [fp, #-1052]
	add	r3, r3, r1
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-1060]
	add	r3, r3, r2
	mov	r2, r1
	strb	r2, [r3, #12]
	ldr	r3, [fp, #-1048]
	cmp	r3, #2048
	bne	.L364
	mov	r3, #0
	str	r3, [fp, #-1048]
.L364:
	ldr	r3, [fp, #-1044]
	add	r3, r3, #1
	str	r3, [fp, #-1044]
.L363:
	ldr	r3, [fp, #-1052]
	add	r3, r3, #1
	str	r3, [fp, #-1052]
.L357:
	ldr	r2, [fp, #-1052]
	ldr	r3, [fp, #-1036]
	cmp	r2, r3
	blt	.L365
	ldr	r3, [fp, #-1064]
	cmp	r3, #0
	blt	.L366
	ldr	r2, [fp, #-1044]
	ldr	r1, [fp, #-1060]
	ldr	r0, [fp, #-1064]
	bl	write_to_capture
.L366:
	ldr	r3, [fp, #-1060]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-1044]
	add	r2, r2, r3
	ldr	r3, [fp, #-1060]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-1060]
	ldr	r2, [fp, #-1048]
	str	r2, [r3, #4]
	b	.L348
.L369:
	nop
	b	.L348
.L370:
	nop
	b	.L348
.L371:
	nop
.L348:
	ldr	r3, .L372
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L368
	bl	__stack_chk_fail
.L368:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L373:
	.align	2
.L372:
	.word	.LC54
	.word	crlf_mode
	.size	fd_to_buf_slow, .-fd_to_buf_slow
	.section	.rodata
	.align	2
.LC55:
	.ascii	"<0x%02X>\000"
	.align	2
.LC56:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	xfer_port_to_user
	.syntax unified
	.arm
	.fpu softvfp
	.type	xfer_port_to_user, %function
xfer_port_to_user:
	@ args = 4, pretend = 0, frame = 80
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #88
	str	r0, [fp, #-64]
	str	r1, [fp, #-68]
	str	r2, [fp, #-72]
	str	r3, [fp, #-76]
	ldr	r3, [fp, #4]
	str	r3, [fp, #-80]
	ldr	r3, .L403
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	b	.L375
.L399:
	ldr	r3, .L403+4
	ldr	r3, [r3]
	str	r3, [fp, #-60]
	ldr	r0, [fp, #-64]
	bl	b_peek
	str	r0, [fp, #-56]
	ldr	r3, [fp, #-56]
	cmp	r3, #10
	bne	.L376
	ldr	r3, .L403+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L377
	ldr	r3, .L403+4
	ldr	r3, [r3]
	cmp	r3, #1
	beq	.L377
.L376:
	ldr	r3, [fp, #-56]
	cmp	r3, #13
	bne	.L378
	ldr	r3, .L403+4
	ldr	r3, [r3]
	cmp	r3, #3
	bne	.L378
.L377:
	mov	r3, #0
	str	r3, [fp, #-60]
	b	.L379
.L378:
	ldr	r3, .L403+4
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L380
	ldr	r3, [fp, #-56]
	cmp	r3, #13
	bne	.L380
	mov	r3, #1
	str	r3, [fp, #-60]
	b	.L379
.L380:
	ldr	r3, .L403+4
	ldr	r3, [r3]
	cmp	r3, #3
	beq	.L381
	ldr	r3, [fp, #-56]
	cmp	r3, #10
	beq	.L381
	ldr	r3, [fp, #-56]
	cmp	r3, #13
	beq	.L381
	mov	r3, #2
	str	r3, [fp, #-60]
	b	.L379
.L381:
	ldr	r3, .L403+4
	ldr	r3, [r3]
	cmp	r3, #2
	bne	.L379
	ldr	r3, [fp, #-56]
	cmp	r3, #10
	bne	.L382
	mov	r3, #3
	str	r3, [fp, #-60]
	b	.L379
.L382:
	ldr	r3, [fp, #-56]
	cmp	r3, #13
	bne	.L379
	mov	r3, #1
	str	r3, [fp, #-60]
.L379:
	ldr	r3, .L403+4
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L383
	ldr	r3, [fp, #-60]
	cmp	r3, #2
	bne	.L383
	ldr	r3, .L403+8
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L383
	ldr	r3, .L403+12
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L384
	ldr	r3, .L403+12
	ldr	r2, [r3]
	b	.L385
.L384:
	mov	r2, #1
.L385:
	sub	r0, fp, #40
	ldr	r3, .L403+16
	str	r3, [sp]
	ldr	r3, .L403+20
	mov	r1, #30
	bl	write_ts
	str	r0, [fp, #-52]
	sub	r1, fp, #40
	mov	r3, #0
	ldr	r2, [fp, #-52]
	ldr	r0, [fp, #-68]
	bl	b_puts
	ldr	r2, .L403+4
	ldr	r3, [fp, #-60]
	str	r3, [r2]
.L383:
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-72]
	cmp	r2, r3
	blt	.L386
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-76]
	cmp	r2, r3
	bgt	.L386
	ldr	r3, [fp, #-80]
	cmp	r3, #0
	beq	.L387
	ldr	r3, [fp, #-80]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L387
	ldr	r3, [fp, #-56]
	cmp	r3, #128
	ble	.L387
	ldr	r3, [fp, #-56]
	cmp	r3, #158
	ble	.L386
.L387:
	mov	r2, #1024
	ldr	r1, [fp, #-56]
	ldr	r0, [fp, #-68]
	bl	b_putchar
	mov	r3, r0
	cmp	r3, #0
	bne	.L390
	b	.L389
.L386:
	sub	r0, fp, #48
	ldr	r3, [fp, #-56]
	ldr	r2, .L403+24
	mov	r1, #7
	bl	snprintf
	sub	r1, fp, #48
	mov	r3, #1024
	mov	r2, #6
	ldr	r0, [fp, #-68]
	bl	b_puts
	mov	r3, r0
	cmp	r3, #0
	beq	.L402
.L390:
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	bne	.L392
	ldr	r3, .L403+20
	ldr	r2, .L403+16
	ldm	r2, {r0, r1}
	stm	r3, {r0, r1}
	mov	r1, #0
	ldr	r0, .L403+16
	bl	gettimeofday
	ldr	r3, .L403+8
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L392
	ldr	r3, .L403+12
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L393
	ldr	r3, .L403+12
	ldr	r2, [r3]
	b	.L394
.L393:
	mov	r2, #1
.L394:
	sub	r0, fp, #40
	ldr	r3, .L403+16
	str	r3, [sp]
	ldr	r3, .L403+20
	mov	r1, #30
	bl	write_ts
	str	r0, [fp, #-52]
	sub	r1, fp, #40
	mov	r3, #0
	ldr	r2, [fp, #-52]
	ldr	r0, [fp, #-68]
	bl	b_puts
.L392:
	ldr	r2, .L403+4
	ldr	r3, [fp, #-60]
	str	r3, [r2]
	ldr	r3, [fp, #-80]
	cmp	r3, #0
	beq	.L395
	ldr	r3, [fp, #-80]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L396
	ldr	r3, [fp, #-56]
	cmp	r3, #127
	ble	.L397
	ldr	r3, [fp, #-56]
	cmp	r3, #191
	ble	.L396
.L397:
	ldr	r3, [fp, #-80]
	mov	r2, #0
	str	r2, [r3]
.L396:
	ldr	r3, [fp, #-80]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L395
	ldr	r3, [fp, #-56]
	cmp	r3, #191
	ble	.L395
	ldr	r3, [fp, #-56]
	cmp	r3, #247
	bgt	.L395
	ldr	r3, [fp, #-80]
	mov	r2, #1
	str	r2, [r3]
.L395:
	mov	r1, #1
	ldr	r0, [fp, #-64]
	bl	b_skip
	ldr	r3, [fp, #-56]
	cmp	r3, #10
	bne	.L375
	mov	r3, #1
	b	.L400
.L375:
	ldr	r3, [fp, #-64]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	beq	.L389
	ldr	r3, [fp, #-68]
	ldr	r3, [r3, #8]
	cmp	r3, #2048
	blt	.L399
	b	.L389
.L402:
	nop
.L389:
	mov	r3, #0
.L400:
	ldr	r2, .L403
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L401
	bl	__stack_chk_fail
.L401:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L404:
	.align	2
.L403:
	.word	.LC56
	.word	line_state
	.word	ts_term
	.word	ts_mode
	.word	line_ts.6844
	.word	prev_ts.6843
	.word	.LC55
	.size	xfer_port_to_user, .-xfer_port_to_user
	.align	2
	.global	xfer_user_to_port
	.syntax unified
	.arm
	.fpu softvfp
	.type	xfer_user_to_port, %function
xfer_user_to_port:
	@ 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]
	b	.L406
.L411:
	ldr	r0, [fp, #-16]
	bl	b_peek
	str	r0, [fp, #-8]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	bne	.L407
	mvn	r3, #0
	b	.L408
.L407:
	mov	r2, #1024
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-20]
	bl	b_putchar
	mov	r3, r0
	cmp	r3, #0
	beq	.L412
	mov	r1, #1
	ldr	r0, [fp, #-16]
	bl	b_skip
.L406:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	beq	.L410
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #8]
	cmp	r3, #2048
	blt	.L411
	b	.L410
.L412:
	nop
.L410:
	mov	r3, #0
.L408:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	xfer_user_to_port, .-xfer_user_to_port
	.section	.rodata
	.align	2
.LC57:
	.ascii	"DTR\000"
	.align	2
.LC58:
	.ascii	"dtr\000"
	.align	2
.LC59:
	.ascii	"RTS\000"
	.align	2
.LC60:
	.ascii	"rts\000"
	.align	2
.LC61:
	.ascii	"CTS\000"
	.align	2
.LC62:
	.ascii	"cts\000"
	.align	2
.LC63:
	.ascii	"DSR\000"
	.align	2
.LC64:
	.ascii	"dsr\000"
	.align	2
.LC65:
	.ascii	"CD\000"
	.align	2
.LC66:
	.ascii	"cd\000"
	.align	2
.LC67:
	.ascii	"RI\000"
	.align	2
.LC68:
	.ascii	"ri\000"
	.align	2
.LC69:
	.ascii	"\015\012Port name: %s    Speed: %d bps    Pins: %s "
	.ascii	"%s %s %s %s %s\015\012\000"
	.align	2
.LC70:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	show_port
	.syntax unified
	.arm
	.fpu softvfp
	.type	show_port, %function
show_port:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #56
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	ldr	r3, .L427
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	sub	r3, fp, #20
	mov	r2, r3
	ldr	r1, .L427+4
	ldr	r0, [fp, #-24]
	bl	ioctl
	ldr	r3, .L427+8
	ldr	r4, [r3]
	ldr	r0, [fp, #-24]
	bl	get_baud_rate
	mov	r5, r0
	ldr	r3, [fp, #-20]
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L414
	ldr	r3, .L427+12
	b	.L415
.L414:
	ldr	r3, .L427+16
.L415:
	ldr	r2, [fp, #-20]
	and	r2, r2, #4
	cmp	r2, #0
	beq	.L416
	ldr	r2, .L427+20
	b	.L417
.L416:
	ldr	r2, .L427+24
.L417:
	ldr	r1, [fp, #-20]
	and	r1, r1, #32
	cmp	r1, #0
	beq	.L418
	ldr	r1, .L427+28
	b	.L419
.L418:
	ldr	r1, .L427+32
.L419:
	ldr	r0, [fp, #-20]
	and	r0, r0, #256
	cmp	r0, #0
	beq	.L420
	ldr	r0, .L427+36
	b	.L421
.L420:
	ldr	r0, .L427+40
.L421:
	ldr	ip, [fp, #-20]
	and	ip, ip, #64
	cmp	ip, #0
	beq	.L422
	ldr	ip, .L427+44
	b	.L423
.L422:
	ldr	ip, .L427+48
.L423:
	ldr	lr, [fp, #-20]
	and	lr, lr, #128
	cmp	lr, #0
	beq	.L424
	ldr	lr, .L427+52
	b	.L425
.L424:
	ldr	lr, .L427+56
.L425:
	str	lr, [sp, #24]
	str	ip, [sp, #20]
	str	r0, [sp, #16]
	str	r1, [sp, #12]
	str	r2, [sp, #8]
	str	r3, [sp, #4]
	str	r5, [sp]
	mov	r3, r4
	ldr	r2, .L427+60
	ldr	r1, [fp, #-32]
	ldr	r0, [fp, #-28]
	bl	snprintf
	nop
	ldr	r3, .L427
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L426
	bl	__stack_chk_fail
.L426:
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L428:
	.align	2
.L427:
	.word	.LC70
	.word	21525
	.word	port
	.word	.LC57
	.word	.LC58
	.word	.LC59
	.word	.LC60
	.word	.LC61
	.word	.LC62
	.word	.LC63
	.word	.LC64
	.word	.LC65
	.word	.LC66
	.word	.LC67
	.word	.LC68
	.word	.LC69
	.size	show_port, .-show_port
	.section	.rodata
	.align	2
.LC71:
	.ascii	"Failed to retrieve stdio settings.\012\000"
	.align	2
.LC72:
	.ascii	"Failed to set stdio to raw mode.\012\000"
	.align	2
.LC73:
	.ascii	"\033[?5h\000"
	.align	2
.LC74:
	.ascii	"\033[?5l\000"
	.align	2
.LC75:
	.ascii	"Sent break\015\012\000"
	.align	2
.LC76:
	.ascii	"Enabling capture\015\012\000"
	.align	2
.LC77:
	.ascii	"Disabling capture\015\012\000"
	.align	2
.LC78:
	.ascii	"Enabling terminal timestamps\015\012\000"
	.align	2
.LC79:
	.ascii	"Disabling terminal timestamps\015\012\000"
	.align	2
.LC80:
	.ascii	"Failed to restore stdio settings. Try 'stty sane'\012"
	.ascii	"\000"
	.align	2
.LC81:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	forward
	.syntax unified
	.arm
	.fpu softvfp
	.type	forward, %function
forward:
	@ args = 0, pretend = 0, frame = 10712
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #10688
	sub	sp, sp, #36
	sub	r3, fp, #8192
	sub	r3, r3, #12
	str	r0, [r3, #-2508]
	ldr	r3, .L501
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-2492]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	sub	r3, r3, #2096
	sub	r3, r3, #4
	ldr	r2, .L501+4
	mov	r1, #0
	mov	r0, r3
	bl	memset
	sub	r3, fp, #8192
	sub	r3, r3, #12
	sub	r3, r3, #40
	ldr	r2, .L501+4
	mov	r1, #0
	mov	r0, r3
	bl	memset
	sub	r3, fp, #4096
	sub	r3, r3, #12
	sub	r3, r3, #2064
	sub	r3, r3, #12
	ldr	r2, .L501+4
	mov	r1, #0
	mov	r0, r3
	bl	memset
	sub	r3, fp, #4096
	sub	r3, r3, #12
	sub	r3, r3, #16
	ldr	r2, .L501+4
	mov	r1, #0
	mov	r0, r3
	bl	memset
	sub	r3, fp, #8192
	sub	r3, r3, #12
	sub	r3, r3, #2448
	sub	r3, r3, #8
	mov	r0, r3
	bl	tv_unset
	sub	r3, fp, #8192
	sub	r3, r3, #12
	sub	r3, r3, #2448
	mov	r0, r3
	bl	tv_unset
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-2488]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-2500]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-2484]
	mov	r0, #0
	bl	isatty
	mov	r3, r0
	cmp	r3, #0
	beq	.L430
	mov	r0, #1
	bl	isatty
	mov	r3, r0
	cmp	r3, #0
	beq	.L430
	sub	r3, fp, #10368
	sub	r3, r3, #12
	sub	r3, r3, #52
	mov	r1, r3
	mov	r0, #0
	bl	tcgetattr
	mov	r3, r0
	cmp	r3, #0
	beq	.L431
	ldr	r1, .L501+8
	mov	r0, #4
	bl	die
.L431:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	sub	ip, r2, #2384
	sub	ip, ip, #8
	sub	lr, r3, #2224
	sub	lr, lr, #4
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldr	r3, [lr]
	str	r3, [ip]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2228]
	bic	r3, r3, #1504
	bic	r3, r3, #11
	sub	r2, fp, #8192
	sub	r2, r2, #12
	str	r3, [r2, #-2228]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2224]
	bic	r3, r3, #1
	sub	r2, fp, #8192
	sub	r2, r2, #12
	str	r3, [r2, #-2224]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2216]
	bic	r3, r3, #32768
	bic	r3, r3, #75
	sub	r2, fp, #8192
	sub	r2, r2, #12
	str	r3, [r2, #-2216]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2220]
	bic	r3, r3, #304
	sub	r2, fp, #8192
	sub	r2, r2, #12
	str	r3, [r2, #-2220]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2220]
	orr	r3, r3, #48
	sub	r2, fp, #8192
	sub	r2, r2, #12
	str	r3, [r2, #-2220]
	sub	r3, fp, #10368
	sub	r3, r3, #12
	sub	r3, r3, #52
	mov	r2, r3
	mov	r1, #0
	mov	r0, #0
	bl	tcsetattr
	mov	r3, r0
	cmp	r3, #0
	beq	.L432
	ldr	r1, .L501+12
	mov	r0, #4
	bl	die
.L432:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #1
	str	r3, [r2, #-2492]
.L430:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #10496
	sub	r3, r3, #12
	sub	r3, r3, #52
	str	r3, [r2, #-2472]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-2480]
	b	.L433
.L434:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2472]
	sub	r2, fp, #8192
	sub	r2, r2, #12
	ldr	r2, [r2, #-2480]
	mov	r1, #0
	str	r1, [r3, r2, lsl #2]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2480]
	add	r3, r3, #1
	str	r3, [r2, #-2480]
.L433:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2480]
	cmp	r3, #31
	bls	.L434
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #10368
	sub	r3, r3, #12
	sub	r3, r3, #52
	str	r3, [r2, #-2468]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-2476]
	b	.L435
.L436:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2468]
	sub	r2, fp, #8192
	sub	r2, r2, #12
	ldr	r2, [r2, #-2476]
	mov	r1, #0
	str	r1, [r3, r2, lsl #2]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2476]
	add	r3, r3, #1
	str	r3, [r2, #-2476]
.L435:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2476]
	cmp	r3, #31
	bls	.L436
	b	.L437
.L490:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-2072]
	cmp	r3, #0
	blt	.L438
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-2068]
	cmp	r3, #2048
	bge	.L438
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2356]
	orr	r3, r3, #1
	sub	r2, fp, #8192
	sub	r2, r2, #12
	str	r3, [r2, #-2356]
	b	.L439
.L438:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2356]
	bic	r3, r3, #1
	sub	r2, fp, #8192
	sub	r2, r2, #12
	str	r3, [r2, #-2356]
.L439:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-16]
	cmp	r3, #0
	blt	.L440
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-8]
	cmp	r3, #0
	ble	.L440
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2228]
	orr	r3, r3, #2
	sub	r2, fp, #8192
	sub	r2, r2, #12
	str	r3, [r2, #-2228]
	b	.L441
.L440:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2228]
	bic	r3, r3, #2
	sub	r2, fp, #8192
	sub	r2, r2, #12
	str	r3, [r2, #-2228]
.L441:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2096]
	cmp	r3, #0
	blt	.L442
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2092]
	cmp	r3, #2048
	bge	.L442
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2508]
	add	r2, r3, #31
	cmp	r3, #0
	movlt	r3, r2
	movge	r3, r3
	asr	r3, r3, #5
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r1, r3
	lsl	r3, r2, #2
	add	r3, r1, r3
	ldr	r1, [r3, #-2356]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2508]
	rsbs	r0, r3, #0
	and	r3, r3, #31
	and	r0, r0, #31
	rsbpl	r3, r0, #0
	mov	r0, #1
	lsl	r3, r0, r3
	orr	r1, r1, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r0, r3
	lsl	r3, r2, #2
	add	r3, r0, r3
	str	r1, [r3, #-2356]
	b	.L443
.L442:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2508]
	add	r2, r3, #31
	cmp	r3, #0
	movlt	r3, r2
	movge	r3, r3
	asr	r3, r3, #5
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r1, r3
	lsl	r3, r2, #2
	add	r3, r1, r3
	ldr	r1, [r3, #-2356]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2508]
	rsbs	r0, r3, #0
	and	r3, r3, #31
	and	r0, r0, #31
	rsbpl	r3, r0, #0
	mov	r0, #1
	lsl	r3, r0, r3
	mvn	r3, r3
	and	r1, r1, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r0, r3
	lsl	r3, r2, #2
	add	r3, r0, r3
	str	r1, [r3, #-2356]
.L443:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-40]
	cmp	r3, #0
	blt	.L444
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-32]
	cmp	r3, #0
	ble	.L444
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2508]
	add	r2, r3, #31
	cmp	r3, #0
	movlt	r3, r2
	movge	r3, r3
	asr	r3, r3, #5
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r1, r3
	lsl	r3, r2, #2
	add	r3, r1, r3
	ldr	r1, [r3, #-2228]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2508]
	rsbs	r0, r3, #0
	and	r3, r3, #31
	and	r0, r0, #31
	rsbpl	r3, r0, #0
	mov	r0, #1
	lsl	r3, r0, r3
	orr	r1, r1, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r0, r3
	lsl	r3, r2, #2
	add	r3, r0, r3
	str	r1, [r3, #-2228]
	b	.L445
.L444:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2508]
	add	r2, r3, #31
	cmp	r3, #0
	movlt	r3, r2
	movge	r3, r3
	asr	r3, r3, #5
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r1, r3
	lsl	r3, r2, #2
	add	r3, r1, r3
	ldr	r1, [r3, #-2228]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2508]
	rsbs	r0, r3, #0
	and	r3, r3, #31
	and	r0, r0, #31
	rsbpl	r3, r0, #0
	mov	r0, #1
	lsl	r3, r0, r3
	mvn	r3, r3
	and	r1, r1, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r0, r3
	lsl	r3, r2, #2
	add	r3, r0, r3
	str	r1, [r3, #-2228]
.L445:
	sub	r3, fp, #10624
	sub	r3, r3, #12
	sub	r3, r3, #8
	mov	r1, #0
	mov	r0, r3
	bl	gettimeofday
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r4, r3
	sub	r3, fp, #10688
	sub	r3, r3, #12
	sub	r3, r3, #24
	mov	r0, r3
	bl	tv_unset
	sub	r3, fp, #8192
	sub	r3, r3, #12
	sub	r2, r4, #2432
	sub	r3, r3, #2512
	sub	r3, r3, #8
	ldm	r3, {r0, r1}
	stm	r2, {r0, r1}
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2484]
	cmp	r3, #0
	beq	.L446
	sub	r3, fp, #8192
	sub	r3, r3, #12
	sub	r0, r3, #2416
	sub	r0, r0, #8
	sub	r3, fp, #8192
	sub	r3, r3, #12
	sub	r2, fp, #8192
	sub	r2, r2, #12
	mov	r1, r2
	ldr	r2, [r3, #-2452]
	str	r2, [sp]
	ldr	r3, [r3, #-2456]
	sub	r2, r1, #2432
	sub	r2, r2, #8
	ldm	r2, {r1, r2}
	bl	tv_diff
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r4, r3
	sub	r0, fp, #10688
	sub	r0, r0, #12
	sub	r0, r0, #24
	sub	r3, fp, #8192
	sub	r3, r3, #12
	sub	r2, fp, #8192
	sub	r2, r2, #12
	mov	r1, r2
	ldr	r2, [r3, #-2420]
	str	r2, [sp]
	ldr	r3, [r3, #-2424]
	sub	r2, r1, #2432
	ldm	r2, {r1, r2}
	bl	tv_min
	sub	r3, fp, #8192
	sub	r3, r3, #12
	sub	r2, r4, #2432
	sub	r3, r3, #2512
	sub	r3, r3, #8
	ldm	r3, {r0, r1}
	stm	r2, {r0, r1}
.L446:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2488]
	cmp	r3, #0
	beq	.L447
	sub	r3, fp, #8192
	sub	r3, r3, #12
	sub	r0, r3, #2416
	sub	r3, fp, #8192
	sub	r3, r3, #12
	sub	r2, fp, #8192
	sub	r2, r2, #12
	mov	r1, r2
	ldr	r2, [r3, #-2444]
	str	r2, [sp]
	ldr	r3, [r3, #-2448]
	sub	r2, r1, #2432
	sub	r2, r2, #8
	ldm	r2, {r1, r2}
	bl	tv_diff
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r4, r3
	sub	r0, fp, #10688
	sub	r0, r0, #12
	sub	r0, r0, #24
	sub	r3, fp, #8192
	sub	r3, r3, #12
	sub	r2, fp, #8192
	sub	r2, r2, #12
	mov	r1, r2
	ldr	r2, [r3, #-2412]
	str	r2, [sp]
	ldr	r3, [r3, #-2416]
	sub	r2, r1, #2432
	ldm	r2, {r1, r2}
	bl	tv_min
	sub	r3, fp, #8192
	sub	r3, r3, #12
	sub	r2, r4, #2432
	sub	r3, r3, #2512
	sub	r3, r3, #8
	ldm	r3, {r0, r1}
	stm	r2, {r0, r1}
.L447:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	sub	r3, r3, #2432
	ldm	r3, {r0, r1}
	bl	tv_isset
	mov	r3, r0
	cmp	r3, #0
	beq	.L448
	sub	r3, fp, #10624
	sub	r3, r3, #12
	b	.L449
.L448:
	mov	r3, #0
.L449:
	sub	r2, fp, #8192
	sub	r2, r2, #12
	mov	r4, r2
	sub	r2, fp, #10368
	sub	r2, r2, #12
	sub	r2, r2, #52
	sub	r1, fp, #10496
	sub	r1, r1, #12
	sub	r1, r1, #52
	str	r3, [sp]
	mov	r3, #0
	mov	r0, #1024
	bl	select
	str	r0, [r4, #-2464]
	sub	r3, fp, #10624
	sub	r3, r3, #12
	sub	r3, r3, #8
	mov	r1, #0
	mov	r0, r3
	bl	gettimeofday
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2484]
	cmp	r3, #0
	beq	.L450
	sub	r3, fp, #8192
	sub	r3, r3, #12
	sub	r2, fp, #8192
	sub	r2, r2, #12
	mov	r1, r2
	sub	r3, r3, #2448
	sub	r3, r3, #8
	ldm	r3, {r2, r3}
	sub	r1, r1, #2432
	sub	r1, r1, #8
	ldm	r1, {r0, r1}
	bl	tv_isbefore
	mov	r3, r0
	cmp	r3, #0
	bne	.L450
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-2484]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2492]
	cmp	r3, #0
	beq	.L450
	sub	r0, fp, #4096
	sub	r0, r0, #12
	sub	r0, r0, #16
	mov	r3, #0
	mov	r2, #5
	ldr	r1, .L501+16
	bl	b_puts
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #1
	str	r3, [r2, #-2488]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	sub	r3, r3, #2400
	sub	r3, r3, #8
	ldr	r2, .L501+20
	mov	r1, #0
	mov	r0, r3
	bl	tv_set
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r4, r3
	sub	r0, fp, #10688
	sub	r0, r0, #12
	sub	r0, r0, #24
	sub	r3, fp, #8192
	sub	r3, r3, #12
	sub	r2, fp, #8192
	sub	r2, r2, #12
	mov	r1, r2
	ldr	r2, [r3, #-2404]
	str	r2, [sp]
	ldr	r3, [r3, #-2408]
	sub	r2, r1, #2432
	sub	r2, r2, #8
	ldm	r2, {r1, r2}
	bl	tv_add
	sub	r3, fp, #8192
	sub	r3, r3, #12
	sub	r2, r4, #2448
	sub	r3, r3, #2512
	sub	r3, r3, #8
	ldm	r3, {r0, r1}
	stm	r2, {r0, r1}
.L450:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2488]
	cmp	r3, #0
	beq	.L451
	sub	r3, fp, #8192
	sub	r3, r3, #12
	sub	r2, fp, #8192
	sub	r2, r2, #12
	mov	r1, r2
	sub	r3, r3, #2448
	ldm	r3, {r2, r3}
	sub	r1, r1, #2432
	sub	r1, r1, #8
	ldm	r1, {r0, r1}
	bl	tv_isbefore
	mov	r3, r0
	cmp	r3, #0
	bne	.L451
	sub	r0, fp, #4096
	sub	r0, r0, #12
	sub	r0, r0, #16
	mov	r3, #0
	mov	r2, #5
	ldr	r1, .L501+84
	bl	b_puts
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-2488]
.L451:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2464]
	cmp	r3, #0
	bgt	.L452
	b	.L437
.L452:
	bl	set_capture_name
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2228]
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L453
	sub	r3, fp, #4096
	sub	r3, r3, #12
	sub	r3, r3, #16
	mov	r1, r3
	mov	r0, #1
	bl	buf_to_fd
.L453:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2508]
	add	r2, r3, #31
	cmp	r3, #0
	movlt	r3, r2
	movge	r3, r3
	asr	r3, r3, #5
	sub	r2, fp, #8192
	sub	r2, r2, #12
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3, #-2228]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2508]
	rsbs	r1, r3, #0
	and	r3, r3, #31
	and	r1, r1, #31
	rsbpl	r3, r1, #0
	mov	r1, #1
	lsl	r3, r1, r3
	and	r3, r3, r2
	cmp	r3, #0
	beq	.L454
	sub	r3, fp, #8192
	sub	r3, r3, #12
	sub	r3, r3, #40
	sub	r2, fp, #8192
	sub	r2, r2, #12
	mov	r1, r3
	ldr	r0, [r2, #-2508]
	bl	buf_to_fd
.L454:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2356]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L455
	sub	r3, fp, #6144
	sub	r3, r3, #12
	sub	r3, r3, #28
	mvn	r2, #0
	mov	r1, r3
	mov	r0, #0
	bl	fd_to_buf
.L455:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2508]
	add	r2, r3, #31
	cmp	r3, #0
	movlt	r3, r2
	movge	r3, r3
	asr	r3, r3, #5
	sub	r2, fp, #8192
	sub	r2, r2, #12
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3, #-2356]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2508]
	rsbs	r1, r3, #0
	and	r3, r3, #31
	and	r1, r1, #31
	rsbpl	r3, r1, #0
	mov	r1, #1
	lsl	r3, r1, r3
	and	r3, r3, r2
	cmp	r3, #0
	beq	.L456
	ldr	r3, .L501+24
	ldr	r2, [r3]
	sub	r3, fp, #10240
	sub	r3, r3, #12
	sub	r3, r3, #52
	sub	r1, fp, #8192
	sub	r1, r1, #12
	mov	r0, r1
	mov	r1, r3
	ldr	r0, [r0, #-2508]
	bl	fd_to_buf_slow
.L456:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2484]
	cmp	r3, #0
	beq	.L457
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r4, r3
	sub	r3, fp, #6144
	sub	r3, r3, #12
	sub	r3, r3, #28
	mov	r0, r3
	bl	b_peek
	str	r0, [r4, #-2460]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2460]
	cmp	r3, #113
	beq	.L485
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2460]
	cmp	r3, #81
	beq	.L485
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2460]
	cmp	r3, #46
	beq	.L485
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2460]
	cmp	r3, #104
	beq	.L459
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2460]
	cmp	r3, #72
	beq	.L459
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2460]
	cmp	r3, #63
	bne	.L460
.L459:
	sub	r0, fp, #4096
	sub	r0, r0, #12
	sub	r0, r0, #16
	mov	r3, #0
	ldr	r2, .L501+28
	ldr	r1, .L501+32
	bl	b_puts
	mov	r3, r0
	cmp	r3, #0
	beq	.L457
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-2484]
	sub	r3, fp, #6144
	sub	r3, r3, #12
	sub	r3, r3, #28
	mov	r1, #1
	mov	r0, r3
	bl	b_skip
	b	.L457
.L460:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2460]
	cmp	r3, #100
	beq	.L463
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2460]
	cmp	r3, #68
	beq	.L463
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2460]
	cmp	r3, #102
	beq	.L463
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2460]
	cmp	r3, #70
	beq	.L463
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2460]
	cmp	r3, #114
	beq	.L463
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2460]
	cmp	r3, #82
	bne	.L464
.L463:
	sub	r3, fp, #10688
	sub	r3, r3, #12
	sub	r2, fp, #8192
	sub	r2, r2, #12
	mov	r0, r2
	mov	r2, r3
	ldr	r1, .L501+36
	ldr	r0, [r0, #-2508]
	bl	ioctl
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2460]
	cmp	r3, #100
	beq	.L465
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2460]
	cmp	r3, #68
	beq	.L465
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2460]
	cmp	r3, #102
	beq	.L465
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2460]
	cmp	r3, #70
	bne	.L466
.L465:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2496]
	eor	r3, r3, #2
	sub	r2, fp, #8192
	sub	r2, r2, #12
	str	r3, [r2, #-2496]
.L466:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2460]
	cmp	r3, #114
	beq	.L467
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2460]
	cmp	r3, #82
	beq	.L467
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2460]
	cmp	r3, #102
	beq	.L467
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2460]
	cmp	r3, #70
	bne	.L468
.L467:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2496]
	eor	r3, r3, #4
	sub	r2, fp, #8192
	sub	r2, r2, #12
	str	r3, [r2, #-2496]
.L468:
	sub	r3, fp, #10688
	sub	r3, r3, #12
	sub	r2, fp, #8192
	sub	r2, r2, #12
	mov	r0, r2
	mov	r2, r3
	ldr	r1, .L501+40
	ldr	r0, [r0, #-2508]
	bl	ioctl
	sub	r3, fp, #2048
	sub	r3, r3, #12
	sub	r3, r3, #4
	sub	r2, fp, #8192
	sub	r2, r2, #12
	mov	r0, r2
	mov	r2, #2048
	mov	r1, r3
	ldr	r0, [r0, #-2508]
	bl	show_port
	sub	r3, fp, #2048
	sub	r3, r3, #12
	sub	r3, r3, #4
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	mov	r2, r3
	sub	r1, fp, #2048
	sub	r1, r1, #12
	sub	r1, r1, #4
	sub	r0, fp, #4096
	sub	r0, r0, #12
	sub	r0, r0, #16
	mov	r3, #0
	bl	b_puts
	mov	r3, r0
	cmp	r3, #0
	beq	.L496
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-2484]
	sub	r3, fp, #6144
	sub	r3, r3, #12
	sub	r3, r3, #28
	mov	r1, #1
	mov	r0, r3
	bl	b_skip
	b	.L496
.L464:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2460]
	cmp	r3, #98
	beq	.L470
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2460]
	cmp	r3, #66
	bne	.L471
.L470:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r1, #0
	ldr	r0, [r3, #-2508]
	bl	tcsendbreak
	sub	r0, fp, #4096
	sub	r0, r0, #12
	sub	r0, r0, #16
	mov	r3, #0
	mov	r2, #12
	ldr	r1, .L501+44
	bl	b_puts
	mov	r3, r0
	cmp	r3, #0
	beq	.L457
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-2484]
	sub	r3, fp, #6144
	sub	r3, r3, #12
	sub	r3, r3, #28
	mov	r1, #1
	mov	r0, r3
	bl	b_skip
	b	.L457
.L502:
	.align	2
.L501:
	.word	.LC81
	.word	2060
	.word	.LC71
	.word	.LC72
	.word	.LC73
	.word	100000
	.word	cap_fd
	.word	451
	.word	menu_str
	.word	21525
	.word	21528
	.word	.LC75
	.word	.LC76
	.word	.LC77
	.word	cap_mode
	.word	.LC78
	.word	.LC79
	.word	ts_term
	.word	escape
	.word	chr_min
	.word	chr_max
	.word	.LC74
	.word	.LC80
	.word	.LC81
.L471:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2460]
	cmp	r3, #99
	beq	.L473
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2460]
	cmp	r3, #67
	bne	.L474
.L473:
	ldr	r3, .L501+56
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L475
	sub	r0, fp, #4096
	sub	r0, r0, #12
	sub	r0, r0, #16
	mov	r3, #0
	mov	r2, #18
	ldr	r1, .L501+48
	bl	b_puts
	mov	r3, r0
	cmp	r3, #0
	beq	.L475
	ldr	r3, .L501+56
	mov	r2, #1
	str	r2, [r3]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-2484]
	sub	r3, fp, #6144
	sub	r3, r3, #12
	sub	r3, r3, #28
	mov	r1, #1
	mov	r0, r3
	bl	b_skip
	b	.L497
.L475:
	ldr	r3, .L501+56
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L497
	sub	r0, fp, #4096
	sub	r0, r0, #12
	sub	r0, r0, #16
	mov	r3, #0
	mov	r2, #19
	ldr	r1, .L501+52
	bl	b_puts
	mov	r3, r0
	cmp	r3, #0
	beq	.L497
	ldr	r3, .L501+56
	mov	r2, #0
	str	r2, [r3]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-2484]
	sub	r3, fp, #6144
	sub	r3, r3, #12
	sub	r3, r3, #28
	mov	r1, #1
	mov	r0, r3
	bl	b_skip
	b	.L497
.L474:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2460]
	cmp	r3, #116
	beq	.L477
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2460]
	cmp	r3, #84
	bne	.L478
.L477:
	ldr	r3, .L501+68
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L479
	sub	r0, fp, #4096
	sub	r0, r0, #12
	sub	r0, r0, #16
	mov	r3, #0
	mov	r2, #30
	ldr	r1, .L501+60
	bl	b_puts
	mov	r3, r0
	cmp	r3, #0
	beq	.L479
	ldr	r3, .L501+68
	mov	r2, #1
	str	r2, [r3]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-2484]
	sub	r3, fp, #6144
	sub	r3, r3, #12
	sub	r3, r3, #28
	mov	r1, #1
	mov	r0, r3
	bl	b_skip
	b	.L498
.L479:
	ldr	r3, .L501+68
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L498
	sub	r0, fp, #4096
	sub	r0, r0, #12
	sub	r0, r0, #16
	mov	r3, #0
	mov	r2, #31
	ldr	r1, .L501+64
	bl	b_puts
	mov	r3, r0
	cmp	r3, #0
	beq	.L498
	ldr	r3, .L501+68
	mov	r2, #0
	str	r2, [r3]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-2484]
	sub	r3, fp, #6144
	sub	r3, r3, #12
	sub	r3, r3, #28
	mov	r1, #1
	mov	r0, r3
	bl	b_skip
	b	.L498
.L478:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2460]
	cmp	r3, #112
	beq	.L481
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2460]
	cmp	r3, #80
	bne	.L482
.L481:
	sub	r3, fp, #2048
	sub	r3, r3, #12
	sub	r3, r3, #4
	sub	r2, fp, #8192
	sub	r2, r2, #12
	mov	r0, r2
	mov	r2, #2048
	mov	r1, r3
	ldr	r0, [r0, #-2508]
	bl	show_port
	sub	r3, fp, #2048
	sub	r3, r3, #12
	sub	r3, r3, #4
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	mov	r2, r3
	sub	r1, fp, #2048
	sub	r1, r1, #12
	sub	r1, r1, #4
	sub	r0, fp, #4096
	sub	r0, r0, #12
	sub	r0, r0, #16
	mov	r3, #0
	bl	b_puts
	mov	r3, r0
	cmp	r3, #0
	beq	.L457
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-2484]
	sub	r3, fp, #6144
	sub	r3, r3, #12
	sub	r3, r3, #28
	mov	r1, #1
	mov	r0, r3
	bl	b_skip
	b	.L457
.L482:
	ldr	r3, .L501+72
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2460]
	cmp	r3, r2
	bne	.L484
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r1, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	sub	r3, r3, #40
	mov	r2, #0
	ldr	r1, [r1, #-2460]
	mov	r0, r3
	bl	b_putchar
	mov	r3, r0
	cmp	r3, #0
	beq	.L457
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-2484]
	sub	r3, fp, #6144
	sub	r3, r3, #12
	sub	r3, r3, #28
	mov	r1, #1
	mov	r0, r3
	bl	b_skip
	b	.L457
.L484:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2460]
	cmp	r3, #0
	blt	.L457
	ldr	r3, .L501+72
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	sub	r3, r3, #40
	mov	r2, #0
	mov	r0, r3
	bl	b_putchar
	mov	r3, r0
	cmp	r3, #0
	beq	.L457
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-2484]
	b	.L457
.L496:
	nop
	b	.L457
.L497:
	nop
	b	.L457
.L498:
	nop
.L457:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2484]
	cmp	r3, #0
	bne	.L500
	ldr	r3, .L501+72
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	sub	r1, fp, #8192
	sub	r1, r1, #12
	sub	r1, r1, #40
	sub	r3, fp, #6144
	sub	r3, r3, #12
	sub	r3, r3, #28
	mov	r0, r3
	bl	xfer_user_to_port
	mov	r3, r0
	cmp	r3, #0
	bge	.L500
	sub	r3, fp, #6144
	sub	r3, r3, #12
	sub	r3, r3, #28
	mov	r1, #1
	mov	r0, r3
	bl	b_skip
	sub	r3, fp, #8192
	sub	r3, r3, #12
	sub	r3, r3, #2400
	mov	r2, #0
	mov	r1, #2
	mov	r0, r3
	bl	tv_set
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r4, r3
	sub	r0, fp, #10688
	sub	r0, r0, #12
	sub	r0, r0, #24
	sub	r3, fp, #8192
	sub	r3, r3, #12
	sub	r2, fp, #8192
	sub	r2, r2, #12
	mov	r1, r2
	ldr	r2, [r3, #-2396]
	str	r2, [sp]
	ldr	r3, [r3, #-2400]
	sub	r2, r1, #2432
	sub	r2, r2, #8
	ldm	r2, {r1, r2}
	bl	tv_add
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, r4, #2448
	sub	r3, r3, #8
	sub	r2, r2, #2512
	sub	r2, r2, #8
	ldm	r2, {r0, r1}
	stm	r3, {r0, r1}
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #1
	str	r3, [r2, #-2484]
.L500:
	nop
.L487:
	ldr	r3, .L501+76
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, .L501+80
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	ip, r3
	sub	r1, fp, #4096
	sub	r1, r1, #12
	sub	r1, r1, #16
	sub	r0, fp, #10240
	sub	r0, r0, #12
	sub	r0, r0, #52
	sub	r3, fp, #10688
	sub	r3, r3, #12
	sub	r3, r3, #4
	str	r3, [sp]
	mov	r3, ip
	bl	xfer_port_to_user
	mov	r3, r0
	cmp	r3, #0
	bgt	.L487
.L437:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r2, [r3, #-8]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2092]
	add	r3, r2, r3
	cmp	r3, #0
	bne	.L488
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2096]
	cmp	r3, #0
	blt	.L489
.L488:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-16]
	cmp	r3, #0
	bge	.L490
.L489:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r2, [r3, #-32]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-2068]
	add	r3, r2, r3
	cmp	r3, #0
	bne	.L491
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-2072]
	cmp	r3, #0
	blt	.L485
.L491:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-40]
	cmp	r3, #0
	blt	.L485
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2096]
	cmp	r3, #0
	bge	.L490
.L485:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2492]
	cmp	r3, #0
	beq	.L492
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2488]
	cmp	r3, #0
	beq	.L492
	mov	r2, #5
	ldr	r1, .L501+84
	mov	r0, #1
	bl	write
.L492:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2492]
	cmp	r3, #0
	beq	.L499
	sub	r3, fp, #10560
	sub	r3, r3, #12
	sub	r3, r3, #24
	mov	r2, r3
	mov	r1, #0
	mov	r0, #0
	bl	tcsetattr
	mov	r3, r0
	cmp	r3, #0
	beq	.L494
	ldr	r1, .L501+88
	mov	r0, #4
	bl	die
.L494:
	mov	r0, #10
	bl	putchar
.L499:
	nop
	ldr	r3, .L501+92
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L495
	bl	__stack_chk_fail
.L495:
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
	.size	forward, .-forward
	.section	.rodata
	.align	2
.LC82:
	.ascii	"scan.exclude-drivers\000"
	.align	2
.LC83:
	.ascii	"scan.exclude-ports\000"
	.align	2
.LC84:
	.ascii	"scan.include-ports\000"
	.align	2
.LC85:
	.ascii	"scan.restrict-ports\000"
	.align	2
.LC86:
	.ascii	"scan.wait-any\000"
	.align	2
.LC87:
	.ascii	"scan.wait-new\000"
	.align	2
.LC88:
	.ascii	"port.baud-rate\000"
	.align	2
.LC89:
	.ascii	"port.crlf\000"
	.align	2
.LC90:
	.ascii	"capture.mode\000"
	.align	2
.LC91:
	.ascii	"timestamp.mode\000"
	.align	2
.LC92:
	.ascii	"missing argument for -%c\012\000"
	.align	2
.LC93:
	.ascii	"failed to parse escape code for -%c\012\000"
	.align	2
.LC94:
	.ascii	"failed to parse argument for -%c\012\000"
	.align	2
.LC95:
	.ascii	"Unknown option '%c'. Use -h to get help\012\000"
	.align	2
.LC96:
	.ascii	"Too many arguments: '%s'. Use -h to get help\012\000"
	.align	2
.LC97:
	.ascii	"none\000"
	.align	2
.LC98:
	.ascii	"fixed\000"
	.align	2
.LC99:
	.ascii	"timed\000"
	.align	2
.LC100:
	.ascii	"Unknown capture mode <%s>. Use -h for help.\012\000"
	.align	2
.LC101:
	.ascii	"abs\000"
	.align	2
.LC102:
	.ascii	"init\000"
	.align	2
.LC103:
	.ascii	"line\000"
	.align	2
.LC104:
	.ascii	"Unknown timestamp mode <%s>. Use -h for help.\012\000"
	.align	2
.LC105:
	.ascii	"?\000"
	.align	2
.LC106:
	.ascii	"help\000"
	.align	2
.LC107:
	.ascii	"Failed to parse baud rate <%s>\012\000"
	.align	2
.LC108:
	.ascii	"Port %d (%s) available, using it.\012\000"
	.align	2
.LC109:
	.ascii	"Waiting for port %s to appear...\012\000"
	.align	2
.LC110:
	.ascii	"Trying port %s...\000"
	.align	2
.LC111:
	.ascii	"Waiting for one port to appear...\000"
	.align	2
.LC112:
	.ascii	"Port %s available, using it.\012\000"
	.align	2
.LC113:
	.ascii	"%d ports found, waiting for a new one...\012\000"
	.align	2
.LC114:
	.ascii	"No such port number %d. Use -l to list ports.\012\000"
	.align	2
.LC115:
	.ascii	"No port specified, using %s (last registered). Use "
	.ascii	"-l to list ports.\012\000"
	.align	2
.LC116:
	.ascii	"No port found nor specified. Use -a to wait or -h f"
	.ascii	"or help.\012\000"
	.align	2
.LC117:
	.ascii	"Waiting for port %s to appear.\012\000"
	.align	2
.LC118:
	.ascii	"Failed to open port %s: %s\012\000"
	.align	2
.LC119:
	.ascii	" Failed! (%s)\012\000"
	.align	2
.LC120:
	.ascii	"Failed to open port: %s\012\000"
	.align	2
.LC121:
	.ascii	" Failed.\000"
	.align	2
.LC122:
	.ascii	"Failed to configure port: %s\012\000"
	.align	2
.LC123:
	.ascii	"Hint: maybe the baud rate is not supported by the p"
	.ascii	"ort.\000"
	.align	2
.LC124:
	.ascii	"Hint: the port might be listed but not physically p"
	.ascii	"resent.\000"
	.align	2
.LC125:
	.ascii	" Connected to %s at %d bps.\012\000"
	.align	2
.LC126:
	.ascii	"Tab\000"
	.align	2
.LC127:
	.ascii	"Esc\000"
	.align	2
.LC128:
	.ascii	"Ctrl-%c\000"
	.align	2
.LC129:
	.ascii	"%c\000"
	.align	2
.LC130:
	.ascii	"0x%02X\000"
	.align	2
.LC131:
	.ascii	"Escape character is '%s'. Use escape followed by '?"
	.ascii	"' for help.\012\000"
	.align	2
.LC132:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 96
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #100
	str	r0, [fp, #-104]
	str	r1, [fp, #-108]
	ldr	r3, .L633
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-92]
	mov	r3, #0
	str	r3, [fp, #-88]
	mov	r3, #0
	str	r3, [fp, #-80]
	mov	r3, #0
	str	r3, [fp, #-76]
	mov	r3, #0
	str	r3, [fp, #-72]
	mov	r3, #0
	str	r3, [fp, #-68]
	mov	r3, #0
	str	r3, [fp, #-64]
	mov	r3, #0
	str	r3, [fp, #-60]
	mov	r3, #0
	str	r3, [fp, #-56]
	mov	r3, #0
	str	r3, [fp, #-52]
	mov	r3, #0
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-108]
	ldr	r3, [r3]
	mov	r1, #47
	mov	r0, r3
	bl	strrchr
	str	r0, [fp, #-96]
	ldr	r3, [fp, #-96]
	cmp	r3, #0
	bne	.L504
	ldr	r3, [fp, #-108]
	ldr	r3, [r3]
	str	r3, [fp, #-96]
	b	.L505
.L504:
	ldr	r3, [fp, #-96]
	add	r3, r3, #1
	str	r3, [fp, #-96]
.L505:
	ldr	r0, .L633+4
	bl	get_conf
	mov	r3, r0
	mov	r1, r3
	ldr	r0, .L633+8
	bl	set_port_list
	ldr	r0, .L633+12
	bl	get_conf
	mov	r3, r0
	mov	r1, r3
	ldr	r0, .L633+16
	bl	set_port_list
	ldr	r0, .L633+20
	bl	get_conf
	mov	r3, r0
	mov	r1, r3
	ldr	r0, .L633+24
	bl	set_port_list
	ldr	r0, .L633+28
	bl	get_conf
	mov	r3, r0
	mov	r1, r3
	ldr	r0, .L633+32
	bl	set_port_list
	ldr	r0, .L633+36
	bl	get_conf
	mov	r3, r0
	cmp	r3, #0
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-72]
	ldr	r3, [fp, #-72]
	cmp	r3, #0
	bne	.L506
	ldr	r0, .L633+40
	bl	get_conf
	mov	r3, r0
	cmp	r3, #0
	beq	.L506
	mov	r3, #1
	b	.L507
.L506:
	mov	r3, #0
.L507:
	str	r3, [fp, #-76]
	ldr	r0, .L633+44
	bl	get_conf
	mov	r3, r0
	ldr	r2, .L633+48
	str	r3, [r2]
	ldr	r0, .L633+52
	bl	get_conf
	str	r0, [fp, #-88]
	ldr	r3, [fp, #-88]
	cmp	r3, #0
	beq	.L508
	ldr	r0, [fp, #-88]
	bl	atoi
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L633+56
	str	r2, [r3]
.L508:
	ldr	r0, .L633+60
	bl	get_conf
	mov	r3, r0
	ldr	r2, .L633+64
	str	r3, [r2]
	ldr	r0, .L633+68
	bl	get_conf
	mov	r3, r0
	ldr	r2, .L633+72
	str	r3, [r2]
	mov	r3, #0
	str	r3, [fp, #-84]
.L553:
	ldr	r3, [fp, #-84]
	cmp	r3, #0
	beq	.L509
	ldr	r3, [fp, #-92]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L509
	ldr	r3, [fp, #-88]
	cmp	r3, #0
	bne	.L510
.L509:
	ldr	r3, [fp, #-84]
	cmp	r3, #0
	beq	.L511
	ldr	r3, [fp, #-88]
	cmp	r3, #0
	bne	.L511
	ldr	r3, [fp, #-92]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L511
	ldr	r3, [fp, #-84]
	add	r3, r3, #1
	str	r3, [fp, #-84]
.L511:
	ldr	r3, [fp, #-84]
	add	r3, r3, #1
	str	r3, [fp, #-84]
	ldr	r2, [fp, #-84]
	ldr	r3, [fp, #-104]
	cmp	r2, r3
	bge	.L512
	ldr	r3, [fp, #-84]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-108]
	add	r3, r2, r3
	ldr	r3, [r3]
	b	.L513
.L512:
	mov	r3, #0
.L513:
	str	r3, [fp, #-92]
	ldr	r3, [fp, #-92]
	cmp	r3, #0
	beq	.L628
	ldr	r3, [fp, #-92]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #45
	bne	.L515
	ldr	r3, [fp, #-92]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L515
	ldr	r3, [fp, #-92]
	add	r3, r3, #1
	str	r3, [fp, #-92]
.L510:
	ldr	r3, [fp, #-92]
	add	r2, r3, #1
	str	r2, [fp, #-92]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-92]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L516
	ldr	r3, [fp, #-84]
	add	r3, r3, #1
	ldr	r2, [fp, #-104]
	cmp	r2, r3
	ble	.L517
	ldr	r3, [fp, #-84]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-108]
	add	r3, r2, r3
	ldr	r3, [r3]
	b	.L519
.L517:
	mov	r3, #0
	b	.L519
.L516:
	ldr	r3, [fp, #-92]
.L519:
	str	r3, [fp, #-88]
	ldr	r3, [fp, #-36]
	cmp	r3, #45
	bne	.L520
	ldr	r3, [fp, #-92]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L521
	ldr	r1, [fp, #-96]
	mov	r0, #1
	bl	usage
.L521:
	ldr	r3, [fp, #-84]
	add	r3, r3, #1
	str	r3, [fp, #-84]
	ldr	r3, [fp, #-88]
	str	r3, [fp, #-92]
	b	.L515
.L520:
	ldr	r3, [fp, #-36]
	sub	r3, r3, #66
	cmp	r3, #50
	ldrls	pc, [pc, r3, asl #2]
	b	.L522
.L524:
	.word	.L541
	.word	.L522
	.word	.L522
	.word	.L522
	.word	.L522
	.word	.L522
	.word	.L522
	.word	.L522
	.word	.L522
	.word	.L522
	.word	.L540
	.word	.L539
	.word	.L538
	.word	.L522
	.word	.L522
	.word	.L522
	.word	.L522
	.word	.L522
	.word	.L537
	.word	.L522
	.word	.L536
	.word	.L522
	.word	.L522
	.word	.L522
	.word	.L522
	.word	.L522
	.word	.L522
	.word	.L522
	.word	.L522
	.word	.L522
	.word	.L522
	.word	.L535
	.word	.L534
	.word	.L533
	.word	.L522
	.word	.L532
	.word	.L531
	.word	.L522
	.word	.L530
	.word	.L522
	.word	.L522
	.word	.L522
	.word	.L529
	.word	.L528
	.word	.L527
	.word	.L522
	.word	.L526
	.word	.L525
	.word	.L522
	.word	.L522
	.word	.L523
.L530:
	ldr	r1, [fp, #-96]
	mov	r0, #0
	bl	usage
	b	.L542
.L536:
	ldr	r1, .L633+76
	mov	r0, #0
	bl	die
	b	.L542
.L541:
	mov	r3, #1
	str	r3, [fp, #-64]
	b	.L542
.L538:
	mov	r3, #1
	str	r3, [fp, #-60]
	b	.L542
.L529:
	mov	r3, #1
	str	r3, [fp, #-80]
	b	.L542
.L526:
	mov	r3, #1
	str	r3, [fp, #-68]
	b	.L542
.L525:
	ldr	r3, .L633+264
	mov	r2, #1
	str	r2, [r3]
	b	.L542
.L537:
	ldr	r3, .L633+80
	mov	r2, #1
	str	r2, [r3]
	b	.L542
.L535:
	mov	r3, #1
	str	r3, [fp, #-72]
	mov	r3, #0
	str	r3, [fp, #-76]
	b	.L542
.L527:
	mov	r3, #1
	str	r3, [fp, #-76]
	mov	r3, #0
	str	r3, [fp, #-72]
	b	.L542
.L534:
	ldr	r3, [fp, #-88]
	cmp	r3, #0
	bne	.L543
	ldr	r2, [fp, #-36]
	ldr	r1, .L633+84
	mov	r0, #1
	bl	die
.L543:
	ldr	r2, .L633+48
	ldr	r3, [fp, #-88]
	str	r3, [r2]
	mov	r3, #0
	str	r3, [fp, #-88]
	b	.L542
.L533:
	ldr	r3, [fp, #-88]
	cmp	r3, #0
	bne	.L544
	ldr	r2, [fp, #-36]
	ldr	r1, .L633+84
	mov	r0, #1
	bl	die
.L544:
	ldr	r2, .L633+64
	ldr	r3, [fp, #-88]
	str	r3, [r2]
	mov	r3, #0
	str	r3, [fp, #-88]
	b	.L542
.L523:
	ldr	r3, [fp, #-88]
	cmp	r3, #0
	bne	.L545
	ldr	r2, [fp, #-36]
	ldr	r1, .L633+84
	mov	r0, #1
	bl	die
.L545:
	ldr	r2, .L633+72
	ldr	r3, [fp, #-88]
	str	r3, [r2]
	mov	r3, #0
	str	r3, [fp, #-88]
	b	.L542
.L532:
	ldr	r3, [fp, #-88]
	cmp	r3, #0
	bne	.L546
	ldr	r2, [fp, #-36]
	ldr	r1, .L633+84
	mov	r0, #1
	bl	die
.L546:
	ldr	r1, .L633+292
	ldr	r0, [fp, #-88]
	bl	parse_byte
	mov	r3, r0
	cmp	r3, #0
	bne	.L547
	ldr	r3, [fp, #-88]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L548
	ldr	r3, [fp, #-88]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L548
	ldr	r3, [fp, #-88]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L633+292
	strb	r2, [r3]
	b	.L547
.L548:
	ldr	r2, [fp, #-36]
	ldr	r1, .L633+88
	mov	r0, #1
	bl	die
.L547:
	mov	r3, #0
	str	r3, [fp, #-88]
	b	.L542
.L531:
	ldr	r3, [fp, #-88]
	cmp	r3, #0
	bne	.L549
	ldr	r2, [fp, #-36]
	ldr	r1, .L633+84
	mov	r0, #1
	bl	die
.L549:
	ldr	r2, .L633+92
	ldr	r3, [fp, #-88]
	str	r3, [r2]
	mov	r3, #0
	str	r3, [fp, #-88]
	b	.L542
.L528:
	ldr	r1, .L633+96
	ldr	r0, [fp, #-88]
	bl	parse_byte
	mov	r3, r0
	cmp	r3, #0
	bne	.L550
	ldr	r2, [fp, #-36]
	ldr	r1, .L633+100
	mov	r0, #1
	bl	die
.L550:
	mov	r3, #0
	str	r3, [fp, #-88]
	b	.L542
.L539:
	ldr	r1, .L633+104
	ldr	r0, [fp, #-88]
	bl	parse_byte
	mov	r3, r0
	cmp	r3, #0
	bne	.L551
	ldr	r2, [fp, #-36]
	ldr	r1, .L633+100
	mov	r0, #1
	bl	die
.L551:
	mov	r3, #0
	str	r3, [fp, #-88]
	b	.L542
.L540:
	ldr	r3, [fp, #-88]
	cmp	r3, #0
	bne	.L552
	ldr	r2, [fp, #-36]
	ldr	r1, .L633+84
	mov	r0, #1
	bl	die
.L552:
	ldr	r0, [fp, #-88]
	bl	atoi
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L633+56
	str	r2, [r3]
	mov	r3, #0
	str	r3, [fp, #-88]
	b	.L542
.L522:
	ldr	r2, [fp, #-36]
	ldr	r1, .L633+108
	mov	r0, #1
	bl	die
	nop
.L542:
	b	.L553
.L628:
	nop
.L515:
	ldr	r3, [fp, #-84]
	add	r3, r3, #1
	ldr	r2, [fp, #-104]
	cmp	r2, r3
	ble	.L554
	ldr	r3, [fp, #-84]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-108]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, .L633+112
	mov	r0, #1
	bl	die
.L554:
	ldr	r3, [fp, #-92]
	cmp	r3, #0
	beq	.L555
	ldr	r3, [fp, #-92]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L555
	ldr	r3, [fp, #-92]
	b	.L556
.L555:
	mov	r3, #0
.L556:
	ldr	r2, .L633+268
	str	r3, [r2]
	ldr	r3, .L633+64
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L557
	ldr	r3, .L633+64
	ldr	r3, [r3]
	ldr	r1, .L633+116
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L558
	ldr	r3, .L633+120
	mov	r2, #0
	str	r2, [r3]
	b	.L557
.L558:
	ldr	r3, .L633+64
	ldr	r3, [r3]
	ldr	r1, .L633+124
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L559
	ldr	r3, .L633+120
	mov	r2, #1
	str	r2, [r3]
	b	.L557
.L559:
	ldr	r3, .L633+64
	ldr	r3, [r3]
	ldr	r1, .L633+128
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L560
	ldr	r3, .L633+120
	mov	r2, #2
	str	r2, [r3]
	b	.L557
.L560:
	ldr	r3, .L633+64
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, .L633+132
	mov	r0, #1
	bl	die
.L557:
	ldr	r3, .L633+72
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L561
	ldr	r3, .L633+72
	ldr	r3, [r3]
	ldr	r1, .L633+116
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L562
	ldr	r3, .L633+136
	mov	r2, #0
	str	r2, [r3]
	b	.L561
.L562:
	ldr	r3, .L633+72
	ldr	r3, [r3]
	ldr	r1, .L633+140
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L563
	ldr	r3, .L633+136
	mov	r2, #1
	str	r2, [r3]
	b	.L561
.L563:
	ldr	r3, .L633+72
	ldr	r3, [r3]
	ldr	r1, .L633+144
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L564
	ldr	r3, .L633+136
	mov	r2, #2
	str	r2, [r3]
	b	.L561
.L564:
	ldr	r3, .L633+72
	ldr	r3, [r3]
	ldr	r1, .L633+148
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L565
	ldr	r3, .L633+136
	mov	r2, #3
	str	r2, [r3]
	b	.L561
.L565:
	ldr	r3, .L633+72
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, .L633+152
	mov	r0, #1
	bl	die
.L561:
	ldr	r3, .L633+48
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L566
	ldr	r3, .L633+48
	ldr	r3, [r3]
	ldr	r1, .L633+156
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	beq	.L567
	ldr	r3, .L633+48
	ldr	r3, [r3]
	ldr	r1, .L633+160
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L568
.L567:
	bl	list_baud_rates
	mov	r0, #0
	bl	exit
.L568:
	ldr	r3, .L633+48
	ldr	r3, [r3]
	ldr	r1, .L633+240
	mov	r0, r3
	bl	parse_int
	mov	r3, r0
	cmp	r3, #0
	bne	.L566
	ldr	r3, .L633+48
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, .L633+164
	mov	r0, #1
	bl	die
.L566:
	ldr	r3, .L633+268
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L569
	ldr	r3, .L633+268
	ldr	r3, [r3]
	ldr	r1, .L633+216
	mov	r0, r3
	bl	parse_int
	mov	r3, r0
	cmp	r3, #0
	bne	.L569
	ldr	r3, .L633+216
	mvn	r2, #0
	str	r2, [r3]
	mov	r3, #1
	str	r3, [fp, #-52]
	mov	r3, #1
	str	r3, [fp, #-56]
.L569:
	ldr	r3, .L633+216
	ldr	r3, [r3]
	cmp	r3, #0
	blt	.L570
	mov	r3, #1
	str	r3, [fp, #-56]
.L570:
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	beq	.L571
	ldr	r3, [fp, #-72]
	cmp	r3, #0
	bne	.L571
	ldr	r3, [fp, #-76]
	cmp	r3, #0
	bne	.L571
	ldr	r3, [fp, #-80]
	cmp	r3, #0
	beq	.L572
.L571:
	bl	scan_ports
.L572:
	ldr	r3, [fp, #-72]
	cmp	r3, #0
	beq	.L573
	ldr	r3, [fp, #-80]
	cmp	r3, #0
	bne	.L573
	ldr	r3, .L633+216
	ldr	r3, [r3]
	cmp	r3, #0
	blt	.L574
	ldr	r3, .L633+216
	ldr	r2, [r3]
	ldr	r3, .L633+168
	ldr	r3, [r3]
	cmp	r2, r3
	bge	.L574
	ldr	r3, .L633+216
	ldr	r3, [r3]
	ldr	r2, .L633+220
	ldr	r3, [r2, r3, lsl #4]
	ldr	r2, .L633+268
	str	r3, [r2]
	ldr	r3, .L633+264
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L629
	ldr	r3, .L633+216
	ldr	r3, [r3]
	ldr	r2, .L633+268
	ldr	r2, [r2]
	mov	r1, r3
	ldr	r0, .L633+172
	bl	printf
	b	.L629
.L574:
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	beq	.L577
	ldr	r3, .L633+268
	ldr	r3, [r3]
	mov	r0, r3
	bl	open_port
	str	r0, [fp, #-44]
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	bge	.L578
	ldr	r3, .L633+264
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L580
	ldr	r3, .L633+268
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L633+176
	bl	printf
.L580:
	ldr	r0, .L633+180
	bl	usleep
	ldr	r3, .L633+268
	ldr	r3, [r3]
	mov	r0, r3
	bl	open_port
	str	r0, [fp, #-44]
	ldr	r3, [fp, #-44]
	cmn	r3, #1
	beq	.L580
.L578:
	ldr	r3, .L633+264
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L630
	ldr	r3, .L633+268
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L633+236
	bl	printf
	b	.L630
.L577:
	ldr	r3, .L633+168
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L583
	ldr	r3, .L633+264
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L585
	ldr	r0, .L633+184
	bl	puts
.L585:
	ldr	r0, .L633+180
	bl	usleep
	bl	scan_ports
	ldr	r3, .L633+168
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L585
.L583:
	ldr	r3, .L633+168
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L633+216
	str	r3, [r2]
	ldr	r3, .L633+216
	ldr	r3, [r3]
	ldr	r2, .L633+220
	ldr	r3, [r2, r3, lsl #4]
	ldr	r2, .L633+268
	str	r3, [r2]
	ldr	r3, .L633+264
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L586
	ldr	r3, .L633+268
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L633+188
	bl	printf
.L586:
	ldr	r3, .L633+264
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L573
	ldr	r3, [fp, #-80]
	cmp	r3, #0
	bne	.L573
	ldr	r3, [fp, #-68]
	cmp	r3, #0
	bne	.L573
	ldr	r3, .L633+168
	ldr	r3, [r3]
	sub	r3, r3, #1
	mov	r0, r3
	bl	list_ports
.L573:
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	bne	.L587
	ldr	r3, [fp, #-76]
	cmp	r3, #0
	beq	.L587
	ldr	r3, [fp, #-80]
	cmp	r3, #0
	bne	.L587
	ldr	r3, .L633+168
	ldr	r3, [r3]
	str	r3, [fp, #-40]
	ldr	r3, .L633+264
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L590
	ldr	r3, .L633+168
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L633+192
	bl	printf
.L590:
	ldr	r0, .L633+180
	bl	usleep
	bl	scan_ports
	ldr	r3, .L633+168
	ldr	r3, [r3]
	ldr	r2, [fp, #-40]
	cmp	r2, r3
	ble	.L589
	ldr	r3, .L633+168
	ldr	r3, [r3]
	str	r3, [fp, #-40]
.L589:
	ldr	r3, .L633+168
	ldr	r3, [r3]
	ldr	r2, [fp, #-40]
	cmp	r2, r3
	bge	.L590
	ldr	r3, .L633+168
	ldr	r2, [r3]
	ldr	r3, .L633+216
	ldr	r3, [r3]
	cmp	r2, r3
	ble	.L590
	ldr	r3, .L633+264
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L587
	ldr	r3, [fp, #-80]
	cmp	r3, #0
	bne	.L587
	ldr	r3, [fp, #-68]
	cmp	r3, #0
	bne	.L587
	ldr	r3, .L633+168
	ldr	r3, [r3]
	sub	r3, r3, #1
	mov	r0, r3
	bl	list_ports
.L587:
	ldr	r3, .L633+216
	ldr	r3, [r3]
	cmp	r3, #0
	blt	.L591
	ldr	r3, .L633+216
	ldr	r2, [r3]
	ldr	r3, .L633+168
	ldr	r3, [r3]
	cmp	r2, r3
	bge	.L591
	ldr	r3, .L633+216
	ldr	r3, [r3]
	ldr	r2, .L633+220
	ldr	r3, [r2, r3, lsl #4]
	ldr	r2, .L633+268
	str	r3, [r2]
.L591:
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	bne	.L631
	ldr	r3, .L633+216
	ldr	r2, [r3]
	ldr	r3, .L633+168
	ldr	r3, [r3]
	cmp	r2, r3
	blt	.L592
	ldr	r3, .L633+216
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, .L633+196
	mov	r0, #1
	bl	die
	b	.L576
.L592:
	ldr	r3, .L633+216
	ldr	r3, [r3]
	cmp	r3, #0
	bge	.L631
	ldr	r3, .L633+168
	ldr	r2, [r3]
	ldr	r3, .L633+216
	ldr	r3, [r3]
	add	r3, r2, r3
	ldr	r2, .L633+216
	str	r3, [r2]
	ldr	r3, .L633+216
	ldr	r3, [r3]
	cmp	r3, #0
	bge	.L631
	ldr	r3, .L633+216
	mvn	r2, #0
	str	r2, [r3]
	b	.L576
.L629:
	nop
	b	.L576
.L631:
	nop
.L576:
	ldr	r3, [fp, #-80]
	cmp	r3, #0
	beq	.L593
	mvn	r0, #0
	bl	list_ports
	mov	r3, #0
	b	.L594
.L593:
	ldr	r3, .L633+216
	ldr	r3, [r3]
	cmp	r3, #0
	blt	.L595
	ldr	r3, .L633+268
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L596
	ldr	r3, [fp, #-68]
	cmp	r3, #0
	bne	.L596
	ldr	r3, .L633+264
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L596
	ldr	r3, [fp, #-76]
	cmp	r3, #0
	bne	.L596
	ldr	r3, .L633+216
	ldr	r3, [r3]
	ldr	r2, .L633+220
	ldr	r3, [r2, r3, lsl #4]
	mov	r1, r3
	ldr	r0, .L633+200
	bl	printf
.L596:
	ldr	r3, .L633+216
	ldr	r3, [r3]
	ldr	r2, .L633+220
	ldr	r3, [r2, r3, lsl #4]
	ldr	r2, .L633+268
	str	r3, [r2]
.L595:
	ldr	r3, [fp, #-68]
	cmp	r3, #0
	beq	.L597
	ldr	r3, .L633+268
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L598
	ldr	r3, .L633+268
	ldr	r3, [r3]
	mov	r0, r3
	bl	puts
	mov	r3, #0
	b	.L594
.L598:
	mov	r3, #1
	b	.L594
.L597:
	ldr	r3, .L633+268
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L611
	ldr	r1, .L633+204
	mov	r0, #2
	bl	die
.L611:
	ldr	r3, .L633+264
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L600
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	beq	.L601
	ldr	r3, [fp, #-76]
	cmp	r3, #0
	bne	.L600
.L601:
	ldr	r3, .L633+268
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L633+236
	bl	printf
.L600:
	ldr	r3, .L633+268
	ldr	r3, [r3]
	mov	r0, r3
	bl	open_port
	str	r0, [fp, #-44]
	ldr	r3, [fp, #-44]
	cmn	r3, #1
	bne	.L602
	bl	__errno_location
	mov	r3, r0
	ldr	r3, [r3]
	cmp	r3, #2
	bne	.L603
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	beq	.L603
	ldr	r3, [fp, #-76]
	cmp	r3, #0
	beq	.L603
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	bne	.L604
	ldr	r3, .L633+268
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L633+208
	bl	printf
.L604:
	ldr	r0, .L633+212
	bl	usleep
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-48]
	b	.L602
.L634:
	.align	2
.L633:
	.word	.LC132
	.word	.LC82
	.word	exclude_drivers
	.word	.LC83
	.word	exclude_list
	.word	.LC84
	.word	include_list
	.word	.LC85
	.word	restrict_list
	.word	.LC86
	.word	.LC87
	.word	.LC88
	.word	baud_rate_str
	.word	.LC89
	.word	crlf_mode
	.word	.LC90
	.word	cap_mode_str
	.word	.LC91
	.word	ts_mode_str
	.word	version_str
	.word	ts_term
	.word	.LC92
	.word	.LC93
	.word	capture_fmt
	.word	chr_min
	.word	.LC94
	.word	chr_max
	.word	.LC95
	.word	.LC96
	.word	.LC97
	.word	cap_mode
	.word	.LC98
	.word	.LC99
	.word	.LC100
	.word	ts_mode
	.word	.LC101
	.word	.LC102
	.word	.LC103
	.word	.LC104
	.word	.LC105
	.word	.LC106
	.word	.LC107
	.word	nbports
	.word	.LC108
	.word	.LC109
	.word	100000
	.word	.LC111
	.word	.LC112
	.word	.LC113
	.word	.LC114
	.word	.LC115
	.word	.LC116
	.word	.LC117
	.word	200000
	.word	currport
	.word	serial_ports
	.word	.LC118
	.word	.LC119
	.word	.LC120
	.word	.LC110
	.word	baud
	.word	.LC121
	.word	stderr
	.word	.LC122
	.word	.LC123
	.word	.LC124
	.word	quiet
	.word	port
	.word	.LC125
	.word	.LC126
	.word	.LC127
	.word	.LC128
	.word	.LC129
	.word	escape
	.word	.LC130
	.word	.LC131
	.word	start_ts
	.word	.LC132
.L603:
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	bne	.L605
	ldr	r3, .L633+216
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L605
	bl	__errno_location
	mov	r3, r0
	ldr	r3, [r3]
	cmp	r3, #16
	beq	.L606
	bl	__errno_location
	mov	r3, r0
	ldr	r3, [r3]
	cmp	r3, #19
	beq	.L606
	bl	__errno_location
	mov	r3, r0
	ldr	r3, [r3]
	cmp	r3, #2
	beq	.L606
	bl	__errno_location
	mov	r3, r0
	ldr	r3, [r3]
	cmp	r3, #12
	bne	.L605
.L606:
	ldr	r3, .L633+264
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L607
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	beq	.L608
	ldr	r3, [fp, #-76]
	cmp	r3, #0
	beq	.L608
	ldr	r3, .L633+268
	ldr	r4, [r3]
	bl	__errno_location
	mov	r3, r0
	ldr	r3, [r3]
	mov	r0, r3
	bl	strerror
	mov	r3, r0
	mov	r2, r3
	mov	r1, r4
	ldr	r0, .L633+224
	bl	printf
	b	.L607
.L608:
	bl	__errno_location
	mov	r3, r0
	ldr	r3, [r3]
	mov	r0, r3
	bl	strerror
	mov	r3, r0
	mov	r1, r3
	ldr	r0, .L633+228
	bl	printf
.L607:
	ldr	r3, .L633+216
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L633+216
	str	r3, [r2]
	ldr	r3, .L633+216
	ldr	r3, [r3]
	ldr	r2, .L633+220
	ldr	r3, [r2, r3, lsl #4]
	ldr	r2, .L633+268
	str	r3, [r2]
	b	.L602
.L605:
	ldr	r3, .L633+264
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L609
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	beq	.L610
	ldr	r3, [fp, #-76]
	cmp	r3, #0
	beq	.L610
	ldr	r3, .L633+268
	ldr	r4, [r3]
	bl	__errno_location
	mov	r3, r0
	ldr	r3, [r3]
	mov	r0, r3
	bl	strerror
	mov	r3, r0
	mov	r2, r3
	mov	r1, r4
	ldr	r0, .L633+224
	bl	printf
	b	.L609
.L610:
	bl	__errno_location
	mov	r3, r0
	ldr	r3, [r3]
	mov	r0, r3
	bl	strerror
	mov	r3, r0
	mov	r1, r3
	ldr	r0, .L633+228
	bl	printf
.L609:
	bl	__errno_location
	mov	r3, r0
	ldr	r3, [r3]
	mov	r0, r3
	bl	strerror
	mov	r3, r0
	mov	r2, r3
	ldr	r1, .L633+232
	mov	r0, #2
	bl	die
.L602:
	ldr	r3, [fp, #-44]
	cmn	r3, #1
	beq	.L611
	ldr	r3, .L633+264
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L632
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	beq	.L632
	ldr	r3, [fp, #-76]
	cmp	r3, #0
	beq	.L632
	ldr	r3, .L633+268
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L633+236
	bl	printf
	b	.L582
.L630:
	nop
	b	.L582
.L632:
	nop
.L582:
	ldr	r3, .L633+240
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-44]
	bl	set_port
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-32]
	cmn	r3, #1
	bne	.L612
	bl	__errno_location
	mov	r3, r0
	ldr	r3, [r3]
	str	r3, [fp, #-28]
	ldr	r3, .L633+264
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L613
	ldr	r0, .L633+244
	bl	puts
.L613:
	ldr	r3, .L633+248
	ldr	r4, [r3]
	ldr	r0, [fp, #-28]
	bl	strerror
	mov	r3, r0
	mov	r2, r3
	ldr	r1, .L633+252
	mov	r0, r4
	bl	fprintf
	ldr	r3, .L633+264
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L614
	ldr	r3, [fp, #-28]
	cmp	r3, #22
	bne	.L614
	ldr	r0, .L633+256
	bl	puts
	bl	list_baud_rates
	b	.L615
.L614:
	ldr	r3, .L633+264
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L615
	ldr	r3, [fp, #-28]
	cmp	r3, #5
	bne	.L615
	ldr	r0, .L633+260
	bl	puts
.L615:
	mov	r0, #3
	bl	exit
.L612:
	ldr	r3, .L633+264
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L616
	ldr	r3, .L633+268
	ldr	r4, [r3]
	ldr	r0, [fp, #-44]
	bl	get_baud_rate
	mov	r3, r0
	mov	r2, r3
	mov	r1, r4
	ldr	r0, .L633+272
	bl	printf
	ldr	r3, .L633+292
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #31
	bhi	.L617
	ldr	r3, .L633+292
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #9
	beq	.L618
	cmp	r3, #27
	beq	.L619
	b	.L627
.L618:
	sub	r3, fp, #24
	ldr	r2, .L633+276
	mov	r1, #8
	mov	r0, r3
	bl	snprintf
	b	.L622
.L619:
	sub	r3, fp, #24
	ldr	r2, .L633+280
	mov	r1, #8
	mov	r0, r3
	bl	snprintf
	b	.L622
.L627:
	ldr	r3, .L633+292
	ldrb	r3, [r3]	@ zero_extendqisi2
	add	r3, r3, #64
	sub	r0, fp, #24
	ldr	r2, .L633+284
	mov	r1, #8
	bl	snprintf
	b	.L622
.L617:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, .L633+292
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #16384
	cmp	r3, #0
	beq	.L623
	ldr	r3, .L633+292
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r0, fp, #24
	ldr	r2, .L633+288
	mov	r1, #8
	bl	snprintf
	b	.L622
.L623:
	ldr	r3, .L633+292
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r0, fp, #24
	ldr	r2, .L633+296
	mov	r1, #8
	bl	snprintf
.L622:
	sub	r3, fp, #24
	mov	r1, r3
	ldr	r0, .L633+300
	bl	printf
.L616:
	ldr	r3, [fp, #-64]
	cmp	r3, #0
	beq	.L624
	mov	r1, #0
	ldr	r0, [fp, #-44]
	bl	tcsendbreak
.L624:
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	beq	.L625
	mov	r3, #0
	b	.L594
.L625:
	mov	r1, #0
	ldr	r0, .L633+304
	bl	gettimeofday
	ldr	r0, [fp, #-44]
	bl	forward
	mov	r3, #0
.L594:
	ldr	r2, .L633+308
	ldr	r1, [r2]
	ldr	r2, [fp, #-16]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L626
	bl	__stack_chk_fail
.L626:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
	.size	main, .-main
	.data
	.align	2
	.type	cap_bol.6801, %object
	.size	cap_bol.6801, 4
cap_bol.6801:
	.word	1
	.local	line_ts.6800
	.comm	line_ts.6800,8,4
	.local	prev_ts.6799
	.comm	prev_ts.6799,8,4
	.local	prev_ts.6843
	.comm	prev_ts.6843,8,4
	.local	line_ts.6844
	.comm	line_ts.6844,8,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
