// File: DaCasBe[P]Gestion-de-asignaturas-mediante-listas-doblemente-enlazadas-ordenadas/listaDoblementeEnlazadaOrdenadaEstudiantes.cpp
// Function: ed::ListaDoblementeEnlazadaOrdenadaEstudiantes::setCurrentItem(ed::Estudiante const&)
void ed::ListaDoblementeEnlazadaOrdenadaEstudiantes::setCurrentItem(ed::Estudiante const & item){
	#ifndef NDEBUG
		//Se comprueba la precondicion
		assert(!isEmpty() and item.getNombre()==getCurrentItem().getNombre() and item.getApellidos()==getCurrentItem().getApellidos());
	#endif //NDEBUG

	Estudiante estudiante=getCurrentItem();

	getCurrent()->setItem(item);

	#ifndef NDEBUG
		//Se comprueba la postcondicion
		assert(item.getNombre()==getCurrentItem().getNombre() and item.getApellidos()==getCurrentItem().getApellidos() and estudiante.getNombre()==getCurrentItem().getNombre() and estudiante.getApellidos()==getCurrentItem().getApellidos());
	#endif //NDEBUG
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x110, %rsp            # imm = 0x110
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x78(%rbp)
movq (%rdi), %rax
callq *(%rax)
movb %al, %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0x6d(%rbp)
jne 0x434b
movq -0x10(%rbp), %rdi
movq (%rdi), %rax
callq *(%rax)
movq -0x78(%rbp), %rdi
movq %rax, -0x80(%rbp)
movq (%rdi), %rax
callq *0x10(%rax)
movq %rax, %rdi
movq (%rdi), %rax
callq *(%rax)
movq -0x80(%rbp), %rdi
movq %rax, %rsi
callq 0x3b40
movb %al, %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0x6d(%rbp)
jne 0x4315
jmp 0x434b
movq -0x10(%rbp), %rdi
movq (%rdi), %rax
callq *0x8(%rax)
movq -0x78(%rbp), %rdi
movq %rax, -0x88(%rbp)
movq (%rdi), %rax
callq *0x10(%rax)
movq %rax, %rdi
movq (%rdi), %rax
callq *0x8(%rax)
movq -0x88(%rbp), %rdi
movq %rax, %rsi
callq 0x3b40
movb %al, -0x6d(%rbp)
movb -0x6d(%rbp), %al
testb $0x1, %al
jne 0x4354
jmp 0x4356
jmp 0x4375
leaq 0x713d(%rip), %rdi      # 0xb49a
leaq 0x6d80(%rip), %rsi      # 0xb0e4
movl $0xbb, %edx
leaq 0x71a1(%rip), %rcx      # 0xb511
callq 0x3140
movq -0x78(%rbp), %rdi
movq (%rdi), %rax
movq 0x10(%rax), %rax
callq *%rax
movq %rax, %rsi
leaq -0x60(%rbp), %rdi
callq 0x4e40
movq -0x78(%rbp), %rdi
callq 0x4db0
movq %rax, -0x90(%rbp)
jmp 0x43a0
movq -0x90(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq (%rdi), %rax
movq 0x18(%rax), %rax
callq *%rax
jmp 0x43b6
movq -0x10(%rbp), %rdi
movq (%rdi), %rax
movq (%rax), %rax
callq *%rax
movq %rax, -0x98(%rbp)
jmp 0x43cb
movq -0x78(%rbp), %rdi
movq (%rdi), %rax
movq 0x10(%rax), %rax
callq *%rax
movq %rax, -0xa0(%rbp)
jmp 0x43e1
movq -0xa0(%rbp), %rdi
movq (%rdi), %rax
movq (%rax), %rax
callq *%rax
movq %rax, -0xa8(%rbp)
jmp 0x43f9
movq -0xa8(%rbp), %rsi
movq -0x98(%rbp), %rdi
callq 0x3b40
movb %al, -0xa9(%rbp)
jmp 0x4414
movb -0xa9(%rbp), %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0xaa(%rbp)
jne 0x442c
jmp 0x457e
movq -0x10(%rbp), %rdi
movq (%rdi), %rax
movq 0x8(%rax), %rax
callq *%rax
movq %rax, -0xb8(%rbp)
jmp 0x4442
movq -0x78(%rbp), %rdi
movq (%rdi), %rax
movq 0x10(%rax), %rax
callq *%rax
movq %rax, -0xc0(%rbp)
jmp 0x4458
movq -0xc0(%rbp), %rdi
movq (%rdi), %rax
movq 0x8(%rax), %rax
callq *%rax
movq %rax, -0xc8(%rbp)
jmp 0x4471
movq -0xc8(%rbp), %rsi
movq -0xb8(%rbp), %rdi
callq 0x3b40
movb %al, -0xc9(%rbp)
jmp 0x448c
movb -0xc9(%rbp), %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0xaa(%rbp)
jne 0x44a4
jmp 0x457e
leaq -0x60(%rbp), %rdi
callq 0x4f90
movq %rax, -0xd8(%rbp)
jmp 0x44b6
movq -0x78(%rbp), %rdi
movq (%rdi), %rax
movq 0x10(%rax), %rax
callq *%rax
movq %rax, -0xe0(%rbp)
jmp 0x44cc
movq -0xe0(%rbp), %rdi
movq (%rdi), %rax
movq (%rax), %rax
callq *%rax
movq %rax, -0xe8(%rbp)
jmp 0x44e4
movq -0xe8(%rbp), %rsi
movq -0xd8(%rbp), %rdi
callq 0x3b40
movb %al, -0xe9(%rbp)
jmp 0x44ff
movb -0xe9(%rbp), %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0xaa(%rbp)
jne 0x4514
jmp 0x457e
leaq -0x60(%rbp), %rdi
callq 0x4fb0
movq %rax, -0xf8(%rbp)
jmp 0x4526
movq -0x78(%rbp), %rdi
movq (%rdi), %rax
movq 0x10(%rax), %rax
callq *%rax
movq %rax, -0x100(%rbp)
jmp 0x453c
movq -0x100(%rbp), %rdi
movq (%rdi), %rax
movq 0x8(%rax), %rax
callq *%rax
movq %rax, -0x108(%rbp)
jmp 0x4555
movq -0x108(%rbp), %rsi
movq -0xf8(%rbp), %rdi
callq 0x3b40
movb %al, -0x109(%rbp)
jmp 0x4570
movb -0x109(%rbp), %al
movb %al, -0xaa(%rbp)
jmp 0x457e
movb -0xaa(%rbp), %al
testb $0x1, %al
jne 0x458a
jmp 0x458c
jmp 0x45c2
leaq 0x6fe2(%rip), %rdi      # 0xb575
leaq 0x6b4a(%rip), %rsi      # 0xb0e4
movl $0xc4, %edx
leaq 0x6f6b(%rip), %rcx      # 0xb511
callq 0x3140
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x60(%rbp), %rdi
callq 0x4fd0
jmp 0x45d4
leaq -0x60(%rbp), %rdi
callq 0x4fd0
addq $0x110, %rsp            # imm = 0x110
popq %rbp
retq
jmp 0x45d6
movq -0x68(%rbp), %rdi
callq 0x32b0
movq %rax, %rdi
callq 0x5040
nopw (%rax,%rax)