// File: /workspace/github_cpp_makefile_star2_O3/demon386[P]git-store/./libs/filesystem/src/operations.cpp
// Function: boost::filesystem::detail::directory_iterator_increment(boost::filesystem::directory_iterator&, boost::system::error_code*)
void directory_iterator_increment(directory_iterator& it,
    system::error_code* ec)
  {
    BOOST_ASSERT_MSG(it.m_imp.get(), "attempt to increment end iterator");
    BOOST_ASSERT_MSG(it.m_imp->handle != 0, "internal program error");
    
    path::string_type filename;
    file_status file_stat, symlink_file_stat;
    system::error_code temp_ec;

    for (;;)
    {
      temp_ec = dir_itr_increment(it.m_imp->handle,
#       if defined(BOOST_POSIX_API)
        it.m_imp->buffer,
#       endif
        filename, file_stat, symlink_file_stat);

      if (temp_ec)  // happens if filesystem is corrupt, such as on a damaged optical disc
      {
        path error_path(it.m_imp->dir_entry.path().parent_path());  // fix ticket #5900
        it.m_imp.reset();
        if (ec == 0)
          BOOST_FILESYSTEM_THROW(
            filesystem_error("boost::filesystem::directory_iterator::operator++",
              error_path,
              error_code(BOOST_ERRNO, system_category())));
        ec->assign(BOOST_ERRNO, system_category());
        return;
      }
      else if (ec != 0) ec->clear();

      if (it.m_imp->handle == 0)  // eof, make end
      {
        it.m_imp.reset();
        return;
      }

      if (!(filename[0] == dot // !(dot or dot-dot)
        && (filename.size()== 1
          || (filename[1] == dot
            && filename.size()== 2))))
      {
        it.m_imp->dir_entry.replace_filename(
          filename, file_stat, symlink_file_stat);
        return;
      }
    }
  }

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x88, %rsp
movq %rdi, -0x30(%rbp)
movq (%rdi), %rax
testq %rax, %rax
je 0x29254
cmpq $0x0, 0x30(%rax)
je 0x29273
movq %rsi, %rbx
leaq -0x78(%rbp), %rax
movq %rax, -0x10(%rax)
movq $0x0, -0x8(%rax)
movb $0x0, (%rax)
callq 0x2c4e2
movq -0x30(%rbp), %rax
movq (%rax), %r13
testq %r13, %r13
je 0x29235
movq 0x38(%r13), %r12
testq %r12, %r12
je 0x29110
leaq 0x38(%r13), %r14
movq $0x0, -0x68(%rbp)
callq 0xb060
movq %rax, -0x38(%rbp)
movl $0x0, -0x3c(%rbp)
movq 0x30(%r13), %r15
movq -0x38(%rbp), %rax
movl $0x0, (%rax)
movl $0x44, %edi
callq 0xb300
testq %rax, %rax
js 0x28feb
movq %r15, %rdi
movq %r12, %rsi
leaq -0x60(%rbp), %rdx
callq 0xb190
testl %eax, %eax
je 0x2901b
movq -0x38(%rbp), %rax
movl (%rax), %r14d
callq 0x2c4e2
jmp 0x290a5
movq $0x0, -0x60(%rbp)
movq %r15, %rdi
callq 0xb2a0
testq %rax, %rax
je 0x29088
leaq 0x13(%r12), %rdi
addq $0x13, %rax
movq %rax, %rsi
callq 0xb420
movq %r12, -0x60(%rbp)
jmp 0x29022
cmpq $0x0, -0x60(%rbp)
je 0x29093
leaq 0x13(%r12), %r14
movq -0x80(%rbp), %r15
movq %r14, %rdi
callq 0xb200
leaq -0x88(%rbp), %rdi
xorl %esi, %esi
movq %r15, %rdx
movq %r14, %rcx
movq %rax, %r8
callq 0xb6f0
movb 0x12(%r12), %al
rorb %al
addb $-0x2, %al
xorl %ecx, %ecx
movl $0x0, %edx
cmpb $0x3, %al
ja 0x29078
movzbl %al, %eax
shll $0x2, %eax
leaq 0xc985(%rip), %rcx      # 0x359f0
movl (%rax,%rcx), %ecx
leaq 0xc98b(%rip), %rdx      # 0x35a00
movl (%rax,%rdx), %edx
movl %edx, -0x3c(%rbp)
movq %rcx, -0x68(%rbp)
movl 0x2352a(%rip), %r14d    # 0x4c5b0
jmp 0x290a5
movq -0x38(%rbp), %rax
movl (%rax), %eax
jmp 0x28fd6
addq $0x30, %r13
movq %r13, %rdi
movq %r14, %rsi
callq 0x28b5b
movl %eax, %r14d
testl %r14d, %r14d
jne 0x29183
testq %rbx, %rbx
je 0x290c2
movl $0x0, (%rbx)
callq 0x2c4e2
movq %rax, 0x8(%rbx)
movq -0x30(%rbp), %rax
movq (%rax), %r13
testq %r13, %r13
je 0x29235
cmpq $0x0, 0x30(%r13)
je 0x291f0
movq -0x88(%rbp), %rsi
movq -0x80(%rbp), %rdx
cmpb $0x2e, (%rsi)
jne 0x2912f
cmpq $0x1, %rdx
je 0x290ff
cmpq $0x2, %rdx
jne 0x2912f
cmpb $0x2e, 0x1(%rsi)
jne 0x2912f
leaq 0x38(%r13), %r14
movq 0x38(%r13), %r12
testq %r12, %r12
jne 0x28faa
leaq 0xd29c(%rip), %rdi      # 0x363b3
leaq 0xc9bb(%rip), %rsi      # 0x35ad9
leaq 0xd29a(%rip), %rcx      # 0x363bf
movl $0x7db, %edx            # imm = 0x7DB
callq 0xb310
leaq -0x50(%rbp), %r14
movq %r14, -0x10(%r14)
addq %rsi, %rdx
leaq -0x60(%rbp), %rdi
callq 0xf98c
movq %r13, %rdi
callq 0x2a3ea
leaq -0x60(%rbp), %rsi
movq %r13, %rdi
callq 0x29e38
movl -0x3c(%rbp), %eax
movabsq $0xffff00000000, %rcx   # imm = 0xFFFF00000000
orq %rcx, %rax
movl -0x68(%rbp), %edx
orq %rcx, %rdx
movq %rax, 0x20(%r13)
movq %rdx, 0x28(%r13)
movq -0x60(%rbp), %rdi
cmpq %r14, %rdi
jne 0x291e9
jmp 0x2920e
movq -0x30(%rbp), %rax
movq (%rax), %rsi
testq %rsi, %rsi
je 0x29235
leaq -0x60(%rbp), %rdi
callq 0x2a9a2
movq -0x30(%rbp), %rcx
movq (%rcx), %rax
leaq -0xa0(%rbp), %rdi
movq %rax, -0x8(%rdi)
xorps %xmm0, %xmm0
movq 0x8(%rcx), %rax
movups %xmm0, (%rcx)
movq %rax, (%rdi)
callq 0xf546
testq %rbx, %rbx
je 0x29292
movq -0x38(%rbp), %rax
movl (%rax), %r14d
callq 0x2c4e2
movl %r14d, (%rbx)
movq %rax, 0x8(%rbx)
leaq -0x50(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2920e
callq 0xb430
jmp 0x2920e
leaq -0x58(%rbp), %rdi
movq %r13, -0x8(%rdi)
xorps %xmm0, %xmm0
movq -0x30(%rbp), %rcx
movq 0x8(%rcx), %rax
movups %xmm0, (%rcx)
movq %rax, (%rdi)
callq 0xf546
movq -0x88(%rbp), %rdi
leaq -0x78(%rbp), %rax
cmpq %rax, %rdi
je 0x29223
callq 0xb430
addq $0x88, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x93f8(%rip), %rdi      # 0x32634
leaq 0x93f9(%rip), %rsi      # 0x3263c
leaq 0xd1eb(%rip), %rcx      # 0x36435
movl $0x2af, %edx            # imm = 0x2AF
callq 0xb310
leaq 0xcd5d(%rip), %rdi      # 0x35fb8
leaq 0xc877(%rip), %rsi      # 0x35ad9
leaq 0xcd87(%rip), %rcx      # 0x35ff0
movl $0x8ab, %edx            # imm = 0x8AB
callq 0xb310
leaq 0xcddf(%rip), %rdi      # 0x36059
leaq 0xc858(%rip), %rsi      # 0x35ad9
leaq 0xcd68(%rip), %rcx      # 0x35ff0
movl $0x8ac, %edx            # imm = 0x8AC
callq 0xb310
movl $0x50, %edi
callq 0xb250
movq %rax, %r14
leaq -0x98(%rbp), %r15
movq %r15, -0x10(%r15)
leaq 0xcddc(%rip), %rsi      # 0x3608d
leaq 0xce06(%rip), %rdx      # 0x360be
leaq -0xa8(%rbp), %rdi
callq 0xf8ee
movq -0x38(%rbp), %rax
movl (%rax), %ebx
callq 0x2c4e2
leaq -0xa8(%rbp), %rsi
leaq -0x60(%rbp), %rdx
movq %r14, %rdi
movl %ebx, %ecx
movq %rax, %r8
callq 0x2946c
leaq 0x2227a(%rip), %rsi     # 0x4b568
leaq 0x281(%rip), %rdx       # 0x29576
movq %r14, %rdi
callq 0xb7b0
movq %rax, %rbx
movq -0xa8(%rbp), %rdi
cmpq %r15, %rdi
je 0x2931e
callq 0xb430
jmp 0x2931e
movq %rax, %rbx
movq %r14, %rdi
callq 0xb360
leaq -0x50(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
jne 0x2933d
jmp 0x29347
jmp 0x29344
jmp 0x29344
movq %rax, %rbx
movq -0x60(%rbp), %rdi
cmpq %r14, %rdi
je 0x29347
callq 0xb430
jmp 0x29347
movq %rax, %rbx
movq -0x88(%rbp), %rdi
leaq -0x78(%rbp), %rax
cmpq %rax, %rdi
je 0x2935c
callq 0xb430
movq %rbx, %rdi
callq 0xb7f0