	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_hostapd_get_vht_capab          ## -- Begin function hostapd_get_vht_capab
	.p2align	4, 0x90
_hostapd_get_vht_capab:                 ## @hostapd_get_vht_capab
	.cfi_startproc
## %bb.0:
	testq	%rsi, %rsi
	je	LBB0_6
## %bb.1:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	pushq	%r14
	pushq	%rbx
	.cfi_offset %rbx, -32
	.cfi_offset %r14, -24
	movq	%rdx, %r14
	movq	%rdi, %rbx
	movq	%rdx, %rdi
	movl	$4, %edx
	callq	_os_memcpy
	movl	(%r14), %edi
	callq	_le_to_host32
	movq	(%rbx), %rcx
	movl	(%rcx), %r10d
	movq	_VHT_CAP_SHORT_GI_80@GOTPCREL(%rip), %rsi
	movq	_VHT_CAP_SHORT_GI_160@GOTPCREL(%rip), %rdx
	movl	(%rdx), %r9d
	movl	(%rsi), %esi
	orl	%r9d, %esi
	notl	%esi
	orl	%r10d, %esi
	andl	%eax, %esi
	movq	_VHT_CAP_BEAMFORMEE_STS_MAX@GOTPCREL(%rip), %rax
	movq	_VHT_CAP_SOUNDING_DIMENSION_MAX@GOTPCREL(%rip), %r8
	movq	_VHT_CAP_SU_BEAMFORMER_CAPABLE@GOTPCREL(%rip), %rbx
	movl	(%rbx), %ebx
	movq	_VHT_CAP_SU_BEAMFORMEE_CAPABLE@GOTPCREL(%rip), %rdi
	movl	(%rdi), %edi
	movl	(%rax), %eax
	orl	%edi, %eax
	movl	(%r8), %edx
	orl	%ebx, %edx
	movq	_VHT_CAP_MU_BEAMFORMER_CAPABLE@GOTPCREL(%rip), %rcx
	movl	(%rcx), %r8d
	movq	_VHT_CAP_MU_BEAMFORMEE_CAPABLE@GOTPCREL(%rip), %rcx
	movl	(%rcx), %ecx
	movd	%edi, %xmm0
	pinsrd	$1, %ebx, %xmm0
	pinsrd	$2, %r8d, %xmm0
	pinsrd	$3, %ecx, %xmm0
	movd	%r10d, %xmm1
	pshufd	$0, %xmm1, %xmm1                ## xmm1 = xmm1[0,0,0,0]
	pand	%xmm0, %xmm1
	pxor	%xmm0, %xmm0
	pcmpeqd	%xmm1, %xmm0
	movd	%edx, %xmm1
	pinsrd	$1, %eax, %xmm1
	pinsrd	$2, %ecx, %xmm1
	pinsrd	$3, %r8d, %xmm1
	pcmpeqd	%xmm2, %xmm2
	pxor	%xmm2, %xmm1
	pxor	%xmm2, %xmm0
	por	%xmm1, %xmm0
	pshufd	$238, %xmm0, %xmm1              ## xmm1 = xmm0[2,3,2,3]
	pand	%xmm0, %xmm1
	pshufd	$85, %xmm1, %xmm0               ## xmm0 = xmm1[1,1,1,1]
	pand	%xmm1, %xmm0
	movd	%xmm0, %r8d
	andl	%esi, %r8d
	movq	_VHT_CAP_SUPP_CHAN_WIDTH_MASK@GOTPCREL(%rip), %rcx
	movl	(%rcx), %esi
	movl	%esi, %edi
	andl	%r10d, %edi
	cmpl	$128, %edi
	je	LBB0_5
## %bb.2:
	cmpl	$129, %edi
	jne	LBB0_4
## %bb.3:
	movl	%r8d, %ecx
	orl	$129, %ecx
	testb	$-128, %r8b
	cmovnel	%ecx, %r8d
	jmp	LBB0_5
LBB0_4:
	movl	%esi, %ecx
	notl	%ecx
	andl	%ecx, %r8d
LBB0_5:
	andl	%r8d, %esi
	notl	%r9d
	xorl	%edi, %edi
	negl	%esi
	movl	$0, %esi
	sbbl	%esi, %esi
	orl	%r9d, %esi
	movq	_VHT_CAP_RXSTBC_MASK@GOTPCREL(%rip), %rcx
	movl	(%rcx), %ecx
	movl	%ecx, %edx
	andl	%r10d, %edx
	movq	_VHT_CAP_TXSTBC@GOTPCREL(%rip), %rbx
	movl	(%rbx), %ebx
	movl	%ebx, %eax
	notl	%eax
	negl	%edx
	movl	$0, %edx
	sbbl	%edx, %edx
	orl	%eax, %edx
	andl	%r8d, %edx
	andl	%r10d, %ebx
	negl	%ebx
	sbbl	%edi, %edi
	notl	%ecx
	orl	%ecx, %edi
	andl	%edx, %edi
	andl	%esi, %edi
	callq	_host_to_le32
	movl	%eax, (%r14)
	popq	%rbx
	popq	%r14
	popq	%rbp
LBB0_6:
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_VHT_CAP_SHORT_GI_80,4,2        ## @VHT_CAP_SHORT_GI_80
	.comm	_VHT_CAP_SHORT_GI_160,4,2       ## @VHT_CAP_SHORT_GI_160
	.comm	_VHT_CAP_SU_BEAMFORMER_CAPABLE,4,2 ## @VHT_CAP_SU_BEAMFORMER_CAPABLE
	.comm	_VHT_CAP_SU_BEAMFORMEE_CAPABLE,4,2 ## @VHT_CAP_SU_BEAMFORMEE_CAPABLE
	.comm	_VHT_CAP_BEAMFORMEE_STS_MAX,4,2 ## @VHT_CAP_BEAMFORMEE_STS_MAX
	.comm	_VHT_CAP_SOUNDING_DIMENSION_MAX,4,2 ## @VHT_CAP_SOUNDING_DIMENSION_MAX
	.comm	_VHT_CAP_MU_BEAMFORMER_CAPABLE,4,2 ## @VHT_CAP_MU_BEAMFORMER_CAPABLE
	.comm	_VHT_CAP_MU_BEAMFORMEE_CAPABLE,4,2 ## @VHT_CAP_MU_BEAMFORMEE_CAPABLE
	.comm	_VHT_CAP_SUPP_CHAN_WIDTH_MASK,4,2 ## @VHT_CAP_SUPP_CHAN_WIDTH_MASK
	.comm	_VHT_CAP_RXSTBC_MASK,4,2        ## @VHT_CAP_RXSTBC_MASK
	.comm	_VHT_CAP_TXSTBC,4,2             ## @VHT_CAP_TXSTBC
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_hostapd_get_vht_capab          ; -- Begin function hostapd_get_vht_capab
	.p2align	2
_hostapd_get_vht_capab:                 ; @hostapd_get_vht_capab
	.cfi_startproc
; %bb.0:
	cbz	x1, LBB0_2
; %bb.1:
	stp	x20, x19, [sp, #-32]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 32
	stp	x29, x30, [sp, #16]             ; 16-byte Folded Spill
	add	x29, sp, #16
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	.cfi_offset w19, -24
	.cfi_offset w20, -32
	mov	x19, x2
	mov	x20, x0
	mov	x0, x2
	mov	w2, #4
	bl	_os_memcpy
	ldr	w0, [x19]
	bl	_le_to_host32
	ldr	x8, [x20]
	ldr	w8, [x8]
Lloh0:
	adrp	x9, _VHT_CAP_SHORT_GI_80@GOTPAGE
Lloh1:
	ldr	x9, [x9, _VHT_CAP_SHORT_GI_80@GOTPAGEOFF]
Lloh2:
	adrp	x10, _VHT_CAP_SHORT_GI_160@GOTPAGE
Lloh3:
	ldr	x10, [x10, _VHT_CAP_SHORT_GI_160@GOTPAGEOFF]
Lloh4:
	ldr	w9, [x9]
Lloh5:
	ldr	w10, [x10]
	orr	w9, w10, w9
	orn	w9, w8, w9
Lloh6:
	adrp	x11, _VHT_CAP_SU_BEAMFORMER_CAPABLE@GOTPAGE
Lloh7:
	ldr	x11, [x11, _VHT_CAP_SU_BEAMFORMER_CAPABLE@GOTPAGEOFF]
	and	w9, w9, w0
Lloh8:
	ldr	w11, [x11]
Lloh9:
	adrp	x12, _VHT_CAP_SU_BEAMFORMEE_CAPABLE@GOTPAGE
Lloh10:
	ldr	x12, [x12, _VHT_CAP_SU_BEAMFORMEE_CAPABLE@GOTPAGEOFF]
Lloh11:
	adrp	x13, _VHT_CAP_BEAMFORMEE_STS_MAX@GOTPAGE
Lloh12:
	ldr	x13, [x13, _VHT_CAP_BEAMFORMEE_STS_MAX@GOTPAGEOFF]
Lloh13:
	ldr	w12, [x12]
Lloh14:
	ldr	w13, [x13]
	orr	w13, w13, w12
	tst	w11, w8
	mov	w14, #-1
	csinv	w13, w14, w13, ne
	and	w9, w9, w13
Lloh15:
	adrp	x13, _VHT_CAP_SOUNDING_DIMENSION_MAX@GOTPAGE
Lloh16:
	ldr	x13, [x13, _VHT_CAP_SOUNDING_DIMENSION_MAX@GOTPAGEOFF]
Lloh17:
	ldr	w13, [x13]
	orr	w11, w13, w11
	tst	w12, w8
	csinv	w11, w14, w11, ne
	and	w9, w11, w9
Lloh18:
	adrp	x11, _VHT_CAP_MU_BEAMFORMER_CAPABLE@GOTPAGE
Lloh19:
	ldr	x11, [x11, _VHT_CAP_MU_BEAMFORMER_CAPABLE@GOTPAGEOFF]
Lloh20:
	adrp	x12, _VHT_CAP_MU_BEAMFORMEE_CAPABLE@GOTPAGE
Lloh21:
	ldr	x12, [x12, _VHT_CAP_MU_BEAMFORMEE_CAPABLE@GOTPAGEOFF]
Lloh22:
	ldr	w11, [x11]
Lloh23:
	ldr	w12, [x12]
	tst	w11, w8
	csinv	w13, w14, w12, ne
	and	w9, w9, w13
	tst	w12, w8
	csinv	w11, w14, w11, ne
	and	w9, w9, w11
Lloh24:
	adrp	x11, _VHT_CAP_SUPP_CHAN_WIDTH_MASK@GOTPAGE
Lloh25:
	ldr	x11, [x11, _VHT_CAP_SUPP_CHAN_WIDTH_MASK@GOTPAGEOFF]
Lloh26:
	ldr	w11, [x11]
	and	w12, w11, w8
	bic	w13, w9, w11
	mov	w15, #129
	orr	w15, w9, w15
	tst	w9, #0x80
	csel	w15, w9, w15, eq
	cmp	w12, #129
	csel	w13, w13, w15, ne
	cmp	w12, #128
	csel	w9, w9, w13, eq
	tst	w9, w11
	csinv	w10, w14, w10, ne
	and	w9, w10, w9
Lloh27:
	adrp	x10, _VHT_CAP_RXSTBC_MASK@GOTPAGE
Lloh28:
	ldr	x10, [x10, _VHT_CAP_RXSTBC_MASK@GOTPAGEOFF]
Lloh29:
	ldr	w10, [x10]
Lloh30:
	adrp	x11, _VHT_CAP_TXSTBC@GOTPAGE
Lloh31:
	ldr	x11, [x11, _VHT_CAP_TXSTBC@GOTPAGEOFF]
Lloh32:
	ldr	w11, [x11]
	tst	w10, w8
	csinv	w12, w14, w11, ne
	and	w9, w9, w12
	tst	w11, w8
	csinv	w8, w14, w10, ne
	and	w0, w9, w8
	bl	_host_to_le32
	str	w0, [x19]
	ldp	x29, x30, [sp, #16]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp], #32             ; 16-byte Folded Reload
LBB0_2:
	.cfi_def_cfa wsp, 0
	.cfi_same_value w30
	.cfi_same_value w29
	.cfi_same_value w19
	.cfi_same_value w20
	ret
	.loh AdrpLdrGotLdr	Lloh30, Lloh31, Lloh32
	.loh AdrpLdrGotLdr	Lloh27, Lloh28, Lloh29
	.loh AdrpLdrGotLdr	Lloh24, Lloh25, Lloh26
	.loh AdrpLdrGotLdr	Lloh20, Lloh21, Lloh23
	.loh AdrpLdrGotLdr	Lloh18, Lloh19, Lloh22
	.loh AdrpLdrGotLdr	Lloh15, Lloh16, Lloh17
	.loh AdrpLdrGotLdr	Lloh11, Lloh12, Lloh14
	.loh AdrpLdrGotLdr	Lloh9, Lloh10, Lloh13
	.loh AdrpLdrGotLdr	Lloh6, Lloh7, Lloh8
	.loh AdrpLdrGotLdr	Lloh2, Lloh3, Lloh5
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh4
	.cfi_endproc
                                        ; -- End function
	.comm	_VHT_CAP_SHORT_GI_80,4,2        ; @VHT_CAP_SHORT_GI_80
	.comm	_VHT_CAP_SHORT_GI_160,4,2       ; @VHT_CAP_SHORT_GI_160
	.comm	_VHT_CAP_SU_BEAMFORMER_CAPABLE,4,2 ; @VHT_CAP_SU_BEAMFORMER_CAPABLE
	.comm	_VHT_CAP_SU_BEAMFORMEE_CAPABLE,4,2 ; @VHT_CAP_SU_BEAMFORMEE_CAPABLE
	.comm	_VHT_CAP_BEAMFORMEE_STS_MAX,4,2 ; @VHT_CAP_BEAMFORMEE_STS_MAX
	.comm	_VHT_CAP_SOUNDING_DIMENSION_MAX,4,2 ; @VHT_CAP_SOUNDING_DIMENSION_MAX
	.comm	_VHT_CAP_MU_BEAMFORMER_CAPABLE,4,2 ; @VHT_CAP_MU_BEAMFORMER_CAPABLE
	.comm	_VHT_CAP_MU_BEAMFORMEE_CAPABLE,4,2 ; @VHT_CAP_MU_BEAMFORMEE_CAPABLE
	.comm	_VHT_CAP_SUPP_CHAN_WIDTH_MASK,4,2 ; @VHT_CAP_SUPP_CHAN_WIDTH_MASK
	.comm	_VHT_CAP_RXSTBC_MASK,4,2        ; @VHT_CAP_RXSTBC_MASK
	.comm	_VHT_CAP_TXSTBC,4,2             ; @VHT_CAP_TXSTBC
.subsections_via_symbols
