// File: ncbi[P]amr/common.cpp
// Function: Common_sp::RawDirItemGenerator::next_(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>&, bool)
bool RawDirItemGenerator::next_ (string &item,
                                 bool report)
{ 
  ASSERT (imp);
  for (;;)
  {
    if (const dirent* f = readdir (imp->dir))    
      item = std::move (string (f->d_name));
    else
      return false;
    if (item == ".")
      continue;
    if (item == "..")
      continue;
    break;
  }

  if (report)
    prog (item);

	return true;
}

// Assembly:
subq $0x198, %rsp            # imm = 0x198
movb %dl, %al
movq %rdi, 0x188(%rsp)
movq %rsi, 0x180(%rsp)
andb $0x1, %al
movb %al, 0x17f(%rsp)
movq 0x188(%rsp), %rax
movq %rax, 0x20(%rsp)
callq 0xc090
movq %rax, %rcx
movq 0x20(%rsp), %rax
movl $0x0, (%rcx)
cmpq $0x0, 0x68(%rax)
jne 0x5f385
callq 0xc8c0
cmpl $0x0, %eax
jne 0x5f37b
leaq 0xd7(%rsp), %rdi
movq %rdi, 0x18(%rsp)
callq 0xcd00
movq 0x18(%rsp), %rdx
leaq 0x6e8e0(%rip), %rsi     # 0xcda19
leaq 0xd8(%rsp), %rdi
callq 0x29fd0
jmp 0x5f148
leaq 0xa0(%rsp), %rdi
movl $0xd8d, %esi            # imm = 0xD8D
callq 0x2ded0
jmp 0x5f15c
leaq 0xf8(%rsp), %rdi
leaq 0xd8(%rsp), %rsi
leaq 0xa0(%rsp), %rdx
callq 0x2dde0
jmp 0x5f17b
leaq 0x6ca1f(%rip), %rdx     # 0xcbba1
leaq 0x118(%rsp), %rdi
leaq 0xf8(%rsp), %rsi
callq 0x2a2f0
jmp 0x5f199
leaq 0x5f(%rsp), %rdi
movq %rdi, 0x10(%rsp)
callq 0xcd00
movq 0x10(%rsp), %rdx
leaq 0x6ff05(%rip), %rsi     # 0xcf0b9
leaq 0x60(%rsp), %rdi
callq 0x29fd0
jmp 0x5f1c0
leaq 0x6e84f(%rip), %rdx     # 0xcda16
leaq 0x80(%rsp), %rdi
leaq 0x60(%rsp), %rsi
callq 0x2a2f0
jmp 0x5f1db
leaq 0x138(%rsp), %rdi
leaq 0x118(%rsp), %rsi
leaq 0x80(%rsp), %rdx
callq 0x2dde0
jmp 0x5f1fa
leaq 0x6fef3(%rip), %rdx     # 0xcf0f4
leaq 0x158(%rsp), %rdi
leaq 0x138(%rsp), %rsi
callq 0x2a2f0
jmp 0x5f218
leaq 0x158(%rsp), %rdi
callq 0x3e9b0
jmp 0x5f227
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xc8(%rsp)
movl %eax, 0xc4(%rsp)
jmp 0x5f369
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xc8(%rsp)
movl %eax, 0xc4(%rsp)
jmp 0x5f35c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xc8(%rsp)
movl %eax, 0xc4(%rsp)
jmp 0x5f34f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xc8(%rsp)
movl %eax, 0xc4(%rsp)
jmp 0x5f342
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xc8(%rsp)
movl %eax, 0xc4(%rsp)
jmp 0x5f32b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xc8(%rsp)
movl %eax, 0xc4(%rsp)
jmp 0x5f321
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xc8(%rsp)
movl %eax, 0xc4(%rsp)
jmp 0x5f314
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xc8(%rsp)
movl %eax, 0xc4(%rsp)
jmp 0x5f307
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xc8(%rsp)
movl %eax, 0xc4(%rsp)
leaq 0x158(%rsp), %rdi
callq 0xce98
leaq 0x138(%rsp), %rdi
callq 0xce98
leaq 0x80(%rsp), %rdi
callq 0xce98
leaq 0x60(%rsp), %rdi
callq 0xce98
leaq 0x5f(%rsp), %rdi
callq 0xc7a0
leaq 0x118(%rsp), %rdi
callq 0xce98
leaq 0xf8(%rsp), %rdi
callq 0xce98
leaq 0xa0(%rsp), %rdi
callq 0xce98
leaq 0xd8(%rsp), %rdi
callq 0xce98
leaq 0xd7(%rsp), %rdi
callq 0xc7a0
jmp 0x5f4a4
movl $0x1, %edi
callq 0xc8d0
jmp 0x5f387
movq 0x20(%rsp), %rax
movq 0x68(%rax), %rax
movq (%rax), %rdi
callq 0xcb30
movq %rax, 0x50(%rsp)
cmpq $0x0, 0x50(%rsp)
je 0x5f421
movq 0x50(%rsp), %rax
addq $0x13, %rax
movq %rax, (%rsp)
leaq 0x2f(%rsp), %rdi
movq %rdi, 0x8(%rsp)
callq 0xcd00
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
leaq 0x30(%rsp), %rdi
callq 0x29fd0
jmp 0x5f3d6
movq 0x180(%rsp), %rdi
leaq 0x30(%rsp), %rsi
callq 0xc8f0
leaq 0x30(%rsp), %rdi
callq 0xce98
leaq 0x2f(%rsp), %rdi
callq 0xc7a0
jmp 0x5f42b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xc8(%rsp)
movl %eax, 0xc4(%rsp)
leaq 0x2f(%rsp), %rdi
callq 0xc7a0
jmp 0x5f4a4
movb $0x0, 0x197(%rsp)
jmp 0x5f493
movq 0x180(%rsp), %rdi
leaq 0x6bdc1(%rip), %rsi     # 0xcb1fb
callq 0x2e1b0
testb $0x1, %al
jne 0x5f445
jmp 0x5f44a
jmp 0x5f387
movq 0x180(%rsp), %rdi
leaq 0x6daa2(%rip), %rsi     # 0xccefb
callq 0x2e1b0
testb $0x1, %al
jne 0x5f464
jmp 0x5f469
jmp 0x5f387
jmp 0x5f46b
testb $0x1, 0x17f(%rsp)
je 0x5f48b
movq 0x20(%rsp), %rdi
addq $0x8, %rdi
movq 0x180(%rsp), %rsi
callq 0x4bb30
movb $0x1, 0x197(%rsp)
movb 0x197(%rsp), %al
andb $0x1, %al
addq $0x198, %rsp            # imm = 0x198
retq
movq 0xc8(%rsp), %rdi
callq 0xccf0
nopw %cs:(%rax,%rax)