// File: /workspace/github_cpp_makefile_star2_O3/nvanbenschoten[P]total-order-multicast/include/args.h
// Function: _gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>> args::ArgumentParser::ParseArgs<__gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>>>(__gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>>, __gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>>)
It ParseArgs(It begin, It end) {
    // Reset all Matched statuses and errors
    Reset();
    bool terminated = false;

    // Check all arg chunks
    for (auto it = begin; it != end; ++it) {
      const auto &chunk = *it;

      if (!terminated && chunk == terminator) {
        terminated = true;
        // If a long arg was found
      } else if (!terminated && chunk.find(longprefix) == 0 &&
                 chunk.size() > longprefix.size()) {
        const auto argchunk = chunk.substr(longprefix.size());
        // Try to separate it, in case of a separator:
        const auto separator = longseparator.empty()
                                   ? argchunk.npos
                                   : argchunk.find(longseparator);
        // If the separator is in the argument, separate it.
        const auto arg =
            (separator != argchunk.npos ? std::string(argchunk, 0, separator)
                                        : argchunk);

        if (auto base = Match(arg)) {
          if (auto argbase = dynamic_cast<ValueFlagBase *>(base)) {
            if (separator != argchunk.npos) {
              if (allowJoinedLongValue) {
                argbase->ParseValue(
                    argchunk.substr(separator + longseparator.size()));
              } else {
#ifdef ARGS_NOEXCEPT
                error = Error::Parse;
                return it;
#else
                std::ostringstream problem;
                problem << "Flag '" << arg << "' was passed a joined argument, "
                                              "but these are disallowed";
                throw ParseError(problem.str());
#endif
              }
            } else {
              ++it;
              if (it == end) {
#ifdef ARGS_NOEXCEPT
                error = Error::Parse;
                return it;
#else
                std::ostringstream problem;
                problem << "Flag '" << arg
                        << "' requires an argument but received none";
                throw ParseError(problem.str());
#endif
              }

              if (allowSeparateLongValue) {
                argbase->ParseValue(*it);
              } else {
#ifdef ARGS_NOEXCEPT
                error = Error::Parse;
                return it;
#else
                std::ostringstream problem;
                problem << "Flag '" << arg << "' was passed a separate "
                                              "argument, but these are "
                                              "disallowed";
                throw ParseError(problem.str());
#endif
              }
            }
          } else if (separator != argchunk.npos) {
#ifdef ARGS_NOEXCEPT
            error = Error::Parse;
            return it;
#else
            std::ostringstream problem;
            problem << "Passed an argument into a non-argument flag: " << chunk;
            throw ParseError(problem.str());
#endif
          }

          if (base->KickOut()) {
            return ++it;
          }
        } else {
#ifdef ARGS_NOEXCEPT
          error = Error::Parse;
          return it;
#else
          std::ostringstream problem;
          problem << "Flag could not be matched: " << arg;
          throw ParseError(problem.str());
#endif
        }
        // Check short args
      } else if (!terminated && chunk.find(shortprefix) == 0 &&
                 chunk.size() > shortprefix.size()) {
        const auto argchunk = chunk.substr(shortprefix.size());
        for (auto argit = std::begin(argchunk); argit != std::end(argchunk);
             ++argit) {
          const auto arg = *argit;

          if (auto base = Match(arg)) {
            if (auto argbase = dynamic_cast<ValueFlagBase *>(base)) {
              const std::string value(++argit, std::end(argchunk));
              if (!value.empty()) {
                if (allowJoinedShortValue) {
                  argbase->ParseValue(value);
                } else {
#ifdef ARGS_NOEXCEPT
                  error = Error::Parse;
                  return it;
#else
                  std::ostringstream problem;
                  problem << "Flag '" << arg << "' was passed a joined "
                                                "argument, but these are "
                                                "disallowed";
                  throw ParseError(problem.str());
#endif
                }
              } else {
                ++it;
                if (it == end) {
#ifdef ARGS_NOEXCEPT
                  error = Error::Parse;
                  return it;
#else
                  std::ostringstream problem;
                  problem << "Flag '" << arg
                          << "' requires an argument but received none";
                  throw ParseError(problem.str());
#endif
                }

                if (allowSeparateShortValue) {
                  argbase->ParseValue(*it);
                } else {
#ifdef ARGS_NOEXCEPT
                  error = Error::Parse;
                  return it;
#else
                  std::ostringstream problem;
                  problem << "Flag '" << arg << "' was passed a separate "
                                                "argument, but these are "
                                                "disallowed";
                  throw ParseError(problem.str());
#endif
                }
              }
              // Because this argchunk is done regardless
              break;
            }

            if (base->KickOut()) {
              return ++it;
            }
          } else {
#ifdef ARGS_NOEXCEPT
            error = Error::Parse;
            return it;
#else
            std::ostringstream problem;
            problem << "Flag could not be matched: '" << arg << "'";
            throw ParseError(problem.str());
#endif
          }
        }
      } else {
        auto pos = GetNextPositional();
        if (pos) {
          pos->ParseValue(chunk);

          if (pos->KickOut()) {
            return ++it;
          }
        } else {
#ifdef ARGS_NOEXCEPT
          error = Error::Parse;
          return it;
#else
          std::ostringstream problem;
          problem << "Passed in argument, but no positional arguments were "
                     "ready to receive it: "
                  << chunk;
          throw ParseError(problem.str());
#endif
        }
      }
    }
    if (!Matched()) {
#ifdef ARGS_NOEXCEPT
      error = Error::Validation;
#else
      std::ostringstream problem;
      problem << "Group validation failed somewhere!";
      throw ValidationError(problem.str());
#endif
    }
    return end;
  }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x1f8, %rsp            # imm = 0x1F8
movq %rdx, %r13
movq %rsi, %rbx
movq %rdi, %r15
movq (%rdi), %rax
callq *0x20(%rax)
cmpq %r13, %rbx
je 0x102d3
xorl %r14d, %r14d
movq %r13, 0x50(%rsp)
testb $0x1, %r14b
jne 0x10051
movq 0x8(%rbx), %rdx
cmpq 0x150(%r15), %rdx
jne 0xfefb
movb $0x1, %bpl
testq %rdx, %rdx
je 0x10080
movq 0x148(%r15), %rsi
movq (%rbx), %rdi
callq 0x5390
testl %eax, %eax
je 0x10080
movq 0xe8(%r15), %rsi
movq 0xf0(%r15), %rcx
movq %rbx, %rdi
xorl %edx, %edx
callq 0x5630
testq %rax, %rax
jne 0xff84
movq 0xf0(%r15), %rdx
cmpq %rdx, 0x8(%rbx)
jbe 0xff84
leaq 0x58(%rsp), %r12
movq %r12, %rdi
movq %rbx, %rsi
movq $-0x1, %rcx
callq 0x53a0
movq 0x130(%r15), %rcx
testq %rcx, %rcx
je 0x10095
movq 0x128(%r15), %rsi
movq %r12, %rdi
xorl %edx, %edx
callq 0x5630
cmpq $-0x1, %rax
je 0x10095
movq %rax, %rbp
xorl %r14d, %r14d
leaq 0x10(%rsp), %rdi
movq %r12, %rsi
xorl %edx, %edx
movq %rax, %rcx
callq 0x50b0
jmp 0x100c0
movq 0x108(%r15), %rsi
movq 0x110(%r15), %rcx
movq %rbx, %rdi
xorl %edx, %edx
callq 0x5630
testq %rax, %rax
jne 0x10051
movq 0x110(%r15), %rdx
cmpq %rdx, 0x8(%rbx)
jbe 0x10051
leaq 0x58(%rsp), %rdi
movq %rbx, %rsi
movq $-0x1, %rcx
callq 0x53a0
movq 0x58(%rsp), %r12
cmpq $0x0, 0x60(%rsp)
je 0x101f5
movb (%r12), %al
movb %al, 0xf(%rsp)
movq %r15, %rdi
leaq 0xf(%rsp), %rsi
callq 0x10c6a
movq %rax, %r13
testq %rax, %rax
je 0x1040f
movq %r13, %rdi
leaq 0xb72a(%rip), %rsi      # 0x1b730
leaq 0xbab3(%rip), %rdx      # 0x1bac0
xorl %ecx, %ecx
callq 0x53d0
testq %rax, %rax
setne %r14b
jne 0x101fd
cmpb $0x1, 0x50(%r13)
je 0x10250
incq %r12
movq 0x58(%rsp), %rax
movq 0x60(%rsp), %rcx
addq %rax, %rcx
cmpq %rcx, %r12
jne 0xffdb
movq %rax, %r12
movb $0x1, %r14b
movq 0x50(%rsp), %r13
jmp 0x102a9
movq %r15, %rdi
callq 0x10d02
testq %rax, %rax
je 0x10381
movq %rax, %r12
movq (%rax), %rax
movq %r12, %rdi
movq %rbx, %rsi
callq *0x30(%rax)
cmpb $0x1, 0x50(%r12)
je 0x1035e
movl %r14d, %ebp
addq $0x20, %rbx
movl %ebp, %r14d
cmpq %r13, %rbx
jne 0xfec1
jmp 0x102d3
leaq 0x20(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0x58(%rsp), %rsi
movq 0x60(%rsp), %rdx
addq %rsi, %rdx
leaq 0x10(%rsp), %rdi
callq 0x7dce
movq $-0x1, %rbp
movb $0x1, %r14b
movq %r15, %rdi
leaq 0x10(%rsp), %rsi
callq 0x10bd2
movq %rax, %r12
testq %rax, %rax
je 0x104bc
movq %r12, %rdi
leaq 0xb64d(%rip), %rsi      # 0x1b730
leaq 0xb9d6(%rip), %rdx      # 0x1bac0
xorl %ecx, %ecx
callq 0x53d0
testq %rax, %rax
je 0x10137
movq %rax, %r13
testb %r14b, %r14b
leaq 0x80(%rsp), %rdi
je 0x10147
addq $0x20, %rbx
cmpq 0x50(%rsp), %rbx
je 0x1071d
cmpb $0x1, 0x16b(%r15)
jne 0x1067e
movq (%r13), %rax
movq %r13, %rdi
movq %rbx, %rsi
callq *0x40(%rax)
movq 0x50(%rsp), %r13
jmp 0x101aa
testb %r14b, %r14b
je 0x1054f
movq 0x50(%rsp), %r13
jmp 0x101aa
cmpb $0x1, 0x169(%r15)
jne 0x105df
addq 0x130(%r15), %rbp
leaq 0x58(%rsp), %rsi
movq %rbp, %rdx
movq $-0x1, %rcx
movq %rdi, %r14
callq 0x53a0
movq (%r13), %rax
movq %r13, %rdi
movq %r14, %rsi
callq *0x40(%rax)
movq 0x80(%rsp), %rdi
leaq 0x90(%rsp), %rax
cmpq %rax, %rdi
movq 0x50(%rsp), %r13
je 0x101aa
movq 0x90(%rsp), %rsi
incq %rsi
callq 0x5370
movb 0x50(%r12), %bpl
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x101cb
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x5370
movq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
cmpq %rax, %rdi
je 0x101e7
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x5370
testb %bpl, %bpl
je 0x102cc
jmp 0x1035e
movb $0x1, %r14b
jmp 0x102a9
movq %rax, %rbp
incq %r12
movq 0x58(%rsp), %rdx
addq 0x60(%rsp), %rdx
leaq 0x20(%rsp), %rax
movq %rax, 0x10(%rsp)
leaq 0x10(%rsp), %rdi
movq %r12, %rsi
callq 0x10d94
cmpq $0x0, 0x18(%rsp)
movq 0x50(%rsp), %r13
je 0x10260
cmpb $0x1, 0x168(%r15)
jne 0x107bc
movq (%rbp), %rax
movq %rbp, %rdi
leaq 0x10(%rsp), %rsi
callq *0x40(%rax)
jmp 0x10288
addq $0x20, %rbx
movq %rbx, 0x78(%rsp)
movq 0x50(%rsp), %r13
jmp 0x102a4
addq $0x20, %rbx
cmpq %r13, %rbx
je 0x10916
cmpb $0x1, 0x16a(%r15)
jne 0x10869
movq (%rbp), %rax
movq %rbp, %rdi
movq %rbx, %rsi
callq *0x40(%rax)
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x102a4
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x5370
movq 0x58(%rsp), %r12
leaq 0x68(%rsp), %rax
cmpq %rax, %r12
je 0x102c3
movq 0x68(%rsp), %rsi
incq %rsi
movq %r12, %rdi
callq 0x5370
testb %r14b, %r14b
je 0x1037a
xorl %ebp, %ebp
jmp 0x10080
movq (%r15), %rax
movq %r15, %rdi
callq *0x10(%rax)
testb %al, %al
jne 0x10365
leaq 0x80(%rsp), %rbx
movq %rbx, %rdi
callq 0x5490
leaq 0x4b99(%rip), %rsi      # 0x14e94
movl $0x22, %edx
movq %rbx, %rdi
callq 0x53f0
movl $0x10, %edi
callq 0x51a0
movq %rax, %r14
leaq 0x88(%rsp), %rsi
leaq 0x58(%rsp), %rdi
callq 0x5580
movb $0x1, %bpl
leaq 0x58(%rsp), %rsi
movq %r14, %rdi
callq 0x5440
leaq 0xb472(%rip), %rax      # 0x1b7b0
movq %rax, (%r14)
xorl %ebp, %ebp
leaq 0xb38e(%rip), %rsi      # 0x1b6d8
movq 0xbc3f(%rip), %rdx      # 0x1bf90
movq %r14, %rdi
callq 0x5610
jmp 0x109be
addq $0x20, %rbx
movq %rbx, %r13
movq %r13, %rax
addq $0x1f8, %rsp            # imm = 0x1F8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x78(%rsp), %r13
jmp 0x10365
leaq 0x80(%rsp), %r14
movq %r14, %rdi
callq 0x5490
leaq 0x4ab1(%rip), %rsi      # 0x14e49
movl $0x4a, %edx
movq %r14, %rdi
callq 0x53f0
movq (%rbx), %rsi
movq 0x8(%rbx), %rdx
leaq 0x80(%rsp), %rdi
callq 0x53f0
movl $0x10, %edi
callq 0x51a0
movq %rax, %r14
leaq 0x88(%rsp), %rsi
leaq 0x58(%rsp), %rdi
callq 0x5580
movb $0x1, %bpl
leaq 0x58(%rsp), %rsi
movq %r14, %rdi
callq 0x5440
leaq 0xb691(%rip), %rax      # 0x1ba80
movq %rax, (%r14)
xorl %ebp, %ebp
leaq 0xb61d(%rip), %rsi      # 0x1ba18
movq 0xbb8e(%rip), %rdx      # 0x1bf90
movq %r14, %rdi
callq 0x5610
jmp 0x109be
leaq 0x80(%rsp), %rdi
callq 0x5490
leaq 0x4a09(%rip), %rsi      # 0x14e2c
leaq 0x80(%rsp), %rdi
movl $0x1c, %edx
callq 0x53f0
movb 0xf(%rsp), %al
leaq 0x10(%rsp), %rsi
movb %al, (%rsi)
leaq 0x80(%rsp), %rdi
movl $0x1, %edx
callq 0x53f0
leaq 0x49ee(%rip), %rsi      # 0x14e47
movl $0x1, %edx
movq %rax, %rdi
callq 0x53f0
movl $0x10, %edi
callq 0x51a0
movq %rax, %r14
leaq 0x88(%rsp), %rsi
leaq 0x10(%rsp), %rdi
callq 0x5580
movb $0x1, %bpl
leaq 0x10(%rsp), %rsi
movq %r14, %rdi
callq 0x5440
leaq 0xb5e4(%rip), %rax      # 0x1ba80
movq %rax, (%r14)
xorl %ebp, %ebp
leaq 0xb570(%rip), %rsi      # 0x1ba18
movq 0xbae1(%rip), %rdx      # 0x1bf90
movq %r14, %rdi
callq 0x5610
jmp 0x109be
leaq 0x80(%rsp), %rdi
callq 0x5490
leaq 0x4940(%rip), %rsi      # 0x14e10
leaq 0x80(%rsp), %rdi
movl $0x1b, %edx
callq 0x53f0
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
leaq 0x80(%rsp), %rdi
callq 0x53f0
movl $0x10, %edi
callq 0x51a0
movq %rax, %r14
leaq 0x88(%rsp), %rsi
leaq 0x30(%rsp), %rdi
callq 0x5580
movb $0x1, %bpl
leaq 0x30(%rsp), %rsi
movq %r14, %rdi
callq 0x5440
leaq 0xb551(%rip), %rax      # 0x1ba80
movq %rax, (%r14)
xorl %ebp, %ebp
leaq 0xb4dd(%rip), %rsi      # 0x1ba18
movq 0xba4e(%rip), %rdx      # 0x1bf90
movq %r14, %rdi
callq 0x5610
jmp 0x109be
leaq 0x80(%rsp), %rdi
callq 0x5490
leaq 0x487f(%rip), %rsi      # 0x14de2
leaq 0x80(%rsp), %rdi
movl $0x2d, %edx
callq 0x53f0
movq (%rbx), %rsi
movq 0x8(%rbx), %rdx
leaq 0x80(%rsp), %rdi
callq 0x53f0
movl $0x10, %edi
callq 0x51a0
movq %rax, %r14
leaq 0x88(%rsp), %rsi
leaq 0x30(%rsp), %rdi
callq 0x5580
movb $0x1, %bpl
leaq 0x30(%rsp), %rsi
movq %r14, %rdi
callq 0x5440
leaq 0xb4c1(%rip), %rax      # 0x1ba80
movq %rax, (%r14)
xorl %ebp, %ebp
leaq 0xb44d(%rip), %rsi      # 0x1ba18
movq 0xb9be(%rip), %rdx      # 0x1bf90
movq %r14, %rdi
callq 0x5610
jmp 0x109be
callq 0x5490
leaq 0x470d(%rip), %rsi      # 0x14cf8
leaq 0x80(%rsp), %rdi
movl $0x6, %edx
callq 0x53f0
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
leaq 0x80(%rsp), %rdi
callq 0x53f0
leaq 0x472a(%rip), %rsi      # 0x14d45
movl $0x38, %edx
movq %rax, %rdi
callq 0x53f0
movl $0x10, %edi
callq 0x51a0
movq %rax, %r14
leaq 0x88(%rsp), %rsi
leaq 0x30(%rsp), %rdi
callq 0x5580
movb $0x1, %bpl
leaq 0x30(%rsp), %rsi
movq %r14, %rdi
callq 0x5440
leaq 0xb422(%rip), %rax      # 0x1ba80
movq %rax, (%r14)
xorl %ebp, %ebp
leaq 0xb3ae(%rip), %rsi      # 0x1ba18
movq 0xb91f(%rip), %rdx      # 0x1bf90
movq %r14, %rdi
callq 0x5610
jmp 0x109be
callq 0x5490
leaq 0x466e(%rip), %rsi      # 0x14cf8
leaq 0x80(%rsp), %rdi
movl $0x6, %edx
callq 0x53f0
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
leaq 0x80(%rsp), %rdi
callq 0x53f0
leaq 0x46ed(%rip), %rsi      # 0x14da7
movl $0x3a, %edx
movq %rax, %rdi
callq 0x53f0
movl $0x10, %edi
callq 0x51a0
movq %rax, %r14
leaq 0x88(%rsp), %rsi
leaq 0x30(%rsp), %rdi
callq 0x5580
movb $0x1, %bpl
leaq 0x30(%rsp), %rsi
movq %r14, %rdi
callq 0x5440
leaq 0xb383(%rip), %rax      # 0x1ba80
movq %rax, (%r14)
xorl %ebp, %ebp
leaq 0xb30f(%rip), %rsi      # 0x1ba18
movq 0xb880(%rip), %rdx      # 0x1bf90
movq %r14, %rdi
callq 0x5610
jmp 0x109be
callq 0x5490
leaq 0x45cf(%rip), %rsi      # 0x14cf8
leaq 0x80(%rsp), %rdi
movl $0x6, %edx
callq 0x53f0
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
leaq 0x80(%rsp), %rdi
callq 0x53f0
leaq 0x4625(%rip), %rsi      # 0x14d7e
movl $0x28, %edx
movq %rax, %rdi
callq 0x53f0
movl $0x10, %edi
callq 0x51a0
movq %rax, %r14
leaq 0x88(%rsp), %rsi
leaq 0x30(%rsp), %rdi
callq 0x5580
movb $0x1, %bpl
leaq 0x30(%rsp), %rsi
movq %r14, %rdi
callq 0x5440
leaq 0xb2e4(%rip), %rax      # 0x1ba80
movq %rax, (%r14)
xorl %ebp, %ebp
leaq 0xb270(%rip), %rsi      # 0x1ba18
movq 0xb7e1(%rip), %rdx      # 0x1bf90
movq %r14, %rdi
callq 0x5610
jmp 0x109be
leaq 0x80(%rsp), %rdi
callq 0x5490
leaq 0x4528(%rip), %rsi      # 0x14cf8
leaq 0x80(%rsp), %rdi
movl $0x6, %edx
callq 0x53f0
movb 0xf(%rsp), %al
leaq 0x30(%rsp), %rsi
movb %al, (%rsi)
leaq 0x80(%rsp), %rdi
movl $0x1, %edx
callq 0x53f0
leaq 0x453f(%rip), %rsi      # 0x14d45
movl $0x38, %edx
movq %rax, %rdi
callq 0x53f0
movl $0x10, %edi
callq 0x51a0
movq %rax, %r14
leaq 0x88(%rsp), %rsi
leaq 0x30(%rsp), %rdi
callq 0x5580
movb $0x1, %bpl
leaq 0x30(%rsp), %rsi
movq %r14, %rdi
callq 0x5440
leaq 0xb237(%rip), %rax      # 0x1ba80
movq %rax, (%r14)
xorl %ebp, %ebp
leaq 0xb1c3(%rip), %rsi      # 0x1ba18
movq 0xb734(%rip), %rdx      # 0x1bf90
movq %r14, %rdi
callq 0x5610
jmp 0x109be
leaq 0x80(%rsp), %rdi
callq 0x5490
leaq 0x447b(%rip), %rsi      # 0x14cf8
leaq 0x80(%rsp), %rdi
movl $0x6, %edx
callq 0x53f0
movb 0xf(%rsp), %al
leaq 0x30(%rsp), %rsi
movb %al, (%rsi)
leaq 0x80(%rsp), %rdi
movl $0x1, %edx
callq 0x53f0
leaq 0x44f4(%rip), %rsi      # 0x14da7
movl $0x3a, %edx
movq %rax, %rdi
callq 0x53f0
movl $0x10, %edi
callq 0x51a0
movq %rax, %r14
leaq 0x88(%rsp), %rsi
leaq 0x30(%rsp), %rdi
callq 0x5580
movb $0x1, %bpl
leaq 0x30(%rsp), %rsi
movq %r14, %rdi
callq 0x5440
leaq 0xb18a(%rip), %rax      # 0x1ba80
movq %rax, (%r14)
xorl %ebp, %ebp
leaq 0xb116(%rip), %rsi      # 0x1ba18
movq 0xb687(%rip), %rdx      # 0x1bf90
movq %r14, %rdi
callq 0x5610
jmp 0x109be
leaq 0x80(%rsp), %rdi
callq 0x5490
leaq 0x43ce(%rip), %rsi      # 0x14cf8
leaq 0x80(%rsp), %rdi
movl $0x6, %edx
callq 0x53f0
movb 0xf(%rsp), %al
leaq 0x30(%rsp), %rsi
movb %al, (%rsi)
leaq 0x80(%rsp), %rdi
movl $0x1, %edx
callq 0x53f0
leaq 0x441e(%rip), %rsi      # 0x14d7e
movl $0x28, %edx
movq %rax, %rdi
callq 0x53f0
movl $0x10, %edi
callq 0x51a0
movq %rax, %r14
leaq 0x88(%rsp), %rsi
leaq 0x30(%rsp), %rdi
callq 0x5580
movb $0x1, %bpl
leaq 0x30(%rsp), %rsi
movq %r14, %rdi
callq 0x5440
leaq 0xb0dd(%rip), %rax      # 0x1ba80
movq %rax, (%r14)
xorl %ebp, %ebp
leaq 0xb069(%rip), %rsi      # 0x1ba18
movq 0xb5da(%rip), %rdx      # 0x1bf90
movq %r14, %rdi
callq 0x5610
jmp 0x109f8
jmp 0x10a20
jmp 0x109f8
jmp 0x10a20
jmp 0x109f8
jmp 0x10a20
jmp 0x109f8
jmp 0x10a20
jmp 0x109f8
jmp 0x10a20
jmp 0x109f8
jmp 0x10a20
jmp 0x109f8
jmp 0x10a20
jmp 0x10ad9
jmp 0x10ad9
jmp 0x10b06
jmp 0x10b06
jmp 0x10ad9
jmp 0x10b06
movq %rax, %rbx
leaq 0x40(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x10a16
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x5370
testb %bpl, %bpl
jne 0x10a23
jmp 0x10adc
movq %rax, %rbx
movq %r14, %rdi
callq 0x5280
jmp 0x10adc
jmp 0x10ad9
jmp 0x10ad9
jmp 0x10ad9
jmp 0x10ad9
jmp 0x10b06
jmp 0x10b06
jmp 0x10b06
movq %rax, %rbx
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x10a72
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x5370
testb %bpl, %bpl
jne 0x10a7f
jmp 0x10b5f
movq %rax, %rbx
movq %r14, %rdi
callq 0x5280
jmp 0x10b5f
jmp 0x10b06
jmp 0x10b84
jmp 0x10b06
movq %rax, %rbx
leaq 0x68(%rsp), %rax
movq -0x10(%rax), %rdi
jmp 0x10b36
jmp 0x10b4f
jmp 0x10b06
movq %rax, %rbx
movq 0x80(%rsp), %rdi
leaq 0x90(%rsp), %rax
cmpq %rax, %rdi
je 0x10b09
movq 0x90(%rsp), %rsi
incq %rsi
callq 0x5370
jmp 0x10b09
jmp 0x10b06
movq %rax, %rbx
movq 0xb4a5(%rip), %rsi      # 0x1bf88
leaq 0x80(%rsp), %rdi
callq 0x51d0
leaq 0xf0(%rsp), %rdi
callq 0x5120
jmp 0x10b09
jmp 0x10ba5
jmp 0x10b06
movq %rax, %rbx
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x10b87
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x5370
jmp 0x10b87
jmp 0x10b84
movq %rax, %rbx
movq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
cmpq %rax, %rdi
je 0x10b48
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x5370
testb %bpl, %bpl
jne 0x10b52
jmp 0x10ba8
movq %rax, %rbx
movq %r14, %rdi
callq 0x5280
jmp 0x10ba8
movq %rax, %rbx
movq 0xb422(%rip), %rsi      # 0x1bf88
leaq 0x80(%rsp), %rdi
callq 0x51d0
leaq 0xf0(%rsp), %rdi
callq 0x5120
jmp 0x10b87
jmp 0x10b84
movq %rax, %rbx
movq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
cmpq %rax, %rdi
je 0x10bc9
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x5370
jmp 0x10bc9
movq %rax, %rbx
movq 0xb3d9(%rip), %rsi      # 0x1bf88
leaq 0x80(%rsp), %rdi
callq 0x51d0
leaq 0xf0(%rsp), %rdi
callq 0x5120
movq %rbx, %rdi
callq 0x5650
nop