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

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x52
push 0
push 0
dec ecx
jne 0x4baf75
xchg dword [ebp - 4], ecx
push ebx
push esi
mov dword [ebp - 0x148], ecx
mov esi, edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x4bb2fc
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x4bb182
mov eax, dword [ebp - 4]
cmp word [eax + 0x62], 0
je 0x4bafbf
mov ebx, dword [ebp - 4]
mov ecx, esi
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x64]
call dword [ebx + 0x60]
lea eax, [ebp - 0x144]
push eax
lea ecx, [ebp - 0x260]
mov edx, 0x4bb314
mov eax, esi
call fcn.004b9efc
mov edx, dword [ebp - 0x260]
lea eax, [ebp - 0x259]
call fcn.004099f4
push eax
call sub.kernel32.dll_FindFirstFileA_1
mov dword [ebp - 0x150], eax
cmp dword [ebp - 0x150], 0xffffffff
setne bl
test bl, bl
je 0x4bb2de
xor edx, edx
push ebp
push 0x4bb17b
push dword fs:[edx]
mov dword fs:[edx], esp
jmp 0x4bb14b
lea eax, [ebp - 0x264]
lea edx, [ebp - 0x118]
mov ecx, 0x104
call fcn.00404558
mov eax, dword [ebp - 0x264]
cmp byte [eax], 0x2e
je 0x4bb126
push ebp
lea edx, [ebp - 0x268]
mov eax, esi
call fcn.004bef20
mov eax, dword [ebp - 0x268]
call fcn.004bace0
pop ecx
mov eax, dword [ebp - 0x144]
test eax, 0x10
jbe 0x4bb126
test eax, 2
jbe 0x4bb0d4
mov eax, dword [ebp - 4]
cmp byte [eax + 0x50], 0
je 0x4bb126
mov eax, dword [ebp + 8]
push eax
lea eax, [ebp - 0x274]
lea edx, [ebp - 0x118]
mov ecx, 0x104
call fcn.00404558
mov edx, dword [ebp - 0x274]
lea ecx, [ebp - 0x270]
mov eax, esi
call fcn.004b9efc
mov eax, dword [ebp - 0x270]
lea edx, [ebp - 0x26c]
call fcn.004bef20
mov edx, dword [ebp - 0x26c]
mov ecx, dword [ebp - 0x148]
mov eax, dword [ebp - 4]
call fcn.004baf6c
jmp 0x4bb126
mov eax, dword [ebp + 8]
push eax
lea eax, [ebp - 0x280]
lea edx, [ebp - 0x118]
mov ecx, 0x104
call fcn.00404558
mov edx, dword [ebp - 0x280]
lea ecx, [ebp - 0x27c]
mov eax, esi
call fcn.004b9efc
mov eax, dword [ebp - 0x27c]
lea edx, [ebp - 0x278]
call fcn.004bef20
mov edx, dword [ebp - 0x278]
mov ecx, dword [ebp - 0x148]
mov eax, dword [ebp - 4]
call fcn.004baf6c
lea eax, [ebp - 0x144]
push eax
mov eax, dword [ebp - 0x150]
push eax
call sub.kernel32.dll_FindNextFileA
cmp eax, 1
sbb ebx, ebx
inc ebx
mov eax, dword [0x528220]
mov eax, dword [eax]
call fcn.0047b0a0
test bl, bl
je 0x4bb161
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x9c]
cmp byte [eax], 0
je 0x4bb01a
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4bb2de
mov eax, dword [ebp - 0x150]
push eax
call sub.kernel32.dll_FindClose_1
ret
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x4bb2de
inc eax
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x14c], 0
lea eax, [ebp - 0x144]
push eax
lea ecx, [ebp - 0x284]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x14c]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x284]
call fcn.004047a8
push eax
call sub.kernel32.dll_FindFirstFileA_1
mov dword [ebp - 0x150], eax
cmp dword [ebp - 0x150], 0xffffffff
setne bl
test bl, bl
je 0x4bb2cc
mov eax, dword [ebp - 4]
cmp word [eax + 0x72], 0
je 0x4bb232
lea ecx, [ebp - 0x28c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x14c]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0x28c]
lea edx, [ebp - 0x288]
call fcn.00409528
mov ecx, dword [ebp - 0x288]
mov esi, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov eax, dword [esi + 0x74]
call dword [esi + 0x70]
xor eax, eax
push ebp
push 0x4bb2c5
push dword fs:[eax]
mov dword fs:[eax], esp
jmp 0x4bb299
cmp byte [ebp - 0x118], 0x2e
je 0x4bb280
push ebp
lea ecx, [ebp - 0x294]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x14c]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x294]
lea edx, [ebp - 0x290]
call fcn.00409528
mov eax, dword [ebp - 0x290]
call fcn.004bace0
pop ecx
lea eax, [ebp - 0x144]
push eax
mov eax, dword [ebp - 0x150]
push eax
call sub.kernel32.dll_FindNextFileA
cmp eax, 1
sbb ebx, ebx
inc ebx
test bl, bl
je 0x4bb2ab
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x9c]
cmp byte [eax], 0
je 0x4bb242
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4bb2cc
mov eax, dword [ebp - 0x150]
push eax
call sub.kernel32.dll_FindClose_1
ret
inc dword [ebp - 0x14c]
dec dword [ebp - 0x154]
jne 0x4bb1a7
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4bb303
lea eax, [ebp - 0x294]
mov edx, 0xe
call fcn.0040430c
ret