// File: jespinosa94[P]PED16/lib/tlistaporo.cpp
// Function: TListaPoro::ExtraerRango(int, int)
TListaPoro TListaPoro::ExtraerRango(int n1, int n2) {
	TListaPoro nuevaLista;
	TPoro aux;

	if(n1>n2)
		return nuevaLista;
	else if(n1==n2)
	{
		aux = ObtenerPoro(n1);
		nuevaLista.Insertar(aux);
	}
	else
	{
		if(n1<=0)
			n1 = 1;
		if(n2>Longitud())
			n2 = Longitud();
		for(int i=n1; i<=n2; i++)
		{
			aux = ObtenerPoro(i);
			nuevaLista.Insertar(aux);
		}
	}
	/*
	 * No me deja utilizar el operador - dentro de un módulo de la clase
	 */
	TListaPosicion posLista = nuevaLista.Primera();
	while(!posLista.EsVacia())
	{
		(*this).Borrar(posLista.pos->e);
		posLista = posLista.Siguiente();
	}

	return nuevaLista;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xc0, %rsp
movq %rdi, -0xa8(%rbp)
movq %rdi, %rax
movq %rax, -0xa0(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
movl %ecx, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x98(%rbp)
movb $0x0, -0x19(%rbp)
callq 0x6680
leaq -0x38(%rbp), %rdi
callq 0x4e50
jmp 0x77a9
movl -0x14(%rbp), %eax
cmpl -0x18(%rbp), %eax
jle 0x77d2
movb $0x1, -0x19(%rbp)
movl $0x1, -0x48(%rbp)
jmp 0x79bf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x79f7
movl -0x14(%rbp), %eax
cmpl -0x18(%rbp), %eax
jne 0x7849
movq -0x98(%rbp), %rsi
movl -0x14(%rbp), %edx
leaq -0x60(%rbp), %rdi
callq 0x76b0
jmp 0x77ef
leaq -0x38(%rbp), %rdi
leaq -0x60(%rbp), %rsi
callq 0x5150
jmp 0x77fe
leaq -0x60(%rbp), %rdi
callq 0x50e0
movq -0xa8(%rbp), %rdi
leaq -0x38(%rbp), %rsi
callq 0x67f0
jmp 0x7819
jmp 0x7916
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x79d0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x60(%rbp), %rdi
callq 0x50e0
jmp 0x79d0
cmpl $0x0, -0x14(%rbp)
jg 0x7856
movl $0x1, -0x14(%rbp)
movq -0x98(%rbp), %rdi
movl -0x18(%rbp), %eax
movl %eax, -0xb0(%rbp)
callq 0x73b0
movl %eax, -0xac(%rbp)
jmp 0x7873
movl -0xb0(%rbp), %eax
movl -0xac(%rbp), %ecx
cmpl %ecx, %eax
jle 0x78a0
movq -0x98(%rbp), %rdi
callq 0x73b0
movl %eax, -0xb4(%rbp)
jmp 0x7897
movl -0xb4(%rbp), %eax
movl %eax, -0x18(%rbp)
movl -0x14(%rbp), %eax
movl %eax, -0x64(%rbp)
movl -0x64(%rbp), %eax
cmpl -0x18(%rbp), %eax
jg 0x7914
movq -0x98(%rbp), %rsi
movl -0x64(%rbp), %edx
leaq -0x80(%rbp), %rdi
callq 0x76b0
jmp 0x78c3
leaq -0x38(%rbp), %rdi
leaq -0x80(%rbp), %rsi
callq 0x5150
jmp 0x78d2
leaq -0x80(%rbp), %rdi
callq 0x50e0
movq -0xa8(%rbp), %rdi
leaq -0x38(%rbp), %rsi
callq 0x67f0
jmp 0x78ed
jmp 0x78ef
movl -0x64(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x64(%rbp)
jmp 0x78a6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x80(%rbp), %rdi
callq 0x50e0
jmp 0x79d0
jmp 0x7916
jmp 0x7918
movq -0xa8(%rbp), %rsi
leaq -0x88(%rbp), %rdi
callq 0x6780
jmp 0x792d
jmp 0x792f
leaq -0x88(%rbp), %rdi
callq 0x6660
xorb $-0x1, %al
testb $0x1, %al
jne 0x7943
jmp 0x79a8
movq -0x98(%rbp), %rdi
movq -0x88(%rbp), %rsi
callq 0x6dd0
jmp 0x7958
leaq -0x90(%rbp), %rdi
leaq -0x88(%rbp), %rsi
callq 0x65f0
jmp 0x796d
leaq -0x88(%rbp), %rdi
leaq -0x90(%rbp), %rsi
callq 0x6520
leaq -0x90(%rbp), %rdi
callq 0x64f0
jmp 0x792f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x88(%rbp), %rdi
callq 0x64f0
jmp 0x79d0
movb $0x1, -0x19(%rbp)
movl $0x1, -0x48(%rbp)
leaq -0x88(%rbp), %rdi
callq 0x64f0
leaq -0x38(%rbp), %rdi
callq 0x50e0
testb $0x1, -0x19(%rbp)
jne 0x79e7
jmp 0x79db
leaq -0x38(%rbp), %rdi
callq 0x50e0
jmp 0x79f7
movq -0xa8(%rbp), %rdi
callq 0x68d0
movq -0xa0(%rbp), %rax
addq $0xc0, %rsp
popq %rbp
retq
movq -0xa8(%rbp), %rdi
callq 0x68d0
movq -0x40(%rbp), %rdi
callq 0x1180
nopl (%rax)