// File: /workspace/github_cpp_makefile_star2_O3/lotuskip[P]yuxtapa/client/view.cpp
// Function: redraw_view()
void redraw_view()
{
	if(clientstate == CS_LIMBO)
		Base::print_view(limboview);
	else if(clientstate == CS_HELP)
	{
		if(!helpshown) // first time to show help
		{
			// replace keys in the view with actual values
			char *kmv;
			short idx;
			for(e_Key_binding kb = KB_8; kb < MAX_KEY_BINDING; kb = e_Key_binding(kb+1))
			{
				kmv = Config::key_map_value(kb);
				idx = kmv_idx[kb];
				while(*kmv)
				{
					helpview[idx] = *kmv;
					idx += 2;
					++kmv;
				}
			}
			helpshown = true;
		}
		Base::print_view(helpview);
	}
	else if(clientstate != CS_TEAM_INFO)
	{
		Base::print_view(viewbuffer);
		if(clientstate == CS_AIMING)
			draw_aimer();
		if(showtitles)
			draw_titles();
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x38, %rsp
leaq 0x9397(%rip), %rbx      # 0x17e80
movl (%rbx), %eax
cmpl $0x5, %eax
je 0xedd5
cmpl $0x4, %eax
je 0xeb07
cmpl $0x3, %eax
jne 0xeb73
leaq 0x210b(%rip), %rdi      # 0x10c10
jmp 0xeb60
cmpb $0x0, 0xbbb3(%rip)      # 0x1a6c1
jne 0xeb59
xorl %ebx, %ebx
leaq 0x2527(%rip), %r14      # 0x11040
leaq 0x88b0(%rip), %r15      # 0x173d0
movl %ebx, %edi
callq 0xe054
movb (%rax), %cl
testb %cl, %cl
je 0xeb49
movzwl (%r14,%rbx,2), %edx
incq %rax
movswq %dx, %rsi
movb %cl, (%rsi,%r15)
addl $0x2, %edx
movb (%rax), %cl
incq %rax
testb %cl, %cl
jne 0xeb35
incq %rbx
cmpq $0x1b, %rbx
jne 0xeb20
movb $0x1, 0xbb68(%rip)      # 0x1a6c1
leaq 0x8870(%rip), %rdi      # 0x173d0
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x6b44
leaq 0xab46(%rip), %r14      # 0x196c0
movq %r14, %rdi
callq 0x6b44
cmpl $0x6, (%rbx)
jne 0xedb9
leaq 0x91ae(%rip), %rax      # 0x17d40
movzwl (%rax), %edx
movzwl 0x2(%rax), %esi
movl %edx, %eax
orw %si, %ax
je 0xed5f
movl %edx, %eax
negw %ax
cmovsw %dx, %ax
movl %esi, %r8d
negw %r8w
cmovsw %si, %r8w
cmpw %r8w, %ax
cmoval %eax, %r8d
movzwl %r8w, %ecx
movsbl %cl, %eax
cmpl $0x2, %eax
jl 0xed5f
movswl %si, %esi
shll $0x18, %r8d
movl %esi, %edi
addl %eax, %edi
jne 0xebe2
addl %edx, %ecx
jmp 0xec08
movswl %dx, %edx
cmpl %edx, %eax
jne 0xebf0
leal (%rcx,%rcx,2), %ecx
addl %esi, %ecx
jmp 0xec08
cmpl %esi, %eax
jne 0xebfb
leal (%rcx,%rcx,4), %ecx
subl %edx, %ecx
jmp 0xec08
leal (,%rcx,8), %edx
subl %ecx, %edx
subl %esi, %edx
movl %edx, %ecx
shrl $0x17, %r8d
addl $-0x2, %r8d
leal -0x2(%rax), %edx
leaq 0x24f6(%rip), %rsi      # 0x11110
movslq (%rsi,%rdx,4), %rdx
movq %rdx, -0x50(%rbp)
addq %rsi, %rdx
movq %rdx, -0x48(%rbp)
movsbl %cl, %ecx
imull %eax, %ecx
addl %ecx, %ecx
movq %rcx, -0x40(%rbp)
xorl %ebx, %ebx
movl %r8d, -0x30(%rbp)
movq -0x40(%rbp), %rax
addl %ebx, %eax
cltq
movq -0x50(%rbp), %rcx
addq %rax, %rcx
leaq 0x24bf(%rip), %rdx      # 0x11110
movb (%rdx,%rcx), %r13b
addb $0xb, %r13b
movq -0x48(%rbp), %rcx
movb 0x1(%rcx,%rax), %r12b
addb $0xb, %r12b
movsbl %r12b, %ecx
leal (%rcx,%rcx,2), %eax
shll $0x3, %eax
subl %ecx, %eax
movsbl %r13b, %edx
addl %edx, %eax
addl %eax, %eax
cltq
movq %rax, -0x58(%rbp)
movzbl 0x1(%rax,%r14), %eax
cmpl $0x21, %eax
movq %rcx, -0x38(%rbp)
movl %edx, -0x2c(%rbp)
je 0xec9c
cmpl $0x40, %eax
jne 0xecd6
jmp 0xed37
movb 0xae3f(%rip), %r15b     # 0x19ae2
testb %r15b, %r15b
jle 0xecd6
incb %r15b
leaq 0xae31(%rip), %r14      # 0x19ae3
cmpb %r13b, (%r14)
jne 0xecbd
cmpb %r12b, 0x1(%r14)
je 0xed37
leaq 0x2(%r14), %rdi
callq 0x41b0
addq %rax, %r14
addq $0x3, %r14
decb %r15b
cmpb $0x1, %r15b
jg 0xecb2
movq -0x58(%rbp), %r15
incq %r15
leaq 0x2454(%rip), %rdi      # 0x11138
movl $0x2a, %esi
movl -0x2c(%rbp), %edx
movq -0x38(%rbp), %rcx
movl $0x3, %r8d
xorl %r9d, %r9d
callq 0x686d
leaq 0xa9bb(%rip), %r14      # 0x196c0
movzbl (%r15,%r14), %eax
addl $-0x23, %eax
cmpl $0x2c, %eax
movl -0x30(%rbp), %r8d
ja 0xed26
movabsq $0x100000000101, %rcx   # imm = 0x100000000101
btq %rax, %rcx
jb 0xed5f
addb $0x2, %bl
movsbl %bl, %ebx
cmpl %r8d, %ebx
jl 0xec3b
jmp 0xed5f
leaq 0x23fa(%rip), %rdi      # 0x11138
movl $0x25, %esi
movl -0x2c(%rbp), %edx
movq -0x38(%rbp), %rcx
movl $0x3, %r8d
xorl %r9d, %r9d
callq 0x686d
leaq 0xa961(%rip), %r14      # 0x196c0
leaq 0x8fda(%rip), %rax      # 0x17d40
movb (%rax), %cl
leal 0xb(%rcx), %edx
movzwl 0x2(%rax), %esi
leal 0xb(%rsi), %edi
movb $0x3e, %al
orb %sil, %cl
movsbl %dl, %edx
movsbl %dil, %ecx
je 0xeda1
leal (%rcx,%rcx,2), %eax
shll $0x3, %eax
subl %ecx, %eax
addl %edx, %eax
addl %eax, %eax
cltq
cmpb $0x40, 0x1(%rax,%r14)
movl $0x25, %esi
movl $0x3e, %eax
cmovel %esi, %eax
movzbl %al, %esi
leaq 0x238f(%rip), %rdi      # 0x1113a
movl $0x3, %r8d
xorl %r9d, %r9d
callq 0x686d
cmpb $0x1, 0xb900(%rip)      # 0x1a6c0
jne 0xedd5
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0xe98e
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq