// File: /workspace/github_c_makefile_star2_O2/RodionGork[P]tinyscheme/scheme.c
// Function: opexe_5
static pointer opexe_5(scheme * sc, enum scheme_opcodes op) {
  pointer x;

  if (sc->nesting != 0) {
    int n = sc->nesting;
    sc->nesting = 0;
    sc->retcode = -1;
    Error_1(sc, "unmatched parentheses:", mk_integer(sc, n));
  }

  switch (op) {
    /* ========== reading part ========== */
  case OP_READ:
    if (!is_pair(sc->args)) {
      s_goto(sc, OP_READ_INTERNAL);
    }
    if (!is_inport(car(sc->args))) {
      Error_1(sc, "read: not an input port:", car(sc->args));
    }
    if (car(sc->args) == sc->inport) {
      s_goto(sc, OP_READ_INTERNAL);
    }
    x = sc->inport;
    sc->inport = car(sc->args);
    x = cons(sc, x, sc->NIL);
    s_save(sc, OP_SET_INPORT, x, sc->NIL);
    s_goto(sc, OP_READ_INTERNAL);

  case OP_READ_CHAR:           /* read-char */
  case OP_PEEK_CHAR:           /* peek-char */  {
      int c;
      if (is_pair(sc->args)) {
        if (car(sc->args) != sc->inport) {
          x = sc->inport;
          x = cons(sc, x, sc->NIL);
          s_save(sc, OP_SET_INPORT, x, sc->NIL);
          sc->inport = car(sc->args);
        }
      }
      c = inchar(sc);
      if (c == EOF) {
        s_return(sc, sc->EOF_OBJ);
      }
      if (sc->op == OP_PEEK_CHAR) {
        backchar(sc, c);
      }
      s_return(sc, mk_character(sc, c));
    }

  case OP_READ_U8:           /* read-u8 */
  case OP_PEEK_U8:           /* peek-u8 */  {
      int c;
      if (is_pair(sc->args)) {
        if (car(sc->args) != sc->inport) {
          x = sc->inport;
          x = cons(sc, x, sc->NIL);
          s_save(sc, OP_SET_INPORT, x, sc->NIL);
          sc->inport = car(sc->args);
        }
      }
      c = inchar8(sc);
      if (c == EOF) {
        s_return(sc, sc->EOF_OBJ);
      }
      if (sc->op == OP_PEEK_U8) {
        backchar(sc, c);
      }
      s_return(sc, mk_integer(sc, c));
    }

  case OP_CHAR_READY:          /* char-ready? */  {
      pointer p = sc->inport;
      int res;
      if (is_pair(sc->args)) {
        p = car(sc->args);
      }
      res = p->_object._port->kind & port_string;
      s_retbool(res);
    }

  case OP_SET_INPORT:          /* set-input-port */
    sc->inport = car(sc->args);
    s_return(sc, sc->value);

  case OP_SET_OUTPORT:         /* set-output-port */
    sc->outport = car(sc->args);
    s_return(sc, sc->value);

  case OP_RDSEXPR:
    switch (sc->tok) {
    case TOK_EOF:
      s_return(sc, sc->EOF_OBJ);
    case TOK_VEC:
      s_save(sc, OP_RDVEC, sc->NIL, sc->NIL);
      /* fall through */
    case TOK_LPAREN:
      sc->tok = token(sc);
      if (sc->tok == TOK_RPAREN) {
        s_return(sc, sc->NIL);
      } else if (sc->tok == TOK_DOT) {
        Error_0(sc, "syntax error: illegal dot expression");
      } else {
        sc->nesting_stack[sc->file_i]++;
        s_save(sc, OP_RDLIST, sc->NIL, sc->NIL);
        s_goto(sc, OP_RDSEXPR);
      }
    case TOK_QUOTE:
      s_save(sc, OP_RDQUOTE, sc->NIL, sc->NIL);
      sc->tok = token(sc);
      s_goto(sc, OP_RDSEXPR);
    case TOK_BQUOTE:
      sc->tok = token(sc);
      if (sc->tok == TOK_VEC) {
        s_save(sc, OP_RDQQUOTEVEC, sc->NIL, sc->NIL);
        sc->tok = TOK_LPAREN;
        s_goto(sc, OP_RDSEXPR);
      } else {
        s_save(sc, OP_RDQQUOTE, sc->NIL, sc->NIL);
      }
      s_goto(sc, OP_RDSEXPR);
    case TOK_COMMA:
      s_save(sc, OP_RDUNQUOTE, sc->NIL, sc->NIL);
      sc->tok = token(sc);
      s_goto(sc, OP_RDSEXPR);
    case TOK_ATMARK:
      s_save(sc, OP_RDUQTSP, sc->NIL, sc->NIL);
      sc->tok = token(sc);
      s_goto(sc, OP_RDSEXPR);
    case TOK_ATOM:
      s_return(sc, mk_atom(sc, readstr_upto(sc, DELIMITERS)));
    case TOK_DQUOTE:
      x = readstrexp(sc);
      if (x == sc->F) {
        Error_0(sc, "Error reading string");
      }
      setimmutable(x);
      s_return(sc, x);
    case TOK_SHARP:{
        pointer f = find_slot_in_env(sc, sc->envir, sc->SHARP_HOOK, 1);
        if (f == sc->NIL) {
          Error_0(sc, "undefined sharp expression");
        } else {
          sc->code = cons(sc, slot_value_in_env(f), sc->NIL);
          s_goto(sc, OP_EVAL);
        }
      }
    case TOK_SHARP_CONST:
      if ((x = mk_sharp_const(sc, readstr_upto(sc, DELIMITERS))) == sc->NIL) {
        Error_0(sc, "undefined sharp expression");
      } else {
        s_return(sc, x);
      }
    default:
      Error_0(sc, "syntax error: illegal token");
    }
    break;

  case OP_RDLIST:{
      sc->args = cons(sc, sc->value, sc->args);
      sc->tok = token(sc);
      if (sc->tok == TOK_EOF) {
        s_return(sc, sc->EOF_OBJ);
      } else if (sc->tok == TOK_RPAREN) {
        int c = inchar(sc);
        if (c != '\n')
          backchar(sc, c);
#if SHOW_ERROR_LINE
        else if (sc->load_stack[sc->file_i].kind & port_file)
          sc->load_stack[sc->file_i].rep.stdio.curr_line++;
#endif
        sc->nesting_stack[sc->file_i]--;
        s_return(sc, reverse_in_place(sc, sc->NIL, sc->args));
      } else if (sc->tok == TOK_DOT) {
        s_save(sc, OP_RDDOT, sc->args, sc->NIL);
        sc->tok = token(sc);
        s_goto(sc, OP_RDSEXPR);
      } else {
        s_save(sc, OP_RDLIST, sc->args, sc->NIL);;
        s_goto(sc, OP_RDSEXPR);
      }
    }

  case OP_RDDOT:
    if (token(sc) != TOK_RPAREN) {
      Error_0(sc, "syntax error: illegal dot expression");
    } else {
      sc->nesting_stack[sc->file_i]--;
      s_return(sc, reverse_in_place(sc, sc->value, sc->args));
    }

  case OP_RDQUOTE:
    s_return(sc, cons(sc, sc->QUOTE, cons(sc, sc->value, sc->NIL)));

  case OP_RDQQUOTE:
    s_return(sc, cons(sc, sc->QQUOTE, cons(sc, sc->value, sc->NIL)));

  case OP_RDQQUOTEVEC:
    s_return(sc, cons(sc, mk_symbol(sc, "apply"),
            cons(sc, mk_symbol(sc, "vector"),
                cons(sc, cons(sc, sc->QQUOTE,
                        cons(sc, sc->value, sc->NIL)), sc->NIL))));

  case OP_RDUNQUOTE:
    s_return(sc, cons(sc, sc->UNQUOTE, cons(sc, sc->value, sc->NIL)));

  case OP_RDUQTSP:
    s_return(sc, cons(sc, sc->UNQUOTESP, cons(sc, sc->value, sc->NIL)));

  case OP_RDVEC:
    /*sc->code=cons(sc,mk_proc(sc,OP_VECTOR),sc->value);
       s_goto(sc,OP_EVAL); Cannot be quoted */
    /*x=cons(sc,mk_proc(sc,OP_VECTOR),sc->value);
       s_return(sc,x); Cannot be part of pairs */
    /*sc->code=mk_proc(sc,OP_VECTOR);
       sc->args=sc->value;
       s_goto(sc,OP_APPLY); */
    sc->args = sc->value;
    s_goto(sc, OP_VECTOR);

    /* ========== printing part ========== */
  case OP_P0LIST:
    if (is_vector(sc->args)) {
      putstr(sc, "#(");
      sc->args = cons(sc, sc->args, mk_integer(sc, 0));
      s_goto(sc, OP_PVECFROM);
    } else if (is_environment(sc->args)) {
      putstr(sc, "#<ENVIRONMENT>");
      s_return(sc, sc->T);
    } else if (!is_pair(sc->args)) {
      printatom(sc, sc->args, sc->print_flag);
      s_return(sc, sc->T);
    } else if (car(sc->args) == sc->QUOTE && ok_abbrev(cdr(sc->args))) {
      putstr(sc, "'");
      sc->args = cadr(sc->args);
      s_goto(sc, OP_P0LIST);
    } else if (car(sc->args) == sc->QQUOTE && ok_abbrev(cdr(sc->args))) {
      putstr(sc, "`");
      sc->args = cadr(sc->args);
      s_goto(sc, OP_P0LIST);
    } else if (car(sc->args) == sc->UNQUOTE && ok_abbrev(cdr(sc->args))) {
      putstr(sc, ",");
      sc->args = cadr(sc->args);
      s_goto(sc, OP_P0LIST);
    } else if (car(sc->args) == sc->UNQUOTESP && ok_abbrev(cdr(sc->args))) {
      putstr(sc, ",@");
      sc->args = cadr(sc->args);
      s_goto(sc, OP_P0LIST);
    } else {
      putstr(sc, "(");
      s_save(sc, OP_P1LIST, cdr(sc->args), sc->NIL);
      sc->args = car(sc->args);
      s_goto(sc, OP_P0LIST);
    }

  case OP_P1LIST:
    if (is_pair(sc->args)) {
      s_save(sc, OP_P1LIST, cdr(sc->args), sc->NIL);
      putstr(sc, " ");
      sc->args = car(sc->args);
      s_goto(sc, OP_P0LIST);
    } else if (is_vector(sc->args)) {
      s_save(sc, OP_P1LIST, sc->NIL, sc->NIL);
      putstr(sc, " . ");
      s_goto(sc, OP_P0LIST);
    } else {
      if (sc->args != sc->NIL) {
        putstr(sc, " . ");
        printatom(sc, sc->args, sc->print_flag);
      }
      putstr(sc, ")");
      s_return(sc, sc->T);
    }
  case OP_PVECFROM:{
      int i = ivalue_unchecked(cdr(sc->args));
      pointer vec = car(sc->args);
      int len = ivalue_unchecked(vec);
      if (i == len) {
        putstr(sc, ")");
        s_return(sc, sc->T);
      } else {
        pointer elem = vector_elem(vec, i);
        ivalue_unchecked(cdr(sc->args)) = i + 1;
        s_save(sc, OP_PVECFROM, sc->args, sc->NIL);
        sc->args = elem;
        if (i > 0)
          putstr(sc, " ");
        s_goto(sc, OP_P0LIST);
      }
    }

  default:
    sprintf(sc->strbuff, "%d: illegal operator", sc->op);
    Error_0(sc, sc->strbuff);

  }
  return sc->T;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movq %rdi, %rbx
movslq 0xa94(%rdi), %rax
testq %rax, %rax
je 0x98c1
andl $0x0, 0xa94(%rbx)
orl $-0x1, 0x10(%rbx)
movq %rbx, %rdi
movq %rax, %rsi
callq 0x46a3
leaq 0x38de(%rip), %rsi      # 0xd186
movq %rbx, %rdi
movq %rax, %rdx
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0xa5c7
addl $0xffffff5d, %esi       # imm = 0xFFFFFF5D
cmpl $0x13, %esi
ja 0x9bee
leaq 0x2a21(%rip), %rax      # 0xc2f8
movslq (%rax,%rsi,4), %rcx
addq %rax, %rcx
jmpq *%rcx
movq 0x30(%rbx), %rax
movl (%rax), %ecx
andl $0x1f, %ecx
cmpl $0x5, %ecx
jne 0x9932
movq 0x170(%rbx), %rsi
cmpq %rsi, 0x8(%rax)
je 0x9932
movq 0x90(%rbx), %rdx
movq %rbx, %rdi
xorl %ecx, %ecx
callq 0x45e8
movq 0x90(%rbx), %rcx
movq %rbx, %rdi
movl $0xa9, %esi
movq %rax, %rdx
callq 0xa7e0
movq 0x30(%rbx), %rax
movq 0x8(%rax), %rax
movq %rax, 0x170(%rbx)
movq %rbx, %rdi
callq 0xaa56
cmpl $-0x1, %eax
je 0x9dec
cmpl $0xa5, 0xec8(%rbx)
jne 0x9952
movl %eax, 0x2c(%rbx)
movq %rbx, %rdi
movl %eax, %esi
callq 0x467e
jmp 0x9d21
movq 0x30(%rbx), %rax
movl (%rax), %ecx
andl $0x1f, %ecx
cmpl $0x5, %ecx
jne 0x99b3
movq 0x170(%rbx), %rsi
cmpq %rsi, 0x8(%rax)
je 0x99b3
movq 0x90(%rbx), %rdx
movq %rbx, %rdi
xorl %ecx, %ecx
callq 0x45e8
movq 0x90(%rbx), %rcx
movq %rbx, %rdi
movl $0xa9, %esi
movq %rax, %rdx
callq 0xa7e0
movq 0x30(%rbx), %rax
movq 0x8(%rax), %rax
movq %rax, 0x170(%rbx)
movl 0x2c(%rbx), %eax
testl %eax, %eax
js 0x9db6
orl $-0x1, 0x2c(%rbx)
cmpl $0xa7, 0xec8(%rbx)
jne 0x99d1
movl %eax, 0x2c(%rbx)
movslq %eax, %rsi
movq %rbx, %rdi
callq 0x46a3
jmp 0x9d21
movq 0x90(%rbx), %rdx
movq 0x120(%rbx), %r14
jmp 0x9d00
movl 0xeb8(%rbx), %eax
incl %eax
cmpl $0xd, %eax
ja 0xa34c
leaq 0x293c(%rip), %rcx      # 0xc348
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq %rbx, %rdi
callq 0xb75c
movq %rbx, %rdi
movq %rax, %rsi
callq 0xad50
jmp 0x9d21
movq 0x90(%rbx), %rdx
movq 0x130(%rbx), %r14
jmp 0x9d00
movq %rbx, %rdi
callq 0xa853
cmpl $0x1, %eax
jne 0xa03a
movslq 0xa90(%rbx), %rax
decl 0x990(%rbx,%rax,4)
movq 0xec0(%rbx), %rsi
movq 0x30(%rbx), %rdx
jmp 0xa33f
leaq 0x2baf(%rip), %rsi      # 0xc625
movq %rbx, %rdi
callq 0x484c
movq %rax, %r14
leaq 0x2d00(%rip), %rsi      # 0xc788
movq %rbx, %rdi
callq 0x484c
movq %rax, %r15
movq 0x90(%rbx), %rdx
movq 0x120(%rbx), %r12
movq 0xec0(%rbx), %rsi
movq %rbx, %rdi
xorl %ecx, %ecx
callq 0x45e8
movq %rbx, %rdi
movq %r12, %rsi
movq %rax, %rdx
xorl %ecx, %ecx
callq 0x45e8
movq 0x90(%rbx), %rdx
movq %rbx, %rdi
movq %rax, %rsi
xorl %ecx, %ecx
callq 0x45e8
movq %rbx, %rdi
movq %r15, %rsi
movq %rax, %rdx
jmp 0x9d0a
movq 0x30(%rbx), %rax
movl (%rax), %ecx
andl $0x1f, %ecx
cmpl $0x5, %ecx
jne 0x9b41
movq 0x8(%rax), %r14
movq %r14, %rdi
callq 0x44ed
testl %eax, %eax
je 0x9fe9
movq 0x170(%rbx), %rsi
cmpq %rsi, %r14
je 0x9b41
movq %r14, 0x170(%rbx)
movq 0x90(%rbx), %rdx
movq %rbx, %rdi
xorl %ecx, %ecx
callq 0x45e8
movq 0x90(%rbx), %rcx
movq %rbx, %rdi
movl $0xa9, %esi
movq %rax, %rdx
callq 0xa7e0
movl $0x3, 0xec8(%rbx)
jmp 0xa39a
movq 0x30(%rbx), %rsi
movl (%rsi), %eax
andl $0x1f, %eax
cmpl $0x5, %eax
je 0x9e89
cmpl $0xe, %eax
je 0x9e5d
cmpl $0xb, %eax
jne 0x9f7a
leaq 0x36b7(%rip), %rsi      # 0xd232
movq %rbx, %rdi
callq 0x4a19
movq 0x30(%rbx), %r14
movq %rbx, %rdi
xorl %esi, %esi
callq 0x46a3
movq %rbx, %rdi
movq %r14, %rsi
movq %rax, %rdx
xorl %ecx, %ecx
callq 0x45e8
movq %rax, 0x30(%rbx)
movl $0xb6, 0xec8(%rbx)
jmp 0xa39a
leaq 0x170(%rbx), %rax
movq 0x30(%rbx), %rcx
movl (%rcx), %edx
andl $0x1f, %edx
addq $0x8, %rcx
cmpl $0x5, %edx
cmovneq %rax, %rcx
movq (%rcx), %rax
movq 0x8(%rax), %rax
xorl %ecx, %ecx
testb $0x2, (%rax)
sete %cl
shll $0x5, %ecx
movq 0xb0(%rcx,%rbx), %rsi
jmp 0x9e73
movq 0xea0(%rbx), %rdi
movl 0xec8(%rbx), %edx
leaq 0x307a(%rip), %rsi      # 0xcc7c
xorl %eax, %eax
callq 0x4290
movq 0xea0(%rbx), %rsi
jmp 0xa041
movq 0x30(%rbx), %rax
movl (%rax), %ecx
andl $0x1f, %ecx
cmpl $0xb, %ecx
je 0x9df5
cmpl $0x5, %ecx
jne 0x9e2a
movq 0x10(%rax), %rdx
movq 0x90(%rbx), %rcx
movq %rbx, %rdi
movl $0xb5, %esi
callq 0xa7e0
leaq 0x3595(%rip), %rsi      # 0xd1e4
movq %rbx, %rdi
callq 0x4a19
jmp 0x9f58
movq 0x30(%rbx), %rax
movq 0x8(%rax), %rax
movq %rax, 0x170(%rbx)
jmp 0x9c7c
movq 0x30(%rbx), %rax
movq 0x8(%rax), %rax
movq %rax, 0x178(%rbx)
movq 0xec0(%rbx), %rsi
jmp 0x9e73
movq 0xec0(%rbx), %rsi
movq 0x30(%rbx), %rdx
movq %rbx, %rdi
xorl %ecx, %ecx
callq 0x45e8
movq %rax, 0x30(%rbx)
movq %rbx, %rdi
callq 0xa853
movl %eax, 0xeb8(%rbx)
cmpl $0x2, %eax
je 0x9fd1
cmpl $0x1, %eax
je 0x9f8d
cmpl $-0x1, %eax
je 0x9dec
movq 0x30(%rbx), %rdx
movq 0x90(%rbx), %rcx
movq %rbx, %rdi
movl $0xac, %esi
jmp 0xa38b
movq 0x90(%rbx), %rdx
movq 0x118(%rbx), %r14
jmp 0x9d00
movq 0x90(%rbx), %rdx
movq 0x128(%rbx), %r14
movq 0xec0(%rbx), %rsi
movq %rbx, %rdi
xorl %ecx, %ecx
callq 0x45e8
movq %rbx, %rdi
movq %r14, %rsi
movq %rax, %rdx
xorl %ecx, %ecx
callq 0x45e8
movq %rbx, %rdi
movq %rax, %rsi
jmp 0x9e76
movq 0x30(%rbx), %rax
movq 0x8(%rax), %rsi
movq 0x10(%rax), %rcx
movq 0x10(%rcx), %r14
cmpl 0x10(%rsi), %r14d
je 0x9e54
pushq $0x2
popq %rdi
movl %r14d, %eax
cltd
idivl %edi
cltq
imulq $0x18, %rax, %rax
addq %rax, %rsi
movl %r14d, %eax
andl $0x1, %eax
movq 0x20(%rsi,%rax,8), %r15
movl %r14d, %eax
incl %eax
cltq
movq %rax, 0x10(%rcx)
movq 0x30(%rbx), %rdx
movq 0x90(%rbx), %rcx
movq %rbx, %rdi
movl $0xb6, %esi
callq 0xa7e0
movq %r15, 0x30(%rbx)
testl %r14d, %r14d
jle 0x9e1b
leaq 0x344a(%rip), %rsi      # 0xd1e4
jmp 0x9e13
movq 0xec0(%rbx), %rax
movq %rax, 0x30(%rbx)
movl $0x5b, 0xec8(%rbx)
jmp 0xa39a
movq 0x170(%rbx), %rax
movq 0x8(%rax), %r14
testb $0x40, (%r14)
jne 0x9dec
movq %r14, %rdi
callq 0xab21
cmpl $-0x1, %eax
jne 0x99c2
movq 0x170(%rbx), %rax
cmpq 0x188(%rbx), %rax
jne 0x9dec
orb $0x40, (%r14)
movq 0xf0(%rbx), %rsi
jmp 0x9e73
movq 0x90(%rbx), %rcx
movq %rbx, %rdi
movl $0xb5, %esi
movq %rcx, %rdx
callq 0xa7e0
leaq 0x343a(%rip), %rsi      # 0xd24d
movq %rbx, %rdi
callq 0x4a19
movl $0xb4, 0xec8(%rbx)
jmp 0xa39a
cmpq 0x90(%rbx), %rax
je 0x9e54
leaq 0x3413(%rip), %rsi      # 0xd24d
movq %rbx, %rdi
callq 0x4a19
movq 0x30(%rbx), %rsi
movl 0xebc(%rbx), %edx
movq %rbx, %rdi
callq 0xb811
leaq 0x34ca(%rip), %rsi      # 0xd325
jmp 0x9e64
leaq 0x33d1(%rip), %rsi      # 0xd235
movq %rbx, %rdi
callq 0x4a19
movq 0xb0(%rbx), %rsi
movq %rbx, %rdi
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0xa761
movq 0x8(%rsi), %rax
cmpq 0x118(%rbx), %rax
jne 0x9eb5
movq 0x10(%rsi), %rcx
movl (%rcx), %edx
andl $0x1f, %edx
cmpl $0x5, %edx
jne 0x9eb5
movq 0x10(%rcx), %rcx
cmpq 0x90(%rbx), %rcx
je 0xa3b0
cmpq 0x120(%rbx), %rax
jne 0x9edd
movq 0x10(%rsi), %rcx
movl (%rcx), %edx
andl $0x1f, %edx
cmpl $0x5, %edx
jne 0x9edd
movq 0x10(%rcx), %rcx
cmpq 0x90(%rbx), %rcx
je 0xa3b9
cmpq 0x128(%rbx), %rax
jne 0x9f05
movq 0x10(%rsi), %rcx
movl (%rcx), %edx
andl $0x1f, %edx
cmpl $0x5, %edx
jne 0x9f05
movq 0x10(%rcx), %rcx
cmpq 0x90(%rbx), %rcx
je 0xa3c2
cmpq 0x130(%rbx), %rax
jne 0x9f2d
movq 0x10(%rsi), %rax
movl (%rax), %ecx
andl $0x1f, %ecx
cmpl $0x5, %ecx
jne 0x9f2d
movq 0x10(%rax), %rax
cmpq 0x90(%rbx), %rax
je 0xa3cb
leaq 0x32ff(%rip), %rsi      # 0xd233
movq %rbx, %rdi
callq 0x4a19
movq 0x30(%rbx), %rax
movq 0x90(%rbx), %rcx
movq 0x10(%rax), %rdx
movq %rbx, %rdi
movl $0xb5, %esi
callq 0xa7e0
movq 0x30(%rbx), %rcx
movq 0xb0(%rbx), %rax
movq 0x8(%rcx), %rcx
movq %rcx, 0x30(%rbx)
movl $0xb4, 0xec8(%rbx)
jmp 0xa3a1
movl 0xebc(%rbx), %edx
movq %rbx, %rdi
callq 0xb811
jmp 0x9e6c
movq %rbx, %rdi
callq 0xaa56
cmpl $-0x1, %eax
je 0xa326
cmpl $0xa, %eax
jne 0xa323
movslq 0xa90(%rbx), %rax
shlq $0x5, %rax
testb $0x1, 0x190(%rbx,%rax)
je 0xa326
addq %rbx, %rax
addq $0x190, %rax            # imm = 0x190
incl 0x14(%rax)
jmp 0xa326
movq 0x30(%rbx), %rdx
movq 0x90(%rbx), %rcx
movq %rbx, %rdi
movl $0xad, %esi
jmp 0xa2a9
leaq 0x31ad(%rip), %rsi      # 0xd19d
movq %rbx, %rdi
movq %r14, %rdx
jmp 0x98ae
movq 0x90(%rbx), %rcx
movq %rbx, %rdi
movl $0xb3, %esi
movq %rcx, %rdx
callq 0xa7e0
movq %rbx, %rdi
callq 0xa853
movl %eax, 0xeb8(%rbx)
cmpl $0x2, %eax
je 0xa03a
cmpl $0x1, %eax
jne 0xa364
movq 0x90(%rbx), %rsi
jmp 0x9e73
leaq 0x3175(%rip), %rsi      # 0xd1b6
movq %rbx, %rdi
xorl %edx, %edx
jmp 0x98ae
movq 0xea0(%rbx), %rax
leaq 0x8(%rsp), %r14
movq %rax, (%r14)
xorl %eax, %eax
leaq 0x231d(%rip), %rbp      # 0xc380
xorl %r13d, %r13d
movl %eax, %r15d
movq %rbx, %rdi
callq 0xaa56
cmpl $-0x1, %eax
je 0xa419
movl %eax, %r12d
movq %rbx, %rdi
movq %r14, %rsi
callq 0xb62c
testl %eax, %eax
je 0xa419
movl %r15d, %eax
cmpl $0x5, %r13d
ja 0xa066
movl %r13d, %eax
movslq (%rbp,%rax,4), %rax
addq %rbp, %rax
jmpq *%rax
movl %r12d, %edi
callq 0x4060
leal -0x30(%rax), %ecx
cmpl $0x16, %ecx
ja 0xa419
shll $0x4, %r15d
cmpl $0x3a, %eax
leal -0x30(%rax,%r15), %ecx
leal -0x37(%rax,%r15), %eax
cmovbl %ecx, %eax
cmpl $0x2, %r13d
pushq $0x3
popq %r13
je 0xa066
jmp 0xa18f
leal -0x38(%r12), %eax
cmpl $-0x9, %eax
jbe 0xa1a4
cmpl $0x5, %r13d
jne 0xa0fb
cmpl $0x1f, %r15d
jg 0xa419
leal (%r12,%r15,8), %eax
addl $-0x30, %eax
cmpl $0x4, %r13d
pushq $0x5
popq %r13
je 0xa066
jmp 0xa18f
movl %r15d, %eax
pushq $0x1
popq %r13
cmpl $0x5c, %r12d
jne 0xa1bb
jmp 0xa066
leal -0x30(%r12), %eax
cmpl $0x8, %eax
jae 0xa13b
pushq $0x4
popq %r13
jmp 0xa066
cmpl $0x22, %r12d
je 0xa202
movl $0x0, %eax
pushq $0x2
popq %r13
cmpl $0x58, %r12d
je 0xa066
cmpl $0x6e, %r12d
je 0xa228
cmpl $0x72, %r12d
je 0xa215
cmpl $0x74, %r12d
je 0xa1ef
cmpl $0x78, %r12d
je 0xa066
movq 0x8(%rsp), %rax
leaq 0x1(%rax), %rcx
movq %rcx, 0x8(%rsp)
movb %r12b, (%rax)
jmp 0xa1e7
movq 0x8(%rsp), %rcx
leaq 0x1(%rcx), %rdx
movq %rdx, 0x8(%rsp)
movb %al, (%rcx)
jmp 0xa063
movq 0x8(%rsp), %rax
leaq 0x1(%rax), %rcx
movq %rcx, 0x8(%rsp)
movb %r15b, (%rax)
movl %r12d, 0x2c(%rbx)
jmp 0xa1e7
cmpl $0x22, %r12d
je 0xa3ee
movq 0x8(%rsp), %r13
movl %r12d, %edi
movq %r13, %rsi
leaq 0x14(%rsp), %rdx
callq 0xb5be
movslq 0x14(%rsp), %rax
addq %r13, %rax
movq %rax, 0x8(%rsp)
movl %r15d, %eax
jmp 0xa063
movq 0x8(%rsp), %rax
leaq 0x1(%rax), %rcx
movq %rcx, 0x8(%rsp)
movb $0x9, (%rax)
jmp 0xa1e7
movq 0x8(%rsp), %rax
leaq 0x1(%rax), %rcx
movq %rcx, 0x8(%rsp)
movb $0x22, (%rax)
jmp 0xa1e7
movq 0x8(%rsp), %rax
leaq 0x1(%rax), %rcx
movq %rcx, 0x8(%rsp)
movb $0xd, (%rax)
jmp 0xa1e7
movq 0x8(%rsp), %rax
leaq 0x1(%rax), %rcx
movq %rcx, 0x8(%rsp)
movb $0xa, (%rax)
jmp 0xa1e7
movq %rbx, %rdi
callq 0xa853
movl %eax, 0xeb8(%rbx)
movq 0x90(%rbx), %rcx
movq %rbx, %rdi
cmpl $0xc, %eax
jne 0xa383
movl $0xb0, %esi
movq %rcx, %rdx
callq 0xa7e0
andl $0x0, 0xeb8(%rbx)
jmp 0xa390
movq 0x90(%rbx), %rcx
movq %rbx, %rdi
movl $0xae, %esi
jmp 0xa2a6
movq 0x90(%rbx), %rcx
movq %rbx, %rdi
movl $0xb1, %esi
jmp 0xa2a6
movq 0x90(%rbx), %rcx
movq %rbx, %rdi
movl $0xb2, %esi
movq %rcx, %rdx
callq 0xa7e0
movq %rbx, %rdi
callq 0xa853
movl %eax, 0xeb8(%rbx)
jmp 0xa390
movq %rbx, %rdi
callq 0xb75c
movq %rbx, %rdi
movq %rax, %rsi
callq 0xabd4
cmpq 0x90(%rbx), %rax
jne 0x9d21
jmp 0xa358
movq 0x38(%rbx), %rsi
movq 0x150(%rbx), %rdx
pushq $0x1
popq %rcx
movq %rbx, %rdi
callq 0x5be4
movq 0x90(%rbx), %rdx
cmpq %rdx, %rax
je 0xa358
movq 0x10(%rax), %rsi
movq %rbx, %rdi
xorl %ecx, %ecx
callq 0x45e8
movq %rax, 0x40(%rbx)
movl $0x6, 0xec8(%rbx)
jmp 0xa39a
movl %eax, 0x2c(%rbx)
movslq 0xa90(%rbx), %rax
decl 0x990(%rbx,%rax,4)
movq 0x30(%rbx), %rdx
movq 0x90(%rbx), %rsi
movq %rbx, %rdi
callq 0x60f7
jmp 0x9d21
leaq 0x2ec3(%rip), %rsi      # 0xd216
jmp 0xa041
leaq 0x2e9c(%rip), %rsi      # 0xd1fb
jmp 0xa041
movslq 0xa90(%rbx), %rax
incl 0x990(%rbx,%rax,4)
movq 0x90(%rbx), %rcx
movq %rbx, %rdi
movl $0xac, %esi
jmp 0xa388
movl $0xaf, %esi
movq %rcx, %rdx
callq 0xa7e0
movl $0xab, 0xec8(%rbx)
movq 0xb0(%rbx), %rax
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x2e8d(%rip), %rsi      # 0xd244
jmp 0xa3d2
leaq 0x2e86(%rip), %rsi      # 0xd246
jmp 0xa3d2
leaq 0x2e7f(%rip), %rsi      # 0xd248
jmp 0xa3d2
leaq 0x2e78(%rip), %rsi      # 0xd24a
movq %rbx, %rdi
callq 0x4a19
movq 0x30(%rbx), %rcx
movq 0xb0(%rbx), %rax
movq 0x10(%rcx), %rcx
jmp 0x9f63
movq 0x8(%rsp), %rdx
movb $0x0, (%rdx)
movq 0xea0(%rbx), %rsi
subl %esi, %edx
movq %rbx, %rdi
callq 0x4717
cmpq 0xd0(%rbx), %rax
je 0xa419
orb $0x20, 0x1(%rax)
jmp 0x9d21
leaq 0x2dc6(%rip), %rsi      # 0xd1e6
jmp 0xa041