	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_setstate                       ## -- Begin function setstate
	.p2align	4, 0x90
_setstate:                              ## @setstate
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	pushq	%r14
	pushq	%rbx
	.cfi_offset %rbx, -32
	.cfi_offset %r14, -24
	movq	(%rdi), %rax
	movq	_MAX_TYPES@GOTPCREL(%rip), %rcx
	movq	(%rcx), %r11
	movq	%rax, %rcx
	orq	%r11, %rcx
	shrq	$32, %rcx
	je	LBB0_1
## %bb.2:
	xorl	%edx, %edx
	divq	%r11
	jmp	LBB0_3
LBB0_1:
                                        ## kill: def $eax killed $eax killed $rax
	xorl	%edx, %edx
	divl	%r11d
                                        ## kill: def $edx killed $edx def $rdx
                                        ## kill: def $eax killed $eax def $rax
LBB0_3:
	movq	_state@GOTPCREL(%rip), %r9
	movq	(%r9), %rsi
	movq	_TYPE_0@GOTPCREL(%rip), %r10
	movq	(%r10), %rcx
	cmpq	%rcx, %rdx
	je	LBB0_6
## %bb.4:
	movq	_degrees@GOTPCREL(%rip), %rbx
	movq	(%rbx), %rbx
	cmpq	(%rbx,%rdx,8), %rax
	jae	LBB0_5
LBB0_6:
	leaq	-8(%rsi), %r8
	movq	_rand_type@GOTPCREL(%rip), %r14
	movq	(%r14), %rbx
	cmpq	%rcx, %rbx
	je	LBB0_8
## %bb.7:
	movq	_rptr@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	subq	%rsi, %rcx
	sarq	$3, %rcx
	imulq	%r11, %rcx
	addq	%rbx, %rcx
LBB0_8:
	movq	%rcx, (%r8)
	movq	%rdx, (%r14)
	movq	_degrees@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	movq	(%rcx,%rdx,8), %rcx
	movq	_rand_deg@GOTPCREL(%rip), %rsi
	movq	%rcx, (%rsi)
	movq	_seps@GOTPCREL(%rip), %rsi
	movq	(%rsi), %rsi
	movq	(%rsi,%rdx,8), %rsi
	movq	_rand_sep@GOTPCREL(%rip), %rbx
	movq	%rsi, (%rbx)
	addq	$8, %rdi
	movq	%rdi, (%r9)
	cmpq	(%r10), %rdx
	je	LBB0_13
## %bb.9:
	leaq	(%rdi,%rax,8), %rdx
	movq	_rptr@GOTPCREL(%rip), %rbx
	movq	%rdx, (%rbx)
	addq	%rax, %rsi
	movq	%rsi, %rax
	orq	%rcx, %rax
	shrq	$32, %rax
	je	LBB0_10
## %bb.11:
	movq	%rsi, %rax
	xorl	%edx, %edx
	divq	%rcx
	jmp	LBB0_12
LBB0_5:
	xorl	%r8d, %r8d
	jmp	LBB0_14
LBB0_10:
	movl	%esi, %eax
	xorl	%edx, %edx
	divl	%ecx
                                        ## kill: def $edx killed $edx def $rdx
LBB0_12:
	leaq	(%rdi,%rdx,8), %rax
	movq	_fptr@GOTPCREL(%rip), %rdx
	movq	%rax, (%rdx)
LBB0_13:
	leaq	(%rdi,%rcx,8), %rax
	movq	_end_ptr@GOTPCREL(%rip), %rcx
	movq	%rax, (%rcx)
LBB0_14:
	movq	%r8, %rax
	popq	%rbx
	popq	%r14
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_MAX_TYPES,8,3                  ## @MAX_TYPES
	.comm	_state,8,3                      ## @state
	.comm	_TYPE_0,8,3                     ## @TYPE_0
	.comm	_degrees,8,3                    ## @degrees
	.comm	_rand_type,8,3                  ## @rand_type
	.comm	_rptr,8,3                       ## @rptr
	.comm	_rand_deg,8,3                   ## @rand_deg
	.comm	_seps,8,3                       ## @seps
	.comm	_rand_sep,8,3                   ## @rand_sep
	.comm	_fptr,8,3                       ## @fptr
	.comm	_end_ptr,8,3                    ## @end_ptr
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_setstate                       ; -- Begin function setstate
	.p2align	2
_setstate:                              ; @setstate
	.cfi_startproc
; %bb.0:
	mov	x8, x0
	ldr	x10, [x0]
Lloh0:
	adrp	x9, _MAX_TYPES@GOTPAGE
Lloh1:
	ldr	x9, [x9, _MAX_TYPES@GOTPAGEOFF]
Lloh2:
	ldr	x14, [x9]
	udiv	x9, x10, x14
	msub	x10, x9, x14, x10
Lloh3:
	adrp	x11, _state@GOTPAGE
Lloh4:
	ldr	x11, [x11, _state@GOTPAGEOFF]
	ldr	x17, [x11]
Lloh5:
	adrp	x12, _TYPE_0@GOTPAGE
Lloh6:
	ldr	x12, [x12, _TYPE_0@GOTPAGEOFF]
	ldr	x16, [x12]
Lloh7:
	adrp	x15, _degrees@GOTPAGE
Lloh8:
	ldr	x15, [x15, _degrees@GOTPAGEOFF]
	cmp	x10, x16
	b.eq	LBB0_2
; %bb.1:
	ldr	x13, [x15]
	ldr	x13, [x13, x10, lsl #3]
	cmp	x9, x13
	b.hs	LBB0_7
LBB0_2:
	sub	x0, x17, #8
Lloh9:
	adrp	x1, _rand_type@GOTPAGE
Lloh10:
	ldr	x1, [x1, _rand_type@GOTPAGEOFF]
	ldr	x2, [x1]
Lloh11:
	adrp	x13, _rptr@GOTPAGE
Lloh12:
	ldr	x13, [x13, _rptr@GOTPAGEOFF]
	cmp	x2, x16
	b.eq	LBB0_4
; %bb.3:
	ldr	x16, [x13]
	sub	x16, x16, x17
	asr	x16, x16, #3
	madd	x16, x16, x14, x2
LBB0_4:
	str	x16, [x0]
	str	x10, [x1]
	ldr	x14, [x15]
	lsl	x15, x10, #3
	ldr	x14, [x14, x15]
Lloh13:
	adrp	x16, _rand_deg@GOTPAGE
Lloh14:
	ldr	x16, [x16, _rand_deg@GOTPAGEOFF]
Lloh15:
	adrp	x17, _seps@GOTPAGE
Lloh16:
	ldr	x17, [x17, _seps@GOTPAGEOFF]
Lloh17:
	str	x14, [x16]
Lloh18:
	ldr	x16, [x17]
	ldr	x15, [x16, x15]
Lloh19:
	adrp	x16, _rand_sep@GOTPAGE
Lloh20:
	ldr	x16, [x16, _rand_sep@GOTPAGEOFF]
Lloh21:
	str	x15, [x16]
	add	x8, x8, #8
	str	x8, [x11]
	ldr	x11, [x12]
	cmp	x10, x11
	b.eq	LBB0_6
; %bb.5:
	add	x10, x8, x9, lsl #3
	str	x10, [x13]
	add	x9, x15, x9
	udiv	x10, x9, x14
	msub	x9, x10, x14, x9
	add	x9, x8, x9, lsl #3
Lloh22:
	adrp	x10, _fptr@GOTPAGE
Lloh23:
	ldr	x10, [x10, _fptr@GOTPAGEOFF]
Lloh24:
	str	x9, [x10]
LBB0_6:
	add	x8, x8, x14, lsl #3
Lloh25:
	adrp	x9, _end_ptr@GOTPAGE
Lloh26:
	ldr	x9, [x9, _end_ptr@GOTPAGEOFF]
Lloh27:
	str	x8, [x9]
	ret
LBB0_7:
	mov	x0, #0
	ret
	.loh AdrpLdrGot	Lloh7, Lloh8
	.loh AdrpLdrGot	Lloh5, Lloh6
	.loh AdrpLdrGot	Lloh3, Lloh4
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGot	Lloh11, Lloh12
	.loh AdrpLdrGot	Lloh9, Lloh10
	.loh AdrpLdrGotStr	Lloh19, Lloh20, Lloh21
	.loh AdrpLdrGotLdr	Lloh15, Lloh16, Lloh18
	.loh AdrpLdrGotStr	Lloh13, Lloh14, Lloh17
	.loh AdrpLdrGotStr	Lloh22, Lloh23, Lloh24
	.loh AdrpLdrGotStr	Lloh25, Lloh26, Lloh27
	.cfi_endproc
                                        ; -- End function
	.comm	_MAX_TYPES,8,3                  ; @MAX_TYPES
	.comm	_state,8,3                      ; @state
	.comm	_TYPE_0,8,3                     ; @TYPE_0
	.comm	_degrees,8,3                    ; @degrees
	.comm	_rand_type,8,3                  ; @rand_type
	.comm	_rptr,8,3                       ; @rptr
	.comm	_rand_deg,8,3                   ; @rand_deg
	.comm	_seps,8,3                       ; @seps
	.comm	_rand_sep,8,3                   ; @rand_sep
	.comm	_fptr,8,3                       ; @fptr
	.comm	_end_ptr,8,3                    ; @end_ptr
.subsections_via_symbols
