LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_cpp_makefile_star2_O1/adamnovak[P]rlcsa/rlcsa_test.cpp
// Function: Pattern::Pattern(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, bool, unsigned int)
Pattern(const std::string& _pattern, bool ignore_tab, usint ignore) :
    pattern(_pattern), weight(1), range(EMPTY_PAIR), steps(0), docc(0)
  {
    if(ignore_tab)
    {
      usint pos = this->pattern.find('\t');
      this->weight = atoi(this->pattern.substr(0, pos).c_str());
      this->pattern = this->pattern.substr(pos + 1);
    }
    else if(ignore > 0)
    {
      this->weight = atoi(this->pattern.substr(0, ignore).c_str());
      this->pattern = this->pattern.substr(ignore);
    }
  }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movl %ecx, %ebp
movl %edx, %r14d
movq %rdi, %rbx
leaq 0x10(%rdi), %r12
movq %r12, (%rdi)
movq (%rsi), %rax
movq 0x8(%rsi), %rdx
addq %rax, %rdx
movq %rax, %rsi
callq 0x7fac
movl $0x1, 0x20(%rbx)
movq $0x1, 0x24(%rbx)
movq $0x0, 0x2c(%rbx)
testl %r14d, %r14d
je 0x7efa
movq %rbx, %rdi
movl $0x9, %esi
xorl %edx, %edx
callq 0x3340
movq %rax, %r14
movl %r14d, %ecx
leaq 0x8(%rsp), %rdi
movq %rbx, %rsi
xorl %edx, %edx
callq 0x32b0
leaq 0x18(%rsp), %r13
movq -0x10(%r13), %r15
movq %r15, %rdi
callq 0x33e0
movl %eax, 0x20(%rbx)
cmpq %r13, %r15
je 0x7ede
movq 0x18(%rsp), %rsi
incq %rsi
movq %r15, %rdi
callq 0x32a0
incl %r14d
leaq 0x8(%rsp), %rdi
movq %rbx, %rsi
movq %r14, %rdx
movq $-0x1, %rcx
callq 0x32b0
jmp 0x7f53
testl %ebp, %ebp
je 0x7f78
movl %ebp, %r14d
leaq 0x8(%rsp), %rdi
movq %rbx, %rsi
xorl %edx, %edx
movq %r14, %rcx
callq 0x32b0
leaq 0x18(%rsp), %r13
movq -0x10(%r13), %r15
movq %r15, %rdi
callq 0x33e0
movl %eax, 0x20(%rbx)
cmpq %r13, %r15
je 0x7f3c
movq 0x18(%rsp), %rsi
incq %rsi
movq %r15, %rdi
callq 0x32a0
leaq 0x8(%rsp), %rdi
movq %rbx, %rsi
movq %r14, %rdx
movq $-0x1, %rcx
callq 0x32b0
leaq 0x8(%rsp), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0x3300
movq (%r14), %rdi
cmpq %r13, %rdi
je 0x7f78
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x32a0
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x7f8d
jmp 0x7f8d
jmp 0x7f8d
movq %rax, %r14
movq (%rbx), %rdi
cmpq %r12, %rdi
je 0x7fa4
movq (%r12), %rsi
incq %rsi
callq 0x32a0
movq %r14, %rdi
callq 0x34b0
// File: /workspace/github_cpp_makefile_star2_O1/adamnovak[P]rlcsa/adaptive_samples.cpp
// Function: CSA::AdaptiveSamples::addSample(std::pair<unsigned int, unsigned int>)
void
AdaptiveSamples::addSample(sample_type sample)
{
  key_type i = this->hash(sample.first);
  if(this->samples[i].first >= this->index.getSize()) { this->items++; }
  else if(this->use_candidates) { this->addCandidate(this->samples[i]); }
  this->samples[i] = sample;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rsi, %rbx
movq %rdi, %r14
movl %ebx, %eax
notl %eax
movl %ebx, %ecx
shll $0xf, %ecx
addl %eax, %ecx
movl %ecx, %eax
shrl $0xc, %eax
xorl %ecx, %eax
leal (%rax,%rax,4), %eax
movl %eax, %ecx
shrl $0x4, %ecx
xorl %eax, %ecx
imull $0x809, %ecx, %ecx      # imm = 0x809
movl %ecx, %eax
shrl $0x10, %eax
xorl %ecx, %eax
xorl %edx, %edx
divl 0x10(%rdi)
movl %edx, %r15d
movq (%rdi), %rcx
movq 0x8(%rdi), %rax
movl (%rax,%r15,8), %edx
cmpl 0x4(%rcx), %edx
jae 0x140a1
cmpb $0x1, 0x34(%r14)
jne 0x140a5
movq (%rax,%r15,8), %rsi
movq %r14, %rdi
callq 0x14bcc
jmp 0x140a5
incl 0x14(%r14)
movq %rbx, %rax
shrq $0x20, %rax
movq 0x8(%r14), %rcx
movl %ebx, (%rcx,%r15,8)
movl %eax, 0x4(%rcx,%r15,8)
popq %rbx
popq %r14
popq %r15
retq
nop
// File: /workspace/github_cpp_makefile_star2_O1/adamnovak[P]rlcsa/adaptive_samples.cpp
// Function: CSA::AdaptiveSamples::~AdaptiveSamples()
AdaptiveSamples::~AdaptiveSamples()
{
  delete[] samples; samples = 0;
  delete[] candidate_samples; candidate_samples = 0;
  delete   regular_samples; regular_samples = 0;
  delete[] window; window = 0;
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
movq 0x8(%rdi), %rdi
testq %rdi, %rdi
je 0x140d5
callq 0x3330
movq $0x0, 0x8(%rbx)
movq 0x18(%rbx), %rdi
testq %rdi, %rdi
je 0x140eb
callq 0x3330
movq $0x0, 0x18(%rbx)
movq 0x28(%rbx), %r14
testq %r14, %r14
je 0x14111
movq %r14, %rdi
callq 0xffd0
movl $0x30, %esi
movq %r14, %rdi
callq 0x32a0
movq $0x0, 0x28(%rbx)
movq 0x50(%rbx), %rdi
testq %rdi, %rdi
je 0x14127
callq 0x3330
movq $0x0, 0x50(%rbx)
addq $0x8, %rsp
popq %rbx
popq %r14
retq
nop
// File: /workspace/github_cpp_makefile_star2_O1/adamnovak[P]rlcsa/adaptive_samples.cpp
// Function: CSA::AdaptiveSamples::reportSize() const
usint
AdaptiveSamples::reportSize() const
{
  usint temp = sizeof(*this) + this->size * sizeof(sample_type);
  if(this->use_candidates) { temp += this->size * sizeof(sample_type); }
  if(this->half_greedy) { temp += this->regular_samples->reportSize(); }
  if(this->promote_probability > 0.0) { temp += this->window_size * sizeof(key_type); }
  return temp;
}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
movq %rdi, %r14
movl 0x10(%rdi), %eax
leal (,%rax,8), %ecx
xorl %ebx, %ebx
cmpb $0x0, 0x34(%rdi)
cmovel %ebx, %ecx
leal (%rcx,%rax,8), %ebp
addl $0x60, %ebp
cmpb $0x1, 0x35(%rdi)
jne 0x141c7
movq 0x28(%r14), %rdi
callq 0x10410
addl %eax, %ebp
movsd 0x38(%r14), %xmm0
movl 0x40(%r14), %eax
shll $0x2, %eax
xorpd %xmm1, %xmm1
ucomisd %xmm1, %xmm0
cmoval %eax, %ebx
addl %ebp, %ebx
movl %ebx, %eax
popq %rbx
popq %r14
popq %rbp
retq
// File: /workspace/github_cpp_makefile_star2_O1/adamnovak[P]rlcsa/adaptive_samples.cpp
// Function: CSA::AdaptiveSamples::hash(unsigned int)
AdaptiveSamples::key_type
AdaptiveSamples::hash(key_type key)
{
  key = ~key + (key << 15);
  key = key ^ (key >> 12);
  key = key + (key << 2);
  key = key ^ (key >> 4);
  key = key * 2057;
  key = key ^ (key >> 16);
  return key % this->size;
}

// Assembly:
movl %esi, %eax
notl %eax
shll $0xf, %esi
addl %eax, %esi
movl %esi, %eax
shrl $0xc, %eax
xorl %esi, %eax
leal (%rax,%rax,4), %eax
movl %eax, %ecx
shrl $0x4, %ecx
xorl %eax, %ecx
imull $0x809, %ecx, %ecx      # imm = 0x809
movl %ecx, %eax
shrl $0x10, %eax
xorl %ecx, %eax
xorl %edx, %edx
divl 0x10(%rdi)
movl %edx, %eax
retq
nop
// File: /workspace/github_cpp_makefile_star2_O1/adamnovak[P]rlcsa/adaptive_samples.cpp
// Function: CSA::AdaptiveSamples::addCandidate(std::pair<unsigned int, unsigned int>)
AdaptiveSamples::key_type
AdaptiveSamples::secondaryHash(key_type key)
{
  key = (key + 0x7ed55d16) + (key << 12);
  key = (key ^ 0xc761c23c) ^ (key >> 19);
  key = (key + 0x165667b1) + (key << 5);
  key = (key + 0xd3a2646c) ^ (key << 9);
  key = (key + 0xfd7046c5) + (key << 3);
  key = (key ^ 0xb55a4f09) ^ (key >> 16);
  return key % this->size;
}

// Assembly:
movl %esi, %eax
shll $0xc, %eax
addl %esi, %eax
addl $0x7ed55d16, %eax       # imm = 0x7ED55D16
movl %eax, %ecx
shrl $0x13, %ecx
xorl %eax, %ecx
xorl $0xc761c23c, %ecx       # imm = 0xC761C23C
movl %ecx, %eax
shll $0x5, %eax
leal (%rcx,%rax), %edx
shll $0x9, %edx
addl %ecx, %eax
addl $0xe9f8cc1d, %eax       # imm = 0xE9F8CC1D
addl $0xaccf6200, %edx       # imm = 0xACCF6200
xorl %eax, %edx
leal (%rdx,%rdx,8), %ecx
addl $0xfd7046c5, %ecx       # imm = 0xFD7046C5
movl %ecx, %eax
shrl $0x10, %eax
xorl %ecx, %eax
xorl $0xb55a4f09, %eax       # imm = 0xB55A4F09
xorl %edx, %edx
divl 0x10(%rdi)
movq (%rdi), %rcx
movq 0x18(%rdi), %rax
movl (%rax,%rdx,8), %r8d
cmpl 0x4(%rcx), %r8d
jb 0x14c2d
incl 0x20(%rdi)
movq %rsi, %rcx
shrq $0x20, %rcx
movl %esi, (%rax,%rdx,8)
movl %ecx, 0x4(%rax,%rdx,8)
retq
// File: /workspace/github_cpp_makefile_star2_O1/adamnovak[P]rlcsa/adaptive_samples.cpp
// Function: CSA::AdaptiveSamples::trySample(std::pair<unsigned int, unsigned int>, unsigned int)
void
AdaptiveSamples::trySample(sample_type sample, usint offset)
{
  if(this->promote_probability > 0.0)
  {
    double temp = (this->promote_probability * this->window_size * offset) / this->sum;
    if(rand() / (RAND_MAX + 1.0) >= temp) { return; }
  }

  if(this->use_candidates) { this->addCandidate(sample); }
  else                     { this->addSample(sample); }
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %rbx
movq %rdi, %r14
movsd 0x38(%rdi), %xmm0
xorpd %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jbe 0x148f3
movl 0x40(%r14), %eax
movl 0x48(%r14), %ecx
xorps %xmm1, %xmm1
cvtsi2sd %rax, %xmm1
mulsd %xmm1, %xmm0
movl %edx, %eax
xorps %xmm1, %xmm1
cvtsi2sd %rax, %xmm1
mulsd %xmm0, %xmm1
xorps %xmm0, %xmm0
cvtsi2sd %rcx, %xmm0
divsd %xmm0, %xmm1
movsd %xmm1, (%rsp)
callq 0x30a0
xorps %xmm0, %xmm0
cvtsi2sd %eax, %xmm0
mulsd 0xe43c(%rip), %xmm0     # 0x22d28
ucomisd (%rsp), %xmm0
jae 0x1491e
cmpb $0x1, 0x34(%r14)
jne 0x1490c
movq %r14, %rdi
movq %rbx, %rsi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x14bcc
movq %r14, %rdi
movq %rbx, %rsi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x14040
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_cpp_makefile_star2_O1/adamnovak[P]rlcsa/adaptive_samples.cpp
// Function: CSA::AdaptiveSamples::locate(std::pair<unsigned int, unsigned int>, bool)
usint*
AdaptiveSamples::locate(pair_type range, bool steps)
{
  if(length(range) == 0) { return 0; }

  usint* data = new usint[length(range)];
  for(usint i = 0, j = range.first; j <= range.second; i++, j++)
  {
    data[i] = this->locate(j, steps);
  }

  return data;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rsi, %rbx
movq %rsi, %r12
shrq $0x20, %r12
movl %r12d, %eax
subl %ebx, %eax
incl %eax
jne 0x14949
xorl %r15d, %r15d
jmp 0x14990
movl %edx, %ebp
movq %rdi, %r14
movl %eax, %edi
shlq $0x2, %rdi
callq 0x3030
movq %rax, %r15
cmpl %ebx, %r12d
jb 0x14990
xorl %r13d, %r13d
movzbl %bpl, %ebp
leal (%rbx,%r13), %esi
movq %r14, %rdi
movl %ebp, %edx
callq 0x144ac
movl %r13d, %ecx
movl %eax, (%r15,%rcx,4)
leal (%rbx,%r13), %eax
incl %eax
movl %r13d, %ecx
incl %ecx
movl %ecx, %r13d
cmpl %r12d, %eax
jbe 0x14968
movq %r15, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_cpp_makefile_star2_O1/venGaza[P]starwars/src/main.cpp
// Function: main
int main() {
    welcomeMessage();
    
    Game game;
    while (!game.getExitGame()) {
        game.menu();
        game.resetGame();
    }
    
    cout << "Have a great holiday and may the force be with you! Make sure to check out "
         << "Star Wars: The Last Jedi" << endl << endl;
    
    return 0;
}

// Assembly:
pushq %rbx
subq $0x50, %rsp
callq 0x26f2
leaq 0x8(%rsp), %rbx
movq %rbx, %rdi
callq 0x4f98
movq %rbx, %rdi
callq 0x5da2
testb %al, %al
jne 0x2641
movq %rbx, %rdi
callq 0x504a
movq %rbx, %rdi
callq 0x5da6
jmp 0x2623
movq 0xb988(%rip), %rdi      # 0xdfd0
leaq 0x59b5(%rip), %rsi      # 0x8004
movl $0x4b, %edx
callq 0x2160
movq 0xb970(%rip), %rbx      # 0xdfd0
leaq 0x59e9(%rip), %rsi      # 0x8050
movl $0x18, %edx
movq %rbx, %rdi
callq 0x2160
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x2130
movsbl %al, %esi
movq 0xb93e(%rip), %rdi      # 0xdfd0
callq 0x2030
movq %rax, %rdi
callq 0x20d0
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2130
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20d0
leaq 0x8(%rsp), %rdi
callq 0x5022
xorl %eax, %eax
addq $0x50, %rsp
popq %rbx
retq
jmp 0x26dd
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x5022
movq %rbx, %rdi
callq 0x2220
// File: /workspace/github_cpp_makefile_star2_O1/venGaza[P]starwars/src/StartSpace.cpp
// Function: StartSpace::StartSpace()
StartSpace::StartSpace() {
    Space::roomName = "Blast Site";
    Space::roomDescription= "It looks like an explosion just took place here. You don't remember what happened though.";
    
    Space::top = new Corridor;
    Space::top->setBottom(this);
    Space::bottom = new SnokeSpace;
    Space::bottom->setTop(this);
    Space::left = nullptr;
    Space::right = new CoreReactor;
    Space::right->setLeft(this);
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rdi, %rbx
callq 0x754c
leaq 0xb334(%rip), %rax      # 0xdaa8
movq %rax, (%rbx)
leaq 0x8(%rbx), %rdi
movq 0x10(%rbx), %rdx
leaq 0x5d7e(%rip), %rcx      # 0x8504
movl $0xa, %r8d
xorl %esi, %esi
callq 0x21c0
leaq 0x28(%rbx), %rdi
movq 0x30(%rbx), %rdx
leaq 0x59af(%rip), %rcx      # 0x8151
movl $0x59, %r8d
xorl %esi, %esi
callq 0x21c0
movl $0x68, %edi
callq 0x2140
movq %rax, %r15
movq %rax, %rdi
callq 0x4410
movq %r15, 0x48(%rbx)
movq %r15, %rdi
movq %rbx, %rsi
callq 0x76b8
movl $0x68, %edi
callq 0x2140
movq %rax, %r15
movq %rax, %rdi
callq 0x2c04
movq %r15, 0x50(%rbx)
movq %r15, %rdi
movq %rbx, %rsi
callq 0x76b2
movq $0x0, 0x60(%rbx)
movl $0x70, %edi
callq 0x2140
movq %rax, %r15
movq %rax, %rdi
callq 0x3050
movq %r15, 0x58(%rbx)
movq %r15, %rdi
movq %rbx, %rsi
callq 0x76be
popq %rbx
popq %r14
popq %r15
retq
movq %rax, %r14
movl $0x70, %esi
jmp 0x283d
jmp 0x2835
movq %rax, %r14
movl $0x68, %esi
movq %r15, %rdi
callq 0x2150
jmp 0x284a
movq %rax, %r14
movq %rbx, %rdi
callq 0x75fa
movq %r14, %rdi
callq 0x2220
// File: /workspace/github_cpp_makefile_star2_O1/venGaza[P]starwars/src/StartSpace.cpp
// Function: StartSpace::StartSpace(Space*, Space*, Space*, Space*)
StartSpace::StartSpace(Space* top, Space* bottom, Space* left, Space* right) {
    this->Space::top = top;
    this->Space::bottom = bottom;
    this->Space::left = left;
    this->Space::right = right;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
movq %r8, %rbx
movq %rcx, %r14
movq %rdx, %r15
movq %rsi, %r12
movq %rdi, %r13
callq 0x754c
leaq 0xb22a(%rip), %rax      # 0xdaa8
movq %rax, (%r13)
movq %r12, 0x48(%r13)
movq %r15, 0x50(%r13)
movq %r14, 0x60(%r13)
movq %rbx, 0x58(%r13)
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
// File: /workspace/github_cpp_makefile_star2_O1/venGaza[P]starwars/src/StartSpace.cpp
// Function: StartSpace::getChoice[abi:cxx11]()
string StartSpace::getChoice() {
    cout << "Please select a choice (enter integer): ";
    int choice = getInteger();
    validate(choice, 1, 5);
    cout << endl;
    
    if (choice == 1) {
        return "north";
    } else if (choice == 2) {
        return "east";
    } else if (choice == 3) {
        return "south";
    } else if (choice == 4) {
        return "items";
    } else {
        return "look";
    }
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x10, %rsp
movq %rdi, %rbx
movq 0xb545(%rip), %r14      # 0xdfd0
leaq 0x5788(%rip), %rsi      # 0x821a
movl $0x28, %edx
movq %r14, %rdi
callq 0x2160
callq 0x6790
leaq 0xc(%rsp), %r15
movl %eax, (%r15)
movq %r15, %rdi
movl $0x1, %esi
movl $0x5, %edx
callq 0x3d98
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x2130
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20d0
movl (%r15), %eax
leaq 0x10(%rbx), %rcx
movq %rcx, (%rbx)
decl %eax
cmpl $0x3, %eax
ja 0x2b46
leaq 0x5637(%rip), %rcx      # 0x8134
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x5736(%rip), %rsi      # 0x8243
leaq 0x5734(%rip), %rdx      # 0x8248
jmp 0x2b54
leaq 0x5731(%rip), %rsi      # 0x824e
leaq 0x572f(%rip), %rdx      # 0x8253
jmp 0x2b54
leaq 0x5727(%rip), %rsi      # 0x8254
leaq 0x5725(%rip), %rdx      # 0x8259
jmp 0x2b54
leaq 0x570c(%rip), %rsi      # 0x8249
leaq 0x5709(%rip), %rdx      # 0x824d
jmp 0x2b54
leaq 0x570d(%rip), %rsi      # 0x825a
leaq 0x570a(%rip), %rdx      # 0x825e
movq %rbx, %rdi
callq 0x2b74
movq %rbx, %rax
addq $0x10, %rsp
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_cpp_makefile_star2_O1/venGaza[P]starwars/src/SnokeSpace.cpp
// Function: SnokeSpace::SnokeSpace()
SnokeSpace::SnokeSpace() {
    Space::roomName = "Supreme Leader Snoke";
    Space::roomDescription= "A figure emerges from the back of the room. The dark side emanates greatly. ";
    
    Space::top = nullptr;
    Space::bottom = nullptr;
    Space::left = nullptr;
    Space::right = nullptr;
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
callq 0x754c
leaq 0xaed9(%rip), %rax      # 0xdaf0
movq %rax, (%rbx)
leaq 0x8(%rbx), %rdi
movq 0x10(%rbx), %rdx
leaq 0x5680(%rip), %rcx      # 0x82a9
movl $0x14, %r8d
xorl %esi, %esi
callq 0x21c0
leaq 0x28(%rbx), %rdi
movq 0x30(%rbx), %rdx
leaq 0x5679(%rip), %rcx      # 0x82be
movl $0x4c, %r8d
xorl %esi, %esi
callq 0x21c0
xorps %xmm0, %xmm0
movups %xmm0, 0x58(%rbx)
movups %xmm0, 0x48(%rbx)
addq $0x8, %rsp
popq %rbx
popq %r14
retq
movq %rax, %r14
movq %rbx, %rdi
callq 0x75fa
movq %r14, %rdi
callq 0x2220
// File: /workspace/github_cpp_makefile_star2_O1/venGaza[P]starwars/src/SnokeSpace.cpp
// Function: SnokeSpace::SnokeSpace(Space*, Space*, Space*, Space*)
SnokeSpace::SnokeSpace(Space* top, Space* bottom, Space* left, Space* right) {
    this->Space::top = top;
    this->Space::bottom = bottom;
    this->Space::left = left;
    this->Space::right = right;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
movq %r8, %rbx
movq %rcx, %r14
movq %rdx, %r15
movq %rsi, %r12
movq %rdi, %r13
callq 0x754c
leaq 0xae54(%rip), %rax      # 0xdaf0
movq %rax, (%r13)
movq %r12, 0x48(%r13)
movq %r15, 0x50(%r13)
movq %r14, 0x60(%r13)
movq %rbx, 0x58(%r13)
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
// File: /workspace/github_cpp_makefile_star2_O1/venGaza[P]starwars/src/LaunchBay.cpp
// Function: LaunchBay::LaunchBay()
LaunchBay::LaunchBay() {
    Space::roomName = "Launch Bay";
    Space::roomDescription= "The heart of the Starship. A towering plasma cylinder glow ahead lighting the entire room.";
    
    Space::top = nullptr;
    Space::bottom = nullptr;
    Space::left = nullptr;
    Space::right = nullptr;
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
callq 0x754c
leaq 0xad59(%rip), %rax      # 0xdb38
movq %rax, (%rbx)
leaq 0x8(%rbx), %rdi
movq 0x10(%rbx), %rdx
leaq 0x7008(%rip), %rcx      # 0x9df9
movl $0xa, %r8d
xorl %esi, %esi
callq 0x21c0
leaq 0x28(%rbx), %rdi
movq 0x30(%rbx), %rdx
leaq 0x54fe(%rip), %rcx      # 0x830b
movl $0x5a, %r8d
xorl %esi, %esi
callq 0x21c0
xorps %xmm0, %xmm0
movups %xmm0, 0x58(%rbx)
movups %xmm0, 0x48(%rbx)
addq $0x8, %rsp
popq %rbx
popq %r14
retq
movq %rax, %r14
movq %rbx, %rdi
callq 0x75fa
movq %r14, %rdi
callq 0x2220
// File: /workspace/github_cpp_makefile_star2_O1/venGaza[P]starwars/src/LaunchBay.cpp
// Function: LaunchBay::LaunchBay(Space*, Space*, Space*, Space*)
LaunchBay::LaunchBay(Space* top, Space* bottom, Space* left, Space* right) {
    this->Space::top = top;
    this->Space::bottom = bottom;
    this->Space::left = left;
    this->Space::right = right;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
movq %r8, %rbx
movq %rcx, %r14
movq %rdx, %r15
movq %rsi, %r12
movq %rdi, %r13
callq 0x754c
leaq 0xacd4(%rip), %rax      # 0xdb38
movq %rax, (%r13)
movq %r12, 0x48(%r13)
movq %r15, 0x50(%r13)
movq %r14, 0x60(%r13)
movq %rbx, 0x58(%r13)
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
// File: /workspace/github_cpp_makefile_star2_O1/venGaza[P]starwars/src/LaunchBay.cpp
// Function: LaunchBay::getChoice[abi:cxx11]()
string LaunchBay::getChoice() {
    cout << "Please select a choice (enter integer): ";
    int choice = getInteger();
    validate(choice, 1, 3);
    cout << endl;
    
    if (choice == 1) {
        return "east";
    } else if (choice == 2) {
        return "items";
    } else {
        return "look";
    }
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x10, %rsp
movq %rdi, %rbx
movq 0xb033(%rip), %r14      # 0xdfd0
leaq 0x5276(%rip), %rsi      # 0x821a
movl $0x28, %edx
movq %r14, %rdi
callq 0x2160
callq 0x6790
leaq 0xc(%rsp), %r15
movl %eax, (%r15)
movq %r15, %rdi
movl $0x1, %esi
movl $0x3, %edx
callq 0x3d98
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x2130
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20d0
movl (%r15), %eax
leaq 0x10(%rbx), %rcx
movq %rcx, (%rbx)
cmpl $0x2, %eax
je 0x301b
cmpl $0x1, %eax
jne 0x302b
leaq 0x5237(%rip), %rsi      # 0x8249
leaq 0x5234(%rip), %rdx      # 0x824d
jmp 0x3039
leaq 0x5232(%rip), %rsi      # 0x8254
leaq 0x5230(%rip), %rdx      # 0x8259
jmp 0x3039
leaq 0x5228(%rip), %rsi      # 0x825a
leaq 0x5225(%rip), %rdx      # 0x825e
movq %rbx, %rdi
callq 0x2b74
movq %rbx, %rax
addq $0x10, %rsp
popq %rbx
popq %r14
popq %r15
retq
nop
// File: /workspace/github_cpp_makefile_star2_O1/venGaza[P]starwars/src/CoreReactor.cpp
// Function: CoreReactor::CoreReactor()
CoreReactor::CoreReactor() {
    Space::roomName = "Core Reactor";
    Space::roomDescription= "The heart of the Starship. A towering plasma cylinder glows ahead lighting the entire room. Maybe there is something useful in here...";
    
    Space::top = new Corridor;
    Space::top->setBottom(this);
    Space::bottom = new DetentionBlock;
    Space::bottom->setTop(this);
    Space::left = nullptr;
    Space::right = new Infirmary;
    Space::right->setLeft(this);
    
    lightsaberAvail = true;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rdi, %rbx
callq 0x754c
leaq 0xab1c(%rip), %rax      # 0xdb80
movq %rax, (%rbx)
leaq 0x8(%rbx), %rdi
movq 0x10(%rbx), %rdx
leaq 0x6c67(%rip), %rcx      # 0x9cdd
movl $0xc, %r8d
xorl %esi, %esi
callq 0x21c0
leaq 0x28(%rbx), %rdi
movq 0x30(%rbx), %rdx
leaq 0x5344(%rip), %rcx      # 0x83d6
movl $0x86, %r8d
xorl %esi, %esi
callq 0x21c0
movl $0x68, %edi
callq 0x2140
movq %rax, %r15
movq %rax, %rdi
callq 0x4410
movq %r15, 0x48(%rbx)
movq %r15, %rdi
movq %rbx, %rsi
callq 0x76b8
movl $0x70, %edi
callq 0x2140
movq %rax, %r15
movq %rax, %rdi
callq 0x6cc0
movq %r15, 0x50(%rbx)
movq %r15, %rdi
movq %rbx, %rsi
callq 0x76b2
movq $0x0, 0x60(%rbx)
movl $0x70, %edi
callq 0x2140
movq %rax, %r15
movq %rax, %rdi
callq 0x3e20
movq %r15, 0x58(%rbx)
movq %r15, %rdi
movq %rbx, %rsi
callq 0x76be
movb $0x1, 0x68(%rbx)
popq %rbx
popq %r14
popq %r15
retq
jmp 0x311f
movq %rax, %r14
movl $0x70, %esi
jmp 0x3131
movq %rax, %r14
movl $0x68, %esi
movq %r15, %rdi
callq 0x2150
jmp 0x313e
movq %rax, %r14
movq %rbx, %rdi
callq 0x75fa
movq %r14, %rdi
callq 0x2220
// File: /workspace/github_cpp_makefile_star2_O1/venGaza[P]starwars/src/CoreReactor.cpp
// Function: CoreReactor::CoreReactor(Space*, Space*, Space*, Space*)
CoreReactor::CoreReactor(Space* top, Space* bottom, Space* left, Space* right) {
    this->Space::top = top;
    this->Space::bottom = bottom;
    this->Space::left = left;
    this->Space::right = right;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
movq %r8, %rbx
movq %rcx, %r14
movq %rdx, %r15
movq %rsi, %r12
movq %rdi, %r13
callq 0x754c
leaq 0xaa0e(%rip), %rax      # 0xdb80
movq %rax, (%r13)
movq %r12, 0x48(%r13)
movq %r15, 0x50(%r13)
movq %r14, 0x60(%r13)
movq %rbx, 0x58(%r13)
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
// File: /workspace/github_cpp_makefile_star2_O1/venGaza[P]starwars/src/Map.cpp
// Function: Map::moveNorth()
void Map::moveNorth() {
    if (location->getTop() != nullptr) {
        location = location->getTop();
        printLocation();
    } else {
        cout << "Cannot move in that direction." << endl;
    }
    
}

// Assembly:
pushq %rbx
movq %rdi, %rbx
movq 0x10(%rdi), %rdi
callq 0x7686
testq %rax, %rax
je 0x3810
movq 0x10(%rbx), %rdi
callq 0x7686
movq %rax, 0x10(%rbx)
movq %rbx, %rdi
popq %rbx
jmp 0x3854
movq 0xa7b9(%rip), %rbx      # 0xdfd0
leaq 0x4d01(%rip), %rsi      # 0x851f
movl $0x1e, %edx
movq %rbx, %rdi
callq 0x2160
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2130
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
popq %rbx
jmp 0x20d0
nop
// File: /workspace/github_cpp_makefile_star2_O1/venGaza[P]starwars/src/Map.cpp
// Function: Map::moveSouth()
void Map::moveSouth() {
    if (location->getBottom() != nullptr) {
        location = location->getBottom();
        printLocation();
    } else {
        cout << "Cannot move in that direction." << endl;
    }
}

// Assembly:
pushq %rbx
movq %rdi, %rbx
movq 0x10(%rdi), %rdi
callq 0x768c
testq %rax, %rax
je 0x3b16
movq 0x10(%rbx), %rdi
callq 0x768c
movq %rax, 0x10(%rbx)
movq %rbx, %rdi
popq %rbx
jmp 0x3854
movq 0xa4b3(%rip), %rbx      # 0xdfd0
leaq 0x49fb(%rip), %rsi      # 0x851f
movl $0x1e, %edx
movq %rbx, %rdi
callq 0x2160
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2130
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
popq %rbx
jmp 0x20d0
nop
// File: /workspace/github_cpp_makefile_star2_O1/venGaza[P]starwars/src/Map.cpp
// Function: Map::moveEast()
void Map::moveEast() {
    if (location->getRight() != nullptr) {
        location = location->getRight();
        printLocation();
    } else {
        cout << "Cannot move in that direction." << endl;
    }
}

// Assembly:
pushq %rbx
movq %rdi, %rbx
movq 0x10(%rdi), %rdi
callq 0x7698
testq %rax, %rax
je 0x3b82
movq 0x10(%rbx), %rdi
callq 0x7698
movq %rax, 0x10(%rbx)
movq %rbx, %rdi
popq %rbx
jmp 0x3854
movq 0xa447(%rip), %rbx      # 0xdfd0
leaq 0x498f(%rip), %rsi      # 0x851f
movl $0x1e, %edx
movq %rbx, %rdi
callq 0x2160
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2130
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
popq %rbx
jmp 0x20d0
nop
// File: /workspace/github_cpp_makefile_star2_O1/venGaza[P]starwars/src/Map.cpp
// Function: Map::moveWest()
void Map::moveWest() {
    if (location->getLeft() != nullptr) {
        location = location->getLeft();
        printLocation();
    } else {
        cout << "Cannot move in that direction." << endl;
    }
}

// Assembly:
pushq %rbx
movq %rdi, %rbx
movq 0x10(%rdi), %rdi
callq 0x7692
testq %rax, %rax
je 0x3bee
movq 0x10(%rbx), %rdi
callq 0x7692
movq %rax, 0x10(%rbx)
movq %rbx, %rdi
popq %rbx
jmp 0x3854
movq 0xa3db(%rip), %rbx      # 0xdfd0
leaq 0x4923(%rip), %rsi      # 0x851f
movl $0x1e, %edx
movq %rbx, %rdi
callq 0x2160
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2130
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
popq %rbx
jmp 0x20d0
nop
// File: /workspace/github_cpp_makefile_star2_O1/venGaza[P]starwars/src/Map.cpp
// Function: Map::addSpace(Space*&, Space*&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
void Map::addSpace(Space*& location, Space*& newSpace, string side) {
    if (side == "right") {
        location->setRight(newSpace);
        newSpace->setLeft(location);
        newSpace = nullptr;
    } else if (side == "left") {
        location->setLeft(newSpace);
        newSpace->setRight(location);
        newSpace = nullptr;
    } else if (side == "top") {
        location->setTop(newSpace);
        newSpace->setBottom(location);
        newSpace = nullptr;
    } else {
        location->setBottom(newSpace);
        newSpace->setTop(location);
        newSpace = nullptr;
    }
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rcx, %r15
movq %rdx, %rbx
movq %rsi, %r14
leaq 0x4940(%rip), %rsi      # 0x859f
movq %rcx, %rdi
callq 0x2050
testl %eax, %eax
je 0x3ca9
leaq 0x4933(%rip), %rsi      # 0x85a5
movq %r15, %rdi
callq 0x2050
testl %eax, %eax
je 0x3cc1
leaq 0x4925(%rip), %rsi      # 0x85aa
movq %r15, %rdi
callq 0x2050
movq (%r14), %rdi
movq (%rbx), %rsi
testl %eax, %eax
je 0x3cd9
callq 0x76b8
movq (%rbx), %rdi
movq (%r14), %rsi
callq 0x76b2
jmp 0x3ce9
movq (%r14), %rdi
movq (%rbx), %rsi
callq 0x76c4
movq (%rbx), %rdi
movq (%r14), %rsi
callq 0x76be
jmp 0x3ce9
movq (%r14), %rdi
movq (%rbx), %rsi
callq 0x76be
movq (%rbx), %rdi
movq (%r14), %rsi
callq 0x76c4
jmp 0x3ce9
callq 0x76b2
movq (%rbx), %rdi
movq (%r14), %rsi
callq 0x76b8
movq $0x0, (%rbx)
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_cpp_makefile_star2_O1/venGaza[P]starwars/src/Map.cpp
// Function: Map::connectSpace(Space*, Space*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
void Map::connectSpace(Space* location, Space* connection, string side) {
    if (side == "right") {
        location->setRight(connection);
        connection->setLeft(location);
    } else if (side == "left") {
        location->setLeft(connection);
        connection->setRight(location);
    } else if (side == "top") {
        location->setTop(connection);
        connection->setRight(location);
    } else {
        location->setBottom(connection);
        connection->setTop(location);
    }
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rcx, %r15
movq %rdx, %r14
movq %rsi, %rbx
leaq 0x4894(%rip), %rsi      # 0x859f
movq %rcx, %rdi
callq 0x2050
testl %eax, %eax
je 0x3d58
leaq 0x4887(%rip), %rsi      # 0x85a5
movq %r15, %rdi
callq 0x2050
testl %eax, %eax
je 0x3d73
leaq 0x4879(%rip), %rsi      # 0x85aa
movq %r15, %rdi
callq 0x2050
movq %rbx, %rdi
movq %r14, %rsi
testl %eax, %eax
je 0x3d80
callq 0x76b8
movq %r14, %rdi
movq %rbx, %rsi
popq %rbx
popq %r14
popq %r15
jmp 0x76b2
movq %rbx, %rdi
movq %r14, %rsi
callq 0x76c4
movq %r14, %rdi
movq %rbx, %rsi
popq %rbx
popq %r14
popq %r15
jmp 0x76be
movq %rbx, %rdi
movq %r14, %rsi
callq 0x76be
jmp 0x3d85
callq 0x76b2
movq %r14, %rdi
movq %rbx, %rsi
popq %rbx
popq %r14
popq %r15
jmp 0x76c4
nopl (%rax)
// File: /workspace/github_cpp_makefile_star2_O1/venGaza[P]starwars/src/validate.cpp
// Function: validate(int&, int, int)
void validate(int& selection, int min, int max) {
    while(selection < min || selection > max) {
        cout << "The number you input is invalid. Please enter a new number: ";
        selection = getInteger();
        cout << endl;
    }
}

// Assembly:
movl (%rdi), %eax
cmpl %esi, %eax
setge %cl
cmpl %edx, %eax
setle %al
testb %al, %cl
jne 0x3e1d
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
movl %edx, %ebx
movl %esi, %ebp
movq %rdi, %r14
movq 0xa212(%rip), %r15      # 0xdfd0
leaq 0x47e9(%rip), %r12      # 0x85ae
movl $0x3c, %edx
movq %r15, %rdi
movq %r12, %rsi
callq 0x2160
callq 0x6790
movl %eax, (%r14)
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x2130
movsbl %al, %esi
movq %r15, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20d0
movl (%r14), %eax
cmpl %ebp, %eax
setl %cl
cmpl %ebx, %eax
setg %al
orb %cl, %al
jne 0x3dc5
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
nop
// File: /workspace/github_cpp_makefile_star2_O1/venGaza[P]starwars/src/Infirmary.cpp
// Function: Infirmary::Infirmary()
Infirmary::Infirmary() {
    Space::roomName = "Infirmary";
    Space::roomDescription= "There are a few med pods in here... a 20 min nap sounds in order.";
    
    Space::top = nullptr;
    Space::bottom = nullptr;
    Space::left = nullptr;
    Space::right = new Armory;
    Space::right->setLeft(this);
    
    medPodAvail = true;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rdi, %rbx
callq 0x754c
leaq 0x9d94(%rip), %rax      # 0xdbc8
movq %rax, (%rbx)
leaq 0x8(%rbx), %rdi
movq 0x10(%rbx), %rdx
leaq 0x4621(%rip), %rcx      # 0x8467
movl $0x9, %r8d
xorl %esi, %esi
callq 0x21c0
leaq 0x28(%rbx), %rdi
movq 0x30(%rbx), %rdx
leaq 0x47a5(%rip), %rcx      # 0x8607
movl $0x41, %r8d
xorl %esi, %esi
callq 0x21c0
movq $0x0, 0x60(%rbx)
xorps %xmm0, %xmm0
movups %xmm0, 0x48(%rbx)
movl $0x70, %edi
callq 0x2140
movq %rax, %r14
movq %rax, %rdi
callq 0x4934
movq %r14, 0x58(%rbx)
movq %r14, %rdi
movq %rbx, %rsi
callq 0x76be
movb $0x1, 0x68(%rbx)
popq %rbx
popq %r14
popq %r15
retq
movq %rax, %r15
movl $0x70, %esi
movq %r14, %rdi
callq 0x2150
jmp 0x3ec1
movq %rax, %r15
movq %rbx, %rdi
callq 0x75fa
movq %r15, %rdi
callq 0x2220
nop
// File: /workspace/github_cpp_makefile_star2_O1/venGaza[P]starwars/src/Infirmary.cpp
// Function: Infirmary::printChoices()
void Infirmary::printChoices() {
    if (medPodAvail) {
        cout << "1) East - Armory" << endl
             << "2) West - Core Reactor" << endl
             << "3) Item Inventory " << endl
             << "4) Look around" << endl
             << "5) Use Med Pod Bay" << endl << endl;
    } else {
        cout << "1) East - Armory" << endl
        << "2) West - Core Reactor" << endl
        << "3) Item Inventory " << endl
        << "4) Look around" << endl << endl;
    }
}

// Assembly:
pushq %rbp
pushq %rbx
pushq %rax
movb 0x68(%rdi), %bpl
movq 0xa064(%rip), %rbx      # 0xdfd0
leaq 0x46d6(%rip), %rsi      # 0x8649
movl $0x10, %edx
movq %rbx, %rdi
callq 0x2160
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2130
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20d0
movq %rax, %rbx
leaq 0x46a9(%rip), %rsi      # 0x865a
movl $0x16, %edx
movq %rax, %rdi
callq 0x2160
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2130
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20d0
movq %rax, %rbx
leaq 0x4682(%rip), %rsi      # 0x8671
movl $0x12, %edx
movq %rax, %rdi
callq 0x2160
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2130
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20d0
movq %rax, %rbx
leaq 0x4657(%rip), %rsi      # 0x8684
movl $0xe, %edx
movq %rax, %rdi
callq 0x2160
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2130
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20d0
movq %rax, %rbx
cmpb $0x1, %bpl
jne 0x40a8
leaq 0x4622(%rip), %rsi      # 0x8693
movl $0x12, %edx
movq %rbx, %rdi
callq 0x2160
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2130
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20d0
movq %rax, %rbx
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2130
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
addq $0x8, %rsp
popq %rbx
popq %rbp
jmp 0x20d0
nop
// File: /workspace/github_cpp_makefile_star2_O1/venGaza[P]starwars/src/Corridor.cpp
// Function: Corridor::Corridor()
Corridor::Corridor() {
    Space::roomName = "Corridor";
    Space::roomDescription= "A long hallway on the Starship with locked doors lining the walls. This seems to be a dead end.";
    
    Space::top = nullptr;
    Space::bottom = nullptr;
    Space::left = nullptr;
    Space::right = nullptr;
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
callq 0x754c
leaq 0x97ed(%rip), %rax      # 0xdc10
movq %rax, (%rbx)
leaq 0x8(%rbx), %rdi
movq 0x10(%rbx), %rdx
leaq 0x4278(%rip), %rcx      # 0x86ad
movl $0x8, %r8d
xorl %esi, %esi
callq 0x21c0
leaq 0x28(%rbx), %rdi
movq 0x30(%rbx), %rdx
leaq 0x4265(%rip), %rcx      # 0x86b6
movl $0x5f, %r8d
xorl %esi, %esi
callq 0x21c0
xorps %xmm0, %xmm0
movups %xmm0, 0x58(%rbx)
movups %xmm0, 0x48(%rbx)
addq $0x8, %rsp
popq %rbx
popq %r14
retq
movq %rax, %r14
movq %rbx, %rdi
callq 0x75fa
movq %r14, %rdi
callq 0x2220
// File: /workspace/github_cpp_makefile_star2_O1/venGaza[P]starwars/src/Corridor.cpp
// Function: Corridor::Corridor(Space*, Space*, Space*, Space*)
Corridor::Corridor(Space* top, Space* bottom, Space* left, Space* right) {
    this->Space::top = top;
    this->Space::bottom = bottom;
    this->Space::left = left;
    this->Space::right = right;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
movq %r8, %rbx
movq %rcx, %r14
movq %rdx, %r15
movq %rsi, %r12
movq %rdi, %r13
callq 0x754c
leaq 0x9768(%rip), %rax      # 0xdc10
movq %rax, (%r13)
movq %r12, 0x48(%r13)
movq %r15, 0x50(%r13)
movq %r14, 0x60(%r13)
movq %rbx, 0x58(%r13)
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
// File: /workspace/github_cpp_makefile_star2_O1/venGaza[P]starwars/src/Corridor.cpp
// Function: Corridor::getChoice[abi:cxx11]()
string Corridor::getChoice() {
    cout << "Please select a choice (enter integer): ";
    int choice = getInteger();
    validate(choice, 1, 3);
    cout << endl;
    
    if (choice == 1) {
        return "south";
    } else if (choice == 2) {
        return "items";
    } else {
        return "look";
    }
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x10, %rsp
movq %rdi, %rbx
movq 0x99ef(%rip), %r14      # 0xdfd0
leaq 0x3c32(%rip), %rsi      # 0x821a
movl $0x28, %edx
movq %r14, %rdi
callq 0x2160
callq 0x6790
leaq 0xc(%rsp), %r15
movl %eax, (%r15)
movq %r15, %rdi
movl $0x1, %esi
movl $0x3, %edx
callq 0x3d98
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x2130
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20d0
movl (%r15), %eax
leaq 0x10(%rbx), %rcx
movq %rcx, (%rbx)
cmpl $0x2, %eax
je 0x465f
cmpl $0x1, %eax
jne 0x466f
leaq 0x3bf8(%rip), %rsi      # 0x824e
leaq 0x3bf6(%rip), %rdx      # 0x8253
jmp 0x467d
leaq 0x3bee(%rip), %rsi      # 0x8254
leaq 0x3bec(%rip), %rdx      # 0x8259
jmp 0x467d
leaq 0x3be4(%rip), %rsi      # 0x825a
leaq 0x3be1(%rip), %rdx      # 0x825e
movq %rbx, %rdi
callq 0x2b74
movq %rbx, %rax
addq $0x10, %rsp
popq %rbx
popq %r14
popq %r15
retq
nop
// File: /workspace/github_cpp_makefile_star2_O1/venGaza[P]starwars/src/randomNumber.cpp
// Function: randomNumber(int, int)
int randomNumber(int min, int max) {
    std::random_device rd;                             //Create seed object
    std::minstd_rand0 engine(rd());                    //Seed the engine
    std::uniform_int_distribution<int> work(min, max); //Set range for distribution
    int randomNumber = work(engine);
    
    return randomNumber;
}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
subq $0x13a0, %rsp           # imm = 0x13A0
movl %esi, %ebx
movl %edi, %ebp
leaq 0x18(%rsp), %r14
movq %r14, %rdi
callq 0x4732
movq %r14, %rdi
callq 0x2180
movl %eax, %ecx
leaq (%rcx,%rcx,2), %rcx
shrq $0x20, %rcx
movl %eax, %edx
subl %ecx, %edx
shrl %edx
addl %ecx, %edx
shrl $0x1e, %edx
movl %edx, %ecx
shll $0x1f, %ecx
orl %edx, %ecx
leal (%rax,%rcx), %edx
cmpl $0x1, %edx
adcl %eax, %ecx
leaq 0x8(%rsp), %rsi
movq %rcx, (%rsi)
leaq 0x10(%rsp), %rdi
movl %ebp, (%rdi)
movl %ebx, 0x4(%rdi)
movq %rdi, %rdx
callq 0x47ac
movl %eax, %ebx
leaq 0x18(%rsp), %rdi
callq 0x2120
movl %ebx, %eax
addq $0x13a0, %rsp           # imm = 0x13A0
popq %rbx
popq %r14
popq %rbp
retq
jmp 0x4729
jmp 0x4714
movq %rax, %rbx
leaq 0x18(%rsp), %rdi
callq 0x2120
movq %rbx, %rdi
callq 0x2220
movq %rax, %rdi
callq 0x2b69
nop
// File: /workspace/github_cpp_makefile_star2_O1/venGaza[P]starwars/src/Armory.cpp
// Function: Armory::Armory()
Armory::Armory() {
    Space::roomName = "Armory";
    Space::roomDescription= "The space where all the weapons are stored on the ship. Mostly plasma blasters but you are too cool for those.";
    
    Space::top = new Corridor;
    Space::top->setBottom(this);
    Space::bottom = new Corridor;
    Space::top->setTop(this);
    Space::left = nullptr;
    Space::right = new Door;
    Space::right->setLeft(this);
    
    codeAvail = true;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rdi, %rbx
callq 0x754c
leaq 0x9310(%rip), %rax      # 0xdc58
movq %rax, (%rbx)
leaq 0x8(%rbx), %rdi
movq 0x10(%rbx), %rdx
leaq 0x3cf9(%rip), %rcx      # 0x8653
movl $0x6, %r8d
xorl %esi, %esi
callq 0x21c0
leaq 0x28(%rbx), %rdi
movq 0x30(%rbx), %rdx
leaq 0x3df2(%rip), %rcx      # 0x8768
movl $0x6e, %r8d
xorl %esi, %esi
callq 0x21c0
movl $0x68, %edi
callq 0x2140
movq %rax, %r15
movq %rax, %rdi
callq 0x4410
movq %r15, 0x48(%rbx)
movq %r15, %rdi
movq %rbx, %rsi
callq 0x76b8
movl $0x68, %edi
callq 0x2140
movq %rax, %r15
movq %rax, %rdi
callq 0x4410
movq %r15, 0x50(%rbx)
movq 0x48(%rbx), %rdi
movq %rbx, %rsi
callq 0x76b2
movq $0x0, 0x60(%rbx)
movl $0x68, %edi
callq 0x2140
movq %rax, %r15
movq %rax, %rdi
callq 0x68f8
movq %r15, 0x58(%rbx)
movq %r15, %rdi
movq %rbx, %rsi
callq 0x76be
movb $0x1, 0x68(%rbx)
popq %rbx
popq %r14
popq %r15
retq
jmp 0x4a06
jmp 0x4a06
movq %rax, %r14
movl $0x68, %esi
movq %r15, %rdi
callq 0x2150
jmp 0x4a1b
movq %rax, %r14
movq %rbx, %rdi
callq 0x75fa
movq %r14, %rdi
callq 0x2220
nop
// File: /workspace/github_cpp_makefile_star2_O1/venGaza[P]starwars/src/Armory.cpp
// Function: Armory::printChoices()
void Armory::printChoices() {
    if (codeAvail) {
        cout << "1) North - Mysterious Room" << endl
             << "2) East - Startanium Door" << endl
             << "3) South - Mysterious Room" << endl
             << "4) West - Infirmary" << endl
             << "5) Item Inventory " << endl
             << "6) Look around" << endl
             << "7) Pick up crumpled paper" << endl << endl;
    } else {
        cout << "1) North - Mysterious Room" << endl
        << "2) East - Startanium Door" << endl
        << "3) South - Mysterious Room" << endl
        << "4) West - Infirmary" << endl
        << "5) Item Inventory " << endl
        << "6) Look around" << endl << endl;
    }
}

// Assembly:
pushq %rbp
pushq %rbx
pushq %rax
movb 0x68(%rdi), %bpl
movq 0x94de(%rip), %rbx      # 0xdfd0
leaq 0x36b2(%rip), %rsi      # 0x81ab
movl $0x1a, %edx
movq %rbx, %rdi
callq 0x2160
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2130
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20d0
movq %rax, %rbx
leaq 0x3ca0(%rip), %rsi      # 0x87d7
movl $0x19, %edx
movq %rax, %rdi
callq 0x2160
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2130
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20d0
movq %rax, %rbx
leaq 0x3668(%rip), %rsi      # 0x81dd
movl $0x1a, %edx
movq %rax, %rdi
callq 0x2160
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2130
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20d0
movq %rax, %rbx
leaq 0x3c3e(%rip), %rsi      # 0x87f1
movl $0x13, %edx
movq %rax, %rdi
callq 0x2160
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2130
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20d0
movq %rax, %rbx
leaq 0x38b3(%rip), %rsi      # 0x84a4
movl $0x12, %edx
movq %rax, %rdi
callq 0x2160
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2130
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20d0
movq %rax, %rbx
leaq 0x3888(%rip), %rsi      # 0x84b7
movl $0xe, %edx
movq %rax, %rdi
callq 0x2160
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2130
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20d0
movq %rax, %rbx
cmpb $0x1, %bpl
jne 0x4caa
leaq 0x3b92(%rip), %rsi      # 0x8805
movl $0x19, %edx
movq %rbx, %rdi
callq 0x2160
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2130
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20d0
movq %rax, %rbx
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2130
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
addq $0x8, %rsp
popq %rbx
popq %rbp
jmp 0x20d0
nop
// File: /workspace/github_cpp_makefile_star2_O1/venGaza[P]starwars/src/Game.cpp
// Function: Game::Game()
Game::Game() {
    playerName = "Luke";
    exitGame = false;
    gameOver = false;
    playerHealth = 10;
    doorCode = 1225;
    kyloWinGame = true;
    chewbaccaFree = false;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %rbx
leaq 0x10(%rdi), %r12
movq %r12, (%rdi)
xorl %eax, %eax
movq %rax, 0x8(%rdi)
movb $0x0, 0x10(%rdi)
leaq 0x30(%rdi), %r14
xorps %xmm0, %xmm0
movups %xmm0, 0x30(%rdi)
movq %rax, 0x40(%rdi)
leaq 0x3855(%rip), %rcx      # 0x881f
movl $0x4, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x21c0
movl $0x100, 0x20(%rbx)      # imm = 0x100
movabsq $0x4c90000000a, %rax    # imm = 0x4C90000000A
movq %rax, 0x24(%rbx)
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
movq %rax, %r15
movq %r14, %rdi
callq 0x6338
movq (%rbx), %rdi
cmpq %r12, %rdi
je 0x5019
movq (%r12), %rsi
incq %rsi
callq 0x2150
movq %r15, %rdi
callq 0x2220
nop
// File: /workspace/github_cpp_makefile_star2_O1/venGaza[P]starwars/src/Game.cpp
// Function: Game::doorInteraction(Map&)
void Game::doorInteraction(Map& map) {
    cout << map.getLocation()->getRoomDescription() << endl << endl;
    
    cout << "Please enter an access code: ";
    int userInput = getInteger();
    cout << endl;
    if (userInput == doorCode) {   //Door code is 1225 and found on paper description
        cout << "Access GRANTED (The door whirs open with a whoosh)" << endl << endl;
        map.moveSouth();
        pause();
    } else {
        cout << "Access DENIED (I guess you will be admiring the blasters a little longer)"       << endl << endl;
        map.moveWest();
        pause();
    }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x20, %rsp
movq %rsi, %rbx
movq %rdi, %r15
movq %rsi, %rdi
callq 0x3c44
movq %rsp, %r14
movq %r14, %rdi
movq %rax, %rsi
callq 0x7662
movq (%r14), %rsi
movq 0x8(%r14), %rdx
movq 0x8888(%rip), %r14      # 0xdfd0
movq %r14, %rdi
callq 0x2160
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x2130
movsbl %al, %esi
movq %r12, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20d0
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x2130
movsbl %al, %esi
movq %r12, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20d0
leaq 0x10(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x57bf
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x2150
leaq 0x363c(%rip), %rsi      # 0x8e02
movl $0x1d, %edx
movq %r14, %rdi
callq 0x2160
callq 0x6790
movl %eax, %ebp
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x2130
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20d0
cmpl 0x28(%r15), %ebp
jne 0x5876
leaq 0x3612(%rip), %rsi      # 0x8e20
movl $0x32, %edx
movq %r14, %rdi
callq 0x2160
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x2130
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20d0
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x2130
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20d0
movq %rbx, %rdi
callq 0x3aee
jmp 0x58e3
leaq 0x35d6(%rip), %rsi      # 0x8e53
movl $0x49, %edx
movq %r14, %rdi
callq 0x2160
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x2130
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20d0
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x2130
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20d0
movq %rbx, %rdi
callq 0x3bc6
callq 0x5dac
addq $0x20, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
leaq 0x10(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x5913
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x2150
movq %rbx, %rdi
callq 0x2220
nop