// File: /workspace/github_cpp_makefile_star2_O3/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::TaintQueryHypercall::RequiredFieldsByteSizeFallback() const
size_t TaintQueryHypercall::RequiredFieldsByteSizeFallback() const {
// @@protoc_insertion_point(required_fields_byte_size_fallback_start:panda.TaintQueryHypercall)
  size_t total_size = 0;

  if (_internal_has_call_stack()) {
    // required .panda.CallStack call_stack = 5;
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *call_stack_);
  }

  if (_internal_has_src_info()) {
    // required .panda.SrcInfo src_info = 6;
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *src_info_);
  }

  if (_internal_has_buf()) {
    // required uint64 buf = 1;
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt64Size(
        this->_internal_buf());
  }

  if (_internal_has_len()) {
    // required uint32 len = 2;
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_len());
  }

  if (_internal_has_num_tainted()) {
    // required uint32 num_tainted = 4;
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_num_tainted());
  }

  return total_size;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x40, %rsp
movq %rdi, %rbx
movl 0x10(%rdi), %eax
movq 0x40(%rdi), %rdi
testq %rdi, %rdi
sete %cl
andb %al, %cl
cmpb $0x1, %cl
jne 0x10bca
leaq 0x85bb(%rip), %rdx      # 0x19142
leaq 0x8(%rsp), %r14
movq %r14, %rdi
movl $0x3, %esi
movl $0x152e, %ecx           # imm = 0x152E
callq 0x6530
leaq 0x9a6a(%rip), %rsi      # 0x1a60f
movq %r14, %rdi
callq 0x6580
leaq 0x7(%rsp), %rdi
movq %rax, %rsi
callq 0x6450
leaq 0x8(%rsp), %rdi
callq 0x65a0
movq 0x40(%rbx), %rdi
jmp 0x10bce
testb $0x1, %al
je 0x10bf0
callq 0x9556
movl %eax, %ecx
orl $0x1, %ecx
bsrl %ecx, %ecx
leal (%rcx,%rcx,8), %ecx
addl $0x49, %ecx
shrl $0x6, %ecx
leaq (%rax,%rcx), %r14
incq %r14
movl 0x10(%rbx), %eax
jmp 0x10bf3
xorl %r14d, %r14d
movl %eax, %ecx
shrb %cl
movq 0x48(%rbx), %rdi
testq %rdi, %rdi
sete %dl
andb %cl, %dl
cmpb $0x1, %dl
jne 0x10c52
leaq 0x8533(%rip), %rdx      # 0x19142
leaq 0x8(%rsp), %r15
movq %r15, %rdi
movl $0x3, %esi
movl $0x157f, %ecx           # imm = 0x157F
callq 0x6530
leaq 0x9a13(%rip), %rsi      # 0x1a640
movq %r15, %rdi
callq 0x6580
leaq 0x7(%rsp), %rdi
movq %rax, %rsi
callq 0x6450
leaq 0x8(%rsp), %rdi
callq 0x65a0
movq 0x48(%rbx), %rdi
jmp 0x10c56
testb $0x2, %al
je 0x10c76
callq 0xe2f0
addq %rax, %r14
orl $0x1, %eax
bsrl %eax, %eax
leal (%rax,%rax,8), %eax
addl $0x49, %eax
shrl $0x6, %eax
addq %rax, %r14
incq %r14
movl 0x10(%rbx), %eax
testb $0x4, %al
je 0x10c95
movq 0x50(%rbx), %rcx
orq $0x1, %rcx
bsrq %rcx, %rcx
leal (%rcx,%rcx,8), %ecx
addl $0x49, %ecx
shrl $0x6, %ecx
addq %rcx, %r14
incq %r14
testb $0x8, %al
je 0x10cb1
movl 0x58(%rbx), %ecx
orl $0x1, %ecx
bsrl %ecx, %ecx
leal (%rcx,%rcx,8), %ecx
addl $0x49, %ecx
shrl $0x6, %ecx
addq %rcx, %r14
incq %r14
testb $0x10, %al
je 0x10ccd
movl 0x5c(%rbx), %eax
orl $0x1, %eax
bsrl %eax, %eax
leal (%rax,%rax,8), %eax
addl $0x49, %eax
shrl $0x6, %eax
addq %rax, %r14
incq %r14
movq %r14, %rax
addq $0x40, %rsp
popq %rbx
popq %r14
popq %r15
retq
jmp 0x10ce0
jmp 0x10ce0
jmp 0x10ce0
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x65a0
movq %rbx, %rdi
callq 0x65b0
nop