// File: XDragonSl[P]git-switcher/src/Store/Store.cpp
// Function: Store::Store()
Store::Store() {
    store.open(STORE_LOCATION + STORE_NAME, ios::in);
    if (store.is_open()) {
        string profileString;
        string name;
        string email;
        while (getline(store, profileString)) {
            istringstream profileStream(profileString);
            getline(profileStream, name, Profile::SEPARATOR);
            getline(profileStream, email, Profile::SEPARATOR);
            Profile loadedProfile(name, email);
            allProfiles.push_back(loadedProfile);
        }
    } else {
        store.clear();
    }
    store.close();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x290, %rsp            # imm = 0x290
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x260(%rbp)
movq %rdi, %rax
movq %rax, -0x278(%rbp)
movq %rdi, %rax
movq %rax, -0x270(%rbp)
callq 0x3280
movq -0x260(%rbp), %rdi
addq $0x210, %rdi            # imm = 0x210
movq %rdi, -0x268(%rbp)
callq 0x9430
movq -0x260(%rbp), %rax
movb $0x0, 0x228(%rax)
leaq 0x7766(%rip), %rsi      # 0x10558
leaq 0x777f(%rip), %rdx      # 0x10578
leaq -0x28(%rbp), %rdi
callq 0x6c10
jmp 0x8e04
movq -0x260(%rbp), %rdi
leaq -0x28(%rbp), %rsi
movl $0x8, %edx
callq 0x32f0
jmp 0x8e1b
leaq -0x28(%rbp), %rdi
callq 0x3448
movq -0x278(%rbp), %rdi
callq 0x33b0
movb %al, -0x279(%rbp)
jmp 0x8e38
movb -0x279(%rbp), %al
testb $0x1, %al
jne 0x8e47
jmp 0x8ff2
leaq -0x58(%rbp), %rdi
callq 0x3300
leaq -0x78(%rbp), %rdi
callq 0x3300
leaq -0x98(%rbp), %rdi
callq 0x3300
movq -0x278(%rbp), %rdi
leaq -0x58(%rbp), %rsi
callq 0x3070
movq %rax, -0x288(%rbp)
jmp 0x8e7e
movq -0x288(%rbp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
callq 0x32b0
movb %al, -0x289(%rbp)
jmp 0x8e9c
movb -0x289(%rbp), %al
testb $0x1, %al
jne 0x8eab
jmp 0x8fb2
leaq -0x218(%rbp), %rdi
leaq -0x58(%rbp), %rsi
movl $0x8, %edx
callq 0x3370
jmp 0x8ec2
leaq -0x218(%rbp), %rdi
leaq -0x78(%rbp), %rsi
movl $0x3b, %edx
callq 0x3400
jmp 0x8ed9
leaq -0x218(%rbp), %rdi
leaq -0x98(%rbp), %rsi
movl $0x3b, %edx
callq 0x3400
jmp 0x8ef3
leaq -0x258(%rbp), %rdi
leaq -0x78(%rbp), %rsi
leaq -0x98(%rbp), %rdx
callq 0x8b50
jmp 0x8f0c
movq -0x278(%rbp), %rdi
addq $0x210, %rdi            # imm = 0x210
leaq -0x258(%rbp), %rsi
callq 0x9450
jmp 0x8f28
leaq -0x258(%rbp), %rdi
callq 0x6b30
leaq -0x218(%rbp), %rdi
callq 0x3120
jmp 0x8e65
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x9025
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x3448
jmp 0x9025
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x8fd2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x8fa4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x258(%rbp), %rdi
callq 0x6b30
leaq -0x218(%rbp), %rdi
callq 0x3120
jmp 0x8fd2
leaq -0x98(%rbp), %rdi
callq 0x3448
leaq -0x78(%rbp), %rdi
callq 0x3448
leaq -0x58(%rbp), %rdi
callq 0x3448
jmp 0x900e
leaq -0x98(%rbp), %rdi
callq 0x3448
leaq -0x78(%rbp), %rdi
callq 0x3448
leaq -0x58(%rbp), %rdi
callq 0x3448
jmp 0x9025
movq -0x278(%rbp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
xorl %esi, %esi
callq 0x3380
jmp 0x900c
jmp 0x900e
movq -0x278(%rbp), %rdi
callq 0x3050
jmp 0x901c
addq $0x290, %rsp            # imm = 0x290
popq %rbp
retq
movq -0x268(%rbp), %rdi
callq 0x6ad0
movq -0x270(%rbp), %rdi
callq 0x3080
movq -0x30(%rbp), %rdi
callq 0x33d0
nopw %cs:(%rax,%rax)