// File: /workspace/github_c_makefile_star2_O0/sisshiki1969[P]monocc/src/tokenize.c
// Function: read_token
Token *read_token(TokContext *ctx) {
  char *p = ctx->p;
  FileInfo *fi = ctx->file_info;
  Token *cur = ctx->cur;
  skip_whitespace(&p);
  if (strncmp(p, "//", 2) == 0) {
    p += 2;
    char *next = strchr(p, '\n');
    p = next + 1;
  } else if (strncmp(p, "/*", 2) == 0) {
    p += 2;
    char *next = strstr(p, "*/");
    if (!next) {
      error_at_char(fi, p - 2, "Comment unclosed at end of file.");
    }
    p = next + 2;
  } else if (strncmp(p, "__LINE__", 8) == 0) {
    cur = new_token(TK_MACRO, cur, p, 8);
    p += 8;
  } else if (isdigit(*p)) {
    bool signed_int = true;
    bool long_int = false;
    long num = *p - '0';
    int len = 1;
    while (isdigit(p[len])) {
      num *= 10;
      num += p[len] - '0';
      len++;
    }
    if (p[len] == 'u' || p[len] == 'U') {
      signed_int = false;
      len++;
    }
    if (p[len] == 'l' || p[len] == 'L') {
      len++;
      long_int = true;
      if (p[len] == 'l' || p[len] == 'L') len++;
    }
    cur = new_token(TK_NUM, cur, p, len);
    p += len;
    if (signed_int) {
      if (long_int) {
        cur->num_ty = new_type_long();
      } else {
        cur->num_ty = new_type_int();
      }
    } else {
      if (long_int) {
        cur->num_ty = new_type_ulong();
      } else {
        cur->num_ty = new_type_uint();
      }
    }
    cur->num_val = num;
  } else if (isalpha(*p) || *p == '_') {
    int len = 1;
    while (is_ident_char(p[len])) len++;

    if (is_reserved(p, len, "return")) {
      cur = new_token(TK_RETURN, cur, p, len);
    } else if (is_reserved(p, len, "if")) {
      cur = new_token(TK_IF, cur, p, len);
    } else if (is_reserved(p, len, "else")) {
      cur = new_token(TK_ELSE, cur, p, len);
    } else if (is_reserved(p, len, "while")) {
      cur = new_token(TK_WHILE, cur, p, len);
    } else if (is_reserved(p, len, "for")) {
      cur = new_token(TK_FOR, cur, p, len);
    } else if (is_reserved(p, len, "switch")) {
      cur = new_token(TK_SWITCH, cur, p, len);
    } else if (is_reserved(p, len, "case")) {
      cur = new_token(TK_CASE, cur, p, len);
    } else if (is_reserved(p, len, "default")) {
      cur = new_token(TK_DEFAULT, cur, p, len);
    } else if (is_reserved(p, len, "break")) {
      cur = new_token(TK_BREAK, cur, p, len);
    } else if (is_reserved(p, len, "continue")) {
      cur = new_token(TK_CONTINUE, cur, p, len);
    } else if (is_reserved(p, len, "int")) {
      cur = new_token(TK_INT, cur, p, len);
    } else if (is_reserved(p, len, "char")) {
      cur = new_token(TK_CHAR, cur, p, len);
    } else if (is_reserved(p, len, "bool")) {
      cur = new_token(TK_BOOL, cur, p, len);
    } else if (is_reserved(p, len, "void")) {
      cur = new_token(TK_VOID, cur, p, len);
    } else if (is_reserved(p, len, "short")) {
      cur = new_token(TK_SHORT, cur, p, len);
    } else if (is_reserved(p, len, "long")) {
      cur = new_token(TK_LONG, cur, p, len);
    } else if (is_reserved(p, len, "signed")) {
      cur = new_token(TK_SIGNED, cur, p, len);
    } else if (is_reserved(p, len, "unsigned")) {
      cur = new_token(TK_UNSIGNED, cur, p, len);
    } else if (is_reserved(p, len, "sizeof")) {
      cur = new_token(TK_SIZEOF, cur, p, len);
    } else if (is_reserved(p, len, "struct")) {
      cur = new_token(TK_STRUCT, cur, p, len);
    } else if (is_reserved(p, len, "enum")) {
      cur = new_token(TK_ENUM, cur, p, len);
    } else if (is_reserved(p, len, "union")) {
      cur = new_token(TK_UNION, cur, p, len);
    } else if (is_reserved(p, len, "typedef")) {
      cur = new_token(TK_TYPEDEF, cur, p, len);
    } else if (is_reserved(p, len, "extern")) {
      cur = new_token(TK_EXTERN, cur, p, len);
    } else {
      cur = new_token(TK_IDENT, cur, p, len);
    }
    p += len;
  } else if (*p == '+') {
    if (*(p + 1) == '=') {
      cur = new_token(TK_ASSIGN_ADD, cur, p, 2);
      p += 2;
    } else if (*(p + 1) == '+') {
      cur = new_token(TK_INC, cur, p, 2);
      p += 2;
    } else
      cur = new_token(TK_ADD, cur, p++, 1);
  } else if (*p == '-') {
    if (*(p + 1) == '=') {
      cur = new_token(TK_ASSIGN_SUB, cur, p, 2);
      p += 2;
    } else if (*(p + 1) == '-') {
      cur = new_token(TK_DEC, cur, p, 2);
      p += 2;
    } else if (*(p + 1) == '>') {
      cur = new_token(TK_ARROW, cur, p, 2);
      p += 2;
    } else
      cur = new_token(TK_SUB, cur, p++, 1);
  } else if (*p == '*') {
    if (*(p + 1) == '=') {
      cur = new_token(TK_ASSIGN_MUL, cur, p, 2);
      p += 2;
    } else
      cur = new_token(TK_MUL, cur, p++, 1);
  } else if (*p == '/') {
    if (*(p + 1) == '=') {
      cur = new_token(TK_ASSIGN_DIV, cur, p, 2);
      p += 2;
    } else
      cur = new_token(TK_DIV, cur, p++, 1);
  } else if (*p == ',') {
    cur = new_token(TK_COMMA, cur, p++, 1);
  } else if (*p == '~') {
    cur = new_token(TK_TILDA, cur, p++, 1);
  } else if (*p == '=') {
    p++;
    if (*p == '=') {
      cur = new_token(TK_EQ, cur, p - 1, 2);
      p++;
    } else {
      cur = new_token(TK_ASSIGN, cur, p - 1, 1);
    }
  } else if (*p == '>') {
    p++;
    if (*p == '=') {
      cur = new_token(TK_GE, cur, p - 1, 2);
      p++;
    } else if (*p == '>') {
      cur = new_token(TK_SHR, cur, p - 1, 2);
      p++;
    } else {
      cur = new_token(TK_GT, cur, p - 1, 1);
    }
  } else if (*p == '<') {
    p++;
    if (*p == '=') {
      cur = new_token(TK_LE, cur, p - 1, 2);
      p++;
    } else if (*p == '<') {
      cur = new_token(TK_SHL, cur, p - 1, 2);
      p++;
    } else {
      cur = new_token(TK_LT, cur, p - 1, 1);
    }
  } else if (*p == '!') {
    p++;
    if (*p == '=') {
      cur = new_token(TK_NEQ, cur, p - 1, 2);
      p++;
    } else {
      cur = new_token(TK_NOT, cur, p - 1, 1);
    }
  } else if (*p == ';') {
    cur = new_token(TK_SEMI, cur, p++, 1);
  } else if (*p == ':') {
    cur = new_token(TK_COLON, cur, p++, 1);
  } else if (*p == '(') {
    cur = new_token(TK_OP_PAREN, cur, p++, 1);
  } else if (*p == ')') {
    cur = new_token(TK_CL_PAREN, cur, p++, 1);
  } else if (*p == '{') {
    cur = new_token(TK_OP_BRACE, cur, p++, 1);
  } else if (*p == '}') {
    cur = new_token(TK_CL_BRACE, cur, p++, 1);
  } else if (*p == '[') {
    cur = new_token(TK_OP_BRACKET, cur, p++, 1);
  } else if (*p == ']') {
    cur = new_token(TK_CL_BRACKET, cur, p++, 1);
  } else if (*p == '^') {
    cur = new_token(TK_XOR, cur, p++, 1);
  } else if (*p == '&') {
    if (*(p + 1) == '&') {
      cur = new_token(TK_LAND, cur, p, 2);
      p += 2;
    } else
      cur = new_token(TK_AND, cur, p++, 1);
  } else if (*p == '|') {
    if (*(p + 1) == '|') {
      cur = new_token(TK_LOR, cur, p, 2);
      p += 2;
    } else
      cur = new_token(TK_OR, cur, p++, 1);
  } else if (*p == '.') {
    if (*(p + 1) == '.' && *(p + 2) == '.') {
      cur = new_token(TK_ELLIPSIS, cur, p, 3);
      p += 3;
    } else
      cur = new_token(TK_DOT, cur, p++, 1);
  } else if (*p == '"') {
    p++;
    char *src = p;
    while (*src && *src != '"') {
      if (*src != '\\') {
        src++;
      } else {
        src++;
        switch (*src) {
          case '0':
          case 'a':
          case 'b':
          case 'f':
          case 'n':
          case 'r':
          case 't':
          case '\\':
          case '\'':
          case '\"':
            src++;
            break;
          default:
            error_at_char(fi, src - 1, "Unsupported escape sequence.");
        }
      }
    }
    if (!*src) error_at_char(fi, src - 1, "Missing closing quote.");
    cur = new_token(TK_STR, cur, p, (int)(src - p));
    p = src + 1;
  } else if (*p == '\'') {
    char *org_p = p;
    p++;
    char ch;
    if (*p != '\\') {
      ch = *p;
    } else {
      p++;
      switch (*p) {
        case '0':
          ch = '\0';
          break;
        case 'a':
          ch = '\a';
          break;
        case 'b':
          ch = '\b';
          break;
        case 'f':
          ch = '\f';
          break;
        case 'n':
          ch = '\n';
          break;
        case 'r':
          ch = '\r';
          break;
        case 't':
          ch = '\t';
          break;
        case '\\':
          ch = '\\';
          break;
        case '\'':
          ch = '\'';
          break;
        case '\"':
          ch = '\"';
          break;
        default:
          error_at_token(token, "Unsupported escape sequence.");
      }
    }

    p++;
    if (*p++ != '\'')
      error_at_char(fi, p - 1, "Unexpected token. Expected \"'\".");
    cur = new_token(TK_NUM, cur, org_p, p - org_p);
    cur->num_ty = new_type_char();
    cur->num_val = ch;
  }

  if (ctx->p == p) error_at_char(fi, p, "Illegal character.");

  skip_whitespace(&p);

  ctx->p = p;
  ctx->cur = cur;
  return cur;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x20(%rbp)
leaq -0x10(%rbp), %rdi
callq 0xb600
movq -0x10(%rbp), %rdi
leaq 0x4f24(%rip), %rsi      # 0x10bf7
movl $0x2, %edx
callq 0x1050
cmpl $0x0, %eax
jne 0xbd11
movq -0x10(%rbp), %rax
addq $0x2, %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rdi
movl $0xa, %esi
callq 0x10a0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
jmp 0xd060
movq -0x10(%rbp), %rdi
leaq 0x4ede(%rip), %rsi      # 0x10bfa
movl $0x2, %edx
callq 0x1050
cmpl $0x0, %eax
jne 0xbd7d
movq -0x10(%rbp), %rax
addq $0x2, %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rdi
leaq 0x4ebb(%rip), %rsi      # 0x10bfd
callq 0x11a0
movq %rax, -0x30(%rbp)
cmpq $0x0, -0x30(%rbp)
jne 0xbd6c
movq -0x18(%rbp), %rdi
movq -0x10(%rbp), %rsi
addq $-0x2, %rsi
leaq 0x4e9b(%rip), %rdx      # 0x10c00
movb $0x0, %al
callq 0x5c40
movq -0x30(%rbp), %rax
addq $0x2, %rax
movq %rax, -0x10(%rbp)
jmp 0xd05e
movq -0x10(%rbp), %rdi
leaq 0x4708(%rip), %rsi      # 0x10490
movl $0x8, %edx
callq 0x1050
cmpl $0x0, %eax
jne 0xbdc3
movq -0x20(%rbp), %rsi
movq -0x10(%rbp), %rdx
movl $0x42, %edi
movl $0x8, %ecx
callq 0xb190
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x10(%rbp)
jmp 0xd05c
callq 0x11b0
movq (%rax), %rax
movq -0x10(%rbp), %rcx
movsbl (%rcx), %ecx
movslq %ecx, %rcx
movzwl (%rax,%rcx,2), %eax
andl $0x800, %eax            # imm = 0x800
cmpl $0x0, %eax
je 0xbf80
movb $0x1, -0x31(%rbp)
movb $0x0, -0x32(%rbp)
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
subl $0x30, %eax
cltq
movq %rax, -0x40(%rbp)
movl $0x1, -0x44(%rbp)
callq 0x11b0
movq (%rax), %rax
movq -0x10(%rbp), %rcx
movslq -0x44(%rbp), %rdx
movsbl (%rcx,%rdx), %ecx
movslq %ecx, %rcx
movzwl (%rax,%rcx,2), %eax
andl $0x800, %eax            # imm = 0x800
cmpl $0x0, %eax
je 0xbe58
imulq $0xa, -0x40(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x10(%rbp), %rax
movslq -0x44(%rbp), %rcx
movsbl (%rax,%rcx), %eax
subl $0x30, %eax
cltq
addq -0x40(%rbp), %rax
movq %rax, -0x40(%rbp)
movl -0x44(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x44(%rbp)
jmp 0xbe06
movq -0x10(%rbp), %rax
movslq -0x44(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x75, %eax
je 0xbe7a
movq -0x10(%rbp), %rax
movslq -0x44(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x55, %eax
jne 0xbe87
movb $0x0, -0x31(%rbp)
movl -0x44(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x44(%rbp)
movq -0x10(%rbp), %rax
movslq -0x44(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x6c, %eax
je 0xbea9
movq -0x10(%rbp), %rax
movslq -0x44(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x4c, %eax
jne 0xbee3
movl -0x44(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x44(%rbp)
movb $0x1, -0x32(%rbp)
movq -0x10(%rbp), %rax
movslq -0x44(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x6c, %eax
je 0xbed8
movq -0x10(%rbp), %rax
movslq -0x44(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x4c, %eax
jne 0xbee1
movl -0x44(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x44(%rbp)
jmp 0xbee3
movq -0x20(%rbp), %rsi
movq -0x10(%rbp), %rdx
movl -0x44(%rbp), %ecx
movl $0x1, %edi
callq 0xb190
movq %rax, -0x20(%rbp)
movl -0x44(%rbp), %ecx
movq -0x10(%rbp), %rax
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x10(%rbp)
testb $0x1, -0x31(%rbp)
je 0xbf41
testb $0x1, -0x32(%rbp)
je 0xbf2d
movb $0x0, %al
callq 0xd0f0
movq %rax, %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x18(%rax)
jmp 0xbf3f
movb $0x0, %al
callq 0xd0b0
movq %rax, %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x18(%rax)
jmp 0xbf6f
testb $0x1, -0x32(%rbp)
je 0xbf5b
movb $0x0, %al
callq 0xd100
movq %rax, %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x18(%rax)
jmp 0xbf6d
movb $0x0, %al
callq 0xd0c0
movq %rax, %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x18(%rax)
jmp 0xbf6f
movq -0x40(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x10(%rax)
jmp 0xd05a
callq 0x11b0
movq (%rax), %rax
movq -0x10(%rbp), %rcx
movsbl (%rcx), %ecx
movslq %ecx, %rcx
movzwl (%rax,%rcx,2), %eax
andl $0x400, %eax            # imm = 0x400
cmpl $0x0, %eax
jne 0xbfb0
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x5f, %eax
jne 0xc555
movl $0x1, -0x48(%rbp)
movq -0x10(%rbp), %rax
movslq -0x48(%rbp), %rcx
movsbl (%rax,%rcx), %edi
callq 0xb240
testb $0x1, %al
jne 0xbfce
jmp 0xbfd9
movl -0x48(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x48(%rbp)
jmp 0xbfb7
movq -0x10(%rbp), %rdi
movl -0x48(%rbp), %esi
leaq 0x4c3a(%rip), %rdx      # 0x10c21
callq 0xb290
testb $0x1, %al
jne 0xbff2
jmp 0xc010
movq -0x20(%rbp), %rsi
movq -0x10(%rbp), %rdx
movl -0x48(%rbp), %ecx
movl $0x32, %edi
callq 0xb190
movq %rax, -0x20(%rbp)
jmp 0xc53f
movq -0x10(%rbp), %rdi
movl -0x48(%rbp), %esi
leaq 0x4c0a(%rip), %rdx      # 0x10c28
callq 0xb290
testb $0x1, %al
jne 0xc029
jmp 0xc047
movq -0x20(%rbp), %rsi
movq -0x10(%rbp), %rdx
movl -0x48(%rbp), %ecx
movl $0x29, %edi
callq 0xb190
movq %rax, -0x20(%rbp)
jmp 0xc53d
movq -0x10(%rbp), %rdi
movl -0x48(%rbp), %esi
leaq 0x4bd6(%rip), %rdx      # 0x10c2b
callq 0xb290
testb $0x1, %al
jne 0xc060
jmp 0xc07e
movq -0x20(%rbp), %rsi
movq -0x10(%rbp), %rdx
movl -0x48(%rbp), %ecx
movl $0x2a, %edi
callq 0xb190
movq %rax, -0x20(%rbp)
jmp 0xc53b
movq -0x10(%rbp), %rdi
movl -0x48(%rbp), %esi
leaq 0x4ba4(%rip), %rdx      # 0x10c30
callq 0xb290
testb $0x1, %al
jne 0xc097
jmp 0xc0b5
movq -0x20(%rbp), %rsi
movq -0x10(%rbp), %rdx
movl -0x48(%rbp), %ecx
movl $0x2b, %edi
callq 0xb190
movq %rax, -0x20(%rbp)
jmp 0xc539
movq -0x10(%rbp), %rdi
movl -0x48(%rbp), %esi
leaq 0x4b73(%rip), %rdx      # 0x10c36
callq 0xb290
testb $0x1, %al
jne 0xc0ce
jmp 0xc0ec
movq -0x20(%rbp), %rsi
movq -0x10(%rbp), %rdx
movl -0x48(%rbp), %ecx
movl $0x2c, %edi
callq 0xb190
movq %rax, -0x20(%rbp)
jmp 0xc537
movq -0x10(%rbp), %rdi
movl -0x48(%rbp), %esi
leaq 0x4b40(%rip), %rdx      # 0x10c3a
callq 0xb290
testb $0x1, %al
jne 0xc105
jmp 0xc123
movq -0x20(%rbp), %rsi
movq -0x10(%rbp), %rdx
movl -0x48(%rbp), %ecx
movl $0x2d, %edi
callq 0xb190
movq %rax, -0x20(%rbp)
jmp 0xc535
movq -0x10(%rbp), %rdi
movl -0x48(%rbp), %esi
leaq 0x4b10(%rip), %rdx      # 0x10c41
callq 0xb290
testb $0x1, %al
jne 0xc13c
jmp 0xc15a
movq -0x20(%rbp), %rsi
movq -0x10(%rbp), %rdx
movl -0x48(%rbp), %ecx
movl $0x2e, %edi
callq 0xb190
movq %rax, -0x20(%rbp)
jmp 0xc533
movq -0x10(%rbp), %rdi
movl -0x48(%rbp), %esi
leaq 0x4ade(%rip), %rdx      # 0x10c46
callq 0xb290
testb $0x1, %al
jne 0xc173
jmp 0xc191
movq -0x20(%rbp), %rsi
movq -0x10(%rbp), %rdx
movl -0x48(%rbp), %ecx
movl $0x2f, %edi
callq 0xb190
movq %rax, -0x20(%rbp)
jmp 0xc531
movq -0x10(%rbp), %rdi
movl -0x48(%rbp), %esi
leaq 0x4aaf(%rip), %rdx      # 0x10c4e
callq 0xb290
testb $0x1, %al
jne 0xc1aa
jmp 0xc1c8
movq -0x20(%rbp), %rsi
movq -0x10(%rbp), %rdx
movl -0x48(%rbp), %ecx
movl $0x30, %edi
callq 0xb190
movq %rax, -0x20(%rbp)
jmp 0xc52f
movq -0x10(%rbp), %rdi
movl -0x48(%rbp), %esi
leaq 0x4a7e(%rip), %rdx      # 0x10c54
callq 0xb290
testb $0x1, %al
jne 0xc1e1
jmp 0xc1ff
movq -0x20(%rbp), %rsi
movq -0x10(%rbp), %rdx
movl -0x48(%rbp), %ecx
movl $0x31, %edi
callq 0xb190
movq %rax, -0x20(%rbp)
jmp 0xc52d
movq -0x10(%rbp), %rdi
movl -0x48(%rbp), %esi
leaq 0x4a50(%rip), %rdx      # 0x10c5d
callq 0xb290
testb $0x1, %al
jne 0xc218
jmp 0xc236
movq -0x20(%rbp), %rsi
movq -0x10(%rbp), %rdx
movl -0x48(%rbp), %ecx
movl $0x34, %edi
callq 0xb190
movq %rax, -0x20(%rbp)
jmp 0xc52b
movq -0x10(%rbp), %rdi
movl -0x48(%rbp), %esi
leaq 0x4a1d(%rip), %rdx      # 0x10c61
callq 0xb290
testb $0x1, %al
jne 0xc24f
jmp 0xc26d
movq -0x20(%rbp), %rsi
movq -0x10(%rbp), %rdx
movl -0x48(%rbp), %ecx
movl $0x35, %edi
callq 0xb190
movq %rax, -0x20(%rbp)
jmp 0xc529
movq -0x10(%rbp), %rdi
movl -0x48(%rbp), %esi
leaq 0x49eb(%rip), %rdx      # 0x10c66
callq 0xb290
testb $0x1, %al
jne 0xc286
jmp 0xc2a4
movq -0x20(%rbp), %rsi
movq -0x10(%rbp), %rdx
movl -0x48(%rbp), %ecx
movl $0x36, %edi
callq 0xb190
movq %rax, -0x20(%rbp)
jmp 0xc527
movq -0x10(%rbp), %rdi
movl -0x48(%rbp), %esi
leaq 0x49b9(%rip), %rdx      # 0x10c6b
callq 0xb290
testb $0x1, %al
jne 0xc2bd
jmp 0xc2db
movq -0x20(%rbp), %rsi
movq -0x10(%rbp), %rdx
movl -0x48(%rbp), %ecx
movl $0x37, %edi
callq 0xb190
movq %rax, -0x20(%rbp)
jmp 0xc525
movq -0x10(%rbp), %rdi
movl -0x48(%rbp), %esi
leaq 0x4987(%rip), %rdx      # 0x10c70
callq 0xb290
testb $0x1, %al
jne 0xc2f4
jmp 0xc312
movq -0x20(%rbp), %rsi
movq -0x10(%rbp), %rdx
movl -0x48(%rbp), %ecx
movl $0x38, %edi
callq 0xb190
movq %rax, -0x20(%rbp)
jmp 0xc523
movq -0x10(%rbp), %rdi
movl -0x48(%rbp), %esi
leaq 0x4956(%rip), %rdx      # 0x10c76
callq 0xb290
testb $0x1, %al
jne 0xc32b
jmp 0xc349
movq -0x20(%rbp), %rsi
movq -0x10(%rbp), %rdx
movl -0x48(%rbp), %ecx
movl $0x39, %edi
callq 0xb190
movq %rax, -0x20(%rbp)
jmp 0xc521
movq -0x10(%rbp), %rdi
movl -0x48(%rbp), %esi
leaq 0x4926(%rip), %rdx      # 0x10c7d
callq 0xb290
testb $0x1, %al
jne 0xc362
jmp 0xc380
movq -0x20(%rbp), %rsi
movq -0x10(%rbp), %rdx
movl -0x48(%rbp), %ecx
movl $0x3d, %edi
callq 0xb190
movq %rax, -0x20(%rbp)
jmp 0xc51f
movq -0x10(%rbp), %rdi
movl -0x48(%rbp), %esi
leaq 0x48ed(%rip), %rdx      # 0x10c7b
callq 0xb290
testb $0x1, %al
jne 0xc399
jmp 0xc3b7
movq -0x20(%rbp), %rsi
movq -0x10(%rbp), %rdx
movl -0x48(%rbp), %ecx
movl $0x3e, %edi
callq 0xb190
movq %rax, -0x20(%rbp)
jmp 0xc51d
movq -0x10(%rbp), %rdi
movl -0x48(%rbp), %esi
leaq 0x48bf(%rip), %rdx      # 0x10c84
callq 0xb290
testb $0x1, %al
jne 0xc3d0
jmp 0xc3ee
movq -0x20(%rbp), %rsi
movq -0x10(%rbp), %rdx
movl -0x48(%rbp), %ecx
movl $0x33, %edi
callq 0xb190
movq %rax, -0x20(%rbp)
jmp 0xc51b
movq -0x10(%rbp), %rdi
movl -0x48(%rbp), %esi
leaq 0x488f(%rip), %rdx      # 0x10c8b
callq 0xb290
testb $0x1, %al
jne 0xc407
jmp 0xc425
movq -0x20(%rbp), %rsi
movq -0x10(%rbp), %rdx
movl -0x48(%rbp), %ecx
movl $0x3a, %edi
callq 0xb190
movq %rax, -0x20(%rbp)
jmp 0xc519
movq -0x10(%rbp), %rdi
movl -0x48(%rbp), %esi
leaq 0x485f(%rip), %rdx      # 0x10c92
callq 0xb290
testb $0x1, %al
jne 0xc43e
jmp 0xc45c
movq -0x20(%rbp), %rsi
movq -0x10(%rbp), %rdx
movl -0x48(%rbp), %ecx
movl $0x3b, %edi
callq 0xb190
movq %rax, -0x20(%rbp)
jmp 0xc517
movq -0x10(%rbp), %rdi
movl -0x48(%rbp), %esi
leaq 0x482d(%rip), %rdx      # 0x10c97
callq 0xb290
testb $0x1, %al
jne 0xc475
jmp 0xc493
movq -0x20(%rbp), %rsi
movq -0x10(%rbp), %rdx
movl -0x48(%rbp), %ecx
movl $0x3c, %edi
callq 0xb190
movq %rax, -0x20(%rbp)
jmp 0xc515
movq -0x10(%rbp), %rdi
movl -0x48(%rbp), %esi
leaq 0x47fc(%rip), %rdx      # 0x10c9d
callq 0xb290
testb $0x1, %al
jne 0xc4ac
jmp 0xc4c7
movq -0x20(%rbp), %rsi
movq -0x10(%rbp), %rdx
movl -0x48(%rbp), %ecx
movl $0x40, %edi
callq 0xb190
movq %rax, -0x20(%rbp)
jmp 0xc513
movq -0x10(%rbp), %rdi
movl -0x48(%rbp), %esi
leaq 0x47d0(%rip), %rdx      # 0x10ca5
callq 0xb290
testb $0x1, %al
jne 0xc4e0
jmp 0xc4fb
movq -0x20(%rbp), %rsi
movq -0x10(%rbp), %rdx
movl -0x48(%rbp), %ecx
movl $0x3f, %edi
callq 0xb190
movq %rax, -0x20(%rbp)
jmp 0xc511
movq -0x20(%rbp), %rsi
movq -0x10(%rbp), %rdx
movl -0x48(%rbp), %ecx
xorl %edi, %edi
callq 0xb190
movq %rax, -0x20(%rbp)
jmp 0xc513
jmp 0xc515
jmp 0xc517
jmp 0xc519
jmp 0xc51b
jmp 0xc51d
jmp 0xc51f
jmp 0xc521
jmp 0xc523
jmp 0xc525
jmp 0xc527
jmp 0xc529
jmp 0xc52b
jmp 0xc52d
jmp 0xc52f
jmp 0xc531
jmp 0xc533
jmp 0xc535
jmp 0xc537
jmp 0xc539
jmp 0xc53b
jmp 0xc53d
jmp 0xc53f
movl -0x48(%rbp), %ecx
movq -0x10(%rbp), %rax
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x10(%rbp)
jmp 0xd058
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x2b, %eax
jne 0xc5fe
movq -0x10(%rbp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x3d, %eax
jne 0xc59b
movq -0x20(%rbp), %rsi
movq -0x10(%rbp), %rdx
movl $0xe, %edi
movl $0x2, %ecx
callq 0xb190
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rax
addq $0x2, %rax
movq %rax, -0x10(%rbp)
jmp 0xc5f9
movq -0x10(%rbp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x2b, %eax
jne 0xc5d1
movq -0x20(%rbp), %rsi
movq -0x10(%rbp), %rdx
movl $0x12, %edi
movl $0x2, %ecx
callq 0xb190
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rax
addq $0x2, %rax
movq %rax, -0x10(%rbp)
jmp 0xc5f7
movq -0x20(%rbp), %rsi
movq -0x10(%rbp), %rdx
movq %rdx, %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
movl $0x3, %edi
movl $0x1, %ecx
callq 0xb190
movq %rax, -0x20(%rbp)
jmp 0xc5f9
jmp 0xd056
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x2d, %eax
jne 0xc6e2
movq -0x10(%rbp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x3d, %eax
jne 0xc647
movq -0x20(%rbp), %rsi
movq -0x10(%rbp), %rdx
movl $0xf, %edi
movl $0x2, %ecx
callq 0xb190
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rax
addq $0x2, %rax
movq %rax, -0x10(%rbp)
jmp 0xc6dd
movq -0x10(%rbp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x2d, %eax
jne 0xc67d
movq -0x20(%rbp), %rsi
movq -0x10(%rbp), %rdx
movl $0x13, %edi
movl $0x2, %ecx
callq 0xb190
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rax
addq $0x2, %rax
movq %rax, -0x10(%rbp)
jmp 0xc6db
movq -0x10(%rbp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x3e, %eax
jne 0xc6b3
movq -0x20(%rbp), %rsi
movq -0x10(%rbp), %rdx
movl $0x26, %edi
movl $0x2, %ecx
callq 0xb190
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rax
addq $0x2, %rax
movq %rax, -0x10(%rbp)
jmp 0xc6d9
movq -0x20(%rbp), %rsi
movq -0x10(%rbp), %rdx
movq %rdx, %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
movl $0x4, %edi
movl $0x1, %ecx
callq 0xb190
movq %rax, -0x20(%rbp)
jmp 0xc6db
jmp 0xc6dd
jmp 0xd054
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x2a, %eax
jne 0xc74f
movq -0x10(%rbp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x3d, %eax
jne 0xc724
movq -0x20(%rbp), %rsi
movq -0x10(%rbp), %rdx
movl $0x10, %edi
movl $0x2, %ecx
callq 0xb190
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rax
addq $0x2, %rax
movq %rax, -0x10(%rbp)
jmp 0xc74a
movq -0x20(%rbp), %rsi
movq -0x10(%rbp), %rdx
movq %rdx, %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
movl $0x5, %edi
movl $0x1, %ecx
callq 0xb190
movq %rax, -0x20(%rbp)
jmp 0xd052
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x2f, %eax
jne 0xc7bc
movq -0x10(%rbp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x3d, %eax
jne 0xc791
movq -0x20(%rbp), %rsi
movq -0x10(%rbp), %rdx
movl $0x11, %edi
movl $0x2, %ecx
callq 0xb190
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rax
addq $0x2, %rax
movq %rax, -0x10(%rbp)
jmp 0xc7b7
movq -0x20(%rbp), %rsi
movq -0x10(%rbp), %rdx
movq %rdx, %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
movl $0x6, %edi
movl $0x1, %ecx
callq 0xb190
movq %rax, -0x20(%rbp)
jmp 0xd050
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x2c, %eax
jne 0xc7f3
movq -0x20(%rbp), %rsi
movq -0x10(%rbp), %rdx
movq %rdx, %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
movl $0x23, %edi
movl $0x1, %ecx
callq 0xb190
movq %rax, -0x20(%rbp)
jmp 0xd04e
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x7e, %eax
jne 0xc82a
movq -0x20(%rbp), %rsi
movq -0x10(%rbp), %rdx
movq %rdx, %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
movl $0x27, %edi
movl $0x1, %ecx
callq 0xb190
movq %rax, -0x20(%rbp)
jmp 0xd04c
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x3d, %eax
jne 0xc89f
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x3d, %eax
jne 0xc87b
movq -0x20(%rbp), %rsi
movq -0x10(%rbp), %rdx
addq $-0x1, %rdx
movl $0x7, %edi
movl $0x2, %ecx
callq 0xb190
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
jmp 0xc89a
movq -0x20(%rbp), %rsi
movq -0x10(%rbp), %rdx
addq $-0x1, %rdx
movl $0xd, %edi
movl $0x1, %ecx
callq 0xb190
movq %rax, -0x20(%rbp)
jmp 0xd04a
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x3e, %eax
jne 0xc953
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x3d, %eax
jne 0xc8f4
movq -0x20(%rbp), %rsi
movq -0x10(%rbp), %rdx
addq $-0x1, %rdx
movl $0xa, %edi
movl $0x2, %ecx
callq 0xb190
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
jmp 0xc94e
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x3e, %eax
jne 0xc92d
movq -0x20(%rbp), %rsi
movq -0x10(%rbp), %rdx
addq $-0x1, %rdx
movl $0x1a, %edi
movl $0x2, %ecx
callq 0xb190
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
jmp 0xc94c
movq -0x20(%rbp), %rsi
movq -0x10(%rbp), %rdx
addq $-0x1, %rdx
movl $0x9, %edi
movl $0x1, %ecx
callq 0xb190
movq %rax, -0x20(%rbp)
jmp 0xc94e
jmp 0xd048
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x3c, %eax
jne 0xca07
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x3d, %eax
jne 0xc9a8
movq -0x20(%rbp), %rsi
movq -0x10(%rbp), %rdx
addq $-0x1, %rdx
movl $0xc, %edi
movl $0x2, %ecx
callq 0xb190
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
jmp 0xca02
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x3c, %eax
jne 0xc9e1
movq -0x20(%rbp), %rsi
movq -0x10(%rbp), %rdx
addq $-0x1, %rdx
movl $0x1b, %edi
movl $0x2, %ecx
callq 0xb190
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
jmp 0xca00
movq -0x20(%rbp), %rsi
movq -0x10(%rbp), %rdx
addq $-0x1, %rdx
movl $0xb, %edi
movl $0x1, %ecx
callq 0xb190
movq %rax, -0x20(%rbp)
jmp 0xca02
jmp 0xd046
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x21, %eax
jne 0xca7c
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x3d, %eax
jne 0xca58
movq -0x20(%rbp), %rsi
movq -0x10(%rbp), %rdx
addq $-0x1, %rdx
movl $0x8, %edi
movl $0x2, %ecx
callq 0xb190
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
jmp 0xca77
movq -0x20(%rbp), %rsi
movq -0x10(%rbp), %rdx
addq $-0x1, %rdx
movl $0x19, %edi
movl $0x1, %ecx
callq 0xb190
movq %rax, -0x20(%rbp)
jmp 0xd044
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x3b, %eax
jne 0xcab3
movq -0x20(%rbp), %rsi
movq -0x10(%rbp), %rdx
movq %rdx, %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
movl $0x1c, %edi
movl $0x1, %ecx
callq 0xb190
movq %rax, -0x20(%rbp)
jmp 0xd042
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x3a, %eax
jne 0xcaea
movq -0x20(%rbp), %rsi
movq -0x10(%rbp), %rdx
movq %rdx, %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
movl $0x24, %edi
movl $0x1, %ecx
callq 0xb190
movq %rax, -0x20(%rbp)
jmp 0xd040
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x28, %eax
jne 0xcb21
movq -0x20(%rbp), %rsi
movq -0x10(%rbp), %rdx
movq %rdx, %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
movl $0x1d, %edi
movl $0x1, %ecx
callq 0xb190
movq %rax, -0x20(%rbp)
jmp 0xd03e
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x29, %eax
jne 0xcb58
movq -0x20(%rbp), %rsi
movq -0x10(%rbp), %rdx
movq %rdx, %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
movl $0x1e, %edi
movl $0x1, %ecx
callq 0xb190
movq %rax, -0x20(%rbp)
jmp 0xd03c
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x7b, %eax
jne 0xcb8f
movq -0x20(%rbp), %rsi
movq -0x10(%rbp), %rdx
movq %rdx, %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
movl $0x1f, %edi
movl $0x1, %ecx
callq 0xb190
movq %rax, -0x20(%rbp)
jmp 0xd03a
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x7d, %eax
jne 0xcbc6
movq -0x20(%rbp), %rsi
movq -0x10(%rbp), %rdx
movq %rdx, %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
movl $0x20, %edi
movl $0x1, %ecx
callq 0xb190
movq %rax, -0x20(%rbp)
jmp 0xd038
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x5b, %eax
jne 0xcbfd
movq -0x20(%rbp), %rsi
movq -0x10(%rbp), %rdx
movq %rdx, %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
movl $0x21, %edi
movl $0x1, %ecx
callq 0xb190
movq %rax, -0x20(%rbp)
jmp 0xd036
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x5d, %eax
jne 0xcc34
movq -0x20(%rbp), %rsi
movq -0x10(%rbp), %rdx
movq %rdx, %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
movl $0x22, %edi
movl $0x1, %ecx
callq 0xb190
movq %rax, -0x20(%rbp)
jmp 0xd034
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x5e, %eax
jne 0xcc6b
movq -0x20(%rbp), %rsi
movq -0x10(%rbp), %rdx
movq %rdx, %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
movl $0x18, %edi
movl $0x1, %ecx
callq 0xb190
movq %rax, -0x20(%rbp)
jmp 0xd032
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x26, %eax
jne 0xccd8
movq -0x10(%rbp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x26, %eax
jne 0xccad
movq -0x20(%rbp), %rsi
movq -0x10(%rbp), %rdx
movl $0x14, %edi
movl $0x2, %ecx
callq 0xb190
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rax
addq $0x2, %rax
movq %rax, -0x10(%rbp)
jmp 0xccd3
movq -0x20(%rbp), %rsi
movq -0x10(%rbp), %rdx
movq %rdx, %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
movl $0x16, %edi
movl $0x1, %ecx
callq 0xb190
movq %rax, -0x20(%rbp)
jmp 0xd030
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x7c, %eax
jne 0xcd45
movq -0x10(%rbp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x7c, %eax
jne 0xcd1a
movq -0x20(%rbp), %rsi
movq -0x10(%rbp), %rdx
movl $0x15, %edi
movl $0x2, %ecx
callq 0xb190
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rax
addq $0x2, %rax
movq %rax, -0x10(%rbp)
jmp 0xcd40
movq -0x20(%rbp), %rsi
movq -0x10(%rbp), %rdx
movq %rdx, %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
movl $0x17, %edi
movl $0x1, %ecx
callq 0xb190
movq %rax, -0x20(%rbp)
jmp 0xd02e
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x2e, %eax
jne 0xcdbf
movq -0x10(%rbp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x2e, %eax
jne 0xcd94
movq -0x10(%rbp), %rax
movsbl 0x2(%rax), %eax
cmpl $0x2e, %eax
jne 0xcd94
movq -0x20(%rbp), %rsi
movq -0x10(%rbp), %rdx
movl $0x28, %edi
movl $0x3, %ecx
callq 0xb190
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rax
addq $0x3, %rax
movq %rax, -0x10(%rbp)
jmp 0xcdba
movq -0x20(%rbp), %rsi
movq -0x10(%rbp), %rdx
movq %rdx, %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
movl $0x25, %edi
movl $0x1, %ecx
callq 0xb190
movq %rax, -0x20(%rbp)
jmp 0xd02c
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x22, %eax
jne 0xcee1
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x50(%rbp), %rax
movsbl (%rax), %ecx
xorl %eax, %eax
cmpl $0x0, %ecx
movb %al, -0x5a(%rbp)
je 0xce04
movq -0x50(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x22, %eax
setne %al
movb %al, -0x5a(%rbp)
movb -0x5a(%rbp), %al
testb $0x1, %al
jne 0xce0d
jmp 0xce8a
movq -0x50(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x5c, %eax
je 0xce27
movq -0x50(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x50(%rbp)
jmp 0xce85
movq -0x50(%rbp), %rax
incq %rax
movq %rax, -0x50(%rbp)
movq -0x50(%rbp), %rax
movsbl (%rax), %eax
addl $-0x22, %eax
movl %eax, %ecx
movq %rcx, -0x68(%rbp)
subl $0x52, %eax
ja 0xce69
movq -0x68(%rbp), %rax
leaq 0x3c3a(%rip), %rcx      # 0x10a8c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0x50(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x50(%rbp)
jmp 0xce83
movq -0x18(%rbp), %rdi
movq -0x50(%rbp), %rsi
addq $-0x1, %rsi
leaq 0x34bc(%rip), %rdx      # 0x10338
movb $0x0, %al
callq 0x5c40
jmp 0xce85
jmp 0xcde3
movq -0x50(%rbp), %rax
cmpb $0x0, (%rax)
jne 0xcead
movq -0x18(%rbp), %rdi
movq -0x50(%rbp), %rsi
addq $-0x1, %rsi
leaq 0x3e06(%rip), %rdx      # 0x10cac
movb $0x0, %al
callq 0x5c40
movq -0x20(%rbp), %rsi
movq -0x10(%rbp), %rdx
movq -0x50(%rbp), %rax
movq -0x10(%rbp), %rcx
subq %rcx, %rax
movl %eax, %ecx
movl $0x2, %edi
callq 0xb190
movq %rax, -0x20(%rbp)
movq -0x50(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
jmp 0xd02a
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x27, %eax
jne 0xd028
movq -0x10(%rbp), %rax
movq %rax, -0x58(%rbp)
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x5c, %eax
je 0xcf1f
movq -0x10(%rbp), %rax
movb (%rax), %al
movb %al, -0x59(%rbp)
jmp 0xcfa9
movq -0x10(%rbp), %rax
incq %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
addl $-0x22, %eax
movl %eax, %ecx
movq %rcx, -0x70(%rbp)
subl $0x52, %eax
ja 0xcf8f
movq -0x70(%rbp), %rax
leaq 0x39f6(%rip), %rcx      # 0x10940
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movb $0x0, -0x59(%rbp)
jmp 0xcfa7
movb $0x7, -0x59(%rbp)
jmp 0xcfa7
movb $0x8, -0x59(%rbp)
jmp 0xcfa7
movb $0xc, -0x59(%rbp)
jmp 0xcfa7
movb $0xa, -0x59(%rbp)
jmp 0xcfa7
movb $0xd, -0x59(%rbp)
jmp 0xcfa7
movb $0x9, -0x59(%rbp)
jmp 0xcfa7
movb $0x5c, -0x59(%rbp)
jmp 0xcfa7
movb $0x27, -0x59(%rbp)
jmp 0xcfa7
movb $0x22, -0x59(%rbp)
jmp 0xcfa7
leaq 0x8282(%rip), %rax      # 0x15218
movq (%rax), %rdi
leaq 0x3398(%rip), %rsi      # 0x10338
movb $0x0, %al
callq 0x5d20
jmp 0xcfa9
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x10(%rbp)
movsbl (%rax), %eax
cmpl $0x27, %eax
je 0xcfe6
movq -0x18(%rbp), %rdi
movq -0x10(%rbp), %rsi
addq $-0x1, %rsi
leaq 0x3ce4(%rip), %rdx      # 0x10cc3
movb $0x0, %al
callq 0x5c40
movq -0x20(%rbp), %rsi
movq -0x58(%rbp), %rdx
movq -0x10(%rbp), %rax
movq -0x58(%rbp), %rcx
subq %rcx, %rax
movl %eax, %ecx
movl $0x1, %edi
callq 0xb190
movq %rax, -0x20(%rbp)
movb $0x0, %al
callq 0xd110
movq %rax, %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x18(%rax)
movsbq -0x59(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x10(%rax)
jmp 0xd02a
jmp 0xd02c
jmp 0xd02e
jmp 0xd030
jmp 0xd032
jmp 0xd034
jmp 0xd036
jmp 0xd038
jmp 0xd03a
jmp 0xd03c
jmp 0xd03e
jmp 0xd040
jmp 0xd042
jmp 0xd044
jmp 0xd046
jmp 0xd048
jmp 0xd04a
jmp 0xd04c
jmp 0xd04e
jmp 0xd050
jmp 0xd052
jmp 0xd054
jmp 0xd056
jmp 0xd058
jmp 0xd05a
jmp 0xd05c
jmp 0xd05e
jmp 0xd060
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
cmpq -0x10(%rbp), %rax
jne 0xd084
movq -0x18(%rbp), %rdi
movq -0x10(%rbp), %rsi
leaq 0x3c66(%rip), %rdx      # 0x10ce3
movb $0x0, %al
callq 0x5c40
leaq -0x10(%rbp), %rdi
callq 0xb600
movq -0x10(%rbp), %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x20(%rbp), %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x8(%rax)
movq -0x20(%rbp), %rax
addq $0x70, %rsp
popq %rbp
retq
nop