	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_CDVD_GetVolumeDescriptor       ## -- Begin function CDVD_GetVolumeDescriptor
	.p2align	4, 0x90
_CDVD_GetVolumeDescriptor:              ## @CDVD_GetVolumeDescriptor
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	leaq	_CDVD_GetVolumeDescriptor.localVolDesc(%rip), %rdx
	movq	_cdReadMode@GOTPCREL(%rip), %rcx
	movl	$16, %edi
	movl	$1, %esi
	callq	_ReadSect
	movl	_CDVD_GetVolumeDescriptor.localVolDesc+4(%rip), %edi
	leaq	L_.str(%rip), %rsi
	movl	$5, %edx
	callq	_strncmp
	testq	%rax, %rax
	jne	LBB0_12
## %bb.1:
	movl	_CDVD_GetVolumeDescriptor.localVolDesc(%rip), %eax
	decl	%eax
	cmpl	$1, %eax
	ja	LBB0_3
## %bb.2:
	movq	_CDVolDesc@GOTPCREL(%rip), %rdi
	leaq	_CDVD_GetVolumeDescriptor.localVolDesc(%rip), %rsi
	movl	$8, %edx
	callq	_memcpy
LBB0_3:
	leaq	_CDVD_GetVolumeDescriptor.localVolDesc(%rip), %rdx
	movq	_cdReadMode@GOTPCREL(%rip), %rcx
	movl	$17, %edi
	movl	$1, %esi
	callq	_ReadSect
	movl	_CDVD_GetVolumeDescriptor.localVolDesc+4(%rip), %edi
	leaq	L_.str(%rip), %rsi
	movl	$5, %edx
	callq	_strncmp
	testq	%rax, %rax
	jne	LBB0_12
## %bb.4:
	movl	_CDVD_GetVolumeDescriptor.localVolDesc(%rip), %eax
	decl	%eax
	cmpl	$1, %eax
	ja	LBB0_6
## %bb.5:
	movq	_CDVolDesc@GOTPCREL(%rip), %rdi
	leaq	_CDVD_GetVolumeDescriptor.localVolDesc(%rip), %rsi
	movl	$8, %edx
	callq	_memcpy
LBB0_6:
	leaq	_CDVD_GetVolumeDescriptor.localVolDesc(%rip), %rdx
	movq	_cdReadMode@GOTPCREL(%rip), %rcx
	movl	$18, %edi
	movl	$1, %esi
	callq	_ReadSect
	movl	_CDVD_GetVolumeDescriptor.localVolDesc+4(%rip), %edi
	leaq	L_.str(%rip), %rsi
	movl	$5, %edx
	callq	_strncmp
	testq	%rax, %rax
	jne	LBB0_12
## %bb.7:
	movl	_CDVD_GetVolumeDescriptor.localVolDesc(%rip), %eax
	decl	%eax
	cmpl	$1, %eax
	ja	LBB0_9
## %bb.8:
	movq	_CDVolDesc@GOTPCREL(%rip), %rdi
	leaq	_CDVD_GetVolumeDescriptor.localVolDesc(%rip), %rsi
	movl	$8, %edx
	callq	_memcpy
LBB0_9:
	leaq	_CDVD_GetVolumeDescriptor.localVolDesc(%rip), %rdx
	movq	_cdReadMode@GOTPCREL(%rip), %rcx
	movl	$19, %edi
	movl	$1, %esi
	callq	_ReadSect
	movl	_CDVD_GetVolumeDescriptor.localVolDesc+4(%rip), %edi
	leaq	L_.str(%rip), %rsi
	movl	$5, %edx
	callq	_strncmp
	testq	%rax, %rax
	jne	LBB0_12
## %bb.10:
	movl	_CDVD_GetVolumeDescriptor.localVolDesc(%rip), %eax
	decl	%eax
	cmpl	$1, %eax
	ja	LBB0_12
## %bb.11:
	movq	_CDVolDesc@GOTPCREL(%rip), %rdi
	leaq	_CDVD_GetVolumeDescriptor.localVolDesc(%rip), %rsi
	movl	$8, %edx
	callq	_memcpy
LBB0_12:
	movq	_TRUE@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
.zerofill __DATA,__bss,_CDVD_GetVolumeDescriptor.localVolDesc,8,2 ## @CDVD_GetVolumeDescriptor.localVolDesc
	.comm	_cdReadMode,4,2                 ## @cdReadMode
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"CD001"

	.comm	_CDVolDesc,4,2                  ## @CDVolDesc
	.comm	_TRUE,4,2                       ## @TRUE
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_CDVD_GetVolumeDescriptor       ; -- Begin function CDVD_GetVolumeDescriptor
	.p2align	2
_CDVD_GetVolumeDescriptor:              ; @CDVD_GetVolumeDescriptor
	.cfi_startproc
; %bb.0:
	stp	x20, x19, [sp, #-32]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 32
	stp	x29, x30, [sp, #16]             ; 16-byte Folded Spill
	add	x29, sp, #16
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	.cfi_offset w19, -24
	.cfi_offset w20, -32
Lloh0:
	adrp	x19, _CDVD_GetVolumeDescriptor.localVolDesc@PAGE
Lloh1:
	add	x19, x19, _CDVD_GetVolumeDescriptor.localVolDesc@PAGEOFF
Lloh2:
	adrp	x3, _cdReadMode@GOTPAGE
Lloh3:
	ldr	x3, [x3, _cdReadMode@GOTPAGEOFF]
	mov	w0, #16
	mov	w1, #1
	mov	x2, x19
	bl	_ReadSect
	ldr	w0, [x19, #4]
Lloh4:
	adrp	x1, l_.str@PAGE
Lloh5:
	add	x1, x1, l_.str@PAGEOFF
	mov	w2, #5
	bl	_strncmp
	cbnz	x0, LBB0_12
; %bb.1:
	adrp	x20, _CDVD_GetVolumeDescriptor.localVolDesc@PAGE
	ldr	w8, [x20, _CDVD_GetVolumeDescriptor.localVolDesc@PAGEOFF]
	sub	w8, w8, #1
	cmp	w8, #1
	b.hi	LBB0_3
; %bb.2:
Lloh6:
	adrp	x0, _CDVolDesc@GOTPAGE
Lloh7:
	ldr	x0, [x0, _CDVolDesc@GOTPAGEOFF]
Lloh8:
	adrp	x1, _CDVD_GetVolumeDescriptor.localVolDesc@PAGE
Lloh9:
	add	x1, x1, _CDVD_GetVolumeDescriptor.localVolDesc@PAGEOFF
	mov	w2, #8
	bl	_memcpy
LBB0_3:
Lloh10:
	adrp	x3, _cdReadMode@GOTPAGE
Lloh11:
	ldr	x3, [x3, _cdReadMode@GOTPAGEOFF]
	mov	w0, #17
	mov	w1, #1
	mov	x2, x19
	bl	_ReadSect
	ldr	w0, [x19, #4]
Lloh12:
	adrp	x1, l_.str@PAGE
Lloh13:
	add	x1, x1, l_.str@PAGEOFF
	mov	w2, #5
	bl	_strncmp
	cbnz	x0, LBB0_12
; %bb.4:
	ldr	w8, [x20, _CDVD_GetVolumeDescriptor.localVolDesc@PAGEOFF]
	sub	w8, w8, #1
	cmp	w8, #1
	b.hi	LBB0_6
; %bb.5:
Lloh14:
	adrp	x0, _CDVolDesc@GOTPAGE
Lloh15:
	ldr	x0, [x0, _CDVolDesc@GOTPAGEOFF]
Lloh16:
	adrp	x1, _CDVD_GetVolumeDescriptor.localVolDesc@PAGE
Lloh17:
	add	x1, x1, _CDVD_GetVolumeDescriptor.localVolDesc@PAGEOFF
	mov	w2, #8
	bl	_memcpy
LBB0_6:
Lloh18:
	adrp	x3, _cdReadMode@GOTPAGE
Lloh19:
	ldr	x3, [x3, _cdReadMode@GOTPAGEOFF]
	mov	w0, #18
	mov	w1, #1
	mov	x2, x19
	bl	_ReadSect
	ldr	w0, [x19, #4]
Lloh20:
	adrp	x1, l_.str@PAGE
Lloh21:
	add	x1, x1, l_.str@PAGEOFF
	mov	w2, #5
	bl	_strncmp
	cbnz	x0, LBB0_12
; %bb.7:
	ldr	w8, [x20, _CDVD_GetVolumeDescriptor.localVolDesc@PAGEOFF]
	sub	w8, w8, #1
	cmp	w8, #1
	b.hi	LBB0_9
; %bb.8:
Lloh22:
	adrp	x0, _CDVolDesc@GOTPAGE
Lloh23:
	ldr	x0, [x0, _CDVolDesc@GOTPAGEOFF]
Lloh24:
	adrp	x1, _CDVD_GetVolumeDescriptor.localVolDesc@PAGE
Lloh25:
	add	x1, x1, _CDVD_GetVolumeDescriptor.localVolDesc@PAGEOFF
	mov	w2, #8
	bl	_memcpy
LBB0_9:
Lloh26:
	adrp	x3, _cdReadMode@GOTPAGE
Lloh27:
	ldr	x3, [x3, _cdReadMode@GOTPAGEOFF]
	mov	w0, #19
	mov	w1, #1
	mov	x2, x19
	bl	_ReadSect
	ldr	w0, [x19, #4]
Lloh28:
	adrp	x1, l_.str@PAGE
Lloh29:
	add	x1, x1, l_.str@PAGEOFF
	mov	w2, #5
	bl	_strncmp
	cbnz	x0, LBB0_12
; %bb.10:
	ldr	w8, [x20, _CDVD_GetVolumeDescriptor.localVolDesc@PAGEOFF]
	sub	w8, w8, #1
	cmp	w8, #1
	b.hi	LBB0_12
; %bb.11:
Lloh30:
	adrp	x0, _CDVolDesc@GOTPAGE
Lloh31:
	ldr	x0, [x0, _CDVolDesc@GOTPAGEOFF]
Lloh32:
	adrp	x1, _CDVD_GetVolumeDescriptor.localVolDesc@PAGE
Lloh33:
	add	x1, x1, _CDVD_GetVolumeDescriptor.localVolDesc@PAGEOFF
	mov	w2, #8
	bl	_memcpy
LBB0_12:
Lloh34:
	adrp	x8, _TRUE@GOTPAGE
Lloh35:
	ldr	x8, [x8, _TRUE@GOTPAGEOFF]
Lloh36:
	ldr	w0, [x8]
	ldp	x29, x30, [sp, #16]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp], #32             ; 16-byte Folded Reload
	ret
	.loh AdrpAdd	Lloh4, Lloh5
	.loh AdrpLdrGot	Lloh2, Lloh3
	.loh AdrpAdd	Lloh0, Lloh1
	.loh AdrpAdd	Lloh8, Lloh9
	.loh AdrpLdrGot	Lloh6, Lloh7
	.loh AdrpAdd	Lloh12, Lloh13
	.loh AdrpLdrGot	Lloh10, Lloh11
	.loh AdrpAdd	Lloh16, Lloh17
	.loh AdrpLdrGot	Lloh14, Lloh15
	.loh AdrpAdd	Lloh20, Lloh21
	.loh AdrpLdrGot	Lloh18, Lloh19
	.loh AdrpAdd	Lloh24, Lloh25
	.loh AdrpLdrGot	Lloh22, Lloh23
	.loh AdrpAdd	Lloh28, Lloh29
	.loh AdrpLdrGot	Lloh26, Lloh27
	.loh AdrpAdd	Lloh32, Lloh33
	.loh AdrpLdrGot	Lloh30, Lloh31
	.loh AdrpLdrGotLdr	Lloh34, Lloh35, Lloh36
	.cfi_endproc
                                        ; -- End function
.zerofill __DATA,__bss,_CDVD_GetVolumeDescriptor.localVolDesc,8,2 ; @CDVD_GetVolumeDescriptor.localVolDesc
	.comm	_cdReadMode,4,2                 ; @cdReadMode
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"CD001"

	.comm	_CDVolDesc,4,2                  ; @CDVolDesc
	.comm	_TRUE,4,2                       ; @TRUE
.subsections_via_symbols
