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

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x51
push 0
push 0
dec ecx
jne 0x4bf051
push ecx
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 0x4bf433
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
cmp word [eax + 0x62], 0
je 0x4bf08f
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 - 0x258]
mov edx, 0x4bf44c
mov eax, esi
call fcn.004be27c
mov edx, dword [ebp - 0x258]
lea eax, [ebp - 0x251]
call fcn.0040b274
push eax
call sub.kernel32.dll_FindFirstFileA_1
mov dword [ebp - 0x14c], eax
cmp dword [ebp - 0x14c], 0xffffffff
setne bl
xor eax, eax
push ebp
push 0x4bf40e
push dword fs:[eax]
mov dword fs:[eax], esp
jmp 0x4bf3de
lea eax, [ebp - 0x25c]
lea edx, [ebp - 0x118]
mov ecx, 0x104
call fcn.004054f4
mov eax, dword [ebp - 0x25c]
mov edx, 0x4bf458
call fcn.00405694
je 0x4bf3b9
lea eax, [ebp - 0x260]
lea edx, [ebp - 0x118]
mov ecx, 0x104
call fcn.004054f4
mov eax, dword [ebp - 0x260]
mov edx, 0x4bf464
call fcn.00405694
je 0x4bf3b9
push ebp
call fcn.004bef10
pop ecx
test al, al
je 0x4bf2dd
push ebp
call fcn.004bee64
pop ecx
test al, al
jne 0x4bf2dd
test dword [ebp - 0x144], 0x10
jbe 0x4bf1ed
mov eax, dword [ebp - 4]
cmp byte [eax + 0x98], 0
je 0x4bf2dd
mov eax, dword [ebp - 4]
cmp word [eax + 0x92], 0
je 0x4bf2dd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xa0]
push eax
lea eax, [ebp - 0x26c]
lea edx, [ebp - 0x118]
mov ecx, 0x104
call fcn.004054f4
mov edx, dword [ebp - 0x26c]
lea ecx, [ebp - 0x268]
mov eax, esi
call fcn.004be27c
mov eax, dword [ebp - 0x268]
lea edx, [ebp - 0x264]
call fcn.004ca568
mov edx, dword [ebp - 0x264]
mov ebx, dword [ebp - 4]
lea ecx, [ebp - 0x144]
mov eax, dword [ebx + 0x94]
call dword [ebx + 0x90]
jmp 0x4bf2dd
push ebp
lea eax, [ebp - 0x270]
lea edx, [ebp - 0x118]
mov ecx, 0x104
call fcn.004054f4
mov eax, dword [ebp - 0x270]
call fcn.004befc8
pop ecx
test al, al
je 0x4bf2dd
mov eax, dword [ebp - 4]
inc dword [eax + 0x38]
mov eax, dword [ebp - 0x128]
xor edx, edx
mov edx, eax
xor eax, eax
push edx
push eax
mov eax, dword [ebp - 0x124]
xor edx, edx
or eax, dword [esp]
or edx, dword [esp + 4]
add esp, 8
mov ecx, dword [ebp - 4]
add eax, dword [ecx + 0x48]
adc edx, dword [ecx + 0x4c]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x48], eax
mov dword [ecx + 0x4c], edx
mov eax, dword [ebp - 4]
cmp word [eax + 0x5a], 0
je 0x4bf292
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
push eax
mov eax, dword [ebp - 4]
push dword [eax + 0x4c]
push dword [eax + 0x48]
lea eax, [ebp - 0x274]
lea edx, [ebp - 0x118]
mov ecx, 0x104
call fcn.004054f4
mov ecx, dword [ebp - 0x274]
mov ebx, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x5c]
call dword [ebx + 0x58]
mov eax, dword [ebp - 4]
cmp byte [eax + 0x98], 0
je 0x4bf2dd
mov eax, dword [ebp - 4]
cmp word [eax + 0x92], 0
je 0x4bf2dd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xa0]
push eax
lea edx, [ebp - 0x278]
mov eax, esi
call fcn.004ca568
mov edx, dword [ebp - 0x278]
mov ebx, dword [ebp - 4]
lea ecx, [ebp - 0x144]
mov eax, dword [ebx + 0x94]
call dword [ebx + 0x90]
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x4bf3b9
test dword [ebp - 0x144], 0x10
jbe 0x4bf3b9
test dword [ebp - 0x144], 2
jbe 0x4bf367
mov eax, dword [ebp - 4]
cmp byte [eax + 0x50], 0
je 0x4bf3b9
mov eax, dword [ebp + 8]
push eax
lea eax, [ebp - 0x284]
lea edx, [ebp - 0x118]
mov ecx, 0x104
call fcn.004054f4
mov edx, dword [ebp - 0x284]
lea ecx, [ebp - 0x280]
mov eax, esi
call fcn.004be27c
mov eax, dword [ebp - 0x280]
lea edx, [ebp - 0x27c]
call fcn.004ca568
mov edx, dword [ebp - 0x27c]
mov ecx, dword [ebp - 0x148]
mov eax, dword [ebp - 4]
call fcn.004bf048
jmp 0x4bf3b9
mov eax, dword [ebp + 8]
push eax
lea eax, [ebp - 0x290]
lea edx, [ebp - 0x118]
mov ecx, 0x104
call fcn.004054f4
mov edx, dword [ebp - 0x290]
lea ecx, [ebp - 0x28c]
mov eax, esi
call fcn.004be27c
mov eax, dword [ebp - 0x28c]
lea edx, [ebp - 0x288]
call fcn.004ca568
mov edx, dword [ebp - 0x288]
mov ecx, dword [ebp - 0x148]
mov eax, dword [ebp - 4]
call fcn.004bf048
lea eax, [ebp - 0x144]
push eax
mov eax, dword [ebp - 0x14c]
push eax
call sub.kernel32.dll_FindNextFileA
cmp eax, 1
sbb ebx, ebx
inc ebx
mov eax, dword [0x50d35c]
mov eax, dword [eax]
call fcn.00469870
test bl, bl
je 0x4bf3f4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x9c]
cmp byte [eax], 0
je 0x4bf0e2
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4bf415
mov eax, dword [ebp - 0x14c]
push eax
call sub.kernel32.dll_FindClose_1
ret