// File: /workspace/github_cpp_makefile_star2_O3/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 0x32bec
movl 0x8(%r15), %eax
movl %eax, 0x8(%rbx)
leaq 0x27a8d(%rip), %rax     # 0x45d10
movq %rax, (%r15)
movq 0x10(%r15), %rdi
leaq 0xc0(%rsp), %rax
cmpq %rax, %rdi
je 0x1e2a7
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 0x10df4
testb %al, %al
je 0x1e49f
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 0xbd58
leaq 0x16d39(%rip), %rsi     # 0x35040
movq %r12, %rdi
callq 0x70c0
movl %eax, %r15d
movq (%r12), %rdi
cmpq %r13, %rdi
je 0x1e32b
movq 0xb0(%rsp), %rsi
incq %rsi
callq 0x72c0
testl %r15d, %r15d
je 0x1e454
leaq 0xa0(%rsp), %r15
movq %r15, %rdi
movq %r14, %rsi
callq 0x32902
leaq 0x10(%rsp), %r13
movq %r13, -0x10(%r13)
movq 0x10(%r15), %rsi
movq 0x18(%r15), %rdx
addq %rsi, %rdx
movq %rsp, %rdi
callq 0xbd58
movq (%rsp), %rdi
movq 0x8(%rsp), %r15
cmpq %r13, %rdi
je 0x1e37e
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x72c0
movq %rsp, %rdi
testq %r15, %r15
je 0x1e4a6
movq %r13, (%rdi)
movq 0xb0(%rsp), %rsi
movq 0xb8(%rsp), %rdx
addq %rsi, %rdx
callq 0xbd58
leaq 0x70(%rbx), %r15
movq %rsp, %r12
movq %r15, %rdi
movq %r12, %rsi
callq 0x7370
movq (%r12), %rdi
cmpq %r13, %rdi
je 0x1e3cd
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x72c0
movq %r15, %rdi
callq 0x338b8
testb %al, %al
je 0x1e4e2
movq %rsp, %rdi
movq %r15, %rsi
movq %rbp, %rdx
callq 0x33e1d
movq (%rsp), %r12
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x1e3fe
callq 0x8036
testq %r12, %r12
je 0x1e52f
leaq 0x17a42(%rip), %rsi     # 0x35e50
leaq 0x30(%rsp), %rdi
movq %r15, %rdx
callq 0xb692
leaq 0x1770a(%rip), %rsi     # 0x35b2c
leaq 0x30(%rsp), %rdi
callq 0x7560
movq %r13, (%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x1e5da
movq %rdx, (%rsp)
movq (%rcx), %rdx
movq %rdx, 0x10(%rsp)
jmp 0x1e5e2
leaq 0xa0(%rsp), %rdi
movq %r13, (%rdi)
leaq 0x179ad(%rip), %rsi     # 0x35e13
leaq 0x179c9(%rip), %rdx     # 0x35e36
callq 0xbdee
movl 0x40(%rbx), %esi
leaq 0xa0(%rsp), %rdi
callq 0x34178
movq 0xa0(%rsp), %rdi
cmpq %r13, %rdi
je 0x1e49f
movq 0xb0(%rsp), %rsi
incq %rsi
callq 0x72c0
xorl %ebx, %ebx
jmp 0x1e971
movq %r13, (%rdi)
leaq 0x17527(%rip), %rsi     # 0x359d7
leaq 0x1752f(%rip), %rdx     # 0x359e6
callq 0xbdee
movl 0xa8(%rsp), %esi
movq %rsp, %rdi
callq 0x34178
movq (%rsp), %rdi
cmpq %r13, %rdi
je 0x1e93b
movq 0x10(%rsp), %rsi
jmp 0x1e933
leaq 0x1794e(%rip), %rsi     # 0x35e37
leaq 0x30(%rsp), %rdi
movq %r15, %rdx
callq 0xb692
leaq 0x17845(%rip), %rsi     # 0x35d42
leaq 0x30(%rsp), %rdi
callq 0x7560
movq %r13, (%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x1e5ab
movq %rdx, (%rsp)
movq (%rcx), %rdx
movq %rdx, 0x10(%rsp)
jmp 0x1e5b3
movq %rsp, %rdi
movq %r15, %rsi
movq 0x98(%rsp), %rdx
callq 0x33f2c
movq (%rsp), %r12
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x1e555
callq 0x8036
testq %r12, %r12
je 0x1e60d
leaq 0x178eb(%rip), %rsi     # 0x35e50
leaq 0x30(%rsp), %rdi
movq %r15, %rdx
callq 0xb692
leaq 0x175dc(%rip), %rsi     # 0x35b55
leaq 0x30(%rsp), %rdi
callq 0x7560
movq %r13, (%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x1e689
movq %rdx, (%rsp)
movq (%rcx), %rdx
movq %rdx, 0x10(%rsp)
jmp 0x1e691
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 0x34178
jmp 0x1e90a
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 0x34178
jmp 0x1e90a
movq %rsp, %rdi
movq %r15, %rsi
movq 0x90(%rsp), %rdx
callq 0x33bff
movq (%rsp), %r12
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x1e633
callq 0x8036
testq %r12, %r12
je 0x1e6bc
leaq 0x1780d(%rip), %rsi     # 0x35e50
leaq 0x30(%rsp), %rdi
movq %r15, %rdx
callq 0xb692
leaq 0x17682(%rip), %rsi     # 0x35cd9
leaq 0x30(%rsp), %rdi
callq 0x7560
movq %r13, (%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x1e738
movq %rdx, (%rsp)
movq (%rcx), %rdx
movq %rdx, 0x10(%rsp)
jmp 0x1e740
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 0x34178
jmp 0x1e90a
movq %rsp, %rdi
movq %r15, %rsi
movq 0xf0(%rsp), %rdx
callq 0x33d0e
movq (%rsp), %r12
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x1e6e2
callq 0x8036
testq %r12, %r12
je 0x1e76b
leaq 0x1775e(%rip), %rsi     # 0x35e50
leaq 0x30(%rsp), %rdi
movq %r15, %rdx
callq 0xb692
leaq 0x17756(%rip), %rsi     # 0x35e5c
leaq 0x30(%rsp), %rdi
callq 0x7560
movq %r13, (%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x1e8dc
movq %rdx, (%rsp)
movq (%rcx), %rdx
movq %rdx, 0x10(%rsp)
jmp 0x1e8e4
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 0x34178
jmp 0x1e90a
movq %rsp, %rdi
movq %r14, %rsi
callq 0x32902
movl 0x8(%rsp), %eax
leaq 0x40(%rsp), %rdi
movl %eax, -0x8(%rdi)
leaq 0x27587(%rip), %rax     # 0x45d10
movq %rax, -0x10(%rdi)
leaq 0x50(%rsp), %rax
movq %rax, -0x10(%rax)
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
addq %rsi, %rdx
callq 0xbd58
leaq 0x70(%rsp), %r13
movq %r13, -0x10(%r13)
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
addq %rsi, %rdx
leaq 0x60(%rsp), %rdi
callq 0xbd58
leaq 0x16e23(%rip), %rsi     # 0x355f2
leaq 0x60(%rsp), %r12
movq %r12, %rdi
callq 0x70c0
movl %eax, %r15d
movq (%r12), %rdi
cmpq %r13, %rdi
je 0x1e7f5
movq 0x70(%rsp), %rsi
incq %rsi
callq 0x72c0
testl %r15d, %r15d
movq 0xf0(%rsp), %r15
je 0x1e985
movq 0x48(%rsp), %rdx
leaq 0x60(%rsp), %rdi
testq %rdx, %rdx
je 0x1eac1
movq %r13, (%rdi)
movq 0x40(%rsp), %rsi
addq %rsi, %rdx
callq 0xbd58
leaq 0x17391(%rip), %rsi     # 0x35bc1
leaq 0x60(%rsp), %r14
movq %r14, %rdi
callq 0x70c0
movl %eax, %ebx
movq (%r14), %rdi
cmpq %r13, %rdi
je 0x1e854
movq 0x70(%rsp), %rsi
incq %rsi
callq 0x72c0
testl %ebx, %ebx
je 0x1ebe0
leaq 0x108(%rsp), %r14
movq %r14, -0x10(%r14)
movq 0x40(%rsp), %rsi
movq 0x48(%rsp), %rdx
addq %rsi, %rdx
leaq 0xf8(%rsp), %rdi
callq 0xbd58
leaq 0x1701e(%rip), %rsi     # 0x358a7
leaq 0xd0(%rsp), %rdi
leaq 0xf8(%rsp), %rdx
callq 0x2190d
leaq 0x1731e(%rip), %rsi     # 0x35bc3
leaq 0xd0(%rsp), %rdi
callq 0x7560
movq %r13, 0x60(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x1ebe7
movq %rdx, 0x60(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x70(%rsp)
jmp 0x1ebef
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 0x34178
movq (%rsp), %rdi
cmpq %r13, %rdi
je 0x1e920
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x40(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1e93b
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x72c0
xorl %ebx, %ebx
leaq 0x273cc(%rip), %rax     # 0x45d10
movq %rax, 0xa0(%rsp)
movq 0xb0(%rsp), %rdi
leaq 0xc0(%rsp), %rax
cmpq %rax, %rdi
je 0x1e971
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 0x1eafd
leaq 0x70(%rsp), %r12
movl $0xffffffff, -0x8(%r12) # imm = 0xFFFFFFFF
leaq 0x27a9c(%rip), %r13     # 0x46440
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 0x16dd4
testb %al, %al
je 0x1ece0
movq 0x70(%rsp), %rax
movq 0x78(%rsp), %rcx
movq %rcx, %rdx
subq %rax, %rdx
sarq $0x4, %rdx
movzwl 0x6a(%rbx), %esi
cmpq %rsi, %rdx
jne 0x1ec80
cmpq %rax, %rcx
je 0x1eaa1
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 0x1ea68
movq 0x2853e(%rip), %rcx     # 0x46f98
cmpb $0x0, (%rcx)
je 0x1ea64
incl 0x8(%rax)
jmp 0x1ea68
lock
incl 0x8(%rax)
movq %rbx, %rdi
movq %r15, %rsi
callq 0x32666
movq 0xd8(%rsp), %rdi
testq %rdi, %rdi
je 0x1ea85
callq 0x8036
incq %r12
movq 0x70(%rsp), %rax
movq 0x78(%rsp), %rcx
subq %rax, %rcx
sarq $0x4, %rcx
addq %rbp, %r13
cmpq %rcx, %r12
jb 0x1ea2e
leaq 0x27998(%rip), %rax     # 0x46440
movq %rax, 0x60(%rsp)
leaq 0x70(%rsp), %rdi
callq 0x22242
leaq 0x70(%rsp), %r13
jmp 0x1eb86
movq %r13, (%rdi)
leaq 0x16f0c(%rip), %rsi     # 0x359d7
leaq 0x16f14(%rip), %rdx     # 0x359e6
callq 0xbdee
movl 0x38(%rsp), %esi
leaq 0x60(%rsp), %rdi
callq 0x34178
movq 0x60(%rsp), %rdi
cmpq %r13, %rdi
je 0x1eced
movq 0x70(%rsp), %rsi
jmp 0x1ec65
movl $0x28, %edi
callq 0x72b0
movl $0xffffffff, 0x8(%rax)  # imm = 0xFFFFFFFF
leaq 0x27523(%rip), %rcx     # 0x46038
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 0x30c64
movq 0x60(%rsp), %rdi
movq %r14, %rsi
movq %rbp, %rdx
movq 0x98(%rsp), %rcx
movq 0x90(%rsp), %r8
movq %r15, %r9
callq 0x1131a
testb %al, %al
je 0x1ec6f
addq $0x98, %rbx
leaq 0x60(%rsp), %rsi
movq %rbx, %rdi
callq 0x21aba
movq 0x68(%rsp), %rdi
testq %rdi, %rdi
je 0x1eb86
callq 0x8036
leaq 0x60(%rsp), %rdi
movq %r14, %rsi
callq 0x32902
leaq 0x70(%rsp), %rbx
movl -0x8(%rbx), %eax
movl %eax, 0x38(%rsp)
leaq 0x40(%rsp), %rdi
movq %rbx, %rsi
callq 0x7370
leaq 0x2715d(%rip), %rax     # 0x45d10
movq %rax, -0x10(%rbx)
movq (%rbx), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0x1e806
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x72c0
jmp 0x1e806
movb $0x1, %bl
jmp 0x1ecef
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 0x34178
movq 0x60(%rsp), %rdi
cmpq %r13, %rdi
je 0x1ec2b
movq 0x70(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0xe0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1ec4c
movq 0xe0(%rsp), %rsi
incq %rsi
callq 0x72c0
movq 0xf8(%rsp), %rdi
cmpq %r14, %rdi
je 0x1eced
movq 0x108(%rsp), %rsi
incq %rsi
callq 0x72c0
jmp 0x1eced
movq 0x68(%rsp), %rdi
testq %rdi, %rdi
je 0x1eced
callq 0x8036
jmp 0x1eced
leaq 0xe0(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x16eed(%rip), %rsi     # 0x35b80
leaq 0x16efa(%rip), %rdx     # 0x35b94
leaq 0xd0(%rsp), %rdi
callq 0xbdee
movl 0x8(%rbx), %esi
leaq 0xd0(%rsp), %rdi
callq 0x34178
movq 0xd0(%rsp), %rdi
cmpq %r14, %rdi
je 0x1ecd4
movq 0xe0(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x70(%rsp), %r12
leaq 0x27760(%rip), %r13     # 0x46440
movq %r13, 0x60(%rsp)
movq %r12, %rdi
callq 0x22242
xorl %ebx, %ebx
leaq 0x2701a(%rip), %rax     # 0x45d10
movq %rax, 0x30(%rsp)
movq 0x40(%rsp), %rdi
leaq 0x50(%rsp), %rax
cmpq %rax, %rdi
je 0x1ed17
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x20(%rsp), %rax
leaq 0x26fed(%rip), %rcx     # 0x45d10
movq %rcx, -0x20(%rax)
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1e93d
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x72c0
jmp 0x1e93d
movq %rax, %rbx
movq 0xd0(%rsp), %rdi
cmpq %r14, %rdi
je 0x1ee35
movq 0xe0(%rsp), %rsi
incq %rsi
callq 0x72c0
jmp 0x1ee35
jmp 0x1ed76
jmp 0x1ee4d
movq %rax, %rbx
jmp 0x1ee35
movq %rax, %rbx
movq 0x68(%rsp), %rdi
testq %rdi, %rdi
je 0x1ee50
callq 0x8036
jmp 0x1ee50
movq %rax, %rbx
movq 0x60(%rsp), %rdi
cmpq %r13, %rdi
je 0x1ee50
movq 0x70(%rsp), %rsi
jmp 0x1ee10
jmp 0x1ee4d
movq %rax, %rbx
movq 0x60(%rsp), %rdi
cmpq %r13, %rdi
je 0x1edd5
movq 0x70(%rsp), %rsi
incq %rsi
callq 0x72c0
jmp 0x1edd5
movq %rax, %rbx
leaq 0xe0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1edfb
movq 0xe0(%rsp), %rsi
incq %rsi
callq 0x72c0
jmp 0x1edfb
movq %rax, %rbx
movq 0xf8(%rsp), %rdi
cmpq %r14, %rdi
je 0x1ee50
movq 0x108(%rsp), %rsi
incq %rsi
callq 0x72c0
jmp 0x1ee50
jmp 0x1ee4d
jmp 0x1ee4d
jmp 0x1ee4d
movq %rax, %rbx
movq 0xd8(%rsp), %rdi
testq %rdi, %rdi
je 0x1ee35
callq 0x8036
leaq 0x27604(%rip), %rax     # 0x46440
movq %rax, 0x60(%rsp)
leaq 0x70(%rsp), %rdi
callq 0x22242
jmp 0x1ee50
movq %rax, %rbx
leaq 0x26eb9(%rip), %rax     # 0x45d10
movq %rax, 0x30(%rsp)
movq 0x40(%rsp), %rdi
leaq 0x50(%rsp), %rax
cmpq %rax, %rdi
je 0x1ee7d
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x72c0
jmp 0x1ee7d
movq %rax, %rbx
leaq 0x20(%rsp), %rax
leaq 0x26e87(%rip), %rcx     # 0x45d10
movq %rcx, -0x20(%rax)
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1ef4a
movq 0x20(%rsp), %rsi
jmp 0x1ef18
jmp 0x1ef47
jmp 0x1eed0
jmp 0x1eeeb
jmp 0x1ef47
jmp 0x1ef47
jmp 0x1eed0
jmp 0x1eeeb
jmp 0x1ef47
jmp 0x1ef47
jmp 0x1eed0
jmp 0x1eeeb
jmp 0x1ef47
jmp 0x1ef47
jmp 0x1eed0
jmp 0x1eeeb
jmp 0x1ef47
movq %rax, %rbx
movq (%rsp), %rdi
cmpq %r13, %rdi
je 0x1eeee
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x72c0
jmp 0x1eeee
movq %rax, %rbx
leaq 0x40(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1ef4a
movq 0x40(%rsp), %rsi
jmp 0x1ef18
jmp 0x1ef47
jmp 0x1ef47
movq %rax, %rbx
movq (%rsp), %rdi
cmpq %r13, %rdi
je 0x1ef4a
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x72c0
jmp 0x1ef4a
jmp 0x1ef47
movq %rax, %rbx
movq 0xa0(%rsp), %rdi
cmpq %r13, %rdi
je 0x1ef7e
movq 0xb0(%rsp), %rsi
jmp 0x1ef76
movq %rax, %rbx
jmp 0x1ef7e
jmp 0x1ef47
jmp 0x1ef47
movq %rax, %rbx
leaq 0x26dbf(%rip), %rax     # 0x45d10
movq %rax, 0xa0(%rsp)
movq 0xb0(%rsp), %rdi
leaq 0xc0(%rsp), %rax
cmpq %rax, %rdi
je 0x1ef7e
movq 0xc0(%rsp), %rsi
incq %rsi
callq 0x72c0
movq %rbx, %rdi
callq 0x74f0