// File: arisKoutsou[P]oopproj/./src/spells/IceSpell.cpp
// Function: IceSpell::getInfo() const
void IceSpell::getInfo() const {
  size_t nameLength = getName().length();
  int priceDigits = getDigits(getValue());
  int levelDigits = getDigits(getMinLevel());
  int manaDigits = getDigits(getMagicPowerRequired());
  int minDamageDigits = getDigits(getMinDamage());
  int maxDamageDigits = getDigits(getMaxDamage());
  int nerfDigits = getDigits(reduceOponentDamageRangeBy()) + 2;
  int durationDigits = getDigits(getReductionRounds());  
  printIceSpellFrame();
  cout << '|'
       << setw(12 + nameLength/2) << getName() << setw(13 - nameLength/2) << '|'
       << setw(3 + priceDigits/2) << getValue() << setw(5 - priceDigits/2) << '|'
       << setw(6 + levelDigits/2) << getMinLevel() << setw(6 - levelDigits/2) << '|'
       << setw(5 + manaDigits/2) << getMagicPowerRequired() << setw(7 - manaDigits/2) << '|'
       << setw(6 + minDamageDigits/2) << getMinDamage() << setw(7 - minDamageDigits/2) << '|'
       << setw(6 + maxDamageDigits/2) << getMaxDamage() << setw(7 - maxDamageDigits/2) << '|'
       << setw(10 + nerfDigits/2) << setprecision(2) << reduceOponentDamageRangeBy()
       << setw(9 - nerfDigits/2) << '|'
       << setw(5 + durationDigits/2) << getReductionRounds() << setw(6 - durationDigits/2) << '|'
       << endl;  
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x140, %rsp            # imm = 0x140
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x88(%rbp)
callq 0x21a30
movq %rax, %rdi
callq 0x54a0
movq -0x88(%rbp), %rdi
movq %rax, -0x10(%rbp)
callq 0x21a50
movl %eax, %edi
callq 0x10b10
movq -0x88(%rbp), %rdi
movl %eax, -0x14(%rbp)
callq 0x21a10
movl %eax, %edi
callq 0x10b10
movq -0x88(%rbp), %rdi
movl %eax, -0x18(%rbp)
callq 0x219b0
movl %eax, %edi
callq 0x10b10
movq -0x88(%rbp), %rdi
movl %eax, -0x1c(%rbp)
callq 0x219f0
movl %eax, %edi
callq 0x10b10
movq -0x88(%rbp), %rdi
movl %eax, -0x20(%rbp)
callq 0x219d0
movl %eax, %edi
callq 0x10b10
movq -0x88(%rbp), %rdi
movl %eax, -0x24(%rbp)
callq 0x20250
cvttsd2si %xmm0, %edi
callq 0x10b10
movq -0x88(%rbp), %rdi
addl $0x2, %eax
movl %eax, -0x28(%rbp)
callq 0x20270
movl %eax, %edi
callq 0x10b10
movl %eax, -0x2c(%rbp)
callq 0x121e0
movq 0x1fc5a(%rip), %rdi     # 0x3ffc0
movl $0x7c, %esi
callq 0x53d0
movq %rax, -0x140(%rbp)
movq -0x10(%rbp), %rax
shrq %rax
addq $0xc, %rax
movl %eax, %edi
callq 0x17ce0
movq -0x140(%rbp), %rdi
movl %eax, -0x30(%rbp)
movl -0x30(%rbp), %esi
callq 0x53b0
movq -0x88(%rbp), %rdi
movq %rax, -0x138(%rbp)
callq 0x21a30
movq -0x138(%rbp), %rdi
movq %rax, %rsi
callq 0x52a0
movq %rax, -0x130(%rbp)
movq -0x10(%rbp), %rcx
shrq %rcx
movl $0xd, %eax
subq %rcx, %rax
movl %eax, %edi
callq 0x17ce0
movq -0x130(%rbp), %rdi
movl %eax, -0x34(%rbp)
movl -0x34(%rbp), %esi
callq 0x53b0
movq %rax, %rdi
movl $0x7c, %esi
callq 0x53d0
movq %rax, -0x128(%rbp)
movl -0x14(%rbp), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %edi
addl $0x3, %edi
callq 0x17ce0
movq -0x128(%rbp), %rdi
movl %eax, -0x38(%rbp)
movl -0x38(%rbp), %esi
callq 0x53b0
movq -0x88(%rbp), %rdi
movq %rax, -0x120(%rbp)
callq 0x21a50
movq -0x120(%rbp), %rdi
movl %eax, %esi
callq 0x5540
movq %rax, -0x118(%rbp)
movl -0x14(%rbp), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl $0x5, %edi
subl %eax, %edi
callq 0x17ce0
movq -0x118(%rbp), %rdi
movl %eax, -0x3c(%rbp)
movl -0x3c(%rbp), %esi
callq 0x53b0
movq %rax, %rdi
movl $0x7c, %esi
callq 0x53d0
movq %rax, -0x110(%rbp)
movl -0x18(%rbp), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %edi
addl $0x6, %edi
callq 0x17ce0
movq -0x110(%rbp), %rdi
movl %eax, -0x40(%rbp)
movl -0x40(%rbp), %esi
callq 0x53b0
movq -0x88(%rbp), %rdi
movq %rax, -0x108(%rbp)
callq 0x21a10
movq -0x108(%rbp), %rdi
movl %eax, %esi
callq 0x5540
movq %rax, -0x100(%rbp)
movl -0x18(%rbp), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl $0x6, %edi
subl %eax, %edi
callq 0x17ce0
movq -0x100(%rbp), %rdi
movl %eax, -0x44(%rbp)
movl -0x44(%rbp), %esi
callq 0x53b0
movq %rax, %rdi
movl $0x7c, %esi
callq 0x53d0
movq %rax, -0xf8(%rbp)
movl -0x1c(%rbp), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %edi
addl $0x5, %edi
callq 0x17ce0
movq -0xf8(%rbp), %rdi
movl %eax, -0x48(%rbp)
movl -0x48(%rbp), %esi
callq 0x53b0
movq -0x88(%rbp), %rdi
movq %rax, -0xf0(%rbp)
callq 0x219b0
movq -0xf0(%rbp), %rdi
movl %eax, %esi
callq 0x5540
movq %rax, -0xe8(%rbp)
movl -0x1c(%rbp), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl $0x7, %edi
subl %eax, %edi
callq 0x17ce0
movq -0xe8(%rbp), %rdi
movl %eax, -0x4c(%rbp)
movl -0x4c(%rbp), %esi
callq 0x53b0
movq %rax, %rdi
movl $0x7c, %esi
callq 0x53d0
movq %rax, -0xe0(%rbp)
movl -0x20(%rbp), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %edi
addl $0x6, %edi
callq 0x17ce0
movq -0xe0(%rbp), %rdi
movl %eax, -0x50(%rbp)
movl -0x50(%rbp), %esi
callq 0x53b0
movq -0x88(%rbp), %rdi
movq %rax, -0xd8(%rbp)
callq 0x219f0
movq -0xd8(%rbp), %rdi
movl %eax, %esi
callq 0x5540
movq %rax, -0xd0(%rbp)
movl -0x20(%rbp), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl $0x7, %edi
subl %eax, %edi
callq 0x17ce0
movq -0xd0(%rbp), %rdi
movl %eax, -0x54(%rbp)
movl -0x54(%rbp), %esi
callq 0x53b0
movq %rax, %rdi
movl $0x7c, %esi
callq 0x53d0
movq %rax, -0xc8(%rbp)
movl -0x24(%rbp), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %edi
addl $0x6, %edi
callq 0x17ce0
movq -0xc8(%rbp), %rdi
movl %eax, -0x58(%rbp)
movl -0x58(%rbp), %esi
callq 0x53b0
movq -0x88(%rbp), %rdi
movq %rax, -0xc0(%rbp)
callq 0x219d0
movq -0xc0(%rbp), %rdi
movl %eax, %esi
callq 0x5540
movq %rax, -0xb8(%rbp)
movl -0x24(%rbp), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl $0x7, %edi
subl %eax, %edi
callq 0x17ce0
movq -0xb8(%rbp), %rdi
movl %eax, -0x5c(%rbp)
movl -0x5c(%rbp), %esi
callq 0x53b0
movq %rax, %rdi
movl $0x7c, %esi
callq 0x53d0
movq %rax, -0xb0(%rbp)
movl -0x28(%rbp), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %edi
addl $0xa, %edi
callq 0x17ce0
movq -0xb0(%rbp), %rdi
movl %eax, -0x60(%rbp)
movl -0x60(%rbp), %esi
callq 0x53b0
movq %rax, -0xa8(%rbp)
movl $0x2, %edi
callq 0x20900
movq -0xa8(%rbp), %rdi
movl %eax, -0x64(%rbp)
movl -0x64(%rbp), %esi
callq 0x54e0
movq -0x88(%rbp), %rdi
movq %rax, -0xa0(%rbp)
callq 0x20250
movq -0xa0(%rbp), %rdi
callq 0x55a0
movq %rax, -0x98(%rbp)
movl -0x28(%rbp), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl $0x9, %edi
subl %eax, %edi
callq 0x17ce0
movq -0x98(%rbp), %rdi
movl %eax, -0x68(%rbp)
movl -0x68(%rbp), %esi
callq 0x53b0
movq %rax, %rdi
movl $0x7c, %esi
callq 0x53d0
movq %rax, -0x90(%rbp)
movl -0x2c(%rbp), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %edi
addl $0x5, %edi
callq 0x17ce0
movq -0x90(%rbp), %rdi
movl %eax, -0x6c(%rbp)
movl -0x6c(%rbp), %esi
callq 0x53b0
movq -0x88(%rbp), %rdi
movq %rax, -0x80(%rbp)
callq 0x20270
movq -0x80(%rbp), %rdi
movl %eax, %esi
callq 0x5540
movq %rax, -0x78(%rbp)
movl -0x2c(%rbp), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl $0x6, %edi
subl %eax, %edi
callq 0x17ce0
movq -0x78(%rbp), %rdi
movl %eax, -0x70(%rbp)
movl -0x70(%rbp), %esi
callq 0x53b0
movq %rax, %rdi
movl $0x7c, %esi
callq 0x53d0
movq %rax, %rdi
movq 0x1f7b4(%rip), %rsi     # 0x3ffa0
callq 0x5330
addq $0x140, %rsp            # imm = 0x140
popq %rbp
retq
nopw (%rax,%rax)