Function at 0x40e690
Capabilities:
Enumerate files on windows

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffdc
push ebx
xor eax, eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], eax
mov eax, 0x40e640
call fcn.00405a78
xor eax, eax
push ebp
push 0x40e924
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
call sub.ole32.dll_CoInitialize
mov eax, 0x410838
call fcn.00405748
push eax
push 0x40e934
push 5
push 0
push 0x40f368
call sub.ole32.dll_CoCreateInstance
push 0x40e948
mov eax, dword [0x410838]
push eax
mov eax, dword [eax]
call dword [eax + 0x20]
call fcn.0040578c
mov eax, dword [0x40f3f8]
mov edx, 0x40e980
call fcn.00402d90
mov eax, dword [0x40f3f8]
call fcn.00402b2c
push 0x1000
push 0x410844
mov eax, dword [0x410664]
push eax
call sub.kernel32.dll_GetModuleFileNameW
mov edx, eax
dec edx
cmp edx, 0
jb 0x40e751
lea eax, [edx*2 + 0x410844]
cmp word [eax], 0x5c
jne 0x40e748
mov word [eax + 2], 0x2a
mov word [eax + 4], 0
jmp 0x40e751
dec edx
sub eax, 2
cmp edx, 0xffffffff
jne 0x40e734
push 0x412848
push 0x410844
call sub.kernel32.dll_FindFirstFileW
mov ebx, eax
jmp 0x40e8d3
lea eax, [ebp - 0x14]
call fcn.00405748
push eax
lea eax, [ebp - 0x18]
mov edx, 0x412874
mov ecx, 0x104
call fcn.004048a4
mov eax, dword [ebp - 0x18]
push eax
mov eax, dword [0x410838]
push eax
mov eax, dword [eax]
call dword [eax + 0x3c]
call fcn.0040578c
mov edx, dword [ebp - 0x14]
mov eax, 0x412aa8
call fcn.00405760
xor eax, eax
mov dword [0x41083c], eax
xor eax, eax
mov dword [0x410840], eax
lea eax, [ebp - 0x1c]
push eax
mov eax, dword [0x412aa8]
push eax
mov eax, dword [eax]
call dword [eax + 0x20]
call fcn.0040578c
cmp dword [ebp - 0x1c], 0
jle 0x40e832
lea eax, [ebp - 0x20]
call fcn.00404758
push eax
lea eax, [ebp - 0x24]
call fcn.00405748
push eax
push 0
mov eax, dword [0x412aa8]
push eax
mov eax, dword [eax]
call dword [eax + 0x1c]
call fcn.0040578c
mov eax, dword [ebp - 0x24]
push eax
mov eax, dword [eax]
call dword [eax + 0x1c]
call fcn.0040578c
mov edx, dword [ebp - 0x20]
mov eax, 0x412844
call fcn.00404794
mov eax, dword [0x412844]
call fcn.004048d0
mov edx, 0x41083c
call fcn.0040e5e4
mov edx, dword [0x412844]
lea eax, [edx + eax*2 + 2]
mov edx, 0x410840
call fcn.0040e5e4
push 0x412a98
push 0x41285c
call sub.kernel32.dll_FileTimeToSystemTime
mov eax, dword [0x41083c]
imul dword [0x410840]
xor edx, edx
push edx
push eax
mov eax, dword [0x410840]
xor edx, edx
push edx
push eax
mov eax, dword [0x41083c]
xor edx, edx
push edx
push eax
movzx edx, word [0x412a98]
mov eax, dword [0x40f3f8]
call fcn.004031b8
mov dl, 0x2e
call fcn.00403134
movzx edx, word [0x412a9a]
call fcn.004031b8
mov dl, 0x2e
call fcn.00403134
movzx edx, word [0x412a9e]
call fcn.004031b8
mov dl, 0x3b
call fcn.00403134
mov edx, 0x412874
call fcn.0040468c
mov dl, 0x3b
call fcn.00403134
call fcn.00404eec
mov dl, 0x3b
call fcn.00403134
call fcn.00404eec
mov dl, 0x3b
call fcn.00403134
call fcn.00404eec
call fcn.00403204
push 0x412848
push ebx
call sub.kernel32.dll_FindNextFileW
test eax, eax
jne 0x40e767
mov eax, dword [0x40f3f8]
call fcn.00402e58
push ebx
call sub.kernel32.dll_FindClose_1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x40e92b
lea eax, [ebp - 0x24]
call fcn.00405748
lea eax, [ebp - 0x20]
call fcn.00404758
lea eax, [ebp - 0x18]
call fcn.00404758
lea eax, [ebp - 0x14]
call fcn.00405748
ret