	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function roulette
_roulette:                              ## @roulette
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	pushq	%rbx
	pushq	%rax
	.cfi_offset %rbx, -24
	movq	_done@GOTPCREL(%rip), %rax
	movq	$0, (%rax)
	movq	_SIGALRM@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	_interrupt@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	callq	_signal
	movq	_count@GOTPCREL(%rip), %rbx
	movl	$0, (%rbx)
	xorl	%eax, %eax
	callq	_tick
	movl	(%rbx), %eax
	movl	%eax, %ecx
	shrl	$6, %ecx
	xorl	%eax, %ecx
	shrl	$3, %eax
	movq	_ocount@GOTPCREL(%rip), %rdx
	xorl	%eax, %ecx
	xorl	(%rdx), %ecx
	andl	$7, %ecx
	movl	%ecx, (%rbx)
	movl	%ecx, (%rdx)
	movq	_buffer@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	leal	(%rcx,%rdx,8), %ecx
	movl	%ecx, (%rax)
	movslq	%ecx, %rax
	addq	$8, %rsp
	popq	%rbx
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_done,8,3                       ## @done
	.comm	_SIGALRM,4,2                    ## @SIGALRM
	.comm	_interrupt,4,2                  ## @interrupt
	.comm	_count,4,2                      ## @count
	.comm	_ocount,4,2                     ## @ocount
	.comm	_buffer,4,2                     ## @buffer
	.comm	_env,4,2                        ## @env
	.no_dead_strip	_roulette
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function roulette
_roulette:                              ; @roulette
	.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	x8, _done@GOTPAGE
Lloh1:
	ldr	x8, [x8, _done@GOTPAGEOFF]
Lloh2:
	str	xzr, [x8]
Lloh3:
	adrp	x8, _SIGALRM@GOTPAGE
Lloh4:
	ldr	x8, [x8, _SIGALRM@GOTPAGEOFF]
Lloh5:
	ldr	w0, [x8]
Lloh6:
	adrp	x8, _interrupt@GOTPAGE
Lloh7:
	ldr	x8, [x8, _interrupt@GOTPAGEOFF]
Lloh8:
	ldr	w1, [x8]
	bl	_signal
Lloh9:
	adrp	x19, _count@GOTPAGE
Lloh10:
	ldr	x19, [x19, _count@GOTPAGEOFF]
	str	wzr, [x19]
	bl	_tick
	ldr	w8, [x19]
Lloh11:
	adrp	x9, _ocount@GOTPAGE
Lloh12:
	ldr	x9, [x9, _ocount@GOTPAGEOFF]
	ldr	w10, [x9]
	eor	w11, w8, w8, lsr #6
	eor	w8, w11, w8, lsr #3
	eor	w8, w8, w10
	and	w10, w8, #0x7
	str	w10, [x19]
Lloh13:
	adrp	x11, _buffer@GOTPAGE
Lloh14:
	ldr	x11, [x11, _buffer@GOTPAGEOFF]
	str	w10, [x9]
	ldr	w9, [x11]
	bfi	w8, w9, #3, #29
	str	w8, [x11]
	sxtw	x0, w8
	ldp	x29, x30, [sp, #16]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp], #32             ; 16-byte Folded Reload
	ret
	.loh AdrpLdrGot	Lloh13, Lloh14
	.loh AdrpLdrGot	Lloh11, Lloh12
	.loh AdrpLdrGot	Lloh9, Lloh10
	.loh AdrpLdrGotLdr	Lloh6, Lloh7, Lloh8
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpLdrGotStr	Lloh0, Lloh1, Lloh2
	.cfi_endproc
                                        ; -- End function
	.comm	_done,8,3                       ; @done
	.comm	_SIGALRM,4,2                    ; @SIGALRM
	.comm	_interrupt,4,2                  ; @interrupt
	.comm	_count,4,2                      ; @count
	.comm	_ocount,4,2                     ; @ocount
	.comm	_buffer,4,2                     ; @buffer
	.comm	_env,4,2                        ; @env
	.no_dead_strip	_roulette
.subsections_via_symbols
