// File: ncbi[P]amr/common.cpp
// Function: Common_sp::RawDirItemGenerator::next(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>&)
bool RawDirItemGenerator::next (string &item)
{ 
  if (! large)
    return next_ (item, true);

  for (;;)
  {
    if (! dig. get ())
    {
      string subDir;
      if (! next_ (subDir, false))
        return false;
      dig. reset (new RawDirItemGenerator (0, dirName + "/" + subDir, false));
      QC_ASSERT (dig. get ());
    }
    if (dig->next (item))
      return true;
    dig. reset (nullptr);
  }
}

// Assembly:
subq $0x1d8, %rsp            # imm = 0x1D8
movq %rdi, 0x1c8(%rsp)
movq %rsi, 0x1c0(%rsp)
movq 0x1c8(%rsp), %rax
movq %rax, 0x30(%rsp)
testb $0x1, 0x78(%rax)
jne 0x4662f
movq 0x30(%rsp), %rdi
movq 0x1c0(%rsp), %rsi
movl $0x1, %edx
callq 0x5f0c0
andb $0x1, %al
movb %al, 0x1d7(%rsp)
jmp 0x46adf
jmp 0x46631
movq 0x30(%rsp), %rdi
addq $0x70, %rdi
callq 0x764b0
cmpq $0x0, %rax
jne 0x46a9a
leaq 0x1a0(%rsp), %rdi
movq %rdi, 0x20(%rsp)
callq 0xca10
movq 0x30(%rsp), %rdi
movq 0x20(%rsp), %rsi
xorl %edx, %edx
callq 0x5f0c0
movb %al, 0x2f(%rsp)
jmp 0x46672
movb 0x2f(%rsp), %al
testb $0x1, %al
jne 0x466ad
jmp 0x4667c
movb $0x0, 0x1d7(%rsp)
movl $0x1, 0x190(%rsp)
jmp 0x46a6d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x198(%rsp)
movl %eax, 0x194(%rsp)
jmp 0x46a8b
movq 0x30(%rsp), %rax
addq $0x70, %rax
movq %rax, 0x10(%rsp)
movl $0x80, %edi
callq 0xc700
movq %rax, 0x18(%rsp)
jmp 0x466cc
movq 0x30(%rsp), %rsi
movb $0x1, 0x14f(%rsp)
addq $0x48, %rsi
leaq 0x87d1a(%rip), %rdx     # 0xce3fe
leaq 0x150(%rsp), %rdi
callq 0x2d9a0
jmp 0x466f3
leaq 0x170(%rsp), %rdi
leaq 0x150(%rsp), %rsi
leaq 0x1a0(%rsp), %rdx
callq 0x2e220
jmp 0x46712
movq 0x18(%rsp), %rdi
xorl %ecx, %ecx
movl %ecx, %esi
leaq 0x170(%rsp), %rdx
callq 0x5ee50
jmp 0x4672a
movq 0x18(%rsp), %rsi
movq 0x10(%rsp), %rdi
movb $0x0, 0x14f(%rsp)
callq 0x764e0
leaq 0x170(%rsp), %rdi
callq 0xce98
leaq 0x150(%rsp), %rdi
callq 0xce98
callq 0xc090
movq 0x30(%rsp), %rdi
movl $0x0, (%rax)
addq $0x70, %rdi
callq 0x764b0
cmpq $0x0, %rax
jne 0x46a62
callq 0xc8c0
cmpl $0x0, %eax
jne 0x46a58
leaq 0xa7(%rsp), %rdi
movq %rdi, 0x8(%rsp)
callq 0xcd00
movq 0x8(%rsp), %rdx
leaq 0x8726f(%rip), %rsi     # 0xcda19
leaq 0xa8(%rsp), %rdi
callq 0x29fd0
jmp 0x467b9
leaq 0x80(%rsp), %rdi
movl $0xd80, %esi            # imm = 0xD80
callq 0x2ded0
jmp 0x467cd
leaq 0xc8(%rsp), %rdi
leaq 0xa8(%rsp), %rsi
leaq 0x80(%rsp), %rdx
callq 0x2dde0
jmp 0x467ec
leaq 0x853ae(%rip), %rdx     # 0xcbba1
leaq 0xe8(%rsp), %rdi
leaq 0xc8(%rsp), %rsi
callq 0x2a2f0
jmp 0x4680a
leaq 0x3f(%rsp), %rdi
movq %rdi, (%rsp)
callq 0xcd00
movq (%rsp), %rdx
leaq 0x8884e(%rip), %rsi     # 0xcf071
leaq 0x40(%rsp), %rdi
callq 0x29fd0
jmp 0x4682f
leaq 0x871e0(%rip), %rdx     # 0xcda16
leaq 0x60(%rsp), %rdi
leaq 0x40(%rsp), %rsi
callq 0x2a2f0
jmp 0x46847
leaq 0x108(%rsp), %rdi
leaq 0xe8(%rsp), %rsi
leaq 0x60(%rsp), %rdx
callq 0x2dde0
jmp 0x46863
leaq 0x88843(%rip), %rdx     # 0xcf0ad
leaq 0x128(%rsp), %rdi
leaq 0x108(%rsp), %rsi
callq 0x2a2f0
jmp 0x46881
leaq 0x128(%rsp), %rdi
callq 0x3e9b0
jmp 0x46890
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x198(%rsp)
movl %eax, 0x194(%rsp)
jmp 0x468ea
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x198(%rsp)
movl %eax, 0x194(%rsp)
jmp 0x468dd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x198(%rsp)
movl %eax, 0x194(%rsp)
leaq 0x170(%rsp), %rdi
callq 0xce98
leaq 0x150(%rsp), %rdi
callq 0xce98
testb $0x1, 0x14f(%rsp)
jne 0x468f6
jmp 0x46905
movq 0x18(%rsp), %rdi
movl $0x80, %esi
callq 0xc710
jmp 0x46a8b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x198(%rsp)
movl %eax, 0x194(%rsp)
jmp 0x46a49
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x198(%rsp)
movl %eax, 0x194(%rsp)
jmp 0x46a3c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x198(%rsp)
movl %eax, 0x194(%rsp)
jmp 0x46a2f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x198(%rsp)
movl %eax, 0x194(%rsp)
jmp 0x46a22
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x198(%rsp)
movl %eax, 0x194(%rsp)
jmp 0x46a0b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x198(%rsp)
movl %eax, 0x194(%rsp)
jmp 0x46a01
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x198(%rsp)
movl %eax, 0x194(%rsp)
jmp 0x469f7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x198(%rsp)
movl %eax, 0x194(%rsp)
jmp 0x469ea
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x198(%rsp)
movl %eax, 0x194(%rsp)
leaq 0x128(%rsp), %rdi
callq 0xce98
leaq 0x108(%rsp), %rdi
callq 0xce98
leaq 0x60(%rsp), %rdi
callq 0xce98
leaq 0x40(%rsp), %rdi
callq 0xce98
leaq 0x3f(%rsp), %rdi
callq 0xc7a0
leaq 0xe8(%rsp), %rdi
callq 0xce98
leaq 0xc8(%rsp), %rdi
callq 0xce98
leaq 0x80(%rsp), %rdi
callq 0xce98
leaq 0xa8(%rsp), %rdi
callq 0xce98
leaq 0xa7(%rsp), %rdi
callq 0xc7a0
jmp 0x46a8b
movl $0x1, %edi
callq 0xc8d0
movl $0x0, 0x190(%rsp)
leaq 0x1a0(%rsp), %rdi
callq 0xce98
movl 0x190(%rsp), %eax
testl %eax, %eax
je 0x46a89
jmp 0x46a87
jmp 0x46adf
jmp 0x46a9a
leaq 0x1a0(%rsp), %rdi
callq 0xce98
jmp 0x46af0
movq 0x30(%rsp), %rdi
addq $0x70, %rdi
callq 0x76510
movq %rax, %rdi
movq 0x1c0(%rsp), %rsi
callq 0x465e0
testb $0x1, %al
jne 0x46abe
jmp 0x46ac8
movb $0x1, 0x1d7(%rsp)
jmp 0x46adf
movq 0x30(%rsp), %rdi
addq $0x70, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x764e0
jmp 0x46631
movb 0x1d7(%rsp), %al
andb $0x1, %al
addq $0x1d8, %rsp            # imm = 0x1D8
retq
movq 0x198(%rsp), %rdi
callq 0xccf0
nopl (%rax)