// File: /workspace/github_cpp_makefile_star2_O2/arisKoutsou[P]oopproj/./src/items/Weapon.cpp
// Function: Weapon::getInfo() const
void Weapon :: getInfo() const {
  size_t nameLength = getName().length();
  int priceDigits = getDigits(buyFor());
  int minLevelDigits = getDigits(unlocksInLevel());
  int damageDigits = getDigits(damage);
  string twoHanded = (requiresBothHands) ? "YES" : "NO";
  printWeaponFrame();
  cout << '|'
       << setw(12 + nameLength/2) << getName() << setw(13 - nameLength/2) << '|'
       << setw(3 + priceDigits/2) << buyFor() << setw(5 - priceDigits/2)<< '|'
       << setw(6 + minLevelDigits/2) << unlocksInLevel() << setw(6 - minLevelDigits/2) << '|'
       << setw(4 + damageDigits/2) << damage << setw(5 - damageDigits/2) << '|'
       << setw(6 + twoHanded.length()/2) << twoHanded << setw(7 - twoHanded.length()/2) << '|'
       << endl;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x48, %rsp
movq %rdi, %rbx
leaq 0x8(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x14584
movq 0x8(%r14), %r13
movq %r14, %rdi
callq 0x4470
movq %rbx, %rdi
callq 0x1459a
movl %eax, %edi
callq 0x8ec9
movl %eax, %r15d
movq %rbx, %rdi
callq 0x1459e
movl %eax, %edi
callq 0x8ec9
movl %eax, %r14d
movl 0x40(%rbx), %edi
callq 0x8ec9
movl %eax, %ebp
leaq 0x294a(%rip), %rax      # 0x1640c
leaq 0x2947(%rip), %rsi      # 0x16410
cmpb $0x0, 0x44(%rbx)
cmovneq %rax, %rsi
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x578c
callq 0x94a9
movq 0xd4d4(%rip), %rdi      # 0x20fc0
pushq $0x7c
popq %rsi
callq 0x42c0
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rax
shlq $0x1f, %r13
movabsq $0xc00000000, %rcx      # imm = 0xC00000000
addq %r13, %rcx
sarq $0x20, %rcx
movq %rcx, 0x10(%r12,%rax)
leaq 0x28(%rsp), %rdi
movq %rbx, %rsi
callq 0x14584
leaq 0x28(%rsp), %rsi
movq %r12, %rdi
callq 0x4220
movabsq $-0x100000000, %rcx     # imm = 0xFFFFFFFF00000000
andq %rcx, %r13
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movabsq $0xd00000000, %rdx      # imm = 0xD00000000
subq %r13, %rdx
sarq $0x20, %rdx
movq %rdx, 0x10(%rax,%rcx)
pushq $0x7c
popq %rsi
movq %rax, %rdi
callq 0x42c0
movq %rax, %r12
pushq $0x2
popq %r13
movl %r15d, %eax
cltd
idivl %r13d
movl %eax, %r15d
leal 0x3(%r15), %eax
movq (%r12), %rcx
movq -0x18(%rcx), %rcx
cltq
movq %rax, 0x10(%r12,%rcx)
movq %rbx, %rdi
callq 0x1459a
movq %r12, %rdi
movl %eax, %esi
callq 0x4400
pushq $0x5
popq %r12
movl %r12d, %ecx
subl %r15d, %ecx
movq (%rax), %rdx
movq -0x18(%rdx), %rdx
movslq %ecx, %rcx
movq %rcx, 0x10(%rax,%rdx)
pushq $0x7c
popq %rsi
movq %rax, %rdi
callq 0x42c0
movq %rax, %r15
movl %r14d, %eax
cltd
idivl %r13d
movl %eax, %r14d
leal 0x6(%r14), %eax
movq (%r15), %rcx
movq -0x18(%rcx), %rcx
cltq
movq %rax, 0x10(%r15,%rcx)
movq %rbx, %rdi
callq 0x1459e
movq %r15, %rdi
movl %eax, %esi
callq 0x4400
pushq $0x6
popq %rcx
subl %r14d, %ecx
movq (%rax), %rdx
movq -0x18(%rdx), %rdx
movslq %ecx, %rcx
movq %rcx, 0x10(%rax,%rdx)
pushq $0x7c
popq %rsi
movq %rax, %rdi
callq 0x42c0
movq %rax, %rdi
movl %ebp, %eax
cltd
idivl %r13d
movl %eax, %r14d
leal 0x4(%r14), %eax
movq (%rdi), %rcx
movq -0x18(%rcx), %rcx
cltq
movq %rax, 0x10(%rdi,%rcx)
movl 0x40(%rbx), %esi
callq 0x4400
subl %r14d, %r12d
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movslq %r12d, %rdx
movq %rdx, 0x10(%rax,%rcx)
pushq $0x7c
popq %rsi
movq %rax, %rdi
callq 0x42c0
leaq 0x8(%rsp), %rsi
movq 0x8(%rsi), %rcx
movq (%rax), %rdx
movq -0x18(%rdx), %rdx
shlq $0x1f, %rcx
movabsq $0x600000000, %rdi      # imm = 0x600000000
addq %rcx, %rdi
sarq $0x20, %rdi
movq %rdi, 0x10(%rax,%rdx)
movq %rax, %rdi
callq 0x4220
movq 0x10(%rsp), %rcx
movq (%rax), %rdx
movq -0x18(%rdx), %rdx
shlq $0x1f, %rcx
movabsq $-0x100000000, %rsi     # imm = 0xFFFFFFFF00000000
andq %rsi, %rcx
movabsq $0x700000000, %rsi      # imm = 0x700000000
subq %rcx, %rsi
sarq $0x20, %rsi
movq %rsi, 0x10(%rax,%rdx)
pushq $0x7c
popq %rsi
movq %rax, %rdi
callq 0x42c0
movq %rax, %rdi
callq 0x4120
leaq 0x28(%rsp), %rdi
callq 0x4470
leaq 0x8(%rsp), %rdi
callq 0x4470
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x13cf2
movq %rax, %rbx
jmp 0x13d04
movq %rax, %rbx
leaq 0x28(%rsp), %rdi
callq 0x4470
leaq 0x8(%rsp), %rdi
callq 0x4470
movq %rbx, %rdi
callq 0x4410