// File: EDDRSoftware[P]libdefsEval/main.cpp
// Function: fullPath(char const*, boost::filesystem::path const&, boost::filesystem::path*)
int fullPath(const char *pathIn, const path &base, path *outPath)
{
    int retVal = 0;


    try {

        *outPath = canonical(pathIn, base);

    } catch(const filesystem_error &error) {
        if(is_symlink(error.path1())) {
            cerr << "ERROR: Path " << error.path1() << " contains a broken symlink." <<
                 endl;
        } else {
            cerr << "ERROR: " << error.code().message() << " " << error.path1() << endl;
        }

        retVal = error.code().value();
    }

    return retVal;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x100, %rsp            # imm = 0x100
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movl $0x0, -0x1c(%rbp)
movq -0x8(%rbp), %rsi
leaq -0x60(%rbp), %rdi
callq 0xa3a0
jmp 0x6abd
movq -0x10(%rbp), %rdx
leaq -0x40(%rbp), %rdi
leaq -0x60(%rbp), %rsi
callq 0xa360
jmp 0x6ad0
movq -0x18(%rbp), %rdi
leaq -0x40(%rbp), %rsi
callq 0xa410
leaq -0x40(%rbp), %rdi
callq 0xa440
leaq -0x60(%rbp), %rdi
callq 0xa440
jmp 0x6ce9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x6b17
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x60(%rbp), %rdi
callq 0xa440
movl -0x6c(%rbp), %eax
movl $0x1, %ecx
cmpl %ecx, %eax
jne 0x6cfe
movq -0x68(%rbp), %rdi
callq 0x6150
movq %rax, -0x78(%rbp)
movq -0x78(%rbp), %rdi
callq 0xa490
movq %rax, %rdi
callq 0xa460
movb %al, -0xb9(%rbp)
jmp 0x6b4d
movb -0xb9(%rbp), %al
testb $0x1, %al
jne 0x6b5c
jmp 0x6be0
movq 0x1a48d(%rip), %rdi     # 0x20ff0
leaq 0xf4cf(%rip), %rsi      # 0x16039
callq 0x6440
movq %rax, -0xc8(%rbp)
jmp 0x6b78
movq -0x78(%rbp), %rdi
callq 0xa490
movq -0xc8(%rbp), %rdi
movq %rax, %rsi
callq 0xa4e0
movq %rax, -0xd0(%rbp)
jmp 0x6b99
movq -0xd0(%rbp), %rdi
leaq 0xf49f(%rip), %rsi      # 0x16046
callq 0x6440
movq %rax, -0xd8(%rbp)
jmp 0x6bb5
movq -0xd8(%rbp), %rdi
movq 0x1a3bd(%rip), %rsi     # 0x20f80
callq 0x6490
jmp 0x6bca
jmp 0x6cbe
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x6cf5
movq 0x1a409(%rip), %rdi     # 0x20ff0
leaq 0xf474(%rip), %rsi      # 0x16062
callq 0x6440
movq %rax, -0xe0(%rbp)
jmp 0x6bfc
movq -0x78(%rbp), %rdi
callq 0xa580
movq %rax, -0xa8(%rbp)
movq %rdx, -0xa0(%rbp)
leaq -0x98(%rbp), %rdi
leaq -0xa8(%rbp), %rsi
callq 0xa280
jmp 0x6c28
movq -0xe0(%rbp), %rdi
leaq -0x98(%rbp), %rsi
callq 0x63f0
movq %rax, -0xe8(%rbp)
jmp 0x6c44
movq -0xe8(%rbp), %rdi
leaq 0xf4c6(%rip), %rsi      # 0x16118
callq 0x6440
movq %rax, -0xf0(%rbp)
jmp 0x6c60
movq -0x78(%rbp), %rdi
callq 0xa490
movq -0xf0(%rbp), %rdi
movq %rax, %rsi
callq 0xa4e0
movq %rax, -0xf8(%rbp)
jmp 0x6c81
movq -0xf8(%rbp), %rdi
movq 0x1a2f1(%rip), %rsi     # 0x20f80
callq 0x6490
jmp 0x6c96
leaq -0x98(%rbp), %rdi
callq 0x6290
jmp 0x6cbe
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x98(%rbp), %rdi
callq 0x6290
jmp 0x6cf5
movq -0x78(%rbp), %rdi
callq 0xa580
movq %rax, -0xb8(%rbp)
movq %rdx, -0xb0(%rbp)
leaq -0xb8(%rbp), %rdi
callq 0xa5a0
movl %eax, -0x1c(%rbp)
callq 0x66e0
movl -0x1c(%rbp), %eax
addq $0x100, %rsp            # imm = 0x100
popq %rbp
retq
callq 0x66e0
jmp 0x6cfc
jmp 0x6cfe
movq -0x68(%rbp), %rdi
callq 0x6780
movq %rax, %rdi
callq 0xa0f0
nop