	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function base64_decode
_base64_decode:                         ## @base64_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	%r15
	pushq	%r14
	pushq	%r12
	pushq	%rbx
	.cfi_offset %rbx, -48
	.cfi_offset %r12, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	%rdx, %r14
	movq	%rsi, %r12
	movq	%rdi, %r15
	cmpb	$1, _base64_decode.decode_table+66(%rip)
	je	LBB0_3
## %bb.1:
	leaq	_base64_decode.decode_table(%rip), %rbx
	movq	%rbx, %rdi
	movl	$255, %esi
	movl	$128, %edx
	callq	_memset
	xorl	%eax, %eax
	leaq	_base64_decode.digits(%rip), %rcx
	.p2align	4, 0x90
LBB0_2:                                 ## =>This Inner Loop Header: Depth=1
	movzbl	(%rax,%rcx), %edx
	movb	%al, (%rdx,%rbx)
	movzbl	1(%rax,%rcx), %edx
	leal	1(%rax), %esi
	movb	%sil, (%rdx,%rbx)
	movzbl	2(%rax,%rcx), %edx
	leal	2(%rax), %esi
	movb	%sil, (%rdx,%rbx)
	movzbl	3(%rax,%rcx), %edx
	leal	3(%rax), %esi
	movb	%sil, (%rdx,%rbx)
	addq	$4, %rax
	cmpq	$64, %rax
	jne	LBB0_2
LBB0_3:
	movq	%r12, %rax
	shrq	$2, %rax
	negq	%rax
	leaq	(%r12,%rax), %rdi
	incq	%rdi
	callq	_malloc
	testq	%rax, %rax
	je	LBB0_4
## %bb.5:
	movq	%rax, %r10
	testq	%r12, %r12
	je	LBB0_6
## %bb.7:
	leaq	_base64_decode.decode_table(%rip), %r8
	movq	%r10, %rax
	jmp	LBB0_8
	.p2align	4, 0x90
LBB0_45:                                ##   in Loop: Header=BB0_8 Depth=1
	movb	%bh, 1(%rax)
LBB0_46:                                ##   in Loop: Header=BB0_8 Depth=1
	shrl	$16, %ebx
	movb	%bl, (%rax)
LBB0_47:                                ##   in Loop: Header=BB0_8 Depth=1
	leal	(%r9,%r9,2), %ecx
	shrl	$2, %ecx
	addq	%rcx, %rax
	testq	%r12, %r12
	je	LBB0_48
LBB0_8:                                 ## =>This Loop Header: Depth=1
                                        ##     Child Loop BB0_9 Depth 2
                                        ##     Child Loop BB0_18 Depth 2
                                        ##     Child Loop BB0_25 Depth 2
                                        ##     Child Loop BB0_32 Depth 2
	movl	$1, %edx
	subq	%r12, %rdx
	movl	$4, %ecx
	subq	%r12, %rcx
	xorl	%esi, %esi
	movq	%r15, %rdi
	jmp	LBB0_9
	.p2align	4, 0x90
LBB0_13:                                ##   in Loop: Header=BB0_9 Depth=2
	incq	%rdi
	incq	%rdx
	incq	%rsi
	incq	%rcx
	cmpq	$1, %rdx
	je	LBB0_14
LBB0_9:                                 ##   Parent Loop BB0_8 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	movzbl	(%rdi), %ebx
	cmpq	$61, %rbx
	je	LBB0_14
## %bb.10:                              ##   in Loop: Header=BB0_9 Depth=2
	cmpb	$95, %bl
	je	LBB0_14
## %bb.11:                              ##   in Loop: Header=BB0_9 Depth=2
	cmpb	$32, %bl
	jl	LBB0_13
## %bb.12:                              ##   in Loop: Header=BB0_9 Depth=2
	movzbl	(%rbx,%r8), %ebx
	cmpl	$255, %ebx
	je	LBB0_13
## %bb.15:                              ##   in Loop: Header=BB0_8 Depth=1
	movl	$1, %r9d
	testq	%rdx, %rdx
	je	LBB0_16
## %bb.17:                              ##   in Loop: Header=BB0_8 Depth=1
	leaq	-1(%r12), %rdx
	jmp	LBB0_18
	.p2align	4, 0x90
LBB0_14:                                ##   in Loop: Header=BB0_8 Depth=1
	xorl	%ebx, %ebx
	xorl	%r9d, %r9d
	movq	%rdi, %r15
LBB0_40:                                ##   in Loop: Header=BB0_8 Depth=1
	xorl	%r12d, %r12d
LBB0_41:                                ##   in Loop: Header=BB0_8 Depth=1
	movb	$4, %cl
	subb	%r9b, %cl
	movzbl	%cl, %ecx
	addl	%ecx, %ecx
	leal	(%rcx,%rcx,2), %ecx
                                        ## kill: def $cl killed $cl killed $ecx
	shll	%cl, %ebx
	cmpl	$2, %r9d
	je	LBB0_46
## %bb.42:                              ##   in Loop: Header=BB0_8 Depth=1
	cmpl	$3, %r9d
	je	LBB0_45
## %bb.43:                              ##   in Loop: Header=BB0_8 Depth=1
	cmpl	$4, %r9d
	jne	LBB0_47
## %bb.44:                              ##   in Loop: Header=BB0_8 Depth=1
	movb	%bl, 2(%rax)
	jmp	LBB0_45
	.p2align	4, 0x90
LBB0_38:                                ##   in Loop: Header=BB0_18 Depth=2
	incq	%rsi
	incq	%rcx
	cmpq	%rsi, %rdx
	je	LBB0_39
LBB0_18:                                ##   Parent Loop BB0_8 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	movzbl	1(%r15,%rsi), %edi
	cmpq	$61, %rdi
	je	LBB0_39
## %bb.19:                              ##   in Loop: Header=BB0_18 Depth=2
	cmpb	$95, %dil
	je	LBB0_39
## %bb.20:                              ##   in Loop: Header=BB0_18 Depth=2
	cmpb	$32, %dil
	jl	LBB0_38
## %bb.21:                              ##   in Loop: Header=BB0_18 Depth=2
	movzbl	(%rdi,%r8), %edi
	cmpl	$255, %edi
	je	LBB0_38
## %bb.22:                              ##   in Loop: Header=BB0_8 Depth=1
	shll	$6, %ebx
	orl	%edi, %ebx
	leaq	-2(%r12), %rdx
	movl	$2, %r9d
	cmpq	%rsi, %rdx
	jne	LBB0_25
## %bb.23:                              ##   in Loop: Header=BB0_8 Depth=1
	addq	%rsi, %r15
	addq	$2, %r15
	subq	%rsi, %r12
	addq	$-2, %r12
	jmp	LBB0_41
LBB0_39:                                ##   in Loop: Header=BB0_8 Depth=1
	addq	%rsi, %r15
	incq	%r15
	jmp	LBB0_40
	.p2align	4, 0x90
LBB0_24:                                ##   in Loop: Header=BB0_25 Depth=2
	incq	%rsi
	incq	%rcx
	cmpq	%rsi, %rdx
	je	LBB0_37
LBB0_25:                                ##   Parent Loop BB0_8 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	movzbl	2(%r15,%rsi), %edi
	cmpq	$61, %rdi
	je	LBB0_37
## %bb.26:                              ##   in Loop: Header=BB0_25 Depth=2
	cmpb	$95, %dil
	je	LBB0_37
## %bb.27:                              ##   in Loop: Header=BB0_25 Depth=2
	cmpb	$32, %dil
	jl	LBB0_24
## %bb.28:                              ##   in Loop: Header=BB0_25 Depth=2
	movzbl	(%rdi,%r8), %edi
	cmpl	$255, %edi
	je	LBB0_24
## %bb.29:                              ##   in Loop: Header=BB0_8 Depth=1
	shll	$6, %ebx
	addq	%rsi, %r15
	addq	$3, %r15
	orl	%edi, %ebx
	leaq	-3(%r12), %rdx
	movl	$3, %r9d
	cmpq	%rsi, %rdx
	jne	LBB0_32
## %bb.30:                              ##   in Loop: Header=BB0_8 Depth=1
	subq	%rsi, %r12
	addq	$-3, %r12
	jmp	LBB0_41
LBB0_16:                                ##   in Loop: Header=BB0_8 Depth=1
	incq	%rdi
	negq	%rdx
	movq	%rdi, %r15
	movq	%rdx, %r12
	jmp	LBB0_41
LBB0_37:                                ##   in Loop: Header=BB0_8 Depth=1
	addq	%rsi, %r15
	addq	$2, %r15
	jmp	LBB0_40
LBB0_31:                                ##   in Loop: Header=BB0_32 Depth=2
	incq	%r15
	incq	%rcx
	cmpq	$1, %rcx
	je	LBB0_40
LBB0_32:                                ##   Parent Loop BB0_8 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	movzbl	(%r15), %edx
	cmpq	$61, %rdx
	je	LBB0_40
## %bb.33:                              ##   in Loop: Header=BB0_32 Depth=2
	cmpb	$95, %dl
	je	LBB0_40
## %bb.34:                              ##   in Loop: Header=BB0_32 Depth=2
	cmpb	$32, %dl
	jl	LBB0_31
## %bb.35:                              ##   in Loop: Header=BB0_32 Depth=2
	movzbl	(%rdx,%r8), %edx
	cmpl	$255, %edx
	je	LBB0_31
## %bb.36:                              ##   in Loop: Header=BB0_8 Depth=1
	shll	$6, %ebx
	incq	%r15
	orl	%edx, %ebx
	negq	%rcx
	movl	$4, %r9d
	movq	%rcx, %r12
	jmp	LBB0_41
LBB0_4:
	xorl	%eax, %eax
	xorl	%r10d, %r10d
	jmp	LBB0_49
LBB0_6:
	movq	%r10, %rax
LBB0_48:
	subq	%r10, %rax
LBB0_49:
	movq	%rax, (%r14)
	movq	%r10, %rax
	popq	%rbx
	popq	%r12
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.section	__TEXT,__const
	.p2align	4                               ## @base64_decode.digits
_base64_decode.digits:
	.ascii	"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"

.zerofill __DATA,__bss,_base64_decode.decode_table,128,4 ## @base64_decode.decode_table
	.no_dead_strip	_base64_decode
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function base64_decode
_base64_decode:                         ; @base64_decode
	.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, x2
	mov	x21, x1
	mov	x20, x0
	adrp	x8, _base64_decode.decode_table@PAGE+66
	ldrb	w8, [x8, _base64_decode.decode_table@PAGEOFF+66]
	cmp	w8, #1
	b.eq	LBB0_3
; %bb.1:
Lloh0:
	adrp	x22, _base64_decode.decode_table@PAGE
Lloh1:
	add	x22, x22, _base64_decode.decode_table@PAGEOFF
	mov	x0, x22
	mov	w1, #255
	mov	w2, #128
	bl	_memset
	mov	x8, #0
Lloh2:
	adrp	x9, _base64_decode.digits@PAGE
Lloh3:
	add	x9, x9, _base64_decode.digits@PAGEOFF
LBB0_2:                                 ; =>This Inner Loop Header: Depth=1
	ldrb	w10, [x9, x8]
	strb	w8, [x22, x10]
	add	x8, x8, #1
	cmp	x8, #64
	b.ne	LBB0_2
LBB0_3:
	sub	x8, x21, x21, lsr #2
	add	x0, x8, #1
	bl	_malloc
	cbz	x0, LBB0_50
; %bb.4:
	cbz	x21, LBB0_51
; %bb.5:
	mov	w8, #1
	mov	w10, #4
	mov	x9, x0
Lloh4:
	adrp	x11, _base64_decode.decode_table@PAGE
Lloh5:
	add	x11, x11, _base64_decode.decode_table@PAGEOFF
	b	LBB0_9
LBB0_6:                                 ;   in Loop: Header=BB0_9 Depth=1
	lsr	w13, w12, #8
	strb	w13, [x9, #1]
LBB0_7:                                 ;   in Loop: Header=BB0_9 Depth=1
	lsr	w12, w12, #16
	strb	w12, [x9]
LBB0_8:                                 ;   in Loop: Header=BB0_9 Depth=1
	add	w12, w14, w14, lsl #1
	lsr	w12, w12, #2
	add	x9, x9, x12
	cbz	x21, LBB0_52
LBB0_9:                                 ; =>This Loop Header: Depth=1
                                        ;     Child Loop BB0_11 Depth 2
                                        ;     Child Loop BB0_23 Depth 2
                                        ;     Child Loop BB0_30 Depth 2
                                        ;     Child Loop BB0_41 Depth 2
	mov	x14, #0
	sub	x16, x8, x21
	sub	x13, x10, x21
	mov	x15, x20
	b	LBB0_11
LBB0_10:                                ;   in Loop: Header=BB0_11 Depth=2
	add	x15, x15, #1
	add	x16, x16, #1
	add	x14, x14, #1
	add	x13, x13, #1
	cmp	x16, #1
	b.eq	LBB0_17
LBB0_11:                                ;   Parent Loop BB0_9 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	ldrb	w12, [x15]
	cmp	w12, #61
	b.eq	LBB0_17
; %bb.12:                               ;   in Loop: Header=BB0_11 Depth=2
	cmp	w12, #95
	b.eq	LBB0_17
; %bb.13:                               ;   in Loop: Header=BB0_11 Depth=2
	sxtb	w17, w12
	cmp	w17, #32
	b.lt	LBB0_10
; %bb.14:                               ;   in Loop: Header=BB0_11 Depth=2
	ldrb	w12, [x11, x12]
	cmp	w12, #255
	b.eq	LBB0_10
; %bb.15:                               ;   in Loop: Header=BB0_9 Depth=1
	cbz	x16, LBB0_36
; %bb.16:                               ;   in Loop: Header=BB0_9 Depth=1
	sub	x15, x21, #1
	b	LBB0_23
LBB0_17:                                ;   in Loop: Header=BB0_9 Depth=1
	mov	w12, #0
	mov	w14, #0
	mov	x21, #0
	mov	x20, x15
LBB0_18:                                ;   in Loop: Header=BB0_9 Depth=1
	sub	w13, w10, w14
	add	w13, w13, w13, lsl #1
	lsl	w13, w13, #1
	lsl	w12, w12, w13
	cmp	w14, #2
	b.eq	LBB0_7
; %bb.19:                               ;   in Loop: Header=BB0_9 Depth=1
	cmp	w14, #3
	b.eq	LBB0_6
; %bb.20:                               ;   in Loop: Header=BB0_9 Depth=1
	cmp	w14, #4
	b.ne	LBB0_8
; %bb.21:                               ;   in Loop: Header=BB0_9 Depth=1
	strb	w12, [x9, #2]
	b	LBB0_6
LBB0_22:                                ;   in Loop: Header=BB0_23 Depth=2
	add	x14, x14, #1
	add	x13, x13, #1
	cmp	x15, x14
	b.eq	LBB0_38
LBB0_23:                                ;   Parent Loop BB0_9 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	add	x17, x20, x14
	ldrb	w16, [x17, #1]
	cmp	w16, #61
	b.eq	LBB0_37
; %bb.24:                               ;   in Loop: Header=BB0_23 Depth=2
	cmp	w16, #95
	b.eq	LBB0_37
; %bb.25:                               ;   in Loop: Header=BB0_23 Depth=2
	sxtb	w17, w16
	cmp	w17, #32
	b.lt	LBB0_22
; %bb.26:                               ;   in Loop: Header=BB0_23 Depth=2
	ldrb	w16, [x11, x16]
	cmp	w16, #255
	b.eq	LBB0_22
; %bb.27:                               ;   in Loop: Header=BB0_9 Depth=1
	orr	w12, w16, w12, lsl #6
	sub	x15, x21, #2
	cmp	x15, x14
	b.ne	LBB0_30
; %bb.28:                               ;   in Loop: Header=BB0_9 Depth=1
	add	x13, x20, x14
	add	x20, x13, #2
	sub	x13, x21, x14
	sub	x21, x13, #2
	mov	w14, #2
	b	LBB0_18
LBB0_29:                                ;   in Loop: Header=BB0_30 Depth=2
	add	x14, x14, #1
	add	x13, x13, #1
	cmp	x15, x14
	b.eq	LBB0_47
LBB0_30:                                ;   Parent Loop BB0_9 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	add	x17, x20, x14
	ldrb	w16, [x17, #2]
	cmp	w16, #61
	b.eq	LBB0_46
; %bb.31:                               ;   in Loop: Header=BB0_30 Depth=2
	cmp	w16, #95
	b.eq	LBB0_46
; %bb.32:                               ;   in Loop: Header=BB0_30 Depth=2
	sxtb	w17, w16
	cmp	w17, #32
	b.lt	LBB0_29
; %bb.33:                               ;   in Loop: Header=BB0_30 Depth=2
	ldrb	w16, [x11, x16]
	cmp	w16, #255
	b.eq	LBB0_29
; %bb.34:                               ;   in Loop: Header=BB0_9 Depth=1
	add	x15, x20, x14
	add	x20, x15, #3
	orr	w12, w16, w12, lsl #6
	sub	x15, x21, #3
	cmp	x15, x14
	b.ne	LBB0_41
; %bb.35:                               ;   in Loop: Header=BB0_9 Depth=1
	sub	x13, x21, x14
	sub	x21, x13, #3
	mov	w14, #3
	b	LBB0_18
LBB0_36:                                ;   in Loop: Header=BB0_9 Depth=1
	add	x20, x15, #1
	neg	x21, x16
	b	LBB0_39
LBB0_37:                                ;   in Loop: Header=BB0_9 Depth=1
	mov	x21, #0
	add	x20, x17, #1
	b	LBB0_39
LBB0_38:                                ;   in Loop: Header=BB0_9 Depth=1
	mov	x21, #0
	add	x13, x20, x14
	add	x20, x13, #1
LBB0_39:                                ;   in Loop: Header=BB0_9 Depth=1
	mov	w14, #1
	b	LBB0_18
LBB0_40:                                ;   in Loop: Header=BB0_41 Depth=2
	add	x20, x20, #1
	add	x13, x13, #1
	mov	w14, #3
	cmp	x13, #1
	b.eq	LBB0_49
LBB0_41:                                ;   Parent Loop BB0_9 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	ldrb	w14, [x20]
	cmp	w14, #61
	b.eq	LBB0_48
; %bb.42:                               ;   in Loop: Header=BB0_41 Depth=2
	cmp	w14, #95
	b.eq	LBB0_48
; %bb.43:                               ;   in Loop: Header=BB0_41 Depth=2
	sxtb	w15, w14
	cmp	w15, #32
	b.lt	LBB0_40
; %bb.44:                               ;   in Loop: Header=BB0_41 Depth=2
	ldrb	w15, [x11, x14]
	cmp	w15, #255
	b.eq	LBB0_40
; %bb.45:                               ;   in Loop: Header=BB0_9 Depth=1
	add	x20, x20, #1
	neg	x21, x13
	mov	w14, #4
	orr	w12, w15, w12, lsl #6
	b	LBB0_18
LBB0_46:                                ;   in Loop: Header=BB0_9 Depth=1
	mov	x21, #0
	add	x20, x17, #2
	mov	w14, #2
	b	LBB0_18
LBB0_47:                                ;   in Loop: Header=BB0_9 Depth=1
	mov	x21, #0
	add	x13, x20, x14
	add	x20, x13, #2
	mov	w14, #2
	b	LBB0_18
LBB0_48:                                ;   in Loop: Header=BB0_9 Depth=1
	mov	x21, #0
	mov	w14, #3
	b	LBB0_18
LBB0_49:                                ;   in Loop: Header=BB0_9 Depth=1
	mov	x21, #0
	b	LBB0_18
LBB0_50:
	mov	x8, #0
	b	LBB0_53
LBB0_51:
	mov	x9, x0
LBB0_52:
	sub	x8, x9, x0
LBB0_53:
	str	x8, [x19]
	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
	.loh AdrpAdd	Lloh2, Lloh3
	.loh AdrpAdd	Lloh0, Lloh1
	.loh AdrpAdd	Lloh4, Lloh5
	.cfi_endproc
                                        ; -- End function
	.section	__TEXT,__const
_base64_decode.digits:                  ; @base64_decode.digits
	.ascii	"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"

.zerofill __DATA,__bss,_base64_decode.decode_table,128,0 ; @base64_decode.decode_table
	.no_dead_strip	_base64_decode
.subsections_via_symbols
