// File: /workspace/github_cpp_makefile_star2_O2/lotuskip[P]yuxtapa/server/game.cpp
// Function: Game::send_team_upds(std::_List_const_iterator<Player>)
void Game::send_team_upds(const list<Player>::const_iterator to)
{
	Network::send_buffer.clear();
	Network::send_buffer.add((unsigned char)MID_GAME_UPD);
	Network::send_buffer.add(num_players[T_GREEN]);
	Network::send_buffer.add(num_players[T_PURPLE]);
	Network::send_buffer.add(objective_str);

	string obj_status_str;
	if(intermission)
	{
		// Check what happened; by default we assume a tie:
		obj_status_str = ", ";
		// Conditions under which purple wins:
		if(team_flags[T_GREEN].empty()
			|| (curturn == map_over_turn && gamemode != GM_DOM && gamemode != GM_TDM)
			|| (gamemode == GM_TDM && tdm_kills[T_PURPLE] > tdm_kills[T_GREEN]))
			obj_status_str += str_team[T_PURPLE];
		// Conditions under which green wins:
		else if(team_flags[T_PURPLE].empty()
			|| (gamemode == GM_TDM && tdm_kills[T_GREEN] > tdm_kills[T_PURPLE]))
			obj_status_str += str_team[T_GREEN];
		else
			obj_status_str += "neither team";
		obj_status_str += " won";
		if(gamemode == GM_TDM)
		{
			if(tdm_kills[T_GREEN] == tdm_kills[T_PURPLE])
				obj_status_str += "; score "
					+ lex_cast(tdm_kills[T_GREEN]) + " even";
			else
				obj_status_str += " by "
					+ lex_cast(max(tdm_kills[T_PURPLE],tdm_kills[T_GREEN]))
					+ " to " + lex_cast(min(tdm_kills[T_PURPLE],tdm_kills[T_GREEN]));
		}
		obj_status_str += '!';
	}
	else // not intermission
	{
		switch(gamemode)
		{
		case GM_DOM: 
		case GM_CONQ:
			if(team_flags[T_PURPLE].size() > team_flags[T_GREEN].size())
				obj_status_str = ", Purple has "
					+ lex_cast(team_flags[T_PURPLE].size());
			else
				obj_status_str = ", Green has "
					+ lex_cast(team_flags[T_GREEN].size());
			obj_status_str += '/';
			obj_status_str += lex_cast(noccents[NOE_FLAG].size()); 
			break;
		case GM_STEAL:
			obj_status_str = " (" + long_sector_name[obj_sector] + ") item ";
			if(pl_with_item != cur_players.end())
				obj_status_str += "stolen";
			else if(item_moved)
				obj_status_str += "dropped";
			else
				obj_status_str += "secure";
			break;
		case GM_DESTR:
			obj_status_str = ", " + lex_cast(boulders_left)
				+ " left";
			break;
		case GM_TDM:
			obj_status_str = ", ";
			if(tdm_kills[T_GREEN] == tdm_kills[T_PURPLE])
				obj_status_str += "tie!";
			else
				obj_status_str += str_team[(tdm_kills[T_PURPLE] > tdm_kills[T_GREEN])] + " is in the lead";
			break;
		default: obj_status_str = ""; break;
		}
	}
	Network::send_buffer.add(obj_status_str);

	if(to == cur_players.end())
		Network::broadcast();
	else
		Network::send_to_player(*to);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0xc0, %rsp
movq %rdi, %rbx
leaq 0x28e17(%rip), %r14     # 0x3e118
movq %r14, %rdi
callq 0x24712
pushq $0xd
popq %rsi
movq %r14, %rdi
callq 0x24724
movzbl 0x2bef6(%rip), %esi     # 0x41211
movq %r14, %rdi
callq 0x24724
movzbl 0x2bee8(%rip), %esi     # 0x41212
movq %r14, %rdi
callq 0x24724
leaq 0x2c8f7(%rip), %rsi     # 0x41c30
movq %r14, %rdi
callq 0x24762
leaq -0x60(%rbp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
movb $0x0, (%rax)
leaq 0x280a8(%rip), %rax     # 0x3d400
cmpb $0x1, (%rax)
jne 0x15485
leaq 0x1a534(%rip), %rsi     # 0x2f89c
leaq -0x70(%rbp), %rdi
callq 0x4780
leaq 0x2db78(%rip), %rax     # 0x42ef0
leaq 0x2ba31(%rip), %rsi     # 0x40db0
cmpq %rax, (%rax)
je 0x153e6
movzwl 0x2c8c5(%rip), %ecx     # 0x41c50
cmpw 0x28086(%rip), %cx      # 0x3d418
sete %dl
movl 0x2be79(%rip), %ecx     # 0x41214
testl $0xfffffffb, %ecx       # imm = 0xFFFFFFFB
setne %dil
testb %dil, %dl
jne 0x153e6
cmpl $0x4, %ecx
jne 0x15750
movzwl 0x2be60(%rip), %ecx     # 0x4121a
movzwl 0x2be57(%rip), %edx     # 0x41218
cmpw %dx, %cx
ja 0x153e6
leaq 0x18(%rax), %rsi
cmpq %rsi, 0x18(%rax)
sete %al
cmpw %cx, %dx
seta %cl
orb %al, %cl
je 0x1575e
leaq 0x2b9aa(%rip), %rsi     # 0x40d90
leaq -0x70(%rbp), %rdi
callq 0x4790
leaq 0x13c37(%rip), %rsi     # 0x2902d
leaq -0x70(%rbp), %rdi
callq 0x4770
cmpl $0x4, 0x2be0e(%rip)     # 0x41214
jne 0x155a1
movzwl 0x2be05(%rip), %esi     # 0x41218
movzwl 0x2be00(%rip), %eax     # 0x4121a
cmpw %ax, %si
jne 0x154e1
leaq -0x90(%rbp), %rdi
callq 0x24fde
leaq 0x13bfc(%rip), %rsi     # 0x29032
leaq -0x30(%rbp), %rdi
leaq -0x90(%rbp), %rdx
callq 0xb332
leaq 0x13bee(%rip), %rdx     # 0x2903b
leaq -0x50(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0xb309
leaq -0x70(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0x4790
leaq -0x50(%rbp), %rdi
callq 0x47e8
leaq -0x30(%rbp), %rdi
callq 0x47e8
leaq -0x90(%rbp), %rdi
jmp 0x1559c
movl 0x2bd89(%rip), %eax     # 0x41214
cmpq $0x4, %rax
ja 0x1573b
leaq 0x13924(%rip), %rcx     # 0x28dc0
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x2da44(%rip), %rax     # 0x42ef0
movq 0x10(%rax), %rsi
movq 0x28(%rax), %rax
cmpq %rsi, %rax
jbe 0x156cc
leaq -0x30(%rbp), %rdi
movl %eax, %esi
callq 0x24fde
leaq 0x13b72(%rip), %rsi     # 0x29041
leaq -0x50(%rbp), %rdi
leaq -0x30(%rbp), %rdx
callq 0xb332
jmp 0x156e9
cmpw %si, %ax
cmovbel %esi, %eax
movzwl %ax, %esi
leaq -0xd0(%rbp), %rdi
callq 0x24fde
leaq 0x1a4d1(%rip), %rsi     # 0x2f9ce
leaq -0x90(%rbp), %rdi
leaq -0xd0(%rbp), %rdx
callq 0xb332
leaq 0x137e4(%rip), %rdx     # 0x28cfb
leaq -0x30(%rbp), %rdi
leaq -0x90(%rbp), %rsi
callq 0xb309
movzwl 0x2bcea(%rip), %eax     # 0x41218
movzwl 0x2bce5(%rip), %ecx     # 0x4121a
cmpw %cx, %ax
cmovbl %eax, %ecx
movzwl %cx, %esi
leaq -0xb0(%rbp), %rdi
callq 0x24fde
leaq -0x50(%rbp), %rdi
leaq -0x30(%rbp), %rsi
leaq -0xb0(%rbp), %rdx
callq 0xc45b
leaq -0x70(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0x4790
leaq -0x50(%rbp), %rdi
callq 0x47e8
leaq -0xb0(%rbp), %rdi
callq 0x47e8
leaq -0x30(%rbp), %rdi
callq 0x47e8
leaq -0x90(%rbp), %rdi
callq 0x47e8
leaq -0xd0(%rbp), %rdi
callq 0x47e8
leaq -0x70(%rbp), %rdi
pushq $0x21
popq %rsi
callq 0x4340
jmp 0x157d3
leaq 0x1a2e3(%rip), %rsi     # 0x2f89c
leaq -0x70(%rbp), %rdi
callq 0x4780
movzwl 0x2bc4f(%rip), %eax     # 0x41218
movzwl 0x2bc4a(%rip), %ecx     # 0x4121a
cmpw %cx, %ax
jne 0x15773
leaq 0x13aa0(%rip), %rsi     # 0x29080
jmp 0x157ca
movl 0x27e29(%rip), %eax     # 0x3d414
shlq $0x5, %rax
leaq 0x2b83a(%rip), %rdx     # 0x40e30
addq %rax, %rdx
leaq 0x114b8(%rip), %rsi     # 0x26ab8
leaq -0x30(%rbp), %rdi
callq 0xde6a
leaq 0x13a4c(%rip), %rdx     # 0x2905c
leaq -0x50(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0xb309
leaq -0x70(%rbp), %rdi
leaq -0x50(%rbp), %r14
movq %r14, %rsi
callq 0x44b0
movq %r14, %rdi
callq 0x47e8
leaq -0x30(%rbp), %rdi
callq 0x47e8
leaq 0x2d9b3(%rip), %rax     # 0x42ff8
movq (%rax), %rax
cmpq 0x27961(%rip), %rax     # 0x3cfb0
je 0x157ae
leaq 0x13a08(%rip), %rsi     # 0x29064
jmp 0x157ca
movzwl 0x2ce18(%rip), %esi     # 0x42480
leaq -0x90(%rbp), %rdi
callq 0x24fde
leaq 0x1a221(%rip), %rsi     # 0x2f89c
leaq -0x30(%rbp), %rdi
leaq -0x90(%rbp), %rdx
callq 0xb332
leaq 0x139e8(%rip), %rdx     # 0x2907a
leaq -0x50(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0xb309
leaq -0x70(%rbp), %rdi
leaq -0x50(%rbp), %r14
movq %r14, %rsi
callq 0x44b0
movq %r14, %rdi
callq 0x47e8
leaq -0x30(%rbp), %rdi
callq 0x47e8
leaq -0x90(%rbp), %rdi
jmp 0x157a7
leaq -0x30(%rbp), %rdi
callq 0x24fde
leaq 0x13973(%rip), %rsi     # 0x2904f
leaq -0x50(%rbp), %rdi
leaq -0x30(%rbp), %rdx
callq 0xb332
leaq -0x70(%rbp), %rdi
leaq -0x50(%rbp), %r14
movq %r14, %rsi
callq 0x44b0
movq %r14, %rdi
callq 0x47e8
leaq -0x30(%rbp), %rdi
callq 0x47e8
leaq -0x70(%rbp), %rdi
pushq $0x2f
popq %rsi
callq 0x4340
leaq 0x2d693(%rip), %rax     # 0x42db0
movl 0x88(%rax), %esi
leaq -0x50(%rbp), %rdi
callq 0x24fde
leaq -0x70(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0x4790
jmp 0x157a3
leaq 0x10c0a(%rip), %rsi     # 0x2634c
leaq -0x70(%rbp), %rdi
callq 0x4780
jmp 0x157d3
leaq 0x18(%rax), %rcx
cmpq %rcx, 0x18(%rax)
je 0x153df
leaq 0x138bb(%rip), %rsi     # 0x29020
leaq -0x70(%rbp), %rdi
callq 0x4770
jmp 0x153ef
setb %al
movzbl %al, %eax
shll $0x5, %eax
leaq 0x2b60d(%rip), %rsi     # 0x40d90
addq %rax, %rsi
leaq 0x138f8(%rip), %rdx     # 0x29085
leaq -0x50(%rbp), %rdi
callq 0xc40d
leaq -0x70(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0x4790
leaq -0x50(%rbp), %rdi
callq 0x47e8
jmp 0x157d3
leaq 0x2d84b(%rip), %rax     # 0x43000
leaq 0x138af(%rip), %rcx     # 0x2906b
leaq 0x138b0(%rip), %rsi     # 0x29073
cmpb $0x0, (%rax)
cmovneq %rcx, %rsi
leaq -0x70(%rbp), %rdi
callq 0x4770
leaq 0x2893e(%rip), %rdi     # 0x3e118
leaq -0x70(%rbp), %rsi
callq 0x24762
cmpq 0x277c6(%rip), %rbx     # 0x3cfb0
je 0x15801
addq $0x10, %rbx
leaq 0x28921(%rip), %rsi     # 0x3e118
movq %rbx, %rdi
callq 0xc3a6
jmp 0x15812
leaq 0x28910(%rip), %rsi     # 0x3e118
movl $0xffff, %edi           # imm = 0xFFFF
callq 0xb61b
leaq -0x70(%rbp), %rdi
callq 0x47e8
addq $0xc0, %rsp
popq %rbx
popq %r14
popq %rbp
retq
jmp 0x158d2
jmp 0x158e2
jmp 0x158a8
jmp 0x1583c
jmp 0x158c2
jmp 0x1583c
movq %rax, %rbx
leaq -0x30(%rbp), %rdi
jmp 0x158d9
jmp 0x158e2
jmp 0x158e2
jmp 0x158e2
jmp 0x158e2
movq %rax, %rbx
leaq -0x50(%rbp), %rdi
callq 0x47e8
jmp 0x1586d
movq %rax, %rbx
leaq -0xb0(%rbp), %rdi
callq 0x47e8
jmp 0x1587e
movq %rax, %rbx
leaq -0x30(%rbp), %rdi
callq 0x47e8
jmp 0x1589a
movq %rax, %rbx
leaq -0x50(%rbp), %rdi
callq 0x47e8
jmp 0x158ab
movq %rax, %rbx
leaq -0x90(%rbp), %rdi
callq 0x47e8
jmp 0x158b9
movq %rax, %rbx
leaq -0x30(%rbp), %rdi
callq 0x47e8
jmp 0x158c5
movq %rax, %rbx
leaq -0xd0(%rbp), %rdi
jmp 0x158d9
movq %rax, %rbx
leaq -0x90(%rbp), %rdi
jmp 0x158d9
jmp 0x158e2
jmp 0x158e2
movq %rax, %rbx
leaq -0x50(%rbp), %rdi
callq 0x47e8
jmp 0x158e5
jmp 0x158e2
movq %rax, %rbx
leaq -0x70(%rbp), %rdi
callq 0x47e8
movq %rbx, %rdi
callq 0x4710