// File: jovermann[P]streplace/src/streplace.cpp
// Function: Streplace::processDirectory(std::filesystem::__cxx11::directory_entry const&)
void processDirectory(const std::filesystem::directory_entry& directoryEntry)
    {
        if (recursive && (!skipDir(directoryEntry.path())))
        {
            if (verbose >= 2)
            {
                std::cout << "Processing dir " << directoryEntry.path().string() << ".\n";
            }

            // Note: Take a copy of each directory_entry intentionally,
            // because we will potentially modify it (rename) in processDirectoryEntry.
            for (std::filesystem::directory_entry entry: std::filesystem::directory_iterator(directoryEntry))
            {
                processDirectoryEntry(entry);
            }

            numDirsProcessed++;
        }
        else
        {
            std::cout << "Ignoring dir " << directoryEntry.path().string() << ".\n";
            numIgnored++;
        }
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x120, %rsp            # imm = 0x120
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0xf0(%rbp)
testb $0x1, (%rax)
je 0x1c6c9
movq -0x10(%rbp), %rdi
callq 0x141c0
movq -0xf0(%rbp), %rdi
movq %rax, %rsi
callq 0x47e60
testb $0x1, %al
jne 0x1c6c9
movq -0xf0(%rbp), %rax
cmpl $0x2, 0x4(%rax)
jb 0x1c574
movq 0x4dab9(%rip), %rdi     # 0x69fa8
leaq 0x2f919(%rip), %rsi     # 0x4be0f
callq 0x75d0
movq %rax, -0x108(%rbp)
movq -0x10(%rbp), %rdi
callq 0x141c0
movq %rax, %rsi
leaq -0x30(%rbp), %rdi
movq %rdi, -0x100(%rbp)
callq 0x1bab0
movq -0x108(%rbp), %rdi
movq -0x100(%rbp), %rsi
callq 0x7560
movq %rax, -0xf8(%rbp)
jmp 0x1c53a
movq -0xf8(%rbp), %rdi
leaq 0x2e705(%rip), %rsi     # 0x4ac4d
callq 0x75d0
jmp 0x1c54f
leaq -0x30(%rbp), %rdi
callq 0x73c0
jmp 0x1c574
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x73c0
jmp 0x1c777
movq -0x10(%rbp), %rdi
callq 0x46870
movq %rax, %rsi
leaq -0x58(%rbp), %rdi
callq 0x47f10
leaq -0x58(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rsi
leaq -0x78(%rbp), %rdi
callq 0x47f70
leaq -0x68(%rbp), %rdi
leaq -0x78(%rbp), %rsi
callq 0x47f40
leaq -0x78(%rbp), %rdi
callq 0x47fa0
movq -0x48(%rbp), %rsi
leaq -0x98(%rbp), %rdi
callq 0x47f70
leaq -0x88(%rbp), %rdi
leaq -0x98(%rbp), %rsi
callq 0x47fc0
leaq -0x98(%rbp), %rdi
callq 0x47fa0
leaq -0x68(%rbp), %rdi
leaq -0x88(%rbp), %rsi
callq 0x48000
testb $0x1, %al
jne 0x1c61a
leaq -0x88(%rbp), %rdi
callq 0x47fa0
leaq -0x68(%rbp), %rdi
callq 0x47fa0
leaq -0x58(%rbp), %rdi
callq 0x47fa0
jmp 0x1c6ab
leaq -0x68(%rbp), %rdi
callq 0x7a80
movq %rax, %rsi
leaq -0xc8(%rbp), %rdi
callq 0x18910
jmp 0x1c634
movq -0xf0(%rbp), %rdi
leaq -0xc8(%rbp), %rsi
callq 0x18950
jmp 0x1c649
leaq -0xc8(%rbp), %rdi
callq 0x18da0
leaq -0x68(%rbp), %rdi
callq 0x71d0
jmp 0x1c660
jmp 0x1c5e3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x1c688
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0xc8(%rbp), %rdi
callq 0x18da0
leaq -0x88(%rbp), %rdi
callq 0x47fa0
leaq -0x68(%rbp), %rdi
callq 0x47fa0
leaq -0x58(%rbp), %rdi
callq 0x47fa0
jmp 0x1c777
movq -0xf0(%rbp), %rax
movq 0xa8(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0xa8(%rax)
jmp 0x1c76e
movq 0x4d8d8(%rip), %rdi     # 0x69fa8
leaq 0x2f748(%rip), %rsi     # 0x4be1f
callq 0x75d0
movq %rax, -0x120(%rbp)
movq -0x10(%rbp), %rdi
callq 0x141c0
movq %rax, %rsi
leaq -0xe8(%rbp), %rdi
movq %rdi, -0x118(%rbp)
callq 0x1bab0
movq -0x120(%rbp), %rdi
movq -0x118(%rbp), %rsi
callq 0x7560
movq %rax, -0x110(%rbp)
jmp 0x1c71e
movq -0x110(%rbp), %rdi
leaq 0x2e521(%rip), %rsi     # 0x4ac4d
callq 0x75d0
jmp 0x1c733
leaq -0xe8(%rbp), %rdi
callq 0x73c0
movq -0xf0(%rbp), %rax
movq 0x78(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0x78(%rax)
jmp 0x1c76e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0xe8(%rbp), %rdi
callq 0x73c0
jmp 0x1c777
addq $0x120, %rsp            # imm = 0x120
popq %rbp
retq
movq -0x38(%rbp), %rdi
callq 0x7a30