// File: /workspace/github_cpp_makefile_star2_O1/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, 0x98(%rsp)
movq %rdx, %rbx
movq %rsi, %r15
movq %rdi, %r12
xorps %xmm0, %xmm0
movq %rsp, %rax
movaps %xmm0, (%rax)
xorl %ecx, %ecx
movq %rcx, 0x10(%rax)
leaq 0x50(%rsp), %rax
movq %rax, -0x10(%rax)
movq %rcx, -0x8(%rax)
movb $0x0, (%rax)
leaq 0x60(%rsp), %rax
movaps %xmm0, (%rax)
movq %rcx, 0x10(%rax)
movq 0x8(%rax), %r13
xorl %ebp, %ebp
xorl %r14d, %r14d
movq %rdx, 0x80(%rsp)
cmpq %r13, %rbp
jne 0x8a8d
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 0x8a04
movq %rax, 0x68(%rsp)
movq 0x20(%rsp), %rdi
movq 0x28(%rsp), %rsi
addq %rdi, %rsi
leaq 0x60(%rsp), %rdx
callq 0x9eae
movq (%r12), %rax
movq -0x18(%rax), %rax
testb $0x2, 0x20(%r12,%rax)
jne 0x8a67
movl $0xa, 0x88(%rsp)
movq 0x68(%rsp), %rsi
cmpq 0x70(%rsp), %rsi
je 0x8a53
movl $0xa, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x68(%rsp)
jmp 0x8a65
leaq 0x60(%rsp), %rdi
leaq 0x88(%rsp), %rdx
callq 0xb1ac
incl (%rbx)
movq 0x60(%rsp), %rbp
movq 0x68(%rsp), %r13
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x8a8d
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x3210
cmpl $0xd, %r14d
ja 0x96b3
movl %r14d, %eax
leaq 0x3c87(%rip), %rcx      # 0xc728
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq $0x0, 0x48(%rsp)
movq 0x40(%rsp), %rax
movb $0x0, (%rax)
movq %rbp, %rax
subq 0x60(%rsp), %rax
shrq $0x2, %rax
movq 0x98(%rsp), %rcx
movl %eax, (%rcx)
cmpq %r13, %rbp
je 0x9210
movl (%rbp), %eax
leal -0x9(%rax), %ecx
cmpl $0x5, %ecx
jae 0x9207
addq $0x4, %rbp
movb $0x1, %al
jmp 0x9212
cmpq %r13, %rbp
je 0x8e34
movl (%rbp), %edi
leal -0x30(%rdi), %eax
cmpl $0x9, %eax
ja 0x8e34
leaq 0x40(%rsp), %rsi
callq 0x9f19
addq $0x4, %rbp
movb $0x1, %al
jmp 0x8e36
cmpq %r13, %rbp
je 0x8eb4
movl (%rbp), %edi
leal -0x30(%rdi), %eax
cmpl $0x9, %eax
ja 0x8eb4
leaq 0x40(%rsp), %rsi
callq 0x9f19
addq $0x4, %rbp
movb $0x1, %al
jmp 0x8eb6
xorl %eax, %eax
cmpq %r13, %rbp
je 0x8b61
cmpl $0x22, (%rbp)
sete %al
leaq (%rbp,%rax,4), %rbp
testb %al, %al
movl $0x0, %eax
cmovnel %eax, %r14d
jne 0x96b3
xorl %eax, %eax
cmpq %r13, %rbp
je 0x8b85
cmpl $0x5c, (%rbp)
sete %al
leaq (%rbp,%rax,4), %rbp
testb %al, %al
movl $0xd, %eax
cmovnel %eax, %r14d
jne 0x96b3
cmpq %r13, %rbp
je 0x97e4
movl (%rbp), %edi
callq 0x71a0
movl %eax, 0x20(%rsp)
movq %rdx, 0x28(%rsp)
movq 0x8(%rsp), %rsi
cmpq 0x10(%rsp), %rsi
je 0x941e
movups 0x20(%rsp), %xmm0
movups %xmm0, (%rsi)
addq $0x10, 0x8(%rsp)
jmp 0x8c2a
cmpq %r13, %rbp
je 0x8ef0
movl (%rbp), %edi
leal -0x30(%rdi), %eax
cmpl $0x9, %eax
ja 0x8ef0
leaq 0x40(%rsp), %rsi
callq 0x9f19
addq $0x4, %rbp
movb $0x1, %al
jmp 0x8ef2
xorl %eax, %eax
cmpq %r13, %rbp
je 0x8c10
cmpl $0xa, (%rbp)
sete %al
leaq (%rbp,%rax,4), %rbp
testb %al, %al
movl $0x0, %eax
cmovnel %eax, %r14d
jne 0x96b3
cmpq %r13, %rbp
je 0x96e0
addq $0x4, %rbp
jmp 0x96b3
cmpq %r13, %rbp
je 0x8c58
movl (%rbp), %edi
leal -0x30(%rdi), %eax
cmpl $0xa, %eax
jb 0x91b1
movl %edi, %eax
andl $-0x21, %eax
addl $-0x41, %eax
cmpl $0x19, %eax
jbe 0x91b1
xorl %eax, %eax
jmp 0x91c1
cmpq %r13, %rbp
je 0x8f3f
movl (%rbp), %edi
movl %edi, %eax
andl $-0x2, %eax
cmpl $0x30, %eax
jne 0x8f3f
leaq 0x40(%rsp), %rsi
callq 0x9f19
addq $0x4, %rbp
movb $0x1, %al
jmp 0x8f41
cmpq %r13, %rbp
je 0x8f9e
movl (%rbp), %edi
cmpl $0x30, %edi
jne 0x8f9e
leaq 0x40(%rsp), %rsi
callq 0x9f19
addq $0x4, %rbp
movb $0x1, %al
jmp 0x8fa0
cmpq %r13, %rbp
je 0x8fde
movl (%rbp), %edi
leal -0x30(%rdi), %eax
cmpl $0x9, %eax
ja 0x8fde
leaq 0x40(%rsp), %rsi
callq 0x9f19
addq $0x4, %rbp
movb $0x1, %al
jmp 0x8fe0
movl (%rbp), %edi
leal -0x5c(%rdi), %eax
cmpl $0xa, %eax
jbe 0x9079
leal -0x6e(%rdi), %eax
cmpl $0x8, %eax
ja 0x939f
leaq 0x3a85(%rip), %rcx      # 0xc78c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl $0xa, %edi
jmp 0x93d8
xorl %eax, %eax
cmpq %r13, %rbp
je 0x8d2d
cmpl $0x62, (%rbp)
sete %al
leaq (%rbp,%rax,4), %rbp
testb %al, %al
movl $0x7, %eax
cmovnel %eax, %r14d
jne 0x96b3
xorl %eax, %eax
cmpq %r13, %rbp
je 0x8d51
cmpl $0x6f, (%rbp)
sete %al
leaq (%rbp,%rax,4), %rbp
testb %al, %al
movl $0x8, %eax
cmovnel %eax, %r14d
jne 0x96b3
xorl %eax, %eax
cmpq %r13, %rbp
je 0x8d75
cmpl $0x78, (%rbp)
sete %al
leaq (%rbp,%rax,4), %rbp
testb %al, %al
movl $0xa, %eax
cmovnel %eax, %r14d
jne 0x96b3
movl $0x9, %r14d
cmpq %r13, %rbp
je 0x96b3
movl (%rbp), %edi
cmpl $0x2e, %edi
jne 0x96b3
leaq 0x40(%rsp), %rsi
callq 0x9f19
addq $0x4, %rbp
movl $0xb, %r14d
jmp 0x96b3
cmpq %r13, %rbp
je 0x9093
movl (%rbp), %edi
leal -0x30(%rdi), %eax
cmpl $0xa, %eax
jb 0x8df0
xorl %eax, %eax
leal -0x41(%rdi), %ecx
cmpl $0x25, %ecx
ja 0x9095
movabsq $0x3f0000003f, %rdx     # imm = 0x3F0000003F
btq %rcx, %rdx
jae 0x9095
leaq 0x40(%rsp), %rsi
callq 0x9f19
addq $0x4, %rbp
movb $0x1, %al
jmp 0x9095
cmpq %r13, %rbp
je 0x901a
movl (%rbp), %edi
movl %edi, %eax
andl $-0x8, %eax
cmpl $0x30, %eax
jne 0x901a
leaq 0x40(%rsp), %rsi
callq 0x9f19
addq $0x4, %rbp
movb $0x1, %al
jmp 0x901c
xorl %eax, %eax
testb %al, %al
jne 0x96b3
xorl %eax, %eax
cmpq %r13, %rbp
je 0x8e51
cmpl $0x5f, (%rbp)
sete %al
leaq (%rbp,%rax,4), %rbp
testb %al, %al
jne 0x96b3
movq 0x40(%rsp), %rdi
leaq 0xa0(%rsp), %rsi
callq 0x3180
movq 0x40(%rsp), %rax
addq 0x48(%rsp), %rax
cmpq %rax, 0xa0(%rsp)
jne 0x9792
callq 0x71b4
movl %eax, 0x88(%rsp)
movq %rdx, 0x90(%rsp)
movq 0x8(%rsp), %rsi
cmpq 0x10(%rsp), %rsi
je 0x9430
movups 0x88(%rsp), %xmm0
jmp 0x9557
xorl %eax, %eax
testb %al, %al
jne 0x96b3
cmpq %r13, %rbp
je 0x90f2
movl (%rbp), %edi
movl %edi, %eax
andl $-0x21, %eax
addl $-0x41, %eax
cmpl $0x19, %eax
ja 0x90f2
leaq 0x40(%rsp), %rsi
callq 0x9f19
addq $0x4, %rbp
movb $0x1, %al
jmp 0x90f4
xorl %eax, %eax
testb %al, %al
jne 0x96b3
xorl %eax, %eax
cmpq %r13, %rbp
je 0x8f0d
cmpl $0x5f, (%rbp)
sete %al
leaq (%rbp,%rax,4), %rbp
testb %al, %al
jne 0x96b3
cmpq %r13, %rbp
je 0x929c
movl (%rbp), %edi
cmpl $0x2e, %edi
jne 0x929c
leaq 0x40(%rsp), %rsi
callq 0x9f19
addq $0x4, %rbp
movb $0x1, %al
jmp 0x929e
xorl %eax, %eax
testb %al, %al
jne 0x96b3
xorl %eax, %eax
cmpq %r13, %rbp
je 0x8f5c
cmpl $0x5f, (%rbp)
sete %al
leaq (%rbp,%rax,4), %rbp
testb %al, %al
jne 0x96b3
leaq 0x40(%rsp), %rdi
movl $0x2, %esi
callq 0x9b66
movl %eax, 0x20(%rsp)
movq %rdx, 0x28(%rsp)
movq 0x8(%rsp), %rsi
cmpq 0x10(%rsp), %rsi
jne 0x9552
movq %rsp, %rdi
leaq 0x20(%rsp), %rdx
callq 0xb2e8
jmp 0x9560
xorl %eax, %eax
testb %al, %al
movl $0x6, %eax
cmovnel %eax, %r14d
jne 0x96b3
cmpq %r13, %rbp
je 0x912f
movl (%rbp), %edi
leal -0x30(%rdi), %eax
cmpl $0x9, %eax
ja 0x912f
leaq 0x40(%rsp), %rsi
callq 0x9f19
addq $0x4, %rbp
movb $0x1, %al
jmp 0x9131
xorl %eax, %eax
testb %al, %al
jne 0x96b3
cmpq %r13, %rbp
je 0x9174
movl (%rbp), %edi
movl %edi, %eax
andl $-0x21, %eax
addl $-0x41, %eax
cmpl $0x19, %eax
ja 0x9174
leaq 0x40(%rsp), %rsi
callq 0x9f19
addq $0x4, %rbp
movb $0x1, %al
jmp 0x9176
xorl %eax, %eax
testb %al, %al
jne 0x96b3
xorl %eax, %eax
cmpq %r13, %rbp
je 0x9037
cmpl $0x5f, (%rbp)
sete %al
leaq (%rbp,%rax,4), %rbp
testb %al, %al
jne 0x96b3
leaq 0x40(%rsp), %rdi
movl $0x8, %esi
callq 0x9b66
movl %eax, 0x20(%rsp)
movq %rdx, 0x28(%rsp)
movq 0x8(%rsp), %rsi
cmpq 0x10(%rsp), %rsi
jne 0x9552
movq %rsp, %rdi
leaq 0x20(%rsp), %rdx
callq 0xb2e8
jmp 0x9560
leaq 0x36e0(%rip), %rcx      # 0xc760
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl $0x5c, %edi
jmp 0x93d8
xorl %eax, %eax
testb %al, %al
jne 0x96b3
xorl %eax, %eax
cmpq %r13, %rbp
je 0x90b0
cmpl $0x5f, (%rbp)
sete %al
leaq (%rbp,%rax,4), %rbp
testb %al, %al
jne 0x96b3
leaq 0x40(%rsp), %rdi
movl $0x10, %esi
callq 0x9b66
movl %eax, 0x20(%rsp)
movq %rdx, 0x28(%rsp)
movq 0x8(%rsp), %rsi
cmpq 0x10(%rsp), %rsi
jne 0x9552
movq %rsp, %rdi
leaq 0x20(%rsp), %rdx
callq 0xb2e8
jmp 0x9560
xorl %eax, %eax
testb %al, %al
movl $0x3, %eax
cmovnel %eax, %r14d
jne 0x96b3
cmpq %r13, %rbp
je 0x92e9
movl (%rbp), %edi
cmpl $0x5f, %edi
jne 0x92e9
leaq 0x40(%rsp), %rsi
callq 0x9f19
addq $0x4, %rbp
movb $0x1, %al
jmp 0x92eb
xorl %eax, %eax
testb %al, %al
movl $0x9, %eax
cmovnel %eax, %r14d
jne 0x96b3
cmpq %r13, %rbp
je 0x9338
movl (%rbp), %edi
movl %edi, %eax
andl $-0x21, %eax
addl $-0x41, %eax
cmpl $0x19, %eax
ja 0x9338
leaq 0x40(%rsp), %rsi
callq 0x9f19
addq $0x4, %rbp
movb $0x1, %al
jmp 0x933a
xorl %eax, %eax
testb %al, %al
movl $0x3, %eax
cmovnel %eax, %r14d
jne 0x96b3
cmpq %r13, %rbp
je 0x9350
movl (%rbp), %edi
cmpl $0x5f, %edi
jne 0x9350
leaq 0x40(%rsp), %rsi
callq 0x9f19
addq $0x4, %rbp
movb $0x1, %al
jmp 0x9352
leaq 0x40(%rsp), %rsi
callq 0x9f19
addq $0x4, %rbp
movb $0x1, %al
testb %al, %al
jne 0x96b3
leaq 0x9088(%rip), %rdi      # 0x12258
leaq 0x40(%rsp), %rsi
callq 0xb40c
leaq 0x907f(%rip), %rcx      # 0x12260
cmpq %rcx, %rax
je 0x973b
movq 0x8(%rsp), %rsi
movq 0x40(%rax), %rdx
movq 0x48(%rax), %rcx
xorl %r14d, %r14d
movq %rsp, %rdi
callq 0xb496
jmp 0x96b3
cmpl $0x20, %eax
je 0x8ae9
xorl %eax, %eax
movb $0x1, %bl
testb %al, %al
jne 0x9600
xorl %eax, %eax
cmpq %r13, %rbp
je 0x922f
cmpl $0x22, (%rbp)
sete %al
leaq (%rbp,%rax,4), %rbp
testb %al, %al
movl $0xc, %eax
cmovnel %eax, %r14d
jne 0x9600
cmpq %r13, %rbp
je 0x925f
movl (%rbp), %edi
cmpl $0x75, %edi
jne 0x925f
leaq 0x40(%rsp), %rsi
callq 0x9f19
addq $0x4, %rbp
movb $0x1, %al
jmp 0x9261
xorl %eax, %eax
testb %al, %al
movl $0x5, %eax
cmovnel %eax, %r14d
jne 0x9600
cmpq %r13, %rbp
je 0x9445
movl (%rbp), %edi
cmpl $0x73, %edi
jne 0x9445
leaq 0x40(%rsp), %rsi
callq 0x9f19
addq $0x4, %rbp
movb $0x1, %al
jmp 0x9447
xorl %eax, %eax
testb %al, %al
movl $0xb, %eax
cmovnel %eax, %r14d
jne 0x96b3
leaq 0x40(%rsp), %rdi
movl $0xa, %esi
callq 0x9b66
movl %eax, 0x20(%rsp)
movq %rdx, 0x28(%rsp)
movq 0x8(%rsp), %rsi
cmpq 0x10(%rsp), %rsi
jne 0x9552
movq %rsp, %rdi
leaq 0x20(%rsp), %rdx
callq 0xb2e8
jmp 0x9560
xorl %eax, %eax
testb %al, %al
movl $0x3, %eax
cmovnel %eax, %r14d
jne 0x96b3
leaq 0x40(%rsp), %rdi
callq 0x9a43
movq %rax, %r14
leaq 0x20(%rsp), %rdi
xorl %esi, %esi
callq 0x70c2
movq 0x8(%rsp), %rsi
cmpq 0x10(%rsp), %rsi
je 0x948a
movups 0x20(%rsp), %xmm0
movups %xmm0, (%rsi)
addq $0x10, 0x8(%rsp)
jmp 0x9497
xorl %eax, %eax
testb %al, %al
movl $0x3, %eax
cmovnel %eax, %r14d
jne 0x96b3
jmp 0x96d7
xorl %eax, %eax
testb %al, %al
movl $0x3, %eax
cmovnel %eax, %r14d
jne 0x96b3
leaq 0x40(%rsp), %rdi
callq 0x9a43
movq %rax, %r14
leaq 0x20(%rsp), %rdi
xorl %esi, %esi
callq 0x70c2
movq 0x8(%rsp), %rsi
cmpq 0x10(%rsp), %rsi
je 0x94c2
movups 0x20(%rsp), %xmm0
movups %xmm0, (%rsi)
addq $0x10, 0x8(%rsp)
jmp 0x94cf
cmpl $0x22, %edi
je 0x93d8
jmp 0x981b
movl $0x7, %edi
jmp 0x93d8
movl $0x8, %edi
jmp 0x93d8
movl $0x1b, %edi
jmp 0x93d8
movl $0xc, %edi
jmp 0x93d8
movl $0xd, %edi
jmp 0x93d8
movl $0x9, %edi
jmp 0x93d8
movl $0xb, %edi
callq 0x71a0
movl %eax, 0x20(%rsp)
movq %rdx, 0x28(%rsp)
movq 0x8(%rsp), %rsi
cmpq 0x10(%rsp), %rsi
je 0x9402
movups 0x20(%rsp), %xmm0
movups %xmm0, (%rsi)
addq $0x10, 0x8(%rsp)
jmp 0x940f
movq %rsp, %rdi
leaq 0x20(%rsp), %rdx
callq 0xb2e8
addq $0x4, %rbp
movl $0xc, %r14d
jmp 0x96b3
movq %rsp, %rdi
leaq 0x20(%rsp), %rdx
callq 0xb2e8
jmp 0x8c2a
movq %rsp, %rdi
leaq 0x88(%rsp), %rdx
callq 0xb2e8
jmp 0x9560
xorl %eax, %eax
testb %al, %al
movl $0x4, %eax
cmovnel %eax, %r14d
jne 0x9600
cmpq %r13, %rbp
je 0x9577
movl (%rbp), %edi
movl %edi, %eax
andl $-0x21, %eax
addl $-0x41, %eax
cmpl $0x19, %eax
ja 0x9577
leaq 0x40(%rsp), %rsi
callq 0x9f19
addq $0x4, %rbp
movb $0x1, %al
jmp 0x9579
movq %rsp, %rdi
leaq 0x20(%rsp), %rdx
callq 0xb2e8
leaq 0x20(%rsp), %rdi
movl $0x1, %esi
callq 0x70ae
movq 0x8(%rsp), %rsi
cmpq 0x10(%rsp), %rsi
je 0x94f7
movups 0x20(%rsp), %xmm0
movups %xmm0, (%rsi)
addq $0x10, 0x8(%rsp)
jmp 0x9504
movq %rsp, %rdi
leaq 0x20(%rsp), %rdx
callq 0xb2e8
leaq 0x20(%rsp), %rdi
xorl %esi, %esi
callq 0x70ae
movq 0x8(%rsp), %rsi
cmpq 0x10(%rsp), %rsi
je 0x952c
movups 0x20(%rsp), %xmm0
movups %xmm0, (%rsi)
addq $0x10, 0x8(%rsp)
jmp 0x9539
movq %rsp, %rdi
leaq 0x20(%rsp), %rdx
callq 0xb2e8
leaq 0x20(%rsp), %rdi
movl %r14d, %esi
callq 0x70b8
movq 0x8(%rsp), %rsi
cmpq 0x10(%rsp), %rsi
jne 0x9552
movq %rsp, %rdi
leaq 0x20(%rsp), %rdx
callq 0xb2e8
jmp 0x9560
movq %rsp, %rdi
leaq 0x20(%rsp), %rdx
callq 0xb2e8
leaq 0x20(%rsp), %rdi
movl %r14d, %esi
callq 0x70b8
movq 0x8(%rsp), %rsi
cmpq 0x10(%rsp), %rsi
je 0x9568
movups 0x20(%rsp), %xmm0
movups %xmm0, (%rsi)
addq $0x10, 0x8(%rsp)
xorl %r14d, %r14d
jmp 0x96b3
movq %rsp, %rdi
leaq 0x20(%rsp), %rdx
callq 0xb2e8
jmp 0x9560
xorl %eax, %eax
testb %al, %al
movl $0x3, %eax
cmovnel %eax, %r14d
jne 0x9600
xorl %eax, %eax
cmpq %r13, %rbp
je 0x9599
cmpl $0x23, (%rbp)
sete %al
leaq (%rbp,%rax,4), %rbp
testb %al, %al
movl $0x2, %eax
cmovnel %eax, %r14d
jne 0x9600
cmpq %r13, %rbp
je 0x95c5
movl (%rbp), %edi
cmpl $0x2b, %edi
jne 0x95c5
leaq 0x40(%rsp), %rsi
callq 0x9f19
addq $0x4, %rbp
movb $0x1, %al
jmp 0x95c7
xorl %eax, %eax
testb %al, %al
movl $0x1, %eax
cmovnel %eax, %r14d
jne 0x9600
cmpq %r13, %rbp
je 0x95f3
movl (%rbp), %edi
cmpl $0x2d, %edi
jne 0x95f3
leaq 0x40(%rsp), %rsi
callq 0x9f19
addq $0x4, %rbp
movb $0x1, %bl
jmp 0x95f5
xorl %ebx, %ebx
testb %bl, %bl
movl $0x1, %eax
cmovnel %eax, %r14d
testb %bl, %bl
je 0x9611
movq 0x80(%rsp), %rbx
jmp 0x96b3
cmpq %r13, %rbp
movq 0x80(%rsp), %rbx
je 0x962e
xorl %eax, %eax
cmpl $0x7b, (%rbp)
sete %al
leaq (%rbp,%rax,4), %rbp
jmp 0x9630
xorl %eax, %eax
testb %al, %al
je 0x965d
callq 0x7194
movl %eax, 0x20(%rsp)
movq %rdx, 0x28(%rsp)
movq 0x8(%rsp), %rsi
cmpq 0x10(%rsp), %rsi
jne 0x968e
movq %rsp, %rdi
leaq 0x20(%rsp), %rdx
callq 0xb2e8
jmp 0x96b3
xorl %eax, %eax
cmpq %r13, %rbp
je 0x9670
cmpl $0x7d, (%rbp)
sete %al
leaq (%rbp,%rax,4), %rbp
testb %al, %al
je 0x969e
callq 0x719a
movl %eax, 0x20(%rsp)
movq %rdx, 0x28(%rsp)
movq 0x8(%rsp), %rsi
cmpq 0x10(%rsp), %rsi
je 0x96a6
movups 0x20(%rsp), %xmm0
movups %xmm0, (%rsi)
addq $0x10, 0x8(%rsp)
jmp 0x96b3
movl $0x1, %r14d
jmp 0x96b3
movq %rsp, %rdi
leaq 0x20(%rsp), %rdx
callq 0xb2e8
movq %r15, %rdi
movq %rsp, %rsi
callq 0x49a8
movq (%rsp), %rax
cmpq %rax, 0x8(%rsp)
je 0x89ad
movq %rax, 0x8(%rsp)
jmp 0x89ad
cmpq %r13, %rbp
jne 0x988b
movq 0x60(%rsp), %rdi
testq %rdi, %rdi
je 0x96f7
movq 0x70(%rsp), %rsi
subq %rdi, %rsi
callq 0x3210
movq 0x40(%rsp), %rdi
leaq 0x50(%rsp), %rax
cmpq %rax, %rdi
je 0x9713
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x3210
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x9729
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 0x30ef(%rip), %rsi      # 0xc83e
leaq 0x3101(%rip), %rcx      # 0xc857
leaq 0x20(%rsp), %rdi
leaq 0x40(%rsp), %rdx
callq 0x9fe2
movb $0x1, %bpl
leaq 0x20(%rsp), %rsi
movq %r14, %rdi
callq 0x3310
xorl %ebp, %ebp
movq 0x8872(%rip), %rsi      # 0x11ff0
movq 0x8803(%rip), %rdx      # 0x11f88
movq %r14, %rdi
callq 0x3360
jmp 0x98f9
movl $0x10, %edi
callq 0x3100
movq %rax, %r14
leaq 0x30f3(%rip), %rsi      # 0xc899
leaq 0x3135(%rip), %rcx      # 0xc8e2
leaq 0x20(%rsp), %rdi
leaq 0x40(%rsp), %rdx
callq 0xa15d
movb $0x1, %bpl
leaq 0x20(%rsp), %rsi
movq %r14, %rdi
callq 0x3310
xorl %ebp, %ebp
movq 0x881b(%rip), %rsi      # 0x11ff0
movq 0x87ac(%rip), %rdx      # 0x11f88
movq %r14, %rdi
callq 0x3360
movl $0x10, %edi
callq 0x3100
movq %rax, %r14
leaq 0x3063(%rip), %rsi      # 0xc85b
movq %rax, %rdi
callq 0x30c0
movq 0x87e9(%rip), %rsi      # 0x11ff0
movq 0x877a(%rip), %rdx      # 0x11f88
movq %r14, %rdi
callq 0x3360
jmp 0x98f9
leaq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
movq %rax, (%rdi)
leaq 0x304e(%rip), %rsi      # 0xc87d
leaq 0x3062(%rip), %rdx      # 0xc898
callq 0x8186
movl (%rbp), %edi
leaq 0x20(%rsp), %rsi
callq 0x9f19
leaq 0x2deb(%rip), %rsi      # 0xc63a
leaq 0x20(%rsp), %rdi
callq 0x33d0
movl $0x10, %edi
callq 0x3100
movq %rax, %r14
leaq 0x20(%rsp), %rsi
movq %rax, %rdi
callq 0x3310
movq 0x8776(%rip), %rsi      # 0x11ff0
movq 0x8707(%rip), %rdx      # 0x11f88
movq %r14, %rdi
callq 0x3360
jmp 0x98f9
leaq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
movq %rax, (%rdi)
leaq 0x2f8a(%rip), %rsi      # 0xc829
leaq 0x2f97(%rip), %rdx      # 0xc83d
callq 0x8186
movl (%rbp), %edi
leaq 0x20(%rsp), %rsi
callq 0x9f19
leaq 0x2d7b(%rip), %rsi      # 0xc63a
leaq 0x20(%rsp), %rdi
callq 0x33d0
movl $0x10, %edi
callq 0x3100
movq %rax, %r14
leaq 0x20(%rsp), %rsi
movq %rax, %rdi
callq 0x3310
movq 0x8706(%rip), %rsi      # 0x11ff0
movq 0x8697(%rip), %rdx      # 0x11f88
movq %r14, %rdi
callq 0x3360
jmp 0x990f
jmp 0x99ef
jmp 0x99ce
jmp 0x99ef
jmp 0x99ef
movq %rax, %rbx
movq %r14, %rdi
callq 0x3170
jmp 0x99d1
jmp 0x99ef
jmp 0x99ef
jmp 0x99ef
jmp 0x99ce
jmp 0x99ef
jmp 0x99ef
jmp 0x99ef
jmp 0x99ef
jmp 0x99ef
jmp 0x99ef
jmp 0x99ef
movq %rax, %rbx
jmp 0x99ae
jmp 0x99ef
jmp 0x9982
jmp 0x99a3
jmp 0x99ef
jmp 0x99ef
jmp 0x99ef
jmp 0x99ef
jmp 0x99ef
jmp 0x99ef
jmp 0x99ef
jmp 0x99ef
jmp 0x99ef
jmp 0x99ef
jmp 0x99ef
jmp 0x99ef
movq %rax, %rbx
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x99a9
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x3210
jmp 0x99a9
movq %rax, %rbx
movb $0x1, %bpl
testb %bpl, %bpl
je 0x99f2
movq %r14, %rdi
callq 0x3170
jmp 0x99f2
jmp 0x99ef
jmp 0x99ef
jmp 0x99ef
jmp 0x99ef
jmp 0x99ef
jmp 0x99ef
jmp 0x99ef
jmp 0x99ef
jmp 0x99ef
jmp 0x99ce
jmp 0x99ef
movq %rax, %rbx
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x99f2
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x3210
jmp 0x99f2
movq %rax, %rbx
movq 0x60(%rsp), %rdi
testq %rdi, %rdi
je 0x9a09
movq 0x70(%rsp), %rsi
subq %rdi, %rsi
callq 0x3210
movq 0x40(%rsp), %rdi
leaq 0x50(%rsp), %rax
cmpq %rax, %rdi
je 0x9a25
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x3210
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x9a3b
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
callq 0x3210
movq %rbx, %rdi
callq 0x3380