	.file	"676185.c"
	.intel_syntax noprefix
	.text
	.globl	fd
	.bss
	.align 4
	.type	fd, @object
	.size	fd, 4
fd:
	.zero	4
	.globl	buf
	.align 4
	.type	buf, @object
	.size	buf, 4
buf:
	.zero	4
	.globl	pbuf
	.section	.data.rel.local,"aw"
	.align 8
	.type	pbuf, @object
	.size	pbuf, 8
pbuf:
	.quad	buf
	.globl	argv_globl
	.bss
	.align 8
	.type	argv_globl, @object
	.size	argv_globl, 8
argv_globl:
	.zero	8
	.section	.rodata
.LC0:
	.string	"\nError lseek Validity Check"
.LC1:
	.string	"\nError read Validity Check"
.LC2:
	.string	"\nfirma dispositivo ok: %x%x\n"
	.text
	.globl	validity_check
	.type	validity_check, @function
validity_check:
.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, DWORD PTR fd[rip]
	mov	edx, 0
	mov	esi, 510
	mov	edi, eax
	call	lseek@PLT
	cmp	rax, 510
	je	.L2
	lea	rdi, .LC0[rip]
	call	puts@PLT
	mov	edi, -1
	call	exit@PLT
.L2:
	mov	eax, DWORD PTR fd[rip]
	mov	edx, 4
	lea	rsi, buf[rip]
	mov	edi, eax
	call	read@PLT
	test	rax, rax
	jg	.L3
	lea	rdi, .LC1[rip]
	call	puts@PLT
	mov	edi, -1
	call	exit@PLT
.L3:
	mov	rax, QWORD PTR pbuf[rip]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 85
	jne	.L4
	mov	rax, QWORD PTR pbuf[rip]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, -86
	jne	.L4
	mov	rax, QWORD PTR pbuf[rip]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	rax, QWORD PTR pbuf[rip]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	esi, eax
	lea	rdi, .LC2[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 0
	jmp	.L5
.L4:
	mov	eax, -1
.L5:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	validity_check, .-validity_check
	.section	.rodata
.LC3:
	.string	"\nError write PARTITION TABLE"
	.align 8
.LC4:
	.string	"\nError lseek FIRMA DISPOSITIVO"
	.align 8
.LC5:
	.string	"\nError write FIRMA DE DISPOSITIVO"
	.text
	.globl	arregla_dispositivo
	.type	arregla_dispositivo, @function
arregla_dispositivo:
.LFB7:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 544
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -532[rbp], 43605
	lea	rax, -528[rbp]
	mov	rsi, rax
	mov	eax, 0
	mov	edx, 64
	mov	rdi, rsi
	mov	rcx, rdx
	rep stosq
	mov	eax, DWORD PTR fd[rip]
	mov	edx, 0
	mov	esi, 0
	mov	edi, eax
	call	lseek@PLT
	mov	eax, DWORD PTR fd[rip]
	lea	rcx, -528[rbp]
	mov	edx, 512
	mov	rsi, rcx
	mov	edi, eax
	call	write@PLT
	cmp	rax, 511
	ja	.L7
	lea	rdi, .LC3[rip]
	call	puts@PLT
	mov	edi, -1
	call	exit@PLT
.L7:
	mov	eax, DWORD PTR fd[rip]
	mov	edx, 0
	mov	esi, 510
	mov	edi, eax
	call	lseek@PLT
	cmp	rax, 510
	je	.L8
	lea	rdi, .LC4[rip]
	call	puts@PLT
	mov	edi, -1
	call	exit@PLT
.L8:
	mov	eax, DWORD PTR fd[rip]
	lea	rcx, -532[rbp]
	mov	edx, 4
	mov	rsi, rcx
	mov	edi, eax
	call	write@PLT
	mov	DWORD PTR -532[rbp], eax
	mov	eax, DWORD PTR -532[rbp]
	cmp	eax, 3
	ja	.L11
	lea	rdi, .LC5[rip]
	call	puts@PLT
	mov	edi, -1
	call	exit@PLT
.L11:
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L10
	call	__stack_chk_fail@PLT
.L10:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	arregla_dispositivo, .-arregla_dispositivo
	.section	.rodata
	.align 8
.LC6:
	.string	"El tama\303\261o del dispositivo %s es: "
	.text
	.globl	tamano_dispositivo
	.type	tamano_dispositivo, @function
tamano_dispositivo:
.LFB8:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	rax, QWORD PTR argv_globl[rip]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	mov	rsi, rax
	lea	rdi, .LC6[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR fd[rip]
	mov	edi, eax
	call	espacio_total_dispositivo
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	tamano_dispositivo, .-tamano_dispositivo
	.section	.rodata
.LC8:
	.string	"%3.0f\n"
.LC11:
	.string	"%3.2fK\n"
.LC14:
	.string	"%3.2fM\n"
	.text
	.globl	espacio_total_dispositivo
	.type	espacio_total_dispositivo, @function
espacio_total_dispositivo:
.LFB9:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	eax, DWORD PTR -20[rbp]
	mov	edx, 0
	mov	esi, 0
	mov	edi, eax
	call	lseek@PLT
	mov	DWORD PTR -16[rbp], eax
	mov	eax, DWORD PTR -20[rbp]
	mov	edx, 2
	mov	esi, 0
	mov	edi, eax
	call	lseek@PLT
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	sub	eax, DWORD PTR -16[rbp]
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, eax
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC7[rip]
	comisd	xmm0, QWORD PTR -8[rbp]
	jbe	.L29
	mov	rax, QWORD PTR -8[rbp]
	movq	xmm0, rax
	lea	rdi, .LC8[rip]
	mov	eax, 1
	call	printf@PLT
	jmp	.L14
.L29:
	movsd	xmm0, QWORD PTR -8[rbp]
	comisd	xmm0, QWORD PTR .LC7[rip]
	jb	.L18
	movsd	xmm0, QWORD PTR .LC9[rip]
	comisd	xmm0, QWORD PTR -8[rbp]
	jbe	.L18
	pxor	xmm0, xmm0
	cvtsd2ss	xmm0, QWORD PTR -8[rbp]
	movss	xmm1, DWORD PTR .LC10[rip]
	divss	xmm0, xmm1
	pxor	xmm2, xmm2
	cvtss2sd	xmm2, xmm0
	movq	rax, xmm2
	movq	xmm0, rax
	lea	rdi, .LC11[rip]
	mov	eax, 1
	call	printf@PLT
	jmp	.L14
.L18:
	movsd	xmm0, QWORD PTR -8[rbp]
	comisd	xmm0, QWORD PTR .LC9[rip]
	jnb	.L27
	jmp	.L30
.L27:
	movsd	xmm0, QWORD PTR .LC12[rip]
	comisd	xmm0, QWORD PTR -8[rbp]
	ja	.L28
	jmp	.L30
.L28:
	pxor	xmm0, xmm0
	cvtsd2ss	xmm0, QWORD PTR -8[rbp]
	movss	xmm1, DWORD PTR .LC13[rip]
	divss	xmm0, xmm1
	pxor	xmm3, xmm3
	cvtss2sd	xmm3, xmm0
	movq	rax, xmm3
	movq	xmm0, rax
	lea	rdi, .LC14[rip]
	mov	eax, 1
	call	printf@PLT
.L30:
	nop
.L14:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	espacio_total_dispositivo, .-espacio_total_dispositivo
	.section	.rodata
.LC15:
	.string	"Particion %u activa\n"
.LC16:
	.string	"No hay particion activa"
	.text
	.globl	lee_particion_activa
	.type	lee_particion_activa, @function
lee_particion_activa:
.LFB10:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -36[rbp], 0
	jmp	.L32
.L34:
	mov	eax, DWORD PTR -36[rbp]
	mov	edi, eax
	call	boot_indicator
	movzx	edx, al
	mov	eax, DWORD PTR -36[rbp]
	mov	DWORD PTR -32[rbp+rax*4], edx
	mov	eax, DWORD PTR -36[rbp]
	mov	eax, DWORD PTR -32[rbp+rax*4]
	test	eax, eax
	je	.L33
	mov	eax, DWORD PTR -36[rbp]
	mov	esi, eax
	lea	rdi, .LC15[rip]
	mov	eax, 0
	call	printf@PLT
.L33:
	add	DWORD PTR -36[rbp], 1
.L32:
	cmp	DWORD PTR -36[rbp], 3
	jbe	.L34
	mov	eax, DWORD PTR -32[rbp]
	test	eax, eax
	jne	.L38
	mov	eax, DWORD PTR -28[rbp]
	test	eax, eax
	jne	.L38
	mov	eax, DWORD PTR -24[rbp]
	test	eax, eax
	jne	.L38
	mov	eax, DWORD PTR -20[rbp]
	test	eax, eax
	jne	.L38
	lea	rdi, .LC16[rip]
	call	puts@PLT
	nop
.L38:
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L37
	call	__stack_chk_fail@PLT
.L37:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	lee_particion_activa, .-lee_particion_activa
	.section	.rodata
.LC17:
	.string	"\nError lseek BOOT_PARTITION"
.LC18:
	.string	"\nError read BOOT_PARTITION"
	.text
	.globl	boot_indicator
	.type	boot_indicator, @function
boot_indicator:
.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, 16
	mov	DWORD PTR -4[rbp], edi
	mov	eax, DWORD PTR -4[rbp]
	sal	eax, 4
	add	eax, 446
	mov	ecx, eax
	mov	eax, DWORD PTR fd[rip]
	mov	edx, 0
	mov	rsi, rcx
	mov	edi, eax
	call	lseek@PLT
	mov	edx, DWORD PTR -4[rbp]
	sal	edx, 4
	add	edx, 446
	mov	edx, edx
	cmp	rax, rdx
	je	.L40
	lea	rdi, .LC17[rip]
	call	puts@PLT
	mov	edi, -1
	call	exit@PLT
.L40:
	mov	eax, DWORD PTR fd[rip]
	mov	edx, 4
	lea	rsi, buf[rip]
	mov	edi, eax
	call	read@PLT
	test	rax, rax
	jg	.L41
	lea	rdi, .LC18[rip]
	call	puts@PLT
	mov	edi, -1
	call	exit@PLT
.L41:
	mov	rax, QWORD PTR pbuf[rip]
	movzx	eax, BYTE PTR [rax]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	boot_indicator, .-boot_indicator
	.section	.rodata
.LC19:
	.string	"\nError lseek PARTITION TYPE"
.LC20:
	.string	"\nError read PARTITION TYPE"
	.text
	.globl	partition_number
	.type	partition_number, @function
partition_number:
.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	DWORD PTR -4[rbp], edi
	mov	eax, DWORD PTR -4[rbp]
	sal	eax, 4
	add	eax, 450
	mov	ecx, eax
	mov	eax, DWORD PTR fd[rip]
	mov	edx, 0
	mov	rsi, rcx
	mov	edi, eax
	call	lseek@PLT
	mov	edx, DWORD PTR -4[rbp]
	sal	edx, 4
	add	edx, 450
	mov	edx, edx
	cmp	rax, rdx
	je	.L44
	lea	rdi, .LC19[rip]
	call	puts@PLT
	mov	edi, -1
	call	exit@PLT
.L44:
	mov	eax, DWORD PTR fd[rip]
	mov	edx, 4
	lea	rsi, buf[rip]
	mov	edi, eax
	call	read@PLT
	test	rax, rax
	jg	.L45
	lea	rdi, .LC20[rip]
	call	puts@PLT
	mov	edi, -1
	call	exit@PLT
.L45:
	mov	rax, QWORD PTR pbuf[rip]
	movzx	eax, BYTE PTR [rax]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE12:
	.size	partition_number, .-partition_number
	.section	.rodata
.LC21:
	.string	"\nError lseek PARTITION START"
.LC22:
	.string	"\nError read PARTITION START"
	.text
	.globl	partition_start
	.type	partition_start, @function
partition_start:
.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, 16
	mov	DWORD PTR -4[rbp], edi
	mov	eax, DWORD PTR -4[rbp]
	sal	eax, 4
	add	eax, 454
	mov	ecx, eax
	mov	eax, DWORD PTR fd[rip]
	mov	edx, 0
	mov	rsi, rcx
	mov	edi, eax
	call	lseek@PLT
	mov	edx, DWORD PTR -4[rbp]
	sal	edx, 4
	add	edx, 454
	mov	edx, edx
	cmp	rax, rdx
	je	.L48
	lea	rdi, .LC21[rip]
	call	puts@PLT
	mov	edi, -1
	call	exit@PLT
.L48:
	mov	eax, DWORD PTR fd[rip]
	mov	edx, 4
	lea	rsi, buf[rip]
	mov	edi, eax
	call	read@PLT
	test	rax, rax
	jg	.L49
	lea	rdi, .LC22[rip]
	call	puts@PLT
	mov	edi, -1
	call	exit@PLT
.L49:
	mov	eax, DWORD PTR buf[rip]
	cdqe
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE13:
	.size	partition_start, .-partition_start
	.section	.rodata
.LC23:
	.string	"\nError lseek PARTITION SIZE"
.LC24:
	.string	"\nError read PARTITION SIZE"
	.text
	.globl	partition_size
	.type	partition_size, @function
partition_size:
.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, 16
	mov	DWORD PTR -4[rbp], edi
	mov	eax, DWORD PTR -4[rbp]
	sal	eax, 4
	add	eax, 458
	mov	ecx, eax
	mov	eax, DWORD PTR fd[rip]
	mov	edx, 0
	mov	rsi, rcx
	mov	edi, eax
	call	lseek@PLT
	mov	edx, DWORD PTR -4[rbp]
	sal	edx, 4
	add	edx, 458
	mov	edx, edx
	cmp	rax, rdx
	je	.L52
	lea	rdi, .LC23[rip]
	call	puts@PLT
	mov	edi, -1
	call	exit@PLT
.L52:
	mov	eax, DWORD PTR fd[rip]
	mov	edx, 4
	lea	rsi, buf[rip]
	mov	edi, eax
	call	read@PLT
	test	rax, rax
	jg	.L53
	lea	rdi, .LC24[rip]
	call	puts@PLT
	mov	edi, -1
	call	exit@PLT
.L53:
	mov	eax, DWORD PTR buf[rip]
	cdqe
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE14:
	.size	partition_size, .-partition_size
	.globl	partition_end
	.type	partition_end, @function
partition_end:
.LFB15:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 24
	.cfi_offset 3, -24
	mov	DWORD PTR -20[rbp], edi
	mov	eax, DWORD PTR -20[rbp]
	mov	edi, eax
	call	partition_size
	mov	rbx, rax
	mov	eax, DWORD PTR -20[rbp]
	mov	edi, eax
	call	partition_start
	add	rax, rbx
	test	rax, rax
	jg	.L56
	mov	eax, 0
	jmp	.L57
.L56:
	mov	eax, DWORD PTR -20[rbp]
	mov	edi, eax
	call	partition_size
	mov	rbx, rax
	mov	eax, DWORD PTR -20[rbp]
	mov	edi, eax
	call	partition_start
	add	rax, rbx
	sub	rax, 1
.L57:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE15:
	.size	partition_end, .-partition_end
	.section	.rodata
.LC25:
	.string	"\t%10.0fK\n"
.LC26:
	.string	"\t%10.2fM\n"
.LC27:
	.string	"\t%10.2fG\n"
	.text
	.globl	partition_size_KMGT
	.type	partition_size_KMGT, @function
partition_size_KMGT:
.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	DWORD PTR -20[rbp], edi
	mov	eax, DWORD PTR -20[rbp]
	mov	edi, eax
	call	partition_size
	mov	rdx, rax
	shr	rdx, 63
	add	rax, rdx
	sar	rax
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rax
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC7[rip]
	comisd	xmm0, QWORD PTR -8[rbp]
	jbe	.L72
	mov	rax, QWORD PTR -8[rbp]
	movq	xmm0, rax
	lea	rdi, .LC25[rip]
	mov	eax, 1
	call	printf@PLT
	jmp	.L58
.L72:
	movsd	xmm0, QWORD PTR -8[rbp]
	comisd	xmm0, QWORD PTR .LC7[rip]
	jb	.L62
	movsd	xmm0, QWORD PTR .LC9[rip]
	comisd	xmm0, QWORD PTR -8[rbp]
	jbe	.L62
	movsd	xmm0, QWORD PTR -8[rbp]
	movsd	xmm1, QWORD PTR .LC7[rip]
	divsd	xmm0, xmm1
	movq	rax, xmm0
	movq	xmm0, rax
	lea	rdi, .LC26[rip]
	mov	eax, 1
	call	printf@PLT
	jmp	.L58
.L62:
	movsd	xmm0, QWORD PTR -8[rbp]
	comisd	xmm0, QWORD PTR .LC9[rip]
	jb	.L58
	movsd	xmm0, QWORD PTR .LC12[rip]
	comisd	xmm0, QWORD PTR -8[rbp]
	jbe	.L58
	movsd	xmm0, QWORD PTR -8[rbp]
	movsd	xmm1, QWORD PTR .LC9[rip]
	divsd	xmm0, xmm1
	movq	rax, xmm0
	movq	xmm0, rax
	lea	rdi, .LC27[rip]
	mov	eax, 1
	call	printf@PLT
	nop
.L58:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE16:
	.size	partition_size_KMGT, .-partition_size_KMGT
	.section	.rodata
	.align 8
.LC28:
	.string	"\302\277Que particion activamos? (n\302\272): "
.LC29:
	.string	"%u"
	.text
	.globl	activacion
	.type	activacion, @function
activacion:
.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, 16
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rdi, .LC28[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rax, -12[rbp]
	mov	rsi, rax
	lea	rdi, .LC29[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	mov	eax, DWORD PTR -12[rbp]
	mov	edi, eax
	call	activa_particion
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L75
	call	__stack_chk_fail@PLT
.L75:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE17:
	.size	activacion, .-activacion
	.section	.rodata
.LC30:
	.string	"\nError write BOOT_PARTITION"
	.text
	.globl	activa_particion
	.type	activa_particion, @function
activa_particion:
.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, 32
	mov	DWORD PTR -20[rbp], edi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	BYTE PTR -9[rbp], -128
	mov	eax, DWORD PTR -20[rbp]
	sal	eax, 4
	add	eax, 446
	mov	ecx, eax
	mov	eax, DWORD PTR fd[rip]
	mov	edx, 0
	mov	rsi, rcx
	mov	edi, eax
	call	lseek@PLT
	mov	edx, DWORD PTR -20[rbp]
	sal	edx, 4
	add	edx, 446
	mov	edx, edx
	cmp	rax, rdx
	je	.L77
	lea	rdi, .LC17[rip]
	call	puts@PLT
	mov	edi, -1
	call	exit@PLT
.L77:
	mov	eax, DWORD PTR fd[rip]
	lea	rcx, -9[rbp]
	mov	edx, 1
	mov	rsi, rcx
	mov	edi, eax
	call	write@PLT
	cmp	rax, 1
	je	.L81
	lea	rdi, .LC30[rip]
	call	puts@PLT
	mov	edi, -1
	call	exit@PLT
.L81:
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L80
	call	__stack_chk_fail@PLT
.L80:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE18:
	.size	activa_particion, .-activa_particion
	.section	.rodata
	.align 8
.LC31:
	.string	"\302\277A qu\303\251 partici\303\263n le cambiamos el tipo? (n\302\272): "
	.align 8
.LC32:
	.string	"\302\277En qu\303\251 tipo de partici\303\263n la convertimos? (n\302\272): "
.LC33:
	.string	"%x"
.LC34:
	.string	"\nError write PARTITION TYPE"
	.text
	.globl	cambia_tipo_particion
	.type	cambia_tipo_particion, @function
cambia_tipo_particion:
.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, 32
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rdi, .LC31[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rax, -20[rbp]
	mov	rsi, rax
	lea	rdi, .LC29[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	mov	DWORD PTR -16[rbp], 0
	mov	eax, DWORD PTR -20[rbp]
	sal	eax, 4
	add	eax, 450
	mov	ecx, eax
	mov	eax, DWORD PTR fd[rip]
	mov	edx, 0
	mov	rsi, rcx
	mov	edi, eax
	call	lseek@PLT
	mov	edx, DWORD PTR -20[rbp]
	sal	edx, 4
	add	edx, 450
	mov	edx, edx
	cmp	rax, rdx
	je	.L83
	lea	rdi, .LC19[rip]
	call	puts@PLT
	mov	edi, -1
	call	exit@PLT
.L83:
	lea	rdi, .LC32[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rax, -16[rbp]
	mov	rsi, rax
	lea	rdi, .LC33[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	mov	eax, DWORD PTR fd[rip]
	lea	rcx, -16[rbp]
	mov	edx, 4
	mov	rsi, rcx
	mov	edi, eax
	call	write@PLT
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	cmp	eax, 3
	ja	.L87
	lea	rdi, .LC34[rip]
	call	puts@PLT
	mov	edi, -1
	call	exit@PLT
.L87:
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L86
	call	__stack_chk_fail@PLT
.L86:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE19:
	.size	cambia_tipo_particion, .-cambia_tipo_particion
	.section	.rodata
	.align 8
.LC35:
	.string	"Que partici\303\263n borramos? (n\302\272): "
	.text
	.globl	elimina_particion
	.type	elimina_particion, @function
elimina_particion:
.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	rdi, .LC35[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rax, -12[rbp]
	mov	rsi, rax
	lea	rdi, .LC29[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	mov	eax, DWORD PTR -12[rbp]
	mov	edi, eax
	call	borra_particion
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L90
	call	__stack_chk_fail@PLT
.L90:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE20:
	.size	elimina_particion, .-elimina_particion
	.section	.rodata
.LC36:
	.string	"N\303\272mero de particion invalido"
.LC37:
	.string	"\nError write PARTITION"
	.text
	.globl	borra_particion
	.type	borra_particion, @function
borra_particion:
.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, 64
	mov	DWORD PTR -52[rbp], edi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rax, -32[rbp]
	mov	QWORD PTR [rax], 0
	mov	QWORD PTR 8[rax], 0
	cmp	DWORD PTR -52[rbp], 3
	jbe	.L92
	lea	rdi, .LC36[rip]
	call	puts@PLT
	call	procesar_comandos
.L92:
	mov	eax, DWORD PTR -52[rbp]
	sal	eax, 4
	add	eax, 446
	mov	ecx, eax
	mov	eax, DWORD PTR fd[rip]
	mov	edx, 0
	mov	rsi, rcx
	mov	edi, eax
	call	lseek@PLT
	mov	edx, DWORD PTR -52[rbp]
	sal	edx, 4
	add	edx, 446
	mov	edx, edx
	cmp	rax, rdx
	je	.L93
	lea	rdi, .LC21[rip]
	call	puts@PLT
	mov	edi, -1
	call	exit@PLT
.L93:
	mov	eax, DWORD PTR fd[rip]
	lea	rcx, -32[rbp]
	mov	edx, 16
	mov	rsi, rcx
	mov	edi, eax
	call	write@PLT
	mov	DWORD PTR -36[rbp], eax
	mov	eax, DWORD PTR -36[rbp]
	cmp	eax, 15
	ja	.L97
	lea	rdi, .LC37[rip]
	call	puts@PLT
	mov	edi, -1
	call	exit@PLT
.L97:
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L96
	call	__stack_chk_fail@PLT
.L96:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE21:
	.size	borra_particion, .-borra_particion
	.section	.rodata
.LC38:
	.string	"\nError read PARTITION_TYPE"
	.align 8
.LC39:
	.string	"Se puede agregar particion %u\n"
	.align 8
.LC40:
	.string	"Numero de particion a agregar?: "
.LC41:
	.string	"%d"
	.align 8
.LC42:
	.string	"\nEL numero ingresado es incorrecto"
	.text
	.globl	agregar_particion
	.type	agregar_particion, @function
agregar_particion:
.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, 16
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -16[rbp], 0
	jmp	.L99
.L103:
	mov	eax, DWORD PTR -16[rbp]
	sal	eax, 4
	add	eax, 450
	mov	ecx, eax
	mov	eax, DWORD PTR fd[rip]
	mov	edx, 0
	mov	rsi, rcx
	mov	edi, eax
	call	lseek@PLT
	mov	edx, DWORD PTR -16[rbp]
	sal	edx, 4
	add	edx, 450
	mov	edx, edx
	cmp	rax, rdx
	je	.L100
	lea	rdi, .LC19[rip]
	call	puts@PLT
	mov	edi, -1
	call	exit@PLT
.L100:
	mov	eax, DWORD PTR fd[rip]
	mov	edx, 4
	lea	rsi, buf[rip]
	mov	edi, eax
	call	read@PLT
	test	rax, rax
	jg	.L101
	lea	rdi, .LC38[rip]
	call	puts@PLT
	mov	edi, -1
	call	exit@PLT
.L101:
	mov	eax, DWORD PTR buf[rip]
	test	eax, eax
	jne	.L102
	mov	eax, DWORD PTR -16[rbp]
	mov	esi, eax
	lea	rdi, .LC39[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edx, DWORD PTR -16[rbp]
	mov	eax, DWORD PTR -16[rbp]
	mov	eax, eax
	mov	BYTE PTR -12[rbp+rax], dl
.L102:
	mov	eax, DWORD PTR -16[rbp]
	add	eax, 1
	mov	DWORD PTR -16[rbp], eax
.L99:
	mov	eax, DWORD PTR -16[rbp]
	cmp	eax, 3
	jbe	.L103
	lea	rdi, .LC40[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rax, -16[rbp]
	mov	rsi, rax
	lea	rdi, .LC41[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	mov	eax, DWORD PTR -16[rbp]
	mov	eax, eax
	movzx	eax, BYTE PTR -12[rbp+rax]
	movzx	edx, al
	mov	eax, DWORD PTR -16[rbp]
	cmp	edx, eax
	jne	.L104
	mov	eax, DWORD PTR -16[rbp]
	cmp	eax, 3
	jbe	.L105
.L104:
	lea	rdi, .LC42[rip]
	call	puts@PLT
	jmp	.L98
.L105:
	mov	eax, DWORD PTR -16[rbp]
	mov	edi, eax
	call	partition_type_write
	mov	eax, DWORD PTR -16[rbp]
	mov	edi, eax
	call	partition_start_write
	mov	eax, DWORD PTR -16[rbp]
	mov	edi, eax
	call	partition_end_write
	call	verifica_tamano_particiones
	cmp	eax, -1
	jne	.L107
	mov	eax, DWORD PTR -16[rbp]
	mov	edi, eax
	call	borra_particion
.L107:
	call	procesar_comandos
	nop
.L98:
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L109
	call	__stack_chk_fail@PLT
.L109:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE22:
	.size	agregar_particion, .-agregar_particion
	.section	.rodata
	.align 8
.LC43:
	.string	"Ingrese tipo de partici\303\263n (n\302\272)(L para ver tipos): "
	.text
	.globl	partition_type_write
	.type	partition_type_write, @function
partition_type_write:
.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	DWORD PTR -20[rbp], edi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	eax, DWORD PTR -20[rbp]
	sal	eax, 4
	add	eax, 450
	mov	ecx, eax
	mov	eax, DWORD PTR fd[rip]
	mov	edx, 0
	mov	rsi, rcx
	mov	edi, eax
	call	lseek@PLT
	mov	edx, DWORD PTR -20[rbp]
	sal	edx, 4
	add	edx, 450
	mov	edx, edx
	cmp	rax, rdx
	je	.L111
	lea	rdi, .LC19[rip]
	call	puts@PLT
	mov	edi, -1
	call	exit@PLT
.L111:
	lea	rdi, .LC43[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rax, -16[rbp]
	mov	rsi, rax
	lea	rdi, .LC33[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	test	eax, eax
	jne	.L112
	call	procesar_comandos
.L112:
	mov	eax, DWORD PTR fd[rip]
	lea	rcx, -16[rbp]
	mov	edx, 4
	mov	rsi, rcx
	mov	edi, eax
	call	write@PLT
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	cmp	eax, 3
	ja	.L116
	lea	rdi, .LC34[rip]
	call	puts@PLT
	mov	edi, -1
	call	exit@PLT
.L116:
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L115
	call	__stack_chk_fail@PLT
.L115:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE23:
	.size	partition_type_write, .-partition_type_write
	.section	.rodata
.LC44:
	.string	"Desde sector: "
.LC45:
	.string	"%ld"
.LC46:
	.string	"ERROR: sector fuera de rango"
	.align 8
.LC47:
	.string	"\nError read PARTITION START WRITE"
	.text
	.globl	partition_start_write
	.type	partition_start_write, @function
partition_start_write:
.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	DWORD PTR -36[rbp], edi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rdi, .LC44[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rax, -16[rbp]
	mov	rsi, rax
	lea	rdi, .LC45[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	mov	DWORD PTR -20[rbp], 0
	jmp	.L118
.L120:
	mov	eax, DWORD PTR -20[rbp]
	mov	edi, eax
	call	partition_start
	mov	rdx, QWORD PTR -16[rbp]
	cmp	rax, rdx
	jg	.L119
	mov	eax, DWORD PTR -20[rbp]
	mov	edi, eax
	call	partition_end
	mov	rdx, QWORD PTR -16[rbp]
	cmp	rax, rdx
	jl	.L119
	lea	rdi, .LC46[rip]
	call	puts@PLT
	mov	eax, DWORD PTR -36[rbp]
	mov	edi, eax
	call	borra_particion
	call	procesar_comandos
.L119:
	add	DWORD PTR -20[rbp], 1
.L118:
	cmp	DWORD PTR -20[rbp], 3
	jbe	.L120
	mov	eax, DWORD PTR -36[rbp]
	sal	eax, 4
	add	eax, 454
	mov	ecx, eax
	mov	eax, DWORD PTR fd[rip]
	mov	edx, 0
	mov	rsi, rcx
	mov	edi, eax
	call	lseek@PLT
	mov	edx, DWORD PTR -36[rbp]
	sal	edx, 4
	add	edx, 454
	mov	edx, edx
	cmp	rax, rdx
	je	.L121
	lea	rdi, .LC21[rip]
	call	puts@PLT
	mov	edi, -1
	call	exit@PLT
.L121:
	mov	eax, DWORD PTR fd[rip]
	lea	rcx, -16[rbp]
	mov	edx, 8
	mov	rsi, rcx
	mov	edi, eax
	call	write@PLT
	test	rax, rax
	jg	.L125
	lea	rdi, .LC47[rip]
	call	puts@PLT
	mov	edi, -1
	call	exit@PLT
.L125:
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L124
	call	__stack_chk_fail@PLT
.L124:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE24:
	.size	partition_start_write, .-partition_start_write
	.section	.rodata
.LC48:
	.string	"Hasta sector: "
	.align 8
.LC49:
	.string	"ERROR: el ultimo sector del dispositivo es %ld\n"
	.align 8
.LC50:
	.string	"\nError lseek PARTITION SIZE WRITE"
	.align 8
.LC51:
	.string	"\nError write PARTITION END WRITE"
	.text
	.globl	partition_end_write
	.type	partition_end_write, @function
partition_end_write:
.LFB25:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 88
	.cfi_offset 3, -24
	mov	DWORD PTR -84[rbp], edi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -24[rbp], rax
	xor	eax, eax
	mov	eax, DWORD PTR fd[rip]
	mov	edx, 0
	mov	esi, 0
	mov	edi, eax
	call	lseek@PLT
	mov	QWORD PTR -48[rbp], rax
	mov	eax, DWORD PTR fd[rip]
	mov	edx, 2
	mov	esi, 0
	mov	edi, eax
	call	lseek@PLT
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	sub	rax, QWORD PTR -48[rbp]
	lea	rdx, 511[rax]
	test	rax, rax
	cmovs	rax, rdx
	sar	rax, 9
	mov	QWORD PTR -32[rbp], rax
	lea	rdi, .LC48[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rax, -56[rbp]
	mov	rsi, rax
	lea	rdi, .LC45[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	mov	rbx, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR -84[rbp]
	mov	edi, eax
	call	partition_start
	mov	rdx, rax
	mov	rax, rbx
	sub	rax, rdx
	add	rax, 1
	mov	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR -64[rbp]
	cmp	QWORD PTR -32[rbp], rax
	jl	.L127
	mov	rax, QWORD PTR -64[rbp]
	cmp	QWORD PTR -40[rbp], rax
	jge	.L128
.L127:
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rax
	lea	rdi, .LC49[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR -84[rbp]
	mov	edi, eax
	call	borra_particion
	call	procesar_comandos
.L128:
	mov	DWORD PTR -68[rbp], 0
	jmp	.L129
.L133:
	mov	eax, DWORD PTR -68[rbp]
	mov	edi, eax
	call	partition_start
	mov	rdx, QWORD PTR -64[rbp]
	cmp	rax, rdx
	jg	.L130
	mov	eax, DWORD PTR -68[rbp]
	mov	edi, eax
	call	partition_end
	mov	rdx, QWORD PTR -64[rbp]
	cmp	rax, rdx
	jge	.L131
.L130:
	mov	rax, QWORD PTR -64[rbp]
	cmp	QWORD PTR -40[rbp], rax
	jge	.L132
.L131:
	lea	rdi, .LC46[rip]
	call	puts@PLT
	call	procesar_comandos
	mov	edi, -1
	call	exit@PLT
.L132:
	add	DWORD PTR -68[rbp], 1
.L129:
	cmp	DWORD PTR -68[rbp], 3
	jbe	.L133
	mov	eax, DWORD PTR -84[rbp]
	sal	eax, 4
	add	eax, 458
	mov	ecx, eax
	mov	eax, DWORD PTR fd[rip]
	mov	edx, 0
	mov	rsi, rcx
	mov	edi, eax
	call	lseek@PLT
	mov	edx, DWORD PTR -84[rbp]
	sal	edx, 4
	add	edx, 458
	mov	edx, edx
	cmp	rax, rdx
	je	.L134
	lea	rdi, .LC50[rip]
	call	puts@PLT
	mov	edi, -1
	call	exit@PLT
.L134:
	mov	eax, DWORD PTR fd[rip]
	lea	rcx, -64[rbp]
	mov	edx, 8
	mov	rsi, rcx
	mov	edi, eax
	call	write@PLT
	test	rax, rax
	jg	.L138
	lea	rdi, .LC51[rip]
	call	puts@PLT
	mov	edi, -1
	call	exit@PLT
.L138:
	nop
	mov	rax, QWORD PTR -24[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L137
	call	__stack_chk_fail@PLT
.L137:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE25:
	.size	partition_end_write, .-partition_end_write
	.section	.rodata
	.align 8
.LC52:
	.string	"\nError lseek VERIFICA TAMANO PARTICIONES"
	.align 8
.LC53:
	.string	"\nError read VERIFICA TAMANO PARTICIONES"
	.align 8
.LC54:
	.string	"ADVERTENCIA: No hay lugar para mas particiones"
	.align 8
.LC55:
	.string	"ERROR: PARTICION DEMASIADO GRANDE\nLa suma de los tamanos de las particiones supera al tamano del dispositivo"
	.text
	.globl	verifica_tamano_particiones
	.type	verifica_tamano_particiones, @function
verifica_tamano_particiones:
.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	eax, DWORD PTR fd[rip]
	mov	edx, 0
	mov	esi, 0
	mov	edi, eax
	call	lseek@PLT
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR fd[rip]
	mov	edx, 2
	mov	esi, 0
	mov	edi, eax
	call	lseek@PLT
	mov	DWORD PTR -8[rbp], eax
	mov	eax, DWORD PTR -8[rbp]
	sub	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR -4[rbp], eax
	mov	DWORD PTR -16[rbp], 0
	mov	DWORD PTR -20[rbp], 0
	jmp	.L140
.L143:
	mov	eax, DWORD PTR -20[rbp]
	sal	eax, 4
	add	eax, 458
	mov	ecx, eax
	mov	eax, DWORD PTR fd[rip]
	mov	edx, 0
	mov	rsi, rcx
	mov	edi, eax
	call	lseek@PLT
	mov	edx, DWORD PTR -20[rbp]
	sal	edx, 4
	add	edx, 458
	mov	edx, edx
	cmp	rax, rdx
	je	.L141
	lea	rdi, .LC52[rip]
	call	puts@PLT
	mov	edi, -1
	call	exit@PLT
.L141:
	mov	eax, DWORD PTR fd[rip]
	mov	edx, 4
	lea	rsi, buf[rip]
	mov	edi, eax
	call	read@PLT
	test	rax, rax
	jg	.L142
	lea	rdi, .LC53[rip]
	call	puts@PLT
	mov	edi, -1
	call	exit@PLT
.L142:
	mov	eax, DWORD PTR buf[rip]
	add	DWORD PTR -16[rbp], eax
	add	DWORD PTR -20[rbp], 1
.L140:
	cmp	DWORD PTR -20[rbp], 3
	jbe	.L143
	mov	eax, DWORD PTR -4[rbp]
	lea	edx, 511[rax]
	test	eax, eax
	cmovs	eax, edx
	sar	eax, 9
	cmp	DWORD PTR -16[rbp], eax
	jne	.L144
	lea	rdi, .LC54[rip]
	call	puts@PLT
	jmp	.L145
.L144:
	mov	eax, DWORD PTR -4[rbp]
	lea	edx, 511[rax]
	test	eax, eax
	cmovs	eax, edx
	sar	eax, 9
	cmp	DWORD PTR -16[rbp], eax
	jle	.L145
	lea	rdi, .LC55[rip]
	call	puts@PLT
	mov	eax, -1
	jmp	.L146
.L145:
	mov	eax, 0
.L146:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE26:
	.size	verifica_tamano_particiones, .-verifica_tamano_particiones
	.section	.rodata
	.align 8
.LC56:
	.string	"particion\t\tid\ttipo\t\t      inicio\t      fin\t\t tama\303\261o\t\t  Capacidad"
.LC57:
	.string	"%s%d\t\t%2x\t"
.LC58:
	.string	"%12ld %12ld\t   %12ld\t"
	.align 8
.LC59:
	.string	"\n(incio, fin y tama\303\261o de la partici\303\263n expresados en sectores"
	.align 8
.LC60:
	.string	" Capacidad expresado en m\303\272ltiplos de byte)"
	.text
	.globl	mostrar_tabla
	.type	mostrar_tabla, @function
mostrar_tabla:
.LFB27:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	r12
	push	rbx
	sub	rsp, 16
	.cfi_offset 12, -24
	.cfi_offset 3, -32
	lea	rdi, .LC56[rip]
	call	puts@PLT
	mov	DWORD PTR -20[rbp], 0
	jmp	.L148
.L150:
	mov	eax, DWORD PTR -20[rbp]
	mov	edi, eax
	call	partition_number
	test	al, al
	je	.L149
	mov	eax, DWORD PTR -20[rbp]
	mov	edi, eax
	call	partition_number
	movzx	ecx, al
	mov	rax, QWORD PTR argv_globl[rip]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -20[rbp]
	mov	rsi, rax
	lea	rdi, .LC57[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR -20[rbp]
	mov	edi, eax
	call	partition_number
	movzx	eax, al
	mov	edi, eax
	call	nombre_particion@PLT
	mov	eax, DWORD PTR -20[rbp]
	mov	edi, eax
	call	partition_size
	mov	r12, rax
	mov	eax, DWORD PTR -20[rbp]
	mov	edi, eax
	call	partition_end
	mov	rbx, rax
	mov	eax, DWORD PTR -20[rbp]
	mov	edi, eax
	call	partition_start
	mov	rcx, r12
	mov	rdx, rbx
	mov	rsi, rax
	lea	rdi, .LC58[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR -20[rbp]
	mov	edi, eax
	call	partition_size_KMGT
.L149:
	add	DWORD PTR -20[rbp], 1
.L148:
	cmp	DWORD PTR -20[rbp], 3
	jle	.L150
	lea	rdi, .LC59[rip]
	call	puts@PLT
	lea	rdi, .LC60[rip]
	call	puts@PLT
	call	verifica_tamano_particiones
	nop
	add	rsp, 16
	pop	rbx
	pop	r12
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE27:
	.size	mostrar_tabla, .-mostrar_tabla
	.section	.rodata
	.align 8
.LC61:
	.string	"\nIngresar comando (h para menu de ayuda): "
.LC62:
	.string	"%s"
.LC63:
	.string	"d"
.LC64:
	.string	"n"
.LC65:
	.string	"p"
.LC66:
	.string	"h"
.LC67:
	.string	"l"
.LC68:
	.string	"t"
.LC69:
	.string	"L"
.LC70:
	.string	"a"
.LC71:
	.string	"A"
.LC72:
	.string	"w"
	.align 8
.LC73:
	.string	"CUIDADO: SE BORRARA LA TABLA DE PARTICIONES\n Y SE ESCRIBIRA NUEVAMENTE LA FIRMA DE DISPOSITIVO"
	.align 8
.LC74:
	.string	"Confirme pulsando nuevamente \"w\": "
.LC75:
	.string	"q"
	.text
	.globl	procesar_comandos
	.type	procesar_comandos, @function
procesar_comandos:
.LFB28:
	.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	QWORD PTR -18[rbp], 0
	mov	WORD PTR -10[rbp], 0
	jmp	.L153
.L163:
	lea	rdi, .LC61[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rax, -18[rbp]
	mov	rsi, rax
	lea	rdi, .LC62[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	mov	edi, 10
	call	putchar@PLT
	lea	rax, -18[rbp]
	lea	rsi, .LC63[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L154
	call	elimina_particion
	jmp	.L153
.L154:
	lea	rax, -18[rbp]
	lea	rsi, .LC64[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L155
	call	agregar_particion
	jmp	.L153
.L155:
	lea	rax, -18[rbp]
	lea	rsi, .LC65[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L156
	call	mostrar_tabla
	jmp	.L153
.L156:
	lea	rax, -18[rbp]
	lea	rsi, .LC66[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L157
	call	mostrar_ayuda
	jmp	.L153
.L157:
	lea	rax, -18[rbp]
	lea	rsi, .LC67[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L158
	call	cambia_tipo_particion
	jmp	.L153
.L158:
	lea	rax, -18[rbp]
	lea	rsi, .LC68[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L159
	call	tamano_dispositivo
	jmp	.L153
.L159:
	lea	rax, -18[rbp]
	lea	rsi, .LC69[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L160
	mov	eax, 0
	call	imprime_lista_nombres@PLT
	jmp	.L153
.L160:
	lea	rax, -18[rbp]
	lea	rsi, .LC70[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L161
	call	lee_particion_activa
	jmp	.L153
.L161:
	lea	rax, -18[rbp]
	lea	rsi, .LC71[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L162
	call	activacion
	jmp	.L153
.L162:
	lea	rax, -18[rbp]
	lea	rsi, .LC72[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L153
	lea	rdi, .LC73[rip]
	call	puts@PLT
	lea	rdi, .LC74[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rax, -18[rbp]
	mov	rsi, rax
	lea	rdi, .LC62[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	lea	rax, -18[rbp]
	lea	rsi, .LC72[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L153
	call	arregla_dispositivo
.L153:
	lea	rax, -18[rbp]
	lea	rsi, .LC75[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L163
	mov	edi, -1
	call	exit@PLT
	.cfi_endproc
.LFE28:
	.size	procesar_comandos, .-procesar_comandos
	.section	.rodata
.LC76:
	.string	"Uso: ./mi_fdisk dispositivo"
	.align 8
.LC77:
	.string	"\nError al intentar abrir archivo %s\n"
.LC78:
	.string	"%s no es un dispositivo\n"
	.align 8
.LC79:
	.string	"Comando \"w\" arregla dispositivo/CUIDADO: BORRA TODOS LOS DATOS"
	.align 8
.LC80:
	.string	"Dispositivo: %s\nfile descriptor %d\n"
	.align 8
.LC81:
	.string	"Cantidad total de sectores: %ld\n"
	.text
	.globl	main
	.type	main, @function
main:
.LFB29:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 40
	.cfi_offset 3, -24
	mov	DWORD PTR -36[rbp], edi
	mov	QWORD PTR -48[rbp], rsi
	cmp	DWORD PTR -36[rbp], 2
	je	.L166
	lea	rdi, .LC76[rip]
	call	puts@PLT
	mov	edi, -1
	call	exit@PLT
.L166:
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR argv_globl[rip], rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	mov	edx, 0
	mov	esi, 2
	mov	rdi, rax
	mov	eax, 0
	call	open@PLT
	mov	DWORD PTR fd[rip], eax
	mov	eax, DWORD PTR fd[rip]
	test	eax, eax
	jns	.L167
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	mov	rsi, rax
	lea	rdi, .LC77[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, -1
	call	exit@PLT
.L167:
	call	validity_check
	test	eax, eax
	je	.L168
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	mov	rsi, rax
	lea	rdi, .LC78[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdi, .LC79[rip]
	call	puts@PLT
	call	procesar_comandos
.L168:
	mov	edx, DWORD PTR fd[rip]
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	mov	rsi, rax
	lea	rdi, .LC80[rip]
	mov	eax, 0
	call	printf@PLT
	call	tamano_dispositivo
	mov	eax, DWORD PTR fd[rip]
	mov	edx, 2
	mov	esi, 0
	mov	edi, eax
	call	lseek@PLT
	mov	rbx, rax
	mov	eax, DWORD PTR fd[rip]
	mov	edx, 0
	mov	esi, 0
	mov	edi, eax
	call	lseek@PLT
	mov	rdx, rax
	mov	rax, rbx
	sub	rax, rdx
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 511[rax]
	test	rax, rax
	cmovs	rax, rdx
	sar	rax, 9
	mov	rsi, rax
	lea	rdi, .LC81[rip]
	mov	eax, 0
	call	printf@PLT
	call	procesar_comandos
	mov	eax, DWORD PTR fd[rip]
	mov	edi, eax
	call	close@PLT
	mov	eax, 0
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE29:
	.size	main, .-main
	.section	.rodata
.LC82:
	.string	"h  :    muestra men\303\272 ayuda"
.LC83:
	.string	"n  :    agregar partici\303\263n"
.LC84:
	.string	"w  :    arregla dispositivo"
	.align 8
.LC85:
	.string	"p  :    muestra tabla de particiones"
.LC86:
	.string	"d  :    borra partici\303\263n"
	.align 8
.LC87:
	.string	"l  :    cambia tipo de partici\303\263n"
	.align 8
.LC88:
	.string	"L  :    lista de tipos de  particiones"
	.align 8
.LC89:
	.string	"t  :    muestra tama\303\261o total dispositivo"
	.align 8
.LC90:
	.string	"a  :    muestra particion activa"
.LC91:
	.string	"A  :    hace particion activa"
.LC92:
	.string	"q  :    sale\n"
	.text
	.globl	mostrar_ayuda
	.type	mostrar_ayuda, @function
mostrar_ayuda:
.LFB30:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	lea	rdi, .LC82[rip]
	call	puts@PLT
	lea	rdi, .LC83[rip]
	call	puts@PLT
	lea	rdi, .LC84[rip]
	call	puts@PLT
	lea	rdi, .LC85[rip]
	call	puts@PLT
	lea	rdi, .LC86[rip]
	call	puts@PLT
	lea	rdi, .LC87[rip]
	call	puts@PLT
	lea	rdi, .LC88[rip]
	call	puts@PLT
	lea	rdi, .LC89[rip]
	call	puts@PLT
	lea	rdi, .LC90[rip]
	call	puts@PLT
	lea	rdi, .LC91[rip]
	call	puts@PLT
	lea	rdi, .LC92[rip]
	call	puts@PLT
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE30:
	.size	mostrar_ayuda, .-mostrar_ayuda
	.section	.rodata
	.align 8
.LC7:
	.long	0
	.long	1083179008
	.align 8
.LC9:
	.long	0
	.long	1093664768
	.align 4
.LC10:
	.long	1149239296
	.align 8
.LC12:
	.long	0
	.long	1104150528
	.align 4
.LC13:
	.long	1233125376
	.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	"676185.c"
	.text
	.comm	fd,4,4
	.comm	buf,4,4
	.global	pbuf
	.data
	.align	2
	.type	pbuf, %object
	.size	pbuf, 4
pbuf:
	.word	buf
	.comm	argv_globl,4,4
	.section	.rodata
	.align	2
.LC0:
	.ascii	"\012Error lseek Validity Check\000"
	.align	2
.LC1:
	.ascii	"\012Error read Validity Check\000"
	.align	2
.LC2:
	.ascii	"\012firma dispositivo ok: %x%x\012\000"
	.text
	.align	2
	.global	validity_check
	.syntax unified
	.arm
	.fpu softvfp
	.type	validity_check, %function
validity_check:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L6
	ldr	r3, [r3]
	mov	r2, #0
	ldr	r1, .L6+4
	mov	r0, r3
	bl	lseek
	mov	r3, r0
	ldr	r2, .L6+4
	cmp	r3, r2
	beq	.L2
	ldr	r0, .L6+8
	bl	puts
	mvn	r0, #0
	bl	exit
.L2:
	ldr	r3, .L6
	ldr	r3, [r3]
	mov	r2, #4
	ldr	r1, .L6+12
	mov	r0, r3
	bl	read
	mov	r3, r0
	cmp	r3, #0
	bgt	.L3
	ldr	r0, .L6+16
	bl	puts
	mvn	r0, #0
	bl	exit
.L3:
	ldr	r3, .L6+20
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #85
	bne	.L4
	ldr	r3, .L6+20
	ldr	r3, [r3]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #170
	bne	.L4
	ldr	r3, .L6+20
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r3, .L6+20
	ldr	r3, [r3]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r0, .L6+24
	bl	printf
	mov	r3, #0
	b	.L5
.L4:
	mvn	r3, #0
.L5:
	mov	r0, r3
	pop	{fp, pc}
.L7:
	.align	2
.L6:
	.word	fd
	.word	510
	.word	.LC0
	.word	buf
	.word	.LC1
	.word	pbuf
	.word	.LC2
	.size	validity_check, .-validity_check
	.section	.rodata
	.align	2
.LC3:
	.ascii	"\012Error write PARTITION TABLE\000"
	.align	2
.LC4:
	.ascii	"\012Error lseek FIRMA DISPOSITIVO\000"
	.align	2
.LC5:
	.ascii	"\012Error write FIRMA DE DISPOSITIVO\000"
	.align	2
.LC6:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	arregla_dispositivo
	.syntax unified
	.arm
	.fpu softvfp
	.type	arregla_dispositivo, %function
arregla_dispositivo:
	@ args = 0, pretend = 0, frame = 520
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #520
	ldr	r3, .L14
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L14+4
	str	r3, [fp, #-524]
	sub	r3, fp, #520
	mov	r0, r3
	mov	r3, #512
	mov	r2, r3
	mov	r1, #0
	bl	memset
	ldr	r3, .L14+8
	ldr	r3, [r3]
	mov	r2, #0
	mov	r1, #0
	mov	r0, r3
	bl	lseek
	ldr	r3, .L14+8
	ldr	r3, [r3]
	sub	r1, fp, #520
	mov	r2, #512
	mov	r0, r3
	bl	write
	mov	r3, r0
	cmp	r3, #512
	bcs	.L9
	ldr	r0, .L14+12
	bl	puts
	mvn	r0, #0
	bl	exit
.L9:
	ldr	r3, .L14+8
	ldr	r3, [r3]
	mov	r2, #0
	ldr	r1, .L14+16
	mov	r0, r3
	bl	lseek
	mov	r3, r0
	ldr	r2, .L14+16
	cmp	r3, r2
	beq	.L10
	ldr	r0, .L14+20
	bl	puts
	mvn	r0, #0
	bl	exit
.L10:
	ldr	r3, .L14+8
	ldr	r3, [r3]
	sub	r1, fp, #524
	mov	r2, #4
	mov	r0, r3
	bl	write
	mov	r3, r0
	str	r3, [fp, #-524]
	ldr	r3, [fp, #-524]
	cmp	r3, #3
	bhi	.L13
	ldr	r0, .L14+24
	bl	puts
	mvn	r0, #0
	bl	exit
.L13:
	nop
	ldr	r3, .L14
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L12
	bl	__stack_chk_fail
.L12:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L15:
	.align	2
.L14:
	.word	.LC6
	.word	43605
	.word	fd
	.word	.LC3
	.word	510
	.word	.LC4
	.word	.LC5
	.size	arregla_dispositivo, .-arregla_dispositivo
	.section	.rodata
	.align	2
.LC7:
	.ascii	"El tama\303\261o del dispositivo %s es: \000"
	.text
	.align	2
	.global	tamano_dispositivo
	.syntax unified
	.arm
	.fpu softvfp
	.type	tamano_dispositivo, %function
tamano_dispositivo:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L18
	ldr	r3, [r3]
	add	r3, r3, #4
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L18+4
	bl	printf
	ldr	r3, .L18+8
	ldr	r3, [r3]
	mov	r0, r3
	bl	espacio_total_dispositivo
	nop
	pop	{fp, pc}
.L19:
	.align	2
.L18:
	.word	argv_globl
	.word	.LC7
	.word	fd
	.size	tamano_dispositivo, .-tamano_dispositivo
	.global	__aeabi_i2d
	.global	__aeabi_dcmplt
	.section	.rodata
	.align	2
.LC8:
	.ascii	"%3.0f\012\000"
	.global	__aeabi_dcmpge
	.global	__aeabi_d2f
	.global	__aeabi_fdiv
	.global	__aeabi_f2d
	.align	2
.LC9:
	.ascii	"%3.2fK\012\000"
	.align	2
.LC10:
	.ascii	"%3.2fM\012\000"
	.text
	.align	2
	.global	espacio_total_dispositivo
	.syntax unified
	.arm
	.fpu softvfp
	.type	espacio_total_dispositivo, %function
espacio_total_dispositivo:
	@ 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	r2, #0
	mov	r1, #0
	ldr	r0, [fp, #-24]
	bl	lseek
	str	r0, [fp, #-20]
	mov	r2, #2
	mov	r1, #0
	ldr	r0, [fp, #-24]
	bl	lseek
	str	r0, [fp, #-16]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-20]
	sub	r3, r2, r3
	mov	r0, r3
	bl	__aeabi_i2d
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-12]
	str	r3, [fp, #-8]
	mov	r2, #0
	ldr	r3, .L37
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L35
	sub	r3, fp, #12
	ldmia	r3, {r2-r3}
	ldr	r0, .L37+4
	bl	printf
	b	.L20
.L35:
	mov	r2, #0
	ldr	r3, .L37
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpge
	mov	r3, r0
	cmp	r3, #0
	beq	.L24
	mov	r2, #0
	ldr	r3, .L37+8
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L24
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_d2f
	mov	r3, r0
	ldr	r1, .L37+12
	mov	r0, r3
	bl	__aeabi_fdiv
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L37+16
	bl	printf
	b	.L20
.L24:
	mov	r2, #0
	ldr	r3, .L37+8
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpge
	mov	r3, r0
	cmp	r3, #0
	bne	.L33
	b	.L36
.L33:
	mov	r2, #0
	ldr	r3, .L37+20
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	bne	.L34
	b	.L36
.L34:
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_d2f
	mov	r3, r0
	ldr	r1, .L37+24
	mov	r0, r3
	bl	__aeabi_fdiv
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L37+28
	bl	printf
.L36:
	nop
.L20:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L38:
	.align	2
.L37:
	.word	1083179008
	.word	.LC8
	.word	1093664768
	.word	1149239296
	.word	.LC9
	.word	1104150528
	.word	1233125376
	.word	.LC10
	.size	espacio_total_dispositivo, .-espacio_total_dispositivo
	.section	.rodata
	.align	2
.LC11:
	.ascii	"Particion %u activa\012\000"
	.align	2
.LC12:
	.ascii	"No hay particion activa\000"
	.align	2
.LC13:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	lee_particion_activa
	.syntax unified
	.arm
	.fpu softvfp
	.type	lee_particion_activa, %function
lee_particion_activa:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	ldr	r3, .L47
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-28]
	b	.L40
.L42:
	ldr	r0, [fp, #-28]
	bl	boot_indicator
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	sub	r1, fp, #4
	add	r3, r1, r3
	str	r2, [r3, #-20]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-20]
	cmp	r3, #0
	beq	.L41
	ldr	r1, [fp, #-28]
	ldr	r0, .L47+4
	bl	printf
.L41:
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L40:
	ldr	r3, [fp, #-28]
	cmp	r3, #3
	bls	.L42
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L46
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L46
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L46
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L46
	ldr	r0, .L47+8
	bl	puts
	nop
.L46:
	nop
	ldr	r3, .L47
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L45
	bl	__stack_chk_fail
.L45:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L48:
	.align	2
.L47:
	.word	.LC13
	.word	.LC11
	.word	.LC12
	.size	lee_particion_activa, .-lee_particion_activa
	.section	.rodata
	.align	2
.LC14:
	.ascii	"\012Error lseek BOOT_PARTITION\000"
	.align	2
.LC15:
	.ascii	"\012Error read BOOT_PARTITION\000"
	.text
	.align	2
	.global	boot_indicator
	.syntax unified
	.arm
	.fpu softvfp
	.type	boot_indicator, %function
boot_indicator:
	@ 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, .L53
	ldr	r0, [r3]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #4
	add	r3, r3, #444
	add	r3, r3, #2
	mov	r2, #0
	mov	r1, r3
	bl	lseek
	mov	r2, r0
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #4
	add	r3, r3, #444
	add	r3, r3, #2
	cmp	r2, r3
	beq	.L50
	ldr	r0, .L53+4
	bl	puts
	mvn	r0, #0
	bl	exit
.L50:
	ldr	r3, .L53
	ldr	r3, [r3]
	mov	r2, #4
	ldr	r1, .L53+8
	mov	r0, r3
	bl	read
	mov	r3, r0
	cmp	r3, #0
	bgt	.L51
	ldr	r0, .L53+12
	bl	puts
	mvn	r0, #0
	bl	exit
.L51:
	ldr	r3, .L53+16
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L54:
	.align	2
.L53:
	.word	fd
	.word	.LC14
	.word	buf
	.word	.LC15
	.word	pbuf
	.size	boot_indicator, .-boot_indicator
	.section	.rodata
	.align	2
.LC16:
	.ascii	"\012Error lseek PARTITION TYPE\000"
	.align	2
.LC17:
	.ascii	"\012Error read PARTITION TYPE\000"
	.text
	.align	2
	.global	partition_number
	.syntax unified
	.arm
	.fpu softvfp
	.type	partition_number, %function
partition_number:
	@ 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, .L59
	ldr	r0, [r3]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #4
	add	r3, r3, #448
	add	r3, r3, #2
	mov	r2, #0
	mov	r1, r3
	bl	lseek
	mov	r2, r0
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #4
	add	r3, r3, #448
	add	r3, r3, #2
	cmp	r2, r3
	beq	.L56
	ldr	r0, .L59+4
	bl	puts
	mvn	r0, #0
	bl	exit
.L56:
	ldr	r3, .L59
	ldr	r3, [r3]
	mov	r2, #4
	ldr	r1, .L59+8
	mov	r0, r3
	bl	read
	mov	r3, r0
	cmp	r3, #0
	bgt	.L57
	ldr	r0, .L59+12
	bl	puts
	mvn	r0, #0
	bl	exit
.L57:
	ldr	r3, .L59+16
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L60:
	.align	2
.L59:
	.word	fd
	.word	.LC16
	.word	buf
	.word	.LC17
	.word	pbuf
	.size	partition_number, .-partition_number
	.section	.rodata
	.align	2
.LC18:
	.ascii	"\012Error lseek PARTITION START\000"
	.align	2
.LC19:
	.ascii	"\012Error read PARTITION START\000"
	.text
	.align	2
	.global	partition_start
	.syntax unified
	.arm
	.fpu softvfp
	.type	partition_start, %function
partition_start:
	@ 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, .L65
	ldr	r0, [r3]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #4
	add	r3, r3, #452
	add	r3, r3, #2
	mov	r2, #0
	mov	r1, r3
	bl	lseek
	mov	r2, r0
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #4
	add	r3, r3, #452
	add	r3, r3, #2
	cmp	r2, r3
	beq	.L62
	ldr	r0, .L65+4
	bl	puts
	mvn	r0, #0
	bl	exit
.L62:
	ldr	r3, .L65
	ldr	r3, [r3]
	mov	r2, #4
	ldr	r1, .L65+8
	mov	r0, r3
	bl	read
	mov	r3, r0
	cmp	r3, #0
	bgt	.L63
	ldr	r0, .L65+12
	bl	puts
	mvn	r0, #0
	bl	exit
.L63:
	ldr	r3, .L65+8
	ldr	r3, [r3]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L66:
	.align	2
.L65:
	.word	fd
	.word	.LC18
	.word	buf
	.word	.LC19
	.size	partition_start, .-partition_start
	.section	.rodata
	.align	2
.LC20:
	.ascii	"\012Error lseek PARTITION SIZE\000"
	.align	2
.LC21:
	.ascii	"\012Error read PARTITION SIZE\000"
	.text
	.align	2
	.global	partition_size
	.syntax unified
	.arm
	.fpu softvfp
	.type	partition_size, %function
partition_size:
	@ 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, .L71
	ldr	r0, [r3]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #4
	add	r3, r3, #456
	add	r3, r3, #2
	mov	r2, #0
	mov	r1, r3
	bl	lseek
	mov	r2, r0
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #4
	add	r3, r3, #456
	add	r3, r3, #2
	cmp	r2, r3
	beq	.L68
	ldr	r0, .L71+4
	bl	puts
	mvn	r0, #0
	bl	exit
.L68:
	ldr	r3, .L71
	ldr	r3, [r3]
	mov	r2, #4
	ldr	r1, .L71+8
	mov	r0, r3
	bl	read
	mov	r3, r0
	cmp	r3, #0
	bgt	.L69
	ldr	r0, .L71+12
	bl	puts
	mvn	r0, #0
	bl	exit
.L69:
	ldr	r3, .L71+8
	ldr	r3, [r3]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L72:
	.align	2
.L71:
	.word	fd
	.word	.LC20
	.word	buf
	.word	.LC21
	.size	partition_size, .-partition_size
	.align	2
	.global	partition_end
	.syntax unified
	.arm
	.fpu softvfp
	.type	partition_end, %function
partition_end:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #12
	str	r0, [fp, #-16]
	ldr	r0, [fp, #-16]
	bl	partition_size
	mov	r4, r0
	ldr	r0, [fp, #-16]
	bl	partition_start
	mov	r3, r0
	add	r3, r4, r3
	cmp	r3, #0
	bgt	.L74
	mov	r3, #0
	b	.L75
.L74:
	ldr	r0, [fp, #-16]
	bl	partition_size
	mov	r4, r0
	ldr	r0, [fp, #-16]
	bl	partition_start
	mov	r3, r0
	add	r3, r4, r3
	sub	r3, r3, #1
.L75:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
	.size	partition_end, .-partition_end
	.section	.rodata
	.align	2
.LC22:
	.ascii	"\011%10.0fK\012\000"
	.global	__aeabi_ddiv
	.align	2
.LC23:
	.ascii	"\011%10.2fM\012\000"
	.align	2
.LC24:
	.ascii	"\011%10.2fG\012\000"
	.text
	.align	2
	.global	partition_size_KMGT
	.syntax unified
	.arm
	.fpu softvfp
	.type	partition_size_KMGT, %function
partition_size_KMGT:
	@ 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, [fp, #-16]
	bl	partition_size
	mov	r3, r0
	lsr	r2, r3, #31
	add	r3, r2, r3
	asr	r3, r3, #1
	mov	r0, r3
	bl	__aeabi_i2d
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-12]
	str	r3, [fp, #-8]
	mov	r2, #0
	ldr	r3, .L91
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L90
	sub	r3, fp, #12
	ldmia	r3, {r2-r3}
	ldr	r0, .L91+4
	bl	printf
	b	.L76
.L90:
	mov	r2, #0
	ldr	r3, .L91
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpge
	mov	r3, r0
	cmp	r3, #0
	beq	.L80
	mov	r2, #0
	ldr	r3, .L91+8
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L80
	mov	r2, #0
	ldr	r3, .L91
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L91+12
	bl	printf
	b	.L76
.L80:
	mov	r2, #0
	ldr	r3, .L91+8
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpge
	mov	r3, r0
	cmp	r3, #0
	beq	.L76
	mov	r2, #0
	ldr	r3, .L91+16
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L76
	mov	r2, #0
	ldr	r3, .L91+8
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L91+20
	bl	printf
	nop
.L76:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L92:
	.align	2
.L91:
	.word	1083179008
	.word	.LC22
	.word	1093664768
	.word	.LC23
	.word	1104150528
	.word	.LC24
	.size	partition_size_KMGT, .-partition_size_KMGT
	.section	.rodata
	.align	2
.LC25:
	.ascii	"\302\277Que particion activamos? (n\302\272): \000"
	.align	2
.LC26:
	.ascii	"%u\000"
	.align	2
.LC27:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	activacion
	.syntax unified
	.arm
	.fpu softvfp
	.type	activacion, %function
activacion:
	@ 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, .L96
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r0, .L96+4
	bl	printf
	sub	r3, fp, #12
	mov	r1, r3
	ldr	r0, .L96+8
	bl	__isoc99_scanf
	ldr	r3, [fp, #-12]
	mov	r0, r3
	bl	activa_particion
	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	.LC27
	.word	.LC25
	.word	.LC26
	.size	activacion, .-activacion
	.section	.rodata
	.align	2
.LC28:
	.ascii	"\012Error write BOOT_PARTITION\000"
	.align	2
.LC29:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	activa_particion
	.syntax unified
	.arm
	.fpu softvfp
	.type	activa_particion, %function
activa_particion:
	@ 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, .L104
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mvn	r3, #127
	strb	r3, [fp, #-9]
	ldr	r3, .L104+4
	ldr	r0, [r3]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #4
	add	r3, r3, #444
	add	r3, r3, #2
	mov	r2, #0
	mov	r1, r3
	bl	lseek
	mov	r2, r0
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #4
	add	r3, r3, #444
	add	r3, r3, #2
	cmp	r2, r3
	beq	.L99
	ldr	r0, .L104+8
	bl	puts
	mvn	r0, #0
	bl	exit
.L99:
	ldr	r3, .L104+4
	ldr	r3, [r3]
	sub	r1, fp, #9
	mov	r2, #1
	mov	r0, r3
	bl	write
	mov	r3, r0
	cmp	r3, #1
	beq	.L103
	ldr	r0, .L104+12
	bl	puts
	mvn	r0, #0
	bl	exit
.L103:
	nop
	ldr	r3, .L104
	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}
.L105:
	.align	2
.L104:
	.word	.LC29
	.word	fd
	.word	.LC14
	.word	.LC28
	.size	activa_particion, .-activa_particion
	.section	.rodata
	.align	2
.LC30:
	.ascii	"\302\277A qu\303\251 partici\303\263n le cambiamos "
	.ascii	"el tipo? (n\302\272): \000"
	.align	2
.LC31:
	.ascii	"\302\277En qu\303\251 tipo de partici\303\263n la c"
	.ascii	"onvertimos? (n\302\272): \000"
	.align	2
.LC32:
	.ascii	"%x\000"
	.align	2
.LC33:
	.ascii	"\012Error write PARTITION TYPE\000"
	.align	2
.LC34:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	cambia_tipo_particion
	.syntax unified
	.arm
	.fpu softvfp
	.type	cambia_tipo_particion, %function
cambia_tipo_particion:
	@ 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, .L112
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r0, .L112+4
	bl	printf
	sub	r3, fp, #20
	mov	r1, r3
	ldr	r0, .L112+8
	bl	__isoc99_scanf
	mov	r3, #0
	str	r3, [fp, #-16]
	ldr	r3, .L112+12
	ldr	r0, [r3]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #4
	add	r3, r3, #448
	add	r3, r3, #2
	mov	r2, #0
	mov	r1, r3
	bl	lseek
	mov	r2, r0
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #4
	add	r3, r3, #448
	add	r3, r3, #2
	cmp	r2, r3
	beq	.L107
	ldr	r0, .L112+16
	bl	puts
	mvn	r0, #0
	bl	exit
.L107:
	ldr	r0, .L112+20
	bl	printf
	sub	r3, fp, #16
	mov	r1, r3
	ldr	r0, .L112+24
	bl	__isoc99_scanf
	ldr	r3, .L112+12
	ldr	r3, [r3]
	sub	r1, fp, #16
	mov	r2, #4
	mov	r0, r3
	bl	write
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #3
	bhi	.L111
	ldr	r0, .L112+28
	bl	puts
	mvn	r0, #0
	bl	exit
.L111:
	nop
	ldr	r3, .L112
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L110
	bl	__stack_chk_fail
.L110:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L113:
	.align	2
.L112:
	.word	.LC34
	.word	.LC30
	.word	.LC26
	.word	fd
	.word	.LC16
	.word	.LC31
	.word	.LC32
	.word	.LC33
	.size	cambia_tipo_particion, .-cambia_tipo_particion
	.section	.rodata
	.align	2
.LC35:
	.ascii	"Que partici\303\263n borramos? (n\302\272): \000"
	.align	2
.LC36:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	elimina_particion
	.syntax unified
	.arm
	.fpu softvfp
	.type	elimina_particion, %function
elimina_particion:
	@ 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, .L117
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r0, .L117+4
	bl	printf
	sub	r3, fp, #12
	mov	r1, r3
	ldr	r0, .L117+8
	bl	__isoc99_scanf
	ldr	r3, [fp, #-12]
	mov	r0, r3
	bl	borra_particion
	nop
	ldr	r3, .L117
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L116
	bl	__stack_chk_fail
.L116:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L118:
	.align	2
.L117:
	.word	.LC36
	.word	.LC35
	.word	.LC26
	.size	elimina_particion, .-elimina_particion
	.section	.rodata
	.align	2
.LC37:
	.ascii	"N\303\272mero de particion invalido\000"
	.align	2
.LC38:
	.ascii	"\012Error write PARTITION\000"
	.align	2
.LC39:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	borra_particion
	.syntax unified
	.arm
	.fpu softvfp
	.type	borra_particion, %function
borra_particion:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-32]
	ldr	r3, .L126
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #24
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2]
	str	r3, [r2, #4]
	str	r3, [r2, #8]
	str	r3, [r2, #12]
	ldr	r3, [fp, #-32]
	cmp	r3, #3
	bls	.L120
	ldr	r0, .L126+4
	bl	puts
	bl	procesar_comandos
.L120:
	ldr	r3, .L126+8
	ldr	r0, [r3]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #4
	add	r3, r3, #444
	add	r3, r3, #2
	mov	r2, #0
	mov	r1, r3
	bl	lseek
	mov	r2, r0
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #4
	add	r3, r3, #444
	add	r3, r3, #2
	cmp	r2, r3
	beq	.L121
	ldr	r0, .L126+12
	bl	puts
	mvn	r0, #0
	bl	exit
.L121:
	ldr	r3, .L126+8
	ldr	r3, [r3]
	sub	r1, fp, #24
	mov	r2, #16
	mov	r0, r3
	bl	write
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-28]
	cmp	r3, #15
	bhi	.L125
	ldr	r0, .L126+16
	bl	puts
	mvn	r0, #0
	bl	exit
.L125:
	nop
	ldr	r3, .L126
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L124
	bl	__stack_chk_fail
.L124:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L127:
	.align	2
.L126:
	.word	.LC39
	.word	.LC37
	.word	fd
	.word	.LC18
	.word	.LC38
	.size	borra_particion, .-borra_particion
	.section	.rodata
	.align	2
.LC40:
	.ascii	"\012Error read PARTITION_TYPE\000"
	.align	2
.LC41:
	.ascii	"Se puede agregar particion %u\012\000"
	.align	2
.LC42:
	.ascii	"Numero de particion a agregar?: \000"
	.align	2
.LC43:
	.ascii	"%d\000"
	.align	2
.LC44:
	.ascii	"\012EL numero ingresado es incorrecto\000"
	.align	2
.LC45:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	agregar_particion
	.syntax unified
	.arm
	.fpu softvfp
	.type	agregar_particion, %function
agregar_particion:
	@ 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, .L140
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L129
.L133:
	ldr	r3, .L140+4
	ldr	r0, [r3]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #4
	add	r3, r3, #448
	add	r3, r3, #2
	mov	r2, #0
	mov	r1, r3
	bl	lseek
	mov	r2, r0
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #4
	add	r3, r3, #448
	add	r3, r3, #2
	cmp	r2, r3
	beq	.L130
	ldr	r0, .L140+8
	bl	puts
	mvn	r0, #0
	bl	exit
.L130:
	ldr	r3, .L140+4
	ldr	r3, [r3]
	mov	r2, #4
	ldr	r1, .L140+12
	mov	r0, r3
	bl	read
	mov	r3, r0
	cmp	r3, #0
	bgt	.L131
	ldr	r0, .L140+16
	bl	puts
	mvn	r0, #0
	bl	exit
.L131:
	ldr	r3, .L140+12
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L132
	ldr	r3, [fp, #-16]
	mov	r1, r3
	ldr	r0, .L140+20
	bl	printf
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-16]
	and	r2, r2, #255
	sub	r1, fp, #4
	add	r3, r1, r3
	strb	r2, [r3, #-8]
.L132:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L129:
	ldr	r3, [fp, #-16]
	cmp	r3, #3
	bls	.L133
	ldr	r0, .L140+24
	bl	printf
	sub	r3, fp, #16
	mov	r1, r3
	ldr	r0, .L140+28
	bl	__isoc99_scanf
	ldr	r3, [fp, #-16]
	sub	r2, fp, #4
	add	r3, r2, r3
	ldrb	r3, [r3, #-8]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	bne	.L134
	ldr	r3, [fp, #-16]
	cmp	r3, #3
	bls	.L135
.L134:
	ldr	r0, .L140+32
	bl	puts
	b	.L128
.L135:
	ldr	r3, [fp, #-16]
	mov	r0, r3
	bl	partition_type_write
	ldr	r3, [fp, #-16]
	mov	r0, r3
	bl	partition_start_write
	ldr	r3, [fp, #-16]
	mov	r0, r3
	bl	partition_end_write
	bl	verifica_tamano_particiones
	mov	r3, r0
	cmn	r3, #1
	bne	.L137
	ldr	r3, [fp, #-16]
	mov	r0, r3
	bl	borra_particion
.L137:
	bl	procesar_comandos
	nop
.L128:
	ldr	r3, .L140
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L139
	bl	__stack_chk_fail
.L139:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L141:
	.align	2
.L140:
	.word	.LC45
	.word	fd
	.word	.LC16
	.word	buf
	.word	.LC40
	.word	.LC41
	.word	.LC42
	.word	.LC43
	.word	.LC44
	.size	agregar_particion, .-agregar_particion
	.section	.rodata
	.align	2
.LC46:
	.ascii	"Ingrese tipo de partici\303\263n (n\302\272)(L para"
	.ascii	" ver tipos): \000"
	.align	2
.LC47:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	partition_type_write
	.syntax unified
	.arm
	.fpu softvfp
	.type	partition_type_write, %function
partition_type_write:
	@ 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, .L149
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L149+4
	ldr	r0, [r3]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #4
	add	r3, r3, #448
	add	r3, r3, #2
	mov	r2, #0
	mov	r1, r3
	bl	lseek
	mov	r2, r0
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #4
	add	r3, r3, #448
	add	r3, r3, #2
	cmp	r2, r3
	beq	.L143
	ldr	r0, .L149+8
	bl	puts
	mvn	r0, #0
	bl	exit
.L143:
	ldr	r0, .L149+12
	bl	printf
	sub	r3, fp, #16
	mov	r1, r3
	ldr	r0, .L149+16
	bl	__isoc99_scanf
	mov	r3, r0
	cmp	r3, #0
	bne	.L144
	bl	procesar_comandos
.L144:
	ldr	r3, .L149+4
	ldr	r3, [r3]
	sub	r1, fp, #16
	mov	r2, #4
	mov	r0, r3
	bl	write
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #3
	bhi	.L148
	ldr	r0, .L149+20
	bl	puts
	mvn	r0, #0
	bl	exit
.L148:
	nop
	ldr	r3, .L149
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L147
	bl	__stack_chk_fail
.L147:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L150:
	.align	2
.L149:
	.word	.LC47
	.word	fd
	.word	.LC16
	.word	.LC46
	.word	.LC32
	.word	.LC33
	.size	partition_type_write, .-partition_type_write
	.section	.rodata
	.align	2
.LC48:
	.ascii	"Desde sector: \000"
	.align	2
.LC49:
	.ascii	"%ld\000"
	.align	2
.LC50:
	.ascii	"ERROR: sector fuera de rango\000"
	.align	2
.LC51:
	.ascii	"\012Error read PARTITION START WRITE\000"
	.align	2
.LC52:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	partition_start_write
	.syntax unified
	.arm
	.fpu softvfp
	.type	partition_start_write, %function
partition_start_write:
	@ 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, .L160
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r0, .L160+4
	bl	printf
	sub	r3, fp, #16
	mov	r1, r3
	ldr	r0, .L160+8
	bl	__isoc99_scanf
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L152
.L154:
	ldr	r0, [fp, #-12]
	bl	partition_start
	mov	r2, r0
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	bgt	.L153
	ldr	r0, [fp, #-12]
	bl	partition_end
	mov	r2, r0
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	blt	.L153
	ldr	r0, .L160+12
	bl	puts
	ldr	r0, [fp, #-24]
	bl	borra_particion
	bl	procesar_comandos
.L153:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L152:
	ldr	r3, [fp, #-12]
	cmp	r3, #3
	bls	.L154
	ldr	r3, .L160+16
	ldr	r0, [r3]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #4
	add	r3, r3, #452
	add	r3, r3, #2
	mov	r2, #0
	mov	r1, r3
	bl	lseek
	mov	r2, r0
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #4
	add	r3, r3, #452
	add	r3, r3, #2
	cmp	r2, r3
	beq	.L155
	ldr	r0, .L160+20
	bl	puts
	mvn	r0, #0
	bl	exit
.L155:
	ldr	r3, .L160+16
	ldr	r3, [r3]
	sub	r1, fp, #16
	mov	r2, #4
	mov	r0, r3
	bl	write
	mov	r3, r0
	cmp	r3, #0
	bgt	.L159
	ldr	r0, .L160+24
	bl	puts
	mvn	r0, #0
	bl	exit
.L159:
	nop
	ldr	r3, .L160
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L158
	bl	__stack_chk_fail
.L158:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L161:
	.align	2
.L160:
	.word	.LC52
	.word	.LC48
	.word	.LC49
	.word	.LC50
	.word	fd
	.word	.LC18
	.word	.LC51
	.size	partition_start_write, .-partition_start_write
	.section	.rodata
	.align	2
.LC53:
	.ascii	"Hasta sector: \000"
	.align	2
.LC54:
	.ascii	"ERROR: el ultimo sector del dispositivo es %ld\012\000"
	.align	2
.LC55:
	.ascii	"\012Error lseek PARTITION SIZE WRITE\000"
	.align	2
.LC56:
	.ascii	"\012Error write PARTITION END WRITE\000"
	.align	2
.LC57:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	partition_end_write
	.syntax unified
	.arm
	.fpu softvfp
	.type	partition_end_write, %function
partition_end_write:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #44
	str	r0, [fp, #-48]
	ldr	r3, .L175
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	ldr	r3, .L175+4
	ldr	r3, [r3]
	mov	r2, #0
	mov	r1, #0
	mov	r0, r3
	bl	lseek
	str	r0, [fp, #-28]
	ldr	r3, .L175+4
	ldr	r3, [r3]
	mov	r2, #2
	mov	r1, #0
	mov	r0, r3
	bl	lseek
	str	r0, [fp, #-24]
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-28]
	sub	r3, r2, r3
	add	r2, r3, #508
	add	r2, r2, #3
	cmp	r3, #0
	movlt	r3, r2
	movge	r3, r3
	asr	r3, r3, #9
	str	r3, [fp, #-20]
	ldr	r0, .L175+8
	bl	printf
	sub	r3, fp, #36
	mov	r1, r3
	ldr	r0, .L175+12
	bl	__isoc99_scanf
	ldr	r4, [fp, #-36]
	ldr	r0, [fp, #-48]
	bl	partition_start
	mov	r3, r0
	sub	r3, r4, r3
	add	r3, r3, #1
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	blt	.L163
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	bge	.L164
.L163:
	ldr	r1, [fp, #-20]
	ldr	r0, .L175+16
	bl	printf
	ldr	r0, [fp, #-48]
	bl	borra_particion
	bl	procesar_comandos
.L164:
	mov	r3, #0
	str	r3, [fp, #-32]
	b	.L165
.L169:
	ldr	r0, [fp, #-32]
	bl	partition_start
	mov	r2, r0
	ldr	r3, [fp, #-40]
	cmp	r2, r3
	bgt	.L166
	ldr	r0, [fp, #-32]
	bl	partition_end
	mov	r2, r0
	ldr	r3, [fp, #-40]
	cmp	r2, r3
	bge	.L167
.L166:
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	bge	.L168
.L167:
	ldr	r0, .L175+20
	bl	puts
	bl	procesar_comandos
	mvn	r0, #0
	bl	exit
.L168:
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L165:
	ldr	r3, [fp, #-32]
	cmp	r3, #3
	bls	.L169
	ldr	r3, .L175+4
	ldr	r0, [r3]
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #4
	add	r3, r3, #456
	add	r3, r3, #2
	mov	r2, #0
	mov	r1, r3
	bl	lseek
	mov	r2, r0
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #4
	add	r3, r3, #456
	add	r3, r3, #2
	cmp	r2, r3
	beq	.L170
	ldr	r0, .L175+24
	bl	puts
	mvn	r0, #0
	bl	exit
.L170:
	ldr	r3, .L175+4
	ldr	r3, [r3]
	sub	r1, fp, #40
	mov	r2, #4
	mov	r0, r3
	bl	write
	mov	r3, r0
	cmp	r3, #0
	bgt	.L174
	ldr	r0, .L175+28
	bl	puts
	mvn	r0, #0
	bl	exit
.L174:
	nop
	ldr	r3, .L175
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L173
	bl	__stack_chk_fail
.L173:
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L176:
	.align	2
.L175:
	.word	.LC57
	.word	fd
	.word	.LC53
	.word	.LC49
	.word	.LC54
	.word	.LC50
	.word	.LC55
	.word	.LC56
	.size	partition_end_write, .-partition_end_write
	.section	.rodata
	.align	2
.LC58:
	.ascii	"\012Error lseek VERIFICA TAMANO PARTICIONES\000"
	.align	2
.LC59:
	.ascii	"\012Error read VERIFICA TAMANO PARTICIONES\000"
	.align	2
.LC60:
	.ascii	"ADVERTENCIA: No hay lugar para mas particiones\000"
	.align	2
.LC61:
	.ascii	"ERROR: PARTICION DEMASIADO GRANDE\012La suma de los"
	.ascii	" tamanos de las particiones supera al tamano del di"
	.ascii	"spositivo\000"
	.text
	.align	2
	.global	verifica_tamano_particiones
	.syntax unified
	.arm
	.fpu softvfp
	.type	verifica_tamano_particiones, %function
verifica_tamano_particiones:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	ldr	r3, .L185
	ldr	r3, [r3]
	mov	r2, #0
	mov	r1, #0
	mov	r0, r3
	bl	lseek
	str	r0, [fp, #-16]
	ldr	r3, .L185
	ldr	r3, [r3]
	mov	r2, #2
	mov	r1, #0
	mov	r0, r3
	bl	lseek
	str	r0, [fp, #-12]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-16]
	sub	r3, r2, r3
	str	r3, [fp, #-8]
	mov	r3, #0
	str	r3, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L178
.L181:
	ldr	r3, .L185
	ldr	r0, [r3]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #4
	add	r3, r3, #456
	add	r3, r3, #2
	mov	r2, #0
	mov	r1, r3
	bl	lseek
	mov	r2, r0
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #4
	add	r3, r3, #456
	add	r3, r3, #2
	cmp	r2, r3
	beq	.L179
	ldr	r0, .L185+4
	bl	puts
	mvn	r0, #0
	bl	exit
.L179:
	ldr	r3, .L185
	ldr	r3, [r3]
	mov	r2, #4
	ldr	r1, .L185+8
	mov	r0, r3
	bl	read
	mov	r3, r0
	cmp	r3, #0
	bgt	.L180
	ldr	r0, .L185+12
	bl	puts
	mvn	r0, #0
	bl	exit
.L180:
	ldr	r3, .L185+8
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L178:
	ldr	r3, [fp, #-24]
	cmp	r3, #3
	bls	.L181
	ldr	r3, [fp, #-8]
	add	r2, r3, #508
	add	r2, r2, #3
	cmp	r3, #0
	movlt	r3, r2
	movge	r3, r3
	asr	r3, r3, #9
	mov	r2, r3
	ldr	r3, [fp, #-20]
	cmp	r3, r2
	bne	.L182
	ldr	r0, .L185+16
	bl	puts
	b	.L183
.L182:
	ldr	r3, [fp, #-8]
	add	r2, r3, #508
	add	r2, r2, #3
	cmp	r3, #0
	movlt	r3, r2
	movge	r3, r3
	asr	r3, r3, #9
	mov	r2, r3
	ldr	r3, [fp, #-20]
	cmp	r3, r2
	ble	.L183
	ldr	r0, .L185+20
	bl	puts
	mvn	r3, #0
	b	.L184
.L183:
	mov	r3, #0
.L184:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L186:
	.align	2
.L185:
	.word	fd
	.word	.LC58
	.word	buf
	.word	.LC59
	.word	.LC60
	.word	.LC61
	.size	verifica_tamano_particiones, .-verifica_tamano_particiones
	.section	.rodata
	.align	2
.LC62:
	.ascii	"particion\011\011id\011tipo\011\011      inicio\011"
	.ascii	"      fin\011\011 tama\303\261o\011\011  Capacidad\000"
	.align	2
.LC63:
	.ascii	"%s%d\011\011%2x\011\000"
	.align	2
.LC64:
	.ascii	"%12ld %12ld\011   %12ld\011\000"
	.align	2
.LC65:
	.ascii	"\012(incio, fin y tama\303\261o de la partici\303\263"
	.ascii	"n expresados en sectores\000"
	.align	2
.LC66:
	.ascii	" Capacidad expresado en m\303\272ltiplos de byte)\000"
	.text
	.align	2
	.global	mostrar_tabla
	.syntax unified
	.arm
	.fpu softvfp
	.type	mostrar_tabla, %function
mostrar_tabla:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #8
	ldr	r0, .L192
	bl	puts
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L188
.L190:
	ldr	r3, [fp, #-16]
	mov	r0, r3
	bl	partition_number
	mov	r3, r0
	cmp	r3, #0
	beq	.L189
	ldr	r3, .L192+4
	ldr	r3, [r3]
	add	r3, r3, #4
	ldr	r4, [r3]
	ldr	r3, [fp, #-16]
	mov	r0, r3
	bl	partition_number
	mov	r3, r0
	ldr	r2, [fp, #-16]
	mov	r1, r4
	ldr	r0, .L192+8
	bl	printf
	ldr	r3, [fp, #-16]
	mov	r0, r3
	bl	partition_number
	mov	r3, r0
	mov	r0, r3
	bl	nombre_particion
	ldr	r3, [fp, #-16]
	mov	r0, r3
	bl	partition_start
	mov	r4, r0
	ldr	r3, [fp, #-16]
	mov	r0, r3
	bl	partition_end
	mov	r5, r0
	ldr	r3, [fp, #-16]
	mov	r0, r3
	bl	partition_size
	mov	r3, r0
	mov	r2, r5
	mov	r1, r4
	ldr	r0, .L192+12
	bl	printf
	ldr	r3, [fp, #-16]
	mov	r0, r3
	bl	partition_size_KMGT
.L189:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L188:
	ldr	r3, [fp, #-16]
	cmp	r3, #3
	ble	.L190
	ldr	r0, .L192+16
	bl	puts
	ldr	r0, .L192+20
	bl	puts
	bl	verifica_tamano_particiones
	nop
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L193:
	.align	2
.L192:
	.word	.LC62
	.word	argv_globl
	.word	.LC63
	.word	.LC64
	.word	.LC65
	.word	.LC66
	.size	mostrar_tabla, .-mostrar_tabla
	.section	.rodata
	.align	2
.LC67:
	.ascii	"\012Ingresar comando (h para menu de ayuda): \000"
	.align	2
.LC68:
	.ascii	"%s\000"
	.align	2
.LC69:
	.ascii	"d\000"
	.align	2
.LC70:
	.ascii	"n\000"
	.align	2
.LC71:
	.ascii	"p\000"
	.align	2
.LC72:
	.ascii	"h\000"
	.align	2
.LC73:
	.ascii	"l\000"
	.align	2
.LC74:
	.ascii	"t\000"
	.align	2
.LC75:
	.ascii	"L\000"
	.align	2
.LC76:
	.ascii	"a\000"
	.align	2
.LC77:
	.ascii	"A\000"
	.align	2
.LC78:
	.ascii	"w\000"
	.align	2
.LC79:
	.ascii	"CUIDADO: SE BORRARA LA TABLA DE PARTICIONES\012 Y S"
	.ascii	"E ESCRIBIRA NUEVAMENTE LA FIRMA DE DISPOSITIVO\000"
	.align	2
.LC80:
	.ascii	"Confirme pulsando nuevamente \"w\": \000"
	.align	2
.LC81:
	.ascii	"q\000"
	.align	2
.LC82:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	procesar_comandos
	.syntax unified
	.arm
	.fpu softvfp
	.type	procesar_comandos, %function
procesar_comandos:
	@ 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, .L207
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-20]
	sub	r3, fp, #16
	mov	r2, #0
	str	r2, [r3]
	strh	r2, [r3, #4]	@ movhi
	b	.L195
.L205:
	ldr	r0, .L207+4
	bl	printf
	sub	r3, fp, #20
	mov	r1, r3
	ldr	r0, .L207+8
	bl	__isoc99_scanf
	mov	r0, #10
	bl	putchar
	sub	r3, fp, #20
	ldr	r1, .L207+12
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L196
	bl	elimina_particion
	b	.L195
.L196:
	sub	r3, fp, #20
	ldr	r1, .L207+16
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L197
	bl	agregar_particion
	b	.L195
.L197:
	sub	r3, fp, #20
	ldr	r1, .L207+20
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L198
	bl	mostrar_tabla
	b	.L195
.L198:
	sub	r3, fp, #20
	ldr	r1, .L207+24
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L199
	bl	mostrar_ayuda
	b	.L195
.L199:
	sub	r3, fp, #20
	ldr	r1, .L207+28
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L200
	bl	cambia_tipo_particion
	b	.L195
.L200:
	sub	r3, fp, #20
	ldr	r1, .L207+32
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L201
	bl	tamano_dispositivo
	b	.L195
.L201:
	sub	r3, fp, #20
	ldr	r1, .L207+36
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L202
	bl	imprime_lista_nombres
	b	.L195
.L202:
	sub	r3, fp, #20
	ldr	r1, .L207+40
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L203
	bl	lee_particion_activa
	b	.L195
.L203:
	sub	r3, fp, #20
	ldr	r1, .L207+44
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L204
	bl	activacion
	b	.L195
.L204:
	sub	r3, fp, #20
	ldr	r1, .L207+48
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L195
	ldr	r0, .L207+52
	bl	puts
	ldr	r0, .L207+56
	bl	printf
	sub	r3, fp, #20
	mov	r1, r3
	ldr	r0, .L207+8
	bl	__isoc99_scanf
	sub	r3, fp, #20
	ldr	r1, .L207+48
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L195
	bl	arregla_dispositivo
.L195:
	sub	r3, fp, #20
	ldr	r1, .L207+60
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L205
	mvn	r0, #0
	bl	exit
.L208:
	.align	2
.L207:
	.word	.LC82
	.word	.LC67
	.word	.LC68
	.word	.LC69
	.word	.LC70
	.word	.LC71
	.word	.LC72
	.word	.LC73
	.word	.LC74
	.word	.LC75
	.word	.LC76
	.word	.LC77
	.word	.LC78
	.word	.LC79
	.word	.LC80
	.word	.LC81
	.size	procesar_comandos, .-procesar_comandos
	.section	.rodata
	.align	2
.LC83:
	.ascii	"Uso: ./mi_fdisk dispositivo\000"
	.align	2
.LC84:
	.ascii	"\012Error al intentar abrir archivo %s\012\000"
	.align	2
.LC85:
	.ascii	"%s no es un dispositivo\012\000"
	.align	2
.LC86:
	.ascii	"Comando \"w\" arregla dispositivo/CUIDADO: BORRA TO"
	.ascii	"DOS LOS DATOS\000"
	.align	2
.LC87:
	.ascii	"Dispositivo: %s\012file descriptor %d\012\000"
	.align	2
.LC88:
	.ascii	"Cantidad total de sectores: %ld\012\000"
	.text
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #20
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	ldr	r3, [fp, #-24]
	cmp	r3, #2
	beq	.L210
	ldr	r0, .L214
	bl	puts
	mvn	r0, #0
	bl	exit
.L210:
	ldr	r2, .L214+4
	ldr	r3, [fp, #-28]
	str	r3, [r2]
	ldr	r3, [fp, #-28]
	add	r3, r3, #4
	ldr	r3, [r3]
	mov	r2, #0
	mov	r1, #2
	mov	r0, r3
	bl	open
	mov	r3, r0
	ldr	r2, .L214+8
	str	r3, [r2]
	ldr	r3, .L214+8
	ldr	r3, [r3]
	cmp	r3, #0
	bge	.L211
	ldr	r3, [fp, #-28]
	add	r3, r3, #4
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L214+12
	bl	printf
	mvn	r0, #0
	bl	exit
.L211:
	bl	validity_check
	mov	r3, r0
	cmp	r3, #0
	beq	.L212
	ldr	r3, [fp, #-28]
	add	r3, r3, #4
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L214+16
	bl	printf
	ldr	r0, .L214+20
	bl	puts
	bl	procesar_comandos
.L212:
	ldr	r3, [fp, #-28]
	add	r3, r3, #4
	ldr	r3, [r3]
	ldr	r2, .L214+8
	ldr	r2, [r2]
	mov	r1, r3
	ldr	r0, .L214+24
	bl	printf
	bl	tamano_dispositivo
	ldr	r3, .L214+8
	ldr	r3, [r3]
	mov	r2, #2
	mov	r1, #0
	mov	r0, r3
	bl	lseek
	mov	r4, r0
	ldr	r3, .L214+8
	ldr	r3, [r3]
	mov	r2, #0
	mov	r1, #0
	mov	r0, r3
	bl	lseek
	mov	r3, r0
	sub	r3, r4, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	add	r2, r3, #508
	add	r2, r2, #3
	cmp	r3, #0
	movlt	r3, r2
	movge	r3, r3
	asr	r3, r3, #9
	mov	r1, r3
	ldr	r0, .L214+28
	bl	printf
	bl	procesar_comandos
	ldr	r3, .L214+8
	ldr	r3, [r3]
	mov	r0, r3
	bl	close
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L215:
	.align	2
.L214:
	.word	.LC83
	.word	argv_globl
	.word	fd
	.word	.LC84
	.word	.LC85
	.word	.LC86
	.word	.LC87
	.word	.LC88
	.size	main, .-main
	.section	.rodata
	.align	2
.LC89:
	.ascii	"h  :    muestra men\303\272 ayuda\000"
	.align	2
.LC90:
	.ascii	"n  :    agregar partici\303\263n\000"
	.align	2
.LC91:
	.ascii	"w  :    arregla dispositivo\000"
	.align	2
.LC92:
	.ascii	"p  :    muestra tabla de particiones\000"
	.align	2
.LC93:
	.ascii	"d  :    borra partici\303\263n\000"
	.align	2
.LC94:
	.ascii	"l  :    cambia tipo de partici\303\263n\000"
	.align	2
.LC95:
	.ascii	"L  :    lista de tipos de  particiones\000"
	.align	2
.LC96:
	.ascii	"t  :    muestra tama\303\261o total dispositivo\000"
	.align	2
.LC97:
	.ascii	"a  :    muestra particion activa\000"
	.align	2
.LC98:
	.ascii	"A  :    hace particion activa\000"
	.align	2
.LC99:
	.ascii	"q  :    sale\012\000"
	.text
	.align	2
	.global	mostrar_ayuda
	.syntax unified
	.arm
	.fpu softvfp
	.type	mostrar_ayuda, %function
mostrar_ayuda:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r0, .L218
	bl	puts
	ldr	r0, .L218+4
	bl	puts
	ldr	r0, .L218+8
	bl	puts
	ldr	r0, .L218+12
	bl	puts
	ldr	r0, .L218+16
	bl	puts
	ldr	r0, .L218+20
	bl	puts
	ldr	r0, .L218+24
	bl	puts
	ldr	r0, .L218+28
	bl	puts
	ldr	r0, .L218+32
	bl	puts
	ldr	r0, .L218+36
	bl	puts
	ldr	r0, .L218+40
	bl	puts
	nop
	pop	{fp, pc}
.L219:
	.align	2
.L218:
	.word	.LC89
	.word	.LC90
	.word	.LC91
	.word	.LC92
	.word	.LC93
	.word	.LC94
	.word	.LC95
	.word	.LC96
	.word	.LC97
	.word	.LC98
	.word	.LC99
	.size	mostrar_ayuda, .-mostrar_ayuda
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
