	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function hid_scan_collection
_hid_scan_collection:                   ## @hid_scan_collection
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	movq	24(%rdi), %rcx
	movl	4(%rdi), %r9d
	shll	$16, %r9d
	movq	_HID_UP_SENSOR@GOTPCREL(%rip), %rax
	cmpl	(%rax), %r9d
	jne	LBB0_3
## %bb.1:
	movq	_HID_COLLECTION_PHYSICAL@GOTPCREL(%rip), %rax
	cmpl	%esi, (%rax)
	jne	LBB0_3
## %bb.2:
	movq	_HID_GROUP_SENSOR_HUB@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, (%rcx)
LBB0_3:
	movq	8(%rcx), %rax
	movq	_USB_VENDOR_ID_MICROSOFT@GOTPCREL(%rip), %rdx
	cmpq	(%rdx), %rax
	jne	LBB0_7
## %bb.4:
	movq	16(%rcx), %rax
	movq	_USB_DEVICE_ID_MS_POWER_COVER@GOTPCREL(%rip), %rdx
	cmpq	(%rdx), %rax
	jne	LBB0_7
## %bb.5:
	movq	(%rcx), %rax
	movq	_HID_GROUP_MULTITOUCH@GOTPCREL(%rip), %rdx
	cmpq	(%rdx), %rax
	jne	LBB0_7
## %bb.6:
	movq	_HID_GROUP_GENERIC@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, (%rcx)
LBB0_7:
	movq	_HID_UP_GENDESK@GOTPCREL(%rip), %rax
	cmpl	(%rax), %r9d
	jne	LBB0_20
## %bb.8:
	movl	8(%rdi), %r8d
	testl	%r8d, %r8d
	jle	LBB0_20
## %bb.9:
	movq	16(%rdi), %rdx
	movq	_HID_GD_POINTER@GOTPCREL(%rip), %rax
	movq	(%rax), %rsi
	cmpl	$1, %r8d
	jne	LBB0_11
## %bb.10:
	xorl	%ecx, %ecx
LBB0_17:
	testb	$1, %r8b
	je	LBB0_20
## %bb.18:
	cmpq	%rsi, (%rdx,%rcx,8)
	jne	LBB0_20
## %bb.19:
	movq	_HID_SCAN_FLAG_GD_POINTER@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	orl	%eax, (%rdi)
LBB0_20:
	movq	_HID_UP_MSVENDOR@GOTPCREL(%rip), %rax
	cmpl	(%rax), %r9d
	jl	LBB0_22
## %bb.21:
	movq	_HID_SCAN_FLAG_VENDOR_SPECIFIC@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	orl	%eax, (%rdi)
LBB0_22:
	popq	%rbp
	retq
LBB0_11:
	movl	%r8d, %r11d
	andl	$-2, %r11d
	xorl	%ecx, %ecx
	movq	_HID_SCAN_FLAG_GD_POINTER@GOTPCREL(%rip), %r10
	jmp	LBB0_12
	.p2align	4, 0x90
LBB0_16:                                ##   in Loop: Header=BB0_12 Depth=1
	addq	$2, %rcx
	cmpq	%rcx, %r11
	je	LBB0_17
LBB0_12:                                ## =>This Inner Loop Header: Depth=1
	cmpq	%rsi, (%rdx,%rcx,8)
	jne	LBB0_14
## %bb.13:                              ##   in Loop: Header=BB0_12 Depth=1
	movl	(%r10), %eax
	orl	%eax, (%rdi)
LBB0_14:                                ##   in Loop: Header=BB0_12 Depth=1
	cmpq	%rsi, 8(%rdx,%rcx,8)
	jne	LBB0_16
## %bb.15:                              ##   in Loop: Header=BB0_12 Depth=1
	movl	(%r10), %eax
	orl	%eax, (%rdi)
	jmp	LBB0_16
	.cfi_endproc
                                        ## -- End function
	.comm	_HID_UP_SENSOR,4,2              ## @HID_UP_SENSOR
	.comm	_HID_COLLECTION_PHYSICAL,4,2    ## @HID_COLLECTION_PHYSICAL
	.comm	_HID_GROUP_SENSOR_HUB,8,3       ## @HID_GROUP_SENSOR_HUB
	.comm	_USB_VENDOR_ID_MICROSOFT,8,3    ## @USB_VENDOR_ID_MICROSOFT
	.comm	_USB_DEVICE_ID_MS_POWER_COVER,8,3 ## @USB_DEVICE_ID_MS_POWER_COVER
	.comm	_HID_GROUP_MULTITOUCH,8,3       ## @HID_GROUP_MULTITOUCH
	.comm	_HID_GROUP_GENERIC,8,3          ## @HID_GROUP_GENERIC
	.comm	_HID_UP_GENDESK,4,2             ## @HID_UP_GENDESK
	.comm	_HID_GD_POINTER,8,3             ## @HID_GD_POINTER
	.comm	_HID_SCAN_FLAG_GD_POINTER,4,2   ## @HID_SCAN_FLAG_GD_POINTER
	.comm	_HID_UP_MSVENDOR,4,2            ## @HID_UP_MSVENDOR
	.comm	_HID_SCAN_FLAG_VENDOR_SPECIFIC,4,2 ## @HID_SCAN_FLAG_VENDOR_SPECIFIC
	.no_dead_strip	_hid_scan_collection
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function hid_scan_collection
_hid_scan_collection:                   ; @hid_scan_collection
	.cfi_startproc
; %bb.0:
	ldr	x9, [x0, #24]
	ldr	w8, [x0, #4]
	lsl	w8, w8, #16
Lloh0:
	adrp	x10, _HID_UP_SENSOR@GOTPAGE
Lloh1:
	ldr	x10, [x10, _HID_UP_SENSOR@GOTPAGEOFF]
Lloh2:
	ldr	w10, [x10]
Lloh3:
	adrp	x11, _HID_COLLECTION_PHYSICAL@GOTPAGE
Lloh4:
	ldr	x11, [x11, _HID_COLLECTION_PHYSICAL@GOTPAGEOFF]
Lloh5:
	ldr	w11, [x11]
	cmp	w8, w10
	ccmp	w11, w1, #0, eq
	b.ne	LBB0_2
; %bb.1:
Lloh6:
	adrp	x10, _HID_GROUP_SENSOR_HUB@GOTPAGE
Lloh7:
	ldr	x10, [x10, _HID_GROUP_SENSOR_HUB@GOTPAGEOFF]
Lloh8:
	ldr	x10, [x10]
	str	x10, [x9]
LBB0_2:
	ldr	x10, [x9, #8]
Lloh9:
	adrp	x11, _USB_VENDOR_ID_MICROSOFT@GOTPAGE
Lloh10:
	ldr	x11, [x11, _USB_VENDOR_ID_MICROSOFT@GOTPAGEOFF]
Lloh11:
	ldr	x11, [x11]
	cmp	x10, x11
	b.ne	LBB0_6
; %bb.3:
	ldr	x10, [x9, #16]
Lloh12:
	adrp	x11, _USB_DEVICE_ID_MS_POWER_COVER@GOTPAGE
Lloh13:
	ldr	x11, [x11, _USB_DEVICE_ID_MS_POWER_COVER@GOTPAGEOFF]
Lloh14:
	ldr	x11, [x11]
	cmp	x10, x11
	b.ne	LBB0_6
; %bb.4:
	ldr	x10, [x9]
Lloh15:
	adrp	x11, _HID_GROUP_MULTITOUCH@GOTPAGE
Lloh16:
	ldr	x11, [x11, _HID_GROUP_MULTITOUCH@GOTPAGEOFF]
Lloh17:
	ldr	x11, [x11]
	cmp	x10, x11
	b.ne	LBB0_6
; %bb.5:
Lloh18:
	adrp	x10, _HID_GROUP_GENERIC@GOTPAGE
Lloh19:
	ldr	x10, [x10, _HID_GROUP_GENERIC@GOTPAGEOFF]
Lloh20:
	ldr	x10, [x10]
	str	x10, [x9]
LBB0_6:
Lloh21:
	adrp	x9, _HID_UP_GENDESK@GOTPAGE
Lloh22:
	ldr	x9, [x9, _HID_UP_GENDESK@GOTPAGEOFF]
Lloh23:
	ldr	w9, [x9]
	cmp	w8, w9
	b.ne	LBB0_12
; %bb.7:
	ldr	w9, [x0, #8]
	cmp	w9, #1
	b.lt	LBB0_12
; %bb.8:
	ldr	x10, [x0, #16]
Lloh24:
	adrp	x11, _HID_GD_POINTER@GOTPAGE
Lloh25:
	ldr	x11, [x11, _HID_GD_POINTER@GOTPAGEOFF]
Lloh26:
	ldr	x11, [x11]
Lloh27:
	adrp	x12, _HID_SCAN_FLAG_GD_POINTER@GOTPAGE
Lloh28:
	ldr	x12, [x12, _HID_SCAN_FLAG_GD_POINTER@GOTPAGEOFF]
	b	LBB0_10
LBB0_9:                                 ;   in Loop: Header=BB0_10 Depth=1
	add	x10, x10, #8
	subs	x9, x9, #1
	b.eq	LBB0_12
LBB0_10:                                ; =>This Inner Loop Header: Depth=1
	ldr	x13, [x10]
	cmp	x13, x11
	b.ne	LBB0_9
; %bb.11:                               ;   in Loop: Header=BB0_10 Depth=1
	ldr	w13, [x12]
	ldr	w14, [x0]
	orr	w13, w14, w13
	str	w13, [x0]
	b	LBB0_9
LBB0_12:
Lloh29:
	adrp	x9, _HID_UP_MSVENDOR@GOTPAGE
Lloh30:
	ldr	x9, [x9, _HID_UP_MSVENDOR@GOTPAGEOFF]
Lloh31:
	ldr	w9, [x9]
	cmp	w8, w9
	b.lt	LBB0_14
; %bb.13:
Lloh32:
	adrp	x8, _HID_SCAN_FLAG_VENDOR_SPECIFIC@GOTPAGE
Lloh33:
	ldr	x8, [x8, _HID_SCAN_FLAG_VENDOR_SPECIFIC@GOTPAGEOFF]
Lloh34:
	ldr	w8, [x8]
	ldr	w9, [x0]
	orr	w8, w9, w8
	str	w8, [x0]
LBB0_14:
	ret
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGotLdr	Lloh6, Lloh7, Lloh8
	.loh AdrpLdrGotLdr	Lloh9, Lloh10, Lloh11
	.loh AdrpLdrGotLdr	Lloh12, Lloh13, Lloh14
	.loh AdrpLdrGotLdr	Lloh15, Lloh16, Lloh17
	.loh AdrpLdrGotLdr	Lloh18, Lloh19, Lloh20
	.loh AdrpLdrGotLdr	Lloh21, Lloh22, Lloh23
	.loh AdrpLdrGot	Lloh27, Lloh28
	.loh AdrpLdrGotLdr	Lloh24, Lloh25, Lloh26
	.loh AdrpLdrGotLdr	Lloh29, Lloh30, Lloh31
	.loh AdrpLdrGotLdr	Lloh32, Lloh33, Lloh34
	.cfi_endproc
                                        ; -- End function
	.comm	_HID_UP_SENSOR,4,2              ; @HID_UP_SENSOR
	.comm	_HID_COLLECTION_PHYSICAL,4,2    ; @HID_COLLECTION_PHYSICAL
	.comm	_HID_GROUP_SENSOR_HUB,8,3       ; @HID_GROUP_SENSOR_HUB
	.comm	_USB_VENDOR_ID_MICROSOFT,8,3    ; @USB_VENDOR_ID_MICROSOFT
	.comm	_USB_DEVICE_ID_MS_POWER_COVER,8,3 ; @USB_DEVICE_ID_MS_POWER_COVER
	.comm	_HID_GROUP_MULTITOUCH,8,3       ; @HID_GROUP_MULTITOUCH
	.comm	_HID_GROUP_GENERIC,8,3          ; @HID_GROUP_GENERIC
	.comm	_HID_UP_GENDESK,4,2             ; @HID_UP_GENDESK
	.comm	_HID_GD_POINTER,8,3             ; @HID_GD_POINTER
	.comm	_HID_SCAN_FLAG_GD_POINTER,4,2   ; @HID_SCAN_FLAG_GD_POINTER
	.comm	_HID_UP_MSVENDOR,4,2            ; @HID_UP_MSVENDOR
	.comm	_HID_SCAN_FLAG_VENDOR_SPECIFIC,4,2 ; @HID_SCAN_FLAG_VENDOR_SPECIFIC
	.no_dead_strip	_hid_scan_collection
.subsections_via_symbols
