	.file	"592473.c"
	.intel_syntax noprefix
	.text
	.globl	root
	.bss
	.align 8
	.type	root, @object
	.size	root, 8
root:
	.zero	8
	.section	.rodata
.LC0:
	.string	"Default linked list is: "
.LC1:
	.string	"Please select a process:"
.LC2:
	.string	"Press '1' to Add"
.LC3:
	.string	"Press '2' to Insert"
.LC4:
	.string	"Press '3' to Add Sequential"
.LC5:
	.string	"Press '4' to Remove"
.LC6:
	.string	"Press '5' to Pop"
.LC7:
	.string	"Press '6' to Push"
.LC8:
	.string	"Press '7' to Enque"
.LC9:
	.string	"Press '8' to Deque"
.LC10:
	.string	"Press '9' to Insertion Sort"
.LC11:
	.string	"Press '10' to Selection Sort"
.LC12:
	.string	"Press '11' to Bubble Sort"
.LC13:
	.string	"Press '12' to Linear Search"
.LC14:
	.string	"Press '0' to Quit\n"
	.align 8
.LC15:
	.string	"Enter a number to make a chose: "
.LC16:
	.string	"%d"
	.align 8
.LC17:
	.string	"Please enter a number to add into linked list:"
	.align 8
.LC18:
	.string	"Please enter a number to add before the limit that you'll select:"
	.align 8
.LC19:
	.string	"Please enter a member of linked list, so program adds given number before that:"
	.align 8
.LC20:
	.string	"Please enter a number, so program adds the number before first value that bigger than that:"
	.align 8
.LC21:
	.string	"Please enter a number to remove from linked list:"
	.align 8
.LC22:
	.string	"Please enter a number to Push:"
	.align 8
.LC23:
	.string	"Please enter a number for Enque:"
	.align 8
.LC24:
	.string	"\nPlease make a chose in range."
.LC25:
	.string	"\n\nCurrent linked list is: "
.LC26:
	.string	"\n"
	.align 8
.LC27:
	.string	"\n\nLast version of linked list is: "
	.text
	.globl	main
	.type	main, @function
main:
.LFB6:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	eax, 0
	call	GenerateDefaultList
	mov	edi, 10
	call	putchar@PLT
	mov	edi, 10
	call	putchar@PLT
	lea	rdi, .LC0[rip]
	call	puts@PLT
	mov	eax, 0
	call	ToList
	mov	edi, 10
	call	putchar@PLT
	mov	edi, 10
	call	putchar@PLT
.L24:
	lea	rdi, .LC1[rip]
	call	puts@PLT
	lea	rdi, .LC2[rip]
	call	puts@PLT
	lea	rdi, .LC3[rip]
	call	puts@PLT
	lea	rdi, .LC4[rip]
	call	puts@PLT
	lea	rdi, .LC5[rip]
	call	puts@PLT
	lea	rdi, .LC6[rip]
	call	puts@PLT
	lea	rdi, .LC7[rip]
	call	puts@PLT
	lea	rdi, .LC8[rip]
	call	puts@PLT
	lea	rdi, .LC9[rip]
	call	puts@PLT
	lea	rdi, .LC10[rip]
	call	puts@PLT
	lea	rdi, .LC11[rip]
	call	puts@PLT
	lea	rdi, .LC12[rip]
	call	puts@PLT
	lea	rdi, .LC13[rip]
	call	puts@PLT
	lea	rdi, .LC14[rip]
	call	puts@PLT
	lea	rdi, .LC15[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rax, -20[rbp]
	mov	rsi, rax
	lea	rdi, .LC16[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	mov	edi, 10
	call	putchar@PLT
	mov	eax, DWORD PTR -20[rbp]
	cmp	eax, 12
	ja	.L2
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L4[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L4[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L4:
	.long	.L27-.L4
	.long	.L15-.L4
	.long	.L14-.L4
	.long	.L13-.L4
	.long	.L12-.L4
	.long	.L11-.L4
	.long	.L10-.L4
	.long	.L9-.L4
	.long	.L8-.L4
	.long	.L7-.L4
	.long	.L6-.L4
	.long	.L5-.L4
	.long	.L3-.L4
	.text
.L15:
	lea	rdi, .LC17[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rax, -16[rbp]
	mov	rsi, rax
	lea	rdi, .LC16[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	mov	eax, DWORD PTR -16[rbp]
	mov	edi, eax
	call	ToAdd
	jmp	.L17
.L14:
	mov	eax, 0
	call	Check
	test	eax, eax
	je	.L28
	lea	rdi, .LC18[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rax, -16[rbp]
	mov	rsi, rax
	lea	rdi, .LC16[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	mov	edi, 10
	call	putchar@PLT
	lea	rdi, .LC19[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rax, -12[rbp]
	mov	rsi, rax
	lea	rdi, .LC16[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	mov	edx, DWORD PTR -12[rbp]
	mov	eax, DWORD PTR -16[rbp]
	mov	esi, edx
	mov	edi, eax
	call	ToInsert
	jmp	.L17
.L13:
	mov	eax, 0
	call	Check
	test	eax, eax
	je	.L29
	lea	rdi, .LC20[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rax, -16[rbp]
	mov	rsi, rax
	lea	rdi, .LC16[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	mov	eax, DWORD PTR -16[rbp]
	mov	edi, eax
	call	ToAddSequential
	jmp	.L17
.L12:
	mov	eax, 0
	call	Check
	test	eax, eax
	je	.L30
	lea	rdi, .LC21[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rax, -16[rbp]
	mov	rsi, rax
	lea	rdi, .LC16[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	mov	eax, DWORD PTR -16[rbp]
	mov	edi, eax
	call	ToRemove
	jmp	.L17
.L11:
	mov	eax, 0
	call	Check
	test	eax, eax
	je	.L31
	mov	eax, 0
	call	Pop
	jmp	.L17
.L10:
	lea	rdi, .LC22[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rax, -16[rbp]
	mov	rsi, rax
	lea	rdi, .LC16[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	mov	eax, DWORD PTR -16[rbp]
	mov	edi, eax
	call	Push
	jmp	.L17
.L9:
	lea	rdi, .LC23[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rax, -16[rbp]
	mov	rsi, rax
	lea	rdi, .LC16[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	mov	eax, DWORD PTR -16[rbp]
	mov	edi, eax
	call	EnQue
	jmp	.L17
.L8:
	mov	eax, 0
	call	DeQue
	jmp	.L17
.L7:
	mov	eax, 0
	call	InsertionSort
	jmp	.L17
.L6:
	mov	eax, 0
	call	SelectionSort
	jmp	.L17
.L5:
	mov	eax, 0
	call	BubbleSort
	jmp	.L17
.L3:
	mov	eax, 0
	call	LinearSearch
	jmp	.L17
.L2:
	lea	rdi, .LC24[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L17
.L27:
	nop
	jmp	.L17
.L28:
	nop
	jmp	.L17
.L29:
	nop
	jmp	.L17
.L30:
	nop
	jmp	.L17
.L31:
	nop
.L17:
	mov	eax, DWORD PTR -20[rbp]
	test	eax, eax
	je	.L32
	mov	DWORD PTR -16[rbp], 0
	mov	DWORD PTR -12[rbp], 0
	lea	rdi, .LC25[rip]
	call	puts@PLT
	mov	eax, 0
	call	ToList
	lea	rdi, .LC26[rip]
	call	puts@PLT
	jmp	.L24
.L32:
	nop
	lea	rdi, .LC27[rip]
	call	puts@PLT
	mov	eax, 0
	call	ToList
	lea	rdi, .LC26[rip]
	call	puts@PLT
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L25
	call	__stack_chk_fail@PLT
.L25:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	main, .-main
	.section	.rodata
.LC28:
	.string	"\nERROR! Linked List is empty."
	.text
	.globl	Check
	.type	Check, @function
Check:
.LFB7:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	rax, QWORD PTR root[rip]
	test	rax, rax
	jne	.L34
	lea	rdi, .LC28[rip]
	call	puts@PLT
	mov	eax, 0
	jmp	.L35
.L34:
	mov	eax, 1
.L35:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	Check, .-Check
	.section	.rodata
	.align 8
.LC29:
	.string	"\nERROR! Unfortunately, program couldn't find the value in linked list that you entered."
	.text
	.globl	Search
	.type	Search, @function
Search:
.LFB8:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	jne	.L37
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -12[rbp], eax
	je	.L37
	lea	rdi, .LC29[rip]
	call	puts@PLT
	mov	eax, 0
	jmp	.L38
.L37:
	mov	eax, 1
.L38:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	Search, .-Search
	.globl	GenerateFirstElement
	.type	GenerateFirstElement, @function
GenerateFirstElement:
.LFB9:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -4[rbp], edi
	mov	edi, 16
	call	malloc@PLT
	mov	QWORD PTR root[rip], rax
	mov	rax, QWORD PTR root[rip]
	mov	edx, DWORD PTR -4[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR root[rip]
	mov	QWORD PTR 8[rax], 0
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	GenerateFirstElement, .-GenerateFirstElement
	.globl	GenerateDefaultList
	.type	GenerateDefaultList, @function
GenerateDefaultList:
.LFB10:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], 1
	mov	edi, 16
	call	malloc@PLT
	mov	QWORD PTR root[rip], rax
	mov	rax, QWORD PTR root[rip]
	mov	DWORD PTR [rax], 5
	mov	rax, QWORD PTR root[rip]
	mov	QWORD PTR 8[rax], 0
	mov	rax, QWORD PTR root[rip]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L41
.L42:
	mov	edi, 16
	call	malloc@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	edx, DWORD PTR -20[rbp]
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], 0
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -16[rbp], rax
	add	DWORD PTR -20[rbp], 1
.L41:
	cmp	DWORD PTR -20[rbp], 5
	jle	.L42
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	GenerateDefaultList, .-GenerateDefaultList
	.section	.rodata
.LC30:
	.string	"| %d |"
	.text
	.globl	ToList
	.type	ToList, @function
ToList:
.LFB11:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	rax, QWORD PTR root[rip]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L44
.L45:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	mov	esi, eax
	lea	rdi, .LC30[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -8[rbp], rax
.L44:
	cmp	QWORD PTR -8[rbp], 0
	jne	.L45
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	ToList, .-ToList
	.globl	ToAdd
	.type	ToAdd, @function
ToAdd:
.LFB12:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	rax, QWORD PTR root[rip]
	test	rax, rax
	jne	.L47
	mov	eax, DWORD PTR -20[rbp]
	mov	edi, eax
	call	GenerateFirstElement
	jmp	.L46
.L47:
	mov	rax, QWORD PTR root[rip]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L49
.L50:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -8[rbp], rax
.L49:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	jne	.L50
	mov	edi, 16
	call	malloc@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	edx, DWORD PTR -20[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR 8[rax], 0
.L46:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE12:
	.size	ToAdd, .-ToAdd
	.globl	ToInsert
	.type	ToInsert, @function
ToInsert:
.LFB13:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -24[rbp], esi
	mov	rax, QWORD PTR root[rip]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L52
.L54:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -16[rbp], rax
.L52:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L53
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -24[rbp], eax
	jne	.L54
.L53:
	mov	edx, DWORD PTR -24[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	Search
	test	eax, eax
	je	.L57
	mov	edi, 16
	call	malloc@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -20[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR root[rip], rax
	jmp	.L51
.L57:
	nop
.L51:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE13:
	.size	ToInsert, .-ToInsert
	.globl	ToAddSequential
	.type	ToAddSequential, @function
ToAddSequential:
.LFB14:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	rax, QWORD PTR root[rip]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L59
.L61:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -16[rbp], rax
.L59:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L60
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -20[rbp], eax
	jg	.L61
.L60:
	mov	edi, 16
	call	malloc@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -20[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -20[rbp], eax
	jg	.L62
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR root[rip], rax
	jmp	.L65
.L62:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	jne	.L64
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], 0
	jmp	.L65
.L64:
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], rdx
.L65:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE14:
	.size	ToAddSequential, .-ToAddSequential
	.globl	ToRemove
	.type	ToRemove, @function
ToRemove:
.LFB15:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	rax, QWORD PTR root[rip]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR root[rip]
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -20[rbp], eax
	jne	.L69
	mov	rax, QWORD PTR root[rip]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR root[rip], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	free@PLT
	jmp	.L66
.L71:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -16[rbp], rax
.L69:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L70
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -20[rbp], eax
	jne	.L71
.L70:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	edx, DWORD PTR -20[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	Search
	test	eax, eax
	je	.L73
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -20[rbp], eax
	jne	.L66
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	free@PLT
	jmp	.L66
.L73:
	nop
.L66:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE15:
	.size	ToRemove, .-ToRemove
	.globl	Push
	.type	Push, @function
Push:
.LFB16:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	rax, QWORD PTR root[rip]
	test	rax, rax
	jne	.L75
	mov	eax, DWORD PTR -20[rbp]
	mov	edi, eax
	call	GenerateFirstElement
	jmp	.L74
.L75:
	mov	rax, QWORD PTR root[rip]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L77
.L78:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -16[rbp], rax
.L77:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	jne	.L78
	mov	edi, 16
	call	malloc@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -20[rbp]
	mov	DWORD PTR [rax], edx
	mov	edi, 16
	call	malloc@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], rdx
.L74:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE16:
	.size	Push, .-Push
	.globl	Pop
	.type	Pop, @function
Pop:
.LFB17:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	rax, QWORD PTR root[rip]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	jne	.L82
	mov	rax, QWORD PTR root[rip]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR root[rip], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	free@PLT
	jmp	.L79
.L83:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -16[rbp], rax
.L82:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	jne	.L83
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	free@PLT
.L79:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE17:
	.size	Pop, .-Pop
	.globl	EnQue
	.type	EnQue, @function
EnQue:
.LFB18:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	edi, 16
	call	malloc@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR root[rip]
	test	rax, rax
	jne	.L85
	mov	eax, DWORD PTR -20[rbp]
	mov	edi, eax
	call	GenerateFirstElement
	jmp	.L84
.L85:
	mov	rax, QWORD PTR root[rip]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L87
.L88:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -16[rbp], rax
.L87:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	jne	.L88
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -20[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], 0
.L84:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE18:
	.size	EnQue, .-EnQue
	.globl	DeQue
	.type	DeQue, @function
DeQue:
.LFB19:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	rax, QWORD PTR root[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR root[rip]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR root[rip], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	free@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE19:
	.size	DeQue, .-DeQue
	.globl	InsertionSort
	.type	InsertionSort, @function
InsertionSort:
.LFB20:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	rax, QWORD PTR root[rip]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR root[rip]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L91
.L94:
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	edx, eax
	jge	.L93
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -20[rbp], eax
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, DWORD PTR -20[rbp]
	mov	DWORD PTR [rax], edx
.L93:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -8[rbp], rax
.L92:
	mov	rax, QWORD PTR -8[rbp]
	cmp	rax, QWORD PTR -16[rbp]
	jne	.L94
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR root[rip]
	mov	QWORD PTR -8[rbp], rax
.L91:
	cmp	QWORD PTR -16[rbp], 0
	jne	.L92
	nop
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE20:
	.size	InsertionSort, .-InsertionSort
	.globl	SelectionSort
	.type	SelectionSort, @function
SelectionSort:
.LFB21:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	rax, QWORD PTR root[rip]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR root[rip]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR root[rip]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -32[rbp], eax
	jmp	.L97
.L100:
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -32[rbp], eax
	jl	.L99
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -32[rbp], eax
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -8[rbp], rax
.L99:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -16[rbp], rax
.L98:
	cmp	QWORD PTR -16[rbp], 0
	jne	.L100
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -32[rbp], eax
	je	.L101
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -28[rbp], eax
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -32[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -28[rbp]
	mov	DWORD PTR [rax], edx
.L101:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -32[rbp], eax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -16[rbp], rax
.L97:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	jne	.L98
	nop
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE21:
	.size	SelectionSort, .-SelectionSort
	.globl	BubbleSort
	.type	BubbleSort, @function
BubbleSort:
.LFB22:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -16[rbp], 1
	jmp	.L104
.L108:
	mov	DWORD PTR -16[rbp], 0
	mov	rax, QWORD PTR root[rip]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L105
.L107:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	edx, eax
	jge	.L106
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -12[rbp], eax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	edx, DWORD PTR -12[rbp]
	mov	DWORD PTR [rax], edx
	add	DWORD PTR -16[rbp], 1
.L106:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -8[rbp], rax
.L105:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	jne	.L107
.L104:
	cmp	DWORD PTR -16[rbp], 0
	jne	.L108
	nop
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE22:
	.size	BubbleSort, .-BubbleSort
	.section	.rodata
	.align 8
.LC31:
	.string	"Please enter a number you want to search:"
	.align 8
.LC32:
	.string	"Number(%d) has found in %d. index.\n"
	.align 8
.LC33:
	.string	"\nERROR! Unfortunately, program couldn't have found the number that you're seeking."
	.text
	.globl	LinearSearch
	.type	LinearSearch, @function
LinearSearch:
.LFB23:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -24[rbp], 0
	mov	DWORD PTR -20[rbp], 0
	mov	rax, QWORD PTR root[rip]
	mov	QWORD PTR -16[rbp], rax
	lea	rdi, .LC31[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rax, -28[rbp]
	mov	rsi, rax
	lea	rdi, .LC16[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	jmp	.L110
.L112:
	add	DWORD PTR -20[rbp], 1
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -28[rbp]
	cmp	edx, eax
	jne	.L111
	mov	eax, DWORD PTR -28[rbp]
	mov	edx, DWORD PTR -20[rbp]
	mov	esi, eax
	lea	rdi, .LC32[rip]
	mov	eax, 0
	call	printf@PLT
	add	DWORD PTR -24[rbp], 1
.L111:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -16[rbp], rax
.L110:
	cmp	QWORD PTR -16[rbp], 0
	jne	.L112
	cmp	DWORD PTR -24[rbp], 0
	jne	.L115
	lea	rdi, .LC33[rip]
	call	puts@PLT
.L115:
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L114
	call	__stack_chk_fail@PLT
.L114:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE23:
	.size	LinearSearch, .-LinearSearch
	.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	"592473.c"
	.text
	.comm	root,4,4
	.section	.rodata
	.align	2
.LC0:
	.ascii	"Default linked list is: \000"
	.align	2
.LC1:
	.ascii	"Please select a process:\000"
	.align	2
.LC2:
	.ascii	"Press '1' to Add\000"
	.align	2
.LC3:
	.ascii	"Press '2' to Insert\000"
	.align	2
.LC4:
	.ascii	"Press '3' to Add Sequential\000"
	.align	2
.LC5:
	.ascii	"Press '4' to Remove\000"
	.align	2
.LC6:
	.ascii	"Press '5' to Pop\000"
	.align	2
.LC7:
	.ascii	"Press '6' to Push\000"
	.align	2
.LC8:
	.ascii	"Press '7' to Enque\000"
	.align	2
.LC9:
	.ascii	"Press '8' to Deque\000"
	.align	2
.LC10:
	.ascii	"Press '9' to Insertion Sort\000"
	.align	2
.LC11:
	.ascii	"Press '10' to Selection Sort\000"
	.align	2
.LC12:
	.ascii	"Press '11' to Bubble Sort\000"
	.align	2
.LC13:
	.ascii	"Press '12' to Linear Search\000"
	.align	2
.LC14:
	.ascii	"Press '0' to Quit\012\000"
	.align	2
.LC15:
	.ascii	"Enter a number to make a chose: \000"
	.align	2
.LC16:
	.ascii	"%d\000"
	.align	2
.LC17:
	.ascii	"Please enter a number to add into linked list:\000"
	.align	2
.LC18:
	.ascii	"Please enter a number to add before the limit that "
	.ascii	"you'll select:\000"
	.align	2
.LC19:
	.ascii	"Please enter a member of linked list, so program ad"
	.ascii	"ds given number before that:\000"
	.align	2
.LC20:
	.ascii	"Please enter a number, so program adds the number b"
	.ascii	"efore first value that bigger than that:\000"
	.align	2
.LC21:
	.ascii	"Please enter a number to remove from linked list:\000"
	.align	2
.LC22:
	.ascii	"Please enter a number to Push:\000"
	.align	2
.LC23:
	.ascii	"Please enter a number for Enque:\000"
	.align	2
.LC24:
	.ascii	"\012Please make a chose in range.\000"
	.align	2
.LC25:
	.ascii	"\012\012Current linked list is: \000"
	.align	2
.LC26:
	.ascii	"\012\000"
	.align	2
.LC27:
	.ascii	"\012\012Last version of linked list is: \000"
	.align	2
.LC28:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	ldr	r3, .L33
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	bl	GenerateDefaultList
	mov	r0, #10
	bl	putchar
	mov	r0, #10
	bl	putchar
	ldr	r0, .L33+4
	bl	puts
	bl	ToList
	mov	r0, #10
	bl	putchar
	mov	r0, #10
	bl	putchar
.L24:
	ldr	r0, .L33+8
	bl	puts
	ldr	r0, .L33+12
	bl	puts
	ldr	r0, .L33+16
	bl	puts
	ldr	r0, .L33+20
	bl	puts
	ldr	r0, .L33+24
	bl	puts
	ldr	r0, .L33+28
	bl	puts
	ldr	r0, .L33+32
	bl	puts
	ldr	r0, .L33+36
	bl	puts
	ldr	r0, .L33+40
	bl	puts
	ldr	r0, .L33+44
	bl	puts
	ldr	r0, .L33+48
	bl	puts
	ldr	r0, .L33+52
	bl	puts
	ldr	r0, .L33+56
	bl	puts
	ldr	r0, .L33+60
	bl	puts
	ldr	r0, .L33+64
	bl	printf
	sub	r3, fp, #20
	mov	r1, r3
	ldr	r0, .L33+68
	bl	__isoc99_scanf
	mov	r0, #10
	bl	putchar
	ldr	r3, [fp, #-20]
	cmp	r3, #12
	ldrls	pc, [pc, r3, asl #2]
	b	.L2
.L4:
	.word	.L27
	.word	.L15
	.word	.L14
	.word	.L13
	.word	.L12
	.word	.L11
	.word	.L10
	.word	.L9
	.word	.L8
	.word	.L7
	.word	.L6
	.word	.L5
	.word	.L3
.L15:
	ldr	r0, .L33+72
	bl	printf
	sub	r3, fp, #16
	mov	r1, r3
	ldr	r0, .L33+68
	bl	__isoc99_scanf
	ldr	r3, [fp, #-16]
	mov	r0, r3
	bl	ToAdd
	b	.L17
.L14:
	bl	Check
	mov	r3, r0
	cmp	r3, #0
	beq	.L28
	ldr	r0, .L33+76
	bl	printf
	sub	r3, fp, #16
	mov	r1, r3
	ldr	r0, .L33+68
	bl	__isoc99_scanf
	mov	r0, #10
	bl	putchar
	ldr	r0, .L33+80
	bl	printf
	sub	r3, fp, #12
	mov	r1, r3
	ldr	r0, .L33+68
	bl	__isoc99_scanf
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-12]
	mov	r1, r2
	mov	r0, r3
	bl	ToInsert
	b	.L17
.L13:
	bl	Check
	mov	r3, r0
	cmp	r3, #0
	beq	.L29
	ldr	r0, .L33+84
	bl	printf
	sub	r3, fp, #16
	mov	r1, r3
	ldr	r0, .L33+68
	bl	__isoc99_scanf
	ldr	r3, [fp, #-16]
	mov	r0, r3
	bl	ToAddSequential
	b	.L17
.L12:
	bl	Check
	mov	r3, r0
	cmp	r3, #0
	beq	.L30
	ldr	r0, .L33+88
	bl	printf
	sub	r3, fp, #16
	mov	r1, r3
	ldr	r0, .L33+68
	bl	__isoc99_scanf
	ldr	r3, [fp, #-16]
	mov	r0, r3
	bl	ToRemove
	b	.L17
.L11:
	bl	Check
	mov	r3, r0
	cmp	r3, #0
	beq	.L31
	bl	Pop
	b	.L17
.L10:
	ldr	r0, .L33+92
	bl	printf
	sub	r3, fp, #16
	mov	r1, r3
	ldr	r0, .L33+68
	bl	__isoc99_scanf
	ldr	r3, [fp, #-16]
	mov	r0, r3
	bl	Push
	b	.L17
.L9:
	ldr	r0, .L33+96
	bl	printf
	sub	r3, fp, #16
	mov	r1, r3
	ldr	r0, .L33+68
	bl	__isoc99_scanf
	ldr	r3, [fp, #-16]
	mov	r0, r3
	bl	EnQue
	b	.L17
.L8:
	bl	DeQue
	b	.L17
.L7:
	bl	InsertionSort
	b	.L17
.L6:
	bl	SelectionSort
	b	.L17
.L5:
	bl	BubbleSort
	b	.L17
.L3:
	bl	LinearSearch
	b	.L17
.L2:
	ldr	r0, .L33+100
	bl	printf
	b	.L17
.L27:
	nop
	b	.L17
.L28:
	nop
	b	.L17
.L29:
	nop
	b	.L17
.L30:
	nop
	b	.L17
.L31:
	nop
.L17:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L32
	mov	r3, #0
	str	r3, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-12]
	ldr	r0, .L33+104
	bl	puts
	bl	ToList
	ldr	r0, .L33+108
	bl	puts
	b	.L24
.L32:
	nop
	ldr	r0, .L33+112
	bl	puts
	bl	ToList
	ldr	r0, .L33+108
	bl	puts
	nop
	ldr	r3, .L33
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L25
	bl	__stack_chk_fail
.L25:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L34:
	.align	2
.L33:
	.word	.LC28
	.word	.LC0
	.word	.LC1
	.word	.LC2
	.word	.LC3
	.word	.LC4
	.word	.LC5
	.word	.LC6
	.word	.LC7
	.word	.LC8
	.word	.LC9
	.word	.LC10
	.word	.LC11
	.word	.LC12
	.word	.LC13
	.word	.LC14
	.word	.LC15
	.word	.LC16
	.word	.LC17
	.word	.LC18
	.word	.LC19
	.word	.LC20
	.word	.LC21
	.word	.LC22
	.word	.LC23
	.word	.LC24
	.word	.LC25
	.word	.LC26
	.word	.LC27
	.size	main, .-main
	.section	.rodata
	.align	2
.LC29:
	.ascii	"\012ERROR! Linked List is empty.\000"
	.text
	.align	2
	.global	Check
	.syntax unified
	.arm
	.fpu softvfp
	.type	Check, %function
Check:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L38
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L36
	ldr	r0, .L38+4
	bl	puts
	mov	r3, #0
	b	.L37
.L36:
	mov	r3, #1
.L37:
	mov	r0, r3
	pop	{fp, pc}
.L39:
	.align	2
.L38:
	.word	root
	.word	.LC29
	.size	Check, .-Check
	.section	.rodata
	.align	2
.LC30:
	.ascii	"\012ERROR! Unfortunately, program couldn't find the"
	.ascii	" value in linked list that you entered.\000"
	.text
	.align	2
	.global	Search
	.syntax unified
	.arm
	.fpu softvfp
	.type	Search, %function
Search:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L41
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	beq	.L41
	ldr	r0, .L43
	bl	puts
	mov	r3, #0
	b	.L42
.L41:
	mov	r3, #1
.L42:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L44:
	.align	2
.L43:
	.word	.LC30
	.size	Search, .-Search
	.align	2
	.global	GenerateFirstElement
	.syntax unified
	.arm
	.fpu softvfp
	.type	GenerateFirstElement, %function
GenerateFirstElement:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	mov	r0, #8
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L46
	str	r2, [r3]
	ldr	r3, .L46
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	ldr	r3, .L46
	ldr	r3, [r3]
	mov	r2, #0
	str	r2, [r3, #4]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L47:
	.align	2
.L46:
	.word	root
	.size	GenerateFirstElement, .-GenerateFirstElement
	.align	2
	.global	GenerateDefaultList
	.syntax unified
	.arm
	.fpu softvfp
	.type	GenerateDefaultList, %function
GenerateDefaultList:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	mov	r3, #1
	str	r3, [fp, #-16]
	mov	r0, #8
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L51
	str	r2, [r3]
	ldr	r3, .L51
	ldr	r3, [r3]
	mov	r2, #5
	str	r2, [r3]
	ldr	r3, .L51
	ldr	r3, [r3]
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, .L51
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	b	.L49
.L50:
	mov	r0, #8
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #1
	mov	r2, r3
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L49:
	ldr	r3, [fp, #-16]
	cmp	r3, #5
	ble	.L50
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L52:
	.align	2
.L51:
	.word	root
	.size	GenerateDefaultList, .-GenerateDefaultList
	.section	.rodata
	.align	2
.LC31:
	.ascii	"| %d |\000"
	.text
	.align	2
	.global	ToList
	.syntax unified
	.arm
	.fpu softvfp
	.type	ToList, %function
ToList:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	ldr	r3, .L56
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	b	.L54
.L55:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L56+4
	bl	printf
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-8]
.L54:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L55
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L57:
	.align	2
.L56:
	.word	root
	.word	.LC31
	.size	ToList, .-ToList
	.align	2
	.global	ToAdd
	.syntax unified
	.arm
	.fpu softvfp
	.type	ToAdd, %function
ToAdd:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r3, .L63
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L59
	ldr	r0, [fp, #-16]
	bl	GenerateFirstElement
	b	.L58
.L59:
	ldr	r3, .L63
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	b	.L61
.L62:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-8]
.L61:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L62
	mov	r0, #8
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	mov	r2, #0
	str	r2, [r3, #4]
.L58:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L64:
	.align	2
.L63:
	.word	root
	.size	ToAdd, .-ToAdd
	.align	2
	.global	ToInsert
	.syntax unified
	.arm
	.fpu softvfp
	.type	ToInsert, %function
ToInsert:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, .L72
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	b	.L66
.L68:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-12]
.L66:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L67
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	bne	.L68
.L67:
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-12]
	bl	Search
	mov	r3, r0
	cmp	r3, #0
	beq	.L71
	mov	r0, #8
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	ldr	r2, .L72
	ldr	r3, [fp, #-8]
	str	r3, [r2]
	b	.L65
.L71:
	nop
.L65:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L73:
	.align	2
.L72:
	.word	root
	.size	ToInsert, .-ToInsert
	.align	2
	.global	ToAddSequential
	.syntax unified
	.arm
	.fpu softvfp
	.type	ToAddSequential, %function
ToAddSequential:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r3, .L82
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	b	.L75
.L77:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-12]
.L75:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L76
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	ldr	r3, [r3]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	bgt	.L77
.L76:
	mov	r0, #8
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	bgt	.L78
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #4]
	ldr	r2, .L82
	ldr	r3, [fp, #-8]
	str	r3, [r2]
	b	.L81
.L78:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L80
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #4]
	b	.L81
.L80:
	ldr	r3, [fp, #-12]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #4]
.L81:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L83:
	.align	2
.L82:
	.word	root
	.size	ToAddSequential, .-ToAddSequential
	.align	2
	.global	ToRemove
	.syntax unified
	.arm
	.fpu softvfp
	.type	ToRemove, %function
ToRemove:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r3, .L92
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, .L92
	ldr	r3, [r3]
	ldr	r3, [r3]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	bne	.L87
	ldr	r3, .L92
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r2, .L92
	str	r3, [r2]
	ldr	r0, [fp, #-12]
	bl	free
	b	.L84
.L89:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-12]
.L87:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L88
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	ldr	r3, [r3]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	bne	.L89
.L88:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	ldr	r1, [fp, #-16]
	mov	r0, r3
	bl	Search
	mov	r3, r0
	cmp	r3, #0
	beq	.L91
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	ldr	r3, [r3]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	bne	.L84
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-12]
	str	r2, [r3, #4]
	ldr	r0, [fp, #-8]
	bl	free
	b	.L84
.L91:
	nop
.L84:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L93:
	.align	2
.L92:
	.word	root
	.size	ToRemove, .-ToRemove
	.align	2
	.global	Push
	.syntax unified
	.arm
	.fpu softvfp
	.type	Push, %function
Push:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r3, .L99
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L95
	ldr	r0, [fp, #-16]
	bl	GenerateFirstElement
	b	.L94
.L95:
	ldr	r3, .L99
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	b	.L97
.L98:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-12]
.L97:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L98
	mov	r0, #8
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	mov	r0, #8
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-12]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #4]
.L94:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L100:
	.align	2
.L99:
	.word	root
	.size	Push, .-Push
	.align	2
	.global	Pop
	.syntax unified
	.arm
	.fpu softvfp
	.type	Pop, %function
Pop:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	ldr	r3, .L106
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L104
	ldr	r3, .L106
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r2, .L106
	str	r3, [r2]
	ldr	r0, [fp, #-12]
	bl	free
	b	.L101
.L105:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-12]
.L104:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L105
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-12]
	str	r2, [r3, #4]
	ldr	r0, [fp, #-8]
	bl	free
.L101:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L107:
	.align	2
.L106:
	.word	root
	.size	Pop, .-Pop
	.align	2
	.global	EnQue
	.syntax unified
	.arm
	.fpu softvfp
	.type	EnQue, %function
EnQue:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	mov	r0, #8
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, .L113
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L109
	ldr	r0, [fp, #-16]
	bl	GenerateFirstElement
	b	.L108
.L109:
	ldr	r3, .L113
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	b	.L111
.L112:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-12]
.L111:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L112
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #4]
.L108:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L114:
	.align	2
.L113:
	.word	root
	.size	EnQue, .-EnQue
	.align	2
	.global	DeQue
	.syntax unified
	.arm
	.fpu softvfp
	.type	DeQue, %function
DeQue:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	ldr	r3, .L116
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, .L116
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r2, .L116
	str	r3, [r2]
	ldr	r0, [fp, #-8]
	bl	free
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L117:
	.align	2
.L116:
	.word	root
	.size	DeQue, .-DeQue
	.align	2
	.global	InsertionSort
	.syntax unified
	.arm
	.fpu softvfp
	.type	InsertionSort, %function
InsertionSort:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	ldr	r3, .L124
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-16]
	ldr	r3, .L124
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	b	.L119
.L122:
	ldr	r3, [fp, #-16]
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	cmp	r2, r3
	bge	.L121
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
.L121:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-12]
.L120:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	bne	.L122
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-16]
	ldr	r3, .L124
	ldr	r3, [r3]
	str	r3, [fp, #-12]
.L119:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L120
	nop
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L125:
	.align	2
.L124:
	.word	root
	.size	InsertionSort, .-InsertionSort
	.align	2
	.global	SelectionSort
	.syntax unified
	.arm
	.fpu softvfp
	.type	SelectionSort, %function
SelectionSort:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #28
	ldr	r3, .L133
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	ldr	r3, .L133
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-20]
	ldr	r3, .L133
	ldr	r3, [r3]
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	b	.L127
.L130:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	blt	.L129
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-16]
.L129:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-20]
.L128:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L130
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	beq	.L131
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
.L131:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-20]
.L127:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L128
	nop
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L134:
	.align	2
.L133:
	.word	root
	.size	SelectionSort, .-SelectionSort
	.align	2
	.global	BubbleSort
	.syntax unified
	.arm
	.fpu softvfp
	.type	BubbleSort, %function
BubbleSort:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	mov	r3, #1
	str	r3, [fp, #-12]
	b	.L136
.L140:
	mov	r3, #0
	str	r3, [fp, #-12]
	ldr	r3, .L141
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	b	.L137
.L139:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	cmp	r2, r3
	bge	.L138
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L138:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-16]
.L137:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L139
.L136:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L140
	nop
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L142:
	.align	2
.L141:
	.word	root
	.size	BubbleSort, .-BubbleSort
	.section	.rodata
	.align	2
.LC32:
	.ascii	"Please enter a number you want to search:\000"
	.align	2
.LC33:
	.ascii	"Number(%d) has found in %d. index.\012\000"
	.align	2
.LC34:
	.ascii	"\012ERROR! Unfortunately, program couldn't have fou"
	.ascii	"nd the number that you're seeking.\000"
	.align	2
.LC35:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	LinearSearch
	.syntax unified
	.arm
	.fpu softvfp
	.type	LinearSearch, %function
LinearSearch:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	ldr	r3, .L150
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-12]
	ldr	r3, .L150+4
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	ldr	r0, .L150+8
	bl	printf
	sub	r3, fp, #24
	mov	r1, r3
	ldr	r0, .L150+12
	bl	__isoc99_scanf
	b	.L144
.L146:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-20]
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	bne	.L145
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-12]
	mov	r1, r3
	ldr	r0, .L150+16
	bl	printf
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L145:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-20]
.L144:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L146
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L149
	ldr	r0, .L150+20
	bl	puts
.L149:
	nop
	ldr	r3, .L150
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L148
	bl	__stack_chk_fail
.L148:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L151:
	.align	2
.L150:
	.word	.LC35
	.word	root
	.word	.LC32
	.word	.LC16
	.word	.LC33
	.word	.LC34
	.size	LinearSearch, .-LinearSearch
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
