	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function iflib_register
_iflib_register:                        ## @iflib_register
	.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	%r13
	pushq	%r12
	pushq	%rbx
	pushq	%rax
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	%rdi, %r15
	movq	48(%rdi), %r14
	movq	8(%r14), %r13
	movl	40(%rdi), %r12d
	movq	%r14, %rdi
	callq	__iflib_assert
	movq	%r15, %rdi
	callq	_CTX_LOCK_INIT
	movl	40(%r15), %edi
	callq	_device_get_nameunit
	movq	%r15, %rdi
	movl	%eax, %esi
	callq	_STATE_LOCK_INIT
	movq	_IFT_ETHER@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	callq	_if_alloc
	movq	%rax, 32(%r15)
	testq	%rax, %rax
	je	LBB0_1
## %bb.2:
	movq	%rax, %rbx
	movl	%r15d, %edi
	movl	%r13d, %esi
	callq	_kobj_init
	movl	%r13d, %edi
	callq	_kobj_class_compile
	movl	%r12d, %edi
	callq	_device_get_name
	movl	%eax, %r13d
	movl	%r12d, %edi
	callq	_device_get_unit
	movq	%rbx, %rdi
	movl	%r13d, %esi
	movl	%eax, %edx
	callq	_if_initname
	movq	%rbx, %rdi
	movq	%r15, %rsi
	callq	_if_setsoftc
	movq	%rbx, %rdi
	movl	%r12d, %esi
	callq	_if_setdev
	movq	_iflib_if_init@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%rbx, %rdi
	callq	_if_setinitfn
	movq	_iflib_if_ioctl@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%rbx, %rdi
	callq	_if_setioctlfn
	movq	_iflib_if_transmit@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%rbx, %rdi
	callq	_if_settransmitfn
	movq	_iflib_if_qflush@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%rbx, %rdi
	callq	_if_setqflushfn
	movq	_IFF_BROADCAST@GOTPCREL(%rip), %rax
	movq	_IFF_SIMPLEX@GOTPCREL(%rip), %rcx
	movl	(%rcx), %esi
	orl	(%rax), %esi
	movq	_IFF_MULTICAST@GOTPCREL(%rip), %rax
	orl	(%rax), %esi
	movq	%rbx, %rdi
	callq	_if_setflags
	movq	_vlan_config@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	_iflib_vlan_register@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_EVENTHANDLER_PRI_FIRST@GOTPCREL(%rip), %rbx
	movl	(%rbx), %ecx
	movq	%r15, %rdx
	callq	_EVENTHANDLER_REGISTER
	movq	%rax, 24(%r15)
	movq	_vlan_unconfig@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	_iflib_vlan_unregister@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movl	(%rbx), %ecx
	movq	%r15, %rdx
	callq	_EVENTHANDLER_REGISTER
	movq	%rax, 16(%r15)
	movq	_IFLIB_DRIVER_MEDIA@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	xorl	%ebx, %ebx
	testl	%eax, (%r14)
	jne	LBB0_4
## %bb.3:
	leaq	8(%r15), %rdi
	movq	%rdi, (%r15)
	movq	_IFM_IMASK@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_iflib_media_change@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	_iflib_media_status@GOTPCREL(%rip), %rax
	movl	(%rax), %ecx
	callq	_ifmedia_init
	jmp	LBB0_4
LBB0_1:
	leaq	L_.str(%rip), %rsi
	movl	%r12d, %edi
	callq	_device_printf
	movq	_ENOMEM@GOTPCREL(%rip), %rax
	movl	(%rax), %ebx
LBB0_4:
	movl	%ebx, %eax
	addq	$8, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_IFT_ETHER,4,2                  ## @IFT_ETHER
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"can not allocate ifnet structure\n"

	.comm	_ENOMEM,4,2                     ## @ENOMEM
	.comm	_iflib_if_init,4,2              ## @iflib_if_init
	.comm	_iflib_if_ioctl,4,2             ## @iflib_if_ioctl
	.comm	_iflib_if_transmit,4,2          ## @iflib_if_transmit
	.comm	_iflib_if_qflush,4,2            ## @iflib_if_qflush
	.comm	_IFF_BROADCAST,4,2              ## @IFF_BROADCAST
	.comm	_IFF_SIMPLEX,4,2                ## @IFF_SIMPLEX
	.comm	_IFF_MULTICAST,4,2              ## @IFF_MULTICAST
	.comm	_vlan_config,4,2                ## @vlan_config
	.comm	_iflib_vlan_register,4,2        ## @iflib_vlan_register
	.comm	_EVENTHANDLER_PRI_FIRST,4,2     ## @EVENTHANDLER_PRI_FIRST
	.comm	_vlan_unconfig,4,2              ## @vlan_unconfig
	.comm	_iflib_vlan_unregister,4,2      ## @iflib_vlan_unregister
	.comm	_IFLIB_DRIVER_MEDIA,4,2         ## @IFLIB_DRIVER_MEDIA
	.comm	_IFM_IMASK,4,2                  ## @IFM_IMASK
	.comm	_iflib_media_change,4,2         ## @iflib_media_change
	.comm	_iflib_media_status,4,2         ## @iflib_media_status
	.comm	_iflib_altq_if_start,4,2        ## @iflib_altq_if_start
	.comm	_iflib_altq_if_transmit,4,2     ## @iflib_altq_if_transmit
	.no_dead_strip	_iflib_register
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function iflib_register
_iflib_register:                        ; @iflib_register
	.cfi_startproc
; %bb.0:
	stp	x24, x23, [sp, #-64]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 64
	stp	x22, x21, [sp, #16]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #32]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #48]             ; 16-byte Folded Spill
	add	x29, sp, #48
	.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
	.cfi_offset w23, -56
	.cfi_offset w24, -64
	mov	x19, x0
	ldr	x20, [x0, #48]
	ldr	x23, [x20, #8]
	ldr	w22, [x0, #40]
	mov	x0, x20
	bl	__iflib_assert
	mov	x0, x19
	bl	_CTX_LOCK_INIT
	ldr	w0, [x19, #40]
	bl	_device_get_nameunit
	mov	x1, x0
	mov	x0, x19
	bl	_STATE_LOCK_INIT
Lloh0:
	adrp	x8, _IFT_ETHER@GOTPAGE
Lloh1:
	ldr	x8, [x8, _IFT_ETHER@GOTPAGEOFF]
Lloh2:
	ldr	w0, [x8]
	bl	_if_alloc
	str	x0, [x19, #32]
	cbz	x0, LBB0_4
; %bb.1:
	mov	x21, x0
	mov	x0, x19
	mov	x1, x23
	bl	_kobj_init
	mov	x0, x23
	bl	_kobj_class_compile
	mov	x0, x22
	bl	_device_get_name
	mov	x23, x0
	mov	x0, x22
	bl	_device_get_unit
	mov	x2, x0
	mov	x0, x21
	mov	x1, x23
	bl	_if_initname
	mov	x0, x21
	mov	x1, x19
	bl	_if_setsoftc
	mov	x0, x21
	mov	x1, x22
	bl	_if_setdev
Lloh3:
	adrp	x8, _iflib_if_init@GOTPAGE
Lloh4:
	ldr	x8, [x8, _iflib_if_init@GOTPAGEOFF]
Lloh5:
	ldr	w1, [x8]
	mov	x0, x21
	bl	_if_setinitfn
Lloh6:
	adrp	x8, _iflib_if_ioctl@GOTPAGE
Lloh7:
	ldr	x8, [x8, _iflib_if_ioctl@GOTPAGEOFF]
Lloh8:
	ldr	w1, [x8]
	mov	x0, x21
	bl	_if_setioctlfn
Lloh9:
	adrp	x8, _iflib_if_transmit@GOTPAGE
Lloh10:
	ldr	x8, [x8, _iflib_if_transmit@GOTPAGEOFF]
Lloh11:
	ldr	w1, [x8]
	mov	x0, x21
	bl	_if_settransmitfn
Lloh12:
	adrp	x8, _iflib_if_qflush@GOTPAGE
Lloh13:
	ldr	x8, [x8, _iflib_if_qflush@GOTPAGEOFF]
Lloh14:
	ldr	w1, [x8]
	mov	x0, x21
	bl	_if_setqflushfn
Lloh15:
	adrp	x8, _IFF_BROADCAST@GOTPAGE
Lloh16:
	ldr	x8, [x8, _IFF_BROADCAST@GOTPAGEOFF]
Lloh17:
	ldr	w8, [x8]
Lloh18:
	adrp	x9, _IFF_SIMPLEX@GOTPAGE
Lloh19:
	ldr	x9, [x9, _IFF_SIMPLEX@GOTPAGEOFF]
Lloh20:
	ldr	w9, [x9]
	orr	w8, w9, w8
Lloh21:
	adrp	x9, _IFF_MULTICAST@GOTPAGE
Lloh22:
	ldr	x9, [x9, _IFF_MULTICAST@GOTPAGEOFF]
Lloh23:
	ldr	w9, [x9]
	orr	w1, w8, w9
	mov	x0, x21
	bl	_if_setflags
Lloh24:
	adrp	x8, _vlan_config@GOTPAGE
Lloh25:
	ldr	x8, [x8, _vlan_config@GOTPAGEOFF]
Lloh26:
	ldr	w0, [x8]
Lloh27:
	adrp	x8, _iflib_vlan_register@GOTPAGE
Lloh28:
	ldr	x8, [x8, _iflib_vlan_register@GOTPAGEOFF]
Lloh29:
	ldr	w1, [x8]
Lloh30:
	adrp	x21, _EVENTHANDLER_PRI_FIRST@GOTPAGE
Lloh31:
	ldr	x21, [x21, _EVENTHANDLER_PRI_FIRST@GOTPAGEOFF]
	ldr	w3, [x21]
	mov	x2, x19
	bl	_EVENTHANDLER_REGISTER
Lloh32:
	adrp	x8, _vlan_unconfig@GOTPAGE
Lloh33:
	ldr	x8, [x8, _vlan_unconfig@GOTPAGEOFF]
	str	x0, [x19, #24]
Lloh34:
	ldr	w0, [x8]
Lloh35:
	adrp	x8, _iflib_vlan_unregister@GOTPAGE
Lloh36:
	ldr	x8, [x8, _iflib_vlan_unregister@GOTPAGEOFF]
Lloh37:
	ldr	w1, [x8]
	ldr	w3, [x21]
	mov	x2, x19
	bl	_EVENTHANDLER_REGISTER
	str	x0, [x19, #16]
	ldr	w8, [x20]
Lloh38:
	adrp	x9, _IFLIB_DRIVER_MEDIA@GOTPAGE
Lloh39:
	ldr	x9, [x9, _IFLIB_DRIVER_MEDIA@GOTPAGEOFF]
Lloh40:
	ldr	w9, [x9]
	tst	w9, w8
	b.ne	LBB0_3
; %bb.2:
	add	x0, x19, #8
	str	x0, [x19]
Lloh41:
	adrp	x8, _IFM_IMASK@GOTPAGE
Lloh42:
	ldr	x8, [x8, _IFM_IMASK@GOTPAGEOFF]
Lloh43:
	ldr	w1, [x8]
Lloh44:
	adrp	x8, _iflib_media_change@GOTPAGE
Lloh45:
	ldr	x8, [x8, _iflib_media_change@GOTPAGEOFF]
Lloh46:
	ldr	w2, [x8]
Lloh47:
	adrp	x8, _iflib_media_status@GOTPAGE
Lloh48:
	ldr	x8, [x8, _iflib_media_status@GOTPAGEOFF]
Lloh49:
	ldr	w3, [x8]
	bl	_ifmedia_init
LBB0_3:
	mov	w0, #0
	b	LBB0_5
LBB0_4:
Lloh50:
	adrp	x1, l_.str@PAGE
Lloh51:
	add	x1, x1, l_.str@PAGEOFF
	mov	x0, x22
	bl	_device_printf
Lloh52:
	adrp	x8, _ENOMEM@GOTPAGE
Lloh53:
	ldr	x8, [x8, _ENOMEM@GOTPAGEOFF]
Lloh54:
	ldr	w0, [x8]
LBB0_5:
	ldp	x29, x30, [sp, #48]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #32]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #16]             ; 16-byte Folded Reload
	ldp	x24, x23, [sp], #64             ; 16-byte Folded Reload
	ret
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGotLdr	Lloh38, Lloh39, Lloh40
	.loh AdrpLdrGotLdr	Lloh35, Lloh36, Lloh37
	.loh AdrpLdrGotLdr	Lloh32, Lloh33, Lloh34
	.loh AdrpLdrGot	Lloh30, Lloh31
	.loh AdrpLdrGotLdr	Lloh27, Lloh28, Lloh29
	.loh AdrpLdrGotLdr	Lloh24, Lloh25, Lloh26
	.loh AdrpLdrGotLdr	Lloh21, Lloh22, Lloh23
	.loh AdrpLdrGotLdr	Lloh18, Lloh19, Lloh20
	.loh AdrpLdrGotLdr	Lloh15, Lloh16, Lloh17
	.loh AdrpLdrGotLdr	Lloh12, Lloh13, Lloh14
	.loh AdrpLdrGotLdr	Lloh9, Lloh10, Lloh11
	.loh AdrpLdrGotLdr	Lloh6, Lloh7, Lloh8
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpLdrGotLdr	Lloh47, Lloh48, Lloh49
	.loh AdrpLdrGotLdr	Lloh44, Lloh45, Lloh46
	.loh AdrpLdrGotLdr	Lloh41, Lloh42, Lloh43
	.loh AdrpLdrGotLdr	Lloh52, Lloh53, Lloh54
	.loh AdrpAdd	Lloh50, Lloh51
	.cfi_endproc
                                        ; -- End function
	.comm	_IFT_ETHER,4,2                  ; @IFT_ETHER
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"can not allocate ifnet structure\n"

	.comm	_ENOMEM,4,2                     ; @ENOMEM
	.comm	_iflib_if_init,4,2              ; @iflib_if_init
	.comm	_iflib_if_ioctl,4,2             ; @iflib_if_ioctl
	.comm	_iflib_if_transmit,4,2          ; @iflib_if_transmit
	.comm	_iflib_if_qflush,4,2            ; @iflib_if_qflush
	.comm	_IFF_BROADCAST,4,2              ; @IFF_BROADCAST
	.comm	_IFF_SIMPLEX,4,2                ; @IFF_SIMPLEX
	.comm	_IFF_MULTICAST,4,2              ; @IFF_MULTICAST
	.comm	_vlan_config,4,2                ; @vlan_config
	.comm	_iflib_vlan_register,4,2        ; @iflib_vlan_register
	.comm	_EVENTHANDLER_PRI_FIRST,4,2     ; @EVENTHANDLER_PRI_FIRST
	.comm	_vlan_unconfig,4,2              ; @vlan_unconfig
	.comm	_iflib_vlan_unregister,4,2      ; @iflib_vlan_unregister
	.comm	_IFLIB_DRIVER_MEDIA,4,2         ; @IFLIB_DRIVER_MEDIA
	.comm	_IFM_IMASK,4,2                  ; @IFM_IMASK
	.comm	_iflib_media_change,4,2         ; @iflib_media_change
	.comm	_iflib_media_status,4,2         ; @iflib_media_status
	.comm	_iflib_altq_if_start,4,2        ; @iflib_altq_if_start
	.comm	_iflib_altq_if_transmit,4,2     ; @iflib_altq_if_transmit
	.no_dead_strip	_iflib_register
.subsections_via_symbols
