// File: hobbitsyfeet[P]Turn/unit.cc
// Function: Unit::unEquipItem(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
void Unit::unEquipItem(string i){
  vector<Item>::iterator it;
  bool didEquip = false;
  for(it=inv.invContainer.begin(); it< inv.invContainer.end(); it++){
    if(it->itemGetName() == i){
      if(it->itemGetType() == "Right-Hand" && rightHandEquipped == true){
	rightHandEquipped = false;
	didEquip = true;
      }
      else if(it->itemGetType() == "Left-Hand" && leftHandEquipped == true){
	leftHandEquipped = false;
	didEquip = true;
      }
      else if(it->itemGetType() == "Two-Hands" && rightHandEquipped == true && leftHandEquipped == true){
	rightHandEquipped = false;
	leftHandEquipped = false;
	didEquip = true;
      }
      else if(it->itemGetType() == "Helmet" && headEquipped == true){
	headEquipped = false;
	didEquip = true;
      }
      else if(it->itemGetType() == "Body-Armour" && torsoEquipped == true){
	torsoEquipped = false;
	didEquip = true;
      }
      else if(it->itemGetType() == "Leggings" && legsEquipped == true){
	legsEquipped = false;
	didEquip = true;
      }
      else if(it->itemGetType() == "Boots" && feetEquipped == true){
	feetEquipped = false;
	didEquip = true;
      }
      if(didEquip == true){
	cout<<i<<" un-equipped";
	attack -= it->itemGetDamage();
  range -= it->itemGetRange();
	defence -= it->itemGetDefence();
	it->itemUnequip();
  break;
      }
      else
	cout<<"Could not un-equip "<<i;
    }
  }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x1d0, %rsp            # imm = 0x1D0
movq %rsi, -0x158(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x150(%rbp)
leaq -0x18(%rbp), %rdi
callq 0x7aa0
movq -0x150(%rbp), %rdi
movb $0x0, -0x19(%rbp)
addq $0x80, %rdi
callq 0x7ac0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x150(%rbp), %rdi
addq $0x80, %rdi
callq 0x7b30
movq %rax, -0x30(%rbp)
leaq -0x18(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x7af0
testb $0x1, %al
jne 0x628e
jmp 0x6943
leaq -0x18(%rbp), %rdi
callq 0x7bf0
movq %rax, %rsi
leaq -0x50(%rbp), %rdi
callq 0x8770
movq -0x158(%rbp), %rsi
leaq -0x50(%rbp), %rdi
callq 0x7b60
movb %al, -0x159(%rbp)
leaq -0x50(%rbp), %rdi
callq 0x31c0
movb -0x159(%rbp), %al
testb $0x1, %al
jne 0x62d1
jmp 0x692a
leaq -0x18(%rbp), %rdi
callq 0x7bf0
movq %rax, %rsi
leaq -0x70(%rbp), %rdi
movq %rdi, -0x168(%rbp)
callq 0x87a0
movq -0x168(%rbp), %rdi
leaq 0xbf74(%rip), %rsi      # 0x1226f
callq 0x4880
movb %al, -0x15a(%rbp)
jmp 0x6308
movb -0x15a(%rbp), %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0x169(%rbp)
jne 0x631d
jmp 0x633b
movq -0x150(%rbp), %rax
movb 0x99(%rax), %al
andb $0x1, %al
movzbl %al, %eax
cmpl $0x1, %eax
sete %al
movb %al, -0x169(%rbp)
movb -0x169(%rbp), %al
movb %al, -0x16a(%rbp)
leaq -0x70(%rbp), %rdi
callq 0x31c0
movb -0x16a(%rbp), %al
testb $0x1, %al
jne 0x635c
jmp 0x638d
movq -0x150(%rbp), %rax
movb $0x0, 0x99(%rax)
movb $0x1, -0x19(%rbp)
jmp 0x685a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
leaq -0x70(%rbp), %rdi
callq 0x31c0
jmp 0x694c
leaq -0x18(%rbp), %rdi
callq 0x7bf0
movq %rax, %rsi
leaq -0xa0(%rbp), %rdi
movq %rdi, -0x178(%rbp)
callq 0x87a0
movq -0x178(%rbp), %rdi
leaq 0xbec0(%rip), %rsi      # 0x1227a
callq 0x4880
movb %al, -0x16b(%rbp)
jmp 0x63c7
movb -0x16b(%rbp), %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0x179(%rbp)
jne 0x63dc
jmp 0x63fa
movq -0x150(%rbp), %rax
movb 0x98(%rax), %al
andb $0x1, %al
movzbl %al, %eax
cmpl $0x1, %eax
sete %al
movb %al, -0x179(%rbp)
movb -0x179(%rbp), %al
movb %al, -0x17a(%rbp)
leaq -0xa0(%rbp), %rdi
callq 0x31c0
movb -0x17a(%rbp), %al
testb $0x1, %al
jne 0x641e
jmp 0x6452
movq -0x150(%rbp), %rax
movb $0x0, 0x98(%rax)
movb $0x1, -0x19(%rbp)
jmp 0x6858
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
leaq -0xa0(%rbp), %rdi
callq 0x31c0
jmp 0x694c
leaq -0x18(%rbp), %rdi
callq 0x7bf0
movq %rax, %rsi
leaq -0xc0(%rbp), %rdi
movq %rdi, -0x188(%rbp)
callq 0x87a0
movq -0x188(%rbp), %rdi
leaq 0xbe05(%rip), %rsi      # 0x12284
callq 0x4880
movb %al, -0x17b(%rbp)
jmp 0x648c
movb -0x17b(%rbp), %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0x189(%rbp)
jne 0x64a1
jmp 0x64de
movq -0x150(%rbp), %rax
movb 0x99(%rax), %al
andb $0x1, %al
movzbl %al, %ecx
xorl %eax, %eax
cmpl $0x1, %ecx
movb %al, -0x189(%rbp)
jne 0x64de
movq -0x150(%rbp), %rax
movb 0x98(%rax), %al
andb $0x1, %al
movzbl %al, %eax
cmpl $0x1, %eax
sete %al
movb %al, -0x189(%rbp)
movb -0x189(%rbp), %al
movb %al, -0x18a(%rbp)
leaq -0xc0(%rbp), %rdi
callq 0x31c0
movb -0x18a(%rbp), %al
testb $0x1, %al
jne 0x6502
jmp 0x653d
movq -0x150(%rbp), %rax
movb $0x0, 0x99(%rax)
movb $0x0, 0x98(%rax)
movb $0x1, -0x19(%rbp)
jmp 0x6856
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
leaq -0xc0(%rbp), %rdi
callq 0x31c0
jmp 0x694c
leaq -0x18(%rbp), %rdi
callq 0x7bf0
movq %rax, %rsi
leaq -0xe0(%rbp), %rdi
movq %rdi, -0x198(%rbp)
callq 0x87a0
movq -0x198(%rbp), %rdi
leaq 0xbd24(%rip), %rsi      # 0x1228e
callq 0x4880
movb %al, -0x18b(%rbp)
jmp 0x6577
movb -0x18b(%rbp), %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0x199(%rbp)
jne 0x658c
jmp 0x65aa
movq -0x150(%rbp), %rax
movb 0x9a(%rax), %al
andb $0x1, %al
movzbl %al, %eax
cmpl $0x1, %eax
sete %al
movb %al, -0x199(%rbp)
movb -0x199(%rbp), %al
movb %al, -0x19a(%rbp)
leaq -0xe0(%rbp), %rdi
callq 0x31c0
movb -0x19a(%rbp), %al
testb $0x1, %al
jne 0x65ce
jmp 0x6602
movq -0x150(%rbp), %rax
movb $0x0, 0x9a(%rax)
movb $0x1, -0x19(%rbp)
jmp 0x6854
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
leaq -0xe0(%rbp), %rdi
callq 0x31c0
jmp 0x694c
leaq -0x18(%rbp), %rdi
callq 0x7bf0
movq %rax, %rsi
leaq -0x100(%rbp), %rdi
movq %rdi, -0x1a8(%rbp)
callq 0x87a0
movq -0x1a8(%rbp), %rdi
leaq 0xbc66(%rip), %rsi      # 0x12295
callq 0x4880
movb %al, -0x19b(%rbp)
jmp 0x663c
movb -0x19b(%rbp), %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0x1a9(%rbp)
jne 0x6651
jmp 0x666f
movq -0x150(%rbp), %rax
movb 0x9b(%rax), %al
andb $0x1, %al
movzbl %al, %eax
cmpl $0x1, %eax
sete %al
movb %al, -0x1a9(%rbp)
movb -0x1a9(%rbp), %al
movb %al, -0x1aa(%rbp)
leaq -0x100(%rbp), %rdi
callq 0x31c0
movb -0x1aa(%rbp), %al
testb $0x1, %al
jne 0x6693
jmp 0x66c7
movq -0x150(%rbp), %rax
movb $0x0, 0x9b(%rax)
movb $0x1, -0x19(%rbp)
jmp 0x6852
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
leaq -0x100(%rbp), %rdi
callq 0x31c0
jmp 0x694c
leaq -0x18(%rbp), %rdi
callq 0x7bf0
movq %rax, %rsi
leaq -0x120(%rbp), %rdi
movq %rdi, -0x1b8(%rbp)
callq 0x87a0
movq -0x1b8(%rbp), %rdi
leaq 0xbbad(%rip), %rsi      # 0x122a1
callq 0x4880
movb %al, -0x1ab(%rbp)
jmp 0x6701
movb -0x1ab(%rbp), %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0x1b9(%rbp)
jne 0x6716
jmp 0x6734
movq -0x150(%rbp), %rax
movb 0x9c(%rax), %al
andb $0x1, %al
movzbl %al, %eax
cmpl $0x1, %eax
sete %al
movb %al, -0x1b9(%rbp)
movb -0x1b9(%rbp), %al
movb %al, -0x1ba(%rbp)
leaq -0x120(%rbp), %rdi
callq 0x31c0
movb -0x1ba(%rbp), %al
testb $0x1, %al
jne 0x6758
jmp 0x678c
movq -0x150(%rbp), %rax
movb $0x0, 0x9c(%rax)
movb $0x1, -0x19(%rbp)
jmp 0x6850
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
leaq -0x120(%rbp), %rdi
callq 0x31c0
jmp 0x694c
leaq -0x18(%rbp), %rdi
callq 0x7bf0
movq %rax, %rsi
leaq -0x140(%rbp), %rdi
movq %rdi, -0x1c8(%rbp)
callq 0x87a0
movq -0x1c8(%rbp), %rdi
leaq 0xbaf1(%rip), %rsi      # 0x122aa
callq 0x4880
movb %al, -0x1bb(%rbp)
jmp 0x67c6
movb -0x1bb(%rbp), %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0x1c9(%rbp)
jne 0x67db
jmp 0x67f9
movq -0x150(%rbp), %rax
movb 0x9d(%rax), %al
andb $0x1, %al
movzbl %al, %eax
cmpl $0x1, %eax
sete %al
movb %al, -0x1c9(%rbp)
movb -0x1c9(%rbp), %al
movb %al, -0x1ca(%rbp)
leaq -0x140(%rbp), %rdi
callq 0x31c0
movb -0x1ca(%rbp), %al
testb $0x1, %al
jne 0x681d
jmp 0x684e
movq -0x150(%rbp), %rax
movb $0x0, 0x9d(%rax)
movb $0x1, -0x19(%rbp)
jmp 0x684e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
leaq -0x140(%rbp), %rdi
callq 0x31c0
jmp 0x694c
jmp 0x6850
jmp 0x6852
jmp 0x6854
jmp 0x6856
jmp 0x6858
jmp 0x685a
movb -0x19(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
cmpl $0x1, %eax
jne 0x6906
movq -0x158(%rbp), %rsi
movq 0x12757(%rip), %rdi     # 0x18fd0
callq 0x3270
movq %rax, %rdi
leaq 0xba45(%rip), %rsi      # 0x122cd
callq 0x3280
leaq -0x18(%rbp), %rdi
callq 0x7bf0
movq %rax, %rdi
callq 0x87f0
movl %eax, %edx
movq -0x150(%rbp), %rax
movl 0x2c(%rax), %ecx
subl %edx, %ecx
movl %ecx, 0x2c(%rax)
leaq -0x18(%rbp), %rdi
callq 0x7bf0
movq %rax, %rdi
callq 0x87d0
movl %eax, %edx
movq -0x150(%rbp), %rax
movl 0x30(%rax), %ecx
subl %edx, %ecx
movl %ecx, 0x30(%rax)
leaq -0x18(%rbp), %rdi
callq 0x7bf0
movq %rax, %rdi
callq 0x8810
movl %eax, %edx
movq -0x150(%rbp), %rax
movl 0x34(%rax), %ecx
subl %edx, %ecx
movl %ecx, 0x34(%rax)
leaq -0x18(%rbp), %rdi
callq 0x7bf0
movq %rax, %rdi
callq 0x8a80
jmp 0x6943
movq 0x126c3(%rip), %rdi     # 0x18fd0
leaq 0xb9c6(%rip), %rsi      # 0x122da
callq 0x3280
movq -0x158(%rbp), %rsi
movq %rax, %rdi
callq 0x3270
jmp 0x692a
jmp 0x692c
leaq -0x18(%rbp), %rdi
xorl %esi, %esi
callq 0x7d70
movq %rax, -0x148(%rbp)
jmp 0x6261
addq $0x1d0, %rsp            # imm = 0x1D0
popq %rbp
retq
movq -0x78(%rbp), %rdi
callq 0x3440
nopw %cs:(%rax,%rax)