// File: jespinosa94[P]PED16/lib/tvectorporo.cpp
// Function: TVectorPoro::Redimensionar(int)
bool TVectorPoro::Redimensionar(const int newSize) {
	if(newSize<=0 || dimension==newSize)
		return false;
	else if(dimension<newSize)
	{
		TVectorPoro aux;
		aux.dimension = newSize;
		aux.datos = new TPoro[aux.dimension];
		for(int i=0; i<dimension; i++)
			aux.datos[i] = datos[i];
		(*this).~TVectorPoro();
		(*this) = aux;
	}
	/*
	 *la nueva longitud es menor que la actual y se eliminan los elementos de la derecha
	 */
	else
	{
		TVectorPoro aux;
		aux.dimension = newSize;
		aux.datos = new TPoro[aux.dimension];
		for(int i=0; i<newSize; i++)
			aux.datos[i] = datos[i];
		(*this).~TVectorPoro();
		(*this) = aux;
	}
	return true;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x120, %rsp            # imm = 0x120
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x88(%rbp)
cmpl $0x0, -0x14(%rbp)
jle 0x5e01
movq -0x88(%rbp), %rax
movl (%rax), %eax
cmpl -0x14(%rbp), %eax
jne 0x5e0a
movb $0x0, -0x1(%rbp)
jmp 0x61cc
movq -0x88(%rbp), %rax
movl (%rax), %eax
cmpl -0x14(%rbp), %eax
jge 0x5ff7
leaq -0x40(%rbp), %rdi
callq 0x5620
movl -0x14(%rbp), %eax
movl %eax, -0x40(%rbp)
movslq -0x40(%rbp), %rax
movq %rax, -0xa0(%rbp)
movl $0x18, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
addq $0x8, %rdi
movq $-0x1, %rax
cmovbq %rax, %rdi
testb %cl, %cl
cmovneq %rax, %rdi
movq %rdi, -0x98(%rbp)
callq 0x1030
movq %rax, -0x90(%rbp)
jmp 0x5e6e
movq -0xa0(%rbp), %rax
movq -0x90(%rbp), %rcx
movq %rax, (%rcx)
addq $0x8, %rcx
movq %rcx, -0xa8(%rbp)
cmpq $0x0, %rax
je 0x5ee9
movq -0xa8(%rbp), %rax
movq -0xa0(%rbp), %rcx
imulq $0x18, %rcx, %rdx
movq %rax, %rcx
addq %rdx, %rcx
movq %rcx, -0xb8(%rbp)
movq %rax, -0xb0(%rbp)
movq -0xb0(%rbp), %rdi
movq %rdi, -0xc0(%rbp)
callq 0x4e50
jmp 0x5ecb
movq -0xb8(%rbp), %rcx
movq -0xc0(%rbp), %rax
addq $0x18, %rax
cmpq %rcx, %rax
movq %rax, -0xb0(%rbp)
jne 0x5eb6
movq -0xa8(%rbp), %rax
movq %rax, -0x38(%rbp)
movl $0x0, -0x50(%rbp)
movq -0x88(%rbp), %rcx
movl -0x50(%rbp), %eax
cmpl (%rcx), %eax
jge 0x5fbd
movq -0x88(%rbp), %rax
movq 0x8(%rax), %rsi
movslq -0x50(%rbp), %rax
shlq $0x3, %rax
leaq (%rax,%rax,2), %rax
addq %rax, %rsi
movq -0x38(%rbp), %rdi
addq %rax, %rdi
callq 0x5150
jmp 0x5f35
jmp 0x5f37
movl -0x50(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x50(%rbp)
jmp 0x5efb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x5fe9
movq -0xa8(%rbp), %rcx
movq %rax, %rsi
movq -0xc0(%rbp), %rax
movq %rsi, -0x48(%rbp)
movl %edx, -0x4c(%rbp)
cmpq %rax, %rcx
movq %rax, -0xc8(%rbp)
je 0x5fa8
movq -0xc8(%rbp), %rdi
addq $-0x18, %rdi
movq %rdi, -0xd0(%rbp)
callq 0x50e0
movq -0xa8(%rbp), %rcx
movq -0xd0(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0xc8(%rbp)
jne 0x5f77
movq -0x98(%rbp), %rsi
movq -0x90(%rbp), %rdi
callq 0x11b0
jmp 0x5fe9
movq -0x88(%rbp), %rdi
callq 0x5970
movq -0x88(%rbp), %rdi
leaq -0x40(%rbp), %rsi
callq 0x59c0
jmp 0x5fdb
leaq -0x40(%rbp), %rdi
callq 0x5970
jmp 0x61c6
leaq -0x40(%rbp), %rdi
callq 0x5970
jmp 0x61da
leaq -0x78(%rbp), %rdi
callq 0x5620
movl -0x14(%rbp), %eax
movl %eax, -0x78(%rbp)
movslq -0x78(%rbp), %rax
movq %rax, -0xe8(%rbp)
movl $0x18, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
addq $0x8, %rdi
movq $-0x1, %rax
cmovbq %rax, %rdi
testb %cl, %cl
cmovneq %rax, %rdi
movq %rdi, -0xe0(%rbp)
callq 0x1030
movq %rax, -0xd8(%rbp)
jmp 0x6049
movq -0xe8(%rbp), %rax
movq -0xd8(%rbp), %rcx
movq %rax, (%rcx)
addq $0x8, %rcx
movq %rcx, -0xf0(%rbp)
cmpq $0x0, %rax
je 0x60c4
movq -0xf0(%rbp), %rax
movq -0xe8(%rbp), %rcx
imulq $0x18, %rcx, %rdx
movq %rax, %rcx
addq %rdx, %rcx
movq %rcx, -0x100(%rbp)
movq %rax, -0xf8(%rbp)
movq -0xf8(%rbp), %rdi
movq %rdi, -0x108(%rbp)
callq 0x4e50
jmp 0x60a6
movq -0x100(%rbp), %rcx
movq -0x108(%rbp), %rax
addq $0x18, %rax
cmpq %rcx, %rax
movq %rax, -0xf8(%rbp)
jne 0x6091
movq -0xf0(%rbp), %rax
movq %rax, -0x70(%rbp)
movl $0x0, -0x7c(%rbp)
movl -0x7c(%rbp), %eax
cmpl -0x14(%rbp), %eax
jge 0x6192
movq -0x88(%rbp), %rax
movq 0x8(%rax), %rsi
movslq -0x7c(%rbp), %rax
shlq $0x3, %rax
leaq (%rax,%rax,2), %rax
addq %rax, %rsi
movq -0x70(%rbp), %rdi
addq %rax, %rdi
callq 0x5150
jmp 0x610a
jmp 0x610c
movl -0x7c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x7c(%rbp)
jmp 0x60d6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x61bb
movq -0xf0(%rbp), %rcx
movq %rax, %rsi
movq -0x108(%rbp), %rax
movq %rsi, -0x48(%rbp)
movl %edx, -0x4c(%rbp)
cmpq %rax, %rcx
movq %rax, -0x110(%rbp)
je 0x617d
movq -0x110(%rbp), %rdi
addq $-0x18, %rdi
movq %rdi, -0x118(%rbp)
callq 0x50e0
movq -0xf0(%rbp), %rcx
movq -0x118(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x110(%rbp)
jne 0x614c
movq -0xe0(%rbp), %rsi
movq -0xd8(%rbp), %rdi
callq 0x11b0
jmp 0x61bb
movq -0x88(%rbp), %rdi
callq 0x5970
movq -0x88(%rbp), %rdi
leaq -0x78(%rbp), %rsi
callq 0x59c0
jmp 0x61b0
leaq -0x78(%rbp), %rdi
callq 0x5970
jmp 0x61c6
leaq -0x78(%rbp), %rdi
callq 0x5970
jmp 0x61da
jmp 0x61c8
movb $0x1, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x120, %rsp            # imm = 0x120
popq %rbp
retq
movq -0x48(%rbp), %rdi
callq 0x1180
nopw %cs:(%rax,%rax)