// File: /workspace/github_cpp_makefile_star2_O3/venGaza[P]starwars/src/Game.cpp
// Function: Game::getPlayerName()
void Game::getPlayerName() {
    cout << "In a galaxy far far away....." << endl << endl;
    pause();
    
    cout << "You wake up in a daze from a recent blast. A man wearing a resistance uniform pulls "
         << "you from the rubble and asks for your name. You answer back: ";
    getline(cin, playerName);
    
    while (playerName == "") {
        cout << "You must be dazed from the blast. Your name is: ";
        getline(cin, playerName);
    }
    
    cout << endl << "After further examination you realize the man is Poe Dameron, a legendary "
         << "resistance pilot." << endl << endl;
    
    cout << "Poe: \"You are lucky to have survived the blast, " << playerName << ", but you better "
         << "get moving because Supreme Leader Snoke, Kylo Ren and an army of stormtroopers are "
         << "after you on this starship. As one of the last remaining Jedi in the galaxy, you are the "
         << "best chance we have at defeating the First Order. It looks like some of your equipment "
         << "landed over to the east in the reactor room. You might want to head in that direction "
         << "first before heading off to fight Kylo Ren. May the force be you " << playerName
         << "!\" (cool action music starts playing in the background)" ;
    cout << endl << endl;
    
    cout << "(You think to yourself that hopefully there is a med pod bay to use somewhere around here as you feel drained from the blast)" << endl << endl;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %r14
movq 0x8c93(%rip), %rbx      # 0xdfd0
leaq 0x3514(%rip), %rsi      # 0x8858
movl $0x1d, %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, %r15
movq (%rax), %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
callq 0x5da4
leaq 0x34c8(%rip), %rsi      # 0x8876
movl $0x54, %edx
movq %rbx, %rdi
callq 0x2160
leaq 0x3509(%rip), %rsi      # 0x88cb
movl $0x3d, %edx
movq %rbx, %rdi
callq 0x2160
movq 0x8c0a(%rip), %r15      # 0xdfe0
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x2130
movsbl %al, %edx
movq %r15, %rdi
movq %r14, %rsi
callq 0x2240
leaq 0x2d32(%rip), %rsi      # 0x8131
movq %r14, %rdi
callq 0x2050
testl %eax, %eax
jne 0x5461
movq 0x8bbe(%rip), %r12      # 0xdfd0
leaq 0x34f0(%rip), %r13      # 0x8909
leaq 0x2d11(%rip), %rbp      # 0x8131
movl $0x30, %edx
movq %r12, %rdi
movq %r13, %rsi
callq 0x2160
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x2130
movsbl %al, %edx
movq %r15, %rdi
movq %r14, %rsi
callq 0x2240
movq %r14, %rdi
movq %rbp, %rsi
callq 0x2050
testl %eax, %eax
je 0x5420
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, %r15
leaq 0x34a8(%rip), %rsi      # 0x893a
movl $0x4a, %edx
movq %rax, %rdi
callq 0x2160
leaq 0x34df(%rip), %rsi      # 0x8985
movl $0x11, %edx
movq %r15, %rdi
callq 0x2160
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
movq %rax, %r15
movq (%rax), %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
leaq 0x348c(%rip), %rsi      # 0x8997
movl $0x30, %edx
movq %rbx, %rdi
callq 0x2160
movq (%r14), %rsi
movq 0x8(%r14), %rdx
movq %rbx, %rdi
callq 0x2160
movq %rax, %r15
leaq 0x3497(%rip), %rsi      # 0x89c8
movl $0x11, %edx
movq %rax, %rdi
callq 0x2160
leaq 0x3495(%rip), %rsi      # 0x89da
movl $0x53, %edx
movq %r15, %rdi
callq 0x2160
leaq 0x34d5(%rip), %rsi      # 0x8a2e
movl $0x59, %edx
movq %r15, %rdi
callq 0x2160
leaq 0x351b(%rip), %rsi      # 0x8a88
movl $0x57, %edx
movq %r15, %rdi
callq 0x2160
leaq 0x355f(%rip), %rsi      # 0x8ae0
movl $0x56, %edx
movq %r15, %rdi
callq 0x2160
leaq 0x35a2(%rip), %rsi      # 0x8b37
movl $0x41, %edx
movq %r15, %rdi
callq 0x2160
movq (%r14), %rsi
movq 0x8(%r14), %rdx
movq %r15, %rdi
callq 0x2160
leaq 0x35c1(%rip), %rsi      # 0x8b79
movl $0x37, %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, %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
leaq 0x3594(%rip), %rsi      # 0x8bb1
movl $0x7d, %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 (%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
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x20d0
nop