// File: /workspace/github_c_makefile_star2_O0/hikalium[P]compilium/tokenizer.c
// Function: CreateNextToken
static struct Node *CreateNextToken(const char *p, const char *src, int *line) {
  assert(line);
  if (!*p) return NULL;
  if (*p == ' ') {
    return AllocToken(src, *line, p, 1, kTokenDelimiter);
  }
  if (*p == '\n') {
    (*line)++;
    return AllocToken(src, *line, p, 1, kTokenDelimiter);
  }
  if (p[0] == '\\' && p[1] == '\n') {
    (*line)++;
    return AllocToken(src, *line, p, 2, kTokenZeroWidthNoBreakSpace);
  }
  if ('1' <= *p && *p <= '9') {
    int length = 0;
    while ('0' <= p[length] && p[length] <= '9') {
      length++;
    }
    return AllocToken(src, *line, p, length, kTokenIntegerConstant);
  } else if ('0' == *p) {
    int length = 0;
    if (p[1] == 'x') {
      // Hexadecimal
      length += 2;
      while (('0' <= p[length] && p[length] <= '9') ||
             ('A' <= p[length] && p[length] <= 'F') ||
             ('a' <= p[length] && p[length] <= 'f')) {
        length++;
      }
    } else {
      // Octal
      while ('0' <= p[length] && p[length] <= '7') {
        length++;
      }
    }
    return AllocToken(src, *line, p, length, kTokenIntegerConstant);
  } else if (('A' <= *p && *p <= 'Z') || ('a' <= *p && *p <= 'z') ||
             *p == '_') {
    int length = 0;
    while (('A' <= p[length] && p[length] <= 'Z') ||
           ('a' <= p[length] && p[length] <= 'z') || p[length] == '_' ||
           ('0' <= p[length] && p[length] <= '9')) {
      length++;
    }
    struct Node *t = AllocToken(src, *line, p, length, kTokenIdent);
    if (IsEqualTokenWithCStr(t, "break")) t->token_type = kTokenKwBreak;
    if (IsEqualTokenWithCStr(t, "char")) t->token_type = kTokenKwChar;
    if (IsEqualTokenWithCStr(t, "const")) t->token_type = kTokenKwConst;
    if (IsEqualTokenWithCStr(t, "continue")) t->token_type = kTokenKwContinue;
    if (IsEqualTokenWithCStr(t, "else")) t->token_type = kTokenKwElse;
    if (IsEqualTokenWithCStr(t, "extern")) t->token_type = kTokenKwExtern;
    if (IsEqualTokenWithCStr(t, "for")) t->token_type = kTokenKwFor;
    if (IsEqualTokenWithCStr(t, "if")) t->token_type = kTokenKwIf;
    if (IsEqualTokenWithCStr(t, "int")) t->token_type = kTokenKwInt;
    if (IsEqualTokenWithCStr(t, "long")) t->token_type = kTokenKwLong;
    if (IsEqualTokenWithCStr(t, "return")) t->token_type = kTokenKwReturn;
    if (IsEqualTokenWithCStr(t, "sizeof")) t->token_type = kTokenKwSizeof;
    if (IsEqualTokenWithCStr(t, "static")) t->token_type = kTokenKwStatic;
    if (IsEqualTokenWithCStr(t, "struct")) t->token_type = kTokenKwStruct;
    if (IsEqualTokenWithCStr(t, "typedef")) t->token_type = kTokenKwTypedef;
    if (IsEqualTokenWithCStr(t, "unsigned")) t->token_type = kTokenKwUnsigned;
    if (IsEqualTokenWithCStr(t, "void")) t->token_type = kTokenKwVoid;
    if (IsEqualTokenWithCStr(t, "while")) t->token_type = kTokenKwWhile;
    return t;
  } else if ('\'' == *p) {
    int length = 1;
    while (p[length] && p[length] != '\'') {
      if (p[length] == '\\' && p[length + 1]) {
        length++;
      }
      length++;
    }
    if (p[length] != '\'') {
      Error("Expected end of char literal (')");
    }
    length++;
    return AllocToken(src, *line, p, length, kTokenCharLiteral);
  } else if ('"' == *p) {
    int length = 1;
    while (p[length] && p[length] != '"') {
      if (p[length] == '\\' && p[length + 1]) {
        length++;
      }
      length++;
    }
    if (p[length] != '"') {
      Error("Expected end of string literal (\")");
    }
    length++;
    return AllocToken(src, *line, p, length, kTokenStringLiteral);
  } else if ('#' == *p) {
    if (p[1] == '#') {
      return AllocToken(src, *line, p, 2, kTokenPunctuator);
    }
    return AllocToken(src, *line, p, 1, kTokenPunctuator);
  } else if ('&' == *p) {
    if (p[1] == '&') {
      return AllocToken(src, *line, p, 2, kTokenPunctuator);
    }
    return AllocToken(src, *line, p, 1, kTokenPunctuator);
  } else if ('|' == *p) {
    if (p[1] == '|') {
      return AllocToken(src, *line, p, 2, kTokenPunctuator);
    }
    return AllocToken(src, *line, p, 1, kTokenPunctuator);
  } else if ('<' == *p) {
    if (p[1] == '<') {
      if (p[2] == '=') {
        return AllocToken(src, *line, p, 3, kTokenPunctuator);
      }
      return AllocToken(src, *line, p, 2, kTokenPunctuator);
    } else if (p[1] == '=') {
      return AllocToken(src, *line, p, 2, kTokenPunctuator);
    }
    return AllocToken(src, *line, p, 1, kTokenPunctuator);
  } else if ('>' == *p) {
    if (p[1] == '>') {
      if (p[2] == '=') {
        return AllocToken(src, *line, p, 3, kTokenPunctuator);
      }
      return AllocToken(src, *line, p, 2, kTokenPunctuator);
    } else if (p[1] == '=') {
      return AllocToken(src, *line, p, 2, kTokenPunctuator);
    }
    return AllocToken(src, *line, p, 1, kTokenPunctuator);
  } else if ('=' == *p) {
    if (p[1] == '=') {
      return AllocToken(src, *line, p, 2, kTokenPunctuator);
    }
    return AllocToken(src, *line, p, 1, kTokenPunctuator);
  } else if ('!' == *p) {
    if (p[1] == '=') {
      return AllocToken(src, *line, p, 2, kTokenPunctuator);
    }
    return AllocToken(src, *line, p, 1, kTokenPunctuator);
  } else if ('^' == *p) {
    return AllocToken(src, *line, p, 1, kTokenPunctuator);
  } else if ('+' == *p) {
    if (p[1] == '+') {
      return AllocToken(src, *line, p, 2, kTokenPunctuator);
    }
    if (p[1] == '=') {
      return AllocToken(src, *line, p, 2, kTokenPunctuator);
    }
    return AllocToken(src, *line, p, 1, kTokenPunctuator);
  } else if ('-' == *p) {
    if (p[1] == '-' || p[1] == '=' || p[1] == '>') {
      return AllocToken(src, *line, p, 2, kTokenPunctuator);
    }
    return AllocToken(src, *line, p, 1, kTokenPunctuator);
  } else if ('*' == *p) {
    if (p[1] == '/') {
      return AllocToken(src, *line, p, 2, kTokenBlockCommentEnd);
    }
    if (p[1] == '=') {
      return AllocToken(src, *line, p, 2, kTokenPunctuator);
    }
    return AllocToken(src, *line, p, 1, kTokenPunctuator);
  } else if ('/' == *p) {
    if (p[1] == '/') {
      return AllocToken(src, *line, p, 2, kTokenLineComment);
    }
    if (p[1] == '*') {
      return AllocToken(src, *line, p, 2, kTokenBlockCommentBegin);
    }
    if (p[1] == '=') {
      return AllocToken(src, *line, p, 2, kTokenPunctuator);
    }
    return AllocToken(src, *line, p, 1, kTokenPunctuator);
  } else if ('%' == *p) {
    if (p[1] == '=') {
      return AllocToken(src, *line, p, 2, kTokenPunctuator);
    }
    return AllocToken(src, *line, p, 1, kTokenPunctuator);
  } else if ('~' == *p) {
    return AllocToken(src, *line, p, 1, kTokenPunctuator);
  } else if ('?' == *p) {
    return AllocToken(src, *line, p, 1, kTokenPunctuator);
  } else if (':' == *p) {
    return AllocToken(src, *line, p, 1, kTokenPunctuator);
  } else if (',' == *p) {
    return AllocToken(src, *line, p, 1, kTokenPunctuator);
  } else if (';' == *p) {
    return AllocToken(src, *line, p, 1, kTokenPunctuator);
  } else if ('{' == *p) {
    return AllocToken(src, *line, p, 1, kTokenPunctuator);
  } else if ('}' == *p) {
    return AllocToken(src, *line, p, 1, kTokenPunctuator);
  } else if ('(' == *p) {
    return AllocToken(src, *line, p, 1, kTokenPunctuator);
  } else if (')' == *p) {
    return AllocToken(src, *line, p, 1, kTokenPunctuator);
  } else if ('.' == *p) {
    if (p[1] == '.' && p[2] == '.') {
      return AllocToken(src, *line, p, 3, kTokenPunctuator);
    }
    return AllocToken(src, *line, p, 1, kTokenPunctuator);
  } else if ('[' == *p) {
    return AllocToken(src, *line, p, 1, kTokenPunctuator);
  } else if (']' == *p) {
    return AllocToken(src, *line, p, 1, kTokenPunctuator);
  }
  return AllocToken(src, *line, p, 1, kTokenUnknownChar);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
jne 0xc933
leaq 0x4d7a(%rip), %rdi      # 0x1169c
leaq 0x4d78(%rip), %rsi      # 0x116a1
movl $0x4, %edx
callq 0x4b20
movq -0x10(%rbp), %rax
cmpb $0x0, (%rax)
jne 0xc949
movq $0x0, -0x8(%rbp)
jmp 0xdb5f
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x20, %eax
jne 0xc97a
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rax
movl (%rax), %esi
movq -0x10(%rbp), %rdx
movl $0x1, %r8d
movl %r8d, %ecx
callq 0xbc30
movq %rax, -0x8(%rbp)
jmp 0xdb5f
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
cmpl $0xa, %eax
jne 0xc9b6
movq -0x20(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rax
movl (%rax), %esi
movq -0x10(%rbp), %rdx
movl $0x1, %r8d
movl %r8d, %ecx
callq 0xbc30
movq %rax, -0x8(%rbp)
jmp 0xdb5f
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x5c, %eax
jne 0xc9ff
movq -0x10(%rbp), %rax
movsbl 0x1(%rax), %eax
cmpl $0xa, %eax
jne 0xc9ff
movq -0x20(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rax
movl (%rax), %esi
movq -0x10(%rbp), %rdx
movl $0x2, %r8d
movl %r8d, %ecx
callq 0xbc30
movq %rax, -0x8(%rbp)
jmp 0xdb5f
movq -0x10(%rbp), %rax
movsbl (%rax), %ecx
movl $0x31, %eax
cmpl %ecx, %eax
jg 0xca8a
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x39, %eax
jg 0xca8a
movl $0x0, -0x24(%rbp)
movq -0x10(%rbp), %rax
movslq -0x24(%rbp), %rcx
movsbl (%rax,%rcx), %edx
xorl %eax, %eax
movl $0x30, %ecx
cmpl %edx, %ecx
movb %al, -0x41(%rbp)
jg 0xca51
movq -0x10(%rbp), %rax
movslq -0x24(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x39, %eax
setle %al
movb %al, -0x41(%rbp)
movb -0x41(%rbp), %al
testb $0x1, %al
jne 0xca5a
jmp 0xca65
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0xca22
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rax
movl (%rax), %esi
movq -0x10(%rbp), %rdx
movl -0x24(%rbp), %ecx
movl $0x3, %r8d
callq 0xbc30
movq %rax, -0x8(%rbp)
jmp 0xdb5f
movq -0x10(%rbp), %rax
movsbl (%rax), %ecx
movl $0x30, %eax
cmpl %ecx, %eax
jne 0xcbcf
movl $0x0, -0x28(%rbp)
movq -0x10(%rbp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x78, %eax
jne 0xcb63
movl -0x28(%rbp), %eax
addl $0x2, %eax
movl %eax, -0x28(%rbp)
movq -0x10(%rbp), %rax
movslq -0x28(%rbp), %rcx
movsbl (%rax,%rcx), %ecx
movl $0x30, %eax
cmpl %ecx, %eax
jg 0xcaea
movq -0x10(%rbp), %rax
movslq -0x28(%rbp), %rcx
movsbl (%rax,%rcx), %ecx
movb $0x1, %al
cmpl $0x39, %ecx
movb %al, -0x42(%rbp)
jle 0xcb4a
movq -0x10(%rbp), %rax
movslq -0x28(%rbp), %rcx
movsbl (%rax,%rcx), %ecx
movl $0x41, %eax
cmpl %ecx, %eax
jg 0xcb15
movq -0x10(%rbp), %rax
movslq -0x28(%rbp), %rcx
movsbl (%rax,%rcx), %ecx
movb $0x1, %al
cmpl $0x46, %ecx
movb %al, -0x42(%rbp)
jle 0xcb4a
movq -0x10(%rbp), %rax
movslq -0x28(%rbp), %rcx
movsbl (%rax,%rcx), %edx
xorl %eax, %eax
movl $0x61, %ecx
cmpl %edx, %ecx
movb %al, -0x43(%rbp)
jg 0xcb44
movq -0x10(%rbp), %rax
movslq -0x28(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x66, %eax
setle %al
movb %al, -0x43(%rbp)
movb -0x43(%rbp), %al
movb %al, -0x42(%rbp)
movb -0x42(%rbp), %al
testb $0x1, %al
jne 0xcb53
jmp 0xcb61
movl -0x28(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x28(%rbp)
jmp 0xcabf
jmp 0xcbaa
jmp 0xcb65
movq -0x10(%rbp), %rax
movslq -0x28(%rbp), %rcx
movsbl (%rax,%rcx), %edx
xorl %eax, %eax
movl $0x30, %ecx
cmpl %edx, %ecx
movb %al, -0x44(%rbp)
jg 0xcb94
movq -0x10(%rbp), %rax
movslq -0x28(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x37, %eax
setle %al
movb %al, -0x44(%rbp)
movb -0x44(%rbp), %al
testb $0x1, %al
jne 0xcb9d
jmp 0xcba8
movl -0x28(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x28(%rbp)
jmp 0xcb65
jmp 0xcbaa
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rax
movl (%rax), %esi
movq -0x10(%rbp), %rdx
movl -0x28(%rbp), %ecx
movl $0x3, %r8d
callq 0xbc30
movq %rax, -0x8(%rbp)
jmp 0xdb5f
movq -0x10(%rbp), %rax
movsbl (%rax), %ecx
movl $0x41, %eax
cmpl %ecx, %eax
jg 0xcbeb
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x5a, %eax
jle 0xcc17
movq -0x10(%rbp), %rax
movsbl (%rax), %ecx
movl $0x61, %eax
cmpl %ecx, %eax
jg 0xcc07
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x7a, %eax
jle 0xcc17
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x5f, %eax
jne 0xcf79
movl $0x0, -0x2c(%rbp)
movq -0x10(%rbp), %rax
movslq -0x2c(%rbp), %rcx
movsbl (%rax,%rcx), %ecx
movl $0x41, %eax
cmpl %ecx, %eax
jg 0xcc49
movq -0x10(%rbp), %rax
movslq -0x2c(%rbp), %rcx
movsbl (%rax,%rcx), %ecx
movb $0x1, %al
cmpl $0x5a, %ecx
movb %al, -0x45(%rbp)
jle 0xccbf
movq -0x10(%rbp), %rax
movslq -0x2c(%rbp), %rcx
movsbl (%rax,%rcx), %ecx
movl $0x61, %eax
cmpl %ecx, %eax
jg 0xcc74
movq -0x10(%rbp), %rax
movslq -0x2c(%rbp), %rcx
movsbl (%rax,%rcx), %ecx
movb $0x1, %al
cmpl $0x7a, %ecx
movb %al, -0x45(%rbp)
jle 0xccbf
movq -0x10(%rbp), %rax
movslq -0x2c(%rbp), %rcx
movsbl (%rax,%rcx), %ecx
movb $0x1, %al
cmpl $0x5f, %ecx
movb %al, -0x45(%rbp)
je 0xccbf
movq -0x10(%rbp), %rax
movslq -0x2c(%rbp), %rcx
movsbl (%rax,%rcx), %edx
xorl %eax, %eax
movl $0x30, %ecx
cmpl %edx, %ecx
movb %al, -0x46(%rbp)
jg 0xccb9
movq -0x10(%rbp), %rax
movslq -0x2c(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x39, %eax
setle %al
movb %al, -0x46(%rbp)
movb -0x46(%rbp), %al
movb %al, -0x45(%rbp)
movb -0x45(%rbp), %al
testb $0x1, %al
jne 0xccc8
jmp 0xccd6
movl -0x2c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x2c(%rbp)
jmp 0xcc1e
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rax
movl (%rax), %esi
movq -0x10(%rbp), %rdx
movl -0x2c(%rbp), %ecx
movl $0x4, %r8d
callq 0xbc30
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rdi
leaq 0x49ac(%rip), %rsi      # 0x116ad
callq 0xbdf0
cmpl $0x0, %eax
je 0xcd19
movq -0x38(%rbp), %rax
movl $0x5, 0x108(%rax)
movq -0x38(%rbp), %rdi
leaq 0x3318(%rip), %rsi      # 0x1003c
callq 0xbdf0
cmpl $0x0, %eax
je 0xcd3c
movq -0x38(%rbp), %rax
movl $0x6, 0x108(%rax)
movq -0x38(%rbp), %rdi
leaq 0x496c(%rip), %rsi      # 0x116b3
callq 0xbdf0
cmpl $0x0, %eax
je 0xcd5f
movq -0x38(%rbp), %rax
movl $0x7, 0x108(%rax)
movq -0x38(%rbp), %rdi
leaq 0x494f(%rip), %rsi      # 0x116b9
callq 0xbdf0
cmpl $0x0, %eax
je 0xcd82
movq -0x38(%rbp), %rax
movl $0x8, 0x108(%rax)
movq -0x38(%rbp), %rdi
leaq 0x45cf(%rip), %rsi      # 0x1135c
callq 0xbdf0
cmpl $0x0, %eax
je 0xcda5
movq -0x38(%rbp), %rax
movl $0x9, 0x108(%rax)
movq -0x38(%rbp), %rdi
leaq 0x4912(%rip), %rsi      # 0x116c2
callq 0xbdf0
cmpl $0x0, %eax
je 0xcdc8
movq -0x38(%rbp), %rax
movl $0xa, 0x108(%rax)
movq -0x38(%rbp), %rdi
leaq 0x48f6(%rip), %rsi      # 0x116c9
callq 0xbdf0
cmpl $0x0, %eax
je 0xcdeb
movq -0x38(%rbp), %rax
movl $0xb, 0x108(%rax)
movq -0x38(%rbp), %rdi
leaq 0x456e(%rip), %rsi      # 0x11364
callq 0xbdf0
cmpl $0x0, %eax
je 0xce0e
movq -0x38(%rbp), %rax
movl $0xc, 0x108(%rax)
movq -0x38(%rbp), %rdi
leaq 0x321f(%rip), %rsi      # 0x10038
callq 0xbdf0
cmpl $0x0, %eax
je 0xce31
movq -0x38(%rbp), %rax
movl $0xd, 0x108(%rax)
movq -0x38(%rbp), %rdi
leaq 0x4891(%rip), %rsi      # 0x116cd
callq 0xbdf0
cmpl $0x0, %eax
je 0xce54
movq -0x38(%rbp), %rax
movl $0xe, 0x108(%rax)
movq -0x38(%rbp), %rdi
leaq 0x4873(%rip), %rsi      # 0x116d2
callq 0xbdf0
cmpl $0x0, %eax
je 0xce77
movq -0x38(%rbp), %rax
movl $0xf, 0x108(%rax)
movq -0x38(%rbp), %rdi
leaq 0x4857(%rip), %rsi      # 0x116d9
callq 0xbdf0
cmpl $0x0, %eax
je 0xce9a
movq -0x38(%rbp), %rax
movl $0x10, 0x108(%rax)
movq -0x38(%rbp), %rdi
leaq 0x483b(%rip), %rsi      # 0x116e0
callq 0xbdf0
cmpl $0x0, %eax
je 0xcebd
movq -0x38(%rbp), %rax
movl $0x11, 0x108(%rax)
movq -0x38(%rbp), %rdi
leaq 0x31dd(%rip), %rsi      # 0x100a5
callq 0xbdf0
cmpl $0x0, %eax
je 0xcee0
movq -0x38(%rbp), %rax
movl $0x12, 0x108(%rax)
movq -0x38(%rbp), %rdi
leaq 0x47fc(%rip), %rsi      # 0x116e7
callq 0xbdf0
cmpl $0x0, %eax
je 0xcf03
movq -0x38(%rbp), %rax
movl $0x13, 0x108(%rax)
movq -0x38(%rbp), %rdi
leaq 0x47e1(%rip), %rsi      # 0x116ef
callq 0xbdf0
cmpl $0x0, %eax
je 0xcf26
movq -0x38(%rbp), %rax
movl $0x14, 0x108(%rax)
movq -0x38(%rbp), %rdi
leaq 0x47c7(%rip), %rsi      # 0x116f8
callq 0xbdf0
cmpl $0x0, %eax
je 0xcf49
movq -0x38(%rbp), %rax
movl $0x15, 0x108(%rax)
movq -0x38(%rbp), %rdi
leaq 0x47a9(%rip), %rsi      # 0x116fd
callq 0xbdf0
cmpl $0x0, %eax
je 0xcf6c
movq -0x38(%rbp), %rax
movl $0x16, 0x108(%rax)
movq -0x38(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xdb5f
movq -0x10(%rbp), %rax
movsbl (%rax), %ecx
movl $0x27, %eax
cmpl %ecx, %eax
jne 0xd050
movl $0x1, -0x3c(%rbp)
movq -0x10(%rbp), %rax
movslq -0x3c(%rbp), %rcx
movsbl (%rax,%rcx), %ecx
xorl %eax, %eax
cmpl $0x0, %ecx
movb %al, -0x47(%rbp)
je 0xcfbf
movq -0x10(%rbp), %rax
movslq -0x3c(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x27, %eax
setne %al
movb %al, -0x47(%rbp)
movb -0x47(%rbp), %al
testb $0x1, %al
jne 0xcfc8
jmp 0xd003
movq -0x10(%rbp), %rax
movslq -0x3c(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x5c, %eax
jne 0xcff8
movq -0x10(%rbp), %rax
movl -0x3c(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x0, %eax
je 0xcff8
movl -0x3c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x3c(%rbp)
movl -0x3c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x3c(%rbp)
jmp 0xcf94
movq -0x10(%rbp), %rax
movslq -0x3c(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x27, %eax
je 0xd022
leaq 0x46e8(%rip), %rdi      # 0x11703
movb $0x0, %al
callq 0x4a40
movl -0x3c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x3c(%rbp)
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rax
movl (%rax), %esi
movq -0x10(%rbp), %rdx
movl -0x3c(%rbp), %ecx
movl $0x17, %r8d
callq 0xbc30
movq %rax, -0x8(%rbp)
jmp 0xdb5f
movq -0x10(%rbp), %rax
movsbl (%rax), %ecx
movl $0x22, %eax
cmpl %ecx, %eax
jne 0xd127
movl $0x1, -0x40(%rbp)
movq -0x10(%rbp), %rax
movslq -0x40(%rbp), %rcx
movsbl (%rax,%rcx), %ecx
xorl %eax, %eax
cmpl $0x0, %ecx
movb %al, -0x48(%rbp)
je 0xd096
movq -0x10(%rbp), %rax
movslq -0x40(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x22, %eax
setne %al
movb %al, -0x48(%rbp)
movb -0x48(%rbp), %al
testb $0x1, %al
jne 0xd09f
jmp 0xd0da
movq -0x10(%rbp), %rax
movslq -0x40(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x5c, %eax
jne 0xd0cf
movq -0x10(%rbp), %rax
movl -0x40(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x0, %eax
je 0xd0cf
movl -0x40(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x40(%rbp)
movl -0x40(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x40(%rbp)
jmp 0xd06b
movq -0x10(%rbp), %rax
movslq -0x40(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x22, %eax
je 0xd0f9
leaq 0x4632(%rip), %rdi      # 0x11724
movb $0x0, %al
callq 0x4a40
movl -0x40(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x40(%rbp)
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rax
movl (%rax), %esi
movq -0x10(%rbp), %rdx
movl -0x40(%rbp), %ecx
movl $0x18, %r8d
callq 0xbc30
movq %rax, -0x8(%rbp)
jmp 0xdb5f
movq -0x10(%rbp), %rax
movsbl (%rax), %ecx
movl $0x23, %eax
cmpl %ecx, %eax
jne 0xd192
movq -0x10(%rbp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x23, %eax
jne 0xd16b
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rax
movl (%rax), %esi
movq -0x10(%rbp), %rdx
movl $0x2, %ecx
movl $0x19, %r8d
callq 0xbc30
movq %rax, -0x8(%rbp)
jmp 0xdb5f
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rax
movl (%rax), %esi
movq -0x10(%rbp), %rdx
movl $0x1, %ecx
movl $0x19, %r8d
callq 0xbc30
movq %rax, -0x8(%rbp)
jmp 0xdb5f
movq -0x10(%rbp), %rax
movsbl (%rax), %ecx
movl $0x26, %eax
cmpl %ecx, %eax
jne 0xd1fd
movq -0x10(%rbp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x26, %eax
jne 0xd1d6
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rax
movl (%rax), %esi
movq -0x10(%rbp), %rdx
movl $0x2, %ecx
movl $0x19, %r8d
callq 0xbc30
movq %rax, -0x8(%rbp)
jmp 0xdb5f
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rax
movl (%rax), %esi
movq -0x10(%rbp), %rdx
movl $0x1, %ecx
movl $0x19, %r8d
callq 0xbc30
movq %rax, -0x8(%rbp)
jmp 0xdb5f
movq -0x10(%rbp), %rax
movsbl (%rax), %ecx
movl $0x7c, %eax
cmpl %ecx, %eax
jne 0xd268
movq -0x10(%rbp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x7c, %eax
jne 0xd241
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rax
movl (%rax), %esi
movq -0x10(%rbp), %rdx
movl $0x2, %ecx
movl $0x19, %r8d
callq 0xbc30
movq %rax, -0x8(%rbp)
jmp 0xdb5f
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rax
movl (%rax), %esi
movq -0x10(%rbp), %rdx
movl $0x1, %ecx
movl $0x19, %r8d
callq 0xbc30
movq %rax, -0x8(%rbp)
jmp 0xdb5f
movq -0x10(%rbp), %rax
movsbl (%rax), %ecx
movl $0x3c, %eax
cmpl %ecx, %eax
jne 0xd341
movq -0x10(%rbp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x3c, %eax
jne 0xd2e4
movq -0x10(%rbp), %rax
movsbl 0x2(%rax), %eax
cmpl $0x3d, %eax
jne 0xd2bd
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rax
movl (%rax), %esi
movq -0x10(%rbp), %rdx
movl $0x3, %ecx
movl $0x19, %r8d
callq 0xbc30
movq %rax, -0x8(%rbp)
jmp 0xdb5f
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rax
movl (%rax), %esi
movq -0x10(%rbp), %rdx
movl $0x2, %ecx
movl $0x19, %r8d
callq 0xbc30
movq %rax, -0x8(%rbp)
jmp 0xdb5f
movq -0x10(%rbp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x3d, %eax
jne 0xd318
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rax
movl (%rax), %esi
movq -0x10(%rbp), %rdx
movl $0x2, %ecx
movl $0x19, %r8d
callq 0xbc30
movq %rax, -0x8(%rbp)
jmp 0xdb5f
jmp 0xd31a
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rax
movl (%rax), %esi
movq -0x10(%rbp), %rdx
movl $0x1, %ecx
movl $0x19, %r8d
callq 0xbc30
movq %rax, -0x8(%rbp)
jmp 0xdb5f
movq -0x10(%rbp), %rax
movsbl (%rax), %ecx
movl $0x3e, %eax
cmpl %ecx, %eax
jne 0xd41a
movq -0x10(%rbp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x3e, %eax
jne 0xd3bd
movq -0x10(%rbp), %rax
movsbl 0x2(%rax), %eax
cmpl $0x3d, %eax
jne 0xd396
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rax
movl (%rax), %esi
movq -0x10(%rbp), %rdx
movl $0x3, %ecx
movl $0x19, %r8d
callq 0xbc30
movq %rax, -0x8(%rbp)
jmp 0xdb5f
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rax
movl (%rax), %esi
movq -0x10(%rbp), %rdx
movl $0x2, %ecx
movl $0x19, %r8d
callq 0xbc30
movq %rax, -0x8(%rbp)
jmp 0xdb5f
movq -0x10(%rbp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x3d, %eax
jne 0xd3f1
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rax
movl (%rax), %esi
movq -0x10(%rbp), %rdx
movl $0x2, %ecx
movl $0x19, %r8d
callq 0xbc30
movq %rax, -0x8(%rbp)
jmp 0xdb5f
jmp 0xd3f3
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rax
movl (%rax), %esi
movq -0x10(%rbp), %rdx
movl $0x1, %ecx
movl $0x19, %r8d
callq 0xbc30
movq %rax, -0x8(%rbp)
jmp 0xdb5f
movq -0x10(%rbp), %rax
movsbl (%rax), %ecx
movl $0x3d, %eax
cmpl %ecx, %eax
jne 0xd485
movq -0x10(%rbp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x3d, %eax
jne 0xd45e
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rax
movl (%rax), %esi
movq -0x10(%rbp), %rdx
movl $0x2, %ecx
movl $0x19, %r8d
callq 0xbc30
movq %rax, -0x8(%rbp)
jmp 0xdb5f
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rax
movl (%rax), %esi
movq -0x10(%rbp), %rdx
movl $0x1, %ecx
movl $0x19, %r8d
callq 0xbc30
movq %rax, -0x8(%rbp)
jmp 0xdb5f
movq -0x10(%rbp), %rax
movsbl (%rax), %ecx
movl $0x21, %eax
cmpl %ecx, %eax
jne 0xd4f0
movq -0x10(%rbp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x3d, %eax
jne 0xd4c9
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rax
movl (%rax), %esi
movq -0x10(%rbp), %rdx
movl $0x2, %ecx
movl $0x19, %r8d
callq 0xbc30
movq %rax, -0x8(%rbp)
jmp 0xdb5f
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rax
movl (%rax), %esi
movq -0x10(%rbp), %rdx
movl $0x1, %ecx
movl $0x19, %r8d
callq 0xbc30
movq %rax, -0x8(%rbp)
jmp 0xdb5f
movq -0x10(%rbp), %rax
movsbl (%rax), %ecx
movl $0x5e, %eax
cmpl %ecx, %eax
jne 0xd527
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rax
movl (%rax), %esi
movq -0x10(%rbp), %rdx
movl $0x1, %ecx
movl $0x19, %r8d
callq 0xbc30
movq %rax, -0x8(%rbp)
jmp 0xdb5f
movq -0x10(%rbp), %rax
movsbl (%rax), %ecx
movl $0x2b, %eax
cmpl %ecx, %eax
jne 0xd5ca
movq -0x10(%rbp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x2b, %eax
jne 0xd56f
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rax
movl (%rax), %esi
movq -0x10(%rbp), %rdx
movl $0x2, %ecx
movl $0x19, %r8d
callq 0xbc30
movq %rax, -0x8(%rbp)
jmp 0xdb5f
movq -0x10(%rbp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x3d, %eax
jne 0xd5a3
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rax
movl (%rax), %esi
movq -0x10(%rbp), %rdx
movl $0x2, %ecx
movl $0x19, %r8d
callq 0xbc30
movq %rax, -0x8(%rbp)
jmp 0xdb5f
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rax
movl (%rax), %esi
movq -0x10(%rbp), %rdx
movl $0x1, %ecx
movl $0x19, %r8d
callq 0xbc30
movq %rax, -0x8(%rbp)
jmp 0xdb5f
movq -0x10(%rbp), %rax
movsbl (%rax), %ecx
movl $0x2d, %eax
cmpl %ecx, %eax
jne 0xd64f
movq -0x10(%rbp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x2d, %eax
je 0xd601
movq -0x10(%rbp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x3d, %eax
je 0xd601
movq -0x10(%rbp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x3e, %eax
jne 0xd628
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rax
movl (%rax), %esi
movq -0x10(%rbp), %rdx
movl $0x2, %ecx
movl $0x19, %r8d
callq 0xbc30
movq %rax, -0x8(%rbp)
jmp 0xdb5f
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rax
movl (%rax), %esi
movq -0x10(%rbp), %rdx
movl $0x1, %ecx
movl $0x19, %r8d
callq 0xbc30
movq %rax, -0x8(%rbp)
jmp 0xdb5f
movq -0x10(%rbp), %rax
movsbl (%rax), %ecx
movl $0x2a, %eax
cmpl %ecx, %eax
jne 0xd6f2
movq -0x10(%rbp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x2f, %eax
jne 0xd697
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rax
movl (%rax), %esi
movq -0x10(%rbp), %rdx
movl $0x2, %ecx
movl $0x1c, %r8d
callq 0xbc30
movq %rax, -0x8(%rbp)
jmp 0xdb5f
movq -0x10(%rbp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x3d, %eax
jne 0xd6cb
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rax
movl (%rax), %esi
movq -0x10(%rbp), %rdx
movl $0x2, %ecx
movl $0x19, %r8d
callq 0xbc30
movq %rax, -0x8(%rbp)
jmp 0xdb5f
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rax
movl (%rax), %esi
movq -0x10(%rbp), %rdx
movl $0x1, %ecx
movl $0x19, %r8d
callq 0xbc30
movq %rax, -0x8(%rbp)
jmp 0xdb5f
movq -0x10(%rbp), %rax
movsbl (%rax), %ecx
movl $0x2f, %eax
cmpl %ecx, %eax
jne 0xd7c9
movq -0x10(%rbp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x2f, %eax
jne 0xd73a
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rax
movl (%rax), %esi
movq -0x10(%rbp), %rdx
movl $0x2, %ecx
movl $0x1a, %r8d
callq 0xbc30
movq %rax, -0x8(%rbp)
jmp 0xdb5f
movq -0x10(%rbp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x2a, %eax
jne 0xd76e
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rax
movl (%rax), %esi
movq -0x10(%rbp), %rdx
movl $0x2, %ecx
movl $0x1b, %r8d
callq 0xbc30
movq %rax, -0x8(%rbp)
jmp 0xdb5f
movq -0x10(%rbp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x3d, %eax
jne 0xd7a2
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rax
movl (%rax), %esi
movq -0x10(%rbp), %rdx
movl $0x2, %ecx
movl $0x19, %r8d
callq 0xbc30
movq %rax, -0x8(%rbp)
jmp 0xdb5f
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rax
movl (%rax), %esi
movq -0x10(%rbp), %rdx
movl $0x1, %ecx
movl $0x19, %r8d
callq 0xbc30
movq %rax, -0x8(%rbp)
jmp 0xdb5f
movq -0x10(%rbp), %rax
movsbl (%rax), %ecx
movl $0x25, %eax
cmpl %ecx, %eax
jne 0xd834
movq -0x10(%rbp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x3d, %eax
jne 0xd80d
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rax
movl (%rax), %esi
movq -0x10(%rbp), %rdx
movl $0x2, %ecx
movl $0x19, %r8d
callq 0xbc30
movq %rax, -0x8(%rbp)
jmp 0xdb5f
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rax
movl (%rax), %esi
movq -0x10(%rbp), %rdx
movl $0x1, %ecx
movl $0x19, %r8d
callq 0xbc30
movq %rax, -0x8(%rbp)
jmp 0xdb5f
movq -0x10(%rbp), %rax
movsbl (%rax), %ecx
movl $0x7e, %eax
cmpl %ecx, %eax
jne 0xd86b
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rax
movl (%rax), %esi
movq -0x10(%rbp), %rdx
movl $0x1, %ecx
movl $0x19, %r8d
callq 0xbc30
movq %rax, -0x8(%rbp)
jmp 0xdb5f
movq -0x10(%rbp), %rax
movsbl (%rax), %ecx
movl $0x3f, %eax
cmpl %ecx, %eax
jne 0xd8a2
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rax
movl (%rax), %esi
movq -0x10(%rbp), %rdx
movl $0x1, %ecx
movl $0x19, %r8d
callq 0xbc30
movq %rax, -0x8(%rbp)
jmp 0xdb5f
movq -0x10(%rbp), %rax
movsbl (%rax), %ecx
movl $0x3a, %eax
cmpl %ecx, %eax
jne 0xd8d9
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rax
movl (%rax), %esi
movq -0x10(%rbp), %rdx
movl $0x1, %ecx
movl $0x19, %r8d
callq 0xbc30
movq %rax, -0x8(%rbp)
jmp 0xdb5f
movq -0x10(%rbp), %rax
movsbl (%rax), %ecx
movl $0x2c, %eax
cmpl %ecx, %eax
jne 0xd910
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rax
movl (%rax), %esi
movq -0x10(%rbp), %rdx
movl $0x1, %ecx
movl $0x19, %r8d
callq 0xbc30
movq %rax, -0x8(%rbp)
jmp 0xdb5f
movq -0x10(%rbp), %rax
movsbl (%rax), %ecx
movl $0x3b, %eax
cmpl %ecx, %eax
jne 0xd947
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rax
movl (%rax), %esi
movq -0x10(%rbp), %rdx
movl $0x1, %ecx
movl $0x19, %r8d
callq 0xbc30
movq %rax, -0x8(%rbp)
jmp 0xdb5f
movq -0x10(%rbp), %rax
movsbl (%rax), %ecx
movl $0x7b, %eax
cmpl %ecx, %eax
jne 0xd97e
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rax
movl (%rax), %esi
movq -0x10(%rbp), %rdx
movl $0x1, %ecx
movl $0x19, %r8d
callq 0xbc30
movq %rax, -0x8(%rbp)
jmp 0xdb5f
movq -0x10(%rbp), %rax
movsbl (%rax), %ecx
movl $0x7d, %eax
cmpl %ecx, %eax
jne 0xd9b5
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rax
movl (%rax), %esi
movq -0x10(%rbp), %rdx
movl $0x1, %ecx
movl $0x19, %r8d
callq 0xbc30
movq %rax, -0x8(%rbp)
jmp 0xdb5f
movq -0x10(%rbp), %rax
movsbl (%rax), %ecx
movl $0x28, %eax
cmpl %ecx, %eax
jne 0xd9ec
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rax
movl (%rax), %esi
movq -0x10(%rbp), %rdx
movl $0x1, %ecx
movl $0x19, %r8d
callq 0xbc30
movq %rax, -0x8(%rbp)
jmp 0xdb5f
movq -0x10(%rbp), %rax
movsbl (%rax), %ecx
movl $0x29, %eax
cmpl %ecx, %eax
jne 0xda23
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rax
movl (%rax), %esi
movq -0x10(%rbp), %rdx
movl $0x1, %ecx
movl $0x19, %r8d
callq 0xbc30
movq %rax, -0x8(%rbp)
jmp 0xdb5f
movq -0x10(%rbp), %rax
movsbl (%rax), %ecx
movl $0x2e, %eax
cmpl %ecx, %eax
jne 0xda9b
movq -0x10(%rbp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x2e, %eax
jne 0xda74
movq -0x10(%rbp), %rax
movsbl 0x2(%rax), %eax
cmpl $0x2e, %eax
jne 0xda74
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rax
movl (%rax), %esi
movq -0x10(%rbp), %rdx
movl $0x3, %ecx
movl $0x19, %r8d
callq 0xbc30
movq %rax, -0x8(%rbp)
jmp 0xdb5f
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rax
movl (%rax), %esi
movq -0x10(%rbp), %rdx
movl $0x1, %ecx
movl $0x19, %r8d
callq 0xbc30
movq %rax, -0x8(%rbp)
jmp 0xdb5f
movq -0x10(%rbp), %rax
movsbl (%rax), %ecx
movl $0x5b, %eax
cmpl %ecx, %eax
jne 0xdad2
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rax
movl (%rax), %esi
movq -0x10(%rbp), %rdx
movl $0x1, %ecx
movl $0x19, %r8d
callq 0xbc30
movq %rax, -0x8(%rbp)
jmp 0xdb5f
movq -0x10(%rbp), %rax
movsbl (%rax), %ecx
movl $0x5d, %eax
cmpl %ecx, %eax
jne 0xdb06
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rax
movl (%rax), %esi
movq -0x10(%rbp), %rdx
movl $0x1, %ecx
movl $0x19, %r8d
callq 0xbc30
movq %rax, -0x8(%rbp)
jmp 0xdb5f
jmp 0xdb08
jmp 0xdb0a
jmp 0xdb0c
jmp 0xdb0e
jmp 0xdb10
jmp 0xdb12
jmp 0xdb14
jmp 0xdb16
jmp 0xdb18
jmp 0xdb1a
jmp 0xdb1c
jmp 0xdb1e
jmp 0xdb20
jmp 0xdb22
jmp 0xdb24
jmp 0xdb26
jmp 0xdb28
jmp 0xdb2a
jmp 0xdb2c
jmp 0xdb2e
jmp 0xdb30
jmp 0xdb32
jmp 0xdb34
jmp 0xdb36
jmp 0xdb38
jmp 0xdb3a
jmp 0xdb3c
jmp 0xdb3e
jmp 0xdb40
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rax
movl (%rax), %esi
movq -0x10(%rbp), %rdx
movl $0x1, %ecx
xorl %r8d, %r8d
callq 0xbc30
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x50, %rsp
popq %rbp
retq
nopl (%rax)