// File: arisKoutsou[P]oopproj/./src/livings/Monster.cpp
// Function: Monster::printStats() const
void Monster::printStats() const {
  size_t nameLength = getName().length();
  int levelDigits = getDigits(level);
  int hpDigits = getDigits(getHealthPower());
  int minDamageDigits = getDigits(minDamage);
  int maxDamageDigits = getDigits(maxDamage);
  int armorDigits = getDigits(getDamageReductionFactor()) + 2;
  int dodgeDigits = getDigits(getDodge()) + 2;
  printMonsterFrame();
  cout << '|'
       << setw(13 + nameLength/2) << getName() << setw(12 - nameLength/2) << '|'
       << setw(5 + levelDigits/2) << level << setw(5 - levelDigits/2) << '|'
       << setw(5 + hpDigits/2) << getHealthPower() << setw(4 - hpDigits/2) << '|'
       << setw(6 + minDamageDigits/2) << minDamage << setw(7 - minDamageDigits/2) << '|'
       << setw(6 + maxDamageDigits/2) << maxDamage << setw(7 - maxDamageDigits/2) << '|'
       << setw(5 + armorDigits/2) << setprecision(2) << getDamageReductionFactor()
       << setw(5 - armorDigits/2) << '|'
       << setw(5 + dodgeDigits/2) << setprecision(2) << getDodge() << setw(5 - dodgeDigits/2) << '|'
       << endl;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x110, %rsp            # imm = 0x110
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x80(%rbp)
callq 0x29900
movq %rax, %rdi
callq 0x54a0
movq %rax, %rcx
movq -0x80(%rbp), %rax
movq %rcx, -0x10(%rbp)
movl 0x10(%rax), %edi
callq 0x10b10
movq -0x80(%rbp), %rdi
movl %eax, -0x14(%rbp)
callq 0x298a0
movl %eax, %edi
callq 0x10b10
movl %eax, %ecx
movq -0x80(%rbp), %rax
movl %ecx, -0x18(%rbp)
movl 0x44(%rax), %edi
callq 0x10b10
movl %eax, %ecx
movq -0x80(%rbp), %rax
movl %ecx, -0x1c(%rbp)
movl 0x48(%rax), %edi
callq 0x10b10
movq -0x80(%rbp), %rdi
movl %eax, -0x20(%rbp)
callq 0x29cf0
cvttsd2si %xmm0, %edi
callq 0x10b10
movq -0x80(%rbp), %rdi
addl $0x2, %eax
movl %eax, -0x24(%rbp)
callq 0x29d10
cvttsd2si %xmm0, %edi
callq 0x10b10
addl $0x2, %eax
movl %eax, -0x28(%rbp)
callq 0x11230
movq 0x16115(%rip), %rdi     # 0x3ffc0
movl $0x7c, %esi
callq 0x53d0
movq %rax, -0x110(%rbp)
movq -0x10(%rbp), %rax
shrq %rax
addq $0xd, %rax
movl %eax, %edi
callq 0x17ce0
movq -0x110(%rbp), %rdi
movl %eax, -0x2c(%rbp)
movl -0x2c(%rbp), %esi
callq 0x53b0
movq -0x80(%rbp), %rdi
movq %rax, -0x108(%rbp)
callq 0x29900
movq -0x108(%rbp), %rdi
movq %rax, %rsi
callq 0x52a0
movq %rax, -0x100(%rbp)
movq -0x10(%rbp), %rcx
shrq %rcx
movl $0xc, %eax
subq %rcx, %rax
movl %eax, %edi
callq 0x17ce0
movq -0x100(%rbp), %rdi
movl %eax, -0x30(%rbp)
movl -0x30(%rbp), %esi
callq 0x53b0
movq %rax, %rdi
movl $0x7c, %esi
callq 0x53d0
movq %rax, -0xf8(%rbp)
movl -0x14(%rbp), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %edi
addl $0x5, %edi
callq 0x17ce0
movq -0xf8(%rbp), %rdi
movl %eax, -0x34(%rbp)
movl -0x34(%rbp), %esi
callq 0x53b0
movq %rax, %rdi
movq -0x80(%rbp), %rax
movl 0x10(%rax), %esi
callq 0x5540
movq %rax, -0xf0(%rbp)
movl -0x14(%rbp), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl $0x5, %edi
subl %eax, %edi
callq 0x17ce0
movq -0xf0(%rbp), %rdi
movl %eax, -0x38(%rbp)
movl -0x38(%rbp), %esi
callq 0x53b0
movq %rax, %rdi
movl $0x7c, %esi
callq 0x53d0
movq %rax, -0xe8(%rbp)
movl -0x18(%rbp), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %edi
addl $0x5, %edi
callq 0x17ce0
movq -0xe8(%rbp), %rdi
movl %eax, -0x3c(%rbp)
movl -0x3c(%rbp), %esi
callq 0x53b0
movq -0x80(%rbp), %rdi
movq %rax, -0xe0(%rbp)
callq 0x298a0
movq -0xe0(%rbp), %rdi
movl %eax, %esi
callq 0x5540
movq %rax, -0xd8(%rbp)
movl -0x18(%rbp), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl $0x4, %edi
subl %eax, %edi
callq 0x17ce0
movq -0xd8(%rbp), %rdi
movl %eax, -0x40(%rbp)
movl -0x40(%rbp), %esi
callq 0x53b0
movq %rax, %rdi
movl $0x7c, %esi
callq 0x53d0
movq %rax, -0xd0(%rbp)
movl -0x1c(%rbp), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %edi
addl $0x6, %edi
callq 0x17ce0
movq -0xd0(%rbp), %rdi
movl %eax, -0x44(%rbp)
movl -0x44(%rbp), %esi
callq 0x53b0
movq %rax, %rdi
movq -0x80(%rbp), %rax
movl 0x44(%rax), %esi
callq 0x5540
movq %rax, -0xc8(%rbp)
movl -0x1c(%rbp), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl $0x7, %edi
subl %eax, %edi
callq 0x17ce0
movq -0xc8(%rbp), %rdi
movl %eax, -0x48(%rbp)
movl -0x48(%rbp), %esi
callq 0x53b0
movq %rax, %rdi
movl $0x7c, %esi
callq 0x53d0
movq %rax, -0xc0(%rbp)
movl -0x20(%rbp), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %edi
addl $0x6, %edi
callq 0x17ce0
movq -0xc0(%rbp), %rdi
movl %eax, -0x4c(%rbp)
movl -0x4c(%rbp), %esi
callq 0x53b0
movq %rax, %rdi
movq -0x80(%rbp), %rax
movl 0x48(%rax), %esi
callq 0x5540
movq %rax, -0xb8(%rbp)
movl -0x20(%rbp), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl $0x7, %edi
subl %eax, %edi
callq 0x17ce0
movq -0xb8(%rbp), %rdi
movl %eax, -0x50(%rbp)
movl -0x50(%rbp), %esi
callq 0x53b0
movq %rax, %rdi
movl $0x7c, %esi
callq 0x53d0
movq %rax, -0xb0(%rbp)
movl -0x24(%rbp), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %edi
addl $0x5, %edi
callq 0x17ce0
movq -0xb0(%rbp), %rdi
movl %eax, -0x54(%rbp)
movl -0x54(%rbp), %esi
callq 0x53b0
movq %rax, -0xa8(%rbp)
movl $0x2, %edi
callq 0x20900
movq -0xa8(%rbp), %rdi
movl %eax, -0x58(%rbp)
movl -0x58(%rbp), %esi
callq 0x54e0
movq -0x80(%rbp), %rdi
movq %rax, -0xa0(%rbp)
callq 0x29cf0
movq -0xa0(%rbp), %rdi
callq 0x55a0
movq %rax, -0x98(%rbp)
movl -0x24(%rbp), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl $0x5, %edi
subl %eax, %edi
callq 0x17ce0
movq -0x98(%rbp), %rdi
movl %eax, -0x5c(%rbp)
movl -0x5c(%rbp), %esi
callq 0x53b0
movq %rax, %rdi
movl $0x7c, %esi
callq 0x53d0
movq %rax, -0x90(%rbp)
movl -0x28(%rbp), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %edi
addl $0x5, %edi
callq 0x17ce0
movq -0x90(%rbp), %rdi
movl %eax, -0x60(%rbp)
movl -0x60(%rbp), %esi
callq 0x53b0
movq %rax, -0x88(%rbp)
movl $0x2, %edi
callq 0x20900
movq -0x88(%rbp), %rdi
movl %eax, -0x64(%rbp)
movl -0x64(%rbp), %esi
callq 0x54e0
movq -0x80(%rbp), %rdi
movq %rax, -0x78(%rbp)
callq 0x29d10
movq -0x78(%rbp), %rdi
callq 0x55a0
movq %rax, -0x70(%rbp)
movl -0x28(%rbp), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl $0x5, %edi
subl %eax, %edi
callq 0x17ce0
movq -0x70(%rbp), %rdi
movl %eax, -0x68(%rbp)
movl -0x68(%rbp), %esi
callq 0x53b0
movq %rax, %rdi
movl $0x7c, %esi
callq 0x53d0
movq %rax, %rdi
movq 0x15d1c(%rip), %rsi     # 0x3ffa0
callq 0x5330
addq $0x110, %rsp            # imm = 0x110
popq %rbp
retq
nopw %cs:(%rax,%rax)