// File: dnegovan[P]Intruder-On-Donnar-V/Game.cpp
// Function: Game::printShip()
void Game::printShip()
{
    //print Map, indicate location with color of room name
    //names are red if occupant is dead
    //Stats are printed after the map, see below
    std::cout << MAP_COLOR << std::endl <<

    "                      MAP OF STARSHIP DONNAR V                       \n"
    "+-------------------------------------------------------------------+\n"
    "|                              ";

    if (currentSpace == bridge)
    {
        std::cout << LOCATION_COLOR << "BRIDGE";
    }
    else
    {
        std::cout << MAP_COLOR << "BRIDGE";
    }

    std::cout << MAP_COLOR <<  "                               |\n"
    "|                                                  ";

    if(bridge->getOccupant()->getAlive())
    {
        std::cout << bridge->getOccupant()->getName();
    }
    else
    {
        std::cout << RED << bridge->getOccupant()->getName() << MAP_COLOR;
    }

    std::cout << MAP_COLOR << "           |\n"
    "|                                                                   |\n"
    "+------------------------+-------+     +------+---------------------+\n"
    "|   ";

    if (currentSpace == captainsQ)
    {
        std::cout << LOCATION_COLOR << "CAPTAIN'S QUARTERS";
    }
    else
    {
        std::cout << MAP_COLOR << "CAPTAIN'S QUARTERS";
    }

    std::cout << MAP_COLOR << "   |    ";

    if (currentSpace == corridor)
    {
        std::cout << LOCATION_COLOR << "MAIN CORRIDOR";
    }
    else
    {
        std::cout << MAP_COLOR << "MAIN CORRIDOR";
    }

    std::cout << MAP_COLOR <<  "   |        ";

    if (currentSpace == lounge)
    {
        std::cout << LOCATION_COLOR << "LOUNGE";
    }
    else
    {
        std::cout << MAP_COLOR << "LOUNGE";
    }

    std::cout <<  MAP_COLOR << "       |\n"
    "|                        +                    +                     |\n"
    "|                                                                   |\n"
    "|                        +                    +                     |\n"
    "|         ";

    if(captainsQ->getOccupant()->getAlive())
    {
        std::cout << captainsQ->getOccupant()->getName();
    }
    else
    {
        std::cout << RED << captainsQ->getOccupant()->getName() << MAP_COLOR;
    }

    std::cout << "          |                    |               ";

    if(lounge->getOccupant()->getAlive())
    {
        std::cout << lounge->getOccupant()->getName();
    }
    else
    {
        std::cout << RED << lounge->getOccupant()->getName() << MAP_COLOR;
    }

    std::cout << " |\n"
    "+------------------------+---+  +--+----------+--------+    +-------|\n"
    "|        ";

    if (currentSpace == lab)
    {
        std::cout << LOCATION_COLOR << "MEDICAL LAB";
    }
    else
    {
        std::cout << MAP_COLOR << "MEDICAL LAB";
    }

    std::cout << MAP_COLOR << "               |      ";

    if (currentSpace == crewQ)
    {
        std::cout << LOCATION_COLOR << "CREW QUARTERS";
    }
    else
    {
        std::cout << MAP_COLOR << "CREW QUARTERS";
    }

    std::cout << MAP_COLOR << "             |\n"
    "|                                  |                                |\n"
    "|                                  |                                |\n"
    "|                                  |      ";

    if(crewQ->getOccupant()->getAlive())
    {
        std::cout << crewQ->getOccupant()->getName();
    }
    else
    {
        std::cout << RED << crewQ->getOccupant()->getName() << MAP_COLOR;
    }

    std::cout << "                      |\n"
    "+-----------+     +----------------+--------------------------------+\n"
    "|                           ";

    if (currentSpace == engineering)
    {
        std::cout << LOCATION_COLOR << "ENGINEERING";
    }
    else
    {
        std::cout << MAP_COLOR << "ENGINEERING";
    }


    std::cout << MAP_COLOR << "                             |\n"
    "|                                                   ";

    if(engineering->getOccupant()->getAlive())
    {
        std::cout << engineering->getOccupant()->getName();
    }
    else
    {
        std::cout << RED << engineering->getOccupant()->getName() << MAP_COLOR;
    }

    std::cout << "          |\n"
    "|                                                                   |\n"
    "+-------------------------------------------------------------------+"
    << RESET << std::endl;


    //print time left
    printTime();

    //print crew stats
    if (markNelson.crewDead > 0)
    {
        std::cout << RED << "                            CREW DEAD: "
                  << markNelson.crewDead
                  << RESET << std::endl;
    }
    std::cout << MAP_COLOR << "                          CREW INFECTED: "
              << markNelson.crewInfected
              <<  "\n";

    //print ingredients found
    if (markNelson.ingredientsFound > 0 && !markNelson.pack.checkFor(compound))
    {
    std::cout << MAP_COLOR << "                       INGREDIENTS FOUND: "
              << markNelson.ingredientsFound << "/5"
              << RESET << std::endl;
    }

    //print objectives
    std::cout << MAP_COLOR << "CURRENT OBJECTIVES \n"
              << objective1 << std::endl
              << objective2;
    if (markNelson.pack.checkFor(compound))
    {
        std::cout << " - COMPLETE";
    }
    std::cout << std::endl << objective3 << RESET << "\n" << std::endl;

}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x270, %rsp            # imm = 0x270
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x1a8(%rbp)
movq 0xf107(%rip), %rdi      # 0x28fc8
leaq 0x5c81(%rip), %rsi      # 0x1fb49
callq 0x3210
movq %rax, %rdi
movq 0xf0d9(%rip), %rsi      # 0x28fb0
callq 0x3240
movq %rax, %rdi
leaq 0x5c6b(%rip), %rsi      # 0x1fb51
callq 0x3210
movq -0x1a8(%rbp), %rcx
movq 0xc0(%rcx), %rax
cmpq 0xc8(%rcx), %rax
jne 0x19f26
movq 0xf0bf(%rip), %rdi      # 0x28fc8
leaq 0x551c(%rip), %rsi      # 0x1f42c
callq 0x3210
movq %rax, %rdi
leaq 0x5cde(%rip), %rsi      # 0x1fbfd
callq 0x3210
jmp 0x19f48
movq 0xf09b(%rip), %rdi      # 0x28fc8
leaq 0x5c15(%rip), %rsi      # 0x1fb49
callq 0x3210
movq %rax, %rdi
leaq 0x5cba(%rip), %rsi      # 0x1fbfd
callq 0x3210
movq 0xf079(%rip), %rdi      # 0x28fc8
leaq 0x5bf3(%rip), %rsi      # 0x1fb49
callq 0x3210
movq %rax, %rdi
leaq 0x5c9f(%rip), %rsi      # 0x1fc04
callq 0x3210
movq -0x1a8(%rbp), %rax
movq 0xc8(%rax), %rdi
callq 0x1d030
movq %rax, %rdi
callq 0x16010
testb $0x1, %al
jne 0x19f8b
jmp 0x19fee
movq -0x1a8(%rbp), %rax
movq 0xc8(%rax), %rdi
callq 0x1d030
movq %rax, %rsi
leaq -0x28(%rbp), %rdi
movq %rdi, -0x1b0(%rbp)
callq 0x15fc0
movq -0x1b0(%rbp), %rsi
movq 0xf009(%rip), %rdi      # 0x28fc8
callq 0x31e0
jmp 0x19fc6
leaq -0x28(%rbp), %rdi
callq 0x3448
jmp 0x1a087
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x3448
jmp 0x1abc5
movq 0xefd3(%rip), %rdi      # 0x28fc8
leaq 0x59c7(%rip), %rsi      # 0x1f9c3
callq 0x3210
movq %rax, %rcx
movq -0x1a8(%rbp), %rax
movq %rcx, -0x1c8(%rbp)
movq 0xc8(%rax), %rdi
callq 0x1d030
movq %rax, %rsi
leaq -0x58(%rbp), %rdi
movq %rdi, -0x1c0(%rbp)
callq 0x15fc0
movq -0x1c8(%rbp), %rdi
movq -0x1c0(%rbp), %rsi
callq 0x31e0
movq %rax, -0x1b8(%rbp)
jmp 0x1a04d
movq -0x1b8(%rbp), %rdi
leaq 0x5aee(%rip), %rsi      # 0x1fb49
callq 0x3210
jmp 0x1a062
leaq -0x58(%rbp), %rdi
callq 0x3448
jmp 0x1a087
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x58(%rbp), %rdi
callq 0x3448
jmp 0x1abc5
movq 0xef3a(%rip), %rdi      # 0x28fc8
leaq 0x5ab4(%rip), %rsi      # 0x1fb49
callq 0x3210
movq %rax, %rdi
leaq 0x5bb5(%rip), %rsi      # 0x1fc59
callq 0x3210
movq -0x1a8(%rbp), %rcx
movq 0xc0(%rcx), %rax
cmpq 0xe0(%rcx), %rax
jne 0x1a0e4
movq 0xef01(%rip), %rdi      # 0x28fc8
leaq 0x535e(%rip), %rsi      # 0x1f42c
callq 0x3210
movq %rax, %rdi
leaq 0x5c1a(%rip), %rsi      # 0x1fcf7
callq 0x3210
jmp 0x1a106
movq 0xeedd(%rip), %rdi      # 0x28fc8
leaq 0x5a57(%rip), %rsi      # 0x1fb49
callq 0x3210
movq %rax, %rdi
leaq 0x5bf6(%rip), %rsi      # 0x1fcf7
callq 0x3210
movq 0xeebb(%rip), %rdi      # 0x28fc8
leaq 0x5a35(%rip), %rsi      # 0x1fb49
callq 0x3210
movq %rax, %rdi
leaq 0x5be7(%rip), %rsi      # 0x1fd0a
callq 0x3210
movq -0x1a8(%rbp), %rcx
movq 0xc0(%rcx), %rax
cmpq 0xf8(%rcx), %rax
jne 0x1a163
movq 0xee82(%rip), %rdi      # 0x28fc8
leaq 0x52df(%rip), %rsi      # 0x1f42c
callq 0x3210
movq %rax, %rdi
leaq 0x5bb7(%rip), %rsi      # 0x1fd13
callq 0x3210
jmp 0x1a185
movq 0xee5e(%rip), %rdi      # 0x28fc8
leaq 0x59d8(%rip), %rsi      # 0x1fb49
callq 0x3210
movq %rax, %rdi
leaq 0x5b93(%rip), %rsi      # 0x1fd13
callq 0x3210
movq 0xee3c(%rip), %rdi      # 0x28fc8
leaq 0x59b6(%rip), %rsi      # 0x1fb49
callq 0x3210
movq %rax, %rdi
leaq 0x5b7f(%rip), %rsi      # 0x1fd21
callq 0x3210
movq -0x1a8(%rbp), %rcx
movq 0xc0(%rcx), %rax
cmpq 0xd8(%rcx), %rax
jne 0x1a1e2
movq 0xee03(%rip), %rdi      # 0x28fc8
leaq 0x5260(%rip), %rsi      # 0x1f42c
callq 0x3210
movq %rax, %rdi
leaq 0x5b53(%rip), %rsi      # 0x1fd2e
callq 0x3210
jmp 0x1a204
movq 0xeddf(%rip), %rdi      # 0x28fc8
leaq 0x5959(%rip), %rsi      # 0x1fb49
callq 0x3210
movq %rax, %rdi
leaq 0x5b2f(%rip), %rsi      # 0x1fd2e
callq 0x3210
movq 0xedbd(%rip), %rdi      # 0x28fc8
leaq 0x5937(%rip), %rsi      # 0x1fb49
callq 0x3210
movq %rax, %rdi
leaq 0x5b14(%rip), %rsi      # 0x1fd35
callq 0x3210
movq -0x1a8(%rbp), %rax
movq 0xe0(%rax), %rdi
callq 0x1d030
movq %rax, %rdi
callq 0x16010
testb $0x1, %al
jne 0x1a247
jmp 0x1a2aa
movq -0x1a8(%rbp), %rax
movq 0xe0(%rax), %rdi
callq 0x1d030
movq %rax, %rsi
leaq -0x78(%rbp), %rdi
movq %rdi, -0x1d0(%rbp)
callq 0x15fc0
movq -0x1d0(%rbp), %rsi
movq 0xed4d(%rip), %rdi      # 0x28fc8
callq 0x31e0
jmp 0x1a282
leaq -0x78(%rbp), %rdi
callq 0x3448
jmp 0x1a34c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x78(%rbp), %rdi
callq 0x3448
jmp 0x1abc5
movq 0xed17(%rip), %rdi      # 0x28fc8
leaq 0x570b(%rip), %rsi      # 0x1f9c3
callq 0x3210
movq %rax, %rcx
movq -0x1a8(%rbp), %rax
movq %rcx, -0x1e8(%rbp)
movq 0xe0(%rax), %rdi
callq 0x1d030
movq %rax, %rsi
leaq -0x98(%rbp), %rdi
movq %rdi, -0x1e0(%rbp)
callq 0x15fc0
movq -0x1e8(%rbp), %rdi
movq -0x1e0(%rbp), %rsi
callq 0x31e0
movq %rax, -0x1d8(%rbp)
jmp 0x1a30c
movq -0x1d8(%rbp), %rdi
leaq 0x582f(%rip), %rsi      # 0x1fb49
callq 0x3210
jmp 0x1a321
leaq -0x98(%rbp), %rdi
callq 0x3448
jmp 0x1a34c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x98(%rbp), %rdi
callq 0x3448
jmp 0x1abc5
movq 0xec75(%rip), %rdi      # 0x28fc8
leaq 0x5ac1(%rip), %rsi      # 0x1fe1b
callq 0x3210
movq -0x1a8(%rbp), %rax
movq 0xd8(%rax), %rdi
callq 0x1d030
movq %rax, %rdi
callq 0x16010
testb $0x1, %al
jne 0x1a380
jmp 0x1a3ec
movq -0x1a8(%rbp), %rax
movq 0xd8(%rax), %rdi
callq 0x1d030
movq %rax, %rsi
leaq -0xb8(%rbp), %rdi
movq %rdi, -0x1f0(%rbp)
callq 0x15fc0
movq -0x1f0(%rbp), %rsi
movq 0xec11(%rip), %rdi      # 0x28fc8
callq 0x31e0
jmp 0x1a3be
leaq -0xb8(%rbp), %rdi
callq 0x3448
jmp 0x1a48e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0xb8(%rbp), %rdi
callq 0x3448
jmp 0x1abc5
movq 0xebd5(%rip), %rdi      # 0x28fc8
leaq 0x55c9(%rip), %rsi      # 0x1f9c3
callq 0x3210
movq %rax, %rcx
movq -0x1a8(%rbp), %rax
movq %rcx, -0x208(%rbp)
movq 0xd8(%rax), %rdi
callq 0x1d030
movq %rax, %rsi
leaq -0xd8(%rbp), %rdi
movq %rdi, -0x200(%rbp)
callq 0x15fc0
movq -0x208(%rbp), %rdi
movq -0x200(%rbp), %rsi
callq 0x31e0
movq %rax, -0x1f8(%rbp)
jmp 0x1a44e
movq -0x1f8(%rbp), %rdi
leaq 0x56ed(%rip), %rsi      # 0x1fb49
callq 0x3210
jmp 0x1a463
leaq -0xd8(%rbp), %rdi
callq 0x3448
jmp 0x1a48e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0xd8(%rbp), %rdi
callq 0x3448
jmp 0x1abc5
movq 0xeb33(%rip), %rdi      # 0x28fc8
leaq 0x59af(%rip), %rsi      # 0x1fe4b
callq 0x3210
movq -0x1a8(%rbp), %rcx
movq 0xc0(%rcx), %rax
cmpq 0xd0(%rcx), %rax
jne 0x1a4dc
movq 0xeb09(%rip), %rdi      # 0x28fc8
leaq 0x4f66(%rip), %rsi      # 0x1f42c
callq 0x3210
movq %rax, %rdi
leaq 0x59c9(%rip), %rsi      # 0x1fe9e
callq 0x3210
jmp 0x1a4fe
movq 0xeae5(%rip), %rdi      # 0x28fc8
leaq 0x565f(%rip), %rsi      # 0x1fb49
callq 0x3210
movq %rax, %rdi
leaq 0x59a5(%rip), %rsi      # 0x1fe9e
callq 0x3210
movq 0xeac3(%rip), %rdi      # 0x28fc8
leaq 0x563d(%rip), %rsi      # 0x1fb49
callq 0x3210
movq %rax, %rdi
leaq 0x5a4c(%rip), %rsi      # 0x1ff67
callq 0x3210
movq -0x1a8(%rbp), %rcx
movq 0xc0(%rcx), %rax
cmpq 0xe8(%rcx), %rax
jne 0x1a55b
movq 0xea8a(%rip), %rdi      # 0x28fc8
leaq 0x4ee7(%rip), %rsi      # 0x1f42c
callq 0x3210
movq %rax, %rdi
leaq 0x5956(%rip), %rsi      # 0x1feaa
callq 0x3210
jmp 0x1a57d
movq 0xea66(%rip), %rdi      # 0x28fc8
leaq 0x55e0(%rip), %rsi      # 0x1fb49
callq 0x3210
movq %rax, %rdi
leaq 0x5932(%rip), %rsi      # 0x1feaa
callq 0x3210
movq 0xea44(%rip), %rdi      # 0x28fc8
leaq 0x55be(%rip), %rsi      # 0x1fb49
callq 0x3210
movq %rax, %rdi
leaq 0x591e(%rip), %rsi      # 0x1feb8
callq 0x3210
movq -0x1a8(%rbp), %rax
movq 0xe8(%rax), %rdi
callq 0x1d030
movq %rax, %rdi
callq 0x16010
testb $0x1, %al
jne 0x1a5c0
jmp 0x1a62c
movq -0x1a8(%rbp), %rax
movq 0xe8(%rax), %rdi
callq 0x1d030
movq %rax, %rsi
leaq -0xf8(%rbp), %rdi
movq %rdi, -0x210(%rbp)
callq 0x15fc0
movq -0x210(%rbp), %rsi
movq 0xe9d1(%rip), %rdi      # 0x28fc8
callq 0x31e0
jmp 0x1a5fe
leaq -0xf8(%rbp), %rdi
callq 0x3448
jmp 0x1a6ce
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0xf8(%rbp), %rdi
callq 0x3448
jmp 0x1abc5
movq 0xe995(%rip), %rdi      # 0x28fc8
leaq 0x5389(%rip), %rsi      # 0x1f9c3
callq 0x3210
movq %rax, %rcx
movq -0x1a8(%rbp), %rax
movq %rcx, -0x228(%rbp)
movq 0xe8(%rax), %rdi
callq 0x1d030
movq %rax, %rsi
leaq -0x118(%rbp), %rdi
movq %rdi, -0x220(%rbp)
callq 0x15fc0
movq -0x228(%rbp), %rdi
movq -0x220(%rbp), %rsi
callq 0x31e0
movq %rax, -0x218(%rbp)
jmp 0x1a68e
movq -0x218(%rbp), %rdi
leaq 0x54ad(%rip), %rsi      # 0x1fb49
callq 0x3210
jmp 0x1a6a3
leaq -0x118(%rbp), %rdi
callq 0x3448
jmp 0x1a6ce
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x118(%rbp), %rdi
callq 0x3448
jmp 0x1abc5
movq 0xe8f3(%rip), %rdi      # 0x28fc8
leaq 0x58a2(%rip), %rsi      # 0x1ff7e
callq 0x3210
movq -0x1a8(%rbp), %rcx
movq 0xc0(%rcx), %rax
cmpq 0xf0(%rcx), %rax
jne 0x1a71c
movq 0xe8c9(%rip), %rdi      # 0x28fc8
leaq 0x4d26(%rip), %rsi      # 0x1f42c
callq 0x3210
movq %rax, %rdi
leaq 0x58e4(%rip), %rsi      # 0x1fff9
callq 0x3210
jmp 0x1a73e
movq 0xe8a5(%rip), %rdi      # 0x28fc8
leaq 0x541f(%rip), %rsi      # 0x1fb49
callq 0x3210
movq %rax, %rdi
leaq 0x58c0(%rip), %rsi      # 0x1fff9
callq 0x3210
movq 0xe883(%rip), %rdi      # 0x28fc8
leaq 0x53fd(%rip), %rsi      # 0x1fb49
callq 0x3210
movq %rax, %rdi
leaq 0x58aa(%rip), %rsi      # 0x20005
callq 0x3210
movq -0x1a8(%rbp), %rax
movq 0xf0(%rax), %rdi
callq 0x1d030
movq %rax, %rdi
callq 0x16010
testb $0x1, %al
jne 0x1a781
jmp 0x1a7ed
movq -0x1a8(%rbp), %rax
movq 0xf0(%rax), %rdi
callq 0x1d030
movq %rax, %rsi
leaq -0x138(%rbp), %rdi
movq %rdi, -0x230(%rbp)
callq 0x15fc0
movq -0x230(%rbp), %rsi
movq 0xe810(%rip), %rdi      # 0x28fc8
callq 0x31e0
jmp 0x1a7bf
leaq -0x138(%rbp), %rdi
callq 0x3448
jmp 0x1a88f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x138(%rbp), %rdi
callq 0x3448
jmp 0x1abc5
movq 0xe7d4(%rip), %rdi      # 0x28fc8
leaq 0x51c8(%rip), %rsi      # 0x1f9c3
callq 0x3210
movq %rax, %rcx
movq -0x1a8(%rbp), %rax
movq %rcx, -0x248(%rbp)
movq 0xf0(%rax), %rdi
callq 0x1d030
movq %rax, %rsi
leaq -0x158(%rbp), %rdi
movq %rdi, -0x240(%rbp)
callq 0x15fc0
movq -0x248(%rbp), %rdi
movq -0x240(%rbp), %rsi
callq 0x31e0
movq %rax, -0x238(%rbp)
jmp 0x1a84f
movq -0x238(%rbp), %rdi
leaq 0x52ec(%rip), %rsi      # 0x1fb49
callq 0x3210
jmp 0x1a864
leaq -0x158(%rbp), %rdi
callq 0x3448
jmp 0x1a88f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x158(%rbp), %rdi
callq 0x3448
jmp 0x1abc5
movq 0xe732(%rip), %rdi      # 0x28fc8
leaq 0x57bc(%rip), %rsi      # 0x20059
callq 0x3210
movq %rax, %rdi
leaq 0x4827(%rip), %rsi      # 0x1f0d3
callq 0x3210
movq %rax, %rdi
movq 0xe6f5(%rip), %rsi      # 0x28fb0
callq 0x3240
movq -0x1a8(%rbp), %rdi
callq 0x1bd90
movq -0x1a8(%rbp), %rax
cmpl $0x0, 0x20(%rax)
jle 0x1a92b
movq 0xe6e8(%rip), %rdi      # 0x28fc8
leaq 0x50dc(%rip), %rsi      # 0x1f9c3
callq 0x3210
movq %rax, %rdi
leaq 0x57fb(%rip), %rsi      # 0x200f1
callq 0x3210
movq %rax, %rdi
movq -0x1a8(%rbp), %rax
movl 0x20(%rax), %esi
callq 0x33b0
movq %rax, %rdi
leaq 0x47bc(%rip), %rsi      # 0x1f0d3
callq 0x3210
movq %rax, %rdi
movq 0xe68a(%rip), %rsi      # 0x28fb0
callq 0x3240
movq 0xe696(%rip), %rdi      # 0x28fc8
leaq 0x5210(%rip), %rsi      # 0x1fb49
callq 0x3210
movq %rax, %rdi
leaq 0x57d1(%rip), %rsi      # 0x20119
callq 0x3210
movq %rax, %rdi
movq -0x1a8(%rbp), %rax
movl 0x24(%rax), %esi
callq 0x33b0
movq %rax, %rdi
leaq 0x4fdb(%rip), %rsi      # 0x1f944
callq 0x3210
movq -0x1a8(%rbp), %rax
movl 0x1c(%rax), %ecx
movb $0x0, -0x179(%rbp)
xorl %eax, %eax
cmpl $0x0, %ecx
movb %al, -0x249(%rbp)
jle 0x1a9d6
leaq 0xf3c5(%rip), %rsi      # 0x29d58
leaq -0x178(%rbp), %rdi
movq %rdi, -0x258(%rbp)
callq 0x30f0
movq -0x1a8(%rbp), %rdi
movq -0x258(%rbp), %rsi
movb $0x1, -0x179(%rbp)
callq 0x13240
movb %al, -0x24a(%rbp)
jmp 0x1a9c8
movb -0x24a(%rbp), %al
xorb $-0x1, %al
movb %al, -0x249(%rbp)
movb -0x249(%rbp), %al
movb %al, -0x259(%rbp)
testb $0x1, -0x179(%rbp)
jne 0x1a9ed
jmp 0x1a9f9
leaq -0x178(%rbp), %rdi
callq 0x3448
movb -0x259(%rbp), %al
testb $0x1, %al
jne 0x1aa08
jmp 0x1aa93
movq 0xe5b9(%rip), %rdi      # 0x28fc8
leaq 0x5133(%rip), %rsi      # 0x1fb49
callq 0x3210
movq %rax, %rdi
leaq 0x571e(%rip), %rsi      # 0x20143
callq 0x3210
movq %rax, %rdi
movq -0x1a8(%rbp), %rax
movl 0x1c(%rax), %esi
callq 0x33b0
movq %rax, %rdi
leaq 0x5728(%rip), %rsi      # 0x2016e
callq 0x3210
movq %rax, %rdi
leaq 0x467e(%rip), %rsi      # 0x1f0d3
callq 0x3210
movq %rax, %rdi
movq 0xe54c(%rip), %rsi      # 0x28fb0
callq 0x3240
jmp 0x1aa93
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
testb $0x1, -0x179(%rbp)
jne 0x1aa82
jmp 0x1aa8e
leaq -0x178(%rbp), %rdi
callq 0x3448
jmp 0x1abc5
movq 0xe52e(%rip), %rdi      # 0x28fc8
leaq 0x50a8(%rip), %rsi      # 0x1fb49
callq 0x3210
movq %rax, %rdi
leaq 0x56c1(%rip), %rsi      # 0x20171
callq 0x3210
movq -0x1a8(%rbp), %rsi
movq %rax, %rdi
addq $0x60, %rsi
callq 0x31e0
movq %rax, %rdi
movq 0xe4de(%rip), %rsi      # 0x28fb0
callq 0x3240
movq -0x1a8(%rbp), %rsi
movq %rax, %rdi
subq $-0x80, %rsi
callq 0x31e0
leaq 0xf267(%rip), %rsi      # 0x29d58
leaq -0x1a0(%rbp), %rdi
movq %rdi, -0x268(%rbp)
callq 0x30f0
movq -0x1a8(%rbp), %rdi
movq -0x268(%rbp), %rsi
callq 0x13240
movb %al, -0x25a(%rbp)
jmp 0x1ab1f
leaq -0x1a0(%rbp), %rdi
callq 0x3448
movb -0x25a(%rbp), %al
testb $0x1, %al
jne 0x1ab37
jmp 0x1ab66
movq 0xe48a(%rip), %rdi      # 0x28fc8
leaq 0x5641(%rip), %rsi      # 0x20186
callq 0x3210
jmp 0x1ab66
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x1a0(%rbp), %rdi
callq 0x3448
jmp 0x1abc5
movq 0xe45b(%rip), %rdi      # 0x28fc8
movq 0xe43c(%rip), %rsi      # 0x28fb0
callq 0x3240
movq -0x1a8(%rbp), %rsi
movq %rax, %rdi
addq $0xa0, %rsi
callq 0x31e0
movq %rax, %rdi
leaq 0x453a(%rip), %rsi      # 0x1f0d3
callq 0x3210
movq %rax, %rdi
leaq 0x4d9c(%rip), %rsi      # 0x1f944
callq 0x3210
movq %rax, %rdi
movq 0xe3f9(%rip), %rsi      # 0x28fb0
callq 0x3240
addq $0x270, %rsp            # imm = 0x270
popq %rbp
retq
movq -0x30(%rbp), %rdi
callq 0x33c0
nop