// File: /workspace/github_cpp_makefile_star2_O2/fulhax[P]ncpamixer/src/config.cpp
// Function: Config::getDefaultConfigFile()
bool Config::getDefaultConfigFile()
{
    std::error_code ec{};
    std::string f{FILENAME};
    const auto xdg{getenv(XDG_CONFIG)};
    fs::path config_dir{xdg == nullptr ? "" : xdg};
    if (!fs::is_directory(config_dir, ec))
    {
        const auto home{getHomeDir()};
        if (home) config_dir = fs::path(home);
        f.insert(0, 1, '.');
    }

    if (fs::is_directory(config_dir, ec))
    {
        full_path = fs::absolute(config_dir / f, ec);
        if (!fs::exists(full_path, ec))
        {
            fprintf(
              stderr,
              "Default file '%s' does not exist, creating one for you ;)\n",
              full_path.c_str()
            );
            return createDefault();
        }
        return true;
    }

    fprintf(
      stderr,
      "Unable to find 'HOME' and/or '%s' folders.\n",
        XDG_CONFIG
    );
    return false;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0xd8, %rsp
movq %rdi, %rbx
andl $0x0, 0x8(%rsp)
callq 0x63a0
movq %rax, 0x10(%rsp)
leaq 0x7be4(%rip), %rsi      # 0x11596
leaq 0x40(%rsp), %rdi
leaq 0x18(%rsp), %rdx
callq 0xa1f6
leaq 0x7be8(%rip), %rdi      # 0x115b0
callq 0x6710
testq %rax, %rax
leaq 0x6b18(%rip), %rcx      # 0x104ef
cmovneq %rax, %rcx
leaq 0x88(%rsp), %rsi
movq %rcx, (%rsi)
leaq 0x18(%rsp), %rdi
pushq $0x2
popq %rdx
callq 0xa32e
leaq 0x18(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0xa399
testb %al, %al
jne 0x9a59
callq 0x98aa
movq %rax, 0x60(%rsp)
testq %rax, %rax
je 0x9a47
leaq 0x88(%rsp), %rdi
leaq 0x60(%rsp), %rsi
pushq $0x2
popq %rdx
callq 0xa32e
leaq 0x18(%rsp), %rdi
leaq 0x88(%rsp), %r14
movq %r14, %rsi
callq 0x70de
movq %r14, %rdi
callq 0x6ffc
leaq 0x40(%rsp), %rdi
pushq $0x1
popq %rdx
pushq $0x2e
popq %rcx
xorl %esi, %esi
callq 0x6c00
leaq 0x18(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0xa399
testb %al, %al
je 0x9b21
leaq 0xb0(%rsp), %rdi
leaq 0x40(%rsp), %rsi
pushq $0x2
popq %rdx
callq 0xa3de
leaq 0x60(%rsp), %rdi
leaq 0x18(%rsp), %rsi
leaq 0xb0(%rsp), %rdx
callq 0xa3a6
leaq 0x88(%rsp), %rdi
leaq 0x60(%rsp), %rsi
leaq 0x8(%rsp), %rdx
callq 0x64b0
leaq 0x30(%rbx), %r14
leaq 0x88(%rsp), %r15
movq %r14, %rdi
movq %r15, %rsi
callq 0x70de
movq %r15, %rdi
callq 0x6ffc
leaq 0x60(%rsp), %rdi
callq 0x6ffc
leaq 0xb0(%rsp), %rdi
callq 0x6ffc
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0xa445
movb $0x1, %bpl
testb %al, %al
je 0x9b44
leaq 0x18(%rsp), %rdi
callq 0x6ffc
leaq 0x40(%rsp), %rdi
callq 0x62b0
movl %ebp, %eax
addq $0xd8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
movq 0xe478(%rip), %rax      # 0x17fa0
movq (%rax), %rdi
leaq 0x6918(%rip), %rsi      # 0x1044a
leaq 0x7a77(%rip), %rdx      # 0x115b0
xorl %ebp, %ebp
xorl %eax, %eax
callq 0x6860
jmp 0x9afd
movq 0xe455(%rip), %rax      # 0x17fa0
movq (%rax), %rdi
movq 0x30(%rbx), %rdx
leaq 0x68b6(%rip), %rsi      # 0x1040f
xorl %eax, %eax
callq 0x6860
movq %rbx, %rdi
callq 0x9bb6
movl %eax, %ebp
jmp 0x9afd
jmp 0x9b91
movq %rax, %rbx
leaq 0x60(%rsp), %rdi
callq 0x6ffc
jmp 0x9b80
movq %rax, %rbx
leaq 0xb0(%rsp), %rdi
callq 0x6ffc
jmp 0x9b94
jmp 0x9b91
movq %rax, %rbx
leaq 0x18(%rsp), %rdi
callq 0x6ffc
leaq 0x40(%rsp), %rdi
callq 0x62b0
movq %rbx, %rdi
callq 0x6ac0
movq %rax, %rbx
jmp 0x9b9e
nop