	.file	"738862.c"
	.intel_syntax noprefix
	.text
	.data
	.align 16
	.type	degrees, @object
	.size	degrees, 20
degrees:
	.long	0
	.long	7
	.long	15
	.long	31
	.long	63
	.align 16
	.type	seps, @object
	.size	seps, 20
seps:
	.long	0
	.long	3
	.long	1
	.long	3
	.long	1
	.align 32
	.type	randtbl, @object
	.size	randtbl, 256
randtbl:
	.quad	3
	.quad	2586939449
	.quad	853131300
	.quad	2607165826
	.quad	1570894658
	.quad	3728441824
	.quad	3742003125
	.quad	4043553794
	.quad	1223901435
	.quad	1950999915
	.quad	3199327152
	.quad	2874956056
	.quad	2489668861
	.quad	2351851535
	.quad	3946674591
	.quad	2971590839
	.quad	759393158
	.quad	3664195114
	.quad	361286280
	.quad	3815338845
	.quad	2421110263
	.quad	3608514518
	.quad	1873211473
	.quad	1634626454
	.quad	2895441884
	.quad	910245779
	.quad	3324166808
	.quad	4121176760
	.quad	2324223867
	.quad	4121795854
	.quad	2308514315
	.quad	670779321
	.section	.data.rel.local,"aw"
	.align 8
	.type	fptr, @object
	.size	fptr, 8
fptr:
	.quad	randtbl+32
	.align 8
	.type	rptr, @object
	.size	rptr, 8
rptr:
	.quad	randtbl+8
	.align 8
	.type	state, @object
	.size	state, 8
state:
	.quad	randtbl+8
	.data
	.align 4
	.type	rand_type, @object
	.size	rand_type, 4
rand_type:
	.long	3
	.align 4
	.type	rand_deg, @object
	.size	rand_deg, 4
rand_deg:
	.long	31
	.align 4
	.type	rand_sep, @object
	.size	rand_sep, 4
rand_sep:
	.long	3
	.section	.data.rel.local
	.align 8
	.type	end_ptr, @object
	.size	end_ptr, 8
end_ptr:
	.quad	randtbl+256
	.text
	.globl	srandom
	.type	srandom, @function
srandom:
.LFB0:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 24
	.cfi_offset 3, -24
	mov	DWORD PTR -20[rbp], edi
	mov	eax, DWORD PTR rand_type[rip]
	test	eax, eax
	jne	.L2
	mov	rax, QWORD PTR state[rip]
	mov	edx, DWORD PTR -20[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L8
.L2:
	mov	rax, QWORD PTR state[rip]
	mov	edx, DWORD PTR -20[rbp]
	mov	QWORD PTR [rax], rdx
	mov	ebx, 1
	jmp	.L4
.L5:
	mov	rdx, QWORD PTR state[rip]
	movsx	rax, ebx
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	imul	rdx, rax, 1103515245
	mov	rcx, QWORD PTR state[rip]
	movsx	rax, ebx
	sal	rax, 3
	add	rax, rcx
	add	rdx, 12345
	mov	QWORD PTR [rax], rdx
	add	ebx, 1
.L4:
	mov	eax, DWORD PTR rand_deg[rip]
	cmp	ebx, eax
	jl	.L5
	mov	rdx, QWORD PTR state[rip]
	mov	eax, DWORD PTR rand_sep[rip]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	QWORD PTR fptr[rip], rax
	mov	rax, QWORD PTR state[rip]
	mov	QWORD PTR rptr[rip], rax
	mov	ebx, 0
	jmp	.L6
.L7:
	mov	eax, 0
	call	random
	add	ebx, 1
.L6:
	mov	edx, DWORD PTR rand_deg[rip]
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	cmp	ebx, eax
	jl	.L7
.L8:
	nop
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	srandom, .-srandom
	.section	.rodata
	.align 8
.LC0:
	.string	"random: not enough state (%d bytes); ignored.\n"
	.text
	.globl	initstate
	.type	initstate, @function
initstate:
.LFB1:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 24
	.cfi_offset 3, -24
	mov	DWORD PTR -20[rbp], edi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -24[rbp], edx
	mov	rax, QWORD PTR state[rip]
	lea	rbx, -8[rax]
	mov	eax, DWORD PTR rand_type[rip]
	test	eax, eax
	jne	.L10
	mov	eax, DWORD PTR rand_type[rip]
	mov	rdx, QWORD PTR state[rip]
	sub	rdx, 8
	cdqe
	mov	QWORD PTR [rdx], rax
	jmp	.L11
.L10:
	mov	rax, QWORD PTR rptr[rip]
	mov	rdx, QWORD PTR state[rip]
	sub	rax, rdx
	sar	rax, 3
	mov	rdx, rax
	mov	rax, rdx
	sal	rax, 2
	lea	rcx, [rax+rdx]
	mov	eax, DWORD PTR rand_type[rip]
	movsx	rdx, eax
	mov	rax, QWORD PTR state[rip]
	sub	rax, 8
	add	rdx, rcx
	mov	QWORD PTR [rax], rdx
.L11:
	cmp	DWORD PTR -24[rbp], 7
	jg	.L12
	mov	rax, QWORD PTR stderr[rip]
	mov	edx, DWORD PTR -24[rbp]
	lea	rsi, .LC0[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, 0
	jmp	.L13
.L12:
	cmp	DWORD PTR -24[rbp], 31
	jg	.L14
	mov	DWORD PTR rand_type[rip], 0
	mov	DWORD PTR rand_deg[rip], 0
	mov	DWORD PTR rand_sep[rip], 0
	jmp	.L15
.L14:
	cmp	DWORD PTR -24[rbp], 63
	jg	.L16
	mov	DWORD PTR rand_type[rip], 1
	mov	DWORD PTR rand_deg[rip], 7
	mov	DWORD PTR rand_sep[rip], 3
	jmp	.L15
.L16:
	cmp	DWORD PTR -24[rbp], 127
	jg	.L17
	mov	DWORD PTR rand_type[rip], 2
	mov	DWORD PTR rand_deg[rip], 15
	mov	DWORD PTR rand_sep[rip], 1
	jmp	.L15
.L17:
	cmp	DWORD PTR -24[rbp], 255
	jg	.L18
	mov	DWORD PTR rand_type[rip], 3
	mov	DWORD PTR rand_deg[rip], 31
	mov	DWORD PTR rand_sep[rip], 3
	jmp	.L15
.L18:
	mov	DWORD PTR rand_type[rip], 4
	mov	DWORD PTR rand_deg[rip], 63
	mov	DWORD PTR rand_sep[rip], 1
.L15:
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 8
	mov	QWORD PTR state[rip], rax
	mov	rdx, QWORD PTR state[rip]
	mov	eax, DWORD PTR rand_deg[rip]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	QWORD PTR end_ptr[rip], rax
	mov	eax, DWORD PTR -20[rbp]
	mov	edi, eax
	mov	eax, 0
	call	srandom
	mov	eax, DWORD PTR rand_type[rip]
	test	eax, eax
	jne	.L19
	mov	eax, DWORD PTR rand_type[rip]
	mov	rdx, QWORD PTR state[rip]
	sub	rdx, 8
	cdqe
	mov	QWORD PTR [rdx], rax
	jmp	.L20
.L19:
	mov	rax, QWORD PTR rptr[rip]
	mov	rdx, QWORD PTR state[rip]
	sub	rax, rdx
	sar	rax, 3
	mov	rdx, rax
	mov	rax, rdx
	sal	rax, 2
	lea	rcx, [rax+rdx]
	mov	eax, DWORD PTR rand_type[rip]
	movsx	rdx, eax
	mov	rax, QWORD PTR state[rip]
	sub	rax, 8
	add	rdx, rcx
	mov	QWORD PTR [rax], rdx
.L20:
	mov	rax, rbx
.L13:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1:
	.size	initstate, .-initstate
	.section	.rodata
	.align 8
.LC1:
	.string	"random: state info corrupted; not changed.\n"
	.text
	.globl	setstate
	.type	setstate, @function
setstate:
.LFB2:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	r13
	push	r12
	push	rbx
	sub	rsp, 40
	.cfi_offset 13, -24
	.cfi_offset 12, -32
	.cfi_offset 3, -40
	mov	QWORD PTR -56[rbp], rdi
	mov	rbx, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR [rbx]
	movabs	rdx, 7378697629483820647
	mov	rax, rcx
	imul	rdx
	mov	rax, rdx
	sar	rax
	mov	rdx, rcx
	sar	rdx, 63
	sub	rax, rdx
	mov	rdx, rax
	sal	rdx, 2
	add	rdx, rax
	mov	rax, rcx
	sub	rax, rdx
	mov	r12d, eax
	mov	rcx, QWORD PTR [rbx]
	movabs	rdx, 7378697629483820647
	mov	rax, rcx
	imul	rdx
	mov	rax, rdx
	sar	rax
	sar	rcx, 63
	mov	rdx, rcx
	sub	rax, rdx
	mov	r13d, eax
	mov	rax, QWORD PTR state[rip]
	sub	rax, 8
	mov	QWORD PTR -40[rbp], rax
	mov	eax, DWORD PTR rand_type[rip]
	test	eax, eax
	jne	.L22
	mov	eax, DWORD PTR rand_type[rip]
	mov	rdx, QWORD PTR state[rip]
	sub	rdx, 8
	cdqe
	mov	QWORD PTR [rdx], rax
	jmp	.L23
.L22:
	mov	rax, QWORD PTR rptr[rip]
	mov	rdx, QWORD PTR state[rip]
	sub	rax, rdx
	sar	rax, 3
	mov	rdx, rax
	mov	rax, rdx
	sal	rax, 2
	lea	rcx, [rax+rdx]
	mov	eax, DWORD PTR rand_type[rip]
	movsx	rdx, eax
	mov	rax, QWORD PTR state[rip]
	sub	rax, 8
	add	rdx, rcx
	mov	QWORD PTR [rax], rdx
.L23:
	mov	eax, r12d
	cmp	eax, 4
	ja	.L24
	mov	DWORD PTR rand_type[rip], r12d
	movsx	rax, r12d
	lea	rdx, 0[0+rax*4]
	lea	rax, degrees[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR rand_deg[rip], eax
	movsx	rax, r12d
	lea	rdx, 0[0+rax*4]
	lea	rax, seps[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR rand_sep[rip], eax
	jmp	.L25
.L24:
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 43
	mov	esi, 1
	lea	rdi, .LC1[rip]
	call	fwrite@PLT
.L25:
	lea	rax, 8[rbx]
	mov	QWORD PTR state[rip], rax
	mov	eax, DWORD PTR rand_type[rip]
	test	eax, eax
	je	.L26
	mov	rdx, QWORD PTR state[rip]
	movsx	rax, r13d
	sal	rax, 3
	add	rax, rdx
	mov	QWORD PTR rptr[rip], rax
	mov	rsi, QWORD PTR state[rip]
	mov	eax, DWORD PTR rand_sep[rip]
	add	eax, r13d
	mov	ecx, DWORD PTR rand_deg[rip]
	cdq
	idiv	ecx
	mov	eax, edx
	cdqe
	sal	rax, 3
	add	rax, rsi
	mov	QWORD PTR fptr[rip], rax
.L26:
	mov	rdx, QWORD PTR state[rip]
	mov	eax, DWORD PTR rand_deg[rip]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	QWORD PTR end_ptr[rip], rax
	mov	rax, QWORD PTR -40[rbp]
	add	rsp, 40
	pop	rbx
	pop	r12
	pop	r13
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE2:
	.size	setstate, .-setstate
	.globl	random
	.type	random, @function
random:
.LFB3:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, DWORD PTR rand_type[rip]
	test	eax, eax
	jne	.L29
	mov	rax, QWORD PTR state[rip]
	mov	rax, QWORD PTR [rax]
	imul	rax, rax, 1103515245
	lea	rdx, 12345[rax]
	mov	rax, QWORD PTR state[rip]
	and	edx, 2147483647
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L30
.L29:
	mov	rax, QWORD PTR fptr[rip]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR rptr[rip]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR fptr[rip]
	add	rdx, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR fptr[rip]
	mov	rax, QWORD PTR [rax]
	sar	rax
	and	eax, 2147483647
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR fptr[rip]
	add	rax, 8
	mov	QWORD PTR fptr[rip], rax
	mov	rdx, QWORD PTR fptr[rip]
	mov	rax, QWORD PTR end_ptr[rip]
	cmp	rdx, rax
	jb	.L31
	mov	rax, QWORD PTR state[rip]
	mov	QWORD PTR fptr[rip], rax
	mov	rax, QWORD PTR rptr[rip]
	add	rax, 8
	mov	QWORD PTR rptr[rip], rax
	jmp	.L30
.L31:
	mov	rax, QWORD PTR rptr[rip]
	add	rax, 8
	mov	QWORD PTR rptr[rip], rax
	mov	rdx, QWORD PTR rptr[rip]
	mov	rax, QWORD PTR end_ptr[rip]
	cmp	rdx, rax
	jb	.L30
	mov	rax, QWORD PTR state[rip]
	mov	QWORD PTR rptr[rip], rax
.L30:
	mov	rax, QWORD PTR -8[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE3:
	.size	random, .-random
	.ident	"GCC: (Ubuntu 10.5.0-1ubuntu1~20.04) 10.5.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	 1f - 0f
	.long	 4f - 1f
	.long	 5
0:
	.string	 "GNU"
1:
	.align 8
	.long	 0xc0000002
	.long	 3f - 2f
2:
	.long	 0x3
3:
	.align 8
4:

	.arch armv5t
	.eabi_attribute 20, 1
	.eabi_attribute 21, 1
	.eabi_attribute 23, 3
	.eabi_attribute 24, 1
	.eabi_attribute 25, 1
	.eabi_attribute 26, 2
	.eabi_attribute 30, 6
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"738862.c"
	.text
	.data
	.align	2
	.type	degrees, %object
	.size	degrees, 20
degrees:
	.word	0
	.word	7
	.word	15
	.word	31
	.word	63
	.align	2
	.type	seps, %object
	.size	seps, 20
seps:
	.word	0
	.word	3
	.word	1
	.word	3
	.word	1
	.align	2
	.type	randtbl, %object
	.size	randtbl, 128
randtbl:
	.word	3
	.word	-1708027847
	.word	853131300
	.word	-1687801470
	.word	1570894658
	.word	-566525472
	.word	-552964171
	.word	-251413502
	.word	1223901435
	.word	1950999915
	.word	-1095640144
	.word	-1420011240
	.word	-1805298435
	.word	-1943115761
	.word	-348292705
	.word	-1323376457
	.word	759393158
	.word	-630772182
	.word	361286280
	.word	-479628451
	.word	-1873857033
	.word	-686452778
	.word	1873211473
	.word	1634626454
	.word	-1399525412
	.word	910245779
	.word	-970800488
	.word	-173790536
	.word	-1970743429
	.word	-173171442
	.word	-1986452981
	.word	670779321
	.align	2
	.type	fptr, %object
	.size	fptr, 4
fptr:
	.word	randtbl+16
	.align	2
	.type	rptr, %object
	.size	rptr, 4
rptr:
	.word	randtbl+4
	.align	2
	.type	state, %object
	.size	state, 4
state:
	.word	randtbl+4
	.align	2
	.type	rand_type, %object
	.size	rand_type, 4
rand_type:
	.word	3
	.align	2
	.type	rand_deg, %object
	.size	rand_deg, 4
rand_deg:
	.word	31
	.align	2
	.type	rand_sep, %object
	.size	rand_sep, 4
rand_sep:
	.word	3
	.align	2
	.type	end_ptr, %object
	.size	end_ptr, 4
end_ptr:
	.word	randtbl+128
	.text
	.align	2
	.global	srandom
	.syntax unified
	.arm
	.fpu softvfp
	.type	srandom, %function
srandom:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #12
	str	r0, [fp, #-16]
	ldr	r3, .L9
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L2
	ldr	r3, .L9+4
	ldr	r3, [r3]
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	b	.L8
.L2:
	ldr	r3, .L9+4
	ldr	r3, [r3]
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	mov	r4, #1
	b	.L4
.L5:
	ldr	r3, .L9+4
	ldr	r2, [r3]
	mov	r3, r4
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, .L9+8
	mul	r3, r2, r3
	ldr	r2, .L9+4
	ldr	r1, [r2]
	mov	r2, r4
	lsl	r2, r2, #2
	add	r2, r1, r2
	add	r3, r3, #12288
	add	r3, r3, #57
	str	r3, [r2]
	add	r4, r4, #1
.L4:
	ldr	r3, .L9+12
	ldr	r3, [r3]
	cmp	r4, r3
	blt	.L5
	ldr	r3, .L9+4
	ldr	r2, [r3]
	ldr	r3, .L9+16
	ldr	r3, [r3]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, .L9+20
	str	r3, [r2]
	ldr	r3, .L9+4
	ldr	r3, [r3]
	ldr	r2, .L9+24
	str	r3, [r2]
	mov	r4, #0
	b	.L6
.L7:
	bl	random
	add	r4, r4, #1
.L6:
	ldr	r3, .L9+12
	ldr	r2, [r3]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #1
	cmp	r4, r3
	blt	.L7
.L8:
	nop
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L10:
	.align	2
.L9:
	.word	rand_type
	.word	state
	.word	1103515245
	.word	rand_deg
	.word	rand_sep
	.word	fptr
	.word	rptr
	.size	srandom, .-srandom
	.section	.rodata
	.align	2
.LC0:
	.ascii	"random: not enough state (%d bytes); ignored.\012\000"
	.text
	.align	2
	.global	initstate
	.syntax unified
	.arm
	.fpu softvfp
	.type	initstate, %function
initstate:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, .L23
	ldr	r3, [r3]
	sub	r4, r3, #4
	ldr	r3, .L23+4
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L12
	ldr	r3, .L23
	ldr	r3, [r3]
	sub	r3, r3, #4
	ldr	r2, .L23+4
	ldr	r2, [r2]
	str	r2, [r3]
	b	.L13
.L12:
	ldr	r3, .L23+8
	ldr	r2, [r3]
	ldr	r3, .L23
	ldr	r3, [r3]
	sub	r3, r2, r3
	asr	r3, r3, #2
	mov	r2, r3
	mov	r3, r2
	lsl	r3, r3, #2
	add	r1, r3, r2
	ldr	r3, .L23+4
	ldr	r2, [r3]
	ldr	r3, .L23
	ldr	r3, [r3]
	sub	r3, r3, #4
	add	r2, r1, r2
	str	r2, [r3]
.L13:
	ldr	r3, [fp, #-24]
	cmp	r3, #7
	bgt	.L14
	ldr	r3, .L23+12
	ldr	r3, [r3]
	ldr	r2, [fp, #-24]
	ldr	r1, .L23+16
	mov	r0, r3
	bl	fprintf
	mov	r3, #0
	b	.L15
.L14:
	ldr	r3, [fp, #-24]
	cmp	r3, #31
	bgt	.L16
	ldr	r3, .L23+4
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L23+20
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L23+24
	mov	r2, #0
	str	r2, [r3]
	b	.L17
.L16:
	ldr	r3, [fp, #-24]
	cmp	r3, #63
	bgt	.L18
	ldr	r3, .L23+4
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, .L23+20
	mov	r2, #7
	str	r2, [r3]
	ldr	r3, .L23+24
	mov	r2, #3
	str	r2, [r3]
	b	.L17
.L18:
	ldr	r3, [fp, #-24]
	cmp	r3, #127
	bgt	.L19
	ldr	r3, .L23+4
	mov	r2, #2
	str	r2, [r3]
	ldr	r3, .L23+20
	mov	r2, #15
	str	r2, [r3]
	ldr	r3, .L23+24
	mov	r2, #1
	str	r2, [r3]
	b	.L17
.L19:
	ldr	r3, [fp, #-24]
	cmp	r3, #255
	bgt	.L20
	ldr	r3, .L23+4
	mov	r2, #3
	str	r2, [r3]
	ldr	r3, .L23+20
	mov	r2, #31
	str	r2, [r3]
	ldr	r3, .L23+24
	mov	r2, #3
	str	r2, [r3]
	b	.L17
.L20:
	ldr	r3, .L23+4
	mov	r2, #4
	str	r2, [r3]
	ldr	r3, .L23+20
	mov	r2, #63
	str	r2, [r3]
	ldr	r3, .L23+24
	mov	r2, #1
	str	r2, [r3]
.L17:
	ldr	r3, [fp, #-20]
	add	r3, r3, #4
	ldr	r2, .L23
	str	r3, [r2]
	ldr	r3, .L23
	ldr	r2, [r3]
	ldr	r3, .L23+20
	ldr	r3, [r3]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, .L23+28
	str	r3, [r2]
	ldr	r0, [fp, #-16]
	bl	srandom
	ldr	r3, .L23+4
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L21
	ldr	r3, .L23
	ldr	r3, [r3]
	sub	r3, r3, #4
	ldr	r2, .L23+4
	ldr	r2, [r2]
	str	r2, [r3]
	b	.L22
.L21:
	ldr	r3, .L23+8
	ldr	r2, [r3]
	ldr	r3, .L23
	ldr	r3, [r3]
	sub	r3, r2, r3
	asr	r3, r3, #2
	mov	r2, r3
	mov	r3, r2
	lsl	r3, r3, #2
	add	r1, r3, r2
	ldr	r3, .L23+4
	ldr	r2, [r3]
	ldr	r3, .L23
	ldr	r3, [r3]
	sub	r3, r3, #4
	add	r2, r1, r2
	str	r2, [r3]
.L22:
	mov	r3, r4
.L15:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L24:
	.align	2
.L23:
	.word	state
	.word	rand_type
	.word	rptr
	.word	stderr
	.word	.LC0
	.word	rand_deg
	.word	rand_sep
	.word	end_ptr
	.size	initstate, .-initstate
	.section	.rodata
	.align	2
.LC1:
	.ascii	"random: state info corrupted; not changed.\012\000"
	.global	__aeabi_idivmod
	.text
	.align	2
	.global	setstate
	.syntax unified
	.arm
	.fpu softvfp
	.type	setstate, %function
setstate:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, fp, lr}
	add	fp, sp, #16
	sub	sp, sp, #20
	str	r0, [fp, #-32]
	ldr	r5, [fp, #-32]
	ldr	r2, [r5]
	ldr	r3, .L32
	smull	r1, r3, r2, r3
	asr	r1, r3, #1
	asr	r3, r2, #31
	sub	r4, r1, r3
	mov	r3, r4
	lsl	r3, r3, #2
	add	r3, r3, r4
	sub	r4, r2, r3
	ldr	r3, [r5]
	ldr	r2, .L32
	smull	r1, r2, r3, r2
	asr	r2, r2, #1
	asr	r3, r3, #31
	sub	r6, r2, r3
	ldr	r3, .L32+4
	ldr	r3, [r3]
	sub	r3, r3, #4
	str	r3, [fp, #-24]
	ldr	r3, .L32+8
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L26
	ldr	r3, .L32+4
	ldr	r3, [r3]
	sub	r3, r3, #4
	ldr	r2, .L32+8
	ldr	r2, [r2]
	str	r2, [r3]
	b	.L27
.L26:
	ldr	r3, .L32+12
	ldr	r2, [r3]
	ldr	r3, .L32+4
	ldr	r3, [r3]
	sub	r3, r2, r3
	asr	r3, r3, #2
	mov	r2, r3
	mov	r3, r2
	lsl	r3, r3, #2
	add	r1, r3, r2
	ldr	r3, .L32+8
	ldr	r2, [r3]
	ldr	r3, .L32+4
	ldr	r3, [r3]
	sub	r3, r3, #4
	add	r2, r1, r2
	str	r2, [r3]
.L27:
	mov	r3, r4
	cmp	r3, #4
	bhi	.L28
	ldr	r3, .L32+8
	str	r4, [r3]
	ldr	r3, .L32+16
	ldr	r3, [r3, r4, lsl #2]
	ldr	r2, .L32+20
	str	r3, [r2]
	ldr	r3, .L32+24
	ldr	r3, [r3, r4, lsl #2]
	ldr	r2, .L32+28
	str	r3, [r2]
	b	.L29
.L28:
	ldr	r3, .L32+32
	ldr	r3, [r3]
	mov	r2, #43
	mov	r1, #1
	ldr	r0, .L32+36
	bl	fwrite
.L29:
	add	r3, r5, #4
	ldr	r2, .L32+4
	str	r3, [r2]
	ldr	r3, .L32+8
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L30
	ldr	r3, .L32+4
	ldr	r2, [r3]
	mov	r3, r6
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, .L32+12
	str	r3, [r2]
	ldr	r3, .L32+4
	ldr	r4, [r3]
	ldr	r3, .L32+28
	ldr	r3, [r3]
	add	r3, r6, r3
	ldr	r2, .L32+20
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	__aeabi_idivmod
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r4, r3
	ldr	r2, .L32+40
	str	r3, [r2]
.L30:
	ldr	r3, .L32+4
	ldr	r2, [r3]
	ldr	r3, .L32+20
	ldr	r3, [r3]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, .L32+44
	str	r3, [r2]
	ldr	r3, [fp, #-24]
	mov	r0, r3
	sub	sp, fp, #16
	@ sp needed
	pop	{r4, r5, r6, fp, pc}
.L33:
	.align	2
.L32:
	.word	1717986919
	.word	state
	.word	rand_type
	.word	rptr
	.word	degrees
	.word	rand_deg
	.word	seps
	.word	rand_sep
	.word	stderr
	.word	.LC1
	.word	fptr
	.word	end_ptr
	.size	setstate, .-setstate
	.align	2
	.global	random
	.syntax unified
	.arm
	.fpu softvfp
	.type	random, %function
random:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	ldr	r3, .L39
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L35
	ldr	r3, .L39+4
	ldr	r3, [r3]
	ldr	r3, [r3]
	ldr	r2, .L39+8
	mul	r3, r2, r3
	add	r3, r3, #12288
	add	r3, r3, #57
	ldr	r2, .L39+4
	ldr	r2, [r2]
	bic	r3, r3, #-2147483648
	str	r3, [r2]
	ldr	r3, [r2]
	str	r3, [fp, #-8]
	b	.L36
.L35:
	ldr	r3, .L39+12
	ldr	r3, [r3]
	ldr	r1, [r3]
	ldr	r3, .L39+16
	ldr	r3, [r3]
	ldr	r2, [r3]
	ldr	r3, .L39+12
	ldr	r3, [r3]
	add	r2, r1, r2
	str	r2, [r3]
	ldr	r3, .L39+12
	ldr	r3, [r3]
	ldr	r3, [r3]
	lsr	r3, r3, #1
	str	r3, [fp, #-8]
	ldr	r3, .L39+12
	ldr	r3, [r3]
	add	r3, r3, #4
	ldr	r2, .L39+12
	str	r3, [r2]
	ldr	r3, .L39+12
	ldr	r2, [r3]
	ldr	r3, .L39+20
	ldr	r3, [r3]
	cmp	r2, r3
	bcc	.L37
	ldr	r3, .L39+4
	ldr	r3, [r3]
	ldr	r2, .L39+12
	str	r3, [r2]
	ldr	r3, .L39+16
	ldr	r3, [r3]
	add	r3, r3, #4
	ldr	r2, .L39+16
	str	r3, [r2]
	b	.L36
.L37:
	ldr	r3, .L39+16
	ldr	r3, [r3]
	add	r3, r3, #4
	ldr	r2, .L39+16
	str	r3, [r2]
	ldr	r3, .L39+16
	ldr	r2, [r3]
	ldr	r3, .L39+20
	ldr	r3, [r3]
	cmp	r2, r3
	bcc	.L36
	ldr	r3, .L39+4
	ldr	r3, [r3]
	ldr	r2, .L39+16
	str	r3, [r2]
.L36:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L40:
	.align	2
.L39:
	.word	rand_type
	.word	state
	.word	1103515245
	.word	fptr
	.word	rptr
	.word	end_ptr
	.size	random, .-random
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
