// File: arisKoutsou[P]oopproj/./src/livings/Hero.cpp
// Function: Hero::printEquipedSpells()
void Hero :: printEquipedSpells() {
  if (spells.empty()) {    
    return;
  } else {
    list<Spell*> :: const_iterator it = spells.begin();
    vector<IceSpell*> iceSpells;
    vector<FireSpell*> fireSpells;
    vector<LightningSpell*> lightningSpells;
    for ( ; it != spells.end(); ++it) {
      string kind = (*it)->kindOf();
      if (kind == "IceSpell") {
	iceSpells.push_back(static_cast<IceSpell*>(*it));
      } else if (kind == "FireSpell") {
	fireSpells.push_back(static_cast<FireSpell*>(*it));        
      } else if (kind == "LightningSpell") {
	lightningSpells.push_back(static_cast<LightningSpell*>(*it));
      }
    }
    printIceSpells(iceSpells);
    printFireSpells(fireSpells);
    printLightningSpells(lightningSpells);
  }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xd0, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0xc0(%rbp)
addq $0x60, %rdi
callq 0x17ad0
testb $0x1, %al
jne 0x26349
jmp 0x2634e
jmp 0x26594
movq -0xc0(%rbp), %rdi
addq $0x60, %rdi
callq 0x18110
movq %rax, -0x18(%rbp)
leaq -0x10(%rbp), %rdi
leaq -0x18(%rbp), %rsi
callq 0x18140
leaq -0x30(%rbp), %rdi
callq 0x18160
leaq -0x48(%rbp), %rdi
callq 0x18180
leaq -0x60(%rbp), %rdi
callq 0x181a0
movq -0xc0(%rbp), %rdi
addq $0x60, %rdi
callq 0x181f0
movq %rax, -0x70(%rbp)
leaq -0x68(%rbp), %rdi
leaq -0x70(%rbp), %rsi
callq 0x18140
leaq -0x10(%rbp), %rdi
leaq -0x68(%rbp), %rsi
callq 0x181c0
testb $0x1, %al
jne 0x263c1
jmp 0x26524
leaq -0x10(%rbp), %rdi
callq 0x18220
movq (%rax), %rsi
movq (%rsi), %rax
movq 0x18(%rax), %rax
leaq -0x90(%rbp), %rdi
callq *%rax
jmp 0x263df
leaq 0x883c(%rip), %rsi      # 0x2ec22
leaq -0x90(%rbp), %rdi
callq 0x8e10
movb %al, -0xc1(%rbp)
jmp 0x263fa
movb -0xc1(%rbp), %al
testb $0x1, %al
jne 0x26406
jmp 0x2646a
leaq -0x10(%rbp), %rdi
callq 0x18220
movq (%rax), %rax
movq %rax, -0xa8(%rbp)
leaq -0x30(%rbp), %rdi
leaq -0xa8(%rbp), %rsi
callq 0x18250
jmp 0x2642b
jmp 0x2650a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x26577
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
leaq -0x90(%rbp), %rdi
callq 0x55d0
jmp 0x26577
leaq 0x87ba(%rip), %rsi      # 0x2ec2b
leaq -0x90(%rbp), %rdi
callq 0x8e10
movb %al, -0xc2(%rbp)
jmp 0x26485
movb -0xc2(%rbp), %al
testb $0x1, %al
jne 0x26491
jmp 0x264b8
leaq -0x10(%rbp), %rdi
callq 0x18220
movq (%rax), %rax
movq %rax, -0xb0(%rbp)
leaq -0x48(%rbp), %rdi
leaq -0xb0(%rbp), %rsi
callq 0x18280
jmp 0x264b6
jmp 0x26508
leaq 0x8776(%rip), %rsi      # 0x2ec35
leaq -0x90(%rbp), %rdi
callq 0x8e10
movb %al, -0xc3(%rbp)
jmp 0x264d3
movb -0xc3(%rbp), %al
testb $0x1, %al
jne 0x264df
jmp 0x26506
leaq -0x10(%rbp), %rdi
callq 0x18220
movq (%rax), %rax
movq %rax, -0xb8(%rbp)
leaq -0x60(%rbp), %rdi
leaq -0xb8(%rbp), %rsi
callq 0x182b0
jmp 0x26504
jmp 0x26506
jmp 0x26508
jmp 0x2650a
leaq -0x90(%rbp), %rdi
callq 0x55d0
leaq -0x10(%rbp), %rdi
callq 0x182e0
jmp 0x2638a
movq -0xc0(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x27b90
jmp 0x26536
movq -0xc0(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x27630
jmp 0x26548
movq -0xc0(%rbp), %rdi
leaq -0x60(%rbp), %rsi
callq 0x280f0
jmp 0x2655a
leaq -0x60(%rbp), %rdi
callq 0x18300
leaq -0x48(%rbp), %rdi
callq 0x18360
leaq -0x30(%rbp), %rdi
callq 0x183c0
jmp 0x26594
leaq -0x60(%rbp), %rdi
callq 0x18300
leaq -0x48(%rbp), %rdi
callq 0x18360
leaq -0x30(%rbp), %rdi
callq 0x183c0
jmp 0x2659d
addq $0xd0, %rsp
popq %rbp
retq
movq -0x98(%rbp), %rdi
callq 0x5550
nopl (%rax)