Function at 0x401bdc
Capabilities:
Enumerate files on windows
Enumerate files recursively

Disassembly:
push rbp
push rbx
sub rsp, 0x3b8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x350], rcx
lea rax, [rbp + 0x250]
mov rcx, rax
call dbg.std::vector<std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, std::allocator<std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >::vector()
lea rax, [rbp + 0x26d]
mov rcx, rax
call fcn.00460a70
lea rdx, [rbp + 0x26d]
lea rax, [rbp - 0x20]
mov r8, rdx
lea rdx, [0x004a916c]
mov rcx, rax
call dbg.std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::basic_string(wchar_t const*, std::allocator<wchar_t> const&)
lea rax, [rbp + 0x26d]
mov rcx, rax
call sym.std::allocator_wchar_t_::allocator__
lea rax, [rbp + 0x26e]
mov rcx, rax
call fcn.00460a70
lea rdx, [rbp + 0x26e]
lea rax, [rbp - 0x40]
mov r8, rdx
lea rdx, [0x004a916c]
mov rcx, rax
call dbg.std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::basic_string(wchar_t const*, std::allocator<wchar_t> const&)
lea rax, [rbp + 0x26e]
mov rcx, rax
call sym.std::allocator_wchar_t_::allocator__
lea rax, [rbp + 0x26f]
mov rcx, rax
call fcn.00460a70
lea rdx, [rbp + 0x26f]
lea rax, [rbp - 0x60]
mov r8, rdx
lea rdx, [0x004a916c]
mov rcx, rax
call dbg.std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::basic_string(wchar_t const*, std::allocator<wchar_t> const&)
lea rax, [rbp + 0x26f]
mov rcx, rax
call sym.std::allocator_wchar_t_::allocator__
lea rax, [rbp + 0x270]
lea r8, [0x004a916e]
mov rdx, qword [rbp + 0x350]
mov rcx, rax
call sym.std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t____std::operator_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t____std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t____const__wchar_t_const_
lea rdx, [rbp + 0x270]
lea rax, [rbp - 0x40]
mov rcx, rax
call dbg.std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::operator=(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >&&)
lea rax, [rbp + 0x270]
mov rcx, rax
call dbg.std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::~basic_string()
lea rax, [rbp - 0x40]
mov rcx, rax
call dbg.std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::c_str() const
mov rcx, rax
mov rax, rbp
mov rdx, rax
mov rax, qword [sym.imp.KERNEL32.dll_FindFirstFileW]
call rax
mov qword [rbp + 0x320], rax
cmp qword [rbp + 0x320], 0xffffffffffffffff
je 0x401ff8
mov rax, rbp
lea rdx, [rax + 0x2c]
lea rax, [rbp - 0x20]
mov rcx, rax
call dbg.std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::operator=(wchar_t const*)
lea rax, [rbp - 0x20]
mov r8d, 0
lea rdx, str.indows
mov rcx, rax
call dbg.std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::find(wchar_t const*, unsigned long long) const
mov dword [rbp + 0x31c], eax
cmp dword [rbp + 0x31c], 0
jns 0x401f3d
lea rax, [rbp - 0x20]
mov r8d, 0
lea rdx, str.rogram
mov rcx, rax
call dbg.std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::find(wchar_t const*, unsigned long long) const
mov dword [rbp + 0x31c], eax
cmp dword [rbp + 0x31c], 0
jns 0x401f40
lea rax, [rbp - 0x20]
mov r8d, 0
lea rdx, str.AppData
mov rcx, rax
call dbg.std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::find(wchar_t const*, unsigned long long) const
mov dword [rbp + 0x31c], eax
cmp dword [rbp + 0x31c], 0
jns 0x401f43
lea rax, [rbp - 0x20]
mov r8d, 0
lea rdx, [0x004a919e]
mov rcx, rax
call dbg.std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::find(wchar_t const*, unsigned long long) const
cmp rax, 0xffffffffffffffff
je 0x401e28
lea rax, [rbp - 0x20]
lea rdx, [0x004a919e]
mov rcx, rax
call dbg.bool std::operator!=<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, wchar_t const*)
test al, al
je 0x401e28
lea rax, [rbp - 0x20]
lea rdx, [0x004a91a2]
mov rcx, rax
call dbg.bool std::operator!=<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, wchar_t const*)
test al, al
je 0x401e28
lea rax, [rbp - 0x20]
lea rdx, [0x004a91a8]
mov rcx, rax
call dbg.bool std::operator!=<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, wchar_t const*)
test al, al
je 0x401e28
mov eax, 1
jmp 0x401e2d
mov eax, 0
test al, al
je 0x401e78
lea rax, [rbp + 0x290]
lea rdx, [rbp - 0x20]
mov r8, rdx
mov rdx, qword [rbp + 0x350]
mov rcx, rax
call sym.std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t____std::operator_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t____std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t____const__std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t____const_
lea rax, [rbp + 0x290]
mov rdx, rax
lea rcx, [0x004d4030]
call method.std::vector_std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t_____std::allocator_std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t_______.push_back_std::__cxx11::basic_string_w
lea rax, [rbp + 0x290]
mov rcx, rax
call dbg.std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::~basic_string()
jmp 0x401f44
lea rax, [rbp - 0x20]
lea rdx, [0x004a919e]
mov rcx, rax
call dbg.bool std::operator!=<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, wchar_t const*)
test al, al
je 0x401ec4
lea rax, [rbp - 0x20]
lea rdx, [0x004a91a2]
mov rcx, rax
call dbg.bool std::operator!=<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, wchar_t const*)
test al, al
je 0x401ec4
lea rax, [rbp - 0x20]
lea rdx, [0x004a91a8]
mov rcx, rax
call dbg.bool std::operator!=<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, wchar_t const*)
test al, al
je 0x401ec4
mov eax, 1
jmp 0x401ec9
mov eax, 0
test al, al
je 0x401f44
lea rax, [rbp + 0x2d0]
lea rdx, [rbp - 0x20]
mov r8, rdx
mov rdx, qword [rbp + 0x350]
mov rcx, rax
call sym.std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t____std::operator_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t____std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t____const__std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t____const_
lea rax, [rbp + 0x2b0]
lea rdx, [rbp + 0x2d0]
lea r8, [0x004a91b0]
mov rcx, rax
call method.std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t____std::operator_wchar_t__std::char_traits_wchar_t___std.allocator_wchar_t____std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar
lea rdx, [rbp + 0x2b0]
lea rax, [rbp + 0x250]
mov rcx, rax
call method.std::vector_std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t_____std::allocator_std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t_______.push_back_std::__cxx11::basic_string_w
lea rax, [rbp + 0x2b0]
mov rcx, rax
call dbg.std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::~basic_string()
lea rax, [rbp + 0x2d0]
mov rcx, rax
call dbg.std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::~basic_string()
jmp 0x401f44
nop
jmp 0x401f44
nop
jmp 0x401f44
nop
mov rax, rbp
mov rcx, qword [rbp + 0x320]
mov rdx, rax
mov rax, qword [sym.imp.KERNEL32.dll_FindNextFileW]
call rax
test eax, eax
setne al
test al, al
je 0x401f68
jmp 0x401d26
mov dword [rbp + 0x32c], 0
mov eax, dword [rbp + 0x32c]
movsxd rbx, eax
lea rax, [rbp + 0x250]
mov rcx, rax
call dbg.std::vector<std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, std::allocator<std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >::size() const
cmp rbx, rax
setb al
test al, al
je 0x401fe5
mov eax, dword [rbp + 0x32c]
movsxd rdx, eax
lea rax, [rbp + 0x250]
mov rcx, rax
call dbg.std::vector<std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, std::allocator<std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >::operator[](unsigned long long)
mov rdx, rax
lea rax, [rbp + 0x2f0]
mov rcx, rax
call dbg.std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::basic_string(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&)
lea rax, [rbp + 0x2f0]
mov rcx, rax
call dbg.files(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >)
lea rax, [rbp + 0x2f0]
mov rcx, rax
call dbg.std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::~basic_string()
add dword [rbp + 0x32c], 1
jmp 0x401f72
mov rax, qword [rbp + 0x320]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_FindClose]
call rax
lea rax, [rbp - 0x60]
mov rcx, rax
call dbg.std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::~basic_string()
lea rax, [rbp - 0x40]
mov rcx, rax
call dbg.std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::~basic_string()
lea rax, [rbp - 0x20]
mov rcx, rax
call dbg.std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::~basic_string()
lea rax, [rbp + 0x250]
mov rcx, rax
call dbg.std::vector<std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, std::allocator<std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >::~vector()
jmp 0x402101
add rsp, 0x3b8
pop rbx
pop rbp
ret