// File: /workspace/github_cpp_makefile_star2_O2/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 %rbx
subq $0x10, %rsp
movq 0x4d24(%rip), %rbx      # 0xafd0
leaq 0x1625(%rip), %rsi      # 0x78d8
movq %rbx, %rdi
callq 0x21d0
movq %rax, %rdi
callq 0x20f0
leaq 0x1621(%rip), %rsi      # 0x78eb
movq %rbx, %rdi
callq 0x21d0
movq %rax, %rdi
callq 0x20f0
leaq 0x1629(%rip), %rsi      # 0x790a
movq %rbx, %rdi
callq 0x21d0
movq %rax, %rdi
callq 0x20f0
leaq 0x1629(%rip), %rsi      # 0x7921
movq %rbx, %rdi
callq 0x21d0
movq %rax, %rdi
callq 0x20f0
leaq 0x1621(%rip), %rsi      # 0x7930
movq %rbx, %rdi
callq 0x21d0
movq %rax, %rdi
callq 0x20f0
leaq 0x161c(%rip), %rsi      # 0x7942
movq %rbx, %rdi
callq 0x21d0
movq %rax, %rdi
callq 0x20f0
leaq 0x1618(%rip), %rsi      # 0x7955
movq %rbx, %rdi
callq 0x21d0
movq 0x4c94(%rip), %rdi      # 0xafe0
leaq 0xc(%rsp), %rbx
movq %rbx, %rsi
callq 0x2120
movl (%rbx), %ecx
leal -0x1(%rcx), %eax
cmpl $0x5, %eax
ja 0x638e
leaq 0x1556(%rip), %rcx      # 0x78c0
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0xe81(%rip), %rdi       # 0x71fb
callq 0x2190
callq 0x6057
callq 0x56c8
jmp 0x6459
cmpl $0xffffe4c7, %ecx       # imm = 0xFFFFE4C7
jne 0x63c8
callq 0x4d03
callq 0x6472
movq 0x4c29(%rip), %rdi      # 0xafd0
leaq 0x15b7(%rip), %rsi      # 0x7965
callq 0x21d0
movq %rax, %rdi
callq 0x20f0
movq %rax, %rdi
callq 0x20f0
callq 0x62a0
leaq 0xe2c(%rip), %rdi       # 0x71fb
callq 0x2190
callq 0x6472
movq 0x4bf0(%rip), %rdi      # 0xafd0
leaq 0x1590(%rip), %rsi      # 0x7977
callq 0x21d0
movq %rax, %rdi
callq 0x20f0
jmp 0x6424
leaq 0xdfe(%rip), %rdi       # 0x71fb
callq 0x2190
callq 0x427a
callq 0x4020
jmp 0x6459
leaq 0xde6(%rip), %rdi       # 0x71fb
callq 0x2190
callq 0x2c98
callq 0x2a88
callq 0x62a0
jmp 0x6459
leaq 0xdc9(%rip), %rdi       # 0x71fb
callq 0x2190
callq 0x3036
callq 0x2d20
jmp 0x6459
leaq 0xdb1(%rip), %rdi       # 0x71fb
callq 0x2190
callq 0x5643
callq 0x5224
addq $0x10, %rsp
popq %rbx
retq
leaq 0xd95(%rip), %rdi       # 0x71fb
callq 0x2190
xorl %edi, %edi
callq 0x2220