	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function setup_wear_reporting
_setup_wear_reporting:                  ## @setup_wear_reporting
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	pushq	%rbx
	pushq	%rax
	.cfi_offset %rbx, -24
	movq	_rptwear@GOTPCREL(%rip), %rax
	xorl	%ebx, %ebx
	cmpl	$0, (%rax)
	je	LBB0_4
## %bb.1:
	movl	(%rdi), %esi
	movl	4(%rdi), %edi
	callq	_divide
	movq	_wear_eb_count@GOTPCREL(%rip), %rcx
	movl	%eax, (%rcx)
	testl	%eax, %eax
	js	LBB0_3
## %bb.2:
	movl	%eax, %edi
	shlq	$3, %rdi
	movq	_GFP_KERNEL@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	callq	_kzalloc
	movq	_erase_block_wear@GOTPCREL(%rip), %rcx
	movl	%eax, (%rcx)
	testl	%eax, %eax
	jne	LBB0_4
LBB0_3:
	leaq	L_.str(%rip), %rdi
	callq	_NS_ERR
	movq	_ENOMEM@GOTPCREL(%rip), %rax
	xorl	%ebx, %ebx
	subl	(%rax), %ebx
LBB0_4:
	movl	%ebx, %eax
	addq	$8, %rsp
	popq	%rbx
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_rptwear,4,2                    ## @rptwear
	.comm	_wear_eb_count,4,2              ## @wear_eb_count
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"Too many erase blocks for wear reporting\n"

	.comm	_ENOMEM,4,2                     ## @ENOMEM
	.comm	_GFP_KERNEL,4,2                 ## @GFP_KERNEL
	.comm	_erase_block_wear,4,2           ## @erase_block_wear
	.no_dead_strip	_setup_wear_reporting
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function setup_wear_reporting
_setup_wear_reporting:                  ; @setup_wear_reporting
	.cfi_startproc
; %bb.0:
	stp	x29, x30, [sp, #-16]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 16
	mov	x29, sp
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
Lloh0:
	adrp	x8, _rptwear@GOTPAGE
Lloh1:
	ldr	x8, [x8, _rptwear@GOTPAGEOFF]
Lloh2:
	ldr	w8, [x8]
	cbz	w8, LBB0_3
; %bb.1:
	ldp	w1, w8, [x0]
	mov	x0, x8
	bl	_divide
Lloh3:
	adrp	x8, _wear_eb_count@GOTPAGE
Lloh4:
	ldr	x8, [x8, _wear_eb_count@GOTPAGEOFF]
Lloh5:
	str	w0, [x8]
	tbnz	w0, #31, LBB0_4
; %bb.2:
	mov	w8, w0
	lsl	x0, x8, #3
Lloh6:
	adrp	x8, _GFP_KERNEL@GOTPAGE
Lloh7:
	ldr	x8, [x8, _GFP_KERNEL@GOTPAGEOFF]
Lloh8:
	ldr	w1, [x8]
	bl	_kzalloc
Lloh9:
	adrp	x8, _erase_block_wear@GOTPAGE
Lloh10:
	ldr	x8, [x8, _erase_block_wear@GOTPAGEOFF]
Lloh11:
	str	w0, [x8]
	cbz	w0, LBB0_4
LBB0_3:
	mov	w0, #0
	ldp	x29, x30, [sp], #16             ; 16-byte Folded Reload
	ret
LBB0_4:
Lloh12:
	adrp	x0, l_.str@PAGE
Lloh13:
	add	x0, x0, l_.str@PAGEOFF
	bl	_NS_ERR
Lloh14:
	adrp	x8, _ENOMEM@GOTPAGE
Lloh15:
	ldr	x8, [x8, _ENOMEM@GOTPAGEOFF]
Lloh16:
	ldr	w8, [x8]
	neg	w0, w8
	ldp	x29, x30, [sp], #16             ; 16-byte Folded Reload
	ret
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGotStr	Lloh3, Lloh4, Lloh5
	.loh AdrpLdrGotStr	Lloh9, Lloh10, Lloh11
	.loh AdrpLdrGotLdr	Lloh6, Lloh7, Lloh8
	.loh AdrpLdrGotLdr	Lloh14, Lloh15, Lloh16
	.loh AdrpAdd	Lloh12, Lloh13
	.cfi_endproc
                                        ; -- End function
	.comm	_rptwear,4,2                    ; @rptwear
	.comm	_wear_eb_count,4,2              ; @wear_eb_count
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"Too many erase blocks for wear reporting\n"

	.comm	_ENOMEM,4,2                     ; @ENOMEM
	.comm	_GFP_KERNEL,4,2                 ; @GFP_KERNEL
	.comm	_erase_block_wear,4,2           ; @erase_block_wear
	.no_dead_strip	_setup_wear_reporting
.subsections_via_symbols
