	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function efx_print_product_vpd
_efx_print_product_vpd:                 ## @efx_print_product_vpd
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	pushq	%r15
	pushq	%r14
	pushq	%r12
	pushq	%rbx
	subq	$16, %rsp
	.cfi_offset %rbx, -48
	.cfi_offset %r12, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	%rdi, %r14
	movq	___stack_chk_guard@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, -40(%rbp)
	movq	8(%rdi), %r12
	movq	_SFC_VPD_LEN@GOTPCREL(%rip), %rax
	movl	(%rax), %ebx
	movq	%rbx, %rax
	callq	____chkstk_darwin
	addq	$15, %rax
	andq	$-16, %rax
	subq	%rax, %rsp
	movq	%rsp, %r15
	movq	%r12, %rdi
	xorl	%esi, %esi
	movl	%ebx, %edx
	movq	%r15, %rcx
	callq	_pci_read_vpd
	testl	%eax, %eax
	jle	LBB0_1
## %bb.2:
	movl	%eax, %r12d
	movq	_PCI_VPD_LRDT_RO_DATA@GOTPCREL(%rip), %rax
	movl	(%rax), %ecx
	movq	%r15, %rdi
	xorl	%esi, %esi
	movl	%r12d, %edx
	callq	_pci_vpd_find_tag
	testl	%eax, %eax
	js	LBB0_3
## %bb.4:
	movl	%eax, %ebx
	movl	%eax, %edi
	addq	%r15, %rdi
	callq	_pci_vpd_lrdt_size
                                        ## kill: def $eax killed $eax def $rax
	movq	_PCI_VPD_LRDT_TAG_SIZE@GOTPCREL(%rip), %rcx
	movl	(%rcx), %esi
	addl	%ebx, %esi
	leal	(%rsi,%rax), %ecx
	movl	%r12d, %edx
	subl	%esi, %edx
	cmpl	%r12d, %ecx
	cmovlel	%eax, %edx
	leaq	L_.str.2(%rip), %rcx
	movq	%r15, %rdi
                                        ## kill: def $esi killed $esi killed $rsi
	callq	_pci_vpd_find_info_keyword
	testl	%eax, %eax
	js	LBB0_5
## %bb.6:
	movl	%eax, %ebx
	movl	%eax, %edi
	addq	%r15, %rdi
	callq	_pci_vpd_info_field_size
                                        ## kill: def $eax killed $eax def $rax
	movq	_PCI_VPD_INFO_FLD_HDR_SIZE@GOTPCREL(%rip), %rcx
	movl	(%rcx), %ecx
	addl	%ebx, %ecx
	leal	(%rcx,%rax), %edi
	movq	_drv@GOTPCREL(%rip), %rdx
	movl	(%rdx), %esi
	movl	(%r14), %edx
	cmpl	%r12d, %edi
	jle	LBB0_9
## %bb.7:
	leaq	L_.str.4(%rip), %rcx
	jmp	LBB0_8
LBB0_1:
	movq	_drv@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movl	(%r14), %edx
	leaq	L_.str(%rip), %rcx
	jmp	LBB0_8
LBB0_3:
	movq	_drv@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movl	(%r14), %edx
	leaq	L_.str.1(%rip), %rcx
	jmp	LBB0_8
LBB0_5:
	movq	_drv@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movl	(%r14), %edx
	leaq	L_.str.3(%rip), %rcx
LBB0_8:
	movq	%r14, %rdi
	callq	_netif_err
LBB0_10:
	movq	___stack_chk_guard@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	cmpq	-40(%rbp), %rax
	jne	LBB0_12
## %bb.11:
	leaq	-32(%rbp), %rsp
	popq	%rbx
	popq	%r12
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_9:
	movslq	%ecx, %rcx
	addq	%rcx, %r15
	leaq	L_.str.5(%rip), %rcx
	movq	%r14, %rdi
	movl	%eax, %r8d
	movq	%r15, %r9
	callq	_netif_info
	jmp	LBB0_10
LBB0_12:
	callq	___stack_chk_fail
	.cfi_endproc
                                        ## -- End function
	.comm	_SFC_VPD_LEN,4,2                ## @SFC_VPD_LEN
	.comm	_drv,4,2                        ## @drv
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"Unable to read VPD\n"

	.comm	_PCI_VPD_LRDT_RO_DATA,4,2       ## @PCI_VPD_LRDT_RO_DATA
L_.str.1:                               ## @.str.1
	.asciz	"VPD Read-only not found\n"

	.comm	_PCI_VPD_LRDT_TAG_SIZE,8,3      ## @PCI_VPD_LRDT_TAG_SIZE
L_.str.2:                               ## @.str.2
	.asciz	"PN"

L_.str.3:                               ## @.str.3
	.asciz	"Part number not found\n"

	.comm	_PCI_VPD_INFO_FLD_HDR_SIZE,8,3  ## @PCI_VPD_INFO_FLD_HDR_SIZE
L_.str.4:                               ## @.str.4
	.asciz	"Incomplete part number\n"

L_.str.5:                               ## @.str.5
	.asciz	"Part Number : %.*s\n"

	.no_dead_strip	_efx_print_product_vpd
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function efx_print_product_vpd
_efx_print_product_vpd:                 ; @efx_print_product_vpd
	.cfi_startproc
; %bb.0:
	stp	x22, x21, [sp, #-48]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 48
	stp	x20, x19, [sp, #16]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #32]             ; 16-byte Folded Spill
	add	x29, sp, #32
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	.cfi_offset w19, -24
	.cfi_offset w20, -32
	.cfi_offset w21, -40
	.cfi_offset w22, -48
	sub	sp, sp, #16
	mov	x19, x0
Lloh0:
	adrp	x8, ___stack_chk_guard@GOTPAGE
Lloh1:
	ldr	x8, [x8, ___stack_chk_guard@GOTPAGEOFF]
Lloh2:
	ldr	x8, [x8]
	stur	x8, [x29, #-40]
	ldr	x0, [x0, #8]
Lloh3:
	adrp	x8, _SFC_VPD_LEN@GOTPAGE
Lloh4:
	ldr	x8, [x8, _SFC_VPD_LEN@GOTPAGEOFF]
Lloh5:
	ldr	w2, [x8]
	mov	x9, x2
Lloh6:
	adrp	x16, ___chkstk_darwin@GOTPAGE
Lloh7:
	ldr	x16, [x16, ___chkstk_darwin@GOTPAGEOFF]
	blr	x16
	mov	x8, sp
	add	x9, x2, #15
	and	x9, x9, #0x1fffffff0
	sub	x20, x8, x9
	mov	sp, x20
	mov	w1, #0
                                        ; kill: def $w2 killed $w2 killed $x2
	mov	x3, x20
	bl	_pci_read_vpd
	cmp	w0, #0
	b.le	LBB0_5
; %bb.1:
	mov	x21, x0
Lloh8:
	adrp	x8, _PCI_VPD_LRDT_RO_DATA@GOTPAGE
Lloh9:
	ldr	x8, [x8, _PCI_VPD_LRDT_RO_DATA@GOTPAGEOFF]
Lloh10:
	ldr	w3, [x8]
	mov	x0, x20
	mov	w1, #0
	mov	x2, x21
	bl	_pci_vpd_find_tag
	tbnz	w0, #31, LBB0_6
; %bb.2:
	mov	x22, x0
	add	x0, x20, w0, uxtw
	bl	_pci_vpd_lrdt_size
Lloh11:
	adrp	x8, _PCI_VPD_LRDT_TAG_SIZE@GOTPAGE
Lloh12:
	ldr	x8, [x8, _PCI_VPD_LRDT_TAG_SIZE@GOTPAGEOFF]
Lloh13:
	ldr	w8, [x8]
	add	w1, w22, w8
	add	w8, w1, w0
	sub	w9, w21, w1
	cmp	w8, w21
	csel	w2, w9, w0, gt
Lloh14:
	adrp	x3, l_.str.2@PAGE
Lloh15:
	add	x3, x3, l_.str.2@PAGEOFF
	mov	x0, x20
	bl	_pci_vpd_find_info_keyword
	tbnz	w0, #31, LBB0_7
; %bb.3:
	mov	x22, x0
	add	x0, x20, w0, uxtw
	bl	_pci_vpd_info_field_size
Lloh16:
	adrp	x8, _PCI_VPD_INFO_FLD_HDR_SIZE@GOTPAGE
Lloh17:
	ldr	x8, [x8, _PCI_VPD_INFO_FLD_HDR_SIZE@GOTPAGEOFF]
Lloh18:
	ldr	w8, [x8]
	add	w8, w22, w8
	add	w9, w8, w0
Lloh19:
	adrp	x10, _drv@GOTPAGE
Lloh20:
	ldr	x10, [x10, _drv@GOTPAGEOFF]
Lloh21:
	ldr	w1, [x10]
	ldr	w2, [x19]
	cmp	w9, w21
	b.le	LBB0_11
; %bb.4:
Lloh22:
	adrp	x3, l_.str.4@PAGE
Lloh23:
	add	x3, x3, l_.str.4@PAGEOFF
	b	LBB0_8
LBB0_5:
Lloh24:
	adrp	x8, _drv@GOTPAGE
Lloh25:
	ldr	x8, [x8, _drv@GOTPAGEOFF]
Lloh26:
	ldr	w1, [x8]
	ldr	w2, [x19]
Lloh27:
	adrp	x3, l_.str@PAGE
Lloh28:
	add	x3, x3, l_.str@PAGEOFF
	b	LBB0_8
LBB0_6:
Lloh29:
	adrp	x8, _drv@GOTPAGE
Lloh30:
	ldr	x8, [x8, _drv@GOTPAGEOFF]
Lloh31:
	ldr	w1, [x8]
	ldr	w2, [x19]
Lloh32:
	adrp	x3, l_.str.1@PAGE
Lloh33:
	add	x3, x3, l_.str.1@PAGEOFF
	b	LBB0_8
LBB0_7:
Lloh34:
	adrp	x8, _drv@GOTPAGE
Lloh35:
	ldr	x8, [x8, _drv@GOTPAGEOFF]
Lloh36:
	ldr	w1, [x8]
	ldr	w2, [x19]
Lloh37:
	adrp	x3, l_.str.3@PAGE
Lloh38:
	add	x3, x3, l_.str.3@PAGEOFF
LBB0_8:
	mov	x0, x19
	bl	_netif_err
LBB0_9:
	ldur	x8, [x29, #-40]
Lloh39:
	adrp	x9, ___stack_chk_guard@GOTPAGE
Lloh40:
	ldr	x9, [x9, ___stack_chk_guard@GOTPAGEOFF]
Lloh41:
	ldr	x9, [x9]
	cmp	x9, x8
	b.ne	LBB0_12
; %bb.10:
	sub	sp, x29, #32
	ldp	x29, x30, [sp, #32]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #16]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp], #48             ; 16-byte Folded Reload
	ret
LBB0_11:
	mov	x4, x0
	add	x5, x20, w8, sxtw
Lloh42:
	adrp	x3, l_.str.5@PAGE
Lloh43:
	add	x3, x3, l_.str.5@PAGEOFF
	mov	x0, x19
	bl	_netif_info
	b	LBB0_9
LBB0_12:
	bl	___stack_chk_fail
	.loh AdrpLdrGot	Lloh6, Lloh7
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGotLdr	Lloh8, Lloh9, Lloh10
	.loh AdrpAdd	Lloh14, Lloh15
	.loh AdrpLdrGotLdr	Lloh11, Lloh12, Lloh13
	.loh AdrpLdrGotLdr	Lloh19, Lloh20, Lloh21
	.loh AdrpLdrGotLdr	Lloh16, Lloh17, Lloh18
	.loh AdrpAdd	Lloh22, Lloh23
	.loh AdrpAdd	Lloh27, Lloh28
	.loh AdrpLdrGotLdr	Lloh24, Lloh25, Lloh26
	.loh AdrpAdd	Lloh32, Lloh33
	.loh AdrpLdrGotLdr	Lloh29, Lloh30, Lloh31
	.loh AdrpAdd	Lloh37, Lloh38
	.loh AdrpLdrGotLdr	Lloh34, Lloh35, Lloh36
	.loh AdrpLdrGotLdr	Lloh39, Lloh40, Lloh41
	.loh AdrpAdd	Lloh42, Lloh43
	.cfi_endproc
                                        ; -- End function
	.comm	_SFC_VPD_LEN,4,2                ; @SFC_VPD_LEN
	.comm	_drv,4,2                        ; @drv
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"Unable to read VPD\n"

	.comm	_PCI_VPD_LRDT_RO_DATA,4,2       ; @PCI_VPD_LRDT_RO_DATA
l_.str.1:                               ; @.str.1
	.asciz	"VPD Read-only not found\n"

	.comm	_PCI_VPD_LRDT_TAG_SIZE,8,3      ; @PCI_VPD_LRDT_TAG_SIZE
l_.str.2:                               ; @.str.2
	.asciz	"PN"

l_.str.3:                               ; @.str.3
	.asciz	"Part number not found\n"

	.comm	_PCI_VPD_INFO_FLD_HDR_SIZE,8,3  ; @PCI_VPD_INFO_FLD_HDR_SIZE
l_.str.4:                               ; @.str.4
	.asciz	"Incomplete part number\n"

l_.str.5:                               ; @.str.5
	.asciz	"Part Number : %.*s\n"

	.no_dead_strip	_efx_print_product_vpd
.subsections_via_symbols
