// File: /workspace/github_cpp_makefile_star2_O3/malcolmyeh[P]CC3K/floor.cc
// Function: Floor::seePotion[abi:cxx11](Posn)
std::string Floor::seePotion(Posn p){
	for (int i = 0; i < potions.size(); ++i){
		if (potions.at(i)->getSymbol() == 'P' && potions.at(i)->withinRange(p)) {
			if(potions.at(i)->getType() == "RH"){
				if (knownPotion[0]){
					return "You see a Restore Health potion. ";
				}
			} else if (potions.at(i)->getType() == "BA"){
				if (knownPotion[1]){
					return "You see a Boost potion. ";
				}
			} else if (potions.at(i)->getType() == "BD"){
				if (knownPotion[2]){
					return "You see a Boost Defense potion. ";
				}				
			} else if (potions.at(i)->getType() == "PH"){
				if (knownPotion[3]){
					return "You see a Poison Health potion. ";
				}				
			} else if (potions.at(i)->getType() == "WA"){
				if (knownPotion[4]){
					return "You see a Wound Attack potion. ";
				}				
			} else if (potions.at(i)->getType() == "WD"){
				if (knownPotion[5]){
					return "You see a Wound Defense potion. ";
				}			
			}
			return "You see an unknown potion. ";			
		}
	}
	return "invalid";
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq %rdi, %rbx
movq 0x7f0(%rsi), %rax
cmpq %rax, 0x7f8(%rsi)
je 0x8159
movq %rdx, %r12
movq %rsi, %r14
xorl %r15d, %r15d
movq (%rax,%r15,8), %rdi
callq 0x15c24
cmpb $0x50, %al
jne 0x813c
movq 0x7f0(%r14), %rax
movq 0x7f8(%r14), %rdx
subq %rax, %rdx
sarq $0x3, %rdx
cmpq %r15, %rdx
jbe 0x84c2
movq (%rax,%r15,8), %rdi
movq %r12, %rsi
callq 0x15c36
testb %al, %al
jne 0x8188
incq %r15
movq 0x7f0(%r14), %rax
movq 0x7f8(%r14), %rcx
subq %rax, %rcx
sarq $0x3, %rcx
cmpq %r15, %rcx
ja 0x8101
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0x151b1(%rip), %rsi     # 0x1d318
leaq 0x151b1(%rip), %rdx     # 0x1d31f
movq %rbx, %rdi
callq 0x501a
movq %rbx, %rax
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x7f0(%r14), %rax
movq 0x7f8(%r14), %rdx
subq %rax, %rdx
sarq $0x3, %rdx
cmpq %r15, %rdx
jbe 0x84c2
movq (%rax,%r15,8), %rsi
leaq -0x48(%rbp), %r13
movq %r13, %rdi
callq 0x17168
leaq 0x150fb(%rip), %rsi     # 0x1d2b8
movq %r13, %rdi
callq 0x4070
movl %eax, %r12d
movq (%r13), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x81e1
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x4170
testl %r12d, %r12d
je 0x83ec
movq 0x7f0(%r14), %rax
movq 0x7f8(%r14), %rdx
subq %rax, %rdx
sarq $0x3, %rdx
cmpq %r15, %rdx
jbe 0x84c2
movq (%rax,%r15,8), %rsi
movq %r13, %rdi
callq 0x17168
leaq 0x150a0(%rip), %rsi     # 0x1d2bb
movq %r13, %rdi
callq 0x4070
movl %eax, %r12d
movq (%r13), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x823f
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x4170
testl %r12d, %r12d
je 0x8414
movq 0x7f0(%r14), %rax
movq 0x7f8(%r14), %rdx
subq %rax, %rdx
sarq $0x3, %rdx
cmpq %r15, %rdx
jbe 0x84c2
movq (%rax,%r15,8), %rsi
movq %r13, %rdi
callq 0x17168
leaq 0x15045(%rip), %rsi     # 0x1d2be
movq %r13, %rdi
callq 0x4070
movl %eax, %r12d
movq (%r13), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x829d
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x4170
testl %r12d, %r12d
je 0x843c
movq 0x7f0(%r14), %rax
movq 0x7f8(%r14), %rdx
subq %rax, %rdx
sarq $0x3, %rdx
cmpq %r15, %rdx
jbe 0x84c2
movq (%rax,%r15,8), %rsi
movq %r13, %rdi
callq 0x17168
leaq 0x14fea(%rip), %rsi     # 0x1d2c1
movq %r13, %rdi
callq 0x4070
movl %eax, %r12d
movq (%r13), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x82fb
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x4170
testl %r12d, %r12d
je 0x8460
movq 0x7f0(%r14), %rax
movq 0x7f8(%r14), %rdx
subq %rax, %rdx
sarq $0x3, %rdx
cmpq %r15, %rdx
jbe 0x84c2
movq (%rax,%r15,8), %rsi
movq %r13, %rdi
callq 0x17168
leaq 0x14f8f(%rip), %rsi     # 0x1d2c4
movq %r13, %rdi
callq 0x4070
movl %eax, %r12d
movq (%r13), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x8359
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x4170
testl %r12d, %r12d
je 0x8484
movq 0x7f0(%r14), %rax
movq 0x7f8(%r14), %rdx
subq %rax, %rdx
sarq $0x3, %rdx
cmpq %r15, %rdx
jbe 0x84c2
movq (%rax,%r15,8), %rsi
leaq -0x48(%rbp), %r12
movq %r12, %rdi
callq 0x17168
leaq 0x14f30(%rip), %rsi     # 0x1d2c7
movq %r12, %rdi
callq 0x4070
movl %eax, %r15d
movq (%r12), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x83bb
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x4170
testl %r15d, %r15d
jne 0x84a8
cmpb $0x1, 0xff5(%r14)
jne 0x84a8
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0x15027(%rip), %rsi     # 0x1d407
leaq 0x15040(%rip), %rdx     # 0x1d427
jmp 0x816e
cmpb $0x1, 0xff0(%r14)
jne 0x84a8
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0x14f62(%rip), %rsi     # 0x1d36a
leaq 0x14f7c(%rip), %rdx     # 0x1d38b
jmp 0x816e
cmpb $0x1, 0xff1(%r14)
jne 0x84a8
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0x14f5c(%rip), %rsi     # 0x1d38c
leaq 0x14f6d(%rip), %rdx     # 0x1d3a4
jmp 0x816e
cmpb $0x1, 0xff2(%r14)
jne 0x84a8
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0x14f51(%rip), %rsi     # 0x1d3a5
leaq 0x14f6a(%rip), %rdx     # 0x1d3c5
jmp 0x816e
cmpb $0x1, 0xff3(%r14)
jne 0x84a8
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0x14f4e(%rip), %rsi     # 0x1d3c6
leaq 0x14f67(%rip), %rdx     # 0x1d3e6
jmp 0x816e
cmpb $0x1, 0xff4(%r14)
jne 0x84a8
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0x14f4b(%rip), %rsi     # 0x1d3e7
leaq 0x14f63(%rip), %rdx     # 0x1d406
jmp 0x816e
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0x14f72(%rip), %rsi     # 0x1d428
leaq 0x14f86(%rip), %rdx     # 0x1d443
jmp 0x816e
leaq 0x15306(%rip), %rdi     # 0x1d7cf
movq %r15, %rsi
xorl %eax, %eax
callq 0x41e0
nop