// File: arisKoutsou[P]oopproj/./src/livings/Hero.cpp
// Function: Hero::sell(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
void Hero::sell(const string& itemName) {
    Item* itemToSell = inventory.getItemByName(itemName);

	if (itemToSell != NULL) {
	  cout << endl << "Sold " << itemName
	       << " (" << itemToSell->kindOf() << ")";
		inventory.removeAndDeleteItem(itemToSell);
		setMoney(getMoney() + itemToSell->sellsFor());
		return;
	}

	Spell* spellToSell = inventory.getSpellByName(itemName);
	if (spellToSell != NULL) {
	  cout << endl << "Sold " << itemName
	       << " (" << itemToSell->kindOf() << ")";
	  
		inventory.removeAndDeleteSpell(spellToSell);
		setMoney(getMoney() + spellToSell->getValue()/2);
		return;
	}

	cout << endl << "There's no item/spell with this name" << endl;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xc0, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x78(%rbp)
addq $0xc0, %rdi
movq -0x10(%rbp), %rsi
callq 0x172f0
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
je 0x256d6
movq 0x1a9cf(%rip), %rdi     # 0x3ffc0
movq 0x1a9a8(%rip), %rsi     # 0x3ffa0
callq 0x5330
movq %rax, %rdi
leaq 0x9a84(%rip), %rsi      # 0x2f08b
callq 0x52f0
movq %rax, %rdi
movq -0x10(%rbp), %rsi
callq 0x52a0
movq %rax, %rdi
leaq 0x9a41(%rip), %rsi      # 0x2f063
callq 0x52f0
movq %rax, -0x90(%rbp)
movq -0x18(%rbp), %rsi
movq (%rsi), %rax
movq 0x18(%rax), %rax
leaq -0x38(%rbp), %rdi
movq %rdi, -0x88(%rbp)
callq *%rax
movq -0x90(%rbp), %rdi
movq -0x88(%rbp), %rsi
callq 0x52a0
movq %rax, -0x80(%rbp)
jmp 0x2565f
movq -0x80(%rbp), %rdi
leaq 0x8f41(%rip), %rsi      # 0x2e5ab
callq 0x52f0
jmp 0x25671
leaq -0x38(%rbp), %rdi
callq 0x55d0
movq -0x78(%rbp), %rdi
addq $0xc0, %rdi
movq -0x18(%rbp), %rsi
callq 0x17110
movq -0x78(%rbp), %rdi
callq 0x21f80
movl %eax, -0x94(%rbp)
movq -0x18(%rbp), %rdi
callq 0x2d540
movl -0x94(%rbp), %esi
movq -0x78(%rbp), %rdi
addl %eax, %esi
callq 0x220b0
jmp 0x2581e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x38(%rbp), %rdi
callq 0x55d0
jmp 0x25827
movq -0x78(%rbp), %rdi
addq $0xc0, %rdi
movq -0x10(%rbp), %rsi
callq 0x173b0
movq %rax, -0x50(%rbp)
cmpq $0x0, -0x50(%rbp)
je 0x257ed
movq 0x1a8c0(%rip), %rdi     # 0x3ffc0
movq 0x1a899(%rip), %rsi     # 0x3ffa0
callq 0x5330
movq %rax, %rdi
leaq 0x9975(%rip), %rsi      # 0x2f08b
callq 0x52f0
movq %rax, %rdi
movq -0x10(%rbp), %rsi
callq 0x52a0
movq %rax, %rdi
leaq 0x9932(%rip), %rsi      # 0x2f063
callq 0x52f0
movq %rax, -0xb0(%rbp)
movq -0x18(%rbp), %rsi
movq (%rsi), %rax
movq 0x18(%rax), %rax
leaq -0x70(%rbp), %rdi
movq %rdi, -0xa8(%rbp)
callq *%rax
movq -0xb0(%rbp), %rdi
movq -0xa8(%rbp), %rsi
callq 0x52a0
movq %rax, -0xa0(%rbp)
jmp 0x25771
movq -0xa0(%rbp), %rdi
leaq 0x8e2c(%rip), %rsi      # 0x2e5ab
callq 0x52f0
jmp 0x25786
leaq -0x70(%rbp), %rdi
callq 0x55d0
movq -0x78(%rbp), %rdi
addq $0xc0, %rdi
movq -0x50(%rbp), %rsi
callq 0x17190
movq -0x78(%rbp), %rdi
callq 0x21f80
movl %eax, -0xb4(%rbp)
movq -0x50(%rbp), %rdi
callq 0x21a50
movl -0xb4(%rbp), %esi
movq -0x78(%rbp), %rdi
movl $0x2, %ecx
cltd
idivl %ecx
addl %eax, %esi
callq 0x220b0
jmp 0x2581e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x70(%rbp), %rdi
callq 0x55d0
jmp 0x25827
movq 0x1a7cc(%rip), %rdi     # 0x3ffc0
movq 0x1a7a5(%rip), %rsi     # 0x3ffa0
callq 0x5330
movq %rax, %rdi
leaq 0x985c(%rip), %rsi      # 0x2f066
callq 0x52f0
movq %rax, %rdi
movq 0x1a787(%rip), %rsi     # 0x3ffa0
callq 0x5330
addq $0xc0, %rsp
popq %rbp
retq
movq -0x40(%rbp), %rdi
callq 0x5550