// File: /workspace/github_cpp_makefile_star2_O1/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 0xea4d(%rip), %rbx      # 0x13fd0
leaq 0x8dd3(%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 0x562e
leaq -0x48(%rbp), %r15
movq 0xe9f6(%rip), %r12      # 0x13fd0
leaq 0x9527(%rip), %r13      # 0xeb08
movq 0x10(%r14), %rsi
movq %r15, %rdi
callq 0xc78e
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 0x5626
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x3190
movq (%r14), %r14
cmpq %rbx, %r14
jne 0x55e1
movq 0xe99b(%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 0x8d06(%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 0x570d
leaq -0x48(%rbp), %r15
movq 0xe917(%rip), %r12      # 0x13fd0
leaq 0x9448(%rip), %r13      # 0xeb08
movq 0x10(%r14), %rsi
movq %r15, %rdi
callq 0xc78e
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 0x5705
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x3190
movq (%r14), %r14
cmpq %rbx, %r14
jne 0x56c0
movq 0xe8bc(%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 0x8c32(%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 0x57ec
leaq -0x48(%rbp), %r15
movq 0xe838(%rip), %r12      # 0x13fd0
leaq 0x9369(%rip), %r13      # 0xeb08
movq 0x10(%r14), %rsi
movq %r15, %rdi
callq 0xc78e
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 0x57e4
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x3190
movq (%r14), %r14
cmpq %rbx, %r14
jne 0x579f
movq 0xe7dd(%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 0x8b5f(%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 0x58cb
movq %rax, %r14
leaq -0x48(%rbp), %r15
movq 0xe759(%rip), %r12      # 0x13fd0
leaq 0x928a(%rip), %r13      # 0xeb08
movq 0x10(%rbx), %rsi
movq %r15, %rdi
callq 0xc78e
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 0x58c3
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x3190
movq (%rbx), %rbx
cmpq %r14, %rbx
jne 0x587e
movq 0xe6fe(%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 0x590e
jmp 0x590e
jmp 0x590e
movq %rax, %rbx
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x592a
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x3190
movq %rbx, %rdi
callq 0x3220