// File: 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
subq $0x120, %rsp            # imm = 0x120
movb %cl, %al
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
andb $0x1, %al
movb %al, -0x21(%rbp)
movq %r8, -0x30(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0xc8(%rbp)
leaq -0x50(%rbp), %rdi
callq 0x5770
leaq 0x50ec3(%rip), %rdi     # 0x93050
callq 0x3cfb0
movq %rax, -0x58(%rbp)
leaq 0x50eb3(%rip), %rdi     # 0x93050
callq 0x3d010
movq %rax, -0x60(%rbp)
leaq -0x58(%rbp), %rdi
leaq -0x60(%rbp), %rsi
callq 0x3cfe0
testb $0x1, %al
jne 0x421bc
jmp 0x42564
leaq -0x58(%rbp), %rdi
callq 0x3d040
movq %rax, %rsi
leaq -0x64(%rbp), %rdi
callq 0x1b190
jmp 0x421d3
movq -0x18(%rbp), %rsi
leaq -0x64(%rbp), %rdi
callq 0x60860
movb %al, -0xc9(%rbp)
jmp 0x421e8
movb -0xc9(%rbp), %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0xca(%rbp)
jne 0x421fd
jmp 0x42273
leaq -0x58(%rbp), %rdi
callq 0x3d040
movq -0xc8(%rbp), %rdi
movq %rax, -0xd8(%rbp)
addq $0x28, %rdi
callq 0x24f40
movq -0xd8(%rbp), %rdi
movl 0xac(%rax), %esi
callq 0x43050
movb %al, -0xcb(%rbp)
jmp 0x42237
movb -0xcb(%rbp), %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0xca(%rbp)
jne 0x4224c
jmp 0x42273
leaq -0x58(%rbp), %rdi
callq 0x3d040
movq %rax, %rdi
callq 0x3ce40
movb %al, -0xd9(%rbp)
jmp 0x42265
movb -0xd9(%rbp), %al
xorb $-0x1, %al
movb %al, -0xca(%rbp)
movb -0xca(%rbp), %al
movb %al, -0xda(%rbp)
leaq -0x64(%rbp), %rdi
callq 0x60460
movb -0xda(%rbp), %al
testb $0x1, %al
jne 0x42297
jmp 0x42554
leaq -0x58(%rbp), %rdi
callq 0x3d040
movq %rax, %rdi
movq -0x20(%rbp), %rsi
movzbl -0x21(%rbp), %edx
andl $0x1, %edx
callq 0x4d6c0
jmp 0x422b5
leaq -0x58(%rbp), %rdi
callq 0x3d040
movq %rax, %rdi
callq 0x43070
movb %al, -0xdb(%rbp)
jmp 0x422ce
movb -0xdb(%rbp), %al
testb $0x1, %al
jne 0x422dd
jmp 0x423dc
leaq -0x58(%rbp), %rdi
callq 0x3d040
movq %rax, %rdi
callq 0x3d0f0
movq %rax, -0xe8(%rbp)
jmp 0x422f7
movq -0xe8(%rbp), %rax
movq %rax, -0x80(%rbp)
leaq -0x80(%rbp), %rdi
callq 0x1b050
movq -0xc8(%rbp), %rdi
movl 0xac(%rax), %eax
movl %eax, -0xf0(%rbp)
addq $0x28, %rdi
callq 0x24f40
movl -0xf0(%rbp), %ecx
movq %rax, %rdx
movb $0x1, %al
cmpl 0xac(%rdx), %ecx
movb %al, -0xe9(%rbp)
je 0x42360
movq -0xc8(%rbp), %rdi
addq $0x28, %rdi
callq 0x24f40
cmpl $0x2, 0xac(%rax)
sete %al
movb %al, -0xe9(%rbp)
movb -0xe9(%rbp), %al
testb $0x1, %al
jne 0x4236c
jmp 0x423a0
movq -0x20(%rbp), %rax
movb $0x20, (%rax)
jmp 0x423c8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0x42589
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
leaq -0x64(%rbp), %rdi
callq 0x60460
jmp 0x42589
movq -0xc8(%rbp), %rdi
addq $0x28, %rdi
callq 0x24f40
movl 0xac(%rax), %eax
movl %eax, %ecx
leaq 0x21f64(%rip), %rax     # 0x64323
movb (%rax,%rcx), %cl
movq -0x20(%rbp), %rax
movb %cl, (%rax)
testb $0x1, -0x21(%rbp)
je 0x423da
movq -0x20(%rbp), %rax
movsbl (%rax), %ecx
addl $0x14, %ecx
movb %cl, (%rax)
jmp 0x423dc
movq -0xc8(%rbp), %rdi
addq $0x28, %rdi
callq 0x24f40
movq %rax, %rcx
movb $0x1, %al
cmpl $0x2, 0xac(%rcx)
movb %al, -0xf1(%rbp)
je 0x42468
movq -0xc8(%rbp), %rdi
addq $0x28, %rdi
callq 0x24f40
movl 0xac(%rax), %eax
movl %eax, -0x104(%rbp)
leaq -0x58(%rbp), %rdi
callq 0x3d040
movq %rax, %rdi
callq 0x3d0f0
movq %rax, -0x100(%rbp)
jmp 0x42436
movq -0x100(%rbp), %rax
movq %rax, -0x88(%rbp)
leaq -0x88(%rbp), %rdi
callq 0x1b050
movq %rax, %rcx
movl -0x104(%rbp), %eax
cmpl 0xac(%rcx), %eax
sete %al
movb %al, -0xf1(%rbp)
movb -0xf1(%rbp), %al
testb $0x1, %al
jne 0x42474
jmp 0x424e3
leaq -0x58(%rbp), %rdi
callq 0x3d040
movq %rax, %rdi
callq 0x3d0f0
movq %rax, -0x110(%rbp)
jmp 0x4248e
movq -0x110(%rbp), %rax
movq %rax, -0xb0(%rbp)
leaq -0xb0(%rbp), %rdi
callq 0x1b050
movq %rax, %rsi
addq $0x88, %rsi
leaq -0xa8(%rbp), %rdi
movl $0x7c, %edx
callq 0x1fc80
jmp 0x424c5
leaq -0x50(%rbp), %rdi
leaq -0xa8(%rbp), %rsi
callq 0x5640
leaq -0xa8(%rbp), %rdi
callq 0x5a48
jmp 0x424ec
leaq -0x50(%rbp), %rdi
callq 0x5730
leaq -0x58(%rbp), %rdi
callq 0x3d040
movq %rax, %rdi
callq 0x3d0f0
movq %rax, -0x118(%rbp)
jmp 0x42506
movq -0x118(%rbp), %rax
movq %rax, -0xb8(%rbp)
leaq -0xb8(%rbp), %rdi
callq 0x1b050
movq %rax, %rsi
addq $0x140, %rsi            # imm = 0x140
leaq -0x50(%rbp), %rdi
callq 0x54f0
jmp 0x42535
movq -0x30(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0x43090
jmp 0x42544
movb $0x1, -0x1(%rbp)
movl $0x1, -0xbc(%rbp)
jmp 0x42572
jmp 0x42556
leaq -0x58(%rbp), %rdi
callq 0x3d110
jmp 0x42196
movb $0x0, -0x1(%rbp)
movl $0x1, -0xbc(%rbp)
leaq -0x50(%rbp), %rdi
callq 0x5a48
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x120, %rsp            # imm = 0x120
popq %rbp
retq
leaq -0x50(%rbp), %rdi
callq 0x5a48
movq -0x70(%rbp), %rdi
callq 0x5920
nopl (%rax,%rax)