	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_hid_validate_values            ## -- Begin function hid_validate_values
	.p2align	4, 0x90
_hid_validate_values:                   ## @hid_validate_values
	.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
	pushq	%rax
	.cfi_offset %rbx, -24
	movl	%ecx, %eax
	movl	%edx, %ecx
	movl	%esi, %edx
	movq	_HID_FEATURE_REPORT@GOTPCREL(%rip), %rsi
	cmpl	%edx, (%rsi)
	jae	LBB0_3
## %bb.1:
	leaq	L_.str(%rip), %rsi
	xorl	%ebx, %ebx
	jmp	LBB0_2
LBB0_3:
	movq	_HID_MAX_IDS@GOTPCREL(%rip), %rsi
	cmpl	%ecx, (%rsi)
	jbe	LBB0_4
## %bb.5:
	movq	(%rdi), %rsi
	movl	%edx, %edx
	movq	(%rsi,%rdx,8), %rsi
	movl	%ecx, %ebx
	movq	(%rsi,%rbx,8), %rbx
	testq	%rbx, %rbx
	je	LBB0_6
## %bb.8:
	cmpl	%eax, (%rbx)
	jbe	LBB0_9
## %bb.10:
	movq	8(%rbx), %r9
	movl	%eax, %esi
	movq	(%r9,%rsi,8), %rsi
	cmpl	%r8d, (%rsi)
	jae	LBB0_12
## %bb.11:
	movq	_hid_report_names@GOTPCREL(%rip), %rsi
	movq	(%rsi), %rsi
	movl	(%rsi,%rdx,4), %edx
	leaq	L_.str.4(%rip), %rsi
	xorl	%ebx, %ebx
	movl	%eax, %r8d
	xorl	%eax, %eax
	callq	_hid_err
	jmp	LBB0_12
LBB0_4:
	leaq	L_.str.1(%rip), %rsi
	xorl	%ebx, %ebx
	movl	%ecx, %edx
LBB0_2:
	xorl	%eax, %eax
	callq	_hid_err
LBB0_12:
	movq	%rbx, %rax
	addq	$8, %rsp
	popq	%rbx
	popq	%rbp
	retq
LBB0_6:
	movq	_hid_report_names@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movl	(%rax,%rdx,4), %edx
	leaq	L_.str.2(%rip), %rsi
	jmp	LBB0_7
LBB0_9:
	movq	_hid_report_names@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movl	(%rax,%rdx,4), %edx
	leaq	L_.str.3(%rip), %rsi
LBB0_7:
	xorl	%ebx, %ebx
	xorl	%eax, %eax
	callq	_hid_err
	jmp	LBB0_12
	.cfi_endproc
                                        ## -- End function
	.comm	_HID_FEATURE_REPORT,4,2         ## @HID_FEATURE_REPORT
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"invalid HID report type %u\n"

	.comm	_HID_MAX_IDS,4,2                ## @HID_MAX_IDS
L_.str.1:                               ## @.str.1
	.asciz	"invalid HID report id %u\n"

L_.str.2:                               ## @.str.2
	.asciz	"missing %s %u\n"

	.comm	_hid_report_names,8,3           ## @hid_report_names
L_.str.3:                               ## @.str.3
	.asciz	"not enough fields in %s %u\n"

L_.str.4:                               ## @.str.4
	.asciz	"not enough values in %s %u field %u\n"

.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_hid_validate_values            ; -- Begin function hid_validate_values
	.p2align	2
_hid_validate_values:                   ; @hid_validate_values
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #32
	.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
                                        ; kill: def $w3 killed $w3 def $x3
                                        ; kill: def $w2 killed $w2 def $x2
	mov	x8, x1
Lloh0:
	adrp	x9, _HID_FEATURE_REPORT@GOTPAGE
Lloh1:
	ldr	x9, [x9, _HID_FEATURE_REPORT@GOTPAGEOFF]
Lloh2:
	ldr	w9, [x9]
	cmp	w9, w1
	b.hs	LBB0_3
; %bb.1:
Lloh3:
	adrp	x1, l_.str@PAGE
Lloh4:
	add	x1, x1, l_.str@PAGEOFF
LBB0_2:
	mov	x2, x8
	b	LBB0_9
LBB0_3:
Lloh5:
	adrp	x9, _HID_MAX_IDS@GOTPAGE
Lloh6:
	ldr	x9, [x9, _HID_MAX_IDS@GOTPAGEOFF]
Lloh7:
	ldr	w9, [x9]
	cmp	w9, w2
	b.ls	LBB0_8
; %bb.4:
	ldr	x10, [x0]
	mov	w9, w8
	ldr	x8, [x10, w8, uxtw #3]
	ldr	x8, [x8, w2, uxtw #3]
	cbz	x8, LBB0_11
; %bb.5:
	ldr	w10, [x8]
	cmp	w10, w3
	b.ls	LBB0_12
; %bb.6:
	ldr	x10, [x8, #8]
	ldr	x10, [x10, w3, uxtw #3]
	ldr	w10, [x10]
	cmp	w10, w4
	b.hs	LBB0_10
; %bb.7:
Lloh8:
	adrp	x8, _hid_report_names@GOTPAGE
Lloh9:
	ldr	x8, [x8, _hid_report_names@GOTPAGEOFF]
Lloh10:
	ldr	x8, [x8]
	ldr	w8, [x8, x9, lsl #2]
                                        ; kill: def $w2 killed $w2 killed $x2 def $x2
	stp	x2, x3, [sp]
Lloh11:
	adrp	x1, l_.str.4@PAGE
Lloh12:
	add	x1, x1, l_.str.4@PAGEOFF
	b	LBB0_2
LBB0_8:
Lloh13:
	adrp	x1, l_.str.1@PAGE
Lloh14:
	add	x1, x1, l_.str.1@PAGEOFF
                                        ; kill: def $w2 killed $w2 killed $x2
LBB0_9:
	bl	_hid_err
	mov	x8, #0
LBB0_10:
	mov	x0, x8
	ldp	x29, x30, [sp, #16]             ; 16-byte Folded Reload
	add	sp, sp, #32
	ret
LBB0_11:
Lloh15:
	adrp	x8, _hid_report_names@GOTPAGE
Lloh16:
	ldr	x8, [x8, _hid_report_names@GOTPAGEOFF]
Lloh17:
	ldr	x8, [x8]
	ldr	w8, [x8, x9, lsl #2]
	str	x2, [sp]
Lloh18:
	adrp	x1, l_.str.2@PAGE
Lloh19:
	add	x1, x1, l_.str.2@PAGEOFF
	b	LBB0_2
LBB0_12:
Lloh20:
	adrp	x8, _hid_report_names@GOTPAGE
Lloh21:
	ldr	x8, [x8, _hid_report_names@GOTPAGEOFF]
Lloh22:
	ldr	x8, [x8]
	ldr	w8, [x8, x9, lsl #2]
                                        ; kill: def $w2 killed $w2 killed $x2 def $x2
	str	x2, [sp]
Lloh23:
	adrp	x1, l_.str.3@PAGE
Lloh24:
	add	x1, x1, l_.str.3@PAGEOFF
	b	LBB0_2
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpAdd	Lloh3, Lloh4
	.loh AdrpLdrGotLdr	Lloh5, Lloh6, Lloh7
	.loh AdrpAdd	Lloh11, Lloh12
	.loh AdrpLdrGotLdr	Lloh8, Lloh9, Lloh10
	.loh AdrpAdd	Lloh13, Lloh14
	.loh AdrpAdd	Lloh18, Lloh19
	.loh AdrpLdrGotLdr	Lloh15, Lloh16, Lloh17
	.loh AdrpAdd	Lloh23, Lloh24
	.loh AdrpLdrGotLdr	Lloh20, Lloh21, Lloh22
	.cfi_endproc
                                        ; -- End function
	.comm	_HID_FEATURE_REPORT,4,2         ; @HID_FEATURE_REPORT
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"invalid HID report type %u\n"

	.comm	_HID_MAX_IDS,4,2                ; @HID_MAX_IDS
l_.str.1:                               ; @.str.1
	.asciz	"invalid HID report id %u\n"

l_.str.2:                               ; @.str.2
	.asciz	"missing %s %u\n"

	.comm	_hid_report_names,8,3           ; @hid_report_names
l_.str.3:                               ; @.str.3
	.asciz	"not enough fields in %s %u\n"

l_.str.4:                               ; @.str.4
	.asciz	"not enough values in %s %u field %u\n"

.subsections_via_symbols
