// File: /workspace/github_cpp_makefile_star2_O1/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)
setne %r13b
je 0x8549
movq %rdx, %r12
movq %rsi, %r14
xorl %r15d, %r15d
movq (%rax,%r15,8), %rdi
callq 0x15d80
cmpb $0x50, %al
jne 0x81ce
movq 0x7f0(%r14), %rax
movq 0x7f8(%r14), %rdx
subq %rax, %rdx
sarq $0x3, %rdx
cmpq %r15, %rdx
jbe 0x8578
movq (%rax,%r15,8), %rdi
movq %r12, %rsi
callq 0x15d92
testb %al, %al
jne 0x81f4
incq %r15
movq 0x7f0(%r14), %rax
movq 0x7f8(%r14), %rcx
subq %rax, %rcx
sarq $0x3, %rcx
cmpq %r15, %rcx
seta %r13b
ja 0x8193
jmp 0x8549
movq 0x7f0(%r14), %rax
movq 0x7f8(%r14), %rdx
subq %rax, %rdx
sarq $0x3, %rdx
cmpq %r15, %rdx
jbe 0x8578
movq (%rax,%r15,8), %rsi
leaq -0x48(%rbp), %r12
movq %r12, %rdi
callq 0x172ec
leaq 0x1508f(%rip), %rsi     # 0x1d2b8
movq %r12, %rdi
callq 0x4070
movq (%r12), %rdi
leaq -0x38(%rbp), %rcx
cmpq %rcx, %rdi
je 0x8250
movq -0x38(%rbp), %rsi
incq %rsi
movl %eax, %r12d
callq 0x4170
movl %r12d, %eax
testl %eax, %eax
je 0x847a
movq 0x7f0(%r14), %rax
movq 0x7f8(%r14), %rdx
subq %rax, %rdx
sarq $0x3, %rdx
cmpq %r15, %rdx
jbe 0x8578
movq (%rax,%r15,8), %rsi
leaq -0x48(%rbp), %r12
movq %r12, %rdi
callq 0x172ec
leaq 0x1502e(%rip), %rsi     # 0x1d2bb
movq %r12, %rdi
callq 0x4070
movl %eax, %ecx
movq (%r12), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x82b6
movq -0x38(%rbp), %rsi
incq %rsi
movl %ecx, %r12d
callq 0x4170
movl %r12d, %ecx
testl %ecx, %ecx
je 0x84a2
movq 0x7f0(%r14), %rax
movq 0x7f8(%r14), %rdx
subq %rax, %rdx
sarq $0x3, %rdx
cmpq %r15, %rdx
jbe 0x8578
movq (%rax,%r15,8), %rsi
leaq -0x48(%rbp), %r12
movq %r12, %rdi
callq 0x172ec
leaq 0x14fcb(%rip), %rsi     # 0x1d2be
movq %r12, %rdi
callq 0x4070
movl %eax, %ecx
movq (%r12), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x831c
movq -0x38(%rbp), %rsi
incq %rsi
movl %ecx, %r12d
callq 0x4170
movl %r12d, %ecx
testl %ecx, %ecx
je 0x84c3
movq 0x7f0(%r14), %rax
movq 0x7f8(%r14), %rdx
subq %rax, %rdx
sarq $0x3, %rdx
cmpq %r15, %rdx
jbe 0x8578
movq (%rax,%r15,8), %rsi
leaq -0x48(%rbp), %r12
movq %r12, %rdi
callq 0x172ec
leaq 0x14f68(%rip), %rsi     # 0x1d2c1
movq %r12, %rdi
callq 0x4070
movl %eax, %ecx
movq (%r12), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x8382
movq -0x38(%rbp), %rsi
incq %rsi
movl %ecx, %r12d
callq 0x4170
movl %r12d, %ecx
testl %ecx, %ecx
je 0x84e4
movq 0x7f0(%r14), %rax
movq 0x7f8(%r14), %rdx
subq %rax, %rdx
sarq $0x3, %rdx
cmpq %r15, %rdx
jbe 0x8578
movq (%rax,%r15,8), %rsi
leaq -0x48(%rbp), %r12
movq %r12, %rdi
callq 0x172ec
leaq 0x14f05(%rip), %rsi     # 0x1d2c4
movq %r12, %rdi
callq 0x4070
movl %eax, %ecx
movq (%r12), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x83e8
movq -0x38(%rbp), %rsi
incq %rsi
movl %ecx, %r12d
callq 0x4170
movl %r12d, %ecx
testl %ecx, %ecx
je 0x8505
movq 0x7f0(%r14), %rax
movq 0x7f8(%r14), %rdx
subq %rax, %rdx
sarq $0x3, %rdx
cmpq %r15, %rdx
jbe 0x8578
movq (%rax,%r15,8), %rsi
leaq -0x48(%rbp), %r12
movq %r12, %rdi
callq 0x172ec
leaq 0x14ea2(%rip), %rsi     # 0x1d2c7
movq %r12, %rdi
callq 0x4070
movl %eax, %r15d
movq (%r12), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x8449
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x4170
testl %r15d, %r15d
jne 0x8526
cmpb $0x1, 0xff5(%r14)
jne 0x8526
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0x14f99(%rip), %rsi     # 0x1d407
leaq 0x14fb2(%rip), %rdx     # 0x1d427
jmp 0x853b
cmpb $0x1, 0xff0(%r14)
jne 0x8526
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0x14ed4(%rip), %rsi     # 0x1d36a
leaq 0x14eee(%rip), %rdx     # 0x1d38b
jmp 0x853b
cmpb $0x1, 0xff1(%r14)
jne 0x8526
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0x14ed2(%rip), %rsi     # 0x1d38c
leaq 0x14ee3(%rip), %rdx     # 0x1d3a4
jmp 0x853b
cmpb $0x1, 0xff2(%r14)
jne 0x8526
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0x14eca(%rip), %rsi     # 0x1d3a5
leaq 0x14ee3(%rip), %rdx     # 0x1d3c5
jmp 0x853b
cmpb $0x1, 0xff3(%r14)
jne 0x8526
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0x14eca(%rip), %rsi     # 0x1d3c6
leaq 0x14ee3(%rip), %rdx     # 0x1d3e6
jmp 0x853b
cmpb $0x1, 0xff4(%r14)
jne 0x8526
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0x14eca(%rip), %rsi     # 0x1d3e7
leaq 0x14ee2(%rip), %rdx     # 0x1d406
jmp 0x853b
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0x14ef4(%rip), %rsi     # 0x1d428
leaq 0x14f08(%rip), %rdx     # 0x1d443
movq %rbx, %rdi
callq 0x501a
testb $0x1, %r13b
jne 0x8566
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0x14dc1(%rip), %rsi     # 0x1d318
leaq 0x14dc1(%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
leaq 0x15250(%rip), %rdi     # 0x1d7cf
movq %r15, %rsi
xorl %eax, %eax
callq 0x41e0
nop