	.file	"15763464.c"
	.intel_syntax noprefix
	.text
	.globl	start
	.bss
	.align 8
	.type	start, @object
	.size	start, 8
start:
	.zero	8
	.globl	tmp
	.align 8
	.type	tmp, @object
	.size	tmp, 8
tmp:
	.zero	8
	.globl	ptr
	.align 8
	.type	ptr, @object
	.size	ptr, 8
ptr:
	.zero	8
	.section	.rodata
.LC0:
	.string	"\n...M.E.N.U..."
.LC1:
	.string	"1...Create List."
.LC2:
	.string	"2...Display List."
.LC3:
	.string	"3...Insert at beginning."
.LC4:
	.string	"4...Insert at the end."
.LC5:
	.string	"5...Count nodes."
	.align 8
.LC6:
	.string	"6...Insert at specific position."
	.align 8
.LC7:
	.string	"7...Insert before a given node."
.LC8:
	.string	"8...Search an element."
.LC9:
	.string	"9...Delete first element."
.LC10:
	.string	"10...Delete last element."
.LC11:
	.string	"11...Delete any element."
.LC12:
	.string	"12...Update a node."
.LC13:
	.string	"13...Reverse the List."
.LC14:
	.string	"0...EXIT."
.LC15:
	.string	"\nEnter your choice:"
.LC16:
	.string	"%d"
.LC17:
	.string	"\nEnd of Program"
.LC18:
	.string	"\nInvalid Input!!"
	.text
	.globl	main
	.type	main, @function
main:
.LFB0:
	.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 fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
.L19:
	lea	rdi, .LC0[rip]
	call	puts@PLT
	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, -12[rbp]
	mov	rsi, rax
	lea	rdi, .LC16[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	mov	eax, DWORD PTR -12[rbp]
	cmp	eax, 13
	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	.L17-.L4
	.long	.L16-.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
.L17:
	lea	rdi, .LC17[rip]
	call	puts@PLT
	jmp	.L18
.L16:
	mov	eax, 0
	call	createList
	jmp	.L18
.L15:
	mov	eax, 0
	call	displayList
	jmp	.L18
.L14:
	mov	eax, 0
	call	insertBeg
	jmp	.L18
.L13:
	mov	eax, 0
	call	insertEnd
	jmp	.L18
.L12:
	mov	eax, 0
	call	countNodes
	jmp	.L18
.L11:
	mov	eax, 0
	call	insertAt
	jmp	.L18
.L10:
	mov	eax, 0
	call	insertBefore
	jmp	.L18
.L9:
	mov	eax, 0
	call	searchNode
	jmp	.L18
.L8:
	mov	eax, 0
	call	deleteFirst
	jmp	.L18
.L7:
	mov	eax, 0
	call	deleteLast
	jmp	.L18
.L6:
	mov	eax, 0
	call	deleteAny
	jmp	.L18
.L5:
	mov	eax, 0
	call	updateNode
	jmp	.L18
.L3:
	mov	eax, 0
	call	reverseList
	jmp	.L18
.L2:
	lea	rdi, .LC18[rip]
	call	puts@PLT
	nop
.L18:
	mov	eax, DWORD PTR -12[rbp]
	test	eax, eax
	jne	.L19
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L20
	call	__stack_chk_fail@PLT
.L20:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	main, .-main
	.section	.rodata
.LC19:
	.string	"\nEnter value:"
	.text
	.globl	createList
	.type	createList, @function
createList:
.LFB1:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	edi, 24
	call	malloc@PLT
	mov	QWORD PTR ptr[rip], rax
	lea	rdi, .LC19[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR ptr[rip]
	mov	rsi, rax
	lea	rdi, .LC16[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	mov	rax, QWORD PTR ptr[rip]
	mov	QWORD PTR 16[rax], 0
	mov	rax, QWORD PTR start[rip]
	test	rax, rax
	jne	.L22
	mov	rax, QWORD PTR ptr[rip]
	mov	QWORD PTR start[rip], rax
	mov	rax, QWORD PTR ptr[rip]
	mov	QWORD PTR tmp[rip], rax
	jmp	.L24
.L22:
	mov	rax, QWORD PTR tmp[rip]
	mov	rdx, QWORD PTR ptr[rip]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR ptr[rip]
	mov	QWORD PTR tmp[rip], rax
.L24:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1:
	.size	createList, .-createList
	.section	.rodata
.LC20:
	.string	"%d->"
	.text
	.globl	displayList
	.type	displayList, @function
displayList:
.LFB2:
	.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 start[rip]
	mov	QWORD PTR tmp[rip], rax
	jmp	.L26
.L27:
	mov	rax, QWORD PTR tmp[rip]
	mov	eax, DWORD PTR [rax]
	mov	esi, eax
	lea	rdi, .LC20[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR tmp[rip]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR tmp[rip], rax
.L26:
	mov	rax, QWORD PTR tmp[rip]
	test	rax, rax
	jne	.L27
	mov	edi, 10
	call	putchar@PLT
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE2:
	.size	displayList, .-displayList
	.globl	insertBeg
	.type	insertBeg, @function
insertBeg:
.LFB3:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	edi, 24
	call	malloc@PLT
	mov	QWORD PTR ptr[rip], rax
	lea	rdi, .LC19[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR ptr[rip]
	mov	rsi, rax
	lea	rdi, .LC16[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	mov	rax, QWORD PTR ptr[rip]
	mov	rdx, QWORD PTR start[rip]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR ptr[rip]
	mov	QWORD PTR start[rip], rax
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE3:
	.size	insertBeg, .-insertBeg
	.globl	insertEnd
	.type	insertEnd, @function
insertEnd:
.LFB4:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	edi, 24
	call	malloc@PLT
	mov	QWORD PTR ptr[rip], rax
	lea	rdi, .LC19[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR ptr[rip]
	mov	rsi, rax
	lea	rdi, .LC16[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	mov	rax, QWORD PTR ptr[rip]
	mov	QWORD PTR 16[rax], 0
	mov	rax, QWORD PTR start[rip]
	mov	QWORD PTR tmp[rip], rax
	jmp	.L30
.L31:
	mov	rax, QWORD PTR tmp[rip]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR tmp[rip], rax
.L30:
	mov	rax, QWORD PTR tmp[rip]
	mov	rax, QWORD PTR 16[rax]
	test	rax, rax
	jne	.L31
	mov	rax, QWORD PTR tmp[rip]
	mov	rdx, QWORD PTR ptr[rip]
	mov	QWORD PTR 16[rax], rdx
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE4:
	.size	insertEnd, .-insertEnd
	.section	.rodata
.LC21:
	.string	"\nNumber of Nodes are: %d\n"
	.text
	.globl	countNodes
	.type	countNodes, @function
countNodes:
.LFB5:
	.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], 0
	mov	rax, QWORD PTR start[rip]
	mov	QWORD PTR tmp[rip], rax
	jmp	.L33
.L34:
	add	DWORD PTR -4[rbp], 1
	mov	rax, QWORD PTR tmp[rip]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR tmp[rip], rax
.L33:
	mov	rax, QWORD PTR tmp[rip]
	test	rax, rax
	jne	.L34
	mov	eax, DWORD PTR -4[rbp]
	mov	esi, eax
	lea	rdi, .LC21[rip]
	mov	eax, 0
	call	printf@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE5:
	.size	countNodes, .-countNodes
	.section	.rodata
.LC22:
	.string	"\nAfter which one to insert:"
	.text
	.globl	insertAt
	.type	insertAt, @function
insertAt:
.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, 16
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -12[rbp], 1
	mov	rax, QWORD PTR start[rip]
	mov	QWORD PTR tmp[rip], rax
	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
	jmp	.L36
.L37:
	mov	rax, QWORD PTR tmp[rip]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR tmp[rip], rax
	add	DWORD PTR -12[rbp], 1
.L36:
	mov	eax, DWORD PTR -16[rbp]
	cmp	DWORD PTR -12[rbp], eax
	jne	.L37
	mov	edi, 24
	call	malloc@PLT
	mov	QWORD PTR ptr[rip], rax
	lea	rdi, .LC19[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR ptr[rip]
	mov	rsi, rax
	lea	rdi, .LC16[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	mov	rdx, QWORD PTR tmp[rip]
	mov	rax, QWORD PTR ptr[rip]
	mov	rdx, QWORD PTR 16[rdx]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR tmp[rip]
	mov	rdx, QWORD PTR ptr[rip]
	mov	QWORD PTR 16[rax], rdx
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L38
	call	__stack_chk_fail@PLT
.L38:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	insertAt, .-insertAt
	.section	.rodata
	.align 8
.LC23:
	.string	"\nEnter value before which you want to insert:"
.LC24:
	.string	"\nEnter value to insert:"
	.text
	.globl	insertBefore
	.type	insertBefore, @function
insertBefore:
.LFB7:
	.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 fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rdi, .LC23[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	edi, 24
	call	malloc@PLT
	mov	QWORD PTR ptr[rip], rax
	mov	rax, QWORD PTR start[rip]
	mov	QWORD PTR tmp[rip], rax
	jmp	.L40
.L41:
	mov	rax, QWORD PTR tmp[rip]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR tmp[rip], rax
.L40:
	mov	rax, QWORD PTR tmp[rip]
	mov	rax, QWORD PTR 16[rax]
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -12[rbp]
	cmp	edx, eax
	jne	.L41
	lea	rdi, .LC24[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR ptr[rip]
	mov	rsi, rax
	lea	rdi, .LC16[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	mov	rdx, QWORD PTR tmp[rip]
	mov	rax, QWORD PTR ptr[rip]
	mov	rdx, QWORD PTR 16[rdx]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR tmp[rip]
	mov	rdx, QWORD PTR ptr[rip]
	mov	QWORD PTR 16[rax], rdx
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L42
	call	__stack_chk_fail@PLT
.L42:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	insertBefore, .-insertBefore
	.section	.rodata
.LC25:
	.string	"\nEnter node for searching:"
.LC26:
	.string	"\nFound at position %d\n"
.LC27:
	.string	"\nValue doesn't exist"
	.text
	.globl	searchNode
	.type	searchNode, @function
searchNode:
.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, 32
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -16[rbp], 0
	mov	DWORD PTR -12[rbp], 0
	lea	rdi, .LC25[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	rax, QWORD PTR start[rip]
	mov	QWORD PTR tmp[rip], rax
	jmp	.L44
.L47:
	add	DWORD PTR -12[rbp], 1
	mov	rax, QWORD PTR tmp[rip]
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -20[rbp]
	cmp	edx, eax
	jne	.L45
	mov	DWORD PTR -16[rbp], 1
	jmp	.L46
.L45:
	mov	rax, QWORD PTR tmp[rip]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR tmp[rip], rax
.L44:
	mov	rax, QWORD PTR tmp[rip]
	mov	rax, QWORD PTR 16[rax]
	test	rax, rax
	jne	.L47
.L46:
	cmp	DWORD PTR -16[rbp], 1
	jne	.L48
	mov	eax, DWORD PTR -12[rbp]
	mov	esi, eax
	lea	rdi, .LC26[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L51
.L48:
	lea	rdi, .LC27[rip]
	call	puts@PLT
.L51:
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L50
	call	__stack_chk_fail@PLT
.L50:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	searchNode, .-searchNode
	.globl	deleteFirst
	.type	deleteFirst, @function
deleteFirst:
.LFB9:
	.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 start[rip]
	mov	QWORD PTR tmp[rip], rax
	mov	rax, QWORD PTR tmp[rip]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR start[rip], rax
	mov	rax, QWORD PTR tmp[rip]
	mov	rdi, rax
	call	free@PLT
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	deleteFirst, .-deleteFirst
	.globl	deleteLast
	.type	deleteLast, @function
deleteLast:
.LFB10:
	.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 start[rip]
	mov	QWORD PTR tmp[rip], rax
	jmp	.L54
.L55:
	mov	rax, QWORD PTR tmp[rip]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR tmp[rip], rax
.L54:
	mov	rax, QWORD PTR tmp[rip]
	mov	rax, QWORD PTR 16[rax]
	mov	rax, QWORD PTR 16[rax]
	test	rax, rax
	jne	.L55
	mov	rax, QWORD PTR tmp[rip]
	mov	rax, QWORD PTR 16[rax]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR tmp[rip]
	mov	QWORD PTR 16[rax], 0
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	deleteLast, .-deleteLast
	.section	.rodata
	.align 8
.LC28:
	.string	"\nEnter value which you want to delete:"
	.align 8
.LC29:
	.string	"\nValue doesn't exist in the List"
	.text
	.globl	deleteAny
	.type	deleteAny, @function
deleteAny:
.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 fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rdi, .LC28[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	rax, QWORD PTR start[rip]
	mov	QWORD PTR tmp[rip], rax
	mov	rax, QWORD PTR tmp[rip]
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -16[rbp]
	cmp	edx, eax
	jne	.L57
	mov	eax, 0
	call	deleteFirst
	jmp	.L65
.L57:
	mov	DWORD PTR -12[rbp], 0
	jmp	.L59
.L62:
	mov	rax, QWORD PTR tmp[rip]
	mov	rax, QWORD PTR 16[rax]
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -16[rbp]
	cmp	edx, eax
	jne	.L60
	mov	DWORD PTR -12[rbp], 1
	jmp	.L61
.L60:
	mov	rax, QWORD PTR tmp[rip]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR tmp[rip], rax
.L59:
	mov	rax, QWORD PTR tmp[rip]
	mov	rax, QWORD PTR 16[rax]
	test	rax, rax
	jne	.L62
.L61:
	cmp	DWORD PTR -12[rbp], 1
	jne	.L63
	mov	rax, QWORD PTR tmp[rip]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR tmp[rip]
	mov	rdx, QWORD PTR 16[rdx]
	mov	QWORD PTR 16[rax], rdx
	jmp	.L65
.L63:
	lea	rdi, .LC29[rip]
	call	puts@PLT
.L65:
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L64
	call	__stack_chk_fail@PLT
.L64:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	deleteAny, .-deleteAny
	.section	.rodata
	.align 8
.LC30:
	.string	"\nEnter value which you want to update:"
.LC31:
	.string	"\nEnter value to update with:"
.LC32:
	.string	"\nInvalid Input"
	.text
	.globl	updateNode
	.type	updateNode, @function
updateNode:
.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	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -12[rbp], 0
	lea	rdi, .LC30[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	rax, QWORD PTR start[rip]
	mov	QWORD PTR tmp[rip], rax
	jmp	.L67
.L70:
	mov	rax, QWORD PTR tmp[rip]
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -20[rbp]
	cmp	edx, eax
	jne	.L68
	mov	DWORD PTR -12[rbp], 1
	jmp	.L69
.L68:
	mov	rax, QWORD PTR tmp[rip]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR tmp[rip], rax
.L67:
	mov	rax, QWORD PTR tmp[rip]
	test	rax, rax
	jne	.L70
.L69:
	cmp	DWORD PTR -12[rbp], 1
	jne	.L71
	lea	rdi, .LC31[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	rax, QWORD PTR tmp[rip]
	mov	edx, DWORD PTR -16[rbp]
	mov	DWORD PTR [rax], edx
	jmp	.L74
.L71:
	lea	rdi, .LC32[rip]
	call	puts@PLT
.L74:
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L73
	call	__stack_chk_fail@PLT
.L73:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE12:
	.size	updateNode, .-updateNode
	.globl	reverseList
	.type	reverseList, @function
reverseList:
.LFB13:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR ptr[rip], 0
	mov	rax, QWORD PTR start[rip]
	mov	QWORD PTR tmp[rip], rax
	jmp	.L76
.L77:
	mov	rax, QWORD PTR tmp[rip]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR tmp[rip]
	mov	rdx, QWORD PTR ptr[rip]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR tmp[rip]
	mov	QWORD PTR ptr[rip], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR tmp[rip], rax
.L76:
	mov	rax, QWORD PTR tmp[rip]
	test	rax, rax
	jne	.L77
	mov	rax, QWORD PTR ptr[rip]
	mov	QWORD PTR start[rip], rax
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE13:
	.size	reverseList, .-reverseList
	.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	"15763464.c"
	.text
	.global	start
	.bss
	.align	2
	.type	start, %object
	.size	start, 4
start:
	.space	4
	.comm	tmp,4,4
	.comm	ptr,4,4
	.section	.rodata
	.align	2
.LC0:
	.ascii	"\012...M.E.N.U...\000"
	.align	2
.LC1:
	.ascii	"1...Create List.\000"
	.align	2
.LC2:
	.ascii	"2...Display List.\000"
	.align	2
.LC3:
	.ascii	"3...Insert at beginning.\000"
	.align	2
.LC4:
	.ascii	"4...Insert at the end.\000"
	.align	2
.LC5:
	.ascii	"5...Count nodes.\000"
	.align	2
.LC6:
	.ascii	"6...Insert at specific position.\000"
	.align	2
.LC7:
	.ascii	"7...Insert before a given node.\000"
	.align	2
.LC8:
	.ascii	"8...Search an element.\000"
	.align	2
.LC9:
	.ascii	"9...Delete first element.\000"
	.align	2
.LC10:
	.ascii	"10...Delete last element.\000"
	.align	2
.LC11:
	.ascii	"11...Delete any element.\000"
	.align	2
.LC12:
	.ascii	"12...Update a node.\000"
	.align	2
.LC13:
	.ascii	"13...Reverse the List.\000"
	.align	2
.LC14:
	.ascii	"0...EXIT.\000"
	.align	2
.LC15:
	.ascii	"\012Enter your choice:\000"
	.align	2
.LC16:
	.ascii	"%d\000"
	.align	2
.LC17:
	.ascii	"\012End of Program\000"
	.align	2
.LC18:
	.ascii	"\012Invalid Input!!\000"
	.align	2
.LC19:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ 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, .L21
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
.L19:
	ldr	r0, .L21+4
	bl	puts
	ldr	r0, .L21+8
	bl	puts
	ldr	r0, .L21+12
	bl	puts
	ldr	r0, .L21+16
	bl	puts
	ldr	r0, .L21+20
	bl	puts
	ldr	r0, .L21+24
	bl	puts
	ldr	r0, .L21+28
	bl	puts
	ldr	r0, .L21+32
	bl	puts
	ldr	r0, .L21+36
	bl	puts
	ldr	r0, .L21+40
	bl	puts
	ldr	r0, .L21+44
	bl	puts
	ldr	r0, .L21+48
	bl	puts
	ldr	r0, .L21+52
	bl	puts
	ldr	r0, .L21+56
	bl	puts
	ldr	r0, .L21+60
	bl	puts
	ldr	r0, .L21+64
	bl	printf
	sub	r3, fp, #12
	mov	r1, r3
	ldr	r0, .L21+68
	bl	__isoc99_scanf
	ldr	r3, [fp, #-12]
	cmp	r3, #13
	ldrls	pc, [pc, r3, asl #2]
	b	.L2
.L4:
	.word	.L17
	.word	.L16
	.word	.L15
	.word	.L14
	.word	.L13
	.word	.L12
	.word	.L11
	.word	.L10
	.word	.L9
	.word	.L8
	.word	.L7
	.word	.L6
	.word	.L5
	.word	.L3
.L17:
	ldr	r0, .L21+72
	bl	puts
	b	.L18
.L16:
	bl	createList
	b	.L18
.L15:
	bl	displayList
	b	.L18
.L14:
	bl	insertBeg
	b	.L18
.L13:
	bl	insertEnd
	b	.L18
.L12:
	bl	countNodes
	b	.L18
.L11:
	bl	insertAt
	b	.L18
.L10:
	bl	insertBefore
	b	.L18
.L9:
	bl	searchNode
	b	.L18
.L8:
	bl	deleteFirst
	b	.L18
.L7:
	bl	deleteLast
	b	.L18
.L6:
	bl	deleteAny
	b	.L18
.L5:
	bl	updateNode
	b	.L18
.L3:
	bl	reverseList
	b	.L18
.L2:
	ldr	r0, .L21+76
	bl	puts
	nop
.L18:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L19
	nop
	ldr	r3, .L21
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L20
	bl	__stack_chk_fail
.L20:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L22:
	.align	2
.L21:
	.word	.LC19
	.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
	.size	main, .-main
	.section	.rodata
	.align	2
.LC20:
	.ascii	"\012Enter value:\000"
	.text
	.align	2
	.global	createList
	.syntax unified
	.arm
	.fpu softvfp
	.type	createList, %function
createList:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	mov	r0, #12
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L27
	str	r2, [r3]
	ldr	r0, .L27+4
	bl	printf
	ldr	r3, .L27
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L27+8
	bl	__isoc99_scanf
	ldr	r3, .L27
	ldr	r3, [r3]
	mov	r2, #0
	str	r2, [r3, #8]
	ldr	r3, .L27+12
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L24
	ldr	r3, .L27
	ldr	r3, [r3]
	ldr	r2, .L27+12
	str	r3, [r2]
	ldr	r3, .L27
	ldr	r3, [r3]
	ldr	r2, .L27+16
	str	r3, [r2]
	b	.L26
.L24:
	ldr	r3, .L27+16
	ldr	r3, [r3]
	ldr	r2, .L27
	ldr	r2, [r2]
	str	r2, [r3, #8]
	ldr	r3, .L27
	ldr	r3, [r3]
	ldr	r2, .L27+16
	str	r3, [r2]
.L26:
	nop
	pop	{fp, pc}
.L28:
	.align	2
.L27:
	.word	ptr
	.word	.LC20
	.word	.LC16
	.word	start
	.word	tmp
	.size	createList, .-createList
	.section	.rodata
	.align	2
.LC21:
	.ascii	"%d->\000"
	.text
	.align	2
	.global	displayList
	.syntax unified
	.arm
	.fpu softvfp
	.type	displayList, %function
displayList:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L32
	ldr	r3, [r3]
	ldr	r2, .L32+4
	str	r3, [r2]
	b	.L30
.L31:
	ldr	r3, .L32+4
	ldr	r3, [r3]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L32+8
	bl	printf
	ldr	r3, .L32+4
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	ldr	r2, .L32+4
	str	r3, [r2]
.L30:
	ldr	r3, .L32+4
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L31
	mov	r0, #10
	bl	putchar
	nop
	pop	{fp, pc}
.L33:
	.align	2
.L32:
	.word	start
	.word	tmp
	.word	.LC21
	.size	displayList, .-displayList
	.align	2
	.global	insertBeg
	.syntax unified
	.arm
	.fpu softvfp
	.type	insertBeg, %function
insertBeg:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	mov	r0, #12
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L35
	str	r2, [r3]
	ldr	r0, .L35+4
	bl	printf
	ldr	r3, .L35
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L35+8
	bl	__isoc99_scanf
	ldr	r3, .L35
	ldr	r3, [r3]
	ldr	r2, .L35+12
	ldr	r2, [r2]
	str	r2, [r3, #8]
	ldr	r3, .L35
	ldr	r3, [r3]
	ldr	r2, .L35+12
	str	r3, [r2]
	nop
	pop	{fp, pc}
.L36:
	.align	2
.L35:
	.word	ptr
	.word	.LC20
	.word	.LC16
	.word	start
	.size	insertBeg, .-insertBeg
	.align	2
	.global	insertEnd
	.syntax unified
	.arm
	.fpu softvfp
	.type	insertEnd, %function
insertEnd:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	mov	r0, #12
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L40
	str	r2, [r3]
	ldr	r0, .L40+4
	bl	printf
	ldr	r3, .L40
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L40+8
	bl	__isoc99_scanf
	ldr	r3, .L40
	ldr	r3, [r3]
	mov	r2, #0
	str	r2, [r3, #8]
	ldr	r3, .L40+12
	ldr	r3, [r3]
	ldr	r2, .L40+16
	str	r3, [r2]
	b	.L38
.L39:
	ldr	r3, .L40+16
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	ldr	r2, .L40+16
	str	r3, [r2]
.L38:
	ldr	r3, .L40+16
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L39
	ldr	r3, .L40+16
	ldr	r3, [r3]
	ldr	r2, .L40
	ldr	r2, [r2]
	str	r2, [r3, #8]
	nop
	pop	{fp, pc}
.L41:
	.align	2
.L40:
	.word	ptr
	.word	.LC20
	.word	.LC16
	.word	start
	.word	tmp
	.size	insertEnd, .-insertEnd
	.section	.rodata
	.align	2
.LC22:
	.ascii	"\012Number of Nodes are: %d\012\000"
	.text
	.align	2
	.global	countNodes
	.syntax unified
	.arm
	.fpu softvfp
	.type	countNodes, %function
countNodes:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, .L45
	ldr	r3, [r3]
	ldr	r2, .L45+4
	str	r3, [r2]
	b	.L43
.L44:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
	ldr	r3, .L45+4
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	ldr	r2, .L45+4
	str	r3, [r2]
.L43:
	ldr	r3, .L45+4
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L44
	ldr	r1, [fp, #-8]
	ldr	r0, .L45+8
	bl	printf
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L46:
	.align	2
.L45:
	.word	start
	.word	tmp
	.word	.LC22
	.size	countNodes, .-countNodes
	.section	.rodata
	.align	2
.LC23:
	.ascii	"\012After which one to insert:\000"
	.align	2
.LC24:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	insertAt
	.syntax unified
	.arm
	.fpu softvfp
	.type	insertAt, %function
insertAt:
	@ 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, .L51
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #1
	str	r3, [fp, #-12]
	ldr	r3, .L51+4
	ldr	r3, [r3]
	ldr	r2, .L51+8
	str	r3, [r2]
	ldr	r0, .L51+12
	bl	printf
	sub	r3, fp, #16
	mov	r1, r3
	ldr	r0, .L51+16
	bl	__isoc99_scanf
	b	.L48
.L49:
	ldr	r3, .L51+8
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	ldr	r2, .L51+8
	str	r3, [r2]
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L48:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	bne	.L49
	mov	r0, #12
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L51+20
	str	r2, [r3]
	ldr	r0, .L51+24
	bl	printf
	ldr	r3, .L51+20
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L51+16
	bl	__isoc99_scanf
	ldr	r3, .L51+8
	ldr	r2, [r3]
	ldr	r3, .L51+20
	ldr	r3, [r3]
	ldr	r2, [r2, #8]
	str	r2, [r3, #8]
	ldr	r3, .L51+8
	ldr	r3, [r3]
	ldr	r2, .L51+20
	ldr	r2, [r2]
	str	r2, [r3, #8]
	nop
	ldr	r3, .L51
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L50
	bl	__stack_chk_fail
.L50:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L52:
	.align	2
.L51:
	.word	.LC24
	.word	start
	.word	tmp
	.word	.LC23
	.word	.LC16
	.word	ptr
	.word	.LC20
	.size	insertAt, .-insertAt
	.section	.rodata
	.align	2
.LC25:
	.ascii	"\012Enter value before which you want to insert:\000"
	.align	2
.LC26:
	.ascii	"\012Enter value to insert:\000"
	.align	2
.LC27:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	insertBefore
	.syntax unified
	.arm
	.fpu softvfp
	.type	insertBefore, %function
insertBefore:
	@ 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, .L57
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r0, .L57+4
	bl	printf
	sub	r3, fp, #12
	mov	r1, r3
	ldr	r0, .L57+8
	bl	__isoc99_scanf
	mov	r0, #12
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L57+12
	str	r2, [r3]
	ldr	r3, .L57+16
	ldr	r3, [r3]
	ldr	r2, .L57+20
	str	r3, [r2]
	b	.L54
.L55:
	ldr	r3, .L57+20
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	ldr	r2, .L57+20
	str	r3, [r2]
.L54:
	ldr	r3, .L57+20
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	bne	.L55
	ldr	r0, .L57+24
	bl	printf
	ldr	r3, .L57+12
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L57+8
	bl	__isoc99_scanf
	ldr	r3, .L57+20
	ldr	r2, [r3]
	ldr	r3, .L57+12
	ldr	r3, [r3]
	ldr	r2, [r2, #8]
	str	r2, [r3, #8]
	ldr	r3, .L57+20
	ldr	r3, [r3]
	ldr	r2, .L57+12
	ldr	r2, [r2]
	str	r2, [r3, #8]
	nop
	ldr	r3, .L57
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L56
	bl	__stack_chk_fail
.L56:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L58:
	.align	2
.L57:
	.word	.LC27
	.word	.LC25
	.word	.LC16
	.word	ptr
	.word	start
	.word	tmp
	.word	.LC26
	.size	insertBefore, .-insertBefore
	.section	.rodata
	.align	2
.LC28:
	.ascii	"\012Enter node for searching:\000"
	.align	2
.LC29:
	.ascii	"\012Found at position %d\012\000"
	.align	2
.LC30:
	.ascii	"\012Value doesn't exist\000"
	.align	2
.LC31:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	searchNode
	.syntax unified
	.arm
	.fpu softvfp
	.type	searchNode, %function
searchNode:
	@ 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, .L68
	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	r0, .L68+4
	bl	printf
	sub	r3, fp, #20
	mov	r1, r3
	ldr	r0, .L68+8
	bl	__isoc99_scanf
	ldr	r3, .L68+12
	ldr	r3, [r3]
	ldr	r2, .L68+16
	str	r3, [r2]
	b	.L60
.L63:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, .L68+16
	ldr	r3, [r3]
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	bne	.L61
	mov	r3, #1
	str	r3, [fp, #-16]
	b	.L62
.L61:
	ldr	r3, .L68+16
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	ldr	r2, .L68+16
	str	r3, [r2]
.L60:
	ldr	r3, .L68+16
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L63
.L62:
	ldr	r3, [fp, #-16]
	cmp	r3, #1
	bne	.L64
	ldr	r1, [fp, #-12]
	ldr	r0, .L68+20
	bl	printf
	b	.L67
.L64:
	ldr	r0, .L68+24
	bl	puts
.L67:
	nop
	ldr	r3, .L68
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L66
	bl	__stack_chk_fail
.L66:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L69:
	.align	2
.L68:
	.word	.LC31
	.word	.LC28
	.word	.LC16
	.word	start
	.word	tmp
	.word	.LC29
	.word	.LC30
	.size	searchNode, .-searchNode
	.align	2
	.global	deleteFirst
	.syntax unified
	.arm
	.fpu softvfp
	.type	deleteFirst, %function
deleteFirst:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L71
	ldr	r3, [r3]
	ldr	r2, .L71+4
	str	r3, [r2]
	ldr	r3, .L71+4
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	ldr	r2, .L71
	str	r3, [r2]
	ldr	r3, .L71+4
	ldr	r3, [r3]
	mov	r0, r3
	bl	free
	nop
	pop	{fp, pc}
.L72:
	.align	2
.L71:
	.word	start
	.word	tmp
	.size	deleteFirst, .-deleteFirst
	.align	2
	.global	deleteLast
	.syntax unified
	.arm
	.fpu softvfp
	.type	deleteLast, %function
deleteLast:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L76
	ldr	r3, [r3]
	ldr	r2, .L76+4
	str	r3, [r2]
	b	.L74
.L75:
	ldr	r3, .L76+4
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	ldr	r2, .L76+4
	str	r3, [r2]
.L74:
	ldr	r3, .L76+4
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L75
	ldr	r3, .L76+4
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	free
	ldr	r3, .L76+4
	ldr	r3, [r3]
	mov	r2, #0
	str	r2, [r3, #8]
	nop
	pop	{fp, pc}
.L77:
	.align	2
.L76:
	.word	start
	.word	tmp
	.size	deleteLast, .-deleteLast
	.section	.rodata
	.align	2
.LC32:
	.ascii	"\012Enter value which you want to delete:\000"
	.align	2
.LC33:
	.ascii	"\012Value doesn't exist in the List\000"
	.align	2
.LC34:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	deleteAny
	.syntax unified
	.arm
	.fpu softvfp
	.type	deleteAny, %function
deleteAny:
	@ 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, .L88
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r0, .L88+4
	bl	printf
	sub	r3, fp, #16
	mov	r1, r3
	ldr	r0, .L88+8
	bl	__isoc99_scanf
	ldr	r3, .L88+12
	ldr	r3, [r3]
	ldr	r2, .L88+16
	str	r3, [r2]
	ldr	r3, .L88+16
	ldr	r3, [r3]
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	bne	.L79
	bl	deleteFirst
	b	.L87
.L79:
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L81
.L84:
	ldr	r3, .L88+16
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	bne	.L82
	mov	r3, #1
	str	r3, [fp, #-12]
	b	.L83
.L82:
	ldr	r3, .L88+16
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	ldr	r2, .L88+16
	str	r3, [r2]
.L81:
	ldr	r3, .L88+16
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L84
.L83:
	ldr	r3, [fp, #-12]
	cmp	r3, #1
	bne	.L85
	ldr	r3, .L88+16
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	ldr	r3, .L88+16
	ldr	r3, [r3]
	ldr	r2, [r2, #8]
	str	r2, [r3, #8]
	b	.L87
.L85:
	ldr	r0, .L88+20
	bl	puts
.L87:
	nop
	ldr	r3, .L88
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L86
	bl	__stack_chk_fail
.L86:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L89:
	.align	2
.L88:
	.word	.LC34
	.word	.LC32
	.word	.LC16
	.word	start
	.word	tmp
	.word	.LC33
	.size	deleteAny, .-deleteAny
	.section	.rodata
	.align	2
.LC35:
	.ascii	"\012Enter value which you want to update:\000"
	.align	2
.LC36:
	.ascii	"\012Enter value to update with:\000"
	.align	2
.LC37:
	.ascii	"\012Invalid Input\000"
	.align	2
.LC38:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	updateNode
	.syntax unified
	.arm
	.fpu softvfp
	.type	updateNode, %function
updateNode:
	@ 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, .L99
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-12]
	ldr	r0, .L99+4
	bl	printf
	sub	r3, fp, #20
	mov	r1, r3
	ldr	r0, .L99+8
	bl	__isoc99_scanf
	ldr	r3, .L99+12
	ldr	r3, [r3]
	ldr	r2, .L99+16
	str	r3, [r2]
	b	.L91
.L94:
	ldr	r3, .L99+16
	ldr	r3, [r3]
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	bne	.L92
	mov	r3, #1
	str	r3, [fp, #-12]
	b	.L93
.L92:
	ldr	r3, .L99+16
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	ldr	r2, .L99+16
	str	r3, [r2]
.L91:
	ldr	r3, .L99+16
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L94
.L93:
	ldr	r3, [fp, #-12]
	cmp	r3, #1
	bne	.L95
	ldr	r0, .L99+20
	bl	printf
	sub	r3, fp, #16
	mov	r1, r3
	ldr	r0, .L99+8
	bl	__isoc99_scanf
	ldr	r3, .L99+16
	ldr	r3, [r3]
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	b	.L98
.L95:
	ldr	r0, .L99+24
	bl	puts
.L98:
	nop
	ldr	r3, .L99
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L97
	bl	__stack_chk_fail
.L97:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L100:
	.align	2
.L99:
	.word	.LC38
	.word	.LC35
	.word	.LC16
	.word	start
	.word	tmp
	.word	.LC36
	.word	.LC37
	.size	updateNode, .-updateNode
	.align	2
	.global	reverseList
	.syntax unified
	.arm
	.fpu softvfp
	.type	reverseList, %function
reverseList:
	@ 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, .L104
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L104+4
	ldr	r3, [r3]
	ldr	r2, .L104+8
	str	r3, [r2]
	b	.L102
.L103:
	ldr	r3, .L104+8
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-8]
	ldr	r3, .L104+8
	ldr	r3, [r3]
	ldr	r2, .L104
	ldr	r2, [r2]
	str	r2, [r3, #8]
	ldr	r3, .L104+8
	ldr	r3, [r3]
	ldr	r2, .L104
	str	r3, [r2]
	ldr	r2, .L104+8
	ldr	r3, [fp, #-8]
	str	r3, [r2]
.L102:
	ldr	r3, .L104+8
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L103
	ldr	r3, .L104
	ldr	r3, [r3]
	ldr	r2, .L104+4
	str	r3, [r2]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L105:
	.align	2
.L104:
	.word	ptr
	.word	start
	.word	tmp
	.size	reverseList, .-reverseList
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
