	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_A_Tracer                       ## -- Begin function A_Tracer
	.p2align	4, 0x90
_A_Tracer:                              ## @A_Tracer
	.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	%r12
	pushq	%rbx
	.cfi_offset %rbx, -48
	.cfi_offset %r12, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	_gametic@GOTPCREL(%rip), %rax
	testb	$3, (%rax)
	je	LBB0_1
LBB0_9:
	popq	%rbx
	popq	%r12
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_1:
	movq	%rdi, %r15
	movq	48(%rdi), %rdi
	movq	40(%r15), %rsi
	movl	(%r15), %edx
	callq	_P_SpawnPuff
	movq	48(%r15), %rdi
	subq	64(%r15), %rdi
	movq	40(%r15), %rsi
	subq	56(%r15), %rsi
	movl	(%r15), %edx
	movq	_MT_SMOKE@GOTPCREL(%rip), %rax
	movl	(%rax), %ecx
	callq	_P_SpawnMobj
	movq	%rax, %rbx
	movq	_FRACUNIT@GOTPCREL(%rip), %r12
	movl	(%r12), %eax
	movl	%eax, 4(%rbx)
	xorl	%eax, %eax
	callq	_P_Random
	andl	$3, %eax
	movl	8(%rbx), %ecx
	subl	%eax, %ecx
	cmpl	$2, %ecx
	movl	$1, %eax
	cmovgel	%ecx, %eax
	movl	%eax, 8(%rbx)
	movq	72(%r15), %rbx
	testq	%rbx, %rbx
	je	LBB0_9
## %bb.2:
	cmpq	$0, 16(%rbx)
	jle	LBB0_9
## %bb.3:
	movq	40(%r15), %rsi
	movq	48(%r15), %rdi
	movq	40(%rbx), %rcx
	movq	48(%rbx), %rdx
	callq	_R_PointToAngle2
	movq	%rax, %r14
	movq	24(%r15), %rax
	movq	%r14, %rdx
	subq	%rax, %rdx
	je	LBB0_8
## %bb.4:
	movl	$2147483648, %ecx               ## imm = 0x80000000
	movq	_TRACEANGLE@GOTPCREL(%rip), %rsi
	movslq	(%rsi), %rsi
	cmpq	%rcx, %rdx
	jbe	LBB0_6
## %bb.5:
	subq	%rsi, %rax
	movq	%r14, %rdx
	subq	%rax, %rdx
	cmpq	%rcx, %rdx
	cmovaeq	%rax, %r14
	jmp	LBB0_7
LBB0_6:
	addq	%rsi, %rax
	movq	%r14, %rdx
	subq	%rax, %rdx
	cmpq	%rcx, %rdx
	cmovbeq	%rax, %r14
LBB0_7:
	movq	%r14, 24(%r15)
LBB0_8:
	movq	_ANGLETOFINESHIFT@GOTPCREL(%rip), %rax
	movb	(%rax), %cl
	shrq	%cl, %r14
	movq	32(%r15), %rax
	movl	(%rax), %edi
	movq	_finecosine@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movl	(%rax,%r14,4), %esi
	callq	_FixedMul
	movq	%rax, 64(%r15)
	movq	32(%r15), %rax
	movl	(%rax), %edi
	movq	_finesine@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movl	(%rax,%r14,4), %esi
	callq	_FixedMul
	movq	%rax, 56(%r15)
	movq	40(%rbx), %rsi
	movq	48(%rbx), %rdi
	subq	48(%r15), %rdi
	subq	40(%r15), %rsi
	callq	_P_AproxDistance
	movq	32(%r15), %rcx
	cltd
	idivl	(%rcx)
	cmpl	$2, %eax
	movl	$1, %esi
	cmovgel	%eax, %esi
	movl	(%r12), %ecx
	leal	(%rcx,%rcx,4), %eax
	shll	$3, %eax
	addl	(%rbx), %eax
	subl	(%r15), %eax
	cltd
	idivl	%esi
	movl	4(%r15), %esi
	xorl	%edi, %edi
	cmpl	%esi, %eax
	setge	%dil
	shll	$4, %edi
	addl	$-8, %edi
	movl	%ecx, %eax
	cltd
	idivl	%edi
	addl	%esi, %eax
	movl	%eax, 4(%r15)
	jmp	LBB0_9
	.cfi_endproc
                                        ## -- End function
	.comm	_gametic,4,2                    ## @gametic
	.comm	_MT_SMOKE,4,2                   ## @MT_SMOKE
	.comm	_FRACUNIT,4,2                   ## @FRACUNIT
	.comm	_TRACEANGLE,4,2                 ## @TRACEANGLE
	.comm	_ANGLETOFINESHIFT,8,3           ## @ANGLETOFINESHIFT
	.comm	_finecosine,8,3                 ## @finecosine
	.comm	_finesine,8,3                   ## @finesine
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_A_Tracer                       ; -- Begin function A_Tracer
	.p2align	2
_A_Tracer:                              ; @A_Tracer
	.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	x8, _gametic@GOTPAGE
Lloh1:
	ldr	x8, [x8, _gametic@GOTPAGEOFF]
	ldrb	w8, [x8]
	tst	w8, #0x3
	b.eq	LBB0_2
LBB0_1:
	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
	ret
LBB0_2:
	mov	x19, x0
	ldr	x0, [x0, #48]
	ldr	x1, [x19, #40]
	ldr	w2, [x19]
	bl	_P_SpawnPuff
	ldp	x9, x8, [x19, #40]
	ldp	x11, x10, [x19, #56]
	sub	x0, x8, x10
	sub	x1, x9, x11
	ldr	w2, [x19]
Lloh2:
	adrp	x8, _MT_SMOKE@GOTPAGE
Lloh3:
	ldr	x8, [x8, _MT_SMOKE@GOTPAGEOFF]
Lloh4:
	ldr	w3, [x8]
	bl	_P_SpawnMobj
	mov	x20, x0
Lloh5:
	adrp	x21, _FRACUNIT@GOTPAGE
Lloh6:
	ldr	x21, [x21, _FRACUNIT@GOTPAGEOFF]
	ldr	w8, [x21]
	str	w8, [x0, #4]
	bl	_P_Random
	and	w8, w0, #0x3
	ldr	w9, [x20, #8]
	sub	w8, w9, w8
	cmp	w8, #1
	csinc	w8, w8, wzr, gt
	str	w8, [x20, #8]
	ldr	x20, [x19, #72]
	cbz	x20, LBB0_1
; %bb.3:
	ldr	x8, [x20, #16]
	cmp	x8, #1
	b.lt	LBB0_1
; %bb.4:
	ldp	x1, x0, [x19, #40]
	ldp	x3, x2, [x20, #40]
	bl	_R_PointToAngle2
	ldr	x9, [x19, #24]
	subs	x8, x0, x9
	b.eq	LBB0_6
; %bb.5:
Lloh7:
	adrp	x10, _TRACEANGLE@GOTPAGE
Lloh8:
	ldr	x10, [x10, _TRACEANGLE@GOTPAGEOFF]
Lloh9:
	ldrsw	x10, [x10]
	mov	w11, #-2147483647
	add	x12, x9, x10
	sub	x13, x0, x12
	mov	w14, #-2147483648
	cmp	x13, x14
	csel	x12, x0, x12, hi
	sub	x9, x9, x10
	sub	x10, x0, x9
	lsr	x10, x10, #31
	cmp	x10, #0
	csel	x9, x0, x9, eq
	cmp	x8, x11
	csel	x0, x12, x9, lo
	str	x0, [x19, #24]
LBB0_6:
Lloh10:
	adrp	x8, _ANGLETOFINESHIFT@GOTPAGE
Lloh11:
	ldr	x8, [x8, _ANGLETOFINESHIFT@GOTPAGEOFF]
Lloh12:
	ldr	x8, [x8]
	lsr	x8, x0, x8
	ldr	x9, [x19, #32]
	ldr	w0, [x9]
Lloh13:
	adrp	x9, _finecosine@GOTPAGE
Lloh14:
	ldr	x9, [x9, _finecosine@GOTPAGEOFF]
Lloh15:
	ldr	x9, [x9]
	lsl	x22, x8, #2
	ldr	w1, [x9, x22]
	bl	_FixedMul
	str	x0, [x19, #64]
	ldr	x8, [x19, #32]
	ldr	w0, [x8]
Lloh16:
	adrp	x8, _finesine@GOTPAGE
Lloh17:
	ldr	x8, [x8, _finesine@GOTPAGEOFF]
Lloh18:
	ldr	x8, [x8]
	ldr	w1, [x8, x22]
	bl	_FixedMul
	str	x0, [x19, #56]
	ldp	x9, x8, [x20, #40]
	ldp	x11, x10, [x19, #40]
	sub	x0, x8, x10
	sub	x1, x9, x11
	bl	_P_AproxDistance
	ldr	x8, [x19, #32]
	ldr	w8, [x8]
	sdiv	w8, w0, w8
	ldr	w9, [x20]
	ldr	w10, [x21]
	mov	w11, #40
	madd	w9, w10, w11, w9
	ldp	w11, w12, [x19]
	sub	w9, w9, w11
	cmp	w8, #1
	csinc	w8, w8, wzr, gt
	sdiv	w8, w9, w8
	cmp	w8, w12
	mov	w8, #-8
	cneg	w8, w8, ge
	sdiv	w8, w10, w8
	add	w8, w12, w8
	str	w8, [x19, #4]
	b	LBB0_1
	.loh AdrpLdrGot	Lloh0, Lloh1
	.loh AdrpLdrGot	Lloh5, Lloh6
	.loh AdrpLdrGotLdr	Lloh2, Lloh3, Lloh4
	.loh AdrpLdrGotLdr	Lloh7, Lloh8, Lloh9
	.loh AdrpLdrGotLdr	Lloh16, Lloh17, Lloh18
	.loh AdrpLdrGotLdr	Lloh13, Lloh14, Lloh15
	.loh AdrpLdrGotLdr	Lloh10, Lloh11, Lloh12
	.cfi_endproc
                                        ; -- End function
	.comm	_gametic,4,2                    ; @gametic
	.comm	_MT_SMOKE,4,2                   ; @MT_SMOKE
	.comm	_FRACUNIT,4,2                   ; @FRACUNIT
	.comm	_TRACEANGLE,4,2                 ; @TRACEANGLE
	.comm	_ANGLETOFINESHIFT,8,3           ; @ANGLETOFINESHIFT
	.comm	_finecosine,8,3                 ; @finecosine
	.comm	_finesine,8,3                   ; @finesine
.subsections_via_symbols
