// File: kongrigoriou[P]Text-Based-RPG/src/Squad.cpp
// Function: Squad::display_allHeroes()
void Squad::display_allHeroes(){
    
    cout << "Pick your Heroes!" << endl;

    cout << "Available Warriors:" << endl;

    list <Hero*>::iterator it;

    // cout << "NAME   HP  "
    for(it = Warriors.begin(); it != Warriors.end(); ++it){
        cout << (*it)->get_name() << "\t\t" << (*it)->get_HealthPower() << "\t" << (*it)->get_MagicPower() 
        << "\t" << (*it)->get_Strength() << "\t" << (*it)->get_Agility() << "\t" << (*it)->get_Dexterity() << endl;
    }

    cout << "Available Sorcerers:" << endl;

    list <Hero*>::iterator it2;

    for(it2 = Sorcerers.begin(); it2 != Sorcerers.end(); ++it){
        cout << (*it)->get_name() << "\t" << (*it)->get_HealthPower() << "\t" << (*it)->get_MagicPower() 
        << "\t" << (*it)->get_Strength() << "\t" << (*it)->get_Agility() << "\t" << (*it)->get_Dexterity() << endl;
    }

    cout << "Available Paladins:" << endl;

    list <Hero*>::iterator it3;

    for(it3 = Paladins.begin(); it3 != Paladins.end(); ++it){
        cout << (*it)->get_name() << "\t" << (*it)->get_HealthPower() << "\t" << (*it)->get_MagicPower() 
        << "\t" << (*it)->get_Strength() << "\t" << (*it)->get_Agility() << "\t" << (*it)->get_Dexterity() << endl;
    }

}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x260, %rsp            # imm = 0x260
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0xc8(%rbp)
movq 0xbddf(%rip), %rdi      # 0x1efd0
leaq 0x3017(%rip), %rsi      # 0x1620f
callq 0x31e0
movq %rax, %rdi
movq 0xbdb9(%rip), %rsi      # 0x1efc0
callq 0x3210
movq 0xbdbd(%rip), %rdi      # 0x1efd0
leaq 0x3007(%rip), %rsi      # 0x16221
callq 0x31e0
movq %rax, %rdi
movq 0xbd97(%rip), %rsi      # 0x1efc0
callq 0x3210
leaq -0x10(%rbp), %rdi
callq 0xde50
movq -0xc8(%rbp), %rdi
addq $0x18, %rdi
callq 0xdee0
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0xc8(%rbp), %rdi
addq $0x18, %rdi
callq 0xdf40
movq %rax, -0x20(%rbp)
leaq -0x10(%rbp), %rdi
leaq -0x20(%rbp), %rsi
callq 0xdf10
testb $0x1, %al
jne 0x1327d
jmp 0x1348b
leaq -0x10(%rbp), %rdi
callq 0xdf70
movq (%rax), %rsi
leaq -0x40(%rbp), %rdi
movq %rdi, -0xd8(%rbp)
callq 0x4df0
movq -0xd8(%rbp), %rsi
movq 0xbd29(%rip), %rdi      # 0x1efd0
callq 0x31b0
movq %rax, -0xd0(%rbp)
jmp 0x132b5
movq -0xd0(%rbp), %rdi
leaq 0x2f72(%rip), %rsi      # 0x16235
callq 0x31e0
movq %rax, -0xe0(%rbp)
jmp 0x132d1
leaq -0x10(%rbp), %rdi
callq 0xdf70
movq (%rax), %rdi
callq 0x4e40
movl %eax, -0xe4(%rbp)
jmp 0x132ea
movl -0xe4(%rbp), %esi
movq -0xe0(%rbp), %rdi
callq 0x3320
movq %rax, -0xf0(%rbp)
jmp 0x13305
movq -0xf0(%rbp), %rdi
leaq 0x2f23(%rip), %rsi      # 0x16236
callq 0x31e0
movq %rax, -0xf8(%rbp)
jmp 0x13321
leaq -0x10(%rbp), %rdi
callq 0xdf70
movq (%rax), %rdi
callq 0x5020
movl %eax, -0xfc(%rbp)
jmp 0x1333a
movl -0xfc(%rbp), %esi
movq -0xf8(%rbp), %rdi
callq 0x3320
movq %rax, -0x108(%rbp)
jmp 0x13355
movq -0x108(%rbp), %rdi
leaq 0x2ed3(%rip), %rsi      # 0x16236
callq 0x31e0
movq %rax, -0x110(%rbp)
jmp 0x13371
leaq -0x10(%rbp), %rdi
callq 0xdf70
movq (%rax), %rdi
callq 0x5040
movl %eax, -0x114(%rbp)
jmp 0x1338a
movl -0x114(%rbp), %esi
movq -0x110(%rbp), %rdi
callq 0x3320
movq %rax, -0x120(%rbp)
jmp 0x133a5
movq -0x120(%rbp), %rdi
leaq 0x2e83(%rip), %rsi      # 0x16236
callq 0x31e0
movq %rax, -0x128(%rbp)
jmp 0x133c1
leaq -0x10(%rbp), %rdi
callq 0xdf70
movq (%rax), %rdi
callq 0x5060
movl %eax, -0x12c(%rbp)
jmp 0x133da
movl -0x12c(%rbp), %esi
movq -0x128(%rbp), %rdi
callq 0x3320
movq %rax, -0x138(%rbp)
jmp 0x133f5
movq -0x138(%rbp), %rdi
leaq 0x2e33(%rip), %rsi      # 0x16236
callq 0x31e0
movq %rax, -0x140(%rbp)
jmp 0x13411
leaq -0x10(%rbp), %rdi
callq 0xdf70
movq (%rax), %rdi
callq 0x5080
movl %eax, -0x144(%rbp)
jmp 0x1342a
movl -0x144(%rbp), %esi
movq -0x140(%rbp), %rdi
callq 0x3320
movq %rax, -0x150(%rbp)
jmp 0x13445
movq -0x150(%rbp), %rdi
movq 0xbb6d(%rip), %rsi      # 0x1efc0
callq 0x3210
jmp 0x1345a
leaq -0x40(%rbp), %rdi
callq 0x3120
leaq -0x10(%rbp), %rdi
callq 0xdf90
jmp 0x13253
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x40(%rbp), %rdi
callq 0x3120
jmp 0x139b6
movq 0xbb3e(%rip), %rdi      # 0x1efd0
leaq 0x2d9f(%rip), %rsi      # 0x16238
callq 0x31e0
movq %rax, %rdi
movq 0xbb18(%rip), %rsi      # 0x1efc0
callq 0x3210
leaq -0x58(%rbp), %rdi
callq 0xde50
movq -0xc8(%rbp), %rdi
addq $0x30, %rdi
callq 0xdee0
movq %rax, -0x60(%rbp)
movq -0x60(%rbp), %rax
movq %rax, -0x58(%rbp)
movq -0xc8(%rbp), %rdi
addq $0x30, %rdi
callq 0xdf40
movq %rax, -0x68(%rbp)
leaq -0x58(%rbp), %rdi
leaq -0x68(%rbp), %rsi
callq 0xdf10
testb $0x1, %al
jne 0x134fc
jmp 0x13713
leaq -0x10(%rbp), %rdi
callq 0xdf70
movq (%rax), %rsi
leaq -0x88(%rbp), %rdi
movq %rdi, -0x160(%rbp)
callq 0x4df0
movq -0x160(%rbp), %rsi
movq 0xbaa7(%rip), %rdi      # 0x1efd0
callq 0x31b0
movq %rax, -0x158(%rbp)
jmp 0x13537
movq -0x158(%rbp), %rdi
leaq 0x2cf1(%rip), %rsi      # 0x16236
callq 0x31e0
movq %rax, -0x168(%rbp)
jmp 0x13553
leaq -0x10(%rbp), %rdi
callq 0xdf70
movq (%rax), %rdi
callq 0x4e40
movl %eax, -0x16c(%rbp)
jmp 0x1356c
movl -0x16c(%rbp), %esi
movq -0x168(%rbp), %rdi
callq 0x3320
movq %rax, -0x178(%rbp)
jmp 0x13587
movq -0x178(%rbp), %rdi
leaq 0x2ca1(%rip), %rsi      # 0x16236
callq 0x31e0
movq %rax, -0x180(%rbp)
jmp 0x135a3
leaq -0x10(%rbp), %rdi
callq 0xdf70
movq (%rax), %rdi
callq 0x5020
movl %eax, -0x184(%rbp)
jmp 0x135bc
movl -0x184(%rbp), %esi
movq -0x180(%rbp), %rdi
callq 0x3320
movq %rax, -0x190(%rbp)
jmp 0x135d7
movq -0x190(%rbp), %rdi
leaq 0x2c51(%rip), %rsi      # 0x16236
callq 0x31e0
movq %rax, -0x198(%rbp)
jmp 0x135f3
leaq -0x10(%rbp), %rdi
callq 0xdf70
movq (%rax), %rdi
callq 0x5040
movl %eax, -0x19c(%rbp)
jmp 0x1360c
movl -0x19c(%rbp), %esi
movq -0x198(%rbp), %rdi
callq 0x3320
movq %rax, -0x1a8(%rbp)
jmp 0x13627
movq -0x1a8(%rbp), %rdi
leaq 0x2c01(%rip), %rsi      # 0x16236
callq 0x31e0
movq %rax, -0x1b0(%rbp)
jmp 0x13643
leaq -0x10(%rbp), %rdi
callq 0xdf70
movq (%rax), %rdi
callq 0x5060
movl %eax, -0x1b4(%rbp)
jmp 0x1365c
movl -0x1b4(%rbp), %esi
movq -0x1b0(%rbp), %rdi
callq 0x3320
movq %rax, -0x1c0(%rbp)
jmp 0x13677
movq -0x1c0(%rbp), %rdi
leaq 0x2bb1(%rip), %rsi      # 0x16236
callq 0x31e0
movq %rax, -0x1c8(%rbp)
jmp 0x13693
leaq -0x10(%rbp), %rdi
callq 0xdf70
movq (%rax), %rdi
callq 0x5080
movl %eax, -0x1cc(%rbp)
jmp 0x136ac
movl -0x1cc(%rbp), %esi
movq -0x1c8(%rbp), %rdi
callq 0x3320
movq %rax, -0x1d8(%rbp)
jmp 0x136c7
movq -0x1d8(%rbp), %rdi
movq 0xb8eb(%rip), %rsi      # 0x1efc0
callq 0x3210
jmp 0x136dc
leaq -0x88(%rbp), %rdi
callq 0x3120
leaq -0x10(%rbp), %rdi
callq 0xdf90
jmp 0x134d2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x88(%rbp), %rdi
callq 0x3120
jmp 0x139b6
movq 0xb8b6(%rip), %rdi      # 0x1efd0
leaq 0x2b2c(%rip), %rsi      # 0x1624d
callq 0x31e0
movq %rax, %rdi
movq 0xb890(%rip), %rsi      # 0x1efc0
callq 0x3210
leaq -0x90(%rbp), %rdi
callq 0xde50
movq -0xc8(%rbp), %rdi
addq $0x48, %rdi
callq 0xdee0
movq %rax, -0x98(%rbp)
movq -0x98(%rbp), %rax
movq %rax, -0x90(%rbp)
movq -0xc8(%rbp), %rdi
addq $0x48, %rdi
callq 0xdf40
movq %rax, -0xa0(%rbp)
leaq -0x90(%rbp), %rdi
leaq -0xa0(%rbp), %rsi
callq 0xdf10
testb $0x1, %al
jne 0x13799
jmp 0x139ad
leaq -0x10(%rbp), %rdi
callq 0xdf70
movq (%rax), %rsi
leaq -0xc0(%rbp), %rdi
movq %rdi, -0x1e8(%rbp)
callq 0x4df0
movq -0x1e8(%rbp), %rsi
movq 0xb80a(%rip), %rdi      # 0x1efd0
callq 0x31b0
movq %rax, -0x1e0(%rbp)
jmp 0x137d4
movq -0x1e0(%rbp), %rdi
leaq 0x2a54(%rip), %rsi      # 0x16236
callq 0x31e0
movq %rax, -0x1f0(%rbp)
jmp 0x137f0
leaq -0x10(%rbp), %rdi
callq 0xdf70
movq (%rax), %rdi
callq 0x4e40
movl %eax, -0x1f4(%rbp)
jmp 0x13809
movl -0x1f4(%rbp), %esi
movq -0x1f0(%rbp), %rdi
callq 0x3320
movq %rax, -0x200(%rbp)
jmp 0x13824
movq -0x200(%rbp), %rdi
leaq 0x2a04(%rip), %rsi      # 0x16236
callq 0x31e0
movq %rax, -0x208(%rbp)
jmp 0x13840
leaq -0x10(%rbp), %rdi
callq 0xdf70
movq (%rax), %rdi
callq 0x5020
movl %eax, -0x20c(%rbp)
jmp 0x13859
movl -0x20c(%rbp), %esi
movq -0x208(%rbp), %rdi
callq 0x3320
movq %rax, -0x218(%rbp)
jmp 0x13874
movq -0x218(%rbp), %rdi
leaq 0x29b4(%rip), %rsi      # 0x16236
callq 0x31e0
movq %rax, -0x220(%rbp)
jmp 0x13890
leaq -0x10(%rbp), %rdi
callq 0xdf70
movq (%rax), %rdi
callq 0x5040
movl %eax, -0x224(%rbp)
jmp 0x138a9
movl -0x224(%rbp), %esi
movq -0x220(%rbp), %rdi
callq 0x3320
movq %rax, -0x230(%rbp)
jmp 0x138c4
movq -0x230(%rbp), %rdi
leaq 0x2964(%rip), %rsi      # 0x16236
callq 0x31e0
movq %rax, -0x238(%rbp)
jmp 0x138e0
leaq -0x10(%rbp), %rdi
callq 0xdf70
movq (%rax), %rdi
callq 0x5060
movl %eax, -0x23c(%rbp)
jmp 0x138f9
movl -0x23c(%rbp), %esi
movq -0x238(%rbp), %rdi
callq 0x3320
movq %rax, -0x248(%rbp)
jmp 0x13914
movq -0x248(%rbp), %rdi
leaq 0x2914(%rip), %rsi      # 0x16236
callq 0x31e0
movq %rax, -0x250(%rbp)
jmp 0x13930
leaq -0x10(%rbp), %rdi
callq 0xdf70
movq (%rax), %rdi
callq 0x5080
movl %eax, -0x254(%rbp)
jmp 0x13949
movl -0x254(%rbp), %esi
movq -0x250(%rbp), %rdi
callq 0x3320
movq %rax, -0x260(%rbp)
jmp 0x13964
movq -0x260(%rbp), %rdi
movq 0xb64e(%rip), %rsi      # 0x1efc0
callq 0x3210
jmp 0x13979
leaq -0xc0(%rbp), %rdi
callq 0x3120
leaq -0x10(%rbp), %rdi
callq 0xdf90
jmp 0x13766
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0xc0(%rbp), %rdi
callq 0x3120
jmp 0x139b6
addq $0x260, %rsp            # imm = 0x260
popq %rbp
retq
movq -0x48(%rbp), %rdi
callq 0x3330
nop