// File: Oralf[P]Heros/Hero.cpp
// Function: Hero::Hero(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
Hero::Hero(string name, string type){
	gold=750;
	heroName=name;
	heroType=type;
	armyCreatures[blackDragon_e]=new Black_Dragon();
	armyCreatures[wizard_e]=new Wizard();
	armyCreatures[archer_e]=new Archer();
	armyCreatures[vampire_e]=new Vampire();
	armyCreatures[zombie_e]=new Zombie();
	int i;
	for(i=0;i<5;i++){
		numOfCretures[i]=0;
	}
	totalCreatures=0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq %rsi, -0x30(%rbp)
movq %rdx, -0x50(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x40(%rbp)
leaq 0xb7fa(%rip), %rax      # 0xfbd8
movq %rax, (%rdi)
addq $0x8, %rdi
movq %rdi, -0x38(%rbp)
callq 0x3350
movq -0x40(%rbp), %rdi
addq $0x28, %rdi
movq %rdi, -0x48(%rbp)
callq 0x3350
movq -0x40(%rbp), %rax
movq -0x38(%rbp), %rdi
movq -0x30(%rbp), %rsi
movabsq $0x4087700000000000, %rcx # imm = 0x4087700000000000
movq %rcx, 0x48(%rax)
callq 0x3030
jmp 0x4420
movq -0x50(%rbp), %rsi
movq -0x40(%rbp), %rdi
addq $0x28, %rdi
callq 0x3030
jmp 0x4433
movl $0x18, %edi
callq 0x3230
movq %rax, -0x58(%rbp)
jmp 0x4443
movq -0x58(%rbp), %rdi
callq 0x3e40
jmp 0x444e
movq -0x40(%rbp), %rax
movq -0x58(%rbp), %rcx
movq %rcx, 0x50(%rax)
movl $0x18, %edi
callq 0x3230
movq %rax, -0x60(%rbp)
jmp 0x446a
movq -0x60(%rbp), %rdi
callq 0xba50
jmp 0x4475
movq -0x40(%rbp), %rax
movq -0x60(%rbp), %rcx
movq %rcx, 0x58(%rax)
movl $0x18, %edi
callq 0x3230
movq %rax, -0x68(%rbp)
jmp 0x4491
movq -0x68(%rbp), %rdi
callq 0x3890
jmp 0x449c
movq -0x40(%rbp), %rax
movq -0x68(%rbp), %rcx
movq %rcx, 0x60(%rax)
movl $0x18, %edi
callq 0x3230
movq %rax, -0x70(%rbp)
jmp 0x44b8
movq -0x70(%rbp), %rdi
callq 0xb690
jmp 0x44c3
movq -0x40(%rbp), %rax
movq -0x70(%rbp), %rcx
movq %rcx, 0x68(%rax)
movl $0x18, %edi
callq 0x3230
movq %rax, -0x78(%rbp)
jmp 0x44df
movq -0x78(%rbp), %rdi
callq 0xbbe0
jmp 0x44ea
movq -0x40(%rbp), %rax
movq -0x78(%rbp), %rcx
movq %rcx, 0x70(%rax)
movl $0x0, -0x28(%rbp)
cmpl $0x5, -0x28(%rbp)
jge 0x45c2
movq -0x40(%rbp), %rax
movslq -0x28(%rbp), %rcx
movl $0x0, 0x78(%rax,%rcx,4)
movl -0x28(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x28(%rbp)
jmp 0x44fd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0x45d9
movq -0x58(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
movl $0x18, %esi
callq 0x3240
jmp 0x45d9
movq -0x60(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
movl $0x18, %esi
callq 0x3240
jmp 0x45d9
movq -0x68(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
movl $0x18, %esi
callq 0x3240
jmp 0x45d9
movq -0x70(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
movl $0x18, %esi
callq 0x3240
jmp 0x45d9
movq -0x78(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
movl $0x18, %esi
callq 0x3240
jmp 0x45d9
movq -0x40(%rbp), %rax
movl $0x0, 0x8c(%rax)
addq $0x80, %rsp
popq %rbp
retq
movq -0x48(%rbp), %rdi
callq 0x3170
movq -0x38(%rbp), %rdi
callq 0x3170
movq -0x20(%rbp), %rdi
callq 0x3400
nopw %cs:(%rax,%rax)