	.file	"82951560.c"
	.intel_syntax noprefix
	.text
	.globl	s
	.bss
	.align 32
	.type	s, @object
	.size	s, 31600000
s:
	.zero	31600000
	.globl	flag
	.data
	.align 4
	.type	flag, @object
	.size	flag, 4
flag:
	.long	1
	.globl	i
	.bss
	.align 4
	.type	i, @object
	.size	i, 4
i:
	.zero	4
	.globl	j
	.align 4
	.type	j, @object
	.size	j, 4
j:
	.zero	4
	.globl	count
	.align 4
	.type	count, @object
	.size	count, 4
count:
	.zero	4
	.globl	caps
	.align 4
	.type	caps, @object
	.size	caps, 4
caps:
	.zero	4
	.globl	small
	.align 4
	.type	small, @object
	.size	small, 4
small:
	.zero	4
	.globl	special
	.align 4
	.type	special, @object
	.size	special, 4
special:
	.zero	4
	.globl	numbers
	.align 4
	.type	numbers, @object
	.size	numbers, 4
numbers:
	.zero	4
	.globl	success
	.align 4
	.type	success, @object
	.size	success, 4
success:
	.zero	4
	.globl	x
	.align 4
	.type	x, @object
	.size	x, 4
x:
	.zero	4
	.globl	choice
	.align 4
	.type	choice, @object
	.size	choice, 4
choice:
	.zero	4
	.globl	temp_name
	.align 32
	.type	temp_name, @object
	.size	temp_name, 100
temp_name:
	.zero	100
	.globl	temp_password1
	.align 32
	.type	temp_password1, @object
	.size	temp_password1, 100
temp_password1:
	.zero	100
	.globl	temp_password2
	.align 32
	.type	temp_password2, @object
	.size	temp_password2, 100
temp_password2:
	.zero	100
	.globl	temp_email
	.align 32
	.type	temp_email, @object
	.size	temp_email, 100
temp_email:
	.zero	100
	.globl	temp_mobile
	.align 32
	.type	temp_mobile, @object
	.size	temp_mobile, 100
temp_mobile:
	.zero	100
	.globl	temp_age
	.align 4
	.type	temp_age, @object
	.size	temp_age, 4
temp_age:
	.zero	4
	.globl	ch
	.align 4
	.type	ch, @object
	.size	ch, 4
ch:
	.zero	4
	.section	.rodata
.LC0:
	.string	"\n1)SIGNUP"
.LC1:
	.string	"2)LOGIN\n3)EXIT\n"
.LC2:
	.string	"Enter your choice\t"
.LC3:
	.string	"%d"
.LC4:
	.string	"\nPlease Enter the "
.LC5:
	.string	"valid choice"
	.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
.L8:
	lea	rdi, .LC0[rip]
	call	puts@PLT
	lea	rdi, .LC1[rip]
	call	puts@PLT
	lea	rdi, .LC2[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rsi, choice[rip]
	lea	rdi, .LC3[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	mov	eax, DWORD PTR choice[rip]
	cmp	eax, 3
	je	.L2
	cmp	eax, 3
	jg	.L3
	cmp	eax, 1
	je	.L4
	cmp	eax, 2
	je	.L5
	jmp	.L3
.L4:
	mov	eax, 0
	call	signup
	jmp	.L6
.L5:
	mov	eax, 0
	call	login
	jmp	.L6
.L2:
	mov	eax, 0
	jmp	.L9
.L3:
	lea	rdi, .LC4[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdi, .LC5[rip]
	call	puts@PLT
	nop
.L6:
	jmp	.L8
.L9:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	main, .-main
	.section	.rodata
.LC6:
	.string	"Enter Your name\t"
.LC7:
	.string	"%s"
.LC8:
	.string	"Enter Your Age\t"
.LC9:
	.string	"Enter Your Email\t"
.LC10:
	.string	"Enter Password\t"
.LC11:
	.string	"Confirm Password\t"
.LC12:
	.string	"Enter Your Mobile Number\t"
	.text
	.globl	signup
	.type	signup, @function
signup:
.LFB1:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	lea	rdi, .LC6[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rsi, temp_name[rip]
	lea	rdi, .LC7[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	lea	rdi, .LC8[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rsi, temp_age[rip]
	lea	rdi, .LC3[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	lea	rdi, .LC9[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rsi, temp_email[rip]
	lea	rdi, .LC7[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	lea	rdi, .LC10[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rsi, temp_password1[rip]
	lea	rdi, .LC7[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	lea	rdi, .LC11[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rsi, temp_password2[rip]
	lea	rdi, .LC7[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	lea	rdi, .LC12[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rsi, temp_mobile[rip]
	lea	rdi, .LC7[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	mov	eax, 0
	call	validate
	mov	DWORD PTR x[rip], eax
	mov	eax, DWORD PTR x[rip]
	cmp	eax, 1
	jne	.L12
	mov	eax, 0
	call	account_check
.L12:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1:
	.size	signup, .-signup
	.section	.rodata
.LC13:
	.string	"\nPlease Enter the"
.LC14:
	.string	"valid Name"
.LC15:
	.string	"\n\nPlease"
.LC16:
	.string	"Enter Valid "
.LC17:
	.string	"Mobile Number\n"
.LC18:
	.string	"\n\nPlease Enter the"
.LC19:
	.string	"10 digit mobile"
.LC20:
	.string	"number\n"
.LC21:
	.string	"\n\nPlease Enter "
.LC22:
	.string	"the valid age\n"
.LC23:
	.string	"strong password, Your "
.LC24:
	.string	"password must contain "
.LC25:
	.string	"atleast one uppercase, "
.LC26:
	.string	"Lowercase, Number and "
.LC27:
	.string	"special character\n"
.LC28:
	.string	"\nYour Password is very"
.LC29:
	.string	"short\nLength must "
.LC30:
	.string	"between 8 to 12\n"
.LC31:
	.string	"\nPassword Mismatch\n"
.LC32:
	.string	"\nPlease Enter Valid E-Mail\n"
	.text
	.globl	validate
	.type	validate, @function
validate:
.LFB2:
	.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 i[rip], 0
	jmp	.L14
.L19:
	mov	eax, DWORD PTR i[rip]
	cdqe
	lea	rdx, temp_name[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	cmp	al, 96
	jle	.L15
	mov	eax, DWORD PTR i[rip]
	cdqe
	lea	rdx, temp_name[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	cmp	al, 122
	jle	.L16
.L15:
	mov	eax, DWORD PTR i[rip]
	cdqe
	lea	rdx, temp_name[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	cmp	al, 64
	jle	.L17
	mov	eax, DWORD PTR i[rip]
	cdqe
	lea	rdx, temp_name[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	cmp	al, 90
	jle	.L16
.L17:
	lea	rdi, .LC13[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdi, .LC14[rip]
	call	puts@PLT
	mov	DWORD PTR flag[rip], 0
	jmp	.L18
.L16:
	mov	eax, DWORD PTR i[rip]
	add	eax, 1
	mov	DWORD PTR i[rip], eax
.L14:
	mov	eax, DWORD PTR i[rip]
	cdqe
	lea	rdx, temp_name[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	test	al, al
	jne	.L19
.L18:
	mov	eax, DWORD PTR flag[rip]
	cmp	eax, 1
	jne	.L20
	mov	DWORD PTR count[rip], 0
	mov	DWORD PTR i[rip], 0
	jmp	.L21
.L24:
	mov	eax, DWORD PTR i[rip]
	cdqe
	lea	rdx, temp_email[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	cmp	al, 64
	je	.L22
	mov	eax, DWORD PTR i[rip]
	cdqe
	lea	rdx, temp_email[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	cmp	al, 46
	jne	.L23
.L22:
	mov	eax, DWORD PTR count[rip]
	add	eax, 1
	mov	DWORD PTR count[rip], eax
.L23:
	mov	eax, DWORD PTR i[rip]
	add	eax, 1
	mov	DWORD PTR i[rip], eax
.L21:
	mov	eax, DWORD PTR i[rip]
	cdqe
	lea	rdx, temp_email[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	test	al, al
	jne	.L24
	mov	eax, DWORD PTR count[rip]
	cmp	eax, 1
	jle	.L25
	lea	rdi, temp_email[rip]
	call	strlen@PLT
	cmp	rax, 4
	jbe	.L25
	lea	rsi, temp_password2[rip]
	lea	rdi, temp_password1[rip]
	call	strcmp@PLT
	test	eax, eax
	jne	.L26
	lea	rdi, temp_password1[rip]
	call	strlen@PLT
	cmp	rax, 7
	jbe	.L27
	lea	rdi, temp_password1[rip]
	call	strlen@PLT
	cmp	rax, 12
	ja	.L27
	mov	DWORD PTR caps[rip], 0
	mov	DWORD PTR small[rip], 0
	mov	DWORD PTR numbers[rip], 0
	mov	DWORD PTR special[rip], 0
	mov	DWORD PTR i[rip], 0
	jmp	.L28
.L34:
	mov	eax, DWORD PTR i[rip]
	cdqe
	lea	rdx, temp_password1[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	cmp	al, 64
	jle	.L29
	mov	eax, DWORD PTR i[rip]
	cdqe
	lea	rdx, temp_password1[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	cmp	al, 90
	jg	.L29
	mov	eax, DWORD PTR caps[rip]
	add	eax, 1
	mov	DWORD PTR caps[rip], eax
	jmp	.L30
.L29:
	mov	eax, DWORD PTR i[rip]
	cdqe
	lea	rdx, temp_password1[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	cmp	al, 96
	jle	.L31
	mov	eax, DWORD PTR i[rip]
	cdqe
	lea	rdx, temp_password1[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	cmp	al, 122
	jg	.L31
	mov	eax, DWORD PTR small[rip]
	add	eax, 1
	mov	DWORD PTR small[rip], eax
	jmp	.L30
.L31:
	mov	eax, DWORD PTR i[rip]
	cdqe
	lea	rdx, temp_password1[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	cmp	al, 47
	jle	.L32
	mov	eax, DWORD PTR i[rip]
	cdqe
	lea	rdx, temp_password1[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	cmp	al, 57
	jg	.L32
	mov	eax, DWORD PTR numbers[rip]
	add	eax, 1
	mov	DWORD PTR numbers[rip], eax
	jmp	.L30
.L32:
	mov	eax, DWORD PTR i[rip]
	cdqe
	lea	rdx, temp_password1[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	cmp	al, 64
	je	.L33
	mov	eax, DWORD PTR i[rip]
	cdqe
	lea	rdx, temp_password1[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	cmp	al, 38
	je	.L33
	mov	eax, DWORD PTR i[rip]
	cdqe
	lea	rdx, temp_password1[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	cmp	al, 35
	je	.L33
	mov	eax, DWORD PTR i[rip]
	cdqe
	lea	rdx, temp_password1[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	cmp	al, 42
	jne	.L30
.L33:
	mov	eax, DWORD PTR special[rip]
	add	eax, 1
	mov	DWORD PTR special[rip], eax
.L30:
	mov	eax, DWORD PTR i[rip]
	add	eax, 1
	mov	DWORD PTR i[rip], eax
.L28:
	mov	eax, DWORD PTR i[rip]
	cdqe
	lea	rdx, temp_password1[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	test	al, al
	jne	.L34
	mov	eax, DWORD PTR caps[rip]
	test	eax, eax
	jle	.L35
	mov	eax, DWORD PTR small[rip]
	test	eax, eax
	jle	.L35
	mov	eax, DWORD PTR numbers[rip]
	test	eax, eax
	jle	.L35
	mov	eax, DWORD PTR special[rip]
	test	eax, eax
	jle	.L35
	mov	eax, DWORD PTR temp_age[rip]
	test	eax, eax
	je	.L36
	mov	eax, DWORD PTR temp_age[rip]
	test	eax, eax
	jle	.L36
	lea	rdi, temp_mobile[rip]
	call	strlen@PLT
	cmp	rax, 10
	jne	.L37
	mov	DWORD PTR i[rip], 0
	jmp	.L38
.L41:
	mov	eax, DWORD PTR i[rip]
	cdqe
	lea	rdx, temp_mobile[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	cmp	al, 47
	jle	.L39
	mov	eax, DWORD PTR i[rip]
	cdqe
	lea	rdx, temp_mobile[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	cmp	al, 57
	jg	.L39
	mov	DWORD PTR success[rip], 1
	mov	eax, DWORD PTR i[rip]
	add	eax, 1
	mov	DWORD PTR i[rip], eax
	jmp	.L38
.L39:
	lea	rdi, .LC15[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdi, .LC16[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdi, .LC17[rip]
	call	puts@PLT
	mov	eax, 0
	jmp	.L13
.L38:
	mov	eax, DWORD PTR i[rip]
	cmp	eax, 9
	jle	.L41
	mov	eax, DWORD PTR success[rip]
	cmp	eax, 1
	jne	.L47
	mov	eax, 1
	jmp	.L13
.L37:
	lea	rdi, .LC18[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdi, .LC19[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdi, .LC20[rip]
	call	puts@PLT
	mov	eax, 0
	jmp	.L13
.L36:
	lea	rdi, .LC21[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdi, .LC22[rip]
	call	puts@PLT
	mov	eax, 0
	jmp	.L13
.L47:
	nop
	nop
	nop
	jmp	.L20
.L35:
	lea	rdi, .LC18[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdi, .LC23[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdi, .LC24[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdi, .LC25[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdi, .LC26[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdi, .LC27[rip]
	call	puts@PLT
	mov	eax, 0
	jmp	.L13
.L27:
	lea	rdi, .LC28[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdi, .LC29[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdi, .LC30[rip]
	call	puts@PLT
	mov	eax, 0
	jmp	.L13
.L26:
	lea	rdi, .LC31[rip]
	call	puts@PLT
	mov	eax, 0
	jmp	.L13
.L25:
	lea	rdi, .LC32[rip]
	call	puts@PLT
	mov	eax, 0
	jmp	.L13
.L20:
.L13:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE2:
	.size	validate, .-validate
	.section	.rodata
.LC33:
	.string	"\n\nAccount Already"
.LC34:
	.string	"Existed. Please Login !!\n"
.LC35:
	.string	"\n\n\nAccount Successfully"
.LC36:
	.string	"Created!!\n"
	.text
	.globl	account_check
	.type	account_check, @function
account_check:
.LFB3:
	.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 i[rip], 0
	jmp	.L49
.L53:
	mov	eax, DWORD PTR i[rip]
	cdqe
	imul	rax, rax, 316
	lea	rdx, 192[rax]
	lea	rax, s[rip]
	add	rax, rdx
	add	rax, 12
	mov	rsi, rax
	lea	rdi, temp_email[rip]
	call	strcmp@PLT
	test	eax, eax
	je	.L50
	mov	eax, DWORD PTR i[rip]
	cdqe
	imul	rax, rax, 316
	lea	rdx, 96[rax]
	lea	rax, s[rip]
	add	rax, rdx
	add	rax, 8
	mov	rsi, rax
	lea	rdi, temp_password1[rip]
	call	strcmp@PLT
	test	eax, eax
	jne	.L51
.L50:
	lea	rdi, .LC33[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdi, .LC34[rip]
	call	puts@PLT
	mov	eax, 0
	call	main
	jmp	.L52
.L51:
	mov	eax, DWORD PTR i[rip]
	add	eax, 1
	mov	DWORD PTR i[rip], eax
.L49:
	mov	eax, DWORD PTR i[rip]
	cmp	eax, 99
	jle	.L53
.L52:
	mov	eax, DWORD PTR i[rip]
	cmp	eax, 100
	jne	.L55
	mov	eax, DWORD PTR j[rip]
	cdqe
	imul	rax, rax, 316
	lea	rdx, s[rip]
	add	rax, rdx
	lea	rsi, temp_name[rip]
	mov	rdi, rax
	call	strcpy@PLT
	mov	eax, DWORD PTR j[rip]
	mov	edx, DWORD PTR temp_age[rip]
	cdqe
	imul	rax, rax, 316
	lea	rcx, s[rip+100]
	mov	DWORD PTR [rax+rcx], edx
	mov	eax, DWORD PTR j[rip]
	cdqe
	imul	rax, rax, 316
	lea	rdx, 96[rax]
	lea	rax, s[rip]
	add	rax, rdx
	add	rax, 8
	lea	rsi, temp_password1[rip]
	mov	rdi, rax
	call	strcpy@PLT
	mov	eax, DWORD PTR j[rip]
	cdqe
	imul	rax, rax, 316
	lea	rdx, 192[rax]
	lea	rax, s[rip]
	add	rax, rdx
	add	rax, 12
	lea	rsi, temp_email[rip]
	mov	rdi, rax
	call	strcpy@PLT
	mov	eax, DWORD PTR j[rip]
	cdqe
	imul	rax, rax, 316
	lea	rdx, 304[rax]
	lea	rax, s[rip]
	add	rax, rdx
	lea	rsi, temp_mobile[rip]
	mov	rdi, rax
	call	strcpy@PLT
	mov	eax, DWORD PTR j[rip]
	add	eax, 1
	mov	DWORD PTR j[rip], eax
	lea	rdi, .LC35[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdi, .LC36[rip]
	call	puts@PLT
.L55:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE3:
	.size	account_check, .-account_check
	.section	.rodata
.LC37:
	.string	"\n\nLOGIN\n"
.LC38:
	.string	"\nEnter Your Email\t"
.LC39:
	.string	"Enter Your Password\t"
.LC40:
	.string	"\n\nWelcome %s, "
	.align 8
.LC41:
	.string	"Your are successfully logged in"
.LC42:
	.string	"\n\nInvalid Password! "
.LC43:
	.string	"Please Enter the "
.LC44:
	.string	"correct password\n"
.LC45:
	.string	"\n\nAccount doesn't "
.LC46:
	.string	"exist, Please signup!!\n"
	.text
	.globl	login
	.type	login, @function
login:
.LFB4:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	lea	rdi, .LC37[rip]
	call	puts@PLT
	lea	rdi, .LC38[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rsi, temp_email[rip]
	lea	rdi, .LC7[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	lea	rdi, .LC39[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rsi, temp_password1[rip]
	lea	rdi, .LC7[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	mov	DWORD PTR i[rip], 0
	jmp	.L57
.L62:
	mov	eax, DWORD PTR i[rip]
	cdqe
	imul	rax, rax, 316
	lea	rdx, 192[rax]
	lea	rax, s[rip]
	add	rax, rdx
	add	rax, 12
	lea	rsi, temp_email[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L58
	mov	eax, DWORD PTR i[rip]
	cdqe
	imul	rax, rax, 316
	lea	rdx, 96[rax]
	lea	rax, s[rip]
	add	rax, rdx
	add	rax, 8
	lea	rsi, temp_password1[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L59
	mov	eax, DWORD PTR i[rip]
	cdqe
	imul	rax, rax, 316
	lea	rdx, s[rip]
	add	rax, rdx
	mov	rsi, rax
	lea	rdi, .LC40[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdi, .LC41[rip]
	call	puts@PLT
	jmp	.L63
.L59:
	lea	rdi, .LC42[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdi, .LC43[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdi, .LC44[rip]
	call	puts@PLT
	mov	eax, 0
	call	main
	jmp	.L61
.L58:
	lea	rdi, .LC45[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdi, .LC46[rip]
	call	puts@PLT
	mov	eax, 0
	call	main
	jmp	.L61
.L63:
	mov	eax, DWORD PTR i[rip]
	add	eax, 1
	mov	DWORD PTR i[rip], eax
.L57:
	mov	eax, DWORD PTR i[rip]
	cmp	eax, 99
	jle	.L62
	nop
.L61:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE4:
	.size	login, .-login
	.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	"82951560.c"
	.text
	.comm	s,31600000,4
	.global	flag
	.data
	.align	2
	.type	flag, %object
	.size	flag, 4
flag:
	.word	1
	.comm	i,4,4
	.global	j
	.bss
	.align	2
	.type	j, %object
	.size	j, 4
j:
	.space	4
	.global	count
	.align	2
	.type	count, %object
	.size	count, 4
count:
	.space	4
	.global	caps
	.align	2
	.type	caps, %object
	.size	caps, 4
caps:
	.space	4
	.global	small
	.align	2
	.type	small, %object
	.size	small, 4
small:
	.space	4
	.global	special
	.align	2
	.type	special, %object
	.size	special, 4
special:
	.space	4
	.global	numbers
	.align	2
	.type	numbers, %object
	.size	numbers, 4
numbers:
	.space	4
	.global	success
	.align	2
	.type	success, %object
	.size	success, 4
success:
	.space	4
	.comm	x,4,4
	.comm	choice,4,4
	.comm	temp_name,100,4
	.comm	temp_password1,100,4
	.comm	temp_password2,100,4
	.comm	temp_email,100,4
	.comm	temp_mobile,100,4
	.comm	temp_age,4,4
	.comm	ch,4,4
	.section	.rodata
	.align	2
.LC0:
	.ascii	"\0121)SIGNUP\000"
	.align	2
.LC1:
	.ascii	"2)LOGIN\0123)EXIT\012\000"
	.align	2
.LC2:
	.ascii	"Enter your choice\011\000"
	.align	2
.LC3:
	.ascii	"%d\000"
	.align	2
.LC4:
	.ascii	"\012Please Enter the \000"
	.align	2
.LC5:
	.ascii	"valid choice\000"
	.text
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
.L8:
	ldr	r0, .L10
	bl	puts
	ldr	r0, .L10+4
	bl	puts
	ldr	r0, .L10+8
	bl	printf
	ldr	r1, .L10+12
	ldr	r0, .L10+16
	bl	__isoc99_scanf
	ldr	r3, .L10+12
	ldr	r3, [r3]
	cmp	r3, #3
	beq	.L2
	cmp	r3, #3
	bgt	.L3
	cmp	r3, #1
	beq	.L4
	cmp	r3, #2
	beq	.L5
	b	.L3
.L4:
	bl	signup
	b	.L6
.L5:
	bl	login
	b	.L6
.L2:
	mov	r3, #0
	b	.L9
.L3:
	ldr	r0, .L10+20
	bl	printf
	ldr	r0, .L10+24
	bl	puts
	nop
.L6:
	b	.L8
.L9:
	mov	r0, r3
	pop	{fp, pc}
.L11:
	.align	2
.L10:
	.word	.LC0
	.word	.LC1
	.word	.LC2
	.word	choice
	.word	.LC3
	.word	.LC4
	.word	.LC5
	.size	main, .-main
	.section	.rodata
	.align	2
.LC6:
	.ascii	"Enter Your name\011\000"
	.align	2
.LC7:
	.ascii	"%s\000"
	.align	2
.LC8:
	.ascii	"Enter Your Age\011\000"
	.align	2
.LC9:
	.ascii	"Enter Your Email\011\000"
	.align	2
.LC10:
	.ascii	"Enter Password\011\000"
	.align	2
.LC11:
	.ascii	"Confirm Password\011\000"
	.align	2
.LC12:
	.ascii	"Enter Your Mobile Number\011\000"
	.text
	.align	2
	.global	signup
	.syntax unified
	.arm
	.fpu softvfp
	.type	signup, %function
signup:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r0, .L15
	bl	printf
	ldr	r1, .L15+4
	ldr	r0, .L15+8
	bl	__isoc99_scanf
	ldr	r0, .L15+12
	bl	printf
	ldr	r1, .L15+16
	ldr	r0, .L15+20
	bl	__isoc99_scanf
	ldr	r0, .L15+24
	bl	printf
	ldr	r1, .L15+28
	ldr	r0, .L15+8
	bl	__isoc99_scanf
	ldr	r0, .L15+32
	bl	printf
	ldr	r1, .L15+36
	ldr	r0, .L15+8
	bl	__isoc99_scanf
	ldr	r0, .L15+40
	bl	printf
	ldr	r1, .L15+44
	ldr	r0, .L15+8
	bl	__isoc99_scanf
	ldr	r0, .L15+48
	bl	printf
	ldr	r1, .L15+52
	ldr	r0, .L15+8
	bl	__isoc99_scanf
	bl	validate
	mov	r3, r0
	ldr	r2, .L15+56
	str	r3, [r2]
	ldr	r3, .L15+56
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L14
	bl	account_check
.L14:
	nop
	pop	{fp, pc}
.L16:
	.align	2
.L15:
	.word	.LC6
	.word	temp_name
	.word	.LC7
	.word	.LC8
	.word	temp_age
	.word	.LC3
	.word	.LC9
	.word	temp_email
	.word	.LC10
	.word	temp_password1
	.word	.LC11
	.word	temp_password2
	.word	.LC12
	.word	temp_mobile
	.word	x
	.size	signup, .-signup
	.section	.rodata
	.align	2
.LC13:
	.ascii	"\012Please Enter the\000"
	.align	2
.LC14:
	.ascii	"valid Name\000"
	.align	2
.LC15:
	.ascii	"\012\012Please\000"
	.align	2
.LC16:
	.ascii	"Enter Valid \000"
	.align	2
.LC17:
	.ascii	"Mobile Number\012\000"
	.align	2
.LC18:
	.ascii	"\012\012Please Enter the\000"
	.align	2
.LC19:
	.ascii	"10 digit mobile\000"
	.align	2
.LC20:
	.ascii	"number\012\000"
	.align	2
.LC21:
	.ascii	"\012\012Please Enter \000"
	.align	2
.LC22:
	.ascii	"the valid age\012\000"
	.align	2
.LC23:
	.ascii	"strong password, Your \000"
	.align	2
.LC24:
	.ascii	"password must contain \000"
	.align	2
.LC25:
	.ascii	"atleast one uppercase, \000"
	.align	2
.LC26:
	.ascii	"Lowercase, Number and \000"
	.align	2
.LC27:
	.ascii	"special character\012\000"
	.align	2
.LC28:
	.ascii	"\012Your Password is very\000"
	.align	2
.LC29:
	.ascii	"short\012Length must \000"
	.align	2
.LC30:
	.ascii	"between 8 to 12\012\000"
	.align	2
.LC31:
	.ascii	"\012Password Mismatch\012\000"
	.align	2
.LC32:
	.ascii	"\012Please Enter Valid E-Mail\012\000"
	.text
	.align	2
	.global	validate
	.syntax unified
	.arm
	.fpu softvfp
	.type	validate, %function
validate:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L52
	mov	r2, #0
	str	r2, [r3]
	b	.L18
.L23:
	ldr	r3, .L52
	ldr	r3, [r3]
	ldr	r2, .L52+4
	ldrb	r3, [r2, r3]	@ zero_extendqisi2
	cmp	r3, #96
	bls	.L19
	ldr	r3, .L52
	ldr	r3, [r3]
	ldr	r2, .L52+4
	ldrb	r3, [r2, r3]	@ zero_extendqisi2
	cmp	r3, #122
	bls	.L20
.L19:
	ldr	r3, .L52
	ldr	r3, [r3]
	ldr	r2, .L52+4
	ldrb	r3, [r2, r3]	@ zero_extendqisi2
	cmp	r3, #64
	bls	.L21
	ldr	r3, .L52
	ldr	r3, [r3]
	ldr	r2, .L52+4
	ldrb	r3, [r2, r3]	@ zero_extendqisi2
	cmp	r3, #90
	bls	.L20
.L21:
	ldr	r0, .L52+8
	bl	printf
	ldr	r0, .L52+12
	bl	puts
	ldr	r3, .L52+16
	mov	r2, #0
	str	r2, [r3]
	b	.L22
.L20:
	ldr	r3, .L52
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L52
	str	r3, [r2]
.L18:
	ldr	r3, .L52
	ldr	r3, [r3]
	ldr	r2, .L52+4
	ldrb	r3, [r2, r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L23
.L22:
	ldr	r3, .L52+16
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L24
	ldr	r3, .L52+20
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L52
	mov	r2, #0
	str	r2, [r3]
	b	.L25
.L28:
	ldr	r3, .L52
	ldr	r3, [r3]
	ldr	r2, .L52+24
	ldrb	r3, [r2, r3]	@ zero_extendqisi2
	cmp	r3, #64
	beq	.L26
	ldr	r3, .L52
	ldr	r3, [r3]
	ldr	r2, .L52+24
	ldrb	r3, [r2, r3]	@ zero_extendqisi2
	cmp	r3, #46
	bne	.L27
.L26:
	ldr	r3, .L52+20
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L52+20
	str	r3, [r2]
.L27:
	ldr	r3, .L52
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L52
	str	r3, [r2]
.L25:
	ldr	r3, .L52
	ldr	r3, [r3]
	ldr	r2, .L52+24
	ldrb	r3, [r2, r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L28
	ldr	r3, .L52+20
	ldr	r3, [r3]
	cmp	r3, #1
	ble	.L29
	ldr	r0, .L52+24
	bl	strlen
	mov	r3, r0
	cmp	r3, #4
	bls	.L29
	ldr	r1, .L52+28
	ldr	r0, .L52+32
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L30
	ldr	r0, .L52+32
	bl	strlen
	mov	r3, r0
	cmp	r3, #7
	bls	.L31
	ldr	r0, .L52+32
	bl	strlen
	mov	r3, r0
	cmp	r3, #12
	bhi	.L31
	ldr	r3, .L52+36
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L52+40
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L52+44
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L52+48
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L52
	mov	r2, #0
	str	r2, [r3]
	b	.L32
.L38:
	ldr	r3, .L52
	ldr	r3, [r3]
	ldr	r2, .L52+32
	ldrb	r3, [r2, r3]	@ zero_extendqisi2
	cmp	r3, #64
	bls	.L33
	ldr	r3, .L52
	ldr	r3, [r3]
	ldr	r2, .L52+32
	ldrb	r3, [r2, r3]	@ zero_extendqisi2
	cmp	r3, #90
	bhi	.L33
	ldr	r3, .L52+36
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L52+36
	str	r3, [r2]
	b	.L34
.L33:
	ldr	r3, .L52
	ldr	r3, [r3]
	ldr	r2, .L52+32
	ldrb	r3, [r2, r3]	@ zero_extendqisi2
	cmp	r3, #96
	bls	.L35
	ldr	r3, .L52
	ldr	r3, [r3]
	ldr	r2, .L52+32
	ldrb	r3, [r2, r3]	@ zero_extendqisi2
	cmp	r3, #122
	bhi	.L35
	ldr	r3, .L52+40
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L52+40
	str	r3, [r2]
	b	.L34
.L35:
	ldr	r3, .L52
	ldr	r3, [r3]
	ldr	r2, .L52+32
	ldrb	r3, [r2, r3]	@ zero_extendqisi2
	cmp	r3, #47
	bls	.L36
	ldr	r3, .L52
	ldr	r3, [r3]
	ldr	r2, .L52+32
	ldrb	r3, [r2, r3]	@ zero_extendqisi2
	cmp	r3, #57
	bhi	.L36
	ldr	r3, .L52+44
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L52+44
	str	r3, [r2]
	b	.L34
.L36:
	ldr	r3, .L52
	ldr	r3, [r3]
	ldr	r2, .L52+32
	ldrb	r3, [r2, r3]	@ zero_extendqisi2
	cmp	r3, #64
	beq	.L37
	ldr	r3, .L52
	ldr	r3, [r3]
	ldr	r2, .L52+32
	ldrb	r3, [r2, r3]	@ zero_extendqisi2
	cmp	r3, #38
	beq	.L37
	ldr	r3, .L52
	ldr	r3, [r3]
	ldr	r2, .L52+32
	ldrb	r3, [r2, r3]	@ zero_extendqisi2
	cmp	r3, #35
	beq	.L37
	ldr	r3, .L52
	ldr	r3, [r3]
	ldr	r2, .L52+32
	ldrb	r3, [r2, r3]	@ zero_extendqisi2
	cmp	r3, #42
	bne	.L34
.L37:
	ldr	r3, .L52+48
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L52+48
	str	r3, [r2]
.L34:
	ldr	r3, .L52
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L52
	str	r3, [r2]
.L32:
	ldr	r3, .L52
	ldr	r3, [r3]
	ldr	r2, .L52+32
	ldrb	r3, [r2, r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L38
	ldr	r3, .L52+36
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L39
	ldr	r3, .L52+40
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L39
	ldr	r3, .L52+44
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L39
	ldr	r3, .L52+48
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L39
	ldr	r3, .L52+52
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L40
	ldr	r3, .L52+52
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L40
	ldr	r0, .L52+56
	bl	strlen
	mov	r3, r0
	cmp	r3, #10
	bne	.L41
	ldr	r3, .L52
	mov	r2, #0
	str	r2, [r3]
	b	.L42
.L45:
	ldr	r3, .L52
	ldr	r3, [r3]
	ldr	r2, .L52+56
	ldrb	r3, [r2, r3]	@ zero_extendqisi2
	cmp	r3, #47
	bls	.L43
	ldr	r3, .L52
	ldr	r3, [r3]
	ldr	r2, .L52+56
	ldrb	r3, [r2, r3]	@ zero_extendqisi2
	cmp	r3, #57
	bhi	.L43
	ldr	r3, .L52+60
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, .L52
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L52
	str	r3, [r2]
	b	.L42
.L43:
	ldr	r0, .L52+64
	bl	printf
	ldr	r0, .L52+68
	bl	printf
	ldr	r0, .L52+72
	bl	puts
	mov	r3, #0
	b	.L17
.L42:
	ldr	r3, .L52
	ldr	r3, [r3]
	cmp	r3, #9
	ble	.L45
	ldr	r3, .L52+60
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L51
	mov	r3, #1
	b	.L17
.L41:
	ldr	r0, .L52+76
	bl	printf
	ldr	r0, .L52+80
	bl	printf
	ldr	r0, .L52+84
	bl	puts
	mov	r3, #0
	b	.L17
.L40:
	ldr	r0, .L52+88
	bl	printf
	ldr	r0, .L52+92
	bl	puts
	mov	r3, #0
	b	.L17
.L51:
	nop
	nop
	nop
	b	.L24
.L39:
	ldr	r0, .L52+76
	bl	printf
	ldr	r0, .L52+96
	bl	printf
	ldr	r0, .L52+100
	bl	printf
	ldr	r0, .L52+104
	bl	printf
	ldr	r0, .L52+108
	bl	printf
	ldr	r0, .L52+112
	bl	puts
	mov	r3, #0
	b	.L17
.L31:
	ldr	r0, .L52+116
	bl	printf
	ldr	r0, .L52+120
	bl	printf
	ldr	r0, .L52+124
	bl	puts
	mov	r3, #0
	b	.L17
.L30:
	ldr	r0, .L52+128
	bl	puts
	mov	r3, #0
	b	.L17
.L29:
	ldr	r0, .L52+132
	bl	puts
	mov	r3, #0
	b	.L17
.L24:
.L17:
	mov	r0, r3
	pop	{fp, pc}
.L53:
	.align	2
.L52:
	.word	i
	.word	temp_name
	.word	.LC13
	.word	.LC14
	.word	flag
	.word	count
	.word	temp_email
	.word	temp_password2
	.word	temp_password1
	.word	caps
	.word	small
	.word	numbers
	.word	special
	.word	temp_age
	.word	temp_mobile
	.word	success
	.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
	.word	.LC28
	.word	.LC29
	.word	.LC30
	.word	.LC31
	.word	.LC32
	.size	validate, .-validate
	.section	.rodata
	.align	2
.LC33:
	.ascii	"\012\012Account Already\000"
	.align	2
.LC34:
	.ascii	"Existed. Please Login !!\012\000"
	.align	2
.LC35:
	.ascii	"\012\012\012Account Successfully\000"
	.align	2
.LC36:
	.ascii	"Created!!\012\000"
	.text
	.align	2
	.global	account_check
	.syntax unified
	.arm
	.fpu softvfp
	.type	account_check, %function
account_check:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L62
	mov	r2, #0
	str	r2, [r3]
	b	.L55
.L59:
	ldr	r3, .L62
	ldr	r2, [r3]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #4
	sub	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r3, #200
	ldr	r2, .L62+4
	add	r3, r3, r2
	add	r3, r3, #4
	mov	r1, r3
	ldr	r0, .L62+8
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	beq	.L56
	ldr	r3, .L62
	ldr	r2, [r3]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #4
	sub	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r3, #104
	ldr	r2, .L62+4
	add	r3, r3, r2
	mov	r1, r3
	ldr	r0, .L62+12
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L57
.L56:
	ldr	r0, .L62+16
	bl	printf
	ldr	r0, .L62+20
	bl	puts
	bl	main
	b	.L58
.L57:
	ldr	r3, .L62
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L62
	str	r3, [r2]
.L55:
	ldr	r3, .L62
	ldr	r3, [r3]
	cmp	r3, #99
	ble	.L59
.L58:
	ldr	r3, .L62
	ldr	r3, [r3]
	cmp	r3, #100
	bne	.L61
	ldr	r3, .L62+24
	ldr	r2, [r3]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #4
	sub	r3, r3, r2
	lsl	r3, r3, #2
	ldr	r2, .L62+4
	add	r3, r3, r2
	ldr	r1, .L62+28
	mov	r0, r3
	bl	strcpy
	ldr	r3, .L62+24
	ldr	r2, [r3]
	ldr	r3, .L62+32
	ldr	r1, [r3]
	ldr	r0, .L62+4
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #4
	sub	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r0, r3
	add	r3, r3, #100
	str	r1, [r3]
	ldr	r3, .L62+24
	ldr	r2, [r3]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #4
	sub	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r3, #104
	ldr	r2, .L62+4
	add	r3, r3, r2
	ldr	r1, .L62+12
	mov	r0, r3
	bl	strcpy
	ldr	r3, .L62+24
	ldr	r2, [r3]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #4
	sub	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r3, #200
	ldr	r2, .L62+4
	add	r3, r3, r2
	add	r3, r3, #4
	ldr	r1, .L62+8
	mov	r0, r3
	bl	strcpy
	ldr	r3, .L62+24
	ldr	r2, [r3]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #4
	sub	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r3, #304
	ldr	r2, .L62+4
	add	r3, r3, r2
	ldr	r1, .L62+36
	mov	r0, r3
	bl	strcpy
	ldr	r3, .L62+24
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L62+24
	str	r3, [r2]
	ldr	r0, .L62+40
	bl	printf
	ldr	r0, .L62+44
	bl	puts
.L61:
	nop
	pop	{fp, pc}
.L63:
	.align	2
.L62:
	.word	i
	.word	s
	.word	temp_email
	.word	temp_password1
	.word	.LC33
	.word	.LC34
	.word	j
	.word	temp_name
	.word	temp_age
	.word	temp_mobile
	.word	.LC35
	.word	.LC36
	.size	account_check, .-account_check
	.section	.rodata
	.align	2
.LC37:
	.ascii	"\012\012LOGIN\012\000"
	.align	2
.LC38:
	.ascii	"\012Enter Your Email\011\000"
	.align	2
.LC39:
	.ascii	"Enter Your Password\011\000"
	.align	2
.LC40:
	.ascii	"\012\012Welcome %s, \000"
	.align	2
.LC41:
	.ascii	"Your are successfully logged in\000"
	.align	2
.LC42:
	.ascii	"\012\012Invalid Password! \000"
	.align	2
.LC43:
	.ascii	"Please Enter the \000"
	.align	2
.LC44:
	.ascii	"correct password\012\000"
	.align	2
.LC45:
	.ascii	"\012\012Account doesn't \000"
	.align	2
.LC46:
	.ascii	"exist, Please signup!!\012\000"
	.text
	.align	2
	.global	login
	.syntax unified
	.arm
	.fpu softvfp
	.type	login, %function
login:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r0, .L72
	bl	puts
	ldr	r0, .L72+4
	bl	printf
	ldr	r1, .L72+8
	ldr	r0, .L72+12
	bl	__isoc99_scanf
	ldr	r0, .L72+16
	bl	printf
	ldr	r1, .L72+20
	ldr	r0, .L72+12
	bl	__isoc99_scanf
	ldr	r3, .L72+24
	mov	r2, #0
	str	r2, [r3]
	b	.L65
.L70:
	ldr	r3, .L72+24
	ldr	r2, [r3]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #4
	sub	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r3, #200
	ldr	r2, .L72+28
	add	r3, r3, r2
	add	r3, r3, #4
	ldr	r1, .L72+8
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L66
	ldr	r3, .L72+24
	ldr	r2, [r3]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #4
	sub	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r3, #104
	ldr	r2, .L72+28
	add	r3, r3, r2
	ldr	r1, .L72+20
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L67
	ldr	r3, .L72+24
	ldr	r2, [r3]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #4
	sub	r3, r3, r2
	lsl	r3, r3, #2
	ldr	r2, .L72+28
	add	r3, r3, r2
	mov	r1, r3
	ldr	r0, .L72+32
	bl	printf
	ldr	r0, .L72+36
	bl	puts
	b	.L71
.L67:
	ldr	r0, .L72+40
	bl	printf
	ldr	r0, .L72+44
	bl	printf
	ldr	r0, .L72+48
	bl	puts
	bl	main
	b	.L69
.L66:
	ldr	r0, .L72+52
	bl	printf
	ldr	r0, .L72+56
	bl	puts
	bl	main
	b	.L69
.L71:
	ldr	r3, .L72+24
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L72+24
	str	r3, [r2]
.L65:
	ldr	r3, .L72+24
	ldr	r3, [r3]
	cmp	r3, #99
	ble	.L70
	nop
.L69:
	nop
	pop	{fp, pc}
.L73:
	.align	2
.L72:
	.word	.LC37
	.word	.LC38
	.word	temp_email
	.word	.LC7
	.word	.LC39
	.word	temp_password1
	.word	i
	.word	s
	.word	.LC40
	.word	.LC41
	.word	.LC42
	.word	.LC43
	.word	.LC44
	.word	.LC45
	.word	.LC46
	.size	login, .-login
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
