	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_rose_decode                    ## -- Begin function rose_decode
	.p2align	4, 0x90
_rose_decode:                           ## @rose_decode
	.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
	.cfi_offset %rbx, -24
	movq	(%rdi), %r11
	movl	$0, (%r9)
	movl	$0, (%r8)
	movl	$0, (%rcx)
	movl	$0, (%rdx)
	movl	$0, (%rsi)
	movzbl	2(%r11), %eax
	cmpb	$-122, %al
	jl	LBB0_7
## %bb.1:
	movl	%eax, %r10d
	andl	$31, %r10d
	movq	_ROSE_RR@GOTPCREL(%rip), %rdi
	movzbl	(%rdi), %edi
	cmpl	%edi, %r10d
	je	LBB0_3
## %bb.2:
	movq	_ROSE_RNR@GOTPCREL(%rip), %rdi
	movzbl	(%rdi), %edi
	cmpl	%edi, %r10d
	je	LBB0_3
## %bb.4:
	andl	$1, %eax
	movq	_ROSE_DATA@GOTPCREL(%rip), %r10
	movzbl	(%r10), %edi
	cmpl	%edi, %eax
	jne	LBB0_6
## %bb.5:
	movb	(%r11), %al
	movq	_ROSE_Q_BIT@GOTPCREL(%rip), %rdi
	notb	%al
	xorl	%ebx, %ebx
	andb	(%rdi), %al
	sete	%bl
	movl	%ebx, (%rcx)
	movb	(%r11), %al
	movq	_ROSE_D_BIT@GOTPCREL(%rip), %rcx
	notb	%al
	xorl	%edi, %edi
	andb	(%rcx), %al
	sete	%dil
	movl	%edi, (%r8)
	movb	2(%r11), %al
	movq	_ROSE_M_BIT@GOTPCREL(%rip), %rcx
	notb	%al
	xorl	%edi, %edi
	andb	(%rcx), %al
	sete	%dil
	movl	%edi, (%r9)
	movzbl	2(%r11), %eax
	shrl	$5, %eax
	movl	%eax, (%rdx)
	movzbl	2(%r11), %eax
	shrl	%eax
	andl	$7, %eax
	movl	%eax, (%rsi)
	movzbl	(%r10), %eax
	jmp	LBB0_7
LBB0_3:
	shrb	$5, %al
	movzbl	%al, %eax
	movl	%eax, (%rdx)
	movzbl	2(%r11), %eax
	andl	$31, %eax
	jmp	LBB0_7
LBB0_6:
	movq	_ROSE_ILLEGAL@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
LBB0_7:
	popq	%rbx
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_ROSE_RR,1,0                    ## @ROSE_RR
	.comm	_ROSE_RNR,1,0                   ## @ROSE_RNR
	.comm	_ROSE_DATA,1,0                  ## @ROSE_DATA
	.comm	_ROSE_Q_BIT,1,0                 ## @ROSE_Q_BIT
	.comm	_ROSE_D_BIT,1,0                 ## @ROSE_D_BIT
	.comm	_ROSE_M_BIT,1,0                 ## @ROSE_M_BIT
	.comm	_ROSE_ILLEGAL,4,2               ## @ROSE_ILLEGAL
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_rose_decode                    ; -- Begin function rose_decode
	.p2align	2
_rose_decode:                           ; @rose_decode
	.cfi_startproc
; %bb.0:
	ldr	x8, [x0]
	str	wzr, [x5]
	str	wzr, [x4]
	str	wzr, [x3]
	str	wzr, [x2]
	str	wzr, [x1]
	ldrsb	w9, [x8, #2]
	and	w0, w9, #0xff
	cmn	w9, #122
	b.lt	LBB0_6
; %bb.1:
	and	w9, w0, #0x1f
Lloh0:
	adrp	x10, _ROSE_RR@GOTPAGE
Lloh1:
	ldr	x10, [x10, _ROSE_RR@GOTPAGEOFF]
	ldrb	w10, [x10]
Lloh2:
	adrp	x11, _ROSE_RNR@GOTPAGE
Lloh3:
	ldr	x11, [x11, _ROSE_RNR@GOTPAGEOFF]
	ldrb	w11, [x11]
	cmp	w9, w10
	ccmp	w9, w11, #4, ne
	b.ne	LBB0_3
; %bb.2:
	lsr	w9, w0, #5
	str	w9, [x2]
	ldrb	w8, [x8, #2]
	and	w0, w8, #0x1f
	ret
LBB0_3:
	and	w10, w0, #0x1
Lloh4:
	adrp	x9, _ROSE_DATA@GOTPAGE
Lloh5:
	ldr	x9, [x9, _ROSE_DATA@GOTPAGEOFF]
	ldrb	w11, [x9]
	cmp	w10, w11
	b.ne	LBB0_5
; %bb.4:
	ldrb	w10, [x8]
Lloh6:
	adrp	x11, _ROSE_Q_BIT@GOTPAGE
Lloh7:
	ldr	x11, [x11, _ROSE_Q_BIT@GOTPAGEOFF]
	ldrb	w11, [x11]
	bics	wzr, w11, w10
	cset	w10, eq
	str	w10, [x3]
	ldrb	w10, [x8]
Lloh8:
	adrp	x11, _ROSE_D_BIT@GOTPAGE
Lloh9:
	ldr	x11, [x11, _ROSE_D_BIT@GOTPAGEOFF]
	ldrb	w11, [x11]
	bics	wzr, w11, w10
	cset	w10, eq
	str	w10, [x4]
Lloh10:
	adrp	x10, _ROSE_M_BIT@GOTPAGE
Lloh11:
	ldr	x10, [x10, _ROSE_M_BIT@GOTPAGEOFF]
	ldrb	w11, [x8, #2]
	ldrb	w10, [x10]
	bics	wzr, w10, w11
	cset	w10, eq
	str	w10, [x5]
	ldrb	w10, [x8, #2]
	lsr	w10, w10, #5
	str	w10, [x2]
	ldrb	w8, [x8, #2]
	ubfx	w8, w8, #1, #3
	str	w8, [x1]
	ldrb	w0, [x9]
	ret
LBB0_5:
Lloh12:
	adrp	x8, _ROSE_ILLEGAL@GOTPAGE
Lloh13:
	ldr	x8, [x8, _ROSE_ILLEGAL@GOTPAGEOFF]
Lloh14:
	ldr	w0, [x8]
LBB0_6:
	ret
	.loh AdrpLdrGot	Lloh2, Lloh3
	.loh AdrpLdrGot	Lloh0, Lloh1
	.loh AdrpLdrGot	Lloh4, Lloh5
	.loh AdrpLdrGot	Lloh10, Lloh11
	.loh AdrpLdrGot	Lloh8, Lloh9
	.loh AdrpLdrGot	Lloh6, Lloh7
	.loh AdrpLdrGotLdr	Lloh12, Lloh13, Lloh14
	.cfi_endproc
                                        ; -- End function
	.comm	_ROSE_RR,1,0                    ; @ROSE_RR
	.comm	_ROSE_RNR,1,0                   ; @ROSE_RNR
	.comm	_ROSE_DATA,1,0                  ; @ROSE_DATA
	.comm	_ROSE_Q_BIT,1,0                 ; @ROSE_Q_BIT
	.comm	_ROSE_D_BIT,1,0                 ; @ROSE_D_BIT
	.comm	_ROSE_M_BIT,1,0                 ; @ROSE_M_BIT
	.comm	_ROSE_ILLEGAL,4,2               ; @ROSE_ILLEGAL
.subsections_via_symbols
