// File: /workspace/github_cpp_makefile_star2_O1/jstaursky[P]hutch/src/Sleigh/filemanage.cc
// Function: FileManage::directoryList(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, bool)
void FileManage::directoryList(vector<string> &res,const string &dirname,bool allowdot)

{ // List full pathnames of all directories under the directory -dir-
  DIR *dir;
  struct dirent *entry;
  string dirfinal;

  dirfinal = dirname;
  if (dirfinal[dirfinal.size()-1] != separator)
    dirfinal += separator;

  dir = opendir(dirfinal.c_str());
  if (dir == (DIR *)0) return;
  entry = readdir(dir);
  while(entry != (struct dirent *)0) {
    if (entry->d_type == DT_DIR) {
      string fullname(entry->d_name);
      if ((fullname!=".")&&(fullname!="..")) {
	if (allowdot || (fullname[0] != '.'))
	  res.push_back( dirfinal + fullname );
      }
    }
    entry = readdir(dir);
  }
  closedir(dir);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x78, %rsp
movl %edx, 0xc(%rsp)
movq %rdi, 0x30(%rsp)
leaq 0x20(%rsp), %rbx
movq %rbx, -0x10(%rbx)
movq $0x0, -0x8(%rbx)
movb $0x0, (%rbx)
leaq 0x10(%rsp), %rdi
callq 0x3fc60
movq 0x10(%rsp), %rcx
movq 0x18(%rsp), %rdx
movq 0x523e2(%rip), %rax     # 0xa2fd0
movb (%rax), %al
cmpb %al, -0x1(%rcx,%rdx)
je 0x50c03
movsbl %al, %esi
leaq 0x10(%rsp), %rdi
callq 0x40480
movq 0x10(%rsp), %rdi
callq 0x41610
testq %rax, %rax
je 0x50d0f
movq %rax, %r15
movq %rax, %rdi
callq 0x41750
movq %rax, %r14
leaq 0x48(%rsp), %rbx
leaq 0x38(%rsp), %r12
leaq 0x58(%rsp), %r13
testq %r14, %r14
je 0x50d02
cmpb $0x4, 0x12(%r14)
jne 0x50cf2
leaq 0x13(%r14), %rbp
movq %rbx, 0x38(%rsp)
movq %rbp, %rdi
callq 0x3f9e0
leaq (%r14,%rax), %rdx
addq $0x13, %rdx
movq %r12, %rdi
movq %rbp, %rsi
callq 0x3f8a0
movq %r12, %rdi
leaq 0x2f13b(%rip), %rsi     # 0x7fdb0
callq 0x3f590
testl %eax, %eax
je 0x50cdb
movq %r12, %rdi
leaq 0x2f127(%rip), %rsi     # 0x7fdaf
callq 0x3f590
testl %eax, %eax
je 0x50cdb
cmpb $0x0, 0xc(%rsp)
jne 0x50ca2
movq 0x38(%rsp), %rax
cmpb $0x2e, (%rax)
je 0x50cdb
movq %r13, %rdi
leaq 0x10(%rsp), %rsi
movq %r12, %rdx
callq 0x42380
movq 0x30(%rsp), %rdi
movq %r13, %rsi
callq 0x3f7b0
movq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
cmpq %rax, %rdi
je 0x50cdb
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x40870
movq 0x38(%rsp), %rdi
cmpq %rbx, %rdi
je 0x50cf2
movq 0x48(%rsp), %rsi
incq %rsi
callq 0x40870
movq %r15, %rdi
callq 0x41750
movq %rax, %r14
jmp 0x50c33
movq %r15, %rdi
callq 0x41950
leaq 0x20(%rsp), %rbx
movq 0x10(%rsp), %rdi
cmpq %rbx, %rdi
je 0x50d26
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x40870
addq $0x78, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x50d76
movq %rax, %r14
movq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
cmpq %rax, %rdi
je 0x50d5b
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x40870
jmp 0x50d5b
movq %rax, %r14
movq 0x38(%rsp), %rdi
cmpq %rbx, %rdi
je 0x50d79
movq 0x48(%rsp), %rsi
incq %rsi
callq 0x40870
jmp 0x50d79
jmp 0x50d76
movq %rax, %r14
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x50d95
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x40870
movq %r14, %rdi
callq 0x41f00
nop