	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_usb_parse_descriptor           ## -- Begin function usb_parse_descriptor
	.p2align	4, 0x90
_usb_parse_descriptor:                  ## @usb_parse_descriptor
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	movb	(%rsi), %cl
	movq	%rdi, %rax
	testb	%cl, %cl
	je	LBB0_9
## %bb.1:
	incq	%rsi
	movq	%rdi, %rax
	jmp	LBB0_2
	.p2align	4, 0x90
LBB0_7:                                 ##   in Loop: Header=BB0_2 Depth=1
	movl	12(%rax), %r8d
	shll	$24, %r8d
	movl	4(%rax), %r9d
	movl	8(%rax), %ecx
	shll	$16, %ecx
	orl	%r8d, %ecx
	shll	$8, %r9d
	orl	%ecx, %r9d
	orl	(%rax), %r9d
	addq	$16, %rax
	movl	%edx, %ecx
	andl	$4, %ecx
	addq	%rdx, %rcx
	movl	%ecx, %edx
	andl	$8, %edx
	movl	%r9d, (%rdx,%rcx)
	addq	%rcx, %rdx
	addq	$16, %rdx
LBB0_8:                                 ##   in Loop: Header=BB0_2 Depth=1
	movzbl	(%rsi), %ecx
	incq	%rsi
	testb	%cl, %cl
	je	LBB0_9
LBB0_2:                                 ## =>This Inner Loop Header: Depth=1
	movsbl	%cl, %ecx
	cmpl	$119, %ecx
	je	LBB0_6
## %bb.3:                               ##   in Loop: Header=BB0_2 Depth=1
	cmpl	$100, %ecx
	je	LBB0_7
## %bb.4:                               ##   in Loop: Header=BB0_2 Depth=1
	cmpl	$98, %ecx
	jne	LBB0_8
## %bb.5:                               ##   in Loop: Header=BB0_2 Depth=1
	movl	(%rax), %ecx
	addq	$4, %rax
	movl	%ecx, (%rdx)
	addq	$4, %rdx
	jmp	LBB0_8
	.p2align	4, 0x90
LBB0_6:                                 ##   in Loop: Header=BB0_2 Depth=1
	movl	4(%rax), %r8d
	shll	$8, %r8d
	orl	(%rax), %r8d
	addq	$8, %rax
	movl	%edx, %ecx
	andl	$4, %ecx
	movl	%r8d, (%rdx,%rcx)
	addq	%rcx, %rdx
	addq	$8, %rdx
	jmp	LBB0_8
LBB0_9:
	subq	%rdi, %rax
	shrq	$2, %rax
                                        ## kill: def $eax killed $eax killed $rax
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_usb_parse_descriptor           ; -- Begin function usb_parse_descriptor
	.p2align	2
_usb_parse_descriptor:                  ; @usb_parse_descriptor
	.cfi_startproc
; %bb.0:
	ldrb	w10, [x1]
	mov	x8, x0
	cbz	w10, LBB0_9
; %bb.1:
	add	x9, x1, #1
	mov	x8, x0
	b	LBB0_4
LBB0_2:                                 ;   in Loop: Header=BB0_4 Depth=1
	ldp	w11, w10, [x8, #8]
	lsl	w11, w11, #16
	orr	w10, w11, w10, lsl #24
	ldp	w12, w11, [x8], #16
	orr	w10, w10, w11, lsl #8
	orr	w10, w10, w12
	ubfx	x11, x2, #2, #1
	add	x11, x2, x11, lsl #2
	and	x12, x11, #0x8
	add	x2, x11, x12
	str	w10, [x2], #16
LBB0_3:                                 ;   in Loop: Header=BB0_4 Depth=1
	ldrb	w10, [x9], #1
	cbz	w10, LBB0_9
LBB0_4:                                 ; =>This Inner Loop Header: Depth=1
	and	w11, w10, #0xff
	cmp	w11, #119
	b.eq	LBB0_8
; %bb.5:                                ;   in Loop: Header=BB0_4 Depth=1
	sxtb	w10, w10
	cmp	w10, #100
	b.eq	LBB0_2
; %bb.6:                                ;   in Loop: Header=BB0_4 Depth=1
	cmp	w10, #98
	b.ne	LBB0_3
; %bb.7:                                ;   in Loop: Header=BB0_4 Depth=1
	ldr	w10, [x8], #4
	str	w10, [x2], #4
	b	LBB0_3
LBB0_8:                                 ;   in Loop: Header=BB0_4 Depth=1
	ldp	w11, w10, [x8], #8
	orr	w10, w11, w10, lsl #8
	ubfx	x11, x2, #2, #1
	add	x2, x2, x11, lsl #2
	str	w10, [x2], #8
	b	LBB0_3
LBB0_9:
	sub	x8, x8, x0
	lsr	x0, x8, #2
                                        ; kill: def $w0 killed $w0 killed $x0
	ret
	.cfi_endproc
                                        ; -- End function
.subsections_via_symbols
