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

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x32
push 0
push 0
dec ecx
jne 0x45be08
push ebx
push esi
push edi
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.00405480
xor eax, eax
push ebp
push 0x45c0d6
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp + 8]
cmp dword [eax - 4], 0
jne 0x45be55
lea edx, [ebp - 0x150]
mov eax, 0x45c0ec
call fcn.00457a78
mov edx, dword [ebp - 0x150]
mov eax, dword [ebp + 8]
add eax, 0xfffffffc
call fcn.00405068
mov dl, 1
mov eax, dword [0x417ac8]
call fcn.00404170
mov esi, eax
lea eax, [ebp - 0x14c]
push eax
lea eax, [ebp - 0x154]
mov ecx, 0x45c11c
mov edx, dword [ebp - 4]
call fcn.004052dc
mov eax, dword [ebp - 0x154]
call fcn.00405490
push eax
call sub.kernel32.dll_FindFirstFileA_1
mov ebx, eax
cmp ebx, 0xffffffff
je 0x45c0b0
cmp byte [ebp - 0x120], 0x2e
je 0x45c039
lea eax, [ebp - 0x158]
lea edx, [ebp - 0x120]
mov ecx, 0x104
call fcn.00405240
mov eax, dword [ebp - 0x158]
mov edx, 0x45c128
call fcn.004053dc
je 0x45c039
cmp dword [ebp - 0x14c], 0x10
jne 0x45bf28
lea eax, [ebp - 0x164]
lea edx, [ebp - 0x120]
mov ecx, 0x104
call fcn.00405240
mov ecx, dword [ebp - 0x164]
lea eax, [ebp - 0x160]
mov edx, dword [ebp - 4]
call fcn.004052dc
mov eax, dword [ebp - 0x160]
lea edx, [ebp - 0x15c]
call fcn.0040e724
mov edx, dword [ebp - 0x15c]
mov eax, esi
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x45c039
lea eax, [ebp - 0x16c]
lea edx, [ebp - 0x120]
mov ecx, 0x104
call fcn.00405240
mov ecx, dword [ebp - 0x16c]
lea eax, [ebp - 0x168]
mov edx, dword [ebp - 4]
call fcn.004052dc
mov eax, dword [ebp - 0x168]
call fcn.00409c38
test al, al
je 0x45bfae
lea eax, [ebp - 0x178]
lea edx, [ebp - 0x120]
mov ecx, 0x104
call fcn.00405240
mov ecx, dword [ebp - 0x178]
lea eax, [ebp - 0x174]
mov edx, dword [ebp - 4]
call fcn.004052dc
mov eax, dword [ebp - 0x174]
lea edx, [ebp - 0x170]
call fcn.0040e724
mov edx, dword [ebp - 0x170]
mov eax, esi
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x45c039
lea eax, [ebp - 0x184]
lea edx, [ebp - 0x120]
mov ecx, 0x104
call fcn.00405240
mov ecx, dword [ebp - 0x184]
lea eax, [ebp - 0x180]
mov edx, dword [ebp - 4]
call fcn.004052dc
mov eax, dword [ebp - 0x180]
lea edx, [ebp - 0x17c]
call fcn.0040a128
mov eax, dword [ebp - 0x17c]
mov edx, dword [ebp + 8]
mov edx, dword [edx - 4]
call fcn.004055d4
test eax, eax
jle 0x45c039
lea eax, [ebp - 0x18c]
lea edx, [ebp - 0x120]
mov ecx, 0x104
call fcn.00405240
mov ecx, dword [ebp - 0x18c]
lea eax, [ebp - 0x188]
mov edx, dword [ebp - 4]
call fcn.004052dc
mov edx, dword [ebp - 0x188]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [0x48aff0]
mov eax, dword [eax]
call fcn.004539d0
lea eax, [ebp - 0x14c]
push eax
push ebx
call sub.kernel32.dll_FindNextFileA
cmp eax, 1
sbb eax, eax
inc eax
test al, al
jne 0x45be99
mov eax, esi
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jle 0x45c0aa
mov eax, esi
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x45c0aa
inc eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], 0
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x190]
mov edx, dword [ebp - 8]
mov eax, esi
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x190]
call fcn.0045be00
pop ecx
inc dword [ebp - 8]
dec dword [ebp - 0xc]
jne 0x45c082
push ebx
call sub.kernel32.dll_FindClose_1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x45c0dd
lea eax, [ebp - 0x190]
mov edx, 0x11
call fcn.00404ff4
lea eax, [ebp - 4]
call fcn.00404fd0
ret