	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal16,16byte_literals
	.p2align	4                               ## -- Begin function rowcol_init
LCPI0_0:
	.space	4
	.long	1                               ## 0x1
	.long	1                               ## 0x1
	.long	1                               ## 0x1
LCPI0_1:
	.long	1                               ## 0x1
	.long	1                               ## 0x1
	.long	1                               ## 0x1
	.long	1                               ## 0x1
	.section	__TEXT,__text,regular,pure_instructions
	.p2align	4, 0x90
_rowcol_init:                           ## @rowcol_init
	.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	%r12
	pushq	%rbx
	subq	$16, %rsp
	.cfi_offset %rbx, -48
	.cfi_offset %r12, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	%rdi, %r15
	movq	_rowcol_convert@GOTPCREL(%rip), %rax
	movq	%rax, 64(%rdi)
	movq	_rowcol_uninit@GOTPCREL(%rip), %rax
	movq	%rax, 56(%rdi)
	movl	(%rdi), %edi
	movq	__CITRUS_MAPPER_STD_SYM_TABLE@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	leaq	20(%r15), %r14
	movq	%r14, %rdx
	xorl	%ecx, %ecx
	callq	__db_lookup_by_s
	testl	%eax, %eax
	jne	LBB0_1
## %bb.2:
	movl	(%r15), %edi
	movq	__CITRUS_MAPPER_STD_SYM_INFO@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	leaq	-40(%rbp), %rdx
	xorl	%ecx, %ecx
	callq	__db_lookup_by_s
	testl	%eax, %eax
	je	LBB0_3
LBB0_1:
	movl	%eax, %ebx
	movq	_ENOENT@GOTPCREL(%rip), %rax
	cmpl	(%rax), %ebx
	jne	LBB0_31
LBB0_30:
	movq	_EFTYPE@GOTPCREL(%rip), %rax
	movl	(%rax), %ebx
LBB0_31:
	movl	%ebx, %eax
	addq	$16, %rsp
	popq	%rbx
	popq	%r12
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_3:
	leaq	8(%r15), %r12
	leaq	-40(%rbp), %rdi
	callq	__region_size
	cmpl	$128, %eax
	je	LBB0_6
## %bb.4:
	cmpl	$129, %eax
	jne	LBB0_30
## %bb.5:
	leaq	-40(%rbp), %rsi
	movq	%r12, %rdi
	callq	_rowcol_parse_variable_compat
	jmp	LBB0_7
LBB0_6:
	leaq	-40(%rbp), %rsi
	movq	%r12, %rdi
	callq	_rowcol_parse_variable
LBB0_7:
	movl	%eax, %ebx
	testl	%eax, %eax
	jne	LBB0_31
## %bb.8:
	movl	(%r12), %ecx
	cmpq	$32, %rcx
	ja	LBB0_30
## %bb.9:
	movabsq	$4295033088, %rax               ## imm = 0x100010100
	btq	%rcx, %rax
	jae	LBB0_30
## %bb.10:
	movl	12(%r15), %edx
	movb	$32, %al
	movzbl	%al, %eax
	divb	%cl
	movzbl	%al, %eax
	cmpl	%eax, %edx
	jg	LBB0_30
## %bb.11:
	movq	__CITRUS_MAPPER_STD_OOB_NONIDENTICAL@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, 40(%r15)
	movq	48(%r15), %rax
	movq	%rax, 32(%r15)
	movl	(%r15), %edi
	movq	__CITRUS_MAPPER_STD_SYM_ROWCOL_EXT_ILSEQ@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	leaq	-40(%rbp), %rdx
	xorl	%ecx, %ecx
	callq	__db_lookup_by_s
	movl	%eax, %ebx
	testl	%eax, %eax
	je	LBB0_13
## %bb.12:
	movq	_ENOENT@GOTPCREL(%rip), %rax
	cmpl	(%rax), %ebx
	jne	LBB0_31
LBB0_13:
	leaq	-40(%rbp), %rdi
	callq	__region_size
	cmpl	$7, %eax
	jbe	LBB0_30
## %bb.14:
	testl	%ebx, %ebx
	jne	LBB0_16
## %bb.15:
	leaq	-40(%rbp), %rdi
	callq	__region_head
	movq	%rax, %rbx
	movl	4(%rax), %edi
	callq	_be32toh
	movq	%rax, 40(%r15)
	movl	(%rbx), %edi
	callq	_be32toh
	movq	%rax, 32(%r15)
LBB0_16:
	movslq	12(%r15), %rdx
	movq	24(%r15), %rax
	movq	%rdx, %rcx
	movl	-4(%rax,%rdx,4), %esi
	decq	%rcx
	je	LBB0_28
## %bb.17:
	cmpq	$8, %rcx
	jb	LBB0_27
## %bb.18:
	movq	%rcx, %r8
	andq	$-8, %r8
	movdqa	LCPI0_0(%rip), %xmm0            ## xmm0 = <u,1,1,1>
	pinsrd	$0, %esi, %xmm0
	leaq	-8(%r8), %rsi
	movq	%rsi, %rbx
	shrq	$3, %rbx
	incq	%rbx
	testq	%rsi, %rsi
	je	LBB0_19
## %bb.20:
	movq	%rbx, %rsi
	andq	$-2, %rsi
	leaq	(%rax,%rdx,4), %rdx
	movdqa	LCPI0_1(%rip), %xmm1            ## xmm1 = [1,1,1,1]
	movq	$-5, %rdi
LBB0_21:                                ## =>This Inner Loop Header: Depth=1
	movdqu	-48(%rdx,%rdi,4), %xmm2
	movdqu	-32(%rdx,%rdi,4), %xmm3
	movdqu	-16(%rdx,%rdi,4), %xmm4
	movdqu	(%rdx,%rdi,4), %xmm5
	pshufd	$27, %xmm5, %xmm5               ## xmm5 = xmm5[3,2,1,0]
	pmulld	%xmm0, %xmm5
	pshufd	$27, %xmm4, %xmm4               ## xmm4 = xmm4[3,2,1,0]
	pmulld	%xmm1, %xmm4
	pshufd	$27, %xmm3, %xmm0               ## xmm0 = xmm3[3,2,1,0]
	pmulld	%xmm5, %xmm0
	pshufd	$27, %xmm2, %xmm1               ## xmm1 = xmm2[3,2,1,0]
	pmulld	%xmm4, %xmm1
	addq	$-16, %rdi
	addq	$-2, %rsi
	jne	LBB0_21
## %bb.22:
	addq	$4, %rdi
	jmp	LBB0_23
LBB0_19:
	movdqa	LCPI0_1(%rip), %xmm1            ## xmm1 = [1,1,1,1]
	movq	$-1, %rdi
LBB0_23:
	testb	$1, %bl
	je	LBB0_25
## %bb.24:
	addq	%rcx, %rdi
	movdqu	-28(%rax,%rdi,4), %xmm2
	movdqu	-12(%rax,%rdi,4), %xmm3
	pshufd	$27, %xmm3, %xmm3               ## xmm3 = xmm3[3,2,1,0]
	pmulld	%xmm3, %xmm0
	pshufd	$27, %xmm2, %xmm2               ## xmm2 = xmm2[3,2,1,0]
	pmulld	%xmm2, %xmm1
LBB0_25:
	pmulld	%xmm1, %xmm0
	pshufd	$238, %xmm0, %xmm1              ## xmm1 = xmm0[2,3,2,3]
	pmulld	%xmm0, %xmm1
	pshufd	$85, %xmm1, %xmm0               ## xmm0 = xmm1[1,1,1,1]
	pmulld	%xmm1, %xmm0
	movd	%xmm0, %esi
	cmpq	%r8, %rcx
	je	LBB0_28
## %bb.26:
	andl	$7, %ecx
LBB0_27:                                ## =>This Inner Loop Header: Depth=1
	imull	-4(%rax,%rcx,4), %esi
	decq	%rcx
	testq	%rcx, %rcx
	jne	LBB0_27
LBB0_28:
	movl	16(%r15), %eax
	leal	7(%rax), %r15d
	testl	%eax, %eax
	cmovnsl	%eax, %r15d
	sarl	$3, %r15d
	imull	%esi, %r15d
	movq	_UINT32_MAX@GOTPCREL(%rip), %rax
	cmpl	(%rax), %r15d
	jg	LBB0_30
## %bb.29:
	movq	%r14, %rdi
	callq	__region_size
	xorl	%ebx, %ebx
	cmpl	%r15d, %eax
	jl	LBB0_30
	jmp	LBB0_31
	.cfi_endproc
                                        ## -- End function
	.comm	_rowcol_convert,4,2             ## @rowcol_convert
	.comm	_rowcol_uninit,4,2              ## @rowcol_uninit
	.comm	__CITRUS_MAPPER_STD_SYM_TABLE,4,2 ## @_CITRUS_MAPPER_STD_SYM_TABLE
	.comm	_ENOENT,4,2                     ## @ENOENT
	.comm	_EFTYPE,4,2                     ## @EFTYPE
	.comm	__CITRUS_MAPPER_STD_SYM_INFO,4,2 ## @_CITRUS_MAPPER_STD_SYM_INFO
	.comm	__CITRUS_MAPPER_STD_OOB_NONIDENTICAL,8,3 ## @_CITRUS_MAPPER_STD_OOB_NONIDENTICAL
	.comm	__CITRUS_MAPPER_STD_SYM_ROWCOL_EXT_ILSEQ,4,2 ## @_CITRUS_MAPPER_STD_SYM_ROWCOL_EXT_ILSEQ
	.comm	_UINT32_MAX,4,2                 ## @UINT32_MAX
	.no_dead_strip	_rowcol_init
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function rowcol_init
_rowcol_init:                           ; @rowcol_init
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #64
	.cfi_def_cfa_offset 64
	stp	x22, x21, [sp, #16]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #32]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #48]             ; 16-byte Folded Spill
	add	x29, sp, #48
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	.cfi_offset w19, -24
	.cfi_offset w20, -32
	.cfi_offset w21, -40
	.cfi_offset w22, -48
	mov	x20, x0
Lloh0:
	adrp	x8, _rowcol_convert@GOTPAGE
Lloh1:
	ldr	x8, [x8, _rowcol_convert@GOTPAGEOFF]
Lloh2:
	adrp	x9, _rowcol_uninit@GOTPAGE
Lloh3:
	ldr	x9, [x9, _rowcol_uninit@GOTPAGEOFF]
	stp	x9, x8, [x0, #56]
	ldr	w0, [x0]
Lloh4:
	adrp	x8, __CITRUS_MAPPER_STD_SYM_TABLE@GOTPAGE
Lloh5:
	ldr	x8, [x8, __CITRUS_MAPPER_STD_SYM_TABLE@GOTPAGEOFF]
Lloh6:
	ldr	w1, [x8]
	add	x19, x20, #20
	mov	x2, x19
	mov	x3, #0
	bl	__db_lookup_by_s
	cbnz	w0, LBB0_2
; %bb.1:
	ldr	w0, [x20]
Lloh7:
	adrp	x8, __CITRUS_MAPPER_STD_SYM_INFO@GOTPAGE
Lloh8:
	ldr	x8, [x8, __CITRUS_MAPPER_STD_SYM_INFO@GOTPAGEOFF]
Lloh9:
	ldr	w1, [x8]
	add	x2, sp, #8
	mov	x3, #0
	bl	__db_lookup_by_s
	cbz	w0, LBB0_4
LBB0_2:
Lloh10:
	adrp	x8, _ENOENT@GOTPAGE
Lloh11:
	ldr	x8, [x8, _ENOENT@GOTPAGEOFF]
Lloh12:
	ldr	w8, [x8]
Lloh13:
	adrp	x9, _EFTYPE@GOTPAGE
Lloh14:
	ldr	x9, [x9, _EFTYPE@GOTPAGEOFF]
Lloh15:
	ldr	w9, [x9]
	cmp	w0, w8
	csel	w21, w9, w0, eq
LBB0_3:
	mov	x0, x21
	ldp	x29, x30, [sp, #48]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #32]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #16]             ; 16-byte Folded Reload
	add	sp, sp, #64
	ret
LBB0_4:
	add	x22, x20, #8
	add	x0, sp, #8
	bl	__region_size
	cmp	w0, #128
	b.eq	LBB0_7
; %bb.5:
	cmp	w0, #129
	b.ne	LBB0_25
; %bb.6:
	add	x1, sp, #8
	mov	x0, x22
	bl	_rowcol_parse_variable_compat
	mov	x21, x0
	cbnz	w0, LBB0_3
	b	LBB0_8
LBB0_7:
	add	x1, sp, #8
	mov	x0, x22
	bl	_rowcol_parse_variable
	mov	x21, x0
	cbnz	w0, LBB0_3
LBB0_8:
	ldr	w8, [x22]
	cmp	w8, #32
	b.hi	LBB0_25
; %bb.9:
	mov	w9, #1
	lsl	x9, x9, x8
	mov	x10, #256
	movk	x10, #1, lsl #16
	movk	x10, #1, lsl #32
	tst	x9, x10
	b.eq	LBB0_25
; %bb.10:
	ldr	w9, [x20, #12]
	and	w8, w8, #0xff
	mov	w10, #32
	udiv	w8, w10, w8
	cmp	w9, w8
	b.gt	LBB0_25
; %bb.11:
Lloh16:
	adrp	x8, __CITRUS_MAPPER_STD_OOB_NONIDENTICAL@GOTPAGE
Lloh17:
	ldr	x8, [x8, __CITRUS_MAPPER_STD_OOB_NONIDENTICAL@GOTPAGEOFF]
Lloh18:
	ldr	x8, [x8]
	ldr	x9, [x20, #48]
	stp	x9, x8, [x20, #32]
	ldr	w0, [x20]
Lloh19:
	adrp	x8, __CITRUS_MAPPER_STD_SYM_ROWCOL_EXT_ILSEQ@GOTPAGE
Lloh20:
	ldr	x8, [x8, __CITRUS_MAPPER_STD_SYM_ROWCOL_EXT_ILSEQ@GOTPAGEOFF]
Lloh21:
	ldr	w1, [x8]
	add	x2, sp, #8
	mov	x3, #0
	bl	__db_lookup_by_s
	mov	x21, x0
	cbz	w0, LBB0_13
; %bb.12:
Lloh22:
	adrp	x8, _ENOENT@GOTPAGE
Lloh23:
	ldr	x8, [x8, _ENOENT@GOTPAGEOFF]
Lloh24:
	ldr	w8, [x8]
	cmp	w21, w8
	b.ne	LBB0_3
LBB0_13:
	add	x0, sp, #8
	bl	__region_size
	cmp	w0, #7
	b.ls	LBB0_25
; %bb.14:
	cbnz	w21, LBB0_16
; %bb.15:
	add	x0, sp, #8
	bl	__region_head
	mov	x21, x0
	ldr	w0, [x0, #4]
	bl	_be32toh
	str	x0, [x20, #40]
	ldr	w0, [x21]
	bl	_be32toh
	str	x0, [x20, #32]
LBB0_16:
	ldrsw	x13, [x20, #12]
	ldr	x9, [x20, #24]
	subs	x10, x13, #1
	ldr	w12, [x9, x10, lsl #2]
	b.eq	LBB0_23
; %bb.17:
	mov	x8, x10
	cmp	x10, #16
	b.lo	LBB0_21
; %bb.18:
	and	x11, x10, #0xfffffffffffffff0
	and	x8, x10, #0xf
	movi.4s	v0, #1
	mov.s	v0[0], w12
	movi.4s	v1, #1
	add	x12, x9, x13, lsl #2
	sub	x12, x12, #20
	mov	x13, x11
	movi.4s	v2, #1
	movi.4s	v3, #1
LBB0_19:                                ; =>This Inner Loop Header: Depth=1
	ldp	q5, q4, [x12, #-16]
	rev64.4s	v4, v4
	ext.16b	v4, v4, v4, #8
	rev64.4s	v5, v5
	ext.16b	v5, v5, v5, #8
	ldp	q7, q6, [x12, #-48]
	rev64.4s	v6, v6
	ext.16b	v6, v6, v6, #8
	rev64.4s	v7, v7
	ext.16b	v7, v7, v7, #8
	mul.4s	v0, v4, v0
	mul.4s	v1, v5, v1
	mul.4s	v2, v6, v2
	mul.4s	v3, v7, v3
	sub	x12, x12, #64
	sub	x13, x13, #16
	cbnz	x13, LBB0_19
; %bb.20:
	mul.4s	v0, v1, v0
	mul.4s	v0, v2, v0
	mul.4s	v0, v3, v0
	ext.16b	v1, v0, v0, #8
	mul.2s	v0, v0, v1
	fmov	w12, s0
	mov.s	w13, v0[1]
	mul	w12, w12, w13
	cmp	x10, x11
	b.eq	LBB0_23
LBB0_21:
	sub	x9, x9, #4
LBB0_22:                                ; =>This Inner Loop Header: Depth=1
	ldr	w10, [x9, x8, lsl #2]
	mul	w12, w10, w12
	subs	x8, x8, #1
	b.ne	LBB0_22
LBB0_23:
	ldr	w8, [x20, #16]
	add	w9, w8, #7
	cmp	w8, #0
	csel	w8, w9, w8, lt
	asr	w8, w8, #3
	mul	w20, w8, w12
Lloh25:
	adrp	x8, _UINT32_MAX@GOTPAGE
Lloh26:
	ldr	x8, [x8, _UINT32_MAX@GOTPAGEOFF]
Lloh27:
	ldr	w8, [x8]
	cmp	w20, w8
	b.gt	LBB0_25
; %bb.24:
	mov	x0, x19
	bl	__region_size
	cmp	w0, w20
	b.ge	LBB0_26
LBB0_25:
Lloh28:
	adrp	x8, _EFTYPE@GOTPAGE
Lloh29:
	ldr	x8, [x8, _EFTYPE@GOTPAGEOFF]
Lloh30:
	ldr	w21, [x8]
	b	LBB0_3
LBB0_26:
	mov	w21, #0
	b	LBB0_3
	.loh AdrpLdrGotLdr	Lloh4, Lloh5, Lloh6
	.loh AdrpLdrGot	Lloh2, Lloh3
	.loh AdrpLdrGot	Lloh0, Lloh1
	.loh AdrpLdrGotLdr	Lloh7, Lloh8, Lloh9
	.loh AdrpLdrGotLdr	Lloh13, Lloh14, Lloh15
	.loh AdrpLdrGotLdr	Lloh10, Lloh11, Lloh12
	.loh AdrpLdrGotLdr	Lloh19, Lloh20, Lloh21
	.loh AdrpLdrGotLdr	Lloh16, Lloh17, Lloh18
	.loh AdrpLdrGotLdr	Lloh22, Lloh23, Lloh24
	.loh AdrpLdrGotLdr	Lloh25, Lloh26, Lloh27
	.loh AdrpLdrGotLdr	Lloh28, Lloh29, Lloh30
	.cfi_endproc
                                        ; -- End function
	.comm	_rowcol_convert,4,2             ; @rowcol_convert
	.comm	_rowcol_uninit,4,2              ; @rowcol_uninit
	.comm	__CITRUS_MAPPER_STD_SYM_TABLE,4,2 ; @_CITRUS_MAPPER_STD_SYM_TABLE
	.comm	_ENOENT,4,2                     ; @ENOENT
	.comm	_EFTYPE,4,2                     ; @EFTYPE
	.comm	__CITRUS_MAPPER_STD_SYM_INFO,4,2 ; @_CITRUS_MAPPER_STD_SYM_INFO
	.comm	__CITRUS_MAPPER_STD_OOB_NONIDENTICAL,8,3 ; @_CITRUS_MAPPER_STD_OOB_NONIDENTICAL
	.comm	__CITRUS_MAPPER_STD_SYM_ROWCOL_EXT_ILSEQ,4,2 ; @_CITRUS_MAPPER_STD_SYM_ROWCOL_EXT_ILSEQ
	.comm	_UINT32_MAX,4,2                 ; @UINT32_MAX
	.no_dead_strip	_rowcol_init
.subsections_via_symbols
