// File: TasnimAnas[P]Attendance-Management-System/src/fileHandlers.cpp
// Function: getInput()
void getInput()
{
    string input;
    int chk = 1;
    int chk2 = 0;
    ifstream inputtudent(".Data/input.bin");
    while (getline(inputtudent, input))
    {
        string name;
        int roll;
        if (chk % 2 == 0)
        {
            name = input;
            chk2++;
            chk++;
        }
        else
        {
            stringstream ss;
            ss << input;
            ss >> roll;
            chk2++;
            chk++;
        }
        if (chk2 == 2)
        {
            add(roll, name);
            chk2 = 0;
        }
    }

    ifstream inputAttendance(".Data/Attendance.bin");
    int k = 0;
    while (getline(inputAttendance, input))
    {
        for (int i = 0; i < input.size(); i++)
        {
            if (input[i] == '0')
            {
                Student[k].isPresent.push_back(false);
            }
            else if (input[i] == '1')
            {
                Student[k].isPresent.push_back(true);
            }
        }
        k++;
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x660, %rsp            # imm = 0x660
leaq -0x20(%rbp), %rdi
callq 0x3380
movl $0x1, -0x24(%rbp)
movl $0x0, -0x28(%rbp)
leaq 0x42b2(%rip), %rsi      # 0xe55b
leaq -0x230(%rbp), %rdi
movl $0x8, %edx
callq 0x34c0
jmp 0xa2bc
jmp 0xa2be
leaq -0x230(%rbp), %rdi
leaq -0x20(%rbp), %rsi
callq 0x3070
movq %rax, -0x628(%rbp)
jmp 0xa2d7
movq -0x628(%rbp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
callq 0x3350
movb %al, -0x629(%rbp)
jmp 0xa2f5
movb -0x629(%rbp), %al
testb $0x1, %al
jne 0xa304
jmp 0xa498
leaq -0x260(%rbp), %rdi
callq 0x3380
movl -0x24(%rbp), %eax
movl $0x2, %ecx
cltd
idivl %ecx
cmpl $0x0, %edx
jne 0xa38e
leaq -0x260(%rbp), %rdi
leaq -0x20(%rbp), %rsi
callq 0x3030
jmp 0xa332
movl -0x28(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x28(%rbp)
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0xa406
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x238(%rbp)
movl %eax, -0x23c(%rbp)
jmp 0xa658
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x238(%rbp)
movl %eax, -0x23c(%rbp)
jmp 0xa64c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x238(%rbp)
movl %eax, -0x23c(%rbp)
jmp 0xa487
leaq -0x3f0(%rbp), %rdi
callq 0x31b0
jmp 0xa39c
leaq -0x3e0(%rbp), %rdi
leaq -0x20(%rbp), %rsi
callq 0x3260
jmp 0xa3ae
leaq -0x3f0(%rbp), %rdi
leaq -0x264(%rbp), %rsi
callq 0x3170
jmp 0xa3c3
movl -0x28(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x28(%rbp)
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
leaq -0x3f0(%rbp), %rdi
callq 0x31e0
jmp 0xa406
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x238(%rbp)
movl %eax, -0x23c(%rbp)
leaq -0x3f0(%rbp), %rdi
callq 0x31e0
jmp 0xa487
cmpl $0x2, -0x28(%rbp)
jne 0xa476
movl -0x264(%rbp), %eax
movl %eax, -0x630(%rbp)
leaq -0x410(%rbp), %rdi
leaq -0x260(%rbp), %rsi
callq 0x3100
jmp 0xa42d
movl -0x630(%rbp), %edi
leaq -0x410(%rbp), %rsi
callq 0x4e20
jmp 0xa441
leaq -0x410(%rbp), %rdi
callq 0x3180
movl $0x0, -0x28(%rbp)
jmp 0xa476
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x238(%rbp)
movl %eax, -0x23c(%rbp)
leaq -0x410(%rbp), %rdi
callq 0x3180
jmp 0xa487
leaq -0x260(%rbp), %rdi
callq 0x3180
jmp 0xa2be
leaq -0x260(%rbp), %rdi
callq 0x3180
jmp 0xa64c
leaq 0x40d2(%rip), %rsi      # 0xe571
leaq -0x618(%rbp), %rdi
movl $0x8, %edx
callq 0x34c0
jmp 0xa4b2
movl $0x0, -0x61c(%rbp)
leaq -0x618(%rbp), %rdi
leaq -0x20(%rbp), %rsi
callq 0x3070
movq %rax, -0x638(%rbp)
jmp 0xa4d5
movq -0x638(%rbp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
callq 0x3350
movb %al, -0x639(%rbp)
jmp 0xa4f3
movb -0x639(%rbp), %al
testb $0x1, %al
jne 0xa502
jmp 0xa622
movl $0x0, -0x620(%rbp)
movslq -0x620(%rbp), %rax
movq %rax, -0x648(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x31a0
movq %rax, %rcx
movq -0x648(%rbp), %rax
cmpq %rcx, %rax
jae 0xa60e
movslq -0x620(%rbp), %rsi
leaq -0x20(%rbp), %rdi
callq 0x3500
movq %rax, -0x650(%rbp)
jmp 0xa54f
movq -0x650(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x30, %eax
jne 0xa5a6
movslq -0x61c(%rbp), %rsi
leaq 0x9d44(%rip), %rdi      # 0x142b0
callq 0x48b0
movq %rax, %rdi
addq $0x28, %rdi
xorl %esi, %esi
callq 0x79c0
jmp 0xa581
jmp 0xa5f8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x238(%rbp)
movl %eax, -0x23c(%rbp)
leaq -0x618(%rbp), %rdi
callq 0x3080
jmp 0xa64c
movslq -0x620(%rbp), %rsi
leaq -0x20(%rbp), %rdi
callq 0x3500
movq %rax, -0x658(%rbp)
jmp 0xa5bf
movq -0x658(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x31, %eax
jne 0xa5f6
movslq -0x61c(%rbp), %rsi
leaq 0x9cd4(%rip), %rdi      # 0x142b0
callq 0x48b0
movq %rax, %rdi
addq $0x28, %rdi
movl $0x1, %esi
callq 0x79c0
jmp 0xa5f4
jmp 0xa5f6
jmp 0xa5f8
jmp 0xa5fa
movl -0x620(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x620(%rbp)
jmp 0xa50c
movl -0x61c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x61c(%rbp)
jmp 0xa4bc
leaq -0x618(%rbp), %rdi
callq 0x3080
leaq -0x230(%rbp), %rdi
callq 0x3080
leaq -0x20(%rbp), %rdi
callq 0x3180
addq $0x660, %rsp            # imm = 0x660
popq %rbp
retq
leaq -0x230(%rbp), %rdi
callq 0x3080
leaq -0x20(%rbp), %rdi
callq 0x3180
movq -0x238(%rbp), %rdi
callq 0x3460
nopl (%rax)