	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_parse_satb_m5                  ## -- Begin function parse_satb_m5
	.p2align	4, 0x90
_parse_satb_m5:                         ## @parse_satb_m5
	.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	%r13
	pushq	%r12
	pushq	%rbx
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	_reg@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movl	48(%rax), %eax
	shll	$2, %eax
	andl	$4, %eax
	leal	64(,%rax,4), %ecx
	movl	%eax, %esi
	movq	_vram@GOTPCREL(%rip), %rax
	movq	_satb@GOTPCREL(%rip), %rdx
	movq	(%rdx), %r9
	shlq	$2, %r9
	addq	(%rax), %r9
	orl	$16, %esi
	movl	%esi, -44(%rbp)                 ## 4-byte Spill
	movq	_sat@GOTPCREL(%rip), %rax
	movq	(%rax), %r12
	addl	$129, %edi
	movq	_object_info@GOTPCREL(%rip), %rax
	movq	(%rax), %r10
	movl	$1, %r13d
	subl	%ecx, %r13d
	xorl	%r15d, %r15d
	movq	_im2_flag@GOTPCREL(%rip), %r11
	xorl	%ebx, %ebx
	.p2align	4, 0x90
LBB0_1:                                 ## =>This Inner Loop Header: Depth=1
	movl	%ebx, %eax
	movl	(%r12,%rax,4), %edx
	movzbl	(%r11), %ecx
	sarl	%cl, %edx
	andl	$511, %edx                      ## imm = 0x1FF
	movl	%ebx, %ecx
	orl	$1, %ecx
	movl	(%r12,%rcx,4), %esi
	movl	%edi, %eax
	subl	%edx, %eax
	js	LBB0_6
## %bb.2:                               ##   in Loop: Header=BB0_1 Depth=1
	movl	%esi, %r8d
	sarl	$8, %r8d
	movl	%r8d, %r14d
	andl	$3, %r14d
	leal	8(,%r14,8), %edx
	cmpl	%edx, %eax
	jae	LBB0_6
## %bb.3:                               ##   in Loop: Header=BB0_1 Depth=1
	cmpl	-44(%rbp), %r15d                ## 4-byte Folded Reload
	je	LBB0_4
## %bb.5:                               ##   in Loop: Header=BB0_1 Depth=1
	movl	%ebx, %edx
	orl	$2, %edx
	movl	(%r9,%rdx,4), %edx
	movslq	%r15d, %rsi
	shlq	$4, %rsi
	movl	%edx, (%r10,%rsi)
	orl	$3, %ebx
	movl	(%r9,%rbx,4), %edx
	movl	$511, %ebx                      ## imm = 0x1FF
	andl	%ebx, %edx
	movl	%edx, 4(%r10,%rsi)
	movl	%eax, 8(%r10,%rsi)
	andl	$15, %r8d
	movl	%r8d, 12(%r10,%rsi)
	incl	%r15d
	movl	(%r12,%rcx,4), %esi
LBB0_6:                                 ##   in Loop: Header=BB0_1 Depth=1
	shll	$2, %esi
	movl	%esi, %ebx
	andl	$508, %ebx                      ## imm = 0x1FC
	je	LBB0_8
## %bb.7:                               ##   in Loop: Header=BB0_1 Depth=1
	leal	1(%r13), %eax
	testl	%r13d, %r13d
	movl	%eax, %r13d
	jne	LBB0_1
	jmp	LBB0_8
LBB0_4:
	movq	_status@GOTPCREL(%rip), %rax
	orb	$64, (%rax)
	movl	-44(%rbp), %r15d                ## 4-byte Reload
LBB0_8:
	movq	_object_count@GOTPCREL(%rip), %rax
	movl	%r15d, (%rax)
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_reg,8,3                        ## @reg
	.comm	_vram,8,3                       ## @vram
	.comm	_satb,8,3                       ## @satb
	.comm	_sat,8,3                        ## @sat
	.comm	_im2_flag,4,2                   ## @im2_flag
	.comm	_status,4,2                     ## @status
	.comm	_object_info,8,3                ## @object_info
	.comm	_object_count,4,2               ## @object_count
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_parse_satb_m5                  ; -- Begin function parse_satb_m5
	.p2align	2
_parse_satb_m5:                         ; @parse_satb_m5
	.cfi_startproc
; %bb.0:
	mov	w8, #0
	mov	w15, #0
Lloh0:
	adrp	x9, _reg@GOTPAGE
Lloh1:
	ldr	x9, [x9, _reg@GOTPAGEOFF]
Lloh2:
	ldr	x9, [x9]
	ldr	w10, [x9, #48]
	mov	w9, #16
	bfi	w9, w10, #2, #1
Lloh3:
	adrp	x10, _vram@GOTPAGE
Lloh4:
	ldr	x10, [x10, _vram@GOTPAGEOFF]
Lloh5:
	ldr	x10, [x10]
Lloh6:
	adrp	x11, _satb@GOTPAGE
Lloh7:
	ldr	x11, [x11, _satb@GOTPAGEOFF]
Lloh8:
	ldr	x11, [x11]
	add	x10, x10, x11, lsl #2
Lloh9:
	adrp	x11, _sat@GOTPAGE
Lloh10:
	ldr	x11, [x11, _sat@GOTPAGEOFF]
Lloh11:
	ldr	x11, [x11]
Lloh12:
	adrp	x13, _object_info@GOTPAGE
Lloh13:
	ldr	x13, [x13, _object_info@GOTPAGEOFF]
	add	w12, w0, #129
Lloh14:
	ldr	x13, [x13]
	mov	w14, #1
	sub	w14, w14, w9, lsl #2
Lloh15:
	adrp	x16, _im2_flag@GOTPAGE
Lloh16:
	ldr	x16, [x16, _im2_flag@GOTPAGEOFF]
	b	LBB0_2
LBB0_1:                                 ;   in Loop: Header=BB0_2 Depth=1
	ubfiz	w15, w17, #2, #7
	cmp	w15, #0
	ccmp	w14, #0, #4, ne
	add	w14, w14, #1
	b.eq	LBB0_7
LBB0_2:                                 ; =>This Inner Loop Header: Depth=1
	ldr	w17, [x11, w15, uxtw #2]
	ldr	w0, [x16]
	asr	w17, w17, w0
	and	w1, w17, #0x1ff
	orr	w0, w15, #0x1
	ldr	w17, [x11, w0, uxtw #2]
	subs	w1, w12, w1
	b.mi	LBB0_1
; %bb.3:                                ;   in Loop: Header=BB0_2 Depth=1
	asr	w2, w17, #8
	ubfiz	w2, w2, #3, #2
	add	w2, w2, #8
	cmp	w1, w2
	b.hs	LBB0_1
; %bb.4:                                ;   in Loop: Header=BB0_2 Depth=1
	cmp	w8, w9
	b.eq	LBB0_6
; %bb.5:                                ;   in Loop: Header=BB0_2 Depth=1
	orr	w2, w15, #0x2
	ldr	w2, [x10, w2, uxtw #2]
	add	x3, x13, w8, sxtw #4
	str	w2, [x3]
	orr	w15, w15, #0x3
	ldr	w15, [x10, w15, uxtw #2]
	and	w15, w15, #0x1ff
	stp	w15, w1, [x3, #4]
	ubfx	w15, w17, #8, #4
	str	w15, [x3, #12]
	add	w8, w8, #1
	ldr	w17, [x11, x0, lsl #2]
	b	LBB0_1
LBB0_6:
Lloh17:
	adrp	x8, _status@GOTPAGE
Lloh18:
	ldr	x8, [x8, _status@GOTPAGEOFF]
	ldr	w10, [x8]
	orr	w10, w10, #0x40
	str	w10, [x8]
	mov	x8, x9
LBB0_7:
Lloh19:
	adrp	x9, _object_count@GOTPAGE
Lloh20:
	ldr	x9, [x9, _object_count@GOTPAGEOFF]
Lloh21:
	str	w8, [x9]
	ret
	.loh AdrpLdrGot	Lloh15, Lloh16
	.loh AdrpLdrGotLdr	Lloh12, Lloh13, Lloh14
	.loh AdrpLdrGotLdr	Lloh9, Lloh10, Lloh11
	.loh AdrpLdrGotLdr	Lloh6, Lloh7, Lloh8
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGot	Lloh17, Lloh18
	.loh AdrpLdrGotStr	Lloh19, Lloh20, Lloh21
	.cfi_endproc
                                        ; -- End function
	.comm	_reg,8,3                        ; @reg
	.comm	_vram,8,3                       ; @vram
	.comm	_satb,8,3                       ; @satb
	.comm	_sat,8,3                        ; @sat
	.comm	_im2_flag,4,2                   ; @im2_flag
	.comm	_status,4,2                     ; @status
	.comm	_object_info,8,3                ; @object_info
	.comm	_object_count,4,2               ; @object_count
.subsections_via_symbols
