	.file	"24009.c"
	.intel_syntax noprefix
	.text
	.globl	ledAmount
	.section	.rodata
	.align 2
	.type	ledAmount, @object
	.size	ledAmount, 2
ledAmount:
	.value	4
	.globl	reverse
	.bss
	.align 2
	.type	reverse, @object
	.size	reverse, 2
reverse:
	.zero	2
	.text
	.globl	shieldConfig
	.type	shieldConfig, @function
shieldConfig:
.LFB0:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, 1073877012
	mov	eax, DWORD PTR [rax]
	mov	edx, 1073877012
	or	eax, 262144
	mov	DWORD PTR [rdx], eax
	mov	eax, 1207960576
	mov	eax, DWORD PTR [rax]
	mov	edx, 1207960576
	or	eax, 64
	mov	DWORD PTR [rdx], eax
	mov	eax, 1207960576
	mov	eax, DWORD PTR [rax]
	mov	edx, 1207960576
	or	ah, 1
	mov	DWORD PTR [rdx], eax
	mov	eax, 1207960576
	mov	eax, DWORD PTR [rax]
	mov	edx, 1207960576
	or	ah, 4
	mov	DWORD PTR [rdx], eax
	mov	eax, 1207960576
	mov	eax, DWORD PTR [rax]
	mov	edx, 1207960576
	or	ah, 16
	mov	DWORD PTR [rdx], eax
	mov	eax, 1207960588
	mov	eax, DWORD PTR [rax]
	mov	edx, 1207960588
	or	eax, 65536
	mov	DWORD PTR [rdx], eax
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	shieldConfig, .-shieldConfig
	.globl	write_bit
	.type	write_bit, @function
write_bit:
.LFB1:
	.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 -4[rbp], edi
	mov	DWORD PTR -8[rbp], esi
	cmp	DWORD PTR -8[rbp], 0
	je	.L3
	mov	eax, 1207960600
	mov	esi, DWORD PTR [rax]
	mov	eax, DWORD PTR -4[rbp]
	mov	edx, 1
	mov	ecx, eax
	sal	rdx, cl
	mov	rax, rdx
	mov	edx, 1207960600
	or	eax, esi
	mov	DWORD PTR [rdx], eax
	jmp	.L5
.L3:
	mov	eax, 1207960600
	mov	esi, DWORD PTR [rax]
	mov	eax, DWORD PTR -4[rbp]
	add	eax, 16
	mov	edx, 1
	mov	ecx, eax
	sal	rdx, cl
	mov	rax, rdx
	not	eax
	mov	edx, 1207960600
	and	eax, esi
	mov	DWORD PTR [rdx], eax
.L5:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1:
	.size	write_bit, .-write_bit
	.globl	ledWrite
	.type	ledWrite, @function
ledWrite:
.LFB2:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 8
	mov	DWORD PTR -4[rbp], edi
	mov	DWORD PTR -8[rbp], esi
	cmp	DWORD PTR -4[rbp], 3
	je	.L7
	cmp	DWORD PTR -4[rbp], 3
	jg	.L8
	cmp	DWORD PTR -4[rbp], 1
	je	.L9
	cmp	DWORD PTR -4[rbp], 2
	je	.L10
.L8:
	mov	eax, DWORD PTR -8[rbp]
	mov	esi, eax
	mov	edi, 3
	call	write_bit
	jmp	.L11
.L9:
	mov	eax, DWORD PTR -8[rbp]
	mov	esi, eax
	mov	edi, 5
	call	write_bit
	jmp	.L11
.L10:
	mov	eax, DWORD PTR -8[rbp]
	mov	esi, eax
	mov	edi, 4
	call	write_bit
	jmp	.L11
.L7:
	mov	eax, DWORD PTR -8[rbp]
	mov	esi, eax
	mov	edi, 6
	call	write_bit
	nop
.L11:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE2:
	.size	ledWrite, .-ledWrite
	.globl	checkButtonState
	.type	checkButtonState, @function
checkButtonState:
.LFB3:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, 1207960592
	mov	eax, DWORD PTR [rax]
	and	eax, 256
	test	eax, eax
	jne	.L14
	movzx	eax, WORD PTR reverse[rip]
	xor	eax, 1
	mov	WORD PTR reverse[rip], ax
.L14:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE3:
	.size	checkButtonState, .-checkButtonState
	.globl	delay_us
	.type	delay_us, @function
delay_us:
.LFB4:
	.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 -4[rbp], 0
	jmp	.L16
.L17:
#APP
# 79 "the_stack_data/24009.c" 1
	nop
# 0 "" 2
#NO_APP
	add	DWORD PTR -4[rbp], 1
.L16:
	cmp	DWORD PTR -4[rbp], 49999
	jle	.L17
	nop
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE4:
	.size	delay_us, .-delay_us
	.globl	ledSequence
	.type	ledSequence, @function
ledSequence:
.LFB5:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	movzx	eax, WORD PTR reverse[rip]
	test	ax, ax
	je	.L19
	mov	eax, 4
	sub	eax, 1
	jmp	.L20
.L19:
	mov	eax, 0
.L20:
	mov	WORD PTR -2[rbp], ax
	jmp	.L21
.L25:
	mov	eax, 1207960596
	mov	DWORD PTR [rax], 0
	movsx	eax, WORD PTR -2[rbp]
	mov	esi, 1
	mov	edi, eax
	call	ledWrite
	mov	eax, 0
	call	delay_us
	movzx	eax, WORD PTR reverse[rip]
	test	ax, ax
	je	.L22
	movzx	eax, WORD PTR -2[rbp]
	sub	eax, 1
	jmp	.L23
.L22:
	movzx	eax, WORD PTR -2[rbp]
	add	eax, 1
.L23:
	mov	WORD PTR -2[rbp], ax
.L21:
	cmp	WORD PTR -2[rbp], 0
	js	.L26
	mov	eax, 4
	cmp	WORD PTR -2[rbp], ax
	jl	.L25
.L26:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE5:
	.size	ledSequence, .-ledSequence
	.globl	main
	.type	main, @function
main:
.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, 0
	call	shieldConfig
.L28:
	mov	eax, 0
	call	checkButtonState
	mov	eax, 0
	call	ledSequence
	jmp	.L28
	.cfi_endproc
.LFE6:
	.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	"24009.c"
	.text
	.global	ledAmount
	.section	.rodata
	.align	1
	.type	ledAmount, %object
	.size	ledAmount, 2
ledAmount:
	.short	4
	.global	reverse
	.bss
	.align	1
	.type	reverse, %object
	.size	reverse, 2
reverse:
	.space	2
	.text
	.align	2
	.global	shieldConfig
	.syntax unified
	.arm
	.fpu softvfp
	.type	shieldConfig, %function
shieldConfig:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	ldr	r3, .L2
	ldr	r3, [r3]
	ldr	r2, .L2
	orr	r3, r3, #262144
	str	r3, [r2]
	ldr	r3, .L2+4
	ldr	r3, [r3]
	ldr	r2, .L2+4
	orr	r3, r3, #64
	str	r3, [r2]
	ldr	r3, .L2+4
	ldr	r3, [r3]
	ldr	r2, .L2+4
	orr	r3, r3, #256
	str	r3, [r2]
	ldr	r3, .L2+4
	ldr	r3, [r3]
	ldr	r2, .L2+4
	orr	r3, r3, #1024
	str	r3, [r2]
	ldr	r3, .L2+4
	ldr	r3, [r3]
	ldr	r2, .L2+4
	orr	r3, r3, #4096
	str	r3, [r2]
	ldr	r3, .L2+8
	ldr	r3, [r3]
	ldr	r2, .L2+8
	orr	r3, r3, #65536
	str	r3, [r2]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L3:
	.align	2
.L2:
	.word	1073877012
	.word	1207960576
	.word	1207960588
	.size	shieldConfig, .-shieldConfig
	.align	2
	.global	write_bit
	.syntax unified
	.arm
	.fpu softvfp
	.type	write_bit, %function
write_bit:
	@ 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
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r1, [fp, #-20]
	cmp	r1, #0
	beq	.L5
	ldr	r3, .L8
	ldr	r0, [r3]
	mov	r2, #1
	mov	r3, #0
	ldr	r1, [fp, #-16]
	sub	lr, r1, #32
	rsb	ip, r1, #32
	lsl	r5, r3, r1
	orr	r5, r5, r2, lsl lr
	orr	r5, r5, r2, lsr ip
	lsl	r4, r2, r1
	mov	r3, r4
	ldr	r2, .L8
	orr	r3, r0, r3
	str	r3, [r2]
	b	.L7
.L5:
	ldr	r1, .L8
	ldr	lr, [r1]
	ldr	r1, [fp, #-16]
	add	ip, r1, #16
	mov	r0, #1
	mov	r1, #0
	sub	r5, ip, #32
	rsb	r4, ip, #32
	lsl	r3, r1, ip
	orr	r3, r3, r0, lsl r5
	orr	r3, r3, r0, lsr r4
	lsl	r2, r0, ip
	mov	r3, r2
	mvn	r3, r3
	ldr	r2, .L8
	and	r3, r3, lr
	str	r3, [r2]
.L7:
	nop
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L9:
	.align	2
.L8:
	.word	1207960600
	.size	write_bit, .-write_bit
	.align	2
	.global	ledWrite
	.syntax unified
	.arm
	.fpu softvfp
	.type	ledWrite, %function
ledWrite:
	@ 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, [fp, #-8]
	cmp	r3, #3
	beq	.L11
	ldr	r3, [fp, #-8]
	cmp	r3, #3
	bgt	.L12
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	beq	.L13
	ldr	r3, [fp, #-8]
	cmp	r3, #2
	beq	.L14
.L12:
	ldr	r1, [fp, #-12]
	mov	r0, #3
	bl	write_bit
	b	.L15
.L13:
	ldr	r1, [fp, #-12]
	mov	r0, #5
	bl	write_bit
	b	.L15
.L14:
	ldr	r1, [fp, #-12]
	mov	r0, #4
	bl	write_bit
	b	.L15
.L11:
	ldr	r1, [fp, #-12]
	mov	r0, #6
	bl	write_bit
	nop
.L15:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	ledWrite, .-ledWrite
	.align	2
	.global	checkButtonState
	.syntax unified
	.arm
	.fpu softvfp
	.type	checkButtonState, %function
checkButtonState:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	ldr	r3, .L19
	ldr	r3, [r3]
	and	r3, r3, #256
	cmp	r3, #0
	bne	.L18
	ldr	r3, .L19+4
	ldrsh	r3, [r3]
	eor	r3, r3, #1
	lsl	r3, r3, #16
	asr	r3, r3, #16
	ldr	r2, .L19+4
	strh	r3, [r2]	@ movhi
.L18:
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L20:
	.align	2
.L19:
	.word	1207960592
	.word	reverse
	.size	checkButtonState, .-checkButtonState
	.align	2
	.global	delay_us
	.syntax unified
	.arm
	.fpu softvfp
	.type	delay_us, %function
delay_us:
	@ 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, #0
	str	r3, [fp, #-8]
	b	.L22
.L23:
	.syntax divided
@ 79 "the_stack_data/24009.c" 1
	nop
@ 0 "" 2
	.arm
	.syntax unified
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L22:
	ldr	r3, [fp, #-8]
	ldr	r2, .L24
	cmp	r3, r2
	ble	.L23
	nop
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L25:
	.align	2
.L24:
	.word	49999
	.size	delay_us, .-delay_us
	.align	2
	.global	ledSequence
	.syntax unified
	.arm
	.fpu softvfp
	.type	ledSequence, %function
ledSequence:
	@ 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, .L35
	ldrsh	r3, [r3]
	cmp	r3, #0
	beq	.L27
	mov	r3, #4
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	sub	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #16
	asr	r3, r3, #16
	b	.L28
.L27:
	mov	r3, #0
.L28:
	strh	r3, [fp, #-6]	@ movhi
	b	.L29
.L33:
	ldr	r3, .L35+4
	mov	r2, #0
	str	r2, [r3]
	ldrsh	r3, [fp, #-6]
	mov	r1, #1
	mov	r0, r3
	bl	ledWrite
	bl	delay_us
	ldr	r3, .L35
	ldrsh	r3, [r3]
	cmp	r3, #0
	beq	.L30
	ldrh	r3, [fp, #-6]
	sub	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #16
	asr	r3, r3, #16
	b	.L31
.L30:
	ldrh	r3, [fp, #-6]
	add	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #16
	asr	r3, r3, #16
.L31:
	strh	r3, [fp, #-6]	@ movhi
.L29:
	ldrsh	r3, [fp, #-6]
	cmp	r3, #0
	blt	.L34
	mov	r2, #4
	ldrsh	r3, [fp, #-6]
	cmp	r3, r2
	blt	.L33
.L34:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L36:
	.align	2
.L35:
	.word	reverse
	.word	1207960596
	.size	ledSequence, .-ledSequence
	.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
	bl	shieldConfig
.L38:
	bl	checkButtonState
	bl	ledSequence
	b	.L38
	.size	main, .-main
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
