	.file	"758745.c"
	.intel_syntax noprefix
	.text
	.globl	testMode
	.bss
	.align 4
	.type	testMode, @object
	.size	testMode, 4
testMode:
	.zero	4
	.text
	.globl	insertArc
	.type	insertArc, @function
insertArc:
.LFB6:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	jne	.L2
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 8[rax], rdx
	jmp	.L1
.L2:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], rdx
	nop
.L1:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	insertArc, .-insertArc
	.globl	arrayStructStateFill
	.type	arrayStructStateFill, @function
arrayStructStateFill:
.LFB7:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -56[rbp], rdi
	mov	DWORD PTR -60[rbp], esi
	mov	DWORD PTR -64[rbp], edx
	mov	eax, DWORD PTR -60[rbp]
	mov	DWORD PTR -36[rbp], eax
	jmp	.L5
.L6:
	mov	DWORD PTR -32[rbp], 0
	mov	QWORD PTR -24[rbp], 0
	mov	DWORD PTR -16[rbp], 0
	mov	rax, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -36[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	add	rcx, rax
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR [rcx], rax
	mov	QWORD PTR 8[rcx], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR 16[rcx], rax
	add	DWORD PTR -36[rbp], 1
.L5:
	mov	eax, DWORD PTR -36[rbp]
	cmp	eax, DWORD PTR -64[rbp]
	jle	.L6
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	arrayStructStateFill, .-arrayStructStateFill
	.globl	arrayStructStateIncreaseSize
	.type	arrayStructStateIncreaseSize, @function
arrayStructStateIncreaseSize:
.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	DWORD PTR -28[rbp], esi
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -28[rbp]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	realloc@PLT
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 8[rdx], rax
	mov	edx, DWORD PTR -28[rbp]
	mov	ecx, DWORD PTR -4[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	arrayStructStateFill
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	arrayStructStateIncreaseSize, .-arrayStructStateIncreaseSize
	.globl	enqueque
	.type	enqueque, @function
enqueque:
.LFB9:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jne	.L11
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 16[rax], rdx
	jmp	.L12
.L11:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 48[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 16[rax], rdx
.L12:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], edx
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	enqueque, .-enqueque
	.globl	dequeque
	.type	dequeque, @function
dequeque:
.LFB10:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	cmp	QWORD PTR -24[rbp], 0
	je	.L15
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jne	.L16
.L15:
	mov	eax, 0
	jmp	.L17
.L16:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 48[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -8[rbp]
.L17:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	dequeque, .-dequeque
	.section	.rodata
.LC0:
	.string	"\n\tEntro in destroyQueque"
	.text
	.globl	destroyQueque
	.type	destroyQueque, @function
destroyQueque:
.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, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	eax, DWORD PTR testMode[rip]
	cmp	eax, 1
	jle	.L20
	lea	rdi, .LC0[rip]
	call	puts@PLT
	jmp	.L20
.L21:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	dequeque
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	rdi, rax
	call	arrayTapeDelete
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	free@PLT
.L20:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jne	.L21
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	destroyQueque, .-destroyQueque
	.globl	blankBlock
	.bss
	.align 8
	.type	blankBlock, @object
	.size	blankBlock, 8
blankBlock:
	.zero	8
	.section	.rodata
.LC1:
	.string	"\t\t\t\tEntro in blockDelete"
	.align 8
.LC2:
	.string	"***Errore in blockDelete: si \303\203\302\250 cercato di eliminare un elemento che non esiste."
	.align 8
.LC3:
	.string	"Sto per cancellare il blocco: %s\n"
	.text
	.globl	blockDelete
	.type	blockDelete, @function
blockDelete:
.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	QWORD PTR -8[rbp], rdi
	mov	eax, DWORD PTR testMode[rip]
	cmp	eax, 3
	jle	.L24
	lea	rdi, .LC1[rip]
	call	puts@PLT
.L24:
	mov	rax, QWORD PTR blankBlock[rip]
	cmp	QWORD PTR -8[rbp], rax
	je	.L30
	cmp	QWORD PTR -8[rbp], 0
	jne	.L27
	lea	rdi, .LC2[rip]
	call	puts@PLT
	mov	edi, 1
	call	exit@PLT
.L27:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jne	.L31
	mov	eax, DWORD PTR testMode[rip]
	cmp	eax, 2
	jle	.L29
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rsi, rax
	lea	rdi, .LC3[rip]
	mov	eax, 0
	call	printf@PLT
.L29:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	free@PLT
	jmp	.L31
.L30:
	nop
	jmp	.L23
.L31:
	nop
.L23:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE12:
	.size	blockDelete, .-blockDelete
	.globl	arrayOfTapeBlocksResize
	.type	arrayOfTapeBlocksResize, @function
arrayOfTapeBlocksResize:
.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	eax, esi
	mov	BYTE PTR -28[rbp], al
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	add	eax, 1
	mov	DWORD PTR -12[rbp], eax
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -12[rbp]
	mov	DWORD PTR [rax], edx
	cmp	BYTE PTR -28[rbp], 82
	jne	.L33
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	realloc@PLT
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 8[rdx], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rdx, rax
	mov	rax, QWORD PTR blankBlock[rip]
	mov	QWORD PTR [rdx], rax
.L33:
	cmp	BYTE PTR -28[rbp], 76
	jne	.L38
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	sal	rax, 3
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rdx, QWORD PTR blankBlock[rip]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	DWORD PTR -16[rbp], 1
	jmp	.L35
.L36:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	edx, DWORD PTR -16[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*8]
	mov	rdx, QWORD PTR -8[rbp]
	add	rdx, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR [rdx], rax
	add	DWORD PTR -16[rbp], 1
.L35:
	mov	eax, DWORD PTR -16[rbp]
	cmp	eax, DWORD PTR -12[rbp]
	jl	.L36
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], rdx
	nop
.L38:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE13:
	.size	arrayOfTapeBlocksResize, .-arrayOfTapeBlocksResize
	.section	.rodata
.LC4:
	.string	"\tBlocco generato: %s\n"
	.text
	.globl	arrayTapeGenerator
	.type	arrayTapeGenerator, @function
arrayTapeGenerator:
.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, 64
	mov	QWORD PTR -56[rbp], rdi
	mov	edi, 24
	call	malloc@PLT
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR [rax], 5
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR [rax]
	cdqe
	sal	rax, 3
	mov	rdi, rax
	call	malloc@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR 16[rax], 1
	mov	DWORD PTR -44[rbp], 0
	mov	DWORD PTR -40[rbp], 0
	mov	DWORD PTR -36[rbp], 0
	jmp	.L40
.L47:
	mov	edi, 16
	call	malloc@PLT
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 8[rax], 1
	mov	edi, 600
	call	malloc@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	DWORD PTR -40[rbp], 0
	jmp	.L41
.L44:
	mov	eax, DWORD PTR -44[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L42
	mov	eax, DWORD PTR -40[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 95
	jmp	.L43
.L42:
	mov	eax, DWORD PTR -44[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -40[rbp]
	movsx	rcx, edx
	mov	rdx, QWORD PTR -8[rbp]
	add	rdx, rcx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR [rdx], al
	add	DWORD PTR -44[rbp], 1
.L43:
	add	DWORD PTR -40[rbp], 1
.L41:
	cmp	DWORD PTR -40[rbp], 598
	jle	.L44
	mov	eax, DWORD PTR -40[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 0
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, DWORD PTR testMode[rip]
	test	eax, eax
	jle	.L45
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rax
	lea	rdi, .LC4[rip]
	mov	eax, 0
	call	printf@PLT
.L45:
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -36[rbp], eax
	jne	.L46
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR [rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR [rax]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	realloc@PLT
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR 8[rdx], rax
.L46:
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR [rdx], rax
	add	DWORD PTR -36[rbp], 1
.L40:
	mov	eax, DWORD PTR -44[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L47
	jmp	.L48
.L49:
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR blankBlock[rip]
	mov	QWORD PTR [rdx], rax
	add	DWORD PTR -36[rbp], 1
.L48:
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -36[rbp], eax
	jl	.L49
	mov	rax, QWORD PTR -32[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE14:
	.size	arrayTapeGenerator, .-arrayTapeGenerator
	.globl	arrayTapeIncreaseBlocks
	.type	arrayTapeIncreaseBlocks, @function
arrayTapeIncreaseBlocks:
.LFB15:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -8[rbp], 0
	mov	DWORD PTR -12[rbp], 0
	jmp	.L52
.L54:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR blankBlock[rip]
	cmp	rdx, rax
	je	.L53
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 8[rax], edx
.L53:
	add	DWORD PTR -12[rbp], 1
.L52:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -12[rbp], eax
	jl	.L54
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE15:
	.size	arrayTapeIncreaseBlocks, .-arrayTapeIncreaseBlocks
	.section	.rodata
.LC5:
	.string	"\nEntro in arrayTapeDelete"
.LC6:
	.string	"\nSto per cancellare l'array:"
	.align 8
.LC7:
	.string	"\t\t*** L'array \303\250 stato cancellato!! ***"
	.text
	.globl	arrayTapeDelete
	.type	arrayTapeDelete, @function
arrayTapeDelete:
.LFB16:
	.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	eax, DWORD PTR testMode[rip]
	cmp	eax, 3
	jle	.L57
	lea	rdi, .LC5[rip]
	call	puts@PLT
.L57:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	DWORD PTR -4[rbp], 0
	jmp	.L58
.L59:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	blockDelete
	add	DWORD PTR -4[rbp], 1
.L58:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -4[rbp], eax
	jl	.L59
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jne	.L63
	mov	eax, DWORD PTR testMode[rip]
	cmp	eax, 1
	jle	.L61
	lea	rdi, .LC6[rip]
	call	puts@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	printArray
.L61:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	eax, DWORD PTR testMode[rip]
	cmp	eax, 3
	jle	.L63
	lea	rdi, .LC7[rip]
	call	puts@PLT
	nop
.L63:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE16:
	.size	arrayTapeDelete, .-arrayTapeDelete
	.globl	maxSteps
	.bss
	.align 4
	.type	maxSteps, @object
	.size	maxSteps, 4
maxSteps:
	.zero	4
	.globl	structureMT
	.align 16
	.type	structureMT, @object
	.size	structureMT, 16
structureMT:
	.zero	16
	.globl	cQueque
	.align 16
	.type	cQueque, @object
	.size	cQueque, 24
cQueque:
	.zero	24
	.globl	accepts
	.align 4
	.type	accepts, @object
	.size	accepts, 4
accepts:
	.zero	4
	.globl	notAccepts
	.align 4
	.type	notAccepts, @object
	.size	notAccepts, 4
notAccepts:
	.zero	4
	.globl	undefined
	.align 4
	.type	undefined, @object
	.size	undefined, 4
undefined:
	.zero	4
	.globl	undefinedConfiguration
	.align 4
	.type	undefinedConfiguration, @object
	.size	undefinedConfiguration, 4
undefinedConfiguration:
	.zero	4
	.globl	finish
	.align 4
	.type	finish, @object
	.size	finish, 4
finish:
	.zero	4
	.section	.rodata
.LC8:
	.string	"%s"
.LC9:
	.string	"%s\n"
.LC10:
	.string	"acc"
	.text
	.globl	structureInizializer
	.type	structureInizializer, @function
structureInizializer:
.LFB17:
	.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
	mov	DWORD PTR structureMT[rip], 20
	mov	eax, DWORD PTR structureMT[rip]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR structureMT[rip+8], rax
	mov	eax, DWORD PTR structureMT[rip]
	sub	eax, 1
	mov	edx, eax
	mov	esi, 0
	lea	rdi, structureMT[rip]
	call	arrayStructStateFill
	lea	rax, -13[rbp]
	mov	edx, 5
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	lea	rax, -13[rbp]
	mov	rsi, rax
	lea	rdi, .LC8[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	jmp	.L65
.L68:
	mov	DWORD PTR -32[rbp], 0
	mov	QWORD PTR -40[rbp], 0
	lea	rax, -13[rbp]
	mov	rdi, rax
	call	atoi@PLT
	mov	DWORD PTR -48[rbp], eax
	mov	edx, DWORD PTR structureMT[rip]
	mov	eax, DWORD PTR -48[rbp]
	cmp	edx, eax
	jg	.L66
	mov	eax, DWORD PTR -48[rbp]
	mov	esi, eax
	lea	rdi, structureMT[rip]
	call	arrayStructStateIncreaseSize
.L66:
	mov	rcx, QWORD PTR structureMT[rip+8]
	mov	eax, DWORD PTR -48[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L67
	mov	rcx, QWORD PTR structureMT[rip+8]
	mov	eax, DWORD PTR -48[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	add	rcx, rax
	mov	rax, QWORD PTR [rcx]
	mov	rdx, QWORD PTR 8[rcx]
	mov	QWORD PTR -48[rbp], rax
	mov	QWORD PTR -40[rbp], rdx
	mov	rax, QWORD PTR 16[rcx]
	mov	QWORD PTR -32[rbp], rax
.L67:
	mov	QWORD PTR -56[rbp], 0
	lea	rax, -64[rbp]
	mov	rsi, rax
	lea	rdi, .LC9[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	lea	rax, -64[rbp]
	add	rax, 1
	mov	rsi, rax
	lea	rdi, .LC9[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	lea	rax, -64[rbp]
	add	rax, 2
	mov	rsi, rax
	lea	rdi, .LC9[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	lea	rax, -13[rbp]
	mov	rsi, rax
	lea	rdi, .LC8[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	lea	rax, -13[rbp]
	mov	rdi, rax
	call	atoi@PLT
	mov	DWORD PTR -60[rbp], eax
	mov	edi, 16
	call	malloc@PLT
	mov	QWORD PTR -72[rbp], rax
	mov	rcx, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR -64[rbp]
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR [rcx], rax
	mov	QWORD PTR 8[rcx], rdx
	lea	rdx, -72[rbp]
	lea	rax, -48[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	insertArc
	mov	rcx, QWORD PTR structureMT[rip+8]
	mov	eax, DWORD PTR -48[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	add	rcx, rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR [rcx], rax
	mov	QWORD PTR 8[rcx], rdx
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR 16[rcx], rax
	lea	rax, -13[rbp]
	mov	rsi, rax
	lea	rdi, .LC8[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
.L65:
	lea	rax, -13[rbp]
	mov	edx, 3
	lea	rsi, .LC10[rip]
	mov	rdi, rax
	call	strncmp@PLT
	test	eax, eax
	jne	.L68
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L70
	call	__stack_chk_fail@PLT
.L70:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE17:
	.size	structureInizializer, .-structureInizializer
	.section	.rodata
.LC11:
	.string	"max"
	.text
	.globl	accStates
	.type	accStates, @function
accStates:
.LFB18:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rax, -13[rbp]
	mov	edx, 5
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	lea	rax, -13[rbp]
	mov	rsi, rax
	lea	rdi, .LC8[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	jmp	.L72
.L74:
	lea	rax, -13[rbp]
	mov	rdi, rax
	call	atoi@PLT
	mov	DWORD PTR -52[rbp], eax
	mov	eax, DWORD PTR structureMT[rip]
	cmp	DWORD PTR -52[rbp], eax
	jl	.L73
	mov	eax, DWORD PTR -52[rbp]
	mov	esi, eax
	lea	rdi, structureMT[rip]
	call	arrayStructStateIncreaseSize
	mov	QWORD PTR -40[rbp], 0
	mov	rcx, QWORD PTR structureMT[rip+8]
	mov	eax, DWORD PTR -52[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	add	rcx, rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR [rcx], rax
	mov	QWORD PTR 8[rcx], rdx
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR 16[rcx], rax
.L73:
	mov	rcx, QWORD PTR structureMT[rip+8]
	mov	eax, DWORD PTR -52[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	eax, DWORD PTR -52[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rcx, QWORD PTR structureMT[rip+8]
	mov	eax, DWORD PTR -52[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	add	rax, rcx
	mov	DWORD PTR 16[rax], 1
	lea	rax, -13[rbp]
	mov	edx, 5
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	lea	rax, -13[rbp]
	mov	rsi, rax
	lea	rdi, .LC8[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
.L72:
	lea	rax, -13[rbp]
	lea	rsi, .LC11[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L74
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L76
	call	__stack_chk_fail@PLT
.L76:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE18:
	.size	accStates, .-accStates
	.globl	maxStepsSetting
	.type	maxStepsSetting, @function
maxStepsSetting:
.LFB19:
	.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	rax, -15[rbp]
	mov	edx, 7
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	lea	rax, -15[rbp]
	mov	rsi, rax
	lea	rdi, .LC8[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	lea	rax, -15[rbp]
	mov	rdi, rax
	call	atoi@PLT
	mov	DWORD PTR maxSteps[rip], eax
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L79
	call	__stack_chk_fail@PLT
.L79:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE19:
	.size	maxStepsSetting, .-maxStepsSetting
	.section	.rodata
.LC12:
	.string	"tr"
	.align 8
.LC13:
	.string	"Problemi nel riconoscimento dell'input: impossibile leggere <tr>."
.LC14:
	.string	"run"
	.align 8
.LC15:
	.string	"Problemi nel riconoscimento dell'input: impossibile leggere <run>."
	.text
	.globl	inputManager
	.type	inputManager, @function
inputManager:
.LFB20:
	.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	rax, -15[rbp]
	mov	rsi, rax
	lea	rdi, .LC8[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	lea	rax, -15[rbp]
	lea	rsi, .LC12[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	je	.L81
	lea	rdi, .LC13[rip]
	call	puts@PLT
	mov	edi, 0
	call	exit@PLT
.L81:
	mov	eax, 0
	call	structureInizializer
	mov	eax, 0
	call	accStates
	mov	eax, 0
	call	maxStepsSetting
	lea	rax, -12[rbp]
	mov	rsi, rax
	lea	rdi, .LC8[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	lea	rax, -12[rbp]
	lea	rsi, .LC14[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	je	.L82
	lea	rdi, .LC15[rip]
	call	puts@PLT
	mov	edi, 0
	call	exit@PLT
.L82:
	call	getchar@PLT
	mov	BYTE PTR -16[rbp], al
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L84
	call	__stack_chk_fail@PLT
.L84:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE20:
	.size	inputManager, .-inputManager
	.globl	dinamicStringInput
	.type	dinamicStringInput, @function
dinamicStringInput:
.LFB21:
	.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 -16[rbp], 100
	mov	eax, DWORD PTR -16[rbp]
	mov	DWORD PTR -28[rbp], eax
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	DWORD PTR -24[rbp], 0
	mov	DWORD PTR -12[rbp], 100
	mov	DWORD PTR -20[rbp], 0
	call	getchar@PLT
	mov	BYTE PTR -29[rbp], al
	jmp	.L86
.L89:
	mov	eax, DWORD PTR -28[rbp]
	sub	eax, 1
	cmp	DWORD PTR -24[rbp], eax
	jne	.L87
	mov	eax, DWORD PTR -12[rbp]
	add	DWORD PTR -28[rbp], eax
	mov	eax, DWORD PTR -28[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	realloc@PLT
	mov	QWORD PTR -8[rbp], rax
.L87:
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -8[rbp]
	add	rdx, rax
	movzx	eax, BYTE PTR -29[rbp]
	mov	BYTE PTR [rdx], al
	add	DWORD PTR -24[rbp], 1
	mov	DWORD PTR -20[rbp], 1
	call	getchar@PLT
	mov	BYTE PTR -29[rbp], al
.L86:
	cmp	BYTE PTR -29[rbp], 10
	je	.L88
	cmp	BYTE PTR -29[rbp], -1
	jne	.L89
.L88:
	cmp	BYTE PTR -29[rbp], -1
	jne	.L90
	cmp	DWORD PTR -20[rbp], 0
	jne	.L90
	mov	DWORD PTR finish[rip], 1
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	eax, 0
	jmp	.L91
.L90:
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 0
	mov	rax, QWORD PTR -8[rbp]
.L91:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE21:
	.size	dinamicStringInput, .-dinamicStringInput
	.section	.rodata
.LC16:
	.string	"\n**NASTRO:"
.LC17:
	.string	"\n"
	.text
	.globl	printTape
	.type	printTape, @function
printTape:
.LFB22:
	.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
	lea	rdi, .LC16[rip]
	call	puts@PLT
	mov	DWORD PTR -4[rbp], 0
	jmp	.L93
.L94:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR [rax]
	mov	rsi, rax
	lea	rdi, .LC8[rip]
	mov	eax, 0
	call	printf@PLT
	add	DWORD PTR -4[rbp], 1
.L93:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -4[rbp], eax
	jl	.L94
	lea	rdi, .LC17[rip]
	call	puts@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE22:
	.size	printTape, .-printTape
	.section	.rodata
	.align 8
.LC18:
	.string	"Numero di utilizzatori array: %i\n"
.LC19:
	.string	"\t( %s | %i )\n"
	.text
	.globl	printArray
	.type	printArray, @function
printArray:
.LFB23:
	.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	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	mov	esi, eax
	lea	rdi, .LC18[rip]
	mov	eax, 0
	call	printf@PLT
	mov	DWORD PTR -4[rbp], 0
	jmp	.L96
.L97:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR [rax]
	mov	rsi, rax
	lea	rdi, .LC19[rip]
	mov	eax, 0
	call	printf@PLT
	add	DWORD PTR -4[rbp], 1
.L96:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -4[rbp], eax
	jl	.L97
	mov	edi, 10
	call	putchar@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE23:
	.size	printArray, .-printArray
	.section	.rodata
	.align 8
.LC20:
	.string	"Entro in configurationGenerator\n"
	.align 8
.LC21:
	.string	"\t\t\t\tLibero l'array di blocchi da configurationGenerator"
	.align 8
.LC22:
	.string	"\t\t\t\tLibero inputConfiguration da configurationGenerator"
	.text
	.globl	configurationGenerator
	.type	configurationGenerator, @function
configurationGenerator:
.LFB24:
	.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
	mov	eax, DWORD PTR testMode[rip]
	cmp	eax, 3
	jle	.L99
	lea	rdi, .LC20[rip]
	call	puts@PLT
.L99:
	mov	DWORD PTR -20[rbp], 0
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L100
.L103:
	mov	rax, QWORD PTR -16[rbp]
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	cmp	dl, al
	jne	.L101
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -8[rbp], rax
	cmp	DWORD PTR -20[rbp], 0
	jle	.L102
	mov	edi, 56
	call	malloc@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR 28[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 28[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 32[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	edx, DWORD PTR 16[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 32[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	rdi, rax
	call	arrayTapeIncreaseBlocks
.L102:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 40[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 48[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rax
	lea	rdi, cQueque[rip]
	call	enqueque
	add	DWORD PTR -20[rbp], 1
.L101:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -16[rbp], rax
.L100:
	cmp	QWORD PTR -16[rbp], 0
	jne	.L103
	cmp	DWORD PTR -20[rbp], 0
	jne	.L104
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	rdi, rax
	call	arrayTapeDelete
	mov	eax, DWORD PTR testMode[rip]
	cmp	eax, 1
	jle	.L105
	lea	rdi, .LC21[rip]
	call	puts@PLT
.L105:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	eax, DWORD PTR testMode[rip]
	cmp	eax, 1
	jle	.L104
	lea	rdi, .LC22[rip]
	call	puts@PLT
.L104:
	mov	eax, DWORD PTR -20[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE24:
	.size	configurationGenerator, .-configurationGenerator
	.section	.rodata
	.align 8
.LC23:
	.string	"**************************\n\tStato attuale: %d\n"
	.align 8
.LC24:
	.string	"- NUMERO DI PASSI LIMITE - numero passi: %d\n"
.LC25:
	.string	"%s: blocco precedente - "
.LC26:
	.string	"posizione sul blocco: %d\n"
.LC27:
	.string	"Array precedente prima:"
.LC28:
	.string	"Array precedente dopo:"
.LC29:
	.string	"Array nuovo:"
.LC30:
	.string	"*L'array rimane lo stesso!*"
.LC31:
	.string	"Array prima:"
.LC32:
	.string	"Array dopo:"
.LC33:
	.string	"stringa assegnata: %s\n"
.LC34:
	.string	"** %s: blocco modificato **\n"
	.align 8
.LC35:
	.string	"blocco dopo lo spostamento: %s\n"
.LC36:
	.string	"%i: stato di arrivo - "
.LC37:
	.string	"isFinal = a %i\n\n"
	.text
	.globl	configurationHandler
	.type	configurationHandler, @function
configurationHandler:
.LFB25:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	lea	rdi, cQueque[rip]
	call	dequeque
	mov	QWORD PTR -56[rbp], rax
	cmp	QWORD PTR -56[rbp], 0
	je	.L133
	mov	eax, DWORD PTR testMode[rip]
	test	eax, eax
	jle	.L110
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR [rax]
	mov	esi, eax
	lea	rdi, .LC23[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	rdi, rax
	call	printTape
.L110:
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR 28[rax]
	mov	eax, DWORD PTR maxSteps[rip]
	cmp	edx, eax
	jne	.L111
	mov	eax, DWORD PTR testMode[rip]
	test	eax, eax
	jle	.L112
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 28[rax]
	mov	esi, eax
	lea	rdi, .LC24[rip]
	mov	eax, 0
	call	printf@PLT
.L112:
	mov	DWORD PTR undefinedConfiguration[rip], 1
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	rdi, rax
	call	arrayTapeDelete
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	free@PLT
	jmp	.L107
.L111:
	mov	eax, DWORD PTR testMode[rip]
	test	eax, eax
	jle	.L113
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rsi, rax
	lea	rdi, .LC25[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	esi, eax
	lea	rdi, .LC26[rip]
	mov	eax, 0
	call	printf@PLT
.L113:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	add	rax, rdx
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 40[rax]
	movzx	eax, BYTE PTR 1[rax]
	cmp	dl, al
	je	.L114
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	eax, DWORD PTR 16[rax]
	cmp	eax, 1
	jle	.L115
	mov	eax, DWORD PTR testMode[rip]
	test	eax, eax
	jle	.L116
	lea	rdi, .LC27[rip]
	call	puts@PLT
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	rdi, rax
	call	printArray
.L116:
	mov	edi, 24
	call	malloc@PLT
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	eax, DWORD PTR [rax]
	cdqe
	sal	rax, 3
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -40[rbp], rax
	mov	DWORD PTR -60[rbp], 0
	jmp	.L117
.L118:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -60[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	edx, DWORD PTR -60[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*8]
	mov	rdx, QWORD PTR -40[rbp]
	add	rdx, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR [rdx], rax
	add	DWORD PTR -60[rbp], 1
.L117:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -60[rbp], eax
	jl	.L118
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR 16[rax], 1
	mov	edi, 600
	call	malloc@PLT
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcpy@PLT
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	blockDelete
	mov	edi, 16
	call	malloc@PLT
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 8[rax], 1
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	edx, DWORD PTR 16[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 32[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR testMode[rip]
	test	eax, eax
	jle	.L119
	lea	rdi, .LC28[rip]
	call	puts@PLT
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	rdi, rax
	call	printArray
.L119:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR -48[rbp]
	mov	QWORD PTR 32[rax], rdx
	mov	eax, DWORD PTR testMode[rip]
	test	eax, eax
	jle	.L115
	lea	rdi, .LC29[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	rdi, rax
	call	printArray
.L115:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 1
	jg	.L120
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR blankBlock[rip]
	cmp	rdx, rax
	jne	.L121
.L120:
	mov	eax, DWORD PTR testMode[rip]
	test	eax, eax
	jle	.L122
	lea	rdi, .LC30[rip]
	call	puts@PLT
	lea	rdi, .LC31[rip]
	call	puts@PLT
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	rdi, rax
	call	printArray
.L122:
	mov	edi, 600
	call	malloc@PLT
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcpy@PLT
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	blockDelete
	mov	edi, 16
	call	malloc@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 8[rax], 1
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rdx], rax
	mov	eax, DWORD PTR testMode[rip]
	test	eax, eax
	jle	.L121
	lea	rdi, .LC32[rip]
	call	puts@PLT
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	rdi, rax
	call	printArray
.L121:
	mov	eax, DWORD PTR testMode[rip]
	cmp	eax, 4
	jle	.L123
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rsi, rax
	lea	rdi, .LC33[rip]
	mov	eax, 0
	call	printf@PLT
.L123:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 40[rax]
	mov	rdx, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR 16[rdx]
	mov	rdx, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR 8[rdx]
	movsx	rdx, edx
	add	rdx, rcx
	movzx	eax, BYTE PTR 1[rax]
	mov	BYTE PTR [rdx], al
	mov	eax, DWORD PTR testMode[rip]
	test	eax, eax
	jle	.L114
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rsi, rax
	lea	rdi, .LC34[rip]
	mov	eax, 0
	call	printf@PLT
.L114:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 40[rax]
	movzx	eax, BYTE PTR 2[rax]
	cmp	al, 82
	jne	.L124
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 599
	jne	.L124
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 8[rax], 0
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 24[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	eax, DWORD PTR [rax]
	cmp	edx, eax
	jne	.L125
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	esi, 82
	mov	rdi, rax
	call	arrayOfTapeBlocksResize
.L125:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	eax, DWORD PTR testMode[rip]
	cmp	eax, 4
	jle	.L124
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rsi, rax
	lea	rdi, .LC35[rip]
	mov	eax, 0
	call	printf@PLT
.L124:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 40[rax]
	movzx	eax, BYTE PTR 2[rax]
	cmp	al, 76
	jne	.L126
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, -1
	jne	.L126
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 8[rax], 598
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 24[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 24[rax]
	cmp	eax, -1
	jne	.L127
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	esi, 76
	mov	rdi, rax
	call	arrayOfTapeBlocksResize
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 24[rax], 0
.L127:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR 16[rax], rdx
.L126:
	mov	eax, DWORD PTR testMode[rip]
	cmp	eax, 4
	jle	.L128
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	rdi, rax
	call	printTape
.L128:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 28[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 28[rax], edx
	mov	eax, DWORD PTR testMode[rip]
	test	eax, eax
	jle	.L129
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 40[rax]
	mov	eax, DWORD PTR 4[rax]
	mov	esi, eax
	lea	rdi, .LC36[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rcx, QWORD PTR structureMT[rip+8]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 40[rax]
	mov	eax, DWORD PTR 4[rax]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	add	rax, rcx
	mov	eax, DWORD PTR 16[rax]
	mov	esi, eax
	lea	rdi, .LC37[rip]
	mov	eax, 0
	call	printf@PLT
.L129:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 40[rax]
	mov	edx, DWORD PTR 4[rax]
	mov	eax, DWORD PTR structureMT[rip]
	cmp	edx, eax
	jl	.L130
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	rdi, rax
	call	arrayTapeDelete
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	free@PLT
	jmp	.L107
.L130:
	mov	rcx, QWORD PTR structureMT[rip+8]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 40[rax]
	mov	eax, DWORD PTR 4[rax]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	add	rax, rcx
	mov	eax, DWORD PTR 16[rax]
	cmp	eax, 1
	jne	.L131
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	rdi, rax
	call	arrayTapeDelete
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	DWORD PTR accepts[rip], 1
	jmp	.L107
.L131:
	mov	rcx, QWORD PTR structureMT[rip+8]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 40[rax]
	mov	eax, DWORD PTR 4[rax]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	add	rax, rcx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jne	.L134
	mov	rcx, QWORD PTR structureMT[rip+8]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 40[rax]
	mov	eax, DWORD PTR 4[rax]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	configurationGenerator
	jmp	.L134
.L133:
	nop
	jmp	.L107
.L134:
	nop
.L107:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE25:
	.size	configurationHandler, .-configurationHandler
	.section	.rodata
	.align 8
.LC38:
	.string	"\n\n\n *****NUOVA STRINGA*****\n stringa in ingresso: %s\n\n\n"
.LC39:
	.string	"1"
.LC40:
	.string	"0"
.LC41:
	.string	"U"
	.text
	.globl	MTExecution
	.type	MTExecution, @function
MTExecution:
.LFB26:
	.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
	mov	rax, QWORD PTR structureMT[rip+8]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	je	.L136
	mov	DWORD PTR accepts[rip], 1
	jmp	.L135
.L136:
	mov	eax, 0
	call	dinamicStringInput
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	test	rax, rax
	je	.L150
	lea	rax, -32[rbp]
	mov	rdi, rax
	call	arrayTapeGenerator
	mov	QWORD PTR -24[rbp], rax
	mov	edi, 56
	call	malloc@PLT
	mov	QWORD PTR -16[rbp], rax
	mov	rdx, QWORD PTR structureMT[rip+8]
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 8[rax], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 24[rax], 0
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 28[rax], 0
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 32[rax], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR 40[rax], 0
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR 48[rax], 0
	mov	eax, DWORD PTR testMode[rip]
	test	eax, eax
	jle	.L139
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rax
	lea	rdi, .LC38[rip]
	mov	eax, 0
	call	printf@PLT
.L139:
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	configurationGenerator
	test	eax, eax
	jne	.L141
	mov	DWORD PTR notAccepts[rip], 1
	jmp	.L141
.L144:
	mov	eax, 0
	call	configurationHandler
	mov	eax, DWORD PTR cQueque[rip]
	test	eax, eax
	jne	.L142
	mov	eax, DWORD PTR accepts[rip]
	test	eax, eax
	jne	.L142
	mov	eax, DWORD PTR undefinedConfiguration[rip]
	test	eax, eax
	jne	.L142
	mov	DWORD PTR notAccepts[rip], 1
.L142:
	mov	eax, DWORD PTR cQueque[rip]
	test	eax, eax
	jne	.L141
	mov	eax, DWORD PTR accepts[rip]
	test	eax, eax
	jne	.L141
	mov	eax, DWORD PTR undefinedConfiguration[rip]
	cmp	eax, 1
	jne	.L141
	mov	DWORD PTR undefined[rip], 1
	mov	DWORD PTR undefinedConfiguration[rip], 0
.L141:
	mov	eax, DWORD PTR accepts[rip]
	test	eax, eax
	jne	.L143
	mov	eax, DWORD PTR notAccepts[rip]
	test	eax, eax
	jne	.L143
	mov	eax, DWORD PTR undefined[rip]
	test	eax, eax
	je	.L144
.L143:
	mov	eax, DWORD PTR accepts[rip]
	cmp	eax, 1
	jne	.L145
	lea	rdi, .LC39[rip]
	call	puts@PLT
.L145:
	mov	eax, DWORD PTR notAccepts[rip]
	cmp	eax, 1
	jne	.L146
	lea	rdi, .LC40[rip]
	call	puts@PLT
.L146:
	mov	eax, DWORD PTR undefined[rip]
	cmp	eax, 1
	jne	.L151
	lea	rdi, .LC41[rip]
	call	puts@PLT
	jmp	.L151
.L150:
	nop
	jmp	.L135
.L151:
	nop
.L135:
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L149
	call	__stack_chk_fail@PLT
.L149:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE26:
	.size	MTExecution, .-MTExecution
	.section	.rodata
	.align 8
.LC42:
	.string	"___________________________________________"
	.text
	.globl	main
	.type	main, @function
main:
.LFB27:
	.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	eax, 0
	call	inputManager
	mov	edi, 600
	call	malloc@PLT
	mov	QWORD PTR -16[rbp], rax
	mov	DWORD PTR -32[rbp], 0
	jmp	.L153
.L154:
	mov	eax, DWORD PTR -32[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 95
	add	DWORD PTR -32[rbp], 1
.L153:
	cmp	DWORD PTR -32[rbp], 598
	jle	.L154
	mov	eax, DWORD PTR -32[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 0
	mov	edi, 16
	call	malloc@PLT
	mov	QWORD PTR blankBlock[rip], rax
	mov	rax, QWORD PTR blankBlock[rip]
	mov	DWORD PTR 8[rax], 1
	mov	rax, QWORD PTR blankBlock[rip]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L155
.L156:
	mov	eax, 0
	call	MTExecution
	lea	rdi, cQueque[rip]
	call	destroyQueque
	mov	DWORD PTR accepts[rip], 0
	mov	DWORD PTR notAccepts[rip], 0
	mov	DWORD PTR undefined[rip], 0
	mov	eax, DWORD PTR testMode[rip]
	test	eax, eax
	jle	.L155
	lea	rdi, .LC42[rip]
	call	puts@PLT
.L155:
	mov	eax, DWORD PTR finish[rip]
	test	eax, eax
	je	.L156
	mov	rax, QWORD PTR blankBlock[rip]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR blankBlock[rip]
	mov	rdi, rax
	call	free@PLT
	mov	DWORD PTR -28[rbp], 0
	jmp	.L157
.L160:
	mov	rcx, QWORD PTR structureMT[rip+8]
	mov	eax, DWORD PTR -28[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -24[rbp], rax
	jmp	.L158
.L159:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR -24[rbp], rax
.L158:
	cmp	QWORD PTR -24[rbp], 0
	jne	.L159
	add	DWORD PTR -28[rbp], 1
.L157:
	mov	eax, DWORD PTR structureMT[rip]
	cmp	DWORD PTR -28[rbp], eax
	jl	.L160
	mov	rax, QWORD PTR structureMT[rip+8]
	mov	rdi, rax
	call	free@PLT
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE27:
	.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	"758745.c"
	.text
	.global	testMode
	.bss
	.align	2
	.type	testMode, %object
	.size	testMode, 4
testMode:
	.space	4
	.text
	.align	2
	.global	insertArc
	.syntax unified
	.arm
	.fpu softvfp
	.type	insertArc, %function
insertArc:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L2
	ldr	r3, [fp, #-20]
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	str	r2, [r3, #4]
	b	.L1
.L2:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-20]
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #8]
	nop
.L1:
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	insertArc, .-insertArc
	.align	2
	.global	arrayStructStateFill
	.syntax unified
	.arm
	.fpu softvfp
	.type	arrayStructStateFill, %function
arrayStructStateFill:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #36
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	str	r3, [fp, #-20]
	b	.L5
.L6:
	mov	r3, #0
	str	r3, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-24]
	ldr	r1, [r3, #4]
	ldr	r2, [fp, #-20]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	mov	ip, r3
	sub	r3, fp, #16
	ldm	r3, {r0, r1, r2}
	stm	ip, {r0, r1, r2}
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L5:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-32]
	cmp	r2, r3
	ble	.L6
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	arrayStructStateFill, .-arrayStructStateFill
	.align	2
	.global	arrayStructStateIncreaseSize
	.syntax unified
	.arm
	.fpu softvfp
	.type	arrayStructStateIncreaseSize, %function
arrayStructStateIncreaseSize:
	@ 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, #-16]
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-20]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	mov	r1, r3
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	lsl	r3, r3, #2
	mov	r1, r3
	mov	r0, r2
	bl	realloc
	mov	r2, r0
	ldr	r3, [fp, #-16]
	str	r2, [r3, #4]
	ldr	r2, [fp, #-20]
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-16]
	bl	arrayStructStateFill
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	arrayStructStateIncreaseSize, .-arrayStructStateIncreaseSize
	.align	2
	.global	enqueque
	.syntax unified
	.arm
	.fpu softvfp
	.type	enqueque, %function
enqueque:
	@ 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
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L11
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #8]
	b	.L12
.L11:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #28]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #8]
.L12:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	enqueque, .-enqueque
	.align	2
	.global	dequeque
	.syntax unified
	.arm
	.fpu softvfp
	.type	dequeque, %function
dequeque:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L15
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L16
.L15:
	mov	r3, #0
	b	.L17
.L16:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-16]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	sub	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
.L17:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	dequeque, .-dequeque
	.section	.rodata
	.align	2
.LC0:
	.ascii	"\012\011Entro in destroyQueque\000"
	.text
	.align	2
	.global	destroyQueque
	.syntax unified
	.arm
	.fpu softvfp
	.type	destroyQueque, %function
destroyQueque:
	@ 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]
	ldr	r3, .L23
	ldr	r3, [r3]
	cmp	r3, #1
	ble	.L20
	ldr	r0, .L23+4
	bl	puts
	b	.L20
.L21:
	ldr	r0, [fp, #-16]
	bl	dequeque
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #20]
	mov	r0, r3
	bl	arrayTapeDelete
	ldr	r0, [fp, #-8]
	bl	free
.L20:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L21
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L24:
	.align	2
.L23:
	.word	testMode
	.word	.LC0
	.size	destroyQueque, .-destroyQueque
	.comm	blankBlock,4,4
	.section	.rodata
	.align	2
.LC1:
	.ascii	"\011\011\011\011Entro in blockDelete\000"
	.align	2
.LC2:
	.ascii	"***Errore in blockDelete: si \303\203\302\250 cerca"
	.ascii	"to di eliminare un elemento che non esiste.\000"
	.align	2
.LC3:
	.ascii	"Sto per cancellare il blocco: %s\012\000"
	.text
	.align	2
	.global	blockDelete
	.syntax unified
	.arm
	.fpu softvfp
	.type	blockDelete, %function
blockDelete:
	@ 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, .L34
	ldr	r3, [r3]
	cmp	r3, #3
	ble	.L26
	ldr	r0, .L34+4
	bl	puts
.L26:
	ldr	r3, .L34+8
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	beq	.L32
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L29
	ldr	r0, .L34+12
	bl	puts
	mov	r0, #1
	bl	exit
.L29:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	sub	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L33
	ldr	r3, .L34
	ldr	r3, [r3]
	cmp	r3, #2
	ble	.L31
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L34+16
	bl	printf
.L31:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	mov	r0, r3
	bl	free
	ldr	r0, [fp, #-8]
	bl	free
	b	.L33
.L32:
	nop
	b	.L25
.L33:
	nop
.L25:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L35:
	.align	2
.L34:
	.word	testMode
	.word	.LC1
	.word	blankBlock
	.word	.LC2
	.word	.LC3
	.size	blockDelete, .-blockDelete
	.align	2
	.global	arrayOfTapeBlocksResize
	.syntax unified
	.arm
	.fpu softvfp
	.type	arrayOfTapeBlocksResize, %function
arrayOfTapeBlocksResize:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	mov	r3, r1
	strb	r3, [fp, #-25]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	add	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	ldrb	r3, [fp, #-25]	@ zero_extendqisi2
	cmp	r3, #82
	bne	.L37
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	mov	r1, r3
	mov	r0, r2
	bl	realloc
	mov	r2, r0
	ldr	r3, [fp, #-24]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, .L43
	ldr	r2, [r2]
	str	r2, [r3]
.L37:
	ldrb	r3, [fp, #-25]	@ zero_extendqisi2
	cmp	r3, #76
	bne	.L42
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, .L43
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	mov	r3, #1
	str	r3, [fp, #-16]
	b	.L39
.L40:
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-16]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r2, r2, r3
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-8]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L39:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	blt	.L40
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	free
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #4]
	nop
.L42:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L44:
	.align	2
.L43:
	.word	blankBlock
	.size	arrayOfTapeBlocksResize, .-arrayOfTapeBlocksResize
	.section	.rodata
	.align	2
.LC4:
	.ascii	"\011Blocco generato: %s\012\000"
	.text
	.align	2
	.global	arrayTapeGenerator
	.syntax unified
	.arm
	.fpu softvfp
	.type	arrayTapeGenerator, %function
arrayTapeGenerator:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-40]
	mov	r0, #12
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-20]
	mov	r2, #5
	str	r2, [r3]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	lsl	r3, r3, #2
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-20]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-20]
	mov	r2, #1
	str	r2, [r3, #8]
	mov	r3, #0
	str	r3, [fp, #-32]
	mov	r3, #0
	str	r3, [fp, #-28]
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L46
.L53:
	mov	r0, #8
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	mov	r2, #1
	str	r2, [r3, #4]
	mov	r0, #600
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-8]
	mov	r3, #0
	str	r3, [fp, #-28]
	b	.L47
.L50:
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L48
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-8]
	add	r3, r2, r3
	mov	r2, #95
	strb	r2, [r3]
	b	.L49
.L48:
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-16]
	add	r2, r2, r3
	ldr	r3, [fp, #-28]
	ldr	r1, [fp, #-8]
	add	r3, r1, r3
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L49:
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L47:
	ldr	r3, [fp, #-28]
	ldr	r2, .L57
	cmp	r3, r2
	ble	.L50
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-8]
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	ldr	r3, .L57+4
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L51
	ldr	r1, [fp, #-8]
	ldr	r0, .L57+8
	bl	printf
.L51:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	bne	.L52
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-20]
	str	r2, [r3]
	ldr	r3, [fp, #-20]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	lsl	r3, r3, #2
	mov	r1, r3
	mov	r0, r2
	bl	realloc
	mov	r2, r0
	ldr	r3, [fp, #-20]
	str	r2, [r3, #4]
.L52:
	ldr	r3, [fp, #-20]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L46:
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L53
	b	.L54
.L55:
	ldr	r3, [fp, #-20]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, .L57+12
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L54:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	blt	.L55
	ldr	r3, [fp, #-20]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L58:
	.align	2
.L57:
	.word	598
	.word	testMode
	.word	.LC4
	.word	blankBlock
	.size	arrayTapeGenerator, .-arrayTapeGenerator
	.align	2
	.global	arrayTapeIncreaseBlocks
	.syntax unified
	.arm
	.fpu softvfp
	.type	arrayTapeIncreaseBlocks, %function
arrayTapeIncreaseBlocks:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-8]
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L60
.L62:
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, .L64
	ldr	r3, [r3]
	cmp	r2, r3
	beq	.L61
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
.L61:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L60:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	blt	.L62
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L65:
	.align	2
.L64:
	.word	blankBlock
	.size	arrayTapeIncreaseBlocks, .-arrayTapeIncreaseBlocks
	.section	.rodata
	.align	2
.LC5:
	.ascii	"\012Entro in arrayTapeDelete\000"
	.align	2
.LC6:
	.ascii	"\012Sto per cancellare l'array:\000"
	.align	2
.LC7:
	.ascii	"\011\011*** L'array \303\250 stato cancellato!! ***"
	.ascii	"\000"
	.text
	.align	2
	.global	arrayTapeDelete
	.syntax unified
	.arm
	.fpu softvfp
	.type	arrayTapeDelete, %function
arrayTapeDelete:
	@ 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]
	ldr	r3, .L74
	ldr	r3, [r3]
	cmp	r3, #3
	ble	.L67
	ldr	r0, .L74+4
	bl	puts
.L67:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	sub	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #8]
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L68
.L69:
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	blockDelete
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L68:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	blt	.L69
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L73
	ldr	r3, .L74
	ldr	r3, [r3]
	cmp	r3, #1
	ble	.L71
	ldr	r0, .L74+8
	bl	puts
	ldr	r0, [fp, #-16]
	bl	printArray
.L71:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	free
	ldr	r0, [fp, #-16]
	bl	free
	ldr	r3, .L74
	ldr	r3, [r3]
	cmp	r3, #3
	ble	.L73
	ldr	r0, .L74+12
	bl	puts
	nop
.L73:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L75:
	.align	2
.L74:
	.word	testMode
	.word	.LC5
	.word	.LC6
	.word	.LC7
	.size	arrayTapeDelete, .-arrayTapeDelete
	.comm	maxSteps,4,4
	.comm	structureMT,8,4
	.comm	cQueque,12,4
	.global	accepts
	.bss
	.align	2
	.type	accepts, %object
	.size	accepts, 4
accepts:
	.space	4
	.global	notAccepts
	.align	2
	.type	notAccepts, %object
	.size	notAccepts, 4
notAccepts:
	.space	4
	.global	undefined
	.align	2
	.type	undefined, %object
	.size	undefined, 4
undefined:
	.space	4
	.global	undefinedConfiguration
	.align	2
	.type	undefinedConfiguration, %object
	.size	undefinedConfiguration, 4
undefinedConfiguration:
	.space	4
	.global	finish
	.align	2
	.type	finish, %object
	.size	finish, 4
finish:
	.space	4
	.section	.rodata
	.align	2
.LC8:
	.ascii	"%s\000"
	.align	2
.LC9:
	.ascii	"%s\012\000"
	.align	2
.LC10:
	.ascii	"acc\000"
	.align	2
.LC11:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	structureInizializer
	.syntax unified
	.arm
	.fpu softvfp
	.type	structureInizializer, %function
structureInizializer:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	ldr	r3, .L83
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L83+4
	mov	r2, #20
	str	r2, [r3]
	ldr	r3, .L83+4
	ldr	r3, [r3]
	mov	r2, r3
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L83+4
	str	r2, [r3, #4]
	ldr	r3, .L83+4
	ldr	r3, [r3]
	sub	r3, r3, #1
	mov	r2, r3
	mov	r1, #0
	ldr	r0, .L83+4
	bl	arrayStructStateFill
	sub	r3, fp, #16
	mov	r2, #5
	mov	r1, #0
	mov	r0, r3
	bl	memset
	sub	r3, fp, #16
	mov	r1, r3
	ldr	r0, .L83+8
	bl	__isoc99_scanf
	b	.L77
.L80:
	mov	r3, #0
	str	r3, [fp, #-32]
	mov	r3, #0
	str	r3, [fp, #-36]
	sub	r3, fp, #16
	mov	r0, r3
	bl	atoi
	mov	r3, r0
	str	r3, [fp, #-40]
	ldr	r3, .L83+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-40]
	cmp	r2, r3
	bgt	.L78
	ldr	r3, [fp, #-40]
	mov	r1, r3
	ldr	r0, .L83+4
	bl	arrayStructStateIncreaseSize
.L78:
	ldr	r3, .L83+4
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-40]
	mov	r1, r3
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L79
	ldr	r3, .L83+4
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-40]
	mov	r1, r3
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	lsl	r3, r3, #2
	add	r2, r2, r3
	sub	r3, fp, #40
	ldm	r2, {r0, r1, r2}
	stm	r3, {r0, r1, r2}
.L79:
	mov	r3, #0
	str	r3, [fp, #-20]
	sub	r3, fp, #28
	mov	r1, r3
	ldr	r0, .L83+12
	bl	__isoc99_scanf
	sub	r3, fp, #28
	add	r3, r3, #1
	mov	r1, r3
	ldr	r0, .L83+12
	bl	__isoc99_scanf
	sub	r3, fp, #28
	add	r3, r3, #2
	mov	r1, r3
	ldr	r0, .L83+12
	bl	__isoc99_scanf
	sub	r3, fp, #16
	mov	r1, r3
	ldr	r0, .L83+8
	bl	__isoc99_scanf
	sub	r3, fp, #16
	mov	r0, r3
	bl	atoi
	mov	r3, r0
	str	r3, [fp, #-24]
	mov	r0, #12
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-44]
	mov	ip, r3
	sub	r3, fp, #28
	ldm	r3, {r0, r1, r2}
	stm	ip, {r0, r1, r2}
	sub	r2, fp, #44
	sub	r3, fp, #40
	mov	r1, r2
	mov	r0, r3
	bl	insertArc
	ldr	r3, .L83+4
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-40]
	mov	r1, r3
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	ip, r3
	sub	r3, fp, #40
	ldm	r3, {r0, r1, r2}
	stm	ip, {r0, r1, r2}
	sub	r3, fp, #16
	mov	r1, r3
	ldr	r0, .L83+8
	bl	__isoc99_scanf
.L77:
	sub	r3, fp, #16
	mov	r2, #3
	ldr	r1, .L83+16
	mov	r0, r3
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L80
	nop
	ldr	r3, .L83
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L82
	bl	__stack_chk_fail
.L82:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L84:
	.align	2
.L83:
	.word	.LC11
	.word	structureMT
	.word	.LC8
	.word	.LC9
	.word	.LC10
	.size	structureInizializer, .-structureInizializer
	.section	.rodata
	.align	2
.LC12:
	.ascii	"max\000"
	.align	2
.LC13:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	accStates
	.syntax unified
	.arm
	.fpu softvfp
	.type	accStates, %function
accStates:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	ldr	r3, .L91
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #16
	mov	r2, #5
	mov	r1, #0
	mov	r0, r3
	bl	memset
	sub	r3, fp, #16
	mov	r1, r3
	ldr	r0, .L91+4
	bl	__isoc99_scanf
	b	.L86
.L88:
	sub	r3, fp, #16
	mov	r0, r3
	bl	atoi
	str	r0, [fp, #-32]
	ldr	r3, .L91+8
	ldr	r3, [r3]
	ldr	r2, [fp, #-32]
	cmp	r2, r3
	blt	.L87
	ldr	r1, [fp, #-32]
	ldr	r0, .L91+8
	bl	arrayStructStateIncreaseSize
	mov	r3, #0
	str	r3, [fp, #-24]
	ldr	r3, .L91+8
	ldr	r1, [r3, #4]
	ldr	r2, [fp, #-32]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	mov	ip, r3
	sub	r3, fp, #28
	ldm	r3, {r0, r1, r2}
	stm	ip, {r0, r1, r2}
.L87:
	ldr	r3, .L91+8
	ldr	r1, [r3, #4]
	ldr	r2, [fp, #-32]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r2, [fp, #-32]
	str	r2, [r3]
	ldr	r3, .L91+8
	ldr	r1, [r3, #4]
	ldr	r2, [fp, #-32]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	mov	r2, #1
	str	r2, [r3, #8]
	sub	r3, fp, #16
	mov	r2, #5
	mov	r1, #0
	mov	r0, r3
	bl	memset
	sub	r3, fp, #16
	mov	r1, r3
	ldr	r0, .L91+4
	bl	__isoc99_scanf
.L86:
	sub	r3, fp, #16
	ldr	r1, .L91+12
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L88
	nop
	ldr	r3, .L91
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L90
	bl	__stack_chk_fail
.L90:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L92:
	.align	2
.L91:
	.word	.LC13
	.word	.LC8
	.word	structureMT
	.word	.LC12
	.size	accStates, .-accStates
	.section	.rodata
	.align	2
.LC14:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	maxStepsSetting
	.syntax unified
	.arm
	.fpu softvfp
	.type	maxStepsSetting, %function
maxStepsSetting:
	@ 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, .L96
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #16
	mov	r2, #7
	mov	r1, #0
	mov	r0, r3
	bl	memset
	sub	r3, fp, #16
	mov	r1, r3
	ldr	r0, .L96+4
	bl	__isoc99_scanf
	sub	r3, fp, #16
	mov	r0, r3
	bl	atoi
	mov	r3, r0
	ldr	r2, .L96+8
	str	r3, [r2]
	nop
	ldr	r3, .L96
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L95
	bl	__stack_chk_fail
.L95:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L97:
	.align	2
.L96:
	.word	.LC14
	.word	.LC8
	.word	maxSteps
	.size	maxStepsSetting, .-maxStepsSetting
	.section	.rodata
	.align	2
.LC15:
	.ascii	"tr\000"
	.align	2
.LC16:
	.ascii	"Problemi nel riconoscimento dell'input: impossibile"
	.ascii	" leggere <tr>.\000"
	.align	2
.LC17:
	.ascii	"run\000"
	.align	2
.LC18:
	.ascii	"Problemi nel riconoscimento dell'input: impossibile"
	.ascii	" leggere <run>.\000"
	.align	2
.LC19:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	inputManager
	.syntax unified
	.arm
	.fpu softvfp
	.type	inputManager, %function
inputManager:
	@ 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, .L103
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #16
	mov	r1, r3
	ldr	r0, .L103+4
	bl	__isoc99_scanf
	sub	r3, fp, #16
	ldr	r1, .L103+8
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	beq	.L99
	ldr	r0, .L103+12
	bl	puts
	mov	r0, #0
	bl	exit
.L99:
	bl	structureInizializer
	bl	accStates
	bl	maxStepsSetting
	sub	r3, fp, #12
	mov	r1, r3
	ldr	r0, .L103+4
	bl	__isoc99_scanf
	sub	r3, fp, #12
	ldr	r1, .L103+16
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	beq	.L100
	ldr	r0, .L103+20
	bl	puts
	mov	r0, #0
	bl	exit
.L100:
	bl	getchar
	mov	r3, r0
	strb	r3, [fp, #-17]
	nop
	ldr	r3, .L103
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L102
	bl	__stack_chk_fail
.L102:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L104:
	.align	2
.L103:
	.word	.LC19
	.word	.LC8
	.word	.LC15
	.word	.LC16
	.word	.LC17
	.word	.LC18
	.size	inputManager, .-inputManager
	.align	2
	.global	dinamicStringInput
	.syntax unified
	.arm
	.fpu softvfp
	.type	dinamicStringInput, %function
dinamicStringInput:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	mov	r3, #100
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-16]
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-20]
	mov	r3, #100
	str	r3, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-8]
	bl	getchar
	mov	r3, r0
	strb	r3, [fp, #-29]
	b	.L106
.L108:
	ldr	r3, [fp, #-28]
	sub	r3, r3, #1
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	bne	.L107
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	realloc
	str	r0, [fp, #-24]
.L107:
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldrb	r2, [fp, #-29]
	strb	r2, [r3]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
	mov	r3, #1
	str	r3, [fp, #-8]
	bl	getchar
	mov	r3, r0
	strb	r3, [fp, #-29]
.L106:
	ldrb	r3, [fp, #-29]	@ zero_extendqisi2
	cmp	r3, #10
	bne	.L108
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-24]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	dinamicStringInput, .-dinamicStringInput
	.section	.rodata
	.align	2
.LC20:
	.ascii	"\012**NASTRO:\000"
	.align	2
.LC21:
	.ascii	"\012\000"
	.text
	.align	2
	.global	printTape
	.syntax unified
	.arm
	.fpu softvfp
	.type	printTape, %function
printTape:
	@ 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]
	ldr	r0, .L113
	bl	puts
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L111
.L112:
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L113+4
	bl	printf
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L111:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	blt	.L112
	ldr	r0, .L113+8
	bl	puts
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L114:
	.align	2
.L113:
	.word	.LC20
	.word	.LC8
	.word	.LC21
	.size	printTape, .-printTape
	.section	.rodata
	.align	2
.LC22:
	.ascii	"Numero di utilizzatori array: %i\012\000"
	.align	2
.LC23:
	.ascii	"\011( %s | %i )\012\000"
	.text
	.align	2
	.global	printArray
	.syntax unified
	.arm
	.fpu softvfp
	.type	printArray, %function
printArray:
	@ 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]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	mov	r1, r3
	ldr	r0, .L118
	bl	printf
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L116
.L117:
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, [r3]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	mov	r2, r3
	ldr	r0, .L118+4
	bl	printf
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L116:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	blt	.L117
	mov	r0, #10
	bl	putchar
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L119:
	.align	2
.L118:
	.word	.LC22
	.word	.LC23
	.size	printArray, .-printArray
	.section	.rodata
	.align	2
.LC24:
	.ascii	"Entro in configurationGenerator\012\000"
	.align	2
.LC25:
	.ascii	"\011\011\011\011Libero l'array di blocchi da config"
	.ascii	"urationGenerator\000"
	.align	2
.LC26:
	.ascii	"\011\011\011\011Libero inputConfiguration da config"
	.ascii	"urationGenerator\000"
	.text
	.align	2
	.global	configurationGenerator
	.syntax unified
	.arm
	.fpu softvfp
	.type	configurationGenerator, %function
configurationGenerator:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	ldr	r3, .L129
	ldr	r3, [r3]
	cmp	r3, #3
	ble	.L121
	ldr	r0, .L129+4
	bl	puts
.L121:
	mov	r3, #0
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-12]
	b	.L122
.L125:
	ldr	r3, [fp, #-12]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	ldr	r1, [fp, #-24]
	ldr	r1, [r1, #4]
	add	r3, r3, r1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r2, r3
	bne	.L123
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	ble	.L124
	mov	r0, #32
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-24]
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #20]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #20]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #20]
	mov	r0, r3
	bl	arrayTapeIncreaseBlocks
.L124:
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #24]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #28]
	ldr	r1, [fp, #-8]
	ldr	r0, .L129+8
	bl	enqueque
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L123:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-12]
.L122:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L125
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L126
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #20]
	mov	r0, r3
	bl	arrayTapeDelete
	ldr	r3, .L129
	ldr	r3, [r3]
	cmp	r3, #1
	ble	.L127
	ldr	r0, .L129+12
	bl	puts
.L127:
	ldr	r0, [fp, #-24]
	bl	free
	ldr	r3, .L129
	ldr	r3, [r3]
	cmp	r3, #1
	ble	.L126
	ldr	r0, .L129+16
	bl	puts
.L126:
	ldr	r3, [fp, #-16]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L130:
	.align	2
.L129:
	.word	testMode
	.word	.LC24
	.word	cQueque
	.word	.LC25
	.word	.LC26
	.size	configurationGenerator, .-configurationGenerator
	.section	.rodata
	.align	2
.LC27:
	.ascii	"**************************\012\011Stato attuale: %d"
	.ascii	"\012\000"
	.align	2
.LC28:
	.ascii	"- NUMERO DI PASSI LIMITE - numero passi: %d\012\000"
	.align	2
.LC29:
	.ascii	"%s: blocco precedente - \000"
	.align	2
.LC30:
	.ascii	"posizione sul blocco: %d\012\000"
	.align	2
.LC31:
	.ascii	"Array precedente prima:\000"
	.align	2
.LC32:
	.ascii	"Array precedente dopo:\000"
	.align	2
.LC33:
	.ascii	"Array nuovo:\000"
	.align	2
.LC34:
	.ascii	"*L'array rimane lo stesso!*\000"
	.align	2
.LC35:
	.ascii	"Array prima:\000"
	.align	2
.LC36:
	.ascii	"Array dopo:\000"
	.align	2
.LC37:
	.ascii	"stringa assegnata: %s\012\000"
	.align	2
.LC38:
	.ascii	"** %s: blocco modificato **\012\000"
	.align	2
.LC39:
	.ascii	"blocco dopo lo spostamento: %s\012\000"
	.align	2
.LC40:
	.ascii	"%i: stato di arrivo - \000"
	.align	2
.LC41:
	.ascii	"isFinal = a %i\012\012\000"
	.text
	.align	2
	.global	configurationHandler
	.syntax unified
	.arm
	.fpu softvfp
	.type	configurationHandler, %function
configurationHandler:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	ldr	r0, .L159
	bl	dequeque
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	beq	.L157
	ldr	r3, .L159+4
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L134
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L159+8
	bl	printf
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #20]
	mov	r0, r3
	bl	printTape
.L134:
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #16]
	ldr	r3, .L159+12
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L135
	ldr	r3, .L159+4
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L136
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #16]
	mov	r1, r3
	ldr	r0, .L159+16
	bl	printf
.L136:
	ldr	r3, .L159+20
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #20]
	mov	r0, r3
	bl	arrayTapeDelete
	ldr	r0, [fp, #-32]
	bl	free
	b	.L131
.L135:
	ldr	r3, .L159+4
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L137
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #8]
	mov	r1, r3
	ldr	r0, .L159+24
	bl	printf
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #4]
	mov	r1, r3
	ldr	r0, .L159+28
	bl	printf
.L137:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-32]
	ldr	r2, [r2, #4]
	add	r3, r3, r2
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #24]
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	cmp	r2, r3
	beq	.L138
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #20]
	ldr	r3, [r3, #8]
	cmp	r3, #1
	ble	.L139
	ldr	r3, .L159+4
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L140
	ldr	r0, .L159+32
	bl	puts
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #20]
	mov	r0, r3
	bl	printArray
.L140:
	mov	r0, #12
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #20]
	ldr	r3, [r3]
	lsl	r3, r3, #2
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-36]
	b	.L141
.L142:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #20]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r2, r2, r3
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-24]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
.L141:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #20]
	ldr	r3, [r3]
	ldr	r2, [fp, #-36]
	cmp	r2, r3
	blt	.L142
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #20]
	ldr	r2, [r3]
	ldr	r3, [fp, #-28]
	str	r2, [r3]
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-24]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-28]
	mov	r2, #1
	str	r2, [r3, #8]
	mov	r0, #600
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #8]
	mov	r1, r3
	ldr	r0, [fp, #-20]
	bl	strcpy
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-20]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #20]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	blockDelete
	mov	r0, #8
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	mov	r2, #1
	str	r2, [r3, #4]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	ldr	r3, [fp, #-28]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #20]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #20]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, .L159+4
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L143
	ldr	r0, .L159+36
	bl	puts
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #20]
	mov	r0, r3
	bl	printArray
.L143:
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-28]
	str	r2, [r3, #20]
	ldr	r3, .L159+4
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L139
	ldr	r0, .L159+40
	bl	printf
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #20]
	mov	r0, r3
	bl	printArray
.L139:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #20]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	cmp	r3, #1
	bgt	.L144
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #20]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, .L159+44
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L145
.L144:
	ldr	r3, .L159+4
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L146
	ldr	r0, .L159+48
	bl	puts
	ldr	r0, .L159+52
	bl	puts
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #20]
	mov	r0, r3
	bl	printArray
.L146:
	mov	r0, #600
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #8]
	mov	r1, r3
	ldr	r0, [fp, #-12]
	bl	strcpy
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #20]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	blockDelete
	mov	r0, #8
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, #1
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #20]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	ldr	r3, .L159+4
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L145
	ldr	r0, .L159+56
	bl	puts
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #20]
	mov	r0, r3
	bl	printArray
.L145:
	ldr	r3, .L159+4
	ldr	r3, [r3]
	cmp	r3, #4
	ble	.L147
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #8]
	mov	r1, r3
	ldr	r0, .L159+60
	bl	printf
.L147:
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #24]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #8]
	ldr	r1, [fp, #-32]
	ldr	r1, [r1, #4]
	add	r3, r3, r1
	ldrb	r2, [r2, #1]	@ zero_extendqisi2
	strb	r2, [r3]
	ldr	r3, .L159+4
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L138
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #8]
	mov	r1, r3
	ldr	r0, .L159+64
	bl	printf
.L138:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #24]
	ldrb	r3, [r3, #2]	@ zero_extendqisi2
	cmp	r3, #82
	bne	.L148
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #4]
	add	r2, r3, #1
	ldr	r3, [fp, #-32]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #4]
	ldr	r2, .L159+68
	cmp	r3, r2
	bne	.L148
	ldr	r3, [fp, #-32]
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	add	r2, r3, #1
	ldr	r3, [fp, #-32]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #20]
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L149
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #20]
	mov	r1, #82
	mov	r0, r3
	bl	arrayOfTapeBlocksResize
.L149:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #20]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	str	r2, [r3, #8]
	ldr	r3, .L159+4
	ldr	r3, [r3]
	cmp	r3, #4
	ble	.L148
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #8]
	mov	r1, r3
	ldr	r0, .L159+72
	bl	printf
.L148:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #24]
	ldrb	r3, [r3, #2]	@ zero_extendqisi2
	cmp	r3, #76
	bne	.L150
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #4]
	sub	r2, r3, #1
	ldr	r3, [fp, #-32]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #4]
	cmn	r3, #1
	bne	.L150
	ldr	r3, [fp, #-32]
	ldr	r2, .L159+76
	str	r2, [r3, #4]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	sub	r2, r3, #1
	ldr	r3, [fp, #-32]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	cmn	r3, #1
	bne	.L151
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #20]
	mov	r1, #76
	mov	r0, r3
	bl	arrayOfTapeBlocksResize
	ldr	r3, [fp, #-32]
	mov	r2, #0
	str	r2, [r3, #12]
.L151:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #20]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	str	r2, [r3, #8]
.L150:
	ldr	r3, .L159+4
	ldr	r3, [r3]
	cmp	r3, #4
	ble	.L152
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #20]
	mov	r0, r3
	bl	printTape
.L152:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #16]
	add	r2, r3, #1
	ldr	r3, [fp, #-32]
	str	r2, [r3, #16]
	ldr	r3, .L159+4
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L153
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #24]
	ldr	r3, [r3, #4]
	mov	r1, r3
	ldr	r0, .L159+80
	bl	printf
	ldr	r3, .L159+84
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #24]
	ldr	r3, [r3, #4]
	mov	r1, r3
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #8]
	mov	r1, r3
	ldr	r0, .L159+88
	bl	printf
.L153:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #24]
	ldr	r2, [r3, #4]
	ldr	r3, .L159+84
	ldr	r3, [r3]
	cmp	r2, r3
	blt	.L154
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #20]
	mov	r0, r3
	bl	arrayTapeDelete
	ldr	r0, [fp, #-32]
	bl	free
	b	.L131
.L154:
	ldr	r3, .L159+84
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #24]
	ldr	r3, [r3, #4]
	mov	r1, r3
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #8]
	cmp	r3, #1
	bne	.L155
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #20]
	mov	r0, r3
	bl	arrayTapeDelete
	ldr	r0, [fp, #-32]
	bl	free
	ldr	r3, .L159+92
	mov	r2, #1
	str	r2, [r3]
	b	.L131
.L155:
	ldr	r3, .L159+84
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #24]
	ldr	r3, [r3, #4]
	mov	r1, r3
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L158
	ldr	r3, .L159+84
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #24]
	ldr	r3, [r3, #4]
	mov	r1, r3
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	lsl	r3, r3, #2
	add	r2, r2, r3
	ldr	r3, [fp, #-32]
	str	r2, [r3]
	ldr	r0, [fp, #-32]
	bl	configurationGenerator
	b	.L158
.L157:
	nop
	b	.L131
.L158:
	nop
.L131:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L160:
	.align	2
.L159:
	.word	cQueque
	.word	testMode
	.word	.LC27
	.word	maxSteps
	.word	.LC28
	.word	undefinedConfiguration
	.word	.LC29
	.word	.LC30
	.word	.LC31
	.word	.LC32
	.word	.LC33
	.word	blankBlock
	.word	.LC34
	.word	.LC35
	.word	.LC36
	.word	.LC37
	.word	.LC38
	.word	599
	.word	.LC39
	.word	598
	.word	.LC40
	.word	structureMT
	.word	.LC41
	.word	accepts
	.size	configurationHandler, .-configurationHandler
	.section	.rodata
	.align	2
.LC42:
	.ascii	"\012\012\012 *****NUOVA STRINGA*****\012 stringa in"
	.ascii	" ingresso: %s\012\012\012\000"
	.align	2
.LC43:
	.ascii	"1\000"
	.align	2
.LC44:
	.ascii	"0\000"
	.align	2
.LC45:
	.ascii	"U\000"
	.align	2
.LC46:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	MTExecution
	.syntax unified
	.arm
	.fpu softvfp
	.type	MTExecution, %function
MTExecution:
	@ 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, .L178
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L178+4
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	beq	.L162
	ldr	r3, .L178+8
	mov	r2, #1
	str	r2, [r3]
	b	.L161
.L162:
	bl	dinamicStringInput
	mov	r3, r0
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L176
	sub	r3, fp, #20
	mov	r0, r3
	bl	arrayTapeGenerator
	str	r0, [fp, #-16]
	mov	r0, #32
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-12]
	ldr	r3, .L178+4
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-12]
	str	r2, [r3]
	ldr	r3, [fp, #-12]
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	ldr	r3, [r3]
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-12]
	mov	r2, #0
	str	r2, [r3, #12]
	ldr	r3, [fp, #-12]
	mov	r2, #0
	str	r2, [r3, #16]
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-16]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-12]
	mov	r2, #0
	str	r2, [r3, #24]
	ldr	r3, [fp, #-12]
	mov	r2, #0
	str	r2, [r3, #28]
	ldr	r3, .L178+12
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L165
	ldr	r3, [fp, #-20]
	mov	r1, r3
	ldr	r0, .L178+16
	bl	printf
.L165:
	ldr	r3, [fp, #-20]
	mov	r0, r3
	bl	free
	ldr	r0, [fp, #-12]
	bl	configurationGenerator
	mov	r3, r0
	cmp	r3, #0
	bne	.L167
	ldr	r3, .L178+20
	mov	r2, #1
	str	r2, [r3]
	b	.L167
.L170:
	bl	configurationHandler
	ldr	r3, .L178+24
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L168
	ldr	r3, .L178+8
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L168
	ldr	r3, .L178+28
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L168
	ldr	r3, .L178+20
	mov	r2, #1
	str	r2, [r3]
.L168:
	ldr	r3, .L178+24
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L167
	ldr	r3, .L178+8
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L167
	ldr	r3, .L178+28
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L167
	ldr	r3, .L178+32
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, .L178+28
	mov	r2, #0
	str	r2, [r3]
.L167:
	ldr	r3, .L178+8
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L169
	ldr	r3, .L178+20
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L169
	ldr	r3, .L178+32
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L170
.L169:
	ldr	r3, .L178+8
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L171
	ldr	r0, .L178+36
	bl	puts
.L171:
	ldr	r3, .L178+20
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L172
	ldr	r0, .L178+40
	bl	puts
.L172:
	ldr	r3, .L178+32
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L177
	ldr	r0, .L178+44
	bl	puts
	b	.L177
.L176:
	nop
	b	.L161
.L177:
	nop
.L161:
	ldr	r3, .L178
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L175
	bl	__stack_chk_fail
.L175:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L179:
	.align	2
.L178:
	.word	.LC46
	.word	structureMT
	.word	accepts
	.word	testMode
	.word	.LC42
	.word	notAccepts
	.word	cQueque
	.word	undefinedConfiguration
	.word	undefined
	.word	.LC43
	.word	.LC44
	.word	.LC45
	.size	MTExecution, .-MTExecution
	.section	.rodata
	.align	2
.LC47:
	.ascii	"___________________________________________\000"
	.text
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	bl	inputManager
	mov	r0, #600
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L181
.L182:
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-12]
	add	r3, r2, r3
	mov	r2, #95
	strb	r2, [r3]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L181:
	ldr	r3, [fp, #-24]
	ldr	r2, .L190
	cmp	r3, r2
	ble	.L182
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-12]
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3]
	mov	r0, #8
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L190+4
	str	r2, [r3]
	ldr	r3, .L190+4
	ldr	r3, [r3]
	mov	r2, #1
	str	r2, [r3, #4]
	ldr	r3, .L190+4
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	b	.L183
.L184:
	bl	MTExecution
	ldr	r0, .L190+8
	bl	destroyQueque
	ldr	r3, .L190+12
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L190+16
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L190+20
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L190+24
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L183
	ldr	r0, .L190+28
	bl	puts
.L183:
	ldr	r3, .L190+32
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L184
	ldr	r3, .L190+4
	ldr	r3, [r3]
	ldr	r3, [r3]
	mov	r0, r3
	bl	free
	ldr	r3, .L190+4
	ldr	r3, [r3]
	mov	r0, r3
	bl	free
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L185
.L188:
	ldr	r3, .L190+36
	ldr	r1, [r3, #4]
	ldr	r2, [fp, #-16]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3, #4]
	str	r3, [fp, #-20]
	b	.L186
.L187:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-8]
	ldr	r0, [fp, #-20]
	bl	free
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-20]
.L186:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L187
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L185:
	ldr	r3, .L190+36
	ldr	r3, [r3]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	blt	.L188
	ldr	r3, .L190+36
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	free
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L191:
	.align	2
.L190:
	.word	598
	.word	blankBlock
	.word	cQueque
	.word	accepts
	.word	notAccepts
	.word	undefined
	.word	testMode
	.word	.LC47
	.word	finish
	.word	structureMT
	.size	main, .-main
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
