// File: /workspace/github_cpp_makefile_star2_O2/evincarofautumn[P]protodata/parse.cpp
// Function: parse_internal(std::istream&, Interpreter&, unsigned int&, unsigned int&)
void parse_internal(std::istream& input, Interpreter& interpreter,
  unsigned int& line, unsigned int& column) {
  State state = NORMAL;
  std::vector<Term> terms;
  std::string token;
  auto append = std::back_inserter(token);
  std::vector<uint32_t> runes;
  auto here = runes.begin(), end = runes.end();
  while (true) {
    if (here == end) {
      std::string buffer;
      std::getline(input, buffer);
      runes.clear();
      utf8::utf8to32(buffer.begin(), buffer.end(), std::back_inserter(runes));
      if (!input.eof()) {
        runes.push_back(U'\n');
        ++line;
      }
      here = runes.begin();
      end = runes.end();
    }
    switch (state) {
    case NORMAL:
      token.clear();
      column = here - runes.begin();
      if (accept_if(is_whitespace, here, end)
        || transition(state, STRING, U'"', here, end)
        || transition(state, UNSIGNED, U'u', here, end, append)
        || transition(state, SIGNED, U's', here, end, append)
        || transition_if(state, IDENTIFIER, is_alphabetic, here, end, append)
        || transition(state, COMMENT, U'#', here, end)
        || transition(state, NUMBER, U'+', here, end, append)
        || transition(state, NUMBER, U'-', here, end, append))
        break;
      if (accept(U'{', here, end))
        terms.push_back(Term::push());
      else if (accept(U'}', here, end))
        terms.push_back(Term::pop());
      else
        state = NUMBER;
      break;
    case NUMBER:
      if (transition(state, ZERO, U'0', here, end, append)
        || transition_if(state, DECIMAL, is_decimal, here, end, append)
        || transition_if(state, IDENTIFIER, is_alphabetic, here, end, append))
        break;
      if (here == end)
        return;
      {
        std::string message("Invalid character: '");
        utf8::append(*here, std::back_inserter(message));
        message += "'.";
        throw std::runtime_error(message);
      }
    case COMMENT:
      if (transition(state, NORMAL, U'\n', here, end))
        break;
      if (here == end)
        return;
      ++here;
      break;
    case IDENTIFIER:
      if (accept_if(is_alphanumeric, here, end, append))
        break;
      {
        const auto command = commands.find(token);
        if (command == commands.end())
          throw std::runtime_error(join
            ("Unimplemented command: '", token, "'.\n"));
        terms.insert(terms.end(),
          command->second.begin(), command->second.end());
      }
      state = NORMAL;
      break;
    case UNSIGNED:
      if (accept_if(is_decimal, here, end, append)
        || transition_if(state, IDENTIFIER, is_alphabetic, here, end, append)
        || transition(state, IDENTIFIER, U'_', here, end, append))
        break;
      {
        const auto width = parse_width(token);
        terms.push_back(Term::INTEGER);
        terms.push_back(Term::UNSIGNED);
        terms.push_back(Term::Width(width));
        state = NORMAL;
      }
      break;
    case SIGNED:
      if (accept_if(is_decimal, here, end, append)
        || transition_if(state, IDENTIFIER, is_alphabetic, here, end, append)
        || transition(state, IDENTIFIER, U'_', here, end, append))
        break;
      {
        const auto width = parse_width(token);
        terms.push_back(Term::INTEGER);
        terms.push_back(Term::SIGNED);
        terms.push_back(Term::Width(width));
        state = NORMAL;
      }
      break;
    case ZERO:
      if (transition(state, BINARY, U'b', here, end)
        || transition(state, OCTAL, U'o', here, end)
        || transition(state, HEXADECIMAL, U'x', here, end)
        || transition(state, FLOAT, U'.', here, end, append))
        break;
      state = DECIMAL;
      break;
    case BINARY:
      if (accept_if(is_binary, here, end, append)
        || (accept(U'_', here, end)))
        break;
      terms.push_back(write_integer_term(token, 2));
      state = NORMAL;
      break;
    case OCTAL:
      if (accept_if(is_octal, here, end, append)
        || accept(U'_', here, end))
        break;
      terms.push_back(write_integer_term(token, 8));
      state = NORMAL;
      break;
    case DECIMAL:
      if (accept_if(is_decimal, here, end, append)
        || accept(U'_', here, end)
        || transition(state, FLOAT, U'.', here, end, append))
        break;
      terms.push_back(write_integer_term(token, 10));
      state = NORMAL;
      break;
    case HEXADECIMAL:
      if (accept_if(is_hexadecimal, here, end, append)
        || accept(U'_', here, end))
        break;
      terms.push_back(write_integer_term(token, 16));
      state = NORMAL;
      break;
    case FLOAT:
      if (accept_if(is_decimal, here, end, append)
        || accept(U'_', here, end))
        break;
      terms.push_back(write_double_term(token));
      state = NORMAL;
      break;
    case STRING:
      if (transition(state, NORMAL, U'"', here, end)
        || transition(state, ESCAPE, U'\\', here, end))
        break;
      if (here == end)
        throw std::runtime_error("Unexpected end of file in string.");
      terms.push_back(Term::write(Term::Unsigned(*here++)));
      break;
    case ESCAPE:
      {
        Term::Unsigned value = 0;
        switch (*here) {
        case U'"': value = U'"'; break;
        case U'a': value = U'\a'; break;
        case U'b': value = U'\b'; break;
        case U'e': value = U'\e'; break;
        case U'f': value = U'\f'; break;
        case U'n': value = U'\n'; break;
        case U'r': value = U'\r'; break;
        case U't': value = U'\t'; break;
        case U'v': value = U'\v'; break;
        case U'\\': value = U'\\'; break;
        default:
          {
            std::string message("Invalid escape character: '");
            utf8::append(*here, std::back_inserter(message));
            message += "'.";
            throw std::runtime_error(message);
          }
        }
        terms.push_back(Term::write(value));
        ++here;
        state = STRING;
      }
    }
    interpreter.run(terms);
    terms.clear();
  }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xd8, %rsp
movq %rcx, 0xc8(%rsp)
movq %rdx, 0xd0(%rsp)
movq %rsi, %r15
movq %rdi, %r12
leaq 0x4(%rsp), %rax
andl $0x0, (%rax)
leaq 0x50(%rsp), %rcx
andq $0x0, 0x10(%rcx)
leaq 0x80(%rsp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
xorps %xmm0, %xmm0
movaps %xmm0, (%rcx)
movb $0x0, (%rax)
leaq 0x70(%rsp), %rax
leaq 0x38(%rsp), %rcx
movq %rax, (%rcx)
leaq 0xb0(%rsp), %rax
movaps %xmm0, (%rax)
andq $0x0, 0x10(%rax)
leaq 0x8(%rsp), %rax
andq $0x0, (%rax)
leaq 0x30(%rsp), %rax
andq $0x0, (%rax)
xorl %ebx, %ebx
leaq 0x10(%rsp), %r14
leaq 0x3c32(%rip), %rbp      # 0xb728
xorl %r13d, %r13d
cmpq %rbx, %r13
jne 0x7bac
leaq 0x20(%rsp), %rax
movq %rax, 0x10(%rsp)
andq $0x0, 0x18(%rsp)
movb $0x0, 0x20(%rsp)
movq %r12, %rdi
movq %r14, %rsi
callq 0x3080
movq 0xb0(%rsp), %rax
cmpq %rax, 0xb8(%rsp)
je 0x7b3c
movq %rax, 0xb8(%rsp)
movq 0x10(%rsp), %rdi
movq 0x18(%rsp), %rsi
addq %rdi, %rsi
leaq 0xb0(%rsp), %rdx
callq 0x8d1a
movq (%r12), %rax
movq -0x18(%rax), %rax
testb $0x2, 0x20(%r12,%rax)
jne 0x7b8a
movl $0xa, 0x40(%rsp)
leaq 0xb0(%rsp), %rdi
leaq 0x40(%rsp), %rsi
callq 0x9d8c
movq 0xd0(%rsp), %rax
incl (%rax)
movq 0xb0(%rsp), %r13
movq 0xb8(%rsp), %rbx
movq %r13, 0x8(%rsp)
movq %rbx, 0x30(%rsp)
movq %r14, %rdi
callq 0x3110
movl 0x4(%rsp), %eax
cmpq $0xd, %rax
ja 0x82c8
movslq (%rbp,%rax,4), %rax
addq %rbp, %rax
jmpq *%rax
andq $0x0, 0x78(%rsp)
movq 0x70(%rsp), %rax
movb $0x0, (%rax)
movq %r13, %rax
subq 0xb0(%rsp), %rax
shrq $0x2, %rax
movq 0xc8(%rsp), %rcx
movl %eax, (%rcx)
cmpq %rbx, %r13
je 0x7c19
movl (%r13), %eax
cmpq $0x20, %rax
ja 0x7c0e
movabsq $0x100003e00, %rcx      # imm = 0x100003E00
btq %rax, %rcx
jb 0x8295
cmpl $0x22, (%r13)
je 0x83f2
movl $0x5, 0x10(%rsp)
movl $0x75, 0x40(%rsp)
leaq 0x4(%rsp), %rdi
movq %r14, %rsi
leaq 0x40(%rsp), %rdx
leaq 0x8(%rsp), %rcx
leaq 0x30(%rsp), %r8
leaq 0x38(%rsp), %r9
callq 0x87be
testb %al, %al
jne 0x82c8
movl $0x4, 0x90(%rsp)
movl $0x73, 0xac(%rsp)
leaq 0x4(%rsp), %rdi
leaq 0x90(%rsp), %rsi
leaq 0xac(%rsp), %rdx
leaq 0x8(%rsp), %rcx
leaq 0x30(%rsp), %r8
leaq 0x38(%rsp), %r9
callq 0x87be
testb %al, %al
jne 0x82c8
movq 0x8(%rsp), %rax
cmpq %rbx, %rax
je 0x8423
movl (%rax), %edi
movl %edi, %ecx
andl $-0x21, %ecx
addl $-0x41, %ecx
cmpl $0x19, %ecx
ja 0x8408
addq $0x4, %rax
movq %rax, 0x8(%rsp)
leaq 0x70(%rsp), %rsi
callq 0x8d6d
jmp 0x8342
cmpq %rbx, %r13
je 0x8013
movl (%r13), %edi
leal -0x30(%rdi), %eax
cmpl $0x9, %eax
ja 0x8008
addq $0x4, %r13
movq %r13, 0x8(%rsp)
leaq 0x70(%rsp), %rsi
callq 0x8d6d
jmp 0x82c8
cmpq %rbx, %r13
je 0x8088
movl (%r13), %edi
leal -0x30(%rdi), %eax
cmpl $0x9, %eax
ja 0x805f
addq $0x4, %r13
movq %r13, 0x8(%rsp)
leaq 0x70(%rsp), %rsi
callq 0x8d6d
jmp 0x82c8
cmpq %rbx, %r13
je 0x8557
cmpl $0x22, (%r13)
jne 0x7fbf
addq $0x4, %r13
movq %r13, 0x8(%rsp)
jmp 0x82c3
cmpq %rbx, %r13
je 0x8125
movl (%r13), %edi
leal -0x30(%rdi), %eax
cmpl $0x9, %eax
ja 0x811a
addq $0x4, %r13
movq %r13, 0x8(%rsp)
leaq 0x70(%rsp), %rsi
callq 0x8d6d
jmp 0x82c8
cmpq %rbx, %r13
je 0x8524
leaq 0x4(%r13), %rax
cmpl $0xa, (%r13)
movq %rax, 0x8(%rsp)
je 0x82c3
jmp 0x82c8
leaq 0x1084(%rip), %rdi      # 0x8e34
leaq 0x8(%rsp), %rsi
movq %rbx, %rdx
leaq 0x70(%rsp), %rcx
callq 0x87fb
testb %al, %al
jne 0x82c8
leaq 0xa497(%rip), %rdi      # 0x12268
leaq 0x70(%rsp), %rsi
callq 0xa046
leaq 0xa48e(%rip), %rcx      # 0x12270
cmpq %rcx, %rax
je 0x85dc
movq 0x58(%rsp), %rsi
movq 0x40(%rax), %rdx
movq 0x48(%rax), %rcx
leaq 0x50(%rsp), %rdi
callq 0x8eda
jmp 0x82c3
cmpq %rbx, %r13
je 0x8191
movl (%r13), %edi
movl %edi, %eax
andl $-0x2, %eax
cmpl $0x30, %eax
jne 0x8186
addq $0x4, %r13
movq %r13, 0x8(%rsp)
leaq 0x70(%rsp), %rsi
callq 0x8d6d
jmp 0x82c8
movl $0x6, 0x10(%rsp)
movl $0x30, 0x40(%rsp)
leaq 0x4(%rsp), %rdi
movq %r14, %rsi
leaq 0x40(%rsp), %rdx
leaq 0x8(%rsp), %rcx
leaq 0x30(%rsp), %r8
leaq 0x38(%rsp), %r9
callq 0x87be
testb %al, %al
jne 0x82c8
movq 0x8(%rsp), %r13
cmpq %rbx, %r13
je 0x8524
movl (%r13), %edi
leal -0x30(%rdi), %eax
cmpl $0x9, %eax
ja 0x831a
addq $0x4, %r13
movq %r13, 0x8(%rsp)
leaq 0x70(%rsp), %rsi
callq 0x8d6d
jmp 0x83a5
cmpq %rbx, %r13
je 0x81e2
movl (%r13), %edi
leal -0x30(%rdi), %eax
cmpl $0x9, %eax
ja 0x81b9
addq $0x4, %r13
movq %r13, 0x8(%rsp)
leaq 0x70(%rsp), %rsi
callq 0x8d6d
jmp 0x82c8
movl (%r13), %edi
leal -0x5c(%rdi), %eax
cmpl $0xa, %eax
jbe 0x7fa8
leal -0x6e(%rdi), %eax
cmpl $0x8, %eax
ja 0x83b2
leaq 0x388f(%rip), %rcx      # 0xb78c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
pushq $0xa
jmp 0x83d6
cmpq %rbx, %r13
je 0x836c
cmpl $0x62, (%r13)
jne 0x8270
addq $0x4, %r13
movq %r13, 0x8(%rsp)
movl $0x7, 0x4(%rsp)
jmp 0x82c8
leaq 0xfbc(%rip), %rdi       # 0x8efa
leaq 0x8(%rsp), %rsi
movq %rbx, %rdx
leaq 0x70(%rsp), %rcx
callq 0x87fb
testb %al, %al
jne 0x82c8
movq 0x8(%rsp), %rax
cmpq %rbx, %rax
je 0x7fe0
cmpl $0x5f, (%rax)
jne 0x7fe0
addq $0x4, %rax
movq %rax, 0x8(%rsp)
jmp 0x82c8
cmpq %rbx, %r13
je 0x82a0
movl (%r13), %edi
movl %edi, %eax
andl $-0x8, %eax
cmpl $0x30, %eax
jne 0x828e
addq $0x4, %r13
movq %r13, 0x8(%rsp)
leaq 0x70(%rsp), %rsi
callq 0x8d6d
jmp 0x82c8
leaq 0x37b1(%rip), %rcx      # 0xb760
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
pushq $0x5c
jmp 0x83d6
cmpl $0x5c, (%r13)
jne 0x82f0
addq $0x4, %r13
movq %r13, 0x8(%rsp)
movl $0xd, 0x4(%rsp)
jmp 0x82c8
leaq 0x70(%rsp), %rdi
pushq $0x10
popq %rsi
callq 0x8943
movl %eax, 0x10(%rsp)
movq %rdx, 0x18(%rsp)
leaq 0x50(%rsp), %rdi
movq %r14, %rsi
callq 0x9f02
jmp 0x82c3
cmpl $0x5f, (%r13)
je 0x8295
movq 0x70(%rsp), %rdi
leaq 0x90(%rsp), %rsi
callq 0x3190
movq 0x70(%rsp), %rax
addq 0x78(%rsp), %rax
cmpq %rax, 0x90(%rsp)
jne 0x858c
callq 0x65d4
movl %eax, 0x40(%rsp)
movq %rdx, 0x48(%rsp)
leaq 0x50(%rsp), %rdi
leaq 0x40(%rsp), %rsi
callq 0x9f02
jmp 0x82c3
movl (%r13), %edi
movl %edi, %eax
andl $-0x21, %eax
addl $-0x41, %eax
cmpl $0x19, %eax
ja 0x8088
addq $0x4, %r13
movq %r13, 0x8(%rsp)
leaq 0x70(%rsp), %rsi
callq 0x8d6d
jmp 0x8342
movl $0x3, 0x10(%rsp)
movl $0x5f, 0x40(%rsp)
leaq 0x4(%rsp), %rdi
movq %r14, %rsi
leaq 0x40(%rsp), %rdx
leaq 0x8(%rsp), %rcx
leaq 0x30(%rsp), %r8
leaq 0x38(%rsp), %r9
callq 0x87be
testb %al, %al
jne 0x82c8
leaq 0x70(%rsp), %rdi
callq 0x883a
movq %rax, %r13
movq %r14, %rdi
xorl %esi, %esi
callq 0x6502
leaq 0x50(%rsp), %rdi
movq %r14, %rsi
callq 0x9f02
movq %r14, %rdi
pushq $0x1
popq %rsi
callq 0x64ee
leaq 0x50(%rsp), %rdi
movq %r14, %rsi
callq 0x9f02
movq %r14, %rdi
movl %r13d, %esi
callq 0x64f8
leaq 0x50(%rsp), %rdi
movq %r14, %rsi
callq 0x9f02
jmp 0x82c3
cmpl $0x5f, (%r13)
je 0x8295
movl $0xb, 0x10(%rsp)
movl $0x2e, 0x40(%rsp)
leaq 0x4(%rsp), %rdi
movq %r14, %rsi
leaq 0x40(%rsp), %rdx
leaq 0x8(%rsp), %rcx
leaq 0x30(%rsp), %r8
leaq 0x38(%rsp), %r9
callq 0x87be
testb %al, %al
jne 0x82c8
leaq 0x70(%rsp), %rdi
pushq $0xa
popq %rsi
callq 0x8943
movl %eax, 0x10(%rsp)
movq %rdx, 0x18(%rsp)
leaq 0x50(%rsp), %rdi
movq %r14, %rsi
callq 0x9f02
jmp 0x82c3
cmpl $0x5f, (%r13)
je 0x8295
leaq 0x70(%rsp), %rdi
pushq $0x2
popq %rsi
callq 0x8943
movl %eax, 0x10(%rsp)
movq %rdx, 0x18(%rsp)
leaq 0x50(%rsp), %rdi
movq %r14, %rsi
callq 0x9f02
jmp 0x82c3
movl (%r13), %edi
movl %edi, %eax
andl $-0x21, %eax
addl $-0x41, %eax
cmpl $0x19, %eax
ja 0x81e2
addq $0x4, %r13
movq %r13, 0x8(%rsp)
leaq 0x70(%rsp), %rsi
callq 0x8d6d
jmp 0x8342
movl $0x3, 0x10(%rsp)
movl $0x5f, 0x40(%rsp)
leaq 0x4(%rsp), %rdi
movq %r14, %rsi
leaq 0x40(%rsp), %rdx
leaq 0x8(%rsp), %rcx
leaq 0x30(%rsp), %r8
leaq 0x38(%rsp), %r9
callq 0x87be
testb %al, %al
jne 0x82c8
leaq 0x70(%rsp), %rdi
callq 0x883a
movq %rax, %r13
movq %r14, %rdi
xorl %esi, %esi
callq 0x6502
leaq 0x50(%rsp), %rdi
movq %r14, %rsi
callq 0x9f02
movq %r14, %rdi
xorl %esi, %esi
callq 0x64ee
leaq 0x50(%rsp), %rdi
movq %r14, %rsi
callq 0x9f02
movq %r14, %rdi
movl %r13d, %esi
callq 0x64f8
leaq 0x50(%rsp), %rdi
movq %r14, %rsi
callq 0x9f02
jmp 0x82c3
cmpl $0x6f, (%r13)
jne 0x834f
addq $0x4, %r13
movq %r13, 0x8(%rsp)
movl $0x8, 0x4(%rsp)
jmp 0x82c8
cmpl $0x5f, (%r13)
jne 0x82a0
addq $0x4, %r13
movq %r13, 0x8(%rsp)
jmp 0x82c8
leaq 0x70(%rsp), %rdi
pushq $0x8
popq %rsi
callq 0x8943
movl %eax, 0x10(%rsp)
movq %rdx, 0x18(%rsp)
leaq 0x50(%rsp), %rdi
movq %r14, %rsi
callq 0x9f02
andl $0x0, 0x4(%rsp)
movq %r15, %rdi
leaq 0x50(%rsp), %rsi
callq 0x3f80
movq 0x50(%rsp), %rax
cmpq %rax, 0x58(%rsp)
je 0x82e6
movq %rax, 0x58(%rsp)
movq 0x8(%rsp), %r13
jmp 0x7af9
leaq 0x4(%r13), %rax
movq %rax, 0x8(%rsp)
movl (%r13), %edi
callq 0x65c4
movl %eax, 0x10(%rsp)
movq %rdx, 0x18(%rsp)
leaq 0x50(%rsp), %rdi
movq %r14, %rsi
callq 0x9f02
jmp 0x82c8
movl (%r13), %edi
movl %edi, %eax
andl $-0x21, %eax
addl $-0x41, %eax
cmpl $0x19, %eax
ja 0x8631
addq $0x4, %r13
movq %r13, 0x8(%rsp)
leaq 0x70(%rsp), %rsi
callq 0x8d6d
movl $0x3, 0x4(%rsp)
jmp 0x82c8
cmpl $0x78, (%r13)
jne 0x836c
addq $0x4, %r13
movq %r13, 0x8(%rsp)
movl $0xa, 0x4(%rsp)
jmp 0x82c8
movl $0xb, 0x10(%rsp)
movl $0x2e, 0x40(%rsp)
leaq 0x4(%rsp), %rdi
movq %r14, %rsi
leaq 0x40(%rsp), %rdx
leaq 0x8(%rsp), %rcx
leaq 0x30(%rsp), %r8
leaq 0x38(%rsp), %r9
callq 0x87be
testb %al, %al
jne 0x82c8
movl $0x9, 0x4(%rsp)
jmp 0x82c8
cmpl $0x22, %edi
je 0x83d7
jmp 0x8696
pushq $0x7
jmp 0x83d6
pushq $0x8
jmp 0x83d6
pushq $0x1b
jmp 0x83d6
pushq $0xc
jmp 0x83d6
pushq $0xd
jmp 0x83d6
pushq $0x9
jmp 0x83d6
pushq $0xb
popq %rdi
callq 0x65c4
movl %eax, 0x10(%rsp)
movq %rdx, 0x18(%rsp)
leaq 0x50(%rsp), %rdi
movq %r14, %rsi
callq 0x9f02
addq $0x4, %r13
movq %r13, 0x8(%rsp)
movl $0xc, 0x4(%rsp)
jmp 0x82c8
cmpl $0x23, (%rax)
jne 0x8423
addq $0x4, %rax
movq %rax, 0x8(%rsp)
movl $0x2, 0x4(%rsp)
jmp 0x82c8
movl $0x1, 0xa8(%rsp)
movl $0x2b, 0xa4(%rsp)
leaq 0x4(%rsp), %rdi
leaq 0xa8(%rsp), %rsi
leaq 0xa4(%rsp), %rdx
leaq 0x8(%rsp), %rcx
leaq 0x30(%rsp), %r8
leaq 0x38(%rsp), %r9
callq 0x87be
testb %al, %al
jne 0x82c8
movl $0x1, 0xa0(%rsp)
movl $0x2d, 0x9c(%rsp)
leaq 0x4(%rsp), %rdi
leaq 0xa0(%rsp), %rsi
leaq 0x9c(%rsp), %rdx
leaq 0x8(%rsp), %rcx
leaq 0x30(%rsp), %r8
leaq 0x38(%rsp), %r9
callq 0x87be
testb %al, %al
jne 0x82c8
movq 0x8(%rsp), %rax
cmpq %rbx, %rax
je 0x8517
cmpl $0x7b, (%rax)
jne 0x84e9
addq $0x4, %rax
movq %rax, 0x8(%rsp)
callq 0x65bc
movl %eax, 0x10(%rsp)
movq %rdx, 0x18(%rsp)
leaq 0x50(%rsp), %rdi
movq %r14, %rsi
callq 0x9f02
jmp 0x82c8
cmpl $0x7d, (%rax)
jne 0x8517
addq $0x4, %rax
movq %rax, 0x8(%rsp)
callq 0x65c0
movl %eax, 0x10(%rsp)
movq %rdx, 0x18(%rsp)
leaq 0x50(%rsp), %rdi
movq %r14, %rsi
callq 0x9f02
jmp 0x82c8
movl $0x1, 0x4(%rsp)
jmp 0x82c8
leaq 0xb0(%rsp), %rdi
callq 0x99cc
leaq 0x70(%rsp), %rdi
callq 0x3110
leaq 0x50(%rsp), %rdi
callq 0x77d8
addq $0xd8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
pushq $0x10
popq %rdi
callq 0x3120
movq %rax, %r14
leaq 0x3306(%rip), %rsi      # 0xb86f
movq %rax, %rdi
callq 0x30d0
movq 0x9a78(%rip), %rsi      # 0x11ff0
movq 0x9a11(%rip), %rdx      # 0x11f90
movq %r14, %rdi
callq 0x3390
jmp 0x86f9
pushq $0x10
popq %rdi
callq 0x3120
movq %rax, %r14
leaq 0x330f(%rip), %rsi      # 0xb8ad
leaq 0x3351(%rip), %rcx      # 0xb8f6
leaq 0x10(%rsp), %rdi
leaq 0x70(%rsp), %rdx
callq 0x8f7f
movb $0x1, %bpl
leaq 0x10(%rsp), %rsi
movq %r14, %rdi
callq 0x3350
xorl %ebp, %ebp
movq 0x9a23(%rip), %rsi      # 0x11ff0
movq 0x99bc(%rip), %rdx      # 0x11f90
movq %r14, %rdi
callq 0x3390
pushq $0x10
popq %rdi
callq 0x3120
movq %rax, %r14
leaq 0x3264(%rip), %rsi      # 0xb852
leaq 0x3276(%rip), %rcx      # 0xb86b
leaq 0x10(%rsp), %rdi
leaq 0x70(%rsp), %rdx
callq 0x8e4e
movb $0x1, %bpl
leaq 0x10(%rsp), %rsi
movq %r14, %rdi
callq 0x3350
xorl %ebp, %ebp
movq 0x99d3(%rip), %rsi      # 0x11ff0
movq 0x996c(%rip), %rdx      # 0x11f90
movq %r14, %rdi
callq 0x3390
jmp 0x86f9
leaq 0x3205(%rip), %rsi      # 0xb83d
leaq 0x10(%rsp), %rdi
leaq 0x40(%rsp), %rdx
callq 0x6c28
movl (%r13), %edi
leaq 0x10(%rsp), %rsi
callq 0x8d6d
leaq 0x2fde(%rip), %rsi      # 0xb63a
leaq 0x10(%rsp), %rdi
callq 0x33f0
pushq $0x10
popq %rdi
callq 0x3120
movq %rax, %r14
leaq 0x10(%rsp), %rsi
movq %rax, %rdi
callq 0x3350
movq 0x996b(%rip), %rsi      # 0x11ff0
movq 0x9904(%rip), %rdx      # 0x11f90
movq %r14, %rdi
callq 0x3390
jmp 0x86f9
leaq 0x31f4(%rip), %rsi      # 0xb891
leaq 0x10(%rsp), %rdi
leaq 0x40(%rsp), %rdx
callq 0x6c28
movl (%r13), %edi
leaq 0x10(%rsp), %rsi
callq 0x8d6d
leaq 0x2f79(%rip), %rsi      # 0xb63a
leaq 0x10(%rsp), %rdi
callq 0x33f0
pushq $0x10
popq %rdi
callq 0x3120
movq %rax, %r14
leaq 0x10(%rsp), %rsi
movq %rax, %rdi
callq 0x3350
movq 0x9906(%rip), %rsi      # 0x11ff0
movq 0x989f(%rip), %rdx      # 0x11f90
movq %r14, %rdi
callq 0x3390
jmp 0x8792
jmp 0x8792
jmp 0x8705
movq %rax, %rbx
movq %r14, %rdi
callq 0x3180
jmp 0x8786
jmp 0x8792
jmp 0x8792
jmp 0x8792
jmp 0x8783
jmp 0x8792
jmp 0x8783
jmp 0x8792
jmp 0x8792
jmp 0x8792
jmp 0x8792
jmp 0x8792
jmp 0x8792
jmp 0x8732
jmp 0x8754
jmp 0x8792
jmp 0x8792
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x3110
testb %bpl, %bpl
jne 0x8757
jmp 0x8795
jmp 0x8754
jmp 0x8792
jmp 0x8792
jmp 0x8792
jmp 0x8792
jmp 0x8792
jmp 0x8792
movq %rax, %rbx
movq %r14, %rdi
callq 0x3180
jmp 0x8795
jmp 0x8792
jmp 0x8792
jmp 0x8792
jmp 0x8792
jmp 0x8792
jmp 0x8792
jmp 0x8792
jmp 0x8792
jmp 0x8792
jmp 0x8792
jmp 0x8792
jmp 0x8792
jmp 0x8792
jmp 0x8792
jmp 0x8792
jmp 0x8792
jmp 0x8783
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x3110
jmp 0x8795
movq %rax, %rbx
leaq 0xb0(%rsp), %rdi
callq 0x99cc
leaq 0x70(%rsp), %rdi
callq 0x3110
leaq 0x50(%rsp), %rdi
callq 0x77d8
movq %rbx, %rdi
callq 0x33b0