LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: 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 %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rsi, -0x8(%rbp)
movq %rdi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x38(%rbp)
movsd 0x38(%rax), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jbe 0x2536b
movq -0x38(%rbp), %rax
movsd 0x38(%rax), %xmm0
movl 0x40(%rax), %ecx
cvtsi2sd %rcx, %xmm1
mulsd %xmm1, %xmm0
movl -0x14(%rbp), %ecx
cvtsi2sd %rcx, %xmm1
mulsd %xmm1, %xmm0
movl 0x48(%rax), %eax
cvtsi2sd %rax, %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0x20(%rbp)
callq 0x4100
cvtsi2sd %eax, %xmm0
movsd 0x17a54(%rip), %xmm1    # 0x3cdb0
divsd %xmm1, %xmm0
ucomisd -0x20(%rbp), %xmm0
jb 0x25369
jmp 0x253a1
jmp 0x2536b
movq -0x38(%rbp), %rax
testb $0x1, 0x34(%rax)
je 0x2538c
movq -0x38(%rbp), %rdi
movq -0x8(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rsi
callq 0x255b0
jmp 0x253a1
movq -0x38(%rbp), %rdi
movq -0x8(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rsi
callq 0x24ab0
addq $0x40, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: 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
movq %rsp, %rbp
subq $0x50, %rsp
movb %dl, %al
movq %rsi, -0x10(%rbp)
movq %rdi, -0x18(%rbp)
andb $0x1, %al
movb %al, -0x19(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x24(%rbp)
movq -0x24(%rbp), %rdi
callq 0xa9d0
cmpl $0x0, %eax
jne 0x253f2
movq $0x0, -0x8(%rbp)
jmp 0x2547b
movq -0x10(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rdi
callq 0xa9d0
movl %eax, %eax
movl $0x4, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x4030
movq %rax, -0x30(%rbp)
movl $0x0, -0x3c(%rbp)
movl -0x10(%rbp), %eax
movl %eax, -0x40(%rbp)
movl -0x40(%rbp), %eax
cmpl -0xc(%rbp), %eax
ja 0x25473
movq -0x48(%rbp), %rdi
movl -0x40(%rbp), %esi
movb -0x19(%rbp), %al
andb $0x1, %al
movzbl %al, %edx
callq 0x24fa0
movl %eax, %edx
movq -0x30(%rbp), %rax
movl -0x3c(%rbp), %ecx
movl %edx, (%rax,%rcx,4)
movl -0x3c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x3c(%rbp)
movl -0x40(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x40(%rbp)
jmp 0x25437
movq -0x30(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x50, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: adamnovak[P]rlcsa/adaptive_samples.cpp
// Function: CSA::AdaptiveSamples::display(std::pair<unsigned int, unsigned int>, unsigned char*)
void
AdaptiveSamples::display(pair_type range, uchar* data)
{
  if(!(this->supportsDisplay()) || isEmpty(range) || range.second >= this->index.getSize() || data == 0) { return; }

  pair_type res = this->regular_samples->inverseSA(range.first);
  usint i = res.first, pos = res.second;
  for(; i < range.first; i++)
  {
    pos = this->index.psi(pos);
    this->index.convertToSAIndex(pos);
  }
  for(; i <= range.second; i++)
  {
    data[i - range.first] = this->index.getCharacter(pos);
    pos = this->index.psi(pos);
    this->index.convertToSAIndex(pos);
  }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rsi, -0x8(%rbp)
movq %rdi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x10(%rbp), %rdi
movq %rdi, -0x38(%rbp)
callq 0x25670
testb $0x1, %al
jne 0x254b7
jmp 0x254ee
movq -0x8(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rdi
callq 0xb1e0
testb $0x1, %al
jne 0x254ee
movq -0x38(%rbp), %rax
movl -0x4(%rbp), %ecx
movl %ecx, -0x3c(%rbp)
movq (%rax), %rdi
callq 0xa410
movl %eax, %ecx
movl -0x3c(%rbp), %eax
cmpl %ecx, %eax
jae 0x254ee
cmpq $0x0, -0x18(%rbp)
jne 0x254f3
jmp 0x255a7
movq -0x38(%rbp), %rax
movq 0x28(%rax), %rdi
movl -0x8(%rbp), %esi
callq 0x1cb10
movq %rax, -0x28(%rbp)
movl -0x28(%rbp), %eax
movl %eax, -0x2c(%rbp)
movl -0x24(%rbp), %eax
movl %eax, -0x30(%rbp)
movl -0x2c(%rbp), %eax
cmpl -0x8(%rbp), %eax
jae 0x2554a
movq -0x38(%rbp), %rax
movq (%rax), %rdi
movl -0x30(%rbp), %esi
callq 0x15c70
movl %eax, %ecx
movq -0x38(%rbp), %rax
movl %ecx, -0x30(%rbp)
movq (%rax), %rdi
leaq -0x30(%rbp), %rsi
callq 0x16a90
movl -0x2c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x2c(%rbp)
jmp 0x25513
jmp 0x2554c
movl -0x2c(%rbp), %eax
cmpl -0x4(%rbp), %eax
ja 0x255a7
movq -0x38(%rbp), %rax
movq (%rax), %rdi
movl -0x30(%rbp), %esi
callq 0x15f10
movl %eax, %ecx
movq -0x38(%rbp), %rax
movb %cl, %sil
movq -0x18(%rbp), %rcx
movl -0x2c(%rbp), %edx
subl -0x8(%rbp), %edx
movl %edx, %edx
movb %sil, (%rcx,%rdx)
movq (%rax), %rdi
movl -0x30(%rbp), %esi
callq 0x15c70
movl %eax, %ecx
movq -0x38(%rbp), %rax
movl %ecx, -0x30(%rbp)
movq (%rax), %rdi
leaq -0x30(%rbp), %rsi
callq 0x16a90
movl -0x2c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x2c(%rbp)
jmp 0x2554c
addq $0x40, %rsp
popq %rbp
retq
nopl (%rax)
// File: 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 %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movl $0x0, -0x4(%rbp)
callq 0x3930
leaq -0x50(%rbp), %rdi
callq 0x7670
leaq -0x50(%rbp), %rdi
callq 0x82b0
movb %al, -0x5d(%rbp)
jmp 0x386e
movb -0x5d(%rbp), %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x3879
jmp 0x38a8
leaq -0x50(%rbp), %rdi
callq 0x7740
jmp 0x3884
leaq -0x50(%rbp), %rdi
callq 0x82d0
jmp 0x388f
jmp 0x3860
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x50(%rbp), %rdi
callq 0x7710
jmp 0x391b
movq 0xd721(%rip), %rdi      # 0x10fd0
leaq 0x774e(%rip), %rsi      # 0xb004
callq 0x31a0
movq %rax, -0x68(%rbp)
jmp 0x38c1
movq -0x68(%rbp), %rdi
leaq 0x7784(%rip), %rsi      # 0xb050
callq 0x31a0
movq %rax, -0x70(%rbp)
jmp 0x38d7
movq -0x70(%rbp), %rdi
movq 0xd6de(%rip), %rsi      # 0x10fc0
callq 0x31d0
movq %rax, -0x78(%rbp)
jmp 0x38ed
movq -0x78(%rbp), %rdi
movq 0xd6c8(%rip), %rsi      # 0x10fc0
callq 0x31d0
jmp 0x38ff
movl $0x0, -0x4(%rbp)
leaq -0x50(%rbp), %rdi
callq 0x7710
movl -0x4(%rbp), %eax
addq $0x80, %rsp
popq %rbp
retq
movq -0x58(%rbp), %rdi
callq 0x32f0
nopw %cs:(%rax,%rax)
// File: 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 %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x20(%rbp)
callq 0xa730
movq -0x20(%rbp), %rdi
leaq 0xd104(%rip), %rax      # 0x10aa8
movq %rax, (%rdi)
addq $0x8, %rdi
leaq 0x7af3(%rip), %rsi      # 0xb4a5
callq 0x3250
jmp 0x39b9
movq -0x20(%rbp), %rdi
addq $0x28, %rdi
leaq 0x776a(%rip), %rsi      # 0xb132
callq 0x3250
jmp 0x39cf
movl $0x68, %edi
callq 0x31b0
movq %rax, -0x28(%rbp)
jmp 0x39df
movq -0x28(%rbp), %rdi
callq 0x63d0
jmp 0x39ea
movq -0x20(%rbp), %rsi
movq -0x28(%rbp), %rax
movq %rax, 0x48(%rsi)
movq 0x48(%rsi), %rdi
callq 0xa9a0
jmp 0x3a01
movl $0x68, %edi
callq 0x31b0
movq %rax, -0x30(%rbp)
jmp 0x3a11
movq -0x30(%rbp), %rdi
callq 0x4240
jmp 0x3a1c
movq -0x20(%rbp), %rsi
movq -0x30(%rbp), %rax
movq %rax, 0x50(%rsi)
movq 0x50(%rsi), %rdi
callq 0xa980
jmp 0x3a33
movq -0x20(%rbp), %rax
movq $0x0, 0x60(%rax)
movl $0x70, %edi
callq 0x31b0
movq %rax, -0x38(%rbp)
jmp 0x3a4f
movq -0x38(%rbp), %rdi
callq 0x48e0
jmp 0x3a5a
movq -0x20(%rbp), %rsi
movq -0x38(%rbp), %rax
movq %rax, 0x58(%rsi)
movq 0x58(%rsi), %rdi
callq 0xa9c0
jmp 0x3a71
addq $0x40, %rsp
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
jmp 0x3ad7
movq -0x28(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x68, %esi
callq 0x31c0
jmp 0x3ad7
movq -0x30(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x68, %esi
callq 0x31c0
jmp 0x3ad7
movq -0x38(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x70, %esi
callq 0x31c0
movq -0x20(%rbp), %rdi
callq 0xa7f0
movq -0x10(%rbp), %rdi
callq 0x32f0
nopl (%rax)
// File: 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 %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x30(%rbp)
callq 0xa730
movq -0x30(%rbp), %rax
leaq 0xcf74(%rip), %rcx      # 0x10a98
addq $0x10, %rcx
movq %rcx, (%rax)
movq -0x10(%rbp), %rcx
movq %rcx, 0x48(%rax)
movq -0x18(%rbp), %rcx
movq %rcx, 0x50(%rax)
movq -0x20(%rbp), %rcx
movq %rcx, 0x60(%rax)
movq -0x28(%rbp), %rcx
movq %rcx, 0x58(%rax)
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: venGaza[P]starwars/src/StartSpace.cpp
// Function: StartSpace::printChoices()
void StartSpace::printChoices() {
    cout << "1) North - Mysterious Room" << endl
         << "2) East - Core Reactor"  << endl
         << "3) South - Mysterious Room" << endl
         << "4) Item Inventory " << endl
         << "5) Look around" << endl << endl;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq 0xd38d(%rip), %rdi      # 0x10fd0
leaq 0x7542(%rip), %rsi      # 0xb18c
callq 0x31a0
movq %rax, %rdi
movq 0xd367(%rip), %rsi      # 0x10fc0
callq 0x31d0
movq %rax, %rdi
leaq 0x753f(%rip), %rsi      # 0xb1a7
callq 0x31a0
movq %rax, %rdi
movq 0xd349(%rip), %rsi      # 0x10fc0
callq 0x31d0
movq %rax, %rdi
leaq 0x7538(%rip), %rsi      # 0xb1be
callq 0x31a0
movq %rax, %rdi
movq 0xd32b(%rip), %rsi      # 0x10fc0
callq 0x31d0
movq %rax, %rdi
leaq 0x7535(%rip), %rsi      # 0xb1d9
callq 0x31a0
movq %rax, %rdi
movq 0xd30d(%rip), %rsi      # 0x10fc0
callq 0x31d0
movq %rax, %rdi
leaq 0x752a(%rip), %rsi      # 0xb1ec
callq 0x31a0
movq %rax, %rdi
movq 0xd2ef(%rip), %rsi      # 0x10fc0
callq 0x31d0
movq %rax, %rdi
movq 0xd2e0(%rip), %rsi      # 0x10fc0
callq 0x31d0
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: 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 %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movq %rdi, -0x38(%rbp)
movq %rdi, %rax
movq %rax, -0x30(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq 0xd2be(%rip), %rdi      # 0x10fd0
leaq 0x74e2(%rip), %rsi      # 0xb1fb
callq 0x31a0
callq 0x95d0
movl %eax, -0x14(%rbp)
leaq -0x14(%rbp), %rdi
movl $0x1, %esi
movl $0x5, %edx
callq 0x5b40
movq 0xd290(%rip), %rdi      # 0x10fd0
movq 0xd279(%rip), %rsi      # 0x10fc0
callq 0x31d0
cmpl $0x1, -0x14(%rbp)
jne 0x3d9d
leaq -0x15(%rbp), %rdi
movq %rdi, -0x40(%rbp)
callq 0x3300
movq -0x38(%rbp), %rdi
movq -0x40(%rbp), %rdx
leaq 0x74b6(%rip), %rsi      # 0xb224
callq 0x3f00
jmp 0x3d75
leaq -0x15(%rbp), %rdi
callq 0x31f0
jmp 0x3ecf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x15(%rbp), %rdi
callq 0x31f0
jmp 0x3ed9
cmpl $0x2, -0x14(%rbp)
jne 0x3dee
leaq -0x25(%rbp), %rdi
movq %rdi, -0x48(%rbp)
callq 0x3300
movq -0x38(%rbp), %rdi
movq -0x48(%rbp), %rdx
leaq 0x746b(%rip), %rsi      # 0xb22a
callq 0x3f00
jmp 0x3dc6
leaq -0x25(%rbp), %rdi
callq 0x31f0
jmp 0x3ecf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x25(%rbp), %rdi
callq 0x31f0
jmp 0x3ed9
cmpl $0x3, -0x14(%rbp)
jne 0x3e3f
leaq -0x26(%rbp), %rdi
movq %rdi, -0x50(%rbp)
callq 0x3300
movq -0x38(%rbp), %rdi
movq -0x50(%rbp), %rdx
leaq 0x741f(%rip), %rsi      # 0xb22f
callq 0x3f00
jmp 0x3e17
leaq -0x26(%rbp), %rdi
callq 0x31f0
jmp 0x3ecf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x26(%rbp), %rdi
callq 0x31f0
jmp 0x3ed9
cmpl $0x4, -0x14(%rbp)
jne 0x3e8a
leaq -0x27(%rbp), %rdi
movq %rdi, -0x58(%rbp)
callq 0x3300
movq -0x38(%rbp), %rdi
movq -0x58(%rbp), %rdx
leaq 0x73d4(%rip), %rsi      # 0xb235
callq 0x3f00
jmp 0x3e68
leaq -0x27(%rbp), %rdi
callq 0x31f0
jmp 0x3ecf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x27(%rbp), %rdi
callq 0x31f0
jmp 0x3ed9
leaq -0x28(%rbp), %rdi
movq %rdi, -0x60(%rbp)
callq 0x3300
movq -0x38(%rbp), %rdi
movq -0x60(%rbp), %rdx
leaq 0x7395(%rip), %rsi      # 0xb23b
callq 0x3f00
jmp 0x3ead
leaq -0x28(%rbp), %rdi
callq 0x31f0
jmp 0x3ecf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x31f0
jmp 0x3ed9
movq -0x30(%rbp), %rax
addq $0x60, %rsp
popq %rbp
retq
movq -0x20(%rbp), %rdi
callq 0x32f0
nopw %cs:(%rax,%rax)
nopl (%rax)
// File: 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 %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x20(%rbp)
callq 0xa730
movq -0x20(%rbp), %rdi
leaq 0xc88c(%rip), %rax      # 0x10af0
movq %rax, (%rdi)
addq $0x8, %rdi
leaq 0x7005(%rip), %rsi      # 0xb277
callq 0x3250
jmp 0x4279
movq -0x20(%rbp), %rdi
addq $0x28, %rdi
leaq 0x7004(%rip), %rsi      # 0xb28c
callq 0x3250
jmp 0x428f
movq -0x20(%rbp), %rax
movq $0x0, 0x48(%rax)
movq $0x0, 0x50(%rax)
movq $0x0, 0x60(%rax)
movq $0x0, 0x58(%rax)
addq $0x20, %rsp
popq %rbp
retq
movq -0x20(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
callq 0xa7f0
movq -0x10(%rbp), %rdi
callq 0x32f0
nopw (%rax,%rax)
// File: 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 %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x20(%rbp)
callq 0xa730
movq -0x20(%rbp), %rdi
leaq 0xc564(%rip), %rax      # 0x10b38
movq %rax, (%rdi)
addq $0x8, %rdi
leaq 0x875a(%rip), %rsi      # 0xcd3c
callq 0x3250
jmp 0x45e9
movq -0x20(%rbp), %rdi
addq $0x28, %rdi
leaq 0x6cee(%rip), %rsi      # 0xb2e6
callq 0x3250
jmp 0x45ff
movq -0x20(%rbp), %rax
movq $0x0, 0x48(%rax)
movq $0x0, 0x50(%rax)
movq $0x0, 0x60(%rax)
movq $0x0, 0x58(%rax)
addq $0x20, %rsp
popq %rbp
retq
movq -0x20(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
callq 0xa7f0
movq -0x10(%rbp), %rdi
callq 0x32f0
nopw (%rax,%rax)
// File: 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 %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x30(%rbp)
callq 0xa730
movq -0x30(%rbp), %rax
leaq 0xc4a4(%rip), %rcx      # 0x10b28
addq $0x10, %rcx
movq %rcx, (%rax)
movq -0x10(%rbp), %rcx
movq %rcx, 0x48(%rax)
movq -0x18(%rbp), %rcx
movq %rcx, 0x50(%rax)
movq -0x20(%rbp), %rcx
movq %rcx, 0x60(%rax)
movq -0x28(%rbp), %rcx
movq %rcx, 0x58(%rax)
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: 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 %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x38(%rbp)
movq %rdi, %rax
movq %rax, -0x30(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq 0xc81e(%rip), %rdi      # 0x10fd0
leaq 0x6a42(%rip), %rsi      # 0xb1fb
callq 0x31a0
callq 0x95d0
movl %eax, -0x14(%rbp)
leaq -0x14(%rbp), %rdi
movl $0x1, %esi
movl $0x3, %edx
callq 0x5b40
movq 0xc7f0(%rip), %rdi      # 0x10fd0
movq 0xc7d9(%rip), %rsi      # 0x10fc0
callq 0x31d0
cmpl $0x1, -0x14(%rbp)
jne 0x483d
leaq -0x15(%rbp), %rdi
movq %rdi, -0x40(%rbp)
callq 0x3300
movq -0x38(%rbp), %rdi
movq -0x40(%rbp), %rdx
leaq 0x6a1c(%rip), %rsi      # 0xb22a
callq 0x3f00
jmp 0x4815
leaq -0x15(%rbp), %rdi
callq 0x31f0
jmp 0x48cd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x15(%rbp), %rdi
callq 0x31f0
jmp 0x48d7
cmpl $0x2, -0x14(%rbp)
jne 0x4888
leaq -0x25(%rbp), %rdi
movq %rdi, -0x48(%rbp)
callq 0x3300
movq -0x38(%rbp), %rdi
movq -0x48(%rbp), %rdx
leaq 0x69d6(%rip), %rsi      # 0xb235
callq 0x3f00
jmp 0x4866
leaq -0x25(%rbp), %rdi
callq 0x31f0
jmp 0x48cd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x25(%rbp), %rdi
callq 0x31f0
jmp 0x48d7
leaq -0x26(%rbp), %rdi
movq %rdi, -0x50(%rbp)
callq 0x3300
movq -0x38(%rbp), %rdi
movq -0x50(%rbp), %rdx
leaq 0x6997(%rip), %rsi      # 0xb23b
callq 0x3f00
jmp 0x48ab
leaq -0x26(%rbp), %rdi
callq 0x31f0
jmp 0x48cd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x26(%rbp), %rdi
callq 0x31f0
jmp 0x48d7
movq -0x30(%rbp), %rax
addq $0x50, %rsp
popq %rbp
retq
movq -0x20(%rbp), %rdi
callq 0x32f0
// File: 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 %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x20(%rbp)
callq 0xa730
movq -0x20(%rbp), %rdi
leaq 0xc27c(%rip), %rax      # 0x10b80
movq %rax, (%rdi)
addq $0x8, %rdi
leaq 0x832a(%rip), %rsi      # 0xcc3c
callq 0x3250
jmp 0x4919
movq -0x20(%rbp), %rdi
addq $0x28, %rdi
leaq 0x6a4f(%rip), %rsi      # 0xb377
callq 0x3250
jmp 0x492f
movl $0x68, %edi
callq 0x31b0
movq %rax, -0x28(%rbp)
jmp 0x493f
movq -0x28(%rbp), %rdi
callq 0x63d0
jmp 0x494a
movq -0x20(%rbp), %rsi
movq -0x28(%rbp), %rax
movq %rax, 0x48(%rsi)
movq 0x48(%rsi), %rdi
callq 0xa9a0
jmp 0x4961
movl $0x70, %edi
callq 0x31b0
movq %rax, -0x30(%rbp)
jmp 0x4971
movq -0x30(%rbp), %rdi
callq 0x9c50
jmp 0x497c
movq -0x20(%rbp), %rsi
movq -0x30(%rbp), %rax
movq %rax, 0x50(%rsi)
movq 0x50(%rsi), %rdi
callq 0xa980
jmp 0x4993
movq -0x20(%rbp), %rax
movq $0x0, 0x60(%rax)
movl $0x70, %edi
callq 0x31b0
movq %rax, -0x38(%rbp)
jmp 0x49af
movq -0x38(%rbp), %rdi
callq 0x5bc0
jmp 0x49ba
movq -0x20(%rbp), %rsi
movq -0x38(%rbp), %rax
movq %rax, 0x58(%rsi)
movq 0x58(%rsi), %rdi
callq 0xa9c0
jmp 0x49d1
movq -0x20(%rbp), %rax
movb $0x1, 0x68(%rax)
addq $0x40, %rsp
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
jmp 0x4a3f
movq -0x28(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x68, %esi
callq 0x31c0
jmp 0x4a3f
movq -0x30(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x70, %esi
callq 0x31c0
jmp 0x4a3f
movq -0x38(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x70, %esi
callq 0x31c0
movq -0x20(%rbp), %rdi
callq 0xa7f0
movq -0x10(%rbp), %rdi
callq 0x32f0
nopw %cs:(%rax,%rax)
// File: venGaza[P]starwars/src/CoreReactor.cpp
// Function: CoreReactor::printChoices()
void CoreReactor::printChoices() {
    if (lightsaberAvail) {
        cout << "1) North - Mysterious Room" << endl
        << "2) East - Infirmary" << endl
        << "3) South - Detention Center " << endl
        << "4) West - Blast Site " << endl
        << "5) Item Inventory " << endl
        << "6) Look around" << endl
        << "7) Pick up light saber " << endl << endl;
    } else {
        cout << "1) North - Mysterious Room" << endl
        << "2) East - Infirmary" << endl
        << "3) South - Detention Center" << endl
        << "4) West - Blast Site" << endl
        << "5) Item Inventory " << endl
        << "6) Look around" << endl << endl;
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
testb $0x1, 0x68(%rax)
je 0x4ca4
movq 0xc40f(%rip), %rdi      # 0x10fd0
leaq 0x65c4(%rip), %rsi      # 0xb18c
callq 0x31a0
movq %rax, %rdi
movq 0xc3e9(%rip), %rsi      # 0x10fc0
callq 0x31d0
movq %rax, %rdi
leaq 0x6818(%rip), %rsi      # 0xb3fe
callq 0x31a0
movq %rax, %rdi
movq 0xc3cb(%rip), %rsi      # 0x10fc0
callq 0x31d0
movq %rax, %rdi
leaq 0x680e(%rip), %rsi      # 0xb412
callq 0x31a0
movq %rax, %rdi
movq 0xc3ad(%rip), %rsi      # 0x10fc0
callq 0x31d0
movq %rax, %rdi
leaq 0x680d(%rip), %rsi      # 0xb42f
callq 0x31a0
movq %rax, %rdi
movq 0xc38f(%rip), %rsi      # 0x10fc0
callq 0x31d0
movq %rax, %rdi
leaq 0x6805(%rip), %rsi      # 0xb445
callq 0x31a0
movq %rax, %rdi
movq 0xc371(%rip), %rsi      # 0x10fc0
callq 0x31d0
movq %rax, %rdi
leaq 0x67fa(%rip), %rsi      # 0xb458
callq 0x31a0
movq %rax, %rdi
movq 0xc353(%rip), %rsi      # 0x10fc0
callq 0x31d0
movq %rax, %rdi
leaq 0x67eb(%rip), %rsi      # 0xb467
callq 0x31a0
movq %rax, %rdi
movq 0xc335(%rip), %rsi      # 0x10fc0
callq 0x31d0
movq %rax, %rdi
movq 0xc326(%rip), %rsi      # 0x10fc0
callq 0x31d0
jmp 0x4d6b
movq 0xc325(%rip), %rdi      # 0x10fd0
leaq 0x64da(%rip), %rsi      # 0xb18c
callq 0x31a0
movq %rax, %rdi
movq 0xc2ff(%rip), %rsi      # 0x10fc0
callq 0x31d0
movq %rax, %rdi
leaq 0x672e(%rip), %rsi      # 0xb3fe
callq 0x31a0
movq %rax, %rdi
movq 0xc2e1(%rip), %rsi      # 0x10fc0
callq 0x31d0
movq %rax, %rdi
leaq 0x6791(%rip), %rsi      # 0xb47f
callq 0x31a0
movq %rax, %rdi
movq 0xc2c3(%rip), %rsi      # 0x10fc0
callq 0x31d0
movq %rax, %rdi
leaq 0x678f(%rip), %rsi      # 0xb49b
callq 0x31a0
movq %rax, %rdi
movq 0xc2a5(%rip), %rsi      # 0x10fc0
callq 0x31d0
movq %rax, %rdi
leaq 0x671b(%rip), %rsi      # 0xb445
callq 0x31a0
movq %rax, %rdi
movq 0xc287(%rip), %rsi      # 0x10fc0
callq 0x31d0
movq %rax, %rdi
leaq 0x6710(%rip), %rsi      # 0xb458
callq 0x31a0
movq %rax, %rdi
movq 0xc269(%rip), %rsi      # 0x10fc0
callq 0x31d0
movq %rax, %rdi
movq 0xc25a(%rip), %rsi      # 0x10fc0
callq 0x31d0
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: 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 %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x10(%rbp)
movq 0x10(%rax), %rdi
callq 0xa8a0
cmpq $0x0, %rax
je 0x538f
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
callq 0xa8a0
movq -0x10(%rbp), %rdi
movq %rax, 0x10(%rdi)
callq 0x53c0
jmp 0x53b1
movq 0xbc3a(%rip), %rdi      # 0x10fd0
leaq 0x6131(%rip), %rsi      # 0xb4ce
callq 0x31a0
movq %rax, %rdi
movq 0xbc14(%rip), %rsi      # 0x10fc0
callq 0x31d0
addq $0x10, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: 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 %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x10(%rbp)
movq 0x10(%rax), %rdi
callq 0xa8c0
cmpq $0x0, %rax
je 0x575f
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
callq 0xa8c0
movq -0x10(%rbp), %rdi
movq %rax, 0x10(%rdi)
callq 0x53c0
jmp 0x5781
movq 0xb86a(%rip), %rdi      # 0x10fd0
leaq 0x5d61(%rip), %rsi      # 0xb4ce
callq 0x31a0
movq %rax, %rdi
movq 0xb844(%rip), %rsi      # 0x10fc0
callq 0x31d0
addq $0x10, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: 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 %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x10(%rbp)
movq 0x10(%rax), %rdi
callq 0xa900
cmpq $0x0, %rax
je 0x57cf
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
callq 0xa900
movq -0x10(%rbp), %rdi
movq %rax, 0x10(%rdi)
callq 0x53c0
jmp 0x57f1
movq 0xb7fa(%rip), %rdi      # 0x10fd0
leaq 0x5cf1(%rip), %rsi      # 0xb4ce
callq 0x31a0
movq %rax, %rdi
movq 0xb7d4(%rip), %rsi      # 0x10fc0
callq 0x31d0
addq $0x10, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: 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 %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x10(%rbp)
movq 0x10(%rax), %rdi
callq 0xa8e0
cmpq $0x0, %rax
je 0x583f
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
callq 0xa8e0
movq -0x10(%rbp), %rdi
movq %rax, 0x10(%rdi)
callq 0x53c0
jmp 0x5861
movq 0xb78a(%rip), %rdi      # 0x10fd0
leaq 0x5c81(%rip), %rsi      # 0xb4ce
callq 0x31a0
movq %rax, %rdi
movq 0xb764(%rip), %rsi      # 0x10fc0
callq 0x31d0
addq $0x10, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: 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 %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rcx, -0x30(%rbp)
movq %rdi, %rax
movq -0x30(%rbp), %rdi
movq %rdi, -0x28(%rbp)
movq %rax, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rdi, -0x20(%rbp)
leaq 0x5c60(%rip), %rsi      # 0xb54e
callq 0x5b10
testb $0x1, %al
jne 0x58f9
jmp 0x592f
movq -0x10(%rbp), %rax
movq (%rax), %rdi
movq -0x18(%rbp), %rax
movq (%rax), %rsi
callq 0xa9e0
movq -0x18(%rbp), %rax
movq (%rax), %rdi
movq -0x10(%rbp), %rax
movq (%rax), %rsi
callq 0xa9c0
movq -0x18(%rbp), %rax
movq $0x0, (%rax)
jmp 0x59f6
movq -0x28(%rbp), %rdi
leaq 0x5c1a(%rip), %rsi      # 0xb554
callq 0x5b10
testb $0x1, %al
jne 0x5945
jmp 0x5978
movq -0x10(%rbp), %rax
movq (%rax), %rdi
movq -0x18(%rbp), %rax
movq (%rax), %rsi
callq 0xa9c0
movq -0x18(%rbp), %rax
movq (%rax), %rdi
movq -0x10(%rbp), %rax
movq (%rax), %rsi
callq 0xa9e0
movq -0x18(%rbp), %rax
movq $0x0, (%rax)
jmp 0x59f4
movq -0x28(%rbp), %rdi
leaq 0x5bd6(%rip), %rsi      # 0xb559
callq 0x5b10
testb $0x1, %al
jne 0x598e
jmp 0x59c1
movq -0x10(%rbp), %rax
movq (%rax), %rdi
movq -0x18(%rbp), %rax
movq (%rax), %rsi
callq 0xa980
movq -0x18(%rbp), %rax
movq (%rax), %rdi
movq -0x10(%rbp), %rax
movq (%rax), %rsi
callq 0xa9a0
movq -0x18(%rbp), %rax
movq $0x0, (%rax)
jmp 0x59f2
movq -0x10(%rbp), %rax
movq (%rax), %rdi
movq -0x18(%rbp), %rax
movq (%rax), %rsi
callq 0xa9a0
movq -0x18(%rbp), %rax
movq (%rax), %rdi
movq -0x10(%rbp), %rax
movq (%rax), %rsi
callq 0xa980
movq -0x18(%rbp), %rax
movq $0x0, (%rax)
jmp 0x59f4
jmp 0x59f6
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)
// File: 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 %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rcx, -0x30(%rbp)
movq %rdi, %rax
movq -0x30(%rbp), %rdi
movq %rdi, -0x28(%rbp)
movq %rax, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rdi, -0x20(%rbp)
leaq 0x5b20(%rip), %rsi      # 0xb54e
callq 0x5b10
testb $0x1, %al
jne 0x5a39
jmp 0x5a58
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0xa9e0
movq -0x18(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0xa9c0
jmp 0x5ada
movq -0x28(%rbp), %rdi
leaq 0x5af1(%rip), %rsi      # 0xb554
callq 0x5b10
testb $0x1, %al
jne 0x5a6e
jmp 0x5a8a
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0xa9c0
movq -0x18(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0xa9e0
jmp 0x5ad8
movq -0x28(%rbp), %rdi
leaq 0x5ac4(%rip), %rsi      # 0xb559
callq 0x5b10
testb $0x1, %al
jne 0x5aa0
jmp 0x5abc
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0xa980
movq -0x18(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0xa9e0
jmp 0x5ad6
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0xa9a0
movq -0x18(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0xa980
jmp 0x5ad8
jmp 0x5ada
addq $0x30, %rsp
popq %rbp
retq
// File: 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:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movl %edx, -0x10(%rbp)
movq -0x8(%rbp), %rax
movl (%rax), %ecx
movb $0x1, %al
cmpl -0xc(%rbp), %ecx
movb %al, -0x11(%rbp)
jl 0x5b71
movq -0x8(%rbp), %rax
movl (%rax), %eax
cmpl -0x10(%rbp), %eax
setg %al
movb %al, -0x11(%rbp)
movb -0x11(%rbp), %al
testb $0x1, %al
jne 0x5b7a
jmp 0x5baf
movq 0xb44f(%rip), %rdi      # 0x10fd0
leaq 0x59d5(%rip), %rsi      # 0xb55d
callq 0x31a0
callq 0x95d0
movl %eax, %ecx
movq -0x8(%rbp), %rax
movl %ecx, (%rax)
movq 0xb42f(%rip), %rdi      # 0x10fd0
movq 0xb418(%rip), %rsi      # 0x10fc0
callq 0x31d0
jmp 0x5b52
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
nop
// File: 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 %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x20(%rbp)
callq 0xa730
movq -0x20(%rbp), %rdi
leaq 0xafe4(%rip), %rax      # 0x10bc8
movq %rax, (%rdi)
addq $0x8, %rdi
leaq 0x5816(%rip), %rsi      # 0xb408
callq 0x3250
jmp 0x5bf9
movq -0x20(%rbp), %rdi
addq $0x28, %rdi
leaq 0x5992(%rip), %rsi      # 0xb59a
callq 0x3250
jmp 0x5c0f
movq -0x20(%rbp), %rax
movq $0x0, 0x48(%rax)
movq $0x0, 0x50(%rax)
movq $0x0, 0x60(%rax)
movl $0x70, %edi
callq 0x31b0
movq %rax, -0x28(%rbp)
jmp 0x5c3b
movq -0x28(%rbp), %rdi
callq 0x6cd0
jmp 0x5c46
movq -0x20(%rbp), %rsi
movq -0x28(%rbp), %rax
movq %rax, 0x58(%rsi)
movq 0x58(%rsi), %rdi
callq 0xa9c0
jmp 0x5c5d
movq -0x20(%rbp), %rax
movb $0x1, 0x68(%rax)
addq $0x30, %rsp
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
jmp 0x5c93
movq -0x28(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x70, %esi
callq 0x31c0
movq -0x20(%rbp), %rdi
callq 0xa7f0
movq -0x10(%rbp), %rdi
callq 0x32f0
nopw %cs:(%rax,%rax)
// File: 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
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
testb $0x1, 0x68(%rax)
je 0x5e78
movq 0xb1ff(%rip), %rdi      # 0x10fd0
leaq 0x5804(%rip), %rsi      # 0xb5dc
callq 0x31a0
movq %rax, %rdi
movq 0xb1d9(%rip), %rsi      # 0x10fc0
callq 0x31d0
movq %rax, %rdi
leaq 0x57f7(%rip), %rsi      # 0xb5ed
callq 0x31a0
movq %rax, %rdi
movq 0xb1bb(%rip), %rsi      # 0x10fc0
callq 0x31d0
movq %rax, %rdi
leaq 0x57f0(%rip), %rsi      # 0xb604
callq 0x31a0
movq %rax, %rdi
movq 0xb19d(%rip), %rsi      # 0x10fc0
callq 0x31d0
movq %rax, %rdi
leaq 0x57e5(%rip), %rsi      # 0xb617
callq 0x31a0
movq %rax, %rdi
movq 0xb17f(%rip), %rsi      # 0x10fc0
callq 0x31d0
movq %rax, %rdi
leaq 0x57d6(%rip), %rsi      # 0xb626
callq 0x31a0
movq %rax, %rdi
movq 0xb161(%rip), %rsi      # 0x10fc0
callq 0x31d0
movq %rax, %rdi
movq 0xb152(%rip), %rsi      # 0x10fc0
callq 0x31d0
jmp 0x5f03
movq 0xb151(%rip), %rdi      # 0x10fd0
leaq 0x5756(%rip), %rsi      # 0xb5dc
callq 0x31a0
movq %rax, %rdi
movq 0xb12b(%rip), %rsi      # 0x10fc0
callq 0x31d0
movq %rax, %rdi
leaq 0x5749(%rip), %rsi      # 0xb5ed
callq 0x31a0
movq %rax, %rdi
movq 0xb10d(%rip), %rsi      # 0x10fc0
callq 0x31d0
movq %rax, %rdi
leaq 0x5742(%rip), %rsi      # 0xb604
callq 0x31a0
movq %rax, %rdi
movq 0xb0ef(%rip), %rsi      # 0x10fc0
callq 0x31d0
movq %rax, %rdi
leaq 0x5737(%rip), %rsi      # 0xb617
callq 0x31a0
movq %rax, %rdi
movq 0xb0d1(%rip), %rsi      # 0x10fc0
callq 0x31d0
movq %rax, %rdi
movq 0xb0c2(%rip), %rsi      # 0x10fc0
callq 0x31d0
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)
// File: 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 %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x20(%rbp)
callq 0xa730
movq -0x20(%rbp), %rdi
leaq 0xa81c(%rip), %rax      # 0x10c10
movq %rax, (%rdi)
addq $0x8, %rdi
leaq 0x5249(%rip), %rsi      # 0xb64b
callq 0x3250
jmp 0x6409
movq -0x20(%rbp), %rdi
addq $0x28, %rdi
leaq 0x523c(%rip), %rsi      # 0xb654
callq 0x3250
jmp 0x641f
movq -0x20(%rbp), %rax
movq $0x0, 0x48(%rax)
movq $0x0, 0x50(%rax)
movq $0x0, 0x60(%rax)
movq $0x0, 0x58(%rax)
addq $0x20, %rsp
popq %rbp
retq
movq -0x20(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
callq 0xa7f0
movq -0x10(%rbp), %rdi
callq 0x32f0
nopw (%rax,%rax)
// File: 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 %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x38(%rbp)
movq %rdi, %rax
movq %rax, -0x30(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq 0xa9fe(%rip), %rdi      # 0x10fd0
leaq 0x4c22(%rip), %rsi      # 0xb1fb
callq 0x31a0
callq 0x95d0
movl %eax, -0x14(%rbp)
leaq -0x14(%rbp), %rdi
movl $0x1, %esi
movl $0x3, %edx
callq 0x5b40
movq 0xa9d0(%rip), %rdi      # 0x10fd0
movq 0xa9b9(%rip), %rsi      # 0x10fc0
callq 0x31d0
cmpl $0x1, -0x14(%rbp)
jne 0x665d
leaq -0x15(%rbp), %rdi
movq %rdi, -0x40(%rbp)
callq 0x3300
movq -0x38(%rbp), %rdi
movq -0x40(%rbp), %rdx
leaq 0x4c01(%rip), %rsi      # 0xb22f
callq 0x3f00
jmp 0x6635
leaq -0x15(%rbp), %rdi
callq 0x31f0
jmp 0x66ed
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x15(%rbp), %rdi
callq 0x31f0
jmp 0x66f7
cmpl $0x2, -0x14(%rbp)
jne 0x66a8
leaq -0x25(%rbp), %rdi
movq %rdi, -0x48(%rbp)
callq 0x3300
movq -0x38(%rbp), %rdi
movq -0x48(%rbp), %rdx
leaq 0x4bb6(%rip), %rsi      # 0xb235
callq 0x3f00
jmp 0x6686
leaq -0x25(%rbp), %rdi
callq 0x31f0
jmp 0x66ed
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x25(%rbp), %rdi
callq 0x31f0
jmp 0x66f7
leaq -0x26(%rbp), %rdi
movq %rdi, -0x50(%rbp)
callq 0x3300
movq -0x38(%rbp), %rdi
movq -0x50(%rbp), %rdx
leaq 0x4b77(%rip), %rsi      # 0xb23b
callq 0x3f00
jmp 0x66cb
leaq -0x26(%rbp), %rdi
callq 0x31f0
jmp 0x66ed
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x26(%rbp), %rdi
callq 0x31f0
jmp 0x66f7
movq -0x30(%rbp), %rax
addq $0x50, %rsp
popq %rbp
retq
movq -0x20(%rbp), %rdi
callq 0x32f0
// File: 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
movq %rsp, %rbp
subq $0x13d0, %rsp           # imm = 0x13D0
movl %edi, -0x4(%rbp)
movl %esi, -0x8(%rbp)
leaq -0x1390(%rbp), %rdi
movq %rdi, -0x13c0(%rbp)
callq 0x67e0
movq -0x13c0(%rbp), %rdi
callq 0x6880
movl %eax, -0x13b4(%rbp)
jmp 0x6738
movl -0x13b4(%rbp), %eax
movl %eax, %eax
movl %eax, %esi
leaq -0x1398(%rbp), %rdi
callq 0x68a0
jmp 0x6750
movl -0x4(%rbp), %esi
movl -0x8(%rbp), %edx
leaq -0x13ac(%rbp), %rdi
callq 0x68d0
jmp 0x6764
leaq -0x13ac(%rbp), %rdi
leaq -0x1398(%rbp), %rsi
callq 0x6900
movl %eax, -0x13c4(%rbp)
jmp 0x677f
movl -0x13c4(%rbp), %eax
movl %eax, -0x13b0(%rbp)
movl -0x13b0(%rbp), %eax
movl %eax, -0x13c8(%rbp)
leaq -0x1390(%rbp), %rdi
callq 0x6930
movl -0x13c8(%rbp), %eax
addq $0x13d0, %rsp           # imm = 0x13D0
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x13a0(%rbp)
movl %eax, -0x13a4(%rbp)
leaq -0x1390(%rbp), %rdi
callq 0x6930
movq -0x13a0(%rbp), %rdi
callq 0x32f0
nopl (%rax)
// File: 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 %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x20(%rbp)
callq 0xa730
movq -0x20(%rbp), %rdi
leaq 0x9f64(%rip), %rax      # 0x10c58
movq %rax, (%rdi)
addq $0x8, %rdi
leaq 0x48e4(%rip), %rsi      # 0xb5e6
callq 0x3250
jmp 0x6d09
movq -0x20(%rbp), %rdi
addq $0x28, %rdi
leaq 0x49b8(%rip), %rsi      # 0xb6d0
callq 0x3250
jmp 0x6d1f
movl $0x68, %edi
callq 0x31b0
movq %rax, -0x28(%rbp)
jmp 0x6d2f
movq -0x28(%rbp), %rdi
callq 0x63d0
jmp 0x6d3a
movq -0x20(%rbp), %rsi
movq -0x28(%rbp), %rax
movq %rax, 0x48(%rsi)
movq 0x48(%rsi), %rdi
callq 0xa9a0
jmp 0x6d51
movl $0x68, %edi
callq 0x31b0
movq %rax, -0x30(%rbp)
jmp 0x6d61
movq -0x30(%rbp), %rdi
callq 0x63d0
jmp 0x6d6c
movq -0x20(%rbp), %rsi
movq -0x30(%rbp), %rax
movq %rax, 0x50(%rsi)
movq 0x48(%rsi), %rdi
callq 0xa980
jmp 0x6d83
movq -0x20(%rbp), %rax
movq $0x0, 0x60(%rax)
movl $0x68, %edi
callq 0x31b0
movq %rax, -0x38(%rbp)
jmp 0x6d9f
movq -0x38(%rbp), %rdi
callq 0x9740
jmp 0x6daa
movq -0x20(%rbp), %rsi
movq -0x38(%rbp), %rax
movq %rax, 0x58(%rsi)
movq 0x58(%rsi), %rdi
callq 0xa9c0
jmp 0x6dc1
movq -0x20(%rbp), %rax
movb $0x1, 0x68(%rax)
addq $0x40, %rsp
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
jmp 0x6e2f
movq -0x28(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x68, %esi
callq 0x31c0
jmp 0x6e2f
movq -0x30(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x68, %esi
callq 0x31c0
jmp 0x6e2f
movq -0x38(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x68, %esi
callq 0x31c0
movq -0x20(%rbp), %rdi
callq 0xa7f0
movq -0x10(%rbp), %rdi
callq 0x32f0
nopw %cs:(%rax,%rax)
// File: 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
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
testb $0x1, 0x68(%rax)
je 0x7094
movq 0xa01f(%rip), %rdi      # 0x10fd0
leaq 0x41d4(%rip), %rsi      # 0xb18c
callq 0x31a0
movq %rax, %rdi
movq 0x9ff9(%rip), %rsi      # 0x10fc0
callq 0x31d0
movq %rax, %rdi
leaq 0x4769(%rip), %rsi      # 0xb73f
callq 0x31a0
movq %rax, %rdi
movq 0x9fdb(%rip), %rsi      # 0x10fc0
callq 0x31d0
movq %rax, %rdi
leaq 0x41ca(%rip), %rsi      # 0xb1be
callq 0x31a0
movq %rax, %rdi
movq 0x9fbd(%rip), %rsi      # 0x10fc0
callq 0x31d0
movq %rax, %rdi
leaq 0x4747(%rip), %rsi      # 0xb759
callq 0x31a0
movq %rax, %rdi
movq 0x9f9f(%rip), %rsi      # 0x10fc0
callq 0x31d0
movq %rax, %rdi
leaq 0x4415(%rip), %rsi      # 0xb445
callq 0x31a0
movq %rax, %rdi
movq 0x9f81(%rip), %rsi      # 0x10fc0
callq 0x31d0
movq %rax, %rdi
leaq 0x440a(%rip), %rsi      # 0xb458
callq 0x31a0
movq %rax, %rdi
movq 0x9f63(%rip), %rsi      # 0x10fc0
callq 0x31d0
movq %rax, %rdi
leaq 0x4701(%rip), %rsi      # 0xb76d
callq 0x31a0
movq %rax, %rdi
movq 0x9f45(%rip), %rsi      # 0x10fc0
callq 0x31d0
movq %rax, %rdi
movq 0x9f36(%rip), %rsi      # 0x10fc0
callq 0x31d0
jmp 0x715b
movq 0x9f35(%rip), %rdi      # 0x10fd0
leaq 0x40ea(%rip), %rsi      # 0xb18c
callq 0x31a0
movq %rax, %rdi
movq 0x9f0f(%rip), %rsi      # 0x10fc0
callq 0x31d0
movq %rax, %rdi
leaq 0x467f(%rip), %rsi      # 0xb73f
callq 0x31a0
movq %rax, %rdi
movq 0x9ef1(%rip), %rsi      # 0x10fc0
callq 0x31d0
movq %rax, %rdi
leaq 0x40e0(%rip), %rsi      # 0xb1be
callq 0x31a0
movq %rax, %rdi
movq 0x9ed3(%rip), %rsi      # 0x10fc0
callq 0x31d0
movq %rax, %rdi
leaq 0x465d(%rip), %rsi      # 0xb759
callq 0x31a0
movq %rax, %rdi
movq 0x9eb5(%rip), %rsi      # 0x10fc0
callq 0x31d0
movq %rax, %rdi
leaq 0x432b(%rip), %rsi      # 0xb445
callq 0x31a0
movq %rax, %rdi
movq 0x9e97(%rip), %rsi      # 0x10fc0
callq 0x31d0
movq %rax, %rdi
leaq 0x4320(%rip), %rsi      # 0xb458
callq 0x31a0
movq %rax, %rdi
movq 0x9e79(%rip), %rsi      # 0x10fc0
callq 0x31d0
movq %rax, %rdi
movq 0x9e6a(%rip), %rsi      # 0x10fc0
callq 0x31d0
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: 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 %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x20(%rbp)
movq %rdi, %rax
movq %rax, -0x30(%rbp)
callq 0x3260
movq -0x20(%rbp), %rdi
addq $0x30, %rdi
movq %rdi, -0x28(%rbp)
callq 0x8820
movq -0x20(%rbp), %rdi
leaq 0x40e3(%rip), %rsi      # 0xb78f
callq 0x3250
jmp 0x76b3
movq -0x30(%rbp), %rax
movb $0x0, 0x20(%rax)
movb $0x0, 0x22(%rax)
movl $0xa, 0x24(%rax)
movl $0x4c9, 0x28(%rax)      # imm = 0x4C9
movb $0x1, 0x21(%rax)
movb $0x0, 0x23(%rax)
addq $0x30, %rsp
popq %rbp
retq
movq -0x28(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
callq 0x8840
movq -0x20(%rbp), %rdi
callq 0x3110
movq -0x10(%rbp), %rdi
callq 0x32f0
nopw %cs:(%rax,%rax)