	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal16,16byte_literals
	.p2align	4                               ## -- Begin function hid_get_data
LCPI0_0:
	.long	0                               ## 0x0
	.long	8                               ## 0x8
	.long	16                              ## 0x10
	.long	24                              ## 0x18
LCPI0_1:
	.long	0                               ## 0x0
	.long	1                               ## 0x1
	.long	2                               ## 0x2
	.long	3                               ## 0x3
LCPI0_2:
	.long	32                              ## 0x20
	.long	32                              ## 0x20
	.long	32                              ## 0x20
	.long	32                              ## 0x20
LCPI0_3:
	.long	1065353216                      ## 0x3f800000
	.long	1065353216                      ## 0x3f800000
	.long	1065353216                      ## 0x3f800000
	.long	1065353216                      ## 0x3f800000
LCPI0_4:
	.long	64                              ## 0x40
	.long	64                              ## 0x40
	.long	64                              ## 0x40
	.long	64                              ## 0x40
LCPI0_5:
	.long	96                              ## 0x60
	.long	96                              ## 0x60
	.long	96                              ## 0x60
	.long	96                              ## 0x60
LCPI0_6:
	.long	16                              ## 0x10
	.long	16                              ## 0x10
	.long	16                              ## 0x10
	.long	16                              ## 0x10
	.section	__TEXT,__text,regular,pure_instructions
	.globl	_hid_get_data
	.p2align	4, 0x90
_hid_get_data:                          ## @hid_get_data
	.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	%rbx
	.cfi_offset %rbx, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	xorl	%r15d, %r15d
	cmpq	$0, (%rsi)
	setg	%cl
	movl	12(%rsi), %eax
	testl	%eax, %eax
	je	LBB0_1
## %bb.2:
	movl	8(%rsi), %r9d
	cmpl	$32, %eax
	movl	$32, %r8d
	cmovll	%eax, %r8d
	leal	7(%r9), %esi
	testl	%r9d, %r9d
	cmovnsl	%r9d, %esi
	sarl	$3, %esi
	movl	%r8d, %eax
	addl	%r9d, %eax
	leal	7(%r8,%r9), %edx
	cmovnsl	%eax, %edx
	sarl	$3, %edx
	xorl	%eax, %eax
	subl	%esi, %edx
	jl	LBB0_15
## %bb.3:
	movb	%cl, %r15b
	leaq	(,%r15,4), %r10
	movslq	%esi, %r11
	incl	%edx
	cmpl	$8, %edx
	jae	LBB0_5
## %bb.4:
	xorl	%esi, %esi
	xorl	%eax, %eax
	jmp	LBB0_13
LBB0_1:
	xorl	%eax, %eax
	jmp	LBB0_16
LBB0_5:
	movl	%edx, %esi
	andl	$-8, %esi
	leaq	-8(%rsi), %rax
	movq	%rax, %r14
	shrq	$3, %r14
	incq	%r14
	testq	%rax, %rax
	je	LBB0_6
## %bb.7:
	movq	%r14, %rax
	andq	$-2, %rax
	leaq	(%r10,%r11,4), %rcx
	addq	%rdi, %rcx
	addq	$48, %rcx
	movdqa	LCPI0_1(%rip), %xmm6            ## xmm6 = [0,1,2,3]
	pxor	%xmm0, %xmm0
	xorl	%ebx, %ebx
	movdqa	LCPI0_2(%rip), %xmm8            ## xmm8 = [32,32,32,32]
	movdqa	LCPI0_3(%rip), %xmm12           ## xmm12 = [1065353216,1065353216,1065353216,1065353216]
	movdqa	LCPI0_4(%rip), %xmm9            ## xmm9 = [64,64,64,64]
	movdqa	LCPI0_5(%rip), %xmm10           ## xmm10 = [96,96,96,96]
	movdqa	LCPI0_6(%rip), %xmm11           ## xmm11 = [16,16,16,16]
	pxor	%xmm2, %xmm2
	.p2align	4, 0x90
LBB0_8:                                 ## =>This Inner Loop Header: Depth=1
	movdqa	%xmm6, %xmm3
	pslld	$3, %xmm3
	movdqa	%xmm3, %xmm1
	paddd	%xmm8, %xmm1
	movdqa	%xmm6, %xmm5
	pslld	$26, %xmm5
	paddd	%xmm12, %xmm5
	cvttps2dq	%xmm5, %xmm5
	movdqu	-48(%rcx,%rbx,4), %xmm7
	pmulld	%xmm5, %xmm7
	por	%xmm0, %xmm7
	movdqu	-32(%rcx,%rbx,4), %xmm0
	movdqu	-16(%rcx,%rbx,4), %xmm5
	movdqu	(%rcx,%rbx,4), %xmm4
	pslld	$23, %xmm1
	paddd	%xmm12, %xmm1
	cvttps2dq	%xmm1, %xmm1
	pmulld	%xmm0, %xmm1
	por	%xmm2, %xmm1
	movdqa	%xmm3, %xmm0
	paddd	%xmm9, %xmm0
	paddd	%xmm10, %xmm3
	pslld	$23, %xmm0
	paddd	%xmm12, %xmm0
	cvttps2dq	%xmm0, %xmm0
	pmulld	%xmm5, %xmm0
	por	%xmm7, %xmm0
	pslld	$23, %xmm3
	paddd	%xmm12, %xmm3
	cvttps2dq	%xmm3, %xmm2
	pmulld	%xmm4, %xmm2
	por	%xmm1, %xmm2
	addq	$16, %rbx
	paddd	%xmm11, %xmm6
	addq	$-2, %rax
	jne	LBB0_8
## %bb.9:
	pslld	$3, %xmm6
	testb	$1, %r14b
	je	LBB0_12
LBB0_11:
	leaq	(%rdi,%r15,4), %rax
	addq	%r11, %rbx
	movdqu	(%rax,%rbx,4), %xmm1
	movdqu	16(%rax,%rbx,4), %xmm3
	movdqa	LCPI0_2(%rip), %xmm4            ## xmm4 = [32,32,32,32]
	paddd	%xmm6, %xmm4
	pslld	$23, %xmm6
	movdqa	LCPI0_3(%rip), %xmm5            ## xmm5 = [1065353216,1065353216,1065353216,1065353216]
	paddd	%xmm5, %xmm6
	cvttps2dq	%xmm6, %xmm6
	pmulld	%xmm1, %xmm6
	por	%xmm6, %xmm0
	pslld	$23, %xmm4
	paddd	%xmm5, %xmm4
	cvttps2dq	%xmm4, %xmm1
	pmulld	%xmm3, %xmm1
	por	%xmm1, %xmm2
LBB0_12:
	por	%xmm2, %xmm0
	pshufd	$238, %xmm0, %xmm1              ## xmm1 = xmm0[2,3,2,3]
	por	%xmm0, %xmm1
	pshufd	$85, %xmm1, %xmm0               ## xmm0 = xmm1[1,1,1,1]
	por	%xmm1, %xmm0
	movd	%xmm0, %eax
	cmpq	%rdx, %rsi
	je	LBB0_15
LBB0_13:
	leal	(,%rsi,8), %ecx
	leaq	(%r10,%r11,4), %rbx
	addq	%rbx, %rdi
	.p2align	4, 0x90
LBB0_14:                                ## =>This Inner Loop Header: Depth=1
	movl	(%rdi,%rsi,4), %ebx
	shll	%cl, %ebx
	orl	%ebx, %eax
	incq	%rsi
	addl	$8, %ecx
	cmpq	%rsi, %rdx
	jne	LBB0_14
LBB0_15:
	andb	$7, %r9b
	movl	%r9d, %ecx
	sarl	%cl, %eax
	negb	%r8b
	movl	%r8d, %ecx
	shll	%cl, %eax
	sarl	%cl, %eax
LBB0_16:
	popq	%rbx
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_6:
	movdqa	LCPI0_0(%rip), %xmm6            ## xmm6 = [0,8,16,24]
	pxor	%xmm0, %xmm0
	xorl	%ebx, %ebx
	pxor	%xmm2, %xmm2
	testb	$1, %r14b
	jne	LBB0_11
	jmp	LBB0_12
	.cfi_endproc
                                        ## -- End function
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal16,16byte_literals
	.p2align	4                               ; -- Begin function hid_get_data
lCPI0_0:
	.long	0                               ; 0x0
	.long	1                               ; 0x1
	.long	2                               ; 0x2
	.long	3                               ; 0x3
	.section	__TEXT,__text,regular,pure_instructions
	.globl	_hid_get_data
	.p2align	2
_hid_get_data:                          ; @hid_get_data
	.cfi_startproc
; %bb.0:
	ldr	x8, [x1]
	cmp	x8, #0
	cset	w10, gt
	ldr	w9, [x1, #12]
	cbz	w9, LBB0_3
; %bb.1:
	ldr	w8, [x1, #8]
	mov	w11, #32
	cmp	w9, #32
	csel	w9, w9, w11, lt
	add	w11, w8, #7
	cmp	w8, #0
	csel	w11, w11, w8, lt
	asr	w12, w11, #3
	add	w11, w9, w8
	add	w13, w11, #7
	cmp	w11, #0
	csel	w11, w13, w11, lt
	asr	w11, w11, #3
	subs	w13, w11, w12
	b.ge	LBB0_4
; %bb.2:
	mov	w14, #0
	b	LBB0_11
LBB0_3:
	mov	w0, #0
	ret
LBB0_4:
	lsl	x11, x10, #2
	sxtw	x12, w12
	add	w10, w13, #1
	cmp	w10, #16
	b.hs	LBB0_6
; %bb.5:
	mov	x13, #0
	mov	w14, #0
	b	LBB0_9
LBB0_6:
	and	x13, x10, #0xfffffff0
	add	x14, x11, x12, lsl #2
	add	x14, x14, x0
	add	x14, x14, #32
	movi.2d	v0, #0000000000000000
	movi.4s	v1, #32
Lloh0:
	adrp	x15, lCPI0_0@PAGE
Lloh1:
	ldr	q2, [x15, lCPI0_0@PAGEOFF]
	movi.4s	v3, #64
	movi.4s	v4, #96
	movi.4s	v5, #16
	mov	x15, x13
	movi.2d	v6, #0000000000000000
	movi.2d	v7, #0000000000000000
	movi.2d	v16, #0000000000000000
LBB0_7:                                 ; =>This Inner Loop Header: Depth=1
	ldp	q17, q18, [x14, #-32]
	ldp	q19, q20, [x14], #64
	shl.4s	v21, v2, #3
	add.4s	v22, v21, v1
	add.4s	v23, v21, v3
	add.4s	v24, v21, v4
	ushl.4s	v17, v17, v21
	ushl.4s	v18, v18, v22
	ushl.4s	v19, v19, v23
	ushl.4s	v20, v20, v24
	orr.16b	v0, v17, v0
	orr.16b	v6, v18, v6
	orr.16b	v7, v19, v7
	orr.16b	v16, v20, v16
	add.4s	v2, v2, v5
	subs	x15, x15, #16
	b.ne	LBB0_7
; %bb.8:
	orr.16b	v0, v6, v0
	orr.16b	v0, v7, v0
	orr.16b	v0, v16, v0
	ext.16b	v1, v0, v0, #8
	orr.8b	v0, v0, v1
	fmov	w14, s0
	mov.s	w15, v0[1]
	orr	w14, w14, w15
	cmp	x13, x10
	b.eq	LBB0_11
LBB0_9:
	lsl	w15, w13, #3
	add	x12, x13, x12
	add	x11, x11, x12, lsl #2
	add	x11, x0, x11
	sub	x10, x10, x13
LBB0_10:                                ; =>This Inner Loop Header: Depth=1
	ldr	w12, [x11], #4
	lsl	w12, w12, w15
	orr	w14, w12, w14
	add	w15, w15, #8
	subs	x10, x10, #1
	b.ne	LBB0_10
LBB0_11:
	and	w8, w8, #0x7
	asr	w8, w14, w8
	neg	w9, w9
	lsl	w8, w8, w9
	asr	w0, w8, w9
	ret
	.loh AdrpLdr	Lloh0, Lloh1
	.cfi_endproc
                                        ; -- End function
.subsections_via_symbols
