// File: /workspace/github_cpp_makefile_star2_O2/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
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movq %rdi, %rbx
callq 0x12a64
movq 0x8(%rax), %rbp
movl 0x10(%rbx), %edi
callq 0x8ec9
movl %eax, %r15d
movq %rbx, %rdi
callq 0x12a58
movl %eax, %edi
callq 0x8ec9
movl %eax, 0x8(%rsp)
movl 0x44(%rbx), %edi
callq 0x8ec9
movl %eax, 0xc(%rsp)
movl 0x48(%rbx), %edi
callq 0x8ec9
movl %eax, 0x10(%rsp)
cvttsd2si 0x50(%rbx), %edi
callq 0x8ec9
pushq $0x2
popq %rcx
addl %ecx, %eax
movl %eax, 0x4(%rsp)
cvttsd2si 0x58(%rbx), %edi
callq 0x8ec9
addl $0x2, %eax
movl %eax, 0x14(%rsp)
callq 0x9188
movq 0xe310(%rip), %rdi      # 0x20fc0
pushq $0x7c
popq %r13
movl %r13d, %esi
callq 0x42c0
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rax
shlq $0x1f, %rbp
movabsq $-0x100000000, %r14     # imm = 0xFFFFFFFF00000000
andq %rbp, %r14
movabsq $0xd00000000, %rcx      # imm = 0xD00000000
addq %rbp, %rcx
sarq $0x20, %rcx
movq %rcx, 0x10(%r12,%rax)
movq %rbx, %rdi
callq 0x12a64
movq %r12, %rdi
movq %rax, %rsi
callq 0x4220
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movabsq $0xc00000000, %rdx      # imm = 0xC00000000
subq %r14, %rdx
sarq $0x20, %rdx
movq %rdx, 0x10(%rax,%rcx)
movq %rax, %rdi
movl %r13d, %esi
callq 0x42c0
movq %rax, %rdi
movl %r15d, %eax
cltd
pushq $0x2
popq %r14
idivl %r14d
movl %eax, %r12d
pushq $0x5
popq %rbp
leal (%r12,%rbp), %eax
movq (%rdi), %rcx
movq -0x18(%rcx), %rcx
cltq
movq %rax, 0x10(%rdi,%rcx)
movl 0x10(%rbx), %esi
callq 0x4400
movl %ebp, %ecx
subl %r12d, %ecx
movq (%rax), %rdx
movq -0x18(%rdx), %rdx
movslq %ecx, %rcx
movq %rcx, 0x10(%rax,%rdx)
movq %rax, %rdi
movl %r13d, %esi
movl %r13d, %r15d
callq 0x42c0
movq %rax, %r12
movl 0x8(%rsp), %eax
cltd
idivl %r14d
movl %eax, %r13d
leal (%r13,%rbp), %eax
movq (%r12), %rcx
movq -0x18(%rcx), %rcx
cltq
movq %rax, 0x10(%r12,%rcx)
movq %rbx, %rdi
callq 0x12a58
movq %r12, %rdi
movl %eax, %esi
callq 0x4400
pushq $0x4
popq %rcx
subl %r13d, %ecx
movq (%rax), %rdx
movq -0x18(%rdx), %rdx
movslq %ecx, %rcx
movq %rcx, 0x10(%rax,%rdx)
movq %rax, %rdi
movl %r15d, %esi
callq 0x42c0
movq %rax, %rdi
movl 0xc(%rsp), %eax
cltd
idivl %r14d
movl %eax, %r12d
leal 0x6(%r12), %eax
movq (%rdi), %rcx
movq -0x18(%rcx), %rcx
cltq
movq %rax, 0x10(%rdi,%rcx)
movl 0x44(%rbx), %esi
callq 0x4400
pushq $0x7
popq %r13
movl %r13d, %ecx
subl %r12d, %ecx
movq (%rax), %rdx
movq -0x18(%rdx), %rdx
movslq %ecx, %rcx
movq %rcx, 0x10(%rax,%rdx)
movq %rax, %rdi
movl %r15d, %esi
callq 0x42c0
movq %rax, %rdi
movl 0x10(%rsp), %eax
cltd
idivl %r14d
movl %eax, %r12d
leal 0x6(%r12), %eax
movq (%rdi), %rcx
movq -0x18(%rcx), %rcx
cltq
movq %rax, 0x10(%rdi,%rcx)
movl 0x48(%rbx), %esi
callq 0x4400
subl %r12d, %r13d
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movslq %r13d, %rdx
movq %rdx, 0x10(%rax,%rcx)
movq %rax, %rdi
movl %r15d, %r14d
movl %r15d, %esi
callq 0x42c0
movq %rax, %rdi
movl 0x4(%rsp), %eax
cltd
pushq $0x2
popq %r13
idivl %r13d
movl %eax, %r15d
leal (%r15,%rbp), %eax
movq (%rdi), %rcx
movq -0x18(%rcx), %rdx
cltq
movq %rax, 0x10(%rdi,%rdx)
movq -0x18(%rcx), %rax
pushq $0x2
popq %r12
movq %r12, 0x8(%rdi,%rax)
movsd 0x50(%rbx), %xmm0
callq 0x43b0
movl %ebp, %ecx
subl %r15d, %ecx
movq (%rax), %rdx
movq -0x18(%rdx), %rdx
movslq %ecx, %rcx
movq %rcx, 0x10(%rax,%rdx)
movq %rax, %rdi
movl %r14d, %esi
movl %r14d, %r15d
callq 0x42c0
movq %rax, %rdi
movl 0x14(%rsp), %eax
cltd
idivl %r13d
movl %eax, %r14d
leal 0x5(%r14), %eax
movq (%rdi), %rcx
movq -0x18(%rcx), %rdx
cltq
movq %rax, 0x10(%rdi,%rdx)
movq -0x18(%rcx), %rax
movq %r12, 0x8(%rdi,%rax)
movsd 0x58(%rbx), %xmm0
callq 0x43b0
subl %r14d, %ebp
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movslq %ebp, %rdx
movq %rdx, 0x10(%rax,%rcx)
movq %rax, %rdi
movl %r15d, %esi
callq 0x42c0
movq %rax, %rdi
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x4120
nop