	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_mbfilter_sjis_emoji_sb2unicode ## -- Begin function mbfilter_sjis_emoji_sb2unicode
	.p2align	4, 0x90
_mbfilter_sjis_emoji_sb2unicode:        ## @mbfilter_sjis_emoji_sb2unicode
	.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	%rbx
	pushq	%rax
	.cfi_offset %rbx, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	%rsi, %rbx
                                        ## kill: def $edi killed $edi def $rdi
	movl	$0, (%rsi)
	movq	_mb_tbl_code2uni_sb1_min@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	cmpl	%edi, %eax
	jg	LBB0_6
## %bb.1:
	movq	_mb_tbl_code2uni_sb1_max@GOTPCREL(%rip), %rcx
	cmpl	%edi, (%rcx)
	jl	LBB0_6
## %bb.2:
	subl	%eax, %edi
	movq	_mb_tbl_code2uni_sb1@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	cmpl	$110, %edi
	je	LBB0_13
## %bb.3:
	leal	-122(%rdi), %ecx
	cmpl	$9, %ecx
	ja	LBB0_4
LBB0_13:
	movl	%edi, %ecx
	movl	(%rax,%rcx,4), %eax
	leal	65536(%rax), %ecx
	cmpl	$61441, %eax                    ## imm = 0xF001
	cmovll	%eax, %ecx
	movl	%ecx, (%rbx)
	movl	$8419, %edi                     ## imm = 0x20E3
	jmp	LBB0_17
LBB0_6:
	movq	_mb_tbl_code2uni_sb2_min@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	cmpl	%edi, %eax
	jg	LBB0_9
## %bb.7:
	movq	_mb_tbl_code2uni_sb2_max@GOTPCREL(%rip), %rcx
	cmpl	%edi, (%rcx)
	jl	LBB0_9
## %bb.8:
	subl	%eax, %edi
	movq	_mb_tbl_code2uni_sb2@GOTPCREL(%rip), %rax
LBB0_15:
	movq	(%rax), %rax
LBB0_4:
	movslq	%edi, %rcx
	movl	(%rax,%rcx,4), %edi
	cmpl	$61441, %edi                    ## imm = 0xF001
	jl	LBB0_16
## %bb.5:
	addl	$65536, %edi                    ## imm = 0x10000
	jmp	LBB0_17
LBB0_16:
	leal	983040(%rdi), %eax
	cmpl	$57345, %edi                    ## imm = 0xE001
	cmovll	%edi, %eax
	movl	%eax, %edi
LBB0_17:
	movl	%edi, %eax
	addq	$8, %rsp
	popq	%rbx
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_9:
	movq	_mb_tbl_code2uni_sb3_min@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	cmpl	%edi, %eax
	jg	LBB0_17
## %bb.10:
	movq	_mb_tbl_code2uni_sb3_max@GOTPCREL(%rip), %rcx
	cmpl	%edi, (%rcx)
	jl	LBB0_17
## %bb.11:
	subl	%eax, %edi
	leal	-105(%rdi), %eax
	cmpl	$9, %eax
	ja	LBB0_14
## %bb.12:
	movl	%eax, %eax
	leaq	l___const.mbfilter_sjis_emoji_sb2unicode.nflags_order_sb(%rip), %rcx
	movslq	(%rcx,%rax,4), %r14
	movq	_nflags_s@GOTPCREL(%rip), %r15
	movq	(%r15), %rax
	movq	(%rax,%r14,8), %rax
	movl	(%rax), %edi
	callq	_NFLAGS
	movl	%eax, (%rbx)
	movq	(%r15), %rax
	movq	(%rax,%r14,8), %rax
	movl	4(%rax), %edi
	addq	$8, %rsp
	popq	%rbx
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_NFLAGS                         ## TAILCALL
LBB0_14:
	movq	_mb_tbl_code2uni_sb3@GOTPCREL(%rip), %rax
	jmp	LBB0_15
	.cfi_endproc
                                        ## -- End function
	.section	__TEXT,__const
	.p2align	4                               ## @__const.mbfilter_sjis_emoji_sb2unicode.nflags_order_sb
l___const.mbfilter_sjis_emoji_sb2unicode.nflags_order_sb:
	.long	6                               ## 0x6
	.long	9                               ## 0x9
	.long	3                               ## 0x3
	.long	1                               ## 0x1
	.long	5                               ## 0x5
	.long	4                               ## 0x4
	.long	2                               ## 0x2
	.long	8                               ## 0x8
	.long	0                               ## 0x0
	.long	7                               ## 0x7

	.comm	_mb_tbl_code2uni_sb1_min,4,2    ## @mb_tbl_code2uni_sb1_min
	.comm	_mb_tbl_code2uni_sb1_max,4,2    ## @mb_tbl_code2uni_sb1_max
	.comm	_mb_tbl_code2uni_sb1,8,3        ## @mb_tbl_code2uni_sb1
	.comm	_mb_tbl_code2uni_sb2_min,4,2    ## @mb_tbl_code2uni_sb2_min
	.comm	_mb_tbl_code2uni_sb2_max,4,2    ## @mb_tbl_code2uni_sb2_max
	.comm	_mb_tbl_code2uni_sb2,8,3        ## @mb_tbl_code2uni_sb2
	.comm	_mb_tbl_code2uni_sb3_min,4,2    ## @mb_tbl_code2uni_sb3_min
	.comm	_mb_tbl_code2uni_sb3_max,4,2    ## @mb_tbl_code2uni_sb3_max
	.comm	_nflags_s,8,3                   ## @nflags_s
	.comm	_mb_tbl_code2uni_sb3,8,3        ## @mb_tbl_code2uni_sb3
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_mbfilter_sjis_emoji_sb2unicode ; -- Begin function mbfilter_sjis_emoji_sb2unicode
	.p2align	2
_mbfilter_sjis_emoji_sb2unicode:        ; @mbfilter_sjis_emoji_sb2unicode
	.cfi_startproc
; %bb.0:
	stp	x22, x21, [sp, #-48]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 48
	stp	x20, x19, [sp, #16]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #32]             ; 16-byte Folded Spill
	add	x29, sp, #32
	.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	x19, x1
	str	wzr, [x1]
Lloh0:
	adrp	x8, _mb_tbl_code2uni_sb1_min@GOTPAGE
Lloh1:
	ldr	x8, [x8, _mb_tbl_code2uni_sb1_min@GOTPAGEOFF]
Lloh2:
	ldr	w8, [x8]
Lloh3:
	adrp	x9, _mb_tbl_code2uni_sb1_max@GOTPAGE
Lloh4:
	ldr	x9, [x9, _mb_tbl_code2uni_sb1_max@GOTPAGEOFF]
Lloh5:
	ldr	w9, [x9]
	cmp	w8, w0
	ccmp	w9, w0, #8, le
	b.ge	LBB0_5
; %bb.1:
Lloh6:
	adrp	x8, _mb_tbl_code2uni_sb2_min@GOTPAGE
Lloh7:
	ldr	x8, [x8, _mb_tbl_code2uni_sb2_min@GOTPAGEOFF]
Lloh8:
	ldr	w8, [x8]
Lloh9:
	adrp	x9, _mb_tbl_code2uni_sb2_max@GOTPAGE
Lloh10:
	ldr	x9, [x9, _mb_tbl_code2uni_sb2_max@GOTPAGEOFF]
Lloh11:
	ldr	w9, [x9]
	cmp	w8, w0
	ccmp	w9, w0, #8, le
	b.ge	LBB0_7
; %bb.2:
Lloh12:
	adrp	x8, _mb_tbl_code2uni_sb3_min@GOTPAGE
Lloh13:
	ldr	x8, [x8, _mb_tbl_code2uni_sb3_min@GOTPAGEOFF]
Lloh14:
	ldr	w8, [x8]
Lloh15:
	adrp	x9, _mb_tbl_code2uni_sb3_max@GOTPAGE
Lloh16:
	ldr	x9, [x9, _mb_tbl_code2uni_sb3_max@GOTPAGEOFF]
Lloh17:
	ldr	w9, [x9]
	cmp	w8, w0
	ccmp	w9, w0, #8, le
	b.lt	LBB0_12
; %bb.3:
	sub	w8, w0, w8
	sub	w9, w8, #105
	cmp	w9, #9
	b.hi	LBB0_13
; %bb.4:
Lloh18:
	adrp	x8, l___const.mbfilter_sjis_emoji_sb2unicode.nflags_order_sb@PAGE
Lloh19:
	add	x8, x8, l___const.mbfilter_sjis_emoji_sb2unicode.nflags_order_sb@PAGEOFF
	ldrsw	x8, [x8, w9, uxtw #2]
Lloh20:
	adrp	x20, _nflags_s@GOTPAGE
Lloh21:
	ldr	x20, [x20, _nflags_s@GOTPAGEOFF]
	ldr	x9, [x20]
	lsl	x21, x8, #3
	ldr	x8, [x9, x21]
	ldr	w0, [x8]
	bl	_NFLAGS
	str	w0, [x19]
	ldr	x8, [x20]
	ldr	x8, [x8, x21]
	ldr	w0, [x8, #4]
	ldp	x29, x30, [sp, #32]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #16]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp], #48             ; 16-byte Folded Reload
	b	_NFLAGS
LBB0_5:
	sub	w8, w0, w8
	sub	w10, w8, #122
Lloh22:
	adrp	x9, _mb_tbl_code2uni_sb1@GOTPAGE
Lloh23:
	ldr	x9, [x9, _mb_tbl_code2uni_sb1@GOTPAGEOFF]
Lloh24:
	ldr	x9, [x9]
	cmp	w8, #110
	ccmp	w10, #9, #0, ne
	b.hi	LBB0_9
; %bb.6:
	ldr	w8, [x9, w8, uxtw #2]
	add	w9, w8, #16, lsl #12            ; =65536
	cmp	w8, #15, lsl #12                ; =61440
	csel	w8, w9, w8, gt
	str	w8, [x19]
	mov	w0, #8419
	b	LBB0_12
LBB0_7:
	sub	w8, w0, w8
Lloh25:
	adrp	x9, _mb_tbl_code2uni_sb2@GOTPAGE
Lloh26:
	ldr	x9, [x9, _mb_tbl_code2uni_sb2@GOTPAGEOFF]
LBB0_8:
	ldr	x9, [x9]
LBB0_9:
	ldr	w8, [x9, w8, sxtw #2]
	cmp	w8, #15, lsl #12                ; =61440
	b.le	LBB0_11
; %bb.10:
	add	w0, w8, #16, lsl #12            ; =65536
	b	LBB0_12
LBB0_11:
	add	w9, w8, #240, lsl #12           ; =983040
	cmp	w8, #14, lsl #12                ; =57344
	csel	w0, w9, w8, gt
LBB0_12:
	ldp	x29, x30, [sp, #32]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #16]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp], #48             ; 16-byte Folded Reload
	ret
LBB0_13:
Lloh27:
	adrp	x9, _mb_tbl_code2uni_sb3@GOTPAGE
Lloh28:
	ldr	x9, [x9, _mb_tbl_code2uni_sb3@GOTPAGEOFF]
	b	LBB0_8
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGotLdr	Lloh9, Lloh10, Lloh11
	.loh AdrpLdrGotLdr	Lloh6, Lloh7, Lloh8
	.loh AdrpLdrGotLdr	Lloh15, Lloh16, Lloh17
	.loh AdrpLdrGotLdr	Lloh12, Lloh13, Lloh14
	.loh AdrpLdrGot	Lloh20, Lloh21
	.loh AdrpAdd	Lloh18, Lloh19
	.loh AdrpLdrGotLdr	Lloh22, Lloh23, Lloh24
	.loh AdrpLdrGot	Lloh25, Lloh26
	.loh AdrpLdrGot	Lloh27, Lloh28
	.cfi_endproc
                                        ; -- End function
	.section	__TEXT,__const
	.p2align	2                               ; @__const.mbfilter_sjis_emoji_sb2unicode.nflags_order_sb
l___const.mbfilter_sjis_emoji_sb2unicode.nflags_order_sb:
	.long	6                               ; 0x6
	.long	9                               ; 0x9
	.long	3                               ; 0x3
	.long	1                               ; 0x1
	.long	5                               ; 0x5
	.long	4                               ; 0x4
	.long	2                               ; 0x2
	.long	8                               ; 0x8
	.long	0                               ; 0x0
	.long	7                               ; 0x7

	.comm	_mb_tbl_code2uni_sb1_min,4,2    ; @mb_tbl_code2uni_sb1_min
	.comm	_mb_tbl_code2uni_sb1_max,4,2    ; @mb_tbl_code2uni_sb1_max
	.comm	_mb_tbl_code2uni_sb1,8,3        ; @mb_tbl_code2uni_sb1
	.comm	_mb_tbl_code2uni_sb2_min,4,2    ; @mb_tbl_code2uni_sb2_min
	.comm	_mb_tbl_code2uni_sb2_max,4,2    ; @mb_tbl_code2uni_sb2_max
	.comm	_mb_tbl_code2uni_sb2,8,3        ; @mb_tbl_code2uni_sb2
	.comm	_mb_tbl_code2uni_sb3_min,4,2    ; @mb_tbl_code2uni_sb3_min
	.comm	_mb_tbl_code2uni_sb3_max,4,2    ; @mb_tbl_code2uni_sb3_max
	.comm	_nflags_s,8,3                   ; @nflags_s
	.comm	_mb_tbl_code2uni_sb3,8,3        ; @mb_tbl_code2uni_sb3
.subsections_via_symbols
