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

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x38
push 0
push 0
dec ecx
jne 0x4d7f2d
push ecx
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 8]
call fcn.00404cdc
lea edi, [ebp - 0x14c]
xor eax, eax
push ebp
push 0x4d83ce
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 8]
call fcn.00404aec
mov edx, dword [ebp - 8]
cmp byte [edx + eax - 1], 0x5c
je 0x4d7f7f
lea eax, [ebp - 8]
mov edx, 0x4d83e4
call fcn.00404af4
xor eax, eax
push ebp
push 0x4d8378
push dword fs:[eax]
mov dword fs:[eax], esp
push edi
lea eax, [ebp - 0x150]
mov ecx, 0x4d83f0
mov edx, dword [ebp - 8]
call fcn.00404b38
mov eax, dword [ebp - 0x150]
call fcn.00404cec
push eax
call sub.kernel32.dll_FindFirstFileA_1
mov esi, eax
cmp esi, 0xffffffff
jne 0x4d7fbf
push esi
call sub.kernel32.dll_FindClose_1
lea edx, [ebp - 0x160]
lea eax, [edi + 0x2c]
call fcn.00409dec
mov ecx, dword [ebp - 0x160]
lea eax, [ebp - 0x15c]
mov edx, dword [ebp - 8]
call fcn.00404b38
mov eax, dword [ebp - 0x15c]
lea edx, [ebp - 0x158]
call fcn.00409a80
mov eax, dword [ebp - 0x158]
lea edx, [ebp - 0x154]
call fcn.00408cc8
mov eax, dword [ebp - 0x154]
mov edx, 0x4d83fc
call fcn.00404c38
je 0x4d806b
lea edx, [ebp - 0x170]
lea eax, [edi + 0x2c]
call fcn.00409dec
mov ecx, dword [ebp - 0x170]
lea eax, [ebp - 0x16c]
mov edx, dword [ebp - 8]
call fcn.00404b38
mov eax, dword [ebp - 0x16c]
lea edx, [ebp - 0x168]
call fcn.00409a80
mov eax, dword [ebp - 0x168]
lea edx, [ebp - 0x164]
call fcn.00408cc8
mov eax, dword [ebp - 0x164]
mov edx, 0x4d8408
call fcn.00404c38
jne 0x4d807d
push edi
push esi
call sub.kernel32.dll_FindNextFileA
cmp eax, 1
sbb ebx, ebx
inc ebx
jmp 0x4d8351
cmp dword [edi], 0x10
jne 0x4d80b5
lea edx, [ebp - 0x178]
lea eax, [edi + 0x2c]
call fcn.00409dec
mov ecx, dword [ebp - 0x178]
lea eax, [ebp - 0x174]
mov edx, dword [ebp - 8]
call fcn.00404b38
mov edx, dword [ebp - 0x174]
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
call fcn.004d7f24
lea edx, [ebp - 0x188]
lea eax, [edi + 0x2c]
call fcn.00409dec
mov ecx, dword [ebp - 0x188]
lea eax, [ebp - 0x184]
mov edx, dword [ebp - 8]
call fcn.00404b38
mov eax, dword [ebp - 0x184]
lea edx, [ebp - 0x180]
call fcn.00409a80
mov eax, dword [ebp - 0x180]
lea edx, [ebp - 0x17c]
call fcn.00408cc8
mov eax, dword [ebp - 0x17c]
mov edx, 0x4d8414
call fcn.00404c38
je 0x4d81bf
lea edx, [ebp - 0x198]
lea eax, [edi + 0x2c]
call fcn.00409dec
mov ecx, dword [ebp - 0x198]
lea eax, [ebp - 0x194]
mov edx, dword [ebp - 8]
call fcn.00404b38
mov eax, dword [ebp - 0x194]
lea edx, [ebp - 0x190]
call fcn.00409a80
mov eax, dword [ebp - 0x190]
lea edx, [ebp - 0x18c]
call fcn.00408cc8
mov eax, dword [ebp - 0x18c]
mov edx, 0x4d8424
call fcn.00404c38
je 0x4d81bf
lea edx, [ebp - 0x1a8]
lea eax, [edi + 0x2c]
call fcn.00409dec
mov ecx, dword [ebp - 0x1a8]
lea eax, [ebp - 0x1a4]
mov edx, dword [ebp - 8]
call fcn.00404b38
mov eax, dword [ebp - 0x1a4]
lea edx, [ebp - 0x1a0]
call fcn.00409a80
mov eax, dword [ebp - 0x1a0]
lea edx, [ebp - 0x19c]
call fcn.00408cc8
mov eax, dword [ebp - 0x19c]
mov edx, 0x4d8434
call fcn.00404c38
jne 0x4d8344
lea edx, [ebp - 0x1b0]
lea eax, [edi + 0x2c]
call fcn.00409dec
mov ecx, dword [ebp - 0x1b0]
lea eax, [ebp - 0x1ac]
mov edx, dword [ebp - 8]
call fcn.00404b38
mov edx, dword [ebp - 0x1ac]
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [0x4f6b8c]
mov eax, dword [eax]
mov eax, dword [eax + 0x304]
mov eax, dword [eax + 0x22c]
call fcn.004408c4
mov ebx, eax
lea edx, [ebp - 0x1b4]
mov eax, dword [0x4f6b8c]
mov eax, dword [eax]
mov eax, dword [eax + 0x384]
call fcn.004558fc
lea eax, [ebp - 0x1b4]
push eax
lea eax, [ebp - 0x1b8]
lea edx, [edi + 0x2c]
mov ecx, 0x104
call fcn.00404a9c
mov edx, dword [ebp - 0x1b8]
pop eax
call fcn.00404af4
mov edx, dword [ebp - 0x1b4]
mov eax, ebx
call fcn.00440364
mov eax, dword [ebp - 4]
inc dword [eax + 0x4c]
mov eax, dword [edi + 0x1c]
add eax, dword [edi + 0x20]
mov dword [ebp - 0x1c0], eax
xor eax, eax
mov dword [ebp - 0x1bc], eax
fild qword [ebp - 0x1c0]
fdiv dword [0x4d843c]
fcomp dword [0x4d843c]
fnstsw ax
sahf
jae 0x4d82cc
mov eax, dword [edi + 0x1c]
add eax, dword [edi + 0x20]
mov dword [ebp - 0x1c0], eax
xor eax, eax
mov dword [ebp - 0x1bc], eax
fild qword [ebp - 0x1c0]
fdiv dword [0x4d843c]
add esp, 0xfffffff4
fstp xword [esp]
wait
lea edx, [ebp - 0x1c4]
mov eax, 0x4d8448
call fcn.0040ad5c
mov edx, dword [ebp - 0x1c4]
mov eax, dword [ebx + 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x4d8317
mov eax, dword [edi + 0x1c]
add eax, dword [edi + 0x20]
mov dword [ebp - 0x1c0], eax
xor eax, eax
mov dword [ebp - 0x1bc], eax
fild qword [ebp - 0x1c0]
fdiv dword [0x4d843c]
fdiv dword [0x4d843c]
add esp, 0xfffffff4
fstp xword [esp]
wait
lea edx, [ebp - 0x1c8]
mov eax, 0x4d8458
call fcn.0040ad5c
mov edx, dword [ebp - 0x1c8]
mov eax, dword [ebx + 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebx + 8]
mov edx, 0x4d8468
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebx + 8]
mov edx, 0x4d8468
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebx + 8]
mov edx, 0x4d8478
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 4]
inc dword [eax + 0x48]
push edi
push esi
call sub.kernel32.dll_FindNextFileA
cmp eax, 1
sbb ebx, ebx
inc ebx
test bl, bl
jne 0x4d7fbf
mov eax, dword [0x4f6eb8]
mov eax, dword [eax]
mov edx, dword [ebp - 0xc]
mov ecx, dword [eax]
call dword [ecx + 8]
push esi
call sub.kernel32.dll_FindClose_1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4d8382
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4d83d5
lea eax, [ebp - 0x1c8]
mov edx, 2
call fcn.00404850
lea eax, [ebp - 0x1b8]
call fcn.0040482c
lea eax, [ebp - 0x1b4]
call fcn.0040482c
lea eax, [ebp - 0x1b0]
mov edx, 0x19
call fcn.00404850
lea eax, [ebp - 8]
call fcn.0040482c
ret