	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function seek_floppy
_seek_floppy:                           ## @seek_floppy
	.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	_blind_seek@GOTPCREL(%rip), %r15
	movl	$0, (%r15)
	movq	_FD_DISK_NEWCHANGE@GOTPCREL(%rip), %rbx
	movl	(%rbx), %edi
	callq	_TESTF
	testq	%rax, %rax
	je	LBB0_1
LBB0_3:
	movq	_DRS@GOTPCREL(%rip), %r14
	movq	(%r14), %rax
	movq	(%rax), %rax
	movq	_NEED_1_RECAL@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jle	LBB0_17
## %bb.4:
	movl	(%rbx), %edi
	callq	_TESTF
	testq	%rax, %rax
	je	LBB0_13
## %bb.5:
	movq	_raw_cmd@GOTPCREL(%rip), %r12
	movq	(%r12), %rax
	movq	_FD_RAW_NEED_DISK@GOTPCREL(%rip), %rcx
	movl	(%rcx), %ecx
	testl	%ecx, (%rax)
	je	LBB0_13
## %bb.6:
	movq	(%r14), %rcx
	movq	(%rcx), %r13
	movq	_NO_TRACK@GOTPCREL(%rip), %rcx
	movq	8(%rax), %rax
	cmpq	(%rcx), %r13
	jle	LBB0_7
## %bb.8:
	cmpq	%rax, %r13
	je	LBB0_9
LBB0_13:
	xorl	%eax, %eax
	callq	_check_wp
	movq	_raw_cmd@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	8(%rax), %r13
	movq	(%r14), %rcx
	cmpq	(%rcx), %r13
	je	LBB0_18
## %bb.14:
	movq	_FD_RAW_NEED_SEEK@GOTPCREL(%rip), %rcx
	movl	(%rcx), %ecx
	testl	%ecx, (%rax)
	jne	LBB0_15
LBB0_18:
	xorl	%eax, %eax
	addq	$8, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_setup_rw_floppy                ## TAILCALL
LBB0_17:
	xorl	%eax, %eax
	addq	$8, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_recalibrate_floppy             ## TAILCALL
LBB0_1:
	movq	_current_drive@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	callq	_disk_change
	testq	%rax, %rax
	je	LBB0_3
## %bb.2:
	movq	_raw_cmd@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	_FD_RAW_NEED_DISK@GOTPCREL(%rip), %rcx
	movl	(%rcx), %ecx
	testl	%ecx, (%rax)
	je	LBB0_3
## %bb.16:
	movq	_FD_DISK_CHANGED@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	callq	_SETF
	movq	_cont@GOTPCREL(%rip), %rbx
	movq	(%rbx), %rax
	xorl	%edi, %edi
	callq	*8(%rax)
	movq	(%rbx), %rcx
	xorl	%eax, %eax
	addq	$8, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	jmpq	*(%rcx)                         ## TAILCALL
LBB0_7:
	movq	%rax, %r13
LBB0_9:
	testq	%r13, %r13
	je	LBB0_11
## %bb.10:
	decl	%r13d
	jmp	LBB0_15
LBB0_11:
	movq	_DP@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	_FD_SILENT_DCL_CLEAR@GOTPCREL(%rip), %rcx
	movl	(%rcx), %ecx
	movl	$1, %r13d
	testl	%ecx, (%rax)
	je	LBB0_15
## %bb.12:
	movq	_fdc@GOTPCREL(%rip), %rax
	movl	(%rax), %r14d
	movq	_current_drive@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	callq	_UNIT
	movl	$16, %esi
	movl	%eax, %ecx
	shll	%cl, %esi
	notl	%esi
	movl	%r14d, %edi
	xorl	%edx, %edx
	callq	_set_dor
	movl	$1, (%r15)
	movq	_FD_RAW_NEED_SEEK@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movq	(%r12), %rcx
	orl	%eax, (%rcx)
LBB0_15:
	movq	_seek_interrupt@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movq	_do_floppy@GOTPCREL(%rip), %rcx
	movl	%eax, (%rcx)
	movq	_FD_SEEK@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	callq	_output_byte
	movq	_current_drive@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	callq	_UNIT
	movl	%eax, %edi
	callq	_output_byte
	movl	%r13d, %edi
	callq	_LAST_OUT
	leaq	L_.str(%rip), %rdi
	addq	$8, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_debugt                         ## TAILCALL
	.cfi_endproc
                                        ## -- End function
	.comm	_blind_seek,4,2                 ## @blind_seek
	.comm	_FD_DISK_NEWCHANGE,4,2          ## @FD_DISK_NEWCHANGE
	.comm	_current_drive,4,2              ## @current_drive
	.comm	_raw_cmd,8,3                    ## @raw_cmd
	.comm	_FD_RAW_NEED_DISK,4,2           ## @FD_RAW_NEED_DISK
	.comm	_FD_DISK_CHANGED,4,2            ## @FD_DISK_CHANGED
	.comm	_cont,8,3                       ## @cont
	.comm	_DRS,8,3                        ## @DRS
	.comm	_NEED_1_RECAL,8,3               ## @NEED_1_RECAL
	.comm	_NO_TRACK,8,3                   ## @NO_TRACK
	.comm	_DP,8,3                         ## @DP
	.comm	_FD_SILENT_DCL_CLEAR,4,2        ## @FD_SILENT_DCL_CLEAR
	.comm	_fdc,4,2                        ## @fdc
	.comm	_FD_RAW_NEED_SEEK,4,2           ## @FD_RAW_NEED_SEEK
	.comm	_seek_interrupt,4,2             ## @seek_interrupt
	.comm	_do_floppy,4,2                  ## @do_floppy
	.comm	_FD_SEEK,4,2                    ## @FD_SEEK
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"seek command:"

	.comm	_FD_DEBUG,4,2                   ## @FD_DEBUG
	.no_dead_strip	_seek_floppy
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function seek_floppy
_seek_floppy:                           ; @seek_floppy
	.cfi_startproc
; %bb.0:
	stp	x22, x21, [sp, #-48]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 48
	stp	x20, x19, [sp, #16]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #32]             ; 16-byte Folded Spill
	add	x29, sp, #32
	.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
Lloh0:
	adrp	x21, _blind_seek@GOTPAGE
Lloh1:
	ldr	x21, [x21, _blind_seek@GOTPAGEOFF]
	str	wzr, [x21]
Lloh2:
	adrp	x19, _FD_DISK_NEWCHANGE@GOTPAGE
Lloh3:
	ldr	x19, [x19, _FD_DISK_NEWCHANGE@GOTPAGEOFF]
	ldr	w0, [x19]
	bl	_TESTF
	cbz	x0, LBB0_9
LBB0_1:
Lloh4:
	adrp	x20, _DRS@GOTPAGE
Lloh5:
	ldr	x20, [x20, _DRS@GOTPAGEOFF]
	ldr	x8, [x20]
	ldr	x8, [x8]
Lloh6:
	adrp	x9, _NEED_1_RECAL@GOTPAGE
Lloh7:
	ldr	x9, [x9, _NEED_1_RECAL@GOTPAGEOFF]
Lloh8:
	ldr	x9, [x9]
	cmp	x8, x9
	b.le	LBB0_8
; %bb.2:
	ldr	w0, [x19]
	bl	_TESTF
Lloh9:
	adrp	x22, _raw_cmd@GOTPAGE
Lloh10:
	ldr	x22, [x22, _raw_cmd@GOTPAGEOFF]
	cbz	x0, LBB0_12
; %bb.3:
	ldr	x8, [x22]
	ldr	w9, [x8]
Lloh11:
	adrp	x10, _FD_RAW_NEED_DISK@GOTPAGE
Lloh12:
	ldr	x10, [x10, _FD_RAW_NEED_DISK@GOTPAGEOFF]
Lloh13:
	ldr	w10, [x10]
	tst	w10, w9
	b.eq	LBB0_12
; %bb.4:
	ldr	x9, [x20]
	ldr	x9, [x9]
Lloh14:
	adrp	x10, _NO_TRACK@GOTPAGE
Lloh15:
	ldr	x10, [x10, _NO_TRACK@GOTPAGEOFF]
Lloh16:
	ldr	x10, [x10]
	ldr	x8, [x8, #8]
	cmp	x9, x10
	b.le	LBB0_6
; %bb.5:
	cmp	x9, x8
	mov	x8, x9
	b.ne	LBB0_12
LBB0_6:
	cbz	x8, LBB0_15
; %bb.7:
	sub	w19, w8, #1
	b	LBB0_17
LBB0_8:
	ldp	x29, x30, [sp, #32]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #16]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp], #48             ; 16-byte Folded Reload
	b	_recalibrate_floppy
LBB0_9:
Lloh17:
	adrp	x8, _current_drive@GOTPAGE
Lloh18:
	ldr	x8, [x8, _current_drive@GOTPAGEOFF]
Lloh19:
	ldr	w0, [x8]
	bl	_disk_change
	cbz	x0, LBB0_1
; %bb.10:
Lloh20:
	adrp	x8, _raw_cmd@GOTPAGE
Lloh21:
	ldr	x8, [x8, _raw_cmd@GOTPAGEOFF]
Lloh22:
	ldr	x8, [x8]
	ldr	w8, [x8]
Lloh23:
	adrp	x9, _FD_RAW_NEED_DISK@GOTPAGE
Lloh24:
	ldr	x9, [x9, _FD_RAW_NEED_DISK@GOTPAGEOFF]
Lloh25:
	ldr	w9, [x9]
	tst	w9, w8
	b.eq	LBB0_1
; %bb.11:
Lloh26:
	adrp	x8, _FD_DISK_CHANGED@GOTPAGE
Lloh27:
	ldr	x8, [x8, _FD_DISK_CHANGED@GOTPAGEOFF]
Lloh28:
	ldr	w0, [x8]
	bl	_SETF
Lloh29:
	adrp	x19, _cont@GOTPAGE
Lloh30:
	ldr	x19, [x19, _cont@GOTPAGEOFF]
	ldr	x8, [x19]
	ldr	x8, [x8, #8]
	mov	w0, #0
	blr	x8
	ldr	x8, [x19]
	ldr	x0, [x8]
	ldp	x29, x30, [sp, #32]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #16]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp], #48             ; 16-byte Folded Reload
	br	x0
LBB0_12:
	bl	_check_wp
	ldr	x8, [x22]
	ldr	x19, [x8, #8]
	ldr	x9, [x20]
	ldr	x9, [x9]
	cmp	x19, x9
	b.eq	LBB0_14
; %bb.13:
	ldr	w8, [x8]
Lloh31:
	adrp	x9, _FD_RAW_NEED_SEEK@GOTPAGE
Lloh32:
	ldr	x9, [x9, _FD_RAW_NEED_SEEK@GOTPAGEOFF]
Lloh33:
	ldr	w9, [x9]
	tst	w9, w8
	b.ne	LBB0_17
LBB0_14:
	ldp	x29, x30, [sp, #32]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #16]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp], #48             ; 16-byte Folded Reload
	b	_setup_rw_floppy
LBB0_15:
Lloh34:
	adrp	x8, _DP@GOTPAGE
Lloh35:
	ldr	x8, [x8, _DP@GOTPAGEOFF]
Lloh36:
	ldr	x8, [x8]
	ldr	w8, [x8]
Lloh37:
	adrp	x9, _FD_SILENT_DCL_CLEAR@GOTPAGE
Lloh38:
	ldr	x9, [x9, _FD_SILENT_DCL_CLEAR@GOTPAGEOFF]
Lloh39:
	ldr	w9, [x9]
	mov	w19, #1
	tst	w9, w8
	b.eq	LBB0_17
; %bb.16:
Lloh40:
	adrp	x8, _fdc@GOTPAGE
Lloh41:
	ldr	x8, [x8, _fdc@GOTPAGEOFF]
Lloh42:
	ldr	w20, [x8]
Lloh43:
	adrp	x8, _current_drive@GOTPAGE
Lloh44:
	ldr	x8, [x8, _current_drive@GOTPAGEOFF]
Lloh45:
	ldr	w0, [x8]
	bl	_UNIT
	mov	w8, #16
	lsl	w8, w8, w0
	mvn	w1, w8
	mov	x0, x20
	mov	w2, #0
	bl	_set_dor
Lloh46:
	adrp	x8, _FD_RAW_NEED_SEEK@GOTPAGE
Lloh47:
	ldr	x8, [x8, _FD_RAW_NEED_SEEK@GOTPAGEOFF]
	str	w19, [x21]
Lloh48:
	ldr	w8, [x8]
	ldr	x9, [x22]
	ldr	w10, [x9]
	orr	w8, w10, w8
	str	w8, [x9]
LBB0_17:
Lloh49:
	adrp	x8, _seek_interrupt@GOTPAGE
Lloh50:
	ldr	x8, [x8, _seek_interrupt@GOTPAGEOFF]
Lloh51:
	ldr	w8, [x8]
Lloh52:
	adrp	x9, _do_floppy@GOTPAGE
Lloh53:
	ldr	x9, [x9, _do_floppy@GOTPAGEOFF]
Lloh54:
	str	w8, [x9]
Lloh55:
	adrp	x8, _FD_SEEK@GOTPAGE
Lloh56:
	ldr	x8, [x8, _FD_SEEK@GOTPAGEOFF]
Lloh57:
	ldr	w0, [x8]
	bl	_output_byte
Lloh58:
	adrp	x8, _current_drive@GOTPAGE
Lloh59:
	ldr	x8, [x8, _current_drive@GOTPAGEOFF]
Lloh60:
	ldr	w0, [x8]
	bl	_UNIT
	bl	_output_byte
	mov	x0, x19
	bl	_LAST_OUT
Lloh61:
	adrp	x0, l_.str@PAGE
Lloh62:
	add	x0, x0, l_.str@PAGEOFF
	ldp	x29, x30, [sp, #32]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #16]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp], #48             ; 16-byte Folded Reload
	b	_debugt
	.loh AdrpLdrGot	Lloh2, Lloh3
	.loh AdrpLdrGot	Lloh0, Lloh1
	.loh AdrpLdrGotLdr	Lloh6, Lloh7, Lloh8
	.loh AdrpLdrGot	Lloh4, Lloh5
	.loh AdrpLdrGot	Lloh9, Lloh10
	.loh AdrpLdrGotLdr	Lloh11, Lloh12, Lloh13
	.loh AdrpLdrGotLdr	Lloh14, Lloh15, Lloh16
	.loh AdrpLdrGotLdr	Lloh17, Lloh18, Lloh19
	.loh AdrpLdrGotLdr	Lloh23, Lloh24, Lloh25
	.loh AdrpLdrGotLdr	Lloh20, Lloh21, Lloh22
	.loh AdrpLdrGot	Lloh29, Lloh30
	.loh AdrpLdrGotLdr	Lloh26, Lloh27, Lloh28
	.loh AdrpLdrGotLdr	Lloh31, Lloh32, Lloh33
	.loh AdrpLdrGotLdr	Lloh37, Lloh38, Lloh39
	.loh AdrpLdrGotLdr	Lloh34, Lloh35, Lloh36
	.loh AdrpLdrGotLdr	Lloh46, Lloh47, Lloh48
	.loh AdrpLdrGotLdr	Lloh43, Lloh44, Lloh45
	.loh AdrpLdrGotLdr	Lloh40, Lloh41, Lloh42
	.loh AdrpAdd	Lloh61, Lloh62
	.loh AdrpLdrGotLdr	Lloh58, Lloh59, Lloh60
	.loh AdrpLdrGotLdr	Lloh55, Lloh56, Lloh57
	.loh AdrpLdrGotStr	Lloh52, Lloh53, Lloh54
	.loh AdrpLdrGotLdr	Lloh49, Lloh50, Lloh51
	.cfi_endproc
                                        ; -- End function
	.comm	_blind_seek,4,2                 ; @blind_seek
	.comm	_FD_DISK_NEWCHANGE,4,2          ; @FD_DISK_NEWCHANGE
	.comm	_current_drive,4,2              ; @current_drive
	.comm	_raw_cmd,8,3                    ; @raw_cmd
	.comm	_FD_RAW_NEED_DISK,4,2           ; @FD_RAW_NEED_DISK
	.comm	_FD_DISK_CHANGED,4,2            ; @FD_DISK_CHANGED
	.comm	_cont,8,3                       ; @cont
	.comm	_DRS,8,3                        ; @DRS
	.comm	_NEED_1_RECAL,8,3               ; @NEED_1_RECAL
	.comm	_NO_TRACK,8,3                   ; @NO_TRACK
	.comm	_DP,8,3                         ; @DP
	.comm	_FD_SILENT_DCL_CLEAR,4,2        ; @FD_SILENT_DCL_CLEAR
	.comm	_fdc,4,2                        ; @fdc
	.comm	_FD_RAW_NEED_SEEK,4,2           ; @FD_RAW_NEED_SEEK
	.comm	_seek_interrupt,4,2             ; @seek_interrupt
	.comm	_do_floppy,4,2                  ; @do_floppy
	.comm	_FD_SEEK,4,2                    ; @FD_SEEK
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"seek command:"

	.comm	_FD_DEBUG,4,2                   ; @FD_DEBUG
	.no_dead_strip	_seek_floppy
.subsections_via_symbols
