	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function atasecurity
_atasecurity:                           ## @atasecurity
	.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	%r13
	pushq	%r12
	pushq	%rbx
	subq	$88, %rsp
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	%r9, %r14
	movq	%r8, %r15
	movl	%ecx, %r13d
	movl	%edx, -100(%rbp)                ## 4-byte Spill
	movl	%esi, -104(%rbp)                ## 4-byte Spill
	movq	%rdi, -112(%rbp)                ## 8-byte Spill
	leaq	-56(%rbp), %rdi
	movl	$0, -92(%rbp)                   ## 4-byte Folded Spill
	xorl	%esi, %esi
	movl	$12, %edx
	callq	_memset
	movq	_ATA_SECURITY_ACTION_PRINT@GOTPCREL(%rip), %rcx
	movq	_ATA_SECURITY_PASSWORD_MASTER@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	orl	%eax, -56(%rbp)
	movl	(%rcx), %eax
	movq	%rax, -80(%rbp)                 ## 8-byte Spill
	leaq	LJTI0_0(%rip), %rbx
	movl	$0, -96(%rbp)                   ## 4-byte Folded Spill
	xorl	%r12d, %r12d
	movl	$0, -88(%rbp)                   ## 4-byte Folded Spill
	movl	$0, -84(%rbp)                   ## 4-byte Folded Spill
	jmp	LBB0_2
LBB0_1:                                 ##   in Loop: Header=BB0_2 Depth=1
	movq	_optarg@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	callq	_atoi
	imull	$1000, %eax, %eax               ## imm = 0x3E8
	movl	%eax, -84(%rbp)                 ## 4-byte Spill
	.p2align	4, 0x90
LBB0_2:                                 ## =>This Inner Loop Header: Depth=1
	movl	%r13d, %edi
	movq	%r15, %rsi
	movq	%r14, %rdx
	callq	_getopt
                                        ## kill: def $eax killed $eax def $rax
	leal	-84(%rax), %ecx
	cmpl	$37, %ecx
	ja	LBB0_25
## %bb.3:                               ##   in Loop: Header=BB0_2 Depth=1
	movslq	(%rbx,%rcx,4), %rax
	addq	%rbx, %rax
	jmpq	*%rax
LBB0_4:                                 ##   in Loop: Header=BB0_2 Depth=1
	movl	%r12d, -68(%rbp)                ## 4-byte Spill
	movq	_optarg@GOTPCREL(%rip), %r12
	movl	(%r12), %edi
	leaq	L_.str(%rip), %rsi
	callq	_strcasecmp
	testl	%eax, %eax
	je	LBB0_26
## %bb.5:                               ##   in Loop: Header=BB0_2 Depth=1
	movl	(%r12), %edi
	leaq	L_.str.1(%rip), %rsi
	callq	_strcasecmp
	testl	%eax, %eax
	jne	LBB0_35
## %bb.6:                               ##   in Loop: Header=BB0_2 Depth=1
	movl	-56(%rbp), %eax
	movq	_ATA_SECURITY_PASSWORD_MASTER@GOTPCREL(%rip), %rcx
	orl	(%rcx), %eax
	movq	_ATA_SECURITY_PASSWORD_USER@GOTPCREL(%rip), %rcx
	jmp	LBB0_27
LBB0_7:                                 ##   in Loop: Header=BB0_2 Depth=1
	movl	-48(%rbp), %edi
	movl	$4, %esi
	movl	$100, %edx
	callq	_ata_getpwd
	testl	%eax, %eax
	jne	LBB0_45
## %bb.8:                               ##   in Loop: Header=BB0_2 Depth=1
	incl	%r12d
	movl	$132, %eax
	movq	%rax, -80(%rbp)                 ## 8-byte Spill
	jmp	LBB0_2
LBB0_9:                                 ##   in Loop: Header=BB0_2 Depth=1
	movl	-48(%rbp), %edi
	movl	$4, %esi
	movl	$101, %edx
	callq	_ata_getpwd
	testl	%eax, %eax
	jne	LBB0_45
## %bb.10:                              ##   in Loop: Header=BB0_2 Depth=1
	incl	%r12d
	movl	$131, %eax
	movq	%rax, -80(%rbp)                 ## 8-byte Spill
	jmp	LBB0_2
LBB0_11:                                ##   in Loop: Header=BB0_2 Depth=1
	incl	%r12d
	movl	$129, %eax
	movq	%rax, -80(%rbp)                 ## 8-byte Spill
	jmp	LBB0_2
LBB0_12:                                ##   in Loop: Header=BB0_2 Depth=1
	movl	-48(%rbp), %edi
	movl	$4, %esi
	movl	$104, %edx
	callq	_ata_getpwd
	testl	%eax, %eax
	jne	LBB0_45
## %bb.13:                              ##   in Loop: Header=BB0_2 Depth=1
	movq	_ATA_SECURITY_ERASE_ENHANCED@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	orl	%eax, -56(%rbp)
	incl	%r12d
	movl	$130, %eax
	movq	%rax, -80(%rbp)                 ## 8-byte Spill
	jmp	LBB0_2
LBB0_14:                                ##   in Loop: Header=BB0_2 Depth=1
	movl	-48(%rbp), %edi
	movl	$4, %esi
	movl	$107, %edx
	callq	_ata_getpwd
	testl	%eax, %eax
	jne	LBB0_45
## %bb.15:                              ##   in Loop: Header=BB0_2 Depth=1
	incl	%r12d
	movl	$128, %eax
	movq	%rax, -80(%rbp)                 ## 8-byte Spill
	jmp	LBB0_2
LBB0_16:                                ##   in Loop: Header=BB0_2 Depth=1
	movl	%r12d, -68(%rbp)                ## 4-byte Spill
	movq	%rbx, %r12
	movq	_optarg@GOTPCREL(%rip), %rbx
	movl	(%rbx), %edi
	leaq	L_.str.3(%rip), %rsi
	callq	_strcasecmp
	testl	%eax, %eax
	je	LBB0_28
## %bb.17:                              ##   in Loop: Header=BB0_2 Depth=1
	movl	(%rbx), %edi
	leaq	L_.str.4(%rip), %rsi
	callq	_strcasecmp
	testl	%eax, %eax
	jne	LBB0_36
## %bb.18:                              ##   in Loop: Header=BB0_2 Depth=1
	movl	-56(%rbp), %eax
	movq	_ATA_SECURITY_LEVEL_MAXIMUM@GOTPCREL(%rip), %rcx
	orl	(%rcx), %eax
	movq	_ATA_SECURITY_LEVEL_HIGH@GOTPCREL(%rip), %rcx
	jmp	LBB0_29
LBB0_19:                                ##   in Loop: Header=BB0_2 Depth=1
	incl	-96(%rbp)                       ## 4-byte Folded Spill
	jmp	LBB0_2
LBB0_20:                                ##   in Loop: Header=BB0_2 Depth=1
	movl	-48(%rbp), %edi
	movl	$4, %esi
	movl	$115, %edx
	callq	_ata_getpwd
	testl	%eax, %eax
	jne	LBB0_45
## %bb.21:                              ##   in Loop: Header=BB0_2 Depth=1
	movq	-80(%rbp), %rax                 ## 8-byte Reload
	movq	_ATA_SECURITY_ACTION_PRINT@GOTPCREL(%rip), %rcx
	cmpl	(%rcx), %eax
	jne	LBB0_23
## %bb.22:                              ##   in Loop: Header=BB0_2 Depth=1
	movq	_ATA_SECURITY_ACTION_SET_PASSWORD@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
LBB0_23:                                ##   in Loop: Header=BB0_2 Depth=1
	movq	%rax, -80(%rbp)                 ## 8-byte Spill
	movl	$1, -88(%rbp)                   ## 4-byte Folded Spill
	jmp	LBB0_2
LBB0_24:                                ##   in Loop: Header=BB0_2 Depth=1
	incl	-92(%rbp)                       ## 4-byte Folded Spill
	jmp	LBB0_2
LBB0_25:                                ##   in Loop: Header=BB0_2 Depth=1
	cmpl	$-1, %eax
	jne	LBB0_2
	jmp	LBB0_38
LBB0_26:                                ##   in Loop: Header=BB0_2 Depth=1
	movl	-56(%rbp), %eax
	movq	_ATA_SECURITY_PASSWORD_USER@GOTPCREL(%rip), %rcx
	orl	(%rcx), %eax
	movq	_ATA_SECURITY_PASSWORD_MASTER@GOTPCREL(%rip), %rcx
LBB0_27:                                ##   in Loop: Header=BB0_2 Depth=1
	movl	(%rcx), %ecx
	notl	%ecx
	andl	%eax, %ecx
	movl	%ecx, -56(%rbp)
	movl	-68(%rbp), %r12d                ## 4-byte Reload
	jmp	LBB0_2
LBB0_28:                                ##   in Loop: Header=BB0_2 Depth=1
	movl	-56(%rbp), %eax
	movq	_ATA_SECURITY_LEVEL_HIGH@GOTPCREL(%rip), %rcx
	orl	(%rcx), %eax
	movq	_ATA_SECURITY_LEVEL_MAXIMUM@GOTPCREL(%rip), %rcx
LBB0_29:                                ##   in Loop: Header=BB0_2 Depth=1
	movl	(%rcx), %ecx
	notl	%ecx
	andl	%eax, %ecx
	movl	%ecx, -56(%rbp)
	movq	%r12, %rbx
	movl	-68(%rbp), %r12d                ## 4-byte Reload
	jmp	LBB0_2
LBB0_35:
	movq	_optarg@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	leaq	L_.str.2(%rip), %rdi
	jmp	LBB0_37
LBB0_36:
	movq	_optarg@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	leaq	L_.str.5(%rip), %rdi
LBB0_37:
	xorl	%eax, %eax
	callq	_warnx
	jmp	LBB0_45
LBB0_38:
	cmpl	$2, %r12d
	jl	LBB0_40
## %bb.39:
	leaq	L_.str.6(%rip), %rdi
	jmp	LBB0_44
LBB0_40:
	movq	-112(%rbp), %r14                ## 8-byte Reload
	movq	%r14, %rdi
	callq	_cam_getccb
	testq	%rax, %rax
	je	LBB0_43
## %bb.41:
	movq	%rax, %r15
	leaq	-64(%rbp), %r8
	movq	%r14, %rdi
	movl	-104(%rbp), %r12d               ## 4-byte Reload
	movl	%r12d, %esi
	movl	-100(%rbp), %ebx                ## 4-byte Reload
	movl	%ebx, %edx
	movq	%rax, %rcx
	callq	_ata_do_identify
	testl	%eax, %eax
	je	LBB0_47
LBB0_42:
	movq	%r15, %rdi
	callq	_cam_freeccb
	jmp	LBB0_45
LBB0_43:
	leaq	L_.str.7(%rip), %rdi
LBB0_44:
	xorl	%eax, %eax
	callq	_warnx
LBB0_45:
	movl	$1, %r15d
LBB0_46:
	movl	%r15d, %eax
	addq	$88, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_47:
	movl	-96(%rbp), %r13d                ## 4-byte Reload
	testl	%r13d, %r13d
	jne	LBB0_49
## %bb.48:
	movq	(%r14), %rsi
	movl	8(%r14), %edx
	leaq	L_.str.8(%rip), %rdi
	callq	_printf
	movq	-64(%rbp), %rdi
	callq	_ata_print_ident
	movq	%r14, %rdi
	callq	_camxferrate
LBB0_49:
	movq	-64(%rbp), %rsi
	movq	-80(%rbp), %rdx                 ## 8-byte Reload
	movq	_ATA_SECURITY_ACTION_PRINT@GOTPCREL(%rip), %rax
	cmpl	(%rax), %edx
	jne	LBB0_51
## %bb.50:
	movq	%rsi, %rdi
	callq	_atasecurity_print
	movq	-64(%rbp), %rdi
	callq	_free
	movq	%r15, %rdi
	callq	_cam_freeccb
	xorl	%r15d, %r15d
	jmp	LBB0_46
LBB0_51:
	movq	_ATA_SUPPORT_SECURITY@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	testl	%eax, 16(%rsi)
	je	LBB0_62
## %bb.52:
	testl	%ebx, %ebx
	movl	$15000, %ecx                    ## imm = 0x3A98
	cmovnel	%ebx, %ecx
	cmpl	$1, -88(%rbp)                   ## 4-byte Folded Reload
	jne	LBB0_63
## %bb.53:
	cmpl	$0, -92(%rbp)                   ## 4-byte Folded Reload
	jne	LBB0_56
## %bb.54:
	movl	%edx, %eax
	andl	$-2, %eax
	cmpl	$130, %eax
	jne	LBB0_56
## %bb.55:
	movq	%r14, %rdi
	movl	%ecx, %ebx
	callq	_atasecurity_erase_confirm
	movl	%ebx, %ecx
	testq	%rax, %rax
	je	LBB0_86
LBB0_56:
	movq	_ATA_SECURITY_PASSWORD_MASTER@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	testl	%eax, -56(%rbp)
	je	LBB0_60
## %bb.57:
	movq	-64(%rbp), %rax
	movl	4(%rax), %eax
	movl	%eax, -52(%rbp)
	testl	%eax, %eax
	je	LBB0_60
## %bb.58:
	cmpl	$4095, %eax                     ## imm = 0xFFF
	je	LBB0_60
## %bb.59:
	decl	%eax
	movl	$65534, %edx                    ## imm = 0xFFFE
	cmovnel	%eax, %edx
	movl	%edx, -52(%rbp)
LBB0_60:
	leaq	-56(%rbp), %r8
	movq	%r14, %rdi
	movq	%r15, %rsi
	movl	%r12d, %edx
	movl	%r13d, %r9d
	movl	%ecx, %ebx
	callq	_atasecurity_set_password
	movq	%r15, %rdi
	testl	%eax, %eax
	je	LBB0_64
## %bb.61:
	movl	%eax, %r15d
	jmp	LBB0_96
LBB0_62:
	leaq	L_.str.9(%rip), %rdi
	xorl	%eax, %eax
	callq	_warnx
	movq	-64(%rbp), %rdi
	callq	_free
	jmp	LBB0_42
LBB0_63:
	movq	_ATA_SECURITY_ENABLED@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	andl	(%rsi), %eax
	jmp	LBB0_65
LBB0_64:
	movl	$1, %eax
	movq	-80(%rbp), %rdx                 ## 8-byte Reload
	movq	%rdi, %r15
	movl	%ebx, %ecx
LBB0_65:
	addl	$-128, %edx
	cmpl	$4, %edx
	ja	LBB0_70
## %bb.66:
	leaq	LJTI0_1(%rip), %rsi
	movslq	(%rsi,%rdx,4), %rdx
	addq	%rsi, %rdx
	jmpq	*%rdx
LBB0_67:
	testl	%eax, %eax
	je	LBB0_87
## %bb.68:
	movq	-64(%rbp), %rax
	movq	_ATA_SECURITY_LOCKED@GOTPCREL(%rip), %rdx
	movl	(%rdx), %edx
	testl	%edx, (%rax)
	je	LBB0_91
## %bb.69:
	leaq	-56(%rbp), %r8
	movq	%r14, %rdi
	movq	%r15, %rsi
	movl	%r12d, %edx
	movl	%r13d, %r9d
	callq	_atasecurity_unlock
	jmp	LBB0_81
LBB0_70:
	movq	%r15, %rbx
	xorl	%r15d, %r15d
	jmp	LBB0_95
LBB0_71:
	movq	%r14, %rdi
	movq	%r15, %rsi
	movl	%r12d, %edx
	movl	%r13d, %r8d
	callq	_atasecurity_freeze
	jmp	LBB0_81
LBB0_72:
	testl	%eax, %eax
	je	LBB0_88
## %bb.73:
	movq	-64(%rbp), %rax
	movq	_ATA_SECURITY_ENH_SUPP@GOTPCREL(%rip), %rdx
	movl	(%rdx), %edx
	testl	%edx, (%rax)
	je	LBB0_92
## %bb.74:
	movl	-84(%rbp), %r8d                 ## 4-byte Reload
	testl	%r8d, %r8d
	jne	LBB0_80
## %bb.75:
	movl	8(%rax), %edi
	jmp	LBB0_79
LBB0_76:
	testl	%eax, %eax
	je	LBB0_89
## %bb.77:
	movl	-84(%rbp), %r8d                 ## 4-byte Reload
	testl	%r8d, %r8d
	jne	LBB0_80
## %bb.78:
	movq	-64(%rbp), %rax
	movl	12(%rax), %edi
LBB0_79:
	movl	%ecx, %ebx
	callq	_atasecurity_erase_timeout_msecs
	movl	%ebx, %ecx
	movl	%eax, %r8d
LBB0_80:
	movl	%r13d, (%rsp)
	leaq	-56(%rbp), %r9
	movq	%r14, %rdi
	movq	%r15, %rsi
	movl	%r12d, %edx
	callq	_atasecurity_erase
LBB0_81:
	movq	%r15, %rbx
	movl	%eax, %r15d
	jmp	LBB0_95
LBB0_82:
	movq	%r15, %rbx
	testl	%eax, %eax
	je	LBB0_90
## %bb.83:
	movq	-64(%rbp), %rax
	movq	_ATA_SECURITY_LOCKED@GOTPCREL(%rip), %rdx
	movl	(%rdx), %edx
	testl	%edx, (%rax)
	je	LBB0_85
## %bb.84:
	leaq	-56(%rbp), %r8
	movq	%r14, %rdi
	movq	%rbx, %rsi
	movl	%r12d, %edx
	movl	%r13d, %r9d
	movl	%ecx, %r15d
	callq	_atasecurity_unlock
	movl	%r15d, %ecx
	movl	%eax, %r15d
	testl	%eax, %eax
	jne	LBB0_95
LBB0_85:
	leaq	-56(%rbp), %r8
	movq	%r14, %rdi
	movq	%rbx, %rsi
	movl	%r12d, %edx
	movl	%r13d, %r9d
	callq	_atasecurity_disable
	movl	%eax, %r15d
	jmp	LBB0_95
LBB0_86:
	movq	%r15, %rdi
	callq	_cam_freeccb
	movq	-64(%rbp), %rdi
	callq	_free
	xorl	%r15d, %r15d
	jmp	LBB0_46
LBB0_87:
	leaq	L_.str.11(%rip), %rdi
	jmp	LBB0_93
LBB0_88:
	leaq	L_.str.15(%rip), %rdi
	jmp	LBB0_93
LBB0_89:
	leaq	L_.str.13(%rip), %rdi
	jmp	LBB0_93
LBB0_90:
	leaq	L_.str.12(%rip), %rdi
	xorl	%eax, %eax
	callq	_warnx
	jmp	LBB0_94
LBB0_91:
	leaq	L_.str.10(%rip), %rdi
	jmp	LBB0_93
LBB0_92:
	leaq	L_.str.14(%rip), %rdi
LBB0_93:
	xorl	%eax, %eax
	callq	_warnx
	movq	%r15, %rbx
LBB0_94:
	movl	$1, %r15d
LBB0_95:
	movq	%rbx, %rdi
LBB0_96:
	callq	_cam_freeccb
	movq	-64(%rbp), %rdi
	callq	_free
	jmp	LBB0_46
	.cfi_endproc
	.p2align	2, 0x90
	.data_region jt32
.set L0_0_set_1, LBB0_1-LJTI0_0
.set L0_0_set_4, LBB0_4-LJTI0_0
.set L0_0_set_2, LBB0_2-LJTI0_0
.set L0_0_set_7, LBB0_7-LJTI0_0
.set L0_0_set_9, LBB0_9-LJTI0_0
.set L0_0_set_11, LBB0_11-LJTI0_0
.set L0_0_set_12, LBB0_12-LJTI0_0
.set L0_0_set_14, LBB0_14-LJTI0_0
.set L0_0_set_16, LBB0_16-LJTI0_0
.set L0_0_set_19, LBB0_19-LJTI0_0
.set L0_0_set_20, LBB0_20-LJTI0_0
.set L0_0_set_24, LBB0_24-LJTI0_0
LJTI0_0:
	.long	L0_0_set_1
	.long	L0_0_set_4
	.long	L0_0_set_2
	.long	L0_0_set_2
	.long	L0_0_set_2
	.long	L0_0_set_2
	.long	L0_0_set_2
	.long	L0_0_set_2
	.long	L0_0_set_2
	.long	L0_0_set_2
	.long	L0_0_set_2
	.long	L0_0_set_2
	.long	L0_0_set_2
	.long	L0_0_set_2
	.long	L0_0_set_2
	.long	L0_0_set_2
	.long	L0_0_set_7
	.long	L0_0_set_9
	.long	L0_0_set_11
	.long	L0_0_set_2
	.long	L0_0_set_12
	.long	L0_0_set_2
	.long	L0_0_set_2
	.long	L0_0_set_14
	.long	L0_0_set_16
	.long	L0_0_set_2
	.long	L0_0_set_2
	.long	L0_0_set_2
	.long	L0_0_set_2
	.long	L0_0_set_19
	.long	L0_0_set_2
	.long	L0_0_set_20
	.long	L0_0_set_2
	.long	L0_0_set_2
	.long	L0_0_set_2
	.long	L0_0_set_2
	.long	L0_0_set_2
	.long	L0_0_set_24
.set L0_1_set_67, LBB0_67-LJTI0_1
.set L0_1_set_71, LBB0_71-LJTI0_1
.set L0_1_set_72, LBB0_72-LJTI0_1
.set L0_1_set_76, LBB0_76-LJTI0_1
.set L0_1_set_82, LBB0_82-LJTI0_1
LJTI0_1:
	.long	L0_1_set_67
	.long	L0_1_set_71
	.long	L0_1_set_72
	.long	L0_1_set_76
	.long	L0_1_set_82
	.end_data_region
                                        ## -- End function
	.comm	_ATA_SECURITY_ACTION_PRINT,4,2  ## @ATA_SECURITY_ACTION_PRINT
	.comm	_ATA_SECURITY_PASSWORD_MASTER,4,2 ## @ATA_SECURITY_PASSWORD_MASTER
	.comm	_optarg,4,2                     ## @optarg
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"user"

	.comm	_ATA_SECURITY_PASSWORD_USER,4,2 ## @ATA_SECURITY_PASSWORD_USER
L_.str.1:                               ## @.str.1
	.asciz	"master"

L_.str.2:                               ## @.str.2
	.asciz	"-U argument '%s' is invalid (must be 'user' or 'master')"

L_.str.3:                               ## @.str.3
	.asciz	"high"

	.comm	_ATA_SECURITY_LEVEL_HIGH,4,2    ## @ATA_SECURITY_LEVEL_HIGH
	.comm	_ATA_SECURITY_LEVEL_MAXIMUM,4,2 ## @ATA_SECURITY_LEVEL_MAXIMUM
L_.str.4:                               ## @.str.4
	.asciz	"maximum"

L_.str.5:                               ## @.str.5
	.asciz	"-l argument '%s' is unknown (must be 'high' or 'maximum')"

	.comm	_ATA_SECURITY_ERASE_ENHANCED,4,2 ## @ATA_SECURITY_ERASE_ENHANCED
	.comm	_ATA_SECURITY_ACTION_SET_PASSWORD,4,2 ## @ATA_SECURITY_ACTION_SET_PASSWORD
L_.str.6:                               ## @.str.6
	.asciz	"too many security actions specified"

L_.str.7:                               ## @.str.7
	.asciz	"couldn't allocate CCB"

L_.str.8:                               ## @.str.8
	.asciz	"%s%d: "

	.comm	_ATA_SUPPORT_SECURITY,4,2       ## @ATA_SUPPORT_SECURITY
L_.str.9:                               ## @.str.9
	.asciz	"Security not supported"

	.comm	_ATA_SECURITY_ENABLED,4,2       ## @ATA_SECURITY_ENABLED
	.comm	_ATA_SECURITY_LOCKED,4,2        ## @ATA_SECURITY_LOCKED
L_.str.10:                              ## @.str.10
	.asciz	"Can't unlock, drive is not locked"

L_.str.11:                              ## @.str.11
	.asciz	"Can't unlock, security is disabled"

L_.str.12:                              ## @.str.12
	.asciz	"Can't disable security (already disabled)"

L_.str.13:                              ## @.str.13
	.asciz	"Can't secure erase (security is disabled)"

	.comm	_ATA_SECURITY_ENH_SUPP,4,2      ## @ATA_SECURITY_ENH_SUPP
L_.str.14:                              ## @.str.14
	.asciz	"Enhanced erase is not supported"

L_.str.15:                              ## @.str.15
	.asciz	"Can't secure erase (enhanced), (security is disabled)"

	.no_dead_strip	_atasecurity
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function atasecurity
_atasecurity:                           ; @atasecurity
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #160
	.cfi_def_cfa_offset 160
	stp	x28, x27, [sp, #64]             ; 16-byte Folded Spill
	stp	x26, x25, [sp, #80]             ; 16-byte Folded Spill
	stp	x24, x23, [sp, #96]             ; 16-byte Folded Spill
	stp	x22, x21, [sp, #112]            ; 16-byte Folded Spill
	stp	x20, x19, [sp, #128]            ; 16-byte Folded Spill
	stp	x29, x30, [sp, #144]            ; 16-byte Folded Spill
	add	x29, sp, #144
	.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
	.cfi_offset w23, -56
	.cfi_offset w24, -64
	.cfi_offset w25, -72
	.cfi_offset w26, -80
	.cfi_offset w27, -88
	.cfi_offset w28, -96
	mov	x24, x5
	mov	x25, x4
	mov	x26, x3
	stp	w2, w1, [sp, #16]               ; 8-byte Folded Spill
	str	x0, [sp, #24]                   ; 8-byte Folded Spill
	add	x0, sp, #40
	mov	w1, #0
	mov	w2, #12
	bl	_memset
	mov	w21, #0
	mov	w20, #0
	mov	w27, #0
	mov	w23, #0
	str	wzr, [sp, #36]                  ; 4-byte Folded Spill
	ldr	w8, [sp, #40]
Lloh0:
	adrp	x9, _ATA_SECURITY_ACTION_PRINT@GOTPAGE
Lloh1:
	ldr	x9, [x9, _ATA_SECURITY_ACTION_PRINT@GOTPAGEOFF]
Lloh2:
	ldr	w28, [x9]
Lloh3:
	adrp	x9, _ATA_SECURITY_PASSWORD_MASTER@GOTPAGE
Lloh4:
	ldr	x9, [x9, _ATA_SECURITY_PASSWORD_MASTER@GOTPAGEOFF]
Lloh5:
	ldr	w9, [x9]
	orr	w8, w8, w9
	str	w8, [sp, #40]
Lloh6:
	adrp	x22, lJTI0_0@PAGE
Lloh7:
	add	x22, x22, lJTI0_0@PAGEOFF
Lloh8:
	adrp	x19, _optarg@GOTPAGE
Lloh9:
	ldr	x19, [x19, _optarg@GOTPAGEOFF]
	b	LBB0_3
LBB0_1:                                 ;   in Loop: Header=BB0_3 Depth=1
Lloh10:
	adrp	x8, _ATA_SECURITY_PASSWORD_USER@GOTPAGE
Lloh11:
	ldr	x8, [x8, _ATA_SECURITY_PASSWORD_USER@GOTPAGEOFF]
Lloh12:
	ldr	w8, [x8]
	ldr	w9, [sp, #40]
	orr	w8, w9, w8
Lloh13:
	adrp	x9, _ATA_SECURITY_PASSWORD_MASTER@GOTPAGE
Lloh14:
	ldr	x9, [x9, _ATA_SECURITY_PASSWORD_MASTER@GOTPAGEOFF]
LBB0_2:                                 ;   in Loop: Header=BB0_3 Depth=1
	ldr	w9, [x9]
	bic	w8, w8, w9
	str	w8, [sp, #40]
LBB0_3:                                 ; =>This Inner Loop Header: Depth=1
	mov	x0, x26
	mov	x1, x25
	mov	x2, x24
	bl	_getopt
	sub	w8, w0, #84
	cmp	w8, #37
	b.hi	LBB0_25
; %bb.4:                                ;   in Loop: Header=BB0_3 Depth=1
	adr	x9, LBB0_3
	ldrb	w10, [x22, x8]
	add	x9, x9, x10, lsl #2
	br	x9
LBB0_5:                                 ;   in Loop: Header=BB0_3 Depth=1
	ldr	w0, [x19]
	bl	_atoi
	mov	w8, #1000
	mul	w8, w0, w8
	str	w8, [sp, #36]                   ; 4-byte Folded Spill
	b	LBB0_3
LBB0_6:                                 ;   in Loop: Header=BB0_3 Depth=1
	ldr	w0, [x19]
Lloh15:
	adrp	x1, l_.str@PAGE
Lloh16:
	add	x1, x1, l_.str@PAGEOFF
	bl	_strcasecmp
	cbz	w0, LBB0_1
; %bb.7:                                ;   in Loop: Header=BB0_3 Depth=1
	ldr	w0, [x19]
Lloh17:
	adrp	x1, l_.str.1@PAGE
Lloh18:
	add	x1, x1, l_.str.1@PAGEOFF
	bl	_strcasecmp
	cbnz	w0, LBB0_27
; %bb.8:                                ;   in Loop: Header=BB0_3 Depth=1
Lloh19:
	adrp	x8, _ATA_SECURITY_PASSWORD_MASTER@GOTPAGE
Lloh20:
	ldr	x8, [x8, _ATA_SECURITY_PASSWORD_MASTER@GOTPAGEOFF]
Lloh21:
	ldr	w8, [x8]
	ldr	w9, [sp, #40]
	orr	w8, w9, w8
Lloh22:
	adrp	x9, _ATA_SECURITY_PASSWORD_USER@GOTPAGE
Lloh23:
	ldr	x9, [x9, _ATA_SECURITY_PASSWORD_USER@GOTPAGEOFF]
	b	LBB0_2
LBB0_9:                                 ;   in Loop: Header=BB0_3 Depth=1
	ldr	w0, [sp, #48]
	mov	w1, #4
	mov	w2, #100
	bl	_ata_getpwd
	cbnz	w0, LBB0_36
; %bb.10:                               ;   in Loop: Header=BB0_3 Depth=1
	add	w27, w27, #1
	mov	w28, #132
	b	LBB0_3
LBB0_11:                                ;   in Loop: Header=BB0_3 Depth=1
	ldr	w0, [sp, #48]
	mov	w1, #4
	mov	w2, #101
	bl	_ata_getpwd
	cbnz	w0, LBB0_36
; %bb.12:                               ;   in Loop: Header=BB0_3 Depth=1
	add	w27, w27, #1
	mov	w28, #131
	b	LBB0_3
LBB0_13:                                ;   in Loop: Header=BB0_3 Depth=1
	add	w27, w27, #1
	mov	w28, #129
	b	LBB0_3
LBB0_14:                                ;   in Loop: Header=BB0_3 Depth=1
	ldr	w0, [sp, #48]
	mov	w1, #4
	mov	w2, #104
	bl	_ata_getpwd
	cbnz	w0, LBB0_36
; %bb.15:                               ;   in Loop: Header=BB0_3 Depth=1
Lloh24:
	adrp	x8, _ATA_SECURITY_ERASE_ENHANCED@GOTPAGE
Lloh25:
	ldr	x8, [x8, _ATA_SECURITY_ERASE_ENHANCED@GOTPAGEOFF]
Lloh26:
	ldr	w8, [x8]
	ldr	w9, [sp, #40]
	orr	w8, w9, w8
	str	w8, [sp, #40]
	add	w27, w27, #1
	mov	w28, #130
	b	LBB0_3
LBB0_16:                                ;   in Loop: Header=BB0_3 Depth=1
	ldr	w0, [sp, #48]
	mov	w1, #4
	mov	w2, #107
	bl	_ata_getpwd
	cbnz	w0, LBB0_36
; %bb.17:                               ;   in Loop: Header=BB0_3 Depth=1
	add	w27, w27, #1
	mov	w28, #128
	b	LBB0_3
LBB0_18:                                ;   in Loop: Header=BB0_3 Depth=1
	ldr	w0, [x19]
Lloh27:
	adrp	x1, l_.str.3@PAGE
Lloh28:
	add	x1, x1, l_.str.3@PAGEOFF
	bl	_strcasecmp
	cbz	w0, LBB0_26
; %bb.19:                               ;   in Loop: Header=BB0_3 Depth=1
	ldr	w0, [x19]
Lloh29:
	adrp	x1, l_.str.4@PAGE
Lloh30:
	add	x1, x1, l_.str.4@PAGEOFF
	bl	_strcasecmp
	cbnz	w0, LBB0_28
; %bb.20:                               ;   in Loop: Header=BB0_3 Depth=1
Lloh31:
	adrp	x8, _ATA_SECURITY_LEVEL_MAXIMUM@GOTPAGE
Lloh32:
	ldr	x8, [x8, _ATA_SECURITY_LEVEL_MAXIMUM@GOTPAGEOFF]
Lloh33:
	ldr	w8, [x8]
	ldr	w9, [sp, #40]
	orr	w8, w9, w8
Lloh34:
	adrp	x9, _ATA_SECURITY_LEVEL_HIGH@GOTPAGE
Lloh35:
	ldr	x9, [x9, _ATA_SECURITY_LEVEL_HIGH@GOTPAGEOFF]
	b	LBB0_2
LBB0_21:                                ;   in Loop: Header=BB0_3 Depth=1
	add	w20, w20, #1
	b	LBB0_3
LBB0_22:                                ;   in Loop: Header=BB0_3 Depth=1
	ldr	w0, [sp, #48]
	mov	w1, #4
	mov	w2, #115
	bl	_ata_getpwd
	cbnz	w0, LBB0_36
; %bb.23:                               ;   in Loop: Header=BB0_3 Depth=1
Lloh36:
	adrp	x8, _ATA_SECURITY_ACTION_PRINT@GOTPAGE
Lloh37:
	ldr	x8, [x8, _ATA_SECURITY_ACTION_PRINT@GOTPAGEOFF]
Lloh38:
	ldr	w8, [x8]
Lloh39:
	adrp	x9, _ATA_SECURITY_ACTION_SET_PASSWORD@GOTPAGE
Lloh40:
	ldr	x9, [x9, _ATA_SECURITY_ACTION_SET_PASSWORD@GOTPAGEOFF]
Lloh41:
	ldr	w9, [x9]
	cmp	w28, w8
	csel	w28, w9, w28, eq
	mov	w23, #1
	b	LBB0_3
LBB0_24:                                ;   in Loop: Header=BB0_3 Depth=1
	add	w21, w21, #1
	b	LBB0_3
LBB0_25:                                ;   in Loop: Header=BB0_3 Depth=1
	cmn	w0, #1
	b.ne	LBB0_3
	b	LBB0_29
LBB0_26:                                ;   in Loop: Header=BB0_3 Depth=1
Lloh42:
	adrp	x8, _ATA_SECURITY_LEVEL_HIGH@GOTPAGE
Lloh43:
	ldr	x8, [x8, _ATA_SECURITY_LEVEL_HIGH@GOTPAGEOFF]
Lloh44:
	ldr	w8, [x8]
	ldr	w9, [sp, #40]
	orr	w8, w9, w8
Lloh45:
	adrp	x9, _ATA_SECURITY_LEVEL_MAXIMUM@GOTPAGE
Lloh46:
	ldr	x9, [x9, _ATA_SECURITY_LEVEL_MAXIMUM@GOTPAGEOFF]
	b	LBB0_2
LBB0_27:
	ldr	w8, [x19]
	str	x8, [sp]
Lloh47:
	adrp	x0, l_.str.2@PAGE
Lloh48:
	add	x0, x0, l_.str.2@PAGEOFF
	b	LBB0_35
LBB0_28:
	ldr	w8, [x19]
	str	x8, [sp]
Lloh49:
	adrp	x0, l_.str.5@PAGE
Lloh50:
	add	x0, x0, l_.str.5@PAGEOFF
	b	LBB0_35
LBB0_29:
	cmp	w27, #2
	b.lt	LBB0_31
; %bb.30:
Lloh51:
	adrp	x0, l_.str.6@PAGE
Lloh52:
	add	x0, x0, l_.str.6@PAGEOFF
	b	LBB0_35
LBB0_31:
	ldr	x25, [sp, #24]                  ; 8-byte Folded Reload
	mov	x0, x25
	bl	_cam_getccb
	cbz	x0, LBB0_34
; %bb.32:
	mov	x24, x0
	add	x4, sp, #56
	mov	x0, x25
	ldp	w19, w22, [sp, #16]             ; 8-byte Folded Reload
	mov	x1, x22
	mov	x2, x19
	mov	x3, x24
	bl	_ata_do_identify
	cbz	w0, LBB0_38
LBB0_33:
	mov	x0, x24
	bl	_cam_freeccb
	b	LBB0_36
LBB0_34:
Lloh53:
	adrp	x0, l_.str.7@PAGE
Lloh54:
	add	x0, x0, l_.str.7@PAGEOFF
LBB0_35:
	bl	_warnx
LBB0_36:
	mov	w21, #1
LBB0_37:
	mov	x0, x21
	ldp	x29, x30, [sp, #144]            ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #128]            ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #112]            ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #96]             ; 16-byte Folded Reload
	ldp	x26, x25, [sp, #80]             ; 16-byte Folded Reload
	ldp	x28, x27, [sp, #64]             ; 16-byte Folded Reload
	add	sp, sp, #160
	ret
LBB0_38:
	cbnz	w20, LBB0_40
; %bb.39:
	ldr	x1, [x25]
	ldr	w2, [x25, #8]
Lloh55:
	adrp	x0, l_.str.8@PAGE
Lloh56:
	add	x0, x0, l_.str.8@PAGEOFF
	bl	_printf
	ldr	x0, [sp, #56]
	bl	_ata_print_ident
	mov	x0, x25
	bl	_camxferrate
LBB0_40:
Lloh57:
	adrp	x8, _ATA_SECURITY_ACTION_PRINT@GOTPAGE
Lloh58:
	ldr	x8, [x8, _ATA_SECURITY_ACTION_PRINT@GOTPAGEOFF]
Lloh59:
	ldr	w8, [x8]
	ldr	x1, [sp, #56]
	cmp	w28, w8
	b.ne	LBB0_42
; %bb.41:
	mov	x0, x1
	bl	_atasecurity_print
	ldr	x0, [sp, #56]
	bl	_free
	mov	x0, x24
	bl	_cam_freeccb
	mov	w21, #0
	b	LBB0_37
LBB0_42:
	ldr	w8, [x1, #16]
Lloh60:
	adrp	x9, _ATA_SUPPORT_SECURITY@GOTPAGE
Lloh61:
	ldr	x9, [x9, _ATA_SUPPORT_SECURITY@GOTPAGEOFF]
Lloh62:
	ldr	w9, [x9]
	tst	w9, w8
	b.eq	LBB0_53
; %bb.43:
	mov	w8, #15000
	cmp	w19, #0
	csel	w19, w8, w19, eq
	cmp	w23, #1
	b.ne	LBB0_54
; %bb.44:
	cbnz	w21, LBB0_47
; %bb.45:
	and	w8, w28, #0xfffffffe
	cmp	w8, #130
	b.ne	LBB0_47
; %bb.46:
	mov	x0, x25
	bl	_atasecurity_erase_confirm
	cbz	x0, LBB0_76
LBB0_47:
	ldr	w8, [sp, #40]
Lloh63:
	adrp	x9, _ATA_SECURITY_PASSWORD_MASTER@GOTPAGE
Lloh64:
	ldr	x9, [x9, _ATA_SECURITY_PASSWORD_MASTER@GOTPAGEOFF]
Lloh65:
	ldr	w9, [x9]
	tst	w9, w8
	b.eq	LBB0_51
; %bb.48:
	ldr	x8, [sp, #56]
	ldr	w8, [x8, #4]
	str	w8, [sp, #44]
	cbz	w8, LBB0_51
; %bb.49:
	cmp	w8, #4095
	b.eq	LBB0_51
; %bb.50:
	subs	w8, w8, #1
	mov	w9, #65534
	csel	w8, w9, w8, eq
	str	w8, [sp, #44]
LBB0_51:
	add	x4, sp, #40
	mov	x0, x25
	mov	x1, x24
	mov	x2, x22
	mov	x3, x19
	mov	x5, x20
	bl	_atasecurity_set_password
	cbz	w0, LBB0_55
; %bb.52:
	mov	x21, x0
	b	LBB0_84
LBB0_53:
Lloh66:
	adrp	x0, l_.str.9@PAGE
Lloh67:
	add	x0, x0, l_.str.9@PAGEOFF
	bl	_warnx
	ldr	x0, [sp, #56]
	bl	_free
	b	LBB0_33
LBB0_54:
	ldr	w8, [x1]
Lloh68:
	adrp	x9, _ATA_SECURITY_ENABLED@GOTPAGE
Lloh69:
	ldr	x9, [x9, _ATA_SECURITY_ENABLED@GOTPAGEOFF]
Lloh70:
	ldr	w9, [x9]
	and	w8, w9, w8
	b	LBB0_56
LBB0_55:
	mov	w8, #1
LBB0_56:
	sub	w9, w28, #128
	cmp	w9, #4
	b.hi	LBB0_61
; %bb.57:
Lloh71:
	adrp	x10, lJTI0_1@PAGE
Lloh72:
	add	x10, x10, lJTI0_1@PAGEOFF
	adr	x11, LBB0_58
	ldrb	w12, [x10, x9]
	add	x11, x11, x12, lsl #2
	br	x11
LBB0_58:
	cbz	w8, LBB0_77
; %bb.59:
	ldr	x8, [sp, #56]
	ldr	w8, [x8]
Lloh73:
	adrp	x9, _ATA_SECURITY_LOCKED@GOTPAGE
Lloh74:
	ldr	x9, [x9, _ATA_SECURITY_LOCKED@GOTPAGEOFF]
Lloh75:
	ldr	w9, [x9]
	tst	w9, w8
	b.eq	LBB0_81
; %bb.60:
	add	x4, sp, #40
	mov	x0, x25
	mov	x1, x24
	mov	x2, x22
	mov	x3, x19
	mov	x5, x20
	bl	_atasecurity_unlock
	mov	x21, x0
	b	LBB0_84
LBB0_61:
	mov	w21, #0
	b	LBB0_84
LBB0_62:
	mov	x0, x25
	mov	x1, x24
	mov	x2, x22
	mov	x3, x19
	mov	x4, x20
	bl	_atasecurity_freeze
	mov	x21, x0
	b	LBB0_84
LBB0_63:
	cbz	w8, LBB0_78
; %bb.64:
	ldr	x8, [sp, #56]
	ldr	w9, [x8]
Lloh76:
	adrp	x10, _ATA_SECURITY_ENH_SUPP@GOTPAGE
Lloh77:
	ldr	x10, [x10, _ATA_SECURITY_ENH_SUPP@GOTPAGEOFF]
Lloh78:
	ldr	w10, [x10]
	tst	w10, w9
	b.eq	LBB0_82
; %bb.65:
	ldr	w4, [sp, #36]                   ; 4-byte Folded Reload
	cbnz	w4, LBB0_71
; %bb.66:
	ldr	w0, [x8, #8]
	b	LBB0_70
LBB0_67:
	cbz	w8, LBB0_79
; %bb.68:
	ldr	w4, [sp, #36]                   ; 4-byte Folded Reload
	cbnz	w4, LBB0_71
; %bb.69:
	ldr	x8, [sp, #56]
	ldr	w0, [x8, #12]
LBB0_70:
	bl	_atasecurity_erase_timeout_msecs
	mov	x4, x0
LBB0_71:
	add	x5, sp, #40
	mov	x0, x25
	mov	x1, x24
	mov	x2, x22
	mov	x3, x19
	mov	x6, x20
	bl	_atasecurity_erase
	mov	x21, x0
	b	LBB0_84
LBB0_72:
	cbz	w8, LBB0_80
; %bb.73:
	ldr	x8, [sp, #56]
	ldr	w8, [x8]
Lloh79:
	adrp	x9, _ATA_SECURITY_LOCKED@GOTPAGE
Lloh80:
	ldr	x9, [x9, _ATA_SECURITY_LOCKED@GOTPAGEOFF]
Lloh81:
	ldr	w9, [x9]
	tst	w9, w8
	b.eq	LBB0_75
; %bb.74:
	add	x4, sp, #40
	mov	x0, x25
	mov	x1, x24
	mov	x2, x22
	mov	x3, x19
	mov	x5, x20
	bl	_atasecurity_unlock
	mov	x21, x0
	cbnz	w0, LBB0_84
LBB0_75:
	add	x4, sp, #40
	mov	x0, x25
	mov	x1, x24
	mov	x2, x22
	mov	x3, x19
	mov	x5, x20
	bl	_atasecurity_disable
	mov	x21, x0
	b	LBB0_84
LBB0_76:
	mov	x0, x24
	bl	_cam_freeccb
	ldr	x0, [sp, #56]
	bl	_free
	mov	w21, #0
	b	LBB0_37
LBB0_77:
Lloh82:
	adrp	x0, l_.str.11@PAGE
Lloh83:
	add	x0, x0, l_.str.11@PAGEOFF
	b	LBB0_83
LBB0_78:
Lloh84:
	adrp	x0, l_.str.15@PAGE
Lloh85:
	add	x0, x0, l_.str.15@PAGEOFF
	b	LBB0_83
LBB0_79:
Lloh86:
	adrp	x0, l_.str.13@PAGE
Lloh87:
	add	x0, x0, l_.str.13@PAGEOFF
	b	LBB0_83
LBB0_80:
Lloh88:
	adrp	x0, l_.str.12@PAGE
Lloh89:
	add	x0, x0, l_.str.12@PAGEOFF
	b	LBB0_83
LBB0_81:
Lloh90:
	adrp	x0, l_.str.10@PAGE
Lloh91:
	add	x0, x0, l_.str.10@PAGEOFF
	b	LBB0_83
LBB0_82:
Lloh92:
	adrp	x0, l_.str.14@PAGE
Lloh93:
	add	x0, x0, l_.str.14@PAGEOFF
LBB0_83:
	bl	_warnx
	mov	w21, #1
LBB0_84:
	mov	x0, x24
	bl	_cam_freeccb
	ldr	x0, [sp, #56]
	bl	_free
	b	LBB0_37
	.loh AdrpLdrGot	Lloh8, Lloh9
	.loh AdrpAdd	Lloh6, Lloh7
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGot	Lloh13, Lloh14
	.loh AdrpLdrGotLdr	Lloh10, Lloh11, Lloh12
	.loh AdrpAdd	Lloh15, Lloh16
	.loh AdrpAdd	Lloh17, Lloh18
	.loh AdrpLdrGot	Lloh22, Lloh23
	.loh AdrpLdrGotLdr	Lloh19, Lloh20, Lloh21
	.loh AdrpLdrGotLdr	Lloh24, Lloh25, Lloh26
	.loh AdrpAdd	Lloh27, Lloh28
	.loh AdrpAdd	Lloh29, Lloh30
	.loh AdrpLdrGot	Lloh34, Lloh35
	.loh AdrpLdrGotLdr	Lloh31, Lloh32, Lloh33
	.loh AdrpLdrGotLdr	Lloh39, Lloh40, Lloh41
	.loh AdrpLdrGotLdr	Lloh36, Lloh37, Lloh38
	.loh AdrpLdrGot	Lloh45, Lloh46
	.loh AdrpLdrGotLdr	Lloh42, Lloh43, Lloh44
	.loh AdrpAdd	Lloh47, Lloh48
	.loh AdrpAdd	Lloh49, Lloh50
	.loh AdrpAdd	Lloh51, Lloh52
	.loh AdrpAdd	Lloh53, Lloh54
	.loh AdrpAdd	Lloh55, Lloh56
	.loh AdrpLdrGotLdr	Lloh57, Lloh58, Lloh59
	.loh AdrpLdrGotLdr	Lloh60, Lloh61, Lloh62
	.loh AdrpLdrGotLdr	Lloh63, Lloh64, Lloh65
	.loh AdrpAdd	Lloh66, Lloh67
	.loh AdrpLdrGotLdr	Lloh68, Lloh69, Lloh70
	.loh AdrpAdd	Lloh71, Lloh72
	.loh AdrpLdrGotLdr	Lloh73, Lloh74, Lloh75
	.loh AdrpLdrGotLdr	Lloh76, Lloh77, Lloh78
	.loh AdrpLdrGotLdr	Lloh79, Lloh80, Lloh81
	.loh AdrpAdd	Lloh82, Lloh83
	.loh AdrpAdd	Lloh84, Lloh85
	.loh AdrpAdd	Lloh86, Lloh87
	.loh AdrpAdd	Lloh88, Lloh89
	.loh AdrpAdd	Lloh90, Lloh91
	.loh AdrpAdd	Lloh92, Lloh93
	.cfi_endproc
	.section	__TEXT,__const
lJTI0_0:
	.byte	(LBB0_5-LBB0_3)>>2
	.byte	(LBB0_6-LBB0_3)>>2
	.byte	(LBB0_3-LBB0_3)>>2
	.byte	(LBB0_3-LBB0_3)>>2
	.byte	(LBB0_3-LBB0_3)>>2
	.byte	(LBB0_3-LBB0_3)>>2
	.byte	(LBB0_3-LBB0_3)>>2
	.byte	(LBB0_3-LBB0_3)>>2
	.byte	(LBB0_3-LBB0_3)>>2
	.byte	(LBB0_3-LBB0_3)>>2
	.byte	(LBB0_3-LBB0_3)>>2
	.byte	(LBB0_3-LBB0_3)>>2
	.byte	(LBB0_3-LBB0_3)>>2
	.byte	(LBB0_3-LBB0_3)>>2
	.byte	(LBB0_3-LBB0_3)>>2
	.byte	(LBB0_3-LBB0_3)>>2
	.byte	(LBB0_9-LBB0_3)>>2
	.byte	(LBB0_11-LBB0_3)>>2
	.byte	(LBB0_13-LBB0_3)>>2
	.byte	(LBB0_3-LBB0_3)>>2
	.byte	(LBB0_14-LBB0_3)>>2
	.byte	(LBB0_3-LBB0_3)>>2
	.byte	(LBB0_3-LBB0_3)>>2
	.byte	(LBB0_16-LBB0_3)>>2
	.byte	(LBB0_18-LBB0_3)>>2
	.byte	(LBB0_3-LBB0_3)>>2
	.byte	(LBB0_3-LBB0_3)>>2
	.byte	(LBB0_3-LBB0_3)>>2
	.byte	(LBB0_3-LBB0_3)>>2
	.byte	(LBB0_21-LBB0_3)>>2
	.byte	(LBB0_3-LBB0_3)>>2
	.byte	(LBB0_22-LBB0_3)>>2
	.byte	(LBB0_3-LBB0_3)>>2
	.byte	(LBB0_3-LBB0_3)>>2
	.byte	(LBB0_3-LBB0_3)>>2
	.byte	(LBB0_3-LBB0_3)>>2
	.byte	(LBB0_3-LBB0_3)>>2
	.byte	(LBB0_24-LBB0_3)>>2
lJTI0_1:
	.byte	(LBB0_58-LBB0_58)>>2
	.byte	(LBB0_62-LBB0_58)>>2
	.byte	(LBB0_63-LBB0_58)>>2
	.byte	(LBB0_67-LBB0_58)>>2
	.byte	(LBB0_72-LBB0_58)>>2
                                        ; -- End function
	.comm	_ATA_SECURITY_ACTION_PRINT,4,2  ; @ATA_SECURITY_ACTION_PRINT
	.comm	_ATA_SECURITY_PASSWORD_MASTER,4,2 ; @ATA_SECURITY_PASSWORD_MASTER
	.comm	_optarg,4,2                     ; @optarg
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"user"

	.comm	_ATA_SECURITY_PASSWORD_USER,4,2 ; @ATA_SECURITY_PASSWORD_USER
l_.str.1:                               ; @.str.1
	.asciz	"master"

l_.str.2:                               ; @.str.2
	.asciz	"-U argument '%s' is invalid (must be 'user' or 'master')"

l_.str.3:                               ; @.str.3
	.asciz	"high"

	.comm	_ATA_SECURITY_LEVEL_HIGH,4,2    ; @ATA_SECURITY_LEVEL_HIGH
	.comm	_ATA_SECURITY_LEVEL_MAXIMUM,4,2 ; @ATA_SECURITY_LEVEL_MAXIMUM
l_.str.4:                               ; @.str.4
	.asciz	"maximum"

l_.str.5:                               ; @.str.5
	.asciz	"-l argument '%s' is unknown (must be 'high' or 'maximum')"

	.comm	_ATA_SECURITY_ERASE_ENHANCED,4,2 ; @ATA_SECURITY_ERASE_ENHANCED
	.comm	_ATA_SECURITY_ACTION_SET_PASSWORD,4,2 ; @ATA_SECURITY_ACTION_SET_PASSWORD
l_.str.6:                               ; @.str.6
	.asciz	"too many security actions specified"

l_.str.7:                               ; @.str.7
	.asciz	"couldn't allocate CCB"

l_.str.8:                               ; @.str.8
	.asciz	"%s%d: "

	.comm	_ATA_SUPPORT_SECURITY,4,2       ; @ATA_SUPPORT_SECURITY
l_.str.9:                               ; @.str.9
	.asciz	"Security not supported"

	.comm	_ATA_SECURITY_ENABLED,4,2       ; @ATA_SECURITY_ENABLED
	.comm	_ATA_SECURITY_LOCKED,4,2        ; @ATA_SECURITY_LOCKED
l_.str.10:                              ; @.str.10
	.asciz	"Can't unlock, drive is not locked"

l_.str.11:                              ; @.str.11
	.asciz	"Can't unlock, security is disabled"

l_.str.12:                              ; @.str.12
	.asciz	"Can't disable security (already disabled)"

l_.str.13:                              ; @.str.13
	.asciz	"Can't secure erase (security is disabled)"

	.comm	_ATA_SECURITY_ENH_SUPP,4,2      ; @ATA_SECURITY_ENH_SUPP
l_.str.14:                              ; @.str.14
	.asciz	"Enhanced erase is not supported"

l_.str.15:                              ; @.str.15
	.asciz	"Can't secure erase (enhanced), (security is disabled)"

	.no_dead_strip	_atasecurity
.subsections_via_symbols
