	.file	"111247.c"
	.intel_syntax noprefix
	.text
	.section	.rodata
	.align 32
	.type	rcsid, @object
	.size	rcsid, 97
rcsid:
	.string	"@(#) $Header: /tcpdump/master/tcpdump/print-ospf.c,v 1.66 2007-10-08 07:53:21 hannes Exp $ (LBL)"
	.text
	.globl	gnu_dev_major
	.type	gnu_dev_major, @function
gnu_dev_major:
.LFB0:
	.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]
	shr	rax, 8
	and	eax, 4095
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	shr	rax, 32
	and	eax, -4096
	or	eax, edx
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	gnu_dev_major, .-gnu_dev_major
	.globl	gnu_dev_minor
	.type	gnu_dev_minor, @function
gnu_dev_minor:
.LFB1:
	.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]
	movzx	edx, al
	mov	rax, QWORD PTR -8[rbp]
	shr	rax, 12
	mov	al, 0
	or	eax, edx
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1:
	.size	gnu_dev_minor, .-gnu_dev_minor
	.globl	gnu_dev_makedev
	.type	gnu_dev_makedev, @function
gnu_dev_makedev:
.LFB2:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	mov	DWORD PTR -8[rbp], esi
	mov	eax, DWORD PTR -8[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -4[rbp]
	sal	eax, 8
	and	eax, 1048320
	or	eax, edx
	mov	ecx, eax
	mov	eax, DWORD PTR -8[rbp]
	sal	rax, 12
	mov	rdx, rax
	movabs	rax, 17592184995840
	and	rax, rdx
	or	rcx, rax
	mov	rdx, rcx
	mov	eax, DWORD PTR -4[rbp]
	sal	rax, 32
	mov	rcx, rax
	movabs	rax, -17592186044416
	and	rax, rcx
	or	rax, rdx
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE2:
	.size	gnu_dev_makedev, .-gnu_dev_makedev
	.section	.rodata
.LC0:
	.string	"MultiTopology"
.LC1:
	.string	"External"
.LC2:
	.string	"Multicast"
.LC3:
	.string	"NSSA"
.LC4:
	.string	"LLS"
.LC5:
	.string	"Demand Circuit"
.LC6:
	.string	"Opaque"
.LC7:
	.string	"Up/Down"
	.section	.data.rel.local,"aw"
	.align 32
	.type	ospf_option_values, @object
	.size	ospf_option_values, 144
ospf_option_values:
	.long	1
	.zero	4
	.quad	.LC0
	.long	2
	.zero	4
	.quad	.LC1
	.long	4
	.zero	4
	.quad	.LC2
	.long	8
	.zero	4
	.quad	.LC3
	.long	16
	.zero	4
	.quad	.LC4
	.long	32
	.zero	4
	.quad	.LC5
	.long	64
	.zero	4
	.quad	.LC6
	.long	128
	.zero	4
	.quad	.LC7
	.long	0
	.zero	4
	.quad	0
	.section	.rodata
.LC8:
	.string	"none"
.LC9:
	.string	"simple"
.LC10:
	.string	"MD5"
	.section	.data.rel.local
	.align 32
	.type	ospf_authtype_values, @object
	.size	ospf_authtype_values, 64
ospf_authtype_values:
	.long	0
	.zero	4
	.quad	.LC8
	.long	1
	.zero	4
	.quad	.LC9
	.long	2
	.zero	4
	.quad	.LC10
	.long	0
	.zero	4
	.quad	0
	.section	.rodata
.LC11:
	.string	"ABR"
.LC12:
	.string	"ASBR"
.LC13:
	.string	"Virtual"
.LC14:
	.string	"W2"
	.section	.data.rel.local
	.align 32
	.type	ospf_rla_flag_values, @object
	.size	ospf_rla_flag_values, 80
ospf_rla_flag_values:
	.long	1
	.zero	4
	.quad	.LC11
	.long	2
	.zero	4
	.quad	.LC12
	.long	4
	.zero	4
	.quad	.LC13
	.long	8
	.zero	4
	.quad	.LC14
	.long	0
	.zero	4
	.quad	0
	.section	.rodata
.LC15:
	.string	"UMD"
.LC16:
	.string	"Hello"
.LC17:
	.string	"Database Description"
.LC18:
	.string	"LS-Request"
.LC19:
	.string	"LS-Update"
.LC20:
	.string	"LS-Ack"
	.section	.data.rel.local
	.align 32
	.type	type2str, @object
	.size	type2str, 112
type2str:
	.long	0
	.zero	4
	.quad	.LC15
	.long	1
	.zero	4
	.quad	.LC16
	.long	2
	.zero	4
	.quad	.LC17
	.long	3
	.zero	4
	.quad	.LC18
	.long	4
	.zero	4
	.quad	.LC19
	.long	5
	.zero	4
	.quad	.LC20
	.long	0
	.zero	4
	.quad	0
	.section	.rodata
.LC21:
	.string	"Router"
.LC22:
	.string	"Network"
.LC23:
	.string	"Summary"
.LC24:
	.string	"ASBR Summary"
.LC25:
	.string	"Multicast Group"
.LC26:
	.string	"Link Local Opaque"
.LC27:
	.string	"Area Local Opaque"
.LC28:
	.string	"Domain Wide Opaque"
	.section	.data.rel.local
	.align 32
	.type	lsa_values, @object
	.size	lsa_values, 176
lsa_values:
	.long	1
	.zero	4
	.quad	.LC21
	.long	2
	.zero	4
	.quad	.LC22
	.long	3
	.zero	4
	.quad	.LC23
	.long	4
	.zero	4
	.quad	.LC24
	.long	5
	.zero	4
	.quad	.LC1
	.long	6
	.zero	4
	.quad	.LC25
	.long	7
	.zero	4
	.quad	.LC3
	.long	9
	.zero	4
	.quad	.LC26
	.long	10
	.zero	4
	.quad	.LC27
	.long	11
	.zero	4
	.quad	.LC28
	.long	0
	.zero	4
	.quad	0
	.section	.rodata
.LC29:
	.string	"Init"
.LC30:
	.string	"More"
.LC31:
	.string	"Master"
.LC32:
	.string	"OOBResync"
	.section	.data.rel.local
	.align 32
	.type	ospf_dd_flag_values, @object
	.size	ospf_dd_flag_values, 80
ospf_dd_flag_values:
	.long	4
	.zero	4
	.quad	.LC29
	.long	2
	.zero	4
	.quad	.LC30
	.long	1
	.zero	4
	.quad	.LC31
	.long	8
	.zero	4
	.quad	.LC32
	.long	0
	.zero	4
	.quad	0
	.section	.rodata
.LC33:
	.string	"Traffic Engineering"
.LC34:
	.string	"Graceful restart"
.LC35:
	.string	"Router Information"
	.section	.data.rel.local
	.align 32
	.type	lsa_opaque_values, @object
	.size	lsa_opaque_values, 64
lsa_opaque_values:
	.long	1
	.zero	4
	.quad	.LC33
	.long	3
	.zero	4
	.quad	.LC34
	.long	4
	.zero	4
	.quad	.LC35
	.long	0
	.zero	4
	.quad	0
	.section	.rodata
.LC36:
	.string	"Router Address"
.LC37:
	.string	"Link"
	.section	.data.rel.local
	.align 32
	.type	lsa_opaque_te_tlv_values, @object
	.size	lsa_opaque_te_tlv_values, 48
lsa_opaque_te_tlv_values:
	.long	1
	.zero	4
	.quad	.LC36
	.long	2
	.zero	4
	.quad	.LC37
	.long	0
	.zero	4
	.quad	0
	.section	.rodata
.LC38:
	.string	"Link Type"
.LC39:
	.string	"Link ID"
.LC40:
	.string	"Local Interface IP address"
.LC41:
	.string	"Remote Interface IP address"
.LC42:
	.string	"Traffic Engineering Metric"
.LC43:
	.string	"Maximum Bandwidth"
.LC44:
	.string	"Maximum Reservable Bandwidth"
.LC45:
	.string	"Unreserved Bandwidth"
.LC46:
	.string	"Administrative Group"
.LC47:
	.string	"Link Local/Remote Identifier"
.LC48:
	.string	"Link Protection Type"
	.align 8
.LC49:
	.string	"Interface Switching Capability"
.LC50:
	.string	"Shared Risk Link Group"
.LC51:
	.string	"Bandwidth Constraints"
	.section	.data.rel.local
	.align 32
	.type	lsa_opaque_te_link_tlv_subtlv_values, @object
	.size	lsa_opaque_te_link_tlv_subtlv_values, 240
lsa_opaque_te_link_tlv_subtlv_values:
	.long	1
	.zero	4
	.quad	.LC38
	.long	2
	.zero	4
	.quad	.LC39
	.long	3
	.zero	4
	.quad	.LC40
	.long	4
	.zero	4
	.quad	.LC41
	.long	5
	.zero	4
	.quad	.LC42
	.long	6
	.zero	4
	.quad	.LC43
	.long	7
	.zero	4
	.quad	.LC44
	.long	8
	.zero	4
	.quad	.LC45
	.long	9
	.zero	4
	.quad	.LC46
	.long	11
	.zero	4
	.quad	.LC47
	.long	14
	.zero	4
	.quad	.LC48
	.long	15
	.zero	4
	.quad	.LC49
	.long	16
	.zero	4
	.quad	.LC50
	.long	17
	.zero	4
	.quad	.LC51
	.long	0
	.zero	4
	.quad	0
	.section	.rodata
.LC52:
	.string	"Grace Period"
.LC53:
	.string	"Graceful restart Reason"
.LC54:
	.string	"IPv4 interface address"
	.section	.data.rel.local
	.align 32
	.type	lsa_opaque_grace_tlv_values, @object
	.size	lsa_opaque_grace_tlv_values, 64
lsa_opaque_grace_tlv_values:
	.long	1
	.zero	4
	.quad	.LC52
	.long	2
	.zero	4
	.quad	.LC53
	.long	3
	.zero	4
	.quad	.LC54
	.long	0
	.zero	4
	.quad	0
	.section	.rodata
.LC55:
	.string	"Unknown"
.LC56:
	.string	"Software Restart"
.LC57:
	.string	"Software Reload/Upgrade"
.LC58:
	.string	"Control Processor Switch"
	.section	.data.rel.local
	.align 32
	.type	lsa_opaque_grace_tlv_reason_values, @object
	.size	lsa_opaque_grace_tlv_reason_values, 80
lsa_opaque_grace_tlv_reason_values:
	.long	0
	.zero	4
	.quad	.LC55
	.long	1
	.zero	4
	.quad	.LC56
	.long	2
	.zero	4
	.quad	.LC57
	.long	3
	.zero	4
	.quad	.LC58
	.long	0
	.zero	4
	.quad	0
	.section	.rodata
.LC59:
	.string	"Point-to-point"
.LC60:
	.string	"Multi-Access"
	.section	.data.rel.local
	.align 32
	.type	lsa_opaque_te_tlv_link_type_sub_tlv_values, @object
	.size	lsa_opaque_te_tlv_link_type_sub_tlv_values, 48
lsa_opaque_te_tlv_link_type_sub_tlv_values:
	.long	1
	.zero	4
	.quad	.LC59
	.long	2
	.zero	4
	.quad	.LC60
	.long	0
	.zero	4
	.quad	0
	.section	.rodata
.LC61:
	.string	"Router Capabilities"
	.section	.data.rel.local
	.align 32
	.type	lsa_opaque_ri_tlv_values, @object
	.size	lsa_opaque_ri_tlv_values, 32
lsa_opaque_ri_tlv_values:
	.long	1
	.zero	4
	.quad	.LC61
	.long	0
	.zero	4
	.quad	0
	.section	.rodata
.LC62:
	.string	"Reserved"
.LC63:
	.string	"graceful restart capable"
.LC64:
	.string	"graceful restart helper"
.LC65:
	.string	"Stub router support"
.LC66:
	.string	"Traffic engineering"
.LC67:
	.string	"p2p over LAN"
.LC68:
	.string	"path computation server"
	.section	.data.rel.local
	.align 32
	.type	lsa_opaque_ri_tlv_cap_values, @object
	.size	lsa_opaque_ri_tlv_cap_values, 176
lsa_opaque_ri_tlv_cap_values:
	.long	1
	.zero	4
	.quad	.LC62
	.long	2
	.zero	4
	.quad	.LC62
	.long	4
	.zero	4
	.quad	.LC62
	.long	8
	.zero	4
	.quad	.LC62
	.long	16
	.zero	4
	.quad	.LC63
	.long	32
	.zero	4
	.quad	.LC64
	.long	64
	.zero	4
	.quad	.LC65
	.long	128
	.zero	4
	.quad	.LC66
	.long	256
	.zero	4
	.quad	.LC67
	.long	512
	.zero	4
	.quad	.LC68
	.long	0
	.zero	4
	.quad	0
	.section	.rodata
.LC69:
	.string	"Extended Options"
.LC70:
	.string	"MD5 Authentication"
	.section	.data.rel.local
	.align 32
	.type	ospf_lls_tlv_values, @object
	.size	ospf_lls_tlv_values, 48
ospf_lls_tlv_values:
	.long	1
	.zero	4
	.quad	.LC69
	.long	2
	.zero	4
	.quad	.LC70
	.long	0
	.zero	4
	.quad	0
	.section	.rodata
.LC71:
	.string	"LSDB resync"
.LC72:
	.string	"Restart"
	.section	.data.rel.local
	.align 32
	.type	ospf_lls_eo_options, @object
	.size	ospf_lls_eo_options, 48
ospf_lls_eo_options:
	.long	1
	.zero	4
	.quad	.LC71
	.long	2
	.zero	4
	.quad	.LC72
	.long	0
	.zero	4
	.quad	0
	.data
	.align 8
	.type	tstr, @object
	.size	tstr, 10
tstr:
	.string	" [|ospf2]"
	.section	.rodata
	.align 8
.LC73:
	.string	"\n\t    Remaining LS length %u < 4"
.LC74:
	.string	"unknown"
	.align 8
.LC75:
	.string	"\n\t    %s TLV (%u), length %u, value: "
.LC76:
	.string	"\n\t    Bogus length %u > %u"
.LC77:
	.string	"\n\t    Bogus length %u != 4"
.LC78:
	.string	"%us"
.LC79:
	.string	"\n\t    Bogus length %u != 1"
.LC80:
	.string	"%s (%u)"
.LC81:
	.string	"%s"
.LC82:
	.string	"\n\t      "
	.text
	.globl	ospf_print_grace_lsa
	.type	ospf_print_grace_lsa, @function
ospf_print_grace_lsa:
.LFB3:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 40
	.cfi_offset 3, -24
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	jmp	.L8
.L28:
	mov	rax, QWORD PTR gndo[rip]
	mov	rax, QWORD PTR 224[rax]
	sub	rax, 4
	cmp	QWORD PTR -40[rbp], rax
	ja	.L29
	cmp	DWORD PTR -44[rbp], 3
	ja	.L11
	mov	eax, DWORD PTR -44[rbp]
	mov	esi, eax
	lea	rdi, .LC73[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, -1
	jmp	.L12
.L11:
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	mov	edi, eax
	call	ntohs@PLT
	movzx	eax, ax
	mov	DWORD PTR -20[rbp], eax
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 2
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	mov	edi, eax
	call	ntohs@PLT
	movzx	eax, ax
	mov	DWORD PTR -24[rbp], eax
	add	QWORD PTR -40[rbp], 4
	sub	DWORD PTR -44[rbp], 4
	mov	eax, DWORD PTR -20[rbp]
	mov	edx, eax
	lea	rsi, .LC74[rip]
	lea	rdi, lsa_opaque_grace_tlv_values[rip]
	call	tok2str@PLT
	mov	rsi, rax
	mov	edx, DWORD PTR -24[rbp]
	mov	eax, DWORD PTR -20[rbp]
	mov	ecx, edx
	mov	edx, eax
	lea	rdi, .LC75[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR -24[rbp]
	cmp	eax, DWORD PTR -44[rbp]
	jbe	.L13
	mov	edx, DWORD PTR -44[rbp]
	mov	eax, DWORD PTR -24[rbp]
	mov	esi, eax
	lea	rdi, .LC76[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, -1
	jmp	.L12
.L13:
	cmp	DWORD PTR -20[rbp], 0
	je	.L14
	cmp	DWORD PTR -24[rbp], 0
	jne	.L15
.L14:
	mov	eax, -1
	jmp	.L12
.L15:
	mov	eax, DWORD PTR -24[rbp]
	neg	rax
	test	rax, rax
	jg	.L30
	mov	rax, QWORD PTR gndo[rip]
	mov	rdx, QWORD PTR 224[rax]
	mov	eax, DWORD PTR -24[rbp]
	neg	rax
	add	rax, rdx
	cmp	QWORD PTR -40[rbp], rax
	ja	.L30
	cmp	DWORD PTR -20[rbp], 3
	je	.L18
	cmp	DWORD PTR -20[rbp], 3
	ja	.L19
	cmp	DWORD PTR -20[rbp], 1
	je	.L20
	cmp	DWORD PTR -20[rbp], 2
	je	.L21
	jmp	.L19
.L20:
	cmp	DWORD PTR -24[rbp], 4
	je	.L22
	mov	eax, DWORD PTR -24[rbp]
	mov	esi, eax
	lea	rdi, .LC77[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, -1
	jmp	.L12
.L22:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR [rax]
	mov	edi, eax
	call	ntohl@PLT
	mov	esi, eax
	lea	rdi, .LC78[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L23
.L21:
	cmp	DWORD PTR -24[rbp], 1
	je	.L24
	mov	eax, DWORD PTR -24[rbp]
	mov	esi, eax
	lea	rdi, .LC79[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, -1
	jmp	.L12
.L24:
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	ebx, al
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	edx, eax
	lea	rsi, .LC55[rip]
	lea	rdi, lsa_opaque_grace_tlv_reason_values[rip]
	call	tok2str@PLT
	mov	edx, ebx
	mov	rsi, rax
	lea	rdi, .LC80[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L23
.L18:
	cmp	DWORD PTR -24[rbp], 4
	je	.L25
	mov	eax, DWORD PTR -24[rbp]
	mov	esi, eax
	lea	rdi, .LC77[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, -1
	jmp	.L12
.L25:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	getname@PLT
	mov	rsi, rax
	lea	rdi, .LC81[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L23
.L19:
	mov	rax, QWORD PTR gndo[rip]
	mov	eax, DWORD PTR 56[rax]
	cmp	eax, 1
	jg	.L31
	mov	edx, DWORD PTR -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	lea	rsi, .LC82[rip]
	mov	rdi, rax
	call	print_unknown_data@PLT
	test	eax, eax
	jne	.L31
	mov	eax, -1
	jmp	.L12
.L31:
	nop
.L23:
	mov	eax, DWORD PTR -24[rbp]
	and	eax, 3
	test	eax, eax
	je	.L27
	mov	eax, DWORD PTR -24[rbp]
	and	eax, -4
	add	eax, 4
	mov	DWORD PTR -24[rbp], eax
.L27:
	mov	eax, DWORD PTR -24[rbp]
	sub	DWORD PTR -44[rbp], eax
	mov	eax, DWORD PTR -24[rbp]
	add	QWORD PTR -40[rbp], rax
.L8:
	cmp	DWORD PTR -44[rbp], 0
	jne	.L28
	mov	eax, 0
	jmp	.L12
.L29:
	nop
	jmp	.L10
.L30:
	nop
.L10:
	mov	eax, -1
.L12:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE3:
	.size	ospf_print_grace_lsa, .-ospf_print_grace_lsa
	.section	.rodata
.LC83:
	.string	"\n\t    %s TLV (%u), length: %u"
	.align 8
.LC84:
	.string	"\n\t    Remaining TLV length %u < 4"
	.align 8
.LC85:
	.string	"\n\t      %s subTLV (%u), length: %u"
.LC86:
	.string	", 0x%08x"
.LC87:
	.string	", %s (0x%08x)"
.LC88:
	.string	", %s"
.LC91:
	.string	", %.3f Mbps"
.LC92:
	.string	"\n\t\tTE-Class %u: %.3f Mbps"
	.align 8
.LC93:
	.string	"\n\t\tBandwidth Constraints Model ID: %s (%u)"
	.align 8
.LC94:
	.string	"\n\t\t  Bandwidth constraint CT%u: %.3f Mbps"
.LC95:
	.string	", Metric %u"
.LC96:
	.string	", %s, Priority %u"
	.align 8
.LC97:
	.string	"\n\t\tInterface Switching Capability: %s"
	.align 8
.LC98:
	.string	"\n\t\tLSP Encoding: %s\n\t\tMax LSP Bandwidth:"
	.align 8
.LC99:
	.string	"\n\t\t  priority level %d: %.3f Mbps"
.LC100:
	.string	", %s (%u)"
.LC101:
	.string	"\n\t\t  Shared risk group: "
.LC102:
	.string	"%d"
.LC103:
	.string	", "
.LC104:
	.string	"\n\t\t"
.LC105:
	.string	"\n\t    TLV length %u < 4"
	.text
	.globl	ospf_print_te_lsa
	.type	ospf_print_te_lsa, @function
ospf_print_te_lsa:
.LFB4:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 56
	.cfi_offset 3, -24
	mov	QWORD PTR -56[rbp], rdi
	mov	DWORD PTR -60[rbp], esi
	jmp	.L33
.L80:
	mov	rax, QWORD PTR gndo[rip]
	mov	rax, QWORD PTR 224[rax]
	sub	rax, 4
	cmp	QWORD PTR -56[rbp], rax
	ja	.L82
	cmp	DWORD PTR -60[rbp], 3
	ja	.L36
	mov	eax, DWORD PTR -60[rbp]
	mov	esi, eax
	lea	rdi, .LC73[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, -1
	jmp	.L81
.L36:
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	mov	edi, eax
	call	ntohs@PLT
	movzx	eax, ax
	mov	DWORD PTR -24[rbp], eax
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 2
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	mov	edi, eax
	call	ntohs@PLT
	movzx	eax, ax
	mov	DWORD PTR -44[rbp], eax
	add	QWORD PTR -56[rbp], 4
	sub	DWORD PTR -60[rbp], 4
	mov	eax, DWORD PTR -24[rbp]
	mov	edx, eax
	lea	rsi, .LC74[rip]
	lea	rdi, lsa_opaque_te_tlv_values[rip]
	call	tok2str@PLT
	mov	rsi, rax
	mov	edx, DWORD PTR -44[rbp]
	mov	eax, DWORD PTR -24[rbp]
	mov	ecx, edx
	mov	edx, eax
	lea	rdi, .LC83[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR -44[rbp]
	cmp	eax, DWORD PTR -60[rbp]
	jbe	.L38
	mov	edx, DWORD PTR -60[rbp]
	mov	eax, DWORD PTR -44[rbp]
	mov	esi, eax
	lea	rdi, .LC76[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, -1
	jmp	.L81
.L38:
	cmp	DWORD PTR -24[rbp], 0
	je	.L39
	cmp	DWORD PTR -44[rbp], 0
	jne	.L40
.L39:
	mov	eax, -1
	jmp	.L81
.L40:
	cmp	DWORD PTR -24[rbp], 1
	je	.L41
	cmp	DWORD PTR -24[rbp], 2
	jne	.L42
	jmp	.L43
.L74:
	cmp	DWORD PTR -44[rbp], 3
	ja	.L44
	mov	eax, DWORD PTR -44[rbp]
	mov	esi, eax
	lea	rdi, .LC84[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, -1
	jmp	.L81
.L44:
	mov	rax, QWORD PTR gndo[rip]
	mov	rax, QWORD PTR 224[rax]
	sub	rax, 4
	cmp	QWORD PTR -56[rbp], rax
	ja	.L83
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	mov	edi, eax
	call	ntohs@PLT
	movzx	eax, ax
	mov	DWORD PTR -20[rbp], eax
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 2
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	mov	edi, eax
	call	ntohs@PLT
	movzx	eax, ax
	mov	DWORD PTR -40[rbp], eax
	add	QWORD PTR -56[rbp], 4
	sub	DWORD PTR -44[rbp], 4
	mov	eax, DWORD PTR -20[rbp]
	mov	edx, eax
	lea	rsi, .LC74[rip]
	lea	rdi, lsa_opaque_te_link_tlv_subtlv_values[rip]
	call	tok2str@PLT
	mov	rsi, rax
	mov	edx, DWORD PTR -40[rbp]
	mov	eax, DWORD PTR -20[rbp]
	mov	ecx, edx
	mov	edx, eax
	lea	rdi, .LC85[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR -40[rbp]
	neg	rax
	test	rax, rax
	jg	.L84
	mov	rax, QWORD PTR gndo[rip]
	mov	rdx, QWORD PTR 224[rax]
	mov	eax, DWORD PTR -40[rbp]
	neg	rax
	add	rax, rdx
	cmp	QWORD PTR -56[rbp], rax
	ja	.L84
	cmp	DWORD PTR -20[rbp], 17
	ja	.L48
	mov	eax, DWORD PTR -20[rbp]
	lea	rdx, 0[0+rax*4]
	lea	rax, .L50[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L50[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L50:
	.long	.L48-.L50
	.long	.L60-.L50
	.long	.L54-.L50
	.long	.L59-.L50
	.long	.L59-.L50
	.long	.L58-.L50
	.long	.L57-.L50
	.long	.L57-.L50
	.long	.L56-.L50
	.long	.L55-.L50
	.long	.L48-.L50
	.long	.L54-.L50
	.long	.L48-.L50
	.long	.L48-.L50
	.long	.L53-.L50
	.long	.L52-.L50
	.long	.L51-.L50
	.long	.L49-.L50
	.text
.L55:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR [rax]
	mov	edi, eax
	call	ntohl@PLT
	mov	esi, eax
	lea	rdi, .LC86[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L61
.L54:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR [rax]
	mov	edi, eax
	call	ntohl@PLT
	mov	ebx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	getname@PLT
	mov	edx, ebx
	mov	rsi, rax
	lea	rdi, .LC87[rip]
	mov	eax, 0
	call	printf@PLT
	cmp	DWORD PTR -40[rbp], 8
	jne	.L85
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 4
	mov	eax, DWORD PTR [rax]
	mov	edi, eax
	call	ntohl@PLT
	mov	ebx, eax
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 4
	mov	rdi, rax
	call	getname@PLT
	mov	edx, ebx
	mov	rsi, rax
	lea	rdi, .LC87[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L85
.L59:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	getname@PLT
	mov	rsi, rax
	lea	rdi, .LC88[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L61
.L57:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR [rax]
	mov	edi, eax
	call	ntohl@PLT
	mov	DWORD PTR -48[rbp], eax
	movss	xmm1, DWORD PTR -48[rbp]
	movss	xmm0, DWORD PTR .LC89[rip]
	mulss	xmm0, xmm1
	movss	xmm1, DWORD PTR .LC90[rip]
	divss	xmm0, xmm1
	pxor	xmm2, xmm2
	cvtss2sd	xmm2, xmm0
	movq	rax, xmm2
	movq	xmm0, rax
	lea	rdi, .LC91[rip]
	mov	eax, 1
	call	printf@PLT
	jmp	.L61
.L56:
	mov	DWORD PTR -32[rbp], 0
	jmp	.L63
.L64:
	mov	eax, DWORD PTR -32[rbp]
	sal	eax, 2
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edi, eax
	call	ntohl@PLT
	mov	DWORD PTR -48[rbp], eax
	movss	xmm1, DWORD PTR -48[rbp]
	movss	xmm0, DWORD PTR .LC89[rip]
	mulss	xmm0, xmm1
	movss	xmm1, DWORD PTR .LC90[rip]
	divss	xmm0, xmm1
	pxor	xmm3, xmm3
	cvtss2sd	xmm3, xmm0
	movq	rdx, xmm3
	mov	eax, DWORD PTR -32[rbp]
	movq	xmm0, rdx
	mov	esi, eax
	lea	rdi, .LC92[rip]
	mov	eax, 1
	call	printf@PLT
	add	DWORD PTR -32[rbp], 1
.L63:
	cmp	DWORD PTR -32[rbp], 7
	jbe	.L64
	jmp	.L61
.L49:
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	ebx, al
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	edx, eax
	lea	rsi, .LC74[rip]
	lea	rdi, diffserv_te_bc_values[rip]
	call	tok2str@PLT
	mov	edx, ebx
	mov	rsi, rax
	lea	rdi, .LC93[rip]
	mov	eax, 0
	call	printf@PLT
	mov	DWORD PTR -32[rbp], 0
	jmp	.L65
.L66:
	mov	eax, DWORD PTR -32[rbp]
	sal	eax, 2
	mov	eax, eax
	lea	rdx, 4[rax]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edi, eax
	call	ntohl@PLT
	mov	DWORD PTR -48[rbp], eax
	movss	xmm1, DWORD PTR -48[rbp]
	movss	xmm0, DWORD PTR .LC89[rip]
	mulss	xmm0, xmm1
	movss	xmm1, DWORD PTR .LC90[rip]
	divss	xmm0, xmm1
	pxor	xmm4, xmm4
	cvtss2sd	xmm4, xmm0
	movq	rdx, xmm4
	mov	eax, DWORD PTR -32[rbp]
	movq	xmm0, rdx
	mov	esi, eax
	lea	rdi, .LC94[rip]
	mov	eax, 1
	call	printf@PLT
	add	DWORD PTR -32[rbp], 1
.L65:
	mov	eax, DWORD PTR -40[rbp]
	sub	eax, 4
	shr	eax, 2
	cmp	DWORD PTR -32[rbp], eax
	jb	.L66
	jmp	.L61
.L58:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR [rax]
	mov	edi, eax
	call	ntohl@PLT
	mov	esi, eax
	lea	rdi, .LC95[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L61
.L53:
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	movzx	ebx, al
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	edx, eax
	lea	rsi, .LC8[rip]
	lea	rdi, gmpls_link_prot_values[rip]
	call	bittok2str@PLT
	mov	edx, ebx
	mov	rsi, rax
	lea	rdi, .LC96[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L61
.L52:
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	edx, eax
	lea	rsi, .LC55[rip]
	lea	rdi, gmpls_switch_cap_values[rip]
	call	tok2str@PLT
	mov	rsi, rax
	lea	rdi, .LC97[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	edx, eax
	lea	rsi, .LC55[rip]
	lea	rdi, gmpls_encoding_values[rip]
	call	tok2str@PLT
	mov	rsi, rax
	lea	rdi, .LC98[rip]
	mov	eax, 0
	call	printf@PLT
	mov	DWORD PTR -36[rbp], 0
	jmp	.L67
.L68:
	mov	eax, DWORD PTR -36[rbp]
	sal	eax, 2
	mov	eax, eax
	lea	rdx, 4[rax]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edi, eax
	call	ntohl@PLT
	mov	DWORD PTR -48[rbp], eax
	movss	xmm1, DWORD PTR -48[rbp]
	movss	xmm0, DWORD PTR .LC89[rip]
	mulss	xmm0, xmm1
	movss	xmm1, DWORD PTR .LC90[rip]
	divss	xmm0, xmm1
	pxor	xmm5, xmm5
	cvtss2sd	xmm5, xmm0
	movq	rdx, xmm5
	mov	eax, DWORD PTR -36[rbp]
	movq	xmm0, rdx
	mov	esi, eax
	lea	rdi, .LC99[rip]
	mov	eax, 1
	call	printf@PLT
	add	DWORD PTR -36[rbp], 1
.L67:
	cmp	DWORD PTR -36[rbp], 7
	jbe	.L68
	jmp	.L61
.L60:
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	ebx, al
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	edx, eax
	lea	rsi, .LC74[rip]
	lea	rdi, lsa_opaque_te_tlv_link_type_sub_tlv_values[rip]
	call	tok2str@PLT
	mov	edx, ebx
	mov	rsi, rax
	lea	rdi, .LC100[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L61
.L51:
	mov	eax, DWORD PTR -40[rbp]
	shr	eax, 2
	mov	DWORD PTR -28[rbp], eax
	cmp	DWORD PTR -28[rbp], 0
	je	.L70
	lea	rdi, .LC101[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L70
.L71:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR [rax]
	mov	edi, eax
	call	ntohl@PLT
	mov	DWORD PTR -48[rbp], eax
	mov	eax, DWORD PTR -48[rbp]
	mov	esi, eax
	lea	rdi, .LC102[rip]
	mov	eax, 0
	call	printf@PLT
	add	QWORD PTR -56[rbp], 4
	sub	DWORD PTR -28[rbp], 1
	cmp	DWORD PTR -28[rbp], 0
	je	.L70
	lea	rdi, .LC103[rip]
	mov	eax, 0
	call	printf@PLT
.L70:
	cmp	DWORD PTR -28[rbp], 0
	jne	.L71
	jmp	.L61
.L48:
	mov	rax, QWORD PTR gndo[rip]
	mov	eax, DWORD PTR 56[rax]
	cmp	eax, 1
	jg	.L86
	mov	edx, DWORD PTR -40[rbp]
	mov	rax, QWORD PTR -56[rbp]
	lea	rsi, .LC104[rip]
	mov	rdi, rax
	call	print_unknown_data@PLT
	test	eax, eax
	jne	.L86
	mov	eax, -1
	jmp	.L81
.L85:
	nop
	jmp	.L61
.L86:
	nop
.L61:
	mov	eax, DWORD PTR -40[rbp]
	and	eax, 3
	test	eax, eax
	je	.L73
	mov	eax, DWORD PTR -40[rbp]
	and	eax, -4
	add	eax, 4
	mov	DWORD PTR -40[rbp], eax
.L73:
	mov	eax, DWORD PTR -40[rbp]
	sub	DWORD PTR -44[rbp], eax
	mov	eax, DWORD PTR -40[rbp]
	add	QWORD PTR -56[rbp], rax
.L43:
	cmp	DWORD PTR -44[rbp], 7
	ja	.L74
	jmp	.L75
.L41:
	cmp	DWORD PTR -44[rbp], 3
	ja	.L76
	mov	eax, DWORD PTR -44[rbp]
	mov	esi, eax
	lea	rdi, .LC105[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, -1
	jmp	.L81
.L76:
	mov	rax, QWORD PTR gndo[rip]
	mov	rax, QWORD PTR 224[rax]
	sub	rax, 4
	cmp	QWORD PTR -56[rbp], rax
	ja	.L87
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	getname@PLT
	mov	rsi, rax
	lea	rdi, .LC88[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L75
.L42:
	mov	rax, QWORD PTR gndo[rip]
	mov	eax, DWORD PTR 56[rax]
	cmp	eax, 1
	jg	.L88
	mov	edx, DWORD PTR -44[rbp]
	mov	rax, QWORD PTR -56[rbp]
	lea	rsi, .LC82[rip]
	mov	rdi, rax
	call	print_unknown_data@PLT
	test	eax, eax
	jne	.L88
	mov	eax, -1
	jmp	.L81
.L88:
	nop
.L75:
	mov	eax, DWORD PTR -44[rbp]
	and	eax, 3
	test	eax, eax
	je	.L79
	mov	eax, DWORD PTR -44[rbp]
	and	eax, -4
	add	eax, 4
	mov	DWORD PTR -44[rbp], eax
.L79:
	mov	eax, DWORD PTR -44[rbp]
	sub	DWORD PTR -60[rbp], eax
	mov	eax, DWORD PTR -44[rbp]
	add	QWORD PTR -56[rbp], rax
.L33:
	cmp	DWORD PTR -60[rbp], 0
	jne	.L80
	mov	eax, 0
	jmp	.L81
.L82:
	nop
	jmp	.L35
.L83:
	nop
	jmp	.L35
.L84:
	nop
	jmp	.L35
.L87:
	nop
.L35:
	mov	eax, -1
.L81:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE4:
	.size	ospf_print_te_lsa, .-ospf_print_te_lsa
	.section	.rodata
	.align 8
.LC106:
	.string	"\n\t    Bogus length %u < header (%lu)"
	.align 8
.LC107:
	.string	"\n\t  Advertising Router %s, seq 0x%08x, age %us, length %u"
	.align 8
.LC108:
	.string	"\n\t    %s LSA (%d), Opaque-Type %s LSA (%u), Opaque-ID %u"
.LC109:
	.string	"\n\t    %s LSA (%d), LSA-ID: %s"
.LC110:
	.string	"\n\t    Options: [%s]"
	.text
	.type	ospf_print_lshdr, @function
ospf_print_lshdr:
.LFB5:
	.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, 24
	.cfi_offset 15, -24
	.cfi_offset 14, -32
	.cfi_offset 13, -40
	.cfi_offset 12, -48
	.cfi_offset 3, -56
	mov	rbx, rdi
	lea	rdx, 18[rbx]
	mov	rax, QWORD PTR gndo[rip]
	mov	rax, QWORD PTR 224[rax]
	sub	rax, 2
	cmp	rdx, rax
	ja	.L99
	lea	rax, 18[rbx]
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	mov	edi, eax
	call	ntohs@PLT
	movzx	eax, ax
	mov	DWORD PTR -52[rbp], eax
	cmp	DWORD PTR -52[rbp], 19
	ja	.L92
	mov	eax, DWORD PTR -52[rbp]
	mov	edx, 20
	mov	esi, eax
	lea	rdi, .LC106[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, -1
	jmp	.L93
.L92:
	lea	rdx, 12[rbx]
	mov	rax, QWORD PTR gndo[rip]
	mov	rax, QWORD PTR 224[rax]
	sub	rax, 4
	cmp	rdx, rax
	ja	.L100
	mov	eax, DWORD PTR -52[rbp]
	lea	r14d, -20[rax]
	mov	rax, rbx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	mov	edi, eax
	call	ntohs@PLT
	movzx	r12d, ax
	lea	rax, 12[rbx]
	mov	eax, DWORD PTR [rax]
	mov	edi, eax
	call	ntohl@PLT
	mov	r13d, eax
	lea	rax, 8[rbx]
	mov	rdi, rax
	call	getname@PLT
	mov	r8d, r14d
	mov	ecx, r12d
	mov	edx, r13d
	mov	rsi, rax
	lea	rdi, .LC107[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdx, 3[rbx]
	mov	rax, QWORD PTR gndo[rip]
	mov	rax, QWORD PTR 224[rax]
	sub	rax, 1
	cmp	rdx, rax
	ja	.L101
	movzx	eax, BYTE PTR 3[rbx]
	movzx	eax, al
	sub	eax, 9
	cmp	eax, 2
	ja	.L96
	movzx	eax, BYTE PTR 5[rbx]
	movzx	eax, al
	sal	eax, 16
	mov	edx, eax
	movzx	eax, BYTE PTR 6[rbx]
	movzx	eax, al
	sal	eax, 8
	or	edx, eax
	movzx	eax, BYTE PTR 7[rbx]
	movzx	eax, al
	or	edx, eax
	mov	r15d, edx
	movzx	eax, BYTE PTR 4[rbx]
	movzx	r14d, al
	movzx	eax, BYTE PTR 4[rbx]
	movzx	eax, al
	mov	edx, eax
	lea	rsi, .LC74[rip]
	lea	rdi, lsa_opaque_values[rip]
	call	tok2str@PLT
	mov	r13, rax
	movzx	eax, BYTE PTR 3[rbx]
	movzx	r12d, al
	movzx	eax, BYTE PTR 3[rbx]
	movzx	eax, al
	mov	edx, eax
	lea	rsi, .LC74[rip]
	lea	rdi, lsa_values[rip]
	call	tok2str@PLT
	mov	r9d, r15d
	mov	r8d, r14d
	mov	rcx, r13
	mov	edx, r12d
	mov	rsi, rax
	lea	rdi, .LC108[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L97
.L96:
	lea	rax, 4[rbx]
	mov	rdi, rax
	call	getname@PLT
	mov	r13, rax
	movzx	eax, BYTE PTR 3[rbx]
	movzx	r12d, al
	movzx	eax, BYTE PTR 3[rbx]
	movzx	eax, al
	mov	edx, eax
	lea	rsi, .LC74[rip]
	lea	rdi, lsa_values[rip]
	call	tok2str@PLT
	mov	rcx, r13
	mov	edx, r12d
	mov	rsi, rax
	lea	rdi, .LC109[rip]
	mov	eax, 0
	call	printf@PLT
	nop
.L97:
	lea	rdx, 2[rbx]
	mov	rax, QWORD PTR gndo[rip]
	mov	rax, QWORD PTR 224[rax]
	sub	rax, 1
	cmp	rdx, rax
	ja	.L102
	movzx	eax, BYTE PTR 2[rbx]
	movzx	eax, al
	mov	edx, eax
	lea	rsi, .LC8[rip]
	lea	rdi, ospf_option_values[rip]
	call	bittok2str@PLT
	mov	rsi, rax
	lea	rdi, .LC110[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR -52[rbp]
	jmp	.L93
.L99:
	nop
	jmp	.L91
.L100:
	nop
	jmp	.L91
.L101:
	nop
	jmp	.L91
.L102:
	nop
.L91:
	mov	eax, -1
.L93:
	add	rsp, 24
	pop	rbx
	pop	r12
	pop	r13
	pop	r14
	pop	r15
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE5:
	.size	ospf_print_lshdr, .-ospf_print_lshdr
	.section	.rodata
.LC111:
	.string	"default "
.LC112:
	.string	"multicast "
.LC113:
	.string	"management "
	.section	.data.rel.local
	.align 32
	.type	ospf_topology_values, @object
	.size	ospf_topology_values, 64
ospf_topology_values:
	.long	0
	.zero	4
	.quad	.LC111
	.long	1
	.zero	4
	.quad	.LC112
	.long	2
	.zero	4
	.quad	.LC113
	.long	0
	.zero	4
	.quad	0
	.section	.rodata
.LC114:
	.string	""
.LC115:
	.string	"\n\t\ttopology %s(%u), metric %u"
	.text
	.type	ospf_print_tos_metrics, @function
ospf_print_tos_metrics:
.LFB6:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	r12
	push	rbx
	sub	rsp, 32
	.cfi_offset 12, -24
	.cfi_offset 3, -32
	mov	QWORD PTR -40[rbp], rdi
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR 1[rax]
	movzx	eax, al
	add	eax, 1
	mov	DWORD PTR -20[rbp], eax
	mov	DWORD PTR -24[rbp], 0
	jmp	.L104
.L109:
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 2
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	mov	edi, eax
	call	ntohs@PLT
	movzx	r12d, ax
	cmp	DWORD PTR -24[rbp], 0
	je	.L105
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	ebx, al
	jmp	.L106
.L105:
	mov	ebx, 0
.L106:
	cmp	DWORD PTR -24[rbp], 0
	je	.L107
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	jmp	.L108
.L107:
	mov	eax, 0
.L108:
	mov	edx, eax
	lea	rsi, .LC114[rip]
	lea	rdi, ospf_topology_values[rip]
	call	tok2str@PLT
	mov	ecx, r12d
	mov	edx, ebx
	mov	rsi, rax
	lea	rdi, .LC115[rip]
	mov	eax, 0
	call	printf@PLT
	add	DWORD PTR -24[rbp], 1
	add	QWORD PTR -40[rbp], 4
	sub	DWORD PTR -20[rbp], 1
.L104:
	cmp	DWORD PTR -20[rbp], 0
	jne	.L109
	nop
	nop
	add	rsp, 32
	pop	rbx
	pop	r12
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	ospf_print_tos_metrics, .-ospf_print_tos_metrics
	.section	.rodata
	.align 8
.LC116:
	.string	"\n\t    Router LSA Options: [%s]"
	.align 8
.LC117:
	.string	"\n\t      Virtual Link: Neighbor Router-ID: %s, Interface Address: %s"
	.align 8
.LC118:
	.string	"\n\t      Neighbor Router-ID: %s, Interface Address: %s"
	.align 8
.LC119:
	.string	"\n\t      Neighbor Network-ID: %s, Interface Address: %s"
	.align 8
.LC120:
	.string	"\n\t      Stub Network: %s, Mask: %s"
	.align 8
.LC121:
	.string	"\n\t      Unknown Router Link Type (%u)"
	.align 8
.LC122:
	.string	"\n\t    Mask %s\n\t    Connected Routers:"
.LC123:
	.string	"\n\t      %s"
.LC124:
	.string	"\n\t    Mask %s"
.LC125:
	.string	"\n\t\ttopology %s(%u) metric %d"
	.align 8
.LC126:
	.string	"\n\t\ttopology %s(%u), type %d, metric"
.LC127:
	.string	" infinite"
.LC128:
	.string	" %d"
.LC129:
	.string	", forward %s"
.LC130:
	.string	", tag %s"
.LC131:
	.string	"\n\t    Router Router-ID %s"
	.align 8
.LC132:
	.string	"\n\t    Network Designated Router %s"
.LC133:
	.string	"\n\t    unknown VertexType (%u)"
	.align 8
.LC134:
	.string	"\n\t    %s TLV (%u), length: %u, value: "
.LC135:
	.string	"Capabilities: %s"
.LC136:
	.string	"\n\t    "
	.text
	.type	ospf_print_lsa, @function
ospf_print_lsa:
.LFB7:
	.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, 40
	.cfi_offset 15, -24
	.cfi_offset 14, -32
	.cfi_offset 13, -40
	.cfi_offset 12, -48
	.cfi_offset 3, -56
	mov	rbx, rdi
	lea	rax, 20[rbx]
	mov	QWORD PTR -56[rbp], rax
	mov	rax, rbx
	mov	rdi, rax
	call	ospf_print_lshdr
	mov	r12d, eax
	cmp	r12d, -1
	jne	.L111
	mov	eax, 0
	jmp	.L112
.L111:
	movsx	rax, r12d
	lea	r13, [rbx+rax]
	mov	eax, r12d
	sub	eax, 20
	mov	r12d, eax
	movzx	eax, BYTE PTR 3[rbx]
	movzx	eax, al
	cmp	eax, 11
	ja	.L113
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L115[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L115[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L115:
	.long	.L113-.L115
	.long	.L121-.L115
	.long	.L120-.L115
	.long	.L119-.L115
	.long	.L118-.L115
	.long	.L116-.L115
	.long	.L117-.L115
	.long	.L116-.L115
	.long	.L113-.L115
	.long	.L114-.L115
	.long	.L114-.L115
	.long	.L114-.L115
	.text
.L121:
	lea	rdx, 20[rbx]
	mov	rax, QWORD PTR gndo[rip]
	mov	rax, QWORD PTR 224[rax]
	sub	rax, 1
	cmp	rdx, rax
	ja	.L188
	movzx	eax, BYTE PTR 20[rbx]
	movzx	eax, al
	mov	edx, eax
	lea	rsi, .LC8[rip]
	lea	rdi, ospf_rla_flag_values[rip]
	call	bittok2str@PLT
	mov	rsi, rax
	lea	rdi, .LC116[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdx, 22[rbx]
	mov	rax, QWORD PTR gndo[rip]
	mov	rax, QWORD PTR 224[rax]
	sub	rax, 2
	cmp	rdx, rax
	ja	.L189
	lea	rax, 22[rbx]
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	mov	edi, eax
	call	ntohs@PLT
	movzx	r15d, ax
	lea	rdx, 24[rbx]
	mov	rax, QWORD PTR gndo[rip]
	mov	rax, QWORD PTR 224[rax]
	sub	rax, 12
	cmp	rdx, rax
	ja	.L190
	lea	r14, 24[rbx]
	jmp	.L126
.L134:
	mov	rax, QWORD PTR gndo[rip]
	mov	rax, QWORD PTR 224[rax]
	sub	rax, 12
	cmp	r14, rax
	ja	.L191
	movzx	eax, BYTE PTR 8[r14]
	movzx	eax, al
	cmp	eax, 4
	je	.L128
	cmp	eax, 4
	jg	.L129
	cmp	eax, 3
	je	.L130
	cmp	eax, 3
	jg	.L129
	cmp	eax, 1
	je	.L131
	cmp	eax, 2
	je	.L132
	jmp	.L129
.L128:
	lea	rax, 4[r14]
	mov	rdi, rax
	call	getname@PLT
	mov	QWORD PTR -72[rbp], rax
	mov	rax, r14
	mov	rdi, rax
	call	getname@PLT
	mov	rdx, QWORD PTR -72[rbp]
	mov	rsi, rax
	lea	rdi, .LC117[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L133
.L131:
	lea	rax, 4[r14]
	mov	rdi, rax
	call	getname@PLT
	mov	QWORD PTR -72[rbp], rax
	mov	rax, r14
	mov	rdi, rax
	call	getname@PLT
	mov	rdx, QWORD PTR -72[rbp]
	mov	rsi, rax
	lea	rdi, .LC118[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L133
.L132:
	lea	rax, 4[r14]
	mov	rdi, rax
	call	getname@PLT
	mov	QWORD PTR -72[rbp], rax
	mov	rax, r14
	mov	rdi, rax
	call	getname@PLT
	mov	rdx, QWORD PTR -72[rbp]
	mov	rsi, rax
	lea	rdi, .LC119[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L133
.L130:
	lea	rax, 4[r14]
	mov	rdi, rax
	call	getname@PLT
	mov	QWORD PTR -72[rbp], rax
	mov	rax, r14
	mov	rdi, rax
	call	getname@PLT
	mov	rdx, QWORD PTR -72[rbp]
	mov	rsi, rax
	lea	rdi, .LC120[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L133
.L129:
	movzx	eax, BYTE PTR 8[r14]
	movzx	eax, al
	mov	esi, eax
	lea	rdi, .LC121[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, r13
	jmp	.L112
.L133:
	lea	rax, 8[r14]
	mov	rdi, rax
	call	ospf_print_tos_metrics
	movzx	eax, BYTE PTR 9[r14]
	movzx	eax, al
	add	rax, 3
	sal	rax, 2
	add	r14, rax
.L126:
	mov	eax, r15d
	lea	r15d, -1[rax]
	test	eax, eax
	jne	.L134
	jmp	.L113
.L120:
	lea	rdx, 20[rbx]
	mov	rax, QWORD PTR gndo[rip]
	mov	rax, QWORD PTR 224[rax]
	sub	rax, 4
	cmp	rdx, rax
	ja	.L192
	lea	rax, 20[rbx]
	mov	rdi, rax
	call	getname@PLT
	mov	rsi, rax
	lea	rdi, .LC122[rip]
	mov	eax, 0
	call	printf@PLT
	lea	r14, 24[rbx]
	jmp	.L136
.L138:
	mov	rax, QWORD PTR gndo[rip]
	mov	rax, QWORD PTR 224[rax]
	sub	rax, 4
	cmp	r14, rax
	ja	.L193
	mov	rdi, r14
	call	getname@PLT
	mov	rsi, rax
	lea	rdi, .LC123[rip]
	mov	eax, 0
	call	printf@PLT
	add	r14, 4
.L136:
	cmp	r14, r13
	jb	.L138
	jmp	.L113
.L119:
	lea	rdx, 20[rbx]
	mov	rax, QWORD PTR gndo[rip]
	mov	rax, QWORD PTR 224[rax]
	sub	rax, 4
	cmp	rdx, rax
	ja	.L194
	lea	rax, 20[rbx]
	mov	rdi, rax
	call	getname@PLT
	mov	rsi, rax
	lea	rdi, .LC124[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdx, 24[rbx]
	mov	rax, QWORD PTR gndo[rip]
	mov	rax, QWORD PTR 224[rax]
	sub	rax, 4
	cmp	rdx, rax
	ja	.L195
	lea	r14, 24[rbx]
	jmp	.L141
.L143:
	mov	rax, QWORD PTR gndo[rip]
	mov	rax, QWORD PTR 224[rax]
	sub	rax, 4
	cmp	r14, rax
	ja	.L196
	mov	eax, DWORD PTR [r14]
	mov	edi, eax
	call	ntohl@PLT
	mov	ecx, eax
	mov	eax, ecx
	shr	eax, 24
	and	eax, 127
	mov	r15d, eax
	and	ecx, 16777215
	mov	DWORD PTR -72[rbp], ecx
	mov	edx, r15d
	lea	rsi, .LC114[rip]
	lea	rdi, ospf_topology_values[rip]
	call	tok2str@PLT
	mov	ecx, DWORD PTR -72[rbp]
	mov	edx, r15d
	mov	rsi, rax
	lea	rdi, .LC125[rip]
	mov	eax, 0
	call	printf@PLT
	add	r14, 4
.L141:
	cmp	r14, r13
	jb	.L143
	jmp	.L113
.L118:
	lea	rdx, 24[rbx]
	mov	rax, QWORD PTR gndo[rip]
	mov	rax, QWORD PTR 224[rax]
	sub	rax, 4
	cmp	rdx, rax
	ja	.L197
	lea	r14, 24[rbx]
	jmp	.L145
.L147:
	mov	rax, QWORD PTR gndo[rip]
	mov	rax, QWORD PTR 224[rax]
	sub	rax, 4
	cmp	r14, rax
	ja	.L198
	mov	eax, DWORD PTR [r14]
	mov	edi, eax
	call	ntohl@PLT
	mov	ecx, eax
	mov	eax, ecx
	shr	eax, 24
	and	eax, 127
	mov	r15d, eax
	and	ecx, 16777215
	mov	DWORD PTR -72[rbp], ecx
	mov	edx, r15d
	lea	rsi, .LC114[rip]
	lea	rdi, ospf_topology_values[rip]
	call	tok2str@PLT
	mov	ecx, DWORD PTR -72[rbp]
	mov	edx, r15d
	mov	rsi, rax
	lea	rdi, .LC125[rip]
	mov	eax, 0
	call	printf@PLT
	add	r14, 4
.L145:
	cmp	r14, r13
	jb	.L147
	jmp	.L113
.L116:
	lea	rdx, 20[rbx]
	mov	rax, QWORD PTR gndo[rip]
	mov	rax, QWORD PTR 224[rax]
	sub	rax, 4
	cmp	rdx, rax
	ja	.L199
	lea	rax, 20[rbx]
	mov	rdi, rax
	call	getname@PLT
	mov	rsi, rax
	lea	rdi, .LC124[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdx, 24[rbx]
	mov	rax, QWORD PTR gndo[rip]
	mov	rax, QWORD PTR 224[rax]
	sub	rax, 4
	cmp	rdx, rax
	ja	.L200
	lea	r14, 24[rbx]
	jmp	.L150
.L160:
	mov	rdx, r14
	mov	rax, QWORD PTR gndo[rip]
	mov	rax, QWORD PTR 224[rax]
	sub	rax, 4
	cmp	rdx, rax
	ja	.L201
	mov	rax, r14
	mov	eax, DWORD PTR [rax]
	mov	edi, eax
	call	ntohl@PLT
	mov	ecx, eax
	mov	DWORD PTR -76[rbp], ecx
	mov	eax, ecx
	shr	eax, 24
	and	eax, 127
	mov	r15d, eax
	mov	eax, ecx
	test	eax, eax
	jns	.L152
	mov	DWORD PTR -72[rbp], 2
	jmp	.L153
.L152:
	mov	DWORD PTR -72[rbp], 1
.L153:
	mov	edx, r15d
	lea	rsi, .LC114[rip]
	lea	rdi, ospf_topology_values[rip]
	call	tok2str@PLT
	mov	ecx, DWORD PTR -72[rbp]
	mov	edx, r15d
	mov	rsi, rax
	lea	rdi, .LC126[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR -76[rbp]
	and	eax, 16777215
	cmp	eax, 16777215
	jne	.L154
	lea	rdi, .LC127[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L155
.L154:
	mov	eax, DWORD PTR -76[rbp]
	and	eax, 16777215
	mov	esi, eax
	lea	rdi, .LC128[rip]
	mov	eax, 0
	call	printf@PLT
.L155:
	lea	rdx, 4[r14]
	mov	rax, QWORD PTR gndo[rip]
	mov	rax, QWORD PTR 224[rax]
	sub	rax, 4
	cmp	rdx, rax
	ja	.L202
	mov	eax, DWORD PTR 4[r14]
	test	eax, eax
	je	.L157
	lea	rax, 4[r14]
	mov	rdi, rax
	call	getname@PLT
	mov	rsi, rax
	lea	rdi, .LC129[rip]
	mov	eax, 0
	call	printf@PLT
.L157:
	lea	rdx, 8[r14]
	mov	rax, QWORD PTR gndo[rip]
	mov	rax, QWORD PTR 224[rax]
	sub	rax, 4
	cmp	rdx, rax
	ja	.L203
	mov	eax, DWORD PTR 8[r14]
	test	eax, eax
	je	.L159
	lea	rax, 8[r14]
	mov	rdi, rax
	call	getname@PLT
	mov	rsi, rax
	lea	rdi, .LC130[rip]
	mov	eax, 0
	call	printf@PLT
.L159:
	add	r14, 12
.L150:
	cmp	r14, r13
	jb	.L160
	jmp	.L113
.L117:
	lea	r14, 20[rbx]
	jmp	.L161
.L167:
	lea	rdx, 4[r14]
	mov	rax, QWORD PTR gndo[rip]
	mov	rax, QWORD PTR 224[rax]
	sub	rax, 4
	cmp	rdx, rax
	ja	.L204
	mov	rax, r14
	mov	eax, DWORD PTR [rax]
	mov	edi, eax
	call	ntohl@PLT
	cmp	eax, 1
	je	.L163
	cmp	eax, 2
	je	.L164
	jmp	.L187
.L163:
	lea	rax, 4[r14]
	mov	rdi, rax
	call	getname@PLT
	mov	rsi, rax
	lea	rdi, .LC131[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L166
.L164:
	lea	rax, 4[r14]
	mov	rdi, rax
	call	getname@PLT
	mov	rsi, rax
	lea	rdi, .LC132[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L166
.L187:
	mov	rax, r14
	mov	eax, DWORD PTR [rax]
	mov	edi, eax
	call	ntohl@PLT
	mov	esi, eax
	lea	rdi, .LC133[rip]
	mov	eax, 0
	call	printf@PLT
	nop
.L166:
	add	r14, 8
.L161:
	cmp	r14, r13
	jb	.L167
	jmp	.L113
.L114:
	movzx	eax, BYTE PTR 4[rbx]
	movzx	eax, al
	cmp	eax, 4
	je	.L168
	cmp	eax, 4
	jg	.L169
	cmp	eax, 1
	je	.L170
	cmp	eax, 3
	je	.L171
	jmp	.L169
.L168:
	lea	rax, 20[rbx]
	mov	QWORD PTR -56[rbp], rax
	jmp	.L172
.L182:
	mov	rax, QWORD PTR gndo[rip]
	mov	rax, QWORD PTR 224[rax]
	sub	rax, 4
	cmp	QWORD PTR -56[rbp], rax
	ja	.L205
	cmp	r12d, 3
	jg	.L174
	mov	esi, r12d
	lea	rdi, .LC73[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, r13
	jmp	.L112
.L174:
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	mov	edi, eax
	call	ntohs@PLT
	movzx	r15d, ax
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 2
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	mov	edi, eax
	call	ntohs@PLT
	movzx	r14d, ax
	add	QWORD PTR -56[rbp], 4
	sub	r12d, 4
	mov	edx, r15d
	lea	rsi, .LC74[rip]
	lea	rdi, lsa_opaque_ri_tlv_values[rip]
	call	tok2str@PLT
	mov	ecx, r14d
	mov	edx, r15d
	mov	rsi, rax
	lea	rdi, .LC134[rip]
	mov	eax, 0
	call	printf@PLT
	cmp	r14d, r12d
	jle	.L175
	mov	edx, r12d
	mov	esi, r14d
	lea	rdi, .LC76[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, r13
	jmp	.L112
.L175:
	movsx	rax, r14d
	neg	rax
	test	rax, rax
	jg	.L206
	mov	rax, QWORD PTR gndo[rip]
	mov	rdx, QWORD PTR 224[rax]
	movsx	rax, r14d
	neg	rax
	add	rax, rdx
	cmp	QWORD PTR -56[rbp], rax
	ja	.L206
	cmp	r15d, 1
	jne	.L178
	cmp	r14d, 4
	je	.L179
	mov	esi, r14d
	lea	rdi, .LC77[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, r13
	jmp	.L112
.L179:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR [rax]
	mov	edi, eax
	call	ntohl@PLT
	mov	edx, eax
	lea	rsi, .LC55[rip]
	lea	rdi, lsa_opaque_ri_tlv_cap_values[rip]
	call	bittok2str@PLT
	mov	rsi, rax
	lea	rdi, .LC135[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L180
.L178:
	mov	rax, QWORD PTR gndo[rip]
	mov	eax, DWORD PTR 56[rax]
	cmp	eax, 1
	jg	.L207
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, r14d
	lea	rsi, .LC82[rip]
	mov	rdi, rax
	call	print_unknown_data@PLT
	test	eax, eax
	jne	.L207
	mov	rax, r13
	jmp	.L112
.L207:
	nop
.L180:
	movsx	rax, r14d
	add	QWORD PTR -56[rbp], rax
	sub	r12d, r14d
.L172:
	test	r12d, r12d
	jne	.L182
	jmp	.L113
.L171:
	mov	edx, r12d
	lea	rax, 20[rbx]
	mov	esi, edx
	mov	rdi, rax
	call	ospf_print_grace_lsa
	cmp	eax, -1
	jne	.L208
	mov	rax, r13
	jmp	.L112
.L170:
	mov	edx, r12d
	lea	rax, 20[rbx]
	mov	esi, edx
	mov	rdi, rax
	call	ospf_print_te_lsa
	cmp	eax, -1
	jne	.L209
	mov	rax, r13
	jmp	.L112
.L169:
	mov	rax, QWORD PTR gndo[rip]
	mov	eax, DWORD PTR 56[rax]
	cmp	eax, 1
	jg	.L210
	lea	rax, 20[rbx]
	mov	edx, r12d
	lea	rsi, .LC136[rip]
	mov	rdi, rax
	call	print_unknown_data@PLT
	test	eax, eax
	jne	.L210
	mov	rax, r13
	jmp	.L112
.L208:
	nop
	jmp	.L113
.L209:
	nop
	jmp	.L113
.L210:
	nop
.L113:
	mov	rax, QWORD PTR gndo[rip]
	mov	eax, DWORD PTR 56[rax]
	cmp	eax, 1
	jle	.L186
	lea	rax, 20[rbx]
	mov	edx, r12d
	lea	rsi, .LC136[rip]
	mov	rdi, rax
	call	print_unknown_data@PLT
	test	eax, eax
	jne	.L186
	mov	rax, r13
	jmp	.L112
.L186:
	mov	rax, r13
	jmp	.L112
.L188:
	nop
	jmp	.L123
.L189:
	nop
	jmp	.L123
.L190:
	nop
	jmp	.L123
.L191:
	nop
	jmp	.L123
.L192:
	nop
	jmp	.L123
.L193:
	nop
	jmp	.L123
.L194:
	nop
	jmp	.L123
.L195:
	nop
	jmp	.L123
.L196:
	nop
	jmp	.L123
.L197:
	nop
	jmp	.L123
.L198:
	nop
	jmp	.L123
.L199:
	nop
	jmp	.L123
.L200:
	nop
	jmp	.L123
.L201:
	nop
	jmp	.L123
.L202:
	nop
	jmp	.L123
.L203:
	nop
	jmp	.L123
.L204:
	nop
	jmp	.L123
.L205:
	nop
	jmp	.L123
.L206:
	nop
.L123:
	mov	eax, 0
.L112:
	add	rsp, 40
	pop	rbx
	pop	r12
	pop	r13
	pop	r14
	pop	r15
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	ospf_print_lsa, .-ospf_print_lsa
	.section	.rodata
.LC137:
	.string	"\n\t[LLS truncated]"
.LC138:
	.string	"\n\t  LLS: checksum: 0x%04x"
.LC139:
	.string	", length: %u"
.LC140:
	.string	"Unknown TLV"
.LC141:
	.string	"\n\t    %s (%u)"
.LC142:
	.string	" [should be 4]"
.LC143:
	.string	"?"
.LC144:
	.string	"\n\t      Options: 0x%08x [%s]"
.LC145:
	.string	" [should be 20]"
	.align 8
.LC146:
	.string	"\n\t      Sequence number: 0x%08x"
	.text
	.type	ospf_decode_lls, @function
ospf_decode_lls:
.LFB8:
	.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, 8
	.cfi_offset 15, -24
	.cfi_offset 14, -32
	.cfi_offset 13, -40
	.cfi_offset 12, -48
	.cfi_offset 3, -56
	mov	r12, rdi
	mov	r14d, esi
	movzx	eax, BYTE PTR 1[r12]
	movzx	eax, al
	cmp	eax, 1
	je	.L212
	cmp	eax, 2
	je	.L213
	jmp	.L236
.L212:
	movzx	eax, BYTE PTR 30[r12]
	movzx	eax, al
	and	eax, 16
	test	eax, eax
	jne	.L237
	mov	eax, 0
	jmp	.L216
.L213:
	movzx	eax, BYTE PTR 26[r12]
	movzx	eax, al
	and	eax, 16
	test	eax, eax
	jne	.L238
	mov	eax, 0
	jmp	.L216
.L236:
	mov	eax, 0
	jmp	.L216
.L237:
	nop
	jmp	.L217
.L238:
	nop
.L217:
	lea	rax, 2[r12]
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	mov	edi, eax
	call	ntohs@PLT
	movzx	r13d, ax
	mov	eax, r13d
	lea	rbx, [r12+rax]
	mov	eax, r14d
	lea	r15, [r12+rax]
	lea	rax, 14[r12]
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	mov	edi, eax
	call	ntohs@PLT
	cmp	ax, 2
	jne	.L219
	movzx	eax, BYTE PTR 19[r12]
	movzx	eax, al
	add	rbx, rax
	movzx	eax, BYTE PTR 19[r12]
	movzx	eax, al
	add	r13d, eax
.L219:
	cmp	r13d, r14d
	jb	.L220
	lea	rdi, .LC137[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 1
	jmp	.L216
.L220:
	mov	rax, QWORD PTR gndo[rip]
	mov	rax, QWORD PTR 224[rax]
	sub	rax, 2
	cmp	rbx, rax
	ja	.L239
	movzx	eax, WORD PTR [rbx]
	movzx	eax, ax
	mov	edi, eax
	call	ntohs@PLT
	movzx	eax, ax
	mov	esi, eax
	lea	rdi, .LC138[rip]
	mov	eax, 0
	call	printf@PLT
	add	rbx, 2
	mov	rax, QWORD PTR gndo[rip]
	mov	rax, QWORD PTR 224[rax]
	sub	rax, 2
	cmp	rbx, rax
	ja	.L240
	movzx	eax, WORD PTR [rbx]
	movzx	eax, ax
	mov	edi, eax
	call	ntohs@PLT
	movzx	r13d, ax
	mov	esi, r13d
	lea	rdi, .LC139[rip]
	mov	eax, 0
	call	printf@PLT
	add	rbx, 2
	mov	rax, QWORD PTR gndo[rip]
	mov	rax, QWORD PTR 224[rax]
	sub	rax, 1
	cmp	rbx, rax
	ja	.L241
	jmp	.L225
.L235:
	mov	rax, QWORD PTR gndo[rip]
	mov	rax, QWORD PTR 224[rax]
	sub	rax, 2
	cmp	rbx, rax
	ja	.L242
	movzx	eax, WORD PTR [rbx]
	movzx	eax, ax
	mov	edi, eax
	call	ntohs@PLT
	mov	r13d, eax
	movzx	r12d, r13w
	movzx	eax, r13w
	mov	edx, eax
	lea	rsi, .LC140[rip]
	lea	rdi, ospf_lls_tlv_values[rip]
	call	tok2str@PLT
	mov	edx, r12d
	mov	rsi, rax
	lea	rdi, .LC141[rip]
	mov	eax, 0
	call	printf@PLT
	add	rbx, 2
	mov	rax, QWORD PTR gndo[rip]
	mov	rax, QWORD PTR 224[rax]
	sub	rax, 2
	cmp	rbx, rax
	ja	.L243
	movzx	eax, WORD PTR [rbx]
	movzx	eax, ax
	mov	edi, eax
	call	ntohs@PLT
	mov	r12d, eax
	movzx	eax, r12w
	mov	esi, eax
	lea	rdi, .LC139[rip]
	mov	eax, 0
	call	printf@PLT
	add	rbx, 2
	movzx	eax, r13w
	cmp	eax, 1
	je	.L228
	cmp	eax, 2
	je	.L229
	jmp	.L230
.L228:
	cmp	r12w, 4
	je	.L231
	lea	rdi, .LC142[rip]
	mov	eax, 0
	call	printf@PLT
	mov	r12d, 4
.L231:
	mov	rax, QWORD PTR gndo[rip]
	mov	rax, QWORD PTR 224[rax]
	sub	rax, 4
	cmp	rbx, rax
	ja	.L244
	mov	eax, DWORD PTR [rbx]
	mov	edi, eax
	call	ntohl@PLT
	mov	r13d, eax
	mov	eax, r13d
	mov	edx, eax
	lea	rsi, .LC143[rip]
	lea	rdi, ospf_lls_eo_options[rip]
	call	bittok2str@PLT
	mov	rdx, rax
	mov	esi, r13d
	lea	rdi, .LC144[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L230
.L229:
	cmp	r12w, 20
	je	.L233
	lea	rdi, .LC145[rip]
	mov	eax, 0
	call	printf@PLT
	mov	r12d, 20
.L233:
	mov	rax, QWORD PTR gndo[rip]
	mov	rax, QWORD PTR 224[rax]
	sub	rax, 4
	cmp	rbx, rax
	ja	.L245
	mov	eax, DWORD PTR [rbx]
	mov	edi, eax
	call	ntohl@PLT
	mov	esi, eax
	lea	rdi, .LC146[rip]
	mov	eax, 0
	call	printf@PLT
	nop
.L230:
	movzx	eax, r12w
	add	rbx, rax
.L225:
	cmp	rbx, r15
	jb	.L235
	mov	eax, 0
	jmp	.L216
.L239:
	nop
	jmp	.L222
.L240:
	nop
	jmp	.L222
.L241:
	nop
	jmp	.L222
.L242:
	nop
	jmp	.L222
.L243:
	nop
	jmp	.L222
.L244:
	nop
	jmp	.L222
.L245:
	nop
.L222:
	mov	eax, 1
.L216:
	add	rsp, 8
	pop	rbx
	pop	r12
	pop	r13
	pop	r14
	pop	r15
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	ospf_decode_lls, .-ospf_decode_lls
	.section	.rodata
.LC147:
	.string	"\n\tOptions [%s]"
	.align 8
.LC148:
	.string	"\n\t  Hello Timer %us, Dead Timer %us, Mask %s, Priority %u"
.LC149:
	.string	"\n\t  Designated Router %s"
.LC150:
	.string	", Backup Designated Router %s"
.LC151:
	.string	"\n\t  Neighbor List:"
.LC152:
	.string	"\n\t    %s"
.LC153:
	.string	", DD Flags [%s]"
.LC154:
	.string	", MTU: %u"
.LC155:
	.string	", Sequence: 0x%08x"
	.align 8
.LC156:
	.string	"\n\t  Advertising Router: %s, %s LSA (%u)"
	.align 8
.LC157:
	.string	", Opaque-Type: %s LSA (%u), Opaque-ID: %u"
.LC158:
	.string	", LSA-ID: %s"
.LC159:
	.string	"s"
.LC160:
	.string	", %d LSA%s"
.LC161:
	.string	"\n\t  LSA #%u"
	.text
	.type	ospf_decode_v2, @function
ospf_decode_v2:
.LFB9:
	.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, 8
	.cfi_offset 15, -24
	.cfi_offset 14, -32
	.cfi_offset 13, -40
	.cfi_offset 12, -48
	.cfi_offset 3, -56
	mov	rbx, rdi
	mov	r12, rsi
	movzx	eax, BYTE PTR 1[rbx]
	movzx	eax, al
	cmp	eax, 5
	ja	.L288
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L249[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L249[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L249:
	.long	.L289-.L249
	.long	.L253-.L249
	.long	.L252-.L249
	.long	.L251-.L249
	.long	.L250-.L249
	.long	.L248-.L249
	.text
.L253:
	movzx	eax, BYTE PTR 30[rbx]
	movzx	eax, al
	mov	edx, eax
	lea	rsi, .LC8[rip]
	lea	rdi, ospf_option_values[rip]
	call	bittok2str@PLT
	mov	rsi, rax
	lea	rdi, .LC147[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdx, 32[rbx]
	mov	rax, QWORD PTR gndo[rip]
	mov	rax, QWORD PTR 224[rax]
	sub	rax, 4
	cmp	rdx, rax
	ja	.L290
	movzx	eax, BYTE PTR 31[rbx]
	movzx	r15d, al
	lea	rax, 24[rbx]
	mov	rdi, rax
	call	getname@PLT
	mov	r14, rax
	lea	rax, 32[rbx]
	mov	eax, DWORD PTR [rax]
	mov	edi, eax
	call	ntohl@PLT
	mov	r13d, eax
	lea	rax, 28[rbx]
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	mov	edi, eax
	call	ntohs@PLT
	movzx	eax, ax
	mov	r8d, r15d
	mov	rcx, r14
	mov	edx, r13d
	mov	esi, eax
	lea	rdi, .LC148[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdx, 36[rbx]
	mov	rax, QWORD PTR gndo[rip]
	mov	rax, QWORD PTR 224[rax]
	sub	rax, 4
	cmp	rdx, rax
	ja	.L291
	mov	eax, DWORD PTR 36[rbx]
	test	eax, eax
	je	.L259
	lea	rax, 36[rbx]
	mov	rdi, rax
	call	getname@PLT
	mov	rsi, rax
	lea	rdi, .LC149[rip]
	mov	eax, 0
	call	printf@PLT
.L259:
	lea	rdx, 40[rbx]
	mov	rax, QWORD PTR gndo[rip]
	mov	rax, QWORD PTR 224[rax]
	sub	rax, 4
	cmp	rdx, rax
	ja	.L292
	mov	eax, DWORD PTR 40[rbx]
	test	eax, eax
	je	.L261
	lea	rax, 40[rbx]
	mov	rdi, rax
	call	getname@PLT
	mov	rsi, rax
	lea	rdi, .LC150[rip]
	mov	eax, 0
	call	printf@PLT
.L261:
	add	rbx, 44
	cmp	rbx, r12
	jnb	.L263
	lea	rdi, .LC151[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L263
.L265:
	mov	rax, QWORD PTR gndo[rip]
	mov	rax, QWORD PTR 224[rax]
	sub	rax, 4
	cmp	rbx, rax
	ja	.L293
	mov	rdi, rbx
	call	getname@PLT
	mov	rsi, rax
	lea	rdi, .LC152[rip]
	mov	eax, 0
	call	printf@PLT
	add	rbx, 4
.L263:
	cmp	rbx, r12
	jb	.L265
	jmp	.L255
.L252:
	lea	rdx, 26[rbx]
	mov	rax, QWORD PTR gndo[rip]
	mov	rax, QWORD PTR 224[rax]
	sub	rax, 1
	cmp	rdx, rax
	ja	.L294
	movzx	eax, BYTE PTR 26[rbx]
	movzx	eax, al
	mov	edx, eax
	lea	rsi, .LC8[rip]
	lea	rdi, ospf_option_values[rip]
	call	bittok2str@PLT
	mov	rsi, rax
	lea	rdi, .LC147[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdx, 27[rbx]
	mov	rax, QWORD PTR gndo[rip]
	mov	rax, QWORD PTR 224[rax]
	sub	rax, 1
	cmp	rdx, rax
	ja	.L295
	movzx	eax, BYTE PTR 27[rbx]
	movzx	eax, al
	mov	edx, eax
	lea	rsi, .LC8[rip]
	lea	rdi, ospf_dd_flag_values[rip]
	call	bittok2str@PLT
	mov	rsi, rax
	lea	rdi, .LC153[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdx, 24[rbx]
	mov	rax, QWORD PTR gndo[rip]
	mov	rax, QWORD PTR 224[rax]
	sub	rax, 2
	cmp	rdx, rax
	ja	.L296
	movzx	eax, WORD PTR 24[rbx]
	test	ax, ax
	je	.L269
	lea	rax, 24[rbx]
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	mov	edi, eax
	call	ntohs@PLT
	movzx	eax, ax
	mov	esi, eax
	lea	rdi, .LC154[rip]
	mov	eax, 0
	call	printf@PLT
.L269:
	lea	rdx, 28[rbx]
	mov	rax, QWORD PTR gndo[rip]
	mov	rax, QWORD PTR 224[rax]
	sub	rax, 4
	cmp	rdx, rax
	ja	.L297
	lea	rax, 28[rbx]
	mov	eax, DWORD PTR [rax]
	mov	edi, eax
	call	ntohl@PLT
	mov	esi, eax
	lea	rdi, .LC155[rip]
	mov	eax, 0
	call	printf@PLT
	add	rbx, 32
	jmp	.L271
.L273:
	add	rbx, 20
.L271:
	cmp	rbx, r12
	jnb	.L298
	mov	rdi, rbx
	call	ospf_print_lshdr
	cmp	eax, -1
	jne	.L273
	jmp	.L298
.L251:
	add	rbx, 24
	jmp	.L274
.L278:
	mov	rax, QWORD PTR gndo[rip]
	mov	rax, QWORD PTR 224[rax]
	sub	rax, 12
	cmp	rbx, rax
	ja	.L299
	mov	rax, rbx
	mov	eax, DWORD PTR [rax]
	mov	edi, eax
	call	ntohl@PLT
	mov	r14d, eax
	mov	rax, rbx
	mov	eax, DWORD PTR [rax]
	mov	edi, eax
	call	ntohl@PLT
	mov	edx, eax
	lea	rsi, .LC74[rip]
	lea	rdi, lsa_values[rip]
	call	tok2str@PLT
	mov	r13, rax
	lea	rax, 8[rbx]
	mov	rdi, rax
	call	getname@PLT
	mov	ecx, r14d
	mov	rdx, r13
	mov	rsi, rax
	lea	rdi, .LC156[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, rbx
	mov	eax, DWORD PTR [rax]
	mov	edi, eax
	call	ntohl@PLT
	sub	eax, 9
	cmp	eax, 2
	ja	.L276
	movzx	eax, BYTE PTR 5[rbx]
	movzx	eax, al
	sal	eax, 16
	mov	edx, eax
	movzx	eax, BYTE PTR 6[rbx]
	movzx	eax, al
	sal	eax, 8
	or	edx, eax
	movzx	eax, BYTE PTR 7[rbx]
	movzx	eax, al
	or	edx, eax
	mov	r14d, edx
	movzx	eax, BYTE PTR 4[rbx]
	movzx	r13d, al
	movzx	eax, BYTE PTR 4[rbx]
	movzx	eax, al
	mov	edx, eax
	lea	rsi, .LC74[rip]
	lea	rdi, lsa_opaque_values[rip]
	call	tok2str@PLT
	mov	ecx, r14d
	mov	edx, r13d
	mov	rsi, rax
	lea	rdi, .LC157[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L277
.L276:
	lea	rax, 4[rbx]
	mov	rdi, rax
	call	getname@PLT
	mov	rsi, rax
	lea	rdi, .LC158[rip]
	mov	eax, 0
	call	printf@PLT
	nop
.L277:
	add	rbx, 12
.L274:
	cmp	rbx, r12
	jb	.L278
	jmp	.L255
.L250:
	lea	r12, 28[rbx]
	lea	rdx, 24[rbx]
	mov	rax, QWORD PTR gndo[rip]
	mov	rax, QWORD PTR 224[rax]
	sub	rax, 4
	cmp	rdx, rax
	ja	.L300
	lea	rax, 24[rbx]
	mov	eax, DWORD PTR [rax]
	mov	edi, eax
	call	ntohl@PLT
	mov	ebx, eax
	cmp	ebx, 1
	je	.L280
	lea	rax, .LC159[rip]
	jmp	.L281
.L280:
	lea	rax, .LC114[rip]
.L281:
	mov	rdx, rax
	mov	esi, ebx
	lea	rdi, .LC160[rip]
	mov	eax, 0
	call	printf@PLT
	mov	r13d, 1
	jmp	.L282
.L284:
	mov	esi, r13d
	lea	rdi, .LC161[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rdi, r12
	call	ospf_print_lsa
	mov	r12, rax
	test	r12, r12
	je	.L301
	add	r13d, 1
.L282:
	cmp	r13d, ebx
	jbe	.L284
	jmp	.L255
.L248:
	add	rbx, 24
	jmp	.L285
.L286:
	add	rbx, 20
.L285:
	mov	rdi, rbx
	call	ospf_print_lshdr
	cmp	eax, -1
	jne	.L286
	jmp	.L255
.L288:
	nop
	jmp	.L255
.L289:
	nop
	jmp	.L255
.L298:
	nop
.L255:
	mov	eax, 0
	jmp	.L287
.L290:
	nop
	jmp	.L257
.L291:
	nop
	jmp	.L257
.L292:
	nop
	jmp	.L257
.L293:
	nop
	jmp	.L257
.L294:
	nop
	jmp	.L257
.L295:
	nop
	jmp	.L257
.L296:
	nop
	jmp	.L257
.L297:
	nop
	jmp	.L257
.L299:
	nop
	jmp	.L257
.L300:
	nop
	jmp	.L257
.L301:
	nop
.L257:
	mov	eax, 1
.L287:
	add	rsp, 8
	pop	rbx
	pop	r12
	pop	r13
	pop	r14
	pop	r15
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	ospf_decode_v2, .-ospf_decode_v2
	.section	.rodata
.LC162:
	.string	"unknown LS-type"
.LC163:
	.string	"OSPFv%u, %s, length %u"
.LC164:
	.string	" [len %d]"
.LC165:
	.string	"\n\tRouter-ID %s"
.LC166:
	.string	", Area %s"
.LC167:
	.string	", Backbone Area"
	.align 8
.LC168:
	.string	", Authentication Type: %s (%u)"
.LC169:
	.string	"\n\tSimple text password: "
	.align 8
.LC170:
	.string	"\n\tKey-ID: %u, Auth-Length: %u, Crypto Sequence Number: 0x%08x"
.LC171:
	.string	" ospf [version %d]"
	.text
	.globl	ospf_print
	.type	ospf_print, @function
ospf_print:
.LFB10:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	r14
	push	r13
	push	r12
	push	rbx
	sub	rsp, 16
	.cfi_offset 14, -24
	.cfi_offset 13, -32
	.cfi_offset 12, -40
	.cfi_offset 3, -48
	mov	r13, rdi
	mov	r12d, esi
	mov	QWORD PTR -40[rbp], rdx
	mov	rbx, r13
	lea	rdx, 14[rbx]
	mov	rax, QWORD PTR gndo[rip]
	mov	rax, QWORD PTR 224[rax]
	sub	rax, 2
	cmp	rdx, rax
	ja	.L328
	lea	rax, 14[rbx]
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	mov	edi, eax
	call	ntohs@PLT
	cmp	ax, 2
	jne	.L305
	sub	r12d, 16
	mov	rax, QWORD PTR gndo[rip]
	mov	rdx, QWORD PTR 224[rax]
	mov	rax, QWORD PTR gndo[rip]
	sub	rdx, 16
	mov	QWORD PTR 224[rax], rdx
.L305:
	lea	rdx, 1[rbx]
	mov	rax, QWORD PTR gndo[rip]
	mov	rax, QWORD PTR 224[rax]
	sub	rax, 1
	cmp	rdx, rax
	ja	.L329
	movzx	eax, BYTE PTR 1[rbx]
	movzx	eax, al
	mov	edx, eax
	lea	rsi, .LC162[rip]
	lea	rdi, type2str[rip]
	call	tok2str@PLT
	mov	r14, rax
	movzx	eax, BYTE PTR [rbx]
	movzx	eax, al
	mov	ecx, r12d
	mov	rdx, r14
	mov	esi, eax
	lea	rdi, .LC163[rip]
	mov	eax, 0
	call	printf@PLT
	movzx	eax, BYTE PTR [r14]
	cmp	al, 117
	je	.L330
	mov	rax, QWORD PTR gndo[rip]
	mov	eax, DWORD PTR 56[rax]
	test	eax, eax
	je	.L331
	lea	rdx, 2[rbx]
	mov	rax, QWORD PTR gndo[rip]
	mov	rax, QWORD PTR 224[rax]
	sub	rax, 2
	cmp	rdx, rax
	ja	.L332
	lea	rax, 2[rbx]
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	mov	edi, eax
	call	ntohs@PLT
	movzx	eax, ax
	cmp	r12d, eax
	je	.L311
	lea	rax, 2[rbx]
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	mov	edi, eax
	call	ntohs@PLT
	movzx	eax, ax
	mov	esi, eax
	lea	rdi, .LC164[rip]
	mov	eax, 0
	call	printf@PLT
.L311:
	lea	rax, 2[rbx]
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	mov	edi, eax
	call	ntohs@PLT
	movzx	eax, ax
	cmp	r12d, eax
	jbe	.L312
	lea	rax, 2[rbx]
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	mov	edi, eax
	call	ntohs@PLT
	movzx	eax, ax
	add	r13, rax
	jmp	.L313
.L312:
	mov	eax, r12d
	add	r13, rax
.L313:
	lea	rdx, 4[rbx]
	mov	rax, QWORD PTR gndo[rip]
	mov	rax, QWORD PTR 224[rax]
	sub	rax, 4
	cmp	rdx, rax
	ja	.L333
	lea	rax, 4[rbx]
	mov	rdi, rax
	call	getname@PLT
	mov	rsi, rax
	lea	rdi, .LC165[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdx, 8[rbx]
	mov	rax, QWORD PTR gndo[rip]
	mov	rax, QWORD PTR 224[rax]
	sub	rax, 4
	cmp	rdx, rax
	ja	.L334
	mov	eax, DWORD PTR 8[rbx]
	test	eax, eax
	je	.L316
	lea	rax, 8[rbx]
	mov	rdi, rax
	call	getname@PLT
	mov	rsi, rax
	lea	rdi, .LC166[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L317
.L316:
	lea	rdi, .LC167[rip]
	mov	eax, 0
	call	printf@PLT
.L317:
	mov	rax, QWORD PTR gndo[rip]
	mov	eax, DWORD PTR 56[rax]
	test	eax, eax
	je	.L335
	lea	rdx, 16[rbx]
	mov	rax, QWORD PTR gndo[rip]
	mov	rax, QWORD PTR 224[rax]
	sub	rax, 8
	cmp	rdx, rax
	ja	.L336
	lea	rax, 14[rbx]
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	mov	edi, eax
	call	ntohs@PLT
	movzx	r14d, ax
	lea	rax, 14[rbx]
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	mov	edi, eax
	call	ntohs@PLT
	movzx	eax, ax
	mov	edx, eax
	lea	rsi, .LC74[rip]
	lea	rdi, ospf_authtype_values[rip]
	call	tok2str@PLT
	mov	edx, r14d
	mov	rsi, rax
	lea	rdi, .LC168[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rax, 14[rbx]
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	mov	edi, eax
	call	ntohs@PLT
	movzx	eax, ax
	cmp	eax, 2
	je	.L320
	cmp	eax, 2
	jg	.L337
	test	eax, eax
	je	.L338
	cmp	eax, 1
	je	.L323
	jmp	.L337
.L323:
	lea	rdi, .LC169[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rax, 16[rbx]
	mov	esi, 8
	mov	rdi, rax
	call	safeputs@PLT
	jmp	.L318
.L320:
	lea	rax, 16[rbx]
	add	rax, 4
	mov	eax, DWORD PTR [rax]
	mov	edi, eax
	call	ntohl@PLT
	mov	ecx, eax
	movzx	eax, BYTE PTR 19[rbx]
	movzx	edx, al
	movzx	eax, BYTE PTR 18[rbx]
	movzx	eax, al
	mov	esi, eax
	lea	rdi, .LC170[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L318
.L335:
	nop
	jmp	.L318
.L338:
	nop
.L318:
	movzx	eax, BYTE PTR [rbx]
	movzx	eax, al
	cmp	eax, 2
	jne	.L324
	mov	rsi, r13
	mov	rdi, rbx
	call	ospf_decode_v2
	test	eax, eax
	jne	.L339
	lea	rax, 2[rbx]
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	mov	edi, eax
	call	ntohs@PLT
	movzx	eax, ax
	cmp	r12d, eax
	jbe	.L340
	mov	esi, r12d
	mov	rdi, rbx
	call	ospf_decode_lls
	test	eax, eax
	je	.L340
	jmp	.L304
.L324:
	movzx	eax, BYTE PTR [rbx]
	movzx	eax, al
	mov	esi, eax
	lea	rdi, .LC171[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L327
.L340:
	nop
.L327:
	jmp	.L302
.L328:
	nop
	jmp	.L304
.L329:
	nop
	jmp	.L304
.L332:
	nop
	jmp	.L304
.L333:
	nop
	jmp	.L304
.L334:
	nop
	jmp	.L304
.L336:
	nop
	jmp	.L304
.L339:
	nop
.L304:
	mov	rax, QWORD PTR stdout[rip]
	mov	rsi, rax
	lea	rdi, tstr[rip]
	call	fputs@PLT
	jmp	.L302
.L330:
	nop
	jmp	.L302
.L331:
	nop
	jmp	.L302
.L337:
	nop
.L302:
	add	rsp, 16
	pop	rbx
	pop	r12
	pop	r13
	pop	r14
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	ospf_print, .-ospf_print
	.section	.rodata
	.align 4
.LC89:
	.long	1090519040
	.align 4
.LC90:
	.long	1232348160
	.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	"111247.c"
	.text
	.section	.rodata
	.align	2
	.type	rcsid, %object
	.size	rcsid, 97
rcsid:
	.ascii	"@(#) $Header: /tcpdump/master/tcpdump/print-ospf.c,"
	.ascii	"v 1.66 2007-10-08 07:53:21 hannes Exp $ (LBL)\000"
	.text
	.align	2
	.global	gnu_dev_major
	.syntax unified
	.arm
	.fpu softvfp
	.type	gnu_dev_major, %function
gnu_dev_major:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	push	{r4, r5, fp}
	add	fp, sp, #8
	sub	sp, sp, #12
	str	r0, [fp, #-20]
	str	r1, [fp, #-16]
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	mov	r2, #0
	mov	r3, #0
	lsr	r2, r0, #8
	orr	r2, r2, r1, lsl #24
	lsr	r3, r1, #8
	mov	r3, r2
	lsl	r1, r3, #20
	lsr	r1, r1, #20
	sub	r5, fp, #20
	ldmia	r5, {r4-r5}
	mov	r2, #0
	mov	r3, #0
	mov	r2, r5
	mov	r3, #0
	mov	r3, r2
	bic	r3, r3, #4080
	bic	r3, r3, #15
	orr	r3, r1, r3
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, r5, fp}
	bx	lr
	.size	gnu_dev_major, .-gnu_dev_major
	.align	2
	.global	gnu_dev_minor
	.syntax unified
	.arm
	.fpu softvfp
	.type	gnu_dev_minor, %function
gnu_dev_minor:
	@ 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, #-12]
	str	r1, [fp, #-8]
	ldr	r3, [fp, #-12]
	and	ip, r3, #255
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	mov	r2, #0
	mov	r3, #0
	lsr	r2, r0, #12
	orr	r2, r2, r1, lsl #20
	lsr	r3, r1, #12
	mov	r3, r2
	bic	r3, r3, #255
	orr	r3, ip, r3
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	gnu_dev_minor, .-gnu_dev_minor
	.align	2
	.global	gnu_dev_makedev
	.syntax unified
	.arm
	.fpu softvfp
	.type	gnu_dev_makedev, %function
gnu_dev_makedev:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	push	{r4, r5, r6, r7, r8, r9, fp}
	add	fp, sp, #24
	sub	sp, sp, #28
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	ldr	r3, [fp, #-36]
	and	r2, r3, #255
	ldr	r3, [fp, #-32]
	lsl	r1, r3, #8
	ldr	r3, .L7+8
	and	r3, r3, r1
	orr	r3, r2, r3
	mov	r0, r3
	mov	r1, #0
	ldr	r3, [fp, #-36]
	mov	r2, r3
	mov	r3, #0
	lsr	ip, r2, #20
	str	ip, [fp, #-40]
	lsl	r3, r2, #12
	str	r3, [fp, #-44]
	adr	r3, .L7
	ldmia	r3, {r2-r3}
	ldr	ip, [fp, #-44]
	and	r8, ip, r2
	ldr	ip, [fp, #-40]
	and	ip, ip, r3
	mov	r9, ip
	orr	r6, r0, r8
	orr	r7, r1, r9
	ldr	r3, [fp, #-32]
	mov	r0, r3
	mov	r1, #0
	mov	r2, #0
	mov	r3, #0
	mov	r3, r0
	mov	r2, #0
	mov	r0, #0
	ldr	r1, .L7+12
	and	r4, r2, r0
	and	r5, r3, r1
	orr	r3, r6, r4
	str	r3, [fp, #-52]
	orr	r3, r7, r5
	str	r3, [fp, #-48]
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #24
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, fp}
	bx	lr
.L8:
	.align	3
.L7:
	.word	-1048576
	.word	4095
	.word	1048320
	.word	-4096
	.size	gnu_dev_makedev, .-gnu_dev_makedev
	.section	.rodata
	.align	2
.LC0:
	.ascii	"MultiTopology\000"
	.align	2
.LC1:
	.ascii	"External\000"
	.align	2
.LC2:
	.ascii	"Multicast\000"
	.align	2
.LC3:
	.ascii	"NSSA\000"
	.align	2
.LC4:
	.ascii	"LLS\000"
	.align	2
.LC5:
	.ascii	"Demand Circuit\000"
	.align	2
.LC6:
	.ascii	"Opaque\000"
	.align	2
.LC7:
	.ascii	"Up/Down\000"
	.data
	.align	2
	.type	ospf_option_values, %object
	.size	ospf_option_values, 72
ospf_option_values:
	.word	1
	.word	.LC0
	.word	2
	.word	.LC1
	.word	4
	.word	.LC2
	.word	8
	.word	.LC3
	.word	16
	.word	.LC4
	.word	32
	.word	.LC5
	.word	64
	.word	.LC6
	.word	128
	.word	.LC7
	.word	0
	.word	0
	.section	.rodata
	.align	2
.LC8:
	.ascii	"none\000"
	.align	2
.LC9:
	.ascii	"simple\000"
	.align	2
.LC10:
	.ascii	"MD5\000"
	.data
	.align	2
	.type	ospf_authtype_values, %object
	.size	ospf_authtype_values, 32
ospf_authtype_values:
	.word	0
	.word	.LC8
	.word	1
	.word	.LC9
	.word	2
	.word	.LC10
	.word	0
	.word	0
	.section	.rodata
	.align	2
.LC11:
	.ascii	"ABR\000"
	.align	2
.LC12:
	.ascii	"ASBR\000"
	.align	2
.LC13:
	.ascii	"Virtual\000"
	.align	2
.LC14:
	.ascii	"W2\000"
	.data
	.align	2
	.type	ospf_rla_flag_values, %object
	.size	ospf_rla_flag_values, 40
ospf_rla_flag_values:
	.word	1
	.word	.LC11
	.word	2
	.word	.LC12
	.word	4
	.word	.LC13
	.word	8
	.word	.LC14
	.word	0
	.word	0
	.section	.rodata
	.align	2
.LC15:
	.ascii	"UMD\000"
	.align	2
.LC16:
	.ascii	"Hello\000"
	.align	2
.LC17:
	.ascii	"Database Description\000"
	.align	2
.LC18:
	.ascii	"LS-Request\000"
	.align	2
.LC19:
	.ascii	"LS-Update\000"
	.align	2
.LC20:
	.ascii	"LS-Ack\000"
	.data
	.align	2
	.type	type2str, %object
	.size	type2str, 56
type2str:
	.word	0
	.word	.LC15
	.word	1
	.word	.LC16
	.word	2
	.word	.LC17
	.word	3
	.word	.LC18
	.word	4
	.word	.LC19
	.word	5
	.word	.LC20
	.word	0
	.word	0
	.section	.rodata
	.align	2
.LC21:
	.ascii	"Router\000"
	.align	2
.LC22:
	.ascii	"Network\000"
	.align	2
.LC23:
	.ascii	"Summary\000"
	.align	2
.LC24:
	.ascii	"ASBR Summary\000"
	.align	2
.LC25:
	.ascii	"Multicast Group\000"
	.align	2
.LC26:
	.ascii	"Link Local Opaque\000"
	.align	2
.LC27:
	.ascii	"Area Local Opaque\000"
	.align	2
.LC28:
	.ascii	"Domain Wide Opaque\000"
	.data
	.align	2
	.type	lsa_values, %object
	.size	lsa_values, 88
lsa_values:
	.word	1
	.word	.LC21
	.word	2
	.word	.LC22
	.word	3
	.word	.LC23
	.word	4
	.word	.LC24
	.word	5
	.word	.LC1
	.word	6
	.word	.LC25
	.word	7
	.word	.LC3
	.word	9
	.word	.LC26
	.word	10
	.word	.LC27
	.word	11
	.word	.LC28
	.word	0
	.word	0
	.section	.rodata
	.align	2
.LC29:
	.ascii	"Init\000"
	.align	2
.LC30:
	.ascii	"More\000"
	.align	2
.LC31:
	.ascii	"Master\000"
	.align	2
.LC32:
	.ascii	"OOBResync\000"
	.data
	.align	2
	.type	ospf_dd_flag_values, %object
	.size	ospf_dd_flag_values, 40
ospf_dd_flag_values:
	.word	4
	.word	.LC29
	.word	2
	.word	.LC30
	.word	1
	.word	.LC31
	.word	8
	.word	.LC32
	.word	0
	.word	0
	.section	.rodata
	.align	2
.LC33:
	.ascii	"Traffic Engineering\000"
	.align	2
.LC34:
	.ascii	"Graceful restart\000"
	.align	2
.LC35:
	.ascii	"Router Information\000"
	.data
	.align	2
	.type	lsa_opaque_values, %object
	.size	lsa_opaque_values, 32
lsa_opaque_values:
	.word	1
	.word	.LC33
	.word	3
	.word	.LC34
	.word	4
	.word	.LC35
	.word	0
	.word	0
	.section	.rodata
	.align	2
.LC36:
	.ascii	"Router Address\000"
	.align	2
.LC37:
	.ascii	"Link\000"
	.data
	.align	2
	.type	lsa_opaque_te_tlv_values, %object
	.size	lsa_opaque_te_tlv_values, 24
lsa_opaque_te_tlv_values:
	.word	1
	.word	.LC36
	.word	2
	.word	.LC37
	.word	0
	.word	0
	.section	.rodata
	.align	2
.LC38:
	.ascii	"Link Type\000"
	.align	2
.LC39:
	.ascii	"Link ID\000"
	.align	2
.LC40:
	.ascii	"Local Interface IP address\000"
	.align	2
.LC41:
	.ascii	"Remote Interface IP address\000"
	.align	2
.LC42:
	.ascii	"Traffic Engineering Metric\000"
	.align	2
.LC43:
	.ascii	"Maximum Bandwidth\000"
	.align	2
.LC44:
	.ascii	"Maximum Reservable Bandwidth\000"
	.align	2
.LC45:
	.ascii	"Unreserved Bandwidth\000"
	.align	2
.LC46:
	.ascii	"Administrative Group\000"
	.align	2
.LC47:
	.ascii	"Link Local/Remote Identifier\000"
	.align	2
.LC48:
	.ascii	"Link Protection Type\000"
	.align	2
.LC49:
	.ascii	"Interface Switching Capability\000"
	.align	2
.LC50:
	.ascii	"Shared Risk Link Group\000"
	.align	2
.LC51:
	.ascii	"Bandwidth Constraints\000"
	.data
	.align	2
	.type	lsa_opaque_te_link_tlv_subtlv_values, %object
	.size	lsa_opaque_te_link_tlv_subtlv_values, 120
lsa_opaque_te_link_tlv_subtlv_values:
	.word	1
	.word	.LC38
	.word	2
	.word	.LC39
	.word	3
	.word	.LC40
	.word	4
	.word	.LC41
	.word	5
	.word	.LC42
	.word	6
	.word	.LC43
	.word	7
	.word	.LC44
	.word	8
	.word	.LC45
	.word	9
	.word	.LC46
	.word	11
	.word	.LC47
	.word	14
	.word	.LC48
	.word	15
	.word	.LC49
	.word	16
	.word	.LC50
	.word	17
	.word	.LC51
	.word	0
	.word	0
	.section	.rodata
	.align	2
.LC52:
	.ascii	"Grace Period\000"
	.align	2
.LC53:
	.ascii	"Graceful restart Reason\000"
	.align	2
.LC54:
	.ascii	"IPv4 interface address\000"
	.data
	.align	2
	.type	lsa_opaque_grace_tlv_values, %object
	.size	lsa_opaque_grace_tlv_values, 32
lsa_opaque_grace_tlv_values:
	.word	1
	.word	.LC52
	.word	2
	.word	.LC53
	.word	3
	.word	.LC54
	.word	0
	.word	0
	.section	.rodata
	.align	2
.LC55:
	.ascii	"Unknown\000"
	.align	2
.LC56:
	.ascii	"Software Restart\000"
	.align	2
.LC57:
	.ascii	"Software Reload/Upgrade\000"
	.align	2
.LC58:
	.ascii	"Control Processor Switch\000"
	.data
	.align	2
	.type	lsa_opaque_grace_tlv_reason_values, %object
	.size	lsa_opaque_grace_tlv_reason_values, 40
lsa_opaque_grace_tlv_reason_values:
	.word	0
	.word	.LC55
	.word	1
	.word	.LC56
	.word	2
	.word	.LC57
	.word	3
	.word	.LC58
	.word	0
	.word	0
	.section	.rodata
	.align	2
.LC59:
	.ascii	"Point-to-point\000"
	.align	2
.LC60:
	.ascii	"Multi-Access\000"
	.data
	.align	2
	.type	lsa_opaque_te_tlv_link_type_sub_tlv_values, %object
	.size	lsa_opaque_te_tlv_link_type_sub_tlv_values, 24
lsa_opaque_te_tlv_link_type_sub_tlv_values:
	.word	1
	.word	.LC59
	.word	2
	.word	.LC60
	.word	0
	.word	0
	.section	.rodata
	.align	2
.LC61:
	.ascii	"Router Capabilities\000"
	.data
	.align	2
	.type	lsa_opaque_ri_tlv_values, %object
	.size	lsa_opaque_ri_tlv_values, 16
lsa_opaque_ri_tlv_values:
	.word	1
	.word	.LC61
	.word	0
	.word	0
	.section	.rodata
	.align	2
.LC62:
	.ascii	"Reserved\000"
	.align	2
.LC63:
	.ascii	"graceful restart capable\000"
	.align	2
.LC64:
	.ascii	"graceful restart helper\000"
	.align	2
.LC65:
	.ascii	"Stub router support\000"
	.align	2
.LC66:
	.ascii	"Traffic engineering\000"
	.align	2
.LC67:
	.ascii	"p2p over LAN\000"
	.align	2
.LC68:
	.ascii	"path computation server\000"
	.data
	.align	2
	.type	lsa_opaque_ri_tlv_cap_values, %object
	.size	lsa_opaque_ri_tlv_cap_values, 88
lsa_opaque_ri_tlv_cap_values:
	.word	1
	.word	.LC62
	.word	2
	.word	.LC62
	.word	4
	.word	.LC62
	.word	8
	.word	.LC62
	.word	16
	.word	.LC63
	.word	32
	.word	.LC64
	.word	64
	.word	.LC65
	.word	128
	.word	.LC66
	.word	256
	.word	.LC67
	.word	512
	.word	.LC68
	.word	0
	.word	0
	.section	.rodata
	.align	2
.LC69:
	.ascii	"Extended Options\000"
	.align	2
.LC70:
	.ascii	"MD5 Authentication\000"
	.data
	.align	2
	.type	ospf_lls_tlv_values, %object
	.size	ospf_lls_tlv_values, 24
ospf_lls_tlv_values:
	.word	1
	.word	.LC69
	.word	2
	.word	.LC70
	.word	0
	.word	0
	.section	.rodata
	.align	2
.LC71:
	.ascii	"LSDB resync\000"
	.align	2
.LC72:
	.ascii	"Restart\000"
	.data
	.align	2
	.type	ospf_lls_eo_options, %object
	.size	ospf_lls_eo_options, 24
ospf_lls_eo_options:
	.word	1
	.word	.LC71
	.word	2
	.word	.LC72
	.word	0
	.word	0
	.align	2
	.type	tstr, %object
	.size	tstr, 10
tstr:
	.ascii	" [|ospf2]\000"
	.section	.rodata
	.align	2
.LC73:
	.ascii	"\012\011    Remaining LS length %u < 4\000"
	.align	2
.LC74:
	.ascii	"unknown\000"
	.align	2
.LC75:
	.ascii	"\012\011    %s TLV (%u), length %u, value: \000"
	.align	2
.LC76:
	.ascii	"\012\011    Bogus length %u > %u\000"
	.align	2
.LC77:
	.ascii	"\012\011    Bogus length %u != 4\000"
	.align	2
.LC78:
	.ascii	"%us\000"
	.align	2
.LC79:
	.ascii	"\012\011    Bogus length %u != 1\000"
	.align	2
.LC80:
	.ascii	"%s (%u)\000"
	.align	2
.LC81:
	.ascii	"%s\000"
	.align	2
.LC82:
	.ascii	"\012\011      \000"
	.text
	.align	2
	.global	ospf_print_grace_lsa
	.syntax unified
	.arm
	.fpu softvfp
	.type	ospf_print_grace_lsa, %function
ospf_print_grace_lsa:
	@ 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]
	b	.L10
.L30:
	ldr	r3, .L34
	ldr	r3, [r3]
	ldr	r3, [r3, #180]
	sub	r3, r3, #4
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	bhi	.L31
	ldr	r3, [fp, #-20]
	cmp	r3, #3
	bhi	.L13
	ldr	r1, [fp, #-20]
	ldr	r0, .L34+4
	bl	printf
	mvn	r3, #0
	b	.L14
.L13:
	ldr	r3, [fp, #-16]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r3, r3, r2
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r0, r3
	bl	ntohs
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	add	r3, r3, #2
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r3, r3, r2
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r0, r3
	bl	ntohs
	mov	r3, r0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	add	r3, r3, #4
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-20]
	sub	r3, r3, #4
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-8]
	mov	r2, r3
	ldr	r1, .L34+8
	ldr	r0, .L34+12
	bl	tok2str
	mov	r1, r0
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-8]
	ldr	r0, .L34+16
	bl	printf
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	bls	.L15
	ldr	r2, [fp, #-20]
	ldr	r1, [fp, #-12]
	ldr	r0, .L34+20
	bl	printf
	mvn	r3, #0
	b	.L14
.L15:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L16
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L17
.L16:
	mvn	r3, #0
	b	.L14
.L17:
	ldr	r3, [fp, #-12]
	rsb	r3, r3, #0
	cmp	r3, #0
	bgt	.L32
	ldr	r3, .L34
	ldr	r3, [r3]
	ldr	r2, [r3, #180]
	ldr	r3, [fp, #-12]
	rsb	r3, r3, #0
	add	r3, r2, r3
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	bhi	.L32
	ldr	r3, [fp, #-8]
	cmp	r3, #3
	beq	.L20
	ldr	r3, [fp, #-8]
	cmp	r3, #3
	bhi	.L21
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	beq	.L22
	ldr	r3, [fp, #-8]
	cmp	r3, #2
	beq	.L23
	b	.L21
.L22:
	ldr	r3, [fp, #-12]
	cmp	r3, #4
	beq	.L24
	ldr	r1, [fp, #-12]
	ldr	r0, .L34+24
	bl	printf
	mvn	r3, #0
	b	.L14
.L24:
	ldr	r3, [fp, #-16]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldrb	r1, [r3, #1]	@ zero_extendqisi2
	lsl	r1, r1, #8
	orr	r2, r1, r2
	ldrb	r1, [r3, #2]	@ zero_extendqisi2
	lsl	r1, r1, #16
	orr	r2, r1, r2
	ldrb	r3, [r3, #3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	orr	r3, r3, r2
	mov	r0, r3
	bl	ntohl
	mov	r3, r0
	mov	r1, r3
	ldr	r0, .L34+28
	bl	printf
	b	.L25
.L23:
	ldr	r3, [fp, #-12]
	cmp	r3, #1
	beq	.L26
	ldr	r1, [fp, #-12]
	ldr	r0, .L34+32
	bl	printf
	mvn	r3, #0
	b	.L14
.L26:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r1, .L34+36
	ldr	r0, .L34+40
	bl	tok2str
	mov	r1, r0
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r0, .L34+44
	bl	printf
	b	.L25
.L20:
	ldr	r3, [fp, #-12]
	cmp	r3, #4
	beq	.L27
	ldr	r1, [fp, #-12]
	ldr	r0, .L34+24
	bl	printf
	mvn	r3, #0
	b	.L14
.L27:
	ldr	r0, [fp, #-16]
	bl	getname
	mov	r3, r0
	mov	r1, r3
	ldr	r0, .L34+48
	bl	printf
	b	.L25
.L21:
	ldr	r3, .L34
	ldr	r3, [r3]
	ldr	r3, [r3, #56]
	cmp	r3, #1
	bgt	.L33
	ldr	r3, [fp, #-12]
	mov	r2, r3
	ldr	r1, .L34+52
	ldr	r0, [fp, #-16]
	bl	print_unknown_data
	mov	r3, r0
	cmp	r3, #0
	bne	.L33
	mvn	r3, #0
	b	.L14
.L33:
	nop
.L25:
	ldr	r3, [fp, #-12]
	and	r3, r3, #3
	cmp	r3, #0
	beq	.L29
	ldr	r3, [fp, #-12]
	bic	r3, r3, #3
	add	r3, r3, #4
	str	r3, [fp, #-12]
.L29:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-12]
	sub	r3, r2, r3
	str	r3, [fp, #-20]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	str	r3, [fp, #-16]
.L10:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L30
	mov	r3, #0
	b	.L14
.L31:
	nop
	b	.L12
.L32:
	nop
.L12:
	mvn	r3, #0
.L14:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L35:
	.align	2
.L34:
	.word	gndo
	.word	.LC73
	.word	.LC74
	.word	lsa_opaque_grace_tlv_values
	.word	.LC75
	.word	.LC76
	.word	.LC77
	.word	.LC78
	.word	.LC79
	.word	.LC55
	.word	lsa_opaque_grace_tlv_reason_values
	.word	.LC80
	.word	.LC81
	.word	.LC82
	.size	ospf_print_grace_lsa, .-ospf_print_grace_lsa
	.section	.rodata
	.align	2
.LC83:
	.ascii	"\012\011    %s TLV (%u), length: %u\000"
	.align	2
.LC84:
	.ascii	"\012\011    Remaining TLV length %u < 4\000"
	.align	2
.LC85:
	.ascii	"\012\011      %s subTLV (%u), length: %u\000"
	.align	2
.LC86:
	.ascii	", 0x%08x\000"
	.align	2
.LC87:
	.ascii	", %s (0x%08x)\000"
	.align	2
.LC88:
	.ascii	", %s\000"
	.global	__aeabi_fmul
	.global	__aeabi_fdiv
	.global	__aeabi_f2d
	.align	2
.LC89:
	.ascii	", %.3f Mbps\000"
	.align	2
.LC90:
	.ascii	"\012\011\011TE-Class %u: %.3f Mbps\000"
	.align	2
.LC91:
	.ascii	"\012\011\011Bandwidth Constraints Model ID: %s (%u)"
	.ascii	"\000"
	.align	2
.LC92:
	.ascii	"\012\011\011  Bandwidth constraint CT%u: %.3f Mbps\000"
	.align	2
.LC93:
	.ascii	", Metric %u\000"
	.align	2
.LC94:
	.ascii	", %s, Priority %u\000"
	.align	2
.LC95:
	.ascii	"\012\011\011Interface Switching Capability: %s\000"
	.align	2
.LC96:
	.ascii	"\012\011\011LSP Encoding: %s\012\011\011Max LSP Ban"
	.ascii	"dwidth:\000"
	.align	2
.LC97:
	.ascii	"\012\011\011  priority level %d: %.3f Mbps\000"
	.align	2
.LC98:
	.ascii	", %s (%u)\000"
	.align	2
.LC99:
	.ascii	"\012\011\011  Shared risk group: \000"
	.align	2
.LC100:
	.ascii	"%d\000"
	.align	2
.LC101:
	.ascii	", \000"
	.align	2
.LC102:
	.ascii	"\012\011\011\000"
	.align	2
.LC103:
	.ascii	"\012\011    TLV length %u < 4\000"
	.text
	.align	2
	.global	ospf_print_te_lsa
	.syntax unified
	.arm
	.fpu softvfp
	.type	ospf_print_te_lsa, %function
ospf_print_te_lsa:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #44
	str	r0, [fp, #-48]
	str	r1, [fp, #-52]
	b	.L37
.L84:
	ldr	r3, .L93
	ldr	r3, [r3]
	ldr	r3, [r3, #180]
	sub	r3, r3, #4
	ldr	r2, [fp, #-48]
	cmp	r2, r3
	bhi	.L86
	ldr	r3, [fp, #-52]
	cmp	r3, #3
	bhi	.L40
	ldr	r1, [fp, #-52]
	ldr	r0, .L93+4
	bl	printf
	mvn	r3, #0
	b	.L85
.L40:
	ldr	r3, [fp, #-48]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r3, r3, r2
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r0, r3
	bl	ntohs
	mov	r3, r0
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-48]
	add	r3, r3, #2
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r3, r3, r2
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r0, r3
	bl	ntohs
	mov	r3, r0
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-48]
	add	r3, r3, #4
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-52]
	sub	r3, r3, #4
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-20]
	mov	r2, r3
	ldr	r1, .L93+8
	ldr	r0, .L93+12
	bl	tok2str
	mov	r1, r0
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-20]
	ldr	r0, .L93+16
	bl	printf
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-52]
	cmp	r2, r3
	bls	.L42
	ldr	r2, [fp, #-52]
	ldr	r1, [fp, #-40]
	ldr	r0, .L93+20
	bl	printf
	mvn	r3, #0
	b	.L85
.L42:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L43
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	bne	.L44
.L43:
	mvn	r3, #0
	b	.L85
.L44:
	ldr	r3, [fp, #-20]
	cmp	r3, #1
	beq	.L45
	ldr	r3, [fp, #-20]
	cmp	r3, #2
	bne	.L46
	b	.L47
.L78:
	ldr	r3, [fp, #-40]
	cmp	r3, #3
	bhi	.L48
	ldr	r1, [fp, #-40]
	ldr	r0, .L93+24
	bl	printf
	mvn	r3, #0
	b	.L85
.L48:
	ldr	r3, .L93
	ldr	r3, [r3]
	ldr	r3, [r3, #180]
	sub	r3, r3, #4
	ldr	r2, [fp, #-48]
	cmp	r2, r3
	bhi	.L87
	ldr	r3, [fp, #-48]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r3, r3, r2
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r0, r3
	bl	ntohs
	mov	r3, r0
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-48]
	add	r3, r3, #2
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r3, r3, r2
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r0, r3
	bl	ntohs
	mov	r3, r0
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-48]
	add	r3, r3, #4
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-40]
	sub	r3, r3, #4
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-16]
	mov	r2, r3
	ldr	r1, .L93+8
	ldr	r0, .L93+28
	bl	tok2str
	mov	r1, r0
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-16]
	ldr	r0, .L93+32
	bl	printf
	ldr	r3, [fp, #-36]
	rsb	r3, r3, #0
	cmp	r3, #0
	bgt	.L88
	ldr	r3, .L93
	ldr	r3, [r3]
	ldr	r2, [r3, #180]
	ldr	r3, [fp, #-36]
	rsb	r3, r3, #0
	add	r3, r2, r3
	ldr	r2, [fp, #-48]
	cmp	r2, r3
	bhi	.L88
	ldr	r3, [fp, #-16]
	sub	r3, r3, #1
	cmp	r3, #16
	ldrls	pc, [pc, r3, asl #2]
	b	.L52
.L54:
	.word	.L64
	.word	.L58
	.word	.L63
	.word	.L63
	.word	.L62
	.word	.L61
	.word	.L61
	.word	.L60
	.word	.L59
	.word	.L52
	.word	.L58
	.word	.L52
	.word	.L52
	.word	.L57
	.word	.L56
	.word	.L55
	.word	.L53
.L59:
	ldr	r3, [fp, #-48]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldrb	r1, [r3, #1]	@ zero_extendqisi2
	lsl	r1, r1, #8
	orr	r2, r1, r2
	ldrb	r1, [r3, #2]	@ zero_extendqisi2
	lsl	r1, r1, #16
	orr	r2, r1, r2
	ldrb	r3, [r3, #3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	orr	r3, r3, r2
	mov	r0, r3
	bl	ntohl
	mov	r3, r0
	mov	r1, r3
	ldr	r0, .L93+36
	bl	printf
	b	.L65
.L58:
	ldr	r0, [fp, #-48]
	bl	getname
	mov	r4, r0
	ldr	r3, [fp, #-48]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldrb	r1, [r3, #1]	@ zero_extendqisi2
	lsl	r1, r1, #8
	orr	r2, r1, r2
	ldrb	r1, [r3, #2]	@ zero_extendqisi2
	lsl	r1, r1, #16
	orr	r2, r1, r2
	ldrb	r3, [r3, #3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	orr	r3, r3, r2
	mov	r0, r3
	bl	ntohl
	mov	r3, r0
	mov	r2, r3
	mov	r1, r4
	ldr	r0, .L93+40
	bl	printf
	ldr	r3, [fp, #-36]
	cmp	r3, #8
	bne	.L89
	ldr	r3, [fp, #-48]
	add	r3, r3, #4
	mov	r0, r3
	bl	getname
	mov	r4, r0
	ldr	r3, [fp, #-48]
	add	r3, r3, #4
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldrb	r1, [r3, #1]	@ zero_extendqisi2
	lsl	r1, r1, #8
	orr	r2, r1, r2
	ldrb	r1, [r3, #2]	@ zero_extendqisi2
	lsl	r1, r1, #16
	orr	r2, r1, r2
	ldrb	r3, [r3, #3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	orr	r3, r3, r2
	mov	r0, r3
	bl	ntohl
	mov	r3, r0
	mov	r2, r3
	mov	r1, r4
	ldr	r0, .L93+40
	bl	printf
	b	.L89
.L63:
	ldr	r0, [fp, #-48]
	bl	getname
	mov	r3, r0
	mov	r1, r3
	ldr	r0, .L93+44
	bl	printf
	b	.L65
.L61:
	ldr	r3, [fp, #-48]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldrb	r1, [r3, #1]	@ zero_extendqisi2
	lsl	r1, r1, #8
	orr	r2, r1, r2
	ldrb	r1, [r3, #2]	@ zero_extendqisi2
	lsl	r1, r1, #16
	orr	r2, r1, r2
	ldrb	r3, [r3, #3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	orr	r3, r3, r2
	mov	r0, r3
	bl	ntohl
	mov	r3, r0
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-44]	@ float
	mov	r1, #1090519040
	mov	r0, r3
	bl	__aeabi_fmul
	mov	r3, r0
	ldr	r1, .L93+48
	mov	r0, r3
	bl	__aeabi_fdiv
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L93+52
	bl	printf
	b	.L65
.L60:
	mov	r3, #0
	str	r3, [fp, #-28]
	b	.L67
.L68:
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldrb	r1, [r3, #1]	@ zero_extendqisi2
	lsl	r1, r1, #8
	orr	r2, r1, r2
	ldrb	r1, [r3, #2]	@ zero_extendqisi2
	lsl	r1, r1, #16
	orr	r2, r1, r2
	ldrb	r3, [r3, #3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	orr	r3, r3, r2
	mov	r0, r3
	bl	ntohl
	mov	r3, r0
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-44]	@ float
	mov	r1, #1090519040
	mov	r0, r3
	bl	__aeabi_fmul
	mov	r3, r0
	ldr	r1, .L93+48
	mov	r0, r3
	bl	__aeabi_fdiv
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #-28]
	ldr	r0, .L93+56
	bl	printf
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L67:
	ldr	r3, [fp, #-28]
	cmp	r3, #7
	bls	.L68
	b	.L65
.L53:
	ldr	r3, [fp, #-48]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r1, .L93+8
	ldr	r0, .L93+60
	bl	tok2str
	mov	r1, r0
	ldr	r3, [fp, #-48]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r0, .L93+64
	bl	printf
	mov	r3, #0
	str	r3, [fp, #-28]
	b	.L69
.L70:
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldrb	r1, [r3, #1]	@ zero_extendqisi2
	lsl	r1, r1, #8
	orr	r2, r1, r2
	ldrb	r1, [r3, #2]	@ zero_extendqisi2
	lsl	r1, r1, #16
	orr	r2, r1, r2
	ldrb	r3, [r3, #3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	orr	r3, r3, r2
	mov	r0, r3
	bl	ntohl
	mov	r3, r0
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-44]	@ float
	mov	r1, #1090519040
	mov	r0, r3
	bl	__aeabi_fmul
	mov	r3, r0
	ldr	r1, .L93+48
	mov	r0, r3
	bl	__aeabi_fdiv
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #-28]
	ldr	r0, .L93+68
	bl	printf
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L69:
	ldr	r3, [fp, #-36]
	sub	r3, r3, #4
	lsr	r3, r3, #2
	ldr	r2, [fp, #-28]
	cmp	r2, r3
	bcc	.L70
	b	.L65
.L62:
	ldr	r3, [fp, #-48]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldrb	r1, [r3, #1]	@ zero_extendqisi2
	lsl	r1, r1, #8
	orr	r2, r1, r2
	ldrb	r1, [r3, #2]	@ zero_extendqisi2
	lsl	r1, r1, #16
	orr	r2, r1, r2
	ldrb	r3, [r3, #3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	orr	r3, r3, r2
	mov	r0, r3
	bl	ntohl
	mov	r3, r0
	mov	r1, r3
	ldr	r0, .L93+72
	bl	printf
	b	.L65
.L57:
	ldr	r3, [fp, #-48]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r1, .L93+76
	ldr	r0, .L93+80
	bl	bittok2str
	mov	r1, r0
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r0, .L93+84
	bl	printf
	b	.L65
.L56:
	ldr	r3, [fp, #-48]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r1, .L93+88
	ldr	r0, .L93+92
	bl	tok2str
	mov	r3, r0
	mov	r1, r3
	ldr	r0, .L93+96
	bl	printf
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r1, .L93+88
	ldr	r0, .L93+100
	bl	tok2str
	mov	r3, r0
	mov	r1, r3
	ldr	r0, .L93+104
	bl	printf
	mov	r3, #0
	str	r3, [fp, #-32]
	b	.L71
.L72:
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldrb	r1, [r3, #1]	@ zero_extendqisi2
	lsl	r1, r1, #8
	orr	r2, r1, r2
	ldrb	r1, [r3, #2]	@ zero_extendqisi2
	lsl	r1, r1, #16
	orr	r2, r1, r2
	ldrb	r3, [r3, #3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	orr	r3, r3, r2
	mov	r0, r3
	bl	ntohl
	mov	r3, r0
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-44]	@ float
	mov	r1, #1090519040
	mov	r0, r3
	bl	__aeabi_fmul
	mov	r3, r0
	ldr	r1, .L93+48
	mov	r0, r3
	bl	__aeabi_fdiv
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #-32]
	ldr	r0, .L93+108
	bl	printf
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L71:
	ldr	r3, [fp, #-32]
	cmp	r3, #7
	bls	.L72
	b	.L65
.L64:
	ldr	r3, [fp, #-48]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r1, .L93+8
	ldr	r0, .L93+112
	bl	tok2str
	mov	r1, r0
	ldr	r3, [fp, #-48]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r0, .L93+116
	bl	printf
	b	.L65
.L55:
	ldr	r3, [fp, #-36]
	lsr	r3, r3, #2
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L74
	ldr	r0, .L93+120
	bl	printf
	b	.L74
.L75:
	ldr	r3, [fp, #-48]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldrb	r1, [r3, #1]	@ zero_extendqisi2
	lsl	r1, r1, #8
	orr	r2, r1, r2
	ldrb	r1, [r3, #2]	@ zero_extendqisi2
	lsl	r1, r1, #16
	orr	r2, r1, r2
	ldrb	r3, [r3, #3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	orr	r3, r3, r2
	mov	r0, r3
	bl	ntohl
	mov	r3, r0
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-44]
	mov	r1, r3
	ldr	r0, .L93+124
	bl	printf
	ldr	r3, [fp, #-48]
	add	r3, r3, #4
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-24]
	sub	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L74
	ldr	r0, .L93+128
	bl	printf
.L74:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L75
	b	.L65
.L52:
	ldr	r3, .L93
	ldr	r3, [r3]
	ldr	r3, [r3, #56]
	cmp	r3, #1
	bgt	.L90
	ldr	r3, [fp, #-36]
	mov	r2, r3
	ldr	r1, .L93+132
	ldr	r0, [fp, #-48]
	bl	print_unknown_data
	mov	r3, r0
	cmp	r3, #0
	bne	.L90
	mvn	r3, #0
	b	.L85
.L89:
	nop
	b	.L65
.L90:
	nop
.L65:
	ldr	r3, [fp, #-36]
	and	r3, r3, #3
	cmp	r3, #0
	beq	.L77
	ldr	r3, [fp, #-36]
	bic	r3, r3, #3
	add	r3, r3, #4
	str	r3, [fp, #-36]
.L77:
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	sub	r3, r2, r3
	str	r3, [fp, #-40]
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-36]
	add	r3, r2, r3
	str	r3, [fp, #-48]
.L47:
	ldr	r3, [fp, #-40]
	cmp	r3, #7
	bhi	.L78
	b	.L79
.L45:
	ldr	r3, [fp, #-40]
	cmp	r3, #3
	bhi	.L80
	ldr	r1, [fp, #-40]
	ldr	r0, .L93+136
	bl	printf
	mvn	r3, #0
	b	.L85
.L80:
	ldr	r3, .L93
	ldr	r3, [r3]
	ldr	r3, [r3, #180]
	sub	r3, r3, #4
	ldr	r2, [fp, #-48]
	cmp	r2, r3
	bhi	.L91
	ldr	r0, [fp, #-48]
	bl	getname
	mov	r3, r0
	mov	r1, r3
	ldr	r0, .L93+44
	bl	printf
	b	.L79
.L46:
	ldr	r3, .L93
	ldr	r3, [r3]
	ldr	r3, [r3, #56]
	cmp	r3, #1
	bgt	.L92
	ldr	r3, [fp, #-40]
	mov	r2, r3
	ldr	r1, .L93+140
	ldr	r0, [fp, #-48]
	bl	print_unknown_data
	mov	r3, r0
	cmp	r3, #0
	bne	.L92
	mvn	r3, #0
	b	.L85
.L92:
	nop
.L79:
	ldr	r3, [fp, #-40]
	and	r3, r3, #3
	cmp	r3, #0
	beq	.L83
	ldr	r3, [fp, #-40]
	bic	r3, r3, #3
	add	r3, r3, #4
	str	r3, [fp, #-40]
.L83:
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #-40]
	sub	r3, r2, r3
	str	r3, [fp, #-52]
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-40]
	add	r3, r2, r3
	str	r3, [fp, #-48]
.L37:
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	bne	.L84
	mov	r3, #0
	b	.L85
.L86:
	nop
	b	.L39
.L87:
	nop
	b	.L39
.L88:
	nop
	b	.L39
.L91:
	nop
.L39:
	mvn	r3, #0
.L85:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L94:
	.align	2
.L93:
	.word	gndo
	.word	.LC73
	.word	.LC74
	.word	lsa_opaque_te_tlv_values
	.word	.LC83
	.word	.LC76
	.word	.LC84
	.word	lsa_opaque_te_link_tlv_subtlv_values
	.word	.LC85
	.word	.LC86
	.word	.LC87
	.word	.LC88
	.word	1232348160
	.word	.LC89
	.word	.LC90
	.word	diffserv_te_bc_values
	.word	.LC91
	.word	.LC92
	.word	.LC93
	.word	.LC8
	.word	gmpls_link_prot_values
	.word	.LC94
	.word	.LC55
	.word	gmpls_switch_cap_values
	.word	.LC95
	.word	gmpls_encoding_values
	.word	.LC96
	.word	.LC97
	.word	lsa_opaque_te_tlv_link_type_sub_tlv_values
	.word	.LC98
	.word	.LC99
	.word	.LC100
	.word	.LC101
	.word	.LC102
	.word	.LC103
	.word	.LC82
	.size	ospf_print_te_lsa, .-ospf_print_te_lsa
	.section	.rodata
	.align	2
.LC104:
	.ascii	"\012\011    Bogus length %u < header (%lu)\000"
	.align	2
.LC105:
	.ascii	"\012\011  Advertising Router %s, seq 0x%08x, age %u"
	.ascii	"s, length %u\000"
	.align	2
.LC106:
	.ascii	"\012\011    %s LSA (%d), Opaque-Type %s LSA (%u), O"
	.ascii	"paque-ID %u\000"
	.align	2
.LC107:
	.ascii	"\012\011    %s LSA (%d), LSA-ID: %s\000"
	.align	2
.LC108:
	.ascii	"\012\011    Options: [%s]\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	ospf_print_lshdr, %function
ospf_print_lshdr:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, fp, lr}
	add	fp, sp, #16
	sub	sp, sp, #20
	mov	r4, r0
	add	r2, r4, #18
	ldr	r3, .L109
	ldr	r3, [r3]
	ldr	r3, [r3, #180]
	sub	r3, r3, #2
	cmp	r2, r3
	bhi	.L105
	add	r3, r4, #18
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r3, r3, r2
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r0, r3
	bl	ntohs
	mov	r3, r0
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #19
	bhi	.L98
	mov	r2, #20
	ldr	r1, [fp, #-24]
	ldr	r0, .L109+4
	bl	printf
	mvn	r3, #0
	b	.L99
.L98:
	add	r2, r4, #12
	ldr	r3, .L109
	ldr	r3, [r3]
	ldr	r3, [r3, #180]
	sub	r3, r3, #4
	cmp	r2, r3
	bhi	.L106
	add	r3, r4, #8
	mov	r0, r3
	bl	getname
	mov	r5, r0
	add	r3, r4, #12
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldrb	r1, [r3, #1]	@ zero_extendqisi2
	lsl	r1, r1, #8
	orr	r2, r1, r2
	ldrb	r1, [r3, #2]	@ zero_extendqisi2
	lsl	r1, r1, #16
	orr	r2, r1, r2
	ldrb	r3, [r3, #3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	orr	r3, r3, r2
	mov	r0, r3
	bl	ntohl
	mov	r6, r0
	mov	r3, r4
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r3, r3, r2
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r0, r3
	bl	ntohs
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-24]
	sub	r3, r3, #20
	str	r3, [sp]
	mov	r3, r2
	mov	r2, r6
	mov	r1, r5
	ldr	r0, .L109+8
	bl	printf
	add	r2, r4, #3
	ldr	r3, .L109
	ldr	r3, [r3]
	ldr	r3, [r3, #180]
	sub	r3, r3, #1
	cmp	r2, r3
	bhi	.L107
	ldrb	r3, [r4, #3]	@ zero_extendqisi2
	sub	r3, r3, #9
	cmp	r3, #2
	bhi	.L102
	ldrb	r3, [r4, #3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r1, .L109+12
	ldr	r0, .L109+16
	bl	tok2str
	mov	r5, r0
	ldrb	r3, [r4, #3]	@ zero_extendqisi2
	mov	r6, r3
	ldrb	r3, [r4, #4]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r1, .L109+12
	ldr	r0, .L109+20
	bl	tok2str
	mov	r1, r0
	ldrb	r3, [r4, #4]	@ zero_extendqisi2
	mov	r0, r3
	ldrb	r3, [r4, #5]	@ zero_extendqisi2
	lsl	r2, r3, #16
	ldrb	r3, [r4, #6]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r3, r2, r3
	ldrb	r2, [r4, #7]	@ zero_extendqisi2
	orr	r3, r3, r2
	str	r3, [sp, #4]
	str	r0, [sp]
	mov	r3, r1
	mov	r2, r6
	mov	r1, r5
	ldr	r0, .L109+24
	bl	printf
	b	.L103
.L102:
	ldrb	r3, [r4, #3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r1, .L109+12
	ldr	r0, .L109+16
	bl	tok2str
	mov	r5, r0
	ldrb	r3, [r4, #3]	@ zero_extendqisi2
	mov	r6, r3
	add	r3, r4, #4
	mov	r0, r3
	bl	getname
	mov	r3, r0
	mov	r2, r6
	mov	r1, r5
	ldr	r0, .L109+28
	bl	printf
	nop
.L103:
	add	r2, r4, #2
	ldr	r3, .L109
	ldr	r3, [r3]
	ldr	r3, [r3, #180]
	sub	r3, r3, #1
	cmp	r2, r3
	bhi	.L108
	ldrb	r3, [r4, #2]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r1, .L109+32
	ldr	r0, .L109+36
	bl	bittok2str
	mov	r3, r0
	mov	r1, r3
	ldr	r0, .L109+40
	bl	printf
	ldr	r3, [fp, #-24]
	b	.L99
.L105:
	nop
	b	.L97
.L106:
	nop
	b	.L97
.L107:
	nop
	b	.L97
.L108:
	nop
.L97:
	mvn	r3, #0
.L99:
	mov	r0, r3
	sub	sp, fp, #16
	@ sp needed
	pop	{r4, r5, r6, fp, pc}
.L110:
	.align	2
.L109:
	.word	gndo
	.word	.LC104
	.word	.LC105
	.word	.LC74
	.word	lsa_values
	.word	lsa_opaque_values
	.word	.LC106
	.word	.LC107
	.word	.LC8
	.word	ospf_option_values
	.word	.LC108
	.size	ospf_print_lshdr, .-ospf_print_lshdr
	.section	.rodata
	.align	2
.LC109:
	.ascii	"default \000"
	.align	2
.LC110:
	.ascii	"multicast \000"
	.align	2
.LC111:
	.ascii	"management \000"
	.data
	.align	2
	.type	ospf_topology_values, %object
	.size	ospf_topology_values, 32
ospf_topology_values:
	.word	0
	.word	.LC109
	.word	1
	.word	.LC110
	.word	2
	.word	.LC111
	.word	0
	.word	0
	.section	.rodata
	.align	2
.LC112:
	.ascii	"\000"
	.align	2
.LC113:
	.ascii	"\012\011\011topology %s(%u), metric %u\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	ospf_print_tos_metrics, %function
ospf_print_tos_metrics:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #16
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	add	r3, r3, #1
	str	r3, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L112
.L117:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L113
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	b	.L114
.L113:
	mov	r3, #0
.L114:
	mov	r2, r3
	ldr	r1, .L118
	ldr	r0, .L118+4
	bl	tok2str
	mov	r4, r0
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L115
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r5, r3
	b	.L116
.L115:
	mov	r5, #0
.L116:
	ldr	r3, [fp, #-24]
	add	r3, r3, #2
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r3, r3, r2
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r0, r3
	bl	ntohs
	mov	r3, r0
	mov	r2, r5
	mov	r1, r4
	ldr	r0, .L118+8
	bl	printf
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-24]
	add	r3, r3, #4
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-16]
	sub	r3, r3, #1
	str	r3, [fp, #-16]
.L112:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L117
	nop
	nop
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L119:
	.align	2
.L118:
	.word	.LC112
	.word	ospf_topology_values
	.word	.LC113
	.size	ospf_print_tos_metrics, .-ospf_print_tos_metrics
	.section	.rodata
	.align	2
.LC114:
	.ascii	"\012\011    Router LSA Options: [%s]\000"
	.align	2
.LC115:
	.ascii	"\012\011      Virtual Link: Neighbor Router-ID: %s,"
	.ascii	" Interface Address: %s\000"
	.align	2
.LC116:
	.ascii	"\012\011      Neighbor Router-ID: %s, Interface Add"
	.ascii	"ress: %s\000"
	.align	2
.LC117:
	.ascii	"\012\011      Neighbor Network-ID: %s, Interface Ad"
	.ascii	"dress: %s\000"
	.align	2
.LC118:
	.ascii	"\012\011      Stub Network: %s, Mask: %s\000"
	.align	2
.LC119:
	.ascii	"\012\011      Unknown Router Link Type (%u)\000"
	.align	2
.LC120:
	.ascii	"\012\011    Mask %s\012\011    Connected Routers:\000"
	.align	2
.LC121:
	.ascii	"\012\011      %s\000"
	.align	2
.LC122:
	.ascii	"\012\011    Mask %s\000"
	.align	2
.LC123:
	.ascii	"\012\011\011topology %s(%u) metric %d\000"
	.align	2
.LC124:
	.ascii	"\012\011\011topology %s(%u), type %d, metric\000"
	.align	2
.LC125:
	.ascii	" infinite\000"
	.align	2
.LC126:
	.ascii	" %d\000"
	.align	2
.LC127:
	.ascii	", forward %s\000"
	.align	2
.LC128:
	.ascii	", tag %s\000"
	.align	2
.LC129:
	.ascii	"\012\011    Router Router-ID %s\000"
	.align	2
.LC130:
	.ascii	"\012\011    Network Designated Router %s\000"
	.align	2
.LC131:
	.ascii	"\012\011    unknown VertexType (%u)\000"
	.align	2
.LC132:
	.ascii	"\012\011    %s TLV (%u), length: %u, value: \000"
	.align	2
.LC133:
	.ascii	"Capabilities: %s\000"
	.align	2
.LC134:
	.ascii	"\012\011    \000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	ospf_print_lsa, %function
ospf_print_lsa:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, fp, lr}
	add	fp, sp, #28
	sub	sp, sp, #8
	mov	r4, r0
	add	r3, r4, #20
	str	r3, [fp, #-32]
	mov	r3, r4
	mov	r0, r3
	bl	ospf_print_lshdr
	mov	r6, r0
	cmn	r6, #1
	bne	.L121
	mov	r3, #0
	b	.L122
.L121:
	mov	r3, r6
	add	r7, r4, r3
	mov	r3, r6
	sub	r3, r3, #20
	mov	r6, r3
	ldrb	r3, [r4, #3]	@ zero_extendqisi2
	sub	r3, r3, #1
	cmp	r3, #10
	ldrls	pc, [pc, r3, asl #2]
	b	.L123
.L125:
	.word	.L131
	.word	.L130
	.word	.L129
	.word	.L128
	.word	.L126
	.word	.L127
	.word	.L126
	.word	.L123
	.word	.L124
	.word	.L124
	.word	.L124
.L131:
	add	r2, r4, #20
	ldr	r3, .L222
	ldr	r3, [r3]
	ldr	r3, [r3, #180]
	sub	r3, r3, #1
	cmp	r2, r3
	bhi	.L199
	ldrb	r3, [r4, #20]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r1, .L222+4
	ldr	r0, .L222+8
	bl	bittok2str
	mov	r3, r0
	mov	r1, r3
	ldr	r0, .L222+12
	bl	printf
	add	r2, r4, #22
	ldr	r3, .L222
	ldr	r3, [r3]
	ldr	r3, [r3, #180]
	sub	r3, r3, #2
	cmp	r2, r3
	bhi	.L200
	add	r3, r4, #22
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r3, r3, r2
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r0, r3
	bl	ntohs
	mov	r3, r0
	mov	r9, r3
	add	r2, r4, #24
	ldr	r3, .L222
	ldr	r3, [r3]
	ldr	r3, [r3, #180]
	sub	r3, r3, #12
	cmp	r2, r3
	bhi	.L201
	add	r5, r4, #24
	b	.L136
.L145:
	ldr	r3, .L222
	ldr	r3, [r3]
	ldr	r3, [r3, #180]
	sub	r3, r3, #12
	cmp	r5, r3
	bhi	.L202
	ldrb	r3, [r5, #8]	@ zero_extendqisi2
	sub	r3, r3, #1
	cmp	r3, #3
	ldrls	pc, [pc, r3, asl #2]
	b	.L138
.L140:
	.word	.L143
	.word	.L142
	.word	.L141
	.word	.L139
.L139:
	mov	r3, r5
	mov	r0, r3
	bl	getname
	mov	r8, r0
	add	r3, r5, #4
	mov	r0, r3
	bl	getname
	mov	r3, r0
	mov	r2, r3
	mov	r1, r8
	ldr	r0, .L222+16
	bl	printf
	b	.L144
.L143:
	mov	r3, r5
	mov	r0, r3
	bl	getname
	mov	r8, r0
	add	r3, r5, #4
	mov	r0, r3
	bl	getname
	mov	r3, r0
	mov	r2, r3
	mov	r1, r8
	ldr	r0, .L222+20
	bl	printf
	b	.L144
.L142:
	mov	r3, r5
	mov	r0, r3
	bl	getname
	mov	r8, r0
	add	r3, r5, #4
	mov	r0, r3
	bl	getname
	mov	r3, r0
	mov	r2, r3
	mov	r1, r8
	ldr	r0, .L222+24
	bl	printf
	b	.L144
.L141:
	mov	r3, r5
	mov	r0, r3
	bl	getname
	mov	r8, r0
	add	r3, r5, #4
	mov	r0, r3
	bl	getname
	mov	r3, r0
	mov	r2, r3
	mov	r1, r8
	ldr	r0, .L222+28
	bl	printf
	b	.L144
.L138:
	ldrb	r3, [r5, #8]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r0, .L222+32
	bl	printf
	mov	r3, r7
	b	.L122
.L144:
	add	r3, r5, #8
	mov	r0, r3
	bl	ospf_print_tos_metrics
	ldrb	r3, [r5, #9]	@ zero_extendqisi2
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r5, r5, r3
.L136:
	mov	r3, r9
	sub	r9, r3, #1
	cmp	r3, #0
	bne	.L145
	b	.L123
.L130:
	add	r2, r4, #20
	ldr	r3, .L222
	ldr	r3, [r3]
	ldr	r3, [r3, #180]
	sub	r3, r3, #4
	cmp	r2, r3
	bhi	.L203
	add	r3, r4, #20
	mov	r0, r3
	bl	getname
	mov	r3, r0
	mov	r1, r3
	ldr	r0, .L222+36
	bl	printf
	add	r5, r4, #24
	b	.L147
.L149:
	ldr	r3, .L222
	ldr	r3, [r3]
	ldr	r3, [r3, #180]
	sub	r3, r3, #4
	cmp	r5, r3
	bhi	.L204
	mov	r0, r5
	bl	getname
	mov	r3, r0
	mov	r1, r3
	ldr	r0, .L222+40
	bl	printf
	add	r5, r5, #4
.L147:
	cmp	r5, r7
	bcc	.L149
	b	.L123
.L129:
	add	r2, r4, #20
	ldr	r3, .L222
	ldr	r3, [r3]
	ldr	r3, [r3, #180]
	sub	r3, r3, #4
	cmp	r2, r3
	bhi	.L205
	add	r3, r4, #20
	mov	r0, r3
	bl	getname
	mov	r3, r0
	mov	r1, r3
	ldr	r0, .L222+44
	bl	printf
	add	r2, r4, #24
	ldr	r3, .L222
	ldr	r3, [r3]
	ldr	r3, [r3, #180]
	sub	r3, r3, #4
	cmp	r2, r3
	bhi	.L206
	add	r5, r4, #24
	b	.L152
.L154:
	ldr	r3, .L222
	ldr	r3, [r3]
	ldr	r3, [r3, #180]
	sub	r3, r3, #4
	cmp	r5, r3
	bhi	.L207
	ldrb	r3, [r5]	@ zero_extendqisi2
	ldrb	r2, [r5, #1]	@ zero_extendqisi2
	lsl	r2, r2, #8
	orr	r3, r2, r3
	ldrb	r2, [r5, #2]	@ zero_extendqisi2
	lsl	r2, r2, #16
	orr	r3, r2, r3
	ldrb	r2, [r5, #3]	@ zero_extendqisi2
	lsl	r2, r2, #24
	orr	r3, r2, r3
	mov	r0, r3
	bl	ntohl
	mov	r9, r0
	lsr	r3, r9, #24
	and	r8, r3, #127
	mov	r2, r8
	ldr	r1, .L222+48
	ldr	r0, .L222+52
	bl	tok2str
	mov	r1, r0
	bic	r3, r9, #-16777216
	mov	r2, r8
	ldr	r0, .L222+56
	bl	printf
	add	r5, r5, #4
.L152:
	cmp	r5, r7
	bcc	.L154
	b	.L123
.L128:
	add	r2, r4, #24
	ldr	r3, .L222
	ldr	r3, [r3]
	ldr	r3, [r3, #180]
	sub	r3, r3, #4
	cmp	r2, r3
	bhi	.L208
	add	r5, r4, #24
	b	.L156
.L158:
	ldr	r3, .L222
	ldr	r3, [r3]
	ldr	r3, [r3, #180]
	sub	r3, r3, #4
	cmp	r5, r3
	bhi	.L209
	ldrb	r3, [r5]	@ zero_extendqisi2
	ldrb	r2, [r5, #1]	@ zero_extendqisi2
	lsl	r2, r2, #8
	orr	r3, r2, r3
	ldrb	r2, [r5, #2]	@ zero_extendqisi2
	lsl	r2, r2, #16
	orr	r3, r2, r3
	ldrb	r2, [r5, #3]	@ zero_extendqisi2
	lsl	r2, r2, #24
	orr	r3, r2, r3
	mov	r0, r3
	bl	ntohl
	mov	r9, r0
	lsr	r3, r9, #24
	and	r8, r3, #127
	mov	r2, r8
	ldr	r1, .L222+48
	ldr	r0, .L222+52
	bl	tok2str
	mov	r1, r0
	bic	r3, r9, #-16777216
	mov	r2, r8
	ldr	r0, .L222+56
	bl	printf
	add	r5, r5, #4
.L156:
	cmp	r5, r7
	bcc	.L158
	b	.L123
.L126:
	add	r2, r4, #20
	ldr	r3, .L222
	ldr	r3, [r3]
	ldr	r3, [r3, #180]
	sub	r3, r3, #4
	cmp	r2, r3
	bhi	.L210
	add	r3, r4, #20
	mov	r0, r3
	bl	getname
	mov	r3, r0
	mov	r1, r3
	ldr	r0, .L222+44
	bl	printf
	add	r2, r4, #24
	ldr	r3, .L222
	ldr	r3, [r3]
	ldr	r3, [r3, #180]
	sub	r3, r3, #4
	cmp	r2, r3
	bhi	.L211
	add	r5, r4, #24
	b	.L161
.L171:
	mov	r2, r5
	ldr	r3, .L222
	ldr	r3, [r3]
	ldr	r3, [r3, #180]
	sub	r3, r3, #4
	cmp	r2, r3
	bhi	.L212
	mov	r3, r5
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldrb	r1, [r3, #1]	@ zero_extendqisi2
	lsl	r1, r1, #8
	orr	r2, r1, r2
	ldrb	r1, [r3, #2]	@ zero_extendqisi2
	lsl	r1, r1, #16
	orr	r2, r1, r2
	ldrb	r3, [r3, #3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	orr	r3, r3, r2
	mov	r0, r3
	bl	ntohl
	mov	r9, r0
	lsr	r3, r9, #24
	and	r8, r3, #127
	mov	r2, r8
	ldr	r1, .L222+48
	ldr	r0, .L222+52
	bl	tok2str
	mov	r1, r0
	mov	r3, r9
	cmp	r3, #0
	bge	.L163
	mov	r3, #2
	b	.L164
.L163:
	mov	r3, #1
.L164:
	mov	r2, r8
	ldr	r0, .L222+60
	bl	printf
	bic	r3, r9, #-16777216
	mvn	r2, #-16777216
	cmp	r3, r2
	bne	.L165
	ldr	r0, .L222+64
	bl	printf
	b	.L166
.L165:
	bic	r3, r9, #-16777216
	mov	r1, r3
	ldr	r0, .L222+68
	bl	printf
.L166:
	add	r2, r5, #4
	ldr	r3, .L222
	ldr	r3, [r3]
	ldr	r3, [r3, #180]
	sub	r3, r3, #4
	cmp	r2, r3
	bhi	.L213
	ldr	r3, [r5, #4]
	cmp	r3, #0
	beq	.L168
	add	r3, r5, #4
	mov	r0, r3
	bl	getname
	mov	r3, r0
	mov	r1, r3
	ldr	r0, .L222+72
	bl	printf
.L168:
	add	r2, r5, #8
	ldr	r3, .L222
	ldr	r3, [r3]
	ldr	r3, [r3, #180]
	sub	r3, r3, #4
	cmp	r2, r3
	bhi	.L214
	ldr	r3, [r5, #8]
	cmp	r3, #0
	beq	.L170
	add	r3, r5, #8
	mov	r0, r3
	bl	getname
	mov	r3, r0
	mov	r1, r3
	ldr	r0, .L222+76
	bl	printf
.L170:
	add	r5, r5, #12
.L161:
	cmp	r5, r7
	bcc	.L171
	b	.L123
.L127:
	add	r5, r4, #20
	b	.L172
.L178:
	add	r2, r5, #4
	ldr	r3, .L222
	ldr	r3, [r3]
	ldr	r3, [r3, #180]
	sub	r3, r3, #4
	cmp	r2, r3
	bhi	.L215
	mov	r3, r5
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldrb	r1, [r3, #1]	@ zero_extendqisi2
	lsl	r1, r1, #8
	orr	r2, r1, r2
	ldrb	r1, [r3, #2]	@ zero_extendqisi2
	lsl	r1, r1, #16
	orr	r2, r1, r2
	ldrb	r3, [r3, #3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	orr	r3, r3, r2
	mov	r0, r3
	bl	ntohl
	mov	r3, r0
	cmp	r3, #1
	beq	.L174
	cmp	r3, #2
	beq	.L175
	b	.L198
.L174:
	add	r3, r5, #4
	mov	r0, r3
	bl	getname
	mov	r3, r0
	mov	r1, r3
	ldr	r0, .L222+80
	bl	printf
	b	.L177
.L175:
	add	r3, r5, #4
	mov	r0, r3
	bl	getname
	mov	r3, r0
	mov	r1, r3
	ldr	r0, .L222+84
	bl	printf
	b	.L177
.L198:
	mov	r3, r5
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldrb	r1, [r3, #1]	@ zero_extendqisi2
	lsl	r1, r1, #8
	orr	r2, r1, r2
	ldrb	r1, [r3, #2]	@ zero_extendqisi2
	lsl	r1, r1, #16
	orr	r2, r1, r2
	ldrb	r3, [r3, #3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	orr	r3, r3, r2
	mov	r0, r3
	bl	ntohl
	mov	r3, r0
	mov	r1, r3
	ldr	r0, .L222+88
	bl	printf
	nop
.L177:
	add	r5, r5, #8
.L172:
	cmp	r5, r7
	bcc	.L178
	b	.L123
.L124:
	ldrb	r3, [r4, #4]	@ zero_extendqisi2
	cmp	r3, #4
	beq	.L179
	cmp	r3, #4
	bgt	.L180
	cmp	r3, #1
	beq	.L181
	cmp	r3, #3
	beq	.L182
	b	.L180
.L179:
	add	r3, r4, #20
	str	r3, [fp, #-32]
	b	.L183
.L193:
	ldr	r3, .L222
	ldr	r3, [r3]
	ldr	r3, [r3, #180]
	sub	r3, r3, #4
	ldr	r2, [fp, #-32]
	cmp	r2, r3
	bhi	.L216
	cmp	r6, #3
	bgt	.L185
	mov	r1, r6
	ldr	r0, .L222+92
	bl	printf
	mov	r3, r7
	b	.L122
.L185:
	ldr	r3, [fp, #-32]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r3, r3, r2
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r0, r3
	bl	ntohs
	mov	r3, r0
	mov	r8, r3
	ldr	r3, [fp, #-32]
	add	r3, r3, #2
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r3, r3, r2
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r0, r3
	bl	ntohs
	mov	r3, r0
	mov	r5, r3
	ldr	r3, [fp, #-32]
	add	r3, r3, #4
	str	r3, [fp, #-32]
	sub	r6, r6, #4
	mov	r2, r8
	ldr	r1, .L222+96
	ldr	r0, .L222+100
	bl	tok2str
	mov	r1, r0
	mov	r3, r5
	mov	r2, r8
	ldr	r0, .L222+104
	bl	printf
	cmp	r5, r6
	ble	.L186
	mov	r2, r6
	mov	r1, r5
	ldr	r0, .L222+108
	bl	printf
	mov	r3, r7
	b	.L122
.L186:
	mov	r3, r5
	rsb	r3, r3, #0
	cmp	r3, #0
	bgt	.L217
	ldr	r3, .L222
	ldr	r3, [r3]
	ldr	r2, [r3, #180]
	mov	r3, r5
	rsb	r3, r3, #0
	add	r3, r2, r3
	ldr	r2, [fp, #-32]
	cmp	r2, r3
	bhi	.L217
	cmp	r8, #1
	bne	.L189
	cmp	r5, #4
	beq	.L190
	mov	r1, r5
	ldr	r0, .L222+112
	bl	printf
	mov	r3, r7
	b	.L122
.L190:
	ldr	r3, [fp, #-32]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldrb	r1, [r3, #1]	@ zero_extendqisi2
	lsl	r1, r1, #8
	orr	r2, r1, r2
	ldrb	r1, [r3, #2]	@ zero_extendqisi2
	lsl	r1, r1, #16
	orr	r2, r1, r2
	ldrb	r3, [r3, #3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	orr	r3, r3, r2
	mov	r0, r3
	bl	ntohl
	mov	r3, r0
	mov	r2, r3
	ldr	r1, .L222+116
	ldr	r0, .L222+120
	bl	bittok2str
	mov	r3, r0
	mov	r1, r3
	ldr	r0, .L222+124
	bl	printf
	b	.L191
.L189:
	ldr	r3, .L222
	ldr	r3, [r3]
	ldr	r3, [r3, #56]
	cmp	r3, #1
	bgt	.L218
	mov	r2, r5
	ldr	r1, .L222+128
	ldr	r0, [fp, #-32]
	bl	print_unknown_data
	mov	r3, r0
	cmp	r3, #0
	bne	.L218
	mov	r3, r7
	b	.L122
.L218:
	nop
.L191:
	mov	r2, r5
	ldr	r3, [fp, #-32]
	add	r3, r3, r2
	str	r3, [fp, #-32]
	sub	r6, r6, r5
.L183:
	cmp	r6, #0
	bne	.L193
	b	.L123
.L182:
	add	r3, r4, #20
	mov	r2, r6
	mov	r1, r2
	mov	r0, r3
	bl	ospf_print_grace_lsa
	mov	r3, r0
	cmn	r3, #1
	bne	.L219
	mov	r3, r7
	b	.L122
.L181:
	add	r3, r4, #20
	mov	r2, r6
	mov	r1, r2
	mov	r0, r3
	bl	ospf_print_te_lsa
	mov	r3, r0
	cmn	r3, #1
	bne	.L220
	mov	r3, r7
	b	.L122
.L180:
	ldr	r3, .L222
	ldr	r3, [r3]
	ldr	r3, [r3, #56]
	cmp	r3, #1
	bgt	.L221
	add	r3, r4, #20
	mov	r2, r6
	ldr	r1, .L222+132
	mov	r0, r3
	bl	print_unknown_data
	mov	r3, r0
	cmp	r3, #0
	bne	.L221
	mov	r3, r7
	b	.L122
.L219:
	nop
	b	.L123
.L220:
	nop
	b	.L123
.L221:
	nop
.L123:
	ldr	r3, .L222
	ldr	r3, [r3]
	ldr	r3, [r3, #56]
	cmp	r3, #1
	ble	.L197
	add	r3, r4, #20
	mov	r2, r6
	ldr	r1, .L222+132
	mov	r0, r3
	bl	print_unknown_data
	mov	r3, r0
	cmp	r3, #0
	bne	.L197
	mov	r3, r7
	b	.L122
.L197:
	mov	r3, r7
	b	.L122
.L199:
	nop
	b	.L133
.L200:
	nop
	b	.L133
.L201:
	nop
	b	.L133
.L202:
	nop
	b	.L133
.L203:
	nop
	b	.L133
.L204:
	nop
	b	.L133
.L205:
	nop
	b	.L133
.L206:
	nop
	b	.L133
.L207:
	nop
	b	.L133
.L208:
	nop
	b	.L133
.L209:
	nop
	b	.L133
.L210:
	nop
	b	.L133
.L211:
	nop
	b	.L133
.L212:
	nop
	b	.L133
.L213:
	nop
	b	.L133
.L214:
	nop
	b	.L133
.L215:
	nop
	b	.L133
.L216:
	nop
	b	.L133
.L217:
	nop
.L133:
	mov	r3, #0
.L122:
	mov	r0, r3
	sub	sp, fp, #28
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, fp, pc}
.L223:
	.align	2
.L222:
	.word	gndo
	.word	.LC8
	.word	ospf_rla_flag_values
	.word	.LC114
	.word	.LC115
	.word	.LC116
	.word	.LC117
	.word	.LC118
	.word	.LC119
	.word	.LC120
	.word	.LC121
	.word	.LC122
	.word	.LC112
	.word	ospf_topology_values
	.word	.LC123
	.word	.LC124
	.word	.LC125
	.word	.LC126
	.word	.LC127
	.word	.LC128
	.word	.LC129
	.word	.LC130
	.word	.LC131
	.word	.LC73
	.word	.LC74
	.word	lsa_opaque_ri_tlv_values
	.word	.LC132
	.word	.LC76
	.word	.LC77
	.word	.LC55
	.word	lsa_opaque_ri_tlv_cap_values
	.word	.LC133
	.word	.LC82
	.word	.LC134
	.size	ospf_print_lsa, .-ospf_print_lsa
	.section	.rodata
	.align	2
.LC135:
	.ascii	"\012\011[LLS truncated]\000"
	.align	2
.LC136:
	.ascii	"\012\011  LLS: checksum: 0x%04x\000"
	.align	2
.LC137:
	.ascii	", length: %u\000"
	.align	2
.LC138:
	.ascii	"Unknown TLV\000"
	.align	2
.LC139:
	.ascii	"\012\011    %s (%u)\000"
	.align	2
.LC140:
	.ascii	" [should be 4]\000"
	.align	2
.LC141:
	.ascii	"?\000"
	.align	2
.LC142:
	.ascii	"\012\011      Options: 0x%08x [%s]\000"
	.align	2
.LC143:
	.ascii	" [should be 20]\000"
	.align	2
.LC144:
	.ascii	"\012\011      Sequence number: 0x%08x\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	ospf_decode_lls, %function
ospf_decode_lls:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, fp, lr}
	add	fp, sp, #28
	mov	r5, r0
	mov	r7, r1
	ldrb	r3, [r5, #1]	@ zero_extendqisi2
	cmp	r3, #1
	beq	.L225
	cmp	r3, #2
	beq	.L226
	b	.L249
.L225:
	ldrb	r3, [r5, #30]	@ zero_extendqisi2
	and	r3, r3, #16
	cmp	r3, #0
	bne	.L250
	mov	r3, #0
	b	.L229
.L226:
	ldrb	r3, [r5, #26]	@ zero_extendqisi2
	and	r3, r3, #16
	cmp	r3, #0
	bne	.L251
	mov	r3, #0
	b	.L229
.L249:
	mov	r3, #0
	b	.L229
.L250:
	nop
	b	.L230
.L251:
	nop
.L230:
	add	r3, r5, #2
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r3, r3, r2
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r0, r3
	bl	ntohs
	mov	r3, r0
	mov	r6, r3
	add	r4, r5, r6
	add	r8, r5, r7
	add	r3, r5, #14
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r3, r3, r2
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r0, r3
	bl	ntohs
	mov	r3, r0
	cmp	r3, #2
	bne	.L232
	ldrb	r3, [r5, #19]	@ zero_extendqisi2
	add	r4, r4, r3
	ldrb	r3, [r5, #19]	@ zero_extendqisi2
	add	r6, r6, r3
.L232:
	cmp	r6, r7
	bcc	.L233
	ldr	r0, .L259
	bl	printf
	mov	r3, #1
	b	.L229
.L233:
	ldr	r3, .L259+4
	ldr	r3, [r3]
	ldr	r3, [r3, #180]
	sub	r3, r3, #2
	cmp	r4, r3
	bhi	.L252
	ldrb	r3, [r4]	@ zero_extendqisi2
	ldrb	r2, [r4, #1]	@ zero_extendqisi2
	lsl	r2, r2, #8
	orr	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r0, r3
	bl	ntohs
	mov	r3, r0
	mov	r1, r3
	ldr	r0, .L259+8
	bl	printf
	add	r4, r4, #2
	ldr	r3, .L259+4
	ldr	r3, [r3]
	ldr	r3, [r3, #180]
	sub	r3, r3, #2
	cmp	r4, r3
	bhi	.L253
	ldrb	r3, [r4]	@ zero_extendqisi2
	ldrb	r2, [r4, #1]	@ zero_extendqisi2
	lsl	r2, r2, #8
	orr	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r0, r3
	bl	ntohs
	mov	r3, r0
	mov	r6, r3
	mov	r1, r6
	ldr	r0, .L259+12
	bl	printf
	add	r4, r4, #2
	ldr	r3, .L259+4
	ldr	r3, [r3]
	ldr	r3, [r3, #180]
	sub	r3, r3, #1
	cmp	r4, r3
	bhi	.L254
	b	.L238
.L248:
	ldr	r3, .L259+4
	ldr	r3, [r3]
	ldr	r3, [r3, #180]
	sub	r3, r3, #2
	cmp	r4, r3
	bhi	.L255
	ldrb	r3, [r4]	@ zero_extendqisi2
	ldrb	r2, [r4, #1]	@ zero_extendqisi2
	lsl	r2, r2, #8
	orr	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r0, r3
	bl	ntohs
	mov	r3, r0
	mov	r6, r3
	mov	r3, r6
	mov	r2, r3
	ldr	r1, .L259+16
	ldr	r0, .L259+20
	bl	tok2str
	mov	r3, r0
	mov	r2, r6
	mov	r1, r3
	ldr	r0, .L259+24
	bl	printf
	add	r4, r4, #2
	ldr	r3, .L259+4
	ldr	r3, [r3]
	ldr	r3, [r3, #180]
	sub	r3, r3, #2
	cmp	r4, r3
	bhi	.L256
	ldrb	r3, [r4]	@ zero_extendqisi2
	ldrb	r2, [r4, #1]	@ zero_extendqisi2
	lsl	r2, r2, #8
	orr	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r0, r3
	bl	ntohs
	mov	r3, r0
	mov	r5, r3
	mov	r3, r5
	mov	r1, r3
	ldr	r0, .L259+12
	bl	printf
	add	r4, r4, #2
	mov	r3, r6
	cmp	r3, #1
	beq	.L241
	cmp	r3, #2
	beq	.L242
	b	.L243
.L241:
	cmp	r5, #4
	beq	.L244
	ldr	r0, .L259+28
	bl	printf
	mov	r5, #4
.L244:
	ldr	r3, .L259+4
	ldr	r3, [r3]
	ldr	r3, [r3, #180]
	sub	r3, r3, #4
	cmp	r4, r3
	bhi	.L257
	ldrb	r3, [r4]	@ zero_extendqisi2
	ldrb	r2, [r4, #1]	@ zero_extendqisi2
	lsl	r2, r2, #8
	orr	r3, r2, r3
	ldrb	r2, [r4, #2]	@ zero_extendqisi2
	lsl	r2, r2, #16
	orr	r3, r2, r3
	ldrb	r2, [r4, #3]	@ zero_extendqisi2
	lsl	r2, r2, #24
	orr	r3, r2, r3
	mov	r0, r3
	bl	ntohl
	mov	r6, r0
	mov	r3, r6
	mov	r2, r3
	ldr	r1, .L259+32
	ldr	r0, .L259+36
	bl	bittok2str
	mov	r3, r0
	mov	r2, r3
	mov	r1, r6
	ldr	r0, .L259+40
	bl	printf
	b	.L243
.L242:
	cmp	r5, #20
	beq	.L246
	ldr	r0, .L259+44
	bl	printf
	mov	r5, #20
.L246:
	ldr	r3, .L259+4
	ldr	r3, [r3]
	ldr	r3, [r3, #180]
	sub	r3, r3, #4
	cmp	r4, r3
	bhi	.L258
	ldrb	r3, [r4]	@ zero_extendqisi2
	ldrb	r2, [r4, #1]	@ zero_extendqisi2
	lsl	r2, r2, #8
	orr	r3, r2, r3
	ldrb	r2, [r4, #2]	@ zero_extendqisi2
	lsl	r2, r2, #16
	orr	r3, r2, r3
	ldrb	r2, [r4, #3]	@ zero_extendqisi2
	lsl	r2, r2, #24
	orr	r3, r2, r3
	mov	r0, r3
	bl	ntohl
	mov	r3, r0
	mov	r1, r3
	ldr	r0, .L259+48
	bl	printf
	nop
.L243:
	mov	r3, r5
	add	r4, r4, r3
.L238:
	cmp	r4, r8
	bcc	.L248
	mov	r3, #0
	b	.L229
.L252:
	nop
	b	.L235
.L253:
	nop
	b	.L235
.L254:
	nop
	b	.L235
.L255:
	nop
	b	.L235
.L256:
	nop
	b	.L235
.L257:
	nop
	b	.L235
.L258:
	nop
.L235:
	mov	r3, #1
.L229:
	mov	r0, r3
	pop	{r4, r5, r6, r7, r8, r9, fp, pc}
.L260:
	.align	2
.L259:
	.word	.LC135
	.word	gndo
	.word	.LC136
	.word	.LC137
	.word	.LC138
	.word	ospf_lls_tlv_values
	.word	.LC139
	.word	.LC140
	.word	.LC141
	.word	ospf_lls_eo_options
	.word	.LC142
	.word	.LC143
	.word	.LC144
	.size	ospf_decode_lls, .-ospf_decode_lls
	.section	.rodata
	.align	2
.LC145:
	.ascii	"\012\011Options [%s]\000"
	.align	2
.LC146:
	.ascii	"\012\011  Hello Timer %us, Dead Timer %us, Mask %s,"
	.ascii	" Priority %u\000"
	.align	2
.LC147:
	.ascii	"\012\011  Designated Router %s\000"
	.align	2
.LC148:
	.ascii	", Backup Designated Router %s\000"
	.align	2
.LC149:
	.ascii	"\012\011  Neighbor List:\000"
	.align	2
.LC150:
	.ascii	"\012\011    %s\000"
	.align	2
.LC151:
	.ascii	", DD Flags [%s]\000"
	.align	2
.LC152:
	.ascii	", MTU: %u\000"
	.align	2
.LC153:
	.ascii	", Sequence: 0x%08x\000"
	.align	2
.LC154:
	.ascii	"\012\011  Advertising Router: %s, %s LSA (%u)\000"
	.align	2
.LC155:
	.ascii	", Opaque-Type: %s LSA (%u), Opaque-ID: %u\000"
	.align	2
.LC156:
	.ascii	", LSA-ID: %s\000"
	.align	2
.LC157:
	.ascii	"s\000"
	.align	2
.LC158:
	.ascii	", %d LSA%s\000"
	.align	2
.LC159:
	.ascii	"\012\011  LSA #%u\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	ospf_decode_v2, %function
ospf_decode_v2:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, fp, lr}
	add	fp, sp, #20
	sub	sp, sp, #8
	mov	r4, r0
	mov	r5, r1
	ldrb	r3, [r4, #1]	@ zero_extendqisi2
	cmp	r3, #5
	ldrls	pc, [pc, r3, asl #2]
	b	.L303
.L264:
	.word	.L303
	.word	.L268
	.word	.L267
	.word	.L266
	.word	.L265
	.word	.L263
.L268:
	ldrb	r3, [r4, #30]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r1, .L316
	ldr	r0, .L316+4
	bl	bittok2str
	mov	r3, r0
	mov	r1, r3
	ldr	r0, .L316+8
	bl	printf
	add	r2, r4, #32
	ldr	r3, .L316+12
	ldr	r3, [r3]
	ldr	r3, [r3, #180]
	sub	r3, r3, #4
	cmp	r2, r3
	bhi	.L304
	add	r3, r4, #28
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r3, r3, r2
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r0, r3
	bl	ntohs
	mov	r3, r0
	mov	r7, r3
	add	r3, r4, #32
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldrb	r1, [r3, #1]	@ zero_extendqisi2
	lsl	r1, r1, #8
	orr	r2, r1, r2
	ldrb	r1, [r3, #2]	@ zero_extendqisi2
	lsl	r1, r1, #16
	orr	r2, r1, r2
	ldrb	r3, [r3, #3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	orr	r3, r3, r2
	mov	r0, r3
	bl	ntohl
	mov	r6, r0
	add	r3, r4, #24
	mov	r0, r3
	bl	getname
	mov	r3, r0
	ldrb	r2, [r4, #31]	@ zero_extendqisi2
	str	r2, [sp]
	mov	r2, r6
	mov	r1, r7
	ldr	r0, .L316+16
	bl	printf
	add	r2, r4, #36
	ldr	r3, .L316+12
	ldr	r3, [r3]
	ldr	r3, [r3, #180]
	sub	r3, r3, #4
	cmp	r2, r3
	bhi	.L305
	ldr	r3, [r4, #36]
	cmp	r3, #0
	beq	.L274
	add	r3, r4, #36
	mov	r0, r3
	bl	getname
	mov	r3, r0
	mov	r1, r3
	ldr	r0, .L316+20
	bl	printf
.L274:
	add	r2, r4, #40
	ldr	r3, .L316+12
	ldr	r3, [r3]
	ldr	r3, [r3, #180]
	sub	r3, r3, #4
	cmp	r2, r3
	bhi	.L306
	ldr	r3, [r4, #40]
	cmp	r3, #0
	beq	.L276
	add	r3, r4, #40
	mov	r0, r3
	bl	getname
	mov	r3, r0
	mov	r1, r3
	ldr	r0, .L316+24
	bl	printf
.L276:
	add	r4, r4, #44
	cmp	r4, r5
	bcs	.L278
	ldr	r0, .L316+28
	bl	printf
	b	.L278
.L280:
	ldr	r3, .L316+12
	ldr	r3, [r3]
	ldr	r3, [r3, #180]
	sub	r3, r3, #4
	cmp	r4, r3
	bhi	.L307
	mov	r0, r4
	bl	getname
	mov	r3, r0
	mov	r1, r3
	ldr	r0, .L316+32
	bl	printf
	add	r4, r4, #4
.L278:
	cmp	r4, r5
	bcc	.L280
	b	.L270
.L267:
	add	r2, r4, #26
	ldr	r3, .L316+12
	ldr	r3, [r3]
	ldr	r3, [r3, #180]
	sub	r3, r3, #1
	cmp	r2, r3
	bhi	.L308
	ldrb	r3, [r4, #26]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r1, .L316
	ldr	r0, .L316+4
	bl	bittok2str
	mov	r3, r0
	mov	r1, r3
	ldr	r0, .L316+8
	bl	printf
	add	r2, r4, #27
	ldr	r3, .L316+12
	ldr	r3, [r3]
	ldr	r3, [r3, #180]
	sub	r3, r3, #1
	cmp	r2, r3
	bhi	.L309
	ldrb	r3, [r4, #27]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r1, .L316
	ldr	r0, .L316+36
	bl	bittok2str
	mov	r3, r0
	mov	r1, r3
	ldr	r0, .L316+40
	bl	printf
	add	r2, r4, #24
	ldr	r3, .L316+12
	ldr	r3, [r3]
	ldr	r3, [r3, #180]
	sub	r3, r3, #2
	cmp	r2, r3
	bhi	.L310
	ldrh	r3, [r4, #24]
	cmp	r3, #0
	beq	.L284
	add	r3, r4, #24
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r3, r3, r2
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r0, r3
	bl	ntohs
	mov	r3, r0
	mov	r1, r3
	ldr	r0, .L316+44
	bl	printf
.L284:
	add	r2, r4, #28
	ldr	r3, .L316+12
	ldr	r3, [r3]
	ldr	r3, [r3, #180]
	sub	r3, r3, #4
	cmp	r2, r3
	bhi	.L311
	add	r3, r4, #28
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldrb	r1, [r3, #1]	@ zero_extendqisi2
	lsl	r1, r1, #8
	orr	r2, r1, r2
	ldrb	r1, [r3, #2]	@ zero_extendqisi2
	lsl	r1, r1, #16
	orr	r2, r1, r2
	ldrb	r3, [r3, #3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	orr	r3, r3, r2
	mov	r0, r3
	bl	ntohl
	mov	r3, r0
	mov	r1, r3
	ldr	r0, .L316+48
	bl	printf
	add	r4, r4, #32
	b	.L286
.L288:
	add	r4, r4, #20
.L286:
	cmp	r4, r5
	bcs	.L312
	mov	r0, r4
	bl	ospf_print_lshdr
	mov	r3, r0
	cmn	r3, #1
	bne	.L288
	b	.L312
.L266:
	add	r4, r4, #24
	b	.L289
.L293:
	ldr	r3, .L316+12
	ldr	r3, [r3]
	ldr	r3, [r3, #180]
	sub	r3, r3, #12
	cmp	r4, r3
	bhi	.L313
	add	r3, r4, #8
	mov	r0, r3
	bl	getname
	mov	r6, r0
	mov	r3, r4
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldrb	r1, [r3, #1]	@ zero_extendqisi2
	lsl	r1, r1, #8
	orr	r2, r1, r2
	ldrb	r1, [r3, #2]	@ zero_extendqisi2
	lsl	r1, r1, #16
	orr	r2, r1, r2
	ldrb	r3, [r3, #3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	orr	r3, r3, r2
	mov	r0, r3
	bl	ntohl
	mov	r3, r0
	mov	r2, r3
	ldr	r1, .L316+52
	ldr	r0, .L316+56
	bl	tok2str
	mov	r7, r0
	mov	r3, r4
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldrb	r1, [r3, #1]	@ zero_extendqisi2
	lsl	r1, r1, #8
	orr	r2, r1, r2
	ldrb	r1, [r3, #2]	@ zero_extendqisi2
	lsl	r1, r1, #16
	orr	r2, r1, r2
	ldrb	r3, [r3, #3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	orr	r3, r3, r2
	mov	r0, r3
	bl	ntohl
	mov	r3, r0
	mov	r2, r7
	mov	r1, r6
	ldr	r0, .L316+60
	bl	printf
	mov	r3, r4
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldrb	r1, [r3, #1]	@ zero_extendqisi2
	lsl	r1, r1, #8
	orr	r2, r1, r2
	ldrb	r1, [r3, #2]	@ zero_extendqisi2
	lsl	r1, r1, #16
	orr	r2, r1, r2
	ldrb	r3, [r3, #3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	orr	r3, r3, r2
	mov	r0, r3
	bl	ntohl
	mov	r3, r0
	sub	r3, r3, #9
	cmp	r3, #2
	bhi	.L291
	ldrb	r3, [r4, #4]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r1, .L316+52
	ldr	r0, .L316+64
	bl	tok2str
	mov	r1, r0
	ldrb	r3, [r4, #4]	@ zero_extendqisi2
	mov	r0, r3
	ldrb	r3, [r4, #5]	@ zero_extendqisi2
	lsl	r2, r3, #16
	ldrb	r3, [r4, #6]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r3, r2, r3
	ldrb	r2, [r4, #7]	@ zero_extendqisi2
	orr	r3, r3, r2
	mov	r2, r0
	ldr	r0, .L316+68
	bl	printf
	b	.L292
.L291:
	add	r3, r4, #4
	mov	r0, r3
	bl	getname
	mov	r3, r0
	mov	r1, r3
	ldr	r0, .L316+72
	bl	printf
	nop
.L292:
	add	r4, r4, #12
.L289:
	cmp	r4, r5
	bcc	.L293
	b	.L270
.L265:
	add	r6, r4, #28
	add	r2, r4, #24
	ldr	r3, .L316+12
	ldr	r3, [r3]
	ldr	r3, [r3, #180]
	sub	r3, r3, #4
	cmp	r2, r3
	bhi	.L314
	add	r3, r4, #24
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldrb	r1, [r3, #1]	@ zero_extendqisi2
	lsl	r1, r1, #8
	orr	r2, r1, r2
	ldrb	r1, [r3, #2]	@ zero_extendqisi2
	lsl	r1, r1, #16
	orr	r2, r1, r2
	ldrb	r3, [r3, #3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	orr	r3, r3, r2
	mov	r0, r3
	bl	ntohl
	mov	r5, r0
	cmp	r5, #1
	beq	.L295
	ldr	r3, .L316+76
	b	.L296
.L295:
	ldr	r3, .L316+80
.L296:
	mov	r2, r3
	mov	r1, r5
	ldr	r0, .L316+84
	bl	printf
	mov	r4, #1
	b	.L297
.L299:
	mov	r1, r4
	ldr	r0, .L316+88
	bl	printf
	mov	r0, r6
	bl	ospf_print_lsa
	mov	r6, r0
	cmp	r6, #0
	beq	.L315
	add	r4, r4, #1
.L297:
	cmp	r4, r5
	bls	.L299
	b	.L270
.L263:
	add	r4, r4, #24
	b	.L300
.L301:
	add	r4, r4, #20
.L300:
	mov	r0, r4
	bl	ospf_print_lshdr
	mov	r3, r0
	cmn	r3, #1
	bne	.L301
	b	.L270
.L303:
	nop
	b	.L270
.L312:
	nop
.L270:
	mov	r3, #0
	b	.L302
.L304:
	nop
	b	.L272
.L305:
	nop
	b	.L272
.L306:
	nop
	b	.L272
.L307:
	nop
	b	.L272
.L308:
	nop
	b	.L272
.L309:
	nop
	b	.L272
.L310:
	nop
	b	.L272
.L311:
	nop
	b	.L272
.L313:
	nop
	b	.L272
.L314:
	nop
	b	.L272
.L315:
	nop
.L272:
	mov	r3, #1
.L302:
	mov	r0, r3
	sub	sp, fp, #20
	@ sp needed
	pop	{r4, r5, r6, r7, fp, pc}
.L317:
	.align	2
.L316:
	.word	.LC8
	.word	ospf_option_values
	.word	.LC145
	.word	gndo
	.word	.LC146
	.word	.LC147
	.word	.LC148
	.word	.LC149
	.word	.LC150
	.word	ospf_dd_flag_values
	.word	.LC151
	.word	.LC152
	.word	.LC153
	.word	.LC74
	.word	lsa_values
	.word	.LC154
	.word	lsa_opaque_values
	.word	.LC155
	.word	.LC156
	.word	.LC157
	.word	.LC112
	.word	.LC158
	.word	.LC159
	.size	ospf_decode_v2, .-ospf_decode_v2
	.section	.rodata
	.align	2
.LC160:
	.ascii	"unknown LS-type\000"
	.align	2
.LC161:
	.ascii	"OSPFv%u, %s, length %u\000"
	.align	2
.LC162:
	.ascii	" [len %d]\000"
	.align	2
.LC163:
	.ascii	"\012\011Router-ID %s\000"
	.align	2
.LC164:
	.ascii	", Area %s\000"
	.align	2
.LC165:
	.ascii	", Backbone Area\000"
	.align	2
.LC166:
	.ascii	", Authentication Type: %s (%u)\000"
	.align	2
.LC167:
	.ascii	"\012\011Simple text password: \000"
	.align	2
.LC168:
	.ascii	"\012\011Key-ID: %u, Auth-Length: %u, Crypto Sequenc"
	.ascii	"e Number: 0x%08x\000"
	.align	2
.LC169:
	.ascii	" ospf [version %d]\000"
	.text
	.align	2
	.global	ospf_print
	.syntax unified
	.arm
	.fpu softvfp
	.type	ospf_print, %function
ospf_print:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, fp, lr}
	add	fp, sp, #24
	sub	sp, sp, #12
	mov	r6, r0
	mov	r5, r1
	str	r2, [fp, #-32]
	mov	r4, r6
	add	r2, r4, #14
	ldr	r3, .L357
	ldr	r3, [r3]
	ldr	r3, [r3, #180]
	sub	r3, r3, #2
	cmp	r2, r3
	bhi	.L344
	add	r3, r4, #14
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r3, r3, r2
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r0, r3
	bl	ntohs
	mov	r3, r0
	cmp	r3, #2
	bne	.L321
	sub	r5, r5, #16
	ldr	r3, .L357
	ldr	r3, [r3]
	ldr	r2, [r3, #180]
	ldr	r3, .L357
	ldr	r3, [r3]
	sub	r2, r2, #16
	str	r2, [r3, #180]
.L321:
	add	r2, r4, #1
	ldr	r3, .L357
	ldr	r3, [r3]
	ldr	r3, [r3, #180]
	sub	r3, r3, #1
	cmp	r2, r3
	bhi	.L345
	ldrb	r3, [r4, #1]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r1, .L357+4
	ldr	r0, .L357+8
	bl	tok2str
	mov	r7, r0
	ldrb	r3, [r4]	@ zero_extendqisi2
	mov	r1, r3
	mov	r3, r5
	mov	r2, r7
	ldr	r0, .L357+12
	bl	printf
	ldrb	r3, [r7]	@ zero_extendqisi2
	cmp	r3, #117
	beq	.L346
	ldr	r3, .L357
	ldr	r3, [r3]
	ldr	r3, [r3, #56]
	cmp	r3, #0
	beq	.L347
	add	r2, r4, #2
	ldr	r3, .L357
	ldr	r3, [r3]
	ldr	r3, [r3, #180]
	sub	r3, r3, #2
	cmp	r2, r3
	bhi	.L348
	add	r3, r4, #2
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r3, r3, r2
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r0, r3
	bl	ntohs
	mov	r3, r0
	cmp	r5, r3
	beq	.L327
	add	r3, r4, #2
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r3, r3, r2
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r0, r3
	bl	ntohs
	mov	r3, r0
	mov	r1, r3
	ldr	r0, .L357+16
	bl	printf
.L327:
	add	r3, r4, #2
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r3, r3, r2
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r0, r3
	bl	ntohs
	mov	r3, r0
	cmp	r5, r3
	bls	.L328
	add	r3, r4, #2
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r3, r3, r2
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r0, r3
	bl	ntohs
	mov	r3, r0
	add	r6, r6, r3
	b	.L329
.L328:
	add	r6, r6, r5
.L329:
	add	r2, r4, #4
	ldr	r3, .L357
	ldr	r3, [r3]
	ldr	r3, [r3, #180]
	sub	r3, r3, #4
	cmp	r2, r3
	bhi	.L349
	add	r3, r4, #4
	mov	r0, r3
	bl	getname
	mov	r3, r0
	mov	r1, r3
	ldr	r0, .L357+20
	bl	printf
	add	r2, r4, #8
	ldr	r3, .L357
	ldr	r3, [r3]
	ldr	r3, [r3, #180]
	sub	r3, r3, #4
	cmp	r2, r3
	bhi	.L350
	ldr	r3, [r4, #8]
	cmp	r3, #0
	beq	.L332
	add	r3, r4, #8
	mov	r0, r3
	bl	getname
	mov	r3, r0
	mov	r1, r3
	ldr	r0, .L357+24
	bl	printf
	b	.L333
.L332:
	ldr	r0, .L357+28
	bl	printf
.L333:
	ldr	r3, .L357
	ldr	r3, [r3]
	ldr	r3, [r3, #56]
	cmp	r3, #0
	beq	.L351
	add	r2, r4, #16
	ldr	r3, .L357
	ldr	r3, [r3]
	ldr	r3, [r3, #180]
	sub	r3, r3, #8
	cmp	r2, r3
	bhi	.L352
	add	r3, r4, #14
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r3, r3, r2
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r0, r3
	bl	ntohs
	mov	r3, r0
	mov	r2, r3
	ldr	r1, .L357+32
	ldr	r0, .L357+36
	bl	tok2str
	mov	r7, r0
	add	r3, r4, #14
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r3, r3, r2
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r0, r3
	bl	ntohs
	mov	r3, r0
	mov	r2, r3
	mov	r1, r7
	ldr	r0, .L357+40
	bl	printf
	add	r3, r4, #14
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r3, r3, r2
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r0, r3
	bl	ntohs
	mov	r3, r0
	cmp	r3, #2
	beq	.L336
	cmp	r3, #2
	bgt	.L353
	cmp	r3, #0
	beq	.L354
	cmp	r3, #1
	beq	.L339
	b	.L353
.L339:
	ldr	r0, .L357+44
	bl	printf
	add	r3, r4, #16
	mov	r1, #8
	mov	r0, r3
	bl	safeputs
	b	.L334
.L336:
	ldrb	r3, [r4, #18]	@ zero_extendqisi2
	mov	r7, r3
	ldrb	r3, [r4, #19]	@ zero_extendqisi2
	mov	r8, r3
	add	r3, r4, #16
	add	r3, r3, #4
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldrb	r1, [r3, #1]	@ zero_extendqisi2
	lsl	r1, r1, #8
	orr	r2, r1, r2
	ldrb	r1, [r3, #2]	@ zero_extendqisi2
	lsl	r1, r1, #16
	orr	r2, r1, r2
	ldrb	r3, [r3, #3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	orr	r3, r3, r2
	mov	r0, r3
	bl	ntohl
	mov	r3, r0
	mov	r2, r8
	mov	r1, r7
	ldr	r0, .L357+48
	bl	printf
	b	.L334
.L351:
	nop
	b	.L334
.L354:
	nop
.L334:
	ldrb	r3, [r4]	@ zero_extendqisi2
	cmp	r3, #2
	bne	.L340
	mov	r1, r6
	mov	r0, r4
	bl	ospf_decode_v2
	mov	r3, r0
	cmp	r3, #0
	bne	.L355
	add	r3, r4, #2
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r3, r3, r2
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r0, r3
	bl	ntohs
	mov	r3, r0
	cmp	r5, r3
	bls	.L356
	mov	r1, r5
	mov	r0, r4
	bl	ospf_decode_lls
	mov	r3, r0
	cmp	r3, #0
	beq	.L356
	b	.L320
.L340:
	ldrb	r3, [r4]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r0, .L357+52
	bl	printf
	b	.L343
.L356:
	nop
.L343:
	b	.L318
.L344:
	nop
	b	.L320
.L345:
	nop
	b	.L320
.L348:
	nop
	b	.L320
.L349:
	nop
	b	.L320
.L350:
	nop
	b	.L320
.L352:
	nop
	b	.L320
.L355:
	nop
.L320:
	ldr	r3, .L357+56
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L357+60
	bl	fputs
	b	.L318
.L346:
	nop
	b	.L318
.L347:
	nop
	b	.L318
.L353:
	nop
.L318:
	sub	sp, fp, #24
	@ sp needed
	pop	{r4, r5, r6, r7, r8, fp, pc}
.L358:
	.align	2
.L357:
	.word	gndo
	.word	.LC160
	.word	type2str
	.word	.LC161
	.word	.LC162
	.word	.LC163
	.word	.LC164
	.word	.LC165
	.word	.LC74
	.word	ospf_authtype_values
	.word	.LC166
	.word	.LC167
	.word	.LC168
	.word	.LC169
	.word	stdout
	.word	tstr
	.size	ospf_print, .-ospf_print
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
