	.file	"271150.c"
	.intel_syntax noprefix
	.text
	.globl	head
	.bss
	.align 8
	.type	head, @object
	.size	head, 8
head:
	.zero	8
	.globl	tail
	.align 8
	.type	tail, @object
	.size	tail, 8
tail:
	.zero	8
	.globl	sptr
	.align 8
	.type	sptr, @object
	.size	sptr, 8
sptr:
	.zero	8
	.globl	srollno
	.align 4
	.type	srollno, @object
	.size	srollno, 4
srollno:
	.zero	4
	.globl	scount
	.align 4
	.type	scount, @object
	.size	scount, 4
scount:
	.zero	4
	.globl	sname
	.align 16
	.type	sname, @object
	.size	sname, 20
sname:
	.zero	20
	.section	.rodata
	.align 8
.LC0:
	.string	"*******Double Linked List********"
	.align 8
.LC1:
	.string	"1.Demo Options\n2.Search\n3.Insert\n4.Delete\n5.Print Details\n6.Quit"
	.text
	.globl	Demo_options
	.type	Demo_options, @function
Demo_options:
.LFB6:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	lea	rdi, .LC0[rip]
	call	puts@PLT
	lea	rdi, .LC1[rip]
	call	puts@PLT
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	Demo_options, .-Demo_options
	.section	.rodata
.LC2:
	.string	"\nList is Empty"
	.text
	.globl	Search
	.type	Search, @function
Search:
.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	QWORD PTR -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	mov	rax, QWORD PTR head[rip]
	test	rax, rax
	jne	.L5
	lea	rdi, .LC2[rip]
	call	puts@PLT
	mov	eax, 0
	jmp	.L4
.L7:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -12[rbp], eax
	jne	.L6
	mov	rax, QWORD PTR -8[rbp]
	jmp	.L4
.L6:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -8[rbp], rax
.L5:
	cmp	QWORD PTR -8[rbp], 0
	jne	.L7
	mov	eax, 0
.L4:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	Search, .-Search
	.globl	creat_new_node
	.type	creat_new_node, @function
creat_new_node:
.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	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	edi, 40
	call	malloc@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 4
	lea	rsi, sname[rip]
	mov	rdi, rax
	call	strcpy@PLT
	mov	edx, DWORD PTR srollno[rip]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR 32[rax], rdx
	mov	eax, DWORD PTR scount[rip]
	add	eax, 1
	mov	DWORD PTR scount[rip], eax
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	creat_new_node, .-creat_new_node
	.section	.rodata
	.align 8
.LC3:
	.string	"\n\t\tNumber of student in the list : %d\n"
.LC4:
	.string	"Head node Address : %d\n"
	.align 8
.LC5:
	.string	"\nThis node Address : %d \tRoll number : %d\t || \tName : %s"
.LC6:
	.string	"\tPrevious Node Address : %d"
.LC7:
	.string	"\tNext node Address : %d"
	.text
	.globl	print_details
	.type	print_details, @function
print_details:
.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	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR head[rip]
	test	rax, rax
	jne	.L11
	lea	rdi, .LC2[rip]
	call	puts@PLT
	jmp	.L15
.L11:
	mov	eax, DWORD PTR scount[rip]
	mov	esi, eax
	lea	rdi, .LC3[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR head[rip]
	mov	rsi, rax
	lea	rdi, .LC4[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L13
.L14:
	mov	rax, QWORD PTR -8[rbp]
	lea	rcx, 4[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rax
	lea	rdi, .LC5[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	rsi, rax
	lea	rdi, .LC6[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rax
	lea	rdi, .LC7[rip]
	mov	eax, 0
	call	printf@PLT
.L13:
	cmp	QWORD PTR -8[rbp], 0
	jne	.L14
	mov	edi, 10
	call	putchar@PLT
	mov	edi, 10
	call	putchar@PLT
.L15:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	print_details, .-print_details
	.section	.rodata
.LC8:
	.string	"\nEnter the Roll number : "
.LC9:
	.string	"%d"
.LC10:
	.string	"\nEnter the Name : "
.LC11:
	.string	"%s"
	.align 8
.LC12:
	.string	"\nYou are the first student to enroll"
	.align 8
.LC13:
	.string	"\nDo you want to insert After or Before :\nEnter 1 to insert After and 0 to insert Before\n\t>> : "
	.align 8
.LC14:
	.string	"\nEnter the Roll number of the student you wish to insert After : "
	.align 8
.LC15:
	.string	"\nEnter the Roll number of the student you wish to insert Before : "
.LC16:
	.string	"\nInvalid choice"
.LC17:
	.string	"\nInserting after the end Node"
.LC18:
	.string	"\nInserting After Head Node"
	.align 8
.LC19:
	.string	"\nInserting After a Middle NOde"
.LC20:
	.string	"\nInserting Before Head Node"
	.align 8
.LC21:
	.string	"\nInserting Before the tail Node"
	.align 8
.LC22:
	.string	"\nInserting Before a Middle Node"
	.align 8
.LC23:
	.string	"\nThe Roll number you are trying to access does not exits in the List"
	.text
	.globl	Insert
	.type	Insert, @function
Insert:
.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, 96
	mov	QWORD PTR -88[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rdi, .LC8[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rsi, srollno[rip]
	lea	rdi, .LC9[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	lea	rdi, .LC10[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rsi, sname[rip]
	lea	rdi, .LC11[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	cmp	QWORD PTR -88[rbp], 0
	jne	.L17
	lea	rdi, .LC12[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rdx, QWORD PTR tail[rip]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	creat_new_node
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -88[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR tail[rip], rax
	mov	rax, QWORD PTR -88[rbp]
	jmp	.L16
.L17:
	cmp	QWORD PTR -88[rbp], 0
	je	.L19
	lea	rdi, .LC13[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rax, -72[rbp]
	mov	rsi, rax
	lea	rdi, .LC9[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	mov	eax, DWORD PTR -72[rbp]
	cmp	eax, 1
	jne	.L20
	lea	rdi, .LC14[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rax, -68[rbp]
	mov	rsi, rax
	lea	rdi, .LC9[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	jmp	.L21
.L20:
	mov	eax, DWORD PTR -72[rbp]
	test	eax, eax
	jne	.L22
	lea	rdi, .LC15[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rax, -68[rbp]
	mov	rsi, rax
	lea	rdi, .LC9[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	jmp	.L21
.L22:
	lea	rdi, .LC16[rip]
	call	puts@PLT
.L21:
	mov	edx, DWORD PTR -68[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	Search
	mov	QWORD PTR sptr[rip], rax
	mov	rax, QWORD PTR sptr[rip]
	test	rax, rax
	je	.L23
	mov	eax, DWORD PTR -72[rbp]
	cmp	eax, 1
	jne	.L24
	mov	rax, QWORD PTR sptr[rip]
	mov	rax, QWORD PTR 24[rax]
	test	rax, rax
	jne	.L24
	lea	rdi, .LC17[rip]
	call	puts@PLT
	mov	rdx, QWORD PTR sptr[rip]
	mov	rax, QWORD PTR sptr[rip]
	mov	rax, QWORD PTR 24[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	creat_new_node
	mov	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR sptr[rip]
	mov	rdx, QWORD PTR -64[rbp]
	mov	QWORD PTR 24[rax], rdx
	jmp	.L32
.L24:
	mov	eax, DWORD PTR -72[rbp]
	cmp	eax, 1
	jne	.L26
	mov	rax, QWORD PTR sptr[rip]
	cmp	QWORD PTR -88[rbp], rax
	jne	.L26
	lea	rdi, .LC18[rip]
	call	puts@PLT
	mov	rax, QWORD PTR sptr[rip]
	mov	rax, QWORD PTR 24[rax]
	mov	rdx, QWORD PTR -88[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	creat_new_node
	mov	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR 32[rax], rdx
	jmp	.L32
.L26:
	mov	eax, DWORD PTR -72[rbp]
	cmp	eax, 1
	jne	.L27
	mov	rax, QWORD PTR sptr[rip]
	mov	rax, QWORD PTR 24[rax]
	test	rax, rax
	je	.L27
	lea	rdi, .LC19[rip]
	call	puts@PLT
	mov	rdx, QWORD PTR sptr[rip]
	mov	rax, QWORD PTR sptr[rip]
	mov	rax, QWORD PTR 24[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	creat_new_node
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rdx, QWORD PTR -48[rbp]
	mov	QWORD PTR 32[rax], rdx
	mov	rax, QWORD PTR sptr[rip]
	mov	rdx, QWORD PTR -48[rbp]
	mov	QWORD PTR 24[rax], rdx
	jmp	.L32
.L27:
	mov	eax, DWORD PTR -72[rbp]
	test	eax, eax
	jne	.L28
	mov	rax, QWORD PTR sptr[rip]
	cmp	QWORD PTR -88[rbp], rax
	jne	.L28
	lea	rdi, .LC20[rip]
	call	puts@PLT
	mov	rax, QWORD PTR sptr[rip]
	mov	esi, 0
	mov	rdi, rax
	call	creat_new_node
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR 32[rax], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -88[rbp], rax
	jmp	.L32
.L28:
	mov	eax, DWORD PTR -72[rbp]
	test	eax, eax
	jne	.L29
	mov	rax, QWORD PTR sptr[rip]
	mov	rax, QWORD PTR 24[rax]
	test	rax, rax
	jne	.L29
	lea	rdi, .LC21[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR sptr[rip]
	mov	rdx, QWORD PTR 32[rax]
	mov	rax, QWORD PTR sptr[rip]
	mov	rsi, rdx
	mov	rdi, rax
	call	creat_new_node
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR sptr[rip]
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR 32[rax], rdx
	mov	rax, QWORD PTR sptr[rip]
	mov	rax, QWORD PTR 32[rax]
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR 24[rax], rdx
	jmp	.L32
.L29:
	mov	eax, DWORD PTR -72[rbp]
	test	eax, eax
	jne	.L30
	mov	rax, QWORD PTR sptr[rip]
	cmp	QWORD PTR -88[rbp], rax
	jne	.L31
.L30:
	mov	rdx, QWORD PTR sptr[rip]
	mov	rax, QWORD PTR tail[rip]
	cmp	rdx, rax
	je	.L32
.L31:
	lea	rdi, .LC22[rip]
	call	puts@PLT
	mov	rax, QWORD PTR sptr[rip]
	mov	rdx, QWORD PTR 32[rax]
	mov	rax, QWORD PTR sptr[rip]
	mov	rsi, rdx
	mov	rdi, rax
	call	creat_new_node
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR sptr[rip]
	mov	rax, QWORD PTR 32[rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR sptr[rip]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 32[rax], rdx
	jmp	.L32
.L23:
	lea	rdi, .LC23[rip]
	call	puts@PLT
.L32:
	mov	rax, QWORD PTR -88[rbp]
	jmp	.L16
.L19:
.L16:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L34
	call	__stack_chk_fail@PLT
.L34:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	Insert, .-Insert
	.section	.rodata
	.align 8
.LC24:
	.string	"\nThe Roll Number you were Trying to delete does not exits in the List"
.LC25:
	.string	"\nDeleting the head node"
.LC26:
	.string	"\nDeleting End Node"
.LC27:
	.string	"\nDeleting a Middle Node"
	.text
	.globl	Delete
	.type	Delete, @function
Delete:
.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	QWORD PTR -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	mov	edx, DWORD PTR -12[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	Search
	mov	QWORD PTR sptr[rip], rax
	mov	rax, QWORD PTR sptr[rip]
	test	rax, rax
	jne	.L36
	lea	rdi, .LC24[rip]
	call	puts@PLT
	mov	rax, QWORD PTR -8[rbp]
	jmp	.L37
.L36:
	mov	rax, QWORD PTR sptr[rip]
	cmp	QWORD PTR -8[rbp], rax
	jne	.L38
	lea	rdi, .LC25[rip]
	call	puts@PLT
	mov	rax, QWORD PTR sptr[rip]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 32[rax], 0
	mov	rax, QWORD PTR sptr[rip]
	mov	rdi, rax
	call	free@PLT
	mov	eax, DWORD PTR scount[rip]
	sub	eax, 1
	mov	DWORD PTR scount[rip], eax
	mov	rax, QWORD PTR -8[rbp]
	jmp	.L37
.L38:
	mov	rax, QWORD PTR sptr[rip]
	mov	rax, QWORD PTR 24[rax]
	test	rax, rax
	jne	.L39
	lea	rdi, .LC26[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR sptr[rip]
	mov	rax, QWORD PTR 32[rax]
	mov	QWORD PTR tail[rip], rax
	mov	rax, QWORD PTR tail[rip]
	mov	QWORD PTR 24[rax], 0
	mov	rax, QWORD PTR sptr[rip]
	mov	rdi, rax
	call	free@PLT
	mov	eax, DWORD PTR scount[rip]
	sub	eax, 1
	mov	DWORD PTR scount[rip], eax
	jmp	.L40
.L39:
	lea	rdi, .LC27[rip]
	call	puts@PLT
	mov	rdx, QWORD PTR sptr[rip]
	mov	rax, QWORD PTR sptr[rip]
	mov	rax, QWORD PTR 32[rax]
	mov	rdx, QWORD PTR 24[rdx]
	mov	QWORD PTR 24[rax], rdx
	mov	rdx, QWORD PTR sptr[rip]
	mov	rax, QWORD PTR sptr[rip]
	mov	rax, QWORD PTR 24[rax]
	mov	rdx, QWORD PTR 32[rdx]
	mov	QWORD PTR 32[rax], rdx
	mov	rax, QWORD PTR sptr[rip]
	mov	rdi, rax
	call	free@PLT
	mov	eax, DWORD PTR scount[rip]
	sub	eax, 1
	mov	DWORD PTR scount[rip], eax
.L40:
	mov	rax, QWORD PTR -8[rbp]
.L37:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	Delete, .-Delete
	.section	.rodata
.LC28:
	.string	"\nEnter your Choice : "
	.align 8
.LC29:
	.string	"\nEnter the Roll number of the student you wish to search : "
	.align 8
.LC30:
	.string	"\nThe Roll number %d is found with Name %s at the Address :%d\n"
	.align 8
.LC31:
	.string	"\nRoll Number %d is not found in the List\n"
	.align 8
.LC32:
	.string	"\nEnter the Roll Number of the student you wish to delete from the list : "
.LC33:
	.string	"\nInvalid Choice"
	.text
	.globl	main
	.type	main, @function
main:
.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, 16
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	eax, 0
	call	Demo_options
.L53:
	lea	rdi, .LC28[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rax, -12[rbp]
	mov	rsi, rax
	lea	rdi, .LC9[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	mov	eax, DWORD PTR -12[rbp]
	cmp	eax, 6
	ja	.L42
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L44[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L44[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L44:
	.long	.L42-.L44
	.long	.L49-.L44
	.long	.L48-.L44
	.long	.L47-.L44
	.long	.L46-.L44
	.long	.L45-.L44
	.long	.L43-.L44
	.text
.L49:
	mov	eax, 0
	call	Demo_options
	jmp	.L50
.L48:
	lea	rdi, .LC29[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rsi, srollno[rip]
	lea	rdi, .LC9[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	mov	edx, DWORD PTR srollno[rip]
	mov	rax, QWORD PTR head[rip]
	mov	esi, edx
	mov	rdi, rax
	call	Search
	mov	QWORD PTR sptr[rip], rax
	mov	rax, QWORD PTR sptr[rip]
	test	rax, rax
	je	.L51
	mov	rdx, QWORD PTR sptr[rip]
	mov	rax, QWORD PTR sptr[rip]
	lea	rsi, 4[rax]
	mov	rax, QWORD PTR sptr[rip]
	mov	eax, DWORD PTR [rax]
	mov	rcx, rdx
	mov	rdx, rsi
	mov	esi, eax
	lea	rdi, .LC30[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L50
.L51:
	mov	eax, DWORD PTR srollno[rip]
	mov	esi, eax
	lea	rdi, .LC31[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L50
.L47:
	mov	rax, QWORD PTR head[rip]
	mov	rdi, rax
	call	Insert
	mov	QWORD PTR head[rip], rax
	jmp	.L50
.L46:
	lea	rdi, .LC32[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rsi, srollno[rip]
	lea	rdi, .LC9[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	mov	edx, DWORD PTR srollno[rip]
	mov	rax, QWORD PTR head[rip]
	mov	esi, edx
	mov	rdi, rax
	call	Delete
	mov	QWORD PTR head[rip], rax
	jmp	.L50
.L45:
	mov	rax, QWORD PTR head[rip]
	mov	rdi, rax
	call	print_details
	jmp	.L50
.L43:
	mov	edi, 0
	call	exit@PLT
.L42:
	lea	rdi, .LC33[rip]
	call	puts@PLT
	nop
.L50:
	jmp	.L53
	.cfi_endproc
.LFE12:
	.size	main, .-main
	.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	"271150.c"
	.text
	.global	head
	.bss
	.align	2
	.type	head, %object
	.size	head, 4
head:
	.space	4
	.global	tail
	.align	2
	.type	tail, %object
	.size	tail, 4
tail:
	.space	4
	.global	sptr
	.align	2
	.type	sptr, %object
	.size	sptr, 4
sptr:
	.space	4
	.global	srollno
	.align	2
	.type	srollno, %object
	.size	srollno, 4
srollno:
	.space	4
	.global	scount
	.align	2
	.type	scount, %object
	.size	scount, 4
scount:
	.space	4
	.comm	sname,20,4
	.section	.rodata
	.align	2
.LC0:
	.ascii	"*******Double Linked List********\000"
	.align	2
.LC1:
	.ascii	"1.Demo Options\0122.Search\0123.Insert\0124.Delete\012"
	.ascii	"5.Print Details\0126.Quit\000"
	.text
	.align	2
	.global	Demo_options
	.syntax unified
	.arm
	.fpu softvfp
	.type	Demo_options, %function
Demo_options:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r0, .L2
	bl	puts
	ldr	r0, .L2+4
	bl	puts
	nop
	pop	{fp, pc}
.L3:
	.align	2
.L2:
	.word	.LC0
	.word	.LC1
	.size	Demo_options, .-Demo_options
	.section	.rodata
	.align	2
.LC2:
	.ascii	"\012List is Empty\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, .L10
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L7
	ldr	r0, .L10+4
	bl	puts
	mov	r3, #0
	b	.L6
.L9:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	bne	.L8
	ldr	r3, [fp, #-8]
	b	.L6
.L8:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #24]
	str	r3, [fp, #-8]
.L7:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L9
	mov	r3, #0
.L6:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L11:
	.align	2
.L10:
	.word	head
	.word	.LC2
	.size	Search, .-Search
	.align	2
	.global	creat_new_node
	.syntax unified
	.arm
	.fpu softvfp
	.type	creat_new_node, %function
creat_new_node:
	@ 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]
	mov	r0, #32
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	add	r3, r3, #4
	ldr	r1, .L14
	mov	r0, r3
	bl	strcpy
	ldr	r3, .L14+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	str	r2, [r3, #24]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-20]
	str	r2, [r3, #28]
	ldr	r3, .L14+8
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L14+8
	str	r3, [r2]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L15:
	.align	2
.L14:
	.word	sname
	.word	srollno
	.word	scount
	.size	creat_new_node, .-creat_new_node
	.section	.rodata
	.align	2
.LC3:
	.ascii	"\012\011\011Number of student in the list : %d\012\000"
	.align	2
.LC4:
	.ascii	"Head node Address : %d\012\000"
	.align	2
.LC5:
	.ascii	"\012This node Address : %d \011Roll number : %d\011"
	.ascii	" || \011Name : %s\000"
	.align	2
.LC6:
	.ascii	"\011Previous Node Address : %d\000"
	.align	2
.LC7:
	.ascii	"\011Next node Address : %d\000"
	.text
	.align	2
	.global	print_details
	.syntax unified
	.arm
	.fpu softvfp
	.type	print_details, %function
print_details:
	@ 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]
	ldr	r3, .L22
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L17
	ldr	r0, .L22+4
	bl	puts
	b	.L21
.L17:
	ldr	r3, .L22+8
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L22+12
	bl	printf
	ldr	r3, .L22
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L22+16
	bl	printf
	b	.L19
.L20:
	ldr	r3, [fp, #-8]
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r3, #4
	ldr	r1, [fp, #-8]
	ldr	r0, .L22+20
	bl	printf
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #28]
	mov	r1, r3
	ldr	r0, .L22+24
	bl	printf
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #24]
	str	r3, [fp, #-8]
	ldr	r1, [fp, #-8]
	ldr	r0, .L22+28
	bl	printf
.L19:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L20
	mov	r0, #10
	bl	putchar
	mov	r0, #10
	bl	putchar
.L21:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L23:
	.align	2
.L22:
	.word	head
	.word	.LC2
	.word	scount
	.word	.LC3
	.word	.LC4
	.word	.LC5
	.word	.LC6
	.word	.LC7
	.size	print_details, .-print_details
	.section	.rodata
	.align	2
.LC8:
	.ascii	"\012Enter the Roll number : \000"
	.align	2
.LC9:
	.ascii	"%d\000"
	.align	2
.LC10:
	.ascii	"\012Enter the Name : \000"
	.align	2
.LC11:
	.ascii	"%s\000"
	.align	2
.LC12:
	.ascii	"\012You are the first student to enroll\000"
	.align	2
.LC13:
	.ascii	"\012Do you want to insert After or Before :\012Ente"
	.ascii	"r 1 to insert After and 0 to insert Before\012\011>"
	.ascii	"> : \000"
	.align	2
.LC14:
	.ascii	"\012Enter the Roll number of the student you wish t"
	.ascii	"o insert After : \000"
	.align	2
.LC15:
	.ascii	"\012Enter the Roll number of the student you wish t"
	.ascii	"o insert Before : \000"
	.align	2
.LC16:
	.ascii	"\012Invalid choice\000"
	.align	2
.LC17:
	.ascii	"\012Inserting after the end Node\000"
	.align	2
.LC18:
	.ascii	"\012Inserting After Head Node\000"
	.align	2
.LC19:
	.ascii	"\012Inserting After a Middle NOde\000"
	.align	2
.LC20:
	.ascii	"\012Inserting Before Head Node\000"
	.align	2
.LC21:
	.ascii	"\012Inserting Before the tail Node\000"
	.align	2
.LC22:
	.ascii	"\012Inserting Before a Middle Node\000"
	.align	2
.LC23:
	.ascii	"\012The Roll number you are trying to access does n"
	.ascii	"ot exits in the List\000"
	.align	2
.LC24:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	Insert
	.syntax unified
	.arm
	.fpu softvfp
	.type	Insert, %function
Insert:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-48]
	ldr	r3, .L43
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r0, .L43+4
	bl	printf
	ldr	r1, .L43+8
	ldr	r0, .L43+12
	bl	__isoc99_scanf
	ldr	r0, .L43+16
	bl	printf
	ldr	r1, .L43+20
	ldr	r0, .L43+24
	bl	__isoc99_scanf
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	bne	.L25
	ldr	r0, .L43+28
	bl	printf
	ldr	r3, .L43+32
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-48]
	bl	creat_new_node
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-48]
	ldr	r2, .L43+32
	ldr	r3, [fp, #-48]
	str	r3, [r2]
	ldr	r3, [fp, #-48]
	b	.L24
.L25:
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	beq	.L27
	ldr	r0, .L43+36
	bl	printf
	sub	r3, fp, #44
	mov	r1, r3
	ldr	r0, .L43+12
	bl	__isoc99_scanf
	ldr	r3, [fp, #-44]
	cmp	r3, #1
	bne	.L28
	ldr	r0, .L43+40
	bl	printf
	sub	r3, fp, #40
	mov	r1, r3
	ldr	r0, .L43+12
	bl	__isoc99_scanf
	b	.L29
.L28:
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	bne	.L30
	ldr	r0, .L43+44
	bl	printf
	sub	r3, fp, #40
	mov	r1, r3
	ldr	r0, .L43+12
	bl	__isoc99_scanf
	b	.L29
.L30:
	ldr	r0, .L43+48
	bl	puts
.L29:
	ldr	r3, [fp, #-40]
	mov	r1, r3
	ldr	r0, [fp, #-48]
	bl	Search
	mov	r3, r0
	ldr	r2, .L43+52
	str	r3, [r2]
	ldr	r3, .L43+52
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L31
	ldr	r3, [fp, #-44]
	cmp	r3, #1
	bne	.L32
	ldr	r3, .L43+52
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	cmp	r3, #0
	bne	.L32
	ldr	r0, .L43+56
	bl	puts
	ldr	r3, .L43+52
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	ldr	r2, .L43+52
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	creat_new_node
	str	r0, [fp, #-36]
	ldr	r3, .L43+52
	ldr	r3, [r3]
	ldr	r2, [fp, #-36]
	str	r2, [r3, #24]
	b	.L40
.L32:
	ldr	r3, [fp, #-44]
	cmp	r3, #1
	bne	.L34
	ldr	r3, .L43+52
	ldr	r3, [r3]
	ldr	r2, [fp, #-48]
	cmp	r2, r3
	bne	.L34
	ldr	r0, .L43+60
	bl	puts
	ldr	r3, .L43+52
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	ldr	r1, [fp, #-48]
	mov	r0, r3
	bl	creat_new_node
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-48]
	ldr	r2, [fp, #-32]
	str	r2, [r3, #24]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #24]
	ldr	r2, [fp, #-32]
	str	r2, [r3, #28]
	b	.L40
.L34:
	ldr	r3, [fp, #-44]
	cmp	r3, #1
	bne	.L35
	ldr	r3, .L43+52
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	cmp	r3, #0
	beq	.L35
	ldr	r0, .L43+64
	bl	puts
	ldr	r3, .L43+52
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	ldr	r2, .L43+52
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	creat_new_node
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #24]
	ldr	r2, [fp, #-28]
	str	r2, [r3, #28]
	ldr	r3, .L43+52
	ldr	r3, [r3]
	ldr	r2, [fp, #-28]
	str	r2, [r3, #24]
	b	.L40
.L35:
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	bne	.L36
	ldr	r3, .L43+52
	ldr	r3, [r3]
	ldr	r2, [fp, #-48]
	cmp	r2, r3
	bne	.L36
	ldr	r0, .L43+68
	bl	puts
	ldr	r3, .L43+52
	ldr	r3, [r3]
	mov	r1, #0
	mov	r0, r3
	bl	creat_new_node
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-48]
	ldr	r2, [fp, #-24]
	str	r2, [r3, #28]
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-48]
	b	.L40
.L36:
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	bne	.L37
	ldr	r3, .L43+52
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	cmp	r3, #0
	bne	.L37
	ldr	r0, .L43+72
	bl	printf
	ldr	r3, .L43+52
	ldr	r2, [r3]
	ldr	r3, .L43+52
	ldr	r3, [r3]
	ldr	r3, [r3, #28]
	mov	r1, r3
	mov	r0, r2
	bl	creat_new_node
	str	r0, [fp, #-20]
	ldr	r3, .L43+52
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	str	r2, [r3, #28]
	ldr	r3, .L43+52
	ldr	r3, [r3]
	ldr	r3, [r3, #28]
	ldr	r2, [fp, #-20]
	str	r2, [r3, #24]
	b	.L40
.L37:
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	bne	.L38
	ldr	r3, .L43+52
	ldr	r3, [r3]
	ldr	r2, [fp, #-48]
	cmp	r2, r3
	bne	.L39
.L38:
	ldr	r3, .L43+52
	ldr	r2, [r3]
	ldr	r3, .L43+32
	ldr	r3, [r3]
	cmp	r2, r3
	beq	.L40
.L39:
	ldr	r0, .L43+76
	bl	puts
	ldr	r3, .L43+52
	ldr	r2, [r3]
	ldr	r3, .L43+52
	ldr	r3, [r3]
	ldr	r3, [r3, #28]
	mov	r1, r3
	mov	r0, r2
	bl	creat_new_node
	str	r0, [fp, #-16]
	ldr	r3, .L43+52
	ldr	r3, [r3]
	ldr	r3, [r3, #28]
	ldr	r2, [fp, #-16]
	str	r2, [r3, #24]
	ldr	r3, .L43+52
	ldr	r3, [r3]
	ldr	r2, [fp, #-16]
	str	r2, [r3, #28]
	b	.L40
.L31:
	ldr	r0, .L43+80
	bl	puts
.L40:
	ldr	r3, [fp, #-48]
	b	.L24
.L27:
.L24:
	ldr	r2, .L43
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L42
	bl	__stack_chk_fail
.L42:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L44:
	.align	2
.L43:
	.word	.LC24
	.word	.LC8
	.word	srollno
	.word	.LC9
	.word	.LC10
	.word	sname
	.word	.LC11
	.word	.LC12
	.word	tail
	.word	.LC13
	.word	.LC14
	.word	.LC15
	.word	.LC16
	.word	sptr
	.word	.LC17
	.word	.LC18
	.word	.LC19
	.word	.LC20
	.word	.LC21
	.word	.LC22
	.word	.LC23
	.size	Insert, .-Insert
	.section	.rodata
	.align	2
.LC25:
	.ascii	"\012The Roll Number you were Trying to delete does "
	.ascii	"not exits in the List\000"
	.align	2
.LC26:
	.ascii	"\012Deleting the head node\000"
	.align	2
.LC27:
	.ascii	"\012Deleting End Node\000"
	.align	2
.LC28:
	.ascii	"\012Deleting a Middle Node\000"
	.text
	.align	2
	.global	Delete
	.syntax unified
	.arm
	.fpu softvfp
	.type	Delete, %function
Delete:
	@ 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	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	Search
	mov	r3, r0
	ldr	r2, .L51
	str	r3, [r2]
	ldr	r3, .L51
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L46
	ldr	r0, .L51+4
	bl	puts
	ldr	r3, [fp, #-8]
	b	.L47
.L46:
	ldr	r3, .L51
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	bne	.L48
	ldr	r0, .L51+8
	bl	puts
	ldr	r3, .L51
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #28]
	ldr	r3, .L51
	ldr	r3, [r3]
	mov	r0, r3
	bl	free
	ldr	r3, .L51+12
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L51+12
	str	r3, [r2]
	ldr	r3, [fp, #-8]
	b	.L47
.L48:
	ldr	r3, .L51
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	cmp	r3, #0
	bne	.L49
	ldr	r0, .L51+16
	bl	printf
	ldr	r3, .L51
	ldr	r3, [r3]
	ldr	r3, [r3, #28]
	ldr	r2, .L51+20
	str	r3, [r2]
	ldr	r3, .L51+20
	ldr	r3, [r3]
	mov	r2, #0
	str	r2, [r3, #24]
	ldr	r3, .L51
	ldr	r3, [r3]
	mov	r0, r3
	bl	free
	ldr	r3, .L51+12
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L51+12
	str	r3, [r2]
	b	.L50
.L49:
	ldr	r0, .L51+24
	bl	puts
	ldr	r3, .L51
	ldr	r2, [r3]
	ldr	r3, .L51
	ldr	r3, [r3]
	ldr	r3, [r3, #28]
	ldr	r2, [r2, #24]
	str	r2, [r3, #24]
	ldr	r3, .L51
	ldr	r2, [r3]
	ldr	r3, .L51
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	ldr	r2, [r2, #28]
	str	r2, [r3, #28]
	ldr	r3, .L51
	ldr	r3, [r3]
	mov	r0, r3
	bl	free
	ldr	r3, .L51+12
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L51+12
	str	r3, [r2]
.L50:
	ldr	r3, [fp, #-8]
.L47:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L52:
	.align	2
.L51:
	.word	sptr
	.word	.LC25
	.word	.LC26
	.word	scount
	.word	.LC27
	.word	tail
	.word	.LC28
	.size	Delete, .-Delete
	.section	.rodata
	.align	2
.LC29:
	.ascii	"\012Enter your Choice : \000"
	.align	2
.LC30:
	.ascii	"\012Enter the Roll number of the student you wish t"
	.ascii	"o search : \000"
	.align	2
.LC31:
	.ascii	"\012The Roll number %d is found with Name %s at the"
	.ascii	" Address :%d\012\000"
	.align	2
.LC32:
	.ascii	"\012Roll Number %d is not found in the List\012\000"
	.align	2
.LC33:
	.ascii	"\012Enter the Roll Number of the student you wish t"
	.ascii	"o delete from the list : \000"
	.align	2
.LC34:
	.ascii	"\012Invalid Choice\000"
	.align	2
.LC35:
	.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, .L67
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	bl	Demo_options
.L65:
	ldr	r0, .L67+4
	bl	printf
	sub	r3, fp, #12
	mov	r1, r3
	ldr	r0, .L67+8
	bl	__isoc99_scanf
	ldr	r3, [fp, #-12]
	sub	r3, r3, #1
	cmp	r3, #5
	ldrls	pc, [pc, r3, asl #2]
	b	.L54
.L56:
	.word	.L61
	.word	.L60
	.word	.L59
	.word	.L58
	.word	.L57
	.word	.L55
.L61:
	bl	Demo_options
	b	.L62
.L60:
	ldr	r0, .L67+12
	bl	printf
	ldr	r1, .L67+16
	ldr	r0, .L67+8
	bl	__isoc99_scanf
	ldr	r3, .L67+20
	ldr	r3, [r3]
	ldr	r2, .L67+16
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	Search
	mov	r3, r0
	ldr	r2, .L67+24
	str	r3, [r2]
	ldr	r3, .L67+24
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L63
	ldr	r3, .L67+24
	ldr	r3, [r3]
	ldr	r1, [r3]
	ldr	r3, .L67+24
	ldr	r3, [r3]
	add	r2, r3, #4
	ldr	r3, .L67+24
	ldr	r3, [r3]
	ldr	r0, .L67+28
	bl	printf
	b	.L62
.L63:
	ldr	r3, .L67+16
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L67+32
	bl	printf
	b	.L62
.L59:
	ldr	r3, .L67+20
	ldr	r3, [r3]
	mov	r0, r3
	bl	Insert
	mov	r3, r0
	ldr	r2, .L67+20
	str	r3, [r2]
	b	.L62
.L58:
	ldr	r0, .L67+36
	bl	printf
	ldr	r1, .L67+16
	ldr	r0, .L67+8
	bl	__isoc99_scanf
	ldr	r3, .L67+20
	ldr	r3, [r3]
	ldr	r2, .L67+16
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	Delete
	mov	r3, r0
	ldr	r2, .L67+20
	str	r3, [r2]
	b	.L62
.L57:
	ldr	r3, .L67+20
	ldr	r3, [r3]
	mov	r0, r3
	bl	print_details
	b	.L62
.L55:
	mov	r0, #0
	bl	exit
.L54:
	ldr	r0, .L67+40
	bl	puts
	nop
.L62:
	b	.L65
.L68:
	.align	2
.L67:
	.word	.LC35
	.word	.LC29
	.word	.LC9
	.word	.LC30
	.word	srollno
	.word	head
	.word	sptr
	.word	.LC31
	.word	.LC32
	.word	.LC33
	.word	.LC34
	.size	main, .-main
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
