// File: /workspace/github_cpp_makefile_star2_O2/lotuskip[P]yuxtapa/client/class_cpv.cpp
// Function: ClassCPV::state_upd(SerialBuffer&)
void ClassCPV::state_upd(SerialBuffer &data)
{
	char oldhp = hp;
	hp = static_cast<char>(data.read_ch());
	// if got hurt but not dead and ouch is defined, send ouch:
	if(hp > 0 && hp < oldhp && Config::do_ouch())
		Network::send_line(Config::get_ouch(), false);
	tohit = static_cast<char>(data.read_ch());
	dam_add = static_cast<char>(data.read_ch());
	dv = data.read_ch();
	poisoned = bool(data.read_ch());
	sector = e_Dir(data.read_ch());
	torch_sym[0] = data.read_ch();

	reprint_pcinfo();

	// if died, abort any action in the client end:
	if(hp <= 0)
	{
		if(clientstate == CS_AIMING || clientstate == CS_DIR)
			clientstate = CS_NORMAL;
		Base::print_walk((walkmode = false));
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0xc8, %rsp
movq %rdi, %rbx
movb 0xfc24(%rip), %r14b     # 0x16d44
callq 0xcd50
movb %al, 0xfc19(%rip)       # 0x16d44
testb %al, %al
jle 0x714c
cmpb %r14b, %al
jge 0x714c
callq 0xb9f0
testb %al, %al
je 0x714c
callq 0xb9e3
movq %rax, %rdi
xorl %esi, %esi
callq 0xa9f7
movq %rbx, %rdi
callq 0xcd50
movb %al, 0xfbee(%rip)       # 0x16d48
movq %rbx, %rdi
callq 0xcd50
movb %al, 0xfbe1(%rip)       # 0x16d49
movq %rbx, %rdi
callq 0xcd50
movb %al, 0xfbd0(%rip)       # 0x16d46
movq %rbx, %rdi
callq 0xcd50
testb %al, %al
setne 0xfbc3(%rip)            # 0x16d4a
movq %rbx, %rdi
callq 0xcd50
movzbl %al, %eax
movl %eax, 0xfbb4(%rip)      # 0x16d4c
movq %rbx, %rdi
callq 0xcd50
movb %al, 0xf21a(%rip)       # 0x163c0
leaq 0x72dd(%rip), %rsi      # 0xe48a
leaq -0x38(%rbp), %rbx
leaq -0x58(%rbp), %rdx
movq %rbx, %rdi
callq 0x69bc
movl 0xfb89(%rip), %eax      # 0x16d4c
shlq $0x5, %rax
leaq 0xf8f2(%rip), %rsi      # 0x16ac0
addq %rax, %rsi
movq %rbx, %rdi
callq 0x46f0
leaq 0x72ac(%rip), %rsi      # 0xe48c
leaq -0x38(%rbp), %rdi
callq 0x46c0
movq -0x38(%rbp), %rdi
movl 0xf1c9(%rip), %eax      # 0x163bc
leaq 0x7162(%rip), %r15      # 0xe35c
movzbl (%rax,%r15), %esi
pushq $0x34
popq %rdx
pushq $0x3
popq %rcx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x61ca
movsbl 0xfb2d(%rip), %esi      # 0x16d44
leaq -0x78(%rbp), %rdi
callq 0xd516
leaq 0x7268(%rip), %rsi      # 0xe48f
leaq -0x98(%rbp), %rdi
leaq -0x78(%rbp), %rdx
callq 0x6a4c
leaq -0xb8(%rbp), %rdi
leaq -0x98(%rbp), %rsi
pushq $0x2f
popq %rdx
callq 0x76bf
movl 0xf165(%rip), %eax      # 0x163b8
imulq $0xd, %rax, %rax
leaq 0x7102(%rip), %rcx      # 0xe360
movsbl 0x3(%rax,%rcx), %esi
leaq -0xd8(%rbp), %rdi
callq 0xd516
leaq -0x58(%rbp), %rdi
leaq -0xb8(%rbp), %rsi
leaq -0xd8(%rbp), %rdx
callq 0x764e
leaq -0x58(%rbp), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0x4480
movq %r14, %rdi
callq 0x4748
leaq -0xd8(%rbp), %rdi
callq 0x4748
leaq -0xb8(%rbp), %rdi
callq 0x4748
leaq -0x98(%rbp), %rdi
callq 0x4748
leaq -0x78(%rbp), %rdi
callq 0x4748
movq %rbx, %rdi
callq 0x7627
movq -0x38(%rbp), %rdi
movl 0xf0e0(%rip), %eax      # 0x163bc
movzbl (%rax,%r15), %esi
pushq $0x25
popq %rdx
pushq $0x4
popq %rcx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x61ca
movsbl 0xfa4d(%rip), %esi      # 0x16d46
leaq -0x78(%rbp), %rdi
callq 0xd516
leaq 0x718b(%rip), %rsi      # 0xe494
leaq -0x98(%rbp), %rdi
leaq -0x78(%rbp), %rdx
callq 0x6a4c
leaq -0xb8(%rbp), %rdi
leaq -0x98(%rbp), %rsi
pushq $0x2f
popq %rdx
callq 0x76bf
movsbl 0xfa11(%rip), %esi      # 0x16d47
leaq -0xd8(%rbp), %rdi
callq 0xd516
leaq -0x58(%rbp), %rdi
leaq -0xb8(%rbp), %rsi
leaq -0xd8(%rbp), %rdx
callq 0x764e
movq %rbx, %rdi
movq %r14, %rsi
callq 0x4480
movq %r14, %rdi
callq 0x4748
leaq -0xd8(%rbp), %rdi
callq 0x4748
leaq -0xb8(%rbp), %rdi
callq 0x4748
leaq -0x98(%rbp), %rdi
callq 0x4748
leaq -0x78(%rbp), %rdi
callq 0x4748
movq %rbx, %rdi
callq 0x7627
movq -0x38(%rbp), %rdi
movl 0xf011(%rip), %eax      # 0x163bc
movzbl (%rax,%r15), %esi
pushq $0x25
popq %rdx
pushq $0x5
popq %rcx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x61ca
andq $0x0, -0x30(%rbp)
movq -0x38(%rbp), %rax
movb $0x0, (%rax)
movb 0xf975(%rip), %al       # 0x16d48
testb %al, %al
jle 0x73e9
leaq -0x38(%rbp), %rdi
pushq $0x2b
popq %rsi
callq 0x4310
movb 0xf95f(%rip), %al       # 0x16d48
movsbl %al, %esi
leaq -0x98(%rbp), %rdi
callq 0xd516
leaq 0x709c(%rip), %rdx      # 0xe49b
leaq -0xb8(%rbp), %rdi
leaq -0x98(%rbp), %rsi
callq 0x6a23
movsbl 0xf92c(%rip), %esi      # 0x16d45
leaq -0x78(%rbp), %rdi
callq 0xd516
leaq -0x58(%rbp), %rdi
leaq -0xb8(%rbp), %rsi
leaq -0x78(%rbp), %rdx
callq 0x764e
leaq -0x38(%rbp), %rdi
leaq -0x58(%rbp), %rsi
callq 0x46f0
leaq -0x58(%rbp), %rdi
callq 0x4748
leaq -0x78(%rbp), %rdi
callq 0x4748
leaq -0xb8(%rbp), %rdi
callq 0x4748
leaq -0x98(%rbp), %rdi
callq 0x4748
movb 0xf8d6(%rip), %al       # 0x16d49
testb %al, %al
jle 0x7489
leaq -0x38(%rbp), %rdi
pushq $0x2b
popq %rsi
callq 0x4310
movb 0xf8c0(%rip), %al       # 0x16d49
testb %al, %al
je 0x74af
movsbl %al, %esi
leaq -0x58(%rbp), %rdi
callq 0xd516
leaq -0x38(%rbp), %rdi
leaq -0x58(%rbp), %rsi
callq 0x46f0
leaq -0x58(%rbp), %rdi
callq 0x4748
leaq -0x38(%rbp), %rdi
callq 0x7627
movq -0x38(%rbp), %rdi
movl 0xeefa(%rip), %eax      # 0x163bc
movzbl (%rax,%r15), %esi
pushq $0x25
popq %rdx
pushq $0x6
popq %rcx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x61ca
leaq 0x6fc0(%rip), %rax      # 0xe49f
leaq 0x6f99(%rip), %rsi      # 0xe47f
cmpb $0x0, 0xf85d(%rip)      # 0x16d4a
cmovneq %rax, %rsi
leaq -0x38(%rbp), %rdi
callq 0x46d0
movq -0x38(%rbp), %rdi
movl 0xeeb8(%rip), %eax      # 0x163bc
movzbl (%rax,%r15), %esi
pushq $0x25
popq %rdx
pushq $0x7
popq %rcx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x61ca
leaq 0xee9f(%rip), %rdi      # 0x163c0
pushq $0x41
popq %rsi
pushq $0x33
popq %rdx
pushq $0x4
popq %rcx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x61ca
leaq -0x38(%rbp), %rdi
callq 0x4748
cmpb $0x0, 0xf7ff(%rip)      # 0x16d44
jg 0x756c
leaq 0xf932(%rip), %rax      # 0x16e80
movl (%rax), %ecx
andl $-0x2, %ecx
cmpl $0x6, %ecx
jne 0x755b
andl $0x0, (%rax)
leaq 0xf922(%rip), %rax      # 0x16e84
movb $0x0, (%rax)
xorl %edi, %edi
callq 0x65d1
addq $0xc8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
leaq -0x58(%rbp), %rdi
jmp 0x760a
jmp 0x7613
movq %rax, %rbx
leaq -0x58(%rbp), %rdi
callq 0x4748
jmp 0x759c
movq %rax, %rbx
leaq -0x78(%rbp), %rdi
callq 0x4748
jmp 0x75aa
movq %rax, %rbx
leaq -0xb8(%rbp), %rdi
callq 0x4748
jmp 0x75bb
movq %rax, %rbx
leaq -0x98(%rbp), %rdi
jmp 0x760a
jmp 0x7613
jmp 0x75d0
jmp 0x75e1
jmp 0x75f2
jmp 0x7603
jmp 0x7613
movq %rax, %rbx
leaq -0xd8(%rbp), %rdi
callq 0x4748
jmp 0x75e4
movq %rax, %rbx
leaq -0xb8(%rbp), %rdi
callq 0x4748
jmp 0x75f5
movq %rax, %rbx
leaq -0x98(%rbp), %rdi
callq 0x4748
jmp 0x7606
movq %rax, %rbx
leaq -0x78(%rbp), %rdi
callq 0x4748
jmp 0x7616
jmp 0x7613
movq %rax, %rbx
leaq -0x38(%rbp), %rdi
callq 0x4748
movq %rbx, %rdi
callq 0x4650