Function at 0x4d24f4
Capabilities:
Enumerate files on windows

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x32
push 0
push 0
dec ecx
jne 0x4d24fc
push ecx
push ebx
push esi
push edi
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 8]
call fcn.004046b8
lea edi, [ebp - 0x164]
xor eax, eax
push ebp
push 0x4d2965
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 0x19], 0
mov dl, 1
mov eax, dword [0x4174c4]
call fcn.004033c4
mov ebx, eax
mov edx, 2
mov eax, dword [ebp - 4]
call fcn.004ce368
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.004ce4fc
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.004ce6f8
mov edx, 0x138
mov eax, dword [ebp - 4]
call fcn.00461404
mov edx, 0x85
mov eax, dword [ebp - 4]
call fcn.00461428
mov ecx, 0x1e
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.004ce3c4
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.004ce2a4
mov edx, dword [ebp - 4]
mov ecx, dword [edx + 0x48]
sub ecx, eax
sub ecx, 0x14
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.004ce3c4
mov edx, 0x14
mov eax, dword [ebp - 4]
call fcn.004ce4ac
lea eax, [ebp - 0x168]
push eax
mov eax, dword [ebp - 8]
call fcn.004044c8
mov edx, eax
mov ecx, 1
mov eax, dword [ebp - 8]
call fcn.00404728
mov eax, dword [ebp - 0x168]
mov edx, 0x4d297c
call fcn.00404614
jne 0x4d25fe
mov eax, dword [ebp - 8]
call fcn.004044c8
mov edx, eax
lea eax, [ebp - 8]
mov ecx, 1
call fcn.00404768
push edi
lea eax, [ebp - 0x16c]
mov ecx, 0x4d2988
mov edx, dword [ebp - 8]
call fcn.00404514
mov eax, dword [ebp - 0x16c]
call fcn.004046c8
push eax
call sub.kernel32.dll_FindFirstFileA_1
mov esi, eax
cmp esi, 0xffffffff
setne al
jmp 0x4d2724
lea eax, [ebp - 0x18]
lea edx, [edi + 0x2c]
mov ecx, 0x104
call fcn.00404478
mov eax, dword [edi]
cmp eax, 0x10
je 0x4d2663
cmp eax, 2
je 0x4d2663
cmp eax, 4
je 0x4d2663
cmp eax, 0x80
je 0x4d2663
cmp eax, 0x100
jne 0x4d2717
push dword [ebp - 8]
push 0x4d297c
push dword [ebp - 0x18]
lea eax, [ebp - 0x170]
mov edx, 3
call fcn.00404588
mov eax, dword [ebp - 0x170]
call fcn.00409010
test al, al
je 0x4d2717
lea edx, [ebp - 0x174]
mov eax, dword [ebp - 0x18]
call fcn.00408774
mov edx, dword [ebp - 0x174]
mov eax, 0x4d2998
call fcn.0040480c
dec eax
jne 0x4d2717
push dword [ebp - 8]
push 0x4d297c
push dword [ebp - 0x18]
push 0x4d29a4
lea eax, [ebp - 0x178]
mov edx, 4
call fcn.00404588
mov eax, dword [ebp - 0x178]
call fcn.00409000
test al, al
je 0x4d270d
push dword [ebp - 8]
push 0x4d297c
push dword [ebp - 0x18]
lea eax, [ebp - 0x17c]
mov edx, 3
call fcn.00404588
mov eax, dword [ebp - 0x17c]
call fcn.004d1618
mov byte [ebp - 0x19], 1
jmp 0x4d2717
mov edx, dword [ebp - 0x18]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x38]
push edi
push esi
call sub.kernel32.dll_FindNextFileA
cmp eax, 1
sbb eax, eax
inc eax
test al, al
jne 0x4d2630
push esi
call sub.kernel32.dll_FindClose_1
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x4d27c6
inc eax
mov dword [ebp - 0x20], eax
xor esi, esi
lea ecx, [ebp - 0x10]
mov edx, esi
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
lea eax, [esi + 1]
push eax
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
pop edx
sub eax, edx
jl 0x4d27c0
inc eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0xc], edx
lea ecx, [ebp - 0x14]
mov edx, dword [ebp - 0xc]
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
call fcn.00404614
jbe 0x4d27b8
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0x20]
mov ecx, dword [ebp - 0x14]
mov edx, esi
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0x20]
lea ecx, [ebp - 0x10]
mov edx, esi
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
lea ecx, [ebp - 0x14]
mov edx, dword [ebp - 0xc]
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
inc dword [ebp - 0xc]
dec dword [ebp - 0x24]
jne 0x4d276c
inc esi
dec dword [ebp - 0x20]
jne 0x4d2748
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x4d289e
inc eax
mov dword [ebp - 0x20], eax
xor esi, esi
test esi, esi
jle 0x4d27f2
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x24c]
inc edx
mov eax, dword [ebp - 4]
call fcn.004ce6f8
lea edx, [ebp - 0x184]
lea eax, [esi + 1]
call fcn.00408af8
mov ecx, dword [ebp - 0x184]
lea eax, [ebp - 0x180]
mov edx, 0x4d29bc
call fcn.00404514
mov eax, dword [ebp - 0x180]
push eax
mov ecx, esi
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.004d0874
lea ecx, [ebp - 0x18c]
mov edx, esi
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
push dword [ebp - 0x18c]
push 0x4d29c8
lea ecx, [ebp - 0x194]
mov edx, esi
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x194]
lea edx, [ebp - 0x190]
call fcn.004d23b8
push dword [ebp - 0x190]
push 0x4d29d4
lea eax, [ebp - 0x188]
mov edx, 4
call fcn.00404588
mov eax, dword [ebp - 0x188]
push eax
mov ecx, esi
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.004d0874
inc esi
dec dword [ebp - 0x20]
jne 0x4d27dc
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.004ce2c4
imul esi, eax
mov dword [ebp - 0xc], esi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4c]
cmp eax, dword [ebp - 0xc]
jge 0x4d28e6
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.004ce2a4
mov edx, dword [ebp - 4]
mov ecx, dword [edx + 0x48]
sub ecx, eax
sub ecx, 0x14
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.004ce3c4
jmp 0x4d2905
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.004ce2a4
mov edx, dword [ebp - 4]
mov ecx, dword [edx + 0x48]
sub ecx, eax
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.004ce3c4
cmp byte [ebp - 0x19], 0
je 0x4d2915
mov edx, dword [ebp - 8]
mov eax, ebx
call fcn.004d1c88
mov eax, dword [ebp - 4]
cmp dword [eax + 0x24c], 1
jle 0x4d292b
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.004ce594
mov eax, ebx
call fcn.004033f4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4d296c
lea eax, [ebp - 0x194]
mov edx, 0xc
call fcn.0040422c
lea eax, [ebp - 0x18]
mov edx, 3
call fcn.0040422c
lea eax, [ebp - 8]
call fcn.00404208
ret