// File: kongrigoriou[P]Text-Based-RPG/src/Market.cpp
// Function: Market::displayItems()
void Market::displayItems() {

	list<Weapon*> ::iterator it;
	cout << "WEAPONS \n" << endl;

	for (it = Weapons.begin(); it !=  Weapons.end(); ++it) {
		cout << (*it)->get_name() << " " << (*it)->get_price() << " " << (*it)->get_minlvl() << " " << (*it)->get_damage() << " " << (*it)->get_handsNeeded() << endl;
	}

	list<Armor*> ::iterator ia;
	cout << "ARMORS \n" << endl;

	for (ia = Armors.begin(); ia != Armors.end(); ++ia) {
		cout << (*ia)->get_name() << " " << (*ia)->get_price() << " " << (*ia)->get_minlvl() << " " << (*ia)->get_protection() << endl;
	}

	list<Potion*> ::iterator ip;
	cout << "POTIONS \n" << endl;

	for (ip = Potions.begin(); ip != Potions.end(); ++ip) {
		cout << (*ip)->get_name() << " " << (*ip)->get_price() << " " << (*ip)->get_minlvl() << " " << (*ip)->get_buff() << endl;
	}

	list<Spell*> :: iterator sp;
	cout << "SPELLS \n" << endl;

	for(sp = Spells.begin(); sp != Spells.end(); ++sp){
		cout << (*sp)->get_name() << " " << (*sp)->get_price()<< " " << (*sp)->get_minlvl() << " " << (*sp)->get_DmgRange() << " " << (*sp)->get_MagicPower()
			<< " " << (*sp)->get_Reduction() <<  endl;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x2b0, %rsp            # imm = 0x2B0
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x100(%rbp)
leaq -0x10(%rbp), %rdi
callq 0x7ad0
movq 0x13486(%rip), %rdi     # 0x1efd0
leaq 0x9b01(%rip), %rsi      # 0x15652
callq 0x31e0
movq %rax, %rdi
movq 0x13460(%rip), %rsi     # 0x1efc0
callq 0x3210
movq -0x100(%rbp), %rdi
callq 0x7b50
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x100(%rbp), %rdi
callq 0x7bb0
movq %rax, -0x20(%rbp)
leaq -0x10(%rbp), %rdi
leaq -0x20(%rbp), %rsi
callq 0x7b80
testb $0x1, %al
jne 0xbba3
jmp 0xbd68
leaq -0x10(%rbp), %rdi
callq 0x7be0
movq (%rax), %rsi
leaq -0x40(%rbp), %rdi
movq %rdi, -0x110(%rbp)
callq 0x12640
movq -0x110(%rbp), %rsi
movq 0x13403(%rip), %rdi     # 0x1efd0
callq 0x31b0
movq %rax, -0x108(%rbp)
jmp 0xbbdb
movq -0x108(%rbp), %rdi
leaq 0x9f21(%rip), %rsi      # 0x15b0a
callq 0x31e0
movq %rax, -0x118(%rbp)
jmp 0xbbf7
leaq -0x10(%rbp), %rdi
callq 0x7be0
movq (%rax), %rdi
callq 0x12670
movl %eax, -0x11c(%rbp)
jmp 0xbc10
movl -0x11c(%rbp), %esi
movq -0x118(%rbp), %rdi
callq 0x3320
movq %rax, -0x128(%rbp)
jmp 0xbc2b
movq -0x128(%rbp), %rdi
leaq 0x9ed1(%rip), %rsi      # 0x15b0a
callq 0x31e0
movq %rax, -0x130(%rbp)
jmp 0xbc47
leaq -0x10(%rbp), %rdi
callq 0x7be0
movq (%rax), %rdi
callq 0x12690
movl %eax, -0x134(%rbp)
jmp 0xbc60
movl -0x134(%rbp), %esi
movq -0x130(%rbp), %rdi
callq 0x3320
movq %rax, -0x140(%rbp)
jmp 0xbc7b
movq -0x140(%rbp), %rdi
leaq 0x9e81(%rip), %rsi      # 0x15b0a
callq 0x31e0
movq %rax, -0x148(%rbp)
jmp 0xbc97
leaq -0x10(%rbp), %rdi
callq 0x7be0
movq (%rax), %rdi
movq (%rdi), %rax
movq 0x8(%rax), %rax
callq *%rax
movl %eax, -0x14c(%rbp)
jmp 0xbcb4
movl -0x14c(%rbp), %esi
movq -0x148(%rbp), %rdi
callq 0x3320
movq %rax, -0x158(%rbp)
jmp 0xbccf
movq -0x158(%rbp), %rdi
leaq 0x9e2d(%rip), %rsi      # 0x15b0a
callq 0x31e0
movq %rax, -0x160(%rbp)
jmp 0xbceb
leaq -0x10(%rbp), %rdi
callq 0x7be0
movq (%rax), %rdi
movq (%rdi), %rax
movq (%rax), %rax
callq *%rax
movl %eax, -0x164(%rbp)
jmp 0xbd07
movl -0x164(%rbp), %esi
movq -0x160(%rbp), %rdi
callq 0x3320
movq %rax, -0x170(%rbp)
jmp 0xbd22
movq -0x170(%rbp), %rdi
movq 0x13290(%rip), %rsi     # 0x1efc0
callq 0x3210
jmp 0xbd37
leaq -0x40(%rbp), %rdi
callq 0x3120
leaq -0x10(%rbp), %rdi
callq 0x7c00
jmp 0xbb7d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x40(%rbp), %rdi
callq 0x3120
jmp 0xc420
leaq -0x58(%rbp), %rdi
callq 0x7af0
movq 0x13258(%rip), %rdi     # 0x1efd0
leaq 0x98dd(%rip), %rsi      # 0x1565c
callq 0x31e0
movq %rax, %rdi
movq 0x13232(%rip), %rsi     # 0x1efc0
callq 0x3210
movq -0x100(%rbp), %rdi
addq $0x18, %rdi
callq 0x7c20
movq %rax, -0x60(%rbp)
movq -0x60(%rbp), %rax
movq %rax, -0x58(%rbp)
movq -0x100(%rbp), %rdi
addq $0x18, %rdi
callq 0x7c80
movq %rax, -0x68(%rbp)
leaq -0x58(%rbp), %rdi
leaq -0x68(%rbp), %rsi
callq 0x7c50
testb $0x1, %al
jne 0xbdd9
jmp 0xbf54
leaq -0x58(%rbp), %rdi
callq 0x7cb0
movq (%rax), %rsi
leaq -0x88(%rbp), %rdi
movq %rdi, -0x180(%rbp)
callq 0x12640
movq -0x180(%rbp), %rsi
movq 0x131ca(%rip), %rdi     # 0x1efd0
callq 0x31b0
movq %rax, -0x178(%rbp)
jmp 0xbe14
movq -0x178(%rbp), %rdi
leaq 0x9ce8(%rip), %rsi      # 0x15b0a
callq 0x31e0
movq %rax, -0x188(%rbp)
jmp 0xbe30
leaq -0x58(%rbp), %rdi
callq 0x7cb0
movq (%rax), %rdi
callq 0x12670
movl %eax, -0x18c(%rbp)
jmp 0xbe49
movl -0x18c(%rbp), %esi
movq -0x188(%rbp), %rdi
callq 0x3320
movq %rax, -0x198(%rbp)
jmp 0xbe64
movq -0x198(%rbp), %rdi
leaq 0x9c98(%rip), %rsi      # 0x15b0a
callq 0x31e0
movq %rax, -0x1a0(%rbp)
jmp 0xbe80
leaq -0x58(%rbp), %rdi
callq 0x7cb0
movq (%rax), %rdi
callq 0x12690
movl %eax, -0x1a4(%rbp)
jmp 0xbe99
movl -0x1a4(%rbp), %esi
movq -0x1a0(%rbp), %rdi
callq 0x3320
movq %rax, -0x1b0(%rbp)
jmp 0xbeb4
movq -0x1b0(%rbp), %rdi
leaq 0x9c48(%rip), %rsi      # 0x15b0a
callq 0x31e0
movq %rax, -0x1b8(%rbp)
jmp 0xbed0
leaq -0x58(%rbp), %rdi
callq 0x7cb0
movq (%rax), %rdi
movq (%rdi), %rax
movq 0x18(%rax), %rax
callq *%rax
movl %eax, -0x1bc(%rbp)
jmp 0xbeed
movl -0x1bc(%rbp), %esi
movq -0x1b8(%rbp), %rdi
callq 0x3320
movq %rax, -0x1c8(%rbp)
jmp 0xbf08
movq -0x1c8(%rbp), %rdi
movq 0x130aa(%rip), %rsi     # 0x1efc0
callq 0x3210
jmp 0xbf1d
leaq -0x88(%rbp), %rdi
callq 0x3120
leaq -0x58(%rbp), %rdi
callq 0x7cd0
jmp 0xbdaf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x88(%rbp), %rdi
callq 0x3120
jmp 0xc420
leaq -0x90(%rbp), %rdi
callq 0x7b10
movq 0x13069(%rip), %rdi     # 0x1efd0
leaq 0x96f7(%rip), %rsi      # 0x15665
callq 0x31e0
movq %rax, %rdi
movq 0x13043(%rip), %rsi     # 0x1efc0
callq 0x3210
movq -0x100(%rbp), %rdi
addq $0x30, %rdi
callq 0x7cf0
movq %rax, -0x98(%rbp)
movq -0x98(%rbp), %rax
movq %rax, -0x90(%rbp)
movq -0x100(%rbp), %rdi
addq $0x30, %rdi
callq 0x7d50
movq %rax, -0xa0(%rbp)
leaq -0x90(%rbp), %rdi
leaq -0xa0(%rbp), %rsi
callq 0x7d20
testb $0x1, %al
jne 0xbfda
jmp 0xc164
leaq -0x90(%rbp), %rdi
callq 0x7d80
movq (%rax), %rsi
leaq -0xc0(%rbp), %rdi
movq %rdi, -0x1d8(%rbp)
callq 0x12640
movq -0x1d8(%rbp), %rsi
movq 0x12fc6(%rip), %rdi     # 0x1efd0
callq 0x31b0
movq %rax, -0x1d0(%rbp)
jmp 0xc018
movq -0x1d0(%rbp), %rdi
leaq 0x9ae4(%rip), %rsi      # 0x15b0a
callq 0x31e0
movq %rax, -0x1e0(%rbp)
jmp 0xc034
leaq -0x90(%rbp), %rdi
callq 0x7d80
movq (%rax), %rdi
callq 0x12670
movl %eax, -0x1e4(%rbp)
jmp 0xc050
movl -0x1e4(%rbp), %esi
movq -0x1e0(%rbp), %rdi
callq 0x3320
movq %rax, -0x1f0(%rbp)
jmp 0xc06b
movq -0x1f0(%rbp), %rdi
leaq 0x9a91(%rip), %rsi      # 0x15b0a
callq 0x31e0
movq %rax, -0x1f8(%rbp)
jmp 0xc087
leaq -0x90(%rbp), %rdi
callq 0x7d80
movq (%rax), %rdi
callq 0x12690
movl %eax, -0x1fc(%rbp)
jmp 0xc0a3
movl -0x1fc(%rbp), %esi
movq -0x1f8(%rbp), %rdi
callq 0x3320
movq %rax, -0x208(%rbp)
jmp 0xc0be
movq -0x208(%rbp), %rdi
leaq 0x9a3e(%rip), %rsi      # 0x15b0a
callq 0x31e0
movq %rax, -0x210(%rbp)
jmp 0xc0da
leaq -0x90(%rbp), %rdi
callq 0x7d80
movq (%rax), %rdi
movq (%rdi), %rax
movq 0x20(%rax), %rax
callq *%rax
movl %eax, -0x214(%rbp)
jmp 0xc0fa
movl -0x214(%rbp), %esi
movq -0x210(%rbp), %rdi
callq 0x3320
movq %rax, -0x220(%rbp)
jmp 0xc115
movq -0x220(%rbp), %rdi
movq 0x12e9d(%rip), %rsi     # 0x1efc0
callq 0x3210
jmp 0xc12a
leaq -0xc0(%rbp), %rdi
callq 0x3120
leaq -0x90(%rbp), %rdi
callq 0x7da0
jmp 0xbfa7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0xc0(%rbp), %rdi
callq 0x3120
jmp 0xc420
leaq -0xc8(%rbp), %rdi
callq 0x7b30
movq 0x12e59(%rip), %rdi     # 0x1efd0
leaq 0x94f1(%rip), %rsi      # 0x1566f
callq 0x31e0
movq %rax, %rdi
movq 0x12e33(%rip), %rsi     # 0x1efc0
callq 0x3210
movq -0x100(%rbp), %rdi
addq $0x48, %rdi
callq 0x7dc0
movq %rax, -0xd0(%rbp)
movq -0xd0(%rbp), %rax
movq %rax, -0xc8(%rbp)
movq -0x100(%rbp), %rdi
addq $0x48, %rdi
callq 0x7e20
movq %rax, -0xd8(%rbp)
leaq -0xc8(%rbp), %rdi
leaq -0xd8(%rbp), %rsi
callq 0x7df0
testb $0x1, %al
jne 0xc1ea
jmp 0xc417
leaq -0xc8(%rbp), %rdi
callq 0x7e50
movq (%rax), %rsi
leaq -0xf8(%rbp), %rdi
movq %rdi, -0x230(%rbp)
callq 0x12640
movq -0x230(%rbp), %rsi
movq 0x12db6(%rip), %rdi     # 0x1efd0
callq 0x31b0
movq %rax, -0x228(%rbp)
jmp 0xc228
movq -0x228(%rbp), %rdi
leaq 0x98d4(%rip), %rsi      # 0x15b0a
callq 0x31e0
movq %rax, -0x238(%rbp)
jmp 0xc244
leaq -0xc8(%rbp), %rdi
callq 0x7e50
movq (%rax), %rdi
callq 0x12670
movl %eax, -0x23c(%rbp)
jmp 0xc260
movl -0x23c(%rbp), %esi
movq -0x238(%rbp), %rdi
callq 0x3320
movq %rax, -0x248(%rbp)
jmp 0xc27b
movq -0x248(%rbp), %rdi
leaq 0x9881(%rip), %rsi      # 0x15b0a
callq 0x31e0
movq %rax, -0x250(%rbp)
jmp 0xc297
leaq -0xc8(%rbp), %rdi
callq 0x7e50
movq (%rax), %rdi
callq 0x12690
movl %eax, -0x254(%rbp)
jmp 0xc2b3
movl -0x254(%rbp), %esi
movq -0x250(%rbp), %rdi
callq 0x3320
movq %rax, -0x260(%rbp)
jmp 0xc2ce
movq -0x260(%rbp), %rdi
leaq 0x982e(%rip), %rsi      # 0x15b0a
callq 0x31e0
movq %rax, -0x268(%rbp)
jmp 0xc2ea
leaq -0xc8(%rbp), %rdi
callq 0x7e50
movq (%rax), %rdi
callq 0x12200
movl %eax, -0x26c(%rbp)
jmp 0xc306
movl -0x26c(%rbp), %esi
movq -0x268(%rbp), %rdi
callq 0x3320
movq %rax, -0x278(%rbp)
jmp 0xc321
movq -0x278(%rbp), %rdi
leaq 0x97db(%rip), %rsi      # 0x15b0a
callq 0x31e0
movq %rax, -0x280(%rbp)
jmp 0xc33d
leaq -0xc8(%rbp), %rdi
callq 0x7e50
movq (%rax), %rdi
callq 0x12220
movl %eax, -0x284(%rbp)
jmp 0xc359
movl -0x284(%rbp), %esi
movq -0x280(%rbp), %rdi
callq 0x3320
movq %rax, -0x290(%rbp)
jmp 0xc374
movq -0x290(%rbp), %rdi
leaq 0x9788(%rip), %rsi      # 0x15b0a
callq 0x31e0
movq %rax, -0x298(%rbp)
jmp 0xc390
leaq -0xc8(%rbp), %rdi
callq 0x7e50
movq (%rax), %rdi
movq (%rdi), %rax
movq 0x28(%rax), %rax
callq *%rax
movl %eax, -0x29c(%rbp)
jmp 0xc3b0
movl -0x29c(%rbp), %esi
movq -0x298(%rbp), %rdi
callq 0x3320
movq %rax, -0x2a8(%rbp)
jmp 0xc3cb
movq -0x2a8(%rbp), %rdi
movq 0x12be7(%rip), %rsi     # 0x1efc0
callq 0x3210
jmp 0xc3e0
leaq -0xf8(%rbp), %rdi
callq 0x3120
leaq -0xc8(%rbp), %rdi
callq 0x7e70
jmp 0xc1b7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0xf8(%rbp), %rdi
callq 0x3120
jmp 0xc420
addq $0x2b0, %rsp            # imm = 0x2B0
popq %rbp
retq
movq -0x48(%rbp), %rdi
callq 0x3330
nopl (%rax)