	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function esil_avr_init
_esil_avr_init:                         ## @esil_avr_init
	.cfi_startproc
## %bb.0:
	testq	%rdi, %rdi
	je	LBB0_1
## %bb.2:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	pushq	%r14
	pushq	%rbx
	.cfi_offset %rbx, -32
	.cfi_offset %r14, -24
	movq	%rdi, %rbx
	movq	_desctx@GOTPCREL(%rip), %rax
	movq	$0, (%rax)
	movq	_avr_custom_des@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	_R_ANAL_ESIL_OP_TYPE_CUSTOM@GOTPCREL(%rip), %r14
	movl	(%r14), %r9d
	leaq	L_.str(%rip), %rsi
	xorl	%ecx, %ecx
	xorl	%r8d, %r8d
	callq	_r_anal_esil_set_op
	movq	_avr_custom_spm_page_erase@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movl	(%r14), %r9d
	leaq	L_.str.1(%rip), %rsi
	movq	%rbx, %rdi
	xorl	%ecx, %ecx
	xorl	%r8d, %r8d
	callq	_r_anal_esil_set_op
	movq	_avr_custom_spm_page_fill@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movl	(%r14), %r9d
	leaq	L_.str.2(%rip), %rsi
	movq	%rbx, %rdi
	xorl	%ecx, %ecx
	xorl	%r8d, %r8d
	callq	_r_anal_esil_set_op
	movq	_avr_custom_spm_page_write@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movl	(%r14), %r9d
	leaq	L_.str.3(%rip), %rsi
	movq	%rbx, %rdi
	xorl	%ecx, %ecx
	xorl	%r8d, %r8d
	callq	_r_anal_esil_set_op
	movq	_esil_avr_hook_reg_write@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	%eax, (%rbx)
	movl	$1, %eax
	popq	%rbx
	popq	%r14
	popq	%rbp
	retq
LBB0_1:
	xorl	%eax, %eax
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_desctx,8,3                     ## @desctx
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"des"

	.comm	_avr_custom_des,4,2             ## @avr_custom_des
	.comm	_R_ANAL_ESIL_OP_TYPE_CUSTOM,4,2 ## @R_ANAL_ESIL_OP_TYPE_CUSTOM
L_.str.1:                               ## @.str.1
	.asciz	"SPM_PAGE_ERASE"

	.comm	_avr_custom_spm_page_erase,4,2  ## @avr_custom_spm_page_erase
L_.str.2:                               ## @.str.2
	.asciz	"SPM_PAGE_FILL"

	.comm	_avr_custom_spm_page_fill,4,2   ## @avr_custom_spm_page_fill
L_.str.3:                               ## @.str.3
	.asciz	"SPM_PAGE_WRITE"

	.comm	_avr_custom_spm_page_write,4,2  ## @avr_custom_spm_page_write
	.comm	_esil_avr_hook_reg_write,4,2    ## @esil_avr_hook_reg_write
	.no_dead_strip	_esil_avr_init
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function esil_avr_init
_esil_avr_init:                         ; @esil_avr_init
	.cfi_startproc
; %bb.0:
	cbz	x0, LBB0_2
; %bb.1:
	stp	x20, x19, [sp, #-32]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 32
	stp	x29, x30, [sp, #16]             ; 16-byte Folded Spill
	add	x29, sp, #16
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	.cfi_offset w19, -24
	.cfi_offset w20, -32
	mov	x19, x0
Lloh0:
	adrp	x8, _desctx@GOTPAGE
Lloh1:
	ldr	x8, [x8, _desctx@GOTPAGEOFF]
Lloh2:
	str	xzr, [x8]
Lloh3:
	adrp	x8, _avr_custom_des@GOTPAGE
Lloh4:
	ldr	x8, [x8, _avr_custom_des@GOTPAGEOFF]
Lloh5:
	ldr	w2, [x8]
Lloh6:
	adrp	x20, _R_ANAL_ESIL_OP_TYPE_CUSTOM@GOTPAGE
Lloh7:
	ldr	x20, [x20, _R_ANAL_ESIL_OP_TYPE_CUSTOM@GOTPAGEOFF]
	ldr	w5, [x20]
Lloh8:
	adrp	x1, l_.str@PAGE
Lloh9:
	add	x1, x1, l_.str@PAGEOFF
	mov	w3, #0
	mov	w4, #0
	bl	_r_anal_esil_set_op
Lloh10:
	adrp	x8, _avr_custom_spm_page_erase@GOTPAGE
Lloh11:
	ldr	x8, [x8, _avr_custom_spm_page_erase@GOTPAGEOFF]
Lloh12:
	ldr	w2, [x8]
	ldr	w5, [x20]
Lloh13:
	adrp	x1, l_.str.1@PAGE
Lloh14:
	add	x1, x1, l_.str.1@PAGEOFF
	mov	x0, x19
	mov	w3, #0
	mov	w4, #0
	bl	_r_anal_esil_set_op
Lloh15:
	adrp	x8, _avr_custom_spm_page_fill@GOTPAGE
Lloh16:
	ldr	x8, [x8, _avr_custom_spm_page_fill@GOTPAGEOFF]
Lloh17:
	ldr	w2, [x8]
	ldr	w5, [x20]
Lloh18:
	adrp	x1, l_.str.2@PAGE
Lloh19:
	add	x1, x1, l_.str.2@PAGEOFF
	mov	x0, x19
	mov	w3, #0
	mov	w4, #0
	bl	_r_anal_esil_set_op
Lloh20:
	adrp	x8, _avr_custom_spm_page_write@GOTPAGE
Lloh21:
	ldr	x8, [x8, _avr_custom_spm_page_write@GOTPAGEOFF]
Lloh22:
	ldr	w2, [x8]
	ldr	w5, [x20]
Lloh23:
	adrp	x1, l_.str.3@PAGE
Lloh24:
	add	x1, x1, l_.str.3@PAGEOFF
	mov	x0, x19
	mov	w3, #0
	mov	w4, #0
	bl	_r_anal_esil_set_op
Lloh25:
	adrp	x8, _esil_avr_hook_reg_write@GOTPAGE
Lloh26:
	ldr	x8, [x8, _esil_avr_hook_reg_write@GOTPAGEOFF]
Lloh27:
	ldr	w8, [x8]
	str	w8, [x19]
	mov	w0, #1
	ldp	x29, x30, [sp, #16]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp], #32             ; 16-byte Folded Reload
LBB0_2:
	.cfi_def_cfa wsp, 0
	.cfi_same_value w30
	.cfi_same_value w29
	.cfi_same_value w19
	.cfi_same_value w20
	ret
	.loh AdrpLdrGotLdr	Lloh25, Lloh26, Lloh27
	.loh AdrpAdd	Lloh23, Lloh24
	.loh AdrpLdrGotLdr	Lloh20, Lloh21, Lloh22
	.loh AdrpAdd	Lloh18, Lloh19
	.loh AdrpLdrGotLdr	Lloh15, Lloh16, Lloh17
	.loh AdrpAdd	Lloh13, Lloh14
	.loh AdrpLdrGotLdr	Lloh10, Lloh11, Lloh12
	.loh AdrpAdd	Lloh8, Lloh9
	.loh AdrpLdrGot	Lloh6, Lloh7
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpLdrGotStr	Lloh0, Lloh1, Lloh2
	.cfi_endproc
                                        ; -- End function
	.comm	_desctx,8,3                     ; @desctx
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"des"

	.comm	_avr_custom_des,4,2             ; @avr_custom_des
	.comm	_R_ANAL_ESIL_OP_TYPE_CUSTOM,4,2 ; @R_ANAL_ESIL_OP_TYPE_CUSTOM
l_.str.1:                               ; @.str.1
	.asciz	"SPM_PAGE_ERASE"

	.comm	_avr_custom_spm_page_erase,4,2  ; @avr_custom_spm_page_erase
l_.str.2:                               ; @.str.2
	.asciz	"SPM_PAGE_FILL"

	.comm	_avr_custom_spm_page_fill,4,2   ; @avr_custom_spm_page_fill
l_.str.3:                               ; @.str.3
	.asciz	"SPM_PAGE_WRITE"

	.comm	_avr_custom_spm_page_write,4,2  ; @avr_custom_spm_page_write
	.comm	_esil_avr_hook_reg_write,4,2    ; @esil_avr_hook_reg_write
	.no_dead_strip	_esil_avr_init
.subsections_via_symbols
