Function at 0x409890
Capabilities:
Enumerate files on windows

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
mov r11, rsp
sub rsp, 0x78
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [r11 - 8], rbx
mov qword [r11 - 0x10], rbp
mov qword [r11 - 0x18], rsi
mov qword [r11 - 0x20], rdi
mov qword [r11 - 0x28], r12
mov rbp, rdx
mov rbx, rcx
mov dword [rcx], r9d
mov byte [rcx + 4], r8b
mov byte [rcx + 5], 0
xor eax, eax
mov qword [rcx + 8], rax
mov dword [rcx + 0x10], eax
mov byte [r11 + 0x18], al
lea rdx, [r11 + 0x18]
add rcx, 0x158
call qword [sym.imp.msvcp60.dll_public:_void___cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::allocator_char__const____ptr64____ptr64]
nop
xor eax, eax
mov byte [rsp + 0x98], al
lea rdx, [rsp + 0x98]
lea rcx, [rbx + 0x178]
call qword [sym.imp.msvcp60.dll_public:_void___cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::allocator_char__const____ptr64____ptr64]
nop
mov rcx, rbp
call qword [sym.imp.msvcp60.dll_public:_char_const____ptr64___cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::c_str_void_const___ptr64]
mov rcx, rax
lea rdx, [rbx + 0x18]
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov qword [rbx + 8], rax
cmp rax, 0xffffffffffffffff
jne 0x409936
mov byte [rbx + 5], 1
jmp 0x4099fd
inc dword [rbx + 0x10]
mov r8, qword [sym.imp.msvcp60.dll_unsigned_long_long_unsigned___int64__const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov r8, qword [r8]
lea rdx, [0x005599c0]
mov rcx, rbp
call qword [sym.imp.msvcp60.dll_public:_unsigned_long_long_unsigned___int64____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::find_last_of_char_const____ptr64__unsigned_long_long_unsigned___int64__const___ptr64]
lea r9, [rax + 1]
xor r8d, r8d
lea rdx, [rsp + 0x28]
mov rcx, rbp
call qword [sym.imp.msvcp60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::substr_unsigned_long_long_unsigned___int64___unsigned_long_long_unsigned___int64_____ptr64]
nop
mov rdx, rax
lea rcx, [rbx + 0x158]
call qword [sym.imp.msvcp60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______ptr64___cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const____ptr64____ptr64]
nop
lea rcx, [rsp + 0x28]
call qword [sym.imp.msvcp60.dll_public:_void___cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void____ptr64]
mov eax, dword [rbx + 0x18]
test dword [rbx], eax
je 0x4099d9
cmp byte [rbx + 4], 0
je 0x4099c6
lea r8, [rbx + 0x44]
lea rdx, [rbx + 0x158]
lea rcx, [rsp + 0x28]
call sub.msvcp60.dll_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_std::operator_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const____ptr64__char_const____ptr64_
nop
mov rdx, rax
lea rcx, [rbx + 0x178]
call qword [sym.imp.msvcp60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______ptr64___cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const____ptr64____ptr64]
nop
lea rcx, [rsp + 0x28]
call qword [sym.imp.msvcp60.dll_public:_void___cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void____ptr64]
jmp 0x4099fd
lea rdx, [rbx + 0x44]
lea rcx, [rbx + 0x178]
call qword [reloc.msvcp60.dll___4__basic_string_DU__char_traits_D_std__V__allocator_D_2__std__QEAAAEAV01_PEBD_Z]
jmp 0x4099fd
lea rdx, [rbx + 0x18]
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
je 0x4099f9
lea rdx, [rbx + 0x18]
mov rcx, rbx
call fcn.00408d50
jmp 0x4099fd
mov byte [rbx + 5], 1
mov rcx, rbp
call qword [sym.imp.msvcp60.dll_public:_void___cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void____ptr64]
mov rax, rbx
mov rbx, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x58]
mov r12, qword [rsp + 0x50]
add rsp, 0x78
ret