// File: /workspace/github_cpp_makefile_star2_O1/lotuskip[P]yuxtapa/server/viewpoint.cpp
// Function: ViewPoint::render_pc_at(Coords const&, char*, bool, std::__cxx11::list<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>&) const
bool ViewPoint::render_pc_at(const Coords &c, char* const target, const bool lit,
	list<string> &titles) const
{
	string tstr;
	for(list<PCEnt>::iterator it = PCs.begin(); it != PCs.end(); ++it)
	{
		if(it->getpos() == c && it->visible_to_team(owner->team)
			&& !it->isvoid())
		{
			// Drawing:
			it->draw(target, lit);
			if(it->is_disguised())
			{
				// disguised: brown for teammates & specs; for enemies their colour
				if(it->get_owner()->team == owner->team || owner->team == T_SPEC)
					*target = C_BROWN_PC;
				else
					*target = team_colour[owner->team];
				if(lit)
					*target += NUM_NORM_COLS;
			}

			// Title:
			if(owner->team == T_SPEC || owner->team == it->get_owner()->team)
				tstr = it->get_owner()->nick + '|';
			else
				tstr.clear();
			tstr += it->get_owner()->cl_props.abbr;
			titles.push_back(tstr);

			return true;
		}
	}
	return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x58, %rsp
leaq -0x68(%rbp), %rax
movq %rax, -0x10(%rax)
movq $0x0, -0x8(%rax)
movb $0x0, (%rax)
leaq 0x274c3(%rip), %r12     # 0x45ee0
movq (%r12), %r13
cmpq %r12, %r13
setne %bl
je 0x1ebbe
movq %rsi, %r14
movq %rdi, %r15
movl %ecx, -0x2c(%rbp)
movq %rdx, -0x38(%rbp)
movq %r8, -0x80(%rbp)
movl 0x18(%r13), %eax
movl %eax, -0x58(%rbp)
leaq -0x58(%rbp), %rdi
movq %r14, %rsi
callq 0x2bddc
testb %al, %al
je 0x1ea65
movq 0x28(%r15), %rax
movl 0x28(%r13), %ecx
cmpl 0xbc(%rax), %ecx
jne 0x1ea70
leaq -0x58(%rbp), %rdi
callq 0x2bbf6
jmp 0x1ea95
movq %r14, %r12
movq %r15, %r14
movb 0x1e(%r13), %r15b
leaq -0x58(%rbp), %rdi
callq 0x2bbf6
testb %r15b, %r15b
movq %r14, %r15
movq %r12, %r14
leaq 0x2744d(%rip), %r12     # 0x45ee0
je 0x1eaa6
movq (%r13), %r13
cmpq %r12, %r13
setne %bl
jne 0x1ea3e
jmp 0x1ebbe
leaq 0x10(%r13), %rdi
movzbl -0x2c(%rbp), %edx
movq -0x38(%rbp), %rsi
callq 0x21f8a
movq -0x80(%rbp), %r12
cmpb $0x1, 0x31(%r13)
movq -0x38(%rbp), %rsi
jne 0x1eb00
movq 0x20(%r13), %rcx
movq 0x28(%r15), %rax
movl 0xbc(%rax), %eax
cmpl %eax, 0xbc(%rcx)
sete %cl
cmpl $0x2, %eax
sete %dl
orb %cl, %dl
movb $0x20, %cl
jne 0x1eaf3
leaq 0x106c3(%rip), %rcx     # 0x2f1b3
movb (%rax,%rcx), %cl
movb %cl, (%rsi)
cmpb $0x0, -0x2c(%rbp)
je 0x1eb00
addb $0x14, %cl
movb %cl, (%rsi)
movq 0x28(%r15), %rax
movl 0xbc(%rax), %eax
cmpl $0x2, %eax
je 0x1eb1b
movq 0x20(%r13), %rcx
cmpl 0xbc(%rcx), %eax
jne 0x1eb81
movq 0x20(%r13), %rax
leaq -0x48(%rbp), %r15
movq %r15, -0x10(%r15)
movq 0x98(%rax), %rsi
movq 0xa0(%rax), %rdx
addq %rsi, %rdx
leaq -0x58(%rbp), %rdi
callq 0xfa82
leaq -0x58(%rbp), %rdi
movq 0x8(%rdi), %rsi
movl $0x1, %ecx
xorl %edx, %edx
movl $0x7c, %r8d
callq 0x47b0
leaq -0x78(%rbp), %rdi
leaq -0x58(%rbp), %r14
movq %r14, %rsi
callq 0x44c0
movq (%r14), %rdi
cmpq %r15, %rdi
je 0x1eb90
movq -0x48(%rbp), %rsi
incq %rsi
callq 0x43f0
jmp 0x1eb90
movq $0x0, -0x70(%rbp)
movq -0x78(%rbp), %rax
movb $0x0, (%rax)
movl $0x150, %esi            # imm = 0x150
addq 0x20(%r13), %rsi
leaq -0x78(%rbp), %rdi
callq 0x47c0
leaq -0x78(%rbp), %rsi
movq %r12, %rdi
callq 0x1f734
movq %rax, %rdi
movq %r12, %rsi
callq 0x4060
incq 0x10(%r12)
movq -0x78(%rbp), %rdi
leaq -0x68(%rbp), %rax
cmpq %rax, %rdi
je 0x1ebd7
movq -0x68(%rbp), %rsi
incq %rsi
callq 0x43f0
andb $0x1, %bl
movl %ebx, %eax
addq $0x58, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
movq -0x58(%rbp), %rdi
cmpq %r15, %rdi
je 0x1ec1a
movq -0x48(%rbp), %rsi
incq %rsi
callq 0x43f0
jmp 0x1ec1a
jmp 0x1ec09
jmp 0x1ec09
movq %rax, %rbx
jmp 0x1ec1a
movq %rax, %rbx
leaq -0x58(%rbp), %rdi
callq 0x2bbf6
movq -0x78(%rbp), %rdi
leaq -0x68(%rbp), %rax
cmpq %rax, %rdi
je 0x1ec33
movq -0x68(%rbp), %rsi
incq %rsi
callq 0x43f0
movq %rbx, %rdi
callq 0x4750
nop