// File: moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::LogEntry::MergeFrom(panda::LogEntry const&)
void LogEntry::MergeFrom(const LogEntry& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:panda.LogEntry)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 0x000000ffu) {
    if (cached_has_bits & 0x00000001u) {
      _internal_set_process_name(from._internal_process_name());
    }
    if (cached_has_bits & 0x00000002u) {
      _internal_mutable_call_stack()->::panda::CallStack::MergeFrom(from._internal_call_stack());
    }
    if (cached_has_bits & 0x00000004u) {
      _internal_mutable_tainted_branch()->::panda::TaintedBranch::MergeFrom(from._internal_tainted_branch());
    }
    if (cached_has_bits & 0x00000008u) {
      _internal_mutable_tainted_instr()->::panda::TaintedInstr::MergeFrom(from._internal_tainted_instr());
    }
    if (cached_has_bits & 0x00000010u) {
      _internal_mutable_taint_query_hypercall()->::panda::TaintQueryHypercall::MergeFrom(from._internal_taint_query_hypercall());
    }
    if (cached_has_bits & 0x00000020u) {
      _internal_mutable_attack_point()->::panda::AttackPoint::MergeFrom(from._internal_attack_point());
    }
    if (cached_has_bits & 0x00000040u) {
      _internal_mutable_tainted_instr_summary()->::panda::TaintedInstrSummary::MergeFrom(from._internal_tainted_instr_summary());
    }
    if (cached_has_bits & 0x00000080u) {
      _internal_mutable_dwarf_call()->::panda::DwarfCall::MergeFrom(from._internal_dwarf_call());
    }
  }
  if (cached_has_bits & 0x0000ff00u) {
    if (cached_has_bits & 0x00000100u) {
      _internal_mutable_dwarf_ret()->::panda::DwarfCall::MergeFrom(from._internal_dwarf_ret());
    }
    if (cached_has_bits & 0x00000200u) {
      _internal_mutable_taint_query_pri()->::panda::TaintQueryPri::MergeFrom(from._internal_taint_query_pri());
    }
    if (cached_has_bits & 0x00000400u) {
      _internal_mutable_attack_point_pri()->::panda::AttackPointPri::MergeFrom(from._internal_attack_point_pri());
    }
    if (cached_has_bits & 0x00000800u) {
      _internal_mutable_pri_trace_src_info()->::panda::SrcInfoPri::MergeFrom(from._internal_pri_trace_src_info());
    }
    if (cached_has_bits & 0x00001000u) {
      _internal_mutable_tainted_branch_summary()->::panda::TaintedBranchSummary::MergeFrom(from._internal_tainted_branch_summary());
    }
    if (cached_has_bits & 0x00002000u) {
      pc_ = from.pc_;
    }
    if (cached_has_bits & 0x00004000u) {
      instr_ = from.instr_;
    }
    if (cached_has_bits & 0x00008000u) {
      asid_ = from.asid_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
  if (cached_has_bits & 0x001f0000u) {
    if (cached_has_bits & 0x00010000u) {
      taint_label_virtual_addr_ = from.taint_label_virtual_addr_;
    }
    if (cached_has_bits & 0x00020000u) {
      process_id_ = from.process_id_;
    }
    if (cached_has_bits & 0x00040000u) {
      taint_label_number_ = from.taint_label_number_;
    }
    if (cached_has_bits & 0x00080000u) {
      taint_label_physical_addr_ = from.taint_label_physical_addr_;
    }
    if (cached_has_bits & 0x00100000u) {
      total_instr_ = from.total_instr_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x170, %rsp            # imm = 0x170
movq %rdi, -0x80(%rbp)
movq %rsi, -0x88(%rbp)
movq -0x80(%rbp), %rcx
movq %rcx, -0xe8(%rbp)
movq -0x88(%rbp), %rax
movb $0x0, -0xc1(%rbp)
cmpq %rcx, %rax
je 0x257d6
jmp 0x25834
leaq 0xea29(%rip), %rdx      # 0x34206
leaq -0xc0(%rbp), %rdi
movq %rdi, -0xf8(%rbp)
movl $0x3, %esi
movl $0x18d0, %ecx           # imm = 0x18D0
callq 0x6590
movq -0xf8(%rbp), %rdi
movb $0x1, -0xc1(%rbp)
leaq 0xea02(%rip), %rsi      # 0x34211
callq 0x65f0
movq %rax, -0xf0(%rbp)
jmp 0x2581d
movq -0xf0(%rbp), %rsi
leaq -0xd5(%rbp), %rdi
callq 0x64b0
jmp 0x25832
jmp 0x25834
testb $0x1, -0xc1(%rbp)
jne 0x2583f
jmp 0x2584b
leaq -0xc0(%rbp), %rdi
callq 0x6620
movq -0xe8(%rbp), %rcx
addq $0x8, %rcx
movq -0x88(%rbp), %rax
addq $0x8, %rax
movq %rcx, -0x70(%rbp)
movq %rax, -0x78(%rbp)
movq -0x70(%rbp), %rax
movq %rax, -0x100(%rbp)
movq -0x78(%rbp), %rax
movq %rax, -0x68(%rbp)
movq -0x68(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rax
andq $0x1, %rax
cmpl $0x1, %eax
jne 0x258f8
movq -0x78(%rbp), %rax
movq %rax, -0x58(%rbp)
movq $0x0, -0x60(%rbp)
movq -0x58(%rbp), %rax
movq %rax, -0x108(%rbp)
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rax
andq $0x1, %rax
cmpl $0x1, %eax
jne 0x258e1
movq -0x108(%rbp), %rdi
callq 0x310a0
addq $0x8, %rax
movq %rax, -0x50(%rbp)
jmp 0x258e8
callq *-0x60(%rbp)
movq %rax, -0x50(%rbp)
movq -0x100(%rbp), %rdi
movq -0x50(%rbp), %rsi
callq 0x318d0
movl $0x0, -0xdc(%rbp)
movq -0x88(%rbp), %rax
addq $0x10, %rax
movq %rax, -0x18(%rbp)
movl $0x0, -0x1c(%rbp)
movq -0x18(%rbp), %rax
movslq -0x1c(%rbp), %rcx
movl (%rax,%rcx,4), %eax
movl %eax, -0xdc(%rbp)
movl -0xdc(%rbp), %eax
andl $0xff, %eax
cmpl $0x0, %eax
je 0x25b3e
movl -0xdc(%rbp), %eax
andl $0x1, %eax
cmpl $0x0, %eax
je 0x25996
movq -0x88(%rbp), %rdi
callq 0x2cfc0
movq -0xe8(%rbp), %rdi
movq %rax, %rsi
callq 0x2f290
jmp 0x25996
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xd0(%rbp)
movl %eax, -0xd4(%rbp)
testb $0x1, -0xc1(%rbp)
jne 0x25985
jmp 0x25991
leaq -0xc0(%rbp), %rdi
callq 0x6620
jmp 0x25e55
movl -0xdc(%rbp), %eax
andl $0x2, %eax
cmpl $0x0, %eax
je 0x259d2
movq -0xe8(%rbp), %rdi
callq 0x2e220
movq %rax, -0x110(%rbp)
movq -0x88(%rbp), %rdi
callq 0x2f310
movq -0x110(%rbp), %rdi
movq %rax, %rsi
callq 0xfef0
movl -0xdc(%rbp), %eax
andl $0x4, %eax
cmpl $0x0, %eax
je 0x25a0e
movq -0xe8(%rbp), %rdi
callq 0x2e360
movq %rax, -0x118(%rbp)
movq -0x88(%rbp), %rdi
callq 0x2f350
movq -0x118(%rbp), %rdi
movq %rax, %rsi
callq 0x1e3f0
movl -0xdc(%rbp), %eax
andl $0x8, %eax
cmpl $0x0, %eax
je 0x25a4a
movq -0xe8(%rbp), %rdi
callq 0x2e4a0
movq %rax, -0x120(%rbp)
movq -0x88(%rbp), %rdi
callq 0x9200
movq -0x120(%rbp), %rdi
movq %rax, %rsi
callq 0x205b0
movl -0xdc(%rbp), %eax
andl $0x10, %eax
cmpl $0x0, %eax
je 0x25a86
movq -0xe8(%rbp), %rdi
callq 0x2e5e0
movq %rax, -0x128(%rbp)
movq -0x88(%rbp), %rdi
callq 0x2f390
movq -0x128(%rbp), %rdi
movq %rax, %rsi
callq 0x1d0c0
movl -0xdc(%rbp), %eax
andl $0x20, %eax
cmpl $0x0, %eax
je 0x25ac2
movq -0xe8(%rbp), %rdi
callq 0x2e720
movq %rax, -0x130(%rbp)
movq -0x88(%rbp), %rdi
callq 0x2f3d0
movq -0x130(%rbp), %rdi
movq %rax, %rsi
callq 0x1b280
movl -0xdc(%rbp), %eax
andl $0x40, %eax
cmpl $0x0, %eax
je 0x25afe
movq -0xe8(%rbp), %rdi
callq 0x2e860
movq %rax, -0x138(%rbp)
movq -0x88(%rbp), %rdi
callq 0x2f410
movq -0x138(%rbp), %rdi
movq %rax, %rsi
callq 0x21570
movl -0xdc(%rbp), %eax
andl $0x80, %eax
cmpl $0x0, %eax
je 0x25b3c
movq -0xe8(%rbp), %rdi
callq 0x2e9d0
movq %rax, -0x140(%rbp)
movq -0x88(%rbp), %rdi
callq 0x2f450
movq -0x140(%rbp), %rdi
movq %rax, %rsi
callq 0x11430
jmp 0x25b3e
movl -0xdc(%rbp), %eax
andl $0xff00, %eax           # imm = 0xFF00
cmpl $0x0, %eax
je 0x25d36
movl -0xdc(%rbp), %eax
andl $0x100, %eax            # imm = 0x100
cmpl $0x0, %eax
je 0x25b90
movq -0xe8(%rbp), %rdi
callq 0x2ea50
movq %rax, -0x148(%rbp)
movq -0x88(%rbp), %rdi
callq 0x2f490
movq -0x148(%rbp), %rdi
movq %rax, %rsi
callq 0x11430
movl -0xdc(%rbp), %eax
andl $0x200, %eax            # imm = 0x200
cmpl $0x0, %eax
je 0x25bce
movq -0xe8(%rbp), %rdi
callq 0x2eba0
movq %rax, -0x150(%rbp)
movq -0x88(%rbp), %rdi
callq 0x2f4d0
movq -0x150(%rbp), %rdi
movq %rax, %rsi
callq 0x16290
movl -0xdc(%rbp), %eax
andl $0x400, %eax            # imm = 0x400
cmpl $0x0, %eax
je 0x25c0c
movq -0xe8(%rbp), %rdi
callq 0x2ecf0
movq %rax, -0x158(%rbp)
movq -0x88(%rbp), %rdi
callq 0x2f510
movq -0x158(%rbp), %rdi
movq %rax, %rsi
callq 0x14450
movl -0xdc(%rbp), %eax
andl $0x800, %eax            # imm = 0x800
cmpl $0x0, %eax
je 0x25c4a
movq -0xe8(%rbp), %rdi
callq 0x2ed70
movq %rax, -0x160(%rbp)
movq -0x88(%rbp), %rdi
callq 0x2f550
movq -0x160(%rbp), %rdi
movq %rax, %rsi
callq 0x12d30
movl -0xdc(%rbp), %eax
andl $0x1000, %eax           # imm = 0x1000
cmpl $0x0, %eax
je 0x25c88
movq -0xe8(%rbp), %rdi
callq 0x2eec0
movq %rax, -0x168(%rbp)
movq -0x88(%rbp), %rdi
callq 0x2f590
movq -0x168(%rbp), %rdi
movq %rax, %rsi
callq 0x1f3b0
movl -0xdc(%rbp), %eax
andl $0x2000, %eax           # imm = 0x2000
cmpl $0x0, %eax
je 0x25cb4
movq -0xe8(%rbp), %rax
movq -0x88(%rbp), %rcx
movq 0x80(%rcx), %rcx
movq %rcx, 0x80(%rax)
movl -0xdc(%rbp), %eax
andl $0x4000, %eax           # imm = 0x4000
cmpl $0x0, %eax
je 0x25ce0
movq -0xe8(%rbp), %rax
movq -0x88(%rbp), %rcx
movq 0x88(%rcx), %rcx
movq %rcx, 0x88(%rax)
movl -0xdc(%rbp), %eax
andl $0x8000, %eax           # imm = 0x8000
cmpl $0x0, %eax
je 0x25d0c
movq -0xe8(%rbp), %rax
movq -0x88(%rbp), %rcx
movq 0x90(%rcx), %rcx
movq %rcx, 0x90(%rax)
movq -0xe8(%rbp), %rax
movl -0xdc(%rbp), %edx
addq $0x10, %rax
movq %rax, -0x28(%rbp)
movl $0x0, -0x2c(%rbp)
movq -0x28(%rbp), %rax
movslq -0x2c(%rbp), %rcx
orl (%rax,%rcx,4), %edx
movl %edx, (%rax,%rcx,4)
movl -0xdc(%rbp), %eax
andl $0x1f0000, %eax         # imm = 0x1F0000
cmpl $0x0, %eax
je 0x25e4c
movl -0xdc(%rbp), %eax
andl $0x10000, %eax          # imm = 0x10000
cmpl $0x0, %eax
je 0x25d76
movq -0xe8(%rbp), %rax
movq -0x88(%rbp), %rcx
movq 0x98(%rcx), %rcx
movq %rcx, 0x98(%rax)
movl -0xdc(%rbp), %eax
andl $0x20000, %eax          # imm = 0x20000
cmpl $0x0, %eax
je 0x25da0
movq -0xe8(%rbp), %rax
movq -0x88(%rbp), %rcx
movl 0xa0(%rcx), %ecx
movl %ecx, 0xa0(%rax)
movl -0xdc(%rbp), %eax
andl $0x40000, %eax          # imm = 0x40000
cmpl $0x0, %eax
je 0x25dca
movq -0xe8(%rbp), %rax
movq -0x88(%rbp), %rcx
movl 0xa4(%rcx), %ecx
movl %ecx, 0xa4(%rax)
movl -0xdc(%rbp), %eax
andl $0x80000, %eax          # imm = 0x80000
cmpl $0x0, %eax
je 0x25df6
movq -0xe8(%rbp), %rax
movq -0x88(%rbp), %rcx
movq 0xa8(%rcx), %rcx
movq %rcx, 0xa8(%rax)
movl -0xdc(%rbp), %eax
andl $0x100000, %eax         # imm = 0x100000
cmpl $0x0, %eax
je 0x25e22
movq -0xe8(%rbp), %rax
movq -0x88(%rbp), %rcx
movq 0xb0(%rcx), %rcx
movq %rcx, 0xb0(%rax)
movq -0xe8(%rbp), %rax
movl -0xdc(%rbp), %edx
addq $0x10, %rax
movq %rax, -0x38(%rbp)
movl $0x0, -0x3c(%rbp)
movq -0x38(%rbp), %rax
movslq -0x3c(%rbp), %rcx
orl (%rax,%rcx,4), %edx
movl %edx, (%rax,%rcx,4)
addq $0x170, %rsp            # imm = 0x170
popq %rbp
retq
movq -0xd0(%rbp), %rdi
callq 0x6630
nopw %cs:(%rax,%rax)