// File: /workspace/github_cpp_makefile_star2_O3/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 $0xa8, %rsp
movq %rcx, 0x90(%rsp)
movq %rdx, 0x98(%rsp)
movq %rsi, %r15
movq %rdi, %r12
xorps %xmm0, %xmm0
movq %rsp, %rax
movaps %xmm0, (%rax)
xorl %ebp, %ebp
movq %rbp, 0x10(%rax)
leaq 0x50(%rsp), %rax
movq %rax, -0x10(%rax)
movq %rbp, -0x8(%rax)
movb $0x0, (%rax)
leaq 0x60(%rsp), %rax
movq %rbp, 0x10(%rax)
movaps %xmm0, (%rax)
leaq 0x3f10(%rip), %rbx      # 0xc724
xorl %r13d, %r13d
xorl %r14d, %r14d
cmpq %rbp, %r13
jne 0x8906
leaq 0x30(%rsp), %rax
movq %rax, 0x20(%rsp)
movq $0x0, 0x28(%rsp)
movb $0x0, 0x30(%rsp)
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r12, %rdi
leaq 0x20(%rsp), %rsi
callq 0x33b0
movq 0x60(%rsp), %rax
cmpq %rax, 0x68(%rsp)
je 0x8871
movq %rax, 0x68(%rsp)
movq 0x20(%rsp), %rdi
movq 0x28(%rsp), %rsi
addq %rdi, %rsi
leaq 0x60(%rsp), %rdx
callq 0x9a22
movq (%r12), %rax
movq -0x18(%rax), %rax
testb $0x2, 0x20(%r12,%rax)
movq 0x68(%rsp), %rbp
jne 0x88e5
movl $0xa, 0x80(%rsp)
cmpq 0x70(%rsp), %rbp
je 0x88c1
movl $0xa, (%rbp)
addq $0x4, %rbp
movq %rbp, 0x68(%rsp)
jmp 0x88db
leaq 0x60(%rsp), %rdi
movq %rbp, %rsi
leaq 0x80(%rsp), %rdx
callq 0xac9a
movq 0x68(%rsp), %rbp
movq 0x98(%rsp), %rax
incl (%rax)
movq 0x60(%rsp), %r13
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x8906
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x3210
cmpl $0xd, %r14d
ja 0x9121
movl %r14d, %eax
movslq (%rbx,%rax,4), %rax
addq %rbx, %rax
jmpq *%rax
movq $0x0, 0x48(%rsp)
movq 0x40(%rsp), %rax
movb $0x0, (%rax)
movq %r13, %rax
subq 0x60(%rsp), %rax
shrq $0x2, %rax
movq 0x90(%rsp), %rcx
movl %eax, (%rcx)
movl $0x1, %r14d
cmpq %rbp, %r13
je 0x9121
movl (%r13), %eax
leal -0x9(%rax), %ecx
cmpl $0x5, %ecx
jb 0x8a03
cmpl $0x20, %eax
je 0x8a03
cmpl $0x22, (%r13)
je 0x90d5
cmpl $0x75, (%r13)
jne 0x9154
movl $0x75, %edi
leaq 0x40(%rsp), %rsi
callq 0x9a8d
jmp 0x8b38
cmpq %rbp, %r13
je 0x8c9e
movl (%r13), %edi
leal -0x30(%rdi), %eax
cmpl $0x9, %eax
ja 0x8c93
leaq 0x40(%rsp), %rsi
callq 0x9a8d
jmp 0x8f51
cmpq %rbp, %r13
je 0x8e92
movl (%r13), %edi
leal -0x30(%rdi), %eax
cmpl $0x9, %eax
ja 0x8cf9
leaq 0x40(%rsp), %rsi
callq 0x9a8d
addq $0x4, %r13
movl $0x4, %r14d
jmp 0x9121
cmpq %rbp, %r13
je 0x92b4
cmpl $0x22, (%r13)
jne 0x8c5a
addq $0x4, %r13
jmp 0x911e
cmpq %rbp, %r13
je 0x8f60
movl (%r13), %edi
leal -0x30(%rdi), %eax
cmpl $0x9, %eax
ja 0x8d1d
leaq 0x40(%rsp), %rsi
callq 0x9a8d
jmp 0x8d28
cmpq %rbp, %r13
je 0x9259
xorl %r14d, %r14d
cmpl $0xa, (%r13)
setne %r14b
addq $0x4, %r13
addl %r14d, %r14d
jmp 0x9121
cmpq %rbp, %r13
je 0x8a7b
movl (%r13), %edi
leal -0x30(%rdi), %eax
cmpl $0xa, %eax
jb 0x8d37
movl %edi, %eax
andl $-0x21, %eax
addl $-0x41, %eax
cmpl $0x19, %eax
jbe 0x8d37
leaq 0x97d6(%rip), %rdi      # 0x12258
leaq 0x40(%rsp), %rsi
callq 0xaefa
leaq 0x97cd(%rip), %rcx      # 0x12260
cmpq %rcx, %rax
je 0x92eb
movq 0x8(%rsp), %rsi
movq 0x40(%rax), %rdx
movq 0x48(%rax), %rcx
xorl %r14d, %r14d
movq %rsp, %rdi
callq 0xaf84
jmp 0x9121
cmpq %rbp, %r13
je 0x8d5c
movl (%r13), %edi
movl %edi, %eax
andl $-0x2, %eax
cmpl $0x30, %eax
jne 0x8d46
leaq 0x40(%rsp), %rsi
callq 0x9a8d
jmp 0x8d4d
cmpq %rbp, %r13
je 0x9259
cmpl $0x30, (%r13)
jne 0x8c74
movl $0x30, %edi
leaq 0x40(%rsp), %rsi
callq 0x9a8d
addq $0x4, %r13
movl $0x6, %r14d
jmp 0x9121
cmpq %rbp, %r13
je 0x8fbf
movl (%r13), %edi
leal -0x30(%rdi), %eax
cmpl $0x9, %eax
ja 0x8d96
leaq 0x40(%rsp), %rsi
callq 0x9a8d
addq $0x4, %r13
movl $0x5, %r14d
jmp 0x9121
movl (%r13), %edi
leal -0x5c(%rdi), %eax
cmpl $0xa, %eax
jbe 0x8c40
leal -0x6e(%rdi), %eax
cmpl $0x8, %eax
ja 0x9065
leaq 0x3c1e(%rip), %rcx      # 0xc788
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl $0xa, %edi
jmp 0x909e
movl $0x9, %r14d
cmpq %rbp, %r13
je 0x9121
cmpl $0x62, (%r13)
je 0x8d4d
cmpl $0x6f, (%r13)
je 0x8dc1
cmpl $0x78, (%r13)
je 0x8c07
cmpl $0x2e, (%r13)
jne 0x9121
movl $0x2e, %edi
leaq 0x40(%rsp), %rsi
callq 0x9a8d
jmp 0x8f51
cmpq %rbp, %r13
je 0x90ec
movl (%r13), %edi
leal -0x30(%rdi), %eax
cmpl $0xa, %eax
jb 0x8bfd
leal -0x41(%rdi), %eax
cmpl $0x25, %eax
ja 0x90e1
movabsq $0x3f0000003f, %rcx     # imm = 0x3F0000003F
btq %rax, %rcx
jae 0x90e1
leaq 0x40(%rsp), %rsi
callq 0x9a8d
addq $0x4, %r13
movl $0xa, %r14d
jmp 0x9121
cmpq %rbp, %r13
je 0x8dd0
movl (%r13), %edi
movl %edi, %eax
andl $-0x8, %eax
cmpl $0x30, %eax
jne 0x8dba
leaq 0x40(%rsp), %rsi
callq 0x9a8d
jmp 0x8dc1
leaq 0x3b15(%rip), %rcx      # 0xc75c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl $0x5c, %edi
jmp 0x909e
cmpl $0x5c, (%r13)
jne 0x8e0a
addq $0x4, %r13
movl $0xd, %r14d
jmp 0x9121
movl (%r13), %edi
leal -0x30(%rdi), %eax
cmpl $0x9, %eax
ja 0x8e3e
leaq 0x40(%rsp), %rsi
callq 0x9a8d
jmp 0x8d28
cmpl $0x5f, (%r13)
je 0x8f51
movq 0x40(%rsp), %rdi
leaq 0xa0(%rsp), %rsi
callq 0x3180
movq 0x40(%rsp), %rax
addq 0x48(%rsp), %rax
cmpq %rax, 0xa0(%rsp)
jne 0x9342
callq 0x6ff4
movl %eax, 0x80(%rsp)
movq %rdx, 0x88(%rsp)
movq 0x8(%rsp), %rsi
cmpq 0x10(%rsp), %rsi
je 0x8e62
movups 0x80(%rsp), %xmm0
jmp 0x9115
movl (%r13), %edi
movl %edi, %eax
andl $-0x21, %eax
addl $-0x41, %eax
cmpl $0x19, %eax
ja 0x8e77
leaq 0x40(%rsp), %rsi
callq 0x9a8d
jmp 0x8fb0
cmpl $0x5f, (%r13)
jne 0x8f3b
addq $0x4, %r13
movl $0x9, %r14d
jmp 0x9121
leaq 0x40(%rsp), %rsi
callq 0x9a8d
jmp 0x8fb0
cmpl $0x5f, (%r13)
jne 0x8d5c
addq $0x4, %r13
movl $0x7, %r14d
jmp 0x9121
leaq 0x40(%rsp), %rdi
movl $0x2, %esi
callq 0x96d8
movl %eax, 0x20(%rsp)
movq %rdx, 0x28(%rsp)
movq 0x8(%rsp), %rsi
cmpq 0x10(%rsp), %rsi
jne 0x9110
movq %rsp, %rdi
leaq 0x20(%rsp), %rdx
callq 0xadd6
jmp 0x911e
movl (%r13), %edi
movl %edi, %eax
andl $-0x21, %eax
addl $-0x41, %eax
cmpl $0x19, %eax
ja 0x8f9a
leaq 0x40(%rsp), %rsi
callq 0x9a8d
jmp 0x8fb0
cmpl $0x5f, (%r13)
jne 0x8dd0
addq $0x4, %r13
movl $0x8, %r14d
jmp 0x9121
leaq 0x40(%rsp), %rdi
movl $0x8, %esi
callq 0x96d8
movl %eax, 0x20(%rsp)
movq %rdx, 0x28(%rsp)
movq 0x8(%rsp), %rsi
cmpq 0x10(%rsp), %rsi
jne 0x9110
movq %rsp, %rdi
leaq 0x20(%rsp), %rdx
callq 0xadd6
jmp 0x911e
movl (%r13), %edi
callq 0x6fe0
movl %eax, 0x20(%rsp)
movq %rdx, 0x28(%rsp)
movq 0x8(%rsp), %rsi
cmpq 0x10(%rsp), %rsi
jne 0x90b8
movq %rsp, %rdi
leaq 0x20(%rsp), %rdx
callq 0xadd6
jmp 0x90d5
movl (%r13), %edi
movl %edi, %eax
andl $-0x21, %eax
addl $-0x41, %eax
cmpl $0x19, %eax
ja 0x9394
leaq 0x40(%rsp), %rsi
callq 0x9a8d
jmp 0x8fb0
movq %rsp, %rdi
leaq 0x80(%rsp), %rdx
callq 0xadd6
jmp 0x911e
cmpl $0x5f, (%r13)
jne 0x8e92
movl $0x5f, %edi
leaq 0x40(%rsp), %rsi
callq 0x9a8d
jmp 0x8fb0
leaq 0x40(%rsp), %rdi
callq 0x95b8
movq %rax, %r14
leaq 0x20(%rsp), %rdi
xorl %esi, %esi
callq 0x6f06
movq 0x8(%rsp), %rsi
cmpq 0x10(%rsp), %rsi
je 0x8ec7
movups 0x20(%rsp), %xmm0
movups %xmm0, (%rsi)
addq $0x10, 0x8(%rsp)
jmp 0x8ed4
movq %rsp, %rdi
leaq 0x20(%rsp), %rdx
callq 0xadd6
leaq 0x20(%rsp), %rdi
movl $0x1, %esi
callq 0x6ef2
movq 0x8(%rsp), %rsi
cmpq 0x10(%rsp), %rsi
je 0x8eff
movups 0x20(%rsp), %xmm0
movups %xmm0, (%rsi)
addq $0x10, 0x8(%rsp)
jmp 0x8f0c
movq %rsp, %rdi
leaq 0x20(%rsp), %rdx
callq 0xadd6
leaq 0x20(%rsp), %rdi
movl %r14d, %esi
callq 0x6efc
movq 0x8(%rsp), %rsi
cmpq 0x10(%rsp), %rsi
jne 0x9110
movq %rsp, %rdi
leaq 0x20(%rsp), %rdx
callq 0xadd6
jmp 0x911e
cmpl $0x2e, (%r13)
jne 0x8f60
movl $0x2e, %edi
leaq 0x40(%rsp), %rsi
callq 0x9a8d
addq $0x4, %r13
movl $0xb, %r14d
jmp 0x9121
leaq 0x40(%rsp), %rdi
movl $0xa, %esi
callq 0x96d8
movl %eax, 0x20(%rsp)
movq %rdx, 0x28(%rsp)
movq 0x8(%rsp), %rsi
cmpq 0x10(%rsp), %rsi
jne 0x9110
movq %rsp, %rdi
leaq 0x20(%rsp), %rdx
callq 0xadd6
jmp 0x911e
cmpl $0x5f, (%r13)
jne 0x8fbf
movl $0x5f, %edi
leaq 0x40(%rsp), %rsi
callq 0x9a8d
addq $0x4, %r13
movl $0x3, %r14d
jmp 0x9121
leaq 0x40(%rsp), %rdi
callq 0x95b8
movq %rax, %r14
leaq 0x20(%rsp), %rdi
xorl %esi, %esi
callq 0x6f06
movq 0x8(%rsp), %rsi
cmpq 0x10(%rsp), %rsi
je 0x8ff4
movups 0x20(%rsp), %xmm0
movups %xmm0, (%rsi)
addq $0x10, 0x8(%rsp)
jmp 0x9001
movq %rsp, %rdi
leaq 0x20(%rsp), %rdx
callq 0xadd6
leaq 0x20(%rsp), %rdi
xorl %esi, %esi
callq 0x6ef2
movq 0x8(%rsp), %rsi
cmpq 0x10(%rsp), %rsi
je 0x9029
movups 0x20(%rsp), %xmm0
movups %xmm0, (%rsi)
addq $0x10, 0x8(%rsp)
jmp 0x9036
movq %rsp, %rdi
leaq 0x20(%rsp), %rdx
callq 0xadd6
leaq 0x20(%rsp), %rdi
movl %r14d, %esi
callq 0x6efc
movq 0x8(%rsp), %rsi
cmpq 0x10(%rsp), %rsi
jne 0x9110
movq %rsp, %rdi
leaq 0x20(%rsp), %rdx
callq 0xadd6
jmp 0x911e
cmpl $0x22, %edi
je 0x909e
jmp 0x9405
movl $0x7, %edi
jmp 0x909e
movl $0x8, %edi
jmp 0x909e
movl $0x1b, %edi
jmp 0x909e
movl $0xc, %edi
jmp 0x909e
movl $0xd, %edi
jmp 0x909e
movl $0x9, %edi
jmp 0x909e
movl $0xb, %edi
callq 0x6fe0
movl %eax, 0x20(%rsp)
movq %rdx, 0x28(%rsp)
movq 0x8(%rsp), %rsi
cmpq 0x10(%rsp), %rsi
je 0x90c8
movups 0x20(%rsp), %xmm0
movups %xmm0, (%rsi)
addq $0x10, 0x8(%rsp)
jmp 0x90d5
movq %rsp, %rdi
leaq 0x20(%rsp), %rdx
callq 0xadd6
addq $0x4, %r13
movl $0xc, %r14d
jmp 0x9121
cmpl $0x5f, (%r13)
je 0x8c07
leaq 0x40(%rsp), %rdi
movl $0x10, %esi
callq 0x96d8
movl %eax, 0x20(%rsp)
movq %rdx, 0x28(%rsp)
movq 0x8(%rsp), %rsi
cmpq 0x10(%rsp), %rsi
je 0x9145
movups 0x20(%rsp), %xmm0
movups %xmm0, (%rsi)
addq $0x10, 0x8(%rsp)
xorl %r14d, %r14d
movq %r15, %rdi
movq %rsp, %rsi
callq 0x4808
movq (%rsp), %rax
cmpq %rax, 0x8(%rsp)
je 0x881a
movq %rax, 0x8(%rsp)
jmp 0x881a
movq %rsp, %rdi
leaq 0x20(%rsp), %rdx
callq 0xadd6
jmp 0x911e
cmpl $0x73, (%r13)
jne 0x916f
movl $0x73, %edi
leaq 0x40(%rsp), %rsi
callq 0x9a8d
jmp 0x89e0
movl (%r13), %edi
movl %edi, %eax
andl $-0x21, %eax
addl $-0x41, %eax
cmpl $0x19, %eax
ja 0x918f
leaq 0x40(%rsp), %rsi
callq 0x9a8d
jmp 0x8fb0
cmpl $0x23, (%r13)
jne 0x91a5
addq $0x4, %r13
movl $0x2, %r14d
jmp 0x9121
cmpl $0x2b, (%r13)
jne 0x91bd
movl $0x2b, %edi
leaq 0x40(%rsp), %rsi
callq 0x9a8d
jmp 0x91d3
cmpl $0x2d, (%r13)
jne 0x91dc
movl $0x2d, %edi
leaq 0x40(%rsp), %rsi
callq 0x9a8d
addq $0x4, %r13
jmp 0x9121
cmpl $0x7b, (%r13)
jne 0x920f
callq 0x6fd4
movl %eax, 0x20(%rsp)
movq %rdx, 0x28(%rsp)
movq 0x8(%rsp), %rsi
cmpq 0x10(%rsp), %rsi
jne 0x9234
movq %rsp, %rdi
leaq 0x20(%rsp), %rdx
callq 0xadd6
jmp 0x8a03
cmpl $0x7d, (%r13)
jne 0x9121
callq 0x6fda
movl %eax, 0x20(%rsp)
movq %rdx, 0x28(%rsp)
movq 0x8(%rsp), %rsi
cmpq 0x10(%rsp), %rsi
je 0x9247
movups 0x20(%rsp), %xmm0
movups %xmm0, (%rsi)
addq $0x10, 0x8(%rsp)
jmp 0x8a03
movq %rsp, %rdi
leaq 0x20(%rsp), %rdx
callq 0xadd6
jmp 0x8a03
movq 0x60(%rsp), %rdi
testq %rdi, %rdi
je 0x9270
movq 0x70(%rsp), %rsi
subq %rdi, %rsi
callq 0x3210
movq 0x40(%rsp), %rdi
leaq 0x50(%rsp), %rax
cmpq %rax, %rdi
je 0x928c
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x3210
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x92a2
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
callq 0x3210
addq $0xa8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl $0x10, %edi
callq 0x3100
movq %rax, %r14
leaq 0x357b(%rip), %rsi      # 0xc843
movq %rax, %rdi
callq 0x30c0
movq 0x8d19(%rip), %rsi      # 0x11ff0
movq 0x8caa(%rip), %rdx      # 0x11f88
movq %r14, %rdi
callq 0x3360
jmp 0x9474
movl $0x10, %edi
callq 0x3100
movq %rax, %r14
leaq 0x3527(%rip), %rsi      # 0xc826
leaq 0x3539(%rip), %rcx      # 0xc83f
leaq 0x20(%rsp), %rdi
leaq 0x40(%rsp), %rdx
callq 0x9b56
movb $0x1, %bpl
leaq 0x20(%rsp), %rsi
movq %r14, %rdi
callq 0x3310
xorl %ebp, %ebp
movq 0x8cc2(%rip), %rsi      # 0x11ff0
movq 0x8c53(%rip), %rdx      # 0x11f88
movq %r14, %rdi
callq 0x3360
jmp 0x9474
movl $0x10, %edi
callq 0x3100
movq %rax, %r14
leaq 0x352b(%rip), %rsi      # 0xc881
leaq 0x356d(%rip), %rcx      # 0xc8ca
leaq 0x20(%rsp), %rdi
leaq 0x40(%rsp), %rdx
callq 0x9cd1
movb $0x1, %bpl
leaq 0x20(%rsp), %rsi
movq %r14, %rdi
callq 0x3310
xorl %ebp, %ebp
movq 0x8c6b(%rip), %rsi      # 0x11ff0
movq 0x8bfc(%rip), %rdx      # 0x11f88
movq %r14, %rdi
callq 0x3360
leaq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
movq %rax, (%rdi)
leaq 0x3469(%rip), %rsi      # 0xc811
leaq 0x3476(%rip), %rdx      # 0xc825
callq 0x7fec
movl (%r13), %edi
leaq 0x20(%rsp), %rsi
callq 0x9a8d
leaq 0x326e(%rip), %rsi      # 0xc637
leaq 0x20(%rsp), %rdi
callq 0x33d0
movl $0x10, %edi
callq 0x3100
movq %rax, %r14
leaq 0x20(%rsp), %rsi
movq %rax, %rdi
callq 0x3310
movq 0x8bfc(%rip), %rsi      # 0x11ff0
movq 0x8b8d(%rip), %rdx      # 0x11f88
movq %r14, %rdi
callq 0x3360
jmp 0x9474
leaq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
movq %rax, (%rdi)
leaq 0x344c(%rip), %rsi      # 0xc865
leaq 0x3460(%rip), %rdx      # 0xc880
callq 0x7fec
movl (%r13), %edi
leaq 0x20(%rsp), %rsi
callq 0x9a8d
leaq 0x31fd(%rip), %rsi      # 0xc637
leaq 0x20(%rsp), %rdi
callq 0x33d0
movl $0x10, %edi
callq 0x3100
movq %rax, %r14
leaq 0x20(%rsp), %rsi
movq %rax, %rdi
callq 0x3310
movq 0x8b8b(%rip), %rsi      # 0x11ff0
movq 0x8b1c(%rip), %rdx      # 0x11f88
movq %r14, %rdi
callq 0x3360
jmp 0x9564
jmp 0x9564
jmp 0x9564
jmp 0x9564
jmp 0x9564
jmp 0x9494
jmp 0x9564
movq %rax, %rbx
movq %r14, %rdi
callq 0x3170
jmp 0x9546
jmp 0x9564
jmp 0x9564
jmp 0x9543
jmp 0x9564
jmp 0x9564
jmp 0x9564
jmp 0x9564
jmp 0x9543
jmp 0x9564
jmp 0x9564
jmp 0x9564
jmp 0x9564
jmp 0x9564
jmp 0x94e8
jmp 0x9518
jmp 0x9564
movq %rax, %rbx
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x9507
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x3210
testb %bpl, %bpl
jne 0x951b
jmp 0x9567
jmp 0x9518
jmp 0x9564
jmp 0x9564
jmp 0x9564
jmp 0x9564
movq %rax, %rbx
movq %r14, %rdi
callq 0x3170
jmp 0x9567
jmp 0x9564
jmp 0x9564
jmp 0x9564
jmp 0x9564
jmp 0x9564
jmp 0x9564
jmp 0x9564
jmp 0x9564
jmp 0x9564
jmp 0x9564
jmp 0x9564
jmp 0x9564
jmp 0x9564
jmp 0x9543
jmp 0x9564
movq %rax, %rbx
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x9567
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x3210
jmp 0x9567
movq %rax, %rbx
movq 0x60(%rsp), %rdi
testq %rdi, %rdi
je 0x957e
movq 0x70(%rsp), %rsi
subq %rdi, %rsi
callq 0x3210
movq 0x40(%rsp), %rdi
leaq 0x50(%rsp), %rax
cmpq %rax, %rdi
je 0x959a
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x3210
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x95b0
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
callq 0x3210
movq %rbx, %rdi
callq 0x3380