	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function verify_mesh_preq_len
_verify_mesh_preq_len:                  ## @verify_mesh_preq_len
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	movq	%rsi, %r10
	movq	_IEEE80211_MESHPREQ_FLAGS_AE@GOTPCREL(%rip), %rax
	movl	(%rax), %r8d
	andl	8(%rdx), %r8d
	movq	_IEEE80211_MESHPREQ_TCNT_OFFSET_AE@GOTPCREL(%rip), %rax
	cmoveq	_IEEE80211_MESHPREQ_TCNT_OFFSET@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	_IEEE80211_MESHPREQ_BASE_SZ_AE@GOTPCREL(%rip), %rsi
	cmoveq	_IEEE80211_MESHPREQ_BASE_SZ@GOTPCREL(%rip), %rsi
	movl	(%rdx,%rax,4), %eax
	movq	_IEEE80211_MESHPREQ_TRGT_SZ@GOTPCREL(%rip), %rcx
	movl	(%rcx), %ecx
	imull	%eax, %ecx
	addl	(%rsi), %ecx
	cmpl	%ecx, 4(%rdx)
	je	LBB0_2
## %bb.1:
	movq	_IEEE80211_MSG_ACTION@GOTPCREL(%rip), %rax
	movq	_IEEE80211_MSG_HWMP@GOTPCREL(%rip), %rcx
	movl	(%rcx), %esi
	orl	(%rax), %esi
	testl	%r8d, %r8d
	leaq	L_.str.2(%rip), %rax
	leaq	L_.str.1(%rip), %r9
	cmoveq	%rax, %r9
	leaq	L_.str(%rip), %r8
	movq	%r10, %rdx
	xorl	%ecx, %ecx
	callq	_IEEE80211_DISCARD
	movl	$-1, %eax
LBB0_2:
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_IEEE80211_MESHPREQ_FLAGS_AE,4,2 ## @IEEE80211_MESHPREQ_FLAGS_AE
	.comm	_IEEE80211_MESHPREQ_BASE_SZ_AE,4,2 ## @IEEE80211_MESHPREQ_BASE_SZ_AE
	.comm	_IEEE80211_MESHPREQ_TCNT_OFFSET_AE,8,3 ## @IEEE80211_MESHPREQ_TCNT_OFFSET_AE
	.comm	_IEEE80211_MESHPREQ_BASE_SZ,4,2 ## @IEEE80211_MESHPREQ_BASE_SZ
	.comm	_IEEE80211_MESHPREQ_TCNT_OFFSET,8,3 ## @IEEE80211_MESHPREQ_TCNT_OFFSET
	.comm	_IEEE80211_MESHPREQ_TRGT_SZ,4,2 ## @IEEE80211_MESHPREQ_TRGT_SZ
	.comm	_IEEE80211_MSG_ACTION,4,2       ## @IEEE80211_MSG_ACTION
	.comm	_IEEE80211_MSG_HWMP,4,2         ## @IEEE80211_MSG_HWMP
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"PREQ (AE=%s) with wrong len"

L_.str.1:                               ## @.str.1
	.asciz	"1"

L_.str.2:                               ## @.str.2
	.asciz	"0"

	.no_dead_strip	_verify_mesh_preq_len
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function verify_mesh_preq_len
_verify_mesh_preq_len:                  ; @verify_mesh_preq_len
	.cfi_startproc
; %bb.0:
	stp	x29, x30, [sp, #-16]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 16
	mov	x29, sp
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
Lloh0:
	adrp	x8, _IEEE80211_MESHPREQ_FLAGS_AE@GOTPAGE
Lloh1:
	ldr	x8, [x8, _IEEE80211_MESHPREQ_FLAGS_AE@GOTPAGEOFF]
Lloh2:
	ldr	w8, [x8]
	ldp	w11, w10, [x2, #4]
	ands	w10, w8, w10
Lloh3:
	adrp	x8, _IEEE80211_MESHPREQ_TCNT_OFFSET@GOTPAGE
Lloh4:
	ldr	x8, [x8, _IEEE80211_MESHPREQ_TCNT_OFFSET@GOTPAGEOFF]
Lloh5:
	adrp	x12, _IEEE80211_MESHPREQ_TCNT_OFFSET_AE@GOTPAGE
Lloh6:
	ldr	x12, [x12, _IEEE80211_MESHPREQ_TCNT_OFFSET_AE@GOTPAGEOFF]
	csel	x8, x8, x12, eq
	ldr	x8, [x8]
	ldr	w8, [x2, x8, lsl #2]
Lloh7:
	adrp	x12, _IEEE80211_MESHPREQ_BASE_SZ@GOTPAGE
Lloh8:
	ldr	x12, [x12, _IEEE80211_MESHPREQ_BASE_SZ@GOTPAGEOFF]
Lloh9:
	adrp	x13, _IEEE80211_MESHPREQ_BASE_SZ_AE@GOTPAGE
Lloh10:
	ldr	x13, [x13, _IEEE80211_MESHPREQ_BASE_SZ_AE@GOTPAGEOFF]
	csel	x12, x12, x13, eq
	ldr	w12, [x12]
Lloh11:
	adrp	x13, _IEEE80211_MESHPREQ_TRGT_SZ@GOTPAGE
Lloh12:
	ldr	x13, [x13, _IEEE80211_MESHPREQ_TRGT_SZ@GOTPAGEOFF]
Lloh13:
	ldr	w13, [x13]
	madd	w12, w13, w8, w12
	cmp	w11, w12
	b.eq	LBB0_2
; %bb.1:
	mov	x9, x1
Lloh14:
	adrp	x8, _IEEE80211_MSG_ACTION@GOTPAGE
Lloh15:
	ldr	x8, [x8, _IEEE80211_MSG_ACTION@GOTPAGEOFF]
Lloh16:
	ldr	w8, [x8]
Lloh17:
	adrp	x11, _IEEE80211_MSG_HWMP@GOTPAGE
Lloh18:
	ldr	x11, [x11, _IEEE80211_MSG_HWMP@GOTPAGEOFF]
Lloh19:
	ldr	w11, [x11]
	orr	w1, w11, w8
Lloh20:
	adrp	x8, l_.str.1@PAGE
Lloh21:
	add	x8, x8, l_.str.1@PAGEOFF
Lloh22:
	adrp	x11, l_.str.2@PAGE
Lloh23:
	add	x11, x11, l_.str.2@PAGEOFF
	cmp	w10, #0
	csel	x5, x11, x8, eq
Lloh24:
	adrp	x4, l_.str@PAGE
Lloh25:
	add	x4, x4, l_.str@PAGEOFF
	mov	x2, x9
	mov	x3, #0
	bl	_IEEE80211_DISCARD
	mov	w8, #-1
LBB0_2:
	mov	x0, x8
	ldp	x29, x30, [sp], #16             ; 16-byte Folded Reload
	ret
	.loh AdrpLdrGotLdr	Lloh11, Lloh12, Lloh13
	.loh AdrpLdrGot	Lloh9, Lloh10
	.loh AdrpLdrGot	Lloh7, Lloh8
	.loh AdrpLdrGot	Lloh5, Lloh6
	.loh AdrpLdrGot	Lloh3, Lloh4
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpAdd	Lloh24, Lloh25
	.loh AdrpAdd	Lloh22, Lloh23
	.loh AdrpAdd	Lloh20, Lloh21
	.loh AdrpLdrGotLdr	Lloh17, Lloh18, Lloh19
	.loh AdrpLdrGotLdr	Lloh14, Lloh15, Lloh16
	.cfi_endproc
                                        ; -- End function
	.comm	_IEEE80211_MESHPREQ_FLAGS_AE,4,2 ; @IEEE80211_MESHPREQ_FLAGS_AE
	.comm	_IEEE80211_MESHPREQ_BASE_SZ_AE,4,2 ; @IEEE80211_MESHPREQ_BASE_SZ_AE
	.comm	_IEEE80211_MESHPREQ_TCNT_OFFSET_AE,8,3 ; @IEEE80211_MESHPREQ_TCNT_OFFSET_AE
	.comm	_IEEE80211_MESHPREQ_BASE_SZ,4,2 ; @IEEE80211_MESHPREQ_BASE_SZ
	.comm	_IEEE80211_MESHPREQ_TCNT_OFFSET,8,3 ; @IEEE80211_MESHPREQ_TCNT_OFFSET
	.comm	_IEEE80211_MESHPREQ_TRGT_SZ,4,2 ; @IEEE80211_MESHPREQ_TRGT_SZ
	.comm	_IEEE80211_MSG_ACTION,4,2       ; @IEEE80211_MSG_ACTION
	.comm	_IEEE80211_MSG_HWMP,4,2         ; @IEEE80211_MSG_HWMP
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"PREQ (AE=%s) with wrong len"

l_.str.1:                               ; @.str.1
	.asciz	"1"

l_.str.2:                               ; @.str.2
	.asciz	"0"

	.no_dead_strip	_verify_mesh_preq_len
.subsections_via_symbols
