// File: /workspace/github_cpp_makefile_star2_O2/Jacobious52[P]Tanks/IntroView.cpp
// Function: IntroView::draw()
void IntroView::draw()
{
    // draw rain
    if (tag == 1)
    {
        for (int i = 0; i < get_size().x; i+=5)
        {
            ConsoleTools::set_fcolor(ConsoleTools::cyan);
            ConsoleTools::set_cursor(Point<int>(i, rand() % get_size().y));
            printf("|");
        }
    }

    if (player1 != "" && player2 != "")
    {
        // draw player vs info
        ConsoleTools::set_cursor(get_size().x/2 - StringTools::string_width(player1)/2, get_size().y/3);
        ConsoleTools::set_fcolor(ConsoleTools::red);
        printf("%s", player1.c_str());

        _vs_text.draw();

        ConsoleTools::set_cursor(get_size().x/2 - StringTools::string_width(player2)/2, 2*get_size().y/3);
        ConsoleTools::set_fcolor(ConsoleTools::blue);
        printf("%s", player2.c_str());
    }
    else
    {
        // draw the loading text
        ConsoleTools::set_cursor(get_size().x/2 - (18 + StringTools::string_width(_load_num_string))/2, get_size().y/2);
        ConsoleTools::set_fcolor(ConsoleTools::yellow);
        ConsoleTools::clear_line();
        printf("Pretending to load%s", _load_num_string.c_str());
    }

    // draw children
    View::draw();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x68, %rsp
movq %rdi, %rbx
cmpl $0x1, 0x8(%rdi)
jne 0x5d0a
xorl %r13d, %r13d
pushq $0x24
popq %r14
pushq $0x7c
popq %r15
movq %rbx, %rdi
callq 0x8d2e
cltq
cmpq %rax, %r13
jge 0x5d0a
movl %r14d, %edi
callq 0x386e
callq 0x30d0
movl %eax, %r12d
movq %rbx, %rdi
callq 0x8d2e
movq %rax, %rcx
shrq $0x20, %rcx
movl %r12d, %eax
cltd
idivl %ecx
shlq $0x20, %rdx
leaq (%rdx,%r13), %rdi
callq 0x3938
movl %r15d, %edi
callq 0x3370
addq $0x5, %r13
jmp 0x5cbb
leaq 0x38(%rbx), %r15
leaq 0x52f6(%rip), %rsi      # 0xb00b
movq %r15, %rdi
callq 0x5f72
testb %al, %al
je 0x5e40
leaq 0x58(%rbx), %r14
leaq 0x52db(%rip), %rsi      # 0xb00b
movq %r14, %rdi
callq 0x5f72
testb %al, %al
je 0x5e40
movq %rbx, %rdi
callq 0x8d2e
movq %rax, %r12
leaq -0x88(%rbp), %r13
movq %r13, %rdi
movq %r15, %rsi
callq 0x3360
movq %r13, %rdi
callq 0x6758
movl %eax, %r15d
movq %rbx, %rdi
callq 0x8d2e
movq %rax, %rcx
pushq $0x2
popq %rsi
movl %r12d, %eax
cltd
idivl %esi
movl %eax, %edi
pushq $-0x2
popq %rsi
movl %r15d, %eax
cltd
idivl %esi
addl %eax, %edi
shrq $0x20, %rcx
pushq $0x3
popq %rsi
movl %ecx, %eax
cltd
idivl %esi
movl %eax, %esi
callq 0x390e
leaq -0x88(%rbp), %rdi
callq 0x3340
pushq $0x1f
popq %rdi
callq 0x386e
movq 0x38(%rbx), %rsi
leaq 0x53d0(%rip), %r15      # 0xb18b
movq %r15, %rdi
xorl %eax, %eax
callq 0x3050
leaq 0x78(%rbx), %rdi
callq 0x63cc
movq %rbx, %rdi
callq 0x8d2e
movq %rax, %r12
leaq -0x68(%rbp), %r13
movq %r13, %rdi
movq %r14, %rsi
callq 0x3360
movq %r13, %rdi
callq 0x6758
movl %eax, %r13d
movq %rbx, %rdi
callq 0x8d2e
movq %rax, %rcx
movl %r12d, %eax
cltd
pushq $0x2
popq %rsi
idivl %esi
movl %eax, %edi
movl %r13d, %eax
cltd
pushq $-0x2
popq %rsi
idivl %esi
addl %eax, %edi
shrq $0x1f, %rcx
andl $-0x2, %ecx
movl %ecx, %eax
cltd
pushq $0x3
popq %rcx
idivl %ecx
movl %eax, %esi
callq 0x390e
leaq -0x68(%rbp), %rdi
callq 0x3340
pushq $0x22
popq %rdi
callq 0x386e
jmp 0x5ec0
movq %rbx, %rdi
callq 0x8d2e
movq %rax, %r15
leaq 0xd8(%rbx), %r14
leaq -0x48(%rbp), %r12
movq %r12, %rdi
movq %r14, %rsi
callq 0x3360
movq %r12, %rdi
callq 0x6758
movl %eax, %r12d
movq %rbx, %rdi
callq 0x8d2e
movq %rax, %rcx
pushq $0x2
popq %rsi
movl %r15d, %eax
cltd
idivl %esi
movl %eax, %edi
addl $0x12, %r12d
pushq $-0x2
popq %r8
movl %r12d, %eax
cltd
idivl %r8d
addl %eax, %edi
shrq $0x20, %rcx
movl %ecx, %eax
cltd
idivl %esi
movl %eax, %esi
callq 0x390e
leaq -0x48(%rbp), %rdi
callq 0x3340
pushq $0x21
popq %rdi
callq 0x386e
callq 0x3924
leaq 0x52b9(%rip), %r15      # 0xb179
movq (%r14), %rsi
movq %r15, %rdi
xorl %eax, %eax
callq 0x3050
movq %rbx, %rdi
callq 0x8cec
addq $0x68, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
leaq -0x68(%rbp), %rdi
callq 0x3340
jmp 0x5f0f
movq %rax, %rbx
leaq -0x88(%rbp), %rdi
callq 0x3340
jmp 0x5f0f
movq %rax, %rbx
leaq -0x48(%rbp), %rdi
callq 0x3340
movq %rbx, %rdi
callq 0x3450
movq %rax, %rdi
callq 0x3aae
nop