// File: /workspace/github_cpp_makefile_star2_O2/tbonelaforge[P]gradebook/GradebookPrinter.cpp
// Function: GradebookPrinter::fillHeaders()
void GradebookPrinter::fillHeaders() {
    int i, j, k;
    string * headers = cellContents[0];
    headers[0] = " ID ";
    columnWidths[0] = headers[0].length();
    headers[1] = " Name ";
    columnWidths[1] = headers[1].length();
    for (i = 0; i < gradebook.getNumPrograms(); i++) {
        fillHeader(2 + i, " Program " + to_string(i + 1) + " ");
    }
    for (j = 0; j < gradebook.getNumTests(); j++) {
        fillHeader(2 + i + j, " Test " + to_string(j + 1) + " ");
    }
    for (k = 0; k < gradebook.getNumFinals(); k++) {
        fillHeader(2 + i + j + k, " Final Exam ");
    }
    fillHeader(2 + i + j + k, " Final Grade ");
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xd8, %rsp
movq %rdi, %rbx
movq 0x10(%rdi), %rax
movq (%rax), %r14
leaq 0x28e4(%rip), %rsi      # 0x7b49
movq %r14, %rdi
callq 0x2310
movl 0x8(%r14), %eax
movq 0x18(%rbx), %rcx
movl %eax, (%rcx)
leaq 0x20(%r14), %rdi
leaq 0x28cc(%rip), %rsi      # 0x7b4e
callq 0x2310
movl 0x28(%r14), %eax
movq %rbx, -0x30(%rbp)
movq 0x18(%rbx), %rcx
movl %eax, 0x4(%rcx)
pushq $0x2
popq %r14
leaq -0x78(%rbp), %r13
leaq -0xf8(%rbp), %r12
leal -0x2(%r14), %r15d
movq -0x30(%rbp), %rax
movq (%rax), %rdi
callq 0x41d6
cmpl %eax, %r15d
jge 0x531f
movq %r14, %rbx
leal -0x1(%r14), %esi
leaq -0x58(%rbp), %r15
movq %r15, %rdi
callq 0x4ace
movq %r13, %rdi
leaq 0x287e(%rip), %rsi      # 0x7b55
movq %r15, %rdx
callq 0x4aa0
movq %r12, %rdi
movq %r13, %rsi
leaq 0x203b(%rip), %rdx      # 0x7327
callq 0x4a77
movq -0x30(%rbp), %rdi
movl %ebx, %esi
movq %r12, %rdx
callq 0x5c7c
movq %r12, %rdi
callq 0x2358
movq %r13, %rdi
callq 0x2358
leaq -0x58(%rbp), %rdi
callq 0x2358
incl %ebx
movq %rbx, %r14
jmp 0x52a5
movq %r14, -0x38(%rbp)
xorl %r12d, %r12d
leaq -0x78(%rbp), %r14
leaq -0xd8(%rbp), %rbx
movq -0x30(%rbp), %rax
movq (%rax), %rdi
callq 0x41de
movq -0x38(%rbp), %rcx
leal (%rcx,%r12), %r15d
cmpl %eax, %r12d
jge 0x53aa
incl %r12d
leaq -0x58(%rbp), %r13
movq %r13, %rdi
movl %r12d, %esi
callq 0x4ace
movq %r14, %rdi
leaq 0x2014(%rip), %rsi      # 0x737a
movq %r13, %rdx
callq 0x4aa0
movq %rbx, %rdi
movq %r14, %rsi
leaq 0x1fac(%rip), %rdx      # 0x7327
callq 0x4a77
movq -0x30(%rbp), %rdi
movl %r15d, %esi
movq %rbx, %rdx
callq 0x5c7c
movq %rbx, %rdi
callq 0x2358
movq %r14, %rdi
callq 0x2358
leaq -0x58(%rbp), %rdi
callq 0x2358
jmp 0x5331
xorl %r14d, %r14d
leaq 0x27ab(%rip), %rbx      # 0x7b5f
leaq -0xb8(%rbp), %r12
leaq -0x78(%rbp), %r13
movq -0x30(%rbp), %rax
movq (%rax), %rdi
callq 0x41e8
cmpl %eax, %r14d
jge 0x53fd
movq %r12, %rdi
movq %rbx, %rsi
movq %r13, %rdx
callq 0x5d02
movq -0x30(%rbp), %rdi
movl %r15d, %esi
movq %r12, %rdx
callq 0x5c7c
movq %r12, %rdi
callq 0x2358
incl %r14d
incl %r15d
jmp 0x53bf
leaq 0x2768(%rip), %rsi      # 0x7b6c
leaq -0x98(%rbp), %rdi
leaq -0x78(%rbp), %rdx
callq 0x5d02
leaq -0x98(%rbp), %rdx
movq -0x30(%rbp), %rdi
movl %r15d, %esi
callq 0x5c7c
leaq -0x98(%rbp), %rdi
callq 0x2358
addq $0xd8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
leaq -0x98(%rbp), %rdi
jmp 0x549a
jmp 0x545f
movq %rax, %rbx
leaq -0xb8(%rbp), %rdi
jmp 0x549a
movq %rax, %rbx
jmp 0x549f
movq %rax, %rbx
leaq -0xd8(%rbp), %rdi
jmp 0x547e
jmp 0x5485
jmp 0x5493
movq %rax, %rbx
leaq -0xf8(%rbp), %rdi
callq 0x2358
jmp 0x5488
movq %rax, %rbx
leaq -0x78(%rbp), %rdi
callq 0x2358
jmp 0x5496
movq %rax, %rbx
leaq -0x58(%rbp), %rdi
callq 0x2358
movq %rbx, %rdi
callq 0x22d0
nop