// File: m-wiesner[P]Jotto/Jotto.cpp
// Function: print_intro()
void print_intro()
{
    vector<string> lines;
    string line;
    ifstream infile("./text_files/jotto_intro.txt");
    if(infile.is_open())
    {
        while(getline(infile, line))
        {
            lines.push_back(line);
        }
    }

    infile.close();
    cin.ignore();
    for(vector<string>::const_iterator it = lines.begin();
        it != lines.end() - MAX_MENU_ROWS; ++it)
    {
        cout << "\r";
        clear_screen(MAX_MENU_ROWS);

        cout << "________________________________________";
        cout << "________________________________________" << endl;  
        int i = 0;
        vector<string>::const_iterator it2 = it;
        while (i < MAX_MENU_ROWS)
        {
            cout << *it2 << endl; 
            ++it2;
            ++i;
        }
        cout << "__________ Press (Enter) for next row ________" << flush;
        cin.ignore(numeric_limits<streamsize>::max(), '\n');
        if(!(cin))
        {
            cout << endl;
            cout << "Thanks for reading the rules!" << endl;
            exit (0);
        }
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x2c0, %rsp            # imm = 0x2C0
leaq -0x18(%rbp), %rdi
callq 0x4920
leaq -0x38(%rbp), %rdi
callq 0x33e0
leaq 0x8e6f(%rip), %rsi      # 0xd1b3
leaq -0x240(%rbp), %rdi
movl $0x8, %edx
callq 0x34a0
jmp 0x4357
leaq -0x240(%rbp), %rdi
callq 0x3410
movb %al, -0x281(%rbp)
jmp 0x436b
movb -0x281(%rbp), %al
testb $0x1, %al
jne 0x437a
jmp 0x440c
jmp 0x437c
leaq -0x240(%rbp), %rdi
leaq -0x38(%rbp), %rsi
callq 0x3080
movq %rax, -0x290(%rbp)
jmp 0x4395
movq -0x290(%rbp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
callq 0x33a0
movb %al, -0x291(%rbp)
jmp 0x43b3
movb -0x291(%rbp), %al
testb $0x1, %al
jne 0x43bf
jmp 0x440a
leaq -0x18(%rbp), %rdi
leaq -0x38(%rbp), %rsi
callq 0x4940
jmp 0x43ce
jmp 0x437c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x248(%rbp)
movl %eax, -0x24c(%rbp)
jmp 0x466a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x248(%rbp)
movl %eax, -0x24c(%rbp)
leaq -0x240(%rbp), %rdi
callq 0x30b0
jmp 0x466a
jmp 0x440c
leaq -0x240(%rbp), %rdi
callq 0x3090
jmp 0x441a
movq 0xfbbf(%rip), %rdi      # 0x13fe0
callq 0x3490
jmp 0x4428
leaq -0x18(%rbp), %rdi
callq 0x49b0
movq %rax, -0x260(%rbp)
leaq -0x258(%rbp), %rdi
leaq -0x260(%rbp), %rsi
callq 0x49e0
leaq -0x18(%rbp), %rdi
callq 0x4a60
movq %rax, -0x270(%rbp)
leaq -0x270(%rbp), %rdi
movl $0xa, %esi
callq 0x4a90
movq %rax, -0x268(%rbp)
leaq -0x258(%rbp), %rdi
leaq -0x268(%rbp), %rsi
callq 0x4a20
testb $0x1, %al
jne 0x448f
jmp 0x4643
movq 0xfb32(%rip), %rdi      # 0x13fc8
leaq 0x8d33(%rip), %rsi      # 0xd1d0
callq 0x32a0
jmp 0x44a4
movl $0xa, %edi
callq 0x47c0
jmp 0x44b0
movq 0xfb11(%rip), %rdi      # 0x13fc8
leaq 0x8d14(%rip), %rsi      # 0xd1d2
callq 0x32a0
jmp 0x44c5
movq 0xfafc(%rip), %rdi      # 0x13fc8
leaq 0x8cff(%rip), %rsi      # 0xd1d2
callq 0x32a0
movq %rax, -0x2a0(%rbp)
jmp 0x44e1
movq -0x2a0(%rbp), %rdi
movq 0xfac9(%rip), %rsi      # 0x13fb8
callq 0x32f0
jmp 0x44f6
movl $0x0, -0x274(%rbp)
movq -0x258(%rbp), %rax
movq %rax, -0x280(%rbp)
cmpl $0xa, -0x274(%rbp)
jge 0x456d
leaq -0x280(%rbp), %rdi
callq 0x4ad0
movq %rax, %rsi
movq 0xfa9b(%rip), %rdi      # 0x13fc8
callq 0x3270
movq %rax, -0x2a8(%rbp)
jmp 0x453b
movq -0x2a8(%rbp), %rdi
movq 0xfa6f(%rip), %rsi      # 0x13fb8
callq 0x32f0
jmp 0x4550
leaq -0x280(%rbp), %rdi
callq 0x4af0
movl -0x274(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x274(%rbp)
jmp 0x450e
movq 0xfa54(%rip), %rdi      # 0x13fc8
leaq 0x8c80(%rip), %rsi      # 0xd1fb
callq 0x32a0
movq %rax, -0x2b0(%rbp)
jmp 0x4589
movq -0x2b0(%rbp), %rdi
movq 0xfa39(%rip), %rsi      # 0x13fd0
callq 0x32f0
jmp 0x459e
callq 0x4b10
movq %rax, %rsi
movq 0xfa33(%rip), %rdi      # 0x13fe0
movl $0xa, %edx
callq 0x31a0
jmp 0x45b9
movq 0xfa20(%rip), %rdi      # 0x13fe0
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
callq 0x3140
movb %al, -0x2b1(%rbp)
jmp 0x45d7
movb -0x2b1(%rbp), %al
testb $0x1, %al
jne 0x45e3
jmp 0x4630
movq 0xf9de(%rip), %rdi      # 0x13fc8
movq 0xf9c7(%rip), %rsi      # 0x13fb8
callq 0x32f0
jmp 0x45f8
movq 0xf9c9(%rip), %rdi      # 0x13fc8
leaq 0x8c24(%rip), %rsi      # 0xd22a
callq 0x32a0
movq %rax, -0x2c0(%rbp)
jmp 0x4614
movq -0x2c0(%rbp), %rdi
movq 0xf996(%rip), %rsi      # 0x13fb8
callq 0x32f0
jmp 0x4629
xorl %edi, %edi
callq 0x3370
jmp 0x4632
leaq -0x258(%rbp), %rdi
callq 0x4af0
jmp 0x444b
leaq -0x240(%rbp), %rdi
callq 0x30b0
leaq -0x38(%rbp), %rdi
callq 0x3190
leaq -0x18(%rbp), %rdi
callq 0x4b20
addq $0x2c0, %rsp            # imm = 0x2C0
popq %rbp
retq
leaq -0x38(%rbp), %rdi
callq 0x3190
leaq -0x18(%rbp), %rdi
callq 0x4b20
movq -0x248(%rbp), %rdi
callq 0x3460
nopl (%rax,%rax)