// File: moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::LogEntry::_InternalParse(char const*, google::protobuf::internal::ParseContext*)
const char* LogEntry::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  ::PROTOBUF_NAMESPACE_ID::Arena* arena = GetArena(); (void)arena;
  while (!ctx->Done(&ptr)) {
    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
    CHK_(ptr);
    switch (tag >> 3) {
      // required uint64 pc = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
          _Internal::set_has_pc(&has_bits);
          pc_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // required uint64 instr = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          _Internal::set_has_instr(&has_bits);
          instr_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional uint64 asid = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          _Internal::set_has_asid(&has_bits);
          asid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional string process_name = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          auto str = _internal_mutable_process_name();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          #ifndef NDEBUG
          ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "panda.LogEntry.process_name");
          #endif  // !NDEBUG
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional uint32 process_id = 5;
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
          _Internal::set_has_process_id(&has_bits);
          process_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional uint64 taint_label_virtual_addr = 6;
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 48)) {
          _Internal::set_has_taint_label_virtual_addr(&has_bits);
          taint_label_virtual_addr_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional uint64 taint_label_physical_addr = 7;
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 56)) {
          _Internal::set_has_taint_label_physical_addr(&has_bits);
          taint_label_physical_addr_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional uint32 taint_label_number = 8;
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 64)) {
          _Internal::set_has_taint_label_number(&has_bits);
          taint_label_number_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional .panda.CallStack call_stack = 10;
      case 10:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 82)) {
          ptr = ctx->ParseMessage(_internal_mutable_call_stack(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional .panda.TaintedBranch tainted_branch = 36;
      case 36:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr = ctx->ParseMessage(_internal_mutable_tainted_branch(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional .panda.TaintedInstr tainted_instr = 37;
      case 37:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
          ptr = ctx->ParseMessage(_internal_mutable_tainted_instr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional .panda.TaintQueryHypercall taint_query_hypercall = 38;
      case 38:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
          ptr = ctx->ParseMessage(_internal_mutable_taint_query_hypercall(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional .panda.AttackPoint attack_point = 39;
      case 39:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 58)) {
          ptr = ctx->ParseMessage(_internal_mutable_attack_point(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional .panda.TaintedInstrSummary tainted_instr_summary = 56;
      case 56:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 194)) {
          ptr = ctx->ParseMessage(_internal_mutable_tainted_instr_summary(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional uint64 total_instr = 65;
      case 65:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
          _Internal::set_has_total_instr(&has_bits);
          total_instr_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional .panda.DwarfCall dwarf_call = 66;
      case 66:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_dwarf_call(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional .panda.DwarfCall dwarf_ret = 67;
      case 67:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_dwarf_ret(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional .panda.TaintQueryPri taint_query_pri = 68;
      case 68:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr = ctx->ParseMessage(_internal_mutable_taint_query_pri(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional .panda.AttackPointPri attack_point_pri = 69;
      case 69:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
          ptr = ctx->ParseMessage(_internal_mutable_attack_point_pri(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional .panda.SrcInfoPri pri_trace_src_info = 70;
      case 70:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
          ptr = ctx->ParseMessage(_internal_mutable_pri_trace_src_info(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional .panda.TaintedBranchSummary tainted_branch_summary = 72;
      case 72:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 66)) {
          ptr = ctx->ParseMessage(_internal_mutable_tainted_branch_summary(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          ctx->SetLastTag(tag);
          goto success;
        }
        ptr = UnknownFieldParse(tag,
            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
            ptr, ctx);
        CHK_(ptr != nullptr);
        continue;
      }
    }  // switch
  }  // while
success:
  _has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto success;
#undef CHK_
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xf0, %rsp
movq %rdi, -0x38(%rbp)
movq %rsi, -0x40(%rbp)
movq %rdx, -0x48(%rbp)
movq -0x38(%rbp), %rax
movq %rax, -0x70(%rbp)
leaq -0x4c(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rdi
xorl %esi, %esi
movl $0x4, %edx
callq 0x61a0
movq -0x70(%rbp), %rdi
callq 0x27600
movq %rax, -0x58(%rbp)
movq -0x48(%rbp), %rdi
leaq -0x40(%rbp), %rsi
callq 0x27670
xorb $-0x1, %al
testb $0x1, %al
jne 0x23324
jmp 0x23be3
movq -0x40(%rbp), %rdi
leaq -0x5c(%rbp), %rsi
xorl %edx, %edx
callq 0x276a0
movq %rax, -0x40(%rbp)
cmpq $0x0, -0x40(%rbp)
setne %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x23347
jmp 0x2334c
jmp 0x23c03
movl -0x5c(%rbp), %eax
shrl $0x3, %eax
decl %eax
movl %eax, %ecx
movq %rcx, -0x78(%rbp)
subl $0x47, %eax
ja 0x23b22
movq -0x78(%rbp), %rax
leaq 0xff06(%rip), %rcx      # 0x33274
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl -0x5c(%rbp), %eax
movzbl %al, %eax
cmpl $0x8, %eax
sete %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x2338d
jmp 0x233c4
leaq -0x4c(%rbp), %rdi
callq 0x2e060
leaq -0x40(%rbp), %rdi
callq 0x27790
movq %rax, %rcx
movq -0x70(%rbp), %rax
movq %rcx, 0x80(%rax)
cmpq $0x0, -0x40(%rbp)
setne %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x233bd
jmp 0x233c2
jmp 0x23c03
jmp 0x233c9
jmp 0x23b24
jmp 0x2330c
movl -0x5c(%rbp), %eax
movzbl %al, %eax
cmpl $0x10, %eax
sete %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x233e4
jmp 0x2341b
leaq -0x4c(%rbp), %rdi
callq 0x2e090
leaq -0x40(%rbp), %rdi
callq 0x27790
movq %rax, %rcx
movq -0x70(%rbp), %rax
movq %rcx, 0x88(%rax)
cmpq $0x0, -0x40(%rbp)
setne %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x23414
jmp 0x23419
jmp 0x23c03
jmp 0x23420
jmp 0x23b24
jmp 0x2330c
movl -0x5c(%rbp), %eax
movzbl %al, %eax
cmpl $0x18, %eax
sete %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x2343b
jmp 0x23472
leaq -0x4c(%rbp), %rdi
callq 0x2e0c0
leaq -0x40(%rbp), %rdi
callq 0x27790
movq %rax, %rcx
movq -0x70(%rbp), %rax
movq %rcx, 0x90(%rax)
cmpq $0x0, -0x40(%rbp)
setne %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x2346b
jmp 0x23470
jmp 0x23c03
jmp 0x23477
jmp 0x23b24
jmp 0x2330c
movl -0x5c(%rbp), %eax
movzbl %al, %eax
cmpl $0x22, %eax
sete %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x23492
jmp 0x234db
movq -0x70(%rbp), %rdi
callq 0x2e0f0
movq %rax, -0x68(%rbp)
movq -0x68(%rbp), %rdi
movq -0x40(%rbp), %rsi
movq -0x48(%rbp), %rdx
callq 0x66c0
movq %rax, -0x40(%rbp)
movq -0x68(%rbp), %rdi
leaq 0x1106b(%rip), %rsi     # 0x3452a
callq 0x27dd0
cmpq $0x0, -0x40(%rbp)
setne %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x234d4
jmp 0x234d9
jmp 0x23c03
jmp 0x234e0
jmp 0x23b24
jmp 0x2330c
movl -0x5c(%rbp), %eax
movzbl %al, %eax
cmpl $0x28, %eax
sete %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x234fb
jmp 0x23530
leaq -0x4c(%rbp), %rdi
callq 0x2e160
leaq -0x40(%rbp), %rdi
callq 0x28880
movl %eax, %ecx
movq -0x70(%rbp), %rax
movl %ecx, 0xa0(%rax)
cmpq $0x0, -0x40(%rbp)
setne %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x23529
jmp 0x2352e
jmp 0x23c03
jmp 0x23535
jmp 0x23b24
jmp 0x2330c
movl -0x5c(%rbp), %eax
movzbl %al, %eax
cmpl $0x30, %eax
sete %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x23550
jmp 0x23587
leaq -0x4c(%rbp), %rdi
callq 0x2e190
leaq -0x40(%rbp), %rdi
callq 0x27790
movq %rax, %rcx
movq -0x70(%rbp), %rax
movq %rcx, 0x98(%rax)
cmpq $0x0, -0x40(%rbp)
setne %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x23580
jmp 0x23585
jmp 0x23c03
jmp 0x2358c
jmp 0x23b24
jmp 0x2330c
movl -0x5c(%rbp), %eax
movzbl %al, %eax
cmpl $0x38, %eax
sete %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x235a7
jmp 0x235de
leaq -0x4c(%rbp), %rdi
callq 0x2e1c0
leaq -0x40(%rbp), %rdi
callq 0x27790
movq %rax, %rcx
movq -0x70(%rbp), %rax
movq %rcx, 0xa8(%rax)
cmpq $0x0, -0x40(%rbp)
setne %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x235d7
jmp 0x235dc
jmp 0x23c03
jmp 0x235e3
jmp 0x23b24
jmp 0x2330c
movl -0x5c(%rbp), %eax
movzbl %al, %eax
cmpl $0x40, %eax
sete %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x235fe
jmp 0x23633
leaq -0x4c(%rbp), %rdi
callq 0x2e1f0
leaq -0x40(%rbp), %rdi
callq 0x28880
movl %eax, %ecx
movq -0x70(%rbp), %rax
movl %ecx, 0xa4(%rax)
cmpq $0x0, -0x40(%rbp)
setne %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x2362c
jmp 0x23631
jmp 0x23c03
jmp 0x23638
jmp 0x23b24
jmp 0x2330c
movl -0x5c(%rbp), %eax
movzbl %al, %eax
cmpl $0x52, %eax
sete %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x23653
jmp 0x2368f
movq -0x70(%rbp), %rdi
movq -0x48(%rbp), %rax
movq %rax, -0x80(%rbp)
callq 0x2e220
movq -0x80(%rbp), %rdi
movq %rax, %rsi
movq -0x40(%rbp), %rdx
callq 0x29080
movq %rax, -0x40(%rbp)
cmpq $0x0, -0x40(%rbp)
setne %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x23688
jmp 0x2368d
jmp 0x23c03
jmp 0x23694
jmp 0x23b24
jmp 0x2330c
movl -0x5c(%rbp), %eax
movzbl %al, %eax
cmpl $0x22, %eax
sete %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x236af
jmp 0x236f1
movq -0x70(%rbp), %rdi
movq -0x48(%rbp), %rax
movq %rax, -0x88(%rbp)
callq 0x2e360
movq -0x88(%rbp), %rdi
movq %rax, %rsi
movq -0x40(%rbp), %rdx
callq 0x2e290
movq %rax, -0x40(%rbp)
cmpq $0x0, -0x40(%rbp)
setne %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x236ea
jmp 0x236ef
jmp 0x23c03
jmp 0x236f6
jmp 0x23b24
jmp 0x2330c
movl -0x5c(%rbp), %eax
movzbl %al, %eax
cmpl $0x2a, %eax
sete %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x23711
jmp 0x23753
movq -0x70(%rbp), %rdi
movq -0x48(%rbp), %rax
movq %rax, -0x90(%rbp)
callq 0x2e4a0
movq -0x90(%rbp), %rdi
movq %rax, %rsi
movq -0x40(%rbp), %rdx
callq 0x2e3d0
movq %rax, -0x40(%rbp)
cmpq $0x0, -0x40(%rbp)
setne %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x2374c
jmp 0x23751
jmp 0x23c03
jmp 0x23758
jmp 0x23b24
jmp 0x2330c
movl -0x5c(%rbp), %eax
movzbl %al, %eax
cmpl $0x32, %eax
sete %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x23773
jmp 0x237b5
movq -0x70(%rbp), %rdi
movq -0x48(%rbp), %rax
movq %rax, -0x98(%rbp)
callq 0x2e5e0
movq -0x98(%rbp), %rdi
movq %rax, %rsi
movq -0x40(%rbp), %rdx
callq 0x2e510
movq %rax, -0x40(%rbp)
cmpq $0x0, -0x40(%rbp)
setne %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x237ae
jmp 0x237b3
jmp 0x23c03
jmp 0x237ba
jmp 0x23b24
jmp 0x2330c
movl -0x5c(%rbp), %eax
movzbl %al, %eax
cmpl $0x3a, %eax
sete %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x237d5
jmp 0x23817
movq -0x70(%rbp), %rdi
movq -0x48(%rbp), %rax
movq %rax, -0xa0(%rbp)
callq 0x2e720
movq -0xa0(%rbp), %rdi
movq %rax, %rsi
movq -0x40(%rbp), %rdx
callq 0x2e650
movq %rax, -0x40(%rbp)
cmpq $0x0, -0x40(%rbp)
setne %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x23810
jmp 0x23815
jmp 0x23c03
jmp 0x2381c
jmp 0x23b24
jmp 0x2330c
movl -0x5c(%rbp), %eax
movzbl %al, %eax
cmpl $0xc2, %eax
sete %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x23839
jmp 0x2387b
movq -0x70(%rbp), %rdi
movq -0x48(%rbp), %rax
movq %rax, -0xa8(%rbp)
callq 0x2e860
movq -0xa8(%rbp), %rdi
movq %rax, %rsi
movq -0x40(%rbp), %rdx
callq 0x2e790
movq %rax, -0x40(%rbp)
cmpq $0x0, -0x40(%rbp)
setne %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x23874
jmp 0x23879
jmp 0x23c03
jmp 0x23880
jmp 0x23b24
jmp 0x2330c
movl -0x5c(%rbp), %eax
movzbl %al, %eax
cmpl $0x8, %eax
sete %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x2389b
jmp 0x238d2
leaq -0x4c(%rbp), %rdi
callq 0x2e8d0
leaq -0x40(%rbp), %rdi
callq 0x27790
movq %rax, %rcx
movq -0x70(%rbp), %rax
movq %rcx, 0xb0(%rax)
cmpq $0x0, -0x40(%rbp)
setne %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x238cb
jmp 0x238d0
jmp 0x23c03
jmp 0x238d7
jmp 0x23b24
jmp 0x2330c
movl -0x5c(%rbp), %eax
movzbl %al, %eax
cmpl $0x12, %eax
sete %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x238f2
jmp 0x23934
movq -0x70(%rbp), %rdi
movq -0x48(%rbp), %rax
movq %rax, -0xb0(%rbp)
callq 0x2e9d0
movq -0xb0(%rbp), %rdi
movq %rax, %rsi
movq -0x40(%rbp), %rdx
callq 0x2e900
movq %rax, -0x40(%rbp)
cmpq $0x0, -0x40(%rbp)
setne %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x2392d
jmp 0x23932
jmp 0x23c03
jmp 0x23939
jmp 0x23b24
jmp 0x2330c
movl -0x5c(%rbp), %eax
movzbl %al, %eax
cmpl $0x1a, %eax
sete %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x23954
jmp 0x23996
movq -0x70(%rbp), %rdi
movq -0x48(%rbp), %rax
movq %rax, -0xb8(%rbp)
callq 0x2ea50
movq -0xb8(%rbp), %rdi
movq %rax, %rsi
movq -0x40(%rbp), %rdx
callq 0x2e900
movq %rax, -0x40(%rbp)
cmpq $0x0, -0x40(%rbp)
setne %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x2398f
jmp 0x23994
jmp 0x23c03
jmp 0x2399b
jmp 0x23b24
jmp 0x2330c
movl -0x5c(%rbp), %eax
movzbl %al, %eax
cmpl $0x22, %eax
sete %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x239b6
jmp 0x239f8
movq -0x70(%rbp), %rdi
movq -0x48(%rbp), %rax
movq %rax, -0xc0(%rbp)
callq 0x2eba0
movq -0xc0(%rbp), %rdi
movq %rax, %rsi
movq -0x40(%rbp), %rdx
callq 0x2ead0
movq %rax, -0x40(%rbp)
cmpq $0x0, -0x40(%rbp)
setne %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x239f1
jmp 0x239f6
jmp 0x23c03
jmp 0x239fd
jmp 0x23b24
jmp 0x2330c
movl -0x5c(%rbp), %eax
movzbl %al, %eax
cmpl $0x2a, %eax
sete %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x23a18
jmp 0x23a5a
movq -0x70(%rbp), %rdi
movq -0x48(%rbp), %rax
movq %rax, -0xc8(%rbp)
callq 0x2ecf0
movq -0xc8(%rbp), %rdi
movq %rax, %rsi
movq -0x40(%rbp), %rdx
callq 0x2ec20
movq %rax, -0x40(%rbp)
cmpq $0x0, -0x40(%rbp)
setne %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x23a53
jmp 0x23a58
jmp 0x23c03
jmp 0x23a5f
jmp 0x23b24
jmp 0x2330c
movl -0x5c(%rbp), %eax
movzbl %al, %eax
cmpl $0x32, %eax
sete %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x23a7a
jmp 0x23abc
movq -0x70(%rbp), %rdi
movq -0x48(%rbp), %rax
movq %rax, -0xd0(%rbp)
callq 0x2ed70
movq -0xd0(%rbp), %rdi
movq %rax, %rsi
movq -0x40(%rbp), %rdx
callq 0x291c0
movq %rax, -0x40(%rbp)
cmpq $0x0, -0x40(%rbp)
setne %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x23ab5
jmp 0x23aba
jmp 0x23c03
jmp 0x23abe
jmp 0x23b24
jmp 0x2330c
movl -0x5c(%rbp), %eax
movzbl %al, %eax
cmpl $0x42, %eax
sete %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x23ad9
jmp 0x23b1b
movq -0x70(%rbp), %rdi
movq -0x48(%rbp), %rax
movq %rax, -0xd8(%rbp)
callq 0x2eec0
movq -0xd8(%rbp), %rdi
movq %rax, %rsi
movq -0x40(%rbp), %rdx
callq 0x2edf0
movq %rax, -0x40(%rbp)
cmpq $0x0, -0x40(%rbp)
setne %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x23b14
jmp 0x23b19
jmp 0x23c03
jmp 0x23b1d
jmp 0x23b24
jmp 0x2330c
jmp 0x23b24
movl -0x5c(%rbp), %eax
andl $0x7, %eax
cmpl $0x4, %eax
je 0x23b35
cmpl $0x0, -0x5c(%rbp)
jne 0x23b46
movq -0x48(%rbp), %rdi
movl -0x5c(%rbp), %esi
callq 0x27820
jmp 0x23be5
movq -0x70(%rbp), %rax
movl -0x5c(%rbp), %ecx
movq %rcx, -0xe8(%rbp)
addq $0x8, %rax
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
movq %rax, -0xe0(%rbp)
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rax
andq $0x1, %rax
cmpl $0x1, %eax
sete %al
testb $0x1, %al
jne 0x23b8a
jmp 0x23ba0
movq -0xe0(%rbp), %rdi
callq 0x310a0
addq $0x8, %rax
movq %rax, -0x28(%rbp)
jmp 0x23bb0
movq -0xe0(%rbp), %rdi
callq 0x310c0
movq %rax, -0x28(%rbp)
movq -0xe8(%rbp), %rdi
movq -0x28(%rbp), %rsi
movq -0x40(%rbp), %rdx
movq -0x48(%rbp), %rcx
callq 0x61c0
movq %rax, -0x40(%rbp)
cmpq $0x0, -0x40(%rbp)
setne %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x23bdc
jmp 0x23bde
jmp 0x23c03
jmp 0x2330c
jmp 0x23be5
movq -0x70(%rbp), %rdi
addq $0x10, %rdi
leaq -0x4c(%rbp), %rsi
callq 0x27f50
movq -0x40(%rbp), %rax
addq $0xf0, %rsp
popq %rbp
retq
movq $0x0, -0x40(%rbp)
jmp 0x23be5
nopl (%rax)