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

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x230, %rsp            # imm = 0x230
movq %rsi, -0x198(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x190(%rbp)
movq 0x125f4(%rip), %rdi     # 0x18fd0
leaq 0xb86a(%rip), %rsi      # 0x1224d
callq 0x3280
movq %rax, %rdi
movq 0x125ce(%rip), %rsi     # 0x18fc0
callq 0x32b0
movq 0x125d2(%rip), %rdi     # 0x18fd0
leaq 0xb85b(%rip), %rsi      # 0x12260
callq 0x3280
movq -0x198(%rbp), %rsi
movq %rax, %rdi
callq 0x3270
movq %rax, %rdi
movq 0x1259d(%rip), %rsi     # 0x18fc0
callq 0x32b0
leaq -0x18(%rbp), %rdi
callq 0x7aa0
movq -0x190(%rbp), %rdi
movb $0x0, -0x19(%rbp)
movl $0x1, -0x20(%rbp)
addq $0x80, %rdi
callq 0x7ac0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x190(%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 0x6a88
jmp 0x7250
leaq -0x18(%rbp), %rdi
callq 0x7bf0
movq %rax, %rsi
leaq -0x50(%rbp), %rdi
movq %rdi, -0x1a8(%rbp)
callq 0x8770
movq -0x1a8(%rbp), %rsi
movq 0x1251e(%rip), %rdi     # 0x18fd0
callq 0x3270
movq %rax, -0x1a0(%rbp)
jmp 0x6ac0
leaq -0x18(%rbp), %rdi
callq 0x7bf0
movq %rax, %rsi
leaq -0x80(%rbp), %rdi
callq 0x87a0
jmp 0x6ad7
movq -0x1a0(%rbp), %rdi
leaq -0x80(%rbp), %rsi
callq 0x3270
movq %rax, -0x1b0(%rbp)
jmp 0x6af0
movq -0x1b0(%rbp), %rdi
movq 0x124c2(%rip), %rsi     # 0x18fc0
callq 0x32b0
jmp 0x6b05
leaq -0x80(%rbp), %rdi
callq 0x31c0
leaq -0x50(%rbp), %rdi
callq 0x31c0
movq -0x190(%rbp), %rax
movb 0x98(%rax), %al
movq 0x124a5(%rip), %rdi     # 0x18fd0
andb $0x1, %al
movzbl %al, %esi
callq 0x3460
movq %rax, %rdi
movq -0x190(%rbp), %rax
movb 0x99(%rax), %al
andb $0x1, %al
movzbl %al, %esi
callq 0x3460
movq %rax, %rdi
movq 0x12467(%rip), %rsi     # 0x18fc0
callq 0x32b0
leaq -0x18(%rbp), %rdi
callq 0x7bf0
movq %rax, %rsi
leaq -0xa0(%rbp), %rdi
callq 0x8770
movq -0x198(%rbp), %rsi
leaq -0xa0(%rbp), %rdi
callq 0x7b60
movb %al, -0x1b1(%rbp)
leaq -0xa0(%rbp), %rdi
callq 0x31c0
movb -0x1b1(%rbp), %al
testb $0x1, %al
jne 0x6baa
jmp 0x7237
leaq -0x18(%rbp), %rdi
callq 0x7bf0
movq %rax, %rsi
leaq -0xc0(%rbp), %rdi
movq %rdi, -0x1c0(%rbp)
callq 0x87a0
movq -0x1c0(%rbp), %rdi
leaq 0xb698(%rip), %rsi      # 0x1226f
callq 0x4880
movb %al, -0x1b2(%rbp)
jmp 0x6be4
movb -0x1b2(%rbp), %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0x1c1(%rbp)
jne 0x6bf9
jmp 0x6c17
movq -0x190(%rbp), %rax
movb 0x99(%rax), %al
andb $0x1, %al
movzbl %al, %eax
cmpl $0x0, %eax
sete %al
movb %al, -0x1c1(%rbp)
movb -0x1c1(%rbp), %al
movb %al, -0x1c2(%rbp)
leaq -0xc0(%rbp), %rdi
callq 0x31c0
movb -0x1c2(%rbp), %al
testb $0x1, %al
jne 0x6c3b
jmp 0x6ca0
movq -0x190(%rbp), %rax
movb $0x1, 0x99(%rax)
movb $0x1, -0x19(%rbp)
jmp 0x716d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x6c75
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x80(%rbp), %rdi
callq 0x31c0
leaq -0x50(%rbp), %rdi
callq 0x31c0
jmp 0x7259
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0xc0(%rbp), %rdi
callq 0x31c0
jmp 0x7259
leaq -0x18(%rbp), %rdi
callq 0x7bf0
movq %rax, %rsi
leaq -0xe0(%rbp), %rdi
movq %rdi, -0x1d0(%rbp)
callq 0x87a0
movq -0x1d0(%rbp), %rdi
leaq 0xb5ad(%rip), %rsi      # 0x1227a
callq 0x4880
movb %al, -0x1c3(%rbp)
jmp 0x6cda
movb -0x1c3(%rbp), %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0x1d1(%rbp)
jne 0x6cef
jmp 0x6d0d
movq -0x190(%rbp), %rax
movb 0x98(%rax), %al
andb $0x1, %al
movzbl %al, %eax
cmpl $0x0, %eax
sete %al
movb %al, -0x1d1(%rbp)
movb -0x1d1(%rbp), %al
movb %al, -0x1d2(%rbp)
leaq -0xe0(%rbp), %rdi
callq 0x31c0
movb -0x1d2(%rbp), %al
testb $0x1, %al
jne 0x6d31
jmp 0x6d65
movq -0x190(%rbp), %rax
movb $0x1, 0x98(%rax)
movb $0x1, -0x19(%rbp)
jmp 0x716b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0xe0(%rbp), %rdi
callq 0x31c0
jmp 0x7259
leaq -0x18(%rbp), %rdi
callq 0x7bf0
movq %rax, %rsi
leaq -0x100(%rbp), %rdi
movq %rdi, -0x1e0(%rbp)
callq 0x87a0
movq -0x1e0(%rbp), %rdi
leaq 0xb4f2(%rip), %rsi      # 0x12284
callq 0x4880
movb %al, -0x1d3(%rbp)
jmp 0x6d9f
movb -0x1d3(%rbp), %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0x1e1(%rbp)
jne 0x6db4
jmp 0x6df1
movq -0x190(%rbp), %rax
movb 0x98(%rax), %al
andb $0x1, %al
movzbl %al, %ecx
xorl %eax, %eax
cmpl $0x0, %ecx
movb %al, -0x1e1(%rbp)
jne 0x6df1
movq -0x190(%rbp), %rax
movb 0x99(%rax), %al
andb $0x1, %al
movzbl %al, %eax
cmpl $0x0, %eax
sete %al
movb %al, -0x1e1(%rbp)
movb -0x1e1(%rbp), %al
movb %al, -0x1e2(%rbp)
leaq -0x100(%rbp), %rdi
callq 0x31c0
movb -0x1e2(%rbp), %al
testb $0x1, %al
jne 0x6e15
jmp 0x6e50
movq -0x190(%rbp), %rax
movb $0x1, 0x98(%rax)
movb $0x1, 0x99(%rax)
movb $0x1, -0x19(%rbp)
jmp 0x7169
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x100(%rbp), %rdi
callq 0x31c0
jmp 0x7259
leaq -0x18(%rbp), %rdi
callq 0x7bf0
movq %rax, %rsi
leaq -0x120(%rbp), %rdi
movq %rdi, -0x1f0(%rbp)
callq 0x87a0
movq -0x1f0(%rbp), %rdi
leaq 0xb411(%rip), %rsi      # 0x1228e
callq 0x4880
movb %al, -0x1e3(%rbp)
jmp 0x6e8a
movb -0x1e3(%rbp), %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0x1f1(%rbp)
jne 0x6e9f
jmp 0x6ebd
movq -0x190(%rbp), %rax
movb 0x9a(%rax), %al
andb $0x1, %al
movzbl %al, %eax
cmpl $0x0, %eax
sete %al
movb %al, -0x1f1(%rbp)
movb -0x1f1(%rbp), %al
movb %al, -0x1f2(%rbp)
leaq -0x120(%rbp), %rdi
callq 0x31c0
movb -0x1f2(%rbp), %al
testb $0x1, %al
jne 0x6ee1
jmp 0x6f15
movq -0x190(%rbp), %rax
movb $0x1, 0x9a(%rax)
movb $0x1, -0x19(%rbp)
jmp 0x7167
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x120(%rbp), %rdi
callq 0x31c0
jmp 0x7259
leaq -0x18(%rbp), %rdi
callq 0x7bf0
movq %rax, %rsi
leaq -0x140(%rbp), %rdi
movq %rdi, -0x200(%rbp)
callq 0x87a0
movq -0x200(%rbp), %rdi
leaq 0xb353(%rip), %rsi      # 0x12295
callq 0x4880
movb %al, -0x1f3(%rbp)
jmp 0x6f4f
movb -0x1f3(%rbp), %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0x201(%rbp)
jne 0x6f64
jmp 0x6f82
movq -0x190(%rbp), %rax
movb 0x9b(%rax), %al
andb $0x1, %al
movzbl %al, %eax
cmpl $0x0, %eax
sete %al
movb %al, -0x201(%rbp)
movb -0x201(%rbp), %al
movb %al, -0x202(%rbp)
leaq -0x140(%rbp), %rdi
callq 0x31c0
movb -0x202(%rbp), %al
testb $0x1, %al
jne 0x6fa6
jmp 0x6fda
movq -0x190(%rbp), %rax
movb $0x1, 0x9b(%rax)
movb $0x1, -0x19(%rbp)
jmp 0x7165
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x140(%rbp), %rdi
callq 0x31c0
jmp 0x7259
leaq -0x18(%rbp), %rdi
callq 0x7bf0
movq %rax, %rsi
leaq -0x160(%rbp), %rdi
movq %rdi, -0x210(%rbp)
callq 0x87a0
movq -0x210(%rbp), %rdi
leaq 0xb29a(%rip), %rsi      # 0x122a1
callq 0x4880
movb %al, -0x203(%rbp)
jmp 0x7014
movb -0x203(%rbp), %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0x211(%rbp)
jne 0x7029
jmp 0x7047
movq -0x190(%rbp), %rax
movb 0x9c(%rax), %al
andb $0x1, %al
movzbl %al, %eax
cmpl $0x0, %eax
sete %al
movb %al, -0x211(%rbp)
movb -0x211(%rbp), %al
movb %al, -0x212(%rbp)
leaq -0x160(%rbp), %rdi
callq 0x31c0
movb -0x212(%rbp), %al
testb $0x1, %al
jne 0x706b
jmp 0x709f
movq -0x190(%rbp), %rax
movb $0x1, 0x9c(%rax)
movb $0x1, -0x19(%rbp)
jmp 0x7163
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x160(%rbp), %rdi
callq 0x31c0
jmp 0x7259
leaq -0x18(%rbp), %rdi
callq 0x7bf0
movq %rax, %rsi
leaq -0x180(%rbp), %rdi
movq %rdi, -0x220(%rbp)
callq 0x87a0
movq -0x220(%rbp), %rdi
leaq 0xb1de(%rip), %rsi      # 0x122aa
callq 0x4880
movb %al, -0x213(%rbp)
jmp 0x70d9
movb -0x213(%rbp), %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0x221(%rbp)
jne 0x70ee
jmp 0x710c
movq -0x190(%rbp), %rax
movb 0x9d(%rax), %al
andb $0x1, %al
movzbl %al, %eax
cmpl $0x0, %eax
sete %al
movb %al, -0x221(%rbp)
movb -0x221(%rbp), %al
movb %al, -0x222(%rbp)
leaq -0x180(%rbp), %rdi
callq 0x31c0
movb -0x222(%rbp), %al
testb $0x1, %al
jne 0x7130
jmp 0x7161
movq -0x190(%rbp), %rax
movb $0x1, 0x9d(%rax)
movb $0x1, -0x19(%rbp)
jmp 0x7161
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x180(%rbp), %rdi
callq 0x31c0
jmp 0x7259
jmp 0x7163
jmp 0x7165
jmp 0x7167
jmp 0x7169
jmp 0x716b
jmp 0x716d
movq 0x11e5c(%rip), %rdi     # 0x18fd0
leaq 0xb135(%rip), %rsi      # 0x122b0
callq 0x3280
movq %rax, %rdi
movq 0x11e36(%rip), %rsi     # 0x18fc0
callq 0x32b0
movb -0x19(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
cmpl $0x1, %eax
jne 0x7235
movq -0x198(%rbp), %rsi
movq 0x11e22(%rip), %rdi     # 0x18fd0
callq 0x3270
movq %rax, %rdi
leaq 0xb106(%rip), %rsi      # 0x122c3
callq 0x3280
leaq -0x18(%rbp), %rdi
callq 0x7bf0
movq %rax, %rdi
callq 0x87f0
movl %eax, %ecx
movq -0x190(%rbp), %rax
addl 0x2c(%rax), %ecx
movl %ecx, 0x2c(%rax)
leaq -0x18(%rbp), %rdi
callq 0x7bf0
movq %rax, %rdi
callq 0x87d0
movl %eax, %ecx
movq -0x190(%rbp), %rax
addl 0x30(%rax), %ecx
movl %ecx, 0x30(%rax)
leaq -0x18(%rbp), %rdi
callq 0x7bf0
movq %rax, %rdi
callq 0x8810
movl %eax, %ecx
movq -0x190(%rbp), %rax
addl 0x34(%rax), %ecx
movl %ecx, 0x34(%rax)
leaq -0x18(%rbp), %rdi
callq 0x7bf0
movq %rax, %rdi
callq 0x8a60
jmp 0x7250
jmp 0x7237
jmp 0x7239
leaq -0x18(%rbp), %rdi
xorl %esi, %esi
callq 0x7d70
movq %rax, -0x188(%rbp)
jmp 0x6a5b
addq $0x230, %rsp            # imm = 0x230
popq %rbp
retq
movq -0x58(%rbp), %rdi
callq 0x3440
nopw %cs:(%rax,%rax)