// File: /workspace/github_cpp_makefile_star2_O2/jovermann[P]streplace/src/streplace.cpp
// Function: Streplace::processDirectoryEntry(std::filesystem::__cxx11::directory_entry&)
void processDirectoryEntry(std::filesystem::directory_entry& directoryEntry)
    {
        // Rename files and dirs.
        if (rename)
        {
            std::filesystem::path oldPath = directoryEntry.path();
            std::filesystem::path basePath = oldPath.parent_path();
            std::string oldName = oldPath.filename().string();
            std::string newName = applyAllRules(oldName);
            if (oldName != newName)
            {
                std::filesystem::path newPath = basePath / newName;
                if (verbose)
                {
                    std::cout << "Renaming " << oldPath.string() << " -> " << newPath.string() << ".\n";
                }
                if (!dummyMode)
                {
                    std::filesystem::rename(oldPath, newPath);
                    directoryEntry.replace_filename(newName);
                }
                numDirsRenamed++;
            }
        }

        // Process content.
        if ((!followLinks) && directoryEntry.is_symlink())
        {
            processSymlink(directoryEntry);
        }
        else if (directoryEntry.is_regular_file())
        {
            processRegularFile(directoryEntry);
        }
        else if (directoryEntry.is_directory())
        {
            processDirectory(directoryEntry);
        }
        else
        {
            processOther(directoryEntry);
        }
    }

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x100, %rsp            # imm = 0x100
movq %rsi, %rbx
movq %rdi, %r14
cmpb $0x1, 0x11(%rdi)
jne 0xbbc9
leaq 0x90(%rsp), %r15
movq %r15, %rdi
movq %rbx, %rsi
callq 0xceee
leaq 0xd8(%rsp), %rdi
movq %r15, %rsi
callq 0x57b0
leaq 0x28(%rsp), %rdi
leaq 0x90(%rsp), %rsi
callq 0xcfbe
leaq 0x70(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0xd030
leaq 0x28(%rsp), %rdi
callq 0xb92c
leaq 0x50(%rsp), %rdi
leaq 0x70(%rsp), %rdx
movq %r14, %rsi
xorl %ecx, %ecx
callq 0xd04c
leaq 0x70(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x7a35
testb %al, %al
je 0xbb9b
movq %rsp, %rdi
leaq 0x50(%rsp), %rsi
pushq $0x2
popq %rdx
callq 0xb8c4
leaq 0x28(%rsp), %rdi
leaq 0xd8(%rsp), %rsi
movq %rsp, %rdx
callq 0xd0bc
movq %rsp, %rdi
callq 0xb92c
cmpl $0x0, 0x4(%r14)
je 0xbb4e
movq 0x1f4e4(%rip), %rdi     # 0x2afb0
leaq 0x106e7(%rip), %rsi     # 0x1c1ba
callq 0x5400
movq %rax, %r15
movq %rsp, %rdi
leaq 0x90(%rsp), %rsi
callq 0xd030
movq %rsp, %rsi
movq %r15, %rdi
callq 0x53c0
leaq 0x106c7(%rip), %rsi     # 0x1c1c4
movq %rax, %rdi
callq 0x5400
movq %rax, %r15
leaq 0xb8(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0xd030
leaq 0xb8(%rsp), %rsi
movq %r15, %rdi
callq 0x53c0
leaq 0xfddc(%rip), %rsi      # 0x1b90d
movq %rax, %rdi
callq 0x5400
leaq 0xb8(%rsp), %rdi
callq 0x51f0
movq %rsp, %rdi
callq 0x51f0
cmpb $0x0, 0x8(%r14)
jne 0xbb8a
leaq 0x90(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x5280
movq %rsp, %rdi
leaq 0x50(%rsp), %rsi
pushq $0x2
popq %rdx
callq 0xb8c4
movq %rsp, %rsi
movq %rbx, %rdi
callq 0xd0f4
movq %rsp, %rdi
callq 0xb92c
incq 0xb0(%r14)
leaq 0x28(%rsp), %rdi
callq 0xb92c
leaq 0x50(%rsp), %rdi
callq 0x51f0
leaq 0x70(%rsp), %rdi
callq 0x51f0
leaq 0xd8(%rsp), %rdi
callq 0xb92c
leaq 0x90(%rsp), %rdi
callq 0xb92c
cmpb $0x0, 0x1(%r14)
jne 0xbbe9
movq %rbx, %rdi
callq 0x9ff8
testb %al, %al
je 0xbbe9
movq %r14, %rdi
movq %rbx, %rsi
callq 0xd106
jmp 0xbc20
movq %rbx, %rdi
callq 0xa020
testb %al, %al
je 0xbc02
movq %r14, %rdi
movq %rbx, %rsi
callq 0xd32c
jmp 0xbc20
movq %rbx, %rdi
callq 0xa02e
movq %r14, %rdi
movq %rbx, %rsi
testb %al, %al
je 0xbc1b
callq 0xd54e
jmp 0xbc20
callq 0xd73a
addq $0x100, %rsp            # imm = 0x100
popq %rbx
popq %r14
popq %r15
retq
movq %rax, %rbx
movq %rsp, %rdi
callq 0xb92c
jmp 0xbc6f
jmp 0xbc4d
jmp 0xbc64
jmp 0xbc4d
movq %rax, %rbx
movq %rsp, %rdi
jmp 0xbc74
movq %rax, %rbx
jmp 0xbc79
movq %rax, %rbx
jmp 0xbc6f
movq %rax, %rbx
leaq 0xb8(%rsp), %rdi
callq 0x51f0
jmp 0xbc67
movq %rax, %rbx
movq %rsp, %rdi
callq 0x51f0
leaq 0x28(%rsp), %rdi
callq 0xb92c
leaq 0x50(%rsp), %rdi
callq 0x51f0
jmp 0xbc88
movq %rax, %rbx
leaq 0x70(%rsp), %rdi
callq 0x51f0
leaq 0xd8(%rsp), %rdi
callq 0xb92c
leaq 0x90(%rsp), %rdi
callq 0xb92c
movq %rbx, %rdi
callq 0x5730
movq %rax, %rbx
leaq 0x28(%rsp), %rdi
callq 0xb92c
jmp 0xbc92
movq %rax, %rbx
jmp 0xbc92
movq %rax, %rbx
jmp 0xbc9f
nop