// File: TasnimAnas[P]Attendance-Management-System/src/logInPage.cpp
// Function: logInPage()
void logInPage()
{
    string Username, Password;
    cout << "Username: ";
    cin >> Username;
    if (Username == "-1")
    {
        system("CLS");
        welcomePageHeader();
        welcomePage();
    }
    cout << "Password: ";
    cin >> Password;
    if (Password == "-1")
    {
        system("CLS");
        welcomePageHeader();
        welcomePage();
    }
    if (isRightUser(Username) && isRightPassword(Password))
    {
        system("CLS");
        getInput();
        userHomeHeader();
        userHome();
    }
    else if (isRightUser(Username) && !isRightPassword(Password))
    {
        system("CLS");
        logInPageHeader();
        cout << "Incorrect Password! Try again:" << endl;
        logInPage();
    }
    else if (!isRightUser(Username))
    {
        system("CLS");
        logInPageHeader();
        cout << "Username not found! Try again:" << endl;
        logInPage();
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x130, %rsp            # imm = 0x130
leaq -0x20(%rbp), %rdi
callq 0x3380
leaq -0x40(%rbp), %rdi
callq 0x3380
movq 0x92bc(%rip), %rdi      # 0x13fd0
leaq 0x386e(%rip), %rsi      # 0xe589
callq 0x3270
jmp 0xad22
movq 0x92b7(%rip), %rdi      # 0x13fe0
leaq -0x20(%rbp), %rsi
callq 0x3360
jmp 0xad34
leaq 0x34fe(%rip), %rsi      # 0xe239
leaq -0x20(%rbp), %rdi
callq 0x51e0
movb %al, -0x101(%rbp)
jmp 0xad4c
movb -0x101(%rbp), %al
testb $0x1, %al
jne 0xad58
jmp 0xad87
leaq 0x349c(%rip), %rdi      # 0xe1fb
callq 0x3230
jmp 0xad66
callq 0x96a0
jmp 0xad6d
callq 0x9610
jmp 0xad74
jmp 0xad87
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0xb12d
movq 0x9242(%rip), %rdi      # 0x13fd0
leaq 0x37ff(%rip), %rsi      # 0xe594
callq 0x3270
jmp 0xad9c
movq 0x923d(%rip), %rdi      # 0x13fe0
leaq -0x40(%rbp), %rsi
callq 0x3360
jmp 0xadae
leaq 0x3484(%rip), %rsi      # 0xe239
leaq -0x40(%rbp), %rdi
callq 0x51e0
movb %al, -0x102(%rbp)
jmp 0xadc6
movb -0x102(%rbp), %al
testb $0x1, %al
jne 0xadd2
jmp 0xadf0
leaq 0x3422(%rip), %rdi      # 0xe1fb
callq 0x3230
jmp 0xade0
callq 0x96a0
jmp 0xade7
callq 0x9610
jmp 0xadee
jmp 0xadf0
movb $0x0, -0x91(%rbp)
leaq -0x70(%rbp), %rdi
leaq -0x20(%rbp), %rsi
callq 0x3100
jmp 0xae06
leaq -0x70(%rbp), %rdi
callq 0x3940
movb %al, -0x103(%rbp)
jmp 0xae17
movb -0x103(%rbp), %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0x104(%rbp)
jne 0xae2c
jmp 0xae67
leaq -0x90(%rbp), %rdi
leaq -0x40(%rbp), %rsi
callq 0x3100
jmp 0xae3e
movb $0x1, -0x91(%rbp)
leaq -0x90(%rbp), %rdi
callq 0x3a40
movb %al, -0x105(%rbp)
jmp 0xae59
movb -0x105(%rbp), %al
movb %al, -0x104(%rbp)
jmp 0xae67
movb -0x104(%rbp), %al
movb %al, -0x106(%rbp)
testb $0x1, -0x91(%rbp)
jne 0xae7e
jmp 0xae8a
leaq -0x90(%rbp), %rdi
callq 0x3180
leaq -0x70(%rbp), %rdi
callq 0x3180
movb -0x106(%rbp), %al
testb $0x1, %al
jne 0xae9f
jmp 0xaf08
leaq 0x3355(%rip), %rdi      # 0xe1fb
callq 0x3230
jmp 0xaead
callq 0xa280
jmp 0xaeb4
callq 0xd280
jmp 0xaebb
callq 0xd020
jmp 0xaec2
jmp 0xb112
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0xaefa
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
testb $0x1, -0x91(%rbp)
jne 0xaeec
jmp 0xaef8
leaq -0x90(%rbp), %rdi
callq 0x3180
jmp 0xaefa
leaq -0x70(%rbp), %rdi
callq 0x3180
jmp 0xb12d
movb $0x0, -0xd9(%rbp)
leaq -0xb8(%rbp), %rdi
leaq -0x20(%rbp), %rsi
callq 0x3100
jmp 0xaf21
leaq -0xb8(%rbp), %rdi
callq 0x3940
movb %al, -0x107(%rbp)
jmp 0xaf35
movb -0x107(%rbp), %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0x108(%rbp)
jne 0xaf4a
jmp 0xaf85
leaq -0xd8(%rbp), %rdi
leaq -0x40(%rbp), %rsi
callq 0x3100
jmp 0xaf5c
movb $0x1, -0xd9(%rbp)
leaq -0xd8(%rbp), %rdi
callq 0x3a40
movb %al, -0x109(%rbp)
jmp 0xaf77
movb -0x109(%rbp), %al
xorb $-0x1, %al
movb %al, -0x108(%rbp)
movb -0x108(%rbp), %al
movb %al, -0x10a(%rbp)
testb $0x1, -0xd9(%rbp)
jne 0xaf9c
jmp 0xafa8
leaq -0xd8(%rbp), %rdi
callq 0x3180
leaq -0xb8(%rbp), %rdi
callq 0x3180
movb -0x10a(%rbp), %al
testb $0x1, %al
jne 0xafc3
jmp 0xb059
leaq 0x3231(%rip), %rdi      # 0xe1fb
callq 0x3230
jmp 0xafd1
callq 0xb150
jmp 0xafd8
movq 0x8ff1(%rip), %rdi      # 0x13fd0
leaq 0x35b9(%rip), %rsi      # 0xe59f
callq 0x3270
movq %rax, -0x118(%rbp)
jmp 0xaff4
movq -0x118(%rbp), %rdi
movq 0x8fb6(%rip), %rsi      # 0x13fb8
callq 0x32a0
jmp 0xb009
callq 0xacf0
jmp 0xb010
jmp 0xb110
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0xb048
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
testb $0x1, -0xd9(%rbp)
jne 0xb03a
jmp 0xb046
leaq -0xd8(%rbp), %rdi
callq 0x3180
jmp 0xb048
leaq -0xb8(%rbp), %rdi
callq 0x3180
jmp 0xb12d
leaq -0x100(%rbp), %rdi
leaq -0x20(%rbp), %rsi
callq 0x3100
jmp 0xb06b
leaq -0x100(%rbp), %rdi
callq 0x3940
movb %al, -0x119(%rbp)
jmp 0xb07f
movb -0x119(%rbp), %al
xorb $-0x1, %al
movb %al, -0x11a(%rbp)
leaq -0x100(%rbp), %rdi
callq 0x3180
movb -0x11a(%rbp), %al
testb $0x1, %al
jne 0xb0a5
jmp 0xb10e
leaq 0x314f(%rip), %rdi      # 0xe1fb
callq 0x3230
jmp 0xb0b3
callq 0xb150
jmp 0xb0ba
movq 0x8f0f(%rip), %rdi      # 0x13fd0
leaq 0x34f6(%rip), %rsi      # 0xe5be
callq 0x3270
movq %rax, -0x128(%rbp)
jmp 0xb0d6
movq -0x128(%rbp), %rdi
movq 0x8ed4(%rip), %rsi      # 0x13fb8
callq 0x32a0
jmp 0xb0eb
callq 0xacf0
jmp 0xb0f2
jmp 0xb10e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x100(%rbp), %rdi
callq 0x3180
jmp 0xb12d
jmp 0xb110
jmp 0xb112
leaq -0x40(%rbp), %rdi
callq 0x3180
leaq -0x20(%rbp), %rdi
callq 0x3180
addq $0x130, %rsp            # imm = 0x130
popq %rbp
retq
leaq -0x40(%rbp), %rdi
callq 0x3180
leaq -0x20(%rbp), %rdi
callq 0x3180
movq -0x48(%rbp), %rdi
callq 0x3460
nopl (%rax,%rax)