// File: 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
movq %rsp, %rbp
subq $0x1f0, %rsp            # imm = 0x1F0
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rsi
movq %rsi, -0xd8(%rbp)
leaq -0x30(%rbp), %rdi
movq %rdi, -0xe8(%rbp)
callq 0x2d510
movq -0xe8(%rbp), %rdi
callq 0x54a0
movq -0xe8(%rbp), %rdi
movq %rax, -0xe0(%rbp)
callq 0x55d0
movq -0xe0(%rbp), %rax
movq -0xd8(%rbp), %rdi
movq %rax, -0x10(%rbp)
callq 0x2d560
movl %eax, %edi
callq 0x10b10
movq -0xd8(%rbp), %rdi
movl %eax, -0x34(%rbp)
callq 0x2d580
movl %eax, %edi
callq 0x10b10
movl %eax, %ecx
movq -0xd8(%rbp), %rax
movl %ecx, -0x38(%rbp)
movl 0x40(%rax), %edi
callq 0x10b10
movl %eax, %ecx
movq -0xd8(%rbp), %rax
movl %ecx, -0x3c(%rbp)
movb 0x44(%rax), %dl
leaq 0x35eb(%rip), %rcx      # 0x2f3d2
leaq 0x35e8(%rip), %rax      # 0x2f3d6
testb $0x1, %dl
cmovneq %rcx, %rax
movq %rax, -0xd0(%rbp)
leaq -0x61(%rbp), %rdi
movq %rdi, -0xc8(%rbp)
callq 0x5560
movq -0xd0(%rbp), %rsi
movq -0xc8(%rbp), %rdx
leaq -0x60(%rbp), %rdi
callq 0x7d20
jmp 0x2be25
leaq -0x61(%rbp), %rdi
callq 0x5350
callq 0x119b0
jmp 0x2be35
movq 0x14184(%rip), %rdi     # 0x3ffc0
movl $0x7c, %esi
callq 0x53d0
movq %rax, -0xf0(%rbp)
jmp 0x2be4f
movq -0x10(%rbp), %rax
shrq %rax
movl %eax, %edi
addl $0xc, %edi
callq 0x17ce0
movl %eax, -0xf4(%rbp)
jmp 0x2be68
movq -0xf0(%rbp), %rdi
movl -0xf4(%rbp), %eax
movl %eax, -0x78(%rbp)
movl -0x78(%rbp), %esi
callq 0x53b0
movq %rax, -0x100(%rbp)
jmp 0x2be89
movq -0xd8(%rbp), %rsi
leaq -0x98(%rbp), %rdi
callq 0x2d510
jmp 0x2be9e
movq -0x100(%rbp), %rdi
leaq -0x98(%rbp), %rsi
callq 0x52a0
movq %rax, -0x108(%rbp)
jmp 0x2beba
movq -0x10(%rbp), %rax
shrq %rax
movl $0xd, %edi
subl %eax, %edi
callq 0x17ce0
movl %eax, -0x10c(%rbp)
jmp 0x2bed5
movq -0x108(%rbp), %rdi
movl -0x10c(%rbp), %eax
movl %eax, -0x9c(%rbp)
movl -0x9c(%rbp), %esi
callq 0x53b0
movq %rax, -0x118(%rbp)
jmp 0x2befc
movq -0x118(%rbp), %rdi
movl $0x7c, %esi
callq 0x53d0
movq %rax, -0x120(%rbp)
jmp 0x2bf16
movl -0x34(%rbp), %edi
movl %edi, %eax
shrl $0x1f, %eax
addl %eax, %edi
sarl %edi
addl $0x3, %edi
callq 0x17ce0
movl %eax, -0x124(%rbp)
jmp 0x2bf32
movq -0x120(%rbp), %rdi
movl -0x124(%rbp), %eax
movl %eax, -0xa0(%rbp)
movl -0xa0(%rbp), %esi
callq 0x53b0
movq %rax, -0x130(%rbp)
jmp 0x2bf59
movq -0xd8(%rbp), %rdi
callq 0x2d560
movl %eax, -0x134(%rbp)
jmp 0x2bf6d
movl -0x134(%rbp), %esi
movq -0x130(%rbp), %rdi
callq 0x5540
movq %rax, -0x140(%rbp)
jmp 0x2bf88
movl -0x34(%rbp), %eax
movl %eax, %ecx
shrl $0x1f, %ecx
addl %ecx, %eax
sarl %eax
movl $0x5, %edi
subl %eax, %edi
callq 0x17ce0
movl %eax, -0x144(%rbp)
jmp 0x2bfa8
movq -0x140(%rbp), %rdi
movl -0x144(%rbp), %eax
movl %eax, -0xa4(%rbp)
movl -0xa4(%rbp), %esi
callq 0x53b0
movq %rax, -0x150(%rbp)
jmp 0x2bfcf
movq -0x150(%rbp), %rdi
movl $0x7c, %esi
callq 0x53d0
movq %rax, -0x158(%rbp)
jmp 0x2bfe9
movl -0x38(%rbp), %edi
movl %edi, %eax
shrl $0x1f, %eax
addl %eax, %edi
sarl %edi
addl $0x6, %edi
callq 0x17ce0
movl %eax, -0x15c(%rbp)
jmp 0x2c005
movq -0x158(%rbp), %rdi
movl -0x15c(%rbp), %eax
movl %eax, -0xa8(%rbp)
movl -0xa8(%rbp), %esi
callq 0x53b0
movq %rax, -0x168(%rbp)
jmp 0x2c02c
movq -0xd8(%rbp), %rdi
callq 0x2d580
movl %eax, -0x16c(%rbp)
jmp 0x2c040
movl -0x16c(%rbp), %esi
movq -0x168(%rbp), %rdi
callq 0x5540
movq %rax, -0x178(%rbp)
jmp 0x2c05b
movl -0x38(%rbp), %eax
movl %eax, %ecx
shrl $0x1f, %ecx
addl %ecx, %eax
sarl %eax
movl $0x6, %edi
subl %eax, %edi
callq 0x17ce0
movl %eax, -0x17c(%rbp)
jmp 0x2c07b
movq -0x178(%rbp), %rdi
movl -0x17c(%rbp), %eax
movl %eax, -0xac(%rbp)
movl -0xac(%rbp), %esi
callq 0x53b0
movq %rax, -0x188(%rbp)
jmp 0x2c0a2
movq -0x188(%rbp), %rdi
movl $0x7c, %esi
callq 0x53d0
movq %rax, -0x190(%rbp)
jmp 0x2c0bc
movl -0x3c(%rbp), %edi
movl %edi, %eax
shrl $0x1f, %eax
addl %eax, %edi
sarl %edi
addl $0x4, %edi
callq 0x17ce0
movl %eax, -0x194(%rbp)
jmp 0x2c0d8
movq -0x190(%rbp), %rdi
movl -0x194(%rbp), %eax
movl %eax, -0xb0(%rbp)
movl -0xb0(%rbp), %esi
callq 0x53b0
movq %rax, -0x1a0(%rbp)
jmp 0x2c0ff
movq -0x1a0(%rbp), %rdi
movq -0xd8(%rbp), %rax
movl 0x40(%rax), %esi
callq 0x5540
movq %rax, -0x1a8(%rbp)
jmp 0x2c11e
movl -0x3c(%rbp), %eax
movl %eax, %ecx
shrl $0x1f, %ecx
addl %ecx, %eax
sarl %eax
movl $0x5, %edi
subl %eax, %edi
callq 0x17ce0
movl %eax, -0x1ac(%rbp)
jmp 0x2c13e
movq -0x1a8(%rbp), %rdi
movl -0x1ac(%rbp), %eax
movl %eax, -0xb4(%rbp)
movl -0xb4(%rbp), %esi
callq 0x53b0
movq %rax, -0x1b8(%rbp)
jmp 0x2c165
movq -0x1b8(%rbp), %rdi
movl $0x7c, %esi
callq 0x53d0
movq %rax, -0x1c0(%rbp)
jmp 0x2c17f
leaq -0x60(%rbp), %rdi
callq 0x54a0
shrq %rax
movl %eax, %edi
addl $0x6, %edi
callq 0x17ce0
movl %eax, -0x1c4(%rbp)
jmp 0x2c19d
movq -0x1c0(%rbp), %rdi
movl -0x1c4(%rbp), %eax
movl %eax, -0xb8(%rbp)
movl -0xb8(%rbp), %esi
callq 0x53b0
movq %rax, -0x1d0(%rbp)
jmp 0x2c1c4
movq -0x1d0(%rbp), %rdi
leaq -0x60(%rbp), %rsi
callq 0x52a0
movq %rax, -0x1d8(%rbp)
jmp 0x2c1dd
leaq -0x60(%rbp), %rdi
callq 0x54a0
shrq %rax
movl $0x7, %edi
subl %eax, %edi
callq 0x17ce0
movl %eax, -0x1dc(%rbp)
jmp 0x2c1fd
movq -0x1d8(%rbp), %rdi
movl -0x1dc(%rbp), %eax
movl %eax, -0xbc(%rbp)
movl -0xbc(%rbp), %esi
callq 0x53b0
movq %rax, -0x1e8(%rbp)
jmp 0x2c224
movq -0x1e8(%rbp), %rdi
movl $0x7c, %esi
callq 0x53d0
movq %rax, -0x1f0(%rbp)
jmp 0x2c23e
movq -0x1f0(%rbp), %rdi
movq 0x13d54(%rip), %rsi     # 0x3ffa0
callq 0x5330
jmp 0x2c253
leaq -0x98(%rbp), %rdi
callq 0x55d0
leaq -0x60(%rbp), %rdi
callq 0x55d0
addq $0x1f0, %rsp            # imm = 0x1F0
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
leaq -0x61(%rbp), %rdi
callq 0x5350
jmp 0x2c2b7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0x2c2ae
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
leaq -0x98(%rbp), %rdi
callq 0x55d0
leaq -0x60(%rbp), %rdi
callq 0x55d0
movq -0x70(%rbp), %rdi
callq 0x5550