// File: TasnimAnas[P]Attendance-Management-System/src/userHome.cpp
// Function: userHome()
void userHome()
{
    cout << "1. Take Attendance" << endl;
    cout << "2. See past attendance details" << endl;
    cout << "3. See Student details" << endl;
    cout << "4. Add student" << endl;
    cout << "5. Remove student" << endl;
    cout << "6. Logout and quit" << endl;
    cout << "Select option: ";
    int UserHomeSelection;
    cin >> UserHomeSelection;
    switch (UserHomeSelection)
    {
    case 1:
        system("CLS");
        takeAttendanceHeader();
        takeAttendance();
        break;
    case 2:
        system("CLS");
        pastAttendanceHeader();
        pastAttendance();
        break;
    case 3:
        system("CLS");
        showHeader();
        show();
        userHome();
        break;
    case 4:
        system("CLS");
        StudentAddHeader();
        StudentAdd();
        break;
    case 5:
        system("CLS");
        StudentRemoveHeader();
        StudentRemove();
        break;
    case 6:
        system("CLS");
        exit(0);
        break;
    case -6969:
        AllReset();
        userHomeHeader();
        cout << "All Data Cleaned!" << endl
             << endl;
        userHome();
    default:
        system("CLS");
        userHomeHeader();
        cout << "Invalid selection! Try again" << endl;
        userHome();
        break;
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq 0x6fa1(%rip), %rdi      # 0x13fd0
movq %rdi, -0x10(%rbp)
leaq 0x18b8(%rip), %rsi      # 0xe8f2
callq 0x3270
movq %rax, %rdi
movq 0x6f6f(%rip), %rsi      # 0x13fb8
movq %rsi, -0x18(%rbp)
callq 0x32a0
movq -0x10(%rbp), %rdi
leaq 0x18a8(%rip), %rsi      # 0xe905
callq 0x3270
movq -0x18(%rbp), %rsi
movq %rax, %rdi
callq 0x32a0
movq -0x10(%rbp), %rdi
leaq 0x18ab(%rip), %rsi      # 0xe924
callq 0x3270
movq -0x18(%rbp), %rsi
movq %rax, %rdi
callq 0x32a0
movq -0x10(%rbp), %rdi
leaq 0x18a6(%rip), %rsi      # 0xe93b
callq 0x3270
movq -0x18(%rbp), %rsi
movq %rax, %rdi
callq 0x32a0
movq -0x10(%rbp), %rdi
leaq 0x1899(%rip), %rsi      # 0xe94a
callq 0x3270
movq -0x18(%rbp), %rsi
movq %rax, %rdi
callq 0x32a0
movq -0x10(%rbp), %rdi
leaq 0x188f(%rip), %rsi      # 0xe95c
callq 0x3270
movq -0x18(%rbp), %rsi
movq %rax, %rdi
callq 0x32a0
movq -0x10(%rbp), %rdi
leaq 0x1886(%rip), %rsi      # 0xe96f
callq 0x3270
movq 0x6eeb(%rip), %rdi      # 0x13fe0
leaq -0x4(%rbp), %rsi
callq 0x3170
movl -0x4(%rbp), %eax
movl %eax, -0x8(%rbp)
subl $0xffffe4c7, %eax       # imm = 0xFFFFE4C7
je 0xd1f7
jmp 0xd111
movl -0x8(%rbp), %eax
subl $0x1, %eax
je 0xd158
jmp 0xd11b
movl -0x8(%rbp), %eax
subl $0x2, %eax
je 0xd173
jmp 0xd125
movl -0x8(%rbp), %eax
subl $0x3, %eax
je 0xd18e
jmp 0xd12f
movl -0x8(%rbp), %eax
subl $0x4, %eax
je 0xd1ae
jmp 0xd139
movl -0x8(%rbp), %eax
subl $0x5, %eax
je 0xd1c9
jmp 0xd147
movl -0x8(%rbp), %eax
subl $0x6, %eax
je 0xd1e4
jmp 0xd237
leaq 0x109c(%rip), %rdi      # 0xe1fb
callq 0x3230
callq 0xc8e0
callq 0xb970
jmp 0xd26f
leaq 0x1081(%rip), %rdi      # 0xe1fb
callq 0x3230
callq 0xb8b0
callq 0xb240
jmp 0xd26f
leaq 0x1066(%rip), %rdi      # 0xe1fb
callq 0x3230
callq 0x47a0
callq 0x44b0
callq 0xd020
jmp 0xd26f
leaq 0x1046(%rip), %rdi      # 0xe1fb
callq 0x3230
callq 0x4d60
callq 0x48d0
jmp 0xd26f
leaq 0x102b(%rip), %rdi      # 0xe1fb
callq 0x3230
callq 0x8ee0
callq 0x8b40
jmp 0xd26f
leaq 0x1010(%rip), %rdi      # 0xe1fb
callq 0x3230
xorl %edi, %edi
callq 0x3320
callq 0xa670
callq 0xd280
movq 0x6dc8(%rip), %rdi      # 0x13fd0
leaq 0x1770(%rip), %rsi      # 0xe97f
callq 0x3270
movq %rax, %rdi
movq 0x6d9a(%rip), %rsi      # 0x13fb8
callq 0x32a0
movq %rax, %rdi
movq 0x6d8b(%rip), %rsi      # 0x13fb8
callq 0x32a0
callq 0xd020
leaq 0xfbd(%rip), %rdi       # 0xe1fb
callq 0x3230
callq 0xd280
movq 0x6d81(%rip), %rdi      # 0x13fd0
leaq 0x173b(%rip), %rsi      # 0xe991
callq 0x3270
movq %rax, %rdi
movq 0x6d53(%rip), %rsi      # 0x13fb8
callq 0x32a0
callq 0xd020
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)