// File: /workspace/github_cpp_makefile_star2_O3/kongrigoriou[P]Text-Based-RPG/src/Heroes.cpp
// Function: Hero::display_inventory()
void Hero::display_inventory(){

    list<Weapon*> ::iterator it;
    list<Armor*> :: iterator ar;
    list<Potion*> :: iterator pt;
    list<Spell*> :: iterator is;
    cout << "Weapons are" << endl;
    for (it = Weapons.begin(); it !=  Weapons.end(); ++it){
        cout << (*it)->get_name() << " " ;
    }
    cout << endl;
    cout << "Armors are" << endl;
	for(ar = Armors.begin(); ar != Armors.end(); ++ar){
        cout << (*ar)->get_name() << " ";
    }
    cout << endl;
    cout << "Potions are" << endl;
    for(pt = Potions.begin(); pt != Potions.end(); ++pt){
        cout <<(*pt)->get_name() << " " ;
    }
    cout << endl;
    cout << "Spells are" << endl;
   for(is = Spells.begin(); is!= Spells.end(); ++is){
       cout << (*is)->get_name() << " ";
   }
   cout << endl;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq %rdi, %r14
movq 0xea49(%rip), %rbx      # 0x13fd0
leaq 0x8dcf(%rip), %rsi      # 0xe35d
movl $0xb, %edx
movq %rbx, %rdi
callq 0x31c0
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3160
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3040
movq %rax, %rdi
callq 0x3100
leaq 0x68(%r14), %rbx
movq %r14, -0x50(%rbp)
movq 0x68(%r14), %r14
cmpq %rbx, %r14
je 0x5632
leaq -0x48(%rbp), %r15
movq 0xe9f2(%rip), %r12      # 0x13fd0
leaq 0x9523(%rip), %r13      # 0xeb08
movq 0x10(%r14), %rsi
movq %r15, %rdi
callq 0xc812
movq -0x48(%rbp), %rsi
movq -0x40(%rbp), %rdx
movq %r12, %rdi
callq 0x31c0
movl $0x1, %edx
movq %rax, %rdi
movq %r13, %rsi
callq 0x31c0
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x562a
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x3190
movq (%r14), %r14
cmpq %rbx, %r14
jne 0x55e5
movq 0xe997(%rip), %rbx      # 0x13fd0
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3160
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3040
movq %rax, %rdi
callq 0x3100
leaq 0x8d02(%rip), %rsi      # 0xe369
movl $0xa, %edx
movq %rbx, %rdi
callq 0x31c0
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3160
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3040
movq %rax, %rdi
callq 0x3100
movq -0x50(%rbp), %rax
leaq 0x98(%rax), %rbx
movq 0x98(%rax), %r14
cmpq %rbx, %r14
je 0x5711
leaq -0x48(%rbp), %r15
movq 0xe913(%rip), %r12      # 0x13fd0
leaq 0x9444(%rip), %r13      # 0xeb08
movq 0x10(%r14), %rsi
movq %r15, %rdi
callq 0xc812
movq -0x48(%rbp), %rsi
movq -0x40(%rbp), %rdx
movq %r12, %rdi
callq 0x31c0
movl $0x1, %edx
movq %rax, %rdi
movq %r13, %rsi
callq 0x31c0
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x5709
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x3190
movq (%r14), %r14
cmpq %rbx, %r14
jne 0x56c4
movq 0xe8b8(%rip), %rbx      # 0x13fd0
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3160
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3040
movq %rax, %rdi
callq 0x3100
leaq 0x8c2e(%rip), %rsi      # 0xe374
movl $0xb, %edx
movq %rbx, %rdi
callq 0x31c0
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3160
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3040
movq %rax, %rdi
callq 0x3100
movq -0x50(%rbp), %rax
leaq 0xb0(%rax), %rbx
movq 0xb0(%rax), %r14
cmpq %rbx, %r14
je 0x57f0
leaq -0x48(%rbp), %r15
movq 0xe834(%rip), %r12      # 0x13fd0
leaq 0x9365(%rip), %r13      # 0xeb08
movq 0x10(%r14), %rsi
movq %r15, %rdi
callq 0xc812
movq -0x48(%rbp), %rsi
movq -0x40(%rbp), %rdx
movq %r12, %rdi
callq 0x31c0
movl $0x1, %edx
movq %rax, %rdi
movq %r13, %rsi
callq 0x31c0
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x57e8
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x3190
movq (%r14), %r14
cmpq %rbx, %r14
jne 0x57a3
movq 0xe7d9(%rip), %rbx      # 0x13fd0
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3160
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3040
movq %rax, %rdi
callq 0x3100
leaq 0x8b5b(%rip), %rsi      # 0xe380
movl $0xa, %edx
movq %rbx, %rdi
callq 0x31c0
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3160
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3040
movq %rax, %rdi
callq 0x3100
movq -0x50(%rbp), %rax
movq 0x80(%rax), %rbx
subq $-0x80, %rax
cmpq %rax, %rbx
je 0x58cf
movq %rax, %r14
leaq -0x48(%rbp), %r15
movq 0xe755(%rip), %r12      # 0x13fd0
leaq 0x9286(%rip), %r13      # 0xeb08
movq 0x10(%rbx), %rsi
movq %r15, %rdi
callq 0xc812
movq -0x48(%rbp), %rsi
movq -0x40(%rbp), %rdx
movq %r12, %rdi
callq 0x31c0
movl $0x1, %edx
movq %rax, %rdi
movq %r13, %rsi
callq 0x31c0
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x58c7
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x3190
movq (%rbx), %rbx
cmpq %r14, %rbx
jne 0x5882
movq 0xe6fa(%rip), %rbx      # 0x13fd0
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3160
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3040
movq %rax, %rdi
callq 0x3100
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x5912
jmp 0x5912
jmp 0x5912
movq %rax, %rbx
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x592e
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x3190
movq %rbx, %rdi
callq 0x3220