// File: jovermann[P]streplace/src/streplace.cpp
// Function: Streplace::getFileTypeStr(std::filesystem::__cxx11::directory_entry const&)
std::string getFileTypeStr(const std::filesystem::directory_entry& directoryEntry)
    {
        if ((!followLinks) && directoryEntry.is_symlink())
        {
            return "symlink";
        }
        else if (directoryEntry.is_regular_file())
        {
            return "file";
        }
        else if (directoryEntry.is_directory())
        {
            return "directory";
        }
        else if (directoryEntry.is_block_file())
        {
            return "block device";
        }
        else if (directoryEntry.is_character_file())
        {
            return "characters device";
        }
        else if (directoryEntry.is_fifo())
        {
            return "fifo";
        }
        else if (directoryEntry.is_socket())
        {
            return "socket";
        }
        else
        {
            // Will never get here.
            return "unknown file type";
        }
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq %rdi, -0x48(%rbp)
movq %rdi, %rax
movq %rax, -0x40(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x10(%rbp), %rax
testb $0x1, 0x1(%rax)
jne 0x48536
movq -0x18(%rbp), %rdi
callq 0x13e80
testb $0x1, %al
jne 0x484eb
jmp 0x48536
leaq -0x19(%rbp), %rdi
movq %rdi, -0x50(%rbp)
callq 0x7a50
movq -0x48(%rbp), %rdi
movq -0x50(%rbp), %rdx
leaq 0x3983(%rip), %rsi      # 0x4be8a
callq 0xb310
jmp 0x4850e
leaq -0x19(%rbp), %rdi
callq 0x7670
jmp 0x48797
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x19(%rbp), %rdi
callq 0x7670
jmp 0x487a4
movq -0x18(%rbp), %rdi
callq 0x13f20
testb $0x1, %al
jne 0x48545
jmp 0x48590
leaq -0x2d(%rbp), %rdi
movq %rdi, -0x58(%rbp)
callq 0x7a50
movq -0x48(%rbp), %rdi
movq -0x58(%rbp), %rdx
leaq 0x3919(%rip), %rsi      # 0x4be7a
callq 0xb310
jmp 0x48568
leaq -0x2d(%rbp), %rdi
callq 0x7670
jmp 0x48797
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x2d(%rbp), %rdi
callq 0x7670
jmp 0x487a4
movq -0x18(%rbp), %rdi
callq 0x13f50
testb $0x1, %al
jne 0x4859f
jmp 0x485ea
leaq -0x2e(%rbp), %rdi
movq %rdi, -0x60(%rbp)
callq 0x7a50
movq -0x48(%rbp), %rdi
movq -0x60(%rbp), %rdx
leaq 0x3881(%rip), %rsi      # 0x4be3c
callq 0xb310
jmp 0x485c2
leaq -0x2e(%rbp), %rdi
callq 0x7670
jmp 0x48797
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x2e(%rbp), %rdi
callq 0x7670
jmp 0x487a4
movq -0x18(%rbp), %rdi
callq 0x13fb0
testb $0x1, %al
jne 0x485f9
jmp 0x48644
leaq -0x2f(%rbp), %rdi
movq %rdi, -0x68(%rbp)
callq 0x7a50
movq -0x48(%rbp), %rdi
movq -0x68(%rbp), %rdx
leaq 0x3831(%rip), %rsi      # 0x4be46
callq 0xb310
jmp 0x4861c
leaq -0x2f(%rbp), %rdi
callq 0x7670
jmp 0x48797
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x2f(%rbp), %rdi
callq 0x7670
jmp 0x487a4
movq -0x18(%rbp), %rdi
callq 0x13fe0
testb $0x1, %al
jne 0x48653
jmp 0x4869e
leaq -0x30(%rbp), %rdi
movq %rdi, -0x70(%rbp)
callq 0x7a50
movq -0x48(%rbp), %rdi
movq -0x70(%rbp), %rdx
leaq 0x37e4(%rip), %rsi      # 0x4be53
callq 0xb310
jmp 0x48676
leaq -0x30(%rbp), %rdi
callq 0x7670
jmp 0x48797
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x7670
jmp 0x487a4
movq -0x18(%rbp), %rdi
callq 0x13f80
testb $0x1, %al
jne 0x486ad
jmp 0x486f8
leaq -0x31(%rbp), %rdi
movq %rdi, -0x78(%rbp)
callq 0x7a50
movq -0x48(%rbp), %rdi
movq -0x78(%rbp), %rdx
leaq 0x20e8(%rip), %rsi      # 0x4a7b1
callq 0xb310
jmp 0x486d0
leaq -0x31(%rbp), %rdi
callq 0x7670
jmp 0x48797
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x31(%rbp), %rdi
callq 0x7670
jmp 0x487a4
movq -0x18(%rbp), %rdi
callq 0x14010
testb $0x1, %al
jne 0x48707
jmp 0x4874c
leaq -0x32(%rbp), %rdi
movq %rdi, -0x80(%rbp)
callq 0x7a50
movq -0x48(%rbp), %rdi
movq -0x80(%rbp), %rdx
leaq 0x20ac(%rip), %rsi      # 0x4a7cf
callq 0xb310
jmp 0x4872a
leaq -0x32(%rbp), %rdi
callq 0x7670
jmp 0x48797
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x32(%rbp), %rdi
callq 0x7670
jmp 0x487a4
leaq -0x33(%rbp), %rdi
movq %rdi, -0x88(%rbp)
callq 0x7a50
movq -0x48(%rbp), %rdi
movq -0x88(%rbp), %rdx
leaq 0x36f7(%rip), %rsi      # 0x4be65
callq 0xb310
jmp 0x48775
leaq -0x33(%rbp), %rdi
callq 0x7670
jmp 0x48797
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x33(%rbp), %rdi
callq 0x7670
jmp 0x487a4
movq -0x40(%rbp), %rax
addq $0x90, %rsp
popq %rbp
retq
movq -0x28(%rbp), %rdi
callq 0x7a30
nopl (%rax)