	.file	"extr_ksz884x.c_netdev_get_eeprom.c"
	.intel_syntax noprefix
	.text
	.p2align 4
	.type	netdev_get_eeprom, @function
netdev_get_eeprom:
.LFB0:
	.cfi_startproc
	endbr64
	push	r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	push	r14
	.cfi_def_cfa_offset 24
	.cfi_offset 14, -24
	push	r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	mov	r13, rsi
	push	r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	push	rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	push	rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	sub	rsp, 24
	.cfi_def_cfa_offset 80
	mov	QWORD PTR 8[rsp], rdx
	call	netdev_priv@PLT
	mov	r8d, DWORD PTR 4[r13]
	mov	rbx, QWORD PTR eeprom_data[rip]
	mov	r12, QWORD PTR [rax]
	movsx	rax, DWORD PTR 0[r13]
	mov	QWORD PTR [rsp], rbx
	lea	edx, 1[r8+rax]
	mov	ebp, edx
	shr	ebp, 31
	add	ebp, edx
	mov	edx, eax
	shr	edx, 31
	sar	ebp
	add	edx, eax
	sar	edx
	cmp	ebp, edx
	jle	.L2
	movsx	rcx, edx
	mov	r15d, edx
	lea	r14, 0[0+rcx*4]
	jmp	.L4
	.p2align 4,,10
	.p2align 3
.L3:
	mov	rbx, QWORD PTR eeprom_data[rip]
.L4:
	mov	esi, r15d
	mov	rdi, r12
	add	rbx, r14
	add	r15d, 1
	call	eeprom_read@PLT
	add	r14, 4
	mov	DWORD PTR [rbx], eax
	cmp	ebp, r15d
	jne	.L3
	mov	r8d, DWORD PTR 4[r13]
	movsx	rax, DWORD PTR 0[r13]
.L2:
	mov	edx, DWORD PTR EEPROM_MAGIC[rip]
	mov	rcx, QWORD PTR [rsp]
	mov	rdi, QWORD PTR 8[rsp]
	mov	DWORD PTR 8[r13], edx
	lea	rsi, [rcx+rax*4]
	mov	edx, r8d
	call	memcpy@PLT
	add	rsp, 24
	.cfi_def_cfa_offset 56
	xor	eax, eax
	pop	rbx
	.cfi_def_cfa_offset 48
	pop	rbp
	.cfi_def_cfa_offset 40
	pop	r12
	.cfi_def_cfa_offset 32
	pop	r13
	.cfi_def_cfa_offset 24
	pop	r14
	.cfi_def_cfa_offset 16
	pop	r15
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE0:
	.size	netdev_get_eeprom, .-netdev_get_eeprom
	.comm	eeprom_data,8,8
	.comm	EEPROM_MAGIC,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.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, 2
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"extr_ksz884x.c_netdev_get_eeprom.c"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	netdev_get_eeprom, %function
netdev_get_eeprom:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 0, uses_anonymous_args = 0
	push	{r3, r4, r5, r6, r7, r8, r9, r10, fp, lr}
	mov	r9, r1
	mov	r10, r2
	bl	netdev_priv
	ldm	r9, {r1, r2}
	add	r5, r1, r2
	add	r4, r1, r1, lsr #31
	add	r5, r5, #1
	ldr	r7, .L7
	add	r5, r5, r5, lsr #31
	asr	r4, r4, #1
	cmp	r4, r5, asr #1
	ldr	r8, [r0]
	ldr	fp, [r7]
	bge	.L2
	mov	r6, fp
	asr	r5, r5, #1
	b	.L4
.L3:
	ldr	r6, [r7]
.L4:
	mov	r1, r4
	mov	r0, r8
	bl	eeprom_read
	str	r0, [r6, r4, lsl #2]
	add	r4, r4, #1
	cmp	r5, r4
	bne	.L3
	ldm	r9, {r1, r2}
.L2:
	ldr	r3, .L7+4
	mov	r0, r10
	ldr	r3, [r3]
	add	r1, fp, r1, lsl #2
	str	r3, [r9, #8]
	bl	memcpy
	mov	r0, #0
	pop	{r3, r4, r5, r6, r7, r8, r9, r10, fp, pc}
.L8:
	.align	2
.L7:
	.word	eeprom_data
	.word	EEPROM_MAGIC
	.size	netdev_get_eeprom, .-netdev_get_eeprom
	.comm	eeprom_data,4,4
	.comm	EEPROM_MAGIC,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
