// File: /workspace/github_cpp_makefile_star2_O1/rfotino[P]consolite-compiler/src/syntax.cpp
// Function: LocalVarToken::parse(Tokenizer*, std::vector<std::shared_ptr<FunctionToken>, std::allocator<std::shared_ptr<FunctionToken>>> const&, std::vector<std::shared_ptr<GlobalVarToken>, std::allocator<std::shared_ptr<GlobalVarToken>>> const&, std::vector<std::shared_ptr<ParamToken>, std::allocator<std::shared_ptr<ParamToken>>> const&, std::vector<std::shared_ptr<LocalVarToken>, std::allocator<std::shared_ptr<LocalVarToken>>> const&)
bool LocalVarToken::parse(
      Tokenizer *tokenizer,
      const std::vector<std::shared_ptr<FunctionToken>>& functions,
      const std::vector<std::shared_ptr<GlobalVarToken>>& globals,
      const std::vector<std::shared_ptr<ParamToken>>& parameters,
      const std::vector<std::shared_ptr<LocalVarToken>>& localVars) {
  _lineNum = tokenizer->peekNext().line();
  // Parse the type
  if (!_type.parse(tokenizer, functions, globals, parameters, localVars)) {
    return false;
  }
  // Validate the type
  if ("void" == _type.name()) {
    _error("Local var cannot be of type 'void'.", _type.line());
    return false;
  }
  // Get and validate the name
  AtomToken nameToken = tokenizer->getNext();
  if (nameToken.str().empty()) {
    _error("Unexpected EOF.", nameToken.line());
    return false;
  }
  _name = nameToken.str();
  if (!isValidName(_name)) {
    _error("Invalid local var name '" + _name + "'.", _type.line());
    return false;
  } else if (getFunction(_name, functions)) {
    _error("Local var '" + _name + "' conflicts with existing function name.",
           nameToken.line());
    return false;
  } else if (getGlobal(_name, globals)) {
    _error("Local var '" + _name + "' conflicts with existing global var name.",
           nameToken.line());
    return false;
  } else if (getParameter(_name, parameters)) {
    _error("Local var '" + _name + "' conflicts with existing parameter name.",
           nameToken.line());
    return false;
  } else if (getLocal(_name, localVars)) {
    _error("Local var '" + _name + "' conflicts with existing local var name.",
           nameToken.line());
    return false;
  }
  // Validate the value (if set)
  AtomToken next = tokenizer->getNext();
  AtomToken last = next;
  if ("=" == next.str()) {
    if (_type.isArray()) {
      // Make sure array expression has as many values as the type
      // requires, and make sure they are all constant.
      ArrayExprToken arrayExpr;
      if (!arrayExpr.parse(tokenizer, functions, globals,
                           parameters, localVars)) {
        return false;
      } else if (arrayExpr.size() != _type.arraySize()) {
        _error("Array size mismatch.", _lineNum);
        return false;
      }
      for (size_t i = 0; i < arrayExpr.size(); i++) {
        _initExprs.push_back(arrayExpr.get(i));
      }
    } else {
      // Not an array value, get the singleton initialization expression
      std::shared_ptr<ExprToken> expr(new ExprToken());
      if (!expr->parse(tokenizer, functions, globals,
                       parameters, localVars)) {
        return false;
      }
      _initExprs.push_back(expr);
    }
    // This should be a semicolon
    last = tokenizer->getNext();
  }
  if (last.empty()) {
    _error("Unexpected EOF.", last.line());
    return false;
  } else if (";" != last.str()) {
    _error("Unexpected token '" + last.str() + "', expected ';'.", last.line());
    return false;
  }
  return true;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x118, %rsp            # imm = 0x118
movq %r9, %r12
movq %r8, 0x90(%rsp)
movq %rcx, 0x98(%rsp)
movq %rdx, %rbp
movq %rsi, %r14
movq %rdi, %rbx
leaq 0xa0(%rsp), %r15
movq %r15, %rdi
callq 0x33270
movl 0x8(%r15), %eax
movl %eax, 0x8(%rbx)
leaq 0x2835f(%rip), %rax     # 0x46ce0
movq %rax, (%r15)
movq 0x10(%r15), %rdi
leaq 0xc0(%rsp), %rax
cmpq %rax, %rdi
je 0x1e9a5
movq 0xc0(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x38(%rbx), %rdi
movq %r14, %rsi
movq %rbp, %rdx
movq 0x98(%rsp), %rcx
movq 0x90(%rsp), %r8
movq %r12, %r9
callq 0x110e8
testb %al, %al
je 0x1eb9d
movq %r12, 0xf0(%rsp)
leaq 0xb0(%rsp), %r13
movq %r13, -0x10(%r13)
movq 0x48(%rbx), %rsi
movq 0x50(%rbx), %rdx
addq %rsi, %rdx
leaq 0xa0(%rsp), %r12
movq %r12, %rdi
callq 0xc014
leaq 0x1763b(%rip), %rsi     # 0x36040
movq %r12, %rdi
callq 0x70c0
movl %eax, %r15d
movq (%r12), %rdi
cmpq %r13, %rdi
je 0x1ea29
movq 0xb0(%rsp), %rsi
incq %rsi
callq 0x72c0
testl %r15d, %r15d
je 0x1eb52
leaq 0xa0(%rsp), %r15
movq %r15, %rdi
movq %r14, %rsi
callq 0x32f76
leaq 0x10(%rsp), %r13
movq %r13, -0x10(%r13)
movq 0x10(%r15), %rsi
movq 0x18(%r15), %rdx
addq %rsi, %rdx
movq %rsp, %rdi
callq 0xc014
movq (%rsp), %rdi
movq 0x8(%rsp), %r15
cmpq %r13, %rdi
je 0x1ea7c
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x72c0
movq %rsp, %rdi
testq %r15, %r15
je 0x1eba4
movq %r13, (%rdi)
movq 0xb0(%rsp), %rsi
movq 0xb8(%rsp), %rdx
addq %rsi, %rdx
callq 0xc014
leaq 0x70(%rbx), %r15
movq %rsp, %r12
movq %r15, %rdi
movq %r12, %rsi
callq 0x7370
movq (%r12), %rdi
cmpq %r13, %rdi
je 0x1eacb
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x72c0
movq %r15, %rdi
callq 0x33f07
testb %al, %al
je 0x1ebe0
movq %rsp, %rdi
movq %r15, %rsi
movq %rbp, %rdx
callq 0x34498
movq (%rsp), %r12
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x1eafc
callq 0x81ea
testq %r12, %r12
je 0x1ec2d
leaq 0x18344(%rip), %rsi     # 0x36e50
leaq 0x30(%rsp), %rdi
movq %r15, %rdx
callq 0xb963
leaq 0x1800c(%rip), %rsi     # 0x36b2c
leaq 0x30(%rsp), %rdi
callq 0x7560
movq %r13, (%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x1ecd8
movq %rdx, (%rsp)
movq (%rcx), %rdx
movq %rdx, 0x10(%rsp)
jmp 0x1ece0
leaq 0xa0(%rsp), %rdi
movq %r13, (%rdi)
leaq 0x182af(%rip), %rsi     # 0x36e13
leaq 0x182cb(%rip), %rdx     # 0x36e36
callq 0xc0a4
movl 0x40(%rbx), %esi
leaq 0xa0(%rsp), %rdi
callq 0x34811
movq 0xa0(%rsp), %rdi
cmpq %r13, %rdi
je 0x1eb9d
movq 0xb0(%rsp), %rsi
incq %rsi
callq 0x72c0
xorl %ebx, %ebx
jmp 0x1f06f
movq %r13, (%rdi)
leaq 0x17e29(%rip), %rsi     # 0x369d7
leaq 0x17e31(%rip), %rdx     # 0x369e6
callq 0xc0a4
movl 0xa8(%rsp), %esi
movq %rsp, %rdi
callq 0x34811
movq (%rsp), %rdi
cmpq %r13, %rdi
je 0x1f039
movq 0x10(%rsp), %rsi
jmp 0x1f031
leaq 0x18250(%rip), %rsi     # 0x36e37
leaq 0x30(%rsp), %rdi
movq %r15, %rdx
callq 0xb963
leaq 0x18147(%rip), %rsi     # 0x36d42
leaq 0x30(%rsp), %rdi
callq 0x7560
movq %r13, (%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x1eca9
movq %rdx, (%rsp)
movq (%rcx), %rdx
movq %rdx, 0x10(%rsp)
jmp 0x1ecb1
movq %rsp, %rdi
movq %r15, %rsi
movq 0x98(%rsp), %rdx
callq 0x345b1
movq (%rsp), %r12
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x1ec53
callq 0x81ea
testq %r12, %r12
je 0x1ed0b
leaq 0x181ed(%rip), %rsi     # 0x36e50
leaq 0x30(%rsp), %rdi
movq %r15, %rdx
callq 0xb963
leaq 0x17ede(%rip), %rsi     # 0x36b55
leaq 0x30(%rsp), %rdi
callq 0x7560
movq %r13, (%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x1ed87
movq %rdx, (%rsp)
movq (%rcx), %rdx
movq %rdx, 0x10(%rsp)
jmp 0x1ed8f
movups (%rcx), %xmm0
movups %xmm0, (%r13)
movq 0x8(%rax), %rdx
movq %rsp, %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl 0x40(%rbx), %esi
callq 0x34811
jmp 0x1f008
movups (%rcx), %xmm0
movups %xmm0, (%r13)
movq 0x8(%rax), %rdx
movq %rsp, %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl 0xa8(%rsp), %esi
callq 0x34811
jmp 0x1f008
movq %rsp, %rdi
movq %r15, %rsi
movq 0x90(%rsp), %rdx
callq 0x34266
movq (%rsp), %r12
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x1ed31
callq 0x81ea
testq %r12, %r12
je 0x1edba
leaq 0x1810f(%rip), %rsi     # 0x36e50
leaq 0x30(%rsp), %rdi
movq %r15, %rdx
callq 0xb963
leaq 0x17f84(%rip), %rsi     # 0x36cd9
leaq 0x30(%rsp), %rdi
callq 0x7560
movq %r13, (%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x1ee36
movq %rdx, (%rsp)
movq (%rcx), %rdx
movq %rdx, 0x10(%rsp)
jmp 0x1ee3e
movups (%rcx), %xmm0
movups %xmm0, (%r13)
movq 0x8(%rax), %rdx
movq %rsp, %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl 0xa8(%rsp), %esi
callq 0x34811
jmp 0x1f008
movq %rsp, %rdi
movq %r15, %rsi
movq 0xf0(%rsp), %rdx
callq 0x3437f
movq (%rsp), %r12
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x1ede0
callq 0x81ea
testq %r12, %r12
je 0x1ee69
leaq 0x18060(%rip), %rsi     # 0x36e50
leaq 0x30(%rsp), %rdi
movq %r15, %rdx
callq 0xb963
leaq 0x18058(%rip), %rsi     # 0x36e5c
leaq 0x30(%rsp), %rdi
callq 0x7560
movq %r13, (%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x1efda
movq %rdx, (%rsp)
movq (%rcx), %rdx
movq %rdx, 0x10(%rsp)
jmp 0x1efe2
movups (%rcx), %xmm0
movups %xmm0, (%r13)
movq 0x8(%rax), %rdx
movq %rsp, %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl 0xa8(%rsp), %esi
callq 0x34811
jmp 0x1f008
movq %rsp, %rdi
movq %r14, %rsi
callq 0x32f76
movl 0x8(%rsp), %eax
leaq 0x40(%rsp), %rdi
movl %eax, -0x8(%rdi)
leaq 0x27e59(%rip), %rax     # 0x46ce0
movq %rax, -0x10(%rdi)
leaq 0x50(%rsp), %rax
movq %rax, -0x10(%rax)
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
addq %rsi, %rdx
callq 0xc014
leaq 0x70(%rsp), %r13
movq %r13, -0x10(%r13)
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
addq %rsi, %rdx
leaq 0x60(%rsp), %rdi
callq 0xc014
leaq 0x17725(%rip), %rsi     # 0x365f2
leaq 0x60(%rsp), %r12
movq %r12, %rdi
callq 0x70c0
movl %eax, %r15d
movq (%r12), %rdi
cmpq %r13, %rdi
je 0x1eef3
movq 0x70(%rsp), %rsi
incq %rsi
callq 0x72c0
testl %r15d, %r15d
movq 0xf0(%rsp), %r15
je 0x1f083
movq 0x48(%rsp), %rdx
leaq 0x60(%rsp), %rdi
testq %rdx, %rdx
je 0x1f1c0
movq %r13, (%rdi)
movq 0x40(%rsp), %rsi
addq %rsi, %rdx
callq 0xc014
leaq 0x17c93(%rip), %rsi     # 0x36bc1
leaq 0x60(%rsp), %r14
movq %r14, %rdi
callq 0x70c0
movl %eax, %ebx
movq (%r14), %rdi
cmpq %r13, %rdi
je 0x1ef52
movq 0x70(%rsp), %rsi
incq %rsi
callq 0x72c0
testl %ebx, %ebx
je 0x1f2ea
leaq 0x108(%rsp), %r14
movq %r14, -0x10(%r14)
movq 0x40(%rsp), %rsi
movq 0x48(%rsp), %rdx
addq %rsi, %rdx
leaq 0xf8(%rsp), %rdi
callq 0xc014
leaq 0x17920(%rip), %rsi     # 0x368a7
leaq 0xd0(%rsp), %rdi
leaq 0xf8(%rsp), %rdx
callq 0x22046
leaq 0x17c20(%rip), %rsi     # 0x36bc3
leaq 0xd0(%rsp), %rdi
callq 0x7560
movq %r13, 0x60(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x1f2f1
movq %rdx, 0x60(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x70(%rsp)
jmp 0x1f2f9
movups (%rcx), %xmm0
movups %xmm0, (%r13)
movq 0x8(%rax), %rdx
movq %rsp, %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl 0xa8(%rsp), %esi
callq 0x34811
movq (%rsp), %rdi
cmpq %r13, %rdi
je 0x1f01e
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x40(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1f039
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x72c0
xorl %ebx, %ebx
leaq 0x27c9e(%rip), %rax     # 0x46ce0
movq %rax, 0xa0(%rsp)
movq 0xb0(%rsp), %rdi
leaq 0xc0(%rsp), %rax
cmpq %rax, %rdi
je 0x1f06f
movq 0xc0(%rsp), %rsi
incq %rsi
callq 0x72c0
movl %ebx, %eax
addq $0x118, %rsp            # imm = 0x118
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
cmpb $0x1, 0x68(%rbx)
jne 0x1f1fc
leaq 0x70(%rsp), %r12
movl $0xffffffff, -0x8(%r12) # imm = 0xFFFFFFFF
leaq 0x283a6(%rip), %r13     # 0x47448
movq %r13, -0x10(%r12)
xorps %xmm0, %xmm0
movups %xmm0, (%r12)
movq $0x0, 0x10(%r12)
leaq 0x60(%rsp), %rdi
movq %r14, %rsi
movq %rbp, %rdx
movq 0x98(%rsp), %rcx
movq 0x90(%rsp), %r8
movq %r15, %r9
callq 0x171c4
testb %al, %al
je 0x1f3ea
movq 0x78(%rsp), %rax
subq 0x70(%rsp), %rax
sarq $0x4, %rax
movzwl 0x6a(%rbx), %ecx
cmpq %rcx, %rax
jne 0x1f38a
movq 0x70(%rsp), %rax
cmpq %rax, 0x78(%rsp)
je 0x1f1a0
addq $0x98, %rbx
xorl %r13d, %r13d
leaq 0xd0(%rsp), %r15
movabsq $0x100000000, %rbp      # imm = 0x100000000
xorl %r12d, %r12d
movq %r13, %rcx
sarq $0x1c, %rcx
movq (%rax,%rcx), %rdx
movq %rdx, 0xd0(%rsp)
movq 0x8(%rax,%rcx), %rax
movq %rax, 0xd8(%rsp)
testq %rax, %rax
je 0x1f167
movq 0x28e3f(%rip), %rcx     # 0x47f98
cmpb $0x0, (%rcx)
je 0x1f163
incl 0x8(%rax)
jmp 0x1f167
lock
incl 0x8(%rax)
movq %rbx, %rdi
movq %r15, %rsi
callq 0x32cc6
movq 0xd8(%rsp), %rdi
testq %rdi, %rdi
je 0x1f184
callq 0x81ea
incq %r12
movq 0x70(%rsp), %rax
movq 0x78(%rsp), %rcx
subq %rax, %rcx
sarq $0x4, %rcx
addq %rbp, %r13
cmpq %rcx, %r12
jb 0x1f12d
leaq 0x282a1(%rip), %rax     # 0x47448
movq %rax, 0x60(%rsp)
leaq 0x70(%rsp), %rdi
callq 0x22940
leaq 0x70(%rsp), %r13
jmp 0x1f290
movq %r13, (%rdi)
leaq 0x1780d(%rip), %rsi     # 0x369d7
leaq 0x17815(%rip), %rdx     # 0x369e6
callq 0xc0a4
movl 0x38(%rsp), %esi
leaq 0x60(%rsp), %rdi
callq 0x34811
movq 0x60(%rsp), %rdi
cmpq %r13, %rdi
je 0x1f3f7
movq 0x70(%rsp), %rsi
jmp 0x1f36f
movl $0x28, %edi
callq 0x72b0
movl $0xffffffff, 0x8(%rax)  # imm = 0xFFFFFFFF
leaq 0x27e2c(%rip), %rcx     # 0x47040
movq %rcx, (%rax)
movb $0x1, 0xc(%rax)
xorps %xmm0, %xmm0
movups %xmm0, 0xe(%rax)
movups %xmm0, 0x18(%rax)
leaq 0x68(%rsp), %rdi
movq %rax, -0x8(%rdi)
movq %rax, %rsi
callq 0x31340
movq 0x60(%rsp), %rdi
movq %r14, %rsi
movq %rbp, %rdx
movq 0x98(%rsp), %rcx
movq 0x90(%rsp), %r8
movq %r15, %r9
callq 0x1160e
movl %eax, %ebp
testb %al, %al
je 0x1f379
addq $0x98, %rbx
leaq 0x60(%rsp), %rsi
movq %rbx, %rdi
callq 0x221f0
movq 0x68(%rsp), %rdi
testq %rdi, %rdi
je 0x1f287
callq 0x81ea
testb %bpl, %bpl
je 0x1f3f7
leaq 0x60(%rsp), %rdi
movq %r14, %rsi
callq 0x32f76
leaq 0x70(%rsp), %rbx
movl -0x8(%rbx), %eax
movl %eax, 0x38(%rsp)
leaq 0x40(%rsp), %rdi
movq %rbx, %rsi
callq 0x7370
leaq 0x27a23(%rip), %rax     # 0x46ce0
movq %rax, -0x10(%rbx)
movq (%rbx), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0x1ef04
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x72c0
jmp 0x1ef04
movb $0x1, %bl
jmp 0x1f3f9
movups (%rcx), %xmm0
movups %xmm0, (%r13)
movq 0x8(%rax), %rdx
leaq 0x60(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl 0x38(%rsp), %esi
callq 0x34811
movq 0x60(%rsp), %rdi
cmpq %r13, %rdi
je 0x1f335
movq 0x70(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0xe0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1f356
movq 0xe0(%rsp), %rsi
incq %rsi
callq 0x72c0
movq 0xf8(%rsp), %rdi
cmpq %r14, %rdi
je 0x1f3f7
movq 0x108(%rsp), %rsi
incq %rsi
callq 0x72c0
jmp 0x1f3f7
movq 0x68(%rsp), %rdi
testq %rdi, %rdi
je 0x1f3f7
callq 0x81ea
jmp 0x1f3f7
leaq 0xe0(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x177e3(%rip), %rsi     # 0x36b80
leaq 0x177f0(%rip), %rdx     # 0x36b94
leaq 0xd0(%rsp), %rdi
callq 0xc0a4
movl 0x8(%rbx), %esi
leaq 0xd0(%rsp), %rdi
callq 0x34811
movq 0xd0(%rsp), %rdi
cmpq %r14, %rdi
je 0x1f3de
movq 0xe0(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x70(%rsp), %r12
leaq 0x2805e(%rip), %r13     # 0x47448
movq %r13, 0x60(%rsp)
movq %r12, %rdi
callq 0x22940
xorl %ebx, %ebx
leaq 0x278e0(%rip), %rax     # 0x46ce0
movq %rax, 0x30(%rsp)
movq 0x40(%rsp), %rdi
leaq 0x50(%rsp), %rax
cmpq %rax, %rdi
je 0x1f421
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x20(%rsp), %rax
leaq 0x278b3(%rip), %rcx     # 0x46ce0
movq %rcx, -0x20(%rax)
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1f03b
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x72c0
jmp 0x1f03b
movq %rax, %rbx
movq 0xd0(%rsp), %rdi
cmpq %r14, %rdi
je 0x1f538
movq 0xe0(%rsp), %rsi
incq %rsi
callq 0x72c0
jmp 0x1f538
jmp 0x1f480
jmp 0x1f550
movq %rax, %rbx
jmp 0x1f538
movq %rax, %rbx
movq 0x60(%rsp), %rdi
cmpq %r13, %rdi
je 0x1f553
movq 0x70(%rsp), %rsi
jmp 0x1f4ff
jmp 0x1f550
movq %rax, %rbx
movq 0x60(%rsp), %rdi
cmpq %r13, %rdi
je 0x1f4c4
movq 0x70(%rsp), %rsi
incq %rsi
callq 0x72c0
jmp 0x1f4c4
movq %rax, %rbx
leaq 0xe0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1f4ea
movq 0xe0(%rsp), %rsi
incq %rsi
callq 0x72c0
jmp 0x1f4ea
movq %rax, %rbx
movq 0xf8(%rsp), %rdi
cmpq %r14, %rdi
je 0x1f553
movq 0x108(%rsp), %rsi
incq %rsi
callq 0x72c0
jmp 0x1f553
jmp 0x1f550
movq %rax, %rbx
movq 0x68(%rsp), %rdi
testq %rdi, %rdi
je 0x1f553
callq 0x81ea
jmp 0x1f553
jmp 0x1f550
jmp 0x1f550
movq %rax, %rbx
movq 0xd8(%rsp), %rdi
testq %rdi, %rdi
je 0x1f538
callq 0x81ea
leaq 0x27f09(%rip), %rax     # 0x47448
movq %rax, 0x60(%rsp)
leaq 0x70(%rsp), %rdi
callq 0x22940
jmp 0x1f553
movq %rax, %rbx
leaq 0x27786(%rip), %rax     # 0x46ce0
movq %rax, 0x30(%rsp)
movq 0x40(%rsp), %rdi
leaq 0x50(%rsp), %rax
cmpq %rax, %rdi
je 0x1f580
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x72c0
jmp 0x1f580
movq %rax, %rbx
leaq 0x20(%rsp), %rax
leaq 0x27754(%rip), %rcx     # 0x46ce0
movq %rcx, -0x20(%rax)
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1f64d
movq 0x20(%rsp), %rsi
jmp 0x1f61b
jmp 0x1f64a
jmp 0x1f5d3
jmp 0x1f5ee
jmp 0x1f64a
jmp 0x1f64a
jmp 0x1f5d3
jmp 0x1f5ee
jmp 0x1f64a
jmp 0x1f64a
jmp 0x1f5d3
jmp 0x1f5ee
jmp 0x1f64a
jmp 0x1f64a
jmp 0x1f5d3
jmp 0x1f5ee
jmp 0x1f64a
movq %rax, %rbx
movq (%rsp), %rdi
cmpq %r13, %rdi
je 0x1f5f1
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x72c0
jmp 0x1f5f1
movq %rax, %rbx
leaq 0x40(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1f64d
movq 0x40(%rsp), %rsi
jmp 0x1f61b
jmp 0x1f64a
jmp 0x1f64a
movq %rax, %rbx
movq (%rsp), %rdi
cmpq %r13, %rdi
je 0x1f64d
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x72c0
jmp 0x1f64d
jmp 0x1f64a
movq %rax, %rbx
movq 0xa0(%rsp), %rdi
cmpq %r13, %rdi
je 0x1f681
movq 0xb0(%rsp), %rsi
jmp 0x1f679
movq %rax, %rbx
jmp 0x1f681
jmp 0x1f64a
jmp 0x1f64a
movq %rax, %rbx
leaq 0x2768c(%rip), %rax     # 0x46ce0
movq %rax, 0xa0(%rsp)
movq 0xb0(%rsp), %rdi
leaq 0xc0(%rsp), %rax
cmpq %rax, %rdi
je 0x1f681
movq 0xc0(%rsp), %rsi
incq %rsi
callq 0x72c0
movq %rbx, %rdi
callq 0x74f0
nop