// File: LiuYinCarl[P]headerFileAnalysis/headerFileAnalysis.cpp
// Function: WalkMan::walk_dir()
void WalkMan::walk_dir() {
  std::queue<fs::path>dirs;
  dirs.push(base_dir);
  fs::path cur_dir;

  while (!dirs.empty()) {
    cur_dir = std::move(dirs.front());
    dirs.pop();
    for (auto& entry : fs::directory_iterator{cur_dir}) {
      if (entry.is_regular_file()) {
	if (is_source_code(entry.path().extension())) {
	  source_file_paths.push_back(entry.path());
	}
      } else if (entry.is_directory()) {
	dirs.push(entry.path());
      }
    }
  }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x150, %rsp            # imm = 0x150
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x128(%rbp)
leaq -0x58(%rbp), %rdi
movq %rdi, -0x120(%rbp)
callq 0x9810
movq -0x128(%rbp), %rsi
movq -0x120(%rbp), %rdi
addq $0xc8, %rsi
callq 0x9840
jmp 0x7d76
leaq -0x90(%rbp), %rdi
callq 0x9560
leaq -0x58(%rbp), %rdi
callq 0x9870
movb %al, -0x129(%rbp)
jmp 0x7d93
movb -0x129(%rbp), %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x7da4
jmp 0x8000
leaq -0x58(%rbp), %rdi
callq 0x9890
movq %rax, -0x138(%rbp)
jmp 0x7db6
movq -0x138(%rbp), %rsi
leaq -0x90(%rbp), %rdi
callq 0x98b0
leaq -0x58(%rbp), %rdi
callq 0x9920
jmp 0x7dd4
leaq -0xa8(%rbp), %rdi
leaq -0x90(%rbp), %rsi
callq 0x9940
jmp 0x7de9
leaq -0xa8(%rbp), %rax
movq %rax, -0x98(%rbp)
movq -0x98(%rbp), %rsi
leaq -0xc8(%rbp), %rdi
callq 0x99a0
leaq -0xb8(%rbp), %rdi
leaq -0xc8(%rbp), %rsi
callq 0x9970
leaq -0xc8(%rbp), %rdi
callq 0x99d0
movq -0x98(%rbp), %rsi
leaq -0xe8(%rbp), %rdi
callq 0x99a0
leaq -0xd8(%rbp), %rdi
leaq -0xe8(%rbp), %rsi
callq 0x99f0
leaq -0xe8(%rbp), %rdi
callq 0x99d0
leaq -0xb8(%rbp), %rdi
leaq -0xd8(%rbp), %rsi
callq 0x9a30
testb $0x1, %al
jne 0x7ebd
leaq -0xd8(%rbp), %rdi
callq 0x99d0
leaq -0xb8(%rbp), %rdi
callq 0x99d0
leaq -0xa8(%rbp), %rdi
callq 0x99d0
jmp 0x7ffb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x802a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x801e
leaq -0xb8(%rbp), %rdi
callq 0x67c0
movq %rax, -0xf0(%rbp)
movq -0xf0(%rbp), %rdi
callq 0x9a60
movb %al, -0x139(%rbp)
jmp 0x7ee4
movb -0x139(%rbp), %al
testb $0x1, %al
jne 0x7ef3
jmp 0x7fa8
movq -0xf0(%rbp), %rdi
callq 0x9a90
movq %rax, %rsi
leaq -0x118(%rbp), %rdi
callq 0x9aa0
jmp 0x7f10
movq -0x128(%rbp), %rdi
leaq -0x118(%rbp), %rsi
callq 0x7c30
movb %al, -0x13a(%rbp)
leaq -0x118(%rbp), %rdi
callq 0x97c0
movb -0x13a(%rbp), %al
testb $0x1, %al
jne 0x7f41
jmp 0x7fa6
movq -0x128(%rbp), %rax
addq $0xf0, %rax
movq %rax, -0x148(%rbp)
movq -0xf0(%rbp), %rdi
callq 0x9a90
movq -0x148(%rbp), %rdi
movq %rax, %rsi
callq 0x9b50
jmp 0x7f72
jmp 0x7fa6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0xd8(%rbp), %rdi
callq 0x99d0
leaq -0xb8(%rbp), %rdi
callq 0x99d0
leaq -0xa8(%rbp), %rdi
callq 0x99d0
jmp 0x801e
jmp 0x7fe6
movq -0xf0(%rbp), %rdi
callq 0x9bc0
movb %al, -0x149(%rbp)
jmp 0x7fbc
movb -0x149(%rbp), %al
testb $0x1, %al
jne 0x7fc8
jmp 0x7fe4
movq -0xf0(%rbp), %rdi
callq 0x9a90
movq %rax, %rsi
leaq -0x58(%rbp), %rdi
callq 0x9840
jmp 0x7fe2
jmp 0x7fe4
jmp 0x7fe6
jmp 0x7fe8
leaq -0xb8(%rbp), %rdi
callq 0x6150
jmp 0x7ff6
jmp 0x7e5b
jmp 0x7d82
leaq -0x90(%rbp), %rdi
callq 0x97c0
leaq -0x58(%rbp), %rdi
callq 0x9bf0
addq $0x150, %rsp            # imm = 0x150
popq %rbp
retq
leaq -0x90(%rbp), %rdi
callq 0x97c0
leaq -0x58(%rbp), %rdi
callq 0x9bf0
movq -0x60(%rbp), %rdi
callq 0x6780
nopl (%rax)