Function at 0x409ca0
Capabilities:
Enumerate files on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x41c6df
mov eax, dword fs:[0]
push eax
sub esp, 0x2e0
mov eax, dword [0x42a020]
xor eax, ebp
mov dword [ebp - 0x1c], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x40], 0x10
lea eax, [ebp - 0x2c0]
push eax
call fcn.00408d30
add esp, 4
mov dword [ebp - 0x2e0], eax
mov ecx, dword [ebp - 0x2e0]
mov dword [ebp - 0x2e4], ecx
mov dword [ebp - 4], 0
push 0x41e8a8
mov edx, dword [ebp - 0x2e4]
push edx
lea eax, [ebp - 0x38]
push eax
call dword [sym.imp.MSVCP90.dll_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t_____cdecl_std::operator_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const___wchar_t_const__]
add esp, 0xc
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x2c0]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea ecx, [ebp - 0x294]
push ecx
lea ecx, [ebp - 0x38]
call dword [sym.imp.MSVCP90.dll_public:_wchar_t_const____thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::c_str_void_const]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp + 8]
call fcn.00401750
mov dword [ebp - 0x10], 2
mov dword [ebp - 0x18], str..esm
mov dword [ebp - 0x14], 0x41e8c4
cmp dword [ebp - 0x3c], 0xffffffff
je 0x409efb
mov dword [ebp - 0x298], 0
mov edx, dword [ebp - 0x294]
and edx, dword [ebp - 0x40]
jne 0x409ed8
lea eax, [ebp - 0x268]
push eax
call dword [sym.imp.MSVCR90.dll_wcslen]
add esp, 4
cmp eax, 5
jb 0x409ed8
lea ecx, [ebp - 0x268]
push ecx
call dword [sym.imp.MSVCR90.dll_wcslen]
add esp, 4
lea edx, [ebp + eax*2 - 0x270]
mov dword [ebp - 0x29c], edx
mov dword [ebp - 0x2a0], 0
jmp 0x409dce
mov eax, dword [ebp - 0x2a0]
add eax, 1
mov dword [ebp - 0x2a0], eax
mov ecx, dword [ebp - 0x29c]
push ecx
call dword [sym.imp.MSVCR90.dll_wcslen]
add esp, 4
cmp dword [ebp - 0x2a0], eax
jae 0x409e12
mov edx, dword [ebp - 0x2a0]
mov eax, dword [ebp - 0x29c]
movzx ecx, word [eax + edx*2]
push ecx
call dword [sym.imp.MSVCR90.dll_tolower]
add esp, 4
mov edx, dword [ebp - 0x2a0]
mov ecx, dword [ebp - 0x29c]
mov word [ecx + edx*2], ax
jmp 0x409dbf
mov dword [ebp - 0x2a4], 0
jmp 0x409e2d
mov edx, dword [ebp - 0x2a4]
add edx, 1
mov dword [ebp - 0x2a4], edx
cmp dword [ebp - 0x2a4], 2
jae 0x409ed8
mov eax, dword [ebp - 0x2a4]
mov ecx, dword [ebp + eax*4 - 0x18]
push ecx
mov edx, dword [ebp - 0x29c]
push edx
call dword [sym.imp.MSVCR90.dll_wcscmp]
add esp, 8
test eax, eax
jne 0x409ed3
push str.Update.esm
lea eax, [ebp - 0x268]
push eax
call dword [sym.imp.MSVCR90.dll_wcscmp]
add esp, 8
test eax, eax
je 0x409ed3
push 0x41e8e8
lea ecx, [ebp - 0x268]
push ecx
call dword [sym.imp.MSVCR90.dll_wcscmp]
add esp, 8
test eax, eax
je 0x409ed3
lea edx, [ebp - 0x268]
push edx
lea ecx, [ebp - 0x2dc]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const__]
mov dword [ebp - 0x2e8], eax
mov eax, dword [ebp - 0x2e8]
mov dword [ebp - 0x2ec], eax
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x2ec]
push ecx
mov ecx, dword [ebp + 8]
call fcn.00401660
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x2dc]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
jmp 0x409e1e
lea edx, [ebp - 0x294]
push edx
mov eax, dword [ebp - 0x3c]
push eax
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x409d6e
mov ecx, dword [ebp - 0x3c]
push ecx
call dword [sym.imp.KERNEL32.dll_FindClose]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x38]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x1c]
xor ecx, ebp
call fcn.004077d3
mov esp, ebp
pop ebp
ret