// File: /workspace/github_cpp_makefile_star2_O3/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 0x6206
movq %rbx, %rdi
callq 0x9a66
testl %eax, %eax
jle 0x6206
xorl %r15d, %r15d
movl $0x24, %edi
callq 0x3842
callq 0x30d0
movl %eax, %r14d
movq %rbx, %rdi
callq 0x9a66
movq %rax, %rcx
shrq $0x20, %rcx
movl %r14d, %eax
cltd
idivl %ecx
shlq $0x20, %rdx
leaq (%rdx,%r15), %rdi
callq 0x3916
movl $0x7c, %edi
callq 0x3300
addq $0x5, %r15
movq %rbx, %rdi
callq 0x9a66
cmpl %eax, %r15d
jl 0x61b7
leaq 0x38(%rbx), %rdi
leaq 0x5dfa(%rip), %rsi      # 0xc00b
callq 0x30f0
testl %eax, %eax
je 0x637f
leaq 0x58(%rbx), %r14
leaq 0x5de2(%rip), %rsi      # 0xc00b
movq %r14, %rdi
callq 0x30f0
testl %eax, %eax
je 0x637f
movq %rbx, %rdi
callq 0x9a66
movq %rax, %r15
leaq -0x78(%rbp), %r13
movq %r13, -0x10(%r13)
movq 0x38(%rbx), %rsi
movq 0x40(%rbx), %rdx
addq %rsi, %rdx
leaq -0x88(%rbp), %r12
movq %r12, %rdi
callq 0x3b60
movq %r12, %rdi
callq 0x6d4e
movl %eax, %r12d
movq %rbx, %rdi
callq 0x9a66
movl %r15d, %edi
shrl $0x1f, %edi
addl %r15d, %edi
sarl %edi
movl %r12d, %ecx
shrl $0x1f, %ecx
addl %r12d, %ecx
sarl %ecx
subl %ecx, %edi
sarq $0x20, %rax
imulq $0x55555556, %rax, %rsi # imm = 0x55555556
movq %rsi, %rax
shrq $0x3f, %rax
shrq $0x20, %rsi
addl %eax, %esi
callq 0x38ec
movq -0x88(%rbp), %rdi
cmpq %r13, %rdi
je 0x62bf
callq 0x3230
movl $0x1f, %edi
callq 0x3842
movq 0x38(%rbx), %rsi
leaq 0x5ee7(%rip), %r15      # 0xc1bb
movq %r15, %rdi
xorl %eax, %eax
callq 0x3060
leaq 0x78(%rbx), %rdi
callq 0x694a
movq %rbx, %rdi
callq 0x9a66
movq %rax, %r12
leaq -0x38(%rbp), %rax
movq %rax, -0x10(%rax)
movq 0x58(%rbx), %rsi
movq 0x60(%rbx), %rdx
addq %rsi, %rdx
leaq -0x48(%rbp), %r13
movq %r13, %rdi
callq 0x3b60
movq %r13, %rdi
callq 0x6d4e
movl %eax, %r13d
movq %rbx, %rdi
callq 0x9a66
movl %r12d, %edi
shrl $0x1f, %edi
addl %r12d, %edi
sarl %edi
movl %r13d, %ecx
shrl $0x1f, %ecx
addl %r13d, %ecx
sarl %ecx
subl %ecx, %edi
shrq $0x1f, %rax
andl $-0x2, %eax
cltq
imulq $0x55555556, %rax, %rsi # imm = 0x55555556
movq %rsi, %rax
shrq $0x3f, %rax
shrq $0x20, %rsi
addl %eax, %esi
callq 0x38ec
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x6370
callq 0x3230
movl $0x22, %edi
callq 0x3842
jmp 0x6422
movq %rbx, %rdi
callq 0x9a66
movq %rax, %r14
leaq -0x58(%rbp), %r12
movq %r12, -0x10(%r12)
movq 0xd8(%rbx), %rsi
movq 0xe0(%rbx), %rdx
addq %rsi, %rdx
leaq -0x68(%rbp), %r15
movq %r15, %rdi
callq 0x3b60
movq %r15, %rdi
callq 0x6d4e
movl %eax, %r15d
movq %rbx, %rdi
callq 0x9a66
movl %r14d, %edi
shrl $0x1f, %edi
addl %r14d, %edi
sarl %edi
movl %r15d, %ecx
addl $0x12, %ecx
shrl $0x1f, %ecx
addl %r15d, %ecx
addl $0x12, %ecx
sarl %ecx
subl %ecx, %edi
movq %rax, %rcx
shrq $0x20, %rcx
shrq $0x3f, %rax
addl %ecx, %eax
sarl %eax
movl %eax, %esi
callq 0x38ec
movq -0x68(%rbp), %rdi
cmpq %r12, %rdi
je 0x6405
callq 0x3230
leaq 0xd8(%rbx), %r14
movl $0x21, %edi
callq 0x3842
callq 0x3902
leaq 0x5d87(%rip), %r15      # 0xc1a9
movq (%r14), %rsi
movq %r15, %rdi
xorl %eax, %eax
callq 0x3060
movq %rbx, %rdi
callq 0x9a1a
addq $0x68, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
jne 0x6475
jmp 0x647a
movq %rax, %rbx
movq -0x88(%rbp), %rdi
cmpq %r13, %rdi
jne 0x6475
jmp 0x647a
movq %rax, %rbx
movq -0x68(%rbp), %rdi
cmpq %r12, %rdi
je 0x647a
callq 0x3230
movq %rbx, %rdi
callq 0x3430