	.file	"492582.c"
	.intel_syntax noprefix
	.text
	.type	ifq_set_oactive, @function
ifq_set_oactive:
.LFB27:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 52[rax], 1
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE27:
	.size	ifq_set_oactive, .-ifq_set_oactive
	.type	ifq_clr_oactive, @function
ifq_clr_oactive:
.LFB28:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 52[rax], 0
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE28:
	.size	ifq_clr_oactive, .-ifq_clr_oactive
	.section	.rodata
.LC0:
	.string	"21040"
.LC1:
	.string	"21041"
.LC2:
	.string	"21140"
.LC3:
	.string	"21140A"
.LC4:
	.string	"21142"
.LC5:
	.string	"21143"
.LC6:
	.string	"82C168"
	.section	.data.rel.ro.local,"aw"
	.align 32
	.type	tulip_chipdescs, @object
	.size	tulip_chipdescs, 64
tulip_chipdescs:
	.quad	.LC0
	.quad	0
	.quad	.LC1
	.quad	.LC2
	.quad	.LC3
	.quad	.LC4
	.quad	.LC5
	.quad	.LC6
	.section	.rodata
	.align 32
	.type	tulip_media_to_ifmedia, @object
	.size	tulip_media_to_ifmedia, 96
tulip_media_to_ifmedia:
	.quad	258
	.quad	259
	.quad	1099511628035
	.quad	260
	.quad	261
	.quad	257
	.quad	261
	.quad	262
	.quad	1099511628038
	.quad	264
	.quad	263
	.quad	1099511628039
	.align 32
	.type	tulip_srom_conninfo, @object
	.size	tulip_srom_conninfo, 240
tulip_srom_conninfo:
	.long	0
	.long	1
	.zero	4
	.long	1
	.long	3
	.zero	4
	.long	2
	.long	4
	.zero	4
	.long	3
	.long	7
	.zero	4
	.long	6
	.long	9
	.zero	4
	.long	7
	.long	10
	.zero	4
	.long	9
	.long	1
	.long	256
	.long	13
	.long	7
	.long	256
	.long	15
	.long	9
	.long	256
	.long	16
	.long	10
	.long	256
	.long	256
	.long	1
	.long	512
	.long	516
	.long	2
	.zero	4
	.long	522
	.long	2
	.long	256
	.long	526
	.long	8
	.zero	4
	.long	529
	.long	8
	.long	256
	.long	1024
	.long	1
	.long	4096
	.long	2048
	.long	0
	.long	1024
	.long	34816
	.long	0
	.long	3072
	.long	36864
	.long	0
	.long	1536
	.long	65535
	.long	0
	.zero	4
	.align 32
	.type	tulip_srom_mediums, @object
	.size	tulip_srom_mediums, 80
tulip_srom_mediums:
	.long	11
	.long	8
	.long	10
	.long	7
	.long	9
	.long	6
	.long	8
	.long	5
	.long	7
	.long	3
	.long	2
	.long	4
	.long	4
	.long	2
	.long	3
	.long	1
	.long	1
	.long	0
	.long	0
	.zero	4
	.globl	de_ca
	.section	.data.rel.local,"aw"
	.align 32
	.type	de_ca, @object
	.size	de_ca, 40
de_ca:
	.quad	3120
	.quad	tulip_probe
	.quad	tulip_attach
	.zero	16
	.globl	de_cd
	.section	.rodata
.LC7:
	.string	"de"
	.section	.data.rel.local
	.align 32
	.type	de_cd, @object
	.size	de_cd, 32
de_cd:
	.quad	0
	.quad	.LC7
	.long	3
	.zero	12
	.text
	.globl	tulip_timeout_callback
	.type	tulip_timeout_callback, @function
tulip_timeout_callback:
.LFB51:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	edi, 7
	call	splraise@PLT
	mov	DWORD PTR -12[rbp], eax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, -4194305
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 2080[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2224[rax]
	lea	edx, -100[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 2224[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 2256[rax]
	mov	rdx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	rdx
	mov	eax, DWORD PTR -12[rbp]
	mov	edi, eax
	call	spllower@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE51:
	.size	tulip_timeout_callback, .-tulip_timeout_callback
	.globl	tulip_timeout
	.type	tulip_timeout, @function
tulip_timeout:
.LFB52:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, 4194304
	test	eax, eax
	jne	.L7
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2080[rax]
	or	eax, 4194304
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 2080[rax], edx
	mov	eax, DWORD PTR hz[rip]
	add	eax, 5
	movsx	rdx, eax
	imul	rdx, rdx, 1717986919
	shr	rdx, 32
	sar	edx, 2
	sar	eax, 31
	sub	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 1912
	mov	esi, edx
	mov	rdi, rax
	call	timeout_add@PLT
	jmp	.L4
.L7:
	nop
.L4:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE52:
	.size	tulip_timeout, .-tulip_timeout
	.globl	tulip_txprobe
	.type	tulip_txprobe, @function
tulip_txprobe:
.LFB53:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	esi, 1
	mov	edi, 2
	call	m_gethdr@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L9
	mov	eax, 0
	jmp	.L10
.L9:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rcx, rax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 1888
	mov	edx, 6
	mov	rsi, rax
	mov	rdi, rcx
	call	memmove@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	add	rax, 6
	mov	rdx, QWORD PTR -24[rbp]
	lea	rcx, 1888[rdx]
	mov	edx, 6
	mov	rsi, rcx
	mov	rdi, rax
	call	memmove@PLT
	mov	WORD PTR -12[rbp], 3
	movzx	eax, WORD PTR -12[rbp]
	mov	WORD PTR -10[rbp], ax
	movzx	eax, WORD PTR -10[rbp]
	sal	eax, 8
	mov	edx, eax
	movzx	eax, WORD PTR -10[rbp]
	shr	ax, 8
	or	eax, edx
	movzx	edx, ax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	WORD PTR 12[rax], dx
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	add	rax, 14
	mov	BYTE PTR [rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	add	rax, 15
	mov	BYTE PTR [rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	add	rax, 16
	mov	BYTE PTR [rax], -29
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 48[rax], 17
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 24[rax], 17
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2092[rax]
	or	ah, 32
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 2092[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2088[rax]
	or	eax, 1
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 2088[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2080[rax]
	or	eax, 32
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 2080[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 2092[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 2000[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 2088[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 2008[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rcx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, 1
	mov	rsi, rcx
	mov	rdi, rax
	call	tulip_txput
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L11
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	m_freem@PLT
.L11:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2244[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 2244[rax], edx
	mov	eax, 1
.L10:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE53:
	.size	tulip_txprobe, .-tulip_txprobe
	.globl	tulip_media_set
	.type	tulip_media_set, @function
tulip_media_set:
.LFB54:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 56
	.cfi_offset 3, -24
	mov	QWORD PTR -56[rbp], rdi
	mov	DWORD PTR -60[rbp], esi
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR -60[rbp]
	add	rdx, 264
	mov	rax, QWORD PTR [rax+rdx*8]
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	je	.L39
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 1
	je	.L15
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 2084[rax]
	and	eax, 16
	test	eax, eax
	je	.L16
.L15:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR 2056[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
.L16:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, 4096
	test	eax, eax
	je	.L17
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 2092[rax]
	or	ah, 2
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 2092[rax], edx
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 2092[rax]
	and	eax, -8195
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR 2000[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
.L17:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	ah, -2
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 2080[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 1
	jne	.L18
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, WORD PTR 6[rax]
	movzx	edx, ax
	mov	rax, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR 2064[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 2084[rax]
	and	eax, 64
	test	eax, eax
	je	.L19
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 12[rax]
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, WORD PTR 8[rax]
	movzx	eax, ax
	or	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR 2072[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR delay_func[rip]
	mov	edi, 50
	call	rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 16[rax]
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, WORD PTR 8[rax]
	movzx	eax, ax
	or	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR 2072[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	jmp	.L20
.L19:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, WORD PTR 8[rax]
	movzx	edx, ax
	mov	rax, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR 2072[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
.L20:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, WORD PTR 4[rax]
	movzx	edx, ax
	mov	rax, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR 2056[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	jmp	.L12
.L18:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 2
	jne	.L21
	mov	rax, QWORD PTR -24[rbp]
	mov	ebx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rcx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 2000[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	xor	eax, ebx
	mov	eax, eax
	and	eax, 29622272
	test	rax, rax
	je	.L22
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 2092[rax]
	and	eax, -29622273
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 2092[rax], edx
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR 2092[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 4[rax]
	or	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 2092[rax], edx
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	tulip_reset
.L22:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR 2218[rax]
	movzx	eax, al
	or	ah, 1
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR 2048[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR delay_func[rip]
	mov	edi, 10
	call	rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 12[rax]
	movzx	edx, al
	mov	rax, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR 2048[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	jmp	.L12
.L21:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 5
	jne	.L23
	mov	rax, QWORD PTR -24[rbp]
	mov	ebx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rcx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 2000[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	xor	eax, ebx
	mov	eax, eax
	and	eax, 29622272
	test	rax, rax
	je	.L24
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 2092[rax]
	and	eax, -29622273
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 2092[rax], edx
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR 2092[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 4[rax]
	or	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 2092[rax], edx
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	tulip_reset
.L24:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR 2072[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 12[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR 2072[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	jmp	.L12
.L23:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 3
	jne	.L12
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 2228[rax]
	test	eax, eax
	je	.L12
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 2084[rax]
	and	eax, 64
	test	eax, eax
	je	.L25
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 22[rax]
	movzx	eax, al
	cdqe
	lea	rdx, 2960[rax]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	mov	DWORD PTR -40[rbp], 0
	jmp	.L26
.L27:
	mov	rax, QWORD PTR delay_func[rip]
	mov	edi, 10
	call	rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 8
	add	eax, edx
	sal	eax, 16
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR 2072[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	add	DWORD PTR -40[rbp], 1
	add	QWORD PTR -32[rbp], 2
.L26:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 21[rax]
	movzx	eax, al
	cmp	DWORD PTR -40[rbp], eax
	jl	.L27
	mov	rax, QWORD PTR -24[rbp]
	movzx	edx, BYTE PTR 18[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	BYTE PTR 2217[rax], dl
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 20[rax]
	movzx	eax, al
	cdqe
	lea	rdx, 2960[rax]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	mov	DWORD PTR -40[rbp], 0
	jmp	.L28
.L29:
	mov	rax, QWORD PTR delay_func[rip]
	mov	edi, 10
	call	rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 8
	add	eax, edx
	sal	eax, 16
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR 2072[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	add	DWORD PTR -40[rbp], 1
	add	QWORD PTR -32[rbp], 2
.L28:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 19[rax]
	movzx	eax, al
	cmp	DWORD PTR -40[rbp], eax
	jl	.L29
	jmp	.L30
.L25:
	mov	DWORD PTR -40[rbp], 0
	jmp	.L31
.L32:
	mov	rax, QWORD PTR delay_func[rip]
	mov	edi, 10
	call	rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 22[rax]
	movzx	edx, al
	mov	eax, DWORD PTR -40[rbp]
	add	eax, edx
	mov	rdx, QWORD PTR -56[rbp]
	cdqe
	movzx	eax, BYTE PTR 2960[rdx+rax]
	movzx	edx, al
	mov	rax, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR 2048[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	add	DWORD PTR -40[rbp], 1
.L31:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 21[rax]
	movzx	eax, al
	cmp	DWORD PTR -40[rbp], eax
	jl	.L32
	mov	rax, QWORD PTR -24[rbp]
	movzx	edx, BYTE PTR 18[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	BYTE PTR 2217[rax], dl
	mov	DWORD PTR -40[rbp], 0
	jmp	.L33
.L34:
	mov	rax, QWORD PTR delay_func[rip]
	mov	edi, 10
	call	rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 20[rax]
	movzx	edx, al
	mov	eax, DWORD PTR -40[rbp]
	add	eax, edx
	mov	rdx, QWORD PTR -56[rbp]
	cdqe
	movzx	eax, BYTE PTR 2960[rdx+rax]
	movzx	edx, al
	mov	rax, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR 2048[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	add	DWORD PTR -40[rbp], 1
.L33:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 19[rax]
	movzx	eax, al
	cmp	DWORD PTR -40[rbp], eax
	jl	.L34
.L30:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 2084[rax]
	and	eax, 16
	test	eax, eax
	je	.L35
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR 2072[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, 1
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR 2064[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR 2048[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
.L35:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, 16777216
	test	eax, eax
	je	.L36
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR 2217[rax]
	movzx	edx, al
	mov	rax, QWORD PTR -56[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	tulip_mii_autonegotiate
	jmp	.L12
.L36:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, 33554432
	test	eax, eax
	jne	.L12
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR 2217[rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, 0
	mov	esi, ecx
	mov	rdi, rax
	call	tulip_mii_readreg
	mov	DWORD PTR -36[rbp], eax
	and	DWORD PTR -36[rbp], -12545
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, -33554433
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 2080[rax], edx
	mov	eax, DWORD PTR -60[rbp]
	mov	edx, 2308
	mov	ecx, eax
	sar	rdx, cl
	mov	rax, rdx
	and	eax, 1
	test	rax, rax
	je	.L37
	or	DWORD PTR -36[rbp], 256
.L37:
	cmp	DWORD PTR -60[rbp], 6
	jbe	.L38
	or	DWORD PTR -36[rbp], 8192
.L38:
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR 2217[rax]
	movzx	esi, al
	mov	edx, DWORD PTR -36[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	tulip_mii_writereg
	jmp	.L12
.L39:
	nop
.L12:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE54:
	.size	tulip_media_set, .-tulip_media_set
	.globl	tulip_linkup
	.type	tulip_linkup, @function
tulip_linkup:
.LFB55:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, 262144
	test	eax, eax
	jne	.L41
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2080[rax]
	or	eax, 131072
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 2080[rax], edx
.L41:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2080[rax]
	or	eax, 262144
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 2080[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 1408
	mov	rdi, rax
	call	ifq_clr_oactive
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2208[rax]
	cmp	DWORD PTR -12[rbp], eax
	je	.L42
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -12[rbp]
	mov	DWORD PTR 2208[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2080[rax]
	or	eax, 16
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 2080[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2208[rax]
	mov	edx, 2308
	mov	ecx, eax
	sar	rdx, cl
	mov	rax, rdx
	and	eax, 1
	test	rax, rax
	je	.L43
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2080[rax]
	or	ah, 16
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 2080[rax], edx
	jmp	.L42
.L43:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2248[rax]
	cmp	eax, 2
	jne	.L44
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, 33554432
	test	eax, eax
	jne	.L42
.L44:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	ah, -17
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 2080[rax], edx
.L42:
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 2224[rax], 3000
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 2228[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, -16777249
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 2080[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, 512
	test	eax, eax
	je	.L45
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 2208[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	tulip_media_set
	jmp	.L46
.L45:
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 2232[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2208[rax]
	cmp	edx, eax
	je	.L46
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	tulip_reset
.L46:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	tulip_init
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE55:
	.size	tulip_linkup, .-tulip_linkup
	.globl	tulip_media_print
	.type	tulip_media_print, @function
tulip_media_print:
.LFB56:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, 262144
	test	eax, eax
	je	.L51
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, 16
	test	eax, eax
	je	.L50
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, -131089
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 2080[rax], edx
	jmp	.L47
.L50:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, 131072
	test	eax, eax
	je	.L47
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, -131073
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 2080[rax], edx
	jmp	.L47
.L51:
	nop
.L47:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE56:
	.size	tulip_media_print, .-tulip_media_print
	.globl	tulip_media_link_monitor
	.type	tulip_media_link_monitor, @function
tulip_media_link_monitor:
.LFB57:
	.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	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR 2208[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, edx
	add	rdx, 264
	mov	rax, QWORD PTR [rax+rdx*8]
	mov	QWORD PTR -24[rbp], rax
	mov	DWORD PTR -36[rbp], 0
	cmp	QWORD PTR -24[rbp], 0
	jne	.L53
	mov	eax, 2
	jmp	.L54
.L53:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, 262400
	cmp	eax, 262400
	jne	.L55
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	ah, -2
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 2080[rax], edx
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 2224[rax], 3000
	mov	eax, 1
	jmp	.L54
.L55:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	ah, -2
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 2080[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 3
	jne	.L56
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR 2217[rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, 1
	mov	esi, ecx
	mov	rdi, rax
	call	tulip_mii_readreg
	mov	ebx, eax
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR 2217[rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, 1
	mov	esi, ecx
	mov	rdi, rax
	call	tulip_mii_readreg
	or	eax, ebx
	mov	DWORD PTR -32[rbp], eax
	mov	eax, DWORD PTR -32[rbp]
	and	eax, 32
	test	eax, eax
	je	.L57
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR 2217[rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, 5
	mov	esi, ecx
	mov	rdi, rax
	call	tulip_mii_readreg
	mov	DWORD PTR -28[rbp], eax
	mov	eax, DWORD PTR -28[rbp]
	sal	eax, 6
	and	eax, DWORD PTR -32[rbp]
	mov	DWORD PTR -28[rbp], eax
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 2212[rax]
	cmp	DWORD PTR -28[rbp], eax
	je	.L57
	mov	edx, DWORD PTR -28[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	tulip_mii_map_abilities
	test	eax, eax
	je	.L58
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR 2232[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	tulip_linkup
	mov	eax, 1
	jmp	.L54
.L58:
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 2228[rax], 0
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, 33554432
	test	eax, eax
	je	.L57
	mov	eax, 0
	jmp	.L54
.L57:
	mov	eax, DWORD PTR -32[rbp]
	and	eax, 20
	cmp	eax, 4
	jne	.L59
	mov	DWORD PTR -36[rbp], 1
	jmp	.L59
.L56:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 2
	jne	.L60
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 16[rax]
	test	al, al
	jne	.L61
	mov	eax, 2
	jmp	.L54
.L61:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rcx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 2048[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 16[rax]
	movzx	eax, al
	and	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 17[rax]
	movzx	eax, al
	cmp	edx, eax
	jne	.L59
	mov	DWORD PTR -36[rbp], 1
	jmp	.L59
.L60:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 1
	jne	.L62
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 2208[rax]
	mov	edx, 120
	mov	ecx, eax
	sar	rdx, cl
	mov	rax, rdx
	and	eax, 1
	test	rax, rax
	je	.L63
	mov	eax, 2
	jmp	.L54
.L63:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rcx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 2048[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	mov	eax, eax
	and	eax, 4
	test	rax, rax
	jne	.L59
	mov	DWORD PTR -36[rbp], 1
	jmp	.L59
.L62:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 5
	jne	.L59
	mov	eax, 2
	jmp	.L54
.L59:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, 262144
	test	eax, eax
	je	.L64
	cmp	DWORD PTR -36[rbp], 1
	jne	.L65
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 2224[rax], 3000
.L65:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 2224[rax]
	test	eax, eax
	jle	.L66
	mov	eax, 1
	jmp	.L54
.L66:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, -262145
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 2080[rax], edx
.L64:
	mov	eax, 0
.L54:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE57:
	.size	tulip_media_link_monitor, .-tulip_media_link_monitor
	.section	.rodata
	.align 8
.LC8:
	.string	"tulip_media_poll: botch at line %d\n"
	.text
	.globl	tulip_media_poll
	.type	tulip_media_poll, @function
tulip_media_poll:
.LFB58:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 40
	.cfi_offset 3, -24
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 2228[rax]
	test	eax, eax
	jne	.L105
	cmp	DWORD PTR -44[rbp], 0
	jne	.L105
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	tulip_media_link_monitor
	cmp	eax, 2
	je	.L106
	cmp	eax, 2
	ja	.L68
	test	eax, eax
	je	.L70
	cmp	eax, 1
	je	.L71
	jmp	.L68
.L70:
	mov	DWORD PTR -44[rbp], 2
	jmp	.L68
.L71:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	tulip_timeout
	jmp	.L67
.L105:
	nop
.L68:
	cmp	DWORD PTR -44[rbp], 2
	jne	.L73
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 2228[rax]
	test	eax, eax
	jne	.L73
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 128[rax]
	movzx	eax, al
	test	rax, rax
	jne	.L107
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 2208[rax], 0
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, WORD PTR 1046[rax]
	cwde
	and	eax, 1
	test	eax, eax
	je	.L107
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	tulip_reset
	jmp	.L107
.L73:
	cmp	DWORD PTR -44[rbp], 4
	jne	.L75
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 1408
	mov	rdi, rax
	call	ifq_set_oactive
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 2228[rax]
	test	eax, eax
	jne	.L108
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 2236[rax], 0
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 2240[rax], 0
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 2092[rax]
	and	eax, -515
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 2092[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 2080[rax]
	or	eax, 150994944
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 2080[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, -33685521
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 2080[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR 3097[rax]
	movzx	eax, al
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, tulip_srom_conninfo[rip+4]
	mov	edx, DWORD PTR [rdx+rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 2232[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 2232[rax]
	test	eax, eax
	je	.L77
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR 2232[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	tulip_linkup
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	tulip_timeout
	jmp	.L67
.L77:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 2084[rax]
	and	eax, 1
	test	eax, eax
	je	.L78
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 2228[rax], 3
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 2224[rax], 2000
	jmp	.L75
.L78:
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 2232[rax], 12
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 2224[rax], 0
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 2228[rax], 4
.L75:
	cmp	DWORD PTR -44[rbp], 6
	jne	.L79
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 2228[rax]
	cmp	eax, 4
	je	.L79
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, -33
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 2080[rax], edx
	jmp	.L67
.L79:
	cmp	DWORD PTR -44[rbp], 5
	je	.L80
	cmp	DWORD PTR -44[rbp], 3
	jne	.L81
.L80:
	cmp	DWORD PTR -44[rbp], 3
	jne	.L82
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 2232[rax], 1
.L82:
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR 2232[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	tulip_linkup
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	tulip_timeout
	jmp	.L67
.L81:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 2228[rax]
	cmp	eax, 3
	jne	.L83
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 2228[rax], 4
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 2232[rax], 12
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 2224[rax], 0
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	tulip_timeout
	jmp	.L67
.L83:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 2228[rax]
	cmp	eax, 4
	je	.L109
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 2084[rax]
	and	eax, 8
	test	eax, eax
	je	.L109
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 2232[rax]
	mov	DWORD PTR -20[rbp], eax
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR 2217[rax]
	movzx	edx, al
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	tulip_mii_autonegotiate
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 2228[rax]
	cmp	eax, 5
	ja	.L85
	cmp	eax, 4
	jnb	.L86
	test	eax, eax
	je	.L87
	cmp	eax, 2
	je	.L110
	jmp	.L85
.L86:
	mov	rax, QWORD PTR -40[rbp]
	mov	ecx, DWORD PTR 2236[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR 2232[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, edx
	add	rdx, 264
	mov	rax, QWORD PTR [rax+rdx*8]
	mov	eax, DWORD PTR 4[rax]
	or	ecx, eax
	mov	edx, ecx
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 2236[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 2224[rax], 0
	jmp	.L84
.L87:
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 2224[rax], 0
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 2236[rax]
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 2232[rax]
	mov	ecx, eax
	sar	rdx, cl
	mov	rax, rdx
	and	eax, 1
	test	rax, rax
	je	.L89
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR -20[rbp]
	mov	DWORD PTR 2232[rax], edx
	jmp	.L84
.L89:
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR 2232[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	tulip_linkup
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	tulip_timeout
	jmp	.L67
.L85:
	mov	esi, 724
	lea	rdi, .LC8[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L84
.L109:
	nop
.L84:
	cmp	DWORD PTR -44[rbp], 6
	jne	.L90
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, -33
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 2080[rax], edx
	jmp	.L67
.L90:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 2224[rax]
	test	eax, eax
	jg	.L91
.L94:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 2232[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 2232[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 2232[rax]
	test	eax, eax
	jne	.L92
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 2240[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 2240[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 2240[rax]
	cmp	eax, 3
	jne	.L93
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, WORD PTR 1046[rax]
	cwde
	and	eax, 1
	test	eax, eax
	jne	.L93
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, WORD PTR 1046[rax]
	and	eax, -65
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	WORD PTR 1046[rax], dx
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 2228[rax], 0
	jmp	.L67
.L93:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 2080[rax]
	xor	eax, 16777216
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 2080[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 2236[rax], 0
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 2232[rax], 11
.L92:
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR 2232[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, edx
	add	rdx, 264
	mov	rax, QWORD PTR [rax+rdx*8]
	test	rax, rax
	je	.L94
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 2236[rax]
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 2232[rax]
	mov	ecx, eax
	sar	rdx, cl
	mov	rax, rdx
	and	eax, 1
	test	rax, rax
	jne	.L94
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 2232[rax]
	mov	edx, 2308
	mov	ecx, eax
	sar	rdx, cl
	mov	rax, rdx
	and	eax, 1
	test	rax, rax
	jne	.L94
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 2232[rax]
	mov	edx, 120
	mov	ecx, eax
	sar	rdx, cl
	mov	rax, rdx
	and	eax, 1
	test	rax, rax
	jne	.L95
	mov	edx, 2500
	jmp	.L96
.L95:
	mov	edx, 1000
.L96:
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 2224[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 2228[rax], 4
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 2244[rax], 0
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	tulip_reset
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR 2232[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	tulip_media_set
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, -33
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 2080[rax], edx
.L91:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	tulip_timeout
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR 2232[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, edx
	add	rdx, 264
	mov	rax, QWORD PTR [rax+rdx*8]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 5
	ja	.L97
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L99[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L99[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L99:
	.long	.L111-.L99
	.long	.L101-.L99
	.long	.L111-.L99
	.long	.L100-.L99
	.long	.L111-.L99
	.long	.L111-.L99
	.text
.L100:
	mov	rax, QWORD PTR -40[rbp]
	mov	ebx, DWORD PTR 2232[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	tulip_mii_phy_readspecific
	cmp	ebx, eax
	je	.L112
	jmp	.L67
.L101:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 2232[rax]
	mov	edx, 120
	mov	ecx, eax
	sar	rdx, cl
	mov	rax, rdx
	and	eax, 1
	test	rax, rax
	jne	.L113
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rcx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 2048[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	mov	eax, eax
	and	eax, 4
	test	rax, rax
	jne	.L114
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR 2232[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	tulip_linkup
	jmp	.L67
.L111:
	nop
	jmp	.L97
.L112:
	nop
	jmp	.L97
.L113:
	nop
.L97:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	tulip_txprobe
	jmp	.L67
.L106:
	nop
	jmp	.L67
.L107:
	nop
	jmp	.L67
.L108:
	nop
	jmp	.L67
.L110:
	nop
	jmp	.L67
.L114:
	nop
.L67:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE58:
	.size	tulip_media_poll, .-tulip_media_poll
	.globl	tulip_media_select
	.type	tulip_media_select, @function
tulip_media_select:
.LFB59:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2084[rax]
	and	eax, 1
	test	eax, eax
	je	.L116
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR 2218[rax]
	movzx	eax, al
	or	ah, 1
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	rcx, QWORD PTR 2048[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR delay_func[rip]
	mov	edi, 10
	call	rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR 2219[rax]
	movzx	edx, al
	mov	rax, QWORD PTR -8[rbp]
	mov	rcx, QWORD PTR 2048[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
.L116:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2084[rax]
	and	eax, 16384
	test	eax, eax
	jne	.L120
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2208[rax]
	test	eax, eax
	jne	.L119
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 2088[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rcx, QWORD PTR 2008[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 2256[rax]
	mov	rdx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 4
	mov	rdi, rax
	call	rdx
	jmp	.L115
.L119:
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 2208[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	tulip_media_set
	jmp	.L115
.L120:
	nop
.L115:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE59:
	.size	tulip_media_select, .-tulip_media_select
	.globl	tulip_21040_mediainfo_init
	.type	tulip_21040_mediainfo_init, @function
tulip_21040_mediainfo_init:
.LFB60:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2092[rax]
	or	eax, 180256
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 2092[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 1072[rax], 10000000
	cmp	DWORD PTR -12[rbp], 1
	je	.L122
	cmp	DWORD PTR -12[rbp], 0
	jne	.L123
.L122:
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 2464[rax], 1
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 2464[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 2120[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	WORD PTR 2468[rax], -4351
	mov	rax, QWORD PTR -8[rbp]
	mov	WORD PTR 2470[rax], -1
	mov	rax, QWORD PTR -8[rbp]
	mov	WORD PTR 2472[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 2492[rax], 1
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 2492[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 2128[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	WORD PTR 2496[rax], -4351
	mov	rax, QWORD PTR -8[rbp]
	mov	WORD PTR 2498[rax], -3
	mov	rax, QWORD PTR -8[rbp]
	mov	WORD PTR 2500[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2088[rax]
	or	eax, 4112
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 2088[rax], edx
.L123:
	cmp	DWORD PTR -12[rbp], 6
	je	.L124
	cmp	DWORD PTR -12[rbp], 0
	jne	.L125
.L124:
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 2520[rax], 1
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 2520[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 2160[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	WORD PTR 2524[rax], -4343
	mov	rax, QWORD PTR -8[rbp]
	mov	WORD PTR 2526[rax], 1797
	mov	rax, QWORD PTR -8[rbp]
	mov	WORD PTR 2528[rax], 6
.L125:
	cmp	DWORD PTR -12[rbp], 0
	jne	.L127
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 2548[rax], 1
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 2548[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 2152[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	WORD PTR 2552[rax], 12353
	mov	rax, QWORD PTR -8[rbp]
	mov	WORD PTR 2554[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	WORD PTR 2556[rax], 6
.L127:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE60:
	.size	tulip_21040_mediainfo_init, .-tulip_21040_mediainfo_init
	.globl	tulip_21040_media_probe
	.type	tulip_21040_media_probe, @function
tulip_21040_media_probe:
.LFB61:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 8
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	tulip_21040_mediainfo_init
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE61:
	.size	tulip_21040_media_probe, .-tulip_21040_media_probe
	.globl	tulip_21040_10baset_only_media_probe
	.type	tulip_21040_10baset_only_media_probe, @function
tulip_21040_10baset_only_media_probe:
.LFB62:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	tulip_21040_mediainfo_init
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	tulip_media_set
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 2208[rax], 1
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE62:
	.size	tulip_21040_10baset_only_media_probe, .-tulip_21040_10baset_only_media_probe
	.globl	tulip_21040_10baset_only_media_select
	.type	tulip_21040_10baset_only_media_select, @function
tulip_21040_10baset_only_media_select:
.LFB63:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2080[rax]
	or	eax, 262144
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 2080[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2208[rax]
	cmp	eax, 2
	jne	.L131
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2092[rax]
	or	ah, 2
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 2092[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	ah, -9
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 2080[rax], edx
	jmp	.L132
.L131:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2092[rax]
	and	ah, -3
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 2092[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2080[rax]
	or	ah, 8
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 2080[rax], edx
.L132:
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 2208[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	tulip_media_set
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE63:
	.size	tulip_21040_10baset_only_media_select, .-tulip_21040_10baset_only_media_select
	.globl	tulip_21040_auibnc_only_media_probe
	.type	tulip_21040_auibnc_only_media_probe, @function
tulip_21040_auibnc_only_media_probe:
.LFB64:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 6
	mov	rdi, rax
	call	tulip_21040_mediainfo_init
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2080[rax]
	or	eax, 264192
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 2080[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 6
	mov	rdi, rax
	call	tulip_media_set
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 2208[rax], 6
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE64:
	.size	tulip_21040_auibnc_only_media_probe, .-tulip_21040_auibnc_only_media_probe
	.globl	tulip_21040_auibnc_only_media_select
	.type	tulip_21040_auibnc_only_media_select, @function
tulip_21040_auibnc_only_media_select:
.LFB65:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 6
	mov	rdi, rax
	call	tulip_media_set
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2092[rax]
	and	ah, -3
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 2092[rax], edx
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE65:
	.size	tulip_21040_auibnc_only_media_select, .-tulip_21040_auibnc_only_media_select
	.section	.data.rel.ro.local
	.align 32
	.type	tulip_21040_boardsw, @object
	.size	tulip_21040_boardsw, 40
tulip_21040_boardsw:
	.long	0
	.zero	4
	.quad	tulip_21040_media_probe
	.quad	tulip_media_select
	.quad	tulip_media_poll
	.zero	8
	.align 32
	.type	tulip_21040_10baset_only_boardsw, @object
	.size	tulip_21040_10baset_only_boardsw, 40
tulip_21040_10baset_only_boardsw:
	.long	0
	.zero	4
	.quad	tulip_21040_10baset_only_media_probe
	.quad	tulip_21040_10baset_only_media_select
	.quad	0
	.zero	8
	.align 32
	.type	tulip_21040_auibnc_only_boardsw, @object
	.size	tulip_21040_auibnc_only_boardsw, 40
tulip_21040_auibnc_only_boardsw:
	.long	0
	.zero	4
	.quad	tulip_21040_auibnc_only_media_probe
	.quad	tulip_21040_auibnc_only_media_select
	.quad	0
	.zero	8
	.text
	.globl	tulip_21041_mediainfo_init
	.type	tulip_21041_mediainfo_init, @function
tulip_21041_mediainfo_init:
.LFB66:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 2464
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], 1
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 2120[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	WORD PTR 4[rax], -4351
	mov	rax, QWORD PTR -8[rbp]
	mov	WORD PTR 6[rax], -193
	mov	rax, QWORD PTR -8[rbp]
	mov	WORD PTR 8[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 28
	mov	DWORD PTR [rax], 1
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 28[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 2128[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 28
	mov	WORD PTR 4[rax], -4351
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 28
	mov	WORD PTR 6[rax], -195
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 28
	mov	WORD PTR 8[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 56
	mov	DWORD PTR [rax], 1
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 56[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 2144[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 56
	mov	WORD PTR 4[rax], -4343
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 56
	mov	WORD PTR 6[rax], -2243
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 56
	mov	WORD PTR 8[rax], 14
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 84
	mov	DWORD PTR [rax], 1
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 84[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 2136[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 84
	mov	WORD PTR 4[rax], -4343
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 84
	mov	WORD PTR 6[rax], -2243
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 84
	mov	WORD PTR 8[rax], 6
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE66:
	.size	tulip_21041_mediainfo_init, .-tulip_21041_mediainfo_init
	.globl	tulip_21041_media_probe
	.type	tulip_21041_media_probe, @function
tulip_21041_media_probe:
.LFB67:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 8
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 1072[rax], 10000000
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2092[rax]
	or	eax, 442400
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 2092[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2088[rax]
	or	eax, 4112
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 2088[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	tulip_21041_mediainfo_init
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE67:
	.size	tulip_21041_media_probe, .-tulip_21041_media_probe
	.globl	tulip_21041_media_poll
	.type	tulip_21041_media_poll, @function
tulip_21041_media_poll:
.LFB68:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	cmp	DWORD PTR -28[rbp], 2
	jne	.L138
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2228[rax]
	test	eax, eax
	jne	.L160
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 128[rax]
	movzx	eax, al
	test	rax, rax
	jne	.L160
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 2208[rax], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	tulip_reset
	jmp	.L137
.L138:
	cmp	DWORD PTR -28[rbp], 4
	jne	.L142
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 1408
	mov	rdi, rax
	call	ifq_set_oactive
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2092[rax]
	and	eax, -515
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 2092[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 2092[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 2000[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 2228[rax], 4
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 2232[rax], 1
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 2224[rax], 2500
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	tulip_media_set
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	tulip_timeout
	jmp	.L137
.L142:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2228[rax]
	test	eax, eax
	je	.L161
	cmp	DWORD PTR -28[rbp], 5
	jne	.L144
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 2232[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	tulip_linkup
	jmp	.L137
.L144:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rcx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 2048[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	mov	DWORD PTR -4[rbp], eax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 2048[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, DWORD PTR -4[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	eax, DWORD PTR -4[rbp]
	and	eax, 4
	test	rax, rax
	jne	.L145
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 2216[rax]
	cmp	al, 31
	jbe	.L146
	mov	eax, DWORD PTR -4[rbp]
	and	eax, 4194304
	test	eax, eax
	je	.L146
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 2232[rax], 2
.L146:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 2232[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	tulip_linkup
	jmp	.L137
.L145:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2232[rax]
	cmp	eax, 1
	jne	.L147
	cmp	DWORD PTR -28[rbp], 0
	jne	.L162
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2224[rax]
	test	eax, eax
	jle	.L149
	mov	eax, DWORD PTR -4[rbp]
	and	eax, 512
	test	rax, rax
	jne	.L149
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	tulip_timeout
	jmp	.L137
.L149:
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 2224[rax], 300
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2080[rax]
	or	al, -128
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 2080[rax], edx
	mov	eax, DWORD PTR -4[rbp]
	and	eax, 512
	test	rax, rax
	je	.L150
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 2232[rax], 3
	jmp	.L151
.L150:
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 2232[rax], 4
.L151:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 2232[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	tulip_media_set
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	tulip_timeout
	jmp	.L137
.L147:
	cmp	DWORD PTR -28[rbp], 6
	jne	.L152
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, -33
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 2080[rax], edx
.L152:
	cmp	DWORD PTR -28[rbp], 0
	jne	.L153
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, 256
	test	eax, eax
	je	.L154
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 2232[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	tulip_linkup
	jmp	.L137
.L154:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, 32
	test	eax, eax
	jne	.L155
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, 128
	test	eax, eax
	je	.L156
	mov	eax, DWORD PTR -4[rbp]
	and	eax, 256
	test	rax, rax
	je	.L155
.L156:
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 2224[rax], 300
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	tulip_txprobe
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	tulip_timeout
	jmp	.L137
.L155:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2224[rax]
	test	eax, eax
	jg	.L153
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, 128
	test	eax, eax
	je	.L157
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	al, 127
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 2080[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 2224[rax], 300
	jmp	.L153
.L157:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, WORD PTR 1046[rax]
	cwde
	and	eax, 1
	test	eax, eax
	jne	.L153
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, WORD PTR 1046[rax]
	and	eax, -65
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	WORD PTR 1046[rax], dx
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 2228[rax], 0
	jmp	.L137
.L153:
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 2224[rax], 300
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2232[rax]
	cmp	eax, 4
	jne	.L158
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 2232[rax], 3
	jmp	.L159
.L158:
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 2232[rax], 4
.L159:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 2232[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	tulip_media_set
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, -33
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 2080[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	tulip_timeout
	jmp	.L137
.L160:
	nop
	jmp	.L137
.L161:
	nop
	jmp	.L137
.L162:
	nop
.L137:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE68:
	.size	tulip_21041_media_poll, .-tulip_21041_media_poll
	.section	.data.rel.ro.local
	.align 32
	.type	tulip_21041_boardsw, @object
	.size	tulip_21041_boardsw, 40
tulip_21041_boardsw:
	.long	12
	.zero	4
	.quad	tulip_21041_media_probe
	.quad	tulip_media_select
	.quad	tulip_21041_media_poll
	.zero	8
	.section	.rodata
	.align 32
	.type	tulip_mii_phy_attrlist, @object
	.size	tulip_mii_phy_attrlist, 192
tulip_mii_phy_attrlist:
	.long	536894464
	.value	0
	.value	25
	.value	64
	.value	64
	.value	25
	.value	64
	.value	0
	.zero	12
	.zero	2
	.long	42071040
	.value	0
	.value	18
	.value	16
	.value	0
	.value	0
	.zero	4
	.value	18
	.value	16
	.value	16
	.value	18
	.value	8
	.value	8
	.zero	2
	.long	42071040
	.value	3
	.value	18
	.value	128
	.value	0
	.value	18
	.value	128
	.value	128
	.value	0
	.zero	4
	.value	18
	.value	64
	.value	64
	.zero	2
	.long	42071040
	.value	0
	.value	17
	.value	-32768
	.value	0
	.value	17
	.value	-32768
	.value	-32768
	.value	0
	.zero	4
	.value	17
	.value	16384
	.value	16384
	.zero	2
	.long	2014314496
	.value	0
	.value	20
	.value	2048
	.value	0
	.value	20
	.value	2048
	.value	2048
	.value	0
	.zero	4
	.value	20
	.value	4096
	.value	4096
	.zero	2
	.long	0
	.zero	28
	.text
	.globl	tulip_mii_phy_readspecific
	.type	tulip_mii_phy_readspecific, @function
tulip_mii_phy_readspecific:
.LFB69:
	.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, 88
	.cfi_offset 3, -24
	mov	QWORD PTR -88[rbp], rdi
	mov	DWORD PTR -64[rbp], 0
	mov	rax, QWORD PTR -88[rbp]
	movzx	eax, BYTE PTR 2217[rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -88[rbp]
	mov	edx, 1
	mov	esi, ecx
	mov	rdi, rax
	call	tulip_mii_readreg
	mov	ebx, eax
	mov	rax, QWORD PTR -88[rbp]
	movzx	eax, BYTE PTR 2217[rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -88[rbp]
	mov	edx, 1
	mov	esi, ecx
	mov	rdi, rax
	call	tulip_mii_readreg
	or	eax, ebx
	mov	WORD PTR -66[rbp], ax
	movzx	eax, WORD PTR -66[rbp]
	and	eax, 5
	cmp	eax, 5
	je	.L164
	mov	eax, 0
	jmp	.L165
.L164:
	mov	rax, QWORD PTR -88[rbp]
	movzx	eax, BYTE PTR 2217[rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -88[rbp]
	mov	edx, 2
	mov	esi, ecx
	mov	rdi, rax
	call	tulip_mii_readreg
	sal	eax, 16
	mov	ebx, eax
	mov	rax, QWORD PTR -88[rbp]
	movzx	eax, BYTE PTR 2217[rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -88[rbp]
	mov	edx, 3
	mov	esi, ecx
	mov	rdi, rax
	call	tulip_mii_readreg
	or	eax, ebx
	mov	DWORD PTR -60[rbp], eax
	lea	rax, tulip_mii_phy_attrlist[rip]
	mov	QWORD PTR -56[rbp], rax
.L169:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jne	.L166
	mov	eax, 0
	jmp	.L165
.L166:
	mov	eax, DWORD PTR -60[rbp]
	and	eax, -16
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	edx, eax
	je	.L177
	add	QWORD PTR -56[rbp], 32
	jmp	.L169
.L177:
	nop
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, WORD PTR 12[rax]
	test	ax, ax
	je	.L170
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 12
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, WORD PTR [rax]
	movzx	edx, ax
	mov	rax, QWORD PTR -88[rbp]
	movzx	eax, BYTE PTR 2217[rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -88[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	tulip_mii_readreg
	mov	WORD PTR -66[rbp], ax
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, WORD PTR 2[rax]
	and	ax, WORD PTR -66[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, WORD PTR 4[rax]
	cmp	dx, ax
	jne	.L170
	mov	DWORD PTR -64[rbp], 2
.L170:
	cmp	DWORD PTR -64[rbp], 0
	jne	.L171
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, WORD PTR 18[rax]
	test	ax, ax
	je	.L171
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 18
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, WORD PTR [rax]
	movzx	edx, ax
	mov	rax, QWORD PTR -88[rbp]
	movzx	eax, BYTE PTR 2217[rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -88[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	tulip_mii_readreg
	mov	WORD PTR -66[rbp], ax
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, WORD PTR 2[rax]
	and	ax, WORD PTR -66[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, WORD PTR 4[rax]
	cmp	dx, ax
	jne	.L171
	mov	DWORD PTR -64[rbp], 3
.L171:
	cmp	DWORD PTR -64[rbp], 0
	jne	.L172
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, WORD PTR 6[rax]
	test	ax, ax
	je	.L172
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 6
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, WORD PTR [rax]
	movzx	edx, ax
	mov	rax, QWORD PTR -88[rbp]
	movzx	eax, BYTE PTR 2217[rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -88[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	tulip_mii_readreg
	mov	WORD PTR -66[rbp], ax
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, WORD PTR 2[rax]
	and	ax, WORD PTR -66[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, WORD PTR 4[rax]
	cmp	dx, ax
	jne	.L172
	mov	DWORD PTR -64[rbp], 1
.L172:
	cmp	DWORD PTR -64[rbp], 0
	je	.L173
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, WORD PTR 24[rax]
	test	ax, ax
	je	.L173
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 24
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, WORD PTR [rax]
	movzx	edx, ax
	mov	rax, QWORD PTR -88[rbp]
	movzx	eax, BYTE PTR 2217[rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -88[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	tulip_mii_readreg
	mov	WORD PTR -66[rbp], ax
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, WORD PTR 2[rax]
	and	ax, WORD PTR -66[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, WORD PTR 4[rax]
	cmp	dx, ax
	jne	.L174
	mov	eax, 4
	jmp	.L175
.L174:
	mov	eax, 0
.L175:
	add	DWORD PTR -64[rbp], eax
.L173:
	mov	eax, DWORD PTR -64[rbp]
	lea	rdx, 0[0+rax*4]
	lea	rax, table.1[rip]
	mov	eax, DWORD PTR [rdx+rax]
.L165:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE69:
	.size	tulip_mii_phy_readspecific, .-tulip_mii_phy_readspecific
	.globl	tulip_mii_get_phyaddr
	.type	tulip_mii_get_phyaddr, @function
tulip_mii_get_phyaddr:
.LFB70:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	DWORD PTR -12[rbp], 1
	jmp	.L179
.L185:
	mov	ecx, DWORD PTR -12[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, 1
	mov	esi, ecx
	mov	rdi, rax
	call	tulip_mii_readreg
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	je	.L189
	cmp	DWORD PTR -4[rbp], 65535
	je	.L189
	cmp	DWORD PTR -4[rbp], 2047
	jbe	.L189
	cmp	DWORD PTR -28[rbp], 0
	jne	.L183
	mov	eax, DWORD PTR -12[rbp]
	jmp	.L184
.L183:
	sub	DWORD PTR -28[rbp], 1
	jmp	.L182
.L189:
	nop
.L182:
	add	DWORD PTR -12[rbp], 1
.L179:
	cmp	DWORD PTR -12[rbp], 31
	jbe	.L185
	cmp	DWORD PTR -28[rbp], 0
	jne	.L186
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, 1
	mov	esi, 0
	mov	rdi, rax
	call	tulip_mii_readreg
	mov	DWORD PTR -8[rbp], eax
	cmp	DWORD PTR -8[rbp], 0
	je	.L187
	cmp	DWORD PTR -8[rbp], 65535
	je	.L187
	cmp	DWORD PTR -8[rbp], 2047
	ja	.L188
.L187:
	mov	eax, 32
	jmp	.L184
.L188:
	mov	eax, 0
	jmp	.L184
.L186:
	mov	eax, 32
.L184:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE70:
	.size	tulip_mii_get_phyaddr, .-tulip_mii_get_phyaddr
	.globl	tulip_mii_map_abilities
	.type	tulip_mii_map_abilities, @function
tulip_mii_map_abilities:
.LFB71:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -12[rbp]
	mov	DWORD PTR 2212[rax], edx
	mov	eax, DWORD PTR -12[rbp]
	and	eax, 16384
	test	eax, eax
	je	.L191
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 2232[rax], 8
	jmp	.L192
.L191:
	mov	eax, DWORD PTR -12[rbp]
	and	eax, 32768
	test	eax, eax
	je	.L193
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 2232[rax], 9
	jmp	.L192
.L193:
	mov	eax, DWORD PTR -12[rbp]
	and	eax, 8192
	test	eax, eax
	je	.L194
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 2232[rax], 7
	jmp	.L192
.L194:
	mov	eax, DWORD PTR -12[rbp]
	and	eax, 4096
	test	eax, eax
	je	.L195
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 2232[rax], 2
	jmp	.L192
.L195:
	mov	eax, DWORD PTR -12[rbp]
	and	eax, 2048
	test	eax, eax
	je	.L196
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 2232[rax], 1
	jmp	.L192
.L196:
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 2228[rax], 4
	mov	eax, 0
	jmp	.L197
.L192:
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 2228[rax], 0
	mov	eax, 1
.L197:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE71:
	.size	tulip_mii_map_abilities, .-tulip_mii_map_abilities
	.globl	tulip_mii_autonegotiate
	.type	tulip_mii_autonegotiate, @function
tulip_mii_autonegotiate:
.LFB72:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 40
	.cfi_offset 3, -24
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 2228[rax]
	cmp	eax, 4
	je	.L199
	cmp	eax, 4
	ja	.L200
	cmp	eax, 2
	je	.L201
	cmp	eax, 2
	ja	.L200
	test	eax, eax
	je	.L199
	cmp	eax, 1
	je	.L202
	jmp	.L200
.L199:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 2080[rax]
	or	eax, 33554432
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 2080[rax], edx
	mov	esi, DWORD PTR -44[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	ecx, 32768
	mov	edx, 0
	mov	rdi, rax
	call	tulip_mii_writereg
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 2224[rax], 3000
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 2088[rax]
	or	eax, 98304
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 2088[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 2228[rax], 1
.L202:
	mov	ecx, DWORD PTR -44[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, 0
	mov	esi, ecx
	mov	rdi, rax
	call	tulip_mii_readreg
	mov	DWORD PTR -32[rbp], eax
	mov	eax, DWORD PTR -32[rbp]
	and	eax, 32768
	test	eax, eax
	je	.L203
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 2224[rax]
	test	eax, eax
	jle	.L204
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	tulip_timeout
	jmp	.L198
.L204:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, -33
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 2080[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 2228[rax], 5
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, WORD PTR 1046[rax]
	and	eax, -66
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	WORD PTR 1046[rax], dx
	jmp	.L198
.L203:
	mov	ecx, DWORD PTR -44[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, 1
	mov	esi, ecx
	mov	rdi, rax
	call	tulip_mii_readreg
	mov	ebx, eax
	mov	ecx, DWORD PTR -44[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, 1
	mov	esi, ecx
	mov	rdi, rax
	call	tulip_mii_readreg
	or	eax, ebx
	mov	DWORD PTR -28[rbp], eax
	mov	eax, DWORD PTR -28[rbp]
	and	eax, 8
	test	eax, eax
	jne	.L206
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, -33554433
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 2080[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 2228[rax], 4
	jmp	.L198
.L206:
	mov	ecx, DWORD PTR -44[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, 4
	mov	esi, ecx
	mov	rdi, rax
	call	tulip_mii_readreg
	mov	edx, DWORD PTR -28[rbp]
	shr	edx, 6
	or	edx, 1
	cmp	eax, edx
	je	.L207
	mov	eax, DWORD PTR -28[rbp]
	shr	eax, 6
	or	eax, 1
	mov	edx, eax
	mov	esi, DWORD PTR -44[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	ecx, edx
	mov	edx, 4
	mov	rdi, rax
	call	tulip_mii_writereg
.L207:
	mov	eax, DWORD PTR -32[rbp]
	or	ah, 18
	mov	edx, eax
	mov	esi, DWORD PTR -44[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	tulip_mii_writereg
	mov	ecx, DWORD PTR -44[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, 0
	mov	esi, ecx
	mov	rdi, rax
	call	tulip_mii_readreg
	mov	DWORD PTR -32[rbp], eax
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 2228[rax], 2
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 2224[rax], 3000
.L201:
	mov	ecx, DWORD PTR -44[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, 1
	mov	esi, ecx
	mov	rdi, rax
	call	tulip_mii_readreg
	mov	ebx, eax
	mov	ecx, DWORD PTR -44[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, 1
	mov	esi, ecx
	mov	rdi, rax
	call	tulip_mii_readreg
	or	eax, ebx
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -24[rbp]
	and	eax, 32
	test	eax, eax
	jne	.L208
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 2224[rax]
	test	eax, eax
	jle	.L209
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	tulip_timeout
	jmp	.L198
.L209:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, -33554433
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 2080[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 2228[rax], 4
	jmp	.L198
.L208:
	mov	ecx, DWORD PTR -44[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, 5
	mov	esi, ecx
	mov	rdi, rax
	call	tulip_mii_readreg
	mov	ebx, eax
	mov	ecx, DWORD PTR -44[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, 5
	mov	esi, ecx
	mov	rdi, rax
	call	tulip_mii_readreg
	or	eax, ebx
	mov	DWORD PTR -20[rbp], eax
	mov	eax, DWORD PTR -20[rbp]
	sal	eax, 6
	and	eax, DWORD PTR -24[rbp]
	mov	DWORD PTR -20[rbp], eax
	mov	edx, DWORD PTR -20[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	tulip_mii_map_abilities
	test	eax, eax
	jne	.L211
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, -33554433
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 2080[rax], edx
	jmp	.L211
.L200:
	mov	esi, 1347
	lea	rdi, .LC8[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L198
.L211:
	nop
.L198:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE72:
	.size	tulip_mii_autonegotiate, .-tulip_mii_autonegotiate
	.globl	tulip_2114x_media_preset
	.type	tulip_2114x_media_preset, @function
tulip_2114x_media_preset:
.LFB73:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -8[rbp], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2208[rax]
	mov	DWORD PTR -12[rbp], eax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2228[rax]
	test	eax, eax
	jne	.L213
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2208[rax]
	mov	DWORD PTR -12[rbp], eax
	jmp	.L214
.L213:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2232[rax]
	mov	DWORD PTR -12[rbp], eax
.L214:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2092[rax]
	and	eax, -4981249
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 2092[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	ah, -25
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 2080[rax], edx
	cmp	DWORD PTR -12[rbp], 0
	je	.L215
	cmp	DWORD PTR -12[rbp], 12
	je	.L215
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -12[rbp]
	add	rdx, 264
	mov	rax, QWORD PTR [rax+rdx*8]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 3
	jne	.L216
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2092[rax]
	or	eax, 262144
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 2092[rax], edx
	jmp	.L215
.L216:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 2
	je	.L217
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 5
	jne	.L218
.L217:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2092[rax]
	and	eax, -29622273
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 2092[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 2092[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 4[rax]
	or	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 2092[rax], edx
	jmp	.L215
.L218:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 1
	jne	.L215
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 2056[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
.L215:
	cmp	DWORD PTR -12[rbp], 11
	ja	.L230
	mov	eax, DWORD PTR -12[rbp]
	lea	rdx, 0[0+rax*4]
	lea	rax, .L221[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L221[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L221:
	.long	.L230-.L221
	.long	.L223-.L221
	.long	.L224-.L221
	.long	.L223-.L221
	.long	.L223-.L221
	.long	.L230-.L221
	.long	.L230-.L221
	.long	.L222-.L221
	.long	.L220-.L221
	.long	.L222-.L221
	.long	.L222-.L221
	.long	.L220-.L221
	.text
.L223:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2092[rax]
	or	eax, 4194304
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 2092[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 1072[rax], 10000000
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2080[rax]
	or	ah, 8
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 2080[rax], edx
	jmp	.L225
.L224:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2080[rax]
	or	ah, 16
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 2080[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2092[rax]
	or	eax, 4194816
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 2092[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 1072[rax], 10000000
	jmp	.L225
.L222:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2092[rax]
	or	eax, 262144
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 2092[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 1072[rax], 100000000
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 5
	je	.L226
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 3
	jne	.L231
.L226:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2092[rax]
	or	eax, 524288
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 2092[rax], edx
	jmp	.L231
.L220:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2080[rax]
	or	ah, 16
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 2080[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2092[rax]
	or	eax, 262656
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 2092[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 1072[rax], 100000000
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 5
	je	.L228
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 3
	jne	.L232
.L228:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2092[rax]
	or	eax, 524288
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 2092[rax], edx
	jmp	.L232
.L230:
	nop
	jmp	.L225
.L231:
	nop
	jmp	.L225
.L232:
	nop
.L225:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 2092[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 2000[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE73:
	.size	tulip_2114x_media_preset, .-tulip_2114x_media_preset
	.section	.rodata
	.align 8
.LC9:
	.string	"%s%d: botch(media_poll) at line %d\n"
	.text
	.globl	tulip_null_media_poll
	.type	tulip_null_media_poll, @function
tulip_null_media_poll:
.LFB74:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR 8[rax]
	mov	ecx, 1450
	mov	rsi, rax
	lea	rdi, .LC9[rip]
	mov	eax, 0
	call	printf@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE74:
	.size	tulip_null_media_poll, .-tulip_null_media_poll
	.globl	tulip_21140_mediainit
	.type	tulip_21140_mediainit, @function
tulip_21140_mediainit:
.LFB75:
	.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	QWORD PTR -16[rbp], rsi
	mov	DWORD PTR -20[rbp], edx
	mov	DWORD PTR -24[rbp], ecx
	mov	DWORD PTR -28[rbp], r8d
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -20[rbp]
	lea	rcx, 264[rdx]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax+rcx*8], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR [rax], 2
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, DWORD PTR -28[rbp]
	mov	DWORD PTR 4[rax], edx
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, DWORD PTR -24[rbp]
	mov	DWORD PTR 12[rax], edx
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE75:
	.size	tulip_21140_mediainit, .-tulip_21140_mediainit
	.globl	tulip_21140_evalboard_media_probe
	.type	tulip_21140_evalboard_media_probe, @function
tulip_21140_evalboard_media_probe:
.LFB76:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 40
	.cfi_offset 3, -24
	mov	QWORD PTR -40[rbp], rdi
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 2464
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	BYTE PTR 2218[rax], 31
	mov	rax, QWORD PTR -40[rbp]
	mov	BYTE PTR 2219[rax], 11
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR 2048[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, 31
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR 2048[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, 11
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rbx, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rcx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 2000[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	or	eax, 58982400
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR 2000[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rcx
	mov	rdi, rax
	call	rbx
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rbx, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rcx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 2000[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	and	eax, -4194305
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR 2000[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rcx
	mov	rdi, rax
	call	rbx
	mov	rax, QWORD PTR delay_func[rip]
	mov	edi, 1000000
	call	rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rcx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 2048[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	and	eax, 64
	test	eax, eax
	je	.L236
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 2208[rax], 1
	jmp	.L237
.L236:
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 2208[rax], 7
.L237:
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 28[rax]
	mov	QWORD PTR -24[rbp], rdx
	mov	rdi, QWORD PTR -40[rbp]
	mov	r8d, 4194304
	mov	ecx, 11
	mov	edx, 1
	mov	rsi, rax
	call	tulip_21140_mediainit
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 28[rax]
	mov	QWORD PTR -24[rbp], rdx
	mov	rdi, QWORD PTR -40[rbp]
	mov	r8d, 4194816
	mov	ecx, 11
	mov	edx, 2
	mov	rsi, rax
	call	tulip_21140_mediainit
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 28[rax]
	mov	QWORD PTR -24[rbp], rdx
	mov	rdi, QWORD PTR -40[rbp]
	mov	r8d, 25427968
	mov	ecx, 11
	mov	edx, 7
	mov	rsi, rax
	call	tulip_21140_mediainit
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 28[rax]
	mov	QWORD PTR -24[rbp], rdx
	mov	rdi, QWORD PTR -40[rbp]
	mov	r8d, 25428480
	mov	ecx, 11
	mov	edx, 8
	mov	rsi, rax
	call	tulip_21140_mediainit
	nop
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE76:
	.size	tulip_21140_evalboard_media_probe, .-tulip_21140_evalboard_media_probe
	.section	.data.rel.ro.local
	.align 32
	.type	tulip_21140_eb_boardsw, @object
	.size	tulip_21140_eb_boardsw, 40
tulip_21140_eb_boardsw:
	.long	4
	.zero	4
	.quad	tulip_21140_evalboard_media_probe
	.quad	tulip_media_select
	.quad	tulip_null_media_poll
	.quad	tulip_2114x_media_preset
	.text
	.globl	tulip_21140_accton_media_probe
	.type	tulip_21140_accton_media_probe, @function
tulip_21140_accton_media_probe:
.LFB77:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 40
	.cfi_offset 3, -24
	mov	QWORD PTR -40[rbp], rdi
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 2464
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	BYTE PTR 2218[rax], 31
	mov	rax, QWORD PTR -40[rbp]
	mov	BYTE PTR 2219[rax], 11
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR 2048[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, 31
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR 2048[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, 11
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rbx, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rcx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 2000[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	or	eax, 58982400
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR 2000[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rcx
	mov	rdi, rax
	call	rbx
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rbx, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rcx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 2000[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	and	eax, -4194305
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR 2000[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rcx
	mov	rdi, rax
	call	rbx
	mov	rax, QWORD PTR delay_func[rip]
	mov	edi, 1000000
	call	rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rcx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 2048[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	mov	DWORD PTR -28[rbp], eax
	mov	eax, DWORD PTR -28[rbp]
	and	eax, -1644167157
	test	eax, eax
	jne	.L239
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 2208[rax], 1
	jmp	.L240
.L239:
	mov	eax, DWORD PTR -28[rbp]
	and	eax, 283
	test	eax, eax
	jne	.L241
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 2208[rax], 3
	jmp	.L240
.L241:
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 2208[rax], 7
.L240:
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 28[rax]
	mov	QWORD PTR -24[rbp], rdx
	mov	rdi, QWORD PTR -40[rbp]
	mov	r8d, 4194304
	mov	ecx, 283
	mov	edx, 3
	mov	rsi, rax
	call	tulip_21140_mediainit
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 28[rax]
	mov	QWORD PTR -24[rbp], rdx
	mov	rdi, QWORD PTR -40[rbp]
	mov	r8d, 4194304
	mov	ecx, -1644167157
	mov	edx, 1
	mov	rsi, rax
	call	tulip_21140_mediainit
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 28[rax]
	mov	QWORD PTR -24[rbp], rdx
	mov	rdi, QWORD PTR -40[rbp]
	mov	r8d, 4194816
	mov	ecx, -1644167157
	mov	edx, 2
	mov	rsi, rax
	call	tulip_21140_mediainit
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 28[rax]
	mov	QWORD PTR -24[rbp], rdx
	mov	rdi, QWORD PTR -40[rbp]
	mov	r8d, 25427968
	mov	ecx, 1828717339
	mov	edx, 7
	mov	rsi, rax
	call	tulip_21140_mediainit
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 28[rax]
	mov	QWORD PTR -24[rbp], rdx
	mov	rdi, QWORD PTR -40[rbp]
	mov	r8d, 25428480
	mov	ecx, 1828717339
	mov	edx, 8
	mov	rsi, rax
	call	tulip_21140_mediainit
	nop
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE77:
	.size	tulip_21140_accton_media_probe, .-tulip_21140_accton_media_probe
	.section	.data.rel.ro.local
	.align 32
	.type	tulip_21140_accton_boardsw, @object
	.size	tulip_21140_accton_boardsw, 40
tulip_21140_accton_boardsw:
	.long	11
	.zero	4
	.quad	tulip_21140_accton_media_probe
	.quad	tulip_media_select
	.quad	tulip_null_media_poll
	.quad	tulip_2114x_media_preset
	.text
	.globl	tulip_21140_smc9332_media_probe
	.type	tulip_21140_smc9332_media_probe, @function
tulip_21140_smc9332_media_probe:
.LFB78:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 2464
	mov	QWORD PTR -8[rbp], rax
	mov	DWORD PTR -16[rbp], 0
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR 2000[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, 33816576
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR 1952[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, 1
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR delay_func[rip]
	mov	edi, 10
	call	rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR 2000[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, 58982400
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR -40[rbp]
	mov	BYTE PTR 2218[rax], 63
	mov	rax, QWORD PTR -40[rbp]
	mov	BYTE PTR 2219[rax], 9
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR 2048[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, 319
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR 2048[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, 9
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR delay_func[rip]
	mov	edi, 200000
	call	rax
	mov	DWORD PTR -20[rbp], 1000
	jmp	.L243
.L248:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rcx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 2048[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	and	eax, 192
	cmp	eax, 192
	jne	.L244
	add	DWORD PTR -16[rbp], 1
	cmp	DWORD PTR -16[rbp], 100
	jle	.L245
	jmp	.L246
.L244:
	mov	eax, DWORD PTR -12[rbp]
	and	eax, 128
	test	eax, eax
	je	.L251
	mov	DWORD PTR -16[rbp], 0
.L245:
	mov	rax, QWORD PTR delay_func[rip]
	mov	edi, 1000
	call	rax
	sub	DWORD PTR -20[rbp], 1
.L243:
	cmp	DWORD PTR -20[rbp], 0
	jg	.L248
	jmp	.L246
.L251:
	nop
.L246:
	cmp	DWORD PTR -16[rbp], 100
	jle	.L249
	mov	edx, 7
	jmp	.L250
.L249:
	mov	edx, 1
.L250:
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 2208[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 28[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	rdi, QWORD PTR -40[rbp]
	mov	r8d, 25427968
	mov	ecx, 9
	mov	edx, 7
	mov	rsi, rax
	call	tulip_21140_mediainit
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 28[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	rdi, QWORD PTR -40[rbp]
	mov	r8d, 25428480
	mov	ecx, 9
	mov	edx, 8
	mov	rsi, rax
	call	tulip_21140_mediainit
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 28[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	rdi, QWORD PTR -40[rbp]
	mov	r8d, 4194304
	mov	ecx, 9
	mov	edx, 1
	mov	rsi, rax
	call	tulip_21140_mediainit
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 28[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	rdi, QWORD PTR -40[rbp]
	mov	r8d, 4194816
	mov	ecx, 9
	mov	edx, 2
	mov	rsi, rax
	call	tulip_21140_mediainit
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE78:
	.size	tulip_21140_smc9332_media_probe, .-tulip_21140_smc9332_media_probe
	.section	.data.rel.ro.local
	.align 32
	.type	tulip_21140_smc9332_boardsw, @object
	.size	tulip_21140_smc9332_boardsw, 40
tulip_21140_smc9332_boardsw:
	.long	7
	.zero	4
	.quad	tulip_21140_smc9332_media_probe
	.quad	tulip_media_select
	.quad	tulip_null_media_poll
	.quad	tulip_2114x_media_preset
	.text
	.globl	tulip_21140_cogent_em100_media_probe
	.type	tulip_21140_cogent_em100_media_probe, @function
tulip_21140_cogent_em100_media_probe:
.LFB79:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 2464
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rcx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 2000[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	mov	DWORD PTR -12[rbp], eax
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR 2218[rax], 63
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR 2219[rax], 9
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 2048[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, 63
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 2048[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, 9
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	DWORD PTR -12[rbp], 42205184
	and	DWORD PTR -12[rbp], -20971521
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 2992[rax]
	cmp	al, 21
	jne	.L253
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 2000[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, DWORD PTR -12[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 2208[rax], 10
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 28[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	rdi, QWORD PTR -24[rbp]
	mov	r8d, 8650752
	mov	ecx, 9
	mov	edx, 10
	mov	rsi, rax
	call	tulip_21140_mediainit
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 28[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	rdi, QWORD PTR -24[rbp]
	mov	r8d, 8651264
	mov	ecx, 9
	mov	edx, 11
	mov	rsi, rax
	call	tulip_21140_mediainit
	jmp	.L255
.L253:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	eax, DWORD PTR -12[rbp]
	or	eax, 16777216
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 2000[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 2208[rax], 7
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 28[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	rdi, QWORD PTR -24[rbp]
	mov	r8d, 25427968
	mov	ecx, 9
	mov	edx, 7
	mov	rsi, rax
	call	tulip_21140_mediainit
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 28[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	rdi, QWORD PTR -24[rbp]
	mov	r8d, 25428480
	mov	ecx, 9
	mov	edx, 8
	mov	rsi, rax
	call	tulip_21140_mediainit
.L255:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE79:
	.size	tulip_21140_cogent_em100_media_probe, .-tulip_21140_cogent_em100_media_probe
	.section	.data.rel.ro.local
	.align 32
	.type	tulip_21140_cogent_em100_boardsw, @object
	.size	tulip_21140_cogent_em100_boardsw, 40
tulip_21140_cogent_em100_boardsw:
	.long	8
	.zero	4
	.quad	tulip_21140_cogent_em100_media_probe
	.quad	tulip_media_select
	.quad	tulip_null_media_poll
	.quad	tulip_2114x_media_preset
	.text
	.globl	tulip_21140_znyx_zx34x_media_probe
	.type	tulip_21140_znyx_zx34x_media_probe, @function
tulip_21140_znyx_zx34x_media_probe:
.LFB80:
	.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	rax, QWORD PTR -56[rbp]
	add	rax, 2464
	mov	QWORD PTR -24[rbp], rax
	mov	DWORD PTR -40[rbp], 0
	mov	DWORD PTR -36[rbp], 0
	mov	rax, QWORD PTR -56[rbp]
	mov	BYTE PTR 2218[rax], 31
	mov	rax, QWORD PTR -56[rbp]
	mov	BYTE PTR 2219[rax], 9
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR 2048[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, 31
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR 2048[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, 9
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rbx, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rcx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 2000[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	or	eax, 58982400
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR 2000[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rcx
	mov	rdi, rax
	call	rbx
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rbx, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rcx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 2000[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	and	eax, -4194305
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR 2000[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rcx
	mov	rdi, rax
	call	rbx
	mov	rax, QWORD PTR delay_func[rip]
	mov	edi, 200000
	call	rax
	mov	DWORD PTR -32[rbp], 1000
	jmp	.L257
.L262:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rcx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 2048[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	mov	DWORD PTR -28[rbp], eax
	mov	eax, DWORD PTR -28[rbp]
	and	eax, 224
	cmp	eax, 224
	jne	.L258
	add	DWORD PTR -36[rbp], 1
	cmp	DWORD PTR -36[rbp], 100
	jle	.L259
	jmp	.L260
.L258:
	mov	eax, DWORD PTR -28[rbp]
	and	eax, 128
	test	eax, eax
	jne	.L261
	add	DWORD PTR -40[rbp], 1
	cmp	DWORD PTR -40[rbp], 100
	jle	.L259
	jmp	.L260
.L261:
	mov	DWORD PTR -40[rbp], 0
	mov	DWORD PTR -36[rbp], 0
.L259:
	mov	rax, QWORD PTR delay_func[rip]
	mov	edi, 1000
	call	rax
	sub	DWORD PTR -32[rbp], 1
.L257:
	cmp	DWORD PTR -32[rbp], 0
	jg	.L262
.L260:
	cmp	DWORD PTR -36[rbp], 100
	jle	.L263
	mov	edx, 7
	jmp	.L264
.L263:
	mov	edx, 1
.L264:
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 2208[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 28[rax]
	mov	QWORD PTR -24[rbp], rdx
	mov	rdi, QWORD PTR -56[rbp]
	mov	r8d, 4194304
	mov	ecx, 9
	mov	edx, 1
	mov	rsi, rax
	call	tulip_21140_mediainit
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 28[rax]
	mov	QWORD PTR -24[rbp], rdx
	mov	rdi, QWORD PTR -56[rbp]
	mov	r8d, 4194816
	mov	ecx, 9
	mov	edx, 2
	mov	rsi, rax
	call	tulip_21140_mediainit
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 28[rax]
	mov	QWORD PTR -24[rbp], rdx
	mov	rdi, QWORD PTR -56[rbp]
	mov	r8d, 25427968
	mov	ecx, 9
	mov	edx, 7
	mov	rsi, rax
	call	tulip_21140_mediainit
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 28[rax]
	mov	QWORD PTR -24[rbp], rdx
	mov	rdi, QWORD PTR -56[rbp]
	mov	r8d, 25428480
	mov	ecx, 9
	mov	edx, 8
	mov	rsi, rax
	call	tulip_21140_mediainit
	nop
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE80:
	.size	tulip_21140_znyx_zx34x_media_probe, .-tulip_21140_znyx_zx34x_media_probe
	.section	.data.rel.ro.local
	.align 32
	.type	tulip_21140_znyx_zx34x_boardsw, @object
	.size	tulip_21140_znyx_zx34x_boardsw, 40
tulip_21140_znyx_zx34x_boardsw:
	.long	9
	.zero	4
	.quad	tulip_21140_znyx_zx34x_media_probe
	.quad	tulip_media_select
	.quad	tulip_null_media_poll
	.quad	tulip_2114x_media_preset
	.text
	.globl	tulip_2114x_media_probe
	.type	tulip_2114x_media_probe, @function
tulip_2114x_media_probe:
.LFB81:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2092[rax]
	or	eax, 33554464
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 2092[rax], edx
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE81:
	.size	tulip_2114x_media_probe, .-tulip_2114x_media_probe
	.section	.data.rel.ro.local
	.align 32
	.type	tulip_2114x_isv_boardsw, @object
	.size	tulip_2114x_isv_boardsw, 40
tulip_2114x_isv_boardsw:
	.long	1
	.zero	4
	.quad	tulip_2114x_media_probe
	.quad	tulip_media_select
	.quad	tulip_media_poll
	.quad	tulip_2114x_media_preset
	.text
	.globl	tulip_delay_300ns
	.type	tulip_delay_300ns, @function
tulip_delay_300ns:
.LFB82:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -4[rbp], 10
	jmp	.L267
.L268:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rcx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 1952[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	sub	DWORD PTR -4[rbp], 1
.L267:
	cmp	DWORD PTR -4[rbp], 0
	jg	.L268
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE82:
	.size	tulip_delay_300ns, .-tulip_delay_300ns
	.globl	tulip_srom_idle
	.type	tulip_srom_idle, @function
tulip_srom_idle:
.LFB83:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -4[rbp], 2048
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 2024[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, DWORD PTR -4[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	tulip_delay_300ns
	mov	DWORD PTR -4[rbp], 18432
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 2024[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, DWORD PTR -4[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	tulip_delay_300ns
	xor	DWORD PTR -4[rbp], 1
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 2024[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, DWORD PTR -4[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	tulip_delay_300ns
	xor	DWORD PTR -4[rbp], 2
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 2024[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, DWORD PTR -4[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	tulip_delay_300ns
	mov	DWORD PTR -8[rbp], 25
	jmp	.L270
.L271:
	xor	DWORD PTR -4[rbp], 2
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 2024[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, DWORD PTR -4[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	tulip_delay_300ns
	xor	DWORD PTR -4[rbp], 2
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 2024[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, DWORD PTR -4[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	tulip_delay_300ns
	sub	DWORD PTR -8[rbp], 1
.L270:
	cmp	DWORD PTR -8[rbp], 0
	jne	.L271
	xor	DWORD PTR -4[rbp], 2
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 2024[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, DWORD PTR -4[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	tulip_delay_300ns
	xor	DWORD PTR -4[rbp], 1
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 2024[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, DWORD PTR -4[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	tulip_delay_300ns
	mov	DWORD PTR -4[rbp], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 2024[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, DWORD PTR -4[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	tulip_delay_300ns
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE83:
	.size	tulip_srom_idle, .-tulip_srom_idle
	.globl	tulip_srom_read
	.type	tulip_srom_read, @function
tulip_srom_read:
.LFB84:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -56[rbp], rdi
	mov	DWORD PTR -20[rbp], 6
	mov	eax, DWORD PTR -20[rbp]
	mov	edx, 6
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	mov	DWORD PTR -16[rbp], eax
	mov	eax, DWORD PTR -20[rbp]
	add	eax, 2
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR -20[rbp]
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	sub	eax, 1
	mov	DWORD PTR -8[rbp], eax
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	tulip_srom_idle
	mov	DWORD PTR -44[rbp], 0
	jmp	.L273
.L280:
	mov	DWORD PTR -24[rbp], 2048
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR 2024[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, DWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	tulip_delay_300ns
	mov	DWORD PTR -24[rbp], 18432
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR 2024[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, DWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	tulip_delay_300ns
	xor	DWORD PTR -24[rbp], 1
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR 2024[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, DWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	tulip_delay_300ns
	xor	DWORD PTR -24[rbp], 2
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR 2024[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, DWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	tulip_delay_300ns
	mov	DWORD PTR -40[rbp], 0
	mov	eax, DWORD PTR -44[rbp]
	or	eax, DWORD PTR -16[rbp]
	mov	DWORD PTR -32[rbp], eax
	mov	eax, DWORD PTR -20[rbp]
	add	eax, 3
	mov	DWORD PTR -28[rbp], eax
	jmp	.L274
.L277:
	mov	eax, DWORD PTR -32[rbp]
	and	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR -4[rbp], eax
	xor	DWORD PTR -24[rbp], 2
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR 2024[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, DWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	tulip_delay_300ns
	mov	eax, DWORD PTR -4[rbp]
	cmp	eax, DWORD PTR -40[rbp]
	je	.L275
	xor	DWORD PTR -24[rbp], 4
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR 2024[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, DWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	tulip_delay_300ns
	jmp	.L276
.L275:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR 2024[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, DWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	tulip_delay_300ns
.L276:
	xor	DWORD PTR -24[rbp], 2
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR 2024[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, DWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	tulip_delay_300ns
	mov	eax, DWORD PTR -4[rbp]
	mov	DWORD PTR -40[rbp], eax
	sub	DWORD PTR -28[rbp], 1
	sal	DWORD PTR -32[rbp]
.L274:
	cmp	DWORD PTR -28[rbp], 0
	jne	.L277
	xor	DWORD PTR -24[rbp], 2
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR 2024[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, DWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	tulip_delay_300ns
	mov	DWORD PTR -36[rbp], 0
	mov	DWORD PTR -32[rbp], 0
	jmp	.L278
.L279:
	sal	DWORD PTR -36[rbp]
	xor	DWORD PTR -24[rbp], 2
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR 2024[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, DWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	tulip_delay_300ns
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rcx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 2024[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	and	eax, 8
	test	eax, eax
	setne	al
	movzx	eax, al
	or	DWORD PTR -36[rbp], eax
	xor	DWORD PTR -24[rbp], 2
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR 2024[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, DWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	tulip_delay_300ns
	add	DWORD PTR -32[rbp], 1
.L278:
	cmp	DWORD PTR -32[rbp], 15
	jbe	.L279
	mov	eax, DWORD PTR -44[rbp]
	lea	edx, [rax+rax]
	mov	eax, DWORD PTR -36[rbp]
	mov	ecx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, edx
	mov	BYTE PTR 2960[rax+rdx], cl
	mov	eax, DWORD PTR -36[rbp]
	shr	eax, 8
	mov	ecx, eax
	mov	eax, DWORD PTR -44[rbp]
	add	eax, eax
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, edx
	mov	BYTE PTR 2960[rax+rdx], cl
	mov	DWORD PTR -24[rbp], 18432
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR 2024[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, DWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	tulip_delay_300ns
	mov	DWORD PTR -24[rbp], 0
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR 2024[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, DWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	tulip_delay_300ns
	add	DWORD PTR -44[rbp], 1
.L273:
	mov	eax, DWORD PTR -44[rbp]
	cmp	eax, DWORD PTR -8[rbp]
	jbe	.L280
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	tulip_srom_idle
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE84:
	.size	tulip_srom_read, .-tulip_srom_read
	.globl	tulip_mii_writebits
	.type	tulip_mii_writebits, @function
tulip_mii_writebits:
.LFB85:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	DWORD PTR -32[rbp], edx
	mov	eax, DWORD PTR -32[rbp]
	sub	eax, 1
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	mov	DWORD PTR -8[rbp], eax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rcx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 2024[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	and	eax, 458752
	mov	DWORD PTR -16[rbp], eax
	mov	eax, DWORD PTR -16[rbp]
	and	eax, 131072
	test	eax, eax
	je	.L282
	mov	eax, DWORD PTR -8[rbp]
	jmp	.L283
.L282:
	mov	eax, 0
.L283:
	mov	DWORD PTR -12[rbp], eax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 2024[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, DWORD PTR -16[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	tulip_delay_300ns
	jmp	.L284
.L286:
	mov	eax, DWORD PTR -28[rbp]
	and	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	cmp	eax, DWORD PTR -12[rbp]
	je	.L285
	xor	DWORD PTR -16[rbp], 131072
.L285:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 2024[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, DWORD PTR -16[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	tulip_delay_300ns
	xor	DWORD PTR -16[rbp], 65536
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 2024[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, DWORD PTR -16[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	tulip_delay_300ns
	mov	eax, DWORD PTR -4[rbp]
	mov	DWORD PTR -12[rbp], eax
	xor	DWORD PTR -16[rbp], 65536
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 2024[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, DWORD PTR -16[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	tulip_delay_300ns
	sub	DWORD PTR -32[rbp], 1
	sal	DWORD PTR -28[rbp]
.L284:
	cmp	DWORD PTR -32[rbp], 0
	jne	.L286
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE85:
	.size	tulip_mii_writebits, .-tulip_mii_writebits
	.globl	tulip_mii_turnaround
	.type	tulip_mii_turnaround, @function
tulip_mii_turnaround:
.LFB86:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rcx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 2024[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	and	eax, 458752
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -28[rbp], 245
	jne	.L288
	or	DWORD PTR -4[rbp], 131072
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 2024[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, DWORD PTR -4[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	tulip_delay_300ns
	xor	DWORD PTR -4[rbp], 65536
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 2024[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, DWORD PTR -4[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	tulip_delay_300ns
	xor	DWORD PTR -4[rbp], 65536
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 2024[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, DWORD PTR -4[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	tulip_delay_300ns
	xor	DWORD PTR -4[rbp], 131072
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 2024[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, DWORD PTR -4[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	tulip_delay_300ns
	jmp	.L289
.L288:
	or	DWORD PTR -4[rbp], 262144
.L289:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 2024[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, DWORD PTR -4[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	tulip_delay_300ns
	xor	DWORD PTR -4[rbp], 65536
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 2024[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, DWORD PTR -4[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	tulip_delay_300ns
	xor	DWORD PTR -4[rbp], 65536
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 2024[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, DWORD PTR -4[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	tulip_delay_300ns
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE86:
	.size	tulip_mii_turnaround, .-tulip_mii_turnaround
	.globl	tulip_mii_readbits
	.type	tulip_mii_readbits, @function
tulip_mii_readbits:
.LFB87:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rcx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 2024[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	and	eax, 458752
	mov	DWORD PTR -8[rbp], eax
	mov	DWORD PTR -4[rbp], 0
	mov	DWORD PTR -12[rbp], 0
	jmp	.L291
.L293:
	sal	DWORD PTR -12[rbp]
	xor	DWORD PTR -8[rbp], 65536
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 2024[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, DWORD PTR -8[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	tulip_delay_300ns
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rcx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 2024[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	and	eax, 524288
	test	eax, eax
	je	.L292
	or	DWORD PTR -12[rbp], 1
.L292:
	xor	DWORD PTR -8[rbp], 65536
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 2024[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, DWORD PTR -8[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	tulip_delay_300ns
	add	DWORD PTR -4[rbp], 1
.L291:
	cmp	DWORD PTR -4[rbp], 15
	jle	.L293
	xor	DWORD PTR -8[rbp], 262144
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 2024[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, DWORD PTR -8[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	tulip_delay_300ns
	mov	eax, DWORD PTR -12[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE87:
	.size	tulip_mii_readbits, .-tulip_mii_readbits
	.globl	tulip_mii_readreg
	.type	tulip_mii_readreg, @function
tulip_mii_readreg:
.LFB88:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	DWORD PTR -32[rbp], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rcx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 2024[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	and	eax, 458752
	mov	DWORD PTR -8[rbp], eax
	and	DWORD PTR -8[rbp], -327681
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 2024[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, DWORD PTR -8[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	tulip_delay_300ns
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, 32
	mov	esi, -1
	mov	rdi, rax
	call	tulip_mii_writebits
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, 8
	mov	esi, 246
	mov	rdi, rax
	call	tulip_mii_writebits
	mov	ecx, DWORD PTR -28[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, 5
	mov	esi, ecx
	mov	rdi, rax
	call	tulip_mii_writebits
	mov	ecx, DWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, 5
	mov	esi, ecx
	mov	rdi, rax
	call	tulip_mii_writebits
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, 246
	mov	rdi, rax
	call	tulip_mii_turnaround
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	tulip_mii_readbits
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE88:
	.size	tulip_mii_readreg, .-tulip_mii_readreg
	.globl	tulip_mii_writereg
	.type	tulip_mii_writereg, @function
tulip_mii_writereg:
.LFB89:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	DWORD PTR -32[rbp], edx
	mov	DWORD PTR -36[rbp], ecx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rcx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 2024[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	and	eax, 458752
	mov	DWORD PTR -4[rbp], eax
	and	DWORD PTR -4[rbp], -327681
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 2024[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, DWORD PTR -4[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	tulip_delay_300ns
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, 32
	mov	esi, -1
	mov	rdi, rax
	call	tulip_mii_writebits
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, 8
	mov	esi, 245
	mov	rdi, rax
	call	tulip_mii_writebits
	mov	ecx, DWORD PTR -28[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, 5
	mov	esi, ecx
	mov	rdi, rax
	call	tulip_mii_writebits
	mov	ecx, DWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, 5
	mov	esi, ecx
	mov	rdi, rax
	call	tulip_mii_writebits
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, 245
	mov	rdi, rax
	call	tulip_mii_turnaround
	mov	ecx, DWORD PTR -36[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, 16
	mov	esi, ecx
	mov	rdi, rax
	call	tulip_mii_writebits
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE89:
	.size	tulip_mii_writereg, .-tulip_mii_writereg
	.section	.rodata
.LC10:
	.string	"DEC "
.LC11:
	.string	"DE500"
.LC12:
	.string	"DE450"
	.text
	.globl	tulip_identify_dec_nic
	.type	tulip_identify_dec_nic, @function
tulip_identify_dec_nic:
.LFB90:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 2944
	mov	edx, 16
	lea	rsi, .LC10[rip]
	mov	rdi, rax
	call	strlcpy@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2248[rax]
	cmp	eax, 1
	jbe	.L302
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 2960
	add	rax, 29
	mov	edx, 5
	lea	rsi, .LC11[rip]
	mov	rdi, rax
	call	memcmp@PLT
	test	eax, eax
	je	.L301
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 2960
	add	rax, 29
	mov	edx, 5
	lea	rsi, .LC12[rip]
	mov	rdi, rax
	call	memcmp@PLT
	test	eax, eax
	jne	.L298
.L301:
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 2948[rax]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 2960
	add	rax, 29
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	BYTE PTR 2956[rax], 32
	jmp	.L298
.L302:
	nop
.L298:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE90:
	.size	tulip_identify_dec_nic, .-tulip_identify_dec_nic
	.section	.rodata
.LC13:
	.string	"ZNYX ZX3XX "
	.text
	.globl	tulip_identify_znyx_nic
	.type	tulip_identify_znyx_nic, @function
tulip_identify_znyx_nic:
.LFB91:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -8[rbp], 0
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 2944
	mov	edx, 16
	lea	rsi, .LC13[rip]
	mov	rdi, rax
	call	strlcpy@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2248[rax]
	cmp	eax, 3
	je	.L304
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2248[rax]
	cmp	eax, 4
	jne	.L305
.L304:
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR 2952[rax], 52
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 3084[rax]
	movzx	edx, al
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 3085[rax]
	movzx	eax, al
	sal	eax, 8
	add	eax, edx
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 25
	jbe	.L306
	cmp	DWORD PTR -4[rbp], 116
	jbe	.L307
.L306:
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, tulip_21140_znyx_zx34x_boardsw[rip]
	mov	QWORD PTR 2256[rax], rdx
	jmp	.L303
.L307:
	mov	rdx, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR -4[rbp]
	movzx	eax, BYTE PTR 2960[rdx+rax]
	cmp	al, 74
	jne	.L309
	mov	eax, DWORD PTR -4[rbp]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, edx
	movzx	eax, BYTE PTR 2960[rax+rdx]
	cmp	al, 82
	jne	.L309
	mov	eax, DWORD PTR -4[rbp]
	lea	edx, 2[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, edx
	movzx	eax, BYTE PTR 2960[rax+rdx]
	cmp	al, 1
	jne	.L309
	mov	eax, DWORD PTR -4[rbp]
	lea	edx, 5[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, edx
	movzx	eax, BYTE PTR 2960[rax+rdx]
	movzx	edx, al
	mov	eax, DWORD PTR -4[rbp]
	lea	ecx, 4[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	ecx, ecx
	movzx	eax, BYTE PTR 2960[rax+rcx]
	movzx	eax, al
	sal	eax, 8
	add	eax, edx
	mov	DWORD PTR -8[rbp], eax
	mov	eax, DWORD PTR -8[rbp]
	shr	eax, 8
	cmp	eax, 9
	jne	.L310
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR 2953[rax], 50
	cmp	DWORD PTR -8[rbp], 2337
	jne	.L311
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR 2954[rax], 66
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR 2955[rax], 32
.L311:
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, tulip_21140_znyx_zx34x_boardsw[rip]
	mov	QWORD PTR 2256[rax], rdx
	jmp	.L309
.L310:
	cmp	DWORD PTR -8[rbp], 2561
	jne	.L312
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR 2954[rax], 52
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, tulip_21140_znyx_zx34x_boardsw[rip]
	mov	QWORD PTR 2256[rax], rdx
	jmp	.L309
.L312:
	cmp	DWORD PTR -8[rbp], 3073
	jne	.L313
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 2979[rax]
	cmp	al, 1
	jbe	.L314
	mov	edx, 56
	jmp	.L315
.L314:
	mov	edx, 53
.L315:
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR 2953[rax], dl
	jmp	.L309
.L313:
	cmp	DWORD PTR -8[rbp], 3585
	jne	.L316
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR 2953[rax], 54
	jmp	.L309
.L316:
	cmp	DWORD PTR -8[rbp], 2817
	jne	.L309
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR 2952[rax], 53
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR 2953[rax], 49
.L309:
	cmp	DWORD PTR -8[rbp], 0
	jne	.L327
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, tulip_21140_znyx_zx34x_boardsw[rip]
	mov	QWORD PTR 2256[rax], rdx
	jmp	.L327
.L305:
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR 2952[rax], 49
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2248[rax]
	cmp	eax, 2
	jne	.L318
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR 2954[rax], 49
	jmp	.L303
.L318:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 2992[rax]
	cmp	al, 74
	jne	.L319
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 2993[rax]
	cmp	al, 82
	jne	.L319
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 2997[rax]
	movzx	edx, al
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 2996[rax]
	movzx	eax, al
	sal	eax, 8
	add	eax, edx
	mov	DWORD PTR -8[rbp], eax
	cmp	DWORD PTR -8[rbp], 1570
	jne	.L320
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR 2953[rax], 50
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR 2954[rax], 84
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR 2955[rax], 32
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, tulip_21040_10baset_only_boardsw[rip]
	mov	QWORD PTR 2256[rax], rdx
	jmp	.L319
.L320:
	cmp	DWORD PTR -8[rbp], 1793
	jne	.L321
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR 2953[rax], 52
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, tulip_21040_10baset_only_boardsw[rip]
	mov	QWORD PTR 2256[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2084[rax]
	or	ah, 18
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 2084[rax], edx
	jmp	.L319
.L321:
	cmp	DWORD PTR -8[rbp], 1809
	jne	.L322
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR 2953[rax], 52
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, tulip_21040_10baset_only_boardsw[rip]
	mov	QWORD PTR 2256[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2084[rax]
	or	ah, 2
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 2084[rax], edx
	jmp	.L319
.L322:
	cmp	DWORD PTR -8[rbp], 2049
	jne	.L323
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR 2953[rax], 53
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2084[rax]
	or	ah, 18
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 2084[rax], edx
	jmp	.L319
.L323:
	cmp	DWORD PTR -8[rbp], 2065
	jne	.L324
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR 2953[rax], 53
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2084[rax]
	or	ah, 2
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 2084[rax], edx
	jmp	.L319
.L324:
	mov	DWORD PTR -8[rbp], 0
.L319:
	cmp	DWORD PTR -8[rbp], 0
	jne	.L303
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 1891[rax]
	movzx	eax, al
	and	eax, -4
	cmp	eax, 240
	jne	.L325
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 1893[rax]
	movzx	eax, al
	and	eax, 3
	test	eax, eax
	jne	.L325
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR 2953[rax], 52
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, tulip_21040_10baset_only_boardsw[rip]
	mov	QWORD PTR 2256[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2084[rax]
	or	ah, 18
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 2084[rax], edx
	jmp	.L303
.L325:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 1891[rax]
	movzx	eax, al
	and	eax, -4
	cmp	eax, 244
	jne	.L326
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 1893[rax]
	movzx	eax, al
	and	eax, 1
	test	eax, eax
	jne	.L326
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR 2953[rax], 53
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, tulip_21040_boardsw[rip]
	mov	QWORD PTR 2256[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2084[rax]
	or	ah, 18
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 2084[rax], edx
	jmp	.L303
.L326:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 1891[rax]
	movzx	eax, al
	and	eax, -4
	cmp	eax, 236
	jne	.L303
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR 2953[rax], 50
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, tulip_21040_boardsw[rip]
	mov	QWORD PTR 2256[rax], rdx
	jmp	.L303
.L327:
	nop
.L303:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE91:
	.size	tulip_identify_znyx_nic, .-tulip_identify_znyx_nic
	.section	.rodata
.LC14:
	.string	"SMC "
.LC15:
	.string	"9332DST "
.LC16:
	.string	"9334BDT "
.LC17:
	.string	"9332BDT "
.LC18:
	.string	"8432"
	.text
	.globl	tulip_identify_smc_nic
	.type	tulip_identify_smc_nic, @function
tulip_identify_smc_nic:
.LFB92:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -28[rbp], 0
	mov	DWORD PTR -24[rbp], 0
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 2944
	mov	edx, 16
	lea	rsi, .LC14[rip]
	mov	rdi, rax
	call	strlcpy@PLT
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 2248[rax]
	cmp	eax, 2
	je	.L342
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 2248[rax]
	test	eax, eax
	je	.L331
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 2256[rax]
	lea	rdx, tulip_2114x_isv_boardsw[rip]
	cmp	rax, rdx
	je	.L332
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 2944
	mov	edx, 16
	lea	rsi, .LC15[rip]
	mov	rdi, rax
	call	strlcat@PLT
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, tulip_21140_smc9332_boardsw[rip]
	mov	QWORD PTR 2256[rax], rdx
	jmp	.L328
.L332:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 2084[rax]
	and	eax, 1536
	test	eax, eax
	je	.L334
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 2944
	mov	edx, 16
	lea	rsi, .LC16[rip]
	mov	rdi, rax
	call	strlcat@PLT
	jmp	.L328
.L334:
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 2944
	mov	edx, 16
	lea	rsi, .LC17[rip]
	mov	rdi, rax
	call	strlcat@PLT
	jmp	.L328
.L331:
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR 3056[rax]
	movzx	edx, al
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR 3057[rax]
	movzx	eax, al
	sal	eax, 8
	or	eax, edx
	mov	DWORD PTR -20[rbp], eax
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR 3058[rax]
	movzx	edx, al
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR 3059[rax]
	movzx	eax, al
	sal	eax, 8
	or	eax, edx
	mov	DWORD PTR -16[rbp], eax
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR 3062[rax]
	movzx	edx, al
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR 3063[rax]
	movzx	eax, al
	sal	eax, 8
	or	eax, edx
	mov	DWORD PTR -12[rbp], eax
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 2944
	mov	edx, 16
	lea	rsi, .LC18[rip]
	mov	rdi, rax
	call	strlcat@PLT
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 2952
	mov	QWORD PTR -8[rbp], rax
	mov	eax, DWORD PTR -20[rbp]
	and	eax, 1
	test	eax, eax
	jne	.L335
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	BYTE PTR [rax], 66
	mov	DWORD PTR -28[rbp], 1
.L335:
	mov	eax, DWORD PTR -20[rbp]
	movzx	eax, al
	cmp	eax, 50
	jbe	.L336
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	BYTE PTR [rax], 84
	mov	DWORD PTR -24[rbp], 1
.L336:
	mov	eax, DWORD PTR -20[rbp]
	and	eax, 16384
	test	eax, eax
	jne	.L337
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	BYTE PTR [rax], 65
	mov	DWORD PTR -28[rbp], 1
.L337:
	cmp	DWORD PTR -16[rbp], 21
	jne	.L338
	mov	rax, QWORD PTR -40[rbp]
	mov	BYTE PTR 2951[rax], 52
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	BYTE PTR [rax], 45
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	BYTE PTR [rax], 67
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	BYTE PTR [rax], 72
	cmp	DWORD PTR -12[rbp], 0
	je	.L339
	mov	ecx, 50
	jmp	.L340
.L339:
	mov	ecx, 49
.L340:
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	BYTE PTR [rax], cl
.L338:
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	BYTE PTR [rax], 32
	mov	rax, QWORD PTR -8[rbp]
	mov	BYTE PTR [rax], 0
	cmp	DWORD PTR -24[rbp], 0
	je	.L341
	cmp	DWORD PTR -28[rbp], 0
	jne	.L341
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, tulip_21040_10baset_only_boardsw[rip]
	mov	QWORD PTR 2256[rax], rdx
	jmp	.L328
.L341:
	cmp	DWORD PTR -24[rbp], 0
	jne	.L328
	cmp	DWORD PTR -28[rbp], 0
	je	.L328
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, tulip_21040_auibnc_only_boardsw[rip]
	mov	QWORD PTR 2256[rax], rdx
	jmp	.L328
.L342:
	nop
.L328:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE92:
	.size	tulip_identify_smc_nic, .-tulip_identify_smc_nic
	.section	.rodata
.LC19:
	.string	"Cogent "
.LC20:
	.string	"EM100TX "
.LC21:
	.string	"EM100FX "
.LC22:
	.string	"EM440TX "
	.text
	.globl	tulip_identify_cogent_nic
	.type	tulip_identify_cogent_nic, @function
tulip_identify_cogent_nic:
.LFB93:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 2944
	mov	edx, 16
	lea	rsi, .LC19[rip]
	mov	rdi, rax
	call	strlcpy@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2248[rax]
	cmp	eax, 3
	je	.L344
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2248[rax]
	cmp	eax, 4
	jne	.L345
.L344:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR 2992[rax]
	cmp	al, 18
	jne	.L346
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 2944
	mov	edx, 16
	lea	rsi, .LC20[rip]
	mov	rdi, rax
	call	strlcat@PLT
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, tulip_21140_cogent_em100_boardsw[rip]
	mov	QWORD PTR 2256[rax], rdx
	jmp	.L347
.L346:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR 2992[rax]
	cmp	al, 21
	jne	.L347
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 2944
	mov	edx, 16
	lea	rsi, .LC21[rip]
	mov	rdi, rax
	call	strlcat@PLT
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, tulip_21140_cogent_em100_boardsw[rip]
	mov	QWORD PTR 2256[rax], rdx
.L347:
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 2960
	mov	eax, DWORD PTR [rax]
	cmp	eax, 603984137
	jne	.L350
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2084[rax]
	and	eax, 512
	test	eax, eax
	je	.L350
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 2944
	mov	edx, 16
	lea	rsi, .LC22[rip]
	mov	rdi, rax
	call	strlcat@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2084[rax]
	or	ah, 16
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 2084[rax], edx
	jmp	.L350
.L345:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2248[rax]
	test	eax, eax
	jne	.L351
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2084[rax]
	or	ah, 18
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 2084[rax], edx
	jmp	.L351
.L350:
	nop
.L351:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE93:
	.size	tulip_identify_cogent_nic, .-tulip_identify_cogent_nic
	.section	.rodata
.LC23:
	.string	"ACCTON "
.LC24:
	.string	"EN1207 "
.LC25:
	.string	"EN1207TX "
.LC26:
	.string	"EN1203 "
	.text
	.globl	tulip_identify_accton_nic
	.type	tulip_identify_accton_nic, @function
tulip_identify_accton_nic:
.LFB94:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 2944
	mov	edx, 16
	lea	rsi, .LC23[rip]
	mov	rdi, rax
	call	strlcpy@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2248[rax]
	cmp	eax, 4
	je	.L353
	cmp	eax, 4
	ja	.L354
	cmp	eax, 3
	je	.L355
	cmp	eax, 3
	ja	.L354
	test	eax, eax
	je	.L356
	cmp	eax, 2
	je	.L357
	jmp	.L354
.L353:
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 2944
	mov	edx, 16
	lea	rsi, .LC24[rip]
	mov	rdi, rax
	call	strlcat@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 2256[rax]
	lea	rdx, tulip_2114x_isv_boardsw[rip]
	cmp	rax, rdx
	je	.L361
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, tulip_21140_accton_boardsw[rip]
	mov	QWORD PTR 2256[rax], rdx
	jmp	.L361
.L355:
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 2944
	mov	edx, 16
	lea	rsi, .LC25[rip]
	mov	rdi, rax
	call	strlcat@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 2256[rax]
	lea	rdx, tulip_2114x_isv_boardsw[rip]
	cmp	rax, rdx
	je	.L362
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, tulip_21140_eb_boardsw[rip]
	mov	QWORD PTR 2256[rax], rdx
	jmp	.L362
.L356:
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 2944
	mov	edx, 16
	lea	rsi, .LC26[rip]
	mov	rdi, rax
	call	strlcat@PLT
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, tulip_21040_boardsw[rip]
	mov	QWORD PTR 2256[rax], rdx
	jmp	.L359
.L357:
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 2944
	mov	edx, 16
	lea	rsi, .LC26[rip]
	mov	rdi, rax
	call	strlcat@PLT
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, tulip_21041_boardsw[rip]
	mov	QWORD PTR 2256[rax], rdx
	jmp	.L359
.L354:
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, tulip_2114x_isv_boardsw[rip]
	mov	QWORD PTR 2256[rax], rdx
	jmp	.L359
.L361:
	nop
	jmp	.L363
.L362:
	nop
.L359:
.L363:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE94:
	.size	tulip_identify_accton_nic, .-tulip_identify_accton_nic
	.section	.rodata
.LC27:
	.string	"Asante "
	.text
	.globl	tulip_identify_asante_nic
	.type	tulip_identify_asante_nic, @function
tulip_identify_asante_nic:
.LFB95:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 40
	.cfi_offset 3, -24
	mov	QWORD PTR -40[rbp], rdi
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 2944
	mov	edx, 16
	lea	rsi, .LC27[rip]
	mov	rdi, rax
	call	strlcpy@PLT
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 2248[rax]
	cmp	eax, 3
	je	.L365
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 2248[rax]
	cmp	eax, 4
	jne	.L364
.L365:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 2256[rax]
	lea	rdx, tulip_2114x_isv_boardsw[rip]
	cmp	rax, rdx
	je	.L364
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 2464
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	BYTE PTR 2218[rax], -65
	mov	rax, QWORD PTR -40[rbp]
	mov	BYTE PTR 2219[rax], 0
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR 2048[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, 447
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR 2048[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, 8
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR delay_func[rip]
	mov	edi, 100
	call	rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR 2048[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR [rax], 3
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR 19[rax], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR 20[rax], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR 21[rax], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR 22[rax], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR 18[rax], 32
	mov	DWORD PTR -28[rbp], 20
	jmp	.L367
.L369:
	mov	rax, QWORD PTR delay_func[rip]
	mov	edi, 10000
	call	rax
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	tulip_mii_get_phyaddr
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR 18[rax], dl
	sub	DWORD PTR -28[rbp], 1
.L367:
	cmp	DWORD PTR -28[rbp], 0
	jle	.L368
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 18[rax]
	cmp	al, 32
	je	.L369
.L368:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 18[rax]
	cmp	al, 32
	je	.L376
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 2084[rax]
	or	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 2084[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	WORD PTR 8[rax], 30720
	mov	rax, QWORD PTR -24[rbp]
	mov	WORD PTR 10[rax], 30720
	mov	rax, QWORD PTR -24[rbp]
	mov	WORD PTR 12[rax], 20480
	mov	rax, QWORD PTR -24[rbp]
	mov	WORD PTR 14[rax], 6144
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 2176[rax]
	test	rax, rax
	jne	.L371
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, WORD PTR 8[rax]
	movzx	eax, ax
	and	eax, 16384
	test	eax, eax
	je	.L371
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 2176[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 4[rax]
	or	ah, 1
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 4[rax], edx
.L371:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 2168[rax]
	test	rax, rax
	jne	.L372
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, WORD PTR 8[rax]
	movzx	eax, ax
	and	eax, 8192
	test	eax, eax
	je	.L372
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 2168[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 4[rax]
	or	al, -128
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 4[rax], edx
.L372:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 2184[rax]
	test	rax, rax
	jne	.L373
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, WORD PTR 8[rax]
	test	ax, ax
	jns	.L373
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 2184[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 4[rax]
	or	ah, 2
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 4[rax], edx
.L373:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 2128[rax]
	test	rax, rax
	jne	.L374
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, WORD PTR 8[rax]
	movzx	eax, ax
	and	eax, 4096
	test	eax, eax
	je	.L374
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 2128[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 4[rax]
	or	eax, 4
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 4[rax], edx
.L374:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 2120[rax]
	test	rax, rax
	jne	.L375
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, WORD PTR 8[rax]
	movzx	eax, ax
	and	eax, 2048
	test	eax, eax
	je	.L375
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 2120[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 4[rax]
	or	eax, 2
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 4[rax], edx
.L375:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 18[rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, 2
	mov	esi, ecx
	mov	rdi, rax
	call	tulip_mii_readreg
	sal	eax, 16
	mov	ebx, eax
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 18[rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, 3
	mov	esi, ecx
	mov	rdi, rax
	call	tulip_mii_readreg
	or	ebx, eax
	mov	edx, ebx
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, tulip_2114x_isv_boardsw[rip]
	mov	QWORD PTR 2256[rax], rdx
	jmp	.L364
.L376:
	nop
.L364:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE95:
	.size	tulip_identify_asante_nic, .-tulip_identify_asante_nic
	.section	.rodata
.LC28:
	.string	"COMPEX "
.LC29:
	.string	"400TX/PCI "
	.align 8
.LC30:
	.string	"\nCannot find master device for de%d interrupts"
.LC31:
	.string	"unknown "
	.text
	.globl	tulip_identify_compex_nic
	.type	tulip_identify_compex_nic, @function
tulip_identify_compex_nic:
.LFB96:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 2944
	mov	edx, 16
	lea	rsi, .LC28[rip]
	mov	rdi, rax
	call	strlcpy@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2248[rax]
	cmp	eax, 4
	jne	.L378
	mov	QWORD PTR -8[rbp], 0
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 2944
	mov	edx, 16
	lea	rsi, .LC29[rip]
	mov	rdi, rax
	call	strlcat@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2084[rax]
	or	ah, 16
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 2084[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 32[rax]
	sub	eax, 1
	mov	DWORD PTR -12[rbp], eax
	jmp	.L379
.L381:
	mov	rdx, QWORD PTR de_cd[rip]
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L380
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2084[rax]
	and	eax, 2048
	test	eax, eax
	je	.L380
	mov	QWORD PTR -8[rbp], 0
	sub	DWORD PTR -12[rbp], 1
.L379:
	cmp	DWORD PTR -12[rbp], 0
	jns	.L381
.L380:
	cmp	QWORD PTR -8[rbp], 0
	je	.L382
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 2248[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2248[rax]
	cmp	edx, eax
	jne	.L382
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 3088[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 3088[rax]
	cmp	rdx, rax
	jne	.L382
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2084[rax]
	or	ah, 8
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 2084[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 2264[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 2264[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 2264[rax], rdx
	jmp	.L385
.L382:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2084[rax]
	and	eax, 2048
	test	eax, eax
	je	.L385
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 32[rax]
	mov	esi, eax
	lea	rdi, .LC30[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L385
.L378:
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 2944
	mov	edx, 16
	lea	rsi, .LC31[rip]
	mov	rdi, rax
	call	strlcat@PLT
.L385:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE96:
	.size	tulip_identify_compex_nic, .-tulip_identify_compex_nic
	.globl	tulip_srom_decode
	.type	tulip_srom_decode, @function
tulip_srom_decode:
.LFB97:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 136
	.cfi_offset 3, -24
	mov	QWORD PTR -136[rbp], rdi
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 2960
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 26
	mov	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 2464
	mov	QWORD PTR -56[rbp], rax
	mov	DWORD PTR -128[rbp], 0
	jmp	.L387
.L391:
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR 19[rax]
	cmp	al, 1
	je	.L485
	mov	rax, QWORD PTR -64[rbp]
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -136[rbp]
	movzx	eax, BYTE PTR 3096[rax]
	cmp	dl, al
	je	.L486
	add	DWORD PTR -128[rbp], 1
	add	QWORD PTR -64[rbp], 3
.L387:
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR 19[rax]
	movzx	eax, al
	cmp	DWORD PTR -128[rbp], eax
	jb	.L391
	jmp	.L389
.L485:
	nop
	jmp	.L389
.L486:
	nop
.L389:
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR 19[rax]
	movzx	eax, al
	cmp	DWORD PTR -128[rbp], eax
	jne	.L392
	mov	eax, 0
	jmp	.L393
.L392:
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 1888
	mov	rdx, QWORD PTR -32[rbp]
	lea	rcx, 20[rdx]
	mov	edx, 6
	mov	rsi, rcx
	mov	rdi, rax
	call	memmove@PLT
	mov	rax, QWORD PTR -136[rbp]
	movzx	eax, BYTE PTR 1893[rax]
	mov	edx, DWORD PTR -128[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -136[rbp]
	mov	BYTE PTR 1893[rax], dl
	mov	rax, QWORD PTR -64[rbp]
	movzx	eax, BYTE PTR 1[rax]
	movzx	edx, al
	mov	rax, QWORD PTR -64[rbp]
	movzx	eax, BYTE PTR 2[rax]
	movzx	eax, al
	sal	eax, 8
	add	eax, edx
	mov	DWORD PTR -104[rbp], eax
	mov	rax, QWORD PTR -136[rbp]
	lea	rdx, 2960[rax]
	mov	eax, DWORD PTR -104[rbp]
	add	rax, rdx
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 8
	add	eax, edx
	mov	edx, eax
	mov	rax, QWORD PTR -136[rbp]
	mov	DWORD PTR 3100[rax], edx
	add	QWORD PTR -48[rbp], 2
	mov	DWORD PTR -124[rbp], 0
.L395:
	mov	edx, DWORD PTR -124[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, tulip_srom_conninfo[rip]
	mov	edx, DWORD PTR [rdx+rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 3100[rax]
	cmp	edx, eax
	je	.L394
	mov	edx, DWORD PTR -124[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, tulip_srom_conninfo[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cmp	eax, 65535
	je	.L394
	add	DWORD PTR -124[rbp], 1
	jmp	.L395
.L394:
	mov	eax, DWORD PTR -124[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -136[rbp]
	mov	BYTE PTR 3097[rax], dl
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 2248[rax]
	cmp	eax, 2
	jne	.L396
	mov	rax, QWORD PTR -48[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -48[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -100[rbp], eax
	mov	DWORD PTR -124[rbp], 0
	jmp	.L397
.L410:
	mov	rax, QWORD PTR -48[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -48[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -88[rbp], eax
	mov	eax, DWORD PTR -88[rbp]
	and	eax, 63
	mov	DWORD PTR -96[rbp], eax
	mov	DWORD PTR -120[rbp], 0
	jmp	.L398
.L401:
	mov	eax, DWORD PTR -120[rbp]
	lea	rdx, 0[0+rax*8]
	lea	rax, tulip_srom_mediums[rip+4]
	mov	eax, DWORD PTR [rdx+rax]
	cmp	DWORD PTR -96[rbp], eax
	je	.L487
	add	DWORD PTR -120[rbp], 1
.L398:
	mov	eax, DWORD PTR -120[rbp]
	lea	rdx, 0[0+rax*8]
	lea	rax, tulip_srom_mediums[rip]
	mov	eax, DWORD PTR [rdx+rax]
	test	eax, eax
	jne	.L401
	jmp	.L400
.L487:
	nop
.L400:
	mov	eax, DWORD PTR -120[rbp]
	lea	rdx, 0[0+rax*8]
	lea	rax, tulip_srom_mediums[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -68[rbp], eax
	cmp	DWORD PTR -68[rbp], 0
	je	.L488
	mov	eax, DWORD PTR -88[rbp]
	and	eax, 64
	test	eax, eax
	je	.L403
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR [rax], 1
	mov	rax, QWORD PTR -136[rbp]
	mov	edx, DWORD PTR -68[rbp]
	lea	rcx, 264[rdx]
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR [rax+rcx*8], rdx
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 8
	add	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	WORD PTR 4[rax], dx
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 2
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 3
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 8
	add	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	WORD PTR 6[rax], dx
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 4
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 5
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 8
	add	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	WORD PTR 8[rax], dx
	add	QWORD PTR -56[rbp], 28
	jmp	.L402
.L403:
	cmp	DWORD PTR -68[rbp], 4
	je	.L404
	cmp	DWORD PTR -68[rbp], 4
	ja	.L489
	cmp	DWORD PTR -68[rbp], 3
	je	.L406
	cmp	DWORD PTR -68[rbp], 3
	ja	.L489
	cmp	DWORD PTR -68[rbp], 1
	je	.L407
	cmp	DWORD PTR -68[rbp], 2
	je	.L408
	jmp	.L489
.L406:
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR [rax], 1
	mov	rax, QWORD PTR -136[rbp]
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR 2136[rax], rdx
	mov	rax, QWORD PTR -56[rbp]
	mov	WORD PTR 4[rax], -4343
	mov	rax, QWORD PTR -56[rbp]
	mov	WORD PTR 6[rax], -2243
	mov	rax, QWORD PTR -56[rbp]
	mov	WORD PTR 8[rax], 6
	add	QWORD PTR -56[rbp], 28
	jmp	.L402
.L404:
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR [rax], 1
	mov	rax, QWORD PTR -136[rbp]
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR 2144[rax], rdx
	mov	rax, QWORD PTR -56[rbp]
	mov	WORD PTR 4[rax], -4343
	mov	rax, QWORD PTR -56[rbp]
	mov	WORD PTR 6[rax], -2243
	mov	rax, QWORD PTR -56[rbp]
	mov	WORD PTR 8[rax], 14
	add	QWORD PTR -56[rbp], 28
	jmp	.L402
.L407:
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR [rax], 1
	mov	rax, QWORD PTR -136[rbp]
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR 2120[rax], rdx
	mov	rax, QWORD PTR -56[rbp]
	mov	WORD PTR 4[rax], -4351
	mov	rax, QWORD PTR -56[rbp]
	mov	WORD PTR 6[rax], -193
	mov	rax, QWORD PTR -56[rbp]
	mov	WORD PTR 8[rax], 0
	add	QWORD PTR -56[rbp], 28
	jmp	.L402
.L408:
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR [rax], 1
	mov	rax, QWORD PTR -136[rbp]
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR 2128[rax], rdx
	mov	rax, QWORD PTR -56[rbp]
	mov	WORD PTR 4[rax], -4351
	mov	rax, QWORD PTR -56[rbp]
	mov	WORD PTR 6[rax], -195
	mov	rax, QWORD PTR -56[rbp]
	mov	WORD PTR 8[rax], 0
	add	QWORD PTR -56[rbp], 28
	jmp	.L402
.L488:
	nop
	jmp	.L402
.L489:
	nop
.L402:
	mov	eax, DWORD PTR -88[rbp]
	and	eax, 64
	test	eax, eax
	je	.L409
	add	QWORD PTR -48[rbp], 6
.L409:
	add	DWORD PTR -124[rbp], 1
.L397:
	mov	eax, DWORD PTR -124[rbp]
	cmp	eax, DWORD PTR -100[rbp]
	jb	.L410
	jmp	.L411
.L396:
	mov	DWORD PTR -108[rbp], 0
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 2084[rax]
	and	eax, 1
	test	eax, eax
	je	.L412
	mov	rax, QWORD PTR -48[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -48[rbp], rdx
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	BYTE PTR 2218[rax], dl
.L412:
	mov	rax, QWORD PTR -48[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -48[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -100[rbp], eax
	mov	DWORD PTR -124[rbp], 0
	jmp	.L413
.L484:
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	js	.L414
	mov	DWORD PTR -116[rbp], 4
	mov	DWORD PTR -112[rbp], 0
	jmp	.L415
.L414:
	mov	rax, QWORD PTR -48[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -48[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	and	eax, 127
	sub	eax, 1
	mov	DWORD PTR -116[rbp], eax
	mov	rax, QWORD PTR -48[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -48[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	and	eax, 63
	mov	DWORD PTR -112[rbp], eax
.L415:
	mov	edx, DWORD PTR -116[rbp]
	mov	rax, QWORD PTR -48[rbp]
	add	rax, rdx
	mov	QWORD PTR -24[rbp], rax
	mov	eax, DWORD PTR -112[rbp]
	and	eax, 63
	cmp	eax, 4
	ja	.L416
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L418[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L418[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L418:
	.long	.L422-.L418
	.long	.L421-.L418
	.long	.L420-.L418
	.long	.L419-.L418
	.long	.L417-.L418
	.text
.L422:
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	and	eax, 63
	mov	DWORD PTR -96[rbp], eax
	mov	DWORD PTR -120[rbp], 0
	jmp	.L423
.L426:
	mov	eax, DWORD PTR -120[rbp]
	lea	rdx, 0[0+rax*8]
	lea	rax, tulip_srom_mediums[rip+4]
	mov	eax, DWORD PTR [rdx+rax]
	cmp	DWORD PTR -96[rbp], eax
	je	.L490
	add	DWORD PTR -120[rbp], 1
.L423:
	mov	eax, DWORD PTR -120[rbp]
	lea	rdx, 0[0+rax*8]
	lea	rax, tulip_srom_mediums[rip]
	mov	eax, DWORD PTR [rdx+rax]
	test	eax, eax
	jne	.L426
	jmp	.L425
.L490:
	nop
.L425:
	mov	eax, DWORD PTR -120[rbp]
	lea	rdx, 0[0+rax*8]
	lea	rax, tulip_srom_mediums[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -72[rbp], eax
	cmp	DWORD PTR -72[rbp], 0
	je	.L491
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR [rax], 2
	mov	rax, QWORD PTR -136[rbp]
	mov	edx, DWORD PTR -72[rbp]
	lea	rcx, 264[rdx]
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR [rax+rcx*8], rdx
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 12[rax], edx
	mov	eax, DWORD PTR -72[rbp]
	cmp	eax, DWORD PTR -108[rbp]
	jbe	.L428
	mov	eax, DWORD PTR -72[rbp]
	mov	edx, 2308
	mov	ecx, eax
	sar	rdx, cl
	mov	rax, rdx
	and	eax, 1
	test	rax, rax
	jne	.L428
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 12[rax]
	mov	edx, eax
	mov	rax, QWORD PTR -136[rbp]
	mov	BYTE PTR 2219[rax], dl
	mov	eax, DWORD PTR -72[rbp]
	mov	DWORD PTR -108[rbp], eax
.L428:
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 2
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 3
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 8
	add	eax, edx
	mov	DWORD PTR -88[rbp], eax
	mov	eax, DWORD PTR -88[rbp]
	sal	eax, 18
	and	eax, 29622272
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 4[rax], edx
	mov	eax, DWORD PTR -88[rbp]
	and	eax, 32768
	test	eax, eax
	je	.L429
	mov	rax, QWORD PTR -56[rbp]
	mov	BYTE PTR 16[rax], 0
	jmp	.L430
.L429:
	mov	eax, DWORD PTR -88[rbp]
	shr	eax
	and	eax, 7
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	BYTE PTR 16[rax], dl
	mov	eax, DWORD PTR -88[rbp]
	and	eax, 128
	test	eax, eax
	jne	.L431
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR 16[rax]
	jmp	.L432
.L431:
	mov	eax, 0
.L432:
	mov	rdx, QWORD PTR -56[rbp]
	mov	BYTE PTR 17[rdx], al
.L430:
	add	QWORD PTR -56[rbp], 28
	jmp	.L416
.L421:
	mov	rax, QWORD PTR -48[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -48[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -76[rbp], eax
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR [rax], 3
	mov	rax, QWORD PTR -48[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -48[rbp], rdx
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	BYTE PTR 19[rax], dl
	mov	rax, QWORD PTR -136[rbp]
	lea	rdx, 2960[rax]
	mov	rax, QWORD PTR -48[rbp]
	sub	rax, rdx
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	BYTE PTR 20[rax], dl
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR 19[rax]
	movzx	eax, al
	add	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -48[rbp], rdx
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	BYTE PTR 21[rax], dl
	mov	rax, QWORD PTR -136[rbp]
	lea	rdx, 2960[rax]
	mov	rax, QWORD PTR -48[rbp]
	sub	rax, rdx
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	BYTE PTR 22[rax], dl
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR 21[rax]
	movzx	eax, al
	add	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -136[rbp]
	movzx	eax, BYTE PTR 2218[rax]
	movzx	eax, al
	or	ah, 1
	mov	edx, eax
	mov	rax, QWORD PTR -136[rbp]
	mov	rcx, QWORD PTR 2048[rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	DWORD PTR -120[rbp], 0
	jmp	.L433
.L434:
	mov	rax, QWORD PTR delay_func[rip]
	mov	edi, 10
	call	rax
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR 22[rax]
	movzx	edx, al
	mov	eax, DWORD PTR -120[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -136[rbp]
	mov	edx, edx
	movzx	eax, BYTE PTR 2960[rax+rdx]
	movzx	edx, al
	mov	rax, QWORD PTR -136[rbp]
	mov	rcx, QWORD PTR 2048[rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	add	DWORD PTR -120[rbp], 1
.L433:
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR 21[rax]
	movzx	eax, al
	cmp	DWORD PTR -120[rbp], eax
	jb	.L434
	mov	rax, QWORD PTR -56[rbp]
	movzx	edx, BYTE PTR 18[rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	BYTE PTR 2217[rax], dl
	mov	DWORD PTR -120[rbp], 0
	jmp	.L435
.L436:
	mov	rax, QWORD PTR delay_func[rip]
	mov	edi, 10
	call	rax
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR 20[rax]
	movzx	edx, al
	mov	eax, DWORD PTR -120[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -136[rbp]
	mov	edx, edx
	movzx	eax, BYTE PTR 2960[rax+rdx]
	movzx	edx, al
	mov	rax, QWORD PTR -136[rbp]
	mov	rcx, QWORD PTR 2048[rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	add	DWORD PTR -120[rbp], 1
.L435:
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR 19[rax]
	movzx	eax, al
	cmp	DWORD PTR -120[rbp], eax
	jb	.L436
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR 21[rax]
	test	al, al
	jne	.L437
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR 19[rax]
	test	al, al
	jne	.L437
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	rcx, QWORD PTR 2048[rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
.L437:
	mov	rax, QWORD PTR -56[rbp]
	mov	BYTE PTR 18[rax], 32
	mov	DWORD PTR -120[rbp], 20
	jmp	.L438
.L440:
	mov	rax, QWORD PTR delay_func[rip]
	mov	edi, 10000
	call	rax
	mov	edx, DWORD PTR -76[rbp]
	mov	rax, QWORD PTR -136[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	tulip_mii_get_phyaddr
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	BYTE PTR 18[rax], dl
	sub	DWORD PTR -120[rbp], 1
.L438:
	cmp	DWORD PTR -120[rbp], 0
	je	.L439
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR 18[rax]
	cmp	al, 32
	je	.L440
.L439:
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR 18[rax]
	cmp	al, 32
	je	.L492
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 2084[rax]
	or	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -136[rbp]
	mov	DWORD PTR 2084[rax], edx
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 8
	add	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	WORD PTR 8[rax], dx
	add	QWORD PTR -48[rbp], 2
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 8
	add	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	WORD PTR 10[rax], dx
	add	QWORD PTR -48[rbp], 2
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 8
	add	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	WORD PTR 12[rax], dx
	add	QWORD PTR -48[rbp], 2
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 8
	add	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	WORD PTR 14[rax], dx
	add	QWORD PTR -48[rbp], 2
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 2176[rax]
	test	rax, rax
	jne	.L442
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, WORD PTR 8[rax]
	movzx	eax, ax
	and	eax, 16384
	test	eax, eax
	je	.L442
	mov	rax, QWORD PTR -136[rbp]
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR 2176[rax], rdx
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 4[rax]
	or	ah, 1
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 4[rax], edx
.L442:
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 2168[rax]
	test	rax, rax
	jne	.L443
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, WORD PTR 8[rax]
	movzx	eax, ax
	and	eax, 8192
	test	eax, eax
	je	.L443
	mov	rax, QWORD PTR -136[rbp]
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR 2168[rax], rdx
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 4[rax]
	or	al, -128
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 4[rax], edx
.L443:
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 2184[rax]
	test	rax, rax
	jne	.L444
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, WORD PTR 8[rax]
	test	ax, ax
	jns	.L444
	mov	rax, QWORD PTR -136[rbp]
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR 2184[rax], rdx
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 4[rax]
	or	ah, 2
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 4[rax], edx
.L444:
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 2128[rax]
	test	rax, rax
	jne	.L445
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, WORD PTR 8[rax]
	movzx	eax, ax
	and	eax, 4096
	test	eax, eax
	je	.L445
	mov	rax, QWORD PTR -136[rbp]
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR 2128[rax], rdx
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 4[rax]
	or	eax, 4
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 4[rax], edx
.L445:
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 2120[rax]
	test	rax, rax
	jne	.L446
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, WORD PTR 8[rax]
	movzx	eax, ax
	and	eax, 2048
	test	eax, eax
	je	.L446
	mov	rax, QWORD PTR -136[rbp]
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR 2120[rax], rdx
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 4[rax]
	or	eax, 2
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 4[rax], edx
.L446:
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR 18[rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -136[rbp]
	mov	edx, 2
	mov	esi, ecx
	mov	rdi, rax
	call	tulip_mii_readreg
	sal	eax, 16
	mov	ebx, eax
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR 18[rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -136[rbp]
	mov	edx, 3
	mov	esi, ecx
	mov	rdi, rax
	call	tulip_mii_readreg
	or	ebx, eax
	mov	edx, ebx
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 24[rax], edx
	add	QWORD PTR -56[rbp], 28
	jmp	.L416
.L420:
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	and	eax, 63
	mov	DWORD PTR -96[rbp], eax
	mov	DWORD PTR -120[rbp], 0
	jmp	.L447
.L450:
	mov	eax, DWORD PTR -120[rbp]
	lea	rdx, 0[0+rax*8]
	lea	rax, tulip_srom_mediums[rip+4]
	mov	eax, DWORD PTR [rdx+rax]
	cmp	DWORD PTR -96[rbp], eax
	je	.L493
	add	DWORD PTR -120[rbp], 1
.L447:
	mov	eax, DWORD PTR -120[rbp]
	lea	rdx, 0[0+rax*8]
	lea	rax, tulip_srom_mediums[rip]
	mov	eax, DWORD PTR [rdx+rax]
	test	eax, eax
	jne	.L450
	jmp	.L449
.L493:
	nop
.L449:
	mov	eax, DWORD PTR -120[rbp]
	lea	rdx, 0[0+rax*8]
	lea	rax, tulip_srom_mediums[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -80[rbp], eax
	cmp	DWORD PTR -80[rbp], 0
	je	.L494
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR [rax], 1
	mov	rax, QWORD PTR -136[rbp]
	mov	edx, DWORD PTR -80[rbp]
	lea	rcx, 264[rdx]
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR [rax+rcx*8], rdx
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	and	eax, 64
	test	eax, eax
	je	.L452
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 2
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 8
	add	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	WORD PTR 4[rax], dx
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 3
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 4
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 8
	add	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	WORD PTR 6[rax], dx
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 5
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 6
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 8
	add	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	WORD PTR 8[rax], dx
	add	QWORD PTR -48[rbp], 6
	jmp	.L453
.L452:
	cmp	DWORD PTR -80[rbp], 4
	je	.L454
	cmp	DWORD PTR -80[rbp], 4
	ja	.L495
	cmp	DWORD PTR -80[rbp], 3
	je	.L456
	cmp	DWORD PTR -80[rbp], 3
	ja	.L495
	cmp	DWORD PTR -80[rbp], 1
	je	.L457
	cmp	DWORD PTR -80[rbp], 2
	je	.L458
	jmp	.L495
.L456:
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR [rax], 1
	mov	rax, QWORD PTR -136[rbp]
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR 2136[rax], rdx
	mov	rax, QWORD PTR -56[rbp]
	mov	WORD PTR 4[rax], 9
	mov	rax, QWORD PTR -56[rbp]
	mov	WORD PTR 6[rax], 1797
	mov	rax, QWORD PTR -56[rbp]
	mov	WORD PTR 8[rax], 6
	jmp	.L453
.L454:
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR [rax], 1
	mov	rax, QWORD PTR -136[rbp]
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR 2144[rax], rdx
	mov	rax, QWORD PTR -56[rbp]
	mov	WORD PTR 4[rax], 9
	mov	rax, QWORD PTR -56[rbp]
	mov	WORD PTR 6[rax], 1797
	mov	rax, QWORD PTR -56[rbp]
	mov	WORD PTR 8[rax], 14
	jmp	.L453
.L457:
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR [rax], 1
	mov	rax, QWORD PTR -136[rbp]
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR 2120[rax], rdx
	mov	rax, QWORD PTR -56[rbp]
	mov	WORD PTR 4[rax], 1
	mov	rax, QWORD PTR -56[rbp]
	mov	WORD PTR 6[rax], 32575
	mov	rax, QWORD PTR -56[rbp]
	mov	WORD PTR 8[rax], 8
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 2088[rax]
	or	eax, 4112
	mov	edx, eax
	mov	rax, QWORD PTR -136[rbp]
	mov	DWORD PTR 2088[rax], edx
	jmp	.L453
.L458:
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR [rax], 1
	mov	rax, QWORD PTR -136[rbp]
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR 2128[rax], rdx
	mov	rax, QWORD PTR -56[rbp]
	mov	WORD PTR 4[rax], 1
	mov	rax, QWORD PTR -56[rbp]
	mov	WORD PTR 6[rax], 32573
	mov	rax, QWORD PTR -56[rbp]
	mov	WORD PTR 8[rax], 8
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 2088[rax]
	or	eax, 4112
	mov	edx, eax
	mov	rax, QWORD PTR -136[rbp]
	mov	DWORD PTR 2088[rax], edx
	nop
.L453:
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 2
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 8
	add	eax, edx
	sal	eax, 16
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 3
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 4
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 8
	add	eax, edx
	sal	eax, 16
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 16[rax], edx
	add	QWORD PTR -56[rbp], 28
	jmp	.L416
.L495:
	nop
.L459:
	jmp	.L416
.L419:
	mov	rax, QWORD PTR -48[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -48[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -84[rbp], eax
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR [rax], 3
	mov	rax, QWORD PTR -48[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -48[rbp], rdx
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	BYTE PTR 19[rax], dl
	mov	rax, QWORD PTR -136[rbp]
	lea	rdx, 2960[rax]
	mov	rax, QWORD PTR -48[rbp]
	sub	rax, rdx
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	BYTE PTR 20[rax], dl
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR 19[rax]
	movzx	eax, al
	add	eax, eax
	cdqe
	add	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -48[rbp], rdx
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	BYTE PTR 21[rax], dl
	mov	rax, QWORD PTR -136[rbp]
	lea	rdx, 2960[rax]
	mov	rax, QWORD PTR -48[rbp]
	sub	rax, rdx
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	BYTE PTR 22[rax], dl
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR 21[rax]
	movzx	eax, al
	add	eax, eax
	cdqe
	add	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR 22[rax]
	movzx	eax, al
	cdqe
	lea	rdx, 2960[rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	mov	QWORD PTR -40[rbp], rax
	mov	DWORD PTR -120[rbp], 0
	jmp	.L460
.L461:
	mov	rax, QWORD PTR delay_func[rip]
	mov	edi, 10
	call	rax
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 8
	add	eax, edx
	sal	eax, 16
	mov	edx, eax
	mov	rax, QWORD PTR -136[rbp]
	mov	rcx, QWORD PTR 2072[rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	add	DWORD PTR -120[rbp], 1
	add	QWORD PTR -40[rbp], 2
.L460:
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR 21[rax]
	movzx	eax, al
	cmp	DWORD PTR -120[rbp], eax
	jb	.L461
	mov	rax, QWORD PTR -56[rbp]
	movzx	edx, BYTE PTR 18[rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	BYTE PTR 2217[rax], dl
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR 20[rax]
	movzx	eax, al
	cdqe
	lea	rdx, 2960[rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	mov	QWORD PTR -40[rbp], rax
	mov	DWORD PTR -120[rbp], 0
	jmp	.L462
.L463:
	mov	rax, QWORD PTR delay_func[rip]
	mov	edi, 10
	call	rax
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 8
	add	eax, edx
	sal	eax, 16
	mov	edx, eax
	mov	rax, QWORD PTR -136[rbp]
	mov	rcx, QWORD PTR 2072[rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	add	DWORD PTR -120[rbp], 1
	add	QWORD PTR -40[rbp], 2
.L462:
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR 19[rax]
	movzx	eax, al
	cmp	DWORD PTR -120[rbp], eax
	jb	.L463
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR 21[rax]
	test	al, al
	jne	.L464
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR 19[rax]
	test	al, al
	jne	.L464
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	rcx, QWORD PTR 2072[rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
.L464:
	mov	rax, QWORD PTR -56[rbp]
	mov	BYTE PTR 18[rax], 32
	mov	DWORD PTR -120[rbp], 20
	jmp	.L465
.L467:
	mov	rax, QWORD PTR delay_func[rip]
	mov	edi, 10000
	call	rax
	mov	edx, DWORD PTR -84[rbp]
	mov	rax, QWORD PTR -136[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	tulip_mii_get_phyaddr
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	BYTE PTR 18[rax], dl
	sub	DWORD PTR -120[rbp], 1
.L465:
	cmp	DWORD PTR -120[rbp], 0
	je	.L466
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR 18[rax]
	cmp	al, 32
	je	.L467
.L466:
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR 18[rax]
	cmp	al, 32
	je	.L496
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 2084[rax]
	or	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -136[rbp]
	mov	DWORD PTR 2084[rax], edx
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 8
	add	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	WORD PTR 8[rax], dx
	add	QWORD PTR -48[rbp], 2
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 8
	add	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	WORD PTR 10[rax], dx
	add	QWORD PTR -48[rbp], 2
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 8
	add	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	WORD PTR 12[rax], dx
	add	QWORD PTR -48[rbp], 2
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 8
	add	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	WORD PTR 14[rax], dx
	add	QWORD PTR -48[rbp], 2
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 8
	add	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	WORD PTR 16[rax], dx
	add	QWORD PTR -48[rbp], 2
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 2176[rax]
	test	rax, rax
	jne	.L469
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, WORD PTR 8[rax]
	movzx	eax, ax
	and	eax, 16384
	test	eax, eax
	je	.L469
	mov	rax, QWORD PTR -136[rbp]
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR 2176[rax], rdx
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 4[rax]
	or	ah, 1
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 4[rax], edx
.L469:
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 2168[rax]
	test	rax, rax
	jne	.L470
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, WORD PTR 8[rax]
	movzx	eax, ax
	and	eax, 8192
	test	eax, eax
	je	.L470
	mov	rax, QWORD PTR -136[rbp]
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR 2168[rax], rdx
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 4[rax]
	or	al, -128
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 4[rax], edx
.L470:
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 2184[rax]
	test	rax, rax
	jne	.L471
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, WORD PTR 8[rax]
	test	ax, ax
	jns	.L471
	mov	rax, QWORD PTR -136[rbp]
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR 2184[rax], rdx
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 4[rax]
	or	ah, 2
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 4[rax], edx
.L471:
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 2128[rax]
	test	rax, rax
	jne	.L472
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, WORD PTR 8[rax]
	movzx	eax, ax
	and	eax, 4096
	test	eax, eax
	je	.L472
	mov	rax, QWORD PTR -136[rbp]
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR 2128[rax], rdx
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 4[rax]
	or	eax, 4
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 4[rax], edx
.L472:
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 2120[rax]
	test	rax, rax
	jne	.L473
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, WORD PTR 8[rax]
	movzx	eax, ax
	and	eax, 2048
	test	eax, eax
	je	.L473
	mov	rax, QWORD PTR -136[rbp]
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR 2120[rax], rdx
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 4[rax]
	or	eax, 2
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 4[rax], edx
.L473:
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR 18[rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -136[rbp]
	mov	edx, 2
	mov	esi, ecx
	mov	rdi, rax
	call	tulip_mii_readreg
	sal	eax, 16
	mov	ebx, eax
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR 18[rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -136[rbp]
	mov	edx, 3
	mov	esi, ecx
	mov	rdi, rax
	call	tulip_mii_readreg
	or	ebx, eax
	mov	edx, ebx
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 24[rax], edx
	add	QWORD PTR -56[rbp], 28
	jmp	.L416
.L417:
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -96[rbp], eax
	mov	DWORD PTR -120[rbp], 0
	jmp	.L474
.L477:
	mov	eax, DWORD PTR -120[rbp]
	lea	rdx, 0[0+rax*8]
	lea	rax, tulip_srom_mediums[rip+4]
	mov	eax, DWORD PTR [rdx+rax]
	cmp	DWORD PTR -96[rbp], eax
	je	.L497
	add	DWORD PTR -120[rbp], 1
.L474:
	mov	eax, DWORD PTR -120[rbp]
	lea	rdx, 0[0+rax*8]
	lea	rax, tulip_srom_mediums[rip]
	mov	eax, DWORD PTR [rdx+rax]
	test	eax, eax
	jne	.L477
	jmp	.L476
.L497:
	nop
.L476:
	mov	eax, DWORD PTR -120[rbp]
	lea	rdx, 0[0+rax*8]
	lea	rax, tulip_srom_mediums[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -92[rbp], eax
	cmp	DWORD PTR -92[rbp], 0
	je	.L498
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR [rax], 5
	mov	rax, QWORD PTR -136[rbp]
	mov	edx, DWORD PTR -92[rbp]
	lea	rcx, 264[rdx]
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR [rax+rcx*8], rdx
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 2
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 8
	add	eax, edx
	sal	eax, 16
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 3
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 4
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 8
	add	eax, edx
	sal	eax, 16
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 5
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 6
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 8
	add	eax, edx
	mov	DWORD PTR -88[rbp], eax
	mov	eax, DWORD PTR -88[rbp]
	sal	eax, 18
	and	eax, 29622272
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 4[rax], edx
	mov	eax, DWORD PTR -88[rbp]
	and	eax, 32768
	test	eax, eax
	je	.L479
	mov	rax, QWORD PTR -56[rbp]
	mov	BYTE PTR 16[rax], 0
	jmp	.L480
.L479:
	mov	eax, DWORD PTR -88[rbp]
	and	eax, 16384
	test	eax, eax
	setne	dl
	mov	rax, QWORD PTR -56[rbp]
	mov	ecx, edx
	and	ecx, 1
	movzx	edx, BYTE PTR 18[rax]
	and	edx, -2
	or	edx, ecx
	mov	BYTE PTR 18[rax], dl
	mov	eax, DWORD PTR -88[rbp]
	shr	eax
	and	eax, 7
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	BYTE PTR 16[rax], dl
	mov	eax, DWORD PTR -88[rbp]
	and	eax, 128
	test	eax, eax
	jne	.L481
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR 16[rax]
	jmp	.L482
.L481:
	mov	eax, 0
.L482:
	mov	rdx, QWORD PTR -56[rbp]
	mov	BYTE PTR 17[rdx], al
.L480:
	mov	eax, DWORD PTR -92[rbp]
	mov	edx, 120
	mov	ecx, eax
	sar	rdx, cl
	mov	rax, rdx
	and	eax, 1
	test	rax, rax
	jne	.L483
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 2088[rax]
	or	eax, 4112
	mov	edx, eax
	mov	rax, QWORD PTR -136[rbp]
	mov	DWORD PTR 2088[rax], edx
.L483:
	add	QWORD PTR -56[rbp], 28
	jmp	.L416
.L491:
	nop
	jmp	.L416
.L492:
	nop
	jmp	.L416
.L494:
	nop
	jmp	.L416
.L496:
	nop
	jmp	.L416
.L498:
	nop
.L416:
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -48[rbp], rax
	add	DWORD PTR -124[rbp], 1
.L413:
	mov	eax, DWORD PTR -124[rbp]
	cmp	eax, DWORD PTR -100[rbp]
	jb	.L484
.L411:
	mov	rax, QWORD PTR -136[rbp]
	lea	rdx, 2464[rax]
	mov	rax, QWORD PTR -56[rbp]
	sub	rax, rdx
	sar	rax, 2
	mov	rdx, rax
	movabs	rax, 7905747460161236407
	imul	rax, rdx
.L393:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE97:
	.size	tulip_srom_decode, .-tulip_srom_decode
	.section	.data.rel.ro.local
	.align 32
	.type	tulip_vendors, @object
	.size	tulip_vendors, 176
tulip_vendors:
	.quad	tulip_identify_dec_nic
	.string	"\b"
	.ascii	"+"
	.zero	5
	.quad	tulip_identify_dec_nic
	.string	""
	.string	""
	.ascii	"\370"
	.zero	5
	.quad	tulip_identify_smc_nic
	.string	""
	.string	""
	.ascii	"\300"
	.zero	5
	.quad	tulip_identify_smc_nic
	.string	""
	.ascii	"\340)"
	.zero	5
	.quad	tulip_identify_znyx_nic
	.string	""
	.ascii	"\300\225"
	.zero	5
	.quad	tulip_identify_cogent_nic
	.string	""
	.string	""
	.ascii	"\222"
	.zero	5
	.quad	tulip_identify_cogent_nic
	.string	""
	.string	""
	.ascii	"\321"
	.zero	5
	.quad	tulip_identify_asante_nic
	.string	""
	.string	""
	.ascii	"\224"
	.zero	5
	.quad	tulip_identify_accton_nic
	.string	""
	.string	""
	.ascii	"\350"
	.zero	5
	.quad	tulip_identify_compex_nic
	.string	""
	.ascii	"\200H"
	.zero	5
	.quad	0
	.zero	8
	.text
	.globl	tulip_read_macaddr
	.type	tulip_read_macaddr, @function
tulip_read_macaddr:
.LFB98:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -56[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	BYTE PTR 3097[rax], 19
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 2248[rax]
	test	eax, eax
	jne	.L500
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR 2024[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, 1
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	DWORD PTR -44[rbp], 0
	jmp	.L501
.L505:
	mov	DWORD PTR -40[rbp], 0
	jmp	.L502
.L504:
	add	DWORD PTR -40[rbp], 1
.L502:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rcx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 2024[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	mov	DWORD PTR -32[rbp], eax
	mov	eax, DWORD PTR -32[rbp]
	test	eax, eax
	jns	.L503
	cmp	DWORD PTR -40[rbp], 9999
	jle	.L504
.L503:
	mov	eax, DWORD PTR -32[rbp]
	mov	ecx, eax
	mov	rdx, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR -44[rbp]
	mov	BYTE PTR 2960[rdx+rax], cl
	add	DWORD PTR -44[rbp], 1
.L501:
	cmp	DWORD PTR -44[rbp], 127
	jbe	.L505
	mov	rax, QWORD PTR -56[rbp]
	lea	rdx, tulip_21040_boardsw[rip]
	mov	QWORD PTR 2256[rax], rdx
	jmp	.L506
.L500:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 2248[rax]
	cmp	eax, 2
	jne	.L507
	mov	rax, QWORD PTR -56[rbp]
	lea	rdx, tulip_21041_boardsw[rip]
	mov	QWORD PTR 2256[rax], rdx
	jmp	.L508
.L507:
	mov	rax, QWORD PTR -56[rbp]
	lea	rdx, tulip_21140_eb_boardsw[rip]
	mov	QWORD PTR 2256[rax], rdx
.L508:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	tulip_srom_read
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 2960
	mov	esi, 126
	mov	rdi, rax
	call	ether_crc32_le@PLT
	not	eax
	movzx	edx, ax
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR 3086[rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR 3087[rax]
	movzx	eax, al
	sal	eax, 8
	or	eax, ecx
	cmp	edx, eax
	jne	.L509
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 2084[rax]
	or	eax, 131328
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 2084[rax], edx
	jmp	.L510
.L509:
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR 3086[rax]
	cmp	al, -1
	jne	.L511
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR 3087[rax]
	cmp	al, -1
	jne	.L511
	mov	DWORD PTR -44[rbp], 0
	jmp	.L512
.L515:
	mov	rdx, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR -44[rbp]
	movzx	eax, BYTE PTR 2960[rdx+rax]
	test	al, al
	jne	.L551
	add	DWORD PTR -44[rbp], 1
.L512:
	cmp	DWORD PTR -44[rbp], 17
	jbe	.L515
	jmp	.L514
.L551:
	nop
.L514:
	cmp	DWORD PTR -44[rbp], 18
	jne	.L552
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR 2978[rax]
	cmp	al, 1
	jne	.L552
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR 2979[rax]
	test	al, al
	je	.L552
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 2084[rax]
	or	ah, 1
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 2084[rax], edx
	jmp	.L552
.L511:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 2248[rax]
	cmp	eax, 4
	jbe	.L510
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 2084[rax]
	or	ah, 1
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 2084[rax], edx
	mov	rax, QWORD PTR -56[rbp]
	lea	rdx, tulip_2114x_isv_boardsw[rip]
	mov	QWORD PTR 2256[rax], rdx
	jmp	.L510
.L552:
	nop
.L510:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 2084[rax]
	and	eax, 256
	test	eax, eax
	je	.L506
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	tulip_srom_decode
	test	eax, eax
	je	.L506
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 2248[rax]
	cmp	eax, 2
	je	.L517
	mov	rax, QWORD PTR -56[rbp]
	lea	rdx, tulip_2114x_isv_boardsw[rip]
	mov	QWORD PTR 2256[rax], rdx
.L517:
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR 2979[rax]
	cmp	al, 1
	jbe	.L518
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 2084[rax]
	or	ah, 2
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 2084[rax], edx
.L518:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 2256[rax]
	test	rax, rax
	jne	.L553
	mov	eax, -6
	jmp	.L549
.L506:
	mov	rax, QWORD PTR -56[rbp]
	lea	rcx, 2976[rax]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 2960
	mov	edx, 8
	mov	rsi, rcx
	mov	rdi, rax
	call	memcmp@PLT
	test	eax, eax
	je	.L522
	mov	DWORD PTR -44[rbp], 8
	jmp	.L523
.L525:
	mov	rdx, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR -44[rbp]
	movzx	eax, BYTE PTR 2960[rdx+rax]
	cmp	al, -1
	je	.L524
	mov	eax, -4
	jmp	.L549
.L524:
	add	DWORD PTR -44[rbp], 1
.L523:
	cmp	DWORD PTR -44[rbp], 31
	jbe	.L525
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR 2960[rax]
	movzx	eax, al
	and	eax, 3
	test	eax, eax
	je	.L526
	mov	eax, -4
	jmp	.L549
.L526:
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR 2960[rax]
	test	al, al
	jne	.L527
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR 2961[rax]
	test	al, al
	jne	.L527
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR 2962[rax]
	test	al, al
	jne	.L527
	mov	eax, -4
	jmp	.L549
.L527:
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 1888
	mov	rdx, QWORD PTR -56[rbp]
	lea	rcx, 2960[rdx]
	mov	edx, 6
	mov	rsi, rcx
	mov	rdi, rax
	call	memmove@PLT
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 2084[rax]
	or	ah, 32
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 2084[rax], edx
	jmp	.L521
.L522:
	mov	DWORD PTR -44[rbp], 0
	jmp	.L528
.L531:
	mov	rdx, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR -44[rbp]
	movzx	eax, BYTE PTR 2960[rdx+rax]
	test	al, al
	je	.L529
	mov	rdx, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR -44[rbp]
	movzx	eax, BYTE PTR 2960[rdx+rax]
	cmp	al, -1
	jne	.L554
.L529:
	add	DWORD PTR -44[rbp], 1
.L528:
	cmp	DWORD PTR -44[rbp], 127
	jbe	.L531
	jmp	.L530
.L554:
	nop
.L530:
	cmp	DWORD PTR -44[rbp], 128
	jne	.L532
	mov	QWORD PTR -24[rbp], 0
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 32[rax]
	sub	eax, 1
	mov	DWORD PTR -36[rbp], eax
	jmp	.L533
.L535:
	mov	rdx, QWORD PTR de_cd[rip]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	je	.L534
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2084[rax]
	and	eax, 9216
	cmp	eax, 8192
	je	.L534
	mov	QWORD PTR -24[rbp], 0
	sub	DWORD PTR -36[rbp], 1
.L533:
	cmp	DWORD PTR -36[rbp], 0
	jns	.L535
.L534:
	cmp	QWORD PTR -24[rbp], 0
	je	.L532
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2084[rax]
	and	eax, 512
	test	eax, eax
	je	.L532
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 2248[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 2248[rax]
	cmp	edx, eax
	jne	.L532
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 3088[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 3088[rax]
	cmp	rdx, rax
	jne	.L532
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 2084[rax]
	or	ah, 4
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 2084[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 2256[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR 2256[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	lea	rcx, 2944[rax]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 2944
	mov	edx, 16
	mov	rsi, rcx
	mov	rdi, rax
	call	strlcpy@PLT
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 2256[rax]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 1
	jne	.L536
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 2960
	mov	rdx, QWORD PTR -24[rbp]
	lea	rcx, 2960[rdx]
	mov	edx, 128
	mov	rsi, rcx
	mov	rdi, rax
	call	memmove@PLT
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	tulip_srom_decode
	test	eax, eax
	jne	.L537
	mov	eax, -5
	jmp	.L549
.L536:
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 1888
	mov	rdx, QWORD PTR -24[rbp]
	lea	rcx, 1888[rdx]
	mov	edx, 6
	mov	rsi, rcx
	mov	rdi, rax
	call	memmove@PLT
	mov	rax, QWORD PTR -56[rbp]
	movzx	edx, BYTE PTR 1893[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 32[rax]
	mov	ecx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 32[rax]
	mov	esi, eax
	mov	eax, ecx
	sub	eax, esi
	add	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	BYTE PTR 1893[rax], dl
.L537:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2084[rax]
	and	eax, 4096
	test	eax, eax
	je	.L538
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 2264[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR 2264[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR 2264[rax], rdx
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 2084[rax]
	or	ah, 8
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 2084[rax], edx
.L538:
	mov	eax, 0
	jmp	.L549
.L532:
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 2984
	mov	edx, 8
	lea	rsi, testpat.0[rip]
	mov	rdi, rax
	call	memcmp@PLT
	test	eax, eax
	je	.L539
	mov	eax, -3
	jmp	.L549
.L539:
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR 2975[rax]
	mov	BYTE PTR -16[rbp], al
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR 2974[rax]
	mov	BYTE PTR -15[rbp], al
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR 2973[rax]
	mov	BYTE PTR -14[rbp], al
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR 2972[rax]
	mov	BYTE PTR -13[rbp], al
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR 2971[rax]
	mov	BYTE PTR -12[rbp], al
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR 2970[rax]
	mov	BYTE PTR -11[rbp], al
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR 2969[rax]
	mov	BYTE PTR -10[rbp], al
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR 2968[rax]
	mov	BYTE PTR -9[rbp], al
	mov	rax, QWORD PTR -56[rbp]
	lea	rcx, 2960[rax]
	lea	rax, -16[rbp]
	mov	edx, 8
	mov	rsi, rax
	mov	rdi, rcx
	call	memcmp@PLT
	test	eax, eax
	je	.L540
	mov	eax, -2
	jmp	.L549
.L540:
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 1888
	mov	rdx, QWORD PTR -56[rbp]
	lea	rcx, 2960[rdx]
	mov	edx, 6
	mov	rsi, rcx
	mov	rdi, rax
	call	memmove@PLT
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 1888
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	mov	DWORD PTR -48[rbp], eax
	sal	DWORD PTR -48[rbp]
	cmp	DWORD PTR -48[rbp], 65535
	jbe	.L541
	sub	DWORD PTR -48[rbp], 65535
.L541:
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 1890
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	add	DWORD PTR -48[rbp], eax
	cmp	DWORD PTR -48[rbp], 65535
	jbe	.L542
	sub	DWORD PTR -48[rbp], 65535
.L542:
	sal	DWORD PTR -48[rbp]
	cmp	DWORD PTR -48[rbp], 65535
	jbe	.L543
	sub	DWORD PTR -48[rbp], 65535
.L543:
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 1892
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	add	DWORD PTR -48[rbp], eax
	cmp	DWORD PTR -48[rbp], 65534
	jbe	.L544
	sub	DWORD PTR -48[rbp], 65535
.L544:
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 2966
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	mov	DWORD PTR -28[rbp], eax
	mov	eax, DWORD PTR -48[rbp]
	cmp	eax, DWORD PTR -28[rbp]
	je	.L555
	mov	eax, -1
	jmp	.L549
.L553:
	nop
	jmp	.L521
.L555:
	nop
.L521:
	mov	DWORD PTR -44[rbp], 0
	jmp	.L545
.L548:
	mov	eax, DWORD PTR -44[rbp]
	sal	rax, 4
	mov	rdx, rax
	lea	rax, tulip_vendors[rip]
	add	rax, rdx
	lea	rcx, 8[rax]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 1888
	mov	edx, 3
	mov	rsi, rcx
	mov	rdi, rax
	call	memcmp@PLT
	test	eax, eax
	jne	.L546
	mov	eax, DWORD PTR -44[rbp]
	sal	rax, 4
	mov	rdx, rax
	lea	rax, tulip_vendors[rip]
	mov	rdx, QWORD PTR [rdx+rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	rdx
	jmp	.L547
.L546:
	add	DWORD PTR -44[rbp], 1
.L545:
	mov	eax, DWORD PTR -44[rbp]
	sal	rax, 4
	mov	rdx, rax
	lea	rax, tulip_vendors[rip]
	mov	rax, QWORD PTR [rdx+rax]
	test	rax, rax
	jne	.L548
.L547:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 2084[rax]
	or	ah, 32
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 2084[rax], edx
	mov	eax, 0
.L549:
	mov	rsi, QWORD PTR -8[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L550
	call	__stack_chk_fail@PLT
.L550:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE98:
	.size	tulip_read_macaddr, .-tulip_read_macaddr
	.globl	tulip_ifmedia_add
	.type	tulip_ifmedia_add, @function
tulip_ifmedia_add:
.LFB99:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -4[rbp], 0
	mov	DWORD PTR -8[rbp], 0
	jmp	.L557
.L559:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -8[rbp]
	add	rdx, 264
	mov	rax, QWORD PTR [rax+rdx*8]
	test	rax, rax
	je	.L558
	mov	eax, DWORD PTR -8[rbp]
	lea	rdx, 0[0+rax*8]
	lea	rax, tulip_media_to_ifmedia[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	rdx, QWORD PTR -24[rbp]
	lea	rdi, 120[rdx]
	mov	ecx, 0
	mov	edx, 0
	mov	rsi, rax
	call	ifmedia_add@PLT
	add	DWORD PTR -4[rbp], 1
.L558:
	add	DWORD PTR -8[rbp], 1
.L557:
	cmp	DWORD PTR -8[rbp], 11
	jbe	.L559
	cmp	DWORD PTR -4[rbp], 0
	jne	.L560
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2084[rax]
	or	ah, 64
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 2084[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 120
	mov	ecx, 0
	mov	edx, 0
	mov	esi, 258
	mov	rdi, rax
	call	ifmedia_add@PLT
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 120
	mov	esi, 258
	mov	rdi, rax
	call	ifmedia_set@PLT
	jmp	.L563
.L560:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2208[rax]
	test	eax, eax
	jne	.L562
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 120
	mov	ecx, 0
	mov	edx, 0
	mov	esi, 256
	mov	rdi, rax
	call	ifmedia_add@PLT
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 120
	mov	esi, 256
	mov	rdi, rax
	call	ifmedia_set@PLT
	jmp	.L563
.L562:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2208[rax]
	mov	eax, eax
	lea	rdx, 0[0+rax*8]
	lea	rax, tulip_media_to_ifmedia[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	rdx, QWORD PTR -24[rbp]
	add	rdx, 120
	mov	rsi, rax
	mov	rdi, rdx
	call	ifmedia_set@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2080[rax]
	or	eax, 16
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 2080[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 2208[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	tulip_linkup
.L563:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE99:
	.size	tulip_ifmedia_add, .-tulip_ifmedia_add
	.globl	tulip_ifmedia_change
	.type	tulip_ifmedia_change, @function
tulip_ifmedia_change:
.LFB100:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2080[rax]
	or	ah, 4
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 2080[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 2228[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 2208[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 128[rax]
	movzx	eax, al
	test	rax, rax
	je	.L565
	mov	DWORD PTR -12[rbp], 0
	jmp	.L566
.L569:
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -12[rbp]
	add	rdx, 264
	mov	rax, QWORD PTR [rax+rdx*8]
	test	rax, rax
	je	.L567
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 128[rax]
	mov	eax, DWORD PTR -12[rbp]
	lea	rcx, 0[0+rax*8]
	lea	rax, tulip_media_to_ifmedia[rip]
	mov	rax, QWORD PTR [rcx+rax]
	cmp	rdx, rax
	jne	.L567
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2080[rax]
	or	eax, 16
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 2080[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, -33554433
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 2080[rax], edx
	mov	edx, DWORD PTR -12[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	tulip_linkup
	mov	eax, 0
	jmp	.L568
.L567:
	add	DWORD PTR -12[rbp], 1
.L566:
	cmp	DWORD PTR -12[rbp], 11
	jbe	.L569
.L565:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	al, 95
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 2080[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	tulip_reset
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	tulip_init
	mov	eax, 0
.L568:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE100:
	.size	tulip_ifmedia_change, .-tulip_ifmedia_change
	.globl	tulip_ifmedia_status
	.type	tulip_ifmedia_status, @function
tulip_ifmedia_status:
.LFB101:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2208[rax]
	test	eax, eax
	je	.L574
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR 32[rax], 1
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, 262144
	test	eax, eax
	je	.L573
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 32[rax]
	or	rax, 2
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR 32[rax], rdx
.L573:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2208[rax]
	mov	eax, eax
	lea	rdx, 0[0+rax*8]
	lea	rax, tulip_media_to_ifmedia[rip]
	mov	rdx, QWORD PTR [rdx+rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR 40[rax], rdx
	jmp	.L570
.L574:
	nop
.L570:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE101:
	.size	tulip_ifmedia_status, .-tulip_ifmedia_status
	.globl	tulip_alloc_rxmap
	.type	tulip_alloc_rxmap, @function
tulip_alloc_rxmap:
.LFB102:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 856[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 856[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 856[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, edx
	add	rdx, 58
	mov	rax, QWORD PTR 8[rax+rdx*8]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE102:
	.size	tulip_alloc_rxmap, .-tulip_alloc_rxmap
	.globl	tulip_free_rxmap
	.type	tulip_free_rxmap, @function
tulip_free_rxmap:
.LFB103:
	.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	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 856[rax]
	lea	ecx, 1[rdx]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 856[rax], ecx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, edx
	lea	rcx, 58[rdx]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 8[rax+rcx*8], rdx
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE103:
	.size	tulip_free_rxmap, .-tulip_free_rxmap
	.globl	tulip_alloc_txmap
	.type	tulip_alloc_txmap, @function
tulip_alloc_txmap:
.LFB104:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 456[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 456[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 456[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, edx
	add	rdx, 24
	mov	rax, QWORD PTR 8[rax+rdx*8]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE104:
	.size	tulip_alloc_txmap, .-tulip_alloc_txmap
	.globl	tulip_free_txmap
	.type	tulip_free_txmap, @function
tulip_free_txmap:
.LFB105:
	.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	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 456[rax]
	lea	ecx, 1[rdx]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 456[rax], ecx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, edx
	lea	rcx, 24[rdx]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 8[rax+rcx*8], rdx
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE105:
	.size	tulip_free_txmap, .-tulip_free_txmap
	.globl	tulip_addr_filter
	.type	tulip_addr_filter, @function
tulip_addr_filter:
.LFB106:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -56[rbp], rdi
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 864
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, -71
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 2080[rax], edx
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 2080[rax]
	or	eax, 16385
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 2080[rax], edx
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 2092[rax]
	and	eax, -3
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 2092[rax], edx
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 2088[rax]
	and	ah, -2
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 2088[rax], edx
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, WORD PTR 1046[rax]
	and	ah, -3
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	WORD PTR 1046[rax], dx
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 1904[rax]
	cmp	eax, 14
	jle	.L582
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 2752
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 2084[rax]
	and	eax, 128
	test	eax, eax
	je	.L583
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 2080[rax]
	or	eax, 4
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 2080[rax], edx
	jmp	.L584
.L583:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 2080[rax]
	or	eax, 2
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 2080[rax], edx
.L584:
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 2752
	mov	ecx, 192
	mov	esi, 0
	mov	QWORD PTR [rax], rsi
	mov	edx, ecx
	add	rdx, rax
	add	rdx, 8
	mov	QWORD PTR -16[rdx], rsi
	lea	rdx, 8[rax]
	and	rdx, -8
	sub	rax, rdx
	add	ecx, eax
	and	ecx, -8
	mov	eax, ecx
	shr	eax, 3
	mov	ecx, eax
	mov	rdi, rdx
	mov	rax, rsi
	rep stosq
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 1044[rax]
	test	eax, eax
	jle	.L585
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 2080[rax]
	or	eax, 64
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 2080[rax], edx
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, -7
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 2080[rax], edx
	jmp	.L586
.L585:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 1032[rax]
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -32[rbp], rax
	cmp	QWORD PTR -32[rbp], 0
	je	.L588
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -40[rbp], rax
	jmp	.L588
.L589:
	mov	rax, QWORD PTR -32[rbp]
	mov	esi, 6
	mov	rdi, rax
	call	ether_crc32_le@PLT
	and	eax, 511
	mov	DWORD PTR -44[rbp], eax
	mov	eax, DWORD PTR -44[rbp]
	shr	eax, 4
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -44[rbp]
	and	eax, 15
	mov	esi, 1
	mov	ecx, eax
	sal	esi, cl
	mov	eax, esi
	mov	esi, eax
	mov	eax, DWORD PTR -44[rbp]
	shr	eax, 4
	mov	eax, eax
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rcx
	or	edx, esi
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -32[rbp], rax
	cmp	QWORD PTR -32[rbp], 0
	je	.L588
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -40[rbp], rax
.L588:
	cmp	QWORD PTR -32[rbp], 0
	jne	.L589
.L586:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, 64
	test	eax, eax
	jne	.L582
	mov	esi, 6
	lea	rdi, etherbroadcastaddr[rip]
	call	ether_crc32_le@PLT
	and	eax, 511
	mov	DWORD PTR -44[rbp], eax
	mov	eax, DWORD PTR -44[rbp]
	shr	eax, 4
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -44[rbp]
	and	eax, 15
	mov	esi, 1
	mov	ecx, eax
	sal	esi, cl
	mov	eax, esi
	mov	esi, eax
	mov	eax, DWORD PTR -44[rbp]
	shr	eax, 4
	mov	eax, eax
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rcx
	or	edx, esi
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, 4
	test	eax, eax
	je	.L590
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 1888
	mov	esi, 6
	mov	rdi, rax
	call	ether_crc32_le@PLT
	and	eax, 511
	mov	DWORD PTR -44[rbp], eax
	mov	eax, DWORD PTR -44[rbp]
	shr	eax, 4
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -44[rbp]
	and	eax, 15
	mov	esi, 1
	mov	ecx, eax
	sal	esi, cl
	mov	eax, esi
	mov	esi, eax
	mov	eax, DWORD PTR -44[rbp]
	shr	eax, 4
	mov	eax, eax
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rcx
	or	edx, esi
	mov	DWORD PTR [rax], edx
	jmp	.L582
.L590:
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 1888
	movzx	eax, WORD PTR [rax]
	mov	rdx, QWORD PTR -8[rbp]
	add	rdx, 156
	movzx	eax, ax
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 1888
	add	rax, 2
	movzx	eax, WORD PTR [rax]
	mov	rdx, QWORD PTR -8[rbp]
	add	rdx, 160
	movzx	eax, ax
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 1888
	add	rax, 4
	movzx	eax, WORD PTR [rax]
	mov	rdx, QWORD PTR -8[rbp]
	add	rdx, 164
	movzx	eax, ax
	mov	DWORD PTR [rdx], eax
.L582:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, 6
	test	eax, eax
	jne	.L591
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 2752
	mov	QWORD PTR -24[rbp], rax
	mov	DWORD PTR -48[rbp], 0
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 1044[rax]
	test	eax, eax
	jle	.L592
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 2080[rax]
	or	eax, 64
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 2080[rax], edx
.L592:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, 64
	test	eax, eax
	jne	.L598
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 1032[rax]
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -32[rbp], rax
	cmp	QWORD PTR -32[rbp], 0
	je	.L595
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -40[rbp], rax
	jmp	.L595
.L597:
	mov	rax, QWORD PTR -32[rbp]
	movzx	ecx, WORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 4[rax]
	mov	QWORD PTR -24[rbp], rdx
	movzx	edx, cx
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 2
	movzx	ecx, WORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 4[rax]
	mov	QWORD PTR -24[rbp], rdx
	movzx	edx, cx
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 4
	movzx	ecx, WORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 4[rax]
	mov	QWORD PTR -24[rbp], rdx
	movzx	edx, cx
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -32[rbp], rax
	cmp	QWORD PTR -32[rbp], 0
	je	.L596
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -40[rbp], rax
.L596:
	add	DWORD PTR -48[rbp], 1
.L595:
	cmp	QWORD PTR -32[rbp], 0
	jne	.L597
	add	DWORD PTR -48[rbp], 1
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 4[rax]
	mov	QWORD PTR -24[rbp], rdx
	mov	DWORD PTR [rax], 65535
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 4[rax]
	mov	QWORD PTR -24[rbp], rdx
	mov	DWORD PTR [rax], 65535
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 4[rax]
	mov	QWORD PTR -24[rbp], rdx
	mov	DWORD PTR [rax], 65535
	jmp	.L598
.L599:
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 1888
	movzx	ecx, WORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 4[rax]
	mov	QWORD PTR -24[rbp], rdx
	movzx	edx, cx
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 1888
	add	rax, 2
	movzx	ecx, WORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 4[rax]
	mov	QWORD PTR -24[rbp], rdx
	movzx	edx, cx
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 1888
	add	rax, 4
	movzx	ecx, WORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 4[rax]
	mov	QWORD PTR -24[rbp], rdx
	movzx	edx, cx
	mov	DWORD PTR [rax], edx
	add	DWORD PTR -48[rbp], 1
.L598:
	cmp	DWORD PTR -48[rbp], 15
	jle	.L599
.L591:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, 64
	test	eax, eax
	je	.L601
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, WORD PTR 1046[rax]
	or	ah, 2
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	WORD PTR 1046[rax], dx
.L601:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE106:
	.size	tulip_addr_filter, .-tulip_addr_filter
	.globl	tulip_reset
	.type	tulip_reset, @function
tulip_reset:
.LFB107:
	.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, 88
	.cfi_offset 3, -24
	mov	QWORD PTR -88[rbp], rdi
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, 512
	mov	DWORD PTR -68[rbp], eax
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, 268435456
	test	eax, eax
	jne	.L603
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 2256[rax]
	mov	rax, QWORD PTR 32[rax]
	test	rax, rax
	je	.L603
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 2256[rax]
	mov	rdx, QWORD PTR 32[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rdi, rax
	call	rdx
.L603:
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rcx, QWORD PTR 1952[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, 1
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR delay_func[rip]
	mov	edi, 10
	call	rax
	cmp	DWORD PTR -68[rbp], 0
	jne	.L604
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 2080[rax]
	or	ah, 2
	mov	edx, eax
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 2080[rax], edx
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, -525313
	mov	edx, eax
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 2080[rax], edx
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 1408
	mov	rdi, rax
	call	ifq_clr_oactive
.L604:
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 192[rax]
	mov	rax, QWORD PTR 64[rax]
	mov	edx, eax
	mov	rax, QWORD PTR -88[rbp]
	mov	rcx, QWORD PTR 1984[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 464[rax]
	mov	rax, QWORD PTR 64[rax]
	mov	edx, eax
	mov	rax, QWORD PTR -88[rbp]
	mov	rcx, QWORD PTR 1976[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rcx, QWORD PTR 1952[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, 2115584
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 2100[rax], 0
.L607:
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 2272
	mov	rdi, rax
	call	ml_dequeue@PLT
	mov	QWORD PTR -56[rbp], rax
	cmp	QWORD PTR -56[rbp], 0
	je	.L621
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	rcx, QWORD PTR 56[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	rdx, QWORD PTR -48[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	tulip_free_txmap
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	m_freem@PLT
	jmp	.L607
.L621:
	nop
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 2424
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -64[rbp], rax
	jmp	.L608
.L609:
	mov	rax, QWORD PTR -64[rbp]
	mov	DWORD PTR [rax], 0
	add	QWORD PTR -64[rbp], 16
.L608:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	cmp	QWORD PTR -64[rbp], rax
	jb	.L609
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	r9, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 192[rax]
	mov	rdx, QWORD PTR 48[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, QWORD PTR 192[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	r8d, 5
	mov	rcx, rdx
	mov	edx, 0
	mov	rdi, rax
	call	r9
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 2384
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -64[rbp], rax
	jmp	.L610
.L611:
	mov	rax, QWORD PTR -64[rbp]
	mov	DWORD PTR [rax], 0
	mov	rax, QWORD PTR -64[rbp]
	movzx	edx, WORD PTR 4[rax]
	and	dx, -2048
	mov	WORD PTR 4[rax], dx
	mov	rax, QWORD PTR -64[rbp]
	mov	DWORD PTR 8[rax], 0
	mov	rax, QWORD PTR -64[rbp]
	mov	edx, DWORD PTR 4[rax]
	and	edx, -4192257
	mov	DWORD PTR 4[rax], edx
	mov	rax, QWORD PTR -64[rbp]
	mov	DWORD PTR 12[rax], 0
	add	QWORD PTR -64[rbp], 16
.L610:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	cmp	QWORD PTR -64[rbp], rax
	jb	.L611
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	r9, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 464[rax]
	mov	rdx, QWORD PTR 48[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, QWORD PTR 464[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	r8d, 5
	mov	rcx, rdx
	mov	edx, 0
	mov	rdi, rax
	call	r9
.L614:
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 2296
	mov	rdi, rax
	call	ml_dequeue@PLT
	mov	QWORD PTR -32[rbp], rax
	cmp	QWORD PTR -32[rbp], 0
	je	.L622
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	rcx, QWORD PTR 56[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	tulip_free_rxmap
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	m_freem@PLT
	jmp	.L614
.L622:
	nop
	cmp	DWORD PTR -68[rbp], 0
	jne	.L623
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 2088[rax]
	or	eax, 106859
	mov	edx, eax
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 2088[rax], edx
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, 268435456
	test	eax, eax
	jne	.L617
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 2256[rax]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rdi, rax
	call	rdx
.L617:
	mov	rax, QWORD PTR -88[rbp]
	mov	rdi, rax
	call	tulip_media_print
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 2084[rax]
	and	eax, 32
	test	eax, eax
	je	.L618
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rbx, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rcx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR 2048[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	mov	edx, eax
	mov	rax, QWORD PTR -88[rbp]
	mov	rcx, QWORD PTR 2048[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rcx
	mov	rdi, rax
	call	rbx
.L618:
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, -778
	mov	edx, eax
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 2080[rax], edx
	mov	rax, QWORD PTR -88[rbp]
	mov	rdi, rax
	call	tulip_addr_filter
	jmp	.L602
.L623:
	nop
.L602:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE107:
	.size	tulip_reset, .-tulip_reset
	.globl	tulip_init
	.type	tulip_init, @function
tulip_init:
.LFB108:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, WORD PTR 1046[rax]
	cwde
	and	eax, 1
	test	eax, eax
	je	.L625
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, WORD PTR 1046[rax]
	cwde
	and	eax, 64
	test	eax, eax
	jne	.L626
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	tulip_reset
.L626:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, WORD PTR 1046[rax]
	or	eax, 64
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	WORD PTR 1046[rax], dx
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, WORD PTR 1046[rax]
	cwde
	and	eax, 256
	test	eax, eax
	je	.L627
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2080[rax]
	or	eax, 536870912
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 2080[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2092[rax]
	or	eax, 64
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 2092[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2088[rax]
	or	eax, 1
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 2088[rax], edx
	jmp	.L628
.L627:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, -536870913
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 2080[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2092[rax]
	and	eax, -65
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 2092[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, 64
	test	eax, eax
	je	.L629
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2092[rax]
	or	al, -128
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 2092[rax], edx
	jmp	.L628
.L629:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2092[rax]
	and	al, 127
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 2092[rax], edx
.L628:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2092[rax]
	or	ah, 32
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 2092[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, 33
	test	eax, eax
	jne	.L630
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	tulip_rx_intr
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2092[rax]
	or	eax, 2
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 2092[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2088[rax]
	or	ah, 1
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 2088[rax], edx
	jmp	.L631
.L630:
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 1408
	mov	rdi, rax
	call	ifq_set_oactive
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2092[rax]
	and	eax, -3
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 2092[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2088[rax]
	and	ah, -2
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 2088[rax], edx
.L631:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 2088[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rcx, QWORD PTR 2008[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 2092[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rcx, QWORD PTR 2000[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, 33
	cmp	eax, 1
	jne	.L633
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	tulip_txput_setup
	jmp	.L633
.L625:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, WORD PTR 1046[rax]
	and	eax, -65
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	WORD PTR 1046[rax], dx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	tulip_reset
.L633:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE108:
	.size	tulip_init, .-tulip_init
	.section	.rodata
.LC32:
	.string	"%s: tulip_rxq empty"
	.align 8
.LC33:
	.string	"%s%d: unable to load rx map, error = %d\n"
.LC34:
	.string	"tulip_rx_intr"
	.text
	.globl	tulip_rx_intr
	.type	tulip_rx_intr, @function
tulip_rx_intr:
.LFB109:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 144
	mov	QWORD PTR -136[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 2384
	mov	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 864
	mov	QWORD PTR -56[rbp], rax
	mov	QWORD PTR -32[rbp], 0
	mov	QWORD PTR -24[rbp], 0
	mov	DWORD PTR -16[rbp], 0
	mov	DWORD PTR -116[rbp], 1
.L667:
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -96[rbp], rax
	mov	DWORD PTR -112[rbp], 0
	mov	DWORD PTR -108[rbp], 0
	mov	QWORD PTR -88[rbp], 0
	mov	QWORD PTR -80[rbp], 0
	mov	DWORD PTR -104[rbp], 0
	cmp	DWORD PTR -116[rbp], 0
	je	.L635
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 2312[rax]
	cmp	eax, 31
	jbe	.L670
.L635:
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR 24[rax]
	cmp	QWORD PTR -96[rbp], rax
	je	.L671
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	r9, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	rdx, QWORD PTR 3104[rax]
	mov	rax, QWORD PTR -96[rbp]
	sub	rax, rdx
	mov	rdx, rax
	mov	rax, QWORD PTR -136[rbp]
	mov	rsi, QWORD PTR 464[rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	r8d, 10
	mov	ecx, 16
	mov	rdi, rax
	call	r9
	mov	rax, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR [rax]
	and	eax, -2147482880
	cmp	eax, 768
	jne	.L639
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 2312[rax]
	test	eax, eax
	jne	.L640
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 976
	mov	rsi, rax
	lea	rdi, .LC32[rip]
	mov	eax, 0
	call	panic@PLT
.L640:
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 2296
	mov	rdi, rax
	call	ml_dequeue@PLT
	mov	QWORD PTR -88[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR -80[rbp], rax
	jmp	.L641
.L639:
	mov	rax, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	js	.L672
	jmp	.L643
.L647:
	add	QWORD PTR -96[rbp], 16
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR 8[rax]
	cmp	QWORD PTR -96[rbp], rax
	jne	.L644
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -96[rbp], rax
.L644:
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	r9, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	rdx, QWORD PTR 3104[rax]
	mov	rax, QWORD PTR -96[rbp]
	sub	rax, rdx
	mov	rdx, rax
	mov	rax, QWORD PTR -136[rbp]
	mov	rsi, QWORD PTR 464[rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	r8d, 10
	mov	ecx, 16
	mov	rdi, rax
	call	r9
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR 24[rax]
	cmp	QWORD PTR -96[rbp], rax
	je	.L673
	mov	rax, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	js	.L673
	add	DWORD PTR -112[rbp], 1
.L643:
	mov	rax, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR [rax]
	and	eax, 256
	test	eax, eax
	je	.L647
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 2296
	mov	rdi, rax
	call	ml_dequeue@PLT
	mov	QWORD PTR -88[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR -80[rbp], rax
	jmp	.L648
.L649:
	mov	rax, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	r9, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR 48[rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	rsi, QWORD PTR -48[rbp]
	mov	r8d, 10
	mov	rcx, rdx
	mov	edx, 0
	mov	rdi, rax
	call	r9
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	rcx, QWORD PTR 56[rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	rdx, QWORD PTR -48[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -136[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	tulip_free_rxmap
	mov	rax, QWORD PTR -80[rbp]
	mov	DWORD PTR 24[rax], 2032
	add	DWORD PTR -108[rbp], 2032
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 2296
	mov	rdi, rax
	call	ml_dequeue@PLT
	mov	rdx, QWORD PTR -80[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -80[rbp], rax
	sub	DWORD PTR -112[rbp], 1
.L648:
	cmp	DWORD PTR -112[rbp], 0
	jg	.L649
.L641:
	mov	rax, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR [rax]
	shr	eax, 16
	and	eax, 32767
	sub	eax, 4
	mov	DWORD PTR -112[rbp], eax
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, 67108864
	test	eax, eax
	jne	.L650
	mov	rax, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR [rax]
	and	eax, 32768
	test	eax, eax
	jne	.L650
	mov	eax, DWORD PTR -112[rbp]
	sub	eax, DWORD PTR -108[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -80[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	r9, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR 24[rax]
	mov	edx, eax
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	rsi, QWORD PTR -48[rbp]
	mov	r8d, 10
	mov	rcx, rdx
	mov	edx, 0
	mov	rdi, rax
	call	r9
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	rcx, QWORD PTR 56[rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	rdx, QWORD PTR -48[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -136[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	tulip_free_rxmap
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 2080[rax]
	or	ah, 1
	mov	edx, eax
	mov	rax, QWORD PTR -136[rbp]
	mov	DWORD PTR 2080[rax], edx
	mov	DWORD PTR -104[rbp], 1
	jmp	.L651
.L650:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 224[rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR 224[rax], rdx
	mov	rax, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR [rax]
	and	eax, 16401
	test	eax, eax
	je	.L652
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 2376[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	DWORD PTR 2376[rax], edx
.L652:
	mov	rax, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	rcx, QWORD PTR 56[rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	rdx, QWORD PTR -48[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -136[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	tulip_free_rxmap
.L651:
	add	QWORD PTR -96[rbp], 16
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR 8[rax]
	cmp	QWORD PTR -96[rbp], rax
	jne	.L653
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -96[rbp], rax
.L653:
	mov	rax, QWORD PTR -64[rbp]
	mov	rdx, QWORD PTR -96[rbp]
	mov	QWORD PTR 16[rax], rdx
	jmp	.L636
.L670:
	nop
.L636:
	cmp	DWORD PTR -104[rbp], 0
	jne	.L654
	cmp	QWORD PTR -88[rbp], 0
	jne	.L655
.L654:
	mov	esi, 1
	mov	edi, 2
	call	m_gethdr@PLT
	mov	QWORD PTR -72[rbp], rax
	cmp	QWORD PTR -72[rbp], 0
	je	.L656
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, 2048
	mov	esi, 2
	mov	rdi, rax
	call	m_clget@PLT
	mov	rax, QWORD PTR -72[rbp]
	movzx	eax, WORD PTR 30[rax]
	movzx	eax, ax
	and	eax, 1
	test	eax, eax
	jne	.L656
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	call	m_freem@PLT
	mov	QWORD PTR -72[rbp], 0
.L656:
	cmp	DWORD PTR -104[rbp], 0
	je	.L657
	mov	rax, QWORD PTR -88[rbp]
	mov	edx, DWORD PTR -112[rbp]
	mov	DWORD PTR 48[rax], edx
	mov	rdx, QWORD PTR -88[rbp]
	lea	rax, -32[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	ml_enqueue@PLT
.L657:
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR -88[rbp], rax
.L655:
	cmp	QWORD PTR -88[rbp], 0
	jne	.L658
	mov	DWORD PTR -116[rbp], 0
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 2080[rax]
	or	eax, 524288
	mov	edx, eax
	mov	rax, QWORD PTR -136[rbp]
	mov	DWORD PTR 2080[rax], edx
	jmp	.L659
.L658:
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 856[rax]
	test	eax, eax
	je	.L660
	mov	rax, QWORD PTR -136[rbp]
	mov	rdi, rax
	call	tulip_alloc_rxmap
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR -48[rbp]
	mov	QWORD PTR 32[rax], rdx
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	r10, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	rsi, QWORD PTR -48[rbp]
	mov	r9d, 1
	mov	r8d, 0
	mov	ecx, 2032
	mov	rdi, rax
	call	r10
	mov	DWORD PTR -100[rbp], eax
	cmp	DWORD PTR -100[rbp], 0
	je	.L663
	jmp	.L669
.L660:
	mov	rax, QWORD PTR -88[rbp]
	mov	rdi, rax
	call	m_freem@PLT
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 2080[rax]
	or	eax, 524288
	mov	edx, eax
	mov	rax, QWORD PTR -136[rbp]
	mov	DWORD PTR 2080[rax], edx
	jmp	.L662
.L669:
	mov	rax, QWORD PTR -136[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR 8[rax]
	mov	ecx, DWORD PTR -100[rbp]
	mov	rsi, rax
	lea	rdi, .LC33[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdi, .LC34[rip]
	mov	eax, 0
	call	panic@PLT
.L663:
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 64[rax]
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 72[rax]
	and	ax, 2047
	mov	rdx, QWORD PTR -40[rbp]
	and	ax, 2047
	mov	ecx, eax
	movzx	eax, WORD PTR 4[rdx]
	and	ax, -2048
	or	eax, ecx
	mov	WORD PTR 4[rdx], ax
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 56[rax]
	cmp	eax, 2
	jne	.L664
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 104[rax]
	and	ax, 2047
	mov	rdx, QWORD PTR -40[rbp]
	movzx	eax, ax
	and	eax, 2047
	sal	eax, 11
	mov	ecx, eax
	mov	eax, DWORD PTR 4[rdx]
	and	eax, -4192257
	or	eax, ecx
	mov	DWORD PTR 4[rdx], eax
	jmp	.L665
.L664:
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 12[rax], 0
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR 4[rax]
	and	edx, -4192257
	mov	DWORD PTR 4[rax], edx
.L665:
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	r9, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	rdx, QWORD PTR 3104[rax]
	mov	rax, QWORD PTR -40[rbp]
	sub	rax, rdx
	mov	rdx, rax
	mov	rax, QWORD PTR -136[rbp]
	mov	rsi, QWORD PTR 464[rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	r8d, 10
	mov	ecx, 16
	mov	rdi, rax
	call	r9
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR [rax], -2147483648
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	r9, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	rdx, QWORD PTR 3104[rax]
	mov	rax, QWORD PTR -40[rbp]
	sub	rax, rdx
	mov	rdx, rax
	mov	rax, QWORD PTR -136[rbp]
	mov	rsi, QWORD PTR 464[rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	r8d, 10
	mov	ecx, 4
	mov	rdi, rax
	call	r9
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR 24[rax]
	lea	rdx, 16[rax]
	mov	rax, QWORD PTR -64[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -64[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR 8[rax]
	cmp	rdx, rax
	jne	.L666
	mov	rax, QWORD PTR -64[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -64[rbp]
	mov	QWORD PTR 24[rax], rdx
.L666:
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -80[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR [rax], 0
	mov	rax, QWORD PTR -136[rbp]
	lea	rdx, 2296[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	call	ml_enqueue@PLT
	mov	rax, QWORD PTR -80[rbp]
	mov	QWORD PTR -88[rbp], rax
	cmp	QWORD PTR -88[rbp], 0
	jne	.L658
.L662:
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 2312[rax]
	cmp	eax, 31
	jbe	.L667
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, -524289
	mov	edx, eax
	mov	rax, QWORD PTR -136[rbp]
	mov	DWORD PTR 2080[rax], edx
.L659:
	jmp	.L667
.L671:
	nop
	jmp	.L638
.L672:
	nop
	jmp	.L638
.L673:
	nop
.L638:
	lea	rdx, -32[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	if_input@PLT
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L668
	call	__stack_chk_fail@PLT
.L668:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE109:
	.size	tulip_rx_intr, .-tulip_rx_intr
	.globl	tulip_tx_intr
	.type	tulip_tx_intr, @function
tulip_tx_intr:
.LFB110:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -56[rbp], rdi
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 2424
	mov	QWORD PTR -24[rbp], rax
	mov	DWORD PTR -48[rbp], 0
	mov	DWORD PTR -44[rbp], 0
	jmp	.L675
.L695:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	r9, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR 3112[rax]
	mov	rax, rdx
	sub	rax, rcx
	mov	rdx, rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, QWORD PTR 192[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	r8d, 10
	mov	ecx, 16
	mov	rdi, rax
	call	r9
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	js	.L700
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 36[rax], edx
	add	DWORD PTR -44[rbp], 1
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	movzx	eax, WORD PTR 6[rax]
	shr	ax, 6
	movzx	eax, ax
	mov	DWORD PTR -36[rbp], eax
	mov	eax, DWORD PTR -36[rbp]
	and	eax, 256
	test	eax, eax
	je	.L678
	mov	eax, DWORD PTR -36[rbp]
	and	eax, 32
	test	eax, eax
	je	.L679
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	r9, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 184[rax]
	mov	rdx, QWORD PTR 48[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, QWORD PTR 184[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	r8d, 10
	mov	rcx, rdx
	mov	edx, 0
	mov	rdi, rax
	call	r9
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, -1073741833
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 2080[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	movzx	eax, WORD PTR 6[rax]
	shr	ax, 6
	movzx	eax, ax
	and	eax, 64
	test	eax, eax
	je	.L680
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 2080[rax]
	or	eax, 1073741824
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 2080[rax], edx
.L680:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, 33
	test	eax, eax
	jne	.L678
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	tulip_rx_intr
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 2092[rax]
	or	eax, 2
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 2092[rax], edx
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 2088[rax]
	or	ah, 1
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 2088[rax], edx
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR 1992[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, 256
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR 2088[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR 2008[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR 2092[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR 2000[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	jmp	.L678
.L679:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -32[rbp], eax
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 2272
	mov	rdi, rax
	call	ml_dequeue@PLT
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	je	.L681
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	r9, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 48[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	rsi, QWORD PTR -8[rbp]
	mov	r8d, 10
	mov	rcx, rdx
	mov	edx, 0
	mov	rdi, rax
	call	r9
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	tulip_free_txmap
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 1000[rax]
	test	rax, rax
	je	.L682
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 1000[rax]
	mov	rcx, QWORD PTR -16[rbp]
	mov	edx, 2
	mov	rsi, rcx
	mov	rdi, rax
	call	bpf_mtap@PLT
.L682:
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	m_freem@PLT
.L681:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, 32
	test	eax, eax
	je	.L683
	mov	DWORD PTR -40[rbp], 5
	mov	eax, DWORD PTR -32[rbp]
	and	eax, 1280
	test	eax, eax
	je	.L684
	mov	DWORD PTR -40[rbp], 6
.L684:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 2256[rax]
	mov	rcx, QWORD PTR 24[rax]
	mov	edx, DWORD PTR -40[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	rcx
	jmp	.L677
.L683:
	add	DWORD PTR -48[rbp], 1
	mov	eax, DWORD PTR -32[rbp]
	and	eax, 32768
	test	eax, eax
	je	.L685
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 1104[rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR 1104[rax], rdx
	mov	eax, DWORD PTR -32[rbp]
	and	eax, 256
	test	eax, eax
	je	.L686
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 2340[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 2340[rax], edx
.L686:
	mov	eax, DWORD PTR -32[rbp]
	and	eax, 512
	test	eax, eax
	je	.L687
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 2336[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 2336[rax], edx
.L687:
	mov	eax, DWORD PTR -32[rbp]
	and	eax, 3072
	test	eax, eax
	je	.L688
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 2344[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 2344[rax], edx
.L688:
	mov	eax, DWORD PTR -32[rbp]
	and	eax, 16386
	test	eax, eax
	je	.L689
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 2348[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 2348[rax], edx
.L689:
	mov	eax, DWORD PTR -32[rbp]
	and	eax, 2
	test	eax, eax
	je	.L690
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 2352[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 2352[rax], edx
.L690:
	mov	eax, DWORD PTR -32[rbp]
	and	eax, 16384
	test	eax, eax
	je	.L678
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 2356[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 2356[rax], edx
	jmp	.L678
.L685:
	mov	eax, DWORD PTR -32[rbp]
	shr	eax, 3
	and	eax, 15
	mov	DWORD PTR -28[rbp], eax
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 1112[rax]
	mov	eax, DWORD PTR -28[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR 1112[rax], rdx
	cmp	DWORD PTR -28[rbp], 1
	jne	.L691
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 2320[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 2320[rax], edx
	jmp	.L692
.L691:
	cmp	DWORD PTR -28[rbp], 1
	jbe	.L693
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 2324[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 2324[rax], edx
	jmp	.L692
.L693:
	mov	eax, DWORD PTR -32[rbp]
	and	eax, 1
	test	eax, eax
	je	.L692
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 2332[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 2332[rax], edx
.L692:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, DWORD PTR -32[rbp]
	and	eax, 128
	test	eax, eax
	je	.L678
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 2328[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 2328[rax], edx
.L678:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	lea	rdx, 16[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	cmp	rdx, rax
	jne	.L694
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 16[rax], rdx
.L694:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, 32
	test	eax, eax
	jne	.L675
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 1408
	mov	rdi, rax
	call	ifq_clr_oactive
.L675:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 36[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 32[rax]
	cmp	edx, eax
	jl	.L695
	jmp	.L677
.L700:
	nop
.L677:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 36[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 32[rax]
	cmp	edx, eax
	je	.L696
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, 32
	test	eax, eax
	je	.L697
.L696:
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 2100[rax], 0
	jmp	.L698
.L697:
	cmp	DWORD PTR -48[rbp], 0
	jle	.L698
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 2100[rax], 4
.L698:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 1096[rax]
	mov	eax, DWORD PTR -48[rbp]
	cdqe
	add	rdx, rax
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR 1096[rax], rdx
	mov	eax, DWORD PTR -44[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE110:
	.size	tulip_tx_intr, .-tulip_tx_intr
	.globl	tulip_print_abnormal_interrupt
	.type	tulip_print_abnormal_interrupt, @function
tulip_print_abnormal_interrupt:
.LFB111:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE111:
	.size	tulip_print_abnormal_interrupt, .-tulip_print_abnormal_interrupt
	.globl	tulip_intr_handler
	.type	tulip_intr_handler, @function
tulip_intr_handler:
.LFB112:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	jmp	.L703
.L720:
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR [rax], 1
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 1992[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, DWORD PTR -12[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	eax, DWORD PTR -12[rbp]
	and	eax, 8192
	test	rax, rax
	je	.L704
	mov	eax, DWORD PTR -12[rbp]
	sar	rax, 23
	and	eax, 7
	mov	rdx, QWORD PTR -24[rbp]
	and	eax, 7
	mov	ecx, eax
	movzx	eax, BYTE PTR 2096[rdx]
	and	eax, -8
	or	eax, ecx
	mov	BYTE PTR 2096[rdx], al
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, 1048576
	test	eax, eax
	je	.L705
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2080[rax]
	or	eax, 2097152
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 2080[rax], edx
.L705:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2080[rax]
	or	ah, 4
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 2080[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2104[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 2104[rax], edx
	jmp	.L706
.L704:
	mov	eax, DWORD PTR -12[rbp]
	and	eax, 4112
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2088[rax]
	mov	eax, eax
	and	rax, rdx
	test	rax, rax
	je	.L707
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 2256[rax]
	mov	rax, QWORD PTR 24[rax]
	test	rax, rax
	je	.L708
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 2256[rax]
	mov	rdx, QWORD PTR 24[rax]
	mov	eax, DWORD PTR -12[rbp]
	and	eax, 4096
	test	rax, rax
	je	.L709
	mov	ecx, 2
	jmp	.L710
.L709:
	mov	ecx, 3
.L710:
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	rdx
	and	DWORD PTR -12[rbp], -32769
.L708:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	tulip_media_print
.L707:
	mov	eax, DWORD PTR -12[rbp]
	and	eax, 192
	test	rax, rax
	je	.L711
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rcx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 2016[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	mov	DWORD PTR -8[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	and	eax, 128
	test	rax, rax
	je	.L712
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 2360[rax]
	mov	eax, DWORD PTR -8[rbp]
	movzx	eax, ax
	add	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 2360[rax], edx
.L712:
	mov	eax, DWORD PTR -8[rbp]
	and	eax, 268304384
	test	eax, eax
	je	.L713
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2084[rax]
	and	eax, 2
	test	eax, eax
	je	.L713
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2376[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 2376[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2092[rax]
	and	eax, -3
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 2000[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	nop
.L714:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rcx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 1992[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	mov	eax, eax
	and	eax, 256
	test	rax, rax
	je	.L714
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 1992[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, 256
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2080[rax]
	or	eax, 67108864
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 2080[rax], edx
.L713:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	tulip_rx_intr
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, 67108864
	test	eax, eax
	je	.L711
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, -67108865
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 2080[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 2092[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 2000[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
.L711:
	mov	eax, DWORD PTR -12[rbp]
	and	eax, 32768
	test	rax, rax
	je	.L715
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2088[rax]
	and	eax, DWORD PTR -12[rbp]
	and	eax, -98305
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	and	eax, 32
	test	rax, rax
	je	.L716
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2092[rax]
	mov	eax, eax
	and	eax, 49152
	cmp	rax, 49152
	je	.L717
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2092[rax]
	lea	edx, 16384[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 2092[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2080[rax]
	or	ah, -128
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 2080[rax], edx
	jmp	.L716
.L717:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2084[rax]
	and	eax, 32768
	test	eax, eax
	je	.L716
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2092[rax]
	or	eax, 2097152
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 2092[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2080[rax]
	or	ah, -128
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 2080[rax], edx
.L716:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, 1048576
	test	eax, eax
	je	.L718
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2108[rax]
	or	eax, DWORD PTR -4[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 2108[rax], edx
	jmp	.L719
.L718:
	mov	edx, DWORD PTR -4[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	tulip_print_abnormal_interrupt
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2080[rax]
	or	eax, 1048576
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 2080[rax], edx
.L719:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 2092[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 2000[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
.L715:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, 536887336
	test	eax, eax
	je	.L703
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	tulip_tx_intr
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, 32
	test	eax, eax
	jne	.L703
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 864
	mov	rdi, rax
	call	tulip_ifstart
.L703:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rcx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 1992[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	mov	DWORD PTR -12[rbp], eax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2088[rax]
	and	eax, DWORD PTR -12[rbp]
	test	eax, eax
	jne	.L720
.L706:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, 1024
	test	eax, eax
	je	.L722
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	tulip_reset
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	tulip_init
.L722:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE112:
	.size	tulip_intr_handler, .-tulip_intr_handler
	.globl	tulip_intr_shared
	.type	tulip_intr_shared, @function
tulip_intr_shared:
.LFB113:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	DWORD PTR -20[rbp], 0
	jmp	.L724
.L725:
	lea	rdx, -20[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	tulip_intr_handler
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 2264[rax]
	mov	QWORD PTR -16[rbp], rax
.L724:
	cmp	QWORD PTR -16[rbp], 0
	jne	.L725
	mov	eax, DWORD PTR -20[rbp]
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L727
	call	__stack_chk_fail@PLT
.L727:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE113:
	.size	tulip_intr_shared, .-tulip_intr_shared
	.globl	tulip_intr_normal
	.type	tulip_intr_normal, @function
tulip_intr_normal:
.LFB114:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	DWORD PTR -20[rbp], 0
	lea	rdx, -20[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	tulip_intr_handler
	mov	eax, DWORD PTR -20[rbp]
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L730
	call	__stack_chk_fail@PLT
.L730:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE114:
	.size	tulip_intr_normal, .-tulip_intr_normal
	.globl	tulip_mbuf_compress
	.type	tulip_mbuf_compress, @function
tulip_mbuf_compress:
.LFB115:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	esi, 1
	mov	edi, 2
	call	m_gethdr@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L732
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 48[rax]
	cmp	eax, 152
	jbe	.L733
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, 2048
	mov	esi, 2
	mov	rdi, rax
	call	m_clget@PLT
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, WORD PTR 30[rax]
	movzx	eax, ax
	and	eax, 1
	test	eax, eax
	jne	.L733
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	m_freem@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	m_freem@PLT
	mov	eax, 0
	jmp	.L734
.L733:
	mov	rax, QWORD PTR -8[rbp]
	mov	rcx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 48[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	m_copydata@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 48[rax]
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 24[rax]
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 48[rax], edx
.L732:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	m_freem@PLT
	mov	rax, QWORD PTR -8[rbp]
.L734:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE115:
	.size	tulip_mbuf_compress, .-tulip_mbuf_compress
	.globl	tulip_txput
	.type	tulip_txput, @function
tulip_txput:
.LFB116:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	QWORD PTR -72[rbp], rdi
	mov	QWORD PTR -80[rbp], rsi
	mov	DWORD PTR -84[rbp], edx
	mov	rax, QWORD PTR -72[rbp]
	add	rax, 2424
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	add	rax, 864
	mov	QWORD PTR -16[rbp], rax
	mov	DWORD PTR -44[rbp], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR -40[rbp], rax
	mov	DWORD PTR -52[rbp], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 36[rax]
	mov	DWORD PTR -48[rbp], eax
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 456[rax]
	test	eax, eax
	jne	.L736
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	call	tulip_tx_intr
	add	DWORD PTR -48[rbp], eax
.L736:
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 456[rax]
	test	eax, eax
	je	.L737
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	call	tulip_alloc_txmap
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	r8, QWORD PTR 32[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	rdx, QWORD PTR -80[rbp]
	mov	rsi, QWORD PTR -8[rbp]
	mov	ecx, 1
	mov	rdi, rax
	call	r8
	test	eax, eax
	je	.L757
	jmp	.L756
.L737:
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 2080[rax]
	or	ah, 64
	mov	edx, eax
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 2080[rax], edx
	jmp	.L739
.L756:
	cmp	eax, 27
	jne	.L742
	mov	rax, QWORD PTR -80[rbp]
	mov	esi, 2
	mov	rdi, rax
	call	m_defrag@PLT
	test	eax, eax
	jne	.L742
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	r8, QWORD PTR 32[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	rdx, QWORD PTR -80[rbp]
	mov	rsi, QWORD PTR -8[rbp]
	mov	ecx, 1
	mov	rdi, rax
	call	r8
	test	eax, eax
	je	.L758
.L742:
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	tulip_free_txmap
	jmp	.L739
.L757:
	nop
	jmp	.L743
.L758:
	nop
.L743:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 56[rax]
	add	eax, 1
	mov	edx, eax
	shr	edx, 31
	add	eax, edx
	sar	eax
	neg	eax
	add	DWORD PTR -48[rbp], eax
	cmp	DWORD PTR -48[rbp], 0
	jg	.L745
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	call	tulip_tx_intr
	add	DWORD PTR -48[rbp], eax
	cmp	DWORD PTR -48[rbp], 0
	jg	.L745
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 2080[rax]
	or	ah, 64
	mov	edx, eax
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 2080[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	rcx, QWORD PTR 56[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	rdx, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	tulip_free_txmap
	jmp	.L739
.L747:
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, WORD PTR 6[rax]
	shr	ax, 6
	and	eax, 12
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	ecx, edx
	sal	ecx, 6
	movzx	edx, WORD PTR 6[rax]
	and	edx, 63
	or	edx, ecx
	mov	WORD PTR 6[rax], dx
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR -44[rbp]
	mov	DWORD PTR [rax], edx
	mov	rdx, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR -52[rbp]
	cdqe
	add	rax, 2
	sal	rax, 5
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rdx, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR -52[rbp]
	cdqe
	add	rax, 2
	sal	rax, 5
	add	rax, rdx
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	and	ax, 2047
	mov	rdx, QWORD PTR -40[rbp]
	and	ax, 2047
	mov	ecx, eax
	movzx	eax, WORD PTR 4[rdx]
	and	ax, -2048
	or	eax, ecx
	mov	WORD PTR 4[rdx], ax
	mov	eax, DWORD PTR -52[rbp]
	add	eax, 1
	mov	rdx, QWORD PTR -8[rbp]
	cdqe
	add	rax, 2
	sal	rax, 5
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 12[rax], edx
	mov	eax, DWORD PTR -52[rbp]
	add	eax, 1
	mov	rdx, QWORD PTR -8[rbp]
	cdqe
	add	rax, 2
	sal	rax, 5
	add	rax, rdx
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	and	ax, 2047
	mov	rdx, QWORD PTR -40[rbp]
	movzx	eax, ax
	and	eax, 2047
	sal	eax, 11
	mov	ecx, eax
	mov	eax, DWORD PTR 4[rdx]
	and	eax, -4192257
	or	eax, ecx
	mov	DWORD PTR 4[rdx], eax
	mov	DWORD PTR -44[rbp], -2147483648
	add	QWORD PTR -32[rbp], 16
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	cmp	QWORD PTR -32[rbp], rax
	jne	.L746
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -32[rbp], rax
.L746:
	add	DWORD PTR -52[rbp], 2
.L745:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 56[rax]
	sub	eax, DWORD PTR -52[rbp]
	cmp	eax, 1
	jg	.L747
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 56[rax]
	cmp	DWORD PTR -52[rbp], eax
	jge	.L748
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, WORD PTR 6[rax]
	shr	ax, 6
	and	eax, 12
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	ecx, edx
	sal	ecx, 6
	movzx	edx, WORD PTR 6[rax]
	and	edx, 63
	or	edx, ecx
	mov	WORD PTR 6[rax], dx
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR -44[rbp]
	mov	DWORD PTR [rax], edx
	mov	rdx, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR -52[rbp]
	cdqe
	add	rax, 2
	sal	rax, 5
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rdx, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR -52[rbp]
	cdqe
	add	rax, 2
	sal	rax, 5
	add	rax, rdx
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	and	ax, 2047
	mov	rdx, QWORD PTR -40[rbp]
	and	ax, 2047
	mov	ecx, eax
	movzx	eax, WORD PTR 4[rdx]
	and	ax, -2048
	or	eax, ecx
	mov	WORD PTR 4[rdx], ax
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 12[rax], 0
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR 4[rax]
	and	edx, -4192257
	mov	DWORD PTR 4[rax], edx
	add	QWORD PTR -32[rbp], 16
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	cmp	QWORD PTR -32[rbp], rax
	jne	.L748
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -32[rbp], rax
.L748:
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	r9, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 48[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	rsi, QWORD PTR -8[rbp]
	mov	r8d, 5
	mov	rcx, rdx
	mov	edx, 0
	mov	rdi, rax
	call	r9
	cmp	DWORD PTR -84[rbp], 0
	jne	.L749
	mov	rax, QWORD PTR -16[rbp]
	lea	rdx, 544[rax]
	mov	rax, QWORD PTR -80[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	call	ifq_deq_commit@PLT
.L749:
	mov	rax, QWORD PTR -80[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 32[rax], rdx
	mov	QWORD PTR -8[rbp], 0
	mov	rax, QWORD PTR -72[rbp]
	lea	rdx, 2272[rax]
	mov	rax, QWORD PTR -80[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	call	ml_enqueue@PLT
	mov	QWORD PTR -80[rbp], 0
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR [rax], 0
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	r9, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR 3112[rax]
	mov	rax, QWORD PTR -32[rbp]
	sub	rax, rdx
	mov	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, QWORD PTR 192[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	r8d, 5
	mov	ecx, 4
	mov	rdi, rax
	call	r9
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, WORD PTR 6[rax]
	shr	ax, 6
	or	ah, 3
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	ecx, edx
	sal	ecx, 6
	movzx	edx, WORD PTR 6[rax]
	and	edx, 63
	or	edx, ecx
	mov	WORD PTR 6[rax], dx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 24[rax]
	movzx	eax, WORD PTR 6[rax]
	shr	ax, 6
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 24[rax]
	or	dl, -128
	mov	ecx, edx
	sal	ecx, 6
	movzx	edx, WORD PTR 6[rax]
	and	edx, 63
	or	edx, ecx
	mov	WORD PTR 6[rax], dx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 24[rax]
	cmp	QWORD PTR -40[rbp], rax
	jnb	.L750
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	r9, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 24[rax]
	mov	rax, rdx
	sub	rax, rcx
	mov	rcx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, QWORD PTR 3112[rax]
	mov	rax, rdx
	sub	rax, rsi
	mov	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, QWORD PTR 192[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	r8d, 5
	mov	rdi, rax
	call	r9
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	r9, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 16[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, rdx
	sub	rax, rcx
	mov	rcx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, QWORD PTR 3112[rax]
	mov	rax, rdx
	sub	rax, rsi
	mov	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, QWORD PTR 192[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	r8d, 5
	mov	rdi, rax
	call	r9
	jmp	.L751
.L750:
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	r9, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 16[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 24[rax]
	mov	rax, rdx
	sub	rax, rcx
	mov	rcx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, QWORD PTR 3112[rax]
	mov	rax, rdx
	sub	rax, rsi
	mov	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, QWORD PTR 192[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	r8d, 5
	mov	rdi, rax
	call	r9
.L751:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	DWORD PTR [rax], -2147483648
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	r9, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rcx, QWORD PTR 3112[rax]
	mov	rax, rdx
	sub	rax, rcx
	mov	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, QWORD PTR 192[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	r8d, 5
	mov	ecx, 4
	mov	rdi, rax
	call	r9
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -48[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, 32
	test	eax, eax
	je	.L752
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rcx, QWORD PTR 1960[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, 1
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR -72[rbp]
	add	rax, 1408
	mov	rdi, rax
	call	ifq_set_oactive
	mov	eax, 0
	jmp	.L753
.L752:
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	ah, -65
	mov	edx, eax
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 2080[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 2100[rax]
	test	eax, eax
	jne	.L759
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 2100[rax], 4
	jmp	.L739
.L759:
	nop
.L739:
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, 16392
	test	eax, eax
	je	.L754
	mov	rax, QWORD PTR -72[rbp]
	add	rax, 1408
	mov	rdi, rax
	call	ifq_set_oactive
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 2088[rax]
	mov	eax, eax
	and	eax, 1
	test	rax, rax
	jne	.L755
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 2088[rax]
	or	eax, 1
	mov	edx, eax
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 2088[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, DWORD PTR 2088[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rcx, QWORD PTR 2008[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	jmp	.L755
.L754:
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, 536870912
	test	eax, eax
	jne	.L755
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 2088[rax]
	mov	eax, eax
	and	eax, 1
	test	rax, rax
	je	.L755
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 2088[rax]
	and	eax, -2
	mov	edx, eax
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 2088[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, DWORD PTR 2088[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rcx, QWORD PTR 2008[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
.L755:
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rcx, QWORD PTR 1960[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, 1
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR -80[rbp]
.L753:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE116:
	.size	tulip_txput, .-tulip_txput
	.globl	tulip_txput_setup
	.type	tulip_txput_setup, @function
tulip_txput_setup:
.LFB117:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 2424
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 36[rax]
	cmp	eax, 1
	jg	.L761
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	tulip_tx_intr
.L761:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, 8
	test	eax, eax
	jne	.L762
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 36[rax]
	cmp	eax, 1
	jne	.L763
.L762:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2080[rax]
	or	ah, 64
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 2080[rax], edx
	jmp	.L760
.L763:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 2744[rax]
	mov	rdx, QWORD PTR -24[rbp]
	lea	rcx, 2752[rdx]
	mov	edx, 192
	mov	rsi, rcx
	mov	rdi, rax
	call	memmove@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2080[rax]
	xor	eax, 9
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 2080[rax], edx
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, WORD PTR 6[rax]
	shr	ax, 6
	and	eax, 12
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, edx
	sal	ecx, 6
	movzx	edx, WORD PTR 6[rax]
	and	edx, 63
	or	edx, ecx
	mov	WORD PTR 6[rax], dx
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, WORD PTR 6[rax]
	shr	ax, 6
	or	ax, 928
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, edx
	sal	ecx, 6
	movzx	edx, WORD PTR 6[rax]
	and	edx, 63
	or	edx, ecx
	mov	WORD PTR 6[rax], dx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, 2
	test	eax, eax
	je	.L765
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, WORD PTR 6[rax]
	shr	ax, 6
	or	eax, 1
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, edx
	sal	ecx, 6
	movzx	edx, WORD PTR 6[rax]
	and	edx, 63
	or	edx, ecx
	mov	WORD PTR 6[rax], dx
	jmp	.L766
.L765:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, 4
	test	eax, eax
	je	.L766
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, WORD PTR 6[rax]
	shr	ax, 6
	or	eax, 65
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, edx
	sal	ecx, 6
	movzx	edx, WORD PTR 6[rax]
	and	edx, 63
	or	edx, ecx
	mov	WORD PTR 6[rax], dx
.L766:
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 4[rax]
	and	edx, -4192257
	mov	DWORD PTR 4[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 12[rax], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 184[rax]
	mov	rax, QWORD PTR 72[rax]
	and	ax, 2047
	mov	rdx, QWORD PTR -8[rbp]
	and	ax, 2047
	mov	ecx, eax
	movzx	eax, WORD PTR 4[rdx]
	and	ax, -2048
	or	eax, ecx
	mov	WORD PTR 4[rdx], ax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 184[rax]
	mov	rax, QWORD PTR 64[rax]
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 184[rax]
	mov	eax, DWORD PTR 56[rax]
	cmp	eax, 2
	jne	.L767
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 184[rax]
	mov	rax, QWORD PTR 104[rax]
	and	ax, 2047
	mov	rdx, QWORD PTR -8[rbp]
	movzx	eax, ax
	and	eax, 2047
	sal	eax, 11
	mov	ecx, eax
	mov	eax, DWORD PTR 4[rdx]
	and	eax, -4192257
	or	eax, ecx
	mov	DWORD PTR 4[rdx], eax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 184[rax]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 12[rax], edx
.L767:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	r9, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 184[rax]
	mov	rdx, QWORD PTR 48[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, QWORD PTR 184[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	r8d, 5
	mov	rcx, rdx
	mov	edx, 0
	mov	rdi, rax
	call	r9
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	r9, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 3112[rax]
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, rdx
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, QWORD PTR 192[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	r8d, 5
	mov	ecx, 16
	mov	rdi, rax
	call	r9
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 24[rax]
	lea	rdx, 16[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	cmp	rdx, rax
	jne	.L768
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR 24[rax], rdx
.L768:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	DWORD PTR [rax], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	r9, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 3112[rax]
	mov	rax, rdx
	sub	rax, rcx
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, QWORD PTR 192[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	r8d, 5
	mov	ecx, 4
	mov	rdi, rax
	call	r9
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], -2147483648
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	r9, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 3112[rax]
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, rdx
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, QWORD PTR 192[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	r8d, 5
	mov	ecx, 4
	mov	rdi, rax
	call	r9
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 1960[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, 1
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2088[rax]
	mov	eax, eax
	and	eax, 1
	test	rax, rax
	jne	.L760
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2088[rax]
	or	eax, 1
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 2088[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 2088[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 2008[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
.L760:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE117:
	.size	tulip_txput_setup, .-tulip_txput_setup
	.globl	tulip_ifioctl
	.type	tulip_ifioctl, @function
tulip_ifioctl:
.LFB118:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	QWORD PTR -56[rbp], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	DWORD PTR -24[rbp], 0
	mov	edi, 7
	call	splraise@PLT
	mov	DWORD PTR -20[rbp], eax
	mov	eax, 3225446712
	cmp	QWORD PTR -48[rbp], rax
	je	.L770
	mov	eax, 3225446712
	cmp	QWORD PTR -48[rbp], rax
	ja	.L771
	mov	eax, 3223349559
	cmp	QWORD PTR -48[rbp], rax
	je	.L770
	mov	eax, 3223349559
	cmp	QWORD PTR -48[rbp], rax
	ja	.L771
	mov	eax, 2149607692
	cmp	QWORD PTR -48[rbp], rax
	je	.L772
	mov	eax, 2149607696
	cmp	QWORD PTR -48[rbp], rax
	je	.L773
	jmp	.L771
.L772:
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, WORD PTR 182[rax]
	or	eax, 1
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	WORD PTR 182[rax], dx
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	tulip_init
	jmp	.L774
.L773:
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	tulip_init
	jmp	.L774
.L770:
	mov	rax, QWORD PTR -16[rbp]
	lea	rdi, 120[rax]
	mov	rdx, QWORD PTR -48[rbp]
	mov	rsi, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, rdx
	mov	rdx, rdi
	mov	rdi, rax
	call	ifmedia_ioctl@PLT
	mov	DWORD PTR -24[rbp], eax
	jmp	.L774
.L771:
	mov	rax, QWORD PTR -16[rbp]
	lea	rsi, 864[rax]
	mov	rcx, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	ether_ioctl@PLT
	mov	DWORD PTR -24[rbp], eax
.L774:
	cmp	DWORD PTR -24[rbp], 52
	jne	.L775
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, WORD PTR 182[rax]
	cwde
	and	eax, 64
	test	eax, eax
	je	.L776
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	tulip_addr_filter
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	tulip_init
.L776:
	mov	DWORD PTR -24[rbp], 0
.L775:
	mov	eax, DWORD PTR -20[rbp]
	mov	edi, eax
	call	spllower@PLT
	mov	eax, DWORD PTR -24[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE118:
	.size	tulip_ifioctl, .-tulip_ifioctl
	.section	.rodata
.LC35:
	.string	"m == m0"
	.align 8
.LC36:
	.string	"/crypt/home/bluhm/openbsd/cvs/src/sys/dev/pci/if_de.c"
.LC37:
	.string	"diagnostic "
	.text
	.globl	tulip_ifstart
	.type	tulip_ifstart, @function
tulip_ifstart:
.LFB119:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, WORD PTR 1046[rax]
	cwde
	and	eax, 64
	test	eax, eax
	je	.L785
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, 33
	cmp	eax, 1
	jne	.L784
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	tulip_txput_setup
.L784:
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 1408
	mov	rdi, rax
	call	ifq_deq_begin@PLT
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	je	.L786
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	tulip_txput
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L784
	mov	rax, QWORD PTR -16[rbp]
	cmp	rax, QWORD PTR -8[rbp]
	je	.L783
	lea	rcx, .LC35[rip]
	mov	edx, 4158
	lea	rsi, .LC36[rip]
	lea	rdi, .LC37[rip]
	call	__assert@PLT
.L783:
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 1408[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	call	ifq_deq_rollback@PLT
	jmp	.L779
.L786:
	nop
.L779:
.L785:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE119:
	.size	tulip_ifstart, .-tulip_ifstart
	.section	.rodata
.LC38:
	.string	"%s%d: transmission timeout\n"
	.text
	.globl	tulip_ifwatchdog
	.type	tulip_ifwatchdog, @function
tulip_ifwatchdog:
.LFB120:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	WORD PTR 1044[rax], 1
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, 3670016
	test	eax, eax
	je	.L788
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, 524288
	test	eax, eax
	je	.L789
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	tulip_rx_intr
.L789:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2108[rax]
	test	eax, eax
	je	.L790
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 2108[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	tulip_print_abnormal_interrupt
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 2108[rax], 0
.L790:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, -3145729
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 2080[rax], edx
.L788:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2100[rax]
	test	eax, eax
	je	.L791
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	tulip_tx_intr
.L791:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2100[rax]
	test	eax, eax
	je	.L794
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2100[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 2100[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2100[rax]
	test	eax, eax
	jne	.L794
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR 8[rax]
	mov	rsi, rax
	lea	rdi, .LC38[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 128[rax]
	movzx	eax, al
	test	rax, rax
	jne	.L793
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 2208[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 2228[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, -262273
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 2080[rax], edx
.L793:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	tulip_reset
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	tulip_init
.L794:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE120:
	.size	tulip_ifwatchdog, .-tulip_ifwatchdog
	.globl	tulip_busdma_allocmem
	.type	tulip_busdma_allocmem, @function
tulip_busdma_allocmem:
.LFB121:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 112
	mov	QWORD PTR -88[rbp], rdi
	mov	QWORD PTR -96[rbp], rsi
	mov	QWORD PTR -104[rbp], rdx
	mov	QWORD PTR -112[rbp], rcx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	r10, QWORD PTR 72[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 176[rax]
	lea	rcx, -48[rbp]
	mov	rsi, QWORD PTR -96[rbp]
	push	1
	lea	rdx, -72[rbp]
	push	rdx
	mov	r9d, 1
	mov	r8, rcx
	mov	ecx, 4096
	mov	edx, 1
	mov	rdi, rax
	call	r10
	add	rsp, 16
	mov	DWORD PTR -68[rbp], eax
	cmp	DWORD PTR -68[rbp], 0
	jne	.L796
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	r10, QWORD PTR 96[rax]
	mov	edx, DWORD PTR -72[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 176[rax]
	lea	rdi, -64[rbp]
	mov	rcx, QWORD PTR -96[rbp]
	lea	rsi, -48[rbp]
	mov	r9d, 5
	mov	r8, rdi
	mov	rdi, rax
	call	r10
	mov	DWORD PTR -68[rbp], eax
	cmp	DWORD PTR -68[rbp], 0
	jne	.L797
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	r10, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	rdx, QWORD PTR -96[rbp]
	mov	rsi, QWORD PTR -96[rbp]
	sub	rsp, 8
	lea	rcx, -56[rbp]
	push	rcx
	mov	r9d, 1
	mov	r8d, 0
	mov	rcx, rdx
	mov	edx, 1
	mov	rdi, rax
	call	r10
	add	rsp, 16
	mov	DWORD PTR -68[rbp], eax
	cmp	DWORD PTR -68[rbp], 0
	jne	.L798
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	r10, QWORD PTR 24[rax]
	mov	rdx, QWORD PTR -64[rbp]
	mov	rsi, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	rcx, QWORD PTR -96[rbp]
	mov	r9d, 1
	mov	r8d, 0
	mov	rdi, rax
	call	r10
	mov	DWORD PTR -68[rbp], eax
	cmp	DWORD PTR -68[rbp], 0
	je	.L799
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	rcx, QWORD PTR 16[rax]
	mov	rdx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	jmp	.L798
.L799:
	mov	rdx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	QWORD PTR [rax], rdx
.L798:
	cmp	DWORD PTR -68[rbp], 0
	je	.L797
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	r8, QWORD PTR 104[rax]
	mov	rcx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	rdx, QWORD PTR -96[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
.L797:
	cmp	DWORD PTR -68[rbp], 0
	je	.L801
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	r8, QWORD PTR 88[rax]
	mov	edx, DWORD PTR -72[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 176[rax]
	lea	rcx, -48[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	jmp	.L796
.L801:
	mov	rdx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -112[rbp]
	mov	QWORD PTR [rax], rdx
.L796:
	mov	eax, DWORD PTR -68[rbp]
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L804
	call	__stack_chk_fail@PLT
.L804:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE121:
	.size	tulip_busdma_allocmem, .-tulip_busdma_allocmem
	.globl	tulip_busdma_init
	.type	tulip_busdma_init, @function
tulip_busdma_init:
.LFB122:
	.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	rax, QWORD PTR fs:40
	mov	QWORD PTR -24[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -36[rbp], 0
	mov	rax, QWORD PTR -56[rbp]
	lea	rcx, 2744[rax]
	mov	rax, QWORD PTR -56[rbp]
	lea	rdx, 184[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	esi, 192
	mov	rdi, rax
	call	tulip_busdma_allocmem
	mov	DWORD PTR -36[rbp], eax
	cmp	DWORD PTR -36[rbp], 0
	jne	.L806
	mov	rax, QWORD PTR -56[rbp]
	lea	rcx, 3112[rax]
	mov	rax, QWORD PTR -56[rbp]
	lea	rdx, 192[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	esi, 512
	mov	rdi, rax
	call	tulip_busdma_allocmem
	mov	DWORD PTR -36[rbp], eax
.L806:
	cmp	DWORD PTR -36[rbp], 0
	jne	.L807
	jmp	.L808
.L811:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	r10, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 176[rax]
	sub	rsp, 8
	lea	rdx, -32[rbp]
	push	rdx
	mov	r9d, 1
	mov	r8d, 0
	mov	ecx, 2032
	mov	edx, 30
	mov	esi, 2032
	mov	rdi, rax
	call	r10
	add	rsp, 16
	mov	DWORD PTR -36[rbp], eax
	cmp	DWORD PTR -36[rbp], 0
	jne	.L808
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	tulip_free_txmap
.L808:
	cmp	DWORD PTR -36[rbp], 0
	jne	.L810
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 456[rax]
	cmp	eax, 31
	jbe	.L811
.L810:
	cmp	DWORD PTR -36[rbp], 0
	je	.L807
	jmp	.L812
.L813:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	rbx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	tulip_alloc_txmap
	mov	rdx, rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	rbx
.L812:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 456[rax]
	test	eax, eax
	jne	.L813
.L807:
	cmp	DWORD PTR -36[rbp], 0
	jne	.L814
	mov	rax, QWORD PTR -56[rbp]
	lea	rcx, 3104[rax]
	mov	rax, QWORD PTR -56[rbp]
	lea	rdx, 464[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	esi, 768
	mov	rdi, rax
	call	tulip_busdma_allocmem
	mov	DWORD PTR -36[rbp], eax
.L814:
	cmp	DWORD PTR -36[rbp], 0
	jne	.L815
	jmp	.L816
.L819:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	r10, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 176[rax]
	sub	rsp, 8
	lea	rdx, -32[rbp]
	push	rdx
	mov	r9d, 3
	mov	r8d, 0
	mov	ecx, 2032
	mov	edx, 2
	mov	esi, 2032
	mov	rdi, rax
	call	r10
	add	rsp, 16
	mov	DWORD PTR -36[rbp], eax
	cmp	DWORD PTR -36[rbp], 0
	jne	.L816
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	tulip_free_rxmap
.L816:
	cmp	DWORD PTR -36[rbp], 0
	jne	.L818
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 856[rax]
	cmp	eax, 47
	jbe	.L819
.L818:
	cmp	DWORD PTR -36[rbp], 0
	je	.L815
	jmp	.L820
.L821:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	rbx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	tulip_alloc_rxmap
	mov	rdx, rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	rbx
.L820:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 856[rax]
	test	eax, eax
	jne	.L821
.L815:
	mov	eax, DWORD PTR -36[rbp]
	mov	rbx, QWORD PTR -24[rbp]
	sub	rbx, QWORD PTR fs:40
	je	.L823
	call	__stack_chk_fail@PLT
.L823:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE122:
	.size	tulip_busdma_init, .-tulip_busdma_init
	.globl	tulip_initcsrs
	.type	tulip_initcsrs, @function
tulip_initcsrs:
.LFB123:
	.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	QWORD PTR -16[rbp], rsi
	mov	QWORD PTR -24[rbp], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 1952[rax], rdx
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -24[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 1960[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -16[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 1968[rax], rdx
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rdx, rax
	mov	rax, QWORD PTR -16[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 1976[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -16[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 1984[rax], rdx
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, rdx
	sal	rax, 2
	add	rdx, rax
	mov	rax, QWORD PTR -16[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 1992[rax], rdx
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	add	rax, rax
	mov	rdx, rax
	mov	rax, QWORD PTR -16[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 2000[rax], rdx
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, rdx
	sal	rax, 3
	sub	rax, rdx
	mov	rcx, rax
	mov	rax, QWORD PTR -16[rbp]
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 2008[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -16[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 2016[rax], rdx
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, rdx
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -16[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 2024[rax], rdx
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	add	rax, rax
	mov	rdx, rax
	mov	rax, QWORD PTR -16[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 2032[rax], rdx
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	add	rax, rax
	add	rdx, rax
	mov	rax, QWORD PTR -16[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 2040[rax], rdx
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	mov	rax, QWORD PTR -16[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 2048[rax], rdx
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rdx, rax
	mov	rax, QWORD PTR -16[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 2056[rax], rdx
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, rdx
	sal	rax, 3
	sub	rax, rdx
	add	rax, rax
	mov	rdx, rax
	mov	rax, QWORD PTR -16[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 2064[rax], rdx
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, rdx
	sal	rax, 4
	sub	rax, rdx
	mov	rcx, rax
	mov	rax, QWORD PTR -16[rbp]
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 2072[rax], rdx
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE123:
	.size	tulip_initcsrs, .-tulip_initcsrs
	.globl	tulip_initring
	.type	tulip_initring, @function
tulip_initring:
.LFB124:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	QWORD PTR -24[rbp], rdx
	mov	DWORD PTR -28[rbp], ecx
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, DWORD PTR -28[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 32[rax]
	cdqe
	sal	rax, 4
	add	rdx, rax
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 32[rax]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	sub	rax, 16
	movzx	edx, WORD PTR 6[rax]
	and	edx, 63
	or	dh, 2
	mov	WORD PTR 6[rax], dx
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE124:
	.size	tulip_initring, .-tulip_initring
	.globl	tulip_probe
	.type	tulip_probe, @function
tulip_probe:
.LFB125:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 92[rax]
	movzx	eax, ax
	cmp	eax, 4113
	je	.L827
	mov	eax, 0
	jmp	.L828
.L827:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 92[rax]
	shr	eax, 16
	cmp	eax, 2
	je	.L829
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 92[rax]
	shr	eax, 16
	cmp	eax, 20
	je	.L829
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 92[rax]
	shr	eax, 16
	cmp	eax, 9
	je	.L829
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 92[rax]
	shr	eax, 16
	cmp	eax, 25
	jne	.L830
.L829:
	mov	eax, 2
	jmp	.L828
.L830:
	mov	eax, 0
.L828:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE125:
	.size	tulip_probe, .-tulip_probe
	.section	.rodata
	.align 8
.LC39:
	.string	": not configured; limit of %d reached or exceeded\n"
	.align 8
.LC40:
	.string	": not configured; 21040 pass 2.0 required (%d.%d found)\n"
	.align 8
.LC41:
	.string	": not configured; 21140 pass 1.1 required (%d.%d found)\n"
	.align 8
.LC42:
	.string	": unable to map device registers"
.LC43:
	.string	": error initing bus_dma: %d\n"
.LC44:
	.string	", %s%s pass %d.%d"
	.align 8
.LC45:
	.string	": can't read ENET ROM (why=%d) ("
.LC46:
	.string	"%02x"
.LC47:
	.string	", address unknown"
.LC48:
	.string	": couldn't map interrupt"
	.align 8
.LC49:
	.string	": couldn't establish interrupt"
.LC50:
	.string	" at %s"
.LC51:
	.string	" (invalid EESPROM checksum)"
.LC52:
	.string	""
	.align 8
.LC53:
	.string	", %s%s pass %d.%d%s: %s, address %s\n"
	.text
	.globl	tulip_attach
	.type	tulip_attach, @function
tulip_attach:
.LFB126:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 176
	mov	QWORD PTR -152[rbp], rdi
	mov	QWORD PTR -160[rbp], rsi
	mov	QWORD PTR -168[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -160[rbp]
	mov	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR -168[rbp]
	mov	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -64[rbp]
	add	rax, 864
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR 32[rax]
	mov	DWORD PTR -132[rbp], eax
	mov	DWORD PTR -128[rbp], 0
	mov	DWORD PTR -124[rbp], 8
	mov	DWORD PTR -136[rbp], 7
	cmp	DWORD PTR -132[rbp], 31
	jle	.L832
	mov	esi, 32
	lea	rdi, .LC39[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L831
.L832:
	mov	rax, QWORD PTR -64[rbp]
	add	rax, 2272
	mov	rdi, rax
	call	ml_init@PLT
	mov	rax, QWORD PTR -64[rbp]
	add	rax, 2296
	mov	rdi, rax
	call	ml_init@PLT
	mov	rax, QWORD PTR -56[rbp]
	mov	ecx, DWORD PTR 88[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	edx, 8
	mov	esi, ecx
	mov	rdi, rax
	call	pci_conf_read@PLT
	and	eax, 255
	mov	DWORD PTR -120[rbp], eax
	mov	rax, QWORD PTR -56[rbp]
	mov	ecx, DWORD PTR 88[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	edx, 0
	mov	esi, ecx
	mov	rdi, rax
	call	pci_conf_read@PLT
	mov	DWORD PTR -116[rbp], eax
	mov	rax, QWORD PTR -56[rbp]
	mov	ecx, DWORD PTR 88[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	edx, 64
	mov	esi, ecx
	mov	rdi, rax
	call	pci_conf_read@PLT
	mov	DWORD PTR -112[rbp], eax
	mov	eax, DWORD PTR -116[rbp]
	movzx	eax, ax
	cmp	eax, 4113
	jne	.L834
	mov	eax, DWORD PTR -116[rbp]
	shr	eax, 16
	cmp	eax, 2
	jne	.L835
	mov	DWORD PTR -136[rbp], 0
	jmp	.L834
.L835:
	mov	eax, DWORD PTR -116[rbp]
	shr	eax, 16
	cmp	eax, 20
	jne	.L836
	mov	DWORD PTR -136[rbp], 2
	jmp	.L834
.L836:
	mov	eax, DWORD PTR -116[rbp]
	shr	eax, 16
	cmp	eax, 9
	jne	.L837
	cmp	DWORD PTR -120[rbp], 31
	jbe	.L838
	mov	eax, 4
	jmp	.L839
.L838:
	mov	eax, 3
.L839:
	mov	DWORD PTR -136[rbp], eax
	jmp	.L834
.L837:
	mov	eax, DWORD PTR -116[rbp]
	shr	eax, 16
	cmp	eax, 25
	jne	.L834
	cmp	DWORD PTR -120[rbp], 31
	jbe	.L840
	mov	eax, 6
	jmp	.L841
.L840:
	mov	eax, 5
.L841:
	mov	DWORD PTR -136[rbp], eax
.L834:
	cmp	DWORD PTR -136[rbp], 7
	je	.L874
	cmp	DWORD PTR -136[rbp], 0
	je	.L843
	cmp	DWORD PTR -136[rbp], 1
	jne	.L844
.L843:
	cmp	DWORD PTR -120[rbp], 31
	ja	.L844
	mov	eax, DWORD PTR -120[rbp]
	and	eax, 15
	mov	edx, eax
	mov	eax, DWORD PTR -120[rbp]
	shr	eax, 4
	mov	esi, eax
	lea	rdi, .LC40[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L831
.L844:
	cmp	DWORD PTR -136[rbp], 3
	jne	.L845
	cmp	DWORD PTR -120[rbp], 16
	ja	.L845
	mov	eax, DWORD PTR -120[rbp]
	and	eax, 15
	mov	edx, eax
	mov	eax, DWORD PTR -120[rbp]
	shr	eax, 4
	mov	esi, eax
	lea	rdi, .LC41[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L831
.L845:
	mov	rax, QWORD PTR -64[rbp]
	mov	rdx, QWORD PTR -152[rbp]
	mov	QWORD PTR 3088[rax], rdx
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 80[rax]
	mov	edx, eax
	mov	rax, QWORD PTR -64[rbp]
	mov	BYTE PTR 3096[rax], dl
	mov	rax, QWORD PTR -64[rbp]
	mov	edx, DWORD PTR -136[rbp]
	mov	DWORD PTR 2248[rax], edx
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR 2080[rax]
	or	eax, 268435456
	mov	edx, eax
	mov	rax, QWORD PTR -64[rbp]
	mov	DWORD PTR 2080[rax], edx
	cmp	DWORD PTR -136[rbp], 3
	je	.L846
	cmp	DWORD PTR -136[rbp], 4
	jne	.L847
.L846:
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR 2084[rax]
	or	eax, 32769
	mov	edx, eax
	mov	rax, QWORD PTR -64[rbp]
	mov	DWORD PTR 2084[rax], edx
.L847:
	cmp	DWORD PTR -136[rbp], 4
	jne	.L848
	cmp	DWORD PTR -120[rbp], 34
	ja	.L848
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR 2084[rax]
	or	eax, 2
	mov	edx, eax
	mov	rax, QWORD PTR -64[rbp]
	mov	DWORD PTR 2084[rax], edx
.L848:
	cmp	DWORD PTR -136[rbp], 3
	jne	.L849
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR 2084[rax]
	or	al, -128
	mov	edx, eax
	mov	rax, QWORD PTR -64[rbp]
	mov	DWORD PTR 2084[rax], edx
.L849:
	cmp	DWORD PTR -136[rbp], 0
	je	.L850
	cmp	DWORD PTR -136[rbp], 1
	je	.L850
	cmp	DWORD PTR -136[rbp], 3
	je	.L850
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR 2084[rax]
	or	eax, 4
	mov	edx, eax
	mov	rax, QWORD PTR -64[rbp]
	mov	DWORD PTR 2084[rax], edx
.L850:
	cmp	DWORD PTR -136[rbp], 2
	je	.L851
	cmp	DWORD PTR -136[rbp], 5
	je	.L851
	cmp	DWORD PTR -136[rbp], 6
	jne	.L852
.L851:
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR 2084[rax]
	or	eax, 32
	mov	edx, eax
	mov	rax, QWORD PTR -64[rbp]
	mov	DWORD PTR 2084[rax], edx
	cmp	DWORD PTR -136[rbp], 2
	jne	.L853
	cmp	DWORD PTR -120[rbp], 31
	jbe	.L854
.L853:
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR 2084[rax]
	or	eax, 16
	mov	edx, eax
	mov	rax, QWORD PTR -64[rbp]
	mov	DWORD PTR 2084[rax], edx
.L854:
	cmp	DWORD PTR -136[rbp], 2
	je	.L855
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR 2084[rax]
	or	eax, 32834
	mov	edx, eax
	mov	rax, QWORD PTR -64[rbp]
	mov	DWORD PTR 2084[rax], edx
.L855:
	cmp	DWORD PTR -136[rbp], 2
	je	.L852
	cmp	DWORD PTR -120[rbp], 31
	jbe	.L852
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR 2084[rax]
	or	eax, 65536
	mov	edx, eax
	mov	rax, QWORD PTR -64[rbp]
	mov	DWORD PTR 2084[rax], edx
.L852:
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR 2084[rax]
	and	eax, 4
	test	eax, eax
	je	.L856
	mov	eax, DWORD PTR -112[rbp]
	and	eax, 3221225472
	test	rax, rax
	je	.L856
	and	DWORD PTR -112[rbp], 1073741823
	mov	rax, QWORD PTR -56[rbp]
	mov	esi, DWORD PTR 88[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	edx, DWORD PTR -112[rbp]
	mov	ecx, edx
	mov	edx, 64
	mov	rdi, rax
	call	pci_conf_write@PLT
	mov	rax, QWORD PTR delay_func[rip]
	mov	edi, 11000
	call	rax
.L856:
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR 2084[rax]
	and	eax, 32768
	test	eax, eax
	je	.L857
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR 2092[rax]
	or	eax, 2097152
	mov	edx, eax
	mov	rax, QWORD PTR -64[rbp]
	mov	DWORD PTR 2092[rax], edx
.L857:
	mov	rax, QWORD PTR -64[rbp]
	lea	rcx, 976[rax]
	mov	rax, QWORD PTR -160[rbp]
	add	rax, 36
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR [rcx], rax
	mov	QWORD PTR 8[rcx], rdx
	mov	rax, QWORD PTR -64[rbp]
	mov	rdx, QWORD PTR -64[rbp]
	mov	QWORD PTR 864[rax], rdx
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -64[rbp]
	mov	QWORD PTR 104[rax], rdx
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -64[rbp]
	mov	QWORD PTR 176[rax], rdx
	mov	eax, DWORD PTR -120[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -64[rbp]
	mov	BYTE PTR 2216[rax], dl
	mov	rax, QWORD PTR -64[rbp]
	lea	rcx, 1912[rax]
	mov	rax, QWORD PTR -64[rbp]
	mov	rdx, rax
	lea	rsi, tulip_timeout_callback[rip]
	mov	rdi, rcx
	call	timeout_set@PLT
	mov	QWORD PTR -40[rbp], 0
	lea	rcx, -80[rbp]
	lea	rdx, -96[rbp]
	mov	rax, QWORD PTR -56[rbp]
	sub	rsp, 8
	push	0
	push	0
	push	0
	mov	r9, rcx
	mov	r8, rdx
	mov	ecx, 0
	mov	edx, 1
	mov	esi, 16
	mov	rdi, rax
	call	pci_mapreg_map@PLT
	add	rsp, 32
	test	eax, eax
	sete	al
	movzx	eax, al
	mov	DWORD PTR -108[rbp], eax
	lea	rcx, -24[rbp]
	lea	rdx, -88[rbp]
	mov	rax, QWORD PTR -56[rbp]
	sub	rsp, 8
	push	0
	push	0
	push	0
	mov	r9, rcx
	mov	r8, rdx
	mov	ecx, 0
	mov	edx, 0
	mov	esi, 20
	mov	rdi, rax
	call	pci_mapreg_map@PLT
	add	rsp, 32
	test	eax, eax
	sete	al
	movzx	eax, al
	mov	DWORD PTR -104[rbp], eax
	cmp	DWORD PTR -104[rbp], 0
	je	.L858
	mov	rdx, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR -64[rbp]
	mov	QWORD PTR 88[rax], rdx
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -64[rbp]
	mov	QWORD PTR 96[rax], rdx
	jmp	.L859
.L858:
	cmp	DWORD PTR -108[rbp], 0
	je	.L860
	mov	rdx, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR -64[rbp]
	mov	QWORD PTR 88[rax], rdx
	mov	rdx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -64[rbp]
	mov	QWORD PTR 96[rax], rdx
	jmp	.L859
.L860:
	lea	rdi, .LC42[rip]
	call	puts@PLT
	jmp	.L831
.L859:
	mov	edx, DWORD PTR -124[rbp]
	mov	ecx, DWORD PTR -128[rbp]
	mov	rax, QWORD PTR -40[rbp]
	add	rcx, rax
	mov	rax, QWORD PTR -64[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	tulip_initcsrs
	mov	rax, QWORD PTR -64[rbp]
	mov	rdi, rax
	call	tulip_busdma_init
	mov	DWORD PTR -100[rbp], eax
	cmp	DWORD PTR -100[rbp], 0
	je	.L861
	mov	eax, DWORD PTR -100[rbp]
	mov	esi, eax
	lea	rdi, .LC43[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L831
.L861:
	mov	rax, QWORD PTR -64[rbp]
	mov	rdx, QWORD PTR 3104[rax]
	mov	rax, QWORD PTR -64[rbp]
	lea	rsi, 2384[rax]
	mov	rax, QWORD PTR -64[rbp]
	mov	ecx, 48
	mov	rdi, rax
	call	tulip_initring
	mov	rax, QWORD PTR -64[rbp]
	mov	rdx, QWORD PTR 3112[rax]
	mov	rax, QWORD PTR -64[rbp]
	lea	rsi, 2424[rax]
	mov	rax, QWORD PTR -64[rbp]
	mov	ecx, 32
	mov	rdi, rax
	call	tulip_initring
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	r8, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -64[rbp]
	mov	rcx, QWORD PTR 1952[rax]
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, 1
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR delay_func[rip]
	mov	edi, 100
	call	rax
	mov	rax, QWORD PTR -64[rbp]
	mov	rdi, rax
	call	tulip_read_macaddr
	mov	DWORD PTR -100[rbp], eax
	cmp	DWORD PTR -100[rbp], 0
	jns	.L862
	mov	rax, QWORD PTR -64[rbp]
	movzx	eax, BYTE PTR 2216[rax]
	movzx	eax, al
	and	eax, 15
	mov	edi, eax
	mov	rax, QWORD PTR -64[rbp]
	movzx	eax, BYTE PTR 2216[rax]
	shr	al, 4
	movzx	edx, al
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR 2248[rax]
	mov	eax, eax
	lea	rcx, 0[0+rax*8]
	lea	rax, tulip_chipdescs[rip]
	mov	rax, QWORD PTR [rcx+rax]
	mov	rcx, QWORD PTR -64[rbp]
	lea	rsi, 2944[rcx]
	mov	r8d, edi
	mov	ecx, edx
	mov	rdx, rax
	lea	rdi, .LC44[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR -100[rbp]
	mov	esi, eax
	lea	rdi, .LC45[rip]
	mov	eax, 0
	call	printf@PLT
	mov	DWORD PTR -140[rbp], 0
	jmp	.L863
.L864:
	mov	rdx, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR -140[rbp]
	cdqe
	movzx	eax, BYTE PTR 2960[rdx+rax]
	movzx	eax, al
	mov	esi, eax
	lea	rdi, .LC46[rip]
	mov	eax, 0
	call	printf@PLT
	add	DWORD PTR -140[rbp], 1
.L863:
	cmp	DWORD PTR -140[rbp], 31
	jle	.L864
	lea	rdi, .LC47[rip]
	call	puts@PLT
	jmp	.L831
.L862:
	lea	rax, tulip_intr_normal[rip]
	mov	QWORD PTR -72[rbp], rax
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR 2084[rax]
	and	eax, 4096
	test	eax, eax
	je	.L865
	lea	rax, tulip_intr_shared[rip]
	mov	QWORD PTR -72[rbp], rax
.L865:
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR 2084[rax]
	and	eax, 2048
	test	eax, eax
	jne	.L866
	lea	rdx, -24[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	pci_intr_map@PLT
	test	eax, eax
	je	.L867
	lea	rdi, .LC48[rip]
	call	puts@PLT
	jmp	.L831
.L867:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rcx, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -16[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	pci_intr_string@PLT
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -160[rbp]
	lea	rcx, 36[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	r8, QWORD PTR -64[rbp]
	mov	rdi, QWORD PTR -72[rbp]
	mov	rsi, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -16[rbp]
	sub	rsp, 8
	push	rcx
	mov	r9, r8
	mov	r8, rdi
	mov	ecx, 7
	mov	rdi, rax
	call	pci_intr_establish@PLT
	add	rsp, 16
	mov	rdx, QWORD PTR -64[rbp]
	mov	QWORD PTR 72[rdx], rax
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR 72[rax]
	test	rax, rax
	jne	.L869
	lea	rdi, .LC49[rip]
	mov	eax, 0
	call	printf@PLT
	cmp	QWORD PTR -32[rbp], 0
	je	.L870
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rax
	lea	rdi, .LC50[rip]
	mov	eax, 0
	call	printf@PLT
.L870:
	mov	edi, 10
	call	putchar@PLT
	jmp	.L831
.L869:
	mov	rax, QWORD PTR -64[rbp]
	add	rax, 1888
	mov	rdi, rax
	call	ether_sprintf@PLT
	mov	rsi, rax
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR 2084[rax]
	and	eax, 131328
	cmp	eax, 256
	jne	.L871
	lea	rax, .LC51[rip]
	jmp	.L872
.L871:
	lea	rax, .LC52[rip]
.L872:
	mov	rdx, QWORD PTR -64[rbp]
	movzx	edx, BYTE PTR 2216[rdx]
	movzx	edx, dl
	and	edx, 15
	mov	r8d, edx
	mov	rdx, QWORD PTR -64[rbp]
	movzx	edx, BYTE PTR 2216[rdx]
	shr	dl, 4
	movzx	ecx, dl
	mov	rdx, QWORD PTR -64[rbp]
	mov	edx, DWORD PTR 2248[rdx]
	mov	edx, edx
	lea	rdi, 0[0+rdx*8]
	lea	rdx, tulip_chipdescs[rip]
	mov	rdx, QWORD PTR [rdi+rdx]
	mov	rdi, QWORD PTR -64[rbp]
	add	rdi, 2944
	push	rsi
	push	QWORD PTR -32[rbp]
	mov	r9, rax
	mov	rsi, rdi
	lea	rdi, .LC53[rip]
	mov	eax, 0
	call	printf@PLT
	add	rsp, 16
.L866:
	mov	rax, QWORD PTR -48[rbp]
	mov	WORD PTR 182[rax], -30718
	mov	rax, QWORD PTR -48[rbp]
	lea	rdx, tulip_ifioctl[rip]
	mov	QWORD PTR 520[rax], rdx
	mov	rax, QWORD PTR -48[rbp]
	lea	rdx, tulip_ifstart[rip]
	mov	QWORD PTR 512[rax], rdx
	mov	rax, QWORD PTR -48[rbp]
	lea	rdx, tulip_ifwatchdog[rip]
	mov	QWORD PTR 528[rax], rdx
	mov	rax, QWORD PTR -48[rbp]
	mov	WORD PTR 180[rax], 1
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR 2256[rax]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -64[rbp]
	mov	rdi, rax
	call	rdx
	mov	rax, QWORD PTR -64[rbp]
	add	rax, 120
	lea	rcx, tulip_ifmedia_status[rip]
	lea	rdx, tulip_ifmedia_change[rip]
	mov	esi, 0
	mov	rdi, rax
	call	ifmedia_init@PLT
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR 2080[rax]
	and	eax, -268435457
	mov	edx, eax
	mov	rax, QWORD PTR -64[rbp]
	mov	DWORD PTR 2080[rax], edx
	mov	rax, QWORD PTR -64[rbp]
	mov	rdi, rax
	call	tulip_ifmedia_add
	mov	rax, QWORD PTR -64[rbp]
	mov	rdi, rax
	call	tulip_reset
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	if_attach@PLT
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	ether_ifattach@PLT
	jmp	.L831
.L874:
	nop
.L831:
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L873
	call	__stack_chk_fail@PLT
.L873:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE126:
	.size	tulip_attach, .-tulip_attach
	.section	.rodata
	.align 32
	.type	table.1, @object
	.size	table.1, 32
table.1:
	.long	0
	.long	1
	.long	7
	.long	9
	.long	0
	.long	2
	.long	8
	.long	0
	.align 8
	.type	testpat.0, @object
	.size	testpat.0, 8
testpat.0:
	.string	"\377"
	.string	"U\252\377"
	.ascii	"U\252"
	.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	"492582.c"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	ifq_set_oactive, %function
ifq_set_oactive:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, #1
	str	r2, [r3, #36]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	ifq_set_oactive, .-ifq_set_oactive
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	ifq_clr_oactive, %function
ifq_clr_oactive:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #36]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	ifq_clr_oactive, .-ifq_clr_oactive
	.section	.rodata
	.align	2
.LC0:
	.ascii	"21040\000"
	.align	2
.LC1:
	.ascii	"21041\000"
	.align	2
.LC2:
	.ascii	"21140\000"
	.align	2
.LC3:
	.ascii	"21140A\000"
	.align	2
.LC4:
	.ascii	"21142\000"
	.align	2
.LC5:
	.ascii	"21143\000"
	.align	2
.LC6:
	.ascii	"82C168\000"
	.align	2
	.type	tulip_chipdescs, %object
	.size	tulip_chipdescs, 32
tulip_chipdescs:
	.word	.LC0
	.word	0
	.word	.LC1
	.word	.LC2
	.word	.LC3
	.word	.LC4
	.word	.LC5
	.word	.LC6
	.align	3
	.type	tulip_media_to_ifmedia, %object
	.size	tulip_media_to_ifmedia, 96
tulip_media_to_ifmedia:
	.word	258
	.word	0
	.word	259
	.word	0
	.word	259
	.word	256
	.word	260
	.word	0
	.word	261
	.word	0
	.word	257
	.word	0
	.word	261
	.word	0
	.word	262
	.word	0
	.word	262
	.word	256
	.word	264
	.word	0
	.word	263
	.word	0
	.word	263
	.word	256
	.align	2
	.type	tulip_srom_conninfo, %object
	.size	tulip_srom_conninfo, 240
tulip_srom_conninfo:
	.word	0
	.word	1
	.space	4
	.word	1
	.word	3
	.space	4
	.word	2
	.word	4
	.space	4
	.word	3
	.word	7
	.space	4
	.word	6
	.word	9
	.space	4
	.word	7
	.word	10
	.space	4
	.word	9
	.word	1
	.word	256
	.word	13
	.word	7
	.word	256
	.word	15
	.word	9
	.word	256
	.word	16
	.word	10
	.word	256
	.word	256
	.word	1
	.word	512
	.word	516
	.word	2
	.space	4
	.word	522
	.word	2
	.word	256
	.word	526
	.word	8
	.space	4
	.word	529
	.word	8
	.word	256
	.word	1024
	.word	1
	.word	4096
	.word	2048
	.word	0
	.word	1024
	.word	34816
	.word	0
	.word	3072
	.word	36864
	.word	0
	.word	1536
	.word	65535
	.word	0
	.space	4
	.align	2
	.type	tulip_srom_mediums, %object
	.size	tulip_srom_mediums, 80
tulip_srom_mediums:
	.word	11
	.word	8
	.word	10
	.word	7
	.word	9
	.word	6
	.word	8
	.word	5
	.word	7
	.word	3
	.word	2
	.word	4
	.word	4
	.word	2
	.word	3
	.word	1
	.word	1
	.word	0
	.word	0
	.space	4
	.global	de_ca
	.data
	.align	2
	.type	de_ca, %object
	.size	de_ca, 20
de_ca:
	.word	2152
	.word	tulip_probe
	.word	tulip_attach
	.space	8
	.global	de_cd
	.section	.rodata
	.align	2
.LC7:
	.ascii	"de\000"
	.data
	.align	2
	.type	de_cd, %object
	.size	de_cd, 20
de_cd:
	.word	0
	.word	.LC7
	.word	3
	.space	8
	.text
	.align	2
	.global	tulip_timeout_callback
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_timeout_callback, %function
tulip_timeout_callback:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-12]
	mov	r0, #7
	bl	splraise
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #1248]
	bic	r2, r3, #4194304
	ldr	r3, [fp, #-12]
	str	r2, [r3, #1248]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #1344]
	sub	r2, r3, #100
	ldr	r3, [fp, #-12]
	str	r2, [r3, #1344]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #1372]
	ldr	r3, [r3, #12]
	mov	r1, #0
	ldr	r0, [fp, #-12]
	blx	r3
	ldr	r0, [fp, #-8]
	bl	spllower
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	tulip_timeout_callback, .-tulip_timeout_callback
	.align	2
	.global	tulip_timeout
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_timeout, %function
tulip_timeout:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #1248]
	and	r3, r3, #4194304
	cmp	r3, #0
	bne	.L7
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #1248]
	orr	r2, r3, #4194304
	ldr	r3, [fp, #-8]
	str	r2, [r3, #1248]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1152
	add	r3, r3, #8
	ldr	r2, .L8
	ldr	r2, [r2]
	add	r2, r2, #5
	ldr	r1, .L8+4
	smull	r0, r1, r2, r1
	asr	r1, r1, #2
	asr	r2, r2, #31
	sub	r2, r1, r2
	mov	r1, r2
	mov	r0, r3
	bl	timeout_add
	b	.L4
.L7:
	nop
.L4:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L9:
	.align	2
.L8:
	.word	hz
	.word	1717986919
	.size	tulip_timeout, .-tulip_timeout
	.align	2
	.global	tulip_txprobe
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_txprobe, %function
tulip_txprobe:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	mov	r1, #1
	mov	r0, #2
	bl	m_gethdr
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L11
	mov	r3, #0
	b	.L12
.L11:
	ldr	r3, [fp, #-16]
	add	r1, r3, #1136
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	mov	r2, #6
	mov	r0, r3
	bl	memmove
	ldr	r3, [fp, #-16]
	add	r1, r3, #1136
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	add	r3, r3, #6
	mov	r2, #6
	mov	r0, r3
	bl	memmove
	mov	r3, #3
	strh	r3, [fp, #-12]	@ movhi
	ldrh	r3, [fp, #-12]	@ movhi
	strh	r3, [fp, #-10]	@ movhi
	ldrh	r3, [fp, #-10]
	lsl	r3, r3, #8
	lsl	r3, r3, #16
	asr	r2, r3, #16
	ldrh	r3, [fp, #-10]
	lsr	r3, r3, #8
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #16
	asr	r3, r3, #16
	orr	r3, r2, r3
	lsl	r3, r3, #16
	asr	r3, r3, #16
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r2, r3
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	lsl	r2, r2, #16
	lsr	r2, r2, #16
	strh	r2, [r3, #12]	@ movhi
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	add	r3, r3, #14
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	add	r3, r3, #15
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	add	r3, r3, #16
	mvn	r2, #28
	strb	r2, [r3]
	ldr	r3, [fp, #-8]
	mov	r2, #17
	str	r2, [r3, #28]
	ldr	r3, [fp, #-8]
	mov	r2, #17
	str	r2, [r3, #12]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #1260]
	orr	r2, r3, #8192
	ldr	r3, [fp, #-16]
	str	r2, [r3, #1260]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #1256]
	orr	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #1256]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #1248]
	orr	r2, r3, #32
	ldr	r3, [fp, #-16]
	str	r2, [r3, #1248]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-16]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-16]
	ldr	r1, [r2, #1208]
	ldr	r2, [fp, #-16]
	ldr	r2, [r2, #1260]
	blx	r3
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-16]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-16]
	ldr	r1, [r2, #1212]
	ldr	r2, [fp, #-16]
	ldr	r2, [r2, #1256]
	blx	r3
	mov	r2, #1
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-16]
	bl	tulip_txput
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L13
	ldr	r0, [fp, #-8]
	bl	m_freem
.L13:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #1364]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #1364]
	mov	r3, #1
.L12:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	tulip_txprobe, .-tulip_txprobe
	.align	2
	.global	tulip_media_set
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_media_set, %function
tulip_media_set:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #28
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-36]
	add	r2, r2, #320
	ldr	r3, [r3, r2, lsl #2]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L41
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	cmp	r3, #1
	beq	.L17
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #1252]
	and	r3, r3, #16
	cmp	r3, #0
	beq	.L18
.L17:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-32]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-32]
	ldr	r1, [r2, #1236]
	mov	r2, #0
	blx	r3
.L18:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #1248]
	and	r3, r3, #4096
	cmp	r3, #0
	beq	.L19
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #1260]
	orr	r2, r3, #512
	ldr	r3, [fp, #-32]
	str	r2, [r3, #1260]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #56]
	ldr	r4, [r3, #56]
	ldr	r3, [fp, #-32]
	ldr	r0, [r3, #60]
	ldr	r3, [fp, #-32]
	ldr	r1, [r3, #1208]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #1260]
	bic	r3, r3, #8192
	bic	r3, r3, #2
	mov	r2, r3
	blx	r4
.L19:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #1248]
	bic	r2, r3, #256
	ldr	r3, [fp, #-32]
	str	r2, [r3, #1248]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L20
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-32]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-32]
	ldr	r1, [r2, #1240]
	ldr	r2, [fp, #-16]
	ldrh	r2, [r2, #6]
	blx	r3
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #1252]
	and	r3, r3, #64
	cmp	r3, #0
	beq	.L21
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-32]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-32]
	ldr	ip, [r2, #1244]
	ldr	r2, [fp, #-16]
	ldr	r2, [r2, #12]
	ldr	r1, [fp, #-16]
	ldrh	r1, [r1, #8]
	orr	r2, r2, r1
	mov	r1, ip
	blx	r3
	ldr	r3, .L42
	ldr	r3, [r3]
	mov	r0, #50
	blx	r3
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-32]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-32]
	ldr	ip, [r2, #1244]
	ldr	r2, [fp, #-16]
	ldr	r2, [r2, #16]
	ldr	r1, [fp, #-16]
	ldrh	r1, [r1, #8]
	orr	r2, r2, r1
	mov	r1, ip
	blx	r3
	b	.L22
.L21:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-32]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-32]
	ldr	r1, [r2, #1244]
	ldr	r2, [fp, #-16]
	ldrh	r2, [r2, #8]
	blx	r3
.L22:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-32]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-32]
	ldr	r1, [r2, #1236]
	ldr	r2, [fp, #-16]
	ldrh	r2, [r2, #4]
	blx	r3
	b	.L14
.L20:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	cmp	r3, #2
	bne	.L23
	ldr	r3, [fp, #-16]
	ldr	r4, [r3, #4]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-32]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-32]
	ldr	r2, [r2, #1208]
	mov	r1, r2
	blx	r3
	mov	r3, r0
	eor	r3, r3, r4
	and	r3, r3, #29622272
	cmp	r3, #0
	beq	.L24
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #1260]
	bic	r2, r3, #29622272
	ldr	r3, [fp, #-32]
	str	r2, [r3, #1260]
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #1260]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	orr	r2, r2, r3
	ldr	r3, [fp, #-32]
	str	r2, [r3, #1260]
	ldr	r0, [fp, #-32]
	bl	tulip_reset
.L24:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-32]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-32]
	ldr	r1, [r2, #1232]
	ldr	r2, [fp, #-32]
	ldrb	r2, [r2, #1338]	@ zero_extendqisi2
	orr	r2, r2, #256
	blx	r3
	ldr	r3, .L42
	ldr	r3, [r3]
	mov	r0, #10
	blx	r3
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-32]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-32]
	ldr	r1, [r2, #1232]
	ldr	r2, [fp, #-16]
	ldr	r2, [r2, #12]
	and	r2, r2, #255
	blx	r3
	b	.L14
.L23:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	cmp	r3, #5
	bne	.L25
	ldr	r3, [fp, #-16]
	ldr	r4, [r3, #4]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-32]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-32]
	ldr	r2, [r2, #1208]
	mov	r1, r2
	blx	r3
	mov	r3, r0
	eor	r3, r3, r4
	and	r3, r3, #29622272
	cmp	r3, #0
	beq	.L26
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #1260]
	bic	r2, r3, #29622272
	ldr	r3, [fp, #-32]
	str	r2, [r3, #1260]
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #1260]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	orr	r2, r2, r3
	ldr	r3, [fp, #-32]
	str	r2, [r3, #1260]
	ldr	r0, [fp, #-32]
	bl	tulip_reset
.L26:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-32]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-32]
	ldr	r1, [r2, #1244]
	ldr	r2, [fp, #-16]
	ldr	r2, [r2, #8]
	blx	r3
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-32]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-32]
	ldr	r1, [r2, #1244]
	ldr	r2, [fp, #-16]
	ldr	r2, [r2, #12]
	blx	r3
	b	.L14
.L25:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	cmp	r3, #3
	bne	.L14
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #1348]
	cmp	r3, #0
	beq	.L14
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #1252]
	and	r3, r3, #64
	cmp	r3, #0
	beq	.L27
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #22]	@ zero_extendqisi2
	add	r3, r3, #2000
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	add	r3, r3, #4
	str	r3, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-28]
	b	.L28
.L29:
	ldr	r3, .L42
	ldr	r3, [r3]
	mov	r0, #10
	blx	r3
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-32]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-32]
	ldr	r1, [r2, #1244]
	ldr	r2, [fp, #-24]
	ldrb	r2, [r2]	@ zero_extendqisi2
	mov	ip, r2
	ldr	r2, [fp, #-24]
	add	r2, r2, #1
	ldrb	r2, [r2]	@ zero_extendqisi2
	lsl	r2, r2, #8
	add	r2, ip, r2
	lsl	r2, r2, #16
	blx	r3
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-24]
	add	r3, r3, #2
	str	r3, [fp, #-24]
.L28:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #21]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-28]
	cmp	r3, r2
	blt	.L29
	ldr	r3, [fp, #-16]
	ldrb	r2, [r3, #18]	@ zero_extendqisi2
	ldr	r3, [fp, #-32]
	strb	r2, [r3, #1337]
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #20]	@ zero_extendqisi2
	add	r3, r3, #2000
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	add	r3, r3, #4
	str	r3, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-28]
	b	.L30
.L31:
	ldr	r3, .L42
	ldr	r3, [r3]
	mov	r0, #10
	blx	r3
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-32]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-32]
	ldr	r1, [r2, #1244]
	ldr	r2, [fp, #-24]
	ldrb	r2, [r2]	@ zero_extendqisi2
	mov	ip, r2
	ldr	r2, [fp, #-24]
	add	r2, r2, #1
	ldrb	r2, [r2]	@ zero_extendqisi2
	lsl	r2, r2, #8
	add	r2, ip, r2
	lsl	r2, r2, #16
	blx	r3
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-24]
	add	r3, r3, #2
	str	r3, [fp, #-24]
.L30:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #19]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-28]
	cmp	r3, r2
	blt	.L31
	b	.L32
.L27:
	mov	r3, #0
	str	r3, [fp, #-28]
	b	.L33
.L34:
	ldr	r3, .L42
	ldr	r3, [r3]
	mov	r0, #10
	blx	r3
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-32]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-32]
	ldr	ip, [r2, #1232]
	ldr	r2, [fp, #-16]
	ldrb	r2, [r2, #22]	@ zero_extendqisi2
	mov	r1, r2
	ldr	r2, [fp, #-28]
	add	r2, r1, r2
	ldr	r1, [fp, #-32]
	add	r2, r1, r2
	ldrb	r2, [r2, #2004]	@ zero_extendqisi2
	mov	r1, ip
	blx	r3
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L33:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #21]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-28]
	cmp	r3, r2
	blt	.L34
	ldr	r3, [fp, #-16]
	ldrb	r2, [r3, #18]	@ zero_extendqisi2
	ldr	r3, [fp, #-32]
	strb	r2, [r3, #1337]
	mov	r3, #0
	str	r3, [fp, #-28]
	b	.L35
.L36:
	ldr	r3, .L42
	ldr	r3, [r3]
	mov	r0, #10
	blx	r3
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-32]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-32]
	ldr	ip, [r2, #1232]
	ldr	r2, [fp, #-16]
	ldrb	r2, [r2, #20]	@ zero_extendqisi2
	mov	r1, r2
	ldr	r2, [fp, #-28]
	add	r2, r1, r2
	ldr	r1, [fp, #-32]
	add	r2, r1, r2
	ldrb	r2, [r2, #2004]	@ zero_extendqisi2
	mov	r1, ip
	blx	r3
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L35:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #19]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-28]
	cmp	r3, r2
	blt	.L36
.L32:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #1252]
	and	r3, r3, #16
	cmp	r3, #0
	beq	.L37
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-32]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-32]
	ldr	r1, [r2, #1244]
	mov	r2, #1
	blx	r3
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-32]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-32]
	ldr	r1, [r2, #1240]
	mov	r2, #0
	blx	r3
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-32]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-32]
	ldr	r1, [r2, #1232]
	mov	r2, #0
	blx	r3
.L37:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #1248]
	and	r3, r3, #16777216
	cmp	r3, #0
	beq	.L38
	ldr	r3, [fp, #-32]
	ldrb	r3, [r3, #1337]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	tulip_mii_autonegotiate
	b	.L14
.L38:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #1248]
	and	r3, r3, #33554432
	cmp	r3, #0
	bne	.L14
	ldr	r3, [fp, #-32]
	ldrb	r3, [r3, #1337]	@ zero_extendqisi2
	mov	r2, #0
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	tulip_mii_readreg
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	bic	r3, r3, #12544
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #1248]
	bic	r2, r3, #33554432
	ldr	r3, [fp, #-32]
	str	r2, [r3, #1248]
	ldr	r3, [fp, #-36]
	ldr	r2, .L42+4
	asr	r3, r2, r3
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L39
	ldr	r3, [fp, #-20]
	orr	r3, r3, #256
	str	r3, [fp, #-20]
.L39:
	ldr	r3, [fp, #-36]
	cmp	r3, #6
	bls	.L40
	ldr	r3, [fp, #-20]
	orr	r3, r3, #8192
	str	r3, [fp, #-20]
.L40:
	ldr	r3, [fp, #-32]
	ldrb	r3, [r3, #1337]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r3, [fp, #-20]
	mov	r2, #0
	ldr	r0, [fp, #-32]
	bl	tulip_mii_writereg
	b	.L14
.L41:
	nop
.L14:
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L43:
	.align	2
.L42:
	.word	delay_func
	.word	2308
	.size	tulip_media_set, .-tulip_media_set
	.align	2
	.global	tulip_linkup
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_linkup, %function
tulip_linkup:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #1248]
	and	r3, r3, #262144
	cmp	r3, #0
	bne	.L45
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #1248]
	orr	r2, r3, #131072
	ldr	r3, [fp, #-8]
	str	r2, [r3, #1248]
.L45:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #1248]
	orr	r2, r3, #262144
	ldr	r3, [fp, #-8]
	str	r2, [r3, #1248]
	ldr	r3, [fp, #-8]
	add	r3, r3, #872
	mov	r0, r3
	bl	ifq_clr_oactive
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #1328]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	beq	.L46
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #1328]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #1248]
	orr	r2, r3, #16
	ldr	r3, [fp, #-8]
	str	r2, [r3, #1248]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #1328]
	mov	r2, r3
	ldr	r3, .L51
	asr	r3, r3, r2
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L47
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #1248]
	orr	r2, r3, #4096
	ldr	r3, [fp, #-8]
	str	r2, [r3, #1248]
	b	.L46
.L47:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #1368]
	cmp	r3, #2
	bne	.L48
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #1248]
	and	r3, r3, #33554432
	cmp	r3, #0
	bne	.L46
.L48:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #1248]
	bic	r2, r3, #4096
	ldr	r3, [fp, #-8]
	str	r2, [r3, #1248]
.L46:
	ldr	r3, [fp, #-8]
	ldr	r2, .L51+4
	str	r2, [r3, #1344]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #1348]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #1248]
	bic	r3, r3, #16777216
	bic	r3, r3, #32
	ldr	r2, [fp, #-8]
	str	r3, [r2, #1248]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #1248]
	and	r3, r3, #512
	cmp	r3, #0
	beq	.L49
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #1328]
	mov	r1, r3
	ldr	r0, [fp, #-8]
	bl	tulip_media_set
	b	.L50
.L49:
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #1352]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #1328]
	cmp	r2, r3
	beq	.L50
	ldr	r0, [fp, #-8]
	bl	tulip_reset
.L50:
	ldr	r0, [fp, #-8]
	bl	tulip_init
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L52:
	.align	2
.L51:
	.word	2308
	.word	3000
	.size	tulip_linkup, .-tulip_linkup
	.align	2
	.global	tulip_media_print
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_media_print, %function
tulip_media_print:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #1248]
	and	r3, r3, #262144
	cmp	r3, #0
	beq	.L57
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #1248]
	and	r3, r3, #16
	cmp	r3, #0
	beq	.L56
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #1248]
	bic	r3, r3, #131072
	bic	r3, r3, #16
	ldr	r2, [fp, #-8]
	str	r3, [r2, #1248]
	b	.L53
.L56:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #1248]
	and	r3, r3, #131072
	cmp	r3, #0
	beq	.L53
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #1248]
	bic	r2, r3, #131072
	ldr	r3, [fp, #-8]
	str	r2, [r3, #1248]
	b	.L53
.L57:
	nop
.L53:
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	tulip_media_print, .-tulip_media_print
	.align	2
	.global	tulip_media_link_monitor
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_media_link_monitor, %function
tulip_media_link_monitor:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #28
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #1328]
	ldr	r3, [fp, #-32]
	add	r2, r2, #320
	ldr	r3, [r3, r2, lsl #2]
	str	r3, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L59
	mov	r3, #2
	b	.L60
.L59:
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #1248]
	ldr	r3, .L73
	and	r3, r3, r2
	ldr	r2, .L73
	cmp	r3, r2
	bne	.L61
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #1248]
	bic	r2, r3, #256
	ldr	r3, [fp, #-32]
	str	r2, [r3, #1248]
	ldr	r3, [fp, #-32]
	ldr	r2, .L73+4
	str	r2, [r3, #1344]
	mov	r3, #1
	b	.L60
.L61:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #1248]
	bic	r2, r3, #256
	ldr	r3, [fp, #-32]
	str	r2, [r3, #1248]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	cmp	r3, #3
	bne	.L62
	ldr	r3, [fp, #-32]
	ldrb	r3, [r3, #1337]	@ zero_extendqisi2
	mov	r2, #1
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	tulip_mii_readreg
	mov	r4, r0
	ldr	r3, [fp, #-32]
	ldrb	r3, [r3, #1337]	@ zero_extendqisi2
	mov	r2, #1
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	tulip_mii_readreg
	mov	r3, r0
	orr	r3, r4, r3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	and	r3, r3, #32
	cmp	r3, #0
	beq	.L63
	ldr	r3, [fp, #-32]
	ldrb	r3, [r3, #1337]	@ zero_extendqisi2
	mov	r2, #5
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	tulip_mii_readreg
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #6
	ldr	r2, [fp, #-20]
	and	r3, r3, r2
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #1332]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	beq	.L63
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-32]
	bl	tulip_mii_map_abilities
	mov	r3, r0
	cmp	r3, #0
	beq	.L64
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #1352]
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	tulip_linkup
	mov	r3, #1
	b	.L60
.L64:
	ldr	r3, [fp, #-32]
	mov	r2, #0
	str	r2, [r3, #1348]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #1248]
	and	r3, r3, #33554432
	cmp	r3, #0
	beq	.L63
	mov	r3, #0
	b	.L60
.L63:
	ldr	r3, [fp, #-20]
	and	r3, r3, #20
	cmp	r3, #4
	bne	.L65
	mov	r3, #1
	str	r3, [fp, #-28]
	b	.L65
.L62:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	cmp	r3, #2
	bne	.L66
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3, #16]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L67
	mov	r3, #2
	b	.L60
.L67:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-32]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-32]
	ldr	r2, [r2, #1232]
	mov	r1, r2
	blx	r3
	mov	r2, r0
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3, #16]	@ zero_extendqisi2
	and	r3, r3, r2
	ldr	r2, [fp, #-24]
	ldrb	r2, [r2, #17]	@ zero_extendqisi2
	cmp	r3, r2
	bne	.L65
	mov	r3, #1
	str	r3, [fp, #-28]
	b	.L65
.L66:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L68
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #1328]
	mov	r2, r3
	mov	r3, #120
	asr	r3, r3, r2
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L69
	mov	r3, #2
	b	.L60
.L69:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-32]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-32]
	ldr	r2, [r2, #1232]
	mov	r1, r2
	blx	r3
	mov	r3, r0
	and	r3, r3, #4
	cmp	r3, #0
	bne	.L65
	mov	r3, #1
	str	r3, [fp, #-28]
	b	.L65
.L68:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	cmp	r3, #5
	bne	.L65
	mov	r3, #2
	b	.L60
.L65:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #1248]
	and	r3, r3, #262144
	cmp	r3, #0
	beq	.L70
	ldr	r3, [fp, #-28]
	cmp	r3, #1
	bne	.L71
	ldr	r3, [fp, #-32]
	ldr	r2, .L73+4
	str	r2, [r3, #1344]
.L71:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #1344]
	cmp	r3, #0
	ble	.L72
	mov	r3, #1
	b	.L60
.L72:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #1248]
	bic	r2, r3, #262144
	ldr	r3, [fp, #-32]
	str	r2, [r3, #1248]
.L70:
	mov	r3, #0
.L60:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L74:
	.align	2
.L73:
	.word	262400
	.word	3000
	.size	tulip_media_link_monitor, .-tulip_media_link_monitor
	.section	.rodata
	.align	2
.LC8:
	.ascii	"tulip_media_poll: botch at line %d\012\000"
	.text
	.align	2
	.global	tulip_media_poll
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_media_poll, %function
tulip_media_poll:
	@ 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]
	str	r1, [fp, #-28]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1348]
	cmp	r3, #0
	bne	.L113
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L113
	ldr	r0, [fp, #-24]
	bl	tulip_media_link_monitor
	mov	r3, r0
	cmp	r3, #2
	beq	.L114
	cmp	r3, #2
	bhi	.L76
	cmp	r3, #0
	beq	.L78
	cmp	r3, #1
	beq	.L79
	b	.L76
.L78:
	mov	r3, #2
	str	r3, [fp, #-28]
	b	.L76
.L79:
	ldr	r0, [fp, #-24]
	bl	tulip_timeout
	b	.L75
.L113:
	nop
.L76:
	ldr	r3, [fp, #-28]
	cmp	r3, #2
	bne	.L81
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1348]
	cmp	r3, #0
	bne	.L81
	ldr	r3, [fp, #-24]
	add	r3, r3, #88
	ldmia	r3, {r2-r3}
	mov	r0, #255
	mov	r1, #0
	and	r4, r2, r0
	and	r5, r3, r1
	orrs	r3, r4, r5
	bne	.L115
	ldr	r3, [fp, #-24]
	mov	r2, #0
	str	r2, [r3, #1328]
	ldr	r3, [fp, #-24]
	add	r3, r3, #564
	add	r3, r3, #2
	ldrsh	r3, [r3]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L115
	ldr	r0, [fp, #-24]
	bl	tulip_reset
	b	.L115
.L81:
	ldr	r3, [fp, #-28]
	cmp	r3, #4
	bne	.L83
	ldr	r3, [fp, #-24]
	add	r3, r3, #872
	mov	r0, r3
	bl	ifq_set_oactive
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1348]
	cmp	r3, #0
	bne	.L116
	ldr	r3, [fp, #-24]
	mov	r2, #0
	str	r2, [r3, #1356]
	ldr	r3, [fp, #-24]
	mov	r2, #0
	str	r2, [r3, #1360]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1260]
	bic	r3, r3, #512
	bic	r3, r3, #2
	ldr	r2, [fp, #-24]
	str	r3, [r2, #1260]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1248]
	orr	r2, r3, #150994944
	ldr	r3, [fp, #-24]
	str	r2, [r3, #1248]
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #1248]
	ldr	r3, .L122
	and	r3, r3, r2
	ldr	r2, [fp, #-24]
	str	r3, [r2, #1248]
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3, #2137]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r2, .L122+4
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	lsl	r3, r3, #2
	add	r3, r2, r3
	add	r3, r3, #4
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	str	r2, [r3, #1352]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1352]
	cmp	r3, #0
	beq	.L85
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1352]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	tulip_linkup
	ldr	r0, [fp, #-24]
	bl	tulip_timeout
	b	.L75
.L85:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1252]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L86
	ldr	r3, [fp, #-24]
	mov	r2, #3
	str	r2, [r3, #1348]
	ldr	r3, [fp, #-24]
	mov	r2, #2000
	str	r2, [r3, #1344]
	b	.L83
.L86:
	ldr	r3, [fp, #-24]
	mov	r2, #12
	str	r2, [r3, #1352]
	ldr	r3, [fp, #-24]
	mov	r2, #0
	str	r2, [r3, #1344]
	ldr	r3, [fp, #-24]
	mov	r2, #4
	str	r2, [r3, #1348]
.L83:
	ldr	r3, [fp, #-28]
	cmp	r3, #6
	bne	.L87
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1348]
	cmp	r3, #4
	beq	.L87
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1248]
	bic	r2, r3, #32
	ldr	r3, [fp, #-24]
	str	r2, [r3, #1248]
	b	.L75
.L87:
	ldr	r3, [fp, #-28]
	cmp	r3, #5
	beq	.L88
	ldr	r3, [fp, #-28]
	cmp	r3, #3
	bne	.L89
.L88:
	ldr	r3, [fp, #-28]
	cmp	r3, #3
	bne	.L90
	ldr	r3, [fp, #-24]
	mov	r2, #1
	str	r2, [r3, #1352]
.L90:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1352]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	tulip_linkup
	ldr	r0, [fp, #-24]
	bl	tulip_timeout
	b	.L75
.L89:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1348]
	cmp	r3, #3
	bne	.L91
	ldr	r3, [fp, #-24]
	mov	r2, #4
	str	r2, [r3, #1348]
	ldr	r3, [fp, #-24]
	mov	r2, #12
	str	r2, [r3, #1352]
	ldr	r3, [fp, #-24]
	mov	r2, #0
	str	r2, [r3, #1344]
	ldr	r0, [fp, #-24]
	bl	tulip_timeout
	b	.L75
.L91:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1348]
	cmp	r3, #4
	beq	.L117
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1252]
	and	r3, r3, #8
	cmp	r3, #0
	beq	.L117
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1352]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3, #1337]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	tulip_mii_autonegotiate
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1348]
	cmp	r3, #5
	bhi	.L93
	cmp	r3, #4
	bcs	.L94
	cmp	r3, #0
	beq	.L95
	cmp	r3, #2
	beq	.L118
	b	.L93
.L94:
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #1356]
	ldr	r3, [fp, #-24]
	ldr	r1, [r3, #1352]
	ldr	r3, [fp, #-24]
	add	r1, r1, #320
	ldr	r3, [r3, r1, lsl #2]
	ldr	r3, [r3, #4]
	orr	r2, r2, r3
	ldr	r3, [fp, #-24]
	str	r2, [r3, #1356]
	ldr	r3, [fp, #-24]
	mov	r2, #0
	str	r2, [r3, #1344]
	b	.L92
.L95:
	ldr	r3, [fp, #-24]
	mov	r2, #0
	str	r2, [r3, #1344]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1356]
	ldr	r2, [fp, #-24]
	ldr	r2, [r2, #1352]
	mov	r1, r2
	mov	r2, #1
	lsl	r2, r2, r1
	and	r3, r3, r2
	cmp	r3, #0
	beq	.L97
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-16]
	str	r2, [r3, #1352]
	b	.L92
.L97:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1352]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	tulip_linkup
	ldr	r0, [fp, #-24]
	bl	tulip_timeout
	b	.L75
.L93:
	mov	r1, #724
	ldr	r0, .L122+8
	bl	printf
	b	.L92
.L117:
	nop
.L92:
	ldr	r3, [fp, #-28]
	cmp	r3, #6
	bne	.L98
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1248]
	bic	r2, r3, #32
	ldr	r3, [fp, #-24]
	str	r2, [r3, #1248]
	b	.L75
.L98:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1344]
	cmp	r3, #0
	bgt	.L99
.L102:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1352]
	sub	r2, r3, #1
	ldr	r3, [fp, #-24]
	str	r2, [r3, #1352]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1352]
	cmp	r3, #0
	bne	.L100
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1360]
	add	r2, r3, #1
	ldr	r3, [fp, #-24]
	str	r2, [r3, #1360]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1360]
	cmp	r3, #3
	bne	.L101
	ldr	r3, [fp, #-24]
	add	r3, r3, #564
	add	r3, r3, #2
	ldrsh	r3, [r3]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	and	r3, r3, #1
	cmp	r3, #0
	bne	.L101
	ldr	r3, [fp, #-24]
	add	r3, r3, #564
	add	r3, r3, #2
	ldrsh	r3, [r3]
	bic	r3, r3, #64
	lsl	r3, r3, #16
	asr	r2, r3, #16
	ldr	r3, [fp, #-24]
	add	r3, r3, #564
	add	r3, r3, #2
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-24]
	mov	r2, #0
	str	r2, [r3, #1348]
	b	.L75
.L101:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1248]
	eor	r2, r3, #16777216
	ldr	r3, [fp, #-24]
	str	r2, [r3, #1248]
	ldr	r3, [fp, #-24]
	mov	r2, #0
	str	r2, [r3, #1356]
	ldr	r3, [fp, #-24]
	mov	r2, #11
	str	r2, [r3, #1352]
.L100:
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #1352]
	ldr	r3, [fp, #-24]
	add	r2, r2, #320
	ldr	r3, [r3, r2, lsl #2]
	cmp	r3, #0
	beq	.L102
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1356]
	ldr	r2, [fp, #-24]
	ldr	r2, [r2, #1352]
	mov	r1, r2
	mov	r2, #1
	lsl	r2, r2, r1
	and	r3, r3, r2
	cmp	r3, #0
	bne	.L102
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1352]
	mov	r2, r3
	ldr	r3, .L122+12
	asr	r3, r3, r2
	and	r3, r3, #1
	cmp	r3, #0
	bne	.L102
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1352]
	mov	r2, r3
	mov	r3, #120
	asr	r3, r3, r2
	and	r3, r3, #1
	cmp	r3, #0
	bne	.L103
	ldr	r2, .L122+16
	b	.L104
.L103:
	mov	r2, #1000
.L104:
	ldr	r3, [fp, #-24]
	str	r2, [r3, #1344]
	ldr	r3, [fp, #-24]
	mov	r2, #4
	str	r2, [r3, #1348]
	ldr	r3, [fp, #-24]
	mov	r2, #0
	str	r2, [r3, #1364]
	ldr	r0, [fp, #-24]
	bl	tulip_reset
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1352]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	tulip_media_set
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1248]
	bic	r2, r3, #32
	ldr	r3, [fp, #-24]
	str	r2, [r3, #1248]
.L99:
	ldr	r0, [fp, #-24]
	bl	tulip_timeout
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #1352]
	ldr	r3, [fp, #-24]
	add	r2, r2, #320
	ldr	r3, [r3, r2, lsl #2]
	ldr	r3, [r3]
	cmp	r3, #5
	ldrls	pc, [pc, r3, asl #2]
	b	.L105
.L107:
	.word	.L105
	.word	.L109
	.word	.L105
	.word	.L108
	.word	.L105
	.word	.L105
.L108:
	ldr	r3, [fp, #-24]
	ldr	r4, [r3, #1352]
	ldr	r0, [fp, #-24]
	bl	tulip_mii_phy_readspecific
	mov	r3, r0
	cmp	r4, r3
	beq	.L119
	b	.L75
.L109:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1352]
	mov	r2, r3
	mov	r3, #120
	asr	r3, r3, r2
	and	r3, r3, #1
	cmp	r3, #0
	bne	.L120
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-24]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-24]
	ldr	r2, [r2, #1232]
	mov	r1, r2
	blx	r3
	mov	r3, r0
	and	r3, r3, #4
	cmp	r3, #0
	bne	.L121
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1352]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	tulip_linkup
	b	.L75
.L119:
	nop
	b	.L105
.L120:
	nop
.L105:
	ldr	r0, [fp, #-24]
	bl	tulip_txprobe
	b	.L75
.L114:
	nop
	b	.L75
.L115:
	nop
	b	.L75
.L116:
	nop
	b	.L75
.L118:
	nop
	b	.L75
.L121:
	nop
.L75:
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L123:
	.align	2
.L122:
	.word	-33685521
	.word	tulip_srom_conninfo
	.word	.LC8
	.word	2308
	.word	2500
	.size	tulip_media_poll, .-tulip_media_poll
	.align	2
	.global	tulip_media_select
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_media_select, %function
tulip_media_select:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #1252]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L125
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-8]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-8]
	ldr	r1, [r2, #1232]
	ldr	r2, [fp, #-8]
	ldrb	r2, [r2, #1338]	@ zero_extendqisi2
	orr	r2, r2, #256
	blx	r3
	ldr	r3, .L130
	ldr	r3, [r3]
	mov	r0, #10
	blx	r3
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-8]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-8]
	ldr	r1, [r2, #1232]
	ldr	r2, [fp, #-8]
	ldrb	r2, [r2, #1339]	@ zero_extendqisi2
	blx	r3
.L125:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #1252]
	and	r3, r3, #16384
	cmp	r3, #0
	bne	.L129
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #1328]
	cmp	r3, #0
	bne	.L128
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-8]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-8]
	ldr	r1, [r2, #1212]
	ldr	r2, [fp, #-8]
	ldr	r2, [r2, #1256]
	blx	r3
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #1372]
	ldr	r3, [r3, #12]
	mov	r1, #4
	ldr	r0, [fp, #-8]
	blx	r3
	b	.L124
.L128:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #1328]
	mov	r1, r3
	ldr	r0, [fp, #-8]
	bl	tulip_media_set
	b	.L124
.L129:
	nop
.L124:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L131:
	.align	2
.L130:
	.word	delay_func
	.size	tulip_media_select, .-tulip_media_select
	.align	2
	.global	tulip_21040_mediainfo_init
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_21040_mediainfo_init, %function
tulip_21040_mediainfo_init:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #1260]
	orr	r3, r3, #180224
	orr	r3, r3, #32
	ldr	r2, [fp, #-8]
	str	r3, [r2, #1260]
	ldr	r1, [fp, #-8]
	adr	r3, .L139
	ldmia	r3, {r2-r3}
	str	r2, [r1, #592]
	str	r3, [r1, #596]
	ldr	r3, [fp, #-12]
	cmp	r3, #1
	beq	.L133
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L134
.L133:
	ldr	r3, [fp, #-8]
	mov	r2, #1
	str	r2, [r3, #1512]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1504
	add	r3, r3, #8
	ldr	r2, [fp, #-8]
	str	r3, [r2, #1284]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1504
	add	r3, r3, #12
	ldr	r2, .L139+8
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-8]
	add	r3, r3, #1504
	add	r3, r3, #14
	mvn	r2, #0
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-8]
	add	r3, r3, #1520
	mov	r2, #0
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-8]
	mov	r2, #1
	str	r2, [r3, #1540]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1536
	add	r3, r3, #4
	ldr	r2, [fp, #-8]
	str	r3, [r2, #1288]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1536
	add	r3, r3, #8
	ldr	r2, .L139+8
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-8]
	add	r3, r3, #1536
	add	r3, r3, #10
	mvn	r2, #2
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-8]
	add	r3, r3, #1536
	add	r3, r3, #12
	mov	r2, #0
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #1256]
	orr	r3, r3, #4096
	orr	r3, r3, #16
	ldr	r2, [fp, #-8]
	str	r3, [r2, #1256]
.L134:
	ldr	r3, [fp, #-12]
	cmp	r3, #6
	beq	.L135
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L136
.L135:
	ldr	r3, [fp, #-8]
	mov	r2, #1
	str	r2, [r3, #1568]
	ldr	r3, [fp, #-8]
	add	r2, r3, #1568
	ldr	r3, [fp, #-8]
	str	r2, [r3, #1304]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1568
	add	r3, r3, #4
	ldr	r2, .L139+12
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-8]
	add	r3, r3, #1568
	add	r3, r3, #6
	ldr	r2, .L139+16
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-8]
	add	r3, r3, #1568
	add	r3, r3, #8
	mov	r2, #6
	strh	r2, [r3]	@ movhi
.L136:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L138
	ldr	r3, [fp, #-8]
	mov	r2, #1
	str	r2, [r3, #1596]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1584
	add	r3, r3, #12
	ldr	r2, [fp, #-8]
	str	r3, [r2, #1300]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1600
	ldr	r2, .L139+20
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-8]
	add	r3, r3, #1600
	add	r3, r3, #2
	mov	r2, #0
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-8]
	add	r3, r3, #1600
	add	r3, r3, #4
	mov	r2, #6
	strh	r2, [r3]	@ movhi
.L138:
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L140:
	.align	3
.L139:
	.word	10000000
	.word	0
	.word	-4351
	.word	-4343
	.word	1797
	.word	12353
	.size	tulip_21040_mediainfo_init, .-tulip_21040_mediainfo_init
	.align	2
	.global	tulip_21040_media_probe
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_21040_media_probe, %function
tulip_21040_media_probe:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	mov	r1, #0
	ldr	r0, [fp, #-8]
	bl	tulip_21040_mediainfo_init
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	tulip_21040_media_probe, .-tulip_21040_media_probe
	.align	2
	.global	tulip_21040_10baset_only_media_probe
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_21040_10baset_only_media_probe, %function
tulip_21040_10baset_only_media_probe:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	mov	r1, #1
	ldr	r0, [fp, #-8]
	bl	tulip_21040_mediainfo_init
	mov	r1, #1
	ldr	r0, [fp, #-8]
	bl	tulip_media_set
	ldr	r3, [fp, #-8]
	mov	r2, #1
	str	r2, [r3, #1328]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	tulip_21040_10baset_only_media_probe, .-tulip_21040_10baset_only_media_probe
	.align	2
	.global	tulip_21040_10baset_only_media_select
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_21040_10baset_only_media_select, %function
tulip_21040_10baset_only_media_select:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #1248]
	orr	r2, r3, #262144
	ldr	r3, [fp, #-8]
	str	r2, [r3, #1248]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #1328]
	cmp	r3, #2
	bne	.L144
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #1260]
	orr	r2, r3, #512
	ldr	r3, [fp, #-8]
	str	r2, [r3, #1260]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #1248]
	bic	r2, r3, #2048
	ldr	r3, [fp, #-8]
	str	r2, [r3, #1248]
	b	.L145
.L144:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #1260]
	bic	r2, r3, #512
	ldr	r3, [fp, #-8]
	str	r2, [r3, #1260]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #1248]
	orr	r2, r3, #2048
	ldr	r3, [fp, #-8]
	str	r2, [r3, #1248]
.L145:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #1328]
	mov	r1, r3
	ldr	r0, [fp, #-8]
	bl	tulip_media_set
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	tulip_21040_10baset_only_media_select, .-tulip_21040_10baset_only_media_select
	.align	2
	.global	tulip_21040_auibnc_only_media_probe
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_21040_auibnc_only_media_probe, %function
tulip_21040_auibnc_only_media_probe:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	mov	r1, #6
	ldr	r0, [fp, #-8]
	bl	tulip_21040_mediainfo_init
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #1248]
	orr	r3, r3, #262144
	orr	r3, r3, #2048
	ldr	r2, [fp, #-8]
	str	r3, [r2, #1248]
	mov	r1, #6
	ldr	r0, [fp, #-8]
	bl	tulip_media_set
	ldr	r3, [fp, #-8]
	mov	r2, #6
	str	r2, [r3, #1328]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	tulip_21040_auibnc_only_media_probe, .-tulip_21040_auibnc_only_media_probe
	.align	2
	.global	tulip_21040_auibnc_only_media_select
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_21040_auibnc_only_media_select, %function
tulip_21040_auibnc_only_media_select:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	mov	r1, #6
	ldr	r0, [fp, #-8]
	bl	tulip_media_set
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #1260]
	bic	r2, r3, #512
	ldr	r3, [fp, #-8]
	str	r2, [r3, #1260]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	tulip_21040_auibnc_only_media_select, .-tulip_21040_auibnc_only_media_select
	.section	.rodata
	.align	2
	.type	tulip_21040_boardsw, %object
	.size	tulip_21040_boardsw, 20
tulip_21040_boardsw:
	.word	0
	.word	tulip_21040_media_probe
	.word	tulip_media_select
	.word	tulip_media_poll
	.space	4
	.align	2
	.type	tulip_21040_10baset_only_boardsw, %object
	.size	tulip_21040_10baset_only_boardsw, 20
tulip_21040_10baset_only_boardsw:
	.word	0
	.word	tulip_21040_10baset_only_media_probe
	.word	tulip_21040_10baset_only_media_select
	.word	0
	.space	4
	.align	2
	.type	tulip_21040_auibnc_only_boardsw, %object
	.size	tulip_21040_auibnc_only_boardsw, 20
tulip_21040_auibnc_only_boardsw:
	.word	0
	.word	tulip_21040_auibnc_only_media_probe
	.word	tulip_21040_auibnc_only_media_select
	.word	0
	.space	4
	.text
	.align	2
	.global	tulip_21041_mediainfo_init
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_21041_mediainfo_init, %function
tulip_21041_mediainfo_init:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1504
	add	r3, r3, #8
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #1284]
	ldr	r3, [fp, #-8]
	ldr	r2, .L149
	strh	r2, [r3, #4]	@ movhi
	ldr	r3, [fp, #-8]
	mvn	r2, #192
	strh	r2, [r3, #6]	@ movhi
	ldr	r3, [fp, #-8]
	mov	r2, #0
	strh	r2, [r3, #8]	@ movhi
	ldr	r3, [fp, #-8]
	add	r3, r3, #28
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r2, r3, #28
	ldr	r3, [fp, #-16]
	str	r2, [r3, #1288]
	ldr	r3, [fp, #-8]
	add	r3, r3, #28
	ldr	r2, .L149
	strh	r2, [r3, #4]	@ movhi
	ldr	r3, [fp, #-8]
	add	r3, r3, #28
	mvn	r2, #194
	strh	r2, [r3, #6]	@ movhi
	ldr	r3, [fp, #-8]
	add	r3, r3, #28
	mov	r2, #0
	strh	r2, [r3, #8]	@ movhi
	ldr	r3, [fp, #-8]
	add	r3, r3, #56
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r2, r3, #56
	ldr	r3, [fp, #-16]
	str	r2, [r3, #1296]
	ldr	r3, [fp, #-8]
	add	r3, r3, #56
	ldr	r2, .L149+4
	strh	r2, [r3, #4]	@ movhi
	ldr	r3, [fp, #-8]
	add	r3, r3, #56
	ldr	r2, .L149+8
	strh	r2, [r3, #6]	@ movhi
	ldr	r3, [fp, #-8]
	add	r3, r3, #56
	mov	r2, #14
	strh	r2, [r3, #8]	@ movhi
	ldr	r3, [fp, #-8]
	add	r3, r3, #84
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r2, r3, #84
	ldr	r3, [fp, #-16]
	str	r2, [r3, #1292]
	ldr	r3, [fp, #-8]
	add	r3, r3, #84
	ldr	r2, .L149+4
	strh	r2, [r3, #4]	@ movhi
	ldr	r3, [fp, #-8]
	add	r3, r3, #84
	ldr	r2, .L149+8
	strh	r2, [r3, #6]	@ movhi
	ldr	r3, [fp, #-8]
	add	r3, r3, #84
	mov	r2, #6
	strh	r2, [r3, #8]	@ movhi
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L150:
	.align	2
.L149:
	.word	-4351
	.word	-4343
	.word	-2243
	.size	tulip_21041_mediainfo_init, .-tulip_21041_mediainfo_init
	.align	2
	.global	tulip_21041_media_probe
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_21041_media_probe, %function
tulip_21041_media_probe:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r1, [fp, #-8]
	adr	r3, .L152
	ldmia	r3, {r2-r3}
	str	r2, [r1, #592]
	str	r3, [r1, #596]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #1260]
	orr	r3, r3, #442368
	orr	r3, r3, #32
	ldr	r2, [fp, #-8]
	str	r3, [r2, #1260]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #1256]
	orr	r3, r3, #4096
	orr	r3, r3, #16
	ldr	r2, [fp, #-8]
	str	r3, [r2, #1256]
	ldr	r0, [fp, #-8]
	bl	tulip_21041_mediainfo_init
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L153:
	.align	3
.L152:
	.word	10000000
	.word	0
	.size	tulip_21041_media_probe, .-tulip_21041_media_probe
	.align	2
	.global	tulip_21041_media_poll
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_21041_media_poll, %function
tulip_21041_media_poll:
	@ 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]
	str	r1, [fp, #-28]
	ldr	r1, [fp, #-28]
	cmp	r1, #2
	bne	.L155
	ldr	r1, [fp, #-24]
	ldr	r1, [r1, #1348]
	cmp	r1, #0
	bne	.L177
	ldr	r1, [fp, #-24]
	add	r1, r1, #88
	ldmia	r1, {r0-r1}
	mov	r4, #255
	mov	r5, #0
	and	r2, r0, r4
	and	r3, r1, r5
	orrs	r3, r2, r3
	bne	.L177
	ldr	r3, [fp, #-24]
	mov	r2, #0
	str	r2, [r3, #1328]
	ldr	r0, [fp, #-24]
	bl	tulip_reset
	b	.L154
.L155:
	ldr	r3, [fp, #-28]
	cmp	r3, #4
	bne	.L159
	ldr	r3, [fp, #-24]
	add	r3, r3, #872
	mov	r0, r3
	bl	ifq_set_oactive
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1260]
	bic	r3, r3, #512
	bic	r3, r3, #2
	ldr	r2, [fp, #-24]
	str	r3, [r2, #1260]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-24]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-24]
	ldr	r1, [r2, #1208]
	ldr	r2, [fp, #-24]
	ldr	r2, [r2, #1260]
	blx	r3
	ldr	r3, [fp, #-24]
	mov	r2, #4
	str	r2, [r3, #1348]
	ldr	r3, [fp, #-24]
	mov	r2, #1
	str	r2, [r3, #1352]
	ldr	r3, [fp, #-24]
	ldr	r2, .L180
	str	r2, [r3, #1344]
	mov	r1, #1
	ldr	r0, [fp, #-24]
	bl	tulip_media_set
	ldr	r0, [fp, #-24]
	bl	tulip_timeout
	b	.L154
.L159:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1348]
	cmp	r3, #0
	beq	.L178
	ldr	r3, [fp, #-28]
	cmp	r3, #5
	bne	.L161
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1352]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	tulip_linkup
	b	.L154
.L161:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-24]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-24]
	ldr	r2, [r2, #1232]
	mov	r1, r2
	blx	r3
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-24]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-24]
	ldr	r1, [r2, #1232]
	ldr	r2, [fp, #-16]
	blx	r3
	ldr	r3, [fp, #-16]
	and	r3, r3, #4
	cmp	r3, #0
	bne	.L162
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3, #1336]	@ zero_extendqisi2
	cmp	r3, #31
	bls	.L163
	ldr	r3, [fp, #-16]
	and	r3, r3, #4194304
	cmp	r3, #0
	beq	.L163
	ldr	r3, [fp, #-24]
	mov	r2, #2
	str	r2, [r3, #1352]
.L163:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1352]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	tulip_linkup
	b	.L154
.L162:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1352]
	cmp	r3, #1
	bne	.L164
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L179
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1344]
	cmp	r3, #0
	ble	.L166
	ldr	r3, [fp, #-16]
	and	r3, r3, #512
	cmp	r3, #0
	bne	.L166
	ldr	r0, [fp, #-24]
	bl	tulip_timeout
	b	.L154
.L166:
	ldr	r3, [fp, #-24]
	mov	r2, #300
	str	r2, [r3, #1344]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1248]
	orr	r2, r3, #128
	ldr	r3, [fp, #-24]
	str	r2, [r3, #1248]
	ldr	r3, [fp, #-16]
	and	r3, r3, #512
	cmp	r3, #0
	beq	.L167
	ldr	r3, [fp, #-24]
	mov	r2, #3
	str	r2, [r3, #1352]
	b	.L168
.L167:
	ldr	r3, [fp, #-24]
	mov	r2, #4
	str	r2, [r3, #1352]
.L168:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1352]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	tulip_media_set
	ldr	r0, [fp, #-24]
	bl	tulip_timeout
	b	.L154
.L164:
	ldr	r3, [fp, #-28]
	cmp	r3, #6
	bne	.L169
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1248]
	bic	r2, r3, #32
	ldr	r3, [fp, #-24]
	str	r2, [r3, #1248]
.L169:
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L170
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1248]
	and	r3, r3, #256
	cmp	r3, #0
	beq	.L171
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1352]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	tulip_linkup
	b	.L154
.L171:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1248]
	and	r3, r3, #32
	cmp	r3, #0
	bne	.L172
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1248]
	and	r3, r3, #128
	cmp	r3, #0
	beq	.L173
	ldr	r3, [fp, #-16]
	and	r3, r3, #256
	cmp	r3, #0
	beq	.L172
.L173:
	ldr	r3, [fp, #-24]
	mov	r2, #300
	str	r2, [r3, #1344]
	ldr	r0, [fp, #-24]
	bl	tulip_txprobe
	ldr	r0, [fp, #-24]
	bl	tulip_timeout
	b	.L154
.L172:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1344]
	cmp	r3, #0
	bgt	.L170
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1248]
	and	r3, r3, #128
	cmp	r3, #0
	beq	.L174
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1248]
	bic	r2, r3, #128
	ldr	r3, [fp, #-24]
	str	r2, [r3, #1248]
	ldr	r3, [fp, #-24]
	mov	r2, #300
	str	r2, [r3, #1344]
	b	.L170
.L174:
	ldr	r3, [fp, #-24]
	add	r3, r3, #564
	add	r3, r3, #2
	ldrsh	r3, [r3]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	and	r3, r3, #1
	cmp	r3, #0
	bne	.L170
	ldr	r3, [fp, #-24]
	add	r3, r3, #564
	add	r3, r3, #2
	ldrsh	r3, [r3]
	bic	r3, r3, #64
	lsl	r3, r3, #16
	asr	r2, r3, #16
	ldr	r3, [fp, #-24]
	add	r3, r3, #564
	add	r3, r3, #2
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-24]
	mov	r2, #0
	str	r2, [r3, #1348]
	b	.L154
.L170:
	ldr	r3, [fp, #-24]
	mov	r2, #300
	str	r2, [r3, #1344]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1352]
	cmp	r3, #4
	bne	.L175
	ldr	r3, [fp, #-24]
	mov	r2, #3
	str	r2, [r3, #1352]
	b	.L176
.L175:
	ldr	r3, [fp, #-24]
	mov	r2, #4
	str	r2, [r3, #1352]
.L176:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1352]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	tulip_media_set
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1248]
	bic	r2, r3, #32
	ldr	r3, [fp, #-24]
	str	r2, [r3, #1248]
	ldr	r0, [fp, #-24]
	bl	tulip_timeout
	b	.L154
.L177:
	nop
	b	.L154
.L178:
	nop
	b	.L154
.L179:
	nop
.L154:
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L181:
	.align	2
.L180:
	.word	2500
	.size	tulip_21041_media_poll, .-tulip_21041_media_poll
	.section	.rodata
	.align	2
	.type	tulip_21041_boardsw, %object
	.size	tulip_21041_boardsw, 20
tulip_21041_boardsw:
	.word	12
	.word	tulip_21041_media_probe
	.word	tulip_media_select
	.word	tulip_21041_media_poll
	.space	4
	.align	2
	.type	tulip_mii_phy_attrlist, %object
	.size	tulip_mii_phy_attrlist, 192
tulip_mii_phy_attrlist:
	.word	536894464
	.short	0
	.short	25
	.short	64
	.short	64
	.short	25
	.short	64
	.short	0
	.space	12
	.space	2
	.word	42071040
	.short	0
	.short	18
	.short	16
	.short	0
	.short	0
	.space	4
	.short	18
	.short	16
	.short	16
	.short	18
	.short	8
	.short	8
	.space	2
	.word	42071040
	.short	3
	.short	18
	.short	128
	.short	0
	.short	18
	.short	128
	.short	128
	.short	0
	.space	4
	.short	18
	.short	64
	.short	64
	.space	2
	.word	42071040
	.short	0
	.short	17
	.short	-32768
	.short	0
	.short	17
	.short	-32768
	.short	-32768
	.short	0
	.space	4
	.short	17
	.short	16384
	.short	16384
	.space	2
	.word	2014314496
	.short	0
	.short	20
	.short	2048
	.short	0
	.short	20
	.short	2048
	.short	2048
	.short	0
	.space	4
	.short	20
	.short	4096
	.short	4096
	.space	2
	.word	0
	.space	28
	.text
	.align	2
	.global	tulip_mii_phy_readspecific
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_mii_phy_readspecific, %function
tulip_mii_phy_readspecific:
	@ 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]
	mov	r3, #0
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-48]
	ldrb	r3, [r3, #1337]	@ zero_extendqisi2
	mov	r2, #1
	mov	r1, r3
	ldr	r0, [fp, #-48]
	bl	tulip_mii_readreg
	mov	r3, r0
	lsl	r3, r3, #16
	lsr	r4, r3, #16
	ldr	r3, [fp, #-48]
	ldrb	r3, [r3, #1337]	@ zero_extendqisi2
	mov	r2, #1
	mov	r1, r3
	ldr	r0, [fp, #-48]
	bl	tulip_mii_readreg
	mov	r3, r0
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	orr	r3, r4, r3
	strh	r3, [fp, #-42]	@ movhi
	ldrh	r3, [fp, #-42]
	and	r3, r3, #5
	cmp	r3, #5
	beq	.L183
	mov	r3, #0
	b	.L184
.L183:
	ldr	r3, [fp, #-48]
	ldrb	r3, [r3, #1337]	@ zero_extendqisi2
	mov	r2, #2
	mov	r1, r3
	ldr	r0, [fp, #-48]
	bl	tulip_mii_readreg
	mov	r3, r0
	lsl	r4, r3, #16
	ldr	r3, [fp, #-48]
	ldrb	r3, [r3, #1337]	@ zero_extendqisi2
	mov	r2, #3
	mov	r1, r3
	ldr	r0, [fp, #-48]
	bl	tulip_mii_readreg
	mov	r3, r0
	orr	r3, r4, r3
	str	r3, [fp, #-32]
	ldr	r3, .L197
	str	r3, [fp, #-40]
.L188:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L185
	mov	r3, #0
	b	.L184
.L185:
	ldr	r3, [fp, #-32]
	bic	r2, r3, #15
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	cmp	r2, r3
	beq	.L196
	ldr	r3, [fp, #-40]
	add	r3, r3, #32
	str	r3, [fp, #-40]
	b	.L188
.L196:
	nop
	ldr	r3, [fp, #-40]
	ldrh	r3, [r3, #12]
	cmp	r3, #0
	beq	.L189
	ldr	r3, [fp, #-40]
	add	r3, r3, #12
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-48]
	ldrb	r3, [r3, #1337]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r3, [fp, #-28]
	ldrh	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-48]
	bl	tulip_mii_readreg
	mov	r3, r0
	strh	r3, [fp, #-42]	@ movhi
	ldr	r3, [fp, #-28]
	ldrh	r2, [r3, #2]
	ldrh	r3, [fp, #-42]	@ movhi
	and	r3, r3, r2
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-28]
	ldrh	r3, [r3, #4]
	cmp	r2, r3
	bne	.L189
	mov	r3, #2
	str	r3, [fp, #-36]
.L189:
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	bne	.L190
	ldr	r3, [fp, #-40]
	ldrh	r3, [r3, #18]
	cmp	r3, #0
	beq	.L190
	ldr	r3, [fp, #-40]
	add	r3, r3, #18
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-48]
	ldrb	r3, [r3, #1337]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r3, [fp, #-24]
	ldrh	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-48]
	bl	tulip_mii_readreg
	mov	r3, r0
	strh	r3, [fp, #-42]	@ movhi
	ldr	r3, [fp, #-24]
	ldrh	r2, [r3, #2]
	ldrh	r3, [fp, #-42]	@ movhi
	and	r3, r3, r2
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-24]
	ldrh	r3, [r3, #4]
	cmp	r2, r3
	bne	.L190
	mov	r3, #3
	str	r3, [fp, #-36]
.L190:
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	bne	.L191
	ldr	r3, [fp, #-40]
	ldrh	r3, [r3, #6]
	cmp	r3, #0
	beq	.L191
	ldr	r3, [fp, #-40]
	add	r3, r3, #6
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-48]
	ldrb	r3, [r3, #1337]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r3, [fp, #-20]
	ldrh	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-48]
	bl	tulip_mii_readreg
	mov	r3, r0
	strh	r3, [fp, #-42]	@ movhi
	ldr	r3, [fp, #-20]
	ldrh	r2, [r3, #2]
	ldrh	r3, [fp, #-42]	@ movhi
	and	r3, r3, r2
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-20]
	ldrh	r3, [r3, #4]
	cmp	r2, r3
	bne	.L191
	mov	r3, #1
	str	r3, [fp, #-36]
.L191:
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L192
	ldr	r3, [fp, #-40]
	ldrh	r3, [r3, #24]
	cmp	r3, #0
	beq	.L192
	ldr	r3, [fp, #-40]
	add	r3, r3, #24
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-48]
	ldrb	r3, [r3, #1337]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r3, [fp, #-16]
	ldrh	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-48]
	bl	tulip_mii_readreg
	mov	r3, r0
	strh	r3, [fp, #-42]	@ movhi
	ldr	r3, [fp, #-16]
	ldrh	r2, [r3, #2]
	ldrh	r3, [fp, #-42]	@ movhi
	and	r3, r3, r2
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-16]
	ldrh	r3, [r3, #4]
	cmp	r2, r3
	bne	.L193
	mov	r3, #4
	b	.L194
.L193:
	mov	r3, #0
.L194:
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	str	r3, [fp, #-36]
.L192:
	ldr	r2, .L197+4
	ldr	r3, [fp, #-36]
	ldr	r3, [r2, r3, lsl #2]
.L184:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L198:
	.align	2
.L197:
	.word	tulip_mii_phy_attrlist
	.word	table.9502
	.size	tulip_mii_phy_readspecific, .-tulip_mii_phy_readspecific
	.align	2
	.global	tulip_mii_get_phyaddr
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_mii_get_phyaddr, %function
tulip_mii_get_phyaddr:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	mov	r3, #1
	str	r3, [fp, #-16]
	b	.L200
.L206:
	mov	r2, #1
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-24]
	bl	tulip_mii_readreg
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L210
	ldr	r3, [fp, #-8]
	ldr	r2, .L211
	cmp	r3, r2
	beq	.L210
	ldr	r3, [fp, #-8]
	cmp	r3, #2048
	bcc	.L210
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L204
	ldr	r3, [fp, #-16]
	b	.L205
.L204:
	ldr	r3, [fp, #-28]
	sub	r3, r3, #1
	str	r3, [fp, #-28]
	b	.L203
.L210:
	nop
.L203:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L200:
	ldr	r3, [fp, #-16]
	cmp	r3, #31
	bls	.L206
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L207
	mov	r2, #1
	mov	r1, #0
	ldr	r0, [fp, #-24]
	bl	tulip_mii_readreg
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L208
	ldr	r3, [fp, #-12]
	ldr	r2, .L211
	cmp	r3, r2
	beq	.L208
	ldr	r3, [fp, #-12]
	cmp	r3, #2048
	bcs	.L209
.L208:
	mov	r3, #32
	b	.L205
.L209:
	mov	r3, #0
	b	.L205
.L207:
	mov	r3, #32
.L205:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L212:
	.align	2
.L211:
	.word	65535
	.size	tulip_mii_get_phyaddr, .-tulip_mii_get_phyaddr
	.align	2
	.global	tulip_mii_map_abilities
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_mii_map_abilities, %function
tulip_mii_map_abilities:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #1332]
	ldr	r3, [fp, #-12]
	and	r3, r3, #16384
	cmp	r3, #0
	beq	.L214
	ldr	r3, [fp, #-8]
	mov	r2, #8
	str	r2, [r3, #1352]
	b	.L215
.L214:
	ldr	r3, [fp, #-12]
	and	r3, r3, #32768
	cmp	r3, #0
	beq	.L216
	ldr	r3, [fp, #-8]
	mov	r2, #9
	str	r2, [r3, #1352]
	b	.L215
.L216:
	ldr	r3, [fp, #-12]
	and	r3, r3, #8192
	cmp	r3, #0
	beq	.L217
	ldr	r3, [fp, #-8]
	mov	r2, #7
	str	r2, [r3, #1352]
	b	.L215
.L217:
	ldr	r3, [fp, #-12]
	and	r3, r3, #4096
	cmp	r3, #0
	beq	.L218
	ldr	r3, [fp, #-8]
	mov	r2, #2
	str	r2, [r3, #1352]
	b	.L215
.L218:
	ldr	r3, [fp, #-12]
	and	r3, r3, #2048
	cmp	r3, #0
	beq	.L219
	ldr	r3, [fp, #-8]
	mov	r2, #1
	str	r2, [r3, #1352]
	b	.L215
.L219:
	ldr	r3, [fp, #-8]
	mov	r2, #4
	str	r2, [r3, #1348]
	mov	r3, #0
	b	.L220
.L215:
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #1348]
	mov	r3, #1
.L220:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	tulip_mii_map_abilities, .-tulip_mii_map_abilities
	.align	2
	.global	tulip_mii_autonegotiate
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_mii_autonegotiate, %function
tulip_mii_autonegotiate:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #28
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #1348]
	cmp	r3, #4
	ldrls	pc, [pc, r3, asl #2]
	b	.L222
.L224:
	.word	.L223
	.word	.L226
	.word	.L225
	.word	.L222
	.word	.L223
.L223:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #1248]
	orr	r2, r3, #33554432
	ldr	r3, [fp, #-32]
	str	r2, [r3, #1248]
	mov	r3, #32768
	mov	r2, #0
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	tulip_mii_writereg
	ldr	r3, [fp, #-32]
	ldr	r2, .L236
	str	r2, [r3, #1344]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #1256]
	orr	r2, r3, #98304
	ldr	r3, [fp, #-32]
	str	r2, [r3, #1256]
	ldr	r3, [fp, #-32]
	mov	r2, #1
	str	r2, [r3, #1348]
.L226:
	mov	r2, #0
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	tulip_mii_readreg
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-28]
	and	r3, r3, #32768
	cmp	r3, #0
	beq	.L227
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #1344]
	cmp	r3, #0
	ble	.L228
	ldr	r0, [fp, #-32]
	bl	tulip_timeout
	b	.L221
.L228:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #1248]
	bic	r2, r3, #32
	ldr	r3, [fp, #-32]
	str	r2, [r3, #1248]
	ldr	r3, [fp, #-32]
	mov	r2, #5
	str	r2, [r3, #1348]
	ldr	r3, [fp, #-32]
	add	r3, r3, #564
	add	r3, r3, #2
	ldrsh	r3, [r3]
	bic	r3, r3, #65
	lsl	r3, r3, #16
	asr	r2, r3, #16
	ldr	r3, [fp, #-32]
	add	r3, r3, #564
	add	r3, r3, #2
	strh	r2, [r3]	@ movhi
	b	.L221
.L227:
	mov	r2, #1
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	tulip_mii_readreg
	mov	r4, r0
	mov	r2, #1
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	tulip_mii_readreg
	mov	r3, r0
	orr	r3, r4, r3
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	and	r3, r3, #8
	cmp	r3, #0
	bne	.L230
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #1248]
	bic	r2, r3, #33554432
	ldr	r3, [fp, #-32]
	str	r2, [r3, #1248]
	ldr	r3, [fp, #-32]
	mov	r2, #4
	str	r2, [r3, #1348]
	b	.L221
.L230:
	mov	r2, #4
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	tulip_mii_readreg
	mov	r2, r0
	ldr	r3, [fp, #-24]
	lsr	r3, r3, #6
	orr	r3, r3, #1
	cmp	r2, r3
	beq	.L231
	ldr	r3, [fp, #-24]
	lsr	r3, r3, #6
	orr	r3, r3, #1
	mov	r2, #4
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	tulip_mii_writereg
.L231:
	ldr	r3, [fp, #-28]
	orr	r3, r3, #4608
	mov	r2, #0
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	tulip_mii_writereg
	mov	r2, #0
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	tulip_mii_readreg
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-32]
	mov	r2, #2
	str	r2, [r3, #1348]
	ldr	r3, [fp, #-32]
	ldr	r2, .L236
	str	r2, [r3, #1344]
.L225:
	mov	r2, #1
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	tulip_mii_readreg
	mov	r4, r0
	mov	r2, #1
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	tulip_mii_readreg
	mov	r3, r0
	orr	r3, r4, r3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	and	r3, r3, #32
	cmp	r3, #0
	bne	.L232
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #1344]
	cmp	r3, #0
	ble	.L233
	ldr	r0, [fp, #-32]
	bl	tulip_timeout
	b	.L221
.L233:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #1248]
	bic	r2, r3, #33554432
	ldr	r3, [fp, #-32]
	str	r2, [r3, #1248]
	ldr	r3, [fp, #-32]
	mov	r2, #4
	str	r2, [r3, #1348]
	b	.L221
.L232:
	mov	r2, #5
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	tulip_mii_readreg
	mov	r4, r0
	mov	r2, #5
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	tulip_mii_readreg
	mov	r3, r0
	orr	r3, r4, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #6
	ldr	r2, [fp, #-20]
	and	r3, r3, r2
	str	r3, [fp, #-16]
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-32]
	bl	tulip_mii_map_abilities
	mov	r3, r0
	cmp	r3, #0
	bne	.L235
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #1248]
	bic	r2, r3, #33554432
	ldr	r3, [fp, #-32]
	str	r2, [r3, #1248]
	b	.L235
.L222:
	ldr	r1, .L236+4
	ldr	r0, .L236+8
	bl	printf
	b	.L221
.L235:
	nop
.L221:
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L237:
	.align	2
.L236:
	.word	3000
	.word	1347
	.word	.LC8
	.size	tulip_mii_autonegotiate, .-tulip_mii_autonegotiate
	.align	2
	.global	tulip_2114x_media_preset
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_2114x_media_preset, %function
tulip_2114x_media_preset:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #1328]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #1348]
	cmp	r3, #0
	bne	.L239
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #1328]
	str	r3, [fp, #-8]
	b	.L240
.L239:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #1352]
	str	r3, [fp, #-8]
.L240:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #1260]
	bic	r3, r3, #4980736
	bic	r3, r3, #512
	ldr	r2, [fp, #-16]
	str	r3, [r2, #1260]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #1248]
	bic	r2, r3, #6144
	ldr	r3, [fp, #-16]
	str	r2, [r3, #1248]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L241
	ldr	r3, [fp, #-8]
	cmp	r3, #12
	beq	.L241
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	add	r2, r2, #320
	ldr	r3, [r3, r2, lsl #2]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	cmp	r3, #3
	bne	.L242
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #1260]
	orr	r2, r3, #262144
	ldr	r3, [fp, #-16]
	str	r2, [r3, #1260]
	b	.L241
.L242:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	cmp	r3, #2
	beq	.L243
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	cmp	r3, #5
	bne	.L244
.L243:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #1260]
	bic	r2, r3, #29622272
	ldr	r3, [fp, #-16]
	str	r2, [r3, #1260]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #1260]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	orr	r2, r2, r3
	ldr	r3, [fp, #-16]
	str	r2, [r3, #1260]
	b	.L241
.L244:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L241
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-16]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-16]
	ldr	r1, [r2, #1236]
	mov	r2, #0
	blx	r3
.L241:
	ldr	r3, [fp, #-8]
	sub	r3, r3, #1
	cmp	r3, #10
	ldrls	pc, [pc, r3, asl #2]
	b	.L256
.L247:
	.word	.L249
	.word	.L250
	.word	.L249
	.word	.L249
	.word	.L256
	.word	.L256
	.word	.L248
	.word	.L246
	.word	.L248
	.word	.L248
	.word	.L246
.L249:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #1260]
	orr	r2, r3, #4194304
	ldr	r3, [fp, #-16]
	str	r2, [r3, #1260]
	ldr	r1, [fp, #-16]
	adr	r3, .L259
	ldmia	r3, {r2-r3}
	str	r2, [r1, #592]
	str	r3, [r1, #596]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #1248]
	orr	r2, r3, #2048
	ldr	r3, [fp, #-16]
	str	r2, [r3, #1248]
	b	.L251
.L250:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #1248]
	orr	r2, r3, #4096
	ldr	r3, [fp, #-16]
	str	r2, [r3, #1248]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #1260]
	orr	r3, r3, #4194304
	orr	r3, r3, #512
	ldr	r2, [fp, #-16]
	str	r3, [r2, #1260]
	ldr	r1, [fp, #-16]
	adr	r3, .L259
	ldmia	r3, {r2-r3}
	str	r2, [r1, #592]
	str	r3, [r1, #596]
	b	.L251
.L248:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #1260]
	orr	r2, r3, #262144
	ldr	r3, [fp, #-16]
	str	r2, [r3, #1260]
	ldr	r1, [fp, #-16]
	adr	r3, .L259+8
	ldmia	r3, {r2-r3}
	str	r2, [r1, #592]
	str	r3, [r1, #596]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	cmp	r3, #5
	beq	.L252
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	cmp	r3, #3
	bne	.L257
.L252:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #1260]
	orr	r2, r3, #524288
	ldr	r3, [fp, #-16]
	str	r2, [r3, #1260]
	b	.L257
.L246:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #1248]
	orr	r2, r3, #4096
	ldr	r3, [fp, #-16]
	str	r2, [r3, #1248]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #1260]
	orr	r3, r3, #262144
	orr	r3, r3, #512
	ldr	r2, [fp, #-16]
	str	r3, [r2, #1260]
	ldr	r1, [fp, #-16]
	adr	r3, .L259+8
	ldmia	r3, {r2-r3}
	str	r2, [r1, #592]
	str	r3, [r1, #596]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	cmp	r3, #5
	beq	.L254
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	cmp	r3, #3
	bne	.L258
.L254:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #1260]
	orr	r2, r3, #524288
	ldr	r3, [fp, #-16]
	str	r2, [r3, #1260]
	b	.L258
.L256:
	nop
	b	.L251
.L257:
	nop
	b	.L251
.L258:
	nop
.L251:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-16]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-16]
	ldr	r1, [r2, #1208]
	ldr	r2, [fp, #-16]
	ldr	r2, [r2, #1260]
	blx	r3
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L260:
	.align	3
.L259:
	.word	10000000
	.word	0
	.word	100000000
	.word	0
	.size	tulip_2114x_media_preset, .-tulip_2114x_media_preset
	.section	.rodata
	.align	2
.LC9:
	.ascii	"%s%d: botch(media_poll) at line %d\012\000"
	.text
	.align	2
	.global	tulip_null_media_poll
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_null_media_poll, %function
tulip_null_media_poll:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	ldr	r3, [r3, #4]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #16]
	ldr	r3, .L262
	ldr	r0, .L262+4
	bl	printf
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L263:
	.align	2
.L262:
	.word	1450
	.word	.LC9
	.size	tulip_null_media_poll, .-tulip_null_media_poll
	.align	2
	.global	tulip_21140_mediainit
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_21140_mediainit, %function
tulip_21140_mediainit:
	@ args = 4, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	add	r2, r2, #320
	ldr	r1, [fp, #-12]
	str	r1, [r3, r2, lsl #2]
	ldr	r3, [fp, #-12]
	mov	r2, #2
	str	r2, [r3]
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #4]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-20]
	str	r2, [r3, #12]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	tulip_21140_mediainit, .-tulip_21140_mediainit
	.align	2
	.global	tulip_21140_evalboard_media_probe
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_21140_evalboard_media_probe, %function
tulip_21140_evalboard_media_probe:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, fp, lr}
	add	fp, sp, #16
	sub	sp, sp, #28
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-32]
	add	r3, r3, #1504
	add	r3, r3, #8
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-32]
	mov	r2, #31
	strb	r2, [r3, #1338]
	ldr	r3, [fp, #-32]
	mov	r2, #11
	strb	r2, [r3, #1339]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-32]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-32]
	ldr	r1, [r2, #1232]
	mov	r2, #31
	blx	r3
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-32]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-32]
	ldr	r1, [r2, #1232]
	mov	r2, #11
	blx	r3
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #56]
	ldr	r4, [r3, #56]
	ldr	r3, [fp, #-32]
	ldr	r5, [r3, #60]
	ldr	r3, [fp, #-32]
	ldr	r6, [r3, #1208]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-32]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-32]
	ldr	r2, [r2, #1208]
	mov	r1, r2
	blx	r3
	mov	r3, r0
	orr	r3, r3, #58982400
	mov	r2, r3
	mov	r1, r6
	mov	r0, r5
	blx	r4
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #56]
	ldr	r4, [r3, #56]
	ldr	r3, [fp, #-32]
	ldr	r5, [r3, #60]
	ldr	r3, [fp, #-32]
	ldr	r6, [r3, #1208]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-32]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-32]
	ldr	r2, [r2, #1208]
	mov	r1, r2
	blx	r3
	mov	r3, r0
	bic	r3, r3, #4194304
	mov	r2, r3
	mov	r1, r6
	mov	r0, r5
	blx	r4
	ldr	r3, .L268
	ldr	r3, [r3]
	ldr	r0, .L268+4
	blx	r3
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-32]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-32]
	ldr	r2, [r2, #1232]
	mov	r1, r2
	blx	r3
	mov	r3, r0
	and	r3, r3, #64
	cmp	r3, #0
	beq	.L266
	ldr	r3, [fp, #-32]
	mov	r2, #1
	str	r2, [r3, #1328]
	b	.L267
.L266:
	ldr	r3, [fp, #-32]
	mov	r2, #7
	str	r2, [r3, #1328]
.L267:
	ldr	r1, [fp, #-24]
	add	r3, r1, #28
	str	r3, [fp, #-24]
	mov	r3, #4194304
	str	r3, [sp]
	mov	r3, #11
	mov	r2, #1
	ldr	r0, [fp, #-32]
	bl	tulip_21140_mediainit
	ldr	r1, [fp, #-24]
	add	r3, r1, #28
	str	r3, [fp, #-24]
	ldr	r3, .L268+8
	str	r3, [sp]
	mov	r3, #11
	mov	r2, #2
	ldr	r0, [fp, #-32]
	bl	tulip_21140_mediainit
	ldr	r1, [fp, #-24]
	add	r3, r1, #28
	str	r3, [fp, #-24]
	mov	r3, #25427968
	str	r3, [sp]
	mov	r3, #11
	mov	r2, #7
	ldr	r0, [fp, #-32]
	bl	tulip_21140_mediainit
	ldr	r1, [fp, #-24]
	add	r3, r1, #28
	str	r3, [fp, #-24]
	ldr	r3, .L268+12
	str	r3, [sp]
	mov	r3, #11
	mov	r2, #8
	ldr	r0, [fp, #-32]
	bl	tulip_21140_mediainit
	nop
	sub	sp, fp, #16
	@ sp needed
	pop	{r4, r5, r6, fp, pc}
.L269:
	.align	2
.L268:
	.word	delay_func
	.word	1000000
	.word	4194816
	.word	25428480
	.size	tulip_21140_evalboard_media_probe, .-tulip_21140_evalboard_media_probe
	.section	.rodata
	.align	2
	.type	tulip_21140_eb_boardsw, %object
	.size	tulip_21140_eb_boardsw, 20
tulip_21140_eb_boardsw:
	.word	4
	.word	tulip_21140_evalboard_media_probe
	.word	tulip_media_select
	.word	tulip_null_media_poll
	.word	tulip_2114x_media_preset
	.text
	.align	2
	.global	tulip_21140_accton_media_probe
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_21140_accton_media_probe, %function
tulip_21140_accton_media_probe:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, fp, lr}
	add	fp, sp, #16
	sub	sp, sp, #28
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-32]
	add	r3, r3, #1504
	add	r3, r3, #8
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-32]
	mov	r2, #31
	strb	r2, [r3, #1338]
	ldr	r3, [fp, #-32]
	mov	r2, #11
	strb	r2, [r3, #1339]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-32]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-32]
	ldr	r1, [r2, #1232]
	mov	r2, #31
	blx	r3
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-32]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-32]
	ldr	r1, [r2, #1232]
	mov	r2, #11
	blx	r3
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #56]
	ldr	r4, [r3, #56]
	ldr	r3, [fp, #-32]
	ldr	r5, [r3, #60]
	ldr	r3, [fp, #-32]
	ldr	r6, [r3, #1208]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-32]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-32]
	ldr	r2, [r2, #1208]
	mov	r1, r2
	blx	r3
	mov	r3, r0
	orr	r3, r3, #58982400
	mov	r2, r3
	mov	r1, r6
	mov	r0, r5
	blx	r4
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #56]
	ldr	r4, [r3, #56]
	ldr	r3, [fp, #-32]
	ldr	r5, [r3, #60]
	ldr	r3, [fp, #-32]
	ldr	r6, [r3, #1208]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-32]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-32]
	ldr	r2, [r2, #1208]
	mov	r1, r2
	blx	r3
	mov	r3, r0
	bic	r3, r3, #4194304
	mov	r2, r3
	mov	r1, r6
	mov	r0, r5
	blx	r4
	ldr	r3, .L274
	ldr	r3, [r3]
	ldr	r0, .L274+4
	blx	r3
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-32]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-32]
	ldr	r2, [r2, #1232]
	mov	r1, r2
	blx	r3
	str	r0, [fp, #-24]
	ldr	r2, [fp, #-24]
	ldr	r3, .L274+8
	and	r3, r3, r2
	cmp	r3, #0
	bne	.L271
	ldr	r3, [fp, #-32]
	mov	r2, #1
	str	r2, [r3, #1328]
	b	.L272
.L271:
	ldr	r2, [fp, #-24]
	ldr	r3, .L274+12
	and	r3, r3, r2
	cmp	r3, #0
	bne	.L273
	ldr	r3, [fp, #-32]
	mov	r2, #3
	str	r2, [r3, #1328]
	b	.L272
.L273:
	ldr	r3, [fp, #-32]
	mov	r2, #7
	str	r2, [r3, #1328]
.L272:
	ldr	r1, [fp, #-28]
	add	r3, r1, #28
	str	r3, [fp, #-28]
	mov	r3, #4194304
	str	r3, [sp]
	ldr	r3, .L274+12
	mov	r2, #3
	ldr	r0, [fp, #-32]
	bl	tulip_21140_mediainit
	ldr	r1, [fp, #-28]
	add	r3, r1, #28
	str	r3, [fp, #-28]
	mov	r3, #4194304
	str	r3, [sp]
	ldr	r3, .L274+8
	mov	r2, #1
	ldr	r0, [fp, #-32]
	bl	tulip_21140_mediainit
	ldr	r1, [fp, #-28]
	add	r3, r1, #28
	str	r3, [fp, #-28]
	ldr	r3, .L274+16
	str	r3, [sp]
	ldr	r3, .L274+8
	mov	r2, #2
	ldr	r0, [fp, #-32]
	bl	tulip_21140_mediainit
	ldr	r1, [fp, #-28]
	add	r3, r1, #28
	str	r3, [fp, #-28]
	mov	r3, #25427968
	str	r3, [sp]
	ldr	r3, .L274+20
	mov	r2, #7
	ldr	r0, [fp, #-32]
	bl	tulip_21140_mediainit
	ldr	r1, [fp, #-28]
	add	r3, r1, #28
	str	r3, [fp, #-28]
	ldr	r3, .L274+24
	str	r3, [sp]
	ldr	r3, .L274+20
	mov	r2, #8
	ldr	r0, [fp, #-32]
	bl	tulip_21140_mediainit
	nop
	sub	sp, fp, #16
	@ sp needed
	pop	{r4, r5, r6, fp, pc}
.L275:
	.align	2
.L274:
	.word	delay_func
	.word	1000000
	.word	-1644167157
	.word	283
	.word	4194816
	.word	1828717339
	.word	25428480
	.size	tulip_21140_accton_media_probe, .-tulip_21140_accton_media_probe
	.section	.rodata
	.align	2
	.type	tulip_21140_accton_boardsw, %object
	.size	tulip_21140_accton_boardsw, 20
tulip_21140_accton_boardsw:
	.word	11
	.word	tulip_21140_accton_media_probe
	.word	tulip_media_select
	.word	tulip_null_media_poll
	.word	tulip_2114x_media_preset
	.text
	.align	2
	.global	tulip_21140_smc9332_media_probe
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_21140_smc9332_media_probe, %function
tulip_21140_smc9332_media_probe:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1504
	add	r3, r3, #8
	str	r3, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-24]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-24]
	ldr	r1, [r2, #1208]
	mov	r2, #33816576
	blx	r3
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-24]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-24]
	ldr	r1, [r2, #1184]
	mov	r2, #1
	blx	r3
	ldr	r3, .L286
	ldr	r3, [r3]
	mov	r0, #10
	blx	r3
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-24]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-24]
	ldr	r1, [r2, #1208]
	mov	r2, #58982400
	blx	r3
	ldr	r3, [fp, #-24]
	mov	r2, #63
	strb	r2, [r3, #1338]
	ldr	r3, [fp, #-24]
	mov	r2, #9
	strb	r2, [r3, #1339]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-24]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-24]
	ldr	r1, [r2, #1232]
	ldr	r2, .L286+4
	blx	r3
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-24]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-24]
	ldr	r1, [r2, #1232]
	mov	r2, #9
	blx	r3
	ldr	r3, .L286
	ldr	r3, [r3]
	ldr	r0, .L286+8
	blx	r3
	mov	r3, #1000
	str	r3, [fp, #-20]
	b	.L277
.L282:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-24]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-24]
	ldr	r2, [r2, #1232]
	mov	r1, r2
	blx	r3
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	and	r3, r3, #192
	cmp	r3, #192
	bne	.L278
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #100
	ble	.L279
	b	.L280
.L278:
	ldr	r3, [fp, #-8]
	and	r3, r3, #128
	cmp	r3, #0
	beq	.L285
	mov	r3, #0
	str	r3, [fp, #-16]
.L279:
	ldr	r3, .L286
	ldr	r3, [r3]
	mov	r0, #1000
	blx	r3
	ldr	r3, [fp, #-20]
	sub	r3, r3, #1
	str	r3, [fp, #-20]
.L277:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bgt	.L282
	b	.L280
.L285:
	nop
.L280:
	ldr	r3, [fp, #-16]
	cmp	r3, #100
	ble	.L283
	mov	r2, #7
	b	.L284
.L283:
	mov	r2, #1
.L284:
	ldr	r3, [fp, #-24]
	str	r2, [r3, #1328]
	ldr	r1, [fp, #-12]
	add	r3, r1, #28
	str	r3, [fp, #-12]
	mov	r3, #25427968
	str	r3, [sp]
	mov	r3, #9
	mov	r2, #7
	ldr	r0, [fp, #-24]
	bl	tulip_21140_mediainit
	ldr	r1, [fp, #-12]
	add	r3, r1, #28
	str	r3, [fp, #-12]
	ldr	r3, .L286+12
	str	r3, [sp]
	mov	r3, #9
	mov	r2, #8
	ldr	r0, [fp, #-24]
	bl	tulip_21140_mediainit
	ldr	r1, [fp, #-12]
	add	r3, r1, #28
	str	r3, [fp, #-12]
	mov	r3, #4194304
	str	r3, [sp]
	mov	r3, #9
	mov	r2, #1
	ldr	r0, [fp, #-24]
	bl	tulip_21140_mediainit
	ldr	r1, [fp, #-12]
	add	r3, r1, #28
	str	r3, [fp, #-12]
	ldr	r3, .L286+16
	str	r3, [sp]
	mov	r3, #9
	mov	r2, #2
	ldr	r0, [fp, #-24]
	bl	tulip_21140_mediainit
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L287:
	.align	2
.L286:
	.word	delay_func
	.word	319
	.word	200000
	.word	25428480
	.word	4194816
	.size	tulip_21140_smc9332_media_probe, .-tulip_21140_smc9332_media_probe
	.section	.rodata
	.align	2
	.type	tulip_21140_smc9332_boardsw, %object
	.size	tulip_21140_smc9332_boardsw, 20
tulip_21140_smc9332_boardsw:
	.word	7
	.word	tulip_21140_smc9332_media_probe
	.word	tulip_media_select
	.word	tulip_null_media_poll
	.word	tulip_2114x_media_preset
	.text
	.align	2
	.global	tulip_21140_cogent_em100_media_probe
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_21140_cogent_em100_media_probe, %function
tulip_21140_cogent_em100_media_probe:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1504
	add	r3, r3, #8
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-16]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-16]
	ldr	r2, [r2, #1208]
	mov	r1, r2
	blx	r3
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-16]
	mov	r2, #63
	strb	r2, [r3, #1338]
	ldr	r3, [fp, #-16]
	mov	r2, #9
	strb	r2, [r3, #1339]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-16]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-16]
	ldr	r1, [r2, #1232]
	mov	r2, #63
	blx	r3
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-16]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-16]
	ldr	r1, [r2, #1232]
	mov	r2, #9
	blx	r3
	mov	r3, #42205184
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	bic	r3, r3, #20971520
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #2036]	@ zero_extendqisi2
	cmp	r3, #21
	bne	.L289
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-16]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-16]
	ldr	r1, [r2, #1208]
	ldr	r2, [fp, #-8]
	blx	r3
	ldr	r3, [fp, #-16]
	mov	r2, #10
	str	r2, [r3, #1328]
	ldr	r1, [fp, #-12]
	add	r3, r1, #28
	str	r3, [fp, #-12]
	mov	r3, #8650752
	str	r3, [sp]
	mov	r3, #9
	mov	r2, #10
	ldr	r0, [fp, #-16]
	bl	tulip_21140_mediainit
	ldr	r1, [fp, #-12]
	add	r3, r1, #28
	str	r3, [fp, #-12]
	ldr	r3, .L292
	str	r3, [sp]
	mov	r3, #9
	mov	r2, #11
	ldr	r0, [fp, #-16]
	bl	tulip_21140_mediainit
	b	.L291
.L289:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-16]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-16]
	ldr	r1, [r2, #1208]
	ldr	r2, [fp, #-8]
	orr	r2, r2, #16777216
	blx	r3
	ldr	r3, [fp, #-16]
	mov	r2, #7
	str	r2, [r3, #1328]
	ldr	r1, [fp, #-12]
	add	r3, r1, #28
	str	r3, [fp, #-12]
	mov	r3, #25427968
	str	r3, [sp]
	mov	r3, #9
	mov	r2, #7
	ldr	r0, [fp, #-16]
	bl	tulip_21140_mediainit
	ldr	r1, [fp, #-12]
	add	r3, r1, #28
	str	r3, [fp, #-12]
	ldr	r3, .L292+4
	str	r3, [sp]
	mov	r3, #9
	mov	r2, #8
	ldr	r0, [fp, #-16]
	bl	tulip_21140_mediainit
.L291:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L293:
	.align	2
.L292:
	.word	8651264
	.word	25428480
	.size	tulip_21140_cogent_em100_media_probe, .-tulip_21140_cogent_em100_media_probe
	.section	.rodata
	.align	2
	.type	tulip_21140_cogent_em100_boardsw, %object
	.size	tulip_21140_cogent_em100_boardsw, 20
tulip_21140_cogent_em100_boardsw:
	.word	8
	.word	tulip_21140_cogent_em100_media_probe
	.word	tulip_media_select
	.word	tulip_null_media_poll
	.word	tulip_2114x_media_preset
	.text
	.align	2
	.global	tulip_21140_znyx_zx34x_media_probe
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_21140_znyx_zx34x_media_probe, %function
tulip_21140_znyx_zx34x_media_probe:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, fp, lr}
	add	fp, sp, #16
	sub	sp, sp, #44
	str	r0, [fp, #-48]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1504
	add	r3, r3, #8
	str	r3, [fp, #-28]
	mov	r3, #0
	str	r3, [fp, #-40]
	mov	r3, #0
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-48]
	mov	r2, #31
	strb	r2, [r3, #1338]
	ldr	r3, [fp, #-48]
	mov	r2, #9
	strb	r2, [r3, #1339]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-48]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-48]
	ldr	r1, [r2, #1232]
	mov	r2, #31
	blx	r3
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-48]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-48]
	ldr	r1, [r2, #1232]
	mov	r2, #9
	blx	r3
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #56]
	ldr	r4, [r3, #56]
	ldr	r3, [fp, #-48]
	ldr	r5, [r3, #60]
	ldr	r3, [fp, #-48]
	ldr	r6, [r3, #1208]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-48]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-48]
	ldr	r2, [r2, #1208]
	mov	r1, r2
	blx	r3
	mov	r3, r0
	orr	r3, r3, #58982400
	mov	r2, r3
	mov	r1, r6
	mov	r0, r5
	blx	r4
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #56]
	ldr	r4, [r3, #56]
	ldr	r3, [fp, #-48]
	ldr	r5, [r3, #60]
	ldr	r3, [fp, #-48]
	ldr	r6, [r3, #1208]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-48]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-48]
	ldr	r2, [r2, #1208]
	mov	r1, r2
	blx	r3
	mov	r3, r0
	bic	r3, r3, #4194304
	mov	r2, r3
	mov	r1, r6
	mov	r0, r5
	blx	r4
	ldr	r3, .L303
	ldr	r3, [r3]
	ldr	r0, .L303+4
	blx	r3
	mov	r3, #1000
	str	r3, [fp, #-32]
	b	.L295
.L300:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-48]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-48]
	ldr	r2, [r2, #1232]
	mov	r1, r2
	blx	r3
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	and	r3, r3, #224
	cmp	r3, #224
	bne	.L296
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-36]
	cmp	r3, #100
	ble	.L297
	b	.L298
.L296:
	ldr	r3, [fp, #-24]
	and	r3, r3, #128
	cmp	r3, #0
	bne	.L299
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-40]
	cmp	r3, #100
	ble	.L297
	b	.L298
.L299:
	mov	r3, #0
	str	r3, [fp, #-40]
	mov	r3, #0
	str	r3, [fp, #-36]
.L297:
	ldr	r3, .L303
	ldr	r3, [r3]
	mov	r0, #1000
	blx	r3
	ldr	r3, [fp, #-32]
	sub	r3, r3, #1
	str	r3, [fp, #-32]
.L295:
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bgt	.L300
.L298:
	ldr	r3, [fp, #-36]
	cmp	r3, #100
	ble	.L301
	mov	r2, #7
	b	.L302
.L301:
	mov	r2, #1
.L302:
	ldr	r3, [fp, #-48]
	str	r2, [r3, #1328]
	ldr	r1, [fp, #-28]
	add	r3, r1, #28
	str	r3, [fp, #-28]
	mov	r3, #4194304
	str	r3, [sp]
	mov	r3, #9
	mov	r2, #1
	ldr	r0, [fp, #-48]
	bl	tulip_21140_mediainit
	ldr	r1, [fp, #-28]
	add	r3, r1, #28
	str	r3, [fp, #-28]
	ldr	r3, .L303+8
	str	r3, [sp]
	mov	r3, #9
	mov	r2, #2
	ldr	r0, [fp, #-48]
	bl	tulip_21140_mediainit
	ldr	r1, [fp, #-28]
	add	r3, r1, #28
	str	r3, [fp, #-28]
	mov	r3, #25427968
	str	r3, [sp]
	mov	r3, #9
	mov	r2, #7
	ldr	r0, [fp, #-48]
	bl	tulip_21140_mediainit
	ldr	r1, [fp, #-28]
	add	r3, r1, #28
	str	r3, [fp, #-28]
	ldr	r3, .L303+12
	str	r3, [sp]
	mov	r3, #9
	mov	r2, #8
	ldr	r0, [fp, #-48]
	bl	tulip_21140_mediainit
	nop
	sub	sp, fp, #16
	@ sp needed
	pop	{r4, r5, r6, fp, pc}
.L304:
	.align	2
.L303:
	.word	delay_func
	.word	200000
	.word	4194816
	.word	25428480
	.size	tulip_21140_znyx_zx34x_media_probe, .-tulip_21140_znyx_zx34x_media_probe
	.section	.rodata
	.align	2
	.type	tulip_21140_znyx_zx34x_boardsw, %object
	.size	tulip_21140_znyx_zx34x_boardsw, 20
tulip_21140_znyx_zx34x_boardsw:
	.word	9
	.word	tulip_21140_znyx_zx34x_media_probe
	.word	tulip_media_select
	.word	tulip_null_media_poll
	.word	tulip_2114x_media_preset
	.text
	.align	2
	.global	tulip_2114x_media_probe
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_2114x_media_probe, %function
tulip_2114x_media_probe:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #1260]
	orr	r3, r3, #33554432
	orr	r3, r3, #32
	ldr	r2, [fp, #-8]
	str	r3, [r2, #1260]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	tulip_2114x_media_probe, .-tulip_2114x_media_probe
	.section	.rodata
	.align	2
	.type	tulip_2114x_isv_boardsw, %object
	.size	tulip_2114x_isv_boardsw, 20
tulip_2114x_isv_boardsw:
	.word	1
	.word	tulip_2114x_media_probe
	.word	tulip_media_select
	.word	tulip_media_poll
	.word	tulip_2114x_media_preset
	.text
	.align	2
	.global	tulip_delay_300ns
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_delay_300ns, %function
tulip_delay_300ns:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	mov	r3, #10
	str	r3, [fp, #-8]
	b	.L307
.L308:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-16]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-16]
	ldr	r2, [r2, #1184]
	mov	r1, r2
	blx	r3
	ldr	r3, [fp, #-8]
	sub	r3, r3, #1
	str	r3, [fp, #-8]
.L307:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bgt	.L308
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	tulip_delay_300ns, .-tulip_delay_300ns
	.align	2
	.global	tulip_srom_idle
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_srom_idle, %function
tulip_srom_idle:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	mov	r3, #2048
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-16]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-16]
	ldr	r1, [r2, #1220]
	ldr	r2, [fp, #-8]
	blx	r3
	ldr	r0, [fp, #-16]
	bl	tulip_delay_300ns
	mov	r3, #18432
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-16]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-16]
	ldr	r1, [r2, #1220]
	ldr	r2, [fp, #-8]
	blx	r3
	ldr	r0, [fp, #-16]
	bl	tulip_delay_300ns
	ldr	r3, [fp, #-8]
	eor	r3, r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-16]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-16]
	ldr	r1, [r2, #1220]
	ldr	r2, [fp, #-8]
	blx	r3
	ldr	r0, [fp, #-16]
	bl	tulip_delay_300ns
	ldr	r3, [fp, #-8]
	eor	r3, r3, #2
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-16]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-16]
	ldr	r1, [r2, #1220]
	ldr	r2, [fp, #-8]
	blx	r3
	ldr	r0, [fp, #-16]
	bl	tulip_delay_300ns
	mov	r3, #25
	str	r3, [fp, #-12]
	b	.L310
.L311:
	ldr	r3, [fp, #-8]
	eor	r3, r3, #2
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-16]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-16]
	ldr	r1, [r2, #1220]
	ldr	r2, [fp, #-8]
	blx	r3
	ldr	r0, [fp, #-16]
	bl	tulip_delay_300ns
	ldr	r3, [fp, #-8]
	eor	r3, r3, #2
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-16]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-16]
	ldr	r1, [r2, #1220]
	ldr	r2, [fp, #-8]
	blx	r3
	ldr	r0, [fp, #-16]
	bl	tulip_delay_300ns
	ldr	r3, [fp, #-12]
	sub	r3, r3, #1
	str	r3, [fp, #-12]
.L310:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L311
	ldr	r3, [fp, #-8]
	eor	r3, r3, #2
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-16]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-16]
	ldr	r1, [r2, #1220]
	ldr	r2, [fp, #-8]
	blx	r3
	ldr	r0, [fp, #-16]
	bl	tulip_delay_300ns
	ldr	r3, [fp, #-8]
	eor	r3, r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-16]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-16]
	ldr	r1, [r2, #1220]
	ldr	r2, [fp, #-8]
	blx	r3
	ldr	r0, [fp, #-16]
	bl	tulip_delay_300ns
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-16]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-16]
	ldr	r1, [r2, #1220]
	ldr	r2, [fp, #-8]
	blx	r3
	ldr	r0, [fp, #-16]
	bl	tulip_delay_300ns
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	tulip_srom_idle, .-tulip_srom_idle
	.align	2
	.global	tulip_srom_read
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_srom_read, %function
tulip_srom_read:
	@ args = 0, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	str	r0, [fp, #-56]
	mov	r3, #6
	str	r3, [fp, #-24]
	mov	r2, #6
	ldr	r3, [fp, #-24]
	lsl	r3, r2, r3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-24]
	add	r3, r3, #2
	mov	r2, #1
	lsl	r3, r2, r3
	str	r3, [fp, #-16]
	mov	r2, #1
	ldr	r3, [fp, #-24]
	lsl	r3, r2, r3
	sub	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r0, [fp, #-56]
	bl	tulip_srom_idle
	mov	r3, #0
	str	r3, [fp, #-48]
	b	.L313
.L320:
	mov	r3, #2048
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-56]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-56]
	ldr	r1, [r2, #1220]
	ldr	r2, [fp, #-28]
	blx	r3
	ldr	r0, [fp, #-56]
	bl	tulip_delay_300ns
	mov	r3, #18432
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-56]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-56]
	ldr	r1, [r2, #1220]
	ldr	r2, [fp, #-28]
	blx	r3
	ldr	r0, [fp, #-56]
	bl	tulip_delay_300ns
	ldr	r3, [fp, #-28]
	eor	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-56]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-56]
	ldr	r1, [r2, #1220]
	ldr	r2, [fp, #-28]
	blx	r3
	ldr	r0, [fp, #-56]
	bl	tulip_delay_300ns
	ldr	r3, [fp, #-28]
	eor	r3, r3, #2
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-56]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-56]
	ldr	r1, [r2, #1220]
	ldr	r2, [fp, #-28]
	blx	r3
	ldr	r0, [fp, #-56]
	bl	tulip_delay_300ns
	mov	r3, #0
	str	r3, [fp, #-44]
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-20]
	orr	r3, r2, r3
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-24]
	add	r3, r3, #3
	str	r3, [fp, #-32]
	b	.L314
.L317:
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-16]
	and	r3, r3, r2
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-28]
	eor	r3, r3, #2
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-56]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-56]
	ldr	r1, [r2, #1220]
	ldr	r2, [fp, #-28]
	blx	r3
	ldr	r0, [fp, #-56]
	bl	tulip_delay_300ns
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-44]
	cmp	r2, r3
	beq	.L315
	ldr	r3, [fp, #-28]
	eor	r3, r3, #4
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-56]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-56]
	ldr	r1, [r2, #1220]
	ldr	r2, [fp, #-28]
	blx	r3
	ldr	r0, [fp, #-56]
	bl	tulip_delay_300ns
	b	.L316
.L315:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-56]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-56]
	ldr	r1, [r2, #1220]
	ldr	r2, [fp, #-28]
	blx	r3
	ldr	r0, [fp, #-56]
	bl	tulip_delay_300ns
.L316:
	ldr	r3, [fp, #-28]
	eor	r3, r3, #2
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-56]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-56]
	ldr	r1, [r2, #1220]
	ldr	r2, [fp, #-28]
	blx	r3
	ldr	r0, [fp, #-56]
	bl	tulip_delay_300ns
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-32]
	sub	r3, r3, #1
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #1
	str	r3, [fp, #-36]
.L314:
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L317
	ldr	r3, [fp, #-28]
	eor	r3, r3, #2
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-56]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-56]
	ldr	r1, [r2, #1220]
	ldr	r2, [fp, #-28]
	blx	r3
	ldr	r0, [fp, #-56]
	bl	tulip_delay_300ns
	mov	r3, #0
	str	r3, [fp, #-40]
	mov	r3, #0
	str	r3, [fp, #-36]
	b	.L318
.L319:
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #1
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-28]
	eor	r3, r3, #2
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-56]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-56]
	ldr	r1, [r2, #1220]
	ldr	r2, [fp, #-28]
	blx	r3
	ldr	r0, [fp, #-56]
	bl	tulip_delay_300ns
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-56]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-56]
	ldr	r2, [r2, #1220]
	mov	r1, r2
	blx	r3
	mov	r3, r0
	and	r3, r3, #8
	cmp	r3, #0
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-40]
	orr	r3, r3, r2
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-28]
	eor	r3, r3, #2
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-56]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-56]
	ldr	r1, [r2, #1220]
	ldr	r2, [fp, #-28]
	blx	r3
	ldr	r0, [fp, #-56]
	bl	tulip_delay_300ns
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
.L318:
	ldr	r3, [fp, #-36]
	cmp	r3, #15
	bls	.L319
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-40]
	and	r1, r2, #255
	ldr	r2, [fp, #-56]
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3, #2004]
	ldr	r3, [fp, #-40]
	lsr	r2, r3, #8
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #1
	add	r3, r3, #1
	and	r1, r2, #255
	ldr	r2, [fp, #-56]
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3, #2004]
	mov	r3, #18432
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-56]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-56]
	ldr	r1, [r2, #1220]
	ldr	r2, [fp, #-28]
	blx	r3
	ldr	r0, [fp, #-56]
	bl	tulip_delay_300ns
	mov	r3, #0
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-56]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-56]
	ldr	r1, [r2, #1220]
	ldr	r2, [fp, #-28]
	blx	r3
	ldr	r0, [fp, #-56]
	bl	tulip_delay_300ns
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-48]
.L313:
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	bls	.L320
	ldr	r0, [fp, #-56]
	bl	tulip_srom_idle
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	tulip_srom_read, .-tulip_srom_read
	.align	2
	.global	tulip_mii_writebits
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_mii_writebits, %function
tulip_mii_writebits:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	ldr	r3, [fp, #-32]
	sub	r3, r3, #1
	mov	r2, #1
	lsl	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-24]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-24]
	ldr	r2, [r2, #1220]
	mov	r1, r2
	blx	r3
	mov	r3, r0
	and	r3, r3, #458752
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	and	r3, r3, #131072
	cmp	r3, #0
	beq	.L322
	ldr	r3, [fp, #-12]
	b	.L323
.L322:
	mov	r3, #0
.L323:
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-24]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-24]
	ldr	r1, [r2, #1220]
	ldr	r2, [fp, #-20]
	blx	r3
	ldr	r0, [fp, #-24]
	bl	tulip_delay_300ns
	b	.L324
.L326:
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-12]
	and	r3, r3, r2
	str	r3, [fp, #-8]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	beq	.L325
	ldr	r3, [fp, #-20]
	eor	r3, r3, #131072
	str	r3, [fp, #-20]
.L325:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-24]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-24]
	ldr	r1, [r2, #1220]
	ldr	r2, [fp, #-20]
	blx	r3
	ldr	r0, [fp, #-24]
	bl	tulip_delay_300ns
	ldr	r3, [fp, #-20]
	eor	r3, r3, #65536
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-24]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-24]
	ldr	r1, [r2, #1220]
	ldr	r2, [fp, #-20]
	blx	r3
	ldr	r0, [fp, #-24]
	bl	tulip_delay_300ns
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-20]
	eor	r3, r3, #65536
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-24]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-24]
	ldr	r1, [r2, #1220]
	ldr	r2, [fp, #-20]
	blx	r3
	ldr	r0, [fp, #-24]
	bl	tulip_delay_300ns
	ldr	r3, [fp, #-32]
	sub	r3, r3, #1
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #1
	str	r3, [fp, #-28]
.L324:
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L326
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	tulip_mii_writebits, .-tulip_mii_writebits
	.align	2
	.global	tulip_mii_turnaround
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_mii_turnaround, %function
tulip_mii_turnaround:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-16]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-16]
	ldr	r2, [r2, #1220]
	mov	r1, r2
	blx	r3
	mov	r3, r0
	and	r3, r3, #458752
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-20]
	cmp	r3, #245
	bne	.L328
	ldr	r3, [fp, #-8]
	orr	r3, r3, #131072
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-16]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-16]
	ldr	r1, [r2, #1220]
	ldr	r2, [fp, #-8]
	blx	r3
	ldr	r0, [fp, #-16]
	bl	tulip_delay_300ns
	ldr	r3, [fp, #-8]
	eor	r3, r3, #65536
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-16]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-16]
	ldr	r1, [r2, #1220]
	ldr	r2, [fp, #-8]
	blx	r3
	ldr	r0, [fp, #-16]
	bl	tulip_delay_300ns
	ldr	r3, [fp, #-8]
	eor	r3, r3, #65536
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-16]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-16]
	ldr	r1, [r2, #1220]
	ldr	r2, [fp, #-8]
	blx	r3
	ldr	r0, [fp, #-16]
	bl	tulip_delay_300ns
	ldr	r3, [fp, #-8]
	eor	r3, r3, #131072
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-16]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-16]
	ldr	r1, [r2, #1220]
	ldr	r2, [fp, #-8]
	blx	r3
	ldr	r0, [fp, #-16]
	bl	tulip_delay_300ns
	b	.L329
.L328:
	ldr	r3, [fp, #-8]
	orr	r3, r3, #262144
	str	r3, [fp, #-8]
.L329:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-16]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-16]
	ldr	r1, [r2, #1220]
	ldr	r2, [fp, #-8]
	blx	r3
	ldr	r0, [fp, #-16]
	bl	tulip_delay_300ns
	ldr	r3, [fp, #-8]
	eor	r3, r3, #65536
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-16]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-16]
	ldr	r1, [r2, #1220]
	ldr	r2, [fp, #-8]
	blx	r3
	ldr	r0, [fp, #-16]
	bl	tulip_delay_300ns
	ldr	r3, [fp, #-8]
	eor	r3, r3, #65536
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-16]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-16]
	ldr	r1, [r2, #1220]
	ldr	r2, [fp, #-8]
	blx	r3
	ldr	r0, [fp, #-16]
	bl	tulip_delay_300ns
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	tulip_mii_turnaround, .-tulip_mii_turnaround
	.align	2
	.global	tulip_mii_readbits
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_mii_readbits, %function
tulip_mii_readbits:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-24]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-24]
	ldr	r2, [r2, #1220]
	mov	r1, r2
	blx	r3
	mov	r3, r0
	and	r3, r3, #458752
	str	r3, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-8]
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L331
.L333:
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #1
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-12]
	eor	r3, r3, #65536
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-24]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-24]
	ldr	r1, [r2, #1220]
	ldr	r2, [fp, #-12]
	blx	r3
	ldr	r0, [fp, #-24]
	bl	tulip_delay_300ns
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-24]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-24]
	ldr	r2, [r2, #1220]
	mov	r1, r2
	blx	r3
	mov	r3, r0
	and	r3, r3, #524288
	cmp	r3, #0
	beq	.L332
	ldr	r3, [fp, #-16]
	orr	r3, r3, #1
	str	r3, [fp, #-16]
.L332:
	ldr	r3, [fp, #-12]
	eor	r3, r3, #65536
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-24]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-24]
	ldr	r1, [r2, #1220]
	ldr	r2, [fp, #-12]
	blx	r3
	ldr	r0, [fp, #-24]
	bl	tulip_delay_300ns
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L331:
	ldr	r3, [fp, #-8]
	cmp	r3, #15
	ble	.L333
	ldr	r3, [fp, #-12]
	eor	r3, r3, #262144
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-24]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-24]
	ldr	r1, [r2, #1220]
	ldr	r2, [fp, #-12]
	blx	r3
	ldr	r0, [fp, #-24]
	bl	tulip_delay_300ns
	ldr	r3, [fp, #-16]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	tulip_mii_readbits, .-tulip_mii_readbits
	.align	2
	.global	tulip_mii_readreg
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_mii_readreg, %function
tulip_mii_readreg:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-16]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-16]
	ldr	r2, [r2, #1220]
	mov	r1, r2
	blx	r3
	mov	r3, r0
	and	r3, r3, #458752
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	bic	r3, r3, #327680
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-16]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-16]
	ldr	r1, [r2, #1220]
	ldr	r2, [fp, #-12]
	blx	r3
	ldr	r0, [fp, #-16]
	bl	tulip_delay_300ns
	mov	r2, #32
	mvn	r1, #0
	ldr	r0, [fp, #-16]
	bl	tulip_mii_writebits
	mov	r2, #8
	mov	r1, #246
	ldr	r0, [fp, #-16]
	bl	tulip_mii_writebits
	mov	r2, #5
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	tulip_mii_writebits
	mov	r2, #5
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-16]
	bl	tulip_mii_writebits
	mov	r1, #246
	ldr	r0, [fp, #-16]
	bl	tulip_mii_turnaround
	ldr	r0, [fp, #-16]
	bl	tulip_mii_readbits
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	tulip_mii_readreg, .-tulip_mii_readreg
	.align	2
	.global	tulip_mii_writereg
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_mii_writereg, %function
tulip_mii_writereg:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-16]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-16]
	ldr	r2, [r2, #1220]
	mov	r1, r2
	blx	r3
	mov	r3, r0
	and	r3, r3, #458752
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	bic	r3, r3, #327680
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-16]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-16]
	ldr	r1, [r2, #1220]
	ldr	r2, [fp, #-8]
	blx	r3
	ldr	r0, [fp, #-16]
	bl	tulip_delay_300ns
	mov	r2, #32
	mvn	r1, #0
	ldr	r0, [fp, #-16]
	bl	tulip_mii_writebits
	mov	r2, #8
	mov	r1, #245
	ldr	r0, [fp, #-16]
	bl	tulip_mii_writebits
	mov	r2, #5
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	tulip_mii_writebits
	mov	r2, #5
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-16]
	bl	tulip_mii_writebits
	mov	r1, #245
	ldr	r0, [fp, #-16]
	bl	tulip_mii_turnaround
	mov	r2, #16
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-16]
	bl	tulip_mii_writebits
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	tulip_mii_writereg, .-tulip_mii_writereg
	.section	.rodata
	.align	2
.LC10:
	.ascii	"DEC \000"
	.align	2
.LC11:
	.ascii	"DE500\000"
	.align	2
.LC12:
	.ascii	"DE450\000"
	.text
	.align	2
	.global	tulip_identify_dec_nic
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_identify_dec_nic, %function
tulip_identify_dec_nic:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1984
	add	r3, r3, #4
	mov	r2, #16
	ldr	r1, .L343
	mov	r0, r3
	bl	strlcpy
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #1368]
	cmp	r3, #1
	bls	.L342
	ldr	r3, [fp, #-8]
	add	r3, r3, #2000
	add	r3, r3, #4
	add	r3, r3, #29
	mov	r2, #5
	ldr	r1, .L343+4
	mov	r0, r3
	bl	memcmp
	mov	r3, r0
	cmp	r3, #0
	beq	.L341
	ldr	r3, [fp, #-8]
	add	r3, r3, #2000
	add	r3, r3, #4
	add	r3, r3, #29
	mov	r2, #5
	ldr	r1, .L343+8
	mov	r0, r3
	bl	memcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L338
.L341:
	ldr	r3, [fp, #-8]
	add	r3, r3, #2000
	add	r3, r3, #4
	add	r1, r3, #29
	ldr	r3, [fp, #-8]
	add	r3, r3, #1984
	add	r3, r3, #8
	mov	r2, #8
	mov	r0, r3
	bl	memmove
	ldr	r3, [fp, #-8]
	mov	r2, #32
	strb	r2, [r3, #2000]
	b	.L338
.L342:
	nop
.L338:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L344:
	.align	2
.L343:
	.word	.LC10
	.word	.LC11
	.word	.LC12
	.size	tulip_identify_dec_nic, .-tulip_identify_dec_nic
	.section	.rodata
	.align	2
.LC13:
	.ascii	"ZNYX ZX3XX \000"
	.text
	.align	2
	.global	tulip_identify_znyx_nic
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_identify_znyx_nic, %function
tulip_identify_znyx_nic:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1984
	add	r3, r3, #4
	mov	r2, #16
	ldr	r1, .L370
	mov	r0, r3
	bl	strlcpy
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #1368]
	cmp	r3, #3
	beq	.L346
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #1368]
	cmp	r3, #4
	bne	.L347
.L346:
	ldr	r3, [fp, #-16]
	mov	r2, #52
	strb	r2, [r3, #1996]
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #2128]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #2129]	@ zero_extendqisi2
	lsl	r3, r3, #8
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #25
	bls	.L348
	ldr	r3, [fp, #-8]
	cmp	r3, #116
	bls	.L349
.L348:
	ldr	r3, [fp, #-16]
	ldr	r2, .L370+4
	str	r2, [r3, #1372]
	b	.L345
.L349:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	add	r3, r3, #2000
	add	r3, r3, #4
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #74
	bne	.L351
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldrb	r3, [r3, #2004]	@ zero_extendqisi2
	cmp	r3, #82
	bne	.L351
	ldr	r3, [fp, #-8]
	add	r3, r3, #2
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldrb	r3, [r3, #2004]	@ zero_extendqisi2
	cmp	r3, #1
	bne	.L351
	ldr	r3, [fp, #-8]
	add	r3, r3, #5
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldrb	r3, [r3, #2004]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r3, [fp, #-8]
	add	r3, r3, #4
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldrb	r3, [r3, #2004]	@ zero_extendqisi2
	lsl	r3, r3, #8
	add	r3, r1, r3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	lsr	r3, r3, #8
	cmp	r3, #9
	bne	.L352
	ldr	r3, [fp, #-16]
	mov	r2, #50
	strb	r2, [r3, #1997]
	ldr	r3, [fp, #-12]
	ldr	r2, .L370+8
	cmp	r3, r2
	bne	.L353
	ldr	r3, [fp, #-16]
	mov	r2, #66
	strb	r2, [r3, #1998]
	ldr	r3, [fp, #-16]
	mov	r2, #32
	strb	r2, [r3, #1999]
.L353:
	ldr	r3, [fp, #-16]
	ldr	r2, .L370+4
	str	r2, [r3, #1372]
	b	.L351
.L352:
	ldr	r3, [fp, #-12]
	ldr	r2, .L370+12
	cmp	r3, r2
	bne	.L354
	ldr	r3, [fp, #-16]
	mov	r2, #52
	strb	r2, [r3, #1998]
	ldr	r3, [fp, #-16]
	ldr	r2, .L370+4
	str	r2, [r3, #1372]
	b	.L351
.L354:
	ldr	r3, [fp, #-12]
	ldr	r2, .L370+16
	cmp	r3, r2
	bne	.L355
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #2023]	@ zero_extendqisi2
	cmp	r3, #1
	bls	.L356
	mov	r2, #56
	b	.L357
.L356:
	mov	r2, #53
.L357:
	ldr	r3, [fp, #-16]
	strb	r2, [r3, #1997]
	b	.L351
.L355:
	ldr	r3, [fp, #-12]
	ldr	r2, .L370+20
	cmp	r3, r2
	bne	.L358
	ldr	r3, [fp, #-16]
	mov	r2, #54
	strb	r2, [r3, #1997]
	b	.L351
.L358:
	ldr	r3, [fp, #-12]
	ldr	r2, .L370+24
	cmp	r3, r2
	bne	.L351
	ldr	r3, [fp, #-16]
	mov	r2, #53
	strb	r2, [r3, #1996]
	ldr	r3, [fp, #-16]
	mov	r2, #49
	strb	r2, [r3, #1997]
.L351:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L369
	ldr	r3, [fp, #-16]
	ldr	r2, .L370+4
	str	r2, [r3, #1372]
	b	.L369
.L347:
	ldr	r3, [fp, #-16]
	mov	r2, #49
	strb	r2, [r3, #1996]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #1368]
	cmp	r3, #2
	bne	.L360
	ldr	r3, [fp, #-16]
	mov	r2, #49
	strb	r2, [r3, #1998]
	b	.L345
.L360:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #2036]	@ zero_extendqisi2
	cmp	r3, #74
	bne	.L361
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #2037]	@ zero_extendqisi2
	cmp	r3, #82
	bne	.L361
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #2041]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #2040]	@ zero_extendqisi2
	lsl	r3, r3, #8
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r2, .L370+28
	cmp	r3, r2
	bne	.L362
	ldr	r3, [fp, #-16]
	mov	r2, #50
	strb	r2, [r3, #1997]
	ldr	r3, [fp, #-16]
	mov	r2, #84
	strb	r2, [r3, #1998]
	ldr	r3, [fp, #-16]
	mov	r2, #32
	strb	r2, [r3, #1999]
	ldr	r3, [fp, #-16]
	ldr	r2, .L370+32
	str	r2, [r3, #1372]
	b	.L361
.L362:
	ldr	r3, [fp, #-12]
	ldr	r2, .L370+36
	cmp	r3, r2
	bne	.L363
	ldr	r3, [fp, #-16]
	mov	r2, #52
	strb	r2, [r3, #1997]
	ldr	r3, [fp, #-16]
	ldr	r2, .L370+32
	str	r2, [r3, #1372]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #1252]
	orr	r2, r3, #4608
	ldr	r3, [fp, #-16]
	str	r2, [r3, #1252]
	b	.L361
.L363:
	ldr	r3, [fp, #-12]
	ldr	r2, .L370+40
	cmp	r3, r2
	bne	.L364
	ldr	r3, [fp, #-16]
	mov	r2, #52
	strb	r2, [r3, #1997]
	ldr	r3, [fp, #-16]
	ldr	r2, .L370+32
	str	r2, [r3, #1372]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #1252]
	orr	r2, r3, #512
	ldr	r3, [fp, #-16]
	str	r2, [r3, #1252]
	b	.L361
.L364:
	ldr	r3, [fp, #-12]
	ldr	r2, .L370+44
	cmp	r3, r2
	bne	.L365
	ldr	r3, [fp, #-16]
	mov	r2, #53
	strb	r2, [r3, #1997]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #1252]
	orr	r2, r3, #4608
	ldr	r3, [fp, #-16]
	str	r2, [r3, #1252]
	b	.L361
.L365:
	ldr	r3, [fp, #-12]
	ldr	r2, .L370+48
	cmp	r3, r2
	bne	.L366
	ldr	r3, [fp, #-16]
	mov	r2, #53
	strb	r2, [r3, #1997]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #1252]
	orr	r2, r3, #512
	ldr	r3, [fp, #-16]
	str	r2, [r3, #1252]
	b	.L361
.L366:
	mov	r3, #0
	str	r3, [fp, #-12]
.L361:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L345
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #1139]	@ zero_extendqisi2
	bic	r3, r3, #3
	cmp	r3, #240
	bne	.L367
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #1141]	@ zero_extendqisi2
	and	r3, r3, #3
	cmp	r3, #0
	bne	.L367
	ldr	r3, [fp, #-16]
	mov	r2, #52
	strb	r2, [r3, #1997]
	ldr	r3, [fp, #-16]
	ldr	r2, .L370+32
	str	r2, [r3, #1372]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #1252]
	orr	r2, r3, #4608
	ldr	r3, [fp, #-16]
	str	r2, [r3, #1252]
	b	.L345
.L367:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #1139]	@ zero_extendqisi2
	bic	r3, r3, #3
	cmp	r3, #244
	bne	.L368
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #1141]	@ zero_extendqisi2
	and	r3, r3, #1
	cmp	r3, #0
	bne	.L368
	ldr	r3, [fp, #-16]
	mov	r2, #53
	strb	r2, [r3, #1997]
	ldr	r3, [fp, #-16]
	ldr	r2, .L370+52
	str	r2, [r3, #1372]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #1252]
	orr	r2, r3, #4608
	ldr	r3, [fp, #-16]
	str	r2, [r3, #1252]
	b	.L345
.L368:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #1139]	@ zero_extendqisi2
	bic	r3, r3, #3
	cmp	r3, #236
	bne	.L345
	ldr	r3, [fp, #-16]
	mov	r2, #50
	strb	r2, [r3, #1997]
	ldr	r3, [fp, #-16]
	ldr	r2, .L370+52
	str	r2, [r3, #1372]
	b	.L345
.L369:
	nop
.L345:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L371:
	.align	2
.L370:
	.word	.LC13
	.word	tulip_21140_znyx_zx34x_boardsw
	.word	2337
	.word	2561
	.word	3073
	.word	3585
	.word	2817
	.word	1570
	.word	tulip_21040_10baset_only_boardsw
	.word	1793
	.word	1809
	.word	2049
	.word	2065
	.word	tulip_21040_boardsw
	.size	tulip_identify_znyx_nic, .-tulip_identify_znyx_nic
	.section	.rodata
	.align	2
.LC14:
	.ascii	"SMC \000"
	.align	2
.LC15:
	.ascii	"9332DST \000"
	.align	2
.LC16:
	.ascii	"9334BDT \000"
	.align	2
.LC17:
	.ascii	"9332BDT \000"
	.align	2
.LC18:
	.ascii	"8432\000"
	.text
	.align	2
	.global	tulip_identify_smc_nic
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_identify_smc_nic, %function
tulip_identify_smc_nic:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-32]
	mov	r3, #0
	str	r3, [fp, #-28]
	mov	r3, #0
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-32]
	add	r3, r3, #1984
	add	r3, r3, #4
	mov	r2, #16
	ldr	r1, .L387
	mov	r0, r3
	bl	strlcpy
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #1368]
	cmp	r3, #2
	beq	.L386
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #1368]
	cmp	r3, #0
	beq	.L375
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #1372]
	ldr	r2, .L387+4
	cmp	r3, r2
	beq	.L376
	ldr	r3, [fp, #-32]
	add	r3, r3, #1984
	add	r3, r3, #4
	mov	r2, #16
	ldr	r1, .L387+8
	mov	r0, r3
	bl	strlcat
	ldr	r3, [fp, #-32]
	ldr	r2, .L387+12
	str	r2, [r3, #1372]
	b	.L372
.L376:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #1252]
	and	r3, r3, #1536
	cmp	r3, #0
	beq	.L378
	ldr	r3, [fp, #-32]
	add	r3, r3, #1984
	add	r3, r3, #4
	mov	r2, #16
	ldr	r1, .L387+16
	mov	r0, r3
	bl	strlcat
	b	.L372
.L378:
	ldr	r3, [fp, #-32]
	add	r3, r3, #1984
	add	r3, r3, #4
	mov	r2, #16
	ldr	r1, .L387+20
	mov	r0, r3
	bl	strlcat
	b	.L372
.L375:
	ldr	r3, [fp, #-32]
	ldrb	r3, [r3, #2100]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-32]
	ldrb	r3, [r3, #2101]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-32]
	ldrb	r3, [r3, #2102]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-32]
	ldrb	r3, [r3, #2103]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-32]
	ldrb	r3, [r3, #2106]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-32]
	ldrb	r3, [r3, #2107]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-32]
	add	r3, r3, #1984
	add	r3, r3, #4
	mov	r2, #16
	ldr	r1, .L387+24
	mov	r0, r3
	bl	strlcat
	ldr	r3, [fp, #-32]
	add	r3, r3, #1984
	add	r3, r3, #12
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-16]
	and	r3, r3, #1
	cmp	r3, #0
	bne	.L379
	ldr	r3, [fp, #-20]
	add	r2, r3, #1
	str	r2, [fp, #-20]
	mov	r2, #66
	strb	r2, [r3]
	mov	r3, #1
	str	r3, [fp, #-28]
.L379:
	ldr	r3, [fp, #-16]
	and	r3, r3, #255
	cmp	r3, #50
	bls	.L380
	ldr	r3, [fp, #-20]
	add	r2, r3, #1
	str	r2, [fp, #-20]
	mov	r2, #84
	strb	r2, [r3]
	mov	r3, #1
	str	r3, [fp, #-24]
.L380:
	ldr	r3, [fp, #-16]
	and	r3, r3, #16384
	cmp	r3, #0
	bne	.L381
	ldr	r3, [fp, #-20]
	add	r2, r3, #1
	str	r2, [fp, #-20]
	mov	r2, #65
	strb	r2, [r3]
	mov	r3, #1
	str	r3, [fp, #-28]
.L381:
	ldr	r3, [fp, #-12]
	cmp	r3, #21
	bne	.L382
	ldr	r3, [fp, #-32]
	mov	r2, #52
	strb	r2, [r3, #1995]
	ldr	r3, [fp, #-20]
	add	r2, r3, #1
	str	r2, [fp, #-20]
	mov	r2, #45
	strb	r2, [r3]
	ldr	r3, [fp, #-20]
	add	r2, r3, #1
	str	r2, [fp, #-20]
	mov	r2, #67
	strb	r2, [r3]
	ldr	r3, [fp, #-20]
	add	r2, r3, #1
	str	r2, [fp, #-20]
	mov	r2, #72
	strb	r2, [r3]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L383
	mov	r1, #50
	b	.L384
.L383:
	mov	r1, #49
.L384:
	ldr	r3, [fp, #-20]
	add	r2, r3, #1
	str	r2, [fp, #-20]
	mov	r2, r1
	strb	r2, [r3]
.L382:
	ldr	r3, [fp, #-20]
	add	r2, r3, #1
	str	r2, [fp, #-20]
	mov	r2, #32
	strb	r2, [r3]
	ldr	r3, [fp, #-20]
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L385
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L385
	ldr	r3, [fp, #-32]
	ldr	r2, .L387+28
	str	r2, [r3, #1372]
	b	.L372
.L385:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L372
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	beq	.L372
	ldr	r3, [fp, #-32]
	ldr	r2, .L387+32
	str	r2, [r3, #1372]
	b	.L372
.L386:
	nop
.L372:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L388:
	.align	2
.L387:
	.word	.LC14
	.word	tulip_2114x_isv_boardsw
	.word	.LC15
	.word	tulip_21140_smc9332_boardsw
	.word	.LC16
	.word	.LC17
	.word	.LC18
	.word	tulip_21040_10baset_only_boardsw
	.word	tulip_21040_auibnc_only_boardsw
	.size	tulip_identify_smc_nic, .-tulip_identify_smc_nic
	.section	.rodata
	.align	2
.LC19:
	.ascii	"Cogent \000"
	.align	2
.LC20:
	.ascii	"EM100TX \000"
	.align	2
.LC21:
	.ascii	"EM100FX \000"
	.align	2
.LC22:
	.ascii	"EM440TX \000"
	.text
	.align	2
	.global	tulip_identify_cogent_nic
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_identify_cogent_nic, %function
tulip_identify_cogent_nic:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1984
	add	r3, r3, #4
	mov	r2, #16
	ldr	r1, .L398
	mov	r0, r3
	bl	strlcpy
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #1368]
	cmp	r3, #3
	beq	.L390
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #1368]
	cmp	r3, #4
	bne	.L391
.L390:
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3, #2036]	@ zero_extendqisi2
	cmp	r3, #18
	bne	.L392
	ldr	r3, [fp, #-8]
	add	r3, r3, #1984
	add	r3, r3, #4
	mov	r2, #16
	ldr	r1, .L398+4
	mov	r0, r3
	bl	strlcat
	ldr	r3, [fp, #-8]
	ldr	r2, .L398+8
	str	r2, [r3, #1372]
	b	.L393
.L392:
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3, #2036]	@ zero_extendqisi2
	cmp	r3, #21
	bne	.L393
	ldr	r3, [fp, #-8]
	add	r3, r3, #1984
	add	r3, r3, #4
	mov	r2, #16
	ldr	r1, .L398+12
	mov	r0, r3
	bl	strlcat
	ldr	r3, [fp, #-8]
	ldr	r2, .L398+8
	str	r2, [r3, #1372]
.L393:
	ldr	r3, [fp, #-8]
	add	r3, r3, #2000
	add	r3, r3, #4
	ldr	r3, [r3]
	ldr	r2, .L398+16
	cmp	r3, r2
	bne	.L396
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #1252]
	and	r3, r3, #512
	cmp	r3, #0
	beq	.L396
	ldr	r3, [fp, #-8]
	add	r3, r3, #1984
	add	r3, r3, #4
	mov	r2, #16
	ldr	r1, .L398+20
	mov	r0, r3
	bl	strlcat
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #1252]
	orr	r2, r3, #4096
	ldr	r3, [fp, #-8]
	str	r2, [r3, #1252]
	b	.L396
.L391:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #1368]
	cmp	r3, #0
	bne	.L397
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #1252]
	orr	r2, r3, #4608
	ldr	r3, [fp, #-8]
	str	r2, [r3, #1252]
	b	.L397
.L396:
	nop
.L397:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L399:
	.align	2
.L398:
	.word	.LC19
	.word	.LC20
	.word	tulip_21140_cogent_em100_boardsw
	.word	.LC21
	.word	603984137
	.word	.LC22
	.size	tulip_identify_cogent_nic, .-tulip_identify_cogent_nic
	.section	.rodata
	.align	2
.LC23:
	.ascii	"ACCTON \000"
	.align	2
.LC24:
	.ascii	"EN1207 \000"
	.align	2
.LC25:
	.ascii	"EN1207TX \000"
	.align	2
.LC26:
	.ascii	"EN1203 \000"
	.text
	.align	2
	.global	tulip_identify_accton_nic
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_identify_accton_nic, %function
tulip_identify_accton_nic:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1984
	add	r3, r3, #4
	mov	r2, #16
	ldr	r1, .L413
	mov	r0, r3
	bl	strlcpy
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #1368]
	cmp	r3, #4
	ldrls	pc, [pc, r3, asl #2]
	b	.L401
.L403:
	.word	.L406
	.word	.L401
	.word	.L405
	.word	.L404
	.word	.L402
.L402:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1984
	add	r3, r3, #4
	mov	r2, #16
	ldr	r1, .L413+4
	mov	r0, r3
	bl	strlcat
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #1372]
	ldr	r2, .L413+8
	cmp	r3, r2
	beq	.L410
	ldr	r3, [fp, #-8]
	ldr	r2, .L413+12
	str	r2, [r3, #1372]
	b	.L410
.L404:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1984
	add	r3, r3, #4
	mov	r2, #16
	ldr	r1, .L413+16
	mov	r0, r3
	bl	strlcat
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #1372]
	ldr	r2, .L413+8
	cmp	r3, r2
	beq	.L411
	ldr	r3, [fp, #-8]
	ldr	r2, .L413+20
	str	r2, [r3, #1372]
	b	.L411
.L406:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1984
	add	r3, r3, #4
	mov	r2, #16
	ldr	r1, .L413+24
	mov	r0, r3
	bl	strlcat
	ldr	r3, [fp, #-8]
	ldr	r2, .L413+28
	str	r2, [r3, #1372]
	b	.L408
.L405:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1984
	add	r3, r3, #4
	mov	r2, #16
	ldr	r1, .L413+24
	mov	r0, r3
	bl	strlcat
	ldr	r3, [fp, #-8]
	ldr	r2, .L413+32
	str	r2, [r3, #1372]
	b	.L408
.L401:
	ldr	r3, [fp, #-8]
	ldr	r2, .L413+8
	str	r2, [r3, #1372]
	b	.L408
.L410:
	nop
	b	.L412
.L411:
	nop
.L408:
.L412:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L414:
	.align	2
.L413:
	.word	.LC23
	.word	.LC24
	.word	tulip_2114x_isv_boardsw
	.word	tulip_21140_accton_boardsw
	.word	.LC25
	.word	tulip_21140_eb_boardsw
	.word	.LC26
	.word	tulip_21040_boardsw
	.word	tulip_21041_boardsw
	.size	tulip_identify_accton_nic, .-tulip_identify_accton_nic
	.section	.rodata
	.align	2
.LC27:
	.ascii	"Asante \000"
	.text
	.align	2
	.global	tulip_identify_asante_nic
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_identify_asante_nic, %function
tulip_identify_asante_nic:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #20
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1984
	add	r3, r3, #4
	mov	r2, #16
	ldr	r1, .L428
	mov	r0, r3
	bl	strlcpy
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1368]
	cmp	r3, #3
	beq	.L416
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1368]
	cmp	r3, #4
	bne	.L415
.L416:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1372]
	ldr	r2, .L428+4
	cmp	r3, r2
	beq	.L415
	ldr	r3, [fp, #-24]
	add	r3, r3, #1504
	add	r3, r3, #8
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-24]
	mvn	r2, #64
	strb	r2, [r3, #1338]
	ldr	r3, [fp, #-24]
	mov	r2, #0
	strb	r2, [r3, #1339]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-24]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-24]
	ldr	r1, [r2, #1232]
	ldr	r2, .L428+8
	blx	r3
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-24]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-24]
	ldr	r1, [r2, #1232]
	mov	r2, #8
	blx	r3
	ldr	r3, .L428+12
	ldr	r3, [r3]
	mov	r0, #100
	blx	r3
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-24]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-24]
	ldr	r1, [r2, #1232]
	mov	r2, #0
	blx	r3
	ldr	r3, [fp, #-16]
	mov	r2, #3
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	mov	r2, #0
	strb	r2, [r3, #19]
	ldr	r3, [fp, #-16]
	mov	r2, #0
	strb	r2, [r3, #20]
	ldr	r3, [fp, #-16]
	mov	r2, #0
	strb	r2, [r3, #21]
	ldr	r3, [fp, #-16]
	mov	r2, #0
	strb	r2, [r3, #22]
	ldr	r3, [fp, #-16]
	mov	r2, #32
	strb	r2, [r3, #18]
	mov	r3, #20
	str	r3, [fp, #-20]
	b	.L418
.L420:
	ldr	r3, .L428+12
	ldr	r3, [r3]
	ldr	r0, .L428+16
	blx	r3
	mov	r1, #0
	ldr	r0, [fp, #-24]
	bl	tulip_mii_get_phyaddr
	mov	r3, r0
	and	r2, r3, #255
	ldr	r3, [fp, #-16]
	strb	r2, [r3, #18]
	ldr	r3, [fp, #-20]
	sub	r3, r3, #1
	str	r3, [fp, #-20]
.L418:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	ble	.L419
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #18]	@ zero_extendqisi2
	cmp	r3, #32
	beq	.L420
.L419:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #18]	@ zero_extendqisi2
	cmp	r3, #32
	beq	.L427
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1252]
	orr	r2, r3, #8
	ldr	r3, [fp, #-24]
	str	r2, [r3, #1252]
	ldr	r3, [fp, #-16]
	mov	r2, #30720
	strh	r2, [r3, #8]	@ movhi
	ldr	r3, [fp, #-16]
	mov	r2, #30720
	strh	r2, [r3, #10]	@ movhi
	ldr	r3, [fp, #-16]
	mov	r2, #20480
	strh	r2, [r3, #12]	@ movhi
	ldr	r3, [fp, #-16]
	mov	r2, #6144
	strh	r2, [r3, #14]	@ movhi
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1312]
	cmp	r3, #0
	bne	.L422
	ldr	r3, [fp, #-16]
	ldrh	r3, [r3, #8]
	and	r3, r3, #16384
	cmp	r3, #0
	beq	.L422
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-16]
	str	r2, [r3, #1312]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	orr	r2, r3, #256
	ldr	r3, [fp, #-16]
	str	r2, [r3, #4]
.L422:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1308]
	cmp	r3, #0
	bne	.L423
	ldr	r3, [fp, #-16]
	ldrh	r3, [r3, #8]
	and	r3, r3, #8192
	cmp	r3, #0
	beq	.L423
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-16]
	str	r2, [r3, #1308]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	orr	r2, r3, #128
	ldr	r3, [fp, #-16]
	str	r2, [r3, #4]
.L423:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1316]
	cmp	r3, #0
	bne	.L424
	ldr	r3, [fp, #-16]
	ldrh	r3, [r3, #8]
	lsl	r3, r3, #16
	asr	r3, r3, #16
	cmp	r3, #0
	bge	.L424
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-16]
	str	r2, [r3, #1316]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	orr	r2, r3, #512
	ldr	r3, [fp, #-16]
	str	r2, [r3, #4]
.L424:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1288]
	cmp	r3, #0
	bne	.L425
	ldr	r3, [fp, #-16]
	ldrh	r3, [r3, #8]
	and	r3, r3, #4096
	cmp	r3, #0
	beq	.L425
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-16]
	str	r2, [r3, #1288]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	orr	r2, r3, #4
	ldr	r3, [fp, #-16]
	str	r2, [r3, #4]
.L425:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1284]
	cmp	r3, #0
	bne	.L426
	ldr	r3, [fp, #-16]
	ldrh	r3, [r3, #8]
	and	r3, r3, #2048
	cmp	r3, #0
	beq	.L426
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-16]
	str	r2, [r3, #1284]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	orr	r2, r3, #2
	ldr	r3, [fp, #-16]
	str	r2, [r3, #4]
.L426:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #18]	@ zero_extendqisi2
	mov	r2, #2
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	tulip_mii_readreg
	mov	r3, r0
	lsl	r4, r3, #16
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #18]	@ zero_extendqisi2
	mov	r2, #3
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	tulip_mii_readreg
	mov	r3, r0
	orr	r2, r4, r3
	ldr	r3, [fp, #-16]
	str	r2, [r3, #24]
	ldr	r3, [fp, #-24]
	ldr	r2, .L428+4
	str	r2, [r3, #1372]
	b	.L415
.L427:
	nop
.L415:
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L429:
	.align	2
.L428:
	.word	.LC27
	.word	tulip_2114x_isv_boardsw
	.word	447
	.word	delay_func
	.word	10000
	.size	tulip_identify_asante_nic, .-tulip_identify_asante_nic
	.section	.rodata
	.align	2
.LC28:
	.ascii	"COMPEX \000"
	.align	2
.LC29:
	.ascii	"400TX/PCI \000"
	.align	2
.LC30:
	.ascii	"\012Cannot find master device for de%d interrupts\000"
	.align	2
.LC31:
	.ascii	"unknown \000"
	.text
	.align	2
	.global	tulip_identify_compex_nic
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_identify_compex_nic, %function
tulip_identify_compex_nic:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1984
	add	r3, r3, #4
	mov	r2, #16
	ldr	r1, .L439
	mov	r0, r3
	bl	strlcpy
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #1368]
	cmp	r3, #4
	bne	.L431
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1984
	add	r3, r3, #4
	mov	r2, #16
	ldr	r1, .L439+4
	mov	r0, r3
	bl	strlcat
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #1252]
	orr	r2, r3, #4096
	ldr	r3, [fp, #-16]
	str	r2, [r3, #1252]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #16]
	sub	r3, r3, #1
	str	r3, [fp, #-12]
	b	.L432
.L434:
	ldr	r3, .L439+8
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L433
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #1252]
	and	r3, r3, #2048
	cmp	r3, #0
	beq	.L433
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-12]
	sub	r3, r3, #1
	str	r3, [fp, #-12]
.L432:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bge	.L434
.L433:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L435
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #1368]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #1368]
	cmp	r2, r3
	bne	.L435
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #2132]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #2132]
	cmp	r2, r3
	bne	.L435
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #1252]
	orr	r2, r3, #2048
	ldr	r3, [fp, #-16]
	str	r2, [r3, #1252]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #1376]
	ldr	r3, [fp, #-16]
	str	r2, [r3, #1376]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	str	r2, [r3, #1376]
	b	.L438
.L435:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #1252]
	and	r3, r3, #2048
	cmp	r3, #0
	beq	.L438
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #16]
	mov	r1, r3
	ldr	r0, .L439+12
	bl	printf
	b	.L438
.L431:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1984
	add	r3, r3, #4
	mov	r2, #16
	ldr	r1, .L439+16
	mov	r0, r3
	bl	strlcat
.L438:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L440:
	.align	2
.L439:
	.word	.LC28
	.word	.LC29
	.word	de_cd
	.word	.LC30
	.word	.LC31
	.size	tulip_identify_compex_nic, .-tulip_identify_compex_nic
	.align	2
	.global	tulip_srom_decode
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_srom_decode, %function
tulip_srom_decode:
	@ args = 0, pretend = 0, frame = 96
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #100
	str	r0, [fp, #-104]
	ldr	r3, [fp, #-104]
	add	r3, r3, #2000
	add	r3, r3, #4
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-60]
	add	r3, r3, #26
	str	r3, [fp, #-88]
	ldr	r3, [fp, #-104]
	add	r3, r3, #1504
	add	r3, r3, #8
	str	r3, [fp, #-84]
	mov	r3, #0
	str	r3, [fp, #-100]
	b	.L442
.L446:
	ldr	r3, [fp, #-60]
	ldrb	r3, [r3, #19]	@ zero_extendqisi2
	cmp	r3, #1
	beq	.L542
	ldr	r3, [fp, #-88]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-104]
	ldrb	r3, [r3, #2136]	@ zero_extendqisi2
	cmp	r2, r3
	beq	.L543
	ldr	r3, [fp, #-100]
	add	r3, r3, #1
	str	r3, [fp, #-100]
	ldr	r3, [fp, #-88]
	add	r3, r3, #3
	str	r3, [fp, #-88]
.L442:
	ldr	r3, [fp, #-60]
	ldrb	r3, [r3, #19]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-100]
	cmp	r3, r2
	bcc	.L446
	b	.L444
.L542:
	nop
	b	.L444
.L543:
	nop
.L444:
	ldr	r3, [fp, #-60]
	ldrb	r3, [r3, #19]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-100]
	cmp	r3, r2
	bne	.L447
	mov	r3, #0
	b	.L448
.L447:
	ldr	r3, [fp, #-60]
	add	r1, r3, #20
	ldr	r3, [fp, #-104]
	add	r3, r3, #1136
	mov	r2, #6
	mov	r0, r3
	bl	memmove
	ldr	r3, [fp, #-104]
	ldrb	r2, [r3, #1141]	@ zero_extendqisi2
	ldr	r3, [fp, #-100]
	and	r3, r3, #255
	add	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-104]
	strb	r2, [r3, #1141]
	ldr	r3, [fp, #-88]
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-88]
	ldrb	r3, [r3, #2]	@ zero_extendqisi2
	lsl	r3, r3, #8
	add	r3, r2, r3
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-104]
	add	r3, r3, #2000
	add	r3, r3, #4
	ldr	r2, [fp, #-56]
	add	r3, r3, r2
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-80]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-80]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	add	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-104]
	str	r2, [r3, #2140]
	ldr	r3, [fp, #-80]
	add	r3, r3, #2
	str	r3, [fp, #-80]
	mov	r3, #0
	str	r3, [fp, #-96]
.L450:
	ldr	r1, .L556
	ldr	r2, [fp, #-96]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-104]
	ldr	r3, [r3, #2140]
	cmp	r2, r3
	beq	.L449
	ldr	r1, .L556
	ldr	r2, [fp, #-96]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3]
	ldr	r2, .L556+4
	cmp	r3, r2
	beq	.L449
	ldr	r3, [fp, #-96]
	add	r3, r3, #1
	str	r3, [fp, #-96]
	b	.L450
.L449:
	ldr	r3, [fp, #-96]
	and	r2, r3, #255
	ldr	r3, [fp, #-104]
	strb	r2, [r3, #2137]
	ldr	r3, [fp, #-104]
	ldr	r3, [r3, #1368]
	cmp	r3, #2
	bne	.L451
	ldr	r3, [fp, #-80]
	add	r2, r3, #1
	str	r2, [fp, #-80]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-52]
	mov	r3, #0
	str	r3, [fp, #-96]
	b	.L452
.L466:
	ldr	r3, [fp, #-80]
	add	r2, r3, #1
	str	r2, [fp, #-80]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-36]
	and	r3, r3, #63
	str	r3, [fp, #-44]
	mov	r3, #0
	str	r3, [fp, #-92]
	b	.L453
.L456:
	ldr	r2, .L556+44
	ldr	r3, [fp, #-92]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-44]
	cmp	r2, r3
	beq	.L544
	ldr	r3, [fp, #-92]
	add	r3, r3, #1
	str	r3, [fp, #-92]
.L453:
	ldr	r2, .L556+44
	ldr	r3, [fp, #-92]
	ldr	r3, [r2, r3, lsl #3]
	cmp	r3, #0
	bne	.L456
	b	.L455
.L544:
	nop
.L455:
	ldr	r2, .L556+44
	ldr	r3, [fp, #-92]
	ldr	r3, [r2, r3, lsl #3]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L545
	ldr	r3, [fp, #-36]
	and	r3, r3, #64
	cmp	r3, #0
	beq	.L458
	ldr	r3, [fp, #-84]
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-104]
	ldr	r2, [fp, #-16]
	add	r2, r2, #320
	ldr	r1, [fp, #-84]
	str	r1, [r3, r2, lsl #2]
	ldr	r3, [fp, #-80]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-80]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #8
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-84]
	strh	r2, [r3, #4]	@ movhi
	ldr	r3, [fp, #-80]
	add	r3, r3, #2
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-80]
	add	r3, r3, #3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #8
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-84]
	strh	r2, [r3, #6]	@ movhi
	ldr	r3, [fp, #-80]
	add	r3, r3, #4
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-80]
	add	r3, r3, #5
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #8
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-84]
	strh	r2, [r3, #8]	@ movhi
	ldr	r3, [fp, #-84]
	add	r3, r3, #28
	str	r3, [fp, #-84]
	b	.L457
.L458:
	ldr	r3, [fp, #-16]
	sub	r3, r3, #1
	cmp	r3, #3
	ldrls	pc, [pc, r3, asl #2]
	b	.L546
.L461:
	.word	.L464
	.word	.L463
	.word	.L462
	.word	.L460
.L462:
	ldr	r3, [fp, #-84]
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-104]
	ldr	r2, [fp, #-84]
	str	r2, [r3, #1292]
	ldr	r3, [fp, #-84]
	ldr	r2, .L556+8
	strh	r2, [r3, #4]	@ movhi
	ldr	r3, [fp, #-84]
	ldr	r2, .L556+12
	strh	r2, [r3, #6]	@ movhi
	ldr	r3, [fp, #-84]
	mov	r2, #6
	strh	r2, [r3, #8]	@ movhi
	ldr	r3, [fp, #-84]
	add	r3, r3, #28
	str	r3, [fp, #-84]
	b	.L457
.L460:
	ldr	r3, [fp, #-84]
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-104]
	ldr	r2, [fp, #-84]
	str	r2, [r3, #1296]
	ldr	r3, [fp, #-84]
	ldr	r2, .L556+8
	strh	r2, [r3, #4]	@ movhi
	ldr	r3, [fp, #-84]
	ldr	r2, .L556+12
	strh	r2, [r3, #6]	@ movhi
	ldr	r3, [fp, #-84]
	mov	r2, #14
	strh	r2, [r3, #8]	@ movhi
	ldr	r3, [fp, #-84]
	add	r3, r3, #28
	str	r3, [fp, #-84]
	b	.L457
.L464:
	ldr	r3, [fp, #-84]
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-104]
	ldr	r2, [fp, #-84]
	str	r2, [r3, #1284]
	ldr	r3, [fp, #-84]
	ldr	r2, .L556+16
	strh	r2, [r3, #4]	@ movhi
	ldr	r3, [fp, #-84]
	mvn	r2, #192
	strh	r2, [r3, #6]	@ movhi
	ldr	r3, [fp, #-84]
	mov	r2, #0
	strh	r2, [r3, #8]	@ movhi
	ldr	r3, [fp, #-84]
	add	r3, r3, #28
	str	r3, [fp, #-84]
	b	.L457
.L463:
	ldr	r3, [fp, #-84]
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-104]
	ldr	r2, [fp, #-84]
	str	r2, [r3, #1288]
	ldr	r3, [fp, #-84]
	ldr	r2, .L556+16
	strh	r2, [r3, #4]	@ movhi
	ldr	r3, [fp, #-84]
	mvn	r2, #194
	strh	r2, [r3, #6]	@ movhi
	ldr	r3, [fp, #-84]
	mov	r2, #0
	strh	r2, [r3, #8]	@ movhi
	ldr	r3, [fp, #-84]
	add	r3, r3, #28
	str	r3, [fp, #-84]
	b	.L457
.L545:
	nop
	b	.L457
.L546:
	nop
.L457:
	ldr	r3, [fp, #-36]
	and	r3, r3, #64
	cmp	r3, #0
	beq	.L465
	ldr	r3, [fp, #-80]
	add	r3, r3, #6
	str	r3, [fp, #-80]
.L465:
	ldr	r3, [fp, #-96]
	add	r3, r3, #1
	str	r3, [fp, #-96]
.L452:
	ldr	r2, [fp, #-96]
	ldr	r3, [fp, #-52]
	cmp	r2, r3
	bcc	.L466
	b	.L467
.L451:
	mov	r3, #0
	str	r3, [fp, #-68]
	ldr	r3, [fp, #-104]
	ldr	r3, [r3, #1252]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L468
	ldr	r3, [fp, #-80]
	add	r2, r3, #1
	str	r2, [fp, #-80]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-104]
	strb	r2, [r3, #1338]
.L468:
	ldr	r3, [fp, #-80]
	add	r2, r3, #1
	str	r2, [fp, #-80]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-52]
	mov	r3, #0
	str	r3, [fp, #-96]
	b	.L469
.L541:
	ldr	r3, [fp, #-80]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	cmp	r3, #0
	blt	.L470
	mov	r3, #4
	str	r3, [fp, #-76]
	mov	r3, #0
	str	r3, [fp, #-72]
	b	.L471
.L470:
	ldr	r3, [fp, #-80]
	add	r2, r3, #1
	str	r2, [fp, #-80]
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #127
	sub	r3, r3, #1
	str	r3, [fp, #-76]
	ldr	r3, [fp, #-80]
	add	r2, r3, #1
	str	r2, [fp, #-80]
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #63
	str	r3, [fp, #-72]
.L471:
	ldr	r2, [fp, #-80]
	ldr	r3, [fp, #-76]
	add	r3, r2, r3
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-72]
	and	r3, r3, #63
	cmp	r3, #4
	ldrls	pc, [pc, r3, asl #2]
	b	.L472
.L474:
	.word	.L478
	.word	.L477
	.word	.L476
	.word	.L475
	.word	.L473
.L478:
	ldr	r3, [fp, #-80]
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #63
	str	r3, [fp, #-44]
	mov	r3, #0
	str	r3, [fp, #-92]
	b	.L479
.L482:
	ldr	r2, .L556+44
	ldr	r3, [fp, #-92]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-44]
	cmp	r2, r3
	beq	.L547
	ldr	r3, [fp, #-92]
	add	r3, r3, #1
	str	r3, [fp, #-92]
.L479:
	ldr	r2, .L556+44
	ldr	r3, [fp, #-92]
	ldr	r3, [r2, r3, lsl #3]
	cmp	r3, #0
	bne	.L482
	b	.L481
.L547:
	nop
.L481:
	ldr	r2, .L556+44
	ldr	r3, [fp, #-92]
	ldr	r3, [r2, r3, lsl #3]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L548
	ldr	r3, [fp, #-84]
	mov	r2, #2
	str	r2, [r3]
	ldr	r3, [fp, #-104]
	ldr	r2, [fp, #-20]
	add	r2, r2, #320
	ldr	r1, [fp, #-84]
	str	r1, [r3, r2, lsl #2]
	ldr	r3, [fp, #-80]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-84]
	str	r2, [r3, #12]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-68]
	cmp	r2, r3
	bls	.L484
	ldr	r3, [fp, #-20]
	ldr	r2, .L556+20
	asr	r3, r2, r3
	and	r3, r3, #1
	cmp	r3, #0
	bne	.L484
	ldr	r3, [fp, #-84]
	ldr	r3, [r3, #12]
	and	r2, r3, #255
	ldr	r3, [fp, #-104]
	strb	r2, [r3, #1339]
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-68]
.L484:
	ldr	r3, [fp, #-80]
	add	r3, r3, #2
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-80]
	add	r3, r3, #3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	add	r3, r2, r3
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #18
	and	r2, r3, #29622272
	ldr	r3, [fp, #-84]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-36]
	and	r3, r3, #32768
	cmp	r3, #0
	beq	.L485
	ldr	r3, [fp, #-84]
	mov	r2, #0
	strb	r2, [r3, #16]
	b	.L486
.L485:
	ldr	r3, [fp, #-36]
	lsr	r3, r3, #1
	and	r3, r3, #7
	mov	r2, #1
	lsl	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-84]
	strb	r2, [r3, #16]
	ldr	r3, [fp, #-36]
	and	r3, r3, #128
	cmp	r3, #0
	bne	.L487
	ldr	r3, [fp, #-84]
	ldrb	r2, [r3, #16]	@ zero_extendqisi2
	b	.L488
.L487:
	mov	r2, #0
.L488:
	ldr	r3, [fp, #-84]
	strb	r2, [r3, #17]
.L486:
	ldr	r3, [fp, #-84]
	add	r3, r3, #28
	str	r3, [fp, #-84]
	b	.L472
.L477:
	ldr	r3, [fp, #-80]
	add	r2, r3, #1
	str	r2, [fp, #-80]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-84]
	mov	r2, #3
	str	r2, [r3]
	ldr	r3, [fp, #-80]
	add	r2, r3, #1
	str	r2, [fp, #-80]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-84]
	strb	r2, [r3, #19]
	ldr	r3, [fp, #-104]
	add	r3, r3, #2000
	add	r3, r3, #4
	ldr	r2, [fp, #-80]
	sub	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-84]
	strb	r2, [r3, #20]
	ldr	r3, [fp, #-84]
	ldrb	r3, [r3, #19]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-80]
	add	r3, r3, r2
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-80]
	add	r2, r3, #1
	str	r2, [fp, #-80]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-84]
	strb	r2, [r3, #21]
	ldr	r3, [fp, #-104]
	add	r3, r3, #2000
	add	r3, r3, #4
	ldr	r2, [fp, #-80]
	sub	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-84]
	strb	r2, [r3, #22]
	ldr	r3, [fp, #-84]
	ldrb	r3, [r3, #21]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-80]
	add	r3, r3, r2
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-104]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-104]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-104]
	ldr	r1, [r2, #1232]
	ldr	r2, [fp, #-104]
	ldrb	r2, [r2, #1338]	@ zero_extendqisi2
	orr	r2, r2, #256
	blx	r3
	mov	r3, #0
	str	r3, [fp, #-92]
	b	.L489
.L490:
	ldr	r3, .L556+36
	ldr	r3, [r3]
	mov	r0, #10
	blx	r3
	ldr	r3, [fp, #-104]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-104]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-104]
	ldr	ip, [r2, #1232]
	ldr	r2, [fp, #-84]
	ldrb	r2, [r2, #22]	@ zero_extendqisi2
	mov	r1, r2
	ldr	r2, [fp, #-92]
	add	r2, r1, r2
	ldr	r1, [fp, #-104]
	add	r2, r1, r2
	ldrb	r2, [r2, #2004]	@ zero_extendqisi2
	mov	r1, ip
	blx	r3
	ldr	r3, [fp, #-92]
	add	r3, r3, #1
	str	r3, [fp, #-92]
.L489:
	ldr	r3, [fp, #-84]
	ldrb	r3, [r3, #21]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-92]
	cmp	r3, r2
	bcc	.L490
	ldr	r3, [fp, #-84]
	ldrb	r2, [r3, #18]	@ zero_extendqisi2
	ldr	r3, [fp, #-104]
	strb	r2, [r3, #1337]
	mov	r3, #0
	str	r3, [fp, #-92]
	b	.L491
.L492:
	ldr	r3, .L556+36
	ldr	r3, [r3]
	mov	r0, #10
	blx	r3
	ldr	r3, [fp, #-104]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-104]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-104]
	ldr	ip, [r2, #1232]
	ldr	r2, [fp, #-84]
	ldrb	r2, [r2, #20]	@ zero_extendqisi2
	mov	r1, r2
	ldr	r2, [fp, #-92]
	add	r2, r1, r2
	ldr	r1, [fp, #-104]
	add	r2, r1, r2
	ldrb	r2, [r2, #2004]	@ zero_extendqisi2
	mov	r1, ip
	blx	r3
	ldr	r3, [fp, #-92]
	add	r3, r3, #1
	str	r3, [fp, #-92]
.L491:
	ldr	r3, [fp, #-84]
	ldrb	r3, [r3, #19]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-92]
	cmp	r3, r2
	bcc	.L492
	ldr	r3, [fp, #-84]
	ldrb	r3, [r3, #21]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L493
	ldr	r3, [fp, #-84]
	ldrb	r3, [r3, #19]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L493
	ldr	r3, [fp, #-104]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-104]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-104]
	ldr	r1, [r2, #1232]
	mov	r2, #0
	blx	r3
.L493:
	ldr	r3, [fp, #-84]
	mov	r2, #32
	strb	r2, [r3, #18]
	mov	r3, #20
	str	r3, [fp, #-92]
	b	.L494
.L496:
	ldr	r3, .L556+36
	ldr	r3, [r3]
	ldr	r0, .L556+40
	blx	r3
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-104]
	bl	tulip_mii_get_phyaddr
	mov	r3, r0
	and	r2, r3, #255
	ldr	r3, [fp, #-84]
	strb	r2, [r3, #18]
	ldr	r3, [fp, #-92]
	sub	r3, r3, #1
	str	r3, [fp, #-92]
.L494:
	ldr	r3, [fp, #-92]
	cmp	r3, #0
	beq	.L495
	ldr	r3, [fp, #-84]
	ldrb	r3, [r3, #18]	@ zero_extendqisi2
	cmp	r3, #32
	beq	.L496
.L495:
	ldr	r3, [fp, #-84]
	ldrb	r3, [r3, #18]	@ zero_extendqisi2
	cmp	r3, #32
	beq	.L549
	ldr	r3, [fp, #-104]
	ldr	r3, [r3, #1252]
	orr	r2, r3, #8
	ldr	r3, [fp, #-104]
	str	r2, [r3, #1252]
	ldr	r3, [fp, #-80]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-80]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #8
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-84]
	strh	r2, [r3, #8]	@ movhi
	ldr	r3, [fp, #-80]
	add	r3, r3, #2
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-80]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-80]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #8
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-84]
	strh	r2, [r3, #10]	@ movhi
	ldr	r3, [fp, #-80]
	add	r3, r3, #2
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-80]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-80]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #8
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-84]
	strh	r2, [r3, #12]	@ movhi
	ldr	r3, [fp, #-80]
	add	r3, r3, #2
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-80]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-80]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #8
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-84]
	strh	r2, [r3, #14]	@ movhi
	ldr	r3, [fp, #-80]
	add	r3, r3, #2
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-104]
	ldr	r3, [r3, #1312]
	cmp	r3, #0
	bne	.L498
	ldr	r3, [fp, #-84]
	ldrh	r3, [r3, #8]
	and	r3, r3, #16384
	cmp	r3, #0
	beq	.L498
	ldr	r3, [fp, #-104]
	ldr	r2, [fp, #-84]
	str	r2, [r3, #1312]
	ldr	r3, [fp, #-84]
	ldr	r3, [r3, #4]
	orr	r2, r3, #256
	ldr	r3, [fp, #-84]
	str	r2, [r3, #4]
.L498:
	ldr	r3, [fp, #-104]
	ldr	r3, [r3, #1308]
	cmp	r3, #0
	bne	.L499
	ldr	r3, [fp, #-84]
	ldrh	r3, [r3, #8]
	and	r3, r3, #8192
	cmp	r3, #0
	beq	.L499
	ldr	r3, [fp, #-104]
	ldr	r2, [fp, #-84]
	str	r2, [r3, #1308]
	ldr	r3, [fp, #-84]
	ldr	r3, [r3, #4]
	orr	r2, r3, #128
	ldr	r3, [fp, #-84]
	str	r2, [r3, #4]
.L499:
	ldr	r3, [fp, #-104]
	ldr	r3, [r3, #1316]
	cmp	r3, #0
	bne	.L500
	ldr	r3, [fp, #-84]
	ldrh	r3, [r3, #8]
	lsl	r3, r3, #16
	asr	r3, r3, #16
	cmp	r3, #0
	bge	.L500
	ldr	r3, [fp, #-104]
	ldr	r2, [fp, #-84]
	str	r2, [r3, #1316]
	ldr	r3, [fp, #-84]
	ldr	r3, [r3, #4]
	orr	r2, r3, #512
	ldr	r3, [fp, #-84]
	str	r2, [r3, #4]
.L500:
	ldr	r3, [fp, #-104]
	ldr	r3, [r3, #1288]
	cmp	r3, #0
	bne	.L501
	ldr	r3, [fp, #-84]
	ldrh	r3, [r3, #8]
	and	r3, r3, #4096
	cmp	r3, #0
	beq	.L501
	ldr	r3, [fp, #-104]
	ldr	r2, [fp, #-84]
	str	r2, [r3, #1288]
	ldr	r3, [fp, #-84]
	ldr	r3, [r3, #4]
	orr	r2, r3, #4
	ldr	r3, [fp, #-84]
	str	r2, [r3, #4]
.L501:
	ldr	r3, [fp, #-104]
	ldr	r3, [r3, #1284]
	cmp	r3, #0
	bne	.L502
	ldr	r3, [fp, #-84]
	ldrh	r3, [r3, #8]
	and	r3, r3, #2048
	cmp	r3, #0
	beq	.L502
	ldr	r3, [fp, #-104]
	ldr	r2, [fp, #-84]
	str	r2, [r3, #1284]
	ldr	r3, [fp, #-84]
	ldr	r3, [r3, #4]
	orr	r2, r3, #2
	ldr	r3, [fp, #-84]
	str	r2, [r3, #4]
.L502:
	ldr	r3, [fp, #-84]
	ldrb	r3, [r3, #18]	@ zero_extendqisi2
	mov	r2, #2
	mov	r1, r3
	ldr	r0, [fp, #-104]
	bl	tulip_mii_readreg
	mov	r3, r0
	lsl	r4, r3, #16
	ldr	r3, [fp, #-84]
	ldrb	r3, [r3, #18]	@ zero_extendqisi2
	mov	r2, #3
	mov	r1, r3
	ldr	r0, [fp, #-104]
	bl	tulip_mii_readreg
	mov	r3, r0
	orr	r2, r4, r3
	ldr	r3, [fp, #-84]
	str	r2, [r3, #24]
	ldr	r3, [fp, #-84]
	add	r3, r3, #28
	str	r3, [fp, #-84]
	b	.L472
.L476:
	ldr	r3, [fp, #-80]
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #63
	str	r3, [fp, #-44]
	mov	r3, #0
	str	r3, [fp, #-92]
	b	.L503
.L506:
	ldr	r2, .L556+44
	ldr	r3, [fp, #-92]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-44]
	cmp	r2, r3
	beq	.L550
	ldr	r3, [fp, #-92]
	add	r3, r3, #1
	str	r3, [fp, #-92]
.L503:
	ldr	r2, .L556+44
	ldr	r3, [fp, #-92]
	ldr	r3, [r2, r3, lsl #3]
	cmp	r3, #0
	bne	.L506
	b	.L505
.L550:
	nop
.L505:
	ldr	r2, .L556+44
	ldr	r3, [fp, #-92]
	ldr	r3, [r2, r3, lsl #3]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	beq	.L551
	ldr	r3, [fp, #-84]
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-104]
	ldr	r2, [fp, #-28]
	add	r2, r2, #320
	ldr	r1, [fp, #-84]
	str	r1, [r3, r2, lsl #2]
	ldr	r3, [fp, #-80]
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #64
	cmp	r3, #0
	beq	.L508
	ldr	r3, [fp, #-80]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-80]
	add	r3, r3, #2
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #8
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-84]
	strh	r2, [r3, #4]	@ movhi
	ldr	r3, [fp, #-80]
	add	r3, r3, #3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-80]
	add	r3, r3, #4
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #8
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-84]
	strh	r2, [r3, #6]	@ movhi
	ldr	r3, [fp, #-80]
	add	r3, r3, #5
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-80]
	add	r3, r3, #6
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #8
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-84]
	strh	r2, [r3, #8]	@ movhi
	ldr	r3, [fp, #-80]
	add	r3, r3, #6
	str	r3, [fp, #-80]
	b	.L509
.L508:
	ldr	r3, [fp, #-28]
	sub	r3, r3, #1
	cmp	r3, #3
	ldrls	pc, [pc, r3, asl #2]
	b	.L552
.L512:
	.word	.L515
	.word	.L514
	.word	.L513
	.word	.L511
.L513:
	ldr	r3, [fp, #-84]
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-104]
	ldr	r2, [fp, #-84]
	str	r2, [r3, #1292]
	ldr	r3, [fp, #-84]
	mov	r2, #9
	strh	r2, [r3, #4]	@ movhi
	ldr	r3, [fp, #-84]
	ldr	r2, .L556+24
	strh	r2, [r3, #6]	@ movhi
	ldr	r3, [fp, #-84]
	mov	r2, #6
	strh	r2, [r3, #8]	@ movhi
	b	.L509
.L511:
	ldr	r3, [fp, #-84]
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-104]
	ldr	r2, [fp, #-84]
	str	r2, [r3, #1296]
	ldr	r3, [fp, #-84]
	mov	r2, #9
	strh	r2, [r3, #4]	@ movhi
	ldr	r3, [fp, #-84]
	ldr	r2, .L556+24
	strh	r2, [r3, #6]	@ movhi
	ldr	r3, [fp, #-84]
	mov	r2, #14
	strh	r2, [r3, #8]	@ movhi
	b	.L509
.L515:
	ldr	r3, [fp, #-84]
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-104]
	ldr	r2, [fp, #-84]
	str	r2, [r3, #1284]
	ldr	r3, [fp, #-84]
	mov	r2, #1
	strh	r2, [r3, #4]	@ movhi
	ldr	r3, [fp, #-84]
	ldr	r2, .L556+28
	strh	r2, [r3, #6]	@ movhi
	ldr	r3, [fp, #-84]
	mov	r2, #8
	strh	r2, [r3, #8]	@ movhi
	ldr	r3, [fp, #-104]
	ldr	r3, [r3, #1256]
	orr	r3, r3, #4096
	orr	r3, r3, #16
	ldr	r2, [fp, #-104]
	str	r3, [r2, #1256]
	b	.L509
.L514:
	ldr	r3, [fp, #-84]
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-104]
	ldr	r2, [fp, #-84]
	str	r2, [r3, #1288]
	ldr	r3, [fp, #-84]
	mov	r2, #1
	strh	r2, [r3, #4]	@ movhi
	ldr	r3, [fp, #-84]
	ldr	r2, .L556+32
	strh	r2, [r3, #6]	@ movhi
	ldr	r3, [fp, #-84]
	mov	r2, #8
	strh	r2, [r3, #8]	@ movhi
	ldr	r3, [fp, #-104]
	ldr	r3, [r3, #1256]
	orr	r3, r3, #4096
	orr	r3, r3, #16
	ldr	r2, [fp, #-104]
	str	r3, [r2, #1256]
	nop
.L509:
	ldr	r3, [fp, #-80]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-80]
	add	r3, r3, #2
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	add	r3, r2, r3
	lsl	r3, r3, #16
	mov	r2, r3
	ldr	r3, [fp, #-84]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-80]
	add	r3, r3, #3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-80]
	add	r3, r3, #4
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	add	r3, r2, r3
	lsl	r3, r3, #16
	mov	r2, r3
	ldr	r3, [fp, #-84]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-84]
	add	r3, r3, #28
	str	r3, [fp, #-84]
	b	.L472
.L552:
	nop
.L516:
	b	.L472
.L557:
	.align	2
.L556:
	.word	tulip_srom_conninfo
	.word	65535
	.word	-4343
	.word	-2243
	.word	-4351
	.word	2308
	.word	1797
	.word	32575
	.word	32573
	.word	delay_func
	.word	10000
	.word	tulip_srom_mediums
.L475:
	ldr	r3, [fp, #-80]
	add	r2, r3, #1
	str	r2, [fp, #-80]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-84]
	mov	r2, #3
	str	r2, [r3]
	ldr	r3, [fp, #-80]
	add	r2, r3, #1
	str	r2, [fp, #-80]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-84]
	strb	r2, [r3, #19]
	ldr	r3, [fp, #-104]
	add	r3, r3, #2000
	add	r3, r3, #4
	ldr	r2, [fp, #-80]
	sub	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-84]
	strb	r2, [r3, #20]
	ldr	r3, [fp, #-84]
	ldrb	r3, [r3, #19]	@ zero_extendqisi2
	lsl	r3, r3, #1
	mov	r2, r3
	ldr	r3, [fp, #-80]
	add	r3, r3, r2
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-80]
	add	r2, r3, #1
	str	r2, [fp, #-80]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-84]
	strb	r2, [r3, #21]
	ldr	r3, [fp, #-104]
	add	r3, r3, #2000
	add	r3, r3, #4
	ldr	r2, [fp, #-80]
	sub	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-84]
	strb	r2, [r3, #22]
	ldr	r3, [fp, #-84]
	ldrb	r3, [r3, #21]	@ zero_extendqisi2
	lsl	r3, r3, #1
	mov	r2, r3
	ldr	r3, [fp, #-80]
	add	r3, r3, r2
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-84]
	ldrb	r3, [r3, #22]	@ zero_extendqisi2
	add	r3, r3, #2000
	ldr	r2, [fp, #-104]
	add	r3, r2, r3
	add	r3, r3, #4
	str	r3, [fp, #-64]
	mov	r3, #0
	str	r3, [fp, #-92]
	b	.L517
.L518:
	ldr	r3, .L556+36
	ldr	r3, [r3]
	mov	r0, #10
	blx	r3
	ldr	r3, [fp, #-104]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-104]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-104]
	ldr	r1, [r2, #1244]
	ldr	r2, [fp, #-64]
	ldrb	r2, [r2]	@ zero_extendqisi2
	mov	ip, r2
	ldr	r2, [fp, #-64]
	add	r2, r2, #1
	ldrb	r2, [r2]	@ zero_extendqisi2
	lsl	r2, r2, #8
	add	r2, ip, r2
	lsl	r2, r2, #16
	blx	r3
	ldr	r3, [fp, #-92]
	add	r3, r3, #1
	str	r3, [fp, #-92]
	ldr	r3, [fp, #-64]
	add	r3, r3, #2
	str	r3, [fp, #-64]
.L517:
	ldr	r3, [fp, #-84]
	ldrb	r3, [r3, #21]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-92]
	cmp	r3, r2
	bcc	.L518
	ldr	r3, [fp, #-84]
	ldrb	r2, [r3, #18]	@ zero_extendqisi2
	ldr	r3, [fp, #-104]
	strb	r2, [r3, #1337]
	ldr	r3, [fp, #-84]
	ldrb	r3, [r3, #20]	@ zero_extendqisi2
	add	r3, r3, #2000
	ldr	r2, [fp, #-104]
	add	r3, r2, r3
	add	r3, r3, #4
	str	r3, [fp, #-64]
	mov	r3, #0
	str	r3, [fp, #-92]
	b	.L519
.L520:
	ldr	r3, .L556+36
	ldr	r3, [r3]
	mov	r0, #10
	blx	r3
	ldr	r3, [fp, #-104]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-104]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-104]
	ldr	r1, [r2, #1244]
	ldr	r2, [fp, #-64]
	ldrb	r2, [r2]	@ zero_extendqisi2
	mov	ip, r2
	ldr	r2, [fp, #-64]
	add	r2, r2, #1
	ldrb	r2, [r2]	@ zero_extendqisi2
	lsl	r2, r2, #8
	add	r2, ip, r2
	lsl	r2, r2, #16
	blx	r3
	ldr	r3, [fp, #-92]
	add	r3, r3, #1
	str	r3, [fp, #-92]
	ldr	r3, [fp, #-64]
	add	r3, r3, #2
	str	r3, [fp, #-64]
.L519:
	ldr	r3, [fp, #-84]
	ldrb	r3, [r3, #19]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-92]
	cmp	r3, r2
	bcc	.L520
	ldr	r3, [fp, #-84]
	ldrb	r3, [r3, #21]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L521
	ldr	r3, [fp, #-84]
	ldrb	r3, [r3, #19]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L521
	ldr	r3, [fp, #-104]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-104]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-104]
	ldr	r1, [r2, #1244]
	mov	r2, #0
	blx	r3
.L521:
	ldr	r3, [fp, #-84]
	mov	r2, #32
	strb	r2, [r3, #18]
	mov	r3, #20
	str	r3, [fp, #-92]
	b	.L522
.L524:
	ldr	r3, .L556+36
	ldr	r3, [r3]
	ldr	r0, .L556+40
	blx	r3
	ldr	r1, [fp, #-32]
	ldr	r0, [fp, #-104]
	bl	tulip_mii_get_phyaddr
	mov	r3, r0
	and	r2, r3, #255
	ldr	r3, [fp, #-84]
	strb	r2, [r3, #18]
	ldr	r3, [fp, #-92]
	sub	r3, r3, #1
	str	r3, [fp, #-92]
.L522:
	ldr	r3, [fp, #-92]
	cmp	r3, #0
	beq	.L523
	ldr	r3, [fp, #-84]
	ldrb	r3, [r3, #18]	@ zero_extendqisi2
	cmp	r3, #32
	beq	.L524
.L523:
	ldr	r3, [fp, #-84]
	ldrb	r3, [r3, #18]	@ zero_extendqisi2
	cmp	r3, #32
	beq	.L553
	ldr	r3, [fp, #-104]
	ldr	r3, [r3, #1252]
	orr	r2, r3, #8
	ldr	r3, [fp, #-104]
	str	r2, [r3, #1252]
	ldr	r3, [fp, #-80]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-80]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #8
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-84]
	strh	r2, [r3, #8]	@ movhi
	ldr	r3, [fp, #-80]
	add	r3, r3, #2
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-80]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-80]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #8
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-84]
	strh	r2, [r3, #10]	@ movhi
	ldr	r3, [fp, #-80]
	add	r3, r3, #2
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-80]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-80]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #8
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-84]
	strh	r2, [r3, #12]	@ movhi
	ldr	r3, [fp, #-80]
	add	r3, r3, #2
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-80]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-80]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #8
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-84]
	strh	r2, [r3, #14]	@ movhi
	ldr	r3, [fp, #-80]
	add	r3, r3, #2
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-80]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-80]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #8
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-84]
	strh	r2, [r3, #16]	@ movhi
	ldr	r3, [fp, #-80]
	add	r3, r3, #2
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-104]
	ldr	r3, [r3, #1312]
	cmp	r3, #0
	bne	.L526
	ldr	r3, [fp, #-84]
	ldrh	r3, [r3, #8]
	and	r3, r3, #16384
	cmp	r3, #0
	beq	.L526
	ldr	r3, [fp, #-104]
	ldr	r2, [fp, #-84]
	str	r2, [r3, #1312]
	ldr	r3, [fp, #-84]
	ldr	r3, [r3, #4]
	orr	r2, r3, #256
	ldr	r3, [fp, #-84]
	str	r2, [r3, #4]
.L526:
	ldr	r3, [fp, #-104]
	ldr	r3, [r3, #1308]
	cmp	r3, #0
	bne	.L527
	ldr	r3, [fp, #-84]
	ldrh	r3, [r3, #8]
	and	r3, r3, #8192
	cmp	r3, #0
	beq	.L527
	ldr	r3, [fp, #-104]
	ldr	r2, [fp, #-84]
	str	r2, [r3, #1308]
	ldr	r3, [fp, #-84]
	ldr	r3, [r3, #4]
	orr	r2, r3, #128
	ldr	r3, [fp, #-84]
	str	r2, [r3, #4]
.L527:
	ldr	r3, [fp, #-104]
	ldr	r3, [r3, #1316]
	cmp	r3, #0
	bne	.L528
	ldr	r3, [fp, #-84]
	ldrh	r3, [r3, #8]
	lsl	r3, r3, #16
	asr	r3, r3, #16
	cmp	r3, #0
	bge	.L528
	ldr	r3, [fp, #-104]
	ldr	r2, [fp, #-84]
	str	r2, [r3, #1316]
	ldr	r3, [fp, #-84]
	ldr	r3, [r3, #4]
	orr	r2, r3, #512
	ldr	r3, [fp, #-84]
	str	r2, [r3, #4]
.L528:
	ldr	r3, [fp, #-104]
	ldr	r3, [r3, #1288]
	cmp	r3, #0
	bne	.L529
	ldr	r3, [fp, #-84]
	ldrh	r3, [r3, #8]
	and	r3, r3, #4096
	cmp	r3, #0
	beq	.L529
	ldr	r3, [fp, #-104]
	ldr	r2, [fp, #-84]
	str	r2, [r3, #1288]
	ldr	r3, [fp, #-84]
	ldr	r3, [r3, #4]
	orr	r2, r3, #4
	ldr	r3, [fp, #-84]
	str	r2, [r3, #4]
.L529:
	ldr	r3, [fp, #-104]
	ldr	r3, [r3, #1284]
	cmp	r3, #0
	bne	.L530
	ldr	r3, [fp, #-84]
	ldrh	r3, [r3, #8]
	and	r3, r3, #2048
	cmp	r3, #0
	beq	.L530
	ldr	r3, [fp, #-104]
	ldr	r2, [fp, #-84]
	str	r2, [r3, #1284]
	ldr	r3, [fp, #-84]
	ldr	r3, [r3, #4]
	orr	r2, r3, #2
	ldr	r3, [fp, #-84]
	str	r2, [r3, #4]
.L530:
	ldr	r3, [fp, #-84]
	ldrb	r3, [r3, #18]	@ zero_extendqisi2
	mov	r2, #2
	mov	r1, r3
	ldr	r0, [fp, #-104]
	bl	tulip_mii_readreg
	mov	r3, r0
	lsl	r4, r3, #16
	ldr	r3, [fp, #-84]
	ldrb	r3, [r3, #18]	@ zero_extendqisi2
	mov	r2, #3
	mov	r1, r3
	ldr	r0, [fp, #-104]
	bl	tulip_mii_readreg
	mov	r3, r0
	orr	r2, r4, r3
	ldr	r3, [fp, #-84]
	str	r2, [r3, #24]
	ldr	r3, [fp, #-84]
	add	r3, r3, #28
	str	r3, [fp, #-84]
	b	.L472
.L473:
	ldr	r3, [fp, #-80]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-44]
	mov	r3, #0
	str	r3, [fp, #-92]
	b	.L531
.L534:
	ldr	r2, .L556+44
	ldr	r3, [fp, #-92]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-44]
	cmp	r2, r3
	beq	.L554
	ldr	r3, [fp, #-92]
	add	r3, r3, #1
	str	r3, [fp, #-92]
.L531:
	ldr	r2, .L556+44
	ldr	r3, [fp, #-92]
	ldr	r3, [r2, r3, lsl #3]
	cmp	r3, #0
	bne	.L534
	b	.L533
.L554:
	nop
.L533:
	ldr	r2, .L556+44
	ldr	r3, [fp, #-92]
	ldr	r3, [r2, r3, lsl #3]
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	beq	.L555
	ldr	r3, [fp, #-84]
	mov	r2, #5
	str	r2, [r3]
	ldr	r3, [fp, #-104]
	ldr	r2, [fp, #-40]
	add	r2, r2, #320
	ldr	r1, [fp, #-84]
	str	r1, [r3, r2, lsl #2]
	ldr	r3, [fp, #-80]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-80]
	add	r3, r3, #2
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	add	r3, r2, r3
	lsl	r3, r3, #16
	mov	r2, r3
	ldr	r3, [fp, #-84]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-80]
	add	r3, r3, #3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-80]
	add	r3, r3, #4
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	add	r3, r2, r3
	lsl	r3, r3, #16
	mov	r2, r3
	ldr	r3, [fp, #-84]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-80]
	add	r3, r3, #5
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-80]
	add	r3, r3, #6
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	add	r3, r2, r3
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #18
	and	r2, r3, #29622272
	ldr	r3, [fp, #-84]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-36]
	and	r3, r3, #32768
	cmp	r3, #0
	beq	.L536
	ldr	r3, [fp, #-84]
	mov	r2, #0
	strb	r2, [r3, #16]
	b	.L537
.L536:
	ldr	r3, [fp, #-36]
	and	r3, r3, #16384
	cmp	r3, #0
	movne	r3, #1
	moveq	r3, #0
	and	r1, r3, #255
	ldr	r2, [fp, #-84]
	ldrb	r3, [r2, #18]
	and	r1, r1, #1
	bic	r3, r3, #1
	orr	r3, r1, r3
	strb	r3, [r2, #18]
	ldr	r3, [fp, #-36]
	lsr	r3, r3, #1
	and	r3, r3, #7
	mov	r2, #1
	lsl	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-84]
	strb	r2, [r3, #16]
	ldr	r3, [fp, #-36]
	and	r3, r3, #128
	cmp	r3, #0
	bne	.L538
	ldr	r3, [fp, #-84]
	ldrb	r2, [r3, #16]	@ zero_extendqisi2
	b	.L539
.L538:
	mov	r2, #0
.L539:
	ldr	r3, [fp, #-84]
	strb	r2, [r3, #17]
.L537:
	ldr	r3, [fp, #-40]
	mov	r2, #120
	asr	r3, r2, r3
	and	r3, r3, #1
	cmp	r3, #0
	bne	.L540
	ldr	r3, [fp, #-104]
	ldr	r3, [r3, #1256]
	orr	r3, r3, #4096
	orr	r3, r3, #16
	ldr	r2, [fp, #-104]
	str	r3, [r2, #1256]
.L540:
	ldr	r3, [fp, #-84]
	add	r3, r3, #28
	str	r3, [fp, #-84]
	b	.L472
.L548:
	nop
	b	.L472
.L549:
	nop
	b	.L472
.L551:
	nop
	b	.L472
.L553:
	nop
	b	.L472
.L555:
	nop
.L472:
	ldr	r3, [fp, #-48]
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-96]
	add	r3, r3, #1
	str	r3, [fp, #-96]
.L469:
	ldr	r2, [fp, #-96]
	ldr	r3, [fp, #-52]
	cmp	r2, r3
	bcc	.L541
.L467:
	ldr	r3, [fp, #-104]
	add	r3, r3, #1504
	add	r3, r3, #8
	ldr	r2, [fp, #-84]
	sub	r3, r2, r3
	asr	r2, r3, #2
	mov	r3, r2
	lsl	r3, r3, #3
	add	r3, r3, r2
	lsl	r1, r3, #6
	add	r3, r3, r1
	lsl	r3, r3, #3
	add	r3, r3, r2
	lsl	r1, r3, #15
	add	r3, r3, r1
	lsl	r3, r3, #3
	add	r3, r3, r2
	rsb	r3, r3, #0
.L448:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
	.size	tulip_srom_decode, .-tulip_srom_decode
	.section	.rodata
	.align	2
	.type	tulip_vendors, %object
	.size	tulip_vendors, 88
tulip_vendors:
	.word	tulip_identify_dec_nic
	.ascii	"\010\000+"
	.space	1
	.word	tulip_identify_dec_nic
	.ascii	"\000\000\370"
	.space	1
	.word	tulip_identify_smc_nic
	.ascii	"\000\000\300"
	.space	1
	.word	tulip_identify_smc_nic
	.ascii	"\000\340)"
	.space	1
	.word	tulip_identify_znyx_nic
	.ascii	"\000\300\225"
	.space	1
	.word	tulip_identify_cogent_nic
	.ascii	"\000\000\222"
	.space	1
	.word	tulip_identify_cogent_nic
	.ascii	"\000\000\321"
	.space	1
	.word	tulip_identify_asante_nic
	.ascii	"\000\000\224"
	.space	1
	.word	tulip_identify_accton_nic
	.ascii	"\000\000\350"
	.space	1
	.word	tulip_identify_compex_nic
	.ascii	"\000\200H"
	.space	1
	.word	0
	.space	4
	.align	2
.LC32:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	tulip_read_macaddr
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_read_macaddr, %function
tulip_read_macaddr:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-48]
	ldr	r3, .L615
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-48]
	mov	r2, #19
	strb	r2, [r3, #2137]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #1368]
	cmp	r3, #0
	bne	.L559
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-48]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-48]
	ldr	r1, [r2, #1220]
	mov	r2, #1
	blx	r3
	mov	r3, #0
	str	r3, [fp, #-40]
	b	.L560
.L564:
	mov	r3, #0
	str	r3, [fp, #-36]
	b	.L561
.L563:
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
.L561:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-48]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-48]
	ldr	r2, [r2, #1220]
	mov	r1, r2
	blx	r3
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bge	.L562
	ldr	r3, [fp, #-36]
	ldr	r2, .L615+4
	cmp	r3, r2
	ble	.L563
.L562:
	ldr	r3, [fp, #-24]
	and	r1, r3, #255
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-40]
	add	r3, r2, r3
	add	r3, r3, #2000
	add	r3, r3, #4
	mov	r2, r1
	strb	r2, [r3]
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
.L560:
	ldr	r3, [fp, #-40]
	cmp	r3, #127
	bls	.L564
	ldr	r3, [fp, #-48]
	ldr	r2, .L615+8
	str	r2, [r3, #1372]
	b	.L565
.L559:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #1368]
	cmp	r3, #2
	bne	.L566
	ldr	r3, [fp, #-48]
	ldr	r2, .L615+12
	str	r2, [r3, #1372]
	b	.L567
.L566:
	ldr	r3, [fp, #-48]
	ldr	r2, .L615+16
	str	r2, [r3, #1372]
.L567:
	ldr	r0, [fp, #-48]
	bl	tulip_srom_read
	ldr	r3, [fp, #-48]
	add	r3, r3, #2000
	add	r3, r3, #4
	mov	r1, #126
	mov	r0, r3
	bl	ether_crc32_le
	mov	r3, r0
	mvn	r3, r3
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	ldr	r2, [fp, #-48]
	ldrb	r2, [r2, #2130]	@ zero_extendqisi2
	mov	r1, r2
	ldr	r2, [fp, #-48]
	ldrb	r2, [r2, #2131]	@ zero_extendqisi2
	lsl	r2, r2, #8
	orr	r2, r1, r2
	cmp	r3, r2
	bne	.L568
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #1252]
	orr	r3, r3, #131072
	orr	r3, r3, #256
	ldr	r2, [fp, #-48]
	str	r3, [r2, #1252]
	b	.L569
.L568:
	ldr	r3, [fp, #-48]
	ldrb	r3, [r3, #2130]	@ zero_extendqisi2
	cmp	r3, #255
	bne	.L570
	ldr	r3, [fp, #-48]
	ldrb	r3, [r3, #2131]	@ zero_extendqisi2
	cmp	r3, #255
	bne	.L570
	mov	r3, #0
	str	r3, [fp, #-40]
	b	.L571
.L574:
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-40]
	add	r3, r2, r3
	add	r3, r3, #2000
	add	r3, r3, #4
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L610
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
.L571:
	ldr	r3, [fp, #-40]
	cmp	r3, #17
	bls	.L574
	b	.L573
.L610:
	nop
.L573:
	ldr	r3, [fp, #-40]
	cmp	r3, #18
	bne	.L611
	ldr	r3, [fp, #-48]
	ldrb	r3, [r3, #2022]	@ zero_extendqisi2
	cmp	r3, #1
	bne	.L611
	ldr	r3, [fp, #-48]
	ldrb	r3, [r3, #2023]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L611
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #1252]
	orr	r2, r3, #256
	ldr	r3, [fp, #-48]
	str	r2, [r3, #1252]
	b	.L611
.L570:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #1368]
	cmp	r3, #4
	bls	.L569
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #1252]
	orr	r2, r3, #256
	ldr	r3, [fp, #-48]
	str	r2, [r3, #1252]
	ldr	r3, [fp, #-48]
	ldr	r2, .L615+20
	str	r2, [r3, #1372]
	b	.L569
.L611:
	nop
.L569:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #1252]
	and	r3, r3, #256
	cmp	r3, #0
	beq	.L565
	ldr	r0, [fp, #-48]
	bl	tulip_srom_decode
	mov	r3, r0
	cmp	r3, #0
	beq	.L565
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #1368]
	cmp	r3, #2
	beq	.L576
	ldr	r3, [fp, #-48]
	ldr	r2, .L615+20
	str	r2, [r3, #1372]
.L576:
	ldr	r3, [fp, #-48]
	ldrb	r3, [r3, #2023]	@ zero_extendqisi2
	cmp	r3, #1
	bls	.L577
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #1252]
	orr	r2, r3, #512
	ldr	r3, [fp, #-48]
	str	r2, [r3, #1252]
.L577:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #1372]
	cmp	r3, #0
	bne	.L612
	mvn	r3, #5
	b	.L608
.L565:
	ldr	r3, [fp, #-48]
	add	r3, r3, #2000
	add	r3, r3, #4
	ldr	r2, [fp, #-48]
	add	r1, r2, #2016
	add	r1, r1, #4
	mov	r2, #8
	mov	r0, r3
	bl	memcmp
	mov	r3, r0
	cmp	r3, #0
	beq	.L581
	mov	r3, #8
	str	r3, [fp, #-40]
	b	.L582
.L584:
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-40]
	add	r3, r2, r3
	add	r3, r3, #2000
	add	r3, r3, #4
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #255
	beq	.L583
	mvn	r3, #3
	b	.L608
.L583:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
.L582:
	ldr	r3, [fp, #-40]
	cmp	r3, #31
	bls	.L584
	ldr	r3, [fp, #-48]
	ldrb	r3, [r3, #2004]	@ zero_extendqisi2
	and	r3, r3, #3
	cmp	r3, #0
	beq	.L585
	mvn	r3, #3
	b	.L608
.L585:
	ldr	r3, [fp, #-48]
	ldrb	r3, [r3, #2004]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L586
	ldr	r3, [fp, #-48]
	ldrb	r3, [r3, #2005]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L586
	ldr	r3, [fp, #-48]
	ldrb	r3, [r3, #2006]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L586
	mvn	r3, #3
	b	.L608
.L586:
	ldr	r3, [fp, #-48]
	add	r3, r3, #2000
	add	r3, r3, #4
	ldr	r2, [fp, #-48]
	add	r0, r2, #1136
	mov	r2, #6
	mov	r1, r3
	bl	memmove
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #1252]
	orr	r2, r3, #8192
	ldr	r3, [fp, #-48]
	str	r2, [r3, #1252]
	b	.L580
.L581:
	mov	r3, #0
	str	r3, [fp, #-40]
	b	.L587
.L590:
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-40]
	add	r3, r2, r3
	add	r3, r3, #2000
	add	r3, r3, #4
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L588
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-40]
	add	r3, r2, r3
	add	r3, r3, #2000
	add	r3, r3, #4
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #255
	bne	.L613
.L588:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
.L587:
	ldr	r3, [fp, #-40]
	cmp	r3, #127
	bls	.L590
	b	.L589
.L613:
	nop
.L589:
	ldr	r3, [fp, #-40]
	cmp	r3, #128
	bne	.L591
	mov	r3, #0
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #16]
	sub	r3, r3, #1
	str	r3, [fp, #-32]
	b	.L592
.L594:
	ldr	r3, .L615+24
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	beq	.L593
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #1252]
	and	r3, r3, #9216
	cmp	r3, #8192
	beq	.L593
	mov	r3, #0
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-32]
	sub	r3, r3, #1
	str	r3, [fp, #-32]
.L592:
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bge	.L594
.L593:
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	beq	.L591
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #1252]
	and	r3, r3, #512
	cmp	r3, #0
	beq	.L591
	ldr	r3, [fp, #-28]
	ldr	r2, [r3, #1368]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #1368]
	cmp	r2, r3
	bne	.L591
	ldr	r3, [fp, #-28]
	ldr	r2, [r3, #2132]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #2132]
	cmp	r2, r3
	bne	.L591
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #1252]
	orr	r2, r3, #1024
	ldr	r3, [fp, #-48]
	str	r2, [r3, #1252]
	ldr	r3, [fp, #-28]
	ldr	r2, [r3, #1372]
	ldr	r3, [fp, #-48]
	str	r2, [r3, #1372]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1984
	add	r3, r3, #4
	ldr	r2, [fp, #-28]
	add	r1, r2, #1984
	add	r1, r1, #4
	mov	r2, #16
	mov	r0, r3
	bl	strlcpy
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #1372]
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L595
	ldr	r3, [fp, #-28]
	add	r1, r3, #2000
	add	r1, r1, #4
	ldr	r3, [fp, #-48]
	add	r3, r3, #2000
	add	r3, r3, #4
	mov	r2, #128
	mov	r0, r3
	bl	memmove
	ldr	r0, [fp, #-48]
	bl	tulip_srom_decode
	mov	r3, r0
	cmp	r3, #0
	bne	.L596
	mvn	r3, #4
	b	.L608
.L595:
	ldr	r3, [fp, #-28]
	add	r1, r3, #1136
	ldr	r3, [fp, #-48]
	add	r3, r3, #1136
	mov	r2, #6
	mov	r0, r3
	bl	memmove
	ldr	r3, [fp, #-48]
	ldrb	r2, [r3, #1141]	@ zero_extendqisi2
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #16]
	and	r1, r3, #255
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #16]
	and	r3, r3, #255
	sub	r3, r1, r3
	and	r3, r3, #255
	add	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-48]
	strb	r2, [r3, #1141]
.L596:
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #1252]
	and	r3, r3, #4096
	cmp	r3, #0
	beq	.L597
	ldr	r3, [fp, #-28]
	ldr	r2, [r3, #1376]
	ldr	r3, [fp, #-48]
	str	r2, [r3, #1376]
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-48]
	str	r2, [r3, #1376]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #1252]
	orr	r2, r3, #2048
	ldr	r3, [fp, #-48]
	str	r2, [r3, #1252]
.L597:
	mov	r3, #0
	b	.L608
.L591:
	ldr	r3, [fp, #-48]
	add	r3, r3, #2016
	add	r3, r3, #12
	mov	r2, #8
	ldr	r1, .L615+28
	mov	r0, r3
	bl	memcmp
	mov	r3, r0
	cmp	r3, #0
	beq	.L598
	mvn	r3, #2
	b	.L608
.L598:
	ldr	r3, [fp, #-48]
	ldrb	r3, [r3, #2019]	@ zero_extendqisi2
	strb	r3, [fp, #-16]
	ldr	r3, [fp, #-48]
	ldrb	r3, [r3, #2018]	@ zero_extendqisi2
	strb	r3, [fp, #-15]
	ldr	r3, [fp, #-48]
	ldrb	r3, [r3, #2017]	@ zero_extendqisi2
	strb	r3, [fp, #-14]
	ldr	r3, [fp, #-48]
	ldrb	r3, [r3, #2016]	@ zero_extendqisi2
	strb	r3, [fp, #-13]
	ldr	r3, [fp, #-48]
	ldrb	r3, [r3, #2015]	@ zero_extendqisi2
	strb	r3, [fp, #-12]
	ldr	r3, [fp, #-48]
	ldrb	r3, [r3, #2014]	@ zero_extendqisi2
	strb	r3, [fp, #-11]
	ldr	r3, [fp, #-48]
	ldrb	r3, [r3, #2013]	@ zero_extendqisi2
	strb	r3, [fp, #-10]
	ldr	r3, [fp, #-48]
	ldrb	r3, [r3, #2012]	@ zero_extendqisi2
	strb	r3, [fp, #-9]
	ldr	r3, [fp, #-48]
	add	r3, r3, #2000
	add	r3, r3, #4
	sub	r1, fp, #16
	mov	r2, #8
	mov	r0, r3
	bl	memcmp
	mov	r3, r0
	cmp	r3, #0
	beq	.L599
	mvn	r3, #1
	b	.L608
.L599:
	ldr	r3, [fp, #-48]
	add	r3, r3, #2000
	add	r3, r3, #4
	ldr	r2, [fp, #-48]
	add	r0, r2, #1136
	mov	r2, #6
	mov	r1, r3
	bl	memmove
	ldr	r3, [fp, #-48]
	add	r3, r3, #1136
	ldrh	r3, [r3]
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #1
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-44]
	cmp	r3, #65536
	bcc	.L600
	ldr	r3, [fp, #-44]
	sub	r3, r3, #65280
	sub	r3, r3, #255
	str	r3, [fp, #-44]
.L600:
	ldr	r3, [fp, #-48]
	add	r3, r3, #1136
	add	r3, r3, #2
	ldrh	r3, [r3]
	mov	r2, r3
	ldr	r3, [fp, #-44]
	add	r3, r3, r2
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-44]
	cmp	r3, #65536
	bcc	.L601
	ldr	r3, [fp, #-44]
	sub	r3, r3, #65280
	sub	r3, r3, #255
	str	r3, [fp, #-44]
.L601:
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #1
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-44]
	cmp	r3, #65536
	bcc	.L602
	ldr	r3, [fp, #-44]
	sub	r3, r3, #65280
	sub	r3, r3, #255
	str	r3, [fp, #-44]
.L602:
	ldr	r3, [fp, #-48]
	add	r3, r3, #1136
	add	r3, r3, #4
	ldrh	r3, [r3]
	mov	r2, r3
	ldr	r3, [fp, #-44]
	add	r3, r3, r2
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-44]
	ldr	r2, .L615+32
	cmp	r3, r2
	bls	.L603
	ldr	r3, [fp, #-44]
	sub	r3, r3, #65280
	sub	r3, r3, #255
	str	r3, [fp, #-44]
.L603:
	ldr	r3, [fp, #-48]
	add	r3, r3, #2000
	add	r3, r3, #10
	ldrh	r3, [r3]
	str	r3, [fp, #-20]
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	beq	.L614
	mvn	r3, #0
	b	.L608
.L612:
	nop
	b	.L580
.L614:
	nop
.L580:
	mov	r3, #0
	str	r3, [fp, #-40]
	b	.L604
.L607:
	ldr	r3, [fp, #-48]
	add	r0, r3, #1136
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #3
	ldr	r2, .L615+36
	add	r3, r3, r2
	add	r3, r3, #4
	mov	r2, #3
	mov	r1, r3
	bl	memcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L605
	ldr	r2, .L615+36
	ldr	r3, [fp, #-40]
	ldr	r3, [r2, r3, lsl #3]
	ldr	r0, [fp, #-48]
	blx	r3
	b	.L606
.L605:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
.L604:
	ldr	r2, .L615+36
	ldr	r3, [fp, #-40]
	ldr	r3, [r2, r3, lsl #3]
	cmp	r3, #0
	bne	.L607
.L606:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #1252]
	orr	r2, r3, #8192
	ldr	r3, [fp, #-48]
	str	r2, [r3, #1252]
	mov	r3, #0
.L608:
	ldr	r2, .L615
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L609
	bl	__stack_chk_fail
.L609:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L616:
	.align	2
.L615:
	.word	.LC32
	.word	9999
	.word	tulip_21040_boardsw
	.word	tulip_21041_boardsw
	.word	tulip_21140_eb_boardsw
	.word	tulip_2114x_isv_boardsw
	.word	de_cd
	.word	testpat.9831
	.word	65534
	.word	tulip_vendors
	.size	tulip_read_macaddr, .-tulip_read_macaddr
	.align	2
	.global	tulip_ifmedia_add
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_ifmedia_add, %function
tulip_ifmedia_add:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-8]
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L618
.L620:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-12]
	add	r2, r2, #320
	ldr	r3, [r3, r2, lsl #2]
	cmp	r3, #0
	beq	.L619
	ldr	r3, [fp, #-16]
	add	r1, r3, #80
	ldr	r2, .L625
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	mov	r0, #0
	str	r0, [sp, #4]
	mov	r0, #0
	str	r0, [sp]
	mov	r0, r1
	bl	ifmedia_add
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L619:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L618:
	ldr	r3, [fp, #-12]
	cmp	r3, #11
	bls	.L620
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L621
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #1252]
	orr	r2, r3, #16384
	ldr	r3, [fp, #-16]
	str	r2, [r3, #1252]
	ldr	r3, [fp, #-16]
	add	r1, r3, #80
	mov	r3, #0
	str	r3, [sp, #4]
	mov	r3, #0
	str	r3, [sp]
	ldr	r2, .L625+4
	mov	r3, #0
	mov	r0, r1
	bl	ifmedia_add
	ldr	r3, [fp, #-16]
	add	r1, r3, #80
	ldr	r2, .L625+4
	mov	r3, #0
	mov	r0, r1
	bl	ifmedia_set
	b	.L624
.L621:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #1328]
	cmp	r3, #0
	bne	.L623
	ldr	r3, [fp, #-16]
	add	r1, r3, #80
	mov	r3, #0
	str	r3, [sp, #4]
	mov	r3, #0
	str	r3, [sp]
	mov	r2, #256
	mov	r3, #0
	mov	r0, r1
	bl	ifmedia_add
	ldr	r3, [fp, #-16]
	add	r1, r3, #80
	mov	r2, #256
	mov	r3, #0
	mov	r0, r1
	bl	ifmedia_set
	b	.L624
.L623:
	ldr	r3, [fp, #-16]
	add	r1, r3, #80
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #1328]
	ldr	r2, .L625
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	mov	r0, r1
	bl	ifmedia_set
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #1248]
	orr	r2, r3, #16
	ldr	r3, [fp, #-16]
	str	r2, [r3, #1248]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #1328]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	tulip_linkup
.L624:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L626:
	.align	2
.L625:
	.word	tulip_media_to_ifmedia
	.word	258
	.size	tulip_ifmedia_add, .-tulip_ifmedia_add
	.align	2
	.global	tulip_ifmedia_change
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_ifmedia_change, %function
tulip_ifmedia_change:
	@ 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	r1, [fp, #-24]
	ldr	r1, [r1]
	str	r1, [fp, #-16]
	ldr	r1, [fp, #-16]
	ldr	r1, [r1, #1248]
	orr	r0, r1, #1024
	ldr	r1, [fp, #-16]
	str	r0, [r1, #1248]
	ldr	r1, [fp, #-16]
	mov	r0, #0
	str	r0, [r1, #1348]
	ldr	r1, [fp, #-16]
	mov	r0, #0
	str	r0, [r1, #1328]
	ldr	r1, [fp, #-16]
	add	r1, r1, #88
	ldmia	r1, {r0-r1}
	mov	r4, #255
	mov	r5, #0
	and	r2, r0, r4
	and	r3, r1, r5
	orrs	r3, r2, r3
	beq	.L628
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L629
.L632:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-20]
	add	r2, r2, #320
	ldr	r3, [r3, r2, lsl #2]
	cmp	r3, #0
	beq	.L630
	ldr	r3, [fp, #-16]
	add	r1, r3, #88
	ldmia	r1, {r0-r1}
	ldr	r2, .L633
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	cmp	r1, r3
	cmpeq	r0, r2
	bne	.L630
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #1248]
	orr	r2, r3, #16
	ldr	r3, [fp, #-16]
	str	r2, [r3, #1248]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #1248]
	bic	r2, r3, #33554432
	ldr	r3, [fp, #-16]
	str	r2, [r3, #1248]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	tulip_linkup
	mov	r3, #0
	b	.L631
.L630:
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L629:
	ldr	r3, [fp, #-20]
	cmp	r3, #11
	bls	.L632
.L628:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #1248]
	bic	r2, r3, #160
	ldr	r3, [fp, #-16]
	str	r2, [r3, #1248]
	ldr	r0, [fp, #-16]
	bl	tulip_reset
	ldr	r0, [fp, #-16]
	bl	tulip_init
	mov	r3, #0
.L631:
	mov	r0, r3
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L634:
	.align	2
.L633:
	.word	tulip_media_to_ifmedia
	.size	tulip_ifmedia_change, .-tulip_ifmedia_change
	.align	2
	.global	tulip_ifmedia_status
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_ifmedia_status, %function
tulip_ifmedia_status:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	push	{r4, r5, fp}
	add	fp, sp, #8
	sub	sp, sp, #20
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	ldr	r1, [fp, #-24]
	ldr	r1, [r1]
	str	r1, [fp, #-16]
	ldr	r1, [fp, #-16]
	ldr	r1, [r1, #1328]
	cmp	r1, #0
	beq	.L639
	ldr	ip, [fp, #-28]
	mov	r0, #1
	mov	r1, #0
	str	r0, [ip, #32]
	str	r1, [ip, #36]
	ldr	r1, [fp, #-16]
	ldr	r1, [r1, #1248]
	and	r1, r1, #262144
	cmp	r1, #0
	beq	.L638
	ldr	r1, [fp, #-28]
	add	r1, r1, #32
	ldmia	r1, {r0-r1}
	mov	r4, #2
	mov	r5, #0
	orr	r2, r0, r4
	orr	r3, r1, r5
	ldr	r1, [fp, #-28]
	str	r2, [r1, #32]
	str	r3, [r1, #36]
.L638:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #1328]
	ldr	r2, .L640
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	ldr	r1, [fp, #-28]
	str	r2, [r1, #40]
	str	r3, [r1, #44]
	b	.L635
.L639:
	nop
.L635:
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, r5, fp}
	bx	lr
.L641:
	.align	2
.L640:
	.word	tulip_media_to_ifmedia
	.size	tulip_ifmedia_status, .-tulip_ifmedia_status
	.align	2
	.global	tulip_alloc_rxmap
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_alloc_rxmap, %function
tulip_alloc_rxmap:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #460]
	sub	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #460]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #460]
	ldr	r2, [fp, #-8]
	add	r3, r3, #66
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	tulip_alloc_rxmap, .-tulip_alloc_rxmap
	.align	2
	.global	tulip_free_rxmap
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_free_rxmap, %function
tulip_free_rxmap:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #460]
	add	r1, r3, #1
	ldr	r2, [fp, #-8]
	str	r1, [r2, #460]
	ldr	r2, [fp, #-8]
	add	r3, r3, #66
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-12]
	str	r2, [r3, #4]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	tulip_free_rxmap, .-tulip_free_rxmap
	.align	2
	.global	tulip_alloc_txmap
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_alloc_txmap, %function
tulip_alloc_txmap:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #260]
	sub	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #260]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #260]
	ldr	r2, [fp, #-8]
	add	r3, r3, #32
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	tulip_alloc_txmap, .-tulip_alloc_txmap
	.align	2
	.global	tulip_free_txmap
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_free_txmap, %function
tulip_free_txmap:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #260]
	add	r1, r3, #1
	ldr	r2, [fp, #-8]
	str	r1, [r2, #260]
	ldr	r2, [fp, #-8]
	add	r3, r3, #32
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-12]
	str	r2, [r3, #4]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	tulip_free_txmap, .-tulip_free_txmap
	.align	2
	.global	tulip_addr_filter
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_addr_filter, %function
tulip_addr_filter:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-40]
	ldr	r3, [fp, #-40]
	add	r3, r3, #464
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #1248]
	bic	r2, r3, #70
	ldr	r3, [fp, #-40]
	str	r2, [r3, #1248]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #1248]
	orr	r3, r3, #16384
	orr	r3, r3, #1
	ldr	r2, [fp, #-40]
	str	r3, [r2, #1248]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #1260]
	bic	r2, r3, #2
	ldr	r3, [fp, #-40]
	str	r2, [r3, #1260]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #1256]
	bic	r2, r3, #256
	ldr	r3, [fp, #-40]
	str	r2, [r3, #1256]
	ldr	r3, [fp, #-40]
	add	r3, r3, #564
	add	r3, r3, #2
	ldrsh	r3, [r3]
	bic	r3, r3, #512
	lsl	r3, r3, #16
	asr	r2, r3, #16
	ldr	r3, [fp, #-40]
	add	r3, r3, #564
	add	r3, r3, #2
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #1148]
	cmp	r3, #14
	ble	.L649
	ldr	r3, [fp, #-40]
	add	r3, r3, #1792
	add	r3, r3, #4
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #1252]
	and	r3, r3, #128
	cmp	r3, #0
	beq	.L650
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #1248]
	orr	r2, r3, #4
	ldr	r3, [fp, #-40]
	str	r2, [r3, #1248]
	b	.L651
.L650:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #1248]
	orr	r2, r3, #2
	ldr	r3, [fp, #-40]
	str	r2, [r3, #1248]
.L651:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1792
	add	r3, r3, #4
	mov	r0, r3
	mov	r3, #192
	mov	r2, r3
	mov	r1, #0
	bl	memset
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #688]
	cmp	r3, #0
	ble	.L652
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #1248]
	orr	r2, r3, #64
	ldr	r3, [fp, #-40]
	str	r2, [r3, #1248]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #1248]
	bic	r2, r3, #6
	ldr	r3, [fp, #-40]
	str	r2, [r3, #1248]
	b	.L653
.L652:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #680]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	beq	.L655
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-32]
	b	.L655
.L656:
	ldr	r3, [fp, #-28]
	mov	r1, #6
	mov	r0, r3
	bl	ether_crc32_le
	mov	r3, r0
	lsl	r3, r3, #23
	lsr	r3, r3, #23
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	lsr	r3, r3, #4
	lsl	r3, r3, #2
	ldr	r2, [fp, #-12]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	and	r3, r3, #15
	mov	r1, #1
	lsl	r3, r1, r3
	mov	r0, r3
	ldr	r3, [fp, #-8]
	lsr	r3, r3, #4
	lsl	r3, r3, #2
	ldr	r1, [fp, #-12]
	add	r3, r1, r3
	orr	r2, r2, r0
	str	r2, [r3]
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	beq	.L655
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-32]
.L655:
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L656
.L653:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #1248]
	and	r3, r3, #64
	cmp	r3, #0
	bne	.L649
	mov	r1, #6
	ldr	r0, .L669
	bl	ether_crc32_le
	mov	r3, r0
	lsl	r3, r3, #23
	lsr	r3, r3, #23
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	lsr	r3, r3, #4
	lsl	r3, r3, #2
	ldr	r2, [fp, #-12]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	and	r3, r3, #15
	mov	r1, #1
	lsl	r3, r1, r3
	mov	r0, r3
	ldr	r3, [fp, #-8]
	lsr	r3, r3, #4
	lsl	r3, r3, #2
	ldr	r1, [fp, #-12]
	add	r3, r1, r3
	orr	r2, r2, r0
	str	r2, [r3]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #1248]
	and	r3, r3, #4
	cmp	r3, #0
	beq	.L657
	ldr	r3, [fp, #-40]
	add	r3, r3, #1136
	mov	r1, #6
	mov	r0, r3
	bl	ether_crc32_le
	mov	r3, r0
	lsl	r3, r3, #23
	lsr	r3, r3, #23
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	lsr	r3, r3, #4
	lsl	r3, r3, #2
	ldr	r2, [fp, #-12]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	and	r3, r3, #15
	mov	r1, #1
	lsl	r3, r1, r3
	mov	r0, r3
	ldr	r3, [fp, #-8]
	lsr	r3, r3, #4
	lsl	r3, r3, #2
	ldr	r1, [fp, #-12]
	add	r3, r1, r3
	orr	r2, r2, r0
	str	r2, [r3]
	b	.L649
.L657:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1136
	ldrh	r2, [r3]
	ldr	r3, [fp, #-12]
	add	r3, r3, #156
	str	r2, [r3]
	ldr	r3, [fp, #-40]
	add	r3, r3, #1136
	add	r3, r3, #2
	ldrh	r2, [r3]
	ldr	r3, [fp, #-12]
	add	r3, r3, #160
	str	r2, [r3]
	ldr	r3, [fp, #-40]
	add	r3, r3, #1136
	add	r3, r3, #4
	ldrh	r2, [r3]
	ldr	r3, [fp, #-12]
	add	r3, r3, #164
	str	r2, [r3]
.L649:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #1248]
	and	r3, r3, #6
	cmp	r3, #0
	bne	.L658
	ldr	r3, [fp, #-40]
	add	r3, r3, #1792
	add	r3, r3, #4
	str	r3, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #688]
	cmp	r3, #0
	ble	.L659
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #1248]
	orr	r2, r3, #64
	ldr	r3, [fp, #-40]
	str	r2, [r3, #1248]
.L659:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #1248]
	and	r3, r3, #64
	cmp	r3, #0
	bne	.L665
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #680]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	beq	.L662
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-32]
	b	.L662
.L664:
	ldr	r3, [fp, #-28]
	ldrh	r1, [r3]
	ldr	r3, [fp, #-24]
	add	r2, r3, #4
	str	r2, [fp, #-24]
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-28]
	add	r3, r3, #2
	ldrh	r1, [r3]
	ldr	r3, [fp, #-24]
	add	r2, r3, #4
	str	r2, [fp, #-24]
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-28]
	add	r3, r3, #4
	ldrh	r1, [r3]
	ldr	r3, [fp, #-24]
	add	r2, r3, #4
	str	r2, [fp, #-24]
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	beq	.L663
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-32]
.L663:
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L662:
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L664
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-24]
	add	r2, r3, #4
	str	r2, [fp, #-24]
	ldr	r2, .L669+4
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	add	r2, r3, #4
	str	r2, [fp, #-24]
	ldr	r2, .L669+4
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	add	r2, r3, #4
	str	r2, [fp, #-24]
	ldr	r2, .L669+4
	str	r2, [r3]
	b	.L665
.L666:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1136
	ldrh	r1, [r3]
	ldr	r3, [fp, #-24]
	add	r2, r3, #4
	str	r2, [fp, #-24]
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-40]
	add	r3, r3, #1136
	add	r3, r3, #2
	ldrh	r1, [r3]
	ldr	r3, [fp, #-24]
	add	r2, r3, #4
	str	r2, [fp, #-24]
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-40]
	add	r3, r3, #1136
	add	r3, r3, #4
	ldrh	r1, [r3]
	ldr	r3, [fp, #-24]
	add	r2, r3, #4
	str	r2, [fp, #-24]
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L665:
	ldr	r3, [fp, #-20]
	cmp	r3, #15
	ble	.L666
.L658:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #1248]
	and	r3, r3, #64
	cmp	r3, #0
	beq	.L668
	ldr	r3, [fp, #-40]
	add	r3, r3, #564
	add	r3, r3, #2
	ldrsh	r3, [r3]
	orr	r3, r3, #512
	lsl	r3, r3, #16
	asr	r2, r3, #16
	ldr	r3, [fp, #-40]
	add	r3, r3, #564
	add	r3, r3, #2
	strh	r2, [r3]	@ movhi
.L668:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L670:
	.align	2
.L669:
	.word	etherbroadcastaddr
	.word	65535
	.size	tulip_addr_filter, .-tulip_addr_filter
	.align	2
	.global	tulip_reset
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_reset, %function
tulip_reset:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, fp, lr}
	add	fp, sp, #16
	sub	sp, sp, #52
	str	r0, [fp, #-56]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #1248]
	and	r3, r3, #512
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #1248]
	and	r3, r3, #268435456
	cmp	r3, #0
	bne	.L672
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #1372]
	ldr	r3, [r3, #16]
	cmp	r3, #0
	beq	.L672
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #1372]
	ldr	r3, [r3, #16]
	ldr	r0, [fp, #-56]
	blx	r3
.L672:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-56]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-56]
	ldr	r1, [r2, #1184]
	mov	r2, #1
	blx	r3
	ldr	r3, .L693
	ldr	r3, [r3]
	mov	r0, #10
	blx	r3
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	bne	.L673
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #1248]
	orr	r2, r3, #512
	ldr	r3, [fp, #-56]
	str	r2, [r3, #1248]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #1248]
	bic	r3, r3, #524288
	bic	r3, r3, #1024
	ldr	r2, [fp, #-56]
	str	r3, [r2, #1248]
	ldr	r3, [fp, #-56]
	add	r3, r3, #872
	mov	r0, r3
	bl	ifq_clr_oactive
.L673:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-56]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-56]
	ldr	r1, [r2, #1200]
	ldr	r2, [fp, #-56]
	ldr	r2, [r2, #128]
	ldr	r2, [r2, #32]
	blx	r3
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-56]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-56]
	ldr	r1, [r2, #1196]
	ldr	r2, [fp, #-56]
	ldr	r2, [r2, #264]
	ldr	r2, [r2, #32]
	blx	r3
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-56]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-56]
	ldr	r1, [r2, #1184]
	ldr	r2, .L693+4
	blx	r3
	ldr	r3, [fp, #-56]
	mov	r2, #0
	str	r2, [r3, #1268]
.L676:
	ldr	r3, [fp, #-56]
	add	r3, r3, #1376
	add	r3, r3, #4
	mov	r0, r3
	bl	ml_dequeue
	str	r0, [fp, #-40]
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	beq	.L690
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #20]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #120]
	ldr	r3, [r3, #28]
	ldr	r2, [fp, #-56]
	ldr	r2, [r2, #120]
	ldr	r1, [fp, #-36]
	mov	r0, r2
	blx	r3
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-56]
	bl	tulip_free_txmap
	ldr	r0, [fp, #-40]
	bl	m_freem
	b	.L676
.L690:
	nop
	ldr	r3, [fp, #-56]
	add	r3, r3, #1488
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-32]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-32]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	str	r3, [fp, #-48]
	b	.L677
.L678:
	ldr	r3, [fp, #-48]
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	add	r3, r3, #16
	str	r3, [fp, #-48]
.L677:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-48]
	cmp	r2, r3
	bcc	.L678
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #120]
	ldr	r4, [r3, #32]
	ldr	r3, [fp, #-56]
	ldr	r0, [r3, #120]
	ldr	r3, [fp, #-56]
	ldr	r1, [r3, #128]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #128]
	ldr	r3, [r3, #24]
	mov	r2, #5
	str	r2, [sp]
	mov	r2, #0
	blx	r4
	ldr	r3, [fp, #-56]
	add	r3, r3, #1456
	add	r3, r3, #8
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-32]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-32]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	str	r3, [fp, #-48]
	b	.L679
.L680:
	ldr	r3, [fp, #-48]
	mov	r2, #0
	str	r2, [r3]
	ldr	r2, [fp, #-48]
	ldrh	r3, [r2, #4]	@ movhi
	bic	r3, r3, #2032
	bic	r3, r3, #15
	strh	r3, [r2, #4]	@ movhi
	ldr	r3, [fp, #-48]
	mov	r2, #0
	str	r2, [r3, #8]
	ldr	r2, [fp, #-48]
	ldr	r3, [r2, #4]
	bic	r3, r3, #4177920
	bic	r3, r3, #14336
	str	r3, [r2, #4]
	ldr	r3, [fp, #-48]
	mov	r2, #0
	str	r2, [r3, #12]
	ldr	r3, [fp, #-48]
	add	r3, r3, #16
	str	r3, [fp, #-48]
.L679:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-48]
	cmp	r2, r3
	bcc	.L680
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #120]
	ldr	r4, [r3, #32]
	ldr	r3, [fp, #-56]
	ldr	r0, [r3, #120]
	ldr	r3, [fp, #-56]
	ldr	r1, [r3, #264]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #264]
	ldr	r3, [r3, #24]
	mov	r2, #5
	str	r2, [sp]
	mov	r2, #0
	blx	r4
.L683:
	ldr	r3, [fp, #-56]
	add	r3, r3, #1392
	mov	r0, r3
	bl	ml_dequeue
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	beq	.L691
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #20]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #120]
	ldr	r3, [r3, #28]
	ldr	r2, [fp, #-56]
	ldr	r2, [r2, #120]
	ldr	r1, [fp, #-24]
	mov	r0, r2
	blx	r3
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-56]
	bl	tulip_free_rxmap
	ldr	r0, [fp, #-28]
	bl	m_freem
	b	.L683
.L691:
	nop
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	bne	.L692
	ldr	r3, [fp, #-56]
	ldr	r2, [r3, #1256]
	ldr	r3, .L693+8
	orr	r3, r2, r3
	ldr	r2, [fp, #-56]
	str	r3, [r2, #1256]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #1248]
	and	r3, r3, #268435456
	cmp	r3, #0
	bne	.L686
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #1372]
	ldr	r3, [r3, #8]
	ldr	r0, [fp, #-56]
	blx	r3
.L686:
	ldr	r0, [fp, #-56]
	bl	tulip_media_print
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #1252]
	and	r3, r3, #32
	cmp	r3, #0
	beq	.L687
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #56]
	ldr	r4, [r3, #56]
	ldr	r3, [fp, #-56]
	ldr	r5, [r3, #60]
	ldr	r3, [fp, #-56]
	ldr	r6, [r3, #1232]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-56]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-56]
	ldr	r2, [r2, #1232]
	mov	r1, r2
	blx	r3
	mov	r3, r0
	mov	r2, r3
	mov	r1, r6
	mov	r0, r5
	blx	r4
.L687:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #1248]
	bic	r3, r3, #776
	bic	r3, r3, #1
	ldr	r2, [fp, #-56]
	str	r3, [r2, #1248]
	ldr	r0, [fp, #-56]
	bl	tulip_addr_filter
	b	.L671
.L692:
	nop
.L671:
	sub	sp, fp, #16
	@ sp needed
	pop	{r4, r5, r6, fp, pc}
.L694:
	.align	2
.L693:
	.word	delay_func
	.word	2115584
	.word	106859
	.size	tulip_reset, .-tulip_reset
	.align	2
	.global	tulip_init
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_init, %function
tulip_init:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	add	r3, r3, #564
	add	r3, r3, #2
	ldrsh	r3, [r3]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L696
	ldr	r3, [fp, #-8]
	add	r3, r3, #564
	add	r3, r3, #2
	ldrsh	r3, [r3]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	and	r3, r3, #64
	cmp	r3, #0
	bne	.L697
	ldr	r0, [fp, #-8]
	bl	tulip_reset
.L697:
	ldr	r3, [fp, #-8]
	add	r3, r3, #564
	add	r3, r3, #2
	ldrsh	r3, [r3]
	orr	r3, r3, #64
	lsl	r3, r3, #16
	asr	r2, r3, #16
	ldr	r3, [fp, #-8]
	add	r3, r3, #564
	add	r3, r3, #2
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-8]
	add	r3, r3, #564
	add	r3, r3, #2
	ldrsh	r3, [r3]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	and	r3, r3, #256
	cmp	r3, #0
	beq	.L698
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #1248]
	orr	r2, r3, #536870912
	ldr	r3, [fp, #-8]
	str	r2, [r3, #1248]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #1260]
	orr	r2, r3, #64
	ldr	r3, [fp, #-8]
	str	r2, [r3, #1260]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #1256]
	orr	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #1256]
	b	.L699
.L698:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #1248]
	bic	r2, r3, #536870912
	ldr	r3, [fp, #-8]
	str	r2, [r3, #1248]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #1260]
	bic	r2, r3, #64
	ldr	r3, [fp, #-8]
	str	r2, [r3, #1260]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #1248]
	and	r3, r3, #64
	cmp	r3, #0
	beq	.L700
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #1260]
	orr	r2, r3, #128
	ldr	r3, [fp, #-8]
	str	r2, [r3, #1260]
	b	.L699
.L700:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #1260]
	bic	r2, r3, #128
	ldr	r3, [fp, #-8]
	str	r2, [r3, #1260]
.L699:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #1260]
	orr	r2, r3, #8192
	ldr	r3, [fp, #-8]
	str	r2, [r3, #1260]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #1248]
	and	r3, r3, #33
	cmp	r3, #0
	bne	.L701
	ldr	r0, [fp, #-8]
	bl	tulip_rx_intr
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #1260]
	orr	r2, r3, #2
	ldr	r3, [fp, #-8]
	str	r2, [r3, #1260]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #1256]
	orr	r2, r3, #256
	ldr	r3, [fp, #-8]
	str	r2, [r3, #1256]
	b	.L702
.L701:
	ldr	r3, [fp, #-8]
	add	r3, r3, #872
	mov	r0, r3
	bl	ifq_set_oactive
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #1260]
	bic	r2, r3, #2
	ldr	r3, [fp, #-8]
	str	r2, [r3, #1260]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #1256]
	bic	r2, r3, #256
	ldr	r3, [fp, #-8]
	str	r2, [r3, #1256]
.L702:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-8]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-8]
	ldr	r1, [r2, #1212]
	ldr	r2, [fp, #-8]
	ldr	r2, [r2, #1256]
	blx	r3
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-8]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-8]
	ldr	r1, [r2, #1208]
	ldr	r2, [fp, #-8]
	ldr	r2, [r2, #1260]
	blx	r3
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #1248]
	and	r3, r3, #33
	cmp	r3, #1
	bne	.L704
	ldr	r0, [fp, #-8]
	bl	tulip_txput_setup
	b	.L704
.L696:
	ldr	r3, [fp, #-8]
	add	r3, r3, #564
	add	r3, r3, #2
	ldrsh	r3, [r3]
	bic	r3, r3, #64
	lsl	r3, r3, #16
	asr	r2, r3, #16
	ldr	r3, [fp, #-8]
	add	r3, r3, #564
	add	r3, r3, #2
	strh	r2, [r3]	@ movhi
	ldr	r0, [fp, #-8]
	bl	tulip_reset
.L704:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	tulip_init, .-tulip_init
	.section	.rodata
	.align	2
.LC33:
	.ascii	"%s: tulip_rxq empty\000"
	.align	2
.LC34:
	.ascii	"%s%d: unable to load rx map, error = %d\012\000"
	.align	2
.LC35:
	.ascii	"tulip_rx_intr\000"
	.align	2
.LC36:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	tulip_rx_intr
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_rx_intr, %function
tulip_rx_intr:
	@ args = 0, pretend = 0, frame = 80
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, fp, lr}
	add	fp, sp, #16
	sub	sp, sp, #92
	str	r0, [fp, #-96]
	ldr	r3, .L745
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	mov	r3,#0
	ldr	r3, [fp, #-96]
	add	r3, r3, #1456
	add	r3, r3, #8
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-96]
	add	r3, r3, #464
	str	r3, [fp, #-52]
	mov	r3, #0
	str	r3, [fp, #-36]
	mov	r3, #0
	str	r3, [fp, #-32]
	mov	r3, #0
	str	r3, [fp, #-28]
	mov	r3, #1
	str	r3, [fp, #-88]
.L738:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-84]
	mov	r3, #0
	str	r3, [fp, #-80]
	mov	r3, #0
	str	r3, [fp, #-76]
	mov	r3, #0
	str	r3, [fp, #-72]
	mov	r3, #0
	str	r3, [fp, #-68]
	mov	r3, #0
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-88]
	cmp	r3, #0
	beq	.L706
	ldr	r3, [fp, #-96]
	ldr	r3, [r3, #1400]
	cmp	r3, #31
	bls	.L741
.L706:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-84]
	cmp	r2, r3
	beq	.L742
	ldr	r3, [fp, #-96]
	ldr	r3, [r3, #120]
	ldr	r6, [r3, #32]
	ldr	r3, [fp, #-96]
	ldr	r0, [r3, #120]
	ldr	r3, [fp, #-96]
	ldr	r1, [r3, #264]
	ldr	r3, [fp, #-96]
	ldr	r3, [r3, #2144]
	ldr	r2, [fp, #-84]
	sub	r3, r2, r3
	mov	r2, r3
	mov	r3, #10
	str	r3, [sp]
	mov	r3, #16
	blx	r6
	ldr	r3, [fp, #-84]
	ldr	r2, [r3]
	ldr	r3, .L745+4
	and	r3, r3, r2
	cmp	r3, #768
	bne	.L710
	ldr	r3, [fp, #-96]
	ldr	r3, [r3, #1400]
	cmp	r3, #0
	bne	.L711
	ldr	r3, [fp, #-96]
	add	r3, r3, #520
	mov	r1, r3
	ldr	r0, .L745+8
	bl	panic
.L711:
	ldr	r3, [fp, #-96]
	add	r3, r3, #1392
	mov	r0, r3
	bl	ml_dequeue
	str	r0, [fp, #-72]
	ldr	r3, [fp, #-72]
	str	r3, [fp, #-68]
	b	.L712
.L710:
	ldr	r3, [fp, #-84]
	ldr	r3, [r3]
	cmp	r3, #0
	blt	.L743
	b	.L714
.L718:
	ldr	r3, [fp, #-84]
	add	r3, r3, #16
	str	r3, [fp, #-84]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-84]
	cmp	r2, r3
	bne	.L715
	ldr	r3, [fp, #-56]
	ldr	r3, [r3]
	str	r3, [fp, #-84]
.L715:
	ldr	r3, [fp, #-96]
	ldr	r3, [r3, #120]
	ldr	r6, [r3, #32]
	ldr	r3, [fp, #-96]
	ldr	r0, [r3, #120]
	ldr	r3, [fp, #-96]
	ldr	r1, [r3, #264]
	ldr	r3, [fp, #-96]
	ldr	r3, [r3, #2144]
	ldr	r2, [fp, #-84]
	sub	r3, r2, r3
	mov	r2, r3
	mov	r3, #10
	str	r3, [sp]
	mov	r3, #16
	blx	r6
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-84]
	cmp	r2, r3
	beq	.L744
	ldr	r3, [fp, #-84]
	ldr	r3, [r3]
	cmp	r3, #0
	blt	.L744
	ldr	r3, [fp, #-80]
	add	r3, r3, #1
	str	r3, [fp, #-80]
.L714:
	ldr	r3, [fp, #-84]
	ldr	r3, [r3]
	and	r3, r3, #256
	cmp	r3, #0
	beq	.L718
	ldr	r3, [fp, #-96]
	add	r3, r3, #1392
	mov	r0, r3
	bl	ml_dequeue
	str	r0, [fp, #-72]
	ldr	r3, [fp, #-72]
	str	r3, [fp, #-68]
	b	.L719
.L720:
	ldr	r3, [fp, #-68]
	ldr	r3, [r3, #20]
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-96]
	ldr	r3, [r3, #120]
	ldr	r6, [r3, #32]
	ldr	r3, [fp, #-96]
	ldr	r0, [r3, #120]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #24]
	mov	r2, #10
	str	r2, [sp]
	mov	r2, #0
	ldr	r1, [fp, #-48]
	blx	r6
	ldr	r3, [fp, #-96]
	ldr	r3, [r3, #120]
	ldr	r3, [r3, #28]
	ldr	r2, [fp, #-96]
	ldr	r2, [r2, #120]
	ldr	r1, [fp, #-48]
	mov	r0, r2
	blx	r3
	ldr	r1, [fp, #-48]
	ldr	r0, [fp, #-96]
	bl	tulip_free_rxmap
	ldr	r3, [fp, #-68]
	mov	r2, #2032
	str	r2, [r3, #12]
	ldr	r3, [fp, #-76]
	add	r3, r3, #2032
	str	r3, [fp, #-76]
	ldr	r3, [fp, #-96]
	add	r3, r3, #1392
	mov	r0, r3
	bl	ml_dequeue
	mov	r2, r0
	ldr	r3, [fp, #-68]
	str	r2, [r3]
	ldr	r3, [fp, #-68]
	ldr	r3, [r3]
	str	r3, [fp, #-68]
	ldr	r3, [fp, #-80]
	sub	r3, r3, #1
	str	r3, [fp, #-80]
.L719:
	ldr	r3, [fp, #-80]
	cmp	r3, #0
	bgt	.L720
.L712:
	ldr	r3, [fp, #-84]
	ldr	r3, [r3]
	lsr	r3, r3, #16
	lsl	r3, r3, #17
	lsr	r3, r3, #17
	sub	r3, r3, #4
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-96]
	ldr	r3, [r3, #1248]
	and	r3, r3, #67108864
	cmp	r3, #0
	bne	.L721
	ldr	r3, [fp, #-84]
	ldr	r3, [r3]
	and	r3, r3, #32768
	cmp	r3, #0
	bne	.L721
	ldr	r2, [fp, #-80]
	ldr	r3, [fp, #-76]
	sub	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-68]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-68]
	ldr	r3, [r3, #20]
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-96]
	ldr	r3, [r3, #120]
	ldr	r6, [r3, #32]
	ldr	r3, [fp, #-96]
	ldr	r0, [r3, #120]
	ldr	r3, [fp, #-68]
	ldr	r3, [r3, #12]
	mov	r2, #10
	str	r2, [sp]
	mov	r2, #0
	ldr	r1, [fp, #-48]
	blx	r6
	ldr	r3, [fp, #-96]
	ldr	r3, [r3, #120]
	ldr	r3, [r3, #28]
	ldr	r2, [fp, #-96]
	ldr	r2, [r2, #120]
	ldr	r1, [fp, #-48]
	mov	r0, r2
	blx	r3
	ldr	r1, [fp, #-48]
	ldr	r0, [fp, #-96]
	bl	tulip_free_rxmap
	ldr	r3, [fp, #-96]
	ldr	r3, [r3, #1248]
	orr	r2, r3, #256
	ldr	r3, [fp, #-96]
	str	r2, [r3, #1248]
	mov	r3, #1
	str	r3, [fp, #-64]
	b	.L722
.L721:
	ldr	r3, [fp, #-52]
	add	r3, r3, #144
	ldmia	r3, {r2-r3}
	adds	r4, r2, #1
	adc	r5, r3, #0
	ldr	r3, [fp, #-52]
	str	r4, [r3, #144]
	str	r5, [r3, #148]
	ldr	r3, [fp, #-84]
	ldr	r2, [r3]
	ldr	r3, .L745+12
	and	r3, r3, r2
	cmp	r3, #0
	beq	.L723
	ldr	r3, [fp, #-96]
	ldr	r3, [r3, #1460]
	add	r2, r3, #1
	ldr	r3, [fp, #-96]
	str	r2, [r3, #1460]
.L723:
	ldr	r3, [fp, #-68]
	ldr	r3, [r3, #20]
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-96]
	ldr	r3, [r3, #120]
	ldr	r3, [r3, #28]
	ldr	r2, [fp, #-96]
	ldr	r2, [r2, #120]
	ldr	r1, [fp, #-48]
	mov	r0, r2
	blx	r3
	ldr	r1, [fp, #-48]
	ldr	r0, [fp, #-96]
	bl	tulip_free_rxmap
.L722:
	ldr	r3, [fp, #-84]
	add	r3, r3, #16
	str	r3, [fp, #-84]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-84]
	cmp	r2, r3
	bne	.L724
	ldr	r3, [fp, #-56]
	ldr	r3, [r3]
	str	r3, [fp, #-84]
.L724:
	ldr	r3, [fp, #-56]
	ldr	r2, [fp, #-84]
	str	r2, [r3, #8]
	b	.L707
.L741:
	nop
.L707:
	ldr	r3, [fp, #-64]
	cmp	r3, #0
	bne	.L725
	ldr	r3, [fp, #-72]
	cmp	r3, #0
	bne	.L726
.L725:
	mov	r1, #1
	mov	r0, #2
	bl	m_gethdr
	str	r0, [fp, #-60]
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	beq	.L727
	mov	r2, #2048
	mov	r1, #2
	ldr	r0, [fp, #-60]
	bl	m_clget
	ldr	r3, [fp, #-60]
	ldrh	r3, [r3, #18]
	and	r3, r3, #1
	cmp	r3, #0
	bne	.L727
	ldr	r0, [fp, #-60]
	bl	m_freem
	mov	r3, #0
	str	r3, [fp, #-60]
.L727:
	ldr	r3, [fp, #-64]
	cmp	r3, #0
	beq	.L728
	ldr	r3, [fp, #-72]
	ldr	r2, [fp, #-80]
	str	r2, [r3, #28]
	sub	r3, fp, #36
	ldr	r1, [fp, #-72]
	mov	r0, r3
	bl	ml_enqueue
.L728:
	ldr	r3, [fp, #-60]
	str	r3, [fp, #-72]
.L726:
	ldr	r3, [fp, #-72]
	cmp	r3, #0
	bne	.L729
	mov	r3, #0
	str	r3, [fp, #-88]
	ldr	r3, [fp, #-96]
	ldr	r3, [r3, #1248]
	orr	r2, r3, #524288
	ldr	r3, [fp, #-96]
	str	r2, [r3, #1248]
	b	.L730
.L729:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-96]
	ldr	r3, [r3, #460]
	cmp	r3, #0
	beq	.L731
	ldr	r0, [fp, #-96]
	bl	tulip_alloc_rxmap
	str	r0, [fp, #-48]
	ldr	r3, [fp, #-72]
	ldr	r2, [fp, #-48]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-96]
	ldr	r3, [r3, #120]
	ldr	r6, [r3, #12]
	ldr	r3, [fp, #-96]
	ldr	r0, [r3, #120]
	ldr	r3, [fp, #-72]
	ldr	r2, [r3, #8]
	mov	r3, #1
	str	r3, [sp, #4]
	mov	r3, #0
	str	r3, [sp]
	mov	r3, #2032
	ldr	r1, [fp, #-48]
	blx	r6
	str	r0, [fp, #-40]
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	beq	.L734
	b	.L740
.L731:
	ldr	r0, [fp, #-72]
	bl	m_freem
	ldr	r3, [fp, #-96]
	ldr	r3, [r3, #1248]
	orr	r2, r3, #524288
	ldr	r3, [fp, #-96]
	str	r2, [r3, #1248]
	b	.L733
.L740:
	ldr	r3, [fp, #-96]
	ldr	r3, [r3, #12]
	ldr	r3, [r3, #4]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-96]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-40]
	ldr	r0, .L745+16
	bl	printf
	ldr	r0, .L745+20
	bl	panic
.L734:
	ldr	r3, [fp, #-48]
	ldr	r2, [r3, #32]
	ldr	r3, [fp, #-44]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #36]
	lsl	r3, r3, #21
	lsr	r3, r3, #21
	lsl	r3, r3, #16
	lsr	r1, r3, #16
	ldr	r2, [fp, #-44]
	ldrh	r3, [r2, #4]	@ movhi
	lsl	r1, r1, #21
	lsr	r3, r3, #11
	orr	r3, r3, r1
	ror	r3, r3, #21
	strh	r3, [r2, #4]	@ movhi
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #28]
	cmp	r3, #2
	bne	.L735
	ldr	r3, [fp, #-48]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-44]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #52]
	lsl	r3, r3, #21
	lsr	r3, r3, #21
	lsl	r3, r3, #16
	lsr	r1, r3, #16
	ldr	r0, [fp, #-44]
	ldr	r2, [r0, #4]
	ldr	r3, .L745+24
	and	r1, r1, r3
	lsl	r3, r3, #11
	bic	r3, r2, r3
	lsl	r1, r1, #11
	orr	r2, r1, r3
	str	r2, [r0, #4]
	b	.L736
.L735:
	ldr	r3, [fp, #-44]
	mov	r2, #0
	str	r2, [r3, #12]
	ldr	r2, [fp, #-44]
	ldr	r3, [r2, #4]
	bic	r3, r3, #4177920
	bic	r3, r3, #14336
	str	r3, [r2, #4]
.L736:
	ldr	r3, [fp, #-96]
	ldr	r3, [r3, #120]
	ldr	r6, [r3, #32]
	ldr	r3, [fp, #-96]
	ldr	r0, [r3, #120]
	ldr	r3, [fp, #-96]
	ldr	r1, [r3, #264]
	ldr	r3, [fp, #-96]
	ldr	r3, [r3, #2144]
	ldr	r2, [fp, #-44]
	sub	r3, r2, r3
	mov	r2, r3
	mov	r3, #10
	str	r3, [sp]
	mov	r3, #16
	blx	r6
	ldr	r3, [fp, #-44]
	mov	r2, #-2147483648
	str	r2, [r3]
	ldr	r3, [fp, #-96]
	ldr	r3, [r3, #120]
	ldr	r6, [r3, #32]
	ldr	r3, [fp, #-96]
	ldr	r0, [r3, #120]
	ldr	r3, [fp, #-96]
	ldr	r1, [r3, #264]
	ldr	r3, [fp, #-96]
	ldr	r3, [r3, #2144]
	ldr	r2, [fp, #-44]
	sub	r3, r2, r3
	mov	r2, r3
	mov	r3, #10
	str	r3, [sp]
	mov	r3, #4
	blx	r6
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #12]
	add	r2, r3, #16
	ldr	r3, [fp, #-56]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-56]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #4]
	cmp	r2, r3
	bne	.L737
	ldr	r3, [fp, #-56]
	ldr	r2, [r3]
	ldr	r3, [fp, #-56]
	str	r2, [r3, #12]
.L737:
	ldr	r3, [fp, #-72]
	ldr	r3, [r3]
	str	r3, [fp, #-68]
	ldr	r3, [fp, #-72]
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-96]
	add	r3, r3, #1392
	ldr	r1, [fp, #-72]
	mov	r0, r3
	bl	ml_enqueue
	ldr	r3, [fp, #-68]
	str	r3, [fp, #-72]
	ldr	r3, [fp, #-72]
	cmp	r3, #0
	bne	.L729
.L733:
	ldr	r3, [fp, #-96]
	ldr	r3, [r3, #1400]
	cmp	r3, #31
	bls	.L738
	ldr	r3, [fp, #-96]
	ldr	r3, [r3, #1248]
	bic	r2, r3, #524288
	ldr	r3, [fp, #-96]
	str	r2, [r3, #1248]
.L730:
	b	.L738
.L742:
	nop
	b	.L709
.L743:
	nop
	b	.L709
.L744:
	nop
.L709:
	sub	r3, fp, #36
	mov	r1, r3
	ldr	r0, [fp, #-52]
	bl	if_input
	nop
	ldr	r3, .L745
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L739
	bl	__stack_chk_fail
.L739:
	sub	sp, fp, #16
	@ sp needed
	pop	{r4, r5, r6, fp, pc}
.L746:
	.align	2
.L745:
	.word	.LC36
	.word	-2147482880
	.word	.LC33
	.word	16401
	.word	.LC34
	.word	.LC35
	.word	2047
	.size	tulip_rx_intr, .-tulip_rx_intr
	.align	2
	.global	tulip_tx_intr
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_tx_intr, %function
tulip_tx_intr:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, r10, fp, lr}
	add	fp, sp, #32
	sub	sp, sp, #60
	str	r0, [fp, #-80]
	ldr	r3, [fp, #-80]
	add	r3, r3, #1488
	str	r3, [fp, #-60]
	mov	r3, #0
	str	r3, [fp, #-72]
	mov	r3, #0
	str	r3, [fp, #-68]
	b	.L748
.L768:
	ldr	r3, [fp, #-80]
	ldr	r3, [r3, #120]
	ldr	r10, [r3, #32]
	ldr	r3, [fp, #-80]
	ldr	r0, [r3, #120]
	ldr	r3, [fp, #-80]
	ldr	r1, [r3, #128]
	ldr	r3, [fp, #-60]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-80]
	ldr	r3, [r3, #2148]
	sub	r3, r2, r3
	mov	r2, r3
	mov	r3, #10
	str	r3, [sp]
	mov	r3, #16
	blx	r10
	ldr	r3, [fp, #-60]
	ldr	r3, [r3, #8]
	ldr	r3, [r3]
	cmp	r3, #0
	blt	.L773
	ldr	r3, [fp, #-60]
	ldr	r3, [r3, #20]
	add	r2, r3, #1
	ldr	r3, [fp, #-60]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-68]
	add	r3, r3, #1
	str	r3, [fp, #-68]
	ldr	r3, [fp, #-60]
	ldr	r3, [r3, #8]
	ldrh	r3, [r3, #6]
	lsr	r3, r3, #6
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-56]
	and	r3, r3, #256
	cmp	r3, #0
	beq	.L751
	ldr	r3, [fp, #-56]
	and	r3, r3, #32
	cmp	r3, #0
	beq	.L752
	ldr	r3, [fp, #-80]
	ldr	r3, [r3, #120]
	ldr	r10, [r3, #32]
	ldr	r3, [fp, #-80]
	ldr	r0, [r3, #120]
	ldr	r3, [fp, #-80]
	ldr	r1, [r3, #124]
	ldr	r3, [fp, #-80]
	ldr	r3, [r3, #124]
	ldr	r3, [r3, #24]
	mov	r2, #10
	str	r2, [sp]
	mov	r2, #0
	blx	r10
	ldr	r3, [fp, #-80]
	ldr	r3, [r3, #1248]
	bic	r2, r3, #1073741832
	ldr	r3, [fp, #-80]
	str	r2, [r3, #1248]
	ldr	r3, [fp, #-60]
	ldr	r3, [r3, #8]
	ldrh	r3, [r3, #6]
	lsr	r3, r3, #6
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	and	r3, r3, #64
	cmp	r3, #0
	beq	.L753
	ldr	r3, [fp, #-80]
	ldr	r3, [r3, #1248]
	orr	r2, r3, #1073741824
	ldr	r3, [fp, #-80]
	str	r2, [r3, #1248]
.L753:
	ldr	r3, [fp, #-80]
	ldr	r3, [r3, #1248]
	and	r3, r3, #33
	cmp	r3, #0
	bne	.L751
	ldr	r0, [fp, #-80]
	bl	tulip_rx_intr
	ldr	r3, [fp, #-80]
	ldr	r3, [r3, #1260]
	orr	r2, r3, #2
	ldr	r3, [fp, #-80]
	str	r2, [r3, #1260]
	ldr	r3, [fp, #-80]
	ldr	r3, [r3, #1256]
	orr	r2, r3, #256
	ldr	r3, [fp, #-80]
	str	r2, [r3, #1256]
	ldr	r3, [fp, #-80]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-80]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-80]
	ldr	r1, [r2, #1204]
	mov	r2, #256
	blx	r3
	ldr	r3, [fp, #-80]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-80]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-80]
	ldr	r1, [r2, #1212]
	ldr	r2, [fp, #-80]
	ldr	r2, [r2, #1256]
	blx	r3
	ldr	r3, [fp, #-80]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-80]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-80]
	ldr	r1, [r2, #1208]
	ldr	r2, [fp, #-80]
	ldr	r2, [r2, #1260]
	blx	r3
	b	.L751
.L752:
	ldr	r3, [fp, #-60]
	ldr	r3, [r3, #8]
	ldr	r3, [r3]
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-80]
	add	r3, r3, #1376
	add	r3, r3, #4
	mov	r0, r3
	bl	ml_dequeue
	str	r0, [fp, #-48]
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	beq	.L754
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #20]
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-80]
	ldr	r3, [r3, #120]
	ldr	r10, [r3, #32]
	ldr	r3, [fp, #-80]
	ldr	r0, [r3, #120]
	ldr	r3, [fp, #-44]
	ldr	r3, [r3, #24]
	mov	r2, #10
	str	r2, [sp]
	mov	r2, #0
	ldr	r1, [fp, #-44]
	blx	r10
	ldr	r1, [fp, #-44]
	ldr	r0, [fp, #-80]
	bl	tulip_free_txmap
	ldr	r3, [fp, #-80]
	ldr	r3, [r3, #540]
	cmp	r3, #0
	beq	.L755
	ldr	r3, [fp, #-80]
	ldr	r3, [r3, #540]
	mov	r2, #2
	ldr	r1, [fp, #-48]
	mov	r0, r3
	bl	bpf_mtap
.L755:
	ldr	r0, [fp, #-48]
	bl	m_freem
.L754:
	ldr	r3, [fp, #-80]
	ldr	r3, [r3, #1248]
	and	r3, r3, #32
	cmp	r3, #0
	beq	.L756
	mov	r3, #5
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-52]
	and	r3, r3, #1280
	cmp	r3, #0
	beq	.L757
	mov	r3, #6
	str	r3, [fp, #-64]
.L757:
	ldr	r3, [fp, #-80]
	ldr	r3, [r3, #1372]
	ldr	r3, [r3, #12]
	ldr	r1, [fp, #-64]
	ldr	r0, [fp, #-80]
	blx	r3
	b	.L750
.L756:
	ldr	r3, [fp, #-72]
	add	r3, r3, #1
	str	r3, [fp, #-72]
	ldr	r3, [fp, #-52]
	and	r3, r3, #32768
	cmp	r3, #0
	beq	.L758
	ldr	r3, [fp, #-80]
	add	r3, r3, #624
	ldmia	r3, {r2-r3}
	adds	r6, r2, #1
	adc	r7, r3, #0
	ldr	r3, [fp, #-80]
	str	r6, [r3, #624]
	str	r7, [r3, #628]
	ldr	r3, [fp, #-52]
	and	r3, r3, #256
	cmp	r3, #0
	beq	.L759
	ldr	r3, [fp, #-80]
	ldr	r3, [r3, #1424]
	add	r2, r3, #1
	ldr	r3, [fp, #-80]
	str	r2, [r3, #1424]
.L759:
	ldr	r3, [fp, #-52]
	and	r3, r3, #512
	cmp	r3, #0
	beq	.L760
	ldr	r3, [fp, #-80]
	ldr	r3, [r3, #1420]
	add	r2, r3, #1
	ldr	r3, [fp, #-80]
	str	r2, [r3, #1420]
.L760:
	ldr	r3, [fp, #-52]
	and	r3, r3, #3072
	cmp	r3, #0
	beq	.L761
	ldr	r3, [fp, #-80]
	ldr	r3, [r3, #1428]
	add	r2, r3, #1
	ldr	r3, [fp, #-80]
	str	r2, [r3, #1428]
.L761:
	ldr	r2, [fp, #-52]
	ldr	r3, .L774
	and	r3, r3, r2
	cmp	r3, #0
	beq	.L762
	ldr	r3, [fp, #-80]
	ldr	r3, [r3, #1432]
	add	r2, r3, #1
	ldr	r3, [fp, #-80]
	str	r2, [r3, #1432]
.L762:
	ldr	r3, [fp, #-52]
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L763
	ldr	r3, [fp, #-80]
	ldr	r3, [r3, #1436]
	add	r2, r3, #1
	ldr	r3, [fp, #-80]
	str	r2, [r3, #1436]
.L763:
	ldr	r3, [fp, #-52]
	and	r3, r3, #16384
	cmp	r3, #0
	beq	.L751
	ldr	r3, [fp, #-80]
	ldr	r3, [r3, #1440]
	add	r2, r3, #1
	ldr	r3, [fp, #-80]
	str	r2, [r3, #1440]
	b	.L751
.L758:
	ldr	r3, [fp, #-52]
	lsr	r3, r3, #3
	and	r3, r3, #15
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-80]
	add	r1, r3, #632
	ldmia	r1, {r0-r1}
	ldr	r3, [fp, #-40]
	mov	r2, r3
	mov	r3, #0
	adds	r8, r0, r2
	adc	r9, r1, r3
	ldr	r3, [fp, #-80]
	str	r8, [r3, #632]
	str	r9, [r3, #636]
	ldr	r3, [fp, #-40]
	cmp	r3, #1
	bne	.L764
	ldr	r3, [fp, #-80]
	ldr	r3, [r3, #1404]
	add	r2, r3, #1
	ldr	r3, [fp, #-80]
	str	r2, [r3, #1404]
	b	.L765
.L764:
	ldr	r3, [fp, #-40]
	cmp	r3, #1
	bls	.L766
	ldr	r3, [fp, #-80]
	ldr	r3, [r3, #1408]
	add	r2, r3, #1
	ldr	r3, [fp, #-80]
	str	r2, [r3, #1408]
	b	.L765
.L766:
	ldr	r3, [fp, #-52]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L765
	ldr	r3, [fp, #-80]
	ldr	r3, [r3, #1416]
	add	r2, r3, #1
	ldr	r3, [fp, #-80]
	str	r2, [r3, #1416]
.L765:
	ldr	r3, [fp, #-80]
	ldr	r2, [r3, #1248]
	ldr	r3, [fp, #-52]
	and	r3, r3, r2
	and	r3, r3, #128
	cmp	r3, #0
	beq	.L751
	ldr	r3, [fp, #-80]
	ldr	r3, [r3, #1412]
	add	r2, r3, #1
	ldr	r3, [fp, #-80]
	str	r2, [r3, #1412]
.L751:
	ldr	r3, [fp, #-60]
	ldr	r3, [r3, #8]
	add	r2, r3, #16
	ldr	r3, [fp, #-60]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-60]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-60]
	ldr	r3, [r3, #4]
	cmp	r2, r3
	bne	.L767
	ldr	r3, [fp, #-60]
	ldr	r2, [r3]
	ldr	r3, [fp, #-60]
	str	r2, [r3, #8]
.L767:
	ldr	r3, [fp, #-80]
	ldr	r3, [r3, #1248]
	and	r3, r3, #32
	cmp	r3, #0
	bne	.L748
	ldr	r3, [fp, #-80]
	add	r3, r3, #872
	mov	r0, r3
	bl	ifq_clr_oactive
.L748:
	ldr	r3, [fp, #-60]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-60]
	ldr	r3, [r3, #16]
	cmp	r2, r3
	blt	.L768
	b	.L750
.L773:
	nop
.L750:
	ldr	r3, [fp, #-60]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-60]
	ldr	r3, [r3, #16]
	cmp	r2, r3
	beq	.L769
	ldr	r3, [fp, #-80]
	ldr	r3, [r3, #1248]
	and	r3, r3, #32
	cmp	r3, #0
	beq	.L770
.L769:
	ldr	r3, [fp, #-80]
	mov	r2, #0
	str	r2, [r3, #1268]
	b	.L771
.L770:
	ldr	r3, [fp, #-72]
	cmp	r3, #0
	ble	.L771
	ldr	r3, [fp, #-80]
	mov	r2, #4
	str	r2, [r3, #1268]
.L771:
	ldr	r3, [fp, #-80]
	add	r1, r3, #616
	ldmia	r1, {r0-r1}
	ldr	r3, [fp, #-72]
	mov	r2, r3
	asr	r3, r2, #31
	adds	r4, r0, r2
	adc	r5, r1, r3
	ldr	r3, [fp, #-80]
	str	r4, [r3, #616]
	str	r5, [r3, #620]
	ldr	r3, [fp, #-68]
	mov	r0, r3
	sub	sp, fp, #32
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, r10, fp, pc}
.L775:
	.align	2
.L774:
	.word	16386
	.size	tulip_tx_intr, .-tulip_tx_intr
	.align	2
	.global	tulip_print_abnormal_interrupt
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_print_abnormal_interrupt, %function
tulip_print_abnormal_interrupt:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	tulip_print_abnormal_interrupt, .-tulip_print_abnormal_interrupt
	.align	2
	.global	tulip_intr_handler
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_intr_handler, %function
tulip_intr_handler:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	b	.L778
.L795:
	ldr	r3, [fp, #-28]
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-24]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-24]
	ldr	r1, [r2, #1204]
	ldr	r2, [fp, #-16]
	blx	r3
	ldr	r3, [fp, #-16]
	and	r3, r3, #8192
	cmp	r3, #0
	beq	.L779
	ldr	r3, [fp, #-16]
	lsr	r3, r3, #23
	and	r3, r3, #7
	and	r1, r3, #255
	ldr	r2, [fp, #-24]
	ldrb	r3, [r2, #1264]
	and	r1, r1, #7
	bic	r3, r3, #7
	orr	r3, r1, r3
	strb	r3, [r2, #1264]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1248]
	and	r3, r3, #1048576
	cmp	r3, #0
	beq	.L780
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1248]
	orr	r2, r3, #2097152
	ldr	r3, [fp, #-24]
	str	r2, [r3, #1248]
.L780:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1248]
	orr	r2, r3, #1024
	ldr	r3, [fp, #-24]
	str	r2, [r3, #1248]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1272]
	add	r2, r3, #1
	ldr	r3, [fp, #-24]
	str	r2, [r3, #1272]
	b	.L781
.L779:
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #1256]
	ldr	r3, [fp, #-16]
	and	r2, r2, r3
	ldr	r3, .L798
	and	r3, r3, r2
	cmp	r3, #0
	beq	.L782
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1372]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	beq	.L783
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1372]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-16]
	and	r2, r2, #4096
	cmp	r2, #0
	beq	.L784
	mov	r2, #2
	b	.L785
.L784:
	mov	r2, #3
.L785:
	mov	r1, r2
	ldr	r0, [fp, #-24]
	blx	r3
	ldr	r3, [fp, #-16]
	bic	r3, r3, #32768
	str	r3, [fp, #-16]
.L783:
	ldr	r0, [fp, #-24]
	bl	tulip_media_print
.L782:
	ldr	r3, [fp, #-16]
	and	r3, r3, #192
	cmp	r3, #0
	beq	.L786
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-24]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-24]
	ldr	r2, [r2, #1216]
	mov	r1, r2
	blx	r3
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-16]
	and	r3, r3, #128
	cmp	r3, #0
	beq	.L787
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #1444]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r2, r2, r3
	ldr	r3, [fp, #-24]
	str	r2, [r3, #1444]
.L787:
	ldr	r2, [fp, #-12]
	ldr	r3, .L798+4
	and	r3, r3, r2
	cmp	r3, #0
	beq	.L788
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1252]
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L788
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1460]
	add	r2, r3, #1
	ldr	r3, [fp, #-24]
	str	r2, [r3, #1460]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-24]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-24]
	ldr	r1, [r2, #1208]
	ldr	r2, [fp, #-24]
	ldr	r2, [r2, #1260]
	bic	r2, r2, #2
	blx	r3
	nop
.L789:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-24]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-24]
	ldr	r2, [r2, #1204]
	mov	r1, r2
	blx	r3
	mov	r3, r0
	and	r3, r3, #256
	cmp	r3, #0
	beq	.L789
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-24]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-24]
	ldr	r1, [r2, #1204]
	mov	r2, #256
	blx	r3
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1248]
	orr	r2, r3, #67108864
	ldr	r3, [fp, #-24]
	str	r2, [r3, #1248]
.L788:
	ldr	r0, [fp, #-24]
	bl	tulip_rx_intr
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1248]
	and	r3, r3, #67108864
	cmp	r3, #0
	beq	.L786
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1248]
	bic	r2, r3, #67108864
	ldr	r3, [fp, #-24]
	str	r2, [r3, #1248]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-24]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-24]
	ldr	r1, [r2, #1208]
	ldr	r2, [fp, #-24]
	ldr	r2, [r2, #1260]
	blx	r3
.L786:
	ldr	r3, [fp, #-16]
	and	r3, r3, #32768
	cmp	r3, #0
	beq	.L790
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #1256]
	ldr	r3, [fp, #-16]
	and	r3, r3, r2
	bic	r3, r3, #98304
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	and	r3, r3, #32
	cmp	r3, #0
	beq	.L791
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1260]
	and	r3, r3, #49152
	cmp	r3, #49152
	beq	.L792
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1260]
	add	r2, r3, #16384
	ldr	r3, [fp, #-24]
	str	r2, [r3, #1260]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1248]
	orr	r2, r3, #32768
	ldr	r3, [fp, #-24]
	str	r2, [r3, #1248]
	b	.L791
.L792:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1252]
	and	r3, r3, #32768
	cmp	r3, #0
	beq	.L791
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1260]
	orr	r2, r3, #2097152
	ldr	r3, [fp, #-24]
	str	r2, [r3, #1260]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1248]
	orr	r2, r3, #32768
	ldr	r3, [fp, #-24]
	str	r2, [r3, #1248]
.L791:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1248]
	and	r3, r3, #1048576
	cmp	r3, #0
	beq	.L793
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #1276]
	ldr	r3, [fp, #-8]
	orr	r2, r2, r3
	ldr	r3, [fp, #-24]
	str	r2, [r3, #1276]
	b	.L794
.L793:
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-24]
	bl	tulip_print_abnormal_interrupt
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1248]
	orr	r2, r3, #1048576
	ldr	r3, [fp, #-24]
	str	r2, [r3, #1248]
.L794:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-24]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-24]
	ldr	r1, [r2, #1208]
	ldr	r2, [fp, #-24]
	ldr	r2, [r2, #1260]
	blx	r3
.L790:
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #1248]
	ldr	r3, .L798+8
	and	r3, r3, r2
	cmp	r3, #0
	beq	.L778
	ldr	r0, [fp, #-24]
	bl	tulip_tx_intr
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1248]
	and	r3, r3, #32
	cmp	r3, #0
	bne	.L778
	ldr	r3, [fp, #-24]
	add	r3, r3, #464
	mov	r0, r3
	bl	tulip_ifstart
.L778:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-24]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-24]
	ldr	r2, [r2, #1204]
	mov	r1, r2
	blx	r3
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #1256]
	ldr	r3, [fp, #-16]
	and	r3, r3, r2
	cmp	r3, #0
	bne	.L795
.L781:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1248]
	and	r3, r3, #1024
	cmp	r3, #0
	beq	.L797
	ldr	r0, [fp, #-24]
	bl	tulip_reset
	ldr	r0, [fp, #-24]
	bl	tulip_init
.L797:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L799:
	.align	2
.L798:
	.word	4112
	.word	268304384
	.word	536887336
	.size	tulip_intr_handler, .-tulip_intr_handler
	.section	.rodata
	.align	2
.LC37:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	tulip_intr_shared
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_intr_shared, %function
tulip_intr_shared:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	ldr	r3, .L805
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L801
.L802:
	sub	r3, fp, #16
	mov	r1, r3
	ldr	r0, [fp, #-12]
	bl	tulip_intr_handler
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #1376]
	str	r3, [fp, #-12]
.L801:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L802
	ldr	r3, [fp, #-16]
	ldr	r2, .L805
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L804
	bl	__stack_chk_fail
.L804:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L806:
	.align	2
.L805:
	.word	.LC37
	.size	tulip_intr_shared, .-tulip_intr_shared
	.section	.rodata
	.align	2
.LC38:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	tulip_intr_normal
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_intr_normal, %function
tulip_intr_normal:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	ldr	r3, .L810
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-16]
	sub	r3, fp, #16
	mov	r1, r3
	ldr	r0, [fp, #-12]
	bl	tulip_intr_handler
	ldr	r3, [fp, #-16]
	ldr	r2, .L810
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L809
	bl	__stack_chk_fail
.L809:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L811:
	.align	2
.L810:
	.word	.LC38
	.size	tulip_intr_normal, .-tulip_intr_normal
	.align	2
	.global	tulip_mbuf_compress
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_mbuf_compress, %function
tulip_mbuf_compress:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	mov	r1, #1
	mov	r0, #2
	bl	m_gethdr
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L813
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #28]
	cmp	r3, #184
	bls	.L814
	mov	r2, #2048
	mov	r1, #2
	ldr	r0, [fp, #-8]
	bl	m_clget
	ldr	r3, [fp, #-8]
	ldrh	r3, [r3, #18]
	and	r3, r3, #1
	cmp	r3, #0
	bne	.L814
	ldr	r0, [fp, #-16]
	bl	m_freem
	ldr	r0, [fp, #-8]
	bl	m_freem
	mov	r3, #0
	b	.L815
.L814:
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	mov	r1, #0
	ldr	r0, [fp, #-16]
	bl	m_copydata
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #28]
	mov	r2, r3
	ldr	r3, [fp, #-8]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	mov	r2, r3
	ldr	r3, [fp, #-8]
	str	r2, [r3, #28]
.L813:
	ldr	r0, [fp, #-16]
	bl	m_freem
	ldr	r3, [fp, #-8]
.L815:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	tulip_mbuf_compress, .-tulip_mbuf_compress
	.align	2
	.global	tulip_txput
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_txput, %function
tulip_txput:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #60
	str	r0, [fp, #-48]
	str	r1, [fp, #-52]
	str	r2, [fp, #-56]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1488
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-48]
	add	r3, r3, #464
	str	r3, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-40]
	str	r3, [fp, #-44]
	mov	r3, #0
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #20]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #260]
	cmp	r3, #0
	bne	.L817
	ldr	r0, [fp, #-48]
	bl	tulip_tx_intr
	mov	r2, r0
	ldr	r3, [fp, #-32]
	add	r3, r3, r2
	str	r3, [fp, #-32]
.L817:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #260]
	cmp	r3, #0
	beq	.L818
	ldr	r0, [fp, #-48]
	bl	tulip_alloc_txmap
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #120]
	ldr	r4, [r3, #16]
	ldr	r3, [fp, #-48]
	ldr	r0, [r3, #120]
	mov	r3, #1
	ldr	r2, [fp, #-52]
	ldr	r1, [fp, #-16]
	blx	r4
	mov	r3, r0
	cmp	r3, #0
	beq	.L838
	b	.L837
.L818:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #1248]
	orr	r2, r3, #16384
	ldr	r3, [fp, #-48]
	str	r2, [r3, #1248]
	b	.L820
.L837:
	cmp	r3, #27
	bne	.L823
	mov	r1, #2
	ldr	r0, [fp, #-52]
	bl	m_defrag
	mov	r3, r0
	cmp	r3, #0
	bne	.L823
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #120]
	ldr	r4, [r3, #16]
	ldr	r3, [fp, #-48]
	ldr	r0, [r3, #120]
	mov	r3, #1
	ldr	r2, [fp, #-52]
	ldr	r1, [fp, #-16]
	blx	r4
	mov	r3, r0
	cmp	r3, #0
	beq	.L839
.L823:
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-48]
	bl	tulip_free_txmap
	b	.L820
.L838:
	nop
	b	.L824
.L839:
	nop
.L824:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #28]
	add	r3, r3, #1
	lsr	r2, r3, #31
	add	r3, r2, r3
	asr	r3, r3, #1
	rsb	r3, r3, #0
	mov	r2, r3
	ldr	r3, [fp, #-32]
	add	r3, r3, r2
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bgt	.L826
	ldr	r0, [fp, #-48]
	bl	tulip_tx_intr
	mov	r2, r0
	ldr	r3, [fp, #-32]
	add	r3, r3, r2
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bgt	.L826
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #1248]
	orr	r2, r3, #16384
	ldr	r3, [fp, #-48]
	str	r2, [r3, #1248]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #120]
	ldr	r3, [r3, #28]
	ldr	r2, [fp, #-48]
	ldr	r2, [r2, #120]
	ldr	r1, [fp, #-16]
	mov	r0, r2
	blx	r3
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-48]
	bl	tulip_free_txmap
	b	.L820
.L828:
	ldr	r3, [fp, #-40]
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-44]
	ldrh	r3, [r3, #6]
	lsr	r3, r3, #6
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	and	r3, r3, #12
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r0, [fp, #-44]
	ldrh	r1, [r0, #6]	@ movhi
	ldr	r3, .L841
	and	r2, r2, r3
	lsl	r3, r3, #6
	bic	r3, r1, r3
	lsl	r2, r2, #6
	orr	r3, r2, r3
	mov	r1, r3	@ movhi
	strh	r1, [r0, #6]	@ movhi
	ldr	r3, [fp, #-44]
	ldr	r2, [fp, #-28]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-36]
	add	r2, r2, #2
	ldr	r2, [r3, r2, lsl #4]
	ldr	r3, [fp, #-44]
	str	r2, [r3, #8]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-36]
	add	r3, r3, #2
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsl	r3, r3, #21
	lsr	r3, r3, #21
	lsl	r3, r3, #16
	lsr	r1, r3, #16
	ldr	r2, [fp, #-44]
	ldrh	r3, [r2, #4]	@ movhi
	lsl	r1, r1, #21
	lsr	r3, r3, #11
	orr	r3, r3, r1
	ror	r3, r3, #21
	strh	r3, [r2, #4]	@ movhi
	ldr	r3, [fp, #-36]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	add	r2, r2, #2
	ldr	r2, [r3, r2, lsl #4]
	ldr	r3, [fp, #-44]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	ldr	r2, [fp, #-16]
	add	r3, r3, #2
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsl	r3, r3, #21
	lsr	r3, r3, #21
	lsl	r3, r3, #16
	lsr	r1, r3, #16
	ldr	r0, [fp, #-44]
	ldr	r2, [r0, #4]
	ldr	r3, .L841+4
	and	r1, r1, r3
	lsl	r3, r3, #11
	bic	r3, r2, r3
	lsl	r1, r1, #11
	orr	r2, r1, r3
	str	r2, [r0, #4]
	mov	r3, #-2147483648
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-40]
	add	r3, r3, #16
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-40]
	cmp	r2, r3
	bne	.L827
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	str	r3, [fp, #-40]
.L827:
	ldr	r3, [fp, #-36]
	add	r3, r3, #2
	str	r3, [fp, #-36]
.L826:
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-36]
	sub	r3, r2, r3
	cmp	r3, #1
	bgt	.L828
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #28]
	ldr	r2, [fp, #-36]
	cmp	r2, r3
	bge	.L829
	ldr	r3, [fp, #-40]
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-44]
	ldrh	r3, [r3, #6]
	lsr	r3, r3, #6
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	and	r3, r3, #12
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r0, [fp, #-44]
	ldrh	r1, [r0, #6]	@ movhi
	ldr	r3, .L841
	and	r2, r2, r3
	lsl	r3, r3, #6
	bic	r3, r1, r3
	lsl	r2, r2, #6
	orr	r3, r2, r3
	mov	r1, r3	@ movhi
	strh	r1, [r0, #6]	@ movhi
	ldr	r3, [fp, #-44]
	ldr	r2, [fp, #-28]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-36]
	add	r2, r2, #2
	ldr	r2, [r3, r2, lsl #4]
	ldr	r3, [fp, #-44]
	str	r2, [r3, #8]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-36]
	add	r3, r3, #2
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	lsl	r3, r3, #21
	lsr	r3, r3, #21
	lsl	r3, r3, #16
	lsr	r1, r3, #16
	ldr	r2, [fp, #-44]
	ldrh	r3, [r2, #4]	@ movhi
	lsl	r1, r1, #21
	lsr	r3, r3, #11
	orr	r3, r3, r1
	ror	r3, r3, #21
	strh	r3, [r2, #4]	@ movhi
	ldr	r3, [fp, #-44]
	mov	r2, #0
	str	r2, [r3, #12]
	ldr	r2, [fp, #-44]
	ldr	r3, [r2, #4]
	bic	r3, r3, #4177920
	bic	r3, r3, #14336
	str	r3, [r2, #4]
	ldr	r3, [fp, #-40]
	add	r3, r3, #16
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-40]
	cmp	r2, r3
	bne	.L829
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	str	r3, [fp, #-40]
.L829:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #120]
	ldr	r4, [r3, #32]
	ldr	r3, [fp, #-48]
	ldr	r0, [r3, #120]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #24]
	mov	r2, #5
	str	r2, [sp]
	mov	r2, #0
	ldr	r1, [fp, #-16]
	blx	r4
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	bne	.L830
	ldr	r3, [fp, #-20]
	add	r3, r3, #408
	ldr	r1, [fp, #-52]
	mov	r0, r3
	bl	ifq_deq_commit
.L830:
	ldr	r3, [fp, #-52]
	ldr	r2, [fp, #-16]
	str	r2, [r3, #20]
	mov	r3, #0
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1376
	add	r3, r3, #4
	ldr	r1, [fp, #-52]
	mov	r0, r3
	bl	ml_enqueue
	mov	r3, #0
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-40]
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #120]
	ldr	r4, [r3, #32]
	ldr	r3, [fp, #-48]
	ldr	r0, [r3, #120]
	ldr	r3, [fp, #-48]
	ldr	r1, [r3, #128]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #2148]
	ldr	r2, [fp, #-40]
	sub	r3, r2, r3
	mov	r2, r3
	mov	r3, #5
	str	r3, [sp]
	mov	r3, #4
	blx	r4
	ldr	r3, [fp, #-44]
	ldrh	r3, [r3, #6]
	lsr	r3, r3, #6
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	orr	r3, r3, #768
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r0, [fp, #-44]
	ldrh	r1, [r0, #6]	@ movhi
	ldr	r3, .L841
	and	r2, r2, r3
	lsl	r3, r3, #6
	bic	r3, r1, r3
	lsl	r2, r2, #6
	orr	r3, r2, r3
	mov	r1, r3	@ movhi
	strh	r1, [r0, #6]	@ movhi
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #12]
	ldrh	r3, [r3, #6]
	lsr	r3, r3, #6
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	ldr	r2, [fp, #-24]
	ldr	r0, [r2, #12]
	orr	r3, r3, #128
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldrh	r1, [r0, #6]	@ movhi
	ldr	r3, .L841
	and	r2, r2, r3
	lsl	r3, r3, #6
	bic	r3, r1, r3
	lsl	r2, r2, #6
	orr	r3, r2, r3
	mov	r1, r3	@ movhi
	strh	r1, [r0, #6]	@ movhi
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-44]
	cmp	r2, r3
	bcs	.L831
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #120]
	ldr	r4, [r3, #32]
	ldr	r3, [fp, #-48]
	ldr	r0, [r3, #120]
	ldr	r3, [fp, #-48]
	ldr	r1, [r3, #128]
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #2148]
	sub	r3, r2, r3
	mov	ip, r3
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #12]
	sub	r3, r2, r3
	mov	r2, r3
	mov	r3, #5
	str	r3, [sp]
	mov	r3, r2
	mov	r2, ip
	blx	r4
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #120]
	ldr	r4, [r3, #32]
	ldr	r3, [fp, #-48]
	ldr	r0, [r3, #120]
	ldr	r3, [fp, #-48]
	ldr	r1, [r3, #128]
	ldr	r3, [fp, #-24]
	ldr	r2, [r3]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #2148]
	sub	r3, r2, r3
	mov	ip, r3
	ldr	r3, [fp, #-44]
	add	r2, r3, #16
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	sub	r3, r2, r3
	mov	r2, r3
	mov	r3, #5
	str	r3, [sp]
	mov	r3, r2
	mov	r2, ip
	blx	r4
	b	.L832
.L831:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #120]
	ldr	r4, [r3, #32]
	ldr	r3, [fp, #-48]
	ldr	r0, [r3, #120]
	ldr	r3, [fp, #-48]
	ldr	r1, [r3, #128]
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #2148]
	sub	r3, r2, r3
	mov	ip, r3
	ldr	r3, [fp, #-44]
	add	r2, r3, #16
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #12]
	sub	r3, r2, r3
	mov	r2, r3
	mov	r3, #5
	str	r3, [sp]
	mov	r3, r2
	mov	r2, ip
	blx	r4
.L832:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #12]
	mov	r2, #-2147483648
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #120]
	ldr	r4, [r3, #32]
	ldr	r3, [fp, #-48]
	ldr	r0, [r3, #120]
	ldr	r3, [fp, #-48]
	ldr	r1, [r3, #128]
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #2148]
	sub	r3, r2, r3
	mov	r2, r3
	mov	r3, #5
	str	r3, [sp]
	mov	r3, #4
	blx	r4
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-40]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-32]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #1248]
	and	r3, r3, #32
	cmp	r3, #0
	beq	.L833
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-48]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-48]
	ldr	r1, [r2, #1188]
	mov	r2, #1
	blx	r3
	ldr	r3, [fp, #-48]
	add	r3, r3, #872
	mov	r0, r3
	bl	ifq_set_oactive
	mov	r3, #0
	b	.L834
.L833:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #1248]
	bic	r2, r3, #16384
	ldr	r3, [fp, #-48]
	str	r2, [r3, #1248]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #1268]
	cmp	r3, #0
	bne	.L840
	ldr	r3, [fp, #-48]
	mov	r2, #4
	str	r2, [r3, #1268]
	b	.L820
.L840:
	nop
.L820:
	ldr	r3, [fp, #-48]
	ldr	r2, [r3, #1248]
	ldr	r3, .L841+8
	and	r3, r3, r2
	cmp	r3, #0
	beq	.L835
	ldr	r3, [fp, #-48]
	add	r3, r3, #872
	mov	r0, r3
	bl	ifq_set_oactive
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #1256]
	and	r3, r3, #1
	cmp	r3, #0
	bne	.L836
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #1256]
	orr	r2, r3, #1
	ldr	r3, [fp, #-48]
	str	r2, [r3, #1256]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-48]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-48]
	ldr	r1, [r2, #1212]
	ldr	r2, [fp, #-48]
	ldr	r2, [r2, #1256]
	blx	r3
	b	.L836
.L835:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #1248]
	and	r3, r3, #536870912
	cmp	r3, #0
	bne	.L836
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #1256]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L836
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #1256]
	bic	r2, r3, #1
	ldr	r3, [fp, #-48]
	str	r2, [r3, #1256]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-48]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-48]
	ldr	r1, [r2, #1212]
	ldr	r2, [fp, #-48]
	ldr	r2, [r2, #1256]
	blx	r3
.L836:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-48]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-48]
	ldr	r1, [r2, #1188]
	mov	r2, #1
	blx	r3
	ldr	r3, [fp, #-52]
.L834:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L842:
	.align	2
.L841:
	.word	1023
	.word	2047
	.word	16392
	.size	tulip_txput, .-tulip_txput
	.align	2
	.global	tulip_txput_setup
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_txput_setup, %function
tulip_txput_setup:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #28
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1488
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #20]
	cmp	r3, #1
	bgt	.L844
	ldr	r0, [fp, #-24]
	bl	tulip_tx_intr
.L844:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1248]
	and	r3, r3, #8
	cmp	r3, #0
	bne	.L845
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #20]
	cmp	r3, #1
	bne	.L846
.L845:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1248]
	orr	r2, r3, #16384
	ldr	r3, [fp, #-24]
	str	r2, [r3, #1248]
	b	.L843
.L846:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1792
	add	r3, r3, #4
	ldr	r2, [fp, #-24]
	ldr	r0, [r2, #1792]
	mov	r2, #192
	mov	r1, r3
	bl	memmove
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1248]
	eor	r2, r3, #9
	ldr	r3, [fp, #-24]
	str	r2, [r3, #1248]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #20]
	sub	r2, r3, #1
	ldr	r3, [fp, #-20]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldrh	r3, [r3, #6]
	lsr	r3, r3, #6
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	and	r3, r3, #12
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r0, [fp, #-16]
	ldrh	r1, [r0, #6]	@ movhi
	ldr	r3, .L852
	and	r2, r2, r3
	lsl	r3, r3, #6
	bic	r3, r1, r3
	lsl	r2, r2, #6
	orr	r3, r2, r3
	mov	r1, r3	@ movhi
	strh	r1, [r0, #6]	@ movhi
	ldr	r3, [fp, #-16]
	ldrh	r3, [r3, #6]
	lsr	r3, r3, #6
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	orr	r3, r3, #928
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r0, [fp, #-16]
	ldrh	r1, [r0, #6]	@ movhi
	ldr	r3, .L852
	and	r2, r2, r3
	lsl	r3, r3, #6
	bic	r3, r1, r3
	lsl	r2, r2, #6
	orr	r3, r2, r3
	mov	r1, r3	@ movhi
	strh	r1, [r0, #6]	@ movhi
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1248]
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L848
	ldr	r3, [fp, #-16]
	ldrh	r3, [r3, #6]
	lsr	r3, r3, #6
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	orr	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r0, [fp, #-16]
	ldrh	r1, [r0, #6]	@ movhi
	ldr	r3, .L852
	and	r2, r2, r3
	lsl	r3, r3, #6
	bic	r3, r1, r3
	lsl	r2, r2, #6
	orr	r3, r2, r3
	mov	r1, r3	@ movhi
	strh	r1, [r0, #6]	@ movhi
	b	.L849
.L848:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1248]
	and	r3, r3, #4
	cmp	r3, #0
	beq	.L849
	ldr	r3, [fp, #-16]
	ldrh	r3, [r3, #6]
	lsr	r3, r3, #6
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	orr	r3, r3, #65
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r0, [fp, #-16]
	ldrh	r1, [r0, #6]	@ movhi
	ldr	r3, .L852
	and	r2, r2, r3
	lsl	r3, r3, #6
	bic	r3, r1, r3
	lsl	r2, r2, #6
	orr	r3, r2, r3
	mov	r1, r3	@ movhi
	strh	r1, [r0, #6]	@ movhi
.L849:
	ldr	r2, [fp, #-16]
	ldr	r3, [r2, #4]
	bic	r3, r3, #4177920
	bic	r3, r3, #14336
	str	r3, [r2, #4]
	ldr	r3, [fp, #-16]
	mov	r2, #0
	str	r2, [r3, #12]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #124]
	ldr	r3, [r3, #36]
	lsl	r3, r3, #21
	lsr	r3, r3, #21
	lsl	r3, r3, #16
	lsr	r1, r3, #16
	ldr	r2, [fp, #-16]
	ldrh	r3, [r2, #4]	@ movhi
	lsl	r1, r1, #21
	lsr	r3, r3, #11
	orr	r3, r3, r1
	ror	r3, r3, #21
	strh	r3, [r2, #4]	@ movhi
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #124]
	ldr	r2, [r3, #32]
	ldr	r3, [fp, #-16]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #124]
	ldr	r3, [r3, #28]
	cmp	r3, #2
	bne	.L850
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #124]
	ldr	r3, [r3, #52]
	lsl	r3, r3, #21
	lsr	r3, r3, #21
	lsl	r3, r3, #16
	lsr	r1, r3, #16
	ldr	r0, [fp, #-16]
	ldr	r2, [r0, #4]
	ldr	r3, .L852+4
	and	r1, r1, r3
	lsl	r3, r3, #11
	bic	r3, r2, r3
	lsl	r1, r1, #11
	orr	r2, r1, r3
	str	r2, [r0, #4]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #124]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-16]
	str	r2, [r3, #12]
.L850:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #120]
	ldr	r4, [r3, #32]
	ldr	r3, [fp, #-24]
	ldr	r0, [r3, #120]
	ldr	r3, [fp, #-24]
	ldr	r1, [r3, #124]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #124]
	ldr	r3, [r3, #24]
	mov	r2, #5
	str	r2, [sp]
	mov	r2, #0
	blx	r4
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #120]
	ldr	r4, [r3, #32]
	ldr	r3, [fp, #-24]
	ldr	r0, [r3, #120]
	ldr	r3, [fp, #-24]
	ldr	r1, [r3, #128]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #2148]
	ldr	r2, [fp, #-16]
	sub	r3, r2, r3
	mov	r2, r3
	mov	r3, #5
	str	r3, [sp]
	mov	r3, #16
	blx	r4
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #12]
	add	r2, r3, #16
	ldr	r3, [fp, #-20]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-20]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #4]
	cmp	r2, r3
	bne	.L851
	ldr	r3, [fp, #-20]
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	str	r2, [r3, #12]
.L851:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #12]
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #120]
	ldr	r4, [r3, #32]
	ldr	r3, [fp, #-24]
	ldr	r0, [r3, #120]
	ldr	r3, [fp, #-24]
	ldr	r1, [r3, #128]
	ldr	r3, [fp, #-20]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #2148]
	sub	r3, r2, r3
	mov	r2, r3
	mov	r3, #5
	str	r3, [sp]
	mov	r3, #4
	blx	r4
	ldr	r3, [fp, #-16]
	mov	r2, #-2147483648
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #120]
	ldr	r4, [r3, #32]
	ldr	r3, [fp, #-24]
	ldr	r0, [r3, #120]
	ldr	r3, [fp, #-24]
	ldr	r1, [r3, #128]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #2148]
	ldr	r2, [fp, #-16]
	sub	r3, r2, r3
	mov	r2, r3
	mov	r3, #5
	str	r3, [sp]
	mov	r3, #4
	blx	r4
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-24]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-24]
	ldr	r1, [r2, #1188]
	mov	r2, #1
	blx	r3
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1256]
	and	r3, r3, #1
	cmp	r3, #0
	bne	.L843
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #1256]
	orr	r2, r3, #1
	ldr	r3, [fp, #-24]
	str	r2, [r3, #1256]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-24]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-24]
	ldr	r1, [r2, #1212]
	ldr	r2, [fp, #-24]
	ldr	r2, [r2, #1256]
	blx	r3
.L843:
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L853:
	.align	2
.L852:
	.word	1023
	.word	2047
	.size	tulip_txput_setup, .-tulip_txput_setup
	.align	2
	.global	tulip_ifioctl
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_ifioctl, %function
tulip_ifioctl:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-20]
	mov	r0, #7
	bl	splraise
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-28]
	ldr	r2, .L863
	cmp	r3, r2
	beq	.L855
	ldr	r3, [fp, #-28]
	ldr	r2, .L863
	cmp	r3, r2
	bhi	.L856
	ldr	r3, [fp, #-28]
	ldr	r2, .L863+4
	cmp	r3, r2
	beq	.L855
	ldr	r3, [fp, #-28]
	ldr	r2, .L863+4
	cmp	r3, r2
	bhi	.L856
	ldr	r3, [fp, #-28]
	ldr	r2, .L863+8
	cmp	r3, r2
	beq	.L857
	ldr	r3, [fp, #-28]
	ldr	r2, .L863+12
	cmp	r3, r2
	beq	.L858
	b	.L856
.L857:
	ldr	r3, [fp, #-24]
	ldrsh	r3, [r3, #102]
	orr	r3, r3, #1
	lsl	r3, r3, #16
	asr	r2, r3, #16
	ldr	r3, [fp, #-24]
	strh	r2, [r3, #102]	@ movhi
	ldr	r0, [fp, #-16]
	bl	tulip_init
	b	.L859
.L858:
	ldr	r0, [fp, #-16]
	bl	tulip_init
	b	.L859
.L855:
	ldr	r3, [fp, #-16]
	add	r2, r3, #80
	ldr	r3, [fp, #-28]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-24]
	bl	ifmedia_ioctl
	str	r0, [fp, #-20]
	b	.L859
.L856:
	ldr	r3, [fp, #-16]
	add	r1, r3, #464
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	ether_ioctl
	str	r0, [fp, #-20]
.L859:
	ldr	r3, [fp, #-20]
	cmp	r3, #52
	bne	.L860
	ldr	r3, [fp, #-24]
	ldrsh	r3, [r3, #102]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	and	r3, r3, #64
	cmp	r3, #0
	beq	.L861
	ldr	r0, [fp, #-16]
	bl	tulip_addr_filter
	ldr	r0, [fp, #-16]
	bl	tulip_init
.L861:
	mov	r3, #0
	str	r3, [fp, #-20]
.L860:
	ldr	r0, [fp, #-8]
	bl	spllower
	ldr	r3, [fp, #-20]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L864:
	.align	2
.L863:
	.word	-1070044872
	.word	-1071617737
	.word	-2145359604
	.word	-2145359600
	.size	tulip_ifioctl, .-tulip_ifioctl
	.section	.rodata
	.align	2
.LC39:
	.ascii	"m == m0\000"
	.align	2
.LC40:
	.ascii	"/crypt/home/bluhm/openbsd/cvs/src/sys/dev/pci/if_de"
	.ascii	".c\000"
	.align	2
.LC41:
	.ascii	"diagnostic \000"
	.text
	.align	2
	.global	tulip_ifstart
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_ifstart, %function
tulip_ifstart:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	add	r3, r3, #564
	add	r3, r3, #2
	ldrsh	r3, [r3]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	and	r3, r3, #64
	cmp	r3, #0
	beq	.L872
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #1248]
	and	r3, r3, #33
	cmp	r3, #1
	bne	.L871
	ldr	r0, [fp, #-16]
	bl	tulip_txput_setup
.L871:
	ldr	r3, [fp, #-16]
	add	r3, r3, #872
	mov	r0, r3
	bl	ifq_deq_begin
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L873
	mov	r2, #0
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-16]
	bl	tulip_txput
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L871
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-8]
	cmp	r2, r3
	beq	.L870
	ldr	r3, .L874
	ldr	r2, .L874+4
	ldr	r1, .L874+8
	ldr	r0, .L874+12
	bl	__assert
.L870:
	ldr	r3, [fp, #-16]
	add	r3, r3, #872
	ldr	r1, [fp, #-12]
	mov	r0, r3
	bl	ifq_deq_rollback
	b	.L866
.L873:
	nop
.L866:
.L872:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L875:
	.align	2
.L874:
	.word	.LC39
	.word	4158
	.word	.LC40
	.word	.LC41
	.size	tulip_ifstart, .-tulip_ifstart
	.section	.rodata
	.align	2
.LC42:
	.ascii	"%s%d: transmission timeout\012\000"
	.text
	.align	2
	.global	tulip_ifwatchdog
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_ifwatchdog, %function
tulip_ifwatchdog:
	@ 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]
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	add	r3, r3, #564
	mov	r2, #1
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #1248]
	and	r3, r3, #3670016
	cmp	r3, #0
	beq	.L877
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #1248]
	and	r3, r3, #524288
	cmp	r3, #0
	beq	.L878
	ldr	r0, [fp, #-16]
	bl	tulip_rx_intr
.L878:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #1276]
	cmp	r3, #0
	beq	.L879
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #1276]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	tulip_print_abnormal_interrupt
	ldr	r3, [fp, #-16]
	mov	r2, #0
	str	r2, [r3, #1276]
.L879:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #1248]
	bic	r2, r3, #3145728
	ldr	r3, [fp, #-16]
	str	r2, [r3, #1248]
.L877:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #1268]
	cmp	r3, #0
	beq	.L880
	ldr	r0, [fp, #-16]
	bl	tulip_tx_intr
.L880:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #1268]
	cmp	r3, #0
	beq	.L883
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #1268]
	sub	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #1268]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #1268]
	cmp	r3, #0
	bne	.L883
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	ldr	r3, [r3, #4]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #16]
	mov	r2, r3
	ldr	r0, .L884
	bl	printf
	ldr	r3, [fp, #-16]
	add	r3, r3, #88
	ldmia	r3, {r2-r3}
	mov	r0, #255
	mov	r1, #0
	and	r4, r2, r0
	and	r5, r3, r1
	orrs	r3, r4, r5
	bne	.L882
	ldr	r3, [fp, #-16]
	mov	r2, #0
	str	r2, [r3, #1328]
	ldr	r3, [fp, #-16]
	mov	r2, #0
	str	r2, [r3, #1348]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #1248]
	bic	r3, r3, #262144
	bic	r3, r3, #128
	ldr	r2, [fp, #-16]
	str	r3, [r2, #1248]
.L882:
	ldr	r0, [fp, #-16]
	bl	tulip_reset
	ldr	r0, [fp, #-16]
	bl	tulip_init
.L883:
	nop
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L885:
	.align	2
.L884:
	.word	.LC42
	.size	tulip_ifwatchdog, .-tulip_ifwatchdog
	.section	.rodata
	.align	2
.LC43:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	tulip_busdma_allocmem
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_busdma_allocmem, %function
tulip_busdma_allocmem:
	@ args = 0, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #76
	str	r0, [fp, #-56]
	str	r1, [fp, #-60]
	str	r2, [fp, #-64]
	str	r3, [fp, #-68]
	ldr	r3, .L896
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #120]
	ldr	r4, [r3, #36]
	ldr	r3, [fp, #-56]
	ldr	r0, [r3, #120]
	mov	r3, #1
	str	r3, [sp, #12]
	sub	r3, fp, #48
	str	r3, [sp, #8]
	mov	r3, #1
	str	r3, [sp, #4]
	sub	r3, fp, #32
	str	r3, [sp]
	mov	r3, #4096
	mov	r2, #1
	ldr	r1, [fp, #-60]
	blx	r4
	str	r0, [fp, #-36]
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	bne	.L887
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #120]
	ldr	r4, [r3, #48]
	ldr	r3, [fp, #-56]
	ldr	r0, [r3, #120]
	ldr	r2, [fp, #-48]
	sub	r1, fp, #32
	mov	r3, #5
	str	r3, [sp, #4]
	sub	r3, fp, #44
	str	r3, [sp]
	ldr	r3, [fp, #-60]
	blx	r4
	str	r0, [fp, #-36]
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	bne	.L888
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #120]
	ldr	r4, [r3, #4]
	ldr	r3, [fp, #-56]
	ldr	r0, [r3, #120]
	sub	r3, fp, #40
	str	r3, [sp, #8]
	mov	r3, #1
	str	r3, [sp, #4]
	mov	r3, #0
	str	r3, [sp]
	ldr	r3, [fp, #-60]
	mov	r2, #1
	ldr	r1, [fp, #-60]
	blx	r4
	str	r0, [fp, #-36]
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	bne	.L889
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #120]
	ldr	r4, [r3, #12]
	ldr	r3, [fp, #-56]
	ldr	r0, [r3, #120]
	ldr	r1, [fp, #-40]
	ldr	r2, [fp, #-44]
	mov	r3, #1
	str	r3, [sp, #4]
	mov	r3, #0
	str	r3, [sp]
	ldr	r3, [fp, #-60]
	blx	r4
	str	r0, [fp, #-36]
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L890
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #120]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-56]
	ldr	r2, [r2, #120]
	ldr	r1, [fp, #-40]
	mov	r0, r2
	blx	r3
	b	.L889
.L890:
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-64]
	str	r2, [r3]
.L889:
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L888
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #120]
	ldr	r3, [r3, #52]
	ldr	r2, [fp, #-56]
	ldr	r0, [r2, #120]
	ldr	r1, [fp, #-44]
	ldr	r2, [fp, #-60]
	blx	r3
.L888:
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L892
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #120]
	ldr	r3, [r3, #44]
	ldr	r2, [fp, #-56]
	ldr	r0, [r2, #120]
	ldr	r2, [fp, #-48]
	sub	r1, fp, #32
	blx	r3
	b	.L887
.L892:
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-68]
	str	r2, [r3]
.L887:
	ldr	r3, [fp, #-36]
	ldr	r2, .L896
	ldr	r1, [r2]
	ldr	r2, [fp, #-16]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L895
	bl	__stack_chk_fail
.L895:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L897:
	.align	2
.L896:
	.word	.LC43
	.size	tulip_busdma_allocmem, .-tulip_busdma_allocmem
	.section	.rodata
	.align	2
.LC44:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	tulip_busdma_init
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_busdma_init, %function
tulip_busdma_init:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #40
	str	r0, [fp, #-32]
	ldr	r3, .L917
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-32]
	add	r2, r3, #124
	ldr	r3, [fp, #-32]
	add	r3, r3, #1792
	mov	r1, #192
	ldr	r0, [fp, #-32]
	bl	tulip_busdma_allocmem
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L899
	ldr	r3, [fp, #-32]
	add	r2, r3, #128
	ldr	r3, [fp, #-32]
	add	r3, r3, #2144
	add	r3, r3, #4
	mov	r1, #512
	ldr	r0, [fp, #-32]
	bl	tulip_busdma_allocmem
	str	r0, [fp, #-20]
.L899:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L900
	b	.L901
.L904:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #120]
	ldr	r4, [r3, #4]
	ldr	r3, [fp, #-32]
	ldr	r0, [r3, #120]
	sub	r3, fp, #24
	str	r3, [sp, #8]
	mov	r3, #1
	str	r3, [sp, #4]
	mov	r3, #0
	str	r3, [sp]
	mov	r3, #2032
	mov	r2, #30
	mov	r1, #2032
	blx	r4
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L901
	ldr	r3, [fp, #-24]
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	tulip_free_txmap
.L901:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L903
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #260]
	cmp	r3, #31
	bls	.L904
.L903:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L900
	b	.L905
.L906:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #120]
	ldr	r4, [r3, #8]
	ldr	r3, [fp, #-32]
	ldr	r5, [r3, #120]
	ldr	r0, [fp, #-32]
	bl	tulip_alloc_txmap
	mov	r3, r0
	mov	r1, r3
	mov	r0, r5
	blx	r4
.L905:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #260]
	cmp	r3, #0
	bne	.L906
.L900:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L907
	ldr	r3, [fp, #-32]
	add	r2, r3, #264
	ldr	r3, [fp, #-32]
	add	r3, r3, #2144
	mov	r1, #768
	ldr	r0, [fp, #-32]
	bl	tulip_busdma_allocmem
	str	r0, [fp, #-20]
.L907:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L908
	b	.L909
.L912:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #120]
	ldr	r4, [r3, #4]
	ldr	r3, [fp, #-32]
	ldr	r0, [r3, #120]
	sub	r3, fp, #24
	str	r3, [sp, #8]
	mov	r3, #3
	str	r3, [sp, #4]
	mov	r3, #0
	str	r3, [sp]
	mov	r3, #2032
	mov	r2, #2
	mov	r1, #2032
	blx	r4
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L909
	ldr	r3, [fp, #-24]
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	tulip_free_rxmap
.L909:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L911
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #460]
	cmp	r3, #47
	bls	.L912
.L911:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L908
	b	.L913
.L914:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #120]
	ldr	r4, [r3, #8]
	ldr	r3, [fp, #-32]
	ldr	r5, [r3, #120]
	ldr	r0, [fp, #-32]
	bl	tulip_alloc_rxmap
	mov	r3, r0
	mov	r1, r3
	mov	r0, r5
	blx	r4
.L913:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #460]
	cmp	r3, #0
	bne	.L914
.L908:
	ldr	r3, [fp, #-20]
	ldr	r2, .L917
	ldr	r1, [r2]
	ldr	r2, [fp, #-16]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L916
	bl	__stack_chk_fail
.L916:
	mov	r0, r3
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L918:
	.align	2
.L917:
	.word	.LC44
	.size	tulip_busdma_init, .-tulip_busdma_init
	.align	2
	.global	tulip_initcsrs
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_initcsrs, %function
tulip_initcsrs:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #1184]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-16]
	add	r2, r2, r3
	ldr	r3, [fp, #-8]
	str	r2, [r3, #1188]
	ldr	r3, [fp, #-16]
	lsl	r2, r3, #1
	ldr	r3, [fp, #-12]
	add	r2, r2, r3
	ldr	r3, [fp, #-8]
	str	r2, [r3, #1192]
	ldr	r2, [fp, #-16]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r2, r3, r2
	ldr	r3, [fp, #-12]
	add	r2, r2, r3
	ldr	r3, [fp, #-8]
	str	r2, [r3, #1196]
	ldr	r3, [fp, #-16]
	lsl	r2, r3, #2
	ldr	r3, [fp, #-12]
	add	r2, r2, r3
	ldr	r3, [fp, #-8]
	str	r2, [r3, #1200]
	ldr	r2, [fp, #-16]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r2, r3, r2
	ldr	r3, [fp, #-12]
	add	r2, r2, r3
	ldr	r3, [fp, #-8]
	str	r2, [r3, #1204]
	ldr	r2, [fp, #-16]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #1
	mov	r2, r3
	ldr	r3, [fp, #-12]
	add	r2, r2, r3
	ldr	r3, [fp, #-8]
	str	r2, [r3, #1208]
	ldr	r2, [fp, #-16]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r2, r3, r2
	ldr	r3, [fp, #-12]
	add	r2, r2, r3
	ldr	r3, [fp, #-8]
	str	r2, [r3, #1212]
	ldr	r3, [fp, #-16]
	lsl	r2, r3, #3
	ldr	r3, [fp, #-12]
	add	r2, r2, r3
	ldr	r3, [fp, #-8]
	str	r2, [r3, #1216]
	ldr	r2, [fp, #-16]
	mov	r3, r2
	lsl	r3, r3, #3
	add	r2, r3, r2
	ldr	r3, [fp, #-12]
	add	r2, r2, r3
	ldr	r3, [fp, #-8]
	str	r2, [r3, #1220]
	ldr	r2, [fp, #-16]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #1
	mov	r2, r3
	ldr	r3, [fp, #-12]
	add	r2, r2, r3
	ldr	r3, [fp, #-8]
	str	r2, [r3, #1224]
	ldr	r2, [fp, #-16]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #1
	add	r2, r3, r2
	ldr	r3, [fp, #-12]
	add	r2, r2, r3
	ldr	r3, [fp, #-8]
	str	r2, [r3, #1228]
	ldr	r2, [fp, #-16]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-12]
	add	r2, r2, r3
	ldr	r3, [fp, #-8]
	str	r2, [r3, #1232]
	ldr	r2, [fp, #-16]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r2, r3, r2
	ldr	r3, [fp, #-12]
	add	r2, r2, r3
	ldr	r3, [fp, #-8]
	str	r2, [r3, #1236]
	ldr	r2, [fp, #-16]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #1
	mov	r2, r3
	ldr	r3, [fp, #-12]
	add	r2, r2, r3
	ldr	r3, [fp, #-8]
	str	r2, [r3, #1240]
	ldr	r2, [fp, #-16]
	mov	r3, r2
	lsl	r3, r3, #4
	sub	r2, r3, r2
	ldr	r3, [fp, #-12]
	add	r2, r2, r3
	ldr	r3, [fp, #-8]
	str	r2, [r3, #1244]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	tulip_initcsrs, .-tulip_initcsrs
	.align	2
	.global	tulip_initring
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_initring, %function
tulip_initring:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-20]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-12]
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #16]
	lsl	r3, r3, #4
	add	r2, r2, r3
	ldr	r3, [fp, #-12]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-12]
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #16]
	lsl	r3, r3, #4
	mov	r0, r2
	mov	r2, r3
	mov	r1, #0
	bl	memset
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	sub	r2, r3, #16
	ldrh	r3, [r2, #6]	@ movhi
	bic	r3, r3, #64768
	bic	r3, r3, #192
	orr	r3, r3, #512
	strh	r3, [r2, #6]	@ movhi
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	tulip_initring, .-tulip_initring
	.align	2
	.global	tulip_probe
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_probe, %function
tulip_probe:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #28
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #56]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	ldr	r2, .L926
	cmp	r3, r2
	beq	.L922
	mov	r3, #0
	b	.L923
.L922:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #56]
	lsr	r3, r3, #16
	cmp	r3, #2
	beq	.L924
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #56]
	lsr	r3, r3, #16
	cmp	r3, #20
	beq	.L924
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #56]
	lsr	r3, r3, #16
	cmp	r3, #9
	beq	.L924
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #56]
	lsr	r3, r3, #16
	cmp	r3, #25
	bne	.L925
.L924:
	mov	r3, #2
	b	.L923
.L925:
	mov	r3, #0
.L923:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L927:
	.align	2
.L926:
	.word	4113
	.size	tulip_probe, .-tulip_probe
	.section	.rodata
	.align	2
.LC45:
	.ascii	": not configured; limit of %d reached or exceeded\012"
	.ascii	"\000"
	.align	2
.LC46:
	.ascii	": not configured; 21040 pass 2.0 required (%d.%d fo"
	.ascii	"und)\012\000"
	.align	2
.LC47:
	.ascii	": not configured; 21140 pass 1.1 required (%d.%d fo"
	.ascii	"und)\012\000"
	.align	2
.LC48:
	.ascii	": unable to map device registers\000"
	.align	2
.LC49:
	.ascii	": error initing bus_dma: %d\012\000"
	.align	2
.LC50:
	.ascii	", %s%s pass %d.%d\000"
	.align	2
.LC51:
	.ascii	": can't read ENET ROM (why=%d) (\000"
	.align	2
.LC52:
	.ascii	"%02x\000"
	.align	2
.LC53:
	.ascii	", address unknown\000"
	.align	2
.LC54:
	.ascii	": couldn't map interrupt\000"
	.align	2
.LC55:
	.ascii	": couldn't establish interrupt\000"
	.align	2
.LC56:
	.ascii	" at %s\000"
	.align	2
.LC57:
	.ascii	" (invalid EESPROM checksum)\000"
	.align	2
.LC58:
	.ascii	"\000"
	.align	2
.LC59:
	.ascii	", %s%s pass %d.%d%s: %s, address %s\012\000"
	.align	2
.LC60:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	tulip_attach
	.syntax unified
	.arm
	.fpu softvfp
	.type	tulip_attach, %function
tulip_attach:
	@ args = 0, pretend = 0, frame = 112
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, fp, lr}
	add	fp, sp, #24
	sub	sp, sp, #140
	str	r0, [fp, #-128]
	str	r1, [fp, #-132]
	str	r2, [fp, #-136]
	ldr	r3, .L972
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	mov	r3,#0
	ldr	r3, [fp, #-132]
	str	r3, [fp, #-100]
	ldr	r3, [fp, #-136]
	str	r3, [fp, #-96]
	ldr	r3, [fp, #-100]
	add	r3, r3, #464
	str	r3, [fp, #-92]
	ldr	r3, [fp, #-100]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-88]
	mov	r3, #0
	str	r3, [fp, #-84]
	mov	r3, #8
	str	r3, [fp, #-80]
	mov	r3, #7
	str	r3, [fp, #-108]
	ldr	r3, [fp, #-88]
	cmp	r3, #31
	ble	.L929
	mov	r1, #32
	ldr	r0, .L972+4
	bl	printf
	b	.L928
.L929:
	ldr	r3, [fp, #-100]
	add	r3, r3, #1376
	add	r3, r3, #4
	mov	r0, r3
	bl	ml_init
	ldr	r3, [fp, #-100]
	add	r3, r3, #1392
	mov	r0, r3
	bl	ml_init
	ldr	r3, [fp, #-96]
	ldr	r0, [r3, #12]
	ldr	r3, [fp, #-96]
	ldr	r3, [r3, #52]
	mov	r2, #8
	mov	r1, r3
	bl	pci_conf_read
	mov	r3, r0
	and	r3, r3, #255
	str	r3, [fp, #-76]
	ldr	r3, [fp, #-96]
	ldr	r0, [r3, #12]
	ldr	r3, [fp, #-96]
	ldr	r3, [r3, #52]
	mov	r2, #0
	mov	r1, r3
	bl	pci_conf_read
	str	r0, [fp, #-72]
	ldr	r3, [fp, #-96]
	ldr	r0, [r3, #12]
	ldr	r3, [fp, #-96]
	ldr	r3, [r3, #52]
	mov	r2, #64
	mov	r1, r3
	bl	pci_conf_read
	str	r0, [fp, #-68]
	ldr	r3, [fp, #-72]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	ldr	r2, .L972+8
	cmp	r3, r2
	bne	.L931
	ldr	r3, [fp, #-72]
	lsr	r3, r3, #16
	cmp	r3, #2
	bne	.L932
	mov	r3, #0
	str	r3, [fp, #-108]
	b	.L931
.L932:
	ldr	r3, [fp, #-72]
	lsr	r3, r3, #16
	cmp	r3, #20
	bne	.L933
	mov	r3, #2
	str	r3, [fp, #-108]
	b	.L931
.L933:
	ldr	r3, [fp, #-72]
	lsr	r3, r3, #16
	cmp	r3, #9
	bne	.L934
	ldr	r3, [fp, #-76]
	cmp	r3, #31
	bls	.L935
	mov	r3, #4
	b	.L936
.L935:
	mov	r3, #3
.L936:
	str	r3, [fp, #-108]
	b	.L931
.L934:
	ldr	r3, [fp, #-72]
	lsr	r3, r3, #16
	cmp	r3, #25
	bne	.L931
	ldr	r3, [fp, #-76]
	cmp	r3, #31
	bls	.L937
	mov	r3, #6
	b	.L938
.L937:
	mov	r3, #5
.L938:
	str	r3, [fp, #-108]
.L931:
	ldr	r3, [fp, #-108]
	cmp	r3, #7
	beq	.L971
	ldr	r3, [fp, #-108]
	cmp	r3, #0
	beq	.L940
	ldr	r3, [fp, #-108]
	cmp	r3, #1
	bne	.L941
.L940:
	ldr	r3, [fp, #-76]
	cmp	r3, #31
	bhi	.L941
	ldr	r3, [fp, #-76]
	lsr	r1, r3, #4
	ldr	r3, [fp, #-76]
	and	r3, r3, #15
	mov	r2, r3
	ldr	r0, .L972+12
	bl	printf
	b	.L928
.L941:
	ldr	r3, [fp, #-108]
	cmp	r3, #3
	bne	.L942
	ldr	r3, [fp, #-76]
	cmp	r3, #16
	bhi	.L942
	ldr	r3, [fp, #-76]
	lsr	r1, r3, #4
	ldr	r3, [fp, #-76]
	and	r3, r3, #15
	mov	r2, r3
	ldr	r0, .L972+16
	bl	printf
	b	.L928
.L942:
	ldr	r3, [fp, #-100]
	ldr	r2, [fp, #-128]
	str	r2, [r3, #2132]
	ldr	r3, [fp, #-96]
	ldr	r3, [r3, #44]
	and	r2, r3, #255
	ldr	r3, [fp, #-100]
	strb	r2, [r3, #2136]
	ldr	r3, [fp, #-100]
	ldr	r2, [fp, #-108]
	str	r2, [r3, #1368]
	ldr	r3, [fp, #-100]
	ldr	r3, [r3, #1248]
	orr	r2, r3, #268435456
	ldr	r3, [fp, #-100]
	str	r2, [r3, #1248]
	ldr	r3, [fp, #-108]
	cmp	r3, #3
	beq	.L943
	ldr	r3, [fp, #-108]
	cmp	r3, #4
	bne	.L944
.L943:
	ldr	r3, [fp, #-100]
	ldr	r3, [r3, #1252]
	orr	r3, r3, #32768
	orr	r3, r3, #1
	ldr	r2, [fp, #-100]
	str	r3, [r2, #1252]
.L944:
	ldr	r3, [fp, #-108]
	cmp	r3, #4
	bne	.L945
	ldr	r3, [fp, #-76]
	cmp	r3, #34
	bhi	.L945
	ldr	r3, [fp, #-100]
	ldr	r3, [r3, #1252]
	orr	r2, r3, #2
	ldr	r3, [fp, #-100]
	str	r2, [r3, #1252]
.L945:
	ldr	r3, [fp, #-108]
	cmp	r3, #3
	bne	.L946
	ldr	r3, [fp, #-100]
	ldr	r3, [r3, #1252]
	orr	r2, r3, #128
	ldr	r3, [fp, #-100]
	str	r2, [r3, #1252]
.L946:
	ldr	r3, [fp, #-108]
	cmp	r3, #0
	beq	.L947
	ldr	r3, [fp, #-108]
	cmp	r3, #1
	beq	.L947
	ldr	r3, [fp, #-108]
	cmp	r3, #3
	beq	.L947
	ldr	r3, [fp, #-100]
	ldr	r3, [r3, #1252]
	orr	r2, r3, #4
	ldr	r3, [fp, #-100]
	str	r2, [r3, #1252]
.L947:
	ldr	r3, [fp, #-108]
	cmp	r3, #2
	beq	.L948
	ldr	r3, [fp, #-108]
	cmp	r3, #5
	beq	.L948
	ldr	r3, [fp, #-108]
	cmp	r3, #6
	bne	.L949
.L948:
	ldr	r3, [fp, #-100]
	ldr	r3, [r3, #1252]
	orr	r2, r3, #32
	ldr	r3, [fp, #-100]
	str	r2, [r3, #1252]
	ldr	r3, [fp, #-108]
	cmp	r3, #2
	bne	.L950
	ldr	r3, [fp, #-76]
	cmp	r3, #31
	bls	.L951
.L950:
	ldr	r3, [fp, #-100]
	ldr	r3, [r3, #1252]
	orr	r2, r3, #16
	ldr	r3, [fp, #-100]
	str	r2, [r3, #1252]
.L951:
	ldr	r3, [fp, #-108]
	cmp	r3, #2
	beq	.L952
	ldr	r3, [fp, #-100]
	ldr	r3, [r3, #1252]
	orr	r3, r3, #32768
	orr	r3, r3, #66
	ldr	r2, [fp, #-100]
	str	r3, [r2, #1252]
.L952:
	ldr	r3, [fp, #-108]
	cmp	r3, #2
	beq	.L949
	ldr	r3, [fp, #-76]
	cmp	r3, #31
	bls	.L949
	ldr	r3, [fp, #-100]
	ldr	r3, [r3, #1252]
	orr	r2, r3, #65536
	ldr	r3, [fp, #-100]
	str	r2, [r3, #1252]
.L949:
	ldr	r3, [fp, #-100]
	ldr	r3, [r3, #1252]
	and	r3, r3, #4
	cmp	r3, #0
	beq	.L953
	ldr	r3, [fp, #-68]
	and	r3, r3, #-1073741824
	cmp	r3, #0
	beq	.L953
	ldr	r3, [fp, #-68]
	bic	r3, r3, #-1073741824
	str	r3, [fp, #-68]
	ldr	r3, [fp, #-96]
	ldr	r0, [r3, #12]
	ldr	r3, [fp, #-96]
	ldr	r1, [r3, #52]
	ldr	r3, [fp, #-68]
	mov	r2, #64
	bl	pci_conf_write
	ldr	r3, .L972+20
	ldr	r3, [r3]
	ldr	r0, .L972+24
	blx	r3
.L953:
	ldr	r3, [fp, #-100]
	ldr	r3, [r3, #1252]
	and	r3, r3, #32768
	cmp	r3, #0
	beq	.L954
	ldr	r3, [fp, #-100]
	ldr	r3, [r3, #1260]
	orr	r2, r3, #2097152
	ldr	r3, [fp, #-100]
	str	r2, [r3, #1260]
.L954:
	ldr	r3, [fp, #-132]
	add	r1, r3, #20
	ldr	r3, [fp, #-100]
	add	r3, r3, #520
	mov	r2, #16
	mov	r0, r3
	bl	memmove
	ldr	r3, [fp, #-100]
	ldr	r2, [fp, #-100]
	str	r2, [r3, #464]
	ldr	r3, [fp, #-96]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-100]
	str	r2, [r3, #64]
	ldr	r3, [fp, #-96]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-100]
	str	r2, [r3, #120]
	ldr	r3, [fp, #-76]
	and	r2, r3, #255
	ldr	r3, [fp, #-100]
	strb	r2, [r3, #1336]
	ldr	r3, [fp, #-100]
	add	r3, r3, #1152
	add	r3, r3, #8
	ldr	r2, [fp, #-100]
	ldr	r1, .L972+28
	mov	r0, r3
	bl	timeout_set
	mov	r3, #0
	str	r3, [fp, #-64]
	mov	r3, #0
	str	r3, [sp, #16]
	mov	r3, #0
	str	r3, [sp, #12]
	mov	r3, #0
	str	r3, [sp, #8]
	sub	r3, fp, #116
	str	r3, [sp, #4]
	sub	r3, fp, #124
	str	r3, [sp]
	mov	r3, #0
	mov	r2, #1
	mov	r1, #16
	ldr	r0, [fp, #-96]
	bl	pci_mapreg_map
	mov	r3, r0
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-60]
	mov	r3, #0
	str	r3, [sp, #16]
	mov	r3, #0
	str	r3, [sp, #12]
	mov	r3, #0
	str	r3, [sp, #8]
	sub	r3, fp, #44
	str	r3, [sp, #4]
	sub	r3, fp, #120
	str	r3, [sp]
	mov	r3, #0
	mov	r2, #0
	mov	r1, #20
	ldr	r0, [fp, #-96]
	bl	pci_mapreg_map
	mov	r3, r0
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	beq	.L955
	ldr	r2, [fp, #-120]
	ldr	r3, [fp, #-100]
	str	r2, [r3, #56]
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-100]
	str	r2, [r3, #60]
	b	.L956
.L955:
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	beq	.L957
	ldr	r2, [fp, #-124]
	ldr	r3, [fp, #-100]
	str	r2, [r3, #56]
	ldr	r2, [fp, #-116]
	ldr	r3, [fp, #-100]
	str	r2, [r3, #60]
	b	.L956
.L957:
	ldr	r0, .L972+32
	bl	puts
	b	.L928
.L956:
	ldr	r2, [fp, #-64]
	ldr	r3, [fp, #-84]
	add	r3, r2, r3
	ldr	r2, [fp, #-80]
	mov	r1, r3
	ldr	r0, [fp, #-100]
	bl	tulip_initcsrs
	ldr	r0, [fp, #-100]
	bl	tulip_busdma_init
	str	r0, [fp, #-52]
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	beq	.L958
	ldr	r1, [fp, #-52]
	ldr	r0, .L972+36
	bl	printf
	b	.L928
.L958:
	ldr	r3, [fp, #-100]
	add	r1, r3, #1456
	add	r1, r1, #8
	ldr	r3, [fp, #-100]
	ldr	r2, [r3, #2144]
	mov	r3, #48
	ldr	r0, [fp, #-100]
	bl	tulip_initring
	ldr	r3, [fp, #-100]
	add	r1, r3, #1488
	ldr	r3, [fp, #-100]
	ldr	r2, [r3, #2148]
	mov	r3, #32
	ldr	r0, [fp, #-100]
	bl	tulip_initring
	ldr	r3, [fp, #-100]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-100]
	ldr	r0, [r2, #60]
	ldr	r2, [fp, #-100]
	ldr	r1, [r2, #1184]
	mov	r2, #1
	blx	r3
	ldr	r3, .L972+20
	ldr	r3, [r3]
	mov	r0, #100
	blx	r3
	ldr	r0, [fp, #-100]
	bl	tulip_read_macaddr
	str	r0, [fp, #-52]
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	bge	.L959
	ldr	r3, [fp, #-100]
	add	r1, r3, #1984
	add	r1, r1, #4
	ldr	r3, [fp, #-100]
	ldr	r3, [r3, #1368]
	ldr	r2, .L972+40
	ldr	r2, [r2, r3, lsl #2]
	ldr	r3, [fp, #-100]
	ldrb	r3, [r3, #1336]	@ zero_extendqisi2
	lsr	r3, r3, #4
	and	r3, r3, #255
	mov	r0, r3
	ldr	r3, [fp, #-100]
	ldrb	r3, [r3, #1336]	@ zero_extendqisi2
	and	r3, r3, #15
	str	r3, [sp]
	mov	r3, r0
	ldr	r0, .L972+44
	bl	printf
	ldr	r1, [fp, #-52]
	ldr	r0, .L972+48
	bl	printf
	mov	r3, #0
	str	r3, [fp, #-112]
	b	.L960
.L961:
	ldr	r2, [fp, #-100]
	ldr	r3, [fp, #-112]
	add	r3, r2, r3
	add	r3, r3, #2000
	add	r3, r3, #4
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r0, .L972+52
	bl	printf
	ldr	r3, [fp, #-112]
	add	r3, r3, #1
	str	r3, [fp, #-112]
.L960:
	ldr	r3, [fp, #-112]
	cmp	r3, #31
	ble	.L961
	ldr	r0, .L972+56
	bl	puts
	b	.L928
.L959:
	ldr	r3, .L972+60
	str	r3, [fp, #-104]
	ldr	r3, [fp, #-100]
	ldr	r3, [r3, #1252]
	and	r3, r3, #4096
	cmp	r3, #0
	beq	.L962
	ldr	r3, .L972+64
	str	r3, [fp, #-104]
.L962:
	ldr	r3, [fp, #-100]
	ldr	r3, [r3, #1252]
	and	r3, r3, #2048
	cmp	r3, #0
	bne	.L963
	sub	r3, fp, #44
	mov	r1, r3
	ldr	r0, [fp, #-96]
	bl	pci_intr_map
	mov	r3, r0
	cmp	r3, #0
	beq	.L964
	ldr	r0, .L972+68
	bl	puts
	b	.L928
.L964:
	ldr	r3, [fp, #-96]
	ldr	r0, [r3, #12]
	sub	r3, fp, #44
	ldm	r3, {r1, r2, r3}
	bl	pci_intr_string
	str	r0, [fp, #-48]
	ldr	r3, [fp, #-96]
	ldr	r0, [r3, #12]
	ldr	r3, [fp, #-132]
	add	r3, r3, #20
	str	r3, [sp, #12]
	ldr	r3, [fp, #-100]
	str	r3, [sp, #8]
	ldr	r3, [fp, #-104]
	str	r3, [sp, #4]
	mov	r3, #7
	str	r3, [sp]
	sub	r3, fp, #44
	ldm	r3, {r1, r2, r3}
	bl	pci_intr_establish
	mov	r2, r0
	ldr	r3, [fp, #-100]
	str	r2, [r3, #48]
	ldr	r3, [fp, #-100]
	ldr	r3, [r3, #48]
	cmp	r3, #0
	bne	.L966
	ldr	r0, .L972+72
	bl	printf
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	beq	.L967
	ldr	r1, [fp, #-48]
	ldr	r0, .L972+76
	bl	printf
.L967:
	mov	r0, #10
	bl	putchar
	b	.L928
.L966:
	ldr	r3, [fp, #-100]
	add	r4, r3, #1984
	add	r4, r4, #4
	ldr	r3, [fp, #-100]
	ldr	r3, [r3, #1368]
	ldr	r2, .L972+40
	ldr	r7, [r2, r3, lsl #2]
	ldr	r3, [fp, #-100]
	ldrb	r3, [r3, #1336]	@ zero_extendqisi2
	lsr	r3, r3, #4
	and	r3, r3, #255
	mov	r8, r3
	ldr	r3, [fp, #-100]
	ldrb	r3, [r3, #1336]	@ zero_extendqisi2
	and	r5, r3, #15
	ldr	r3, [fp, #-100]
	ldr	r2, [r3, #1252]
	ldr	r3, .L972+80
	and	r3, r3, r2
	cmp	r3, #256
	bne	.L968
	ldr	r6, .L972+84
	b	.L969
.L968:
	ldr	r6, .L972+88
.L969:
	ldr	r3, [fp, #-100]
	add	r3, r3, #1136
	mov	r0, r3
	bl	ether_sprintf
	mov	r3, r0
	str	r3, [sp, #12]
	ldr	r3, [fp, #-48]
	str	r3, [sp, #8]
	str	r6, [sp, #4]
	str	r5, [sp]
	mov	r3, r8
	mov	r2, r7
	mov	r1, r4
	ldr	r0, .L972+92
	bl	printf
.L963:
	ldr	r3, [fp, #-92]
	ldr	r2, .L972+96
	strh	r2, [r3, #102]	@ movhi
	ldr	r3, [fp, #-92]
	ldr	r2, .L972+100
	str	r2, [r3, #392]
	ldr	r3, [fp, #-92]
	ldr	r2, .L972+104
	str	r2, [r3, #388]
	ldr	r3, [fp, #-92]
	ldr	r2, .L972+108
	str	r2, [r3, #396]
	ldr	r3, [fp, #-92]
	mov	r2, #1
	strh	r2, [r3, #100]	@ movhi
	ldr	r3, [fp, #-100]
	ldr	r3, [r3, #1372]
	ldr	r3, [r3, #4]
	ldr	r0, [fp, #-100]
	blx	r3
	ldr	r3, [fp, #-100]
	add	r1, r3, #80
	ldr	r3, .L972+112
	str	r3, [sp, #4]
	ldr	r3, .L972+116
	str	r3, [sp]
	mov	r2, #0
	mov	r3, #0
	mov	r0, r1
	bl	ifmedia_init
	ldr	r3, [fp, #-100]
	ldr	r3, [r3, #1248]
	bic	r2, r3, #268435456
	ldr	r3, [fp, #-100]
	str	r2, [r3, #1248]
	ldr	r0, [fp, #-100]
	bl	tulip_ifmedia_add
	ldr	r0, [fp, #-100]
	bl	tulip_reset
	ldr	r0, [fp, #-92]
	bl	if_attach
	ldr	r0, [fp, #-92]
	bl	ether_ifattach
	b	.L928
.L971:
	nop
.L928:
	ldr	r3, .L972
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L970
	bl	__stack_chk_fail
.L970:
	sub	sp, fp, #24
	@ sp needed
	pop	{r4, r5, r6, r7, r8, fp, pc}
.L973:
	.align	2
.L972:
	.word	.LC60
	.word	.LC45
	.word	4113
	.word	.LC46
	.word	.LC47
	.word	delay_func
	.word	11000
	.word	tulip_timeout_callback
	.word	.LC48
	.word	.LC49
	.word	tulip_chipdescs
	.word	.LC50
	.word	.LC51
	.word	.LC52
	.word	.LC53
	.word	tulip_intr_normal
	.word	tulip_intr_shared
	.word	.LC54
	.word	.LC55
	.word	.LC56
	.word	131328
	.word	.LC57
	.word	.LC58
	.word	.LC59
	.word	-30718
	.word	tulip_ifioctl
	.word	tulip_ifstart
	.word	tulip_ifwatchdog
	.word	tulip_ifmedia_status
	.word	tulip_ifmedia_change
	.size	tulip_attach, .-tulip_attach
	.section	.rodata
	.align	2
	.type	table.9502, %object
	.size	table.9502, 32
table.9502:
	.word	0
	.word	1
	.word	7
	.word	9
	.word	0
	.word	2
	.word	8
	.word	0
	.align	2
	.type	testpat.9831, %object
	.size	testpat.9831, 8
testpat.9831:
	.ascii	"\377\000U\252\377\000U\252"
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
