	.file	"147152.c"
	.intel_syntax noprefix
	.text
	.globl	anotherTransaction
	.bss
	.align 4
	.type	anotherTransaction, @object
	.size	anotherTransaction, 4
anotherTransaction:
	.zero	4
	.globl	amountToWidthdraw
	.align 4
	.type	amountToWidthdraw, @object
	.size	amountToWidthdraw, 4
amountToWidthdraw:
	.zero	4
	.globl	amountToDeposit
	.align 4
	.type	amountToDeposit, @object
	.size	amountToDeposit, 4
amountToDeposit:
	.zero	4
	.globl	pin
	.align 4
	.type	pin, @object
	.size	pin, 4
pin:
	.zero	4
	.globl	balance
	.data
	.align 8
	.type	balance, @object
	.size	balance, 8
balance:
	.long	0
	.long	1083129856
	.section	.rodata
	.align 8
.LC0:
	.string	"******** Welcome to El Banco Corrupto Grande ******** "
	.align 8
.LC1:
	.string	" Enter your pin number please: "
.LC2:
	.string	"%d"
	.align 8
.LC3:
	.string	"Sorry your pin is wrong, Pls try again with the card"
	.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
	lea	rdi, .LC0[rip]
	call	puts@PLT
	lea	rdi, .LC1[rip]
	call	puts@PLT
	lea	rsi, pin[rip]
	lea	rdi, .LC2[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	mov	eax, DWORD PTR pin[rip]
	cmp	eax, 1234
	je	.L2
	lea	rdi, .LC3[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L3
.L2:
	mov	eax, 0
	call	ATM_Transaction
.L3:
	mov	eax, 0
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	main, .-main
	.section	.rodata
	.align 8
.LC4:
	.string	"Enter any option to be served!\n"
.LC5:
	.string	"1. Balance Enquiry "
.LC6:
	.string	"2. Cash Withdraw"
.LC7:
	.string	"3. Deposit Cash"
.LC8:
	.string	"4. Exit "
.LC9:
	.string	"Your bank balance is: %f"
	.align 8
.LC10:
	.string	"\n\nDo you want to perform another transaction?\nPress 1 to proceed and 2 to exit\n"
	.align 8
.LC11:
	.string	"Please enter amount to withdraw: "
.LC12:
	.string	"Pls collect your cash"
	.align 8
.LC13:
	.string	"Your available balance is %lf\n"
	.align 8
.LC14:
	.string	"\n\nDo you want to perform another transaction?\n Press 1 to proceed and 2 to exit\n"
	.align 8
.LC15:
	.string	"Sorry in-sufficient funds in your account"
	.align 8
.LC16:
	.string	"Please enter amount to deposit: "
	.align 8
.LC17:
	.string	"Thank you for depositing, your new balance is: %f"
	.align 8
.LC18:
	.string	"\n\nDo you want another transaction?\nPress 1 to proceed and 2 to exit\n"
	.align 8
.LC19:
	.string	"Thanks for Using ATM services, See you soon"
	.text
	.globl	ATM_Transaction
	.type	ATM_Transaction, @function
ATM_Transaction:
.LFB1:
	.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, .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	rax, -12[rbp]
	mov	rsi, rax
	lea	rdi, .LC2[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	mov	eax, DWORD PTR -12[rbp]
	cmp	eax, 3
	je	.L6
	cmp	eax, 3
	jg	.L7
	cmp	eax, 1
	je	.L8
	cmp	eax, 2
	je	.L9
	jmp	.L7
.L8:
	mov	rax, QWORD PTR balance[rip]
	movq	xmm0, rax
	lea	rdi, .LC9[rip]
	mov	eax, 1
	call	printf@PLT
	lea	rdi, .LC10[rip]
	call	puts@PLT
	lea	rsi, anotherTransaction[rip]
	lea	rdi, .LC2[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	mov	eax, DWORD PTR anotherTransaction[rip]
	cmp	eax, 1
	jne	.L19
	mov	eax, 0
	call	ATM_Transaction
	jmp	.L19
.L9:
	lea	rdi, .LC11[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rsi, amountToWidthdraw[rip]
	lea	rdi, .LC2[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	mov	eax, DWORD PTR amountToWidthdraw[rip]
	pxor	xmm1, xmm1
	cvtsi2sd	xmm1, eax
	movsd	xmm0, QWORD PTR balance[rip]
	comisd	xmm0, xmm1
	jb	.L18
	lea	rdi, .LC12[rip]
	call	puts@PLT
	movsd	xmm0, QWORD PTR balance[rip]
	mov	eax, DWORD PTR amountToWidthdraw[rip]
	pxor	xmm1, xmm1
	cvtsi2sd	xmm1, eax
	subsd	xmm0, xmm1
	movsd	QWORD PTR balance[rip], xmm0
	mov	rax, QWORD PTR balance[rip]
	movq	xmm0, rax
	lea	rdi, .LC13[rip]
	mov	eax, 1
	call	printf@PLT
	lea	rdi, .LC14[rip]
	call	puts@PLT
	lea	rsi, anotherTransaction[rip]
	lea	rdi, .LC2[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	mov	eax, DWORD PTR anotherTransaction[rip]
	cmp	eax, 1
	jne	.L20
	mov	eax, 0
	call	ATM_Transaction
	jmp	.L20
.L18:
	lea	rdi, .LC15[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdi, .LC14[rip]
	call	puts@PLT
	lea	rsi, anotherTransaction[rip]
	lea	rdi, .LC2[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	mov	eax, DWORD PTR anotherTransaction[rip]
	cmp	eax, 1
	jne	.L20
	mov	eax, 0
	call	ATM_Transaction
	jmp	.L20
.L6:
	lea	rdi, .LC16[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rsi, amountToDeposit[rip]
	lea	rdi, .LC2[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	mov	eax, DWORD PTR amountToDeposit[rip]
	pxor	xmm1, xmm1
	cvtsi2sd	xmm1, eax
	movsd	xmm0, QWORD PTR balance[rip]
	addsd	xmm0, xmm1
	movsd	QWORD PTR balance[rip], xmm0
	mov	rax, QWORD PTR balance[rip]
	movq	xmm0, rax
	lea	rdi, .LC17[rip]
	mov	eax, 1
	call	printf@PLT
	lea	rdi, .LC18[rip]
	call	puts@PLT
	lea	rsi, anotherTransaction[rip]
	lea	rdi, .LC2[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	mov	eax, DWORD PTR anotherTransaction[rip]
	cmp	eax, 1
	jne	.L21
	mov	eax, 0
	call	ATM_Transaction
	jmp	.L21
.L7:
	lea	rdi, .LC19[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L11
.L19:
	nop
	jmp	.L11
.L20:
	nop
	jmp	.L11
.L21:
	nop
.L11:
	nop
	mov	rdx, QWORD PTR -8[rbp]
	sub	rdx, QWORD PTR fs:40
	je	.L16
	call	__stack_chk_fail@PLT
.L16:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1:
	.size	ATM_Transaction, .-ATM_Transaction
	.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	"147152.c"
	.text
	.comm	anotherTransaction,4,4
	.comm	amountToWidthdraw,4,4
	.comm	amountToDeposit,4,4
	.comm	pin,4,4
	.global	balance
	.data
	.align	3
	.type	balance, %object
	.size	balance, 8
balance:
	.word	0
	.word	1083129856
	.section	.rodata
	.align	2
.LC0:
	.ascii	"******** Welcome to El Banco Corrupto Grande ******"
	.ascii	"** \000"
	.align	2
.LC1:
	.ascii	" Enter your pin number please: \000"
	.align	2
.LC2:
	.ascii	"%d\000"
	.align	2
.LC3:
	.ascii	"Sorry your pin is wrong, Pls try again with the car"
	.ascii	"d\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
	ldr	r0, .L5
	bl	puts
	ldr	r0, .L5+4
	bl	puts
	ldr	r1, .L5+8
	ldr	r0, .L5+12
	bl	__isoc99_scanf
	ldr	r3, .L5+8
	ldr	r3, [r3]
	ldr	r2, .L5+16
	cmp	r3, r2
	beq	.L2
	ldr	r0, .L5+20
	bl	printf
	b	.L3
.L2:
	bl	ATM_Transaction
.L3:
	mov	r3, #0
	mov	r0, r3
	pop	{fp, pc}
.L6:
	.align	2
.L5:
	.word	.LC0
	.word	.LC1
	.word	pin
	.word	.LC2
	.word	1234
	.word	.LC3
	.size	main, .-main
	.section	.rodata
	.align	2
.LC4:
	.ascii	"Enter any option to be served!\012\000"
	.align	2
.LC5:
	.ascii	"1. Balance Enquiry \000"
	.align	2
.LC6:
	.ascii	"2. Cash Withdraw\000"
	.align	2
.LC7:
	.ascii	"3. Deposit Cash\000"
	.align	2
.LC8:
	.ascii	"4. Exit \000"
	.align	2
.LC9:
	.ascii	"Your bank balance is: %f\000"
	.align	2
.LC10:
	.ascii	"\012\012Do you want to perform another transaction?"
	.ascii	"\012Press 1 to proceed and 2 to exit\012\000"
	.align	2
.LC11:
	.ascii	"Please enter amount to withdraw: \000"
	.global	__aeabi_i2d
	.global	__aeabi_dcmple
	.align	2
.LC12:
	.ascii	"Pls collect your cash\000"
	.global	__aeabi_dsub
	.align	2
.LC13:
	.ascii	"Your available balance is %lf\012\000"
	.align	2
.LC14:
	.ascii	"\012\012Do you want to perform another transaction?"
	.ascii	"\012 Press 1 to proceed and 2 to exit\012\000"
	.align	2
.LC15:
	.ascii	"Sorry in-sufficient funds in your account\000"
	.align	2
.LC16:
	.ascii	"Please enter amount to deposit: \000"
	.global	__aeabi_dadd
	.align	2
.LC17:
	.ascii	"Thank you for depositing, your new balance is: %f\000"
	.align	2
.LC18:
	.ascii	"\012\012Do you want another transaction?\012Press 1"
	.ascii	" to proceed and 2 to exit\012\000"
	.align	2
.LC19:
	.ascii	"Thanks for Using ATM services, See you soon\000"
	.align	2
.LC20:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	ATM_Transaction
	.syntax unified
	.arm
	.fpu softvfp
	.type	ATM_Transaction, %function
ATM_Transaction:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #8
	ldr	r3, .L24
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	ldr	r0, .L24+4
	bl	puts
	ldr	r0, .L24+8
	bl	puts
	ldr	r0, .L24+12
	bl	puts
	ldr	r0, .L24+16
	bl	puts
	ldr	r0, .L24+20
	bl	puts
	sub	r3, fp, #20
	mov	r1, r3
	ldr	r0, .L24+24
	bl	__isoc99_scanf
	ldr	r3, [fp, #-20]
	cmp	r3, #3
	beq	.L8
	cmp	r3, #3
	bgt	.L9
	cmp	r3, #1
	beq	.L10
	cmp	r3, #2
	beq	.L11
	b	.L9
.L10:
	ldr	r3, .L24+28
	ldmia	r3, {r2-r3}
	ldr	r0, .L24+32
	bl	printf
	ldr	r0, .L24+36
	bl	puts
	ldr	r1, .L24+40
	ldr	r0, .L24+24
	bl	__isoc99_scanf
	ldr	r3, .L24+40
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L21
	bl	ATM_Transaction
	b	.L21
.L11:
	ldr	r0, .L24+44
	bl	printf
	ldr	r1, .L24+48
	ldr	r0, .L24+24
	bl	__isoc99_scanf
	ldr	r3, .L24+48
	ldr	r3, [r3]
	mov	r0, r3
	bl	__aeabi_i2d
	ldr	r3, .L24+28
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmple
	mov	r3, r0
	cmp	r3, #0
	beq	.L20
	ldr	r0, .L24+52
	bl	puts
	ldr	r3, .L24+28
	ldmia	r3, {r4-r5}
	ldr	r3, .L24+48
	ldr	r3, [r3]
	mov	r0, r3
	bl	__aeabi_i2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	ldr	r1, .L24+28
	stm	r1, {r2-r3}
	ldr	r3, .L24+28
	ldmia	r3, {r2-r3}
	ldr	r0, .L24+56
	bl	printf
	ldr	r0, .L24+60
	bl	puts
	ldr	r1, .L24+40
	ldr	r0, .L24+24
	bl	__isoc99_scanf
	ldr	r3, .L24+40
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L22
	bl	ATM_Transaction
	b	.L22
.L20:
	ldr	r0, .L24+64
	bl	printf
	ldr	r0, .L24+60
	bl	puts
	ldr	r1, .L24+40
	ldr	r0, .L24+24
	bl	__isoc99_scanf
	ldr	r3, .L24+40
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L22
	bl	ATM_Transaction
	b	.L22
.L8:
	ldr	r0, .L24+68
	bl	printf
	ldr	r1, .L24+72
	ldr	r0, .L24+24
	bl	__isoc99_scanf
	ldr	r3, .L24+72
	ldr	r3, [r3]
	mov	r0, r3
	bl	__aeabi_i2d
	ldr	r3, .L24+28
	ldmia	r3, {r2-r3}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	ldr	r1, .L24+28
	stm	r1, {r2-r3}
	ldr	r3, .L24+28
	ldmia	r3, {r2-r3}
	ldr	r0, .L24+76
	bl	printf
	ldr	r0, .L24+80
	bl	puts
	ldr	r1, .L24+40
	ldr	r0, .L24+24
	bl	__isoc99_scanf
	ldr	r3, .L24+40
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L23
	bl	ATM_Transaction
	b	.L23
.L9:
	ldr	r0, .L24+84
	bl	printf
	b	.L13
.L21:
	nop
	b	.L13
.L22:
	nop
	b	.L13
.L23:
	nop
.L13:
	nop
	ldr	r2, .L24
	ldr	r1, [r2]
	ldr	r2, [fp, #-16]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L18
	bl	__stack_chk_fail
.L18:
	mov	r0, r3
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L25:
	.align	2
.L24:
	.word	.LC20
	.word	.LC4
	.word	.LC5
	.word	.LC6
	.word	.LC7
	.word	.LC8
	.word	.LC2
	.word	balance
	.word	.LC9
	.word	.LC10
	.word	anotherTransaction
	.word	.LC11
	.word	amountToWidthdraw
	.word	.LC12
	.word	.LC13
	.word	.LC14
	.word	.LC15
	.word	.LC16
	.word	amountToDeposit
	.word	.LC17
	.word	.LC18
	.word	.LC19
	.size	ATM_Transaction, .-ATM_Transaction
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
