	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function ath6kl_init_service_ep
_ath6kl_init_service_ep:                ## @ath6kl_init_service_ep
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	pushq	%rbx
	subq	$56, %rsp
	.cfi_offset %rbx, -24
	movq	%rdi, %rbx
	leaq	-56(%rbp), %rdi
	xorl	%esi, %esi
	movl	$48, %edx
	callq	_memset
	movq	_ath6kl_tx_complete@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	%eax, -24(%rbp)
	movq	_ath6kl_rx@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	%eax, -28(%rbp)
	movq	_ath6kl_rx_refill@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	%eax, -32(%rbp)
	movq	_ath6kl_tx_queue_full@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	%eax, -36(%rbp)
	movq	_MAX_DEFAULT_SEND_QUEUE_DEPTH@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	%eax, -12(%rbp)
	movq	_ATH6KL_MAX_RX_BUFFERS@GOTPCREL(%rip), %rax
	movl	(%rax), %ecx
	leal	3(%rcx), %eax
	movl	$1, %edx
	cmpl	$7, %eax
	jb	LBB0_2
## %bb.1:
	testl	%ecx, %ecx
	cmovnsl	%ecx, %eax
	sarl	$2, %eax
	movl	%eax, %edx
LBB0_2:
	movl	%edx, -48(%rbp)
	movq	_WMI_CONTROL_SVC@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	%eax, -56(%rbp)
	leaq	L_.str(%rip), %rdx
	leaq	-56(%rbp), %rsi
	movq	%rbx, %rdi
	callq	_ath6kl_connectservice
	testq	%rax, %rax
	jne	LBB0_8
## %bb.3:
	movq	_HTC_FLGS_TX_BNDL_PAD_EN@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	orl	%eax, -16(%rbp)
	movq	_WMI_MAX_TX_DATA_FRAME_LENGTH@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	%eax, -20(%rbp)
	movq	_ATH6KL_BUFFER_SIZE@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	%eax, -40(%rbp)
	movq	_ath6kl_alloc_amsdu_rxbuf@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	%eax, -44(%rbp)
	movq	_HTC_CONN_FLGS_REDUCE_CRED_DRIB@GOTPCREL(%rip), %rax
	movl	-52(%rbp), %ecx
	orl	(%rax), %ecx
	movq	_HTC_CONN_FLGS_THRESH_MASK@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	notl	%eax
	andl	%ecx, %eax
	movq	_HTC_CONN_FLGS_THRESH_LVL_HALF@GOTPCREL(%rip), %rcx
	orl	(%rcx), %eax
	movl	%eax, -52(%rbp)
	movq	_WMI_DATA_BE_SVC@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	%eax, -56(%rbp)
	leaq	L_.str.1(%rip), %rdx
	leaq	-56(%rbp), %rsi
	movq	%rbx, %rdi
	callq	_ath6kl_connectservice
	testq	%rax, %rax
	jne	LBB0_8
## %bb.4:
	movq	_WMI_DATA_BK_SVC@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	%eax, -56(%rbp)
	leaq	L_.str.2(%rip), %rdx
	leaq	-56(%rbp), %rsi
	movq	%rbx, %rdi
	callq	_ath6kl_connectservice
	testq	%rax, %rax
	jne	LBB0_8
## %bb.5:
	movq	_WMI_DATA_VI_SVC@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	%eax, -56(%rbp)
	leaq	L_.str.3(%rip), %rdx
	leaq	-56(%rbp), %rsi
	movq	%rbx, %rdi
	callq	_ath6kl_connectservice
	testq	%rax, %rax
	jne	LBB0_8
## %bb.6:
	movq	_WMI_DATA_VO_SVC@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	%eax, -56(%rbp)
	leaq	L_.str.4(%rip), %rdx
	leaq	-56(%rbp), %rsi
	movq	%rbx, %rdi
	callq	_ath6kl_connectservice
	testq	%rax, %rax
	je	LBB0_7
LBB0_8:
	movq	_EIO@GOTPCREL(%rip), %rcx
	xorl	%eax, %eax
	subl	(%rcx), %eax
LBB0_9:
	addq	$56, %rsp
	popq	%rbx
	popq	%rbp
	retq
LBB0_7:
	xorl	%eax, %eax
	jmp	LBB0_9
	.cfi_endproc
                                        ## -- End function
	.comm	_ath6kl_tx_complete,4,2         ## @ath6kl_tx_complete
	.comm	_ath6kl_rx,4,2                  ## @ath6kl_rx
	.comm	_ath6kl_rx_refill,4,2           ## @ath6kl_rx_refill
	.comm	_ath6kl_tx_queue_full,4,2       ## @ath6kl_tx_queue_full
	.comm	_MAX_DEFAULT_SEND_QUEUE_DEPTH,4,2 ## @MAX_DEFAULT_SEND_QUEUE_DEPTH
	.comm	_ATH6KL_MAX_RX_BUFFERS,4,2      ## @ATH6KL_MAX_RX_BUFFERS
	.comm	_WMI_CONTROL_SVC,4,2            ## @WMI_CONTROL_SVC
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"WMI CONTROL"

	.comm	_EIO,4,2                        ## @EIO
	.comm	_HTC_FLGS_TX_BNDL_PAD_EN,4,2    ## @HTC_FLGS_TX_BNDL_PAD_EN
	.comm	_WMI_MAX_TX_DATA_FRAME_LENGTH,4,2 ## @WMI_MAX_TX_DATA_FRAME_LENGTH
	.comm	_ATH6KL_BUFFER_SIZE,4,2         ## @ATH6KL_BUFFER_SIZE
	.comm	_ath6kl_alloc_amsdu_rxbuf,4,2   ## @ath6kl_alloc_amsdu_rxbuf
	.comm	_HTC_CONN_FLGS_REDUCE_CRED_DRIB,4,2 ## @HTC_CONN_FLGS_REDUCE_CRED_DRIB
	.comm	_HTC_CONN_FLGS_THRESH_MASK,4,2  ## @HTC_CONN_FLGS_THRESH_MASK
	.comm	_HTC_CONN_FLGS_THRESH_LVL_HALF,4,2 ## @HTC_CONN_FLGS_THRESH_LVL_HALF
	.comm	_WMI_DATA_BE_SVC,4,2            ## @WMI_DATA_BE_SVC
L_.str.1:                               ## @.str.1
	.asciz	"WMI DATA BE"

	.comm	_WMI_DATA_BK_SVC,4,2            ## @WMI_DATA_BK_SVC
L_.str.2:                               ## @.str.2
	.asciz	"WMI DATA BK"

	.comm	_WMI_DATA_VI_SVC,4,2            ## @WMI_DATA_VI_SVC
L_.str.3:                               ## @.str.3
	.asciz	"WMI DATA VI"

	.comm	_WMI_DATA_VO_SVC,4,2            ## @WMI_DATA_VO_SVC
L_.str.4:                               ## @.str.4
	.asciz	"WMI DATA VO"

	.no_dead_strip	_ath6kl_init_service_ep
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function ath6kl_init_service_ep
_ath6kl_init_service_ep:                ; @ath6kl_init_service_ep
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #80
	.cfi_def_cfa_offset 80
	stp	x20, x19, [sp, #48]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #64]             ; 16-byte Folded Spill
	add	x29, sp, #64
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	.cfi_offset w19, -24
	.cfi_offset w20, -32
	mov	x19, x0
	mov	x0, sp
	mov	w1, #0
	mov	w2, #48
	bl	_memset
Lloh0:
	adrp	x8, _ath6kl_tx_complete@GOTPAGE
Lloh1:
	ldr	x8, [x8, _ath6kl_tx_complete@GOTPAGEOFF]
Lloh2:
	adrp	x9, _ath6kl_rx@GOTPAGE
Lloh3:
	ldr	x9, [x9, _ath6kl_rx@GOTPAGEOFF]
Lloh4:
	ldr	w8, [x8]
Lloh5:
	ldr	w9, [x9]
	stp	w9, w8, [sp, #28]
Lloh6:
	adrp	x8, _ath6kl_rx_refill@GOTPAGE
Lloh7:
	ldr	x8, [x8, _ath6kl_rx_refill@GOTPAGEOFF]
Lloh8:
	ldr	w8, [x8]
Lloh9:
	adrp	x9, _ath6kl_tx_queue_full@GOTPAGE
Lloh10:
	ldr	x9, [x9, _ath6kl_tx_queue_full@GOTPAGEOFF]
Lloh11:
	ldr	w9, [x9]
	stp	w9, w8, [sp, #20]
Lloh12:
	adrp	x8, _MAX_DEFAULT_SEND_QUEUE_DEPTH@GOTPAGE
Lloh13:
	ldr	x8, [x8, _MAX_DEFAULT_SEND_QUEUE_DEPTH@GOTPAGEOFF]
Lloh14:
	ldr	w8, [x8]
	str	w8, [sp, #44]
Lloh15:
	adrp	x8, _ATH6KL_MAX_RX_BUFFERS@GOTPAGE
Lloh16:
	ldr	x8, [x8, _ATH6KL_MAX_RX_BUFFERS@GOTPAGEOFF]
Lloh17:
	ldr	w8, [x8]
	add	w9, w8, #3
	cmp	w8, #0
	csel	w8, w9, w8, lt
	asr	w8, w8, #2
	cmp	w9, #7
	csinc	w8, w8, wzr, hs
Lloh18:
	adrp	x9, _WMI_CONTROL_SVC@GOTPAGE
Lloh19:
	ldr	x9, [x9, _WMI_CONTROL_SVC@GOTPAGEOFF]
Lloh20:
	ldr	w9, [x9]
	str	w8, [sp, #8]
	str	w9, [sp]
Lloh21:
	adrp	x2, l_.str@PAGE
Lloh22:
	add	x2, x2, l_.str@PAGEOFF
	mov	x1, sp
	mov	x0, x19
	bl	_ath6kl_connectservice
	cbnz	x0, LBB0_5
; %bb.1:
Lloh23:
	adrp	x8, _HTC_FLGS_TX_BNDL_PAD_EN@GOTPAGE
Lloh24:
	ldr	x8, [x8, _HTC_FLGS_TX_BNDL_PAD_EN@GOTPAGEOFF]
Lloh25:
	ldr	w8, [x8]
	ldr	w9, [sp, #40]
	ldr	w10, [sp, #4]
	orr	w8, w9, w8
Lloh26:
	adrp	x9, _WMI_MAX_TX_DATA_FRAME_LENGTH@GOTPAGE
Lloh27:
	ldr	x9, [x9, _WMI_MAX_TX_DATA_FRAME_LENGTH@GOTPAGEOFF]
Lloh28:
	ldr	w9, [x9]
Lloh29:
	adrp	x11, _ATH6KL_BUFFER_SIZE@GOTPAGE
Lloh30:
	ldr	x11, [x11, _ATH6KL_BUFFER_SIZE@GOTPAGEOFF]
	stp	w9, w8, [sp, #36]
Lloh31:
	ldr	w8, [x11]
Lloh32:
	adrp	x9, _ath6kl_alloc_amsdu_rxbuf@GOTPAGE
Lloh33:
	ldr	x9, [x9, _ath6kl_alloc_amsdu_rxbuf@GOTPAGEOFF]
Lloh34:
	ldr	w9, [x9]
	stp	w9, w8, [sp, #12]
Lloh35:
	adrp	x8, _HTC_CONN_FLGS_REDUCE_CRED_DRIB@GOTPAGE
Lloh36:
	ldr	x8, [x8, _HTC_CONN_FLGS_REDUCE_CRED_DRIB@GOTPAGEOFF]
Lloh37:
	ldr	w8, [x8]
Lloh38:
	adrp	x9, _HTC_CONN_FLGS_THRESH_MASK@GOTPAGE
Lloh39:
	ldr	x9, [x9, _HTC_CONN_FLGS_THRESH_MASK@GOTPAGEOFF]
	orr	w8, w10, w8
Lloh40:
	ldr	w9, [x9]
	bic	w8, w8, w9
Lloh41:
	adrp	x9, _HTC_CONN_FLGS_THRESH_LVL_HALF@GOTPAGE
Lloh42:
	ldr	x9, [x9, _HTC_CONN_FLGS_THRESH_LVL_HALF@GOTPAGEOFF]
Lloh43:
	ldr	w9, [x9]
	orr	w8, w9, w8
Lloh44:
	adrp	x9, _WMI_DATA_BE_SVC@GOTPAGE
Lloh45:
	ldr	x9, [x9, _WMI_DATA_BE_SVC@GOTPAGEOFF]
Lloh46:
	ldr	w9, [x9]
	stp	w9, w8, [sp]
Lloh47:
	adrp	x2, l_.str.1@PAGE
Lloh48:
	add	x2, x2, l_.str.1@PAGEOFF
	mov	x1, sp
	mov	x0, x19
	bl	_ath6kl_connectservice
	cbnz	x0, LBB0_5
; %bb.2:
Lloh49:
	adrp	x8, _WMI_DATA_BK_SVC@GOTPAGE
Lloh50:
	ldr	x8, [x8, _WMI_DATA_BK_SVC@GOTPAGEOFF]
Lloh51:
	ldr	w8, [x8]
	str	w8, [sp]
Lloh52:
	adrp	x2, l_.str.2@PAGE
Lloh53:
	add	x2, x2, l_.str.2@PAGEOFF
	mov	x1, sp
	mov	x0, x19
	bl	_ath6kl_connectservice
	cbnz	x0, LBB0_5
; %bb.3:
Lloh54:
	adrp	x8, _WMI_DATA_VI_SVC@GOTPAGE
Lloh55:
	ldr	x8, [x8, _WMI_DATA_VI_SVC@GOTPAGEOFF]
Lloh56:
	ldr	w8, [x8]
	str	w8, [sp]
Lloh57:
	adrp	x2, l_.str.3@PAGE
Lloh58:
	add	x2, x2, l_.str.3@PAGEOFF
	mov	x1, sp
	mov	x0, x19
	bl	_ath6kl_connectservice
	cbnz	x0, LBB0_5
; %bb.4:
Lloh59:
	adrp	x8, _WMI_DATA_VO_SVC@GOTPAGE
Lloh60:
	ldr	x8, [x8, _WMI_DATA_VO_SVC@GOTPAGEOFF]
Lloh61:
	ldr	w8, [x8]
	str	w8, [sp]
Lloh62:
	adrp	x2, l_.str.4@PAGE
Lloh63:
	add	x2, x2, l_.str.4@PAGEOFF
	mov	x1, sp
	mov	x0, x19
	bl	_ath6kl_connectservice
	cbz	x0, LBB0_6
LBB0_5:
Lloh64:
	adrp	x8, _EIO@GOTPAGE
Lloh65:
	ldr	x8, [x8, _EIO@GOTPAGEOFF]
Lloh66:
	ldr	w8, [x8]
	neg	w0, w8
LBB0_6:
	ldp	x29, x30, [sp, #64]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #48]             ; 16-byte Folded Reload
	add	sp, sp, #80
	ret
	.loh AdrpAdd	Lloh21, Lloh22
	.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	Lloh2, Lloh3, Lloh5
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh4
	.loh AdrpAdd	Lloh47, Lloh48
	.loh AdrpLdrGotLdr	Lloh44, Lloh45, Lloh46
	.loh AdrpLdrGotLdr	Lloh41, Lloh42, Lloh43
	.loh AdrpLdrGotLdr	Lloh38, Lloh39, Lloh40
	.loh AdrpLdrGotLdr	Lloh35, Lloh36, Lloh37
	.loh AdrpLdrGotLdr	Lloh32, Lloh33, Lloh34
	.loh AdrpLdrGotLdr	Lloh29, Lloh30, Lloh31
	.loh AdrpLdrGotLdr	Lloh26, Lloh27, Lloh28
	.loh AdrpLdrGotLdr	Lloh23, Lloh24, Lloh25
	.loh AdrpAdd	Lloh52, Lloh53
	.loh AdrpLdrGotLdr	Lloh49, Lloh50, Lloh51
	.loh AdrpAdd	Lloh57, Lloh58
	.loh AdrpLdrGotLdr	Lloh54, Lloh55, Lloh56
	.loh AdrpAdd	Lloh62, Lloh63
	.loh AdrpLdrGotLdr	Lloh59, Lloh60, Lloh61
	.loh AdrpLdrGotLdr	Lloh64, Lloh65, Lloh66
	.cfi_endproc
                                        ; -- End function
	.comm	_ath6kl_tx_complete,4,2         ; @ath6kl_tx_complete
	.comm	_ath6kl_rx,4,2                  ; @ath6kl_rx
	.comm	_ath6kl_rx_refill,4,2           ; @ath6kl_rx_refill
	.comm	_ath6kl_tx_queue_full,4,2       ; @ath6kl_tx_queue_full
	.comm	_MAX_DEFAULT_SEND_QUEUE_DEPTH,4,2 ; @MAX_DEFAULT_SEND_QUEUE_DEPTH
	.comm	_ATH6KL_MAX_RX_BUFFERS,4,2      ; @ATH6KL_MAX_RX_BUFFERS
	.comm	_WMI_CONTROL_SVC,4,2            ; @WMI_CONTROL_SVC
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"WMI CONTROL"

	.comm	_EIO,4,2                        ; @EIO
	.comm	_HTC_FLGS_TX_BNDL_PAD_EN,4,2    ; @HTC_FLGS_TX_BNDL_PAD_EN
	.comm	_WMI_MAX_TX_DATA_FRAME_LENGTH,4,2 ; @WMI_MAX_TX_DATA_FRAME_LENGTH
	.comm	_ATH6KL_BUFFER_SIZE,4,2         ; @ATH6KL_BUFFER_SIZE
	.comm	_ath6kl_alloc_amsdu_rxbuf,4,2   ; @ath6kl_alloc_amsdu_rxbuf
	.comm	_HTC_CONN_FLGS_REDUCE_CRED_DRIB,4,2 ; @HTC_CONN_FLGS_REDUCE_CRED_DRIB
	.comm	_HTC_CONN_FLGS_THRESH_MASK,4,2  ; @HTC_CONN_FLGS_THRESH_MASK
	.comm	_HTC_CONN_FLGS_THRESH_LVL_HALF,4,2 ; @HTC_CONN_FLGS_THRESH_LVL_HALF
	.comm	_WMI_DATA_BE_SVC,4,2            ; @WMI_DATA_BE_SVC
l_.str.1:                               ; @.str.1
	.asciz	"WMI DATA BE"

	.comm	_WMI_DATA_BK_SVC,4,2            ; @WMI_DATA_BK_SVC
l_.str.2:                               ; @.str.2
	.asciz	"WMI DATA BK"

	.comm	_WMI_DATA_VI_SVC,4,2            ; @WMI_DATA_VI_SVC
l_.str.3:                               ; @.str.3
	.asciz	"WMI DATA VI"

	.comm	_WMI_DATA_VO_SVC,4,2            ; @WMI_DATA_VO_SVC
l_.str.4:                               ; @.str.4
	.asciz	"WMI DATA VO"

	.no_dead_strip	_ath6kl_init_service_ep
.subsections_via_symbols
