	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function atacapprint
_atacapprint:                           ## @atacapprint
	.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
	pushq	%rax
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	%rdi, %r15
	movl	200(%rdi), %r14d
	shll	$16, %r14d
	orl	208(%rdi), %r14d
	movl	$10, %edi
	callq	_putchar
	leaq	L_.str.1(%rip), %rdi
	xorl	%eax, %eax
	callq	_printf
	movq	_ATA_PROTO_CFA@GOTPCREL(%rip), %r13
	movq	_ATA_PROTO_ATAPI@GOTPCREL(%rip), %rax
	movl	(%r15), %ecx
	movl	(%rax), %eax
	andl	%ecx, %eax
	leaq	L_.str.4(%rip), %rax
	leaq	L_.str.3(%rip), %rdx
	cmoveq	%rax, %rdx
	cmpl	(%r13), %ecx
	movl	164(%r15), %edi
	leaq	L_.str.2(%rip), %rbx
	cmovneq	%rdx, %rbx
	callq	_ata_version
	testl	%eax, %eax
	je	LBB0_3
## %bb.1:
	movl	164(%r15), %edi
	callq	_ata_version
	movl	%eax, %r12d
	movl	164(%r15), %edi
	callq	_ata_version
	cmpl	$7, %r12d
	jg	LBB0_4
## %bb.2:
	leaq	L_.str.6(%rip), %rdi
	movq	%rbx, %rsi
	movl	%eax, %edx
	xorl	%eax, %eax
	callq	_printf
	jmp	LBB0_8
LBB0_3:
	leaq	L_.str.5(%rip), %rdi
	jmp	LBB0_6
LBB0_4:
	cmpl	$8, %eax
	jne	LBB0_7
## %bb.5:
	leaq	L_.str.7(%rip), %rdi
LBB0_6:
	movq	%rbx, %rsi
	xorl	%eax, %eax
	callq	_printf
	jmp	LBB0_8
LBB0_7:
	movl	164(%r15), %edi
	callq	_ata_version
                                        ## kill: def $eax killed $eax def $rax
	leal	-7(%rax), %esi
	leaq	L_.str.8(%rip), %rdi
	movq	%rbx, %rdx
	xorl	%eax, %eax
	callq	_printf
LBB0_8:
	movl	4(%r15), %eax
	testl	%eax, %eax
	je	LBB0_10
## %bb.9:
	cmpl	$65535, %eax                    ## imm = 0xFFFF
	jne	LBB0_11
LBB0_10:
	movl	$10, %edi
	callq	_putchar
	jmp	LBB0_19
LBB0_11:
	movq	_ATA_SATA_GEN3@GOTPCREL(%rip), %rcx
	testl	%eax, (%rcx)
	je	LBB0_13
## %bb.12:
	leaq	L_str.113(%rip), %rdi
	jmp	LBB0_18
LBB0_13:
	movq	_ATA_SATA_GEN2@GOTPCREL(%rip), %rcx
	testl	%eax, (%rcx)
	je	LBB0_15
## %bb.14:
	leaq	L_str.112(%rip), %rdi
	jmp	LBB0_18
LBB0_15:
	movq	_ATA_SATA_GEN1@GOTPCREL(%rip), %rcx
	testl	%eax, (%rcx)
	je	LBB0_17
## %bb.16:
	leaq	L_str.111(%rip), %rdi
	jmp	LBB0_18
LBB0_17:
	leaq	L_str.110(%rip), %rdi
LBB0_18:
	callq	_puts
LBB0_19:
	movq	8(%r15), %rsi
	leaq	L_.str.13(%rip), %rdi
	xorl	%eax, %eax
	callq	_printf
	movq	16(%r15), %rsi
	leaq	L_.str.14(%rip), %rdi
	xorl	%eax, %eax
	callq	_printf
	movq	24(%r15), %rsi
	leaq	L_.str.15(%rip), %rdi
	xorl	%eax, %eax
	callq	_printf
	movq	_ATA_SUPPORT_64BITWWN@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	testl	%eax, 132(%r15)
	je	LBB0_21
## %bb.20:
	movq	32(%r15), %rax
	movl	(%rax), %esi
	movl	4(%rax), %edx
	movl	8(%rax), %ecx
	movl	12(%rax), %r8d
	leaq	L_.str.16(%rip), %rdi
	xorl	%eax, %eax
	callq	_printf
LBB0_21:
	movq	40(%r15), %rsi
	leaq	L_.str.17(%rip), %rdi
	xorl	%eax, %eax
	callq	_printf
	movq	_ATA_SUPPORT_MEDIASN@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	testl	%eax, 132(%r15)
	je	LBB0_23
## %bb.22:
	movq	48(%r15), %rsi
	leaq	L_.str.18(%rip), %rdi
	xorl	%eax, %eax
	callq	_printf
LBB0_23:
	movl	56(%r15), %esi
	leaq	L_.str.19(%rip), %rdi
	xorl	%eax, %eax
	callq	_printf
	movl	60(%r15), %esi
	leaq	L_.str.20(%rip), %rdi
	xorl	%eax, %eax
	callq	_printf
	movl	64(%r15), %esi
	leaq	L_.str.21(%rip), %rdi
	xorl	%eax, %eax
	callq	_printf
	movq	%r15, %rdi
	callq	_ata_logical_sector_size
	movl	%eax, %r12d
	movq	%r15, %rdi
	callq	_ata_physical_sector_size
	movq	%rax, %rbx
	movq	%r15, %rdi
	callq	_ata_logical_sector_offset
	leaq	L_.str.22(%rip), %rdi
	movl	%r12d, %esi
	movq	%rbx, %rdx
	movq	%rax, %rcx
	xorl	%eax, %eax
	callq	_printf
	movl	(%r15), %eax
	cmpl	(%r13), %eax
	je	LBB0_25
## %bb.24:
	movq	_ATA_SUPPORT_CFA@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	testl	%eax, 144(%r15)
	je	LBB0_26
LBB0_25:
	leaq	L_str.109(%rip), %rdi
	callq	_puts
LBB0_26:
	movq	_ATA_SUPPORT_LBA@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	andl	68(%r15), %eax
	leaq	L_.str.26(%rip), %r12
	leaq	L_.str.25(%rip), %rbx
	movq	%rbx, %rsi
	cmoveq	%r12, %rsi
	leaq	L_.str.24(%rip), %rdi
	xorl	%eax, %eax
	callq	_printf
	testl	%r14d, %r14d
	je	LBB0_28
## %bb.27:
	leaq	L_.str.27(%rip), %rdi
	movl	%r14d, %esi
	xorl	%eax, %eax
	callq	_printf
	jmp	LBB0_29
LBB0_28:
	movl	$10, %edi
	callq	_putchar
LBB0_29:
	movq	_ATA_SUPPORT_ADDRESS48@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	andl	144(%r15), %eax
	movq	%rbx, %rsi
	cmoveq	%r12, %rsi
	leaq	L_.str.28(%rip), %rdi
	xorl	%eax, %eax
	callq	_printf
	movl	$10, %edi
	callq	_putchar
	leaq	L_.str.30(%rip), %rdi
	xorl	%eax, %eax
	callq	_printf
	movq	%r15, %rdi
	callq	_ata_max_pmode
	movl	$182, %ecx
	subl	%eax, %ecx
	addl	$-130, %eax
	cmpl	$4, %eax
	movl	$48, %edi
	cmovbl	%ecx, %edi
	callq	_putchar
	movq	_ATA_SUPPORT_IORDY@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	testl	%eax, 68(%r15)
	jne	LBB0_31
## %bb.30:
	leaq	L_.str.36(%rip), %rdi
	xorl	%eax, %eax
	callq	_printf
LBB0_31:
	movl	$10, %edi
	callq	_putchar
	movq	_ATA_SUPPORT_DMA@GOTPCREL(%rip), %r14
	movl	(%r14), %eax
	andl	68(%r15), %eax
	cmoveq	%r12, %rbx
	leaq	L_.str.37(%rip), %rdi
	movq	%rbx, %rsi
	xorl	%eax, %eax
	callq	_printf
	movl	(%r14), %eax
	testl	%eax, 68(%r15)
	je	LBB0_49
## %bb.32:
	cmpb	$0, 72(%r15)
	je	LBB0_38
## %bb.33:
	leaq	L_.str.38(%rip), %rdi
	xorl	%eax, %eax
	callq	_printf
	movl	72(%r15), %eax
	movl	$50, %edi
	testb	$4, %al
	jne	LBB0_36
## %bb.34:
	movl	$49, %edi
	testb	$2, %al
	jne	LBB0_36
## %bb.35:
	movl	$48, %edi
	testb	$1, %al
	je	LBB0_37
LBB0_36:
	callq	_putchar
LBB0_37:
	movl	$32, %edi
	callq	_putchar
LBB0_38:
	movq	_ATA_FLAG_88@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	testl	%eax, 76(%r15)
	je	LBB0_49
## %bb.39:
	cmpb	$0, 80(%r15)
	je	LBB0_49
## %bb.40:
	leaq	L_.str.39(%rip), %rdi
	xorl	%eax, %eax
	callq	_printf
	movl	80(%r15), %eax
	movl	$54, %edi
	testb	$64, %al
	jne	LBB0_47
## %bb.41:
	movl	$53, %edi
	testb	$32, %al
	jne	LBB0_47
## %bb.42:
	movl	$52, %edi
	testb	$16, %al
	jne	LBB0_47
## %bb.43:
	movl	$51, %edi
	testb	$8, %al
	jne	LBB0_47
## %bb.44:
	movl	$50, %edi
	testb	$4, %al
	jne	LBB0_47
## %bb.45:
	movl	$49, %edi
	testb	$2, %al
	jne	LBB0_47
## %bb.46:
	movl	$48, %edi
	testb	$1, %al
	je	LBB0_48
LBB0_47:
	callq	_putchar
LBB0_48:
	movl	$32, %edi
	callq	_putchar
LBB0_49:
	movl	$10, %edi
	callq	_putchar
	movl	84(%r15), %esi
	cmpl	$1, %esi
	jne	LBB0_51
## %bb.50:
	leaq	L_str.108(%rip), %rdi
	callq	_puts
	jmp	LBB0_53
LBB0_51:
	leal	-1025(%rsi), %eax
	cmpl	$64509, %eax                    ## imm = 0xFBFD
	ja	LBB0_53
## %bb.52:
	leaq	L_.str.43(%rip), %rdi
                                        ## kill: def $esi killed $esi killed $rsi
	xorl	%eax, %eax
	callq	_printf
LBB0_53:
	leaq	L_.str.44(%rip), %rdi
	xorl	%eax, %eax
	callq	_printf
	movq	_ATA_SUPPORT_ZONE_MASK@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	andl	88(%r15), %eax
	cmpl	$128, %eax
	leaq	L_str(%rip), %rcx
	leaq	L_str.107(%rip), %rbx
	cmovneq	%rbx, %rcx
	cmpl	$129, %eax
	leaq	L_str.106(%rip), %rdi
	cmovneq	%rcx, %rdi
	callq	_puts
	leaq	L_str.97(%rip), %rdi
	callq	_puts
	movq	_ATA_SUPPORT_LOOKAHEAD@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	148(%r15), %ecx
	andl	%eax, %ecx
	leaq	L_str.101(%rip), %r14
	movq	%r14, %rsi
	cmoveq	%rbx, %rsi
	andl	136(%r15), %eax
	movq	%r14, %rdx
	cmoveq	%rbx, %rdx
	leaq	L_.str.49(%rip), %rdi
	xorl	%eax, %eax
	callq	_printf
	movq	_ATA_SUPPORT_WRITECACHE@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	148(%r15), %ecx
	andl	%eax, %ecx
	movq	%r14, %rsi
	cmoveq	%rbx, %rsi
	andl	136(%r15), %eax
	movq	%r14, %rdx
	cmoveq	%rbx, %rdx
	leaq	L_.str.52(%rip), %rdi
	xorl	%eax, %eax
	callq	_printf
	movq	_ATA_SUPPORT_FLUSHCACHE@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	144(%r15), %ecx
	andl	%eax, %ecx
	movq	%r14, %rsi
	cmoveq	%rbx, %rsi
	andl	140(%r15), %eax
	movq	%r14, %rdx
	cmoveq	%rbx, %rdx
	leaq	L_.str.53(%rip), %rdi
	xorl	%eax, %eax
	callq	_printf
	leaq	L_.str.54(%rip), %rdi
	xorl	%eax, %eax
	callq	_printf
	movq	%r15, %rdi
	callq	_atasata
	testq	%rax, %rax
	je	LBB0_56
## %bb.54:
	movq	_ATA_SUPPORT_NCQ@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	testl	%eax, 4(%r15)
	je	LBB0_56
## %bb.55:
	movl	160(%r15), %edi
	callq	_ATA_QUEUE_LEN
                                        ## kill: def $eax killed $eax def $rax
	leal	1(%rax), %esi
	leaq	L_.str.55(%rip), %rdi
	xorl	%eax, %eax
	callq	_printf
	movq	_ATA_SUPPORT_NCQ_PRIO@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	andl	4(%r15), %eax
	movq	%r14, %rsi
	cmoveq	%rbx, %rsi
	leaq	L_.str.56(%rip), %rdi
	xorl	%eax, %eax
	callq	_printf
	movq	_ATA_SUPPORT_NCQ_NON_DATA@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	andl	92(%r15), %eax
	movq	%r14, %rsi
	cmoveq	%rbx, %rsi
	leaq	L_.str.57(%rip), %rdi
	xorl	%eax, %eax
	callq	_printf
	movq	_ATA_SUPPORT_NCQ_STREAM@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	andl	92(%r15), %eax
	movq	%r14, %rsi
	cmoveq	%rbx, %rsi
	leaq	L_.str.58(%rip), %rdi
	xorl	%eax, %eax
	callq	_printf
	movq	_ATA_SUPPORT_RCVSND_FPDMA_QUEUED@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	andl	92(%r15), %eax
	movq	%r14, %rsi
	cmoveq	%rbx, %rsi
	leaq	L_.str.59(%rip), %rdi
	xorl	%eax, %eax
	callq	_printf
	movq	_ATA_SUPPORT_NCQ_AUTOSENSE@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	andl	96(%r15), %eax
	movq	%r14, %rsi
	cmoveq	%rbx, %rsi
	leaq	L_.str.60(%rip), %rdi
	xorl	%eax, %eax
	callq	_printf
	jmp	LBB0_57
LBB0_56:
	leaq	L_str.107(%rip), %rdi
	callq	_puts
LBB0_57:
	movq	_ATA_SUPPORT_SMART@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	148(%r15), %ecx
	andl	%eax, %ecx
	movq	%r14, %rsi
	cmoveq	%rbx, %rsi
	andl	136(%r15), %eax
	movq	%r14, %rdx
	cmoveq	%rbx, %rdx
	leaq	L_.str.61(%rip), %rdi
	xorl	%eax, %eax
	callq	_printf
	movq	_ATA_SUPPORT_SECURITY@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	148(%r15), %ecx
	andl	%eax, %ecx
	movq	%r14, %rsi
	cmoveq	%rbx, %rsi
	andl	136(%r15), %eax
	movq	%r14, %rdx
	cmoveq	%rbx, %rdx
	leaq	L_.str.62(%rip), %rdi
	xorl	%eax, %eax
	callq	_printf
	movq	_ATA_SUPPORT_POWERMGT@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	148(%r15), %ecx
	andl	%eax, %ecx
	movq	%r14, %rsi
	cmoveq	%rbx, %rsi
	andl	136(%r15), %eax
	movq	%r14, %rdx
	cmoveq	%rbx, %rdx
	leaq	L_.str.63(%rip), %rdi
	xorl	%eax, %eax
	callq	_printf
	movq	_ATA_SUPPORT_MICROCODE@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	144(%r15), %ecx
	andl	%eax, %ecx
	movq	%r14, %rsi
	cmoveq	%rbx, %rsi
	andl	140(%r15), %eax
	movq	%r14, %rdx
	cmoveq	%rbx, %rdx
	leaq	L_.str.64(%rip), %rdi
	xorl	%eax, %eax
	callq	_printf
	movq	_ATA_SUPPORT_APM@GOTPCREL(%rip), %r12
	movl	(%r12), %eax
	movl	144(%r15), %ecx
	andl	%eax, %ecx
	movq	%r14, %rsi
	cmoveq	%rbx, %rsi
	andl	140(%r15), %eax
	movq	%r14, %rdx
	cmoveq	%rbx, %rdx
	leaq	L_.str.65(%rip), %rdi
	xorl	%eax, %eax
	callq	_printf
	movl	(%r12), %eax
	testl	%eax, 144(%r15)
	je	LBB0_59
## %bb.58:
	movzbl	100(%r15), %edx
	leaq	L_.str.66(%rip), %rdi
	movl	%edx, %esi
	xorl	%eax, %eax
	callq	_printf
	jmp	LBB0_60
LBB0_59:
	movl	$10, %edi
	callq	_putchar
LBB0_60:
	movq	_ATA_SUPPORT_AUTOACOUSTIC@GOTPCREL(%rip), %r12
	movl	(%r12), %eax
	movl	144(%r15), %ecx
	andl	%eax, %ecx
	movq	%r14, %rsi
	cmoveq	%rbx, %rsi
	andl	140(%r15), %eax
	movq	%r14, %rdx
	cmoveq	%rbx, %rdx
	leaq	L_.str.67(%rip), %rdi
	xorl	%eax, %eax
	callq	_printf
	movl	(%r12), %eax
	testl	%eax, 144(%r15)
	je	LBB0_62
## %bb.61:
	movl	156(%r15), %edi
	callq	_ATA_ACOUSTIC_CURRENT
	movl	%eax, -44(%rbp)                 ## 4-byte Spill
	movl	156(%r15), %edi
	callq	_ATA_ACOUSTIC_CURRENT
	movl	%eax, %r13d
	movl	156(%r15), %edi
	callq	_ATA_ACOUSTIC_VENDOR
	movl	%eax, %r12d
	movl	156(%r15), %edi
	callq	_ATA_ACOUSTIC_VENDOR
	leaq	L_.str.68(%rip), %rdi
	movl	-44(%rbp), %esi                 ## 4-byte Reload
	movl	%r13d, %edx
	movl	%r12d, %ecx
	movl	%eax, %r8d
	xorl	%eax, %eax
	callq	_printf
	jmp	LBB0_63
LBB0_62:
	movl	$10, %edi
	callq	_putchar
LBB0_63:
	movq	_ATA_SUPPORT_NOTIFY@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	144(%r15), %ecx
	andl	%eax, %ecx
	movq	%r14, %rsi
	cmoveq	%rbx, %rsi
	andl	140(%r15), %eax
	movq	%r14, %rdx
	cmoveq	%rbx, %rdx
	leaq	L_.str.69(%rip), %rdi
	xorl	%eax, %eax
	callq	_printf
	movq	_ATA_SUPPORT_STANDBY@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	144(%r15), %ecx
	andl	%eax, %ecx
	movq	%r14, %rsi
	cmoveq	%rbx, %rsi
	andl	140(%r15), %eax
	movq	%r14, %rdx
	cmoveq	%rbx, %rdx
	leaq	L_.str.70(%rip), %rdi
	xorl	%eax, %eax
	callq	_printf
	movq	_ATA_SUPPORT_WRITEREADVERIFY@GOTPCREL(%rip), %r12
	movl	(%r12), %eax
	movl	104(%r15), %ecx
	andl	%eax, %ecx
	movq	%r14, %rsi
	cmoveq	%rbx, %rsi
	andl	108(%r15), %eax
	movq	%r14, %rdx
	cmoveq	%rbx, %rdx
	leaq	L_.str.71(%rip), %rdi
	xorl	%eax, %eax
	callq	_printf
	movl	(%r12), %eax
	testl	%eax, 104(%r15)
	je	LBB0_65
## %bb.64:
	movl	112(%r15), %edx
	leaq	L_.str.72(%rip), %rdi
	movl	%edx, %esi
	xorl	%eax, %eax
	callq	_printf
	jmp	LBB0_66
LBB0_65:
	movl	$10, %edi
	callq	_putchar
LBB0_66:
	movq	_ATA_SUPPORT_UNLOAD@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	152(%r15), %ecx
	andl	%eax, %ecx
	movq	%r14, %rsi
	cmoveq	%rbx, %rsi
	andl	132(%r15), %eax
	movq	%r14, %rdx
	cmoveq	%rbx, %rdx
	leaq	L_.str.73(%rip), %rdi
	xorl	%eax, %eax
	callq	_printf
	movq	_ATA_SUPPORT_GENLOG@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	152(%r15), %ecx
	andl	%eax, %ecx
	movq	%r14, %rsi
	cmoveq	%rbx, %rsi
	andl	132(%r15), %eax
	movq	%r14, %rdx
	cmoveq	%rbx, %rdx
	leaq	L_.str.74(%rip), %rdi
	xorl	%eax, %eax
	callq	_printf
	movq	_ATA_SUPPORT_FREEFALL@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	104(%r15), %ecx
	andl	%eax, %ecx
	movq	%r14, %rsi
	cmoveq	%rbx, %rsi
	andl	108(%r15), %eax
	movq	%r14, %rdx
	cmoveq	%rbx, %rdx
	leaq	L_.str.75(%rip), %rdi
	xorl	%eax, %eax
	callq	_printf
	movq	_ATA_SUPPORT_SENSE_REPORT@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	104(%r15), %ecx
	andl	%eax, %ecx
	movq	%r14, %rsi
	cmoveq	%rbx, %rsi
	andl	108(%r15), %eax
	movq	%r14, %rdx
	cmoveq	%rbx, %rdx
	leaq	L_.str.76(%rip), %rdi
	xorl	%eax, %eax
	callq	_printf
	movq	_ATA_SUPPORT_EPC@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	104(%r15), %ecx
	andl	%eax, %ecx
	movq	%r14, %rsi
	cmoveq	%rbx, %rsi
	andl	108(%r15), %eax
	movq	%r14, %rdx
	cmoveq	%rbx, %rdx
	leaq	L_.str.77(%rip), %rdi
	xorl	%eax, %eax
	callq	_printf
	movq	_ATA_SUPPORT_DSN@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	104(%r15), %ecx
	andl	%eax, %ecx
	movq	%r14, %rsi
	cmoveq	%rbx, %rsi
	andl	108(%r15), %eax
	movq	%r14, %rdx
	cmoveq	%rbx, %rdx
	leaq	L_.str.78(%rip), %rdi
	xorl	%eax, %eax
	callq	_printf
	leaq	L_.str.79(%rip), %rdi
	xorl	%eax, %eax
	callq	_printf
	movq	_ATA_SUPPORT_DSM_TRIM@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movq	%rbx, %rdi
	testl	%eax, 116(%r15)
	je	LBB0_72
## %bb.67:
	leaq	L_str.101(%rip), %rdi
	callq	_puts
	leaq	L_.str.81(%rip), %rdi
	xorl	%eax, %eax
	callq	_printf
	movl	120(%r15), %esi
	testl	%esi, %esi
	je	LBB0_69
## %bb.68:
	leaq	L_.str.83(%rip), %rdi
	xorl	%eax, %eax
	callq	_printf
	jmp	LBB0_70
LBB0_69:
	leaq	L_str.105(%rip), %rdi
	callq	_puts
LBB0_70:
	leaq	L_.str.84(%rip), %rdi
	xorl	%eax, %eax
	callq	_printf
	movl	88(%r15), %eax
	movq	_ATA_SUPPORT_DRAT@GOTPCREL(%rip), %rcx
	movq	%rbx, %rdi
	testl	%eax, (%rcx)
	je	LBB0_72
## %bb.71:
	movq	_ATA_SUPPORT_RZAT@GOTPCREL(%rip), %rcx
	testl	%eax, (%rcx)
	leaq	L_str.103(%rip), %rax
	leaq	L_str.104(%rip), %rdi
	cmoveq	%rax, %rdi
LBB0_72:
	callq	_puts
	movl	124(%r15), %eax
	movl	%eax, %ecx
	andl	$49152, %ecx                    ## imm = 0xC000
	movq	_ATA_SUPPORT_TCG@GOTPCREL(%rip), %rdx
	andl	(%rdx), %eax
	movq	%r14, %rsi
	cmoveq	%rbx, %rsi
	cmpl	$16384, %ecx                    ## imm = 0x4000
	cmovneq	%rbx, %rsi
	leaq	L_.str.87(%rip), %rdi
	xorl	%eax, %eax
	callq	_printf
	movq	_ATA_ENCRYPTS_ALL_USER_DATA@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	andl	88(%r15), %eax
	cmovneq	%r14, %rbx
	leaq	L_.str.88(%rip), %rdi
	movq	%rbx, %rsi
	xorl	%eax, %eax
	callq	_printf
	leaq	L_.str.89(%rip), %rdi
	xorl	%eax, %eax
	callq	_printf
	movl	128(%r15), %eax
	movq	_ATA_SUPPORT_SANITIZE@GOTPCREL(%rip), %rcx
	testl	%eax, (%rcx)
	je	LBB0_74
## %bb.73:
	movq	_ATA_SUPPORT_BLOCK_ERASE_EXT@GOTPCREL(%rip), %rcx
	movl	(%rcx), %ecx
	andl	%eax, %ecx
	leaq	L_.str.92(%rip), %rdi
	leaq	L_.str.91(%rip), %rsi
	cmoveq	%rdi, %rsi
	movq	_ATA_SUPPORT_OVERWRITE_EXT@GOTPCREL(%rip), %rcx
	movl	(%rcx), %ecx
	andl	%eax, %ecx
	leaq	L_.str.93(%rip), %rdx
	cmoveq	%rdi, %rdx
	movq	_ATA_SUPPORT_CRYPTO_SCRAMBLE_EXT@GOTPCREL(%rip), %rcx
	andl	(%rcx), %eax
	leaq	L_.str.94(%rip), %rcx
	cmoveq	%rdi, %rcx
	leaq	L_.str.90(%rip), %rdi
	xorl	%eax, %eax
	callq	_printf
	movq	_ATA_SUPPORT_SANITIZE_ALLOWED@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	andl	128(%r15), %eax
	leaq	L_str.107(%rip), %rbx
	movq	%r14, %rsi
	cmoveq	%rbx, %rsi
	leaq	L_.str.95(%rip), %rdi
	xorl	%eax, %eax
	callq	_printf
	movq	_ATA_SUPPORT_ANTIFREEZE_LOCK_EXT@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	andl	128(%r15), %eax
	cmoveq	%rbx, %r14
	leaq	L_.str.96(%rip), %rdi
	movq	%r14, %rsi
	xorl	%eax, %eax
	addq	$8, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_printf                         ## TAILCALL
LBB0_74:
	leaq	L_str.107(%rip), %rdi
	addq	$8, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_puts                           ## TAILCALL
	.cfi_endproc
                                        ## -- End function
	.section	__TEXT,__cstring,cstring_literals
L_.str.1:                               ## @.str.1
	.asciz	"protocol              "

	.comm	_ATA_PROTO_CFA,4,2              ## @ATA_PROTO_CFA
L_.str.2:                               ## @.str.2
	.asciz	"CFA"

	.comm	_ATA_PROTO_ATAPI,4,2            ## @ATA_PROTO_ATAPI
L_.str.3:                               ## @.str.3
	.asciz	"ATAPI"

L_.str.4:                               ## @.str.4
	.asciz	"ATA"

L_.str.5:                               ## @.str.5
	.asciz	"%s"

L_.str.6:                               ## @.str.6
	.asciz	"%s-%d"

L_.str.7:                               ## @.str.7
	.asciz	"%s8-ACS"

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

	.comm	_ATA_SATA_GEN3,4,2              ## @ATA_SATA_GEN3
	.comm	_ATA_SATA_GEN2,4,2              ## @ATA_SATA_GEN2
	.comm	_ATA_SATA_GEN1,4,2              ## @ATA_SATA_GEN1
L_.str.13:                              ## @.str.13
	.asciz	"device model          %.40s\n"

L_.str.14:                              ## @.str.14
	.asciz	"firmware revision     %.8s\n"

L_.str.15:                              ## @.str.15
	.asciz	"serial number         %.20s\n"

	.comm	_ATA_SUPPORT_64BITWWN,4,2       ## @ATA_SUPPORT_64BITWWN
L_.str.16:                              ## @.str.16
	.asciz	"WWN                   %04x%04x%04x%04x\n"

L_.str.17:                              ## @.str.17
	.asciz	"additional product id %.8s\n"

	.comm	_ATA_SUPPORT_MEDIASN,4,2        ## @ATA_SUPPORT_MEDIASN
L_.str.18:                              ## @.str.18
	.asciz	"media serial number   %.30s\n"

L_.str.19:                              ## @.str.19
	.asciz	"cylinders             %d\n"

L_.str.20:                              ## @.str.20
	.asciz	"heads                 %d\n"

L_.str.21:                              ## @.str.21
	.asciz	"sectors/track         %d\n"

L_.str.22:                              ## @.str.22
	.asciz	"sector size           logical %u, physical %lu, offset %lu\n"

	.comm	_ATA_SUPPORT_CFA,4,2            ## @ATA_SUPPORT_CFA
L_.str.24:                              ## @.str.24
	.asciz	"LBA%ssupported         "

	.comm	_ATA_SUPPORT_LBA,4,2            ## @ATA_SUPPORT_LBA
L_.str.25:                              ## @.str.25
	.asciz	" "

L_.str.26:                              ## @.str.26
	.asciz	" not "

L_.str.27:                              ## @.str.27
	.asciz	"%d sectors\n"

L_.str.28:                              ## @.str.28
	.asciz	"LBA48%ssupported       "

	.comm	_ATA_SUPPORT_ADDRESS48,4,2      ## @ATA_SUPPORT_ADDRESS48
L_.str.30:                              ## @.str.30
	.asciz	"PIO supported         PIO"

	.comm	_ATA_SUPPORT_IORDY,4,2          ## @ATA_SUPPORT_IORDY
L_.str.36:                              ## @.str.36
	.asciz	" w/o IORDY"

L_.str.37:                              ## @.str.37
	.asciz	"DMA%ssupported         "

	.comm	_ATA_SUPPORT_DMA,4,2            ## @ATA_SUPPORT_DMA
L_.str.38:                              ## @.str.38
	.asciz	"WDMA"

	.comm	_ATA_FLAG_88,4,2                ## @ATA_FLAG_88
L_.str.39:                              ## @.str.39
	.asciz	"UDMA"

L_.str.43:                              ## @.str.43
	.asciz	"media RPM             %d\n"

L_.str.44:                              ## @.str.44
	.asciz	"Zoned-Device Commands "

	.comm	_ATA_SUPPORT_ZONE_MASK,4,2      ## @ATA_SUPPORT_ZONE_MASK
L_.str.49:                              ## @.str.49
	.asciz	"read ahead                     %s\t%s\n"

	.comm	_ATA_SUPPORT_LOOKAHEAD,4,2      ## @ATA_SUPPORT_LOOKAHEAD
L_.str.52:                              ## @.str.52
	.asciz	"write cache                    %s\t%s\n"

	.comm	_ATA_SUPPORT_WRITECACHE,4,2     ## @ATA_SUPPORT_WRITECACHE
L_.str.53:                              ## @.str.53
	.asciz	"flush cache                    %s\t%s\n"

	.comm	_ATA_SUPPORT_FLUSHCACHE,4,2     ## @ATA_SUPPORT_FLUSHCACHE
L_.str.54:                              ## @.str.54
	.asciz	"Native Command Queuing (NCQ)   "

	.comm	_ATA_SUPPORT_NCQ,4,2            ## @ATA_SUPPORT_NCQ
L_.str.55:                              ## @.str.55
	.asciz	"yes\t\t%d tags\n"

L_.str.56:                              ## @.str.56
	.asciz	"NCQ Priority Information       %s\n"

	.comm	_ATA_SUPPORT_NCQ_PRIO,4,2       ## @ATA_SUPPORT_NCQ_PRIO
L_.str.57:                              ## @.str.57
	.asciz	"NCQ Non-Data Command           %s\n"

	.comm	_ATA_SUPPORT_NCQ_NON_DATA,4,2   ## @ATA_SUPPORT_NCQ_NON_DATA
L_.str.58:                              ## @.str.58
	.asciz	"NCQ Streaming                  %s\n"

	.comm	_ATA_SUPPORT_NCQ_STREAM,4,2     ## @ATA_SUPPORT_NCQ_STREAM
L_.str.59:                              ## @.str.59
	.asciz	"Receive & Send FPDMA Queued    %s\n"

	.comm	_ATA_SUPPORT_RCVSND_FPDMA_QUEUED,4,2 ## @ATA_SUPPORT_RCVSND_FPDMA_QUEUED
L_.str.60:                              ## @.str.60
	.asciz	"NCQ Autosense                  %s\n"

	.comm	_ATA_SUPPORT_NCQ_AUTOSENSE,4,2  ## @ATA_SUPPORT_NCQ_AUTOSENSE
L_.str.61:                              ## @.str.61
	.asciz	"SMART                          %s\t%s\n"

	.comm	_ATA_SUPPORT_SMART,4,2          ## @ATA_SUPPORT_SMART
L_.str.62:                              ## @.str.62
	.asciz	"security                       %s\t%s\n"

	.comm	_ATA_SUPPORT_SECURITY,4,2       ## @ATA_SUPPORT_SECURITY
L_.str.63:                              ## @.str.63
	.asciz	"power management               %s\t%s\n"

	.comm	_ATA_SUPPORT_POWERMGT,4,2       ## @ATA_SUPPORT_POWERMGT
L_.str.64:                              ## @.str.64
	.asciz	"microcode download             %s\t%s\n"

	.comm	_ATA_SUPPORT_MICROCODE,4,2      ## @ATA_SUPPORT_MICROCODE
L_.str.65:                              ## @.str.65
	.asciz	"advanced power management      %s\t%s"

	.comm	_ATA_SUPPORT_APM,4,2            ## @ATA_SUPPORT_APM
L_.str.66:                              ## @.str.66
	.asciz	"\t%d/0x%02X\n"

L_.str.67:                              ## @.str.67
	.asciz	"automatic acoustic management  %s\t%s"

	.comm	_ATA_SUPPORT_AUTOACOUSTIC,4,2   ## @ATA_SUPPORT_AUTOACOUSTIC
L_.str.68:                              ## @.str.68
	.asciz	"\t%d/0x%02X\t%d/0x%02X\n"

L_.str.69:                              ## @.str.69
	.asciz	"media status notification      %s\t%s\n"

	.comm	_ATA_SUPPORT_NOTIFY,4,2         ## @ATA_SUPPORT_NOTIFY
L_.str.70:                              ## @.str.70
	.asciz	"power-up in Standby            %s\t%s\n"

	.comm	_ATA_SUPPORT_STANDBY,4,2        ## @ATA_SUPPORT_STANDBY
L_.str.71:                              ## @.str.71
	.asciz	"write-read-verify              %s\t%s"

	.comm	_ATA_SUPPORT_WRITEREADVERIFY,4,2 ## @ATA_SUPPORT_WRITEREADVERIFY
L_.str.72:                              ## @.str.72
	.asciz	"\t%d/0x%x\n"

L_.str.73:                              ## @.str.73
	.asciz	"unload                         %s\t%s\n"

	.comm	_ATA_SUPPORT_UNLOAD,4,2         ## @ATA_SUPPORT_UNLOAD
L_.str.74:                              ## @.str.74
	.asciz	"general purpose logging        %s\t%s\n"

	.comm	_ATA_SUPPORT_GENLOG,4,2         ## @ATA_SUPPORT_GENLOG
L_.str.75:                              ## @.str.75
	.asciz	"free-fall                      %s\t%s\n"

	.comm	_ATA_SUPPORT_FREEFALL,4,2       ## @ATA_SUPPORT_FREEFALL
L_.str.76:                              ## @.str.76
	.asciz	"sense data reporting           %s\t%s\n"

	.comm	_ATA_SUPPORT_SENSE_REPORT,4,2   ## @ATA_SUPPORT_SENSE_REPORT
L_.str.77:                              ## @.str.77
	.asciz	"extended power conditions      %s\t%s\n"

	.comm	_ATA_SUPPORT_EPC,4,2            ## @ATA_SUPPORT_EPC
L_.str.78:                              ## @.str.78
	.asciz	"device statistics notification %s\t%s\n"

	.comm	_ATA_SUPPORT_DSN,4,2            ## @ATA_SUPPORT_DSN
L_.str.79:                              ## @.str.79
	.asciz	"Data Set Management (DSM/TRIM) "

	.comm	_ATA_SUPPORT_DSM_TRIM,4,2       ## @ATA_SUPPORT_DSM_TRIM
L_.str.81:                              ## @.str.81
	.asciz	"DSM - max 512byte blocks       "

L_.str.83:                              ## @.str.83
	.asciz	"yes              %d\n"

L_.str.84:                              ## @.str.84
	.asciz	"DSM - deterministic read       "

	.comm	_ATA_SUPPORT_DRAT,4,2           ## @ATA_SUPPORT_DRAT
	.comm	_ATA_SUPPORT_RZAT,4,2           ## @ATA_SUPPORT_RZAT
L_.str.87:                              ## @.str.87
	.asciz	"Trusted Computing              %s\n"

	.comm	_ATA_SUPPORT_TCG,4,2            ## @ATA_SUPPORT_TCG
L_.str.88:                              ## @.str.88
	.asciz	"encrypts all user data         %s\n"

	.comm	_ATA_ENCRYPTS_ALL_USER_DATA,4,2 ## @ATA_ENCRYPTS_ALL_USER_DATA
L_.str.89:                              ## @.str.89
	.asciz	"Sanitize                       "

	.comm	_ATA_SUPPORT_SANITIZE,4,2       ## @ATA_SUPPORT_SANITIZE
L_.str.90:                              ## @.str.90
	.asciz	"yes\t\t%s%s%s\n"

	.comm	_ATA_SUPPORT_BLOCK_ERASE_EXT,4,2 ## @ATA_SUPPORT_BLOCK_ERASE_EXT
L_.str.91:                              ## @.str.91
	.asciz	"block, "

L_.str.92:                              ## @.str.92
	.space	1

	.comm	_ATA_SUPPORT_OVERWRITE_EXT,4,2  ## @ATA_SUPPORT_OVERWRITE_EXT
L_.str.93:                              ## @.str.93
	.asciz	"overwrite, "

	.comm	_ATA_SUPPORT_CRYPTO_SCRAMBLE_EXT,4,2 ## @ATA_SUPPORT_CRYPTO_SCRAMBLE_EXT
L_.str.94:                              ## @.str.94
	.asciz	"crypto"

L_.str.95:                              ## @.str.95
	.asciz	"Sanitize - commands allowed    %s\n"

	.comm	_ATA_SUPPORT_SANITIZE_ALLOWED,4,2 ## @ATA_SUPPORT_SANITIZE_ALLOWED
L_.str.96:                              ## @.str.96
	.asciz	"Sanitize - antifreeze lock     %s\n"

	.comm	_ATA_SUPPORT_ANTIFREEZE_LOCK_EXT,4,2 ## @ATA_SUPPORT_ANTIFREEZE_LOCK_EXT
L_str:                                  ## @str
	.asciz	"host aware"

L_str.97:                               ## @str.97
	.asciz	"\nFeature                      Support  Enabled   Value           Vendor"

L_str.101:                              ## @str.101
	.asciz	"yes"

L_str.103:                              ## @str.103
	.asciz	"yes              any value"

L_str.104:                              ## @str.104
	.asciz	"yes              zeroed"

L_str.105:                              ## @str.105
	.asciz	"yes              not specified"

L_str.106:                              ## @str.106
	.asciz	"device managed"

L_str.107:                              ## @str.107
	.asciz	"no"

L_str.108:                              ## @str.108
	.asciz	"media RPM             non-rotating"

L_str.109:                              ## @str.109
	.asciz	"CFA supported"

L_str.110:                              ## @str.110
	.asciz	" SATA"

L_str.111:                              ## @str.111
	.asciz	" SATA 1.x"

L_str.112:                              ## @str.112
	.asciz	" SATA 2.x"

L_str.113:                              ## @str.113
	.asciz	" SATA 3.x"

	.no_dead_strip	_atacapprint
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function atacapprint
_atacapprint:                           ; @atacapprint
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #96
	.cfi_def_cfa_offset 96
	stp	x24, x23, [sp, #32]             ; 16-byte Folded Spill
	stp	x22, x21, [sp, #48]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #64]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #80]             ; 16-byte Folded Spill
	add	x29, sp, #80
	.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
	mov	x19, x0
	ldr	w21, [x0, #208]
	ldr	w23, [x0, #200]
	mov	w0, #10
	bl	_putchar
Lloh0:
	adrp	x0, l_.str.1@PAGE
Lloh1:
	add	x0, x0, l_.str.1@PAGEOFF
	bl	_printf
	ldr	w8, [x19]
Lloh2:
	adrp	x22, _ATA_PROTO_CFA@GOTPAGE
Lloh3:
	ldr	x22, [x22, _ATA_PROTO_CFA@GOTPAGEOFF]
	ldr	w9, [x22]
Lloh4:
	adrp	x10, _ATA_PROTO_ATAPI@GOTPAGE
Lloh5:
	ldr	x10, [x10, _ATA_PROTO_ATAPI@GOTPAGEOFF]
Lloh6:
	ldr	w10, [x10]
Lloh7:
	adrp	x11, l_.str.3@PAGE
Lloh8:
	add	x11, x11, l_.str.3@PAGEOFF
Lloh9:
	adrp	x12, l_.str.4@PAGE
Lloh10:
	add	x12, x12, l_.str.4@PAGEOFF
	tst	w10, w8
	csel	x10, x12, x11, eq
Lloh11:
	adrp	x11, l_.str.2@PAGE
Lloh12:
	add	x11, x11, l_.str.2@PAGEOFF
	cmp	w8, w9
	csel	x24, x11, x10, eq
	ldr	w0, [x19, #164]
	bl	_ata_version
	cbz	w0, LBB0_3
; %bb.1:
	ldr	w0, [x19, #164]
	bl	_ata_version
	mov	x20, x0
	ldr	w0, [x19, #164]
	bl	_ata_version
                                        ; kill: def $w0 killed $w0 def $x0
	cmp	w20, #7
	b.gt	LBB0_4
; %bb.2:
	stp	x24, x0, [sp]
Lloh13:
	adrp	x0, l_.str.6@PAGE
Lloh14:
	add	x0, x0, l_.str.6@PAGEOFF
	b	LBB0_7
LBB0_3:
	str	x24, [sp]
Lloh15:
	adrp	x0, l_.str.5@PAGE
Lloh16:
	add	x0, x0, l_.str.5@PAGEOFF
	b	LBB0_7
LBB0_4:
	cmp	w0, #8
	b.ne	LBB0_6
; %bb.5:
	str	x24, [sp]
Lloh17:
	adrp	x0, l_.str.7@PAGE
Lloh18:
	add	x0, x0, l_.str.7@PAGEOFF
	b	LBB0_7
LBB0_6:
	ldr	w0, [x19, #164]
	bl	_ata_version
	sub	w8, w0, #7
	stp	x8, x24, [sp]
Lloh19:
	adrp	x0, l_.str.8@PAGE
Lloh20:
	add	x0, x0, l_.str.8@PAGEOFF
LBB0_7:
	bl	_printf
	ldr	w8, [x19, #4]
	cbz	w8, LBB0_9
; %bb.8:
	mov	w9, #65535
	cmp	w8, w9
	b.ne	LBB0_10
LBB0_9:
	mov	w0, #10
	bl	_putchar
	b	LBB0_18
LBB0_10:
Lloh21:
	adrp	x9, _ATA_SATA_GEN3@GOTPAGE
Lloh22:
	ldr	x9, [x9, _ATA_SATA_GEN3@GOTPAGEOFF]
Lloh23:
	ldr	w9, [x9]
	tst	w9, w8
	b.eq	LBB0_12
; %bb.11:
Lloh24:
	adrp	x0, l_str.113@PAGE
Lloh25:
	add	x0, x0, l_str.113@PAGEOFF
	b	LBB0_17
LBB0_12:
Lloh26:
	adrp	x9, _ATA_SATA_GEN2@GOTPAGE
Lloh27:
	ldr	x9, [x9, _ATA_SATA_GEN2@GOTPAGEOFF]
Lloh28:
	ldr	w9, [x9]
	tst	w9, w8
	b.eq	LBB0_14
; %bb.13:
Lloh29:
	adrp	x0, l_str.112@PAGE
Lloh30:
	add	x0, x0, l_str.112@PAGEOFF
	b	LBB0_17
LBB0_14:
Lloh31:
	adrp	x9, _ATA_SATA_GEN1@GOTPAGE
Lloh32:
	ldr	x9, [x9, _ATA_SATA_GEN1@GOTPAGEOFF]
Lloh33:
	ldr	w9, [x9]
	tst	w9, w8
	b.eq	LBB0_16
; %bb.15:
Lloh34:
	adrp	x0, l_str.111@PAGE
Lloh35:
	add	x0, x0, l_str.111@PAGEOFF
	b	LBB0_17
LBB0_16:
Lloh36:
	adrp	x0, l_str.110@PAGE
Lloh37:
	add	x0, x0, l_str.110@PAGEOFF
LBB0_17:
	bl	_puts
LBB0_18:
	ldr	x8, [x19, #8]
	str	x8, [sp]
Lloh38:
	adrp	x0, l_.str.13@PAGE
Lloh39:
	add	x0, x0, l_.str.13@PAGEOFF
	bl	_printf
	ldr	x8, [x19, #16]
	str	x8, [sp]
Lloh40:
	adrp	x0, l_.str.14@PAGE
Lloh41:
	add	x0, x0, l_.str.14@PAGEOFF
	bl	_printf
	ldr	x8, [x19, #24]
	str	x8, [sp]
Lloh42:
	adrp	x0, l_.str.15@PAGE
Lloh43:
	add	x0, x0, l_.str.15@PAGEOFF
	bl	_printf
	ldr	w8, [x19, #132]
Lloh44:
	adrp	x9, _ATA_SUPPORT_64BITWWN@GOTPAGE
Lloh45:
	ldr	x9, [x9, _ATA_SUPPORT_64BITWWN@GOTPAGEOFF]
Lloh46:
	ldr	w9, [x9]
	tst	w9, w8
	b.eq	LBB0_20
; %bb.19:
	ldr	x8, [x19, #32]
	ldp	w9, w10, [x8]
	ldp	w11, w8, [x8, #8]
	stp	x11, x8, [sp, #16]
	stp	x9, x10, [sp]
Lloh47:
	adrp	x0, l_.str.16@PAGE
Lloh48:
	add	x0, x0, l_.str.16@PAGEOFF
	bl	_printf
LBB0_20:
	orr	w23, w21, w23, lsl #16
	ldr	x8, [x19, #40]
	str	x8, [sp]
Lloh49:
	adrp	x0, l_.str.17@PAGE
Lloh50:
	add	x0, x0, l_.str.17@PAGEOFF
	bl	_printf
	ldr	w8, [x19, #132]
Lloh51:
	adrp	x9, _ATA_SUPPORT_MEDIASN@GOTPAGE
Lloh52:
	ldr	x9, [x9, _ATA_SUPPORT_MEDIASN@GOTPAGEOFF]
Lloh53:
	ldr	w9, [x9]
	tst	w9, w8
	b.eq	LBB0_22
; %bb.21:
	ldr	x8, [x19, #48]
	str	x8, [sp]
Lloh54:
	adrp	x0, l_.str.18@PAGE
Lloh55:
	add	x0, x0, l_.str.18@PAGEOFF
	bl	_printf
LBB0_22:
	ldr	w8, [x19, #56]
	str	x8, [sp]
Lloh56:
	adrp	x0, l_.str.19@PAGE
Lloh57:
	add	x0, x0, l_.str.19@PAGEOFF
	bl	_printf
	ldr	w8, [x19, #60]
	str	x8, [sp]
Lloh58:
	adrp	x0, l_.str.20@PAGE
Lloh59:
	add	x0, x0, l_.str.20@PAGEOFF
	bl	_printf
	ldr	w8, [x19, #64]
	str	x8, [sp]
Lloh60:
	adrp	x0, l_.str.21@PAGE
Lloh61:
	add	x0, x0, l_.str.21@PAGEOFF
	bl	_printf
	mov	x0, x19
	bl	_ata_logical_sector_size
	mov	x20, x0
	mov	x0, x19
	bl	_ata_physical_sector_size
	mov	x21, x0
	mov	x0, x19
	bl	_ata_logical_sector_offset
	stp	x21, x0, [sp, #8]
	str	x20, [sp]
Lloh62:
	adrp	x0, l_.str.22@PAGE
Lloh63:
	add	x0, x0, l_.str.22@PAGEOFF
	bl	_printf
	ldr	w8, [x19]
	ldr	w9, [x22]
	cmp	w8, w9
	b.eq	LBB0_24
; %bb.23:
	ldr	w8, [x19, #144]
Lloh64:
	adrp	x9, _ATA_SUPPORT_CFA@GOTPAGE
Lloh65:
	ldr	x9, [x9, _ATA_SUPPORT_CFA@GOTPAGEOFF]
Lloh66:
	ldr	w9, [x9]
	tst	w9, w8
	b.eq	LBB0_25
LBB0_24:
Lloh67:
	adrp	x0, l_str.109@PAGE
Lloh68:
	add	x0, x0, l_str.109@PAGEOFF
	bl	_puts
LBB0_25:
	ldr	w8, [x19, #68]
Lloh69:
	adrp	x9, _ATA_SUPPORT_LBA@GOTPAGE
Lloh70:
	ldr	x9, [x9, _ATA_SUPPORT_LBA@GOTPAGEOFF]
Lloh71:
	ldr	w9, [x9]
Lloh72:
	adrp	x20, l_.str.25@PAGE
Lloh73:
	add	x20, x20, l_.str.25@PAGEOFF
Lloh74:
	adrp	x21, l_.str.26@PAGE
Lloh75:
	add	x21, x21, l_.str.26@PAGEOFF
	tst	w9, w8
	csel	x8, x21, x20, eq
	str	x8, [sp]
Lloh76:
	adrp	x0, l_.str.24@PAGE
Lloh77:
	add	x0, x0, l_.str.24@PAGEOFF
	bl	_printf
	cbz	w23, LBB0_27
; %bb.26:
	str	x23, [sp]
Lloh78:
	adrp	x0, l_.str.27@PAGE
Lloh79:
	add	x0, x0, l_.str.27@PAGEOFF
	bl	_printf
	b	LBB0_28
LBB0_27:
	mov	w0, #10
	bl	_putchar
LBB0_28:
	ldr	w8, [x19, #144]
Lloh80:
	adrp	x9, _ATA_SUPPORT_ADDRESS48@GOTPAGE
Lloh81:
	ldr	x9, [x9, _ATA_SUPPORT_ADDRESS48@GOTPAGEOFF]
Lloh82:
	ldr	w9, [x9]
	tst	w9, w8
	csel	x8, x21, x20, eq
	str	x8, [sp]
Lloh83:
	adrp	x0, l_.str.28@PAGE
Lloh84:
	add	x0, x0, l_.str.28@PAGEOFF
	bl	_printf
	mov	w0, #10
	bl	_putchar
Lloh85:
	adrp	x0, l_.str.30@PAGE
Lloh86:
	add	x0, x0, l_.str.30@PAGEOFF
	bl	_printf
	mov	x0, x19
	bl	_ata_max_pmode
	sub	w8, w0, #130
	mov	w9, #182
	sub	w9, w9, w0
	mov	w10, #48
	cmp	w8, #4
	csel	w0, w9, w10, lo
	bl	_putchar
	ldr	w8, [x19, #68]
Lloh87:
	adrp	x9, _ATA_SUPPORT_IORDY@GOTPAGE
Lloh88:
	ldr	x9, [x9, _ATA_SUPPORT_IORDY@GOTPAGEOFF]
Lloh89:
	ldr	w9, [x9]
	tst	w9, w8
	b.ne	LBB0_30
; %bb.29:
Lloh90:
	adrp	x0, l_.str.36@PAGE
Lloh91:
	add	x0, x0, l_.str.36@PAGEOFF
	bl	_printf
LBB0_30:
	mov	w0, #10
	bl	_putchar
	ldr	w8, [x19, #68]
Lloh92:
	adrp	x22, _ATA_SUPPORT_DMA@GOTPAGE
Lloh93:
	ldr	x22, [x22, _ATA_SUPPORT_DMA@GOTPAGEOFF]
	ldr	w9, [x22]
	tst	w9, w8
	csel	x8, x21, x20, eq
	str	x8, [sp]
Lloh94:
	adrp	x0, l_.str.37@PAGE
Lloh95:
	add	x0, x0, l_.str.37@PAGEOFF
	bl	_printf
	ldr	w8, [x19, #68]
	ldr	w9, [x22]
	tst	w9, w8
	b.eq	LBB0_58
; %bb.31:
	ldrb	w8, [x19, #72]
	cbz	w8, LBB0_40
; %bb.32:
Lloh96:
	adrp	x0, l_.str.38@PAGE
Lloh97:
	add	x0, x0, l_.str.38@PAGEOFF
	bl	_printf
	ldr	w8, [x19, #72]
	tbnz	w8, #2, LBB0_36
; %bb.33:
	tbnz	w8, #1, LBB0_37
; %bb.34:
	tbz	w8, #0, LBB0_39
; %bb.35:
	mov	w0, #48
	b	LBB0_38
LBB0_36:
	mov	w0, #50
	b	LBB0_38
LBB0_37:
	mov	w0, #49
LBB0_38:
	bl	_putchar
LBB0_39:
	mov	w0, #32
	bl	_putchar
LBB0_40:
	ldr	w8, [x19, #76]
Lloh98:
	adrp	x9, _ATA_FLAG_88@GOTPAGE
Lloh99:
	ldr	x9, [x9, _ATA_FLAG_88@GOTPAGEOFF]
Lloh100:
	ldr	w9, [x9]
	tst	w9, w8
	b.eq	LBB0_58
; %bb.41:
	ldrb	w8, [x19, #80]
	cbz	w8, LBB0_58
; %bb.42:
Lloh101:
	adrp	x0, l_.str.39@PAGE
Lloh102:
	add	x0, x0, l_.str.39@PAGEOFF
	bl	_printf
	ldr	w8, [x19, #80]
	tbnz	w8, #6, LBB0_50
; %bb.43:
	tbnz	w8, #5, LBB0_51
; %bb.44:
	tbnz	w8, #4, LBB0_52
; %bb.45:
	tbnz	w8, #3, LBB0_53
; %bb.46:
	tbnz	w8, #2, LBB0_54
; %bb.47:
	tbnz	w8, #1, LBB0_55
; %bb.48:
	tbz	w8, #0, LBB0_57
; %bb.49:
	mov	w0, #48
	b	LBB0_56
LBB0_50:
	mov	w0, #54
	b	LBB0_56
LBB0_51:
	mov	w0, #53
	b	LBB0_56
LBB0_52:
	mov	w0, #52
	b	LBB0_56
LBB0_53:
	mov	w0, #51
	b	LBB0_56
LBB0_54:
	mov	w0, #50
	b	LBB0_56
LBB0_55:
	mov	w0, #49
LBB0_56:
	bl	_putchar
LBB0_57:
	mov	w0, #32
	bl	_putchar
LBB0_58:
	mov	w0, #10
	bl	_putchar
	ldr	w8, [x19, #84]
	cmp	w8, #1
	b.ne	LBB0_60
; %bb.59:
Lloh103:
	adrp	x0, l_str.108@PAGE
Lloh104:
	add	x0, x0, l_str.108@PAGEOFF
	bl	_puts
	b	LBB0_62
LBB0_60:
	sub	w9, w8, #1025
	mov	w10, #64509
	cmp	w9, w10
	b.hi	LBB0_62
; %bb.61:
	str	x8, [sp]
Lloh105:
	adrp	x0, l_.str.43@PAGE
Lloh106:
	add	x0, x0, l_.str.43@PAGEOFF
	bl	_printf
LBB0_62:
Lloh107:
	adrp	x0, l_.str.44@PAGE
Lloh108:
	add	x0, x0, l_.str.44@PAGEOFF
	bl	_printf
	ldr	w8, [x19, #88]
Lloh109:
	adrp	x9, _ATA_SUPPORT_ZONE_MASK@GOTPAGE
Lloh110:
	ldr	x9, [x9, _ATA_SUPPORT_ZONE_MASK@GOTPAGEOFF]
Lloh111:
	ldr	w9, [x9]
	and	w8, w9, w8
Lloh112:
	adrp	x23, l_str.107@PAGE
Lloh113:
	add	x23, x23, l_str.107@PAGEOFF
Lloh114:
	adrp	x9, l_str@PAGE
Lloh115:
	add	x9, x9, l_str@PAGEOFF
	cmp	w8, #128
	csel	x9, x9, x23, eq
Lloh116:
	adrp	x10, l_str.106@PAGE
Lloh117:
	add	x10, x10, l_str.106@PAGEOFF
	cmp	w8, #129
	csel	x0, x10, x9, eq
	bl	_puts
Lloh118:
	adrp	x0, l_str.97@PAGE
Lloh119:
	add	x0, x0, l_str.97@PAGEOFF
	bl	_puts
	ldr	w8, [x19, #148]
Lloh120:
	adrp	x9, _ATA_SUPPORT_LOOKAHEAD@GOTPAGE
Lloh121:
	ldr	x9, [x9, _ATA_SUPPORT_LOOKAHEAD@GOTPAGEOFF]
Lloh122:
	adrp	x24, l_str.101@PAGE
Lloh123:
	add	x24, x24, l_str.101@PAGEOFF
Lloh124:
	ldr	w9, [x9]
	tst	w9, w8
	csel	x8, x23, x24, eq
	ldr	w10, [x19, #136]
	tst	w10, w9
	csel	x9, x23, x24, eq
	stp	x8, x9, [sp]
Lloh125:
	adrp	x0, l_.str.49@PAGE
Lloh126:
	add	x0, x0, l_.str.49@PAGEOFF
	bl	_printf
	ldr	w8, [x19, #148]
Lloh127:
	adrp	x9, _ATA_SUPPORT_WRITECACHE@GOTPAGE
Lloh128:
	ldr	x9, [x9, _ATA_SUPPORT_WRITECACHE@GOTPAGEOFF]
Lloh129:
	ldr	w9, [x9]
	tst	w9, w8
	csel	x8, x23, x24, eq
	ldr	w10, [x19, #136]
	tst	w10, w9
	csel	x9, x23, x24, eq
	stp	x8, x9, [sp]
Lloh130:
	adrp	x0, l_.str.52@PAGE
Lloh131:
	add	x0, x0, l_.str.52@PAGEOFF
	bl	_printf
Lloh132:
	adrp	x8, _ATA_SUPPORT_FLUSHCACHE@GOTPAGE
Lloh133:
	ldr	x8, [x8, _ATA_SUPPORT_FLUSHCACHE@GOTPAGEOFF]
Lloh134:
	ldr	w8, [x8]
	ldp	w10, w9, [x19, #140]
	tst	w8, w9
	csel	x9, x23, x24, eq
	tst	w10, w8
	csel	x8, x23, x24, eq
	stp	x9, x8, [sp]
Lloh135:
	adrp	x0, l_.str.53@PAGE
Lloh136:
	add	x0, x0, l_.str.53@PAGEOFF
	bl	_printf
Lloh137:
	adrp	x0, l_.str.54@PAGE
Lloh138:
	add	x0, x0, l_.str.54@PAGEOFF
	bl	_printf
	mov	x0, x19
	bl	_atasata
	cbz	x0, LBB0_65
; %bb.63:
	ldr	w8, [x19, #4]
Lloh139:
	adrp	x9, _ATA_SUPPORT_NCQ@GOTPAGE
Lloh140:
	ldr	x9, [x9, _ATA_SUPPORT_NCQ@GOTPAGEOFF]
Lloh141:
	ldr	w9, [x9]
	tst	w9, w8
	b.eq	LBB0_65
; %bb.64:
	ldr	w0, [x19, #160]
	bl	_ATA_QUEUE_LEN
	add	w8, w0, #1
	str	x8, [sp]
Lloh142:
	adrp	x0, l_.str.55@PAGE
Lloh143:
	add	x0, x0, l_.str.55@PAGEOFF
	bl	_printf
	ldr	w8, [x19, #4]
Lloh144:
	adrp	x9, _ATA_SUPPORT_NCQ_PRIO@GOTPAGE
Lloh145:
	ldr	x9, [x9, _ATA_SUPPORT_NCQ_PRIO@GOTPAGEOFF]
Lloh146:
	ldr	w9, [x9]
	tst	w9, w8
	csel	x8, x23, x24, eq
	str	x8, [sp]
Lloh147:
	adrp	x0, l_.str.56@PAGE
Lloh148:
	add	x0, x0, l_.str.56@PAGEOFF
	bl	_printf
	ldr	w8, [x19, #92]
Lloh149:
	adrp	x9, _ATA_SUPPORT_NCQ_NON_DATA@GOTPAGE
Lloh150:
	ldr	x9, [x9, _ATA_SUPPORT_NCQ_NON_DATA@GOTPAGEOFF]
Lloh151:
	ldr	w9, [x9]
	tst	w9, w8
	csel	x8, x23, x24, eq
	str	x8, [sp]
Lloh152:
	adrp	x0, l_.str.57@PAGE
Lloh153:
	add	x0, x0, l_.str.57@PAGEOFF
	bl	_printf
	ldr	w8, [x19, #92]
Lloh154:
	adrp	x9, _ATA_SUPPORT_NCQ_STREAM@GOTPAGE
Lloh155:
	ldr	x9, [x9, _ATA_SUPPORT_NCQ_STREAM@GOTPAGEOFF]
Lloh156:
	ldr	w9, [x9]
	tst	w9, w8
	csel	x8, x23, x24, eq
	str	x8, [sp]
Lloh157:
	adrp	x0, l_.str.58@PAGE
Lloh158:
	add	x0, x0, l_.str.58@PAGEOFF
	bl	_printf
	ldr	w8, [x19, #92]
Lloh159:
	adrp	x9, _ATA_SUPPORT_RCVSND_FPDMA_QUEUED@GOTPAGE
Lloh160:
	ldr	x9, [x9, _ATA_SUPPORT_RCVSND_FPDMA_QUEUED@GOTPAGEOFF]
Lloh161:
	ldr	w9, [x9]
	tst	w9, w8
	csel	x8, x23, x24, eq
	str	x8, [sp]
Lloh162:
	adrp	x0, l_.str.59@PAGE
Lloh163:
	add	x0, x0, l_.str.59@PAGEOFF
	bl	_printf
	ldr	w8, [x19, #96]
Lloh164:
	adrp	x9, _ATA_SUPPORT_NCQ_AUTOSENSE@GOTPAGE
Lloh165:
	ldr	x9, [x9, _ATA_SUPPORT_NCQ_AUTOSENSE@GOTPAGEOFF]
Lloh166:
	ldr	w9, [x9]
	tst	w9, w8
	csel	x8, x23, x24, eq
	str	x8, [sp]
Lloh167:
	adrp	x0, l_.str.60@PAGE
Lloh168:
	add	x0, x0, l_.str.60@PAGEOFF
	bl	_printf
	b	LBB0_66
LBB0_65:
Lloh169:
	adrp	x0, l_str.107@PAGE
Lloh170:
	add	x0, x0, l_str.107@PAGEOFF
	bl	_puts
LBB0_66:
	ldr	w8, [x19, #148]
Lloh171:
	adrp	x9, _ATA_SUPPORT_SMART@GOTPAGE
Lloh172:
	ldr	x9, [x9, _ATA_SUPPORT_SMART@GOTPAGEOFF]
Lloh173:
	ldr	w9, [x9]
	tst	w9, w8
	csel	x8, x23, x24, eq
	ldr	w10, [x19, #136]
	tst	w10, w9
	csel	x9, x23, x24, eq
	stp	x8, x9, [sp]
Lloh174:
	adrp	x0, l_.str.61@PAGE
Lloh175:
	add	x0, x0, l_.str.61@PAGEOFF
	bl	_printf
	ldr	w8, [x19, #148]
Lloh176:
	adrp	x9, _ATA_SUPPORT_SECURITY@GOTPAGE
Lloh177:
	ldr	x9, [x9, _ATA_SUPPORT_SECURITY@GOTPAGEOFF]
Lloh178:
	ldr	w9, [x9]
	tst	w9, w8
	csel	x8, x23, x24, eq
	ldr	w10, [x19, #136]
	tst	w10, w9
	csel	x9, x23, x24, eq
	stp	x8, x9, [sp]
Lloh179:
	adrp	x0, l_.str.62@PAGE
Lloh180:
	add	x0, x0, l_.str.62@PAGEOFF
	bl	_printf
	ldr	w8, [x19, #148]
Lloh181:
	adrp	x9, _ATA_SUPPORT_POWERMGT@GOTPAGE
Lloh182:
	ldr	x9, [x9, _ATA_SUPPORT_POWERMGT@GOTPAGEOFF]
Lloh183:
	ldr	w9, [x9]
	tst	w9, w8
	csel	x8, x23, x24, eq
	ldr	w10, [x19, #136]
	tst	w10, w9
	csel	x9, x23, x24, eq
	stp	x8, x9, [sp]
Lloh184:
	adrp	x0, l_.str.63@PAGE
Lloh185:
	add	x0, x0, l_.str.63@PAGEOFF
	bl	_printf
Lloh186:
	adrp	x8, _ATA_SUPPORT_MICROCODE@GOTPAGE
Lloh187:
	ldr	x8, [x8, _ATA_SUPPORT_MICROCODE@GOTPAGEOFF]
Lloh188:
	ldr	w8, [x8]
	ldp	w10, w9, [x19, #140]
	tst	w8, w9
	csel	x9, x23, x24, eq
	tst	w10, w8
	csel	x8, x23, x24, eq
	stp	x9, x8, [sp]
Lloh189:
	adrp	x0, l_.str.64@PAGE
Lloh190:
	add	x0, x0, l_.str.64@PAGEOFF
	bl	_printf
Lloh191:
	adrp	x20, _ATA_SUPPORT_APM@GOTPAGE
Lloh192:
	ldr	x20, [x20, _ATA_SUPPORT_APM@GOTPAGEOFF]
	ldr	w8, [x20]
	ldp	w10, w9, [x19, #140]
	tst	w8, w9
	csel	x9, x23, x24, eq
	tst	w10, w8
	csel	x8, x23, x24, eq
	stp	x9, x8, [sp]
Lloh193:
	adrp	x0, l_.str.65@PAGE
Lloh194:
	add	x0, x0, l_.str.65@PAGEOFF
	bl	_printf
	ldr	w8, [x19, #144]
	ldr	w9, [x20]
	tst	w9, w8
	b.eq	LBB0_68
; %bb.67:
	ldrb	w8, [x19, #100]
	stp	x8, x8, [sp]
Lloh195:
	adrp	x0, l_.str.66@PAGE
Lloh196:
	add	x0, x0, l_.str.66@PAGEOFF
	bl	_printf
	b	LBB0_69
LBB0_68:
	mov	w0, #10
	bl	_putchar
LBB0_69:
Lloh197:
	adrp	x20, _ATA_SUPPORT_AUTOACOUSTIC@GOTPAGE
Lloh198:
	ldr	x20, [x20, _ATA_SUPPORT_AUTOACOUSTIC@GOTPAGEOFF]
	ldr	w8, [x20]
	ldp	w10, w9, [x19, #140]
	tst	w8, w9
	csel	x9, x23, x24, eq
	tst	w10, w8
	csel	x8, x23, x24, eq
	stp	x9, x8, [sp]
Lloh199:
	adrp	x0, l_.str.67@PAGE
Lloh200:
	add	x0, x0, l_.str.67@PAGEOFF
	bl	_printf
	ldr	w8, [x19, #144]
	ldr	w9, [x20]
	tst	w9, w8
	b.eq	LBB0_71
; %bb.70:
	ldr	w0, [x19, #156]
	bl	_ATA_ACOUSTIC_CURRENT
	mov	x20, x0
	ldr	w0, [x19, #156]
	bl	_ATA_ACOUSTIC_CURRENT
	mov	x21, x0
	ldr	w0, [x19, #156]
	bl	_ATA_ACOUSTIC_VENDOR
	mov	x22, x0
	ldr	w0, [x19, #156]
	bl	_ATA_ACOUSTIC_VENDOR
                                        ; kill: def $w0 killed $w0 def $x0
	stp	x22, x0, [sp, #16]
	stp	x20, x21, [sp]
Lloh201:
	adrp	x0, l_.str.68@PAGE
Lloh202:
	add	x0, x0, l_.str.68@PAGEOFF
	bl	_printf
	b	LBB0_72
LBB0_71:
	mov	w0, #10
	bl	_putchar
LBB0_72:
Lloh203:
	adrp	x8, _ATA_SUPPORT_NOTIFY@GOTPAGE
Lloh204:
	ldr	x8, [x8, _ATA_SUPPORT_NOTIFY@GOTPAGEOFF]
Lloh205:
	ldr	w8, [x8]
	ldp	w10, w9, [x19, #140]
	tst	w8, w9
	csel	x9, x23, x24, eq
	tst	w10, w8
	csel	x8, x23, x24, eq
	stp	x9, x8, [sp]
Lloh206:
	adrp	x0, l_.str.69@PAGE
Lloh207:
	add	x0, x0, l_.str.69@PAGEOFF
	bl	_printf
Lloh208:
	adrp	x8, _ATA_SUPPORT_STANDBY@GOTPAGE
Lloh209:
	ldr	x8, [x8, _ATA_SUPPORT_STANDBY@GOTPAGEOFF]
Lloh210:
	ldr	w8, [x8]
	ldp	w10, w9, [x19, #140]
	tst	w8, w9
	csel	x9, x23, x24, eq
	tst	w10, w8
	csel	x8, x23, x24, eq
	stp	x9, x8, [sp]
Lloh211:
	adrp	x0, l_.str.70@PAGE
Lloh212:
	add	x0, x0, l_.str.70@PAGEOFF
	bl	_printf
Lloh213:
	adrp	x20, _ATA_SUPPORT_WRITEREADVERIFY@GOTPAGE
Lloh214:
	ldr	x20, [x20, _ATA_SUPPORT_WRITEREADVERIFY@GOTPAGEOFF]
	ldr	w8, [x20]
	ldp	w9, w10, [x19, #104]
	tst	w8, w9
	csel	x9, x23, x24, eq
	tst	w10, w8
	csel	x8, x23, x24, eq
	stp	x9, x8, [sp]
Lloh215:
	adrp	x0, l_.str.71@PAGE
Lloh216:
	add	x0, x0, l_.str.71@PAGEOFF
	bl	_printf
	ldr	w8, [x19, #104]
	ldr	w9, [x20]
	tst	w9, w8
	b.eq	LBB0_74
; %bb.73:
	ldr	w8, [x19, #112]
	stp	x8, x8, [sp]
Lloh217:
	adrp	x0, l_.str.72@PAGE
Lloh218:
	add	x0, x0, l_.str.72@PAGEOFF
	bl	_printf
	b	LBB0_75
LBB0_74:
	mov	w0, #10
	bl	_putchar
LBB0_75:
	ldr	w8, [x19, #152]
Lloh219:
	adrp	x9, _ATA_SUPPORT_UNLOAD@GOTPAGE
Lloh220:
	ldr	x9, [x9, _ATA_SUPPORT_UNLOAD@GOTPAGEOFF]
Lloh221:
	ldr	w9, [x9]
	tst	w9, w8
	csel	x8, x23, x24, eq
	ldr	w10, [x19, #132]
	tst	w10, w9
	csel	x9, x23, x24, eq
	stp	x8, x9, [sp]
Lloh222:
	adrp	x0, l_.str.73@PAGE
Lloh223:
	add	x0, x0, l_.str.73@PAGEOFF
	bl	_printf
	ldr	w8, [x19, #152]
Lloh224:
	adrp	x9, _ATA_SUPPORT_GENLOG@GOTPAGE
Lloh225:
	ldr	x9, [x9, _ATA_SUPPORT_GENLOG@GOTPAGEOFF]
Lloh226:
	ldr	w9, [x9]
	tst	w9, w8
	csel	x8, x23, x24, eq
	ldr	w10, [x19, #132]
	tst	w10, w9
	csel	x9, x23, x24, eq
	stp	x8, x9, [sp]
Lloh227:
	adrp	x0, l_.str.74@PAGE
Lloh228:
	add	x0, x0, l_.str.74@PAGEOFF
	bl	_printf
Lloh229:
	adrp	x8, _ATA_SUPPORT_FREEFALL@GOTPAGE
Lloh230:
	ldr	x8, [x8, _ATA_SUPPORT_FREEFALL@GOTPAGEOFF]
Lloh231:
	ldr	w8, [x8]
	ldp	w9, w10, [x19, #104]
	tst	w8, w9
	csel	x9, x23, x24, eq
	tst	w10, w8
	csel	x8, x23, x24, eq
	stp	x9, x8, [sp]
Lloh232:
	adrp	x0, l_.str.75@PAGE
Lloh233:
	add	x0, x0, l_.str.75@PAGEOFF
	bl	_printf
Lloh234:
	adrp	x8, _ATA_SUPPORT_SENSE_REPORT@GOTPAGE
Lloh235:
	ldr	x8, [x8, _ATA_SUPPORT_SENSE_REPORT@GOTPAGEOFF]
Lloh236:
	ldr	w8, [x8]
	ldp	w9, w10, [x19, #104]
	tst	w8, w9
	csel	x9, x23, x24, eq
	tst	w10, w8
	csel	x8, x23, x24, eq
	stp	x9, x8, [sp]
Lloh237:
	adrp	x0, l_.str.76@PAGE
Lloh238:
	add	x0, x0, l_.str.76@PAGEOFF
	bl	_printf
Lloh239:
	adrp	x8, _ATA_SUPPORT_EPC@GOTPAGE
Lloh240:
	ldr	x8, [x8, _ATA_SUPPORT_EPC@GOTPAGEOFF]
Lloh241:
	ldr	w8, [x8]
	ldp	w9, w10, [x19, #104]
	tst	w8, w9
	csel	x9, x23, x24, eq
	tst	w10, w8
	csel	x8, x23, x24, eq
	stp	x9, x8, [sp]
Lloh242:
	adrp	x0, l_.str.77@PAGE
Lloh243:
	add	x0, x0, l_.str.77@PAGEOFF
	bl	_printf
Lloh244:
	adrp	x8, _ATA_SUPPORT_DSN@GOTPAGE
Lloh245:
	ldr	x8, [x8, _ATA_SUPPORT_DSN@GOTPAGEOFF]
Lloh246:
	ldr	w8, [x8]
	ldp	w9, w10, [x19, #104]
	tst	w8, w9
	csel	x9, x23, x24, eq
	tst	w10, w8
	csel	x8, x23, x24, eq
	stp	x9, x8, [sp]
Lloh247:
	adrp	x0, l_.str.78@PAGE
Lloh248:
	add	x0, x0, l_.str.78@PAGEOFF
	bl	_printf
Lloh249:
	adrp	x0, l_.str.79@PAGE
Lloh250:
	add	x0, x0, l_.str.79@PAGEOFF
	bl	_printf
	ldr	w8, [x19, #116]
Lloh251:
	adrp	x9, _ATA_SUPPORT_DSM_TRIM@GOTPAGE
Lloh252:
	ldr	x9, [x9, _ATA_SUPPORT_DSM_TRIM@GOTPAGEOFF]
Lloh253:
	ldr	w9, [x9]
	tst	w9, w8
	b.eq	LBB0_78
; %bb.76:
Lloh254:
	adrp	x0, l_str.101@PAGE
Lloh255:
	add	x0, x0, l_str.101@PAGEOFF
	bl	_puts
Lloh256:
	adrp	x0, l_.str.81@PAGE
Lloh257:
	add	x0, x0, l_.str.81@PAGEOFF
	bl	_printf
	ldr	w8, [x19, #120]
	cbz	w8, LBB0_79
; %bb.77:
	str	x8, [sp]
Lloh258:
	adrp	x0, l_.str.83@PAGE
Lloh259:
	add	x0, x0, l_.str.83@PAGEOFF
	bl	_printf
	b	LBB0_80
LBB0_78:
	mov	x0, x23
	b	LBB0_83
LBB0_79:
Lloh260:
	adrp	x0, l_str.105@PAGE
Lloh261:
	add	x0, x0, l_str.105@PAGEOFF
	bl	_puts
LBB0_80:
Lloh262:
	adrp	x0, l_.str.84@PAGE
Lloh263:
	add	x0, x0, l_.str.84@PAGEOFF
	bl	_printf
	ldr	w8, [x19, #88]
Lloh264:
	adrp	x9, _ATA_SUPPORT_DRAT@GOTPAGE
Lloh265:
	ldr	x9, [x9, _ATA_SUPPORT_DRAT@GOTPAGEOFF]
Lloh266:
	ldr	w9, [x9]
	tst	w9, w8
	b.eq	LBB0_82
; %bb.81:
Lloh267:
	adrp	x9, _ATA_SUPPORT_RZAT@GOTPAGE
Lloh268:
	ldr	x9, [x9, _ATA_SUPPORT_RZAT@GOTPAGEOFF]
Lloh269:
	ldr	w9, [x9]
Lloh270:
	adrp	x10, l_str.104@PAGE
Lloh271:
	add	x10, x10, l_str.104@PAGEOFF
Lloh272:
	adrp	x11, l_str.103@PAGE
Lloh273:
	add	x11, x11, l_str.103@PAGEOFF
	tst	w9, w8
	csel	x0, x11, x10, eq
	b	LBB0_83
LBB0_82:
Lloh274:
	adrp	x0, l_str.107@PAGE
Lloh275:
	add	x0, x0, l_str.107@PAGEOFF
LBB0_83:
	bl	_puts
	ldr	w8, [x19, #124]
Lloh276:
	adrp	x9, _ATA_SUPPORT_TCG@GOTPAGE
Lloh277:
	ldr	x9, [x9, _ATA_SUPPORT_TCG@GOTPAGEOFF]
	and	w10, w8, #0xc000
Lloh278:
	ldr	w9, [x9]
	tst	w9, w8
	csel	x8, x23, x24, eq
	cmp	w10, #4, lsl #12                ; =16384
	csel	x8, x8, x23, eq
	str	x8, [sp]
Lloh279:
	adrp	x0, l_.str.87@PAGE
Lloh280:
	add	x0, x0, l_.str.87@PAGEOFF
	bl	_printf
	ldr	w8, [x19, #88]
Lloh281:
	adrp	x9, _ATA_ENCRYPTS_ALL_USER_DATA@GOTPAGE
Lloh282:
	ldr	x9, [x9, _ATA_ENCRYPTS_ALL_USER_DATA@GOTPAGEOFF]
Lloh283:
	ldr	w9, [x9]
	tst	w9, w8
	csel	x8, x23, x24, eq
	str	x8, [sp]
Lloh284:
	adrp	x0, l_.str.88@PAGE
Lloh285:
	add	x0, x0, l_.str.88@PAGEOFF
	bl	_printf
Lloh286:
	adrp	x0, l_.str.89@PAGE
Lloh287:
	add	x0, x0, l_.str.89@PAGEOFF
	bl	_printf
	ldr	w8, [x19, #128]
Lloh288:
	adrp	x9, _ATA_SUPPORT_SANITIZE@GOTPAGE
Lloh289:
	ldr	x9, [x9, _ATA_SUPPORT_SANITIZE@GOTPAGEOFF]
Lloh290:
	ldr	w9, [x9]
	tst	w9, w8
	b.eq	LBB0_85
; %bb.84:
Lloh291:
	adrp	x9, _ATA_SUPPORT_BLOCK_ERASE_EXT@GOTPAGE
Lloh292:
	ldr	x9, [x9, _ATA_SUPPORT_BLOCK_ERASE_EXT@GOTPAGEOFF]
Lloh293:
	ldr	w9, [x9]
Lloh294:
	adrp	x10, l_.str.91@PAGE
Lloh295:
	add	x10, x10, l_.str.91@PAGEOFF
Lloh296:
	adrp	x11, l_.str.92@PAGE
Lloh297:
	add	x11, x11, l_.str.92@PAGEOFF
	tst	w9, w8
	csel	x9, x11, x10, eq
Lloh298:
	adrp	x10, _ATA_SUPPORT_OVERWRITE_EXT@GOTPAGE
Lloh299:
	ldr	x10, [x10, _ATA_SUPPORT_OVERWRITE_EXT@GOTPAGEOFF]
Lloh300:
	ldr	w10, [x10]
Lloh301:
	adrp	x12, l_.str.93@PAGE
Lloh302:
	add	x12, x12, l_.str.93@PAGEOFF
	tst	w10, w8
Lloh303:
	adrp	x10, _ATA_SUPPORT_CRYPTO_SCRAMBLE_EXT@GOTPAGE
Lloh304:
	ldr	x10, [x10, _ATA_SUPPORT_CRYPTO_SCRAMBLE_EXT@GOTPAGEOFF]
	csel	x12, x11, x12, eq
Lloh305:
	ldr	w10, [x10]
Lloh306:
	adrp	x13, l_.str.94@PAGE
Lloh307:
	add	x13, x13, l_.str.94@PAGEOFF
	tst	w10, w8
	csel	x8, x11, x13, eq
	stp	x12, x8, [sp, #8]
	str	x9, [sp]
Lloh308:
	adrp	x0, l_.str.90@PAGE
Lloh309:
	add	x0, x0, l_.str.90@PAGEOFF
	bl	_printf
	ldr	w8, [x19, #128]
Lloh310:
	adrp	x9, _ATA_SUPPORT_SANITIZE_ALLOWED@GOTPAGE
Lloh311:
	ldr	x9, [x9, _ATA_SUPPORT_SANITIZE_ALLOWED@GOTPAGEOFF]
Lloh312:
	ldr	w9, [x9]
	tst	w9, w8
	csel	x8, x23, x24, eq
	str	x8, [sp]
Lloh313:
	adrp	x0, l_.str.95@PAGE
Lloh314:
	add	x0, x0, l_.str.95@PAGEOFF
	bl	_printf
	ldr	w8, [x19, #128]
Lloh315:
	adrp	x9, _ATA_SUPPORT_ANTIFREEZE_LOCK_EXT@GOTPAGE
Lloh316:
	ldr	x9, [x9, _ATA_SUPPORT_ANTIFREEZE_LOCK_EXT@GOTPAGEOFF]
Lloh317:
	ldr	w9, [x9]
	tst	w9, w8
	csel	x8, x23, x24, eq
	str	x8, [sp]
Lloh318:
	adrp	x0, l_.str.96@PAGE
Lloh319:
	add	x0, x0, l_.str.96@PAGEOFF
	bl	_printf
	ldp	x29, x30, [sp, #80]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #64]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #48]             ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #32]             ; 16-byte Folded Reload
	add	sp, sp, #96
	ret
LBB0_85:
Lloh320:
	adrp	x0, l_str.107@PAGE
Lloh321:
	add	x0, x0, l_str.107@PAGEOFF
	ldp	x29, x30, [sp, #80]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #64]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #48]             ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #32]             ; 16-byte Folded Reload
	add	sp, sp, #96
	b	_puts
	.loh AdrpAdd	Lloh11, Lloh12
	.loh AdrpAdd	Lloh9, Lloh10
	.loh AdrpAdd	Lloh7, Lloh8
	.loh AdrpLdrGotLdr	Lloh4, Lloh5, Lloh6
	.loh AdrpLdrGot	Lloh2, Lloh3
	.loh AdrpAdd	Lloh0, Lloh1
	.loh AdrpAdd	Lloh13, Lloh14
	.loh AdrpAdd	Lloh15, Lloh16
	.loh AdrpAdd	Lloh17, Lloh18
	.loh AdrpAdd	Lloh19, Lloh20
	.loh AdrpLdrGotLdr	Lloh21, Lloh22, Lloh23
	.loh AdrpAdd	Lloh24, Lloh25
	.loh AdrpLdrGotLdr	Lloh26, Lloh27, Lloh28
	.loh AdrpAdd	Lloh29, Lloh30
	.loh AdrpLdrGotLdr	Lloh31, Lloh32, Lloh33
	.loh AdrpAdd	Lloh34, Lloh35
	.loh AdrpAdd	Lloh36, Lloh37
	.loh AdrpLdrGotLdr	Lloh44, Lloh45, Lloh46
	.loh AdrpAdd	Lloh42, Lloh43
	.loh AdrpAdd	Lloh40, Lloh41
	.loh AdrpAdd	Lloh38, Lloh39
	.loh AdrpAdd	Lloh47, Lloh48
	.loh AdrpLdrGotLdr	Lloh51, Lloh52, Lloh53
	.loh AdrpAdd	Lloh49, Lloh50
	.loh AdrpAdd	Lloh54, Lloh55
	.loh AdrpAdd	Lloh62, Lloh63
	.loh AdrpAdd	Lloh60, Lloh61
	.loh AdrpAdd	Lloh58, Lloh59
	.loh AdrpAdd	Lloh56, Lloh57
	.loh AdrpLdrGotLdr	Lloh64, Lloh65, Lloh66
	.loh AdrpAdd	Lloh67, Lloh68
	.loh AdrpAdd	Lloh76, Lloh77
	.loh AdrpAdd	Lloh74, Lloh75
	.loh AdrpAdd	Lloh72, Lloh73
	.loh AdrpLdrGotLdr	Lloh69, Lloh70, Lloh71
	.loh AdrpAdd	Lloh78, Lloh79
	.loh AdrpLdrGotLdr	Lloh87, Lloh88, Lloh89
	.loh AdrpAdd	Lloh85, Lloh86
	.loh AdrpAdd	Lloh83, Lloh84
	.loh AdrpLdrGotLdr	Lloh80, Lloh81, Lloh82
	.loh AdrpAdd	Lloh90, Lloh91
	.loh AdrpAdd	Lloh94, Lloh95
	.loh AdrpLdrGot	Lloh92, Lloh93
	.loh AdrpAdd	Lloh96, Lloh97
	.loh AdrpLdrGotLdr	Lloh98, Lloh99, Lloh100
	.loh AdrpAdd	Lloh101, Lloh102
	.loh AdrpAdd	Lloh103, Lloh104
	.loh AdrpAdd	Lloh105, Lloh106
	.loh AdrpAdd	Lloh137, Lloh138
	.loh AdrpAdd	Lloh135, Lloh136
	.loh AdrpLdrGotLdr	Lloh132, Lloh133, Lloh134
	.loh AdrpAdd	Lloh130, Lloh131
	.loh AdrpLdrGotLdr	Lloh127, Lloh128, Lloh129
	.loh AdrpAdd	Lloh125, Lloh126
	.loh AdrpAdd	Lloh122, Lloh123
	.loh AdrpLdrGotLdr	Lloh120, Lloh121, Lloh124
	.loh AdrpAdd	Lloh118, Lloh119
	.loh AdrpAdd	Lloh116, Lloh117
	.loh AdrpAdd	Lloh114, Lloh115
	.loh AdrpAdd	Lloh112, Lloh113
	.loh AdrpLdrGotLdr	Lloh109, Lloh110, Lloh111
	.loh AdrpAdd	Lloh107, Lloh108
	.loh AdrpLdrGotLdr	Lloh139, Lloh140, Lloh141
	.loh AdrpAdd	Lloh167, Lloh168
	.loh AdrpLdrGotLdr	Lloh164, Lloh165, Lloh166
	.loh AdrpAdd	Lloh162, Lloh163
	.loh AdrpLdrGotLdr	Lloh159, Lloh160, Lloh161
	.loh AdrpAdd	Lloh157, Lloh158
	.loh AdrpLdrGotLdr	Lloh154, Lloh155, Lloh156
	.loh AdrpAdd	Lloh152, Lloh153
	.loh AdrpLdrGotLdr	Lloh149, Lloh150, Lloh151
	.loh AdrpAdd	Lloh147, Lloh148
	.loh AdrpLdrGotLdr	Lloh144, Lloh145, Lloh146
	.loh AdrpAdd	Lloh142, Lloh143
	.loh AdrpAdd	Lloh169, Lloh170
	.loh AdrpAdd	Lloh193, Lloh194
	.loh AdrpLdrGot	Lloh191, Lloh192
	.loh AdrpAdd	Lloh189, Lloh190
	.loh AdrpLdrGotLdr	Lloh186, Lloh187, Lloh188
	.loh AdrpAdd	Lloh184, Lloh185
	.loh AdrpLdrGotLdr	Lloh181, Lloh182, Lloh183
	.loh AdrpAdd	Lloh179, Lloh180
	.loh AdrpLdrGotLdr	Lloh176, Lloh177, Lloh178
	.loh AdrpAdd	Lloh174, Lloh175
	.loh AdrpLdrGotLdr	Lloh171, Lloh172, Lloh173
	.loh AdrpAdd	Lloh195, Lloh196
	.loh AdrpAdd	Lloh199, Lloh200
	.loh AdrpLdrGot	Lloh197, Lloh198
	.loh AdrpAdd	Lloh201, Lloh202
	.loh AdrpAdd	Lloh215, Lloh216
	.loh AdrpLdrGot	Lloh213, Lloh214
	.loh AdrpAdd	Lloh211, Lloh212
	.loh AdrpLdrGotLdr	Lloh208, Lloh209, Lloh210
	.loh AdrpAdd	Lloh206, Lloh207
	.loh AdrpLdrGotLdr	Lloh203, Lloh204, Lloh205
	.loh AdrpAdd	Lloh217, Lloh218
	.loh AdrpLdrGotLdr	Lloh251, Lloh252, Lloh253
	.loh AdrpAdd	Lloh249, Lloh250
	.loh AdrpAdd	Lloh247, Lloh248
	.loh AdrpLdrGotLdr	Lloh244, Lloh245, Lloh246
	.loh AdrpAdd	Lloh242, Lloh243
	.loh AdrpLdrGotLdr	Lloh239, Lloh240, Lloh241
	.loh AdrpAdd	Lloh237, Lloh238
	.loh AdrpLdrGotLdr	Lloh234, Lloh235, Lloh236
	.loh AdrpAdd	Lloh232, Lloh233
	.loh AdrpLdrGotLdr	Lloh229, Lloh230, Lloh231
	.loh AdrpAdd	Lloh227, Lloh228
	.loh AdrpLdrGotLdr	Lloh224, Lloh225, Lloh226
	.loh AdrpAdd	Lloh222, Lloh223
	.loh AdrpLdrGotLdr	Lloh219, Lloh220, Lloh221
	.loh AdrpAdd	Lloh256, Lloh257
	.loh AdrpAdd	Lloh254, Lloh255
	.loh AdrpAdd	Lloh258, Lloh259
	.loh AdrpAdd	Lloh260, Lloh261
	.loh AdrpLdrGotLdr	Lloh264, Lloh265, Lloh266
	.loh AdrpAdd	Lloh262, Lloh263
	.loh AdrpAdd	Lloh272, Lloh273
	.loh AdrpAdd	Lloh270, Lloh271
	.loh AdrpLdrGotLdr	Lloh267, Lloh268, Lloh269
	.loh AdrpAdd	Lloh274, Lloh275
	.loh AdrpLdrGotLdr	Lloh288, Lloh289, Lloh290
	.loh AdrpAdd	Lloh286, Lloh287
	.loh AdrpAdd	Lloh284, Lloh285
	.loh AdrpLdrGotLdr	Lloh281, Lloh282, Lloh283
	.loh AdrpAdd	Lloh279, Lloh280
	.loh AdrpLdrGotLdr	Lloh276, Lloh277, Lloh278
	.loh AdrpAdd	Lloh318, Lloh319
	.loh AdrpLdrGotLdr	Lloh315, Lloh316, Lloh317
	.loh AdrpAdd	Lloh313, Lloh314
	.loh AdrpLdrGotLdr	Lloh310, Lloh311, Lloh312
	.loh AdrpAdd	Lloh308, Lloh309
	.loh AdrpAdd	Lloh306, Lloh307
	.loh AdrpLdrGotLdr	Lloh303, Lloh304, Lloh305
	.loh AdrpAdd	Lloh301, Lloh302
	.loh AdrpLdrGotLdr	Lloh298, Lloh299, Lloh300
	.loh AdrpAdd	Lloh296, Lloh297
	.loh AdrpAdd	Lloh294, Lloh295
	.loh AdrpLdrGotLdr	Lloh291, Lloh292, Lloh293
	.loh AdrpAdd	Lloh320, Lloh321
	.cfi_endproc
                                        ; -- End function
	.section	__TEXT,__cstring,cstring_literals
l_.str.1:                               ; @.str.1
	.asciz	"protocol              "

	.comm	_ATA_PROTO_CFA,4,2              ; @ATA_PROTO_CFA
l_.str.2:                               ; @.str.2
	.asciz	"CFA"

	.comm	_ATA_PROTO_ATAPI,4,2            ; @ATA_PROTO_ATAPI
l_.str.3:                               ; @.str.3
	.asciz	"ATAPI"

l_.str.4:                               ; @.str.4
	.asciz	"ATA"

l_.str.5:                               ; @.str.5
	.asciz	"%s"

l_.str.6:                               ; @.str.6
	.asciz	"%s-%d"

l_.str.7:                               ; @.str.7
	.asciz	"%s8-ACS"

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

	.comm	_ATA_SATA_GEN3,4,2              ; @ATA_SATA_GEN3
	.comm	_ATA_SATA_GEN2,4,2              ; @ATA_SATA_GEN2
	.comm	_ATA_SATA_GEN1,4,2              ; @ATA_SATA_GEN1
l_.str.13:                              ; @.str.13
	.asciz	"device model          %.40s\n"

l_.str.14:                              ; @.str.14
	.asciz	"firmware revision     %.8s\n"

l_.str.15:                              ; @.str.15
	.asciz	"serial number         %.20s\n"

	.comm	_ATA_SUPPORT_64BITWWN,4,2       ; @ATA_SUPPORT_64BITWWN
l_.str.16:                              ; @.str.16
	.asciz	"WWN                   %04x%04x%04x%04x\n"

l_.str.17:                              ; @.str.17
	.asciz	"additional product id %.8s\n"

	.comm	_ATA_SUPPORT_MEDIASN,4,2        ; @ATA_SUPPORT_MEDIASN
l_.str.18:                              ; @.str.18
	.asciz	"media serial number   %.30s\n"

l_.str.19:                              ; @.str.19
	.asciz	"cylinders             %d\n"

l_.str.20:                              ; @.str.20
	.asciz	"heads                 %d\n"

l_.str.21:                              ; @.str.21
	.asciz	"sectors/track         %d\n"

l_.str.22:                              ; @.str.22
	.asciz	"sector size           logical %u, physical %lu, offset %lu\n"

	.comm	_ATA_SUPPORT_CFA,4,2            ; @ATA_SUPPORT_CFA
l_.str.24:                              ; @.str.24
	.asciz	"LBA%ssupported         "

	.comm	_ATA_SUPPORT_LBA,4,2            ; @ATA_SUPPORT_LBA
l_.str.25:                              ; @.str.25
	.asciz	" "

l_.str.26:                              ; @.str.26
	.asciz	" not "

l_.str.27:                              ; @.str.27
	.asciz	"%d sectors\n"

l_.str.28:                              ; @.str.28
	.asciz	"LBA48%ssupported       "

	.comm	_ATA_SUPPORT_ADDRESS48,4,2      ; @ATA_SUPPORT_ADDRESS48
l_.str.30:                              ; @.str.30
	.asciz	"PIO supported         PIO"

	.comm	_ATA_SUPPORT_IORDY,4,2          ; @ATA_SUPPORT_IORDY
l_.str.36:                              ; @.str.36
	.asciz	" w/o IORDY"

l_.str.37:                              ; @.str.37
	.asciz	"DMA%ssupported         "

	.comm	_ATA_SUPPORT_DMA,4,2            ; @ATA_SUPPORT_DMA
l_.str.38:                              ; @.str.38
	.asciz	"WDMA"

	.comm	_ATA_FLAG_88,4,2                ; @ATA_FLAG_88
l_.str.39:                              ; @.str.39
	.asciz	"UDMA"

l_.str.43:                              ; @.str.43
	.asciz	"media RPM             %d\n"

l_.str.44:                              ; @.str.44
	.asciz	"Zoned-Device Commands "

	.comm	_ATA_SUPPORT_ZONE_MASK,4,2      ; @ATA_SUPPORT_ZONE_MASK
l_.str.49:                              ; @.str.49
	.asciz	"read ahead                     %s\t%s\n"

	.comm	_ATA_SUPPORT_LOOKAHEAD,4,2      ; @ATA_SUPPORT_LOOKAHEAD
l_.str.52:                              ; @.str.52
	.asciz	"write cache                    %s\t%s\n"

	.comm	_ATA_SUPPORT_WRITECACHE,4,2     ; @ATA_SUPPORT_WRITECACHE
l_.str.53:                              ; @.str.53
	.asciz	"flush cache                    %s\t%s\n"

	.comm	_ATA_SUPPORT_FLUSHCACHE,4,2     ; @ATA_SUPPORT_FLUSHCACHE
l_.str.54:                              ; @.str.54
	.asciz	"Native Command Queuing (NCQ)   "

	.comm	_ATA_SUPPORT_NCQ,4,2            ; @ATA_SUPPORT_NCQ
l_.str.55:                              ; @.str.55
	.asciz	"yes\t\t%d tags\n"

l_.str.56:                              ; @.str.56
	.asciz	"NCQ Priority Information       %s\n"

	.comm	_ATA_SUPPORT_NCQ_PRIO,4,2       ; @ATA_SUPPORT_NCQ_PRIO
l_.str.57:                              ; @.str.57
	.asciz	"NCQ Non-Data Command           %s\n"

	.comm	_ATA_SUPPORT_NCQ_NON_DATA,4,2   ; @ATA_SUPPORT_NCQ_NON_DATA
l_.str.58:                              ; @.str.58
	.asciz	"NCQ Streaming                  %s\n"

	.comm	_ATA_SUPPORT_NCQ_STREAM,4,2     ; @ATA_SUPPORT_NCQ_STREAM
l_.str.59:                              ; @.str.59
	.asciz	"Receive & Send FPDMA Queued    %s\n"

	.comm	_ATA_SUPPORT_RCVSND_FPDMA_QUEUED,4,2 ; @ATA_SUPPORT_RCVSND_FPDMA_QUEUED
l_.str.60:                              ; @.str.60
	.asciz	"NCQ Autosense                  %s\n"

	.comm	_ATA_SUPPORT_NCQ_AUTOSENSE,4,2  ; @ATA_SUPPORT_NCQ_AUTOSENSE
l_.str.61:                              ; @.str.61
	.asciz	"SMART                          %s\t%s\n"

	.comm	_ATA_SUPPORT_SMART,4,2          ; @ATA_SUPPORT_SMART
l_.str.62:                              ; @.str.62
	.asciz	"security                       %s\t%s\n"

	.comm	_ATA_SUPPORT_SECURITY,4,2       ; @ATA_SUPPORT_SECURITY
l_.str.63:                              ; @.str.63
	.asciz	"power management               %s\t%s\n"

	.comm	_ATA_SUPPORT_POWERMGT,4,2       ; @ATA_SUPPORT_POWERMGT
l_.str.64:                              ; @.str.64
	.asciz	"microcode download             %s\t%s\n"

	.comm	_ATA_SUPPORT_MICROCODE,4,2      ; @ATA_SUPPORT_MICROCODE
l_.str.65:                              ; @.str.65
	.asciz	"advanced power management      %s\t%s"

	.comm	_ATA_SUPPORT_APM,4,2            ; @ATA_SUPPORT_APM
l_.str.66:                              ; @.str.66
	.asciz	"\t%d/0x%02X\n"

l_.str.67:                              ; @.str.67
	.asciz	"automatic acoustic management  %s\t%s"

	.comm	_ATA_SUPPORT_AUTOACOUSTIC,4,2   ; @ATA_SUPPORT_AUTOACOUSTIC
l_.str.68:                              ; @.str.68
	.asciz	"\t%d/0x%02X\t%d/0x%02X\n"

l_.str.69:                              ; @.str.69
	.asciz	"media status notification      %s\t%s\n"

	.comm	_ATA_SUPPORT_NOTIFY,4,2         ; @ATA_SUPPORT_NOTIFY
l_.str.70:                              ; @.str.70
	.asciz	"power-up in Standby            %s\t%s\n"

	.comm	_ATA_SUPPORT_STANDBY,4,2        ; @ATA_SUPPORT_STANDBY
l_.str.71:                              ; @.str.71
	.asciz	"write-read-verify              %s\t%s"

	.comm	_ATA_SUPPORT_WRITEREADVERIFY,4,2 ; @ATA_SUPPORT_WRITEREADVERIFY
l_.str.72:                              ; @.str.72
	.asciz	"\t%d/0x%x\n"

l_.str.73:                              ; @.str.73
	.asciz	"unload                         %s\t%s\n"

	.comm	_ATA_SUPPORT_UNLOAD,4,2         ; @ATA_SUPPORT_UNLOAD
l_.str.74:                              ; @.str.74
	.asciz	"general purpose logging        %s\t%s\n"

	.comm	_ATA_SUPPORT_GENLOG,4,2         ; @ATA_SUPPORT_GENLOG
l_.str.75:                              ; @.str.75
	.asciz	"free-fall                      %s\t%s\n"

	.comm	_ATA_SUPPORT_FREEFALL,4,2       ; @ATA_SUPPORT_FREEFALL
l_.str.76:                              ; @.str.76
	.asciz	"sense data reporting           %s\t%s\n"

	.comm	_ATA_SUPPORT_SENSE_REPORT,4,2   ; @ATA_SUPPORT_SENSE_REPORT
l_.str.77:                              ; @.str.77
	.asciz	"extended power conditions      %s\t%s\n"

	.comm	_ATA_SUPPORT_EPC,4,2            ; @ATA_SUPPORT_EPC
l_.str.78:                              ; @.str.78
	.asciz	"device statistics notification %s\t%s\n"

	.comm	_ATA_SUPPORT_DSN,4,2            ; @ATA_SUPPORT_DSN
l_.str.79:                              ; @.str.79
	.asciz	"Data Set Management (DSM/TRIM) "

	.comm	_ATA_SUPPORT_DSM_TRIM,4,2       ; @ATA_SUPPORT_DSM_TRIM
l_.str.81:                              ; @.str.81
	.asciz	"DSM - max 512byte blocks       "

l_.str.83:                              ; @.str.83
	.asciz	"yes              %d\n"

l_.str.84:                              ; @.str.84
	.asciz	"DSM - deterministic read       "

	.comm	_ATA_SUPPORT_DRAT,4,2           ; @ATA_SUPPORT_DRAT
	.comm	_ATA_SUPPORT_RZAT,4,2           ; @ATA_SUPPORT_RZAT
l_.str.87:                              ; @.str.87
	.asciz	"Trusted Computing              %s\n"

	.comm	_ATA_SUPPORT_TCG,4,2            ; @ATA_SUPPORT_TCG
l_.str.88:                              ; @.str.88
	.asciz	"encrypts all user data         %s\n"

	.comm	_ATA_ENCRYPTS_ALL_USER_DATA,4,2 ; @ATA_ENCRYPTS_ALL_USER_DATA
l_.str.89:                              ; @.str.89
	.asciz	"Sanitize                       "

	.comm	_ATA_SUPPORT_SANITIZE,4,2       ; @ATA_SUPPORT_SANITIZE
l_.str.90:                              ; @.str.90
	.asciz	"yes\t\t%s%s%s\n"

	.comm	_ATA_SUPPORT_BLOCK_ERASE_EXT,4,2 ; @ATA_SUPPORT_BLOCK_ERASE_EXT
l_.str.91:                              ; @.str.91
	.asciz	"block, "

l_.str.92:                              ; @.str.92
	.space	1

	.comm	_ATA_SUPPORT_OVERWRITE_EXT,4,2  ; @ATA_SUPPORT_OVERWRITE_EXT
l_.str.93:                              ; @.str.93
	.asciz	"overwrite, "

	.comm	_ATA_SUPPORT_CRYPTO_SCRAMBLE_EXT,4,2 ; @ATA_SUPPORT_CRYPTO_SCRAMBLE_EXT
l_.str.94:                              ; @.str.94
	.asciz	"crypto"

l_.str.95:                              ; @.str.95
	.asciz	"Sanitize - commands allowed    %s\n"

	.comm	_ATA_SUPPORT_SANITIZE_ALLOWED,4,2 ; @ATA_SUPPORT_SANITIZE_ALLOWED
l_.str.96:                              ; @.str.96
	.asciz	"Sanitize - antifreeze lock     %s\n"

	.comm	_ATA_SUPPORT_ANTIFREEZE_LOCK_EXT,4,2 ; @ATA_SUPPORT_ANTIFREEZE_LOCK_EXT
l_str:                                  ; @str
	.asciz	"host aware"

l_str.97:                               ; @str.97
	.asciz	"\nFeature                      Support  Enabled   Value           Vendor"

l_str.101:                              ; @str.101
	.asciz	"yes"

l_str.103:                              ; @str.103
	.asciz	"yes              any value"

l_str.104:                              ; @str.104
	.asciz	"yes              zeroed"

l_str.105:                              ; @str.105
	.asciz	"yes              not specified"

l_str.106:                              ; @str.106
	.asciz	"device managed"

l_str.107:                              ; @str.107
	.asciz	"no"

l_str.108:                              ; @str.108
	.asciz	"media RPM             non-rotating"

l_str.109:                              ; @str.109
	.asciz	"CFA supported"

l_str.110:                              ; @str.110
	.asciz	" SATA"

l_str.111:                              ; @str.111
	.asciz	" SATA 1.x"

l_str.112:                              ; @str.112
	.asciz	" SATA 2.x"

l_str.113:                              ; @str.113
	.asciz	" SATA 3.x"

	.no_dead_strip	_atacapprint
.subsections_via_symbols
