// File: /workspace/github_c_makefile_star2_O1/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), %r14
testq %r14, %r14
je 0xa1f5
movl $0x0, 0xa94(%rbx)
movl $0xffffffff, 0x10(%rbx) # imm = 0xFFFFFFFF
movq 0x90(%rbx), %rdx
movq %rbx, %rdi
movq %rdx, %rsi
callq 0x4689
movl $0x4002, (%rax)         # imm = 0x4002
movq %r14, 0x10(%rax)
movb $0x1, 0x8(%rax)
leaq 0x3fe1(%rip), %rsi      # 0xe1bd
movq %rbx, %rdi
movq %rax, %rdx
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0xaec1
addl $0xffffff5d, %esi       # imm = 0xFFFFFF5D
cmpl $0x13, %esi
ja 0xa5d0
leaq 0x30d9(%rip), %rax      # 0xd2e4
movslq (%rax,%rsi,4), %rcx
addq %rax, %rcx
jmpq *%rcx
movq 0x30(%rbx), %rax
movl (%rax), %ecx
andl $0x1f, %ecx
cmpl $0x5, %ecx
jne 0xa278
movq 0x170(%rbx), %r14
cmpq %r14, 0x8(%rax)
je 0xa278
movq 0x90(%rbx), %r15
movq %rbx, %rdi
movq %r14, %rsi
movq %r15, %rdx
callq 0x4689
movl $0x5, (%rax)
movq %r14, 0x8(%rax)
movq %r15, 0x10(%rax)
movq 0x90(%rbx), %rcx
movq %rbx, %rdi
movl $0xa9, %esi
movq %rax, %rdx
callq 0xb1d1
movq 0x30(%rbx), %rax
movq 0x8(%rax), %rax
movq %rax, 0x170(%rbx)
movq %rbx, %rdi
callq 0xb5ae
cmpl $-0x1, %eax
je 0xa848
movl %eax, %ebp
cmpl $0xa5, 0xec8(%rbx)
jne 0xa29a
movl %ebp, 0x2c(%rbx)
movq 0x90(%rbx), %rdx
movq %rbx, %rdi
movq %rdx, %rsi
callq 0x4689
movl $0x4009, (%rax)         # imm = 0x4009
movslq %ebp, %rcx
movq %rcx, 0x10(%rax)
jmp 0xa839
movq 0x30(%rbx), %rax
movl (%rax), %ecx
andl $0x1f, %ecx
cmpl $0x5, %ecx
jne 0xa322
movq 0x170(%rbx), %r14
cmpq %r14, 0x8(%rax)
je 0xa322
movq 0x90(%rbx), %r15
movq %rbx, %rdi
movq %r14, %rsi
movq %r15, %rdx
callq 0x4689
movl $0x5, (%rax)
movq %r14, 0x8(%rax)
movq %r15, 0x10(%rax)
movq 0x90(%rbx), %rcx
movq %rbx, %rdi
movl $0xa9, %esi
movq %rax, %rdx
callq 0xb1d1
movq 0x30(%rbx), %rax
movq 0x8(%rax), %rax
movq %rax, 0x170(%rbx)
movl 0x2c(%rbx), %eax
testl %eax, %eax
js 0xa7ca
movl $0xffffffff, 0x2c(%rbx) # imm = 0xFFFFFFFF
jmp 0xa806
movq 0x90(%rbx), %r14
movq 0x120(%rbx), %r15
jmp 0xa6f4
movl 0xeb8(%rbx), %eax
incl %eax
cmpl $0xd, %eax
ja 0xac65
leaq 0x2fd0(%rip), %rcx      # 0xd334
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq %rbx, %rdi
callq 0xc71c
movq %rbx, %rdi
movq %rax, %rsi
callq 0xba9f
jmp 0xa83d
movq 0x90(%rbx), %r14
movq 0x130(%rbx), %r15
jmp 0xa6f4
movq %rbx, %rdi
callq 0xb2ae
cmpl $0x1, %eax
jne 0xaae8
movslq 0xa90(%rbx), %rax
decl 0x990(%rbx,%rax,4)
movq 0xec0(%rbx), %rax
movq 0x30(%rbx), %rcx
cmpq %rcx, 0x90(%rbx)
je 0xaa45
movq %rcx, %rsi
movq 0x10(%rcx), %rcx
movq %rax, 0x10(%rsi)
movq %rsi, %rax
cmpq 0x90(%rbx), %rcx
jne 0xa3cf
jmp 0xa8cf
leaq 0x326a(%rip), %rsi      # 0xd65c
movq %rbx, %rdi
callq 0x4908
movq %rax, 0x10(%rsp)
leaq 0x33b9(%rip), %rsi      # 0xd7bf
movq %rbx, %rdi
callq 0x4908
movq %rax, 0x8(%rsp)
movq 0x90(%rbx), %r12
movq 0x120(%rbx), %r13
movq 0xec0(%rbx), %rbp
movq %rbx, %rdi
movq %rbp, %rsi
movq %r12, %rdx
callq 0x4689
movq %rax, %r14
movl $0x5, %r15d
movl %r15d, (%rax)
movq %rbp, 0x8(%rax)
movq %r12, 0x10(%rax)
movq %rbx, %rdi
movq %r13, %rsi
movq %rax, %rdx
callq 0x4689
movq %rax, %r12
movl %r15d, (%rax)
movq %r13, 0x8(%rax)
movq %r14, 0x10(%rax)
movq 0x90(%rbx), %r14
movq %rbx, %rdi
movq %rax, %rsi
movq %r14, %rdx
callq 0x4689
movq %rax, %r13
movl %r15d, (%rax)
movq %r12, 0x8(%rax)
movq %r14, 0x10(%rax)
movq %rbx, %rdi
movq 0x8(%rsp), %r12
movq %r12, %rsi
movq %rax, %rdx
callq 0x4689
movq %rax, %r14
movl %r15d, (%rax)
movq %r12, 0x8(%rax)
movq %r13, 0x10(%rax)
movq %rbx, %rdi
movq 0x10(%rsp), %r12
movq %r12, %rsi
movq %rax, %rdx
callq 0x4689
movl %r15d, (%rax)
movq %r12, 0x8(%rax)
movq %r14, 0x10(%rax)
jmp 0xa83d
movq 0x30(%rbx), %rax
movl (%rax), %ecx
andl $0x1f, %ecx
cmpl $0x5, %ecx
jne 0xaa9a
movq 0x8(%rax), %rdx
movl (%rdx), %eax
andl $0x1f, %eax
cmpl $0xa, %eax
jne 0xa4fa
movq 0x8(%rdx), %rax
testb $0x10, (%rax)
jne 0xaa4d
leaq 0x3cd3(%rip), %rsi      # 0xe1d4
movq %rbx, %rdi
jmp 0xa1e2
movq 0x30(%rbx), %rsi
movl (%rsi), %eax
andl $0x1f, %eax
cmpl $0x5, %eax
je 0xa8e5
cmpl $0xe, %eax
je 0xa8b9
cmpl $0xb, %eax
jne 0xa9d6
leaq 0x3d35(%rip), %rsi      # 0xe269
movq %rbx, %rdi
callq 0x4b29
movq 0x30(%rbx), %r14
movq 0x90(%rbx), %rdx
movq %rbx, %rdi
movq %rdx, %rsi
callq 0x4689
movq %rax, %r15
movl $0x4002, (%rax)         # imm = 0x4002
movq $0x0, 0x10(%rax)
movb $0x1, 0x8(%rax)
movq %rbx, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x4689
movl $0x5, (%rax)
movq %r14, 0x8(%rax)
movq %r15, 0x10(%rax)
movq %rax, 0x30(%rbx)
movl $0xb6, 0xec8(%rbx)
jmp 0xacb3
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 0xa8cf
movq 0xea0(%rbx), %rdi
movl 0xec8(%rbx), %edx
leaq 0x36cf(%rip), %rsi      # 0xdcb3
xorl %eax, %eax
callq 0x4290
movq 0xea0(%rbx), %rsi
jmp 0xaaef
movq 0x30(%rbx), %rax
movl (%rax), %ecx
andl $0x1f, %ecx
cmpl $0xb, %ecx
je 0xa851
cmpl $0x5, %ecx
jne 0xa886
movq 0x10(%rax), %rdx
movq 0x90(%rbx), %rcx
movq %rbx, %rdi
movl $0xb5, %esi
callq 0xb1d1
leaq 0x3bea(%rip), %rsi      # 0xe21b
movq %rbx, %rdi
callq 0x4b29
jmp 0xa9b4
movq 0x30(%rbx), %rax
movq 0x8(%rax), %rax
movq %rax, 0x170(%rbx)
jmp 0xa65e
movq 0x30(%rbx), %rax
movq 0x8(%rax), %rax
movq %rax, 0x178(%rbx)
movq 0xec0(%rbx), %rsi
jmp 0xa8cf
movq 0xec0(%rbx), %r14
movq 0x30(%rbx), %r15
movq %rbx, %rdi
movq %r14, %rsi
movq %r15, %rdx
callq 0x4689
movl $0x5, (%rax)
movq %r14, 0x8(%rax)
movq %r15, 0x10(%rax)
movq %rax, 0x30(%rbx)
movq %rbx, %rdi
callq 0xb2ae
movl %eax, 0xeb8(%rbx)
cmpl $0x2, %eax
je 0xaa2d
cmpl $0x1, %eax
je 0xa9e9
cmpl $-0x1, %eax
je 0xa848
movq 0x30(%rbx), %rdx
movq 0x90(%rbx), %rcx
movq %rbx, %rdi
movl $0xac, %esi
jmp 0xaca4
movq 0x90(%rbx), %r14
movq 0x118(%rbx), %r15
jmp 0xa6f4
movq 0x90(%rbx), %r14
movq 0x128(%rbx), %r15
movq 0xec0(%rbx), %r12
movq %rbx, %rdi
movq %r12, %rsi
movq %r14, %rdx
callq 0x4689
movq %rax, %r13
movl $0x5, %ebp
movl %ebp, (%rax)
movq %r12, 0x8(%rax)
movq %r14, 0x10(%rax)
movq %rbx, %rdi
movq %r15, %rsi
movq %rax, %rdx
callq 0x4689
movl %ebp, (%rax)
movq %r15, 0x8(%rax)
movq %r13, 0x10(%rax)
jmp 0xa83d
movq 0x30(%rbx), %rax
movq 0x8(%rax), %rcx
movq 0x10(%rax), %rax
movq 0x10(%rax), %r14
cmpl 0x10(%rcx), %r14d
je 0xa8b0
movl %r14d, %edx
shrl $0x1f, %edx
addl %r14d, %edx
sarl %edx
movslq %edx, %rdx
leaq (%rdx,%rdx,2), %rdx
leaq (%rcx,%rdx,8), %rcx
movl %r14d, %edx
andl $0x1, %edx
movq 0x20(%rcx,%rdx,8), %r15
movl %r14d, %ecx
incl %ecx
movslq %ecx, %rcx
movq %rcx, 0x10(%rax)
movq 0x30(%rbx), %rdx
movq 0x90(%rbx), %rcx
movq %rbx, %rdi
movl $0xb6, %esi
callq 0xb1d1
movq %r15, 0x30(%rbx)
testl %r14d, %r14d
jle 0xa877
leaq 0x3a70(%rip), %rsi      # 0xe21b
jmp 0xa86f
movq 0xec0(%rbx), %rax
movq %rax, 0x30(%rbx)
movl $0x5b, 0xec8(%rbx)
jmp 0xacb3
movq 0x170(%rbx), %rax
movq 0x8(%rax), %r14
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
testb $0x40, (%r14)
jne 0xa806
movq %r14, %rdi
callq 0xb66d
cmpl $-0x1, %eax
jne 0xa806
movq 0x170(%rbx), %rcx
cmpq 0x188(%rbx), %rcx
jne 0xa806
orb $0x40, (%r14)
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
cmpl $-0x1, %eax
je 0xa848
cmpl $0xa7, 0xec8(%rbx)
jne 0xa81a
movl %eax, 0x2c(%rbx)
movslq %eax, %r14
movq 0x90(%rbx), %rdx
movq %rbx, %rdi
movq %rdx, %rsi
callq 0x4689
movl $0x4002, (%rax)         # imm = 0x4002
movq %r14, 0x10(%rax)
movb $0x1, 0x8(%rax)
movq %rbx, %rdi
movq %rax, %rsi
jmp 0xa8d2
movq 0xf0(%rbx), %rsi
jmp 0xa8cf
movq 0x90(%rbx), %rcx
movq %rbx, %rdi
movl $0xb5, %esi
movq %rcx, %rdx
callq 0xb1d1
leaq 0x3a15(%rip), %rsi      # 0xe284
movq %rbx, %rdi
callq 0x4b29
movl $0xb4, 0xec8(%rbx)
jmp 0xacb3
cmpq 0x90(%rbx), %rax
je 0xa8b0
leaq 0x39ee(%rip), %rsi      # 0xe284
movq %rbx, %rdi
callq 0x4b29
movq 0x30(%rbx), %rsi
movl 0xebc(%rbx), %edx
movq %rbx, %rdi
callq 0xca33
leaq 0x3aa5(%rip), %rsi      # 0xe35c
jmp 0xa8c0
leaq 0x39ac(%rip), %rsi      # 0xe26c
movq %rbx, %rdi
callq 0x4b29
movq 0xb0(%rbx), %rsi
movq %rbx, %rdi
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0xb152
movq 0x8(%rsi), %rax
cmpq 0x118(%rbx), %rax
jne 0xa911
movq 0x10(%rsi), %rcx
movl (%rcx), %edx
andl $0x1f, %edx
cmpl $0x5, %edx
jne 0xa911
movq 0x10(%rcx), %rcx
cmpq 0x90(%rbx), %rcx
je 0xacd5
cmpq 0x120(%rbx), %rax
jne 0xa939
movq 0x10(%rsi), %rcx
movl (%rcx), %edx
andl $0x1f, %edx
cmpl $0x5, %edx
jne 0xa939
movq 0x10(%rcx), %rcx
cmpq 0x90(%rbx), %rcx
je 0xacde
cmpq 0x128(%rbx), %rax
jne 0xa961
movq 0x10(%rsi), %rcx
movl (%rcx), %edx
andl $0x1f, %edx
cmpl $0x5, %edx
jne 0xa961
movq 0x10(%rcx), %rcx
cmpq 0x90(%rbx), %rcx
je 0xace7
cmpq 0x130(%rbx), %rax
jne 0xa989
movq 0x10(%rsi), %rax
movl (%rax), %ecx
andl $0x1f, %ecx
cmpl $0x5, %ecx
jne 0xa989
movq 0x10(%rax), %rax
cmpq 0x90(%rbx), %rax
je 0xacf0
leaq 0x38da(%rip), %rsi      # 0xe26a
movq %rbx, %rdi
callq 0x4b29
movq 0x30(%rbx), %rax
movq 0x90(%rbx), %rcx
movq 0x10(%rax), %rdx
movq %rbx, %rdi
movl $0xb5, %esi
callq 0xb1d1
movq 0x30(%rbx), %rcx
movq 0xb0(%rbx), %rax
movq 0x8(%rcx), %rcx
movq %rcx, 0x30(%rbx)
movl $0xb4, 0xec8(%rbx)
jmp 0xacba
movl 0xebc(%rbx), %edx
movq %rbx, %rdi
callq 0xca33
jmp 0xa8c8
movq %rbx, %rdi
callq 0xb5ae
cmpl $-0x1, %eax
je 0xac23
cmpl $0xa, %eax
jne 0xac20
movslq 0xa90(%rbx), %rax
shlq $0x5, %rax
testb $0x1, 0x190(%rbx,%rax)
je 0xac23
addq %rbx, %rax
addq $0x190, %rax            # imm = 0x190
incl 0x14(%rax)
jmp 0xac23
movq 0x30(%rbx), %rdx
movq 0x90(%rbx), %rcx
movq %rbx, %rdi
movl $0xad, %esi
jmp 0xab88
movq %rax, %rsi
jmp 0xa8cf
movq 0x170(%rbx), %r14
cmpq %r14, %rdx
je 0xaa9a
movq %rdx, 0x170(%rbx)
movq 0x90(%rbx), %r15
movq %rbx, %rdi
movq %r14, %rsi
movq %r15, %rdx
callq 0x4689
movl $0x5, (%rax)
movq %r14, 0x8(%rax)
movq %r15, 0x10(%rax)
movq 0x90(%rbx), %rcx
movq %rbx, %rdi
movl $0xa9, %esi
movq %rax, %rdx
callq 0xb1d1
movl $0x3, 0xec8(%rbx)
jmp 0xacb3
movq 0x90(%rbx), %rcx
movq %rbx, %rdi
movl $0xb3, %esi
movq %rcx, %rdx
callq 0xb1d1
movq %rbx, %rdi
callq 0xb2ae
movl %eax, 0xeb8(%rbx)
cmpl $0x2, %eax
je 0xaae8
cmpl $0x1, %eax
jne 0xac7d
movq 0x90(%rbx), %rsi
jmp 0xa8cf
leaq 0x36fe(%rip), %rsi      # 0xe1ed
movq %rbx, %rdi
xorl %edx, %edx
jmp 0xa1e2
movq %rbx, %rdi
callq 0xc7e1
cmpq 0xd0(%rbx), %rax
je 0xacc9
orb $0x20, 0x1(%rax)
jmp 0xa83d
movq %rbx, %rdi
callq 0xb2ae
movl %eax, 0xeb8(%rbx)
movq 0x90(%rbx), %rcx
movq %rbx, %rdi
cmpl $0xc, %eax
jne 0xac9c
movl $0xb0, %esi
movq %rcx, %rdx
callq 0xb1d1
movl $0x0, 0xeb8(%rbx)
jmp 0xaca9
movq 0x90(%rbx), %rcx
movq %rbx, %rdi
movl $0xae, %esi
jmp 0xab85
movq 0x90(%rbx), %rcx
movq %rbx, %rdi
movl $0xb1, %esi
jmp 0xab85
movq 0x90(%rbx), %rcx
movq %rbx, %rdi
movl $0xb2, %esi
movq %rcx, %rdx
callq 0xb1d1
movq %rbx, %rdi
callq 0xb2ae
movl %eax, 0xeb8(%rbx)
jmp 0xaca9
movq %rbx, %rdi
callq 0xc71c
movq %rbx, %rdi
movq %rax, %rsi
callq 0xb8d1
cmpq 0x90(%rbx), %rax
jne 0xa83d
jmp 0xac71
movq 0x38(%rbx), %rsi
movq 0x150(%rbx), %rdx
movq %rbx, %rdi
movl $0x1, %ecx
callq 0x5e5e
movq 0x90(%rbx), %r14
cmpq %r14, %rax
je 0xac71
movq 0x10(%rax), %r15
movq %rbx, %rdi
movq %r15, %rsi
movq %r14, %rdx
callq 0x4689
movl $0x5, (%rax)
movq %r15, 0x8(%rax)
movq %r14, 0x10(%rax)
movq %rax, 0x40(%rbx)
movl $0x6, 0xec8(%rbx)
jmp 0xacb3
movl %eax, 0x2c(%rbx)
movslq 0xa90(%rbx), %rax
decl 0x990(%rbx,%rax,4)
movq 0x30(%rbx), %rax
movq 0x90(%rbx), %rcx
cmpq %rax, %rcx
je 0xac5d
movq %rax, %rsi
movq 0x10(%rax), %rax
movq %rcx, 0x10(%rsi)
movq %rsi, %rcx
cmpq 0x90(%rbx), %rax
jne 0xac41
jmp 0xa8cf
movq %rcx, %rsi
jmp 0xa8cf
leaq 0x35e1(%rip), %rsi      # 0xe24d
jmp 0xaaef
leaq 0x35ba(%rip), %rsi      # 0xe232
jmp 0xaaef
movslq 0xa90(%rbx), %rax
incl 0x990(%rbx,%rax,4)
movq 0x90(%rbx), %rcx
movq %rbx, %rdi
movl $0xac, %esi
jmp 0xaca1
movl $0xaf, %esi
movq %rcx, %rdx
callq 0xb1d1
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 0x354d(%rip), %rsi      # 0xe21d
jmp 0xaaef
leaq 0x359f(%rip), %rsi      # 0xe27b
jmp 0xacf7
leaq 0x3598(%rip), %rsi      # 0xe27d
jmp 0xacf7
leaq 0x3591(%rip), %rsi      # 0xe27f
jmp 0xacf7
leaq 0x358a(%rip), %rsi      # 0xe281
movq %rbx, %rdi
callq 0x4b29
movq 0x30(%rbx), %rcx
movq 0xb0(%rbx), %rax
movq 0x10(%rcx), %rcx
jmp 0xa9bf