// File: kongrigoriou[P]Text-Based-RPG/src/Squad.cpp
// Function: Squad::search_Hero(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
Hero* Squad::search_Hero(string name){
    list<Hero*>::iterator w;
    for(w = Warriors.begin(); w != Warriors.end(); ++w){
        if((*w)->get_name() == name){
            return *w;
        }
    }

    list<Hero*>::iterator s;
    for(s = Sorcerers.begin(); s != Sorcerers.end(); ++s){
        if((*s)->get_name() == name){
            return *s;
        }
    }

    list <Hero*>::iterator p;
    for(p = Paladins.begin(); p != Paladins.end(); ++p){
        if((*p)->get_name() == name){
            return *p;
        }
    }

    cout << "I could not find this name :(" << endl;
    return NULL;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xe0, %rsp
movq %rsi, -0xd0(%rbp)
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0xc8(%rbp)
leaq -0x20(%rbp), %rdi
callq 0xde50
movq -0xc8(%rbp), %rdi
addq $0x18, %rdi
callq 0xdee0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0xc8(%rbp), %rdi
addq $0x18, %rdi
callq 0xdf40
movq %rax, -0x30(%rbp)
leaq -0x20(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0xdf10
testb $0x1, %al
jne 0x13e21
jmp 0x13e86
leaq -0x20(%rbp), %rdi
callq 0xdf70
movq (%rax), %rsi
leaq -0x50(%rbp), %rdi
callq 0x4df0
movq -0xd0(%rbp), %rsi
leaq -0x50(%rbp), %rdi
callq 0x7eb0
movb %al, -0xd1(%rbp)
leaq -0x50(%rbp), %rdi
callq 0x3120
movb -0xd1(%rbp), %al
testb $0x1, %al
jne 0x13e61
jmp 0x13e76
leaq -0x20(%rbp), %rdi
callq 0xdf70
movq (%rax), %rax
movq %rax, -0x8(%rbp)
jmp 0x1403f
jmp 0x13e78
leaq -0x20(%rbp), %rdi
callq 0xdf90
jmp 0x13dfa
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 0x13ed2
jmp 0x13f40
leaq -0x58(%rbp), %rdi
callq 0xdf70
movq (%rax), %rsi
leaq -0x88(%rbp), %rdi
callq 0x4df0
movq -0xd0(%rbp), %rsi
leaq -0x88(%rbp), %rdi
callq 0x7eb0
movb %al, -0xd2(%rbp)
leaq -0x88(%rbp), %rdi
callq 0x3120
movb -0xd2(%rbp), %al
testb $0x1, %al
jne 0x13f1b
jmp 0x13f30
leaq -0x58(%rbp), %rdi
callq 0xdf70
movq (%rax), %rax
movq %rax, -0x8(%rbp)
jmp 0x1403f
jmp 0x13f32
leaq -0x58(%rbp), %rdi
callq 0xdf90
jmp 0x13eab
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 0x13fa1
jmp 0x14015
leaq -0x90(%rbp), %rdi
callq 0xdf70
movq (%rax), %rsi
leaq -0xc0(%rbp), %rdi
callq 0x4df0
movq -0xd0(%rbp), %rsi
leaq -0xc0(%rbp), %rdi
callq 0x7eb0
movb %al, -0xd3(%rbp)
leaq -0xc0(%rbp), %rdi
callq 0x3120
movb -0xd3(%rbp), %al
testb $0x1, %al
jne 0x13fed
jmp 0x14002
leaq -0x90(%rbp), %rdi
callq 0xdf70
movq (%rax), %rax
movq %rax, -0x8(%rbp)
jmp 0x1403f
jmp 0x14004
leaq -0x90(%rbp), %rdi
callq 0xdf90
jmp 0x13f71
movq 0xafb4(%rip), %rdi      # 0x1efd0
leaq 0x226c(%rip), %rsi      # 0x1628f
callq 0x31e0
movq %rax, %rdi
movq 0xaf8e(%rip), %rsi      # 0x1efc0
callq 0x3210
movq $0x0, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0xe0, %rsp
popq %rbp
retq
nopl (%rax)