	.file	"813854.c"
	.intel_syntax noprefix
	.text
	.globl	cash
	.bss
	.align 8
	.type	cash, @object
	.size	cash, 8
cash:
	.zero	8
	.globl	wins
	.align 8
	.type	wins, @object
	.size	wins, 8
wins:
	.zero	8
	.text
	.globl	is_digit
	.type	is_digit, @function
is_digit:
.LFB6:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, edi
	mov	BYTE PTR -4[rbp], al
	cmp	BYTE PTR -4[rbp], 47
	jle	.L2
	cmp	BYTE PTR -4[rbp], 57
	jg	.L2
	mov	eax, 1
	jmp	.L4
.L2:
	mov	eax, 0
.L4:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	is_digit, .-is_digit
	.section	.rodata
.LC0:
	.string	"> "
	.text
	.globl	get_long
	.type	get_long, @function
get_long:
.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
	lea	rdi, .LC0[rip]
	mov	eax, 0
	call	printf@PLT
	mov	QWORD PTR -8[rbp], 0
	mov	BYTE PTR -9[rbp], 0
	jmp	.L6
.L7:
	call	getchar@PLT
	mov	BYTE PTR -9[rbp], al
.L6:
	movsx	eax, BYTE PTR -9[rbp]
	mov	edi, eax
	call	is_digit
	test	eax, eax
	je	.L7
	jmp	.L8
.L11:
	movabs	rax, 9223372036854775806
	cmp	QWORD PTR -8[rbp], rax
	jbe	.L9
	movabs	rax, 9223372036854775807
	mov	QWORD PTR -8[rbp], rax
	jmp	.L10
.L9:
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	add	rax, rax
	mov	QWORD PTR -8[rbp], rax
	movsx	eax, BYTE PTR -9[rbp]
	sub	eax, 48
	cdqe
	add	QWORD PTR -8[rbp], rax
	call	getchar@PLT
	mov	BYTE PTR -9[rbp], al
.L8:
	movsx	eax, BYTE PTR -9[rbp]
	mov	edi, eax
	call	is_digit
	test	eax, eax
	jne	.L11
.L10:
	jmp	.L12
.L13:
	call	getchar@PLT
	mov	BYTE PTR -9[rbp], al
.L12:
	cmp	BYTE PTR -9[rbp], 10
	jne	.L13
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	get_long, .-get_long
	.section	.rodata
.LC1:
	.string	"r"
.LC2:
	.string	"/dev/urandom"
	.text
	.globl	get_rand
	.type	get_rand, @function
get_rand:
.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
	lea	rsi, .LC1[rip]
	lea	rdi, .LC2[rip]
	call	fopen@PLT
	mov	QWORD PTR -16[rbp], rax
	mov	rdx, QWORD PTR -16[rbp]
	lea	rax, -24[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	esi, 8
	mov	rdi, rax
	call	fread@PLT
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	rcx, QWORD PTR -24[rbp]
	movabs	rdx, 3777893186295716171
	mov	rax, rcx
	imul	rdx
	mov	rax, rdx
	sar	rax, 10
	mov	rdx, rcx
	sar	rdx, 63
	sub	rax, rdx
	imul	rdx, rax, 5000
	mov	rax, rcx
	sub	rax, rdx
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	test	rax, rax
	jns	.L16
	mov	rax, QWORD PTR -24[rbp]
	neg	rax
	mov	QWORD PTR -24[rbp], rax
.L16:
	mov	rax, QWORD PTR -24[rbp]
	mov	edi, eax
	call	srand@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, QWORD PTR -8[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L18
	call	__stack_chk_fail@PLT
.L18:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	get_rand, .-get_rand
	.section	.rodata
.LC3:
	.string	"How much will you wager?"
	.align 8
.LC4:
	.string	"Current Balance: $%lu \t Current Wins: %lu\n"
	.align 8
.LC5:
	.string	"You can't bet more than you have!"
	.text
	.globl	get_bet
	.type	get_bet, @function
get_bet:
.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
.L22:
	lea	rdi, .LC3[rip]
	call	puts@PLT
	mov	rdx, QWORD PTR wins[rip]
	mov	rax, QWORD PTR cash[rip]
	mov	rsi, rax
	lea	rdi, .LC4[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 0
	call	get_long
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR cash[rip]
	cmp	QWORD PTR -8[rbp], rax
	jg	.L20
	mov	rax, QWORD PTR -8[rbp]
	jmp	.L23
.L20:
	lea	rdi, .LC5[rip]
	call	puts@PLT
	jmp	.L22
.L23:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	get_bet, .-get_bet
	.section	.rodata
.LC6:
	.string	"Choose a number (1-%d)\n"
.LC7:
	.string	"Please enter a valid choice."
	.text
	.globl	get_choice
	.type	get_choice, @function
get_choice:
.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, 16
.L27:
	mov	esi, 36
	lea	rdi, .LC6[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 0
	call	get_long
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jle	.L25
	cmp	QWORD PTR -8[rbp], 36
	jg	.L25
	mov	rax, QWORD PTR -8[rbp]
	jmp	.L28
.L25:
	lea	rdi, .LC7[rip]
	call	puts@PLT
	jmp	.L27
.L28:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	get_choice, .-get_choice
	.section	.rodata
.LC8:
	.string	"flag.txt"
.LC9:
	.string	"Failed to open the flag file"
.LC10:
	.string	"%s"
	.text
	.globl	print_flag
	.type	print_flag, @function
print_flag:
.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, 80
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rsi, .LC1[rip]
	lea	rdi, .LC8[rip]
	call	fopen@PLT
	mov	QWORD PTR -72[rbp], rax
	cmp	QWORD PTR -72[rbp], 0
	jne	.L30
	lea	rdi, .LC9[rip]
	call	puts@PLT
	mov	eax, -1
	jmp	.L32
.L30:
	mov	rdx, QWORD PTR -72[rbp]
	lea	rax, -64[rbp]
	mov	esi, 48
	mov	rdi, rax
	call	fgets@PLT
	lea	rax, -64[rbp]
	mov	rsi, rax
	lea	rdi, .LC10[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 0
.L32:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L33
	call	__stack_chk_fail@PLT
.L33:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	print_flag, .-print_flag
	.globl	win_msgs
	.section	.rodata
.LC11:
	.string	"Wow.. Nice One!"
.LC12:
	.string	"You chose correct!"
.LC13:
	.string	"Winner!"
.LC14:
	.string	"Wow, you won!"
.LC15:
	.string	"Alright, now you're cooking!"
.LC16:
	.string	"Darn.. Here you go"
.LC17:
	.string	"Darn, you got it right."
.LC18:
	.string	"You.. win.. this round..."
.LC19:
	.string	"Congrats!"
.LC20:
	.string	"You're not cheating are you?"
	.section	.data.rel.local,"aw"
	.align 32
	.type	win_msgs, @object
	.size	win_msgs, 80
win_msgs:
	.quad	.LC11
	.quad	.LC12
	.quad	.LC13
	.quad	.LC14
	.quad	.LC15
	.quad	.LC16
	.quad	.LC17
	.quad	.LC18
	.quad	.LC19
	.quad	.LC20
	.globl	lose_msgs1
	.section	.rodata
.LC21:
	.string	"WRONG"
.LC22:
	.string	"Nice try.."
.LC23:
	.string	"YOU LOSE"
.LC24:
	.string	"Not this time.."
.LC25:
	.string	"Better luck next time..."
	.section	.data.rel.local
	.align 32
	.type	lose_msgs1, @object
	.size	lose_msgs1, 40
lose_msgs1:
	.quad	.LC21
	.quad	.LC22
	.quad	.LC23
	.quad	.LC24
	.quad	.LC25
	.globl	lose_msgs2
	.section	.rodata
.LC26:
	.string	"Just give up!"
.LC27:
	.string	"It's over for you."
.LC28:
	.string	"Stop wasting your time."
.LC29:
	.string	"You're never gonna win"
	.align 8
.LC30:
	.string	"If you keep it up, maybe you'll get the flag in 100000000000 years"
	.section	.data.rel.local
	.align 32
	.type	lose_msgs2, @object
	.size	lose_msgs2, 40
lose_msgs2:
	.quad	.LC26
	.quad	.LC27
	.quad	.LC28
	.quad	.LC29
	.quad	.LC30
	.section	.rodata
.LC31:
	.string	""
.LC32:
	.string	"Roulette  :  "
.LC33:
	.string	"%d"
.LC34:
	.string	"\b \b"
.LC36:
	.string	"%ld"
	.text
	.globl	spin_roulette
	.type	spin_roulette, @function
spin_roulette:
.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, 48
	mov	QWORD PTR -40[rbp], rdi
	lea	rdi, .LC31[rip]
	call	puts@PLT
	lea	rdi, .LC32[rip]
	mov	eax, 0
	call	printf@PLT
	mov	DWORD PTR -12[rbp], 12500
	mov	DWORD PTR -20[rbp], 0
	jmp	.L35
.L38:
	mov	ecx, DWORD PTR -20[rbp]
	movsx	rax, ecx
	imul	rax, rax, 954437177
	shr	rax, 32
	sar	eax, 3
	mov	esi, ecx
	sar	esi, 31
	sub	eax, esi
	mov	edx, eax
	mov	eax, edx
	sal	eax, 3
	add	eax, edx
	sal	eax, 2
	sub	ecx, eax
	mov	edx, ecx
	lea	eax, 1[rdx]
	mov	esi, eax
	lea	rdi, .LC33[rip]
	mov	eax, 0
	call	printf@PLT
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	mov	edi, eax
	call	usleep@PLT
	mov	DWORD PTR -16[rbp], 0
	jmp	.L36
.L37:
	lea	rdi, .LC34[rip]
	mov	eax, 0
	call	printf@PLT
	add	DWORD PTR -16[rbp], 1
.L36:
	mov	eax, DWORD PTR -16[rbp]
	cmp	eax, DWORD PTR -4[rbp]
	jl	.L37
	add	DWORD PTR -20[rbp], 1
.L35:
	cmp	DWORD PTR -20[rbp], 127
	jle	.L38
	mov	DWORD PTR -20[rbp], 128
	jmp	.L39
.L46:
	mov	ecx, DWORD PTR -20[rbp]
	movsx	rax, ecx
	imul	rax, rax, 954437177
	shr	rax, 32
	sar	eax, 3
	mov	esi, ecx
	sar	esi, 31
	sub	eax, esi
	mov	edx, eax
	mov	eax, edx
	sal	eax, 3
	add	eax, edx
	sal	eax, 2
	sub	ecx, eax
	mov	edx, ecx
	lea	eax, 1[rdx]
	mov	esi, eax
	lea	rdi, .LC33[rip]
	mov	eax, 0
	call	printf@PLT
	mov	DWORD PTR -4[rbp], eax
	mov	ecx, DWORD PTR -20[rbp]
	movsx	rax, ecx
	imul	rax, rax, 954437177
	shr	rax, 32
	sar	eax, 3
	mov	esi, ecx
	sar	esi, 31
	sub	eax, esi
	mov	edx, eax
	mov	eax, edx
	sal	eax, 3
	add	eax, edx
	sal	eax, 2
	mov	edx, ecx
	sub	edx, eax
	lea	eax, 1[rdx]
	cdqe
	cmp	QWORD PTR -40[rbp], rax
	jne	.L40
	mov	DWORD PTR -16[rbp], 0
	jmp	.L41
.L42:
	lea	rdi, .LC34[rip]
	mov	eax, 0
	call	printf@PLT
	add	DWORD PTR -16[rbp], 1
.L41:
	mov	eax, DWORD PTR -16[rbp]
	cmp	eax, DWORD PTR -4[rbp]
	jl	.L42
	jmp	.L43
.L40:
	mov	eax, DWORD PTR -12[rbp]
	mov	edi, eax
	call	usleep@PLT
	mov	DWORD PTR -16[rbp], 0
	jmp	.L44
.L45:
	lea	rdi, .LC34[rip]
	mov	eax, 0
	call	printf@PLT
	add	DWORD PTR -16[rbp], 1
.L44:
	mov	eax, DWORD PTR -16[rbp]
	cmp	eax, DWORD PTR -4[rbp]
	jl	.L45
	add	DWORD PTR -20[rbp], 1
.L39:
	cmp	DWORD PTR -20[rbp], 163
	jle	.L46
.L43:
	mov	DWORD PTR -8[rbp], 0
	jmp	.L47
.L50:
	mov	edx, DWORD PTR -20[rbp]
	mov	eax, DWORD PTR -8[rbp]
	lea	ecx, [rdx+rax]
	movsx	rax, ecx
	imul	rax, rax, 954437177
	shr	rax, 32
	sar	eax, 3
	mov	esi, ecx
	sar	esi, 31
	sub	eax, esi
	mov	edx, eax
	mov	eax, edx
	sal	eax, 3
	add	eax, edx
	sal	eax, 2
	sub	ecx, eax
	mov	edx, ecx
	lea	eax, 1[rdx]
	mov	esi, eax
	lea	rdi, .LC33[rip]
	mov	eax, 0
	call	printf@PLT
	mov	DWORD PTR -4[rbp], eax
	pxor	xmm1, xmm1
	cvtsi2sd	xmm1, DWORD PTR -12[rbp]
	movsd	xmm0, QWORD PTR .LC35[rip]
	mulsd	xmm0, xmm1
	cvttsd2si	eax, xmm0
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	mov	edi, eax
	call	usleep@PLT
	mov	DWORD PTR -16[rbp], 0
	jmp	.L48
.L49:
	lea	rdi, .LC34[rip]
	mov	eax, 0
	call	printf@PLT
	add	DWORD PTR -16[rbp], 1
.L48:
	mov	eax, DWORD PTR -16[rbp]
	cmp	eax, DWORD PTR -4[rbp]
	jl	.L49
	add	DWORD PTR -8[rbp], 1
.L47:
	cmp	DWORD PTR -8[rbp], 35
	jle	.L50
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rax
	lea	rdi, .LC36[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR -12[rbp]
	mov	edi, eax
	call	usleep@PLT
	lea	rdi, .LC31[rip]
	call	puts@PLT
	lea	rdi, .LC31[rip]
	call	puts@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE12:
	.size	spin_roulette, .-spin_roulette
	.section	.rodata
	.align 8
.LC37:
	.string	"Spinning the Roulette for a chance to win $%lu!\n"
	.text
	.globl	play_roulette
	.type	play_roulette, @function
play_roulette:
.LFB13:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rax
	mov	rsi, rax
	lea	rdi, .LC37[rip]
	mov	eax, 0
	call	printf@PLT
	call	rand@PLT
	mov	edx, eax
	movsx	rax, edx
	imul	rax, rax, 954437177
	shr	rax, 32
	sar	eax, 3
	mov	esi, edx
	sar	esi, 31
	sub	eax, esi
	mov	ecx, eax
	mov	eax, ecx
	sal	eax, 3
	add	eax, ecx
	sal	eax, 2
	mov	ecx, edx
	sub	ecx, eax
	lea	eax, 1[rcx]
	cdqe
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	spin_roulette
	mov	rax, QWORD PTR -8[rbp]
	cmp	rax, QWORD PTR -24[rbp]
	jne	.L52
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR cash[rip]
	add	rax, rdx
	mov	QWORD PTR cash[rip], rax
	call	rand@PLT
	mov	edx, eax
	movsx	rax, edx
	imul	rax, rax, 1717986919
	shr	rax, 32
	sar	eax, 2
	mov	esi, edx
	sar	esi, 31
	sub	eax, esi
	mov	ecx, eax
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	add	eax, eax
	mov	ecx, edx
	sub	ecx, eax
	movsx	rax, ecx
	lea	rdx, 0[0+rax*8]
	lea	rax, win_msgs[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	rdi, rax
	call	puts@PLT
	mov	rax, QWORD PTR wins[rip]
	add	rax, 1
	mov	QWORD PTR wins[rip], rax
	jmp	.L53
.L52:
	call	rand@PLT
	movsx	rdx, eax
	imul	rdx, rdx, 1717986919
	shr	rdx, 32
	sar	edx
	mov	ecx, eax
	sar	ecx, 31
	sub	edx, ecx
	mov	ecx, edx
	sal	ecx, 2
	add	ecx, edx
	sub	eax, ecx
	mov	edx, eax
	movsx	rax, edx
	lea	rdx, 0[0+rax*8]
	lea	rax, lose_msgs1[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	rdi, rax
	call	puts@PLT
	call	rand@PLT
	movsx	rdx, eax
	imul	rdx, rdx, 1717986919
	shr	rdx, 32
	sar	edx
	mov	ecx, eax
	sar	ecx, 31
	sub	edx, ecx
	mov	ecx, edx
	sal	ecx, 2
	add	ecx, edx
	sub	eax, ecx
	mov	edx, eax
	movsx	rax, edx
	lea	rdx, 0[0+rax*8]
	lea	rax, lose_msgs2[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	rdi, rax
	call	puts@PLT
.L53:
	lea	rdi, .LC31[rip]
	call	puts@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE13:
	.size	play_roulette, .-play_roulette
	.section	.rodata
.LC38:
	.string	"Welcome to ONLINE ROULETTE!"
	.align 8
.LC39:
	.string	"Here, have $%ld to start on the house! You'll lose it all anyways >:)\n"
	.align 8
.LC40:
	.string	"Wow you won %lu times? Looks like its time for you cash you out.\n"
	.align 8
.LC41:
	.string	"Congrats you made $%lu. See you next time!\n"
	.align 8
.LC42:
	.string	"*** Current Balance: $%lu ***\n"
	.align 8
.LC43:
	.string	"Wow, I can't believe you did it.. You deserve this flag!"
	.align 8
.LC44:
	.string	"Wait a second... You're not even on a hotstreak! Get out of here cheater!"
	.align 8
.LC45:
	.string	"Haha, lost all the money I gave you already? See ya later!"
	.text
	.globl	main
	.type	main, @function
main:
.LFB14:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR stdout[rip]
	mov	ecx, 0
	mov	edx, 2
	mov	esi, 0
	mov	rdi, rax
	call	setvbuf@PLT
	mov	eax, 0
	call	get_rand
	mov	QWORD PTR cash[rip], rax
	lea	rdi, .LC38[rip]
	call	puts@PLT
	mov	rax, QWORD PTR cash[rip]
	mov	rsi, rax
	lea	rdi, .LC39[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdi, .LC31[rip]
	call	puts@PLT
	jmp	.L55
.L58:
	mov	eax, 0
	call	get_bet
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR cash[rip]
	sub	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR cash[rip], rax
	mov	eax, 0
	call	get_choice
	mov	QWORD PTR -8[rbp], rax
	lea	rdi, .LC31[rip]
	call	puts@PLT
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	play_roulette
	mov	rax, QWORD PTR wins[rip]
	cmp	rax, 15
	jle	.L56
	mov	rax, QWORD PTR wins[rip]
	mov	rsi, rax
	lea	rdi, .LC40[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR cash[rip]
	mov	rsi, rax
	lea	rdi, .LC41[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, -1
	call	exit@PLT
.L56:
	mov	rax, QWORD PTR cash[rip]
	cmp	rax, 1000000000
	jle	.L55
	mov	rax, QWORD PTR cash[rip]
	mov	rsi, rax
	lea	rdi, .LC42[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR wins[rip]
	cmp	rax, 2
	jle	.L57
	lea	rdi, .LC43[rip]
	call	puts@PLT
	mov	eax, 0
	call	print_flag
	mov	edi, 0
	call	exit@PLT
.L57:
	lea	rdi, .LC44[rip]
	call	puts@PLT
	mov	edi, -1
	call	exit@PLT
.L55:
	mov	rax, QWORD PTR cash[rip]
	test	rax, rax
	jg	.L58
	lea	rdi, .LC45[rip]
	call	puts@PLT
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE14:
	.size	main, .-main
	.section	.rodata
	.align 8
.LC35:
	.long	-1717986918
	.long	1072798105
	.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	"813854.c"
	.text
	.global	cash
	.bss
	.align	2
	.type	cash, %object
	.size	cash, 4
cash:
	.space	4
	.global	wins
	.align	2
	.type	wins, %object
	.size	wins, 4
wins:
	.space	4
	.text
	.align	2
	.global	is_digit
	.syntax unified
	.arm
	.fpu softvfp
	.type	is_digit, %function
is_digit:
	@ 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
	mov	r3, r0
	strb	r3, [fp, #-5]
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
	cmp	r3, #47
	bls	.L2
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
	cmp	r3, #57
	bhi	.L2
	mov	r3, #1
	b	.L4
.L2:
	mov	r3, #0
.L4:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	is_digit, .-is_digit
	.section	.rodata
	.align	2
.LC0:
	.ascii	"> \000"
	.text
	.align	2
	.global	get_long
	.syntax unified
	.arm
	.fpu softvfp
	.type	get_long, %function
get_long:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, fp, lr}
	add	fp, sp, #28
	sub	sp, sp, #16
	ldr	r0, .L15
	bl	printf
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	mov	r3, #0
	strb	r3, [fp, #-37]
	b	.L6
.L7:
	bl	getchar
	mov	r3, r0
	strb	r3, [fp, #-37]
.L6:
	ldrb	r3, [fp, #-37]	@ zero_extendqisi2
	mov	r0, r3
	bl	is_digit
	mov	r3, r0
	cmp	r3, #0
	beq	.L7
	b	.L8
.L11:
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	mvn	r0, #-2147483647
	mov	r1, #0
	cmp	r3, r1
	cmpeq	r2, r0
	bls	.L9
	mvn	r2, #-2147483648
	mov	r3, #0
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	b	.L10
.L9:
	sub	r5, fp, #36
	ldmia	r5, {r4-r5}
	mov	r2, r4
	mov	r3, r5
	mov	r0, #0
	mov	r1, #0
	lsl	r1, r3, #2
	orr	r1, r1, r2, lsr #30
	lsl	r0, r2, #2
	mov	r2, r0
	mov	r3, r1
	adds	r2, r2, r4
	adc	r3, r3, r5
	adds	r8, r2, r2
	adc	r9, r3, r3
	mov	r2, r8
	mov	r3, r9
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	ldrb	r3, [fp, #-37]	@ zero_extendqisi2
	sub	r3, r3, #48
	mov	r2, r3
	asr	r3, r2, #31
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	adds	r6, r0, r2
	adc	r7, r1, r3
	str	r6, [fp, #-36]
	str	r7, [fp, #-32]
	bl	getchar
	mov	r3, r0
	strb	r3, [fp, #-37]
.L8:
	ldrb	r3, [fp, #-37]	@ zero_extendqisi2
	mov	r0, r3
	bl	is_digit
	mov	r3, r0
	cmp	r3, #0
	bne	.L11
.L10:
	b	.L12
.L13:
	bl	getchar
	mov	r3, r0
	strb	r3, [fp, #-37]
.L12:
	ldrb	r3, [fp, #-37]	@ zero_extendqisi2
	cmp	r3, #10
	bne	.L13
	ldr	r3, [fp, #-36]
	mov	r0, r3
	sub	sp, fp, #28
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, fp, pc}
.L16:
	.align	2
.L15:
	.word	.LC0
	.size	get_long, .-get_long
	.section	.rodata
	.align	2
.LC1:
	.ascii	"r\000"
	.align	2
.LC2:
	.ascii	"/dev/urandom\000"
	.align	2
.LC3:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	get_rand
	.syntax unified
	.arm
	.fpu softvfp
	.type	get_rand, %function
get_rand:
	@ 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, .L21
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r1, .L21+4
	ldr	r0, .L21+8
	bl	fopen
	str	r0, [fp, #-12]
	sub	r0, fp, #16
	ldr	r3, [fp, #-12]
	mov	r2, #1
	mov	r1, #4
	bl	fread
	ldr	r0, [fp, #-12]
	bl	fclose
	ldr	r1, [fp, #-16]
	ldr	r3, .L21+12
	smull	r2, r3, r1, r3
	asr	r2, r3, #11
	asr	r3, r1, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #5
	sub	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #3
	sub	r2, r1, r3
	str	r2, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bge	.L18
	ldr	r3, [fp, #-16]
	rsb	r3, r3, #0
	str	r3, [fp, #-16]
.L18:
	ldr	r3, [fp, #-16]
	mov	r0, r3
	bl	srand
	ldr	r3, [fp, #-16]
	ldr	r2, .L21
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L20
	bl	__stack_chk_fail
.L20:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L22:
	.align	2
.L21:
	.word	.LC3
	.word	.LC1
	.word	.LC2
	.word	1759218605
	.size	get_rand, .-get_rand
	.section	.rodata
	.align	2
.LC4:
	.ascii	"How much will you wager?\000"
	.align	2
.LC5:
	.ascii	"Current Balance: $%lu \011 Current Wins: %lu\012\000"
	.align	2
.LC6:
	.ascii	"You can't bet more than you have!\000"
	.text
	.align	2
	.global	get_bet
	.syntax unified
	.arm
	.fpu softvfp
	.type	get_bet, %function
get_bet:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
.L26:
	ldr	r0, .L28
	bl	puts
	ldr	r3, .L28+4
	ldr	r3, [r3]
	ldr	r2, .L28+8
	ldr	r2, [r2]
	mov	r1, r3
	ldr	r0, .L28+12
	bl	printf
	bl	get_long
	str	r0, [fp, #-8]
	ldr	r3, .L28+4
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	bgt	.L24
	ldr	r3, [fp, #-8]
	b	.L27
.L24:
	ldr	r0, .L28+16
	bl	puts
	b	.L26
.L27:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L29:
	.align	2
.L28:
	.word	.LC4
	.word	cash
	.word	wins
	.word	.LC5
	.word	.LC6
	.size	get_bet, .-get_bet
	.section	.rodata
	.align	2
.LC7:
	.ascii	"Choose a number (1-%d)\012\000"
	.align	2
.LC8:
	.ascii	"Please enter a valid choice.\000"
	.text
	.align	2
	.global	get_choice
	.syntax unified
	.arm
	.fpu softvfp
	.type	get_choice, %function
get_choice:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
.L33:
	mov	r1, #36
	ldr	r0, .L35
	bl	printf
	bl	get_long
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	ble	.L31
	ldr	r3, [fp, #-8]
	cmp	r3, #36
	bgt	.L31
	ldr	r3, [fp, #-8]
	b	.L34
.L31:
	ldr	r0, .L35+4
	bl	puts
	b	.L33
.L34:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L36:
	.align	2
.L35:
	.word	.LC7
	.word	.LC8
	.size	get_choice, .-get_choice
	.section	.rodata
	.align	2
.LC9:
	.ascii	"flag.txt\000"
	.align	2
.LC10:
	.ascii	"Failed to open the flag file\000"
	.align	2
.LC11:
	.ascii	"%s\000"
	.align	2
.LC12:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	print_flag
	.syntax unified
	.arm
	.fpu softvfp
	.type	print_flag, %function
print_flag:
	@ args = 0, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	ldr	r3, .L42
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r1, .L42+4
	ldr	r0, .L42+8
	bl	fopen
	str	r0, [fp, #-60]
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	bne	.L38
	ldr	r0, .L42+12
	bl	puts
	mvn	r3, #0
	b	.L40
.L38:
	sub	r3, fp, #56
	ldr	r2, [fp, #-60]
	mov	r1, #48
	mov	r0, r3
	bl	fgets
	sub	r3, fp, #56
	mov	r1, r3
	ldr	r0, .L42+16
	bl	printf
	mov	r3, #0
.L40:
	ldr	r2, .L42
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L41
	bl	__stack_chk_fail
.L41:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L43:
	.align	2
.L42:
	.word	.LC12
	.word	.LC1
	.word	.LC9
	.word	.LC10
	.word	.LC11
	.size	print_flag, .-print_flag
	.global	win_msgs
	.section	.rodata
	.align	2
.LC13:
	.ascii	"Wow.. Nice One!\000"
	.align	2
.LC14:
	.ascii	"You chose correct!\000"
	.align	2
.LC15:
	.ascii	"Winner!\000"
	.align	2
.LC16:
	.ascii	"Wow, you won!\000"
	.align	2
.LC17:
	.ascii	"Alright, now you're cooking!\000"
	.align	2
.LC18:
	.ascii	"Darn.. Here you go\000"
	.align	2
.LC19:
	.ascii	"Darn, you got it right.\000"
	.align	2
.LC20:
	.ascii	"You.. win.. this round...\000"
	.align	2
.LC21:
	.ascii	"Congrats!\000"
	.align	2
.LC22:
	.ascii	"You're not cheating are you?\000"
	.data
	.align	2
	.type	win_msgs, %object
	.size	win_msgs, 40
win_msgs:
	.word	.LC13
	.word	.LC14
	.word	.LC15
	.word	.LC16
	.word	.LC17
	.word	.LC18
	.word	.LC19
	.word	.LC20
	.word	.LC21
	.word	.LC22
	.global	lose_msgs1
	.section	.rodata
	.align	2
.LC23:
	.ascii	"WRONG\000"
	.align	2
.LC24:
	.ascii	"Nice try..\000"
	.align	2
.LC25:
	.ascii	"YOU LOSE\000"
	.align	2
.LC26:
	.ascii	"Not this time..\000"
	.align	2
.LC27:
	.ascii	"Better luck next time...\000"
	.data
	.align	2
	.type	lose_msgs1, %object
	.size	lose_msgs1, 20
lose_msgs1:
	.word	.LC23
	.word	.LC24
	.word	.LC25
	.word	.LC26
	.word	.LC27
	.global	lose_msgs2
	.section	.rodata
	.align	2
.LC28:
	.ascii	"Just give up!\000"
	.align	2
.LC29:
	.ascii	"It's over for you.\000"
	.align	2
.LC30:
	.ascii	"Stop wasting your time.\000"
	.align	2
.LC31:
	.ascii	"You're never gonna win\000"
	.align	2
.LC32:
	.ascii	"If you keep it up, maybe you'll get the flag in 100"
	.ascii	"000000000 years\000"
	.data
	.align	2
	.type	lose_msgs2, %object
	.size	lose_msgs2, 20
lose_msgs2:
	.word	.LC28
	.word	.LC29
	.word	.LC30
	.word	.LC31
	.word	.LC32
	.section	.rodata
	.align	2
.LC33:
	.ascii	"\000"
	.align	2
.LC34:
	.ascii	"Roulette  :  \000"
	.align	2
.LC35:
	.ascii	"%d\000"
	.align	2
.LC36:
	.ascii	"\010 \010\000"
	.global	__aeabi_i2d
	.global	__aeabi_dmul
	.global	__aeabi_d2iz
	.align	2
.LC37:
	.ascii	"%ld\000"
	.text
	.align	2
	.global	spin_roulette
	.syntax unified
	.arm
	.fpu softvfp
	.type	spin_roulette, %function
spin_roulette:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-32]
	ldr	r0, .L61
	bl	puts
	ldr	r0, .L61+4
	bl	printf
	ldr	r3, .L61+8
	str	r3, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L45
.L48:
	ldr	r1, [fp, #-24]
	ldr	r3, .L61+12
	smull	r2, r3, r1, r3
	asr	r2, r3, #3
	asr	r3, r1, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #3
	add	r3, r3, r2
	lsl	r3, r3, #2
	sub	r2, r1, r3
	add	r3, r2, #1
	mov	r1, r3
	ldr	r0, .L61+16
	bl	printf
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-16]
	mov	r0, r3
	bl	usleep
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L46
.L47:
	ldr	r0, .L61+20
	bl	printf
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L46:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-8]
	cmp	r2, r3
	blt	.L47
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L45:
	ldr	r3, [fp, #-24]
	cmp	r3, #127
	ble	.L48
	mov	r3, #128
	str	r3, [fp, #-24]
	b	.L49
.L56:
	ldr	r1, [fp, #-24]
	ldr	r3, .L61+12
	smull	r2, r3, r1, r3
	asr	r2, r3, #3
	asr	r3, r1, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #3
	add	r3, r3, r2
	lsl	r3, r3, #2
	sub	r2, r1, r3
	add	r3, r2, #1
	mov	r1, r3
	ldr	r0, .L61+16
	bl	printf
	str	r0, [fp, #-8]
	ldr	r1, [fp, #-24]
	ldr	r3, .L61+12
	smull	r2, r3, r1, r3
	asr	r2, r3, #3
	asr	r3, r1, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #3
	add	r3, r3, r2
	lsl	r3, r3, #2
	sub	r2, r1, r3
	add	r3, r2, #1
	ldr	r2, [fp, #-32]
	cmp	r2, r3
	bne	.L50
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L51
.L52:
	ldr	r0, .L61+20
	bl	printf
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L51:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-8]
	cmp	r2, r3
	blt	.L52
	b	.L53
.L50:
	ldr	r3, [fp, #-16]
	mov	r0, r3
	bl	usleep
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L54
.L55:
	ldr	r0, .L61+20
	bl	printf
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L54:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-8]
	cmp	r2, r3
	blt	.L55
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L49:
	ldr	r3, [fp, #-24]
	cmp	r3, #163
	ble	.L56
.L53:
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L57
.L60:
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-12]
	add	r1, r2, r3
	ldr	r3, .L61+12
	smull	r2, r3, r1, r3
	asr	r2, r3, #3
	asr	r3, r1, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #3
	add	r3, r3, r2
	lsl	r3, r3, #2
	sub	r2, r1, r3
	add	r3, r2, #1
	mov	r1, r3
	ldr	r0, .L61+16
	bl	printf
	str	r0, [fp, #-8]
	ldr	r0, [fp, #-16]
	bl	__aeabi_i2d
	ldr	r2, .L61+24
	ldr	r3, .L61+28
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2iz
	mov	r3, r0
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	mov	r0, r3
	bl	usleep
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L58
.L59:
	ldr	r0, .L61+20
	bl	printf
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L58:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-8]
	cmp	r2, r3
	blt	.L59
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L57:
	ldr	r3, [fp, #-12]
	cmp	r3, #35
	ble	.L60
	ldr	r1, [fp, #-32]
	ldr	r0, .L61+32
	bl	printf
	ldr	r3, [fp, #-16]
	mov	r0, r3
	bl	usleep
	ldr	r0, .L61
	bl	puts
	ldr	r0, .L61
	bl	puts
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L62:
	.align	2
.L61:
	.word	.LC33
	.word	.LC34
	.word	12500
	.word	954437177
	.word	.LC35
	.word	.LC36
	.word	-1717986918
	.word	1072798105
	.word	.LC37
	.size	spin_roulette, .-spin_roulette
	.section	.rodata
	.align	2
.LC38:
	.ascii	"Spinning the Roulette for a chance to win $%lu!\012"
	.ascii	"\000"
	.text
	.align	2
	.global	play_roulette
	.syntax unified
	.arm
	.fpu softvfp
	.type	play_roulette, %function
play_roulette:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #1
	mov	r1, r3
	ldr	r0, .L66
	bl	printf
	bl	rand
	mov	r1, r0
	ldr	r3, .L66+4
	smull	r2, r3, r1, r3
	asr	r2, r3, #3
	asr	r3, r1, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #3
	add	r3, r3, r2
	lsl	r3, r3, #2
	sub	r2, r1, r3
	add	r3, r2, #1
	str	r3, [fp, #-8]
	ldr	r0, [fp, #-8]
	bl	spin_roulette
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	bne	.L64
	ldr	r3, [fp, #-20]
	lsl	r2, r3, #1
	ldr	r3, .L66+8
	ldr	r3, [r3]
	add	r3, r2, r3
	ldr	r2, .L66+8
	str	r3, [r2]
	bl	rand
	mov	r1, r0
	ldr	r3, .L66+12
	smull	r2, r3, r1, r3
	asr	r2, r3, #2
	asr	r3, r1, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #1
	sub	r2, r1, r3
	ldr	r3, .L66+16
	ldr	r3, [r3, r2, lsl #2]
	mov	r0, r3
	bl	puts
	ldr	r3, .L66+20
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L66+20
	str	r3, [r2]
	b	.L65
.L64:
	bl	rand
	mov	r1, r0
	ldr	r3, .L66+12
	smull	r2, r3, r1, r3
	asr	r2, r3, #1
	asr	r3, r1, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	sub	r2, r1, r3
	ldr	r3, .L66+24
	ldr	r3, [r3, r2, lsl #2]
	mov	r0, r3
	bl	puts
	bl	rand
	mov	r1, r0
	ldr	r3, .L66+12
	smull	r2, r3, r1, r3
	asr	r2, r3, #1
	asr	r3, r1, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	sub	r2, r1, r3
	ldr	r3, .L66+28
	ldr	r3, [r3, r2, lsl #2]
	mov	r0, r3
	bl	puts
.L65:
	ldr	r0, .L66+32
	bl	puts
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L67:
	.align	2
.L66:
	.word	.LC38
	.word	954437177
	.word	cash
	.word	1717986919
	.word	win_msgs
	.word	wins
	.word	lose_msgs1
	.word	lose_msgs2
	.word	.LC33
	.size	play_roulette, .-play_roulette
	.section	.rodata
	.align	2
.LC39:
	.ascii	"Welcome to ONLINE ROULETTE!\000"
	.align	2
.LC40:
	.ascii	"Here, have $%ld to start on the house! You'll lose "
	.ascii	"it all anyways >:)\012\000"
	.align	2
.LC41:
	.ascii	"Wow you won %lu times? Looks like its time for you "
	.ascii	"cash you out.\012\000"
	.align	2
.LC42:
	.ascii	"Congrats you made $%lu. See you next time!\012\000"
	.align	2
.LC43:
	.ascii	"*** Current Balance: $%lu ***\012\000"
	.align	2
.LC44:
	.ascii	"Wow, I can't believe you did it.. You deserve this "
	.ascii	"flag!\000"
	.align	2
.LC45:
	.ascii	"Wait a second... You're not even on a hotstreak! Ge"
	.ascii	"t out of here cheater!\000"
	.align	2
.LC46:
	.ascii	"Haha, lost all the money I gave you already? See ya"
	.ascii	" later!\000"
	.text
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, .L74
	ldr	r0, [r3]
	mov	r3, #0
	mov	r2, #2
	mov	r1, #0
	bl	setvbuf
	bl	get_rand
	mov	r3, r0
	ldr	r2, .L74+4
	str	r3, [r2]
	ldr	r0, .L74+8
	bl	puts
	ldr	r3, .L74+4
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L74+12
	bl	printf
	ldr	r0, .L74+16
	bl	puts
	b	.L69
.L72:
	bl	get_bet
	str	r0, [fp, #-12]
	ldr	r3, .L74+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	sub	r3, r2, r3
	ldr	r2, .L74+4
	str	r3, [r2]
	bl	get_choice
	str	r0, [fp, #-8]
	ldr	r0, .L74+16
	bl	puts
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	play_roulette
	ldr	r3, .L74+20
	ldr	r3, [r3]
	cmp	r3, #15
	ble	.L70
	ldr	r3, .L74+20
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L74+24
	bl	printf
	ldr	r3, .L74+4
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L74+28
	bl	printf
	mvn	r0, #0
	bl	exit
.L70:
	ldr	r3, .L74+4
	ldr	r3, [r3]
	ldr	r2, .L74+32
	cmp	r3, r2
	ble	.L69
	ldr	r3, .L74+4
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L74+36
	bl	printf
	ldr	r3, .L74+20
	ldr	r3, [r3]
	cmp	r3, #2
	ble	.L71
	ldr	r0, .L74+40
	bl	puts
	bl	print_flag
	mov	r0, #0
	bl	exit
.L71:
	ldr	r0, .L74+44
	bl	puts
	mvn	r0, #0
	bl	exit
.L69:
	ldr	r3, .L74+4
	ldr	r3, [r3]
	cmp	r3, #0
	bgt	.L72
	ldr	r0, .L74+48
	bl	puts
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L75:
	.align	2
.L74:
	.word	stdout
	.word	cash
	.word	.LC39
	.word	.LC40
	.word	.LC33
	.word	wins
	.word	.LC41
	.word	.LC42
	.word	1000000000
	.word	.LC43
	.word	.LC44
	.word	.LC45
	.word	.LC46
	.size	main, .-main
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
